--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
+ <storageModule moduleId="org.eclipse.cdt.core.settings">
+ <cconfiguration id="org.tizen.nativecore.config.sbi.gcc45.app.debug.9550515">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecore.config.sbi.gcc45.app.debug.9550515" moduleId="org.eclipse.cdt.core.settings" name="Debug">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.tizen.nativecore.NativeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactName="music-player" buildArtefactType="org.tizen.nativecore.buildArtefactType.app" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecore.buildArtefactType.app,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;" id="org.tizen.nativecore.config.sbi.gcc45.app.debug.9550515" name="Debug" parent="org.tizen.nativecore.config.sbi.gcc45.app.debug">
+ <folderInfo id="org.tizen.nativecore.config.sbi.gcc45.app.debug.9550515." name="/" resourcePath="">
+ <toolChain id="org.tizen.nativecore.toolchain.sbi.gcc45.app.debug.1356094993" name="Tizen Native Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.app.debug">
+ <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.323433074" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+ <builder autoBuildTarget="all" buildPath="${workspace_loc:/EmptyApplicationMusicPlayer}/Debug" enableAutoBuild="true" id="org.tizen.nativecore.target.sbi.gnu.builder.910013900" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Tizen Application Builder" superClass="org.tizen.nativecore.target.sbi.gnu.builder">
+ <outputEntries>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="outputPath" name="Debug"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="outputPath" name="Release"/>
+ </outputEntries>
+ </builder>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.1690007572" name="Archiver" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.1492789420" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler">
+ <option id="gnu.cpp.compiler.option.optimization.level.115468609" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
+ <option defaultValue="gnu.cpp.compiler.debugging.level.max" id="sbi.gnu.cpp.compiler.option.debugging.level.core.1128700032" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core" valueType="enumerated"/>
+ <option id="sbi.gnu.cpp.compiler.option.743568072" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-3.0-emulator.core.private_llvm37.i386.core.app"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.1943136503" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/libxml2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/EGL""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/GLES""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/GLES2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/GLES3""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/KHR""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/SDL2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appcore/""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appcore-agent""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appfw""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/attach-panel""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/aul/""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/auth-fw""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/badge""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/base""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/cairo""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/calendar-service2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/call-manager""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/cbhm""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/chromium-ewk""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ckm""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/contacts-svc""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/content""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/context-service""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/csr""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dali""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dali-toolkit""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dbus-1.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/device""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dlog""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-buffer-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-con-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-file-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-imf-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-imf-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-input-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-input-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-ipc-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ector-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/e_dbus-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/edje-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eet-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efl-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efl-extension""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efreet-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eina-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eina-1/eina""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eio-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eldbus-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/elementary-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/email-service""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/embryo-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/emile-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eo-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eom""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ethumb-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ethumb-client-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/feedback""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/fontconfig""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/freetype2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/geofence""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/gio-unix-2.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/glib-2.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/harfbuzz""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/iotcon""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/json-glib-1.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/location""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/maps""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/media""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/media-content""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/messaging""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/metadata-editor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/minicontrol""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/minizip""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/msg-service""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/network""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/notification""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/nsd/""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/phonenumber-utils""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/rua/""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/sensor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/service-adaptor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/shortcut""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/storage""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/system""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/telephony""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/telephony-client""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/tzsh""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ug-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ui""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ui-viewmgr""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/vconf""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/vulkan""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/web""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_service""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_viewer_dali""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_viewer_evas""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/wifi-direct""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/yaca""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/dbus-1.0/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/glib-2.0/include""/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.1648774726" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="${TC_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value="${RS_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value=" -fPIE"/>
+ <listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
+ </option>
+ <option id="gnu.cpp.compiler.option.include.paths.728547428" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/libxml2"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/appcore-agent"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/appfw"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/attach-panel"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/badge"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/base"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/cairo"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/calendar-service2"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/ckm"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/contacts-svc"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/content"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/context-service"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/dali"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/dali-toolkit"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/dbus-1.0"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/device"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/dlog"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/ecore-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/ecore-buffer-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/ecore-con-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/ecore-evas-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/ecore-file-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/ecore-imf-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/ecore-imf-evas-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/ecore-input-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/ecore-input-evas-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/ecore-ipc-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/ector-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/e_dbus-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/edje-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/eet-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/efl-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/efl-extension"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/efreet-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/eina-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/eina-1/eina"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/eio-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/eldbus-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/elementary-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/embryo-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/emile-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/eo-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/eom"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/ethumb-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/ethumb-client-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/evas-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/feedback"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/fontconfig"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/freetype2"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/geofence"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/gio-unix-2.0"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/glib-2.0"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/harfbuzz"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/iotcon"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/json-glib-1.0"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/location"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/maps"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/media"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/media-content"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/messaging"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/metadata-editor"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/minicontrol"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/minizip"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/network"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/notification"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/phonenumber-utils"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/sensor"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/service-adaptor"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/shortcut"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/storage"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/system"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/telephony"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/ui"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/web"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/widget_service"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/widget_viewer_evas"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/wifi-direct"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/lib/dbus-1.0/include"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/lib/glib-2.0/include"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/chromium-ewk"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/nsd/"/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/libxml2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appcore-agent""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appfw""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/attach-panel""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/badge""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/base""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/cairo""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/calendar-service2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/chromium-ewk""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ckm""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/contacts-svc""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/content""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/context-service""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dali""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dali-toolkit""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dbus-1.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/device""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dlog""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-buffer-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-con-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-file-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-imf-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-imf-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-input-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-input-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-ipc-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ector-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/e_dbus-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/edje-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eet-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efl-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efl-extension""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efreet-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eina-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eina-1/eina""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eio-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eldbus-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/elementary-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/embryo-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/emile-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eo-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eom""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ethumb-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ethumb-client-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/feedback""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/fontconfig""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/freetype2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/geofence""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/gio-unix-2.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/glib-2.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/harfbuzz""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/iotcon""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/json-glib-1.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/location""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/maps""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/media""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/media-content""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/messaging""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/metadata-editor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/minicontrol""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/minizip""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/network""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/notification""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/nsd/""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/phonenumber-utils""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/sensor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/service-adaptor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/shortcut""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/storage""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/system""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/telephony""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ui""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/web""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_service""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_viewer_evas""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/wifi-direct""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/dbus-1.0/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/glib-2.0/include""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/inc}""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/src/common/include}""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/src/core/include}""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/src/include}""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/src/lib/include}""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/src/view/include}""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/src/widget/include}""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/src/setting/src/include}""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/music-chooser/src/include}""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/sound-player/src/include}""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/res/edje/layout}""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/widget/include}""/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks.core.1468500756" name="Tizen-Frameworks" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.dialect.std.574361844" name="Language standard" superClass="gnu.cpp.compiler.option.dialect.std" value="gnu.cpp.compiler.dialect.default" valueType="enumerated"/>
+ <option id="gnu.cpp.compiler.option.preprocessor.def.67603352" name="Defined symbols (-D)" superClass="gnu.cpp.compiler.option.preprocessor.def" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="MP_FEATURE_NO_END"/>
+ <listOptionValue builtIn="false" value="MP_FEATURE_LOCKSCREEN"/>
+ <listOptionValue builtIn="false" value="MP_FEATURE_PERSONAL_PAGE"/>
+ <listOptionValue builtIn="false" value="MP_FEATURE_UNSUPPORT_DRM_CD_SD"/>
+ <listOptionValue builtIn="false" value="MP_FEATURE_GL"/>
+ <listOptionValue builtIn="false" value="MP_FEATURE_OPTIMIZATION_LAUNCH_TIME"/>
+ <listOptionValue builtIn="false" value="SHAREDDIR='"/opt/home/owner/apps_rw/org.tizen.music-player/shared"'"/>
+ <listOptionValue builtIn="false" value="DATA_PREFIX='"/opt/home/owner/apps_rw/org.tizen.music-player"'"/>
+ <listOptionValue builtIn="false" value="LOCALEDIR='"/opt/home/owner/apps_rw/org.tizen.music-player/po"'"/>
+ <listOptionValue builtIn="false" value="EDJPATH='"/opt/home/owner/apps_rw/org.tizen.music-player/res/edje"'"/>
+ <listOptionValue builtIn="false" value="PKG_NAME='"org.tizen.music-player"'"/>
+ <listOptionValue builtIn="false" value="PREFIX='"/opt/home/owner/apps_rw/org.tizen.music-player"'"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1327645944" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+ </tool>
+ <tool command="clang" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.270131291" name="C Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.c.compiler">
+ <option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.option.optimization.level.1826572207" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
+ <option defaultValue="gnu.c.debugging.level.max" id="sbi.gnu.c.compiler.option.debugging.level.core.570789286" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core" valueType="enumerated"/>
+ <option id="sbi.gnu.c.compiler.option.714440530" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-3.0-emulator.core.private_llvm37.i386.core.app"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.1795885786" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" valueType="includePath"/>
+ <option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.2006090219" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="${TC_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value="${RS_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value=" -fPIE"/>
+ <listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
+ </option>
+ <option id="gnu.c.compiler.option.include.paths.225786244" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/libxml2"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/appcore-agent"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/appfw"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/attach-panel"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/badge"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/base"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/cairo"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/calendar-service2"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/ckm"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/contacts-svc"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/content"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/context-service"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/dali"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/dali-toolkit"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/dbus-1.0"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/device"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/dlog"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/ecore-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/ecore-buffer-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/ecore-con-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/ecore-evas-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/ecore-file-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/ecore-imf-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/ecore-imf-evas-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/ecore-input-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/ecore-input-evas-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/ecore-ipc-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/ector-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/e_dbus-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/edje-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/eet-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/efl-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/efl-extension"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/efreet-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/eina-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/eina-1/eina"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/eio-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/eldbus-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/elementary-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/embryo-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/emile-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/eo-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/eom"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/ethumb-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/ethumb-client-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/evas-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/feedback"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/fontconfig"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/freetype2"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/geofence"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/gio-unix-2.0"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/glib-2.0"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/harfbuzz"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/iotcon"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/json-glib-1.0"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/location"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/maps"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/media"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/media-content"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/messaging"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/metadata-editor"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/minicontrol"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/minizip"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/network"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/notification"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/phonenumber-utils"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/sensor"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/service-adaptor"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/shortcut"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/storage"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/system"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/telephony"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/ui"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/web"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/widget_service"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/widget_viewer_evas"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/wifi-direct"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/lib/dbus-1.0/include"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/lib/glib-2.0/include"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/chromium-ewk"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/nsd/"/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/libxml2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appcore-agent""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appfw""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/attach-panel""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/badge""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/base""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/cairo""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/calendar-service2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/chromium-ewk""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ckm""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/contacts-svc""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/content""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/context-service""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dali""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dali-toolkit""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dbus-1.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/device""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dlog""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-buffer-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-con-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-file-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-imf-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-imf-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-input-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-input-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-ipc-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ector-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/e_dbus-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/edje-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eet-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efl-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efl-extension""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efreet-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eina-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eina-1/eina""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eio-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eldbus-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/elementary-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/embryo-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/emile-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eo-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eom""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ethumb-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ethumb-client-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/feedback""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/fontconfig""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/freetype2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/geofence""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/gio-unix-2.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/glib-2.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/harfbuzz""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/iotcon""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/json-glib-1.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/location""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/maps""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/media""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/media-content""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/messaging""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/metadata-editor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/minicontrol""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/minizip""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/network""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/notification""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/nsd/""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/phonenumber-utils""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/sensor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/service-adaptor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/shortcut""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/storage""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/system""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/telephony""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ui""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/web""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_service""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_viewer_evas""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/wifi-direct""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/dbus-1.0/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/glib-2.0/include""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/src/include}""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/src/view/include}""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/src/widget/include}""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/src/setting/src/include}""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/music-chooser/src/include}""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/sound-player/src/include}""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/src/common/include}""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/src/core/include}""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/inc}""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/EGL""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/GLES""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/GLES2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/GLES3""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/KHR""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/SDL2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appcore/""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/aul/""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/auth-fw""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/call-manager""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/cbhm""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/csr""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/email-service""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/msg-service""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/rua/""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/telephony-client""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/tzsh""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ug-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ui-viewmgr""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/vconf""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/vulkan""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_viewer_dali""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/yaca""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/widget/inc}""/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks.core.990178351" name="Tizen-Frameworks" superClass="sbi.gnu.c.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <option id="gnu.c.compiler.option.preprocessor.def.symbols.1278872363" name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="MP_FEATURE_NO_END"/>
+ <listOptionValue builtIn="false" value="MP_FEATURE_LOCKSCREEN"/>
+ <listOptionValue builtIn="false" value="MP_FEATURE_PERSONAL_PAGE"/>
+ <listOptionValue builtIn="false" value="MP_FEATURE_UNSUPPORT_DRM_CD_SD"/>
+ <listOptionValue builtIn="false" value="MP_FEATURE_GL"/>
+ <listOptionValue builtIn="false" value="MP_FEATURE_OPTIMIZATION_LAUNCH_TIME"/>
+ <listOptionValue builtIn="false" value="SHAREDDIR='"/opt/home/owner/apps_rw/org.tizen.music-player/shared"'"/>
+ <listOptionValue builtIn="false" value="DATA_PREFIX='"/opt/home/owner/apps_rw/org.tizen.music-player"'"/>
+ <listOptionValue builtIn="false" value="LOCALEDIR='"/opt/home/owner/apps_rw/org.tizen.music-player/res/locale"'"/>
+ <listOptionValue builtIn="false" value="EDJPATH='"/opt/home/owner/apps_rw/org.tizen.music-player/res/edje"'"/>
+ <listOptionValue builtIn="false" value="PKG_NAME='"org.tizen.music-player"'"/>
+ <listOptionValue builtIn="false" value="PREFIX='"/opt/home/owner/apps_rw/org.tizen.music-player"'"/>
+ </option>
+ <option id="gnu.c.compiler.option.dialect.std.1075050134" name="Language standard" superClass="gnu.c.compiler.option.dialect.std" value="gnu.c.compiler.dialect.default" valueType="enumerated"/>
+ <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1595248148" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+ </tool>
+ <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.805942649" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.linker.800462799" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
+ <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.core.1703431705" name="Tizen-Frameworks-Other-Lflags" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="${TC_LINKER_MISC}"/>
+ <listOptionValue builtIn="false" value="${RS_LINKER_MISC}"/>
+ <listOptionValue builtIn="false" value="-pie -lpthread "/>
+ <listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
+ <listOptionValue builtIn="false" value="-Xlinker --version-script="${PROJ_PATH}/.exportMap""/>
+ <listOptionValue builtIn="false" value="-L"${SBI_SYSROOT}/usr/lib""/>
+ <listOptionValue builtIn="false" value="$(RS_LIBRARIES)"/>
+ </option>
+ <option id="gnu.cpp.link.option.paths.1497684239" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths"/>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.544827685" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+ <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+ <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+ </inputType>
+ </tool>
+ <tool command="i386-linux-gnueabi-as" id="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.1489466124" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+ <option id="gnu.both.asm.option.include.paths.730706479" name="Include paths (-I)" superClass="gnu.both.asm.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/libxml2"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/appcore-agent"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/appfw"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/attach-panel"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/badge"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/base"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/cairo"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/calendar-service2"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/ckm"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/contacts-svc"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/content"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/context-service"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/dali"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/dali-toolkit"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/dbus-1.0"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/device"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/dlog"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/ecore-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/ecore-buffer-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/ecore-con-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/ecore-evas-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/ecore-file-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/ecore-imf-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/ecore-imf-evas-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/ecore-input-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/ecore-input-evas-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/ecore-ipc-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/ector-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/e_dbus-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/edje-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/eet-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/efl-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/efl-extension"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/efreet-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/eina-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/eina-1/eina"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/eio-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/eldbus-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/elementary-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/embryo-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/emile-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/eo-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/eom"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/ethumb-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/ethumb-client-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/evas-1"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/feedback"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/fontconfig"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/freetype2"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/geofence"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/gio-unix-2.0"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/glib-2.0"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/harfbuzz"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/iotcon"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/json-glib-1.0"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/location"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/maps"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/media"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/media-content"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/messaging"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/metadata-editor"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/minicontrol"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/minizip"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/network"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/notification"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/phonenumber-utils"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/sensor"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/service-adaptor"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/shortcut"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/storage"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/system"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/telephony"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/ui"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/web"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/widget_service"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/widget_viewer_evas"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/wifi-direct"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/lib/dbus-1.0/include"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/lib/glib-2.0/include"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/chromium-ewk"/>
+ <listOptionValue builtIn="false" value="/home/bhutani.92/Tizen/tizen-sdk/platforms/tizen-3.0/mobile/rootstraps/mobile-3.0-device.core/usr/include/nsd/"/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/music-player/src/common/include}""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/src/lib/include}""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/src/view/include}""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/src/widget/include}""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/src/setting/src/include}""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/music-chooser/src/include}""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/sound-player/src/include}""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/inc}""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/src/core/include}""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/src/include}""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/widget/include}""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/res/edje/layout}""/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.1429064343" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.1570521208" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.cpp.116216757" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp"/>
+ <tool id="org.tizen.nativecore.tool.ast.1192176176" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast"/>
+ <tool id="org.tizen.nativecore.tool.ast.cpp.204253439" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.mergelib.655731378" name="Archive Generator" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver.mergelib"/>
+ <tool id="org.tizen.nativecore.tool.sbi.po.compiler.39091737" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
+ <tool id="org.tizen.nativecore.tool.sbi.edc.compiler.607859213" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler">
+ <option command="-id " id="sbi.gnu.edc.compiler.option.misc.id.1123388004" name="Image Path (-id)" superClass="sbi.gnu.edc.compiler.option.misc.id" valueType="stringList">
+ <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/images}""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/music-chooser/images}""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/setting/images}""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/widget/res/images}""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/images/music_player}""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/shared/res/shared_images}""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/shared/res/target_images}""/>
+ </option>
+ <option command="-sd " id="sbi.gnu.edc.compiler.option.misc.sd.636642734" name="Sound Path (-sd)" superClass="sbi.gnu.edc.compiler.option.misc.sd" valueType="stringList">
+ <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/images/sounds}""/>
+ </option>
+ </tool>
+ </toolChain>
+ </folderInfo>
+ <sourceEntries>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="data"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="images"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="inc"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="lib"/>
+ <entry excluding="edje/mp-label.edc|edje/mp-progressbar.edc|edje/mp-set-as.edc|edje/mp-player-view-landscape.edc|edje/genlist/genlist.edc|edje/mp-gengrid-style.edc|edje/mp-layout-misc.edc|edje/genlist/genlist_textblock_style.edc|edje/mp-square-view.edc|edje/mp-list.edc|edje/mp-volume-widget.edc|edje/mp-check.edc|edje/mp-player-progressbar.edc|edje/mp-rich-info.edc|edje/mp-view.edc|edje/genlist/genlist_macro.edc|edje/mp-motion-popup.edc|edje/mp-slider.edc|edje/mp-naviframe.edc|edje/mp-nocontents.edc|edje/mp-play-menu.edc|edje/mp-toolbar.edc|edje/mp-now-playing.edc|edje/mp_genlist_define.edc|edje/mp-button.edc|edje/mp-editfield.edc|edje/mp-edit-navi.edc|edje/mp-no-contents.edc|edje/mp-play-info.edc|edje/search_bar.edc|edje/mp-info-view.edc|edje/mp-3d-view.edc|edje/mp-play-control.edc|edje/mp-play-mini-app.edc|edje/entry.edc|edje/mp-genlist-theme.edc|edje/tizen-hd-inc.edc|edje/mp-play-progress.edc|edje/mp-play-view.edc|edje/mp-lrc.edc|edje/mp_genlist_macro.edc|edje/mp-defines.h|edje/mp-list-view.edc|edje/mp-play-vew-landscape.edc|edje/mp-player-view.edc|edje/genlist/genlist_normal.edc|edje/mp-all-view.edc|edje/mp-play-option.edc" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="res"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="shared"/>
+ <entry flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="src"/>
+ </sourceEntries>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings">
+ <externalSettings containerId="music-chooser;" factoryId="org.eclipse.cdt.core.cfg.export.settings.sipplier"/>
+ <externalSettings containerId="sound-player;" factoryId="org.eclipse.cdt.core.cfg.export.settings.sipplier"/>
+ <externalSettings containerId="widget;" factoryId="org.eclipse.cdt.core.cfg.export.settings.sipplier"/>
+ </storageModule>
+ </cconfiguration>
+ <cconfiguration id="org.tizen.nativecore.config.sbi.gcc45.app.release.609740240">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecore.config.sbi.gcc45.app.release.609740240" moduleId="org.eclipse.cdt.core.settings" name="Release">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.tizen.nativecore.NativeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactName="org.example.emptyapplicationmusicplayer" buildArtefactType="org.tizen.nativecore.buildArtefactType.app" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecore.buildArtefactType.app,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;" id="org.tizen.nativecore.config.sbi.gcc45.app.release.609740240" name="Release" parent="org.tizen.nativecore.config.sbi.gcc45.app.release">
+ <folderInfo id="org.tizen.nativecore.config.sbi.gcc45.app.release.609740240." name="/" resourcePath="">
+ <toolChain id="org.tizen.nativecore.toolchain.sbi.gcc45.app.release.871779070" name="Tizen Native Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.app.release">
+ <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.2134386539" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+ <builder buildPath="${workspace_loc:/EmptyApplicationMusicPlayer}/Release" id="org.tizen.nativecore.target.sbi.gnu.builder.2013753196" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Tizen Application Builder" superClass="org.tizen.nativecore.target.sbi.gnu.builder"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.1435347899" name="Archiver" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.151879247" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler">
+ <option id="gnu.cpp.compiler.option.optimization.level.1879870681" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/>
+ <option defaultValue="gnu.cpp.compiler.debugging.level.default" id="sbi.gnu.cpp.compiler.option.debugging.level.core.1379216466" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core" valueType="enumerated"/>
+ <option id="sbi.gnu.cpp.compiler.option.1178741964" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-3.0-emulator.core_llvm36.i386.core.app"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.979109858" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/libxml2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appcore-agent""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appfw""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/attach-panel""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/badge""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/base""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/cairo""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/calendar-service2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/chromium-ewk""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ckm""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/contacts-svc""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/content""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/context-service""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dali""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dali-toolkit""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dbus-1.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/device""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dlog""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-buffer-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-con-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-file-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-imf-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-imf-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-input-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-input-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-ipc-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ector-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/e_dbus-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/edje-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eet-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efl-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efl-extension""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efreet-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eina-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eina-1/eina""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eio-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eldbus-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/elementary-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/embryo-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/emile-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eo-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eom""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ethumb-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ethumb-client-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/feedback""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/fontconfig""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/freetype2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/geofence""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/gio-unix-2.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/glib-2.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/harfbuzz""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/iotcon""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/json-glib-1.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/location""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/maps""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/media""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/media-content""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/messaging""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/metadata-editor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/minicontrol""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/minizip""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/network""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/notification""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/nsd/""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/phonenumber-utils""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/sensor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/service-adaptor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/shortcut""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/storage""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/system""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/telephony""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ui""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/web""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_service""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_viewer_evas""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/wifi-direct""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/dbus-1.0/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/glib-2.0/include""/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.1884205499" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="${TC_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value="${RS_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value=" -fPIE"/>
+ <listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
+ </option>
+ <option id="gnu.cpp.compiler.option.include.paths.252633979" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/inc}""/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks.core.416134346" name="Tizen-Frameworks" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1304415676" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+ </tool>
+ <tool command="clang" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1351498615" name="C Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.c.compiler">
+ <option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.option.optimization.level.106365780" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
+ <option defaultValue="gnu.c.debugging.level.default" id="sbi.gnu.c.compiler.option.debugging.level.core.1284856765" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core" valueType="enumerated"/>
+ <option id="sbi.gnu.c.compiler.option.1177694086" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-3.0-emulator.core_llvm36.i386.core.app"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.841607223" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/libxml2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appcore-agent""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appfw""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/attach-panel""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/badge""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/base""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/cairo""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/calendar-service2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/chromium-ewk""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ckm""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/contacts-svc""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/content""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/context-service""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dali""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dali-toolkit""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dbus-1.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/device""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dlog""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-buffer-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-con-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-file-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-imf-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-imf-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-input-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-input-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-ipc-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ector-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/e_dbus-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/edje-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eet-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efl-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efl-extension""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efreet-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eina-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eina-1/eina""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eio-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eldbus-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/elementary-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/embryo-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/emile-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eo-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eom""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ethumb-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ethumb-client-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/feedback""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/fontconfig""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/freetype2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/geofence""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/gio-unix-2.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/glib-2.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/harfbuzz""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/iotcon""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/json-glib-1.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/location""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/maps""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/media""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/media-content""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/messaging""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/metadata-editor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/minicontrol""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/minizip""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/network""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/notification""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/nsd/""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/phonenumber-utils""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/sensor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/service-adaptor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/shortcut""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/storage""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/system""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/telephony""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ui""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/web""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_service""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_viewer_evas""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/wifi-direct""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/dbus-1.0/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/glib-2.0/include""/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.1755775554" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="${TC_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value="${RS_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value=" -fPIE"/>
+ <listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
+ </option>
+ <option id="gnu.c.compiler.option.include.paths.1676113221" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/inc}""/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks.core.394949562" name="Tizen-Frameworks" superClass="sbi.gnu.c.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1822438261" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+ </tool>
+ <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.15790083" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.linker.508146197" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
+ <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.core.1449089146" name="Tizen-Frameworks-Other-Lflags" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="${TC_LINKER_MISC}"/>
+ <listOptionValue builtIn="false" value="${RS_LINKER_MISC}"/>
+ <listOptionValue builtIn="false" value="-pie -lpthread "/>
+ <listOptionValue builtIn="false" value="-Xlinker -rpath="/home/developer/sdk_tools/lib""/>
+ <listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
+ <listOptionValue builtIn="false" value="-Xlinker --version-script="${PROJ_PATH}/.exportMap""/>
+ <listOptionValue builtIn="false" value="-L"${SBI_SYSROOT}/usr/lib""/>
+ <listOptionValue builtIn="false" value="$(RS_LIBRARIES)"/>
+ </option>
+ <option id="gnu.cpp.link.option.paths.1617239691" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
+ <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/lib}""/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.290544331" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+ <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+ <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+ </inputType>
+ </tool>
+ <tool command="i386-linux-gnueabi-as" id="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.891519896" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.277915599" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.767810917" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.cpp.764104167" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp"/>
+ <tool id="org.tizen.nativecore.tool.ast.828401705" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast"/>
+ <tool id="org.tizen.nativecore.tool.ast.cpp.268811897" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.mergelib.581273124" name="Archive Generator" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver.mergelib"/>
+ <tool id="org.tizen.nativecore.tool.sbi.po.compiler.1567993244" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
+ <tool id="org.tizen.nativecore.tool.sbi.edc.compiler.1029539656" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler"/>
+ </toolChain>
+ </folderInfo>
+ <sourceEntries>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="inc"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="res"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="shared"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
+ </sourceEntries>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ </cconfiguration>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <project id="EmptyApplicationMusicPlayer.org.tizen.nativecore.target.sbi.gcc45.app.25227572" name="Tizen Native Application" projectType="org.tizen.nativecore.target.sbi.gcc45.app"/>
+ </storageModule>
+ <storageModule moduleId="scannerConfiguration">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+ <scannerConfigBuildInfo instanceId="org.tizen.nativecore.config.sbi.gcc45.app.release.609740240">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+ </scannerConfigBuildInfo>
+ <scannerConfigBuildInfo instanceId="org.tizen.nativecore.config.sbi.gcc45.app.debug.9550515">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+ </scannerConfigBuildInfo>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
+ <storageModule moduleId="refreshScope" versionNumber="2">
+ <configuration configurationName="Debug">
+ <resource resourceType="PROJECT" workspacePath="/music-player"/>
+ </configuration>
+ <configuration configurationName="Release">
+ <resource resourceType="PROJECT" workspacePath="/music-player"/>
+ </configuration>
+ </storageModule>
+</cproject>
--- /dev/null
+{
+ global: main;
+ local: *;
+};
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>music-player</name>
+ <comment></comment>
+ <projects>
+ <project>widget</project>
+ <project>music-chooser</project>
+ <project>sound-player</project>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
+ <triggers>full,incremental,</triggers>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.tizen.nativecore.apichecker.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.cdt.core.cnature</nature>
+ <nature>org.eclipse.cdt.core.ccnature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
+ <nature>org.tizen.nativecore.apichecker.core.tizenCppNature</nature>
+ </natures>
+</projectDescription>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<tproject xmlns="http://www.tizen.org/tproject">
+ <platforms>
+ <platform>
+ <name>mobile-3.0</name>
+ </platform>
+ </platforms>
+ <package>
+ <blacklist/>
+ <resFallback autoGen="true"/>
+ <subProjects>
+ <tizenProject project="music-chooser"/>
+ <tizenProject project="sound-player"/>
+ <tizenProject project="widget"/>
+ </subProjects>
+ </package>
+</tproject>
--- /dev/null
+# Appendix\r
--- /dev/null
+# Add inputs and outputs from these tool invocations to the build variables
+
+
+OS_NAME := $(shell $(UNAME))
+
+
+#ifeq ($(origin BUILD_CONFIG), undefined)
+BUILD_CONFIG ?= Debug
+#endif
+
+#ifeq ($(origin ARCH), undefined)
+ARCH ?= i386
+#endif
+
+#ifeq ($(origin PROJPATH), undefined)
+PROJPATH ?= .
+#endif
+
+
+#ifeq ($(origin PROJ_PATH), undefined)
+PROJ_PATH ?= $(PROJPATH)
+#endif
+
+#ifeq ($(strip $(OUTPUT_DIR)),)
+#OUTPUT_DIR ?= $(PROJ_PATH)/$(BUILD_CONFIG)
+#endif
+
+#ifeq ($(strip $(BUILD_ARCH)),)
+BUILD_ARCH ?= $(ARCH)
+#endif
+
+#ifeq ($(strip $(ENVENTOR_PATH)),)
+ENVENTOR_PATH ?= $(SDK_TOOLPATH)/enventor
+#endif
--- /dev/null
+# C/C++ build script
+
+
+_FUNC_EXT2O = $(patsubst %.$(3),$(1)/%.o,$(2))
+_FUNC_C2O = $(call _FUNC_EXT2O,$(1),$(2),c)
+_FUNC_CPP2O = $(call _FUNC_EXT2O,$(1),$(2),cpp)
+
+
+# parameter :
+# $(1) - C/C++ soruce file
+# $(2) - output path
+# $(3) - .ext
+# $(4) - unique id
+CONVERT_ESC_EXT_TO_O = $(addprefix $(2)/,$(notdir $(patsubst %.$(3),%-$(4).o,$(1))))
+
+#CONVERT_ESC_C_TO_O = $(call CONVERT_ESC_EXT_TO_O,$(1),$(2),c)
+#CONVERT_ESC_CPP_TO_O = $(call CONVERT_ESC_EXT_TO_O,$(1),$(2),cpp)
+
+
+# parameter :
+# $(1) - encoded one C/C++ soruce file
+# $(2) - output path
+# $(3) - ext title (C/C++)
+# $(4) - ext (c/cpp)
+# $(5) - compiler ($(CC)/$(CXX))
+# $(6) - build opt
+# $(7) - build opt file
+# output :
+# $(8) - output files list
+define C_BUILD_PROC_RAW
+$(call CONVERT_ESC_EXT_TO_O,$(1),$(2),$(4),$(8)) : $(call DECODE_4MAKE,$(1)) $(7)
+ @echo ' Building file: $$<'
+ @echo ' Invoking: $(3) Compiler'
+ $$(call MAKEDIRS,$$(@D))
+ $(5) -c "$$<" -o "$$@" $(6) -Wp,@$(7)
+ @echo ' Finished building: $$<'
+$(9) += $(call CONVERT_ESC_EXT_TO_O,$(1),$(2),$(4),$(8))
+endef
+
+
+# parameter :
+# $(1) - output paths
+# $(2) - src paths
+# $(3) - inc paths
+# $(4) - inc files
+# $(5) - Defs
+# $(6) - UnDefs
+# $(7) - compiler opt
+# $(8) - compiler opt file
+# $(9) - ext title (C/C++)
+# $(10) - ext (c/cpp)
+# $(11) - compiler ($(CC)/$(CXX))
+# output :
+# $(12) - OBJS
+# return :
+# none
+define C_PROC_RAW
+
+_OUTPUT_DIR := $$(strip $(1))#
+_SRCS := $(2)#
+_INCS := $(3)#
+_INC_FILES := $(4)#
+_DEFS := $(5)#
+_UNDEFS := $(6)#
+
+_OPT := $(7)
+_OPT_FILE := $(8)
+
+_EXT_TITLE := $(9)
+_EXT := $(10)
+_COMPILER := $(11)
+
+#_OUTPUT_FILES := $(12)
+
+_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_SRCS))
+_ENC_SRCS := $$(filter %.$$(_EXT),$$(_ENC_SRCS))
+
+ifneq ($$(strip $$(_SRCS)),)
+
+_NORMAL_SRCS := $$(filter-out %*.$$(_EXT),$$(_ENC_SRCS))
+_WIDLCARD_SRCS := $$(filter %*.$$(_EXT),$$(_ENC_SRCS))
+
+_ALL_SRCS := $$(call DECODE_4MAKE,$$(_NORMAL_SRCS)) \
+ $$(foreach var,$$(_WIDLCARD_SRCS),$$(call FIND_FILES_4MAKE,$$(call DECODE_4MAKE,$$(var))))
+
+ifneq ($$(strip $$(_ALL_SRCS)),)
+
+_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_ALL_SRCS))
+
+_CDEFS := $$(CDEFS)
+_CDEFS += $$(addprefix -D,$$(_DEFS))
+_CDEFS += $$(addprefix -U,$$(_UNDEFS))
+
+_ENC_C_INCS := $$(call ENCODE_4MAKE,$$(_INCS))
+_ENC_C_INCS := $$(addprefix -I,$$(_ENC_C_INCS))
+
+_ENC_INC_FILES := $$(call ENCODE_4MAKE,$$(_INC_FILES))
+_ENC_INC_FILES += $$(addprefix -include,$$(_ENC_INC_FILES))
+
+_C_INCS := $$(call DECODE_4MAKE,$$(_ENC_C_INCS) $$(_ENC_C_INC_FILES))
+
+_DEFS := $$(_CDEFS) $$(_C_INCS) -I"pch" $$(_OPT)
+
+_UNIQUE_ID = $$(firstword $$(shell echo $$(var) | $$(CKSUM)))
+
+$$(foreach var,$$(_ENC_SRCS),$$(eval $$(call C_BUILD_PROC_RAW,$$(var),$$(_OUTPUT_DIR),$$(_EXT_TITLE),$$(_EXT),$$(_COMPILER),$$(_DEFS),$$(_OPT_FILE),$$(_UNIQUE_ID),$(12))))
+
+endif # (_(strip _(_ALL_SRCS)),)
+
+endif # (_(strip _(_SRCS)),)
+
+
+endef
--- /dev/null
+# EDC build script
+
+
+FUNC_EDC2EDJ = $(patsubst %.edc,$(2)/%.edj,$(1))
+
+# parameter :
+# $(1) - C/C++ soruce file
+# $(2) - output path
+CONVERT_ESC_EDC_TO_EDJ = $(call CONVERT_4MAKE_TO_OUT,$(call FUNC_EDC2EDJ,$(1),$(2)))
+
+
+# parameter :
+# $(1) - encoded one C/C++ soruce file
+# $(2) - output path
+# $(3) - build opt
+# output :
+# $(4) - output files list
+define EDJ_BUILD_PROC_RAW
+$(call CONVERT_ESC_EDC_TO_EDJ,$(1),$(2)) : $(call DECODE_4MAKE,$(1))
+ @echo ' Building file: $$<'
+ @echo ' Invoking: EDC Resource Compiler'
+ $$(call MAKEDIRS,$$(@D))
+ $$(EDJE_CC) $(3) "$$<" "$$@"
+ @echo ' Finished building: $$<'
+$(4) += $(call CONVERT_ESC_EDC_TO_EDJ,$(1),$(2))
+endef
+
+
+# parameter :
+# $(1) - output paths
+# $(2) - src paths
+# $(3) - image inc paths
+# $(4) - sound inc paths
+# $(5) - font inc paths
+# output :
+# $(6) - OBJS
+# return :
+# none
+define EDJ_PROC_RAW
+
+_OUTPUT_DIR := $$(strip $(1))#
+_SRCS := $(2)#
+_IMAGE_DIRS := $(3)#
+_SOUND_DIRS := $(4)#
+_FONT_DIRS := $(5)#
+
+ifneq ($$(strip $$(_SRCS)),)
+
+_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_SRCS))
+
+_NORMAL_SRCS := $$(filter-out %*.edc,$$(_ENC_SRCS))
+_WIDLCARD_SRCS := $$(filter %*.edc,$$(_ENC_SRCS))
+
+_ALL_SRCS := $$(call DECODE_4MAKE,$$(_NORMAL_SRCS)) \
+ $$(foreach var,$$(_WIDLCARD_SRCS),$$(call FIND_FILES_4MAKE,$$(call DECODE_4MAKE,$$(var))))
+
+ifneq ($$(strip $$(_ALL_SRCS)),)
+
+_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_ALL_SRCS))
+
+_COMPILER_FLAGS := -id "$$(ENVENTOR_SHARED_RES_PATH)/images"
+_COMPILER_FLAGS += -sd "$$(ENVENTOR_SHARED_RES_PATH)/sounds"
+_COMPILER_FLAGS += -fd "$$(ENVENTOR_SHARED_RES_PATH)/fonts"
+
+ifneq ($$(strip $$(_IMAGE_DIRS)),)
+_COMPILER_FLAGS += $$(addprefix -id ,$$(_IMAGE_DIRS))
+endif
+ifneq ($$(strip $$(_SOUND_DIRS)),)
+_COMPILER_FLAGS += $$(addprefix -sd ,$$(_SOUND_DIRS))
+endif
+ifneq ($$(strip $$(_FONT_DIRS)),)
+_COMPILER_FLAGS += $$(addprefix -fd ,$$(_FONT_DIRS))
+endif
+
+$$(foreach var,$$(_ENC_SRCS),$$(eval $$(call EDJ_BUILD_PROC_RAW,$$(var),$$(_OUTPUT_DIR),$$(_COMPILER_FLAGS),$(6))))
+
+endif # (_(strip _(_ALL_SRCS)),)
+
+endif # (_(strip _(_SRCS)),)
+
+endef
--- /dev/null
+# PO build script
+
+
+_FUNC_PO2MO = $(patsubst %.po,$(2)/res/locale/%/LC_MESSAGES/$(3).mo,$(notdir $(1)))
+
+
+# parameter :
+# $(1) - C/C++ soruce file
+# $(2) - output path
+# $(3) - app name
+CONVERT_ESC_PO_TO_MO = $(call CONVERT_4MAKE_TO_OUT,$(call _FUNC_PO2MO,$(1),$(2),$(3)))
+
+
+# parameter :
+# $(1) - encoded one C/C++ soruce file
+# $(2) - output path
+# $(3) - app name
+# output :
+# $(4) - output files list
+define MO_BUILD_PROC_RAW
+$(call CONVERT_ESC_PO_TO_MO,$(1),$(2),$(3)) : $(call DECODE_4MAKE,$(1))
+ @echo ' Building file: $$<'
+ @echo ' Invoking: msgfmt String Formatter'
+ $$(call MAKEDIRS,$$(@D))
+ $$(MSGFMT) -o "$$@" "$$<"
+ @echo ' Finished building: $$<'
+$(4) += $(call CONVERT_ESC_PO_TO_MO,$(1),$(2),$(3))
+endef
+
+
+# parameter :
+# $(1) - output dir
+# $(2) - src paths
+# $(3) - app name
+# output :
+# $(4) - OBJS
+
+define MO_PROC_RAW
+
+_OUTPUT_DIR := $(1)
+_SRCS := $(2)
+_APPNAME := $(3)
+
+ifneq ($$(strip $$(_SRCS)),)
+
+_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_SRCS))
+
+_NORMAL_SRCS := $$(filter-out %*.po,$$(_ENC_SRCS))
+_WIDLCARD_SRCS := $$(filter %*.po,$$(_ENC_SRCS))
+
+_ALL_SRCS := $$(call DECODE_4MAKE,$$(_NORMAL_SRCS)) \
+ $$(foreach var,$$(_WIDLCARD_SRCS),$$(call FIND_FILES_4MAKE,$$(call DECODE_4MAKE,$$(var))))
+
+ifneq ($$(strip $$(_ALL_SRCS)),)
+
+_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_ALL_SRCS))
+
+$$(foreach var,$$(_ENC_SRCS),$$(eval $$(call MO_BUILD_PROC_RAW,$$(var),$$(_OUTPUT_DIR),$$(_APPNAME),$(4))))
+
+endif # (_(strip _(_ALL_SRCS)),)
+
+endif # (_(strip _(_SRCS)),)
+
+endef
--- /dev/null
+
+DEBUG_OP = -g3
+CPP_DEBUG_OP =
+
+OPTIMIZATION_OP = -O0
+CPP_OPTIMIZATION_OP =
+
+COMPILE_FLAGS = $(DEBUG_OP) $(OPTIMIZATION_OP) -Wall -c -fmessage-length=0 -fPIC
+
+CPP_COMPILE_FLAGS = $(CPP_DEBUG_OP) $(CPP_OPTIMIZATION_OP)
+
+LINK_FLAGS = -shared -Wl,--no-undefined
+
+AR_FLAGS =
+
+EDC_COMPILE_FLAGS =
\ No newline at end of file
--- /dev/null
+
+BSLASH := \\#
+NULL_CHAR := #
+SPACE := \ #
+COLON := :#
+DOTDOT := ..#
+SPACE_ESC := &sp;#
+COLON_ESC := &co;#
+SPACE_OUT := ~sp~#
+COLON_OUT := ~co~#
+DOTDOT_OUT := ~dtdt~#
+
+BSLASH2SLASH = $(subst $(BSLASH),/,$(1))
+
+REMOVE_TAIL = $(patsubst %/,%,$(1))
+
+#LOWER_CASE = $(shell echo translit($(1),[A-Z],[a-z])|$(M4))
+LOWER_CASE = $(shell echo $(1)|$(TR) [A-Z] [a-z])
+
+#ifneq ($(findstring Windows,$(OS)),)
+# ...
+#endif
+
+FIND_FILES = $(shell $(FIND) $(1)/$(2) | $(SED) 's/^$(subst /,$(BSLASH)/,$(1))$(BSLASH)///')
+FIND_FILES_ESC = $(shell $(FIND) $(1)/$(2) | $(SED) 's/^$(subst /,$(BSLASH)/,$(1))$(BSLASH)///' -e 's/:/$(BSLASH)&co;/g' -e 's/$(BSLASH) /$(BSLASH)&sp;/g')
+FIND_FILES_4MAKE = $(shell $(FIND) $(1)/$(2) | $(SED) 's/^$(subst /,$(BSLASH)/,$(1))$(BSLASH)///')
+
+FIND_FILES_ABS = $(shell $(FIND) $(1))
+FIND_FILES_ABS_4MAKE = $(shell $(FIND) $(1) -e 's/$(BSLASH) /$(BSLASH)&sp;/g')
+FIND_FILES_ABS_ESC = $(shell $(FIND) $(1) -e 's/:/$(BSLASH)&co;/g' -e 's/$(BSLASH) /$(BSLASH)&sp;/g')
+
+FIND_FILES_4MAKE = $(shell $(FIND) $(1) | $(SED) 's/ /\\\ /g')
+
+#ENCODE_ESC = $(shell echo $(1) | $(SED) -e 's/:/$(BSLASH)&co;/g' -e 's/$(BSLASH) /$(BSLASH)&sp;/g')
+#DECODE_ESC = $(shell echo $(1) | $(SED) -e 's/$(BSLASH)&co;/:/g' -e 's/$(BSLASH)&sp;/$(BSLASH) / g')
+ENCODE_ESC = $(subst $(SPACE),$(SPACE_ESC),$(subst $(COLON),$(COLON_ESC),$(1)))
+DECODE_ESC = $(subst $(COLON_ESC),$(COLON),$(subst $(SPACE_ESC),$(SPACE),$(1)))
+ENCODE_4MAKE = $(subst $(SPACE),$(SPACE_ESC),$(1))
+DECODE_4MAKE = $(subst $(SPACE_ESC),$(SPACE),$(1))
+
+CONVERT_TO_OUT = $(subst $(DOTDOT),$(DOTDOT_OUT),$(subst $(COLON),$(COLON_OUT),$(subst $(SPACE),$(SPACE_OUT),$(1))))
+CONVERT_ESC_TO_OUT = $(subst $(DOTDOT),$(DOTDOT_OUT),$(subst $(COLON_ESC),$(COLON_OUT),$(subst $(SPACE_ESC),$(SPACE_OUT),$(1))))
+CONVERT_4MAKE_TO_OUT = $(subst $(DOTDOT),$(DOTDOT_OUT),$(subst $(COLON),$(COLON_OUT),$(subst $(SPACE_ESC),$(SPACE_OUT),$(1))))
+
+PROC_NO_EXIST = $(if $(wildcard $(1)),,$(call $(2),$(1)))
+define MAKEDIRS0
+ @echo ' Building directory: $(1)'
+ @$(MKDIR) $(MKDIR_OP) $(subst $(BSLASH),/,$(1))
+endef
+MAKEDIRS = $(call PROC_NO_EXIST,$(1),MAKEDIRS0)
--- /dev/null
+#
+# Usege : make -f <proj_root>/Build/makefile -C <proj_root>
+#
+
+BUILD_SCRIPT_VERSION := 1.1.0
+
+.PHONY : app_version app_build app_clean build_version
+
+
+all : app_build
+
+clean : app_clean
+
+version : build_version
+
+#PROJ_ROOT = .
+BUILD_ROOT := $(PROJ_PATH)/Build#
+
+ifeq ($(MAKE_NAME),mingw32-make)
+ifneq ($(SHELL),)
+OPTIONS += --eval="SHELL=$(SHELL)"
+endif
+endif
+
+app_build :
+ @echo $(MAKE) -f "$(BUILD_ROOT)/makefile.mk"
+ @$(MAKE_BIN) -f "$(BUILD_ROOT)/makefile.mk" -C "$(PROJ_PATH)" $(OPTIONS)
+
+app_clean :
+ @$(MAKE) -f "$(BUILD_ROOT)/makefile.mk" -C "$(PROJ_PATH)" $(OPTIONS) clean
+
+build_version :
+ @echo makefile : $(BUILD_SCRIPT_VERSION)
+ @$(MAKE) -f "$(BUILD_ROOT)/makefile.mk" -C "$(PROJ_PATH)" $(OPTIONS) version
--- /dev/null
+#
+# Usege : make -f <proj_root>/Build/makefile -C <proj_root>
+#
+
+BUILD_SCRIPT_VERSION := 1.2.3
+
+.PHONY : app_version app_clean build_version
+
+
+all : app_build
+
+clean : app_clean
+
+version : build_version
+
+
+#PROJ_ROOT := $(call BSLASH2SLASH,$(PROJ_PATH))
+PROJ_ROOT := .
+BUILD_ROOT := $(PROJ_ROOT)/Build
+
+include $(BUILD_ROOT)/basedef.mk
+
+include $(PROJ_ROOT)/project_def.prop
+-include $(PROJ_ROOT)/build_def.prop
+
+include $(BUILD_ROOT)/funcs.mk
+
+-include $(BUILD_ROOT)/tooldef.mk
+-include $(BUILD_ROOT)/flags.mk
+-include $(BUILD_ROOT)/platform.mk
+
+
+APPTYPE := $(type)
+
+OUTPUT_DIR := $(PROJ_ROOT)/$(BUILD_CONFIG)
+OBJ_OUTPUT := $(OUTPUT_DIR)/objs
+
+LOWER_APPNAME := $(call LOWER_CASE,$(APPNAME))
+APPID2 := $(subst $(basename $(APPID)).,,$(APPID))
+
+ifeq ($(strip $(APPTYPE)),app)
+APPFILE := $(OUTPUT_DIR)/$(LOWER_APPNAME)
+endif
+ifeq ($(strip $(APPTYPE)),staticLib)
+APPFILE := $(OUTPUT_DIR)/lib$(LOWER_APPNAME).a
+endif
+ifeq ($(strip $(APPTYPE)),sharedLib)
+APPFILE := $(OUTPUT_DIR)/lib$(LOWER_APPNAME).so
+endif
+
+ifneq ($(strip $(PLATFORM_INCS)),)
+PLATFORM_INCS_FILE := $(OBJ_OUTPUT)/platform_incs_file.inc
+endif
+
+include $(BUILD_ROOT)/build_c.mk
+
+
+ifeq ($(strip $(APPTYPE)),app)
+EXT_OP := -fPIE
+endif
+ifeq ($(strip $(APPTYPE)),staticLib)
+EXT_OP := -fPIE
+endif
+ifeq ($(strip $(APPTYPE)),sharedLib)
+EXT_OP := -fPIC
+endif
+
+C_OPT := $(COMPILE_FLAGS) $(TC_COMPILER_MISC) $(RS_COMPILER_MISC) $(EXT_OP) --sysroot="$(SYSROOT)" -Werror-implicit-function-declaration $(M_OPT) $(USER_C_OPTS)
+CPP_OPT := $(CPP_COMPILE_FLAGS) $(TC_COMPILER_MISC) $(RS_COMPILER_MISC) $(EXT_OP) --sysroot="$(SYSROOT)" -Werror-implicit-function-declaration $(M_OPT) $(USER_CPP_OPTS)
+C_OPT_FILE := $(PLATFORM_INCS_FILE)
+
+OBJS := #
+
+# Global C/C++
+ifeq ($(strip $(USER_ROOT)),)
+USER_ROOT := $(PROJ_ROOT)
+endif
+$(eval $(call C_PROC_RAW,$(OBJ_OUTPUT),$(USER_SRCS),$(USER_INC_DIRS),$(USER_INC_FILES),$(USER_DEFS),$(USER_UNDEFS),$(C_OPT),$(C_OPT_FILE),C,c,$(CC),OBJS))
+$(foreach ext,cpp cxx cc c++ C,$(eval $(call C_PROC_RAW,$(OBJ_OUTPUT),$(USER_SRCS),$(USER_INC_DIRS),$(USER_CPP_INC_FILES),$(USER_CPP_DEFS),$(USER_CPP_UNDEFS),$(CPP_OPT),$(C_OPT_FILE),C++,$(ext),$(CXX),OBJS)))
+
+# Individual C/C++
+ifneq ($(strip $(USER_EXT_C_KEYS)),)
+$(foreach var,$(USER_EXT_C_KEYS),$(eval $(call C_PROC_RAW,$(OBJ_OUTPUT),$(USER_EXT_$(var)_SRCS),$(USER_EXT_$(var)_INC_DIRS),$(USER_EXT_$(var)_INC_FILES),$(USER_EXT_$(var)_DEFS),$(USER_EXT_$(var)_UNDEFS),$(C_OPT),$(C_OPT_FILE),C,c,$(CC),OBJS)))
+$(foreach ext,cpp cxx cc c++ C,$(foreach var,$(USER_EXT_C_KEYS),$(eval $(call C_PROC_RAW,$(OBJ_OUTPUT),$(USER_EXT_$(var)_SRCS),$(USER_EXT_$(var)_INC_DIRS),$(USER_EXT_$(var)_CPP_INC_FILES),$(USER_EXT_$(var)_CPP_DEFS),$(USER_EXT_$(var)_CPP_UNDEFS),$(CPP_OPT),$(C_OPT_FILE),C++,$(ext),$(CXX),OBJS))))
+endif
+
+
+ifneq ($(strip $(USER_LIB_DIRS)),)
+_ENC_USER_LIB_DIRS := $(call ENCODE_4MAKE,$(USER_LIB_DIRS))
+_ENC_USER_LIB_DIRS := $(addprefix -L,$(_ENC_USER_LIB_DIRS))
+LIBPATHS := $(call DECODE_4MAKE,$(_ENC_USER_LIB_DIRS))
+endif
+
+LIBS += $(addprefix -l,$(USER_LIBS))
+
+UOBJS += $(USER_OBJS)
+
+M_OPT = -MMD -MP -MF"$(@:%.o=%.d)"
+
+DEPS := $(OBJS:.o=.d)
+
+ifneq ($(strip $(DEPS)),)
+-include $(PROJ_ROOT)/Build/$(DEPS)
+endif
+
+
+ifeq ($(strip $(APPTYPE)),app)
+$(APPFILE) : $(OBJS) $(UOBJS)
+ @echo ' Building target: $@'
+ @echo ' Invoking: C/C++ Linker'
+ $(call MAKEDIRS,$(@D))
+ $(CXX) -o $(APPFILE) $(OBJS) $(UOBJS) $(LIBPATHS) -Xlinker --as-needed $(LIBS) $(LINK_FLAGS) $(TC_LINKER_MISC) $(RS_LINKER_MISC) -pie -lpthread --sysroot="$(SYSROOT)" -Xlinker --version-script="$(PROJ_ROOT)/.exportMap" $(RS_LIB_PATHS) $(RS_LIBRARIES) -Xlinker -rpath="/opt/usr/apps/$(APPID)/lib" -Werror-implicit-function-declaration $(USER_LINK_OPTS)
+ @echo ' Finished building target: $@'
+endif
+ifeq ($(strip $(APPTYPE)),staticLib)
+$(APPFILE) : $(OBJS) $(UOBJS)
+ @echo ' Building target: $@'
+ @echo ' Invoking: Archive utility'
+ $(call MAKEDIRS,$(@D))
+ $(AR) -r $(APPFILE) $(OBJS) $(UOBJS) $(AR_FLAGS) $(USER_LINK_OPTS)
+ @echo ' Finished building target: $@'
+endif
+ifeq ($(strip $(APPTYPE)),sharedLib)
+$(APPFILE) : $(OBJS) $(UOBJS)
+ @echo ' Building target: $@'
+ @echo ' Invoking: C/C++ Linker'
+ $(call MAKEDIRS,$(@D))
+ $(CXX) -o $(APPFILE) $(OBJS) $(UOBJS) $(LIBPATHS) -Xlinker --as-needed $(LIBS) $(LINK_FLAGS) $(TC_LINKER_MISC) $(RS_LINKER_MISC) -shared -lpthread --sysroot="$(SYSROOT)" $(RS_LIB_PATHS) $(RS_LIBRARIES) $(USER_LINK_OPTS)
+ @echo ' Finished building target: $@'
+endif
+
+
+$(OBJ_OUTPUT) :
+ $(call MAKEDIRS,$@)
+
+$(OUTPUT_DIR) :
+ $(call MAKEDIRS,$@)
+
+
+ifneq ($(strip $(PLATFORM_INCS)),)
+$(PLATFORM_INCS_FILE) : $(OBJ_OUTPUT)
+ @echo ' Building inc file: $@'
+ifneq ($(findstring Windows,$(OS)),)
+ifneq ($(findstring 3.82,$(MAKE_VERSION)),)
+ $(file > $@,$(PLATFORM_INCS))
+else
+ @echo $(PLATFORM_INCS) > $@
+endif
+else
+ @echo $(PLATFORM_INCS) > $@
+endif
+endif
+
+
+include $(BUILD_ROOT)/build_edc.mk
+
+#ifeq ($(strip $(ENVENTOR_SHARED_RES_PATH)),)
+ENVENTOR_SHARED_RES_PATH ?= $(ENVENTOR_PATH)/share/enventor
+#endif
+
+EDJ_FILES :=
+
+# Global EDCs
+ifneq ($(strip $(USER_EDCS)),)
+$(eval $(call EDJ_PROC_RAW,$(OUTPUT_DIR),$(USER_EDCS),$(USER_EDCS_IMAGE_DIRS),$(USER_EDCS_SOUND_DIRS),$(USER_EDCS_FONT_DIRS),EDJ_FILES))
+endif
+
+# Individual EDCs
+ifneq ($(strip $(USER_EXT_EDC_KEYS)),)
+$(foreach var,$(USER_EXT_EDC_KEYS),$(eval $(call EDJ_PROC_RAW,$(OUTPUT_DIR),$(USER_EXT_$(var)_EDCS),$(USER_EXT_$(var)_EDCS_IMAGE_DIRS),$(USER_EXT_$(var)_EDCS_SOUND_DIRS),$(USER_EXT_$(var)_EDCS_FONT_DIRS),EDJ_FILES)))
+endif
+
+
+include $(BUILD_ROOT)/build_po.mk
+
+MO_FILES :=
+
+# Global POs
+ifneq ($(strip $(USER_POS)),)
+$(eval $(call MO_PROC_RAW,$(OUTPUT_DIR),$(USER_POS),$(APPID2),MO_FILES))
+endif
+
+
+secondary-outputs : $(EDJ_FILES) $(MO_FILES)
+
+-include appendix.mk
+
+app_build : $(OUTPUT_DIR) $(APPFILE) secondary-outputs
+ @echo ========= done =========
+
+
+app_clean :
+ rm -f $(APPFILE)
+ rm -rf $(OUTPUT_DIR)
+
+build_version :
+ @echo makefile.mk : $(BUILD_SCRIPT_VERSION)
--- /dev/null
+# Add inputs and outputs from these tool invocations to the build variables
+
+SYSROOT = $(SBI_SYSROOT)
+
+USR_INCS := $(addprefix -I $(SYSROOT),$(PLATFORM_INCS_EX))
+
+ifeq ($(strip $(PLATFORM_LIB_PATHS)),)
+RS_LIB_PATHS := "$(SYSROOT)/usr/lib"
+else
+RS_LIB_PATHS := $(addprefix -L$(SYSROOT),$(PLATFORM_LIB_PATHS))
+endif
+
+RS_LIBRARIES := $(addprefix -l,$(RS_LIBRARIES_EX))
+
+PLATFORM_INCS = $(USR_INCS) -I"$(SDK_PATH)/library"
--- /dev/null
+# Add inputs and outputs from these tool invocations to the build variables
+
+ifneq ($(strip $(SHELL_BIN)),)
+SHELL = $(SHELL_BIN)
+else
+SHELL = sh
+endif
+
+ifneq ($(strip $(MKDIR_BIN)),)
+MKDIR = $(MKDIR_BIN)
+MKDIR_OP = -p
+else
+MKDIR = mkdir
+MKDIR_OP = -p
+endif
+
+ifneq ($(strip $(UNAME_BIN)),)
+UNAME = $(UNAME_BIN)
+else
+UNAME = uname
+endif
+
+ifneq ($(strip $(M4_BIN)),)
+M4 = $(M4_BIN)
+else
+M4 = m4
+endif
+
+ifneq ($(strip $(TR_BIN)),)
+TR = $(TR_BIN)
+else
+TR = tr
+endif
+
+ifneq ($(strip $(FIND_BIN)),)
+FIND = $(FIND_BIN)
+else
+FIND = find
+endif
+
+ifneq ($(strip $(SED_BIN)),)
+SED = $(SED_BIN)
+else
+SED = sed
+endif
+
+ifneq ($(strip $(GREP_BIN)),)
+GREP = $(GREP_BIN)
+else
+GREP = grep
+endif
+
+ifneq ($(strip $(EDJE_CC_BIN)),)
+EDJE_CC = $(EDJE_CC_BIN)
+else
+EDJE_CC = edje_cc
+endif
+
+ifneq ($(strip $(MSGFMT_BIN)),)
+MSGFMT = $(MSGFMT_BIN)
+else
+MSGFMT = msgfmt
+endif
+
+ifneq ($(strip $(CKSUM_BIN)),)
+CKSUM = $(CKSUM_BIN)
+else
+CKSUM = cksum
+endif
+
--- /dev/null
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+PROJECT(music-player C CXX)
+
+EXEC_PROGRAM(uname ARGS -m OUTPUT_VARIABLE CMAKE_SYSTEM_VERSION)
+message("Building by ${CMAKE_SYSTEM_VERSION} machine")
+
+SET(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
+
+SET(PREFIX ${CMAKE_INSTALL_PREFIX})
+SET(BINDIR "${PREFIX}/bin")
+SET(LIBDIR "${PREFIX}/lib")
+SET(RESDIR "${PREFIX}/res")
+SET(DATADIR "${PREFIX}/data")
+SET(SHAREDDIR "${PREFIX}/shared")
+SET(LOCALEDIR "${RESDIR}/locale")
+SET(ICONDIR "${RESDIR}/icons/default/small")
+SET(EDJDIR "${RESDIR}/edje")
+
+message("CMAKE_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}")
+message("PREFIX ${PREFIX}")
+message("BINDIR ${BINDIR}")
+message("DATADIR ${DATADIR}")
+
+
+# Build features
+ADD_DEFINITIONS("-DMP_FEATURE_LOCKSCREEN")
+ADD_DEFINITIONS("-DMP_FEATURE_PERSONAL_PAGE")
+ADD_DEFINITIONS("-DMP_FEATURE_UNSUPPORT_DRM_CD_SD")
+ADD_DEFINITIONS("-DMP_FEATURE_GL")
+ADD_DEFINITIONS("-DMP_FEATURE_OPTIMIZATION_LAUNCH_TIME")
+ADD_DEFINITIONS("-DMP_FEATURE_NO_END")
+
+
+IF (CMAKE_DISABLE_FEATURE_MMS)
+ message("##Disable mms##")
+ ADD_DEFINITIONS("-DMP_FEATURE_DISABLE_MMS")
+ENDIF (CMAKE_DISABLE_FEATURE_MMS)
+IF (CMAKE_ENABLE_FEATURE_DROPBOX)
+ message("##enable dropbox##")
+ ADD_DEFINITIONS("-DMP_FEATURE_ENABLE_DROPBOX")
+ENDIF (CMAKE_ENABLE_FEATURE_DROPBOX)
+
+IF (CMAKE_DEBUG_MODE)
+ SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror")
+ENDIF (CMAKE_DEBUG_MODE)
+
+SET(COMMON_SRCS
+ src/mp-main.c
+
+ src/core/mp-file-tag-info.c
+ src/core/mp-player-control.c
+ src/core/mp-player-mgr.c
+ src/core/mp-setting-ctrl.c
+ src/core/mp-lyric-mgr.c
+ src/core/mp-volume.c
+ src/core/mp-language-mgr.c
+ src/core/mp-playlist-mgr.c
+ src/core/mp-view-mgr.c
+ src/common/mp-common.c
+ src/common/mp-edit-callback.c
+ src/common/mp-menu.c
+ src/common/mp-ug-launch.c
+ src/common/mp-widget.c
+ src/common/mp-util.c
+ src/common/mp-play.c
+ src/common/mp-app.c
+ src/common/mp-media-info.c
+ src/common/mp-ta.c
+ src/common/mp-file-util.c
+ src/widget/mp-lyric.c
+ src/widget/mp-search.c
+ src/widget/mp-smart-event-box.c
+ src/widget/mp-popup.c
+ src/widget/mp-minicontroller.c
+ src/widget/mp-lockscreenmini.c
+ src/widget/mp-ctxpopup.c
+ src/widget/mp-player-volume-widget.c
+ src/widget/mp-now-playing.c
+ src/widget/mp-index.c
+ src/widget/mp-edit-playlist.c
+
+ src/view/mp-all-view.c
+ src/view/mp-add-track-view.c
+ src/view/mp-select-track-view.c
+ src/view/mp-create-playlist-view.c
+ src/view/mp-album-detail-view.c
+ src/view/mp-artist-detail-view.c
+ src/view/mp-playlist-detail-view.c
+ src/view/mp-player-view.c
+ src/view/mp-search-view.c
+ src/view/mp-set-as-view.c
+ src/view/mp-now-playing-list-view.c
+ src/view/mp-list-view.c
+ src/view/mp-view.c
+ src/view/mp-edit-view.c
+ src/view/mp-genre-detail-view.c
+
+ src/widget/mp-list.c
+ src/widget/mp-track-list.c
+ src/widget/mp-search-list.c
+ src/widget/mp-playlist-list.c
+ src/widget/mp-album-list.c
+ src/widget/mp-genre-list.c
+ src/widget/mp-album-detail-list.c
+ src/widget/mp-artist-list.c
+ src/widget/mp-artist-detail-list.c
+ src/widget/mp-now-playing-list.c
+
+
+#START_PUBLIC_REMOVED_STRING
+ src/view/mp-setting-view.c
+ src/view/mp-detail-view.c
+ src/widget/mp-notification.c
+ src/widget/mp-notification.c
+#END_START_PUBLIC_REMOVED_STRING
+)
+
+
+SET(COMMON_INCLUDE
+ ${CMAKE_CURRENT_SOURCE_DIR}/inc
+ src/include
+ src/common/include
+ src/core/include
+ src/list/include
+ src/view/include
+ src/widget/include
+#START_PUBLIC_REMOVED_STRING
+ src/dmc-player/include
+ src/setting/src/include
+#END_START_PUBLIC_REMOVED_STRING
+)
+
+INCLUDE_DIRECTORIES(${COMMON_INCLUDE})
+
+SET(SRCS ${COMMON_SRCS})
+
+SET(REQUIRED_PKGS
+ elementary
+ cairo
+ dlog
+ vconf
+ libxml-2.0
+ efl-extension
+ edje
+ evas
+ capi-appfw-application
+ capi-media-recorder
+ capi-appfw-preference
+ capi-appfw-app-manager
+ capi-media-sound-manager
+ capi-telephony
+ capi-media-player
+ capi-media-metadata-extractor
+ capi-content-media-content
+ capi-content-mime-type
+ minicontrol-provider
+ capi-network-bluetooth
+ capi-message-port
+ capi-system-system-settings
+ capi-system-media-key
+ storage
+ libtzplatform-config
+#START_PUBLIC_REMOVED_STRING
+ capi-web-url-download
+ notification
+ libcore-context-manager
+ capi-network-wifi-direct
+ capi-system-info
+ capi-system-runtime-info
+ capi-system-device
+ db-util
+#END_START_PUBLIC_REMOVED_STRING
+)
+
+INCLUDE(FindPkgConfig)
+pkg_check_modules(pkgs REQUIRED ${REQUIRED_PKGS})
+
+FOREACH(flag ${pkgs_CFLAGS})
+ SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
+ENDFOREACH(flag)
+#SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -finstrument-functions")
+#SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -DMUSIC_DEBUG")
+SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -DMACHINE_$ENV{MACHINE} ")
+
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIC -fvisibility=hidden")
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fdata-sections -ffunction-sections -Wl,--gc-sections")
+SET(CMAKE_C_FLAGS_DEBUG "-O0 -g -fpie")
+SET(CMAKE_C_FLAGS_RELEASE "-O2 -Wall -g -fpie")
+SET(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -Xassembler -W -fPIC")
+SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie")
+
+ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
+ADD_DEFINITIONS("-DSHAREDDIR=\"${PREFIX}/shared\"")
+ADD_DEFINITIONS("-DPKG_NAME=\"${PKG_NAME}\"")
+ADD_DEFINITIONS("-DDATA_PREFIX=\"${PREFIX}\"")
+ADD_DEFINITIONS("-DFACTORYFS=\"$ENV{FACTORYFS}\"")
+ADD_DEFINITIONS("-DDESKTOP_ICON=\"${CMAKE_DESKTOP_ICON_DIR}/${PKG_NAME}.png\"")
+ADD_DEFINITIONS("-D_FILE_OFFSET_BITS=64")
+
+ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
+
+MESSAGE("### CMAKE_SYSTEM_VERSION :: ${CMAKE_SYSTEM_VERSION} ###")
+#START_PUBLIC_REMOVED_STRING
+if("${CMAKE_SYSTEM_VERSION}" STREQUAL "arm" OR "${CMAKE_SYSTEM_VERSION}" STREQUAL "armv7l")
+ADD_DEFINITIONS("-D__ARM__")
+TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} -lstdc++ -lm -ldl)
+
+else()
+#END_START_PUBLIC_REMOVED_STRING
+TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} -lm -ldl)
+#START_PUBLIC_REMOVED_STRING
+endif()
+SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES INSTALL_RPATH ${LIBDIR})
+#END_START_PUBLIC_REMOVED_STRING
+
+ADD_CUSTOM_TARGET(mp-custom-winset-style.edj
+ COMMAND edje_cc -no-save -id ${CMAKE_CURRENT_SOURCE_DIR}/images/music_player -sd ${CMAKE_CURRENT_SOURCE_DIR}/images/sounds
+ ${CMAKE_SOURCE_DIR}/res/edje/mp-custom-winset-style.edc ${CMAKE_BINARY_DIR}/res/edje/mp-custom-winset-style.edj
+ DEPENDS ${CMAKE_SOURCE_DIR}/res/edje/mp-custom-winset-style.edc
+)
+ADD_DEPENDENCIES(${PROJECT_NAME} mp-custom-winset-style.edj)
+
+ADD_CUSTOM_TARGET(mp-library.edj
+ COMMAND edje_cc -no-save -id ${CMAKE_CURRENT_SOURCE_DIR}/images/music_player
+ ${CMAKE_SOURCE_DIR}/res/edje/mp-library.edc ${CMAKE_BINARY_DIR}/res/edje/mp-library.edj
+ DEPENDS ${CMAKE_SOURCE_DIR}/res/edje/mp-library.edc
+)
+ADD_DEPENDENCIES(${PROJECT_NAME} mp-library.edj)
+
+ADD_CUSTOM_TARGET(music.edj
+ COMMAND edje_cc -no-save -id ${CMAKE_CURRENT_SOURCE_DIR}/images/music_player -sd ${CMAKE_CURRENT_SOURCE_DIR}/images/sounds
+ ${CMAKE_SOURCE_DIR}/res/edje/music.edc ${CMAKE_BINARY_DIR}/res/edje/music.edj
+ DEPENDS ${CMAKE_SOURCE_DIR}/res/edje/music.edc
+)
+ADD_DEPENDENCIES(${PROJECT_NAME} music.edj)
+
+ADD_CUSTOM_TARGET(mp-minicontroller.edj
+ COMMAND edje_cc -no-save -id ${CMAKE_CURRENT_SOURCE_DIR}/images/music_player -sd ${CMAKE_CURRENT_SOURCE_DIR}/images/sounds
+ ${CMAKE_SOURCE_DIR}/res/edje/mp-minicontroller.edc ${CMAKE_BINARY_DIR}/res/edje/mp-minicontroller.edj
+ DEPENDS ${CMAKE_SOURCE_DIR}/res/edje/mp-minicontroller.edc
+)
+ADD_DEPENDENCIES(${PROJECT_NAME} mp-minicontroller.edj)
+
+ADD_CUSTOM_TARGET(mp-lockscreenmini.edj
+ COMMAND edje_cc -no-save -id ${CMAKE_CURRENT_SOURCE_DIR}/images/music_player -sd ${CMAKE_CURRENT_SOURCE_DIR}/images/sounds
+ ${CMAKE_SOURCE_DIR}/res/edje/mp-lockscreenmini.edc ${CMAKE_BINARY_DIR}/res/edje/mp-lockscreenmini.edj
+ DEPENDS ${CMAKE_SOURCE_DIR}/res/edje/mp-lockscreenmini.edc
+)
+ADD_DEPENDENCIES(${PROJECT_NAME} mp-lockscreenmini.edj)
+
+ADD_CUSTOM_TARGET(mp-images.edj
+ COMMAND edje_cc -no-save -id ${CMAKE_CURRENT_SOURCE_DIR}/images/music_player
+ ${CMAKE_SOURCE_DIR}/res/edje/mp-images.edc ${CMAKE_BINARY_DIR}/res/edje/mp-images.edj
+ DEPENDS ${CMAKE_SOURCE_DIR}/res/edje/mp-images.edc
+)
+ADD_DEPENDENCIES(${PROJECT_NAME} mp-images.edj)
+
+ADD_CUSTOM_TARGET(mp-fake-effect.edj
+ COMMAND edje_cc -no-save -id ${CMAKE_CURRENT_SOURCE_DIR}/images/music_player
+ ${CMAKE_SOURCE_DIR}/res/edje/mp-fake-effect.edc ${CMAKE_BINARY_DIR}/res/edje/mp-fake-effect.edj
+ DEPENDS ${CMAKE_SOURCE_DIR}/res/edje/mp-fake-effect.edc
+)
+ADD_DEPENDENCIES(${PROJECT_NAME} mp-fake-effect.edj)
+
+ADD_DEFINITIONS("-DPREFIX=\"${PREFIX}\"")
+ADD_DEFINITIONS("-DRESDIR=\"${RESDIR}\"")
+ADD_DEFINITIONS("-DDATADIR=\"${DATADIR}\"")
+ADD_DEFINITIONS("-DLOCALEDIR=\"${LOCALEDIR}\"")
+ADD_DEFINITIONS("-DICONDIR=\"${ICONDIR}\"")
+ADD_DEFINITIONS("-DEDJDIR=\"${EDJDIR}\"")
+ADD_DEFINITIONS("-DLIBDIR=\"${LIBDIR}\"")
+
+
+INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${BINDIR})
+INSTALL(DIRECTORY DESTINATION ${DATADIR})
+INSTALL(DIRECTORY DESTINATION ${PREFIX}/shared/data)
+INSTALL(FILES ${CMAKE_BINARY_DIR}/res/edje/mp-custom-winset-style.edj DESTINATION ${EDJDIR})
+INSTALL(FILES ${CMAKE_BINARY_DIR}/res/edje/music.edj DESTINATION ${EDJDIR})
+INSTALL(FILES ${CMAKE_BINARY_DIR}/res/edje/mp-library.edj DESTINATION ${EDJDIR})
+INSTALL(FILES ${CMAKE_BINARY_DIR}/res/edje/mp-minicontroller.edj DESTINATION ${EDJDIR})
+INSTALL(FILES ${CMAKE_BINARY_DIR}/res/edje/mp-lockscreenmini.edj DESTINATION ${EDJDIR})
+INSTALL(FILES ${CMAKE_BINARY_DIR}/res/edje/mp-images.edj DESTINATION ${EDJDIR})
+INSTALL(FILES ${CMAKE_BINARY_DIR}/res/edje/mp-library.edj DESTINATION ${EDJDIR})
+INSTALL(FILES ${CMAKE_BINARY_DIR}/res/edje/mp-fake-effect.edj DESTINATION /usr/apps/${PKG_NAME}/shared/res)
+
+# install desktop file & icon
+INSTALL(FILES ${CMAKE_SOURCE_DIR}/data/${PKG_NAME}.png DESTINATION ${CMAKE_DESKTOP_ICON_DIR})
+INSTALL(FILES ${CMAKE_SOURCE_DIR}/data/preview_music_4x2.png DESTINATION ${CMAKE_DESKTOP_ICON_DIR})
+INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/shared/res/target_images/music_player DESTINATION ${RESDIR}/images)
+INSTALL(FILES ${CMAKE_SOURCE_DIR}/data/portrait.jpg DESTINATION ${SHAREDDIR}/res)
+INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/shared/res/shared_images DESTINATION ${SHAREDDIR}/res)
+INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/changeable_GUI DESTINATION ${SHAREDDIR}/res)
+
+#install xml file
+INSTALL(FILES ${CMAKE_SOURCE_DIR}/${PKG_NAME}.xml DESTINATION ${SHARE_DIR})
+
+# Share APP mo files with music chooser
+SET(MC_MUSIC_PROJECT_NAME org.tizen.music-chooser)
+
+# i18n
+ADD_SUBDIRECTORY(res/po)
+
+# Sound Player
+ADD_SUBDIRECTORY(sound-player)
+
+#START_PUBLIC_REMOVED_STRING
+# music-chooser
+ADD_SUBDIRECTORY(music-chooser)
+
+# setting
+ADD_SUBDIRECTORY(src/setting)
+TARGET_LINK_LIBRARIES(${PROJECT_NAME} -L${CMAKE_BINARY_DIR}/src/setting -lsetting-music-player)
+#END_START_PUBLIC_REMOVED_STRING
+
+# music-player widget
+ADD_SUBDIRECTORY(widget)
--- /dev/null
+Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ 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.
\ No newline at end of file
--- /dev/null
+Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+Except as noted, this software is licensed under Apache License, Version 2.
+Please, see the LICENSE file for Apache License terms and conditions.
\ No newline at end of file
--- /dev/null
+music-chooser
+sound-player
+widget
+./
--- /dev/null
+
+# Add pre/post build process
+PREBUILD_DESC =
+PREBUILD_COMMAND =
+POSTBUILD_DESC =
+POSTBUILD_COMMAND =
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<ChangeableColorTable num="1">
+ <Theme style="Dark">
+ <ChangeableColorInfo id="AO001" inputColor="-" hue="" saturation="" value="" alpha="" />
+ <ChangeableColorInfo id="AO002E01" inputColor="-" hue="" saturation="" value="" alpha="" />
+ <ChangeableColorInfo id="AO002F" inputColor="1" hue="" saturation="" value="" alpha="" />
+ <ChangeableColorInfo id="AO002P" inputColor="-" hue="" saturation="" value="" alpha="" />
+ <ChangeableColorInfo id="AO002S" inputColor="-" hue="" saturation="" value="" alpha="" />
+ <ChangeableColorInfo id="AO002D" inputColor="-" hue="" saturation="" value="" alpha="" />
+ <ChangeableColorInfo id="AO003E01" inputColor="-" hue="" saturation="" value="" alpha="" />
+ <ChangeableColorInfo id="AO003F" inputColor="1" hue="" saturation="" value="" alpha="" />
+ <ChangeableColorInfo id="AO003P" inputColor="-" hue="" saturation="" value="" alpha="" />
+ <ChangeableColorInfo id="AO003S" inputColor="1" hue="" saturation="" value="" alpha="" />
+ <ChangeableColorInfo id="AO003D" inputColor="-" hue="" saturation="" value="" alpha="" />
+ <ChangeableColorInfo id="AO002E02" inputColor="-" hue="" saturation="" value="" alpha="" />
+ <ChangeableColorInfo id="AO003E02" inputColor="-" hue="" saturation="" value="" alpha="" />
+ <ChangeableColorInfo id="AO006" inputColor="-" hue="" saturation="" value="" alpha="" />
+ <ChangeableColorInfo id="AO006D" inputColor="-" hue="" saturation="" value="" alpha="" />
+ <ChangeableColorInfo id="AO004P" inputColor="1" hue="" saturation="" value="" alpha="" />
+ <ChangeableColorInfo id="AO004D" inputColor="-" hue="" saturation="" value="" alpha="" />
+ <ChangeableColorInfo id="AO004F" inputColor="1" hue="" saturation="" value="" alpha="" />
+ <ChangeableColorInfo id="AO005" inputColor="1" hue="" saturation="" value="" alpha="" />
+ <ChangeableColorInfo id="ATO001" inputColor="-" hue="" saturation="" value="" alpha="" />
+ <ChangeableColorInfo id="ATO002" inputColor="-" hue="" saturation="" value="" alpha="" />
+ <ChangeableColorInfo id="ATO006" inputColor="1" hue="" saturation="" value="" alpha="" />
+ <ChangeableColorInfo id="ATO007" inputColor="-" hue="" saturation="" value="" alpha="" />
+ <ChangeableColorInfo id="ATO013" inputColor="-" hue="" saturation="" value="" alpha="" />
+ <ChangeableColorInfo id="ATO008" inputColor="-" hue="" saturation="" value="" alpha="" />
+ <ChangeableColorInfo id="ATO009" inputColor="1" hue="" saturation="" value="" alpha="" />
+ <ChangeableColorInfo id="ATO010" inputColor="1" hue="" saturation="" value="" alpha="" />
+ <ChangeableColorInfo id="ATO011" inputColor="-" hue="" saturation="" value="" alpha="" />
+ <ChangeableColorInfo id="ATO012" inputColor="1" hue="" saturation="" value="" alpha="" />
+ <ChangeableColorInfo id="ATO011" inputColor="1" hue="" saturation="" value="" alpha="" />
+ </Theme>
+ <Theme style="Light">
+ <ChangeableColorInfo id="AO001" inputColor="-" hue="0" saturation="0" value="16" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
+ <ChangeableColorInfo id="AO002E01" inputColor="-" hue="0" saturation="0" value="0" alpha="60" fixedHue="true" fixedSaturation="true" fixedValue="true" />
+ <ChangeableColorInfo id="AO002F" inputColor="1" hue="4" saturation="-66" value="-38" alpha="100" />
+ <ChangeableColorInfo id="AO002P" inputColor="-" hue="199" saturation="68" value="81" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
+ <ChangeableColorInfo id="AO002S" inputColor="-" hue="0" saturation="0" value="6" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
+ <ChangeableColorInfo id="AO002D" inputColor="-" hue="0" saturation="0" value="0" alpha="60" fixedHue="true" fixedSaturation="true" fixedValue="true" />
+ <ChangeableColorInfo id="AO003E01" inputColor="-" hue="0" saturation="0" value="100" alpha="50" fixedHue="true" fixedSaturation="true" fixedValue="true" />
+ <ChangeableColorInfo id="AO003F" inputColor="1" hue="4" saturation="3" value="39" alpha="100" />
+ <ChangeableColorInfo id="AO003P" inputColor="-" hue="199" saturation="68" value="81" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
+ <ChangeableColorInfo id="AO003S" inputColor="1" hue="0" saturation="0" value="0" alpha="50" />
+ <ChangeableColorInfo id="AO003D" inputColor="-" hue="0" saturation="0" value="100" alpha="20" fixedHue="true" fixedSaturation="true" fixedValue="true" />
+ <ChangeableColorInfo id="AO002E02" inputColor="-" hue="199" saturation="86" value="58" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
+ <ChangeableColorInfo id="AO003E02" inputColor="-" hue="0" saturation="0" value="0" alpha="50" fixedHue="true" fixedSaturation="true" fixedValue="true" />
+ <ChangeableColorInfo id="AO006" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
+ <ChangeableColorInfo id="AO006D" inputColor="-" hue="0" saturation="0" value="100" alpha="50" fixedHue="true" fixedSaturation="true" fixedValue="true" />
+ <ChangeableColorInfo id="AO004P" inputColor="1" hue="2" saturation="14" value="33" alpha="100" />
+ <ChangeableColorInfo id="AO004D" inputColor="-" hue="0" saturation="0" value="100" alpha="30" fixedHue="true" fixedSaturation="true" fixedValue="true" />
+ <ChangeableColorInfo id="AO004F" inputColor="1" hue="4" saturation="3" value="39" alpha="100" />
+ <ChangeableColorInfo id="AO005" inputColor="1" hue="0" saturation="0" value="0" alpha="100" />
+ <ChangeableColorInfo id="ATO001" inputColor="-" hue="0" saturation="0" value="96" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
+ <ChangeableColorInfo id="ATO002" inputColor="-" hue="0" saturation="0" value="0" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
+ <ChangeableColorInfo id="ATO006" inputColor="1" hue="2" saturation="11" value="20" alpha="100" />
+ <ChangeableColorInfo id="ATO007" inputColor="-" hue="0" saturation="0" value="96" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
+ <ChangeableColorInfo id="ATO013" inputColor="-" hue="0" saturation="0" value="0" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
+ <ChangeableColorInfo id="ATO008" inputColor="-" hue="0" saturation="0" value="96" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
+ <ChangeableColorInfo id="ATO009" inputColor="1" hue="0" saturation="0" value="0" alpha="100" />
+ <ChangeableColorInfo id="ATO010" inputColor="1" hue="0" saturation="0" value="0" alpha="100" />
+ <ChangeableColorInfo id="ATO011" inputColor="-" hue="0" saturation="0" value="96" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
+ <ChangeableColorInfo id="ATO012" inputColor="1" hue="0" saturation="0" value="0" alpha="100" />
+ <ChangeableColorInfo id="ATO011" inputColor="1" hue="0" saturation="0" value="0" alpha="100" />
+ <!-- copy from quick panel color table, use for minicontrol, do not delete!!!!-->
+ <ChangeableColorInfo id="AO009" inputColor="1" hue="1" saturation="-77" value="4" alpha="100" />
+ <ChangeableColorInfo id="AO010" inputColor="-" hue="0" saturation="85" value="88" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
+ <ChangeableColorInfo id="AO011L1" inputColor="1" hue="-19" saturation="-84" value="38" alpha="100" />
+ <ChangeableColorInfo id="AO011L1P" inputColor="1" hue="-1" saturation="-69" value="29" alpha="100" />
+ <ChangeableColorInfo id="AO011L1F" inputColor="1" hue="-19" saturation="-84" value="38" alpha="5" />
+ <ChangeableColorInfo id="AO011L2" inputColor="1" hue="0" saturation="0" value="58" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
+ <ChangeableColorInfo id="AO011L2P" inputColor="1" hue="0" saturation="0" value="58" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true"/>
+ <ChangeableColorInfo id="AO011L2D" inputColor="1" hue="1" saturation="-77" value="4" alpha="30" />
+ <ChangeableColorInfo id="AO011L2F" inputColor="1" hue="5" saturation="11" value="18" alpha="100" />
+ <ChangeableColorInfo id="AO011L3" inputColor="1" hue="0" saturation="0" value="19" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true"/>
+ <ChangeableColorInfo id="AO011L3P" inputColor="1" hue="0" saturation="0" value="19" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true"/>
+ <ChangeableColorInfo id="AO011L3D" inputColor="1" hue="6" saturation="-69" value="-19" alpha="30" />
+ <!-- copy from home screen table, use for dbox, do not delete!!!!-->
+ <ChangeableColorInfo id="HATO005" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
+ <ChangeableColorInfo id="HATO006" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
+ <ChangeableColorInfo id="HATO008" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
+ <ChangeableColorInfo id="HATO009" inputColor="-" hue="0" saturation="0" value="100" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
+ </Theme>
+</ChangeableColorTable>
+<ChangeableColorTable num="2">
+ <Theme style="Dark">
+ <ChangeableColorInfo id="AO001" inputColor="2" hue="1" saturation="7" value="-11" alpha="100" />
+ <ChangeableColorInfo id="AO002P" inputColor="K" hue="0" saturation="0" value="0" alpha="70" />
+ <ChangeableColorInfo id="AO003E01" inputColor="2" hue="0" saturation="9" value="2" alpha="100" />
+ <ChangeableColorInfo id="ATO002" inputColor="W" hue="0" saturation="0" value="-33" alpha="100" />
+ <ChangeableColorInfo id="ATO006" inputColor="3" hue="3" saturation="3" value="14" alpha="100" />
+ <ChangeableColorInfo id="ATO007" inputColor="3" hue="3" saturation="3" value="18" alpha="40" />
+ <ChangeableColorInfo id="ATO008" inputColor="3" hue="3" saturation="3" value="18" alpha="40" />
+ <ChangeableColorInfo id="ATO009" inputColor="3" hue="3" saturation="3" value="18" alpha="40" />
+ </Theme>
+ <Theme style="Light">
+ <ChangeableColorInfo id="AO001" inputColor="2" hue="-3" saturation="4" value="97" alpha="100" fixedSaturation="true" fixedValue="true" />
+ <ChangeableColorInfo id="AO002P" inputColor="K" hue="0" saturation="0" value="3" alpha="70" fixedHue="true" fixedSaturation="true" fixedValue="true" />
+ <ChangeableColorInfo id="AO003E01" inputColor="2" hue="0" saturation="-18" value="68" alpha="100" />
+ <ChangeableColorInfo id="ATO002" inputColor="W" hue="0" saturation="0" value="-46" alpha="100" />
+ <ChangeableColorInfo id="ATO006" inputColor="3" hue="4" saturation="12" value="3" alpha="100" />
+ <ChangeableColorInfo id="ATO007" inputColor="3" hue="4" saturation="12" value="3" alpha="40" />
+ <ChangeableColorInfo id="ATO008" inputColor="3" hue="4" saturation="12" value="3" alpha="40" />
+ <ChangeableColorInfo id="ATO009" inputColor="3" hue="4" saturation="12" value="3" alpha="40" />
+ </Theme>
+</ChangeableColorTable>
+<ChangeableColorTable num="3">
+ <Theme style="Dark">
+ <ChangeableColorInfo id="AO001" inputColor="2" hue="0" saturation="-5" value="-20" alpha="100" minValue="25" />
+ <ChangeableColorInfo id="AO002P" inputColor="K" hue="0" saturation="0" value="0" alpha="70" />
+ <ChangeableColorInfo id="AO003E01" inputColor="2" hue="1" saturation="13" value="-3" alpha="100" />
+ <ChangeableColorInfo id="ATO002" inputColor="W" hue="0" saturation="0" value="-33" alpha="100" />
+ <ChangeableColorInfo id="ATO006" inputColor="1" hue="3" saturation="-4" value="5" alpha="100" />
+ <ChangeableColorInfo id="ATO007" inputColor="1" hue="-12" saturation="0" value="-20" alpha="40" />
+ <ChangeableColorInfo id="ATO008" inputColor="1" hue="-12" saturation="0" value="-20" alpha="40" />
+ <ChangeableColorInfo id="ATO009" inputColor="1" hue="-12" saturation="0" value="-20" alpha="40" />
+ </Theme>
+ <Theme style="Light">
+ <ChangeableColorInfo id="AO001" inputColor="2" hue="0" saturation="0" value="96" alpha="100" fixedHue="true" fixedSaturation="true" fixedValue="true" />
+ <ChangeableColorInfo id="AO002P" inputColor="K" hue="0" saturation="0" value="3" alpha="70" fixedHue="true" fixedSaturation="true" fixedValue="true" />
+ <ChangeableColorInfo id="AO003E01" inputColor="2" hue="0" saturation="8" value="100" alpha="100" fixedSaturation="true" fixedValue="true" />
+ <ChangeableColorInfo id="ATO002" inputColor="W" hue="0" saturation="0" value="-46" alpha="100" />
+ <ChangeableColorInfo id="ATO006" inputColor="1" hue="3" saturation="15" value="-8" alpha="100" />
+ <ChangeableColorInfo id="ATO007" inputColor="1" hue="0" saturation="20" value="-15" alpha="40" />
+ <ChangeableColorInfo id="ATO008" inputColor="1" hue="0" saturation="20" value="-15" alpha="40" />
+ <ChangeableColorInfo id="ATO009" inputColor="1" hue="0" saturation="20" value="-15" alpha="40" />
+ </Theme>
+</ChangeableColorTable>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<FontInfoTable>
+ <FontInfo id="ATO001" style="R" size="18" />
+ <FontInfo id="ATO002" style="R" size="24" />
+ <FontInfo id="ATO006" style="M" size="21" />
+ <FontInfo id="ATO007" style="R" size="21" />
+ <FontInfo id="ATO013" style="R" size="28" />
+ <FontInfo id="ATO008" style="R" size="24" />
+ <FontInfo id="ATO009" style="R" size="30" />
+ <FontInfo id="ATO010" style="R" size="24" />
+ <FontInfo id="ATO011" style="R" size="24" />
+ <FontInfo id="ATO012" style="R" size="24" />
+ <FontInfo id="ATO011" style="R" size="24" />
+</FontInfoTable>
--- /dev/null
+(^( )*music-player:).*
+music player Shortcut Internal
\ No newline at end of file
--- /dev/null
+Name=Music
+Name[en_US]=Music
+Name[nl_NL]=Muziek
+Name[de_DE]=Musik
+Name[zh_HK]=音樂
+Name[zh_CN]=音乐
+Name[ru_RU]=Музыка
+Name[zh_TW]=音樂
+Name[ja_JP]=ミュージック
+Name[es_ES]=Música
+Name[el_GR]=Μουσική
+Name[it_IT]=Musica
+Name[tr_TR]=Müzik
+Name[pt_PT]=Música
+Name[fr_FR]=Musique
+Name[ko_KR]=음악
+Type=Application
+Exec=${PREFIX}/bin/music-player
+Icon=com.samsung.music-player.png
+Network=False
+Version=0.1.0
+Comment=music
+X-Tizen-TaskManage=True
+X-Tizen-Multiple=False
+X-Tizen-Removable=False
+MimeType=music-player.uri;
+Nodisplay=False
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+#ifndef __MP_COMMON_DEFS_H__
+#define __MP_COMMON_DEFS_H__
+
+#include <storage/storage.h>
+#include <glib.h>
+#include "mp-player-debug.h"
+#include "mp-define.h"
+
+#define MP_B_PATH "path"
+#define MP_MM_KEY "multimedia_key"
+#define MP_PLAY_RECENT "play_recent"
+#define MP_REQ_TYPE "request_type"
+#define MP_HOST_TYPE "host_type"
+
+#ifdef MP_SOUND_PLAYER
+#define IS_TEMP_FILE "Menu State"
+#define APP_EXIT_STATUS "App Exit"
+#endif
+
+#define MP_SAMSUNG_LINK_ARTIST "http://tizen.org/appcontrol/data/artist"
+
+// download notification (store)
+#define MP_DOWNLOAD_NOTIFICATION "download_notification"
+#define MH_DOWNLOAD_QUEUE "download_queue"
+#define MP_MY_MUSIC "my_music"
+
+//ug-music-player request type
+#define MC_REQ_TYPE_KEY MP_REQ_TYPE
+
+#define MC_REQ_SHORT_ALBUM_VAL "SC_Album"
+#define MC_REQ_SHORT_ARTIST_VAL "SC_Artist"
+#define MC_REQ_SHORT_PLAYLIST_VAL "SC_Playlist"
+#define MC_REQ_SELECT_SINGLE "Select"
+#define MC_REQ_SELECT_SINGLE_RINGTONE "SelectRingtone"
+#define MC_REQ_SELECT_MULTI "MultipleSelect"
+#define MC_REQ_VOICE_CLIP "voice_clip"
+#define MC_REQ_GROUP_PLAY "group_play"
+
+
+#define MP_NOWPLAYING_LIST_INDEX "NowPlayingListIndex"
+#define MP_NOWPLAYING_LIST_URIS "NowPlayingListURIs"
+#define MP_REFRESH_PLAYLIST "RefreshPlaylist"
+
+//ug-music-player host app type
+#define MC_REQ_SHOW_RECOMMENDED_KEY MP_HOST_TYPE
+
+#define MC_SHOW_VAL "show"
+#define MC_HIDE_VAL "hide"
+
+typedef enum {
+ DEVICE,
+ MMC
+} storage_mode_e;
+
+//Number of Recently Added Tracks that need to be shown in Tracks/Album/Artist View
+#define RECENTLY_ADDED_TRACKS_MAX_COUNT 3
+#define RECENTLY_ADDED_PART_NAME_MAX_SIZE 20
+
+//1 Do not change default thumbnail path. it's shared by other apps
+#define DEFAULT_THUMBNAIL "default_album_art_120.png"
+#define DEFAULT_THUMBNAIL_MIDDLE "default_albumart_middle.png"
+#define DEFAULT_THUMBNAIL_SMALL "default_albumart_small.png"
+#define DEFAULT_PLAYER_THUMBNAIL "default_album_art_480.png"
+#define BROKEN_ALBUMART_IMAGE_PATH "/opt/usr/share/media/.thumb/thumb_default.png"
+
+#define RECENTLY_ADDED_PLAY_ICON "alltracks_play_icon.png"
+#define RECENTLY_ADDED_PAUSE_ICON "alltracks_pause_icon.png"
+
+#define PLAYLIST_CREATE_THUMBNAIL "T02_playlist_thumbnail_created.png"
+//for shortcut
+typedef enum {
+ MP_ADD_TO_HOME_SHORTCUT_TYPE_NONE,
+ MP_ADD_TO_HOME_SHORTCUT_TYPE_SYS_PLAYLIST,
+ MP_ADD_TO_HOME_SHORTCUT_TYPE_USER_PLAYLIST,
+ MP_ADD_TO_HOME_SHORTCUT_TYPE_ALBUM,
+ MP_ADD_TO_HOME_SHORTCUT_TYPE_NUM,
+} MpShortcutType_e;
+
+#define MP_ADD_TO_HOME_SHORTCUT_PREFIX "_Shortcut:MusicPlayer://"
+#define MP_ADD_TO_HOME_SHORTCUT_FIELD_DELIMETER "|"
+#define MP_ADD_TO_HOME_SHORTCUT_FIELD_NUM 4
+
+
+//for livebox play, pause, next, prev events
+#define MP_MESSAGE_PORT_LIVEBOX "messageport_livebox"
+#define MP_LB_EVENT_KEY "LiveboxEvent"
+#define MP_LB_EVENT_NEXT_PRESSED "OnLBNextPress"
+#define MP_LB_EVENT_NEXT_RELEASED "OnLBNextRelease"
+#define MP_LB_EVENT_PREV_PRESSED "OnLBPreviousPress"
+#define MP_LB_EVENT_PREV_RELEASED "OnLBPreviousRelease"
+#define MP_LB_EVENT_PLAY_CLICKED "OnLBPlayClicked"
+#define MP_LB_EVENT_PAUSE_CLICKED "OnLBPauseClicked"
+#define MP_LB_EVENT_SHUFFLE_ON_CLICKED "OnLBShuffleOnClicked"
+#define MP_LB_EVENT_SHUFFLE_OFF_CLICKED "OnLBShuffleOffClicked"
+#define MP_LB_EVENT_REPEAT_ALL_CLICKED "OnLBRepeatAllClicked"
+#define MP_LB_EVENT_REPEAT_1_CLICKED "OnLBRepeat1Clicked"
+#define MP_LB_EVENT_REPEAT_A_CLICKED "OnLBRepeatAClicked"
+
+//for support shortcut and launching from search app.
+#define MP_REQ_TYPE_SHORTCUT_TYPE "shortcut_type"
+#define MP_SHORTCUT_ARTIST "artist"
+#define MP_SHORTCUT_ALBUM "album"
+#define MP_SHORTCUT_PLAYLIST "playlist"
+
+#define MP_REQ_TYPE_SHORTCUT_DESC "shortcut_desc"
+
+//for supprot nowplaying list in PD
+#define MP_NOWPLAYING_LIST_DATA "MpPlayingList.dat"
+
+//for supprot group list in PD
+#define MP_GROUP_LIST_DATA "MpGroupList.dat"
+
+#define MP_NOWPLAYING_INI_FILE_NAME "now_playing.ini"
+
+#define MP_AUTO_PLAYLIST_ITEM_MAX 50
+
+#define FACTORY_MUSIC "/opt/usr/media/Sounds/Over the horizon.mp3"
+
+static int device_id = -1;
+static int mmc_id = -1;
+
+static void mp_lower_string(char *str)
+{
+ int i = 0;
+ while (str[i] != '\0') {
+ if (str[i] >= 'A' && str[i] <= 'Z') {
+ str[i] = str[i] + 32;
+ }
+ i++;
+ }
+}
+
+static bool __mp_get_all_supported_storage_cb(int storageId,
+ storage_type_e type,
+ storage_state_e state,
+ const char *path,
+ void *userData)
+{
+ char *temp_path = g_strdup(path);
+
+ if (!temp_path) {
+ ERROR_TRACE("Path is NULL");
+ return false;
+ }
+
+ mp_lower_string(temp_path);
+ if (type == STORAGE_TYPE_EXTERNAL && strstr(temp_path, "sdcard")) {
+ mmc_id = storageId;
+ }
+ if (type == STORAGE_TYPE_INTERNAL) {
+ device_id = storageId;
+ }
+ IF_G_FREE(temp_path);
+ return true;
+}
+
+static inline char *Get_Root_Path(int storage_type, storage_mode_e smode)
+{
+ char *path = NULL;
+ int error_code =
+ storage_foreach_device_supported(__mp_get_all_supported_storage_cb,
+ NULL);
+ if (error_code != STORAGE_ERROR_NONE) {
+ ERROR_TRACE("failed to get storage Id");
+ return NULL;
+ }
+ if (smode == DEVICE && device_id != -1) {
+ storage_get_root_directory(device_id, &path);
+ } else if (smode == MMC && mmc_id != -1) {
+ storage_get_root_directory(mmc_id, &path);
+ } else {
+ ERROR_TRACE("Invalid storage Id");
+ return NULL;
+ }
+ return path;
+}
+
+#define MP_PHONE_ROOT_PATH Get_Root_Path(STORAGE_TYPE_INTERNAL, DEVICE);
+#define MP_MMC_ROOT_PATH Get_Root_Path(STORAGE_TYPE_EXTERNAL, MMC)
+#define CONTROLLER_REW_SOURCE "control_previous"
+#define CONTROLLER_FF_SOURCE "control_next"
+
+#define PLAY_TIME_ARGS(t) \
+ (((int)(t)) / 60) % 60, \
+ ((int)(t)) % 60
+#define PLAY_TIME_FORMAT "02u:%02u"
+
+#define MUSIC_TIME_ARGS(t) \
+ ((int)(t)) / (3600), \
+ (((int)(t)) / 60) % 60, \
+ ((int)(t)) % 60
+#define MUSIC_TIME_FORMAT "02u:%02u:%02u"
+
+#endif
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+//2 icons directly installed to res/image
+#define ICON_DIRECTORY SHAREDDIR"/res/shared_images"
+#define MORE_BTN_DIR "more icon"
+#define STORAGE_TYPE_DIR "storage_type"
+
+#define MP_LITE_PAUSE_ICON "lite/play_list_control_pause.png"
+#define MP_LITE_PLAY_ICON "lite/play_list_control_play.png"
+#define MP_LITE_SHUFFLE_ICON "lite/Icon/play_icon_shuffle.png"
+
+#define NOCONTENT_MULTIMEDIA "T02_Nocontents_multimedia.png"
+
+#define THUMBNAIL_MOST_PLAYED ICON_DIRECTORY"/T02_playlist_most_played.png"
+#define THUMBNAIL_RECENTLY_PLAYED ICON_DIRECTORY"/T02_playlist_recently_played.png"
+#define THUMBNAIL_RECENTLY_ADDED ICON_DIRECTORY"/T02_playlist_recently_added.png"
+#define THUMBNAIL_QUICK_LIST ICON_DIRECTORY"/T02_playlist_starred.png"
+
+#define LIVE_THUMBNAIL_MOST_PLAYED "2x2_music_yellow.png"
+#define LIVE_THUMBNAIL_RECENTLY_PLAYED "2x2_music_green.png"
+#define LIVE_THUMBNAIL_RECENTLY_ADDED "2x2_music_blue.png"
+#define LIVE_THUMBNAIL_QUICK_LIST "2x2_music_red.png"
+
+#define LIVE_ICON_MOST_PLAYED "music_icon_most.png"
+#define LIVE_ICON_RECENTLY_PLAYED "music_icon_recently_play.png"
+#define LIVE_ICON_RECENTLY_ADDED "music_icon_recently_add.png"
+#define LIVE_ICON_QUICK_LIST "music_icon_favourites.png"
+
+#define MP_ICON_ALLSHARE_FOLDER "myfile_icon_folder.png"
+
+
+//2 icons included in edj file
+#define MP_ICON_STORAGE_PHONE STORAGE_TYPE_DIR"/T02_phone_02.png"
+#define MP_ICON_STORAGE_MEMORY STORAGE_TYPE_DIR"/play_list_ic_folder.png"
+#define MP_ICON_STORAGE_EXTERNAL STORAGE_TYPE_DIR"/T02_external_storage_02.png"
+#define MP_ICON_SQUARE_CELL_NORMAL "square/T02_square_cell_nor.png"
+#define MP_ICON_SQUARE_CELL_SELECTED "square/T02_square_cell_press_bg.png"
+#define MP_ICON_SQUARE_CELL_NORMAL_LD "square/T02_square_cell_nor_h.png"
+#define MP_ICON_SQUARE_CELL_SELECTED_LD "square/T02_square_cell_press_effect_h.png"
+#define MP_ICON_VOLUME_MIN "T02_volume_icon_01.png"
+#define MP_ICON_VOLUME_MAX "T02_volume_icon_02.png"
+
+#define MP_ICON_HEADSET_PATH "T02_icon_soundPath.png"
+#define MP_ICON_SPEAKER_PATH "T02_icon_speaker.png"
+#define MP_ICON_BT_HEADSET_PATH "player-view/T02_icon_bluetooth_headset.png"
+
+#define MP_ICON_HDMI "T02_icon_speaker.png"
+#define MP_ICON_MIRRORING "T02_icon_speaker.png"
+#define MP_ICON_USB_AUDIOE "T02_icon_speaker.png"
+
+#define MP_ICON_NEARBY_DMR "player-view/T01_2_icon_Near_by_device.png"
+#define MP_ICON_NEARBY_DMR_PRESS "player-view/T01_2_icon_Near_by_device_press.png"
+#define MP_ICON_MINI_PLAYER "mini_app/T02_control_icon_apps.png"
+//#define MP_ICON_VIDEO_PLAY "T02_Video_play.png"
+//#define MP_ICON_TURNOVER_01 "turn_over/B15_turn_over_01.png"
+//#define MP_ICON_TURNOVER_02 "turn_over/B15_turn_over_02.png"
+//#define MP_ICON_TURNOVER_03 "turn_over/B15_turn_over_03.png"
+#define MP_ICON_PLAY_LIST_PATH "lite/player_icon_play_list_normal.png"
+#define MP_ICON_SELECT_ALL "00_icon_edit.png"
+#define MP_ICON_SEARCH "T02_icon_search.png"
+#define MP_ICON_PLUS "T02_icon_plus.png"
+#define MP_ICON_FIND_TAG "T02_icon_find_tag.png"
+#define MP_ICON_PAGE_INDEX_ON "T02_rich_info_page_on.png"
+#define MP_ICON_PAGE_INDEX_OFF "T02_rich_info_page_off.png"
+#define MP_ICON_RECENTLY_ADDED "T02_all_no_image_recently_added.png"
+#define MP_ICON_STARRED_SONGS "T02_all_no_image_starred_songs.png"
+#define MP_ICON_MOST_PLAYED "T02_all_no_image_most_played.png"
+#define MP_ICON_CONNECTED_MY_DEVICE "nearby_device/T02_Player_Nearby_device_Mobile.png"
+#define MP_ICON_CONNECTED_TV "nearby_device/T02_Player_Nearby_device_TV.png"
+
+#define MP_ICON_APP_MUSIC "T02_icon_music.png"
+#define MP_ICON_LOCK "music_lock_50x50.png"
+#define MP_ICON_SHUFFLE "lite/player_icon_Shuffle.png"
+#define MP_ICON_BACK "lite/T02_controller_icon_back.png"
+#define MP_ICON_SHUFFLE_PRESS "T02_icon_shuffle_press.png"
+
+
+#define MP_ICON_LANDSCAPE_RECENTLY_ADDED "T02_all_no_image_recently_added_h.png"
+#define MP_ICON_LANDSCAPE_STARRED_SONGS "T02_all_no_image_starred_songs_h.png"
+#define MP_ICON_LANDSCAPE_MOST_PLAYED "T02_all_no_image_most_played_h.png"
+#define MP_ICON_NO_ITEM "T02_music_noitem.png"
+
+#define MP_PLAYER_MORE_BTN_ADD MORE_BTN_DIR"/T02_popup_icon_add.png"
+#define MP_PLAYER_MORE_BTN_ADD_TO_HOME MORE_BTN_DIR"/T02_popup_icon_add_to_home.png"
+#define MP_PLAYER_MORE_BTN_CHANGE_AXIS MORE_BTN_DIR"/T02_popup_icon_change_axis.png"
+#define MP_PLAYER_MORE_BTN_CONN_INFO MORE_BTN_DIR"/T02_popup_icon_connection_info.png"
+#define MP_PLAYER_MORE_BTN_UPDATE_ALBUMART MORE_BTN_DIR"/T02_popup_icon_update_album_art.png"
+#define MP_PLAYER_MORE_BTN_DEVICES MORE_BTN_DIR"/T02_popup_icon_devices.png"
+#define MP_PLAYER_MORE_BTN_DOWNLOAD MORE_BTN_DIR"/T02_popup_icon_download.png"
+#define MP_PLAYER_MORE_BTN_DELETE_IMAGE MORE_BTN_DIR"/T02_popup_icon_delete.png"
+#define MP_PLAYER_MORE_BTN_RENAME_IMAGE MORE_BTN_DIR"/T02_popup_icon_rename.png"
+#define MP_PLAYER_MORE_BTN_ADD_TO_PLAYLSIT_IMAGE MORE_BTN_DIR"/T02_popup_icon_add_playlist.png"
+#define MP_PLAYER_MORE_BTN_CREATE_PLAYLIST_IMAGE MORE_BTN_DIR"/T02_popup_icon_create_playlist.png"
+#define MP_PLAYER_MORE_BTN_DETAIL_IMAGE MORE_BTN_DIR"/T02_popup_icon_detail.png"
+#define MP_PLAYER_MORE_BTN_HOMESYNC_IMAGE MORE_BTN_DIR"/T02_popup_icon_homesync.png"
+#define MP_PLAYER_MORE_MAKE_AVAILABLE_OFFLINE_IMAGE MORE_BTN_DIR"/T02_popup_icon_make_available_offline.png"
+#define MP_PLAYER_MORE_BTN_GROUP_PLAY_IMAGE MORE_BTN_DIR"/T02_popup_icon_play_via_group_play.png"
+#define MP_PLAYER_MORE_BTN_MORE_THUMBNAIL_VIEW_IMAGE MORE_BTN_DIR"/T02_popup_icon_thumbnail_view.png"
+#define MP_PLAYER_MORE_BTN_MORE_LIST_VIEW_IMAGE MORE_BTN_DIR"/T02_popup_icon_list_view.png"
+//#define MP_PLAYER_MORE_BTN_EDIT_IMAGE MORE_BTN_DIR"/T02_popup_icon_edit_image.png"
+#define MP_PLAYER_MORE_BTN_RENAME_IMAGE MORE_BTN_DIR"/T02_popup_icon_rename.png"
+#define MP_PLAYER_MORE_BTN_EDIT MORE_BTN_DIR"/T02_popup_icon_edit.png"
+#define MP_PLAYER_MORE_BTN_FOLDER_VIEW MORE_BTN_DIR"/T02_popup_icon_folder_view.png"
+#define MP_PLAYER_MORE_BTN_GO_TO_LIB MORE_BTN_DIR"/T02_popup_icon_go_to_library.png"
+#define MP_PLAYER_MORE_BTN_HELP MORE_BTN_DIR"/T02_popup_icon_help.png"
+//#define MP_PLAYER_MORE_BTN_HIDE_MUSIC_VIEW MORE_BTN_DIR"/T02_popup_icon_hide_music_view.png"
+#define MP_PLAYER_MORE_BTN_LIB_UPDATE MORE_BTN_DIR"/T02_popup_icon_library_update.png"
+//#define MP_PLAYER_MORE_BTN_MAKE_AVAILABLE_OFFICE MORE_BTN_DIR"/T02_popup_icon_make_available_office.png"
+#define MP_PLAYER_MORE_BTN_SQUARE MORE_BTN_DIR"/T02_popup_icon_music_square.png"
+#define MP_PLAYER_MORE_BTN_OPEN_PLAYLIST MORE_BTN_DIR"/T02_popup_icon_open_playlist.png"
+#define MP_PLAYER_MORE_BTN_PLAYLIST MORE_BTN_DIR"/T02_popup_icon_playlist.png"
+#define MP_PLAYER_MORE_BTN_REFRESH MORE_BTN_DIR"/T02_popup_icon_refresh.png"
+#define MP_PLAYER_MORE_BTN_SEARCH MORE_BTN_DIR"/T02_popup_icon_search.png"
+#define MP_PLAYER_MORE_BTN_SET_AS MORE_BTN_DIR"/T02_popup_icon_set_as.png"
+#define MP_PLAYER_MORE_BTN_SAVE_PLAYLIST MORE_BTN_DIR"/T02_popup_icon_save_playlist.png"
+#define MP_PLAYER_MORE_BTN_SET_REORDER MORE_BTN_DIR"/T02_popup_icon_reorder.png"
+#define MP_PLAYER_MORE_BTN_INFOMATION MORE_BTN_DIR"/T02_popup_icon_infomation.png"
+#define MP_PLAYER_MORE_BTN_SETTING MORE_BTN_DIR"/T02_popup_icon_settings.png"
+#define MP_PLAYER_MORE_BTN_SHARE MORE_BTN_DIR"/T02_popup_icon_share.png"
+#define MP_PLAYER_MORE_BTN_SHARE_VIA MORE_BTN_DIR"/T02_popup_icon_share_via.png"
+//#define MP_PLAYER_MORE_BTN_SHOW_MUSIC_VIEW MORE_BTN_DIR"/T02_popup_icon_show_music_view.png"
+#define MP_PLAYER_MORE_BTN_SIGN MORE_BTN_DIR"/T02_popup_icon_sign.png"
+#define MP_PLAYER_MORE_BTN_SUPPORT MORE_BTN_DIR"/T02_popup_icon_support.png"
+#define MP_PLAYER_MORE_BTN_UPDATE MORE_BTN_DIR"/T02_popup_icon_update.png"
+#define MP_PLAYER_MORE_BTN_UPLOAD_FROM_DEVICE MORE_BTN_DIR"/T02_popup_icon_upload_from_device.png"
+#define MP_PLAYER_MORE_BTN_VIEW_AS MORE_BTN_DIR"/T02_popup_icon_view_as.png"
+//#define MP_PLAYER_MORE_BTN_VIEW MORE_BTN_DIR"/T02_popup_icon_view.png"
+#define MP_PLAYER_MORE_BTN_VIEW_END MORE_BTN_DIR"/T02_popup_icon_end.png"
+#define MP_PLAYER_MORE_BTN_ADD_TO_PERSONAL_PAGE MORE_BTN_DIR"/more_icon_add_to_personal_page.png"
+#define MP_PLAYER_MORE_BTN_REMOVE_FROM_PERSONAL_PAGE MORE_BTN_DIR"/more_icon_remove_from_personal_page.png"
+
+
+#define MP_PLAY_ALLSHARE_DEVICE_TV_ITEM "allshare/device/81x81/U04_device_TV.png"
+#define MP_PLAY_ALLSHARE_DEVICE_BD_ITEM "allshare/device/81x81/U04_device_BD.png"
+#define MP_PLAY_ALLSHARE_DEVICE_LFD_ITEM "allshare/device/81x81/U04_device_LFD.png"
+#define MP_PLAY_ALLSHARE_DEVICE_STB_ITEM "allshare/device/81x81/U04_device_STB.png"
+#define MP_PLAY_ALLSHARE_DEVICE_MOBILE_ITEM "allshare/device/81x81/U04_device_Mobile.png"
+#define MP_PLAY_ALLSHARE_DEVICE_TABLET_ITEM "allshare/device/81x81/U04_device_Tablet.png"
+#define MP_PLAY_ALLSHARE_DEVICE_DONGLE_ITEM "allshare/device/81x81/U04_device_Dongle.png"
+#define MP_PLAY_ALLSHARE_DEVICE_CAMERA_ITEM "allshare/device/81x81/U04_device_Camera.png"
+#define MP_PLAY_ALLSHARE_DEVICE_CAMCORDER_ITEM "allshare/device/81x81/U04_device_Camcorder.png"
+#define MP_PLAY_ALLSHARE_DEVICE_REF_ITEM "allshare/device/81x81/U04_device_REF.png"
+#define MP_PLAY_ALLSHARE_DEVICE_AC_WALL_ITEM "allshare/device/81x81/U04_device_AC_Wall.png"
+#define MP_PLAY_ALLSHARE_DEVICE_WM_ITEM "allshare/device/81x81/U04_device_WM.png"
+#define MP_PLAY_ALLSHARE_DEVICE_ROBOT_TV_ITEM "allshare/device/81x81/U04_device_ROBOT_VC.png"
+#define MP_PLAY_ALLSHARE_DEVICE_PC_ITEM "allshare/device/81x81/U04_device_PC.png"
+#define MP_PLAY_ALLSHARE_DEVICE_UNKNOWN_ITEM "allshare/device/81x81/U04_device_None_DNS.png"
+
+#define MP_PLAY_UHA_ICON "icon_uhq_player.png"
+
+#define MP_MINI_REPEAT_1_ICON "mini_player/T02_mini_control_rep_1.png"
+#define MP_MINI_REPEAT_ONCE_ICON "mini_player/T02_mini_control_rep_A.png"
+#define MP_MINI_REPEAT_ALL_ICON "mini_player/T02_mini_control_rep_all.png"
+#define MP_MINI_SHUFFLE_OFF_ICON "mini_player/T02_mini_control_shuffle_off.png"
+#define MP_MINI_SHUFFLE_ON_ICON "mini_player/T02_mini_control_shuffle_on.png"
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+#ifndef __MP_RESOURCE_H_
+#define __MP_RESOURCE_H_
+
+#define STR_MP_TRACKS ("IDS_MUSIC_OPT_TRACKS")
+#define STR_MP_PLAYLISTS ("IDS_MUSIC_TAB4_PLAYLISTS")
+#define STR_MP_ALBUMS ("IDS_MUSIC_TAB4_ALBUMS")
+#define STR_MP_ARTISTS ("IDS_MUSIC_TAB4_ARTISTS")
+#define STR_MP_RENAME ("IDS_MUSIC_POP_RENAME")
+#define STR_MP_EDIT_TITLE ("IDS_MUSIC_OPT_EDIT_TITLE")
+#define STR_MP_REORDER ("IDS_MUSIC_OPT_REORDER")
+#define STR_MP_FOLDERS ("IDS_MUSIC_ITAB4_FOLDERS")
+#define STR_MP_GENRES ("IDS_MUSIC_ITAB4_GENRES")
+#define STR_MP_SQUARE ("IDS_MUSIC_TAB4_MUSIC_SQUARE")
+#define STR_MP_SAVE_AS ("IDS_MUSIC_SK_SAVE_AS")
+#define STR_MP_MOST_PLAYED ("IDS_MUSIC_BODY_MOST_PLAYED")
+#define STR_MP_RECENTLY_ADDED ("IDS_MH_MBODY_RECENTLY_ADDED_M_SONG")
+#define STR_MP_RECENTLY_PLAYED ("IDS_MUSIC_BODY_RECENTLY_PLAYED")
+#define STR_MP_FAVOURITES ("IDS_IV_BODY_FAVOURITE")
+
+#define STR_MP_ADD_TO_FAVOURITES ("IDS_MUSIC_OPT_ADD_TO_FAVOURITES")
+#define STR_MP_UNFAVOURITES ("Unfavourites")
+#define STR_MP_ADD_TO_PLAYLIST ("IDS_MUSIC_BODY_ADD_TO_PLAYLIST")
+#define STR_MP_SETTINGS ("IDS_COM_BODY_SETTINGS")
+#define STR_MP_DETAILS "IDS_MUSIC_HEADER_DETAILS"
+#define STR_MP_END ("IDS_COM_BODY_END")
+#define STR_MP_EDIT ("IDS_COM_BODY_EDIT")
+#define STR_MP_SET_AS ("IDS_MUSIC_BODY_SET_AS_M_RINGTONE")
+#define STR_MP_POP_SET "IDS_MUSIC_POP_SET"
+#define STR_MP_POP_CALLER_RINGTONE_SAVED "IDS_PB_POP_CALLER_RINGTONE_SAVED"
+
+#define STR_MP_SHARE "IDS_MUSIC_SK_SHARE"
+#define STR_MP_ADD_TO_PERSONAL_PAGE "IDS_ST_POP_MOVE_TO_PERSONAL_STORAGE"
+#define STR_MP_REMOVE_FROM_PERSONAL_PAGE "IDS_ST_POP_MOVE_TO_NORMAL_STORAGE"
+#define MP_PERSONAL_ITEM_MOVE_TO "IDS_ST_POP_THE_SELECTED_ITEM_WILL_BE_MOVED_TO_PS"
+#define MP_PERSONAL_ITEMS_MOVE_TO "IDS_ST_POP_THE_SELECTED_ITEMS_WILL_BE_MOVED_TO_PS"
+#define MP_PERSONAL_DONT_ASK_AGAIN "IDS_MUSIC_BUTTON_DONT_ASK_AGAIN"
+
+#define STR_MP_CREATE_PLAYLIST "IDS_MUSIC_OPT_CREATE_PLAYLIST"
+#define STR_MP_TURN_PHONE_OVER "IDS_MUSIC_BODY_TURN_PHONE_OVER_TO_MUTE_INCOMING_CALLS_MESSAGE_ALERTS_AND_ALARMS"
+#define STR_MP_DONT_ASK_AGAIN "IDS_MUSIC_BUTTON_DONT_ASK_AGAIN"
+#define STR_MP_ENABLE_MOTION "IDS_MUSIC_BUTTON_ENABLE_MOTION"
+#define STR_MP_DELETE ("IDS_MUSIC_OPT_DELETE")
+#define STR_MP_CANCEL "IDS_MUSIC_SK_CANCEL"
+#define STR_MP_OK "IDS_COM_SK_OK"
+#define STR_MP_CLOSE "IDS_COM_BODY_CLOSE"
+#define STR_MP_UPDATED "IDS_COM_POP_UPDATED"
+#define STR_MP_DOWNLOADING "IDS_COM_POP_DOWNLOADING"
+#define STR_MP_NO_SONGS "IDS_MUSIC_HEADER_NO_SONGS"
+#define STR_MP_NO_TRACKS "IDS_MUSIC_BODY_NO_TRACKS"
+#define STR_MP_NO_ARTISTS "IDS_MUSIC_BODY_NO_ARTISTS"
+#define STR_MP_NO_ALBUMS "IDS_MUSIC_BODY_NO_ALBUMS"
+#define STR_PLAYER_VIEW_VOLUME "IDS_MUSIC_OPT_VOLUME"
+#define STR_PLAYER_VIEW_QUEUE "IDS_MUSIC_MBODY_QUEUE"
+#define STR_PLAYER_VIEW_REPEAT "IDS_MUSIC_OPT_REPEAT"
+#define STR_PLAYER_VIEW_SHUFFLE "IDS_MUSIC_BODY_SHUFFLE"
+#define STR_MP_OPEN_PLAYLIST "IDS_MUSIC_SK_OPEN_PLAYLIST"
+#define STR_MP_VIEW_AS "IDS_MUSIC_SK_VIEW_AS"
+#define STR_MP_LIST "IDS_MUSIC_SK_LIST"
+#define STR_MP_THUMBNAIL "IDS_MUSIC_OPT_THUMBNAIL"
+#define STR_MP_DONE "IDS_COM_POP_DONE"
+#define STR_MP_NAVI_DONE "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+#define STR_MP_NAVI_CANCEL "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+#define STR_MP_REMOVE "IDS_MUSIC_OPT_REMOVE"
+#define STR_MP_REMOVING "IDS_MUSIC_POP_REMOVING"
+#define STR_MP_REMOVED "IDS_COM_POP_REMOVED"
+#define STR_MP_DELETED "IDS_COM_POP_DELETED"
+#define STR_MP_ADD "IDS_MUSIC_BUTTON_MOVE"
+#define STR_MP_ADDIND "IDS_ST_BUTTON_MOVING_ING"
+#define STR_MP_ADD_TO "IDS_MUSIC_OPT_ADD_TO"
+#define STR_MP_GO_TO_LIBRARY "IDS_MUSIC_OPT_GO_TO_LIBRARY"
+#define STR_MP_CREATE "IDS_MUSIC_HEADER_CREATE"
+#define STR_MP_NOT_USED "IDS_MUSIC_BODY_NOT_USED"
+#define STR_MP_SEARCH "IDS_MUSIC_OPT_SEARCH_ABB"
+#define STR_MP_TAKE_PICTURE "IDS_MUSIC_OPT_TAKE_PICTURE"
+#define STR_MP_CHANGE_IMAGE "IDS_MUSIC_OPT_CHANGE_IMAGE"
+#define STR_MP_VIEW "IDS_MUSIC_SK_VIEW"
+#define STR_MP_MAKE_AVAILABLE_OFFLINE "IDS_MUSIC_BODY_MAKE_AVAILABLE_OFFLINE"
+#define STR_MP_NEAR_BY_DEVICE "IDS_MUSIC_BODY_NEARBY_DEVICES"
+#define STR_MP_EDIT_IMAGE "IDS_MUSIC_SK2_EDIT_IMAGE"
+#define STR_MP_THIS_FILE_IS_UNABAILABLE "IDS_MUSIC_BODY_A_NETWORK_CONNECTION_IS_REQUIRED_TO_PLAY_THIS_FILE_CHECK_YOUR_NETWORK_CONNECTION_AND_TRY_AGAIN"
+#define STR_MP_THIS_WILL_BE_DELETE_FORM_SERVER "IDS_MUSIC_BODY_THIS_WILL_DELETE_THE_FILE_FROM_THE_SERVER_AND_ANY_CONNECTED_DEVICES_AS_WELL"
+#define STR_MP_ALL_CONTENTS "IDS_MUSIC_OPT_ALL_CONTENT_ABB2"
+#define STR_MP_CONTENTS_IN_PHONE "IDS_MUSIC_OPT_CONTENT_ON_PHONE_ABB"
+#define STR_MP_CONTENTS_IN_CLOUD "IDS_MUSIC_OPT_DROPBOX_CONTENT_ABB"
+#define STR_MP_PLAY_ALL "IDS_MUSIC_OPT_MOREMENU_PLAY_ALL"
+#define STR_MP_NO_PLAYLISTS "IDS_MUSIC_BODY_NO_PLAYLISTS"
+#define STR_MP_FILE_TYPE_NOT_SUPPORTED "IDS_MUSIC_POP_FILE_TYPE_NOT_SUPPORTED"
+#define STR_MP_1_ALBUM_1_SONG "IDS_MUSIC_BODY_1_ALBUM_1_TRACK"
+#define STR_MP_1_ALBUM_PD_SONGS "IDS_MUSIC_BODY_1_ALBUM_PD_TRACKS"
+#define STR_MP_PD_ALBUMS_PD_SONGS "IDS_MUSIC_BODY_PD_ALBUMS_PD_TRACKS"
+#define STR_MP_PD_SONGS "IDS_MUSIC_BODY_PD_TRACKS_ABB"
+#define STR_MP_1_SONG "IDS_MUSIC_BODY_1_TRACK"
+#define STR_MP_UPDATING_ING "IDS_MUSIC_POP_UPDATING_ING"
+#define STR_MP_TABS "IDS_BR_SK_TABS"
+
+#define STR_MP_INTERNET "IDS_COM_BODY_INTERNET"
+#define STR_MP_RELATED_VIDEOS "IDS_MUSIC_BODY_RELATED_VIDEOS"
+#define STR_MP_CREDITS "IDS_MUSIC_BODY_CREDITS"
+#define STR_MP_MEDIA_INFO "IDS_MUSIC_BODY_DETAILS_MEADIA_INFO"
+#define STR_MP_TRACK_LIST "IDS_MUSIC_HEADER_TRACK_LIST"
+#define STR_MP_SIMILAR_ALBUMS "IDS_MUSIC_HEADER_SIMILAR_ALBUMS"
+#define STR_MP_REVIEW "IDS_MUSIC_BODY_REVIEW"
+#define STR_MP_POP_EXISTS "IDS_MUSIC_POP_ALREADY_EXISTS"
+#define STR_NH_COM_POPUP_CHARACTERS_MAXNUM_REACHED ("IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED")
+#define STR_MP_POP_PLAYLIST_EXISTS "IDS_MH_BODY_THE_PLAYLIST_NAME_PS_IS_ALREADY_IN_USE"
+#define STR_MP_POP_ADDED_TO_PLAYLIST "IDS_MH_TPOP_PD_TRACKS_ADDED_TO_PLAYLIST"
+#define STR_MP_POP_ADDED_1_TO_PLAYLIST "IDS_MH_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+
+#define STR_MOOD "IDS_MUSIC_BODY_MOODS"
+#define STR_YEAR "IDS_MUSIC_BUTTON_YEARS"
+#define STR_ADDED "IDS_COM_OPT_ADDED"
+#define STR_TIME "IDS_COM_BODY_TIME"
+#define STR_OLD "IDS_MUSIC_BODY_OLD"
+#define STR_NEW "IDS_COM_SK_NEW"
+#define STR_NEW_FOR_SQUARE "IDS_MUSIC_BODY_NEW_M_LATEST"
+#define STR_EXCITING "IDS_MUSIC_BODY_EXCITING_M_ADJECTIVE"
+#define STR_CALM "IDS_MUSIC_BODY_CALM_M_ADJECTIVE"
+#define STR_PASSION "IDS_MUSIC_BODY_PASSION_M_MOOD"
+#define STR_JOY "IDS_MUSIC_BODY_JOY_M_MOOD"
+
+#define STR_MP_SQUARE_HELP_TEXT_1 "IDS_MUSIC_BODY_MUSIC_SQUARE_ANALYSES_THE_CHARACTERISTICS_OF_MUSIC_FILES_STORED_ON_YOUR_DEVICE_AND_AUTOMATICALLY_CREATES_PLAYLISTS_MSG"
+#define STR_MP_SQUARE_HELP_TEXT_2 "IDS_MUSIC_BODY_PLAY_TRACKS_WITH_SIMILAR_CHARACTERISTICS_BY_SELECTING_A_SQUARE_ON_THE_SCREEN"
+#define STR_MP_SQUARE_HELP_TEXT_3 "IDS_MUSIC_BODY_VIEW_PLAYLIST_DETAILS_BY_TAPPING_AND_HOLDING_THE_SQUARE_CURRENTLY_BEING_PLAYED"
+#define STR_MP_SQUARE_NOT_ENOUGH_SONG_PD "IDS_MUSIC_POP_NOT_ENOUGH_MUSIC_FILES_TO_PLAY_IN_MUSIC_SQUARE_AT_LEAST_PD_MUSIC_FILES_REQUIRED"
+#define STR_MP_SQUARE_LIBRARY_UPDATED_NEED "IDS_MUSIC_POP_YOU_WILL_NEED_TO_UPDATE_THE_LIBRARY_IF_NEW_SONGS_HAVE_BEEN_ADDED"
+#define STR_MP_SQUARE_HELP_TEXT "Music square analyses the characteristics of music files stored on your device and automatically creates playlists based on these characteristics. You can create a playlist of similar tracks by tapping cells in the music square."
+
+#define STR_RECENTLY_ADDED "IDS_MUSIC_OPT_LISTBY_RECENTLY_ADDED"
+#define STR_MP_SMART_VOLUME "IDS_MUSIC_BODY_SMART_VOLUME_ABB"
+#define STR_MP_SMART_VOLUME_IS_ENABLED "IDS_MUSIC_HEADER_SMART_VOLUME_IS_ENABLED"
+#define STR_MP_VOLUME_WILL_BE_ADJUSTED_TO_PD "IDS_MUSIC_BODY_THE_VOLUME_OF_ALL_TRACKS_WILL_BE_ADJUSTED_TO_LEVEL_PD"
+#define STR_MP_SEARCH_BY "IDS_MUSIC_OPT_SEARCH_BY"
+#define STR_MP_THIS_SOUND_EFFECT_WORKS_IN "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+#define STR_MP_COM_REFRESH "IDS_COM_SK_REFRESH"
+#define STR_MP_SELECT_DEVICE "IDS_MUSIC_HEADER_SELECT_DEVICE"
+
+#define STR_MP_SHOW_LYRICS "IDS_MUSIC_OPT_SHOW_LYRICS"
+#define STR_MP_HIDE_LYRICS "IDS_MUSIC_OPT_HIDE_LYRICS"
+#define STR_MP_LYRICS "IDS_MUSIC_OPT_LYRICS_ABB"
+#define STR_MP_ALL_THUMBNAIL_VIEW "IDS_MUSIC_OPT_THUMBNAIL_VIEW"
+
+#define STR_MP_MY_SOUND "IDS_MUSIC_BODY_ADAPT_SOUND_ABB"
+#define STR_MP_ALL_LIST_VIEW "IDS_MUSIC_OPT_LIST_VIEW"
+#define STR_MP_PLAY_VIA_GROUP_PLAY "IDS_MUSIC_OPT_PLAY_VIA_GROUP_PLAY"
+#define STR_MP_CONNECTION_INFO "IDS_MUSIC_OPT_CONNECTION_INFO_ABB"
+#define STR_MP_POPUP_MORE_INFO "IDS_MH_OPT_MORE_INFO_ABB"
+#define STR_MP_POPUP_ADD_TO_FAVORITE "IDS_MUSIC_POP_TRACK_ADDED_TO_FAVOURITES"
+#define STR_MP_POPUP_REMOVE_FROM_FAVORITE "IDS_MUSIC_OPT_REMOVE_FROM_FAVOURITES"
+#define STR_MP_MUSIC "IDS_MUSIC_BODY_MUSIC"
+#define STR_MP_SHUFFLE_PD_TRACKS "IDS_MUSIC_HEADER_SHUFFLE_PD_TRACKS"
+#define STR_MP_SHUFFLE_1_TRACK "IDS_MUSIC_HEADER_SHUFFLE_1_TRACK"
+#define STR_MP_SCAN_FOR_NEARBY_DEVICE "IDS_MUSIC_OPT_SCAN_FOR_NEARBY_DEVICES"
+
+#define STR_MP_UNABLE_TO_PLAY_DURING_CALL "IDS_MUSIC_TPOP_UNABLE_TO_PLAY_MUSIC_DURING_CALLS"
+#define STR_MP_UNABLE_TO_PLAY_ERROR_OCCURED "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+#define STR_MP_UNABLE_TO_PLAY_DURING_RECORDING "IDS_CAM_TPOP_UNABLE_TO_PLAY_MUSIC_WHILE_RECORDING_AUDIO_OR_VIDEO"
+
+#define STR_MP_SQURE_NO_SONGS "IDS_MUSIC_HEADER_NO_SONGS"
+#define STR_MP_UPDATING_FAILED "IDS_MUSIC_POP_MUSICPLAYER_UPDATING_FAILED"
+
+#define STR_MP_MY_DEVICE "IDS_MUSIC_BODY_MY_DEVICE"
+#define MP_DETAIL_FORMAT_STR "IDS_MUSIC_BODY_FORMAT"
+#define MP_DETAIL_LOCATION_STR "IDS_MUSIC_BODY_MUSIC_LOCATION"
+#define MP_DETAIL_SAMPLING_STR "IDS_MUSIC_BODY_SAMPLING_RATE"
+#define MP_DETAIL_COPYRIGHT_STR "IDS_MUSIC_BODY_COPYRIGHT"
+#define MP_DETAIL_AUTHOR_STR "IDS_MUSIC_BODY_AUTHOR"
+#define MP_DETAIL_RECORDED_DATE_STR "IDS_MUSIC_BODY_DETAILS_RECORDING_DATE"
+#define MP_DETAIL_LENGTH_STR "IDS_MUSIC_TMBODY_LENGTH"
+#define MP_DETAIL_ALBUM_STR "IDS_MUSIC_BODY_ALBUM"
+#define MP_DETAIL_ARTIST_STR "IDS_MUSIC_BODY_ARTIST"
+#define MP_DETAIL_TITLE_STR "IDS_MUSIC_BODY_TITLE"
+#define MP_DETAIL_NUMBER_STR "IDS_MUSIC_BODY_TRACK_NUMBER"
+#define MP_DETAIL_BITDEPTH_STR "IDS_MUSIC_BODY_BIT_DEPTH"
+#define MP_DETAIL_SIZE_STR "IDS_MUSIC_BODY_SIZE"
+
+
+#define STR_MP_TILTE_SELECT_ITEM "IDS_MUSIC_HEADER_SELECT_ITEMS"
+#define STR_MP_TITLE_SAVE_AS_PLAYLIST "IDS_MUSIC_OPT_SAVE_AS_PLAYLIST"
+
+#define STR_MP_NO_PURCHASED_CONTENTS "IDS_MUSIC_BODY_NO_PURCHASED_CONTENT"
+#define STR_MP_BTN_GOTO_STORE "IDS_MUSIC_OPT_GO_TO_STORE"
+#define STR_MP_AFTER_YOU_ADD_TRACKS "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_THIS_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+#define STR_MP_AFTER_YOU_DOWNLOAD_TRACKS "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FROM_MUSIC_THEY_WILL_BE_SHOWN_HERE"
+#define STR_MP_AFTER_ADD_TRACKS_HELP "IDS_MUSIC_POP_AFTER_YOU_ADD_TRACKS_TO_MUSIC_ON_YOUR_MOBILE_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+
+#define STR_MP_AFTER_YOU_DOWNLOAD_TRACKS_FOLDER_WILL_BE_SHOWN "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FOLDERS_WILL_BE_SHOWN"
+#define STR_MP_YOU_CAN_ADD_TRACKS_THE_PLAYLIST_PD "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_PS_THEY_WILL_BE_SHOWN_HERE"
+#define STR_MP_ADD_TRACKS "IDS_MUSIC_OPT_ADD"
+
+#define STR_MP_AFTER_YOU_ADD_TRACK_TO_FAVOURITE "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_YOUR_FAVOURITES_THEY_WILL_BE_SHOWN_HERE"
+#define STR_MP_AFTER_YOU_PLAY_TRACKS_THEY_WILL_BE_SHOWN "IDS_MUSIC_BODY_AFTER_YOU_PLAY_TRACKS_THEY_WILL_BE_SHOWN_HERE"
+
+#define STR_SEARCH_GUIDE "IDS_MUSIC_HEADER_SEARCH_MUSIC_ABB"
+
+#define STR_MP_CONNECTED_DEVICE_LOWER "IDS_MUSIC_HEADER_CONNECTED_DEVICES"
+#define STR_MP_CHANGE_PLAYER "IDS_DLNA_OPT2_CHANGE_PLAYER"
+#define STR_MP_DEFAULT_PLAYLIST_GROUP_TITLE "IDS_MUSIC_MBODY_DEFAULT_PLAYLISTS"
+#define STR_MP_MY_PLAYLIST_GROUP_TITLE "IDS_MUSIC_HEADER_MY_PLAYLISTS_ABB"
+#define STR_MP_MY_PLAYLIST "IDS_MUSIC_BODY_MY_PLAYLIST_PS"
+#define STR_MP_SELECT_ITEMS "IDS_MF_HEADER_PD_SELECTED"
+
+#define STR_MP_DISCOGRAPHY "IDS_MUSIC_BODY_DISCOGRAPHY"
+#define STR_MP_BIOGRAPHY "IDS_MUSIC_BODY_BIOGRAPHY"
+#define STR_MP_NO_FOLDERS "IDS_MUSIC_BODY_NO_FOLDERS"
+#define STR_MP_NO_DEVICES "IDS_MUSIC_BODY_NO_DEVICES"
+#define STR_MP_AVAILABLE_DEVICES "IDS_MUSIC_HEADER_AVAILABLE_DEVICES_ABB"
+
+#define STR_MP_YOU_CAN_CONTROL "IDS_MUSIC_BODY_YOU_CAN_CONTROL_MUSIC_PLAYER_WITH_THE_VOICE_COMMANDS_P1SS_P2SS_P3SS_P4SS_P5SS_AND_P6SS"
+
+#define STR_MP_BTN_RESET "IDS_COM_BODY_RESET_A"
+#define STR_MP_SPEAKER "IDS_MUSIC_OPT_SPEAKER"
+#define STR_MP_HEADPHONES "IDS_MUSIC_OPT_HEADPHONES_ABB"
+
+#define STR_MP_SOUNDALIVE "IDS_MUSIC_OPT_SOUNDALIVE"
+#define STR_MP_UNABLE_FF_RW "IDS_MUSIC_POP_UNABLE_TO_USE_FAST_FORWARD_AND_REWIND_WHEN_NEARBY_DEVICES_ARE_ENABLED"
+#define STR_MP_LIBRARY_UPDATE "IDS_MUSIC_BODY_LIBRARY_UPDATE"
+#define STR_MP_DO_NOT_SHOW_AGAIN "IDS_MUSIC_BODY_DO_NOT_SHOW_AGAIN"
+#define STR_MP_VARIOUS_ARTISTS "IDS_MUSIC_BODY_VARIOUS_ARTISTS"
+
+#define STR_MP_NOT_ENOUGH_SPACE_ERROR_MSG "IDS_MF_POP_MEMORY_FULL"
+#define STR_MP_DISCONNECT_DEVICE "IDS_DLNA_POP_DISCONNECTED_FROM_PS_CHECK_THE_NETWORK_STATUS_AND_THE_CONNECTED_DEVICE"
+
+#define STR_MP_1_PLAYLIST "IDS_MUSIC_BODY_1_PLAYLIST"
+#define STR_MP_PD_PLAYLISTS "IDS_MUSIC_BODY_PD_PLAYLISTS"
+#define STR_MP_1_ALBUM "IDS_MUSIC_BODY_1_ALBUM_M_MUSIC"
+#define STR_MP_PD_ALBUMS "IDS_MUSIC_BODY_PD_ALBUMS"
+#define STR_MP_1_ARTIST "IDS_MUSIC_BODY_1_ARTIST"
+#define STR_MP_PD_ARTISTS "IDS_MUSIC_BODY_PD_ARTISTS"
+#define STR_MP_1_FOLDER "IDS_MUSIC_BODY_1_FOLDER"
+#define STR_MP_PD_FOLDERS "IDS_MUSIC_BODY_PD_FOLDERS"
+#define STR_MP_1_GENRE "IDS_MUSIC_BODY_1_GENRE"
+#define STR_MP_PD_GENRE "IDS_MUSIC_BODY_PD_GENRES"
+#define STR_MP_SUGGESTION_STR "IDS_MUSIC_HEADER_SUGGESTIONS_FOR_YOU"
+
+#define STR_MS_BASIC "IDS_MUSIC_TAB4_BASIC_M_EQUALIZING"
+#define STR_MS_INSTRUMENT "IDS_MUSIC_BODY_INSTRUMENT"
+#define STR_MS_TREBLE "IDS_MUSIC_BODY_TREBLE_M_EQUALISER"
+#define STR_MS_BASS "IDS_MUSIC_BODY_BASS_M_EQUALISER"
+#define STR_MS_VOCAL "IDS_MUSIC_BODY_VOCAL_M_SOUNDEFFECT"
+#define STR_MS_TUBE_AMP_EFFECT "IDS_MUSIC_OPT_TUBE_AMP_EFFECT"
+#define STR_MS_VIRTUAL "IDS_MUSIC_OPT_VIRTUAL_71_CH"
+#define STR_MS_SMALL_ROOM "IDS_MUSIC_HEADER_SMALL_ROOM_M_REVERB_ABB"
+#define STR_MS_LARGE_ROOM "IDS_MUSIC_HEADER_LARGE_ROOM_M_REVERB_ABB"
+#define STR_MS_CONCERT_HALL "IDS_MUSIC_BODY_CONCERT_HALL_M_SOUNDEFFECT"
+#define STR_MS_NO_EFFECT_CONTENT "IDS_MUSIC_SBODY_NO_EFFECTS"
+#define STR_MS_NO_TUBE_AMP_CONTENT "IDS_MUSIC_BODY_SIMULATES_THE_TIMBRE_OF_A_TUBE_AMP_ABB"
+#define STR_MS_NO_VIRTUAL_CONTENT "IDS_MUSIC_BODY_SIMULATES_THE_EFFECT_OF_VIRTUAL_71_CHANNEL_SURROUND_SOUND_ABB"
+#define STR_MS_NO_LARGE_ROOM_CONTENT "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_LARGE_ROOM_EG_A_THEATRE_ABB"
+#define STR_MS_NO_SMALL_ROOM_CONTENT "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_SMALL_SPACE_EG_A_STUDIO_ABB"
+#define STR_MS_NO_CONCERT_HALL_CONTENT "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_CONCERT_HALL_ABB"
+#define STR_MS_THREE_D "IDS_MUSIC_BUTTON_3D_CHN"
+#define STR_MS_CLARITY "IDS_MUSIC_BODY_CLARITY_M_SOUNDEFFECT"
+#define STR_MS_THREE_D "IDS_MUSIC_BUTTON_3D_CHN"
+#define STR_MS_RESET "IDS_MUSIC_BUTTON_RESET"
+
+#define STR_MS_ADVANCED "IDS_ST_BODY_ADVANCED"
+#define STR_MS_NONE "IDS_ST_BODY_NONE"
+
+#define STR_MS_CLASSIC_TYPE "IDS_MUSIC_BODY_CLASSIC"
+#define STR_MS_ROCK_TYPE "IDS_MUSIC_BODY_ROCK"
+#define STR_MS_NORMAL_TYPE "IDS_MUSIC_BODY_SOUNDEFFECTS_NORMAL"
+#define STR_MS_JAZZ_TYPE "IDS_MUSIC_BODY_JAZZ"
+#define STR_MS_POP_TYPE "IDS_MUSIC_BODY_POP"
+#define STR_MS_AUTO_TYPE "IDS_MUSIC_BODY_AUTO"
+#define STR_MS_BASIC_TAB "IDS_MUSIC_TAB4_BASIC_M_EQUALIZING"
+#define STR_MS_BASS_TYPE "IDS_MUSIC_BODY_BASS_M_EQUALISER"
+#define STR_MS_TREBLE_TYPE "IDS_MUSIC_BODY_TREBLE_M_EQUALISER"
+#define STR_MS_INSTRUMENT_TYPE "IDS_MUSIC_BODY_INSTRUMENT"
+#define STR_MS_VOCAL_TYPE "IDS_MUSIC_BODY_VOCAL_M_SOUNDEFFECT"
+#define STR_MS_EFFECT_TITLE "IDS_MUSIC_BODY_EFFECT"
+#define STR_MS_RESET_BUTTON "IDS_MUSIC_BUTTON_RESET"
+#define STR_MS_CLARITY_TYPE "IDS_MUSIC_BODY_CLARITY_M_SOUNDEFFECT"
+#define STR_MS_3D_TYPE "IDS_MUSIC_BUTTON_3D_CHN"
+
+#define STR_MP_RECOMMENDATION_UNSUPPORT "IDS_MUSIC_POP_AUTO_RECOMMENDATION_DOES_NOT_SUPPORT_THIS_AUDIO_FILE"
+#define STR_MP_PLAYER_UNSUPPORT "IDS_MUSIC_POP_SORRY_THE_PLAYER_DOES_NOT_SUPPORT_THIS_TYPE_OF_AUDIO_FILE"
+#define STR_MP_STOP "IDS_COM_SK_STOP"
+#define STR_MP_SCAN "IDS_COM_BUTTON_SCAN"
+#define STR_MP_HEADPHONE_NO_CONNECT "IDS_MUSIC_TPOP_SOUND_EFFECTS_ONLY_AVAILABLE_WHILE_HEADPHONES_CONNECTED"
+#define STR_MP_VIA_SCREEN_MIRRORING "IDS_DLNA_OPT_VIA_SCREEN_MIRRORING_ABB"
+#define STR_MP_VIA_HOME_NETWORK "IDS_DLNA_OPT_VIA_HOME_NETWORK_ABB"
+
+#define STR_MP_ONE_TRACK_DETELED "IDS_MUSIC_POP_THIS_TRACK_WILL_BE_DELETED"
+#define STR_MP_PLURAL_TRACKS_DETELED "IDS_MUSIC_POP_THE_SELECTED_TRACKS_WILL_BE_DELETED"
+#define STR_MP_ALL_TRACKS_DETELED "IDS_MUSIC_POP_ALL_TRACKS_WILL_BE_DELETED"
+
+#define STR_MP_ONE_ARTIST_DETELED "IDS_MUSIC_POP_THIS_ARTIST_WILL_BE_DELETED"
+#define STR_MP_PLURAL_ARTISTS_DETELED "IDS_MUSIC_POP_THE_SELECTED_ARTISTS_WILL_BE_DELETED"
+#define STR_MP_ALL_ARTISTS_DETELED "IDS_MUSIC_POP_ALL_ARTISTS_WILL_BE_DELETED"
+
+#define STR_MP_ONE_FOLDER_DETELED "IDS_MUSIC_POP_THIS_FOLDER_WILL_BE_DELETED"
+#define STR_MP_PLURAL_FOLDERS_DETELED "IDS_MUSIC_POP_THE_SELECTED_FOLDERS_WILL_BE_DELETED"
+#define STR_MP_ALL_FOLDERS_DETELED "IDS_MUSIC_POP_ALL_FOLDERS_WILL_BE_DELETED"
+
+#define STR_MP_ONE_ALBUM_DETELED "IDS_MUSIC_POP_THIS_ALBUM_WILL_BE_DELETED"
+#define STR_MP_PLURAL_ALBUMS_DETELED "IDS_MUSIC_POP_THE_SELECTED_ALBUMS_WILL_BE_DELETED"
+#define STR_MP_ALL_ALBUMS_DETELED "IDS_MUSIC_POP_ALL_ALBUMS_WILL_BE_DELETED"
+
+#define STR_MP_ONE_PLAYLIST_DETELED "IDS_MUSIC_POP_THIS_PLAYLIST_WILL_BE_DELETED"
+#define STR_MP_PLURAL_PLAYLISTS_DETELED "IDS_MUSIC_POP_THE_SELECTED_PLAYLISTS_WILL_BE_DELETED"
+#define STR_MP_ALL_PLAYLISTS_DETELED "IDS_MUSIC_POP_ALL_PLAYLISTS_WILL_BE_DELETED"
+
+//3 Need to be translated
+
+#define STR_MP_ITEMS_CAN_BE_SELECTED_UP_TO_PD "IDS_HS_BODY_SELECT_UP_TO_PD_ITEMS"
+#define STR_MP_SELECT_ITEMS_UP_TO_PD "Select items up to %d"
+#define STR_MP_SHAZAM "IDS_COM_SK_DOWNLOAD"
+#define STR_MP_GALLERY "IDS_COM_BODY_GALLERY"
+#define STR_MP_UPDATE_ALBUM_ART "IDS_MUSIC_UPDATE_ALBUMART"
+
+
+#define STR_MP_HDMI "IDS_VPL_OPT_HDMI"
+
+
+#define STR_MP_DROPBOX "IDS_MF_BODY_DROPBOX_ABB"
+
+///can not find
+#define STR_MP_MIRRORING "Mirroring"
+#define STR_MP_USB_AUDIO "USB Audio"
+#define STR_PREVIOUSLY_ADDED "Previously added" //not used..
+#define STR_MP_THE_APP_CONTROL_IS_DISABLED "Bluetooth is disabled. To enable it, go to Privacy setting and allow the service to be used in application"
+#define STR_MP_THE_ACCOUNT_SVC_IS_DISABLED "Account is disabled. To enable it, go to Privacy setting and allow the service to be used in application"
+
+#define MP_MENU_FID "mp_menu_fid"
+#define MP_MENU_GROUP_ITEM_HANDLER "mp_menu_group_item_handler"
+
+#define STR_MP_SET_AS_FROM_BEGIN "IDS_MUSIC_BUTTON_FROM_THE_BEGINNING"
+#define STR_MP_SET_AS_AUTO_RECOMMEND "IDS_MUSIC_BUTTON_AUTO_RECOMMENDATIONS"
+#define STR_MP_SET_AS_PHONE_RINGTONG ("IDS_MUSIC_POP_PHONE_RINGTONE")
+#define STR_MP_SET_AS_ALARM_TONE ("IDS_MUSIC_OPT_SETAS_ALARM_TONE")
+#define STR_MP_SET_AS_CALLER_RINGTONG ("IDS_MUSIC_OPT_SETAS_CALLER_RINGTONE")
+#define STR_MP_SET_AS_RECOMMENDED_TXT "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+
+#define MP_SCREEN_READER_TAB "IDS_CAM_BODY_TAB_T_TTS"
+#define MP_SCREEN_READER_DOUBLE_TAP "IDS_ST_BODY_DOUBLE_TAP_TO_MOVE_TO_CONTENT_T_TTS"
+#define MP_SCREEN_READER_DOUBLE_TAP_PLAY "double tap to play"
+#define MP_SCREEN_READER_CP "IDS_ST_BODY_A_CONTEXTUAL_POP_UP_IS_OPEN_DOUBLE_TAP_TO_CLOSE_IT_T_TALKBACK"
+#define MP_SCREEN_READER_SELECTED "IDS_COM_BODY_SELECTED"
+#define MP_SCREEN_READER_SELECT_ALL "IDS_MUSIC_BODY_SELECT_ALL"
+
+#define MP_SCREEN_READER_ITEM_SELECTED "IDS_COM_BODY_SELECT_ALL"
+#define MP_SCREEN_READER_ITEM_UNSELECTED "IDS_IMGE_BODY_UNSELECT_ALL"
+#define MP_SCREEN_READER_SEARCH "IDS_MUSIC_OPT_SEARCH_ABB"
+#define MP_SCREEN_READER_DMR "IDS_MUSIC_BODY_NEARBY_DEVICES"
+#define MP_SCREEN_BUTTON "IDS_CAM_BODY_BUTTON_T_TTS"
+
+#define MP_POPUP_LOADING "IDS_ST_BODY_LOADING_ING"
+#define MP_POPUP_DELETING "IDS_MUSIC_POP_DELETING"
+
+//can not find
+#define MP_SCREEN_READER_EQ_UP "EQ part value increase to band 1 %2.1f db band 2 %2.1f db band 3 %2.1f db band 4 %2.1f db band 5 %2.1f db band 6 %2.1f db band 7 %2.1f db band 8 %2.1f db"
+#define MP_SCREEN_READER_EQ_DOWN "EQ part value decrease to band 1 %2.1f db band 2 %2.1f db band 3 %2.1f db band 4 %2.1f db band 5 %2.1f db band 6 %2.1f db band 7 %2.1f db band 8 %2.1f db"
+#define MP_SCREEN_READER_EXTEND_UP "Extended part value increase to 3D %1.1f Bass %1.1f Room size %1.1f Reverb Level %1.1f Clarity %1.1f"
+#define MP_SCREEN_READER_EXTEND_DOWN "Extended part value decrease to 3D %1.1f Bass %1.1f Room size %1.1f Reverb Level %1.1f Clarity %1.1f"
+
+#define MP_SCREEN_READER_HELP_DOWN "Double click to show help popup"
+
+
+//For tts string
+#define MP_TTS_PREVIOUS_BUTTON "IDS_COM_BODY_PREVIOUS"
+#define MP_TTS_PLAY_BUTTON "IDS_COM_SK_PLAY_ABB"
+#define MP_TTS_PAUSE_BUTTON "IDS_COM_BODY_PAUSE"
+#define MP_TTS_NEXT_BUTTON "IDS_COM_SK_NEXT"
+#define MP_TTS_CLOSE_BUTTON "IDS_COM_BODY_CLOSE"
+#define MP_TTS_FAVOURITE_BUTTON "IDS_MUSIC_BODY_MARKED_AS_A_FAVOURITE"
+
+#define MP_TTS_UNFAVOURITE_BUTTON "IDS_MUSIC_BODY_NOT_MARKED_AS_A_FAVOURITE"
+
+
+#define MP_TTS_VOLUME_BUTTON "IDS_MUSIC_BODY_SETTINGS_VOLUME"
+#define MP_TTS_REPEAT_OFF_BUTTON "IDS_MUSIC_BODY_REPEAT_OFF"
+#define MP_TTS_REPEAT_ALL_BUTTON "IDS_MUSIC_BODY_PLAYINGREPEAT_REPEAT_ALL"
+#define MP_TTS_SHUFFLE_OFF_BUTTON "IDS_MUSIC_BODY_SHUFFLE_OFF"
+#define MP_TTS_SHUFFLE_ON_BUTTON "IDS_MUSIC_BODY_SHUFFLE_ON"
+#define MP_TTS_REPEAT_ONE_BUTTON "IDS_ST_BODY_REPEAT_ONE"
+#define MP_TTS_QUEUE_BUTTON "IDS_MUSIC_BODY_PLAYLIST"
+#define MP_TTS_MUSIC_PLAYER_BUTTON "IDS_MUSIC_BODY_MUSIC_PLAYER"
+#define MP_TTS_SOUNDALIVE_BUTTON "IDS_MUSIC_OPT_SOUNDALIVE"
+
+#define MP_TTS_PROGRESS_PLAYING "IDS_COM_SK_PLAY_ABB"
+#define MP_TTS_PROGRESS_TOTAL "IDS_MH_BODY_TOTAL"
+
+#endif
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+#ifndef __MP_VCONF_PRIVATE_KEYS_H__
+#define __MP_VCONF_PRIVATE_KEYS_H__
+
+#include <app_preference.h>
+
+#define MP_PRIVATE "private/"PKG_NAME"/"
+#define MP_DB_PREFIX "db/"MP_PRIVATE
+#define MP_MEMORY_PREFIX "memory/"MP_PRIVATE
+
+
+
+
+/**
+ * @brief playlist shuffle state
+ *
+ * type: bool
+ *
+ * 0 : off
+ * 1 : on
+ */
+#define MP_KEY_MUSIC_SHUFFLE MP_DB_PREFIX"shuffle"
+
+
+/**
+ * @brief playlist repeat state
+ *
+ * type: int
+ *
+ * 0 : repeat all
+ * 1 : no repeat
+ * 2 : repeat only a songs
+ */
+#define MP_KEY_MUSIC_REPEAT MP_DB_PREFIX"repeat"
+enum {
+ MP_SETTING_REP_ALL,
+ MP_SETTING_REP_NON,
+ MP_SETTING_REP_1
+};
+
+/* for live-box */
+#define MP_LIVE_VCONF_PREFIX MP_MEMORY_PREFIX
+/* this state is only for livebox Sound player should not affect this app*/
+//#define MP_LIVE_PLAY_STATE MP_LIVE_VCONF_PREFIX"player_state"
+
+
+/****************************/
+/* preference relative key */
+/****************************/
+
+
+
+#ifdef MP_FEATURE_PERSONAL_PAGE
+#define KEY_MP_PERSONAL_PAGE "memory/setting/personal"
+#endif
+
+/**
+ * @brief trigger of sound effect changes
+ *
+ * type: bool
+ *
+ * value is not meaningful
+ */
+#define KEY_MUSIC_SE_CHANGE MP_DB_PREFIX"se_change"
+
+/**
+ * @brief trigger of extend sound effect changes
+ *
+ * type: int
+ *
+ * value is not meaningful
+ */
+#define KEY_MUSIC_SA_USER_CHANGE MP_MEMORY_PREFIX"sa_user_change"
+
+/**
+ * @brief trigger of menu settng changes
+ *
+ * type: int
+ *
+ * value is not meaningful
+ */
+#define KEY_MUSIC_MENU_CHANGE MP_DB_PREFIX"menu_change"
+
+
+/**
+ * @brief setting value of sound alive
+ *
+ * type: int
+ *
+ * value is not meaningful
+ */
+
+/**
+ * @brief custom equalizer value
+ *
+ * type: double
+ */
+#define KEY_MUSIC_EQUALISER_CUSTOM_1 "eq_custom_1"
+#define KEY_MUSIC_EQUALISER_CUSTOM_2 "eq_custom_2"
+#define KEY_MUSIC_EQUALISER_CUSTOM_3 "eq_custom_3"
+#define KEY_MUSIC_EQUALISER_CUSTOM_4 "eq_custom_4"
+#define KEY_MUSIC_EQUALISER_CUSTOM_5 "eq_custom_5"
+#define KEY_MUSIC_EQUALISER_CUSTOM_6 "eq_custom_6"
+#define KEY_MUSIC_EQUALISER_CUSTOM_7 "eq_custom_7"
+#define KEY_MUSIC_EQUALISER_CUSTOM_8 "eq_custom_8"
+
+
+/**
+ * @brief extended user audio effects
+ *
+ * type: double
+ */
+#define KEY_MUSIC_USER_AUDIO_EFFECT_3D "user_audio_effect_3d"
+#define KEY_MUSIC_USER_AUDIO_EFFECT_BASS "user_audio_effect_bass"
+#define KEY_MUSIC_USER_AUDIO_EFFECT_ROOM "user_audio_effect_room"
+#define KEY_MUSIC_USER_AUDIO_EFFECT_REVERB "user_audio_effect_reverb"
+#define KEY_MUSIC_USER_AUDIO_EFFECT_CLARITY "user_audio_effect_clarity"
+
+
+/**
+ * @brief auto off
+ *
+ * type: int (minute)
+ */
+#define KEY_MUSIC_AUTO_OFF_TIME_VAL "auto_off_time_val"
+
+/**
+ * @brief auto off type
+ *
+ * type: int
+ */
+#define KEY_MUSIC_AUTO_OFF_TYPE_VAL "auto_off_type_val"
+enum {
+ KEY_MUSIC_AUTO_OFF_TIME_OFF = 0,
+ KEY_MUSIC_AUTO_OFF_TIME_15,
+ KEY_MUSIC_AUTO_OFF_TIME_30,
+ KEY_MUSIC_AUTO_OFF_TIME_60,
+ KEY_MUSIC_AUTO_OFF_TIME_90,
+ KEY_MUSIC_AUTO_OFF_TIME_120,
+ KEY_MUSIC_AUTO_OFF_TIME_CUSTOM,
+ KEY_MUSIC_AUTO_OFF_TIME_MAX,
+};
+
+/**
+ * @brief time for custom auto off
+ *
+ * type: int (minute)
+ */
+#define KEY_MUSIC_AUTO_OFF_CUSTOM_TIME "auto_off_custom_time"
+
+
+/**
+ * @brief playlist repeat state
+ *
+ * type: int
+ *
+ * 0 : repeat all
+ * 1 : no repeat
+ * 2 : repeat only a songs
+ */
+#define MP_KEY_MUSIC_SQUARE_AXIS_VAL "square_axis_val"
+enum {
+ MP_KEY_MUSIC_SQUARE_AXIS_MOOD,
+ MP_KEY_MUSIC_SQUARE_AXIS_YEAR,
+ MP_KEY_MUSIC_SQUARE_AXIS_ADDED,
+ MP_KEY_MUSIC_SQUARE_AXIS_TIME
+};
+
+
+/**
+ * @brief check which player is playing now
+ *
+ * type: int
+ *
+ * pid of music-player of sound-player
+ */
+#define MP_PREFKEY_PLAYING_PID "playing_pid"
+
+
+/**
+ * @brief setting value of auto created playlist
+ *
+ * All playlist can be selected with OR operation
+ *
+*/
+#define MP_PREFKEY_PLAYLIST_VAL_INT "playlist"
+enum {
+ MP_PLAYLIST_MOST_PLAYED = 0x0001,
+ MP_PLAYLIST_RECENTLY_PLAYED = 0x0002,
+ MP_PLAYLIST_RECENTLY_ADDED = 0x0004,
+ MP_PLAYLIST_QUICK_LIST = 0x0008,
+};
+
+/**
+ * @brief playlist order
+ *
+ * type: string
+ *
+ * range : 1~4
+ */
+
+#define MP_PREFKEY_PLAYLIST_VAL_STR "playlist_order"
+
+
+/**
+ * @brief tabs order
+ *
+ * type: string
+ *
+ * range : 1~8
+ */
+
+#define MP_PREFKEY_TABS_VAL_STR "tabs_order"
+
+
+/**
+ * @brief setting value of created tabs
+ *
+ * All tabs can be selected
+ *
+*/
+
+#define MP_PREFKEY_TABS_VAL_INT "tabs_select"
+enum {
+ MP_TRACKS_TAB = 0x0001,
+ MP_PLAYLISTS_TAB = 0x0002,
+ MP_ALBUMS_TAB = 0x0004,
+ MP_ARTISTS_TAB = 0x0008,
+ MP_GENRES_TAB = 0x0010,
+ MP_FOLDERS_TAB = 0x0020,
+ MP_DEVICES_TAB = 0x0040,
+};
+
+
+/**
+ * @brief play speed
+ *
+ * type: double
+ *
+ * range : 0.5 ~ 2.0
+ */
+#define PREFKEY_MUSIC_PLAY_SPEED "playspeed"
+
+
+/**
+ * @brief motion initial popup check box
+ *
+ * type: bool
+ *
+ */
+#define KEY_MUSIC_MOTION_ASKED "motion_asked"
+
+/**
+ * @brief square initial popup check box
+ *
+ * type: bool
+ *
+ */
+#define KEY_MUSIC_SQUARE_ASKED "square_asked"
+
+/**
+ * @brief smart volume on/off
+ *
+ * type: bool
+ *
+ */
+#define KEY_MUSIC_SMART_VOLUME "smart_volume"
+
+
+/**
+ * @brief show lyrics on/off
+ *
+ * type: bool
+ *
+ */
+#define KEY_MUSIC_LYRICS "show_lyrics"
+
+
+/*********************************** @@ removed @@ ***********************************/
+
+/**
+ * @brief elapsed time of current playing song
+ *
+ * type: string
+ *
+ * ex) "00:00"
+ */
+#define MP_LIVE_CUR_POS MP_LIVE_VCONF_PREFIX"pos"
+
+
+/**
+ * @brief progressbar position of current playing song
+ *
+ * type: double
+ *
+ * range : 0.0 ~ 1.0
+ */
+#define MP_LIVE_CUR_PROGRESS_POS MP_LIVE_VCONF_PREFIX"progress_pos"
+
+
+/**
+ * @brief trigger of live box button click
+ *
+ * type: bool
+ */
+#define MP_LIVE_PROGRESS_RATIO_CHANGED MP_LIVE_VCONF_PREFIX"position_changed" //double
+
+#define KEY_PERSONAL_NO_ASK_AGAIN "personal_no_ask_again" //"db/private/org.tizen.music-player/personal_no_ask_again"
+
+
+#endif /* __MP_VCONF_PRIVATE_KEYS_H__ */
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
+ <storageModule moduleId="org.eclipse.cdt.core.settings">
+ <cconfiguration id="org.tizen.nativecore.config.sbi.gcc45.app.debug.802007086">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecore.config.sbi.gcc45.app.debug.802007086" moduleId="org.eclipse.cdt.core.settings" name="Debug">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.tizen.nativecore.NativeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactName="music-chooser" buildArtefactType="org.tizen.nativecore.buildArtefactType.app" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecore.buildArtefactType.app,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;" id="org.tizen.nativecore.config.sbi.gcc45.app.debug.802007086" name="Debug" parent="org.tizen.nativecore.config.sbi.gcc45.app.debug">
+ <folderInfo id="org.tizen.nativecore.config.sbi.gcc45.app.debug.802007086." name="/" resourcePath="">
+ <toolChain id="org.tizen.nativecore.toolchain.sbi.gcc45.app.debug.878530445" name="Tizen Native Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.app.debug">
+ <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.1312634294" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+ <builder autoBuildTarget="all" buildPath="${workspace_loc:/music-player/music-chooser}/Debug" enableAutoBuild="true" id="org.tizen.nativecore.target.sbi.gnu.builder.1393244733" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Tizen Application Builder" superClass="org.tizen.nativecore.target.sbi.gnu.builder"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.643870705" name="Archiver" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.694484029" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler">
+ <option id="gnu.cpp.compiler.option.optimization.level.605063261" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
+ <option defaultValue="gnu.cpp.compiler.debugging.level.max" id="sbi.gnu.cpp.compiler.option.debugging.level.core.1253504236" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core" valueType="enumerated"/>
+ <option id="sbi.gnu.cpp.compiler.option.503565487" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-3.0-device.core_llvm36.armel.core.app"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.1010332010" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/libxml2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appcore-agent""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appfw""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/attach-panel""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/badge""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/base""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/cairo""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/calendar-service2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/chromium-ewk""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ckm""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/contacts-svc""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/content""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/context-service""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dali""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dali-toolkit""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dbus-1.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/device""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dlog""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-buffer-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-con-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-file-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-imf-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-imf-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-input-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-input-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-ipc-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ector-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/e_dbus-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/edje-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eet-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efl-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efl-extension""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efreet-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eina-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eina-1/eina""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eio-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eldbus-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/elementary-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/embryo-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/emile-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eo-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eom""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ethumb-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ethumb-client-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/feedback""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/fontconfig""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/freetype2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/geofence""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/gio-unix-2.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/glib-2.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/harfbuzz""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/iotcon""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/json-glib-1.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/location""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/maps""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/media""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/media-content""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/messaging""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/metadata-editor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/minicontrol""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/minizip""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/network""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/notification""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/nsd/""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/phonenumber-utils""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/sensor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/service-adaptor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/shortcut""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/storage""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/system""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/telephony""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ui""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/web""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_service""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_viewer_evas""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/wifi-direct""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/dbus-1.0/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/glib-2.0/include""/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.1072626715" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="${TC_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value="${RS_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value=" -fPIE"/>
+ <listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
+ <listOptionValue builtIn="false" value="-mthumb"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.include.paths.2057613274" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/${ProjName}/inc}""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/libxml2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appcore-agent""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appfw""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/attach-panel""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/badge""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/base""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/cairo""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/calendar-service2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ckm""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/contacts-svc""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/content""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/context-service""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dali""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dali-toolkit""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dbus-1.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/device""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dlog""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-buffer-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-con-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-file-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-imf-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-imf-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-input-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-input-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-ipc-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ector-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/e_dbus-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/edje-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eet-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efl-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efl-extension""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efreet-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eina-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eina-1/eina""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eio-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eldbus-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/elementary-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/embryo-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/emile-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eo-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eom""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ethumb-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ethumb-client-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/feedback""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/fontconfig""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/freetype2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/geofence""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/gio-unix-2.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/glib-2.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/harfbuzz""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/iotcon""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/json-glib-1.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/location""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/maps""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/media""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/media-content""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/messaging""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/metadata-editor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/minicontrol""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/minizip""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/network""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/notification""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/phonenumber-utils""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/sensor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/service-adaptor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/shortcut""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/storage""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/system""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/telephony""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ui""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/web""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_service""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_viewer_evas""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/wifi-direct""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/dbus-1.0/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/glib-2.0/include""/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks.core.1385653282" name="Tizen-Frameworks" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1007566832" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+ </tool>
+ <tool command="clang" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1661602689" name="C Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.c.compiler">
+ <option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.option.optimization.level.1462993678" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
+ <option defaultValue="gnu.c.debugging.level.max" id="sbi.gnu.c.compiler.option.debugging.level.core.618713" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core" valueType="enumerated"/>
+ <option id="sbi.gnu.c.compiler.option.1353767425" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-3.0-device.core_llvm36.armel.core.app"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.508708373" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/libxml2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appcore-agent""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appfw""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/attach-panel""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/badge""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/base""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/cairo""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/calendar-service2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/chromium-ewk""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ckm""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/contacts-svc""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/content""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/context-service""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dali""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dali-toolkit""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dbus-1.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/device""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dlog""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-buffer-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-con-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-file-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-imf-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-imf-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-input-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-input-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-ipc-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ector-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/e_dbus-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/edje-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eet-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efl-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efl-extension""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efreet-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eina-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eina-1/eina""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eio-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eldbus-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/elementary-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/embryo-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/emile-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eo-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eom""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ethumb-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ethumb-client-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/feedback""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/fontconfig""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/freetype2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/geofence""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/gio-unix-2.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/glib-2.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/harfbuzz""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/iotcon""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/json-glib-1.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/location""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/maps""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/media""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/media-content""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/messaging""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/metadata-editor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/minicontrol""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/minizip""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/network""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/notification""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/nsd/""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/phonenumber-utils""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/sensor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/service-adaptor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/shortcut""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/storage""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/system""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/telephony""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ui""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/web""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_service""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_viewer_evas""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/wifi-direct""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/dbus-1.0/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/glib-2.0/include""/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.1281068206" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="${TC_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value="${RS_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value=" -fPIE"/>
+ <listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
+ <listOptionValue builtIn="false" value="-mthumb"/>
+ </option>
+ <option id="gnu.c.compiler.option.include.paths.604820354" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/${ProjName}/inc}""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/libxml2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appcore-agent""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appfw""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/attach-panel""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/badge""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/base""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/cairo""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/calendar-service2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ckm""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/contacts-svc""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/content""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/context-service""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dali""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dali-toolkit""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dbus-1.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/device""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dlog""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-buffer-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-con-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-file-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-imf-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-imf-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-input-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-input-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-ipc-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ector-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/e_dbus-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/edje-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eet-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efl-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efl-extension""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efreet-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eina-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eina-1/eina""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eio-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eldbus-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/elementary-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/embryo-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/emile-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eo-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eom""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ethumb-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ethumb-client-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/feedback""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/fontconfig""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/freetype2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/geofence""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/gio-unix-2.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/glib-2.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/harfbuzz""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/iotcon""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/json-glib-1.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/location""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/maps""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/media""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/media-content""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/messaging""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/metadata-editor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/minicontrol""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/minizip""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/network""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/notification""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/phonenumber-utils""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/sensor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/service-adaptor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/shortcut""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/storage""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/system""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/telephony""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ui""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/web""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_service""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_viewer_evas""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/wifi-direct""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/dbus-1.0/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/glib-2.0/include""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/music-chooser/src/include}""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/inc}""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/src/common/include}""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/src/include}""/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks.core.2079094678" name="Tizen-Frameworks" superClass="sbi.gnu.c.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <option id="gnu.c.compiler.option.preprocessor.def.symbols.324236915" name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="SHAREDDIR='"/opt/home/owner/apps_rw/org.tizen.music-player/shared"'"/>
+ <listOptionValue builtIn="false" value="DOMAIN_NAME='"music-player"'"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1117996248" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+ </tool>
+ <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.1104282370" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.linker.802343729" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
+ <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.core.788987891" name="Tizen-Frameworks-Other-Lflags" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="${TC_LINKER_MISC}"/>
+ <listOptionValue builtIn="false" value="${RS_LINKER_MISC}"/>
+ <listOptionValue builtIn="false" value="-pie -lpthread "/>
+ <listOptionValue builtIn="false" value="-Xlinker -rpath="/home/developer/sdk_tools/lib""/>
+ <listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
+ <listOptionValue builtIn="false" value="-Xlinker --version-script="${PROJ_PATH}/.exportMap""/>
+ <listOptionValue builtIn="false" value="-L"${SBI_SYSROOT}/usr/lib""/>
+ <listOptionValue builtIn="false" value="$(RS_LIBRARIES)"/>
+ </option>
+ <option id="gnu.cpp.link.option.paths.378678577" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/${ProjName}/lib}""/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.1775219993" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+ <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+ <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+ </inputType>
+ </tool>
+ <tool command="arm-linux-gnueabi-as" id="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.1240380895" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+ <option id="gnu.both.asm.option.include.paths.444697800" name="Include paths (-I)" superClass="gnu.both.asm.option.include.paths"/>
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.2065526148" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.1565874286" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.cpp.176530076" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp"/>
+ <tool id="org.tizen.nativecore.tool.ast.1700513899" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast"/>
+ <tool id="org.tizen.nativecore.tool.ast.cpp.1654134793" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.mergelib.178544317" name="Archive Generator" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver.mergelib"/>
+ <tool id="org.tizen.nativecore.tool.sbi.po.compiler.1957606600" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
+ <tool id="org.tizen.nativecore.tool.sbi.edc.compiler.97530228" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler">
+ <option id="sbi.gnu.edc.compiler.option.misc.id.1156688526" name="Image Path (-id)" superClass="sbi.gnu.edc.compiler.option.misc.id" valueType="stringList">
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/${ProjName}}""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/${ProjName}/images}""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/${ProjName}}/edje/images""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/images/music_player}""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/shared/res/shared_images}""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/shared/res/target_images}""/>
+ </option>
+ </tool>
+ </toolChain>
+ </folderInfo>
+ <folderInfo id="org.tizen.nativecore.config.sbi.gcc45.app.debug.802007086.153547946" name="/" resourcePath="common">
+ <toolChain id="org.tizen.nativecore.toolchain.sbi.gcc45.app.debug.763928837" name="Tizen Native Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.app.debug" unusedChildren="">
+ <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.824335056" name="Archiver" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver.643870705"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.1765453295" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.694484029">
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1974769234" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+ </tool>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.763189293" name="C Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1661602689">
+ <option id="gnu.c.compiler.option.include.paths.465646282" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/${ProjName}/inc}""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/libxml2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appcore-agent""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appfw""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/attach-panel""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/badge""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/base""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/cairo""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/calendar-service2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ckm""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/contacts-svc""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/content""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/context-service""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dali""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dali-toolkit""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dbus-1.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/device""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dlog""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-buffer-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-con-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-file-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-imf-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-imf-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-input-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-input-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-ipc-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ector-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/e_dbus-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/edje-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eet-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efl-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efl-extension""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efreet-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eina-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eina-1/eina""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eio-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eldbus-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/elementary-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/embryo-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/emile-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eo-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eom""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ethumb-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ethumb-client-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/feedback""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/fontconfig""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/freetype2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/geofence""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/gio-unix-2.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/glib-2.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/harfbuzz""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/iotcon""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/json-glib-1.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/location""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/maps""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/media""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/media-content""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/messaging""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/metadata-editor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/minicontrol""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/minizip""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/network""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/notification""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/phonenumber-utils""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/sensor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/service-adaptor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/shortcut""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/storage""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/system""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/telephony""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ui""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/web""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_service""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_viewer_evas""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/wifi-direct""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/dbus-1.0/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/glib-2.0/include""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/music-chooser/src/include}""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/inc}""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/src/common/include}""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/src/include}""/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.685012524" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core"/>
+ <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.60083214" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+ </tool>
+ <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.1544161251" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.1104282370"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.cpp.linker.1228920486" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker.802343729"/>
+ <tool id="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.257268665" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.1240380895">
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.458550278" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.531495270" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.1565874286"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.cpp.1842828982" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp.176530076"/>
+ <tool id="org.tizen.nativecore.tool.ast.926973905" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast.1700513899"/>
+ <tool id="org.tizen.nativecore.tool.ast.cpp.1548867156" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp.1654134793"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.mergelib.630925177" name="Archive Generator" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver.mergelib.178544317"/>
+ <tool id="org.tizen.nativecore.tool.sbi.po.compiler.570505793" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler.1957606600"/>
+ <tool id="org.tizen.nativecore.tool.sbi.edc.compiler.1361916614" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler.97530228"/>
+ </toolChain>
+ </folderInfo>
+ <sourceEntries>
+ <entry excluding="mp-util.c|mp-app.c|mp-common.c|mp-ug-launch.c|mp-widget.c|mp-edit-callback.c|mp-item.c|mp-ta.c|mp-menu.c|mp-play.c" flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="common"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="inc"/>
+ <entry excluding="genlist_macro.edc|genlist_normal.edc|genlist_textblock_style.edc|genlist.edc|HD-inc.edc|mc-naviframe.edc|mc-tabbar.edc|toolbar.edc" flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="res"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="shared"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
+ </sourceEntries>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ </cconfiguration>
+ <cconfiguration id="org.tizen.nativecore.config.sbi.gcc45.app.release.1439192866">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecore.config.sbi.gcc45.app.release.1439192866" moduleId="org.eclipse.cdt.core.settings" name="Release">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.tizen.nativecore.NativeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactName="org.tizen.music-chooser" buildArtefactType="org.tizen.nativecore.buildArtefactType.app" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecore.buildArtefactType.app,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;" id="org.tizen.nativecore.config.sbi.gcc45.app.release.1439192866" name="Release" parent="org.tizen.nativecore.config.sbi.gcc45.app.release">
+ <folderInfo id="org.tizen.nativecore.config.sbi.gcc45.app.release.1439192866." name="/" resourcePath="">
+ <toolChain id="org.tizen.nativecore.toolchain.sbi.gcc45.app.release.1312091401" name="Tizen Native Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.app.release">
+ <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.1867431633" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+ <builder buildPath="${workspace_loc:/music-player/music-chooser}/Release" id="org.tizen.nativecore.target.sbi.gnu.builder.1308629240" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Tizen Application Builder" superClass="org.tizen.nativecore.target.sbi.gnu.builder"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.1512241051" name="Archiver" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.768769880" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler">
+ <option id="gnu.cpp.compiler.option.optimization.level.1221414347" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/>
+ <option defaultValue="gnu.cpp.compiler.debugging.level.default" id="sbi.gnu.cpp.compiler.option.debugging.level.core.626765777" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core" valueType="enumerated"/>
+ <option id="sbi.gnu.cpp.compiler.option.1542246720" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-3.0-emulator.core_llvm36.i386.core.app"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.609714818" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/libxml2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appcore-agent""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appfw""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/attach-panel""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/badge""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/base""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/cairo""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/calendar-service2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/chromium-ewk""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ckm""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/contacts-svc""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/content""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/context-service""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dali""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dali-toolkit""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dbus-1.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/device""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dlog""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-buffer-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-con-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-file-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-imf-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-imf-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-input-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-input-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-ipc-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ector-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/e_dbus-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/edje-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eet-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efl-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efl-extension""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efreet-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eina-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eina-1/eina""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eio-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eldbus-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/elementary-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/embryo-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/emile-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eo-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eom""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ethumb-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ethumb-client-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/feedback""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/fontconfig""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/freetype2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/geofence""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/gio-unix-2.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/glib-2.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/harfbuzz""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/iotcon""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/json-glib-1.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/location""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/maps""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/media""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/media-content""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/messaging""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/metadata-editor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/minicontrol""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/minizip""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/network""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/notification""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/nsd/""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/phonenumber-utils""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/sensor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/service-adaptor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/shortcut""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/storage""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/system""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/telephony""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ui""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/web""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_service""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_viewer_evas""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/wifi-direct""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/dbus-1.0/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/glib-2.0/include""/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.1386097927" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="${TC_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value="${RS_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value=" -fPIE"/>
+ <listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
+ </option>
+ <option id="gnu.cpp.compiler.option.include.paths.1937672492" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/${ProjName}/inc}""/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks.core.1328962038" name="Tizen-Frameworks" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.91525529" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+ </tool>
+ <tool command="clang" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1650309140" name="C Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.c.compiler">
+ <option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.option.optimization.level.1198377503" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
+ <option defaultValue="gnu.c.debugging.level.default" id="sbi.gnu.c.compiler.option.debugging.level.core.1750880570" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core" valueType="enumerated"/>
+ <option id="sbi.gnu.c.compiler.option.2143530985" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-3.0-emulator.core_llvm36.i386.core.app"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.2047984246" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/libxml2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appcore-agent""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appfw""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/attach-panel""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/badge""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/base""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/cairo""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/calendar-service2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/chromium-ewk""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ckm""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/contacts-svc""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/content""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/context-service""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dali""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dali-toolkit""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dbus-1.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/device""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dlog""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-buffer-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-con-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-file-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-imf-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-imf-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-input-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-input-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-ipc-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ector-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/e_dbus-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/edje-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eet-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efl-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efl-extension""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efreet-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eina-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eina-1/eina""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eio-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eldbus-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/elementary-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/embryo-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/emile-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eo-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eom""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ethumb-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ethumb-client-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/feedback""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/fontconfig""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/freetype2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/geofence""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/gio-unix-2.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/glib-2.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/harfbuzz""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/iotcon""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/json-glib-1.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/location""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/maps""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/media""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/media-content""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/messaging""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/metadata-editor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/minicontrol""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/minizip""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/network""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/notification""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/nsd/""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/phonenumber-utils""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/sensor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/service-adaptor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/shortcut""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/storage""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/system""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/telephony""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ui""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/web""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_service""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_viewer_evas""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/wifi-direct""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/dbus-1.0/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/glib-2.0/include""/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.317359353" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="${TC_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value="${RS_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value=" -fPIE"/>
+ <listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
+ </option>
+ <option id="gnu.c.compiler.option.include.paths.161602937" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/${ProjName}/inc}""/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks.core.892008039" name="Tizen-Frameworks" superClass="sbi.gnu.c.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1237376227" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+ </tool>
+ <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.1920518397" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.linker.1650169981" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
+ <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.core.1167204467" name="Tizen-Frameworks-Other-Lflags" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="${TC_LINKER_MISC}"/>
+ <listOptionValue builtIn="false" value="${RS_LINKER_MISC}"/>
+ <listOptionValue builtIn="false" value="-pie -lpthread "/>
+ <listOptionValue builtIn="false" value="-Xlinker -rpath="/home/developer/sdk_tools/lib""/>
+ <listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
+ <listOptionValue builtIn="false" value="-Xlinker --version-script="${PROJ_PATH}/.exportMap""/>
+ <listOptionValue builtIn="false" value="-L"${SBI_SYSROOT}/usr/lib""/>
+ <listOptionValue builtIn="false" value="$(RS_LIBRARIES)"/>
+ </option>
+ <option id="gnu.cpp.link.option.paths.850330135" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/${ProjName}/lib}""/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.2143991636" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+ <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+ <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+ </inputType>
+ </tool>
+ <tool command="i386-linux-gnueabi-as" id="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.1349827042" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.854902673" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.1434065977" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.cpp.120685516" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp"/>
+ <tool id="org.tizen.nativecore.tool.ast.527039993" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast"/>
+ <tool id="org.tizen.nativecore.tool.ast.cpp.425712541" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.mergelib.1804856678" name="Archive Generator" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver.mergelib"/>
+ <tool id="org.tizen.nativecore.tool.sbi.po.compiler.907647336" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
+ <tool id="org.tizen.nativecore.tool.sbi.edc.compiler.1778081711" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler"/>
+ </toolChain>
+ </folderInfo>
+ <sourceEntries>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="inc"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="res"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="shared"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
+ </sourceEntries>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ </cconfiguration>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <project id="music-chooser.org.tizen.nativecore.target.sbi.gcc45.app.2109173668" name="Tizen Native Application" projectType="org.tizen.nativecore.target.sbi.gcc45.app"/>
+ </storageModule>
+ <storageModule moduleId="scannerConfiguration">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+ <scannerConfigBuildInfo instanceId="org.tizen.nativecore.config.sbi.gcc45.app.release.1439192866">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+ </scannerConfigBuildInfo>
+ <scannerConfigBuildInfo instanceId="org.tizen.nativecore.config.sbi.gcc45.app.debug.802007086">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+ </scannerConfigBuildInfo>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
+ <storageModule moduleId="refreshScope"/>
+</cproject>
--- /dev/null
+{
+ global: main;
+ local: *;
+};
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>music-chooser</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
+ <triggers>full,incremental,</triggers>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.cdt.core.cnature</nature>
+ <nature>org.eclipse.cdt.core.ccnature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
+ </natures>
+ <linkedResources>
+ <link>
+ <name>common</name>
+ <type>2</type>
+ <locationURI>PARENT-1-PROJECT_LOC/src/common</locationURI>
+ </link>
+ </linkedResources>
+ <filteredResources>
+ <filter>
+ <id>1454328745264</id>
+ <name></name>
+ <type>26</type>
+ <matcher>
+ <id>org.eclipse.ui.ide.multiFilter</id>
+ <arguments>1.0-projectRelativePath-matches-false-false-*/.tpk</arguments>
+ </matcher>
+ </filter>
+ <filter>
+ <id>1454328745265</id>
+ <name></name>
+ <type>6</type>
+ <matcher>
+ <id>org.eclipse.ui.ide.multiFilter</id>
+ <arguments>1.0-name-matches-false-false-project_def.prop</arguments>
+ </matcher>
+ </filter>
+ </filteredResources>
+</projectDescription>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<tproject xmlns="http://www.tizen.org/tproject">
+ <platforms>
+ <platform>
+ <name>mobile-3.0</name>
+ </platform>
+ </platforms>
+ <package>
+ <blacklist/>
+ <resFallback autoGen="true"/>
+ </package>
+</tproject>
--- /dev/null
+# Appendix\r
--- /dev/null
+# Add inputs and outputs from these tool invocations to the build variables
+
+
+OS_NAME := $(shell $(UNAME))
+
+
+#ifeq ($(origin BUILD_CONFIG), undefined)
+BUILD_CONFIG ?= Debug
+#endif
+
+#ifeq ($(origin ARCH), undefined)
+ARCH ?= i386
+#endif
+
+#ifeq ($(origin PROJPATH), undefined)
+PROJPATH ?= .
+#endif
+
+
+#ifeq ($(origin PROJ_PATH), undefined)
+PROJ_PATH ?= $(PROJPATH)
+#endif
+
+#ifeq ($(strip $(OUTPUT_DIR)),)
+#OUTPUT_DIR ?= $(PROJ_PATH)/$(BUILD_CONFIG)
+#endif
+
+#ifeq ($(strip $(BUILD_ARCH)),)
+BUILD_ARCH ?= $(ARCH)
+#endif
+
+#ifeq ($(strip $(ENVENTOR_PATH)),)
+ENVENTOR_PATH ?= $(SDK_TOOLPATH)/enventor
+#endif
--- /dev/null
+# C/C++ build script
+
+
+_FUNC_EXT2O = $(patsubst %.$(3),$(1)/%.o,$(2))
+_FUNC_C2O = $(call _FUNC_EXT2O,$(1),$(2),c)
+_FUNC_CPP2O = $(call _FUNC_EXT2O,$(1),$(2),cpp)
+
+
+# parameter :
+# $(1) - C/C++ soruce file
+# $(2) - output path
+# $(3) - .ext
+# $(4) - unique id
+CONVERT_ESC_EXT_TO_O = $(addprefix $(2)/,$(notdir $(patsubst %.$(3),%-$(4).o,$(1))))
+
+#CONVERT_ESC_C_TO_O = $(call CONVERT_ESC_EXT_TO_O,$(1),$(2),c)
+#CONVERT_ESC_CPP_TO_O = $(call CONVERT_ESC_EXT_TO_O,$(1),$(2),cpp)
+
+
+# parameter :
+# $(1) - encoded one C/C++ soruce file
+# $(2) - output path
+# $(3) - ext title (C/C++)
+# $(4) - ext (c/cpp)
+# $(5) - compiler ($(CC)/$(CXX))
+# $(6) - build opt
+# $(7) - build opt file
+# output :
+# $(8) - output files list
+define C_BUILD_PROC_RAW
+$(call CONVERT_ESC_EXT_TO_O,$(1),$(2),$(4),$(8)) : $(call DECODE_4MAKE,$(1)) $(7)
+ @echo ' Building file: $$<'
+ @echo ' Invoking: $(3) Compiler'
+ $$(call MAKEDIRS,$$(@D))
+ $(5) -c "$$<" -o "$$@" $(6) -Wp,@$(7)
+ @echo ' Finished building: $$<'
+$(9) += $(call CONVERT_ESC_EXT_TO_O,$(1),$(2),$(4),$(8))
+endef
+
+
+# parameter :
+# $(1) - output paths
+# $(2) - src paths
+# $(3) - inc paths
+# $(4) - inc files
+# $(5) - Defs
+# $(6) - UnDefs
+# $(7) - compiler opt
+# $(8) - compiler opt file
+# $(9) - ext title (C/C++)
+# $(10) - ext (c/cpp)
+# $(11) - compiler ($(CC)/$(CXX))
+# output :
+# $(12) - OBJS
+# return :
+# none
+define C_PROC_RAW
+
+_OUTPUT_DIR := $$(strip $(1))#
+_SRCS := $(2)#
+_INCS := $(3)#
+_INC_FILES := $(4)#
+_DEFS := $(5)#
+_UNDEFS := $(6)#
+
+_OPT := $(7)
+_OPT_FILE := $(8)
+
+_EXT_TITLE := $(9)
+_EXT := $(10)
+_COMPILER := $(11)
+
+#_OUTPUT_FILES := $(12)
+
+_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_SRCS))
+_ENC_SRCS := $$(filter %.$$(_EXT),$$(_ENC_SRCS))
+
+ifneq ($$(strip $$(_SRCS)),)
+
+_NORMAL_SRCS := $$(filter-out %*.$$(_EXT),$$(_ENC_SRCS))
+_WIDLCARD_SRCS := $$(filter %*.$$(_EXT),$$(_ENC_SRCS))
+
+_ALL_SRCS := $$(call DECODE_4MAKE,$$(_NORMAL_SRCS)) \
+ $$(foreach var,$$(_WIDLCARD_SRCS),$$(call FIND_FILES_4MAKE,$$(call DECODE_4MAKE,$$(var))))
+
+ifneq ($$(strip $$(_ALL_SRCS)),)
+
+_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_ALL_SRCS))
+
+_CDEFS := $$(CDEFS)
+_CDEFS += $$(addprefix -D,$$(_DEFS))
+_CDEFS += $$(addprefix -U,$$(_UNDEFS))
+
+_ENC_C_INCS := $$(call ENCODE_4MAKE,$$(_INCS))
+_ENC_C_INCS := $$(addprefix -I,$$(_ENC_C_INCS))
+
+_ENC_INC_FILES := $$(call ENCODE_4MAKE,$$(_INC_FILES))
+_ENC_INC_FILES += $$(addprefix -include,$$(_ENC_INC_FILES))
+
+_C_INCS := $$(call DECODE_4MAKE,$$(_ENC_C_INCS) $$(_ENC_C_INC_FILES))
+
+_DEFS := $$(_CDEFS) $$(_C_INCS) -I"pch" $$(_OPT)
+
+_UNIQUE_ID = $$(firstword $$(shell echo $$(var) | $$(CKSUM)))
+
+$$(foreach var,$$(_ENC_SRCS),$$(eval $$(call C_BUILD_PROC_RAW,$$(var),$$(_OUTPUT_DIR),$$(_EXT_TITLE),$$(_EXT),$$(_COMPILER),$$(_DEFS),$$(_OPT_FILE),$$(_UNIQUE_ID),$(12))))
+
+endif # (_(strip _(_ALL_SRCS)),)
+
+endif # (_(strip _(_SRCS)),)
+
+
+endef
--- /dev/null
+# EDC build script
+
+
+FUNC_EDC2EDJ = $(patsubst %.edc,$(2)/%.edj,$(1))
+
+# parameter :
+# $(1) - C/C++ soruce file
+# $(2) - output path
+CONVERT_ESC_EDC_TO_EDJ = $(call CONVERT_4MAKE_TO_OUT,$(call FUNC_EDC2EDJ,$(1),$(2)))
+
+
+# parameter :
+# $(1) - encoded one C/C++ soruce file
+# $(2) - output path
+# $(3) - build opt
+# output :
+# $(4) - output files list
+define EDJ_BUILD_PROC_RAW
+$(call CONVERT_ESC_EDC_TO_EDJ,$(1),$(2)) : $(call DECODE_4MAKE,$(1))
+ @echo ' Building file: $$<'
+ @echo ' Invoking: EDC Resource Compiler'
+ $$(call MAKEDIRS,$$(@D))
+ $$(EDJE_CC) $(3) "$$<" "$$@"
+ @echo ' Finished building: $$<'
+$(4) += $(call CONVERT_ESC_EDC_TO_EDJ,$(1),$(2))
+endef
+
+
+# parameter :
+# $(1) - output paths
+# $(2) - src paths
+# $(3) - image inc paths
+# $(4) - sound inc paths
+# $(5) - font inc paths
+# output :
+# $(6) - OBJS
+# return :
+# none
+define EDJ_PROC_RAW
+
+_OUTPUT_DIR := $$(strip $(1))#
+_SRCS := $(2)#
+_IMAGE_DIRS := $(3)#
+_SOUND_DIRS := $(4)#
+_FONT_DIRS := $(5)#
+
+ifneq ($$(strip $$(_SRCS)),)
+
+_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_SRCS))
+
+_NORMAL_SRCS := $$(filter-out %*.edc,$$(_ENC_SRCS))
+_WIDLCARD_SRCS := $$(filter %*.edc,$$(_ENC_SRCS))
+
+_ALL_SRCS := $$(call DECODE_4MAKE,$$(_NORMAL_SRCS)) \
+ $$(foreach var,$$(_WIDLCARD_SRCS),$$(call FIND_FILES_4MAKE,$$(call DECODE_4MAKE,$$(var))))
+
+ifneq ($$(strip $$(_ALL_SRCS)),)
+
+_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_ALL_SRCS))
+
+_COMPILER_FLAGS := -id "$$(ENVENTOR_SHARED_RES_PATH)/images"
+_COMPILER_FLAGS += -sd "$$(ENVENTOR_SHARED_RES_PATH)/sounds"
+_COMPILER_FLAGS += -fd "$$(ENVENTOR_SHARED_RES_PATH)/fonts"
+
+ifneq ($$(strip $$(_IMAGE_DIRS)),)
+_COMPILER_FLAGS += $$(addprefix -id ,$$(_IMAGE_DIRS))
+endif
+ifneq ($$(strip $$(_SOUND_DIRS)),)
+_COMPILER_FLAGS += $$(addprefix -sd ,$$(_SOUND_DIRS))
+endif
+ifneq ($$(strip $$(_FONT_DIRS)),)
+_COMPILER_FLAGS += $$(addprefix -fd ,$$(_FONT_DIRS))
+endif
+
+$$(foreach var,$$(_ENC_SRCS),$$(eval $$(call EDJ_BUILD_PROC_RAW,$$(var),$$(_OUTPUT_DIR),$$(_COMPILER_FLAGS),$(6))))
+
+endif # (_(strip _(_ALL_SRCS)),)
+
+endif # (_(strip _(_SRCS)),)
+
+endef
--- /dev/null
+# PO build script
+
+
+_FUNC_PO2MO = $(patsubst %.po,$(2)/res/locale/%/LC_MESSAGES/$(3).mo,$(notdir $(1)))
+
+
+# parameter :
+# $(1) - C/C++ soruce file
+# $(2) - output path
+# $(3) - app name
+CONVERT_ESC_PO_TO_MO = $(call CONVERT_4MAKE_TO_OUT,$(call _FUNC_PO2MO,$(1),$(2),$(3)))
+
+
+# parameter :
+# $(1) - encoded one C/C++ soruce file
+# $(2) - output path
+# $(3) - app name
+# output :
+# $(4) - output files list
+define MO_BUILD_PROC_RAW
+$(call CONVERT_ESC_PO_TO_MO,$(1),$(2),$(3)) : $(call DECODE_4MAKE,$(1))
+ @echo ' Building file: $$<'
+ @echo ' Invoking: msgfmt String Formatter'
+ $$(call MAKEDIRS,$$(@D))
+ $$(MSGFMT) -o "$$@" "$$<"
+ @echo ' Finished building: $$<'
+$(4) += $(call CONVERT_ESC_PO_TO_MO,$(1),$(2),$(3))
+endef
+
+
+# parameter :
+# $(1) - output dir
+# $(2) - src paths
+# $(3) - app name
+# output :
+# $(4) - OBJS
+
+define MO_PROC_RAW
+
+_OUTPUT_DIR := $(1)
+_SRCS := $(2)
+_APPNAME := $(3)
+
+ifneq ($$(strip $$(_SRCS)),)
+
+_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_SRCS))
+
+_NORMAL_SRCS := $$(filter-out %*.po,$$(_ENC_SRCS))
+_WIDLCARD_SRCS := $$(filter %*.po,$$(_ENC_SRCS))
+
+_ALL_SRCS := $$(call DECODE_4MAKE,$$(_NORMAL_SRCS)) \
+ $$(foreach var,$$(_WIDLCARD_SRCS),$$(call FIND_FILES_4MAKE,$$(call DECODE_4MAKE,$$(var))))
+
+ifneq ($$(strip $$(_ALL_SRCS)),)
+
+_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_ALL_SRCS))
+
+$$(foreach var,$$(_ENC_SRCS),$$(eval $$(call MO_BUILD_PROC_RAW,$$(var),$$(_OUTPUT_DIR),$$(_APPNAME),$(4))))
+
+endif # (_(strip _(_ALL_SRCS)),)
+
+endif # (_(strip _(_SRCS)),)
+
+endef
--- /dev/null
+
+DEBUG_OP = -g3
+CPP_DEBUG_OP =
+
+OPTIMIZATION_OP = -O0
+CPP_OPTIMIZATION_OP =
+
+COMPILE_FLAGS = $(DEBUG_OP) $(OPTIMIZATION_OP) -Wall -c -fmessage-length=0 -fPIC
+
+CPP_COMPILE_FLAGS = $(CPP_DEBUG_OP) $(CPP_OPTIMIZATION_OP)
+
+LINK_FLAGS = -shared -Wl,--no-undefined
+
+AR_FLAGS =
+
+EDC_COMPILE_FLAGS =
\ No newline at end of file
--- /dev/null
+
+BSLASH := \\#
+NULL_CHAR := #
+SPACE := \ #
+COLON := :#
+DOTDOT := ..#
+SPACE_ESC := &sp;#
+COLON_ESC := &co;#
+SPACE_OUT := ~sp~#
+COLON_OUT := ~co~#
+DOTDOT_OUT := ~dtdt~#
+
+BSLASH2SLASH = $(subst $(BSLASH),/,$(1))
+
+REMOVE_TAIL = $(patsubst %/,%,$(1))
+
+#LOWER_CASE = $(shell echo translit($(1),[A-Z],[a-z])|$(M4))
+LOWER_CASE = $(shell echo $(1)|$(TR) [A-Z] [a-z])
+
+#ifneq ($(findstring Windows,$(OS)),)
+# ...
+#endif
+
+FIND_FILES = $(shell $(FIND) $(1)/$(2) | $(SED) 's/^$(subst /,$(BSLASH)/,$(1))$(BSLASH)///')
+FIND_FILES_ESC = $(shell $(FIND) $(1)/$(2) | $(SED) 's/^$(subst /,$(BSLASH)/,$(1))$(BSLASH)///' -e 's/:/$(BSLASH)&co;/g' -e 's/$(BSLASH) /$(BSLASH)&sp;/g')
+FIND_FILES_4MAKE = $(shell $(FIND) $(1)/$(2) | $(SED) 's/^$(subst /,$(BSLASH)/,$(1))$(BSLASH)///')
+
+FIND_FILES_ABS = $(shell $(FIND) $(1))
+FIND_FILES_ABS_4MAKE = $(shell $(FIND) $(1) -e 's/$(BSLASH) /$(BSLASH)&sp;/g')
+FIND_FILES_ABS_ESC = $(shell $(FIND) $(1) -e 's/:/$(BSLASH)&co;/g' -e 's/$(BSLASH) /$(BSLASH)&sp;/g')
+
+FIND_FILES_4MAKE = $(shell $(FIND) $(1) | $(SED) 's/ /\\\ /g')
+
+#ENCODE_ESC = $(shell echo $(1) | $(SED) -e 's/:/$(BSLASH)&co;/g' -e 's/$(BSLASH) /$(BSLASH)&sp;/g')
+#DECODE_ESC = $(shell echo $(1) | $(SED) -e 's/$(BSLASH)&co;/:/g' -e 's/$(BSLASH)&sp;/$(BSLASH) / g')
+ENCODE_ESC = $(subst $(SPACE),$(SPACE_ESC),$(subst $(COLON),$(COLON_ESC),$(1)))
+DECODE_ESC = $(subst $(COLON_ESC),$(COLON),$(subst $(SPACE_ESC),$(SPACE),$(1)))
+ENCODE_4MAKE = $(subst $(SPACE),$(SPACE_ESC),$(1))
+DECODE_4MAKE = $(subst $(SPACE_ESC),$(SPACE),$(1))
+
+CONVERT_TO_OUT = $(subst $(DOTDOT),$(DOTDOT_OUT),$(subst $(COLON),$(COLON_OUT),$(subst $(SPACE),$(SPACE_OUT),$(1))))
+CONVERT_ESC_TO_OUT = $(subst $(DOTDOT),$(DOTDOT_OUT),$(subst $(COLON_ESC),$(COLON_OUT),$(subst $(SPACE_ESC),$(SPACE_OUT),$(1))))
+CONVERT_4MAKE_TO_OUT = $(subst $(DOTDOT),$(DOTDOT_OUT),$(subst $(COLON),$(COLON_OUT),$(subst $(SPACE_ESC),$(SPACE_OUT),$(1))))
+
+PROC_NO_EXIST = $(if $(wildcard $(1)),,$(call $(2),$(1)))
+define MAKEDIRS0
+ @echo ' Building directory: $(1)'
+ @$(MKDIR) $(MKDIR_OP) $(subst $(BSLASH),/,$(1))
+endef
+MAKEDIRS = $(call PROC_NO_EXIST,$(1),MAKEDIRS0)
--- /dev/null
+#
+# Usege : make -f <proj_root>/Build/makefile -C <proj_root>
+#
+
+BUILD_SCRIPT_VERSION := 1.1.0
+
+.PHONY : app_version app_build app_clean build_version
+
+
+all : app_build
+
+clean : app_clean
+
+version : build_version
+
+#PROJ_ROOT = .
+BUILD_ROOT := $(PROJ_PATH)/Build#
+
+ifeq ($(MAKE_NAME),mingw32-make)
+ifneq ($(SHELL),)
+OPTIONS += --eval="SHELL=$(SHELL)"
+endif
+endif
+
+app_build :
+ @echo $(MAKE) -f "$(BUILD_ROOT)/makefile.mk"
+ @$(MAKE_BIN) -f "$(BUILD_ROOT)/makefile.mk" -C "$(PROJ_PATH)" $(OPTIONS)
+
+app_clean :
+ @$(MAKE) -f "$(BUILD_ROOT)/makefile.mk" -C "$(PROJ_PATH)" $(OPTIONS) clean
+
+build_version :
+ @echo makefile : $(BUILD_SCRIPT_VERSION)
+ @$(MAKE) -f "$(BUILD_ROOT)/makefile.mk" -C "$(PROJ_PATH)" $(OPTIONS) version
--- /dev/null
+#
+# Usege : make -f <proj_root>/Build/makefile -C <proj_root>
+#
+
+BUILD_SCRIPT_VERSION := 1.2.3
+
+.PHONY : app_version app_clean build_version
+
+
+all : app_build
+
+clean : app_clean
+
+version : build_version
+
+
+#PROJ_ROOT := $(call BSLASH2SLASH,$(PROJ_PATH))
+PROJ_ROOT := .
+BUILD_ROOT := $(PROJ_ROOT)/Build
+
+include $(BUILD_ROOT)/basedef.mk
+
+include $(PROJ_ROOT)/project_def.prop
+-include $(PROJ_ROOT)/build_def.prop
+
+include $(BUILD_ROOT)/funcs.mk
+
+-include $(BUILD_ROOT)/tooldef.mk
+-include $(BUILD_ROOT)/flags.mk
+-include $(BUILD_ROOT)/platform.mk
+
+
+APPTYPE := $(type)
+
+OUTPUT_DIR := $(PROJ_ROOT)/$(BUILD_CONFIG)
+OBJ_OUTPUT := $(OUTPUT_DIR)/objs
+
+LOWER_APPNAME := $(call LOWER_CASE,$(APPNAME))
+APPID2 := $(subst $(basename $(APPID)).,,$(APPID))
+
+ifeq ($(strip $(APPTYPE)),app)
+APPFILE := $(OUTPUT_DIR)/$(LOWER_APPNAME)
+endif
+ifeq ($(strip $(APPTYPE)),staticLib)
+APPFILE := $(OUTPUT_DIR)/lib$(LOWER_APPNAME).a
+endif
+ifeq ($(strip $(APPTYPE)),sharedLib)
+APPFILE := $(OUTPUT_DIR)/lib$(LOWER_APPNAME).so
+endif
+
+ifneq ($(strip $(PLATFORM_INCS)),)
+PLATFORM_INCS_FILE := $(OBJ_OUTPUT)/platform_incs_file.inc
+endif
+
+include $(BUILD_ROOT)/build_c.mk
+
+
+ifeq ($(strip $(APPTYPE)),app)
+EXT_OP := -fPIE
+endif
+ifeq ($(strip $(APPTYPE)),staticLib)
+EXT_OP := -fPIE
+endif
+ifeq ($(strip $(APPTYPE)),sharedLib)
+EXT_OP := -fPIC
+endif
+
+C_OPT := $(COMPILE_FLAGS) $(TC_COMPILER_MISC) $(RS_COMPILER_MISC) $(EXT_OP) --sysroot="$(SYSROOT)" -Werror-implicit-function-declaration $(M_OPT) $(USER_C_OPTS)
+CPP_OPT := $(CPP_COMPILE_FLAGS) $(TC_COMPILER_MISC) $(RS_COMPILER_MISC) $(EXT_OP) --sysroot="$(SYSROOT)" -Werror-implicit-function-declaration $(M_OPT) $(USER_CPP_OPTS)
+C_OPT_FILE := $(PLATFORM_INCS_FILE)
+
+OBJS := #
+
+# Global C/C++
+ifeq ($(strip $(USER_ROOT)),)
+USER_ROOT := $(PROJ_ROOT)
+endif
+$(eval $(call C_PROC_RAW,$(OBJ_OUTPUT),$(USER_SRCS),$(USER_INC_DIRS),$(USER_INC_FILES),$(USER_DEFS),$(USER_UNDEFS),$(C_OPT),$(C_OPT_FILE),C,c,$(CC),OBJS))
+$(foreach ext,cpp cxx cc c++ C,$(eval $(call C_PROC_RAW,$(OBJ_OUTPUT),$(USER_SRCS),$(USER_INC_DIRS),$(USER_CPP_INC_FILES),$(USER_CPP_DEFS),$(USER_CPP_UNDEFS),$(CPP_OPT),$(C_OPT_FILE),C++,$(ext),$(CXX),OBJS)))
+
+# Individual C/C++
+ifneq ($(strip $(USER_EXT_C_KEYS)),)
+$(foreach var,$(USER_EXT_C_KEYS),$(eval $(call C_PROC_RAW,$(OBJ_OUTPUT),$(USER_EXT_$(var)_SRCS),$(USER_EXT_$(var)_INC_DIRS),$(USER_EXT_$(var)_INC_FILES),$(USER_EXT_$(var)_DEFS),$(USER_EXT_$(var)_UNDEFS),$(C_OPT),$(C_OPT_FILE),C,c,$(CC),OBJS)))
+$(foreach ext,cpp cxx cc c++ C,$(foreach var,$(USER_EXT_C_KEYS),$(eval $(call C_PROC_RAW,$(OBJ_OUTPUT),$(USER_EXT_$(var)_SRCS),$(USER_EXT_$(var)_INC_DIRS),$(USER_EXT_$(var)_CPP_INC_FILES),$(USER_EXT_$(var)_CPP_DEFS),$(USER_EXT_$(var)_CPP_UNDEFS),$(CPP_OPT),$(C_OPT_FILE),C++,$(ext),$(CXX),OBJS))))
+endif
+
+
+ifneq ($(strip $(USER_LIB_DIRS)),)
+_ENC_USER_LIB_DIRS := $(call ENCODE_4MAKE,$(USER_LIB_DIRS))
+_ENC_USER_LIB_DIRS := $(addprefix -L,$(_ENC_USER_LIB_DIRS))
+LIBPATHS := $(call DECODE_4MAKE,$(_ENC_USER_LIB_DIRS))
+endif
+
+LIBS += $(addprefix -l,$(USER_LIBS))
+
+UOBJS += $(USER_OBJS)
+
+M_OPT = -MMD -MP -MF"$(@:%.o=%.d)"
+
+DEPS := $(OBJS:.o=.d)
+
+ifneq ($(strip $(DEPS)),)
+-include $(PROJ_ROOT)/Build/$(DEPS)
+endif
+
+
+ifeq ($(strip $(APPTYPE)),app)
+$(APPFILE) : $(OBJS) $(UOBJS)
+ @echo ' Building target: $@'
+ @echo ' Invoking: C/C++ Linker'
+ $(call MAKEDIRS,$(@D))
+ $(CXX) -o $(APPFILE) $(OBJS) $(UOBJS) $(LIBPATHS) -Xlinker --as-needed $(LIBS) $(LINK_FLAGS) $(TC_LINKER_MISC) $(RS_LINKER_MISC) -pie -lpthread --sysroot="$(SYSROOT)" -Xlinker --version-script="$(PROJ_ROOT)/.exportMap" $(RS_LIB_PATHS) $(RS_LIBRARIES) -Xlinker -rpath="/opt/usr/apps/$(APPID)/lib" -Werror-implicit-function-declaration $(USER_LINK_OPTS)
+ @echo ' Finished building target: $@'
+endif
+ifeq ($(strip $(APPTYPE)),staticLib)
+$(APPFILE) : $(OBJS) $(UOBJS)
+ @echo ' Building target: $@'
+ @echo ' Invoking: Archive utility'
+ $(call MAKEDIRS,$(@D))
+ $(AR) -r $(APPFILE) $(OBJS) $(UOBJS) $(AR_FLAGS) $(USER_LINK_OPTS)
+ @echo ' Finished building target: $@'
+endif
+ifeq ($(strip $(APPTYPE)),sharedLib)
+$(APPFILE) : $(OBJS) $(UOBJS)
+ @echo ' Building target: $@'
+ @echo ' Invoking: C/C++ Linker'
+ $(call MAKEDIRS,$(@D))
+ $(CXX) -o $(APPFILE) $(OBJS) $(UOBJS) $(LIBPATHS) -Xlinker --as-needed $(LIBS) $(LINK_FLAGS) $(TC_LINKER_MISC) $(RS_LINKER_MISC) -shared -lpthread --sysroot="$(SYSROOT)" $(RS_LIB_PATHS) $(RS_LIBRARIES) $(USER_LINK_OPTS)
+ @echo ' Finished building target: $@'
+endif
+
+
+$(OBJ_OUTPUT) :
+ $(call MAKEDIRS,$@)
+
+$(OUTPUT_DIR) :
+ $(call MAKEDIRS,$@)
+
+
+ifneq ($(strip $(PLATFORM_INCS)),)
+$(PLATFORM_INCS_FILE) : $(OBJ_OUTPUT)
+ @echo ' Building inc file: $@'
+ifneq ($(findstring Windows,$(OS)),)
+ifneq ($(findstring 3.82,$(MAKE_VERSION)),)
+ $(file > $@,$(PLATFORM_INCS))
+else
+ @echo $(PLATFORM_INCS) > $@
+endif
+else
+ @echo $(PLATFORM_INCS) > $@
+endif
+endif
+
+
+include $(BUILD_ROOT)/build_edc.mk
+
+#ifeq ($(strip $(ENVENTOR_SHARED_RES_PATH)),)
+ENVENTOR_SHARED_RES_PATH ?= $(ENVENTOR_PATH)/share/enventor
+#endif
+
+EDJ_FILES :=
+
+# Global EDCs
+ifneq ($(strip $(USER_EDCS)),)
+$(eval $(call EDJ_PROC_RAW,$(OUTPUT_DIR),$(USER_EDCS),$(USER_EDCS_IMAGE_DIRS),$(USER_EDCS_SOUND_DIRS),$(USER_EDCS_FONT_DIRS),EDJ_FILES))
+endif
+
+# Individual EDCs
+ifneq ($(strip $(USER_EXT_EDC_KEYS)),)
+$(foreach var,$(USER_EXT_EDC_KEYS),$(eval $(call EDJ_PROC_RAW,$(OUTPUT_DIR),$(USER_EXT_$(var)_EDCS),$(USER_EXT_$(var)_EDCS_IMAGE_DIRS),$(USER_EXT_$(var)_EDCS_SOUND_DIRS),$(USER_EXT_$(var)_EDCS_FONT_DIRS),EDJ_FILES)))
+endif
+
+
+include $(BUILD_ROOT)/build_po.mk
+
+MO_FILES :=
+
+# Global POs
+ifneq ($(strip $(USER_POS)),)
+$(eval $(call MO_PROC_RAW,$(OUTPUT_DIR),$(USER_POS),$(APPID2),MO_FILES))
+endif
+
+
+secondary-outputs : $(EDJ_FILES) $(MO_FILES)
+
+-include appendix.mk
+
+app_build : $(OUTPUT_DIR) $(APPFILE) secondary-outputs
+ @echo ========= done =========
+
+
+app_clean :
+ rm -f $(APPFILE)
+ rm -rf $(OUTPUT_DIR)
+
+build_version :
+ @echo makefile.mk : $(BUILD_SCRIPT_VERSION)
--- /dev/null
+# Add inputs and outputs from these tool invocations to the build variables
+
+SYSROOT = $(SBI_SYSROOT)
+
+USR_INCS := $(addprefix -I $(SYSROOT),$(PLATFORM_INCS_EX))
+
+ifeq ($(strip $(PLATFORM_LIB_PATHS)),)
+RS_LIB_PATHS := "$(SYSROOT)/usr/lib"
+else
+RS_LIB_PATHS := $(addprefix -L$(SYSROOT),$(PLATFORM_LIB_PATHS))
+endif
+
+RS_LIBRARIES := $(addprefix -l,$(RS_LIBRARIES_EX))
+
+PLATFORM_INCS = $(USR_INCS) -I"$(SDK_PATH)/library"
--- /dev/null
+# Add inputs and outputs from these tool invocations to the build variables
+
+ifneq ($(strip $(SHELL_BIN)),)
+SHELL = $(SHELL_BIN)
+else
+SHELL = sh
+endif
+
+ifneq ($(strip $(MKDIR_BIN)),)
+MKDIR = $(MKDIR_BIN)
+MKDIR_OP = -p
+else
+MKDIR = mkdir
+MKDIR_OP = -p
+endif
+
+ifneq ($(strip $(UNAME_BIN)),)
+UNAME = $(UNAME_BIN)
+else
+UNAME = uname
+endif
+
+ifneq ($(strip $(M4_BIN)),)
+M4 = $(M4_BIN)
+else
+M4 = m4
+endif
+
+ifneq ($(strip $(TR_BIN)),)
+TR = $(TR_BIN)
+else
+TR = tr
+endif
+
+ifneq ($(strip $(FIND_BIN)),)
+FIND = $(FIND_BIN)
+else
+FIND = find
+endif
+
+ifneq ($(strip $(SED_BIN)),)
+SED = $(SED_BIN)
+else
+SED = sed
+endif
+
+ifneq ($(strip $(GREP_BIN)),)
+GREP = $(GREP_BIN)
+else
+GREP = grep
+endif
+
+ifneq ($(strip $(EDJE_CC_BIN)),)
+EDJE_CC = $(EDJE_CC_BIN)
+else
+EDJE_CC = edje_cc
+endif
+
+ifneq ($(strip $(MSGFMT_BIN)),)
+MSGFMT = $(MSGFMT_BIN)
+else
+MSGFMT = msgfmt
+endif
+
+ifneq ($(strip $(CKSUM_BIN)),)
+CKSUM = $(CKSUM_BIN)
+else
+CKSUM = cksum
+endif
+
--- /dev/null
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+SET(PROJECT_NAME music-chooser)
+PROJECT(${PROJECT_NAME} C CXX)
+
+SET(SRCS
+ src/music-chooser.c
+ src/mc-select-view.c
+ src/mc-track-list.c
+ src/mc-voice-clip-list.c
+ src/mc-group-play-list.c
+ src/mc-group-list.c
+ src/mc-library-view.c
+ src/mc-common.c
+ src/mc-widget.c
+ src/mc-list-play.c
+ src/mc-index.c
+ src/mc-search-view.c
+ src/mc-search-list.c
+ src/mc-search.c
+ ${CMAKE_SOURCE_DIR}/src/common/mp-media-info.c
+ ${CMAKE_SOURCE_DIR}/src/common/mp-file-util.c
+)
+
+SET(COMMON_INCLUDE
+ ${CMAKE_SOURCE_DIR}/inc
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/include
+)
+
+INCLUDE_DIRECTORIES(${COMMON_INCLUDE})
+
+INCLUDE(FindPkgConfig)
+pkg_check_modules(pkgs REQUIRED
+ glib-2.0
+ sqlite3
+ storage
+ elementary
+ efl-extension
+ dlog
+ vconf
+ capi-appfw-application
+ capi-appfw-preference
+ capi-appfw-app-manager
+ libtzplatform-config
+ capi-content-media-content
+ capi-telephony
+ capi-message-port
+ capi-media-player
+ capi-system-system-settings
+ notification
+)
+
+FOREACH(flag ${pkgs_CFLAGS})
+ SET(EXTRA_CXXFLAGS "${EXTRA_CXXFLAGS} ${flag}")
+ENDFOREACH(flag)
+
+message("MC_PREFIX is ${MC_PREFIX}")
+message("CMAKE_BINARY_DIR is ${CMAKE_BINARY_DIR}")
+
+SET(EXTRA_CXXFLAGS "${EXTRA_CXXFLAGS} -fvisibility=hidden -Wall")
+SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CXXFLAGS}")
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_CXX_FLAGS} -Wno-format-extra-args")
+SET(CMAKE_LDFLAGS "-Wl,-zdefs" )
+ADD_DEFINITIONS("-DDOMAIN_NAME=\"org.tizen.music-chooser\"")
+ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
+ADD_DEFINITIONS("-DMC_MUSIC_PLAYER")
+ADD_DEFINITIONS("-DMC_ENABLE_TAB")
+#ADD_DEFINITIONS("-DMC_AUTO_RECOMMENDED")
+
+#ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS})
+ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
+TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} -lm)
+#SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES SOVERSION 0.1.0)
+#TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS})
+
+SET(BINDIR "${MC_PREFIX}/bin")
+
+# set extra defines
+SET(IMAGES_DIR "${MC_PREFIX}/res/music-chooser")
+SET(MC_EDJ_NAME "${MC_PREFIX}/res/music-chooser.edj")
+ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
+ADD_DEFINITIONS("-DIMAGES_DIR=\"${IMAGES_DIR}\"")
+ADD_DEFINITIONS("-DMC_EDJ_NAME=\"${MC_EDJ_NAME}\"")
+ADD_CUSTOM_TARGET(music-chooser.edj
+ COMMAND edje_cc -no-save -id ${CMAKE_CURRENT_SOURCE_DIR}/images
+ ${CMAKE_CURRENT_SOURCE_DIR}/res/music-chooser.edc
+ ${CMAKE_BINARY_DIR}/res/music-chooser.edj
+ DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/res/music-chooser.edc
+)
+ADD_DEPENDENCIES(${PROJECT_NAME} music-chooser.edj)
+
+INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${BINDIR})
+INSTALL(DIRECTORY DESTINATION ${DATADIR})
+INSTALL(DIRECTORY DESTINATION ${MC_PREFIX}/shared/res/shared_images)
+INSTALL(FILES ${CMAKE_SOURCE_DIR}/shared/res/shared_images/default_album_art_120.png DESTINATION ${MC_PREFIX}/shared/res/shared_images)
+INSTALL(FILES ${CMAKE_BINARY_DIR}/res/music-chooser.edj DESTINATION ${MC_PREFIX}/res)
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/org.tizen.music-chooser.xml DESTINATION ${SHARE_DIR})
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/music-chooser.png DESTINATION ${CMAKE_DESKTOP_ICON_DIR})
+
--- /dev/null
+Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+Except as noted, this software is licensed under Apache License, Version 2.
+Please, see the LICENSE file for Apache License terms and conditions.
\ No newline at end of file
--- /dev/null
+
+# Add pre/post build process
+PREBUILD_DESC =
+PREBUILD_COMMAND =
+POSTBUILD_DESC =
+POSTBUILD_COMMAND =
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns="http://tizen.org/ns/packages" package="org.tizen.music-chooser" version="0.1.1" install-location="internal-only" api-version="2.4">
+ <label>Music Appcontrol</label>
+ <label xml:lang="hy-am">Music Appcontrol</label>
+ <label xml:lang="az-az">Music Appcontrol</label>
+ <label xml:lang="eu-es">Music Appcontrol</label>
+ <label xml:lang="bg-bg">Music Appcontrol</label>
+ <label xml:lang="ca-es">Music Appcontrol</label>
+ <label xml:lang="zh-cn">Music Appcontrol</label>
+ <label xml:lang="zh-hk">Music Appcontrol</label>
+ <label xml:lang="zh-tw">Music Appcontrol</label>
+ <label xml:lang="hr-hr">Music Appcontrol</label>
+ <label xml:lang="cs-cz">Music Appcontrol</label>
+ <label xml:lang="da-dk">Music Appcontrol</label>
+ <label xml:lang="nl-nl">Music Appcontrol</label>
+ <label xml:lang="en-gb">Music Appcontrol</label>
+ <label xml:lang="en-us">Music Appcontrol</label>
+ <label xml:lang="et-ee">Music Appcontrol</label>
+ <label xml:lang="fi-fi">Music Appcontrol</label>
+ <label xml:lang="fr-fr">Music Appcontrol</label>
+ <label xml:lang="gl-es">Music Appcontrol</label>
+ <label xml:lang="ka-ge">Music Appcontrol</label>
+ <label xml:lang="de-de">Music Appcontrol</label>
+ <label xml:lang="el-gr">Music Appcontrol</label>
+ <label xml:lang="hu-hu">Music Appcontrol</label>
+ <label xml:lang="is-is">Music Appcontrol</label>
+ <label xml:lang="ga-ie">Music Appcontrol</label>
+ <label xml:lang="it-it">Music Appcontrol</label>
+ <label xml:lang="ja-jp">Music Appcontrol</label>
+ <label xml:lang="kk-kz">Music Appcontrol</label>
+ <label xml:lang="ko-kr">Music Appcontrol</label>
+ <label xml:lang="lv-lv">Music Appcontrol</label>
+ <label xml:lang="lt-lt">Music Appcontrol</label>
+ <label xml:lang="mk-mk">Music Appcontrol</label>
+ <label xml:lang="nb-no">Music Appcontrol</label>
+ <label xml:lang="pl-pl">Music Appcontrol</label>
+ <label xml:lang="pt-pt">Music Appcontrol</label>
+ <label xml:lang="pt-br">Music Appcontrol</label>
+ <label xml:lang="ro-ro">Music Appcontrol</label>
+ <label xml:lang="ru-ru">Music Appcontrol</label>
+ <label xml:lang="sr-rs">Music Appcontrol</label>
+ <label xml:lang="sk-sk">Music Appcontrol</label>
+ <label xml:lang="sl-si">Music Appcontrol</label>
+ <label xml:lang="es-es">Music Appcontrol</label>
+ <label xml:lang="es-mx">Music Appcontrol</label>
+ <label xml:lang="sv-se">Music Appcontrol</label>
+ <label xml:lang="tr-tr">Music Appcontrol</label>
+ <label xml:lang="uk-ua">Music Appcontrol</label>
+ <label xml:lang="uz-uz">Music Appcontrol</label>
+ <label xml:lang="ar-ae">Music Appcontrol</label>
+ <label xml:lang="zh-sg">Music Appcontrol</label>
+ <label xml:lang="hi-in">Music Appcontrol</label>
+ <label xml:lang="en-ph">Music Appcontrol</label>
+ <label xml:lang="fr-ca">Music Appcontrol</label>
+ <author email="hm2007.kim" href="www.samsung.com">Hyungmin Kim</author>
+ <description>Music chooser</description>
+ <ui-application appid="org.tizen.music-chooser" exec="/usr/apps/org.tizen.music-chooser/bin/music-chooser" nodisplay="true" hw-acceleration="on" process-pool="true" multiple="true" type="capp" taskmanage="false" launch_mode="caller">
+ <icon>/usr/share/icons/default/small/music-chooser.png</icon>
+ <label>Music</label>
+ <label xml:lang="hy-am">Երաժշտությն</label>
+ <label xml:lang="az-az">Musiqi</label>
+ <label xml:lang="eu-es">Musika</label>
+ <label xml:lang="bg-bg">Музика</label>
+ <label xml:lang="ca-es">Música</label>
+ <label xml:lang="zh-cn">音乐</label>
+ <label xml:lang="zh-hk">音樂</label>
+ <label xml:lang="zh-tw">音樂</label>
+ <label xml:lang="hr-hr">Glazba</label>
+ <label xml:lang="cs-cz">Hudba</label>
+ <label xml:lang="da-dk">Musik</label>
+ <label xml:lang="nl-nl">Muziek</label>
+ <label xml:lang="en-gb">Music</label>
+ <label xml:lang="en-us">Music</label>
+ <label xml:lang="et-ee">Muusika</label>
+ <label xml:lang="fi-fi">Musiikki</label>
+ <label xml:lang="fr-fr">Musique</label>
+ <label xml:lang="gl-es">Música</label>
+ <label xml:lang="ka-ge">მუსიკა</label>
+ <label xml:lang="de-de">Musik</label>
+ <label xml:lang="el-gr">Μουσική</label>
+ <label xml:lang="hu-hu">Zenék</label>
+ <label xml:lang="is-is">Tónlist</label>
+ <label xml:lang="ga-ie">Ceol</label>
+ <label xml:lang="it-it">Musica</label>
+ <label xml:lang="ja-jp">音楽</label>
+ <label xml:lang="kk-kz">Музыка</label>
+ <label xml:lang="ko-kr">음악</label>
+ <label xml:lang="lv-lv">Mūzika</label>
+ <label xml:lang="lt-lt">Muzika</label>
+ <label xml:lang="mk-mk">Музика</label>
+ <label xml:lang="nb-no">Musikk</label>
+ <label xml:lang="pl-pl">Muzyka</label>
+ <label xml:lang="pt-pt">Música</label>
+ <label xml:lang="pt-br">Músicas</label>
+ <label xml:lang="ro-ro">Muzică</label>
+ <label xml:lang="ru-ru">Музыка</label>
+ <label xml:lang="sr-rs">Muzika</label>
+ <label xml:lang="sk-sk">Hudba</label>
+ <label xml:lang="sl-si">Glasba</label>
+ <label xml:lang="es-es">Música</label>
+ <label xml:lang="es-mx">Música</label>
+ <label xml:lang="sv-se">Musik</label>
+ <label xml:lang="tr-tr">Müzik</label>
+ <label xml:lang="uk-ua">Музика</label>
+ <label xml:lang="uz-uz">Musiqa</label>
+ <label xml:lang="ar-ae">الموسيقى</label>
+ <label xml:lang="zh-sg">音乐</label>
+ <label xml:lang="hi-in">संगीत</label>
+ <label xml:lang="en-ph">Music</label>
+ <label xml:lang="fr-ca">Musique</label>
+ <app-control>
+ <operation name="http://tizen.org/appcontrol/operation/pick" />
+ <mime name="audio/*" />
+ </app-control>
+ </ui-application>
+
+ <privileges>
+ <privilege>http://tizen.org/privilege/mediastorage</privilege>
+ <privilege>http://tizen.org/privilege/systemsettings</privilege>
+ <privilege>http://tizen.org/privilege/externalstorage.appdata</privilege>
+ <privilege>http://tizen.org/privilege/externalstorage</privilege>
+ <privilege>http://tizen.org/privilege/notification</privilege>
+ </privileges>
+</manifest>
--- /dev/null
+
+# Project Name
+APPNAME = music-chooser
+
+# Project Type
+type = app
+
+# Project Profile
+profile = mobile-3.0
+
+# C Sources
+USER_SRCS = src/mc-index.c src/mc-library-view.c src/mc-search.c src/mc-track-list.c src/mc-search-list.c src/mc-group-list.c src/music-chooser.c src/mc-list-play.c src/mc-group-play-list.c src/mc-common.c src/mc-select-view.c src/mc-widget.c src/mc-voice-clip-list.c src/mc-search-view.c ../src/common/mp-media-info.c ../src/common/mp-file-util.c
+
+# EDC Sources
+USER_EDCS =
+
+# PO Sources
+USER_POS =
+
+# User Defines
+USER_DEFS = MC_ENABLE_TAB DOMAIN_NAME='"music-player"' SHAREDDIR='"/usr/apps/org.tizen.music-player/shared"'
+USER_CPP_DEFS =
+
+# User Undefines
+USER_UNDEFS =
+USER_CPP_UNDEFS =
+
+# User Libraries
+USER_LIBS =
+
+# User Objects
+USER_OBJS =
+USER_OBJS_ABS =
+
+# User Includes
+## C Compiler
+USER_INC_DIRS = src/include $(workspace_loc)/inc $(workspace_loc)/src/common/include $(workspace_loc)/src/include
+USER_INC_DIRS_ABS = src/include $(workspace_loc)/inc $(workspace_loc)/src/common/include $(workspace_loc)/src/include
+USER_INC_FILES =
+USER_INC_FILES_ABS =
+## C++ Compiler
+USER_CPP_INC_DIRS =
+USER_CPP_INC_DIRS_ABS =
+USER_CPP_INC_FILES =
+USER_CPP_INC_FILES_ABS =
+
+# User Library Path
+USER_LIB_DIRS =
+USER_LIB_DIRS_ABS =
+
+# EDC Resource Path
+USER_EDCS_IMAGE_DIRS = . images edje/images
+USER_EDCS_IMAGE_DIRS_ABS = $(workspace_loc)/images/music_player $(workspace_loc)/shared/res/shared_images $(workspace_loc)/shared/res/target_images
+USER_EDCS_SOUND_DIRS = edje/sounds
+USER_EDCS_SOUND_DIRS_ABS =
+USER_EDCS_FONT_DIRS = edje/fonts
+USER_EDCS_FONT_DIRS_ABS =
+
+# EDC Flags
+USER_EXT_EDC_KEYS = EDC0
+
+USER_EXT_EDC0_EDCS = res/music-chooser.edc
+USER_EXT_EDC0_EDCS_IMAGE_DIRS = . images edje/images
+USER_EXT_EDC0_EDCS_IMAGE_DIRS_ABS = $(workspace_loc)/images/music_player $(workspace_loc)/shared/res/shared_images $(workspace_loc)/shared/res/target_images
+USER_EXT_EDC0_EDCS_SOUND_DIRS = edje/sounds
+USER_EXT_EDC0_EDCS_SOUND_DIRS_ABS =
+USER_EXT_EDC0_EDCS_FONT_DIRS = edje/fonts
+USER_EXT_EDC0_EDCS_FONT_DIRS_ABS =
+
+# Resource Filter
+USER_RES_INCLUDE =
+USER_RES_EXCLUDE =
+
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+//****************************************************************************//
+// This file defines the width, height (not color!) for each widgets
+// We can define different INC file by Resolution (HD, WVGA, HVGA)
+//
+// ************* Naming Rule ************ //
+// {WIDGET}_{GROUP}_{PART}_{STATE}_{TYPE}
+// WIDGET: NAVIFRAME, LIST, DATETIME, POPUP, etc.
+// GROUP: INDEX
+// PART: TEXT, ICON, BG, PADDING, DIVIDER, ICON, etc.
+// STATE: LEFT, RIGHT, TOP, BOTTOM, MIN, MAX,
+// TYPE: HEIGHT, WIDTH, SIZE
+// e.g. LIST_PADDING_LEFT_HEIGHT
+//****************************************************************************//
+#define BASE_SCALE_INC 2.4
+#define SMALL "WVGA/"
+#define MEDIUM "HD/"
+#define DEFAULT_IMAGE "WVGA/"
+//****************************************************************************//
+// Colorselector
+//****************************************************************************//
+#define COLORSELECTOR_PALETTE_COLORPLANE_HEIGHT_INC 238
+#define COLORSELECTOR_PALETTE_COLORPLANE_WIDTH_INC 720
+#define COLORSELECTOR_PORTRAIT_HOR_PAD_COLORPLANE_INC "7"
+#define COLORSELECTOR_PORTRAIT_VER_PAD_COLORPLANE_INC "10"
+#define COLORSELECTOR_PALETTE_COLORBG_MIN_COLORPLANE_INC 90 90
+#define COLORPLANE_MIN_HEIGHT_INC 80
+#define COLORSELECTOR_TOPBOTTOM_PAD_COLORPLANE_INC 24
+//****************************************************************************//
+// Naviframe
+//****************************************************************************//
+#define NAVIFRAME_TITLE_HEIGHT_INC 108
+#define NAVIFRAME_INDICATOR_HEIGHT_INC 54
+#define NAVIFRAME_SUBTITLE_HEIGHT_INC 42
+#define NAVIFRAME_TITLE_TOP_PADDING_HEIGHT_INC 4
+#define NAVIFRAME_SUBTITLE_BOTTOM_PADDING_HEIGHT_INC 4
+#define NAVIFRAME_TABBAR_HEIGHT_INC 108
+#define NAVIFRAME_NAVIGATIONBAR_HEIGHT_INC 76
+#define NAVIFRAME_NAVIGATIONBAR_TOP_DIVIDER_HEIGHT_INC 1
+#define NAVIFRAME_TABBAR2_HEIGHT_INC 156
+#define NAVIFRAME_TABBAR_TOP_DIVIDER_HEIGHT_INC 2
+#define NAVIFRAME_TITLE_LEFT_PADDING_WIDTH_INC 22
+#define NAVIFRAME_TITLE_FUNC_BTN_SIZE_INC 114 108
+#define NAVIFRAME_BADGE_ICON_LEFT_PADDING_WIDTH_INC 22
+#define NAVIFRAME_BADGE_TEXT_LEFT_PADDING_WIDTH_INC 22
+#define NAVIFRAME_BADGE_HEIGHT_INC 48
+#define NAVIFRAME_BADGE2_PADDING_WIDTH_INC (NAVIFRAME_BADGE_ICON_LEFT_PADDING_WIDTH_INC + NAVIFRAME_BADGE_TEXT_LEFT_PADDING_WIDTH_INC + NAVIFRAME_BADGE_TEXT_LEFT_PADDING_WIDTH_INC)
+#define NAVIFRAME_DRAWERS_WIDTH_INC 82
+#define NAVIFRAME_TOOLBAR_HEIGHT_INC 162
+#define NAVIFRAME_TOOLBAR_COLOR_INC 245 245 245 255
+
+#define BUTTON_NAVIFRAME_TITLE_TEXT_BTN_MIN_W_INC 180
+#define BUTTON_NAVIFRAME_TITLE_TEXT_LEFT_RIGHT_PADDING_INC 22.5
+#define BUTTON_NAVIFRAME_TITLE_TEXT_TEXTBLOCK_MIN_W_INC 135
+#define BUTTON_NAVIFRAME_TITLE_BUTTON_TEXT_SIZE_INC 180 108
+#define BUTTON_NAVIFRAME_TITLE_TEXT_SIZE_INC 33
+
+#define BUTTON_NAVIFRAME_TITLE_BUTTON_SIZE_INC 114 108
+#define BUTTON_NAVIFRAME_TITLE_BUTTON_BG_PADDING_WIDTH_INC 22
+#define BUTTON_NAVIFRAME_TITLE_BUTTON_BG_SIZE_INC 70 70
+#define BUTTON_NAVIFRAME_TITLE_BUTTON_IMAGE_PADDING_WIDTH_INC 22
+#define BUTTON_NAVIFRAME_TITLE_BUTTON_IMAGE_SIZE_INC 70 70
+#define BUTTON_NAVIFRAME_DRAWERS_WIDTH_INC 82
+#define BUTTON_NAVIFRAME_DRAWERS_IMAGE_SIZE_INC 82 108
+
+#define NAVIFRAME_TITLE_TEXT_FONT_SIZE_INC 54
+#define NAVIFRAME_SUBTITLE_VISIBLE_TEXT_FONT_SIZE_INC 45
+#define NAVIFRAME_VISIBLE_TEXT_FONT_SIZE_INC 31
+#define NAVIFRAME_TITLE_TEXT_FONT_RANGE_MIN 30
+#define NAVIFRAME_TITLE_TEXT_FONT_RANGE_MAX 36
+
+#define NAVIFRAME_TITLE_TEXT_SHADOW_COLOR_INC "#080808BF"
+#define NAVIFRAME_SUBTITLE_VISIBLE_TEXT_SHADOW_COLOR_INC "#080808BF"
+#define NAVIFRAME_SUBTITLE_TEXT_SHADOW_COLOR_INC "#080808BF"
+//****************************************************************************//
+// Label
+//****************************************************************************//
+#define LABEL_FONT_SIZE_INC 24
+
+//****************************************************************************//
+// Layout
+//****************************************************************************//
+#define LAYOUT_INDICATOR_HEIGHT_INC 48 // FIXME: indicator UX is not updated yet.
+
+#define FLOATING_BUTTON_BOTTOM_PADDING_INC 42
+#define FLOATING_BUTTON_WIDTH 138
+#define FLOATING_BUTTON_HEIGHT 108
+#define FLOATING_BUTTON_ICON_LEFT_PADDING 51
+#define FLOATING_BUTTON_ICON_RIGHT_PADDING 33
+#define FLOATING_BUTTON_ICON_WIDTH 54
+#define FLOATING_BUTTON_ICON_HEIGHT 54
+
+#define SEARCHBAR_CANCEL_BUTTON_W_INC 30
+#define SEARCHBAR_CANCEL_BUTTON_LEFT_PADDING_INC 10
+#define SEARCHBAR_H_INC 63
+#define SEARCHBAR_HEIGHT_INC 63
+#define SEARCHBAR_BASE_HEIGHT_INC 63
+#define SEARCHBAR_WIDTH_INC 320
+#define SEARCHBAR_TOP_PADDING_INC 0
+#define SEARCHBAR_BOTTOM_PADDING_INC 0
+#define SEARCHBAR_LEFT_PADDING_INC 0
+#define SEARCHBAR_RIGHT_PADDING_INC 0
+#define SEARCHBAR_BOTTOM_LINE_HEIGHT 1
+
+//****************************************************************************//
+// Ctxpopup
+//****************************************************************************//
+#define CTXPOPUP_OUTSIDE_LEFT_PADDING 7
+#define CTXPOPUP_OUTSIDE_RIGHT_PADDING 7
+#define CTXPOPUP_MOVE_PAD 40
+#define CTXPOPUP_OUTLINE_SIZE 1
+#define CTXPOPUP_WIDTH 720
+#define CTXPOPUP_TEXT_MAX 676
+#define CTXPOPUP_ITEM_TEXT_SIZE 20
+#define CTXPOPUP_ITEM_TEXT_MAX_SIZE 40
+#define CTXPOPUP_ITEM_HEIGHT_MIN 140
+#define CTXPOPUP_ITEM_HEIGHT_MAX 153
+#define CTXPOPUP_ITEM_TEXT_LR_PADDING 22
+#define CTXPOPUP_ITEM_TEXT_TB_PADDING 41
+#define CTXPOPUP_ITEM_TEXT_HEIGHT_MIN 58
+#define CTXPOPUP_DROPDOWN_LIST_WIDTH 674
+#define CTXPOPUP_DROPDOWN_LABEL_MIN_WIDTH 201
+#define CTXPOPUP_DROPDOWN_TEXT_MAX 630
+#define CTXPOPUP_DROPDOWN_ITEM_TEXT_SIZE 40
+#define CTXPOPUP_DROPDOWN_ITEM_TEXT_MAX_SIZE (CTXPOPUP_DROPDOWN_ITEM_TEXT_SIZE*2)
+#define CTXPOPUP_DROPDOWN_ITEM_HEIGHT_MIN 108
+#define CTXPOPUP_DROPDOWN_ITEM_HEIGHT_MAX 138
+#define CTXPOPUP_DROPDOWN_ITEM_TEXT_LR_PADDING 22
+#define CTXPOPUP_DROPDOWN_CONTENT_LR_PADDING 1
+#define CTXPOPUP_DROPDOWN_CONTENT_TB_PADDING 1
+#define CTXPOPUP_DROPDOWN_SEPARATOR_HEIGHT 2
+#define CTXPOPUP_ITEM_HORIZONTAL_HEIGHT_INC 94
+#define CTXPOPUP_ITEM_TEXT_HORIZONTAL_PADDING_INC 15
+#define CTXPOPUP_CONTENT_PADDING_HEIGHT 1
+#define CTXPOPUP_ITEM_ICON_HORIZONTAL_WIDTH_INC 124
+#define CTXPOPUP_ITEM_BOTTOM_PADDING_INC 23
+#define CTXPOPUP_ITEM_TOP_PADDING_INC 23
+#define CTXPOPUP_ITEM_HEIGHT_INC 154
+#define CTXPOPUP_CONTENT_PADDING 1
+#define CTXPOPUP_ITEM_HORIZONTAL_WIDTH_MIN_INC 106
+#define CTXPOPUP_ITEM_HORIZONTAL_WIDTH_MAX_INC 136
+#define CTXPOPUP_ITEM_HORIZONTAL_TEXT_HEIGHT_MIN 48
+#define CTXPOPUP_SEPARATOR_MIN_SIZE_INC 1 CTXPOPUP_ITEM_HORIZONTAL_HEIGHT_INC
+#define CTXPOPUP_SEPARATOR_MAX_SIZE_INC 1 -1
+#define CTXPOPUP_ICON_WIDTH_INC 45
+#define CTXPOPUP_ICON_HEIGHT_INC 45
+#define CTXPOPUP_ITEM_ICON_BOTTOM_PADDING_INC 9
+#define CTXPOPUP_TEXT_SIZE_INC 26
+#define CTXPOPUP_ITEM_TEXT_TOP_PADDING_INC 23
+#define CTXPOPUP_ITEM_TEXT_BOTTOM_PADDING_INC 23
+
+//****************************************************************************//
+// Copypaste
+//****************************************************************************//
+#define CTXPOPUP_SHADOW_TOP_PADDING 0
+#define CTXPOPUP_SHADOW_BOTTOM_PADDING 0
+#define CTXPOPUP_SHADOW_LEFT_PADDING 1
+#define CTXPOPUP_SHADOW_RIGHT_PADDING 1
+#define CTXPOPUP_ITEM_DISABLED_COLOR 0 0 0 0
+#define CTXPOPUP_ITEM_TEXT_LR_PADDING_INC 15
+#define CTXPOPUP_ICON_ITEM_HORIZONTAL_WIDTH_INC 88
+#define CTXPOPUP_FRAME_CORNER_ARROW_PADDING 18
+#define CTXPOPUP_CONTENT_TOP_PADDING 3
+#define CTXPOPUP_CONTENT_BOTTOM_PADDING 5
+#define CTXPOPUP_CONTENT_LEFT_PADDING 3
+#define CTXPOPUP_CONTENT_RIGHT_PADDING 3
+#define CTXPOPUP_ARROW_PADDING 0
+#define CTXPOPUP_ARROW_SIZE_INC 30 30
+#define CTXPOPUP_COPYPASTE_SHADOW_LEFT_PADDING 1
+#define CTXPOPUP_COPYPASTE_SHADOW_RIGHT_PADDING 1
+#define CTXPOPUP_COPYPASTE_CONTENT_TOP_PADDING 3
+#define CTXPOPUP_COPYPASTE_CONTENT_BOTTOM_PADDING 5
+#define CTXPOPUP_COPYPASTE_CONTENT_LEFT_PADDING 3
+#define CTXPOPUP_COPYPASTE_CONTENT_RIGHT_PADDING 3
+#define CTXPOPUP_COPYPASTE_ITEM_HORIZONTAL_WIDTH_MIN_INC 128
+#define CTXPOPUP_COPYPASTE_TEXT_SIZE_INC 26
+#define CTXPOPUP_COPYPASTE_TEXT_MAX_SIZE_INC (CTXPOPUP_COPYPASTE_TEXT_SIZE_INC * 2)
+#define CTXPOPUP_COPYPASTE_WIDTH_MAX_INC 706
+#define CTXPOPUP_COPYPASTE_ITEM_HEIGHT_MIN_INC 132
+#define CTXPOPUP_COPYPASTE_ICON_WIDTH_INC 45
+#define CTXPOPUP_COPYPASTE_ICON_HEIGHT_INC 45
+#define CTXPOPUP_COPYPASTE_ITEM_TEXT_TOP_PADDING_INC 23
+#define CTXPOPUP_COPYPASTE_ITEM_ICON_BOTTOM_PADDING_INC 10
+#define CTXPOPUP_COPYPASTE_ITEM_TEXT_PADDING_INC 15
+#define CTXPOPUP_COPYPASTE_ITEM_TEXT_BOTTOM_PADDING_INC 23
+#define CTXPOPUP_COPYPASTE_SEPARATOR_MIN_SIZE_INC 1 CTXPOPUP_COPYPASTE_ITEM_HEIGHT_MIN_INC
+#define CTXPOPUP_COPYPASTE_SEPARATOR_MAX_SIZE_INC 1 -1
+
+//****************************************************************************//
+// Tabbar
+//****************************************************************************//
+#define TABBAR_TWO_ITEMS_SIZE_INC 280 0;
+#define TABBAR_THREE_ITEMS_SIZE_INC 240 0;
+#define TABBAR_FOUR_ITEMS_SIZE_INC 180 0;
+#define TABBAR_SCROLLABLE_ITEMS_SIZE_INC 202 0;
+#define TABBAR_LANDSCAPE_TWO_ITEMS_SIZE_INC 640 0;
+#define TABBAR_LANDSCAPE_THREE_ITEMS_SIZE_INC 427 0;
+#define TABBAR_LANDSCAPE_FOUR_ITEMS_SIZE_INC 320 0;
+#define TABBAR_LANDSCAPE_SCROLLABLE_ITEMS_SIZE_INC 280 0;
+#define TABBAR_SELECTED_LINE_SIZE_INC 0 5
+#define TABBAR_TEXT_CENTER_PADDING_SIZE_INC 0 2
+#define TABBAR_TEXT_LEFT_RIGHT_PADDING_SIZE_INC 12 0
+#define TABBAR_TEXT_LEFT_TOP_PADDING_SIZE_INC 12 27
+#define TABBAR_TEXT_RIGHT_BOTTOM_PADDING_SIZE_INC 12 20
+#define TABBAR_ICON_TEXT_LEFT_TOP_PADDING_SIZE_INC 12 20
+#define TABBAR_ICON_TEXT_RIGHT_BOTTOM_PADDING_SIZE_INC 12 15
+#define TABBAR_ICON_TEXT_LAND_LEFT_TOP_PADDING_SIZE_INC 12 27
+#define TABBAR_ICON_TEXT_LAND_RIGHT_BOTTOM_PADDING_SIZE_INC 12 20
+#define TABBAR_ICON_SIZE_INC 70 70
+#define TABBAR_ICON_TEXT_PAD_INC 22 0
+#define TABBAR_ICON_RECT_SIZE_INC 92 70
+#define TABBAR_TEXT_TEXT_SIZE_INC 0 56
+#define TABBAR_ICON_TEXT_TEXT_SIZE_INC 0 47
+#define TABBAR_ICON_TEXT_LAND_TEXT_SIZE_INC 0 56
+//Navigation style
+#define TOOLBAR_NAVI_HEIGHT_INC 78
+#define TOOLBAR_NAVI_PADDING_INC 22
+#define TOOLBAR_NAVI_DIVIDER_INC 64
+
+//****************************************************************************//
+// Genlist
+//****************************************************************************//
+// Group index
+#define LIST_INDEX_PADDING_LEFT_SIZE 15
+#define LIST_INDEX_PADDING_RIGHT_SIZE 15
+#define LIST_INDEX_PADDING_TOP_SIZE 7
+#define LIST_INDEX_PADDING_BOTTOM_SIZE 8
+
+#define LIST_INDEX_HEIGHT 36
+
+#define LIST_INDEX_TEXT_MAIN_SIZE 27
+#define LIST_INDEX_TEXT_SUB_SIZE 27
+#define LIST_INDEX_TEXT_SUB_WIDTH_MAX 240
+#define LIST_INDEX_TEXT_PADDING_SIZE 22
+#define LIST_INDEX_BOTTOMLINE_HEIGHT 2
+
+// Normal style
+#define LIST_ITEM_HEIGHT 120
+#define LIST_PADDING_TOP_SIZE 29 // FIXME: please check font height
+#define LIST_PADDING_BOTTOM_SIZE 24 // FIXME: please check font height
+#define LIST_2LINE_PADDING_TOP_SIZE 24 // FIXME: please check font height
+#define LIST_2LINE_PADDING_BOTTOM_SIZE 24 // FIXME: please check font height
+#define LIST_PADDING_CENTER_LEFT_SIZE 24
+#define LIST_PADDING_CENTER_RIGHT_SIZE 24
+#define LIST_PADDING_TEXT_SIZE 24
+#define LIST_PADDING_DEFAULT_SIZE 24
+
+#define LIST_TEXT_MAIN_HEIGHT 38
+#define LIST_TEXT_SUB_HEIGHT 32
+
+#define LIST_TEXT_MAIN_SIZE 30
+#define LIST_TEXT_SUB_SIZE 24
+#define LIST_TEXT_SUB_WIDTH_MAX 130
+
+//Expand style
+#define GENLIST_TREESIZE_DEFAULT 32
+
+//****************************************************************************//
+// SCROLLER
+//****************************************************************************//
+#define SCROLLER_DEFAULT_SCROLLBAR_VBAR_MIN_SIZE_INC 12 32
+#define SCROLLER_DEFAULT_SCROLLBAR_VBAR_MAX_SIZE_INC 12 99999
+#define SCROLLER_DEFAULT_SCROLLBAR_HBAR_MIN_SIZE_INC 32 12
+#define SCROLLER_DEFAULT_SCROLLBAR_HBAR_MAX_SIZE_INC 99999 12
+#define SCROLLER_TABBAR_SCROLLBAR_HBAR_HEIGHT 20
+#define SCROLLER_TABBAR_SCROLLBAR_HBAR_MIN_SIZE_INC 3 SCROLLER_TABBAR_SCROLLBAR_HBAR_HEIGHT
+#define SCROLLER_TABBAR_SCROLLBAR_HBAR_MAX_SIZE_INC 99999 SCROLLER_TABBAR_SCROLLBAR_HBAR_HEIGHT
+#define SCROLLER_DEFAULT_SCROLLBAR_VBAR_PADDING_SIZE 6
+#define SCROLLER_DEFAULT_SCROLLBAR_HBAR_PADDING_SIZE 6
+#define SCROLLER_HANDLER_SCROLLBAR_VBAR_MIN_SIZE_INC 38 70
+#define SCROLLER_HANDLER_SCROLLBAR_HBAR_MIN_SIZE_INC 70 38
+#define SCROLLER_HANDLER_SCROLLBAR_VBAR_MIDDLE_MIN_SIZE_INC 30 30
+#define SCROLLER_HANDLER_SCROLLBAR_HBAR_MIDDLE_MIN_SIZE_INC 30 30
+#define SCROLLER_HANDLER_SCROLLBAR_VBAR_PADDING_SIZE 6
+#define SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MAX_SIZE 120
+#define SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MIN_SIZE 75
+#define SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MOVE_CORRECTION_VALUE 45
+#define SCROLLER_EFFECT_SHADOW_SECOND_LAYER_MAX_SIZE 96
+#define SCROLLER_EFFECT_SHADOW_SECOND_LAYER_MIN_SIZE 60
+#define SCROLLER_EFFECT_SHADOW_SECOND_LAYER_MOVE_CORRECTION_VALUE 36
+#define SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MAX_SIZE 72
+#define SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MIN_SIZE 45
+#define SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MOVE_CORRECTION_VALUE 27
+#define SCROLLER_EFFECT_SHADOW_FOURTH_LAYER_MAX_SIZE 48
+#define SCROLLER_EFFECT_SHADOW_FOURTH_LAYER_MIN_SIZE 30
+#define SCROLLER_EFFECT_SHADOW_FOURTH_LAYER_MOVE_CORRECTION_VALUE 18
+#define SCROLLER_EFFECT_SHADOW_FIFTH_LAYER_MAX_SIZE 24
+#define SCROLLER_EFFECT_SHADOW_FIFTH_LAYER_MIN_SIZE 15
+#define SCROLLER_EFFECT_SHADOW_FIFTH_LAYER_MOVE_CORRECTION_VALUE 9
+
+//****************************************************************************//
+// Entry
+//****************************************************************************//
+// Normal Entry
+#define ENTRY_TEXT_SIZE_INC 24
+#define ENTRY_PREEDIT_BACKGROUND_COLOR_INC "#FAFAFA"
+#define ENTRY_PREEDIT_TEXT_COLOR_INC "#000000"
+#define ENTRY_PREEDIT_UNDERLINE_COLOR_INC "#FAFAFA"
+#define ENTRY_PREEDIT_SUB1_COLOR_INC "#2EA8E1"
+#define ENTRY_PREEDIT_SUB2_COLOR_INC "#9962C3"
+#define ENTRY_PREEDIT_SUB3_COLOR_INC "#76DE37"
+#define ENTRY_PREEDIT_SUB4_COLOR_INC "#999999"
+#define ENTRY_SELECTION_BLOCK_HANDLE_MIN_WIDTH_INC 34
+#define ENTRY_SELECTION_BLOCK_HANDLE_MIN_HEIGHT_INC 34
+#define ENTRY_SELECTION_BLOCK_HANDLE_EDGE_WIDTH 3
+#define ENTRY_CURSOR_HANDLE_MIN_WIDTH_INC 50
+#define ENTRY_CURSOR_HANDLE_MIN_HEIGHT_INC 50
+#define ENTRY_CURSOR_SIZE_INC 3 0
+#define MAGNIFIER_WIDTH_FIXED_INC 264
+#define MAGNIFIER_HEIGHT_MIN 78
+#define MAGNIFIER_HEIGHT_MAX 108
+#define MAGNIFIER_ARROW_HEIGHT_INC 10
+#define MAGNIFIER_LEFT_OFFSET_INC 11 11
+#define MAGNIFIER_RIGHT_OFFSET_INC 11 22
+#define ENTRY_EMOTICON_SIZE 26 26
+
+// Editfield
+#define ENTRY_EDITFIELD_TEXT_SIZE_INC 24
+#define ENTRY_EDITFIELD_CLEAR_BUTTON_PADDING_MIN_MAX_INC 34 0
+#define ENTRY_EDITFIELD_FOCUS_UNDERLINE_SIZE_INC 0 1
+#define ENTRY_EDITFIELD_FOCUS_UNDERLINE_BOTTOM_PADDING_SIZE_INC 0 7
+#define ENTRY_EDITFIELD_TOP_PADDING_HEIGHT 0 15
+#define ENTRY_EDITFIELD_BOTTOM_PADDING_HEIGHT 0 15
+#define ENTRY_EDITFIELD_LEFT_PADDING_HEIGHT 10 0
+#define ENTRY_EDITFIELD_RIGHT_PADDING_HEIGHT 10 0
+#define ENTRY_EDITFIELD_SEARCHBAR_TEXT_SIZE_INC 24
+#define ENTRY_EDITFIELD_LEFT_RIGHT_PADDING 8 0
+#define ENTRY_EDITFIELD_LEFT_RIGHT_MARGIN 8
+#define ENTRY_EDITFIELD_TOP_PADDING_HEIGHT_MULTILINE 0 43
+#define ENTRY_EDITFIELD_BOTTOM_PADDING_HEIGHT_MULTILINE 0 43
+#define ENTRY_EDITFIELD_FOCUS_UNDERLINE_BOTTOM_PADDING_SIZE_MULTILINE 0 28
+// Clear Button
+#define BUTTON_EDITFIELD_CLEAR_BUTTON_MIN_MAX_INC 60 144
+#define BUTTON_EDITFIELD_CLEAR_BUTTON_IMAGE_MIN_MAX_INC 54 54
+
+// Editfield Layout
+#define EDITFIELD_BASE_HEIGHT_INC 140
+#define EDITFIELD_TOP_LEFT_PADDING_MIN_INC 22 15
+#define EDITFIELD_MULTILINE_TOP_LEFT_PADDING_MIN_INC 22 42
+#define EDITFIELD_BOTTOM_RIGHT_PADDING_MIN_INC 22 24
+#define EDITFIELD_MULTILINE_BOTTOM_RIGHT_PADDING_MIN_INC 22 42
+#define EDITFIELD_BUTTON_FIELD_MIN_INC 54 54
+#define EDITFIELD_FOCUSED_BOTTOM_RIGHT_PADDING_MIN_INC 22+54+22 24
+#define EDITFIELD_ENTRY_FIELD_MIN_INC 0 56
+#define EDITFIELD_LINE_BOTTOM_PADDING_MIN_INC 0 15
+#define EDITFIELD_LINE_RECT_MIN_INC 0 3
+#define EDITFIELD_ENTRY_SWALLOW_ALIGN 0.5 1.0-(15/24/2)
+#define EDITFIELD_BASE_HEIGHT_MULTILINE_INC 96
+#define EDITFIELD_LINE_BOTTOM_PADDING_MIN_MULTILINE_INC 0 15
+
+#define BUTTON_OPTION_MIN_MAX_INC 70 70
+#define BUTTON_OPTION_IMAGE_MIN_MAX_INC 70 70
+
+//Slider
+#define SLIDER_BASE_HEIGHT_INC 10
+#define SLIDER_INDICATOR_SIZE_INC 64
+#define SLIDER_SWALLOWBAR_HEIGHT_INC 64
+#define SLIDER_LEFT_RIGHT_PADDING_SIZE_INC 32 0
+#define SLIDER_ICON_PADDING_SIZE_INC 6 0
+#define SLIDER_CENTER_POINT_SIZE_INC 16 36
+
+//Slider vertical
+#define SLIDER_VERTICAL_BASE_HEIGHT_INC 10
+#define SLIDER_SWALLOWBAR_WIDTH_INC 64
+#define SLIDER_VERTICAL_CENTER_POINT_SIZE_INC 36 16
+#define SLIDER_VERTICAL_ICON_PADDING_SIZE_INC 28 4
+#define SLIDER_TOP_BOTTOM_PADDING_SIZE_INC 64 32
+#define SLIDER_TOP_BOTTOM_HANDLER_OFFSET_SIZE 32
+
+#define SLIDER_POPUP_WIDTH_INC 120
+#define SLIDER_POPUP_HEIGHT_INC 138
+#define SLIDER_INDICATOR_PADDING_TOP 30
+#define SLIDER_INDICATOR_PADDING_BOTTOM 48
+#define SLIDER_INDICATOR_TEXT_SIZE_HEIGHT 30
+#define SLIDER_INDICATOR_TEXT_SIZE_WIDTH 30
+
+//Progressbar
+#define PROGRESSBAR_BG_DEFAULT_HEIGHT_INC 63
+#define PROGRESSBAR_BG_ONE_TEXT_HEIGHT_INC 72
+#define PROGRESSBAR_BG_TWO_TEXT_HEIGHT_INC 114
+#define PROGRESSBAR_LIST_PROGRESS_HEIGHT_INC 10
+#define PROGRESSBAR_PADDING_HEIGHT_INC 10
+#define PROCESS_LARGE_IMAGE_HEIGHT_INC 100
+#define PROCESS_LARGE_IMAGE_WIDTH_INC 100
+#define PROCESS_MEDIUM_IMAGE_HEIGHT_INC 54
+#define PROCESS_MEDIUM_IMAGE_WIDTH_INC 54
+#define PROCESS_SMALL_IMAGE_HEIGHT_INC 42
+#define PROCESS_SMALL_IMAGE_WIDTH_INC 42
+
+//Check and Radio
+#define CHECK_GEN_SIZE 90 90
+#define CHECK_SIZE 40 40
+#define CHECK_ICON_SIZE 46 46
+#define CHECK_BG_SIZE 60 60
+#define CHECK_BG_STROKE_SIZE 60 60
+#define CHECK_FAVORITE_LIST 82
+#define CHECK_FAVORITE_LIST_LEFT_PADDING_WIDTH 0
+#define CHECK_FAVORITE_LIST_RIGHT_PADDING_WIDTH 22
+#define RADIO_SIZE 46 46
+#define RADIO_BG_SIZE 60 60
+#define RADIO_BG_STROKE_SIZE 60 60
+#define CHECK_TEXT_FONT_SIZE_INC 45
+#define CHECK_PAD_BEFORE_TEXT_INC 23 0
+// No Content
+#define NO_CONTENT_WIDTH_INC 720
+#define NO_CONTENT_WIDTH_LANDSCAPE_INC 800
+#define NO_CONTENT_BG_HEIGHT_INC 373
+#define NO_CONTENT_BG_LANDSCAPE_HEIGHT_INC 200
+#define NO_CONTENT_MAX_HEIGHT_INC 504
+#define NO_CONTENT_LEFT_RIGHT_PADDING_WIDTH_INC 20
+#define NO_CONTENT_TITLE_TEXT_HEIGHT_INC 51
+#define NO_CONTENT_TEXT_PADDING_HEIGHT_INC 26
+#define NO_CONTENT_TITLE_TEXT_FONT_SIZE_INC 40
+#define NO_CONTENT_TEXT_FONT_SIZE_INC 32
+//Button
+#define BUTTON_BOTTOM_MIN_HEIGHT 110
+#define BUTTON_MIN_WIDTH 150
+#define BUTTON_MIN_HEIGHT 84
+#define BUTTON_MAX_WIDTH 676
+#define BUTTON_ICON_DEFAULT_WIDTH 45
+#define BUTTON_ICON_DEFAULT_HEIGHT 45
+#define BUTTON_PADDING_ICON_RIGHT 18
+#define BUTTON_BOTTOM_PADDING_LEFT_RIGHT 12
+#define BUTTON_PADDING_LEFT_RIGHT 5
+#define BUTTON_DROPDOWN_PADDING_LEFT_RIGHT 22
+#define BUTTON_DROPDOWN_ICON_SIZE 36 36
+#define BUTTON_DROPDOWN_ICON_WIDTH 36
+#define BUTTON_DROPDOWN_ICON_BOTTOM_PADDING 14
+#define BUTTON_DROPDOWN_LABEL_ICON_BOTTOM_PADDING 29
+#define BUTTON_DROPDOWN_MIN_HEIGHT 108
+#define BUTTON_DROPDOWN_LABEL_HEIGHT 87
+#define BUTTON_DROPDOWN_UNDERLINE_HEIGHT 2
+#define BUTTON_DROPDOWN_LABEL_UNDERLINE_HEIGHT 3
+#define BUTTON_DROPDOWN_PADDING_TEXT_WIDTH 12
+#define BUTTON_ICON_HEIGHT 70
+#define BUTTON_ICON_WIDTH 70
+#define BUTTON_CIRCLE_SIZE 110 110
+#define BUTTON_CIRCLE_ICON_SIZE 70 70
+#define BUTTON_CIRCLE_LABEL_SIZE 180 258
+#define BUTTON_CIRCLE_TOP_PADDING_HEIGHT 22
+#define BUTTON_CIRCLE_LEFT_RIGHT_PADDING_WIDTH 12
+#define BUTTON_CIRCLE_MIDDDLE_PADDING_HEIGHT 15
+#define BUTTON_CIRCLE_BOTTOM_PADDING_HEIGHT 15
+#define BUTTON_CIRCLE_TEXT_HEIGHT 96
+#define BUTTON_TEXT_SIZE 36
+#define BUTTON_BOTTOM_TEXT_SIZE 44
+#define BUTTON_DATE_TEXT_SIZE 20
+#define BUTTON_AMPM_TEXT_SIZE 63
+#define BUTTON_TEXT_CIRCLE_SIZE 36
+#define BUTTON_POPUP_TEXT_SIZE 43
+#define BUTTON_DROPDOWN_TEXT_SIZE 40
+//Multibuttonentry
+#define MULTIBUTTONENTRY_BOX_HORIZONTAL_PAD_INC 22
+#define MULTIBUTTONENTRY_BOX_VERTICAL_PAD_INC 22
+#define MULTIBUTTONENTRY_WIDTH_PAD_INC 22
+#define MULTIBUTTONENTRY_HEIGHT_PAD_INC 22
+#define MULTIBUTTONENTRY_BOTTOM_HEIGHT_PAD_INC 22
+#define MULTIBUTTONENTRY_GUIDE_HEIGHT_INC 84
+#define MULTIBUTTONENTRY_GUIDE_TEXT_SIZE_INC 20
+#define MULTIBUTTONENTRY_BUTTON_TEXT_SIZE_INC 20
+#define MULTIBUTTONENTRY_BUTTON_PAD_INC 32
+#define MULTIBUTTONENTRY_BUTTON_WIDTH_INC 105
+#define MULTIBUTTONENTRY_BUTTON_HEIGHT_INC 84
+#define MULTIBUTTONENTRY_LABEL_TEXT_SIZE_INC 20
+#define MULTIBUTTONENTRY_LABEL_HEIGHT_INC 84 // same as button
+#define MULTIBUTTONENTRY_LABEL_PAD_INC 0
+
+//****************************************************************************//
+// Index
+//****************************************************************************//
+// FastScrol
+#define INDEX_ITEM_WIDTH_INC 50
+#define INDEX_ITEM_HEIGHT_INC 42
+#define INDEX_POPUP_TEXT_SIZE_INC 50
+#define INDEX_DIVIDER_WIDTH_INC 1
+#define INDEX_SCROLL_BG_LINE_WIDTH_INC 1
+#define INDEX_TEXT_LEFT_PADDING_SIZE_INC 0
+#define INDEX_TEXT_RIGHT_PADDING_SIZE_INC 0
+#define INDEX_PADDING_SIZE_INC 4
+#define INDEX_ITEM_PADDING_SIZE_INC 0
+#define INDEX_SCROLL_DRAG_PART_SIZE 50 42
+#define INDEX_SCROLL_PADDING_COLOR 34 34 34 255
+#define INDEX_SCROLL_POPUP_SIZE 152 152
+#define INDEX_SCROLL_POPUP_ACTIVE_SIZE 152 152
+#define INDEX_SCROLL_TEXT1_DEFAULT_SIZE 96 96
+#define INDEX_SCROLL_TEXT1_ACTIVE_SIZE 96 96
+
+// Page Control
+#define INDEX_PAGECONTROL_IND_INC 48 42
+#define INDEX_PAGECONTROL_IND_MIN_INC 42 42
+
+//****************************************************************************//
+// Popup
+//****************************************************************************//
+#define POPUP_BASE_DEFAULT_TEXT_FONT_SIZE_INC 44
+#define POPUP_SUBTITLE_TEXT_FONT_SIZE_INC 32
+#define POPUP_DESCRIPTION_DEFAULT_TEXT_FONT_SIZE_INC 44
+
+#define POPUP_OUTSIDE_PADDING "63"
+
+#define POPUP_BASE_DEFAULT_BASE_DEFAULT_MIN_INC 720 0
+#define POPUP_BASE_DEFAULT_BASE_DEFAULT_MAX_INC 720 1208
+#define POPUP_BASE_DEFAULT_BASE_LANDSCAPE_MIN_INC 720 0
+#define POPUP_BASE_DEFAULT_BASE_LANDSCAPE_MAX_INC 720 648
+#define POPUP_BASE_DEFAULT_TITLE_DEFAULT_MIN_INC 720 108
+#define POPUP_BASE_DEFAULT_TITLE_SUBTITLE_DEFAULT_MIN_INC 0 125
+#define POPUP_BASE_DEFAULT_BUTTON_BG_DEFAULT_MIN_INC 676 162
+#define POPUP_BASE_DEFAULT_TEXT_SHADOW_COLOR_INC "#08080855"
+#define POPUP_SUBTITLE_TEXT_SHADOW_COLOR_INC "#08080855"
+#define POPUP_CONTENT_AREA_DEFAULT_MIN_INC 720 0
+#define POPUP_CONTENT_AREA_LANDSCAPE_MIN_INC 720 0
+
+#define POPUP_TITLE_LEFT_PADDING 22
+#define POPUP_TITLE_RIGHT_PADDING 22
+#define POPUP_TITLE_TOP_PADDING 4
+#define POPUP_TITLE_BOTTOM_PADDING 4
+#define POPUP_SUBTITLE_HEIGHT 42
+
+#define POPUP_CONTENT_DEFAULT_PADDING_TOP_MIN_INC 40
+#define POPUP_CONTENT_DEFAULT_PADDING_LEFT_MIN_INC 22
+#define POPUP_CONTENT_DEFAULT_PADDING_RIGHT_MIN_INC 22
+#define POPUP_CONTENT_DEFAULT_PADDING_BOTTOM_MIN_INC 40
+
+#define POPUP_BUTTON_DEFAULT_ACTION_AREA_HEIGHT "162"
+#define POPUP_BUTTON1_DEFAULT_HEIGHT_INC 110
+#define POPUP_BUTTON1_DEFAULT_PADDING_LEFT_RIGHT_WIDTH_INC 22
+#define POPUP_BUTTON2_DEFAULT_HEIGHT_INC 110
+#define POPUP_BUTTON2_DEFAULT_PADDING_BUTTON_MIN_MAX_INC 22 110
+#define POPUP_BUTTON2_DEFAULT_PADDING_LEFT_RIGHT_WIDTH_INC 22
+#define POPUP_BUTTON3_DEFAULT_HEIGHT_INC 110
+#define POPUP_BUTTON3_DEFAULT_PADDING_BUTTON_MIN_MAX_INC 22 110
+#define POPUP_BUTTON3_DEFAULT_PADDING_LEFT_RIGHT_WIDTH_INC 22
+
+#define POPUP_TOAST_BG_MAX_WIDTH_INC 676
+#define POPUP_TOAST_BG_MAX_HEIGHT_INC 1074
+#define POPUP_TOAST_BOTTOM_PAD_INC 0
+#define POPUP_TOAST_TITLE_TOP_BOTTOM_PAD_INC 26
+#define POPUP_TOAST_TITLE_LEFT_RIGHT_PAD_INC 42
+#define POPUP_TOAST_TEXT_MAX_WIDTH_INC 588
+#define POPUP_TOAST_TEXT_MIN_HEIGHT_INC 48
+#define POPUP_TOAST_TEXT_MAX_HEIGHT_INC 628
+#define POPUP_TOAST_CONTENT_HEIGHT_MIN_INC 100
+
+#define STYLE_TAGS \
+ tag: "br" "\n";\
+ tag: "ps" "ps";\
+ tag: "tab" "\t";\
+ tag: "b" "+ font_weight=Bold";
+
+#define STYLE_TAG_MATCH \
+ tag: "match" "+ color=#ffffff color_class=T1067";
+
+styles {
+ /*// ************* list main text ********** //
+ style { name: "list_text_selectall";
+ base: "font=Tizen:style=Regular font_size="LIST_TEXT_MAIN_SIZE" color=#ffffff color_class=T033 text_class=T033 ellipsis=1.0";
+ STYLE_TAGS
+ STYLE_TAG_MATCH
+ }
+ style { name: "list_text_selectall_dim";
+ base: "font=Tizen:style=Regular font_size="LIST_TEXT_MAIN_SIZE" color=#ffffff color_class=T033D text_class=T033D ellipsis=1.0";
+ STYLE_TAGS
+ STYLE_TAG_MATCH
+ }
+ style { name: "list_text_selectall_press";
+ base: "font=Tizen:style=Regular font_size="LIST_TEXT_MAIN_SIZE" color=#ffffff color_class=T033P text_class=T033P ellipsis=1.0";
+ STYLE_TAGS
+ STYLE_TAG_MATCH
+ }
+ style { name: "list_progress_text_main";
+ base: "font=Tizen:style=Regular font_size="LIST_TEXT_MAIN_SIZE" color=#ffffff color_class=T057L3 text_class=T057L3 ellipsis=1.0";
+ STYLE_TAGS
+ STYLE_TAG_MATCH
+ }
+ style { name: "list_progress_text_main_press";
+ base: "font=Tizen:style=Regular font_size="LIST_TEXT_MAIN_SIZE" color=#ffffff color_class=T057L3P text_class=T057L3P ellipsis=1.0";
+ STYLE_TAGS
+ STYLE_TAG_MATCH
+ }
+ style { name: "list_progress_text_main_dim";
+ base: "font=Tizen:style=Regular font_size="LIST_TEXT_MAIN_SIZE" color=#ffffff color_class=T057L3D text_class=T057L3D ellipsis=1.0";
+ STYLE_TAGS
+ STYLE_TAG_MATCH
+ }
+ // ************* list sub text ********** //
+ style { name: "list_text_sub_03";
+ base: "font=Tizen:style=Regular font_size="LIST_TEXT_SUB_SIZE" color=#ffffff color_class=T024L2 text_class=T024L2 ellipsis=1.0";
+ STYLE_TAGS
+ STYLE_TAG_MATCH
+ }
+ style { name: "list_text_sub_03_dim";
+ base: "font=Tizen:style=Regular font_size="LIST_TEXT_SUB_SIZE" color=#ffffff color_class=T024L2D text_class=T024L2D ellipsis=1.0";
+ STYLE_TAGS
+ STYLE_TAG_MATCH
+ }
+ style { name: "list_text_sub_03_press";
+ base: "font=Tizen:style=Regular font_size="LIST_TEXT_SUB_SIZE" color=#3867f5 color_class=T024L2P text_class=T024L2P ellipsis=1.0";
+ STYLE_TAGS
+ STYLE_TAG_MATCH
+ }
+ // ************* list index text ********** //
+ style { name: "list_text_index_main";
+ base: "font=Tizen:style=Regular font_size="LIST_INDEX_TEXT_MAIN_SIZE" color=#ffffff color_class=T027L1 text_class=T027L1 ellipsis=1.0";
+ STYLE_TAGS
+ STYLE_TAG_MATCH
+ }
+ style { name: "list_text_index_main_dim";
+ base: "font=Tizen:style=Regular font_size="LIST_INDEX_TEXT_MAIN_SIZE" color=#ffffff color_class=T027L1 text_class=T027L1 ellipsis=1.0";
+ STYLE_TAGS
+ STYLE_TAG_MATCH
+ }
+ style { name: "list_text_index_main_press";
+ base: "font=Tizen:style=Regular font_size="LIST_INDEX_TEXT_MAIN_SIZE" color=#ffffff color_class=T027L1 text_class=T027L1 ellipsis=1.0";
+ STYLE_TAGS
+ STYLE_TAG_MATCH
+ }
+ style { name: "list_text_index_sub";
+ base: "font=Tizen:style=Regular font_size="LIST_INDEX_TEXT_SUB_SIZE" color=#ffffff color_class=T027L2 text_class=T027L2 ellipsis=1.0";
+ STYLE_TAGS
+ STYLE_TAG_MATCH
+ }
+ style { name: "list_text_index_sub_dim";
+ base: "font=Tizen:style=Regular font_size="LIST_INDEX_TEXT_SUB_SIZE" color=#ffffff color_class=T027L2 text_class=T027L2 ellipsis=1.0";
+ STYLE_TAGS
+ STYLE_TAG_MATCH
+ }
+ style { name: "list_text_index_sub_press";
+ base: "font=Tizen:style=Regular font_size="LIST_INDEX_TEXT_SUB_SIZE" color=#ffffff color_class=T027L2 text_class=T027L2 ellipsis=1.0";
+ STYLE_TAGS
+ STYLE_TAG_MATCH
+ }
+ // multiline text
+ style { name: "list_text_multiline_main";
+ base: "font=Tizen:style=Regular font_size="LIST_TEXT_MAIN_SIZE" color=#ffffff color_class=T023 text_class=T023 wrap=mixed";
+ STYLE_TAGS
+ STYLE_TAG_MATCH
+ }
+ style { name: "list_text_multiline_main_dim";
+ base: "font=Tizen:style=Regular font_size="LIST_TEXT_MAIN_SIZE" color=#ffffff color_class=T023D text_class=T023D wrap=mixed";
+ STYLE_TAGS
+ STYLE_TAG_MATCH
+ }
+ style { name: "list_text_multiline_main_press";
+ base: "font=Tizen:style=Regular font_size="LIST_TEXT_MAIN_SIZE" color=#ffffff color_class=T023P text_class=T023P wrap=mixed";
+ STYLE_TAGS
+ STYLE_TAG_MATCH
+ }
+ style { name: "list_text_multiline_sub";
+ base: "font=Tizen:style=Regular font_size="LIST_TEXT_SUB_SIZE" color=#ffffff color_class=T024 text_class=T024 wrap=mixed";
+ STYLE_TAGS
+ STYLE_TAG_MATCH
+ }
+ style { name: "list_text_multiline_sub_dim";
+ base: "font=Tizen:style=Regular font_size="LIST_TEXT_SUB_SIZE" color=#ffffff color_class=T024D text_class=T024D wrap=mixed";
+ STYLE_TAGS
+ STYLE_TAG_MATCH
+ }
+ style { name: "list_text_multiline_sub_press";
+ base: "font=Tizen:style=Regular font_size="LIST_TEXT_SUB_SIZE" color=#ffffff color_class=T024P text_class=T024P wrap=mixed";
+ STYLE_TAGS
+ STYLE_TAG_MATCH
+ }
+ style { name: "list_text_desc";
+ base: "font=Tizen:style=Regular font_size="LIST_DESC_TEXT_SIZE" color=#ffffff color_class=T129 text_class=T129 wrap=mixed";
+ STYLE_TAGS
+ STYLE_TAG_MATCH
+ }
+ style { name: "list_text_select";
+ base: "font=Tizen:style=Regular font_size="LIST_DESC_TEXT_SIZE" color=#ffffff color_class=T129 text_class=T129 ellipsis=1.0";
+ STYLE_TAGS
+ STYLE_TAG_MATCH
+ }
+ // ************* Sub title text ******* //
+ style { name: "list_sub_title_text";
+ base: "font=Tizen:style=Regular font_size="LIST_ENTRY_TITLE_TEXT_SIZE" color=#ffffff color_class=T0231 text_class=T0231 ellipsis=1.0";
+ STYLE_TAGS
+ STYLE_TAG_MATCH
+ }
+ style { name: "list_sub_title_text_press";
+ base: "font=Tizen:style=Regular font_size="LIST_ENTRY_TITLE_TEXT_SIZE" color=#ffffff color_class=T0231P text_class=T0231P ellipsis=1.0";
+ STYLE_TAGS
+ STYLE_TAG_MATCH
+ }
+ style { name: "list_sub_title_text_dim";
+ base: "font=Tizen:style=Regular font_size="LIST_ENTRY_TITLE_TEXT_SIZE" color=#ffffff color_class=T0231D text_class=T0231D ellipsis=1.0";
+ STYLE_TAGS
+ STYLE_TAG_MATCH
+ }
+ // ************* button text ********** //
+ style { name: "naviframe_left_btn_text";
+ base: "font=Tizen:style=Regular font_size="BUTTON_NAVIFRAME_TITLE_TEXT_SIZE_INC" align=left color=#ffffff color_class=T043 text_class=T043 wrap=mixed ellipsis=1.0";
+ STYLE_TAGS
+ }
+ style { name: "naviframe_left_btn_text_press";
+ base: "font=Tizen:style=Regular font_size="BUTTON_NAVIFRAME_TITLE_TEXT_SIZE_INC" align=left color=#ffffff color_class=T043P text_class=T043P wrap=mixed ellipsis=1.0";
+ STYLE_TAGS
+ }
+ style { name: "naviframe_left_btn_text_dim";
+ base: "font=Tizen:style=Regular font_size="BUTTON_NAVIFRAME_TITLE_TEXT_SIZE_INC" align=left color=#ffffff color_class=T043D text_class=T043D wrap=mixed ellipsis=1.0";
+ STYLE_TAGS
+ }
+ style { name: "naviframe_right_btn_text";
+ base: "font=Tizen:style=Regular font_size="BUTTON_NAVIFRAME_TITLE_TEXT_SIZE_INC" align=right color=#ffffff color_class=T044 text_class=T044 wrap=mixed ellipsis=1.0";
+ STYLE_TAGS
+ }
+ style { name: "naviframe_right_btn_text_press";
+ base: "font=Tizen:style=Regular font_size="BUTTON_NAVIFRAME_TITLE_TEXT_SIZE_INC" align=right color=#ffffff color_class=T044P text_class=T044P wrap=mixed ellipsis=1.0";
+ STYLE_TAGS
+ }
+ style { name: "naviframe_right_btn_text_dim";
+ base: "font=Tizen:style=Regular font_size="BUTTON_NAVIFRAME_TITLE_TEXT_SIZE_INC" align=right color=#ffffff color_class=T044D text_class=T044D wrap=mixed ellipsis=1.0";
+ STYLE_TAGS
+ }*/
+
+ style { name: "button_main";
+ base: "font=Tizen:style=Regular font_size="BUTTON_TEXT_SIZE" align=center color=#ffffff color_class=T051L2 text_class=T051L2 ellipsis=1.0";
+ STYLE_TAGS
+ }
+ style { name: "button_main_dim";
+ base: "font=Tizen:style=Regular font_size="BUTTON_TEXT_SIZE" align=center color=#ffffff color_class=T051L2D text_class=T051L2D ellipsis=1.0";
+ STYLE_TAGS
+ }
+ style { name: "button_main_press";
+ base: "font=Tizen:style=Regular font_size="BUTTON_TEXT_SIZE" align=center color=#ffffff color_class=T051L2P text_class=T051L2P ellipsis=1.0";
+ STYLE_TAGS
+ }
+ /*style { name: "button_custom";
+ base: "font=Tizen:style=Regular font_size="BUTTON_TEXT_SIZE" align=center color=#ffffff color_class=button_custom_text text_class=button_custom_text ellipsis=1.0";
+ STYLE_TAGS
+ }
+ style { name: "button_custom_dim";
+ base: "font=Tizen:style=Regular font_size="BUTTON_TEXT_SIZE" align=center color=#ffffff color_class=button_custom_text_disabled text_class=button_custom_text_disabled ellipsis=1.0";
+ STYLE_TAGS
+ }
+ style { name: "button_custom_press";
+ base: "font=Tizen:style=Regular font_size="BUTTON_TEXT_SIZE" align=center color=#ffffff color_class=button_custom_text_pressed text_class=button_custom_text_pressed ellipsis=1.0";
+ STYLE_TAGS
+ }
+ style { name: "button_dropdown_list";
+ base: "font=Tizen:style=Regular font_size="BUTTON_DROPDOWN_TEXT_SIZE" color=#ffffff color_class=T1235 text_class=T1235 ellipsis=1.0";
+ STYLE_TAGS
+ }
+ style { name: "button_dropdown_list_press";
+ base: "font=Tizen:style=Regular font_size="BUTTON_DROPDOWN_TEXT_SIZE" color=#ffffff color_class=T1235P text_class=T1235P ellipsis=1.0";
+ STYLE_TAGS
+ }
+ style { name: "button_dropdown_list_dim";
+ base: "font=Tizen:style=Regular font_size="BUTTON_DROPDOWN_TEXT_SIZE" color=#ffffff color_class=T1235D text_class=T1235D ellipsis=1.0";
+ STYLE_TAGS
+ }
+ style { name: "button_dropdown_label";
+ base: "font=Tizen:style=Regular font_size="BUTTON_DROPDOWN_TEXT_SIZE" color=#ffffff color_class=T1236 text_class=T1236 ellipsis=1.0";
+ STYLE_TAGS
+ }
+ style { name: "button_dropdown_label_press";
+ base: "font=Tizen:style=Regular font_size="BUTTON_DROPDOWN_TEXT_SIZE" color=#ffffff color_class=T1236P text_class=T1236P ellipsis=1.0";
+ STYLE_TAGS
+ }
+ style { name: "button_dropdown_label_dim";
+ base: "font=Tizen:style=Regular font_size="BUTTON_DROPDOWN_TEXT_SIZE" color=#ffffff color_class=T1236D text_class=T1236D ellipsis=1.0";
+ STYLE_TAGS
+ }
+ style { name: "button_ampm";
+ base: "font=Tizen:style=Regular font_size="BUTTON_AMPM_TEXT_SIZE" color=#ffffff color_class=T1234 text_class=T1234 ellipsis=0.0";
+ STYLE_TAGS
+ }
+ style { name: "button_ampm_dim";
+ base: "font=Tizen:style=Regular font_size="BUTTON_AMPM_TEXT_SIZE" color=#ffffff color_class=T1234D text_class=T1234D ellipsis=0.0";
+ STYLE_TAGS
+ }
+ style { name: "button_ampm_press";
+ base: "font=Tizen:style=Regular font_size="BUTTON_AMPM_TEXT_SIZE" color=#ffffff color_class=T1234P text_class=T1234P ellipsis=0.0";
+ STYLE_TAGS
+ }
+ style { name: "button_ampm_select";
+ base: "font=Tizen:style=Regular font_size="BUTTON_AMPM_TEXT_SIZE" color=#ffffff color_class=T1234S text_class=T1234S ellipsis=0.0";
+ STYLE_TAGS
+ }
+ style { name: "button_bottom";
+ base: "font=Tizen:style=Regular font_size="BUTTON_BOTTOM_TEXT_SIZE" align=center color=#ffffff color_class=T051L1 text_class=T051L1 ellipsis=1.0";
+ STYLE_TAGS
+ }
+ style { name: "button_bottom_dim";
+ base: "font=Tizen:style=Regular font_size="BUTTON_BOTTOM_TEXT_SIZE" align=center color=#ffffff color_class=T051L1D text_class=T051L1D ellipsis=1.0";
+ STYLE_TAGS
+ }
+ style { name: "button_bottom_press";
+ base: "font=Tizen:style=Regular font_size="BUTTON_BOTTOM_TEXT_SIZE" align=center color=#ffffff color_class=T051L1P text_class=T051L1P ellipsis=1.0";
+ STYLE_TAGS
+ }
+ style { name: "button_popup";
+ base: "font=Tizen:style=Regular font_size="BUTTON_POPUP_TEXT_SIZE" align=center color=#ffffff color_class=T051L1 text_class=T051L1 ellipsis=1.0";
+ STYLE_TAGS
+ }
+ style { name: "button_popup_dim";
+ base: "font=Tizen:style=Regular font_size="BUTTON_POPUP_TEXT_SIZE" align=center color=#ffffff color_class=T051L1D text_class=T051L1D ellipsis=1.0";
+ STYLE_TAGS
+ }
+ style { name: "button_popup_press";
+ base: "font=Tizen:style=Regular font_size="BUTTON_POPUP_TEXT_SIZE" align=center color=#ffffff color_class=T051L1P text_class=T051L1P ellipsis=1.0";
+ STYLE_TAGS
+ }
+ style { name: "button_trans";
+ base: "font=Tizen:style=Regular font_size="BUTTON_TEXT_SIZE" color=#ffffff color_class=T1221 text_class=T1221 ellipsis=0.0";
+ STYLE_TAGS
+ }
+ style { name: "button_circle";
+ base: "font=Tizen:style=Regular font_size="BUTTON_TEXT_CIRCLE_SIZE" align=center color=#ffffff color_class=T127 text_class=T127 wrap=mixed";
+ STYLE_TAGS
+ }
+ style { name: "button_circle_press";
+ base: "font=Tizen:style=Regular font_size="BUTTON_TEXT_CIRCLE_SIZE" align=center color=#ffffff color_class=T127P text_class=T127P wrap=mixed";
+ STYLE_TAGS
+ }
+ style { name: "button_circle_dim";
+ base: "font=Tizen:style=Regular font_size="BUTTON_TEXT_CIRCLE_SIZE" align=center color=#ffffff color_class=T127D text_class=T127D wrap=mixed";
+ STYLE_TAGS
+ }
+ style { name: "button_contacts";
+ base: "font=Tizen:style=Regular font_size="BUTTON_TEXT_SIZE" color=#ffffff align=center color_class=T051L2 text_class=T051L2 wrap=none ellipsis=1.0";
+ STYLE_TAGS
+ }
+ style { name: "button_contacts_dim";
+ base: "font=Tizen:style=Regular font_size="BUTTON_TEXT_SIZE" color=#ffffff align=center color_class=T051L2D text_class=T051L2D wrap=none ellipsis=1.0";
+ STYLE_TAGS
+ }
+ style { name: "button_contacts_press";
+ base: "font=Tizen:style=Regular font_size="BUTTON_TEXT_SIZE" color=#ffffff align=center color_class=T051L2P text_class=T051L2P wrap=none ellipsis=1.0";
+ STYLE_TAGS
+ }
+ style { name: "check_popup";
+ base: "font=Tizen:style=Regular font_size="CHECK_TEXT_FONT_SIZE_INC" color=#ffffff color_class=T131 text_class=T131 wrap=mixed";
+ STYLE_TAGS
+ }
+ style { name: "check_popup_press";
+ base: "font=Tizen:style=Regular font_size="CHECK_TEXT_FONT_SIZE_INC" color=#ffffff color_class=T131P text_class=T131P wrap=mixed";
+ STYLE_TAGS
+ }
+ style { name: "check_popup_dim";
+ base: "font=Tizen:style=Regular font_size="CHECK_TEXT_FONT_SIZE_INC" color=#ffffff color_class=T131D text_class=T131D wrap=mixed";
+ STYLE_TAGS
+ }
+ // ************* no Content text ********** //
+ style { name: "empty_state_1";
+ base: "font=Tizen:style=Regular font_size="NO_CONTENT_TITLE_TEXT_FONT_SIZE_INC" align=center color=#ffffff color_class=T0222L1 text_class=T0222L1 wrap=mixed ellipsis=1.0";
+ STYLE_TAGS
+ }
+ style { name: "empty_state_2";
+ base: "font=Tizen:style=Light font_size="NO_CONTENT_TEXT_FONT_SIZE_INC" align=center color=#ffffff color_class=T0222L2 text_class=T0222L2 wrap=mixed ellipsis=1.0";
+ STYLE_TAGS
+ }*/
+}
+
+
+//****************************************************************************//
+// Gengrid
+//****************************************************************************//
+
+#define GRID_PADDING_LEFT_TOP_SIZE 1 1
+#define GRID_PADDING_RIGHT_BOTTOM_SIZE 1 1
+#define GRID_POPUP_PADDING_LEFT_TOP_SIZE 63 30
+#define GRID_POPUP_PADDING_RIGHT_BOTTOM_SIZE 63 15
+#define GRID_POPUP_ITEM_REAL_BG_SIZE 234 250
+#define GRID_POPUP_SWALLOW_ICON_SIZE 108 108
+#define GRID_POPUP_TEXT_SIZE 194 97
+#define GENGRID_POPUP_CONTENT_TOP_PADDING 27
+#define GENGRID_POPUP_CONTENT_BOTTOM_PADDING 27
+
+//**************************DATETIME SPINNER****************//
+
+#define DATETIME_LAYOUT_BUTTON_HEIGHT 84 //FIXME : widget UX not provided, default button height
+#define DATETIME_LAYOUT_BUTTON_PADDING_WIDTH_INC 17 //FIXME : widget UX not provided
+
+#define DATETIME_LAYOUT_AMPM_BUTTON_SIZE_INC 113 130
+#define DATETIME_LAYOUT_AMPM_BUTTON_PADDING_HEIGHT_INC 18
+
+#define DATETIME_LAYOUT_CONTENT_SIZE_INC 720 334
+#define TIME_LAYOUT_CONTENT_TIME_24HR_LEFT_RIGHT_PADDING_WIDTH_INC 128
+#define TIME_LAYOUT_CONTENT_TIME_24HR_CENTER_PADDING_WIDTH_INC 56
+#define TIME_LAYOUT_CONTENT_TIME_24HR_COLON_COMBINED_PADDING_INC 150
+#define TIME_LAYOUT_CONTENT_COLON_WIDTH_INC 36
+#define TIME_LAYOUT_CONTENT_COLON_COMBINED_PADDING_INC 102
+
+#define DATETIME_AMPM_BUTTON_SIZE_INC 169 166
+#define DATETIME_AMPM_BUTTON_PRESSED_AREA_SIZE_INC 169 102
+#define DATETIME_AMPM_BUTTON_TOP_BOTTOM_PADDING_HEIGHT_INC 40
+#define DATETIME_FIELD_BUTTON_LEFT_RIGHT_PADDING_WIDTH_INC 18
+
+#define TIME_LAYOUT_CONTENT_LEFT_PADDING_WIDTH_INC 70
+#define TIME_LAYOUT_CONTENT_RIGHT_PADDING_WIDTH_INC 28
+#define TIME_LAYOUT_CONTENT_FIELD_WIDTH_INC 158
+#define TIME_LAYOUT_CONTENT_CENTER_PADDING_WIDTH_INC 33
+
+#define DATE_LAYOUT_CONTENT_FIELD_WIDTH_INC 210
+#define DATE_LAYOUT_CONTENT_LEFT_PADDING_WIDTH_INC 36
+#define DATE_LAYOUT_CONTENT_RIGHT_PADDING_WIDTH_INC 36
+#define DATE_LAYOUT_CONTENT_CENTER_PADDING_WIDTH_INC 9
+
+#define SPINNER_LEFT_RIGHT_ARROW_IMAGE_SIZE_INC 64 90
+#define SPINNER_LEFT_RIGHT_BG_IMAGE_SIZE_INC 64 90
+#define SPINNER_UP_DOWN_ARROW_IMAGE_SIZE_INC 90 64
+#define SPINNER_UP_DOWN_BG_IMAGE_SIZE_INC 90 64
+#define SPINNER_TEXT_HEIGHT_INC 166
+#define SPINNER_TEXT_TOP_BOTTOM_PADDING_HEIGHT_INC 20
+#define SPINNER_UP_DOWN_BG_EVENT_AREA_HEIGHT_INC 84
+#define SPINNER_VERTICAL_BG_WIDTH_INC 158
+#define SPINNER_VERTICAL_BG_HEIGHT_INC 334
+
+#define ENTRY_TIME_LAYOUT_TEXT_SIZE_INC 60
+#define ENTRY_DATE_LAYOUT_TEXT_SIZE_INC 40
+
+//***************************DATETIME SPINNER*************************//
+
+//****************************************************************************//
+// Map
+//****************************************************************************//
+#define MAP_OVERLAY_SCALE_PADDING_WIDTH 10
+
+/* definitions for EDC build */
+#define MP_COLOR_BG_BLACK 8 8 8 255
+#define MP_COLOR_BG_BLACK_TRANSPARENT 8 8 8 0
+#define FOCUS_BORDER 8 8 8 8
+
+#define GENLIST_PADDING_5_INC 5
+#define GENLIST_PADDING_24_INC 24
+#define GENLIST_PADDING_64_INC 64
+#define GENLIST_PADDING_88_INC 88
+#define GENLIST_PADDING_34_INC 34
+#define GENLIST_PADDING_32_INC 32
+#define GENLIST_PADDING_16_INC 16
+#define GENLIST_SIZE_80_INC 80
+
+#define BUBBLE_DISCLIP_COLOR 255 255 255 102 // opacity 40%
+
+// List bg color
+#define GENLIST_LIST_BG_COLOR 248 246 239 255
+#define GENLIST_DIALOGUE_BG_COLOR 248 246 239 255
+#define GENLIST_LIST_PRESS_COLOR 87 135 194 255
+#define GENLIST_LIST_DIM_COLOR 219 217 212 255
+#define GENLIST_LIST_LIVEBOX_BG_COLOR MP_COLOR_BG_BLACK
+#define GENLIST_LIST_LIVEBOX_PRESS_COLOR 33 49 99 255
+#define GENLIST_LIST_LIVEBOX_COLOR 255 255 255 25
+#define GENLIST_LIST_LINE1_COLOR 204 203 199 255
+#define GENLIST_LIST_LINE2_COLOR 255 255 255 255
+#define GENLIST_LIST_DIVIDER1_COLOR 185 184 178 255
+#define GENLIST_LIST_DIVIDER2_COLOR 255 255 255 255
+#define GENLIST_LIST_CENTERLINE1_COLOR 206 205 202 255
+#define GENLIST_SELECT_ALL_BG_COLOR 220 218 211 255
+
+// now playing list black theme
+#define GENLIST_LIST_BG_COLOR_BLACK 8 8 8 0
+#define GENLIST_LIST_PRESS_COLOR_BLACK 33 49 99 255
+#define GENLIST_LIST_DIM_COLOR_BLACK 8 8 8 255
+
+#define GENLIST_LIST_LINE1_COLOR_BLACK 8 8 8 255
+#define GENLIST_LIST_LINE2_COLOR_BLACK 64 64 64 255
+
+#define GENLIST_PART_MATCH_TAG_COLOR_BLACK "+ color=#FE5400"
+#define GENLIST_LIST_MAIN_TEXT_UNREAD_COLOR_STYLE_BLACK "#FAFAFAFF"
+#define GENLIST_LIST_MAIN_TEXT_UNREAD_DIM_COLOR_STYLE_BLACK "#6B6C6DFF"
+#define GENLIST_LIST_TEXT_FOCUS_COLOR_STYLE_BLACK "#FAFAFAFF"
+#define GENLIST_LIST_MAIN_TEXT_LIVEBOX_COLOR_STYLE_BLACK "#F5F5F5FF"
+
+//end of now playing black theme
+
+// Group Index
+#define GENLIST_GROUPINDEX_LIST_SIZE 32
+#define GENLIST_GROUPINDEX_LIST_COLOR 59 115 182 255
+#define GENLIST_GROUPINDEX_LIST_FOCUS_COLOR 255 255 255 255
+
+#define GENLIST_GROUPINDEX_LIST_BG_COLOR 248 246 239 255
+#define GENLIST_GROUPINDEX_LIST_PRESS_COLOR 132 162 198 255
+#define GENLIST_GROUPINDEX_LINE_COLOR 59 115 182 255
+#define GENLIST_GROUPINDEX_LINE_FOCUS_COLOR 255 255 255 255
+
+// Genlist Text
+#define GENLIST_LIST_MAIN_TEXT_SIZE 44
+#define GENLIST_LIST_MAIN_TEXT_UNREAD_COLOR 0 0 0 255
+#define GENLIST_LIST_MAIN_TEXT_UNREAD_COLOR_STYLE "#000000FF"
+#define GENLIST_LIST_MAIN_TEXT_UNREAD_DIM_COLOR 0 0 0 102
+#define GENLIST_LIST_MAIN_TEXT_UNREAD_DIM_COLOR_STYLE "#00000066"
+#define GENLIST_LIST_MAIN_TEXT_READ_COLOR 128 128 128 255
+#define GENLIST_LIST_MAIN_TEXT_READ_DIM_COLOR 128 128 128 204
+#define GENLIST_LIST_TEXT_FOCUS_COLOR 255 255 255 255
+#define GENLIST_LIST_TEXT_FOCUS_COLOR_STYLE "#FFFFFFFF"
+#define GENLIST_LIST_MAIN_TEXT_LIVEBOX_COLOR_STYLE "#FFFFFFFF"
+
+#define GENLIST_LIST_SUB_TEXT_LIVEBOX_COLOR_STYLE "#C9C9C9FF"
+#define GENLIST_LIST_SUB_TEXT_SIZE 32
+#define GENLIST_LIST_SUB_TEXT_DEFAULT_COLOR 128 128 128 255
+#define GENLIST_LIST_SUB_ALBUM_TEXT_DEFAULT_COLOR 14 104 173 255
+#define GENLIST_LIST_SUB_TEXT_DEFAULT_COLOR_STYLE "#808080FF"
+#define GENLIST_LIST_SUB_TEXT_DEFAULT_DIM_COLOR 128 128 128 204
+#define GENLIST_LIST_SUB_TEXT_DEFAULT_DIM_COLOR_STYLE "#808080CC"
+#define GENLIST_LIST_SUB_TEXT_SETTINGS_COLOR 59 115 182 255
+#define GENLIST_LIST_SUB_TEXT_SETTINGS_COLOR_STYLE "#3B73B6FF"
+#define GENLIST_LIST_SUB_TEXT_SETTINGS_DIM_COLOR 59 115 182 76
+#define GENLIST_LIST_SUB_TEXT_SETTINGS_DIM_COLOR_STYLE "#3B73B64C"
+
+#define GENLIST_CONTENTS_TEXT_SIZE 28
+#define GENLIST_CONTENTS_TEXT_COLOR 128 128 128 255
+#define GENLIST_CONTENTS_TEXT_COLOR_STYLE "#808080FF"
+
+#define GENLIST_LIST_BUBBLE_TEXT_SIZE 32
+#define GENLIST_LIST_BUBBLE_TEXT_COLOR 249 249 249 255
+
+// Dialogue group
+#define GENLIST_DIALOGUE_GROUP_TITLE_SIZE 32
+#define GENLIST_DIALOGUE_GROUP_TITLE_COLOR 59 115 182 255
+
+#define GENLIST_APPS_NAME_SIZE 30
+#define GENLIST_APPS_NAME_COLOR 128 128 128 255
+#define GENLIST_APPS_INC_SIZE 30
+#define GENLIST_APPS_INC_COLOR MP_COLOR_BG_BLACK
+#define GENLIST_APPS_RATING_SIZE 24
+#define GENLIST_APPS_RATING_COLOR 128 128 128 255
+#define GENLIST_APPS_PRICE_SIZE 24
+#define GENLIST_APPS_PRICE_ORIGINAL_COLOR 59 115 182 255
+#define GENLIST_APPS_PRICE_SALE_COLOR 229 33 52 255
+#define GENLIST_APPS_PRICE_FREE_COLOR 59 115 182 255
+
+#define DIALOGUE_PASSWORD_TITLE_SIZE 32
+#define DIALOGUE_PASSWORD_TITLE_COLOR 128 128 128 255
+
+#define GENLIST_DIALOGUE_GROUP_HELP_TEXT_SIZE 32
+#define GENLIST_DIALOGUE_GROUP_HELP_TEXT_COLOR_STYLE "#808080FF"
+#define GENLIST_PART_MATCH_TAG_COLOR "+ color=#2A71E7"
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include "genlist_macro.edc"
+#include "genlist_textblock_style.edc"
+#include "genlist_normal.edc"
+//#include "genlist_sweep.edc"
+//#include "genlist_groupindex.edc"
+//#include "genlist_expandable.edc"
+//#include "genlist_decorate.edc"
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#define GENLIST_NAME(NAME) \
+ name: "elm/genlist/item/"NAME; \
+ alias: "elm/genlist/item_compress/"NAME; \
+ alias: "elm/genlist/tree/"NAME; \
+ alias: "elm/genlist/tree_compress/"NAME;
+
+
+//**************************************************************************//
+//**********Macros for lite 2014.7.19**************************************//
+//**************************************************************************//
+// Generic Macros, EDJE description have 24 patterns
+//**************************************************************************//
+// ------------------
+
+// | --> HERE
+// ------------------
+ #define DSC_FROM_L( STATE, PARAM ) \
+ description { state: STATE;\
+ fixed: 1 0; \
+ align: 0.0 0.0; \
+ rel1.relative: 0.0 0.0; \
+ rel2.relative: 0.0 1.0; \
+ PARAM\
+ }
+
+// ------------------
+// HERE <-- |
+// ------------------
+ #define DSC_FROM_R( STATE, PARAM ) \
+ description { state: STATE;\
+ fixed: 1 0; \
+ align: 1.0 0.5; \
+ rel1.relative: 1 0; \
+ PARAM\
+ }
+
+// ----------
+// | HERE |
+// ----------
+// | |
+// ----------
+ #define DSC_FROM_T( STATE, PARAM ) \
+ description { state: STATE;\
+ fixed: 0 0; \
+ align: 0.0 0.0; \
+ rel2.relative: 1.0 0.0; \
+ PARAM\
+ }
+ #define DSC_FROM_T1( STATE, PARAM ) \
+ description { state: STATE;\
+ fixed: 0 0; \
+ align: 0.0 0.0; \
+ rel1.relative: 0.0 0.3; \
+ rel2.relative: 1.0 0.8; \
+ PARAM\
+ }
+
+// ----------
+// | HERE |
+// ----------
+// | |
+// ----------
+ #define DSC_FROM_B( STATE, PARAM ) \
+ description { state: STATE;\
+ fixed: 0 1; \
+ rel1.relative: 0.0 1.0; \
+ align: 0.5 1.0; \
+ PARAM\
+ }
+
+// ------------------
+// | PART == HERE |
+// ------------------
+ #define DSC_TO( STATE, PART, PARAM ) \
+ description { state: STATE;\
+ rel1 { \
+ relative: 0 0; \
+ to: PART; \
+ }\
+ rel2 {\
+ relative: 1 1;\
+ to: PART; \
+ }\
+ PARAM\
+ }
+
+// | TOP |
+// ---------------------
+// LEFT | HERE | RIGHT
+// ---------------------
+// | BOTTOM |
+#define DSC_LRTB( STATE, LEFT, RIGHT, TOP, BOTTOM, PARAM ) \
+ description { state: STATE;\
+ rel1 { \
+ relative: 1 1; \
+ to_x: LEFT; \
+ to_y: TOP; \
+ }\
+ rel2 {\
+ relative: 0 0;\
+ to_x: RIGHT;\
+ to_y: BOTTOM;\
+ }\
+ PARAM\
+ }
+
+// ---------------------
+// LEFT |--> HERE
+// ---------------------
+#define DSC_L( STATE, LEFT, PARAM ) \
+ description { state: STATE;\
+ align: 0 0; \
+ fixed: 1 0; \
+ rel1 { \
+ relative: 1 0; \
+ to_x: LEFT; \
+ }\
+ rel2 { \
+ relative: 1 1;\
+ to_x: LEFT; \
+ }\
+ PARAM\
+ }
+
+// ---------------------
+// HERE <--| RIGHT
+// ---------------------
+#define DSC_R( STATE, RIGHT, PARAM ) \
+ description { state: STATE;\
+ align: 1 0.5; \
+ fixed: 1 0; \
+ rel1 { \
+ relative: 0 0; \
+ to_x: RIGHT; \
+ }\
+ rel2 {\
+ relative: 0 1;\
+ to_x: RIGHT; \
+ }\
+ PARAM\
+ }
+
+// --------------------------
+// LEFT |--> HERE <--| RIGHT
+// --------------------------
+#define DSC_LR( STATE, LEFT, RIGHT, PARAM ) \
+ description { state: STATE;\
+ rel1 { \
+ relative: 1 0; \
+ to_x: LEFT; \
+ }\
+ rel2 {\
+ relative: 0 1;\
+ to_x: RIGHT;\
+ }\
+ PARAM\
+ }
+
+// | TOP |
+// -----------------
+// | HERE <--| RIGHT
+// -----------------
+// | BOTTOM |
+#define DSC_RTB( STATE, RIGHT, TOP, BOTTOM, PARAM ) \
+ description { state: STATE;\
+ align: 1 0.5;\
+ rel1 { \
+ relative: 0 1; \
+ to_x: RIGHT; \
+ to_y: TOP; \
+ }\
+ rel2 {\
+ relative: 0 0;\
+ to_x: RIGHT;\
+ to_y: BOTTOM;\
+ }\
+ PARAM\
+ }
+
+// LEFT | HERE | RIGHT
+// ---------------------
+// | BOTTOM |
+#define DSC_LRB( STATE, LEFT, RIGHT, BOTTOM, PARAM ) \
+ description { state: STATE;\
+ align: 0.5 1;\
+ rel1 { \
+ relative: 1 0; \
+ to_x: LEFT; \
+ to_y: BOTTOM; \
+ }\
+ rel2 {\
+ relative: 0 0;\
+ to_x: RIGHT;\
+ to_y: BOTTOM;\
+ }\
+ PARAM\
+ }
+
+// | TOP |
+// ---------------------
+// LEFT | HERE | RIGHT
+#define DSC_LRT( STATE, LEFT, RIGHT, TOP, PARAM ) \
+ description { state: STATE;\
+ align: 0.5 0;\
+ rel1 { \
+ relative: 1 1; \
+ to_x: LEFT; \
+ to_y: TOP; \
+ }\
+ rel2 {\
+ relative: 0 1;\
+ to_x: RIGHT;\
+ to_y: TOP;\
+ }\
+ PARAM\
+ }
+
+// | TOP |
+// ---------------------
+// LEFT | --> HERE |
+#define DSC_LT( STATE, LEFT, TOP, PARAM ) \
+ description { state: STATE;\
+ align: 0 0;\
+ rel1 { \
+ relative: 1 1; \
+ to_x: LEFT; \
+ to_y: TOP; \
+ }\
+ rel2 {\
+ relative: 1 1;\
+ to_x: LEFT;\
+ to_y: TOP;\
+ }\
+ PARAM\
+ }
+
+// LEFT | --> HERE |
+// ---------------------
+// | BOTTOM |
+#define DSC_LB( STATE, LEFT, BOTTOM, PARAM ) \
+ description { state: STATE;\
+ align: 0 1;\
+ rel1 { \
+ relative: 1 0; \
+ to_x: LEFT; \
+ to_y: BOTTOM; \
+ }\
+ rel2 {\
+ relative: 1 0;\
+ to_x: LEFT;\
+ to_y: BOTTOM;\
+ }\
+ PARAM\
+ }
+
+// | TOP |
+// ---------------------
+// LEFT |--> HERE |
+// ---------------------
+// | BOTTOM |
+#define DSC_LTB( STATE, LEFT, TOP, BOTTOM, PARAM ) \
+ description { state: STATE;\
+ align: 0 0;\
+ rel1 { \
+ relative: 1 1; \
+ to_x: LEFT; \
+ to_y: TOP; \
+ }\
+ rel2 {\
+ relative: 1 0;\
+ to_x: LEFT;\
+ to_y: BOTTOM;\
+ }\
+ PARAM\
+ }
+
+// | TOP |
+// ---------------------
+// | HERE <--| RIGHT
+#define DSC_RT( STATE, RIGHT, TOP, PARAM ) \
+ description { state: STATE;\
+ align: 1 0;\
+ rel1 { \
+ relative: 0 1; \
+ to_x: RIGHT; \
+ to_y: TOP; \
+ }\
+ rel2 {\
+ relative: 0 1;\
+ to_x: RIGHT;\
+ to_y: TOP;\
+ }\
+ PARAM\
+ }
+
+// | HERE <-- | RIGHT
+// ---------------------
+// | BOTTOM |
+#define DSC_RB( STATE, RIGHT, BOTTOM, PARAM ) \
+ description { state: STATE;\
+ align: 1 1;\
+ rel1 { \
+ relative: 0 0; \
+ to_x: RIGHT; \
+ to_y: BOTTOM; \
+ }\
+ rel2 {\
+ relative: 0 0;\
+ to_x: RIGHT;\
+ to_y: BOTTOM;\
+ }\
+ PARAM\
+ }
+
+// | TOP |
+// ----------
+// | HERE |
+// ----------
+// | BOTTOM |
+#define DSC_TB( STATE, TOP, BOTTOM, PARAM ) \
+ description { state: STATE;\
+ align: 0.5 0.5;\
+ rel1 { \
+ relative: 0 1; \
+ to_y: TOP; \
+ }\
+ rel2 {\
+ relative: 1 0;\
+ to_y: BOTTOM;\
+ }\
+ PARAM\
+ }
+
+// | TOP |
+// ----------
+// | HERE |
+// ----------
+#define DSC_T( STATE, TOP, PARAM ) \
+ description { state: STATE;\
+ align: 0.5 0.0;\
+ rel1 { \
+ relative: 0 1; \
+ to_y: TOP; \
+ }\
+ rel2 {\
+ relative: 1 1;\
+ to_y: TOP;\
+ }\
+ PARAM\
+ }
+
+// | HERE |
+// ----------
+// | BOTTOM |
+// ----------
+#define DSC_B( STATE, BOTTOM, PARAM ) \
+ description { state: STATE;\
+ align: 0.5 1.0;\
+ rel1 { \
+ relative: 0 0; \
+ to_y: BOTTOM; \
+ }\
+ rel2 {\
+ relative: 1 0;\
+ to_y: BOTTOM;\
+ }\
+ PARAM\
+ }
+
+// PART
+#define PART(TYPE, NAME, DESCRIPION) \
+ part { name: NAME; \
+ scale: 0; \
+ type: TYPE; \
+ DESCRIPION \
+ }
+
+//**************************************************************************//
+// Genlist Macros
+//**************************************************************************//
+#define LIST_PART_BG \
+ PART(RECT, "bg", \
+ description { state: "default" 0.0; \
+ color_class: "B0211"; \
+ } \
+ description { state: "pressed" 0.0; \
+ inherit: "default" 0.0; \
+ color_class: "B0211P"; \
+ } \
+ description { state: "disabled" 0.0; \
+ color_class: "B0211D"; \
+ } \
+ )
+
+#define LIST_PROGRAM_DEFAULT( TARGET ) \
+ program { name: "default"; \
+ signal: "elm,state,default"; \
+ source: "elm"; \
+ action: STATE_SET "default" 0.0; \
+ TARGET \
+ } \
+
+#define LIST_PROGRAM_DISABLED( TARGET ) \
+ program { name: "enabled"; \
+ signal: "elm,state,enabled"; \
+ source: "elm"; \
+ action: STATE_SET "default" 0.0; \
+ TARGET \
+ } \
+ program { name: "disabled"; \
+ signal: "elm,state,disabled"; \
+ source: "elm"; \
+ action: STATE_SET "disabled" 0.0; \
+ TARGET \
+ }
+
+#define LIST_PROGRAM_SELECT( TARGET ) \
+ program { name: "pressed"; \
+ signal: "elm,state,selected"; \
+ source: "elm"; \
+ action: STATE_SET "pressed" 0.0; \
+ TARGET \
+ } \
+ program { name: "unselected"; \
+ signal: "elm,state,unselected"; \
+ source: "elm"; \
+ action: STATE_SET "default" 0.0; \
+ TARGET \
+ } \
+ program { name: "show_color"; \
+ signal: "show_color"; \
+ source: "*"; \
+ action: STATE_SET "show_color" 0.0; \
+ TARGET \
+ } \
+ program { name: "hide_color"; \
+ signal: "hide_color"; \
+ source: "*"; \
+ action: STATE_SET "default" 0.0; \
+ TARGET \
+ }
+
+#define LIST_PROGRAM_SOUND \
+ program { name: "play_sound"; \
+ signal: "elm,state,clicked"; \
+ source: "elm"; \
+ script { \
+ run_program(PROGRAM:"touch_sound"); \
+ } \
+ } \
+ program { name: "touch_sound"; \
+ action: RUN_PLUGIN "touch_sound"; \
+ }
+
+#define LIST_PROGRAMS( TARGET ) \
+ programs { \
+ LIST_PROGRAM_DEFAULT( TARGET \
+ target: "bg"; \
+ ) \
+ LIST_PROGRAM_DISABLED( TARGET \
+ target: "bg"; \
+ ) \
+ LIST_PROGRAM_SELECT( TARGET \
+ target: "bg"; \
+ ) \
+ LIST_PROGRAM_SOUND \
+ }
+
+#define PARAM_TEXT(STYLE)\
+ text { \
+ min: 0 1; \
+ style: STYLE; \
+ elipsis: 1.0; \
+ }
+
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+//custom genlist style for lite
+
+// ************************* CENTER AREA *********************************** //
+// ---------------------------------------------------------------------------------------------------------------------------------------------
+// | | elm.icon.left.top | elm.text.main(sub).left.top | elm.text.sub(main).right.top | elm.icon.right.top | |
+// |elm.icon.left | -------------------- | ----------------------- --- | ---------------------------- | --------------------- | elm.icon.right |
+// | | elm.icon.left.bottom | elm.text.sub.left.bottom | elm.text.sub.right.bottom | elm.icon.right.bottom | |
+// --------------------------------------------------------------------------------------------------------------------------------------------
+
+#define GENLIST_ICON_SIZE 36
+#define GENLIST_LITE_PAUSE_ICON "play_list_control_pause.png"
+#define GENLIST_LITE_PLAY_ICON "play_list_control_play.png"
+
+group {GENLIST_NAME("music/mc/2line.top/default");
+ data.item: "texts" "elm.text.main.left.top elm.text.sub.right.top elm.text.main.right.top elm.text.sub.left.top elm.text.sub.left.bottom elm.text.sub.right.bottom";
+ data.item: "contents" "elm.icon.1 elm.icon.2 elm.icon.left elm.icon.right elm.icon.left.top elm.icon.right.top elm.icon.left.bottom elm.icon.right.bottom";
+ data.item: "itembg" "on";
+ parts {
+ LIST_PART_BG
+
+ PART(SPACER, "elm.padding.top",
+ DSC_FROM_T("default" 0.0,
+ min: 0 LIST_2LINE_PADDING_TOP_SIZE;
+ max: -1 LIST_2LINE_PADDING_TOP_SIZE;
+ )
+ )
+ PART(SPACER, "elm.padding.bottom",
+ DSC_FROM_B("default" 0.0,
+ min: 0 LIST_2LINE_PADDING_BOTTOM_SIZE;
+ max: -1 LIST_2LINE_PADDING_BOTTOM_SIZE;
+ )
+ )
+ PART(SWALLOW, "elm.icon.1",
+ DSC_FROM_L("default" 0.0,)
+ )
+ PART(SWALLOW, "elm.icon.2",
+ DSC_FROM_R("default" 0.0,)
+ )
+ PART(SPACER, "elm.padding.center.left",
+ DSC_L("default" 0.0,
+ "elm.icon.1",
+ min: LIST_PADDING_CENTER_LEFT_SIZE 0;
+ max: LIST_PADDING_CENTER_LEFT_SIZE -1;
+ )
+ )
+ PART(SPACER, "elm.padding.center.right",
+ DSC_R("default" 0.0,
+ "elm.icon.2",
+ min: LIST_PADDING_CENTER_RIGHT_SIZE 0;
+ max: LIST_PADDING_CENTER_RIGHT_SIZE -1;
+ )
+ )
+ PART(SWALLOW, "elm.icon.left",
+ DSC_LTB("default" 0.0,
+ "elm.padding.center.left", "elm.padding.top", "elm.padding.bottom",
+ )
+ )
+ PART(SWALLOW, "elm.icon.right",
+ DSC_RTB("default" 0.0,
+ "elm.padding.center.right", "elm.padding.top", "elm.padding.bottom",
+ )
+ )
+ PART(SWALLOW, "elm.icon.left.top",
+ DSC_LTB("default" 0.0, "elm.icon.left", "elm.padding.top", "elm.text.sub.left.bottom",
+ )
+ )
+ PART(SWALLOW, "elm.icon.left.bottom",
+ DSC_LTB("default" 0.0, "elm.icon.left", "elm.text.sub.left.bottom", "elm.padding.bottom",
+ rel1.relative: 1 0; // to make same height with "elm.text.sub.left.bottom"
+ )
+ )
+ PART(SWALLOW, "elm.icon.right.top",
+ DSC_RTB("default" 0.0, "elm.icon.right", "elm.padding.top", "elm.text.sub.left.bottom",
+ )
+ )
+ PART(SWALLOW, "elm.icon.right.bottom",
+ DSC_RTB("default" 0.0, "elm.icon.right", "elm.text.sub.left.bottom", "elm.padding.bottom",
+ rel1.relative: 0 0; // to make same height with "elm.text.sub.left.bottom"
+ )
+ )
+ PART(TEXTBLOCK, "elm.text.main.left.top",
+ DSC_LRTB("default" 0.0,
+ "elm.icon.left.top", "elm.text.sub.right.top", "elm.padding.top","elm.text.sub.left.bottom",
+ min: 0 LIST_TEXT_MAIN_HEIGHT;
+ text.min: 0 1;
+ text.style: "list_text_main";
+ )
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ text.style: "list_text_main_press";
+ }
+ description { state: "dim" 0.0;
+ inherit: "default" 0.0;
+ text.style: "list_text_main_dim";
+ }
+ description { state: "show_color" 0.0;
+ inherit: "default" 0.0;
+ text.style: "list_text_main_change_color";
+ }
+ )
+ PART(TEXTBLOCK, "elm.text.sub.right.top",
+ DSC_RTB("default" 0.0,
+ "elm.icon.right.top", "elm.padding.top", "elm.text.sub.right.bottom",
+ min: 0 LIST_TEXT_SUB_HEIGHT;
+ text.min: 0 1;
+ text.style: "list_text_sub_02";
+ /* This limits text growing. */
+ rel1.offset: -LIST_TEXT_SUB_WIDTH_MAX 0;
+ text.max: 1 0;
+ align: 1.0 0.5;
+ /*******************************/
+ )
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ text.style: "list_text_sub_02_press";
+ }
+ description { state: "dim" 0.0;
+ inherit: "default" 0.0;
+ text.style: "list_text_sub_02_dim";
+ }
+ )
+ PART(TEXTBLOCK, "elm.text.main.right.top",
+ DSC_LRTB("default" 0.0,
+ "elm.text.sub.left.top", "elm.icon.right.top", "elm.padding.top","elm.text.sub.right.bottom",
+ min: 0 LIST_TEXT_MAIN_HEIGHT;
+ text.min: 0 1;
+ text.style: "list_text_main";
+ )
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ text.style: "list_text_main_press";
+ }
+ description { state: "dim" 0.0;
+ inherit: "default" 0.0;
+ text.style: "list_text_main_dim";
+ }
+ )
+ PART(TEXTBLOCK, "elm.text.sub.left.top",
+ DSC_LTB("default" 0.0,
+ "elm.icon.left.top", "elm.padding.top", "elm.text.sub.left.bottom",
+ min: 0 LIST_TEXT_SUB_HEIGHT;
+ text.min: 0 1;
+ text.style: "list_text_sub_02";
+ /* This limits text growing. */
+ rel2.offset: LIST_TEXT_SUB_WIDTH_MAX 0;
+ text.max: 1 0;
+ align: 0.0 0.5;
+ /*******************************/
+ )
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ text.style: "list_text_sub_02_press";
+ }
+ description { state: "dim" 0.0;
+ inherit: "default" 0.0;
+ text.style: "list_text_sub_02_dim";
+ }
+ )
+ PART(TEXTBLOCK, "elm.text.sub.left.bottom",
+ DSC_LRB("default" 0.0,
+ "elm.icon.left.bottom", "elm.text.sub.right.bottom", "elm.padding.bottom",
+ min: 0 LIST_TEXT_SUB_HEIGHT;
+ text.min: 0 1;
+ text.style: "list_text_sub_01";
+ )
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ text.style: "list_text_sub_01_press";
+ }
+ description { state: "dim" 0.0;
+ inherit: "default" 0.0;
+ text.style: "list_text_sub_01_dim";
+ }
+ description { state: "show_color" 0.0;
+ inherit: "default" 0.0;
+ text.style: "list_text_sub_01_change_color";
+ }
+ )
+ PART(TEXTBLOCK, "elm.text.sub.right.bottom",
+ DSC_RB("default" 0.0,
+ "elm.icon.right.bottom", "elm.padding.bottom",
+ min: 0 LIST_TEXT_SUB_HEIGHT;
+ text.min: 0 1;
+ text.style: "list_text_sub_02";
+ /* This limits text growing. */
+ rel1.offset: -LIST_TEXT_SUB_WIDTH_MAX 0;
+ text.max: 1 0;
+ align: 1.0 1.0;
+ /*******************************/
+ )
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ text.style: "list_text_sub_02_press";
+ }
+ description { state: "dim" 0.0;
+ inherit: "default" 0.0;
+ text.style: "list_text_sub_02_dim";
+ }
+ )
+ }
+ LIST_PROGRAMS( target: "elm.text.main.left.top"; target: "elm.text.sub.right.top";
+ target: "elm.text.main.right.top"; target: "elm.text.sub.left.top";
+ target: "elm.text.sub.left.bottom"; target: "elm.text.sub.right.bottom"; )
+}
+
+group { name: "elm/layout/list/B/type.1/default";
+
+ images {
+ image: GENLIST_LITE_PAUSE_ICON COMP;
+ image: GENLIST_LITE_PLAY_ICON COMP;
+ }
+
+ parts {
+ PART(RECT, "elm.swallow.bg",
+ description { state: "default" 0.0;
+ min: LIST_ITEM_HEIGHT LIST_ITEM_HEIGHT;
+ //max: LIST_ITEM_HEIGHT LIST_ITEM_HEIGHT;
+ }
+ )
+ part
+ { name:"elm.swallow.content";
+ type: SWALLOW;
+ clip_to: "elm.swallow.bg";
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; to:"elm.swallow.bg";}
+ rel2 { relative: 1.0 1.0; to:"elm.swallow.bg";}
+ //min: LIST_ITEM_HEIGHT LIST_ITEM_HEIGHT;
+ //max: LIST_ITEM_HEIGHT LIST_ITEM_HEIGHT;
+ }
+ }
+ part
+ {
+ name:"elm.swallow.storage";
+ type: SWALLOW;
+ clip_to: "elm.swallow.bg";
+ scale: 1;
+ description { state: "default" 0.0;
+ min: GENLIST_ICON_SIZE GENLIST_ICON_SIZE;
+ max: GENLIST_ICON_SIZE GENLIST_ICON_SIZE;
+ fixed:1 1;
+ rel1 { relative: 0.0 0.0; to:"elm.swallow.content"; offset: 54 54;}
+ rel2 { relative: 1.0 1.0; to:"elm.swallow.content"; offset: -6 -6;}
+ }
+ }
+ part
+ {
+ name:"elm.content.top";
+ type: IMAGE;
+ clip_to: "elm.swallow.bg";
+ scale: 1;
+ description { state: "default" 0.0;
+ min: LIST_ITEM_HEIGHT LIST_ITEM_HEIGHT;
+ max: LIST_ITEM_HEIGHT LIST_ITEM_HEIGHT;
+ fixed:1 1;
+ visible: 0;
+ image { normal: GENLIST_LITE_PAUSE_ICON;}
+ rel1 { relative: 0.0 0.0; to:"elm.swallow.content"; }
+ rel2 { relative: 1.0 1.0; to:"elm.swallow.content"; }
+ }
+ description { state: "show_play" 0.0;
+ inherit: "default";
+ visible: 1;
+ }
+ description { state: "show_pause" 0.0;
+ inherit: "default";
+ image { normal: GENLIST_LITE_PLAY_ICON;}
+ visible: 1;
+ }
+ }
+ }
+ programs {
+ program { name: "default";
+ signal: "show_default";
+ source: "*";
+ action: STATE_SET "default" 0.0;
+ target: "elm.content.top";
+ }
+ program { name: "show_play";
+ signal: "show_play";
+ source: "*";
+ action: STATE_SET "show_play" 0.0;
+ target: "elm.content.top";
+ }
+ program { name: "show_pause";
+ signal: "show_pause";
+ source: "*";
+ action: STATE_SET "show_pause" 0.0;
+ target: "elm.content.top";
+ }
+ }
+}
\ No newline at end of file
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#define STYLE_TAG \
+ tag: "br" "\n";\
+ tag: "ps" "ps";\
+ tag: "tab" "\t";\
+ tag: "b" "+ font=Tizen:style=Bold";
+
+/*
+#define STYLE_TAG_MATCH \
+ tag: "match" GENLIST_PART_MATCH_TAG_COLOR;
+*/
+
+// FIXME: Why this is needed? just don't use match color, right? damn textblock bug...
+#define STYLE_TAG_MATCH_FOCUS \
+ tag: "match" GENLIST_LIST_TEXT_FOCUS_COLOR_STYLE;
+
+styles {
+ // ************* button text ********** //
+ style { name: "naviframe_left_btn_text";
+ base: "font=Tizen:style=Regular font_size="BUTTON_NAVIFRAME_TITLE_TEXT_SIZE_INC" color=#000000 ellipsis=1.0";
+ STYLE_TAG
+ }
+ style { name: "naviframe_left_btn_text_press";
+ base: "font=Tizen:style=Regular font_size="BUTTON_NAVIFRAME_TITLE_TEXT_SIZE_INC" align=left color=#ffffff text_color:ATO025 ellipsis=1.0";
+ STYLE_TAG
+ }
+ style { name: "naviframe_left_btn_text_dim";
+ base: "font=Tizen:style=Regular font_size="BUTTON_NAVIFRAME_TITLE_TEXT_SIZE_INC" align=left color=#ffffff text_color:ATO025 ellipsis=1.0";
+ STYLE_TAG
+ }
+ style { name: "naviframe_right_btn_text";
+ base: "font=Tizen:style=Regular font_size="BUTTON_NAVIFRAME_TITLE_TEXT_SIZE_INC" align=right color=#ee2a2a text_color:ATO025 ellipsis=1.0";
+ STYLE_TAG
+ }
+ style { name: "naviframe_right_btn_text_press";
+ base: "font=Tizen:style=Regular font_size="BUTTON_NAVIFRAME_TITLE_TEXT_SIZE_INC" align=right color=#ffffff text_color:ATO025 ellipsis=1.0";
+ STYLE_TAG
+ }
+ style { name: "naviframe_right_btn_text_dim";
+ base: "font=Tizen:style=Regular font_size="BUTTON_NAVIFRAME_TITLE_TEXT_SIZE_INC" align=right color=#ffffff text_color:ATO025 ellipsis=1.0";
+ STYLE_TAG
+ }
+ // ********************** groupindex text
+ style { name: "genlist_style_groupindex_text";
+ base: "font=Tizen:style=Regular font_size="GENLIST_GROUPINDEX_LIST_SIZE" color="GENLIST_GROUPINDEX_LIST_COLOR_STYLE" ellipsis=1.0";
+ STYLE_TAG
+ STYLE_TAG_MATCH
+ }
+ style { name: "genlist_style_groupindex_text_focus";
+ base: "font=Tizen:style=Regular font_size="GENLIST_GROUPINDEX_LIST_SIZE" color="GENLIST_GROUPINDEX_LIST_FOCUS_COLOR_STYLE" ellipsis=1.0";
+ STYLE_TAG
+ STYLE_TAG_MATCH
+ }
+ // ********************** dialgoue group help text
+ style { name: "genlist_style_dialogue_group_help_text";
+ base: "font=Tizen:style=Regular font_size="GENLIST_DIALOGUE_GROUP_HELP_TEXT_SIZE" color="GENLIST_DIALOGUE_GROUP_HELP_TEXT_COLOR_STYLE" wrap=mixed";
+ STYLE_TAG
+ STYLE_TAG_MATCH
+ }
+ // ********************** list main text
+ style { name: "genlist_style_list_main_text_unread";
+ base: "font=Tizen:style=Regular font_size="GENLIST_LIST_MAIN_TEXT_SIZE" color="GENLIST_LIST_MAIN_TEXT_UNREAD_COLOR_STYLE" ellipsis=1.0";
+ STYLE_TAG
+ STYLE_TAG_MATCH
+ }
+ style { name: "genlist_style_list_main_text_unread_black";
+ base: "font=Tizen:style=Regular font_size="GENLIST_LIST_MAIN_TEXT_SIZE" color=#FFFFFF text_color:ATO025 ellipsis=1.0";
+ STYLE_TAG
+ STYLE_TAG_MATCH
+ }
+ style { name: "genlist_style_list_main_text_unread_live_box_black";
+ base: "font=Tizen:style=Regular font_size="38" color="GENLIST_LIST_MAIN_TEXT_LIVEBOX_COLOR_STYLE_BLACK" ellipsis=1.0";
+ STYLE_TAG
+ STYLE_TAG_MATCH
+ }
+ style { name: "genlist_style_list_main_text_livebox";
+ base: "font=Tizen:style=Regular font_size="GENLIST_LIST_MAIN_TEXT_SIZE" color="GENLIST_LIST_MAIN_TEXT_LIVEBOX_COLOR_STYLE" ellipsis=1.0";
+ STYLE_TAG
+ STYLE_TAG_MATCH
+ }
+ style { name: "genlist_style_list_main_text_unread_dim";
+ base: "font=Tizen:style=Regular font_size="GENLIST_LIST_MAIN_TEXT_SIZE" color="GENLIST_LIST_MAIN_TEXT_UNREAD_DIM_COLOR_STYLE" ellipsis=1.0";
+ STYLE_TAG
+ STYLE_TAG_MATCH
+ }
+
+ style { name: "genlist_style_list_main_text_unread_dim_black";
+ base: "font=Tizen:style=Regular font_size="GENLIST_LIST_MAIN_TEXT_SIZE" color="GENLIST_LIST_MAIN_TEXT_UNREAD_DIM_COLOR_STYLE_BLACK" ellipsis=1.0";
+ STYLE_TAG
+ STYLE_TAG_MATCH
+ }
+ style { name: "genlist_style_list_main_text_read";
+ base: "font=Tizen:style=Regular font_size="GENLIST_LIST_MAIN_TEXT_SIZE" color="GENLIST_LIST_MAIN_TEXT_READ_COLOR_STYLE" ellipsis=1.0";
+ STYLE_TAG
+ STYLE_TAG_MATCH
+ }
+ style { name: "genlist_style_list_main_text_read_dim";
+ base: "font=Tizen:style=Regular font_size="GENLIST_LIST_MAIN_TEXT_SIZE" color="GENLIST_LIST_MAIN_TEXT_READ_DIM_COLOR_STYLE" ellipsis=1.0";
+ STYLE_TAG
+ STYLE_TAG_MATCH
+ }
+ style { name: "genlist_style_list_main_text_focus";
+ base: "font=Tizen:style=Regular font_size="GENLIST_LIST_MAIN_TEXT_SIZE" color="GENLIST_LIST_TEXT_FOCUS_COLOR_STYLE" ellipsis=1.0";
+ STYLE_TAG
+ STYLE_TAG_MATCH_FOCUS
+ }
+ style { name: "genlist_style_list_main_text_focus_black";
+ base: "font=Tizen:style=Regular font_size="GENLIST_LIST_MAIN_TEXT_SIZE" color="GENLIST_LIST_TEXT_FOCUS_COLOR_STYLE_BLACK" ellipsis=1.0";
+ STYLE_TAG
+ STYLE_TAG_MATCH_FOCUS
+ }
+ // ********************** list main text (multiline)
+ style { name: "genlist_style_list_main_text_unread_wrap";
+ base: "font=Tizen:style=Regular font_size="GENLIST_LIST_MAIN_TEXT_SIZE" color="GENLIST_LIST_MAIN_TEXT_UNREAD_COLOR_STYLE" wrap=mixed";
+ STYLE_TAG
+ STYLE_TAG_MATCH
+ }
+ style { name: "genlist_style_list_main_text_unread_dim_wrap";
+ base: "font=Tizen:style=Regular font_size="GENLIST_LIST_MAIN_TEXT_SIZE" color="GENLIST_LIST_MAIN_TEXT_UNREAD_DIM_COLOR_STYLE" wrap=mixed";
+ STYLE_TAG
+ STYLE_TAG_MATCH
+ }
+ style { name: "genlist_style_list_main_text_focus_wrap";
+ base: "font=Tizen:style=Regular font_size="GENLIST_LIST_MAIN_TEXT_SIZE" color="GENLIST_LIST_TEXT_FOCUS_COLOR_STYLE" wrap=mixed";
+ STYLE_TAG
+ STYLE_TAG_MATCH_FOCUS
+ }
+ // ********************** list sub text
+ style { name: "genlist_style_list_sub_text_default";
+ base: "font=Tizen:style=Bold font_size="GENLIST_LIST_SUB_TEXT_SIZE" color="GENLIST_LIST_SUB_TEXT_DEFAULT_COLOR_STYLE" ellipsis=1.0";
+ STYLE_TAG
+ STYLE_TAG_MATCH
+ }
+ style { name: "genlist_style_list_sub_text_default_dim";
+ base: "font=Tizen:style=Bold font_size="GENLIST_LIST_SUB_TEXT_SIZE" color="GENLIST_LIST_SUB_TEXT_DEFAULT_DIM_COLOR_STYLE" ellipsis=1.0";
+ STYLE_TAG
+ STYLE_TAG_MATCH_FOCUS
+ }
+ style { name: "genlist_style_list_sub_text_livebox";
+ base: "font=Tizen:style=Bold font_size="GENLIST_LIST_SUB_TEXT_SIZE" color="GENLIST_LIST_SUB_TEXT_LIVEBOX_COLOR_STYLE" ellipsis=1.0";
+ STYLE_TAG
+ STYLE_TAG_MATCH
+ }
+ style { name: "genlist_style_list_sub_text_settings";
+ base: "font=Tizen:style=Bold font_size="GENLIST_LIST_SUB_TEXT_SIZE" color="GENLIST_LIST_SUB_TEXT_SETTINGS_COLOR_STYLE" ellipsis=1.0";
+ STYLE_TAG
+ STYLE_TAG_MATCH
+ }
+ style { name: "genlist_style_list_sub_text_settings_dim";
+ base: "font=Tizen:style=Bold font_size="GENLIST_LIST_SUB_TEXT_SIZE" color="GENLIST_LIST_SUB_TEXT_SETTINGS_DIM_COLOR_STYLE" ellipsis=1.0";
+ STYLE_TAG
+ STYLE_TAG_MATCH
+ }
+ style { name: "genlist_style_list_sub_text_focus";
+ base: "font=Tizen:style=Bold font_size="GENLIST_LIST_SUB_TEXT_SIZE" color="GENLIST_LIST_TEXT_FOCUS_COLOR_STYLE" ellipsis=1.0";
+ STYLE_TAG
+ STYLE_TAG_MATCH_FOCUS
+ }
+ // ********************** list sub text (multiline)
+ style { name: "genlist_style_list_sub_text_default_wrap";
+ base: "font=Tizen:style=Bold font_size="GENLIST_LIST_SUB_TEXT_SIZE" color="GENLIST_LIST_SUB_TEXT_DEFAULT_COLOR_STYLE" wrap=mixed";
+ STYLE_TAG
+ STYLE_TAG_MATCH
+ }
+ style { name: "genlist_style_list_sub_text_default_dim_wrap";
+ base: "font=Tizen:style=Bold font_size="GENLIST_LIST_SUB_TEXT_SIZE" color="GENLIST_LIST_SUB_TEXT_DEFAULT_DIM_COLOR_STYLE" wrap=mixed";
+ STYLE_TAG
+ STYLE_TAG_MATCH
+ }
+ style { name: "genlist_style_list_sub_text_focus_wrap";
+ base: "font=Tizen:style=Bold font_size="GENLIST_LIST_SUB_TEXT_SIZE" color="GENLIST_LIST_TEXT_FOCUS_COLOR_STYLE" wrap=mixed";
+ STYLE_TAG
+ STYLE_TAG_MATCH
+ }
+
+ // **** style for download queue ****
+ style { name: "genlist_style_download_queue_progress_state_dim";
+ base: "font=Tizen:style=Regular font_size=24 color="GENLIST_LIST_SUB_TEXT_DEFAULT_DIM_COLOR_STYLE" ellipsis=1.0";
+ STYLE_TAG
+ STYLE_TAG_MATCH_FOCUS
+ }
+ style { name: "genlist_style_download_queue_progress_size_dim";
+ base: "font=Tizen:style=Regular font_size=24 color="GENLIST_LIST_SUB_TEXT_DEFAULT_DIM_COLOR_STYLE" align=right ellipsis=1.0";
+ STYLE_TAG
+ STYLE_TAG_MATCH_FOCUS
+ }
+ // ************* for lite textblock******* //
+ // ************* list main text ********** //
+ style { name: "list_text_main";
+ base: "font=Tizen:style=Regular font_size="LIST_TEXT_MAIN_SIZE" color=#000000 ellipsis=1.0";
+ STYLE_TAG
+ STYLE_TAG_MATCH
+ }
+ style { name: "list_text_main_dim";
+ base: "font=Tizen:style=Regular font_size="LIST_TEXT_MAIN_SIZE" color=#000000 ellipsis=1.0";
+ STYLE_TAG
+ }
+ style { name: "list_text_main_press";
+ base: "font=Tizen:style=Regular font_size="LIST_TEXT_MAIN_SIZE" color=#000000 ellipsis=1.0";
+ STYLE_TAG
+ }
+ style { name: "list_text_main_change_color";
+ base: "font=Tizen:style=Regular font_size="LIST_TEXT_MAIN_SIZE" color=#3867f5 ellipsis=1.0";
+ STYLE_TAG
+ STYLE_TAG_MATCH
+ }
+ // ************* list sub text ********** //
+ style { name: "list_text_sub_01";
+ base: "font=Tizen:style=Regular font_size="LIST_TEXT_SUB_SIZE" color=#000000 ellipsis=1.0";
+ STYLE_TAG
+ STYLE_TAG_MATCH
+ }
+ style { name: "list_text_sub_01_dim";
+ base: "font=Tizen:style=Regular font_size="LIST_TEXT_SUB_SIZE" color=#000000 ellipsis=1.0";
+ STYLE_TAG
+ }
+ style { name: "list_text_sub_01_press";
+ base: "font=Tizen:style=Regular font_size="LIST_TEXT_SUB_SIZE" color=#000000 ellipsis=1.0";
+ STYLE_TAG
+ }
+ style { name: "list_text_sub_01_change_color";
+ base: "font=Tizen:style=Regular font_size="LIST_TEXT_SUB_SIZE" color=#3867f5 ellipsis=1.0";
+ STYLE_TAG
+ STYLE_TAG_MATCH
+ }
+ style { name: "list_text_sub_02";
+ base: "font=Tizen:style=Regular font_size="LIST_TEXT_SUB_SIZE" color=#000000 ellipsis=1.0";
+ STYLE_TAG
+ }
+ style { name: "list_text_sub_02_dim";
+ base: "font=Tizen:style=Regular font_size="LIST_TEXT_SUB_SIZE" color=#000000 ellipsis=1.0";
+ STYLE_TAG
+ }
+ style { name: "list_text_sub_02_press";
+ base: "font=Tizen:style=Regular font_size="LIST_TEXT_SUB_SIZE" color=#000000 ellipsis=1.0";
+ STYLE_TAG
+ }
+ // ************* list index text ********** //
+ style { name: "list_text_index_main";
+ base: "font=Tizen:style=Regular font_size="LIST_INDEX_TEXT_MAIN_SIZE" color=#ffffff ellipsis=1.0";
+ STYLE_TAG
+ }
+ style { name: "list_text_index_main_dim";
+ base: "font=Tizen:style=Regular font_size="LIST_INDEX_TEXT_MAIN_SIZE" color=#ffffff ellipsis=1.0";
+ STYLE_TAG
+ }
+ style { name: "list_text_index_main_press";
+ base: "font=Tizen:style=Regular font_size="LIST_INDEX_TEXT_MAIN_SIZE" color=#ffffff ellipsis=1.0";
+ STYLE_TAG
+ }
+ style { name: "list_text_index_sub";
+ base: "font=Tizen:style=Regular font_size="LIST_INDEX_TEXT_SUB_SIZE" color=#ffffff ellipsis=1.0";
+ STYLE_TAG
+ }
+ style { name: "list_text_index_sub_dim";
+ base: "font=Tizen:style=Regular font_size="LIST_INDEX_TEXT_SUB_SIZE" color=#ffffff ellipsis=1.0";
+ STYLE_TAG
+ }
+ style { name: "list_text_index_sub_press";
+ base: "font=Tizen:style=Regular font_size="LIST_INDEX_TEXT_SUB_SIZE" color=#ffffff ellipsis=1.0";
+ STYLE_TAG
+ }
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#define NAVIFRAME_VIEW_PUSH_TRANS_TIME 0.18
+#define NAVIFRAME_VIEW_POP_TRANS_TIME 0.18
+
+ styles {
+ style { name: "naviframe_title_style";
+ base: "font=Tizen:style=Regular align=center font_size="NAVIFRAME_TITLE_TEXT_FONT_SIZE_INC" color=#FFFFFF color_class=T020 ellipsis=1.0 text_class=T020 style=shadow,bottom shadow_color="NAVIFRAME_TITLE_TEXT_SHADOW_COLOR_INC"";
+ tag: "br" "\n";
+ tag: "tab" "\t";
+ }
+ style { name: "naviframe_subtitle_visible_style";
+ base: "font=Tizen:style=Regular align=center font_size="NAVIFRAME_SUBTITLE_VISIBLE_TEXT_FONT_SIZE_INC" color=#FFFFFF color_class=T0203 ellipsis=1.0 text_class=T0203 style=shadow,bottom shadow_color="NAVIFRAME_SUBTITLE_VISIBLE_TEXT_SHADOW_COLOR_INC"";
+ tag: "br" "\n";
+ tag: "tab" "\t";
+ }
+ style { name: "naviframe_subtitle_style";
+ base: "font=Tizen:style=Regular align=center font_size="NAVIFRAME_VISIBLE_TEXT_FONT_SIZE_INC" color=#FFFFFF color_class=T0204 ellipsis=1.0 text_class=T0204 style=shadow,bottom shadow_color="NAVIFRAME_SUBTITLE_TEXT_SHADOW_COLOR_INC"";
+ tag: "br" "\n";
+ tag: "tab" "\t";
+ }
+ }
+ group { name: "elm/naviframe/base/default";
+ parts {
+ part { name: "bg";
+ type: RECT;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ }
+ }
+
+ group { name: "elm/naviframe/item/basic/default";
+ data.item: "tizen_zoom" 1;
+ images {
+ set {
+ name: "core_icon_badge_container.#";
+ image {
+ image: "images/core_icon_badge_container.#.png" COMP;
+ }
+ }
+ set {
+ name: "core_icon_badge_container_outer.#";
+ image {
+ image: "images/core_icon_badge_container_outer.#.png" COMP;
+ }
+ }
+ }
+ script {
+ public landscape_mode = 0; //Landscape status
+ public title_left_btn_visible = 0; //Title left button visible status
+ public title_left_text_btn_visible = 0; //Title left text button visible status
+ public title_right_btn_visible = 0; //Title right button visible status
+ public title_right_text_btn_visible = 0; //Title right text button visible status
+ public subtitle_visible = 0; //Subtitle visible status
+ public tabbar_visible = 0; //Tabbar visible status (This value is used for tabbar group)
+ public badge_visible = 0; //Badge icon visible status
+ }
+ parts {
+ part { name: "base";
+ type: RECT;
+ mouse_events: 0;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ color_class: "B0211";
+ }
+ }
+ part { name: "clipper";
+ type: RECT;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ visible: 1;
+ }
+ description { state: "hidden" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "indicator_bg";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ min: 0 0;
+ max: -1 0;
+ align: 0.0 0.0;
+ fixed: 0 1;
+ rel1 { to: "base"; relative: 0.0 0.0; }
+ rel2 { to: "base"; relative: 1.0 0.0; }
+ }
+ description { state: "show" 0.0;
+ inherit: "default" 0.0;
+ min: 0 NAVIFRAME_INDICATOR_HEIGHT_INC;
+ max: -1 NAVIFRAME_INDICATOR_HEIGHT_INC;
+ visible: 1;
+ color_class: "B011";
+ }
+ }
+ part { name: "title_bg";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ clip_to: "title_clipper";
+ description { state: "default" 0.0;
+ min: 0 NAVIFRAME_TITLE_HEIGHT_INC;
+ max: -1 NAVIFRAME_TITLE_HEIGHT_INC;
+ align: 0.0 0.0;
+ fixed: 0 1;
+ rel1 { to: "indicator_bg"; relative: 0.0 1.0; }
+ rel2 { to: "indicator_bg"; relative: 1.0 1.0; }
+ color_class: "B011";
+ }
+ description { state: "hidden" 0.0;
+ inherit: "default" 0.0;
+ min: 0 0;
+ max: -1 0;
+ }
+ }
+ part { name: "title_clipper";
+ type: RECT;
+ mouse_events: 0;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ rel1.to_y: "title_bg";
+ rel2.to_y: "title_bg";
+ }
+ description { state: "hidden" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "title_text_left_padding";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.to: "title_bg";
+ rel2.to: "title_left_btn_right_padding";
+ }
+ description { state: "title_badge_visible" 0.0;
+ rel1.to: "title_bg";
+ rel2.to: "title_badge2_padding";
+ }
+ }
+ part { name: "title_text_right_padding";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.to: "title_right_btn_left_padding";
+ rel2.to: "title_bg";
+ }
+ description { state: "title_badge_visible" 0.0;
+ rel1.to: "badge_icon_left_padding";
+ rel2.to: "title_bg";
+ }
+ }
+ part { name: "elm.text.title";
+ type: TEXTBLOCK;
+ scale: 1;
+ mouse_events: 0;
+ clip_to: "title_text_clipper";
+ description { state: "default" 0.0;
+ text {
+ style: "naviframe_title_style";
+ size: NAVIFRAME_TITLE_TEXT_FONT_SIZE_INC;
+ size_range: NAVIFRAME_TITLE_TEXT_FONT_RANGE_MIN NAVIFRAME_TITLE_TEXT_FONT_RANGE_MAX;
+ elipsis: 1.0;
+ }
+ fixed: 1 1;
+ rel1 { to_x: "title_text_left_padding"; to_y: "title_bg"; relative: 1.0 0.0; }
+ rel2 { to_x: "title_text_right_padding"; to_y: "title_bg"; relative: 0.0 1.0; }
+ }
+ description { state: "subtitle_visible" 0.0;
+ text { style: "naviframe_subtitle_visible_style"; elipsis: 1.0;}
+ fixed: 1 1;
+ rel1 { to_x: "title_text_left_padding"; to_y: "title_top_padding"; relative: 1.0 1.0; }
+ rel2 { to_x: "title_text_right_padding"; to_y: "elm.text.subtitle"; relative: 0.0 0.0; }
+ }
+ description { state: "text_btn_subtitle_visible" 0.0;
+ inherit: "subtitle_visible" 0.0;
+ fixed: 1 1;
+ rel1 { to_x: "title_left_text_btn"; to_y: "title_top_padding"; relative: 1.0 1.0; }
+ rel2 { to_x: "title_right_text_btn"; to_y: "elm.text.subtitle"; relative: 0.0 0.0; }
+ }
+ description { state: "text_btn_badge_subtitle_visible" 0.0;
+ inherit: "subtitle_visible" 0.0;
+ fixed: 1 1;
+ rel1 { to_x: "title_left_text_btn"; to_y: "title_top_padding"; relative: 1.0 1.0; }
+ rel2 { to_x: "badge_text_left_padding"; to_y: "elm.text.subtitle"; relative: 0.0 0.0; }
+ }
+ description { state: "text_button_visible" 0.0;
+ inherit: "default" 0.0;
+ fixed: 1 1;
+ rel1 { to_x: "title_left_text_btn"; to_y: "title_bg"; relative: 1.0 0.0; }
+ rel2 { to_x: "title_right_text_btn"; to_y: "title_bg"; relative: 0.0 1.0; }
+ }
+ description { state: "text_button_badge_visible" 0.0;
+ inherit: "default" 0.0;
+ fixed: 1 1;
+ rel1 { to_x: "title_left_text_btn"; to_y: "title_bg"; relative: 1.0 0.0; }
+ rel2 { to_x: "badge_text_left_padding"; to_y: "title_bg"; relative: 0.0 1.0; }
+ }
+ }
+ part { name: "title_text_clipper";
+ type: RECT;
+ mouse_events: 0;
+ clip_to: "title_clipper";
+ description { state: "default" 0.0;
+ rel1.to: "elm.text.title";
+ rel2.to: "elm.text.title";
+ }
+ }
+ part { name: "title_top_padding";
+ type: SPACER;
+ description { state: "default" 0.0;
+ min: 0 NAVIFRAME_TITLE_TOP_PADDING_HEIGHT_INC;
+ max: -1 NAVIFRAME_TITLE_TOP_PADDING_HEIGHT_INC;
+ fixed: 0 1;
+ align: 0.5 0.0;
+ rel1 { to: "title_bg"; relative: 0.0 0.0; }
+ rel2 { to: "title_bg"; relative: 1.0 0.0; }
+ }
+ }
+ part { name: "elm.text.subtitle";
+ type: TEXTBLOCK;
+ scale: 1;
+ mouse_events: 0;
+ clip_to: "subtitle_text_clipper";
+ description { state: "default" 0.0;
+ text { style: "naviframe_subtitle_style"; elipsis: 1.0;}
+ min: 0 NAVIFRAME_SUBTITLE_HEIGHT_INC;
+ max: -1 NAVIFRAME_SUBTITLE_HEIGHT_INC;
+ fixed: 0 1;
+ align: 0.5 1.0;
+ rel1 { to_x: "title_left_btn_right_padding"; to_y: "subtitle_bottom_padding"; relative: 1.0 0.0; }
+ rel2 { to_x: "title_right_btn_left_padding"; to_y: "subtitle_bottom_padding"; relative: 0.0 0.0; }
+ }
+ description { state: "text_button_visible" 0.0;
+ inherit: "default" 0.0;
+ fixed: 1 1;
+ rel1 { to_x: "title_left_text_btn"; to_y: "subtitle_bottom_padding"; relative: 1.0 0.0; }
+ rel2 { to_x: "title_right_text_btn"; to_y: "subtitle_bottom_padding"; relative: 0.0 0.0; }
+ }
+ description { state: "text_button_badge_visible" 0.0;
+ inherit: "default" 0.0;
+ fixed: 1 1;
+ rel1 { to_x: "title_left_text_btn"; to_y: "subtitle_bottom_padding"; relative: 1.0 0.0; }
+ rel2 { to_x: "badge_text_left_padding"; to_y: "subtitle_bottom_padding"; relative: 0.0 0.0; }
+ }
+ }
+ part { name: "subtitle_text_clipper";
+ type: RECT;
+ mouse_events: 0;
+ clip_to: "title_clipper";
+ description { state: "default" 0.0;
+ rel1.to: "elm.text.subtitle";
+ rel2.to: "elm.text.subtitle";
+ }
+ }
+ part { name: "subtitle_bottom_padding";
+ type: SPACER;
+ description { state: "default" 0.0;
+ min: 0 NAVIFRAME_SUBTITLE_BOTTOM_PADDING_HEIGHT_INC;
+ max: -1 NAVIFRAME_SUBTITLE_BOTTOM_PADDING_HEIGHT_INC;
+ fixed: 0 1;
+ align: 0.5 1.0;
+ rel1 { to: "title_bg"; relative: 0.0 1.0; }
+ rel2 { to: "title_bg"; relative: 1.0 1.0; }
+ }
+ }
+ part { name: "elm.swallow.content";
+ type: SWALLOW;
+ scale: 1;
+ repeat_events: 0;
+ clip_to: "content_clipper";
+ description { state: "default" 0.0;
+ align: 0.0 0.0;
+ rel1 { to_x: "base"; to_y: "title_bg"; relative: 0.0 1.0; }
+ rel2 { to_x: "base"; to_y: "toolbar"; relative: 1.0 0.0; }
+ }
+ }
+ part { name: "click_event_area";
+ type: RECT;
+ ignore_flags: ON_HOLD;
+ description { state: "default" 0.0;
+ rel1.to: "title_bg";
+ rel2.to: "title_bg";
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "access.title";
+ type: RECT;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ rel1.to: "title_bg";
+ rel2.to: "title_bg";
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "elm.swallow.icon";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "title_clipper";
+ description { state: "default" 0.0;
+ max: 0 0;
+ fixed: 1 0;
+ align: 0.0 0.5;
+ rel1 { relative: 1.0 0.0; to: "title_left_btn_right_padding"; }
+ rel2 { relative: 1.0 1.0; to: "title_left_btn_right_padding"; }
+ visible: 0;
+ }
+ }
+ part { name: "badge_icon_left_padding";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 0;
+ max: 0 -1;
+ fixed: 1 0;
+ align: 1.0 0.5;
+ rel1 { to_x: "badge_text_left_padding"; to_y: "title_bg"; relative: 0.0 0.0; }
+ rel2 { to_x: "badge_text_left_padding"; to_y: "title_bg"; relative: 0.0 1.0; }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ min: NAVIFRAME_BADGE_ICON_LEFT_PADDING_WIDTH_INC 0;
+ max: NAVIFRAME_BADGE_ICON_LEFT_PADDING_WIDTH_INC -1;
+ }
+ }
+ part { name: "badge_icon";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 0;
+ clip_to: "title_clipper";
+ description { state: "default" 0.0;
+ min: 0 0;
+ max: 0 0;
+ fixed: 1 1;
+ rel1 { to_x: "badge_text_left_padding"; to_y: "title_badge"; }
+ rel2 { to_x: "badge_text_right_padding"; to_y: "title_badge"; }
+ color_class: "B052L7";
+ image.normal: "core_icon_badge_container.#";
+ visible: 0;
+ }
+ description { state: "visible" 0.0;
+ rel1 { to_x: "badge_text_left_padding"; to_y: "title_badge"; }
+ rel2 { to_x: "badge_text_right_padding"; to_y: "title_badge"; }
+ color_class: "B052L7";
+ image.normal: "core_icon_badge_container.#";
+ visible: 1;
+ }
+ }
+ part { name: "badge_outer_icon";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 0;
+ clip_to: "title_clipper";
+ description { state: "default" 0.0;
+ min: 0 0;
+ max: 0 0;
+ fixed: 1 1;
+ rel1 { to_x: "badge_text_left_padding"; to_y: "title_badge"; }
+ rel2 { to_x: "badge_text_right_padding"; to_y: "title_badge"; }
+ image.normal: "core_icon_badge_container_outer.#";
+ visible: 0;
+ }
+ description { state: "visible" 0.0;
+ rel1 { to_x: "badge_text_left_padding"; to_y: "title_badge"; }
+ rel2 { to_x: "badge_text_right_padding"; to_y: "title_badge"; }
+ image.normal: "core_icon_badge_container_outer.#";
+ visible: 1;
+ }
+ }
+ part { name: "badge_text_left_padding";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 0;
+ max: 0 -1;
+ fixed: 1 0;
+ align: 1.0 0.5;
+ rel1 { to_x: "title_badge"; to_y: "title_bg"; relative: 0.0 0.0; }
+ rel2 { to_x: "title_badge"; to_y: "title_bg"; relative: 0.0 1.0; }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ min: NAVIFRAME_BADGE_TEXT_LEFT_PADDING_WIDTH_INC 0;
+ max: NAVIFRAME_BADGE_TEXT_LEFT_PADDING_WIDTH_INC -1;
+ }
+ }
+ part { name: "badge_text_right_padding";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 0;
+ max: 0 -1;
+ fixed: 1 0;
+ align: 1.0 0.5;
+ rel1 { to_x: "title_right_btn_left_padding"; to_y: "title_bg"; relative: 0.0 0.0; }
+ rel2 { to_x: "title_right_btn_left_padding"; to_y: "title_bg"; relative: 0.0 1.0; }
+ }
+ description { state: "right_text_button" 0.0;
+ inherit: "default" 0.0;
+ rel1 { to_x: "title_right_text_btn"; to_y: "title_bg"; relative: 0.0 0.0; }
+ rel2 { to_x: "title_right_text_btn"; to_y: "title_bg"; relative: 0.0 1.0; }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ min: NAVIFRAME_BADGE_TEXT_LEFT_PADDING_WIDTH_INC 0;
+ max: NAVIFRAME_BADGE_TEXT_LEFT_PADDING_WIDTH_INC -1;
+ }
+ }
+ part { name: "title_badge";
+ type: TEXT;
+ scale: 1;
+ mouse_events: 0;
+ clip_to: "title_clipper";
+ description { state: "default" 0.0;
+ text {
+ text_class: "T1121";
+ min: 1 0;
+ max: 1 0;
+ align: 1.0 0.5;
+ elipsis: 1.0;
+ }
+ color_class: "T1121";
+ min: 0 NAVIFRAME_BADGE_HEIGHT_INC;
+ max: -1 NAVIFRAME_BADGE_HEIGHT_INC;
+ fixed: 1 1;
+ align: 1.0 0.5;
+ rel1 { to_x: "badge_text_right_padding"; to_y: "elm.text.title"; relative: 0.0 0.0; }
+ rel2 { to_x: "badge_text_right_padding"; to_y: "elm.text.title"; relative: 0.0 1.0; }
+ }
+ }
+ part { name: "title_badge2";
+ type: TEXT;
+ scale: 1;
+ mouse_events: 0;
+ clip_to: "title_clipper";
+ description { state: "default" 0.0;
+ text {
+ text_class: "T1121";
+ min: 1 0;
+ max: 1 0;
+ align: 0.0 0.5;
+ elipsis: 1.0;
+ }
+ color_class: "T1121";
+ min: 0 NAVIFRAME_BADGE_HEIGHT_INC;
+ max: -1 NAVIFRAME_BADGE_HEIGHT_INC;
+ fixed: 1 1;
+ align: 0.0 0.5;
+ rel1 { to_x: "title_left_btn_right_padding"; to_y: "elm.text.title"; relative: 1.0 0.0; }
+ rel2 { to_x: "title_left_btn_right_padding"; to_y: "elm.text.title"; relative: 1.0 1.0; }
+ visible: 0;
+ }
+ description { state: "left_text_button" 0.0;
+ inherit: "default" 0.0;
+ rel1 { to_x: "title_left_text_btn"; to_y: "elm.text.title"; relative: 1.0 0.0; }
+ rel2 { to_x: "title_left_text_btn"; to_y: "elm.text.title"; relative: 1.0 1.0; }
+ }
+ }
+ part { name: "title_badge2_padding";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 0;
+ max: 0 -1;
+ fixed: 1 0;
+ align: 0.0 0.5;
+ rel1 { to_x: "title_badge2"; to_y: "title_bg"; relative: 1.0 0.0; }
+ rel2 { to_x: "title_badge2"; to_y: "title_bg"; relative: 1.0 1.0; }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ min: NAVIFRAME_BADGE2_PADDING_WIDTH_INC 0;
+ max: NAVIFRAME_BADGE2_PADDING_WIDTH_INC -1;
+ }
+ }
+ part { name: "title_left_btn_left_padding";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: NAVIFRAME_TITLE_LEFT_PADDING_WIDTH_INC 0;
+ max: NAVIFRAME_TITLE_LEFT_PADDING_WIDTH_INC -1;
+ fixed: 1 1;
+ align: 0.0 0.0;
+ rel1 { to: "title_bg"; relative: 0.0 0.0; }
+ rel2 { to: "title_bg"; relative: 0.0 1.0; }
+ }
+ }
+ part { name: "title_left_btn_bg";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 0;
+ fixed: 1 1;
+ align: 0.0 0.5;
+ rel1 { to: "title_left_btn_left_padding"; relative: 1.0 0.0; }
+ rel2 { to: "title_left_btn_left_padding"; relative: 1.0 1.0; }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ min: NAVIFRAME_TITLE_FUNC_BTN_SIZE_INC;
+ max: NAVIFRAME_TITLE_FUNC_BTN_SIZE_INC;
+ }
+ }
+ part { name: "title_left_btn_right_padding";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 0;
+ fixed: 1 1;
+ align: 0.0 0.0;
+ rel1 { to: "title_left_btn_bg"; relative: 1.0 0.0; }
+ rel2 { to: "title_left_btn_bg"; relative: 1.0 1.0; }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ min: NAVIFRAME_TITLE_LEFT_PADDING_WIDTH_INC 0;
+ max: NAVIFRAME_TITLE_LEFT_PADDING_WIDTH_INC -1;
+ }
+ }
+ part { name: "title_left_btn";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "title_clipper";
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1.to: "title_left_btn_bg";
+ rel2.to: "title_left_btn_bg";
+ visible: 0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "title_left_text_btn_bg";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 0;
+ fixed: 1 1;
+ align: 0.0 0.0;
+ rel1 { to: "title_bg"; relative: 0.0 0.0; }
+ rel2 { to: "title_bg"; relative: 0.0 1.0; }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ min: BUTTON_NAVIFRAME_TITLE_BUTTON_TEXT_SIZE_INC;
+ max: BUTTON_NAVIFRAME_TITLE_BUTTON_TEXT_SIZE_INC;
+ }
+ }
+ part { name: "title_left_text_btn";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "title_clipper";
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1.to: "title_left_text_btn_bg";
+ rel2.to: "title_left_text_btn_bg";
+ visible: 0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "title_right_btn_left_padding";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 0;
+ fixed: 1 1;
+ align: 1.0 0.0;
+ rel1 { to: "title_right_btn_bg"; relative: 0.0 0.0; }
+ rel2 { to: "title_right_btn_bg"; relative: 0.0 1.0; }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ min: NAVIFRAME_TITLE_LEFT_PADDING_WIDTH_INC 0;
+ max: NAVIFRAME_TITLE_LEFT_PADDING_WIDTH_INC -1;
+ }
+ }
+ part { name: "title_right_btn_bg";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 0;
+ fixed: 1 1;
+ align: 1.0 0.5;
+ rel1 { to: "title_right_btn_right_padding"; relative: 0.0 0.0; }
+ rel2 { to: "title_right_btn_right_padding"; relative: 0.0 1.0; }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ min: NAVIFRAME_TITLE_FUNC_BTN_SIZE_INC;
+ max: NAVIFRAME_TITLE_FUNC_BTN_SIZE_INC;
+ }
+ }
+ part { name: "title_right_btn_right_padding";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: NAVIFRAME_TITLE_LEFT_PADDING_WIDTH_INC 0;
+ max: NAVIFRAME_TITLE_LEFT_PADDING_WIDTH_INC -1;
+ fixed: 1 1;
+ align: 1.0 0.0;
+ rel1 { to: "title_bg"; relative: 1.0 0.0; }
+ rel2 { to: "title_bg"; relative: 1.0 1.0; }
+ }
+ }
+ part { name: "title_right_btn";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "title_clipper";
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1.to: "title_right_btn_bg";
+ rel2.to: "title_right_btn_bg";
+ visible: 0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "title_right_text_btn_bg";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 0;
+ fixed: 1 1;
+ align: 1.0 0.5;
+ rel1 { to: "title_bg"; relative: 1.0 0.0; }
+ rel2 { to: "title_bg"; relative: 1.0 1.0; }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ min: BUTTON_NAVIFRAME_TITLE_BUTTON_TEXT_SIZE_INC;
+ max: BUTTON_NAVIFRAME_TITLE_BUTTON_TEXT_SIZE_INC;
+ }
+ }
+ part { name: "title_right_text_btn";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "title_clipper";
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1.to: "title_right_text_btn_bg";
+ rel2.to: "title_right_text_btn_bg";
+ visible: 0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "content_clipper";
+ type: RECT;
+ mouse_events: 0;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ rel1.to_y: "elm.swallow.content";
+ rel2.to_y: "elm.swallow.content";
+ }
+ }
+ part { name: "toolbar_bg";
+ type: RECT;
+ clip_to: "toolbar_clipper";
+ description { state: "default" 0.0;
+ rel1.to: "toolbar";
+ rel2.to: "toolbar";
+ color: NAVIFRAME_TOOLBAR_COLOR_INC;
+ }
+ }
+ part { name: "toolbar";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "toolbar_clipper";
+ description { state: "default" 0.0;
+ min: 0 0;
+ max: -1 0;
+ fixed: 0 1;
+ align: 0.0 1.0;
+ rel1 { to: "base"; relative: 0.0 1.0; }
+ rel2 { to: "base"; relative: 1.0 1.0; }
+ visible: 0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ min: 0 NAVIFRAME_TOOLBAR_HEIGHT_INC;
+ max: -1 NAVIFRAME_TOOLBAR_HEIGHT_INC;
+ visible: 1;
+ }
+ }
+ part { name: "toolbar_clipper";
+ type: RECT;
+ mouse_events: 0;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ rel1.to: "toolbar";
+ rel2.to: "toolbar";
+ }
+ }
+ part { name: "elm.swallow.prev_btn";
+ type: SWALLOW;
+ clip_to: "title_clipper";
+ description { state: "default" 0.0;
+ min: 0 0;
+ max: 0 0;
+ align: 0.0 0.0;
+ fixed: 1 1;
+ rel1.to: "base";
+ rel2.to: "base";
+ visible: 0;
+ }
+ }
+ part { name: "toolbar_more_btn";
+ type: SWALLOW;
+ clip_to: "title_clipper";
+ description { state: "default" 0.0;
+ min: 0 0;
+ max: 0 0;
+ align: 0.0 0.0;
+ fixed: 1 1;
+ rel1.to: "base";
+ rel2.to: "base";
+ visible: 0;
+ }
+ }
+ }
+ programs {
+ program { name: "content_new_pushed";
+ signal: "elm,state,new,pushed,deferred";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "clipper";
+ transition: SIN_FAC NAVIFRAME_VIEW_PUSH_TRANS_TIME 1.7;
+ after: "show_finished";
+ }
+ program { name: "content_cur_pushed";
+ signal: "elm,state,cur,pushed,deferred";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "clipper";
+ transition: SIN_FAC NAVIFRAME_VIEW_PUSH_TRANS_TIME 1.7;
+ after: "pushed_finished";
+ }
+ program { name: "content_prev_popped";
+ signal: "elm,state,prev,popped,deferred";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "clipper";
+ transition: SIN_FAC NAVIFRAME_VIEW_POP_TRANS_TIME 1.7;
+ after: "show_finished";
+ }
+ program { name: "content_cur_popped";
+ signal: "elm,state,cur,popped,deferred";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "clipper";
+ transition: SIN_FAC NAVIFRAME_VIEW_POP_TRANS_TIME 1.7;
+ after: "popped_finished";
+ }
+ program { name: "pop_transition_finished";
+ signal: "elm,pop,transition,finished";
+ source: "elm";
+ action: ACTION_STOP;
+ target: "content_cur_popped";
+ after: "popped_finished";
+ }
+ program { name: "new_pushed";
+ signal: "elm,state,new,pushed";
+ source: "elm";
+ action: STATE_SET "hidden" 0.0;
+ target: "clipper";
+ }
+ program { name: "prev_popped";
+ signal: "elm,state,prev,popped";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "clipper";
+ }
+ program { name: "show_finished";
+ action: SIGNAL_EMIT "elm,action,show,finished" "";
+ }
+ program { name: "pushed_finished";
+ action: SIGNAL_EMIT "elm,action,pushed,finished" "";
+ }
+ program { name: "popped_finished";
+ action: SIGNAL_EMIT "elm,action,popped,finished" "";
+ }
+ program { name: "visible";
+ signal: "elm,state,visible";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "clipper";
+ }
+ program { name: "invisible";
+ signal: "elm,state,invisible";
+ source: "elm";
+ action: STATE_SET "hidden" 0.0;
+ target: "clipper";
+ }
+ program { name: "title_show";
+ signal: "elm,state,title,show";
+ source: "elm";
+ script {
+ set_state(PART:"title_bg", "default", 0.0);
+ set_state(PART:"title_clipper", "default", 0.0);
+ if (get_int(title_left_btn_visible)) {
+ set_state(PART:"title_left_btn_bg", "visible", 0.0);
+ set_state(PART:"title_left_btn_right_padding", "visible", 0.0);
+ set_state(PART:"title_left_btn", "visible", 0.0);
+ }
+ if (get_int(title_left_text_btn_visible)) {
+ set_state(PART:"title_left_text_btn_bg", "visible", 0.0);
+ set_state(PART:"title_left_text_btn", "visible", 0.0);
+ }
+ if (get_int(title_right_btn_visible)) {
+ set_state(PART:"title_right_btn_bg", "visible", 0.0);
+ set_state(PART:"title_right_btn_left_padding", "visible", 0.0);
+ set_state(PART:"title_right_btn", "visible", 0.0);
+ }
+ if (get_int(title_right_text_btn_visible)) {
+ set_state(PART:"title_right_text_btn_bg", "visible", 0.0);
+ set_state(PART:"title_right_text_btn", "visible", 0.0);
+ }
+ }
+ }
+ program { name: "title_show_trans";
+ signal: "elm,action,title,show";
+ source: "elm";
+ after: "title_show";
+ }
+ program { name: "title_hide";
+ signal: "elm,state,title,hide";
+ source: "elm";
+ script {
+ set_state(PART:"title_bg", "hidden", 0.0);
+ set_state(PART:"title_clipper", "hidden", 0.0);
+ set_state(PART:"title_left_btn_bg", "default", 0.0);
+ set_state(PART:"title_left_btn_right_padding", "default", 0.0);
+ set_state(PART:"title_left_btn", "default", 0.0);
+ set_state(PART:"title_left_text_btn_bg", "default", 0.0);
+ set_state(PART:"title_left_text_btn", "default", 0.0);
+ set_state(PART:"title_right_btn_bg", "default", 0.0);
+ set_state(PART:"title_right_btn_left_padding", "default", 0.0);
+ set_state(PART:"title_right_btn", "default", 0.0);
+ set_state(PART:"title_right_text_btn_bg", "default", 0.0);
+ set_state(PART:"title_right_text_btn", "default", 0.0);
+ }
+ }
+ program { name: "title_hide_trans";
+ signal: "elm,action,title,hide";
+ source: "elm";
+ after: "title_hide";
+ }
+ program { name: "subtitle_show";
+ signal: "elm,state,subtitle,show";
+ source: "elm";
+ script {
+ if (get_int(title_left_text_btn_visible) || get_int(title_right_text_btn_visible)){
+ if (get_int(badge_visible))
+ set_state(PART:"elm.text.title", "text_btn_badge_subtitle_visible", 0.0);
+ else
+ set_state(PART:"elm.text.title", "text_btn_subtitle_visible", 0.0);
+ }
+ else
+ set_state(PART:"elm.text.title", "subtitle_visible", 0.0);
+ set_int(subtitle_visible, 1);
+ }
+ }
+ program { name: "subtitle_hide";
+ signal: "elm,state,subtitle,hide";
+ source: "elm";
+ script {
+ if (get_int(title_left_text_btn_visible) || get_int(title_right_text_btn_visible)){
+ if (get_int(badge_visible)){
+ set_state(PART:"elm.text.title", "text_button_badge_visible", 0.0);
+ }
+ else {
+ set_state(PART:"elm.text.title", "text_button_visible", 0.0);
+ }
+ }
+ else
+ set_state(PART:"elm.text.title", "default", 0.0);
+
+ set_int(subtitle_visible, 0);
+ }
+ }
+ program { name: "title_left_btn_show";
+ signal: "elm,state,title_left_btn,show";
+ source: "elm";
+ script {
+ set_state(PART:"title_left_btn_bg", "visible", 0.0);
+ set_state(PART:"title_left_btn_right_padding", "visible", 0.0);
+ set_state(PART:"title_left_btn", "visible", 0.0);
+ set_int(title_left_btn_visible, 1);
+ }
+ }
+ program { name: "title_left_text_btn_show";
+ signal: "elm,state,title_left_text_btn,show";
+ source: "elm";
+ script {
+ set_state(PART:"title_left_text_btn_bg", "visible", 0.0);
+ set_state(PART:"title_left_text_btn", "visible", 0.0);
+ if (get_int(subtitle_visible) && get_int(badge_visible)) {
+ set_state(PART:"elm.text.title", "text_btn_badge_subtitle_visible", 0.0);
+ set_state(PART:"elm.text.subtitle", "text_button_badge_visible", 0.0);
+ }
+ else if (get_int(subtitle_visible)) {
+ set_state(PART:"elm.text.title", "text_btn_subtitle_visible", 0.0);
+ set_state(PART:"elm.text.subtitle", "text_button_visible", 0.0);
+ }
+ else if (get_int(badge_visible)) {
+ set_state(PART:"elm.text.title", "text_button_badge_visible", 0.0);
+ }
+ else
+ set_state(PART:"elm.text.title", "text_button_visible", 0.0);
+
+ set_state(PART:"title_badge2", "left_text_button", 0.0);
+ set_int(title_left_text_btn_visible, 1);
+ }
+ }
+ program { name: "title_left_btn_hide";
+ signal: "elm,state,title_left_btn,hide";
+ source: "elm";
+ script {
+ set_state(PART:"title_left_btn_bg", "default", 0.0);
+ set_state(PART:"title_left_btn_right_padding", "default", 0.0);
+ set_state(PART:"title_left_btn", "default", 0.0);
+ set_int(title_left_btn_visible, 0);
+ }
+ }
+ program { name: "title_left_text_btn_hide";
+ signal: "elm,state,title_left_text_btn,hide";
+ source: "elm";
+ script {
+ set_state(PART:"title_left_text_btn_bg", "default", 0.0);
+ set_state(PART:"title_left_text_btn", "default", 0.0);
+
+ if (!get_int(title_right_text_btn_visible)){
+ if (get_int(subtitle_visible)){
+ set_state(PART:"elm.text.title", "subtitle_visible", 0.0);
+ set_state(PART:"elm.text.subtitle", "default", 0.0);
+ }
+ else
+ set_state(PART:"elm.text.title", "default", 0.0);
+
+ set_state(PART:"title_badge2", "default", 0.0);
+ }
+ set_int(title_left_text_btn_visible, 0);
+ }
+ }
+ program { name: "title_right_btn_show";
+ signal: "elm,state,title_right_btn,show";
+ source: "elm";
+ script {
+ set_state(PART:"title_right_btn_bg", "visible", 0.0);
+ set_state(PART:"title_right_btn_left_padding", "visible", 0.0);
+ set_state(PART:"title_right_btn", "visible", 0.0);
+ set_int(title_right_btn_visible, 1);
+ }
+ }
+ program { name: "title_right_text_btn_show";
+ signal: "elm,state,title_right_text_btn,show";
+ source: "elm";
+ script {
+ set_state(PART:"title_right_text_btn_bg", "visible", 0.0);
+ set_state(PART:"title_right_text_btn", "visible", 0.0);
+ if (get_int(subtitle_visible) && get_int(badge_visible)) {
+ set_state(PART:"elm.text.title", "text_btn_badge_subtitle_visible", 0.0);
+ set_state(PART:"elm.text.subtitle", "text_button_badge_visible", 0.0);
+ set_state(PART:"badge_text_right_padding", "right_text_button", 0.0);
+ }
+ else if (get_int(subtitle_visible)) {
+ set_state(PART:"elm.text.title", "text_btn_subtitle_visible", 0.0);
+ set_state(PART:"elm.text.subtitle", "text_button_visible", 0.0);
+ }
+ else if (get_int(badge_visible)) {
+ set_state(PART:"elm.text.title", "text_button_badge_visible", 0.0);
+ set_state(PART:"badge_text_right_padding", "right_text_button", 0.0);
+ }
+ else
+ set_state(PART:"elm.text.title", "text_button_visible", 0.0);
+
+ set_state(PART:"title_badge2", "left_text_button", 0.0);
+ set_int(title_right_text_btn_visible, 1);
+ }
+ }
+ program { name: "title_right_btn_hide";
+ signal: "elm,state,title_right_btn,hide";
+ source: "elm";
+ script {
+ set_state(PART:"title_right_btn_bg", "default", 0.0);
+ set_state(PART:"title_right_btn_left_padding", "default", 0.0);
+ set_state(PART:"title_right_btn", "default", 0.0);
+ set_int(title_right_btn_visible, 0);
+ }
+ }
+ program { name: "title_right_text_btn_hide";
+ signal: "elm,state,title_right_text_btn,hide";
+ source: "elm";
+ script {
+ set_state(PART:"title_right_text_btn_bg", "default", 0.0);
+ set_state(PART:"title_right_text_btn", "default", 0.0);
+
+ if (!get_int(title_left_text_btn_visible)){
+ if (get_int(subtitle_visible)){
+ set_state(PART:"elm.text.title", "subtitle_visible", 0.0);
+ set_state(PART:"elm.text.subtitle", "default", 0.0);
+ }
+ else
+ set_state(PART:"elm.text.title", "default", 0.0);
+
+ set_state(PART:"title_badge2", "default", 0.0);
+ }
+
+ if (get_int(badge_visible))
+ set_state(PART:"badge_text_right_padding", "visible", 0.0);
+ else
+ set_state(PART:"badge_text_right_padding", "default", 0.0);
+
+ set_int(title_right_text_btn_visible, 0);
+ }
+ }
+ program { name: "title_badge_show";
+ signal: "elm,state,title_badge,show";
+ source: "elm";
+ script {
+ new buf[128];
+ set_state(PART:"badge_text_left_padding", "visible", 0.0);
+ if (get_int(title_left_text_btn_visible) || get_int(title_right_text_btn_visible)) {
+ set_state(PART:"title_badge2", "left_text_button", 0.0);
+ if (get_int(subtitle_visible)){
+ set_state(PART:"elm.text.title", "text_btn_badge_subtitle_visible", 0.0);
+ set_state(PART:"elm.text.subtitle", "text_button_badge_visible", 0.0);
+ }
+ else
+ set_state(PART:"elm.text.title", "text_button_badge_visible", 0.0);
+ }
+ else
+ set_state(PART:"title_badge2", "visible", 0.0);
+
+ if (get_int(title_right_text_btn_visible))
+ set_state(PART:"badge_text_right_padding", "right_text_button", 0.0);
+ else
+ set_state(PART:"badge_text_right_padding", "visible", 0.0);
+
+ set_state(PART:"badge_icon", "visible", 0.0);
+ set_state(PART:"badge_outer_icon", "visible", 0.0);
+ set_state(PART:"badge_icon_left_padding", "visible", 0.0);
+
+ get_text(PART:"title_badge", buf, 128);
+ set_text(PART:"title_badge2", buf);
+ set_state(PART:"title_badge2_padding", "visible", 0.0);
+
+ set_state(PART:"title_text_left_padding", "title_badge_visible", 0.0);
+ set_state(PART:"title_text_right_padding", "title_badge_visible", 0.0);
+
+ set_int(badge_visible, 1);
+ }
+ }
+ program { name: "title_badge_hide";
+ signal: "elm,state,title_badge,hide";
+ source: "elm";
+ script {
+ set_state(PART:"badge_text_left_padding", "default", 0.0);
+ set_state(PART:"badge_text_right_padding", "default", 0.0);
+ set_state(PART:"badge_icon", "default", 0.0);
+ set_state(PART:"badge_outer_icon", "default", 0.0);
+ set_state(PART:"badge_icon_left_padding", "default", 0.0);
+ set_state(PART:"title_badge2", "default", 0.0);
+
+ set_text(PART:"title_badge2", "");
+ set_state(PART:"title_badge2_padding", "default", 0.0);
+ set_state(PART:"title_text_left_padding", "default", 0.0);
+ set_state(PART:"title_text_right_padding", "default", 0.0);
+
+ if (get_int(title_left_text_btn_visible) || get_int(title_right_text_btn_visible)) {
+ if (get_int(subtitle_visible)){
+ set_state(PART:"elm.text.title", "text_btn_subtitle_visible", 0.0);
+ set_state(PART:"elm.text.subtitle", "text_button_visible", 0.0);
+ }
+ else
+ set_state(PART:"elm.text.title", "text_button_visible", 0.0);
+ }
+ set_int(badge_visible, 0);
+ }
+ }
+ program { name: "toolbar_show";
+ signal: "elm,state,toolbar,show";
+ source: "elm";
+ script {
+ set_state(PART:"toolbar", "visible", 0.0);
+ }
+ }
+ program { name: "toolbar_hide";
+ signal: "elm,state,toolbar,hide";
+ source: "elm";
+ script {
+ set_state(PART:"toolbar", "default", 0.0);
+ }
+ }
+ program { name: "title_clicked";
+ signal: "mouse,clicked,1";
+ source: "click_event_area";
+ script {
+ emit("elm,action,title,clicked", "");
+ }
+ }
+ program { name: "change_to_landscape";
+ script {
+ if (!get_int(landscape_mode)) {
+ set_int(landscape_mode, 1);
+ }
+ }
+ }
+ program { name: "change_to_portrait";
+ script {
+ if (get_int(landscape_mode)) {
+ set_int(landscape_mode, 0);
+ }
+ }
+ }
+ program { name: "landscape_mode";
+ source: "elm";
+ signal: "elm,state,orient,90";
+ after: "change_to_landscape";
+ }
+ program { name: "landscape_mode2";
+ source: "elm";
+ signal: "elm,state,orient,270";
+ after: "change_to_landscape";
+ }
+ program { name: "portrait_mode";
+ source: "elm";
+ signal: "elm,state,orient,0";
+ after: "change_to_portrait";
+ }
+ program { name: "portrait_mode2";
+ source: "elm";
+ signal: "elm,state,orient,180";
+ after: "change_to_portrait";
+ }
+ program { name: "indicator_bg_show";
+ signal: "elm,state,indicator_bg,show";
+ source: "";
+ script {
+ set_state(PART:"indicator_bg", "show", 0.0);
+ }
+ }
+ program { name: "indicator_bg_hide";
+ signal: "elm,state,indicator_bg,hide";
+ source: "";
+ script {
+ set_state(PART:"indicator_bg", "default", 0.0);
+ }
+ }
+ }
+ }
+
+ group {
+ name: "elm/naviframe/item/title_with_padding/default";
+ inherit: "elm/naviframe/item/basic/default";
+ }
+
+ group { name: "elm/naviframe/item/tabbar/default";
+ alias: "elm/naviframe/item/tabbar/icon/default";
+ inherit: "elm/naviframe/item/basic/default";
+ parts {
+ part { name: "tabbar";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "tabbar_clipper";
+ description { state: "default" 0.0;
+ min: 0 0;
+ max: -1 0;
+ fixed: 0 1;
+ align: 0.5 0.0;
+ rel1 { to: "title_bg"; relative: 0.0 1.0; }
+ rel2 { to: "title_bg"; relative: 1.0 1.0; }
+ visible: 0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ min: 0 NAVIFRAME_TABBAR_HEIGHT_INC;
+ max: -1 NAVIFRAME_TABBAR_HEIGHT_INC;
+ visible: 1;
+ }
+ }
+ part { name: "tabbar_top_divider";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ clip_to: "tabbar_clipper";
+ description { state: "default" 0.0;
+ min: 0 0;
+ max: -1 0;
+ fixed: 0 1;
+ align: 0.5 0.0;
+ rel1 { to: "tabbar"; relative: 0.0 0.0; }
+ rel2 { to: "tabbar"; relative: 1.0 0.0; }
+ color_class: "B012L4";
+ visible: 0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ min: 0 NAVIFRAME_TABBAR_TOP_DIVIDER_HEIGHT_INC;
+ max: -1 NAVIFRAME_TABBAR_TOP_DIVIDER_HEIGHT_INC;
+ visible: 1;
+ }
+ }
+ part { name: "tabbar_clipper";
+ type: RECT;
+ mouse_events: 0;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ rel1.to_y: "tabbar";
+ rel2.to_y: "tabbar";
+ }
+ }
+ part { name: "elm.swallow.content";
+ type: SWALLOW;
+ scale: 1;
+ repeat_events: 0;
+ clip_to: "content_clipper";
+ description { state: "default" 0.0;
+ align: 0.0 0.0;
+ rel1 { to_x: "base"; to_y: "tabbar"; relative: 0.0 1.0; }
+ rel2 { to_x: "base"; to_y: "toolbar"; relative: 1.0 0.0; }
+ }
+ }
+ }
+ programs {
+ program { name: "title_show";
+ signal: "elm,state,title,show";
+ source: "elm";
+ script {
+ set_state(PART:"title_bg", "default", 0.0);
+ set_state(PART:"title_clipper", "default", 0.0);
+ if (get_int(title_left_btn_visible)) {
+ set_state(PART:"title_left_btn_bg", "visible", 0.0);
+ set_state(PART:"title_left_btn_right_padding", "visible", 0.0);
+ set_state(PART:"title_left_btn", "visible", 0.0);
+ }
+ if (get_int(title_right_btn_visible)) {
+ set_state(PART:"title_right_btn_bg", "visible", 0.0);
+ set_state(PART:"title_right_btn_left_padding", "visible", 0.0);
+ set_state(PART:"title_right_btn", "visible", 0.0);
+ }
+ if (get_int(tabbar_visible)) {
+ set_state(PART:"tabbar", "visible", 0.0);
+ set_state(PART:"tabbar_top_divider", "visible", 0.0);
+ }
+ }
+ }
+ program { name: "title_hide";
+ signal: "elm,state,title,hide";
+ source: "elm";
+ script {
+ set_state(PART:"title_bg", "hidden", 0.0);
+ set_state(PART:"title_clipper", "hidden", 0.0);
+ set_state(PART:"title_left_btn_bg", "default", 0.0);
+ set_state(PART:"title_left_btn_right_padding", "default", 0.0);
+ set_state(PART:"title_left_btn", "default", 0.0);
+ set_state(PART:"title_right_btn_bg", "default", 0.0);
+ set_state(PART:"title_right_btn_left_padding", "default", 0.0);
+ set_state(PART:"title_right_btn", "default", 0.0);
+ set_state(PART:"tabbar", "default", 0.0);
+ set_state(PART:"tabbar_top_divider", "default", 0.0);
+ }
+ }
+ program { name: "tabbar_show";
+ signal: "elm,state,tabbar,show";
+ source: "elm";
+ script {
+ set_state(PART:"tabbar", "visible", 0.0);
+ set_state(PART:"tabbar_top_divider", "visible", 0.0);
+ set_int(tabbar_visible, 1);
+ }
+ }
+ program { name: "tabbar_hide";
+ signal: "elm,state,tabbar,hide";
+ source: "elm";
+ script {
+ set_state(PART:"tabbar", "default", 0.0);
+ set_state(PART:"tabbar_top_divider", "default", 0.0);
+ set_int(tabbar_visible, 0);
+ }
+ }
+ }
+ }
+
+ group { name: "elm/naviframe/item/navigationbar/default";
+ inherit: "elm/naviframe/item/basic/default";
+ parts {
+ part { name: "navigationbar";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "navigationbar_clipper";
+ description { state: "default" 0.0;
+ min: 0 0;
+ max: -1 0;
+ fixed: 0 1;
+ align: 0.5 0.0;
+ rel1 { to: "title_bg"; relative: 0.0 1.0; }
+ rel2 { to: "title_bg"; relative: 1.0 1.0; }
+ visible: 0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ min: 0 NAVIFRAME_NAVIGATIONBAR_HEIGHT_INC;
+ max: -1 NAVIFRAME_NAVIGATIONBAR_HEIGHT_INC;
+ visible: 1;
+ }
+ }
+ part { name: "navigationbar_top_divider";
+ type: RECT;
+ mouse_events: 0;
+ clip_to: "navigationbar_clipper";
+ description { state: "default" 0.0;
+ min: 0 0;
+ max: -1 0;
+ fixed: 0 1;
+ align: 0.5 0.0;
+ rel1 { to: "navigationbar"; relative: 0.0 0.0; }
+ rel2 { to: "navigationbar"; relative: 1.0 0.0; }
+ color_class: "B012L4";
+ visible: 0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ min: 0 NAVIFRAME_NAVIGATIONBAR_TOP_DIVIDER_HEIGHT_INC;
+ max: -1 NAVIFRAME_NAVIGATIONBAR_TOP_DIVIDER_HEIGHT_INC;
+ visible: 1;
+ }
+ }
+ part { name: "navigationbar_clipper";
+ type: RECT;
+ mouse_events: 0;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ rel1.to_y: "navigationbar";
+ rel2.to_y: "navigationbar";
+ }
+ }
+ part { name: "elm.swallow.content";
+ type: SWALLOW;
+ scale: 1;
+ repeat_events: 0;
+ clip_to: "content_clipper";
+ description { state: "default" 0.0;
+ align: 0.0 0.0;
+ rel1 { to_x: "base"; to_y: "navigationbar"; relative: 0.0 1.0; }
+ rel2 { to_x: "base"; to_y: "toolbar"; relative: 1.0 0.0; }
+ }
+ }
+ }
+ programs {
+ program { name: "title_show";
+ signal: "elm,state,title,show";
+ source: "elm";
+ script {
+ set_state(PART:"title_bg", "default", 0.0);
+ set_state(PART:"title_clipper", "default", 0.0);
+ if (get_int(title_left_btn_visible)) {
+ set_state(PART:"title_left_btn_bg", "visible", 0.0);
+ set_state(PART:"title_left_btn_right_padding", "visible", 0.0);
+ set_state(PART:"title_left_btn", "visible", 0.0);
+ }
+ if (get_int(title_right_btn_visible)) {
+ set_state(PART:"title_right_btn_bg", "visible", 0.0);
+ set_state(PART:"title_right_btn_left_padding", "visible", 0.0);
+ set_state(PART:"title_right_btn", "visible", 0.0);
+ }
+ if (get_int(tabbar_visible)) {
+ set_state(PART:"navigationbar", "visible", 0.0);
+ set_state(PART:"navigationbar_top_divider", "visible", 0.0);
+ }
+ }
+ }
+ program { name: "title_hide";
+ signal: "elm,state,title,hide";
+ source: "elm";
+ script {
+ set_state(PART:"title_bg", "hidden", 0.0);
+ set_state(PART:"title_clipper", "hidden", 0.0);
+ set_state(PART:"title_left_btn_bg", "default", 0.0);
+ set_state(PART:"title_left_btn_right_padding", "default", 0.0);
+ set_state(PART:"title_left_btn", "default", 0.0);
+ set_state(PART:"title_right_btn_bg", "default", 0.0);
+ set_state(PART:"title_right_btn_left_padding", "default", 0.0);
+ set_state(PART:"title_right_btn", "default", 0.0);
+ set_state(PART:"navigationbar", "default", 0.0);
+ set_state(PART:"navigationbar_top_divider", "default", 0.0);
+ }
+ }
+ program { name: "navigationbar_show";
+ signal: "elm,state,navigationbar,show";
+ source: "elm";
+ script {
+ set_state(PART:"navigationbar", "visible", 0.0);
+ set_state(PART:"navigationbar_top_divider", "visible", 0.0);
+ set_int(tabbar_visible, 1);
+ }
+ }
+ program { name: "navigationbar_hide";
+ signal: "elm,state,navigationbar,hide";
+ source: "elm";
+ script {
+ set_state(PART:"navigationbar", "default", 0.0);
+ set_state(PART:"navigationbar_top_divider", "default", 0.0);
+ set_int(tabbar_visible, 0);
+ }
+ }
+ }
+ }
+
+ group { name: "elm/naviframe/item/tabbar/notitle/default";
+ data.item: "tizen_zoom" 1;
+ script {
+ public landscape_mode = 0; //Landscape status
+ public tabbar_visible = 0; //Tabbar visible status
+ }
+ parts {
+ part { name: "base";
+ type: RECT;
+ mouse_events: 0;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ color_class: "B0211";
+ }
+ }
+ part { name: "clipper";
+ type: RECT;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ visible: 1;
+ }
+ description { state: "hidden" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "tabbar";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "tabbar_clipper";
+ description { state: "default" 0.0;
+ min: 0 0;
+ max: -1 0;
+ fixed: 0 1;
+ align: 0.5 0.0;
+ rel1 { to: "base"; relative: 0.0 0.0; }
+ rel2 { to: "base"; relative: 1.0 0.0; }
+ visible: 0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ min: 0 NAVIFRAME_TABBAR_HEIGHT_INC;
+ max: -1 NAVIFRAME_TABBAR_HEIGHT_INC;
+ visible: 1;
+ }
+ }
+ part { name: "tabbar_clipper";
+ type: RECT;
+ mouse_events: 0;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ rel1.to_y: "tabbar";
+ rel2.to_y: "tabbar";
+ }
+ }
+ part { name: "elm.swallow.content";
+ type: SWALLOW;
+ scale: 1;
+ repeat_events: 0;
+ clip_to: "content_clipper";
+ description { state: "default" 0.0;
+ align: 0.0 0.0;
+ rel1 { to_x: "base"; to_y: "tabbar"; relative: 0.0 1.0; }
+ rel2 { to_x: "base"; to_y: "toolbar"; relative: 1.0 0.0; }
+ }
+ }
+ part { name: "content_clipper";
+ type: RECT;
+ mouse_events: 0;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ rel1.to_y: "elm.swallow.content";
+ rel2.to_y: "elm.swallow.content";
+ }
+ }
+ part { name: "toolbar_bg";
+ type: RECT;
+ clip_to: "toolbar_clipper";
+ description { state: "default" 0.0;
+ rel1.to: "toolbar";
+ rel2.to: "toolbar";
+ color: NAVIFRAME_TOOLBAR_COLOR_INC;
+ }
+ }
+ part { name: "toolbar";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "toolbar_clipper";
+ description { state: "default" 0.0;
+ min: 0 0;
+ max: -1 0;
+ fixed: 0 1;
+ align: 0.0 1.0;
+ rel1 { to: "base"; relative: 0.0 1.0; }
+ rel2 { to: "base"; relative: 1.0 1.0; }
+ visible: 0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ min: 0 NAVIFRAME_TOOLBAR_HEIGHT_INC;
+ max: -1 NAVIFRAME_TOOLBAR_HEIGHT_INC;
+ visible: 1;
+ }
+ }
+ part { name: "toolbar_clipper";
+ type: RECT;
+ mouse_events: 0;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ rel1.to: "toolbar";
+ rel2.to: "toolbar";
+ }
+ }
+ part { name: "elm.swallow.prev_btn";
+ type: SWALLOW;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ min: 0 0;
+ max: 0 0;
+ align: 0.0 0.0;
+ fixed: 1 1;
+ rel1.to: "base";
+ rel2.to: "base";
+ visible: 0;
+ }
+ }
+ part { name: "toolbar_more_btn";
+ type: SWALLOW;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ min: 0 0;
+ max: 0 0;
+ align: 0.0 0.0;
+ fixed: 1 1;
+ rel1.to: "base";
+ rel2.to: "base";
+ visible: 0;
+ }
+ }
+ }
+ programs {
+ program { name: "content_new_pushed";
+ signal: "elm,state,new,pushed,deferred";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "clipper";
+ transition: SIN_FAC NAVIFRAME_VIEW_PUSH_TRANS_TIME 1.7;
+ after: "show_finished";
+ }
+ program { name: "content_cur_pushed";
+ signal: "elm,state,cur,pushed,deferred";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "clipper";
+ transition: SIN_FAC NAVIFRAME_VIEW_PUSH_TRANS_TIME 1.7;
+ after: "pushed_finished";
+ }
+ program { name: "content_prev_popped";
+ signal: "elm,state,prev,popped,deferred";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "clipper";
+ transition: SIN_FAC NAVIFRAME_VIEW_POP_TRANS_TIME 1.7;
+ after: "show_finished";
+ }
+ program { name: "content_cur_popped";
+ signal: "elm,state,cur,popped,deferred";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "clipper";
+ transition: SIN_FAC NAVIFRAME_VIEW_POP_TRANS_TIME 1.7;
+ after: "popped_finished";
+ }
+ program { name: "pop_transition_finished";
+ signal: "elm,pop,transition,finished";
+ source: "elm";
+ action: ACTION_STOP;
+ target: "content_cur_popped";
+ after: "popped_finished";
+ }
+ program { name: "new_pushed";
+ signal: "elm,state,new,pushed";
+ source: "elm";
+ action: STATE_SET "hidden" 0.0;
+ target: "clipper";
+ }
+ program { name: "prev_popped";
+ signal: "elm,state,prev,popped";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "clipper";
+ }
+ program { name: "show_finished";
+ action: SIGNAL_EMIT "elm,action,show,finished" "";
+ }
+ program { name: "pushed_finished";
+ action: SIGNAL_EMIT "elm,action,pushed,finished" "";
+ }
+ program { name: "popped_finished";
+ action: SIGNAL_EMIT "elm,action,popped,finished" "";
+ }
+ program { name: "visible";
+ signal: "elm,state,visible";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "clipper";
+ }
+ program { name: "invisible";
+ signal: "elm,state,invisible";
+ source: "elm";
+ action: STATE_SET "hidden" 0.0;
+ target: "clipper";
+ }
+ program { name: "title_show";
+ signal: "elm,state,title,show";
+ source: "elm";
+ script {
+ if (get_int(tabbar_visible)) {
+ set_state(PART:"tabbar", "visible", 0.0);
+ }
+ }
+ }
+ program { name: "title_show_trans";
+ signal: "elm,action,title,show";
+ source: "elm";
+ after: "title_show";
+ }
+ program { name: "title_hide";
+ signal: "elm,state,title,hide";
+ source: "elm";
+ script {
+ set_state(PART:"tabbar", "default", 0.0);
+ }
+ }
+ program { name: "title_hide_trans";
+ signal: "elm,action,title,hide";
+ source: "elm";
+ after: "title_hide";
+ }
+ program { name: "tabbar_show";
+ signal: "elm,state,tabbar,show";
+ source: "elm";
+ script {
+ set_state(PART:"tabbar", "visible", 0.0);
+ set_int(tabbar_visible, 1);
+ }
+ }
+ program { name: "tabbar_hide";
+ signal: "elm,state,tabbar,hide";
+ source: "elm";
+ script {
+ set_state(PART:"tabbar", "default", 0.0);
+ set_int(tabbar_visible, 0);
+ }
+ }
+ program { name: "toolbar_show";
+ signal: "elm,state,toolbar,show";
+ source: "elm";
+ script {
+ set_state(PART:"toolbar", "visible", 0.0);
+ }
+ }
+ program { name: "toolbar_hide";
+ signal: "elm,state,toolbar,hide";
+ source: "elm";
+ script {
+ set_state(PART:"toolbar", "default", 0.0);
+ }
+ }
+ program { name: "title_clicked";
+ signal: "mouse,clicked,1";
+ source: "click_event_area";
+ script {
+ emit("elm,action,title,clicked", "");
+ }
+ }
+ program { name: "change_to_landscape";
+ script {
+ if (!get_int(landscape_mode)) {
+ set_int(landscape_mode, 1);
+ }
+ }
+ }
+ program { name: "change_to_portrait";
+ script {
+ if (get_int(landscape_mode)) {
+ set_int(landscape_mode, 0);
+ }
+ }
+ }
+ program { name: "landscape_mode";
+ source: "elm";
+ signal: "elm,state,orient,90";
+ after: "change_to_landscape";
+ }
+ program { name: "landscape_mode2";
+ source: "elm";
+ signal: "elm,state,orient,270";
+ after: "change_to_landscape";
+ }
+ program { name: "portrait_mode";
+ source: "elm";
+ signal: "elm,state,orient,0";
+ after: "change_to_portrait";
+ }
+ program { name: "portrait_mode2";
+ source: "elm";
+ signal: "elm,state,orient,180";
+ after: "change_to_portrait";
+ }
+ }
+ }
+
+ group { name: "elm/naviframe/item/tabbar/icon/notitle/default";
+ inherit: "elm/naviframe/item/tabbar/notitle/default";
+ parts {
+ part { name: "tabbar";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "tabbar_clipper";
+ description { state: "default" 0.0;
+ min: 0 0;
+ max: -1 0;
+ fixed: 0 1;
+ align: 0.5 0.0;
+ rel1 { to: "base"; relative: 0.0 0.0; }
+ rel2 { to: "base"; relative: 1.0 0.0; }
+ visible: 0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ min: 0 NAVIFRAME_TABBAR2_HEIGHT_INC;
+ max: -1 NAVIFRAME_TABBAR2_HEIGHT_INC;
+ visible: 1;
+ }
+ description { state: "landscape_visible" 0.0;
+ inherit: "default" 0.0;
+ min: 0 NAVIFRAME_TABBAR_HEIGHT_INC;
+ max: -1 NAVIFRAME_TABBAR_HEIGHT_INC;
+ visible: 1;
+ }
+ }
+ }
+ programs {
+ program { name: "title_show";
+ signal: "elm,state,title,show";
+ source: "elm";
+ script {
+ if (get_int(tabbar_visible)) {
+ if (get_int(landscape_mode)) {
+ set_state(PART:"tabbar", "landscape_visible", 0.0);
+ }
+ else {
+ set_state(PART:"tabbar", "visible", 0.0);
+ }
+ }
+ }
+ }
+ program { name: "tabbar_show";
+ signal: "elm,state,tabbar,show";
+ source: "elm";
+ script {
+ if (get_int(landscape_mode)) {
+ set_state(PART:"tabbar", "landscape_visible", 0.0);
+ }
+ else {
+ set_state(PART:"tabbar", "visible", 0.0);
+ }
+ set_int(tabbar_visible, 1);
+ }
+ }
+ program { name: "change_to_landscape";
+ script {
+ if (!get_int(landscape_mode)) {
+ new st[31];
+ new Float:vl;
+ get_state(PART:"tabbar", st, 30, vl);
+ if (!strcmp(st, "visible"))
+ set_state(PART:"tabbar", "landscape_visible", 0.0);
+
+ set_int(landscape_mode, 1);
+ }
+ }
+ }
+ program { name: "change_to_portrait";
+ script {
+ if (get_int(landscape_mode)) {
+ new st[31];
+ new Float:vl;
+ get_state(PART:"tabbar", st, 30, vl);
+ if (!strcmp(st, "landscape_visible"))
+ set_state(PART:"tabbar", "visible", 0.0);
+
+ set_int(landscape_mode, 0);
+ }
+ }
+ }
+ }
+ }
+
+ group { name: "elm/naviframe/item/drawers/default";
+ data.item: "tizen_zoom" 1;
+ images {
+ set {
+ name: "core_icon_badge_container.#";
+ image {
+ image: "images/core_icon_badge_container.#.png" COMP;
+ }
+ }
+ set {
+ name: "core_icon_badge_container_outer.#";
+ image {
+ image: "images/core_icon_badge_container_outer.#.png" COMP;
+ }
+ }
+ }
+ script {
+ public subtitle_visible = 0; //Subtitle visible status
+ public drawers_visible = 0; //Drawers visible status
+ }
+ parts {
+ part { name: "base";
+ type: RECT;
+ mouse_events: 0;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ color_class: "B0211";
+ }
+ }
+ part { name: "clipper";
+ type: RECT;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ visible: 1;
+ }
+ description { state: "hidden" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "title_bg";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ clip_to: "title_clipper";
+ description { state: "default" 0.0;
+ min: 0 NAVIFRAME_TITLE_HEIGHT_INC;
+ max: -1 NAVIFRAME_TITLE_HEIGHT_INC;
+ align: 0.0 0.0;
+ fixed: 0 1;
+ rel1 { to: "base"; relative: 0.0 0.0; }
+ rel2 { to: "base"; relative: 1.0 0.0; }
+ color_class: "B011";
+ }
+ description { state: "hidden" 0.0;
+ inherit: "default" 0.0;
+ min: 0 0;
+ max: -1 0;
+ }
+ }
+ part { name: "title_clipper";
+ type: RECT;
+ mouse_events: 0;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ rel1.to_y: "title_bg";
+ rel2.to_y: "title_bg";
+ }
+ description { state: "hidden" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "title_text_left_padding";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.to: "title_bg";
+ rel2.to: "drawers";
+ }
+ description { state: "title_badge_visible" 0.0;
+ rel1.to: "title_bg";
+ rel2.to: "title_badge2_padding";
+ }
+ }
+ part { name: "title_text_right_padding";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.to: "drawers_padding";
+ rel2.to: "title_bg";
+ }
+ description { state: "title_badge_visible" 0.0;
+ rel1.to: "badge_icon_left_padding";
+ rel2.to: "title_bg";
+ }
+ }
+ part { name: "elm.text.title";
+ type: TEXTBLOCK;
+ scale: 1;
+ mouse_events: 0;
+ clip_to: "title_text_clipper";
+ description { state: "default" 0.0;
+ text { style: "naviframe_title_style"; elipsis: 1.0;}
+ fixed: 1 1;
+ rel1 { to_x: "title_text_left_padding"; to_y: "title_bg"; relative: 1.0 0.0; }
+ rel2 { to_x: "title_text_right_padding"; to_y: "title_bg"; relative: 0.0 1.0; }
+ }
+ description { state: "subtitle_visible" 0.0;
+ text { style: "naviframe_subtitle_visible_style"; elipsis: 1.0;}
+ fixed: 1 1;
+ rel1 { to_x: "title_text_left_padding"; to_y: "title_top_padding"; relative: 1.0 1.0; }
+ rel2 { to_x: "title_text_right_padding"; to_y: "elm.text.subtitle"; relative: 0.0 0.0; }
+ }
+ }
+ part { name: "title_text_clipper";
+ type: RECT;
+ mouse_events: 0;
+ clip_to: "title_clipper";
+ description { state: "default" 0.0;
+ rel1.to: "elm.text.title";
+ rel2.to: "elm.text.title";
+ }
+ }
+ part { name: "title_top_padding";
+ type: SPACER;
+ description { state: "default" 0.0;
+ min: 0 NAVIFRAME_TITLE_TOP_PADDING_HEIGHT_INC;
+ max: -1 NAVIFRAME_TITLE_TOP_PADDING_HEIGHT_INC;
+ fixed: 0 1;
+ align: 0.5 0.0;
+ rel1 { to: "title_bg"; relative: 0.0 0.0; }
+ rel2 { to: "title_bg"; relative: 1.0 0.0; }
+ }
+ }
+ part { name: "elm.text.subtitle";
+ type: TEXTBLOCK;
+ scale: 1;
+ mouse_events: 0;
+ clip_to: "subtitle_text_clipper";
+ description { state: "default" 0.0;
+ text { style: "naviframe_subtitle_style"; elipsis: 1.0;}
+ min: 0 NAVIFRAME_SUBTITLE_HEIGHT_INC;
+ max: -1 NAVIFRAME_SUBTITLE_HEIGHT_INC;
+ fixed: 0 1;
+ align: 0.5 1.0;
+ rel1 { to_x: "drawers"; to_y: "subtitle_bottom_padding"; relative: 1.0 0.0; }
+ rel2 { to_x: "drawers_padding"; to_y: "subtitle_bottom_padding"; relative: 0.0 0.0; }
+ }
+ }
+ part { name: "subtitle_text_clipper";
+ type: RECT;
+ mouse_events: 0;
+ clip_to: "title_clipper";
+ description { state: "default" 0.0;
+ rel1.to: "elm.text.subtitle";
+ rel2.to: "elm.text.subtitle";
+ }
+ }
+ part { name: "subtitle_bottom_padding";
+ type: SPACER;
+ description { state: "default" 0.0;
+ min: 0 NAVIFRAME_SUBTITLE_BOTTOM_PADDING_HEIGHT_INC;
+ max: -1 NAVIFRAME_SUBTITLE_BOTTOM_PADDING_HEIGHT_INC;
+ fixed: 0 1;
+ align: 0.5 1.0;
+ rel1 { to: "title_bg"; relative: 0.0 1.0; }
+ rel2 { to: "title_bg"; relative: 1.0 1.0; }
+ }
+ }
+ part { name: "click_event_area";
+ type: RECT;
+ ignore_flags: ON_HOLD;
+ description { state: "default" 0.0;
+ rel1.to: "title_bg";
+ rel2.to: "title_bg";
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "access.title";
+ type: RECT;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ rel1.to: "title_bg";
+ rel2.to: "title_bg";
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "elm.swallow.icon";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "title_clipper";
+ description { state: "default" 0.0;
+ max: 0 0;
+ fixed: 1 0;
+ align: 0.0 0.5;
+ rel1 { relative: 1.0 0.0; to: "drawers"; }
+ rel2 { relative: 1.0 1.0; to: "drawers"; }
+ visible: 0;
+ }
+ }
+ part { name: "badge_icon_left_padding";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 0;
+ max: 0 -1;
+ fixed: 1 0;
+ align: 1.0 0.5;
+ rel1 { to_x: "badge_text_left_padding"; to_y: "title_bg"; relative: 0.0 0.0; }
+ rel2 { to_x: "badge_text_left_padding"; to_y: "title_bg"; relative: 0.0 1.0; }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ min: NAVIFRAME_BADGE_ICON_LEFT_PADDING_WIDTH_INC 0;
+ max: NAVIFRAME_BADGE_ICON_LEFT_PADDING_WIDTH_INC -1;
+ }
+ }
+ part { name: "badge_icon";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 0;
+ clip_to: "title_clipper";
+ description { state: "default" 0.0;
+ min: 0 0;
+ max: 0 0;
+ fixed: 1 1;
+ rel1 { to_x: "badge_text_left_padding"; to_y: "title_badge"; }
+ rel2 { to_x: "badge_text_right_padding"; to_y: "title_badge"; }
+ color_class: "B052L7";
+ image.normal: "core_icon_badge_container.#";
+ visible: 0;
+ }
+ description { state: "visible" 0.0;
+ rel1 { to_x: "badge_text_left_padding"; to_y: "title_badge"; }
+ rel2 { to_x: "badge_text_right_padding"; to_y: "title_badge"; }
+ color_class: "B052L7";
+ image.normal: "core_icon_badge_container.#";
+ visible: 1;
+ }
+ }
+ part { name: "badge_outer_icon";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 0;
+ clip_to: "title_clipper";
+ description { state: "default" 0.0;
+ min: 0 0;
+ max: 0 0;
+ fixed: 1 1;
+ rel1 { to_x: "badge_text_left_padding"; to_y: "title_badge"; }
+ rel2 { to_x: "badge_text_right_padding"; to_y: "title_badge"; }
+ image.normal: "core_icon_badge_container_outer.#";
+ visible: 0;
+ }
+ description { state: "visible" 0.0;
+ rel1 { to_x: "badge_text_left_padding"; to_y: "title_badge"; }
+ rel2 { to_x: "badge_text_right_padding"; to_y: "title_badge"; }
+ image.normal: "core_icon_badge_container_outer.#";
+ visible: 1;
+ }
+ }
+ part { name: "badge_text_left_padding";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 0;
+ max: 0 -1;
+ fixed: 1 0;
+ align: 1.0 0.5;
+ rel1 { to_x: "title_badge"; to_y: "title_bg"; relative: 0.0 0.0; }
+ rel2 { to_x: "title_badge"; to_y: "title_bg"; relative: 0.0 1.0; }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ min: NAVIFRAME_BADGE_TEXT_LEFT_PADDING_WIDTH_INC 0;
+ max: NAVIFRAME_BADGE_TEXT_LEFT_PADDING_WIDTH_INC -1;
+ }
+ }
+ part { name: "badge_text_right_padding";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 0;
+ max: 0 -1;
+ fixed: 1 0;
+ align: 1.0 0.5;
+ rel1 { to_x: "title_right_padding"; to_y: "title_bg"; relative: 0.0 0.0; }
+ rel2 { to_x: "title_right_padding"; to_y: "title_bg"; relative: 0.0 1.0; }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ min: NAVIFRAME_BADGE_TEXT_LEFT_PADDING_WIDTH_INC 0;
+ max: NAVIFRAME_BADGE_TEXT_LEFT_PADDING_WIDTH_INC -1;
+ }
+ }
+ part { name: "title_badge";
+ type: TEXT;
+ scale: 1;
+ mouse_events: 0;
+ clip_to: "title_clipper";
+ description { state: "default" 0.0;
+ text {
+ text_class: "T1121";
+ min: 1 0;
+ max: 1 0;
+ align: 1.0 0.5;
+ elipsis: 1.0;
+ }
+ color_class: "T1121";
+ min: 0 NAVIFRAME_BADGE_HEIGHT_INC;
+ max: -1 NAVIFRAME_BADGE_HEIGHT_INC;
+ fixed: 1 1;
+ align: 1.0 0.5;
+ rel1 { to_x: "badge_text_right_padding"; to_y: "elm.text.title"; relative: 0.0 0.0; }
+ rel2 { to_x: "badge_text_right_padding"; to_y: "elm.text.title"; relative: 0.0 1.0; }
+ }
+ }
+ part { name: "title_badge2";
+ type: TEXT;
+ scale: 1;
+ mouse_events: 0;
+ clip_to: "title_clipper";
+ description { state: "default" 0.0;
+ text {
+ text_class: "T1121";
+ min: 1 0;
+ max: 1 0;
+ align: 0.0 0.5;
+ elipsis: 1.0;
+ }
+ color_class: "T1121";
+ min: 0 NAVIFRAME_BADGE_HEIGHT_INC;
+ max: -1 NAVIFRAME_BADGE_HEIGHT_INC;
+ fixed: 1 1;
+ align: 0.0 0.5;
+ rel1 { to_x: "title_left_padding"; to_y: "elm.text.title"; relative: 1.0 0.0; }
+ rel2 { to_x: "title_left_padding"; to_y: "elm.text.title"; relative: 1.0 1.0; }
+ visible: 0;
+ }
+ }
+ part { name: "title_badge2_padding";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 0;
+ max: 0 -1;
+ fixed: 1 0;
+ align: 0.0 0.5;
+ rel1 { to_x: "title_badge2"; to_y: "title_bg"; relative: 1.0 0.0; }
+ rel2 { to_x: "title_badge2"; to_y: "title_bg"; relative: 1.0 1.0; }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ min: NAVIFRAME_BADGE2_PADDING_WIDTH_INC 0;
+ max: NAVIFRAME_BADGE2_PADDING_WIDTH_INC -1;
+ }
+ }
+ part { name: "title_left_padding";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: NAVIFRAME_TITLE_LEFT_PADDING_WIDTH_INC 0;
+ max: NAVIFRAME_TITLE_LEFT_PADDING_WIDTH_INC -1;
+ fixed: 1 0;
+ align: 0.0 0.5;
+ rel1 { to: "title_bg"; relative: 0.0 0.0; }
+ rel2 { to: "title_bg"; relative: 0.0 1.0; }
+ }
+ }
+ part { name: "title_right_padding";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: NAVIFRAME_TITLE_LEFT_PADDING_WIDTH_INC 0;
+ max: NAVIFRAME_TITLE_LEFT_PADDING_WIDTH_INC -1;
+ fixed: 1 0;
+ align: 1.0 0.5;
+ rel1 { to: "title_bg"; relative: 1.0 0.0; }
+ rel2 { to: "title_bg"; relative: 1.0 1.0; }
+ }
+ }
+ part { name: "drawers_bg";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: NAVIFRAME_TITLE_LEFT_PADDING_WIDTH_INC 0;
+ max: NAVIFRAME_TITLE_LEFT_PADDING_WIDTH_INC -1;
+ fixed: 1 1;
+ align: 0.0 0.5;
+ rel1 { to: "title_bg"; relative: 0.0 0.0; }
+ rel2 { to: "title_bg"; relative: 0.0 1.0; }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ min: NAVIFRAME_DRAWERS_WIDTH_INC 0;
+ max: NAVIFRAME_DRAWERS_WIDTH_INC -1;
+ }
+ }
+ part { name: "drawers";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "title_clipper";
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1.to: "drawers_bg";
+ rel2.to: "drawers_bg";
+ visible: 0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "drawers_padding";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: NAVIFRAME_TITLE_LEFT_PADDING_WIDTH_INC 0;
+ max: NAVIFRAME_TITLE_LEFT_PADDING_WIDTH_INC -1;
+ fixed: 1 0;
+ align: 1.0 0.5;
+ rel1 { to: "title_bg"; relative: 1.0 0.0; }
+ rel2 { to: "title_bg"; relative: 1.0 1.0; }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ min: NAVIFRAME_DRAWERS_WIDTH_INC 0;
+ max: NAVIFRAME_DRAWERS_WIDTH_INC -1;
+ }
+ }
+ part { name: "elm.swallow.content";
+ type: SWALLOW;
+ scale: 1;
+ repeat_events: 0;
+ clip_to: "content_clipper";
+ description { state: "default" 0.0;
+ align: 0.0 0.0;
+ rel1 { to_x: "base"; to_y: "title_bg"; relative: 0.0 1.0; }
+ rel2 { to_x: "base"; to_y: "toolbar"; relative: 1.0 0.0; }
+ }
+ }
+ part { name: "content_clipper";
+ type: RECT;
+ mouse_events: 0;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ rel1.to_y: "elm.swallow.content";
+ rel2.to_y: "elm.swallow.content";
+ }
+ }
+ part { name: "toolbar_bg";
+ type: RECT;
+ clip_to: "toolbar_clipper";
+ description { state: "default" 0.0;
+ rel1.to: "toolbar";
+ rel2.to: "toolbar";
+ color: NAVIFRAME_TOOLBAR_COLOR_INC;
+ }
+ }
+ part { name: "toolbar";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "toolbar_clipper";
+ description { state: "default" 0.0;
+ min: 0 0;
+ max: -1 0;
+ fixed: 0 1;
+ align: 0.0 1.0;
+ rel1 { to: "base"; relative: 0.0 1.0; }
+ rel2 { to: "base"; relative: 1.0 1.0; }
+ visible: 0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ min: 0 NAVIFRAME_TOOLBAR_HEIGHT_INC;
+ max: -1 NAVIFRAME_TOOLBAR_HEIGHT_INC;
+ visible: 1;
+ }
+ }
+ part { name: "toolbar_clipper";
+ type: RECT;
+ mouse_events: 0;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ rel1.to: "toolbar";
+ rel2.to: "toolbar";
+ }
+ }
+ part { name: "elm.swallow.prev_btn";
+ type: SWALLOW;
+ clip_to: "title_clipper";
+ description { state: "default" 0.0;
+ min: 0 0;
+ max: 0 0;
+ align: 0.0 0.0;
+ fixed: 1 1;
+ rel1.to: "base";
+ rel2.to: "base";
+ visible: 0;
+ }
+ }
+ part { name: "toolbar_more_btn";
+ type: SWALLOW;
+ clip_to: "title_clipper";
+ description { state: "default" 0.0;
+ min: 0 0;
+ max: 0 0;
+ align: 0.0 0.0;
+ fixed: 1 1;
+ rel1.to: "base";
+ rel2.to: "base";
+ visible: 0;
+ }
+ }
+ }
+ programs {
+ program { name: "content_new_pushed";
+ signal: "elm,state,new,pushed,deferred";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "clipper";
+ transition: SIN_FAC NAVIFRAME_VIEW_PUSH_TRANS_TIME 1.7;
+ after: "show_finished";
+ }
+ program { name: "content_cur_pushed";
+ signal: "elm,state,cur,pushed,deferred";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "clipper";
+ transition: SIN_FAC NAVIFRAME_VIEW_PUSH_TRANS_TIME 1.7;
+ after: "pushed_finished";
+ }
+ program { name: "content_prev_popped";
+ signal: "elm,state,prev,popped,deferred";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "clipper";
+ transition: SIN_FAC NAVIFRAME_VIEW_POP_TRANS_TIME 1.7;
+ after: "show_finished";
+ }
+ program { name: "content_cur_popped";
+ signal: "elm,state,cur,popped,deferred";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "clipper";
+ transition: SIN_FAC NAVIFRAME_VIEW_POP_TRANS_TIME 1.7;
+ after: "popped_finished";
+ }
+ program { name: "pop_transition_finished";
+ signal: "elm,pop,transition,finished";
+ source: "elm";
+ action: ACTION_STOP;
+ target: "content_cur_popped";
+ after: "popped_finished";
+ }
+ program { name: "new_pushed";
+ signal: "elm,state,new,pushed";
+ source: "elm";
+ action: STATE_SET "hidden" 0.0;
+ target: "clipper";
+ }
+ program { name: "prev_popped";
+ signal: "elm,state,prev,popped";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "clipper";
+ }
+ program { name: "show_finished";
+ action: SIGNAL_EMIT "elm,action,show,finished" "";
+ }
+ program { name: "pushed_finished";
+ action: SIGNAL_EMIT "elm,action,pushed,finished" "";
+ }
+ program { name: "popped_finished";
+ action: SIGNAL_EMIT "elm,action,popped,finished" "";
+ }
+ program { name: "visible";
+ signal: "elm,state,visible";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "clipper";
+ }
+ program { name: "invisible";
+ signal: "elm,state,invisible";
+ source: "elm";
+ action: STATE_SET "hidden" 0.0;
+ target: "clipper";
+ }
+ program { name: "title_show";
+ signal: "elm,state,title,show";
+ source: "elm";
+ script {
+ set_state(PART:"title_bg", "default", 0.0);
+ set_state(PART:"title_clipper", "default", 0.0);
+ if (get_int(drawers_visible)) {
+ set_state(PART:"drawers_bg", "visible", 0.0);
+ set_state(PART:"drawers", "visible", 0.0);
+ set_state(PART:"drawers_padding", "visible", 0.0);
+ }
+ }
+ }
+ program { name: "title_show_trans";
+ signal: "elm,action,title,show";
+ source: "elm";
+ after: "title_show";
+ }
+ program { name: "title_hide";
+ signal: "elm,state,title,hide";
+ source: "elm";
+ script {
+ set_state(PART:"title_bg", "hidden", 0.0);
+ set_state(PART:"title_clipper", "hidden", 0.0);
+ set_state(PART:"drawers_bg", "default", 0.0);
+ set_state(PART:"drawers", "default", 0.0);
+ set_state(PART:"drawers_padding", "default", 0.0);
+ }
+ }
+ program { name: "title_hide_trans";
+ signal: "elm,action,title,hide";
+ source: "elm";
+ after: "title_hide";
+ }
+ program { name: "subtitle_show";
+ signal: "elm,state,subtitle,show";
+ source: "elm";
+ script {
+ set_state(PART:"elm.text.title", "subtitle_visible", 0.0);
+ set_int(subtitle_visible, 1);
+ }
+ }
+ program { name: "subtitle_hide";
+ signal: "elm,state,subtitle,hide";
+ source: "elm";
+ script {
+ set_state(PART:"elm.text.title", "default", 0.0);
+ set_int(subtitle_visible, 0);
+ }
+ }
+ program { name: "drawers_show";
+ signal: "elm,state,drawers,show";
+ source: "elm";
+ script {
+ set_state(PART:"drawers_bg", "visible", 0.0);
+ set_state(PART:"drawers", "visible", 0.0);
+ set_state(PART:"drawers_padding", "visible", 0.0);
+ set_int(drawers_visible, 1);
+ }
+ }
+ program { name: "drawers_hide";
+ signal: "elm,state,drawers,hide";
+ source: "elm";
+ script {
+ set_state(PART:"drawers_bg", "default", 0.0);
+ set_state(PART:"drawers", "default", 0.0);
+ set_state(PART:"drawers_padding", "default", 0.0);
+ set_int(drawers_visible, 0);
+ }
+ }
+ program { name: "title_badge_show";
+ signal: "elm,state,title_badge,show";
+ source: "elm";
+ script {
+ new buf[128];
+
+ set_state(PART:"badge_text_left_padding", "visible", 0.0);
+ set_state(PART:"badge_text_right_padding", "visible", 0.0);
+ set_state(PART:"badge_icon", "visible", 0.0);
+ set_state(PART:"badge_outer_icon", "visible", 0.0);
+ set_state(PART:"badge_icon_left_padding", "visible", 0.0);
+
+ get_text(PART:"title_badge", buf, 128);
+ set_text(PART:"title_badge2", buf);
+ set_state(PART:"title_badge2_padding", "visible", 0.0);
+ set_state(PART:"title_text_left_padding", "title_badge_visible", 0.0);
+ set_state(PART:"title_text_right_padding", "title_badge_visible", 0.0);
+ }
+ }
+ program { name: "title_badge_hide";
+ signal: "elm,state,title_badge,hide";
+ source: "elm";
+ script {
+ set_state(PART:"badge_text_left_padding", "default", 0.0);
+ set_state(PART:"badge_text_right_padding", "default", 0.0);
+ set_state(PART:"badge_icon", "default", 0.0);
+ set_state(PART:"badge_outer_icon", "default", 0.0);
+ set_state(PART:"badge_icon_left_padding", "default", 0.0);
+
+ set_text(PART:"title_badge2", "");
+ set_state(PART:"title_badge2_padding", "default", 0.0);
+ set_state(PART:"title_text_left_padding", "default", 0.0);
+ set_state(PART:"title_text_right_padding", "default", 0.0);
+ }
+ }
+ program { name: "toolbar_show";
+ signal: "elm,state,toolbar,show";
+ source: "elm";
+ script {
+ set_state(PART:"toolbar", "visible", 0.0);
+ }
+ }
+ program { name: "toolbar_hide";
+ signal: "elm,state,toolbar,hide";
+ source: "elm";
+ script {
+ set_state(PART:"toolbar", "default", 0.0);
+ }
+ }
+ program { name: "title_clicked";
+ signal: "mouse,clicked,1";
+ source: "click_event_area";
+ script {
+ emit("elm,action,title,clicked", "");
+ }
+ }
+ }
+ }
+
+ group { name: "elm/naviframe/item/empty/default";
+ data.item: "tizen_zoom" 1;
+ parts {
+ part { name: "base";
+ type: RECT;
+ mouse_events: 0;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ color_class: "B0211";
+ }
+ }
+ part { name: "clipper";
+ type: RECT;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ visible: 1;
+ }
+ description { state: "hidden" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "title";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "title_clipper";
+ description { state: "default" 0.0;
+ min: 0 0;
+ max: -1 0;
+ align: 0.5 0.0;
+ fixed: 0 1;
+ rel1 { relative: 0.0 0.0; to: "base"; }
+ rel2 { relative: 1.0 0.0; to: "base"; }
+ visible: 0;
+ }
+ description { state: "visible" 0.0;
+ align: 0.5 0.0;
+ fixed: 0 1;
+ rel1 { relative: 0.0 0.0; to: "base"; }
+ rel2 { relative: 1.0 0.0; to: "base"; }
+ }
+ }
+ part { name: "title_clipper";
+ type: RECT;
+ mouse_events: 0;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ rel1.to_y: "title";
+ rel2.to_y: "title";
+ }
+ }
+ part { name: "elm.swallow.content";
+ type: SWALLOW;
+ scale: 1;
+ repeat_events: 0;
+ clip_to: "content_clipper";
+ description { state: "default" 0.0;
+ align: 0.0 0.0;
+ rel1 { to_x: "base"; to_y: "title"; relative: 0.0 1.0; }
+ rel2 { to_x: "base"; to_y: "toolbar"; relative: 1.0 0.0; }
+ }
+ }
+ part { name: "content_clipper";
+ type: RECT;
+ mouse_events: 0;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ rel1.to_y: "elm.swallow.content";
+ rel2.to_y: "elm.swallow.content";
+ }
+ }
+ part { name: "toolbar_bg";
+ type: RECT;
+ clip_to: "toolbar_clipper";
+ description { state: "default" 0.0;
+ rel1.to: "toolbar";
+ rel2.to: "toolbar";
+ color: NAVIFRAME_TOOLBAR_COLOR_INC;
+ }
+ }
+ part { name: "toolbar";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "toolbar_clipper";
+ description { state: "default" 0.0;
+ min: 0 0;
+ max: -1 0;
+ fixed: 0 1;
+ align: 0.0 1.0;
+ rel1 { to: "base"; relative: 0.0 1.0; }
+ rel2 { to: "base"; relative: 1.0 1.0; }
+ visible: 0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ min: 0 NAVIFRAME_TOOLBAR_HEIGHT_INC;
+ max: -1 NAVIFRAME_TOOLBAR_HEIGHT_INC;
+ visible: 1;
+ }
+ }
+ part { name: "toolbar_clipper";
+ type: RECT;
+ mouse_events: 0;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ rel1.to: "toolbar";
+ rel2.to: "toolbar";
+ }
+ }
+ part { name: "elm.swallow.prev_btn";
+ type: SWALLOW;
+ clip_to: "title_clipper";
+ description { state: "default" 0.0;
+ min: 0 0;
+ max: 0 0;
+ align: 0.0 0.0;
+ fixed: 1 1;
+ rel1.to: "base";
+ rel2.to: "base";
+ visible: 0;
+ }
+ }
+ part { name: "toolbar_more_btn";
+ type: SWALLOW;
+ clip_to: "title_clipper";
+ description { state: "default" 0.0;
+ min: 0 0;
+ max: 0 0;
+ align: 0.0 0.0;
+ fixed: 1 1;
+ rel1.to: "base";
+ rel2.to: "base";
+ visible: 0;
+ }
+ }
+ }
+ programs {
+ program { name: "content_new_pushed";
+ signal: "elm,state,new,pushed,deferred";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "clipper";
+ transition: SIN_FAC NAVIFRAME_VIEW_PUSH_TRANS_TIME 1.7;
+ after: "show_finished";
+ }
+ program { name: "content_cur_pushed";
+ signal: "elm,state,cur,pushed,deferred";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "clipper";
+ transition: SIN_FAC NAVIFRAME_VIEW_PUSH_TRANS_TIME 1.7;
+ after: "pushed_finished";
+ }
+ program { name: "content_prev_popped";
+ signal: "elm,state,prev,popped,deferred";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "clipper";
+ transition: SIN_FAC NAVIFRAME_VIEW_POP_TRANS_TIME 1.7;
+ after: "show_finished";
+ }
+ program { name: "content_cur_popped";
+ signal: "elm,state,cur,popped,deferred";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "clipper";
+ transition: SIN_FAC NAVIFRAME_VIEW_POP_TRANS_TIME 1.7;
+ after: "popped_finished";
+ }
+ program { name: "pop_transition_finished";
+ signal: "elm,pop,transition,finished";
+ source: "elm";
+ action: ACTION_STOP;
+ target: "content_cur_popped";
+ after: "popped_finished";
+ }
+ program { name: "new_pushed";
+ signal: "elm,state,new,pushed";
+ source: "elm";
+ action: STATE_SET "hidden" 0.0;
+ target: "clipper";
+ }
+ program { name: "prev_popped";
+ signal: "elm,state,prev,popped";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "clipper";
+ }
+ program { name: "show_finished";
+ action: SIGNAL_EMIT "elm,action,show,finished" "";
+ }
+ program { name: "pushed_finished";
+ action: SIGNAL_EMIT "elm,action,pushed,finished" "";
+ }
+ program { name: "popped_finished";
+ action: SIGNAL_EMIT "elm,action,popped,finished" "";
+ }
+ program { name: "visible";
+ signal: "elm,state,visible";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "clipper";
+ }
+ program { name: "invisible";
+ signal: "elm,state,invisible";
+ source: "elm";
+ action: STATE_SET "hidden" 0.0;
+ target: "clipper";
+ }
+ program { name: "title_show";
+ signal: "elm,state,title,show";
+ source: "elm";
+ script {
+ set_state(PART:"title", "visible", 0.0);
+ }
+ }
+ program { name: "title_show_trans";
+ signal: "elm,action,title,show";
+ source: "elm";
+ after: "title_show";
+ }
+ program { name: "title_hide";
+ signal: "elm,state,title,hide";
+ source: "elm";
+ script {
+ set_state(PART:"title", "default", 0.0);
+ }
+ }
+ program { name: "title_hide_trans";
+ signal: "elm,action,title,hide";
+ source: "elm";
+ after: "title_hide";
+ }
+ program { name: "toolbar_show";
+ signal: "elm,state,toolbar,show";
+ source: "elm";
+ script {
+ set_state(PART:"toolbar", "visible", 0.0);
+ }
+ }
+ program { name: "toolbar_hide";
+ signal: "elm,state,toolbar,hide";
+ source: "elm";
+ script {
+ set_state(PART:"toolbar", "default", 0.0);
+ }
+ }
+ program { name: "title_clicked";
+ signal: "mouse,clicked,1";
+ source: "click_event_area";
+ script {
+ emit("elm,action,title,clicked", "");
+ }
+ }
+ }
+ }
+
+ group { name: "elm/naviframe/item/basic/uglib";
+ data.item: "tizen_zoom" 1;
+ parts {
+ part { name: "base";
+ type: RECT;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "clipper";
+ type: RECT;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ visible: 1;
+ }
+ description { state: "hidden" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "elm.swallow.content";
+ type: SWALLOW;
+ scale: 1;
+ repeat_events: 0;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ align: 0.0 0.0;
+ rel1 { to: "base"; relative: 0.0 0.0; }
+ rel2 { to: "base"; relative: 1.0 1.0; }
+ }
+ }
+ }
+ programs {
+ program { name: "content_new_pushed";
+ signal: "elm,state,new,pushed,deferred";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "clipper";
+ transition: SIN_FAC NAVIFRAME_VIEW_PUSH_TRANS_TIME 1.7;
+ after: "show_finished";
+ }
+ program { name: "content_cur_pushed";
+ signal: "elm,state,cur,pushed,deferred";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "clipper";
+ transition: SIN_FAC NAVIFRAME_VIEW_PUSH_TRANS_TIME 1.7;
+ after: "pushed_finished";
+ }
+ program { name: "content_prev_popped";
+ signal: "elm,state,prev,popped,deferred";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "base";
+ transition: SIN_FAC NAVIFRAME_VIEW_POP_TRANS_TIME 1.7;
+ after: "show_finished";
+ }
+ program { name: "content_cur_popped";
+ signal: "elm,state,cur,popped,deferred";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "base";
+ transition: SIN_FAC NAVIFRAME_VIEW_POP_TRANS_TIME 1.7;
+ after: "popped_finished";
+ }
+ program { name: "pop_transition_finished";
+ signal: "elm,pop,transition,finished";
+ source: "elm";
+ action: ACTION_STOP;
+ target: "content_cur_popped";
+ after: "popped_finished";
+ }
+ program { name: "new_pushed";
+ signal: "elm,state,new,pushed";
+ source: "elm";
+ action: STATE_SET "hidden" 0.0;
+ target: "clipper";
+ }
+ program { name: "prev_popped";
+ signal: "elm,state,prev,popped";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "clipper";
+ }
+ program { name: "visible";
+ signal: "elm,state,visible";
+ source: "elm";
+ script {
+ set_state(PART:"clipper", "default", 0.0);
+ }
+ }
+ program { name: "invisible";
+ signal: "elm,state,invisible";
+ source: "elm";
+ script {
+ set_state(PART:"clipper", "hidden", 0.0);
+ }
+ }
+ program { name: "show_finished";
+ action: SIGNAL_EMIT "elm,action,show,finished" "";
+ }
+ program { name: "pushed_finished";
+ action: SIGNAL_EMIT "elm,action,pushed,finished" "";
+ }
+ program { name: "popped_finished";
+ action: SIGNAL_EMIT "elm,action,popped,finished" "";
+ }
+ }
+ }
+
+ group { name: "elm/naviframe/item/basic/transparent/default";
+ inherit: "elm/naviframe/item/basic/default";
+ parts {
+ part { name: "base";
+ type: RECT;
+ mouse_events: 0;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ visible: 0;
+ }
+ }
+ }
+ }
+
+ group { name: "elm/naviframe/item/drawers/transparent/default";
+ inherit: "elm/naviframe/item/drawers/default";
+ parts {
+ part { name: "base";
+ type: RECT;
+ mouse_events: 0;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ visible: 0;
+ }
+ }
+ }
+ }
+
+ group { name: "elm/naviframe/item/tabbar/transparent/default";
+ inherit: "elm/naviframe/item/tabbar/default";
+ parts {
+ part { name: "base";
+ type: RECT;
+ mouse_events: 0;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ visible: 0;
+ }
+ }
+ }
+ }
+
+ group { name: "elm/naviframe/item/tabbar/notitle/transparent/default";
+ inherit: "elm/naviframe/item/tabbar/notitle/default";
+ parts {
+ part { name: "base";
+ type: RECT;
+ mouse_events: 0;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ visible: 0;
+ }
+ }
+ }
+ }
+
+ group { name: "elm/naviframe/item/empty/transparent/default";
+ inherit: "elm/naviframe/item/empty/default";
+ parts {
+ part { name: "base";
+ type: RECT;
+ mouse_events: 0;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ visible: 0;
+ }
+ }
+ }
+ }
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include "HD-inc.edc"
+#include "toolbar.edc"
+#include "genlist.edc"
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+collections {
+
+base_scale: 2.4;
+styles {
+ style { name: "text_unread_wrap";
+ base: "font=Tizen:style=Regular font_size=32 color=#000000FF wrap=mixed";
+ tag: "br" "\n";
+ tag: "ps" "ps";
+ tag: "tab" "\t";
+ }
+}
+
+#include "mc-tabbar.edc"
+#include "mc-naviframe.edc"
+
+group {
+ name: "list_layout";
+ parts{
+ part {
+ name : "list_content";
+ type: SWALLOW;
+ scale: 1;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: 0.0 0.0;}
+ rel2 { relative: 1.0 1.0;}
+ }
+ description {
+ state: "fastscroll.visible" 0.0;
+ rel1 { relative: 0.0 0.0;}
+ rel2 { relative: 0.0 1.0; to_x:"right_pad";}
+ }
+ }
+
+ part{
+ name: "right_pad";
+ type: SPACER;
+ scale: 1;
+ description{
+ state: "default" 0.0;
+ fixed: 1 1;
+ min: 33 0;
+ align: 1 0;
+ rel1 { relative: 1.0 0.0;}
+ rel2 { relative: 1.0 1.0;}
+ }
+ }
+
+ part {
+ name: "elm.swallow.content.index";
+ type: SWALLOW;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ fixed: 0 1;
+ rel1 { relative: 0.0 0.0;}
+ rel2 { relative: 1.0 1.0;}
+ }
+ description {
+ state: "fastscroll.visible" 0.0;
+ inherit: "default";
+ visible: 1;
+ }
+ }
+ }
+
+ programs {
+ program {
+ signal : "show.fastscroll";
+ source : "*";
+ action : STATE_SET "fastscroll.visible" 0.0;
+ target : "elm.swallow.content.index";
+ target : "list_content";
+ }
+ program {
+ signal : "hide.fastscroll";
+ source : "*";
+ action : STATE_SET "default" 0.0;
+ target : "elm.swallow.content.index";
+ target : "list_content";
+ }
+ }
+}
+
+group { name: "view_layout_tabbar";
+ parts {
+ part { name: "bg";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ }
+ }
+ part { name: "tabbar";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 0 1;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 0.078125; }
+ align: 0.5 0.0;
+ }
+ }
+ part { name: "list-content";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.to_y: "tabbar";
+ rel1.relative: 0.0 1.0;
+ }
+ description {
+ state: "recommended.visible" 0.0;
+ rel1 { relative: 0.0 1.0; to: "tabbar";}
+ rel2 { relative: 1.0 0.0; to:"recommended";}
+ }
+ }
+ part {
+ name: "recommended";
+ type: SWALLOW;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ rel1 { relative: 0.0 1.0; }
+ rel2 { relative: 1.0 1.0; }
+ min: 0 0;
+ fixed: 0 0;
+ align: 0.0 0.0;
+ }
+ description {
+ state: "recommended.visible" 0.0;
+ visible: 1;
+ rel1 { relative: 0.0 1.0; }
+ rel2 { relative: 1.0 1.0; }
+ min: 0 150;
+ fixed: 0 1;
+ align: 0.0 1.0;
+ }
+ }
+ }
+
+ programs {
+ program {
+ signal : "show.recommended";
+ source : "*";
+ action : STATE_SET "recommended.visible" 0.0;
+ target : "recommended";
+ target : "list-content";
+ }
+ program {
+ signal : "hide.recommended";
+ source : "*";
+ action : STATE_SET "default" 0.0;
+ target : "recommended";
+ target : "list-content";
+ }
+ }
+ }
+
+group { name: "view_layout";
+ parts {
+ part { name: "bg";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ }
+ }
+ part { name: "list-content";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.to_y: "bg";
+ rel1.relative: 0.0 0.0;
+ }
+ description {
+ state: "recommended.visible" 0.0;
+ rel1 { relative: 0.0 0.0; to: "bg";}
+ rel2 { relative: 1.0 0.0; to:"recommended";}
+ }
+ }
+ part {
+ name: "recommended";
+ type: SWALLOW;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ rel1 { relative: 0.0 1.0; }
+ rel2 { relative: 1.0 1.0; }
+ min: 0 0;
+ fixed: 0 0;
+ align: 0.0 0.0;
+ }
+ description {
+ state: "recommended.visible" 0.0;
+ visible: 1;
+ rel1 { relative: 0.0 1.0; }
+ rel2 { relative: 1.0 1.0; }
+ min: 0 150;
+ fixed: 0 1;
+ align: 0.0 1.0;
+ }
+ }
+ }
+
+ programs {
+ program {
+ signal : "show.recommended";
+ source : "*";
+ action : STATE_SET "recommended.visible" 0.0;
+ target : "recommended";
+ target : "list-content";
+ }
+ program {
+ signal : "hide.recommended";
+ source : "*";
+ action : STATE_SET "default" 0.0;
+ target : "recommended";
+ target : "list-content";
+ }
+ }
+ }
+
+#define FONT_NO_CONTENT "Tizen:style=Roman"
+#define FONT_NO_CONTENT_SIZE 42
+#define FONT_NO_CONTENT_COLOR 121 121 121 255
+#define TEXT_NO_CONTENT_H 54
+
+group {
+ name: "no_result";
+ parts {
+ part { name: "bg";
+ mouse_events: 0;
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 0.0;}
+ rel2 { relative: 1.0 1.0;}
+ }
+ }
+ part {
+ name: "elm.text";
+ type: TEXT;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ rel1 { relative: 0.0 0.0; to:bg;}
+ rel2 { relative: 1.0 1.0; to:bg;}
+ align: 0.5 0.5;
+ color: FONT_NO_CONTENT_COLOR;
+ min: 0 46;
+ text {
+ font: FONT_NO_CONTENT;
+ size: FONT_NO_CONTENT_SIZE;
+ align: 0.5 0.5;
+ elipsis: 1.0;
+ }
+ }
+
+ }
+ }
+}
+
+group { name: "recommended_area";
+ parts {
+ part { name: "bg";
+ type: RECT;
+ mouse_events: 0;
+ scale: 1;
+ description {
+ color: 0 0 0 0;
+ }
+ }
+
+ part { name: "padding_top";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; to_y: "bg"; }
+ rel2 { relative: 1.0 0.0; to_y: "bg"; }
+ min: 0 2;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+
+ part { name: "padding_left";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 1.0; to_x: "bg"; to_y: "padding_top";}
+ rel2 { relative: 0.0 0.0; to_x: "bg"; to_y: "padding_bottom";}
+ min: 2 0;
+ fixed: 1 0;
+ align: 0.0 0.0;
+ }
+ }
+
+ part { name: "padding_right";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 1.0 1.0; to_x: "bg"; to_y: "padding_top";}
+ rel2 { relative: 1.0 0.0; to_x: "bg"; to_y: "padding_bottom";}
+ min: 2 0;
+ fixed: 1 0;
+ align: 1.0 0.0;
+ }
+ }
+
+ part { name: "padding_bottom";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 1.0; to_y: "bg"; }
+ rel2 { relative: 1.0 1.0; to_y: "bg"; }
+ min: 0 2;
+ fixed: 0 1;
+ align: 0.0 1.0;
+ }
+ }
+
+ part { name: "padding_center_v";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.9 1.0; to_x: "bg"; to_y: "padding_top";}
+ rel2 { relative: 0.9 0.0; to_x: "bg"; to_y: "padding_bottom";}
+ min: 2 0;
+ fixed: 1 0;
+ align: 0.5 0.5;
+ }
+ }
+
+ part { name: "padding_center_h";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 1.0 0.35; to_x: "padding_left"; to_y: "bg";}
+ rel2 { relative: 0.0 0.35; to_x: "padding_center_v"; to_y: "bg";}
+ min: 0 2;
+ fixed: 0 1;
+ align: 0.5 0.5;
+ }
+ }
+
+ part { name: "title_text";
+ type: TEXT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0.0 0.0;
+ fixed: 1 1;
+ rel1 { relative: 1.0 1.0; to_x: "padding_left"; to_y: "padding_top";}
+ rel2 { relative: 0.0 0.0; to_x: "padding_center_v"; to_y: "padding_center_h";}
+ color: 59 115 182 255;
+ text {
+ font: "TIZEN:style=Roman";
+ size: 30;
+ min: 0 0;
+ align: 0.0 0.5;
+ elipsis: 1.0;
+ }
+ }
+ }
+
+ part { name: "description_text";
+ type: TEXTBLOCK;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ align: 0.0 0.5;
+ min: 0 100;
+ fixed: 0 1;
+ rel1 { relative: 1.0 1.0; to_x: "padding_left"; to_y: "padding_center_h";}
+ rel2 { relative: 0.0 0.0; to_x: "padding_center_v"; to_y: "padding_bottom";}
+ text { style: "text_unread_wrap"; elipsis: 1.0;}
+ }
+ }
+
+ part { name: "check_box";
+ type: SWALLOW;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ rel1 { relative: 1.0 0.0; to: "padding_center_v";}
+ rel2 { relative: 0.0 1.0; to: "padding_right";}
+ align: 0.5 0.5;
+ }
+ }
+
+ }
+}
+
+group { name: "popup_processingview_1button";
+#define DEMO_POPUP_PROCESSINGVIEW1BUTTON_CONTENT_MIN 568 132
+ parts {
+ part {
+ name: "base";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: DEMO_POPUP_PROCESSINGVIEW1BUTTON_CONTENT_MIN;
+ fixed: 1 0;
+ }
+ }
+ part { name: "pad_t";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ align: 0.5 0.0;
+ min: 0 32;
+ fixed: 0 1;
+ rel1 {
+ relative: 1.0 0.0;to_x: "pad_l";
+ }
+ rel2 {
+ relative: 0.0 0.0;to_x: "pad_r";
+ }
+ }
+ }
+ part { name: "pad_l";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 26 0;
+ max: 26 0;
+ fixed: 1 0;
+ rel1 {
+ relative: 0.0 0.0;
+ to: "base";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ to: "base";
+ }
+ align: 0.0 0.0;
+ }
+ }
+ part { name: "pad_r";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 26 0;
+ max: 26 0;
+ fixed: 1 0;
+ rel1 {
+ relative: 1.0 0.0;
+ to: "base";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to: "base";
+ }
+ align: 1.0 0.0;
+ }
+ }
+ part { name: "pad_b";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ align: 0.0 1.0;
+ min: 0 32;
+ fixed: 0 1;
+ rel1 {
+ relative: 1.0 1.0;
+ to_x: "pad_l";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ to_x: "pad_r";
+ }
+ }
+ }
+ part {
+ name: "after.space";
+ scale: 1;
+ type: SPACER;
+ description { state: "default" 0.0;
+ align: 0.0 0.5;
+ min: 80 80;
+ max: 80 80;
+ fixed: 1 1;
+ rel1 {
+ relative: 0.0 1.0;
+ to: "pad_t";
+ }
+ rel2 {
+ relative: 1.0 0.0;
+ to: "pad_b";
+ }
+ }
+ }
+ part { name: "elm.text";
+ type: TEXT;
+ scale : 1;
+ description { state: "default" 0.0;
+ align: 0.5 0.5;
+ color: 0 0 0 255;
+ fixed: 1 1;
+ text {
+ font: "Tizen:style=Medium";
+ size: 38;
+ align: 0.0 0.5;
+ min: 0 1;
+ max: 1 1;
+ elipsis: 1.0;
+ }
+ rel1 {
+ relative: 1.0 1.0;
+ to_x: "after.space";
+ to_y: "pad_t";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to_x: "pad_r";
+ to_y: "pad_b";
+ }
+ }
+ }
+ part { name:"pad_before_text";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 16 132;
+ max: 16 132;
+ fixed: 1 1;
+ align: 1.0 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ to: "elm.text";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to: "elm.text";
+ }
+ }
+ }
+ part { name:"elm.swallow.content";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 63 63;
+ max: 63 63;
+ fixed: 1 1;
+ align: 1.0 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ to: "pad_before_text";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to: "pad_before_text";
+ }
+ }
+ }
+ }#undef DEMO_POPUP_PROCESSINGVIEW1BUTTON_CONTENT_MIN
+}
+
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#define ITEM_STATE_ENABLED 0
+#define ITEM_STATE_DISABLED 1
+#define TOOLBAR_SLIDING_PER_FPS 2
+#define TOOLBAR_SLIDING_FPS 40.0
+#define TOOLBAR_SLIDING_TEXT_GAP 40
+#define TOOLBAR_SLIDING_TEXT_OFFSET 0
+#define TOOLBAR_SLIDING_WAIT_TIME 1.2
+
+// sliding motion
+#define TOOLBAR_SLIDING_NO_EFFECT 0
+#define TOOLBAR_SLIDING_DOING 1
+#define TOOLBAR_SLIDING_END 2
+
+#define TAG \
+ tag: "br" "\n"; \
+ tag: "ps" "ps"; \
+ tag: "hilight" "+ font_weight=Bold"; \
+ tag: "b" "+ font_weight=Bold"; \
+ tag: "tab" "\t";
+
+#define TABBAR_ITEM_TEXT_STYLE(_font_size, _font_class) \
+ style { name: "tabbar_icon_text_style_"_font_class; \
+ base: "font=Tizen:style=regular font_size="_font_size" align=center color=#FFFFFF wrap=word ellipsis=1 text_class=T111 color_class="_font_class" linegap=0"; \
+ TAG \
+ }
+
+#define TABBAR_TEXT_STYLE(_font_size, _font_class) \
+ style { name: "tabbar_text_style_"_font_class; \
+ base: "font=Tizen:style=regular font_size="_font_size" align=center color=#FFFFFF wrap=word ellipsis=1 text_class=T1117 color_class="_font_class" linegap=0"; \
+ TAG \
+ }
+
+#define TABBAR_NAVI_TEXT_STYLE(_font_size, _font_class) \
+ style { name: "tabbar_navi_text_style_"_font_class; \
+ base: "font=Tizen:style=regular font_size="_font_size" align=center color=#FFFFFF wrap=word ellipsis=1 text_class="_font_class" color_class="_font_class" linegap=0"; \
+ TAG \
+ }
+
+styles{
+ TABBAR_ITEM_TEXT_STYLE(14, "T111")
+ TABBAR_ITEM_TEXT_STYLE(14, "T111P")
+ TABBAR_ITEM_TEXT_STYLE(14, "T111S")
+ TABBAR_ITEM_TEXT_STYLE(14, "T111D")
+ TABBAR_TEXT_STYLE(18, "T1117")
+ TABBAR_TEXT_STYLE(18, "T1117P")
+ TABBAR_TEXT_STYLE(18, "T1117S")
+ TABBAR_TEXT_STYLE(18, "T1117D")
+ TABBAR_NAVI_TEXT_STYLE(18, "T042")
+ TABBAR_NAVI_TEXT_STYLE(18, "T042P")
+ TABBAR_NAVI_TEXT_STYLE(18, "T042D")
+ TABBAR_NAVI_TEXT_STYLE(18, "T042S")
+}
+
+group { name: "elm/toolbar/base/default";
+ alias: "elm/toolbar/base/ntabbar";
+ parts {
+ part { name: "base";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ }
+ }
+ part { name: "base_bg";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.to: "base";
+ rel2.to: "base";
+ rel2.offset: -1 -1;
+ color_class: "B011";
+ }
+ }
+ part { name: "clipper";
+ type: RECT;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.to: "base";
+ rel2.to: "base";
+ rel2.offset: -1 -1;
+ }
+ }
+ part { name: "elm.swallow.content";
+ clip_to: "clipper";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.to: "base";
+ rel2.to: "base";
+ rel2.offset: -1 -1;
+ }
+ }
+ }
+}
+
+
+group { name: "elm/toolbar/object/default";
+ parts {
+ part { name: "elm.swallow.object"; // object group
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ }
+ }
+ }
+}
+
+group { name: "elm/toolbar/base/ntabbar_with_title";
+ parts {
+ part { name: "base";
+ type: SPACER;
+ //scale: 1;
+ description { state: "default" 0.0;
+ }
+ }
+ part { name: "base_bg";
+ type: RECT;
+ //scale: 1;
+ description { state: "default" 0.0;
+ rel1.to: "base";
+ rel2.to: "base";
+ rel2.offset: -1 -1;
+ //color_class: "B011";
+ color: 2 61 132 255;
+ }
+ }
+ part { name: "clipper";
+ type: RECT;
+ mouse_events: 0;
+ //scale: 1;
+ description { state: "default" 0.0;
+ rel1.to: "base";
+ rel2.to: "base";
+ rel2.offset: -1 -1;
+ }
+ }
+ part { name: "elm.swallow.content";
+ clip_to: "clipper";
+ type: SWALLOW;
+ //scale: 1;
+ description { state: "default" 0.0;
+ rel1.to: "base";
+ rel2.to: "base";
+ rel2.offset: -1 -1;
+ }
+ }
+ }
+}
+
+group { name: "elm/toolbar/item/ntabbar_with_title";
+ script {
+ public selected = 0;
+ public pressed = 0;
+ public item_state = ITEM_STATE_ENABLED;
+ public items_number = 0;
+ public icon_text = 0;
+ public mouse_down = 0;
+ public multi_down = 0;
+ public landscape = 0;
+ public item_text = 0;
+ }
+ parts {
+ part { name: "bg";
+ type: SPACER;
+ //scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ }
+ description { state: "2items" 0.0;
+ inherit: "default" 0.0;
+ min: TABBAR_TWO_ITEMS_SIZE_INC;
+ }
+ description { state: "3items" 0.0;
+ inherit: "default" 0.0;
+ min: TABBAR_THREE_ITEMS_SIZE_INC;
+ }
+ description { state: "scrollable" 0.0;
+ inherit: "default" 0.0;
+ min: TABBAR_SCROLLABLE_ITEMS_SIZE_INC;
+ }
+ description { state: "2items_land" 0.0;
+ inherit: "default" 0.0;
+ min: TABBAR_LANDSCAPE_TWO_ITEMS_SIZE_INC;
+ }
+ description { state: "3items_land" 0.0;
+ inherit: "default" 0.0;
+ min: TABBAR_LANDSCAPE_THREE_ITEMS_SIZE_INC;
+ }
+ description { state: "4items_land" 0.0;
+ inherit: "default" 0.0;
+ min: TABBAR_LANDSCAPE_FOUR_ITEMS_SIZE_INC;
+ }
+ description { state: "scrollable_land" 0.0;
+ inherit: "default" 0.0;
+ min: TABBAR_LANDSCAPE_SCROLLABLE_ITEMS_SIZE_INC;
+ }
+ }
+ part { name: "selected_line";
+ type: RECT;
+ //scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 {
+ to: "elm.text";
+ relative: 0.5 1.0;
+ }
+ rel2 {
+ to: "elm.text";
+ relative: 0.5 1.0;
+ }
+ fixed: 0 1;
+ min: TABBAR_SELECTED_LINE_SIZE_INC;
+ visible: 1;
+ color_class: "B0514S";
+ align: 0.5 0.0;
+ }
+ description { state: "selected" 0.0;
+ inherit: "default" 0.0;
+ rel1 {
+ to: "elm.text";
+ relative: 0.0 1.0;
+ }
+ rel2 {
+ to: "elm.text";
+ relative: 1.0 1.0;
+ }
+ fixed: 0 1;
+ min: TABBAR_SELECTED_LINE_SIZE_INC;
+ align: 0.5 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "bg_cover";
+ type: RECT;
+ //scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ visible: 0;
+ //color_class: "B0514";
+ color: 2 61 132 255;
+ }
+ description { state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ //color_class: "B0514P";
+ color: 2 48 104 255;
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ //color: 7 33 94 255;
+ visible: 0;
+ }
+ }
+ part { name: "padding_left_top";
+ type: SPACER;
+ //scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ align: 0.0 0.0;
+ rel2.relative: 0.0 0.0;
+ min: 0 0;
+ fixed: 1 1;
+ }
+ description { state: "text" 0.0;
+ inherit: "default" 0.0;
+ min: TABBAR_TEXT_LEFT_TOP_PADDING_SIZE_INC;
+ }
+ description { state: "icon_text" 0.0;
+ inherit: "default" 0.0;
+ min: TABBAR_ICON_TEXT_LAND_LEFT_TOP_PADDING_SIZE_INC;
+ }
+ }
+ part { name: "padding_right_bottom";
+ type: SPACER;
+ //scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ align: 1.0 1.0;
+ rel1.relative: 1.0 1.0;
+ min: 0 0;
+ fixed: 1 1;
+ }
+ description { state: "text" 0.0;
+ inherit: "default" 0.0;
+ min: TABBAR_TEXT_RIGHT_BOTTOM_PADDING_SIZE_INC;
+ }
+ description { state: "icon_text" 0.0;
+ inherit: "default" 0.0;
+ min: TABBAR_ICON_TEXT_LAND_RIGHT_BOTTOM_PADDING_SIZE_INC;
+ }
+ }
+ part {
+ name: "icon_rect";
+ type: SPACER;
+ //scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ min: 0 0;
+ fixed: 1 0;
+ rel1 {
+ relative: 1.0 1.0;
+ to: "padding_left_top";
+ }
+ rel2 {
+ relative: 1.0 0.0;
+ to_x: "padding_left_top";
+ to_y: "padding_right_bottom";
+ }
+ align: 0.0 0.5;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ min: TABBAR_ICON_RECT_SIZE_INC;
+ }
+ }
+ part { name: "padding_icon_text";
+ type: SPACER;
+ // scale: 1;
+ description { state: "default" 0.0;
+ min: 0 0;
+ fixed: 1 0;
+ align: 1.0 0.5;
+ rel1 {
+ to_x: "elm.text";
+ relative: 0.0 0.0;
+ }
+ rel2 {
+ to_x: "elm.text";
+ relative: 0.0 1.0;
+ }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ min: TABBAR_ICON_TEXT_PAD_INC;
+ }
+ }
+ part { name: "elm.swallow.icon";
+ type: SWALLOW;
+ // scale: 1;
+ clip_to: "elm.icon.clipper";
+ description { state: "default" 0.0;
+ visible: 0;
+ min: TABBAR_ICON_SIZE_INC;
+ aspect: 1.0 1.0;
+ aspect_preference: HORIZONTAL;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ align: 1.0 0.5;
+ fixed: 1 1;
+ rel1 {
+ to_x: "padding_icon_text";
+ relative: 0.0 0.0;
+ }
+ rel2 {
+ to_x: "padding_icon_text";
+ relative: 0.0 1.0;
+ }
+ }
+ description { state: "visible_icon_only" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ align: 0.5 0.5;
+ fixed: 1 1;
+ rel1 {
+ to: "padding_left_top";
+ relative: 1.0 1.0;
+ }
+ rel2 {
+ to: "padding_right_bottom";
+ relative: 0.0 0.0;
+ }
+ }
+ }
+ part { name: "elm.text";
+ type: TEXTBLOCK;
+ mouse_events: 0;
+ // scale: 1;
+ clip_to: "elm.text.clipper";
+ description { state: "default" 0.0;
+ visible: 0;
+ }
+ description { state: "text" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ rel1 {
+ to: "padding_left_top";
+ relative: 1.0 1.0;
+ }
+ rel2 {
+ to: "padding_right_bottom";
+ relative: 0.0 0.0;
+ }
+ fixed: 1 1;
+ text {
+ style: "tabbar_text_style_T1117";
+ min: 0 1;
+ max: 1 0;
+ elipsis: 1.0;
+ }
+ }
+ description { state:"text_pressed" 0.0;
+ inherit: "text" 0.0;
+ text.style: "tabbar_text_style_T1117P";
+ }
+ description { state:"text_selected" 0.0;
+ inherit: "text" 0.0;
+ text.style: "tabbar_text_style_T1117S";
+ }
+ description { state:"text_disabled" 0.0;
+ inherit: "text" 0.0;
+ text.style: "tabbar_text_style_T1117D";
+ }
+ description { state: "icon_text" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ rel1 {
+ to_x: "icon_rect";
+ to_y: "padding_left_top";
+ relative: 1.0 1.0;
+ }
+ rel2 {
+ to: "padding_right_bottom";
+ relative: 0.0 0.0;
+ }
+ fixed: 1 1;
+ text {
+ style: "tabbar_text_style_T1117";
+ min: 0 1;
+ max: 1 0;
+ elipsis: 1.0;
+ }
+ }
+ description { state:"icon_text_pressed" 0.0;
+ inherit: "icon_text" 0.0;
+ text.style: "tabbar_text_style_T1117P";
+ }
+ description { state:"icon_text_selected" 0.0;
+ inherit: "icon_text" 0.0;
+ text.style: "tabbar_text_style_T1117S";
+ }
+ description { state:"icon_text_disabled" 0.0;
+ inherit: "icon_text" 0.0;
+ text.style: "tabbar_text_style_T1117D";
+ }
+ }
+ part { name: "elm.icon.clipper";
+ type: RECT;
+ description { state: "default" 0.0;
+ color_class: "B052L6";
+ }
+ description { state: "selected" 0.0;
+ inherit: "default" 0.0;
+ color_class: "B052L6S";
+ }
+ description { state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ color_class: "B052L6P";
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color_class: "B052L6D";
+ }
+ }
+ part { name: "elm.text.clipper";
+ type: RECT;
+ description { state: "default" 0.0;
+ color: 255 255 255 255;
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 255;
+ }
+ }
+ part { name: "event";
+ type: RECT;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ }
+ programs {
+ program { name: "go_active";
+ signal: "elm,state,selected";
+ source: "elm";
+ after: "selected_text";
+ after: "anim_select";
+ }
+ program { name: "anim_select";
+ action: STATE_SET "selected" 0.0;
+ target: "elm.icon.clipper";
+ target: "selected_line";
+ transition: SIN_FAC 0.33 1.7;
+ }
+ program { name: "selected_text";
+ script{
+ set_int(selected, 1);
+ if (!get_int(icon_text))
+ set_state(PART:"elm.text", "text_selected", 0.0);
+ else
+ set_state(PART:"elm.text", "icon_text_selected", 0.0);
+ }
+ }
+ program { name: "go_passive";
+ signal: "elm,state,unselected";
+ source: "elm";
+ after: "unselected_text";
+ after: "anim_unselect";
+ }
+ program { name: "anim_unselect";
+ action: STATE_SET "default" 0.0;
+ target: "elm.icon.clipper";
+ target: "selected_line";
+ transition: SIN_FAC 0.33 1.7;
+ }
+ program { name: "unselected_text";
+ script{
+ set_int(selected, 0);
+ if (!get_int(icon_text))
+ set_state(PART:"elm.text", "text", 0.0);
+ else
+ set_state(PART:"elm.text", "icon_text", 0.0);
+ }
+ }
+ program { name: "key,pressed";
+ signal: "elm,action,pressed";
+ source: "elm";
+ after: "pressed";
+ }
+ program { name: "pressed";
+ signal: "mouse,down,1";
+ source: "event";
+ script {
+ if ((get_int(item_state) != ITEM_STATE_DISABLED)
+ && get_int(multi_down) == 0
+ && get_int(mouse_down) == 0)
+ {
+ set_int(mouse_down, 1);
+ set_state(PART:"bg_cover", "pressed", 0.0);
+ if (!get_int(icon_text))
+ set_state(PART:"elm.text", "text_pressed", 0.0);
+ else
+ set_state(PART:"elm.text", "icon_text_pressed", 0.0);
+ set_state(PART:"elm.icon.clipper", "pressed", 0.0);
+ set_int(pressed, 1);
+ }
+ }
+ }
+ program { name: "key,unpressed";
+ signal: "elm,action,unpressed";
+ source: "elm";
+ after: "unpressed";
+ }
+ program { name: "unpressed";
+ signal: "mouse,up,1";
+ source: "event";
+ script {
+ if ((get_int(item_state) != ITEM_STATE_DISABLED)
+ && get_int(mouse_down) == 1)
+ {
+ set_int(mouse_down, 0);
+ set_int(pressed, 0);
+ set_state(PART:"bg_cover", "default", 0.0);
+ if (get_int(selected))
+ {
+ if (!get_int(icon_text))
+ set_state(PART:"elm.text", "text_selected", 0.0);
+ else
+ set_state(PART:"elm.text", "icon_text_selected", 0.0);
+ set_state(PART:"elm.icon.clipper", "selected", 0.0);
+ }
+ else
+ {
+ if (!get_int(icon_text))
+ set_state(PART:"elm.text", "text", 0.0);
+ else
+ set_state(PART:"elm.text", "icon_text", 0.0);
+ set_state(PART:"elm.icon.clipper", "default", 0.0);
+ }
+ }
+ }
+ }
+ program { name: "go";
+ signal: "mouse,clicked,1";
+ source: "event";
+ script {
+ if (get_int(multi_down) == 0) {
+ emit("elm,action,click", "elm");
+ if (get_int(item_state) != ITEM_STATE_DISABLED)
+ run_program(PROGRAM:"touch_sound");
+ }
+ }
+ }
+ program { name: "touch_sound";
+ action: RUN_PLUGIN "touch_sound";
+ }
+ program { name: "mouse,in";
+ signal: "mouse,in";
+ source: "event";
+ script {
+ if (get_int(multi_down) == 0)
+ emit("elm,mouse,in", "elm");
+ }
+ }
+ program { name: "mouse,out";
+ signal: "mouse,out";
+ source: "event";
+ script {
+ if ((get_int(multi_down) == 0) && (get_int(mouse_down) == 0))
+ emit("elm,mouse,out", "elm");
+ }
+ }
+ program { name: "enable";
+ signal: "elm,state,enabled";
+ source: "elm";
+ script {
+ set_int(item_state, ITEM_STATE_ENABLED);
+ set_state(PART:"bg_cover", "default", 0.0);
+ if (!get_int(icon_text))
+ {
+ if (!get_int(selected))
+ set_state(PART:"elm.text", "text", 0.0);
+ else
+ set_state(PART:"elm.text", "text_selected", 0.0);
+ }
+ else
+ {
+ if (!get_int(selected))
+ set_state(PART:"elm.text", "icon_text", 0.0);
+ else
+ set_state(PART:"elm.text", "icon_text_selected", 0.0);
+ }
+ set_state(PART:"elm.text.clipper", "default", 0.0);
+ set_state(PART:"elm.icon.clipper", "default", 0.0);
+ }
+ }
+ program { name: "disable";
+ signal: "elm,state,disabled";
+ source: "elm";
+ script {
+ set_int(item_state, ITEM_STATE_DISABLED);
+ set_state(PART:"bg_cover", "disabled", 0.0);
+ if (!get_int(icon_text))
+ set_state(PART:"elm.text", "text_disabled", 0.0);
+ else
+ set_state(PART:"elm.text", "icon_text_disabled", 0.0);
+ set_state(PART:"elm.text.clipper", "disabled", 0.0);
+ set_state(PART:"elm.icon.clipper", "disabled", 0.0);
+ }
+ }
+ program {name: "multi_down";
+ signal: "elm,action,multi,down";
+ source: "elm";
+ script {
+ set_int(multi_down, 1);
+ }
+ }
+ program {name: "multi_up";
+ signal: "elm,action,multi,cancel";
+ source: "elm";
+ script {
+ set_int(multi_down, 0);
+ }
+ }
+ program { name: "text_show";
+ signal: "elm,state,text,visible";
+ source: "elm";
+ script {
+ set_int(item_text, 1);
+ if (!get_int(icon_text))
+ {
+ set_state(PART:"elm.text", "text", 0.0);
+ set_state(PART:"padding_left_top", "text", 0.0);
+ set_state(PART:"padding_right_bottom", "text", 0.0);
+ }
+ else
+ {
+ set_state(PART:"elm.swallow.icon", "visible", 0.0);
+ set_state(PART:"icon_rect", "visible", 0.0);
+ set_state(PART:"elm.text", "icon_text", 0.0);
+ set_state(PART:"padding_icon_text", "visible", 0.0);
+ set_state(PART:"padding_left_top", "icon_text", 0.0);
+ set_state(PART:"padding_right_bottom", "icon_text", 0.0);
+ }
+ }
+ }
+ program { name: "text_hide";
+ signal: "elm,state,text,hidden";
+ source: "elm";
+ script {
+ set_int(item_text, 0);
+ set_state(PART:"elm.text", "default", 0.0);
+ }
+ }
+ program { name: "icon_show";
+ signal: "elm,state,icon,visible";
+ source: "elm";
+ script {
+ set_int(icon_text, 1);
+ if (get_int(item_text))
+ {
+ set_state(PART:"elm.swallow.icon", "visible", 0.0);
+ set_state(PART:"padding_icon_text", "visible", 0.0);
+ set_state(PART:"icon_rect", "visible", 0.0);
+ set_state(PART:"elm.text", "icon_text", 0.0);
+ }
+ else
+ set_state(PART:"elm.swallow.icon", "visible_icon_only", 0.0);
+ set_state(PART:"padding_left_top", "icon_text", 0.0);
+ set_state(PART:"padding_right_bottom", "icon_text", 0.0);
+ }
+ }
+ program { name: "icon_hide";
+ signal: "elm,state,icon,hidden";
+ source: "elm";
+ script {
+ set_int(icon_text, 0);
+ set_state(PART:"elm.swallow.icon", "default", 0.0);
+ set_state(PART:"padding_icon_text", "default", 0.0);
+ set_state(PART:"elm.text", "text", 0.0);
+ set_state(PART:"padding_left_top", "text", 0.0);
+ set_state(PART:"padding_right_bottom", "text", 0.0);
+ }
+ }
+ program { name: "tab_item_2";
+ signal: "elm,number,item,2";
+ source: "elm";
+ script {
+ set_int(items_number, 2);
+ set_state(PART:"bg", "2items", 0.0);
+ }
+ }
+ program { name: "tab_item_3";
+ signal: "elm,number,item,3";
+ source: "elm";
+ script {
+ set_int(items_number, 3);
+ set_state(PART:"bg", "3items", 0.0);
+ }
+ }
+ program { name: "tab_item_4";
+ signal: "elm,number,item,4";
+ source: "elm";
+ script {
+ set_int(items_number, 4);
+ if (get_int(icon_text))
+ {
+ if (get_int(landscape))
+ set_state(PART:"bg", "4items_land", 0.0);
+ else
+ set_state(PART:"bg", "4items", 0.0);
+ }
+ else
+ {
+ if (get_int(landscape))
+ set_state(PART:"bg", "scrollable_land", 0.0);
+ else
+ set_state(PART:"bg", "scrollable", 0.0);
+ }
+ }
+ }
+ program { name: "tab_item_5";
+ signal: "elm,number,item,5";
+ source: "elm";
+ script {
+ set_int(items_number, 5);
+ }
+ after: "tab_item_upper_5";
+ }
+ program { name: "tab_item_6";
+ signal: "elm,number,item,6";
+ source: "elm";
+ script {
+ set_int(items_number, 6);
+ }
+ after: "tab_item_upper_5";
+ }
+ program { name: "tab_item_7";
+ signal: "elm,number,item,7";
+ source: "elm";
+ script {
+ set_int(items_number, 7);
+ }
+ after: "tab_item_upper_5";
+ }
+ program { name: "tab_item_8";
+ signal: "elm,number,item,8";
+ source: "elm";
+ script {
+ set_int(items_number, 8);
+ }
+ after: "tab_item_upper_5";
+ }
+ program { name: "tab_item_9";
+ signal: "elm,number,item,9";
+ source: "elm";
+ script {
+ set_int(items_number, 9);
+ }
+ after: "tab_item_upper_5";
+ }
+ program { name: "tab_item_10";
+ signal: "elm,number,item,10";
+ source: "elm";
+ script {
+ set_int(items_number, 10);
+ }
+ after: "tab_item_upper_5";
+ }
+ program { name: "tab_item_upper_5";
+ script {
+ if (get_int(landscape))
+ set_state(PART:"bg", "scrollable_land", 0.0);
+ else
+ set_state(PART:"bg", "scrollable", 0.0);
+ }
+ }
+ program {
+ name: "change_to_landscape";
+ script {
+ if (!get_int(landscape)) {
+ set_int(landscape, 1);
+ if (get_int(items_number) == 4)
+ set_state(PART:"bg", "4items_land", 0.0);
+ else if (get_int(items_number) == 3)
+ set_state(PART:"bg", "3items_land", 0.0);
+ else if (get_int(items_number) == 2)
+ set_state(PART:"bg", "2items_land", 0.0);
+ else if (get_int(items_number) > 4)
+ set_state(PART:"bg", "scrollable_land", 0.0);
+ }
+ }
+ }
+ program {
+ name: "change_to_portrait";
+ script {
+ if (get_int(landscape)) {
+ set_int(landscape, 0);
+ if (get_int(items_number) == 4)
+ {
+ if (get_int(icon_text))
+ set_state(PART:"bg", "4items", 0.0);
+ else
+ set_state(PART:"bg", "scrollable", 0.0);
+ }
+ else if (get_int(items_number) == 3)
+ set_state(PART:"bg", "3items", 0.0);
+ else if (get_int(items_number) == 2)
+ set_state(PART:"bg", "2items", 0.0);
+ else if (get_int(items_number) > 4)
+ set_state(PART:"bg", "scrollable", 0.0);
+ }
+ }
+ }
+ program { name: "landscape_mode";
+ source: "elm";
+ signal: "elm,state,orient,90";
+ after: "change_to_landscape";
+ }
+ program { name: "landscape_mode2";
+ source: "elm";
+ signal: "elm,state,orient,270";
+ after: "change_to_landscape";
+ }
+ program { name: "portrait_mode";
+ source: "elm";
+ signal: "elm,state,orient,0";
+ after: "change_to_portrait";
+ }
+ program { name: "portrait_mode2";
+ source: "elm";
+ signal: "elm,state,orient,180";
+ after: "change_to_portrait";
+ }
+ }
+}
+
+group { name: "elm/toolbar/base/navigationbar";
+ data {
+ item: "focus_highlight" "on";
+ }
+ script {
+ public g_left_pad_anim_id = 0;
+ public start_anim() {
+ new id;
+ id = anim(0.20, "left_pad_anim", 1);
+ set_int(g_left_pad_anim_id, id);
+ }
+ public left_pad_anim(val, Float:pos) {
+ set_tween_state(PART:"left_padding_clip", pos, "default", 0.0, "transition", 0.0);
+ }
+ public stop_anim() {
+ new id;
+ id = get_int(g_left_pad_anim_id);
+ if(id) {
+ cancel_anim(id);
+ set_state(PART:"left_padding_clip", "transition", 0.0);
+ }
+ }
+ }
+ parts {
+ part { name: "base";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 TOOLBAR_NAVI_HEIGHT_INC;
+ color_class: "B011";
+ }
+ }
+ part { name: "left_padding_clip";
+ type: RECT;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 {
+ to: "left_padding";
+ relative: 0.0 0.0;
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ to: "left_padding";
+ }
+ }
+ description { state: "transition" 0.0;
+ inherit: "default" 0.0;
+ rel2 {
+ relative: 1.0 1.0;
+ to: "left_padding";
+ }
+ }
+ }
+ part { name: "left_padding";
+ type: RECT;
+ mouse_events: 0;
+ scale: 1;
+ clip_to: "left_padding_clip";
+ description { state: "default" 0.0;
+ min: TOOLBAR_NAVI_PADDING_INC 0;
+ fixed: 1 0;
+ rel1.to: "base";
+ rel1.offset: 0 1;
+ rel2 {
+ relative: 0.0 1.0;
+ to: "base";
+ }
+ color_class: "B012L1";
+ align: 0.0 0.0;
+ }
+ }
+ part { name: "separator";
+ type: RECT;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ min: 0 1;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ rel1.to: "base";
+ rel2 {
+ relative: 1.0 0.0;
+ to: "base";
+ }
+ color_class: "B012L4";
+ }
+ }
+ part { name: "elm.swallow.content";
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 1.0 1.0;
+ to_x:"left_padding";
+ to_y:"separator";
+ }
+ rel2.to: "base";
+ }
+ }
+ part { name: "event";
+ type: RECT;
+ mouse_events: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ }
+ programs {
+ program { name: "left,padding,anim1";
+ signal: "elm,order,one,item";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "left_padding_clip";
+ after: "left,padding,anim2";
+ }
+ program { name: "left,padding,anim2";
+ script {
+ start_anim();
+ }
+ }
+ program { name: "left,padding,anim,stop";
+ signal: "elm,order,stop,anim";
+ source: "elm";
+ script {
+ stop_anim();
+ }
+ }
+ }
+}
+
+group { name: "elm/toolbar/more/default";
+ parts {
+ part { name: "elm.swallow.content";
+ type: SWALLOW;
+ description { state: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "elm.swallow.content2";
+ type: SWALLOW;
+ description { state: "default" 0.0;
+ visible: 0;
+ }
+ }
+ }
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MC_COMMON_H__
+#define __MC_COMMON_H__
+
+#include <Elementary.h>
+#include <stdbool.h>
+
+void mc_common_push_track_view_by_group_name(void *ad, int track_type,
+ const char *name,
+ int playlist_id,
+ const char *folder_name);
+bool mc_check_image_valid(Evas * evas, const char *path);
+Elm_Object_Item *mc_common_toolbar_item_append(Evas_Object * obj,
+ const char *icon,
+ const char *label,
+ Evas_Smart_Cb func,
+ const void *data);
+void mc_post_status_message(const char *text);
+bool mc_is_call_connected(void);
+void mc_common_obj_domain_text_translate(Evas_Object * obj,
+ const char *label);
+void mc_common_obj_domain_translatable_part_text_set(Evas_Object * obj,
+ const char *part,
+ const char *label);
+bool mc_check_file_exist(const char *path);
+Evas_Object *mc_widget_genlist_create(Evas_Object * parent);
+bool mc_is_mmc_removed(void);
+char *mc_artist_text_get(void *data, Evas_Object * obj, const char *part);
+char *mc_album_text_get(void *data, Evas_Object * obj, const char *part);
+char *mc_playlist_text_get(void *data, Evas_Object * obj,
+ const char *part);
+char *mc_folder_list_label_get(void *data, Evas_Object * obj,
+ const char *part);
+Evas_Object *mc_group_content_get(void *data, Evas_Object * obj,
+ const char *part);
+void mc_eext_quit_cb(void *data, Evas_Object * obj, void *event_info);
+Eina_Bool mc_quit_cb(void *data, Elm_Object_Item * it);
+void mc_auto_recommended_check_cb(void *data, Evas_Object * obj,
+ void *event_info);
+void mc_quit_select_cb(void *data, Evas_Object * obj, void *event_info);
+Evas_Object *mc_common_load_edj(Evas_Object * parent, const char *file,
+ const char *group);
+Evas_Object *mc_widget_navigation_new(Evas_Object * parent);
+void mc_common_create_fastscroller(Evas_Object * parent,
+ Eina_Bool multiple,
+ Evas_Object * genlist);
+Evas_Object *mc_common_create_processing_popup(void *data);
+const char *mc_commonl_search_markup_keyword(const char *string,
+ char *searchword,
+ bool * result);
+Evas_Object *mc_common_create_thumb_icon(Evas_Object * obj,
+ const char *path, int w, int h);
+
+const char *mc_common_search_markup_keyword(const char *string,
+ char *searchword,
+ bool * result);
+
+#endif
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MC_DATA_H__
+#define __MC_DATA_H__
+
+typedef struct _mc_list_data *app_data;
+
+typedef enum {
+ MP_DATA_ARTIST,
+ MP_DATA_ALBUM,
+ MP_DATA_PLAYLIST,
+} mp_data_e;
+
+int app_data_count(mp_data_e type, char *filter_text);
+int app_data_create(mp_data_e type, char *filter_text, app_data * data);
+int app_data_destory(app_data data);
+
+int app_data_get_main_text();
+
+#endif
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+
+#ifndef __MC_DEBUG_H_
+#define __MC_DEBUG_H_
+
+
+#include <stdio.h>
+#include <unistd.h>
+#include "assert.h"
+#include <linux/unistd.h>
+
+#define ENABLE_LOG_SYSTEM
+
+#ifdef ENABLE_LOG_SYSTEM
+
+#define USE_DLOG_SYSTEM
+
+#define gettid() syscall(__NR_gettid)
+
+#ifdef USE_DLOG_SYSTEM
+#include <dlog.h>
+
+#ifdef LOG_TAG
+#undef LOG_TAG
+#endif //LOG_TAG
+
+#define LOG_TAG "MUSIC_CHOOSER"
+
+#ifndef TRUE
+#define TRUE 1
+#endif
+
+#define DEBUG_TRACE(fmt, arg...) dlog_print(DLOG_DEBUG, LOG_TAG, "[%s : %05d %lu]" fmt "\n", __func__, __LINE__, gettid(), ##arg)
+#define INFO_TRACE(fmt, arg...) dlog_print(DLOG_INFO, LOG_TAG, "[%s : %05d %lu]" fmt "\n", __func__, __LINE__, gettid(), ##arg)
+#define WARN_TRACE(fmt, arg...) dlog_print(DLOG_WARN, LOG_TAG, "[%s : %05d %lu]" fmt "\n", __func__, __LINE__, gettid(), ##arg)
+#define ERROR_TRACE(fmt, arg...) dlog_print(DLOG_ERROR, LOG_TAG, "[%s : %05d %lu]" fmt "\n", __func__, __LINE__, gettid(), ##arg)
+#define PARAM_CHECK(fmt, arg...) dlog_print(DLOG_WARN, LOG_TAG, "[%s : %05d %lu]" fmt "\n", __func__, __LINE__, gettid(), ##arg)
+#define EVENT_TRACE(fmt, arg...) dlog_print(DLOG_INFO, LOG_TAG, "[%s : %05d %lu]" fmt "\n", __func__, __LINE__, gettid(), ##arg)
+
+#define SECURE_DEBUG(fmt, args...) dlog_print(DLOG_DEBUG, LOG_TAG, "[%s : %05d %lu]" fmt "\n", __func__, __LINE__, gettid(), ##args)
+#define SECURE_INFO(fmt, args...) dlog_print(DLOG_INFO, LOG_TAG, "[%s : %05d %lu]" fmt "\n", __func__, __LINE__, gettid(), ##args)
+#define SECURE_ERROR(fmt, args...) dlog_print(DLOG_ERROR, LOG_TAG, "[%s : %05d %lu]" fmt "\n", __func__, __LINE__, gettid(), ##args)
+
+#else // use USE_DLOG_SYSTEM
+
+#define DEBUG_TRACE(fmt, arg...) do {fprintf(stderr, "[%s : %s-%d]\t - \n", __FILE__, __func__, __LINE__);\
+ fprintf(stderr, __VA_ARGS__); } while (0)
+#define INFO_TRACE(fmt, arg...) do {fprintf(stderr, "[%s : %s-%d]\t - \n", __FILE__, __func__, __LINE__);\
+ fprintf(stderr, __VA_ARGS__); } while (0)
+#define WARN_TRACE(fmt, arg...) do {fprintf(stderr, "[%s : %s-%d]\t - \n", __FILE__, __func__, __LINE__);\
+ fprintf(stderr, __VA_ARGS__); } while (0)
+#define ERROR_TRACE(fmt, arg...) do {fprintf(stderr, "[%s : %s-%d]\t - \n", __FILE__, __func__, __LINE__);\
+ fprintf(stderr, __VA_ARGS__); } while (0)
+#define EVENT_TRACE(fmt, arg...) do {fprintf(stderr, "[%s : %s-%d]\t - \n", __FILE__, __func__, __LINE__);\
+ fprintf(stderr, __VA_ARGS__); } while (0)
+#endif //USE_DLOG_SYSTEM
+
+#define DEBUG_TRACE_FUNC() DEBUG_TRACE("")
+
+#else //ENABLE_LOG_SYSTEM
+#define DEBUG_TRACE(fmt, arg...) ;
+#define INFO_TRACE(fmt, arg...) ;
+#define WARN_TRACE(fmt, arg...) ;
+#define ERROR_TRACE(fmt, arg...) ;
+#define EVENT_TRACE(fmt, arg...) ;
+#endif //ENABLE_LOG_SYSTEM
+
+#ifdef ENABLE_CHECK_START_END_FUNCTION
+#ifndef startfunc
+#define startfunc DEBUG_TRACE("+- START -------------------------");
+#endif
+#ifndef endfunc
+#define endfunc DEBUG_TRACE("+- END --------------------------");
+#endif
+
+#define exceptionfunc ERROR_TRACE("### CRITICAL ERROR ###");
+#else
+#define startfunc DEBUG_TRACE("+- START -------------------------");
+#define endfunc DEBUG_TRACE("+- END --------------------------");
+#define exceptionfunc
+#endif
+
+#define eventfunc EVENT_TRACE("");
+
+#define mp_ret_if(expr) do { \
+ if (expr) { \
+ PARAM_CHECK("");\
+ return; \
+ } \
+} while (0)
+#define mp_retv_if(expr, val) do { \
+ if (expr) { \
+ PARAM_CHECK("");\
+ return (val); \
+ } \
+} while (0)
+
+#define mp_retm_if(expr, fmt, arg...) do { \
+ if (expr) { \
+ PARAM_CHECK(fmt, ##arg); \
+ return; \
+ } \
+} while (0)
+
+#define mp_retvm_if(expr, val, fmt, arg...) do { \
+ if (expr) { \
+ PARAM_CHECK(fmt, ##arg); \
+ return (val); \
+ } \
+} while (0)
+
+#define CHECK_EXCEP(expr) do { \
+ if (!(expr)) { \
+ ERROR_TRACE("CRITICAL ERROR ## CHECK BELOW ITEM");\
+ goto mp_exception;\
+ } \
+} while (0)
+
+#define mp_ecore_timer_del(timer) do { \
+ if (timer) { \
+ ecore_timer_del(timer);\
+ timer = NULL; \
+ } \
+} while (0)
+
+#define MP_CHECK_VAL(expr, val) mp_retvm_if(!(expr), val, "INVALID PARM RETURN VAL: 0x%x", val)
+#define MP_CHECK_NULL(expr) mp_retvm_if(!(expr), NULL, "INVALID PARM RETURN NULL")
+#define MP_CHECK_FALSE(expr) mp_retvm_if(!(expr), FALSE, "INVALID PARM RETURN FALSE")
+#define CHECK_CANCEL(expr) mp_retvm_if(!(expr), ECORE_CALLBACK_CANCEL, "INVALID PARAM RETURN")
+#define MP_CHECK(expr) mp_retm_if(!(expr), "INVALID PARAM RETURN")
+
+#define MC_LIST_ICON_SIZE 70 * elm_config_scale_get()
+
+#define SAFE_FREE(x) if (x) {free(x); x = NULL; }
+#undef IF_G_FREE
+#define IF_G_FREE(p) ({g_free(p); p = NULL; })
+
+#define mp_assert(expr) do { \
+ if (!(expr)) { \
+ ERROR_TRACE("CRITICAL ERROR ## CHECK BELOW ITEM");\
+ assert(FALSE); \
+ } \
+} while (0)
+
+
+#define mc_evas_object_del(object) do { \
+ if (object) { \
+ evas_object_del(object); \
+ object = NULL; \
+ } \
+ } while (0)
+
+#endif // __MC_DEBUG_H_
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MC_GROUP_LIST_H__
+#define __MC_GROUP_LIST_H__
+
+#include "music-chooser.h"
+#include "mp-media-info.h"
+
+Evas_Object *mc_group_list_create(Evas_Object * parent,
+ struct app_data *ad,
+ Elm_Object_Item * navi_it);
+int mc_group_list_set_data(Evas_Object * list, int group_type,
+ const char *type_str);
+int mc_group_list_update(Evas_Object * list);
+
+#endif
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MC_GROUP_PLAY_LIST_H__
+#define __MC_GROUP_PLAY_LIST_H__
+
+#include "music-chooser.h"
+#include "mp-media-info.h"
+
+Evas_Object *mc_group_play_list_create(Evas_Object * parent,
+ struct app_data *ad);
+int mc_group_play_list_update(Evas_Object * list,
+ Elm_Object_Item * navi_it);
+
+#endif
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MC_INDEX_H__
+#define __MC_INDEX_H__
+
+#include <Elementary.h>
+
+typedef void (*UgMpIndexCb) (void *data);
+
+Evas_Object *mc_index_create(Evas_Object * parent, int group_type,
+ void *data);
+void mc_index_append_item(Evas_Object * index, Evas_Object * list);
+
+#endif
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MC_LIBRARY_VIEW_H__
+#define __MC_LIBRARY_VIEW_H__
+
+#include "music-chooser.h"
+void mc_library_view_create(struct app_data *ad);
+Evas_Object *_create_tabbar(Evas_Object * parent, struct app_data *ad);
+
+#endif
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __DEF_MC_LIST_PLAY_H_
+#define __DEF_MC_LIST_PLAY_H_
+
+#include <player.h>
+#include <sound_manager.h>
+#include "mc-track-list.h"
+
+#define MC_PRE_PLAY_BUTTON_PART_NAME "elm.edit.icon.2"
+
+typedef enum {
+ MC_PLAYER_CB_TYPE_STARTED,
+ MC_PLAYER_CB_TYPE_PAUSED,
+ MC_PLAYER_CB_TYPE_COMPLETED,
+ MC_PLAYER_CB_TYPE_INTURRUPTED,
+ MC_PLAYER_CB_TYPE_ERROR,
+ MC_PLAYER_CB_TYPE_BUFFERING,
+ MC_PLAYER_CB_TYPE_PREPARE,
+ MC_PLAYER_CB_TYPE_MAX,
+} mc_player_cb_type;
+
+typedef enum {
+ MC_VOLUME_NONE,
+ MC_VOLUME_ALERT,
+ MC_VOLUME_NOTIFICATION,
+ MC_VOLUME_RINGTONE,
+ MC_VOLUME_NUM,
+} mc_player_volume_type;
+
+typedef struct __mc_player_cbs {
+ /* player callbacks */
+/* player_started_cb started_cb;
+ player_paused_cb paused_cb;*/
+ player_completed_cb completed_cb;
+ player_interrupted_cb interrupted_cb;
+ player_error_cb error_cb;
+ player_buffering_cb buffering_cb;
+ player_prepared_cb prepare_cb;
+
+ /* callback user data */
+ void *user_data[MC_PLAYER_CB_TYPE_MAX];
+} mc_player_cbs;
+
+typedef struct {
+ mc_player_cb_type cb_type;
+
+ union {
+ player_interrupted_code_e interrupted_code;
+ int error_code;
+ int percent;
+ } param;
+} mc_player_cb_extra_data;
+
+void mc_pre_play_mgr_play_song(void *data);
+void mc_pre_play_mgr_reset_song(void *data);
+void mc_pre_play_mgr_reset_song_without_stop(void *data);
+void mc_pre_play_control_clear_pre_item_data(void);
+void mc_pre_play_mgr_play_control(void *data);
+player_state_e mc_pre_play_get_player_state(void);
+void mc_pre_play_mgr_destroy_play(void);
+bool mc_player_mgr_is_active(void);
+void mc_player_pause(void);
+void mc_player_play(void);
+void mc_pre_play_control_play_no_pause_music_item(list_item_data_t *
+ item_data);
+void mc_pre_play_control_play_music_item(list_item_data_t * item_data);
+int mc_get_volume(sound_type_e type);
+
+
+
+#endif /* __DEF_MC_LIST_PLAY_H_ */
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MC_SEARCH_LIST_H__
+#define __MC_SEARCH_LIST_H__
+
+//#include "mp-list.h"
+#include <Elementary.h>
+
+#include "mp-media-info.h"
+
+enum {
+ MC_SEARCH_LIST_FILTER_STR,
+};
+
+typedef struct __UgMpSearchList {
+ struct app_data *ad;
+
+ Elm_Genlist_Item_Class *itc_track;
+ Elm_Genlist_Item_Class *itc_album;
+ Elm_Genlist_Item_Class *itc_artist;
+ Elm_Genlist_Item_Class *itc_group_title;
+
+ Elm_Object_Item *search_group_git;
+ int track_count;
+
+ Evas_Object *layout;
+ Evas_Object *box;
+ Evas_Object *genlist;
+ Evas_Object *no_content;
+ char *filter_str;
+
+ mp_media_list_h track_handle; //for search
+ mp_media_list_h artist_handle; //for search
+ mp_media_list_h album_handle; //for search
+} UgMpSearchList_t;
+
+typedef enum {
+ MP_LIST_ITEM_TYPE_NORMAL = 0,
+ MP_LIST_ITEM_TYPE_SHUFFLE,
+ MP_LIST_ITEM_TYPE_GROUP_TITLE,
+ MP_LIST_ITEM_TYPE_SELECTABLE_GROUP_TITLE,
+ MP_LIST_ITEM_TYPE_ALBUMART_INDEX,
+ MP_LIST_ITEM_TYPE_BOTTOM_COUNTER,
+} MpListItemType_e;
+
+UgMpSearchList_t *mc_search_list_create(Evas_Object * parent,
+ struct app_data *ad);
+void mc_search_list_set_data(UgMpSearchList_t * list, ...);
+void mc_search_list_update(void *thiz);
+void mc_search_list_set_reorder(UgMpSearchList_t * list, bool reorder);
+
+#endif
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MC_SEARCH_VIEW_H__
+#define __MC_SEARCH_VIEW_H__
+
+#include "mc-search-list.h"
+#include "music-chooser.h"
+
+#define MC_SEARCH_VIEW_STYLE_EMPTY "empty/music"
+
+typedef struct {
+ struct app_data *ad;
+
+ Elm_Object_Item *navi_it;
+ Evas_Object *layout;
+ Evas_Object *searchbar_layout;
+ Evas_Object *search_layout;
+ Evas_Object *search_bar;
+ Evas_Object *entry;
+ Evas_Object *list_object;
+ Evas_Object *no_content;
+ Evas_Object *genlist;
+
+ Ecore_Timer *search_timer;
+ char *needle;
+
+ UgMpSearchList_t *list;
+
+ mp_group_type_e type;
+
+ char *filter_text; //free
+ char *title; //not free
+
+ int count;
+ mp_media_list_h media_list;
+ mp_media_list_h defualt_playlist;
+
+} search_view_data_t;
+
+
+search_view_data_t *mc_search_view_create(Evas_Object * parent,
+ struct app_data *ad);
+int mc_search_view_update_options(void *thiz);
+void mc_search_view_set_keyword(search_view_data_t * search,
+ const char *keyword);
+int mc_search_view_destory(search_view_data_t * search);
+#endif
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MC_SEARCH_H_
+#define __MC_SEARCH_H_
+#include <Elementary.h>
+
+Evas_Object *mc_search_create_new(Evas_Object * parent,
+ Evas_Smart_Cb change_cb,
+ void *change_cb_data,
+ Evas_Smart_Cb cancel_cb,
+ void *cancel_cb_data,
+ Evas_Smart_Cb focus_cb,
+ void *focus_cb_data,
+ Evas_Smart_Cb unfocus_cb,
+ void *unfocus_cb_data);
+void mc_search_hide_imf_pannel(Evas_Object * search);
+void mc_search_show_imf_pannel(Evas_Object * search);
+Evas_Object *mc_search_entry_get(Evas_Object * search);
+char *mc_search_text_get(Evas_Object * search);
+void mc_search_text_set(Evas_Object * search, const char *text);
+
+#endif //__MP_SEARCH_H_
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MC_SELECT_VIEW_H__
+#define __MC_SELECT_VIEW_H__
+
+#include "music-chooser.h"
+
+Evas_Object *mc_select_view_create(struct app_data *ad);
+
+#endif
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#define MC_TEXT_SEARCH "IDS_MUSIC_OPT_SEARCH_ABB"
+#define MC_TEXT_CANCEL "IDS_COM_POP_CANCEL"
+#define MC_TEXT_DONE "IDS_COM_POP_DONE"
+
+#define MC_TEXT_SELECT_ARTIST "IDS_MUSIC_TAB4_ARTISTS"
+#define MC_TEXT_SELECT_ALBUM "IDS_MUSIC_TAB4_ALBUMS"
+#define MC_TEXT_SELECT_PLAYLIST "IDS_MUSIC_BODY_PLAYLISTS"
+
+#define MC_TEXT_NO_SONGS "IDS_MUSIC_HEADER_NO_SONGS"
+#define MC_TEXT_NO_PLAYLIST "IDS_MUSIC_BODY_NO_PLAYLISTS"
+#define MC_TEXT_NO_ALBUM "IDS_MUSIC_BODY_NO_ALBUMS"
+#define MC_TEXT_NO_ARTIST "IDS_MUSIC_BODY_NO_ARTISTS"
+
+#define MC_TEXT_ALL "IDS_MUSIC_OPT_TRACKS"
+#define MC_TEXT_PLAYLISTS "IDS_MUSIC_TAB4_PLAYLISTS"
+#define MC_TEXT_ALBUMS "IDS_MUSIC_TAB4_ALBUMS"
+#define MC_TEXT_ARTISTS "IDS_MUSIC_TAB4_ARTISTS"
+#define MC_TEXT_FOLDERS "IDS_COM_BODY_FOLDERS"
+
+#define MC_TEXT_SELECT "IDS_MUSIC_HEADER_SELECT_ITEMS"
+#define STR_MC_MAX_COUNT_EXCEEDED "IDS_MUSIC_POP_MAXIMUM_NUMBER_OF_ITEMS_HPD_SELECTED"
+#define STR_MC_MAX_SIZE_EXCEEDED "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+#define MC_TEXT_SELECTED_COUNT "IDS_COM_BODY_PD_SELECTED"
+
+#define MC_TEXT_SET_AS_AUTO_RECOMMEND "IDS_MUSIC_BUTTON_AUTO_RECOMMENDATIONS"
+#define MC_TEXT_SET_AS_RECOMMENDED_TXT "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MC_TRACK_LIST_H__
+#define __MC_TRACK_LIST_H__
+
+#include <player.h>
+#include <notification.h>
+#include "music-chooser.h"
+#include "mp-media-info.h"
+
+#define DEF_STR_LEN 512
+
+typedef struct {
+ Elm_Object_Item *it; // Genlist Item pointer
+ Eina_Bool checked; // Check status
+ player_state_e state;
+ mp_media_info_h media;
+ struct app_data *ad;
+ int index;
+ mc_list_type_e list_type;
+ int start_time;
+ Eina_Bool checkbox_cb;
+} list_item_data_t;
+
+
+Evas_Object *mc_track_list_create(Evas_Object * parent,
+ struct app_data *ad);
+void mc_post_notification_indicator(list_item_data_t * it_data,
+ player_state_e state);
+int mc_track_list_set_data(Evas_Object * list, int track_type,
+ const char *type_str, int playlist_id);
+void mc_track_list_set_uri_selected(void *thiz, const char *uri);
+int mc_track_list_update(Evas_Object * list, Elm_Object_Item * navi_it,
+ Evas_Object * sub_view);
+int mc_track_list_get_radio();
+bool mc_widget_create_select_all_layout(Evas_Object * pParent,
+ Evas_Smart_Cb pChangeFunc,
+ Evas_Object_Event_Cb
+ pMouseDownFunc, void *pUserData,
+ Evas_Object ** pCheckBox,
+ Evas_Object ** pSelectLayout);
+void _mc_popup_view(void *data);
+void _mc_track_list_select_cb(void *data, Evas_Object * obj,
+ void *event_info);
+void _mc_track_list_select_all_selected_item_data_get(void *data,
+ Evas_Object * obj,
+ void *event_info);
+char *mc_create_selectioninfo_text_with_count(int count);
+unsigned int _get_select_count(void *data);
+
+#endif
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MC_VOICE_CLIP_LIST_H__
+#define __MC_VOICE_CLIP_LIST_H__
+
+#include "music-chooser.h"
+#include "mp-media-info.h"
+
+Evas_Object *mc_voice_clip_list_create(Evas_Object * parent,
+ struct app_data *ad);
+int mc_voice_clip_list_update(Evas_Object * list);
+
+#endif
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MC_WIDGET_H__
+#define __MC_WIDGET_H__
+
+#include <Elementary.h>
+
+typedef enum {
+ NO_CONTENT_SONG,
+ NO_CONTENT_PLAYLIST,
+ NO_CONTENT_ALBUM,
+ NO_CONTENT_ARTIST,
+} NoContentType_e;
+
+Evas_Object *mc_widget_create_title_icon_btn(Evas_Object * parent,
+ const char *file,
+ const char *group,
+ Evas_Smart_Cb func,
+ void *data);
+
+Evas_Object *mc_create_win(const char *name);
+
+Evas_Object *mc_widget_no_content_add(Evas_Object * parent,
+ NoContentType_e type);
+
+Evas_Object *mc_widget_create_naviframe_toolbar(Elm_Object_Item * navi_it);
+
+Elm_Object_Item *mc_widget_create_toolbar_item_btn(Evas_Object * parent,
+ const char *style,
+ const char *text,
+ Evas_Smart_Cb func,
+ void *data);
+
+Evas_Object *mc_widget_create_navi_left_btn(Evas_Object * pParent,
+ Elm_Object_Item * pNaviItem,
+ Evas_Smart_Cb pFunc,
+ void *pUserData);
+Evas_Object *mc_widget_create_navi_right_btn(Evas_Object * pParent,
+ Elm_Object_Item * pNaviItem,
+ Evas_Smart_Cb pFunc,
+ void *pUserData);
+#endif /* __MC_WIDGET_H__ */
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MUSIC_CHOOSER_H__
+#define __MUSIC_CHOOSER_H__
+
+#include <Elementary.h>
+#include <glib.h>
+#include <libintl.h>
+#include <app_control.h>
+#include <app.h>
+#include <notification.h>
+
+#include "mc-debug.h"
+#include "mp-common-defs.h"
+#include "mc-text.h"
+#include "mc-widget.h"
+#include "mc-common.h"
+#include "mp-images.h"
+#include "mp-resource.h"
+#include "mp-media-info.h"
+
+#define ICON_SIZE 64*elm_config_scale_get()
+
+#define LOCALE_DIR "locale"
+#define IMAGE_EDJ_NAME "mp-images.edj"
+#define SYS_DOMAIN_NAME "sys_string"
+#define MC_EDJ_FILE "music-chooser.edj"
+
+#define _EDJ(o) elm_layout_edje_get(o)
+
+#ifdef GET_STR
+#undef GET_STR
+#endif
+
+#ifdef GET_SYS_STR
+#undef GET_SYS_STR
+#endif
+
+#define GET_STR(s) dgettext(DOMAIN_NAME, s)
+#define dgettext_noop(s) (s)
+#define N_(s) dgettext_noop(s)
+#define GET_SYS_STR(str) dgettext(DOMAIN_NAME, str)
+
+#define MC_SELECT_MODE_KEY "http://tizen.org/appcontrol/data/selection_mode"
+#define MC_SELECT_MULTIPLE "multiple"
+
+typedef enum {
+ MC_SELECT_SINGLE,
+ MC_SELECT_SINGLE_RINGTONE,
+ MC_SELECT_MULTI,
+ MC_SELECT_VOICE_CLIP,
+ MC_SELECT_GROUP_PLAY,
+ MC_AUTO_TEMPLATE,
+ MC_SHORTCUT_ALBUM,
+ MC_SHORTCUT_ARTIST,
+ MC_SHORTCUT_PLAYLIST,
+} ug_type;
+
+typedef enum {
+ MC_TRACK,
+ MC_ALBUM,
+ MC_ALBUM_TRACK,
+ MC_ARTIST,
+ MC_ARTIST_TRACK,
+ MC_FOLDER,
+ MC_FOLDER_TRACK,
+} mc_list_type_e;
+
+typedef struct {
+ int index;
+ mc_list_type_e item_type;
+ Elm_Object_Item *it;
+ Eina_Bool checked;
+ mp_group_type_e group_type;
+ mp_media_info_h handle;
+ bool unregister_lang_mgr;
+ int artist_album_page;
+ void *plst_item;
+} mc_list_item_data_t;
+
+struct app_data {
+ Evas_Object *base_layout;
+ Evas_Object *navi_bar;
+ int max_count;
+ notification_h noti;
+
+ char *select_uri;
+ ug_type select_type;
+ int track_type;
+
+ //main window;
+ Evas_Object *win;
+ Evas_Object *conformant;
+
+ int win_angle;
+
+ //support light theme
+ Elm_Theme *th;
+
+ int auto_temp_max;
+
+ Evas_Object *track_list;
+
+ bool auto_recommended_show;
+ Ecore_Pipe *smat_pipe;
+ bool auto_recommended_on;
+ app_control_h service;
+ long long int limitsize;
+};
+
+#endif /* __msmc_efl_H__ */
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include "mc-common.h"
+#include "mc-library-view.h"
+#include "mp-media-info.h"
+#include "mc-track-list.h"
+#include "mc-list-play.h"
+#include "mc-index.h"
+#include <telephony.h>
+#include <notification.h>
+#include <efl_extension.h>
+#include <mp-file-util.h>
+#include <storage/storage.h>
+
+#define MC_FILE_PREFIX "file://"
+
+bool detail_view = false;
+static int external_mmc_id = -1;
+
+static Eina_Bool _back_cb(void *data, Elm_Object_Item * it)
+{
+ startfunc;
+ struct app_data *ad = data;
+ elm_naviframe_item_pop(ad->navi_bar);
+ detail_view = false;
+
+ return EINA_FALSE;
+}
+
+void mc_common_push_track_view_by_group_name(void *data, int track_type,
+ const char *name,
+ int playlist_id,
+ const char *folder_name)
+{
+ startfunc;
+ struct app_data *ad = data;
+ MP_CHECK(ad);
+ MP_CHECK(name);
+ Elm_Object_Item *it = NULL;
+ Elm_Object_Item *g_navi_it = NULL;
+ Evas_Object *sub_view = NULL;
+ Evas_Object *track_list = NULL;
+ Evas_Object *tabbar = NULL;
+
+ ad->track_type = track_type;
+
+ char mc_edj_path[1024] = { 0 };
+ char *path = app_get_resource_path();
+ if (path == NULL) {
+ return;
+ }
+ snprintf(mc_edj_path, 1024, "%s%s", path, MC_EDJ_FILE);
+ free(path);
+ Evas_Object *navi_layout =
+ mc_common_load_edj(ad->navi_bar, mc_edj_path,
+ "view_layout_tabbar");
+ g_navi_it = elm_naviframe_top_item_get(ad->navi_bar);
+ tabbar = _create_tabbar(ad->navi_bar, ad);
+
+ elm_object_part_content_set(navi_layout, "tabbar", tabbar);
+
+ track_list = mc_track_list_create(ad->navi_bar, ad);
+ mc_track_list_set_data(track_list, track_type, name, playlist_id);
+
+ elm_object_part_content_set(navi_layout, "list-content", track_list);
+
+ detail_view = true;
+ it = elm_naviframe_item_push(ad->navi_bar, NULL, NULL, NULL,
+ navi_layout, NULL);
+ mc_track_list_update(track_list, it, sub_view);
+
+ if (track_type == MP_TRACK_BY_ALBUM) {
+ mc_common_obj_domain_text_translate(ad->navi_bar,
+ MC_TEXT_SELECT_ALBUM);
+ } else if (track_type == MP_TRACK_BY_ARTIST) {
+ mc_common_obj_domain_text_translate(ad->navi_bar,
+ MC_TEXT_SELECT_ARTIST);
+ } else if (track_type == MP_TRACK_BY_PLAYLIST) {
+ mc_common_obj_domain_text_translate(ad->navi_bar,
+ MC_TEXT_SELECT_PLAYLIST);
+ } else {
+ mc_common_obj_domain_text_translate(ad->navi_bar, MC_TEXT_SELECT);
+ }
+
+#ifdef MC_AUTO_RECOMMENDED
+ if (ad->auto_recommended_show) {
+ elm_object_signal_emit(layout, "show.recommended", "*");
+ Evas_Object *recommended_area =
+ mc_common_load_edj(ad->navi_bar, MC_EDJ_FILE,
+ "recommended_area");
+ elm_object_part_content_set(layout, "recommended",
+ recommended_area);
+ mc_common_obj_domain_translatable_part_text_set(recommended_area,
+ "title_text",
+ MC_TEXT_SET_AS_AUTO_RECOMMEND);
+ mc_common_obj_domain_translatable_part_text_set(recommended_area,
+ "description_text",
+ MC_TEXT_SET_AS_RECOMMENDED_TXT);
+
+ /*add check box */
+ Evas_Object *check = elm_check_add(recommended_area);
+ elm_check_state_set(check, ad->auto_recommended_on);
+ elm_object_part_content_set(recommended_area, "check_box", check);
+ evas_object_smart_callback_add(check, "changed",
+ mc_auto_recommended_check_cb, ad);
+
+ evas_object_show(recommended_area);
+ }
+#endif
+
+ /*reset back button callback */
+ elm_naviframe_item_pop_cb_set(g_navi_it, _back_cb, ad);
+ endfunc;
+}
+
+Elm_Object_Item *mc_common_toolbar_item_append(Evas_Object * obj,
+ const char *icon,
+ const char *label,
+ Evas_Smart_Cb func,
+ const void *data)
+{
+ Elm_Object_Item *item =
+ elm_toolbar_item_append(obj, icon, label, func, data);
+ MP_CHECK_NULL(item);
+
+ elm_object_item_domain_text_translatable_set(item, DOMAIN_NAME,
+ EINA_TRUE);
+
+ return item;
+}
+
+void mc_common_obj_domain_text_translate(Evas_Object * obj,
+ const char *label)
+{
+ MP_CHECK(obj);
+ elm_object_domain_translatable_text_set(obj, DOMAIN_NAME,
+ (const char *) label);
+}
+
+void mc_common_obj_domain_translatable_part_text_set(Evas_Object * obj,
+ const char *part,
+ const char *label)
+{
+ MP_CHECK(obj);
+ elm_object_domain_translatable_part_text_set(obj, part, DOMAIN_NAME,
+ label);
+}
+
+Evas_Object *mc_widget_genlist_create(Evas_Object * parent)
+{
+ Evas_Object *list = NULL;
+
+ list = elm_genlist_add(parent);
+ MP_CHECK_NULL(list);
+
+ elm_scroller_bounce_set(list, EINA_FALSE, EINA_TRUE);
+ return list;
+}
+
+void mc_post_status_message(const char *text)
+{
+ int ret = notification_status_message_post(text);
+ if (ret != 0) {
+ ERROR_TRACE("notification_status_message_post()... [0x%x]", ret);
+ } else {
+ DEBUG_TRACE("message: [%s]", text);
+ }
+}
+
+bool mc_is_call_connected(void)
+{
+ telephony_call_h *call_list_sim;
+ telephony_handle_list_s tel_list;
+ telephony_error_e ret_sim;
+ unsigned int count_sim[2] = {0};
+
+ int tel_valid = telephony_init(&tel_list);
+ if (tel_valid != 0) {
+ ERROR_TRACE("telephony is not initialized. ERROR Code is %d",
+ tel_valid);
+ return false;
+ }
+
+ for (int i = 0; i < tel_list.count; i++) {
+ ret_sim =
+ telephony_call_get_call_list(tel_list.handle[i], &count_sim[i],
+ &call_list_sim);
+ if (ret_sim != TELEPHONY_ERROR_NONE) {
+ ERROR_TRACE("Cannot get call list information for primary sim");
+ }
+
+ telephony_call_release_call_list(count_sim[i], &call_list_sim);
+ }
+
+ telephony_deinit(&tel_list);
+
+ if (count_sim[0] > 0) {
+ DEBUG_TRACE("Call connected from SIM 1");
+ return true;
+ }
+
+ if (count_sim[1] > 0) {
+ DEBUG_TRACE("Call connected from SIM 2");
+ return true;
+ }
+
+ return false;
+}
+
+bool mc_get_supported_storages_callback(int storageId, storage_type_e type,
+ storage_state_e state,
+ const char *path, void *userData)
+{
+ if (type == STORAGE_TYPE_EXTERNAL) {
+ external_mmc_id = storageId;
+ return false;
+ }
+ return true;
+}
+
+bool mc_is_mmc_removed(void)
+{
+ int error =
+ storage_foreach_device_supported
+ (mc_get_supported_storages_callback, NULL);
+ if (error == STORAGE_ERROR_NONE) {
+ storage_state_e state;
+ storage_get_state(external_mmc_id, &state);
+ if (state == STORAGE_STATE_REMOVED) {
+ return true;
+ }
+ }
+
+ return false;
+}
+
+bool mc_check_file_exist(const char *path)
+{
+ if (path == NULL || strlen(path) == 0) {
+ return FALSE;
+ }
+
+ bool mmc_removed = mc_is_mmc_removed();
+
+ if (mmc_removed && strstr(path, MP_MMC_ROOT_PATH) == path) {
+ return false;
+ }
+
+ if (strstr(path, MC_FILE_PREFIX)) {
+ if (!g_file_test
+ (path + strlen(MC_FILE_PREFIX),
+ G_FILE_TEST_EXISTS | G_FILE_TEST_IS_REGULAR)) {
+ ERROR_TRACE("file not exist: %s", path);
+ return FALSE;
+ }
+ return TRUE;
+ } else {
+ if (!g_file_test
+ (path, G_FILE_TEST_EXISTS | G_FILE_TEST_IS_REGULAR)) {
+ ERROR_TRACE("file not exist: %s", path);
+ return FALSE;
+ }
+ return TRUE;
+ }
+ return TRUE;
+}
+
+bool mc_check_image_valid(Evas * evas, const char *path)
+{
+ if (!path) {
+ return false;
+ }
+ MP_CHECK_FALSE(evas);
+
+ if (!mp_file_exists(path)) {
+ ERROR_TRACE("file not exists");
+ return false;
+ } else if (!strcmp(BROKEN_ALBUMART_IMAGE_PATH, path)) {
+ return false;
+ }
+
+ Evas_Object *image = NULL;
+ int width = 0;
+ int height = 0;
+
+ image = evas_object_image_add(evas);
+ MP_CHECK_FALSE(image);
+ evas_object_image_file_set(image, path, NULL);
+ evas_object_image_size_get(image, &width, &height);
+ evas_object_del(image);
+
+ if (width <= 0 || height <= 0) {
+ DEBUG_TRACE("Cannot load file : %s", path);
+ return false;
+ }
+
+ return true;
+}
+
+char *mc_artist_text_get(void *data, Evas_Object * obj, const char *part)
+{
+ char *text = NULL;
+ list_item_data_t *item_data = (list_item_data_t *) data;
+ MP_CHECK_NULL(item_data);
+ mp_media_info_h handle = item_data->media;
+
+ if (strcmp(part, "elm.text") == 0) {
+ mp_media_info_group_get_main_info(handle, &text);
+ return g_strdup(text);
+ } else if (strcmp(part, "elm.text.sub") == 0) {
+ char **album_thumbs = NULL;
+ int song_count;
+ int album_count = 0;
+
+ mp_media_info_group_get_album_thumnail_paths(handle, &album_thumbs,
+ &album_count);
+ mp_media_info_group_get_main_info(handle, &text);
+ mp_media_info_list_count(MP_TRACK_BY_ARTIST, text, NULL, NULL, 0,
+ &song_count);
+ if (album_count == 1 && song_count == 1) {
+ text = g_strdup(GET_STR(STR_MP_1_ALBUM_1_SONG));
+ } else if (album_count == 1 && song_count > 1) {
+ text =
+ g_strdup_printf(GET_STR(STR_MP_1_ALBUM_PD_SONGS),
+ song_count);
+ } else {
+ text =
+ g_strdup_printf(GET_STR(STR_MP_PD_ALBUMS_PD_SONGS),
+ album_count, song_count);
+ }
+ return text;
+ }
+ return NULL;
+}
+
+char *mc_album_text_get(void *data, Evas_Object * obj, const char *part)
+{
+ char *text = NULL;
+ list_item_data_t *item_data = (list_item_data_t *) data;
+ MP_CHECK_NULL(item_data);
+ mp_media_info_h handle = item_data->media;
+
+ int ret = 0;
+ if (strcmp(part, "elm.text") == 0) {
+ ret = mp_media_info_group_get_main_info(handle, &text);
+ MP_CHECK_NULL(ret == 0);
+ return g_strdup(text);
+ } else if (strcmp(part, "elm.text.sub") == 0) {
+ ret = mp_media_info_group_get_sub_info(handle, &text);
+ MP_CHECK_NULL(ret == 0);
+ return g_strdup(text);
+ } else if (strcmp(part, "elm.text.3") == 0) {
+ int count;
+ ret = mp_media_info_group_get_main_info(handle, &text);
+ MP_CHECK_NULL(ret == 0);
+ ret =
+ mp_media_info_list_count(MP_TRACK_BY_ALBUM, text, NULL, NULL,
+ 0, &count);
+ MP_CHECK_NULL(ret == 0);
+ text = g_strdup_printf("(%d)", count);
+ return text;
+ }
+ return NULL;
+}
+
+char *mc_playlist_text_get(void *data, Evas_Object * obj, const char *part)
+{
+ char *text = NULL;
+ list_item_data_t *item_data = (list_item_data_t *) data;
+ MP_CHECK_NULL(item_data);
+ mp_media_info_h handle = item_data->media;
+
+ if (strcmp(part, "elm.text.1") == 0) {
+ mp_media_info_group_get_main_info(handle, &text);
+ return g_strdup(GET_STR(text));
+ } else if (strcmp(part, "elm.text") == 0) {
+ mp_media_info_group_get_main_info(handle, &text);
+ return g_strdup(GET_STR(text));
+ } else if (strcmp(part, "elm.text.2") == 0) {
+ int id = 0;
+ int count = 0;
+ mp_media_info_group_get_playlist_id(handle, &id);
+ if (id == MP_SYS_PLST_MOST_PLAYED) {
+ mp_media_info_list_count(MP_TRACK_BY_PLAYED_COUNT, NULL, NULL,
+ NULL, 0, &count);
+ } else if (id == MP_SYS_PLST_RECENTELY_ADDED) {
+ mp_media_info_list_count(MP_TRACK_BY_ADDED_TIME, NULL, NULL,
+ NULL, 0, &count);
+ } else if (id == MP_SYS_PLST_RECENTELY_PLAYED) {
+ mp_media_info_list_count(MP_TRACK_BY_PLAYED_TIME, NULL, NULL,
+ NULL, 0, &count);
+ } else if (id == MP_SYS_PLST_QUICK_LIST) {
+ mp_media_info_list_count(MP_TRACK_BY_FAVORITE, NULL, NULL,
+ NULL, 0, &count);
+ } else {
+ mp_media_info_list_count(MP_TRACK_BY_PLAYLIST, NULL, NULL,
+ NULL, id, &count);
+ }
+ text = g_strdup_printf("(%d)", count);
+ return text;
+ }
+ return NULL;
+}
+
+char *mc_folder_list_label_get(void *data, Evas_Object * obj,
+ const char *part)
+{
+ char *name = NULL;
+ int ret = 0;
+ list_item_data_t *item_data = (list_item_data_t *) data;
+ MP_CHECK_NULL(item_data);
+ mp_media_info_h svc_item = item_data->media;
+ MP_CHECK_NULL(svc_item);
+
+ if (!strcmp(part, "elm.text.main.left.top")
+ || !strcmp(part, "elm.slide.text.1")) {
+ ret = mp_media_info_group_get_main_info(svc_item, &name);
+ mp_retvm_if((ret != 0), NULL, "Fail to get value");
+ if (!name || !strlen(name)) {
+ name = GET_SYS_STR("IDS_COM_BODY_UNKNOWN");
+ }
+
+ if (!strcmp(part, "elm.text.main.left.top")) {
+ return elm_entry_utf8_to_markup(name);
+ } else {
+ return g_strdup(name);
+ }
+
+ } else if (!strcmp(part, "elm.text.sub.left.bottom")) {
+ ret = mp_media_info_group_get_sub_info(svc_item, &name);
+ mp_retvm_if((ret != 0), NULL, "Fail to get value");
+ if (!name || !strlen(name)) {
+ name = GET_SYS_STR("IDS_COM_BODY_UNKNOWN");
+ }
+ return g_strdup(name);
+ } else if (!strcmp(part, "elm.text.3")) {
+ int count = 0;
+ mp_media_info_group_get_track_count(svc_item, &count);
+ return g_strdup_printf("(%d)", count);
+ }
+ return NULL;
+}
+
+
+Evas_Object *mc_group_content_get(void *data, Evas_Object * obj,
+ const char *part)
+{
+ Evas_Object *content = NULL;
+ Evas_Object *icon = NULL;
+ char *thumbpath = NULL;
+ list_item_data_t *item_data = (list_item_data_t *) data;
+ MP_CHECK_NULL(item_data);
+ mp_media_info_h handle = item_data->media;
+
+ if (!strcmp(part, "elm.swallow.icon")) {
+ content = elm_layout_add(obj);
+ mp_media_info_group_get_thumbnail_path(handle, &thumbpath);
+ icon = elm_image_add(obj);
+ if (mc_check_image_valid(evas_object_evas_get(obj), thumbpath)) {
+ elm_image_file_set(icon, thumbpath, NULL);
+ } else {
+ char default_thumbnail[1024] = { 0 };
+ char *shared_path = app_get_shared_resource_path();
+ snprintf(default_thumbnail, 1024, "%s%s/%s", shared_path,
+ "shared_images", DEFAULT_THUMBNAIL);
+ free(shared_path);
+ elm_image_file_set(icon, default_thumbnail, NULL);
+ }
+
+ elm_layout_theme_set(content, "layout", "list/B/type.1",
+ "default");
+ elm_layout_content_set(content, "elm.swallow.content", icon);
+
+ evas_object_repeat_events_set(content, EINA_TRUE);
+ evas_object_propagate_events_set(content, EINA_FALSE);
+ return content;
+ }
+ return content;
+}
+
+void mc_eext_quit_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ DEBUG_TRACE("");
+ elm_exit();
+}
+
+Eina_Bool mc_quit_cb(void *data, Elm_Object_Item * it)
+{
+ DEBUG_TRACE("");
+ elm_exit();
+
+ return EINA_FALSE;
+}
+
+#ifdef MC_AUTO_RECOMMENDED
+void mc_auto_recommended_check_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ //elm_object_signal_emit(g_ly, "hide.recommended", "*");
+ startfunc;
+ struct app_data *ad = data;
+ MP_CHECK(ad);
+
+ Eina_Bool state = elm_check_state_get(obj);
+ ad->auto_recommended_on = state;
+
+ /*find the selected item */
+ int index = mc_track_list_get_radio();
+ DEBUG_TRACE("pre play item is %d", index);
+
+ Evas_Object *genlist =
+ elm_layout_content_get(ad->track_list, "list_content");
+ if (genlist) {
+ ERROR_TRACE("genlist is NULL");
+ }
+ Elm_Object_Item *pre_play_item =
+ elm_genlist_nth_item_get(genlist, index);
+
+ list_item_data_t *pre_play_item_data =
+ elm_object_item_data_get(pre_play_item);
+ if (pre_play_item_data) {
+ ERROR_TRACE("item data is NULL");
+ }
+ mc_pre_play_mgr_reset_song(pre_play_item_data);
+ mc_pre_play_mgr_play_song(pre_play_item_data);
+}
+#endif
+
+void mc_quit_select_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ DEBUG_TRACE("");
+ elm_exit();
+}
+
+Evas_Object *mc_common_load_edj(Evas_Object * parent, const char *file,
+ const char *group)
+{
+ Evas_Object *eo = NULL;
+ int r = -1;
+
+ eo = elm_layout_add(parent);
+ if (eo) {
+ r = elm_layout_file_set(eo, file, group);
+ if (!r) {
+ evas_object_del(eo);
+ return NULL;
+ }
+ evas_object_size_hint_weight_set(eo, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ evas_object_show(eo);
+ }
+ evas_object_name_set(eo, group);
+
+ return eo;
+}
+
+Evas_Object *mc_widget_navigation_new(Evas_Object * parent)
+{
+ Evas_Object *navi_bar;
+ mp_retv_if(parent == NULL, NULL);
+ navi_bar = elm_naviframe_add(parent);
+ mp_retvm_if(navi_bar == NULL, NULL, "Fail to create navigation bar");
+ elm_naviframe_event_enabled_set(navi_bar, EINA_FALSE);
+
+ evas_object_show(navi_bar);
+ return navi_bar;
+}
+
+void mc_common_create_fastscroller(Evas_Object * parent,
+ Eina_Bool multiple,
+ Evas_Object * genlist)
+{
+ startfunc;
+ Evas_Object *index;
+ elm_object_signal_emit(parent, "show.fastscroll", "*");
+ if (multiple) {
+ index = mc_index_create(parent, 1, genlist);
+ } else {
+ index = mc_index_create(parent, 0, genlist);
+ }
+ elm_scroller_policy_set(genlist, ELM_SCROLLER_POLICY_OFF,
+ ELM_SCROLLER_POLICY_OFF);
+ elm_layout_content_set(parent, "elm.swallow.content.index", index);
+ mc_index_append_item(index, genlist);
+
+ return;
+}
+
+Evas_Object *mc_common_create_processing_popup(void *data)
+{
+ Evas_Object *popup = NULL;
+ Evas_Object *progressbar = NULL;
+
+ struct app_data *ad = data;
+ MP_CHECK_NULL(ad);
+
+ popup = elm_popup_add(ad->base_layout);
+ //eext_object_event_callback_add(popup, EEXT_CALLBACK_BACK, eext_popup_back_cb, NULL);
+ char mc_edj_path[1024] = { 0 };
+ char *path = app_get_resource_path();
+ MP_CHECK_NULL(path);
+ snprintf(mc_edj_path, 1024, "%s%s", path, MC_EDJ_FILE);
+ free(path);
+ Evas_Object *layout = elm_layout_add(popup);
+ elm_layout_file_set(layout, mc_edj_path,
+ "popup_processingview_1button");
+ /*create circle progressbar */
+
+ progressbar = elm_progressbar_add(popup);
+ elm_object_style_set(progressbar, "process_large");
+
+ evas_object_size_hint_align_set(progressbar, EVAS_HINT_FILL, 0.5);
+ evas_object_size_hint_weight_set(progressbar, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ evas_object_show(progressbar);
+ elm_progressbar_pulse(progressbar, EINA_TRUE);
+
+ elm_object_part_content_set(layout, "elm.swallow.content",
+ progressbar);
+ mc_common_obj_domain_translatable_part_text_set(layout, "elm.text",
+ "IDS_COM_BODY_LOADING");
+ elm_object_content_set(popup, layout);
+ evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ evas_object_show(popup);
+
+ return popup;
+}
+
+#define DEF_BUF_LEN (512)
+const char *mc_common_search_markup_keyword(const char *string,
+ char *searchword,
+ bool * result)
+{
+ char pstr[DEF_BUF_LEN + 1] = { 0, };
+ static char return_string[DEF_BUF_LEN + 1] = { 0, };
+ int word_len = 0;
+ int search_len = 0;
+ int i = 0;
+ bool found = false;
+ gchar *markup_text_start = NULL;
+ gchar *markup_text_end = NULL;
+ gchar *markup_text = NULL;
+
+ MP_CHECK_NULL(string && strlen(string));
+ MP_CHECK_NULL(searchword && strlen(searchword));
+ MP_CHECK_NULL(result);
+
+ if (g_utf8_validate(string, -1, NULL)) {
+
+ word_len = strlen(string);
+ if (word_len > DEF_BUF_LEN) {
+ char *temp = (char *) calloc((word_len + 1), sizeof(char));
+ MP_CHECK_NULL(temp);
+ if (strlen(string) <= DEF_BUF_LEN) {
+ strncpy(temp, string, (strlen(string) + 1));
+ }
+ i = 0;
+ while (word_len > DEF_BUF_LEN) {
+ /*truncate uft8 to byte_size DEF_BUF_LEN */
+ gchar *pre_ch =
+ g_utf8_find_prev_char(temp,
+ (temp + DEF_BUF_LEN - 1 -
+ i * 3));
+ if (!pre_ch) {
+ break;
+ }
+ gchar *next_ch = g_utf8_find_next_char(pre_ch, NULL);
+ if (!next_ch) {
+ break;
+ }
+ /*truncate position */
+ *next_ch = '\0';
+ word_len = strlen(temp);
+ i++;
+ }
+ if (strlen(temp) <= DEF_BUF_LEN) {
+ strncpy(pstr, temp, (strlen(temp) + 1));
+ }
+ IF_FREE(temp);
+ } else {
+ if (strlen(string) <= DEF_BUF_LEN) {
+ strncpy(pstr, string, (strlen(string) + 1));
+ }
+ }
+
+ word_len = strlen(pstr);
+ search_len = strlen(searchword);
+
+ for (i = 0; i < word_len; i++) {
+ if (!strncasecmp(searchword, &pstr[i], search_len)) {
+ found = true;
+ break;
+ }
+ }
+
+ *result = found;
+ memset(return_string, 0x00, DEF_BUF_LEN + 1);
+
+ if (found) {
+ if (i == 0) {
+ markup_text = g_markup_escape_text(&pstr[0], search_len);
+ markup_text_end =
+ g_markup_escape_text(&pstr[search_len],
+ word_len - search_len);
+ MP_CHECK_NULL(markup_text && markup_text_end);
+ snprintf(return_string,
+ DEF_BUF_LEN,
+ "<color=#FE5400>%s</color>%s",
+ markup_text, (char *) markup_text_end);
+ IF_FREE(markup_text);
+ IF_FREE(markup_text_end);
+ } else {
+ markup_text_start = g_markup_escape_text(&pstr[0], i);
+ markup_text = g_markup_escape_text(&pstr[i], search_len);
+ markup_text_end =
+ g_markup_escape_text(&pstr[i + search_len],
+ word_len - (i + search_len));
+ MP_CHECK_NULL(markup_text_start && markup_text
+ && markup_text_end);
+ snprintf(return_string, DEF_BUF_LEN,
+ "%s<color=#FE5400>%s</color>%s",
+ (char *) markup_text_start, markup_text,
+ (char *) markup_text_end);
+ IF_FREE(markup_text);
+ IF_FREE(markup_text_start);
+ IF_FREE(markup_text_end);
+ }
+ } else {
+ snprintf(return_string, DEF_BUF_LEN, "%s", pstr);
+ }
+ }
+
+ return return_string;
+}
+
+Evas_Object *mc_common_create_thumb_icon(Evas_Object * obj,
+ const char *path, int w, int h)
+{
+ char default_thumbnail[1024] = { 0 };
+ Evas_Object *thumbnail = elm_image_add(obj);
+ if (w == h) {
+ elm_image_prescale_set(thumbnail, w);
+ elm_image_fill_outside_set(thumbnail, true);
+ }
+
+ if ((!path)
+ || !g_file_test(path, G_FILE_TEST_EXISTS | G_FILE_TEST_IS_REGULAR)
+ || !strcmp(BROKEN_ALBUMART_IMAGE_PATH, path)) {
+ char *shared_path = app_get_shared_resource_path();
+ snprintf(default_thumbnail, 1024, "%s%s/%s", shared_path,
+ "shared_images", DEFAULT_THUMBNAIL);
+ free(shared_path);
+ }
+ elm_image_file_set(thumbnail, default_thumbnail, NULL);
+
+ evas_object_size_hint_align_set(thumbnail, EVAS_HINT_FILL,
+ EVAS_HINT_FILL);
+ evas_object_size_hint_weight_set(thumbnail, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ evas_object_show(thumbnail);
+ //endfunc;
+
+ return thumbnail;
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include "mc-group-list.h"
+#include "mp-media-info.h"
+#include "mc-common.h"
+#include "mc-track-list.h"
+
+typedef struct {
+ struct app_data *ad;
+
+ Evas_Object *no_content;
+ Evas_Object *genlist;
+
+ Elm_Genlist_Item_Class itc;
+
+ mp_group_type_e type;
+ char *type_str;
+ int playlist_id;
+
+ Elm_Object_Item *win_navi_it;
+ mp_media_list_h group_list;
+ mp_media_list_h playlists_auto;
+} group_list_data_t;
+
+#define GET_LIST_DATA(obj) evas_object_data_get(obj, "list_data")
+
+static Evas_Object *_mc_create_genlist(Evas_Object * parent)
+{
+ Evas_Object *genlist = NULL;
+ MP_CHECK_NULL(parent);
+
+ genlist = elm_genlist_add(parent);
+ elm_genlist_select_mode_set(genlist, ELM_OBJECT_SELECT_MODE_ALWAYS);
+ elm_genlist_homogeneous_set(genlist, EINA_TRUE);
+ elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);
+
+ return genlist;
+}
+
+static void _gl_sel_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ startfunc;
+ group_list_data_t *ld = data;
+ char *name = NULL;
+ char *folder = NULL;
+ char *folder_name = NULL;
+ int track_type = MP_TRACK_BY_ALBUM;
+ int playlist_id = 0;
+
+ elm_genlist_item_selected_set(event_info, EINA_FALSE);
+ MP_CHECK(ld);
+
+ list_item_data_t *item_data =
+ (list_item_data_t *) elm_object_item_data_get(event_info);
+ MP_CHECK(item_data);
+ mp_media_info_h media = item_data->media;
+ MP_CHECK(media);
+ mp_media_info_group_get_main_info(media, &name);
+
+ if (ld->type == MP_GROUP_BY_PLAYLIST) {
+ mp_media_info_group_get_playlist_id(media, &playlist_id);
+ if (playlist_id == MP_SYS_PLST_MOST_PLAYED) {
+ track_type = MP_TRACK_BY_PLAYED_COUNT;
+ } else if (playlist_id == MP_SYS_PLST_RECENTELY_ADDED) {
+ track_type = MP_TRACK_BY_ADDED_TIME;
+ } else if (playlist_id == MP_SYS_PLST_RECENTELY_PLAYED) {
+ track_type = MP_TRACK_BY_PLAYED_TIME;
+ } else if (playlist_id == MP_SYS_PLST_QUICK_LIST) {
+ track_type = MP_TRACK_BY_FAVORITE;
+ } else {
+ track_type = MP_TRACK_BY_PLAYLIST;
+ }
+ } else if (ld->type == MP_GROUP_BY_ARTIST) {
+ track_type = MP_TRACK_BY_ARTIST;
+ } else if (ld->type == MP_GROUP_BY_FOLDER) {
+ track_type = MP_TRACK_BY_FOLDER;
+ mp_media_info_group_get_folder_id(media, &folder);
+ mp_media_info_group_get_main_info(media, &folder_name);
+ }
+
+ if (ld->type == MP_GROUP_BY_FOLDER) {
+ mc_common_push_track_view_by_group_name(ld->ad, track_type, folder,
+ playlist_id, folder_name);
+ } else {
+ mc_common_push_track_view_by_group_name(ld->ad, track_type, name,
+ playlist_id, NULL);
+ }
+}
+
+static void
+_layout_del_cb(void *data, Evas * e, Evas_Object * obj, void *event_info)
+{
+ startfunc;
+ group_list_data_t *ld = data;
+ MP_CHECK(ld);
+
+ if (ld->group_list) {
+ mp_media_info_group_list_destroy(ld->group_list);
+ ld->group_list = NULL;
+ }
+ if (ld->playlists_auto) {
+ mp_media_info_group_list_destroy(ld->playlists_auto);
+ ld->playlists_auto = NULL;
+ }
+
+ IF_G_FREE(ld->type_str);
+
+ free(ld);
+}
+
+static void _mc_itc_init(int type, group_list_data_t * ld)
+{
+ MP_CHECK(ld);
+
+ ld->itc.func.content_get = mc_group_content_get;
+ switch (type) {
+ case MP_GROUP_BY_ALBUM:
+ ld->itc.item_style = "type1";
+ ld->itc.func.text_get = mc_album_text_get;
+ ld->type = MP_GROUP_BY_ALBUM;
+ break;
+ case MP_GROUP_BY_ARTIST:
+ ld->itc.item_style = "type1";
+ ld->itc.func.text_get = mc_artist_text_get;
+ ld->type = MP_GROUP_BY_ARTIST;
+ break;
+ case MP_GROUP_BY_PLAYLIST:
+ ld->itc.item_style = "type1";
+ ld->itc.func.text_get = mc_playlist_text_get;
+ ld->type = MP_GROUP_BY_PLAYLIST;
+ break;
+ case MP_GROUP_BY_FOLDER:
+ ld->itc.item_style = "type1";
+ ld->itc.func.text_get = mc_folder_list_label_get;
+ ld->type = MP_GROUP_BY_FOLDER;
+ break;
+ default:
+ ERROR_TRACE("Invalid vd->type: %d", type);
+ break;
+ }
+}
+
+
+Evas_Object *mc_group_list_create(Evas_Object * parent,
+ struct app_data *ad,
+ Elm_Object_Item * navi_it)
+{
+ startfunc;
+ Evas_Object *layout;
+ group_list_data_t *ld = NULL;
+
+ MP_CHECK_NULL(parent);
+ MP_CHECK_NULL(ad);
+
+ char mc_edj_path[1024] = { 0 };
+ char *path = app_get_resource_path();
+ MP_CHECK_NULL(path);
+ snprintf(mc_edj_path, 1024, "%s%s", path, MC_EDJ_FILE);
+ free(path);
+ layout = mc_common_load_edj(parent, mc_edj_path, "list_layout");
+ MP_CHECK_NULL(layout);
+
+ ld = calloc(1, sizeof(group_list_data_t));
+ MP_CHECK_NULL(ld);
+
+ ld->ad = ad;
+ ld->win_navi_it = navi_it;
+
+ /*
+ Evas_Object *title_btn = elm_object_item_part_content_unset(ld->win_navi_it, "title_right_btn");
+ if (title_btn)
+ evas_object_del(title_btn);
+ */
+
+ Evas_Object *done_btn =
+ elm_object_item_part_content_unset(ld->win_navi_it, "toolbar");
+ if (done_btn) {
+ evas_object_del(done_btn);
+ }
+
+ evas_object_data_set(layout, "list_data", ld);
+ evas_object_event_callback_add(layout, EVAS_CALLBACK_FREE,
+ _layout_del_cb, ld);
+
+ /*elm_naviframe_item_pop_cb_set(navi_it, mc_quit_cb, ad); */
+ return layout;
+}
+
+int mc_group_list_update(Evas_Object * list)
+{
+ startfunc;
+ Evas_Object *content;
+
+ int count = 0;
+ group_list_data_t *ld = GET_LIST_DATA(list);
+ MP_CHECK_VAL(ld, -1);
+
+ if (ld->group_list) {
+ mp_media_info_group_list_destroy(ld->group_list);
+ ld->group_list = NULL;
+ }
+
+ if (ld->playlists_auto) {
+ mp_media_info_group_list_destroy(ld->playlists_auto);
+ ld->playlists_auto = NULL;
+ }
+
+ content = elm_layout_content_get(list, "list_content");
+ evas_object_del(content);
+
+ mp_media_info_group_list_count(ld->type, ld->type_str, NULL, &count);
+ if (count || ld->type == MP_GROUP_BY_PLAYLIST) {
+ content = _mc_create_genlist(list);
+
+ /*if playlist, add auto playlist firstly */
+ if (ld->type == MP_GROUP_BY_PLAYLIST) {
+ mp_media_list_h playlists_auto = NULL;
+ mp_media_info_group_list_create(&playlists_auto,
+ MP_GROUP_BY_SYS_PLAYLIST, NULL,
+ NULL, 0, 0);
+ ld->playlists_auto = playlists_auto;
+ int i = 0;
+ for (i = 0; i < MP_SYS_PLST_COUNT; i++) {
+ mp_media_info_h media =
+ mp_media_info_group_list_nth_item(playlists_auto, i);
+ if (!media) {
+ continue;
+ }
+
+ list_item_data_t *item_data =
+ calloc(1, sizeof(list_item_data_t));
+ if (!item_data) {
+ break;
+ }
+
+ item_data->media = media;
+ item_data->index = i;
+
+ item_data->it =
+ elm_genlist_item_append(content, &ld->itc, item_data,
+ NULL, ELM_GENLIST_ITEM_NONE,
+ _gl_sel_cb, ld);
+ elm_object_item_data_set(item_data->it, item_data);
+
+ }
+ }
+
+ mp_media_info_group_list_create(&ld->group_list, ld->type,
+ ld->type_str, NULL, 0, count);
+ int i = 0;
+ for (i = 0; i < count; i++) {
+ mp_media_info_h media =
+ mp_media_info_group_list_nth_item(ld->group_list, i);
+ if (!media) {
+ continue;
+ }
+
+ list_item_data_t *item_data =
+ calloc(1, sizeof(list_item_data_t));
+ MP_CHECK_VAL(item_data, -1);
+ item_data->media = media;
+ item_data->index = i;
+ if (ld->type == MP_GROUP_BY_ALBUM) {
+ item_data->list_type = MC_ALBUM;
+ } else if (ld->type == MP_GROUP_BY_ARTIST) {
+ item_data->list_type = MC_ARTIST;
+ } else if (ld->type == MP_GROUP_BY_FOLDER) {
+ item_data->list_type = MC_FOLDER;
+ }
+
+ item_data->it =
+ elm_genlist_item_append(content, &ld->itc, item_data, NULL,
+ ELM_GENLIST_ITEM_NONE, _gl_sel_cb,
+ ld);
+ elm_object_item_data_set(item_data->it, item_data);
+
+ Evas_Object *right_button =
+ elm_object_item_part_content_get(ld->win_navi_it,
+ "title_right_btn");
+ mc_evas_object_del(right_button);
+ Evas_Object *left_button =
+ elm_object_item_part_content_get(ld->win_navi_it,
+ "title_left_btn");
+ mc_evas_object_del(left_button);
+ }
+ } else {
+ NoContentType_e type = NO_CONTENT_SONG;
+ if (ld->type == MP_GROUP_BY_ARTIST) {
+ type = NO_CONTENT_ARTIST;
+ } else if (ld->type == MP_GROUP_BY_ALBUM) {
+ type = NO_CONTENT_ALBUM;
+ }
+
+ content = mc_widget_no_content_add(list, type);
+ }
+
+ if (count > 0) {
+ /*create fastscroller */
+ if (ld->ad->select_type == MC_SELECT_MULTI) {
+ mc_common_create_fastscroller(list, EINA_TRUE, content);
+ } else {
+ mc_common_create_fastscroller(list, EINA_FALSE, content);
+ }
+ } else {
+ /*hide fastscroller */
+ elm_object_signal_emit(list, "hide.fastscroll", "*");
+ }
+
+ elm_layout_content_set(list, "list_content", content);
+ return 0;
+}
+
+int mc_group_list_set_data(Evas_Object * list, int group_type,
+ const char *type_str)
+{
+ startfunc;
+ group_list_data_t *ld = GET_LIST_DATA(list);
+ MP_CHECK_VAL(ld, -1);
+
+ ld->type = group_type;
+ IF_G_FREE(ld->type_str);
+ ld->type_str = g_strdup(type_str);
+ IF_FREE(type_str);
+
+ _mc_itc_init(group_type, ld);
+
+ return 0;
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include "mc-group-play-list.h"
+#include "mp-media-info.h"
+#include "mc-common.h"
+
+typedef struct {
+ struct app_data *ad;
+
+ Evas_Object *no_content;
+ Evas_Object *genlist;
+ Elm_Object_Item *btn_done;
+
+ Elm_Genlist_Item_Class itc;
+
+ mp_media_list_h track_list;
+
+ Ecore_Timer *destroy_timer;
+ Elm_Object_Item *win_navi_it;
+} group_play_list_data_t;
+
+typedef struct {
+ //Elm_Object_Item *it; // Genlist Item pointer
+ Eina_Bool checked; // Check status
+ mp_media_info_h media;
+} list_item_data_t;
+
+#define GET_LIST_DATA(obj) evas_object_data_get(obj, "list_data")
+
+static Evas_Object *_mc_create_genlist(Evas_Object * parent)
+{
+ Evas_Object *genlist = NULL;
+ MP_CHECK_NULL(parent);
+
+ genlist = elm_genlist_add(parent);
+ elm_genlist_select_mode_set(genlist, ELM_OBJECT_SELECT_MODE_ALWAYS);
+
+ return genlist;
+}
+
+static Evas_Object *_gl_content_get(void *data, Evas_Object * obj,
+ const char *part)
+{
+ Evas_Object *content = NULL;
+ char *thumbpath = NULL;
+
+ list_item_data_t *it_data = data;
+ MP_CHECK_NULL(it_data);
+
+ mp_media_info_h media = it_data->media;
+
+ if (!strcmp(part, "elm.icon")) {
+ content = elm_bg_add(obj);
+ elm_bg_load_size_set(content, ICON_SIZE, ICON_SIZE);
+
+ mp_media_info_get_thumbnail_path(media, &thumbpath);
+
+ if (mc_check_image_valid(evas_object_evas_get(obj), thumbpath)) {
+ elm_bg_file_set(content, thumbpath, NULL);
+ } else {
+ char default_thumbnail[1024] = { 0 };
+ char *shared_path = app_get_shared_resource_path();
+ snprintf(default_thumbnail, 1024, "%s%s/%s", shared_path,
+ "shared_images", DEFAULT_THUMBNAIL);
+ free(shared_path);
+ elm_bg_file_set(content, default_thumbnail, NULL);
+ }
+ }
+
+ return content;
+}
+
+static char *_gl_text_get(void *data, Evas_Object * obj, const char *part)
+{
+ char *text = NULL;
+
+ list_item_data_t *it_data = data;
+ MP_CHECK_NULL(it_data);
+
+ mp_media_info_h media = it_data->media;
+
+ int ret = 0;
+ if (strcmp(part, "elm.text.1") == 0) {
+ ret = mp_media_info_get_title(media, &text);
+ MP_CHECK_NULL(ret == 0);
+ return g_strdup(text);
+ } else if (strcmp(part, "elm.text.2") == 0) {
+ ret = mp_media_info_get_artist(media, &text);
+ MP_CHECK_NULL(ret == 0);
+ return g_strdup(text);
+ }
+ return NULL;
+}
+
+static void _gl_del(void *data, Evas_Object * obj)
+{
+ list_item_data_t *it_data = data;
+ IF_FREE(it_data);
+}
+
+static Eina_Bool _destroy_timer_cb(void *data)
+{
+ group_play_list_data_t *ld = data;
+ MP_CHECK_FALSE(ld);
+ ld->destroy_timer = NULL;
+ elm_exit();
+ return EINA_FALSE;
+}
+
+static unsigned int _get_select_count(void *data) //(Evas_Object *genlist)
+{
+ startfunc;
+ unsigned int count = 0;
+
+ group_play_list_data_t *ld = data;
+ Elm_Object_Item *item;
+ MP_CHECK_VAL(ld, 0);
+ MP_CHECK_VAL(ld->genlist, 0);
+
+ item = elm_genlist_first_item_get(ld->genlist);
+ while (item) {
+ list_item_data_t *it_data = elm_object_item_data_get(item);
+ item = elm_genlist_item_next_get(item);
+ if (it_data && it_data->checked) {
+ count++;
+ }
+ }
+ endfunc;
+ return count;
+}
+
+static void _gl_sel_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ startfunc;
+ group_play_list_data_t *ld = data;
+ char *path = NULL;
+
+ elm_genlist_item_selected_set(event_info, EINA_FALSE);
+ MP_CHECK(ld);
+ MP_CHECK(!ld->destroy_timer);
+
+ list_item_data_t *it_data = elm_object_item_data_get(event_info);
+ MP_CHECK(it_data);
+
+ mp_media_info_h media = it_data->media;
+ MP_CHECK(media);
+ mp_media_info_get_file_path(media, &path);
+ DEBUG_TRACE("path: %s", path);
+
+ app_control_h service = NULL;
+ app_control_create(&service);
+ app_control_add_extra_data(service, APP_CONTROL_DATA_PATH, path);
+ app_control_add_extra_data(service, APP_CONTROL_DATA_SELECTED, path);
+
+ app_control_reply_to_launch_request(service, ld->ad->service,
+ APP_CONTROL_RESULT_SUCCEEDED);
+
+ ld->destroy_timer = ecore_timer_add(0.1, _destroy_timer_cb, ld);
+
+ app_control_destroy(service);
+}
+
+static void
+_layout_del_cb(void *data, Evas * e, Evas_Object * obj, void *event_info)
+{
+ startfunc;
+ group_play_list_data_t *ld = data;
+ MP_CHECK(ld);
+
+ Evas_Object *right_btn =
+ elm_object_item_part_content_get(ld->win_navi_it,
+ "title_right_btn");
+ evas_object_hide(right_btn);
+
+ free(ld);
+}
+
+static void _done_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ startfunc;
+ char *fmt = ";%s";
+ GString *path = NULL;
+ group_play_list_data_t *ld = data;
+ Elm_Object_Item *item;
+ MP_CHECK(ld);
+
+ item = elm_genlist_first_item_get(ld->genlist);
+ while (item) {
+ list_item_data_t *it_data = elm_object_item_data_get(item);
+ item = elm_genlist_item_next_get(item);
+ if (it_data && it_data->checked) {
+ char *tmp = NULL;
+ mp_media_info_h media = it_data->media;
+ MP_CHECK(media);
+ mp_media_info_get_file_path(media, &tmp);
+ DEBUG_TRACE("path: %s", tmp);
+ if (path == NULL) {
+ path = g_string_new(tmp);
+ } else {
+ g_string_append_printf(path, fmt, tmp);
+ }
+ }
+ }
+
+ MP_CHECK(path);
+
+ app_control_h service = NULL;
+ app_control_create(&service);
+ app_control_add_extra_data(service, APP_CONTROL_DATA_PATH, path->str);
+ app_control_add_extra_data(service, APP_CONTROL_DATA_SELECTED,
+ path->str);
+
+ app_control_reply_to_launch_request(service, ld->ad->service,
+ APP_CONTROL_RESULT_SUCCEEDED);
+
+ ld->destroy_timer = ecore_timer_add(0.1, _destroy_timer_cb, ld);
+
+ app_control_destroy(service);
+
+ g_string_free(path, TRUE);
+
+}
+
+static void _mc_track_list_select_all_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ startfunc;
+
+ group_play_list_data_t *ld = data;
+ Elm_Object_Item *item;
+ MP_CHECK(ld);
+
+ Eina_Bool all_selected = EINA_FALSE;
+
+ item = elm_genlist_first_item_get(ld->genlist);
+
+ while (item) {
+ list_item_data_t *it_data = elm_object_item_data_get(item);
+ if (it_data != NULL) {
+ if (!it_data->checked) {
+ all_selected = EINA_TRUE;
+ break;
+ }
+ }
+ item = elm_genlist_item_next_get(item);
+ }
+
+ item = elm_genlist_first_item_get(ld->genlist);
+ while (item) {
+ list_item_data_t *it_data = elm_object_item_data_get(item);
+ if (it_data)
+ it_data->checked = all_selected;
+
+ elm_genlist_item_fields_update(item, "elm.edit.icon.1",
+ ELM_GENLIST_ITEM_FIELD_CONTENT);
+ item = elm_genlist_item_next_get(item);
+ }
+ if (ld->btn_done) {
+ if (_get_select_count(ld) && all_selected) {
+ elm_object_item_disabled_set(ld->btn_done, false);
+ } else {
+ elm_object_item_disabled_set(ld->btn_done, true);
+ }
+ }
+}
+
+
+Evas_Object *mc_group_play_list_create(Evas_Object * parent,
+ struct app_data *ad)
+{
+ startfunc;
+ Evas_Object *layout;
+ group_play_list_data_t *ld = NULL;
+
+ MP_CHECK_NULL(parent);
+ MP_CHECK_NULL(ad);
+
+ layout = elm_layout_add(parent);
+ elm_layout_theme_set(layout, "layout", "application", "default");
+ MP_CHECK_NULL(layout);
+
+ ld = calloc(1, sizeof(group_play_list_data_t));
+ MP_CHECK_NULL(ld);
+
+ ld->ad = ad;
+
+ evas_object_data_set(layout, "list_data", ld);
+ evas_object_event_callback_add(layout, EVAS_CALLBACK_FREE,
+ _layout_del_cb, ld);
+
+ ld->itc.func.content_get = _gl_content_get;
+ ld->itc.item_style = "2text.1icon.4";
+ ld->itc.func.text_get = _gl_text_get;
+ ld->itc.func.del = _gl_del;
+ ld->itc.decorate_all_item_style = "edit_default";
+
+ return layout;
+}
+
+int mc_group_play_list_update(Evas_Object * list,
+ Elm_Object_Item * navi_it)
+{
+ startfunc;
+ Evas_Object *content;
+
+ int count = 0;
+ group_play_list_data_t *ld = GET_LIST_DATA(list);
+ MP_CHECK_VAL(ld, -1);
+
+ struct app_data *ad = ld->ad;
+ MP_CHECK_VAL(ad, -1);
+
+ ld->win_navi_it = navi_it;
+
+ DEBUG_TRACE("add done button");
+ Evas_Object *toolbar =
+ mc_widget_create_naviframe_toolbar(ld->win_navi_it);
+ ld->btn_done =
+ mc_widget_create_toolbar_item_btn(toolbar,
+ "naviframe/toolbar/default",
+ GET_SYS_STR("IDS_COM_POP_DONE"),
+ _done_cb, ld);
+
+ elm_object_item_disabled_set(ld->btn_done, true);
+
+ Evas_Object *ic;
+ Evas_Object *select_btn = elm_button_add(ad->navi_bar);
+ elm_object_style_set(select_btn, "naviframe/title_icon");
+ ic = elm_icon_add(ad->navi_bar);
+
+ char image_path[1024] = { 0 };
+ char *path = app_get_resource_path();
+ MP_CHECK_VAL(path, -1);
+ snprintf(image_path, 1024, "%s%s/%s", path, "edje", IMAGE_EDJ_NAME);
+ elm_image_file_set(ic, image_path, "00_icon_edit.png");
+ free(path);
+
+ evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1,
+ 1);
+ elm_image_resizable_set(ic, EINA_TRUE, EINA_TRUE);
+ elm_object_part_content_set(select_btn, "icon", ic);
+ evas_object_smart_callback_add(select_btn, "clicked",
+ _mc_track_list_select_all_cb, ld);
+
+ evas_object_show(select_btn);
+ elm_object_item_part_content_set(ld->win_navi_it, "title_right_btn",
+ select_btn);
+
+ if (ld->track_list) {
+ mp_media_info_list_destroy(ld->track_list);
+ ld->track_list = NULL;
+ }
+
+ content = elm_layout_content_get(list, "elm.swallow.content");
+ evas_object_del(content);
+
+ mp_media_info_list_count(MP_TRACK_BY_GROUP_PLAY, NULL, NULL, NULL, 0,
+ &count);
+ if (count) {
+ ld->genlist = content = _mc_create_genlist(list);
+ mp_media_info_list_create(&ld->track_list, MP_TRACK_BY_GROUP_PLAY,
+ NULL, NULL, NULL, 0, 0, count);
+ int i = 0;
+ for (i = 0; i < count; i++) {
+ mp_media_info_h media =
+ mp_media_info_list_nth_item(ld->track_list, i);
+ list_item_data_t *data = calloc(1, sizeof(list_item_data_t));
+ if (data) {
+ data->media = media;
+
+ elm_genlist_item_append(content, &ld->itc, data, NULL,
+ ELM_GENLIST_ITEM_NONE, _gl_sel_cb,
+ ld);
+ }
+ }
+ } else {
+ content = mc_widget_no_content_add(list, NO_CONTENT_SONG);
+ }
+
+ elm_layout_content_set(list, "elm.swallow.content", content);
+
+ return 0;
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include "mc-index.h"
+#include "mc-debug.h"
+#include "mc-track-list.h"
+#include <system_settings.h>
+
+static char *non_latin_lan[] = {
+ "ar_AE.UTF-8",
+ "as_IN.UTF-8",
+ "bg_BG.UTF-8",
+ "bn_IN.UTF-8",
+ "el_GR.UTF-8",
+ "fa_IR.UTF-8",
+ "gu_IN.UTF-8",
+ "he_IL.UTF-8",
+ "hi_IN.UTF-8",
+ "hy_AM.UTF-8",
+ "ja_JP.UTF-8",
+ "ka_GE.UTF-8",
+ "kk_KZ.UTF-8",
+ "km_KH.UTF-8",
+ "kn_IN.UTF-8",
+ "ko_KR.UTF-8",
+ "lo_LA.UTF-8",
+ "mk_MK.UTF-8",
+ "ml_IN.UTF-8",
+ "mn_MN.UTF-8",
+ "mr_IN.UTF-8",
+ "ne_NP.UTF-8",
+ "or_IN.UTF-8",
+ "pa_IN.UTF-8",
+ "ru_RU.UTF-8",
+ "si_LK.UTF-8",
+ "ta_IN.UTF-8",
+ "te_IN.UTF-8",
+ "th_TH.UTF-8",
+ "uk_UA.UTF-8",
+ "ur_PK.UTF-8",
+ "zh_TW.UTF-8",
+ NULL
+};
+
+typedef struct {
+ char *first;
+ Eina_Bool multiple_selection;
+} MpIndexData_t;
+
+#define GET_WIDGET_DATA(o) evas_object_data_get(o, "widget_d");
+static const char *_mc_list_item_get_label(Elm_Object_Item * event_info)
+{
+ char *title = NULL;
+
+ list_item_data_t *item_data = elm_object_item_data_get(event_info);
+ if (!item_data || item_data->list_type > MC_FOLDER_TRACK) {
+ return NULL;
+ }
+ if ((item_data->list_type == MC_TRACK)
+ || (item_data->list_type == MC_ALBUM_TRACK)
+ || (item_data->list_type == MC_ARTIST_TRACK)
+ || (item_data->list_type == MC_FOLDER_TRACK)) {
+ mp_media_info_get_title(item_data->media, &title);
+ } else if ((item_data->list_type == MC_ALBUM)
+ || (item_data->list_type == MC_ARTIST)
+ || (item_data->list_type == MC_FOLDER)) {
+ mp_media_info_group_get_main_info(item_data->media, &title);
+ }
+ return title;
+}
+
+static gchar *_mc_util_get_utf8_initial(const char *name)
+{
+ gunichar first;
+ char *next = NULL;
+ MP_CHECK_NULL(name);
+
+ if (g_utf8_strlen(name, -1) <= 0) {
+ return strdup("");
+ }
+
+ first = g_utf8_get_char_validated(name, g_utf8_strlen(name, -1));
+ if (first == (gunichar) - 1 || first == (gunichar) - 2) {
+ DEBUG_TRACE
+ ("failed to convert a sequence of bytes encoded as UTF-8 to a Unicode character.");
+ return strdup("");
+ }
+
+ next = (char *) name;
+
+ while (!g_unichar_isgraph(first)) {
+ next = g_utf8_next_char(next);
+ first = g_utf8_get_char_validated(next, g_utf8_strlen(name, -1));
+ if (first == (gunichar) - 1 || first == (gunichar) - 2) {
+ DEBUG_TRACE
+ ("failed to convert a sequence of bytes encoded as UTF-8 to a Unicode character.");
+ return strdup("");
+ }
+ }
+
+ if (first >= 0xAC00 && first <= 0xD7A3) {
+ //korean
+ int index = 0;
+ index = ((((first - 0xAC00) - ((first - 0xAC00) % 28)) / 28) / 21);
+ if (index < 20 && index >= 0) {
+ const gunichar chosung[20] = {
+ 0x3131, 0x3132, 0x3134, 0x3137, 0x3138,
+ 0x3139, 0x3141, 0x3142, 0x3143, 0x3145,
+ 0x3146, 0x3147, 0x3148, 0x3149, 0x314a,
+ 0x314b, 0x314c, 0x314d, 0x314e, 0
+ };
+
+ gchar result[10] = { 0, };
+ int len = 0;
+ len = g_unichar_to_utf8(chosung[index], result);
+ return strndup(result, len + 1);
+ }
+ } else {
+ gchar result[10] = { 0, };
+ int len = 0;
+ len = g_unichar_to_utf8(first, result);
+ return strndup(result, len + 1);
+ }
+ return NULL;
+}
+
+static void
+_index_selected_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ Elm_Object_Item *item = (Elm_Object_Item *) event_info;
+
+ elm_index_item_selected_set(item, EINA_FALSE);
+}
+
+static void
+_mc_index_item_selected_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ startfunc;
+ const char *index_letter = NULL, *label = NULL;
+ Evas_Object *genlist = (Evas_Object *) data;
+ MP_CHECK(genlist);
+
+ MpIndexData_t *wd = GET_WIDGET_DATA(obj);
+ MP_CHECK(wd);
+
+ index_letter = elm_index_item_letter_get(event_info);
+ MP_CHECK(index_letter);
+
+ Elm_Object_Item *gl_item = elm_genlist_first_item_get(genlist);
+ if (wd->multiple_selection) {
+ gl_item = elm_genlist_item_next_get(gl_item);
+ }
+ while (gl_item) {
+ char *uni = NULL;
+ label = _mc_list_item_get_label(gl_item);
+ if (!label) {
+ gl_item = elm_genlist_item_next_get(gl_item);
+ continue;
+ }
+
+ uni = _mc_util_get_utf8_initial(label);
+ if (uni == NULL) {
+ ERROR_TRACE("ERROR :label is not found");
+ return;
+ }
+ if (!g_strcmp0(index_letter, wd->first)) {
+ if (uni[0] < 'A' || uni[0] > 'z') {
+ elm_genlist_item_bring_in(gl_item,
+ ELM_GENLIST_ITEM_SCROLLTO_TOP);
+ IF_FREE(uni);
+ break;
+ }
+ }
+
+ if (!strcasecmp(uni, index_letter)) {
+ elm_genlist_item_bring_in(gl_item,
+ ELM_GENLIST_ITEM_SCROLLTO_TOP);
+ IF_FREE(uni);
+ break;
+ } else {
+ char *capital = g_utf8_strup(uni, -1);
+ if (!capital) {
+ IF_FREE(uni);
+ continue;
+ }
+
+ if (capital[0] > index_letter[0]) { //move to most close item
+ elm_genlist_item_bring_in(gl_item,
+ ELM_GENLIST_ITEM_SCROLLTO_TOP);
+ IF_FREE(uni);
+ IF_FREE(capital);
+ break;
+ }
+ IF_FREE(capital);
+ }
+ gl_item = elm_genlist_item_next_get(gl_item);
+ IF_FREE(uni);
+ }
+}
+
+Eina_Bool ea_locale_latin_get(const char *locale)
+{
+ if (!locale) {
+ return EINA_FALSE;
+ }
+
+ int i = 0;
+
+ while (non_latin_lan[i]) {
+ if (!strcmp(non_latin_lan[i], locale)) {
+ return EINA_FALSE;
+ }
+ i++;
+ }
+ return EINA_TRUE;
+}
+
+
+static void _mp_fastscoller_append_item(void *data, Evas_Object * obj)
+{
+ int i = 0, j, len;
+ char *str = NULL;
+ char buf[PATH_MAX] = { 0, };
+ Eina_Unicode uni;
+ char *locale = NULL;
+ Evas_Object *list = (Evas_Object *) data;
+ MP_CHECK(obj);
+ elm_index_item_clear(obj);
+
+ MpIndexData_t *wd = GET_WIDGET_DATA(obj);
+ MP_CHECK(wd);
+ //1. Special character & Numbers
+ elm_index_item_append(obj, "#", _mc_index_item_selected_cb, list);
+ if (!wd->first) {
+ wd->first = g_strdup("#");
+ }
+ //2. Local language
+ str =
+ dgettext("efl-extension",
+ "IDS_EA_BODY_ABCDEFGHIJKLMNOPQRSTUVWXYZ");
+ MP_CHECK(str);
+ len = strlen(str);
+ if (len == 0) {
+ return;
+ }
+ while (i < len) {
+ j = i;
+ uni = eina_unicode_utf8_next_get(str, &i);
+ MP_CHECK(uni);
+ snprintf(buf, i - j + 1, "%s", str + j);
+ buf[i - j + 1] = 0;
+
+ elm_index_item_append(obj, buf, _mc_index_item_selected_cb, list);
+ //elm_index_item_priority_set(it, 0);
+ }
+
+ //3. English - in case of non-latin
+ int retcode =
+ system_settings_get_value_string
+ (SYSTEM_SETTINGS_KEY_LOCALE_LANGUAGE, &locale);
+ MP_CHECK(locale);
+ if (retcode != SYSTEM_SETTINGS_ERROR_NONE) {
+ ERROR_TRACE
+ ("Unable to fetch the current language setting with return value %d",
+ retcode);
+ }
+ if (!ea_locale_latin_get(locale)) {
+ str =
+ dgettext("efl-extension",
+ "IDS_EA_BODY_ABCDEFGHIJKLMNOPQRSTUVWXYZ_SECOND");
+ MP_CHECK(str);
+ len = strlen(str);
+
+ i = 0;
+ while (i < len) {
+ j = i;
+ uni = eina_unicode_utf8_next_get(str, &i);
+ MP_CHECK(uni);
+ snprintf(buf, i - j + 1, "%s", str + j);
+ buf[i - j + 1] = 0;
+
+ elm_index_item_append(obj, buf, _mc_index_item_selected_cb,
+ list);
+ //elm_index_item_priority_set(it, 1);
+ }
+
+ setlocale(LC_MESSAGES, locale);
+ }
+ IF_FREE(locale);
+
+}
+
+static void _append_item(Evas_Object * index, Evas_Object * list)
+{
+ _mp_fastscoller_append_item((void *) list, index);
+ elm_index_level_go(index, 0);
+ evas_object_smart_callback_add(index, "changed",
+ _mc_index_item_selected_cb, list);
+ evas_object_smart_callback_add(index, "selected", _index_selected_cb,
+ NULL);
+}
+
+static Evas_Object *_create_fastscroll(Evas_Object * parent)
+{
+ Evas_Object *index;
+ index = elm_index_add(parent);
+ elm_index_omit_enabled_set(index, EINA_TRUE);
+ return index;
+}
+
+static void
+_widget_del_cb(void *data, Evas * e, Evas_Object * obj, void *event_info)
+{
+ startfunc;
+ MpIndexData_t *wd = data;
+ MP_CHECK(wd);
+ IF_G_FREE(wd->first);
+ IF_FREE(wd);
+}
+
+void _language_changed(void *data, Evas_Object * obj, void *event_info)
+{
+ MP_CHECK(data);
+ MP_CHECK(obj);
+ _mp_fastscoller_append_item(data, obj);
+ elm_index_level_go(obj, 0);
+ evas_object_smart_callback_add(obj, "changed",
+ _mc_index_item_selected_cb,
+ (Evas_Object *) data);
+ evas_object_smart_callback_add(obj, "selected", _index_selected_cb,
+ NULL);
+}
+
+Evas_Object *mc_index_create(Evas_Object * parent, int group_type,
+ void *data)
+{
+ Evas_Object *index = NULL;
+ MpIndexData_t *wd = NULL;
+ Evas_Object *list = (Evas_Object *) data;
+ MP_CHECK_NULL(list);
+
+ // Create index
+ index = _create_fastscroll(parent);
+ elm_index_autohide_disabled_set(index, EINA_TRUE);
+
+ wd = calloc(1, sizeof(MpIndexData_t));
+ if (!wd) {
+ ERROR_TRACE("Error: memory alloc failed");
+ evas_object_del(index);
+ return NULL;
+ }
+
+ if (group_type == 1) {
+ wd->multiple_selection = EINA_TRUE;
+ } else {
+ wd->multiple_selection = EINA_FALSE;
+ }
+
+ evas_object_data_set(index, "widget_d", wd);
+
+ evas_object_event_callback_add(index, EVAS_CALLBACK_FREE,
+ _widget_del_cb, wd);
+ //language change the fast scroll language will change too
+ evas_object_smart_callback_add(index, "language,changed",
+ _language_changed, list);
+ return index;
+}
+
+void mc_index_append_item(Evas_Object * index, Evas_Object * list)
+{
+ MP_CHECK(list);
+ _append_item(index, list);
+ elm_index_level_go(index, 0);
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include "mc-library-view.h"
+#include "mc-track-list.h"
+#include "mc-voice-clip-list.h"
+#include "mc-group-list.h"
+#include "mc-group-play-list.h"
+#include "mc-common.h"
+#include "mc-search-view.h"
+#include <efl_extension.h>
+
+typedef struct {
+ struct app_data *ad;
+
+ Evas_Object *toolbar;
+ Evas_Object *list;
+
+} lib_view_data_t;
+
+enum {
+ TAB_ALL,
+ TAB_ALBUM,
+ TAB_ARTIST,
+ TAB_MAX,
+};
+
+static Elm_Object_Item *g_tab_item[TAB_MAX];
+static Evas_Object *g_ly;
+static Elm_Object_Item *g_navi_it;
+extern bool detail_view;
+
+Evas_Object *mc_tabbar;
+
+static void _all_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ startfunc;
+ struct app_data *ad = data;
+ MP_CHECK(ad);
+ mc_common_obj_domain_text_translate(ad->navi_bar,
+ mc_create_selectioninfo_text_with_count
+ (0));
+ Evas_Object *sub_view;
+ if (detail_view) {
+ elm_naviframe_item_pop(ad->navi_bar);
+ ad->track_type = MP_TRACK_ALL;
+ detail_view = false;
+ mc_library_view_create(ad);
+ return;
+ }
+
+
+ sub_view = elm_object_part_content_unset(g_ly, "list-content");
+ evas_object_del(sub_view);
+
+ MP_CHECK(g_ly);
+
+ sub_view = mc_track_list_create(g_ly, ad);
+ mc_track_list_set_data(sub_view, MP_TRACK_ALL, NULL, 0);
+ mc_track_list_update(sub_view, g_navi_it, NULL);
+
+ elm_object_part_content_set(g_ly, "list-content", sub_view);
+ evas_object_show(sub_view);
+ eext_object_event_callback_add(sub_view, EEXT_CALLBACK_BACK,
+ mc_eext_quit_cb, ad);
+ endfunc;
+}
+
+#ifdef MC_ENABLE_TAB
+static void _artist_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ startfunc;
+ struct app_data *ad = data;
+ MP_CHECK(ad);
+ mc_common_obj_domain_text_translate(ad->navi_bar,
+ mc_create_selectioninfo_text_with_count
+ (0));
+ Evas_Object *sub_view;
+ if (detail_view) {
+ elm_naviframe_item_pop(ad->navi_bar);
+ ad->track_type = MP_TRACK_BY_ARTIST;
+ detail_view = false;
+ mc_library_view_create(ad);
+ return;
+ }
+
+ sub_view = elm_object_part_content_unset(g_ly, "list-content");
+ evas_object_del(sub_view);
+
+ sub_view = mc_group_list_create(g_ly, ad, g_navi_it);
+ mc_group_list_set_data(sub_view, MP_GROUP_BY_ARTIST, NULL);
+ mc_group_list_update(sub_view);
+
+ elm_object_part_content_set(g_ly, "list-content", sub_view);
+ evas_object_show(sub_view);
+ eext_object_event_callback_add(sub_view, EEXT_CALLBACK_BACK,
+ mc_eext_quit_cb, ad);
+ endfunc;
+}
+#endif
+
+static void _album_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ startfunc;
+ struct app_data *ad = data;
+ MP_CHECK(ad);
+ mc_common_obj_domain_text_translate(ad->navi_bar,
+ mc_create_selectioninfo_text_with_count
+ (0));
+ Evas_Object *sub_view;
+ if (detail_view) {
+ elm_naviframe_item_pop(ad->navi_bar);
+ ad->track_type = MP_TRACK_BY_ALBUM;
+ detail_view = false;
+ mc_library_view_create(ad);
+ return;
+ }
+
+ sub_view = elm_object_part_content_unset(g_ly, "list-content");
+ evas_object_del(sub_view);
+
+ sub_view = mc_group_list_create(g_ly, ad, g_navi_it);
+ mc_group_list_set_data(sub_view, MP_GROUP_BY_ALBUM, NULL);
+ mc_group_list_update(sub_view);
+
+ elm_object_part_content_set(g_ly, "list-content", sub_view);
+ evas_object_show(sub_view);
+ eext_object_event_callback_add(sub_view, EEXT_CALLBACK_BACK,
+ mc_eext_quit_cb, ad);
+ endfunc;
+}
+
+Evas_Object *_create_tabbar(Evas_Object * parent, struct app_data * ad)
+{
+ startfunc;
+ int selected_tab;
+ MP_CHECK_NULL(parent);
+ MP_CHECK_NULL(ad);
+ Evas_Object *obj = NULL;
+
+ /* create toolbar */
+ obj = elm_toolbar_add(parent);
+ if (obj == NULL) {
+ return NULL;
+ }
+ elm_toolbar_shrink_mode_set(obj, ELM_TOOLBAR_SHRINK_SCROLL);
+ elm_toolbar_reorder_mode_set(obj, EINA_FALSE);
+ elm_toolbar_transverse_expanded_set(obj, EINA_TRUE);
+ elm_toolbar_select_mode_set(obj, ELM_OBJECT_SELECT_MODE_ALWAYS);
+
+ char mc_edj_path[1024] = { 0 };
+ char *path = app_get_resource_path();
+ MP_CHECK_NULL(path);
+ snprintf(mc_edj_path, 1024, "%s%s", path, MC_EDJ_FILE);
+ free(path);
+ elm_theme_extension_add(NULL, mc_edj_path);
+ elm_object_style_set(obj, "scroll/tabbar");
+// elm_object_style_set(obj, "tabbar/item_with_title");
+
+ if (ad->track_type == MP_TRACK_BY_ALBUM) {
+ selected_tab = TAB_ALBUM;
+ } else if (ad->track_type == MP_TRACK_BY_ARTIST) {
+ selected_tab = TAB_ARTIST;
+ } else {
+ selected_tab = TAB_ALL;
+ }
+
+ g_tab_item[TAB_ALL] =
+ mc_common_toolbar_item_append(obj, NULL, MC_TEXT_ALL, _all_cb, ad);
+ g_tab_item[TAB_ALBUM] =
+ mc_common_toolbar_item_append(obj, NULL, MC_TEXT_ALBUMS, _album_cb,
+ ad);
+#ifdef MC_ENABLE_TAB
+ g_tab_item[TAB_ARTIST] =
+ mc_common_toolbar_item_append(obj, NULL, MC_TEXT_ARTISTS,
+ _artist_cb, ad);
+#endif
+
+ elm_toolbar_item_selected_set(g_tab_item[selected_tab], EINA_TRUE);
+
+ evas_object_show(obj);
+
+ endfunc;
+ return obj;
+}
+
+void mc_create_search_view_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ startfunc;
+
+ struct app_data *ad = data;
+ MP_CHECK(ad);
+
+ search_view_data_t *search = mc_search_view_create(g_ly, ad);
+ MP_CHECK(search);
+ mc_search_view_update_options(search);
+}
+
+static void mc_common_item_domain_text_translate(Elm_Object_Item * item,
+ const char *part,
+ const char *label)
+{
+ elm_object_item_domain_translatable_part_text_set(item, part,
+ DOMAIN_NAME,
+ (const char *)
+ label);
+}
+
+void mc_library_view_create(struct app_data *ad)
+{
+ startfunc;
+
+ if (ad->select_type == MC_SELECT_VOICE_CLIP) {
+ g_ly = mc_voice_clip_list_create(ad->navi_bar, ad);
+ g_navi_it =
+ elm_naviframe_item_push(ad->navi_bar, NULL, NULL, NULL, g_ly,
+ NULL);
+
+ mc_voice_clip_list_update(g_ly);
+ evas_object_show(g_ly);
+ } else if (ad->select_type == MC_SELECT_GROUP_PLAY) {
+ g_ly = mc_group_play_list_create(ad->navi_bar, ad);
+ g_navi_it =
+ elm_naviframe_item_push(ad->navi_bar, NULL, NULL, NULL, g_ly,
+ NULL);
+
+ mc_group_play_list_update(g_ly, g_navi_it);
+ evas_object_show(g_ly);
+ } else {
+ //g_ly = elm_layout_add(ad->navi_bar);
+ //elm_layout_theme_set(g_ly, "layout", "application", "default");
+ char mc_edj_path[1024] = { 0 };
+ char *path = app_get_resource_path();
+ if (path == NULL) {
+ return;
+ }
+ snprintf(mc_edj_path, 1024, "%s%s", path, MC_EDJ_FILE);
+ free(path);
+ g_ly =
+ mc_common_load_edj(ad->navi_bar, mc_edj_path,
+ "view_layout_tabbar");
+ g_navi_it =
+ elm_naviframe_item_push(ad->navi_bar, NULL, NULL, NULL, g_ly,
+ NULL);
+#if 0
+ Evas_Object *search_btn = NULL;
+ search_btn =
+ mc_widget_create_title_icon_btn(g_ly, IMAGE_EDJ_NAME,
+ MP_ICON_SEARCH,
+ (Evas_Smart_Cb)
+ mc_create_search_view_cb, ad);
+ elm_object_item_part_content_set(g_navi_it, "title_right_btn",
+ search_btn);
+#endif
+
+ mc_tabbar = _create_tabbar(ad->navi_bar, ad);
+ elm_object_part_content_set(g_ly, "tabbar", mc_tabbar);
+
+#ifdef MC_AUTO_RECOMMENDED
+ if (ad->auto_recommended_show) {
+ elm_object_signal_emit(g_ly, "show.recommended", "*");
+ Evas_Object *recommended_area =
+ mc_common_load_edj(ad->navi_bar, mc_edj_path,
+ "recommended_area");
+ elm_object_part_content_set(g_ly, "recommended",
+ recommended_area);
+ mc_common_obj_domain_translatable_part_text_set
+ (recommended_area, "title_text",
+ MC_TEXT_SET_AS_AUTO_RECOMMEND);
+ mc_common_obj_domain_translatable_part_text_set
+ (recommended_area, "description_text",
+ MC_TEXT_SET_AS_RECOMMENDED_TXT);
+
+ /*add check box */
+ Evas_Object *check = elm_check_add(recommended_area);
+ elm_check_state_set(check, ad->auto_recommended_on);
+ elm_object_part_content_set(recommended_area, "check_box",
+ check);
+ evas_object_smart_callback_add(check, "changed",
+ mc_auto_recommended_check_cb,
+ ad);
+
+ evas_object_show(recommended_area);
+ }
+#endif
+ }
+
+ mc_common_item_domain_text_translate(g_navi_it, "elm.text.title",
+ MC_TEXT_SELECT);
+ elm_naviframe_item_pop_cb_set(g_navi_it, mc_quit_cb, ad);
+ endfunc;
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include "mc-list-play.h"
+#include "mc-common.h"
+
+static mc_player_cbs *g_player_cbs = NULL;
+static Ecore_Pipe *g_player_pipe = NULL;
+static player_h mc_player = NULL;
+list_item_data_t *previous_item_data = NULL;
+list_item_data_t *pre_item_data = NULL;
+list_item_data_t *cur_item_data = NULL;
+
+int g_position = 0;
+
+static void _mc_pre_play_mgr_play_new_uri(void *data);
+static void _mc_pre_play_mgr_realize_player_mgr(void *data);
+static void _mc_pre_play_mgr_create_player_mgr(const char *uri);
+static void _mc_pre_play_mgr_callback_pipe_handler(void *data,
+ void *buffer,
+ unsigned int nbyte);
+static void _mc_pre_play_mgr_create_player(player_h * player);
+static void _mc_pre_play_mgr_prepare_cb(void *userdata);
+static void _mc_pre_play_mgr_update_play_button_status(list_item_data_t *
+ item_data);
+static void _mc_pre_play_mgr_player_start();
+static void _mc_pre_play_mgr_player_pause();
+static void _mc_pre_play_mgr_player_stop();
+//static void _mc_pre_play_mgr_player_set_position(void *data, player_seek_completed_cb callback, void *cb_data);
+static void _mc_pre_play_mgr_player_unprepare();
+
+Evas_Object *g_popup;
+
+int mc_get_volume(sound_type_e type)
+{
+ startfunc;
+ int volume = 0;
+ sound_manager_get_volume(type, &volume);
+ endfunc;
+ return volume;
+}
+
+bool mc_player_mgr_is_active(void)
+{
+ return (mc_player != NULL) ? TRUE : FALSE;
+}
+
+player_state_e mc_pre_play_get_player_state(void)
+{
+ player_state_e state = PLAYER_STATE_NONE;
+
+ player_get_state(mc_player, &state);
+ return state;
+}
+
+void mc_pre_play_control_clear_pre_item_data()
+{
+ pre_item_data = NULL;
+ previous_item_data = NULL;
+}
+
+player_h mc_pre_play_mgr_get_player_handle(void)
+{
+ player_h player_handle = NULL;
+
+ if (mc_player_mgr_is_active()) {
+ return mc_player;
+ } else {
+ _mc_pre_play_mgr_create_player(&player_handle);
+ mc_player = player_handle;
+ return player_handle;
+ }
+}
+
+void mc_pre_play_mgr_reset_song(void *data)
+{
+ startfunc;
+ list_item_data_t *item_data = (list_item_data_t *) data;
+ MP_CHECK(item_data);
+
+ _mc_pre_play_mgr_player_stop();
+ DEBUG_TRACE("update reset song item_data =%x, item_data", item_data);
+ item_data->state = PLAYER_STATE_NONE;
+ elm_genlist_item_fields_update(item_data->it,
+ MC_PRE_PLAY_BUTTON_PART_NAME,
+ ELM_GENLIST_ITEM_FIELD_CONTENT);
+ DEBUG_TRACE("update reset song item_data =%x, state=%d", item_data,
+ item_data->state);
+ _mc_pre_play_mgr_player_unprepare();
+
+ return;
+}
+
+void mc_pre_play_mgr_reset_song_without_stop(void *data)
+{
+ startfunc;
+ list_item_data_t *item_data = (list_item_data_t *) data;
+ MP_CHECK(item_data);
+
+ if (mc_player) {
+ int error_code = player_destroy(mc_player);
+ if (error_code) {
+ DEBUG_TRACE("player destroy error %d", error_code);
+ }
+ mc_player = NULL;
+ }
+
+ if (item_data) {
+ item_data->state = PLAYER_STATE_NONE;
+ _mc_pre_play_mgr_update_play_button_status(item_data);
+ }
+}
+
+void mc_pre_play_mgr_destroy_play(void)
+{
+ MP_CHECK(mc_player);
+ player_state_e state = PLAYER_STATE_NONE;
+ int error_code = 0;
+
+ player_get_state(mc_player, &state);
+ if (PLAYER_STATE_NONE != state) {
+ player_stop(mc_player);
+ error_code = player_destroy(mc_player);
+ if (error_code) {
+ DEBUG_TRACE("player destroy error %d", error_code);
+ }
+ }
+ mc_player = NULL;
+
+ MP_CHECK(cur_item_data);
+ if (cur_item_data) {
+ _mc_pre_play_mgr_update_play_button_status(cur_item_data);
+ }
+
+ return;
+}
+
+void mc_pre_play_mgr_play_control(void *data)
+{
+ startfunc;
+ list_item_data_t *item_data = (list_item_data_t *) data;
+ player_state_e state = PLAYER_STATE_NONE;
+
+ MP_CHECK(mc_player);
+ player_get_state(mc_player, &state);
+ DEBUG_TRACE("mh_pre_play_mgr_play_control state = %d", state);
+
+ if (PLAYER_STATE_PLAYING == state) {
+ _mc_pre_play_mgr_player_pause();
+ }
+
+ if (PLAYER_STATE_PAUSED == state) {
+ _mc_pre_play_mgr_player_start();
+ }
+ //after complete click again
+ if (PLAYER_STATE_IDLE == state) {
+ mc_pre_play_mgr_play_song(item_data);
+ }
+ _mc_pre_play_mgr_update_play_button_status(item_data);
+
+ return;
+}
+
+void mc_pre_play_mgr_play_song(void *data)
+{
+ list_item_data_t *item_data = (list_item_data_t *) data;
+ MP_CHECK(item_data);
+
+ DEBUG_TRACE("item_data = %x", item_data);
+ _mc_pre_play_mgr_play_new_uri(item_data);
+
+ return;
+}
+
+void mc_player_pause(void)
+{
+ startfunc;
+ MP_CHECK(mc_player);
+ MP_CHECK(cur_item_data);
+
+ player_state_e play_status = mc_pre_play_get_player_state();
+
+ if (PLAYER_STATE_PLAYING == play_status) {
+ _mc_pre_play_mgr_player_pause();
+ }
+ _mc_pre_play_mgr_update_play_button_status(cur_item_data);
+}
+
+void mc_player_play(void)
+{
+ startfunc;
+ MP_CHECK(mc_player);
+ MP_CHECK(cur_item_data);
+
+ player_state_e play_status = mc_pre_play_get_player_state();
+
+ if (PLAYER_STATE_PLAYING == play_status) {
+ _mc_pre_play_mgr_player_start();
+ }
+ _mc_pre_play_mgr_update_play_button_status(cur_item_data);
+}
+
+static void _mc_pre_play_error(int ret)
+{
+ const char *message = NULL;
+
+ if (ret == PLAYER_ERROR_SOUND_POLICY) {
+ if (mc_is_call_connected()) {
+ message = STR_MP_UNABLE_TO_PLAY_DURING_CALL;
+ }
+ }
+ if (message) {
+ mc_post_status_message(GET_STR(message));
+ }
+}
+
+static void _mc_pre_play_mgr_player_start()
+{
+ startfunc;
+ int error_code = PLAYER_ERROR_NONE;
+ MP_CHECK(mc_player);
+
+ error_code = player_start(mc_player);
+ if (error_code) {
+ DEBUG_TRACE("play start error %d", error_code);
+ _mc_pre_play_error(error_code);
+ }
+
+ return;
+}
+
+static void _mc_pre_play_mgr_player_pause()
+{
+ startfunc;
+ int error_code = PLAYER_ERROR_NONE;
+ MP_CHECK(mc_player);
+
+ error_code = player_pause(mc_player);
+ if (error_code) {
+ DEBUG_TRACE("play pause error %d", error_code);
+ }
+ return;
+}
+
+static void _mc_pre_play_mgr_player_stop()
+{
+ startfunc;
+ int error_code = PLAYER_ERROR_NONE;
+ MP_CHECK(mc_player);
+
+ error_code = player_stop(mc_player);
+ if (error_code) {
+ DEBUG_TRACE("play stop error %d", error_code);
+ }
+ return;
+}
+
+static void _mc_pre_play_mgr_player_unprepare()
+{
+ startfunc;
+ int error_code = PLAYER_ERROR_NONE;
+ MP_CHECK(mc_player);
+
+ error_code = player_unprepare(mc_player);
+ if (error_code) {
+ DEBUG_TRACE("player_unprepare %d", error_code);
+ }
+
+ return;
+}
+
+static void _mc_pre_play_mgr_update_play_button_status(list_item_data_t *
+ item_data)
+{
+ //player_get_state(mc_player, &item_data->state);
+ MP_CHECK(item_data);
+ DEBUG_TRACE("get state = %d", item_data->state);
+ elm_genlist_item_fields_update(item_data->it,
+ MC_PRE_PLAY_BUTTON_PART_NAME,
+ ELM_GENLIST_ITEM_FIELD_CONTENT);
+
+ return;
+}
+
+static void _mc_pre_play_mgr_play_stop()
+{
+ player_state_e state = PLAYER_STATE_NONE;
+ int error_code = PLAYER_ERROR_NONE;
+
+ MP_CHECK(mc_player);
+ error_code = player_get_state(mc_player, &state);
+ if (PLAYER_ERROR_NONE == error_code) {
+ if ((PLAYER_STATE_PLAYING == state)
+ || (PLAYER_STATE_PAUSED == state)) {
+ _mc_pre_play_mgr_player_stop();
+ } else {
+ DEBUG_TRACE("player state error %d", state);
+ }
+ } else {
+ DEBUG_TRACE("_mc_pre_play_mgr_play_stop get state error %d",
+ error_code);
+ }
+
+ return;
+}
+
+static void _mc_pre_play_complete_cb(void *data)
+{
+ startfunc;
+ list_item_data_t *item_data = (list_item_data_t *) data;
+
+ _mc_pre_play_mgr_play_stop();
+
+ Evas_Object *part_content =
+ elm_object_item_part_content_get(item_data->it, "elm.icon.1");
+ if (part_content) {
+ elm_object_signal_emit(part_content, "show_default", "*");
+ elm_object_item_signal_emit(item_data->it, "hide_color", "*");
+ }
+
+ player_get_state(mc_player, &item_data->state);
+
+ _mc_pre_play_mgr_player_unprepare();
+
+ if (mc_player) {
+ mc_pre_play_mgr_destroy_play();
+ }
+
+ return;
+}
+
+static void _mc_pre_play_buffering_cb(int percent, void *userdata)
+{
+ DEBUG_TRACE("buffering percent = %d\%", percent);
+ list_item_data_t *item_data = (list_item_data_t *) userdata;
+ MP_CHECK(item_data);
+
+ if (100 == percent) {
+ _mc_pre_play_mgr_update_play_button_status(item_data);
+ }
+
+ return;
+}
+
+static void _mc_pre_play_interrupt_cb(player_interrupted_code_e code,
+ void *data)
+{
+ startfunc;
+ list_item_data_t *item_data = (list_item_data_t *) data;
+ player_state_e state = PLAYER_STATE_NONE;
+
+ switch (code) {
+ case PLAYER_INTERRUPTED_BY_RESOURCE_CONFLICT:
+ DEBUG_TRACE
+ ("Interrupt :: PLAYER_INTERRUPTED_BY_RESOURCE_CONFLICT");
+ break;
+ default:
+ break;
+ }
+
+ player_get_state(mc_player, &state);
+ DEBUG_TRACE("mc_pre_play_mgr_play_control state = %d", state);
+ item_data->state = state;
+
+ _mc_pre_play_mgr_update_play_button_status(item_data);
+
+ //mc_pre_play_mgr_play_control(item_data);
+
+ return;
+}
+
+static void _mc_pre_play_prepare_cb(void *data)
+{
+ startfunc;
+ list_item_data_t *item_data = (list_item_data_t *) data;
+ MP_CHECK(item_data);
+
+ player_get_state(mc_player, &item_data->state);
+ DEBUG_TRACE("player status = %d", item_data->state);
+
+ _mc_pre_play_mgr_player_start();
+ _mc_pre_play_mgr_update_play_button_status(item_data);
+
+ return;
+}
+
+static void _mc_pre_play_error_cb(int error_code, void *userdata)
+{
+ startfunc;
+ list_item_data_t *item_data = (list_item_data_t *) userdata;
+ MP_CHECK(item_data);
+ DEBUG_TRACE("error code %d", error_code);
+
+ switch (error_code) {
+ case PLAYER_ERROR_OUT_OF_MEMORY:
+ DEBUG_TRACE("PLAYER_ERROR_OUT_OF_MEMORY");
+ break;
+ case PLAYER_ERROR_INVALID_PARAMETER:
+ DEBUG_TRACE("PLAYER_ERROR_INVALID_PARAMETER");
+ break;
+ case PLAYER_ERROR_NOT_SUPPORTED_FILE:
+ DEBUG_TRACE("receive MM_ERROR_PLAYER_CODEC_NOT_FOUND\n");
+ break;
+ case PLAYER_ERROR_CONNECTION_FAILED:
+ DEBUG_TRACE("MM_ERROR_PLAYER_STREAMING_CONNECTION_FAIL");
+ break;
+ default:
+ DEBUG_TRACE("default: error_code: %d", error_code);
+ }
+
+ _mc_pre_play_mgr_play_stop();
+ _mc_pre_play_mgr_update_play_button_status(item_data);
+
+ return;
+}
+
+
+void mc_pre_play_mgr_set_completed_cb(player_completed_cb callback,
+ void *user_data)
+{
+ startfunc;
+ MP_CHECK(g_player_cbs);
+
+ g_player_cbs->completed_cb = callback;
+ g_player_cbs->user_data[MC_PLAYER_CB_TYPE_COMPLETED] = user_data;
+}
+
+void mc_pre_play_mgr_set_interrupt_cb(player_interrupted_cb callback,
+ void *user_data)
+{
+ startfunc;
+ MP_CHECK(g_player_cbs);
+
+ g_player_cbs->interrupted_cb = callback;
+ g_player_cbs->user_data[MC_PLAYER_CB_TYPE_INTURRUPTED] = user_data;
+}
+
+void mc_pre_play_mgr_set_error_cb(player_error_cb callback,
+ void *user_data)
+{
+ startfunc;
+ MP_CHECK(g_player_cbs);
+
+ g_player_cbs->error_cb = callback;
+ g_player_cbs->user_data[MC_PLAYER_CB_TYPE_ERROR] = user_data;
+}
+
+void mc_pre_play_mgr_set_buffering_cb(player_error_cb callback,
+ void *user_data)
+{
+ startfunc;
+ MP_CHECK(g_player_cbs);
+
+ g_player_cbs->buffering_cb = callback;
+ g_player_cbs->user_data[MC_PLAYER_CB_TYPE_BUFFERING] = user_data;
+}
+
+void mc_pre_play_mgr_set_prepare_cb(player_prepared_cb callback,
+ void *user_data)
+{
+ startfunc;
+ MP_CHECK(g_player_cbs);
+
+ g_player_cbs->prepare_cb = callback;
+ g_player_cbs->user_data[MC_PLAYER_CB_TYPE_PREPARE] = user_data;
+}
+
+static void _mc_pre_play_mgr_play_new_uri(void *data)
+{
+ startfunc;
+ list_item_data_t *item_data = (list_item_data_t *) data;
+ MP_CHECK(item_data);
+ char *uri = NULL;
+ mp_media_info_h media_handle = NULL;
+
+ media_handle = (mp_media_info_h) item_data->media;
+ mp_media_info_get_file_path(media_handle, &uri);
+ DEBUG_TRACE("uri = %s", uri);
+
+ if (NULL == uri) {
+ DEBUG_TRACE("play uri fail, get null uri");
+ return;
+ } else {
+ DEBUG_TRACE("play uri, get uri = %s", uri);
+
+ _mc_pre_play_mgr_create_player_mgr(uri);
+ // TEMP_BLOCK
+ //player_set_safety_volume(mc_player);
+
+ //mc_player_mgr_set_started_cb(__mf_mc_list_play_start_cb, itemData);
+ //mc_pre_play_mgr_set_paused_cb(_mc_list_play_paused_cb, item_data);
+ mc_pre_play_mgr_set_completed_cb(_mc_pre_play_complete_cb,
+ item_data);
+ mc_pre_play_mgr_set_interrupt_cb(_mc_pre_play_interrupt_cb,
+ item_data);
+ mc_pre_play_mgr_set_prepare_cb(_mc_pre_play_prepare_cb, item_data);
+ mc_pre_play_mgr_set_error_cb(_mc_pre_play_error_cb, item_data);
+ mc_pre_play_mgr_set_buffering_cb(_mc_pre_play_buffering_cb,
+ item_data);
+
+ _mc_pre_play_mgr_realize_player_mgr(item_data);
+ }
+ _mc_pre_play_mgr_update_play_button_status(item_data);
+
+ return;
+}
+
+static void _mc_pre_play_mgr_realize_player_mgr(void *data)
+{
+ startfunc;
+ list_item_data_t *item_data = (list_item_data_t *) data;
+ player_state_e state = PLAYER_STATE_NONE;
+ int error = PLAYER_ERROR_NONE;
+
+ if (mc_player != NULL) {
+ error = player_get_state(mc_player, &state);
+ item_data->state = state;
+ if ((PLAYER_ERROR_NONE == error) && (PLAYER_STATE_IDLE == state)) {
+ DEBUG_TRACE("prepare async");
+ if (player_prepare_async
+ (mc_player, _mc_pre_play_mgr_prepare_cb, item_data)) {
+ DEBUG_TRACE("prepare err");
+ }
+ }
+ }
+
+ return;
+}
+
+static void _mc_pre_play_mgr_prepare_cb(void *userdata)
+{
+ startfunc;
+ MP_CHECK(g_player_pipe);
+
+ mc_player_cb_extra_data extra_data;
+ memset(&extra_data, 0x00, sizeof(mc_player_cb_extra_data));
+ extra_data.cb_type = MC_PLAYER_CB_TYPE_PREPARE;
+
+ ecore_pipe_write(g_player_pipe, &extra_data,
+ sizeof(mc_player_cb_extra_data));
+ return;
+}
+
+static void _mc_pre_play_mgr_completed_cb(void *userdata)
+{
+ startfunc;
+ MP_CHECK(g_player_pipe);
+
+ mc_player_cb_extra_data extra_data;
+ memset(&extra_data, 0x00, sizeof(mc_player_cb_extra_data));
+ extra_data.cb_type = MC_PLAYER_CB_TYPE_COMPLETED;
+
+ ecore_pipe_write(g_player_pipe, &extra_data,
+ sizeof(mc_player_cb_extra_data));
+}
+
+static void _mc_pre_play_mgr_interrupt_cb(player_interrupted_code_e code,
+ void *userdata)
+{
+ startfunc;
+ MP_CHECK(g_player_pipe);
+
+ mc_player_cb_extra_data extra_data;
+ memset(&extra_data, 0x00, sizeof(mc_player_cb_extra_data));
+ extra_data.cb_type = MC_PLAYER_CB_TYPE_INTURRUPTED;
+ extra_data.param.interrupted_code = code;
+
+ ecore_pipe_write(g_player_pipe, &extra_data,
+ sizeof(mc_player_cb_extra_data));
+}
+
+static void _mc_pre_play_mgr_error_cb(int error_code, void *userdata)
+{
+ startfunc;
+ MP_CHECK(g_player_pipe);
+
+ mc_player_cb_extra_data extra_data;
+ memset(&extra_data, 0x00, sizeof(mc_player_cb_extra_data));
+ extra_data.cb_type = MC_PLAYER_CB_TYPE_ERROR;
+ extra_data.param.error_code = error_code;
+
+ ecore_pipe_write(g_player_pipe, &extra_data,
+ sizeof(mc_player_cb_extra_data));
+}
+
+static void _mc_pre_play_mgr_buffer_cb(int percent, void *user_data)
+{
+ startfunc;
+ MP_CHECK(g_player_pipe);
+
+ mc_player_cb_extra_data extra_data;
+ memset(&extra_data, 0x00, sizeof(mc_player_cb_extra_data));
+ extra_data.cb_type = MC_PLAYER_CB_TYPE_BUFFERING;
+ extra_data.param.percent = percent;
+
+ ecore_pipe_write(g_player_pipe, &extra_data,
+ sizeof(mc_player_cb_extra_data));
+
+ return;
+}
+
+static void _mc_pre_play_mgr_create_player_mgr(const char *uri)
+{
+ startfunc;
+ MP_CHECK(uri);
+
+ if (NULL != uri) {
+ _mc_pre_play_mgr_create_player(&mc_player);
+
+ DEBUG_TRACE("player = %x", mc_player);
+
+ player_set_uri(mc_player, uri);
+
+
+ if (NULL == g_player_pipe) {
+ g_player_pipe =
+ ecore_pipe_add(_mc_pre_play_mgr_callback_pipe_handler,
+ NULL);
+ /*ecore_pipe_del(g_player_pipe);
+ g_player_pipe = NULL; */
+ }
+ if (NULL == g_player_cbs) {
+ g_player_cbs = calloc(1, sizeof(mc_player_cbs));
+ }
+
+ player_set_completed_cb(mc_player, _mc_pre_play_mgr_completed_cb,
+ NULL);
+ player_set_interrupted_cb(mc_player, _mc_pre_play_mgr_interrupt_cb,
+ NULL);
+ player_set_error_cb(mc_player, _mc_pre_play_mgr_error_cb, NULL);
+ player_set_buffering_cb(mc_player, _mc_pre_play_mgr_buffer_cb,
+ NULL);
+
+ }
+ return;
+}
+
+
+
+static void _mc_pre_play_mgr_callback_pipe_handler(void *data,
+ void *buffer,
+ unsigned int nbyte)
+{
+ startfunc;
+ mc_player_cb_extra_data *extra_data = buffer;
+ MP_CHECK(extra_data);
+ MP_CHECK(g_player_cbs);
+
+ switch (extra_data->cb_type) {
+ case MC_PLAYER_CB_TYPE_COMPLETED:{
+ if (g_player_cbs->completed_cb) {
+ g_player_cbs->completed_cb(g_player_cbs->
+ user_data
+ [MC_PLAYER_CB_TYPE_COMPLETED]);
+ }
+ }
+ break;
+
+ case MC_PLAYER_CB_TYPE_INTURRUPTED:{
+ if (g_player_cbs->interrupted_cb) {
+ g_player_cbs->interrupted_cb(extra_data->param.
+ interrupted_code,
+ g_player_cbs->
+ user_data
+ [MC_PLAYER_CB_TYPE_INTURRUPTED]);
+ }
+ }
+ break;
+
+ case MC_PLAYER_CB_TYPE_ERROR:{
+ if (g_player_cbs->error_cb) {
+ g_player_cbs->error_cb(extra_data->param.error_code,
+ g_player_cbs->
+ user_data[MC_PLAYER_CB_TYPE_ERROR]);
+ }
+ }
+ break;
+
+ case MC_PLAYER_CB_TYPE_BUFFERING:{
+ if (g_player_cbs->buffering_cb) {
+ g_player_cbs->buffering_cb(extra_data->param.percent,
+ g_player_cbs->
+ user_data
+ [MC_PLAYER_CB_TYPE_BUFFERING]);
+ }
+ }
+ break;
+
+ case MC_PLAYER_CB_TYPE_PREPARE:{
+ if (g_player_cbs->prepare_cb) {
+ g_player_cbs->prepare_cb(g_player_cbs->
+ user_data
+ [MC_PLAYER_CB_TYPE_PREPARE]);
+ }
+ }
+ break;
+
+ default:
+ DEBUG_TRACE("Not suppoted callback type [%d]",
+ extra_data->cb_type);
+ }
+
+ return;
+}
+
+static void _mc_pre_play_mgr_create_player(player_h * player)
+{
+ startfunc;
+ int ret = 0;
+
+ if (NULL != *player) {
+ mc_pre_play_mgr_destroy_play();
+ }
+
+ ret = player_create(player);
+ if (PLAYER_ERROR_NONE != ret) {
+ DEBUG_TRACE("create player error %s", ret);
+ return;
+ }
+
+ return;
+}
+
+void mc_pre_play_control_play_no_pause_music_item(list_item_data_t *
+ item_data)
+{
+ startfunc;
+ MP_CHECK(item_data);
+ char *pre_uri = NULL;
+ char *cur_uri = NULL;
+ mp_media_info_h media_handle = NULL;
+
+ media_handle = (mp_media_info_h) item_data->media;
+ mp_media_info_get_file_path(media_handle, &cur_uri);
+ cur_item_data = item_data;
+ if (pre_item_data) {
+ mp_media_info_get_file_path((mp_media_info_h)
+ (pre_item_data->media), &pre_uri);
+ }
+
+ if (NULL == pre_uri || NULL == mc_player) {
+ DEBUG_TRACE("pre listen play new song");
+ mc_pre_play_mgr_play_song(item_data);
+ } else {
+ if (g_strcmp0(pre_uri, cur_uri) != 0) {
+ //playing song changed update genlist
+ DEBUG_TRACE("pre listen change listen song");
+ //mc_pre_play_mgr_reset_song(pre_item_data);
+ mc_pre_play_mgr_reset_song_without_stop(pre_item_data);
+ mc_pre_play_mgr_play_song(item_data);
+ } else {
+ // play control in pre song
+ DEBUG_TRACE("pre listen play control");
+ mc_pre_play_mgr_play_control(item_data);
+ }
+ }
+
+ previous_item_data = pre_item_data;
+ pre_item_data = item_data;
+ return;
+}
+
+void mc_pre_play_control_play_music_item(list_item_data_t * item_data)
+{
+ startfunc;
+ MP_CHECK(item_data);
+ char *pre_uri = NULL;
+ char *cur_uri = NULL;
+ mp_media_info_h media_handle = NULL;
+
+ media_handle = (mp_media_info_h) item_data->media;
+ mp_media_info_get_file_path(media_handle, &cur_uri);
+ cur_item_data = item_data;
+ if (pre_item_data) {
+ mp_media_info_get_file_path((mp_media_info_h)
+ (pre_item_data->media), &pre_uri);
+ }
+ DEBUG_TRACE("pre uri = %s", pre_uri);
+
+ if (NULL == pre_uri || NULL == mc_player) {
+ //play new song
+ DEBUG_TRACE("pre listen play new song");
+ mc_pre_play_mgr_play_song(item_data);
+ } else {
+ if (g_strcmp0(pre_uri, cur_uri) != 0) {
+ //playing song changed update genlist
+ DEBUG_TRACE("pre listen change listen song");
+ mc_pre_play_mgr_reset_song(pre_item_data);
+ mc_pre_play_mgr_play_song(item_data);
+ } else {
+ // play control in pre song
+ DEBUG_TRACE("pre listen play control");
+ mc_pre_play_mgr_play_control(item_data);
+ }
+ }
+
+ pre_item_data = item_data;
+ return;
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include "mc-search-list.h"
+#include "music-chooser.h"
+#include "mc-track-list.h"
+#include "mc-common.h"
+
+static void _mc_search_list_popup_to_bottom(struct app_data *ad)
+{
+ startfunc;
+ MP_CHECK(ad);
+
+ Elm_Object_Item *navi_item =
+ elm_naviframe_bottom_item_get(ad->navi_bar);
+ elm_naviframe_item_pop_to(navi_item);
+}
+
+static Evas_Object *_mc_search_list_no_content_add(void *data)
+{
+ DEBUG_TRACE_FUNC();
+ UgMpSearchList_t *list = (UgMpSearchList_t *) data;
+ MP_CHECK_VAL(list, NULL);
+
+ Evas_Object *no_contents = NULL;
+
+ no_contents = elm_layout_add(list->box);
+ evas_object_size_hint_weight_set(no_contents, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(no_contents, EVAS_HINT_FILL,
+ EVAS_HINT_FILL);
+
+ char mc_edj_path[1024] = { 0 };
+ char *path = app_get_resource_path();
+ MP_CHECK_NULL(path);
+ snprintf(mc_edj_path, 1024, "%s%s", path, MC_EDJ_FILE);
+ free(path);
+ elm_layout_file_set(no_contents, mc_edj_path, "no_result");
+
+ if (list->genlist) {
+ elm_box_unpack(list->box, list->genlist);
+ evas_object_hide(list->genlist);
+ }
+
+ elm_box_pack_end(list->box, no_contents);
+ evas_object_show(no_contents);
+
+ return no_contents;
+}
+
+static int _mc_search_list_set_sentinel(void *thiz, int count)
+{
+ UgMpSearchList_t *list = (UgMpSearchList_t *) thiz;
+ MP_CHECK_VAL(list, -1);
+ if (0 >= count && (list->filter_str && strlen(list->filter_str))) {
+ ERROR_TRACE("no tracks");
+ if (!list->no_content) {
+ list->no_content = _mc_search_list_no_content_add(list);
+ }
+ return -1;
+ }
+
+ if (list->no_content) {
+ elm_box_unpack(list->box, list->no_content);
+ evas_object_del(list->no_content);
+ list->no_content = NULL;
+ elm_box_pack_end(list->box, list->genlist);
+ evas_object_show(list->genlist);
+ }
+
+ return 0;
+}
+
+static char *_mc_search_track_list_label_get(void *data, Evas_Object * obj,
+ const char *part)
+{
+ //startfunc;
+ mc_list_item_data_t *item_data = data;
+ MP_CHECK_NULL(item_data);
+
+ mp_media_info_h track = item_data->handle;
+ mp_retvm_if(!track, NULL, "data is null");
+
+ UgMpSearchList_t *list = evas_object_data_get(obj, "list_handle");
+ MP_CHECK_NULL(list);
+ MP_CHECK_NULL(part);
+
+ if (!strcmp(part, "elm.text.1") || !strcmp(part, "elm.slide.text.1")) {
+ char *title = NULL;
+
+ mp_media_info_get_title(track, &title);
+
+ mp_retv_if(!title, NULL);
+ if (!strcmp(part, "elm.text.1")) {
+ bool res = false;
+ char *markup_name =
+ (char *) mc_common_search_markup_keyword(title,
+ list->filter_str,
+ &res);
+ return (res) ? g_strdup(markup_name) :
+ elm_entry_utf8_to_markup(title);
+ } else {
+ return g_strdup(title);
+ }
+ } else if (!strcmp(part, "elm.text.2")) {
+ char *artist = NULL;
+
+ mp_media_info_get_artist(track, &artist);
+ mp_retv_if(!artist, NULL);
+ return g_strdup(artist);
+ }
+ return NULL;
+}
+
+Evas_Object *_mc_search_track_list_icon_get(void *data, Evas_Object * obj,
+ const char *part)
+{
+ //startfunc;
+ mc_list_item_data_t *item_data = data;
+ MP_CHECK_NULL(item_data);
+
+ mp_media_info_h track = item_data->handle;
+ mp_retvm_if(!track, NULL, "data is null");
+
+ if (!strcmp(part, "elm.icon")) {
+ char *thumbpath = NULL;
+ Evas_Object *icon;
+
+ mp_media_info_get_thumbnail_path(track, &thumbpath);
+ icon =
+ mc_common_create_thumb_icon(obj, thumbpath, MC_LIST_ICON_SIZE,
+ MC_LIST_ICON_SIZE);
+ return icon;
+ }
+ return NULL;
+}
+
+
+static void
+_mc_search_track_sel_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ char *uri = NULL;
+
+ Elm_Object_Item *gli = (Elm_Object_Item *) event_info;
+ elm_genlist_item_selected_set(gli, FALSE);
+
+ UgMpSearchList_t *list = (UgMpSearchList_t *) data;
+ MP_CHECK(list);
+ MP_CHECK(list->ad);
+
+ mc_list_item_data_t *item =
+ (mc_list_item_data_t *) elm_object_item_data_get(gli);
+ MP_CHECK(item);
+
+ mp_media_info_get_file_path(item->handle, &uri);
+
+ _mc_search_list_popup_to_bottom(list->ad);
+
+ mc_track_list_set_uri_selected(list->ad, uri);
+
+ return;
+}
+
+static char *_mc_search_album_list_label_get(void *data, Evas_Object * obj,
+ const char *part)
+{
+ //startfunc;
+ char *name = NULL;
+ int ret = 0;
+
+ mc_list_item_data_t *item_data = data;
+ MP_CHECK_NULL(item_data);
+
+ mp_media_info_h svc_item = item_data->handle;
+ mp_retv_if(svc_item == NULL, NULL);
+
+ UgMpSearchList_t *list = evas_object_data_get(obj, "list_handle");
+ MP_CHECK_NULL(list);
+ MP_CHECK_NULL(part);
+
+ if (!strcmp(part, "elm.text.1") || !strcmp(part, "elm.slide.text.1")) {
+ ret = mp_media_info_group_get_main_info(svc_item, &name);
+ mp_retvm_if((ret != 0), NULL, "Fail to get value");
+ if (!name || !strlen(name)) {
+ name = GET_SYS_STR("IDS_COM_BODY_UNKNOWN");
+ }
+
+ if (!strcmp(part, "elm.text.1")) {
+ bool res = false;
+ char *markup_name =
+ (char *) mc_common_search_markup_keyword(name,
+ list->filter_str,
+ &res);
+ return (res) ? g_strdup(markup_name) :
+ elm_entry_utf8_to_markup(name);
+ } else {
+ return g_strdup(name);
+ }
+
+ } else if (!strcmp(part, "elm.text.2")) {
+ ret = mp_media_info_group_get_sub_info(svc_item, &name);
+ mp_retvm_if((ret != 0), NULL, "Fail to get value");
+ if (!name || !strlen(name)) {
+ name = GET_SYS_STR("IDS_COM_BODY_UNKNOWN");
+ }
+ return g_strdup(name);
+ }
+
+ DEBUG_TRACE("Unusing part: %s", part);
+ return NULL;
+}
+
+Evas_Object *_mc_search_album_list_icon_get(void *data, Evas_Object * obj,
+ const char *part)
+{
+ //startfunc;
+ Evas_Object *icon = NULL;
+
+ mc_list_item_data_t *item_data = data;
+ MP_CHECK_NULL(item_data);
+
+ mp_media_info_h svc_item = item_data->handle;
+ mp_retv_if(svc_item == NULL, NULL);
+ MP_CHECK_NULL(part);
+
+ if (!strcmp(part, "elm.icon")) {
+ char *thumb_name = NULL;
+ mp_media_info_group_get_thumbnail_path(svc_item, &thumb_name);
+ icon =
+ mc_common_create_thumb_icon(obj, thumb_name, MC_LIST_ICON_SIZE,
+ MC_LIST_ICON_SIZE);
+ }
+
+ return icon;
+}
+
+static void
+_mc_search_album_select_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ //MpSearchList_t *list = (MpSearchList_t *)data;
+ DEBUG_TRACE("");
+
+ char *name = NULL;
+ char *thumbnail = NULL;
+ int playlist_id = 0;
+ int ret = 0;
+ Elm_Object_Item *gli = (Elm_Object_Item *) event_info;
+ MP_CHECK(gli);
+ elm_genlist_item_selected_set(gli, FALSE);
+
+ DEBUG_TRACE("");
+ mc_list_item_data_t *gli_data = elm_object_item_data_get(gli);
+ MP_CHECK(gli_data);
+
+ UgMpSearchList_t *list = evas_object_data_get(obj, "list_handle");
+ MP_CHECK(list);
+ MP_CHECK(list->ad);
+
+ _mc_search_list_popup_to_bottom(list->ad);
+
+ if (gli_data->handle) {
+ ret = mp_media_info_group_get_main_info(gli_data->handle, &name);
+ DEBUG_TRACE("thumbnail=%s", thumbnail);
+ mp_retm_if(ret != 0, "Fail to get value");
+ mp_retm_if(name == NULL, "Fail to get value");
+
+ mc_common_push_track_view_by_group_name(list->ad,
+ MP_TRACK_BY_ALBUM, name,
+ playlist_id, NULL);
+ }
+}
+
+static char *_mc_search_artist_list_label_get(void *data,
+ Evas_Object * obj,
+ const char *part)
+{
+ //startfunc;
+ char *name = NULL;
+ int ret = 0;
+
+ mc_list_item_data_t *item_data = data;
+ MP_CHECK_NULL(item_data);
+
+ mp_media_info_h svc_item = item_data->handle;
+ mp_retv_if(svc_item == NULL, NULL);
+
+ UgMpSearchList_t *list = evas_object_data_get(obj, "list_handle");
+ MP_CHECK_NULL(list);
+
+ if (!strcmp(part, "elm.text")) {
+ ret = mp_media_info_group_get_main_info(svc_item, &name);
+ mp_retvm_if((ret != 0), NULL, "Fail to get value");
+ if (!name || !strlen(name)) {
+ name = GET_SYS_STR("IDS_COM_BODY_UNKNOWN");
+ }
+
+ bool res = false;
+ char *markup_name =
+ (char *) mc_common_search_markup_keyword(name,
+ list->filter_str,
+ &res);
+ return (res) ? g_strdup(markup_name) :
+ elm_entry_utf8_to_markup(name);
+ }
+ return NULL;
+}
+
+Evas_Object *_mc_search_artist_list_icon_get(void *data, Evas_Object * obj,
+ const char *part)
+{
+ //startfunc;
+ Evas_Object *icon = NULL;
+
+ mc_list_item_data_t *item_data = data;
+ MP_CHECK_NULL(item_data);
+
+ mp_media_info_h svc_item = item_data->handle;
+ mp_retv_if(svc_item == NULL, NULL);
+
+ if (!strcmp(part, "elm.icon")) {
+ char *thumb_name = NULL;
+ mp_media_info_group_get_thumbnail_path(svc_item, &thumb_name);
+ icon =
+ mc_common_create_thumb_icon(obj, thumb_name, MC_LIST_ICON_SIZE,
+ MC_LIST_ICON_SIZE);
+ }
+
+ return icon;
+}
+
+static void
+_mc_search_artist_select_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ DEBUG_TRACE("");
+ char *name = NULL;
+ int playlist_id = 0;
+
+ Elm_Object_Item *gli = (Elm_Object_Item *) event_info;
+ MP_CHECK(gli);
+ elm_genlist_item_selected_set(gli, FALSE);
+
+ DEBUG_TRACE("");
+ mc_list_item_data_t *gli_data = elm_object_item_data_get(gli);
+ MP_CHECK(gli_data);
+
+ UgMpSearchList_t *list = evas_object_data_get(obj, "list_handle");
+ MP_CHECK(list);
+ MP_CHECK(list->ad);
+
+ _mc_search_list_popup_to_bottom(list->ad);
+
+ if (gli_data->handle) {
+ mp_media_info_group_get_main_info(gli_data->handle, &name);
+ mp_retm_if(name == NULL, "Fail to get value");
+
+ mc_common_push_track_view_by_group_name(list->ad,
+ MP_TRACK_BY_ARTIST, name,
+ playlist_id, NULL);
+ }
+}
+
+char *_mc_search_list_gl_label_get_title(void *data, Evas_Object * obj,
+ const char *part)
+{
+ //startfunc;
+ char *text = NULL;
+
+ if (!strcmp(part, "elm.text")) {
+ text = GET_STR(data);
+ return g_strdup(text);
+ }
+ return NULL;
+}
+
+static void _mc_search_list_item_del(void *data, Evas_Object * obj)
+{
+ startfunc;
+ mc_list_item_data_t *item_data = data;
+ MP_CHECK(item_data);
+ //mp_language_mgr_unregister_genlist_item(item_data->it);
+ free(item_data);
+}
+
+static void _mc_search_list_set_itc(void *thiz)
+{
+ UgMpSearchList_t *list = thiz;
+ MP_CHECK(list);
+ if (!list->itc_track) {
+ list->itc_track = elm_genlist_item_class_new();
+ MP_CHECK(list->itc_track);
+ list->itc_track->item_style = "music/2text.1icon.tb";
+ list->itc_track->func.text_get = _mc_search_track_list_label_get;
+ list->itc_track->func.content_get = _mc_search_track_list_icon_get;
+ list->itc_track->func.del = _mc_search_list_item_del;
+ }
+ if (!list->itc_album) {
+ list->itc_album = elm_genlist_item_class_new();
+ MP_CHECK(list->itc_album);
+ list->itc_album->item_style = "music/2text.1icon.tb";
+ list->itc_album->func.text_get = _mc_search_album_list_label_get;
+ list->itc_album->func.content_get = _mc_search_album_list_icon_get;
+ list->itc_album->func.del = _mc_search_list_item_del;
+ }
+ if (!list->itc_artist) {
+ list->itc_artist = elm_genlist_item_class_new();
+ MP_CHECK(list->itc_artist);
+ list->itc_artist->item_style = "music/1text.1icon.2.tb";
+ list->itc_artist->func.text_get = _mc_search_artist_list_label_get;
+ list->itc_artist->func.content_get =
+ _mc_search_artist_list_icon_get;
+ list->itc_artist->func.del = _mc_search_list_item_del;
+ }
+ if (!list->itc_group_title) {
+ list->itc_group_title = elm_genlist_item_class_new();
+ MP_CHECK(list->itc_group_title);
+ list->itc_group_title->item_style = "music/groupindex";
+ list->itc_group_title->func.text_get =
+ _mc_search_list_gl_label_get_title;
+ }
+}
+
+static void _mc_search_list_append_group_title(void *data, char *text_ID)
+{
+ startfunc;
+ UgMpSearchList_t *list = (UgMpSearchList_t *) data;
+ MP_CHECK(list);
+ list->search_group_git =
+ elm_genlist_item_append(list->genlist, list->itc_group_title,
+ text_ID, NULL, ELM_GENLIST_ITEM_GROUP,
+ NULL, NULL);
+ elm_genlist_item_select_mode_set(list->search_group_git,
+ ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+}
+
+static void _mc_search_list_load_list(void *thiz)
+{
+ startfunc;
+ UgMpSearchList_t *list = (UgMpSearchList_t *) thiz;
+ MP_CHECK(list);
+
+ int count = 0;
+ gint track_count = 0;
+ gint artist_count = 0;
+ gint album_count = 0;
+
+ gint index = 0;
+ int ret = 0;
+ mp_media_list_h svc_handle = NULL;
+
+ ret =
+ mp_media_info_group_list_count(MP_GROUP_BY_ARTIST, NULL,
+ list->filter_str, &artist_count);
+ if (ret != 0) {
+ DEBUG_TRACE("Fail to create structure");
+ goto END;
+ }
+ ret =
+ mp_media_info_group_list_count(MP_GROUP_BY_ALBUM, NULL,
+ list->filter_str, &album_count);
+ if (ret != 0) {
+ DEBUG_TRACE("Fail to create structure");
+ goto END;
+ }
+ ret =
+ mp_media_info_list_count(MP_TRACK_ALL, NULL, NULL,
+ list->filter_str, 0, &track_count);
+ if (ret != 0) {
+ DEBUG_TRACE("Fail to create structure");
+ goto END;
+ }
+
+ count = artist_count + album_count + track_count;
+ list->track_count = track_count;
+
+ if (_mc_search_list_set_sentinel(list, count)) {
+ goto END;
+ }
+
+
+ /*create new genlist */
+ if (list->genlist != NULL) {
+ evas_object_del(list->genlist);
+ list->genlist = NULL;
+ }
+
+ list->genlist = mc_widget_genlist_create(list->box);
+ elm_scroller_policy_set(list->genlist, ELM_SCROLLER_POLICY_OFF,
+ ELM_SCROLLER_POLICY_AUTO);
+ evas_object_size_hint_weight_set(list->genlist, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(list->genlist, EVAS_HINT_FILL,
+ EVAS_HINT_FILL);
+ evas_object_show(list->genlist);
+ /*packet genlist to box */
+ elm_box_pack_end(list->box, list->genlist);
+
+ evas_object_data_set(list->genlist, "list_handle", (void *) list);
+
+ _mc_search_list_set_itc(list);
+ if (artist_count) {
+ DEBUG_TRACE("append artist list items");
+ _mc_search_list_append_group_title(list,
+ ("IDS_MUSIC_TAB4_ARTISTS"));
+ ret =
+ mp_media_info_group_list_create(&svc_handle,
+ MP_GROUP_BY_ARTIST, NULL,
+ list->filter_str, 0,
+ artist_count);
+ if (ret != 0) {
+ DEBUG_TRACE("Fail to get items");
+ if (svc_handle) {
+ mp_media_info_group_list_destroy(svc_handle);
+ }
+ goto END;
+ }
+
+ for (index = 0; index < artist_count; index++) {
+ mp_media_info_h item = NULL;
+
+ item = mp_media_info_group_list_nth_item(svc_handle, index);
+ if (item == NULL) {
+ DEBUG_TRACE
+ ("Fail to mp_media_info_group_list_nth_item, ret[%d], index[%d]",
+ ret, index);
+ continue;
+ }
+
+ mc_list_item_data_t *item_data =
+ calloc(1, sizeof(mc_list_item_data_t));
+ mp_assert(item_data);
+ item_data->handle = item;
+ item_data->group_type = MP_GROUP_BY_ARTIST;
+
+ item_data->it =
+ elm_genlist_item_append(list->genlist, list->itc_artist,
+ (void *) item_data,
+ list->search_group_git,
+ ELM_GENLIST_ITEM_NONE,
+ _mc_search_artist_select_cb, list);
+ }
+
+ if (list->artist_handle) {
+ mp_media_info_group_list_destroy(list->artist_handle);
+ list->artist_handle = NULL;
+ }
+ list->artist_handle = svc_handle;
+ svc_handle = NULL;
+
+ }
+
+ if (album_count) {
+ DEBUG_TRACE("append album_count list items");
+ _mc_search_list_append_group_title(list,
+ ("IDS_MUSIC_TAB4_ALBUMS"));
+
+ ret =
+ mp_media_info_group_list_create(&svc_handle, MP_GROUP_BY_ALBUM,
+ NULL, list->filter_str, 0,
+ album_count);
+ if (ret != 0) {
+ DEBUG_TRACE("Fail to get items");
+ if (svc_handle) {
+ mp_media_info_group_list_destroy(svc_handle);
+ }
+ goto END;
+ }
+
+ for (index = 0; index < album_count; index++) {
+ mp_media_info_h item = NULL;
+ char *title = NULL;
+ item = mp_media_info_group_list_nth_item(svc_handle, index);
+ if (item == NULL) {
+ DEBUG_TRACE
+ ("Fail to mp_media_info_group_list_nth_item, ret[%d], index[%d]",
+ ret, index);
+ continue;
+ }
+ ret = mp_media_info_group_get_main_info(item, &title);
+
+ mc_list_item_data_t *item_data;
+ item_data = calloc(1, sizeof(mc_list_item_data_t));
+ mp_assert(item_data);
+ item_data->handle = item;
+ item_data->group_type = MP_GROUP_BY_ALBUM;
+
+ item_data->it =
+ elm_genlist_item_append(list->genlist, list->itc_album,
+ (void *) item_data,
+ list->search_group_git,
+ ELM_GENLIST_ITEM_NONE,
+ _mc_search_album_select_cb, list);
+
+ }
+
+ if (list->album_handle) {
+ mp_media_info_group_list_destroy(list->album_handle);
+ list->album_handle = NULL;
+ }
+ list->album_handle = svc_handle;
+ svc_handle = NULL;
+
+ }
+
+ if (track_count) {
+ DEBUG_TRACE("append track_count list items");
+ _mc_search_list_append_group_title(list, (STR_MP_TRACKS));
+
+ ret =
+ mp_media_info_list_create(&svc_handle, MP_TRACK_ALL, NULL,
+ NULL, list->filter_str, 0, 0,
+ track_count);
+ if (ret != 0) {
+ DEBUG_TRACE("Fail to get items");
+ if (svc_handle) {
+ mp_media_info_list_destroy(svc_handle);
+ }
+ goto END;
+ }
+
+ for (index = 0; index < track_count; index++) {
+ mp_media_info_h item = NULL;
+ item = mp_media_info_list_nth_item(svc_handle, index);
+ if (!item) {
+ continue;
+ }
+
+ mc_list_item_data_t *item_data;
+ item_data = calloc(1, sizeof(mc_list_item_data_t));
+ mp_assert(item_data);
+ item_data->handle = item;
+ item_data->group_type = MP_GROUP_NONE;
+
+ item_data->it =
+ elm_genlist_item_append(list->genlist, list->itc_track,
+ (void *) item_data,
+ list->search_group_git,
+ ELM_GENLIST_ITEM_NONE,
+ _mc_search_track_sel_cb, list);
+ }
+
+ if (list->track_handle) {
+ mp_media_info_list_destroy(list->track_handle);
+ list->track_handle = NULL;
+ }
+ list->track_handle = svc_handle;
+ svc_handle = NULL;
+
+ }
+
+ END:
+ endfunc;
+}
+
+void _mc_search_list_destory_cb(void *data, Evas * evas, Evas_Object * obj,
+ void *event_info)
+{
+ startfunc;
+ UgMpSearchList_t *list = data;
+ MP_CHECK(list);
+
+ IF_FREE(list->filter_str);
+ if (list->itc_track) {
+ elm_genlist_item_class_free(list->itc_track);
+ list->itc_track = NULL;
+ }
+ if (list->itc_album) {
+ elm_genlist_item_class_free(list->itc_album);
+ list->itc_album = NULL;
+ }
+ if (list->itc_artist) {
+ elm_genlist_item_class_free(list->itc_artist);
+ list->itc_artist = NULL;
+ }
+ if (list->itc_group_title) {
+ elm_genlist_item_class_free(list->itc_group_title);
+ list->itc_group_title = NULL;
+ }
+
+ mp_media_info_group_list_destroy(list->artist_handle);
+ mp_media_info_group_list_destroy(list->album_handle);
+ mp_media_info_list_destroy(list->track_handle);
+
+ free(list);
+}
+
+void mc_search_list_update(void *thiz)
+{
+ startfunc;
+ UgMpSearchList_t *list = thiz;
+ MP_CHECK(list);
+ _mc_search_list_load_list(list);
+}
+
+
+UgMpSearchList_t *mc_search_list_create(Evas_Object * parent,
+ struct app_data *ad)
+{
+ startfunc;
+ MP_CHECK_NULL(parent);
+
+ UgMpSearchList_t *list = calloc(1, sizeof(UgMpSearchList_t));
+ MP_CHECK_NULL(list);
+
+ list->ad = ad;
+
+ char mc_edj_path[1024] = { 0 };
+ char *path = app_get_resource_path();
+ MP_CHECK_NULL(path);
+ snprintf(mc_edj_path, 1024, "%s%s", path, MC_EDJ_FILE);
+ free(path);
+ list->layout = mc_common_load_edj(parent, mc_edj_path, "list_layout");
+ if (list->layout == NULL) {
+ IF_FREE(list);
+ return NULL;
+ }
+
+ list->box = elm_box_add(list->layout);
+ if (list->box == NULL) {
+ IF_FREE(list);
+ return NULL;
+ }
+
+ evas_object_size_hint_weight_set(list->box, EVAS_HINT_EXPAND,
+ EVAS_HINT_FILL);
+ evas_object_size_hint_align_set(list->box, EVAS_HINT_FILL,
+ EVAS_HINT_FILL);
+ elm_object_part_content_set(list->layout, "list_content", list->box);
+ evas_object_show(list->box);
+
+ evas_object_event_callback_add(list->layout, EVAS_CALLBACK_FREE,
+ _mc_search_list_destory_cb, list);
+
+ return list;
+}
+
+void mc_search_list_set_data(UgMpSearchList_t * list, ...)
+{
+ startfunc;
+ MP_CHECK(list);
+
+ va_list var_args;
+ int field;
+
+ va_start(var_args, list);
+ do {
+ field = va_arg(var_args, int);
+ DEBUG_TRACE("field is %d", field);
+
+ switch (field) {
+ case MC_SEARCH_LIST_FILTER_STR:{
+ char *val = va_arg((var_args), char *);
+ SAFE_FREE(list->filter_str);
+ list->filter_str = g_strdup(val);
+ DEBUG_TRACE("list->filter_str = %s", list->filter_str);
+
+ break;
+ }
+
+ default:
+ DEBUG_TRACE("Invalid arguments");
+ }
+
+ } while (field >= 0);
+
+ va_end(var_args);
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include "mc-search-view.h"
+#include "mc-search-list.h"
+#include "mc-search.h"
+#include "mc-common.h"
+#include "music-chooser.h"
+
+#define MC_SEARCHBAR_W 400*elm_config_scale_get()
+
+static void _mc_search_view_content_load(void *thiz);
+
+
+/*************** functions for track list update *******************/
+static Eina_Bool _mc_search_view_back_cb(void *data, Elm_Object_Item * it)
+{
+ eventfunc;
+ search_view_data_t *search = (search_view_data_t *) data;
+ MP_CHECK_VAL(search, EINA_TRUE);
+
+ IF_G_FREE(search->needle);
+ mp_ecore_timer_del(search->search_timer);
+
+ free(search);
+
+ return EINA_TRUE;
+}
+
+int mc_search_view_update_options(void *thiz)
+{
+ startfunc;
+ search_view_data_t *search = (search_view_data_t *) thiz;
+ MP_CHECK_VAL(search, -1);
+
+ /*add search bar into title part of navi frame */
+ elm_object_item_part_content_set(search->navi_it, "title",
+ search->search_bar);
+ elm_naviframe_item_pop_cb_set(search->navi_it, _mc_search_view_back_cb,
+ search);
+
+ return 0;
+}
+
+static Eina_Bool _mc_search_view_update_list_timer_cb(void *data)
+{
+ eventfunc;
+ search_view_data_t *search = (search_view_data_t *) data;
+ MP_CHECK_FALSE(search);
+
+ _mc_search_view_content_load(search);
+
+ DEBUG_TRACE("view->needle: %s", search->needle);
+
+ search->search_timer = NULL;
+
+ return EINA_FALSE;
+}
+
+
+static void
+_mc_search_view_keyword_changed_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ search_view_data_t *search = (search_view_data_t *) data;
+ MP_CHECK(search);
+ char *search_str = NULL;
+
+ search_str = mc_search_text_get(search->search_bar);
+
+ EVENT_TRACE("search_str: %s", search_str);
+ if (search_str) {
+ if (search->needle) {
+ free(search->needle);
+ }
+ search->needle = search_str;
+ //signal = "hide.screen";
+ } else {
+ if (search->needle) {
+ free(search->needle);
+ }
+ //signal = "show.screen";
+ }
+
+ mp_ecore_timer_del(search->search_timer);
+ search->search_timer =
+ ecore_timer_add(0.1, _mc_search_view_update_list_timer_cb, search);
+}
+
+
+static void _mc_search_view_create_search_bar(void *thiz)
+{
+ startfunc;
+ search_view_data_t *search = (search_view_data_t *) thiz;
+ MP_CHECK(search);
+ MP_CHECK(search->layout);
+
+ search->search_bar = mc_search_create_new(search->layout,
+ _mc_search_view_keyword_changed_cb,
+ search, NULL, NULL, NULL,
+ search, NULL, search);
+ MP_CHECK(search->search_bar);
+ evas_object_show(mc_search_entry_get(search->search_bar));
+ endfunc;
+}
+
+static void _mc_search_view_content_load(void *thiz)
+{
+ startfunc;
+ search_view_data_t *search = (search_view_data_t *) thiz;
+ MP_CHECK(search);
+ MP_CHECK(search->layout);
+
+ Evas_Object *content =
+ elm_object_part_content_unset(search->layout, "list-content");
+ evas_object_del(content);
+
+ UgMpSearchList_t *list =
+ mc_search_list_create(search->layout, search->ad);
+ MP_CHECK(list);
+ mc_search_list_set_data(list, MC_SEARCH_LIST_FILTER_STR,
+ search->needle, -1);
+
+ mc_search_list_update(list);
+
+ MP_CHECK(list->layout);
+ elm_object_part_content_set(search->layout, "list-content",
+ list->layout);
+ free(list);
+ endfunc;
+}
+
+static void _mc_search_layout_del_cb(void *data, Evas * evas,
+ Evas_Object * obj, void *event_info)
+{
+ startfunc;
+}
+
+static void _mc_search_init(Evas_Object * parent, void *thiz)
+{
+ startfunc;
+
+ search_view_data_t *search = (search_view_data_t *) thiz;
+
+ char mc_edj_path[1024] = { 0 };
+ char *path = app_get_resource_path();
+ if (path == NULL) {
+ return;
+ }
+ snprintf(mc_edj_path, 1024, "%s%s", path, MC_EDJ_FILE);
+ free(path);
+ Evas_Object *layout =
+ mc_common_load_edj(parent, mc_edj_path, "view_layout");
+
+ search->layout = layout;
+
+ /* search bar */
+ _mc_search_view_create_search_bar(search);
+
+ evas_object_event_callback_add(layout, EVAS_CALLBACK_DEL,
+ _mc_search_layout_del_cb, search);
+
+ char *keyword = NULL;
+ search->needle = g_strdup(keyword);
+ mc_search_text_set(search->search_bar, keyword);
+
+ _mc_search_view_content_load(search);
+
+ return;
+}
+
+search_view_data_t *mc_search_view_create(Evas_Object * parent,
+ struct app_data * ad)
+{
+ eventfunc;
+ search_view_data_t *search = NULL;
+
+ search = calloc(1, sizeof(search_view_data_t));
+ MP_CHECK_NULL(search);
+
+ search->ad = ad;
+
+ _mc_search_init(ad->navi_bar, search);
+
+ Evas_Object *searchbar_layout = NULL;
+ elm_object_part_content_set(search->layout, "searchbar",
+ searchbar_layout);
+ search->searchbar_layout = searchbar_layout;
+
+ Elm_Object_Item *navi_it =
+ elm_naviframe_item_push(ad->navi_bar, NULL, NULL, NULL,
+ search->layout, "empty/music");
+ search->navi_it = navi_it;
+
+ elm_naviframe_item_pop_cb_set(navi_it, mc_quit_cb, ad);
+
+ return search;
+}
+
+void
+mc_search_view_set_keyword(search_view_data_t * search,
+ const char *keyword)
+{
+ MP_CHECK(search);
+ IF_FREE(search->needle);
+ search->needle = g_strdup(keyword);
+ mc_search_text_set(search->search_bar, keyword);
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include "mc-search.h"
+#include "music-chooser.h"
+
+void
+_mc_search_view_activated_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ MP_CHECK(data);
+ elm_object_focus_set(obj, FALSE);
+}
+
+void
+_mc_search_view_clicked_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ MP_CHECK(data);
+ MP_CHECK(obj);
+ elm_object_focus_allow_set(obj, EINA_TRUE);
+ elm_object_focus_set(obj, EINA_TRUE);
+}
+
+static void
+_mc_search_entry_changed_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ Evas_Object *searchbar = data;
+ MP_CHECK(searchbar);
+ Evas_Object *entry = obj;
+ MP_CHECK(entry);
+
+ const char *signal = NULL;
+ if (elm_entry_is_empty(entry)) {
+ signal = "elm,state,eraser,hide";
+ } else {
+ signal = "elm,state,eraser,show";
+ }
+
+ elm_object_signal_emit(searchbar, signal, "elm");
+}
+
+static void
+_mc_search_eraser_clicked_cb(void *data, Evas_Object * obj,
+ const char *emission, const char *source)
+{
+ startfunc;
+ Evas_Object *entry = data;
+ MP_CHECK(entry);
+
+ elm_entry_entry_set(entry, "");
+ elm_object_focus_set(entry, TRUE);
+}
+
+static void _entry_text_changed_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ startfunc;
+ Evas_Object *searchbar = data;
+ MP_CHECK(searchbar);
+ Evas_Object *entry = obj;
+ MP_CHECK(entry);
+
+ const char *signal = NULL;
+ if (elm_entry_is_empty(entry)) {
+ signal = "elm,state,eraser,hide";
+ } else {
+ signal = "elm,state,eraser,show";
+ }
+
+ elm_object_signal_emit(searchbar, signal, "elm");
+}
+
+static void
+_mc_search_entry_maxlength_reached_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ //mp_popup_max_length(obj, STR_NH_COM_POPUP_CHARACTERS_MAXNUM_REACHED);
+}
+
+
+Evas_Object *mc_search_create_new(Evas_Object * parent,
+ Evas_Smart_Cb change_cb,
+ void *change_cb_data,
+ Evas_Smart_Cb cancel_cb,
+ void *cancel_cb_data,
+ Evas_Smart_Cb focus_cb,
+ void *focus_cb_data,
+ Evas_Smart_Cb unfocus_cb,
+ void *unfocus_cb_data)
+{
+ startfunc;
+ Evas_Object *sb = NULL;
+ Evas_Object *en = NULL;
+
+ sb = elm_layout_add(parent);
+ MP_CHECK_NULL(sb);
+
+ const char *style = (cancel_cb) ? "cancel_button" : "default";
+ elm_layout_theme_set(sb, "layout", "searchbar", style);
+
+ if (cancel_cb) {
+ Evas_Object *cancel_btn = elm_button_add(sb);
+ elm_object_style_set(cancel_btn, "searchbar/default");
+ //elm_object_text_set(cancel_btn, GET_SYS_STR("IDS_COM_SK_CANCEL"));
+ //mp_language_mgr_register_object(cancel_btn, OBJ_TYPE_ELM_OBJECT, NULL, "IDS_COM_SK_CANCEL");
+ mc_common_obj_domain_text_translate(cancel_btn,
+ "IDS_COM_SK_CANCEL");
+ evas_object_smart_callback_add(cancel_btn, "clicked", cancel_cb,
+ cancel_cb_data);
+
+ elm_object_part_content_set(sb, "button_cancel", cancel_btn);
+ elm_object_signal_emit(sb, "cancel,show", "");
+ }
+ //en = elm_entry_add(sb);
+ en = elm_entry_add(sb);
+ elm_entry_scrollable_set(en, EINA_TRUE);
+ elm_entry_single_line_set(en, EINA_TRUE);
+ //elm_entry_prediction_allow_set(en, EINA_FALSE);
+ elm_object_part_content_set(sb, "elm.swallow.content", en);
+ evas_object_data_set(sb, "entry", en);
+ //elm_object_part_text_set(en, "elm.guide", GET_STR(STR_SEARCH_GUIDE));
+ mc_common_obj_domain_translatable_part_text_set(en, "elm.guide",
+ MC_TEXT_SEARCH);
+
+ elm_entry_input_panel_layout_set(en, ELM_INPUT_PANEL_LAYOUT_NORMAL);
+ elm_entry_input_panel_return_key_type_set(en,
+ ELM_INPUT_PANEL_RETURN_KEY_TYPE_SEARCH);
+
+ evas_object_size_hint_weight_set(sb, EVAS_HINT_EXPAND, 0);
+ evas_object_size_hint_align_set(sb, EVAS_HINT_FILL, 0.0);
+
+ evas_object_smart_callback_add(en, "changed",
+ _mc_search_entry_changed_cb, sb);
+ elm_object_signal_callback_add(sb, "elm,eraser,clicked", "elm",
+ _mc_search_eraser_clicked_cb, en);
+
+ evas_object_smart_callback_add(en, "changed", change_cb,
+ change_cb_data);
+ evas_object_smart_callback_add(en, "activated",
+ _mc_search_view_activated_cb, sb);
+
+ evas_object_smart_callback_add(en, "focused", focus_cb, focus_cb_data);
+ evas_object_smart_callback_add(en, "unfocused", unfocus_cb,
+ focus_cb_data);
+
+ evas_object_smart_callback_add(en, "preedit,changed",
+ _entry_text_changed_cb, sb);
+ evas_object_smart_callback_add(en, "preedit,changed", change_cb,
+ change_cb_data);
+ evas_object_smart_callback_add(en, "clicked",
+ _mc_search_view_clicked_cb, sb);
+
+ static Elm_Entry_Filter_Limit_Size limit_filter_data;
+ limit_filter_data.max_char_count = 0;
+ limit_filter_data.max_byte_count = 193;
+ elm_entry_markup_filter_append(en, elm_entry_filter_limit_size,
+ &limit_filter_data);
+ evas_object_smart_callback_add(en, "maxlength,reached",
+ _mc_search_entry_maxlength_reached_cb,
+ NULL);
+
+ evas_object_show(sb);
+ //elm_object_focus_set(en,EINA_TRUE);
+
+ return sb;
+}
+
+void mc_search_hide_imf_pannel(Evas_Object * search)
+{
+ MP_CHECK(search);
+ Evas_Object *en = mc_search_entry_get(search);
+ elm_object_focus_set(en, EINA_FALSE);
+}
+
+void mc_search_show_imf_pannel(Evas_Object * search)
+{
+ MP_CHECK(search);
+ Evas_Object *en = mc_search_entry_get(search);
+ elm_object_focus_set(en, EINA_TRUE);
+}
+
+Evas_Object *mc_search_entry_get(Evas_Object * search)
+{
+ MP_CHECK_NULL(search);
+
+ Evas_Object *entry = evas_object_data_get(search, "entry");
+
+ return entry;
+}
+
+char *mc_search_text_get(Evas_Object * search)
+{
+ MP_CHECK_NULL(search);
+ Evas_Object *entry = evas_object_data_get(search, "entry");
+ MP_CHECK_NULL(entry);
+
+ const char *text = elm_entry_entry_get(entry);
+ char *markup_text = elm_entry_markup_to_utf8(text);
+
+ return markup_text;
+}
+
+void mc_search_text_set(Evas_Object * search, const char *text)
+{
+ MP_CHECK(search);
+ Evas_Object *entry = evas_object_data_get(search, "entry");
+ MP_CHECK(entry);
+
+ if (text == NULL) {
+ text = "";
+ }
+
+ DEBUG_TRACE("Text: %s", text);
+ elm_entry_entry_set(entry, text);
+ elm_entry_cursor_end_set(entry);
+ //elm_object_text_set(entry, text);
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include <glib.h>
+//#include <ui-gadget-module.h>
+//#include <shortcut.h>
+
+#include "mc-select-view.h"
+#include "mc-text.h"
+#include "mp-media-info.h"
+#include "mc-common.h"
+
+//#define SHOW_SEARCHBAR
+
+typedef struct {
+ struct app_data *ad;
+
+ Evas_Object *layout;
+ Evas_Object *searchbar_layout;
+ Evas_Object *entry;
+ Evas_Object *list_object;
+ Evas_Object *no_content;
+ Evas_Object *genlist;
+
+ mp_group_type_e type;
+
+ char *filter_text; //free
+ char *title; //not free
+
+ int count;
+ mp_media_list_h media_list;
+ mp_media_list_h defualt_playlist;
+
+} sel_view_data_t;
+
+static Elm_Genlist_Item_Class *itc;
+static void _mc_list_update(sel_view_data_t * vd);
+
+static void _mc_layout_del_cb(void *data, Evas * evas, Evas_Object * obj,
+ void *event_info)
+{
+ sel_view_data_t *vd = data;
+ MP_CHECK(vd);
+ IF_FREE(vd->filter_text);
+ if (vd->media_list) {
+ mp_media_info_group_list_destroy(vd->media_list);
+ }
+ free(vd);
+}
+
+#ifdef SHOW_SEARCHBAR
+static void _mc_changed_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ DEBUG_TRACE("");
+ sel_view_data_t *vd = data;
+ MP_CHECK(vd);
+
+ const char *text = elm_object_text_get(vd->entry);
+ IF_FREE(vd->filter_text);
+ vd->filter_text = g_strdup(text);
+
+ if (elm_object_focus_get(vd->searchbar_layout)) {
+ if (elm_entry_is_empty(obj)) {
+ elm_object_signal_emit(vd->searchbar_layout,
+ "elm,state,eraser,hide", "elm");
+ } else {
+ elm_object_signal_emit(vd->searchbar_layout,
+ "elm,state,eraser,show", "elm");
+ }
+ }
+
+ _mc_list_update(vd);
+}
+
+static void _mc_focused_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ DEBUG_TRACE("");
+ sel_view_data_t *vd = data;
+ MP_CHECK(vd);
+
+ if (!elm_entry_is_empty(obj)) {
+ elm_object_signal_emit(vd->searchbar_layout,
+ "elm,state,eraser,show", "elm");
+ }
+ elm_object_signal_emit(vd->searchbar_layout,
+ "elm,state,guidetext,hide", "elm");
+ elm_object_signal_emit(vd->searchbar_layout, "cancel,in", "");
+}
+
+static void _mc_unfocused_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ DEBUG_TRACE("");
+ sel_view_data_t *vd = data;
+ MP_CHECK(vd);
+ if (elm_entry_is_empty(obj)) {
+ elm_object_signal_emit(vd->searchbar_layout,
+ "elm,state,guidetext,show", "elm");
+ }
+ elm_object_signal_emit(vd->searchbar_layout, "elm,state,eraser,hide",
+ "elm");
+ elm_object_signal_emit(vd->searchbar_layout, "cancel,out", "");
+}
+
+static void _mc_eraser_clicked_cb(void *data, Evas_Object * obj,
+ const char *emission, const char *source)
+{
+ DEBUG_TRACE("");
+ sel_view_data_t *vd = data;
+ MP_CHECK(vd);
+ elm_entry_entry_set(vd->entry, "");
+}
+
+static void _mc_bg_clicked_cb(void *data, Evas_Object * obj,
+ const char *emission, const char *source)
+{
+ DEBUG_TRACE("");
+ sel_view_data_t *vd = data;
+ MP_CHECK(vd);
+ elm_object_focus_set(vd->entry, EINA_TRUE);
+}
+
+static void _mc_cancel_clicked_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ DEBUG_TRACE("");
+ sel_view_data_t *vd = data;
+ MP_CHECK(vd);
+ const char *text;
+ evas_object_hide(obj);
+ elm_object_signal_emit(vd->searchbar_layout, "cancel,out", "");
+ text = elm_entry_entry_get(vd->entry);
+ if (text != NULL && strlen(text) > 0) {
+ elm_entry_entry_set(vd->entry, NULL);
+ }
+ elm_object_focus_set(vd->entry, EINA_FALSE);
+ elm_object_focus_set(vd->list_object, EINA_TRUE);
+}
+
+static void _mc_searchsymbol_clicked_cb(void *data, Evas_Object * obj,
+ const char *emission,
+ const char *source)
+{
+ DEBUG_TRACE("");
+ sel_view_data_t *vd = data;
+ MP_CHECK(vd);
+ elm_object_focus_set(vd->entry, EINA_TRUE);
+}
+
+static Evas_Object *_mc_create_searchbar(sel_view_data_t * vd)
+{
+ Evas_Object *entry = NULL, *cancel_btn = NULL;
+ Evas_Object *searchbar_layout = NULL;
+ MP_CHECK_NULL(vd);
+
+ searchbar_layout = elm_layout_add(vd->layout);
+ elm_layout_theme_set(searchbar_layout, "layout", "searchbar",
+ "cancel_button");
+
+ entry = elm_entry_add(searchbar_layout);
+ vd->entry = entry;
+ elm_entry_scrollable_set(entry, EINA_TRUE);
+ elm_entry_single_line_set(entry, EINA_TRUE);
+ evas_object_smart_callback_add(entry, "changed", _mc_changed_cb, vd);
+ evas_object_smart_callback_add(entry, "focused", _mc_focused_cb, vd);
+ evas_object_smart_callback_add(entry, "unfocused", _mc_unfocused_cb,
+ vd);
+ elm_object_part_content_set(searchbar_layout, "elm.swallow.content",
+ entry);
+ //elm_object_part_text_set(searchbar_layout, "elm.guidetext", GET_STR(MC_TEXT_SEARCH));
+ mc_common_obj_domain_translatable_part_text_set(searchbar_layout,
+ "elm.guidetext",
+ MC_TEXT_SEARCH);
+ elm_object_signal_callback_add(searchbar_layout, "elm,eraser,clicked",
+ "elm", _mc_eraser_clicked_cb, vd);
+ elm_object_signal_callback_add(searchbar_layout, "elm,bg,clicked",
+ "elm", _mc_bg_clicked_cb, vd);
+ elm_entry_input_panel_layout_set(entry, ELM_INPUT_PANEL_LAYOUT_NORMAL);
+ evas_object_size_hint_weight_set(searchbar_layout, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(searchbar_layout, EVAS_HINT_FILL,
+ EVAS_HINT_FILL);
+
+ cancel_btn = elm_button_add(searchbar_layout);
+ elm_object_part_content_set(searchbar_layout, "button_cancel",
+ cancel_btn);
+ elm_object_style_set(cancel_btn, "searchbar/default");
+ elm_object_text_set(cancel_btn, GET_SYS_STR(MC_TEXT_CANCEL));
+
+ evas_object_smart_callback_add(cancel_btn, "clicked",
+ _mc_cancel_clicked_cb, vd);
+ elm_object_signal_callback_add(searchbar_layout, "elm,action,click",
+ "", _mc_searchsymbol_clicked_cb, vd);
+
+ return searchbar_layout;
+}
+#endif
+
+static Evas_Object *_mc_create_genlist(sel_view_data_t * vd)
+{
+ Evas_Object *genlist = NULL;
+
+ MP_CHECK_NULL(vd);
+
+ genlist = elm_genlist_add(vd->layout);
+ elm_genlist_select_mode_set(genlist, ELM_OBJECT_SELECT_MODE_ALWAYS);
+
+ return genlist;
+}
+
+static void _gl_sel(void *data, Evas_Object * obj, void *event_info)
+{
+ sel_view_data_t *vd = data;
+ MP_CHECK(vd);
+
+ elm_genlist_item_selected_set(event_info, EINA_FALSE);
+
+ char *title = NULL;
+ int playlist_id = 0;
+ char *thumbnail_path = NULL;
+ mp_media_info_h media = elm_object_item_data_get(event_info);
+ MP_CHECK(media);
+ mp_media_info_group_get_main_info(media, &title);
+ mp_media_info_group_get_thumbnail_path(media, &thumbnail_path);
+
+ if (vd->type == MP_GROUP_BY_PLAYLIST) {
+ mp_media_info_group_get_playlist_id(media, &playlist_id);
+ }
+
+ //_add_to_home(vd, title, playlist_id, thumbnail_path);
+}
+
+static void _mc_append_items(sel_view_data_t * vd)
+{
+ startfunc;
+ int i;
+ mp_media_list_h media_list = NULL;
+
+ if (vd->type == MP_GROUP_BY_PLAYLIST) {
+ mp_media_info_h media = NULL;
+ mp_media_info_group_list_create(&media_list,
+ MP_GROUP_BY_SYS_PLAYLIST, NULL,
+ NULL, 0, 0);
+ i = 0;
+ for (i = 0; i < 3; i++) {
+ media = mp_media_info_group_list_nth_item(media_list, i);
+ if (!media) {
+ break;
+ }
+
+ elm_genlist_item_append(vd->genlist, itc, media,
+ NULL, ELM_GENLIST_ITEM_NONE, _gl_sel,
+ vd);
+ }
+
+ if (vd->defualt_playlist) {
+ mp_media_info_group_list_destroy(vd->defualt_playlist);
+ }
+ vd->defualt_playlist = media_list;
+ }
+
+ mp_media_info_group_list_create(&media_list, vd->type, NULL,
+ vd->filter_text, 0, vd->count);
+
+ for (i = 0; i < vd->count; i++) {
+ elm_genlist_item_append(vd->genlist, itc,
+ mp_media_info_group_list_nth_item
+ (media_list, i), NULL,
+ ELM_GENLIST_ITEM_NONE, _gl_sel, vd);
+ }
+
+ if (vd->media_list) {
+ mp_media_info_group_list_destroy(vd->media_list);
+ }
+ vd->media_list = media_list;
+ endfunc;
+}
+
+static void _mc_list_update(sel_view_data_t * vd)
+{
+ Evas_Object *list_object = NULL;
+ int item_count = 0;
+
+ MP_CHECK(vd);
+
+ mp_media_info_group_list_count(vd->type, NULL, vd->filter_text,
+ &item_count);
+ DEBUG_TRACE("count: %d", item_count);
+
+ vd->count = item_count;
+
+ if (item_count == 0) {
+ if (vd->genlist) {
+ evas_object_del(vd->genlist);
+ vd->genlist = NULL;
+ }
+ if (!vd->no_content) {
+ NoContentType_e type = NO_CONTENT_SONG;
+ if (vd->type == MP_GROUP_BY_PLAYLIST) {
+ type = NO_CONTENT_PLAYLIST;
+ } else if (vd->type == MP_GROUP_BY_ARTIST) {
+ type = NO_CONTENT_ARTIST;
+ } else if (vd->type == MP_GROUP_BY_ALBUM) {
+ type = NO_CONTENT_ALBUM;
+ }
+
+ vd->no_content = mc_widget_no_content_add(vd->layout, type);
+ }
+
+ list_object = vd->no_content;
+ } else {
+ if (vd->no_content) {
+ evas_object_del(vd->no_content);
+ vd->no_content = NULL;
+ }
+ if (!vd->genlist) {
+ vd->genlist = _mc_create_genlist(vd);
+ }
+
+ list_object = vd->genlist;
+ elm_genlist_clear(vd->genlist);
+ _mc_append_items(vd);
+ }
+
+ elm_object_part_content_set(vd->layout, "elm.swallow.content",
+ list_object);
+ vd->list_object = list_object;
+}
+
+static void _mc_select_view_init(int type, sel_view_data_t * vd)
+{
+ MP_CHECK(vd);
+
+ itc = elm_genlist_item_class_new();
+ if (!itc) {
+ return;
+ }
+ itc->func.content_get = mc_group_content_get;
+ switch (type) {
+ case MC_SHORTCUT_ALBUM:
+ itc->item_style = "music/3text.1icon.2/";
+ itc->func.text_get = mc_album_text_get;
+ vd->type = MP_GROUP_BY_ALBUM;
+ vd->title = MC_TEXT_SELECT_ALBUM;
+ break;
+ case MC_SHORTCUT_ARTIST:
+ itc->item_style = "music/2text.1icon";
+ itc->func.text_get = mc_artist_text_get;
+ vd->type = MP_GROUP_BY_ARTIST;
+ vd->title = MC_TEXT_SELECT_ARTIST;
+ break;
+ case MC_SHORTCUT_PLAYLIST:
+ itc->item_style = "music/2text.1icon";
+ itc->func.text_get = mc_playlist_text_get;
+ vd->type = MP_GROUP_BY_PLAYLIST;
+ vd->title = MC_TEXT_SELECT_PLAYLIST;
+ break;
+ default:
+ ERROR_TRACE("Invalid vd->type: %d", type);
+ break;
+ }
+}
+
+Evas_Object *mc_select_view_create(struct app_data *ad)
+{
+ startfunc;
+ Evas_Object *layout = NULL;
+ Evas_Object *btn = NULL;
+ sel_view_data_t *vd = NULL;
+
+ MP_CHECK_NULL(ad);
+
+ layout = elm_layout_add(ad->navi_bar);
+ MP_CHECK_NULL(layout);
+ elm_layout_theme_set(layout, "layout", "application",
+ "searchbar_base");
+#ifdef SHOW_SEARCHBAR
+ elm_object_signal_emit(layout, "elm,state,show,searchbar", "elm");
+#endif
+ vd = calloc(1, sizeof(sel_view_data_t));
+ MP_CHECK_NULL(vd);
+ vd->ad = ad;
+ vd->layout = layout;
+ evas_object_data_set(layout, "view_data", vd);
+ evas_object_event_callback_add(layout, EVAS_CALLBACK_DEL,
+ _mc_layout_del_cb, vd);
+
+ _mc_select_view_init(ad->select_type, vd);
+
+#ifdef SHOW_SEARCHBAR
+ Evas_Object *searchbar_layout = NULL;
+ searchbar_layout = _mc_create_searchbar(vd);
+ elm_object_part_content_set(layout, "searchbar", searchbar_layout);
+ vd->searchbar_layout = searchbar_layout;
+#endif
+
+ _mc_list_update(vd);
+
+ btn = elm_button_add(ad->navi_bar);
+ elm_object_style_set(btn, "naviframe/back_btn/default");
+
+ evas_object_smart_callback_add(btn, "clicked", mc_quit_select_cb, ad);
+
+ Elm_Object_Item *navi_it =
+ elm_naviframe_item_push(ad->navi_bar, GET_STR(vd->title), btn,
+ NULL, layout, NULL);
+ MP_CHECK_NULL(navi_it);
+
+ elm_naviframe_item_pop_cb_set(navi_it, mc_quit_cb, ad);
+
+ endfunc;
+ return layout;
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include "mc-track-list.h"
+#include "mp-media-info.h"
+#include "mc-common.h"
+#include "mc-list-play.h"
+
+static int state_index = -1; //selected radio index
+static Evas_Object *g_radio_main = NULL;
+
+extern list_item_data_t *previous_item_data;
+extern list_item_data_t *pre_item_data;
+extern list_item_data_t *cur_item_data;
+extern int g_position;
+
+typedef struct {
+ struct app_data *ad;
+
+ Evas_Object *no_content;
+ Evas_Object *genlist;
+ Elm_Object_Item *btn_done;
+ Evas_Object *btn_cancel;
+ Evas_Object *btn_set;
+
+ Elm_Genlist_Item_Class itc;
+ Elm_Genlist_Item_Class itc_select_all;
+
+ mp_track_type_e t_type;
+ char *type_str;
+ int playlist_id;
+ bool multiple;
+ bool single;
+
+ mp_media_list_h track_list;
+
+ Ecore_Timer *destroy_timer;
+ Elm_Object_Item *win_navi_it;
+} track_list_data_t;
+
+
+#define GET_LIST_DATA(obj) evas_object_data_get(obj, "list_data")
+static void _gl_sel_cb(void *data, Evas_Object * obj, void *event_info);
+static unsigned int _get_media_list_count(void *data);
+unsigned int _get_select_count(void *data);
+
+static Evas_Object *_mc_create_genlist(Evas_Object * parent)
+{
+ Evas_Object *genlist = NULL;
+ MP_CHECK_NULL(parent);
+
+ genlist = elm_genlist_add(parent);
+ elm_genlist_select_mode_set(genlist, ELM_OBJECT_SELECT_MODE_ALWAYS);
+
+ elm_genlist_homogeneous_set(genlist, EINA_TRUE);
+ elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);
+
+ g_radio_main = elm_radio_add(genlist);
+ elm_radio_state_value_set(g_radio_main, -1);
+ elm_radio_value_set(g_radio_main, -1);
+ evas_object_data_set(genlist, "radio_main", g_radio_main);
+
+ return genlist;
+}
+
+static void
+_mc_track_play_btn_cb(void *data, Evas_Object * obj, const char *emission,
+ const char *source)
+{
+ startfunc;
+ MP_CHECK(emission);
+
+ list_item_data_t *itemData = data;
+ MP_CHECK(itemData);
+
+ mc_pre_play_control_play_music_item(itemData);
+
+ return;
+}
+
+static void _check_changed_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ list_item_data_t *it_data = data;
+ MP_CHECK(it_data);
+
+ track_list_data_t *ld = evas_object_data_get(obj, "track_list_data");
+ MP_CHECK(ld);
+
+ it_data->checked = !it_data->checked;
+ it_data->checkbox_cb = EINA_TRUE;
+ _gl_sel_cb(ld, obj, it_data->it);
+}
+
+static Evas_Object *_gl_select_all_content_get(void *data,
+ Evas_Object * obj,
+ const char *part)
+{
+ if (!strcmp(part, "elm.swallow.end")) {
+ track_list_data_t *ld = data;
+ unsigned int select_count = _get_select_count(ld);
+ unsigned int total_count = _get_media_list_count(ld);
+ Evas_Object *content = elm_check_add(obj);
+ elm_object_style_set(content, "default/genlist");
+ if (select_count == total_count) {
+ elm_check_state_set(content, EINA_TRUE);
+ }
+ evas_object_smart_callback_add(content, "changed",
+ _mc_track_list_select_all_selected_item_data_get,
+ data);
+ evas_object_repeat_events_set(content, EINA_FALSE);
+ evas_object_propagate_events_set(content, EINA_FALSE);
+ return content;
+ }
+ return NULL;
+}
+
+void mc_post_notification_indicator(list_item_data_t * it_data,
+ player_state_e state)
+{
+ startfunc;
+ MP_CHECK(it_data);
+ struct app_data *ad = it_data->ad;
+ int ret = NOTIFICATION_ERROR_NONE;
+
+ notification_image_type_e img_type =
+ NOTIFICATION_IMAGE_TYPE_ICON_FOR_INDICATOR;
+ char *path = app_get_shared_resource_path();
+
+ //DEBUG_TRACE("Shared Resource Path is %s", path);
+ char icon_path[1024] = { 0 };
+
+ if (state == PLAYER_STATE_PLAYING || state == PLAYER_STATE_IDLE) {
+ snprintf(icon_path, 1024,
+ "%sshared_images/T02_control_circle_icon_play.png", path);
+ } else {
+ snprintf(icon_path, 1024,
+ "%sshared_images/T02_control_circle_icon_pause.png",
+ path);
+ }
+ free(path);
+
+ if (ad->noti) {
+ ret = notification_set_image(ad->noti, img_type, icon_path);
+ if (ret != NOTIFICATION_ERROR_NONE) {
+ DEBUG_TRACE("Cannot set the notification image");
+ }
+ notification_update(ad->noti);
+ }
+ DEBUG_TRACE("Icon Path is: %s", icon_path);
+ endfunc;
+}
+
+static Evas_Object *_gl_content_get(void *data, Evas_Object * obj,
+ const char *part)
+{
+ char *thumbpath = NULL;
+ char *prev_uri = NULL;
+ char *cur_uri = NULL;
+ Evas_Object *content = NULL;
+ Evas_Object *icon = NULL;
+ Evas_Object *prev_part_content;
+ Evas_Object *part_content;
+
+ list_item_data_t *it_data = data;
+ MP_CHECK_NULL(it_data);
+
+ MP_CHECK_NULL(obj);
+
+ mp_media_info_h media = it_data->media;
+ it_data->checkbox_cb = EINA_FALSE;
+
+ if (previous_item_data) {
+ mp_media_info_get_file_path((mp_media_info_h)
+ (previous_item_data->media),
+ &prev_uri);
+ }
+
+ if (previous_item_data && (g_strcmp0(prev_uri, cur_uri) != 0)) {
+ prev_part_content =
+ elm_object_item_part_content_get(previous_item_data->it,
+ "elm.swallow.icon");
+ DEBUG_TRACE("Previous URI: %s", prev_uri);
+ if (prev_part_content) {
+ elm_object_signal_emit(prev_part_content, "show_default", "*");
+ }
+ }
+
+ if (cur_item_data) {
+ mp_media_info_get_file_path((mp_media_info_h)
+ (cur_item_data->media), &cur_uri);
+ DEBUG_TRACE("Current URI is: %s", cur_uri);
+ part_content =
+ elm_object_item_part_content_get(cur_item_data->it,
+ "elm.swallow.icon");
+ player_state_e state = mc_pre_play_get_player_state();
+
+ if (part_content) {
+ if (state == PLAYER_STATE_PLAYING
+ || state == PLAYER_STATE_IDLE) {
+ elm_object_signal_emit(part_content, "show_play", "*");
+ } else {
+ elm_object_signal_emit(part_content, "show_pause", "*");
+ }
+ }
+ }
+
+ if (!strcmp(part, "elm.swallow.icon")) {
+ content = elm_layout_add(obj);
+ mp_media_info_get_thumbnail_path(media, &thumbpath);
+ icon = elm_image_add(obj);
+
+ if (mc_check_image_valid(evas_object_evas_get(obj), thumbpath)) {
+ elm_image_file_set(icon, thumbpath, NULL);
+ } else {
+ char default_thumbnail[1024] = { 0 };
+ char *shared_path = app_get_shared_resource_path();
+ DEBUG_TRACE("Chooser Shared Path : %s", shared_path);
+ snprintf(default_thumbnail, 1024, "%s%s/%s", shared_path,
+ "shared_images", DEFAULT_THUMBNAIL);
+ free(shared_path);
+ elm_image_file_set(icon, default_thumbnail, NULL);
+ }
+
+ elm_layout_theme_set(content, "layout", "list/B/type.1",
+ "default");
+ elm_layout_content_set(content, "elm.swallow.content", icon);
+
+ return content;
+ }
+
+ if ((!strcmp(part, "elm.swallow.end") && (it_data->ad->select_type == MC_SELECT_SINGLE_RINGTONE || it_data->ad->select_type == MC_SELECT_SINGLE))) { // swallow checkbox or radio button
+ if (it_data->ad->select_uri
+ && it_data->ad->select_type == MC_SELECT_SINGLE_RINGTONE) {
+ char *filepath = NULL;
+ mp_media_info_get_file_path(media, &filepath);
+ if (mc_check_file_exist(filepath)
+ && !strcmp(it_data->ad->select_uri, filepath)) {
+ state_index = it_data->index;
+ it_data->ad->select_uri = NULL;
+ //elm_genlist_item_bring_in(it_data->it, ELM_GENLIST_ITEM_SCROLLTO_IN);
+ }
+ }
+ content = elm_radio_add(obj);
+ elm_radio_state_value_set(content, it_data->index);
+ elm_radio_group_add(content, g_radio_main);
+ evas_object_size_hint_weight_set(content, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(content, EVAS_HINT_FILL,
+ EVAS_HINT_FILL);
+ evas_object_propagate_events_set(content, EINA_TRUE);
+ } else
+ if ((!strcmp(part, "elm.swallow.end")
+ && (it_data->ad->select_type == MC_SELECT_MULTI))) {
+ track_list_data_t *ld =
+ evas_object_data_get(obj, "track_list_data");
+ MP_CHECK_NULL(ld);
+
+ content = elm_check_add(obj);
+ elm_check_state_pointer_set(content, &it_data->checked);
+ elm_object_style_set(content, "default/genlist");
+
+ evas_object_data_set(content, "track_list_data", ld);
+
+ evas_object_smart_callback_add(content, "changed",
+ _check_changed_cb, it_data);
+ evas_object_repeat_events_set(content, EINA_FALSE);
+ evas_object_propagate_events_set(content, EINA_FALSE);
+ }
+
+ if (!strcmp(part, "elm.edit.icon.2")) {
+ if (it_data->ad->select_type == MC_SELECT_SINGLE_RINGTONE) {
+ if (it_data->index == state_index) {
+ Evas_Object *music_button = NULL;
+
+ music_button = elm_button_add(obj);
+
+ player_state_e state = mc_pre_play_get_player_state();
+ if (state == PLAYER_STATE_PLAYING) {
+ elm_object_style_set(music_button,
+ "music/ug_control_play");
+ } else if (state == PLAYER_STATE_PAUSED) {
+ elm_object_style_set(music_button,
+ "music/ug_control_pause");
+ } else {
+ return NULL;
+ }
+ evas_object_propagate_events_set(music_button, EINA_FALSE);
+ elm_object_signal_callback_add(music_button,
+ "mouse,clicked,1", "*",
+ _mc_track_play_btn_cb,
+ data);
+
+ return music_button;
+ }
+ }
+ }
+ return content;
+}
+
+char *mc_create_selectioninfo_text_with_count(int count)
+{
+ startfunc;
+ char *name = NULL;
+ if (count > 0) {
+ name = g_strdup_printf(GET_STR(STR_MP_SELECT_ITEMS), count);
+ } else {
+ name = g_strdup_printf(GET_STR(MC_TEXT_SELECT));
+ }
+ return name;
+}
+
+static char *_gl_select_all_text_get(void *data, Evas_Object * obj,
+ const char *part)
+{
+ startfunc;
+ if (!strcmp(part, "elm.text")) {
+ char *name = GET_SYS_STR("IDS_MUSIC_BODY_SELECT_ALL");
+ return g_strdup(name);
+ }
+ return NULL;
+}
+
+static char *_gl_text_get(void *data, Evas_Object * obj, const char *part)
+{
+ char *title = NULL;
+ char *cur_uri = NULL;
+ char *uri = NULL;
+ bool match = false;
+
+ list_item_data_t *it_data = data;
+ MP_CHECK_NULL(it_data);
+
+ mp_media_info_h media = it_data->media;
+
+ mp_media_info_get_file_path(media, &uri);
+ mp_retv_if(!uri, NULL);
+
+ int ret = 0;
+ if ((!strcmp(part, "elm.text")) || (!strcmp(part, "elm.text.sub"))) {
+ if (!strcmp(part, "elm.text")) {
+ ret = mp_media_info_get_title(media, &title);
+ MP_CHECK_NULL(ret == 0);
+ } else {
+ ret = mp_media_info_get_artist(media, &title);
+ MP_CHECK_NULL(ret == 0);
+ }
+
+ if (cur_item_data) {
+ mp_media_info_get_file_path((mp_media_info_h)
+ (cur_item_data->media), &cur_uri);
+
+ if (cur_item_data && (g_strcmp0(cur_uri, uri) == 0)) {
+ match = true;
+ }
+ }
+
+ char *markup = NULL;
+ static char result[DEF_STR_LEN + 1] = { 0, };
+
+ if (match) {
+ char *markup_title = elm_entry_utf8_to_markup(title);
+
+ int r, g, b, a;
+ //Apply RGB equivalent of color
+ r = 21;
+ g = 108;
+ b = 148;
+ a = 255;
+ memset(result, 0x00, DEF_STR_LEN + 1);
+ snprintf(result, DEF_STR_LEN,
+ "<color=#%02x%02x%02x%02x>%s</color>", r, g, b, a,
+ markup_title);
+ IF_FREE(markup_title);
+
+ return g_strdup(result);
+ } else {
+ markup = elm_entry_utf8_to_markup(title);
+ }
+ return markup;
+ }
+ return NULL;
+}
+
+static void _gl_del(void *data, Evas_Object * obj)
+{
+ list_item_data_t *it_data = data;
+ IF_FREE(it_data);
+}
+
+static Eina_Bool _destroy_timer_cb(void *data)
+{
+ track_list_data_t *ld = data;
+ MP_CHECK_FALSE(ld);
+ ld->destroy_timer = NULL;
+ elm_exit();
+ return EINA_FALSE;
+}
+
+static long long int _get_total_size(void *data)
+{
+ startfunc;
+ long long int item_size = 0;
+ struct stat mpFileInfo;
+ char *path = NULL;
+
+ track_list_data_t *ld = data;
+ Elm_Object_Item *item;
+ MP_CHECK_VAL(ld, 0);
+ MP_CHECK_VAL(ld->genlist, 0);
+
+ item = elm_genlist_first_item_get(ld->genlist);
+ item = elm_genlist_item_next_get(item);
+ while (item) {
+ list_item_data_t *it_data = elm_object_item_data_get(item);
+ if (!it_data) {
+ continue;
+ }
+ mp_media_info_h media = it_data->media;
+ MP_CHECK_VAL(media, 0);
+ mp_media_info_get_file_path(media, &path);
+ stat(path, &mpFileInfo);
+ item_size = item_size + mpFileInfo.st_size;
+ item = elm_genlist_item_next_get(item);
+ }
+ endfunc;
+ return item_size;
+}
+
+static unsigned int _get_media_list_count(void *data)
+{
+ startfunc;
+ unsigned int count = 0;
+
+ track_list_data_t *ld = data;
+ Elm_Object_Item *item;
+ MP_CHECK_VAL(ld, 0);
+ MP_CHECK_VAL(ld->genlist, 0);
+
+ item = elm_genlist_first_item_get(ld->genlist);
+ while (item) {
+ list_item_data_t *it_data = elm_object_item_data_get(item);
+ if (!it_data) {
+ continue;
+ }
+ item = elm_genlist_item_next_get(item);
+ if (it_data) {
+ count++;
+ }
+ }
+ if (count > 0) {
+ count = count - 1;
+ endfunc;
+ return count;
+ } else {
+ endfunc;
+ return -1;
+ }
+}
+
+unsigned int _get_select_count(void *data) //(Evas_Object *genlist)
+{
+ startfunc;
+ unsigned int count = 0;
+
+ track_list_data_t *ld = data;
+ Elm_Object_Item *item;
+ MP_CHECK_VAL(ld, 0);
+ MP_CHECK_VAL(ld->genlist, 0);
+
+ item = elm_genlist_first_item_get(ld->genlist);
+ if (ld->ad->select_type == MC_SELECT_MULTI) {
+ item = elm_genlist_item_next_get(item);
+ }
+ while (item) {
+ list_item_data_t *it_data = elm_object_item_data_get(item);
+ if (!it_data) {
+ continue;
+ }
+ item = elm_genlist_item_next_get(item);
+ if (it_data && it_data->checked) {
+ count++;
+ }
+ }
+ return count;
+}
+
+static Elm_Object_Item *_get_select_radio(void *data)
+{
+ startfunc;
+
+ track_list_data_t *ld = data;
+
+ Elm_Object_Item *item = NULL;
+ item = elm_genlist_first_item_get(ld->genlist);
+
+ while (item) {
+ list_item_data_t *it_data = elm_object_item_data_get(item);
+ if (!it_data) {
+ continue;
+ }
+ item = elm_genlist_item_next_get(item);
+
+ int index = elm_radio_value_get(g_radio_main);
+ DEBUG_TRACE("index: %d", index);
+ if (it_data->index == index) {
+ return item;
+ }
+ }
+ return item;
+
+}
+
+static void _gl_sel_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ startfunc;
+ track_list_data_t *ld = data;
+ static long long int item_size = 0;
+ struct stat mpFileInfo;
+ char *path = NULL;
+ bool size_exceeded = false;
+
+ MP_CHECK(ld);
+ MP_CHECK(!ld->destroy_timer);
+
+ if (cur_item_data) {
+ elm_genlist_item_update(cur_item_data->it);
+ }
+
+ elm_genlist_item_update(event_info);
+ elm_genlist_item_selected_set(event_info, EINA_FALSE);
+
+ list_item_data_t *it_data = elm_object_item_data_get(event_info);
+ MP_CHECK(it_data);
+ Elm_Object_Item *item = it_data->it;
+ int index = 0;
+
+ mp_media_info_h media = it_data->media;
+ MP_CHECK(media);
+ mp_media_info_get_file_path(media, &path);
+ DEBUG_TRACE("path: %s", path);
+ stat(path, &mpFileInfo);
+
+ if (it_data->ad->select_type == MC_SELECT_SINGLE_RINGTONE) {
+ mc_pre_play_control_play_no_pause_music_item((void *) it_data);
+ g_position = 0;
+ if (item) {
+ index = it_data->index;
+ Evas_Object *radio =
+ elm_object_item_part_content_get(item, "elm.swallow.end");
+ MP_CHECK(radio);
+
+ state_index = index;
+ elm_radio_value_set(g_radio_main, state_index);
+ if (index != -1) {
+ if (ld->btn_set) {
+ elm_object_disabled_set(ld->btn_set, false);
+ }
+ if (ld->btn_cancel) {
+ elm_object_disabled_set(ld->btn_cancel, false);
+ }
+ }
+ }
+ } else if (it_data->ad->select_type == MC_SELECT_SINGLE) {
+ if (item) {
+ index = it_data->index;
+ elm_radio_value_set(g_radio_main, index);
+ }
+
+ if (index != -1) {
+ if (ld->btn_set) {
+ elm_object_disabled_set(ld->btn_set, false);
+ }
+ }
+
+ return;
+ } else {
+ if (it_data->checkbox_cb) {
+ it_data->checked = !it_data->checked;
+ }
+ }
+
+ if (ld->ad->select_type == MC_SELECT_MULTI && !it_data->checkbox_cb) {
+ /*Launching Sound Manager on clicking a song */
+ app_control_h app_control;
+ int ret = APP_CONTROL_ERROR_NONE;
+ ret = app_control_create(&app_control);
+ if (ret != APP_CONTROL_ERROR_NONE) {
+ DEBUG_TRACE("app_control_create()... [0x%x]", ret);
+ return;
+ }
+ ret = app_control_set_uri(app_control, path);
+ if (ret != APP_CONTROL_ERROR_NONE) {
+ DEBUG_TRACE("app_control_set_uri()... [0x%x]", ret);
+ return;
+ }
+ app_control_set_mime(app_control, "audio/*");
+ ret =
+ app_control_set_operation(app_control,
+ APP_CONTROL_OPERATION_VIEW);
+ if (ret != APP_CONTROL_ERROR_NONE) {
+ DEBUG_TRACE("app_control_set_operation()... [0x%x]", ret);
+ return;
+ }
+ ret = app_control_send_launch_request(app_control, NULL, NULL);
+ if (ret == APP_CONTROL_ERROR_APP_NOT_FOUND) {
+ ERROR_TRACE
+ ("Cannot launch sound-player. Application not found.");
+ } else if (ret != APP_CONTROL_ERROR_NONE) {
+ DEBUG_TRACE("app_control_send_launch_request()... [0x%x]");
+ }
+ if (app_control) {
+ app_control_destroy(app_control);
+ }
+ }
+
+ elm_genlist_item_fields_update(event_info, "elm.swallow.end",
+ ELM_GENLIST_ITEM_FIELD_CONTENT);
+
+ if ((ld->ad->select_type == MC_SELECT_MULTI)
+ && ((ld->ad->limitsize > 0)
+ && (item_size + mpFileInfo.st_size > ld->ad->limitsize))
+ && it_data->checked) {
+ WARN_TRACE("Exceeded max size by caller");
+ size_exceeded = true;
+ it_data->checked = !it_data->checked;
+ char *name = g_strdup(GET_STR(STR_MC_MAX_SIZE_EXCEEDED));
+ mc_post_status_message(name);
+ IF_FREE(name);
+ }
+
+ if ((ld->ad->select_type == MC_SELECT_MULTI)
+ && ((ld->ad->max_count > 0)
+ && _get_select_count(ld) > ld->ad->max_count)) {
+ WARN_TRACE("Exceeded max count by caller");
+ it_data->checked = !it_data->checked;
+ char *name =
+ g_strdup_printf(GET_STR(STR_MC_MAX_COUNT_EXCEEDED),
+ ld->ad->max_count);
+ mc_post_status_message(name);
+ IF_FREE(name);
+ }
+ mc_common_obj_domain_text_translate(ld->ad->navi_bar,
+ mc_create_selectioninfo_text_with_count
+ (_get_select_count(ld)));
+
+ if (ld->ad->select_type == MC_SELECT_MULTI) {
+ Elm_Object_Item *selected_item =
+ elm_genlist_first_item_get(ld->genlist);
+ Evas_Object *check =
+ elm_object_item_part_content_get(selected_item,
+ "elm.swallow.end");
+ if (!size_exceeded) {
+ if (it_data->checked) {
+ item_size = item_size + mpFileInfo.st_size;
+ } else {
+ item_size = item_size - mpFileInfo.st_size;
+ }
+ }
+ if ((_get_media_list_count(ld) - _get_select_count(ld)) == 0) {
+ elm_check_state_set(check, EINA_TRUE);
+ } else {
+ elm_check_state_set(check, EINA_FALSE);
+ }
+ }
+
+
+ if (ld->btn_done && ld->btn_cancel) {
+ if (_get_select_count(ld)) {
+ elm_object_disabled_set(ld->btn_done, false);
+ elm_object_disabled_set(ld->btn_cancel, false);
+ } else {
+ elm_object_disabled_set(ld->btn_done, true);
+ }
+ DEBUG_TRACE("Selected Count = %d", _get_select_count(ld));
+ return;
+ }
+}
+
+void mc_track_list_set_uri_selected(void *thiz, const char *uri)
+{
+ startfunc;
+
+ struct app_data *ad = thiz;
+ MP_CHECK(ad);
+ MP_CHECK(ad->track_list);
+
+ track_list_data_t *ld =
+ evas_object_data_get(ad->track_list, "list_data");
+ MP_CHECK(ld);
+
+ Elm_Object_Item *item;
+ item = elm_genlist_first_item_get(ld->genlist);
+
+ while (item) {
+ char *path = NULL;
+ list_item_data_t *it_data = elm_object_item_data_get(item);
+ if (!it_data) {
+ continue;
+ }
+ mp_media_info_h media = it_data->media;
+ MP_CHECK(media);
+ mp_media_info_get_file_path(media, &path);
+
+ if (!strcmp(path, uri)) {
+ elm_genlist_item_bring_in(it_data->it,
+ ELM_GENLIST_ITEM_SCROLLTO_TOP);
+ elm_radio_value_set(g_radio_main, it_data->index);
+
+ elm_genlist_item_selected_set(item, EINA_TRUE);
+ }
+ item = elm_genlist_item_next_get(item);
+ }
+}
+
+static void
+_layout_del_cb(void *data, Evas * e, Evas_Object * obj, void *event_info)
+{
+ startfunc;
+ state_index = -1;
+ pre_item_data = NULL;
+ cur_item_data = NULL;
+
+ track_list_data_t *ld = data;
+ MP_CHECK(ld);
+
+ IF_G_FREE(ld->type_str);
+
+ mc_pre_play_mgr_destroy_play();
+ mc_pre_play_control_clear_pre_item_data();
+}
+
+static void _cancel_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ track_list_data_t *ld = (track_list_data_t *) data;
+ MP_CHECK(ld);
+
+ app_control_h service = NULL;
+ app_control_create(&service);
+ app_control_reply_to_launch_request(service, ld->ad->service,
+ APP_CONTROL_RESULT_SUCCEEDED);
+ if (ld->t_type == MP_TRACK_ALL) {
+ mp_ecore_timer_del(ld->destroy_timer);
+ ld->destroy_timer = ecore_timer_add(0.1, _destroy_timer_cb, ld);
+ } else {
+ _mc_popup_view(ld);
+ }
+
+ app_control_destroy(service);
+ ld->destroy_timer = ecore_timer_add(0.1, _destroy_timer_cb, ld);
+}
+
+static void _set_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ track_list_data_t *ld = (track_list_data_t *) data;
+ MP_CHECK(ld);
+
+ char *fmt = ";%s";
+ char **path_array = NULL;
+ int count = 0;
+ GString *path = NULL;
+
+ Elm_Object_Item *item = elm_genlist_first_item_get(ld->genlist);
+ Elm_Object_Item *selected_item = _get_select_radio(ld);
+
+ while (item) {
+ list_item_data_t *it_data = elm_object_item_data_get(item);
+ if (it_data == NULL) {
+ IF_FREE(path_array);
+ return;
+ }
+ item = elm_genlist_item_next_get(item);
+ if (selected_item == item) {
+ char *tmp = NULL;
+ mp_media_info_h media = it_data->media;
+ if (!media) {
+ continue;
+ }
+ mp_media_info_get_file_path(media, &tmp);
+ if (path == NULL) {
+ path = g_string_new(tmp);
+ } else {
+ g_string_append_printf(path, fmt, tmp);
+ }
+
+ count++;
+ path_array = realloc(path_array, sizeof(char *) * count);
+ if (path_array != NULL) {
+ path_array[count - 1] = tmp;
+ }
+ }
+ }
+
+ if (!path) {
+ IF_FREE(path_array);
+ return;
+ }
+
+ DEBUG_TRACE("Done: Return uri: %s", path->str);
+ DEBUG_TRACE("Done: Return position: %d", g_position);
+ app_control_h service = NULL;
+ app_control_create(&service);
+ app_control_add_extra_data_array(service, APP_CONTROL_DATA_PATH,
+ (const char **) path_array, count);
+ app_control_add_extra_data_array(service, APP_CONTROL_DATA_SELECTED,
+ (const char **) path_array, count);
+ app_control_reply_to_launch_request(service, ld->ad->service,
+ APP_CONTROL_RESULT_SUCCEEDED);
+
+ mp_ecore_timer_del(ld->destroy_timer);
+ ld->destroy_timer = ecore_timer_add(0.1, _destroy_timer_cb, ld);
+
+ app_control_destroy(service);
+
+ IF_FREE(path_array);
+ if (path) {
+ g_string_free(path, TRUE);
+ path = NULL;
+ }
+
+}
+
+void _mc_popup_view(void *data)
+{
+ startfunc;
+ track_list_data_t *ld = data;
+ MP_CHECK(ld);
+ MP_CHECK(ld->win_navi_it);
+ elm_object_item_del(ld->win_navi_it);
+ ld->win_navi_it = NULL;
+}
+
+static void _done_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ startfunc;
+ char *fmt = ";%s";
+ GString *path = NULL;
+ track_list_data_t *ld = data;
+ Elm_Object_Item *item = NULL;
+ char **path_array = NULL;
+ int count = 0;
+ MP_CHECK(ld);
+
+ item = elm_genlist_first_item_get(ld->genlist);
+ DEBUG_TRACE("In done_cb -> Select_type is: %d", ld->ad->select_type);
+ if (ld->ad->select_type == MC_SELECT_MULTI) {
+ item = elm_genlist_item_next_get(item);
+ }
+ while (item) {
+ list_item_data_t *it_data = elm_object_item_data_get(item);
+ if (it_data == NULL) {
+ IF_FREE(path_array);
+ return;
+ }
+ item = elm_genlist_item_next_get(item);
+ if (it_data && it_data->checked) {
+ char *tmp = NULL;
+ mp_media_info_h media = it_data->media;
+ if (!media) {
+ break;
+ }
+
+ mp_media_info_get_file_path(media, &tmp);
+ if (path == NULL) {
+ path = g_string_new(tmp);
+ MP_CHECK(path);
+ } else {
+ g_string_append_printf(path, fmt, tmp);
+ }
+
+ count++;
+ path_array = realloc(path_array, sizeof(char *) * count);
+ if (path_array != NULL) {
+ path_array[count - 1] = tmp;
+ }
+ }
+ }
+
+ MP_CHECK(path);
+
+ DEBUG_TRACE("Done: return uri: %s", path->str);
+ DEBUG_TRACE("Done: return position: %d", g_position);
+ if (path) {
+ app_control_h service = NULL;
+ app_control_create(&service);
+ app_control_add_extra_data_array(service, APP_CONTROL_DATA_PATH,
+ (const char **) path_array,
+ count);
+ app_control_add_extra_data_array(service,
+ APP_CONTROL_DATA_SELECTED,
+ (const char **) path_array,
+ count);
+
+ app_control_reply_to_launch_request(service, ld->ad->service,
+ APP_CONTROL_RESULT_SUCCEEDED);
+ ld->destroy_timer = ecore_timer_add(0.1, _destroy_timer_cb, ld);
+
+ app_control_destroy(service);
+ }
+ IF_FREE(path_array);
+
+ g_string_free(path, TRUE);
+}
+
+void _mc_track_list_select_all_selected_item_data_get(void *data,
+ Evas_Object * obj,
+ void *event_info)
+{
+ track_list_data_t *ld = data;
+ Elm_Object_Item *item = NULL;
+ MP_CHECK(ld);
+
+ Eina_Bool all_selected = EINA_FALSE;
+
+ item = elm_genlist_first_item_get(ld->genlist);
+ Evas_Object *check =
+ elm_object_item_part_content_get(item, "elm.swallow.end");
+ Eina_Bool state = elm_check_state_get(check);
+ all_selected = state;
+
+ if ((ld->ad->limitsize > 0)
+ && (_get_total_size(ld) > ld->ad->limitsize)) {
+ DEBUG_TRACE("total size: %lld", _get_total_size(ld));
+ elm_check_state_set(check, !state);
+ char *name = g_strdup(GET_STR(STR_MC_MAX_SIZE_EXCEEDED));
+ mc_post_status_message(name);
+ IF_FREE(name);
+ WARN_TRACE("Exceeded max size by caller");
+ return;
+ }
+
+ if ((ld->ad->max_count > 0)
+ && (_get_media_list_count(ld) > ld->ad->max_count)) {
+ elm_check_state_set(check, !state);
+ char *name =
+ g_strdup_printf(GET_STR(STR_MC_MAX_COUNT_EXCEEDED),
+ ld->ad->max_count);
+ mc_post_status_message(name);
+ IF_FREE(name);
+ WARN_TRACE("Exceeded max count by caller");
+ return;
+ }
+
+ item = elm_genlist_first_item_get(ld->genlist);
+ item = elm_genlist_item_next_get(item);
+ while (item) {
+ list_item_data_t *it_data = elm_object_item_data_get(item);
+ if (!it_data) {
+ continue;
+ }
+ it_data->checked = all_selected;
+ Evas_Object *chk =
+ elm_object_item_part_content_get(item, "elm.swallow.end");
+ if (chk) {
+ elm_check_state_set(chk, all_selected);
+ }
+ item = elm_genlist_item_next_get(item);
+ }
+
+ mc_common_obj_domain_text_translate(ld->ad->navi_bar,
+ mc_create_selectioninfo_text_with_count
+ (_get_select_count(ld)));
+
+ if (ld->btn_done) {
+ if (_get_select_count(ld) && all_selected) {
+ elm_object_disabled_set(ld->btn_done, EINA_FALSE);
+ } else {
+ elm_object_disabled_set(ld->btn_done, EINA_TRUE);
+ }
+ }
+}
+
+void _mc_track_list_select_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ startfunc;
+
+ track_list_data_t *ld = data;
+ Elm_Object_Item *item = NULL;
+ MP_CHECK(ld);
+
+ elm_genlist_item_selected_set(event_info, EINA_FALSE);
+
+ item = elm_genlist_first_item_get(ld->genlist);
+ Evas_Object *check =
+ elm_object_item_part_content_get(item, "elm.swallow.end");
+ Eina_Bool state = elm_check_state_get(check);
+ if (ld->ad->max_count <= 0) {
+ elm_check_state_set(check, !state);
+ }
+
+ _mc_track_list_select_all_selected_item_data_get(data, obj,
+ event_info);
+
+ endfunc;
+}
+
+
+Evas_Object *mc_track_list_create(Evas_Object * parent,
+ struct app_data *ad)
+{
+ startfunc;
+ Evas_Object *layout;
+ track_list_data_t *ld = NULL;
+
+ MP_CHECK_NULL(parent);
+ MP_CHECK_NULL(ad);
+
+ char mc_edj_path[1024] = { 0 };
+ char *path = app_get_resource_path();
+ MP_CHECK_NULL(path);
+ snprintf(mc_edj_path, 1024, "%s%s", path, MC_EDJ_FILE);
+ free(path);
+ layout = mc_common_load_edj(parent, mc_edj_path, "list_layout");
+ MP_CHECK_NULL(layout);
+
+ ld = calloc(1, sizeof(track_list_data_t));
+ MP_CHECK_NULL(ld);
+
+ ld->ad = ad;
+ if (ad->select_type == MC_SELECT_MULTI) {
+ ld->multiple = true;
+ }
+
+ if (ad->select_type == MC_SELECT_SINGLE_RINGTONE) {
+ ld->single = true;
+ }
+
+ Evas_Object *done_btn =
+ elm_object_item_part_content_unset(ld->win_navi_it, "toolbar");
+ if (done_btn) {
+ evas_object_del(done_btn);
+ }
+
+ evas_object_data_set(layout, "list_data", ld);
+ evas_object_event_callback_add(layout, EVAS_CALLBACK_FREE,
+ _layout_del_cb, ld);
+
+ ld->itc.item_style = "type1";
+ ld->itc.func.content_get = _gl_content_get;
+ ld->itc.func.text_get = _gl_text_get;
+ ld->itc.func.del = _gl_del;
+ //ld->itc.decorate_all_item_style = "edit_default";
+
+ ld->itc_select_all.item_style = "default";
+ ld->itc_select_all.func.content_get = _gl_select_all_content_get;
+ ld->itc_select_all.func.text_get = _gl_select_all_text_get;
+
+ return layout;
+}
+
+static void _clear_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ startfunc;
+ Evas_Object *sub_view = data;
+ evas_object_del(sub_view);
+}
+
+int mc_track_list_update(Evas_Object * list, Elm_Object_Item * navi_it,
+ Evas_Object * sub_view)
+{
+ startfunc;
+ Evas_Object *content;
+
+ int count = 0;
+ track_list_data_t *ld = GET_LIST_DATA(list);
+ MP_CHECK_VAL(ld, -1);
+
+ struct app_data *ad = ld->ad;
+ MP_CHECK_VAL(ad, -1);
+
+ ld->win_navi_it = navi_it;
+
+ if (ld->win_navi_it && ad->navi_bar) {
+ DEBUG_TRACE("In cancel button");
+ ld->btn_cancel =
+ mc_widget_create_navi_left_btn(ad->navi_bar, ld->win_navi_it,
+ _cancel_cb, ld);
+ }
+
+ if (ad->select_type == MC_SELECT_MULTI) {
+ if (ld->win_navi_it && ad->navi_bar) {
+ ld->btn_done =
+ mc_widget_create_navi_right_btn(ad->navi_bar,
+ ld->win_navi_it, _done_cb,
+ ld);
+ }
+ } else if (ld->ad->select_type == MC_SELECT_SINGLE_RINGTONE
+ || ld->ad->select_type == MC_SELECT_SINGLE) {
+ if (ld->win_navi_it && ad->navi_bar) {
+ ld->btn_set =
+ mc_widget_create_navi_right_btn(ad->navi_bar,
+ ld->win_navi_it, _set_cb,
+ ld);
+ elm_object_disabled_set(ld->btn_set, EINA_TRUE);
+ }
+ /*reset back button callback */
+ /* elm_naviframe_item_pop_cb_set(navi_it, _back_cb, ld); */
+ }
+
+ if (ld->track_list) {
+ mp_media_info_list_destroy(ld->track_list);
+ ld->track_list = NULL;
+ }
+
+ content = elm_layout_content_get(list, "list_content");
+ evas_object_del(content);
+
+ mp_media_info_list_count(ld->t_type, ld->type_str, NULL, NULL,
+ ld->playlist_id, &count);
+ mc_common_obj_domain_text_translate(ld->ad->navi_bar,
+ mc_create_selectioninfo_text_with_count
+ (0));
+
+ if (count) {
+ ld->genlist = content = _mc_create_genlist(list);
+ evas_object_data_set(content, "track_list_data", ld);
+ mp_media_info_list_create(&ld->track_list, ld->t_type,
+ ld->type_str, NULL, NULL,
+ ld->playlist_id, 0, count);
+ if (ld->ad->select_type == MC_SELECT_MULTI) {
+ elm_genlist_item_append(content, &ld->itc_select_all, ld, NULL,
+ ELM_GENLIST_ITEM_NONE,
+ _mc_track_list_select_cb, ld);
+ }
+ int i = 0;
+ for (i = 0; i < count; i++) {
+ mp_media_info_h media =
+ mp_media_info_list_nth_item(ld->track_list, i);
+ list_item_data_t *data = calloc(1, sizeof(list_item_data_t));
+ if (data) {
+ data->media = media;
+ data->ad = ad;
+ data->index = i;
+ if (ld->t_type == MP_TRACK_ALL) {
+ data->list_type = MC_TRACK;
+ } else if (ld->t_type == MP_TRACK_BY_ARTIST) {
+ data->list_type = MC_ARTIST_TRACK;
+ } else if (ld->t_type == MP_TRACK_BY_ALBUM) {
+ data->list_type = MC_ALBUM_TRACK;
+ } else if (ld->t_type == MP_TRACK_BY_FOLDER) {
+ data->list_type = MC_FOLDER_TRACK;
+ }
+
+ data->it =
+ elm_genlist_item_append(content, &ld->itc, data, NULL,
+ ELM_GENLIST_ITEM_NONE,
+ _gl_sel_cb, ld);
+ elm_object_item_data_set(data->it, data);
+ }
+ }
+ } else {
+ content = mc_widget_no_content_add(list, NO_CONTENT_SONG);
+ }
+
+ elm_layout_content_set(list, "list_content", content);
+ /*add index */
+
+ if (count > 0) {
+ if (ld->ad->select_type == MC_SELECT_MULTI) {
+ mc_common_create_fastscroller(list, EINA_TRUE, content);
+ } else {
+ mc_common_create_fastscroller(list, EINA_FALSE, content);
+ }
+ } else {
+ ERROR_TRACE("No content case");
+ elm_object_signal_emit(list, "hide.fastscroll", "*");
+ }
+
+ if (sub_view != NULL) {
+ evas_object_smart_callback_add(ld->genlist, "realized", _clear_cb,
+ sub_view);
+ }
+
+ return 0;
+}
+
+int mc_track_list_set_data(Evas_Object * list, int track_type,
+ const char *type_str, int playlist_id)
+{
+ startfunc;
+ track_list_data_t *ld = GET_LIST_DATA(list);
+ MP_CHECK_VAL(ld, -1);
+
+ ld->t_type = track_type;
+ IF_G_FREE(ld->type_str);
+ ld->type_str = g_strdup(type_str);
+ IF_FREE(type_str);
+ ld->playlist_id = playlist_id;
+
+ return 0;
+}
+
+int mc_track_list_get_radio()
+{
+ int index = elm_radio_value_get(g_radio_main);
+ DEBUG_TRACE("index: %d", index);
+
+ return index;
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+
+#include "mc-track-list.h"
+#include "mp-media-info.h"
+#include "mc-common.h"
+
+typedef struct {
+ struct app_data *ad;
+
+ Evas_Object *no_content;
+ Evas_Object *genlist;
+
+ Elm_Genlist_Item_Class itc;
+ mp_media_list_h voice_clip_list;
+
+ Ecore_Timer *destroy_timer;
+} voice_clip_list_data_t;
+
+#define GET_LIST_DATA(obj) evas_object_data_get(obj, "list_data")
+
+static Evas_Object *_mc_create_genlist(Evas_Object * parent)
+{
+ Evas_Object *genlist = NULL;
+ MP_CHECK_NULL(parent);
+
+ genlist = elm_genlist_add(parent);
+ elm_genlist_select_mode_set(genlist, ELM_OBJECT_SELECT_MODE_ALWAYS);
+
+ return genlist;
+}
+
+static char *_gl_text_get(void *data, Evas_Object * obj, const char *part)
+{
+ char *text = NULL;
+
+ int ret = 0;
+ if (strcmp(part, "elm.text") == 0) {
+ ret = mp_media_info_get_title(data, &text);
+ MP_CHECK_NULL(ret == 0);
+ return g_strdup(text);
+ }
+ return NULL;
+}
+
+static Eina_Bool _destory_timer_cb(void *data)
+{
+ voice_clip_list_data_t *ld = data;
+ MP_CHECK_FALSE(ld);
+ ld->destroy_timer = NULL;
+ elm_exit();
+ return EINA_FALSE;
+}
+
+static void _gl_sel_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ startfunc;
+ voice_clip_list_data_t *ld = data;
+ char *path = NULL;
+
+ elm_genlist_item_selected_set(event_info, EINA_FALSE);
+ MP_CHECK(ld);
+ MP_CHECK(!ld->destroy_timer);
+
+ mp_media_info_h media = elm_object_item_data_get(event_info);
+ MP_CHECK(media);
+ mp_media_info_get_file_path(media, &path);
+ DEBUG_TRACE("path: %s", path);
+
+ app_control_h service = NULL;
+ app_control_create(&service);
+ app_control_add_extra_data(service, APP_CONTROL_DATA_PATH, path);
+
+ app_control_reply_to_launch_request(service, ld->ad->service,
+ APP_CONTROL_RESULT_SUCCEEDED);
+
+ ld->destroy_timer = ecore_timer_add(0.1, _destory_timer_cb, ld);
+
+ app_control_destroy(service);
+}
+
+static void
+_layout_del_cb(void *data, Evas * e, Evas_Object * obj, void *event_info)
+{
+ startfunc;
+ voice_clip_list_data_t *ld = data;
+ MP_CHECK(ld);
+
+ free(ld);
+}
+
+Evas_Object *mc_voice_clip_list_create(Evas_Object * parent,
+ struct app_data *ad)
+{
+ startfunc;
+ Evas_Object *layout;
+ voice_clip_list_data_t *ld = NULL;
+
+ MP_CHECK_NULL(parent);
+ MP_CHECK_NULL(ad);
+
+ layout = elm_layout_add(parent);
+ elm_layout_theme_set(layout, "layout", "application", "default");
+ MP_CHECK_NULL(layout);
+
+ ld = calloc(1, sizeof(voice_clip_list_data_t));
+ MP_CHECK_NULL(ld);
+
+ ld->ad = ad;
+
+ evas_object_data_set(layout, "list_data", ld);
+ evas_object_event_callback_add(layout, EVAS_CALLBACK_FREE,
+ _layout_del_cb, ld);
+
+ ld->itc.func.content_get = NULL;
+ ld->itc.item_style = "1text";
+ ld->itc.func.text_get = _gl_text_get;
+
+ return layout;
+}
+
+int mc_voice_clip_list_update(Evas_Object * list)
+{
+ startfunc;
+ Evas_Object *content;
+
+ int count = 0;
+ voice_clip_list_data_t *ld = GET_LIST_DATA(list);
+ MP_CHECK_VAL(ld, -1);
+
+ if (ld->voice_clip_list) {
+ mp_media_info_list_destroy(ld->voice_clip_list);
+ ld->voice_clip_list = NULL;
+ }
+
+ content = elm_layout_content_get(list, "elm.swallow.content");
+ evas_object_del(content);
+
+ mp_media_info_list_count(MP_TRACK_BY_VOICE_CLIP, NULL, NULL, NULL, 0,
+ &count);
+ if (count) {
+ content = _mc_create_genlist(list);
+ mp_media_info_list_create(&ld->voice_clip_list,
+ MP_TRACK_BY_VOICE_CLIP, NULL, NULL, NULL,
+ 0, 0, count);
+ int i = 0;
+ for (i = 0; i < count; i++) {
+ mp_media_info_h media =
+ mp_media_info_list_nth_item(ld->voice_clip_list, i);
+ elm_genlist_item_append(content, &ld->itc, media, NULL,
+ ELM_GENLIST_ITEM_NONE, _gl_sel_cb, ld);
+ }
+ } else {
+ content = mc_widget_no_content_add(list, NO_CONTENT_SONG);
+ }
+
+ elm_layout_content_set(list, "elm.swallow.content", content);
+
+ return 0;
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include "music-chooser.h"
+#include "mc-common.h"
+
+Evas_Object *mc_widget_no_content_add(Evas_Object * parent,
+ NoContentType_e type)
+{
+ MP_CHECK_NULL(parent);
+ Evas_Object *nocontents = NULL;
+ nocontents = elm_layout_add(parent);
+ elm_layout_theme_set(nocontents, "layout", "nocontents", "default");
+
+ Evas_Object *icon = elm_image_add(nocontents);
+ char *shared_path = app_get_shared_resource_path();
+ char nocontent_mm[1024] = { 0 };
+ snprintf(nocontent_mm, 1024, "%s%s/%s", shared_path, "shared_images",
+ NOCONTENT_MULTIMEDIA);
+ free(shared_path);
+ elm_image_file_set(icon, nocontent_mm, NULL);
+ elm_object_part_content_set(nocontents, "nocontents.image", icon);
+
+ const char *ids;
+ if (type == NO_CONTENT_PLAYLIST) {
+ ids = MC_TEXT_NO_PLAYLIST;
+ } else if (type == NO_CONTENT_ALBUM) {
+ ids = MC_TEXT_NO_ALBUM;
+ } else if (type == NO_CONTENT_ARTIST) {
+ ids = MC_TEXT_NO_ARTIST;
+ } else {
+ ids = MC_TEXT_NO_SONGS;
+ }
+
+ //elm_object_text_set(nocontents, GET_STR(ids));
+ mc_common_obj_domain_text_translate(nocontents, ids);
+ elm_object_focus_allow_set(nocontents, EINA_TRUE);
+
+ return nocontents;
+}
+
+static void _mc_win_del(void *data, Evas_Object * obj, void *event)
+{
+ elm_exit();
+}
+
+
+Evas_Object *mc_create_win(const char *name)
+{
+ Evas_Object *eo;
+ int w, h;
+
+ eo = elm_win_add(NULL, name, ELM_WIN_BASIC);
+ if (eo) {
+ elm_win_title_set(eo, name);
+ evas_object_smart_callback_add(eo, "delete,request", _mc_win_del,
+ NULL);
+ elm_win_screen_size_get(eo, NULL, NULL, &w, &h);
+ evas_object_resize(eo, w, h);
+ //set indicator as transparent
+ elm_win_indicator_mode_set(eo, ELM_WIN_INDICATOR_SHOW);
+ elm_win_indicator_opacity_set(eo, ELM_WIN_INDICATOR_TRANSPARENT);
+ elm_win_conformant_set(eo, EINA_TRUE);
+ }
+ return eo;
+}
+
+Evas_Object *mc_widget_create_title_icon_btn(Evas_Object * parent,
+ const char *file,
+ const char *group,
+ Evas_Smart_Cb func,
+ void *data)
+{
+ Evas_Object *ic;
+ Evas_Object *btn = elm_button_add(parent);
+ if (!btn) {
+ return NULL;
+ }
+ elm_object_style_set(btn, "naviframe/title_icon");
+
+ ic = elm_image_add(parent);
+ elm_image_file_set(ic, file, group);
+ evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_BOTH, 1, 1);
+ elm_image_resizable_set(ic, EINA_TRUE, EINA_TRUE);
+ elm_object_part_content_set(btn, "icon", ic);
+
+ evas_object_smart_callback_add(btn, "clicked", func, data);
+ evas_object_show(btn);
+ return btn;
+}
+
+Evas_Object *mc_widget_create_naviframe_toolbar(Elm_Object_Item * navi_it)
+{
+ Evas_Object *toolbar =
+ elm_object_item_part_content_unset(navi_it, "toolbar");
+ if (toolbar) {
+ evas_object_del(toolbar);
+ toolbar = NULL;
+ }
+
+ toolbar = elm_toolbar_add(elm_object_item_widget_get(navi_it));
+ MP_CHECK_NULL(toolbar);
+
+ elm_object_style_set(toolbar, "tabbar");
+ elm_toolbar_shrink_mode_set(toolbar, ELM_TOOLBAR_SHRINK_EXPAND);
+ elm_toolbar_transverse_expanded_set(toolbar, EINA_TRUE);
+ elm_object_item_part_content_set(navi_it, "toolbar", toolbar);
+
+ return toolbar;
+}
+
+Elm_Object_Item *mc_widget_create_toolbar_item_btn(Evas_Object * parent,
+ const char *style,
+ const char *text,
+ Evas_Smart_Cb func,
+ void *data)
+{
+ Evas_Object *toolbar = parent;
+ MP_CHECK_NULL(toolbar);
+
+ Elm_Object_Item *toolbar_item = NULL;
+ //Evas_Object *toolbar_obj_item = NULL;
+
+ toolbar_item =
+ elm_toolbar_item_append(toolbar, NULL, text, func, data);
+ //toolbar_obj_item = elm_toolbar_item_object_get(toolbar_item);
+ return toolbar_item;
+}
+
+static inline const char *_mc_get_text_domain(const char *string_id)
+{
+ const char *domain = DOMAIN_NAME;
+
+ return domain;
+}
+
+Evas_Object *mc_widget_create_navi_left_btn(Evas_Object * pParent,
+ Elm_Object_Item * pNaviItem,
+ Evas_Smart_Cb pFunc,
+ void *pUserData)
+{
+
+ if (!pParent || !pNaviItem) {
+ ERROR_TRACE("parent is NULL.");
+ return NULL;
+ }
+ Evas_Object *pLeftbtn = NULL;
+ pLeftbtn = elm_button_add(pParent);
+ elm_object_style_set(pLeftbtn, "naviframe/title_left");
+ evas_object_smart_callback_add(pLeftbtn, "clicked", pFunc, pUserData);
+ const char *domain = _mc_get_text_domain(STR_MP_NAVI_CANCEL);
+ elm_object_domain_translatable_text_set(pLeftbtn, domain,
+ STR_MP_NAVI_CANCEL);
+
+ if (!pLeftbtn) {
+ ERROR_TRACE("[ERR] Fail to create pLeftbtn");
+ return NULL;
+ }
+
+ elm_object_item_part_content_set(pNaviItem, "title_left_btn",
+ pLeftbtn);
+
+ evas_object_show(pLeftbtn);
+
+ return pLeftbtn;
+}
+
+Evas_Object *mc_widget_create_navi_right_btn(Evas_Object * pParent,
+ Elm_Object_Item * pNaviItem,
+ Evas_Smart_Cb pFunc,
+ void *pUserData)
+{
+
+ if (!pParent || !pNaviItem) {
+ ERROR_TRACE("parent is NULL.");
+ return NULL;
+ }
+
+ Evas_Object *pRightbtn = NULL;
+
+ pRightbtn = elm_button_add(pParent);
+ elm_object_style_set(pRightbtn, "naviframe/title_right");
+ evas_object_smart_callback_add(pRightbtn, "clicked", pFunc, pUserData);
+ const char *domain = _mc_get_text_domain(STR_MP_NAVI_DONE);
+ elm_object_domain_translatable_text_set(pRightbtn, domain,
+ STR_MP_NAVI_DONE);
+
+ if (!pRightbtn) {
+ ERROR_TRACE("[ERR] Fail to create pRightbtn");
+ return NULL;
+ }
+
+ elm_object_item_part_content_set(pNaviItem, "title_right_btn",
+ pRightbtn);
+ elm_object_disabled_set(pRightbtn, EINA_TRUE);
+
+ evas_object_show(pRightbtn);
+
+ return pRightbtn;
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef MC_MODULE_API
+#define MC_MODULE_API __attribute__ ((visibility("default")))
+#endif
+
+#include <Elementary.h>
+#include <stdbool.h>
+#include <glib.h>
+#include <efl_extension.h>
+
+#include "music-chooser.h"
+#include "mc-select-view.h"
+#include "mc-library-view.h"
+#include "mp-media-info.h"
+#include "mc-list-play.h"
+
+#define MC_SELECT_URI_KEY "select_uri"
+#define THEME_NAME "mp-custom-winset-style.edj"
+
+static bool
+_mc_app_control_extra_data_cb(app_control_h service, const char *key,
+ void *user_data)
+{
+ startfunc;
+ char *val = NULL;
+ struct app_data *ad = user_data;
+ MP_CHECK_FALSE(ad);
+
+ app_control_get_extra_data(service, key, &val);
+ DEBUG_TRACE("key: %s, val: %s", key, val);
+
+ if (!g_strcmp0(key, MC_REQ_TYPE_KEY)) {
+ if (!g_strcmp0(val, MC_REQ_SHORT_ALBUM_VAL)) {
+ ad->select_type = MC_SHORTCUT_ALBUM;
+ } else if (!g_strcmp0(val, MC_REQ_SHORT_PLAYLIST_VAL)) {
+ ad->select_type = MC_SHORTCUT_PLAYLIST;
+ } else if (!g_strcmp0(val, MC_REQ_SHORT_ARTIST_VAL)) {
+ ad->select_type = MC_SHORTCUT_ARTIST;
+ } else if (!g_strcmp0(val, MC_REQ_SELECT_SINGLE)) {
+ ad->select_type = MC_SELECT_SINGLE;
+ } else if (!g_strcmp0(val, MC_REQ_SELECT_SINGLE_RINGTONE)) {
+ ad->select_type = MC_SELECT_SINGLE_RINGTONE;
+ app_control_get_extra_data(service, MC_SELECT_URI_KEY,
+ &ad->select_uri);
+ } else if (!g_strcmp0(val, MC_REQ_SELECT_MULTI)) {
+ ad->select_type = MC_SELECT_MULTI;
+ } else if (!g_strcmp0(val, MC_REQ_VOICE_CLIP)) {
+ ad->select_type = MC_SELECT_VOICE_CLIP;
+ } else if (!g_strcmp0(val, MC_REQ_GROUP_PLAY)) {
+ ad->select_type = MC_SELECT_GROUP_PLAY;
+ } else {
+ WARN_TRACE("unsupported type: %s", val);
+ }
+ } else if (!g_strcmp0(key, MC_REQ_SHOW_RECOMMENDED_KEY)) {
+ if (!g_strcmp0(val, MC_SHOW_VAL)) {
+ ad->auto_recommended_show = TRUE;
+ }
+ }
+
+ IF_FREE(val);
+ endfunc;
+ return true;
+}
+
+static void _parse_service(struct app_data *ad, app_control_h service)
+{
+ startfunc;
+ char *operation = NULL;
+ char *value = NULL;
+
+ app_control_get_operation(service, &operation);
+ DEBUG_TRACE("operation: %s", operation);
+
+ if (!g_strcmp0(operation, APP_CONTROL_OPERATION_PICK)) {
+ ad->max_count = 0;
+ ad->limitsize = -1;
+ app_control_get_extra_data(service, MC_SELECT_MODE_KEY, &value);
+ DEBUG_TRACE("Operation: %s", value);
+
+ if (!g_strcmp0(value, MC_SELECT_MULTIPLE)) {
+ ad->select_type = MC_SELECT_MULTI;
+ } else {
+ ad->select_type = MC_SELECT_SINGLE;
+ }
+ IF_FREE(value);
+ }
+ app_control_foreach_extra_data(service, _mc_app_control_extra_data_cb,
+ ad);
+
+ //END:
+ IF_FREE(operation);
+ endfunc;
+}
+
+static Evas_Object *_mc_create_fullview(Evas_Object * parent,
+ struct app_data *ad)
+{
+ Evas_Object *base_layout;
+
+ base_layout = elm_layout_add(parent);
+
+ mp_retv_if(base_layout == NULL, NULL);
+
+ elm_layout_theme_set(base_layout, "layout", "application", "default");
+
+ return base_layout;
+}
+
+static Evas_Object *_mc_create_navigation_layout(Evas_Object * parent)
+{
+ Evas_Object *navi_bar;
+
+ mp_retv_if(parent == NULL, NULL);
+
+ navi_bar = elm_naviframe_add(parent);
+ evas_object_show(navi_bar);
+
+ elm_naviframe_prev_btn_auto_pushed_set(navi_bar, EINA_FALSE);
+ eext_object_event_callback_add(navi_bar, EEXT_CALLBACK_BACK,
+ eext_naviframe_back_cb, NULL);
+ eext_object_event_callback_add(navi_bar, EEXT_CALLBACK_MORE,
+ eext_naviframe_more_cb, NULL);
+
+ return navi_bar;
+}
+
+static Evas_Object *_mc_crete_bg(Evas_Object * parent)
+{
+ Evas_Object *bg = elm_bg_add(parent);
+ evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ elm_object_style_set(bg, "group_list");
+ evas_object_show(bg);
+ return bg;
+}
+
+static bool mc_create(void *data)
+{
+ DEBUG_TRACE("");
+
+ struct app_data *ad = NULL;
+
+ ad = (struct app_data *) data;
+
+ ad->win = mc_create_win("music-lite-chooser");
+
+ elm_win_conformant_set(ad->win, EINA_TRUE);
+ elm_win_autodel_set(ad->win, EINA_TRUE);
+
+ if (elm_win_wm_rotation_supported_get(ad->win)) {
+ int rots[4] = { 0, 90, 180, 270 };
+ elm_win_wm_rotation_available_rotations_set(ad->win,
+ (const int *) (&rots),
+ 4);
+ }
+
+ Evas_Object *conformant = NULL;
+ conformant = elm_conformant_add(ad->win);
+ evas_object_size_hint_weight_set(conformant, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ elm_win_resize_object_add(ad->win, conformant);
+ evas_object_show(conformant);
+ ad->conformant = conformant;
+
+ //support light theme
+ char edje_path[1024] = { 0 };
+ char *path = app_get_resource_path();
+ MP_CHECK_VAL(path, EINA_FALSE);
+ snprintf(edje_path, 1024, "%s%s/%s", path, "edje", THEME_NAME);
+ elm_theme_extension_add(NULL, edje_path);
+ free(path);
+
+ DEBUG_TRACE("end");
+
+ return EINA_TRUE;
+}
+
+static void mc_app_control(app_control_h app_control, void *data)
+{
+ eventfunc;
+
+ Evas_Object *parent = NULL;
+ struct app_data *ad = NULL;
+ ad = (struct app_data *) data;
+ parent = ad->win;
+ MP_CHECK(ad->win);
+
+ app_control_clone(&ad->service, app_control);
+
+ char locale_path[1024] = { 0 };
+ char *path = app_get_resource_path();
+ if (path == NULL) {
+ return;
+ }
+ snprintf(locale_path, 1024, "%s%s", path, LOCALE_DIR);
+ DEBUG_TRACE("locale_path is: %s", locale_path);
+ bindtextdomain(DOMAIN_NAME, locale_path);
+ free(path);
+
+ mp_media_info_connect();
+ _parse_service(ad, app_control);
+
+ ad->base_layout = _mc_create_fullview(ad->conformant, ad);
+
+ if (ad->base_layout) {
+ Evas_Object *bg = _mc_crete_bg(ad->base_layout);
+ if (bg) {
+ elm_win_resize_object_add(parent, bg);
+ }
+
+ elm_object_part_content_set(ad->base_layout, "elm.swallow.bg", bg);
+ ad->navi_bar = _mc_create_navigation_layout(ad->base_layout);
+ elm_object_part_content_set(ad->base_layout, "elm.swallow.content",
+ ad->navi_bar);
+ }
+
+ if (ad->select_type >= MC_SHORTCUT_ALBUM) {
+ mc_select_view_create(ad);
+ } else {
+ mc_library_view_create(ad);
+ }
+
+ elm_object_content_set(ad->conformant, ad->base_layout);
+ evas_object_show(parent);
+
+ return;
+}
+
+static void mc_pause(void *data)
+{
+ DEBUG_TRACE("");
+ mc_pre_play_mgr_destroy_play();
+
+ return;
+}
+
+static void mc_resume(void *data)
+{
+ DEBUG_TRACE("");
+
+ return;
+}
+
+
+static void mc_destroy(void *data)
+{
+ DEBUG_TRACE("");
+ struct app_data *ad = data;
+
+ mp_media_info_disconnect();
+ if (ad) {
+ if (ad->base_layout) {
+ evas_object_del(ad->base_layout);
+ ad->base_layout = NULL;
+ }
+ //elm_theme_free(ad->th);
+
+ elm_win_lower(ad->win);
+
+ if (ad->smat_pipe) {
+ ecore_pipe_del(ad->smat_pipe);
+ ad->smat_pipe = NULL;
+ }
+ }
+}
+
+static void
+__mc_language_changed_cb(app_event_info_h event_info, void *user_data)
+{
+ eventfunc;
+ DEBUG_TRACE("Language changed triggered");
+
+ char *lang = NULL;
+ app_event_get_language(event_info, &lang);
+ if (lang) {
+ elm_language_set(lang);
+ free(lang);
+ }
+}
+
+EXPORT_API int main(int argc, char *argv[])
+{
+ struct app_data ad;
+ ui_app_lifecycle_callback_s event_callbacks;
+
+ memset(&event_callbacks, 0x0, sizeof(ui_app_lifecycle_callback_s));
+ memset(&ad, 0x0, sizeof(struct app_data));
+
+ int nRet = APP_ERROR_NONE;
+ app_event_handler_h hLowMemoryHandle;
+ app_event_handler_h hLowBatteryHandle;
+ app_event_handler_h hLanguageChangedHandle;
+// app_event_handler_h hDeviceOrientationChangedHandle;
+ app_event_handler_h hRegionFormatChangedHandle;
+
+ event_callbacks.create = mc_create;
+ event_callbacks.app_control = mc_app_control;
+ event_callbacks.pause = mc_pause;
+ event_callbacks.resume = mc_resume;
+ event_callbacks.terminate = mc_destroy;
+
+ nRet =
+ ui_app_add_event_handler(&hLowMemoryHandle, APP_EVENT_LOW_MEMORY,
+ NULL, (void *) &ad);
+ if (nRet != APP_ERROR_NONE) {
+ WARN_TRACE
+ ("APP_EVENT_LOW_MEMORY ui_app_add_event_handler failed : [%d]!!!",
+ nRet);
+ }
+
+ nRet =
+ ui_app_add_event_handler(&hLowBatteryHandle, APP_EVENT_LOW_BATTERY,
+ NULL, (void *) &ad);
+ if (nRet != APP_ERROR_NONE) {
+ WARN_TRACE
+ ("APP_EVENT_LOW_BATTERY ui_app_add_event_handler failed : [%d]!!!",
+ nRet);
+ }
+
+ nRet =
+ ui_app_add_event_handler(&hLanguageChangedHandle,
+ APP_EVENT_LANGUAGE_CHANGED,
+ __mc_language_changed_cb, (void *) &ad);
+ if (nRet != APP_ERROR_NONE) {
+ WARN_TRACE
+ ("APP_EVENT_LANGUAGE_CHANGED ui_app_add_event_handler failed : [%d]!!!",
+ nRet);
+ }
+// nRet = ui_app_add_event_handler( &hDeviceOrientationChangedHandle, APP_EVENT_DEVICE_ORIENTATION_CHANGED, mc_device_orientation, (void*)&ad );
+// if (nRet != APP_ERROR_NONE) {
+// ERROR_TRACE("APP_EVENT_LANGUAGE_CHANGED ui_app_add_event_handler failed : [%d]!!!", nRet);
+// return -1;
+// }
+
+ nRet =
+ ui_app_add_event_handler(&hRegionFormatChangedHandle,
+ APP_EVENT_REGION_FORMAT_CHANGED, NULL,
+ (void *) &ad);
+ if (nRet != APP_ERROR_NONE) {
+ WARN_TRACE
+ ("APP_EVENT_REGION_FORMAT_CHANGED ui_app_add_event_handler failed : [%d]!!!",
+ nRet);
+ }
+
+ int ret = ui_app_main(argc, argv, &event_callbacks, &ad);
+ if (ret != 0) {
+ ERROR_TRACE("ret failed %d", ret);
+ }
+ return ret;
+}
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<manifest xmlns="http://tizen.org/ns/packages" api-version="3.0" package="org.tizen.music-chooser" version="1.0.0">
+ <profile name="mobile"/>
+ <ui-application appid="org.tizen.music-chooser" exec="music-chooser" hw-acceleration="on" launch_mode="caller" multiple="true" nodisplay="true" taskmanage="false" type="capp">
+ <label>Music</label>
+ <label xml:lang="hy-am">Երաժշտությն</label>
+ <label xml:lang="az-az">Musiqi</label>
+ <label xml:lang="eu-es">Musika</label>
+ <label xml:lang="bg-bg">Музика</label>
+ <label xml:lang="ca-es">Música</label>
+ <label xml:lang="zh-cn">音乐</label>
+ <label xml:lang="zh-hk">音樂</label>
+ <label xml:lang="zh-tw">音樂</label>
+ <label xml:lang="hr-hr">Glazba</label>
+ <label xml:lang="cs-cz">Hudba</label>
+ <label xml:lang="da-dk">Musik</label>
+ <label xml:lang="nl-nl">Muziek</label>
+ <label xml:lang="en-gb">Music</label>
+ <label xml:lang="en-us">Music</label>
+ <label xml:lang="et-ee">Muusika</label>
+ <label xml:lang="fi-fi">Musiikki</label>
+ <label xml:lang="fr-fr">Musique</label>
+ <label xml:lang="gl-es">Música</label>
+ <label xml:lang="ka-ge">მუსიკა</label>
+ <label xml:lang="de-de">Musik</label>
+ <label xml:lang="el-gr">Μουσική</label>
+ <label xml:lang="hu-hu">Zenék</label>
+ <label xml:lang="is-is">Tónlist</label>
+ <label xml:lang="ga-ie">Ceol</label>
+ <label xml:lang="it-it">Musica</label>
+ <label xml:lang="ja-jp">音楽</label>
+ <label xml:lang="kk-kz">Музыка</label>
+ <label xml:lang="ko-kr">음악</label>
+ <label xml:lang="lv-lv">Mūzika</label>
+ <label xml:lang="lt-lt">Muzika</label>
+ <label xml:lang="mk-mk">Музика</label>
+ <label xml:lang="nb-no">Musikk</label>
+ <label xml:lang="pl-pl">Muzyka</label>
+ <label xml:lang="pt-pt">Música</label>
+ <label xml:lang="pt-br">Músicas</label>
+ <label xml:lang="ro-ro">Muzică</label>
+ <label xml:lang="ru-ru">Музыка</label>
+ <label xml:lang="sr-rs">Muzika</label>
+ <label xml:lang="sk-sk">Hudba</label>
+ <label xml:lang="sl-si">Glasba</label>
+ <label xml:lang="es-es">Música</label>
+ <label xml:lang="es-mx">Música</label>
+ <label xml:lang="sv-se">Musik</label>
+ <label xml:lang="tr-tr">Müzik</label>
+ <label xml:lang="uk-ua">Музика</label>
+ <label xml:lang="uz-uz">Musiqa</label>
+ <label xml:lang="ar-ae">الموسيقى</label>
+ <label xml:lang="zh-sg">音乐</label>
+ <label xml:lang="hi-in">संगीत</label>
+ <label xml:lang="en-ph">Music</label>
+ <label xml:lang="fr-ca">Musique</label>
+ <icon>music-chooser.png</icon>
+ <app-control>
+ <operation name="http://tizen.org/appcontrol/operation/pick"/>
+ <mime name="audio/*"/>
+ </app-control>
+ </ui-application>
+ <privileges>
+ <privilege>http://tizen.org/privilege/mediastorage</privilege>
+ <privilege>http://tizen.org/privilege/notification</privilege>
+ <privilege>http://tizen.org/privilege/externalstorage.appdata</privilege>
+ <privilege>http://tizen.org/privilege/externalstorage</privilege>
+ </privileges>
+</manifest>
--- /dev/null
+<manifest>
+ <request>
+ <domain name="_"/>
+ </request>
+</manifest>
+
--- /dev/null
+<manifest>
+ <request>
+ <domain name="_" />
+ </request>
+</manifest>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<manifest xmlns="http://tizen.org/ns/packages" package="org.tizen.music-player" version="0.1.0" install-location="internal-only" api-version="2.4">
+ <label>Music</label>
+ <author email="hm2007.kim@samsung.com" href="www.samsung.com">Hyungmin Kim</author>
+ <description>Music player</description>
+ <ui-application appid="org.tizen.music-player" exec="/usr/apps/org.tizen.music-player/bin/music-player" nodisplay="false" multiple="false" type="capp" taskmanage="true" hw-acceleration="on" process-pool="true" indicatordisplay="false" effectimage-type="edj-light" portrait-effectimage="/usr/apps/org.tizen.music-player/shared/res/mp-fake-effect.edj">
+ <metadata key="http://developer.samsung.com/tizen/metadata/multiwindow"/>
+ <label>Music</label>
+ <icon>org.tizen.music-player.png</icon>
+ <label xml:lang="hy-am">Երաժշտություն</label>
+ <label xml:lang="az-az">Musiqi</label>
+ <label xml:lang="eu-es">Musika</label>
+ <label xml:lang="bg-bg">Музика</label>
+ <label xml:lang="ca-es">Música</label>
+ <label xml:lang="zh-cn">音乐</label>
+ <label xml:lang="zh-hk">音樂</label>
+ <label xml:lang="zh-tw">音樂</label>
+ <label xml:lang="hr-hr">Glazba</label>
+ <label xml:lang="cs-cz">Hudba</label>
+ <label xml:lang="da-dk">Musik</label>
+ <label xml:lang="nl-nl">Muziek</label>
+ <label xml:lang="en-gb">Music</label>
+ <label xml:lang="en-us">Music</label>
+ <label xml:lang="et-ee">Muusika</label>
+ <label xml:lang="fi-fi">Musiikki</label>
+ <label xml:lang="fr-fr">Musique</label>
+ <label xml:lang="gl-es">Música</label>
+ <label xml:lang="ka-ge">მუსიკა</label>
+ <label xml:lang="de-de">Musik</label>
+ <label xml:lang="el-gr">Μουσική</label>
+ <label xml:lang="hu-hu">Zenék</label>
+ <label xml:lang="is-is">Tónlist</label>
+ <label xml:lang="ga-ie">Ceol</label>
+ <label xml:lang="it-it">Musica</label>
+ <label xml:lang="ja-jp">音楽</label>
+ <label xml:lang="kk-kz">Музыка</label>
+ <label xml:lang="ko-kr">음악</label>
+ <label xml:lang="lv-lv">Mūzika</label>
+ <label xml:lang="lt-lt">Muzika</label>
+ <label xml:lang="mk-mk">Музика</label>
+ <label xml:lang="nb-no">Musikk</label>
+ <label xml:lang="pl-pl">Muzyka</label>
+ <label xml:lang="pt-pt">Música</label>
+ <label xml:lang="pt-br">Músicas</label>
+ <label xml:lang="ro-ro">Muzică</label>
+ <label xml:lang="ru-ru">Музыка</label>
+ <label xml:lang="sr-rs">Muzika</label>
+ <label xml:lang="sk-sk">Hudba</label>
+ <label xml:lang="sl-si">Glasba</label>
+ <label xml:lang="es-es">Música</label>
+ <label xml:lang="es-us">Música</label>
+ <label xml:lang="sv-se">Musik</label>
+ <label xml:lang="tr-tr">Müzik</label>
+ <label xml:lang="uk-ua">Музика</label>
+ <label xml:lang="uz-uz">Musiqa</label>
+ <label xml:lang="ar-ae">الموسيقى</label>
+ <label xml:lang="zh-sg">音乐</label>
+ <label xml:lang="hi-in">संगीत</label>
+ <label xml:lang="en-ph">Music</label>
+ <label xml:lang="fr-ca">Musique</label>
+ <background-category value="media"/>
+ </ui-application>
+
+ <ui-application appid="org.tizen.sound-player" exec="/usr/apps/org.tizen.sound-player/bin/sound-player" nodisplay="true" multiple="false" type="capp" taskmanage="true" launch_mode="caller">
+ <label>Sound Player</label>
+ <icon>org.tizen.sound-player.png</icon>
+ <label xml:lang="hy-am">Ձայնի նվագարկում</label>
+ <label xml:lang="az-az">Səs pleyeri</label>
+ <label xml:lang="eu-es">Soinu erreproduzitzailea</label>
+ <label xml:lang="bg-bg">Звуков плейър</label>
+ <label xml:lang="ca-es">Reproductor de so</label>
+ <label xml:lang="zh-cn">声音播放器</label>
+ <label xml:lang="zh-hk">聲音播放器</label>
+ <label xml:lang="zh-tw">聲音播放器</label>
+ <label xml:lang="hr-hr">MP3 player</label>
+ <label xml:lang="cs-cz">Zvukový přehrávač</label>
+ <label xml:lang="da-dk">Lydafspiller</label>
+ <label xml:lang="nl-nl">MP3-speler</label>
+ <label xml:lang="en-gb">Sound player</label>
+ <label xml:lang="en-us">Sound player</label>
+ <label xml:lang="et-ee">Helimängija</label>
+ <label xml:lang="fi-fi">Soitin</label>
+ <label xml:lang="fr-fr">Lecteur de son</label>
+ <label xml:lang="gl-es">Reprodutor de son</label>
+ <label xml:lang="ka-ge">პლეერი</label>
+ <label xml:lang="de-de">Sound-Player</label>
+ <label xml:lang="el-gr">Αναπαραγωγή ήχου</label>
+ <label xml:lang="hu-hu">Hanglejátszó</label>
+ <label xml:lang="is-is">Hljóðspilun</label>
+ <label xml:lang="ga-ie">Seinnteoir fuaime</label>
+ <label xml:lang="it-it">Lettore suoni</label>
+ <label xml:lang="ja-jp">サウンドプレーヤー</label>
+ <label xml:lang="kk-kz">Дыбыс ойнатқышы</label>
+ <label xml:lang="ko-kr">사운드 플레이어</label>
+ <label xml:lang="lv-lv">Audio atskaņotājs</label>
+ <label xml:lang="lt-lt">Garso grotuvas</label>
+ <label xml:lang="mk-mk">Плеер за звук</label>
+ <label xml:lang="nb-no">Lydspiller</label>
+ <label xml:lang="pl-pl">Odtwarzacz muzyki</label>
+ <label xml:lang="pt-pt">Leitor de som</label>
+ <label xml:lang="pt-br">Player de som</label>
+ <label xml:lang="ro-ro">Player sunete</label>
+ <label xml:lang="ru-ru">Аудиоплеер</label>
+ <label xml:lang="sr-rs">Plejer zvuka</label>
+ <label xml:lang="sk-sk">Prehrávač zvuku</label>
+ <label xml:lang="sl-si">Predvajalnik zvoka</label>
+ <label xml:lang="es-es">Reproductor de sonido</label>
+ <label xml:lang="es-us">Música</label>
+ <label xml:lang="sv-se">Ljudspelare</label>
+ <label xml:lang="tr-tr">Ses oynatıcı</label>
+ <label xml:lang="uk-ua">Музичний плеєр</label>
+ <label xml:lang="uz-uz">Tovush pleyeri</label>
+ <label xml:lang="ar-ae">مشغل الصوت</label>
+ <label xml:lang="zh-sg">声音播放器</label>
+ <label xml:lang="hi-in">ध्वनि प्लेयर</label>
+ <label xml:lang="en-ph">Sound player</label>
+ <label xml:lang="fr-ca">Lecteur de son</label>
+ <background-category value="media"/>
+ <app-control>
+ <operation name="http://tizen.org/appcontrol/operation/view" />
+ <mime name="application/ogg" />
+ <mime name="application/x-smaf" />
+ <mime name="application/vnd.smaf" />
+ <mime name="audio/aac" />
+ <mime name="audio/ac3" />
+ <mime name="audio/amr" />
+ <mime name="audio/amr-wb" />
+ <mime name="audio/AMR" />
+ <mime name="audio/AMR-WB" />
+ <mime name="audio/imelody" />
+ <mime name="audio/iMelody" />
+ <mime name="audio/imy" />
+ <mime name="audio/isma" />
+ <mime name="audio/melody" />
+ <mime name="audio/mid" />
+ <mime name="audio/midi" />
+ <mime name="audio/mmf" />
+ <mime name="audio/mobile-xmf" />
+ <mime name="audio/mpeg" />
+ <mime name="audio/mpeg3" />
+ <mime name="audio/mpeg4" />
+ <mime name="audio/mpg" />
+ <mime name="audio/mpg3" />
+ <mime name="audio/mp3" />
+ <mime name="audio/mp4" />
+ <mime name="audio/MP4A-LATM" />
+ <mime name="audio/m4a" />
+ <mime name="audio/ogg" />
+ <mime name="audio/rmf" />
+ <mime name="audio/smaf" />
+ <mime name="audio/sp-midi" />
+ <mime name="audio/vnd.ms-playready.media.pya" />
+ <mime name="audio/vorbis" />
+ <mime name="audio/wav" />
+ <mime name="audio/wave" />
+ <mime name="audio/wma" />
+ <mime name="audio/xmf" />
+ <mime name="audio/x-amr" />
+ <mime name="audio/x-flac" />
+ <mime name="audio/x-mid" />
+ <mime name="audio/x-midi" />
+ <mime name="audio/x-mpeg" />
+ <mime name="audio/x-mpeg3" />
+ <mime name="audio/x-mpegaudio" />
+ <mime name="audio/x-mpg" />
+ <mime name="audio/x-mp3" />
+ <mime name="audio/x-ms-asf" />
+ <mime name="audio/x-ms-wma" />
+ <mime name="audio/x-rmf" />
+ <mime name="audio/x-wav" />
+ <mime name="audio/x-wave" />
+ <mime name="audio/x-xmf" />
+ <mime name="text/x-iMelody" />
+ <mime name="audio/x-vorbis+ogg" />
+ <mime name="audio/webm" />
+ <mime name="audio/3gpp" />
+ <mime name="audio/x-ms-asx" />
+ <uri name="http" />
+ <uri name="https" />
+ <uri name="rtsp" />
+ <uri name="rtp" />
+ </app-control>
+ <app-control>
+ <operation name="http://tizen.org/appcontrol/operation/view" />
+ <mime name="application/x-smaf" />
+ <mime name="application/vnd.smaf" />
+ <mime name="audio/aac" />
+ <mime name="audio/ac3" />
+ <mime name="audio/amr" />
+ <mime name="audio/amr-wb" />
+ <mime name="audio/AMR" />
+ <mime name="audio/AMR-WB" />
+ <mime name="audio/imelody" />
+ <mime name="audio/iMelody" />
+ <mime name="audio/imy" />
+ <mime name="audio/isma" />
+ <mime name="audio/melody" />
+ <mime name="audio/mid" />
+ <mime name="audio/midi" />
+ <mime name="audio/mmf" />
+ <mime name="audio/mobile-xmf" />
+ <mime name="audio/mpeg" />
+ <mime name="audio/mpeg3" />
+ <mime name="audio/mpeg4" />
+ <mime name="audio/mpg" />
+ <mime name="audio/mpg3" />
+ <mime name="audio/mp3" />
+ <mime name="audio/mp4" />
+ <mime name="audio/MP4A-LATM" />
+ <mime name="audio/m4a" />
+ <mime name="audio/ogg" />
+ <mime name="audio/rmf" />
+ <mime name="audio/smaf" />
+ <mime name="audio/sp-midi" />
+ <mime name="audio/vnd.ms-playready.media.pya" />
+ <mime name="audio/vorbis" />
+ <mime name="audio/wav" />
+ <mime name="audio/wave" />
+ <mime name="audio/wma" />
+ <mime name="audio/xmf" />
+ <mime name="audio/x-amr" />
+ <mime name="audio/x-flac" />
+ <mime name="audio/x-mid" />
+ <mime name="audio/x-midi" />
+ <mime name="audio/x-mpeg" />
+ <mime name="audio/x-mpeg3" />
+ <mime name="audio/x-mpegaudio" />
+ <mime name="audio/x-mpg" />
+ <mime name="audio/x-mp3" />
+ <mime name="audio/x-ms-asf" />
+ <mime name="audio/x-ms-wma" />
+ <mime name="audio/x-rmf" />
+ <mime name="audio/x-wav" />
+ <mime name="audio/x-wave" />
+ <mime name="audio/x-xmf" />
+ <mime name="text/x-iMelody" />
+ <mime name="audio/x-vorbis+ogg" />
+ <mime name="audio/webm" />
+ <mime name="audio/3gpp" />
+ <mime name="audio/x-ms-asx" />
+
+ </app-control>
+ </ui-application>
+
+ <ui-application component-type="svcapp" auto-restart="false" on-boot="false" appid="org.tizen.music-player.service" exec="/usr/apps/org.tizen.music-player/bin/music-player-service" nodisplay="true" multiple="false" type="capp" taskmanage="false" submode="true" submode-mainid="org.tizen.music-player">
+ <label>music-player service</label>
+ <metadata key="launch-on-attach" value="true"></metadata>
+ </ui-application>
+
+ <privileges>
+ <privilege>http://tizen.org/privilege/mediastorage</privilege>
+ <privilege>http://tizen.org/privilege/appmanager.launch</privilege>
+ <privilege>http://tizen.org/privilege/systemsettings</privilege>
+ <privilege>http://tizen.org/privilege/systemsettings.admin</privilege>
+ <privilege>http://tizen.org/privilege/externalstorage.appdata</privilege>
+ <privilege>http://tizen.org/privilege/externalstorage</privilege>
+ <privilege>http://tizen.org/privilege/notification</privilege>
+ <privilege>http://tizen.org/privilege/display</privilege>
+ <privilege>http://tizen.org/privilege/telephony</privilege>
+ <privilege>http://tizen.org/privilege/network.get</privilege>
+ <privilege>http://tizen.org/privilege/volume.set</privilege>
+ <privilege>http://tizen.org/privilege/content.write</privilege>
+ <privilege>http://tizen.org/privilege/recorder</privilege>
+ </privileges>
+
+ <widget-application appid="org.tizen.music-player.widget" exec="/usr/apps/org.tizen.music-player/bin/music-player-widget" main="false" update-period="60">
+ <label>Music player</label>
+ <label xml:lang="hy-am">Նվագարկիչ</label>
+ <label xml:lang="az-az">Pleyer</label>
+ <label xml:lang="eu-es">Musika Jogailua</label>
+ <label xml:lang="bg-bg">Музикален плейър</label>
+ <label xml:lang="ca-es">Reproductor de música</label>
+ <label xml:lang="zh-cn">音乐播放器</label>
+ <label xml:lang="zh-hk">音樂播放器</label>
+ <label xml:lang="zh-tw">音樂播放器</label>
+ <label xml:lang="hr-hr">Music Player</label>
+ <label xml:lang="cs-cz">Hudební přehrávač</label>
+ <label xml:lang="da-dk">Musikafspiller</label>
+ <label xml:lang="nl-nl">MP3-speler</label>
+ <label xml:lang="en-gb">Music Player</label>
+ <label xml:lang="en-us">Music Player</label>
+ <label xml:lang="et-ee">MP3-mängija</label>
+ <label xml:lang="fi-fi">Musiikki</label>
+ <label xml:lang="fr-fr">Lecteur MP3</label>
+ <label xml:lang="gl-es">Reprodutor de Música</label>
+ <label xml:lang="ka-ge">პლეერი</label>
+ <label xml:lang="de-de">MP3-Player</label>
+ <label xml:lang="el-gr">Μουσική</label>
+ <label xml:lang="hu-hu">Zenelejátszó</label>
+ <label xml:lang="is-is">Tónlistarspilari</label>
+ <label xml:lang="ga-ie">Seinnteoir Ceoil</label>
+ <label xml:lang="it-it">Lettore musicale</label>
+ <label xml:lang="ja-jp">音楽</label>
+ <label xml:lang="kk-kz">Музыкалық плейер</label>
+ <label xml:lang="ko-kr">뮤직</label>
+ <label xml:lang="lv-lv">Mūzikas Atskaņotājs</label>
+ <label xml:lang="lt-lt">Muzikos grotuvas</label>
+ <label xml:lang="mk-mk">Плеер за музика</label>
+ <label xml:lang="nb-no">Musikk-spiller</label>
+ <label xml:lang="pl-pl">Odtwarzacz muzyki</label>
+ <label xml:lang="pt-pt">Leitor de Música</label>
+ <label xml:lang="pt-br">Music Player</label>
+ <label xml:lang="ro-ro">Player muzical</label>
+ <label xml:lang="ru-ru">Музыка</label>
+ <label xml:lang="sr-rs">Muzički plejer</label>
+ <label xml:lang="sk-sk">Prehrávač hudby</label>
+ <label xml:lang="sl-si">Predvajalnik glasbe</label>
+ <label xml:lang="es-es">Música</label>
+ <label xml:lang="es-us">Música</label>
+ <label xml:lang="sv-se">Musikspelare</label>
+ <label xml:lang="tr-tr">Müzik Çalar</label>
+ <label xml:lang="uk-ua">Музичний плеєр</label>
+ <label xml:lang="uz-uz">Musiqa pleyeri</label>
+ <label xml:lang="ar-ae">مشغل الموسيقى</label>
+ <label xml:lang="zh-sg">音樂播放器</label>
+ <label xml:lang="hi-in">संगीत प्लेयर</label>
+ <label xml:lang="en-ph">Music Player</label>
+ <label xml:lang="fr-ca">Lecteur de musique</label>
+ <icon>org.tizen.music-player.png</icon>
+ <category name="http://tizen.org/widget/default"></category>
+ <support-size preview="/usr/share/icons/default/small/preview_music_4x2.png">4x2</support-size>
+ </widget-application>
+</manifest>
--- /dev/null
+%define PKG_PREFIX org.tizen
+
+Name: org.tizen.music-player
+Summary: music player application
+Version: 0.2.180
+Release: 1
+Group: Applications
+License: Flora-1.1
+Source0: %{name}-%{version}.tar.gz
+
+%if "%{?tizen_profile_name}" == "wearable" || "%{?tizen_profile_name}" == "tv"
+ExcludeArch: %{arm} %ix86 x86_64
+%endif
+
+BuildRequires: pkgconfig(capi-appfw-application)
+BuildRequires: pkgconfig(elementary)
+BuildRequires: pkgconfig(capi-media-sound-manager)
+BuildRequires: pkgconfig(capi-media-player)
+BuildRequires: pkgconfig(capi-media-metadata-extractor)
+BuildRequires: pkgconfig(dlog)
+BuildRequires: pkgconfig(cairo)
+BuildRequires: pkgconfig(capi-telephony)
+BuildRequires: pkgconfig(vconf)
+BuildRequires: pkgconfig(libxml-2.0)
+BuildRequires: pkgconfig(libtzplatform-config)
+BuildRequires: pkgconfig(efl-extension)
+BuildRequires: pkgconfig(edje)
+BuildRequires: pkgconfig(capi-appfw-app-manager)
+BuildRequires: pkgconfig(evas)
+BuildRequires: pkgconfig(minicontrol-provider)
+BuildRequires: pkgconfig(capi-system-media-key)
+BuildRequires: pkgconfig(capi-appfw-preference)
+BuildRequires: pkgconfig(capi-content-media-content)
+BuildRequires: pkgconfig(capi-content-mime-type)
+BuildRequires: pkgconfig(capi-network-bluetooth)
+BuildRequires: pkgconfig(capi-system-system-settings)
+BuildRequires: pkgconfig(notification)
+BuildRequires: pkgconfig(db-util)
+BuildRequires: pkgconfig(storage)
+BuildRequires: pkgconfig(capi-message-port)
+#for service
+BuildRequires: pkgconfig(capi-appfw-service-application)
+BuildRequires: cmake
+BuildRequires: edje-tools
+BuildRequires: gettext-tools
+#START_PUBLIC_REMOVED_STRING
+BuildRequires: pkgconfig(capi-web-url-download)
+BuildRequires: pkgconfig(notification)
+BuildRequires: pkgconfig(libcore-context-manager)
+BuildRequires: pkgconfig(capi-system-runtime-info)
+BuildRequires: pkgconfig(capi-network-wifi-direct)
+
+BuildRequires: pkgconfig(capi-system-device)
+#widget relevant
+BuildRequires: pkgconfig(appcore-efl)
+BuildRequires: pkgconfig(widget_service)
+BuildRequires: pkgconfig(capi-appfw-widget-application)
+BuildRequires: pkgconfig(capi-media-recorder)
+
+%if "%{?sec_build_project_type}" != "lite"
+#Build requires only for highend.
+%endif
+
+%if "%{?sec_build_project_type}" == "lite"
+#Build requires for lite version.
+%endif
+
+#END_START_PUBLIC_REMOVED_STRING
+Requires: media-server
+Requires(post): coreutils
+
+%description
+music player application.
+
+%package -n %{PKG_PREFIX}.sound-player
+Summary: Sound player
+Group: Applications
+Requires: %{name} = %{version}-%{release}
+
+%description -n %{PKG_PREFIX}.sound-player
+Description: sound player application
+
+#START_PUBLIC_REMOVED_STRING
+%package -n %{PKG_PREFIX}.music-chooser
+Summary: music-chooser chooser
+Group: Applications
+
+%description -n %{PKG_PREFIX}.music-chooser
+Description: music-chooser chooser
+#END_START_PUBLIC_REMOVED_STRING
+
+%prep
+%setup -q
+
+%define SHARE_DIR %{TZ_SYS_RO_PACKAGES}
+%define INSTALL_DIR %{TZ_SYS_RO_APP}
+
+%define PKG_NAME %{name}
+%define PREFIX %{INSTALL_DIR}/%{PKG_NAME}
+
+%define MC_PKG_NAME %{PKG_PREFIX}.music-chooser
+%define MC_PREFIX %{INSTALL_DIR}/%{MC_PKG_NAME}
+%define DATA_PREFIX %{INSTALL_DIR}/%{PKG_NAME}
+
+%define SP_PKG_NAME %{PKG_PREFIX}.sound-player
+%define SP_PREFIX %{INSTALL_DIR}/%{SP_PKG_NAME}
+%define SP_DATA_PREFIX %{INSTALL_DIR}/%{SP_PKG_NAME}
+
+%define _app_icon_dir %{TZ_SYS_RO_ICONS}/default/small/
+%define _app_license_dir %{TZ_SYS_SHARE}/license
+
+%build
+%if 0%{?sec_build_binary_debug_enable}
+export CFLAGS="$CFLAGS -DTIZEN_DEBUG_ENABLE"
+export CXXFLAGS="$CXXFLAGS -DTIZEN_DEBUG_ENABLE"
+export FFLAGS="$FFLAGS -DTIZEN_DEBUG_ENABLE"
+%endif
+cmake . -DMC_PREFIX="%{MC_PREFIX}" \
+ -DINSTALL_DIR="%{INSTALL_DIR}" \
+ -DCMAKE_INSTALL_PREFIX="%{PREFIX}" \
+ -DCMAKE_DESKTOP_ICON_DIR="%{_app_icon_dir}" \
+ -DSHARE_DIR="%{SHARE_DIR}" \
+ -DPKG_NAME="%{PKG_NAME}" \
+ -DSP_PKG_NAME="%{SP_PKG_NAME}" \
+ -DDATA_PREFIX="%{DATA_PREFIX}" \
+ -DSP_DATA_PREFIX="%{SP_DATA_PREFIX}" \
+%if 0%{?sec_product_feature_msg_disable_mms}
+ -DCMAKE_DISABLE_FEATURE_MMS=YES \
+%endif
+%if 0%{?sec_product_feature_cloud_enable_content_sync_dropbox}
+ -DCMAKE_ENABLE_FEATURE_DROPBOX=YES \
+%endif
+%if 0%{?feature_debug_mode}
+ -DCMAKE_DEBUG_MODE=YES \
+%endif
+%if 0%{?sec_product_feature_multiwindow}
+ -DCMAKE_ENABLE_MULTIWINDOW=YES \
+%endif
+
+
+make %{?jobs:-j%jobs}
+
+%install
+rm -rf %{buildroot}
+mkdir -p %{buildroot}/%{_app_license_dir}
+cp LICENSE %{buildroot}/%{_app_license_dir}/%{name}
+
+%make_install
+%define tizen_sign 1
+%define tizen_sign_base %{PREFIX}
+%define tizen_sign_level platform
+%define tizen_author_sign 1
+%define tizen_dist_sign 1
+
+%pre
+if [ -n "`env|grep SBOX`" ]; then
+ echo "postinst: sbox installation"
+else
+ RESULT=` /usr/bin/killall music-player`
+ if [ -n "$RESULT" ]; then
+ echo "preinst: kill current music-player app"
+ fi
+ RESULT=`/usr/bin/killall sound-player`
+ if [ -n "$RESULT" ]; then
+ echo "preinst: kill current sound-player app"
+ fi
+fi
+
+%post
+%files
+%manifest %{name}.manifest
+%{SHARE_DIR}/%{name}.xml
+%{_app_icon_dir}/%{name}.png
+%{_app_icon_dir}/preview_music_4x2.png
+%{PREFIX}/bin/*
+%{PREFIX}/res/locale/*/LC_MESSAGES/*.mo
+%{PREFIX}/res/images/*
+%{PREFIX}/res/edje/*.edj
+%{PREFIX}/shared/res/*
+%{PREFIX}/shared/data
+%{PREFIX}/data
+%{PREFIX}/res/*.edj
+%{PREFIX}/lib/*.so*
+%{_app_license_dir}/%{name}
+
+%{_app_icon_dir}%{SP_PKG_NAME}.png
+%{SP_PREFIX}/bin/sound-player
+
+#START_PUBLIC_REMOVED_STRING
+
+%files -n org.tizen.music-chooser
+%manifest org.tizen.music-chooser.manifest
+%{SHARE_DIR}/org.tizen.music-chooser.xml
+%{MC_PREFIX}/res/locale/*/LC_MESSAGES/*.mo
+%defattr(-,root,root,-)
+%{MC_PREFIX}/bin/*
+%{MC_PREFIX}/shared/res/*
+%{MC_PREFIX}/res/music-chooser.edj
+%{TZ_SYS_RO_ICONS}/default/small/music-chooser.png
+
+#END_START_PUBLIC_REMOVED_STRING
+
+%{TZ_SYS_RO_APP}/org.tizen.music-player/shared/res/*
--- /dev/null
+
+# Project Name
+APPNAME = music-player
+
+# Project Type
+type = app
+
+# Project Profile
+profile = mobile-3.0
+
+# C Sources
+USER_SRCS = src/widget/mp-now-playing.c src/widget/mp-index.c src/view/mp-edit-view.c src/view/mp-genre-detail-view.c src/widget/mp-artist-detail-list.c src/setting/src/ms-playlist.c src/widget/mp-track-list.c src/core/mp-file-tag-info.c src/widget/mp-player-volume-widget.c src/widget/mp-notification.c src/view/mp-add-track-view.c src/core/mp-lyric-mgr.c src/common/mp-media-info.c src/widget/mp-genre-list.c src/common/mp-ta.c src/view/mp-create-playlist-view.c src/view/mp-all-view.c src/common/mp-util.c src/common/mp-edit-callback.c src/view/mp-player-view.c src/common/mp-file-util.c src/widget/mp-album-detail-list.c src/widget/mp-ctxpopup.c src/common/mp-menu.c src/core/mp-view-mgr.c src/core/mp-player-mgr.c src/common/mp-app.c src/widget/mp-album-list.c src/widget/mp-artist-list.c src/view/mp-search-view.c src/mp-main.c src/view/mp-album-detail-view.c src/widget/mp-lyric.c src/view/mp-list-view.c src/view/mp-now-playing-list-view.c src/common/mp-widget.c src/view/mp-artist-detail-view.c src/widget/mp-lockscreenmini.c src/view/mp-playlist-detail-view.c src/view/mp-select-track-view.c src/widget/mp-smart-event-box.c src/common/mp-ug-launch.c src/common/mp-common.c src/widget/mp-search.c src/view/mp-set-as-view.c src/setting/src/ms-key-ctrl.c src/view/mp-setting-view.c src/widget/mp-popup.c src/core/mp-setting-ctrl.c src/core/mp-playlist-mgr.c src/view/mp-detail-view.c src/widget/mp-now-playing-list.c src/core/mp-volume.c src/view/mp-view.c src/widget/mp-edit-playlist.c src/widget/mp-list.c src/core/mp-language-mgr.c src/core/mp-player-control.c src/widget/mp-playlist-list.c src/widget/mp-minicontroller.c src/common/mp-play.c src/widget/mp-search-list.c
+
+# EDC Sources
+USER_EDCS =
+
+# PO Sources
+USER_POS = res/po/et.po res/po/de.po res/po/ar.po res/po/nl.po res/po/bg.po res/po/en_US.po res/po/ro.po res/po/cs.po res/po/ja_JP.po res/po/zh_HK.po res/po/lt.po res/po/fi.po res/po/ka.po res/po/fr.po res/po/zh_TW.po res/po/it_IT.po res/po/mk.po res/po/gl.po res/po/az.po res/po/kk.po res/po/uz.po res/po/sr.po res/po/nb.po res/po/es_ES.po res/po/sl.po res/po/lv.po res/po/da.po res/po/ga.po res/po/hu.po res/po/en_PH.po res/po/pt_BR.po res/po/el_GR.po res/po/ru_RU.po res/po/pt_PT.po res/po/fr_CA.po res/po/uk.po res/po/sv.po res/po/es_US.po res/po/ko_KR.po res/po/sk.po res/po/zh_CN.po res/po/en.po res/po/ca.po res/po/hr.po res/po/tr_TR.po res/po/is.po res/po/eu.po res/po/pl.po res/po/hy.po
+
+# User Defines
+USER_DEFS = MP_FEATURE_NO_END MP_FEATURE_LOCKSCREEN MP_FEATURE_PERSONAL_PAGE MP_FEATURE_UNSUPPORT_DRM_CD_SD MP_FEATURE_GL MP_FEATURE_OPTIMIZATION_LAUNCH_TIME SHAREDDIR='"/usr/apps/org.tizen.music-player/shared"' DATA_PREFIX='"/opt/home/owner/apps_rw/org.tizen.music-player"' LOCALEDIR='"/opt/home/owner/apps_rw/org.tizen.music-player/res/locale"' EDJPATH='"/opt/home/owner/apps_rw/org.tizen.music-player/res/edje"' PKG_NAME='"org.tizen.music-player"' PREFIX='"/opt/home/owner/apps_rw/org.tizen.music-player"'
+USER_CPP_DEFS =
+
+# User Undefines
+USER_UNDEFS =
+USER_CPP_UNDEFS =
+
+# User Libraries
+USER_LIBS =
+
+# User Objects
+USER_OBJS =
+USER_OBJS_ABS =
+
+# User Includes
+## C Compiler
+USER_INC_DIRS = src/include src/view/include src/widget/include src/setting/src/include music-chooser/src/include sound-player/src/include src/common/include src/core/include inc
+USER_INC_DIRS_ABS =
+USER_INC_FILES =
+USER_INC_FILES_ABS =
+## C++ Compiler
+USER_CPP_INC_DIRS =
+USER_CPP_INC_DIRS_ABS =
+USER_CPP_INC_FILES =
+USER_CPP_INC_FILES_ABS =
+
+# User Library Path
+USER_LIB_DIRS =
+USER_LIB_DIRS_ABS =
+
+# EDC Resource Path
+USER_EDCS_IMAGE_DIRS = images music-chooser/images src/setting/images widget/res/images images/music_player shared/res/shared_images shared/res/target_images
+USER_EDCS_IMAGE_DIRS_ABS =
+USER_EDCS_SOUND_DIRS = images/sounds
+USER_EDCS_SOUND_DIRS_ABS =
+USER_EDCS_FONT_DIRS = edje/fonts
+USER_EDCS_FONT_DIRS_ABS =
+
+# EDC Flags
+USER_EXT_EDC_KEYS = EDC0
+
+USER_EXT_EDC0_EDCS = res/edje/mp-fake-effect.edc res/edje/mp-library.edc res/edje/mp-custom-winset-style.edc res/edje/mp-lockscreenmini.edc res/edje/music.edc res/edje/edc_image_macro.edc res/edje/mp-minicontroller.edc res/edje/mp-images.edc
+USER_EXT_EDC0_EDCS_IMAGE_DIRS = images music-chooser/images src/setting/images widget/res/images images/music_player shared/res/shared_images shared/res/target_images
+USER_EXT_EDC0_EDCS_IMAGE_DIRS_ABS =
+USER_EXT_EDC0_EDCS_SOUND_DIRS = images/sounds
+USER_EXT_EDC0_EDCS_SOUND_DIRS_ABS =
+USER_EXT_EDC0_EDCS_FONT_DIRS = edje/fonts
+USER_EXT_EDC0_EDCS_FONT_DIRS_ABS =
+
+# Resource Filter
+USER_RES_INCLUDE =
+USER_RES_EXCLUDE =
+
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+group { name: "elm/layout/searchbar/cancel_button_case";
+images {
+ image : "T02_mw_icon_close_press.png" COMP;
+ image : "btn_controller_close.png" COMP;
+ }
+ parts {
+ part { name: "bg";
+ type: RECT;
+ //scale: 1;
+ description { state: "default" 0.0;
+ color: 60 181 199 255;
+ }
+ }
+ part { name: "inputfield_base";
+ type: SPACER;
+ // scale: 1;
+ description { state: "default" 0.0;
+ // min: 0 SEARCHBAR_BASE_HEIGHT_INC;
+ rel1 {
+ relative: 0.0 0.0;
+ to: "bg";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to: "bg";
+ }
+ }
+ }
+ part { name: "top_padding_rect";
+ type: SPACER;
+ //scale: 1;
+ description { state: "default" 0.0;
+ //min: 0 SEARCHBAR_TOP_PADDING_INC;
+ // fixed: 0 1;
+ //align: 0 0;
+ rel1{
+ relative: 0.0 0.0;
+ to: "inputfield_base";
+ }
+ rel2{
+ relative: 1.0 0.02;
+ to: "inputfield_base";
+ }
+ }
+ }
+ part { name: "bottom_padding_rect";
+ type: SPACER;
+ // scale: 1;
+ description { state: "default" 0.0;
+ // min: 0 SEARCHBAR_BOTTOM_PADDING_INC;
+ fixed: 0 1;
+ // align: 0 1;
+ rel1{
+ relative: 0.0 0.98;
+ to: "inputfield_base";
+ }
+ rel2{
+ relative: 1.0 1.0;
+ to: "inputfield_base";
+ }
+ }
+ }
+ part { name: "base_bg";
+ type: SPACER;
+ // scale: 1;
+ description { state: "default" 0.0;
+ // min: 0 SEARCHBAR_HEIGHT_INC;
+ align: 0 0.5;
+ // fixed: 0 1;
+ rel1 {
+ relative: 0.0 1.0;
+ to: "top_padding_rect";
+ }
+ rel2 {
+ relative: 1.0 0.0;
+ to: "bottom_padding_rect";
+ }
+ }
+ }
+ part { name: "left_padding_rect";
+ type: SPACER;
+ //scale: 1;
+ description { state: "default" 0.0;
+ //min: SEARCHBAR_LEFT_PADDING_INC 0;
+ // fixed: 1 0;
+ align: 0 0;
+ rel1{
+ relative: 0.0 0.0;
+ to: "inputfield_base";
+ }
+ rel2{
+ relative: 0.04 1.0;
+ to: "inputfield_base";
+ }
+ }
+ }
+ part { name: "right_padding_rect";
+ type: SPACER;
+ //scale: 1;
+ description { state: "default" 0.0;
+ // min: SEARCHBAR_RIGHT_PADDING_INC 0;
+ //fixed: 1 0;
+ align: 1.0 0.0;
+ rel1{
+ relative: 0.98 0.0;
+ to: "inputfield_base";
+ }
+ rel2{
+ relative: 1.0 1.0;
+ to: "inputfield_base";
+ }
+ }
+ }
+ part { name: "inputfield_rect";
+ type: RECT;
+ //scale: 1;
+ description { state: "default" 0.0;
+ align: 0.0 0.5;
+ // min: SEARCHBAR_WIDTH_INC SEARCHBAR_HEIGHT_INC;
+ rel1 {
+ relative: 0.0 0.0;
+ to: "base_bg";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to: "base_bg";
+ }
+ color: 255 255 255 255;
+ }
+ }
+ part { name: "button_cancel";
+ type: RECT;
+ mouse_events: 1;
+ //scale: 1;
+ description { state: "default" 0.0;
+ // fixed: 1 1;
+ //min: 100 100;
+ visible:0;
+ // color: 255 0 0 255;
+ // align: 1.0 0.5;
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.89 .3;
+ to: "inputfield_rect";
+ }
+ rel2 {
+ relative: 0.99 0.7;
+ to: "inputfield_rect";
+ }
+ //image.normal: "00_winset_Back.png";
+ }
+ }
+ part { name: "button_cancel_image";
+ type: IMAGE;
+ mouse_events: 1;
+ //scale: 1;
+ description { state: "default" 0.0;
+ // fixed: 1 1;
+ // min: 40 40;
+ visible:0;
+ color: 60 181 199 255;
+ // align: 1.0 0.5;
+ //state: "default" 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ to: "button_cancel";
+ }
+ rel2 {
+ relative: 0.6 1.0;
+ to: "button_cancel";
+ }
+ }
+ description { state: "visible1" 0.0;
+ // fixed: 1 1;
+ // min: 40 40;
+ color: 60 181 199 255;
+ // align: 1.0 0.5;
+ visible:1;
+ //state: "default" 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ to: "button_cancel";
+ }
+ rel2 {
+ relative: 0.6 1.0;
+ to: "button_cancel";
+ }
+ image.normal: "btn_controller_close.png";
+ }
+ }
+ part {
+ name: "elm.swallow.content";
+ type: SWALLOW;
+ //scale: 1;
+ // ignore_flags: ON_HOLD;
+ description { state: "default" 0.0;
+ // min: SEARCHBAR_WIDTH_INC SEARCHBAR_HEIGHT_INC;
+ rel1 {
+ relative : 0.0 0.0;
+ to: "inputfield_rect";
+ }
+ rel2 {
+ relative : 0.85 1.0;
+ to: "inputfield_rect";
+ }
+ //align: 0.0 0.5;
+ }
+ }
+ }
+ programs {
+ program { name: "cancel_back_clicked";
+ signal: "mouse,clicked,1";
+ source: "button_cancel_image";
+ action: SIGNAL_EMIT "elm,action,click" "button_cancel_image";
+ }
+ program { name: "enable_image";
+ signal: "image,enable,1";
+ source: "*";
+ action: STATE_SET "visible1" 0.0;
+ target : "button_cancel_image";
+ }
+ program { name: "disable_image";
+ signal: "image,disable,1";
+ source: "*";
+ action: STATE_SET "default" 0.0;
+ target : "button_cancel_image";
+ }
+ }
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+
+#include "genlist_macro.edc"
+#include "genlist_textblock_style.edc"
+#include "genlist_normal.edc"
+//#include "genlist_sweep.edc"
+//#include "genlist_groupindex.edc"
+//#include "genlist_expandable.edc"
+//#include "genlist_decorate.edc"
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#define GENLIST_NAME(NAME) \
+ name: "elm/genlist/item/"NAME; \
+ alias: "elm/genlist/item_compress/"NAME; \
+ alias: "elm/genlist/tree/"NAME; \
+ alias: "elm/genlist/tree_compress/"NAME;
+
+
+//**************************************************************************//
+//**********Macros for lite 2014.7.19**************************************//
+//**************************************************************************//
+// Generic Macros, EDJE description have 24 patterns
+//**************************************************************************//
+// ------------------
+
+// | --> HERE
+// ------------------
+ #define DSC_FROM_L( STATE, PARAM ) \
+ description { state: STATE;\
+ fixed: 1 0; \
+ align: 0.0 0.0; \
+ rel1.relative: 0.0 0.0; \
+ rel2.relative: 0.0 1.0; \
+ PARAM\
+ }
+
+// ------------------
+// HERE <-- |
+// ------------------
+ #define DSC_FROM_R( STATE, PARAM ) \
+ description { state: STATE;\
+ fixed: 1 0; \
+ align: 1.0 0.5; \
+ rel1.relative: 1 0; \
+ PARAM\
+ }
+
+// ----------
+// | HERE |
+// ----------
+// | |
+// ----------
+ #define DSC_FROM_T( STATE, PARAM ) \
+ description { state: STATE;\
+ fixed: 0 0; \
+ align: 0.0 0.0; \
+ rel2.relative: 1.0 0.0; \
+ PARAM\
+ }
+ #define DSC_FROM_T1( STATE, PARAM ) \
+ description { state: STATE;\
+ fixed: 0 0; \
+ align: 0.0 0.0; \
+ rel1.relative: 0.0 0.3; \
+ rel2.relative: 1.0 0.8; \
+ PARAM\
+ }
+
+// ----------
+// | HERE |
+// ----------
+// | |
+// ----------
+ #define DSC_FROM_B( STATE, PARAM ) \
+ description { state: STATE;\
+ fixed: 0 1; \
+ rel1.relative: 0.0 1.0; \
+ align: 0.5 1.0; \
+ PARAM\
+ }
+
+// ------------------
+// | PART == HERE |
+// ------------------
+ #define DSC_TO( STATE, PART, PARAM ) \
+ description { state: STATE;\
+ rel1 { \
+ relative: 0 0; \
+ to: PART; \
+ }\
+ rel2 {\
+ relative: 1 1;\
+ to: PART; \
+ }\
+ PARAM\
+ }
+
+// | TOP |
+// ---------------------
+// LEFT | HERE | RIGHT
+// ---------------------
+// | BOTTOM |
+#define DSC_LRTB( STATE, LEFT, RIGHT, TOP, BOTTOM, PARAM ) \
+ description { state: STATE;\
+ rel1 { \
+ relative: 1 1; \
+ to_x: LEFT; \
+ to_y: TOP; \
+ }\
+ rel2 {\
+ relative: 0 0;\
+ to_x: RIGHT;\
+ to_y: BOTTOM;\
+ }\
+ PARAM\
+ }
+
+// ---------------------
+// LEFT |--> HERE
+// ---------------------
+#define DSC_L( STATE, LEFT, PARAM ) \
+ description { state: STATE;\
+ align: 0 0; \
+ fixed: 1 0; \
+ rel1 { \
+ relative: 1 0; \
+ to_x: LEFT; \
+ }\
+ rel2 { \
+ relative: 1 1;\
+ to_x: LEFT; \
+ }\
+ PARAM\
+ }
+
+// ---------------------
+// HERE <--| RIGHT
+// ---------------------
+#define DSC_R( STATE, RIGHT, PARAM ) \
+ description { state: STATE;\
+ align: 1 0.5; \
+ fixed: 1 0; \
+ rel1 { \
+ relative: 0 0; \
+ to_x: RIGHT; \
+ }\
+ rel2 {\
+ relative: 0 1;\
+ to_x: RIGHT; \
+ }\
+ PARAM\
+ }
+
+// --------------------------
+// LEFT |--> HERE <--| RIGHT
+// --------------------------
+#define DSC_LR( STATE, LEFT, RIGHT, PARAM ) \
+ description { state: STATE;\
+ rel1 { \
+ relative: 1 0; \
+ to_x: LEFT; \
+ }\
+ rel2 {\
+ relative: 0 1;\
+ to_x: RIGHT;\
+ }\
+ PARAM\
+ }
+
+// | TOP |
+// -----------------
+// | HERE <--| RIGHT
+// -----------------
+// | BOTTOM |
+#define DSC_RTB( STATE, RIGHT, TOP, BOTTOM, PARAM ) \
+ description { state: STATE;\
+ align: 1 0.5;\
+ rel1 { \
+ relative: 0 1; \
+ to_x: RIGHT; \
+ to_y: TOP; \
+ }\
+ rel2 {\
+ relative: 0 0;\
+ to_x: RIGHT;\
+ to_y: BOTTOM;\
+ }\
+ PARAM\
+ }
+
+// LEFT | HERE | RIGHT
+// ---------------------
+// | BOTTOM |
+#define DSC_LRB( STATE, LEFT, RIGHT, BOTTOM, PARAM ) \
+ description { state: STATE;\
+ align: 0.5 1;\
+ rel1 { \
+ relative: 1 0; \
+ to_x: LEFT; \
+ to_y: BOTTOM; \
+ }\
+ rel2 {\
+ relative: 0 0;\
+ to_x: RIGHT;\
+ to_y: BOTTOM;\
+ }\
+ PARAM\
+ }
+
+// | TOP |
+// ---------------------
+// LEFT | HERE | RIGHT
+#define DSC_LRT( STATE, LEFT, RIGHT, TOP, PARAM ) \
+ description { state: STATE;\
+ align: 0.5 0;\
+ rel1 { \
+ relative: 1 1; \
+ to_x: LEFT; \
+ to_y: TOP; \
+ }\
+ rel2 {\
+ relative: 0 1;\
+ to_x: RIGHT;\
+ to_y: TOP;\
+ }\
+ PARAM\
+ }
+
+// | TOP |
+// ---------------------
+// LEFT | --> HERE |
+#define DSC_LT( STATE, LEFT, TOP, PARAM ) \
+ description { state: STATE;\
+ align: 0 0;\
+ rel1 { \
+ relative: 1 1; \
+ to_x: LEFT; \
+ to_y: TOP; \
+ }\
+ rel2 {\
+ relative: 1 1;\
+ to_x: LEFT;\
+ to_y: TOP;\
+ }\
+ PARAM\
+ }
+
+// LEFT | --> HERE |
+// ---------------------
+// | BOTTOM |
+#define DSC_LB( STATE, LEFT, BOTTOM, PARAM ) \
+ description { state: STATE;\
+ align: 0 1;\
+ rel1 { \
+ relative: 1 0; \
+ to_x: LEFT; \
+ to_y: BOTTOM; \
+ }\
+ rel2 {\
+ relative: 1 0;\
+ to_x: LEFT;\
+ to_y: BOTTOM;\
+ }\
+ PARAM\
+ }
+
+// | TOP |
+// ---------------------
+// LEFT |--> HERE |
+// ---------------------
+// | BOTTOM |
+#define DSC_LTB( STATE, LEFT, TOP, BOTTOM, PARAM ) \
+ description { state: STATE;\
+ align: 0 0;\
+ rel1 { \
+ relative: 1 1; \
+ to_x: LEFT; \
+ to_y: TOP; \
+ }\
+ rel2 {\
+ relative: 1 0;\
+ to_x: LEFT;\
+ to_y: BOTTOM;\
+ }\
+ PARAM\
+ }
+
+// | TOP |
+// ---------------------
+// | HERE <--| RIGHT
+#define DSC_RT( STATE, RIGHT, TOP, PARAM ) \
+ description { state: STATE;\
+ align: 1 0;\
+ rel1 { \
+ relative: 0 1; \
+ to_x: RIGHT; \
+ to_y: TOP; \
+ }\
+ rel2 {\
+ relative: 0 1;\
+ to_x: RIGHT;\
+ to_y: TOP;\
+ }\
+ PARAM\
+ }
+
+// | HERE <-- | RIGHT
+// ---------------------
+// | BOTTOM |
+#define DSC_RB( STATE, RIGHT, BOTTOM, PARAM ) \
+ description { state: STATE;\
+ align: 1 1;\
+ rel1 { \
+ relative: 0 0; \
+ to_x: RIGHT; \
+ to_y: BOTTOM; \
+ }\
+ rel2 {\
+ relative: 0 0;\
+ to_x: RIGHT;\
+ to_y: BOTTOM;\
+ }\
+ PARAM\
+ }
+
+// | TOP |
+// ----------
+// | HERE |
+// ----------
+// | BOTTOM |
+#define DSC_TB( STATE, TOP, BOTTOM, PARAM ) \
+ description { state: STATE;\
+ align: 0.5 0.5;\
+ rel1 { \
+ relative: 0 1; \
+ to_y: TOP; \
+ }\
+ rel2 {\
+ relative: 1 0;\
+ to_y: BOTTOM;\
+ }\
+ PARAM\
+ }
+
+// | TOP |
+// ----------
+// | HERE |
+// ----------
+#define DSC_T( STATE, TOP, PARAM ) \
+ description { state: STATE;\
+ align: 0.5 0.0;\
+ rel1 { \
+ relative: 0 1; \
+ to_y: TOP; \
+ }\
+ rel2 {\
+ relative: 1 1;\
+ to_y: TOP;\
+ }\
+ PARAM\
+ }
+
+// | HERE |
+// ----------
+// | BOTTOM |
+// ----------
+#define DSC_B( STATE, BOTTOM, PARAM ) \
+ description { state: STATE;\
+ align: 0.5 1.0;\
+ rel1 { \
+ relative: 0 0; \
+ to_y: BOTTOM; \
+ }\
+ rel2 {\
+ relative: 1 0;\
+ to_y: BOTTOM;\
+ }\
+ PARAM\
+ }
+
+// PART
+#define PART(TYPE, NAME, DESCRIPION) \
+ part { name: NAME; \
+ scale: 1; \
+ type: TYPE; \
+ DESCRIPION \
+ }
+
+//**************************************************************************//
+// Genlist Macros
+//**************************************************************************//
+#define LIST_PART_BG \
+ PART(RECT, "bg", \
+ description { state: "default" 0.0; \
+ color_class: "B0211"; \
+ } \
+ description { state: "pressed" 0.0; \
+ inherit: "default" 0.0; \
+ color_class: "B0211P"; \
+ } \
+ description { state: "disabled" 0.0; \
+ color_class: "B0211D"; \
+ } \
+ )
+
+#define LIST_PROGRAM_DEFAULT( TARGET ) \
+ program { name: "default"; \
+ signal: "elm,state,default"; \
+ source: "elm"; \
+ action: STATE_SET "default" 0.0; \
+ TARGET \
+ } \
+
+#define LIST_PROGRAM_DISABLED( TARGET ) \
+ program { name: "enabled"; \
+ signal: "elm,state,enabled"; \
+ source: "elm"; \
+ action: STATE_SET "default" 0.0; \
+ TARGET \
+ } \
+ program { name: "disabled"; \
+ signal: "elm,state,disabled"; \
+ source: "elm"; \
+ action: STATE_SET "disabled" 0.0; \
+ TARGET \
+ }
+
+#define LIST_PROGRAM_SELECT( TARGET ) \
+ program { name: "pressed"; \
+ signal: "elm,state,selected"; \
+ source: "elm"; \
+ action: STATE_SET "pressed" 0.0; \
+ TARGET \
+ } \
+ program { name: "unselected"; \
+ signal: "elm,state,unselected"; \
+ source: "elm"; \
+ action: STATE_SET "default" 0.0; \
+ TARGET \
+ }
+
+#define LIST_PROGRAM_SOUND \
+ program { name: "play_sound"; \
+ signal: "elm,state,clicked"; \
+ source: "elm"; \
+ script { \
+ run_program(PROGRAM:"touch_sound"); \
+ } \
+ } \
+ program { name: "touch_sound"; \
+ action: RUN_PLUGIN "touch_sound"; \
+ }
+
+#define LIST_PROGRAMS( TARGET ) \
+ programs { \
+ LIST_PROGRAM_DEFAULT( TARGET \
+ target: "bg"; \
+ ) \
+ LIST_PROGRAM_DISABLED( TARGET \
+ target: "bg"; \
+ ) \
+ LIST_PROGRAM_SELECT( TARGET \
+ target: "bg"; \
+ ) \
+ LIST_PROGRAM_SOUND \
+ }
+
+#define PARAM_TEXT(STYLE)\
+ text { \
+ min: 0 1; \
+ style: STYLE; \
+ }
+
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+//custom genlist style for lite
+
+// ************************* CENTER AREA *********************************** //
+// ---------------------------------------------------------------------------------------------------------------------------------------------
+// | | elm.icon.left.top | elm.text.main(sub).left.top | elm.text.sub(main).right.top | elm.icon.right.top | |
+// |elm.icon.left | -------------------- | ----------------------- --- | ---------------------------- | --------------------- | elm.icon.right |
+// | | elm.icon.left.bottom | elm.text.sub.left.bottom | elm.text.sub.right.bottom | elm.icon.right.bottom | |
+// --------------------------------------------------------------------------------------------------------------------------------------------
+
+#define GENLIST_ICON_SIZE 36
+#define GENLIST_LITE_PAUSE_ICON "lite/play_list_control_pause.png"
+#define GENLIST_LITE_PLAY_ICON "lite/play_list_control_play.png"
+
+group { GENLIST_NAME("music/album_detail/default")
+ data.item: "texts" "elm.text.main.top elm.text.sub.bottom elm.text.main.shuffle";
+ data.item: "contents" "elm.icon.1";
+ parts {
+ part { name : "bg";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1.relative : 0 0;
+ rel2.relative : 1 1;
+ min: 0 190;
+ max: -1 190;
+ }
+ }
+ part { name : "elm.icon.1";
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ rel1.relative : 0 0.2;
+ rel1.to: "bg";
+ rel2.relative : .2 1;
+ rel2.to: "bg";
+ }
+ }
+ part { name : "elm.text.main.top";
+ type: TEXT;
+ description {
+ state: "default" 0.0;
+ rel1.relative : 1 0.1;
+ rel1.to: "elm.icon.1";
+ rel2.relative : 0.6 .6;
+ rel2.to: "bg";
+ text {
+ size: 32;
+ align: 0.05 0.5;
+ }
+ color: 23 23 23 255;
+ }
+ }
+ part { name : "elm.text.sub.bottom";
+ type: TEXT;
+ description {
+ state: "default" 0.0;
+ rel1.relative : 0.965 .61;
+ rel1.to: "elm.icon.1";
+ rel2.relative : 0.6 .61;
+ rel2.to: "bg";
+ text {
+ size: 24;
+ align: 0.12 0.5;
+ }
+ color: 23 23 23 180;
+ }
+ }
+ part { name : "elm.text.main.shuffle";
+ type: TEXT;
+ description {
+ state: "default" 0.0;
+ rel1.relative : 0.15 0.2;
+ rel1.to: "bg";
+ rel2.relative : 1 0.8;
+ rel2.to: "bg";
+ text {
+ size: 40;
+ align: 0.05 0.5;
+ }
+ color: 23 23 23 255;
+ }
+ }
+ }
+ }
+
+group {GENLIST_NAME("music/2line.top/default");
+ data.item: "texts" "elm.text.main.left.top elm.text.sub.right.top elm.text.main.right.top elm.text.sub.left.top elm.text.sub.left.bottom elm.text.sub.right.bottom";
+ data.item: "contents" "elm.icon.1 elm.icon.2 elm.icon.left elm.icon.right elm.icon.left.top elm.icon.right.top elm.icon.left.bottom elm.icon.right.bottom";
+ data.item: "itembg" "on";
+ data.item: "bg_color" "B0211";
+ parts {
+ LIST_PART_BG
+
+ PART(SPACER, "elm.padding.top",
+ DSC_FROM_T("default" 0.0,
+ min: 0 LIST_2LINE_PADDING_TOP_SIZE;
+ max: -1 LIST_2LINE_PADDING_TOP_SIZE;
+ )
+ )
+ PART(SPACER, "elm.padding.bottom",
+ DSC_FROM_B("default" 0.0,
+ min: 0 LIST_2LINE_PADDING_BOTTOM_SIZE;
+ max: -1 LIST_2LINE_PADDING_BOTTOM_SIZE;
+ )
+ )
+ PART(SWALLOW, "elm.icon.1",
+ DSC_FROM_L("default" 0.0,)
+ )
+ PART(SWALLOW, "elm.icon.2",
+ DSC_FROM_R("default" 0.0,)
+ )
+ PART(SPACER, "elm.padding.center.left",
+ DSC_L("default" 0.0,
+ "elm.icon.1",
+ min: LIST_PADDING_CENTER_LEFT_SIZE 0;
+ max: LIST_PADDING_CENTER_LEFT_SIZE -1;
+ )
+ )
+ PART(SPACER, "elm.padding.center.right",
+ DSC_R("default" 0.0,
+ "elm.icon.2",
+ min: LIST_PADDING_CENTER_RIGHT_SIZE 0;
+ max: LIST_PADDING_CENTER_RIGHT_SIZE -1;
+ )
+ )
+ PART(SWALLOW, "elm.icon.left",
+ DSC_LTB("default" 0.0,
+ "elm.padding.center.left", "elm.padding.top", "elm.padding.bottom",
+ )
+ )
+ PART(SWALLOW, "elm.icon.right",
+ DSC_RTB("default" 0.0,
+ "elm.padding.center.right", "elm.padding.top", "elm.padding.bottom",
+ )
+ )
+ PART(SWALLOW, "elm.icon.left.top",
+ DSC_LTB("default" 0.0, "elm.icon.left", "elm.padding.top", "elm.text.sub.left.bottom",
+ )
+ )
+ PART(SWALLOW, "elm.icon.left.bottom",
+ DSC_LTB("default" 0.0, "elm.icon.left", "elm.text.sub.left.bottom", "elm.padding.bottom",
+ rel1.relative: 1 0; // to make same height with "elm.text.sub.left.bottom"
+ )
+ )
+ PART(SWALLOW, "elm.icon.right.top",
+ DSC_RTB("default" 0.0, "elm.icon.right", "elm.padding.top", "elm.text.sub.left.bottom",
+ )
+ )
+ PART(SWALLOW, "elm.icon.right.bottom",
+ DSC_RTB("default" 0.0, "elm.icon.right", "elm.text.sub.left.bottom", "elm.padding.bottom",
+ rel1.relative: 0 0; // to make same height with "elm.text.sub.left.bottom"
+ )
+ )
+ PART(TEXTBLOCK, "elm.text.main.left.top",
+ DSC_LRTB("default" 0.0,
+ "elm.icon.left.top", "elm.text.sub.right.top", "elm.padding.top","elm.text.sub.left.bottom",
+ min: 0 LIST_TEXT_MAIN_HEIGHT;
+ text.min: 0 1;
+ text.style: "list_text_main";
+ )
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ text.style: "list_text_main_press";
+ }
+ description { state: "dim" 0.0;
+ inherit: "default" 0.0;
+ text.style: "list_text_main_dim";
+ }
+ )
+ PART(TEXTBLOCK, "elm.text.sub.right.top",
+ DSC_RTB("default" 0.0,
+ "elm.icon.right.top", "elm.padding.top", "elm.text.sub.right.bottom",
+ min: 0 LIST_TEXT_SUB_HEIGHT;
+ text.min: 0 1;
+ text.style: "list_text_sub_02";
+ /* This limits text growing. */
+ rel1.offset: -LIST_TEXT_SUB_WIDTH_MAX 0;
+ text.max: 1 0;
+ align: 1.0 0.5;
+ /*******************************/
+ )
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ text.style: "list_text_sub_02_press";
+ }
+ description { state: "dim" 0.0;
+ inherit: "default" 0.0;
+ text.style: "list_text_sub_02_dim";
+ }
+ )
+ PART(TEXTBLOCK, "elm.text.main.right.top",
+ DSC_LRTB("default" 0.0,
+ "elm.text.sub.left.top", "elm.icon.right.top", "elm.padding.top","elm.text.sub.right.bottom",
+ min: 0 LIST_TEXT_MAIN_HEIGHT;
+ text.min: 0 1;
+ text.style: "list_text_main";
+ )
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ text.style: "list_text_main_press";
+ }
+ description { state: "dim" 0.0;
+ inherit: "default" 0.0;
+ text.style: "list_text_main_dim";
+ }
+ )
+ PART(TEXTBLOCK, "elm.text.sub.left.top",
+ DSC_LTB("default" 0.0,
+ "elm.icon.left.top", "elm.padding.top", "elm.text.sub.left.bottom",
+ min: 0 LIST_TEXT_SUB_HEIGHT;
+ text.min: 0 1;
+ text.style: "list_text_sub_02";
+ /* This limits text growing. */
+ rel2.offset: LIST_TEXT_SUB_WIDTH_MAX 0;
+ text.max: 1 0;
+ align: 0.0 0.5;
+ /*******************************/
+ )
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ text.style: "list_text_sub_02_press";
+ }
+ description { state: "dim" 0.0;
+ inherit: "default" 0.0;
+ text.style: "list_text_sub_02_dim";
+ }
+ )
+ PART(TEXTBLOCK, "elm.text.sub.left.bottom",
+ DSC_LRB("default" 0.0,
+ "elm.icon.left.bottom", "elm.text.sub.right.bottom", "elm.padding.bottom",
+ min: 0 LIST_TEXT_SUB_HEIGHT;
+ text.min: 0 1;
+ text.style: "list_text_sub_01";
+ )
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ text.style: "list_text_sub_01_press";
+ }
+ description { state: "dim" 0.0;
+ inherit: "default" 0.0;
+ text.style: "list_text_sub_01_dim";
+ }
+ )
+ PART(TEXTBLOCK, "elm.text.sub.right.bottom",
+ DSC_RB("default" 0.0,
+ "elm.icon.right.bottom", "elm.padding.bottom",
+ min: 0 LIST_TEXT_SUB_HEIGHT;
+ text.min: 0 1;
+ text.style: "list_text_sub_02";
+ /* This limits text growing. */
+ rel1.offset: -LIST_TEXT_SUB_WIDTH_MAX 0;
+ text.max: 1 0;
+ align: 1.0 1.0;
+ /*******************************/
+ )
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ text.style: "list_text_sub_02_press";
+ }
+ description { state: "dim" 0.0;
+ inherit: "default" 0.0;
+ text.style: "list_text_sub_02_dim";
+ }
+ )
+ }
+ LIST_PROGRAMS( target: "elm.text.main.left.top"; target: "elm.text.sub.right.top";
+ target: "elm.text.main.right.top"; target: "elm.text.sub.left.top";
+ target: "elm.text.sub.left.bottom"; target: "elm.text.sub.right.bottom"; )
+}
+
+
+group {GENLIST_NAME("music/1linenew.top/default");
+ data.item: "texts" "elm.text.main.left.top elm.text.sub.right.top elm.text.main.right.top elm.text.sub.left.top elm.text.sub.left.bottom elm.text.sub.right.bottom";
+ data.item: "contents" "elm.icon.1 elm.icon.2 elm.icon.left elm.icon.right elm.icon.left.top elm.icon.right.top elm.icon.left.bottom elm.icon.right.bottom";
+ data.item: "itembg" "on";
+ data.item: "bg_color" "B041";
+ parts {
+ LIST_PART_BG
+
+ PART(SPACER, "elm.padding.top",
+ DSC_FROM_T1("default" 0.0,
+ min: 0 LIST_2LINE_PADDING_TOP_SIZE;
+ max: -1 LIST_2LINE_PADDING_TOP_SIZE;
+ )
+ )
+ PART(SPACER, "elm.padding.bottom",
+ DSC_FROM_B("default" 0.0,
+ min: 0 LIST_2LINE_PADDING_BOTTOM_SIZE;
+ max: -1 LIST_2LINE_PADDING_BOTTOM_SIZE;
+ )
+ )
+ PART(SWALLOW, "elm.icon.1",
+ DSC_FROM_L("default" 0.0,)
+ )
+ PART(SWALLOW, "elm.icon.2",
+ DSC_FROM_R("default" 0.0,)
+ )
+ PART(SPACER, "elm.padding.center.left",
+ DSC_L("default" 0.0,
+ "elm.icon.1",
+ min: LIST_PADDING_CENTER_LEFT_SIZE 0;
+ max: LIST_PADDING_CENTER_LEFT_SIZE -1;
+ )
+ )
+ PART(SPACER, "elm.padding.center.right",
+ DSC_R("default" 0.0,
+ "elm.icon.2",
+ min: LIST_PADDING_CENTER_RIGHT_SIZE 0;
+ max: LIST_PADDING_CENTER_RIGHT_SIZE -1;
+ )
+ )
+ PART(SWALLOW, "elm.icon.left",
+ DSC_LTB("default" 0.0,
+ "elm.padding.center.left", "elm.padding.top", "elm.padding.bottom",
+ )
+ )
+ PART(SWALLOW, "elm.icon.right",
+ DSC_RTB("default" 0.0,
+ "elm.padding.center.right", "elm.padding.top", "elm.padding.bottom",
+ )
+ )
+ PART(SWALLOW, "elm.icon.left.top",
+ DSC_LTB("default" 0.0, "elm.icon.left", "elm.padding.top", "elm.text.sub.left.bottom",
+ )
+ )
+ PART(SWALLOW, "elm.icon.left.bottom",
+ DSC_LTB("default" 0.0, "elm.icon.left", "elm.text.sub.left.bottom", "elm.padding.bottom",
+ rel1.relative: 1 0; // to make same height with "elm.text.sub.left.bottom"
+ )
+ )
+ PART(SWALLOW, "elm.icon.right.top",
+ DSC_RTB("default" 0.0, "elm.icon.right", "elm.padding.top", "elm.text.sub.left.bottom",
+ )
+ )
+ PART(SWALLOW, "elm.icon.right.bottom",
+ DSC_RTB("default" 0.0, "elm.icon.right", "elm.text.sub.left.bottom", "elm.padding.bottom",
+ rel1.relative: 0 0; // to make same height with "elm.text.sub.left.bottom"
+ )
+ )
+ PART(TEXTBLOCK, "elm.text.main.left.top",
+ DSC_LRTB("default" 0.0,
+ "elm.icon.left.top", "elm.text.sub.right.top", "elm.padding.top","elm.text.sub.left.bottom",
+ min: 0 LIST_TEXT_MAIN_HEIGHT;
+ text.min: 0 1;
+ text.style: "list_text_main";
+ )
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ text.style: "list_text_main_press";
+ }
+ description { state: "dim" 0.0;
+ inherit: "default" 0.0;
+ text.style: "list_text_main_dim";
+ }
+ )
+ PART(TEXTBLOCK, "elm.text.sub.right.top",
+ DSC_RTB("default" 0.0,
+ "elm.icon.right.top", "elm.padding.top", "elm.text.sub.right.bottom",
+ min: 0 LIST_TEXT_SUB_HEIGHT;
+ text.min: 0 1;
+ text.style: "list_text_sub_02";
+ /* This limits text growing. */
+ rel1.offset: -LIST_TEXT_SUB_WIDTH_MAX 0;
+ text.max: 1 0;
+ align: 1.0 0.5;
+ /*******************************/
+ )
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ text.style: "list_text_sub_02_press";
+ }
+ description { state: "dim" 0.0;
+ inherit: "default" 0.0;
+ text.style: "list_text_sub_02_dim";
+ }
+ )
+ PART(TEXTBLOCK, "elm.text.main.right.top",
+ DSC_LRTB("default" 0.0,
+ "elm.text.sub.left.top", "elm.icon.right.top", "elm.padding.top","elm.text.sub.right.bottom",
+ min: 0 LIST_TEXT_MAIN_HEIGHT;
+ text.min: 0 1;
+ text.style: "list_text_main";
+ )
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ text.style: "list_text_main_press";
+ }
+ description { state: "dim" 0.0;
+ inherit: "default" 0.0;
+ text.style: "list_text_main_dim";
+ }
+ )
+ PART(TEXTBLOCK, "elm.text.sub.left.top",
+ DSC_LTB("default" 0.0,
+ "elm.icon.left.top", "elm.padding.top", "elm.text.sub.left.bottom",
+ min: 0 LIST_TEXT_SUB_HEIGHT;
+ text.min: 0 1;
+ text.style: "list_text_sub_02";
+ /* This limits text growing. */
+ rel2.offset: LIST_TEXT_SUB_WIDTH_MAX 0;
+ text.max: 1 0;
+ align: 0.0 0.5;
+ /*******************************/
+ )
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ text.style: "list_text_sub_02_press";
+ }
+ description { state: "dim" 0.0;
+ inherit: "default" 0.0;
+ text.style: "list_text_sub_02_dim";
+ }
+ )
+ PART(TEXTBLOCK, "elm.text.sub.left.bottom",
+ DSC_LRB("default" 0.0,
+ "elm.icon.left.bottom", "elm.text.sub.right.bottom", "elm.padding.bottom",
+ min: 0 LIST_TEXT_SUB_HEIGHT;
+ text.min: 0 1;
+ text.style: "list_text_sub_01";
+ )
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ text.style: "list_text_sub_01_press";
+ }
+ description { state: "dim" 0.0;
+ inherit: "default" 0.0;
+ text.style: "list_text_sub_01_dim";
+ }
+ )
+ PART(TEXTBLOCK, "elm.text.sub.right.bottom",
+ DSC_RB("default" 0.0,
+ "elm.icon.right.bottom", "elm.padding.bottom",
+ min: 0 LIST_TEXT_SUB_HEIGHT;
+ text.min: 0 1;
+ text.style: "list_text_sub_02";
+ /* This limits text growing. */
+ rel1.offset: -LIST_TEXT_SUB_WIDTH_MAX 0;
+ text.max: 1 0;
+ align: 1.0 1.0;
+ /*******************************/
+ )
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ text.style: "list_text_sub_02_press";
+ }
+ description { state: "dim" 0.0;
+ inherit: "default" 0.0;
+ text.style: "list_text_sub_02_dim";
+ }
+ )
+ }
+ LIST_PROGRAMS( target: "elm.text.main.left.top"; target: "elm.text.sub.right.top";
+ target: "elm.text.main.right.top"; target: "elm.text.sub.left.top";
+ target: "elm.text.sub.left.bottom"; target: "elm.text.sub.right.bottom"; )
+}
+
+group { GENLIST_NAME("music/2icon.2text/track/default")
+ inherit: "elm/genlist/item/music/2line.top/default";
+ data.item: "texts" "elm.text.main.left.top elm.text.sub.right.top elm.text.main.right.top elm.text.sub.left.top elm.text.sub.left.bottom elm.text.sub.right.bottom";
+ data.item: "contents" "elm.icon.1 elm.icon.center elm.icon.2 elm.icon.left elm.icon.right elm.icon.left.top elm.icon.right.top elm.icon.left.bottom elm.icon.right.bottom";
+ data.item: "itembg" "on";
+ data.item: "bg_color" "B041";
+ parts
+ {
+ PART(SWALLOW, "elm.icon.center",
+ DSC_TO("default" 0.0,"elm.icon.1",min:36 36;max:36 36;)
+ )
+ }
+}
+
+// ************************* CENTER AREA *********************************** //
+// --------------------------------------------------------------------------------------
+// | elm.icon.left | elm.text.main(sub).left | elm.text.sub(main).right | elm.icon.right |
+// --------------------------------------------------------------------------------------
+group { GENLIST_NAME("music/1line/default");
+ data.item: "texts" "elm.text.main.left elm.text.main.right elm.text.sub.left elm.text.sub.right";
+ data.item: "contents" "elm.icon.1 elm.icon.2 elm.icon.left elm.icon.right";
+ data.item: "itembg" "on";
+ data.item: "bg_color" "B0211";
+
+ parts {
+ LIST_PART_BG
+
+ PART(SPACER, "elm.padding.top",
+ DSC_FROM_T("default" 0.0,
+ min: 0 LIST_PADDING_TOP_SIZE;
+ max: -1 LIST_PADDING_TOP_SIZE;
+ )
+ )
+ PART(SPACER, "elm.padding.bottom",
+ DSC_FROM_B("default" 0.0,
+ min: 0 LIST_PADDING_BOTTOM_SIZE;
+ max: -1 LIST_PADDING_BOTTOM_SIZE;
+ )
+ )
+ PART(SWALLOW, "elm.icon.1",
+ DSC_FROM_L("default" 0.0, )
+ )
+ PART(SWALLOW, "elm.icon.2",
+ DSC_FROM_R("default" 0.0, )
+ )
+ PART(SPACER, "elm.padding.center.left",
+ DSC_L("default" 0.0,
+ "elm.icon.1",
+ min: LIST_PADDING_CENTER_LEFT_SIZE 0;
+ max: LIST_PADDING_CENTER_LEFT_SIZE -1;
+ )
+ )
+ PART(SPACER, "elm.padding.center.right",
+ DSC_R("default" 0.0,
+ "elm.icon.2",
+ min: LIST_PADDING_CENTER_RIGHT_SIZE 0;
+ max: LIST_PADDING_CENTER_RIGHT_SIZE -1;
+ )
+ )
+ PART(SWALLOW, "elm.icon.left",
+ DSC_LTB("default" 0.0,
+ "elm.padding.center.left", "elm.padding.top", "elm.padding.bottom",
+ )
+ )
+ PART(SWALLOW, "elm.icon.right",
+ DSC_RTB("default" 0.0,
+ "elm.padding.center.right", "elm.padding.top", "elm.padding.bottom",
+ )
+ )
+
+ PART(TEXTBLOCK, "elm.text.main.left",
+ DSC_LRTB("default" 0.0,
+ "elm.icon.left", "elm.text.sub.right",
+ "elm.padding.top", "elm.padding.bottom",
+ min: 0 LIST_TEXT_MAIN_HEIGHT;
+ text.min: 0 1;
+ text.style: "list_text_main";
+ )
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ text.style: "list_text_main_press";
+ }
+ description { state: "dim" 0.0;
+ inherit: "default" 0.0;
+ text.style: "list_text_main_dim";
+ }
+ )
+ PART(TEXTBLOCK, "elm.text.sub.right",
+ DSC_RTB("default" 0.0,
+ "elm.icon.right", "elm.padding.top", "elm.padding.bottom",
+ min: 0 LIST_TEXT_SUB_HEIGHT;
+ text.min: 0 1;
+ text.style: "list_text_sub_02";
+ /* This limits text growing. */
+ rel1.offset: -LIST_TEXT_SUB_WIDTH_MAX 0;
+ text.max: 1 0;
+ align: 1.0 0.5;
+ /*******************************/
+ )
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ text.style: "list_text_sub_02_press";
+ }
+ description { state: "dim" 0.0;
+ inherit: "default" 0.0;
+ text.style: "list_text_sub_02_dim";
+ }
+ )
+ PART(TEXTBLOCK, "elm.text.main.right",
+ DSC_LRTB("default" 0.0,
+ "elm.text.sub.left", "elm.icon.right",
+ "elm.padding.top", "elm.padding.bottom",
+ min: 0 LIST_TEXT_MAIN_HEIGHT;
+ text.min: 0 1;
+ text.style: "list_text_main";
+ )
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ text.style: "list_text_main_press";
+ }
+ description { state: "dim" 0.0;
+ inherit: "default" 0.0;
+ text.style: "list_text_main_dim";
+ }
+ )
+ PART(TEXTBLOCK, "elm.text.sub.left",
+ DSC_LTB("default" 0.0,
+ "elm.icon.left", "elm.padding.top", "elm.padding.bottom",
+ min: 0 LIST_TEXT_SUB_HEIGHT;
+ text.min: 0 1;
+ text.style: "list_text_sub_02";
+ /* This limits text growing. */
+ rel2.offset: LIST_TEXT_SUB_WIDTH_MAX 0;
+ text.max: 1 0;
+ align: 0.0 0.5;
+ /*******************************/
+ )
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ text.style: "list_text_sub_02_press";
+ }
+ description { state: "dim" 0.0;
+ inherit: "default" 0.0;
+ text.style: "list_text_sub_02_dim";
+ }
+ )
+ }
+ LIST_PROGRAMS( target: "elm.text.main.left"; target: "elm.text.main.right";
+ target: "elm.text.sub.left"; target: "elm.text.sub.right";
+ )
+}
+
+// B Type
+
+// 2.2.1.B1
+group { name: "elm/layout/list/B/music.type.1/default";
+
+ images {
+ image: GENLIST_LITE_PAUSE_ICON COMP;
+ image: GENLIST_LITE_PLAY_ICON COMP;
+ }
+
+ parts {
+ PART(RECT, "elm.swallow.bg",
+ description { state: "default" 0.0;
+ min: LIST_ITEM_HEIGHT LIST_ITEM_HEIGHT;
+ //max: LIST_ITEM_HEIGHT LIST_ITEM_HEIGHT;
+ }
+ )
+ part
+ { name:"elm.swallow.content";
+ type: SWALLOW;
+ clip_to: "elm.swallow.bg";
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; to:"elm.swallow.bg";}
+ rel2 { relative: 1.0 1.0; to:"elm.swallow.bg";}
+ //min: LIST_ITEM_HEIGHT LIST_ITEM_HEIGHT;
+ //max: LIST_ITEM_HEIGHT LIST_ITEM_HEIGHT;
+ }
+ }
+ part
+ {
+ name:"elm.swallow.storage";
+ type: SWALLOW;
+ clip_to: "elm.swallow.bg";
+ scale: 1;
+ description { state: "default" 0.0;
+ min: GENLIST_ICON_SIZE GENLIST_ICON_SIZE;
+ max: GENLIST_ICON_SIZE GENLIST_ICON_SIZE;
+ fixed:1 1;
+ rel1 { relative: 0.0 0.0; to:"elm.swallow.content"; offset: 54 54;}
+ rel2 { relative: 1.0 1.0; to:"elm.swallow.content"; offset: -6 -6;}
+ }
+ }
+ part
+ {
+ name:"elm.content.top";
+ type: IMAGE;
+ clip_to: "elm.swallow.bg";
+ scale: 1;
+ description { state: "default" 0.0;
+ min: LIST_ITEM_HEIGHT LIST_ITEM_HEIGHT;
+ max: LIST_ITEM_HEIGHT LIST_ITEM_HEIGHT;
+ fixed:1 1;
+ visible: 0;
+ image { normal: GENLIST_LITE_PAUSE_ICON;}
+ rel1 { relative: 0.0 0.0; to:"elm.swallow.content"; }
+ rel2 { relative: 1.0 1.0; to:"elm.swallow.content"; }
+ }
+ description { state: "show_play" 0.0;
+ inherit: "default";
+ visible: 1;
+ }
+ description { state: "show_pause" 0.0;
+ inherit: "default";
+ image { normal: GENLIST_LITE_PLAY_ICON;}
+ visible: 1;
+ }
+ }
+ }
+ programs {
+ program { name: "default";
+ signal: "show_default";
+ source: "*";
+ action: STATE_SET "default" 0.0;
+ target: "elm.content.top";
+ }
+ program { name: "show_play";
+ signal: "show_play";
+ source: "*";
+ action: STATE_SET "show_play" 0.0;
+ target: "elm.content.top";
+ }
+ program { name: "show_pause";
+ signal: "show_pause";
+ source: "*";
+ action: STATE_SET "show_pause" 0.0;
+ target: "elm.content.top";
+ }
+ }
+}
+
+group { name: "elm/layout/list/B/music.type.2/default";
+ parts {
+ PART(RECT, "elm.swallow.bg",
+ description { state: "default" 0.0;
+ min: LIST_ITEM_HEIGHT LIST_ITEM_HEIGHT;
+ max: LIST_ITEM_HEIGHT LIST_ITEM_HEIGHT;
+ }
+ )
+ part
+ { name:"elm.swallow.content";
+ type: SWALLOW;
+ clip_to: "elm.swallow.bg";
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; to:"elm.swallow.bg";}
+ rel2 { relative: 1.0 1.0; to:"elm.swallow.bg";}
+ min: LIST_ITEM_HEIGHT LIST_ITEM_HEIGHT;
+ max: LIST_ITEM_HEIGHT LIST_ITEM_HEIGHT;
+ }
+ }
+ part
+ {
+ name:"elm.icon.center";
+ type: SWALLOW;
+ clip_to: "elm.swallow.bg";
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; to:"elm.swallow.bg";}
+ rel2 { relative: 1.0 1.0; to:"elm.swallow.bg";}
+ min: GENLIST_ICON_SIZE GENLIST_ICON_SIZE;
+ max: GENLIST_ICON_SIZE GENLIST_ICON_SIZE;
+ }
+ }
+ }
+}
+group { name: "elm/layout/list/B/music.type.3/default";
+ parts {
+ PART(RECT, "elm.swallow.bg",
+ description { state: "default" 0.0;
+ min: LIST_ALBUM_DETAIL_ITEM_HEIGHT LIST_ALBUM_DETAIL_ITEM_HEIGHT;
+ max: LIST_ALBUM_DETAIL_ITEM_HEIGHT LIST_ALBUM_DETAIL_ITEM_HEIGHT;
+ }
+ )
+ part
+ { name:"elm.swallow.content";
+ type: SWALLOW;
+ clip_to: "elm.swallow.bg";
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; to:"elm.swallow.bg";}
+ rel2 { relative: 1.0 1.0; to:"elm.swallow.bg";}
+ min: LIST_ALBUM_DETAIL_ITEM_HEIGHT LIST_ALBUM_DETAIL_ITEM_HEIGHT;
+ max: LIST_ALBUM_DETAIL_ITEM_HEIGHT LIST_ALBUM_DETAIL_ITEM_HEIGHT;
+ }
+ }
+ part
+ {
+ name:"elm.icon.center";
+ type: SWALLOW;
+ clip_to: "elm.swallow.bg";
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; to:"elm.swallow.bg";}
+ rel2 { relative: 1.0 1.0; to:"elm.swallow.bg";}
+ min: GENLIST_ICON_SIZE GENLIST_ICON_SIZE;
+ max: GENLIST_ICON_SIZE GENLIST_ICON_SIZE;
+ }
+ }
+ }
+}
+
+
+// ----------------------------------------------
+// | elm.text.main | elm.text.sub | elm.icon |
+// ----------------------------------------------
+group {GENLIST_NAME("music/groupindex/default")
+ data.item: "texts" "elm.text.main elm.text.sub";
+ data.item: "contents" "elm.icon";
+ data.item: "itembg" "on";
+ data.item: "bg_color" "B041";
+
+ parts {
+ PART(RECT, "bg",
+ description { state: "default" 0.0;
+ color: 255 255 255 255;
+ }
+ )
+ PART(SPACER, "elm.padding.top",
+ DSC_FROM_T("default" 0.0,
+ min: 0 LIST_INDEX_PADDING_TOP_SIZE;
+ max: -1 LIST_INDEX_PADDING_TOP_SIZE;
+ )
+ )
+ PART(SPACER, "elm.padding.bottom",
+ DSC_FROM_B("default" 0.0,
+ min: 0 LIST_INDEX_PADDING_BOTTOM_SIZE;
+ max: -1 LIST_INDEX_PADDING_BOTTOM_SIZE;
+ )
+ )
+ PART(SPACER, "elm.padding.left",
+ DSC_FROM_L("default" 0.0,
+ min: LIST_INDEX_PADDING_LEFT_SIZE 0;
+ max: LIST_INDEX_PADDING_LEFT_SIZE -1;
+ )
+ )
+ PART(SPACER, "elm.padding.right",
+ DSC_FROM_R("default" 0.0,
+ min: LIST_INDEX_PADDING_RIGHT_SIZE 0;
+ max: LIST_INDEX_PADDING_RIGHT_SIZE -1;
+ )
+ )
+
+ PART(SWALLOW, "elm.icon",
+ DSC_RTB("default" 0.0,
+ "elm.padding.right", "elm.padding.top", "elm.padding.bottom",
+ )
+ )
+
+ PART(TEXTBLOCK, "elm.text.main",
+ DSC_LRTB("default" 0.0,
+ "elm.padding.left", "elm.text.sub",
+ "elm.padding.top", "elm.padding.bottom",
+ min: 0 LIST_INDEX_HEIGHT;
+ text.min: 0 1;
+ text.style: "list_text_index_main";
+ )
+ description { state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ text.style: "list_text_index_main_press";
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ text.style: "list_text_index_main_dim";
+ }
+ )
+ PART(TEXTBLOCK, "elm.text.sub",
+ DSC_RTB("default" 0.0,
+ "elm.icon", "elm.padding.top", "elm.padding.bottom",
+ min: 0 LIST_INDEX_HEIGHT;
+ text.min: 0 1;
+ text.style: "list_text_index_main";
+ /** This limits text growing. **/
+ rel1.offset: -LIST_TEXT_SUB_WIDTH_MAX 0;
+ text.max: 1 0;
+ align: 1.0 0.5;
+ /*******************************/
+ )
+ description { state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ text.style: "list_text_index_sub_press";
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ text.style: "list_text_index_sub_dim";
+ }
+ )
+ PART(RECT, "elm.bottomline",
+ DSC_FROM_B("default" 0.0,
+ min: 0 1;
+ max: -1 1;
+ color: 217 217 217 255;
+ )
+ )
+ }
+ LIST_PROGRAMS( target: "elm.text.main"; target: "elm.text.sub"; )
+}
+
+#define LIST_TEXT_SUB_WIDTH 160
+group { GENLIST_NAME("music/groupindex.sub/default")
+ inherit: "elm/genlist/item/music/groupindex/default";
+ parts{
+ PART(TEXTBLOCK, "elm.text.sub",
+ DSC_RTB("default" 0.0,
+ "elm.icon", "elm.padding.top", "elm.padding.bottom",
+ min: 0 LIST_INDEX_HEIGHT;
+ text.min: 0 1;
+ text.style: "list_text_index_main";
+ /** This limits text growing. **/
+ rel1.offset: -LIST_TEXT_SUB_WIDTH 0;
+ text.max: 1 0;
+ align: 1.0 0.5;
+ /*******************************/
+ )
+ )
+ }
+}
+
+group {GENLIST_NAME("music/1text/bottom_counter/default");
+ data.item: "texts" "elm.text elm.text.main elm.text.main.top elm.text.sub";
+ parts {
+ part {
+ name: "bg";
+ type: RECT;
+ scale: 0;
+ description {
+ state: "default" 0.0;
+ rel1.relative: 0.0 0.0;
+ rel2.relative: 1.0 1.0;
+ min: 0 60;
+ color: 255 255 255 255;
+ }
+ }
+ part {
+ name: "elm.text";
+ type: TEXT;
+ scale: 0;
+ description {
+ state: "default" 0.0;
+ min: 0 50;
+ color: 4 170 185 255;
+ text {
+ size : 30;
+ align : 0.955 0.5;
+ style : "regular";
+ }
+ }
+ }
+ part {
+ name: "elm.text.main.top";
+ type: TEXT;
+ scale: 0;
+ description {
+ state: "default" 0.0;
+ min: 0 50;
+ color: 4 170 185 255;
+ text {
+ size : 30;
+ align: 0.044 0.5;
+ style : "regular";
+ }
+ }
+ }
+ part {
+ name: "elm.text.main";
+ type: TEXT;
+ scale: 0;
+ description {
+ state: "default" 0.0;
+ min: 0 50;
+ color: 4 170 185 255;
+ rel1 {
+ relative: 0.0 0.0;
+ to: "bg";
+ }
+ rel2 {
+ relative: 0.5 1.0;
+ to: "bg";
+ }
+ text {
+ size : 30;
+ align: 0.044 0.5;
+ style : "regular";
+ }
+ }
+ }
+ part {
+ name: "elm.text.sub";
+ type: TEXT;
+ scale: 0;
+ description {
+ state: "default" 0.0;
+ min: 0 50;
+ color: 4 170 185 255;
+ rel1 {
+ relative: 0.5 0.0;
+ to: "bg";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to: "bg";
+ }
+ text {
+ size : 30;
+ align: 0.955 0.5;
+ style : "regular";
+ }
+ }
+ }
+ }
+}
+
+#define IMG_ALBUM_ART_OVERLAY "recently_added/alltracks_bg.png"
+
+group {
+ name: "elm/genlist/item/recently_added/default";
+ data.item: "texts" "elm.text.main.1 elm.text.sub.1 elm.text.main.2 elm.text.sub.2 elm.text.main.3 elm.text.sub.3";
+ data.item: "contents" "elm.swallow.1 elm.swallow.2 elm.swallow.3 elm.swallow.1.play elm.swallow.2.play elm.swallow.3.play";
+
+ images {
+ image: IMG_ALBUM_ART_OVERLAY COMP;
+ }
+
+ parts {
+ part {
+ name: "bg";
+ type: RECT;
+ scale: 1;
+ description {
+ rel1 {
+ relative: 0.0 0.0;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ }
+ min: 0 217;
+ color: 255 255 255 230;
+ }
+ }
+
+ part {
+ name: "elm.swallow.1";
+ type: SWALLOW;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 32/720 0.0;
+ to: "bg";
+ }
+ rel2 {
+ relative: 229/720 1.0;
+ to: "bg";
+ }
+ min: 197 197;
+ }
+ }
+
+ part {
+ name: "elm.swallow.1.overlay";
+ type: IMAGE;
+ scale: 1;
+ repeat_events: 1;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ to: "elm.swallow.1";
+ }
+ rel2 {
+ to: "elm.swallow.1";
+ }
+ image.normal: IMG_ALBUM_ART_OVERLAY;
+ color: 0 0 0 20;
+ }
+ }
+
+ part {
+ name: "elm.text.main.1";
+ type: TEXT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 10/197 111/197;
+ to: "elm.swallow.1";
+ }
+ rel2 {
+ relative: 127/197 154/197;
+ to: "elm.swallow.1";
+ }
+ text {
+ size: 32;
+ align: 0.0 0.5;
+ }
+ color: 255 255 255 204;
+ }
+ }
+
+ part {
+ name: "elm.text.sub.1";
+ type: TEXT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 10/197 154/197;
+ to: "elm.swallow.1";
+ }
+ rel2 {
+ relative: 127/197 187/197;
+ to: "elm.swallow.1";
+ }
+ text {
+ size: 24;
+ align: 0.0 0.5;
+ }
+ color: 255 255 255 204;
+ }
+ }
+
+ part {
+ name: "play_btn_bg_1";
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 137/197 137/197;
+ to: "elm.swallow.1";
+ }
+ rel2 {
+ relative: 187/197 187/197;
+ to: "elm.swallow.1";
+ }
+ min: 50 50;
+ align: 1.0 1.0;
+ color: 0 0 0 0;
+ }
+ }
+
+ part {
+ name: "elm.swallow.1.play";
+ type: SWALLOW;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ to: "play_btn_bg_1";
+ }
+ rel2 {
+ to: "play_btn_bg_1";
+ }
+ color: 168 230 240 100;
+ }
+ }
+
+ part {
+ name: "elm.swallow.2";
+ type: SWALLOW;
+ scale: 1;
+ repeat_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 261/720 0.0;
+ to: "bg";
+ }
+ rel2 {
+ relative: 458/720 1.0;
+ to: "bg";
+ }
+ min: 197 197;
+ }
+ }
+
+ part {
+ name: "elm.swallow.2.overlay";
+ type: IMAGE;
+ scale: 1;
+ repeat_events: 1;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ to: "elm.swallow.2";
+ }
+ rel2 {
+ to: "elm.swallow.2";
+ }
+ image.normal: IMG_ALBUM_ART_OVERLAY;
+ color: 0 0 0 20;
+ }
+ }
+
+ part {
+ name: "elm.text.main.2";
+ type: TEXT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 10/197 111/197;
+ to: "elm.swallow.2";
+ }
+ rel2 {
+ relative: 127/197 154/197;
+ to: "elm.swallow.2";
+ }
+ text {
+ size: 32;
+ align: 0.0 0.5;
+ }
+ color: 255 255 255 204;
+ }
+ }
+
+ part {
+ name: "elm.text.sub.2";
+ type: TEXT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 10/197 154/197;
+ to: "elm.swallow.2";
+ }
+ rel2 {
+ relative: 127/197 187/197;
+ to: "elm.swallow.2";
+ }
+ text {
+ size: 24;
+ align: 0.0 0.5;
+ }
+ color: 255 255 255 204;
+ }
+ }
+
+ part {
+ name: "play_btn_bg_2";
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 137/197 137/197;
+ to: "elm.swallow.2";
+ }
+ rel2 {
+ relative: 187/197 187/197;
+ to: "elm.swallow.2";
+ }
+ min: 50 50;
+ align: 1.0 1.0;
+ color: 0 0 0 0;
+ }
+ }
+
+ part {
+ name: "elm.swallow.2.play";
+ type: SWALLOW;
+ scale: 1;
+ repeat_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ to: "play_btn_bg_2";
+ }
+ rel2 {
+ to: "play_btn_bg_2";
+ }
+ color: 168 230 240 100;
+ }
+ }
+
+ part {
+ name: "elm.swallow.3";
+ type: SWALLOW;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 491/720 0.0;
+ to: "bg";
+ }
+ rel2 {
+ relative: 688/720 1.0;
+ to: "bg";
+ }
+ min: 197 197;
+ }
+ }
+
+ part {
+ name: "elm.swallow.3.overlay";
+ type: IMAGE;
+ scale: 1;
+ repeat_events: 1;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ to: "elm.swallow.3";
+ }
+ rel2 {
+ to: "elm.swallow.3";
+ }
+ image.normal: IMG_ALBUM_ART_OVERLAY;
+ color: 0 0 0 20;
+ }
+ }
+
+ part {
+ name: "elm.text.main.3";
+ type: TEXT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 10/197 111/197;
+ to: "elm.swallow.3";
+ }
+ rel2 {
+ relative: 127/197 154/197;
+ to: "elm.swallow.3";
+ }
+ text {
+ size: 32;
+ align: 0.0 0.5;
+ }
+ color: 255 255 255 204;
+ }
+ }
+
+ part {
+ name: "elm.text.sub.3";
+ type: TEXT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 10/197 154/197;
+ to: "elm.swallow.3";
+ }
+ rel2 {
+ relative: 127/197 187/197;
+ to: "elm.swallow.3";
+ }
+ text {
+ size: 24;
+ align: 0.0 0.5;
+ }
+ color: 255 255 255 204;
+ }
+ }
+
+ part {
+ name: "play_btn_bg_3";
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 137/197 137/197;
+ to: "elm.swallow.3";
+ }
+ rel2 {
+ relative: 187/197 187/197;
+ to: "elm.swallow.3";
+ }
+ min: 50 50;
+ align: 1.0 1.0;
+ color: 0 0 0 0;
+ }
+ }
+
+ part {
+ name: "elm.swallow.3.play";
+ type: SWALLOW;
+ scale: 1;
+ repeat_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ to: "play_btn_bg_3";
+ }
+ rel2 {
+ to: "play_btn_bg_3";
+ }
+ color: 168 230 240 100;
+ }
+ }
+ }
+
+ programs {
+ program {
+ signal: "mouse,down,1";
+ source: "*";
+ action: STATE_SET "pressed" 0.0;
+ target: "elm.swallow.1";
+ target: "elm.swallow.1.play";
+ target: "elm.swallow.2";
+ target: "elm.swallow.2.play";
+ target: "elm.swallow.3";
+ target: "elm.swallow.3.play";
+ }
+ program {
+ signal: "mouse,up,1";
+ source: "*";
+ action: STATE_SET "default" 0.0;
+ target: "elm.swallow.1";
+ target: "elm.swallow.1.play";
+ target: "elm.swallow.2";
+ target: "elm.swallow.2.play";
+ target: "elm.swallow.3";
+ target: "elm.swallow.3.play";
+ }
+
+ program {
+ name: "thumbnail_clicked_1";
+ source: "*";
+ action: SIGNAL_EMIT "mouse,clicked,1" "0.0";
+ }
+ program {
+ name: "play_clicked_1";
+ source: "*";
+ action: SIGNAL_EMIT "mouse,clicked,1" "0.0";
+ }
+
+ program {
+ name: "thumbnail_clicked_2";
+ source: "*";
+ action: SIGNAL_EMIT "mouse,clicked,1" "0.0";
+ }
+ program {
+ name: "play_clicked_2";
+ source: "*";
+ action: SIGNAL_EMIT "mouse,clicked,1" "0.0";
+ }
+
+ program {
+ name: "thumbnail_clicked_3";
+ source: "*";
+ action: SIGNAL_EMIT "mouse,clicked,1" "0.0";
+ }
+ program {
+ name: "play_clicked_3";
+ source: "*";
+ action: SIGNAL_EMIT "mouse,clicked,1" "0.0";
+ }
+ }
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+
+#define STYLE_TAG \
+ tag: "br" "\n";\
+ tag: "ps" "ps";\
+ tag: "tab" "\t";\
+ tag: "b" "+ font=Tizen:style=Bold";
+
+#define STYLE_TAG_MATCH \
+ tag: "match" GENLIST_PART_MATCH_TAG_COLOR;
+
+// FIXME: Why this is needed? just don't use match color, right? damn textblock bug...
+#define STYLE_TAG_MATCH_FOCUS \
+ tag: "match" GENLIST_LIST_TEXT_FOCUS_COLOR_STYLE;
+
+styles {
+ // ********************** groupindex text
+ style { name: "genlist_style_groupindex_text";
+ base: "font=Tizen:style=Regular font_size="GENLIST_GROUPINDEX_LIST_SIZE" color="GENLIST_GROUPINDEX_LIST_COLOR_STYLE" ellipsis=1.0";
+ STYLE_TAG
+ STYLE_TAG_MATCH
+ }
+ style { name: "genlist_style_groupindex_text_focus";
+ base: "font=Tizen:style=Regular font_size="GENLIST_GROUPINDEX_LIST_SIZE" color="GENLIST_GROUPINDEX_LIST_FOCUS_COLOR_STYLE" ellipsis=1.0";
+ STYLE_TAG
+ STYLE_TAG_MATCH
+ }
+ // ********************** dialgoue group help text
+ style { name: "genlist_style_dialogue_group_help_text";
+ base: "font=Tizen:style=Regular font_size="GENLIST_DIALOGUE_GROUP_HELP_TEXT_SIZE" color="GENLIST_DIALOGUE_GROUP_HELP_TEXT_COLOR_STYLE" wrap=mixed";
+ STYLE_TAG
+ STYLE_TAG_MATCH
+ }
+ // ********************** list main text
+ style { name: "genlist_style_list_main_text_unread";
+ base: "font=Tizen:style=Regular font_size="GENLIST_LIST_MAIN_TEXT_SIZE" color="GENLIST_LIST_MAIN_TEXT_UNREAD_COLOR_STYLE" ellipsis=1.0";
+ STYLE_TAG
+ STYLE_TAG_MATCH
+ }
+ style { name: "genlist_style_list_main_text_unread_black";
+ base: "font=Tizen:style=Regular font_size="GENLIST_LIST_MAIN_TEXT_SIZE" color=#FFFFFF text_color:ATO025 ellipsis=1.0";
+ STYLE_TAG
+ STYLE_TAG_MATCH
+ }
+ style { name: "genlist_style_list_main_text_unread_live_box_black";
+ base: "font=Tizen:style=Regular font_size="38" color="GENLIST_LIST_MAIN_TEXT_LIVEBOX_COLOR_STYLE_BLACK" ellipsis=1.0";
+ STYLE_TAG
+ STYLE_TAG_MATCH
+ }
+ style { name: "genlist_style_list_main_text_livebox";
+ base: "font=Tizen:style=Regular font_size="GENLIST_LIST_MAIN_TEXT_SIZE" color="GENLIST_LIST_MAIN_TEXT_LIVEBOX_COLOR_STYLE" ellipsis=1.0";
+ STYLE_TAG
+ STYLE_TAG_MATCH
+ }
+ style { name: "genlist_style_list_main_text_unread_dim";
+ base: "font=Tizen:style=Regular font_size="GENLIST_LIST_MAIN_TEXT_SIZE" color="GENLIST_LIST_MAIN_TEXT_UNREAD_DIM_COLOR_STYLE" ellipsis=1.0";
+ STYLE_TAG
+ STYLE_TAG_MATCH
+ }
+
+ style { name: "genlist_style_list_main_text_unread_dim_black";
+ base: "font=Tizen:style=Regular font_size="GENLIST_LIST_MAIN_TEXT_SIZE" color="GENLIST_LIST_MAIN_TEXT_UNREAD_DIM_COLOR_STYLE_BLACK" ellipsis=1.0";
+ STYLE_TAG
+ STYLE_TAG_MATCH
+ }
+ style { name: "genlist_style_list_main_text_read";
+ base: "font=Tizen:style=Regular font_size="GENLIST_LIST_MAIN_TEXT_SIZE" color="GENLIST_LIST_MAIN_TEXT_READ_COLOR_STYLE" ellipsis=1.0";
+ STYLE_TAG
+ STYLE_TAG_MATCH
+ }
+ style { name: "genlist_style_list_main_text_read_dim";
+ base: "font=Tizen:style=Regular font_size="GENLIST_LIST_MAIN_TEXT_SIZE" color="GENLIST_LIST_MAIN_TEXT_READ_DIM_COLOR_STYLE" ellipsis=1.0";
+ STYLE_TAG
+ STYLE_TAG_MATCH
+ }
+ style { name: "genlist_style_list_main_text_focus";
+ base: "font=Tizen:style=Regular font_size="GENLIST_LIST_MAIN_TEXT_SIZE" color="GENLIST_LIST_TEXT_FOCUS_COLOR_STYLE" ellipsis=1.0";
+ STYLE_TAG
+ STYLE_TAG_MATCH_FOCUS
+ }
+ style { name: "genlist_style_list_main_text_focus_black";
+ base: "font=Tizen:style=Regular font_size="GENLIST_LIST_MAIN_TEXT_SIZE" color="GENLIST_LIST_TEXT_FOCUS_COLOR_STYLE_BLACK" ellipsis=1.0";
+ STYLE_TAG
+ STYLE_TAG_MATCH_FOCUS
+ }
+ // ********************** list main text (multiline)
+ style { name: "genlist_style_list_main_text_unread_wrap";
+ base: "font=Tizen:style=Regular font_size="GENLIST_LIST_MAIN_TEXT_SIZE" color="GENLIST_LIST_MAIN_TEXT_UNREAD_COLOR_STYLE" wrap=mixed";
+ STYLE_TAG
+ STYLE_TAG_MATCH
+ }
+ style { name: "genlist_style_list_main_text_unread_dim_wrap";
+ base: "font=Tizen:style=Regular font_size="GENLIST_LIST_MAIN_TEXT_SIZE" color="GENLIST_LIST_MAIN_TEXT_UNREAD_DIM_COLOR_STYLE" wrap=mixed";
+ STYLE_TAG
+ STYLE_TAG_MATCH
+ }
+ style { name: "genlist_style_list_main_text_focus_wrap";
+ base: "font=Tizen:style=Regular font_size="GENLIST_LIST_MAIN_TEXT_SIZE" color="GENLIST_LIST_TEXT_FOCUS_COLOR_STYLE" wrap=mixed";
+ STYLE_TAG
+ STYLE_TAG_MATCH_FOCUS
+ }
+ // ********************** list sub text
+ style { name: "genlist_style_list_sub_text_default";
+ base: "font=Tizen:style=Bold font_size="GENLIST_LIST_SUB_TEXT_SIZE" color="GENLIST_LIST_SUB_TEXT_DEFAULT_COLOR_STYLE" ellipsis=1.0";
+ STYLE_TAG
+ STYLE_TAG_MATCH
+ }
+ style { name: "genlist_style_list_sub_text_default_dim";
+ base: "font=Tizen:style=Bold font_size="GENLIST_LIST_SUB_TEXT_SIZE" color="GENLIST_LIST_SUB_TEXT_DEFAULT_DIM_COLOR_STYLE" ellipsis=1.0";
+ STYLE_TAG
+ STYLE_TAG_MATCH_FOCUS
+ }
+ style { name: "genlist_style_list_sub_text_livebox";
+ base: "font=Tizen:style=Bold font_size="GENLIST_LIST_SUB_TEXT_SIZE" color="GENLIST_LIST_SUB_TEXT_LIVEBOX_COLOR_STYLE" ellipsis=1.0";
+ STYLE_TAG
+ STYLE_TAG_MATCH
+ }
+ style { name: "genlist_style_list_sub_text_settings";
+ base: "font=Tizen:style=Bold font_size="GENLIST_LIST_SUB_TEXT_SIZE" color="GENLIST_LIST_SUB_TEXT_SETTINGS_COLOR_STYLE" ellipsis=1.0";
+ STYLE_TAG
+ STYLE_TAG_MATCH
+ }
+ style { name: "genlist_style_list_sub_text_settings_dim";
+ base: "font=Tizen:style=Bold font_size="GENLIST_LIST_SUB_TEXT_SIZE" color="GENLIST_LIST_SUB_TEXT_SETTINGS_DIM_COLOR_STYLE" ellipsis=1.0";
+ STYLE_TAG
+ STYLE_TAG_MATCH
+ }
+ style { name: "genlist_style_list_sub_text_focus";
+ base: "font=Tizen:style=Bold font_size="GENLIST_LIST_SUB_TEXT_SIZE" color="GENLIST_LIST_TEXT_FOCUS_COLOR_STYLE" ellipsis=1.0";
+ STYLE_TAG
+ STYLE_TAG_MATCH_FOCUS
+ }
+ // ********************** list sub text (multiline)
+ style { name: "genlist_style_list_sub_text_default_wrap";
+ base: "font=Tizen:style=Bold font_size="GENLIST_LIST_SUB_TEXT_SIZE" color="GENLIST_LIST_SUB_TEXT_DEFAULT_COLOR_STYLE" wrap=mixed";
+ STYLE_TAG
+ STYLE_TAG_MATCH
+ }
+ style { name: "genlist_style_list_sub_text_default_dim_wrap";
+ base: "font=Tizen:style=Bold font_size="GENLIST_LIST_SUB_TEXT_SIZE" color="GENLIST_LIST_SUB_TEXT_DEFAULT_DIM_COLOR_STYLE" wrap=mixed";
+ STYLE_TAG
+ STYLE_TAG_MATCH
+ }
+ style { name: "genlist_style_list_sub_text_focus_wrap";
+ base: "font=Tizen:style=Bold font_size="GENLIST_LIST_SUB_TEXT_SIZE" color="GENLIST_LIST_TEXT_FOCUS_COLOR_STYLE" wrap=mixed";
+ STYLE_TAG
+ STYLE_TAG_MATCH
+ }
+
+ // **** style for download queue ****
+ style { name: "genlist_style_download_queue_progress_state_dim";
+ base: "font=Tizen:style=Regular font_size=24 color="GENLIST_LIST_SUB_TEXT_DEFAULT_DIM_COLOR_STYLE" ellipsis=1.0";
+ STYLE_TAG
+ STYLE_TAG_MATCH_FOCUS
+ }
+ style { name: "genlist_style_download_queue_progress_size_dim";
+ base: "font=Tizen:style=Regular font_size=24 color="GENLIST_LIST_SUB_TEXT_DEFAULT_DIM_COLOR_STYLE" align=right ellipsis=1.0";
+ STYLE_TAG
+ STYLE_TAG_MATCH_FOCUS
+ }
+ // ************* for lite textblock******* //
+ // ************* list main text ********** //
+ style { name: "list_text_main";
+ base: "font=Tizen:style=Regular font_size="LIST_TEXT_MAIN_SIZE" color=#000000 ellipsis=1.0";
+ STYLE_TAG
+ STYLE_TAG_MATCH
+ }
+ style { name: "list_text_main_dim";
+ base: "font=Tizen:style=Regular font_size="LIST_TEXT_MAIN_SIZE" color=#000000 ellipsis=1.0";
+ STYLE_TAG
+ }
+ style { name: "list_text_main_press";
+ base: "font=Tizen:style=Regular font_size="LIST_TEXT_MAIN_SIZE" color=#000000 ellipsis=1.0";
+ STYLE_TAG
+ }
+ // ************* list sub text ********** //
+ style { name: "list_text_sub_01";
+ base: "font=Tizen:style=Regular font_size="LIST_TEXT_SUB_SIZE" color=#000000 ellipsis=1.0";
+ STYLE_TAG
+ STYLE_TAG_MATCH
+ }
+ style { name: "list_text_sub_01_dim";
+ base: "font=Tizen:style=Regular font_size="LIST_TEXT_SUB_SIZE" color=#000000 ellipsis=1.0";
+ STYLE_TAG
+ }
+ style { name: "list_text_sub_01_press";
+ base: "font=Tizen:style=Regular font_size="LIST_TEXT_SUB_SIZE" color=#000000 ellipsis=1.0";
+ STYLE_TAG
+ }
+ style { name: "list_text_sub_02";
+ base: "font=Tizen:style=Regular font_size="LIST_TEXT_SUB_SIZE" color=#000000 ellipsis=1.0";
+ STYLE_TAG
+ }
+ style { name: "list_text_sub_02_dim";
+ base: "font=Tizen:style=Regular font_size="LIST_TEXT_SUB_SIZE" color=#000000 ellipsis=1.0";
+ STYLE_TAG
+ }
+ style { name: "list_text_sub_02_press";
+ base: "font=Tizen:style=Regular font_size="LIST_TEXT_SUB_SIZE" color=#000000 ellipsis=1.0";
+ STYLE_TAG
+ }
+ // ************* list index text ********** //
+ style { name: "list_text_index_main";
+ base: "font=Tizen:style=Regular font_size="LIST_INDEX_TEXT_MAIN_SIZE" color=#ffffff ellipsis=1.0";
+ STYLE_TAG
+ }
+ style { name: "list_text_index_main_dim";
+ base: "font=Tizen:style=Regular font_size="LIST_INDEX_TEXT_MAIN_SIZE" color=#ffffff ellipsis=1.0";
+ STYLE_TAG
+ }
+ style { name: "list_text_index_main_press";
+ base: "font=Tizen:style=Regular font_size="LIST_INDEX_TEXT_MAIN_SIZE" color=#ffffff ellipsis=1.0";
+ STYLE_TAG
+ }
+ style { name: "list_text_index_sub";
+ base: "font=Tizen:style=Regular font_size="LIST_INDEX_TEXT_SUB_SIZE" color=#ffffff ellipsis=1.0";
+ STYLE_TAG
+ }
+ style { name: "list_text_index_sub_dim";
+ base: "font=Tizen:style=Regular font_size="LIST_INDEX_TEXT_SUB_SIZE" color=#ffffff ellipsis=1.0";
+ STYLE_TAG
+ }
+ style { name: "list_text_index_sub_press";
+ base: "font=Tizen:style=Regular font_size="LIST_INDEX_TEXT_SUB_SIZE" color=#ffffff ellipsis=1.0";
+ STYLE_TAG
+ }
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include "tizen-hd-inc.edc"
+
+#ifndef MP_NOW_PLAYING_H
+#define MP_NOW_PLAYING_H 112
+#endif
+
+#define SCREEN_H 1280
+#define SCREEN_W 720
+#define AV_SHORTCUT_H 480
+#define AV_LAYOUT_H (SCREEN_H - NAVIFRAME_TITLE_H_INC - NAVIFRAME_TOOLBAR_HEIGHT_INC - LAYOUT_INDICATOR_HEIGHT_INC - MP_NOW_PLAYING_H)
+#define REL_X(x) (x/SCREEN_W.)
+#define REL_Y(y) (y/AV_LAYOUT_H.)
+#define LANDSCAPE_LEFT_PADDING 36
+#define LANDSCAPE_CENTER_PADDING 40
+#define LANDSCAPE_RIGHT_PADDING 33
+#define LANDSCAPE_SCREEN_H 720
+#define LANDSCAPE_SCREEN_W 1280
+#define LANDSCAPE_BOX_SIZE 377
+#define LANDSCAPE_ALBUMT_SIZE 230
+#define LANDSCAPE_ARTIST_SIZE 166
+#define ALL_VIEW_TABBAR_SIZE 50
+
+#define ALBUMT_ITEM_ADD(__name, __name1, __rel1, __min_w, __min_h, __m_center)\
+ part{ \
+ name: __name; \
+ type: SWALLOW; \
+ scale: 1; \
+ description { state: "default" 0.0; \
+ min: __min_w __min_h; \
+ fixed: 1 1; \
+ rel1 { relative: 1.0 0.0; to: __rel1;} \
+ rel2 { relative: 1.0 0.0; to: __rel1;} \
+ align: 0.0 0.0; \
+ } \
+ } \
+ part{ \
+ name: __name1; \
+ type: SPACER; \
+ scale: 1; \
+ description { state: "default" 0.0; \
+ min: __m_center __min_h; \
+ fixed: 1 1; \
+ rel1 { relative: 1.0 0.0; to_x: __name;} \
+ rel2 { relative: 1.0 1.0; to_x: __name;} \
+ align: 0.0 0.0; \
+ } \
+ }
+
+group { name: "all_view_layout";
+ parts {
+ part { name: "list-content";
+ type: SWALLOW;
+ scale: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ }
+ }
+ part { name: "tabbar";
+ type: SWALLOW;
+ scale: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 0.0; }
+ align: 0 0;
+ fixed: 1 1;
+ min: 0 ALL_VIEW_TABBAR_SIZE;
+ }
+ description { state: "hide" 0.0;
+ visible: 0;
+ }
+ }
+ }
+
+ programs {
+
+ program { name: "show_tabbar";
+ signal: "show,tabbar";
+ source: "*";
+ action: STATE_SET "default" 0.0;
+ target: "tabbar";
+ }
+ program { name: "hide_tabbar";
+ signal: "hide,tabbar";
+ source: "*";
+ action: STATE_SET "hide" 0.0;
+ target: "tabbar";
+ }
+ }
+ }
+
+#define LARGE_BOX_SIZE AV_SHORTCUT_H
+#define SMALL_BOX_SIZE 240
+#define LABEL_H
+#define BOX_FONT "Tizen:style=Bold"
+
+group { name: "shortcut_box";
+ images {
+ image : "00_thumbs_bg_focus.png" COMP;
+ }
+
+ parts {
+ part { name: "bg";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ }
+ }
+ part { name: "label";
+ type: TEXT;
+ effect: FAR_SHADOW BOTTOM;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1 { relative: 0.0 1.0; offset: 16 -6; }
+ rel2 { relative: 1.0 1.0; offset: -16 -6; }
+ min: 0 40;
+ align: 0.0 1.0;
+ text {
+ //text: "shortcut";
+ font: BOX_FONT;
+ size: 28;
+ align: 0.0 0.5;
+ min: 1 1;
+ fit: 1 1;
+ elipsis: 1.0;
+ }
+ color: 220 220 220 255;
+ color2: 0 0 0 255;
+ }
+ }
+ part { name: "focus_bg";
+ type: IMAGE;
+ description { state: "default" 0.0;
+ visible: 0;
+ rel1 {
+ relative: 0.0 0.0;
+ to: "event_box";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to: "event_box";
+ }
+ image.normal: "00_thumbs_bg_focus.png";
+ image.border: 13 13 13 13;
+ }
+ description { state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "event_box";
+ type: RECT;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ }
+
+ programs {
+ program { signal: "mouse,down,1";
+ source: "event_box";
+ action: STATE_SET "pressed" 0.0;
+ target: "focus_bg";
+ }
+ program { signal: "mouse,up,1";
+ source: "event_box";
+ action: STATE_SET "default" 0.0;
+ target: "focus_bg";
+ }
+
+ program { name: "touch_snd";
+ signal: "mouse,clicked,1";
+ source: "event_box";
+ action: PLAY_SAMPLE "button-pressed" 1.0;
+ after: "clicked";
+ }
+ program {
+ name: "clicked";
+ action: SIGNAL_EMIT "clicked" 0.0;
+ }
+ }
+}
+
+group {
+ name: "recently_added_layout";
+ parts {
+ part {
+ name: "bg";
+ type: RECT;
+ scale: 1;
+ description {
+ rel1 {
+ relative: 0.0 0.0;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ }
+ min: 100 100;
+ color: 255 0 0 255;
+ }
+ }
+ }
+}
+
+group { name: "shortcut_layout";
+ parts {
+ part { name: "bg";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 0;
+ min: SCREEN_W AV_SHORTCUT_H;
+ }
+ }
+ part { name: "box0";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: AV_SHORTCUT_H/SCREEN_W 1.0; }
+ min: LARGE_BOX_SIZE LARGE_BOX_SIZE;
+ align: 0.0 0.0;
+ }
+ }
+ part { name: "box1";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1 { relative: 1.0 0.0; to_x: "box0"; }
+ rel2 { relative: 1.0 0.5; }
+ min: SMALL_BOX_SIZE SMALL_BOX_SIZE;
+ align: 0.0 0.0;
+ }
+ }
+ part { name: "box2";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1 { relative: 0.0 1.0; to: "box1"; }
+ rel2 { relative: 1.0 1.0; to_x: "box1"; }
+ align: 0.0 0.0;
+ }
+ }
+ }
+}
+
+group { name: "landscape/shortcut_layout";
+ parts {
+ part { name: "bg";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 0;
+ }
+ }
+ part { name: "box0";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1 { relative: LANDSCAPE_LEFT_PADDING/LANDSCAPE_SCREEN_W 0.0; }
+ rel2 { relative: (LANDSCAPE_LEFT_PADDING+LANDSCAPE_BOX_SIZE)/LANDSCAPE_SCREEN_W 1.0; }
+ min: LANDSCAPE_BOX_SIZE LANDSCAPE_BOX_SIZE;
+ max: LANDSCAPE_BOX_SIZE LANDSCAPE_BOX_SIZE;
+ align: 0.0 0.0;
+ }
+ }
+ part { name: "box1";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1 { relative: (LANDSCAPE_LEFT_PADDING+LANDSCAPE_BOX_SIZE+LANDSCAPE_CENTER_PADDING)/LANDSCAPE_SCREEN_W 0.0;}
+ rel2 { relative: (LANDSCAPE_LEFT_PADDING+LANDSCAPE_BOX_SIZE*2+LANDSCAPE_CENTER_PADDING)/LANDSCAPE_SCREEN_W 1.0; }
+ min: LANDSCAPE_BOX_SIZE LANDSCAPE_BOX_SIZE;
+ max: LANDSCAPE_BOX_SIZE LANDSCAPE_BOX_SIZE;
+ align: 0.0 0.0;
+ }
+ }
+ part { name: "box2";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1 { relative: (LANDSCAPE_SCREEN_W-LANDSCAPE_BOX_SIZE-LANDSCAPE_RIGHT_PADDING)/LANDSCAPE_SCREEN_W 0.0;}
+ rel2 { relative: (LANDSCAPE_SCREEN_W-LANDSCAPE_RIGHT_PADDING)/LANDSCAPE_SCREEN_W 1.0;}
+ min: LANDSCAPE_BOX_SIZE LANDSCAPE_BOX_SIZE;
+ max: LANDSCAPE_BOX_SIZE LANDSCAPE_BOX_SIZE;
+ align: 0.0 0.0;
+ }
+ }
+ }
+}
+
+
+#define TITLE_DEFAULT_HEIGHT_INC 720
+#define TITLE_DEFAULT_WIDTH_INC 720
+
+group { name: "playlist_view_layout";
+ parts {
+ part { name: "bg";
+ type: SWALLOW;
+ scale: 0;
+ description { state: "default" 0.0;
+ }
+ }
+ part { name: "tabbar";
+ type: SWALLOW;
+ scale: 0;
+ description { state: "default" 0.0;
+ min: TITLE_DEFAULT_WIDTH_INC TITLE_DEFAULT_HEIGHT_INC;
+ fixed: 1 1;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 0.0; }
+ align: 0.5 0.0;
+ }
+ }
+ part { name: "list-content";
+ type: SWALLOW;
+ scale: 0;
+ description { state: "default" 0.0;
+ rel1.to_y: "tabbar";
+ rel1.relative: 0.0 1.0;
+ }
+ }
+ }
+}
+
+group { name: "artist_album_grid_item";
+ images {
+ image : "00_thumbs_bg_focus.png" COMP;
+ }
+ parts{
+ part{
+ name: "bg";
+ type: RECT;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ color: 0 0 0 0;
+ }
+ }
+
+ part{
+ name: "albumart";
+ type: SWALLOW;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ min: 222 222;
+ fixed: 1 1;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 0.0 0.0; }
+ align: 0.0 0.0;
+ }
+ }
+ part { name: "focus_bg";
+ type: IMAGE;
+ description { state: "default" 0.0;
+ visible: 0;
+ rel1 {
+ relative: 0.0 0.0;
+ to: "albumart";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to: "albumart";
+ }
+ image.normal: "00_thumbs_bg_focus.png";
+ image.border: 13 13 13 13;
+ }
+ description { state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part{
+ name: "pad";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 222 10;
+ fixed: 1 1;
+ rel1 { relative: 0.0 1.0; to: "albumart";}
+ rel2 { relative: 1.0 1.0; to: "albumart";}
+ align: 0.0 0.0;
+ }
+ }
+ part { name: "elm.text.1";
+ type: TEXT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 1.0; to: "pad";}
+ rel2 { relative: 1.0 1.0; to: "pad";}
+ fixed: 1 1;
+ min: 222 34;
+ align: 0.0 0.0;
+ color: 48 48 48 255; //0 0 0 255
+ text {
+ align: 0.0 0.5;
+ min: 0 0;
+ font: "Tizen:style=Regular";
+ size: 28;
+ }
+ }
+ }
+ part { name: "elm.text.2";
+ type: TEXT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 1.0; to: "elm.text.1";}
+ rel2 { relative: 1.0 1.0; to: "elm.text.1";}
+ fixed: 1 1;
+ min: 222 28;
+ align: 0.0 0.0;
+ color: 100 100 100 255; //0 0 0 255
+ text {
+ align: 0.0 0.5;
+ min: 0 0;
+ font: "Tizen:style=Bold";
+ size: 28;
+ }
+ }
+ }
+
+ }
+
+ programs {
+ program { signal: "mouse,down,1";
+ source: "bg";
+ action: STATE_SET "pressed" 0.0;
+ target: "focus_bg";
+ }
+ program { signal: "mouse,up,1";
+ source: "bg";
+ action: STATE_SET "default" 0.0;
+ target: "focus_bg";
+ }
+ program {
+ name: "clicked";
+ action: SIGNAL_EMIT "clicked" "*";
+ }
+ program { name: "touch_snd";
+ signal: "mouse,clicked,1";
+ source: "bg";
+ action: PLAY_SAMPLE "button-pressed" 1.0;
+ after: "clicked";
+ }
+ }
+}
+
+group { name: "artist_album_grid_layout";
+ parts{
+ part{
+ name: "bg";
+ type: RECT;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ color: DEFAULT_BG_COLOR;
+ }
+ }
+
+ part{
+ name: "pad.left";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 16 319;
+ fixed: 1 1;
+ rel1 { relative: 0.0 1.0; to: "pad.top";}
+ rel2 { relative: 1.0 1.0; to: "pad.top";}
+ align: 0.0 0.0;
+ }
+ }
+
+ part{
+ name: "pad.top";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 12;
+ fixed: 1 1;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 0.0 0.0; }
+ align: 0.0 0.0;
+ }
+ }
+
+ part{
+ name: "item_0";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 222 294;
+ fixed: 1 1;
+ rel1 { relative: 1.0 0.0; to: "pad.left";}
+ rel2 { relative: 1.0 1.0; to: "pad.left";}
+ align: 0.0 0.0;
+ }
+ }
+
+ part{
+ name: "pad.center.1";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 11 319;
+ fixed: 1 1;
+ rel1 { relative: 1.0 0.0; to: "item_0";}
+ rel2 { relative: 1.0 1.0; to: "item_0";}
+ align: 0.5 0.0;
+ }
+ }
+ part{
+ name: "item_1";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 222 294;
+ fixed: 1 1;
+ rel1 { relative: 1.0 0.0; to: "pad.center.1";}
+ rel2 { relative: 1.0 1.0; to: "pad.center.1";}
+ align: 0.0 0.0;
+ }
+ }
+ part{
+ name: "pad.center.2";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 11 319;
+ fixed: 1 1;
+ rel1 { relative: 1.0 0.0; to: "item_1";}
+ rel2 { relative: 1.0 1.0; to: "item_1";}
+ align: 0.5 0.0;
+ }
+ }
+ part{
+ name: "item_2";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 222 294;
+ fixed: 1 1;
+ rel1 { relative: 1.0 0.0; to: "pad.center.2";}
+ rel2 { relative: 1.0 1.0; to: "pad.center.2";}
+ align: 0.0 0.0;
+ }
+ }
+
+ }
+}
+
+/**************** artist landcape Thumbnail style ************************/
+
+group { name: "artist_album_grid_layout_ld";
+ parts{
+ part{
+ name: "bg";
+ type: RECT;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ color: DEFAULT_BG_COLOR;
+ }
+ }
+
+ part{
+ name: "pad.top";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 1280 20;
+ fixed: 1 1;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 0.0 0.0; }
+ align: 0.0 0.0;
+ }
+ }
+ part{
+ name: "pad.left";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 20 206;
+ fixed: 1 1;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 0.0 0.0; }
+ align: 0.0 0.0;
+ }
+ }
+
+ ALBUMT_ITEM_ADD("item_0", "pad.center.1", "pad.left", LANDSCAPE_ARTIST_SIZE, 206, 13)
+ ALBUMT_ITEM_ADD("item_1", "pad.center.2", "pad.center.1", LANDSCAPE_ARTIST_SIZE, 206, 13)
+ ALBUMT_ITEM_ADD("item_2", "pad.center.3", "pad.center.2", LANDSCAPE_ARTIST_SIZE, 206, 13)
+ ALBUMT_ITEM_ADD("item_3", "pad.center.4", "pad.center.3", LANDSCAPE_ARTIST_SIZE, 206, 13)
+ ALBUMT_ITEM_ADD("item_4", "pad.center.5", "pad.center.4", LANDSCAPE_ARTIST_SIZE, 206, 13)
+ ALBUMT_ITEM_ADD("item_5", "pad.center.6", "pad.center.5", LANDSCAPE_ARTIST_SIZE, 206, 13)
+ ALBUMT_ITEM_ADD("item_6", "pad.center.7", "pad.center.6", LANDSCAPE_ARTIST_SIZE, 206, 13)
+ }
+}
+
+group { name: "artist_album_grid_item_ld";
+ images {
+ image : "00_thumbs_bg_focus.png" COMP;
+ }
+ parts{
+ part{
+ name: "bg";
+ type: RECT;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ color: 0 0 0 0;
+ }
+ }
+
+ part{
+ name: "albumart";
+ type: SWALLOW;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ min: LANDSCAPE_ARTIST_SIZE LANDSCAPE_ARTIST_SIZE;
+ fixed: 1 1;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 0.0 0.0; }
+ align: 0.0 0.0;
+ }
+ }
+ part { name: "focus_bg";
+ type: IMAGE;
+ description { state: "default" 0.0;
+ visible: 0;
+ rel1 {
+ relative: 0.0 0.0;
+ to: "albumart";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to: "albumart";
+ }
+ image.normal: "00_thumbs_bg_focus.png";
+ image.border: 13 13 13 13;
+ }
+ description { state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part{
+ name: "pad";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: LANDSCAPE_ARTIST_SIZE 10;
+ fixed: 1 1;
+ rel1 { relative: 0.0 1.0; to: "albumart";}
+ rel2 { relative: 1.0 1.0; to: "albumart";}
+ align: 0.0 0.0;
+ }
+ }
+ part { name: "elm.text.1";
+ type: TEXT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 1.0; to: "pad";}
+ rel2 { relative: 1.0 1.0; to: "pad";}
+ fixed: 1 1;
+ min: LANDSCAPE_ARTIST_SIZE 30;
+ align: 0.0 0.0;
+ color: 48 48 48 255; //0 0 0 255
+ text {
+ align: 0.0 0.5;
+ min: 0 0;
+ font: "Tizen:style=Regular";
+ size: 28;
+ }
+ }
+ }
+ /*
+ part { name: "elm.text.2";
+ type: TEXT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 1.0; to: "elm.text.1";}
+ rel2 { relative: 1.0 1.0; to: "elm.text.1";}
+ fixed: 1 1;
+ min: LANDSCAPE_ARTIST_SIZE 30;
+ align: 0.0 0.0;
+ color: 100 100 100 255; //0 0 0 255
+ text {
+ align: 0.0 0.5;
+ min: 0 0;
+ font: "Tizen:style=Bold";
+ size: 28;
+ }
+ }
+ }
+ */
+
+ }
+
+ programs {
+ program { signal: "mouse,down,1";
+ source: "bg";
+ action: STATE_SET "pressed" 0.0;
+ target: "focus_bg";
+ }
+ program { signal: "mouse,up,1";
+ source: "bg";
+ action: STATE_SET "default" 0.0;
+ target: "focus_bg";
+ }
+ program {
+ name: "clicked";
+ action: SIGNAL_EMIT "clicked" "*";
+ }
+ program { name: "touch_snd";
+ signal: "mouse,clicked,1";
+ source: "bg";
+ action: PLAY_SAMPLE "button-pressed" 1.0;
+ after: "clicked";
+ }
+ }
+}
+
+/**************** album landcape Thumbnail style ************************/
+
+group { name: "album_grid_layout_ld";
+ parts{
+ part{
+ name: "bg";
+ type: RECT;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ color: DEFAULT_BG_COLOR;
+ }
+ }
+
+ part{
+ name: "pad.top";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 1280 20;
+ fixed: 1 1;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 0.0 0.0; }
+ align: 0.0 0.0;
+ }
+ }
+ part{
+ name: "pad.left";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 20 294;
+ fixed: 1 1;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 0.0 0.0; }
+ align: 0.0 0.0;
+ }
+ }
+
+ ALBUMT_ITEM_ADD("item_0", "pad.center.1", "pad.left", LANDSCAPE_ALBUMT_SIZE, 294, 22)
+ ALBUMT_ITEM_ADD("item_1", "pad.center.2", "pad.center.1", LANDSCAPE_ALBUMT_SIZE, 294, 22)
+ ALBUMT_ITEM_ADD("item_2", "pad.center.3", "pad.center.2", LANDSCAPE_ALBUMT_SIZE, 294, 22)
+ ALBUMT_ITEM_ADD("item_3", "pad.center.4", "pad.center.3", LANDSCAPE_ALBUMT_SIZE, 294, 22)
+ ALBUMT_ITEM_ADD("item_4", "pad.center.5", "pad.center.4", LANDSCAPE_ALBUMT_SIZE, 294, 22)
+ }
+}
+
+group { name: "album_grid_item_ld";
+ images {
+ image : "00_thumbs_bg_focus.png" COMP;
+ }
+ parts{
+ part{
+ name: "bg";
+ type: RECT;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ color: 0 0 0 0;
+ }
+ }
+
+ part{
+ name: "albumart";
+ type: SWALLOW;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ min: LANDSCAPE_ALBUMT_SIZE LANDSCAPE_ALBUMT_SIZE;
+ fixed: 1 1;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 0.0 0.0; }
+ align: 0.0 0.0;
+ }
+ }
+ part { name: "focus_bg";
+ type: IMAGE;
+ description { state: "default" 0.0;
+ visible: 0;
+ rel1 {
+ relative: 0.0 0.0;
+ to: "albumart";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to: "albumart";
+ }
+ image.normal: "00_thumbs_bg_focus.png";
+ image.border: 13 13 13 13;
+ }
+ description { state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part{
+ name: "pad";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: LANDSCAPE_ALBUMT_SIZE 0;
+ fixed: 1 1;
+ rel1 { relative: 0.0 1.0; to: "albumart";}
+ rel2 { relative: 1.0 1.0; to: "albumart";}
+ align: 0.0 0.0;
+ }
+ }
+ part { name: "elm.text.1";
+ type: TEXT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 1.0; to: "pad";}
+ rel2 { relative: 1.0 1.0; to: "pad";}
+ fixed: 1 1;
+ min: LANDSCAPE_ALBUMT_SIZE 34;
+ align: 0.0 0.0;
+ color: 48 48 48 255; //0 0 0 255
+ text {
+ align: 0.0 0.5;
+ min: 0 0;
+ font: "Tizen:style=Regular";
+ size: 28;
+ }
+ }
+ }
+ part { name: "elm.text.2";
+ type: TEXT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 1.0; to: "elm.text.1";}
+ rel2 { relative: 1.0 1.0; to: "elm.text.1";}
+ fixed: 1 1;
+ min: LANDSCAPE_ALBUMT_SIZE 30;
+ align: 0.0 0.0;
+ color: 100 100 100 255; //0 0 0 255
+ text {
+ align: 0.0 0.5;
+ min: 0 0;
+ font: "Tizen:style=Bold";
+ size: 28;
+ }
+ }
+ }
+
+ }
+
+ programs {
+ program { signal: "mouse,down,1";
+ source: "bg";
+ action: STATE_SET "pressed" 0.0;
+ target: "focus_bg";
+ }
+ program { signal: "mouse,up,1";
+ source: "bg";
+ action: STATE_SET "default" 0.0;
+ target: "focus_bg";
+ }
+ program {
+ name: "clicked";
+ action: SIGNAL_EMIT "clicked" "*";
+ }
+ program { name: "touch_snd";
+ signal: "mouse,clicked,1";
+ source: "bg";
+ action: PLAY_SAMPLE "button-pressed" 1.0;
+ after: "clicked";
+ }
+ }
+}
+
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#define IMG_ARTIST_LIST_MORE_BTN_NORMAL "button/T02_artist_list_more.png"
+#define IMG_ARTIST_LIST_MORE_BTN_PRESSED "button/T02_artist_list_more_press.png"
+
+#define IMG_PLAYER_VIEW_OPTION_BTN "player-view/T02_control_circle_button_03.png"
+#define IMG_PLAYER_VIEW_OPTION_BTN_PRESS "player-view/T02_control_circle_button_03_press.png"
+
+/****************** lite path ****************/
+#define IMG_PLAYER_VIEW_ICON_PATH "lite/Icon/"
+#define IMG_PLAYER_VIEW_BUTTON_PATH "lite/Button/"
+#define IMG_LITE_REORDER_ICON "lite/core_button_reorder.png"
+
+#define IMG_PLAYER_VIEW_OPTION_VOLUME IMG_PLAYER_VIEW_ICON_PATH"play_icon_vol.png"
+#define IMG_PLAYER_VIEW_OPTION_SHUFFLE_ON IMG_PLAYER_VIEW_ICON_PATH"play_icon_shuffle.png"
+#define IMG_PLAYER_VIEW_OPTION_SHUFFLE_OFF IMG_PLAYER_VIEW_ICON_PATH"play_icon_shuffle_off.png"
+#define IMG_PLAYER_VIEW_OPTION_REP_A IMG_PLAYER_VIEW_ICON_PATH"play_icon_rep_a.png"
+#define IMG_PLAYER_VIEW_OPTION_REP_1 IMG_PLAYER_VIEW_ICON_PATH"play_icon_rep_one.png"
+#define IMG_PLAYER_VIEW_OPTION_REP_ALL IMG_PLAYER_VIEW_ICON_PATH"play_icon_rep_all.png"
+#define IMG_PLAYER_VIEW_OPTION_INFO IMG_PLAYER_VIEW_ICON_PATH"play_icon_list.png"
+//add favourite begin
+#define IMG_PLAYER_VIEW_OPTION_FAVOURITE_ON "player-view/T02_option_favorite_on.png"
+#define IMG_PLAYER_VIEW_OPTION_FAVOURITE_OFF "player-view/T02_option_favorite_off.png"
+
+//add like begin
+#define IMG_PLAYER_VIEW_OPTION_LIKE_ON "player-view/T02_option_favorite_on.png"
+#define IMG_PLAYER_VIEW_OPTION_LIKE_OFF "player-view/T02_option_favorite_off.png"
+#define IMG_PLAYER_VIEW_OPTION_LIKE_ON_PRESS "player-view/T02_option_like_press.png"
+//add block begin
+#define IMG_PLAYER_VIEW_OPTION_BLOCK_ON "player-view/T02_option_blocking_on.png"
+#define IMG_PLAYER_VIEW_OPTION_BLOCK_OFF "player-view/T02_option_blocking_dim.png"
+#define IMG_PLAYER_VIEW_OPTION_BLOCK_ON_PRESS "player-view/T02_option_blocking_press.png"
+
+//add favorite radio
+#define IMG_PLAYER_VIEW_TITLE_FAVORITE_RADIO_ON "player-view/T02_radio_favorite_on.png"
+#define IMG_PLAYER_VIEW_TITLE_FAVORITE_RADIO_OFF "player-view/T02_radio_favorite_off.png"
+
+// control img
+#define IMG_PLAYER_VIEW_CONTROL_CIRCLE_BT_01 IMG_PLAYER_VIEW_BUTTON_PATH"full_player_button_01.png"
+#define IMG_PLAYER_VIEW_CONTROL_CIRCLE_BT_01_CIRCLE IMG_PLAYER_VIEW_BUTTON_PATH"full_player_button_01_ef.png"
+#define IMG_PLAYER_VIEW_CONTROL_CIRCLE_BT_02 IMG_PLAYER_VIEW_BUTTON_PATH"full_player_button_02.png"
+#define IMG_PLAYER_VIEW_CONTROL_CIRCLE_BT_02_CIRCLE IMG_PLAYER_VIEW_BUTTON_PATH"full_player_button_02_ef.png"
+#define IMG_PLAYER_VIEW_CONTROL_PREVIOUS IMG_PLAYER_VIEW_BUTTON_PATH"full_player_button_prev.png"
+#define IMG_PLAYER_VIEW_CONTROL_PLAY IMG_PLAYER_VIEW_BUTTON_PATH"full_player_button_play.png"
+#define IMG_PLAYER_VIEW_CONTROL_PAUSE IMG_PLAYER_VIEW_BUTTON_PATH"full_player_button_pause.png"
+#define IMG_PLAYER_VIEW_CONTROL_NEXT IMG_PLAYER_VIEW_BUTTON_PATH"full_player_button_next.png"
+#define IMG_PLAYER_VIEW_CONTROL_VOLUME IMG_PLAYER_VIEW_ICON_PATH"play_icon_vol.png"
+#define IMG_PLAYER_VIEW_CONTROL_VOLUME_OFF IMG_PLAYER_VIEW_ICON_PATH"play_icon_vol_off.png"
+#define IMG_PLAYER_VIEW_CONTROL_QUEUE_ON IMG_PLAYER_VIEW_ICON_PATH"play_icon_list.png"
+#define IMG_PLAYER_VIEW_CONTROL_PLUS "T02_icon_volume_control_plus.png"
+#define IMG_PLAYER_VIEW_CONTROL_PLUS_PRESS "T02_icon_volume_control_plus_press.png"
+#define IMG_PLAYER_VIEW_CONTROL_MINUS "T02_icon_volume_control_minus.png"
+#define IMG_PLAYER_VIEW_CONTROL_MINUS_PRESS "T02_icon_volume_control_minus_press.png"
+#define IMG_PLAYER_VIEW_CONTROL_MUTE "T02_icon_volume_control_mute.png"
+#define IMG_PLAYER_VIEW_CONTROL_MUTE_PRESS "T02_icon_volume_control_mute_press.png"
+
+#define BUTTON_STATE_ENABLED 0
+#define BUTTON_STATE_DISABLED 1
+
+images {
+ image: IMG_ARTIST_LIST_MORE_BTN_NORMAL COMP;
+ image: IMG_ARTIST_LIST_MORE_BTN_PRESSED COMP;
+ image: IMG_PLAYER_VIEW_OPTION_BTN COMP;
+ image: IMG_PLAYER_VIEW_OPTION_BTN_PRESS COMP;
+ image: IMG_PLAYER_VIEW_OPTION_VOLUME COMP;
+ image: IMG_PLAYER_VIEW_OPTION_SHUFFLE_ON COMP;
+ image: IMG_PLAYER_VIEW_OPTION_SHUFFLE_OFF COMP;
+ image: IMG_PLAYER_VIEW_OPTION_REP_A COMP;
+ image: IMG_PLAYER_VIEW_OPTION_REP_1 COMP;
+ image: IMG_PLAYER_VIEW_OPTION_REP_ALL COMP;
+ image: IMG_PLAYER_VIEW_OPTION_INFO COMP;
+ image: IMG_PLAYER_VIEW_OPTION_FAVOURITE_ON COMP;
+ image: IMG_PLAYER_VIEW_OPTION_FAVOURITE_OFF COMP;
+ image: IMG_PLAYER_VIEW_CONTROL_CIRCLE_BT_01 COMP;
+ image: IMG_PLAYER_VIEW_CONTROL_CIRCLE_BT_01_CIRCLE COMP;
+ image: IMG_PLAYER_VIEW_CONTROL_CIRCLE_BT_02 COMP;
+ image: IMG_PLAYER_VIEW_CONTROL_CIRCLE_BT_02_CIRCLE COMP;
+ image: IMG_PLAYER_VIEW_CONTROL_PREVIOUS COMP;
+ image: IMG_PLAYER_VIEW_CONTROL_PLAY COMP;
+ image: IMG_PLAYER_VIEW_CONTROL_PAUSE COMP;
+ image: IMG_PLAYER_VIEW_CONTROL_NEXT COMP;
+ image: IMG_PLAYER_VIEW_CONTROL_VOLUME COMP;
+ image: IMG_PLAYER_VIEW_CONTROL_VOLUME_OFF COMP;
+ image: IMG_PLAYER_VIEW_CONTROL_QUEUE_ON COMP;
+ image: IMG_PLAYER_VIEW_CONTROL_PLUS COMP;
+ image: IMG_PLAYER_VIEW_CONTROL_PLUS_PRESS COMP;
+ image: IMG_PLAYER_VIEW_CONTROL_MINUS COMP;
+ image: IMG_PLAYER_VIEW_CONTROL_MINUS_PRESS COMP;
+ image: IMG_PLAYER_VIEW_CONTROL_MUTE COMP;
+ image: IMG_PLAYER_VIEW_CONTROL_MUTE_PRESS COMP;
+
+ image: IMG_PLAYER_VIEW_OPTION_LIKE_ON COMP;
+ image: IMG_PLAYER_VIEW_OPTION_LIKE_OFF COMP;
+ image: IMG_PLAYER_VIEW_OPTION_LIKE_ON_PRESS COMP;
+ image: IMG_PLAYER_VIEW_OPTION_BLOCK_ON COMP;
+ image: IMG_PLAYER_VIEW_OPTION_BLOCK_OFF COMP;
+ image: IMG_PLAYER_VIEW_OPTION_BLOCK_ON_PRESS COMP;
+
+ image: IMG_PLAYER_VIEW_TITLE_FAVORITE_RADIO_ON COMP;
+ image: IMG_PLAYER_VIEW_TITLE_FAVORITE_RADIO_OFF COMP;
+ image: IMG_LITE_REORDER_ICON COMP;
+}
+
+#define MP_PLAYER_BUTTON_NOSOUND_STYLE(__name,__bg_normal,__bg_circle,__normal) \
+group { name: "elm/button/base/music/"__name; \
+ parts { \
+ part { \
+ name: __name; \
+ mouse_events: 0; \
+ type: RECT; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0.0 0.0; \
+ visible: 0; \
+ rel1 { \
+ relative: 0.0 0.0; \
+ } \
+ rel2 { \
+ relative: 1.0 1.0; \
+ } \
+ color: 255 255 255 255; \
+ } \
+ description { state: "invisible" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 0; \
+ } \
+ } \
+ part { \
+ name: __name"_bg"; \
+ mouse_events: 1; \
+ type: IMAGE; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0.0 0.0; \
+ visible: 1; \
+ image { normal: __bg_normal; } \
+ rel1 { \
+ relative: 0.0 0.0; \
+ to: __name; \
+ } \
+ rel2 { \
+ relative: 1.0 1.0; \
+ to: __name; \
+ } \
+ color: 255 255 255 255; \
+ } \
+ description { state: "press" 0.0; \
+ inherit: "default" 0.0; \
+ color: 66 162 207 255; \
+ } \
+ } \
+ part { \
+ name: __name"_bg_circle"; \
+ mouse_events: 1; \
+ repeat_events: 1; \
+ type: IMAGE; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0.0 0.0; \
+ visible: 1; \
+ image { normal: __bg_circle; } \
+ rel1 { \
+ relative: 0.0 0.0; \
+ to: __name; \
+ } \
+ rel2 { \
+ relative: 1.0 1.0; \
+ to: __name; \
+ } \
+ color: 255 255 255 255; \
+ } \
+ description { state: "press" 0.0; \
+ inherit: "default" 0.0; \
+ color: 66 162 207 255; \
+ } \
+ } \
+ part { \
+ name: __name"_normal"; \
+ mouse_events: 1; \
+ repeat_events: 1; \
+ type: IMAGE; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0.0 0.0; \
+ visible: 1; \
+ image { normal: __normal; } \
+ color: 8 8 8 255; \
+ rel1 { \
+ relative: 0.0 0.0; \
+ to: __name; \
+ } \
+ rel2 { \
+ relative: 1.0 1.0; \
+ to: __name; \
+ } \
+ } \
+ } \
+ } \
+ programs{ \
+ program{\
+ name: __name"_after_down"; \
+ source: __name"_bg"; \
+ signal: "mouse,down,1"; \
+ action: STATE_SET "press" 0.0; \
+ target: __name"_bg"; \
+ target: __name"_bg_circle"; \
+ transition: ACCELERATE 0.02;\
+ } \
+ program { \
+ name: __name"_down"; \
+ source: __name"_bg"; \
+ signal: "mouse,down,1"; \
+ after: __name"_after_down"; \
+ transition: ACCELERATE 0.02;\
+ } \
+ program { \
+ name: __name"_up"; \
+ source: __name"_bg"; \
+ signal: "mouse,up,1"; \
+ action: STATE_SET "default" 0.0; \
+ target: __name"_bg"; \
+ target: __name"_bg_circle"; \
+ transition: DECELERATE 0.02;\
+ } \
+ program { \
+ name: __name"_clicked"; \
+ source: __name"_bg"; \
+ signal: "mouse,clicked,1"; \
+ action: SIGNAL_EMIT __name"_clicked" 0.0; \
+ } \
+ } \
+}
+
+#define MP_PLAYER_BUTTON_STYLE_PREV_NEXT(__name,__normal) \
+group { name: "elm/button/base/music/"__name; \
+ parts { \
+ part { \
+ name: __name; \
+ mouse_events: 0; \
+ type: RECT; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0.0 0.0; \
+ visible: 0; \
+ rel1 { \
+ relative: 0.0 0.0; \
+ } \
+ rel2 { \
+ relative: 1.0 1.0; \
+ } \
+ color: 0 0 0 0; \
+ } \
+ description { state: "invisible" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 0; \
+ } \
+ } \
+ part { \
+ name: __name"_normal"; \
+ mouse_events: 1; \
+ repeat_events: 1; \
+ type: IMAGE; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0.0 0.0; \
+ visible: 1; \
+ image { normal: __normal; } \
+ color: 255 255 255 255; \
+ rel1 { \
+ relative: 0.0 0.0; \
+ to: __name; \
+ } \
+ rel2 { \
+ relative: 1.0 1.0; \
+ to: __name; \
+ } \
+ } \
+ description { \
+ state: "press" 0.0; \
+ inherit: "default" 0.0; \
+ color: 66 162 207 255; \
+ } \
+ } \
+ } \
+ programs{ \
+ program{\
+ name: __name"_after_down"; \
+ source: __name"_normal"; \
+ signal: "mouse,down,1"; \
+ action: STATE_SET "press" 0.0; \
+ target: __name"_normal"; \
+ transition: ACCELERATE 0.02;\
+ } \
+ program { \
+ name: __name"_down"; \
+ source: __name"_normal"; \
+ signal: "mouse,down,1"; \
+ after: __name"_after_down"; \
+ transition: ACCELERATE 0.02;\
+ } \
+ program { \
+ name: __name"_after_up"; \
+ action: PLAY_SAMPLE "button-pressed" 1.0; \
+ } \
+ program { \
+ name: __name"_up"; \
+ source: __name"_normal"; \
+ signal: "mouse,up,1"; \
+ action: STATE_SET "default" 0.0; \
+ target: __name"_normal"; \
+ after: __name"_after_up"; \
+ transition: DECELERATE 0.02;\
+ } \
+ program { \
+ name: __name"_clicked"; \
+ source: __name"_normal"; \
+ signal: "mouse,clicked,1"; \
+ action: SIGNAL_EMIT __name"_clicked" 0.0; \
+ } \
+ } \
+}
+
+
+
+#define MP_PLAYER_BUTTON_STYLE(__name,__bg_normal,__bg_circle,__normal) \
+group { name: "elm/button/base/music/"__name; \
+ parts { \
+ part { \
+ name: __name; \
+ mouse_events: 0; \
+ type: RECT; \
+ scale: 0; \
+ description { \
+ state: "default" 0.0; \
+ align: 0.0 0.0; \
+ visible: 0; \
+ rel1 { \
+ relative: 0.0 0.0; \
+ } \
+ rel2 { \
+ relative: 1.0 1.0; \
+ } \
+ color: 0 0 0 0; \
+ } \
+ description { state: "invisible" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 0; \
+ } \
+ } \
+ part { \
+ name: __name"_bg"; \
+ mouse_events: 1; \
+ type: IMAGE; \
+ scale: 0; \
+ description { \
+ state: "default" 0.0; \
+ align: 0.0 0.0; \
+ visible: 1; \
+ image { normal: __bg_normal; } \
+ rel1 { \
+ relative: 0.0 0.0; \
+ to: __name; \
+ } \
+ rel2 { \
+ relative: 1.0 1.0; \
+ to: __name; \
+ } \
+ color: 0 0 0 153; \
+ } \
+ description { state: "press" 0.0; \
+ inherit: "default" 0.0; \
+ color: 66 162 207 255; \
+ } \
+ } \
+ part { \
+ name: __name"_bg_circle"; \
+ mouse_events: 1; \
+ repeat_events: 1; \
+ type: IMAGE; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0.0 0.0; \
+ visible: 1; \
+ image { normal: __bg_circle; } \
+ rel1 { \
+ relative: 0.0 0.0; \
+ to: __name; \
+ } \
+ rel2 { \
+ relative: 1.0 1.0; \
+ to: __name; \
+ } \
+ color: 255 255 255 128; \
+ } \
+ description { state: "press" 0.0; \
+ inherit: "default" 0.0; \
+ color: 66 162 207 255; \
+ } \
+ } \
+ part { \
+ name: __name"_normal"; \
+ mouse_events: 1; \
+ repeat_events: 1; \
+ type: IMAGE; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0.0 0.0; \
+ visible: 1; \
+ image { normal: __normal; } \
+ color: 255 255 255 255; \
+ rel1 { \
+ relative: 0.0 0.0; \
+ to: __name; \
+ } \
+ rel2 { \
+ relative: 1.0 1.0; \
+ to: __name; \
+ } \
+ } \
+ } \
+ } \
+ programs{ \
+ program{\
+ name: __name"_after_down"; \
+ source: __name"_bg"; \
+ signal: "mouse,down,1"; \
+ action: STATE_SET "press" 0.0; \
+ target: __name"_bg"; \
+ target: __name"_bg_circle"; \
+ transition: ACCELERATE 0.02;\
+ } \
+ program { \
+ name: __name"_down"; \
+ source: __name"_bg"; \
+ signal: "mouse,down,1"; \
+ after: __name"_after_down"; \
+ transition: ACCELERATE 0.02;\
+ } \
+ program { \
+ name: __name"_after_up"; \
+ action: PLAY_SAMPLE "button-pressed" 1.0; \
+ } \
+ program { \
+ name: __name"_up"; \
+ source: __name"_bg"; \
+ signal: "mouse,up,1"; \
+ action: STATE_SET "default" 0.0; \
+ target: __name"_bg"; \
+ target: __name"_bg_circle"; \
+ after: __name"_after_up"; \
+ transition: DECELERATE 0.02;\
+ } \
+ program { \
+ name: __name"_clicked"; \
+ source: __name"_bg"; \
+ signal: "mouse,clicked,1"; \
+ action: SIGNAL_EMIT __name"_clicked" 0.0; \
+ } \
+ } \
+}
+
+#define MP_PLAYER_BUTTON_PLAY_STYLE(__name,__bg_normal,__bg_circle,__normal) \
+group { name: "elm/button/base/music/"__name; \
+ parts { \
+ part { \
+ name: __name; \
+ mouse_events: 0; \
+ type: RECT; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0.0 0.0; \
+ visible: 0; \
+ rel1 { \
+ relative: 0.0 0.0; \
+ } \
+ rel2 { \
+ relative: 1.0 1.0; \
+ } \
+ color: 0 0 0 0; \
+ } \
+ description { state: "invisible" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 0; \
+ } \
+ } \
+ part { \
+ name: __name"_bg"; \
+ mouse_events: 1; \
+ type: IMAGE; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0.0 0.0; \
+ visible: 1; \
+ image { normal: __bg_normal; } \
+ rel1 { \
+ relative: 0.0 0.0; \
+ to: __name; \
+ } \
+ rel2 { \
+ relative: 1.0 1.0; \
+ to: __name; \
+ } \
+ color: 255 255 255 255; \
+ } \
+ description { state: "press" 0.0; \
+ inherit: "default" 0.0; \
+ color: 66 162 207 255; \
+ } \
+ } \
+ part { \
+ name: __name"_bg_circle"; \
+ mouse_events: 1; \
+ repeat_events: 1; \
+ type: IMAGE; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0.0 0.0; \
+ visible: 1; \
+ image { normal: __bg_circle; } \
+ rel1 { \
+ relative: 0.0 0.0; \
+ to: __name; \
+ } \
+ rel2 { \
+ relative: 1.0 1.0; \
+ to: __name; \
+ } \
+ color: 255 255 255 255; \
+ } \
+ description { state: "press" 0.0; \
+ inherit: "default" 0.0; \
+ color: 66 162 207 255; \
+ } \
+ } \
+ part { \
+ name: __name"_normal"; \
+ mouse_events: 1; \
+ repeat_events: 1; \
+ type: IMAGE; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0.0 0.0; \
+ visible: 1; \
+ image { normal: __normal; } \
+ color: 8 8 8 255; \
+ rel1 { \
+ relative: 0.0 0.0; \
+ to: __name; \
+ } \
+ rel2 { \
+ relative: 1.0 1.0; \
+ to: __name; \
+ } \
+ } \
+ } \
+ } \
+ programs{ \
+ program{\
+ name: __name"_after_down"; \
+ source: __name"_bg"; \
+ signal: "mouse,down,1"; \
+ action: STATE_SET "press" 0.0; \
+ target: __name"_bg"; \
+ target: __name"_bg_circle"; \
+ transition: ACCELERATE 0.02;\
+ } \
+ program { \
+ name: __name"_down"; \
+ source: __name"_bg"; \
+ signal: "mouse,down,1"; \
+ after: __name"_after_down"; \
+ transition: ACCELERATE 0.02;\
+ } \
+ program { \
+ name: __name"_after_up"; \
+ action: PLAY_SAMPLE "button-pressed" 1.0; \
+ } \
+ program { \
+ name: __name"_up"; \
+ source: __name"_bg"; \
+ signal: "mouse,up,1"; \
+ action: STATE_SET "default" 0.0; \
+ target: __name"_bg"; \
+ target: __name"_bg_circle"; \
+ after: __name"_after_up"; \
+ transition: DECELERATE 0.02;\
+ } \
+ program { \
+ name: __name"_clicked"; \
+ source: __name"_bg"; \
+ signal: "mouse,clicked,1"; \
+ action: SIGNAL_EMIT __name"_clicked" 0.0; \
+ } \
+ } \
+}
+
+#define MP_PLAYER_BUTTON_NO_BG_STYLE(__name,__normal,__press_color_red_component,__press_color_green_component,__press_color_blue_component,__press_color_alpha_component) \
+group { name: "elm/button/base/music/"__name; \
+ parts { \
+ part { \
+ name: __name"_bg"; \
+ mouse_events: 0; \
+ type: RECT; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0.0 0.0; \
+ visible: 0; \
+ rel1 { \
+ relative: 0.0 0.0; \
+ } \
+ rel2 { \
+ relative: 1.0 1.0; \
+ } \
+ color: 0 0 0 0; \
+ } \
+ description { state: "invisible" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 0; \
+ } \
+ } \
+ part { \
+ name: __name; \
+ type: IMAGE; \
+ mouse_events: 1; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0 0; \
+ visible:1; \
+ image { normal: __normal; } \
+ rel1 { \
+ relative: 0 0; \
+ to: __name"_bg"; \
+ } \
+ rel2 { \
+ relative: 1 1; \
+ to: __name"_bg"; \
+ } \
+ } \
+ description { \
+ state: "press" 0.0; \
+ inherit: "default" 0.0; \
+ color: __press_color_red_component __press_color_green_component __press_color_blue_component __press_color_alpha_component; \
+ } \
+ description { state: "invisible" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 0; \
+ } \
+ } \
+ } \
+ programs{ \
+ program{\
+ name: __name"_after_down"; \
+ source: __name; \
+ signal: "mouse,down,1"; \
+ action: STATE_SET "press" 0.0; \
+ target: __name"_bg"; \
+ target: __name; \
+ transition: ACCELERATE 0.02;\
+ } \
+ program { \
+ name: __name"_down"; \
+ source: __name; \
+ signal: "mouse,down,1"; \
+ after: __name"_after_down"; \
+ transition: ACCELERATE 0.02;\
+ } \
+ program { \
+ name: __name"_after_up"; \
+ action: PLAY_SAMPLE "button-pressed" 1.0; \
+ } \
+ program { \
+ name: __name"_up"; \
+ source: __name; \
+ signal: "mouse,up,1"; \
+ action: STATE_SET "default" 0.0; \
+ target: __name"_bg"; \
+ target: __name; \
+ after: __name"_after_up"; \
+ transition: DECELERATE 0.02;\
+ } \
+ program { \
+ name: __name"_clicked"; \
+ source: __name; \
+ signal: "mouse,clicked,1"; \
+ action: SIGNAL_EMIT __name"_clicked" 0.0; \
+ } \
+ } \
+}
+#define MP_PLAYER_BUTTON_NO_BG_STYLE_FAVOUR(__name,__normal,__press,__press_color_red_component,__press_color_green_component,__press_color_blue_component,__press_color_alpha_component) \
+group { name: "elm/button/base/music/"__name; \
+ parts { \
+ part { \
+ name: __name"_bg"; \
+ mouse_events: 0; \
+ type: RECT; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0.0 0.0; \
+ visible: 0; \
+ rel1 { \
+ relative: 0.0 0.0; \
+ } \
+ rel2 { \
+ relative: 1.0 1.0; \
+ } \
+ color: 0 0 0 0; \
+ } \
+ description { state: "invisible" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 0; \
+ } \
+ } \
+ part { \
+ name: __name; \
+ type: IMAGE; \
+ mouse_events: 1; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0 0; \
+ visible:1; \
+ image { normal: __normal; } \
+ rel1 { \
+ relative: 0 0; \
+ to: __name"_bg"; \
+ } \
+ rel2 { \
+ relative: 1 1; \
+ to: __name"_bg"; \
+ } \
+ } \
+ description { \
+ state: "press" 0.0; \
+ inherit: "default" 0.0; \
+ image { normal: __press; }\
+ color: __press_color_red_component __press_color_green_component __press_color_blue_component __press_color_alpha_component; \
+ } \
+ description { state: "invisible" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 0; \
+ } \
+ } \
+ } \
+ programs{ \
+ program{\
+ name: __name"_after_down"; \
+ source: __name; \
+ signal: "mouse,down,1"; \
+ action: STATE_SET "press" 0.0; \
+ target: __name"_bg"; \
+ target: __name; \
+ transition: ACCELERATE 0.02;\
+ } \
+ program { \
+ name: __name"_down"; \
+ source: __name; \
+ signal: "mouse,down,1"; \
+ after: __name"_after_down"; \
+ transition: ACCELERATE 0.02;\
+ } \
+ program { \
+ name: __name"_after_up"; \
+ action: PLAY_SAMPLE "button-pressed" 1.0; \
+ } \
+ program { \
+ name: __name"_up"; \
+ source: __name; \
+ signal: "mouse,up,1"; \
+ action: STATE_SET "default" 0.0; \
+ target: __name"_bg"; \
+ target: __name; \
+ after: __name"_after_up"; \
+ transition: DECELERATE 0.02;\
+ } \
+ program { \
+ name: __name"_clicked"; \
+ source: __name; \
+ signal: "mouse,clicked,1"; \
+ action: SIGNAL_EMIT __name"_clicked" 0.0; \
+ } \
+ } \
+}
+
+/*
+MP_PLAYER_BUTTON_STYLE("volume", IMG_PLAYER_VIEW_OPTION_BTN, IMG_PLAYER_VIEW_OPTION_BTN_PRESS, IMG_PLAYER_VIEW_OPTION_VOLUME, IMG_PLAYER_VIEW_OPTION_VOLUME_PRESS, 90)
+MP_PLAYER_BUTTON_STYLE("shuffle_on", IMG_PLAYER_VIEW_OPTION_BTN, IMG_PLAYER_VIEW_OPTION_BTN_PRESS, IMG_PLAYER_VIEW_OPTION_SHUFFLE_ON, IMG_PLAYER_VIEW_OPTION_SHUFFLE_ON_PRESS, 90)
+MP_PLAYER_BUTTON_STYLE("shuffle_off", IMG_PLAYER_VIEW_OPTION_BTN, IMG_PLAYER_VIEW_OPTION_BTN_PRESS, IMG_PLAYER_VIEW_OPTION_SHUFFLE_OFF, IMG_PLAYER_VIEW_OPTION_SHUFFLE_ON_PRESS, 90)
+MP_PLAYER_BUTTON_STYLE("rep_A", IMG_PLAYER_VIEW_OPTION_BTN, IMG_PLAYER_VIEW_OPTION_BTN_PRESS, IMG_PLAYER_VIEW_OPTION_REP_A, IMG_PLAYER_VIEW_OPTION_REP_A_PRESS, 90)
+MP_PLAYER_BUTTON_STYLE("rep_1", IMG_PLAYER_VIEW_OPTION_BTN, IMG_PLAYER_VIEW_OPTION_BTN_PRESS, IMG_PLAYER_VIEW_OPTION_REP_1, IMG_PLAYER_VIEW_OPTION_REP_1_PRESS, 90)
+MP_PLAYER_BUTTON_STYLE("rep_all", IMG_PLAYER_VIEW_OPTION_BTN, IMG_PLAYER_VIEW_OPTION_BTN_PRESS, IMG_PLAYER_VIEW_OPTION_REP_ALL, IMG_PLAYER_VIEW_OPTION_REP_ALL_PRESS, 90)
+MP_PLAYER_BUTTON_STYLE("info", IMG_PLAYER_VIEW_OPTION_BTN, IMG_PLAYER_VIEW_OPTION_BTN_PRESS, IMG_PLAYER_VIEW_OPTION_INFO, IMG_PLAYER_VIEW_OPTION_INFO_PRESS, 90)
+MP_PLAYER_BUTTON_STYLE("favourite_on", IMG_PLAYER_VIEW_OPTION_BTN, IMG_PLAYER_VIEW_OPTION_BTN_PRESS, IMG_PLAYER_VIEW_OPTION_FAVOURITE_ON, IMG_PLAYER_VIEW_OPTION_FAVOURITE_ON_PRESS, 90)
+MP_PLAYER_BUTTON_STYLE("favourite_off", IMG_PLAYER_VIEW_OPTION_BTN, IMG_PLAYER_VIEW_OPTION_BTN_PRESS, IMG_PLAYER_VIEW_OPTION_FAVOURITE_OFF, IMG_PLAYER_VIEW_OPTION_FAVOURITE_ON_PRESS, 90)
+*/
+
+MP_PLAYER_BUTTON_NO_BG_STYLE("shuffle_on", IMG_PLAYER_VIEW_OPTION_SHUFFLE_ON, 0, 151, 232, 255)
+MP_PLAYER_BUTTON_NO_BG_STYLE("shuffle_off", IMG_PLAYER_VIEW_OPTION_SHUFFLE_OFF, 0, 151, 232, 255)
+MP_PLAYER_BUTTON_NO_BG_STYLE("rep_A", IMG_PLAYER_VIEW_OPTION_REP_A, 0, 151, 232, 255)
+MP_PLAYER_BUTTON_NO_BG_STYLE("rep_1", IMG_PLAYER_VIEW_OPTION_REP_1, 0, 151, 232, 255)
+MP_PLAYER_BUTTON_NO_BG_STYLE("rep_all", IMG_PLAYER_VIEW_OPTION_REP_ALL, 0, 151, 232, 255)
+MP_PLAYER_BUTTON_NO_BG_STYLE_FAVOUR("favourite_on", IMG_PLAYER_VIEW_OPTION_FAVOURITE_ON,IMG_PLAYER_VIEW_OPTION_FAVOURITE_OFF, 0, 151, 232, 255)
+MP_PLAYER_BUTTON_NO_BG_STYLE("favourite_off", IMG_PLAYER_VIEW_OPTION_FAVOURITE_OFF, 0, 151, 232, 255)
+
+MP_PLAYER_BUTTON_NO_BG_STYLE("like_on", IMG_PLAYER_VIEW_OPTION_LIKE_ON, 0, 151, 232, 255)
+MP_PLAYER_BUTTON_NO_BG_STYLE("like_off", IMG_PLAYER_VIEW_OPTION_LIKE_OFF, 0, 151, 232, 255)
+MP_PLAYER_BUTTON_NO_BG_STYLE("block_on", IMG_PLAYER_VIEW_OPTION_BLOCK_ON, 0, 151, 232, 255)
+MP_PLAYER_BUTTON_NO_BG_STYLE("block_off", IMG_PLAYER_VIEW_OPTION_BLOCK_OFF, 0, 151, 232, 255)
+
+MP_PLAYER_BUTTON_NO_BG_STYLE("control_volume", IMG_PLAYER_VIEW_CONTROL_VOLUME, 0, 151, 232, 255)
+MP_PLAYER_BUTTON_NO_BG_STYLE("control_volume_mute", IMG_PLAYER_VIEW_CONTROL_VOLUME_OFF, 0, 151, 232, 255)
+
+MP_PLAYER_BUTTON_NO_BG_STYLE("control_playlist_queue", IMG_PLAYER_VIEW_CONTROL_QUEUE_ON, 0, 151, 232, 255)
+
+MP_PLAYER_BUTTON_NO_BG_STYLE("nearby_plus", IMG_PLAYER_VIEW_CONTROL_PLUS, 0, 151, 232, 255)
+MP_PLAYER_BUTTON_NO_BG_STYLE("nearby_minus", IMG_PLAYER_VIEW_CONTROL_MINUS, 0, 151, 232, 255)
+MP_PLAYER_BUTTON_NO_BG_STYLE("nearby_mute", IMG_PLAYER_VIEW_CONTROL_MUTE, 0, 151, 232, 255)
+
+MP_PLAYER_BUTTON_STYLE_PREV_NEXT("control_previous",IMG_PLAYER_VIEW_CONTROL_PREVIOUS)
+MP_PLAYER_BUTTON_STYLE_PREV_NEXT("control_next",IMG_PLAYER_VIEW_CONTROL_NEXT)
+MP_PLAYER_BUTTON_PLAY_STYLE("control_play", IMG_PLAYER_VIEW_CONTROL_CIRCLE_BT_02, IMG_PLAYER_VIEW_CONTROL_CIRCLE_BT_02_CIRCLE,
+ IMG_PLAYER_VIEW_CONTROL_PAUSE)
+MP_PLAYER_BUTTON_NOSOUND_STYLE("control_pause", IMG_PLAYER_VIEW_CONTROL_CIRCLE_BT_02, IMG_PLAYER_VIEW_CONTROL_CIRCLE_BT_02_CIRCLE,
+ IMG_PLAYER_VIEW_CONTROL_PLAY)
+
+MP_PLAYER_BUTTON_STYLE("ug_control_play", IMG_PLAYER_VIEW_CONTROL_CIRCLE_BT_01, IMG_PLAYER_VIEW_CONTROL_CIRCLE_BT_01_CIRCLE,
+ IMG_PLAYER_VIEW_CONTROL_PAUSE) //MP_PLAYER_BUTTON_PLAY_STYLE
+MP_PLAYER_BUTTON_NOSOUND_STYLE("ug_control_pause", IMG_PLAYER_VIEW_CONTROL_CIRCLE_BT_02, IMG_PLAYER_VIEW_CONTROL_CIRCLE_BT_02_CIRCLE,
+ IMG_PLAYER_VIEW_CONTROL_PLAY) //MP_PLAYER_BUTTON_NOSOUND_STYLE
+
+
+group { name: "elm/button/base/music/control_queue";
+ parts {
+ part {
+ name: "bg";
+ mouse_events: 1;
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0.0 0.0;
+ visible: 0;
+ rel1 {
+ relative: 0.0 0.0;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ }
+ color: 0 0 0 0;
+ }
+ description { state: "invisible" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ /*
+ part {name : "bg_image";
+ type: IMAGE;
+ mouse_events:1;
+ scale : 1;
+ description {
+ state: "default" 0.0;
+ align: 0 0;
+ visible:1;
+ image { normal: IMG_PLAYER_VIEW_OPTION_BTN; }
+ rel1 {
+ relative: 0 0;
+ to: "bg";
+ }
+ rel2 {
+ relative: 1 1;
+ to: "bg";
+ }
+ }
+ description {
+ state: "clicked" 0.0;
+ inherit: "default" 0.0;
+ image { normal: IMG_PLAYER_VIEW_OPTION_BTN_PRESS; }
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ image { normal: IMG_PLAYER_VIEW_OPTION_BTN; }
+ }
+ description { state: "invisible" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ */
+ part { name: "elm.swallow.content";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "elm.icon.clipper";
+ description { state: "default" 0.0;
+ visible: 0;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ rel1 { relative: 0.0 0.0; to: "bg"; }
+ rel2 { relative: 1.0 1.0; to: "bg"; }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "elm.swallow.icon.proxy";
+ type: PROXY;
+ scale: 1;
+ clip_to: "elm.icon.proxy.clipper";
+ description { state: "default" 0.0;
+ source: "elm.swallow.content";
+ rel1.to: "elm.swallow.content";
+ //rel1.offset: 0 -2;
+ rel2.to: "elm.swallow.content";
+ //rel2.offset: -1 -3;
+ }
+ }
+ part { name: "elm.icon.proxy.clipper";
+ type: RECT;
+ description { state: "default" 0.0;
+ }
+ description { state: "clicked" 0.0;
+ color: BUTTON_NAVIFRAME_TITLE_ICON_CLIPPER_PRESSED_COLOR_INC;
+ }
+ description { state: "disabled" 0.0;
+ color: BUTTON_NAVIFRAME_TITLE_ICON_CLIPPER_DISABLED_COLOR_INC;
+ }
+ }
+ part { name: "elm.icon.clipper";
+ type: RECT;
+ description { state: "default" 0.0;
+ }
+ description { state: "clicked" 0.0;
+ }
+ description { state: "disabled" 0.0;
+ }
+ }
+ part { name: "over2";
+ type: RECT;
+ ignore_flags: ON_HOLD;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "over3";
+ type: RECT;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "disabler";
+ type: RECT;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ visible: 0;
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ }
+ programs {
+ program { name: "button_click";
+ signal: "mouse,down,1";
+ source: "over2";
+ action: SIGNAL_EMIT "elm,action,press" "";
+ after: "button_click_anim";
+ }
+ program { name: "button_click_anim";
+ action: STATE_SET "clicked" 0.0;
+ //target: "bg_image";
+ target: "elm.icon.clipper";
+ target: "elm.icon.proxy.clipper";
+ }
+ program { name: "button_unpress";
+ action: SIGNAL_EMIT "elm,action,unpress" "";
+ }
+ program { name: "button_mouseout_clicked";
+ signal: "mouse,up,1";
+ source: "over3";
+ action: STATE_SET "default" 0.0;
+ target: "elm.icon.clipper";
+ target: "elm.icon.proxy.clipper";
+ //target: "bg_image";
+ after: "button_unpress";
+ }
+ program { name: "touch_snd";
+ signal: "mouse,clicked,1";
+ source: "over2";
+ action: PLAY_SAMPLE "button-pressed" 1.0;
+ after: "button_unclick3";
+ }
+ program { name: "button_unclick3";
+ action: SIGNAL_EMIT "elm,action,click" "";
+ }
+ program { name: "icon_show";
+ signal: "elm,state,icon,visible";
+ source: "elm";
+ action: STATE_SET "visible" 0.0;
+ target: "elm.swallow.content";
+ }
+ program { name: "icon_hide";
+ signal: "elm,state,icon,hidden";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "elm.swallow.content";
+ }
+ program { name: "disable";
+ signal: "elm,state,disabled";
+ source: "elm";
+ action: STATE_SET "disabled" 0.0;
+ //target: "bg_image";
+ target: "disabler";
+ target: "elm.icon.clipper";
+ target: "elm.icon.proxy.clipper";
+ }
+ program { name: "enable";
+ signal: "elm,state,enabled";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ //target: "bg_image";
+ target: "elm.icon.clipper";
+ target: "elm.icon.proxy.clipper";
+ target: "disabler";
+ }
+ }
+}
+
+group { name: "elm/button/base/music/control_queue_thumbnail";
+ parts {
+ part {
+ name: "bg";
+ mouse_events: 1;
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0.0 0.0;
+ visible: 0;
+ rel1 {
+ relative: 0.0 0.0;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ }
+ color: 0 0 0 0;
+ }
+ description { state: "invisible" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ /*
+ part {name : "bg_image";
+ type: IMAGE;
+ mouse_events:1;
+ scale : 1;
+ description {
+ state: "default" 0.0;
+ align: 0 0;
+ visible:1;
+ image { normal: IMG_PLAYER_VIEW_OPTION_BTN; }
+ rel1 {
+ relative: 0 0;
+ to: "bg";
+ }
+ rel2 {
+ relative: 1 1;
+ to: "bg";
+ }
+ }
+ description {
+ state: "clicked" 0.0;
+ inherit: "default" 0.0;
+ image { normal: IMG_PLAYER_VIEW_OPTION_BTN_PRESS; }
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ image { normal: IMG_PLAYER_VIEW_OPTION_BTN; }
+ }
+ description { state: "invisible" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ */
+ part { name: "elm.swallow.content";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "elm.icon.clipper";
+ description { state: "default" 0.0;
+ visible: 0;
+ align: 0.5 0.5;
+ rel1 { relative: 0.0 0.0; to: "bg";}
+ rel2 { relative: 1.0 1.0; to: "bg";}
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "elm.swallow.icon.proxy";
+ type: PROXY;
+ scale: 1;
+ clip_to: "elm.icon.proxy.clipper";
+ description { state: "default" 0.0;
+ source: "elm.swallow.content";
+ rel1.to: "elm.swallow.content";
+ //rel1.offset: 0 -2;
+ rel2.to: "elm.swallow.content";
+ //rel2.offset: -1 -3;
+ }
+ }
+ part { name: "elm.icon.proxy.clipper";
+ type: RECT;
+ description { state: "default" 0.0;
+ }
+ description { state: "clicked" 0.0;
+ color: BUTTON_NAVIFRAME_TITLE_ICON_CLIPPER_PRESSED_COLOR_INC;
+ }
+ description { state: "disabled" 0.0;
+ color: BUTTON_NAVIFRAME_TITLE_ICON_CLIPPER_DISABLED_COLOR_INC;
+ }
+ }
+ part { name: "elm.icon.clipper";
+ type: RECT;
+ description { state: "default" 0.0;
+ }
+ description { state: "clicked" 0.0;
+ }
+ description { state: "disabled" 0.0;
+ }
+ }
+ part { name: "over2";
+ type: RECT;
+ ignore_flags: ON_HOLD;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "over3";
+ type: RECT;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "disabler";
+ type: RECT;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ visible: 0;
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ }
+ programs {
+ program { name: "button_click";
+ signal: "mouse,down,1";
+ source: "over2";
+ action: SIGNAL_EMIT "elm,action,press" "";
+ after: "button_click_anim";
+ }
+ program { name: "button_click_anim";
+ action: STATE_SET "clicked" 0.0;
+ //target: "bg_image";
+ target: "elm.icon.clipper";
+ target: "elm.icon.proxy.clipper";
+ }
+ program { name: "button_unpress";
+ action: SIGNAL_EMIT "elm,action,unpress" "";
+ }
+ program { name: "button_mouseout_clicked";
+ signal: "mouse,up,1";
+ source: "over3";
+ action: STATE_SET "default" 0.0;
+ target: "elm.icon.clipper";
+ target: "elm.icon.proxy.clipper";
+ //target: "bg_image";
+ after: "button_unpress";
+ }
+ program { name: "touch_snd";
+ signal: "mouse,clicked,1";
+ source: "over2";
+ action: PLAY_SAMPLE "button-pressed" 1.0;
+ after: "button_unclick3";
+ }
+ program { name: "button_unclick3";
+ action: SIGNAL_EMIT "elm,action,click" "";
+ }
+ program { name: "icon_show";
+ signal: "elm,state,icon,visible";
+ source: "elm";
+ action: STATE_SET "visible" 0.0;
+ target: "elm.swallow.content";
+ }
+ program { name: "icon_hide";
+ signal: "elm,state,icon,hidden";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "elm.swallow.content";
+ }
+ program { name: "disable";
+ signal: "elm,state,disabled";
+ source: "elm";
+ action: STATE_SET "disabled" 0.0;
+ //target: "bg_image";
+ target: "disabler";
+ target: "elm.icon.clipper";
+ target: "elm.icon.proxy.clipper";
+ }
+ program { name: "enable";
+ signal: "elm,state,enabled";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ //target: "bg_image";
+ target: "elm.icon.clipper";
+ target: "elm.icon.proxy.clipper";
+ target: "disabler";
+ }
+ }
+}
+
+group { name: "elm/button/base/music/artist/more";
+ script {
+ public button_state = BUTTON_STATE_ENABLED;
+ }
+ parts {
+ part { name: "base";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0 0;
+ min: 34 36;
+ fixed: 1 1;
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "padding_right";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 1.0 0.0; to: "base";}
+ rel2 { relative: 1.0 1.0; to: "base";}
+ min: 16 0;
+ fixed: 1 0;
+ align: 1.0 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "padding_top";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.to: "base";
+ rel2 { relative: 1.0 0.0; to: "base";}
+ min: 0 4;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ visible: 0;
+ }
+ }
+
+ part { name: "button_image";
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 1.0; to_x: "padding_right"; to_y: "padding_top"; }
+ rel2 { relative: 0.0 1.0; to_x: "padding_right"; to_y: "padding_top"; }
+ min: 18 32;
+ max: 18 32;
+ fixed: 1 1;
+ align: 1.0 0.0;
+ image { normal: IMG_ARTIST_LIST_MORE_BTN_NORMAL;}
+ }
+ description { state: "clicked" 0.0;
+ inherit: "default" 0.0;
+ image { normal: IMG_ARTIST_LIST_MORE_BTN_PRESSED; }
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ //image.normal: "00_button_01_normal_dim.png";
+ }
+ description { state: "focused" 0.0;
+ inherit: "default" 0.0;
+ //image.normal: "00_button_01_normal_press.png";
+ }
+ }
+ part { name: "padding_left_top";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ align: 0.0 0.0;
+ rel2.relative: 0.0 0.0;
+ min: BUTTON_DEFAULT_STYLE_PADDING_MIN_INC;
+ fixed: 1 1;
+ visible: 0;
+ }
+ }
+ part { name: "padding_right_bottom";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ align: 1.0 1.0;
+ rel1.relative: 1.0 1.0;
+ min: BUTTON_DEFAULT_STYLE_PADDING_MIN_INC;
+ fixed: 1 1;
+ visible: 0;
+ }
+ }
+ part { name: "padding_icon_text";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0; //when only icon or no icon is there
+ align: 0.0 0.0;
+ visible: 0;
+ rel1 {
+ relative: 1.0 0.0;
+ to: "elm.swallow.content";
+ }
+ rel2.to: "elm.swallow.content";
+ fixed: 1 0;
+ min: 0 0;
+ }
+ description { state: "icononly" 0.0;
+ inherit: "default" 0.0;
+ }
+ description { state: "visible" 0.0; //when icon is visible
+ inherit: "default" 0.0;
+ min: BUTTON_DEFAULT_STYLE_PADDING_ICON_TEXT_VISIBLE_MIN_INC;
+ }
+ }
+ part { name: "elm.swallow.content";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ visible: 0;
+ align: 0.0 0.5;
+ rel1 {
+ relative: 1.0 1.0;
+ to: "padding_left_top";
+ }
+ rel2 {
+ relative: 1.0 0.0;
+ to_x: "padding_left_top";
+ to_y: "padding_right_bottom";
+ }
+ fixed: 1 0;
+ }
+ description { state: "visible" 0.0;
+ fixed: 1 0;
+ align: 0.0 0.5;
+ rel1 {
+ relative: 1.0 1.0;
+ to: "padding_left_top";
+ }
+ rel2 {
+ relative: 1.0 0.0;
+ to_x: "padding_left_top";
+ to_y: "padding_right_bottom";
+ }
+ aspect: 1.0 1.0;
+ aspect_preference: VERTICAL;
+ }
+ description { state: "icononly" 0.0;
+ min: BUTTON_DEFAULT_STYLE_ICONONLY_ICON_MIN_INC;
+ rel1 {
+ relative: 1.0 0.0;
+ to_x: "padding_left_top";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ to_x: "padding_right_bottom";
+ }
+ aspect: 1.0 1.0;
+ aspect_preference: VERTICAL;
+ }
+ }
+ part { name: "elm.text";
+ type: TEXT;
+ mouse_events: 0;
+ scale: 1;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ visible: 0;
+ align: 0.0 0.5;
+ rel1 {
+ relative: 1.0 1.0;
+ to_x: "padding_icon_text";
+ to_y: "padding_left_top";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to: "padding_right_bottom";
+ }
+ color: BUTTON_DEFAULT_STYLE_BUTTON_TEXT_NORMAL_COLOR_INC;
+ text {
+ font: "Tizen:style=Medium";
+ size: BUTTON_DEFAULT_STYLE_FONT_SIZE_INC;
+ min: 0 0;
+ }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ min: BUTTON_DEFAULT_STYLE_TEXT_MIN_INC;
+ }
+ description { state: "clicked" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ min: BUTTON_DEFAULT_STYLE_TEXT_MIN_INC;
+ color: BUTTON_DEFAULT_STYLE_BUTTON_TEXT_PRESSED_COLOR_INC;
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ }
+ description { state: "disabled_visible" 0.0;
+ inherit: "default" 0.0;
+ color: BUTTON_DEFAULT_STYLE_BUTTON_TEXT_DISABLED_COLOR_INC;
+ visible: 1;
+ min: BUTTON_DEFAULT_STYLE_TEXT_MIN_INC;
+ }
+ description { state: "focused" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ min: 0 0;
+ color: BUTTON_DEFAULT_STYLE_BUTTON_TEXT_FOCUSED_COLOR_INC;
+ }
+ }
+ part { name: "over2";
+ type: RECT;
+ repeat_events: 1;
+ ignore_flags: ON_HOLD;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "over3";
+ type: RECT;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "clipper";
+ type: RECT;
+ description { state: "default" 0.0;
+ color: 255 255 255 255;
+ }
+ }
+ part { name: "disabler";
+ type: RECT;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ visible: 0;
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ }
+ programs {
+ program { name: "button_click";
+ signal: "mouse,down,1";
+ source: "over2";
+ action: SIGNAL_EMIT "elm,action,press" "";
+ after: "button_click_anim";
+ }
+ program { name: "button_click_anim";
+ action: STATE_SET "clicked" 0.0;
+ target: "button_image";
+ after: "text_clicked";
+ }
+ program { name: "text_clicked";
+ script {
+ new st[31];
+ new Float:vl;
+ get_state(PART:"elm.text", st, 30, vl);
+ if (!strcmp(st, "visible"))
+ set_state(PART:"elm.text", "clicked", 0.0);
+ }
+ }
+ program { name: "button_unpress";
+ action: SIGNAL_EMIT "elm,action,unpress" "";
+ }
+ program { name: "button_mouseout_clicked";
+ signal: "mouse,up,1";
+ source: "over3";
+ script {
+ new st[31];
+ new Float:vl;
+ get_state(PART:"elm.swallow.content", st, 30, vl);
+ if (strcmp(st, "icononly"))
+ {
+ emit("elm,action,default,text,set", "");
+ set_state(PART:"elm.text", "visible", 0.0);
+ }
+ if (get_int(button_state) != BUTTON_STATE_DISABLED)
+ set_state(PART:"button_image", "default", 0.0);
+ }
+ after: button_unpress;
+ }
+ program { name: "touch_snd";
+ signal: "mouse,clicked,1";
+ source: "over2";
+ action: PLAY_SAMPLE "button-pressed" 1.0;
+ after: button_unclick3;
+ }
+ program { name: "button_unclick3";
+ action: SIGNAL_EMIT "elm,action,click" "";
+ }
+ program { name: "text_show";
+ signal: "elm,state,text,visible";
+ source: "elm";
+ script {
+ new st[31];
+ new Float:vl;
+ get_state(PART:"elm.swallow.content", st, 30, vl);
+ if (!strcmp(st, "icononly"))
+ {
+ set_state(PART:"elm.swallow.content", "visible", 0.0);
+ set_state(PART:"padding_icon_text", "visible", 0.0);
+ }
+ if (get_int(button_state) != BUTTON_STATE_DISABLED)
+ set_state(PART:"elm.text", "visible", 0.0);
+ else
+ set_state(PART:"elm.text", "disabled_visible", 0.0);
+ }
+ }
+ program { name: "text_hide";
+ signal: "elm,state,text,hidden";
+ source: "elm";
+ script {
+ new st[31];
+ new Float:vl;
+ get_state(PART:"elm.swallow.content", st, 30, vl);
+ if (!strcmp(st, "visible"))
+ {
+ set_state(PART:"elm.swallow.content", "icononly", 0.0);
+ set_state(PART:"padding_icon_text", "icononly", 0.0);
+ }
+ set_state(PART:"elm.text", "default", 0.0);
+ }
+ }
+ program { name: "icon_show";
+ signal: "elm,state,icon,visible";
+ source: "elm";
+ script {
+ new st[31];
+ new Float:vl;
+ get_state(PART:"elm.text", st, 30, vl);
+ if (!strcmp(st, "visible"))
+ {
+ set_state(PART:"elm.swallow.content", "visible", 0.0);
+ set_state(PART:"padding_icon_text", "visible", 0.0);
+ }
+ else
+ {
+ set_state(PART:"elm.swallow.content", "icononly", 0.0);
+ set_state(PART:"padding_icon_text", "icononly", 0.0);
+ }
+ }
+ }
+ program { name: "icon_hide";
+ signal: "elm,state,icon,hidden";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "elm.swallow.content";
+ target: "padding_icon_text";
+ }
+ program { name: "disable";
+ signal: "elm,state,disabled";
+ source: "elm";
+ action: STATE_SET "disabled" 0.0;
+ target: "button_image";
+ target: "disabler";
+ after: "disable_text";
+ }
+ program { name: "disable_text";
+ script {
+ new st[31];
+ new Float:vl;
+ get_state(PART:"elm.text", st, 30, vl);
+ if (!strcmp(st, "visible"))
+ set_state(PART:"elm.text", "disabled_visible", 0.0);
+ else
+ set_state(PART:"elm.text", "disabled", 0.0);
+ set_int(button_state, BUTTON_STATE_DISABLED);
+ }
+ }
+ program { name: "enable";
+ signal: "elm,state,enabled";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "button_image";
+ target: "disabler";
+ after: "enable_text";
+ }
+ program { name: "enable_text";
+ script {
+ new st[31];
+ new Float:vl;
+ get_state(PART:"elm.text", st, 30, vl);
+ if (!strcmp(st, "disabled_visible"))
+ set_state(PART:"elm.text", "visible", 0.0);
+ else
+ set_state(PART:"elm.text", "default", 0.0);
+ set_int(button_state, BUTTON_STATE_ENABLED);
+ }
+ }
+ program { name: "focused";
+ //signal: "elm,action,focus";
+ //source: "elm";
+ action: STATE_SET "focused" 0.0;
+ target: "button_image";
+ target: "elm.text";
+ }
+ program { name: "unfocused";
+ //signal: "elm,action,unfocus";
+ //source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "button_image";
+ after: "unfocus_text";
+ }
+ program { name: "unfocus_text";
+ action: STATE_SET "visible" 0.0;
+ target: "elm.text";
+ }
+ }
+ }
+
+ ////////////////////////////////////////////////////////////////////
+ group { name: "elm/button/base/music/naviframe/title_icon";
+ parts {
+ part { name: "button_image";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ min: BUTTON_NAVIFRAME_TITLE_ICON_BG_MIN_MAX_INC;
+ max: BUTTON_NAVIFRAME_TITLE_ICON_BG_MIN_MAX_INC;
+ }
+ description { state: "clicked" 0.0;
+ inherit: "default" 0.0;
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ }
+ }
+ part { name: "top_padding";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ min: BUTTON_NAVIFRAME_TITLE_ICON_TOP_PADDING_INC_SECOND;
+ fixed: 0 1;
+ align: 0 0;
+ rel1 { relative: 0.0 0.0; to: "button_image"; }
+ rel2 { relative: 1.0 0.0; to: "button_image"; }
+ }
+ }
+ part { name: "elm.swallow.content";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "elm.icon.clipper";
+ description { state: "default" 0.0;
+ visible: 0;
+ max: BUTTON_NAVIFRAME_TITLE_ICON_IMAGE_MIN_MAX_INC;
+ fixed: 1 1;
+ align: 0.5 0.0;
+ rel1 { relative: 0.0 1.0; to: "top_padding"; }
+ rel2 { relative: 1.0 1.0; to: "button_image"; }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "elm.swallow.icon.proxy";
+ type: PROXY;
+ scale: 1;
+ clip_to: "elm.icon.proxy.clipper";
+ description { state: "default" 0.0;
+ source: "elm.swallow.content";
+ rel1.to: "elm.swallow.content";
+ rel1.offset: 0 -2;
+ rel2.to: "elm.swallow.content";
+ rel2.offset: -1 -3;
+ }
+ }
+ part { name: "elm.icon.proxy.clipper";
+ type: RECT;
+ description { state: "default" 0.0;
+ }
+ description { state: "clicked" 0.0;
+ }
+ description { state: "disabled" 0.0;
+ }
+ }
+ part { name: "elm.icon.clipper";
+ type: RECT;
+ description { state: "default" 0.0;
+ }
+ description { state: "clicked" 0.0;
+ color: BUTTON_NAVIFRAME_TITLE_ICON_CLIPPER_NORMAL_COLOR_INC;
+ }
+ description { state: "disabled" 0.0;
+ color: BUTTON_NAVIFRAME_TITLE_ICON_CLIPPER_DISABLED_COLOR_INC;
+ }
+ }
+ part { name: "over2";
+ type: RECT;
+ ignore_flags: ON_HOLD;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "over3";
+ type: RECT;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "disabler";
+ type: RECT;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ visible: 0;
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ }
+ programs {
+ program { name: "button_click";
+ signal: "mouse,down,1";
+ source: "over2";
+ action: SIGNAL_EMIT "elm,action,press" "";
+ after: "button_click_anim";
+ }
+ program { name: "button_click_anim";
+ action: STATE_SET "clicked" 0.0;
+ target: "button_image";
+ target: "elm.icon.clipper";
+ target: "elm.icon.proxy.clipper";
+ }
+ program { name: "button_unpress";
+ action: SIGNAL_EMIT "elm,action,unpress" "";
+ }
+ program { name: "button_mouseout_clicked";
+ signal: "mouse,up,1";
+ source: "over3";
+ action: STATE_SET "default" 0.0;
+ target: "elm.icon.clipper";
+ target: "elm.icon.proxy.clipper";
+ after: button_unpress;
+ }
+ program { name: "touch_snd";
+ signal: "mouse,clicked,1";
+ source: "over2";
+ action: PLAY_SAMPLE "button-pressed" 1.0;
+ after: button_unclick3;
+ }
+ program { name: "button_unclick3";
+ action: SIGNAL_EMIT "elm,action,click" "";
+ }
+ program { name: "icon_show";
+ signal: "elm,state,icon,visible";
+ source: "elm";
+ action: STATE_SET "visible" 0.0;
+ target: "elm.swallow.content";
+ }
+ program { name: "icon_hide";
+ signal: "elm,state,icon,hidden";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "elm.swallow.content";
+ }
+ program { name: "disable";
+ signal: "elm,state,disabled";
+ source: "elm";
+ action: STATE_SET "disabled" 0.0;
+ target: "button_image";
+ target: "disabler";
+ target: "elm.icon.clipper";
+ target: "elm.icon.proxy.clipper";
+ }
+ program { name: "enable";
+ signal: "elm,state,enabled";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "button_image";
+ target: "elm.icon.clipper";
+ target: "elm.icon.proxy.clipper";
+ target: "disabler";
+ }
+ }
+ }
+
+
+
+
+
+ group { name: "elm/button/base/music/naviframe/title_icon_second";
+ parts {
+ part { name: "button_image";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ min: BUTTON_NAVIFRAME_TITLE_ICON_BG_MIN_MAX_INC;
+ max: BUTTON_NAVIFRAME_TITLE_ICON_BG_MIN_MAX_INC;
+ }
+ description { state: "clicked" 0.0;
+ inherit: "default" 0.0;
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ }
+ }
+ part { name: "top_padding";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ min: BUTTON_NAVIFRAME_TITLE_ICON_TOP_PADDING_INC_SECOND;
+ fixed: 0 1;
+ align: 0 0;
+ rel1 { relative: 0.0 0.0; to: "button_image"; }
+ rel2 { relative: 1.0 0.0; to: "button_image"; }
+ }
+ }
+ part { name: "elm.swallow.content";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "elm.icon.clipper";
+ description { state: "default" 0.0;
+ visible: 0;
+ max: BUTTON_NAVIFRAME_TITLE_ICON_IMAGE_MIN_MAX_INC;
+ fixed: 1 1;
+ align: 0.5 0.0;
+ rel1 { relative: 0.0 1.0; to: "top_padding"; }
+ rel2 { relative: 1.0 1.0; to: "button_image"; }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "elm.swallow.icon.proxy";
+ type: PROXY;
+ scale: 1;
+ clip_to: "elm.icon.proxy.clipper";
+ description { state: "default" 0.0;
+ source: "elm.swallow.content";
+ rel1.to: "elm.swallow.content";
+ rel1.offset: 0 -2;
+ rel2.to: "elm.swallow.content";
+ rel2.offset: -1 -3;
+ }
+ }
+ part { name: "elm.icon.proxy.clipper";
+ type: RECT;
+ description { state: "default" 0.0;
+ color: BUTTON_NAVIFRAME_TITLE_ICON_CLIPPER_DEFAULT_BLACK_COLOR_INC;
+ }
+ description { state: "clicked" 0.0;
+ color: BUTTON_NAVIFRAME_TITLE_ICON_CLIPPER_PRESSED_COLOR_INC;
+ }
+ description { state: "disabled" 0.0;
+ color: BUTTON_NAVIFRAME_TITLE_ICON_CLIPPER_DISABLED_COLOR_INC;
+ }
+ }
+ part { name: "elm.icon.clipper";
+ type: RECT;
+ description { state: "default" 0.0;
+ color: BUTTON_NAVIFRAME_TITLE_ICON_CLIPPER_NORMAL_COLOR_INC;
+ }
+ description { state: "clicked" 0.0;
+ color: BUTTON_NAVIFRAME_TITLE_ICON_CLIPPER_NORMAL_COLOR_INC;
+ }
+ description { state: "disabled" 0.0;
+ color: BUTTON_NAVIFRAME_TITLE_ICON_CLIPPER_DISABLED_COLOR_INC;
+ }
+ }
+ part { name: "over2";
+ type: RECT;
+ ignore_flags: ON_HOLD;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "over3";
+ type: RECT;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "disabler";
+ type: RECT;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ visible: 0;
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ }
+ programs {
+ program { name: "button_click";
+ signal: "mouse,down,1";
+ source: "over2";
+ action: SIGNAL_EMIT "elm,action,press" "";
+ after: "button_click_anim";
+ }
+ program { name: "button_click_anim";
+ action: STATE_SET "clicked" 0.0;
+ target: "button_image";
+ target: "elm.icon.clipper";
+ target: "elm.icon.proxy.clipper";
+ }
+ program { name: "button_unpress";
+ action: SIGNAL_EMIT "elm,action,unpress" "";
+ }
+ program { name: "button_mouseout_clicked";
+ signal: "mouse,up,1";
+ source: "over3";
+ action: STATE_SET "default" 0.0;
+ target: "elm.icon.clipper";
+ target: "elm.icon.proxy.clipper";
+ after: button_unpress;
+ }
+ program { name: "touch_snd";
+ signal: "mouse,clicked,1";
+ source: "over2";
+ action: PLAY_SAMPLE "button-pressed" 1.0;
+ after: button_unclick3;
+ }
+ program { name: "button_unclick3";
+ action: SIGNAL_EMIT "elm,action,click" "";
+ }
+ program { name: "icon_show";
+ signal: "elm,state,icon,visible";
+ source: "elm";
+ action: STATE_SET "visible" 0.0;
+ target: "elm.swallow.content";
+ }
+ program { name: "icon_hide";
+ signal: "elm,state,icon,hidden";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "elm.swallow.content";
+ }
+ program { name: "disable";
+ signal: "elm,state,disabled";
+ source: "elm";
+ action: STATE_SET "disabled" 0.0;
+ target: "button_image";
+ target: "disabler";
+ target: "elm.icon.clipper";
+ target: "elm.icon.proxy.clipper";
+ }
+ program { name: "enable";
+ signal: "elm,state,enabled";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "button_image";
+ target: "elm.icon.clipper";
+ target: "elm.icon.proxy.clipper";
+ target: "disabler";
+ }
+ }
+ }
+
+ group { name: "elm/button/base/music/naviframe/title_icon_black";
+ parts {
+ part { name: "button_image";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ min: BUTTON_NAVIFRAME_TITLE_ICON_BG_MIN_MAX_INC;
+ max: BUTTON_NAVIFRAME_TITLE_ICON_BG_MIN_MAX_INC;
+ }
+ description { state: "clicked" 0.0;
+ inherit: "default" 0.0;
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ }
+ }
+ part { name: "top_padding";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ min: BUTTON_NAVIFRAME_TITLE_ICON_TOP_PADDING_INC_SECOND;
+ fixed: 0 1;
+ align: 0 0;
+ rel1 { relative: 0.0 0.0; to: "button_image"; }
+ rel2 { relative: 1.0 0.0; to: "button_image"; }
+ }
+ }
+ part { name: "elm.swallow.content";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "elm.icon.clipper";
+ description { state: "default" 0.0;
+ visible: 0;
+ max: BUTTON_NAVIFRAME_TITLE_ICON_IMAGE_MIN_MAX_INC;
+ fixed: 1 1;
+ align: 0.5 0.0;
+ rel1 { relative: 0.0 1.0; to: "top_padding"; }
+ rel2 { relative: 1.0 1.0; to: "button_image"; }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "elm.swallow.icon.proxy";
+ type: PROXY;
+ scale: 1;
+ clip_to: "elm.icon.proxy.clipper";
+ description { state: "default" 0.0;
+ source: "elm.swallow.content";
+ rel1.to: "elm.swallow.content";
+ rel1.offset: 0 -2;
+ rel2.to: "elm.swallow.content";
+ rel2.offset: -1 -3;
+ }
+ }
+ part { name: "elm.icon.proxy.clipper";
+ type: RECT;
+ description { state: "default" 0.0;
+ color: MP_COLOR_BG_BLACK;
+ }
+ description { state: "clicked" 0.0;
+ color: BUTTON_NAVIFRAME_TITLE_ICON_CLIPPER_PRESSED_COLOR_INC;
+ }
+ description { state: "disabled" 0.0;
+ color: BUTTON_NAVIFRAME_TITLE_ICON_CLIPPER_DISABLED_COLOR_INC;
+ }
+ }
+ part { name: "elm.icon.clipper";
+ type: RECT;
+ description { state: "default" 0.0;
+ color: BUTTON_NAVIFRAME_TITLE_ICON_CLIPPER_NORMAL_COLOR_INC;
+ }
+ description { state: "clicked" 0.0;
+ color: BUTTON_NAVIFRAME_TITLE_ICON_CLIPPER_NORMAL_COLOR_INC;
+ }
+ description { state: "disabled" 0.0;
+ color: BUTTON_NAVIFRAME_TITLE_ICON_CLIPPER_DISABLED_COLOR_INC;
+ }
+ }
+ part { name: "over2";
+ type: RECT;
+ ignore_flags: ON_HOLD;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "over3";
+ type: RECT;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "disabler";
+ type: RECT;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ visible: 0;
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ }
+ programs {
+ program { name: "button_click";
+ signal: "mouse,down,1";
+ source: "over2";
+ action: SIGNAL_EMIT "elm,action,press" "";
+ after: "button_click_anim";
+ }
+ program { name: "button_click_anim";
+ action: STATE_SET "clicked" 0.0;
+ target: "button_image";
+ target: "elm.icon.clipper";
+ target: "elm.icon.proxy.clipper";
+ }
+ program { name: "button_unpress";
+ action: SIGNAL_EMIT "elm,action,unpress" "";
+ }
+ program { name: "button_mouseout_clicked";
+ signal: "mouse,up,1";
+ source: "over3";
+ action: STATE_SET "default" 0.0;
+ target: "elm.icon.clipper";
+ target: "elm.icon.proxy.clipper";
+ after: button_unpress;
+ }
+ program { name: "touch_snd";
+ signal: "mouse,clicked,1";
+ source: "over2";
+ action: PLAY_SAMPLE "button-pressed" 1.0;
+ after: button_unclick3;
+ }
+ program { name: "button_unclick3";
+ action: SIGNAL_EMIT "elm,action,click" "";
+ }
+ program { name: "icon_show";
+ signal: "elm,state,icon,visible";
+ source: "elm";
+ action: STATE_SET "visible" 0.0;
+ target: "elm.swallow.content";
+ }
+ program { name: "icon_hide";
+ signal: "elm,state,icon,hidden";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "elm.swallow.content";
+ }
+ program { name: "disable";
+ signal: "elm,state,disabled";
+ source: "elm";
+ action: STATE_SET "disabled" 0.0;
+ target: "button_image";
+ target: "disabler";
+ target: "elm.icon.clipper";
+ target: "elm.icon.proxy.clipper";
+ }
+ program { name: "enable";
+ signal: "elm,state,enabled";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "button_image";
+ target: "elm.icon.clipper";
+ target: "elm.icon.proxy.clipper";
+ target: "disabler";
+ }
+ }
+ }
+
+group {
+ name: "elm/button/base/music/reorder_button";
+ parts {
+ part {
+ name: "elm.swallow.content";
+ type: RECT;
+ mouse_events: 1;
+ repeat_events: 1;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ rel1.relative: 0.0 0.0;
+ rel2.relative: 1.0 1.0;
+ align: 1.0 0.5;
+ color: 0 0 0 0;
+ }
+ }
+ part {
+ name: "elm.swallow.icon";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 1;
+ description {
+ state: "default" 0.0;
+ min: 100 0;
+ rel1.to: "elm.swallow.content";
+ rel2.to: "elm.swallow.content";
+ align: 1.0 0.5;
+ color: 8 8 8 100;
+ image.normal: IMG_LITE_REORDER_ICON;
+ }
+ }
+ }
+}
+
+
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#define MP_CHECK_STATE_DEFAULT 0
+#define MP_CHECK_STATE_VISIBLE 1
+
+ group { name: "elm/check/base/music/effect_check";
+ script {
+ public check_state = MP_CHECK_STATE_DEFAULT;
+ }
+ parts
+ {
+ part { name: "bg";
+ type: RECT;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ min: 202 102;
+ fixed: 1 1;
+ color: 0 0 0 0;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ }
+ }
+
+ part { name: "padding_bottom";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ min: 202 8;
+ align: 0 1;
+ fixed: 1 1;
+ rel1 { relative: 0.0 1.0; to: "bg"; }
+ rel2 { relative: 1.0 1.0; to: "bg"; }
+ }
+ }
+ part { name: "text_area";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ min: 202 86;
+ fixed: 1 1;
+ rel1 { relative: 0.0 0.0; to: "bg"; }
+ rel2 { relative: 1.0 1.0; to: "bg";}
+ }
+ }
+
+ part { name: "text";
+ type: TEXT;
+ scale: 1;
+ description { state: "default" 0.0;
+ align: 0.0 0.0;
+ min: 202 86;
+ max: 202 86;
+ fixed: 1 1;
+ visible: 1;
+ text {
+ text: "";
+ size: 50;
+ elipsis: 1.0;
+ align: 0.5 0.5;
+ min: 1 0;
+ }
+ color: 0 0 0 255;
+ rel1 { relative: 0.0 0.0; to: "text_area"; }
+ rel2 { relative: 1.0 0.0; to: "text_area"; }
+ }
+ }
+
+ part { name: "bottom_line";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ min: 190 8;
+ max: 190 8;
+ align: 0.5 1;
+ fixed: 1 1;
+ color: 181 181 181 255;
+ rel1 { relative: 0.0 0.0; to: "padding_bottom"; }
+ rel2 { relative: 1.0 0.0; to: "padding_bottom"; }
+ }
+ description { state: "selected" 0.0;
+ inherit: "default";
+ color: 49 204 2 255;
+ }
+ }
+ part { name: "events1";
+ type: RECT;
+ ignore_flags: ON_HOLD;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ }
+ programs {
+
+ program { name: "click";
+ signal: "mouse,clicked,1";
+ source: "events1";
+ action: SIGNAL_EMIT "elm,action,check,toggle" "";
+ //after: "touch_sound";
+ }
+ /*
+ program { name: "touch_sound";
+ action: PLAY_SAMPLE "touch_sound" 1.0;
+ }
+ */
+ program { name: "check_on";
+ signal: "elm,state,check,on";
+ source: "elm";
+ script {
+ set_int(check_state, MP_CHECK_STATE_VISIBLE);
+ set_state(PART:"bottom_line", "selected", 0.0);
+ }
+ }
+ program { name: "check_off";
+ signal: "elm,state,check,off";
+ source: "elm";
+ script {
+ set_int(check_state, MP_CHECK_STATE_DEFAULT);
+ set_state(PART:"bottom_line", "default", 0.0);
+ }
+ }
+ /*
+ program { name: "action_highlight";
+ signal: "elm,action,access_highlight,show";
+ source: "elm";
+ action: STATE_SET "highlighted" 0.0;
+ target: "access_image";
+ }
+ program { name: "action_no_highlight";
+ signal: "elm,action,access_highlight,hide";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "access_image";
+ }
+ */
+ }
+}
+
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include "mp-defines.h"
+#include "tizen-hd-inc.edc"
+
+externals {
+ external: "elm";
+ external: "feedback";
+}
+
+collections {
+base_scale: 2.4;
+
+ plugins {
+ plugin {
+ name: "touch_sound_plugin";
+ source: "feedback";
+ param: "FEEDBACK_TYPE_SOUND FEEDBACK_PATTERN_TAP";
+ }
+ }
+ sounds {
+ sample {
+ name: "button-pressed" RAW;
+ source: MP_BUTTON_PRESSED_NAME;
+ }
+ }
+
+ #include "genlist/genlist.edc"
+
+ /* legacy style */
+ #include "entry.edc"
+ #include "mp-button.edc"
+ #include "mp-check.edc"
+ #include "mp-genlist-theme.edc"
+ #include "mp-progressbar.edc"
+ #include "mp-gengrid-style.edc"
+ #include "mp-naviframe.edc"
+ #include "mp-label.edc"
+ #include "mp-nocontents.edc"
+ #include "search_bar.edc"
+}
+
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MP_DEFINES_H__
+#define __MP_DEFINES_H__
+
+/* definitions for EDC build */
+#define MP_COLOR_BG_BLACK 8 8 8 255
+#define MP_COLOR_BG_BLACK_TRANSPARENT 8 8 8 0
+#define FOCUS_BORDER 8 8 8 8
+
+#ifndef MP_IMAGE_ROTATE_FEATURE
+#endif
+
+/* main size */
+#define MAIN_W 480
+#define MAIN_H 800
+#define PLAYVIEW_H 620
+#define MENUBOX_H 56
+#define PROGRESSBOX_H 67
+
+/* bg color */
+#define DEFAULT_BG_COLOR 248 246 239 255
+
+/* font name*/
+#define FONT_STYLE_ROMAN "TIZEN:style=Roman"
+#define FONT_STYLE_MEDIUM "TIZEN:style=Medium"
+#define FONT_STYLE_BOLD "TIZEN:style=Bold"
+
+#define FONT_NAME "system_content"
+#define FONT_TITLE_NAME "system_title"
+#define FONT_CONTENT_NAME "system_content"
+#define FONT_SUBCONTENT_NAME "system_subcontent"
+
+/* soft key*/
+#define SOFTKEY_SY (722/MAIN_H)
+
+#define MP_NAVI_BAR_H (35)
+/* player info box*/
+#define INFO_BOX_SY ((/*595*/634 - MP_NAVI_BAR_H)/MAIN_H)
+/* play control box*/
+#define CTL_BOX_HEIGHT 120 /*86 */
+#define CTL_BOX_SY 705/MAIN_H
+#define CTL_REW_SX (115/MAIN_W)
+#define CTL_REW_EX (165/MAIN_W)
+#define CTL_REW_SY (20/CTL_BOX_HEIGHT)
+#define CTL_REW_EY (70/CTL_BOX_HEIGHT)
+#define CTL_PAUSE_SX (215/MAIN_W)
+#define CTL_PAUSE_EX (265/MAIN_W)
+#define CTL_FF_SX (315/MAIN_W)
+#define CTL_FF_EX (365/MAIN_W)
+
+
+/* play menu box*/
+#define HD_MENU_BOX_H 96
+#define HD_MENU_BOX_W 720
+
+#define HD_MENU_H 76
+#define HD_MENU_W 76
+#define HD_MENU_PAD_TOP 10
+#define HD_MENU_PAA_LEFT 34
+
+#define HD_MENU_PAD_MENU 212
+
+#define MENU_SY HD_MENU_PAD_TOP/HD_MENU_BOX_H
+#define MENU_EY (HD_MENU_PAD_TOP+HD_MENU_H)/HD_MENU_BOX_H
+
+#define MENU_REP_ALL_SX HD_MENU_PAA_LEFT/HD_MENU_BOX_W
+#define MENU_REP_ALL_EX (HD_MENU_PAA_LEFT+HD_MENU_W)/HD_MENU_BOX_W
+#define MENU_SHUFFLE_SX (HD_MENU_PAA_LEFT+HD_MENU_W+HD_MENU_PAD_MENU)/HD_MENU_BOX_W
+#define MENU_SHUFFLE_EX (HD_MENU_PAA_LEFT+HD_MENU_W*2+HD_MENU_PAD_MENU)/HD_MENU_BOX_W
+#define MENU_FAVORITE_SX (HD_MENU_PAA_LEFT+HD_MENU_W*2+HD_MENU_PAD_MENU*2)/HD_MENU_BOX_W
+#define MENU_FAVORITE_EX (HD_MENU_PAA_LEFT+HD_MENU_W*3+HD_MENU_PAD_MENU*2)/HD_MENU_BOX_W
+
+/* play progress box*/
+
+#define PROGRESS_BOX_HEIGHT 67
+#define PROGRESS_BOX_SY (414/PLAYVIEW_H)
+#define PROGRESS_BOX_EY (507/PLAYVIEW_H)
+#define PROGRESS_BG_SX (80/MAIN_W)
+#define PROGRESS_BG_SY (27/PROGRESS_BOX_HEIGHT)
+#define PROGRESS_BG_EX (400/MAIN_W)
+#define PROGRESS_BG_EY (41/PROGRESS_BOX_HEIGHT)
+#define PROGRESS_BAR_L_EX (36/MAIN_W)
+#define PROGRESS_BAR_R_EX (45/MAIN_W)
+#define PROGRESS_PLAYING_SX (10/MAIN_W)
+#define PROGRESS_PLAYING_SY (376/MAIN_H)
+#define PROGRESS_PLAYING_EX (60/MAIN_W)
+#define PROGRESS_PLAYING_EY (426/MAIN_H)
+#define PROGRESS_TEXT_PLAYING_SX (30/MAIN_W)
+#define PROGRESS_TEXT_PLAYING_SY (460/MAIN_H)
+#define PROGRESS_TEXT_PLAYING_EX (130/MAIN_W)
+#define PROGRESS_TEXT_PLAYING_EY (500/MAIN_H)
+#define PROGRESS_TEXT_TOTAL_SX (350/MAIN_W)
+#define PROGRESS_TEXT_TOTAL_EX (450/MAIN_W)
+#define AUTO_REP_SX (205/MAIN_W)
+#define AUTO_REP_SY (452/MAIN_H)
+#define AUTO_REP_EX (275/MAIN_W)
+#define AUTO_REP_EY (488/MAIN_H)
+
+/* play Title*/
+#define PLAY_INFO_HEIGHT 189
+#define TRACK_TITLE_SX (15/MAIN_W)
+#define TRACK_TITLE_SY (18/PLAY_INFO_HEIGHT)
+#define ALBUM_TITLE_SY ((18+40)/PLAY_INFO_HEIGHT)
+#define ARTIST_TITLE_SY ((18+40+36)/PLAY_INFO_HEIGHT)
+#define ARTIST_TITLE_EY ((18+40+36+34)/PLAY_INFO_HEIGHT)
+
+/* favorite */
+#define FAVORITE_SX (420/MAIN_W)
+#define FAVORITE_EX (470/MAIN_W)
+#define FAVORITE_SY (10/PLAY_INFO_HEIGHT)
+#define FAVORITE_EY (60/PLAY_INFO_HEIGHT)
+
+/* volume*/
+#define VOLUME_BTN_SX (12/MAIN_W)
+#define VOLUME_BTN_SY (19/CTL_BOX_HEIGHT)
+#define VOLUME_BTN_EX (65/MAIN_W)
+#define VOLUME_BTN_EY CTL_REW_EY
+#define VOLUME_POPUP_WIDTH 262
+#define VOLUME_POPUP_HEIGHT 424
+#define VOLUME_POPUP_SX (108/MAIN_W)
+#define VOLUME_POPUP_EX (370/MAIN_W)
+#define VOLUME_POPUP_SY (94/PLAYVIEW_H)
+#define VOLUME_POPUP_EY (568/PLAYVIEW_H)
+
+#define VOLUME_POPUP_TITLE_SY (16 / VOLUME_POPUP_HEIGHT)
+#define VOLUME_POPUP_TITLE_EY (56 / VOLUME_POPUP_HEIGHT)
+#define VOLUME_POPUP_ICON_SX (107 / VOLUME_POPUP_WIDTH)
+#define VOLUME_POPUP_ICON_EX (157 / VOLUME_POPUP_WIDTH)
+#define VOLUME_POPUP_ICON_SY (62 / VOLUME_POPUP_HEIGHT)
+#define VOLUME_POPUP_ICON_EY (112 / VOLUME_POPUP_HEIGHT)
+#define VOLUME_POPUP_SLIDER_SX (68 / VOLUME_POPUP_WIDTH)
+#define VOLUME_POPUP_SLIDER_EX (194 / VOLUME_POPUP_WIDTH)
+#define VOLUME_POPUP_SLIDER_SY (130 / VOLUME_POPUP_HEIGHT)
+#define VOLUME_POPUP_SLIDER_EY (400 / VOLUME_POPUP_HEIGHT)
+
+#define VOLUME_PROGRESS_BOX_SX (400/MAIN_W)
+#define VOLUME_PROGRESS_BOX_SY (25/MAIN_H)
+#define VOLUME_PROGRESS_BOX_EY (507/MAIN_H)
+#define VOLUME_PROGRESS_BG_SX (433/MAIN_W)
+#define VOLUME_PROGRESS_BG_SY (59/MAIN_H)
+#define VOLUME_PROGRESS_BG_EX (447/MAIN_W)
+#define VOLUME_PROGRESS_BG_EY (479/MAIN_H)
+
+#define VOLUME_PROGRESS_TOP (62/MAIN_H)
+#define VOLUME_PROGRESS_BOTTOM (482/MAIN_H)
+#define VOLUME_PROGRESS_LEFT (433/MAIN_W)
+#define VOLUME_PROGRESS_RIGHT (447/MAIN_W)
+
+/*auto repeat*/
+#define REPEAT_BG_SX (150/MAIN_W)
+#define REPEAT_BG_SY (158/MAIN_H)
+#define REPEAT_BG_EX (330/MAIN_W)
+#define REPEAT_BG_EY (258/MAIN_H)
+
+#define REPEAT_A_BG_SY (307/MAIN_H)
+#define REPEAT_A_BG_EY (392/MAIN_H)
+#define REPEAT_B_BG_SY (410/MAIN_H)
+#define REPEAT_B_BG_EY (507/MAIN_H)
+
+/*information*/
+#define INFO_TITLEBG_SY (18/MAIN_H)
+#define INFO_TITLEBG_EY (147/MAIN_H)
+#define INFO_MAINALBUMIMAGE_SX (10/MAIN_W)
+#define INFO_MAINALBUMIMAGE_SY (44/MAIN_H)
+#define INFO_MAINALBUMIMAGE_EX (90/MAIN_W)
+#define INFO_MAINALBUMIMAGE_EY (124/MAIN_H)
+#define INFO_MAINTITLE_SX (100/MAIN_W)
+#define INFO_MAINTITLE_SY (53/MAIN_H)
+#define INFO_MAINARTIST_SY (89/MAIN_H)
+
+#define INFO_TITLE_SX (20/MAIN_W)
+#define INFO_TITLE_SY (154/MAIN_H)
+#define INFO_TITLE_EY (190/MAIN_H)
+#define INFO_ALBUMART_SY (239/MAIN_H)
+#define INFO_ALBUMART_EY (269/MAIN_H)
+
+#define INFO_BTN_SX (415/MAIN_W)
+#define INFO_BTN_SY VOLUME_BTN_SY
+#define INFO_BTN_EX (468/MAIN_W)
+#define INFO_BTN_EY VOLUME_BTN_EY
+
+#define MAX_W_LEFT MAIN_H-197
+#define OFFSET_TITLE -13
+#define OFFSET_TITLE_BOTTOM -14
+
+#define CONTROLBAR_LARGE_HEIGHT_INC 122
+#define CONTROLBAR_WIDTH_INC 122
+
+#define MP_NAVIFRAME_CONTROLBAR_H 114
+
+#define MP_BUTTON_PRESSED_NAME "Tizen_touch.ogg"
+
+#endif /* __MP_DEFINES_H__ */
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+ group {
+ name: "edit_view";
+
+ parts {
+ part { name: "bg";
+ mouse_events: 0;
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 0.0;}
+ rel2 { relative: 1.0 1.0;}
+ }
+ }
+
+ part {
+ name: "elm.swallow.list";
+ type: SWALLOW;
+ scale: 1;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: 0.0 0.0;}
+ rel2 { relative: 1.0 0.0; to: "elm.swallow.toolbar";}
+ }
+ }
+
+ part {
+ name: "elm.swallow.toolbar";
+ type: SWALLOW;
+ scale: 1;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ min: 0 86;
+ fixed: 0 1;
+ align: 0.5 1.0;
+ rel1 { relative: 0.0 1.0; offset: 0 -1;}
+ rel2 { relative: 1.0 1.0; offset: 0 -1;}
+ }
+ }
+ }
+
+ programs{
+
+ }
+ }
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#define ENTRY_TEXT_SIZE_INC 44
+#define ENTRY_TEXT_COLOR_INC "#FFFFFF"
+#define ENTRY_CURSOR_COLOR_INC 42 109 140 255
+#define ENTRY_PREEDIT_BACKGROUND_COLOR_INC "#000000"
+#define ENTRY_PREEDIT_TEXT_COLOR_INC "#FFFFFFFF"
+#define ENTRY_SELECTION_BG_COLOR 90 123 138 127
+#define ENTRY_SELECTION_BLOCK_HANDLE_MIN_SIZE 48 67
+#define MAGNIFIER_HEIGHT_FILL 182
+#define MAGNIFIER_HEIGHT_FIXED 108
+#define MAGNIFIER_WIDTH_FIXED 358
+
+#define EDITFIELD_TITLE_SIZE_INC 32
+#define EDITFIELD_TITLE_COLOR_INC 255 255 255 255// 73 73 73 255
+#define EDITFIELD_GUIDE_TEXT_COLOR_INC 250 250 250 255//189 189 189 255
+#define EDITFIELD_DEFAULT_ERASER_MINW_INC 48
+#define EDITFIELD_DEFAULT_ERASER_MINH_INC 48
+#define EDITFIELD_SEARCHBAR_ERASER_MINW_INC 38
+#define EDITFIELD_SEARCHBAR_ERASER_MINH_INC 38
+#define EDITFIELD_DEFAULT_MINH_INC 112
+#define EDITFIELD_SEARCHBAR_MINH_INC 50
+#define EDITFIELD_DEFAULT_TOP1_SINGLE_INC 20
+#define EDITFIELD_DEFAULT_TOP1_MULTI_INC 45
+#define EDITFIELD_DEFAULT_TOP2_INC 6
+#define EDITFIELD_DEFAULT_LEFT1_INC 0
+#define EDITFIELD_DEFAULT_LEFT2_INC 0
+#define EDITFIELD_DEFAULT_LEFT3_INC 2
+#define EDITFIELD_DEFAULT_RIGHT1_ERASER_HIDE_INC 0
+#define EDITFIELD_DEFAULT_RIGHT1_ERASER_SHOW_INC 60
+#define EDITFIELD_DEFAULT_RIGHT2_INC 0
+#define EDITFIELD_DEFAULT_BOTTOM1_SINGLE_INC 20
+#define EDITFIELD_DEFAULT_BOTTOM1_MULTI_INC 5
+#define EDITFIELD_DEFAULT_BOTTOM2_SINGLE_INC 32
+#define EDITFIELD_DEFAULT_BOTTOM2_MULTI_INC 6
+#define EDITFIELD_DEFAULT_BOTTOM3_SINGLE_INC 85
+#define EDITFIELD_DEFAULT_BOTTOM3_MULTI_INC 60
+#define EDITFIELD_SEARCHBAR_TOP1_SINGLE_INC 6
+#define EDITFIELD_SEARCHBAR_TOP1_MULTI_INC 10
+#define EDITFIELD_SEARCHBAR_TOP2_INC 10
+#define EDITFIELD_SEARCHBAR_LEFT1_INC 0
+#define EDITFIELD_SEARCHBAR_LEFT2_INC 0
+#define EDITFIELD_SEARCHBAR_LEFT3_INC 2
+#define EDITFIELD_SEARCHBAR_RIGHT1_ERASER_HIDE_INC 15
+#define EDITFIELD_SEARCHBAR_RIGHT1_ERASER_SHOW_INC 55
+#define EDITFIELD_SEARCHBAR_RIGHT2_INC 5
+#define EDITFIELD_SEARCHBAR_BOTTOM1_SINGLE_INC 8
+#define EDITFIELD_SEARCHBAR_BOTTOM1_MULTI_INC 2
+#define EDITFIELD_SEARCHBAR_BOTTOM2_SINGLE_INC 16
+#define EDITFIELD_SEARCHBAR_BOTTOM2_MULTI_INC 2
+#define EDITFIELD_SEARCHBAR_BOTTOM3_SINGLE_INC 50
+#define EDITFIELD_SEARCHBAR_BOTTOM3_MULTI_INC 50
+
+#define ENTRY_BLOCK_HANDLE_SOURCE2 "elm/entry/selection/block_handle_right"
+#define ENTRY_BLOCK_HANDLE_SOURCE3 "elm/entry/selection/block_handle_left"
+/////////////////////////////////////////////////////////////////////////
+group { name: "elm/entry/selection/block_handle_left";
+ data.item: "position" "BOTTOM";
+ data.item: "height" "40";
+ images {
+ image: "copy&paste_Icon_left.png" COMP;
+ image: "copy&paste_Icon_left_press.png" COMP;
+ image: "copy&paste_Icon_left_top.png" COMP;
+ image: "copy&paste_Icon_left_top_press.png" COMP;
+ }
+ parts {
+ part { name: "bg";
+ type: RECT;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ fixed: 1 1;
+ align: 1 0;
+ min: ENTRY_SELECTION_BLOCK_HANDLE_MIN_SIZE;
+ color: 0 0 0 0;
+ }
+ description { state: "show" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "handle";
+ mouse_events: 1;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ fixed: 1 1;
+ align: 1 0;
+ min: ENTRY_SELECTION_BLOCK_HANDLE_MIN_SIZE;
+ rel1 {
+ relative: 1.1 0.0;
+ offset: 0 -2;
+ to: "bg";
+ }
+ rel2 {
+ relative: 1.1 0.0;
+ offset: 0 -2;
+ to: "bg";
+ }
+ image {
+ normal: "copy&paste_Icon_left.png";
+ border: 0 0 0 0;
+ }
+ image.middle: SOLID;
+ fill.smooth: 0;
+ }
+ description { state: "show" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ description { state: "top" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ align: 1 1;
+ image {
+ normal: "copy&paste_Icon_left_top.png";
+ }
+ }
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ image {
+ normal: "copy&paste_Icon_left_press.png";
+ }
+ }
+ description { state: "top_press" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ align: 1 1;
+ image {
+ normal: "copy&paste_Icon_left_top_press.png";
+ }
+ }
+ }
+ }
+ script {
+ public handler_ontop;
+ public handler_pressed;
+ public handler_focused;
+ }
+ programs {
+ program { name: "focused";
+ signal: "elm,action,focus";
+ source: "elm";
+ script {
+ set_int(handler_focused, 1);
+ }
+ }
+ program { name: "unfocused";
+ signal: "elm,action,unfocus";
+ source: "elm";
+ script {
+ set_int(handler_focused, 0);
+ set_state(PART:"handle", "default", 0.0);
+ }
+ }
+ program { name: "top";
+ signal: "elm,state,top";
+ source: "elm";
+ script {
+ new pressed;
+ new focused;
+ pressed = get_int(handler_pressed);
+ focused = get_int(handler_focused);
+ set_int(handler_ontop, 1);
+ if (focused)
+ {
+ if (pressed)
+ set_state(PART:"handle", "top_press", 0.0);
+ else
+ set_state(PART:"handle", "top", 0.0);
+ }
+ else
+ {
+ set_state(PART:"handle", "default", 0.0);
+ }
+ }
+ }
+ program { name: "bottom";
+ signal: "elm,state,bottom";
+ source: "elm";
+ script {
+ new pressed;
+ new focused;
+ pressed = get_int(handler_pressed);
+ focused = get_int(handler_focused);
+ set_int(handler_ontop, 0);
+ if (focused)
+ {
+ if (pressed)
+ set_state(PART:"handle", "press", 0.0);
+ else
+ set_state(PART:"handle", "show", 0.0);
+ }
+ else
+ {
+ set_state(PART:"handle", "default", 0.0);
+ }
+ }
+ }
+ program { name: "pressed";
+ signal: "mouse,down,1";
+ source: "handle";
+ script {
+ new pos;
+ pos = get_int(handler_ontop);
+ set_int(handler_pressed, 1);
+ if (pos)
+ set_state(PART:"handle", "top_press", 0.0);
+ else
+ set_state(PART:"handle", "press", 0.0);
+ }
+ }
+ program { name: "unpressed";
+ signal: "mouse,up,1";
+ source: "handle";
+ script {
+ new pos;
+ pos = get_int(handler_ontop);
+ set_int(handler_pressed, 0);
+ if (pos)
+ set_state(PART:"handle", "top", 0.0);
+ else
+ set_state(PART:"handle", "show", 0.0);
+ }
+ }
+ }
+}
+
+group { name: "elm/entry/selection/block_handle_right";
+ data.item: "position" "BOTH";
+ data.item: "height" "40";
+ images {
+ image: "copy&paste_Icon_right.png" COMP;
+ image: "copy&paste_Icon_right_press.png" COMP;
+ image: "copy&paste_Icon_right_top.png" COMP;
+ image: "copy&paste_Icon_right_top_press.png" COMP;
+ }
+ parts {
+ part { name: "handle";
+ mouse_events: 1;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ fixed: 1 1;
+ align: 0 0;
+ min: ENTRY_SELECTION_BLOCK_HANDLE_MIN_SIZE;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 0 -2;
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ offset: 0 -2;
+ }
+ image {
+ normal: "copy&paste_Icon_right.png";
+ border: 0 0 0 0;
+ }
+ image.middle: SOLID;
+ fill.smooth: 0;
+ }
+ description { state: "show" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ description { state: "top" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ align: 0 1;
+ image {
+ normal: "copy&paste_Icon_right_top.png";
+ }
+ }
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ image {
+ normal: "copy&paste_Icon_right_press.png";
+ }
+ }
+ description { state: "top_press" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ align: 0 1;
+ image {
+ normal: "copy&paste_Icon_right_top_press.png";
+ }
+ }
+ }
+ }
+ script {
+ public handler_ontop;
+ public handler_pressed;
+ public handler_focused;
+ }
+ programs {
+ program { name: "focused";
+ signal: "elm,action,focus";
+ source: "elm";
+ script {
+ set_int(handler_focused, 1);
+ }
+ }
+ program { name: "unfocused";
+ signal: "elm,action,unfocus";
+ source: "elm";
+ script {
+ set_int(handler_focused, 0);
+ set_state(PART:"handle", "default", 0.0);
+ }
+ }
+ program { name: "top";
+ signal: "elm,state,top";
+ source: "elm";
+ script {
+ new pressed;
+ new focused;
+ pressed = get_int(handler_pressed);
+ focused = get_int(handler_focused);
+ set_int(handler_ontop, 1);
+ if (focused)
+ {
+ if (pressed)
+ set_state(PART:"handle", "top_press", 0.0);
+ else
+ set_state(PART:"handle", "top", 0.0);
+ }
+ else
+ {
+ set_state(PART:"handle", "default", 0.0);
+ }
+ }
+ }
+ program { name: "bottom";
+ signal: "elm,state,bottom";
+ source: "elm";
+ script {
+ new pressed;
+ new focused;
+ pressed = get_int(handler_pressed);
+ focused = get_int(handler_focused);
+ set_int(handler_ontop, 0);
+ if (focused)
+ {
+ if (pressed)
+ set_state(PART:"handle", "press", 0.0);
+ else
+ set_state(PART:"handle", "show", 0.0);
+ }
+ else
+ {
+ set_state(PART:"handle", "default", 0.0);
+ }
+ }
+ }
+ program { name: "pressed";
+ signal: "mouse,down,1";
+ source: "handle";
+ script {
+ new pos;
+ pos = get_int(handler_ontop);
+ set_int(handler_pressed, 1);
+ if (pos)
+ set_state(PART:"handle", "top_press", 0.0);
+ else
+ set_state(PART:"handle", "press", 0.0);
+ }
+ }
+ program { name: "unpressed";
+ signal: "mouse,up,1";
+ source: "handle";
+ script {
+ new pos;
+ pos = get_int(handler_ontop);
+ set_int(handler_pressed, 0);
+ if (pos)
+ set_state(PART:"handle", "top", 0.0);
+ else
+ set_state(PART:"handle", "show", 0.0);
+ }
+ }
+ }
+}
+
+group { name: "elm/entry/anchor/default";
+ parts {
+ part { name: "bg";
+ type: RECT;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ color: 128 0 0 64;
+ }
+ }
+ }
+}
+/////////////////////////////////////////////////////////////////////////
+
+/* This file is copied at 10/17/2011 */
+
+group { name: "elm/editfield/base/music/default";
+ images {
+ image: "00_EditField_clear.png" COMP;
+ }
+ styles {
+ style { name: "editfield_content_singleline_style";
+ base: "Tizen:style=Roman font_size="ENTRY_TEXT_SIZE_INC" color="ENTRY_TEXT_COLOR_INC" wrap=mixed ellipsis=1";
+ tag: "br" "\n";
+ tag: "ps" "ps";
+ tag: "tab" "\t";
+ tag: "em" "+ Tizen:style=Oblique";
+ tag: "b" "+ Tizen:style=Bold";
+ tag: "link" "+ color=#800 underline=on underline_color=#8008";
+ tag: "hilight" "+ Tizen:style=Bold";
+ }
+ style { name: "editfield_content_multiline_style";
+ base: "Tizen:style=Roman font_size="ENTRY_TEXT_SIZE_INC" color="ENTRY_TEXT_COLOR_INC" wrap=mixed";
+ tag: "br" "\n";
+ tag: "ps" "ps";
+ tag: "tab" "\t";
+ tag: "em" "+ Tizen:style=Oblique";
+ tag: "b" "+ Tizen:style=Bold";
+ tag: "link" "+ color=#800 underline=on underline_color=#8008";
+ tag: "hilight" "+ Tizen:style=Bold";
+ }
+ style { name: "editfield_content_password_style";
+ base: "Tizen:style=Roman font_size="ENTRY_TEXT_SIZE_INC" color="ENTRY_TEXT_COLOR_INC" wrap=none ellipsis=1";
+ tag: "br" "\n";
+ tag: "ps" "ps";
+ tag: "tab" "\t";
+ tag: "em" "+ Tizen:style=Oblique";
+ tag: "b" "+ Tizen:style=Bold";
+ tag: "link" "+ color=#800 underline=on underline_color=#8008";
+ tag: "hilight" "+ Tizen:style=Bold";
+ }
+ }
+ script {
+ public single_line = 0;
+ public password_mode = 0;
+
+ public set_multi_line() {
+ set_int(single_line, 0);
+ }
+ public set_single_line() {
+ set_int(single_line, 1);
+ }
+ public set_password() {
+ set_int(password_mode, 1);
+ }
+ public unset_password() {
+ set_int(password_mode, 0);
+ }
+ public no_edit() {
+ if(get_int(single_line) == 1) {
+ if(get_int(password_mode) == 0) {
+ set_state(PART:"elm.content.single", "no_edit", 0.0);
+ set_state(PART:"elm.content.multi", "default", 0.0);
+ set_state(PART:"elm.content.password", "default", 0.0);
+ }
+ else {
+ set_state(PART:"elm.content.single", "default", 0.0);
+ set_state(PART:"elm.content.multi", "default", 0.0);
+ set_state(PART:"elm.content.password", "no_edit", 0.0);
+ }
+ }
+ else if(get_int(single_line) == 0) {
+ set_state(PART:"elm.content.single", "default", 0.0);
+ set_state(PART:"elm.content.multi", "no_edit", 0.0);
+ set_state(PART:"elm.content.password", "default", 0.0);
+ }
+ set_state(PART:"elm.swallow.content", "no_edit", 0.0);
+ set_state(PART:"over", "default", 0.0);
+ set_state(PART:"top2", "default", 0.0);
+ }
+ }
+ parts {
+ part {
+ name: "base";
+ type: RECT;
+ scale: 1;
+ ignore_flags: ON_HOLD;
+ description {
+ state: "default" 0.0;
+ min: 0 EDITFIELD_DEFAULT_MINH_INC;
+ color: MP_GENLIST_BG_COLOR;
+ }
+ }
+ part {
+ name: "top1";
+ type: RECT;
+ scale: 1;
+ ignore_flags: ON_HOLD;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ min: 0 EDITFIELD_DEFAULT_TOP1_SINGLE_INC;
+ fixed: 1 1;
+ rel1.relative: 0.0 0.0;
+ rel2.relative: 1.0 0.0;
+ align: 0.5 0;
+ }
+ description {
+ state: "elm.text.show" 0.0;
+ inherit: "default" 0.0;
+ min: 0 EDITFIELD_DEFAULT_TOP1_MULTI_INC;
+ }
+ }
+ part {
+ name: "top2";
+ type: RECT;
+ scale: 1;
+ ignore_flags: ON_HOLD;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ min: 0 EDITFIELD_DEFAULT_TOP2_INC;
+ fixed: 1 1;
+ rel1.relative: 0.0 0.0;
+ rel2.relative: 1.0 0.0;
+ align: 0.5 0;
+ }
+ description {
+ state: "edit" 0.0;
+ inherit: "default" 0.0;
+ }
+ }
+ part {
+ name: "left1";
+ type: RECT;
+ scale: 1;
+ ignore_flags: ON_HOLD;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ min: EDITFIELD_DEFAULT_LEFT1_INC 0;
+ fixed: 1 1;
+ align: 0 0;
+ rel1.relative : 0.0 0.0;
+ rel2.relative : 0.0 1.0;
+ }
+ }
+ part {
+ name: "left2";
+ type: RECT;
+ scale: 1;
+ ignore_flags: ON_HOLD;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ min: EDITFIELD_DEFAULT_LEFT2_INC 0;
+ fixed: 1 1;
+ align: 0 0;
+ rel1.relative : 0.0 0.0;
+ rel2.relative : 0.0 1.0;
+ }
+ }
+ part {
+ name: "left3";
+ type: RECT;
+ scale: 1;
+ ignore_flags: ON_HOLD;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ min: EDITFIELD_DEFAULT_LEFT3_INC 0;
+ fixed: 1 1;
+ align: 0 0;
+ rel1 {
+ to: "elm.swallow.content";
+ relative: 0.0 0.0;
+ }
+ rel2 {
+ to: "elm.swallow.content";
+ relative: 0.0 1.0;
+ }
+ }
+ }
+ part {
+ name: "right1";
+ type: RECT;
+ scale: 1;
+ ignore_flags: ON_HOLD;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ min: EDITFIELD_DEFAULT_RIGHT1_ERASER_HIDE_INC 0;
+ fixed: 1 1;
+ align: 1 0;
+ rel1.relative : 1.0 0.0;
+ rel2.relative : 1.0 1.0;
+ }
+ description {
+ state: "elm.eraser.show" 0.0;
+ inherit: "default" 0.0;
+ min: EDITFIELD_DEFAULT_RIGHT1_ERASER_SHOW_INC 0;
+ }
+ }
+ part {
+ name: "right2";
+ type: RECT;
+ scale: 1;
+ ignore_flags: ON_HOLD;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ min: EDITFIELD_DEFAULT_RIGHT2_INC 0;
+ fixed: 1 1;
+ align: 1 0;
+ rel1.relative : 1.0 0.0;
+ rel2.relative : 1.0 1.0;
+ }
+ }
+ part {
+ name: "bottom1";
+ type: RECT;
+ scale: 1;
+ ignore_flags: ON_HOLD;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ min: 0 EDITFIELD_DEFAULT_BOTTOM1_SINGLE_INC;
+ fixed: 1 1;
+ align: 0 1;
+ rel1.relative: 0.0 1.0;
+ }
+ description {
+ state: "elm.text.show" 0.0;
+ inherit: "default" 0.0;
+ min: 0 EDITFIELD_DEFAULT_BOTTOM1_MULTI_INC;
+ }
+ }
+ part {
+ name: "bottom2";
+ type: RECT;
+ scale: 1;
+ ignore_flags: ON_HOLD;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ min: 0 EDITFIELD_DEFAULT_BOTTOM2_SINGLE_INC;
+ fixed: 0 1;
+ rel1.relative: 0.0 1.0;
+ align: 0 1;
+ }
+ description {
+ state: "elm.text.show" 0.0;
+ inherit: "default" 0.0;
+ min: 0 EDITFIELD_DEFAULT_BOTTOM2_MULTI_INC;
+ }
+ }
+ part {
+ name: "bottom3";
+ type: RECT;
+ scale: 1;
+ ignore_flags: ON_HOLD;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ min: 0 EDITFIELD_DEFAULT_BOTTOM3_SINGLE_INC;
+ fixed: 0 1;
+ rel1.relative: 0.0 1.0;
+ align: 0 1;
+ }
+ description {
+ state: "elm.text.show" 0.0;
+ inherit: "default" 0.0;
+ min: 0 EDITFIELD_DEFAULT_BOTTOM3_MULTI_INC;
+ }
+ }
+ part {
+ name: "elm.text";
+ type: TEXT;
+ scale: 1;
+ ignore_flags: ON_HOLD;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ align: 0.0 0.0;
+ min: 0 34;
+ fixed: 1 1;
+ rel1 {
+ relative: 1.0 1.0;
+ to_x: "left2";
+ to_y: "top2";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to_x: "left2";
+ to_y: "top2";
+ }
+ color: EDITFIELD_TITLE_COLOR_INC;
+ text {
+ font: "TIZEN:style=Medium";
+ size: EDITFIELD_TITLE_SIZE_INC;
+ min: 1 1;
+ align: 0.0 0.0;
+ }
+ }
+ description {
+ state: "elm.text.show" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part {
+ name: "elm.guidetext";
+ type: TEXT;
+ scale: 1;
+ ignore_flags: ON_HOLD;
+ description {
+ state: "default" 0.0;
+ align: 0.0 0.0;
+ fixed: 1 1;
+ rel1.to: "elm.swallow.content";
+ rel2.to: "elm.swallow.content";
+ color: EDITFIELD_GUIDE_TEXT_COLOR_INC;
+ text {
+ font: "TIZEN:style=Roman";
+ size: ENTRY_TEXT_SIZE_INC;
+ min: 0 0;
+ align: 0.0 0.5;
+ }
+ }
+ description {
+ state: "hidden" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part {
+ name: "elm.content.single";
+ type: TEXTBLOCK;
+ scale: 1;
+ ignore_flags: ON_HOLD;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ fixed: 1 1;
+ rel1 {
+ to_x: "left3";
+ to_y: "elm.swallow.content";
+ relative: 1.0 0.0;
+ }
+ rel2.to: "elm.swallow.content";
+ text {
+ style: "editfield_content_singleline_style";
+ min: 0 0;
+ max: 0 1;
+ }
+ }
+ description {
+ state: "no_edit" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ description {
+ state: "edit" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part {
+ name: "elm.content.multi";
+ type: TEXTBLOCK;
+ scale: 1;
+ ignore_flags: ON_HOLD;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ fixed: 1 1;
+ rel1 {
+ to_x: "left3";
+ to_y: "elm.swallow.content";
+ relative: 1.0 0.0;
+ }
+ rel2.to: "elm.swallow.content";
+ text {
+ style: "editfield_content_multiline_style";
+ min: 0 1;
+ }
+ }
+ description {
+ state: "no_edit" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ description {
+ state: "edit" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part {
+ name: "elm.content.password";
+ type: TEXTBLOCK;
+ scale: 1;
+ ignore_flags: ON_HOLD;
+ entry_mode: PASSWORD;
+ multiline: 0;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ fixed: 1 1;
+ rel1 {
+ to_x: "left3";
+ to_y: "elm.swallow.content";
+ relative: 1.0 0.0;
+ }
+ rel2.to: "elm.swallow.content";
+ text {
+ style: "editfield_content_password_style";
+ repch: "*";
+ min: 0 0;
+ max: 0 1;
+ }
+ }
+ description {
+ state: "no_edit" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ description {
+ state: "edit" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part {
+ name: "elm.swallow.content";
+ type: SWALLOW;
+ scale: 1;
+ ignore_flags: ON_HOLD;
+ description {
+ state: "default" 0.0;
+ min: 0 40;
+ rel1 {
+ relative : 1.0 1.0;
+ to_x: "left1";
+ to_y: "top1";
+ }
+ rel2 {
+ relative : 0.0 0.0;
+ to_x: "right1";
+ to_y: "bottom1";
+ }
+ align: 0.0 0.5;
+ }
+ description {
+ state: "no_edit" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ description {
+ state: "edit" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part {
+ name: "over";
+ type: RECT;
+ scale: 1;
+ ignore_flags: ON_HOLD;
+ description {
+ state: "default" 0.0;
+ rel1.to: "base";
+ rel2.to: "base";
+ color: 0 0 0 0;
+ }
+ description {
+ state: "edit" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part {
+ name: "eraser_image";
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ min: EDITFIELD_DEFAULT_ERASER_MINW_INC EDITFIELD_DEFAULT_ERASER_MINH_INC;
+ fixed: 1 1;
+ align: 1 1;
+ rel1 {
+ relative: 0.0 0.0;
+ to_x : "right2";
+ to_y : "bottom2";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to_x : "right2";
+ to_y : "bottom2";
+ }
+ image {
+ normal: "00_EditField_clear.png";
+ border: 10 10 10 10;
+ border_scale: 1;
+ }
+ }
+ description {
+ state: "elm.eraser.show" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part {
+ name: "eraser";
+ mouse_events: 1;
+ ignore_flags: ON_HOLD;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ color: 0 0 0 0;
+ rel1 {
+ relative: 0.0 0.0;
+ to_x : "eraser_image";
+ to_y : "bottom3";
+ }
+ }
+ description {
+ state: "elm.eraser.show" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ }
+ programs {
+ program {
+ name: "guidetext_show";
+ signal: "elm,state,guidetext,visible";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "elm.guidetext";
+ }
+ program {
+ name: "guidetext_hide";
+ signal: "elm,state,guidetext,hidden";
+ source: "elm";
+ action: STATE_SET "hidden" 0.0;
+ target: "elm.guidetext";
+ }
+ program {
+ name: "eraser_show";
+ signal: "elm,state,eraser,show";
+ source: "elm";
+ action: STATE_SET "elm.eraser.show" 0.0;
+ target: "right1";
+ target: "eraser_image";
+ target: "eraser";
+ }
+ program {
+ name: "eraser_hide";
+ signal: "elm,state,eraser,hidden";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "right1";
+ target: "eraser_image";
+ target: "eraser";
+ }
+ program {
+ name: "multiline_set";
+ signal: "elm,state,text,multiline";
+ source: "elm";
+ script {
+ set_multi_line();
+ }
+ }
+ program {
+ name: "singleline_set";
+ signal: "elm,state,text,singleline";
+ source: "elm";
+ script {
+ set_single_line();
+ }
+ }
+ program {
+ name: "password_set";
+ signal: "elm,state,password,set";
+ source: "elm";
+ script {
+ set_password();
+ }
+ }
+ program {
+ name: "password_unset";
+ signal: "elm,state,password,unset";
+ source: "elm";
+ script {
+ unset_password();
+ }
+ }
+ program {
+ name: "editing";
+ signal: "elm,state,over,hide";
+ source: "elm";
+ action: STATE_SET "edit" 0.0;
+ target: "elm.swallow.content";
+ target: "elm.content.password";
+ target: "elm.content.multi";
+ target: "elm.content.single";
+ target: "over";
+ target: "top2";
+ }
+ program {
+ name: "no_editing";
+ signal: "elm,state,over,show";
+ source: "elm";
+ script {
+ no_edit();
+ }
+ }
+ program {
+ name: "label_show";
+ signal: "elm,state,text,visible";
+ source: "elm";
+ action: STATE_SET "elm.text.show" 0.0;
+ target: "elm.text";
+ target: "top1";
+ target: "bottom1";
+ target: "bottom2";
+ target: "bottom3";
+ }
+ program {
+ name: "label_hide";
+ signal: "elm,state,text,hidden";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "elm.text";
+ target: "top1";
+ target: "bottom1";
+ target: "bottom2";
+ target: "bottom3";
+ }
+ program {
+ name: "entry_show";
+ signal: "elm,state,entry,show";
+ source: "elm";
+ action: STATE_SET "edit" 0.0;
+ target: "elm.swallow.content";
+ target: "elm.content.multi";
+ }
+ }
+}
+
+group { name: "elm/entry/cursor/music/default";
+ parts {
+ part { name: "clip2";
+ type: RECT;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.to: "clip";
+ rel2.to: "clip";
+ visible: 0;
+ }
+ description { state: "focused" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "clip";
+ type: RECT;
+ mouse_events: 0;
+ scale: 1;
+ clip_to: "clip2";
+ description { state: "default" 0.0;
+ rel1.offset: -10 0;
+ rel2.offset: 9 9;
+ }
+ description { state: "hidden" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "base";
+ mouse_events: 0;
+ scale: 1;
+ clip_to: "clip";
+ description { state: "default" 0.0;
+ min: 2 2;
+ align: 0.5 1.0;
+ color: 0 0 0 0;
+ }
+ }
+
+ part { name: "glow";
+ type: RECT;
+ mouse_events: 0;
+ scale: 1;
+ clip_to: "clip2";
+ description { state: "default" 0.0;
+ min: 3 0;
+ fixed: 1 0;
+ align: 0.5 0.5;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 0 2;
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ offset: 0 -2;
+ }
+ color: ENTRY_CURSOR_COLOR_INC;
+ }
+ description { state: "hidden" 0.0;
+ inherit: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ }
+ programs {
+ program { name: "show";
+ action: STATE_SET "hidden" 0.0;
+ in: 0.6 0.0;
+ target: "glow";
+ after: "show4";
+ }
+ program { name: "show4";
+ action: STATE_SET "default" 0.0;
+ in: 0.6 0.0;
+ target: "glow";
+ after: "show";
+ }
+ program { name: "focused";
+ signal: "elm,action,focus";
+ source: "elm";
+ action: STATE_SET "focused" 0.0;
+ target: "clip2";
+ after: "show4";
+ }
+ program { name: "unfocused";
+ signal: "elm,action,unfocus";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "clip2";
+ after: "stop_glow";
+ }
+ program { name: "stop_glow";
+ action: ACTION_STOP;
+ target: "show";
+ target: "show4";
+ }
+ }
+}
+
+group { name: "elm/entry/base-single/music/default";
+ data.item: "default_font_size" "24";
+ data.item: "min_font_size" "8";
+ data.item: "max_font_size" "60";
+ styles
+ {
+ style { name: "entry_single_textblock_style";
+ base: "Tizen:style=Roman font_size="ENTRY_TEXT_SIZE_INC" color="ENTRY_TEXT_COLOR_INC" wrap=none left_margin=2 right_margin=3";
+ tag: "br" "\n";
+ tag: "ps" "ps";
+ tag: "tab" "\t";
+ tag: "em" "+ Tizen:style=Oblique";
+ tag: "b" "+ Tizen:style=Bold";
+ tag: "link" "+ color=#800 underline=on underline_color=#8008";
+ tag: "hilight" "+ Tizen:style=Bold";
+ tag: "preedit" "+ underline=on underline_color="ENTRY_PREEDIT_BACKGROUND_COLOR_INC"";
+ tag: "preedit_sel" "+ backing=on backing_color="ENTRY_PREEDIT_BACKGROUND_COLOR_INC" color="ENTRY_PREEDIT_TEXT_COLOR_INC"";
+ }
+ style { name: "entry_single_textblock_disabled_style";
+ base: "Tizen:style=Roman font_size="ENTRY_TEXT_SIZE_INC" color=#00000080 wrap=none left_margin=2 right_margin=3";
+ tag: "br" "\n";
+ tag: "ps" "ps";
+ tag: "tab" "\t";
+ tag: "em" "+ Tizen:style=Oblique";
+ tag: "b" "+ Tizen:style=Bold";
+ tag: "link" "+ color=#00000080 underline=on underline_color=#00000080";
+ tag: "hilight" "+ Tizen:style=Bold";
+ tag: "preedit" "+ underline=on underline_color="ENTRY_PREEDIT_BACKGROUND_COLOR_INC"";
+ tag: "preedit_sel" "+ backing=on backing_color="ENTRY_PREEDIT_BACKGROUND_COLOR_INC" color="ENTRY_PREEDIT_TEXT_COLOR_INC"";
+ }
+ }
+ data {
+ item: context_menu_orientation "horizontal";
+ }
+ parts {
+ part { name: "entry.swallow.background";
+ type: SWALLOW;
+ description { state: "default" 0.0;
+ visible: 1;
+ rel1 { relative: 0 0; to: "elm.text"; }
+ rel2 { relative: 1 1; to: "elm.text"; }
+ }
+ }
+ }
+
+ parts {
+ part { name: "elm.text";
+ type: TEXTBLOCK;
+ mouse_events: 1;
+ scale: 1;
+ entry_mode: EDITABLE;
+ select_mode: BLOCK_HANDLE;
+ //cursor_mode: BEFORE;
+ multiline: 0;
+ source: "elm/entry/selection/music/default"; // selection under
+ source2: ENTRY_BLOCK_HANDLE_SOURCE2; // block handle
+ source3: ENTRY_BLOCK_HANDLE_SOURCE3; // block handle
+ source4: "elm/entry/cursor/music/default"; // cursorover
+ source5: "elm/entry/anchor/default"; // anchor under
+ description { state: "default" 0.0;
+ text {
+ style: "entry_single_textblock_style";
+ min: 1 1;
+ max: 0 0;
+ align: 0.0 0.5;
+ }
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ text {
+ style: "entry_single_textblock_disabled_style";
+ }
+ }
+ }
+ }
+
+ programs {
+ program { name: "focus";
+ signal: "load";
+ source: "";
+ action: FOCUS_SET;
+ target: "elm.text";
+ }
+ program { name: "disable";
+ signal: "elm,state,disabled";
+ source: "elm";
+ action: STATE_SET "disabled" 0.0;
+ target: "elm.text";
+ }
+ program { name: "enable";
+ signal: "elm,state,enabled";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "elm.text";
+ }
+ }
+}
+
+group { name: "elm/entry/selection/music/default";
+ parts {
+ part { name: "bg";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ color: ENTRY_SELECTION_BG_COLOR;
+ }
+ }
+ }
+}
+
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+collections {
+base_scale: 2.4;
+ group {
+ name: "effect";
+
+ parts {
+ part {
+ name: "bg";
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ color: 21 108 148 255;
+ }
+ }
+ part {
+ name: "naviframe";
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel2.relative: 1.0 0.0;
+ align: 0.5 0.0;
+ min: 0 96;
+ fixed: 0 1;
+ color: 21 108 148 255;
+ }
+ }
+ }
+ }
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#define GENGRID_PART_BG_COLOR_INC 0 0 0 0
+#define GENGRID_PART_STYLE_REORDER_BG_COLOR_INC 0 0 0 128
+
+#define VIDEO_W 184
+#define VIDEO_H 213
+
+#define ICON_W 162
+#define ICON_H 129
+
+#define VIDEO_TXT_COLOR 166 166 166 255
+#define VIDEO_TXT_SIZE 24
+#define VIDEO_TXT_FONT "Tizen:style=Roman"
+#define FOCUS_BORDER 8 8 8 8
+#define GENGRID_ALBUM_THUMNAIL_BG "player-view/T02_player_album_bg_02.png"
+
+styles {
+ style {
+ name: "textblock_style_default";
+ base: "font=Tizen:style=Roman font_size=30 color=#ffff align=left wrap=mixed ellipsis=1.0";
+ tag: "br" "\n";
+ tag: "ps" "ps";
+ tag: "hilight" "+ font=Tizen:style=Roman";
+ tag: "b" "+ font=Tizen:style=Roman";
+ tag: "tab" "\t";
+ }
+}
+
+
+group { name: "elm/gengrid/item/grid_video/default";
+ data.item: "texts" "elm.text.1 elm.text.2";
+ data.item: "contents" "elm.swallow.icon elm.swallow.block elm.swallow.end";
+ images {
+ image : "00_winset_thumbs_bg.png" COMP;
+ image : "00_winset_thumbs_focus_bg.png" COMP;
+ }
+ parts {
+ part { name: "bg";
+ type: RECT;
+ description { state: "default" 0.0;
+ color: GENGRID_PART_BG_COLOR_INC;
+ }
+ }
+ part { name: "left_top_padding";
+ type: RECT;
+ scale : 1;
+ description { state: "default" 0.0;
+ min: 8 18;
+ align: 0.0 0.0;
+ visible: 0;
+ rel1.to: "bg";
+ rel2 {
+ relative: 0.0 0.0;
+ to: "bg";
+ }
+ }
+ }
+ part { name: "right_bottom_padding";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 8 72;
+ align: 1.0 1.0;
+ visible: 0;
+ rel1 {
+ relative: 1.0 1.0;
+ to: "bg";
+ }
+ rel2.to: "bg";
+ }
+ }
+ part { name: "elm.text.2";
+ type: TEXT;
+ mouse_events: 1;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 {
+ relative: 1.0 0.0;
+ to_x: "left_top_padding";
+ to_y: "right_bottom_padding";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ to: "right_bottom_padding";
+ }
+ min: 0 28;
+ max: 9999 28;
+ fixed: 0 1;
+ align: 0.0 1.0;
+ text {
+ font: VIDEO_TXT_FONT;
+ size: VIDEO_TXT_SIZE;
+ align: 0.5 0.5;
+ }
+ color: VIDEO_TXT_COLOR;
+ }
+ }
+ part { name: "elm.text.1";
+ type : TEXT;
+ mouse_events: 1;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ to: "elm.text.2";
+ }
+ rel2 {
+ relative: 1.0 0.0;
+ to: "elm.text.2";
+ }
+ min: 0 28;
+ max: 9999 28;
+ fixed: 0 1;
+ align: 0.5 1.0;
+ text {
+ font: VIDEO_TXT_FONT;
+ size: VIDEO_TXT_SIZE;
+ align: 0.5 0.5;
+ }
+ color: VIDEO_TXT_COLOR;
+ }
+ }
+ part { name: "elm.swallow.block";
+ type: SWALLOW;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ rel1.to : "elm.text.1";
+ rel2.to : "elm.text.2";
+ }
+ }
+ part { name: "item_bg";
+ type: IMAGE;
+ description { state: "default" 0.0;
+ rel1 {
+ relative: 1.0 1.0;
+ to: "left_top_padding";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to: "right_bottom_padding";
+ }
+ image.normal: "00_winset_thumbs_bg.png";
+ }
+ }
+ part { name: "item_bg_left_top_padding";
+ type: RECT;
+ scale : 1;
+ description { state: "default" 0.0;
+ min: 2 0;
+ align: 0.0 0.0;
+ visible: 0;
+ rel1.to: "item_bg";
+ rel2 {
+ relative: 0.0 0.0;
+ to: "item_bg";
+ }
+ }
+ }
+ part { name: "item_bg_right_bottom_padding";
+ type: RECT;
+ scale : 1;
+ description { state: "default" 0.0;
+ min: 2 6;
+ align: 1.0 1.0;
+ visible: 0;
+ rel1 {
+ relative: 1.0 1.0;
+ to: "item_bg";
+ }
+ rel2.to: "item_bg";
+ }
+ }
+ part { name: "item_real_bg";
+ type: RECT;
+ description { state: "default" 0.0;
+ color: 190 189 189 255;
+ rel1 {
+ relative: 1.0 1.0;
+ to: "item_bg_left_top_padding";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to: "item_bg_right_bottom_padding";
+ }
+ }
+ }
+ part { name: "item_real_bg_left_top_padding";
+ type: RECT;
+ scale : 1;
+ description { state: "default" 0.0;
+ min: 2 2;
+ align: 0.0 0.0;
+ visible: 0;
+ rel1.to: "item_real_bg";
+ rel2 {
+ relative: 0.0 0.0;
+ to: "item_real_bg";
+ }
+ }
+ }
+ part { name: "item_real_bg_right_bottom_padding";
+ type: RECT;
+ scale : 1;
+ description { state: "default" 0.0;
+ min: 2 2;
+ align: 1.0 1.0;
+ visible: 0;
+ rel1 {
+ relative: 1.0 1.0;
+ to: "item_real_bg";
+ }
+ rel2.to: "item_real_bg";
+ }
+ }
+ part { name: "elm.swallow.icon";
+ type: SWALLOW;
+ description { state: "default" 0.0;
+ rel1 {
+ relative: 1.0 1.0;
+ to: "item_real_bg_left_top_padding";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to: "item_real_bg_right_bottom_padding";
+ }
+ }
+ }
+ part { name: "elm.swallow.end";
+ type: SWALLOW;
+ description { state: "default" 0.0;
+ rel1.to: "elm.swallow.icon";
+ rel2.to: "elm.swallow.icon";
+ }
+ }
+ part { name: "reorder_bg";
+ type: RECT;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ color: GENGRID_PART_BG_COLOR_INC;
+ rel1.to: "item_bg";
+ rel2.to: "item_bg";
+ }
+ description { state: "enabled" 0.0;
+ inherit: "default" 0.0;
+ color: GENGRID_PART_STYLE_REORDER_BG_COLOR_INC;
+ }
+ }
+ part { name: "focus_bg_left_top_padding";
+ type: RECT;
+ scale : 1;
+ description { state: "default" 0.0;
+ min: 8 16;
+ align: 0.0 0.0;
+ visible: 0;
+ rel1.to: "bg";
+ rel2 {
+ relative: 0.0 0.0;
+ to: "bg";
+ }
+ }
+ }
+ part { name: "focus_bg_right_bottom_padding";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 8 76;
+ align: 1.0 1.0;
+ visible: 0;
+ rel1 {
+ relative: 1.0 1.0;
+ to: "bg";
+ }
+ rel2.to: "bg";
+ }
+ }
+ part { name: "focus_bg";
+ type: IMAGE;
+ description { state: "default" 0.0;
+ visible: 0;
+ rel1 {
+ relative: 1.0 1.0;
+ to: "focus_bg_left_top_padding";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to: "focus_bg_right_bottom_padding";
+ }
+ image.normal: "00_winset_thumbs_focus_bg.png";
+ }
+ description { state: "enabled" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ }
+ programs {
+ program { name: "go_mouse_down";
+ signal: "mouse,down,1";
+ source: "reorder_bg";
+ action: STATE_SET "enabled" 0.0;
+ target: "focus_bg";
+ transition: ACCELERATE 0.2;
+ }
+ program { name: "go_mouse_up";
+ signal: "mouse,up,1";
+ source: "reorder_bg";
+ action: STATE_SET "default" 0.0;
+ target: "focus_bg";
+ transition: DECELERATE 0.2;
+ }
+ program { name: "go_reorder_disabled";
+ signal: "elm,state,reorder,disabled";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "reorder_bg";
+ target: "focus_bg";
+ transition: ACCELERATE 0.3;
+ }
+ program { name: "go_reorder_enabled";
+ signal: "elm,state,reorder,enabled";
+ source: "elm";
+ action: STATE_SET "enabled" 0.0;
+ target: "reorder_bg";
+ target: "focus_bg";
+ transition: DECELERATE 0.3;
+ }
+ }
+ }
+
+group { name: "elm/gengrid/item/music/grid_square/default";
+ data.item: "contents" "elm.swallow.icon elm.swallow.end";
+ parts {
+ part { name: "bg";
+ type: RECT;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+
+ part { name: "elm.swallow.icon";
+ type: SWALLOW;
+ description { state: "default" 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ to: "bg";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to: "bg";
+ }
+ }
+ }
+ }
+ }
+
+styles {
+ style { name: "gengrid_textblock_style";
+ base: "font=Tizen:style=Bold font_size="GENGRID_FONT_STYLE_18_INC" color="GENGRID_PART_TEXTBLOCK_STYLE_COLOR_INC" align=center wrap=mixed ellipsis=1.0 text_class=tizen";
+ tag: "br" "\n";
+ tag: "ps" "ps";
+ tag: "tab" "\t";
+ tag: "b" "+ font=Tizen:style=Bold";
+ }
+}
+
+group { name: "elm/gengrid/item/music/default_grid/default";
+ data.item: "contents" "elm.swallow.icon elm.swallow.end";
+ images {
+ image : "00_thumbs_line_bg.png" COMP;
+ image : "00_thumbs_bg_focus.png" COMP;
+ image : "00_thumbs_loading_bg.png" COMP;
+ }
+ parts {
+ part { name: "bg";
+ type: RECT;
+ description { state: "default" 0.0;
+ color: GENGRID_PART_BACKGROUND_COLOR_INC;
+ }
+ }
+ part { name: "left_top_padding";
+ type: RECT;
+ scale : 1;
+ description { state: "default" 0.0;
+ min: GENGRID_DEFAULT_LEFT_TOP_PADDING_INC;
+ align: 0.0 0.0;
+ visible: 0;
+ fixed: 1 1;
+ rel1.to: "bg";
+ rel2 {
+ relative: 0.0 0.0;
+ to: "bg";
+ }
+ }
+ }
+ part { name: "right_bottom_padding";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: GENGRID_DEFAULT_RIGHT_BOTTOM_PADDING_INC;
+ align: 1.0 1.0;
+ visible: 0;
+ fixed: 1 1;
+ rel1 {
+ relative: 1.0 1.0;
+ to: "bg";
+ }
+ rel2.to: "bg";
+ }
+ }
+ part { name: "item_bg";
+ type: IMAGE;
+ description { state: "default" 0.0;
+ rel1 {
+ relative: 1.0 1.0;
+ to: "left_top_padding";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to: "right_bottom_padding";
+ }
+ image.normal: "00_thumbs_line_bg.png";
+ image.border: 1 1 1 1;
+ }
+ }
+ part { name: "item_bg_left_top_padding";
+ type: RECT;
+ scale : 1;
+ description { state: "default" 0.0;
+ min: GENGRID_DEFAULT_ITEM_BG_LEFT_TOP_PADDING_INC;
+ align: 0.0 0.0;
+ visible: 0;
+ fixed: 1 1;
+ rel1.to: "item_bg";
+ rel2 {
+ relative: 0.0 0.0;
+ to: "item_bg";
+ }
+ }
+ }
+ part { name: "item_bg_right_bottom_padding";
+ type: RECT;
+ scale : 1;
+ description { state: "default" 0.0;
+ min: GENGRID_DEFAULT_ITEM_BG_RIGHT_BOTTOM_PADDING_INC;
+ align: 1.0 1.0;
+ visible: 0;
+ fixed: 1 1;
+ rel1 {
+ relative: 1.0 1.0;
+ to: "item_bg";
+ }
+ rel2.to: "item_bg";
+ }
+ }
+ part { name: "item_real_bg";
+ description { state: "default" 0.0;
+ visible: 0;
+ rel1 {
+ relative: 1.0 1.0;
+ to: "item_bg_left_top_padding";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to: "item_bg_right_bottom_padding";
+ }
+ image.normal: "00_thumbs_loading_bg.png";
+ }
+ }
+ part { name: "item_real_bg_left_top_padding";
+ type: RECT;
+ scale : 1;
+ description { state: "default" 0.0;
+ min: GENGRID_DEFAULT_ITEM_REAL_BG_RIGHT_PADDING_INC;
+ align: 0.0 0.0;
+ visible: 0;
+ fixed: 1 1;
+ rel1.to: "item_real_bg";
+ rel2 {
+ relative: 0.0 0.0;
+ to: "item_real_bg";
+ }
+ }
+ }
+ part { name: "item_real_bg_right_bottom_padding";
+ type: RECT;
+ scale : 1;
+ description { state: "default" 0.0;
+ min: GENGRID_DEFAULT_ITEM_REAL_BG_RIGHT_PADDING_INC;
+ align: 1.0 1.0;
+ fixed: 1 1;
+ visible: 0;
+ rel1 {
+ relative: 1.0 1.0;
+ to: "item_real_bg";
+ }
+ rel2.to: "item_real_bg";
+ }
+ }
+ part { name: "elm.swallow.icon";
+ type: SWALLOW;
+ description { state: "default" 0.0;
+ rel1 {
+ relative: 1.0 1.0;
+ to: "item_real_bg_left_top_padding";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to: "item_real_bg_right_bottom_padding";
+ }
+ }
+ }
+ part { name: "elm.swallow.end";
+ type: SWALLOW;
+ description { state: "default" 0.0;
+ rel1 {
+ relative: 1.0 0.0;
+ to: "elm.swallow.icon";
+ offset: -75 0;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to: "elm.swallow.icon";
+ }
+ }
+ }
+ part { name: "reorder_bg";
+ type: RECT;
+ repeat_events: 0;
+ description { state: "default" 0.0;
+ color: GENGRID_PART_BG_COLOR_INC;
+ rel1.to: "item_bg";
+ rel2.to: "item_bg";
+ }
+ description { state: "enabled" 0.0;
+ inherit: "default" 0.0;
+ color: GENGRID_PART_REORDER_DEFAULT_BG_COLOR_INC;
+ }
+ }
+ part { name: "focus_bg_left_top_padding";
+ type: RECT;
+ scale : 1;
+ description { state: "default" 0.0;
+ min: GENGRID_DEFAULT_LEFT_TOP_FOCUS_PADDING_INC;
+ align: 0.0 0.0;
+ visible: 0;
+ fixed: 1 1;
+ rel1.to: "bg";
+ rel2 {
+ relative: 0.0 0.0;
+ to: "bg";
+ }
+ }
+ }
+ part { name: "focus_bg_right_bottom_padding";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: GENGRID_DEFAULT_RIGHT_BOTTOM_FOCUS_PADDING_INC;
+ align: 1.0 1.0;
+ visible: 0;
+ fixed: 1 1;
+ rel1 {
+ relative: 1.0 1.0;
+ to: "bg";
+ }
+ rel2.to: "bg";
+ }
+ }
+ part { name: "focus_bg";
+ type: IMAGE;
+ description { state: "default" 0.0;
+ visible: 0;
+ rel1 {
+ relative: 1.0 1.0;
+ to: "focus_bg_left_top_padding";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to: "focus_bg_right_bottom_padding";
+ }
+ image.normal: "00_thumbs_bg_focus.png";
+ image.border: 6 6 6 6;
+ }
+ description { state: "enabled" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ }
+ programs {
+ program { name: "go_mouse_down";
+ signal: "mouse,down,1";
+ source: "reorder_bg";
+ action: PLAY_SAMPLE "button-pressed" 1.0;
+ after:"go_down";
+ transition: ACCELERATE 0.2;
+ }
+ program { name: "go_mouse_up";
+ signal: "mouse,up,1";
+ source: "reorder_bg";
+ action: STATE_SET "default" 0.0;
+ target: "focus_bg";
+ transition: DECELERATE 0.2;
+ }
+ program { name: "go_reorder_disabled";
+ signal: "elm,state,reorder,disabled";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "reorder_bg";
+ target: "focus_bg";
+ transition: ACCELERATE 0.3;
+ }
+ program { name: "go_reorder_enabled";
+ signal: "elm,state,reorder,enabled";
+ source: "elm";
+ action: STATE_SET "enabled" 0.0;
+ target: "reorder_bg";
+ target: "focus_bg";
+ transition: DECELERATE 0.3;
+ }
+ program { name:"go_down";
+ signal: "mouse,down,1";
+ source: "reorder_bg";
+ action: STATE_SET "enabled" 0.0;
+ target: "focus_bg";
+ transition: ACCELERATE 0.2;
+ }
+ }
+ }
+
+group { name: "elm/gengrid/item/music/album_grid/default";
+ inherit: "elm/gengrid/item/music/default_grid/default";
+ data.item: "texts" "elm.text elm.text.2";
+ data.item: "contents" "elm.swallow.icon elm.swallow.block elm.swallow.end";
+ parts {
+ part { name: "left_top_padding";
+ description { state: "default" 0.0;
+ min: 16 0;
+ }
+ }
+ part { name: "right_bottom_padding";
+ description { state: "default" 0.0;
+ min: 0 97;
+ }
+ }
+
+ part { name: "padding_center";
+ type: SPACER;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; to_x: "elm.swallow.icon"; to_y: "right_bottom_padding"; }
+ rel2 { relative: 1.0 0.0; to_x: "elm.swallow.icon"; to_y: "right_bottom_padding"; }
+ min: 0 10;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+
+ part { name: "main_text_area";
+ type: SPACER;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 1.0; to: "padding_center"; }
+ rel2 { relative: 1.0 1.0; to: "padding_center"; }
+ min: 0 34;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+ part { name: "sub_text_area";
+ type: SPACER;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 1.0; to: "main_text_area"; }
+ rel2 { relative: 1.0 1.0; to: "main_text_area"; }
+ min: 0 28;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+
+ part { name: "elm.text";
+ type: TEXT;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.to: "main_text_area";
+ rel2.to: "main_text_area";
+ text {
+ font: "Tizen:style=Regular";
+ size: 28;
+ align: 0.0 0.5;
+ }
+ color: 48 48 48 255;
+ }
+ }
+ part { name: "elm.text.2";
+ type: TEXT;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.to: "sub_text_area";
+ rel2.to: "sub_text_area";
+ text {
+ font: "Tizen:style=Bold";
+ size: 25;
+ align: 0.0 0.5;
+ }
+ color: 100 100 100 255;
+ }
+ }
+ part { name: "elm.swallow.block";
+ type: SWALLOW;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.to : "elm.text";
+ rel2.to : "elm.text.2";
+ }
+ }
+ part { name: "item_bg_left_top_padding";
+ description { state: "default" 0.0;
+ min: 0 0;
+ }
+ }
+ part { name: "item_bg_right_bottom_padding";
+ description { state: "default" 0.0;
+ min: 0 0;
+ }
+ }
+ part { name: "item_real_bg_left_top_padding";
+ description { state: "default" 0.0;
+ min: 0 0;
+ }
+ }
+ part { name: "item_real_bg_right_bottom_padding";
+ description { state: "default" 0.0;
+ min: 0 0;
+ }
+ }
+ part { name: "focus_bg";
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; to: "elm.swallow.icon"; }
+ rel2 { relative: 1.0 1.0; to: "elm.swallow.icon"; }
+ }
+ description { state: "enabled" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ }
+ }
+
+group { name: "elm/gengrid/item/music/album_grid2/default";
+ inherit: "elm/gengrid/item/music/default_grid/default";
+ data.item: "texts" "elm.text elm.text.2";
+ data.item: "contents" "elm.swallow.icon elm.swallow.block elm.swallow.end";
+
+ images {
+ image : "00_focus_01.png" COMP;
+ }
+
+ parts {
+ part { name: "left_top_padding";
+ description { state: "default" 0.0;
+ min: 5 12;
+ }
+ }
+ part { name: "right_bottom_padding";
+ description { state: "default" 0.0;
+ min: 6 85;
+ }
+ }
+
+ part { name: "padding_center";
+ type: SPACER;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 1.0; to: "elm.swallow.icon";}
+ rel2 { relative: 1.0 1.0; to: "elm.swallow.icon";}
+ min: 0 10;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+
+ part { name: "main_text_area";
+ type: SPACER;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 1.0; to: "padding_center"; }
+ rel2 { relative: 1.0 1.0; to: "padding_center"; }
+ min: 0 34;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+ part { name: "sub_text_area";
+ type: SPACER;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 1.0; to: "main_text_area"; }
+ rel2 { relative: 1.0 1.0; to: "main_text_area"; }
+ min: 0 28;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+
+ part { name: "elm.text";
+ type: TEXT;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.to: "main_text_area";
+ rel2.to: "main_text_area";
+ text {
+ size: 24;
+ align: 0.0 0.5;
+ }
+ color: 21 108 148 255;
+ }
+ }
+ part { name: "elm.text.2";
+ type: TEXT;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.to: "sub_text_area";
+ rel2.to: "sub_text_area";
+ text {
+ size: 28;
+ align: 0.0 0.5;
+ }
+ color: 0 0 0 255;
+ }
+ }
+ part { name: "elm.swallow.block";
+ type: SWALLOW;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.to : "elm.text";
+ rel2.to : "elm.text.2";
+ }
+ }
+ part { name: "item_bg_left_top_padding";
+ description { state: "default" 0.0;
+ min: 0 0;
+ }
+ }
+ part { name: "item_bg_right_bottom_padding";
+ description { state: "default" 0.0;
+ min: 0 0;
+ }
+ }
+ part { name: "item_real_bg_left_top_padding";
+ description { state: "default" 0.0;
+ min: 0 0;
+ }
+ }
+ part { name: "item_real_bg_right_bottom_padding";
+ description { state: "default" 0.0;
+ min: 0 0;
+ }
+ }
+
+ part { name: "focus_bg_left_top_padding";
+ type: SPACER;
+ scale : 1;
+ description { state: "default" 0.0;
+ min: GENGRID_DEFAULT_LEFT_TOP_FOCUS_PADDING_INC;
+ align: 0.0 0.0;
+ fixed: 1 1;
+ rel1.to: "bg";
+ rel2 {
+ relative: 0.0 0.0;
+ to: "bg";
+ }
+ }
+ }
+ part { name: "focus_bg_right_bottom_padding";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: GENGRID_DEFAULT_RIGHT_BOTTOM_FOCUS_PADDING_INC;
+ align: 1.0 1.0;
+ fixed: 1 1;
+ rel1 {
+ relative: 1.0 1.0;
+ to: "bg";
+ }
+ rel2.to: "bg";
+ }
+ }
+ part { name: "focus_bg";
+ type: IMAGE;
+ description { state: "default" 0.0;
+ visible: 0;
+ rel1 {
+ relative: 1.0 1.0;
+ to: "focus_bg_left_top_padding";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to: "focus_bg_right_bottom_padding";
+ }
+ image.normal: "00_focus_01.png";
+ image.border: FOCUS_BORDER;
+ }
+ description { state: "enabled" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ }
+ programs {
+ program { name: "focus_in";
+ signal: "elm,action,focus_highlight,show";
+ source: "elm";
+ action: STATE_SET "enabled" 0.0;
+ target: "focus_bg";
+ }
+ program { name: "focus_out";
+ signal: "elm,action,focus_highlight,hide";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "focus_bg";
+ }
+ }
+ }
+
+group { name: "elm/gengrid/item/music/artist_grid/default";
+ inherit: "elm/gengrid/item/music/default_grid/default";
+ data.item: "texts" "elm.text elm.text.2";
+ data.item: "contents" "elm.swallow.icon elm.swallow.block elm.swallow.end";
+
+ images {
+ image : "00_focus_01.png" COMP;
+ }
+
+ parts {
+ part { name: "left_top_padding";
+ description { state: "default" 0.0;
+ min: 7 10;
+ }
+ }
+ part { name: "right_bottom_padding";
+ description { state: "default" 0.0;
+ min: 6 54;
+ }
+ }
+
+ part { name: "padding_center";
+ type: SPACER;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; to_x: "elm.swallow.icon"; to_y: "right_bottom_padding"; }
+ rel2 { relative: 1.0 0.0; to_x: "elm.swallow.icon"; to_y: "right_bottom_padding"; }
+ min: 0 10;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+
+ part { name: "main_text_area";
+ type: SPACER;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 1.0; to: "padding_center"; }
+ rel2 { relative: 1.0 1.0; to: "padding_center"; }
+ min: 0 30;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+
+ part { name: "elm.text";
+ type: TEXT;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.to: "main_text_area";
+ rel2.to: "main_text_area";
+ text {
+ size: 25;
+ align: 0.0 0.5;
+ }
+ color: 120 120 120 255;
+ }
+ }
+ part { name: "elm.swallow.block";
+ type: SWALLOW;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.to : "elm.text";
+ rel2.to : "elm.text";
+ }
+ }
+ part { name: "item_bg_left_top_padding";
+ description { state: "default" 0.0;
+ min: 0 0;
+ }
+ }
+ part { name: "item_bg_right_bottom_padding";
+ description { state: "default" 0.0;
+ min: 0 0;
+ }
+ }
+ part { name: "item_real_bg_left_top_padding";
+ description { state: "default" 0.0;
+ min: 0 0;
+ }
+ }
+ part { name: "item_real_bg_right_bottom_padding";
+ description { state: "default" 0.0;
+ min: 0 0;
+ }
+ }
+ part { name: "focus_bg_left_top_padding";
+ type: SPACER;
+ scale : 1;
+ description { state: "default" 0.0;
+ min: GENGRID_DEFAULT_LEFT_TOP_FOCUS_PADDING_INC;
+ align: 0.0 0.0;
+ fixed: 1 1;
+ rel1.to: "bg";
+ rel2 {
+ relative: 0.0 0.0;
+ to: "bg";
+ }
+ }
+ }
+ part { name: "focus_bg_right_bottom_padding";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: GENGRID_DEFAULT_RIGHT_BOTTOM_FOCUS_PADDING_INC;
+ align: 1.0 1.0;
+ fixed: 1 1;
+ rel1 {
+ relative: 1.0 1.0;
+ to: "bg";
+ }
+ rel2.to: "bg";
+ }
+ }
+ part { name: "focus_bg";
+ type: IMAGE;
+ description { state: "default" 0.0;
+ visible: 0;
+ rel1 {
+ relative: 1.0 1.0;
+ to: "focus_bg_left_top_padding";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to: "focus_bg_right_bottom_padding";
+ }
+ image.normal: "00_focus_01.png";
+ image.border: FOCUS_BORDER;
+ }
+ description { state: "enabled" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ }
+ programs {
+ program { name: "focus_in";
+ signal: "elm,action,focus_highlight,show";
+ source: "elm";
+ action: STATE_SET "enabled" 0.0;
+ target: "focus_bg";
+ }
+ program { name: "focus_out";
+ signal: "elm,action,focus_highlight,hide";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "focus_bg";
+ }
+ }
+ }
+
+group { name: "elm/gengrid/item/music/landscape/album_grid/default";
+ inherit: "elm/gengrid/item/music/default_grid/default";
+ data.item: "texts" "elm.text elm.text.2";
+ data.item: "contents" "elm.swallow.icon elm.swallow.block elm.swallow.end";
+ images {
+ image : "00_focus_01.png" COMP;
+ }
+ parts {
+ part { name: "left_top_padding";
+ description { state: "default" 0.0;
+ min: 11 20;
+ }
+ }
+ part { name: "right_bottom_padding";
+ description { state: "default" 0.0;
+ min: 11 70;
+ }
+ }
+
+ part { name: "main_text_area";
+ type: SPACER;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; to_x: "elm.swallow.icon"; to_y: "right_bottom_padding"; }
+ rel2 { relative: 1.0 0.0; to_x: "elm.swallow.icon"; to_y: "right_bottom_padding"; }
+ min: 0 34;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+ part { name: "sub_text_area";
+ type: SPACER;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 1.0; to: "main_text_area"; }
+ rel2 { relative: 1.0 1.0; to: "main_text_area"; }
+ min: 0 30;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+
+ part { name: "elm.text";
+ type: TEXT;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.to: "main_text_area";
+ rel2.to: "main_text_area";
+ text {
+ size: 24;
+ align: 0.0 0.5;
+ }
+ color: 21 108 148 255;
+ }
+ }
+ part { name: "elm.text.2";
+ type: TEXT;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.to: "sub_text_area";
+ rel2.to: "sub_text_area";
+ text {
+ size: 28;
+ align: 0.0 0.5;
+ }
+ color: 0 0 0 255;
+ }
+ }
+ part { name: "elm.swallow.block";
+ type: SWALLOW;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.to : "elm.text";
+ rel2.to : "elm.text.2";
+ }
+ }
+ part { name: "item_bg_left_top_padding";
+ description { state: "default" 0.0;
+ min: 0 0;
+ }
+ }
+ part { name: "item_bg_right_bottom_padding";
+ description { state: "default" 0.0;
+ min: 0 0;
+ }
+ }
+ part { name: "item_real_bg_left_top_padding";
+ description { state: "default" 0.0;
+ min: 0 0;
+ }
+ }
+ part { name: "item_real_bg_right_bottom_padding";
+ description { state: "default" 0.0;
+ min: 0 0;
+ }
+ }
+ part { name: "focus_bg_left_top_padding";
+ type: SPACER;
+ scale : 1;
+ description { state: "default" 0.0;
+ min: GENGRID_DEFAULT_LEFT_TOP_FOCUS_PADDING_INC;
+ align: 0.0 0.0;
+ fixed: 1 1;
+ rel1.to: "bg";
+ rel2 {
+ relative: 0.0 0.0;
+ to: "bg";
+ }
+ }
+ }
+ part { name: "focus_bg_right_bottom_padding";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: GENGRID_DEFAULT_RIGHT_BOTTOM_FOCUS_PADDING_INC;
+ align: 1.0 1.0;
+ fixed: 1 1;
+ rel1 {
+ relative: 1.0 1.0;
+ to: "bg";
+ }
+ rel2.to: "bg";
+ }
+ }
+ part { name: "focus_bg";
+ type: IMAGE;
+ description { state: "default" 0.0;
+ visible: 0;
+ rel1 {
+ relative: 1.0 1.0;
+ to: "focus_bg_left_top_padding";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to: "focus_bg_right_bottom_padding";
+ }
+ image.normal: "00_focus_01.png";
+ image.border: FOCUS_BORDER;
+ }
+ description { state: "enabled" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ }
+ programs {
+ program { name: "focus_in";
+ signal: "elm,action,focus_highlight,show";
+ source: "elm";
+ action: STATE_SET "enabled" 0.0;
+ target: "focus_bg";
+ }
+ program { name: "focus_out";
+ signal: "elm,action,focus_highlight,hide";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "focus_bg";
+ }
+ }
+ }
+
+
+ #define GENGRID_ITEM_SELECT_VI_EFFECT \
+ } \
+ description { state: "pressed" 0.0; \
+ inherit: "default" 0.0; \
+ map { \
+ on: 1; \
+ perspective: "persp1"; \
+ smooth: 0; \
+ } \
+ } \
+ description { state: "selected" 0.0; \
+ inherit: "default" 0.0; \
+ map { \
+ on: 1; \
+ perspective: "persp"; \
+ smooth: 1; \
+ }
+
+ #define GENGRID_PROGRAM_ITEM_SELECT_VI_EFFECT( TARGET ) \
+ program { name: "vi_pressed"; \
+ action: STATE_SET "pressed" 0.0; \
+ TARGET \
+ after: "vi_zoom_in"; \
+ } \
+ program { name: "vi_zoom_in"; \
+ action: STATE_SET "selected" 0.0; \
+ TARGET \
+ transition: SIN_FAC 0.167 1.1; \
+ } \
+ program { name: "vi_zoom_out"; \
+ action: STATE_SET "pressed" 0.0; \
+ TARGET \
+ transition: SIN_FAC 0.167 1.1; \
+ after: "vi_default"; \
+ } \
+ program { name: "vi_default"; \
+ action: STATE_SET "default" 0.0; \
+ TARGET \
+ }
+
+#define GENGRID_PROGRAM_DEFAULT( TARGET ) \
+ program { name: "default"; \
+ signal: "elm,state,default"; \
+ source: "elm"; \
+ action: STATE_SET "default" 0.0; \
+ target: "focus_bg"; \
+ TARGET \
+ } \
+
+
+group { name: "elm/gengrid/item/music/setting_effect/default";
+ data.item: "contents" "elm.swallow.icon elm.swallow.icon1 elm.swallow.end elm.swallow.video";
+ data.item: "focus_highlight" "on";
+ images {
+ image : "00_focus_01.png" COMP;
+ image : "00_sub_depth_thumbs_bg.png" COMP;
+ }
+ script {
+ public selected = 0;
+ }
+ parts {
+ part { name: "select_clip";
+ type: RECT;
+ description { state: "default" 0.0;
+ visible: 0;
+ }
+ description { state: "selected" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "persp";
+ type: RECT;
+ description { state: "default" 0.0;
+ min: 32 32;
+ max: 32 32;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ color: 0 0 0 0;
+ visible: 1;
+ perspective {
+ zplane: -70;
+ focal: 1000;
+ }
+ }
+ }
+ part { name: "persp1";
+ type: RECT;
+ description { state: "default" 0.0;
+ min: 32 32;
+ max: 32 32;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ color: 0 0 0 0;
+ visible: 1;
+ perspective {
+ zplane: 0;
+ focal: 1000;
+ }
+ }
+ }
+ part { name: "bg";
+ type: RECT;
+ description { state: "default" 0.0;
+ color: GENGRID_PART_BACKGROUND_COLOR_INC;
+ }
+ }
+ part { name: "left_top_padding";
+ type: SPACER;
+ scale : 1;
+ description { state: "default" 0.0;
+ min: 5 5;
+ align: 0.0 0.0;
+ fixed: 1 1;
+ rel1.to: "bg";
+ rel2 {
+ relative: 0.0 0.0;
+ to: "bg";
+ }
+ }
+ }
+ part { name: "right_bottom_padding";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 5 5;
+ align: 1.0 1.0;
+ fixed: 1 1;
+ rel1 {
+ relative: 1.0 1.0;
+ to: "bg";
+ }
+ rel2.to: "bg";
+ }
+ }
+ part { name: "item_bg";
+ type: IMAGE;
+ description { state: "default" 0.0;
+ visible: 0;
+ rel1 {
+ relative: 1.0 1.0;
+ to: "left_top_padding";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to: "right_bottom_padding";
+ }
+ image.normal: "00_sub_depth_thumbs_bg.png";
+ image.border: 13 12 12 13;
+ }
+ }
+ part { name: "item_bg_left_top_padding";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 0;
+ align: 0.0 0.0;
+ fixed: 1 0;
+ rel1.to: "item_bg";
+ rel2 {
+ relative: 0.0 0.0;
+ to: "item_bg";
+ }
+ }
+ }
+ part { name: "item_bg_right_bottom_padding";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 0;
+ align: 1.0 1.0;
+ fixed: 1 1;
+ rel1 {
+ relative: 1.0 1.0;
+ to: "item_bg";
+ }
+ rel2.to: "item_bg";
+ }
+ }
+ part { name: "item_real_bg";
+ type: RECT;
+ description { state: "default" 0.0;
+ visible: 0;
+ rel1 {
+ relative: 1.0 1.0;
+ to: "item_bg_left_top_padding";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to: "item_bg_right_bottom_padding";
+ }
+ }
+ }
+ part { name: "item_real_bg_left_top_padding";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: GENGRID_DEFAULT_ITEM_REAL_BG_RIGHT_PADDING_INC;
+ align: 0.0 0.0;
+ fixed: 1 1;
+ rel1.to: "item_real_bg";
+ rel2 {
+ relative: 0.0 0.0;
+ to: "item_real_bg";
+ }
+ }
+ }
+ part { name: "item_real_bg_right_bottom_padding";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 0;
+ align: 1.0 1.0;
+ fixed: 1 1;
+ rel1 {
+ relative: 1.0 1.0;
+ to: "item_real_bg";
+ }
+ rel2.to: "item_real_bg";
+ }
+ }
+ part { name: "elm.swallow.icon";
+ type: SWALLOW;
+ description { state: "default" 0.0;
+ rel1 {
+ relative: 1.0 1.0;
+ to: "item_real_bg_left_top_padding";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to: "item_real_bg_right_bottom_padding";
+ }
+ }
+ }
+ part { name: "video_text_bg";
+ type: SPACER;
+ description { state: "default" 0.0;
+ rel1 {
+ relative: 0.0 1.0;
+ to: "item_real_bg";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to: "item_real_bg";
+ }
+ }
+ }
+ part { name: "elm.video_text.padding.left";
+ scale: 1;
+ type: SPACER;
+ description { state: "default" 0.0;
+ rel1 {
+ relative: 0 0;
+ to: "video_text_bg";
+ }
+ rel2 {
+ relative: 0 1;
+ to: "video_text_bg";
+ }
+ }
+ }
+ part { name: "elm.swallow.video";
+ type: SWALLOW;
+ description { state: "default" 0.0;
+ rel1.to: "elm.swallow.icon";
+ rel2.to: "elm.swallow.icon";
+ }
+ }
+ part { name: "elm.swallow.end";
+ type: SWALLOW;
+ description { state: "default" 0.0;
+ rel1.to: "elm.swallow.icon";
+ rel2.to: "elm.swallow.icon";
+ }
+ }
+ part { name: "reorder_bg";
+ type: RECT;
+ repeat_events: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.to: "item_bg";
+ rel2.to: "item_bg";
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "focus_bg";
+ type: IMAGE;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ visible: 0;
+ rel1 {
+ relative: 0.0 0.0;
+ to: "elm.swallow.icon";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to: "elm.swallow.icon";
+ }
+ image.normal: "00_focus_01.png";
+ image.border: 8 8 8 8;
+ }
+ description { state: "enabled" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ }
+ programs {
+ program { name: "selected";
+ signal: "elm,state,selected";
+ source: "elm";
+ script {
+ if (!get_int(selected)) {
+ set_int(selected, 1);
+ }
+ }
+ }
+ program { name: "unselected";
+ signal: "elm,state,unselected";
+ source: "elm";
+ script {
+ if (get_int(selected)) {
+ set_int(selected, 0);
+ }
+ }
+ }
+ GENGRID_PROGRAM_ITEM_SELECT_VI_EFFECT(
+ target: "item_bg";
+ target: "item_real_bg";
+ target: "elm.swallow.icon";
+ target: "elm.swallow.end";
+ )
+ program { name: "touch_snd";
+ signal: "mouse,clicked,1";
+ source: "item_bg";
+ script {
+ new st[31];
+ new Float:vl;
+ get_state(PART:"item_bg", st, 30, vl);
+ if (!strcmp(st, "selected") ||
+ !strcmp(st, "pressed"))
+ play_sample("touch_sound", 1.0);
+ }
+ }
+ program { name: "action_focus";
+ signal: "elm,action,focus_highlight,show";
+ source: "elm";
+ action: STATE_SET "enabled" 0.0;
+ target: "focus_bg";
+ }
+ program { name: "action_unfocus";
+ signal: "elm,action,focus_highlight,hide";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "focus_bg";
+ }
+ GENGRID_PROGRAM_DEFAULT(
+ target: "item_bg";
+ target: "item_real_bg";
+ target: "elm.swallow.icon";
+ target: "elm.swallow.end";
+ )
+ }
+}
+
+#define MS_SOUNDALIVE_GENGRID_FOUCS "soundalive/T02_soundalive_square_focus.png"
+#define MS_SOUNDALIVE_GENGRID_BG "soundalive/T02_soundalive_square.png"
+#define MS_SOUNDALIVE_GENGRID_BG_PRESSED "soundalive/T02_soundalive_square_press.png"
+
+#define MS_GENGRID_DEFAULT_PADDING 1 1
+
+ group { name: "elm/gengrid/item/soundalive/gengrid/default";
+ data.item: "texts" "elm.text";
+ data.item: "contents" "elm.swallow.icon elm.swallow.block elm.swallow.end";
+ script {
+ public selected = 0;
+ }
+ images {
+ image : MS_SOUNDALIVE_GENGRID_FOUCS COMP;
+ image : MS_SOUNDALIVE_GENGRID_BG COMP;
+ image : MS_SOUNDALIVE_GENGRID_BG_PRESSED COMP;
+ }
+ parts {
+ part { name: "bg";
+ type: RECT;
+ description { state: "default" 0.0;
+ color: GENGRID_PART_BACKGROUND_COLOR_INC;
+ }
+ }
+ part { name: "item_bg";
+ type: RECT;
+ description { state: "default" 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ to: "bg";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to: "bg";
+ }
+ visible: 0;
+ }
+ }
+ part { name: "item_bg_left_top_padding";
+ type: RECT;
+ scale : 1;
+ description { state: "default" 0.0;
+ min: GENGRID_DEFAULT_ITEM_BG_LEFT_TOP_PADDING_INC;
+ align: 0.0 0.0;
+ visible: 0;
+ fixed: 1 1;
+ rel1.to: "item_bg";
+ rel2 {
+ relative: 0.0 0.0;
+ to: "item_bg";
+ }
+ }
+ }
+ part { name: "item_bg_right_bottom_padding";
+ type: RECT;
+ scale : 1;
+ description { state: "default" 0.0;
+ min: GENGRID_DEFAULT_ITEM_BG_RIGHT_BOTTOM_PADDING_INC;
+ align: 1.0 1.0;
+ visible: 0;
+ fixed: 1 1;
+ rel1 {
+ relative: 1.0 1.0;
+ to: "item_bg";
+ }
+ rel2.to: "item_bg";
+ }
+ }
+ part { name: "item_real_bg";
+ description { state: "default" 0.0;
+ visible: 0;
+ rel1 {
+ relative: 1.0 1.0;
+ to: "item_bg_left_top_padding";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to: "item_bg_right_bottom_padding";
+ }
+ }
+ }
+ part { name: "item_real_bg_left_top_padding";
+ type: RECT;
+ scale : 1;
+ description { state: "default" 0.0;
+ min: GENGRID_DEFAULT_ITEM_REAL_BG_RIGHT_PADDING_INC;
+ align: 0.0 0.0;
+ visible: 0;
+ fixed: 1 1;
+ rel1.to: "item_real_bg";
+ rel2 {
+ relative: 0.0 0.0;
+ to: "item_real_bg";
+ }
+ }
+ }
+ part { name: "item_real_bg_right_bottom_padding";
+ type: RECT;
+ scale : 1;
+ description { state: "default" 0.0;
+ min: GENGRID_DEFAULT_ITEM_REAL_BG_RIGHT_PADDING_INC;
+ align: 1.0 1.0;
+ fixed: 1 1;
+ visible: 0;
+ rel1 {
+ relative: 1.0 1.0;
+ to: "item_real_bg";
+ }
+ rel2.to: "item_real_bg";
+ }
+ }
+ part { name: "elm.swallow.icon";
+ type: SWALLOW;
+ description { state: "default" 0.0;
+ rel1 {
+ relative: 1.0 1.0;
+ to: "item_real_bg_left_top_padding";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to: "item_real_bg_right_bottom_padding";
+ }
+ }
+ }
+ part { name: "elm.swallow.end";
+ type: SWALLOW;
+ description { state: "default" 0.0;
+ rel1 {
+ relative: 1.0 0.0;
+ to: "elm.swallow.icon";
+ offset: -75 0;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to: "elm.swallow.icon";
+ }
+ }
+ }
+ part { name: "elm.item.bg";
+ type: IMAGE;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ fixed: 1 1;
+ rel1 {
+ relative: 1.0 1.0;
+ to: "focus_bg_left_top_padding";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to: "focus_bg_right_bottom_padding";
+ }
+ image.normal: MS_SOUNDALIVE_GENGRID_BG;
+ }
+ description { state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ image.normal: MS_SOUNDALIVE_GENGRID_BG_PRESSED;
+ }
+ }
+ part { name: "elm.text";
+ type: TEXT;
+ repeat_events: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ min: 0 40;
+ fixed: 0 1;
+ color: 255 255 255 255;
+ text {
+ size: 26;
+ min: 0 1;
+ align: 0.5 0.5;
+ text: "";
+ }
+ rel1 { relative: 0.0 0.0; to: "elm.swallow.icon"; }
+ rel2 { relative: 1.0 1.0; to: "elm.swallow.icon"; }
+ }
+ }
+ part { name: "reorder_bg";
+ type: RECT;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ color: GENGRID_PART_BG_COLOR_INC;
+ rel1.to: "item_bg";
+ rel2.to: "item_bg";
+ }
+ description { state: "enabled" 0.0;
+ inherit: "default" 0.0;
+ color: GENGRID_PART_REORDER_DEFAULT_BG_COLOR_INC;
+ }
+ }
+ part { name: "focus_bg_left_top_padding";
+ type: RECT;
+ scale : 1;
+ description { state: "default" 0.0;
+ min: 1 1;
+ align: 0.0 0.0;
+ visible: 0;
+ fixed: 1 1;
+ rel1.to: "bg";
+ rel2 {
+ relative: 0.0 0.0;
+ to: "bg";
+ }
+ }
+ }
+ part { name: "focus_bg_right_bottom_padding";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 1 1;
+ align: 1.0 1.0;
+ visible: 0;
+ fixed: 1 1;
+ rel1 {
+ relative: 1.0 1.0;
+ to: "bg";
+ }
+ rel2.to: "bg";
+ }
+ }
+ part { name: "focus_bg";
+ type: IMAGE;
+ description { state: "default" 0.0;
+ visible: 0;
+ rel1 {
+ relative: 1.0 1.0;
+ to: "focus_bg_left_top_padding";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to: "focus_bg_right_bottom_padding";
+ }
+ image.normal: MS_SOUNDALIVE_GENGRID_FOUCS;
+ image.border: 6 6 6 6;
+ }
+ description { state: "enabled" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ }
+ programs {
+ program { name: "selected";
+ signal: "elm,state,selected";
+ source: "elm";
+ script {
+ if (!get_int(selected)) {
+ set_int(selected, 1);
+ //set_state(PART:"elm.item.bg", "pressed", 0.0);
+ }
+ }
+ }
+ program { name: "unselected";
+ signal: "elm,state,unselected";
+ source: "elm";
+ script {
+ if (get_int(selected)) {
+ set_int(selected, 0);
+ //set_state(PART:"elm.item.bg", "default", 0.0);
+ }
+ }
+ }
+ program { name: "item_selected";
+ signal: "item_selected";
+ source: "elm.item.bg";
+ action: STATE_SET "pressed" 0.0;
+ target: "elm.item.bg";
+ transition: ACCELERATE 0.2;
+ }
+ program { name: "item_unselected";
+ signal: "item_unselected";
+ source: "elm.item.bg";
+ action: STATE_SET "default" 0.0;
+ target: "elm.item.bg";
+ transition: ACCELERATE 0.2;
+ }
+ program { name: "go_mouse_down";
+ signal: "mouse,down,1";
+ source: "reorder_bg";
+ action: PLAY_SAMPLE "button-pressed" 1.0;
+ after:"go_down";
+ transition: ACCELERATE 0.2;
+ }
+ program { name: "go_mouse_up";
+ signal: "mouse,up,1";
+ source: "reorder_bg";
+ action: STATE_SET "default" 0.0;
+ target: "focus_bg";
+ transition: DECELERATE 0.2;
+ }
+ program { name: "go_reorder_disabled";
+ signal: "elm,state,reorder,disabled";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "reorder_bg";
+ target: "focus_bg";
+ transition: ACCELERATE 0.3;
+ }
+ program { name: "go_reorder_enabled";
+ signal: "elm,state,reorder,enabled";
+ source: "elm";
+ action: STATE_SET "enabled" 0.0;
+ target: "reorder_bg";
+ target: "focus_bg";
+ transition: DECELERATE 0.3;
+ }
+ program { name:"go_down";
+ signal: "mouse,down,1";
+ source: "reorder_bg";
+ action: STATE_SET "enabled" 0.0;
+ target: "focus_bg";
+ transition: ACCELERATE 0.2;
+ }
+ }
+}
+
+
+
+group { name: "elm/gengrid/item/music/cast_side/default";
+ data.item: "contents" "albumart";
+ data.item: "texts" "elm.text.1 elm.text.2 elm.text.3";
+ images {
+ image : GENGRID_ALBUM_THUMNAIL_BG COMP;
+ }
+ parts{
+ part{
+ name: "bg";
+ type: RECT;
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ color: 0 0 0 0;
+ visible: 0;
+ }
+ }
+ /* album bg */
+ part {
+ name: "player_bg";
+ type: IMAGE;
+ mouse_events: 1;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0.5 0.0;
+ visible:0;
+ min: 298 352;
+ max: 298 352;
+ image { normal: GENGRID_ALBUM_THUMNAIL_BG; }
+ fixed: 1 1;
+ rel1 {
+ relative:0.0 0.0;
+ }
+ rel2 {
+ relative: 1.0 0.0;
+ }
+ }
+ }
+ part{
+ name: "albumart";
+ type: SWALLOW;
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ min: 275 275;
+ max: 275 275;
+ fixed: 1 1;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 0.0; }
+ align: 0.5 0.0;
+ }
+ }
+ part { name: "elm.text.1";
+ type: TEXT;
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 1.0; to: "albumart";offset:0 20;}
+ rel2 { relative: 1.0 1.0; to: "albumart";offset:0 20;}
+ fixed: 1 1;
+ min: 270 32;
+ align: 0.5 0.0;
+ color: 255 255 255 255;
+ text {
+ align: 0.5 0.5;
+ min: 0 0;
+ font: "Tizen:style=Regular";
+ size: 26;
+ }
+ }
+ }
+ part { name: "elm.text.2";
+ type: TEXT;
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 1.0; to: "elm.text.1";}
+ rel2 { relative: 1.0 1.0; to: "elm.text.1";}
+ fixed: 1 1;
+ min: 270 24;
+ align: 0.5 0.0;
+ color: 255 255 255 255;
+ text {
+ align: 0.5 0.5;
+ font: "Tizen:style=Bold";
+ size: 18;
+ text:"";
+ }
+ }
+ }
+ part { name: "elm.text.3";
+ type: TEXT;
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 1.0; to: "elm.text.2";}
+ rel2 { relative: 1.0 1.0; to: "elm.text.2";}
+ fixed: 1 1;
+ min: 270 24;
+ align: 0.5 0.0;
+ color: 255 255 255 255;
+ text {
+ align: 0.5 0.5;
+ font: "Tizen:style=Bold";
+ size: 18;
+ text:"";
+ }
+ }
+ }
+ }
+ }
+
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include "mp_genlist_macro.edc"
+#include "mp_genlist_define.edc"
+
+
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include "../../inc/mp-images.h"
+
+#define RESOURCE_IMAGE( FILE_NAME ) \
+ group { \
+ name: FILE_NAME; \
+ images.image: FILE_NAME COMP; \
+ parts { \
+ part { name: "image"; \
+ description { \
+ state: "default" 0.0; \
+ image.normal: FILE_NAME; \
+ aspect: 1 1; \
+ aspect_preference: BOTH; \
+ } \
+ } \
+ } \
+ }
+
+#define RESOURCE_IMAGE_RECT( FILE_NAME ) \
+ group { \
+ name: FILE_NAME; \
+ images.image: FILE_NAME COMP; \
+ parts { \
+ part { name: "image"; \
+ description { \
+ state: "default" 0.0; \
+ image.normal: FILE_NAME; \
+ } \
+ } \
+ } \
+ }
+
+#define RESOURCE_IMAGE_LOSSY( FILE_NAME ) \
+ group { \
+ name: FILE_NAME; \
+ images.image: FILE_NAME LOSSY 85; \
+ parts { \
+ part { name: "image"; \
+ description { \
+ state: "default" 0.0; \
+ image.normal: FILE_NAME; \
+ aspect: 1 1; \
+ aspect_preference: BOTH; \
+ } \
+ } \
+ } \
+ }
+
+
+collections {
+base_scale: 2.4;
+RESOURCE_IMAGE(MP_ICON_STORAGE_PHONE);
+RESOURCE_IMAGE(MP_ICON_STORAGE_MEMORY);
+RESOURCE_IMAGE(MP_ICON_STORAGE_EXTERNAL);
+RESOURCE_IMAGE(MP_ICON_VOLUME_MIN);
+RESOURCE_IMAGE(MP_ICON_VOLUME_MAX);
+RESOURCE_IMAGE(MP_ICON_HEADSET_PATH);
+RESOURCE_IMAGE(MP_ICON_SPEAKER_PATH);
+RESOURCE_IMAGE(MP_ICON_MINI_PLAYER);
+RESOURCE_IMAGE(MP_ICON_PLAY_LIST_PATH);
+RESOURCE_IMAGE(MP_ICON_BT_HEADSET_PATH);
+RESOURCE_IMAGE(MP_ICON_SELECT_ALL);
+RESOURCE_IMAGE(MP_ICON_SEARCH);
+RESOURCE_IMAGE(MP_ICON_PLUS);
+RESOURCE_IMAGE(MP_ICON_BACK);
+RESOURCE_IMAGE(MP_ICON_APP_MUSIC);
+RESOURCE_IMAGE(MP_PLAYER_MORE_BTN_SAVE_PLAYLIST);
+RESOURCE_IMAGE(MP_PLAYER_MORE_BTN_SET_REORDER);
+RESOURCE_IMAGE(MP_PLAYER_MORE_BTN_INFOMATION);
+RESOURCE_IMAGE(MP_ICON_LOCK);
+RESOURCE_IMAGE(MP_ICON_SHUFFLE);
+RESOURCE_IMAGE(MP_ICON_SHUFFLE_PRESS);
+RESOURCE_IMAGE_RECT(MP_ICON_PAGE_INDEX_ON);
+RESOURCE_IMAGE_RECT(MP_ICON_PAGE_INDEX_OFF);
+RESOURCE_IMAGE_LOSSY(MP_ICON_RECENTLY_ADDED);
+RESOURCE_IMAGE_LOSSY(MP_ICON_STARRED_SONGS);
+RESOURCE_IMAGE_LOSSY(MP_ICON_MOST_PLAYED);
+RESOURCE_IMAGE_RECT(MP_PLAYER_MORE_BTN_ADD);
+RESOURCE_IMAGE_RECT(MP_PLAYER_MORE_BTN_ADD_TO_HOME);
+RESOURCE_IMAGE_RECT(MP_PLAYER_MORE_BTN_CHANGE_AXIS);
+RESOURCE_IMAGE_RECT(MP_PLAYER_MORE_BTN_CONN_INFO);
+RESOURCE_IMAGE_RECT(MP_PLAYER_MORE_BTN_DEVICES);
+RESOURCE_IMAGE_RECT(MP_PLAYER_MORE_BTN_DOWNLOAD);
+RESOURCE_IMAGE_RECT(MP_PLAYER_MORE_BTN_DELETE_IMAGE);
+RESOURCE_IMAGE_RECT(MP_PLAYER_MORE_BTN_RENAME_IMAGE);
+RESOURCE_IMAGE_RECT(MP_PLAYER_MORE_BTN_ADD_TO_PLAYLSIT_IMAGE);
+RESOURCE_IMAGE_RECT(MP_PLAYER_MORE_BTN_CREATE_PLAYLIST_IMAGE);
+RESOURCE_IMAGE_RECT(MP_PLAYER_MORE_BTN_DETAIL_IMAGE);
+RESOURCE_IMAGE_RECT(MP_PLAYER_MORE_BTN_MORE_THUMBNAIL_VIEW_IMAGE);
+RESOURCE_IMAGE_RECT(MP_PLAYER_MORE_BTN_MORE_LIST_VIEW_IMAGE);
+RESOURCE_IMAGE_RECT(MP_PLAYER_MORE_BTN_EDIT);
+RESOURCE_IMAGE_RECT(MP_PLAYER_MORE_BTN_FOLDER_VIEW);
+RESOURCE_IMAGE_RECT(MP_PLAYER_MORE_BTN_GO_TO_LIB);
+RESOURCE_IMAGE_RECT(MP_PLAYER_MORE_BTN_HELP);
+RESOURCE_IMAGE_RECT(MP_PLAYER_MORE_BTN_LIB_UPDATE);
+RESOURCE_IMAGE_RECT(MP_PLAYER_MORE_BTN_SQUARE);
+RESOURCE_IMAGE_RECT(MP_PLAYER_MORE_BTN_OPEN_PLAYLIST);
+RESOURCE_IMAGE_RECT(MP_PLAYER_MORE_BTN_PLAYLIST);
+RESOURCE_IMAGE_RECT(MP_PLAYER_MORE_BTN_REFRESH);
+RESOURCE_IMAGE_RECT(MP_PLAYER_MORE_BTN_SEARCH);
+RESOURCE_IMAGE_RECT(MP_PLAYER_MORE_BTN_SET_AS);
+RESOURCE_IMAGE_RECT(MP_PLAYER_MORE_BTN_SETTING);
+RESOURCE_IMAGE_RECT(MP_PLAYER_MORE_BTN_SIGN);
+RESOURCE_IMAGE_RECT(MP_PLAYER_MORE_BTN_SUPPORT);
+RESOURCE_IMAGE_RECT(MP_PLAYER_MORE_BTN_UPDATE);
+RESOURCE_IMAGE_RECT(MP_PLAYER_MORE_BTN_UPLOAD_FROM_DEVICE);
+RESOURCE_IMAGE_RECT(MP_PLAYER_MORE_BTN_VIEW_END);
+RESOURCE_IMAGE_RECT(MP_PLAYER_MORE_BTN_VIEW_AS);
+RESOURCE_IMAGE(MP_ICON_NO_ITEM);
+RESOURCE_IMAGE(MP_MINI_REPEAT_1_ICON);
+RESOURCE_IMAGE(MP_MINI_REPEAT_ONCE_ICON);
+RESOURCE_IMAGE(MP_MINI_REPEAT_ALL_ICON);
+RESOURCE_IMAGE(MP_MINI_SHUFFLE_OFF_ICON);
+RESOURCE_IMAGE(MP_MINI_SHUFFLE_ON_ICON);
+RESOURCE_IMAGE(MP_LITE_PAUSE_ICON);
+RESOURCE_IMAGE(MP_LITE_PLAY_ICON);
+RESOURCE_IMAGE(MP_LITE_SHUFFLE_ICON);
+
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#define TOP_LINE_COLOR 23 160 248 255
+
+#define TITLE_LAYOUT_H 147
+#define INFO_TITLE_REL_Y(y) ((y)/147)
+
+group { name: "info_title_layout";
+
+ images {
+ image: "T02_semantic_log.png" COMP;
+ }
+
+ parts {
+ part { name: "top_line";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 6;
+ fixed: 1 1;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 0.0; }
+ color: TOP_LINE_COLOR;
+ align: 0.5 0.0;
+ }
+ }
+
+ part { name: "pad.right";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 26 0;
+ fixed: 1 1;
+ rel1 { relative: 1.0 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ align: 1.0 0.0;
+ }
+ }
+
+ part { name: "pad.left";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 26 0;
+ fixed: 1 1;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 0.0 1.0; }
+ align: 0.0 0.0;
+ }
+ }
+
+ part { name, "amg_image";
+ type, IMAGE;
+ scale: 1;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ image { normal: "T02_semantic_log.png"; }
+ visible: 1;
+ align: 1.0 1.0;
+ min: 70 26;
+ max: 70 26;
+ rel1 { relative: 0.0 INFO_TITLE_REL_Y(117); to: "pad.right";}
+ rel2 { relative: 0.0 INFO_TITLE_REL_Y(117); to: "pad.right";}
+ }
+ }
+
+ part { name: "text.title";
+ type: TEXT;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 60;
+ fixed: 0 1;
+ align: 0 0;
+ color: 37 37 37 255;
+ rel1 { relative: 1.0 INFO_TITLE_REL_Y(58); to: "pad.left";}
+ rel2 { relative: 0.0 INFO_TITLE_REL_Y(118); to_x: "amg_image";}
+ text {
+ font: "Tizen:style=Bold";
+ size: 52;
+ text: "Media info";
+ min: 0 1;
+ align: 0.0 0.5;
+ }
+ }
+ }
+
+ part { name: "swallow.index";
+ type: SWALLOW;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 1.0 INFO_TITLE_REL_Y(118); to_x: "pad.left";}
+ rel2 { relative: 0.0 INFO_TITLE_REL_Y(129); to_x: "pad.right";}
+ fixed: 1 1;
+ align: 0.0 0.0;
+ }
+ }
+
+ }
+}
+
+group { name: "booklet_detail_layout";
+
+ parts {
+ part { name: "bg";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ color: 248 246 239 255;
+ }
+ }
+ part { name: "swallow.index";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 360;
+ fixed: 0 1;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 0.0; }
+ align: 0.5 0.0;
+ }
+ }
+ part { name: "swallow.content";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.to_y: "swallow.index";
+ rel1.relative: 0.0 1.0;
+ }
+ }
+ }
+}
+
+group { name: "booklet_base_layout";
+
+ parts {
+ part { name: "bg";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ color: 248 246 239 255;
+ }
+ }
+
+ part { name: "swallow.title";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 147;
+ fixed: 1 1;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 0.0; }
+ align: 0.5 0.0;
+ }
+ }
+ part { name: "swallow.content";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.to_y: "swallow.title";
+ rel1.relative: 0.0 1.0;
+ fixed: 1 1;
+ }
+ }
+
+ }
+}
+
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#define MP_LABEL_TITLE_STYLE_COLOR_INC "#808080"
+#define MP_LABEL_SUBTITLE_TEXT_COLOR_INC 128 128 128 255
+#define NAVIFRAME_TITLE_BLACK_FONT_SIZE_INC 50
+#define NAVIFRAME_TITLE_BLACK_STYLE_COLOR_INC "#ffffff"
+#define NAVIFRAME_SUBTITLE_BLACK_STYLE_COLOR_INC "#979797"
+#define SLIDE_SPEED_WEIGHT 0.5
+#define SLIDE_TEXT_GAP 60
+ styles {
+ style { name: "textblock_style";
+ base: "font=Tizen:style=Medium font_size=28 color=#FFFFFF80 align=left";
+ tag: "br" "\n";
+ tag: "ps" "ps";
+ tag: "hilight" "+ font=Tizen:style=Bold";
+ tag: "b" "+ font=Tizen:style=Bold";
+ tag: "tab" "\t";
+ }
+ style { name: "naviframe_title_style";
+ base: "font=Tizen:style=Medium font_size="NAVIFRAME_TITLE_FONT_SIZE_INC" color="NAVIFRAME_TITLE_STYLE_COLOR_INC"";
+ tag: "br" "\n";
+ tag: "ps" "ps";
+ tag: "hilight" "+ font=Tizen:style=Bold";
+ tag: "b" "+ font=Tizen:style=Bold";
+ tag: "tab" "\t";
+ }
+ style { name: "naviframe_maintitle_black_style";
+ base: "font=Tizen:style=Bold font_size="NAVIFRAME_TITLE_BLACK_FONT_SIZE_INC" color="NAVIFRAME_TITLE_BLACK_STYLE_COLOR_INC" align=center";
+ tag: "br" "\n";
+ tag: "ps" "ps";
+ tag: "hilight" "+ font=Tizen:style=Bold";
+ tag: "b" "+ font=Tizen:style=Bold";
+ tag: "tab" "\t";
+ }
+ style { name: "naviframe_maintitle_style";
+ base: "font=Tizen:style=Medium font_size="NAVIFRAME_TITLE_SMALL_FONT_SIZE_INC" color="NAVIFRAME_TITLE_STYLE_COLOR_INC"";
+ tag: "br" "\n";
+ tag: "ps" "ps";
+ tag: "hilight" "+ font=Tizen:style=Bold";
+ tag: "b" "+ font=Tizen:style=Bold";
+ tag: "tab" "\t";
+ }
+ style { name: "naviframe_subtitle_black_style";
+ base: "font=Tizen:style=Medium font_size="NAVIFRAME_SUBTITLE_FONT_SIZE_INC" color="NAVIFRAME_SUBTITLE_BLACK_STYLE_COLOR_INC" align=center";
+ tag: "br" "\n";
+ tag: "ps" "ps";
+ tag: "hilight" "+ font=Tizen:style=Bold";
+ tag: "b" "+ font=Tizen:style=Bold";
+ tag: "tab" "\t";
+ }
+ style { name: "naviframe_subtitle_style";
+ base: "font=Tizen:style=Medium font_size="NAVIFRAME_SUBTITLE_FONT_SIZE_INC" color="MP_LABEL_TITLE_STYLE_COLOR_INC"";
+ tag: "br" "\n";
+ tag: "ps" "ps";
+ tag: "hilight" "+ font=Tizen:style=Bold";
+ tag: "b" "+ font=Tizen:style=Bold";
+ tag: "tab" "\t";
+ }
+ style { name: "naviframe_landscape_title_style";
+ base: "font=Tizen:style=Medium font_size="NAVIFRAME_LANDSCAPE_TITLE_FONT_SIZE_INC" color="NAVIFRAME_TITLE_STYLE_COLOR_INC"";
+ tag: "br" "\n";
+ tag: "ps" "ps";
+ tag: "hilight" "+ font=Tizen:style=Bold";
+ tag: "b" "+ font=Tizen:style=Bold";
+ tag: "tab" "\t";
+ }
+ style { name: "naviframe_landscape_maintitle_black_style";
+ base: "font=Tizen:style=Medium font_size="NAVIFRAME_TITLE_BLACK_FONT_SIZE_INC" color="NAVIFRAME_TITLE_BLACK_STYLE_COLOR_INC" align=center";
+ tag: "br" "\n";
+ tag: "ps" "ps";
+ tag: "hilight" "+ font=Tizen:style=Bold";
+ tag: "b" "+ font=Tizen:style=Bold";
+ tag: "tab" "\t";
+ }
+ style { name: "naviframe_landscape_maintitle_style";
+ base: "font=Tizen:style=Medium font_size="NAVIFRAME_LANDSCAPE_TITLE_SMALL_FONT_SIZE_INC" color="NAVIFRAME_TITLE_STYLE_COLOR_INC"";
+ tag: "br" "\n";
+ tag: "ps" "ps";
+ tag: "hilight" "+ font=Tizen:style=Bold";
+ tag: "b" "+ font=Tizen:style=Bold";
+ tag: "tab" "\t";
+ }
+ style { name: "naviframe_landscape_subtitle_black_style";
+ base: "font=Tizen:style=Medium font_size="NAVIFRAME_LANDSCAPE_SUBTITLE_FONT_SIZE_INC" color="NAVIFRAME_SUBTITLE_BLACK_STYLE_COLOR_INC" align=center";
+ tag: "br" "\n";
+ tag: "ps" "ps";
+ tag: "hilight" "+ font=Tizen:style=Bold";
+ tag: "b" "+ font=Tizen:style=Bold";
+ tag: "tab" "\t";
+ }
+ style { name: "naviframe_landscape_subtitle_style";
+ base: "font=Tizen:style=Medium font_size="NAVIFRAME_LANDSCAPE_SUBTITLE_FONT_SIZE_INC" color="MP_LABEL_TITLE_STYLE_COLOR_INC"";
+ tag: "br" "\n";
+ tag: "ps" "ps";
+ tag: "hilight" "+ font=Tizen:style=Bold";
+ tag: "b" "+ font=Tizen:style=Bold";
+ tag: "tab" "\t";
+ }
+ style { name: "main_title_style";
+ base: "font=Tizen:style=Medium font_size=21 align=left color=#FFFFFF";
+ tag: "ps" "ps";
+ tag: "hilight" "+ font_weight=Bold";
+ tag: "b" "+ font_weight=Bold";
+ tag: "tab" "\t";
+ tag: "match_artist" "+ font_size=16 color=#FFFFFF";
+ tag: "match_album" "+ font_size=16 color=#FFFFFF";
+ }
+ }
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#define THUMBNAIL_SIZE 78
+#define IMAGE_SIZE 68
+#define THUMBNAIL_PADDING 6
+#define THUMBNAIL_AREA_H THUMBNAIL_SIZE
+#define THUMBNAIL_AREA_W 270
+#define THUMBNAIL_INTERVAL -24
+
+#define THUMNAIL_BG_NOARMAL "T02_music_artist_thumbnail02_bg.png"
+#define THUMNAIL_BG_MORE "T02_music_artist_thumbnail_bg_more.png"
+
+styles {
+ style {
+ name: "textblock_style_default";
+ base: "font=Tizen:style=Roman font_size=30 color=#000f align=center wrap=mixed ellipsis=1.0";
+ tag: "br" "\n";
+ tag: "ps" "ps";
+ tag: "hilight" "+ font=Tizen:style=Roman";
+ tag: "b" "+ font=Tizen:style=Roman";
+ tag: "tab" "\t";
+ }
+}
+
+#define MS_BTN_ADD_SHADOW(__name) \
+ part { name: __name"_shadow"; \
+ type: PROXY; \
+ scale: 1; \
+ clip_to: __name"_clipper"; \
+ description { state: "default" 0.0; \
+ source: __name; \
+ rel1 { to: __name; offset: 0 2; } \
+ rel2 { to: __name; offset: 0 2; } \
+ } \
+ description { state: "clicked" 0.0; \
+ inherit: "default" 0.0; \
+ } \
+ description { state: "disabled" 0.0; \
+ inherit: "default" 0.0; \
+ } \
+ } \
+ part { name: __name"_clipper"; \
+ type: RECT; \
+ description { state: "default" 0.0; \
+ color: 255 255 255 230; \
+ } \
+ description { state: "clicked" 0.0; \
+ color: 255 255 255 230; \
+ } \
+ description { state: "disabled" 0.0; \
+ color: 255 255 255 255; \
+ } \
+ }
+
+
+
+group { name: "artist_list_thumbnail_group";
+
+ images {
+ image: THUMNAIL_BG_MORE COMP;
+ }
+
+ parts {
+ part { name: "bg";
+ type: SPACER;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ }
+ }
+ part { name: "first_box_area";
+ type: SPACER;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ align: 0 0.5;
+ rel1 { relative: 1.0 0.0; to: "bg"; offset: -78 0; }
+ rel2 { relative: 1.0 1.0; to: "bg"; }
+ }
+ }
+ part { name: "more";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ visible: 0;
+ }
+ description { state: "show" 0.0;
+ align: 0 0.5;
+ image { normal: THUMNAIL_BG_MORE; }
+ min: THUMBNAIL_SIZE THUMBNAIL_SIZE;
+ max: THUMBNAIL_SIZE THUMBNAIL_SIZE;
+ rel1 { relative: 0.0 0.0; to: "first_box_area"; }
+ rel2 { relative: 1.0 1.0; to: "bg"; }
+ visible: 1;
+ }
+ }
+ part { name: "box_0";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ align: 0 0.5;
+ min: THUMBNAIL_SIZE THUMBNAIL_SIZE;
+ max: THUMBNAIL_SIZE THUMBNAIL_SIZE;
+ fixed: 1 1;
+ rel1 { relative: 0.0 0.0; to: "first_box_area"; }
+ rel2 { relative: 1.0 1.0; to: "bg"; }
+ }
+ description { state: "show" 0.0;
+ align: 0 0.5;
+ min: THUMBNAIL_SIZE THUMBNAIL_SIZE;
+ max: THUMBNAIL_SIZE THUMBNAIL_SIZE;
+ fixed: 1 1;
+ rel1 { relative: 0.0 0.0; to: "more"; offset: THUMBNAIL_INTERVAL 0; }
+ rel2 { relative: 1.0 1.0; to: "more"; }
+ }
+ }
+ part { name: "box_1";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ align: 0 0.5;
+ min: THUMBNAIL_SIZE THUMBNAIL_SIZE;
+ max: THUMBNAIL_SIZE THUMBNAIL_SIZE;
+ fixed: 1 1;
+ rel1 { relative: 0.0 0.0; to: "box_0"; offset: THUMBNAIL_INTERVAL 0; }
+ rel2 { relative: 1.0 1.0; to: "box_0"; }
+ }
+ }
+ part { name: "box_2";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ align: 0 0.5;
+ min: THUMBNAIL_SIZE THUMBNAIL_SIZE;
+ max: THUMBNAIL_SIZE THUMBNAIL_SIZE;
+ fixed: 1 1;
+ rel1 { relative: 0.0 0.0; to: "box_1"; offset: THUMBNAIL_INTERVAL 0; }
+ rel2 { relative: 1.0 1.0; to: "box_1"; }
+ }
+ }
+ part { name: "box_3";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ align: 0 0.5;
+ min: THUMBNAIL_SIZE THUMBNAIL_SIZE;
+ max: THUMBNAIL_SIZE THUMBNAIL_SIZE;
+ fixed: 1 1;
+ rel1 { relative: 0.0 0.0; to: "box_2"; offset: THUMBNAIL_INTERVAL 0; }
+ rel2 { relative: 1.0 1.0; to: "box_2"; }
+ }
+ }
+ part { name: "box_4";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ align: 0 0.5;
+ min: THUMBNAIL_SIZE THUMBNAIL_SIZE;
+ max: THUMBNAIL_SIZE THUMBNAIL_SIZE;
+ fixed: 1 1;
+ rel1 { relative: 0.0 0.0; to: "box_3"; offset: THUMBNAIL_INTERVAL 0; }
+ rel2 { relative: 1.0 1.0; to: "box_3"; }
+ }
+ }
+ part { name: "box_5";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ align: 0 0.5;
+ min: THUMBNAIL_SIZE THUMBNAIL_SIZE;
+ max: THUMBNAIL_SIZE THUMBNAIL_SIZE;
+ fixed: 1 1;
+ rel1 { relative: 0.0 0.0; to: "box_4"; offset: THUMBNAIL_INTERVAL 0; }
+ rel2 { relative: 1.0 1.0; to: "box_4"; }
+ }
+ }
+ part { name: "box_6";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ align: 0 0.5;
+ min: THUMBNAIL_SIZE THUMBNAIL_SIZE;
+ max: THUMBNAIL_SIZE THUMBNAIL_SIZE;
+ fixed: 1 1;
+ rel1 { relative: 0.0 0.0; to: "box_5"; offset: THUMBNAIL_INTERVAL 0; }
+ rel2 { relative: 1.0 1.0; to: "box_5"; }
+ }
+ }
+ part { name: "box_7";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ align: 0 0.5;
+ min: THUMBNAIL_SIZE THUMBNAIL_SIZE;
+ max: THUMBNAIL_SIZE THUMBNAIL_SIZE;
+ fixed: 1 1;
+ rel1 { relative: 0.0 0.0; to: "box_6"; offset: THUMBNAIL_INTERVAL 0; }
+ rel2 { relative: 1.0 1.0; to: "box_6"; }
+ }
+ }
+ }
+ programs {
+ program { signal: "show_more";
+ source: "more";
+ action: STATE_SET "show" 0.0;
+ target: "more";
+ target: "box_0";
+ }
+ program { signal: "hide_more";
+ source: "more";
+ action: STATE_SET "default" 0.0;
+ target: "more";
+ target: "box_0";
+ }
+ }
+}
+
+group { name: "artist_list_thumbnail";
+ images {
+ image: THUMNAIL_BG_NOARMAL COMP;
+ }
+ parts {
+ part { name: "bg";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ visible:1;
+ image { normal: THUMNAIL_BG_NOARMAL; }
+ min: THUMBNAIL_SIZE THUMBNAIL_SIZE;
+ max: THUMBNAIL_SIZE THUMBNAIL_SIZE;
+ }
+ }
+
+ part { name: "image_clip";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ min: IMAGE_SIZE IMAGE_SIZE;
+ max: IMAGE_SIZE IMAGE_SIZE;
+ rel1 { relative: 0.0 0.0; to: "bg"; }
+ rel2 { relative: 1.0 1.0; to: "bg"; }
+ }
+ }
+
+ part { name: "image_bg";
+ type: RECT;
+ scale: 1;
+ clip_to: "image_clip";
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; to: "image_clip"; }
+ rel2 { relative: 1.0 1.0; to: "image_clip"; }
+ color: 255 255 255 255;
+ }
+ }
+
+ part { name: "image";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "image_clip";
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; to: "image_clip"; }
+ rel2 { relative: 1.0 1.0; to: "image_clip"; }
+ }
+ }
+ }
+}
+
+group { name: "artist_list_default";
+ parts {
+ part { name: "bg";
+ type: SPACER;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ min: 0 232;
+ }
+ }
+
+ part { name: "padding_left";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel2 { relative: 0.0 1.0; }
+ min: 16 0;
+ fixed: 1 0;
+ align: 0.0 0.0;
+ }
+ }
+
+ part { name: "padding_right";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 1.0 0.0; }
+ min: 16 0;
+ fixed: 1 0;
+ align: 1.0 0.0;
+ }
+ }
+
+ part { name: "title_area";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 1.0 0.0; to_x: "padding_left"; }
+ rel2 { relative: 0.0 0.0; to_x: "padding_right"; }
+ min: 0 36;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+
+ part { name: "more_btn";
+ type: RECT;
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 1.0 0.0; to: "title_area"; }
+ rel2 { relative: 1.0 1.0; to: "title_area"; }
+ min: 18 0;
+ fixed: 1 0;
+ align: 1.0 0.0;
+ color: 0 0 0 0;
+ }
+ }
+
+ part { name: "elm.padding.more_left";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; to: "more_btn"; }
+ rel2 { relative: 0.0 1.0; to: "more_btn"; }
+ min: 8 0;
+ fixed: 1 0;
+ align: 1.0 0.0;
+ }
+ }
+
+ part { name: "elm.text.2";
+ type: TEXT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ fixed: 1 0;
+ rel1 { relative: 0.0 0.0; to: "elm.padding.more_left"; }
+ rel2 { relative: 0.0 1.0; to: "elm.padding.more_left"; }
+ align: 1.0 0.0;
+ color: 120 120 120 255; //GENLIST_LIST_SUB_TEXT_DEFAULT_COLOR
+ text {
+ align: 1.0 0.5;
+ min: 1 0;
+ font: "Tizen:style=Bold";
+ size: 28;
+ elipsis: 1.0;
+ }
+ }
+ description { state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ color: GENLIST_LIST_TEXT_FOCUS_COLOR;
+ }
+ }
+
+ part { name: "elm.padding.subtext_left";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; to: "elm.text.2"; }
+ rel2 { relative: 0.0 1.0; to: "elm.text.2"; }
+ min: 8 0;
+ fixed: 1 0;
+ align: 1.0 0.0;
+ }
+ }
+
+ part { name: "elm.text.1";
+ type: TEXT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; to: "title_area"; }
+ rel2 { relative: 0.0 1.0; to_x: "elm.padding.subtext_left"; to_y: "title_area";}
+ align: 0.0 0.0;
+ color: GENLIST_LIST_MAIN_TEXT_UNREAD_COLOR; //0 0 0 255
+ text {
+ align: 0.0 0.5;
+ min: 0 1;
+ font: "Tizen:style=Regular";
+ size: 35;
+ elipsis: 1.0;
+ }
+ fixed: 1 1;
+ }
+ description { state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ color: GENLIST_LIST_TEXT_FOCUS_COLOR;
+ }
+ }
+
+ part { name: "padding_ceter_horizontal";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 1.0; to: "title_area"; }
+ rel2 { relative: 1.0 1.0; to: "title_area"; }
+ min: 0 10;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+
+ part { name: "album_area";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 1.0; to_x: "title_area"; to_y: "padding_ceter_horizontal"; }
+ rel2 { relative: 1.0 1.0; to_x: "title_area"; to_y: "padding_ceter_horizontal"; }
+ min: 0 162;
+ max: -1 162;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+
+ part { name: "padding_bottom";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 1.0; to_y: "album_area"; }
+ min: 0 24;
+ fixed: 0 1;
+ }
+ }
+ part { name: "padding_center";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.5 0.0; to: "album_area"; }
+ rel2 { relative: 0.5 1.0; to: "album_area"; }
+ min: 13 0;
+ fixed: 1 0;
+ align: 0.5 0.5;
+ }
+ }
+ part { name: "left_area";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.to: "album_area";
+ rel2 { relative: 0.0 1.0; to: "padding_center"; }
+ }
+ }
+ part { name: "right_area";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 1.0 0.0; to: "padding_center"; }
+ rel2.to: "album_area";
+ }
+ }
+
+ part { name: "padding_left_center";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.5 0.0; to: "left_area"; }
+ rel2 { relative: 0.5 1.0; to: "left_area"; }
+ min: 13 0;
+ fixed: 1 0;
+ align: 0.5 0.5;
+ }
+ }
+ part { name: "padding_right_center";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.5 0.0; to: "right_area"; }
+ rel2 { relative: 0.5 1.0; to: "right_area"; }
+ min: 13 0;
+ fixed: 1 0;
+ align: 0.5 0.5;
+ }
+ }
+
+ part { name: "elm.icon.1";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.to: "album_area";
+ rel2 { relative: 0.0 1.0; to: "padding_left_center"; }
+ color: 255 0 0 100;
+ min: 162 162;
+ max: 162 162;
+ fixed: 1 1;
+ }
+ }
+ part { name: "elm.icon.2";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 1.0 0.0; to: "padding_left_center"; }
+ rel2 { relative: 0.0 1.0; to: "padding_center"; }
+ color: 255 0 0 120;
+ min: 162 162;
+ max: 162 162;
+ fixed: 1 1;
+ }
+ }
+ part { name: "elm.icon.3";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 1.0 0.0; to: "padding_center"; }
+ rel2 { relative: 0.0 1.0; to: "padding_right_center"; }
+ color: 255 0 0 150;
+ min: 162 162;
+ max: 162 162;
+ fixed: 1 1;
+ }
+ }
+ part { name: "elm.icon.4";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 1.0 0.0; to: "padding_right_center"; }
+ rel2.to: "album_area";
+ color: 255 0 0 180;
+ min: 162 162;
+ max: 162 162;
+ fixed: 1 1;
+ }
+ }
+ }
+
+ programs {
+ program { signal: "mouse,down,1";
+ source: "more_btn";
+ action: STATE_SET "pressed" 0.0;
+ target: "more_btn";
+ }
+ program { signal: "mouse,up,1";
+ source: "more_btn";
+ action: STATE_SET "show" 0.0;
+ target: "more_btn";
+ }
+ program { signal: "mouse,clicked,1";
+ source: "more_btn";
+ action: SIGNAL_EMIT "more_btn_clicked" "edje";
+ }
+
+ program { signal: "elm,state,selected";
+ source: "*";
+ action: STATE_SET "pressed" 0.0;
+ target: "elm.text.1";
+ target: "elm.text.2";
+ }
+ program { signal: "elm,state,unselected";
+ source: "*";
+ action: STATE_SET "default" 0.0;
+ target: "elm.text.1";
+ target: "elm.text.2";
+ }
+ }
+}
+
+#define LANDSCAPE_WIDTH 1280
+#define LANDSCAPE_HIGHT 720
+#define LANDSCAPE_ARTIST_SIZE 166
+#define LANDSCAPE_PADDING_LEFT 20
+#define LANDSCAPE_PADDING_RIGHT 20
+#define LANDSCAPE_PADDING_CENTER 13
+#define LANDSCAPE_DEVIDE_WIDTH 1240
+group { name: "landscape_artist_list_default";
+ parts {
+ part { name: "bg";
+ type: SPACER;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ min: 0 236;
+ fixed: 0 1;
+ }
+ }
+
+ part { name: "padding_left";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel2 { relative: 0.0 1.0; }
+ min: 20 0;
+ fixed: 1 0;
+ align: 0.0 0.0;
+ }
+ }
+
+ part { name: "padding_right";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 1.0 0.0; }
+ min: 20 0;
+ fixed: 1 0;
+ align: 1.0 0.0;
+ }
+ }
+
+ part { name: "title_area";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 1.0 0.0; to_x: "padding_left"; }
+ rel2 { relative: 0.0 0.0; to_x: "padding_right"; }
+ min: 0 36;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+
+ part { name: "more_btn";
+ type: RECT;
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 1.0 0.0; to: "title_area"; }
+ rel2 { relative: 1.0 1.0; to: "title_area"; }
+ min: 18 0;
+ fixed: 1 0;
+ align: 1.0 0.0;
+ color: 0 0 0 0;
+ }
+ }
+
+ part { name: "elm.padding.more_left";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; to: "more_btn"; }
+ rel2 { relative: 0.0 1.0; to: "more_btn"; }
+ min: 8 0;
+ fixed: 1 0;
+ align: 1.0 0.0;
+ }
+ }
+
+ part { name: "elm.text.2";
+ type: TEXT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; to: "elm.padding.more_left"; }
+ rel2 { relative: 0.0 1.0; to: "elm.padding.more_left"; }
+ align: 1.0 0.0;
+ color: 120 120 120 255; //GENLIST_LIST_SUB_TEXT_DEFAULT_COLOR;
+ text {
+ align: 1.0 0.5;
+ min: 1 0;
+ font: "Tizen:style=Medium";
+ size: 28;
+ elipsis: 1.0;
+ }
+ }
+ description { state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ color: GENLIST_LIST_TEXT_FOCUS_COLOR;
+ }
+ }
+
+ part { name: "elm.padding.subtext_left";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; to: "elm.text.2"; }
+ rel2 { relative: 0.0 1.0; to: "elm.text.2"; }
+ min: 8 0;
+ fixed: 1 0;
+ align: 1.0 0.0;
+ }
+ }
+
+ part { name: "elm.text.1";
+ type: TEXT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; to: "title_area"; }
+ rel2 { relative: 0.0 1.0; to_x: "elm.padding.subtext_left"; to_y: "title_area";}
+ align: 0.0 0.0;
+ color: GENLIST_LIST_MAIN_TEXT_UNREAD_COLOR; //0 0 0 255
+ text {
+ align: 0.0 0.5;
+ min: 0 1;
+ font: "Tizen:style=Regular";
+ size: 35;
+ elipsis: 1.0;
+ }
+ }
+ description { state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ color: GENLIST_LIST_TEXT_FOCUS_COLOR;
+ }
+ }
+
+ part { name: "padding_ceter_horizontal";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 1.0; to: "title_area"; }
+ rel2 { relative: 1.0 1.0; to: "title_area"; }
+ min: 0 10;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+
+ part { name: "album_area";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 1.0; to_x: "title_area"; to_y: "padding_ceter_horizontal"; }
+ rel2 { relative: 1.0 1.0; to_x: "title_area"; to_y: "padding_ceter_horizontal"; }
+ min: 0 166;
+ max: -1 166;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+
+ part { name: "padding_bottom";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 1.0; to_y: "album_area"; }
+ min: 0 24;
+ fixed: 0 1;
+ }
+ }
+
+ part { name: "elm.icon.1";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; to: "album_area";}
+ rel2 { relative: LANDSCAPE_ARTIST_SIZE/LANDSCAPE_DEVIDE_WIDTH 1.0; to: "album_area"; }
+ color: 255 0 0 100;
+ min: 166 166;
+ max: 166 166;
+ fixed: 1 1;
+ }
+ }
+ part { name: "elm.icon.2";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: (LANDSCAPE_ARTIST_SIZE+LANDSCAPE_PADDING_CENTER)/LANDSCAPE_DEVIDE_WIDTH 0.0; to: "album_area";}
+ rel2 { relative: (LANDSCAPE_ARTIST_SIZE*2+LANDSCAPE_PADDING_CENTER)/LANDSCAPE_DEVIDE_WIDTH 1.0; to: "album_area"; }
+ color: 255 0 0 100;
+ min: 166 166;
+ max: 166 166;
+ fixed: 1 1;
+ }
+ }
+ part { name: "elm.icon.3";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: (LANDSCAPE_ARTIST_SIZE*2+LANDSCAPE_PADDING_CENTER*2)/LANDSCAPE_DEVIDE_WIDTH 0.0; to: "album_area";}
+ rel2 { relative: (LANDSCAPE_ARTIST_SIZE*3+LANDSCAPE_PADDING_CENTER*2)/LANDSCAPE_DEVIDE_WIDTH 1.0; to: "album_area"; }
+ color: 255 0 0 100;
+ min: 166 166;
+ max: 166 166;
+ fixed: 1 1;
+ }
+ }
+ part { name: "elm.icon.4";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: (LANDSCAPE_ARTIST_SIZE*3+LANDSCAPE_PADDING_CENTER*3)/LANDSCAPE_DEVIDE_WIDTH 0.0; to: "album_area";}
+ rel2 { relative: (LANDSCAPE_ARTIST_SIZE*4+LANDSCAPE_PADDING_CENTER*3)/LANDSCAPE_DEVIDE_WIDTH 1.0; to: "album_area"; }
+ color: 255 0 0 100;
+ min: 166 166;
+ max: 166 166;
+ fixed: 1 1;
+ }
+ }
+ part { name: "elm.icon.5";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: (LANDSCAPE_ARTIST_SIZE*4+LANDSCAPE_PADDING_CENTER*4)/LANDSCAPE_DEVIDE_WIDTH 0.0; to: "album_area";}
+ rel2 { relative: (LANDSCAPE_ARTIST_SIZE*5+LANDSCAPE_PADDING_CENTER*4)/LANDSCAPE_DEVIDE_WIDTH 1.0; to: "album_area"; }
+ color: 255 0 0 100;
+ min: 166 166;
+ max: 166 166;
+ fixed: 1 1;
+ }
+ }
+ part { name: "elm.icon.6";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: (LANDSCAPE_ARTIST_SIZE*5+LANDSCAPE_PADDING_CENTER*5)/LANDSCAPE_DEVIDE_WIDTH 0.0; to: "album_area";}
+ rel2 { relative: (LANDSCAPE_ARTIST_SIZE*6+LANDSCAPE_PADDING_CENTER*5)/LANDSCAPE_DEVIDE_WIDTH 1.0; to: "album_area"; }
+ color: 255 0 0 100;
+ min: 166 166;
+ max: 166 166;
+ fixed: 1 1;
+ }
+ }
+ part { name: "elm.icon.7";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: (LANDSCAPE_ARTIST_SIZE*6+LANDSCAPE_PADDING_CENTER*6)/LANDSCAPE_DEVIDE_WIDTH 0.0; to: "album_area";}
+ rel2 { relative: (LANDSCAPE_ARTIST_SIZE*7+LANDSCAPE_PADDING_CENTER*6)/LANDSCAPE_DEVIDE_WIDTH 1.0; to: "album_area"; }
+ color: 255 0 0 100;
+ min: 166 166;
+ max: 166 166;
+ fixed: 1 1;
+ }
+ }
+ }
+
+ programs {
+ program { signal: "mouse,down,1";
+ source: "more_btn";
+ action: STATE_SET "pressed" 0.0;
+ target: "more_btn";
+ }
+ program { signal: "mouse,up,1";
+ source: "more_btn";
+ action: STATE_SET "show" 0.0;
+ target: "more_btn";
+ }
+ program { signal: "mouse,clicked,1";
+ source: "more_btn";
+ action: SIGNAL_EMIT "more_btn_clicked" "edje";
+ }
+
+ program { signal: "elm,state,selected";
+ source: "*";
+ action: STATE_SET "pressed" 0.0;
+ target: "elm.text.1";
+ target: "elm.text.2";
+ }
+ program { signal: "elm,state,unselected";
+ source: "*";
+ action: STATE_SET "default" 0.0;
+ target: "elm.text.1";
+ target: "elm.text.2";
+ }
+ }
+}
+
+#define IMG_CONNECTION_INFO_PROGRESS_1 "nearby_device/T02_Player_Nearby_device_progress1.png"
+#define IMG_CONNECTION_INFO_PROGRESS_2 "nearby_device/T02_Player_Nearby_device_progress2.png"
+#define IMG_CONNECTION_INFO_PROGRESS_3 "nearby_device/T02_Player_Nearby_device_progress3.png"
+#define IMG_CONNECTION_INFO_PROGRESS_4 "nearby_device/T02_Player_Nearby_device_progress4.png"
+
+group {
+ name: "connection_info_layout";
+
+
+ images {
+ image: IMG_CONNECTION_INFO_PROGRESS_1 COMP;
+ image: IMG_CONNECTION_INFO_PROGRESS_2 COMP;
+ image: IMG_CONNECTION_INFO_PROGRESS_3 COMP;
+ image: IMG_CONNECTION_INFO_PROGRESS_4 COMP;
+ }
+
+ parts {
+ part {
+ name: "bg";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ min: 652 242;
+ color: 0 0 0 0;
+ }
+ }
+ part {
+ name: "bg_rect";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ color: 0 0 0 0;
+ }
+ }
+
+ part {
+ name: "left_padding";
+ type: SPACER;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 20 0;
+ fixed: 1 0;
+ align: 0.0 0.0;
+ rel1 { relative: 0.0 0.0; to: "bg_rect"; }
+ rel2 { relative: 0.0 1.0; to: "bg_rect"; }
+ }
+ }
+
+ part {
+ name: "right_padding";
+ type: SPACER;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 20 0;
+ fixed: 1 0;
+ align: 1.0 0.0;
+ rel1 { relative: 1.0 0.0; to: "bg_rect"; }
+ rel2 { relative: 1.0 1.0; to: "bg_rect"; }
+ }
+ }
+ part {
+ name: "top_padding";
+ type: SPACER;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 0 20;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ rel1 { relative: 0.0 0.0; to: "bg_rect"; }
+ rel2 { relative: 1.0 0.0; to: "bg_rect"; }
+ }
+ }
+
+ part {
+ name: "bottom_padding";
+ type: SPACER;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 0 20;
+ fixed: 0 1;
+ align: 0.0 1.0;
+ rel1 { relative: 0.0 1.0; to: "bg_rect"; }
+ rel2 { relative: 1.0 1.0; to: "bg_rect"; }
+ }
+ }
+
+ part {
+ name: "bottom_area";
+ type: SPACER;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 0 20;
+ fixed: 0 1;
+ align: 0.0 1.0;
+ rel1 { relative: 0.0 1.0; to: "bottom_padding"; }
+ rel2 { relative: 1.0 1.0; to: "bottom_padding"; }
+ }
+ }
+
+ part {
+ name: "top_box";
+ type: SPACER;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 0 120;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ rel1 { relative: 0.0 1.0; to_y: "top_padding"; }
+ rel2 { relative: 1.0 1.0; to_y: "top_padding"; }
+ }
+ }
+
+ part {
+ name: "progressing_image";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ min: 96 24;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ rel1 { relative: 0.5 0.5; to: "top_box"; }
+ rel2 { relative: 0.5 0.5; to: "top_box"; }
+ image.normal: IMG_CONNECTION_INFO_PROGRESS_1;
+
+ }
+ description { state: "default" 0.1;
+ inherit: "default" 0.0;
+ image.normal: IMG_CONNECTION_INFO_PROGRESS_2;
+ }
+ description { state: "default" 0.2;
+ inherit: "default" 0.0;
+ image.normal: IMG_CONNECTION_INFO_PROGRESS_3;
+ }
+ description { state: "default" 0.3;
+ inherit: "default" 0.0;
+ image.normal: IMG_CONNECTION_INFO_PROGRESS_4;
+ }
+ }
+
+ part {
+ name: "progressing_left";
+ type: SPACER;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 40 0;
+ fixed: 1 0;
+ align: 1.0 0.0;
+ rel1 { relative: 0.0 0.0; to_x: "progressing_image"; to_y: "top_box";}
+ rel2 { relative: 0.0 1.0; to_x: "progressing_image"; to_y: "top_box";}
+ }
+ }
+
+ part {
+ name: "progressing_right";
+ type: SPACER;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 40 0;
+ fixed: 1 0;
+ align: 0.0 0.0;
+ rel1 { relative: 1.0 0.0; to_x: "progressing_image"; to_y: "top_box";}
+ rel2 { relative: 1.0 1.0; to_x: "progressing_image"; to_y: "top_box";}
+ }
+ }
+
+
+ part {
+ name: "elm.icon.source";
+ type: SWALLOW;
+ scale: 1;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ min: 120 120;
+ fixed: 1 1;
+ align: 1.0 0.0;
+ rel1 { relative: 0.0 0.0; to_x: "progressing_left"; to_y: "top_box";}
+ rel2 { relative: 0.0 1.0; to_x: "progressing_left"; to_y: "top_box";}
+ }
+ }
+
+ part {
+ name: "elm.text.source";
+ type: TEXTBLOCK;
+ multiline: 1;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 300 120;
+ max: 300 120;
+ fixed: 1 1;
+ align: 0.5 1.0;
+ rel1 { relative: 1.0 0.0; to_x: "left_padding"; to_y: "bottom_padding"; offset: 0 20;}
+ rel2 { relative: 0.5 0.0; to_x: "bg_rect"; to_y: "bottom_padding"; offset: 0 20;}
+ text {
+ style: "textblock_style_default";
+ align: 0.5 0.5;
+ }
+ color: 0 0 0 255;
+ }
+ }
+
+ part {
+ name: "elm.icon.destination";
+ type: SWALLOW;
+ scale: 1;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ min: 120 120;
+ fixed: 1 1;
+ align: 0.0 0.0;
+ rel1 { relative: 1.0 0.0; to_x: "progressing_right"; to_y: "top_box";}
+ rel2 { relative: 1.0 1.0; to_x: "progressing_right"; to_y: "top_box";}
+ }
+ }
+
+ part {
+ name: "elm.text.destination";
+ type: TEXTBLOCK;
+ multiline: 1;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 300 120;
+ max: 300 120;
+ fixed: 1 1;
+ align: 0.5 1.0;
+ rel1 { relative: 0.5 0.0; to_x: "bg_rect"; to_y: "bottom_padding"; offset: 0 20;}
+ rel2 { relative: 0.0 0.0; to_x: "right_padding"; to_y: "bottom_padding"; offset: 0 20;}
+ text {
+ style: "textblock_style_default";
+ align: 0.5 0.5;
+ }
+ color: 0 0 0 255;
+ }
+ }
+ }
+
+ programs {
+ program { name: "pgm_change_progress_image";
+ signal: "sig_update_progress_image";
+ source: "*";
+ script {
+ new st[31];
+ new Float:vl;
+ get_state(PART:"progressing_image", st, 30, vl);
+ if (vl == 0.3) vl = 0.0
+ else vl = vl + 0.1;
+ set_state(PART:"progressing_image", st, vl);
+ }
+ }
+
+ }
+}
+
+#define PS_MINUS "T02_slider_icon_minus.png"
+#define PS_MINUS_PRESS "T02_slider_icon_minus_press.png"
+#define PS_PLUS "T02_slider_icon_plus.png"
+#define PS_PLUS_PRESS "T02_slider_icon_plus_press.png"
+
+group { name: "play_speed_layout";
+
+ images {
+ image: PS_MINUS COMP;
+ image: PS_MINUS_PRESS COMP;
+ image: PS_PLUS COMP;
+ image: PS_PLUS_PRESS COMP;
+
+ }
+
+ parts {
+ part { name: "bg";
+ type: SPACER;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ min: 0 112;
+ fixed: 0 1;
+ }
+ }
+
+ MS_BTN_ADD_SHADOW("ps_minus_bt");
+ part {
+ name: "ps_minus_bt";
+ type: IMAGE;
+ mouse_events: 1;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0 0;
+ visible:1;
+ max: 72 72;
+ image { normal: PS_MINUS; }
+ rel1 {
+ relative: 30/720 20/112;
+ to: "bg";
+ }
+ rel2 {
+ relative: 102/720 92/112;
+ to: "bg";
+ }
+ color: 255 255 255 255;
+ }
+ description {
+ state: "press" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 255;
+ }
+ }
+
+ part {
+ name: "ps_slider";
+ mouse_events: 1;
+ type: SWALLOW;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0.5 0.5;
+ visible: 1;
+ rel1 {
+ relative: 112/720 0;
+ to: "bg";
+ }
+ rel2 {
+ relative: 608/720 1;
+ to: "bg";
+ }
+ color: 220 218 211 255;
+ }
+ }
+
+ MS_BTN_ADD_SHADOW("ps_plus_bt");
+
+ part {
+ name: "ps_plus_bt";
+ type: IMAGE;
+ mouse_events: 1;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0 0;
+ visible:1;
+ max: 72 72;
+ image { normal: PS_PLUS; }
+ rel1 {
+ relative: 618/720 20/112;
+ to: "bg";
+ }
+ rel2 {
+ relative: 690/720 92/112;
+ to: "bg";
+ }
+ color: 255 255 255 255;
+ }
+ description {
+ state: "press" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 255;
+ }
+ }
+ }
+ programs {
+
+ program {
+ name: "ps_minus_bt_clicked";
+ source: "ps_minus_bt";
+ signal: "mouse,clicked,1";
+ action: SIGNAL_EMIT "ps_minus_bt_clicked" 0.0;
+ }
+ program{
+ name: "ps_minus_bt_after_down";
+ source: "ps_minus_bt";
+ //signal: "mouse,down,1";
+ //action: STATE_SET "press" 0.0;
+ //target: "ps_minus_bt";
+ script {
+ set_state(PART:"ps_minus_bt", "press", 0.0);
+ set_state(PART:"ps_minus_bt_clipper", "clicked", 0.0);
+ set_state(PART:"ps_minus_bt_shadow", "clicked", 0.0);
+ emit("ps_minus_bt_press_down", "*");
+ }
+ transition: ACCELERATE 0.02;
+ }
+ program {
+ name: "ps_minus_bt_down";
+ source: "ps_minus_bt";
+ signal: "mouse,down,1";
+ action: PLAY_SAMPLE "button-pressed" 1.0;
+ after: "ps_minus_bt_after_down";
+ transition: ACCELERATE 0.02;
+ }
+
+ program {
+ name: "ps_minus_bt_up";
+ source: "ps_minus_bt";
+ signal: "mouse,up,1";
+ //action: STATE_SET "default" 0.0;
+ //target: "ps_minus_bt";
+ script {
+ set_state(PART:"ps_minus_bt", "default", 0.0);
+ set_state(PART:"ps_minus_bt_clipper", "default", 0.0);
+ set_state(PART:"ps_minus_bt_shadow", "default", 0.0);
+ emit("ps_minus_bt_up", "*");
+ }
+ transition: DECELERATE 0.02;
+ }
+
+ program {
+ name: "ps_plus_bt_clicked";
+ source: "ps_plus_bt";
+ signal: "mouse,clicked,1";
+ action: SIGNAL_EMIT "ps_plus_bt_clicked" 0.0;
+ }
+ program{
+ name: "ps_plus_bt_after_down";
+ source: "ps_plus_bt";
+ //signal: "mouse,down,1";
+ //action: STATE_SET "press" 0.0;
+ //target: "ps_plus_bt";
+ script {
+ set_state(PART:"ps_plus_bt", "press", 0.0);
+ set_state(PART:"ps_plus_bt_clipper", "default", 0.0);
+ set_state(PART:"ps_plus_bt_shadow", "default", 0.0);
+ emit("ps_plus_bt_press_down", "*");
+ }
+ transition: ACCELERATE 0.02;
+ }
+ program {
+ name: "ps_plus_bt_down";
+ source: "ps_plus_bt";
+ signal: "mouse,down,1";
+ action: PLAY_SAMPLE "button-pressed" 1.0;
+ after: "ps_plus_bt_after_down";
+ transition: ACCELERATE 0.02;
+ }
+
+ program {
+ name: "ps_plus_bt_up";
+ source: "ps_plus_bt";
+ signal: "mouse,up,1";
+ //action: STATE_SET "default" 0.0;
+ //target: "ps_plus_bt";
+ script {
+ set_state(PART:"ps_plus_bt", "default", 0.0);
+ set_state(PART:"ps_plus_bt_clipper", "default", 0.0);
+ set_state(PART:"ps_plus_bt_shadow", "default", 0.0);
+ emit("ps_plus_bt_up", "*");
+ }
+ transition: DECELERATE 0.02;
+ }
+ }
+}
+
+group {
+ name: "scroller_layout";
+ parts {
+ part {
+ name: "bg";
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ part {
+ name: "scroller";
+ type: SWALLOW;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1 {relative: 0.0 0.0; to: "bg";}
+ rel2 {relative: 1.0 0.0; to: "controller";}
+ align: 0.5 0.5;
+ }
+ }
+ part {
+ name: "controller";
+ type: SWALLOW;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ fixed: 0 1;
+ align: 0.5 1.0;
+ rel1 { relative: 0.0 1.0; }
+ visible: 0;
+ }
+ description { state: "show" 0.0;
+ inherit: "default" 0.0;
+ min: 0 50;
+ visible: 1;
+ }
+ }
+ }
+ programs {
+ program { name: "pgm_show_controller";
+ signal: "sig_show_controller";
+ source: "*";
+ action: STATE_SET "show" 0.0;
+ target: "controller";
+ }
+ }
+}
+
+group { name: "page_layout";
+ parts {
+ part {
+ name: "bg";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ }
+ description { state: "landscape" 0.0;
+ inherit: "default" 0.0;
+ }
+ }
+
+ part {
+ name: "page";
+ type: SWALLOW;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ }
+ }
+ }
+
+ programs {
+ program { name: "change_to_landscape";
+ signal: "elm,state,landscape";
+ source: "elm";
+ action: STATE_SET "landscape" 0.0;
+ target: "bg";
+ }
+ program { name: "change_to_portrait";
+ signal: "elm,state,portrait";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "bg";
+ }
+ program { name: "landscape_mode";
+ source: "elm";
+ signal: "elm,state,orient,90";
+ //action: SIGNAL_EMIT "elm,state,landscape" "elm";
+ after: "change_to_landscape";
+ }
+ program { name: "landscape_mode2";
+ source: "elm";
+ signal: "elm,state,orient,270";
+ //action: SIGNAL_EMIT "elm,state,landscape" "elm";
+ after: "change_to_landscape";
+ }
+ program { name: "portrait_mode";
+ source: "elm";
+ signal: "elm,state,orient,0";
+ //action: SIGNAL_EMIT "elm,state,portrait" "elm";
+ after: "change_to_portrait";
+ }
+ program { name: "portrait_mode2";
+ source: "elm";
+ signal: "elm,state,orient,180";
+ //action: SIGNAL_EMIT "elm,state,portrait" "elm";
+ after: "change_to_portrait";
+ }
+ }
+}
+
+/*the followed edc is used for music store data loading popup*/
+group{ name: "popup_processingview";
+#define POPUP_PROCESSINGVIEW_CONTENT_MIN 568 222
+ parts {
+ part { name: "base";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: POPUP_PROCESSINGVIEW_CONTENT_MIN;
+ fixed: 1 0;
+ }
+ }
+ part { name:"pad_t";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 60;
+ fixed: 0 1;
+ align: 0 0;
+ rel1.to: "base";
+ rel2 {
+ relative: 1.0 0.0;
+ to: "base";
+ }
+ }
+ }
+ part { name:"elm.swallow.content";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ align: 0.0 0.0;
+ fixed: 1 1;
+ rel1 {
+ relative: 0.0 1.0;
+ to: "pad_t";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to: "pad_t";
+ }
+ }
+ }
+ part { name:"pad_after_content";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 9;
+ fixed: 0 1;
+ rel1 {
+ relative: 0.0 1.0;
+ to: "elm.swallow.content";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to: "elm.swallow.content";
+ }
+ }
+ }
+ part { name:"elm.swallow.text";
+ type: TEXT;
+ scale: 1;
+ description { state: "default" 0.0;
+ align: 0.5 0.5;
+ fixed: 1 1;
+ rel1 {
+ relative: 0.0 1.0;
+ to: "pad_after_content";
+ }
+ rel2 {
+ relative: 1.0 0.0;
+ to: "pad_b";
+ }
+ text {
+ font: "Tizen:style=Bold";
+ size: 36;
+ min: 0 0;
+ align: 0.5 0.5;
+ }
+ color: 0 0 0 255;
+ }
+ }
+ /*
+ part { name:"elm.swallow.text";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ align: 0.0 0.0;
+ fixed: 1 1;
+ rel1 {
+ relative: 0.0 1.0;
+ to: "pad_after_content";
+ }
+ rel2 {
+ relative: 1.0 0.0;
+ to: "pad_b";
+ }
+ }
+ }*/
+ part { name:"pad_b";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 0;
+ fixed: 0 1;
+ align: 1 1;
+ rel1 {
+ relative: 0.0 1.0;
+ to: "base";
+ }
+ rel2.to: "base";
+ }
+ }
+ }
+#undef POPUP_PROCESSINGVIEW_CONTENT_MIN
+}
+
+//#ifdef MP_FEATURE_PERSONAL_PAGE
+/*thumbnail with lock part*/
+group
+{
+ name:"thumbnail_only";
+ parts
+ {
+ part
+ {
+ name:"base";
+ type:RECT;
+ scale: 1;
+ description
+ {
+ state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ color: MP_COLOR_BG_BLACK;
+ }
+ }
+ part
+ {
+ name:"bg";
+ //type:IMAGE;
+ type:RECT;
+ scale: 1;
+ description
+ {
+ state: "default" 0.0;
+ //min: 72 72;
+ //max: 72 72;
+ //fixed:1 1;
+ align: 0.5 0.5;
+ rel1 { relative: 0.0 0.0; to:"base";}
+ rel2 { relative: 1.0 1.0; to:"base";}
+ //image.normal: IMG_GENLIST_BG;
+ color: MP_COLOR_BG_BLACK;
+ }
+ }
+ part
+ {
+ name:"thumbnail";
+ type:SWALLOW;
+ scale: 1;
+ description
+ {
+ state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; to:"bg";}
+ rel2 { relative: 1.0 1.0; to:"bg";}
+ }
+ }
+ part
+ {
+ name:"default_thumbnail";
+ type:SWALLOW;
+ scale: 1;
+ description
+ {
+ state: "default" 0.0;
+ align: 0.5 0.5;
+ rel1 { relative: 0.0 0.0; to:"bg";}
+ rel2 { relative: 1.0 1.0; to:"bg";}
+ }
+ }
+
+ part
+ {
+ name:"video_play";
+ type:SWALLOW;
+ scale: 1;
+ description
+ {
+ state: "default" 0.0;
+ rel1 { to:"thumbnail"; }
+ rel2 { to:"thumbnail"; }
+ }
+ }
+ part
+ {
+ name: "lock.sub";
+ type: SWALLOW;
+ scale: 1;
+ description
+ {
+ state: "default" 0.0;
+ rel1 { relative:0.5 0.5; to:"thumbnail";}
+ rel2 { relative:1.0 1.0; to:"thumbnail";}
+ }
+ }
+ }
+}
+
+group { name: "popup_center_progressview";
+#define MP_POPUP_PROGRESSVIEW_CONTENT_MIN 568 120
+#define MP_POPUP_PROGRESSVIEW_TITLE_MIN 568 50
+#define MP_POPUP_PROGRESSVIEW_TEXT_LEFT_RIGHT_MAX 324 60
+ parts {
+ part { name: "pad_t";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ align: 0.5 0.0;
+ min: 0 32;
+ fixed: 0 1;
+ rel1 {
+ relative: 1.0 0.0;to_x: "pad_l";
+ }
+ rel2 {
+ relative: 0.0 0.0;to_x: "pad_r";
+ }
+ }
+ }
+ part { name: "pad_l";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 26 0;
+ max: 26 0;
+ fixed: 1 0;
+ rel1 {
+ relative: 0.0 0.0;
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ }
+ align: 0.0 0.0;
+ }
+ }
+ part { name: "pad_r";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 26 0;
+ max: 26 0;
+ fixed: 1 0;
+ rel1 {
+ relative: 1.0 0.0;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ }
+ align: 1.0 0.0;
+ }
+ }
+ part { name: "pad_b";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ align: 0.0 1.0;
+ min: 0 32;
+ fixed: 0 1;
+ rel1 {
+ relative: 1.0 1.0;
+ to_x: "pad_l";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ to_x: "pad_r";
+ }
+ }
+ }
+ part { name: "elm.title";
+ type: TEXT;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: MP_POPUP_PROGRESSVIEW_TITLE_MIN;
+ fixed: 1 1;
+ text {
+ font: "Tizen:style=Bold";
+ size: 38;
+ min: 0 0;
+ align: 0.5 0.0;
+ }
+ color: 128 128 128 255;
+ align: 0.5 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ to: "elm.swallow.content";
+ }
+ rel2 {
+ relative: 1.0 0.0;
+ to: "elm.swallow.content";
+ }
+ }
+ }
+ part{ name:"elm.swallow.content";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: MP_POPUP_PROGRESSVIEW_CONTENT_MIN;
+ align: 0.5 0.5;
+ fixed: 1 0;
+ rel1 {
+ relative: 1.0 1.0;
+ to_x: "pad_l";
+ to_y: "pad_t";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to_x: "pad_r";
+ to_y: "pad_b";
+ }
+ }
+ }
+ part { name: "elm.text.left";
+ type: TEXT;
+ scale: 1;
+ description { state: "default" 0.0;
+ max: MP_POPUP_PROGRESSVIEW_TEXT_LEFT_RIGHT_MAX;
+ text {
+ font: "Tizen:style=Medium";
+ size: 36;
+ min: 0 0;
+ align: 0.0 1.0;
+ }
+ color: 128 128 128 255;
+ align: 0.0 1.0;
+ rel1 {
+ relative: 0.0 0.0;
+ to: "elm.swallow.content";
+ }
+ rel2 {
+ relative: 0.5 1.0;
+ to: "elm.swallow.content";
+ }
+ }
+ }
+ part { name: "elm.text.right";
+ type: TEXT;
+ scale: 1;
+ description { state: "default" 0.0;
+ max: MP_POPUP_PROGRESSVIEW_TEXT_LEFT_RIGHT_MAX;
+ text {
+ font: "Tizen:style=Medium";
+ size: 36;
+ min: 0 0;
+ align: 1.0 1.0;
+ }
+ color: 128 128 128 255;
+ align: 1.0 1.0;
+ rel1 {
+ relative: 0.5 0.0;
+ to: "elm.swallow.content";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to: "elm.swallow.content";
+ }
+ }
+ }
+ }
+
+#undef MP_POPUP_PROGRESSVIEW_CONTENT_MIN
+#undef MP_POPUP_PROGRESSVIEW_TITLE_MIN
+#undef MP_POPUP_PROGRESSVIEW_TEXT_LEFT_RIGHT_MAX
+}
+
+//#endif
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include "mp-defines.h"
+
+/* main size */
+#define MAIN_W 480
+#define MAIN_H 800
+
+#define TITLEBAR_H_R (96/MAIN_H)
+#define SELALL_BG_H_R (188/MAIN_H)
+#define SELALL_TAB_H_R (217/MAIN_H)
+#define SELALL_ALBUM_H_R (231/MAIN_H)
+#define SELALL_TITLE_H_R (188/MAIN_H)
+/* font name*/
+//#define FONT_NAME "system_content"
+
+#define FONT_STYLE_ROMAN "TIZEN:style=Roman"
+#define FONT_STYLE_MEDIUM "TIZEN:style=Medium"
+#define FONT_STYLE_BOLD "TIZEN:style=Bold"
+
+/* indicator */
+#define IND_H_R (38.0/MAIN_H)
+//#define IND_H_P (MAIN_HEIGHT * IND_H_R)
+
+/* tab */
+#define TAB_H_R (125/MAIN_H)
+
+/* soft key*/
+#define SOFTKEY_SY (722/MAIN_H)
+
+#define HEAD_SY (38/MAIN_H)
+#define HEAD_EY (139/MAIN_H)
+
+#define ICON_X (108/MAIN_W)
+#define ICON_Y (108/MAIN_H)
+
+
+
+
+/* cover image in header */
+#define HEAD_COVER_SX (10/MAIN_W)
+#define HEAD_COVER_SY (48/MAIN_H)
+
+#define HEAD_COVER_EX (90/MAIN_W)
+#define HEAD_COVER_EY (128/MAIN_H)
+
+/* title in header */
+#define HEAD_TITLE_SX (100/MAIN_W)
+#define HEAD_TITLE_SY (73/MAIN_H)
+
+#define ALBUM_TITLE_EY (88/MAIN_H)
+
+#define ALBUM_SUB_TITLE_SY (98/MAIN_H)
+#define COLOR_CHK_TEXT 35 190 255
+#define ITEM_CHK_L (404/MAIN_W)
+#define ITEM_CHK_T (10/MAIN_H)
+#define ITEM_CHK_R (478/MAIN_W)
+#define SELALL_H 92
+#define NEW_INDICATOR 52/MAIN_H
+
+#define NOW_PLAYING_H 100
+#define BG_COLOR 248 246 239 0
+
+#define SEARCHBAR_H_INC 107
+
+#define SELECTIONINFO_PART(rel) \
+part {\
+ name: "elm.swallow.content.selectioninfo";\
+ type: SWALLOW;\
+ description { state: "default" 0.0;\
+ fixed: 0 1;\
+ align: 0.5 1.0;\
+ rel1 {\
+ relative: 0.0 1.0;\
+ to:rel;\
+ }\
+ }\
+ description { state: "hide" 0.0;\
+ inherit: "default" 0.0;\
+ visible: 0;\
+ }\
+}
+
+#define SELECTIONINFO_PROG \
+program {\
+ name: "show";\
+ signal: "show,selection,info";\
+ source: "elm";\
+ action: STATE_SET "default" 0.0;\
+ target: "elm.swallow.content.selectioninfo";\
+}\
+program {\
+ name: "hide";\
+ signal: "hide,selection,info";\
+ source: "elm";\
+ action: STATE_SET "hide" 0.0;\
+ target: "elm.swallow.content.selectioninfo";\
+}
+
+images {
+ image: "34_header_thumb_bg.png" COMP;
+ image: "01_list_selectall_bg.png" COMP;
+}
+
+#define TEST_COLOR 255 0 0 255
+//#define CONTROLBAR_LARGE_HEIGHT_INC 122;
+
+collections {
+ base_scale: 2.4;
+ #include "mp-no-contents.edc"
+
+ group {
+ name: "main_layout";
+ parts {
+ part { name: "background";
+ type: RECT;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ color: BG_COLOR;
+ }
+ }
+ part {
+ name : "now_playing";
+ type: SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0 1.0;
+ //min: 0 NOW_PLAYING_H;
+ fixed: 0 1;
+ visible: 0;
+ rel1 { relative: 0.0 1.0;}
+ rel2 { relative: 1.0 1.0;}
+
+ }
+ description {
+ state: "show" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+
+ part {
+ name : "list_content";
+ type: SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 0.0; to_y: "now_playing";}
+ }
+ }
+
+ //SELECTIONINFO_PART("list_content")
+ }
+
+ programs {
+ program {
+ name : "show_now_playng";
+ signal : "SHOW_NOW_PLAING";
+ source : "music_app";
+ action : STATE_SET "show" 0.0;
+ target : "now_playing";
+ target : "list_content";
+ }
+ program {
+ name : "hide_now_playng";
+ signal : "HIDE_NOW_PLAING";
+ source : "music_app";
+ action : STATE_SET "default" 0.0;
+ target : "now_playing";
+ target : "list_content";
+ }
+ //SELECTIONINFO_PROG
+ }
+ }
+group { name: "music/tabbar/default";
+ parts {
+ part { name: "elm.swallow.bg";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ }
+ }
+ part { name: "elm.swallow.tabbar";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 CONTROLBAR_LARGE_HEIGHT_INC;
+ fixed: 0 1;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 0.0; }
+ align: 0.5 0.0;
+ }
+ description { state: "hidden" 0.0;
+ inherit: "default" 0.0;
+ min: 0 0;
+ }
+ }
+ part { name: "elm.swallow.content";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.relative: 0.0 1.0;
+ rel1.to: "elm.swallow.tabbar";
+ }
+ }
+ SELECTIONINFO_PART("elm.swallow.content")
+ }
+ programs {
+ program { name: "show_tabbar";
+ signal: "elm,state,show,tabbar";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "elm.swallow.tabbar";
+ }
+ program { name: "hide_tabbar";
+ signal: "elm,state,hide,tabbar";
+ source: "elm";
+ action: STATE_SET "hidden" 0.0;
+ target: "elm.swallow.tabbar";
+ }
+ //SELECTIONINFO_PROG
+ }
+ }
+
+group {
+ name: "create_playlist";
+
+ parts {
+ part { name: "bg";
+ mouse_events: 0;
+ type: RECT;
+ description { state: "default" 0.0;
+ visible: 1;
+ rel1 { relative: 0.0 0.0;}
+ rel2 { relative: 1.0 1.0;}
+ color: BG_COLOR;
+ }
+ }
+ part {
+ name: "elm.swallow.content";
+ type: SWALLOW;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: 0.0 0.0;}
+ rel2 { relative: 1.0 1.0;}
+ }
+ }
+ //SELECTIONINFO_PART("elm.swallow.content")
+ }
+ programs {
+ //SELECTIONINFO_PROG
+ }
+}
+
+group { name: "playlist_title/1icon";
+ //data.item: "contents" "elm.swallow.icon";
+ parts {
+ part { name: "bg";
+ type: SPACER;
+ description { state: "default" 0.0;
+ }
+ }
+
+ part {
+ name: "elm.swallow.icon";
+ type: SWALLOW;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ to: "bg";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to: "bg";
+ }
+ }
+ }
+ }
+ }
+
+group { name: "playlist_title/4icons";
+ //data.item: "contents" "elm.swallow.icon1";
+ parts {
+ part { name: "bg";
+ type: SPACER;
+ description { state: "default" 0.0;
+ }
+ }
+
+ part {
+ name: "elm.swallow.icon1";
+ type: SWALLOW;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ to: "bg";
+ }
+ rel2 {
+ relative: 0.5 0.5;
+ to: "bg";
+ }
+ }
+ }
+ part {
+ name: "elm.swallow.icon2";
+ type: SWALLOW;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.5 0.0;
+ to: "bg";
+ }
+ rel2 {
+ relative: 1.0 0.5;
+ to: "bg";
+ }
+ }
+ }
+ part {
+ name: "elm.swallow.icon3";
+ type: SWALLOW;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 0.5;
+ to: "bg";
+ }
+ rel2 {
+ relative: 0.5 1.0;
+ to: "bg";
+ }
+ }
+ }
+ part {
+ name: "elm.swallow.icon4";
+ type: SWALLOW;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.5 0.5;
+ to: "bg";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to: "bg";
+ }
+ }
+ }
+ }
+ }
+
+group { name: "playlist_title/6icons";
+ //data.item: "contents" "elm.swallow.icon1";
+ parts {
+ part { name: "bg";
+ type: SPACER;
+ description { state: "default" 0.0;
+ }
+ }
+
+ part {
+ name: "elm.swallow.icon1";
+ type: SWALLOW;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ min: 480 480;
+ fixed: 1 1;
+ rel1 {
+ relative: 0.0 0.0;
+ to: "bg";
+ }
+ rel2 {
+ relative: 0.67 0.67;
+ to: "bg";
+ }
+ }
+ }
+ part {
+ name: "elm.swallow.icon2";
+ type: SWALLOW;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.67 0.0;
+ to: "bg";
+ }
+ rel2 {
+ relative: 1.0 0.33;
+ to: "bg";
+ }
+ }
+ }
+ part {
+ name: "elm.swallow.icon3";
+ type: SWALLOW;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.67 0.33;
+ to: "bg";
+ }
+ rel2 {
+ relative: 1.0 0.67;
+ to: "bg";
+ }
+ }
+ }
+ part {
+ name: "elm.swallow.icon4";
+ type: SWALLOW;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 0.67;
+ to: "bg";
+ }
+ rel2 {
+ relative: 0.33 1.0;
+ to: "bg";
+ }
+ }
+ }
+ part {
+ name: "elm.swallow.icon5";
+ type: SWALLOW;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.33 0.67;
+ to: "bg";
+ }
+ rel2 {
+ relative: 0.67 1.0;
+ to: "bg";
+ }
+ }
+ }
+ part {
+ name: "elm.swallow.icon6";
+ type: SWALLOW;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.67 0.67;
+ to: "bg";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to: "bg";
+ }
+ }
+ }
+ }
+ }
+
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#define TABBAR_H 75
+
+group {
+ name: "list_layout";
+ parts{
+ part {
+ name : "list_content";
+ type: SWALLOW;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: 0.0 0.0;}
+ rel2 { relative: 1.0 1.0;}
+ }
+ description {
+ state: "fastscroll.visible" 0.0;
+ rel1 { relative: 0.0 0.0;}
+ rel2 { relative: 0.0 1.0; to_x:"right_pad";}
+ }
+ }
+
+ part{
+ name: "right_pad";
+ type: SPACER;
+ description{
+ state: "default" 0.0;
+ fixed: 1 1;
+ min: 33 0;
+ align: 1 0;
+ rel1 { relative: 1.0 0.0;}
+ rel2 { relative: 1.0 1.0;}
+ }
+ }
+
+ part {
+ name: "elm.swallow.content.index";
+ type: SWALLOW;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ fixed: 0 1;
+ rel1 { relative: 0.0 0.0;}
+ rel2 { relative: 1.0 1.0;}
+ }
+ description {
+ state: "fastscroll.visible" 0.0;
+ inherit: "default";
+ visible: 1;
+ }
+ }
+ }
+
+ programs {
+ program {
+ signal : "show.fastscroll";
+ source : "*";
+ action : STATE_SET "fastscroll.visible" 0.0;
+ target : "elm.swallow.content.index";
+ target : "list_content";
+ }
+ program {
+ signal : "hide.fastscroll";
+ source : "*";
+ action : STATE_SET "default" 0.0;
+ target : "elm.swallow.content.index";
+ target : "list_content";
+ }
+ }
+}
+
+group { name: "playlist_shortcut_layout_1";
+ parts {
+ part { name: "bg";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ }
+ }
+ part { name: "elm.icon.1";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ align: 0.0 0.0;
+ }
+ }
+ }
+}
+
+group { name: "playlist_shortcut_layout_4";
+ parts {
+ part { name: "bg";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ }
+ }
+ part { name: "elm.icon.1";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel2 { relative: 0.5 0.5; }
+ align: 0.0 0.0;
+ }
+ }
+ part { name: "elm.icon.2";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.5 0.0; }
+ rel2 { relative: 1.0 0.5;}
+ align: 0.0 0.0;
+ }
+ }
+ part { name: "elm.icon.3";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 0.5;}
+ rel2 { relative: 0.5 1.0;}
+ align: 0.0 0.0;
+ }
+ }
+ part { name: "elm.icon.4";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.5 0.5;}
+ align: 0.0 0.0;
+ }
+ }
+ }
+}
+
+group { name: "playlist_shortcut_layout_6";
+ parts {
+ part { name: "bg";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 720 720;
+ fixed: 1 1;
+ }
+ }
+ part { name: "elm.icon.1";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel2 { relative: (2/3) (2/3); }
+ align: 0.0 0.0;
+ color: 255 0 0 200;
+ }
+ }
+ part { name: "elm.icon.2";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 1.0 0.0; to_x: "elm.icon.1"; }
+ rel2 { relative: 1.0 0.5; to_y: "elm.icon.1"; }
+ align: 0.0 0.0;
+ color: 255 0 0 50;
+ }
+ }
+ part { name: "elm.icon.3";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 1.0; to: "elm.icon.2"; }
+ rel2 { relative: 1.0 1.0; to_y: "elm.icon.1"; }
+ align: 0.0 0.0;
+ color: 255 0 0 100;
+ }
+ }
+ part { name: "elm.icon.4";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 1.0; to: "elm.icon.1"; }
+ rel2 { relative: 0.5 1.0; to_x: "elm.icon.1"; }
+ align: 0.0 0.0;
+ color: 255 0 0 50;
+ }
+ }
+ part { name: "elm.icon.5";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 1.0 0.0; to: "elm.icon.4"; }
+ rel2 { relative: 1.0 1.0; to_x: "elm.icon.1"; }
+ align: 0.0 0.0;
+ color: 255 0 0 100;
+ }
+ }
+ part { name: "elm.icon.6";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 1.0 1.0; to: "elm.icon.1"; }
+ align: 0.0 0.0;
+ color: 255 0 0 50;
+ }
+ }
+ }
+}
+
+#define LANDSCAPE_WIDTH 1280
+#define LANDSCAPE_IMAGE_SIZE 256
+group { name: "landscape_playlist_shortcut_layout";
+ parts {
+ part { name: "bg";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 256 256;
+ fixed: 1 1;
+ }
+ }
+ part { name: "elm.icon.1";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: LANDSCAPE_IMAGE_SIZE/LANDSCAPE_WIDTH 1.0; }
+ align: 0.0 0.0;
+ }
+ }
+ part { name: "elm.icon.2";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: LANDSCAPE_IMAGE_SIZE/LANDSCAPE_WIDTH 0.0; }
+ rel2 { relative: LANDSCAPE_IMAGE_SIZE*2/LANDSCAPE_WIDTH 1.0; }
+ align: 0.0 0.0;
+ }
+ }
+ part { name: "elm.icon.3";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: LANDSCAPE_IMAGE_SIZE*2/LANDSCAPE_WIDTH 0.0; }
+ rel2 { relative: LANDSCAPE_IMAGE_SIZE*3/LANDSCAPE_WIDTH 1.0; }
+ align: 0.0 0.0;
+ }
+ }
+ part { name: "elm.icon.4";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: LANDSCAPE_IMAGE_SIZE*3/LANDSCAPE_WIDTH 0.0; }
+ rel2 { relative: LANDSCAPE_IMAGE_SIZE*4/LANDSCAPE_WIDTH 1.0; }
+ align: 0.0 0.0;
+ }
+ }
+ part { name: "elm.icon.5";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: LANDSCAPE_IMAGE_SIZE*4/LANDSCAPE_WIDTH 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ align: 0.0 0.0;
+ }
+ }
+ }
+}
+
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+#include "mp-defines.h"
+
+#define LOCKSCREEN_MINI_W 300
+#define LOCKSCREEN_MINI_H 93
+#define LOCKSCREEN_TOP_PADDING 19.2
+#define LOCKSCREEN_LEFT_PADDING 24
+#define LOCKSCREEN_RIGHT_PADDING 22.5
+#define LOCKSCREEN_BOTTOM_PADDING 36.8
+
+#define LOCKSCREEN_BUTTON_SIZE_MIN_MAX 99 105
+#define LOCKSCREEN_BIG_BTN_SIZE_MIN_MAX 126 134
+
+#define MC_LOCKSCREEN_BG 30 28 28 0
+
+#define MC_LOCKSCREEN_PREVIOUS "lock_screen/control_circle_icon_rewind.png"
+#define MC_LOCKSCREEN_PREVIOUS_PRESS "lock_screen/control_circle_icon_rewind_press.png"
+#define MC_LOCKSCREEN_NEXT "lock_screen/control_circle_icon_ff.png"
+#define MC_LOCKSCREEN_NEXT_PRESS "lock_screen/control_circle_icon_ff_press.png"
+
+#define MC_LOCKSCREEN_PLAY "lock_screen/control_circle_icon_play.png"
+#define MC_LOCKSCREEN_PAUSE "lock_screen/control_circle_icon_pause.png"
+#define MC_LOCKSCREEN_PLAY_PRESS "lock_screen/control_circle_icon_play_press.png"
+#define MC_LOCKSCREEN_PAUSE_PRESS "lock_screen/control_circle_icon_pause_press.png"
+
+
+#define LOCKSCREEN_INTERVAL 34.5
+#define MC_LOCKSCREEN_FOCUSED_COVER(__name, __over_part_bg) \
+part { \
+ name: __name"_focus"; \
+ type: SWALLOW; \
+ mouse_events: 1; \
+ scale: 1; \
+ repeat_events: 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0 0; \
+ visible:1; \
+ rel1 { \
+ relative: 0 0; \
+ to: __over_part_bg; \
+ } \
+ rel2 { \
+ relative: 1 1; \
+ to: __over_part_bg; \
+ } \
+ } \
+}
+
+#define MC_LOCKSCREEN_PART_AREA_FROM_LEFT(__name, __left_part, __width, __height) \
+part { name: __name; \
+ type: SPACER; \
+ scale: 1; \
+ mouse_events: 0; \
+ description { state: "default" 0.0; \
+ rel1 { relative: 1.0 0.5; to: __left_part; } \
+ rel2 { relative: 1.0 0.5; to: __left_part; } \
+ min: __width __height; \
+ fixed: 1 1; \
+ align: 0.0 0.5; \
+ } \
+}
+
+#define MC_LOCKSCREEN_PROGRAM_PLAY_TOUCH_SOUND \
+program { name: "play_sound"; \
+ action: RUN_PLUGIN "touch_sound_plugin"; \
+}
+
+#define MC_LOCKSCREEN_PART_ICON_BTN(__name, __to, __normal, __pressed, __btn_min_max) \
+part { name: __name"_clip"; \
+ type: RECT; \
+ scale: 1; \
+ mouse_events: 0; \
+ description { state: "default" 0.0; \
+ rel1.to: __name"_bg"; \
+ rel2.to: __name"_bg"; \
+ color: 255 255 255 255; \
+ } \
+ description { state: "hide" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 0; \
+ } \
+} \
+part { name: __name"_bg"; \
+ type: IMAGE; \
+ scale: 1; \
+ mouse_events: 0; \
+ clip_to: __name"_clip"; \
+ description { state: "default" 0.0; \
+ rel1 { relative: 0.5 0.5; to: __to; } \
+ rel2 { relative: 0.5 0.5; to: __to; }\
+ min: __btn_min_max; \
+ max: __btn_min_max; \
+ image.normal: __normal; \
+ fixed: 1 1; \
+ align: 0.5 0.5; \
+ } \
+ description { state: "pressed" 0.0; \
+ inherit: "default" 0.0; \
+ } \
+} \
+part { name: __name; \
+ type: RECT; \
+ scale: 1; \
+ mouse_events: 1; \
+ clip_to: __name"_clip"; \
+ description { state: "default" 0.0; \
+ rel1.to: __name"_bg"; \
+ rel2.to: __name"_bg"; \
+ color: 0 0 0 0; \
+ } \
+}
+
+#define MC_LOCKSCREEN_PART_BUTTON(__name, __to, __normal, __pressed, __min_max) \
+part { \
+ name: __name"_spacer"; \
+ type: SPACER; \
+ scale: 1; \
+ description { state: "default" 0.0; \
+ rel1 { relative: 0 0; to: __to; } \
+ rel2 { relative: 1 1; to: __to; } \
+ } \
+} \
+part { \
+ name: __name"_bg"; \
+ mouse_events: 0; \
+ type: RECT; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0.5 0.5; \
+ visible: 0; \
+ rel1 { \
+ relative: 0.5 0.5; \
+ to: __name"_spacer"; \
+ } \
+ rel2 { \
+ relative: 0.5 0.5; \
+ to: __name"_spacer"; \
+ } \
+ min: __min_max; \
+ max: __min_max; \
+ fixed: 1 1; \
+ } \
+ description { state: "invisible" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 0; \
+ } \
+} \
+part{ \
+ name : __name"_press_bg"; \
+ type: RECT; \
+ mouse_events:0; \
+ scale : 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0 0; \
+ visible:1; \
+ color: 0 0 0 0; \
+ rel1 { \
+ relative: 0 0; \
+ to: __name"_bg"; \
+ } \
+ rel2 { \
+ relative: 1 1; \
+ to: __name"_bg"; \
+ } \
+ } \
+ description { \
+ state: "press" 0.0; \
+ inherit: "default" 0.0; \
+ } \
+ description { state: "invisible" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 0; \
+ } \
+} \
+part { \
+ name: __name; \
+ type: IMAGE; \
+ mouse_events: 1; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0 0; \
+ visible:1; \
+ image { normal: __normal; } \
+ rel1 { \
+ relative: 0 0; \
+ to: __name"_bg"; \
+ } \
+ rel2 { \
+ relative: 1 1; \
+ to: __name"_bg"; \
+ } \
+ } \
+ description { \
+ state: "press" 0.0; \
+ inherit: "default" 0.0; \
+ image { normal: __pressed; } \
+ } \
+ description { state: "invisible" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 0; \
+ } \
+}
+
+#define MC_LOCKSCREEN_PAUSE_PART_BUTTON(__name, __to, __normal, __pressed, __min_max) \
+part { \
+ name: __name"_spacer"; \
+ type: SPACER; \
+ scale: 1; \
+ description { state: "default" 0.0; \
+ rel1 { relative: 0 0; to: __to; } \
+ rel2 { relative: 1 1; to: __to; } \
+ } \
+} \
+part { \
+ name: __name"_bg"; \
+ mouse_events: 0; \
+ type: RECT; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0.5 0.5; \
+ visible: 0; \
+ rel1 { \
+ relative: 0.5 0.5; \
+ to: __name"_spacer"; \
+ } \
+ rel2 { \
+ relative: 0.5 0.5; \
+ to: __name"_spacer"; \
+ } \
+ min: __min_max; \
+ max: __min_max; \
+ fixed: 1 1; \
+ color: 0 0 0 0; \
+ } \
+ description { state: "invisible" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 0; \
+ } \
+} \
+part{ \
+ name : __name"_press_bg"; \
+ type: RECT; \
+ mouse_events:0; \
+ scale : 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0 0; \
+ color: 0 0 0 0; \
+ visible:1; \
+ rel1 { \
+ relative: 0 0; \
+ to: __name"_bg"; \
+ } \
+ rel2 { \
+ relative: 1 1; \
+ to: __name"_bg"; \
+ } \
+ } \
+ description { \
+ state: "press" 0.0; \
+ inherit: "default" 0.0; \
+ } \
+ description { state: "invisible" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 0; \
+ } \
+} \
+part { \
+ name: __name; \
+ type: IMAGE; \
+ mouse_events: 1; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0 0; \
+ visible:1; \
+ image { normal: __normal; } \
+ rel1 { \
+ relative: 0 0; \
+ to: __name"_bg"; \
+ } \
+ rel2 { \
+ relative: 1 1; \
+ to: __name"_bg"; \
+ } \
+ } \
+ description { \
+ state: "press" 0.0; \
+ inherit: "default" 0.0; \
+ image { normal: __pressed; } \
+ } \
+ description { state: "invisible" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 0; \
+ } \
+}
+
+#define MC_LOCKSCREEN_PART_TEXT_BTN(__name, __to, __text_part_name) \
+part { name: __name"_clip"; \
+ type: RECT; \
+ scale: 1; \
+ mouse_events: 0; \
+ description { state: "default" 0.0; \
+ rel1.to: __to; \
+ rel2.to: __to; \
+ color: 255 255 255 255; \
+ } \
+ description { state: "hide" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 0; \
+ } \
+} \
+part { name: __name"_bg"; \
+ type: SPACER; \
+ scale: 1; \
+ mouse_events: 0; \
+ clip_to: __name"_clip"; \
+ description { state: "default" 0.0; \
+ rel1.to: __to; \
+ rel2.to: __to; \
+ } \
+ description { state: "pressed" 0.0; \
+ inherit: "default" 0.0; \
+ } \
+} \
+part { name: __text_part_name; \
+ type: TEXT; \
+ scale: 1; \
+ mouse_events: 0; \
+ clip_to: __name"_clip"; \
+ description { state: "default" 0.0; \
+ rel1.to: __name"_bg"; \
+ rel2.to: __name"_bg"; \
+ text { \
+ font: "Tizen:style=Medium"; \
+ text_class: "tizen"; \
+ size: 28; \
+ align: 0.5 0.5; \
+ } \
+ color: 149 149 149 255; \
+ } \
+} \
+part { name: __name; \
+ type: RECT; \
+ scale: 1; \
+ mouse_events: 1; \
+ clip_to: __name"_clip"; \
+ description { state: "default" 0.0; \
+ rel1.to: __to; \
+ rel2.to: __to; \
+ color: 0 0 0 0; \
+ } \
+}
+
+#define MC_LOCKSCREEN_PART_RECT(__name, __to, __sx, __sy, __ex, __ey) \
+part { \
+ name: __name; \
+ mouse_events: 1; \
+ repeat_events: 1; \
+ type: RECT; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0 0; \
+ visible: 1; \
+ rel1 { \
+ relative: __sx __sy; \
+ to: __to; \
+ } \
+ rel2 { \
+ relative: __ex __ey; \
+ to: __to; \
+ } \
+ color: 0 0 0 0; \
+ }\
+ description { \
+ state: "hide" 0.0; \
+ visible: 0; \
+ }\
+}
+
+#define MC_LOCKSCREEN_PART_SWALLOW(__name, __to, __sx, __sy, __ex, __ey) \
+part { \
+ name: __name; \
+ mouse_events: 1; \
+ type: SWALLOW; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0.5 0.5; \
+ fixed: 1 1; \
+ visible: 1; \
+ fixed:1 1;\
+ rel1 { \
+ relative: __sx __sy; \
+ to: __to; \
+ } \
+ rel2 { \
+ relative: __ex __ey; \
+ to: __to; \
+ } \
+ color: 0 0 0 0; \
+ } \
+}
+
+#define MC_LOCKSCREEN_PROGRAM_BTN_ACTION(__btn, __down_emission, __down_src, __up_emission, __up_src, __clicked_emission, __clicked_src) \
+program { \
+ source: __btn; \
+ signal: "mouse,down,1"; \
+ script { \
+ set_state(PART:__btn"_bg", "pressed", 0.0); \
+ emit(__down_emission, __down_src); \
+ } \
+ transition: ACCELERATE 0.02;\
+} \
+program { \
+ signal: "mouse,up,1"; \
+ source: __btn; \
+ script { \
+ set_state(PART:__btn"_bg", "default", 0.0); \
+ emit(__up_emission, __up_src); \
+ } \
+} \
+program { \
+ signal: "mouse,clicked,1"; \
+ source: __btn; \
+ action: SIGNAL_EMIT __clicked_emission __clicked_src; \
+ after: "play_sound"; \
+}
+
+#define MC_LOCKSCREEN_BUTTON_PROGRAM(__name) \
+program { \
+ name: __name"_down"; \
+ source: __name; \
+ signal: "mouse,down,1"; \
+ action: STATE_SET "press" 0.0; \
+ target: __name"_bg"; \
+ target: __name"_press_bg"; \
+ target: __name; \
+ transition: ACCELERATE 0.02;\
+} \
+program { \
+ name: __name"_up"; \
+ source: __name; \
+ signal: "mouse,up,1"; \
+ action: STATE_SET "default" 0.0; \
+ target: __name"_bg"; \
+ target: __name"_press_bg"; \
+ target: __name; \
+ transition: DECELERATE 0.02;\
+} \
+program { \
+ name: __name"_unpressed"; \
+ source: __name; \
+ signal: "signal.button.unpressed"; \
+ action: STATE_SET "default" 0.0; \
+ target: __name"_bg"; \
+ target: __name"_press_bg"; \
+ target: __name; \
+ transition: DECELERATE 0.02;\
+} \
+program { \
+ name: __name"_clicked"; \
+ source: __name; \
+ signal: "mouse,clicked,1"; \
+ action: SIGNAL_EMIT __name"_clicked" 0.0; \
+ after: "play_sound"; \
+}
+
+#define MC_LOCKSCREEN_BUTTON_VISIVBLE_PROGRAM(__name) \
+program { \
+ name: __name"_visible" ; \
+ signal: __name"_visible"; \
+ source: __name; \
+ action: STATE_SET "default" 0.0; \
+ target: __name"_bg"; \
+ target: __name"_press_bg"; \
+ target: __name; \
+} \
+program { \
+ name: __name"_invisible" ; \
+ signal: __name"_invisible"; \
+ source: __name; \
+ action: STATE_SET "invisible" 0.0; \
+ target: __name"_bg"; \
+ target: __name"_press_bg"; \
+ target: __name; \
+}
+
+#define MC_LOCKSCREEN_PROGRAM_BTN_VISIBLE(__btn, __show_signal, __hide_signal) \
+program { \
+ signal: __show_signal; \
+ source: "*"; \
+ action: STATE_SET "default" 0.0; \
+ target: __btn"_clip"; \
+} \
+program { \
+ signal: __hide_signal; \
+ source: "*"; \
+ action: STATE_SET "hide" 0.0; \
+ target: __btn"_clip"; \
+}
+
+#define MC_LOCKSCREEN_MINI_CONTROL_HIDE_SWALLOW_OPTION(__name, __to) \
+part { \
+ name: __name; \
+ mouse_events: 1; \
+ type: SWALLOW; \
+ scale: 1; \
+ repeat_events: 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0.5 0.5; \
+ visible: 0; \
+ rel1 { \
+ relative: 0 0; \
+ to: __to; \
+ } \
+ rel2 { \
+ relative: 1 1; \
+ to: __to; \
+ } \
+ color: 0 0 0 0; \
+ } \
+ description { \
+ state: "visible" 0.0; \
+ inherit: "default"; \
+ visible: 1; \
+ } \
+}
+
+#define MC_LOCKSCREEN_MINI_CONTROL_BUTTON_INVISIVBLE_PROGRAM(__name) \
+program { \
+ name: __name"_visible" ; \
+ signal: __name"_visible"; \
+ source: __name; \
+ action: STATE_SET "visible" 0.0; \
+ target: __name; \
+} \
+program { \
+ name: __name"_invisible" ; \
+ signal: __name"_invisible"; \
+ source: __name; \
+ action: STATE_SET "default" 0.0; \
+ target: __name; \
+}
+
+externals {
+ external: "elm";
+ external: "feedback";
+}
+
+collections {
+base_scale: 2.4;
+sounds {
+ sample {
+ name: "button-pressed" AS_IS;
+ source: MP_BUTTON_PRESSED_NAME;
+ }
+}
+plugins {
+ plugin {
+ name: "touch_sound_plugin";
+ source: "feedback";
+ param: "FEEDBACK_TYPE_SOUND FEEDBACK_PATTERN_TAP";
+ }
+}
+group {
+ name: "music-lockscreenmini";
+ images {
+ image: MC_LOCKSCREEN_PREVIOUS COMP;
+ image: MC_LOCKSCREEN_PREVIOUS_PRESS COMP;
+ image: MC_LOCKSCREEN_NEXT COMP;
+ image: MC_LOCKSCREEN_NEXT_PRESS COMP;
+ image: MC_LOCKSCREEN_PLAY COMP;
+ image: MC_LOCKSCREEN_PAUSE COMP;
+ image: MC_LOCKSCREEN_PLAY_PRESS COMP;
+ image: MC_LOCKSCREEN_PAUSE_PRESS COMP;
+ }
+ parts {
+ part{ name: "bg";
+ type : RECT;
+ scale : 1;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ min : 0 LOCKSCREEN_MINI_H;
+ fixed: 1 1;
+ rel1{ relative : 0 0;}
+ rel2{ relative : 1 1;}
+ color : MC_LOCKSCREEN_BG;
+ }
+ }
+
+ part { name: "padding.top";
+ type: SPACER;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 0; to: "bg"; }
+ rel2 { relative: 1 0; to: "bg"; }
+ min: 0 LOCKSCREEN_TOP_PADDING;
+ fixed: 0 1;
+ align: 0 0;
+ }
+ }
+
+ part { name: "padding.left";
+ type: SPACER;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 0; to: "bg"; }
+ rel2 { relative: 0 1; to: "bg"; }
+ min: LOCKSCREEN_LEFT_PADDING 0;
+ fixed: 1 0;
+ align: 0 0;
+ }
+ }
+
+ part { name: "padding.right";
+ type: SPACER;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 1 0; to: "bg"; }
+ rel2 { relative: 1 1; to: "bg"; }
+ min: LOCKSCREEN_RIGHT_PADDING 0;
+ fixed: 1 0;
+ align: 1 0;
+ }
+ }
+
+ part { name: "padding.bottom";
+ type: SPACER;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 1; to: "bg"; }
+ rel2 { relative: 1 1; to: "bg"; }
+ min: 0 LOCKSCREEN_BOTTOM_PADDING;
+ fixed: 0 1;
+ align: 0 1;
+ }
+ }
+ part { name: "elm.text";
+ type: SWALLOW;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 1.0 1.0; to_x: "padding.left"; to_y: "padding.top";}
+ rel2 { relative: 0 1.0; to_x: "padding.right"; to_y: "padding.top"; offset: 0 57;}
+ fixed: 1 1;
+ }
+ }
+
+ part { name: "control_area";
+ type: SPACER;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 1.0 1.0; to_x: "padding.left"; to_y: "elm.text"; }
+ rel2 { relative: 0.0 0.0; to_x: "padding.right"; to_y: "padding.bottom"; }
+ min: 0 134.4;
+ fixed: 0 1;
+ align: 0.5 0.5;
+ }
+ }
+
+ part { name: "rew_btn_area";
+ type: SPACER;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.23 0.45; to_x: "control_area"; to_y: "control_area";}
+ rel2 { relative: 0.23 0.45; to_x: "control_area"; to_y: "control_area";}
+ min: 99 134;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ }
+ }
+
+ part { name: "left_area";
+ type: SPACER;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; to: "rew_btn_area"; }
+ rel2 { relative: 1.0 1.0; to: "rew_btn_area"; }
+ min: LOCKSCREEN_BUTTON_SIZE_MIN_MAX;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ }
+ }
+
+ MC_LOCKSCREEN_PART_BUTTON("rew_btn", "left_area", MC_LOCKSCREEN_PREVIOUS, MC_LOCKSCREEN_PREVIOUS_PRESS, LOCKSCREEN_BUTTON_SIZE_MIN_MAX)
+ MC_LOCKSCREEN_FOCUSED_COVER("rew", "left_area");
+
+ MC_LOCKSCREEN_PART_AREA_FROM_LEFT("rew_right_padding", "left_area", LOCKSCREEN_INTERVAL, 134)
+
+ MC_LOCKSCREEN_PART_AREA_FROM_LEFT("play_pause_btn_area", "rew_right_padding", 126, 134)
+
+ MC_LOCKSCREEN_PART_BUTTON("play_btn", "play_pause_btn_area", MC_LOCKSCREEN_PAUSE, MC_LOCKSCREEN_PAUSE_PRESS, LOCKSCREEN_BIG_BTN_SIZE_MIN_MAX)
+ MC_LOCKSCREEN_PAUSE_PART_BUTTON("pause_btn", "play_pause_btn_area", MC_LOCKSCREEN_PLAY, MC_LOCKSCREEN_PLAY_PRESS, LOCKSCREEN_BIG_BTN_SIZE_MIN_MAX)
+
+ MC_LOCKSCREEN_FOCUSED_COVER("play_pause", "play_pause_btn_area");
+
+ MC_LOCKSCREEN_PART_AREA_FROM_LEFT("play_pause_right_padding", "play_pause_btn_area", LOCKSCREEN_INTERVAL, 134)
+
+ MC_LOCKSCREEN_PART_AREA_FROM_LEFT("ff_btn_area", "play_pause_right_padding", 99, 105)
+
+ MC_LOCKSCREEN_PART_BUTTON("ff_btn", "ff_btn_area", MC_LOCKSCREEN_NEXT, MC_LOCKSCREEN_NEXT_PRESS, LOCKSCREEN_BUTTON_SIZE_MIN_MAX)
+ MC_LOCKSCREEN_FOCUSED_COVER("ff", "ff_btn_area");
+
+ }
+
+ programs {
+ MC_LOCKSCREEN_PROGRAM_PLAY_TOUCH_SOUND
+
+ MC_LOCKSCREEN_BUTTON_PROGRAM("rew_btn")
+ MC_LOCKSCREEN_BUTTON_PROGRAM("ff_btn")
+
+ MC_LOCKSCREEN_BUTTON_PROGRAM("play_btn")
+ MC_LOCKSCREEN_BUTTON_VISIVBLE_PROGRAM("play_btn")
+ MC_LOCKSCREEN_BUTTON_PROGRAM("pause_btn")
+ MC_LOCKSCREEN_BUTTON_VISIVBLE_PROGRAM("pause_btn")
+
+ program { name: "set_pause_icon";
+ signal: "set_pause";
+ source: "*";
+ script{
+ emit("hide_play_btn", "edje");
+ emit("show_pause_btn", "edje");
+ }
+ }
+ program { name: "set_play_icon";
+ signal: "set_play";
+ source: "*";
+ script{
+ emit("show_play_btn", "edje");
+ emit("hide_pause_btn", "edje");
+ }
+ }
+ }
+
+}
+
+
+} // collection
+
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+
+#define MP_LRC_BG_W 720
+#define MP_LRC_BG_H 720 /*624*/
+#define MP_LRC_BOX_PAD_TOP 0/*42*/
+#define MP_LRC_BOX_PAD_LEFT 56
+#define MP_LRC_BOX_PAD_RIGHT 56
+#define MP_LRC_BOX_W (MP_LRC_BG_W-MP_LRC_BOX_PAD_LEFT-MP_LRC_BOX_PAD_RIGHT-60)*0.95
+#define MP_LRC_BOX_H (MP_LRC_BG_H-MP_LRC_BOX_PAD_TOP)
+
+#define MP_LRC_LINE_W MP_LRC_BOX_W
+#define MP_LRC_LINE_H 48
+
+#define MP_LRC_BG_W_LANDSCAPE 720
+#define MP_LRC_BG_H_LANDSCAPE 150
+#define MP_LRC_BOX_PAD_TOP_LANDSCAPE 12
+#define MP_LRC_BOX_PAD_BOTTOM_LANDSCAPE 12
+#define MP_LRC_BOX_PAD_LEFT_LANDSCAPE 64
+#define MP_LRC_BOX_PAD_RIGHT_LANDSCAPE 64
+#define MP_LRC_BOX_W_LANDSCAPE (MP_LRC_BG_W_LANDSCAPE-MP_LRC_BOX_PAD_LEFT_LANDSCAPE-MP_LRC_BOX_PAD_RIGHT_LANDSCAPE)
+#define MP_LRC_BOX_H_LANDSCAPE (MP_LRC_BG_H_LANDSCAPE-MP_LRC_BOX_PAD_TOP_LANDSCAPE-MP_LRC_BOX_PAD_BOTTOM_LANDSCAPE)
+
+#define MP_LRC_HEAD_LINE_W MP_LRC_BOX_W
+#define MP_LRC_HEAD_LINE_W_LANDSCAPE MP_LRC_BOX_W
+#define MP_LRC_HEAD_LINE_H 18 /*48*/
+#define MP_LRC_HEAD_LINE_H_LANDSCAPE 10
+
+#define MP_LRC_TEXT_SIZE 20
+#define MP_LRC_TEXT_COLOR 62 62 62 255
+//#define MP_LRC_TEXT_STYLE "Light"
+#define MP_LRC_HIGHLIGHTED_TEXT_SIZE 20
+#define MP_LRC_HIGHLIGHTED_TEXT_COLOR 0 0 0 255
+#define MP_LRC_TEXT_STYLE "Bold"
+
+group{
+ name: "mp_lrc_layout";
+
+ parts {
+ part {
+ name: "bg";
+ type: RECT;
+ mouse_events: 1;
+ repeat_events: 1;
+ description {
+ color: 0 0 0 0;
+ state: "default" 0.0;
+ rel1 { relative: 0.0 0.0;}
+ rel2 { relative: 1.0 1.0;}
+ }
+ }
+
+ part {
+ name: "lyric";
+ type: SWALLOW;
+ mouse_events: 1;
+ repeat_events: 1;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ rel1 { relative: 0.0 MP_LRC_BOX_PAD_TOP/MP_LRC_BG_H; to: "bg";}
+ rel2 { relative: 1.0 1.0; to: "bg";}
+ }
+ }
+ }
+}
+
+group {
+ name, "mp_lrc_line";
+
+ styles
+ {
+ style {
+ name: "lyricstyle";
+ base: "font=Tizen:style=Regular font_size=30 align=center color=#FFFFFF wrap=char";
+ tag: "br" "\n";
+ tag: "tab" "\t";
+ tag: "em" "+ font=Tizen:style=Oblique";
+ tag: "b" "+ font=Tizen:style=Bold";
+ tag: "link" "+ color=#800 underline=on underline_color=#8008";
+ tag: "hilight" "+ font=Tizen:style=Bold color=#277EE6";
+ }
+ }
+
+ parts {
+ part { name, "background";
+ type: RECT;
+ scale: 1;
+ description {
+ state, "default" 0.0;
+ color: 0 0 0 0;
+ min: MP_LRC_LINE_W MP_LRC_LINE_H;
+ }
+ }
+
+ part {
+ name: "txt";
+ scale: 1;
+ type: TEXTBLOCK;
+ mouse_events: 1;
+ repeat_events: 1;
+ description {
+ state: "default" 0.0;
+ rel1.to: "background";
+ rel2.to: "background";
+ text {
+ style: "lyricstyle";
+ min: 0 1;
+ }
+ }
+ }
+
+ }
+}
+
+group {
+ name: "mp_lrc_head";
+ min: MP_LRC_HEAD_LINE_W MP_LRC_HEAD_LINE_H;
+
+ parts {
+
+ part { name: "start";
+ mouse_events: 0;
+ type: SPACER;
+ description { state: "default" 0.0;
+ min: 0 MP_LRC_HEAD_LINE_H;
+ rel1 { relative: 0.0 0.0;
+ offset : 0 0;}
+ rel2 { relative: 1.0 1.0;}
+ }
+ }
+ }
+}
+
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include "mp-defines.h"
+
+#define MINI_H 70
+#define MINI_H_PORT 70
+#define TOP_PADDING 4
+#define LEFT_PADDING 12
+#define RIGHT_PADDING 4
+#define BOTTOM_PADDING 6
+#define ALBUM_ART_SIZE 120 120
+#define BUTTON_SIZE_MIN_MAX 80 80
+#define BIG_BTN_SIZE_MIN_MAX 80 80
+#define BUTTON_EXPAND_OFFSET 0
+#define BUTTON_CLOSE_SIZE_MAX 30 30
+#define PLAY_BTN_SIZE_MIN_MAX 80 80
+#define FF_BTN_SIZE_MIN_MAX 80 80
+
+
+#define MC_BG 30 28 28 0
+
+
+#define MC_MUSIC_LAGRE_BTN_EF "mini_controller/bg_btn_player_01_ef.png"
+#define MC_MUSIC_LAGRE_BTN_BG "mini_controller/bg_btn_player_01.png"
+#define MC_MUSIC_PLAY_BTN "mini_controller/music_btn_player_play_nor.png"
+#define MC_MUSIC_PAUSE_BTN "mini_controller/music_btn_player_pause_nor.png"
+
+
+#define MC_MUSIC_SMALL_BTN_EF "mini_controller/bg_btn_player_02_ef.png"
+#define MC_MUSIC_SMALL_BTN_BG "mini_controller/bg_btn_player_02.png"
+
+#define MC_MUSIC_CLOSE_BTN "mini_controller/btn_controller_close.png"
+#define MC_MUSIC_PREV_BTN "mini_controller/music_btn_player_prev_nor.png"
+#define MC_MUSIC_NEXT_BTN "mini_controller/music_btn_player_next_nor.png"
+
+#define MC_MUSIC_ALBUM_FRAME "mini_controller/album_frame.png"
+
+
+
+
+#define MC_FOCUSED_COVER(__name, __over_part_bg) \
+part { \
+ name: __name"_focus"; \
+ type: SWALLOW; \
+ mouse_events: 1; \
+ scale: 1; \
+ repeat_events: 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0 0; \
+ visible:1; \
+ fixed: 1 1;\
+ rel1 { \
+ relative: 0 0; \
+ to: __over_part_bg; \
+ } \
+ rel2 { \
+ relative: 1 1; \
+ to: __over_part_bg; \
+ } \
+ } \
+}
+
+#define MC_PART_AREA_FROM_LEFT(__name, __left_part, __width, __height) \
+part { name: __name; \
+ type: SPACER; \
+ scale: 1; \
+ mouse_events: 0; \
+ description { state: "default" 0.0; \
+ rel1 { relative: 1.0 0.5; to: __left_part; } \
+ rel2 { relative: 1.0 0.5; to: __left_part; } \
+ min: __width __height; \
+ fixed: 1 1; \
+ align: 0.0 0.5; \
+ } \
+}
+
+#define MC_PART_AREA_FROM_SWALLOW_LEFT(__name, __left_part, __width, __height) \
+part { name: __name; \
+ type: SWALLOW; \
+ scale: 1; \
+ mouse_events: 1; \
+ description { state: "default" 0.0; \
+ rel1 { relative: 1.0 0.5; to: __left_part; } \
+ rel2 { relative: 1.0 0.5; to: __left_part; } \
+ min: __width __height; \
+ fixed: 1 1; \
+ align: 0.0 0.5; \
+ } \
+}
+#define MC_IMAGE_PART_FOCUS(__name,__to,__image,__btn_min_max)\
+part { name: __name;\
+ type: IMAGE;\
+ scale: 1;\
+ mouse_events: 1;\
+ description { state: "default" 0.0;\
+ rel1 { relative: 0.5 0.5; to: __to; }\
+ rel2 { relative: 0.5 0.5; to: __to; }\
+ min: __btn_min_max;\
+ max: __btn_min_max;\
+ image.normal: __image;\
+ fixed: 1 1;\
+ align: 0.5 0.5;\
+ color: 41 215 255 255;\
+ }\
+ description { state: "pressed" 0.0;\
+ inherit: "default" 0.0;\
+ color: 41 215 255 255;\
+ }\
+ description { state: "focus" 0.0;\
+ inherit: "default" 0.0;\
+ color: 6 119 194 255;\
+ }\
+ description { state: "hide" 0.0;\
+ inherit: "default" 0.0;\
+ visible: 0;\
+ }\
+ }
+
+
+#define MC_IMAGE_PART(__name,__to,__image,__normal_code_red_component,__normal_code_green_component,__normal_code_blue_component,__normal_code_alpha_component,__press_code_red_component,__press_code_green_component,__press_code_blue_component,__press_code_alpha_component,__btn_min_max)\
+part { name: __name;\
+ type: IMAGE;\
+ scale: 1;\
+ mouse_events: 1;\
+ description { state: "default" 0.0;\
+ rel1 { relative: 0.5 0.5; to: __to; }\
+ rel2 { relative: 0.5 0.5; to: __to; }\
+ min: __btn_min_max;\
+ max: __btn_min_max;\
+ image.normal: __image;\
+ fixed: 1 1;\
+ align: 0.5 0.5;\
+ color: __normal_code_red_component __normal_code_green_component __normal_code_blue_component __normal_code_alpha_component;\
+ }\
+ description { state: "pressed" 0.0;\
+ inherit: "default" 0.0;\
+ color: __press_code_red_component __press_code_green_component __press_code_blue_component __press_code_alpha_component;\
+ }\
+ description { state: "hide" 0.0;\
+ inherit: "default" 0.0;\
+ visible: 0;\
+ }\
+ }
+
+#define MC_PROGRAM_IMAGE_VISIBLE(__btn, __show_signal, __hide_signal) \
+program { \
+ signal: __show_signal; \
+ source: "*"; \
+ action: STATE_SET "default" 0.0; \
+ target: __btn; \
+} \
+program { \
+ signal: __hide_signal; \
+ source: "*"; \
+ action: STATE_SET "hide" 0.0; \
+ target: __btn; \
+}
+
+
+#define MC_PART_ICON_BTN(__name, __to, __normal, __pressed, __btn_min_max) \
+part { name: __name"_clip"; \
+ type: RECT; \
+ scale: 1; \
+ mouse_events: 0; \
+ description { state: "default" 0.0; \
+ rel1.to: __name"_bg"; \
+ rel2.to: __name"_bg"; \
+ color: 255 255 255 255; \
+ } \
+ description { state: "hide" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 0; \
+ } \
+} \
+part { name: __name"_bg"; \
+ type: IMAGE; \
+ scale: 1; \
+ mouse_events: 0; \
+ clip_to: __name"_clip"; \
+ description { state: "default" 0.0; \
+ rel1 { relative: 0.5 0.5; to: __to; } \
+ rel2 { relative: 0.5 0.5; to: __to; }\
+ min: __btn_min_max; \
+ max: __btn_min_max; \
+ image.normal: __normal; \
+ fixed: 1 1; \
+ align: 0.5 0.5; \
+ } \
+ description { state: "pressed" 0.0; \
+ inherit: "default" 0.0; \
+ image.normal: __pressed; \
+ } \
+} \
+part { name: __name; \
+ type: RECT; \
+ scale: 1; \
+ mouse_events: 1; \
+ clip_to: __name"_clip"; \
+ description { state: "default" 0.0; \
+ rel1.to: __name"_bg"; \
+ rel2.to: __name"_bg"; \
+ color: 0 0 0 0; \
+ } \
+}
+
+#define MC_PART_TEXT_BTN(__name, __to, __text_part_name) \
+part { name: __name"_clip"; \
+ type: RECT; \
+ scale: 1; \
+ mouse_events: 0; \
+ description { state: "default" 0.0; \
+ rel1.to: __to; \
+ rel2.to: __to; \
+ color: 255 255 255 255; \
+ } \
+ description { state: "hide" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 0; \
+ } \
+} \
+part { name: __name"_bg"; \
+ type: SPACER; \
+ scale: 1; \
+ mouse_events: 0; \
+ clip_to: __name"_clip"; \
+ description { state: "default" 0.0; \
+ rel1.to: __to; \
+ rel2.to: __to; \
+ } \
+ description { state: "pressed" 0.0; \
+ inherit: "default" 0.0; \
+ } \
+} \
+part { name: __text_part_name; \
+ type: TEXT; \
+ scale: 1; \
+ mouse_events: 0; \
+ clip_to: __name"_clip"; \
+ description { state: "default" 0.0; \
+ rel1.to: __name"_bg"; \
+ rel2.to: __name"_bg"; \
+ text { \
+ font: "Tizen:style=Medium"; \
+ size: 28; \
+ align: 0.5 0.5; \
+ } \
+ color: 149 149 149 255; \
+ } \
+} \
+part { name: __name; \
+ type: RECT; \
+ scale: 1; \
+ mouse_events: 1; \
+ clip_to: __name"_clip"; \
+ description { state: "default" 0.0; \
+ rel1.to: __to; \
+ rel2.to: __to; \
+ color: 0 0 0 0; \
+ } \
+}
+
+#define MC_PART_RECT(__name, __to, __sx, __sy, __ex, __ey) \
+part { \
+ name: __name; \
+ mouse_events: 1; \
+ repeat_events: 1; \
+ type: RECT; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0 0; \
+ visible: 1; \
+ rel1 { \
+ relative: __sx __sy; \
+ to: __to; \
+ } \
+ rel2 { \
+ relative: __ex __ey; \
+ to: __to; \
+ } \
+ color: 0 0 0 0; \
+ }\
+ description { \
+ state: "hide" 0.0; \
+ visible: 0; \
+ }\
+}
+
+#define MC_PART_SWALLOW(__name, __to, __sx, __sy, __ex, __ey) \
+part { \
+ name: __name; \
+ mouse_events: 1; \
+ type: SWALLOW; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0.5 0.5; \
+ fixed: 1 1; \
+ visible: 1; \
+ fixed:1 1;\
+ rel1 { \
+ relative: __sx __sy; \
+ to: __to; \
+ } \
+ rel2 { \
+ relative: __ex __ey; \
+ to: __to; \
+ } \
+ color: 0 0 0 0; \
+ } \
+}
+
+#define MC_PROGRAM_BTN_ACTION(__btn, __down_emission, __down_src, __up_emission, __up_src, __clicked_emission, __clicked_src) \
+program { \
+ name: __btn"_after_down"; \
+ signal: "mouse,down,1"; \
+ source: __btn; \
+ script { \
+ set_state(PART:__btn"_bg", "pressed", 0.0); \
+ emit(__down_emission, __down_src); \
+ } \
+} \
+program { \
+ source: __btn; \
+ signal: "mouse,down,1"; \
+ action: PLAY_SAMPLE "button-pressed" 1.0; \
+ after: __btn"_after_down"; \
+ transition: ACCELERATE 0.02;\
+} \
+program { \
+ signal: "mouse,up,1"; \
+ source: __btn; \
+ script { \
+ set_state(PART:__btn"_bg", "default", 0.0); \
+ emit(__up_emission, __up_src); \
+ } \
+} \
+program { \
+ signal: "mouse,clicked,1"; \
+ source: __btn; \
+ action: SIGNAL_EMIT __clicked_emission __clicked_src; \
+}
+
+#define MC_PROGRAM_BTN_VISIBLE(__btn, __show_signal, __hide_signal) \
+program { \
+ signal: __show_signal; \
+ source: "*"; \
+ action: STATE_SET "default" 0.0; \
+ target: __btn"_clip"; \
+} \
+program { \
+ signal: __hide_signal; \
+ source: "*"; \
+ action: STATE_SET "hide" 0.0; \
+ target: __btn"_clip"; \
+}
+
+#define MINI_CONTROL_HIDE_SWALLOW_OPTION(__name, __to) \
+part { \
+ name: __name; \
+ mouse_events: 1; \
+ type: SWALLOW; \
+ scale: 1; \
+ repeat_events: 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0.5 0.5; \
+ visible: 0; \
+ rel1 { \
+ relative: 0 0; \
+ to: __to; \
+ } \
+ rel2 { \
+ relative: 1 1; \
+ to: __to; \
+ } \
+ color: 0 0 0 0; \
+ } \
+ description { \
+ state: "visible" 0.0; \
+ inherit: "default"; \
+ visible: 1; \
+ } \
+}
+
+#define MINI_CONTROL_BUTTON_INVISIVBLE_PROGRAM(__name) \
+program { \
+ name: __name"_visible" ; \
+ signal: __name"_visible"; \
+ source: __name; \
+ action: STATE_SET "visible" 0.0; \
+ target: __name; \
+} \
+program { \
+ name: __name"_invisible" ; \
+ signal: __name"_invisible"; \
+ source: __name; \
+ action: STATE_SET "default" 0.0; \
+ target: __name; \
+}
+
+externals {
+ external: "elm";
+ external: "feedback";
+}
+
+collections {
+base_scale: 2.4;
+sounds {
+ sample {
+ name: "button-pressed" AS_IS;
+ source: MP_BUTTON_PRESSED_NAME;
+ }
+}
+
+plugins {
+ plugin {
+ name: "touch_sound_plugin";
+ source: "feedback";
+ param: "FEEDBACK_TYPE_SOUND FEEDBACK_PATTERN_TAP";
+ }
+}
+group {
+ name: "music-minicontroller";
+ images {
+ image: MC_MUSIC_LAGRE_BTN_EF COMP;
+ image: MC_MUSIC_LAGRE_BTN_BG COMP;
+ image: MC_MUSIC_PLAY_BTN COMP;
+ image: MC_MUSIC_PAUSE_BTN COMP;
+ image: MC_MUSIC_SMALL_BTN_EF COMP;
+ image: MC_MUSIC_SMALL_BTN_BG COMP;
+
+ image: MC_MUSIC_CLOSE_BTN COMP;
+ image: MC_MUSIC_PREV_BTN COMP;
+ image: MC_MUSIC_NEXT_BTN COMP;
+
+ image: MC_MUSIC_ALBUM_FRAME COMP;
+ }
+ parts {
+ part{ name: "bg";
+ type : RECT;
+ scale : 1;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ min : 0 MINI_H_PORT;
+ fixed: 1 1;
+ rel1{ relative : 0 0;}
+ rel2{ relative : 1 1;}
+ color: MC_BG;
+ }
+ }
+
+ part { name: "event_box";
+ type : SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0 0;
+ to: "bg";
+ }
+ rel2 {
+ relative: 1 1;
+ to: "bg";
+ }
+ }
+ }
+
+ part { name: "padding.top";
+ type: SPACER;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 0; to: "bg"; }
+ rel2 { relative: 1 0; to: "bg"; }
+ min: 0 TOP_PADDING;
+ fixed: 0 1;
+ align: 0 0;
+ }
+ }
+
+ part { name: "padding.left";
+ type: SPACER; scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 0; to: "bg"; }
+ rel2 { relative: 0 1; to: "bg"; }
+ min: LEFT_PADDING 0;
+ fixed: 1 0;
+ align: 0 0;
+ }
+ }
+
+ part { name: "padding.right";
+ type: SPACER;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 1 0; to: "bg"; }
+ rel2 { relative: 1 1; to: "bg"; }
+ min: RIGHT_PADDING 0;
+ fixed: 1 0;
+ align: 1 0;
+ }
+ }
+
+ part { name: "padding.bottom";
+ type: SPACER;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 1; to: "bg"; }
+ rel2 { relative: 1 1; to: "bg"; }
+ min: 0 BOTTOM_PADDING;
+ fixed: 0 1;
+ align: 0 1;
+ }
+ }
+
+ part { name: "padding_for_albumart.top";
+ type: SPACER;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: 0 0; to: "bg"; }
+ rel2 { relative: 1 0; to: "bg"; }
+ min: 0 15;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+
+ part { name: "padding_for_albumart.bottom";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 1; to: "bg"; }
+ rel2 { relative: 1 1; to: "bg"; }
+ min: 0 15;
+ fixed: 0 1;
+ align: 0 1;
+ }
+ }
+
+ part { name: "albumarmt_bg";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 1.0 1.0; to_x: "padding.left"; to_y: "padding_for_albumart.top"; }
+ rel2 { relative: 1.0 0.0; to_x: "padding.left"; to_y: "padding_for_albumart.bottom"; }
+ min: ALBUM_ART_SIZE;
+ max: ALBUM_ART_SIZE;
+ fixed: 1 1;
+ align: 0.0 0.5;
+ }
+ }
+
+ part { name: "albumart_image";
+ type: SWALLOW;
+ scale: 1;
+ mouse_events: 1;
+ clip_to: "albumarmt_bg";
+ description { state: "default" 0.0;
+ rel1 { relative: 0.5 0.5; to: "albumarmt_bg"; }
+ rel2 { relative: 0.5 0.5; to: "albumarmt_bg"; }
+ min: ALBUM_ART_SIZE;
+ max: ALBUM_ART_SIZE;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ }
+ }
+
+ part { name: "albumarmt_frame";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; to: "albumarmt_bg";}
+ rel2 { relative: 1.0 1.0; to: "albumarmt_bg";}
+ min: ALBUM_ART_SIZE;
+ image.normal: MC_MUSIC_ALBUM_FRAME;
+ color_class:"AO009";
+ }
+ }
+
+ part { name: "right_area";
+ type: SPACER;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 1.0 1.0; to_x: "albumarmt_bg"; to_y: "padding.top"; }
+ rel2 { relative: 0.0 0.0; to_x: "padding.right"; to_y: "padding.bottom"; }
+ align: 0.0 0.0;
+ }
+ }
+
+ part { name: "elm.text"; // title
+ type: SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 1.0; to_x: "right_area"; to_y: "padding.top"; offset: 38 0;}
+ rel2 { relative: 0.83 1.0; to_x: "right_area"; to_y: "padding.top";}
+ min: 143 17;
+ fixed: 1 1;
+ align: 0.5 0.0;
+ }
+ }
+
+ part { name: "close_btn_area";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 1.0; to_x: "padding.right"; to_y: "elm.text";offset: -25 1;}
+ rel2 { relative: 0.0 0.0; to_x: "padding.right"; to_y: "elm.text"; offset: -25 1;}
+ min: BUTTON_CLOSE_SIZE_MAX;
+ max: BUTTON_CLOSE_SIZE_MAX;
+ color: 255 0 0 0;
+ fixed: 1 1;
+ }
+ }
+ MC_IMAGE_PART("close_btn","close_btn_area",MC_MUSIC_CLOSE_BTN,61,185,204,255,61,185,204,255,BUTTON_CLOSE_SIZE_MAX)
+ part { name: "close_btn_touch_area";
+ type: RECT;
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ rel1 { to: "close_btn_area"; offset: -7 -7; }
+ rel2 { to: "close_btn_area"; offset: 7 7; }
+ color: 0 0 0 0;
+ }
+ }
+
+ part { name: "mid_padding";
+ type: RECT;
+ mouse_events: 0;
+ scale: 1;
+ description
+ { state: "default" 0.0;
+ rel1 { relative: 0.0 1.0; to_x: "right_area"; to_y: "elm.text"; offset: 40 0; }
+ rel2 { relative: 1.0 1.0; to_x: "padding.right"; to_y: "elm.text"; offset: 0 0; }
+ align: 0.0 0.0;
+ color: 255 0 0 0;
+ }
+ }
+
+ part { name: "button_area";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 1; to: "mid_padding";}
+ rel2 { relative: 1 0; to_x: "elm.text"; to_y: "padding.bottom"; }
+ visible: 1;
+ }
+ }
+
+ part { name: "rew_btn_area";
+ type: RECT;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 0.5; to: "button_area"; offset: 10 0;}
+ rel2 { relative: 0.0 0.5; to: "button_area"; offset: 10 -16;}
+ min: BUTTON_SIZE_MIN_MAX;
+ fixed: 1 1;
+ align: 0.0 0.5;
+ visible: 0;
+ }
+ }
+
+ MC_IMAGE_PART("rew_btn_bg","rew_btn_area",MC_MUSIC_SMALL_BTN_BG,0,0,0,0,0,0,0,0,BUTTON_SIZE_MIN_MAX)
+ MC_IMAGE_PART("rew_btn_ef","rew_btn_area",MC_MUSIC_SMALL_BTN_EF,0,0,0,0,0,0,0,0,BUTTON_SIZE_MIN_MAX)
+ MC_IMAGE_PART("rew_btn","rew_btn_area",MC_MUSIC_PREV_BTN,61,185,204,255,34,104,115,255,FF_BTN_SIZE_MIN_MAX)
+ part { name: "rew_btn_touch_area";
+ type: RECT;
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ rel1 { to: "rew_btn_area"; }
+ rel2 { to: "rew_btn_area";}
+ color: 0 0 0 0;
+ }
+ }
+ MC_FOCUSED_COVER("rew_btn", "rew_btn_area");
+
+ part { name: "play_pause_btn_area";
+ type: SPACER;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.4 0.5; to: "button_area"; offset: 0 0;}
+ rel2 { relative: 0.4 0.5; to: "button_area"; offset: 0 -16; }
+ min: BUTTON_SIZE_MIN_MAX;
+ max: BUTTON_SIZE_MIN_MAX;
+ fixed: 1 1;
+ align:0.0 0.5;
+ }
+ }
+
+ MC_IMAGE_PART("play_btn_bg","play_pause_btn_area",MC_MUSIC_LAGRE_BTN_BG,61,185,204,255,34,104,115,255,BIG_BTN_SIZE_MIN_MAX)
+ MC_IMAGE_PART_FOCUS("play_btn_ef","play_pause_btn_area",MC_MUSIC_LAGRE_BTN_EF,BIG_BTN_SIZE_MIN_MAX)
+ MC_IMAGE_PART("play_btn","play_pause_btn_area",MC_MUSIC_PLAY_BTN,255,255,255,255,255,255,255,255,PLAY_BTN_SIZE_MIN_MAX)
+ MC_IMAGE_PART("pause_btn","play_pause_btn_area",MC_MUSIC_PAUSE_BTN,255,255,255,255,255,255,255,255,PLAY_BTN_SIZE_MIN_MAX)
+ part { name: "play_btn_touch_area";
+ type: RECT;
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ rel1 { to: "play_pause_btn_area"; }
+ rel2 { to: "play_pause_btn_area"; }
+ color: 0 0 0 0;
+ }
+ }
+ MC_FOCUSED_COVER("play_pause", "play_pause_btn_area");
+
+ part { name: "ff_btn_area";
+ type: SPACER;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ rel1 { relative:0.8 0.5; to: "button_area";offset: -10 0;}
+ rel2 { relative:0.8 0.5; to: "button_area";offset: -10 -16;}
+ min: FF_BTN_SIZE_MIN_MAX;
+ max: FF_BTN_SIZE_MIN_MAX;
+ fixed: 1 1;
+ align:0.0 0.5;
+ }
+ }
+ MC_IMAGE_PART("ff_btn_bg","ff_btn_area",MC_MUSIC_SMALL_BTN_BG,0,0,0,0,0,0,0,0,BUTTON_SIZE_MIN_MAX)
+ MC_IMAGE_PART("ff_btn_ef","ff_btn_area",MC_MUSIC_SMALL_BTN_EF,0,0,0,0,0,0,0,0,BUTTON_SIZE_MIN_MAX)
+ MC_IMAGE_PART("ff_btn","ff_btn_area",MC_MUSIC_NEXT_BTN,61,185,204,255,34,104,115,255,FF_BTN_SIZE_MIN_MAX)
+ part { name: "ff_btn_touch_area";
+ type: RECT;
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ rel1 { to: "ff_btn_area"; }
+ rel2 { to: "ff_btn_area";}
+ color: 0 0 0 0;
+ }
+ }
+ MC_FOCUSED_COVER("ff_btn", "ff_btn_area");
+ }
+
+ programs {
+ MC_PROGRAM_IMAGE_VISIBLE("play_btn", "show_play_btn", "hide_play_btn")
+ MC_PROGRAM_IMAGE_VISIBLE("pause_btn", "show_pause_btn", "hide_pause_btn")
+
+ program { name: "albumart_cb";
+ signal: "mouse,clicked,1";
+ source: "albumart_image";
+ script{
+ emit("albumart_clicked", "edje");
+ }
+ }
+
+ program { name: "close_area_btn_down";
+ signal: "mouse,down,1";
+ source: "close_btn_touch_area";
+ script{
+ set_state(PART:"close_btn", "pressed", 0.0);
+ emit("close_btn_down", "edje");
+ }
+ }
+
+ program { name: "close_area_btn_up";
+ signal: "mouse,up,1";
+ source: "close_btn_touch_area";
+ script{
+ set_state(PART:"close_btn", "default", 0.0);
+ emit("close_btn_up", "edje");
+ }
+ }
+
+ program { name: "play_pause_btn_area_press";
+ signal: "mouse,down,1";
+ source: "play_btn_touch_area";
+ script{
+ set_state(PART:"play_btn_bg", "pressed", 0.0);
+ set_state(PART:"play_btn_ef", "pressed", 0.0);
+ }
+ }
+
+ program { name: "play_pause_btn_area_up";
+ signal: "mouse,up,1";
+ source: "play_btn_touch_area";
+ script{
+ set_state(PART:"play_btn_bg", "default", 0.0);
+ set_state(PART:"play_btn_ef", "default", 0.0);
+ }
+ }
+
+ program { name: "rew_btn_touch_area_press";
+ signal: "mouse,down,1";
+ source: "rew_btn_touch_area";
+ script{
+ set_state(PART:"rew_btn_bg", "pressed", 0.0);
+ set_state(PART:"rew_btn_ef", "pressed", 0.0);
+ set_state(PART:"rew_btn", "pressed", 0.0);
+ }
+ }
+
+ program { name: "rew_btn_touch_area_up";
+ signal: "mouse,up,1";
+ source: "rew_btn_touch_area";
+ script{
+ set_state(PART:"rew_btn_bg", "default", 0.0);
+ set_state(PART:"rew_btn_ef", "default", 0.0);
+ set_state(PART:"rew_btn", "default", 0.0);
+ }
+ }
+
+ program { name: "ff_btn_touch_area_press";
+ signal: "mouse,down,1";
+ source: "ff_btn_touch_area";
+ script{
+ set_state(PART:"ff_btn_bg", "pressed", 0.0);
+ set_state(PART:"ff_btn_ef", "pressed", 0.0);
+ set_state(PART:"ff_btn", "pressed", 0.0);
+ }
+ }
+
+ program { name: "ff_btn_touch_area_up";
+ signal: "mouse,up,1";
+ source: "ff_btn_touch_area";
+ script{
+ set_state(PART:"ff_btn_bg", "default", 0.0);
+ set_state(PART:"ff_btn_ef", "default", 0.0);
+ set_state(PART:"ff_btn", "default", 0.0);
+ }
+ }
+
+ program { name: "close_area_btn_clicked";
+ signal: "mouse,clicked,1";
+ source: "close_btn_touch_area";
+ script{
+ emit("close_btn_clicked", "edje");
+ }
+ }
+
+ program{
+ name: "albumart_cb_after_down";
+ source: "albumart_image";
+ signal: "mouse,down,1";
+ transition: ACCELERATE 0.02;
+ }
+ program {
+ name: "albumart_cb_down";
+ source: "albumart_image";
+ signal: "mouse,down,1";
+ action: PLAY_SAMPLE "button-pressed" 1.0;
+ after: "albumart_cb_after_down";
+ transition: ACCELERATE 0.02;
+ }
+
+ program { name: "set_pause_icon";
+ signal: "set_pause";
+ source: "*";
+ script{
+ set_state(PART:"play_btn", "hide", 0.0);
+ set_state(PART:"pause_btn", "default",0.0);
+ set_state(PART:"play_btn_ef", "focus", 0.0);
+ }
+ }
+ program { name: "set_play_icon";
+ signal: "set_play";
+ source: "*";
+ script{
+ set_state(PART:"play_btn", "default", 0.0);
+ set_state(PART:"pause_btn", "hide",0.0);
+ set_state(PART:"play_btn_ef", "default", 0.0);
+ }
+ }
+ program { name: "set_ff_btn_uppressed";
+ signal: "ff_btn_unpressed";
+ source: "*";
+ script{
+ set_state(PART:"ff_btn_bg", "default", 0.0);
+ set_state(PART:"ff_btn_ef", "default", 0.0);
+ set_state(PART:"ff_btn", "default", 0.0);
+ }
+ }
+ program { name: "set_rew_btn_uppressed";
+ signal: "rew_btn_unpressed";
+ source: "*";
+ script{
+ set_state(PART:"rew_btn_bg", "default", 0.0);
+ set_state(PART:"rew_btn_ef", "default", 0.0);
+ set_state(PART:"rew_btn", "default", 0.0);
+ }
+ }
+
+ program { name: "touch_snd_rew";
+ signal: "mouse,down,1";
+ source: "rew_btn_touch_area";
+ action: RUN_PLUGIN "touch_sound_plugin";
+ }
+
+ program { name: "touch_snd_ff";
+ signal: "mouse,down,1";
+ source: "ff_btn_touch_area";
+ action: RUN_PLUGIN "touch_sound_plugin";
+ }
+ program { name: "touch_snd_play_pause";
+ signal: "mouse,down,1";
+ source: "play_btn_touch_area";
+ action: RUN_PLUGIN "touch_sound_plugin";
+ }
+ program { name: "touch_snd_shuffle";
+ signal: "mouse,down,1";
+ source: "shuffle_btn_touch_area";
+ action: RUN_PLUGIN "touch_sound_plugin";
+ }
+ program { name: "touch_snd_close";
+ signal: "mouse,down,1";
+ source: "close_btn_touch_area";
+ action: RUN_PLUGIN "touch_sound_plugin";
+ }
+ program { name: "touch_snd_repeat";
+ signal: "mouse,down,1";
+ source: "repeat_btn_touch_area";
+ action: RUN_PLUGIN "touch_sound_plugin";
+ }
+
+ }
+
+}
+
+
+group {
+ name: "music-minicontroller-ld";
+ images {
+ image: MC_MUSIC_LAGRE_BTN_EF COMP;
+ image: MC_MUSIC_LAGRE_BTN_BG COMP;
+ image: MC_MUSIC_PLAY_BTN COMP;
+ image: MC_MUSIC_PAUSE_BTN COMP;
+ image: MC_MUSIC_SMALL_BTN_EF COMP;
+ image: MC_MUSIC_SMALL_BTN_BG COMP;
+
+ image: MC_MUSIC_CLOSE_BTN COMP;
+ image: MC_MUSIC_PREV_BTN COMP;
+ image: MC_MUSIC_NEXT_BTN COMP;
+ }
+ parts {
+ part{ name: "bg";
+ type : RECT;
+ scale : 1;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ min : 0 MINI_H;
+ fixed: 1 1;
+ rel1{ relative : 0 0;}
+ rel2{ relative : 1 1;}
+ color: MC_BG;
+ }
+ }
+
+ part { name: "padding.top";
+ type: SPACER;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 0; to: "bg"; }
+ rel2 { relative: 1 0; to: "bg"; }
+ min: 0 TOP_PADDING;
+ fixed: 0 1;
+ align: 0 0;
+ }
+ }
+
+ part { name: "padding.left";
+ type: SPACER;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 0; to: "bg"; }
+ rel2 { relative: 0 1; to: "bg"; }
+ min: LEFT_PADDING 0;
+ fixed: 1 0;
+ align: 0 0;
+ }
+ }
+
+ part { name: "padding.right";
+ type: SPACER;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 1 0; to: "bg"; }
+ rel2 { relative: 1 1; to: "bg"; }
+ min: RIGHT_PADDING 0;
+ fixed: 1 0;
+ align: 1 0;
+ }
+ }
+
+ part { name: "padding.bottom";
+ type: SPACER;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 1; to: "bg"; }
+ rel2 { relative: 1 1; to: "bg"; }
+ min: 0 BOTTOM_PADDING;
+ fixed: 0 1;
+ align: 0 1;
+ }
+ }
+
+ part { name: "padding_for_albumart.top";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel2 { relative: 1.0 0.0; }
+ min: 0 7;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+
+ part { name: "padding_for_albumart.bottom";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 1; to: "bg"; }
+ rel2 { relative: 1 1; to: "bg"; }
+ min: 0 7;
+ fixed: 0 1;
+ align: 0 1;
+ }
+ }
+
+ part { name: "albumarmt_bg";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 1.0 1.0; to_x: "padding.left"; to_y: "padding_for_albumart.top"; }
+ rel2 { relative: 1.0 0.0; to_x: "padding.left"; to_y: "padding_for_albumart.bottom"; }
+ min: ALBUM_ART_SIZE;
+ max: ALBUM_ART_SIZE;
+ fixed: 1 1;
+ align: 0.0 0.5;
+ }
+ }
+ part { name: "albumart_image";
+ type: SWALLOW;
+ scale: 1;
+ mouse_events: 1;
+ clip_to: "albumarmt_bg";
+ description { state: "default" 0.0;
+ rel1 { relative: 0.5 0.5; to: "albumarmt_bg"; }
+ rel2 { relative: 0.5 0.5; to: "albumarmt_bg"; }
+ min: ALBUM_ART_SIZE;
+ max: ALBUM_ART_SIZE;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ }
+ }
+ part { name: "albumarmt_frame";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; to: "albumarmt_bg";}
+ rel2 { relative: 1.0 1.0; to: "albumarmt_bg";}
+ min: ALBUM_ART_SIZE;
+ image.normal: MC_MUSIC_ALBUM_FRAME;
+ color_class:"AO009";
+ }
+ }
+
+ part { name: "right_area";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 1.0 1.0; to_x: "albumarmt_bg"; to_y: "padding.top"; }
+ rel2 { relative: 0.0 0.0; to_x: "padding.right"; to_y: "padding.bottom"; }
+ align: 0.0 0.0;
+ color:0 255 0 0;
+ }
+ }
+ part { name: "elm.text"; // title
+ type: SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.1 1.0; to_x: "right_area"; to_y: "padding.top";}
+ rel2 { relative: 290/329 1.0; to_x: "right_area"; to_y: "padding.top";}
+ fixed: 1 1;
+ align: 0.5 0.0;
+ }
+ }
+
+ part { name: "mid_padding";
+ type: RECT;
+ mouse_events: 0;
+ scale: 1;
+ description
+ { state: "default" 0.0;
+ //min: 323 3;
+ //max: 323 3;
+ fixed: 1 1;
+ rel1 { relative: 0.0 1.0; to_x: "right_area"; to_y: "elm.text"; offset: 40 0; }
+ rel2 { relative: 1.0 1.0; to_x: "right_area"; to_y: "elm.text"; }
+ fixed: 1 1;
+ align: 0.0 0.0;
+ color: 255 0 0 0;
+ }
+ }
+
+ part { name: "close_btn_area";
+ type: SPACER;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; to_x: "padding.right"; to_y: "elm.text";offset: -30 15;}
+ rel2 { relative: 0.0 0.0; to: "padding.right";to_y: "elm.text"; offset: -30 15;}
+ min: BUTTON_CLOSE_SIZE_MAX;
+ max: BUTTON_CLOSE_SIZE_MAX;
+ fixed: 1 1;
+ }
+ }
+ MC_IMAGE_PART("close_btn","close_btn_area",MC_MUSIC_CLOSE_BTN,61,185,204,255,61,185,204,255,BUTTON_CLOSE_SIZE_MAX)
+ part { name: "close_btn_touch_area";
+ type: RECT;
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 1;
+ description {
+ state: "default" 0.0;
+ rel1 { to: "close_btn_area"; offset: -7 -7;}
+ rel2 { to: "close_btn_area"; offset: 7 7;}
+ color: 0 0 0 0;
+ }
+ }
+
+ part { name: "button_area";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 1; to_x:"elm.text"; to_y: "mid_padding";}
+ rel2 { relative: 1 0; to_x: "elm.text"; to_y: "padding.bottom"; }
+ visible: 1;
+ color: 0 255 0 0;
+ }
+ }
+
+ part { name: "rew_btn_area";
+ type: RECT;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.2 0.5; to: "button_area"; offset: 10 0;}
+ rel2 { relative: 0.2 0.5; to: "button_area"; offset: 10 -16;}
+ min: BUTTON_SIZE_MIN_MAX;
+ fixed: 1 1;
+ align: 0.0 0.5;
+ visible: 0;
+ }
+ }
+
+
+ MC_IMAGE_PART("rew_btn_bg","rew_btn_area",MC_MUSIC_SMALL_BTN_BG,0,0,0,0,0,0,0,0,BUTTON_SIZE_MIN_MAX)
+ MC_IMAGE_PART("rew_btn_ef","rew_btn_area",MC_MUSIC_SMALL_BTN_EF,0,0,0,0,0,0,0,0,BUTTON_SIZE_MIN_MAX)
+ MC_IMAGE_PART("rew_btn","rew_btn_area",MC_MUSIC_PREV_BTN,61,185,204,255,34,104,115,255,FF_BTN_SIZE_MIN_MAX)
+ part { name: "rew_btn_touch_area";
+ type: RECT;
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ rel1 { to: "rew_btn_area"; }
+ rel2 { to: "rew_btn_area";}
+ color: 0 0 0 0;
+ }
+ }
+ MC_FOCUSED_COVER("rew_btn", "rew_btn_area");
+
+
+
+ part { name: "play_pause_btn_area";
+ type: SPACER;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.5 0.5; to: "button_area";offset: 0 0;}
+ rel2 { relative: 0.5 0.5; to: "button_area";offset: 0 -16;}
+ min: PLAY_BTN_SIZE_MIN_MAX;
+ max: PLAY_BTN_SIZE_MIN_MAX;
+ fixed: 1 1;
+ }
+ }
+
+
+ MC_IMAGE_PART("play_btn_bg","play_pause_btn_area",MC_MUSIC_LAGRE_BTN_BG,61,185,204,255,34,104,115,255,BIG_BTN_SIZE_MIN_MAX)
+ MC_IMAGE_PART_FOCUS("play_btn_ef","play_pause_btn_area",MC_MUSIC_LAGRE_BTN_EF,BIG_BTN_SIZE_MIN_MAX)
+ MC_IMAGE_PART("play_btn","play_pause_btn_area",MC_MUSIC_PLAY_BTN,255,255,255,255,255,255,255,255,PLAY_BTN_SIZE_MIN_MAX)
+ MC_IMAGE_PART("pause_btn","play_pause_btn_area",MC_MUSIC_PAUSE_BTN,255,255,255,255,255,255,255,255,PLAY_BTN_SIZE_MIN_MAX)
+ part { name: "play_btn_touch_area";
+ type: RECT;
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ rel1 { to: "play_pause_btn_area"; }
+ rel2 { to: "play_pause_btn_area";}
+ color: 0 0 0 0;
+ fixed: 1 1;
+ }
+ }
+ MC_FOCUSED_COVER("play_pause", "play_pause_btn_area");
+
+
+ part { name: "ff_btn_area";
+ type: SPACER;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.7 0.5; to: "button_area";offset: -10 0;}
+ rel2 { relative: 0.7 0.5; to: "button_area";offset: -10 -16;}
+ min: FF_BTN_SIZE_MIN_MAX;
+ max: FF_BTN_SIZE_MIN_MAX;
+ fixed: 1 1;
+ align:0.0 0.5;
+ }
+ }
+
+ MC_IMAGE_PART("ff_btn_bg","ff_btn_area",MC_MUSIC_SMALL_BTN_BG,0,0,0,0,0,0,0,0,BUTTON_SIZE_MIN_MAX)
+ MC_IMAGE_PART("ff_btn_ef","ff_btn_area",MC_MUSIC_SMALL_BTN_EF,0,0,0,0,0,0,0,0,BUTTON_SIZE_MIN_MAX)
+ MC_IMAGE_PART("ff_btn","ff_btn_area",MC_MUSIC_NEXT_BTN,61,185,204,255,34,104,115,255,FF_BTN_SIZE_MIN_MAX)
+ part { name: "ff_btn_touch_area";
+ type: RECT;
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ rel1 { to: "ff_btn_area"; }
+ rel2 { to: "ff_btn_area";}
+ color: 0 0 0 0;
+ fixed: 1 1;
+ }
+ }
+ MC_FOCUSED_COVER("ff_btn", "ff_btn_area");
+ }
+
+ programs {
+
+ MC_PROGRAM_IMAGE_VISIBLE("play_btn", "show_play_btn", "hide_play_btn")
+ MC_PROGRAM_IMAGE_VISIBLE("pause_btn", "show_pause_btn", "hide_pause_btn")
+
+ program { name: "play_pause_btn_area_press";
+ signal: "mouse,down,1";
+ source: "play_btn_touch_area";
+ script{
+ set_state(PART:"play_btn_bg", "pressed", 0.0);
+ set_state(PART:"play_btn_ef", "pressed", 0.0);
+ }
+ }
+
+ program { name: "play_pause_btn_area_up";
+ signal: "mouse,up,1";
+ source: "play_btn_touch_area";
+ script{
+ set_state(PART:"play_btn_bg", "default", 0.0);
+ set_state(PART:"play_btn_ef", "default", 0.0);
+ }
+ }
+
+ program { name: "rew_btn_touch_area_press";
+ signal: "mouse,down,1";
+ source: "rew_btn_touch_area";
+ script{
+ set_state(PART:"rew_btn_bg", "pressed", 0.0);
+ set_state(PART:"rew_btn_ef", "pressed", 0.0);
+ set_state(PART:"rew_btn", "pressed", 0.0);
+ }
+ }
+
+ program { name: "rew_btn_touch_area_up";
+ signal: "mouse,up,1";
+ source: "rew_btn_touch_area";
+ script{
+ set_state(PART:"rew_btn_bg", "default", 0.0);
+ set_state(PART:"rew_btn_ef", "default", 0.0);
+ set_state(PART:"rew_btn", "default", 0.0);
+ }
+ }
+
+ program { name: "ff_btn_touch_area_press";
+ signal: "mouse,down,1";
+ source: "ff_btn_touch_area";
+ script{
+ set_state(PART:"ff_btn_bg", "pressed", 0.0);
+ set_state(PART:"ff_btn_ef", "pressed", 0.0);
+ set_state(PART:"ff_btn", "pressed", 0.0);
+ }
+ }
+
+ program { name: "ff_btn_touch_area_up";
+ signal: "mouse,up,1";
+ source: "ff_btn_touch_area";
+ script{
+ set_state(PART:"ff_btn_bg", "default", 0.0);
+ set_state(PART:"ff_btn_ef", "default", 0.0);
+ set_state(PART:"ff_btn", "default", 0.0);
+ }
+ }
+
+ program { name: "albumart_cb";
+ signal: "mouse,clicked,1";
+ source: "albumart_image";
+ script{
+ emit("albumart_clicked", "edje");
+ }
+ }
+ program{
+ name: "albumart_cb_after_down";
+ source: "albumart_image";
+ signal: "mouse,down,1";
+ transition: ACCELERATE 0.02;
+ }
+ program {
+ name: "albumart_cb_down";
+ source: "albumart_image";
+ signal: "mouse,down,1";
+ action: PLAY_SAMPLE "button-pressed" 1.0;
+ after: "albumart_cb_after_down";
+ transition: ACCELERATE 0.02;
+ }
+
+ program { name: "close_area_btn_down";
+ signal: "mouse,down,1";
+ source: "close_btn_touch_area";
+ script{
+ set_state(PART:"close_btn", "pressed", 0.0);
+ emit("close_btn_down", "edje");
+ }
+ }
+
+ program { name: "close_area_btn_up";
+ signal: "mouse,up,1";
+ source: "close_btn_touch_area";
+ script{
+ set_state(PART:"close_btn", "default", 0.0);
+ emit("close_btn_up", "edje");
+ }
+ }
+
+ program { name: "close_area_btn_clicked";
+ signal: "mouse,up,1";
+ source: "close_btn_touch_area";
+ script{
+ emit("close_btn_clicked", "edje");
+ }
+ }
+
+ program { name: "set_pause_icon";
+ signal: "set_pause";
+ source: "*";
+ script{
+ set_state(PART:"play_btn", "hide", 0.0);
+ set_state(PART:"pause_btn", "default",0.0);
+ set_state(PART:"play_btn_ef", "focus", 0.0);
+ }
+ }
+ program { name: "set_play_icon";
+ signal: "set_play";
+ source: "*";
+ script{
+ set_state(PART:"play_btn", "default", 0.0);
+ set_state(PART:"pause_btn", "hide",0.0);
+ set_state(PART:"play_btn_ef", "default", 0.0);
+ }
+ }
+
+ program { name: "set_ff_btn_uppressed";
+ signal: "ff_btn_unpressed";
+ source: "*";
+ script{
+ set_state(PART:"ff_btn_bg", "default", 0.0);
+ set_state(PART:"ff_btn_ef", "default", 0.0);
+ set_state(PART:"ff_btn", "default", 0.0);
+ }
+ }
+ program { name: "set_rew_btn_uppressed";
+ signal: "rew_btn_unpressed";
+ source: "*";
+ script{
+ set_state(PART:"rew_btn_bg", "default", 0.0);
+ set_state(PART:"rew_btn_ef", "default", 0.0);
+ set_state(PART:"rew_btn", "default", 0.0);
+ }
+ }
+ program { name: "touch_snd_rew";
+ signal: "mouse,down,1";
+ source: "rew_btn_touch_area";
+ action: RUN_PLUGIN "touch_sound_plugin";
+ }
+
+ program { name: "touch_snd_ff";
+ signal: "mouse,down,1";
+ source: "ff_btn_touch_area";
+ action: RUN_PLUGIN "touch_sound_plugin";
+ }
+ program { name: "touch_snd_play_pause";
+ signal: "mouse,down,1";
+ source: "play_btn_touch_area";
+ action: RUN_PLUGIN "touch_sound_plugin";
+ }
+ program { name: "touch_snd_shuffle";
+ signal: "mouse,down,1";
+ source: "shuffle_btn_touch_area";
+ action: RUN_PLUGIN "touch_sound_plugin";
+ }
+ program { name: "touch_snd_close";
+ signal: "mouse,down,1";
+ source: "close_btn_touch_area";
+ action: RUN_PLUGIN "touch_sound_plugin";
+ }
+ program { name: "touch_snd_repeat";
+ signal: "mouse,down,1";
+ source: "repeat_btn_touch_area";
+ action: RUN_PLUGIN "touch_sound_plugin";
+ }
+
+ }
+}
+
+} // collection
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+group { name: "popup_checkview";
+ parts {
+ part { name: "pad_t";
+ scale : 1;
+ mouse_events: 0;
+ repeat_events: 1;
+ type: SPACER;
+ description { state: "default" 0.0;
+ align: 0.5 0.0;
+ min: 0 0;
+ fixed: 0 1;
+ rel1 {
+ relative: 1.0 0.0;to_x: "pad_l";
+ }
+ rel2 {
+ relative: 0.0 0.0;to_x: "pad_r";
+ }
+ }
+ }
+ part { name: "pad_l";
+ scale: 1;
+ type: SPACER;
+ description { state: "default" 0.0;
+ min : 0 0;
+ fixed: 1 0;
+ rel1 {
+ relative: 0.0 0.0;
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ }
+ align: 0.0 0.0;
+ }
+ }
+ part { name: "pad_r";
+ scale: 1;
+ type: SPACER;
+ description { state: "default" 0.0;
+ min : 0 0;
+ fixed: 1 0;
+ rel1 {
+ relative: 1.0 0.0;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ }
+ align: 1.0 0.0;
+ }
+ }
+ part { name:"elm.swallow.content";
+ type: SWALLOW;
+ scale : 1;
+ description { state: "default" 0.0;
+ min: 648 0;
+ align: 0.5 0.5;
+ fixed: 1 0;
+ rel1 {
+ relative: 0.5 1.0;
+ to: "pad_t";
+ }
+ rel2 {
+ relative: 0.5 0.0;
+ to: "pad_b";
+ }
+ }
+ }
+ part { name: "pad_b";
+ scale : 1;
+ type: SPACER;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ align: 0.5 1.0;
+ min: 0 84;
+ fixed: 0 1;
+ rel1 {
+ relative: 1.0 1.0;to_x: "pad_l";
+ }
+ rel2 {
+ relative: 0.0 1.0;to_x: "pad_r";
+ }
+ }
+ }
+ part { name: "elm.swallow.end";
+ type: SWALLOW;
+ scale : 1;
+ mouse_events: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ align: 1.0 1.0;
+ min: 64 64;
+ max: 64 64;
+ fixed: 1 1;
+ rel1 {
+ relative: 0.0 0.0;
+ to: "pad_after_check";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ to: "pad_after_check";
+ }
+ }
+ }
+ part { name: "pad_after_check";
+ type : RECT;
+ scale : 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ align: 1.0 0.0;
+ min: 16 64;
+ fixed: 1 1;
+ visible: 0;
+ rel1 {
+ relative: 0.0 0.0;to: "elm.text";
+ }
+ rel2 {
+ relative: 0.0 1.0;to: "elm.text";
+ }
+ }
+ }
+ part { name: "elm.text";
+ type: TEXT;
+ scale : 1;
+ description { state: "default" 0.0;
+ text {
+ font: "Tizen:style=Medium";
+ size: 42;
+ min: 1 0;
+ elipsis: 1.0;
+ align: 0.0 0.5;
+ }
+ max: 552 60;
+ fixed: 1 1;
+ color: 0 0 0 255;
+ align: 0.5 0.5;
+ rel1 {
+ relative: 0.5 0.0;
+ to_y: "pad_b";
+ offset: 40 0;
+ }
+ rel2 {
+ relative: 0.5 1.0;
+ to_y: "pad_b";
+ offset: 40 0;
+ }
+ }
+ }
+ }
+}
+
+group { name: "popup_library_update";
+ parts {
+ part { name: "pad_t";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ align: 0.5 0.0;
+ min: 0 32;
+ fixed: 0 1;
+ rel1 {
+ relative: 1.0 0.0;to_x: "pad_l";
+ }
+ rel2 {
+ relative: 0.0 0.0;to_x: "pad_r";
+ }
+ }
+ }
+ part { name: "pad_l";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 26 0;
+ max: 26 0;
+ fixed: 1 0;
+ rel1 {
+ relative: 0.0 0.0;
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ }
+ align: 0.0 0.0;
+ }
+ }
+ part { name: "pad_r";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 26 0;
+ max: 26 0;
+ fixed: 1 0;
+ rel1 {
+ relative: 1.0 0.0;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ }
+ align: 1.0 0.0;
+ }
+ }
+ part { name: "elm.swallow.content";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 0;
+ rel1 {
+ relative: 1.0 1.0;
+ to_x: "pad_l";
+ to_y: "pad_t";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to_x: "pad_r";
+ to_y: "pad_b";
+ }
+ }
+ }
+ part { name: "bottom_pad";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ align: 0.0 1.0;
+ min: 0 32;
+ fixed: 0 1;
+ rel1 {
+ relative: 1.0 1.0;
+ to_x: "pad_l";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ to_x: "pad_r";
+ }
+ }
+ }
+ part { name: "pad_b";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ align: 0.0 1.0;
+ min: 0 84;
+ fixed: 0 1;
+ rel1 {
+ relative: 0.0 0.0;
+ to: "bottom_pad";
+ }
+ rel2 {
+ relative: 1.0 0.0;
+ to: "bottom_pad";
+ }
+ }
+ }
+ part { name: "end_field";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ align: 0.0 1.0;
+ min: 0 63;
+ fixed: 0 1;
+ rel1 {
+ relative: 0.0 1.0;
+ to: "pad_b";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to: "pad_b";
+ }
+ }
+ }
+ part { name: "elm.swallow.check";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ align: 0.0 0.5;
+ rel1.to: "end_field";
+ rel2.to: "end_field";
+ }
+ }
+ }
+}
+
+group { name: "popup_checkview_image";
+ inherit: "popup_checkview";
+ parts{
+ part{ name:"elm.swallow.content";
+ type: SWALLOW;
+ scale : 1;
+ description { state: "default" 0.0;
+ min: 580 0;
+ align: 0.5 0.5;
+ fixed: 1 0;
+ rel1 {
+ relative: 0.5 1.0;
+ to: "pad_t";
+ }
+ rel2 {
+ relative: 0.5 0.0;
+ to: "elm.swallow.icon.bg";
+ }
+ }
+ }
+ part { name: "elm.swallow.icon.bg";
+ scale: 1;
+ description { state: "default" 0.0;
+ align: 0.5 1.0;
+ fixed: 1 1;
+ visible: 0;
+ min: 580 390;
+ rel1 {
+ relative: 0.5 0.0;
+ to: "pad_b";
+ }
+ rel2 {
+ relative: 0.5 0.0;
+ to: "pad_b";
+ }
+ }
+ }
+ part { name: "elm.swallow.icon";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ align: 0.5 0.5;
+ fixed: 0 1;
+ min: 580 390;
+ rel1 {
+ relative: 0.0 0.5;
+ to: "elm.swallow.icon.bg";
+ }
+ rel2 {
+ relative: 1.0 0.5;
+ to: "elm.swallow.icon.bg";
+ }
+ }
+ }
+ }
+}
+
+group { name: "popup_detail";
+ parts {
+ part { name: "pad_t";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ align: 0.5 0.0;
+ min: 0 32;
+ fixed: 0 1;
+ rel2.relative: 1.0 0.0;
+ }
+ }
+ part { name:"elm.swallow.layout";
+ type: SWALLOW;
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ min: 0 450;
+ align: 0.5 1.0;
+ fixed: 1 0;
+ rel1 {
+ relative: 0.0 1.0;
+ offset: 20 0;
+ to: "pad_t";
+ }
+ rel2 {
+ relative: 1.0 0.0;
+ to: "pad_b";
+ offset: -20 0;
+ }
+ }
+ }
+ part { name: "pad_b";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ align: 0.5 1.0;
+ min: 0 32;
+ fixed: 0 1;
+ rel1.relative: 0.0 1.0;
+ }
+ }
+ }
+}
+
+group { name: "popup_checkview_ld";
+ parts {
+ part { name: "pad_t";
+ scale : 1;
+ mouse_events: 0;
+ repeat_events: 1;
+ type: SPACER;
+ description { state: "default" 0.0;
+ align: 0.5 0.0;
+ min: 0 0;
+ fixed: 0 1;
+ rel1 {
+ relative: 1.0 0.0;to_x: "pad_l";
+ }
+ rel2 {
+ relative: 0.0 0.0;to_x: "pad_r";
+ }
+ }
+ }
+ part { name: "pad_l";
+ scale: 1;
+ type: SPACER;
+ description { state: "default" 0.0;
+ min : 0 0;
+ fixed: 1 0;
+ rel1 {
+ relative: 0.0 0.0;
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ }
+ align: 0.0 0.0;
+ }
+ }
+ part { name: "pad_r";
+ scale: 1;
+ type: SPACER;
+ description { state: "default" 0.0;
+ min : 0 0;
+ fixed: 1 0;
+ rel1 {
+ relative: 1.0 0.0;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ }
+ align: 1.0 0.0;
+ }
+ }
+ part { name:"elm.swallow.content";
+ type: SWALLOW;
+ scale : 1;
+ description { state: "default" 0.0;
+ min: 720 0;
+ align: 0.5 0.5;
+ fixed: 1 0;
+ rel1 {
+ relative: 0.5 1.0;
+ to: "pad_t";
+ }
+ rel2 {
+ relative: 0.5 0.0;
+ to: "pad_b";
+ }
+ }
+ }
+ part { name: "pad_b";
+ scale : 1;
+ type: SPACER;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ align: 0.5 1.0;
+ min: 0 64;
+ fixed: 0 1;
+ rel1 {
+ relative: 1.0 1.0;to_x: "pad_l";
+ }
+ rel2 {
+ relative: 0.0 1.0;to_x: "pad_r";
+ }
+ }
+ }
+ part { name: "elm.swallow.end";
+ type: SWALLOW;
+ scale : 1;
+ mouse_events: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ align: 1.0 1.0;
+ min: 64 34;
+ max: 64 34;
+ fixed: 1 1;
+ rel1 {
+ relative: 0.0 0.0;
+ to: "pad_after_check";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ to: "pad_after_check";
+ }
+ }
+ }
+ part { name: "pad_after_check";
+ type : RECT;
+ scale : 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ align: 1.0 0.0;
+ min: 16 34;
+ fixed: 1 1;
+ visible: 0;
+ rel1 {
+ relative: 0.0 0.0;to: "elm.text";
+ }
+ rel2 {
+ relative: 0.0 1.0;to: "elm.text";
+ }
+ }
+ }
+ part { name: "elm.text";
+ type: TEXT;
+ scale : 1;
+ description { state: "default" 0.0;
+ text {
+ font: "Tizen:style=Medium";
+ size: 42;
+ min: 1 0;
+ align: 0.0 0.5;
+ elipsis: 1.0;
+ }
+ max: 720 60;
+ fixed: 1 1;
+ color: 0 0 0 255;
+ align: 0.5 0.5;
+ rel1 {
+ relative: 0.5 0.0;
+ to_y: "pad_b";
+ offset: 40 0;
+ }
+ rel2 {
+ relative: 0.5 1.0;
+ to_y: "pad_b";
+ offset: 40 0;
+ }
+ }
+ }
+ }
+}
+
+group { name: "popup_checkview_image_ld";
+ inherit: "popup_checkview_ld";
+ parts{
+ part{ name:"elm.swallow.content";
+ type: SWALLOW;
+ scale : 1;
+ description { state: "default" 0.0;
+ min: 720 0;
+ align: 0.5 0.5;
+ fixed: 1 0;
+ rel1 {
+ relative: 0.5 1.0;
+ to: "pad_t";
+ }
+ rel2 {
+ relative: 0.5 0.0;
+ to: "elm.swallow.icon.bg";
+ }
+ }
+ }
+ part { name: "elm.swallow.icon.bg";
+ scale: 1;
+ description { state: "default" 0.0;
+ align: 0.5 1.0;
+ fixed: 1 1;
+ visible: 0;
+ min: 450 300;
+ rel1 {
+ relative: 0.5 0.0;
+ to: "pad_b";
+ }
+ rel2 {
+ relative: 0.5 0.0;
+ to: "pad_b";
+ }
+ }
+ }
+ part { name: "elm.swallow.icon";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ align: 0.5 0.5;
+ fixed: 0 1;
+ min: 450 300;
+ rel1 {
+ relative: 0.0 0.5;
+ to: "elm.swallow.icon.bg";
+ }
+ rel2 {
+ relative: 1.0 0.5;
+ to: "elm.swallow.icon.bg";
+ }
+ }
+ }
+ }
+}
+
+group { name: "popup_processingview_1button";
+#define DEMO_POPUP_PROCESSINGVIEW1BUTTON_CONTENT_MIN 568 132
+ parts {
+ part {
+ name: "base";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: DEMO_POPUP_PROCESSINGVIEW1BUTTON_CONTENT_MIN;
+ fixed: 1 0;
+ }
+ }
+ part { name: "pad_t";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ align: 0.5 0.0;
+ min: 0 32;
+ fixed: 0 1;
+ rel1 {
+ relative: 1.0 0.0;to_x: "pad_l";
+ }
+ rel2 {
+ relative: 0.0 0.0;to_x: "pad_r";
+ }
+ }
+ }
+ part { name: "pad_l";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 26 0;
+ max: 26 0;
+ fixed: 1 0;
+ rel1 {
+ relative: 0.0 0.0;
+ to: "base";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ to: "base";
+ }
+ align: 0.0 0.0;
+ }
+ }
+ part { name: "pad_r";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 26 0;
+ max: 26 0;
+ fixed: 1 0;
+ rel1 {
+ relative: 1.0 0.0;
+ to: "base";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to: "base";
+ }
+ align: 1.0 0.0;
+ }
+ }
+ part { name: "pad_b";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ align: 0.0 1.0;
+ min: 0 32;
+ fixed: 0 1;
+ rel1 {
+ relative: 1.0 1.0;
+ to_x: "pad_l";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ to_x: "pad_r";
+ }
+ }
+ }
+ part {
+ name: "after.space";
+ scale: 1;
+ type: SPACER;
+ description { state: "default" 0.0;
+ align: 0.0 0.5;
+ min: 80 80;
+ max: 80 80;
+ fixed: 1 1;
+ rel1 {
+ relative: 0.0 1.0;
+ to: "pad_t";
+ }
+ rel2 {
+ relative: 1.0 0.0;
+ to: "pad_b";
+ }
+ }
+ }
+ part { name: "elm.text";
+ type: TEXT;
+ scale : 1;
+ description { state: "default" 0.0;
+ align: 0.5 0.5;
+ color: 0 0 0 255;
+ fixed: 1 1;
+ text {
+ font: "Tizen:style=Medium";
+ size: 38;
+ align: 0.0 0.5;
+ min: 0 1;
+ max: 1 1;
+ }
+ rel1 {
+ relative: 1.0 1.0;
+ to_x: "after.space";
+ to_y: "pad_t";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to_x: "pad_r";
+ to_y: "pad_b";
+ }
+ }
+ }
+ part { name:"pad_before_text";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 16 132;
+ max: 16 132;
+ fixed: 1 1;
+ align: 1.0 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ to: "elm.text";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to: "elm.text";
+ }
+ }
+ }
+ part { name:"elm.swallow.content";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 63 63;
+ max: 63 63;
+ fixed: 1 1;
+ align: 1.0 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ to: "pad_before_text";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to: "pad_before_text";
+ }
+ }
+ }
+ }#undef DEMO_POPUP_PROCESSINGVIEW1BUTTON_CONTENT_MIN
+}
+
+group { name: "popup_entryview";
+images {
+ image : "btn_controller_close.png" COMP;
+}
+parts {
+ part {
+ name: "pad_t";
+ type: SPACER;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0.5 0.0;
+ min: 0 12;
+ fixed: 0 1;
+ rel1 {
+ relative: 1.0 0.0;to_x: "pad_l";
+ }
+ rel2 {
+ relative: 0.0 0.0;to_x: "pad_r";
+ }
+ }
+ }
+ part {
+ name: "pad_l";
+ type: SPACER;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 26 0;
+ max: 26 0;
+ fixed: 1 0;
+ rel1 {
+ relative: 0.0 0.0;
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ }
+ align: 0.0 0.0;
+ }
+ }
+ part {
+ name: "pad_r";
+ type: SPACER;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 26 0;
+ max: 26 0;
+ fixed: 1 0;
+ rel1 {
+ relative: 1.0 0.0;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ }
+ align: 1.0 0.0;
+ }
+ }
+ part {
+ name: "pad_b";
+ type: SPACER;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0.0 1.0;
+ min: 0 12;
+ fixed: 0 1;
+ rel1 {
+ relative: 1.0 1.0;
+ to_x: "pad_l";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ to_x: "pad_r";
+ }
+ }
+ }
+ part {
+ name:"input_rect";
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 0 40;
+ fixed: 1 0;
+ rel1 {
+ relative: 1.0 1.0;
+ to_x: "pad_l";
+ to_y: "pad_t";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to_x: "pad_r";
+ to_y: "pad_b";
+ }
+ color:0 0 0 0;
+ }
+ }
+ part {
+ name:"elm.swallow.content";
+ type: SWALLOW;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 0 40;
+ fixed: 1 0;
+ rel1 {
+ relative: 0.0 0.0; to: "input_rect";
+ }
+ rel2 {
+ relative: 0.9 1.0; to: "input_rect";
+ }
+ }
+ }
+ part {
+ name:"cancel_image";
+ type: IMAGE;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ //min: 0 40;
+ fixed: 1 0;
+ visible: 0;
+ color: 60 181 199 255;
+ rel1 {
+ relative: 0.92 0.2; to: "input_rect";
+ }
+ rel2 {
+ relative: 0.98 0.8; to: "input_rect";
+ }
+ image.normal: "btn_controller_close.png";
+ }
+ description {
+ state: "visible" 0.0;
+ color: 60 181 199 255;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+}
+programs {
+ program {
+ name: "cancel_button_clicked";
+ signal: "mouse,clicked,1";
+ source: "cancel_image";
+ action: SIGNAL_EMIT "elm,action,click" "cancel_image";
+ }
+ program {
+ name: "enable_image";
+ signal: "image,enable,1";
+ source: "*";
+ action: STATE_SET "visible" 0.0;
+ target : "cancel_image";
+ }
+ program {
+ name: "disable_image";
+ signal: "image,disable,1";
+ source: "*";
+ action: STATE_SET "default" 0.0;
+ target : "cancel_image";
+ }
+}
+
+}
+
+group { name: "popup_layout";
+
+ parts {
+ part { name: "pad_t";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ align: 0.5 0.0;
+ min: 0 18;
+ fixed: 0 1;
+ rel1 {
+ relative: 1.0 0.0;to_x: "pad_l";
+ }
+ rel2 {
+ relative: 0.0 0.0;to_x: "pad_r";
+ }
+ }
+ }
+ part { name: "pad_l";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 26 0;
+ max: 26 0;
+ fixed: 1 0;
+ rel1 {
+ relative: 0.0 0.0;
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ }
+ align: 0.0 0.0;
+ }
+ }
+ part { name: "pad_r";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 26 0;
+ max: 26 0;
+ fixed: 1 0;
+ rel1 {
+ relative: 1.0 0.0;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ }
+ align: 1.0 0.0;
+ }
+ }
+ part { name: "pad_b";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ align: 0.0 1.0;
+ min: 0 18;
+ fixed: 0 1;
+ rel1 {
+ relative: 1.0 1.0;
+ to_x: "pad_l";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ to_x: "pad_r";
+ }
+ }
+ }
+ part { name:"elm.swallow.content";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 70;
+ fixed: 1 0;
+ rel1 {
+ relative: 1.0 1.0;
+ to_x: "pad_l";
+ to_y: "pad_t";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to_x: "pad_r";
+ to_y: "pad_b";
+ }
+ }
+ }
+ }
+}
+
+group { name: "popup_checkview_personal";
+ parts {
+ part { name: "pad_t";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ align: 0.5 0.0;
+ min: 0 32;
+ fixed: 0 1;
+ rel1 {
+ relative: 1.0 0.0;to_x: "pad_l";
+ }
+ rel2 {
+ relative: 0.0 0.0;to_x: "pad_r";
+ }
+ }
+ }
+ part { name: "pad_l";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 26 0;
+ max: 26 0;
+ fixed: 1 0;
+ rel1 {
+ relative: 0.0 0.0;
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ }
+ align: 0.0 0.0;
+ }
+ }
+ part { name: "pad_r";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 26 0;
+ max: 26 0;
+ fixed: 1 0;
+ rel1 {
+ relative: 1.0 0.0;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ }
+ align: 1.0 0.0;
+ }
+ }
+ part { name: "elm.swallow.content";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 0;
+ rel1 {
+ relative: 1.0 1.0;
+ to_x: "pad_l";
+ to_y: "pad_t";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to_x: "pad_r";
+ to_y: "pad_b";
+ }
+ }
+ }
+ part { name: "bottom_pad";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ align: 0.0 1.0;
+ min: 0 32;
+ fixed: 0 1;
+ rel1 {
+ relative: 1.0 1.0;
+ to_x: "pad_l";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ to_x: "pad_r";
+ }
+ }
+ }
+ part { name: "pad_b";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ align: 0.0 1.0;
+ min: 0 121;
+ fixed: 0 1;
+ rel1 {
+ relative: 0.0 0.0;
+ to: "bottom_pad";
+ }
+ rel2 {
+ relative: 1.0 0.0;
+ to: "bottom_pad";
+ }
+ }
+ }
+ part { name: "end_field";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ align: 0.0 1.0;
+ min: 0 100;
+ fixed: 0 1;
+ rel1 {
+ relative: 0.0 1.0;
+ to: "pad_b";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to: "pad_b";
+ }
+ }
+ }
+ part { name: "elm.swallow.end";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ align: 0.0 0.5;
+ rel1.to: "end_field";
+ rel2.to: "end_field";
+ }
+ }
+ }
+}
+group { name: "popup_processingview_string";
+#define DEMO_POPUP_PROCESSINGVIEW1_BUTTON_CONTENT_MIN 400 200
+ styles {
+ style { name: "popup_processing_text_style";
+ base: "font=Tizen:style=Bold font_size=36 align=left color=#000000 wrap=none ellipsis=1.0";
+ tag: "br" "\n";
+ tag: "tab" "\t";
+ }
+ }
+ parts {
+ part { name: "base";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: DEMO_POPUP_PROCESSINGVIEW1_BUTTON_CONTENT_MIN;
+ fixed: 1 0;
+ color:255 255 255 255;
+ }
+ }
+ part { name: "pad_t";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ align: 0.5 0.0;
+ min: 0 12;
+ fixed: 0 1;
+ rel1 {
+ relative: 1.0 0.0;to_x: "pad_l";
+ }
+ rel2 {
+ relative: 0.0 0.0;to_x: "pad_r";
+ }
+ }
+ }
+ part { name: "pad_l";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 35 0;
+ max: 35 0;
+ fixed: 1 0;
+ rel1 {
+ relative: 0.0 0.0;
+ to: "base";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ to: "base";
+ }
+ align: 0.0 0.0;
+ }
+ }
+ part { name: "pad_r";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 35 0;
+ max: 35 0;
+ fixed: 1 0;
+ rel1 {
+ relative: 1.0 0.0;
+ to: "base";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to: "base";
+ }
+ align: 1.0 0.0;
+ }
+ }
+ part { name: "pad_b";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ align: 0.0 1.0;
+ min: 0 12;
+ fixed: 0 1;
+ rel1 {
+ relative: 1.0 1.0;
+ to_x: "pad_l";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ to_x: "pad_r";
+ }
+ }
+ }
+ part {
+ name: "spacing";
+ scale: 1;
+ type: RECT;
+ description { state: "default" 0.0;
+ align: 0.0 0.5;
+ min: 5 5;
+ max: 5 5;
+ fixed: 1 1;
+ rel1 {
+ relative: 0.0 1.0;
+ to: "pad_t";
+ }
+ rel2 {
+ relative: 1.0 0.0;
+ to: "pad_b";
+ }
+ }
+ }
+ part { name: "elm.text";
+ type: TEXTBLOCK;
+ scale : 1;
+ description { state: "default" 0.0;
+ align: 0.5 0.5;
+ fixed: 1 1;
+ text {
+ style: "popup_processing_text_style";
+ min: 0 1;
+ max: 1 1;
+ }
+ rel1 {
+ relative: 1.0 1.0;
+ to_x: "spacing";
+ to_y: "pad_t";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to_x: "pad_r";
+ to_y: "pad_b";
+ }
+ }
+ }
+ part { name:"pad_before_text";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 80 1;
+ max: 80 1;
+ fixed: 1 1;
+ //align: 1.0 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ to: "elm.text";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to: "elm.text";
+ }
+ }
+ }
+ part { name:"elm.swallow.content";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 63 103;
+ max: 63 103;
+ fixed: 1 1;
+ //align: 1.0 0.5;
+ rel1 {
+ relative: 0.0 0.5;
+ to_x: "pad_before_text";
+ offset: -40 0;
+ }
+ rel2 {
+ relative: 0.0 0.5;
+ to_x: "pad_before_text";
+ offset: -40 0;
+ }
+ }
+ }
+ }
+#undef DEMO_POPUP_PROCESSINGVIEW1_BUTTON_CONTENT_MIN
+}
+
+
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#define NAVIFRAME_ICON_RIGHT_PADDING_INC 16 0
+#define NAVIFRAME_BASE_COLOR_INC 248 246 239 255
+#define NAVIFRAME_VIEW_PUSH_TRANS_TIME 0.2
+#define NAVIFRAME_VIEW_POP_TRANS_TIME 0.3
+#define MP_NAVIFRAME_TITLE_BG_COLOR_INC 248 246 239 255
+#define MP_NAVIFRAME_TITLE_BG_COLOR_BLACK_INC MP_COLOR_BG_BLACK
+#define MP_NAVIFRAME_TOOLBAR_BG_COLOR_INC 248 246 239 0
+#define MP_NAVIFRAME_TITLE_TOP_PADDING_INC 0 32
+#define MP_NAVIFRAME_TITLE_RIGHT_PADDING_INC 17 0
+#define MP_NAVIFRAME_TITLE_TOOLBAR_TOP_PADDING_INC 0 33
+#define MP_NAVIFRAME_TITLE_TOOLBAR_BOTTOM_PADDING_INC 0 8
+//modify MP_NAVIFRAME_TITLE_H_INC 100 to 165 in black style
+#define MP_NAVIFRAME_TITLE_H_INC 165
+#define MP_NAVIFRAME_TAB_TITLE_H_INC 165
+#define MP_NAVIFRAME_TOOLBAR_HEIGHT_INC 98
+//modify btn size 86 111 to 63 63 in black style
+#define MP_NAVIFRAME_TITLE_FUNC_BTN_SIZE_INC 63 63
+#define MP_NAVIFRAME_PREV_FUNC_BTN_SIZE_INC 86 98
+#define MP_NAVIFRAME_TITLE_TAB_H_INC 68
+#define MP_NAVIFRAME_TITLE_TAB_LARGE_H_INC 111
+#define MP_NAVIFRAME_TITLE_TAB_FONT_SIZE_INC 44
+#define MP_NAVIFRAME_TITLE_TAB_TEXT_H_INC 87
+#define MP_NAVIFRAME_TITLE_FONT_SIZE_INC 56
+#define MP_NAVIFRAME_TITLE_SMALL_FONT_SIZE_INC 44
+#define MP_NAVIFRAME_ICON_SIZE_INC 38 38
+#define MP_NAVIFRAME_PADDING_INC 16 0
+#define MP_NAVIFRAME_PADDING2_INC 9 0
+#define MP_NAVIFRAME_PADDING3_INC 8 0
+#define MP_NAVIFRAME_BOTTOM_TEXT_PADDING_INC 0 11
+#define MP_NAVIFRAME_BOTTOM_PADDING_INC 0 10
+#define MP_NAVIFRAME_BADGE_PADDING_INC 78 0
+#define MP_NAVIFRAME_BADGE_BOTTOM_TEXT_PADDING_INC 0 13
+#define MP_NAVIFRAME_BADGE_LEFT_TEXT_PADDING_INC 10 0
+#define MP_NAVIFRAME_BADGE_TEXT_H_INC 43
+#define MP_NAVIFRAME_BADGE_BG_IMAGE_SIZE_INC 60 56
+#define MP_NAVIFRAME_BADGE_BG_IMAGE_BORDER_INC 8 8 8 21
+#define MP_NAVIFRAME_TOOLBAR_BUTTON_BG_PADDING_INC 115 0
+#define MP_NAVIFRAME_TOOLBAR_BUTTONS_PADDING_INC 15
+#define MP_NAVIFRAME_ICON_PADDING_INC 70 0
+#define MP_NAVIFRAME_TITLE_TEXT_COLOR_INC 59 115 182 255
+#define MP_NAVIFRAME_TITLE_STYLE_COLOR_INC "#3B73B6"
+#define MP_NAVIFRAME_SUBTITLE_TEXT_COLOR_INC 128 128 128 255
+#define MP_NAVIFRAME_SUBTITLE_FONT_SIZE_INC 32
+#define MP_NAVIFRAME_LEFT_BUTTON_PT_SIZE 63 92
+#define MP_NAVIFRAME_LEFT_BUTTON_LD_SIZE 63 86
+#define NAVIFRAME_BG_COLOR 250 250 250 255
+#define NAVIFRAME_BADGE_PADDING_W_INC 83
+
+#define SCREEN_WIDTH 720
+#define SCREEN_HIGHT 1280
+
+ group { name:"elm/naviframe/item/basic/music/default";
+ alias:"elm/naviframe/item/miniplayer/music/default";
+ data.item: "tizen_zoom" 1;
+ images {
+ image: "M01_title_bubble.png" COMP;
+ }
+ script {
+ public tbar_bg = 0; //Toolbar BG Show call count
+ public toolbar_buttons_visible = 0; //when both toolbar buttons are visible
+ public title_toolbar_buttons_visible = 0; //when both title toolbar buttons are visible
+ public tbar_close = 0; //Toolbar lastest Open/Close status
+ public sip_visible = 0; //SIP latest visible/hidden status
+ public title_slide_visible = 0; //Title slide visible/hidden status
+ }
+ parts {
+ part { name: "clipper";
+ type: RECT;
+ description { state: "default" 0.0;
+ visible: 1;
+ }
+ description { state: "hide" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "base";
+ type: RECT;
+ mouse_events: 0;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ color: MP_NAVIFRAME_TITLE_BG_COLOR_BLACK_INC;
+ }
+ }
+ part { name: "title_toolbar_bg";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 0;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ rel1 { relative: 0.0 0.0; to: "base"; }
+ rel2 { relative: 1.0 0.0; to: "base"; }
+ color: MP_NAVIFRAME_TITLE_BG_COLOR_BLACK_INC;//change color to black
+ visible: 0;
+ }
+ description { state: "show" 0.0;
+ inherit: "default" 0.0;
+ min: 0 MP_NAVIFRAME_TITLE_H_INC;
+ visible: 1;
+ }
+ }
+ part { name: "title_toolbar_top_padding";
+ type: RECT;
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: MP_NAVIFRAME_TITLE_TOOLBAR_TOP_PADDING_INC;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ rel1 { relative: 0.0 0.0; to: "title_toolbar_bg"; }
+ rel2 { relative: 1.0 0.0; to: "title_toolbar_bg"; }
+ visible: 0;
+ }
+ }
+ part { name: "title_toolbar_bottom_padding";
+ type: RECT;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: MP_NAVIFRAME_TITLE_TOOLBAR_BOTTOM_PADDING_INC;
+ fixed: 0 1;
+ align: 0.0 1.0;
+ rel1 { relative: 0.0 1.0; to: "title_toolbar_bg"; }
+ rel2 { relative: 1.0 1.0; to: "title_toolbar_bg"; }
+ visible: 0;
+ }
+ }
+ part { name: "title_more_btn_bg";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ min: MP_NAVIFRAME_TOOLBAR_BUTTON_BG_PADDING_INC;
+ fixed: 1 1;
+ align: 0.0 0.0;
+ rel1 { relative: 0.0 1.0; to_x: "title_toolbar_bg"; to_y: "title_toolbar_top_padding"; }
+ rel2 { relative: 0.0 0.0; to_x: "title_toolbar_bg"; to_y: "title_toolbar_bottom_padding"; }
+ visible: 0;
+ }
+ }
+ part { name: "title_prev_btn_bg";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ min: MP_NAVIFRAME_TOOLBAR_BUTTON_BG_PADDING_INC;
+ fixed: 1 1;
+ align: 1.0 0.0;
+ rel1 { relative: 1.0 1.0; to_x: "title_toolbar_bg"; to_y: "title_toolbar_top_padding"; }
+ rel2 { relative: 1.0 0.0; to_x: "title_toolbar_bg"; to_y: "title_toolbar_bottom_padding"; }
+ visible: 0;
+ }
+ }
+ part { name: "title_toolbar_btns_area";
+ type: RECT;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 1.0 0.0; to: "title_more_btn_bg"; }
+ rel2 { relative: 0.0 1.0; to: "title_prev_btn_bg"; }
+ visible: 0;
+ }
+ }
+ part { name: "title_toolbar_clip";
+ type: RECT;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { to: "title_toolbar_bg"; }
+ rel2 { to: "title_toolbar_bg"; }
+ }
+ }
+ part { name: "title_toolbar_button_padding";
+ type: RECT;
+ scale : 1;
+ description { state: "default" 0.0;
+ min: MP_NAVIFRAME_TOOLBAR_BUTTONS_PADDING_INC 0;
+ max: MP_NAVIFRAME_TOOLBAR_BUTTONS_PADDING_INC 9999;
+ fixed : 1 0;
+ visible: 0;
+ align: 0.5 0.5;
+ rel1.to: "title_toolbar_btns_area";
+ rel2.to: "title_toolbar_btns_area";
+ }
+ }
+ part { name: "title_bg";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 1 MP_NAVIFRAME_TITLE_H_INC;
+ align: 0.0 0.0;
+ fixed: 0 1;
+ rel1 { relative: 0.0 0.0; to: "base"; }
+ rel2 { relative: 1.0 0.0; to: "base"; }
+ color: MP_NAVIFRAME_TITLE_BG_COLOR_BLACK_INC;//change color to black
+ }
+ description { state: "hide" 0.0;
+ inherit: "default" 0.0;
+ min: 0 0;
+ max: 0 0;
+ fixed: 1 1;
+ }
+ }
+ part { name: "title_clip";
+ type: RECT;
+ mouse_events: 0;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ rel1 { to: "title_bg"; }
+ rel2 { to: "title_bg"; }
+ }
+ }
+ part { name: "top_padding";
+ type: RECT;
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: MP_NAVIFRAME_TITLE_TOP_PADDING_INC;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ rel1 { relative: 0.0 0.0; to: "title_bg"; }
+ rel2 { relative: 1.0 0.0; to: "title_bg"; }
+ visible: 0;
+ }
+ }
+ part { name: "right_padding";
+ type: RECT;
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: MP_NAVIFRAME_TITLE_RIGHT_PADDING_INC;
+ fixed: 1 0;
+ align: 1.0 0.0;
+ rel1 { relative: 1.0 0.0; to: "title_bg"; }
+ rel2 { relative: 1.0 1.0; to: "title_bg"; }
+ visible: 0;
+ }
+ }
+ part { name: "padding_center_text1";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ min: MP_NAVIFRAME_PADDING_INC;
+ fixed: 1 0;
+ align: 0.0 0.0;
+ rel1 { relative: 0.0 0.0; to: "title_bg"; }
+ rel2 { relative: 0.0 1.0; to: "title_bg"; }
+ visible: 0;
+ }
+ description { state: "icon" 0.0;
+ inherit: "default" 0.0;
+ min: MP_NAVIFRAME_ICON_PADDING_INC;
+ }
+ }
+ part { name: "toolbar_bg";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 0;
+ max: 999999 0;
+ fixed: 0 1;
+ align: 0.0 1.0;
+ visible: 0;
+ rel1 { to: "base"; }
+ rel2 { to: "base"; }
+ color: MP_NAVIFRAME_TOOLBAR_BG_COLOR_INC;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ min: 0 MP_NAVIFRAME_TOOLBAR_HEIGHT_INC;
+ max: 999999 MP_NAVIFRAME_TOOLBAR_HEIGHT_INC;
+ visible: 1;
+ }
+ }
+ part { name: "toolbar_btns_area";
+ type: RECT;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 1.0 0.0; to: "more_btn_bg"; }
+ rel2 { relative: 0.0 1.0; to: "prev_btn_bg"; }
+ visible: 0;
+ }
+ }
+ part { name: "toolbar_clip";
+ type: RECT;
+ mouse_events: 0;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ rel1 { to: "toolbar_bg"; }
+ rel2 { to: "toolbar_bg"; }
+ }
+ }
+ part { name: "toolbar_button1";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "toolbar_clip";
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ rel1.to: "toolbar_btns_area";
+ rel2.to: "toolbar_btns_area";
+ }
+ description { state: "buttons_set" 0.0;
+ inherit: "default" 0.0;
+ align: 1.0 0.5;
+ rel2 {
+ relative: 0.0 1.0;
+ to: "toolbar_button_padding";
+ }
+ }
+ }
+ part { name: "toolbar_button_padding";
+ type: RECT;
+ scale : 1;
+ description { state: "default" 0.0;
+ min: MP_NAVIFRAME_TOOLBAR_BUTTONS_PADDING_INC 0;
+ max: MP_NAVIFRAME_TOOLBAR_BUTTONS_PADDING_INC 9999;
+ fixed : 1 0;
+ visible: 0;
+ align: 0.5 0.5;
+ rel1.to: "toolbar_btns_area";
+ rel2.to: "toolbar_btns_area";
+ }
+ }
+ part { name: "toolbar_button2";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "toolbar_clip";
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ rel1.to: "toolbar_btns_area";
+ rel2.to: "toolbar_btns_area";
+ }
+ description { state: "buttons_set" 0.0;
+ inherit: "default" 0.0;
+ align: 0.0 0.5;
+ rel1 {
+ relative: 1.0 0.0;
+ to: "toolbar_button_padding";
+ }
+ }
+ }
+ part { name: "elm.swallow.content";
+ type: SWALLOW;
+ scale: 1;
+ repeat_events: 0;
+ clip_to: "content_clip";
+ description { state: "default" 0.0;
+ align: 0.0 0.0;
+ rel1.relative: 0.0 1.0;
+ rel1.to_x: "base";
+ rel1.to_y: "title_bg";
+ rel2.relative: 1.0 1.0;
+ rel2.to: "base";
+ }
+ description { state: "sip_visible" 0.0;
+ inherit: "default" 0.0;
+ rel1.to_y: "title_toolbar_bg";
+ }
+ }
+ part { name: "more_btn_bg";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ min: MP_NAVIFRAME_TOOLBAR_BUTTON_BG_PADDING_INC;
+ fixed: 1 0;
+ align: 0.0 0.0;
+ rel1 { relative: 0.0 0.0; to: "toolbar_bg"; }
+ rel2 { relative: 0.0 1.0; to: "toolbar_bg"; }
+ visible: 0;
+ }
+ }
+ part { name: "toolbar_more_btn";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "toolbar_clip";
+ description { state: "default" 0.0;
+ visible: 0;
+ max: MP_NAVIFRAME_PREV_FUNC_BTN_SIZE_INC;
+ fixed: 1 1;
+ rel1.to: "more_btn_bg";
+ rel2.to: "more_btn_bg";
+ }
+ }
+ part { name: "prev_btn_bg";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ min: MP_NAVIFRAME_TOOLBAR_BUTTON_BG_PADDING_INC;
+ fixed: 1 0;
+ align: 1.0 0.0;
+ rel1 { relative: 1.0 0.0; to: "toolbar_bg"; }
+ rel2.to: "toolbar_bg";
+ visible: 0;
+ }
+ }
+ part { name: "elm.swallow.prev_btn";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "toolbar_clip";
+ description { state: "default" 0.0;
+ visible: 0;
+ max: MP_NAVIFRAME_PREV_FUNC_BTN_SIZE_INC;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ rel1.to: "prev_btn_bg";
+ rel2.to: "prev_btn_bg";
+ }
+ }
+ part { name: "content_clip";
+ type: RECT;
+ mouse_events: 0;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ rel1.to: "elm.swallow.content";
+ rel2.to: "elm.swallow.content";
+ }
+ }
+ part { name: "padding_center_text2";
+ type: RECT;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: MP_NAVIFRAME_PADDING2_INC;
+ fixed: 1 0;
+ align: 1.0 0.5;
+ rel1 { relative: 0.0 0.0; to: "title_left_btn_bg"; }
+ rel2 { relative: 0.0 1.0; to: "title_left_btn_bg"; }
+ visible: 0;
+ }
+ }
+ part { name: "padding_bottom_text";
+ type: RECT;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: MP_NAVIFRAME_BOTTOM_TEXT_PADDING_INC;
+ fixed: 0 1;
+ align: 0.0 1.0;
+ rel1 { relative: 0.0 1.0; to: "title_bg"; }
+ rel2 { relative: 1.0 1.0; to: "title_bg"; }
+ visible: 0;
+ }
+ }
+ part { name: "badge_padding";
+ type: RECT;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 0;
+ fixed: 1 0;
+ align: 1.0 0.0;
+ rel1 { relative: 0.0 0.0; to: "padding_center_text2"; }
+ rel2 { relative: 0.0 1.0; to: "padding_center_text2"; }
+ visible: 0;
+ }
+ description { state: "show" 0.0;
+ inherit: "default" 0.0;
+ min: MP_NAVIFRAME_BADGE_PADDING_INC;
+ }
+ }
+ part { name: "elm.text.title";
+ type: TEXT;
+ effect: FAR_SHADOW BOTTOM;
+ scale: 1;
+ clip_to: "title_clip";
+ description { state: "default" 0.0;
+ text { font: "Tizen:style=Medium";
+ size: MP_NAVIFRAME_TITLE_FONT_SIZE_INC;
+ min: 0 0;
+ max: 1 0;
+ align: 0.0 0.5;
+ }
+ color: MP_NAVIFRAME_TITLE_TEXT_COLOR_INC;
+ color3: 255 255 255 255;
+ align: 0.0 0.5;
+ fixed: 1 1;
+ rel1 { relative: 1.0 1.0; to_x: "padding_center_text1"; to_y: "top_padding"; }
+ rel2 { relative: 0.0 0.0; to_x: "badge_padding"; to_y: "padding_bottom_text"; }
+ }
+ description { state: "subtitle_is_set" 0.0;
+ inherit: "default" 0.0;
+ text { font: "Tizen:style=Medium";
+ size: MP_NAVIFRAME_TITLE_SMALL_FONT_SIZE_INC;
+ min: 0 0;
+ max: 1 0;
+ align: 0.0 0.2;
+ }
+ align: 0.0 0.0;
+ rel1 { relative: 1.0 0.0; to_x: "padding_center_text1"; to_y: "top_padding"; }
+ }
+ }
+ part { name: "elm.text.subtitle";
+ type: TEXT;
+ scale: 1;
+ clip_to: "title_clip";
+ description { state: "default" 0.0;
+ text { font: "Tizen:style=Medium";
+ size: MP_NAVIFRAME_SUBTITLE_FONT_SIZE_INC;
+ min: 0 0;
+ max: 1 0;
+ align: 0.0 1.0;
+ }
+ color: MP_NAVIFRAME_SUBTITLE_TEXT_COLOR_INC;
+ align: 0.0 1.0;
+ fixed: 1 0;
+ rel1 {
+ relative: 1.0 1.0;
+ to_x: "padding_center_text1";
+ to_y: "elm.text.title";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ to_x: "padding_center_text2";
+ to_y: "elm.text.title";
+ }
+ }
+ }
+ part { name: "padding_before_text";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ align: 1.0 0.5;
+ rel1 { relative: 0.0 0.0; to: "elm.text.title"; }
+ rel2 { relative: 0.0 1.0; to: "elm.text.title"; }
+ fixed: 1 0;
+ min: MP_NAVIFRAME_PADDING_INC;
+ visible: 0;
+ }
+ }
+ part { name: "badge_left_padding";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ min: MP_NAVIFRAME_PADDING2_INC;
+ fixed: 1 0;
+ rel1 { relative: 1.0 0.0; to: "elm.text.title"; }
+ rel2 { relative: 1.0 1.0; to: "elm.text.title"; }
+ align: 0.0 0.0;
+ }
+ }
+ part { name: "badge_top_padding";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ min: MP_NAVIFRAME_BADGE_BOTTOM_TEXT_PADDING_INC;
+ fixed: 0 1;
+ rel1 { relative: 0.0 0.0; to_x: "title_bg"; to_y: "elm.text.title"; }
+ rel2 { relative: 1.0 0.0; to_x: "title_bg"; to_y: "elm.text.title"; }
+ align: 0.0 0.0;
+ }
+ }
+ part { name: "badge_bg";
+ type: IMAGE;
+ scale: 1;
+ clip_to: "title_clip";
+ description { state: "default" 0.0;
+ visible: 0;
+ min: 0 0;
+ fixed: 1 1;
+ rel1 { relative: 1.0 1.0; to_x: "badge_left_padding"; to_y: "badge_top_padding"; }
+ rel2 { relative: 1.0 1.0; to_x: "badge_left_padding"; to_y: "badge_top_padding"; }
+ aspect: 1.0 1.0;
+ aspect_preference: BOTH;
+ align: 0.0 0.0;
+ image {
+ normal: "M01_title_bubble.png";
+ border: MP_NAVIFRAME_BADGE_BG_IMAGE_BORDER_INC;
+ border_scale: 1;
+ }
+ }
+ description { state: "show" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ min: MP_NAVIFRAME_BADGE_BG_IMAGE_SIZE_INC;
+ fixed: 1 1;
+ }
+ }
+ part { name: "badge_left_text_padding";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ min: MP_NAVIFRAME_BADGE_LEFT_TEXT_PADDING_INC;
+ fixed: 1 0;
+ align: 0.0 0.0;
+ rel1 { relative: 0.0 0.0; to: "badge_bg"; }
+ rel2 { relative: 0.0 1.0; to: "badge_bg"; }
+ }
+ }
+ part { name: "badge_right_text_padding";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ min: MP_NAVIFRAME_BADGE_LEFT_TEXT_PADDING_INC;
+ fixed: 1 0;
+ align: 1.0 0.0;
+ rel1 { relative: 1.0 0.0; to: "badge_bg"; }
+ rel2 { relative: 1.0 1.0; to: "badge_bg"; }
+ }
+ }
+ part { name: "badge_bottom_text_padding";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ min: MP_NAVIFRAME_BADGE_BOTTOM_TEXT_PADDING_INC;
+ fixed: 0 1;
+ align: 0.0 1.0;
+ rel1 { relative: 0.0 1.0; to: "badge_bg"; }
+ rel2 { relative: 1.0 1.0; to: "badge_bg"; }
+ }
+ }
+ part { name: "title_badge";
+ type: TEXT;
+ mouse_events: 0;
+ scale: 1;
+ clip_to: "title_clip";
+ description { state: "default" 0.0;
+ visible: 0;
+ min: 0 MP_NAVIFRAME_BADGE_TEXT_H_INC;
+ fixed: 1 1;
+ rel1 { relative: 1.0 0.0; to_x: "badge_left_text_padding"; to_y: "badge_bottom_text_padding"; }
+ rel2 { relative: 0.0 0.0; to_x: "badge_right_text_padding"; to_y: "badge_bottom_text_padding"; }
+ align: 0.5 1.0;
+ color: 255 255 255 255;
+ text {
+ font: "Tizen:style=Medium";
+ size: 34;
+ min: 0 0;
+ max: 1 0;
+ align: 0.5 0.5;
+ }
+ }
+ description { state: "show" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "click_event_area";
+ ignore_flags: ON_HOLD;
+ type: RECT;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ rel1 { to: "title_bg"; }
+ rel2 { to: "title_bg"; }
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "elm.swallow.title";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "title_clip";
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ align: 0.5 0.5;
+ fixed: 1 1;
+ rel1 { relative: 113/SCREEN_WIDTH 26/SCREEN_HIGHT; offset: 15 0;}
+ rel2 { relative: 607/SCREEN_WIDTH 134/SCREEN_HIGHT;}
+ }
+ description { state: "subtitle_is_set" 0.0;
+ inherit: "default" 0.0;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ rel1 { relative: 113/SCREEN_WIDTH 26/SCREEN_HIGHT;offset: 15 0;}
+ rel2 { relative: 607/SCREEN_WIDTH 94/SCREEN_HIGHT;}
+ }
+ }
+ part { name: "elm.swallow.subtitle";
+ type: SWALLOW;
+ scale: 1;
+ repeat_events: 1;
+ clip_to: "title_clip";
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ rel1 { relative: 113/SCREEN_WIDTH 94/SCREEN_HIGHT;offset: 15 0;}
+ rel2 { relative: 607/SCREEN_WIDTH 134/SCREEN_HIGHT;}
+ }
+ }
+ part { name: "access.title";
+ type: RECT;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1.to: "title_bg";
+ rel2.to: "title_bg";
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "title_more_btn";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "title_toolbar_clip";
+ description { state: "default" 0.0;
+ max: MP_NAVIFRAME_PREV_FUNC_BTN_SIZE_INC;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ rel1.to: "title_more_btn_bg";
+ rel2.to: "title_more_btn_bg";
+ }
+ }
+ part { name: "title_prev_btn";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "title_toolbar_clip";
+ description { state: "default" 0.0;
+ max: MP_NAVIFRAME_PREV_FUNC_BTN_SIZE_INC;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ rel1.to: "title_prev_btn_bg";
+ rel2.to: "title_prev_btn_bg";
+ }
+ }
+ part { name: "title_left_btn_bg";
+ type: RECT;
+ scale: 1;
+ clip_to: "title_clip";
+ description { state: "default" 0.0;
+ visible: 0;
+ min: 0 0;
+ fixed: 1 0;
+ align: 1.0 0.5;
+ rel1 { relative: 34/SCREEN_WIDTH 51/SCREEN_HIGHT; }
+ rel2 { relative: 97/SCREEN_WIDTH 114/SCREEN_HIGHT; }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ min: MP_NAVIFRAME_TITLE_FUNC_BTN_SIZE_INC;
+ }
+ }
+ part { name: "title_left_btn";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "title_clip";
+ description { state: "default" 0.0;
+ max: MP_NAVIFRAME_TITLE_FUNC_BTN_SIZE_INC;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ rel1 { to: "title_left_btn_bg"; }
+ rel2 { to: "title_left_btn_bg"; }
+ }
+ }
+ part { name: "title_toolbar_button1";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "title_toolbar_clip";
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ rel1.to: "title_toolbar_btns_area";
+ rel2.to: "title_toolbar_btns_area";
+ }
+ description { state: "buttons_set" 0.0;
+ inherit: "default" 0.0;
+ align: 1.0 0.5;
+ rel2 {
+ relative: 0.0 1.0;
+ to: "title_toolbar_button_padding";
+ }
+ }
+ }
+ part { name: "title_toolbar_button2";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "title_toolbar_clip";
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ rel1.to: "title_toolbar_btns_area";
+ rel2.to: "title_toolbar_btns_area";
+ }
+ description { state: "buttons_set" 0.0;
+ inherit: "default" 0.0;
+ align: 0.0 0.5;
+ rel1 {
+ relative: 1.0 0.0;
+ to: "title_toolbar_button_padding";
+ }
+ }
+ }
+ part { name: "elm.swallow.icon";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "title_clip";
+ description { state: "default" 0.0;
+ max: MP_NAVIFRAME_ICON_SIZE_INC;
+ fixed: 1 1;
+ rel1 { relative: 0.0 0.0; to: "padding_before_text"; }
+ rel2 { relative: 0.0 1.0; to: "padding_before_text"; }
+ aspect: 1.0 1.0;
+ aspect_preference: VERTICAL;
+ align: 1.0 0.5;
+ }
+ }
+ part { name: "title_right_btn_bg";
+ type: RECT;
+ scale: 1;
+ clip_to: "title_clip";
+ description { state: "default" 0.0;
+ visible: 0;
+ min: 0 0;
+ fixed: 1 1;
+ align: 1.0 0.5;
+ rel1 { relative: 623/SCREEN_WIDTH 51/SCREEN_HIGHT; }
+ rel2 { relative: 686/SCREEN_WIDTH 114/SCREEN_HIGHT; }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ min: MP_NAVIFRAME_TITLE_FUNC_BTN_SIZE_INC;
+ }
+ }
+ part { name: "title_right_btn";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "title_clip";
+ description { state: "default" 0.0;
+ max: MP_NAVIFRAME_TITLE_FUNC_BTN_SIZE_INC;
+ align: 0.5 0.5;
+ fixed: 1 1;
+ rel1 { to: "title_right_btn_bg";}
+ rel2 { to: "title_right_btn_bg";}
+ }
+ }
+ }
+ programs {
+ program { name: "content_new_pushed";
+ signal: "elm,state,new,pushed,deferred";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "clipper";
+ transition: DECELERATE NAVIFRAME_VIEW_PUSH_TRANS_TIME;
+ after: "show_finished";
+ }
+ program { name: "content_cur_pushed";
+ signal: "elm,state,cur,pushed,deferred";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "clipper";
+ transition: DECELERATE NAVIFRAME_VIEW_PUSH_TRANS_TIME;
+ after: "pushed_finished";
+ }
+ program { name: "content_prev_popped";
+ signal: "elm,state,prev,popped,deferred";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "base";
+ transition: DECELERATE NAVIFRAME_VIEW_POP_TRANS_TIME;
+ after: "show_finished";
+ }
+ program { name: "content_cur_popped";
+ signal: "elm,state,cur,popped,deferred";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "base";
+ transition: DECELERATE NAVIFRAME_VIEW_POP_TRANS_TIME;
+ after: "popped_finished";
+ }
+ program { name: "new_pushed";
+ signal: "elm,state,new,pushed";
+ source: "elm";
+ action: STATE_SET "hide" 0.0;
+ target: "clipper";
+ }
+ program { name: "prev_popped";
+ signal: "elm,state,prev,popped";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "clipper";
+ }
+ program { name: "visible";
+ signal: "elm,state,visible";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "clipper";
+ }
+ program { name: "invisible";
+ signal: "elm,state,invisible";
+ source: "elm";
+ action: STATE_SET "hide" 0.0;
+ target: "clipper";
+ }
+ program { name: "title_show";
+ signal: "elm,state,title,show";
+ source: "elm";
+ script {
+ if (get_int(sip_visible) == 0)
+ set_state(PART:"title_bg", "default", 0.0);
+ else
+ set_state(PART:"title_toolbar_bg", "show", 0.0);
+ }
+ }
+ program { name: "title_hide";
+ signal: "elm,state,title,hide";
+ source: "elm";
+ script {
+ if (get_int(sip_visible) == 0)
+ set_state(PART:"title_bg", "hide", 0.0);
+ else
+ set_state(PART:"title_toolbar_bg", "default", 0.0);
+ }
+ }
+ program { name: "subtitle_show";
+ signal: "elm,state,subtitle,show";
+ source: "elm";
+ script {
+ set_state(PART:"elm.text.title", "subtitle_is_set", 0.0);
+ }
+ }
+ program { name: "subtitle_hide";
+ signal: "elm,state,subtitle,hide";
+ source: "elm";
+ script {
+ set_state(PART:"elm.text.title", "default", 0.0);
+ }
+ }
+ program {
+ name: "title_slide_show";
+ signal: "elm,state,elm.swallow.title,show";
+ source: "elm";
+ script {
+ set_int(title_slide_visible, 1);
+ }
+ }
+ program {
+ name: "title_slide_hide";
+ signal: "elm,state,elm.swallow.title,hide";
+ source: "elm";
+ script {
+ set_int(title_slide_visible, 0);
+ }
+ }
+ program {
+ name: "subtitle_slide_show";
+ signal: "elm,state,elm.swallow.subtitle,show";
+ source: "elm";
+ script {
+ set_state(PART:"elm.swallow.title", "subtitle_is_set", 0.0);
+ }
+ }
+ program {
+ name: "subtitle_slide_hide";
+ signal: "elm,state,elm.swallow.subtitle,hide";
+ source: "elm";
+ script {
+ set_state(PART:"elm.swallow.title", "default", 0.0);
+ }
+ }
+ program { name: "icon_show";
+ signal: "elm,state,icon,show";
+ source: "elm";
+ action: STATE_SET "icon" 0.0;
+ target: "padding_center_text1";
+ }
+ program { name: "icon_hide";
+ signal: "elm,state,icon,hide";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "padding_center_text1";
+ }
+ program { name: "left_btn_show";
+ signal: "elm,state,title_left_btn,show";
+ source: "elm";
+ script {
+ set_state(PART:"title_left_btn_bg", "visible", 0.0);
+ }
+ }
+ program { name: "left_btn_hide";
+ signal: "elm,state,title_left_btn,hide";
+ source: "elm";
+ script {
+ set_state(PART:"title_left_btn_bg", "default", 0.0);
+ }
+ }
+ program { name: "right_btn_show";
+ signal: "elm,state,title_right_btn,show";
+ source: "elm";
+ script {
+ set_state(PART:"title_right_btn_bg", "visible", 0.0);
+ }
+ }
+ program { name: "right_btn_hide";
+ signal: "elm,state,title_right_btn,hide";
+ source: "elm";
+ script {
+ set_state(PART:"title_right_btn_bg", "default", 0.0);
+ }
+ }
+ program { name: "sip_show";
+ signal: "elm,state,sip,shown";
+ source: "";
+ script {
+ set_int(sip_visible, 1);
+ set_state(PART:"title_bg", "hide", 0.0);
+ set_state(PART:"elm.swallow.content", "sip_visible", 0.0);
+ set_state(PART:"title_toolbar_bg", "show", 0.0);
+ }
+ }
+ program { name: "sip_hide";
+ signal: "elm,state,sip,hidden";
+ source: "";
+ script {
+ set_int(sip_visible, 0);
+ set_state(PART:"title_bg", "default", 0.0);
+ set_state(PART:"elm.swallow.content", "default", 0.0);
+ set_state(PART:"title_toolbar_bg", "default", 0.0);
+ }
+ }
+ program { name: "title_toolbar_button1_show";
+ signal: "elm,state,title_toolbar_button1,show";
+ source: "elm";
+ script {
+ set_int(title_toolbar_buttons_visible, get_int(title_toolbar_buttons_visible) + 1);
+ if (get_int(title_toolbar_buttons_visible) >= 2)
+ {
+ set_state(PART:"title_toolbar_button1", "buttons_set", 0.0);
+ set_state(PART:"title_toolbar_button2", "buttons_set", 0.0);
+ }
+ }
+ }
+ program { name: "title_toolbar_button1_hide";
+ signal: "elm,state,title_toolbar_button1,hide";
+ source: "elm";
+ script {
+ set_int(title_toolbar_buttons_visible, get_int(title_toolbar_buttons_visible) - 1);
+ set_state(PART:"title_toolbar_button1", "default", 0.0);
+ set_state(PART:"title_toolbar_button2", "default", 0.0);
+ }
+ }
+ program { name: "title_toolbar_button2_show";
+ signal: "elm,state,title_toolbar_button2,show";
+ source: "elm";
+ script {
+ set_int(title_toolbar_buttons_visible, get_int(title_toolbar_buttons_visible) + 1);
+ if (get_int(title_toolbar_buttons_visible) >= 2)
+ {
+ set_state(PART:"title_toolbar_button1", "buttons_set", 0.0);
+ set_state(PART:"title_toolbar_button2", "buttons_set", 0.0);
+ }
+ }
+ }
+ program { name: "title_toolbar_button2_hide";
+ signal: "elm,state,title_toolbar_button2,hide";
+ source: "elm";
+ script {
+ set_int(title_toolbar_buttons_visible, get_int(title_toolbar_buttons_visible) - 1);
+ set_state(PART:"title_toolbar_button1", "default", 0.0);
+ set_state(PART:"title_toolbar_button2", "default", 0.0);
+ }
+ }
+ program { name: "prev_btn_show";
+ signal: "elm,state,prev_btn,show";
+ source: "elm";
+ script {
+ emit("elm,state,toolbar_bg,show", "elm");
+ }
+ }
+ program { name: "prev_btn_hide";
+ signal: "elm,state,prev_btn,hide";
+ source: "elm";
+ script {
+ emit("elm,state,toolbar_bg,hide", "elm");
+ }
+ }
+ program { name: "more_btn_show";
+ signal: "elm,state,toolbar_more_btn,show";
+ source: "elm";
+ script {
+ emit("elm,state,toolbar_bg,show", "elm");
+ }
+ }
+ program { name: "more_btn_hide";
+ signal: "elm,state,toolbar_more_btn,hide";
+ source: "elm";
+ script {
+ emit("elm,state,toolbar_bg,hide", "elm");
+ }
+ }
+ program { name: "toolbar_button1_show";
+ signal: "elm,state,toolbar_button1,show";
+ source: "elm";
+ script {
+ emit("elm,state,toolbar_bg,show", "elm");
+ set_int(toolbar_buttons_visible, get_int(toolbar_buttons_visible) + 1);
+ if (get_int(toolbar_buttons_visible) >= 2)
+ {
+ set_state(PART:"toolbar_button1", "buttons_set", 0.0);
+ set_state(PART:"toolbar_button2", "buttons_set", 0.0);
+ }
+ }
+ }
+ program { name: "toolbar_button1_hide";
+ signal: "elm,state,toolbar_button1,hide";
+ source: "elm";
+ script {
+ emit("elm,state,toolbar_bg,hide", "elm");
+ set_int(toolbar_buttons_visible, get_int(toolbar_buttons_visible) - 1);
+ set_state(PART:"toolbar_button1", "default", 0.0);
+ set_state(PART:"toolbar_button2", "default", 0.0);
+ }
+ }
+ program { name: "toolbar_button2_show";
+ signal: "elm,state,toolbar_button2,show";
+ source: "elm";
+ script {
+ emit("elm,state,toolbar_bg,show", "elm");
+ set_int(toolbar_buttons_visible, get_int(toolbar_buttons_visible) + 1);
+ if (get_int(toolbar_buttons_visible) >= 2)
+ {
+ set_state(PART:"toolbar_button1", "buttons_set", 0.0);
+ set_state(PART:"toolbar_button2", "buttons_set", 0.0);
+ }
+ }
+ }
+ program { name: "toolbar_button2_hide";
+ signal: "elm,state,toolbar_button2,hide";
+ source: "elm";
+ script {
+ emit("elm,state,toolbar_bg,hide", "elm");
+ set_int(toolbar_buttons_visible, get_int(toolbar_buttons_visible) - 1);
+ set_state(PART:"toolbar_button1", "default", 0.0);
+ set_state(PART:"toolbar_button2", "default", 0.0);
+ }
+ }
+ program { name: "toolbar_bg_show";
+ signal: "elm,state,toolbar_bg,show";
+ source: "elm";
+ script {
+ set_state(PART:"toolbar_bg", "visible", 0.0);
+ set_int(tbar_bg, get_int(tbar_bg) + 1);
+ }
+ }
+ program { name: "toolbar_bg_hide";
+ signal: "elm,state,toolbar_bg,hide";
+ source: "elm";
+ script {
+ set_int(tbar_bg, get_int(tbar_bg) - 1);
+ if (get_int(tbar_bg) <= 0)
+ set_state(PART:"toolbar_bg", "default", 0.0);
+ }
+ }
+ program { name: "toolbar_open_internal";
+ signal: "elm,state,toolbar,open,internal";
+ source: "elm";
+ script {
+ set_int(tbar_close, 0);
+ set_state(PART:"toolbar_bg", "visible", 0.0);
+ }
+ }
+ program { name: "toolbar_close_internal";
+ signal: "elm,state,toolbar,close,internal";
+ source: "elm";
+ script {
+ set_int(tbar_close, 1);
+ set_state(PART:"toolbar_bg", "default", 0.0);
+ }
+ }
+ program { name: "toolbar_open";
+ signal: "elm,state,toolbar,open";
+ source: "";
+ action: STATE_SET "visible" 0.0;
+ target: "toolbar_bg";
+ transition: LINEAR 0.2;
+ after: "toolbar_open_internal";
+ }
+ program { name: "toolbar_close";
+ signal: "elm,state,toolbar,close";
+ source: "";
+ action: STATE_SET "default" 0.0;
+ target: "toolbar_bg";
+ transition: LINEAR 0.2;
+ after: "toolbar_close_internal";
+ }
+ program { name: "toolbar_instant_open";
+ signal: "elm,state,toolbar,instant_open";
+ source: "";
+ script {
+ emit("elm,state,toolbar,open,internal", "elm");
+ }
+ }
+ program { name: "toolbar_instant_close";
+ signal: "elm,state,toolbar,instant_close";
+ source: "";
+ script {
+ emit("elm,state,toolbar,close,internal", "elm");
+ }
+ }
+ program { name: "show_finished";
+ action: SIGNAL_EMIT "elm,action,show,finished" "";
+ }
+ program { name: "pushed_finished";
+ action: SIGNAL_EMIT "elm,action,pushed,finished" "";
+ }
+ program { name: "popped_finished";
+ action: SIGNAL_EMIT "elm,action,popped,finished" "";
+ }
+ program {
+ name: "title_clicked";
+ signal: "mouse,clicked,1";
+ source: "click_event_area";
+ action: SIGNAL_EMIT "elm,action,title,clicked" "";
+ }
+ program {
+ name: "display_mode_compress";
+ signal: "display,mode,compress";
+ source: "";
+ script {
+ set_state(PART:"toolbar_bg", "default", 0.0);
+ }
+ }
+ program {
+ name: "display_mode_default";
+ signal: "display,mode,default";
+ source: "";
+ script {
+ if ((get_int(tbar_bg) > 0) && (get_int(tbar_close) == 0))
+ set_state(PART:"toolbar_bg", "visible", 0.0);
+ }
+ }
+ program {
+ name: "badge_show";
+ signal: "elm,state,title_badge,show";
+ source: "elm";
+ script {
+ set_state(PART:"badge_padding", "show", 0.0);
+ set_state(PART:"badge_bg", "show", 0.0);
+ set_state(PART:"title_badge", "show", 0.0);
+ }
+ }
+ program {
+ name: "badge_hide";
+ signal: "elm,state,title_badge,hide";
+ source: "elm";
+ script {
+ set_state(PART:"badge_padding", "default", 0.0);
+ set_state(PART:"badge_bg", "default", 0.0);
+ set_state(PART:"title_badge", "default", 0.0);
+ }
+ }
+ }
+ }
+
+ group { name:"elm/naviframe/item/basic/music/ld/default";
+ alias:"elm/naviframe/item/miniplayer/music/ld/default";
+ data.item: "tizen_zoom" 1;
+ images {
+ image: "M01_title_bubble.png" COMP;
+ }
+ script {
+ public tbar_bg = 0; //Toolbar BG Show call count
+ public toolbar_buttons_visible = 0; //when both toolbar buttons are visible
+ public title_toolbar_buttons_visible = 0; //when both title toolbar buttons are visible
+ public tbar_close = 0; //Toolbar lastest Open/Close status
+ public sip_visible = 0; //SIP latest visible/hidden status
+ public title_slide_visible = 0; //Title slide visible/hidden status
+ }
+ parts {
+ part { name: "clipper";
+ type: RECT;
+ description { state: "default" 0.0;
+ visible: 1;
+ }
+ description { state: "hide" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "base";
+ type: RECT;
+ mouse_events: 0;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ color: MP_NAVIFRAME_TITLE_BG_COLOR_INC;
+ }
+ }
+ part { name: "title_toolbar_bg";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 0;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ rel1 { relative: 0.0 0.0; to: "base"; }
+ rel2 { relative: 1.0 0.0; to: "base"; }
+ color: MP_NAVIFRAME_TITLE_BG_COLOR_INC;
+ visible: 0;
+ }
+ description { state: "show" 0.0;
+ inherit: "default" 0.0;
+ min: 0 MP_NAVIFRAME_TITLE_H_INC;
+ visible: 1;
+ }
+ }
+ part { name: "title_toolbar_top_padding";
+ type: RECT;
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: MP_NAVIFRAME_TITLE_TOOLBAR_TOP_PADDING_INC;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ rel1 { relative: 0.0 0.0; to: "title_toolbar_bg"; }
+ rel2 { relative: 1.0 0.0; to: "title_toolbar_bg"; }
+ visible: 0;
+ }
+ }
+ part { name: "title_toolbar_bottom_padding";
+ type: RECT;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: MP_NAVIFRAME_TITLE_TOOLBAR_BOTTOM_PADDING_INC;
+ fixed: 0 1;
+ align: 0.0 1.0;
+ rel1 { relative: 0.0 1.0; to: "title_toolbar_bg"; }
+ rel2 { relative: 1.0 1.0; to: "title_toolbar_bg"; }
+ visible: 0;
+ }
+ }
+ part { name: "title_more_btn_bg";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ min: MP_NAVIFRAME_TOOLBAR_BUTTON_BG_PADDING_INC;
+ fixed: 1 1;
+ align: 0.0 0.0;
+ rel1 { relative: 0.0 1.0; to_x: "title_toolbar_bg"; to_y: "title_toolbar_top_padding"; }
+ rel2 { relative: 0.0 0.0; to_x: "title_toolbar_bg"; to_y: "title_toolbar_bottom_padding"; }
+ visible: 0;
+ }
+ }
+ part { name: "title_prev_btn_bg";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ min: MP_NAVIFRAME_TOOLBAR_BUTTON_BG_PADDING_INC;
+ fixed: 1 1;
+ align: 1.0 0.0;
+ rel1 { relative: 1.0 1.0; to_x: "title_toolbar_bg"; to_y: "title_toolbar_top_padding"; }
+ rel2 { relative: 1.0 0.0; to_x: "title_toolbar_bg"; to_y: "title_toolbar_bottom_padding"; }
+ visible: 0;
+ }
+ }
+ part { name: "title_toolbar_btns_area";
+ type: RECT;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 1.0 0.0; to: "title_more_btn_bg"; }
+ rel2 { relative: 0.0 1.0; to: "title_prev_btn_bg"; }
+ visible: 0;
+ }
+ }
+ part { name: "title_toolbar_clip";
+ type: RECT;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { to: "title_toolbar_bg"; }
+ rel2 { to: "title_toolbar_bg"; }
+ }
+ }
+ part { name: "title_toolbar_button_padding";
+ type: RECT;
+ scale : 1;
+ description { state: "default" 0.0;
+ min: MP_NAVIFRAME_TOOLBAR_BUTTONS_PADDING_INC 0;
+ max: MP_NAVIFRAME_TOOLBAR_BUTTONS_PADDING_INC 9999;
+ fixed : 1 0;
+ visible: 0;
+ align: 0.5 0.5;
+ rel1.to: "title_toolbar_btns_area";
+ rel2.to: "title_toolbar_btns_area";
+ }
+ }
+ part { name: "title_bg";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 1 MP_NAVIFRAME_TITLE_H_INC;
+ align: 0.0 0.0;
+ fixed: 0 1;
+ rel1 { relative: 0.0 0.0; to: "base"; }
+ rel2 { relative: 1.0 0.0; to: "base"; }
+ color: MP_NAVIFRAME_TITLE_BG_COLOR_INC;
+ }
+ description { state: "hide" 0.0;
+ inherit: "default" 0.0;
+ min: 0 0;
+ max: 0 0;
+ fixed: 1 1;
+ }
+ }
+ part { name: "title_clip";
+ type: RECT;
+ mouse_events: 0;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ rel1 { to: "title_bg"; }
+ rel2 { to: "title_bg"; }
+ }
+ }
+ part { name: "top_padding";
+ type: RECT;
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: MP_NAVIFRAME_TITLE_TOP_PADDING_INC;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ rel1 { relative: 0.0 0.0; to: "title_bg"; }
+ rel2 { relative: 1.0 0.0; to: "title_bg"; }
+ visible: 0;
+ }
+ }
+ part { name: "right_padding";
+ type: RECT;
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: MP_NAVIFRAME_TITLE_RIGHT_PADDING_INC;
+ fixed: 1 0;
+ align: 1.0 0.0;
+ rel1 { relative: 1.0 0.0; to: "title_bg"; }
+ rel2 { relative: 1.0 1.0; to: "title_bg"; }
+ visible: 0;
+ }
+ }
+ part { name: "padding_center_text1";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ min: 600 0;
+ fixed: 1 0;
+ align: 0.0 0.0;
+ rel1 { relative: 0.0 0.0; to: "title_bg"; }
+ rel2 { relative: 0.0 1.0; to: "title_bg"; }
+ visible: 0;
+ }
+ description { state: "icon" 0.0;
+ inherit: "default" 0.0;
+ min: MP_NAVIFRAME_ICON_PADDING_INC;
+ }
+ }
+ part { name: "toolbar_bg";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 0;
+ max: 999999 0;
+ fixed: 0 1;
+ align: 0.0 1.0;
+ visible: 0;
+ rel1 { to: "base"; }
+ rel2 { to: "base"; }
+ color: MP_NAVIFRAME_TOOLBAR_BG_COLOR_INC;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ min: 0 MP_NAVIFRAME_TOOLBAR_HEIGHT_INC;
+ max: 999999 MP_NAVIFRAME_TOOLBAR_HEIGHT_INC;
+ visible: 1;
+ }
+ }
+ part { name: "toolbar_btns_area";
+ type: RECT;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 1.0 0.0; to: "more_btn_bg"; }
+ rel2 { relative: 0.0 1.0; to: "prev_btn_bg"; }
+ visible: 0;
+ }
+ }
+ part { name: "toolbar_clip";
+ type: RECT;
+ mouse_events: 0;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ rel1 { to: "toolbar_bg"; }
+ rel2 { to: "toolbar_bg"; }
+ }
+ }
+ part { name: "toolbar_button1";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "toolbar_clip";
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ rel1.to: "toolbar_btns_area";
+ rel2.to: "toolbar_btns_area";
+ }
+ description { state: "buttons_set" 0.0;
+ inherit: "default" 0.0;
+ align: 1.0 0.5;
+ rel2 {
+ relative: 0.0 1.0;
+ to: "toolbar_button_padding";
+ }
+ }
+ }
+ part { name: "toolbar_button_padding";
+ type: RECT;
+ scale : 1;
+ description { state: "default" 0.0;
+ min: MP_NAVIFRAME_TOOLBAR_BUTTONS_PADDING_INC 0;
+ max: MP_NAVIFRAME_TOOLBAR_BUTTONS_PADDING_INC 9999;
+ fixed : 1 0;
+ visible: 0;
+ align: 0.5 0.5;
+ rel1.to: "toolbar_btns_area";
+ rel2.to: "toolbar_btns_area";
+ }
+ }
+ part { name: "toolbar_button2";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "toolbar_clip";
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ rel1.to: "toolbar_btns_area";
+ rel2.to: "toolbar_btns_area";
+ }
+ description { state: "buttons_set" 0.0;
+ inherit: "default" 0.0;
+ align: 0.0 0.5;
+ rel1 {
+ relative: 1.0 0.0;
+ to: "toolbar_button_padding";
+ }
+ }
+ }
+ part { name: "elm.swallow.content";
+ type: SWALLOW;
+ scale: 1;
+ repeat_events: 0;
+ clip_to: "content_clip";
+ description { state: "default" 0.0;
+ align: 0.0 0.0;
+ rel1.relative: 0.0 0.0;//0.0 1.0;
+ rel1.to: "base";
+ //rel1.to_x: "base";
+ //rel1.to_y: "title_bg";
+ rel2.relative: 1.0 1.0;
+ rel2.to: "base";
+ }
+ description { state: "sip_visible" 0.0;
+ inherit: "default" 0.0;
+ rel1.to_y: "title_toolbar_bg";
+ }
+ }
+ part { name: "more_btn_bg";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ min: MP_NAVIFRAME_TOOLBAR_BUTTON_BG_PADDING_INC;
+ fixed: 1 0;
+ align: 0.0 0.0;
+ rel1 { relative: 560/1280 0.0; to: "toolbar_bg"; }
+ rel2 { relative: 560/1280 1.0; to: "toolbar_bg"; }
+ visible: 0;
+ }
+ }
+ part { name: "toolbar_more_btn";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "toolbar_clip";
+ description { state: "default" 0.0;
+ visible: 0;
+ max: MP_NAVIFRAME_PREV_FUNC_BTN_SIZE_INC;
+ fixed: 1 1;
+ rel1.to: "more_btn_bg";
+ rel2.to: "more_btn_bg";
+ }
+ }
+ part { name: "prev_btn_bg";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ min: MP_NAVIFRAME_TOOLBAR_BUTTON_BG_PADDING_INC;
+ fixed: 1 0;
+ align: 1.0 0.0;
+ rel1 { relative: 1.0 0.0; to: "toolbar_bg"; }
+ rel2.to: "toolbar_bg";
+ visible: 0;
+ }
+ }
+ part { name: "elm.swallow.prev_btn";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "toolbar_clip";
+ description { state: "default" 0.0;
+ visible: 0;
+ max: MP_NAVIFRAME_PREV_FUNC_BTN_SIZE_INC;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ rel1.to: "prev_btn_bg";
+ rel2.to: "prev_btn_bg";
+ }
+ }
+ part { name: "content_clip";
+ type: RECT;
+ mouse_events: 0;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ rel1.to: "elm.swallow.content";
+ rel2.to: "elm.swallow.content";
+ }
+ }
+ part { name: "padding_center_text2";
+ type: RECT;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: MP_NAVIFRAME_PADDING2_INC;
+ fixed: 1 0;
+ align: 1.0 0.5;
+ rel1 { relative: 0.0 0.0; to: "title_left_btn_bg"; }
+ rel2 { relative: 0.0 1.0; to: "title_left_btn_bg"; }
+ visible: 0;
+ }
+ }
+ part { name: "padding_bottom_text";
+ type: RECT;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: MP_NAVIFRAME_BOTTOM_TEXT_PADDING_INC;
+ fixed: 0 1;
+ align: 0.0 1.0;
+ rel1 { relative: 0.0 1.0; to: "title_bg"; }
+ rel2 { relative: 1.0 1.0; to: "title_bg"; }
+ visible: 0;
+ }
+ }
+ part { name: "badge_padding";
+ type: RECT;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 0;
+ fixed: 1 0;
+ align: 1.0 0.0;
+ rel1 { relative: 0.0 0.0; to: "padding_center_text2"; }
+ rel2 { relative: 0.0 1.0; to: "padding_center_text2"; }
+ visible: 0;
+ }
+ description { state: "show" 0.0;
+ inherit: "default" 0.0;
+ min: MP_NAVIFRAME_BADGE_PADDING_INC;
+ }
+ }
+ part { name: "elm.text.title";
+ type: TEXT;
+ effect: FAR_SHADOW BOTTOM;
+ scale: 1;
+ clip_to: "title_clip";
+ description { state: "default" 0.0;
+ text { font: "Tizen:style=Medium";
+ size: MP_NAVIFRAME_TITLE_FONT_SIZE_INC;
+ min: 0 0;
+ max: 1 0;
+ align: 0.0 0.5;
+ }
+ color: MP_NAVIFRAME_TITLE_TEXT_COLOR_INC;
+ color3: 255 255 255 255;
+ align: 0.0 0.5;
+ fixed: 1 1;
+ rel1 { relative: 1.0 1.0; to_x: "padding_center_text1"; to_y: "top_padding"; }
+ rel2 { relative: 0.0 0.0; to_x: "badge_padding"; to_y: "padding_bottom_text"; }
+ }
+ description { state: "subtitle_is_set" 0.0;
+ inherit: "default" 0.0;
+ text { font: "Tizen:style=Medium";
+ size: MP_NAVIFRAME_TITLE_SMALL_FONT_SIZE_INC;
+ min: 0 0;
+ max: 1 0;
+ align: 0.0 0.2;
+ }
+ align: 0.0 0.0;
+ rel1 { relative: 1.0 0.0; to_x: "padding_center_text1"; to_y: "top_padding"; }
+ }
+ }
+ part { name: "elm.text.subtitle";
+ type: TEXT;
+ scale: 1;
+ clip_to: "title_clip";
+ description { state: "default" 0.0;
+ text { font: "Tizen:style=Medium";
+ size: MP_NAVIFRAME_SUBTITLE_FONT_SIZE_INC;
+ min: 0 0;
+ max: 1 0;
+ align: 0.0 1.0;
+ }
+ color: MP_NAVIFRAME_SUBTITLE_TEXT_COLOR_INC;
+ align: 0.0 1.0;
+ fixed: 1 0;
+ rel1 {
+ relative: 1.0 1.0;
+ to_x: "padding_center_text1";
+ to_y: "elm.text.title";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ to_x: "padding_center_text2";
+ to_y: "elm.text.title";
+ }
+ }
+ }
+ part { name: "padding_before_text";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ align: 1.0 0.5;
+ rel1 { relative: 0.0 0.0; to: "elm.text.title"; }
+ rel2 { relative: 0.0 1.0; to: "elm.text.title"; }
+ fixed: 1 0;
+ min: MP_NAVIFRAME_PADDING_INC;
+ visible: 0;
+ }
+ }
+ part { name: "badge_left_padding";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ min: MP_NAVIFRAME_PADDING2_INC;
+ fixed: 1 0;
+ rel1 { relative: 1.0 0.0; to: "elm.text.title"; }
+ rel2 { relative: 1.0 1.0; to: "elm.text.title"; }
+ align: 0.0 0.0;
+ }
+ }
+ part { name: "badge_top_padding";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ min: MP_NAVIFRAME_BADGE_BOTTOM_TEXT_PADDING_INC;
+ fixed: 0 1;
+ rel1 { relative: 0.0 0.0; to_x: "title_bg"; to_y: "elm.text.title"; }
+ rel2 { relative: 1.0 0.0; to_x: "title_bg"; to_y: "elm.text.title"; }
+ align: 0.0 0.0;
+ }
+ }
+ part { name: "badge_bg";
+ type: IMAGE;
+ scale: 1;
+ clip_to: "title_clip";
+ description { state: "default" 0.0;
+ visible: 0;
+ min: 0 0;
+ fixed: 1 1;
+ rel1 { relative: 1.0 1.0; to_x: "badge_left_padding"; to_y: "badge_top_padding"; }
+ rel2 { relative: 1.0 1.0; to_x: "badge_left_padding"; to_y: "badge_top_padding"; }
+ aspect: 1.0 1.0;
+ aspect_preference: BOTH;
+ align: 0.0 0.0;
+ image {
+ normal: "M01_title_bubble.png";
+ border: MP_NAVIFRAME_BADGE_BG_IMAGE_BORDER_INC;
+ border_scale: 1;
+ }
+ }
+ description { state: "show" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ min: MP_NAVIFRAME_BADGE_BG_IMAGE_SIZE_INC;
+ fixed: 1 1;
+ }
+ }
+ part { name: "badge_left_text_padding";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ min: MP_NAVIFRAME_BADGE_LEFT_TEXT_PADDING_INC;
+ fixed: 1 0;
+ align: 0.0 0.0;
+ rel1 { relative: 0.0 0.0; to: "badge_bg"; }
+ rel2 { relative: 0.0 1.0; to: "badge_bg"; }
+ }
+ }
+ part { name: "badge_right_text_padding";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ min: MP_NAVIFRAME_BADGE_LEFT_TEXT_PADDING_INC;
+ fixed: 1 0;
+ align: 1.0 0.0;
+ rel1 { relative: 1.0 0.0; to: "badge_bg"; }
+ rel2 { relative: 1.0 1.0; to: "badge_bg"; }
+ }
+ }
+ part { name: "badge_bottom_text_padding";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ min: MP_NAVIFRAME_BADGE_BOTTOM_TEXT_PADDING_INC;
+ fixed: 0 1;
+ align: 0.0 1.0;
+ rel1 { relative: 0.0 1.0; to: "badge_bg"; }
+ rel2 { relative: 1.0 1.0; to: "badge_bg"; }
+ }
+ }
+ part { name: "title_badge";
+ type: TEXT;
+ mouse_events: 0;
+ scale: 1;
+ clip_to: "title_clip";
+ description { state: "default" 0.0;
+ visible: 0;
+ min: 0 MP_NAVIFRAME_BADGE_TEXT_H_INC;
+ fixed: 1 1;
+ rel1 { relative: 1.0 0.0; to_x: "badge_left_text_padding"; to_y: "badge_bottom_text_padding"; }
+ rel2 { relative: 0.0 0.0; to_x: "badge_right_text_padding"; to_y: "badge_bottom_text_padding"; }
+ align: 0.5 1.0;
+ color: 255 255 255 255;
+ text {
+ font: "Tizen:style=Medium";
+ size: 34;
+ min: 0 0;
+ max: 1 0;
+ align: 0.5 0.5;
+ }
+ }
+ description { state: "show" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "click_event_area";
+ ignore_flags: ON_HOLD;
+ type: RECT;
+ mouse_events: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ rel1 { to: "title_bg"; }
+ rel2 { to: "title_bg"; }
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "elm.swallow.title";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "title_clip";
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ align: 0.5 0.5;
+ fixed: 1 1;
+ rel1 { relative: 673/SCREEN_HIGHT 26/SCREEN_WIDTH;}
+ rel2 { relative: 1167/SCREEN_HIGHT 134/SCREEN_WIDTH;}
+ }
+ description { state: "subtitle_is_set" 0.0;
+ inherit: "default" 0.0;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ rel1 { relative: 673/SCREEN_HIGHT 26/SCREEN_WIDTH;}
+ rel2 { relative: 1167/SCREEN_HIGHT 94/SCREEN_WIDTH;}
+ }
+ }
+ part { name: "elm.swallow.subtitle";
+ type: SWALLOW;
+ scale: 1;
+ repeat_events: 1;
+ clip_to: "title_clip";
+ description { state: "default" 0.0;
+ //fixed: 1 1;
+ align: 0.5 0.5;
+ rel1 { relative: 673/SCREEN_HIGHT 94/SCREEN_WIDTH;}
+ rel2 { relative: 1167/SCREEN_HIGHT 134/SCREEN_WIDTH;}
+ }
+ }
+ part { name: "access.title";
+ type: RECT;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1.to: "title_bg";
+ rel2.to: "title_bg";
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "title_more_btn";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "title_toolbar_clip";
+ description { state: "default" 0.0;
+ max: MP_NAVIFRAME_PREV_FUNC_BTN_SIZE_INC;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ rel1.to: "title_more_btn_bg";
+ rel2.to: "title_more_btn_bg";
+ }
+ }
+ part { name: "title_prev_btn";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "title_toolbar_clip";
+ description { state: "default" 0.0;
+ max: MP_NAVIFRAME_PREV_FUNC_BTN_SIZE_INC;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ rel1.to: "title_prev_btn_bg";
+ rel2.to: "title_prev_btn_bg";
+ }
+ }
+ part { name: "title_left_btn_bg";
+ type: RECT;
+ scale: 1;
+ clip_to: "title_clip";
+ description { state: "default" 0.0;
+ visible: 0;
+ min: 0 0;
+ //fixed: 1 0;
+ align: 1.0 0.5;
+ rel1 { relative: 594/SCREEN_HIGHT 51/SCREEN_WIDTH; }
+ rel2 { relative: 657/SCREEN_HIGHT 114/SCREEN_WIDTH; }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ min: MP_NAVIFRAME_TITLE_FUNC_BTN_SIZE_INC;
+ }
+ }
+ part { name: "title_left_btn";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "title_clip";
+ description { state: "default" 0.0;
+ max: MP_NAVIFRAME_TITLE_FUNC_BTN_SIZE_INC;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ rel1 { to: "title_left_btn_bg"; }
+ rel2 { to: "title_left_btn_bg"; }
+ }
+ }
+ part { name: "title_toolbar_button1";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "title_toolbar_clip";
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ rel1.to: "title_toolbar_btns_area";
+ rel2.to: "title_toolbar_btns_area";
+ }
+ description { state: "buttons_set" 0.0;
+ inherit: "default" 0.0;
+ align: 1.0 0.5;
+ rel2 {
+ relative: 0.0 1.0;
+ to: "title_toolbar_button_padding";
+ }
+ }
+ }
+ part { name: "title_toolbar_button2";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "title_toolbar_clip";
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ rel1.to: "title_toolbar_btns_area";
+ rel2.to: "title_toolbar_btns_area";
+ }
+ description { state: "buttons_set" 0.0;
+ inherit: "default" 0.0;
+ align: 0.0 0.5;
+ rel1 {
+ relative: 1.0 0.0;
+ to: "title_toolbar_button_padding";
+ }
+ }
+ }
+ part { name: "elm.swallow.icon";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "title_clip";
+ description { state: "default" 0.0;
+ max: MP_NAVIFRAME_ICON_SIZE_INC;
+ fixed: 1 1;
+ rel1 { relative: 0.0 0.0; to: "padding_before_text"; }
+ rel2 { relative: 0.0 1.0; to: "padding_before_text"; }
+ aspect: 1.0 1.0;
+ aspect_preference: VERTICAL;
+ align: 1.0 0.5;
+ }
+ }
+ part { name: "title_right_btn_bg";
+ type: RECT;
+ scale: 1;
+ clip_to: "title_clip";
+ description { state: "default" 0.0;
+ visible: 0;
+ min: 0 0;
+ //fixed: 1 1;
+ align: 1.0 0.5;
+ rel1 { relative: 1183/SCREEN_HIGHT 51/SCREEN_WIDTH; }
+ rel2 { relative: 1246/SCREEN_HIGHT 114/SCREEN_WIDTH; }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ min: MP_NAVIFRAME_TITLE_FUNC_BTN_SIZE_INC;
+ }
+ }
+ part { name: "title_right_btn";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "title_clip";
+ description { state: "default" 0.0;
+ max: MP_NAVIFRAME_TITLE_FUNC_BTN_SIZE_INC;
+ align: 0.5 0.5;
+ fixed: 1 1;
+ rel1 { to: "title_right_btn_bg"; }
+ rel2 { to: "title_right_btn_bg"; }
+ }
+ }
+ }
+ programs {
+ program { name: "content_new_pushed";
+ signal: "elm,state,new,pushed,deferred";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "clipper";
+ transition: DECELERATE NAVIFRAME_VIEW_PUSH_TRANS_TIME;
+ after: "show_finished";
+ }
+ program { name: "content_cur_pushed";
+ signal: "elm,state,cur,pushed,deferred";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "clipper";
+ transition: DECELERATE NAVIFRAME_VIEW_PUSH_TRANS_TIME;
+ after: "pushed_finished";
+ }
+ program { name: "content_prev_popped";
+ signal: "elm,state,prev,popped,deferred";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "base";
+ transition: DECELERATE NAVIFRAME_VIEW_POP_TRANS_TIME;
+ after: "show_finished";
+ }
+ program { name: "content_cur_popped";
+ signal: "elm,state,cur,popped,deferred";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "base";
+ transition: DECELERATE NAVIFRAME_VIEW_POP_TRANS_TIME;
+ after: "popped_finished";
+ }
+ program { name: "new_pushed";
+ signal: "elm,state,new,pushed";
+ source: "elm";
+ action: STATE_SET "hide" 0.0;
+ target: "clipper";
+ }
+ program { name: "prev_popped";
+ signal: "elm,state,prev,popped";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "clipper";
+ }
+ program { name: "visible";
+ signal: "elm,state,visible";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "clipper";
+ }
+ program { name: "invisible";
+ signal: "elm,state,invisible";
+ source: "elm";
+ action: STATE_SET "hide" 0.0;
+ target: "clipper";
+ }
+ program { name: "title_show";
+ signal: "elm,state,title,show";
+ source: "elm";
+ script {
+ if (get_int(sip_visible) == 0)
+ set_state(PART:"title_bg", "default", 0.0);
+ else
+ set_state(PART:"title_toolbar_bg", "show", 0.0);
+ }
+ }
+ program { name: "title_hide";
+ signal: "elm,state,title,hide";
+ source: "elm";
+ script {
+ if (get_int(sip_visible) == 0)
+ set_state(PART:"title_bg", "hide", 0.0);
+ else
+ set_state(PART:"title_toolbar_bg", "default", 0.0);
+ }
+ }
+ program { name: "subtitle_show";
+ signal: "elm,state,subtitle,show";
+ source: "elm";
+ script {
+ set_state(PART:"elm.text.title", "subtitle_is_set", 0.0);
+ }
+ }
+ program { name: "subtitle_hide";
+ signal: "elm,state,subtitle,hide";
+ source: "elm";
+ script {
+ set_state(PART:"elm.text.title", "default", 0.0);
+ }
+ }
+ program {
+ name: "title_slide_show";
+ signal: "elm,state,elm.swallow.title,show";
+ source: "elm";
+ script {
+ set_int(title_slide_visible, 1);
+ }
+ }
+ program {
+ name: "title_slide_hide";
+ signal: "elm,state,elm.swallow.title,hide";
+ source: "elm";
+ script {
+ set_int(title_slide_visible, 0);
+ }
+ }
+ program {
+ name: "subtitle_slide_show";
+ signal: "elm,state,elm.swallow.subtitle,show";
+ source: "elm";
+ script {
+ set_state(PART:"elm.swallow.title", "subtitle_is_set", 0.0);
+ }
+ }
+ program {
+ name: "subtitle_slide_hide";
+ signal: "elm,state,elm.swallow.subtitle,hide";
+ source: "elm";
+ script {
+ set_state(PART:"elm.swallow.title", "default", 0.0);
+ }
+ }
+ program { name: "icon_show";
+ signal: "elm,state,icon,show";
+ source: "elm";
+ action: STATE_SET "icon" 0.0;
+ target: "padding_center_text1";
+ }
+ program { name: "icon_hide";
+ signal: "elm,state,icon,hide";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "padding_center_text1";
+ }
+ program { name: "left_btn_show";
+ signal: "elm,state,title_left_btn,show";
+ source: "elm";
+ script {
+ set_state(PART:"title_left_btn_bg", "visible", 0.0);
+ }
+ }
+ program { name: "left_btn_hide";
+ signal: "elm,state,title_left_btn,hide";
+ source: "elm";
+ script {
+ set_state(PART:"title_left_btn_bg", "default", 0.0);
+ }
+ }
+ program { name: "right_btn_show";
+ signal: "elm,state,title_right_btn,show";
+ source: "elm";
+ script {
+ set_state(PART:"title_right_btn_bg", "visible", 0.0);
+ }
+ }
+ program { name: "right_btn_hide";
+ signal: "elm,state,title_right_btn,hide";
+ source: "elm";
+ script {
+ set_state(PART:"title_right_btn_bg", "default", 0.0);
+ }
+ }
+ program { name: "sip_show";
+ signal: "elm,state,sip,shown";
+ source: "";
+ script {
+ set_int(sip_visible, 1);
+ set_state(PART:"title_bg", "hide", 0.0);
+ set_state(PART:"elm.swallow.content", "sip_visible", 0.0);
+ set_state(PART:"title_toolbar_bg", "show", 0.0);
+ }
+ }
+ program { name: "sip_hide";
+ signal: "elm,state,sip,hidden";
+ source: "";
+ script {
+ set_int(sip_visible, 0);
+ set_state(PART:"title_bg", "default", 0.0);
+ set_state(PART:"elm.swallow.content", "default", 0.0);
+ set_state(PART:"title_toolbar_bg", "default", 0.0);
+ }
+ }
+ program { name: "title_toolbar_button1_show";
+ signal: "elm,state,title_toolbar_button1,show";
+ source: "elm";
+ script {
+ set_int(title_toolbar_buttons_visible, get_int(title_toolbar_buttons_visible) + 1);
+ if (get_int(title_toolbar_buttons_visible) >= 2)
+ {
+ set_state(PART:"title_toolbar_button1", "buttons_set", 0.0);
+ set_state(PART:"title_toolbar_button2", "buttons_set", 0.0);
+ }
+ }
+ }
+ program { name: "title_toolbar_button1_hide";
+ signal: "elm,state,title_toolbar_button1,hide";
+ source: "elm";
+ script {
+ set_int(title_toolbar_buttons_visible, get_int(title_toolbar_buttons_visible) - 1);
+ set_state(PART:"title_toolbar_button1", "default", 0.0);
+ set_state(PART:"title_toolbar_button2", "default", 0.0);
+ }
+ }
+ program { name: "title_toolbar_button2_show";
+ signal: "elm,state,title_toolbar_button2,show";
+ source: "elm";
+ script {
+ set_int(title_toolbar_buttons_visible, get_int(title_toolbar_buttons_visible) + 1);
+ if (get_int(title_toolbar_buttons_visible) >= 2)
+ {
+ set_state(PART:"title_toolbar_button1", "buttons_set", 0.0);
+ set_state(PART:"title_toolbar_button2", "buttons_set", 0.0);
+ }
+ }
+ }
+ program { name: "title_toolbar_button2_hide";
+ signal: "elm,state,title_toolbar_button2,hide";
+ source: "elm";
+ script {
+ set_int(title_toolbar_buttons_visible, get_int(title_toolbar_buttons_visible) - 1);
+ set_state(PART:"title_toolbar_button1", "default", 0.0);
+ set_state(PART:"title_toolbar_button2", "default", 0.0);
+ }
+ }
+ program { name: "prev_btn_show";
+ signal: "elm,state,prev_btn,show";
+ source: "elm";
+ script {
+ emit("elm,state,toolbar_bg,show", "elm");
+ }
+ }
+ program { name: "prev_btn_hide";
+ signal: "elm,state,prev_btn,hide";
+ source: "elm";
+ script {
+ emit("elm,state,toolbar_bg,hide", "elm");
+ }
+ }
+ program { name: "more_btn_show";
+ signal: "elm,state,toolbar_more_btn,show";
+ source: "elm";
+ script {
+ emit("elm,state,toolbar_bg,show", "elm");
+ }
+ }
+ program { name: "more_btn_hide";
+ signal: "elm,state,toolbar_more_btn,hide";
+ source: "elm";
+ script {
+ emit("elm,state,toolbar_bg,hide", "elm");
+ }
+ }
+ program { name: "toolbar_button1_show";
+ signal: "elm,state,toolbar_button1,show";
+ source: "elm";
+ script {
+ emit("elm,state,toolbar_bg,show", "elm");
+ set_int(toolbar_buttons_visible, get_int(toolbar_buttons_visible) + 1);
+ if (get_int(toolbar_buttons_visible) >= 2)
+ {
+ set_state(PART:"toolbar_button1", "buttons_set", 0.0);
+ set_state(PART:"toolbar_button2", "buttons_set", 0.0);
+ }
+ }
+ }
+ program { name: "toolbar_button1_hide";
+ signal: "elm,state,toolbar_button1,hide";
+ source: "elm";
+ script {
+ emit("elm,state,toolbar_bg,hide", "elm");
+ set_int(toolbar_buttons_visible, get_int(toolbar_buttons_visible) - 1);
+ set_state(PART:"toolbar_button1", "default", 0.0);
+ set_state(PART:"toolbar_button2", "default", 0.0);
+ }
+ }
+ program { name: "toolbar_button2_show";
+ signal: "elm,state,toolbar_button2,show";
+ source: "elm";
+ script {
+ emit("elm,state,toolbar_bg,show", "elm");
+ set_int(toolbar_buttons_visible, get_int(toolbar_buttons_visible) + 1);
+ if (get_int(toolbar_buttons_visible) >= 2)
+ {
+ set_state(PART:"toolbar_button1", "buttons_set", 0.0);
+ set_state(PART:"toolbar_button2", "buttons_set", 0.0);
+ }
+ }
+ }
+ program { name: "toolbar_button2_hide";
+ signal: "elm,state,toolbar_button2,hide";
+ source: "elm";
+ script {
+ emit("elm,state,toolbar_bg,hide", "elm");
+ set_int(toolbar_buttons_visible, get_int(toolbar_buttons_visible) - 1);
+ set_state(PART:"toolbar_button1", "default", 0.0);
+ set_state(PART:"toolbar_button2", "default", 0.0);
+ }
+ }
+ program { name: "toolbar_bg_show";
+ signal: "elm,state,toolbar_bg,show";
+ source: "elm";
+ script {
+ set_state(PART:"toolbar_bg", "visible", 0.0);
+ set_int(tbar_bg, get_int(tbar_bg) + 1);
+ }
+ }
+ program { name: "toolbar_bg_hide";
+ signal: "elm,state,toolbar_bg,hide";
+ source: "elm";
+ script {
+ set_int(tbar_bg, get_int(tbar_bg) - 1);
+ if (get_int(tbar_bg) <= 0)
+ set_state(PART:"toolbar_bg", "default", 0.0);
+ }
+ }
+ program { name: "toolbar_open_internal";
+ signal: "elm,state,toolbar,open,internal";
+ source: "elm";
+ script {
+ set_int(tbar_close, 0);
+ set_state(PART:"toolbar_bg", "visible", 0.0);
+ }
+ }
+ program { name: "toolbar_close_internal";
+ signal: "elm,state,toolbar,close,internal";
+ source: "elm";
+ script {
+ set_int(tbar_close, 1);
+ set_state(PART:"toolbar_bg", "default", 0.0);
+ }
+ }
+ program { name: "toolbar_open";
+ signal: "elm,state,toolbar,open";
+ source: "";
+ action: STATE_SET "visible" 0.0;
+ target: "toolbar_bg";
+ transition: LINEAR 0.2;
+ after: "toolbar_open_internal";
+ }
+ program { name: "toolbar_close";
+ signal: "elm,state,toolbar,close";
+ source: "";
+ action: STATE_SET "default" 0.0;
+ target: "toolbar_bg";
+ transition: LINEAR 0.2;
+ after: "toolbar_close_internal";
+ }
+ program { name: "toolbar_instant_open";
+ signal: "elm,state,toolbar,instant_open";
+ source: "";
+ script {
+ emit("elm,state,toolbar,open,internal", "elm");
+ }
+ }
+ program { name: "toolbar_instant_close";
+ signal: "elm,state,toolbar,instant_close";
+ source: "";
+ script {
+ emit("elm,state,toolbar,close,internal", "elm");
+ }
+ }
+ program { name: "show_finished";
+ action: SIGNAL_EMIT "elm,action,show,finished" "";
+ }
+ program { name: "pushed_finished";
+ action: SIGNAL_EMIT "elm,action,pushed,finished" "";
+ }
+ program { name: "popped_finished";
+ action: SIGNAL_EMIT "elm,action,popped,finished" "";
+ }
+ program {
+ name: "title_clicked";
+ signal: "mouse,clicked,1";
+ source: "click_event_area";
+ action: SIGNAL_EMIT "elm,action,title,clicked" "";
+ }
+ program {
+ name: "display_mode_compress";
+ signal: "display,mode,compress";
+ source: "";
+ script {
+ set_state(PART:"toolbar_bg", "default", 0.0);
+ }
+ }
+ program {
+ name: "display_mode_default";
+ signal: "display,mode,default";
+ source: "";
+ script {
+ if ((get_int(tbar_bg) > 0) && (get_int(tbar_close) == 0))
+ set_state(PART:"toolbar_bg", "visible", 0.0);
+ }
+ }
+ program {
+ name: "badge_show";
+ signal: "elm,state,title_badge,show";
+ source: "elm";
+ script {
+ set_state(PART:"badge_padding", "show", 0.0);
+ set_state(PART:"badge_bg", "show", 0.0);
+ set_state(PART:"title_badge", "show", 0.0);
+ }
+ }
+ program {
+ name: "badge_hide";
+ signal: "elm,state,title_badge,hide";
+ source: "elm";
+ script {
+ set_state(PART:"badge_padding", "default", 0.0);
+ set_state(PART:"badge_bg", "default", 0.0);
+ set_state(PART:"title_badge", "default", 0.0);
+ }
+ }
+ }
+ }
+
+
+#define MP_NAVIFRAME_TITLE_SLIDE_TEXT_GAP 60
+#define MP_NAVIFRAME_SUBTITLE_SLIDE_TEXT_GAP 40
+#define MP_NAVIFRAME_TITLE_SLIDE_MAX_COUNT 3
+#define MP_NAVIFRAME_TITLE_SLIDE_SPEED_WEIGHT 0.5
+#define MP_BASIC_NAVIFRAME_TITLE_FONT_SIZE_INC 50
+#define MP_BASIC_NAVIFRAME_TITLE_FONT_MIN_SIZE_INC 46
+#define MP_BASIC_NAVIFRAME_SUBTITLE_FONT_SIZE_INC 30
+#define MP_BASIC_NAVIFRAME_LANDSCAPE_SUBTITLE_FONT_SIZE_INC 28
+#define MP_BASIC_NAVIFRAME_TITLE_H_INC 96
+#define MP_BASIC_NAVIFRAME_TITLE_BG_IMAGE_BORDER_INC 8 8 2 2
+#define MP_BASIC_NAVIFRAME_LANDSCAPE_TITLE_H_INC 91
+#define MP_BASIC_NAVIFRAME_PADDING_INC 26 0
+#define MP_BASIC_NAVIFRAME_ICON_PADDING_INC 77 0
+#define MP_BASIC_NAVIFRAME_BADGE_PADDING_INC 92 0
+#define MP_BASIC_NAVIFRAME_TITLE_TEXT_BG_H_INC 88
+#define MP_BASIC_NAVIFRAME_LANDSCAPE_TITLE_TEXT_BG_H_INC 76
+#define MP_BASIC_NAVIFRAME_TITLE_TEXT_COLOR_INC 40 40 40 255
+#define MP_BASIC_NAVIFRAME_TITLE_TEXT_SHADOW_COLOR_INC 250 250 250 255
+#define MP_BASIC_NAVIFRAME_TITLE_SMALL_FONT_SIZE_INC 42
+#define MP_BASIC_NAVIFRAME_LANDSCAPE_TITLE_SMALL_FONT_SIZE_INC 38
+#define MP_BASIC_NAVIFRAME_TITLE_TEXT_SLIDE_EFFECT_IMAGE_SIZE_INC 63 27
+#define MP_BASIC_NAVIFRAME_TITLE_TEXT_SLIDE_EFFECT_IMAGE_BORDER_INC 0 0 13 12
+#define MP_BASIC_NAVIFRAME_SUBTITLE_TOP_PADDING_H_INC 2
+#define MP_BASIC_NAVIFRAME_LANDSCAPE_SUBTITLE_TOP_PADDING_H_INC 4
+#define MP_BASIC_NAVIFRAME_SUBTITLE_H_INC 37
+#define MP_BASIC_NAVIFRAME_LANDSCAPE_SUBTITLE_H_INC 30
+#define MP_BASIC_NAVIFRAME_SUBTITLE_TEXT_COLOR_INC 40 40 40 255
+#define MP_BASIC_NAVIFRAME_SUBTITLE_TEXT_SHADOW_COLOR_INC 250 250 250 255
+#define MP_BASIC_NAVIFRAME_PADDING2_INC 16 0
+#define MP_BASIC_NAVIFRAME_BADGE_TOP_PADDING_INC 0 10
+#define MP_BASIC_NAVIFRAME_BADGE_LEFT_PADDING_INC 8 0
+#define MP_BASIC_NAVIFRAME_BADGE_TEXT_LEFT_PADDING_INC 12 54
+#define MP_BASIC_NAVIFRAME_BADGE_BG_IMAGE_BORDER_INC 26 26 0 0
+#define MP_BASIC_NAVIFRAME_BADGE_BG_IMAGE_SIZE_INC 54 54
+#define MP_BASIC_NAVIFRAME_BADGE_TEXT_MIN_W_INC 30
+#define MP_BASIC_NAVIFRAME_BADGE_TEXT_MAX_W_INC 60
+#define MP_BASIC_NAVIFRAME_BADGE_TEXT_COLOR_INC 250 250 250 255;
+#define MP_BASIC_NAVIFRAME_BADGE_TEXT_H_INC 34
+#define MP_BASIC_NAVIFRAME_TITLE_BUTTON_DIVIDER_COLOR_INC 138 138 138 82
+#define MP_BASIC_NAVIFRAME_TITLE_FUNC_BTN_SIZE_INC 183 96
+#define MP_BASIC_NAVIFRAME_LANDSCAPE_TITLE_FUNC_BTN_SIZE_INC 183 91
+#define MP_BASIC_NAVIFRAME_ICON_SIZE_INC 62 62
+#define MP_BASIC_NAVIFRAME_TOOLBAR_HEIGHT_INC 98
+#define MP_BASIC_NAVIFRAME_LANDSCAPE_TOOLBAR_HEIGHT_INC 85
+#define MP_BASIC_NAVIFRAME_TOOLBAR_BUTTON_BG_PADDING_INC 112 0
+#define MP_BASIC_NAVIFRAME_PREV_FUNC_BTN_SIZE_INC 85 98
+#define MP_BASIC_NAVIFRAME_LANDSCAPE_PREV_FUNC_BTN_SIZE_INC 85 85
+
+
+#define MP_NAVIFRAME_TITLE_LD_H_INC 100
+
+ group { name:"elm/naviframe/item/landscape/music/default";
+ alias: "elm/naviframe/item/miniplayer/music/landscape/default";
+ data.item: "tizen_zoom" 1;
+ images {
+ image: "M01_title_bubble.png" COMP;
+ }
+ script {
+ public tbar_bg = 0; //Toolbar BG Show call count
+ public toolbar_buttons_visible = 0; //when both toolbar buttons are visible
+ public title_toolbar_buttons_visible = 0; //when both title toolbar buttons are visible
+ public tbar_close = 0; //Toolbar lastest Open/Close status
+ public sip_visible = 0; //SIP latest visible/hidden status
+ public title_slide_visible = 0; //Title slide visible/hidden status
+ }
+ parts {
+ part { name: "clipper";
+ type: RECT;
+ description { state: "default" 0.0;
+ visible: 1;
+ }
+ description { state: "hide" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "base";
+ type: RECT;
+ mouse_events: 0;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ color: MP_NAVIFRAME_TITLE_BG_COLOR_INC;
+ }
+ }
+ part { name: "title_toolbar_bg";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 0;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ rel1 { relative: 0.0 0.0; to: "base"; }
+ rel2 { relative: 1.0 0.0; to: "base"; }
+ color: MP_NAVIFRAME_TITLE_BG_COLOR_INC;
+ visible: 0;
+ }
+ description { state: "show" 0.0;
+ inherit: "default" 0.0;
+ min: 0 MP_NAVIFRAME_TITLE_LD_H_INC;
+ visible: 1;
+ }
+ }
+ part { name: "title_toolbar_top_padding";
+ type: RECT;
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: MP_NAVIFRAME_TITLE_TOOLBAR_TOP_PADDING_INC;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ rel1 { relative: 0.0 0.0; to: "title_toolbar_bg"; }
+ rel2 { relative: 1.0 0.0; to: "title_toolbar_bg"; }
+ visible: 0;
+ }
+ }
+ part { name: "title_toolbar_bottom_padding";
+ type: RECT;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: MP_NAVIFRAME_TITLE_TOOLBAR_BOTTOM_PADDING_INC;
+ fixed: 0 1;
+ align: 0.0 1.0;
+ rel1 { relative: 0.0 1.0; to: "title_toolbar_bg"; }
+ rel2 { relative: 1.0 1.0; to: "title_toolbar_bg"; }
+ visible: 0;
+ }
+ }
+ part { name: "title_more_btn_bg";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ min: MP_NAVIFRAME_TOOLBAR_BUTTON_BG_PADDING_INC;
+ fixed: 1 1;
+ align: 0.0 0.0;
+ rel1 { relative: 0.0 1.0; to_x: "title_toolbar_bg"; to_y: "title_toolbar_top_padding"; }
+ rel2 { relative: 0.0 0.0; to_x: "title_toolbar_bg"; to_y: "title_toolbar_bottom_padding"; }
+ visible: 0;
+ }
+ }
+ part { name: "title_prev_btn_bg";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ min: MP_NAVIFRAME_TOOLBAR_BUTTON_BG_PADDING_INC;
+ fixed: 1 1;
+ align: 1.0 0.0;
+ rel1 { relative: 1.0 1.0; to_x: "title_toolbar_bg"; to_y: "title_toolbar_top_padding"; }
+ rel2 { relative: 1.0 0.0; to_x: "title_toolbar_bg"; to_y: "title_toolbar_bottom_padding"; }
+ visible: 0;
+ }
+ }
+ part { name: "title_toolbar_btns_area";
+ type: RECT;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 1.0 0.0; to: "title_more_btn_bg"; }
+ rel2 { relative: 0.0 1.0; to: "title_prev_btn_bg"; }
+ visible: 0;
+ }
+ }
+ part { name: "title_toolbar_clip";
+ type: RECT;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { to: "title_toolbar_bg"; }
+ rel2 { to: "title_toolbar_bg"; }
+ }
+ }
+ part { name: "title_toolbar_button_padding";
+ type: RECT;
+ scale : 1;
+ description { state: "default" 0.0;
+ min: MP_NAVIFRAME_TOOLBAR_BUTTONS_PADDING_INC 0;
+ max: MP_NAVIFRAME_TOOLBAR_BUTTONS_PADDING_INC 9999;
+ fixed : 1 0;
+ visible: 0;
+ align: 0.5 0.5;
+ rel1.to: "title_toolbar_btns_area";
+ rel2.to: "title_toolbar_btns_area";
+ }
+ }
+ part { name: "title_bg";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 1 MP_NAVIFRAME_TITLE_LD_H_INC;
+ align: 0.0 0.0;
+ fixed: 0 1;
+ rel1 { relative: 0.0 0.0; to: "base"; }
+ rel2 { relative: 1.0 0.0; to: "base"; }
+ color: 0 0 0 0;
+ }
+ description { state: "hide" 0.0;
+ inherit: "default" 0.0;
+ min: 0 0;
+ max: 0 0;
+ fixed: 1 1;
+ }
+ }
+ part { name: "title_clip";
+ type: RECT;
+ mouse_events: 0;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ rel1 { to: "title_bg"; }
+ rel2 { to: "title_bg"; }
+ }
+ }
+ part { name: "top_padding";
+ type: RECT;
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: MP_NAVIFRAME_TITLE_TOP_PADDING_INC;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ rel1 { relative: 0.0 0.0; to: "title_bg"; }
+ rel2 { relative: 1.0 0.0; to: "title_bg"; }
+ visible: 0;
+ }
+ }
+ part { name: "right_padding";
+ type: RECT;
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: MP_NAVIFRAME_TITLE_RIGHT_PADDING_INC;
+ fixed: 1 0;
+ align: 1.0 0.0;
+ rel1 { relative: 1.0 0.0; to: "title_bg"; }
+ rel2 { relative: 1.0 1.0; to: "title_bg"; }
+ visible: 0;
+ }
+ }
+ part { name: "padding_center_text1";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ min: MP_NAVIFRAME_PADDING_INC;
+ fixed: 1 0;
+ align: 0.0 0.0;
+ rel1 { relative: 0.0 0.0; to: "title_bg"; }
+ rel2 { relative: 0.0 1.0; to: "title_bg"; }
+ visible: 0;
+ }
+ description { state: "icon" 0.0;
+ inherit: "default" 0.0;
+ min: MP_NAVIFRAME_ICON_PADDING_INC;
+ }
+ }
+ part { name: "toolbar_bg";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 0;
+ max: 999999 0;
+ fixed: 0 1;
+ align: 0.0 1.0;
+ visible: 0;
+ rel1 { to: "base"; }
+ rel2 { to: "base"; }
+ color: MP_NAVIFRAME_TOOLBAR_BG_COLOR_INC;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ min: 0 MP_NAVIFRAME_TOOLBAR_HEIGHT_INC;
+ max: 999999 MP_NAVIFRAME_TOOLBAR_HEIGHT_INC;
+ visible: 1;
+ }
+ }
+ part { name: "toolbar_btns_area";
+ type: RECT;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 1.0 0.0; to: "more_btn_bg"; }
+ rel2 { relative: 0.0 1.0; to: "prev_btn_bg"; }
+ visible: 0;
+ }
+ }
+ part { name: "toolbar_clip";
+ type: RECT;
+ mouse_events: 0;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ rel1 { to: "toolbar_bg"; }
+ rel2 { to: "toolbar_bg"; }
+ }
+ }
+ part { name: "toolbar_button1";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "toolbar_clip";
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ rel1.to: "toolbar_btns_area";
+ rel2.to: "toolbar_btns_area";
+ }
+ description { state: "buttons_set" 0.0;
+ inherit: "default" 0.0;
+ align: 1.0 0.5;
+ rel2 {
+ relative: 0.0 1.0;
+ to: "toolbar_button_padding";
+ }
+ }
+ }
+ part { name: "toolbar_button_padding";
+ type: RECT;
+ scale : 1;
+ description { state: "default" 0.0;
+ min: MP_NAVIFRAME_TOOLBAR_BUTTONS_PADDING_INC 0;
+ max: MP_NAVIFRAME_TOOLBAR_BUTTONS_PADDING_INC 9999;
+ fixed : 1 0;
+ visible: 0;
+ align: 0.5 0.5;
+ rel1.to: "toolbar_btns_area";
+ rel2.to: "toolbar_btns_area";
+ }
+ }
+ part { name: "toolbar_button2";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "toolbar_clip";
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ rel1.to: "toolbar_btns_area";
+ rel2.to: "toolbar_btns_area";
+ }
+ description { state: "buttons_set" 0.0;
+ inherit: "default" 0.0;
+ align: 0.0 0.5;
+ rel1 {
+ relative: 1.0 0.0;
+ to: "toolbar_button_padding";
+ }
+ }
+ }
+ part { name: "elm.swallow.content";
+ type: SWALLOW;
+ scale: 1;
+ repeat_events: 0;
+ clip_to: "content_clip";
+ description { state: "default" 0.0;
+ align: 0.0 0.0;
+ rel1.relative: 0.0 0.0;//0.0 1.0;
+ rel1.to: "base";
+ rel2.relative: 1.0 1.0;
+ rel2.to: "base";
+ }
+ description { state: "sip_visible" 0.0;
+ inherit: "default" 0.0;
+ rel1.to_y: "title_toolbar_bg";
+ }
+ }
+ part { name: "more_btn_bg";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ min: MP_NAVIFRAME_TOOLBAR_BUTTON_BG_PADDING_INC;
+ fixed: 1 0;
+ align: 0.0 0.0;
+ rel1 { relative: 0.0 0.0; to: "toolbar_bg"; }
+ rel2 { relative: 0.0 1.0; to: "toolbar_bg"; }
+ visible: 0;
+ }
+ }
+ part { name: "toolbar_more_btn";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "toolbar_clip";
+ description { state: "default" 0.0;
+ visible: 0;
+ max: MP_NAVIFRAME_PREV_FUNC_BTN_SIZE_INC;
+ fixed: 1 1;
+ rel1.to: "more_btn_bg";
+ rel2.to: "more_btn_bg";
+ }
+ }
+ part { name: "prev_btn_bg";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ min: MP_NAVIFRAME_TOOLBAR_BUTTON_BG_PADDING_INC;
+ fixed: 1 0;
+ align: 1.0 0.0;
+ rel1 { relative: 1.0 0.0; to: "toolbar_bg"; }
+ rel2.to: "toolbar_bg";
+ visible: 0;
+ }
+ }
+ part { name: "elm.swallow.prev_btn";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "toolbar_clip";
+ description { state: "default" 0.0;
+ visible: 0;
+ max: MP_NAVIFRAME_PREV_FUNC_BTN_SIZE_INC;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ rel1.to: "prev_btn_bg";
+ rel2.to: "prev_btn_bg";
+ }
+ }
+ part { name: "content_clip";
+ type: RECT;
+ mouse_events: 0;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ rel1.to: "elm.swallow.content";
+ rel2.to: "elm.swallow.content";
+ }
+ }
+ part { name: "padding_center_text2";
+ type: RECT;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: MP_NAVIFRAME_PADDING2_INC;
+ fixed: 1 0;
+ align: 1.0 0.5;
+ rel1 { relative: 0.0 0.0; to: "title_left_btn_bg"; }
+ rel2 { relative: 0.0 1.0; to: "title_left_btn_bg"; }
+ visible: 0;
+ }
+ }
+ part { name: "padding_bottom_text";
+ type: RECT;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: MP_NAVIFRAME_BOTTOM_TEXT_PADDING_INC;
+ fixed: 0 1;
+ align: 0.0 1.0;
+ rel1 { relative: 0.0 1.0; to: "title_bg"; }
+ rel2 { relative: 1.0 1.0; to: "title_bg"; }
+ visible: 0;
+ }
+ }
+ part { name: "badge_padding";
+ type: RECT;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 0;
+ fixed: 1 0;
+ align: 1.0 0.0;
+ rel1 { relative: 0.0 0.0; to: "padding_center_text2"; }
+ rel2 { relative: 0.0 1.0; to: "padding_center_text2"; }
+ visible: 0;
+ }
+ description { state: "show" 0.0;
+ inherit: "default" 0.0;
+ min: MP_NAVIFRAME_BADGE_PADDING_INC;
+ }
+ }
+ part { name: "elm.text.title";
+ type: TEXT;
+ effect: FAR_SHADOW BOTTOM;
+ scale: 1;
+ clip_to: "title_clip";
+ description { state: "default" 0.0;
+ text { font: "Tizen:style=Medium";
+ size: MP_NAVIFRAME_TITLE_FONT_SIZE_INC;
+ min: 0 0;
+ max: 1 0;
+ align: 0.0 0.5;
+ }
+ color: MP_NAVIFRAME_TITLE_TEXT_COLOR_INC;
+ color3: 255 255 255 255;
+ align: 0.0 0.5;
+ fixed: 1 1;
+ rel1 { relative: 1.0 1.0; to_x: "padding_center_text1"; to_y: "top_padding"; }
+ rel2 { relative: 0.0 0.0; to_x: "badge_padding"; to_y: "padding_bottom_text"; }
+ }
+ description { state: "subtitle_is_set" 0.0;
+ inherit: "default" 0.0;
+ text { font: "Tizen:style=Medium";
+ size: MP_NAVIFRAME_TITLE_SMALL_FONT_SIZE_INC;
+ min: 0 0;
+ max: 1 0;
+ align: 0.0 0.2;
+ }
+ align: 0.0 0.0;
+ rel1 { relative: 1.0 0.0; to_x: "padding_center_text1"; to_y: "top_padding"; }
+ }
+ }
+ part { name: "elm.text.subtitle";
+ type: TEXT;
+ scale: 1;
+ clip_to: "title_clip";
+ description { state: "default" 0.0;
+ text { font: "Tizen:style=Medium";
+ size: MP_NAVIFRAME_SUBTITLE_FONT_SIZE_INC;
+ min: 0 0;
+ max: 1 0;
+ align: 0.0 1.0;
+ }
+ color: MP_NAVIFRAME_SUBTITLE_TEXT_COLOR_INC;
+ align: 0.0 1.0;
+ fixed: 1 0;
+ rel1 {
+ relative: 1.0 1.0;
+ to_x: "padding_center_text1";
+ to_y: "elm.text.title";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ to_x: "padding_center_text2";
+ to_y: "elm.text.title";
+ }
+ }
+ }
+ part { name: "padding_before_text";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ align: 1.0 0.5;
+ rel1 { relative: 0.0 0.0; to: "elm.text.title"; }
+ rel2 { relative: 0.0 1.0; to: "elm.text.title"; }
+ fixed: 1 0;
+ min: MP_NAVIFRAME_PADDING_INC;
+ visible: 0;
+ }
+ }
+ part { name: "badge_left_padding";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ min: MP_NAVIFRAME_PADDING2_INC;
+ fixed: 1 0;
+ rel1 { relative: 1.0 0.0; to: "elm.text.title"; }
+ rel2 { relative: 1.0 1.0; to: "elm.text.title"; }
+ align: 0.0 0.0;
+ }
+ }
+ part { name: "badge_top_padding";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ min: MP_NAVIFRAME_BADGE_BOTTOM_TEXT_PADDING_INC;
+ fixed: 0 1;
+ rel1 { relative: 0.0 0.0; to_x: "title_bg"; to_y: "elm.text.title"; }
+ rel2 { relative: 1.0 0.0; to_x: "title_bg"; to_y: "elm.text.title"; }
+ align: 0.0 0.0;
+ }
+ }
+ part { name: "badge_bg";
+ type: IMAGE;
+ scale: 1;
+ clip_to: "title_clip";
+ description { state: "default" 0.0;
+ visible: 0;
+ min: 0 0;
+ fixed: 1 1;
+ rel1 { relative: 1.0 1.0; to_x: "badge_left_padding"; to_y: "badge_top_padding"; }
+ rel2 { relative: 1.0 1.0; to_x: "badge_left_padding"; to_y: "badge_top_padding"; }
+ aspect: 1.0 1.0;
+ aspect_preference: BOTH;
+ align: 0.0 0.0;
+ image {
+ normal: "M01_title_bubble.png";
+ border: MP_NAVIFRAME_BADGE_BG_IMAGE_BORDER_INC;
+ border_scale: 1;
+ }
+ }
+ description { state: "show" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ min: MP_NAVIFRAME_BADGE_BG_IMAGE_SIZE_INC;
+ fixed: 1 1;
+ }
+ }
+ part { name: "badge_left_text_padding";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ min: MP_NAVIFRAME_BADGE_LEFT_TEXT_PADDING_INC;
+ fixed: 1 0;
+ align: 0.0 0.0;
+ rel1 { relative: 0.0 0.0; to: "badge_bg"; }
+ rel2 { relative: 0.0 1.0; to: "badge_bg"; }
+ }
+ }
+ part { name: "badge_right_text_padding";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ min: MP_NAVIFRAME_BADGE_LEFT_TEXT_PADDING_INC;
+ fixed: 1 0;
+ align: 1.0 0.0;
+ rel1 { relative: 1.0 0.0; to: "badge_bg"; }
+ rel2 { relative: 1.0 1.0; to: "badge_bg"; }
+ }
+ }
+ part { name: "badge_bottom_text_padding";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ min: MP_NAVIFRAME_BADGE_BOTTOM_TEXT_PADDING_INC;
+ fixed: 0 1;
+ align: 0.0 1.0;
+ rel1 { relative: 0.0 1.0; to: "badge_bg"; }
+ rel2 { relative: 1.0 1.0; to: "badge_bg"; }
+ }
+ }
+ part { name: "title_badge";
+ type: TEXT;
+ mouse_events: 0;
+ scale: 1;
+ clip_to: "title_clip";
+ description { state: "default" 0.0;
+ visible: 0;
+ min: 0 MP_NAVIFRAME_BADGE_TEXT_H_INC;
+ fixed: 1 1;
+ rel1 { relative: 1.0 0.0; to_x: "badge_left_text_padding"; to_y: "badge_bottom_text_padding"; }
+ rel2 { relative: 0.0 0.0; to_x: "badge_right_text_padding"; to_y: "badge_bottom_text_padding"; }
+ align: 0.5 1.0;
+ color: 255 255 255 255;
+ text {
+ font: "Tizen:style=Medium";
+ size: 34;
+ min: 0 0;
+ max: 1 0;
+ align: 0.5 0.5;
+ }
+ }
+ description { state: "show" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "click_event_area";
+ ignore_flags: ON_HOLD;
+ type: RECT;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ rel1 { to: "title_bg"; }
+ rel2 { to: "title_bg"; }
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "elm.swallow.title";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "title_clip";
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ align: 0.0 0.5;
+ fixed: 1 1;
+ rel1 { relative: 1.0 1.0; to_x: "padding_center_text1"; to_y: "top_padding"; }
+ rel2 { relative: 0.0 0.0; to_x: "badge_padding"; to_y: "padding_bottom_text"; }
+ }
+ description { state: "subtitle_is_set" 0.0;
+ inherit: "default" 0.0;
+ align: 0.0 0.0;
+ fixed: 1 1;
+ rel1 { relative: 1.0 0.0; to_x: "padding_center_text1"; to_y: "top_padding"; }
+ rel2.to_y: "elm.swallow.subtitle";
+ }
+ }
+ part { name: "elm.swallow.subtitle";
+ type: SWALLOW;
+ scale: 1;
+ repeat_events: 1;
+ clip_to: "title_clip";
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ align: 0.0 1.0;
+ rel1 { relative: 1.0 1.0; to_x: "padding_center_text1"; to_y: "elm.text.title"; }
+ rel2 { relative: 0.0 1.0; to_x: "padding_center_text2"; to_y: "elm.text.title"; }
+ }
+ }
+ part { name: "access.title";
+ type: RECT;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1.to: "title_bg";
+ rel2.to: "title_bg";
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "title_more_btn";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "title_toolbar_clip";
+ description { state: "default" 0.0;
+ max: MP_NAVIFRAME_PREV_FUNC_BTN_SIZE_INC;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ rel1.to: "title_more_btn_bg";
+ rel2.to: "title_more_btn_bg";
+ }
+ }
+ part { name: "title_prev_btn";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "title_toolbar_clip";
+ description { state: "default" 0.0;
+ max: MP_NAVIFRAME_PREV_FUNC_BTN_SIZE_INC;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ rel1.to: "title_prev_btn_bg";
+ rel2.to: "title_prev_btn_bg";
+ }
+ }
+ part { name: "title_left_btn_bg";
+ type: RECT;
+ scale: 1;
+ clip_to: "title_clip";
+ description { state: "default" 0.0;
+ visible: 0;
+ min: 0 0;
+ fixed: 1 0;
+ align: 1.0 0.5;
+ rel1 { relative: 0.0 0.0; to: "title_right_btn_bg"; }
+ rel2 { relative: 0.0 1.0; to: "title_right_btn_bg"; }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ min: MP_NAVIFRAME_TITLE_FUNC_BTN_SIZE_INC;
+ }
+ }
+ part { name: "title_left_btn";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "title_clip";
+ description { state: "default" 0.0;
+ max: MP_NAVIFRAME_TITLE_FUNC_BTN_SIZE_INC;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ rel1 { to: "title_left_btn_bg"; }
+ rel2 { to: "title_left_btn_bg"; }
+ }
+ }
+ part { name: "title_toolbar_button1";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "title_toolbar_clip";
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ rel1.to: "title_toolbar_btns_area";
+ rel2.to: "title_toolbar_btns_area";
+ }
+ description { state: "buttons_set" 0.0;
+ inherit: "default" 0.0;
+ align: 1.0 0.5;
+ rel2 {
+ relative: 0.0 1.0;
+ to: "title_toolbar_button_padding";
+ }
+ }
+ }
+ part { name: "title_toolbar_button2";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "title_toolbar_clip";
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ rel1.to: "title_toolbar_btns_area";
+ rel2.to: "title_toolbar_btns_area";
+ }
+ description { state: "buttons_set" 0.0;
+ inherit: "default" 0.0;
+ align: 0.0 0.5;
+ rel1 {
+ relative: 1.0 0.0;
+ to: "title_toolbar_button_padding";
+ }
+ }
+ }
+ part { name: "elm.swallow.icon";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "title_clip";
+ description { state: "default" 0.0;
+ max: MP_NAVIFRAME_ICON_SIZE_INC;
+ fixed: 1 1;
+ rel1 { relative: 0.0 0.0; to: "padding_before_text"; }
+ rel2 { relative: 0.0 1.0; to: "padding_before_text"; }
+ aspect: 1.0 1.0;
+ aspect_preference: VERTICAL;
+ align: 1.0 0.5;
+ }
+ }
+ part { name: "title_right_btn_bg";
+ type: RECT;
+ scale: 1;
+ clip_to: "title_clip";
+ description { state: "default" 0.0;
+ visible: 0;
+ min: 0 0;
+ fixed: 1 1;
+ align: 1.0 0.5;
+ rel1 { relative: 0.0 0.0; to: "right_padding"; }
+ rel2 { relative: 0.0 1.0; to: "right_padding"; }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ min: MP_NAVIFRAME_TITLE_FUNC_BTN_SIZE_INC;
+ }
+ }
+ part { name: "title_right_btn";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "title_clip";
+ description { state: "default" 0.0;
+ max: MP_NAVIFRAME_TITLE_FUNC_BTN_SIZE_INC;
+ align: 0.5 0.5;
+ fixed: 1 1;
+ rel1 { to: "title_right_btn_bg"; }
+ rel2 { to: "title_right_btn_bg"; }
+ }
+ }
+ }
+ programs {
+ program { name: "content_new_pushed";
+ signal: "elm,state,new,pushed,deferred";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "clipper";
+ transition: DECELERATE NAVIFRAME_VIEW_PUSH_TRANS_TIME;
+ after: "show_finished";
+ }
+ program { name: "content_cur_pushed";
+ signal: "elm,state,cur,pushed,deferred";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "clipper";
+ transition: DECELERATE NAVIFRAME_VIEW_PUSH_TRANS_TIME;
+ after: "pushed_finished";
+ }
+ program { name: "content_prev_popped";
+ signal: "elm,state,prev,popped,deferred";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "base";
+ transition: DECELERATE NAVIFRAME_VIEW_POP_TRANS_TIME;
+ after: "show_finished";
+ }
+ program { name: "content_cur_popped";
+ signal: "elm,state,cur,popped,deferred";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "base";
+ transition: DECELERATE NAVIFRAME_VIEW_POP_TRANS_TIME;
+ after: "popped_finished";
+ }
+ program { name: "new_pushed";
+ signal: "elm,state,new,pushed";
+ source: "elm";
+ action: STATE_SET "hide" 0.0;
+ target: "clipper";
+ }
+ program { name: "prev_popped";
+ signal: "elm,state,prev,popped";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "clipper";
+ }
+ program { name: "visible";
+ signal: "elm,state,visible";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "clipper";
+ }
+ program { name: "invisible";
+ signal: "elm,state,invisible";
+ source: "elm";
+ action: STATE_SET "hide" 0.0;
+ target: "clipper";
+ }
+ program { name: "title_show";
+ signal: "elm,state,title,show";
+ source: "elm";
+ script {
+ if (get_int(sip_visible) == 0)
+ set_state(PART:"title_bg", "default", 0.0);
+ else
+ set_state(PART:"title_toolbar_bg", "show", 0.0);
+ }
+ }
+ program { name: "title_hide";
+ signal: "elm,state,title,hide";
+ source: "elm";
+ script {
+ if (get_int(sip_visible) == 0)
+ set_state(PART:"title_bg", "hide", 0.0);
+ else
+ set_state(PART:"title_toolbar_bg", "default", 0.0);
+ }
+ }
+ program { name: "subtitle_show";
+ signal: "elm,state,subtitle,show";
+ source: "elm";
+ script {
+ set_state(PART:"elm.text.title", "subtitle_is_set", 0.0);
+ }
+ }
+ program { name: "subtitle_hide";
+ signal: "elm,state,subtitle,hide";
+ source: "elm";
+ script {
+ set_state(PART:"elm.text.title", "default", 0.0);
+ }
+ }
+ program {
+ name: "title_slide_show";
+ signal: "elm,state,elm.swallow.title,show";
+ source: "elm";
+ script {
+ set_int(title_slide_visible, 1);
+ }
+ }
+ program {
+ name: "title_slide_hide";
+ signal: "elm,state,elm.swallow.title,hide";
+ source: "elm";
+ script {
+ set_int(title_slide_visible, 0);
+ }
+ }
+ program {
+ name: "subtitle_slide_show";
+ signal: "elm,state,elm.swallow.subtitle,show";
+ source: "elm";
+ script {
+ set_state(PART:"elm.swallow.title", "subtitle_is_set", 0.0);
+ }
+ }
+ program {
+ name: "subtitle_slide_hide";
+ signal: "elm,state,elm.swallow.subtitle,hide";
+ source: "elm";
+ script {
+ set_state(PART:"elm.swallow.title", "default", 0.0);
+ }
+ }
+ program { name: "icon_show";
+ signal: "elm,state,icon,show";
+ source: "elm";
+ action: STATE_SET "icon" 0.0;
+ target: "padding_center_text1";
+ }
+ program { name: "icon_hide";
+ signal: "elm,state,icon,hide";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "padding_center_text1";
+ }
+ program { name: "left_btn_show";
+ signal: "elm,state,title_left_btn,show";
+ source: "elm";
+ script {
+ set_state(PART:"title_left_btn_bg", "visible", 0.0);
+ }
+ }
+ program { name: "left_btn_hide";
+ signal: "elm,state,title_left_btn,hide";
+ source: "elm";
+ script {
+ set_state(PART:"title_left_btn_bg", "default", 0.0);
+ }
+ }
+ program { name: "right_btn_show";
+ signal: "elm,state,title_right_btn,show";
+ source: "elm";
+ script {
+ set_state(PART:"title_right_btn_bg", "visible", 0.0);
+ }
+ }
+ program { name: "right_btn_hide";
+ signal: "elm,state,title_right_btn,hide";
+ source: "elm";
+ script {
+ set_state(PART:"title_right_btn_bg", "default", 0.0);
+ }
+ }
+ program { name: "sip_show";
+ signal: "elm,state,sip,shown";
+ source: "";
+ script {
+ set_int(sip_visible, 1);
+ set_state(PART:"title_bg", "hide", 0.0);
+ set_state(PART:"elm.swallow.content", "sip_visible", 0.0);
+ set_state(PART:"title_toolbar_bg", "show", 0.0);
+ }
+ }
+ program { name: "sip_hide";
+ signal: "elm,state,sip,hidden";
+ source: "";
+ script {
+ set_int(sip_visible, 0);
+ set_state(PART:"title_bg", "default", 0.0);
+ set_state(PART:"elm.swallow.content", "default", 0.0);
+ set_state(PART:"title_toolbar_bg", "default", 0.0);
+ }
+ }
+ program { name: "title_toolbar_button1_show";
+ signal: "elm,state,title_toolbar_button1,show";
+ source: "elm";
+ script {
+ set_int(title_toolbar_buttons_visible, get_int(title_toolbar_buttons_visible) + 1);
+ if (get_int(title_toolbar_buttons_visible) >= 2)
+ {
+ set_state(PART:"title_toolbar_button1", "buttons_set", 0.0);
+ set_state(PART:"title_toolbar_button2", "buttons_set", 0.0);
+ }
+ }
+ }
+ program { name: "title_toolbar_button1_hide";
+ signal: "elm,state,title_toolbar_button1,hide";
+ source: "elm";
+ script {
+ set_int(title_toolbar_buttons_visible, get_int(title_toolbar_buttons_visible) - 1);
+ set_state(PART:"title_toolbar_button1", "default", 0.0);
+ set_state(PART:"title_toolbar_button2", "default", 0.0);
+ }
+ }
+ program { name: "title_toolbar_button2_show";
+ signal: "elm,state,title_toolbar_button2,show";
+ source: "elm";
+ script {
+ set_int(title_toolbar_buttons_visible, get_int(title_toolbar_buttons_visible) + 1);
+ if (get_int(title_toolbar_buttons_visible) >= 2)
+ {
+ set_state(PART:"title_toolbar_button1", "buttons_set", 0.0);
+ set_state(PART:"title_toolbar_button2", "buttons_set", 0.0);
+ }
+ }
+ }
+ program { name: "title_toolbar_button2_hide";
+ signal: "elm,state,title_toolbar_button2,hide";
+ source: "elm";
+ script {
+ set_int(title_toolbar_buttons_visible, get_int(title_toolbar_buttons_visible) - 1);
+ set_state(PART:"title_toolbar_button1", "default", 0.0);
+ set_state(PART:"title_toolbar_button2", "default", 0.0);
+ }
+ }
+ program { name: "prev_btn_show";
+ signal: "elm,state,prev_btn,show";
+ source: "elm";
+ script {
+ emit("elm,state,toolbar_bg,show", "elm");
+ }
+ }
+ program { name: "prev_btn_hide";
+ signal: "elm,state,prev_btn,hide";
+ source: "elm";
+ script {
+ emit("elm,state,toolbar_bg,hide", "elm");
+ }
+ }
+ program { name: "more_btn_show";
+ signal: "elm,state,toolbar_more_btn,show";
+ source: "elm";
+ script {
+ emit("elm,state,toolbar_bg,show", "elm");
+ }
+ }
+ program { name: "more_btn_hide";
+ signal: "elm,state,toolbar_more_btn,hide";
+ source: "elm";
+ script {
+ emit("elm,state,toolbar_bg,hide", "elm");
+ }
+ }
+ program { name: "toolbar_button1_show";
+ signal: "elm,state,toolbar_button1,show";
+ source: "elm";
+ script {
+ emit("elm,state,toolbar_bg,show", "elm");
+ set_int(toolbar_buttons_visible, get_int(toolbar_buttons_visible) + 1);
+ if (get_int(toolbar_buttons_visible) >= 2)
+ {
+ set_state(PART:"toolbar_button1", "buttons_set", 0.0);
+ set_state(PART:"toolbar_button2", "buttons_set", 0.0);
+ }
+ }
+ }
+ program { name: "toolbar_button1_hide";
+ signal: "elm,state,toolbar_button1,hide";
+ source: "elm";
+ script {
+ emit("elm,state,toolbar_bg,hide", "elm");
+ set_int(toolbar_buttons_visible, get_int(toolbar_buttons_visible) - 1);
+ set_state(PART:"toolbar_button1", "default", 0.0);
+ set_state(PART:"toolbar_button2", "default", 0.0);
+ }
+ }
+ program { name: "toolbar_button2_show";
+ signal: "elm,state,toolbar_button2,show";
+ source: "elm";
+ script {
+ emit("elm,state,toolbar_bg,show", "elm");
+ set_int(toolbar_buttons_visible, get_int(toolbar_buttons_visible) + 1);
+ if (get_int(toolbar_buttons_visible) >= 2)
+ {
+ set_state(PART:"toolbar_button1", "buttons_set", 0.0);
+ set_state(PART:"toolbar_button2", "buttons_set", 0.0);
+ }
+ }
+ }
+ program { name: "toolbar_button2_hide";
+ signal: "elm,state,toolbar_button2,hide";
+ source: "elm";
+ script {
+ emit("elm,state,toolbar_bg,hide", "elm");
+ set_int(toolbar_buttons_visible, get_int(toolbar_buttons_visible) - 1);
+ set_state(PART:"toolbar_button1", "default", 0.0);
+ set_state(PART:"toolbar_button2", "default", 0.0);
+ }
+ }
+ program { name: "toolbar_bg_show";
+ signal: "elm,state,toolbar_bg,show";
+ source: "elm";
+ script {
+ set_state(PART:"toolbar_bg", "visible", 0.0);
+ set_int(tbar_bg, get_int(tbar_bg) + 1);
+ }
+ }
+ program { name: "toolbar_bg_hide";
+ signal: "elm,state,toolbar_bg,hide";
+ source: "elm";
+ script {
+ set_int(tbar_bg, get_int(tbar_bg) - 1);
+ if (get_int(tbar_bg) <= 0)
+ set_state(PART:"toolbar_bg", "default", 0.0);
+ }
+ }
+ program { name: "toolbar_open_internal";
+ signal: "elm,state,toolbar,open,internal";
+ source: "elm";
+ script {
+ set_int(tbar_close, 0);
+ set_state(PART:"toolbar_bg", "visible", 0.0);
+ }
+ }
+ program { name: "toolbar_close_internal";
+ signal: "elm,state,toolbar,close,internal";
+ source: "elm";
+ script {
+ set_int(tbar_close, 1);
+ set_state(PART:"toolbar_bg", "default", 0.0);
+ }
+ }
+ program { name: "toolbar_open";
+ signal: "elm,state,toolbar,open";
+ source: "";
+ action: STATE_SET "visible" 0.0;
+ target: "toolbar_bg";
+ transition: LINEAR 0.2;
+ after: "toolbar_open_internal";
+ }
+ program { name: "toolbar_close";
+ signal: "elm,state,toolbar,close";
+ source: "";
+ action: STATE_SET "default" 0.0;
+ target: "toolbar_bg";
+ transition: LINEAR 0.2;
+ after: "toolbar_close_internal";
+ }
+ program { name: "toolbar_instant_open";
+ signal: "elm,state,toolbar,instant_open";
+ source: "";
+ script {
+ emit("elm,state,toolbar,open,internal", "elm");
+ }
+ }
+ program { name: "toolbar_instant_close";
+ signal: "elm,state,toolbar,instant_close";
+ source: "";
+ script {
+ emit("elm,state,toolbar,close,internal", "elm");
+ }
+ }
+ program { name: "show_finished";
+ action: SIGNAL_EMIT "elm,action,show,finished" "";
+ }
+ program { name: "pushed_finished";
+ action: SIGNAL_EMIT "elm,action,pushed,finished" "";
+ }
+ program { name: "popped_finished";
+ action: SIGNAL_EMIT "elm,action,popped,finished" "";
+ }
+ program {
+ name: "title_clicked";
+ signal: "mouse,clicked,1";
+ source: "click_event_area";
+ action: SIGNAL_EMIT "elm,action,title,clicked" "";
+ }
+ program {
+ name: "display_mode_compress";
+ signal: "display,mode,compress";
+ source: "";
+ script {
+ set_state(PART:"toolbar_bg", "default", 0.0);
+ }
+ }
+ program {
+ name: "display_mode_default";
+ signal: "display,mode,default";
+ source: "";
+ script {
+ if ((get_int(tbar_bg) > 0) && (get_int(tbar_close) == 0))
+ set_state(PART:"toolbar_bg", "visible", 0.0);
+ }
+ }
+ program {
+ name: "badge_show";
+ signal: "elm,state,title_badge,show";
+ source: "elm";
+ script {
+ set_state(PART:"badge_padding", "show", 0.0);
+ set_state(PART:"badge_bg", "show", 0.0);
+ set_state(PART:"title_badge", "show", 0.0);
+ }
+ }
+ program {
+ name: "badge_hide";
+ signal: "elm,state,title_badge,hide";
+ source: "elm";
+ script {
+ set_state(PART:"badge_padding", "default", 0.0);
+ set_state(PART:"badge_bg", "default", 0.0);
+ set_state(PART:"title_badge", "default", 0.0);
+ }
+ }
+ }
+
+ }
+
+ group { name:"elm/naviframe/item/empty/music/default";
+ data.item: "tizen_zoom" 1;
+ script {
+ public tbar_bg = 0; //Toolbar BG Show call count
+ public toolbar_buttons_visible = 0; //when both toolbar buttons are visible
+ public title_toolbar_buttons_visible = 0; //when both title toolbar buttons are visible
+ public tbar_close = 0; //Toolbar lastest Open/Close status
+ public sip_visible = 0; //SIP latest visible/hidden status
+ }
+ parts {
+ part { name: "clipper";
+ type: RECT;
+ description { state: "default" 0.0;
+ visible: 1;
+ }
+ description { state: "hide" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "base";
+ type: RECT;
+ mouse_events: 0;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ color: MP_NAVIFRAME_TITLE_BG_COLOR_INC;
+ }
+ }
+ part { name: "title_toolbar_bg";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 0;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ rel1 { relative: 0.0 0.0; to: "base"; }
+ rel2 { relative: 1.0 0.0; to: "base"; }
+ color: MP_NAVIFRAME_TITLE_BG_COLOR_INC;
+ visible: 0;
+ }
+ description { state: "show" 0.0;
+ inherit: "default" 0.0;
+ min: 0 MP_NAVIFRAME_TITLE_H_INC;
+ visible: 1;
+ }
+ }
+ part { name: "title_toolbar_top_padding";
+ type: RECT;
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: MP_NAVIFRAME_TITLE_TOOLBAR_TOP_PADDING_INC;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ rel1 { relative: 0.0 0.0; to: "title_toolbar_bg"; }
+ rel2 { relative: 1.0 0.0; to: "title_toolbar_bg"; }
+ visible: 0;
+ }
+ }
+ part { name: "title_toolbar_bottom_padding";
+ type: RECT;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: MP_NAVIFRAME_TITLE_TOOLBAR_BOTTOM_PADDING_INC;
+ fixed: 0 1;
+ align: 0.0 1.0;
+ rel1 { relative: 0.0 1.0; to: "title_toolbar_bg"; }
+ rel2 { relative: 1.0 1.0; to: "title_toolbar_bg"; }
+ visible: 0;
+ }
+ }
+ part { name: "title_more_btn_bg";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ min: MP_NAVIFRAME_TOOLBAR_BUTTON_BG_PADDING_INC;
+ fixed: 1 1;
+ align: 0.0 0.0;
+ rel1 { relative: 0.0 1.0; to_x: "title_toolbar_bg"; to_y: "title_toolbar_top_padding"; }
+ rel2 { relative: 0.0 0.0; to: "title_toolbar_bg"; to_y: "title_toolbar_bottom_padding"; }
+ visible: 0;
+ }
+ }
+ part { name: "title_more_btn";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "title_toolbar_clip";
+ description { state: "default" 0.0;
+ max: MP_NAVIFRAME_PREV_FUNC_BTN_SIZE_INC;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ rel1.to: "title_more_btn_bg";
+ rel2.to: "title_more_btn_bg";
+ }
+ }
+ part { name: "title_prev_btn_bg";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ min: MP_NAVIFRAME_TOOLBAR_BUTTON_BG_PADDING_INC;
+ fixed: 1 1;
+ align: 1.0 0.0;
+ rel1 { relative: 1.0 1.0; to_x: "title_toolbar_bg"; to_y: "title_toolbar_top_padding"; }
+ rel2 { relative: 1.0 0.0; to: "title_toolbar_bg"; to_y: "title_toolbar_bottom_padding"; }
+ visible: 0;
+ }
+ }
+ part { name: "title_prev_btn";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "title_toolbar_clip";
+ description { state: "default" 0.0;
+ max: MP_NAVIFRAME_PREV_FUNC_BTN_SIZE_INC;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ rel1.to: "title_prev_btn_bg";
+ rel2.to: "title_prev_btn_bg";
+ }
+ }
+ part { name: "title_toolbar_btns_area";
+ type: RECT;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 1.0 0.0; to: "title_more_btn_bg"; }
+ rel2 { relative: 0.0 1.0; to: "title_prev_btn_bg"; }
+ visible: 0;
+ }
+ }
+ part { name: "title_toolbar_clip";
+ type: RECT;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { to: "title_toolbar_bg"; }
+ rel2 { to: "title_toolbar_bg"; }
+ }
+ }
+ part { name: "title_toolbar_button1";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "title_toolbar_clip";
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ rel1.to: "title_toolbar_btns_area";
+ rel2.to: "title_toolbar_btns_area";
+ }
+ description { state: "buttons_set" 0.0;
+ inherit: "default" 0.0;
+ align: 1.0 0.5;
+ rel2 {
+ relative: 0.0 1.0;
+ to: "title_toolbar_button_padding";
+ }
+ }
+ }
+ part { name: "title_toolbar_button_padding";
+ type: RECT;
+ scale : 1;
+ description { state: "default" 0.0;
+ min: MP_NAVIFRAME_TOOLBAR_BUTTONS_PADDING_INC 0;
+ max: MP_NAVIFRAME_TOOLBAR_BUTTONS_PADDING_INC 9999;
+ fixed : 1 0;
+ visible: 0;
+ align: 0.5 0.5;
+ rel1.to: "title_toolbar_btns_area";
+ rel2.to: "title_toolbar_btns_area";
+ }
+ }
+ part { name: "title_toolbar_button2";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "title_toolbar_clip";
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ rel1.to: "title_toolbar_btns_area";
+ rel2.to: "title_toolbar_btns_area";
+ }
+ description { state: "buttons_set" 0.0;
+ inherit: "default" 0.0;
+ align: 0.0 0.5;
+ rel1 {
+ relative: 1.0 0.0;
+ to: "title_toolbar_button_padding";
+ }
+ }
+ }
+ part { name: "title";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "title_clip";
+ description { state: "default" 0.0;
+ align: 0.5 0.0;
+ fixed: 0 1;
+ rel1 { relative: 0.0 0.0; to: "base"; }
+ rel2 { relative: 1.0 0.0; to: "base"; }
+ }
+ description { state: "hide" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ min: 0 0;
+ max: 0 0;
+ fixed: 1 1;
+ }
+ }
+ part { name: "title_clip";
+ type: RECT;
+ mouse_events: 0;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ rel1.to: "title";
+ rel2.to: "title";
+ }
+ }
+ part { name: "elm.swallow.content";
+ type: SWALLOW;
+ scale: 1;
+ repeat_events: 0;
+ clip_to: "content_clip";
+ description { state: "default" 0.0;
+ align: 0.0 0.0;
+ rel1.relative: 0.0 1.0;
+ rel1.to_x: "base";
+ rel1.to_y: "title";
+ rel2.relative: 1.0 0.0;
+ rel2.to_x: "base";
+ rel2.to_y: "toolbar_bg";
+ }
+ description { state: "sip_visible" 0.0;
+ inherit: "default" 0.0;
+ rel1.to_y: "title_toolbar_bg";
+ }
+ }
+ part { name: "content_clip";
+ type: RECT;
+ mouse_events: 0;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ rel1.to: "elm.swallow.content";
+ rel2.to: "elm.swallow.content";
+ }
+ }
+ part { name: "toolbar_bg";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 0;
+ max: 999999 0;
+ fixed: 0 1;
+ align: 0.0 1.0;
+ visible: 0;
+ rel1 { to: "base"; }
+ rel2 { to: "base"; }
+ color: MP_NAVIFRAME_TOOLBAR_BG_COLOR_INC;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ min: 0 MP_NAVIFRAME_TOOLBAR_HEIGHT_INC;
+ max: 999999 MP_NAVIFRAME_TOOLBAR_HEIGHT_INC;
+ visible: 1;
+ }
+ }
+ part { name: "more_btn_bg";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ min: MP_NAVIFRAME_TOOLBAR_BUTTON_BG_PADDING_INC;
+ fixed: 1 0;
+ align: 0.0 0.0;
+ rel1 { relative: 0.0 0.0; to: "toolbar_bg"; }
+ rel2 { relative: 0.0 1.0; to: "toolbar_bg"; }
+ visible: 0;
+ }
+ }
+ part { name: "toolbar_more_btn";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "toolbar_clip";
+ description { state: "default" 0.0;
+ visible: 0;
+ max: MP_NAVIFRAME_PREV_FUNC_BTN_SIZE_INC;
+ fixed: 1 1;
+ rel1.to: "more_btn_bg";
+ rel2.to: "more_btn_bg";
+ }
+ }
+ part { name: "prev_btn_bg";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ min: MP_NAVIFRAME_TOOLBAR_BUTTON_BG_PADDING_INC;
+ fixed: 1 0;
+ align: 1.0 0.0;
+ rel1 { relative: 1.0 0.0; to: "toolbar_bg"; }
+ rel2.to: "toolbar_bg";
+ visible: 0;
+ }
+ }
+ part { name: "elm.swallow.prev_btn";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "toolbar_clip";
+ description { state: "default" 0.0;
+ visible: 0;
+ max: MP_NAVIFRAME_PREV_FUNC_BTN_SIZE_INC;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ rel1.to: "prev_btn_bg";
+ rel2.to: "prev_btn_bg";
+ }
+ }
+ part { name: "toolbar_clip";
+ type: RECT;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { to: "toolbar_bg"; }
+ rel2 { to: "toolbar_bg"; }
+ }
+ }
+ part { name: "toolbar_btns_area";
+ type: RECT;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 1.0 0.0; to: "more_btn_bg"; }
+ rel2 { relative: 0.0 1.0; to: "prev_btn_bg"; }
+ visible: 0;
+ }
+ }
+ part { name: "toolbar_button1";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "toolbar_clip";
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ rel1.to: "toolbar_btns_area";
+ rel2.to: "toolbar_btns_area";
+ }
+ description { state: "buttons_set" 0.0;
+ inherit: "default" 0.0;
+ align: 1.0 0.5;
+ rel2 {
+ relative: 0.0 1.0;
+ to: "toolbar_button_padding";
+ }
+ }
+ }
+ part { name: "toolbar_button_padding";
+ type: RECT;
+ scale : 1;
+ description { state: "default" 0.0;
+ min: MP_NAVIFRAME_TOOLBAR_BUTTONS_PADDING_INC 0;
+ max: MP_NAVIFRAME_TOOLBAR_BUTTONS_PADDING_INC 9999;
+ fixed : 1 0;
+ visible: 0;
+ align: 0.5 0.5;
+ rel1.to: "toolbar_btns_area";
+ rel2.to: "toolbar_btns_area";
+ }
+ }
+ part { name: "toolbar_button2";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "toolbar_clip";
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ rel1.to: "toolbar_btns_area";
+ rel2.to: "toolbar_btns_area";
+ }
+ description { state: "buttons_set" 0.0;
+ inherit: "default" 0.0;
+ align: 0.0 0.5;
+ rel1 {
+ relative: 1.0 0.0;
+ to: "toolbar_button_padding";
+ }
+ }
+ }
+ }
+ programs {
+ program { name: "content_new_pushed";
+ signal: "elm,state,new,pushed,deferred";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "clipper";
+ transition: DECELERATE NAVIFRAME_VIEW_PUSH_TRANS_TIME;
+ after: "show_finished";
+ }
+ program { name: "content_cur_pushed";
+ signal: "elm,state,cur,pushed,deferred";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "clipper";
+ transition: DECELERATE NAVIFRAME_VIEW_PUSH_TRANS_TIME;
+ after: "pushed_finished";
+ }
+ program { name: "content_prev_popped";
+ signal: "elm,state,prev,popped,deferred";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "base";
+ transition: DECELERATE NAVIFRAME_VIEW_POP_TRANS_TIME;
+ after: "show_finished";
+ }
+ program { name: "content_cur_popped";
+ signal: "elm,state,cur,popped,deferred";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "base";
+ transition: DECELERATE NAVIFRAME_VIEW_POP_TRANS_TIME;
+ after: "popped_finished";
+ }
+ program { name: "new_pushed";
+ signal: "elm,state,new,pushed";
+ source: "elm";
+ action: STATE_SET "hide" 0.0;
+ target: "clipper";
+ }
+ program { name: "prev_popped";
+ signal: "elm,state,prev,popped";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "clipper";
+ }
+ program { name: "visible";
+ signal: "elm,state,visible";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "clipper";
+ }
+ program { name: "invisible";
+ signal: "elm,state,invisible";
+ source: "elm";
+ action: STATE_SET "hide" 0.0;
+ target: "clipper";
+ }
+ program { name: "title_show";
+ signal: "elm,state,title,show";
+ source: "elm";
+ script {
+ if (get_int(sip_visible) == 0)
+ set_state(PART:"title", "default", 0.0);
+ else
+ set_state(PART:"title_toolbar_bg", "show", 0.0);
+ }
+ }
+ program { name: "title_hide";
+ signal: "elm,state,title,hide";
+ source: "elm";
+ script {
+ if (get_int(sip_visible) == 0)
+ set_state(PART:"title", "hide", 0.0);
+ else
+ set_state(PART:"title_toolbar_bg", "default", 0.0);
+ }
+ }
+ program { name: "sip_show";
+ signal: "elm,state,sip,shown";
+ source: "";
+ script {
+ set_int(sip_visible, 1);
+ set_state(PART:"title", "hide", 0.0);
+ set_state(PART:"title_toolbar_bg", "show", 0.0);
+ set_state(PART:"elm.swallow.content", "sip_visible", 0.0);
+ }
+ }
+ program { name: "sip_hide";
+ signal: "elm,state,sip,hidden";
+ source: "";
+ script {
+ set_int(sip_visible, 0);
+ set_state(PART:"title", "default", 0.0);
+ set_state(PART:"title_toolbar_bg", "default", 0.0);
+ set_state(PART:"elm.swallow.content", "default", 0.0);
+ }
+ }
+ program { name: "title_toolbar_button1_show";
+ signal: "elm,state,title_toolbar_button1,show";
+ source: "elm";
+ script {
+ set_int(title_toolbar_buttons_visible, get_int(title_toolbar_buttons_visible) + 1);
+ if (get_int(title_toolbar_buttons_visible) >= 2)
+ {
+ set_state(PART:"title_toolbar_button1", "buttons_set", 0.0);
+ set_state(PART:"title_toolbar_button2", "buttons_set", 0.0);
+ }
+ }
+ }
+ program { name: "title_toolbar_button1_hide";
+ signal: "elm,state,title_toolbar_button1,hide";
+ source: "elm";
+ script {
+ set_int(title_toolbar_buttons_visible, get_int(title_toolbar_buttons_visible) - 1);
+ set_state(PART:"title_toolbar_button1", "default", 0.0);
+ set_state(PART:"title_toolbar_button2", "default", 0.0);
+ }
+ }
+ program { name: "title_toolbar_button2_show";
+ signal: "elm,state,title_toolbar_button2,show";
+ source: "elm";
+ script {
+ set_int(title_toolbar_buttons_visible, get_int(title_toolbar_buttons_visible) + 1);
+ if (get_int(title_toolbar_buttons_visible) >= 2)
+ {
+ set_state(PART:"title_toolbar_button1", "buttons_set", 0.0);
+ set_state(PART:"title_toolbar_button2", "buttons_set", 0.0);
+ }
+ }
+ }
+ program { name: "title_toolbar_button2_hide";
+ signal: "elm,state,title_toolbar_button2,hide";
+ source: "elm";
+ script {
+ set_int(title_toolbar_buttons_visible, get_int(title_toolbar_buttons_visible) - 1);
+ set_state(PART:"title_toolbar_button1", "default", 0.0);
+ set_state(PART:"title_toolbar_button2", "default", 0.0);
+ }
+ }
+ program { name: "prev_btn_show";
+ signal: "elm,state,prev_btn,show";
+ source: "elm";
+ script {
+ emit("elm,state,toolbar_bg,show", "elm");
+ }
+ }
+ program { name: "prev_btn_hide";
+ signal: "elm,state,prev_btn,hide";
+ source: "elm";
+ script {
+ emit("elm,state,toolbar_bg,hide", "elm");
+ }
+ }
+ program { name: "more_btn_show";
+ signal: "elm,state,toolbar_more_btn,show";
+ source: "elm";
+ script {
+ emit("elm,state,toolbar_bg,show", "elm");
+ }
+ }
+ program { name: "more_btn_hide";
+ signal: "elm,state,toolbar_more_btn,hide";
+ source: "elm";
+ script {
+ emit("elm,state,toolbar_bg,hide", "elm");
+ }
+ }
+ program { name: "toolbar_button1_show";
+ signal: "elm,state,toolbar_button1,show";
+ source: "elm";
+ script {
+ emit("elm,state,toolbar_bg,show", "elm");
+ set_int(toolbar_buttons_visible, get_int(toolbar_buttons_visible) + 1);
+ if (get_int(toolbar_buttons_visible) >= 2)
+ {
+ set_state(PART:"toolbar_button1", "buttons_set", 0.0);
+ set_state(PART:"toolbar_button2", "buttons_set", 0.0);
+ }
+ }
+ }
+ program { name: "toolbar_button1_hide";
+ signal: "elm,state,toolbar_button1,hide";
+ source: "elm";
+ script {
+ emit("elm,state,toolbar_bg,hide", "elm");
+ set_int(toolbar_buttons_visible, get_int(toolbar_buttons_visible) - 1);
+ set_state(PART:"toolbar_button1", "default", 0.0);
+ set_state(PART:"toolbar_button2", "default", 0.0);
+ }
+ }
+ program { name: "toolbar_button2_show";
+ signal: "elm,state,toolbar_button2,show";
+ source: "elm";
+ script {
+ emit("elm,state,toolbar_bg,show", "elm");
+ set_int(toolbar_buttons_visible, get_int(toolbar_buttons_visible) + 1);
+ if (get_int(toolbar_buttons_visible) >= 2)
+ {
+ set_state(PART:"toolbar_button1", "buttons_set", 0.0);
+ set_state(PART:"toolbar_button2", "buttons_set", 0.0);
+ }
+ }
+ }
+ program { name: "toolbar_button2_hide";
+ signal: "elm,state,toolbar_button2,hide";
+ source: "elm";
+ script {
+ emit("elm,state,toolbar_bg,hide", "elm");
+ set_int(toolbar_buttons_visible, get_int(toolbar_buttons_visible) - 1);
+ set_state(PART:"toolbar_button1", "default", 0.0);
+ set_state(PART:"toolbar_button2", "default", 0.0);
+ }
+ }
+ program { name: "toolbar_bg_show";
+ signal: "elm,state,toolbar_bg,show";
+ source: "elm";
+ script {
+ set_state(PART:"toolbar_bg", "visible", 0.0);
+ set_int(tbar_bg, get_int(tbar_bg) + 1);
+ }
+ }
+ program { name: "toolbar_bg_hide";
+ signal: "elm,state,toolbar_bg,hide";
+ source: "elm";
+ script {
+ set_int(tbar_bg, get_int(tbar_bg) - 1);
+ if (get_int(tbar_bg) <= 0)
+ set_state(PART:"toolbar_bg", "default", 0.0);
+ }
+ }
+ program { name: "toolbar_open_internal";
+ signal: "elm,state,toolbar,open,internal";
+ source: "elm";
+ script {
+ set_int(tbar_close, 0);
+ set_state(PART:"toolbar_bg", "visible", 0.0);
+ }
+ }
+ program { name: "toolbar_close_internal";
+ signal: "elm,state,toolbar,close,internal";
+ source: "elm";
+ script {
+ set_int(tbar_close, 1);
+ set_state(PART:"toolbar_bg", "default", 0.0);
+ }
+ }
+ program { name: "toolbar_open";
+ signal: "elm,state,toolbar,open";
+ source: "";
+ action: STATE_SET "visible" 0.0;
+ target: "toolbar_bg";
+ transition: LINEAR 0.2;
+ after: "toolbar_open_internal";
+ }
+ program { name: "toolbar_close";
+ signal: "elm,state,toolbar,close";
+ source: "";
+ action: STATE_SET "default" 0.0;
+ target: "toolbar_bg";
+ transition: LINEAR 0.2;
+ after: "toolbar_close_internal";
+ }
+ program { name: "toolbar_instant_open";
+ signal: "elm,state,toolbar,instant_open";
+ source: "";
+ script {
+ emit("elm,state,toolbar,open,internal", "elm");
+ }
+ }
+ program { name: "toolbar_instant_close";
+ signal: "elm,state,toolbar,instant_close";
+ source: "";
+ script {
+ emit("elm,state,toolbar,close,internal", "elm");
+ }
+ }
+ program { name: "show_finished";
+ action: SIGNAL_EMIT "elm,action,show,finished" "";
+ }
+ program { name: "pushed_finished";
+ action: SIGNAL_EMIT "elm,action,pushed,finished" "";
+ }
+ program { name: "popped_finished";
+ action: SIGNAL_EMIT "elm,action,popped,finished" "";
+ }
+ program {
+ name: "display_mode_compress";
+ signal: "display,mode,compress";
+ source: "";
+ script {
+ set_state(PART:"toolbar_bg", "default", 0.0);
+ }
+ }
+ program {
+ name: "display_mode_default";
+ signal: "display,mode,default";
+ source: "";
+ script {
+ if ((get_int(tbar_bg) > 0) && (get_int(tbar_close) == 0))
+ set_state(PART:"toolbar_bg", "visible", 0.0);
+ }
+ }
+ }
+ }
+
+ group { name:"elm/naviframe/item/basic/uglib";
+ data.item: "tizen_zoom" 1;
+ parts {
+ part { name: "clipper";
+ type: RECT;
+ description { state: "default" 0.0;
+ visible: 1;
+ }
+ description { state: "hide" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "base";
+ type: RECT;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "elm.swallow.content";
+ type: SWALLOW;
+ scale: 1;
+ repeat_events: 0;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ align: 0.0 0.0;
+ rel1.relative: 0.0 0.0;
+ rel1.to: "base";
+ rel2.relative: 1.0 1.0;
+ rel2.to: "base";
+ }
+ }
+ }
+ programs {
+ program { name: "content_new_pushed";
+ signal: "elm,state,new,pushed,deferred";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "clipper";
+ transition: DECELERATE NAVIFRAME_VIEW_PUSH_TRANS_TIME;
+ after: "show_finished";
+ }
+ program { name: "content_cur_pushed";
+ signal: "elm,state,cur,pushed,deferred";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "clipper";
+ transition: DECELERATE NAVIFRAME_VIEW_PUSH_TRANS_TIME;
+ after: "pushed_finished";
+ }
+ program { name: "content_prev_popped";
+ signal: "elm,state,prev,popped,deferred";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "base";
+ transition: DECELERATE NAVIFRAME_VIEW_POP_TRANS_TIME;
+ after: "show_finished";
+ }
+ program { name: "content_cur_popped";
+ signal: "elm,state,cur,popped,deferred";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "base";
+ transition: DECELERATE NAVIFRAME_VIEW_POP_TRANS_TIME;
+ after: "popped_finished";
+ }
+ program { name: "new_pushed";
+ signal: "elm,state,new,pushed";
+ source: "elm";
+ action: STATE_SET "hide" 0.0;
+ target: "clipper";
+ }
+ program { name: "prev_popped";
+ signal: "elm,state,prev,popped";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "clipper";
+ }
+ program { name: "visible";
+ signal: "elm,state,visible";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "clipper";
+ }
+ program { name: "invisible";
+ signal: "elm,state,invisible";
+ source: "elm";
+ action: STATE_SET "hide" 0.0;
+ target: "clipper";
+ }
+ program { name: "show_finished";
+ action: SIGNAL_EMIT "elm,action,show,finished" "";
+ }
+ program { name: "pushed_finished";
+ action: SIGNAL_EMIT "elm,action,pushed,finished" "";
+ }
+ program { name: "popped_finished";
+ action: SIGNAL_EMIT "elm,action,popped,finished" "";
+ }
+ }
+ }
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+/*********** no_content ***********************/
+#define IMAGE_NO_CONTENT "T02_nocomposers.png"
+
+#define IMAGE_NO_CONTENT_W 314
+#define IMAGE_NO_CONTENT_H 310
+
+#define FONT_NO_CONTENT "Tizen:style=Roman"
+#define FONT_NO_CONTENT_SIZE 42
+#define FONT_NO_CONTENT_COLOR 121 121 121 255
+#define TEXT_NO_CONTENT_H 54
+
+#define NO_CONTENT_H (IMAGE_NO_CONTENT_H+TEXT_NO_CONTENT_H)
+
+ group {
+ images {
+ image: IMAGE_NO_CONTENT COMP;
+ }
+
+ name: "no_content";
+ parts {
+ part { name: "bg";
+ mouse_events: 0;
+ type: RECT;
+ description { state: "default" 0.0;
+ visible: 1;
+ rel1 { relative: 0.0 0.0;}
+ rel2 { relative: 1.0 1.0;}
+ color: 0 0 0 0;
+ }
+ }
+
+ part { name: "no_content";
+ mouse_events: 0;
+ type: SPACER;
+ description { state: "default" 0.0;
+ align: 0.5 0.5;
+ min: IMAGE_NO_CONTENT_W NO_CONTENT_H;
+ max: IMAGE_NO_CONTENT_W NO_CONTENT_H;
+ rel1 { relative: 0.0 0.0;}
+ rel2 { relative: 1.0 1.0;}
+ }
+ }
+
+ part {
+ name: "image";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ align: 0.5 0.5;
+ rel1 { relative: 0.0 0.0; to:no_content;}
+ rel2 { relative: 1.0 (IMAGE_NO_CONTENT_H/NO_CONTENT_H); to:no_content;}
+ image.normal: IMAGE_NO_CONTENT;
+ }
+ }
+
+ part {
+ name: "elm.text";
+ type: TEXT;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ rel1 { relative: 0.0 1.0; to: "image"; offset: 0 0;}
+ rel2 { relative: 1.0 1.0; to: "no_content"; offset: 0 0;}
+ color: FONT_NO_CONTENT_COLOR;
+ min: 0 46;
+ text {
+ font: FONT_NO_CONTENT;
+ size: FONT_NO_CONTENT_SIZE;
+ align: 0.5 0.5;
+ }
+ }
+
+ }
+ }
+ }
+
+ group {
+ name: "no_result";
+ parts {
+ part { name: "bg";
+ mouse_events: 0;
+ type: SPACER;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 0.0;}
+ rel2 { relative: 1.0 1.0;}
+ }
+ }
+ part {
+ name: "elm.text";
+ type: TEXT;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ rel1 { relative: 0.0 0.0; to:bg;}
+ rel2 { relative: 1.0 1.0; to:bg;}
+ align: 0.5 0.5;
+ color: FONT_NO_CONTENT_COLOR;
+ min: 0 46;
+ text {
+ font: FONT_NO_CONTENT;
+ size: FONT_NO_CONTENT_SIZE;
+ align: 0.5 0.5;
+ }
+ }
+
+ }
+ }
+ }
+
+
+ group {
+ images {
+ image: IMAGE_NO_CONTENT COMP;
+ }
+
+ name: "no_content_landscape";
+ parts {
+ part { name: "bg";
+ mouse_events: 0;
+ type: SPACER;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 0.0;}
+ rel2 { relative: 1.0 1.0;}
+ }
+ }
+ part { name: "no_content";
+ mouse_events: 0;
+ type: SPACER;
+ description { state: "default" 0.0;
+ align: 0.5 0.5;
+ min: IMAGE_NO_CONTENT_W NO_CONTENT_H;
+ max: IMAGE_NO_CONTENT_W NO_CONTENT_H;
+ rel1 { relative: 0.0 0.0;}
+ rel2 { relative: 1.0 1.0;}
+ }
+ }
+
+ part {
+ name: "image";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ align: 0.5 0.5;
+ rel1 { relative: 0.0 0.0; to:no_content;}
+ rel2 { relative: 1.0 (IMAGE_NO_CONTENT_H/NO_CONTENT_H); to:no_content;}
+ image.normal: IMAGE_NO_CONTENT;
+ }
+ }
+
+ part {
+ name: "elm.text";
+ type: TEXT;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ rel1 { relative: 0.0 1.0; to: "image"; offset: 0 0;}
+ rel2 { relative: 1.0 1.0; to: "no_content"; offset: 0 0;}
+ color: FONT_NO_CONTENT_COLOR;
+ min: 0 46;
+ text {
+ font: FONT_NO_CONTENT;
+ size: FONT_NO_CONTENT_SIZE;
+ align: 0.5 0.5;
+ }
+ }
+
+ }
+ }
+ }
+
+ group {
+ images {
+ image: IMAGE_NO_CONTENT COMP;
+ }
+
+ name: "square_no_content_landscape";
+ parts {
+ part { name: "bg";
+ mouse_events: 0;
+ type: SPACER;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 0.0;}
+ rel2 { relative: 1.0 1.0;}
+ }
+ }
+
+ part { name: "no_content";
+ mouse_events: 0;
+ type: SPACER;
+ description { state: "default" 0.0;
+ align: 0.5 0.5;
+ min: IMAGE_NO_CONTENT_W NO_CONTENT_H;
+ max: IMAGE_NO_CONTENT_W NO_CONTENT_H;
+ rel1 { relative: 0.0 0.0;}
+ rel2 { relative: 1.0 1.0;}
+ }
+ }
+
+ part {
+ name: "image";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ align: 0.5 0.5;
+ rel1 { relative: 0.0 0.0; to:no_content;}
+ rel2 { relative: 1.0 (IMAGE_NO_CONTENT_H/NO_CONTENT_H); to:no_content;}
+ image.normal: IMAGE_NO_CONTENT;
+ }
+ }
+
+ part {
+ name: "elm.text";
+ type: TEXT;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ rel1 { relative: 0.0 1.0; to: "image"; offset: 0 0;}
+ rel2 { relative: 1.0 1.0; to: "no_content"; offset: 0 0;}
+ color: FONT_NO_CONTENT_COLOR;
+ min: 0 46;
+ text {
+ font: FONT_NO_CONTENT;
+ size: FONT_NO_CONTENT_SIZE;
+ align: 0.5 0.5;
+ }
+ }
+
+ }
+ }
+ }
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#define MP_LIST_NO_CONTENT_IMAGE "T02_music_noitem.png"
+#define MP_LIST_NO_CONTENT_IMAGE1 "core_pattern_empty_bg.png"
+group {
+ name: "elm/layout/nocontents/music";
+ alias: "elm/nocontents/base/full";
+ alias: "elm/nocontents/base/default";
+ alias: "elm/nocontents/base/text";
+ images {
+ image: MP_LIST_NO_CONTENT_IMAGE COMP;
+ }
+ styles{
+ style { name: "nocontent_style";
+ base: "font=Tizen:style=Bold font_size="NOCONTENT_TEXT_BLOCK_TEXT_SIZE_INC" align=center color=#FFFFFF wrap=mixed ellipsis=1.0";
+ tag: "br" "\n";
+ tag: "hilight" "+ font=Tizen:style=Bold";
+ tag: "b" "+ font=Tizen:style=Bold";
+ tag: "tab" "\t";
+ }
+ style { name: "nocontent_style_dim";
+ base: "font=Tizen:style=Bold font_size="NOCONTENT_TEXT_BLOCK_TEXT_SIZE_INC" align=center color=#FFFFFF wrap=mixed ellipsis=1.0";
+ tag: "br" "\n";
+ tag: "hilight" "+ font=Tizen:style=Bold";
+ tag: "b" "+ font=Tizen:style=Bold";
+ tag: "tab" "\t";
+ }
+ style { name: "nocontent_help_text";
+ base: "font=Tizen:style=Regular font_size="NOCONTENT_HELP_TEXT_BLOCK_TEXT_SIZE_INC" align=left color=#FFFFFF wrap=mixed ellipsis=1.0";
+ tag: "br" "\n";
+ tag: "hilight" "+ font=Tizen:style=Regular";
+ tag: "b" "+ font=Tizen:style=Regular";
+ tag: "tab" "\t";
+ }
+ }
+ script {
+ public center_align = 0;
+ public landscape_mode = 0;
+ }
+
+ parts {
+ part { name: "bg";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 0 1;
+ min: NOCONTENT_BASE_PORTRAIT_MIN_WIDTH_HEIGHT_INC;
+ rel1 {
+ relative: 0.0 0.5;
+ }
+ rel2 {
+ relative: 1.0 0.5;
+ }
+ }
+ description { state: "help_txt_port_centre_align";
+ inherit: "default" 0.0;
+ min: NOCONTENT_BASE_PORTRAIT_MIN_WIDTH_HEIGHT_WITH_TEXT;
+ }
+ description { state: "landscape" 0.0;
+ inherit: "default" 0.0;
+ min: NOCONTENT_BASE_LANDS_MIN_WIDTH_HEIGHT_INC;
+ }
+ description { state: "help_txt_lands_centre_align";
+ inherit: "default" 0.0;
+ min: NOCONTENT_BASE_LANDS_MIN_WIDTH_HEIGHT_WITH_TEXT;
+ }
+ }
+ part { name: "nocontents.image";
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ min: 252 252;
+ align: 0.5 0.0;
+ rel1 {
+ relative: 0.5 0.0;
+ to: "bg";
+ }
+ rel2 {
+ relative: 0.5 0.0;
+ to: "bg";
+ }
+ image {
+ normal: MP_LIST_NO_CONTENT_IMAGE;
+ }
+ color: 255 255 255 255;
+ aspect: 1.0 1.0;
+ aspect_preference: BOTH;
+ }
+ }
+ part { name: "elm.text";
+ type: TEXTBLOCK;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 68;
+ align: 0.5 0.0;
+ fixed: 0 1;
+ rel1 {
+ relative: 0.0 1.0;
+ to_y: "nocontents.image";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to_y: "nocontents.image";
+ }
+ text {
+ style: "nocontent_style";
+ min: 0 1;
+ max: 0 1;
+ }
+ }
+ description { state: "disabled" 1.0;
+ inherit: "default" 0.0;
+ text {
+ style: "nocontent_style_dim";
+ min: 0 1;
+ max: 0 1;
+ }
+ }
+ }
+ part { name: "padding_after_text";
+ mouse_events: 0;
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ align: 0.0 0.0;
+ min: 70 5;
+ fixed: 1 1;
+ rel1 {
+ relative: 0.0 1.0;
+ to_y: "elm.text";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ to_y: "elm.text";
+ }
+ }
+ description { state: "landscape" 0.0;
+ inherit: "default" 0.0;
+ min: 180 16;
+ }
+ }
+ part { name: "elm.help.text";
+ type: TEXTBLOCK;
+ scale: 1;
+ description { state: "default" 0.0;
+ align: 0.0 0.0;
+ min: NOCONTENT_PORTRAIT_HELP_TEXT_STYLE_BG_MIN_INC;
+ fixed: 1 1;
+ rel1 {
+ relative: 1.0 1.0;
+ to: "padding_after_text";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ to_x: "pad_after_help_text";
+ to_y: "padding_after_text";
+ }
+ text {
+ style: "nocontent_help_text";
+ align: 0.0 0.5;
+ min: 0 1;
+ max: 0 1;
+ }
+ }
+ description { state: "landscape" 0.0;
+ inherit: "default" 0.0;
+ min: NOCONTENT_LANDSCAPE_HELP_TEXT_STYLE_BG_MIN_INC;
+ }
+ }
+ part { name: "pad_after_help_text";
+ mouse_events: 0;
+ scale: 1;
+ type: SPACER;
+ description { state: "default" 0.0;
+ align: 1.0 0.0;
+ min: 70 25;
+ fixed: 1 1;
+ rel1 {
+ relative: 1.0 1.0;
+ to_y: "elm.help.text";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to_y: "elm.help.text";
+ }
+ }
+ description { state: "landscape" 0.0;
+ inherit: "default" 0.0;
+ min: 180 5;
+ }
+ }
+ part { name: "swallow_area";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: NOCONTENT_SWALLOW_AREA_MIN_INC;
+ fixed: 1 1;
+ align: 0.5 0.0;
+ rel1 {
+ relative: 0.0 1.0; to_x: "bg"; to_y: "pad_after_help_text"; offset: 16 0;
+ }
+ rel2 {
+ relative: 1.0 1.0; to_x: "bg"; to_y: "pad_after_help_text"; offset: -16 0;
+ }
+ }
+ description { state: "landscape" 0.0;
+ inherit: "default";
+ rel1 {
+ relative: 1.0 1.0;
+ to_x: "padding_after_text";
+ to_y: "pad_after_help_text";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ to: "pad_after_help_text";
+ }
+ }
+ }
+ }
+ programs {
+ program { name: "landscape_mode";
+ source: "elm";
+ signal: "elm,state,orient,90";
+ script {
+ set_int(landscape_mode, 1);
+ if (get_int(center_align) == 1)
+ set_state(PART:"bg", "help_txt_lands_centre_align", 0.0);
+ else
+ set_state(PART:"bg", "landscape", 0.0);
+ set_state(PART:"elm.help.text", "landscape", 0.0);
+ set_state(PART:"padding_after_text", "landscape", 0.0);
+ set_state(PART:"pad_after_help_text", "landscape", 0.0);
+ set_state(PART:"swallow_area", "landscape", 0.0);
+ }
+ }
+ program { name: "landscape_mode2";
+ source: "elm";
+ signal: "elm,state,orient,270";
+ script {
+ set_int(landscape_mode, 1);
+ if (get_int(center_align) == 1)
+ set_state(PART:"bg", "help_txt_lands_centre_align", 0.0);
+ else
+ set_state(PART:"bg", "landscape", 0.0);
+ set_state(PART:"elm.help.text", "landscape", 0.0);
+ set_state(PART:"padding_after_text", "landscape", 0.0);
+ set_state(PART:"pad_after_help_text", "landscape", 0.0);
+ set_state(PART:"swallow_area", "landscape", 0.0);
+ }
+ }
+ program { name: "portrait_mode";
+ source: "elm";
+ signal: "elm,state,orient,0";
+ script {
+ set_int(landscape_mode, 0);
+ if (get_int(center_align) == 1)
+ set_state(PART:"bg", "help_txt_port_centre_align", 0.0);
+ else
+ set_state(PART:"bg", "default", 0.0);
+ set_state(PART:"elm.help.text", "default", 0.0);
+ set_state(PART:"padding_after_text", "default", 0.0);
+ set_state(PART:"pad_after_help_text", "default", 0.0);
+ set_state(PART:"swallow_area", "default", 0.0);
+ }
+ }
+ program { name: "portrait_mode2";
+ source: "elm";
+ signal: "elm,state,orient,180";
+ script {
+ set_int(landscape_mode, 0);
+ if (get_int(center_align) == 1)
+ set_state(PART:"bg", "help_txt_port_centre_align", 0.0);
+ else
+ set_state(PART:"bg", "default", 0.0);
+ set_state(PART:"elm.help.text", "default", 0.0);
+ set_state(PART:"padding_after_text", "default", 0.0);
+ set_state(PART:"pad_after_help_text", "default", 0.0);
+ set_state(PART:"swallow_area", "default", 0.0);
+ }
+ }
+ program { name: "disabled";
+ signal: "text,disabled";
+ source: "";
+ action: STATE_SET "disabled" 0.0;
+ target: "elm.text";
+ }
+ program { name: "align_center";
+ signal: "align.center";
+ source: "elm";
+ script {
+ if (get_int(landscape_mode) == 1)
+ set_state(PART:"bg", "help_txt_lands_centre_align", 0.0);
+ else
+ set_state(PART:"bg", "help_txt_port_centre_align", 0.0);
+ set_int(center_align, 1);
+ }
+ }
+ }
+}
+
+group {
+ name: "elm/layout/nocontents/help";
+ images {
+ image: MP_LIST_NO_CONTENT_IMAGE1 COMP;
+ }
+ styles{
+ style { name: "empty_state_1";
+ base: "font=Tizen:style=Regular align=center color=#000000 font_size="36" wrap=mixed ellipsis=1.0";
+ }
+ style { name: "empty_state_2";
+ base: "font=Tizen:style=Light align=center color=#000000 font_size="30" wrap=mixed";
+ }
+ }
+ parts {
+ part { name: "bg";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ }
+ }
+ part { name: "bg_con";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.to: "bg";
+ rel2.to: "bg";
+ color: 255 255 255 229;
+ }
+ }
+ part { name: "bg_image";
+ type: IMAGE;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.to: "bg";
+ rel2 { to: "bg"; relative: 1.0 1.0; }
+ align: 0.0 0.5;
+ fixed: 0 1;
+ color: 2 61 132 255;
+ image.normal: MP_LIST_NO_CONTENT_IMAGE1;
+ }
+ description { state: "landscape" 0.0;
+ inherit: "default" 0.0;
+ image.normal: MP_LIST_NO_CONTENT_IMAGE1;
+ }
+ }
+
+ part { name: "text_bg";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 {to: "bg"; relative: 0.0 0.0;}
+ rel2 {to: "bg"; relative: 1.5 0.5;}
+ }
+ }
+ part { name: "left_padding";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 20 0;
+ fixed: 1 0;
+ align: 0.0 0.0;
+ rel1.to: "bg";
+ rel2.to: "bg";
+ rel2.relative: 0.0 1.0;
+ }
+ }
+ part{ name: "right_padding";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 20 0;
+ fixed: 1 0;
+ align: 1.0 0.0;
+ rel1 { to: "bg"; relative: 1.0 0.0; }
+ rel2.to: "bg";
+ }
+ }
+ part { name: "elm.text";
+ type: TEXTBLOCK;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ align: 0.5 1.0;
+ rel1 { relative: 1.0 0.0; to_x: "left_padding"; to_y: "text_bg"; }
+ rel2 { relative: 0.0 1.0; to_x: "right_padding"; to_y: "text_bg"; }
+ text { style: "empty_state_1";
+ min: 0 1;
+ max: 0 1;
+ }
+ }
+ }
+ part { name: "elm.help.text";
+ type: TEXTBLOCK;
+ scale: 1;
+ multiline: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ align: 0.5 0.0;
+ rel1 { relative: 1.0 1.0; to_x:"left_padding"; to_y:"elm.text"; offset: 0 15;}
+ rel2 { relative: 0.0 1.0; to_x:"right_padding"; to_y:"bg";}
+ text { style: "empty_state_2";
+ align: 0.5 0.5;
+ min: 0 1;
+ max: 0 1;
+ }
+ }
+ }
+ }
+ programs {
+ program { name: "landscape_mode";
+ source: "elm";
+ signal: "elm,state,orient,90";
+ script {
+ set_state(PART:"bg_image", "landscape", 0.0);
+ }
+ }
+ program { name: "landscape_mode2";
+ source: "elm";
+ signal: "elm,state,orient,270";
+ script {
+ set_state(PART:"bg_image", "landscape", 0.0);
+ }
+ }
+ program { name: "portrait_mode";
+ source: "elm";
+ signal: "elm,state,orient,0";
+ script {
+ set_state(PART:"bg_image", "default", 0.0);
+ }
+ }
+ program { name: "portrait_mode2";
+ source: "elm";
+ signal: "elm,state,orient,180";
+ script {
+ set_state(PART:"bg_image", "default", 0.0);
+ }
+ }
+ }
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#define MP_NOW_PLAYING_W 720
+#define MP_NOW_PLAYING_H 100
+#define MP_NOW_PLAYING_LEFT_W 10
+#define MP_NOW_PLAYING_RIGHT_W 18
+#define MP_NOW_PLAYING_TOP_H 20
+#define MP_NOW_PLAYING_BG "lite/mini_player_bg.#.png"
+#define LANDSCAPE_MP_NOW_PLAYING_BG "mini_player/T02_mini_player_bg_h.png"
+#define LANDSCAPE_MP_NOW_PLAYING_W 1280
+#define LANDSCAPE_MP_NOW_PLAYING_H 124
+
+#define MP_NOW_PROGRESS_TEXT_FONT "Tizen:style=Regular"
+#define MP_NOW_PROGRESS_TEXT_SIZE 23
+#define MP_NOW_PROGRESS_TEXT_COLOR 248 246 240 255
+
+/* thumb image */
+#define MP_NOW_PLAYING_THUMB_TOP_H 10
+#define MP_NOW_PLAYING_THUMB_LEFT_W 7
+#define MP_NOW_PLAYING_THUMB_SIZE 80
+#define MP_NOW_PLAYING_THUMB_SX (9/MP_NOW_PLAYING_W)
+#define MP_NOW_PLAYING_THUMB_SY (0.06)
+#define MP_NOW_PLAYING_THUMB_EX (0.31)
+#define MP_NOW_PLAYING_THUMB_EY (0.94)
+
+#define MP_NOW_PLAYING_TO_THUMB_LEFT_W 150
+/* label */
+#define MP_NOW_PLAYING_LABEL_AREAR_W 148
+#define MP_NOW_PLAYING_LABEL_AREAR_H (MP_NOW_PLAYING_LABEL_H+MP_NOW_PLAYING_LABEL_ARTIST_H)
+#define MP_NOW_PLAYING_LABEL_W /*312*/250
+#define MP_NOW_PLAYING_LABEL_H /*26*/18
+#define MP_NOW_PLAYING_LABEL_LEFT_W 14
+#define MP_NOW_PLAYING_LABEL_ARTIST_H 32
+
+#define MP_NOW_PLAYING_LABEL_SX (196/MP_NOW_PLAYING_W)
+#define MP_NOW_PLAYING_LABEL_SY (2/MP_NOW_PLAYING_H)
+#define MP_NOW_PLAYING_LABEL_EX (MP_NOW_PLAYING_LABEL_SX+MP_NOW_PLAYING_LABEL_W/MP_NOW_PLAYING_W)
+#define MP_NOW_PLAYING_LABEL_EY (32/MP_NOW_PLAYING_H)
+
+#define MP_NOW_PLAYING_LABEL_PADDING_H 0
+
+/* label artist */
+#define MP_NOW_PLAYING_LABEL_ARTIST_SY (MP_NOW_PLAYING_LABEL_EY+MP_NOW_PLAYING_LABEL_PADDING_H/MP_NOW_PLAYING_H)
+#define MP_NOW_PLAYING_LABEL_ARTIST_EY (MP_NOW_PLAYING_LABEL_ARTIST_SY+MP_NOW_PLAYING_LABEL_ARTIST_H/MP_NOW_PLAYING_H)
+
+#define MP_NOW_PLAYING_PROGRESS_AREA_EY (52/MP_NOW_PLAYING_H)
+/* progress */
+#define MP_NOW_PLAYING_PROGRESS_H 6
+#define MP_NOW_PLAYING_PROGRESS_TOP_H 6
+#define MP_NOW_PLAYING_PROGRESS_SX (100/MP_NOW_PLAYING_W)
+#define MP_NOW_PLAYING_PROGRESS_SY (35/MP_NOW_PLAYING_H)
+/*#define MP_NOW_PLAYING_PROGRESS_EX ((MP_NOW_PLAYING_W-MP_NOW_PLAYING_RIGHT_W)/MP_NOW_PLAYING_W)*/
+#define MP_NOW_PLAYING_PROGRESS_EX (0.54)
+#define MP_NOW_PLAYING_PROGRESS_EY (MP_NOW_PLAYING_PROGRESS_SY+MP_NOW_PLAYING_PROGRESS_H/MP_NOW_PLAYING_H)
+
+/* mini icon */
+#define MP_NOW_PLAYING_MINI_LEFT_W 26
+#define MP_NOW_PLAYING_MINI_SIZE 38
+#define MP_NOW_PLAYING_MINI_W 33
+
+#define MP_NOW_PLAYING_MINI_SX (MP_NOW_PLAYING_LABEL_EX+MP_NOW_PLAYING_MINI_LEFT_W/MP_NOW_PLAYING_W)
+#define MP_NOW_PLAYING_MINI_SY MP_NOW_PLAYING_LABEL_SY
+#define MP_NOW_PLAYING_MINI_EX (MP_NOW_PLAYING_MINI_SX+MP_NOW_PLAYING_MINI_SIZE/MP_NOW_PLAYING_W)
+#define MP_NOW_PLAYING_MINI_EY MP_NOW_PLAYING_LABEL_EY
+//#define MP_NOW_PLAYING_MINI_BG "mini_player/T02_mini_icon_now_playing.png"
+
+/* click bg */
+#define MP_NOW_PLAYING_CLICK_BG_SX 0
+#define MP_NOW_PLAYING_CLICK_BG_SY 0
+#define MP_NOW_PLAYING_CLICK_BG_EX 1
+#define MP_NOW_PLAYING_CLICK_BG_EY MP_NOW_PLAYING_PROGRESS_EY
+
+/* control */
+#define MP_NOW_PLAYING_CONTROL_H 121
+#define MP_NOW_PLAYING_CONTROL_LEFT_W 290
+#define MNP_CONTROL_PREVIOUS_SZIE 40
+#define MNP_CONTROL_PLAY_SZIE 100
+#define MNP_CONTROL_INTERVAL 16
+#define MNP_CONTROL_CENTER_LINE_H 135
+#define MNP_CONTROL_PREVIOUS_SX 0
+#define MNP_CONTROL_PREVIOUS_SY 0
+#define MNP_CONTROL_PREVIOUS_EX 1
+#define MNP_CONTROL_PREVIOUS_EY 1
+
+#define MNP_CONTROL_PLAY_SX 0
+#define MNP_CONTROL_PLAY_SY 0
+
+#define MNP_CONTROL_PLAY_EX 1
+#define MNP_CONTROL_PLAY_EY 1
+
+#define MNP_CONTROL_NEXT_SX 0
+#define MNP_CONTROL_NEXT_SY 0
+#define MNP_CONTROL_NEXT_EX 1
+#define MNP_CONTROL_NEXT_EY 1
+
+#define IMG_PLAYER_VIEW_BUTTON_PATH "lite/Button/"
+#define IMG_MINI_PLAYER_BUTTON_PATH "mini_player_button/"
+#define MNP_CONTROL_CIRCLE_BT_01 IMG_PLAYER_VIEW_BUTTON_PATH"player_button_01.png"
+#define MNP_CONTROL_CIRCLE_BT_01_CIRCLE IMG_PLAYER_VIEW_BUTTON_PATH"player_button_01_ef.png"
+#define MNP_CONTROL_CIRCLE_BT_02 IMG_PLAYER_VIEW_BUTTON_PATH"player_button_02.png"
+#define MNP_CONTROL_CIRCLE_BT_02_CIRCLE IMG_PLAYER_VIEW_BUTTON_PATH"player_button_02_ef.png"
+#define MNP_CONTROL_PREVIOUS IMG_MINI_PLAYER_BUTTON_PATH"player_button_prev.png"
+#define MNP_CONTROL_PLAY IMG_MINI_PLAYER_BUTTON_PATH"player_button_play.png"
+#define MNP_CONTROL_PAUSE IMG_MINI_PLAYER_BUTTON_PATH"player_button_pause.png"
+#define MNP_CONTROL_NEXT IMG_MINI_PLAYER_BUTTON_PATH"player_button_next.png"
+#define PV_OPTION_SHUFFLE_ON "lite/player_icon_Shuffle.png"
+#define PV_OPTION_SHUFFLE_OFF "lite/player_icon_shuffle_off_normal.png"
+#define PV_OPTION_SHUFFLE_ON_PRESS "lite/player_icon_shuffle_on_pressed.png"
+#define PV_OPTION_SHUFFLE_OFF_PRESS "lite/player_icon_shuffle_off_pressed.png"
+#define PV_OPTION_REP_A "lite/player_icon_rep_A_normal.png"
+#define PV_OPTION_REP_A_PRESS "lite/player_icon_rep_A_pressed.png"
+#define PV_OPTION_REPEAT_1 "lite/player_icon_rep_1_normal.png"
+#define PV_OPTION_REP_1_PRESS "lite/player_icon_rep_1_pressed.png"
+#define PV_OPTION_REP_ALL "lite/player_icon_rep_all_normal.png"
+#define PV_OPTION_REP_ALL_PRESS "lite/player_icon_rep_all_pressed.png"
+
+#define PV_PART_HIDE_SWALLOW_OPTION_1(__name, __sx, __sy, __ex, __ey) \
+part { \
+ name: __name; \
+ mouse_events: 1; \
+ type: SWALLOW; \
+ repeat_events: 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0.5 1; \
+ rel1 { \
+ relative: __sx __sy; \
+ } \
+ rel2 { \
+ relative: __ex __ey; \
+ } \
+ } \
+ description { \
+ state: "visible" 0.0; \
+ inherit: "default"; \
+ visible: 1; \
+ } \
+}
+
+#define MP_FOCUS_COVER(__name, __over_part_bg) \
+part { \
+ name: __name"_focus"; \
+ type: SWALLOW; \
+ mouse_events: 1; \
+ repeat_events: 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0 0; \
+ visible:1; \
+ rel1 { \
+ relative: 0 0; \
+ to: __over_part_bg; \
+ } \
+ rel2 { \
+ relative: 1 1; \
+ to: __over_part_bg; \
+ } \
+ } \
+}
+
+
+#define MP_PART_PREV_NEXT(__name, __to, __sx, __sy, __ex, __ey, __normal, __min_max) \
+part { \
+ name: __name"_spacer"; \
+ type: SPACER; \
+ scale: 1; \
+ description { state: "default" 0.0; \
+ rel1 { relative: __sx __sy; to: __to; } \
+ rel2 { relative: __ex __ey; to: __to; } \
+ } \
+} \
+part { \
+ name: __name"_bg"; \
+ mouse_events: 0; \
+ type: RECT; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0.0 0.0; \
+ visible: 0; \
+ rel1 { \
+ relative: 0.0 0.0; \
+ to: __name"_spacer"; \
+ } \
+ rel2 { \
+ relative: 1.0 1.0; \
+ to: __name"_spacer"; \
+ } \
+ fixed: 1 1; \
+ color: 0 0 0 0; \
+ } \
+ description { state: "invisible" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 0; \
+ } \
+} \
+part{ \
+ name : __name; \
+ type: IMAGE; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0.5 0.5; \
+ visible:1; \
+ image { normal: __normal; } \
+ rel1 { \
+ relative: 0 0; \
+ to: __name"_bg"; \
+ } \
+ rel2 { \
+ relative: 1 1; \
+ to: __name"_bg"; \
+ } \
+ color: 76 103 212 255; \
+ } \
+ description { \
+ state: "press" 0.0; \
+ inherit: "default" 0.0; \
+ color: 58 78 161 255; \
+ } \
+ description { \
+ state: "dim" 0.0; \
+ inherit: "default" 0.0; \
+ color: 134 155 240 255; \
+ } \
+ description { state: "invisible" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 0; \
+ } \
+}
+
+
+#define MP_PART_BUTTON(__name, __to, __sx, __sy, __ex, __ey, __bg_normal, __bg_circle, __normal, __min_max) \
+part { \
+ name: __name"_spacer"; \
+ type: SPACER; \
+ scale: 1; \
+ description { state: "default" 0.0; \
+ rel1 { relative: __sx __sy; to: __to; } \
+ rel2 { relative: __ex __ey; to: __to; } \
+ } \
+} \
+part { \
+ name: __name"_bg"; \
+ mouse_events: 0; \
+ type: RECT; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0.0 0.0; \
+ visible: 0; \
+ rel1 { \
+ relative: 0.0 0.0; \
+ to: __name"_spacer"; \
+ } \
+ rel2 { \
+ relative: 1.0 1.0; \
+ to: __name"_spacer"; \
+ } \
+ fixed: 1 1; \
+ color: 0 0 0 0; \
+ } \
+ description { state: "invisible" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 0; \
+ } \
+} \
+part{ \
+ name : __name"_bg_normal"; \
+ type: IMAGE; \
+ mouse_events:1; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0 0; \
+ visible:1; \
+ image { normal: __bg_normal; } \
+ rel1 { \
+ relative: 0 0; \
+ to: __name"_bg"; \
+ } \
+ rel2 { \
+ relative: 1 1; \
+ to: __name"_bg"; \
+ } \
+ color: 76 103 212 255; \
+ } \
+ description { \
+ state: "press" 0.0; \
+ inherit: "default" 0.0; \
+ color: 58 78 161 255; \
+ } \
+ description { \
+ state: "dim" 0.0; \
+ inherit: "default" 0.0; \
+ color: 134 155 240 255; \
+ } \
+ description { state: "invisible" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 0; \
+ } \
+} \
+part{ \
+ name : __name"_bg_circle"; \
+ type: IMAGE; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0 0; \
+ visible:1; \
+ image { normal: __bg_circle; } \
+ rel1 { \
+ relative: 0 0; \
+ to: __name"_bg"; \
+ } \
+ rel2 { \
+ relative: 1 1; \
+ to: __name"_bg"; \
+ } \
+ color: 66 162 207 255; \
+ } \
+ description { \
+ state: "press" 0.0; \
+ inherit: "default" 0.0; \
+ color: 66 162 207 255; \
+ } \
+ description { state: "invisible" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 0; \
+ } \
+} \
+part{ \
+ name : __name; \
+ type: IMAGE; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0 0; \
+ visible:1; \
+ image { normal: __normal; } \
+ rel1 { \
+ relative: 0 0; \
+ to: __name"_bg"; \
+ } \
+ rel2 { \
+ relative: 1 1; \
+ to: __name"_bg"; \
+ } \
+ } \
+ description { \
+ state: "press" 0.0; \
+ inherit: "default" 0.0; \
+ } \
+ description { state: "invisible" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 0; \
+ } \
+}
+
+#define NP_BUTTON_VISIVBLE_PROGRAM(__name) \
+program { \
+ name: __name"_visible" ; \
+ signal: __name"_visible"; \
+ source: __name; \
+ action: STATE_SET "default" 0.0; \
+ target: __name"_bg"; \
+ target: __name; \
+} \
+program { \
+ name: __name"_invisible" ; \
+ signal: __name"_invisible"; \
+ source: __name; \
+ action: STATE_SET "invisible" 0.0; \
+ target: __name"_bg"; \
+ target: __name; \
+}
+
+#define PV_BUTTON_PROGRAM_NEXT_PREV(__name) \
+program{\
+ name: __name"_after_down"; \
+ source: __name; \
+ signal: "mouse,down,1"; \
+ action: STATE_SET "press" 0.0; \
+ target: __name"_bg"; \
+ target: __name; \
+ transition: ACCELERATE 0.02;\
+} \
+program { \
+ name: __name"_down"; \
+ source: __name; \
+ signal: "mouse,down,1"; \
+ action: PLAY_SAMPLE "button-pressed" 1.0; \
+ after: __name"_after_down"; \
+ transition: ACCELERATE 0.02;\
+} \
+program { \
+ name: __name"_up"; \
+ source: __name; \
+ signal: "mouse,up,1"; \
+ action: STATE_SET "default" 0.0; \
+ target: __name; \
+ transition: DECELERATE 0.02;\
+} \
+program { \
+ name: __name"_clicked"; \
+ source: __name; \
+ signal: "mouse,clicked,1"; \
+ action: SIGNAL_EMIT __name"_clicked" 0.0; \
+}
+
+group {
+ name: "mp_now_playing";
+
+ images {
+ image: MP_NOW_PLAYING_BG COMP;
+ image: MNP_CONTROL_CIRCLE_BT_01 COMP;
+ image: MNP_CONTROL_CIRCLE_BT_01_CIRCLE COMP;
+ image: MNP_CONTROL_CIRCLE_BT_02 COMP;
+ image: MNP_CONTROL_CIRCLE_BT_02_CIRCLE COMP;
+ image: MNP_CONTROL_PREVIOUS COMP;
+ image: MNP_CONTROL_PLAY COMP;
+ image: MNP_CONTROL_PAUSE COMP;
+ image: MNP_CONTROL_NEXT COMP;
+ image: PV_OPTION_SHUFFLE_ON COMP;
+ image: PV_OPTION_SHUFFLE_OFF COMP;
+ image: PV_OPTION_SHUFFLE_ON_PRESS COMP;
+ image: PV_OPTION_SHUFFLE_OFF_PRESS COMP;
+ image: PV_OPTION_REP_A COMP;
+ image: PV_OPTION_REP_A_PRESS COMP;
+ image: PV_OPTION_REPEAT_1 COMP;
+ image: PV_OPTION_REP_1_PRESS COMP;
+ image: PV_OPTION_REP_ALL COMP;
+ image: PV_OPTION_REP_ALL_PRESS COMP;
+ }
+ parts {
+ part {
+ name: "now_playing_bg";
+ scale: 1;
+ type : IMAGE;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ image { normal: MP_NOW_PLAYING_BG; }
+ }
+ }
+ part {
+ name: "now_playing_label";
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 1;
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ align: 0 0;
+ rel1 {
+ relative: 0.02 0.175;
+ }
+ rel2 {
+ relative: 0.454 0.516;
+ }
+ }
+ }
+ part {
+ name: "now_playing_artist";
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 1;
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ align: 0 0;
+ rel1 {
+ relative: 0.02 0.516;
+ }
+ rel2 {
+ relative: 0.454 0.7916;
+ }
+ }
+ }
+ part {
+ name: "prev_box";
+ scale: 1;
+ type: RECT;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ align:0 0;
+ rel1 { relative: 0.4708 0.208; }
+ rel2 { relative: 0.608 0.7583; }
+ }
+ }
+ part {
+ name: "play_box";
+ scale: 1;
+ type: RECT;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ align:0 0;
+ rel1 { relative: 0.6583 0.208; }
+ rel2 { relative: 0.7958 0.7583; }
+ }
+ }
+ part {
+ name: "next_box";
+ scale: 1;
+ type: RECT;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ align:0 0;
+ rel1 { relative: 0.8458 0.208; }
+ rel2 { relative: 0.9833 0.7583; }
+ }
+ }
+
+ /* control */
+ MP_PART_PREV_NEXT("control_previous", "prev_box", MNP_CONTROL_PREVIOUS_SX, MNP_CONTROL_PREVIOUS_SY,
+ MNP_CONTROL_PREVIOUS_EX, MNP_CONTROL_PREVIOUS_EY, MNP_CONTROL_PREVIOUS, 64 64)
+
+ MP_FOCUS_COVER("previous", "control_previous_bg");
+
+ MP_PART_PREV_NEXT("control_play", "play_box", MNP_CONTROL_PLAY_SX, MNP_CONTROL_PLAY_SY,
+ MNP_CONTROL_PLAY_EX, MNP_CONTROL_PLAY_EY, MNP_CONTROL_PAUSE, 90 90)
+
+ MP_PART_PREV_NEXT("control_pause", "play_box", MNP_CONTROL_PLAY_SX, MNP_CONTROL_PLAY_SY,
+ MNP_CONTROL_PLAY_EX, MNP_CONTROL_PLAY_EY, MNP_CONTROL_PLAY, 90 90)
+
+ MP_FOCUS_COVER("play_pause", "control_play_bg");
+
+ MP_PART_PREV_NEXT("control_next", "next_box", MNP_CONTROL_NEXT_SX, MNP_CONTROL_NEXT_SY,
+ MNP_CONTROL_NEXT_EX, MNP_CONTROL_NEXT_EY, MNP_CONTROL_NEXT, 64 64)
+ MP_FOCUS_COVER("next", "control_next_bg");
+
+ }
+
+ programs {
+ program {
+ name: "now_playing_clicked";
+ source: "now_playing_label";
+ signal: "mouse,clicked,1";
+ action: SIGNAL_EMIT "now_playing_clicked" 0.0;
+ }
+ program {
+ name: "now_playing_clicked1";
+ source: "now_playing_artist";
+ signal: "mouse,clicked,1";
+ action: SIGNAL_EMIT "now_playing_clicked" 0.0;
+ }
+
+ /* control */
+ PV_BUTTON_PROGRAM_NEXT_PREV("control_previous")
+ PV_BUTTON_PROGRAM_NEXT_PREV("control_play")
+ NP_BUTTON_VISIVBLE_PROGRAM("control_play")
+ PV_BUTTON_PROGRAM_NEXT_PREV("control_pause")
+ NP_BUTTON_VISIVBLE_PROGRAM("control_pause")
+ PV_BUTTON_PROGRAM_NEXT_PREV("control_next")
+ }
+
+}
+
+#define MP_NOW_LD_H 124
+
+#define MP_NOW_LD_ALBUM_LEFT 28
+#define MP_NOW_LD_ALBUM_W 104
+#define MP_NOW_LD_ALBUM_H 104
+
+#define MP_NOW_LD_LABEL_LEFT 23
+#define MP_NOW_LD_LABEL_W 732
+#define MP_NOW_LD_LABEL_H 38
+#define MP_NOW_LD_LABEL_T 18
+
+#define MP_NOW_LD_PRGORESS_W 732
+#define MP_NOW_LD_PRGORESS_H 11
+
+#define MP_NOW_LD_PLAYING_TEXT_W 112
+#define MP_NOW_LD_PLAYING_TEXT_H 25
+#define MP_NOW_LD_PLAYING_PROGRESS_TEXT_TOP_H 57
+
+#define MP_NOW_LD_ALBUM_SX (MP_NOW_LD_ALBUM_LEFT/LANDSCAPE_MP_NOW_PLAYING_W)
+#define MP_NOW_LD_ALBUM_SY (10/LANDSCAPE_MP_NOW_PLAYING_H)
+#define MP_NOW_LD_ALBUM_EX (MP_NOW_LD_ALBUM_SX+MP_NOW_LD_ALBUM_W/LANDSCAPE_MP_NOW_PLAYING_W)
+#define MP_NOW_LD_ALBUM_EY (MP_NOW_LD_ALBUM_SY+MP_NOW_LD_ALBUM_H/LANDSCAPE_MP_NOW_PLAYING_H)
+
+#define MP_NOW_LD_LABEL_SX ((MP_NOW_LD_ALBUM_LEFT+MP_NOW_LD_ALBUM_W+MP_NOW_LD_LABEL_LEFT)/LANDSCAPE_MP_NOW_PLAYING_W)
+#define MP_NOW_LD_LABEL_SY (MP_NOW_LD_LABEL_T/LANDSCAPE_MP_NOW_PLAYING_H)
+#define MP_NOW_LD_LABEL_EX (MP_NOW_LD_LABEL_SX+MP_NOW_LD_LABEL_W/LANDSCAPE_MP_NOW_PLAYING_W)
+#define MP_NOW_LD_LABEL_EY (MP_NOW_LD_LABEL_SY+MP_NOW_LD_LABEL_H/LANDSCAPE_MP_NOW_PLAYING_H)
+
+#define MP_NOW_LD_PROGRESS_SX MP_NOW_LD_LABEL_SX
+#define MP_NOW_LD_PROGRESS_SY (65/LANDSCAPE_MP_NOW_PLAYING_H)
+#define MP_NOW_LD_PROGRESS_EX (MP_NOW_LD_PROGRESS_SX+MP_NOW_LD_PRGORESS_W/LANDSCAPE_MP_NOW_PLAYING_W)
+#define MP_NOW_LD_PROGRESS_EY (MP_NOW_LD_PROGRESS_SY+MP_NOW_LD_PRGORESS_H/LANDSCAPE_MP_NOW_PLAYING_H)
+
+#define MP_NOW_LD_PROGRESS_TEXT_LEFT_SX MP_NOW_LD_LABEL_SX
+#define MP_NOW_LD_PROGRESS_TEXT_LEFT_SY (79/LANDSCAPE_MP_NOW_PLAYING_H)
+#define MP_NOW_LD_PROGRESS_TEXT_LEFT_EX (MP_NOW_LD_PROGRESS_TEXT_LEFT_SX+MP_NOW_LD_PLAYING_TEXT_W/LANDSCAPE_MP_NOW_PLAYING_W)
+#define MP_NOW_LD_PROGRESS_TEXT_LEFT_EY (MP_NOW_LD_PROGRESS_TEXT_LEFT_SY+MP_NOW_LD_PLAYING_TEXT_H/LANDSCAPE_MP_NOW_PLAYING_H)
+
+#define MP_NOW_LD_PROGRESS_TEXT_RIGHT_SX (MP_NOW_LD_LABEL_EX-MP_NOW_LD_PLAYING_TEXT_W/LANDSCAPE_MP_NOW_PLAYING_W)
+#define MP_NOW_LD_PROGRESS_TEXT_RIGHT_SY (79/LANDSCAPE_MP_NOW_PLAYING_H)
+#define MP_NOW_LD_PROGRESS_TEXT_RIGHT_EX (MP_NOW_LD_PROGRESS_TEXT_RIGHT_SX+MP_NOW_LD_PLAYING_TEXT_W/LANDSCAPE_MP_NOW_PLAYING_W)
+#define MP_NOW_LD_PROGRESS_TEXT_RIGHT_EY (MP_NOW_LD_PROGRESS_TEXT_RIGHT_SY+MP_NOW_LD_PLAYING_TEXT_H/LANDSCAPE_MP_NOW_PLAYING_H)
+
+#define MP_NOW_LD_CONTROL_W 538
+#define MP_NOW_LD_CONTROL_H 104
+#define MP_NOW_LD_CENTER_MIN_W 200
+
+#define MP_NOW_LD_W 1280
+
+group {
+ name: "landscape_mp_now_playing";
+
+ images {
+ image: LANDSCAPE_MP_NOW_PLAYING_BG COMP;
+ image: MNP_CONTROL_CIRCLE_BT_01 COMP;
+ image: MNP_CONTROL_CIRCLE_BT_01_CIRCLE COMP;
+ image: MNP_CONTROL_CIRCLE_BT_02 COMP;
+ image: MNP_CONTROL_CIRCLE_BT_02_CIRCLE COMP;
+ image: MNP_CONTROL_PREVIOUS COMP;
+ image: MNP_CONTROL_PLAY COMP;
+ //image: MNP_CONTROL_FOCUS COMP;
+ image: MNP_CONTROL_PAUSE COMP;
+ image: MNP_CONTROL_NEXT COMP;
+ }
+
+ parts {
+ part {
+ name: "clipper";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ }
+ }
+
+ /*base 3 parts - thumbnail_bg, center_bg, control_bg */
+ part{
+ name: "thumbnail_bg";
+ type: RECT;
+ scale: 1;
+ clip_to: "clipper";
+ description {
+ state: "default" 0.0;
+ fixed: 1 1;
+ min: 120 0;
+ align: 0 0;
+ rel2 { relative: 0.0 0.0; }
+ rel2 { relative: 0.0 1.0; }
+ //color: 0 0 255 100;
+ }
+ description {
+ state: "hide_center" 0.0;
+ inherit: "default" 0.0;
+ }
+ description {
+ state: "center_min" 0.0;
+ inherit: "default" 0.0;
+ }
+ description {
+ state: "control_only" 0.0;
+ inherit: "default" 0.0;
+ min: 0 0;
+ visible: 0;
+ }
+ }
+
+ part{
+ name: "center_bg";
+ type: RECT;
+ scale: 1;
+ clip_to: "clipper";
+ description {
+ state: "default" 0.0;
+ fixed: 1 1;
+ min: 0 0;
+ align: 0 0;
+ rel1 { relative: 1.0 0.0; to_x:"thumbnail_bg";}
+ rel2 { relative: 0.0 1.0; to_x:"control_bg";}
+ //color: 0 255 0 100;
+ }
+ description {
+ state: "center_min" 0.0;
+ inherit: "default" 0.0;
+ min: MP_NOW_LD_CENTER_MIN_W 0;
+ rel2 { relative: 1.0 1.0; to_x:"thumbnail_bg";}
+ }
+ description {
+ state: "control_only" 0.0;
+ inherit: "default" 0.0;
+ min: 0 0;
+ visible: 0;
+ }
+ description {
+ state: "hide_center" 0.0;
+ inherit: "control_only" 0.0;
+ }
+ }
+ part{
+ name: "control_bg";
+ type: RECT;
+ scale: 1;
+ clip_to: "clipper";
+ description {
+ state: "default" 0.0;
+ fixed: 1 1;
+ min: MP_NOW_LD_CONTROL_W 0;
+ max: MP_NOW_LD_CONTROL_W -1;
+ rel1 { relative: 1.0 0.0;}
+ rel2 { relative: 1.0 1.0;}
+ align: 1 0.5;
+ //color: 255 0 0 100;
+ }
+ description {
+ state: "center_min" 0.0;
+ inherit: "default" 0.0;
+ min: 0 0;
+ rel1 { relative: 1.0 0.0; to_x:"center_bg";}
+ }
+ description {
+ state: "hide_center" 0.0;
+ inherit: "default" 0.0;
+ min: 0 0;
+ rel1 { relative: 1.0 0.0;to_x:"thumbnail_bg";}
+ }
+ description {
+ state: "control_only" 0.0;
+ inherit: "default" 0.0;
+ min: 0 0;
+ rel1 { relative: 0.0 0.0;}
+ }
+ }
+
+ part {
+ name: "bg_image";
+ type : IMAGE;
+ scale: 1;
+ mouse_events: 1;
+ clip_to: "clipper";
+ description {
+ state: "default" 0.0;
+ fixed: 1 1;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ image { normal: LANDSCAPE_MP_NOW_PLAYING_BG; }
+ }
+ }
+
+ PV_PART_RECT("now_playing_clicked_bg", "bg_image",
+ 0, 0, 1, 1);
+
+
+ /*center parts*/
+ PV_PART_SWALLOW_CLIP("now_playing_label1", "center_bg", 0,
+ 18/MP_NOW_LD_H, 1,56/MP_NOW_LD_H)
+
+ PV_PART_SWALLOW("progress_bar", "center_bg", 0,
+ 65/MP_NOW_LD_H, 1, 76/MP_NOW_LD_H)
+ }
+
+ programs {
+ program {
+ name: "now_playing_clicked";
+ //source: "now_playing_clicked_bg";
+ source: "thumb_image";
+ signal: "mouse,clicked,1";
+ action: SIGNAL_EMIT "now_playing_clicked" 0.0;
+ }
+ program{
+ name: "now_playing_after_down";
+ source: "now_playing_clicked_bg";
+ signal: "mouse,down,1";
+ transition: ACCELERATE 0.02;
+ }
+ program {
+ name: "now_playing_down";
+ source: "now_playing_clicked_bg";
+ signal: "mouse,down,1";
+ action: PLAY_SAMPLE "button-pressed" 1.0;
+ after: "now_playing_after_down";
+ transition: ACCELERATE 0.02;
+ }
+ program {
+ name: "center_min";
+ source: "*";
+ signal: "center_min";
+ action: STATE_SET "center_min" 0.0;
+ target: "center_bg";
+ target: "thumbnail_bg";
+ target: "control_bg";
+ }
+ program {
+ name: "set_default";
+ source: "*";
+ signal: "set_default";
+ action: STATE_SET "default" 0.0;
+ target: "center_bg";
+ target: "thumbnail_bg";
+ target: "control_bg";
+ }
+ program {
+ name: "control_only";
+ source: "*";
+ signal: "control_only";
+ action: STATE_SET "control_only" 0.0;
+ target: "center_bg";
+ target: "thumbnail_bg";
+ target: "control_bg";
+ }
+ program {
+ name: "hide_center";
+ source: "*";
+ signal: "hide_center";
+ action: STATE_SET "hide_center" 0.0;
+ target: "center_bg";
+ target: "thumbnail_bg";
+ target: "control_bg";
+ }
+ }
+}
+
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#define CONTROL_PAD_T 17
+#define CONTROL_PAD_D 18
+#define CONTROL_BUTTON 80
+#define CONTROL_H (CONTROL_PAD_T+CONTROL_PAD_D+CONTROL_BUTTON)
+
+group { name : "music/playing/main/control";
+
+ images {
+ image: "player/12_music_player_control_bg.png" COMP;
+ }
+
+ parts {
+ part { name: "bg";
+ type : SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ align: 0 0;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ color: 0 0 0 128;
+ }
+ }
+
+ part { name: "pad.top";
+ type : SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ align: 0 0;
+ rel1 { relative: 0.0 0.0; to, "bg";}
+ rel2 { relative: 1.0 CONTROL_PAD_T/CONTROL_H; to, "bg";}
+ }
+ }
+
+ part { name: "buttons";
+ type : SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ align: 0 0;
+ rel1 { relative: 0.0 CONTROL_PAD_T/CONTROL_H; to, "bg"; }
+ rel2 { relative: 1.0 (CONTROL_PAD_T+CONTROL_BUTTON)/CONTROL_H; to, "bg"; }
+ }
+ }
+
+ part { name: "pad.down";
+ type : SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ align: 0 0;
+ rel1 { relative: 0.0 (CONTROL_PAD_T+CONTROL_BUTTON)/CONTROL_H; to, "bg";}
+ rel2 { relative: 1.0 1.0; to, "bg";}
+ }
+ }
+ }
+}
+
+#define PLAYER_CONTROL_MAIN_W 720
+
+#define CONTROL_BUTTON_VOLUME_BG_W 104
+#define CONTROL_BUTTON_VOLUME_BG_H 74
+#define CONTROL_BUTTON_VOLUME_W 80
+#define CONTROL_BUTTON_REWIND_W 80
+#define CONTROL_BUTTON_FOWARD_W 80
+#define CONTROL_BUTTON_PLAY_W 80
+#define CONTROL_BUTTON_BACK_BG_W 104
+#define CONTROL_BUTTON_BACK_BG_H 74
+#define CONTROL_BUTTON_BACK_W 80
+
+#define CONTROL_BUTTON_PAD_1 52
+#define CONTROL_BUTTON_PAD_2 64
+#define CONTROL_BUTTON_PAD_BG 12
+
+#define CONTROL_BUTTON_VOLUME_BG_X 20
+#define CONTROL_BUTTON_VOLUME_X (CONTROL_BUTTON_VOLUME_BG_X+CONTROL_BUTTON_PAD_BG)
+#define CONTROL_BUTTON_REWIND_X (CONTROL_BUTTON_VOLUME_BG_X+CONTROL_BUTTON_VOLUME_BG_W+CONTROL_BUTTON_PAD_1)
+#define CONTROL_BUTTON_PLAY_X (CONTROL_BUTTON_REWIND_X+CONTROL_BUTTON_REWIND_W+CONTROL_BUTTON_PAD_2)
+#define CONTROL_BUTTON_FOWARD_X (CONTROL_BUTTON_PLAY_X+CONTROL_BUTTON_PLAY_W+CONTROL_BUTTON_PAD_2)
+#define CONTROL_BUTTON_BACK_BG_X (PLAYER_CONTROL_MAIN_W-CONTROL_BUTTON_VOLUME_BG_X-CONTROL_BUTTON_BACK_BG_W)
+#define CONTROL_BUTTON_BACK_X (CONTROL_BUTTON_BACK_BG_X+CONTROL_BUTTON_PAD_BG)
+
+#define REW_BTN "player/T02_Play_btn_previous.png"
+#define REW_BTN_PRESS "player/T02_Play_btn_previou_press.png"
+#define PLAY_BTN "player/T02_Play_btn__play.png"
+#define PLAY_BTN_PRESS "player/T02_Play_btn__play_press.png"
+#define PAUSE_BTN "player/T02_Play_btn_pause.png"
+#define PAUSE_BTN_PRESS "player/T02_Play_btn_pause_press.png"
+#define FF_BTN "player/T02_Play_btn_next.png"
+#define FF_BTN_PRESS "player/T02_Play_btn_next_press.png"
+#define VOLUME_BTN "player/T02_controller_icon_volume.png"
+#define BACK_BTN "player/T02_controller_icon_back.png"
+#define MUTE_BTN "player/T02_volume_icon_Mute.png"
+#define BTN_BG "T02_controller_btn.png"
+#define BTN_PRESS "T02_controller_btn_press.png"
+
+#define TOUCH_EXPAND_SIZE 15
+
+group { name : "music/playing/main/control/buttons";
+
+ images {
+ image: REW_BTN COMP;
+ image: PLAY_BTN COMP;
+ image: PAUSE_BTN COMP;
+ image: FF_BTN COMP;
+ image: REW_BTN_PRESS COMP;
+ image: PLAY_BTN_PRESS COMP;
+ image: PAUSE_BTN_PRESS COMP;
+ image: FF_BTN_PRESS COMP;
+ image: VOLUME_BTN COMP;
+ image: BACK_BTN COMP;
+ image: BTN_BG COMP;
+ image: BTN_PRESS COMP;
+ image: MUTE_BTN COMP;
+ }
+
+ parts {
+ part { name: "bg";
+ type : SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ align: 0 0;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ }
+ }
+
+ part { name: "pad.top";
+ type : SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 1;
+ fixed: 0 1;
+ align: 0 0;
+ rel1 { relative: 0.0 0.0; to_y, "bg";}
+ rel2 { relative: 1.0 0.0; to_y, "bg";}
+ }
+ }
+
+ part { name: "pad.center";
+ type : SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 50;
+ fixed: 0 1;
+ align: 0 0;
+ rel1 { relative: 0.0 1.0; to_y, "pad.top";}
+ rel2 { relative: 1.0 1.0; to_y, "pad.top";}
+ }
+ }
+
+ part { name: "pad.down";
+ type : SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 1;
+ fixed: 0 1;
+ align: 0 0;
+ rel1 { relative: 0.0 1.0; to_y, "pad.center";}
+ rel2 { relative: 1.0 1.0; to_y, "pad.center";}
+ }
+ }
+
+ part{ name: "volume_touch_area";
+ type: RECT;
+ scale: 1;
+ mouse_events: 1;
+ description{ state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; offset: -TOUCH_EXPAND_SIZE -TOUCH_EXPAND_SIZE; to: "volume_bg";}
+ rel2 { relative: 1.0 1.0; offset: TOUCH_EXPAND_SIZE TOUCH_EXPAND_SIZE;to: "volume_bg";}
+ color: 0 0 0 0;
+ }
+ }
+
+ part { name: "volume_bg";
+ type : IMAGE;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ visible: 0;
+ min: 52 0;
+ align: 0.5 0.5;
+ rel1 { relative: CONTROL_BUTTON_VOLUME_BG_X/PLAYER_CONTROL_MAIN_W 0.0; offset: 3 0; to_x, "bg";}
+ rel2 { relative: (CONTROL_BUTTON_VOLUME_BG_X+CONTROL_BUTTON_VOLUME_BG_W)/PLAYER_CONTROL_MAIN_W 1.0; offset: -3 0; to_x, "bg";}
+ image {
+ normal: BTN_BG;
+ border : 4 4 0 0;
+ border_scale: 1;
+ }
+ }
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ image {
+ normal: BTN_PRESS;
+ }
+ }
+ }
+
+ part { name: "volume";
+ type : IMAGE;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ visible: 1;
+ min: 52 0;
+ fixed: 1 0;
+ align: 0.5 0.5;
+ rel1 { relative: CONTROL_BUTTON_VOLUME_X/PLAYER_CONTROL_MAIN_W 0.0; to, "bg";}
+ rel2 { relative: (CONTROL_BUTTON_VOLUME_X+CONTROL_BUTTON_VOLUME_W)/PLAYER_CONTROL_MAIN_W 1.0; to, "bg";}
+ image { normal: VOLUME_BTN; }
+ }
+ description { state: "mute" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ min: 52 0;
+ fixed: 1 0;
+ align: 0.5 0.5;
+ rel1 { relative: CONTROL_BUTTON_VOLUME_X/PLAYER_CONTROL_MAIN_W 0.0; to, "bg";}
+ rel2 { relative: (CONTROL_BUTTON_VOLUME_X+CONTROL_BUTTON_VOLUME_W)/PLAYER_CONTROL_MAIN_W 1.0; to, "bg";}
+ image { normal: MUTE_BTN; }
+ }
+ }
+ part{ name: "info_touch_area";
+ type: RECT;
+ scale: 1;
+ mouse_events: 1;
+ description{ state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; offset: -TOUCH_EXPAND_SIZE -TOUCH_EXPAND_SIZE; to: "info_bg";}
+ rel2 { relative: 1.0 1.0; offset: TOUCH_EXPAND_SIZE TOUCH_EXPAND_SIZE;to: "info_bg";}
+ color: 0 0 0 0;
+ }
+ }
+
+ part { name: "info_bg";
+ type : IMAGE;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ visible: 0;
+ min: 52 0;
+ fixed: 1 0;
+ align: 0.5 0.5;
+ rel1 { relative: CONTROL_BUTTON_BACK_BG_X/PLAYER_CONTROL_MAIN_W 0.0; to_x, "bg";}
+ rel2 { relative: (CONTROL_BUTTON_BACK_BG_X+CONTROL_BUTTON_BACK_BG_W)/PLAYER_CONTROL_MAIN_W 1.0; to_x, "bg";}
+ image {
+ normal: BTN_BG;
+ border : 4 4 0 0;
+ border_scale: 1;
+ }
+ }
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ image {
+ normal: BTN_PRESS;
+ }
+ }
+ }
+
+ part { name: "info";
+ type : IMAGE;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ visible: 1;
+ min: 52 0;
+ fixed: 1 0;
+ align: 0.5 0.5;
+ rel1 { relative: CONTROL_BUTTON_BACK_X/PLAYER_CONTROL_MAIN_W 0.0; to, "bg";}
+ rel2 { relative: (CONTROL_BUTTON_BACK_X+CONTROL_BUTTON_BACK_W)/PLAYER_CONTROL_MAIN_W 1.0; to, "bg";}
+ image { normal: BACK_BTN; }
+ }
+ description { state: "dim" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ image { normal: BACK_BTN; }
+ }
+ }
+
+ part { name: "info_screen";
+ type : RECT;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ min: 52 0;
+ fixed: 1 0;
+ align: 0 0;
+ rel1 { relative: 0.0 0.0; to, "info_bg";}
+ rel2 { relative: 1.0 1.0; to, "info_bg";}
+ color: 0 0 0 0;
+ }
+ description { state: "dim" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+
+ part { name: "control_area";
+ type : SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 250 0;
+ fixed: 1 0;
+ align: 0.5 0.5;
+ rel1 { relative: 0.5 0.0; to_y, "pad.center";}
+ rel2 { relative: 0.5 1.0; to_y, "pad.center";}
+ }
+ }
+ part { name: "rewind";
+ type : IMAGE;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ min: 50 0;
+ fixed: 1 0;
+ rel1 { relative: CONTROL_BUTTON_REWIND_X/PLAYER_CONTROL_MAIN_W 0.0; to, "bg";}
+ rel2 { relative: (CONTROL_BUTTON_REWIND_X+CONTROL_BUTTON_REWIND_W)/PLAYER_CONTROL_MAIN_W 1.0; to, "bg";}
+ image { normal: REW_BTN; }
+ }
+ description { state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ image { normal: REW_BTN_PRESS; }
+ }
+ }
+
+ part { name: "rewind_touch_area";
+ type: RECT;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 0; to: "rewind"; offset: -TOUCH_EXPAND_SIZE -TOUCH_EXPAND_SIZE; }
+ rel2 { relative: 1 1; to: "rewind"; offset: TOUCH_EXPAND_SIZE TOUCH_EXPAND_SIZE; }
+ color: 0 0 0 0;
+ }
+ }
+
+ part { name: "foward";
+ type : IMAGE;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ min: 50 0;
+ fixed: 1 0;
+ align: 0.5 0.5;
+ rel1 { relative: CONTROL_BUTTON_FOWARD_X/PLAYER_CONTROL_MAIN_W 0.0; to, "bg";}
+ rel2 { relative: (CONTROL_BUTTON_FOWARD_X+CONTROL_BUTTON_FOWARD_W)/PLAYER_CONTROL_MAIN_W 1.0; to, "bg";}
+ image { normal: FF_BTN; }
+ }
+ description { state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ image { normal: FF_BTN_PRESS; }
+ }
+ }
+
+ part { name: "forward_touch_area";
+ type: RECT;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 0; to: "foward"; offset: -TOUCH_EXPAND_SIZE -TOUCH_EXPAND_SIZE; }
+ rel2 { relative: 1 1; to: "foward"; offset: TOUCH_EXPAND_SIZE TOUCH_EXPAND_SIZE; }
+ color: 0 0 0 0;
+ }
+ }
+
+ part { name: "play_pause_btn";
+ type : IMAGE;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ min: 50 0;
+ fixed: 1 0;
+ align: 0.5 0.5;
+ rel1 { relative: CONTROL_BUTTON_PLAY_X/PLAYER_CONTROL_MAIN_W 0.0; to, "bg";}
+ rel2 { relative: (CONTROL_BUTTON_PLAY_X+CONTROL_BUTTON_PLAY_W)/PLAYER_CONTROL_MAIN_W 1.0; to, "bg";}
+ image { normal: PLAY_BTN; }
+ }
+ description { state: "default" 1.0;
+ inherit: "default" 0.0;
+ image { normal: PAUSE_BTN; }
+ }
+ description { state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ image { normal: PLAY_BTN_PRESS; }
+ }
+ description { state: "pressed" 1.0;
+ inherit: "default" 0.0;
+ image { normal: PAUSE_BTN_PRESS; }
+ }
+ }
+
+ part { name: "play_pause_btn_touch_area";
+ type: RECT;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 0; to: "play_pause_btn"; offset: -TOUCH_EXPAND_SIZE -TOUCH_EXPAND_SIZE; }
+ rel2 { relative: 1 1; to: "play_pause_btn"; offset: TOUCH_EXPAND_SIZE TOUCH_EXPAND_SIZE; }
+ color: 0 0 0 0;
+ }
+ }
+
+ }
+
+ programs {
+
+ //volum button
+ program { name: "vol_btn_down";
+ source: "volume_touch_area";
+ signal: "mouse,down,1";
+ action: STATE_SET "press" 0.0;
+ target: "volume_bg";
+ }
+ program { name: "vol_btn_up";
+ source: "volume_touch_area";
+ signal: "mouse,up,1";
+ action: STATE_SET "default" 0.0;
+ target: "volume_bg";
+ }
+ program { name: "vol_btn_down_sig";
+ source: "volume_touch_area";
+ signal: "mouse,down,1";
+ script {
+ emit ("vol_btn_down", "ctrl_edj");
+ }
+ }
+ program { name: "vol_btn_up_sig";
+ source: "volume_touch_area";
+ signal: "mouse,up,1";
+ script {
+ emit ("vol_btn_up", "ctrl_edj");
+ }
+ }
+ program { name: "vol_btn_click";
+ source: "volume_touch_area";
+ signal: "mouse,clicked,1";
+ script {
+ emit ("volume_clicked", "ctrl_edj");
+ }
+ }
+
+ //info button
+ program { name: "info_btn_down";
+ source: "info_touch_area";
+ signal: "mouse,down,1";
+ action: STATE_SET "press" 0.0;
+ target: "info_bg";
+ }
+ program { name: "info_btn_up";
+ source: "info_touch_area";
+ signal: "mouse,up,1";
+ action: STATE_SET "default" 0.0;
+ target: "info_bg";
+ }
+ program { name: "info_btn_click";
+ source: "info_touch_area";
+ signal: "mouse,clicked,1";
+ script {
+ emit ("info_clicked", "ctrl_edj");
+ }
+ }
+ program { name: "info_btn_default";
+ source: "ctrl_prog";
+ signal: "info_default";
+ script {
+ set_state(PART:"info_bg", "default", 0.0);
+ set_state(PART:"info", "default", 0.0);
+ set_state(PART:"info_screen", "default", 0.0);
+ }
+ }
+ program { name: "info_btn_highlight";
+ source: "ctrl_prog";
+ signal: "info_highlight";
+ script {
+ set_state(PART:"info_bg", "press", 0.0);
+ set_state(PART:"info", "default", 0.0);
+ }
+ }
+ program { name: "info_btn_dim";
+ source: "ctrl_prog";
+ signal: "info_dim";
+ script {
+ set_state(PART:"info_bg", "default", 0.0);
+ set_state(PART:"info", "dim", 0.0);
+ set_state(PART:"info_screen", "dim", 0.0);
+ }
+ }
+
+ //play,pause
+ program { name: "play_btn_click";
+ source: "play_pause_btn_touch_area";
+ signal: "mouse,clicked,1";
+ script {
+ new st[31];
+ new Float:vl;
+ get_state(PART:"play_pause_btn", st, 30, vl)
+ if(vl == 0.0)
+ emit ("play_clicked", "ctrl_edj");
+ else
+ emit ("pause_clicked", "ctrl_edj");
+ }
+ }
+ program { name: "play_btn_down";
+ source: "play_pause_btn_touch_area";
+ signal: "mouse,down,1";
+ script {
+ new st[31];
+ new Float:vl;
+ get_state(PART:"play_pause_btn", st, 30, vl)
+ if(vl == 0.0)
+ set_state(PART:"play_pause_btn", "pressed", 0.0);
+ else
+ set_state(PART:"play_pause_btn", "pressed", 1.0);
+ }
+ }
+ program { name: "play_btn_up";
+ source: "play_pause_btn_touch_area";
+ signal: "mouse,up,1";
+ script {
+ new st[31];
+ new Float:vl;
+ get_state(PART:"play_pause_btn", st, 30, vl)
+ if(vl == 0.0)
+ set_state(PART:"play_pause_btn", "default", 0.0);
+ else
+ set_state(PART:"play_pause_btn", "default", 1.0);
+ }
+ }
+ program { name: "play_btn_play";
+ source: "ctrl_prog";
+ signal: "play";
+ script {
+ set_state(PART:"play_pause_btn", "default", 0.0);
+ }
+ }
+ program { name: "play_btn_pause";
+ source: "ctrl_prog";
+ signal: "pause";
+ script {
+ set_state(PART:"play_pause_btn", "default", 1.0);
+ }
+ }
+
+ //ff
+ program { name: "ff_btn_down";
+ source: "forward_touch_area";
+ signal: "mouse,down,1";
+ script {
+ emit ("ff_btn_down", "ctrl_edj");
+ set_state(PART:"foward", "pressed", 0.0);
+ }
+ }
+ program { name: "ff_btn_up";
+ source: "forward_touch_area";
+ signal: "mouse,up,1";
+ script {
+ emit ("ff_btn_up", "ctrl_edj");
+ set_state(PART:"foward", "default", 0.0);
+ }
+ }
+ program { name: "ff_btn_press";
+ source: "ctrl_prog";
+ signal: "ff_btn_press";
+ script {
+ emit ("ff_btn_down", "ctrl_edj");
+ }
+ }
+ program { name: "ff_btn_release";
+ source: "ctrl_prog";
+ signal: "ff_btn_release";
+ script {
+ emit ("ff_btn_up", "ctrl_edj");
+ }
+ }
+
+ //rewind
+ program { name: "rew_btn_down";
+ source: "rewind_touch_area";
+ signal: "mouse,down,1";
+ script {
+ emit ("rew_btn_down", "ctrl_edj");
+ set_state(PART:"rewind", "pressed", 0.0);
+ }
+ }
+ program { name: "rew_btn_up";
+ source: "rewind_touch_area";
+ signal: "mouse,up,1";
+ script {
+ emit ("rew_btn_up", "ctrl_edj");
+ set_state(PART:"rewind", "default", 0.0);
+ }
+ }
+ program { name: "rew_btn_press";
+ source: "ctrl_prog";
+ signal: "rew_btn_press";
+ script {
+ emit ("rew_btn_down", "ctrl_edj");
+ }
+ }
+ program { name: "rew_btn_release";
+ source: "ctrl_prog";
+ signal: "rew_btn_release";
+ script {
+ emit ("rew_btn_up", "ctrl_edj");
+ }
+ }
+
+ program { name: "go_active";
+ signal: "mute";
+ source: "volume";
+ action: STATE_SET "mute" 0.0;
+ target: "volume";
+ }
+ program { name: "go_passive";
+ signal: "unmute";
+ source: "volume";
+ action: STATE_SET "default" 0.0;
+ target: "volume";
+ }
+ }
+}
+
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+/* font name*/
+#define FONT_TITLE_NAME "system_title" //"system_title"
+#define FONT_CONTENT_NAME "system_content" //"system_content"
+#define FONT_SUBCONTENT_NAME "system_subcontent" //"system_subcontent"
+
+group
+{
+ name : "music/playing/play_ctrl";
+
+ parts {
+ part {
+ name: "player_info_bg";
+ type: SWALLOW;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 1.0 ; }
+ color: 35 35 35 0;
+ }
+ }
+
+ part {
+ name: "track_title";
+ type: TEXT;
+ scale: 1;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ min: 0 TRACK_TITLE_H;
+ fixed: 0 1;
+ align: 0 0;
+ rel1 { relative: TRACK_TITLE_SX TRACK_TITLE_SY; to: "player_info_bg";}
+ rel2 { relative: FAVORITE_SX TRACK_TITLE_SY; to: "player_info_bg";}
+ color: 255 255 255 255;
+ text {
+ font: FONT_STYLE_MEDIUM;
+ size: 26;
+ align: 0 0.5;
+ text: "Track title";
+ }
+ }
+ }
+
+ part {
+ name: "album_title";
+ type: TEXT;
+ scale: 1;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ min: 0 ALBUM_TITLE_H;
+ fixed: 0 1;
+ align: 0 0;
+ rel1 { relative: TRACK_TITLE_SX ALBUM_TITLE_SY; to: "player_info_bg";}
+ rel2 { relative: FAVORITE_SX ALBUM_TITLE_SY; to: "player_info_bg";}
+ color: 189 188 188 255 ;
+ text {
+ font: FONT_STYLE_MEDIUM;
+ size: 22;
+ align: 0 0.5;
+ text: "Album title";
+ }
+ }
+ }
+
+ part {
+ name: "artist_title";
+ type: TEXT;
+ scale: 1;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ min: 0 ARTIST_TITLE_H;
+ fixed: 0 1;
+ align: 0 0;
+ rel1 { relative: TRACK_TITLE_SX ARTIST_TITLE_SY; to: "player_info_bg";}
+ rel2 { relative: FAVORITE_SX ARTIST_TITLE_SY; to: "player_info_bg";}
+ color: 189 188 188 255 ;
+ text {
+ font: FONT_STYLE_MEDIUM;
+ size: 22;
+ align: 0 0.5;
+ text: "Artist";
+ }
+ }
+ }
+
+ part {
+ name: "track_index";
+ type: TEXT;
+ scale: 1;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ min: 0 ARTIST_TITLE_H;
+ fixed: 0 1;
+ align: 0 0;
+ rel1 { relative: 350/MAIN_W ARTIST_TITLE_SY; to: "player_info_bg";}
+ rel2 { relative: 475/MAIN_W ARTIST_TITLE_SY; to: "player_info_bg";}
+ color: 255 255 255 255;
+ text {
+ font: FONT_STYLE_ROMAN;
+ size: 22;
+ align: 1 0.5;
+ text: "/";
+ }
+ }
+ }
+
+ part {
+ name: "player_menu";
+ type: SWALLOW;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; to: "player_info_bg";}
+ rel2 { relative: 1.0 MENUBOX_H/120; to: "player_info_bg";}
+ }
+ description {
+ state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+
+ part {
+ name: "player_progress";
+ type: SWALLOW;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: 0.0 56/120; to: "player_info_bg";}
+ rel2 { relative: 1.0 1.0; to: "player_info_bg";}
+ }
+ description {
+ state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ }
+
+ programs {
+ program {
+ name: "progressbar_invisible" ;
+ signal: "progressbar_invisible";
+ source: "player_progress";
+ action: STATE_SET "invisible" 0.0;
+ target: "player_progress";
+ }
+ program {
+ name: "progressbar_visible" ;
+ signal: "progressbar_visible";
+ source: "player_progress";
+ action: STATE_SET "default" 0.0;
+ target: "player_progress";
+ }
+ }
+
+}
+
+#define INFO_BASE_SC_H 620
+#define INFO_ITEM_TEXT_H 30
+#define INFO_ITEM_GAP_H 10
+#define INFO_ITEM_H (INFO_ITEM_TEXT_H+INFO_ITEM_GAP_H)
+#define INFO_ITEM_CENTER_H (INFO_ITEM_H*12)
+#define INFO_BASE_H (INFO_ITEM_CENTER_H+60)
+#define INFO_VIEW_H (INFO_BASE_SC_H)
+
+group { name : "music/playing/info";
+ parts {
+ part { name: "bg";
+ type : RECT;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ min: 0 INFO_VIEW_H;
+ fixed: 0 1;
+ align: 0 0;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 0.0; }
+ color: 0 0 0 0;
+ }
+ }
+
+ part { name: "contents";
+ type : SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ min: 0 INFO_BASE_SC_H;
+ fixed: 0 1;
+ align: 0 0;
+ rel1 { relative: 0.0 0.0; to_y, "bg"; }
+ rel2 { relative: 1.0 0.0; to_y, "bg"; }
+// color: 100 100 100 255;
+ }
+ }
+ }
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#define PLAYER_MENU_BTN_PRESS_BG "player/T02_function_btn_press.png"
+
+#define PART_BTN_BG(_name, _to) \
+part { name: _name; \
+ type: RECT; \
+ mouse_events: 0; \
+ scale: 1; \
+ description { state: "default" 0.0; \
+ rel1.to: _to; \
+ rel2.to: _to; \
+ color: 150 150 150 255; \
+ visible: 0; \
+ } \
+ description { state: "clicked" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 1; \
+ } \
+} \
+part { name: _name"_image"; \
+ type: IMAGE; \
+ mouse_events: 0; \
+ scale: 1; \
+ clip_to: _name; \
+ description { state: "default" 0.0; \
+ rel1.to: _name; \
+ rel2.to: _name; \
+ image { normal: PLAYER_MENU_BTN_PRESS_BG; border: 3 3 1 1; } \
+ } \
+}
+
+group {
+ name: "mp_play_menu";
+
+ images {
+ image: "T02_option_shuffle_on.png" COMP;
+ image: "T02_option_shuffle_off.png" COMP;
+ image: "T02_option_rep_1.png" COMP;
+ image: "T02_option_rep_all.png" COMP;
+ image: "T02_option_rep_A.png" COMP;
+ image: "T02_option_add_playlist.png" COMP;
+ //image: "T02_option_favorite_on.png" COMP;
+ image: "T02_option_bg.png" COMP;
+ image: PLAYER_MENU_BTN_PRESS_BG COMP;
+ }
+
+ parts {
+ /* Menu Box **********************************************************************/
+ part {
+ name: "menu_box_bg";
+ type : SPACER;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ }
+ }
+
+ PART_BTN_BG("shuffle_bg", "shuffle")
+
+ part {
+ name: "shuffle";
+ type: IMAGE;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ image { normal: "T02_option_shuffle_on.png"; }
+ rel1 { relative: MENU_SHUFFLE_SX MENU_SY; offset: 0 0; to: "menu_box_bg"; }
+ rel2 { relative: MENU_SHUFFLE_EX MENU_EY; offset: -1 0; to: "menu_box_bg"; }
+ }
+ description {
+ state: "clicked" 0.0;
+ inherit: "default" 0.0;
+ image { normal: "T02_option_shuffle_on.png"; }
+ }
+ description {
+ state: "invisible" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+
+ part {
+ name: "shuffle_non";
+ type: IMAGE;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ image { normal: "T02_option_shuffle_off.png"; }
+ rel1 { relative: MENU_SHUFFLE_SX MENU_SY; offset: 0 0; to: "menu_box_bg"; }
+ rel2 { relative: MENU_SHUFFLE_EX MENU_EY; offset: 0 0; to: "menu_box_bg"; }
+ }
+ description {
+ state: "clicked" 0.0;
+ inherit: "default" 0.0;
+ image { normal: "T02_option_shuffle_off.png"; }
+ }
+ description {
+ state: "invisible" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+
+ PART_BTN_BG("repeat_bg", "rep_all")
+
+ part {
+ name: "rep_all";
+ type: IMAGE;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ image { normal: "T02_option_rep_all.png"; }
+ rel1 { relative: MENU_REP_ALL_SX MENU_SY; offset: 0 0; to: "menu_box_bg"; }
+ rel2 { relative: MENU_REP_ALL_EX MENU_EY; offset: 0 0; to: "menu_box_bg"; }
+ }
+ description {
+ state: "invisible" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+
+ part {
+ name: "rep_non";
+ type: IMAGE;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ image { normal: "T02_option_rep_A.png"; }
+ rel1 { relative: MENU_REP_ALL_SX MENU_SY; offset: 0 0; to: "menu_box_bg"; }
+ rel2 { relative: MENU_REP_ALL_EX MENU_EY; offset: 0 0; to: "menu_box_bg"; }
+ }
+ /*description {
+ state: "clicked" 0.0;
+ inherit: "default" 0.0;
+ image { normal: "34_menu_rep_non_press.png"; }
+ }*/
+ description {
+ state: "invisible" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+
+ part {
+ name: "rep_1";
+ type: IMAGE;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ image { normal: "T02_option_rep_1.png"; }
+ rel1 { relative: MENU_REP_ALL_SX MENU_SY; offset: 0 0; to: "menu_box_bg"; }
+ rel2 { relative: MENU_REP_ALL_EX MENU_EY; offset: 0 0; to: "menu_box_bg"; }
+ }
+ description {
+ state: "invisible" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+
+ PART_BTN_BG("add_to_playlist_bg", "add_to_playlist")
+ part {
+ name: "add_to_playlist";
+ type: IMAGE;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ image { normal: "T02_option_add_playlist.png"; }
+ rel1 { relative: MENU_FAVORITE_SX MENU_SY; offset: 0 0; to: "menu_box_bg"; }
+ rel2 { relative: MENU_FAVORITE_EX MENU_EY; offset: 0 0; to: "menu_box_bg"; }
+ }
+ description {
+ state: "invisible" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ }
+
+ programs {
+ program { name: "shuffle_down";
+ source: "shuffle";
+ signal: "mouse,down,1";
+ action: STATE_SET "clicked" 0.0;
+ target: "shuffle";
+ target: "shuffle_bg";
+ }
+ program { name: "shuffle_up";
+ source: "shuffle";
+ signal: "mouse,up,1";
+ action: STATE_SET "default" 0.0;
+ target: "shuffle";
+ target: "shuffle_bg";
+ }
+ program {
+ name: "shuffle_clicked";
+ source: "shuffle";
+ signal: "mouse,clicked,1";
+ action: SIGNAL_EMIT "shuffle_clicked" 0.0;
+ }
+
+ program {
+ name: "shuffle_visible" ;
+ signal: "shuffle_visible";
+ source: "shuffle";
+ action: STATE_SET "default" 0.0;
+ target: "shuffle";
+ }
+
+ program {
+ name: "shuffle_invisible" ;
+ signal: "shuffle_invisible";
+ source: "shuffle";
+ action: STATE_SET "invisible" 0.0;
+ target: "shuffle";
+ }
+
+ program {
+ name: "shuffle_non_down";
+ source: "shuffle_non";
+ signal: "mouse,down,1";
+ action: STATE_SET "clicked" 0.0;
+ target: "shuffle_non";
+ target: "shuffle_bg";
+ }
+
+ program {
+ name: "shuffle_non_up";
+ source: "shuffle_non";
+ signal: "mouse,up,1";
+ action: STATE_SET "default" 0.0;
+ target: "shuffle_non";
+ target: "shuffle_bg";
+ }
+
+ program {
+ name: "shuffle_non_clicked";
+ source: "shuffle_non";
+ signal: "mouse,clicked,1";
+ action: SIGNAL_EMIT "shuffle_non_clicked" 0.0;
+ }
+
+ program {
+ name: "shuffle_non_visible" ;
+ signal: "shuffle_non_visible";
+ source: "shuffle_non";
+ action: STATE_SET "default" 0.0;
+ target: "shuffle_non";
+ }
+
+ program {
+ name: "shuffle_non_invisible" ;
+ signal: "shuffle_non_invisible";
+ source: "shuffle_non";
+ action: STATE_SET "invisible" 0.0;
+ target: "shuffle_non";
+ }
+
+ program {
+ name: "rep_all_down";
+ source: "rep_all";
+ signal: "mouse,down,1";
+ action: STATE_SET "clicked" 0.0;
+ target: "rep_all";
+ target: "repeat_bg";
+ }
+
+ program {
+ name: "rep_all_up";
+ source: "rep_all";
+ signal: "mouse,up,1";
+ action: STATE_SET "default" 0.0;
+ target: "rep_all";
+ target: "repeat_bg";
+ }
+
+ program {
+ name: "rep_all_clicked";
+ source: "rep_all";
+ signal: "mouse,clicked,1";
+ action: SIGNAL_EMIT "rep_all_clicked" 0.0;
+ }
+
+ program {
+ name: "rep_all_visible" ;
+ signal: "rep_all_visible";
+ source: "rep_all";
+ action: STATE_SET "default" 0.0;
+ target: "rep_all";
+ }
+
+ program {
+ name: "rep_all_invisible" ;
+ signal: "rep_all_invisible";
+ source: "rep_all";
+ action: STATE_SET "invisible" 0.0;
+ target: "rep_all";
+ }
+
+ program {
+ name: "rep_non_down";
+ source: "rep_non";
+ signal: "mouse,down,1";
+ action: STATE_SET "clicked" 0.0;
+ target: "rep_non";
+ target: "repeat_bg";
+ }
+
+ program {
+ name: "rep_non_up";
+ source: "rep_non";
+ signal: "mouse,up,1";
+ action: STATE_SET "default" 0.0;
+ target: "rep_non";
+ target: "repeat_bg";
+ }
+
+ program {
+ name: "rep_non_clicked";
+ source: "rep_non";
+ signal: "mouse,clicked,1";
+ action: SIGNAL_EMIT "rep_non_clicked" 0.0;
+ }
+
+ program {
+ name: "rep_non_visible" ;
+ signal: "rep_non_visible";
+ source: "rep_non";
+ action: STATE_SET "default" 0.0;
+ target: "rep_non";
+ }
+
+ program {
+ name: "rep_non_invisible" ;
+ signal: "rep_non_invisible";
+ source: "rep_non";
+ action: STATE_SET "invisible" 0.0;
+ target: "rep_non";
+ }
+
+ program {
+ name: "rep_1_down";
+ source: "rep_1";
+ signal: "mouse,down,1";
+ action: STATE_SET "clicked" 0.0;
+ target: "rep_1";
+ target: "repeat_bg";
+ }
+
+ program {
+ name: "rep_1_up";
+ source: "rep_1";
+ signal: "mouse,up,1";
+ action: STATE_SET "default" 0.0;
+ target: "rep_1";
+ target: "repeat_bg";
+ }
+
+ program {
+ name: "rep_1_clicked";
+ source: "rep_1";
+ signal: "mouse,clicked,1";
+ action: SIGNAL_EMIT "rep_1_clicked" 0.0;
+ }
+
+ program {
+ name: "rep_1_visible" ;
+ signal: "rep_1_visible";
+ source: "rep_1";
+ action: STATE_SET "default" 0.0;
+ target: "rep_1";
+ }
+
+ program {
+ name: "rep_1_invisible" ;
+ signal: "rep_1_invisible";
+ source: "rep_1";
+ action: STATE_SET "invisible" 0.0;
+ target: "rep_1";
+ }
+ program {
+ name: "add_to_playlist_clicked";
+ source: "add_to_playlist";
+ signal: "mouse,clicked,1";
+ action: SIGNAL_EMIT "add_to_playlist_clicked" 0.0;
+ }
+ program {
+ name: "add_to_playlist_invisible";
+ source: "play_view";
+ signal: "add_to_playlist_invisible";
+ action: STATE_SET "invisible" 0.0;
+ target: "add_to_playlist";
+ }
+ program { name: "add_to_playlist_down";
+ source: "add_to_playlist";
+ signal: "mouse,down,1";
+ action: STATE_SET "clicked" 0.0;
+ target: "add_to_playlist_bg";
+ }
+
+ program { name: "add_to_playlist_up";
+ source: "add_to_playlist";
+ signal: "mouse,up,1";
+ action: STATE_SET "default" 0.0;
+ target: "add_to_playlist_bg";
+ }
+ }
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#define MULTI_WIN_TITLE_H 40
+#define MULTI_WIN_TITLE_AREA_H 67
+#define MULTI_WIN_TITLE_BOTTOM 10
+#define MULTI_WIN_PLAY_CONTROL_H 100
+
+#define MULTI_WIN0_APP_W 362
+#define MULTI_WIN0_APP_H 177
+
+#define MULTI_WIN1_APP_W 540
+#define MULTI_WIN1_APP_H 177
+
+#define MULTI_WIN2_APP_W 720
+#define MULTI_WIN2_APP_H 177
+
+#define MULTI_WIN3_APP_W 362
+#define MULTI_WIN3_APP_H 365
+#define MULTI_WIN3_ALBUM_W 348
+#define MULTI_WIN3_ALBUM_H 188
+
+#define MULTI_WIN4_APP_W 720
+#define MULTI_WIN4_APP_H 723
+#define MULTI_WIN4_ALBUM_W 706
+#define MULTI_WIN4_ALBUM_H 546
+
+
+#define CONTROL_BTN_W 54
+#define CONTROL_BTN_H 54
+#define CLOSE_BTN_W 50
+#define CLOSE_BTN_H 50
+
+#define CONTROL_BT_LEFT 108
+#define CONTROL_BT_CENTER 104
+#define CONTROL_BT_RIGHT 108
+#define CONTROL_BT_HIGH 72
+
+#define CONTROL_AREA_SY_WIN0 67/MULTI_WIN0_APP_H
+#define CONTROL_AREA_SY_WIN1 67/MULTI_WIN1_APP_H
+#define CONTROL_AREA_SY_WIN2 67/MULTI_WIN2_APP_H
+#define CONTROL_AREA_SY_WIN3 255/MULTI_WIN3_APP_H
+#define CONTROL_AREA_SY_WIN4 613/MULTI_WIN4_APP_H
+
+#define IMG_BG_CENTER "multi_window/T02_mw_control_bg_center.png"
+#define IMG_BG_CENTER_PRESS "multi_window/T02_mw_control_bg_center_press.png"
+#define IMG_BG_LEFT "multi_window/T02_mw_control_bg_left.png"
+#define IMG_BG_LEFT_PRESS "multi_window/T02_mw_control_bg_left_press.png"
+#define IMG_BG_RIGHT "multi_window/T02_mw_control_bg_right.png"
+#define IMG_BG_RIGHT_PRESS "multi_window/T02_mw_control_bg_right_press.png"
+#define IMG_ICON_FF "multi_window/T02_mw_control_icon_ff.png"
+#define IMG_ICON_FF_DIM "multi_window/T02_mw_control_icon_ff_dim.png"
+#define IMG_ICON_FF_PRESS "multi_window/T02_mw_control_icon_ff_press.png"
+#define IMG_ICON_PAUSE "multi_window/T02_mw_control_icon_pause.png"
+#define IMG_ICON_PAUSE_DIM "multi_window/T02_mw_control_icon_pause_dim.png"
+#define IMG_ICON_PAUSE_PRESS "multi_window/T02_mw_control_icon_pause_press.png"
+#define IMG_ICON_PLAY "multi_window/T02_mw_control_icon_play.png"
+#define IMG_ICON_PLAY_DIM "multi_window/T02_mw_control_icon_play_dim.png"
+#define IMG_ICON_PLAY_PRESS "multi_window/T02_mw_control_icon_play_press.png"
+#define IMG_ICON_REW "multi_window/T02_mw_control_icon_rew.png"
+#define IMG_ICON_REW_DIM "multi_window/T02_mw_control_icon_rew_dim.png"
+#define IMG_ICON_REW_PRESS "multi_window/T02_mw_control_icon_rew_press.png"
+#define IMG_MW_FRAME "multi_window/T02_mw_frame.png"
+#define IMG_MW_FRAME_EDIT "multi_window/T02_mw_frame_edit.png"
+#define IMG_ICON_CLOSE "multi_window/T02_mw_icon_close.png"
+#define IMG_ICON_CLOSE_PRESS "multi_window/T02_mw_icon_close_press.png"
+#define IMG_ICON_RESIZE "multi_window/T02_mw_icon_resize.png"
+#define IMG_ICON_RESIZE_PRESS "multi_window/T02_mw_icon_resize_press.png"
+#define IMG_ICON_RESIZE_BUTTON "multi_window/T01-2_resize_controller.png"
+
+
+group { name: "mini-app-0";
+ images {
+ image: IMG_BG_CENTER COMP;
+ image: IMG_BG_CENTER_PRESS COMP;
+ image: IMG_BG_LEFT COMP;
+ image: IMG_BG_LEFT_PRESS COMP;
+ image: IMG_BG_RIGHT COMP;
+ image: IMG_BG_RIGHT_PRESS COMP;
+ image: IMG_ICON_FF COMP;
+ image: IMG_ICON_FF_DIM COMP;
+ image: IMG_ICON_FF_PRESS COMP;
+ image: IMG_ICON_PAUSE COMP;
+ image: IMG_ICON_PAUSE_DIM COMP;
+ image: IMG_ICON_PAUSE_PRESS COMP;
+ image: IMG_ICON_PLAY COMP;
+ image: IMG_ICON_PLAY_DIM COMP;
+ image: IMG_ICON_PLAY_PRESS COMP;
+ image: IMG_ICON_REW COMP;
+ image: IMG_ICON_REW_DIM COMP;
+ image: IMG_ICON_REW_PRESS COMP;
+ image: IMG_MW_FRAME COMP;
+ image: IMG_MW_FRAME_EDIT COMP;
+ image: IMG_ICON_CLOSE COMP;
+ image: IMG_ICON_CLOSE_PRESS COMP;
+ image: IMG_ICON_RESIZE COMP;
+ image: IMG_ICON_RESIZE_PRESS COMP;
+ }
+
+ parts {
+ part { name: "bg";
+ type: IMAGE;
+ scale: 1;
+ repeat_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 0; }
+ rel2 { relative: 1 1;}
+ image { normal: IMG_MW_FRAME;
+ border: 176 176 67 106;
+ }
+ }
+ }
+
+ part { name: "padding.inner.left";
+ type : SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 0; to: "bg"; }
+ rel2 { relative: 0 1; to: "bg"; }
+ min: 7 0;
+ max: 7 0;
+ fixed: 1 0;
+ align: 0 0;
+ }
+ }
+
+ part { name: "padding.inner.right";
+ type : SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 1 1; to: "bg"; offset: -7 0; }
+ rel2 { relative: 1 1; to: "bg"; offset: -7 0; }
+ min: 7 0;
+ max: 7 0;
+ fixed: 1 0;
+ align: 1 1;
+ }
+ }
+
+ part { name: "title_area";
+ type : SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 0; to: "bg"; offset: 19 17;}
+ rel2 { relative: 1 0; to: "bg"; offset: -19 57;}
+ min: 0 MULTI_WIN_TITLE_H;
+ fixed: 1 1;
+ align: 0 0;
+ }
+ }
+
+ part { name: "icon.close";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 0; to: "title_area"; }
+ rel2 { relative: 1 1; to: "title_area"; }
+ min: 40 40;
+ max: 40 40;
+ fixed: 1 1;
+ align: 0 0;
+ image { normal: IMG_ICON_CLOSE;}
+ }
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ image { normal: IMG_ICON_CLOSE_PRESS;
+ }
+ }
+ }
+
+ part { name: "text.title";
+ type: SWALLOW;
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 1;
+ //effect: SOFT_SHADOW BOTTOM_RIGHT;
+ description { state: "default" 0.0;
+ rel1 {relative:1 0; to: "icon.close"; offset: 6 0;}
+ rel2 { relative: 1 1; to: "title_area"; offset: -46 0; }
+ min: 0 40;
+ fixed: 0 1;
+ align: 0 0;
+ color: 255 255 255 255;
+ }
+ }
+
+ part { name: "icon.resize";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 1 0; to: "text.title"; offset: 6 0; }
+ rel2 { relative: 1 1; to: "title_area";}
+ min: 40 40;
+ fixed: 1 1;
+ align: 0 0;
+ image { normal: IMG_ICON_RESIZE;}
+ }
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ image { normal: IMG_ICON_RESIZE_PRESS;
+ }
+ }
+ }
+
+ part { name: "title_touch";
+ type: SWALLOW;
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 0; to: "bg"; offset: 60 17;}
+ rel2 { relative: 1 0; to: "bg"; offset: -60 57;}
+ min: 0 MULTI_WIN_TITLE_H;
+ visible: 1;
+ fixed: 1 1;
+ color: 0 0 0 0;
+ align: 0 0;
+ }
+ }
+
+ part { name: "title_bottom";
+ type: RECT;
+ scale: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 1; to: "title_area"; }
+ rel2 { relative: 1 1; to: "title_area";}
+ min: 0 10;
+ max: 0 10;
+ fixed: 0 1;
+ align: 0 0;
+ visible: 0;
+ }
+ }
+
+ part { name: "thumb_nail";
+ type: SWALLOW;
+ scale: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ visible:0;
+ }
+ }
+
+ part { name: "control_area";
+ type: RECT;
+ scale: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 1.0; to: "title_bottom"; }
+ rel2 { relative: 1.0 1.0; to: "bg"; offset: -19 -10; }
+ //min: 320 72;
+ max: 540 72;
+ align: 0.5 0.5;
+ visible: 0;
+ }
+ }
+
+ part { name: "albumart";
+ type: SWALLOW;
+ scale: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ }
+ description { state: "hide" 0.0;
+ visible: 0;
+ }
+ }
+
+ part { name: "event_box";
+ type: RECT;
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ rel1.to: "albumart";
+ rel2 { relative: 1 0; to: "control_area"; }
+ color: 0 0 0 0;
+ }
+ }
+
+ part { name: "rew_btn_bg";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 0; to: "control_area"; }
+ rel2 { relative: 0.33 1; to: "control_area"; offset: 4 0; }
+ //min: CONTROL_BT_LEFT CONTROL_BT_HIGH;
+ max: 164 72;
+ fixed: 1 1;
+ align: 0 0;
+ image { normal: IMG_BG_LEFT;
+ border: 36 2 0 0;
+ }
+ }
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ image { normal: IMG_BG_LEFT_PRESS;
+ border: 36 2 0 0;
+ }
+ }
+ }
+
+ part { name: "rew_btn";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ rel1.to: "rew_btn_bg";
+ rel2.to: "rew_btn_bg";
+ align: 0.5 0.5;
+ min: 40 40;
+ max: 40 40;
+ fixed: 1 1;
+ image { normal: IMG_ICON_REW;
+ }
+ }
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ image { normal: IMG_ICON_REW_PRESS;
+ }
+ }
+ }
+
+ part { name: "play_pause_btn_bg";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 1 0; to: "rew_btn_bg"; }
+ rel2 { relative: 0 1; to: "ff_btn_bg"; }
+ //min: CONTROL_BT_CENTER CONTROL_BT_HIGH;
+ max: 160 CONTROL_BT_HIGH;
+ fixed: 1 1;
+ align: 0 0;
+ image { normal: IMG_BG_CENTER;
+ border: 19 19 0 0;
+ }
+ }
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ image { normal: IMG_BG_CENTER_PRESS;
+ border: 19 19 0 0;
+ }
+ }
+ }
+
+ part { name: "play_default_btn";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ rel1.to: "play_pause_btn_bg";
+ rel2.to: "play_pause_btn_bg";
+ align: 0.5 0.5;
+ min: 40 40;
+ max: 40 40;
+ fixed: 1 1;
+ visible: 1;
+ image { normal: IMG_ICON_PLAY;
+ }
+ }
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ image { normal: IMG_ICON_PLAY_PRESS;
+ }
+ }
+ description { state: "hide" 0.0;
+ visible: 0;
+ }
+ }
+
+ part { name: "play_pause_btn";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ }
+
+ description { state: "hide" 0.0;
+ rel1.to: "play_pause_btn_bg";
+ rel2.to: "play_pause_btn_bg";
+ align: 0.5 0.5;
+ min: 40 40;
+ max: 40 40;
+ fixed: 1 1;
+ visible: 1;
+ image { normal: IMG_ICON_PAUSE;
+ }
+ }
+ description { state: "press" 0.0;
+ inherit: "hide" 0.0;
+ image { normal: IMG_ICON_PAUSE_PRESS;
+ }
+ }
+
+ }
+
+ part { name: "ff_btn_bg";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.66 0; to: "control_area"; offset: -4 0;}
+ rel2 { relative: 1 1; to: "control_area"; }
+ //min: CONTROL_BT_RIGHT CONTROL_BT_HIGH;
+ max: 164 CONTROL_BT_HIGH;
+ fixed: 1 1;
+ align: 0 0;
+ image { normal: IMG_BG_RIGHT;
+ border: 2 36 0 0;
+ }
+ }
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ image { normal: IMG_BG_RIGHT_PRESS;
+ border: 2 36 0 0;
+ }
+ }
+ }
+
+ part { name: "ff_btn";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ rel1.to: "ff_btn_bg";
+ rel2.to: "ff_btn_bg";
+ min: 40 40;
+ max: 40 40;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ image { normal: IMG_ICON_FF;
+ }
+ }
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ image { normal: IMG_ICON_FF_PRESS;
+ }
+ }
+ }
+
+ part { name: "bg_edit";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ }
+ description { state: "show" 0.0;
+ rel1 { relative: 0 0; }
+ rel2 { relative: 1 1;}
+ image { normal: IMG_MW_FRAME_EDIT;
+ border: 176 176 67 106;
+ }
+ visible: 1;
+ }
+ }
+
+ part { name: "size_bt";
+ type: RECT;
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ min: 36 36;
+ max: 36 36;
+ fixed: 1 1;
+ rel1 { relative: 1 1; to: "bg"; offset: -43 -46; }
+ rel2 { relative: 1 1; to: "bg"; }
+ //image { normal: IMG_ICON_RESIZE_BUTTON;}
+ color: 0 0 0 0;
+ }
+ }
+ }
+
+ programs {
+
+ program { name: "pgm_exit_btn_clicked";
+ signal: "mouse,clicked,1";
+ source: "icon.close";
+ action: SIGNAL_EMIT "sig_exit_btn_clicked" "edje";
+ }
+
+ program { name: "pgm_full_screen_up";
+ signal: "mouse,up,1";
+ source: "icon.resize";
+ action: SIGNAL_EMIT "sig_full_screen_up" "icon.resize";
+ }
+
+ program { name: "pgm_size_btn_down";
+ signal: "mouse,down,1";
+ source: "size_bt";
+ action: SIGNAL_EMIT "sig_size_bt_btn_down" "size_bt";
+ }
+
+ program { name: "pgm_size_btn_up";
+ signal: "mouse,up,1";
+ source: "size_bt";
+ action: SIGNAL_EMIT "sig_size_bt_btn_up" "size_bt";
+ }
+
+ program { name: "pgm_exit_btn_down";
+ signal: "mouse,down,1";
+ source: "icon.close";
+ action: STATE_SET "press" 0.0;
+ target: "icon.close";
+ }
+
+ program { name: "pgm_exit_btn_press";
+ signal: "mouse,up,1";
+ source: "icon.close";
+ action: STATE_SET "default" 0.0;
+ target: "icon.close";
+ }
+
+ program { name: "pgm_resize_btn_press";
+ signal: "mouse,down,1";
+ source: "icon.resize";
+ action: STATE_SET "press" 0.0;
+ target: "icon.resize";
+ }
+
+ program { name: "pgm_resize_btn_down";
+ signal: "mouse,up,1";
+ source: "icon.resize";
+ action: STATE_SET "default" 0.0;
+ target: "icon.resize";
+ }
+
+ program { name: "pgm_rew_down";
+ signal: "mouse,down,1";
+ source: "rew_btn";
+ action: SIGNAL_EMIT "sig_rew_btn_down" "rew_btn";
+ }
+
+ program { name: "pgm_rew_up";
+ signal: "mouse,up,1";
+ source: "rew_btn";
+ action: SIGNAL_EMIT "sig_rew_btn_up" "rew_btn";
+ }
+
+ program { name: "pgm_play_rew_down";
+ signal: "mouse,down,1";
+ source: "rew_btn";
+ action: STATE_SET "press" 0.0;
+ target: "rew_btn";
+ target: "rew_btn_bg";
+ }
+
+ program { name: "pgm_play_rew_up";
+ signal: "mouse,up,1";
+ source: "rew_btn";
+ action: STATE_SET "default" 0.0;
+ target: "rew_btn";
+ target: "rew_btn_bg";
+ }
+
+ program { name: "pgm_play_pause_clicked";
+ signal: "mouse,up,1";
+ source: "play_pause_btn_bg";
+ action: SIGNAL_EMIT "sig_play_pause_btn_clicked" "play_pause_btn_bg";
+ }
+
+ program { name: "pgm_play_default_down";
+ signal: "mouse,down,1";
+ source: "play_default_btn";
+ action: STATE_SET "press" 0.0;
+ target: "play_default_btn";
+ target: "play_pause_btn_bg";
+ }
+
+ program { name: "pgm_play_default_up";
+ signal: "mouse,up,1";
+ source: "play_pause_btn_bg";
+ action: STATE_SET "default" 0.0;
+ target: "play_pause_btn_bg";
+ }
+
+ program { name: "pgm_play_pause_down";
+ signal: "mouse,down,1";
+ source: "play_pause_btn";
+ action: STATE_SET "press" 0.0;
+ target: "play_pause_btn_bg";
+ target: "play_pause_btn";
+ }
+
+ program { name: "pgm_play_pause_up";
+ signal: "mouse,up,1";
+ source: "play_pause_btn_bg";
+ action: STATE_SET "default" 0.0;
+ target: "play_pause_btn_bg";
+ }
+
+ program { name: "pgm_ff_down";
+ signal: "mouse,down,1";
+ source: "ff_btn";
+ action: SIGNAL_EMIT "sig_ff_btn_down" "ff_btn";
+ }
+
+ program { name: "pgm_ff_up";
+ signal: "mouse,up,1";
+ source: "ff_btn";
+ action: SIGNAL_EMIT "sig_ff_btn_up" "ff_btn";
+ }
+
+ program { name: "pgm_play_ff_down";
+ signal: "mouse,down,1";
+ source: "ff_btn";
+ action: STATE_SET "press" 0.0;
+ target: "ff_btn";
+ target: "ff_btn_bg";
+ }
+
+ program { name: "pgm_play_ff_up";
+ signal: "mouse,up,1";
+ source: "ff_btn";
+ action: STATE_SET "default" 0.0;
+ target: "ff_btn";
+ target: "ff_btn_bg";
+ }
+
+ program { name: "set_pause_icon";
+ signal: "set_pause";
+ source: "*";
+ action: STATE_SET "default" 0.0;
+ target: "play_pause_btn";
+ target: "play_default_btn";
+ }
+
+ program { name: "set_play_icon";
+ signal: "set_play";
+ source: "*";
+ action: STATE_SET "hide" 0.0;
+ target: "play_pause_btn";
+ target: "play_default_btn";
+ }
+
+ program { name: "set_bg_edit_default";
+ signal: "bg_edit_hide";
+ source: "*";
+ action: STATE_SET "default" 0.0;
+ target: "bg_edit";
+ }
+
+ program { name: "set_bg_edit_show";
+ signal: "bg_edit_show";
+ source: "*";
+ action: STATE_SET "show" 0.0;
+ target: "bg_edit";
+ }
+ }
+}
+
+
+
+group { name: "mini-app-1";
+ images {
+ image: IMG_BG_CENTER COMP;
+ image: IMG_BG_CENTER_PRESS COMP;
+ image: IMG_BG_LEFT COMP;
+ image: IMG_BG_LEFT_PRESS COMP;
+ image: IMG_BG_RIGHT COMP;
+ image: IMG_BG_RIGHT_PRESS COMP;
+ image: IMG_ICON_FF COMP;
+ image: IMG_ICON_FF_DIM COMP;
+ image: IMG_ICON_FF_PRESS COMP;
+ image: IMG_ICON_PAUSE COMP;
+ image: IMG_ICON_PAUSE_DIM COMP;
+ image: IMG_ICON_PAUSE_PRESS COMP;
+ image: IMG_ICON_PLAY COMP;
+ image: IMG_ICON_PLAY_DIM COMP;
+ image: IMG_ICON_PLAY_PRESS COMP;
+ image: IMG_ICON_REW COMP;
+ image: IMG_ICON_REW_DIM COMP;
+ image: IMG_ICON_REW_PRESS COMP;
+ image: IMG_MW_FRAME COMP;
+ image: IMG_MW_FRAME_EDIT COMP;
+ image: IMG_ICON_CLOSE COMP;
+ image: IMG_ICON_CLOSE_PRESS COMP;
+ image: IMG_ICON_RESIZE COMP;
+ image: IMG_ICON_RESIZE_PRESS COMP;
+ }
+
+ parts {
+ part { name: "bg";
+ type: IMAGE;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 0; }
+ rel2 { relative: 1 1;}
+ image { normal: IMG_MW_FRAME;
+ border: 176 176 67 106;
+ }
+ }
+ }
+
+ part { name: "padding.inner.left";
+ type : SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 0; to: "bg"; }
+ rel2 { relative: 0 1; to: "bg"; }
+ min: 7 0;
+ max: 7 0;
+ fixed: 1 0;
+ align: 0 0;
+ }
+ }
+
+
+ part { name: "padding.inner.right";
+ type : SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 1 1; to: "bg"; offset: -7 0; }
+ rel2 { relative: 1 1; to: "bg"; offset: -7 0; }
+ min: 7 0;
+ max: 7 0;
+ fixed: 1 0;
+ align: 1 1;
+ }
+ }
+
+ part { name: "title_area";
+ type : SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 0; to: "bg"; offset: 19 17;}
+ rel2 { relative: 1 0; to: "bg"; offset: -19 57;}
+ min: 0 MULTI_WIN_TITLE_H;
+ fixed: 1 1;
+ align: 0 0;
+ }
+ }
+
+ part { name: "icon.close";
+ type: IMAGE;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 0; to: "title_area"; }
+ rel2 { relative: 1 1; to: "title_area"; }
+ min: 40 40;
+ max: 40 40;
+ fixed: 1 1;
+ align: 0 0;
+ image { normal: IMG_ICON_CLOSE;}
+ }
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ image { normal: IMG_ICON_CLOSE_PRESS;
+ }
+ }
+ }
+
+ part { name: "text.title";
+ type: SWALLOW;
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 1;
+ //effect: SOFT_SHADOW BOTTOM_RIGHT;
+ description { state: "default" 0.0;
+ rel1 {relative:1 0; to: "icon.close"; offset: 6 0;}
+ rel2 { relative: 1 1; to: "title_area"; offset: -46 0; }
+ min: 0 40;
+ fixed: 0 1;
+ align: 0 0;
+ color: 255 255 255 255;
+ }
+ }
+
+ part { name: "icon.resize";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 1 0; to: "text.title"; offset: 6 0; }
+ rel2 { relative: 1 1; to: "title_area";}
+ min: 40 40;
+ fixed: 1 1;
+ align: 0 0;
+ image { normal: IMG_ICON_RESIZE;}
+ }
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ image { normal: IMG_ICON_RESIZE_PRESS;
+ }
+ }
+ }
+
+ part { name: "title_touch";
+ type: SWALLOW;
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 0; to: "bg"; offset: 60 17;}
+ rel2 { relative: 1 0; to: "bg"; offset: -60 57;}
+ min: 0 MULTI_WIN_TITLE_H;
+ visible: 1;
+ fixed: 1 1;
+ color: 0 0 0 0;
+ align: 0 0;
+ }
+ }
+
+
+ part { name: "title_bottom";
+ type : SPACER;
+ scale: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 1; to: "title_area"; }
+ rel2 { relative: 1 1; to: "title_area";}
+ min: 0 10;
+ max: 0 10;
+ fixed: 0 1;
+ align: 0 0;
+ }
+ }
+
+ part { name: "thumb_nail";
+ type: SWALLOW;
+ scale: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ visible:0;
+ }
+ }
+
+ part { name: "control_area";
+ type: RECT;
+ scale: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 1.0; to: "title_bottom"; }
+ rel2 { relative: 1.0 1.0; to: "bg"; offset: 0 -10; }
+ //min: 488 72;
+ max: 488 72;
+ align: 0.5 0.5;
+ visible: 0;
+ }
+ }
+
+ part { name: "albumart";
+ type: SWALLOW;
+ scale: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ }
+ description { state: "hide" 0.0;
+ visible: 0;
+ }
+ }
+
+ part { name: "event_box";
+ type: RECT;
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ rel1.to: "albumart";
+ rel2 { relative: 1 0; to: "control_area"; }
+ color: 0 0 0 0;
+ }
+ }
+
+ part { name: "rew_btn_bg";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 0; to: "control_area"; }
+ rel2 { relative: 1 1; to: "control_area"; }
+ min: 164 CONTROL_BT_HIGH;
+ max: 164 CONTROL_BT_HIGH;
+ fixed: 1 1;
+ align: 0 0;
+ image { normal: IMG_BG_LEFT;
+ border: 36 2 0 0;
+ }
+ }
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ image { normal: IMG_BG_LEFT_PRESS;
+ border: 36 2 0 0;
+ }
+ }
+ }
+
+ part { name: "rew_btn";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ rel1.to: "rew_btn_bg";
+ rel2.to: "rew_btn_bg";
+ align: 0.5 0.5;
+ min: 40 40;
+ max: 40 40;
+ fixed: 1 1;
+ image { normal: IMG_ICON_REW;
+ }
+ }
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ image { normal: IMG_ICON_REW_PRESS;
+ }
+ }
+ }
+
+ part { name: "play_pause_btn_bg";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 1 0; to: "rew_btn_bg"; }
+ rel2 { relative: 1 1; to: "rew_btn_bg"; }
+ min: 160 CONTROL_BT_HIGH;
+ max: 160 CONTROL_BT_HIGH;
+ fixed: 1 1;
+ align: 0 0;
+ image { normal: IMG_BG_CENTER;
+ border: 19 19 0 0;
+ }
+ }
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ image { normal: IMG_BG_CENTER_PRESS;
+ border: 19 19 0 0;
+ }
+ }
+ }
+
+ part { name: "play_default_btn";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ rel1.to: "play_pause_btn_bg";
+ rel2.to: "play_pause_btn_bg";
+ align: 0.5 0.5;
+ min: 40 40;
+ max: 40 40;
+ fixed: 1 1;
+ visible: 1;
+ image { normal: IMG_ICON_PLAY;
+ }
+ }
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ image { normal: IMG_ICON_PLAY_PRESS;
+ }
+ }
+ description { state: "hide" 0.0;
+ visible: 0;
+ }
+ }
+
+ part { name: "play_pause_btn";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ }
+
+ description { state: "hide" 0.0;
+ rel1.to: "play_pause_btn_bg";
+ rel2.to: "play_pause_btn_bg";
+ align: 0.5 0.5;
+ min: 40 40;
+ max: 40 40;
+ fixed: 1 1;
+ visible: 1;
+ image { normal: IMG_ICON_PAUSE;
+ }
+ }
+ description { state: "press" 0.0;
+ inherit: "hide" 0.0;
+ image { normal: IMG_ICON_PAUSE_PRESS;
+ }
+ }
+
+ }
+
+ part { name: "ff_btn_bg";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 1 0; to: "play_pause_btn_bg"; }
+ rel2 { relative: 1 1; to: "play_pause_btn_bg"; }
+ min: 164 CONTROL_BT_HIGH;
+ max: 164 CONTROL_BT_HIGH;
+ fixed: 1 1;
+ align: 0 0;
+ image { normal: IMG_BG_RIGHT;
+ border: 2 36 0 0;
+ }
+ }
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ image { normal: IMG_BG_RIGHT_PRESS;
+ border: 2 36 0 0;
+ }
+ }
+ }
+
+ part { name: "ff_btn";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ rel1.to: "ff_btn_bg";
+ rel2.to: "ff_btn_bg";
+ min: 40 40;
+ max: 40 40;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ image { normal: IMG_ICON_FF;
+ }
+ }
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ image { normal: IMG_ICON_FF_PRESS;
+ }
+ }
+ }
+
+ part { name: "bg_edit";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ }
+ description { state: "show" 0.0;
+ rel1 { relative: 0 0; }
+ rel2 { relative: 1 1;}
+ image { normal: IMG_MW_FRAME_EDIT;
+ border: 176 176 67 106;
+ }
+ visible: 1;
+ }
+ }
+
+ part { name: "size_bt";
+ type: RECT;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ min: 36 36;
+ max: 36 36;
+ fixed: 1 1;
+ rel1 { relative: 1 1; to: "bg"; offset: -43 -46; }
+ rel2 { relative: 1 1; to: "bg"; }
+ //image { normal: IMG_ICON_RESIZE_BUTTON;}
+ color: 0 0 0 0;
+ }
+ }
+ }
+
+ programs {
+
+ program { name: "pgm_exit_btn_clicked";
+ signal: "mouse,clicked,1";
+ source: "icon.close";
+ action: SIGNAL_EMIT "sig_exit_btn_clicked" "edje";
+ }
+
+ program { name: "pgm_full_screen_up";
+ signal: "mouse,up,1";
+ source: "icon.resize";
+ action: SIGNAL_EMIT "sig_full_screen_up" "icon.resize";
+ }
+
+ program { name: "pgm_size_btn_down";
+ signal: "mouse,down,1";
+ source: "size_bt";
+ action: SIGNAL_EMIT "sig_size_bt_btn_down" "size_bt";
+ }
+
+ program { name: "pgm_size_btn_up";
+ signal: "mouse,up,1";
+ source: "size_bt";
+ action: SIGNAL_EMIT "sig_size_bt_btn_up" "size_bt";
+ }
+
+ program { name: "pgm_exit_btn_down";
+ signal: "mouse,down,1";
+ source: "icon.close";
+ action: STATE_SET "default" 0.0;
+ target: "icon.close";
+ }
+
+ program { name: "pgm_exit_btn_press";
+ signal: "mouse,down,1";
+ source: "icon.close";
+ action: STATE_SET "press" 0.0;
+ target: "icon.close";
+ }
+
+ program { name: "pgm_resize_btn_press";
+ signal: "mouse,down,1";
+ source: "icon.resize";
+ action: STATE_SET "press" 0.0;
+ target: "icon.resize";
+ }
+
+ program { name: "pgm_resize_btn_down";
+ signal: "mouse,down,1";
+ source: "icon.resize";
+ action: STATE_SET "default" 0.0;
+ target: "icon.resize";
+ }
+
+ program { name: "pgm_rew_down";
+ signal: "mouse,down,1";
+ source: "rew_btn";
+ action: SIGNAL_EMIT "sig_rew_btn_down" "rew_btn";
+ }
+
+ program { name: "pgm_rew_up";
+ signal: "mouse,up,1";
+ source: "rew_btn";
+ action: SIGNAL_EMIT "sig_rew_btn_up" "rew_btn";
+ }
+
+ program { name: "pgm_play_rew_down";
+ signal: "mouse,down,1";
+ source: "rew_btn";
+ action: STATE_SET "press" 0.0;
+ target: "rew_btn";
+ target: "rew_btn_bg";
+ }
+
+ program { name: "pgm_play_rew_up";
+ signal: "mouse,up,1";
+ source: "rew_btn";
+ action: STATE_SET "default" 0.0;
+ target: "rew_btn";
+ target: "rew_btn_bg";
+ }
+
+ program { name: "pgm_play_pause_clicked";
+ signal: "mouse,up,1";
+ source: "play_pause_btn_bg";
+ action: SIGNAL_EMIT "sig_play_pause_btn_clicked" "play_pause_btn_bg";
+ }
+
+ program { name: "pgm_play_default_down";
+ signal: "mouse,down,1";
+ source: "play_default_btn";
+ action: STATE_SET "press" 0.0;
+ target: "play_default_btn";
+ target: "play_pause_btn_bg";
+ }
+
+ program { name: "pgm_play_default_up";
+ signal: "mouse,up,1";
+ source: "play_pause_btn_bg";
+ action: STATE_SET "default" 0.0;
+ target: "play_pause_btn_bg";
+ }
+
+ program { name: "pgm_play_pause_down";
+ signal: "mouse,down,1";
+ source: "play_pause_btn";
+ action: STATE_SET "press" 0.0;
+ target: "play_pause_btn_bg";
+ target: "play_pause_btn";
+ }
+
+ program { name: "pgm_play_pause_up";
+ signal: "mouse,up,1";
+ source: "play_pause_btn_bg";
+ action: STATE_SET "default" 0.0;
+ target: "play_pause_btn_bg";
+ }
+
+ program { name: "pgm_ff_down";
+ signal: "mouse,down,1";
+ source: "ff_btn";
+ action: SIGNAL_EMIT "sig_ff_btn_down" "ff_btn";
+ }
+
+ program { name: "pgm_ff_up";
+ signal: "mouse,up,1";
+ source: "ff_btn";
+ action: SIGNAL_EMIT "sig_ff_btn_up" "ff_btn";
+ }
+
+ program { name: "pgm_play_ff_down";
+ signal: "mouse,down,1";
+ source: "ff_btn";
+ action: STATE_SET "press" 0.0;
+ target: "ff_btn";
+ target: "ff_btn_bg";
+ }
+
+ program { name: "pgm_play_ff_up";
+ signal: "mouse,up,1";
+ source: "ff_btn";
+ action: STATE_SET "default" 0.0;
+ target: "ff_btn";
+ target: "ff_btn_bg";
+ }
+
+ program { name: "set_pause_icon";
+ signal: "set_pause";
+ source: "*";
+ action: STATE_SET "default" 0.0;
+ target: "play_pause_btn";
+ target: "play_default_btn";
+ }
+
+ program { name: "set_bg_edit_default";
+ signal: "bg_edit_hide";
+ source: "*";
+ action: STATE_SET "default" 0.0;
+ target: "bg_edit";
+ }
+
+ program { name: "set_bg_edit_show";
+ signal: "bg_edit_show";
+ source: "*";
+ action: STATE_SET "show" 0.0;
+ target: "bg_edit";
+ }
+
+ program { name: "set_play_icon";
+ signal: "set_play";
+ source: "*";
+ action: STATE_SET "hide" 0.0;
+ target: "play_pause_btn";
+ target: "play_default_btn";
+ }
+ }
+}
+
+
+group { name: "mini-app-2";
+ images {
+ image: IMG_BG_CENTER COMP;
+ image: IMG_BG_CENTER_PRESS COMP;
+ image: IMG_BG_LEFT COMP;
+ image: IMG_BG_LEFT_PRESS COMP;
+ image: IMG_BG_RIGHT COMP;
+ image: IMG_BG_RIGHT_PRESS COMP;
+ image: IMG_ICON_FF COMP;
+ image: IMG_ICON_FF_DIM COMP;
+ image: IMG_ICON_FF_PRESS COMP;
+ image: IMG_ICON_PAUSE COMP;
+ image: IMG_ICON_PAUSE_DIM COMP;
+ image: IMG_ICON_PAUSE_PRESS COMP;
+ image: IMG_ICON_PLAY COMP;
+ image: IMG_ICON_PLAY_DIM COMP;
+ image: IMG_ICON_PLAY_PRESS COMP;
+ image: IMG_ICON_REW COMP;
+ image: IMG_ICON_REW_DIM COMP;
+ image: IMG_ICON_REW_PRESS COMP;
+ image: IMG_MW_FRAME COMP;
+ image: IMG_MW_FRAME_EDIT COMP;
+ image: IMG_ICON_CLOSE COMP;
+ image: IMG_ICON_CLOSE_PRESS COMP;
+ image: IMG_ICON_RESIZE COMP;
+ image: IMG_ICON_RESIZE_PRESS COMP;
+ }
+
+ parts {
+ part { name: "bg";
+ type: IMAGE;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 0; }
+ rel2 { relative: 1 1;}
+ image { normal: IMG_MW_FRAME;
+ border: 176 176 67 106;
+ }
+ }
+ }
+
+ part { name: "padding.inner.left";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 0; to: "bg"; }
+ rel2 { relative: 0 1; to: "bg"; }
+ min: 7 0;
+ max: 7 0;
+ fixed: 1 0;
+ align: 0 0;
+ visible: 0;
+ }
+ }
+
+
+ part { name: "padding.inner.right";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 1 1; to: "bg"; offset: -7 0; }
+ rel2 { relative: 1 1; to: "bg"; offset: -7 0; }
+ min: 7 0;
+ max: 7 0;
+ fixed: 1 0;
+ align: 1 1;
+ visible: 0;
+ }
+ }
+
+ part { name: "title_area";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 0; to: "bg"; offset: 19 17;}
+ rel2 { relative: 1 0; to: "bg"; offset: -19 57;}
+ min: 0 MULTI_WIN_TITLE_H;
+ visible: 0;
+ fixed: 1 1;
+ align: 0 0;
+ }
+ }
+
+ part { name: "icon.close";
+ type: IMAGE;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 0; to: "title_area"; }
+ rel2 { relative: 1 1; to: "title_area"; }
+ min: 40 40;
+ max: 40 40;
+ fixed: 1 1;
+ align: 0 0;
+ image { normal: IMG_ICON_CLOSE;}
+ }
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ image { normal: IMG_ICON_CLOSE_PRESS;
+ }
+ }
+ }
+
+ part { name: "text.title";
+ type: SWALLOW;
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 1;
+ //effect: SOFT_SHADOW BOTTOM_RIGHT;
+ description { state: "default" 0.0;
+ rel1 {relative:1 0; to: "icon.close"; offset: 6 0;}
+ rel2 { relative: 1 1; to: "title_area"; offset: -46 0; }
+ min: 0 40;
+ fixed: 0 1;
+ align: 0 0;
+ color: 255 255 255 255;
+ }
+ }
+
+ part { name: "icon.resize";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 1 0; to: "text.title"; offset: 6 0; }
+ rel2 { relative: 1 1; to: "title_area";}
+ min: 40 40;
+ fixed: 1 1;
+ align: 0 0;
+ image { normal: IMG_ICON_RESIZE;}
+ }
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ image { normal: IMG_ICON_RESIZE_PRESS;
+ }
+ }
+ }
+
+ part { name: "title_touch";
+ type: SWALLOW;
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 0; to: "bg"; offset: 60 17;}
+ rel2 { relative: 1 0; to: "bg"; offset: -60 57;}
+ min: 0 MULTI_WIN_TITLE_H;
+ visible: 1;
+ fixed: 1 1;
+ color: 0 0 0 0;
+ align: 0 0;
+ }
+ }
+
+
+ part { name: "title_bottom";
+ type: RECT;
+ scale: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 1; to: "title_area"; }
+ rel2 { relative: 1 1; to: "title_area";}
+ min: 0 10;
+ max: 0 10;
+ fixed: 0 1;
+ align: 0 0;
+ visible: 0;
+ }
+ }
+
+ part { name: "thumb_nail";
+ type: SWALLOW;
+ scale: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 42/720 0; to: "bg"; offset: 0 67;}
+ rel2 { relative: 132/170 1.0; to: "bg"; offset: 0 -10;}
+ min: 90 90;
+ max: 90 90;
+ fixed: 1 1;
+ align: 0 0.5;
+ visible: 1;
+ }
+ }
+
+ part { name: "control_area";
+ type: RECT;
+ scale: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 182/720 0.0; to: "bg"; offset: 0 67; }
+ rel2 { relative: 1.0 1.0; to: "bg"; offset: -50 -10; }
+ //min: 540 72;
+ max: 720 72;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ visible: 0;
+ }
+ }
+
+ part { name: "albumart";
+ type: SWALLOW;
+ scale: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ }
+ }
+
+/*
+ part { name: "text.artist";
+ type: TEXT;
+ scale: 1;
+ mouse_events: 0;
+ effect: SOFT_SHADOW BOTTOM_RIGHT;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 1; to: "text.title"; }
+ rel2 { relative: 1 1; to: "text_area"; }
+ min: 0 20;
+ fixed: 0 1;
+ align: 0 0;
+ text {
+ font: "SLP";
+ style: "Roman";
+ size: 20;
+ align: 0 0.5;
+ }
+ color: 255 255 255 255;
+ }
+ }
+*/
+ part { name: "event_box";
+ type: RECT;
+ scale: 1;
+ repeat_events: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ rel1.to: "albumart";
+ rel2 { relative: 1 0; to: "control_area"; }
+ color: 0 0 0 0;
+ }
+ }
+
+ part { name: "rew_btn_bg";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 0; to: "control_area"; }
+ rel2 { relative: 0.33 1; to: "control_area"; offset: 4 0; }
+ //min: 164 CONTROL_BT_HIGH;
+ max: 164 CONTROL_BT_HIGH;
+ fixed: 0 1;
+ align: 0 0;
+ image { normal: IMG_BG_LEFT;
+ border: 36 2 0 0;
+ }
+ }
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ image { normal: IMG_BG_LEFT_PRESS;
+ border: 36 2 0 0;
+ }
+ }
+ }
+
+ part { name: "rew_btn";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ rel1.to: "rew_btn_bg";
+ rel2.to: "rew_btn_bg";
+ align: 0.5 0.5;
+ min: 40 40;
+ max: 40 40;
+ fixed: 1 1;
+ image { normal: IMG_ICON_REW;
+ }
+ }
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ image { normal: IMG_ICON_REW_PRESS;
+ }
+ }
+ }
+
+ part { name: "play_pause_btn_bg";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 1 0; to: "rew_btn_bg"; }
+ rel2 { relative: 0 1; to: "ff_btn_bg"; }
+ //min: 160 CONTROL_BT_HIGH;
+ max: 160 CONTROL_BT_HIGH;
+ fixed: 0 1;
+ align: 0 0;
+ image { normal: IMG_BG_CENTER;
+ border: 19 19 0 0;
+ }
+ }
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ image { normal: IMG_BG_CENTER_PRESS;
+ border: 19 19 0 0;
+ }
+ }
+ }
+
+ part { name: "play_default_btn";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ rel1.to: "play_pause_btn_bg";
+ rel2.to: "play_pause_btn_bg";
+ align: 0.5 0.5;
+ min: 40 40;
+ max: 40 40;
+ fixed: 1 1;
+ visible: 1;
+ image { normal: IMG_ICON_PLAY;
+ }
+ }
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ image { normal: IMG_ICON_PLAY_PRESS;
+ }
+ }
+ description { state: "hide" 0.0;
+ visible: 0;
+ }
+ }
+
+ part { name: "play_pause_btn";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ }
+
+ description { state: "hide" 0.0;
+ rel1.to: "play_pause_btn_bg";
+ rel2.to: "play_pause_btn_bg";
+ align: 0.5 0.5;
+ min: 40 40;
+ max: 40 40;
+ fixed: 1 1;
+ visible: 1;
+ image { normal: IMG_ICON_PAUSE;
+ }
+ }
+ description { state: "press" 0.0;
+ inherit: "hide" 0.0;
+ image { normal: IMG_ICON_PAUSE_PRESS;
+ }
+ }
+
+ }
+
+ part { name: "ff_btn_bg";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.66 0; to: "control_area"; offset: -4 0;}
+ rel2 { relative: 1 1; to: "control_area"; }
+ //min: 164 CONTROL_BT_HIGH;
+ max: 164 CONTROL_BT_HIGH;
+ fixed: 0 1;
+ align: 0 0;
+ image { normal: IMG_BG_RIGHT;
+ border: 2 36 0 0;
+ }
+ }
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ image { normal: IMG_BG_RIGHT_PRESS;
+ border: 2 36 0 0;
+ }
+ }
+ }
+
+ part { name: "ff_btn";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ rel1.to: "ff_btn_bg";
+ rel2.to: "ff_btn_bg";
+ min: 40 40;
+ max: 40 40;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ image { normal: IMG_ICON_FF;
+ }
+ }
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ image { normal: IMG_ICON_FF_PRESS;
+ }
+ }
+ }
+
+ part { name: "bg_edit";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ }
+ description { state: "show" 0.0;
+ rel1 { relative: 0 0; }
+ rel2 { relative: 1 1;}
+ image { normal: IMG_MW_FRAME_EDIT;
+ border: 176 176 67 106;
+ }
+ visible: 1;
+ }
+ }
+
+ part { name: "size_bt";
+ type: RECT;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ min: 36 36;
+ max: 36 36;
+ fixed: 1 1;
+ rel1 { relative: 1 1; to: "bg"; offset: -43 -46; }
+ rel2 { relative: 1 1; to: "bg"; }
+ //image { normal: IMG_ICON_RESIZE_BUTTON;}
+ color: 0 0 0 0;
+ }
+ }
+ }
+
+ programs {
+
+ program { name: "pgm_exit_btn_clicked";
+ signal: "mouse,clicked,1";
+ source: "icon.close";
+ action: SIGNAL_EMIT "sig_exit_btn_clicked" "edje";
+ }
+
+ program { name: "pgm_full_screen_up";
+ signal: "mouse,up,1";
+ source: "icon.resize";
+ action: SIGNAL_EMIT "sig_full_screen_up" "icon.resize";
+ }
+
+ program { name: "pgm_size_btn_down";
+ signal: "mouse,down,1";
+ source: "size_bt";
+ action: SIGNAL_EMIT "sig_size_bt_btn_down" "size_bt";
+ }
+
+ program { name: "pgm_size_btn_up";
+ signal: "mouse,up,1";
+ source: "size_bt";
+ action: SIGNAL_EMIT "sig_size_bt_btn_up" "size_bt";
+ }
+
+ program { name: "pgm_exit_btn_down";
+ signal: "mouse,down,1";
+ source: "icon.close";
+ action: STATE_SET "default" 0.0;
+ target: "icon.close";
+ }
+
+ program { name: "pgm_exit_btn_press";
+ signal: "mouse,down,1";
+ source: "icon.close";
+ action: STATE_SET "press" 0.0;
+ target: "icon.close";
+ }
+
+ program { name: "pgm_resize_btn_press";
+ signal: "mouse,down,1";
+ source: "icon.resize";
+ action: STATE_SET "press" 0.0;
+ target: "icon.resize";
+ }
+
+ program { name: "pgm_resize_btn_down";
+ signal: "mouse,down,1";
+ source: "icon.resize";
+ action: STATE_SET "default" 0.0;
+ target: "icon.resize";
+ }
+
+ program { name: "pgm_rew_down";
+ signal: "mouse,down,1";
+ source: "rew_btn";
+ action: SIGNAL_EMIT "sig_rew_btn_down" "rew_btn";
+ }
+
+ program { name: "pgm_rew_up";
+ signal: "mouse,up,1";
+ source: "rew_btn";
+ action: SIGNAL_EMIT "sig_rew_btn_up" "rew_btn";
+ }
+
+ program { name: "pgm_play_rew_down";
+ signal: "mouse,down,1";
+ source: "rew_btn";
+ action: STATE_SET "press" 0.0;
+ target: "rew_btn";
+ target: "rew_btn_bg";
+ }
+
+ program { name: "pgm_play_rew_up";
+ signal: "mouse,up,1";
+ source: "rew_btn";
+ action: STATE_SET "default" 0.0;
+ target: "rew_btn";
+ target: "rew_btn_bg";
+ }
+
+ program { name: "pgm_play_pause_clicked";
+ signal: "mouse,up,1";
+ source: "play_pause_btn_bg";
+ action: SIGNAL_EMIT "sig_play_pause_btn_clicked" "play_pause_btn_bg";
+ }
+
+ program { name: "pgm_play_default_down";
+ signal: "mouse,down,1";
+ source: "play_default_btn";
+ action: STATE_SET "press" 0.0;
+ target: "play_default_btn";
+ target: "play_pause_btn_bg";
+ }
+
+ program { name: "pgm_play_default_up";
+ signal: "mouse,up,1";
+ source: "play_pause_btn_bg";
+ action: STATE_SET "default" 0.0;
+ target: "play_pause_btn_bg";
+ }
+
+ program { name: "pgm_play_pause_down";
+ signal: "mouse,down,1";
+ source: "play_pause_btn";
+ action: STATE_SET "press" 0.0;
+ target: "play_pause_btn_bg";
+ target: "play_pause_btn";
+ }
+
+ program { name: "pgm_play_pause_up";
+ signal: "mouse,up,1";
+ source: "play_pause_btn_bg";
+ action: STATE_SET "default" 0.0;
+ target: "play_pause_btn_bg";
+ }
+
+ program { name: "pgm_ff_down";
+ signal: "mouse,down,1";
+ source: "ff_btn";
+ action: SIGNAL_EMIT "sig_ff_btn_down" "ff_btn";
+ }
+
+ program { name: "pgm_ff_up";
+ signal: "mouse,up,1";
+ source: "ff_btn";
+ action: SIGNAL_EMIT "sig_ff_btn_up" "ff_btn";
+ }
+
+ program { name: "pgm_play_ff_down";
+ signal: "mouse,down,1";
+ source: "ff_btn";
+ action: STATE_SET "press" 0.0;
+ target: "ff_btn";
+ target: "ff_btn_bg";
+ }
+
+ program { name: "pgm_play_ff_up";
+ signal: "mouse,up,1";
+ source: "ff_btn";
+ action: STATE_SET "default" 0.0;
+ target: "ff_btn";
+ target: "ff_btn_bg";
+ }
+
+ program { name: "set_pause_icon";
+ signal: "set_pause";
+ source: "*";
+ action: STATE_SET "default" 0.0;
+ target: "play_pause_btn";
+ target: "play_default_btn";
+ }
+
+ program { name: "set_bg_edit_default";
+ signal: "bg_edit_hide";
+ source: "*";
+ action: STATE_SET "default" 0.0;
+ target: "bg_edit";
+ }
+
+ program { name: "set_bg_edit_show";
+ signal: "bg_edit_show";
+ source: "*";
+ action: STATE_SET "show" 0.0;
+ target: "bg_edit";
+ }
+
+ program { name: "set_play_icon";
+ signal: "set_play";
+ source: "*";
+ action: STATE_SET "hide" 0.0;
+ target: "play_pause_btn";
+ target: "play_default_btn";
+ }
+ }
+}
+
+
+
+group { name: "mini-app-3";
+ images {
+ image: IMG_BG_CENTER COMP;
+ image: IMG_BG_CENTER_PRESS COMP;
+ image: IMG_BG_LEFT COMP;
+ image: IMG_BG_LEFT_PRESS COMP;
+ image: IMG_BG_RIGHT COMP;
+ image: IMG_BG_RIGHT_PRESS COMP;
+ image: IMG_ICON_FF COMP;
+ image: IMG_ICON_FF_DIM COMP;
+ image: IMG_ICON_FF_PRESS COMP;
+ image: IMG_ICON_PAUSE COMP;
+ image: IMG_ICON_PAUSE_DIM COMP;
+ image: IMG_ICON_PAUSE_PRESS COMP;
+ image: IMG_ICON_PLAY COMP;
+ image: IMG_ICON_PLAY_DIM COMP;
+ image: IMG_ICON_PLAY_PRESS COMP;
+ image: IMG_ICON_REW COMP;
+ image: IMG_ICON_REW_DIM COMP;
+ image: IMG_ICON_REW_PRESS COMP;
+ image: IMG_MW_FRAME COMP;
+ image: IMG_MW_FRAME_EDIT COMP;
+ image: IMG_ICON_CLOSE COMP;
+ image: IMG_ICON_CLOSE_PRESS COMP;
+ image: IMG_ICON_RESIZE COMP;
+ image: IMG_ICON_RESIZE_PRESS COMP;
+ }
+
+ parts {
+ part { name: "bg";
+ type: IMAGE;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 0; }
+ rel2 { relative: 1 1;}
+ image { normal: IMG_MW_FRAME;
+ border: 176 176 67 106;
+ }
+ }
+ }
+
+ part { name: "padding.inner.left";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 0; to: "bg"; }
+ rel2 { relative: 0 1; to: "bg"; }
+ min: 7 0;
+ max: 7 0;
+ fixed: 1 0;
+ align: 0 0;
+ visible: 0;
+ }
+ }
+
+
+ part { name: "padding.inner.right";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 1 1; to: "bg"; offset: -7 0; }
+ rel2 { relative: 1 1; to: "bg"; offset: -7 0; }
+ min: 7 0;
+ max: 7 0;
+ fixed: 1 0;
+ align: 1 1;
+ visible: 0;
+ }
+ }
+
+ part { name: "title_area";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 0; to: "bg"; offset: 19 17;}
+ rel2 { relative: 1 0; to: "bg"; offset: -19 57;}
+ min: 0 MULTI_WIN_TITLE_H;
+ visible: 0;
+ fixed: 1 1;
+ align: 0 0;
+ }
+ }
+
+ part { name: "icon.close";
+ type: IMAGE;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 0; to: "title_area"; }
+ rel2 { relative: 1 1; to: "title_area"; }
+ min: 40 40;
+ max: 40 40;
+ fixed: 1 1;
+ align: 0 0;
+ image { normal: IMG_ICON_CLOSE;}
+ }
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ image { normal: IMG_ICON_CLOSE_PRESS;
+ }
+ }
+ }
+
+ part { name: "text.title";
+ type: SWALLOW;
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 1;
+ //effect: SOFT_SHADOW BOTTOM_RIGHT;
+ description { state: "default" 0.0;
+ rel1 {relative:1 0; to: "icon.close"; offset: 6 0;}
+ rel2 { relative: 1 1; to: "title_area"; offset: -46 0; }
+ min: 0 40;
+ fixed: 0 1;
+ align: 0 0;
+ color: 255 255 255 255;
+ }
+ }
+
+ part { name: "icon.resize";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 1 0; to: "text.title"; offset: 6 0; }
+ rel2 { relative: 1 1; to: "title_area";}
+ min: 40 40;
+ fixed: 1 1;
+ align: 0 0;
+ image { normal: IMG_ICON_RESIZE;}
+ }
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ image { normal: IMG_ICON_RESIZE_PRESS;
+ }
+ }
+ }
+
+ part { name: "title_touch";
+ type: SWALLOW;
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 0; to: "bg"; offset: 60 17;}
+ rel2 { relative: 1 0; to: "bg"; offset: -60 57;}
+ min: 0 MULTI_WIN_TITLE_H;
+ visible: 1;
+ fixed: 1 1;
+ color: 0 0 0 0;
+ align: 0 0;
+ }
+ }
+
+
+ part { name: "title_bottom";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 1; to: "title_area"; }
+ rel2 { relative: 1 1; to: "title_area";}
+ min: 0 10;
+ max: 0 10;
+ fixed: 0 1;
+ align: 0 0;
+ visible: 0;
+ }
+ }
+
+ part { name: "thumb_nail";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible:0;
+ }
+ }
+
+ part { name: "control_area";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 1; to, "bg"; offset: 0 -100; }
+ rel2 { relative: 1.0 1.0; to, "bg"; offset: 0 -10; }
+ min: 320 72;
+ max: 320 72;
+ align: 0.5 0.5;
+ fixed: 1 1;
+ visible: 0;
+ }
+ }
+
+ part { name: "albumart_bg";
+ type: RECT;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 1;
+ to_y: "title_bottom"; offset: 7 0;}
+ rel2 { relative: 1 1;
+ to: "bg"; offset: -8 -110;}
+ min: 0 0;
+ max: 720 99999;
+ fixed: 0 0;
+ align: 0.5 0.5;
+ visible: 0;
+ }
+ }
+
+ part { name: "albumart";
+ type: SWALLOW;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 0;
+ to: "albumart_bg";}
+ rel2 { relative: 1 1;
+ to: "albumart_bg";}
+ align: 0.5 0.5;
+ visible: 1;
+ }
+ }
+
+/*
+ part { name: "text.artist";
+ type: TEXT;
+ scale: 1;
+ mouse_events: 0;
+ effect: SOFT_SHADOW BOTTOM_RIGHT;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 1; to: "text.title"; }
+ rel2 { relative: 1 1; to: "text_area"; }
+ min: 0 20;
+ fixed: 0 1;
+ align: 0 0;
+ text {
+ font: "SLP";
+ style: "Roman";
+ size: 20;
+ align: 0 0.5;
+ }
+ color: 255 255 255 255;
+ }
+ }
+*/
+
+ part { name: "rew_btn_bg";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 0; to: "control_area"; }
+ rel2 { relative: 1 1; to: "control_area"; }
+ min: CONTROL_BT_LEFT CONTROL_BT_HIGH;
+ max: CONTROL_BT_LEFT CONTROL_BT_HIGH;
+ fixed: 1 1;
+ align: 0 0;
+ image { normal: IMG_BG_LEFT;
+ border: 36 2 0 0;
+ }
+ }
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ image { normal: IMG_BG_LEFT_PRESS;
+ border: 36 2 0 0;
+ }
+ }
+ }
+
+ part { name: "rew_btn";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ rel1.to: "rew_btn_bg";
+ rel2.to: "rew_btn_bg";
+ align: 0.5 0.5;
+ min: 40 40;
+ max: 40 40;
+ fixed: 1 1;
+ image { normal: IMG_ICON_REW;
+ }
+ }
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ image { normal: IMG_ICON_REW_PRESS;
+ }
+ }
+ }
+
+ part { name: "play_pause_btn_bg";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 1 0; to: "rew_btn_bg"; }
+ rel2 { relative: 1 1; to: "rew_btn_bg"; }
+ min: CONTROL_BT_CENTER CONTROL_BT_HIGH;
+ max: CONTROL_BT_CENTER CONTROL_BT_HIGH;
+ fixed: 1 1;
+ align: 0 0;
+ image { normal: IMG_BG_CENTER;
+ border: 19 19 0 0;
+ }
+ }
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ image { normal: IMG_BG_CENTER_PRESS;
+ border: 19 19 0 0;
+ }
+ }
+ }
+
+ part { name: "play_default_btn";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ rel1.to: "play_pause_btn_bg";
+ rel2.to: "play_pause_btn_bg";
+ align: 0.5 0.5;
+ min: 40 40;
+ max: 40 40;
+ fixed: 1 1;
+ visible: 1;
+ image { normal: IMG_ICON_PLAY;
+ }
+ }
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ image { normal: IMG_ICON_PLAY_PRESS;
+ }
+ }
+ description { state: "hide" 0.0;
+ visible: 0;
+ }
+ }
+
+ part { name: "play_pause_btn";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ }
+
+ description { state: "hide" 0.0;
+ rel1.to: "play_pause_btn_bg";
+ rel2.to: "play_pause_btn_bg";
+ align: 0.5 0.5;
+ min: 40 40;
+ max: 40 40;
+ fixed: 1 1;
+ visible: 1;
+ image { normal: IMG_ICON_PAUSE;
+ }
+ }
+ description { state: "press" 0.0;
+ inherit: "hide" 0.0;
+ image { normal: IMG_ICON_PAUSE_PRESS;
+ }
+ }
+
+ }
+
+ part { name: "ff_btn_bg";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 1 0; to: "play_pause_btn_bg"; }
+ rel2 { relative: 1 1; to: "play_pause_btn_bg"; }
+ min: CONTROL_BT_LEFT CONTROL_BT_HIGH;
+ max: CONTROL_BT_LEFT CONTROL_BT_HIGH;
+ fixed: 1 1;
+ align: 0 0;
+ image { normal: IMG_BG_RIGHT;
+ border: 2 36 0 0;
+ }
+ }
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ image { normal: IMG_BG_RIGHT_PRESS;
+ border: 2 36 0 0;
+ }
+ }
+ }
+
+ part { name: "ff_btn";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ rel1.to: "ff_btn_bg";
+ rel2.to: "ff_btn_bg";
+ min: 40 40;
+ max: 40 40;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ image { normal: IMG_ICON_FF;
+ }
+ }
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ image { normal: IMG_ICON_FF_PRESS;
+ }
+ }
+ }
+
+ part { name: "event_box";
+ type: SWALLOW;
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ rel1.to: "albumart";
+ rel2.to: "albumart";
+ }
+ }
+
+ part { name: "bg_edit";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ }
+ description { state: "show" 0.0;
+ rel1 { relative: 0 0; }
+ rel2 { relative: 1 1;}
+ image { normal: IMG_MW_FRAME_EDIT;
+ border: 176 176 67 106;
+ }
+ visible: 1;
+ }
+ }
+
+ part { name: "size_bt";
+ type: RECT;
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ min: 36 36;
+ max: 36 36;
+ fixed: 1 1;
+ rel1 { relative: 1 1; to: "bg"; offset: -43 -46; }
+ rel2 { relative: 1 1; to: "bg"; }
+ //image { normal: IMG_ICON_RESIZE_BUTTON;}
+ color: 0 0 0 0;
+ }
+ }
+ }
+
+ programs {
+
+ program { name: "pgm_exit_btn_clicked";
+ signal: "mouse,clicked,1";
+ source: "icon.close";
+ action: SIGNAL_EMIT "sig_exit_btn_clicked" "edje";
+ }
+
+ program { name: "pgm_full_screen_up";
+ signal: "mouse,up,1";
+ source: "icon.resize";
+ action: SIGNAL_EMIT "sig_full_screen_up" "icon.resize";
+ }
+
+ program { name: "pgm_size_btn_down";
+ signal: "mouse,down,1";
+ source: "size_bt";
+ action: SIGNAL_EMIT "sig_size_bt_btn_down" "size_bt";
+ }
+
+ program { name: "pgm_size_btn_up";
+ signal: "mouse,up,1";
+ source: "size_bt";
+ action: SIGNAL_EMIT "sig_size_bt_btn_up" "size_bt";
+ }
+
+ program { name: "pgm_exit_btn_down";
+ signal: "mouse,down,1";
+ source: "icon.close";
+ action: STATE_SET "default" 0.0;
+ target: "icon.close";
+ }
+
+ program { name: "pgm_exit_btn_press";
+ signal: "mouse,down,1";
+ source: "icon.close";
+ action: STATE_SET "press" 0.0;
+ target: "icon.close";
+ }
+
+ program { name: "pgm_resize_btn_press";
+ signal: "mouse,down,1";
+ source: "icon.resize";
+ action: STATE_SET "press" 0.0;
+ target: "icon.resize";
+ }
+
+ program { name: "pgm_resize_btn_down";
+ signal: "mouse,down,1";
+ source: "icon.resize";
+ action: STATE_SET "default" 0.0;
+ target: "icon.resize";
+ }
+
+ program { name: "pgm_rew_down";
+ signal: "mouse,down,1";
+ source: "rew_btn";
+ action: SIGNAL_EMIT "sig_rew_btn_down" "rew_btn";
+ }
+
+ program { name: "pgm_rew_up";
+ signal: "mouse,up,1";
+ source: "rew_btn";
+ action: SIGNAL_EMIT "sig_rew_btn_up" "rew_btn";
+ }
+
+ program { name: "pgm_play_rew_down";
+ signal: "mouse,down,1";
+ source: "rew_btn";
+ action: STATE_SET "press" 0.0;
+ target: "rew_btn";
+ target: "rew_btn_bg";
+ }
+
+ program { name: "pgm_play_rew_up";
+ signal: "mouse,up,1";
+ source: "rew_btn";
+ action: STATE_SET "default" 0.0;
+ target: "rew_btn";
+ target: "rew_btn_bg";
+ }
+
+ program { name: "pgm_play_pause_clicked";
+ signal: "mouse,up,1";
+ source: "play_pause_btn_bg";
+ action: SIGNAL_EMIT "sig_play_pause_btn_clicked" "play_pause_btn_bg";
+ }
+
+ program { name: "pgm_play_default_down";
+ signal: "mouse,down,1";
+ source: "play_default_btn";
+ action: STATE_SET "press" 0.0;
+ target: "play_default_btn";
+ target: "play_pause_btn_bg";
+ }
+
+ program { name: "pgm_play_default_up";
+ signal: "mouse,up,1";
+ source: "play_pause_btn_bg";
+ action: STATE_SET "default" 0.0;
+ target: "play_pause_btn_bg";
+ }
+
+ program { name: "pgm_play_pause_down";
+ signal: "mouse,down,1";
+ source: "play_pause_btn";
+ action: STATE_SET "press" 0.0;
+ target: "play_pause_btn_bg";
+ target: "play_pause_btn";
+ }
+
+ program { name: "pgm_play_pause_up";
+ signal: "mouse,up,1";
+ source: "play_pause_btn_bg";
+ action: STATE_SET "default" 0.0;
+ target: "play_pause_btn_bg";
+ }
+
+ program { name: "pgm_ff_down";
+ signal: "mouse,down,1";
+ source: "ff_btn";
+ action: SIGNAL_EMIT "sig_ff_btn_down" "ff_btn";
+ }
+
+ program { name: "pgm_ff_up";
+ signal: "mouse,up,1";
+ source: "ff_btn";
+ action: SIGNAL_EMIT "sig_ff_btn_up" "ff_btn";
+ }
+
+ program { name: "pgm_play_ff_down";
+ signal: "mouse,down,1";
+ source: "ff_btn";
+ action: STATE_SET "press" 0.0;
+ target: "ff_btn";
+ target: "ff_btn_bg";
+ }
+
+ program { name: "pgm_play_ff_up";
+ signal: "mouse,up,1";
+ source: "ff_btn";
+ action: STATE_SET "default" 0.0;
+ target: "ff_btn";
+ target: "ff_btn_bg";
+ }
+
+ program { name: "set_pause_icon";
+ signal: "set_pause";
+ source: "*";
+ action: STATE_SET "default" 0.0;
+ target: "play_pause_btn";
+ target: "play_default_btn";
+ }
+
+ program { name: "set_bg_edit_default";
+ signal: "bg_edit_hide";
+ source: "*";
+ action: STATE_SET "default" 0.0;
+ target: "bg_edit";
+ }
+
+ program { name: "set_bg_edit_show";
+ signal: "bg_edit_show";
+ source: "*";
+ action: STATE_SET "show" 0.0;
+ target: "bg_edit";
+ }
+
+ program { name: "set_play_icon";
+ signal: "set_play";
+ source: "*";
+ action: STATE_SET "hide" 0.0;
+ target: "play_pause_btn";
+ target: "play_default_btn";
+ }
+
+ }
+}
+
+
+
+group { name: "mini-app-4";
+ images {
+ image: IMG_BG_CENTER COMP;
+ image: IMG_BG_CENTER_PRESS COMP;
+ image: IMG_BG_LEFT COMP;
+ image: IMG_BG_LEFT_PRESS COMP;
+ image: IMG_BG_RIGHT COMP;
+ image: IMG_BG_RIGHT_PRESS COMP;
+ image: IMG_ICON_FF COMP;
+ image: IMG_ICON_FF_DIM COMP;
+ image: IMG_ICON_FF_PRESS COMP;
+ image: IMG_ICON_PAUSE COMP;
+ image: IMG_ICON_PAUSE_DIM COMP;
+ image: IMG_ICON_PAUSE_PRESS COMP;
+ image: IMG_ICON_PLAY COMP;
+ image: IMG_ICON_PLAY_DIM COMP;
+ image: IMG_ICON_PLAY_PRESS COMP;
+ image: IMG_ICON_REW COMP;
+ image: IMG_ICON_REW_DIM COMP;
+ image: IMG_ICON_REW_PRESS COMP;
+ image: IMG_MW_FRAME COMP;
+ image: IMG_MW_FRAME_EDIT COMP;
+ image: IMG_ICON_CLOSE COMP;
+ image: IMG_ICON_CLOSE_PRESS COMP;
+ image: IMG_ICON_RESIZE COMP;
+ image: IMG_ICON_RESIZE_PRESS COMP;
+ }
+
+ parts {
+ part { name: "bg";
+ type: IMAGE;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 0; }
+ rel2 { relative: 1 1;}
+ image { normal: IMG_MW_FRAME;
+ border: 176 176 67 106;
+ }
+ }
+ }
+
+ part { name: "padding.inner.left";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 0; to: "bg"; }
+ rel2 { relative: 0 1; to: "bg"; }
+ min: 7 0;
+ max: 7 0;
+ fixed: 1 0;
+ align: 0 0;
+ visible: 0;
+ }
+ }
+
+
+ part { name: "padding.inner.right";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 1 1; to: "bg"; offset: -7 0; }
+ rel2 { relative: 1 1; to: "bg"; offset: -7 0; }
+ min: 7 0;
+ max: 7 0;
+ fixed: 1 0;
+ align: 1 1;
+ visible: 0;
+ }
+ }
+
+ part { name: "title_area";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 0; to: "bg"; offset: 19 17;}
+ rel2 { relative: 1 0; to: "bg"; offset: -19 57;}
+ min: 0 MULTI_WIN_TITLE_H;
+ visible: 0;
+ fixed: 1 1;
+ align: 0 0;
+ }
+ }
+
+ part { name: "icon.close";
+ type: IMAGE;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 0; to: "title_area"; }
+ rel2 { relative: 1 1; to: "title_area"; }
+ min: 40 40;
+ max: 40 40;
+ fixed: 1 1;
+ align: 0 0;
+ image { normal: IMG_ICON_CLOSE;}
+ }
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ image { normal: IMG_ICON_CLOSE_PRESS;
+ }
+ }
+ }
+
+ part { name: "text.title";
+ type: SWALLOW;
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 1;
+ //effect: SOFT_SHADOW BOTTOM_RIGHT;
+ description { state: "default" 0.0;
+ rel1 {relative:1 0; to: "icon.close"; offset: 6 0;}
+ rel2 { relative: 1 1; to: "title_area"; offset: -46 0; }
+ min: 0 40;
+ fixed: 0 1;
+ align: 0 0;
+ }
+ }
+
+ part { name: "icon.resize";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 1 0; to: "text.title"; offset: 6 0; }
+ rel2 { relative: 1 1; to: "title_area";}
+ min: 40 40;
+ fixed: 1 1;
+ align: 0 0;
+ image { normal: IMG_ICON_RESIZE;}
+ }
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ image { normal: IMG_ICON_RESIZE_PRESS;
+ }
+ }
+ }
+
+ part { name: "title_touch";
+ type: SWALLOW;
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 0; to: "bg"; offset: 60 17;}
+ rel2 { relative: 1 0; to: "bg"; offset: -60 57;}
+ min: 0 MULTI_WIN_TITLE_H;
+ visible: 1;
+ fixed: 1 1;
+ color: 0 0 0 0;
+ align: 0 0;
+ }
+ }
+
+
+ part { name: "title_bottom";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 1; to: "title_area"; }
+ rel2 { relative: 1 1; to: "title_area";}
+ min: 0 10;
+ max: 0 10;
+ fixed: 0 1;
+ align: 0 0;
+ visible: 0;
+ }
+ }
+
+ part { name: "thumb_nail";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible:0;
+ }
+ }
+
+ part { name: "albumart";
+ type: SWALLOW;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 1 ;
+ to_y: "title_bottom"; offset: 7 0;}
+ rel2 { relative: 1 1; to: "bg"; offset: -8 -110; }
+ //min: 706 546;
+ max: 720 723;
+ //fixed: 1 1;
+ align: 0 0;
+ visible: 1;
+ }
+ }
+
+
+ part {
+ name: "lrc_area";
+ mouse_events: 1;
+ repeat_events: 1;
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0 0;
+ visible: 1;
+ rel1 {
+ relative: 0 0;
+ to: "albumart";
+ }
+ rel2 {
+ relative: 1 1;
+ to: "albumart";
+ }
+ color: 0 0 0 0;
+ }
+ description {
+ state: "hide" 0.0;
+ visible: 0;
+ }
+ }
+ part {
+ name: "lrc_bg";
+ mouse_events: 1;
+ repeat_events: 1;
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0 0;
+ visible: 0;
+ rel1 {
+ relative: 0 0;
+ to: "lrc_area";
+ }
+ rel2 {
+ relative: 1 1;
+ to: "lrc_area";
+ }
+ color: 248 246 239 204;
+ }
+ description { state: "show" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+
+ part {
+ name: "lrc";
+ type: SWALLOW;
+ mouse_events: 1;
+ repeat_events: 1;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ rel1 {
+ relative: 0 0;
+ to: "lrc_bg";
+ }
+ rel2 {
+ relative: 1 1;
+ to: "lrc_bg";
+ }
+ }
+ description { state: "show" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+
+
+ part { name: "control_area";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 1; to: "albumart"; offset: -7 0; }
+ rel2 { relative: 1.0 1; to: "bg"; offset: 0 -10; }
+ min: 488 72;
+ max: 488 72;
+ align: 0.5 0.5;
+ fixed: 1 1;
+ color: 0 0 0 0;
+ visible: 1;
+ }
+ }
+
+/*
+ part { name: "text.artist";
+ type: TEXT;
+ scale: 1;
+ mouse_events: 1;
+ effect: SOFT_SHADOW BOTTOM_RIGHT;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 1; to: "text.title"; }
+ rel2 { relative: 1 1; to: "text_area"; }
+ min: 0 20;
+ fixed: 0 1;
+ align: 0 0;
+ text {
+ font: "SLP";
+ style: "Roman";
+ size: 20;
+ align: 0 0.5;
+ }
+ color: 255 255 255 255;
+ }
+ }
+*/
+
+
+ part { name: "rew_btn_bg";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 0; to: "control_area"; }
+ rel2 { relative: 1 1; to: "control_area"; }
+ min: 164 CONTROL_BT_HIGH;
+ max: 164 CONTROL_BT_HIGH;
+ fixed: 1 1;
+ align: 0 0;
+ image { normal: IMG_BG_LEFT;
+ border: 36 2 0 0;
+ }
+ }
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ image { normal: IMG_BG_LEFT_PRESS;
+ border: 36 2 0 0;
+ }
+ }
+ }
+
+ part { name: "rew_btn";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ rel1.to: "rew_btn_bg";
+ rel2.to: "rew_btn_bg";
+ align: 0.5 0.5;
+ min: 40 40;
+ max: 40 40;
+ fixed: 1 1;
+ image { normal: IMG_ICON_REW;
+ }
+ }
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ image { normal: IMG_ICON_REW_PRESS;
+ }
+ }
+ }
+
+ part { name: "play_pause_btn_bg";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 1 0; to: "rew_btn_bg"; }
+ rel2 { relative: 1 1; to: "rew_btn_bg"; }
+ min: 160 CONTROL_BT_HIGH;
+ max: 160 CONTROL_BT_HIGH;
+ fixed: 1 1;
+ align: 0 0;
+ image { normal: IMG_BG_CENTER;
+ border: 19 19 0 0;
+ }
+ }
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ image { normal: IMG_BG_CENTER_PRESS;
+ border: 19 19 0 0;
+ }
+ }
+ }
+
+ part { name: "play_default_btn";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ rel1.to: "play_pause_btn_bg";
+ rel2.to: "play_pause_btn_bg";
+ align: 0.5 0.5;
+ min: 40 40;
+ max: 40 40;
+ fixed: 1 1;
+ visible: 1;
+ image { normal: IMG_ICON_PLAY;
+ }
+ }
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ image { normal: IMG_ICON_PLAY_PRESS;
+ }
+ }
+ description { state: "hide" 0.0;
+ visible: 0;
+ }
+ }
+
+ part { name: "play_pause_btn";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ }
+
+ description { state: "hide" 0.0;
+ rel1.to: "play_pause_btn_bg";
+ rel2.to: "play_pause_btn_bg";
+ align: 0.5 0.5;
+ min: 40 40;
+ max: 40 40;
+ fixed: 1 1;
+ visible: 1;
+ image { normal: IMG_ICON_PAUSE;
+ }
+ }
+ description { state: "press" 0.0;
+ inherit: "hide" 0.0;
+ image { normal: IMG_ICON_PAUSE_PRESS;
+ }
+ }
+
+ }
+
+ part { name: "ff_btn_bg";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 1 0; to: "play_pause_btn_bg"; }
+ rel2 { relative: 1 1; to: "play_pause_btn_bg"; }
+ min: 164 CONTROL_BT_HIGH;
+ max: 164 CONTROL_BT_HIGH;
+ fixed: 1 1;
+ align: 0 0;
+ image { normal: IMG_BG_RIGHT;
+ border: 2 36 0 0;
+ }
+ }
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ image { normal: IMG_BG_RIGHT_PRESS;
+ border: 2 36 0 0;
+ }
+ }
+ }
+
+ part { name: "ff_btn";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ rel1.to: "ff_btn_bg";
+ rel2.to: "ff_btn_bg";
+ min: 40 40;
+ max: 40 40;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ image { normal: IMG_ICON_FF;
+ }
+ }
+ description { state: "press" 0.0;
+ inherit: "default" 0.0;
+ image { normal: IMG_ICON_FF_PRESS;
+ }
+ }
+ }
+
+ part { name: "event_box";
+ type: SWALLOW;
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ rel1.to: "albumart";
+ rel2.to: "albumart";
+ }
+ }
+
+ part { name: "bg_edit";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ }
+ description { state: "show" 0.0;
+ rel1 { relative: 0 0; }
+ rel2 { relative: 1 1;}
+ image { normal: IMG_MW_FRAME_EDIT;
+ border: 176 176 67 106;
+ }
+ visible: 1;
+ }
+ }
+
+ part { name: "size_bt";
+ type: RECT;
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ min: 36 36;
+ max: 36 36;
+ fixed: 1 1;
+ rel1 { relative: 1 1; to: "bg"; offset: -43 -46; }
+ rel2 { relative: 1 1; to: "bg"; }
+ //image { normal: IMG_ICON_RESIZE_BUTTON;}
+ color: 0 0 0 0;
+ }
+ }
+ }
+
+ programs {
+
+ program { name: "pgm_exit_btn_clicked";
+ signal: "mouse,clicked,1";
+ source: "icon.close";
+ action: SIGNAL_EMIT "sig_exit_btn_clicked" "edje";
+ }
+
+ program { name: "pgm_full_screen_up";
+ signal: "mouse,up,1";
+ source: "icon.resize";
+ action: SIGNAL_EMIT "sig_full_screen_up" "icon.resize";
+ }
+
+ program { name: "pgm_size_btn_down";
+ signal: "mouse,down,1";
+ source: "size_bt";
+ action: SIGNAL_EMIT "sig_size_bt_btn_down" "size_bt";
+ }
+
+ program { name: "pgm_size_btn_up";
+ signal: "mouse,up,1";
+ source: "size_bt";
+ action: SIGNAL_EMIT "sig_size_bt_btn_up" "size_bt";
+ }
+
+ program { name: "pgm_exit_btn_down";
+ signal: "mouse,down,1";
+ source: "icon.close";
+ action: STATE_SET "default" 0.0;
+ target: "icon.close";
+ }
+
+ program { name: "pgm_exit_btn_press";
+ signal: "mouse,down,1";
+ source: "icon.close";
+ action: STATE_SET "press" 0.0;
+ target: "icon.close";
+ }
+
+ program { name: "pgm_resize_btn_press";
+ signal: "mouse,down,1";
+ source: "icon.resize";
+ action: STATE_SET "press" 0.0;
+ target: "icon.resize";
+ }
+
+ program { name: "pgm_resize_btn_down";
+ signal: "mouse,down,1";
+ source: "icon.resize";
+ action: STATE_SET "default" 0.0;
+ target: "icon.resize";
+ }
+
+ program { name: "pgm_rew_down";
+ signal: "mouse,down,1";
+ source: "rew_btn";
+ action: SIGNAL_EMIT "sig_rew_btn_down" "rew_btn";
+ }
+
+ program { name: "pgm_rew_up";
+ signal: "mouse,up,1";
+ source: "rew_btn";
+ action: SIGNAL_EMIT "sig_rew_btn_up" "rew_btn";
+ }
+
+ program { name: "pgm_play_rew_down";
+ signal: "mouse,down,1";
+ source: "rew_btn";
+ action: STATE_SET "press" 0.0;
+ target: "rew_btn";
+ target: "rew_btn_bg";
+ }
+
+ program { name: "pgm_play_rew_up";
+ signal: "mouse,up,1";
+ source: "rew_btn";
+ action: STATE_SET "default" 0.0;
+ target: "rew_btn";
+ target: "rew_btn_bg";
+ }
+
+ program { name: "pgm_play_pause_clicked";
+ signal: "mouse,up,1";
+ source: "play_pause_btn_bg";
+ action: SIGNAL_EMIT "sig_play_pause_btn_clicked" "play_pause_btn_bg";
+ }
+
+ program { name: "pgm_play_default_down";
+ signal: "mouse,down,1";
+ source: "play_default_btn";
+ action: STATE_SET "press" 0.0;
+ target: "play_default_btn";
+ target: "play_pause_btn_bg";
+ }
+
+ program { name: "pgm_play_default_up";
+ signal: "mouse,up,1";
+ source: "play_pause_btn_bg";
+ action: STATE_SET "default" 0.0;
+ target: "play_pause_btn_bg";
+ }
+
+ program { name: "pgm_play_pause_down";
+ signal: "mouse,down,1";
+ source: "play_pause_btn";
+ action: STATE_SET "press" 0.0;
+ target: "play_pause_btn_bg";
+ target: "play_pause_btn";
+ }
+
+ program { name: "pgm_play_pause_up";
+ signal: "mouse,up,1";
+ source: "play_pause_btn_bg";
+ action: STATE_SET "default" 0.0;
+ target: "play_pause_btn_bg";
+ }
+
+ program { name: "pgm_ff_down";
+ signal: "mouse,down,1";
+ source: "ff_btn";
+ action: SIGNAL_EMIT "sig_ff_btn_down" "ff_btn";
+ }
+
+ program { name: "pgm_ff_up";
+ signal: "mouse,up,1";
+ source: "ff_btn";
+ action: SIGNAL_EMIT "sig_ff_btn_up" "ff_btn";
+ }
+
+ program { name: "pgm_play_ff_down";
+ signal: "mouse,down,1";
+ source: "ff_btn";
+ action: STATE_SET "press" 0.0;
+ target: "ff_btn";
+ target: "ff_btn_bg";
+ }
+
+ program { name: "pgm_play_ff_up";
+ signal: "mouse,up,1";
+ source: "ff_btn";
+ action: STATE_SET "default" 0.0;
+ target: "ff_btn";
+ target: "ff_btn_bg";
+ }
+
+ program { name: "set_pause_icon";
+ signal: "set_pause";
+ source: "*";
+ action: STATE_SET "default" 0.0;
+ target: "play_pause_btn";
+ target: "play_default_btn";
+ }
+
+ program { name: "set_bg_edit_default";
+ signal: "bg_edit_hide";
+ source: "*";
+ action: STATE_SET "default" 0.0;
+ target: "bg_edit";
+ }
+
+ program { name: "set_bg_edit_show";
+ signal: "bg_edit_show";
+ source: "*";
+ action: STATE_SET "show" 0.0;
+ target: "bg_edit";
+ }
+
+ program { name: "set_play_icon";
+ signal: "set_play";
+ source: "*";
+ action: STATE_SET "hide" 0.0;
+ target: "play_pause_btn";
+ target: "play_default_btn";
+ }
+
+ program {
+ signal: "lrc_invisible";
+ source: "lrc";
+ action: STATE_SET "default" 0.0;
+ target: "lrc";
+ target: "lrc_bg";
+ transition: LINEAR 0.3;
+ }
+ program {
+ signal: "lrc_visible";
+ source: "lrc";
+ action: STATE_SET "show" 0.0;
+ target: "lrc";
+ target: "lrc_bg";
+ transition: LINEAR 0.3;
+ }
+ program {
+ signal: "lrc_destroy";
+ source: "lrc";
+ action: STATE_SET "default" 0.0;
+ target: "lrc";
+ target: "lrc_bg";
+ }
+ }
+}
+
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+/* option box*/
+#define OPTION_BOX_H 64
+#define OPTION_BOX_W 720
+#define OPTION_H 50
+#define OPTION_W 50
+#define OPTION_PAD_TOP 7
+#define OPTION_PAD_LEFT 47
+
+#ifdef MP_FEATURE_INNER_SETTINGS
+#define OPTION_PAD_MENU 142
+#else
+#define OPTION_PAD_MENU 213
+#endif
+
+#define PLAY_OPTION_SY OPTION_PAD_TOP/OPTION_BOX_H
+#define PLAY_OPTION_EY (OPTION_PAD_TOP+OPTION_H)/OPTION_BOX_H
+
+#define OPTION_SET_SX OPTION_PAD_LEFT/OPTION_BOX_W
+#define OPTION_SET_EX (OPTION_PAD_LEFT+OPTION_W)/OPTION_BOX_W
+#define OPTION_SHARE_SX (OPTION_PAD_LEFT+OPTION_W+OPTION_PAD_MENU)/OPTION_BOX_W
+#define OPTION_SHARE_EX (OPTION_PAD_LEFT+OPTION_W*2+OPTION_PAD_MENU)/OPTION_BOX_W
+#define OPTION_DETAILS_SX (OPTION_PAD_LEFT+OPTION_W*2+OPTION_PAD_MENU*2)/OPTION_BOX_W
+#define OPTION_DETAILS_EX (OPTION_PAD_LEFT+OPTION_W*3+OPTION_PAD_MENU*2)/OPTION_BOX_W
+#ifdef MP_FEATURE_INNER_SETTINGS
+#define OPTION_SHETTINGS_SX (OPTION_PAD_LEFT+OPTION_W*3+OPTION_PAD_MENU*3)/OPTION_BOX_W
+#define OPTION_SHETTINGS_EX (OPTION_PAD_LEFT+OPTION_W*4+OPTION_PAD_MENU*3)/OPTION_BOX_W
+#endif
+
+#define PLAYER_ICON_SHARE "player/T02_function_icon_share.png"
+#define PLAYER_ICON_SHARE_FOCUS "player/T02_function_icon_share_focus.png"
+#define PLAYER_ICON_SET "player/T02_function_icon_set.png"
+#define PLAYER_ICON_SET_FOCUS "player/T02_function_icon_set_focus.png"
+#define PLAYER_ICON_DETAILS "player/T02_function_icon_details.png"
+#define PLAYER_ICON_DETAILS_FOCUS "player/T02_function_icon_details_focus.png"
+#ifdef MP_FEATURE_INNER_SETTINGS
+#define PLAYER_ICON_SETTINGS "player/T02_function_icon_settings.png"
+#define PLAYER_ICON_SETTINGS_FOCUS "player/T02_function_icon_settings_focus.png"
+#endif
+#define PLAYER_BTN_PRESS_BG "player/T02_function_btn_focus.png"
+
+#define OPTION_BTN_CLIP_COLOR_DIM 77 77 77 255
+
+group {
+ name: "player_view_options";
+
+ images {
+ image: PLAYER_ICON_SHARE COMP;
+ image: PLAYER_ICON_SET COMP;
+ image: PLAYER_ICON_DETAILS COMP;
+ image: PLAYER_ICON_SHARE_FOCUS COMP;
+ image: PLAYER_ICON_SET_FOCUS COMP;
+ image: PLAYER_ICON_DETAILS_FOCUS COMP;
+ image: PLAYER_BTN_PRESS_BG COMP;
+#ifdef MP_FEATURE_INNER_SETTINGS
+ image: PLAYER_ICON_SETTINGS COMP;
+ image: PLAYER_ICON_SETTINGS_FOCUS COMP;
+#endif
+ }
+
+ parts {
+ part {
+ name: "bg";
+ type: RECT;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ color: 0 0 0 51;
+ }
+ }
+
+ part {
+ name: "share";
+ type: IMAGE;
+ mouse_events: 1;
+ clip_to: "share_clipper";
+ description {
+ state: "default" 0.0;
+ image { normal: PLAYER_ICON_SHARE; }
+ rel1 { relative: OPTION_SET_SX PLAY_OPTION_SY; offset: 0 0; to: "bg"; }
+ rel2 { relative: OPTION_SET_EX PLAY_OPTION_EY; offset: 0 0; to: "bg"; }
+ }
+ }
+ part { name: "share_clipper";
+ type: RECT;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.to: "share";
+ rel2.to: "share";
+ color: 255 255 255 255;
+ }
+ description { state: "dimmed" 0.0;
+ inherit: "default" 0.0;
+ color: OPTION_BTN_CLIP_COLOR_DIM;
+ }
+ }
+
+ part {
+ name: "share_press_bg";
+ type: IMAGE;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ image { normal: PLAYER_BTN_PRESS_BG; border: 3 3 1 1;}
+ rel1 { relative: 0.0 0.0; to: "share";}
+ rel2 { relative: 1.0 1.0; to: "share";}
+ }
+ description {
+ state: "press" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+
+ part {
+ name: "share_press";
+ type: IMAGE;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ image { normal: PLAYER_ICON_SHARE_FOCUS; border: 3 3 1 1;}
+ rel1 { relative: 0.0 0.0; to: "share";}
+ rel2 { relative: 1.0 1.0; to: "share";}
+ }
+ description {
+ state: "press" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+
+ part { name: "share_event_blocker";
+ type: RECT;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; to, "share";}
+ rel2 { relative: 1.0 1.0; to, "share";}
+ color: 0 0 0 0;
+ visible: 0;
+ }
+ description { state: "enabled" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+
+ part {
+ name: "set";
+ type: IMAGE;
+ mouse_events: 1;
+ clip_to: "set_clipper";
+ description {
+ state: "default" 0.0;
+ image { normal: PLAYER_ICON_SET; }
+ rel1 { relative: OPTION_SHARE_SX PLAY_OPTION_SY; offset: 0 0; to: "bg"; }
+ rel2 { relative: OPTION_SHARE_EX PLAY_OPTION_EY; offset: 0 0; to: "bg"; }
+ }
+ }
+ part { name: "set_clipper";
+ type: RECT;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.to: "set";
+ rel2.to: "set";
+ color: 255 255 255 255;
+ }
+ description { state: "dimmed" 0.0;
+ inherit: "default" 0.0;
+ color: OPTION_BTN_CLIP_COLOR_DIM;
+ }
+ }
+
+ part { name: "set_event_blocker";
+ type: RECT;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; to, "set";}
+ rel2 { relative: 1.0 1.0; to, "set";}
+ color: 0 0 0 0;
+ visible: 0;
+ }
+ description { state: "enabled" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+
+ part {
+ name: "set_press_bg";
+ type: IMAGE;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ image { normal: PLAYER_BTN_PRESS_BG; border: 3 3 1 1;}
+ rel1 { relative: 0.0 0.0; to: "set";}
+ rel2 { relative: 1.0 1.0; to: "set";}
+ }
+ description {
+ state: "press" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+
+ part {
+ name: "set_press";
+ type: IMAGE;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ image { normal: PLAYER_ICON_SET_FOCUS; border: 3 3 1 1;}
+ rel1 { relative: 0.0 0.0; to: "set";}
+ rel2 { relative: 1.0 1.0; to: "set";}
+ }
+ description {
+ state: "press" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+
+ part {
+ name: "details";
+ type: IMAGE;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ image { normal: PLAYER_ICON_DETAILS; }
+ rel1 { relative: OPTION_DETAILS_SX PLAY_OPTION_SY; offset: 0 0; to: "bg"; }
+ rel2 { relative: OPTION_DETAILS_EX PLAY_OPTION_EY; offset: 0 0; to: "bg"; }
+ }
+ }
+
+ part {
+ name: "details_press_bg";
+ type: IMAGE;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ image { normal: PLAYER_BTN_PRESS_BG; border: 3 3 1 1;}
+ rel1 { relative: 0.0 0.0; to: "details";}
+ rel2 { relative: 1.0 1.0; to: "details";}
+ }
+ description {
+ state: "press" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+
+ part {
+ name: "details_press";
+ type: IMAGE;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ image { normal: PLAYER_ICON_DETAILS_FOCUS; border: 3 3 1 1;}
+ rel1 { relative: 0.0 0.0; to: "details";}
+ rel2 { relative: 1.0 1.0; to: "details";}
+ }
+ description {
+ state: "press" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+
+#ifdef MP_FEATURE_INNER_SETTINGS
+ part {
+ name: "settings";
+ type: IMAGE;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ image { normal: PLAYER_ICON_SETTINGS; }
+ rel1 { relative: OPTION_SHETTINGS_SX PLAY_OPTION_SY; offset: 0 0; to: "bg"; }
+ rel2 { relative: OPTION_SHETTINGS_EX PLAY_OPTION_EY; offset: 0 0; to: "bg"; }
+ }
+ }
+
+ part {
+ name: "settings_press_bg";
+ type: IMAGE;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ image { normal: PLAYER_BTN_PRESS_BG; border: 3 3 1 1;}
+ rel1 { relative: 0.0 0.0; to: "settings";}
+ rel2 { relative: 1.0 1.0; to: "settings";}
+ }
+ description {
+ state: "press" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+
+ part {
+ name: "settings_press";
+ type: IMAGE;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ image { normal: PLAYER_ICON_SETTINGS_FOCUS; border: 3 3 1 1;}
+ rel1 { relative: 0.0 0.0; to: "settings";}
+ rel2 { relative: 1.0 1.0; to: "settings";}
+ }
+ description {
+ state: "press" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+#endif
+ }
+
+ programs {
+ program {
+ name: "set_down";
+ source: "set";
+ signal: "mouse,down,1";
+ action: STATE_SET "press" 0.0;
+ target: "set";
+ target: "set_press_bg";
+ target: "set_press";
+ }
+
+ program {
+ name: "set_up";
+ source: "set";
+ signal: "mouse,up,1";
+ action: STATE_SET "default" 0.0;
+ target: "set";
+ target: "set_press_bg";
+ target: "set_press";
+ }
+
+ program {
+ name: "set_clicked";
+ source: "set";
+ signal: "mouse,clicked,1";
+ action: SIGNAL_EMIT "set_clicked" 0.0;
+ }
+
+ program {
+ name: "share_down";
+ source: "share";
+ signal: "mouse,down,1";
+ action: STATE_SET "press" 0.0;
+ target: "share";
+ target: "share_press_bg";
+ target: "share_press";
+ }
+
+ program {
+ name: "share_up";
+ source: "share";
+ signal: "mouse,up,1";
+ action: STATE_SET "default" 0.0;
+ target: "share";
+ target: "share_press_bg";
+ target: "share_press";
+ }
+
+ program {
+ name: "share_clicked";
+ source: "share";
+ signal: "mouse,clicked,1";
+ action: SIGNAL_EMIT "share_clicked" 0.0;
+ }
+
+ program {
+ name: "details_down";
+ source: "details";
+ signal: "mouse,down,1";
+ action: STATE_SET "press" 0.0;
+ target: "details";
+ target: "details_press_bg";
+ target: "details_press";
+ }
+
+ program {
+ name: "details_up";
+ source: "details";
+ signal: "mouse,up,1";
+ action: STATE_SET "default" 0.0;
+ target: "details";
+ target: "details_press_bg";
+ target: "details_press";
+ }
+
+ program {
+ name: "details_clicked";
+ source: "details";
+ signal: "mouse,clicked,1";
+ action: SIGNAL_EMIT "details_clicked" 0.0;
+ }
+
+#ifdef MP_FEATURE_INNER_SETTINGS
+ program {
+ name: "settings_down";
+ source: "settings";
+ signal: "mouse,down,1";
+ action: STATE_SET "press" 0.0;
+ target: "settings";
+ target: "settings_press_bg";
+ target: "settings_press";
+ }
+
+ program {
+ name: "settings_up";
+ source: "settings";
+ signal: "mouse,up,1";
+ action: STATE_SET "default" 0.0;
+ target: "settings";
+ target: "settings_press_bg";
+ target: "settings_press";
+ }
+
+ program {
+ name: "settings_clicked";
+ source: "settings";
+ signal: "mouse,clicked,1";
+ action: SIGNAL_EMIT "settings_clicked" 0.0;
+ }
+#endif
+ program { name: "pgm_disale_option";
+ source: "*";
+ signal: "sig_disable_option_btn";
+ script {
+ set_state(PART:"set", "press", 0.0);
+ set_state(PART:"set_event_blocker", "enabled", 0.0);
+ set_state(PART:"set_clipper", "dimmed", 0.0);
+
+ set_state(PART:"share", "press", 0.0);
+ set_state(PART:"share_event_blocker", "enabled", 0.0);
+ set_state(PART:"share_clipper", "dimmed", 0.0);
+ }
+ }
+
+ program { name: "pgm_enable_option";
+ source: "*";
+ signal: "sig_enable_option_btn";
+ script {
+ set_state(PART:"set", "default", 0.0);
+ set_state(PART:"set_event_blocker", "default", 0.0);
+ set_state(PART:"set_clipper", "default", 0.0);
+
+ set_state(PART:"share", "default", 0.0);
+ set_state(PART:"share_event_blocker", "default", 0.0);
+ set_state(PART:"share_clipper", "default", 0.0);
+ }
+ }
+ }
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#define PROGRESS_PAD_TOP_1 21
+#define PROGRESS_PAD_TOP_2 6
+#define PROGRESS_PAD_BOTTOM 26
+#define PROGRESS_BG_ALPHA 230
+
+
+#define PROGRESS_PAD_CENTER 14
+
+#define PROGRESS_BAR_PAD_TOP 10
+#define PROGRESS_BAR_H 7
+#define PROGRESS_BAR_PAD_TIME 0
+#define PROGRESS_TIME_H 28
+#define PROGRESS_TIME_PAD_BOTTOM 0
+#define PROGRESS_TIME_PAD_LEFT 20
+#define PROGRESS_TIME_PAD_RIGHT 20
+#define PROGRESS_BAR_PAD_LEFT 117
+#define PROGRESS_BAR_PAD_RIGHT 117
+#define PROGRESS_BOX_H PROGRESS_TIME_H
+#define PROGRESS_BOX_W 720
+
+#define PROGRESS_BAR_SY PROGRESS_BAR_PAD_TOP/PROGRESS_BOX_H
+#define PROGRESS_BAR_EY (PROGRESS_BAR_PAD_TOP+PROGRESS_BAR_H)/PROGRESS_BOX_H
+#define PROGRESS_BAR_SX PROGRESS_BAR_PAD_LEFT/PROGRESS_BOX_W
+#define PROGRESS_BAR_EX (PROGRESS_BOX_W-PROGRESS_BAR_PAD_RIGHT)/PROGRESS_BOX_W
+
+#define PROGRESS_TIME_PLAYING_SY 0.0
+#define PROGRESS_TIME_PLAYING_EY 1.0
+#define PROGRESS_TIME_PLAYING_SX PROGRESS_TIME_PAD_LEFT/PROGRESS_BOX_W
+#define PROGRESS_TIME_PLAYING_EX (PROGRESS_BOX_W-PROGRESS_TIME_PAD_RIGHT)/PROGRESS_BOX_W
+#define PROGRESS_TIME_TOTAL_SY PROGRESS_TIME_PLAYING_SY
+#define PROGRESS_TIME_TOTAL_EY PROGRESS_TIME_PLAYING_EY
+#define PROGRESS_TIME_TOTAL_SX (1-PROGRESS_TIME_PLAYING_EX)
+#define PROGRESS_TIME_TOTAL_EX (1-PROGRESS_TIME_PLAYING_SX)
+
+
+group {
+ name: "music/playing/progress_box";
+
+ parts {
+ part { name: "bg";
+ type : RECT;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ color: 0 0 0 0;
+ }
+ }
+
+
+ part { name: "progress_bar_area";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ visible: 1;
+ min: 0 0;
+ fixed: 1 0;
+ align: 0.5 0;
+ rel1 { relative: PROGRESS_BAR_SX 0.0; offset: 8 0; to: "bg"; }
+ rel2 { relative: PROGRESS_BAR_EX (PROGRESS_BAR_PAD_TOP+PROGRESS_BAR_H+PROGRESS_BAR_PAD_TIME)/PROGRESS_BOX_H; offset: -8 0; to: "bg"; }
+
+ color: 0 0 0 0;
+ }
+ }
+
+
+ part { name: "progress_bar";
+ type : SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ min: 0 0;
+ fixed: 1 0;
+ align: 0.5 0;
+ rel1 { relative: 0.0 0.0; to, "progress_bar_area";}
+ rel2 { relative: 1.0 1.0; to, "progress_bar_area";}
+ }
+ }
+
+ part { name: "progress_text_playing";
+ type: TEXT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ visible: 1;
+ min: 80 0;
+ fixed: 1 0;
+ align: 0.0 0.5;
+ rel1 { relative: PROGRESS_TIME_PLAYING_SX PROGRESS_TIME_PLAYING_SY; offset: 0 0; to: "bg"; }
+ rel2 { relative: PROGRESS_TIME_PLAYING_EX PROGRESS_TIME_PLAYING_EY; offset: -1 0; to: "bg"; }
+ text {
+ font: FONT_STYLE_MEDIUM;
+ size: 25;
+ text: "00:00";
+ align: 0.0 0.5;
+ }
+ color: 255 255 255 255;
+ }
+ }
+
+ part {
+ name: "progress_text_total";
+ type: TEXT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ visible: 1;
+ min: 80 0;
+ fixed: 1 1;
+ align: 1.0 0.5;
+ rel1 { relative: PROGRESS_TIME_TOTAL_SX PROGRESS_TIME_TOTAL_SY; offset: 0 0; to: "bg"; }
+ rel2 { relative: PROGRESS_TIME_TOTAL_EX PROGRESS_TIME_TOTAL_EY; offset: -1 0; to: "bg"; }
+ text {
+ font: FONT_STYLE_MEDIUM;
+ size: 25;
+ text: "00:00";
+ align: 1.0 0.5;
+ }
+ color: 255 255 255 255;
+
+ }
+ }
+ }
+}
+
+group {
+ name: "music/playing/progress_box_ls";
+
+ parts {
+ part { name: "bg";
+ type : RECT;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ color: 0 0 0 0;
+ }
+ }
+
+
+ part { name: "progress_bar_area";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ visible: 1;
+ min: 0 0;
+ fixed: 1 0;
+ align: 0.5 0;
+ rel1 { relative: PROGRESS_BAR_SX 0.0; offset: 0 0; to: "bg"; }
+ rel2 { relative: PROGRESS_BAR_EX (PROGRESS_BAR_PAD_TOP+PROGRESS_BAR_H+PROGRESS_BAR_PAD_TIME)/PROGRESS_BOX_H; offset: -1 0; to: "bg"; }
+
+
+ color: 0 0 0 0;
+ }
+ }
+
+
+ part { name: "progress_bar";
+ type : SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ min: 0 0;
+ fixed: 1 0;
+ align: 0.5 0;
+ rel1 { relative: 0.0 0.0; to, "progress_bar_area";}
+ rel2 { relative: 1.0 1.0; to, "progress_bar_area";}
+ }
+ }
+
+ part { name: "progress_text_playing";
+ type: TEXT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ visible: 1;
+ min: 80 0;
+ fixed: 1 0;
+ align: 0.0 0.5;
+ rel1 { relative: PROGRESS_TIME_PLAYING_SX PROGRESS_TIME_PLAYING_SY; offset: 0 0; to: "bg"; }
+ rel2 { relative: PROGRESS_TIME_PLAYING_EX PROGRESS_TIME_PLAYING_EY; offset: -1 0; to: "bg"; }
+ text {
+ font: FONT_STYLE_MEDIUM;
+ size: 25;
+ text: "00:00";
+ align: 0.0 0.5;
+ }
+ color: 255 255 255 255;
+ }
+ }
+
+ part {
+ name: "progress_text_total";
+ type: TEXT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ visible: 1;
+ min: 80 0;
+ fixed: 1 1;
+ align: 1.0 0.5;
+ rel1 { relative: PROGRESS_TIME_TOTAL_SX PROGRESS_TIME_TOTAL_SY; offset: 0 0; to: "bg"; }
+ rel2 { relative: PROGRESS_TIME_TOTAL_EX PROGRESS_TIME_TOTAL_EY; offset: -1 0; to: "bg"; }
+ text {
+ font: FONT_STYLE_MEDIUM;
+ size: 25;
+ text: "00:00";
+ align: 1.0 0.5;
+ }
+ color: 255 255 255 255;
+
+ }
+ }
+ }
+}
+
+group {
+ name: "music/playing/progress_box/progress_bar";
+ images {
+ image: "progress_bar/T02_player_progress_bg.png" COMP;
+ image: "progress_bar/T02_player_progress_bar.png" COMP;
+ image: "progress_bar/T02_player_progress_point.png" COMP;
+ }
+
+ parts {
+ part { name: "bg";
+ type : RECT;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ color: 0 0 0 0;
+ }
+ }
+
+ part {
+ name: "progress_bg_img";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ visible: 1;
+ rel1 { relative: 0.0 PROGRESS_BAR_PAD_TOP/(PROGRESS_BAR_PAD_TOP+PROGRESS_BAR_PAD_TIME+PROGRESS_BAR_H); to, "bg"; }
+ rel2 { relative: 1.0 (PROGRESS_BAR_PAD_TOP+PROGRESS_BAR_H)/(PROGRESS_BAR_PAD_TOP+PROGRESS_BAR_PAD_TIME+PROGRESS_BAR_H); to, "bg"; }
+ image {
+ normal : "progress_bar/T02_player_progress_bg.png";
+ }
+ }
+ }
+
+ part {
+ name: "progress_bar";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ visible: 1;
+ fixed: 1 1;
+ image {
+ normal: "progress_bar/T02_player_progress_bar.png";
+ }
+ rel1 { relative: 0.0 0.0; to: "progress_bg_img"; }
+ rel2 { relative: 1.0 1.0; to_x: "progressbar_control"; to_y: "progress_bg_img";}
+ }
+ }
+ part {
+ name: "progressbar_control";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ align: 0 0;
+ rel1 { relative : 0.5 0.0; to:"progress_bg_img";}
+ rel2 { relative : 0.5 1.0; to:"progress_bg_img";}
+ image.normal : "progress_bar/T02_player_progress_point.png";
+ }
+ dragable {
+ confine: "bg";
+ x: 1 1 0;
+ y: 0 0 0;
+ }
+ }
+ }
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#define LS_PLAYVIEW_H 720
+#define LS_PLAYVIEW_CONTROLBAR_H 129
+
+group {
+ name: "mp_play_view_landscape";
+
+ parts {
+
+ part {
+ name: "album_art";
+ type: SWALLOW;
+ scale: 1;
+ mouse_events: 0;
+ description {
+ //min: 480 480;
+
+ state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; offset: 0 0;}
+ rel2 { relative: 1.0 1.0; offset: 0 0;}
+ }
+ }
+
+ part { name: "event_box";
+ type : SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ rel1 { relative: 0.0 0.0; to:"album_art";}
+ rel2 { relative: 1.0 1.0; to:"album_art";}
+ }
+ }
+
+ part {
+ name: "buffering_area";
+ type: SWALLOW;
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ min: 100 100;
+ align: 1.0 0.5;
+ fixed: 1 1;
+ rel1 { relative: 1.0 0.5; to: "album_art"; }
+ rel2 { relative: 1.0 0.5; to: "album_art"; }
+ }
+ }
+
+
+ part {
+
+ name: "player_info_bg";
+ type: RECT;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ rel1 { relative: 0.0 314/480; } //227
+ rel2 { relative: 1.0 1.0 ; offset: 0 1; } //417
+ color: 0 0 0 153;
+ }
+ }
+
+ part {
+ name: "player_info";
+ type: SWALLOW;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ rel1 { relative: 0.0 275/480; } //227
+ rel2 { relative: 1.0 417/480 ; } //417
+ }
+ description {
+ state: "invisible" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+
+ part {
+ name: "line1";
+ type: RECT;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ rel1 { relative: 0.0 (LS_PLAYVIEW_H-LS_PLAYVIEW_CONTROLBAR_H)/LS_PLAYVIEW_H; offset: 0 -2; }
+ rel2 { relative: 1.0 (LS_PLAYVIEW_H-LS_PLAYVIEW_CONTROLBAR_H)/LS_PLAYVIEW_H; offset: 0 -1; }
+ color: 8 8 8 102;
+ }
+ }
+ part {
+ name: "line2";
+ type: RECT;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ rel1 { relative: 0.0 (LS_PLAYVIEW_H-LS_PLAYVIEW_CONTROLBAR_H)/LS_PLAYVIEW_H; offset: 0 -1; }
+ rel2 { relative: 1.0 (LS_PLAYVIEW_H-LS_PLAYVIEW_CONTROLBAR_H)/LS_PLAYVIEW_H; offset: 0 0; }
+ color: 130 130 130 102;
+ }
+ }
+
+ //add by rocket.he for fixing CQ: H0100127628 Begin
+ part {
+ name: "main.mute.bg";
+ type: IMAGE;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ min: 266 266;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ //rel1 { relative: (80/480) (240/480);}
+ //rel2 { relative: (80/480) (240/480);}
+ rel1 { relative: (133/480) (240/480);}
+ rel2 { relative: (133/480) (240/480);}
+ image { normal: "music_player_bg.PNG"; border: 7 7 0 0; }
+ color: 128 128 128 128;
+ }
+ description {
+ state: "show" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part {
+ name: "main.mute.image";
+ type: IMAGE;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ min: 96 96;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ rel1 { relative: (133/480) (240/480);}
+ rel2 { relative: (133/480) (240/480);}
+ image { normal: "music_popup_mute.png"; }
+ color: 255 255 255 255;
+ }
+ description {
+ state: "show" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ //add by rocket.he for fixing CQ: H0100127628 end
+ }
+
+ programs {
+ program {
+ name: "album_art_clicked";
+ source: "album_art";
+ signal: "mouse,clicked,1";
+ action: SIGNAL_EMIT "album_art_clicked" 0.0;
+ }
+ program {
+ name: "album_art_up";
+ source: "album_art";
+ signal: "mouse,up,1";
+ action: SIGNAL_EMIT "album_art_up" 0.0;
+ }
+ program {
+ name: "album_art_down";
+ source: "album_art";
+ signal: "mouse,down,1";
+ action: SIGNAL_EMIT "album_art_down" 0.0;
+ }
+ program {
+ name: "album_art_move";
+ source: "album_art";
+ signal: "mouse,move";
+ action: SIGNAL_EMIT "album_art_move" 0.0;
+ }
+ program {
+ name: "info_invisible" ;
+ signal: "info_invisible";
+ source: "player_info";
+ action: STATE_SET "invisible" 0.0;
+ target: "player_info";
+ }
+ program {
+ name: "info_visible" ;
+ signal: "info_visible";
+ source: "player_info";
+ action: STATE_SET "default" 0.0;
+ target: "player_info";
+ }
+
+ //add by rocket.he for fixing CQ: H0100127628 Begin
+ program {
+ signal: "signal.main.mute.show";
+ source: "*";
+ action: STATE_SET "show" 0.0;
+ target: "main.mute.image";
+ target: "main.mute.bg";
+ }
+
+ program {
+ signal: "signal.main.mute.hide";
+ source: "*";
+ action: STATE_SET "default" 0.0;
+ target: "main.mute.image";
+ target: "main.mute.bg";
+ }
+ //add by rocket.he for fixing CQ: H0100127628 end
+ }
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+/* font name*/
+#define FONT_TITLE_NAME "system_title" //"system_title"
+#define FONT_CONTENT_NAME "system_content" //"system_content"
+#define FONT_SUBCONTENT_NAME "system_subcontent" //"system_subcontent"
+#define ALBUMART_IMAGE_SHADOW_RGBA 0 0 0 0
+
+#define ALBUM_IMG_H 481
+#define TRACK_INFO_H 139
+#define TRACK_TITLE_H 40
+#define ALBUM_TITLE_H 36
+#define ARTIST_TITLE_H 34
+#define FAVOUR_ICON_H 34
+
+/* main size */
+#define HD_MAIN_W 720
+#define HD_MAIN_H 1280
+
+#define HD_STATUSBAR_H 50
+#define HD_NAVIGATIONBAR_H 100
+
+#define HD_PLAYVIEW_H (HD_MAIN_H-HD_STATUSBAR_H)
+#define HD_PLAYVIEW_W HD_MAIN_W
+
+#define PLAYVIEW_TITLE_H 108
+#define PLAYVIEW_OPTION_H 64
+#define PLAYVIEW_ALBUM_BG_H 843
+#define PLAYVIEW_ALBUM_H 488
+#define PLAYVIEW_ALBUM_W 488
+#define PLAYVIEW_ALBUM_TOP_H 142
+#define PLAYVIEW_ALBUM_BOTTOM_H 140
+#define PLAYVIEW_MENU_H 96
+#define PLAYVIEW_PROGRESSBAR_H 28
+#define PLAYVIEW_PROGRESSBAR_PAD_MENU 48
+#define PLAYVIEW_CONTROLBAR_H 115
+#define PLAYVIEW_CONTROLBAR_PAD_PROGRESSBAR 27
+#define PLAYVIEW_LYRIC_H 744
+
+#define PLAYVIEW_TITLE_SX 0.0
+#define PLAYVIEW_TITLE_EX 1.0
+#define PLAYVIEW_TITLE_SY 0.0
+#define PLAYVIEW_TITLE_EY PLAYVIEW_TITLE_H/HD_PLAYVIEW_H
+
+#define PLAYVIEW_OPTION_SX 0.0
+#define PLAYVIEW_OPTION_EX 1.0
+#define PLAYVIEW_OPTION_SY PLAYVIEW_TITLE_EY
+#define PLAYVIEW_OPTION_EY (PLAYVIEW_OPTION_SY+PLAYVIEW_OPTION_H/HD_PLAYVIEW_H)
+
+#define PLAYVIEW_ALBUM_BG_SX 0.0
+#define PLAYVIEW_ALBUM_BG_EX 1.0
+#define PLAYVIEW_ALBUM_BG_SY PLAYVIEW_OPTION_EY
+#define PLAYVIEW_ALBUM_BG_EY (PLAYVIEW_ALBUM_BG_SY+PLAYVIEW_ALBUM_BG_H/HD_PLAYVIEW_H)
+
+#define PLAYVIEW_ALBUM_SX (1-PLAYVIEW_ALBUM_W/HD_PLAYVIEW_W)/2
+#define PLAYVIEW_ALBUM_EX (1+PLAYVIEW_ALBUM_W/HD_PLAYVIEW_W)/2
+#define PLAYVIEW_ALBUM_SY (PLAYVIEW_OPTION_EY+PLAYVIEW_ALBUM_TOP_H/HD_PLAYVIEW_H)
+#define PLAYVIEW_ALBUM_EY (PLAYVIEW_OPTION_EY+(PLAYVIEW_ALBUM_TOP_H+PLAYVIEW_ALBUM_H)/HD_PLAYVIEW_H)
+
+#define PLAYVIEW_LYRIC_SX 0.0
+#define PLAYVIEW_LYRIC_EX 1.0
+#define PLAYVIEW_LYRIC_SY PLAYVIEW_OPTION_EY
+#define PLAYVIEW_LYRIC_EY (PLAYVIEW_LYRIC_SY+PLAYVIEW_LYRIC_H/HD_PLAYVIEW_H)
+
+#define PLAYVIEW_MENU_SX 0.0
+#define PLAYVIEW_MENU_EX 1.0
+#define PLAYVIEW_MENU_SY PLAYVIEW_LYRIC_EY
+#define PLAYVIEW_MENU_EY (PLAYVIEW_MENU_SY+PLAYVIEW_MENU_H/HD_PLAYVIEW_H)
+
+#define PLAYVIEW_PROGRESSBAR_SX 0.0
+#define PLAYVIEW_PROGRESSBAR_EX 1.0
+#define PLAYVIEW_PROGRESSBAR_SY (PLAYVIEW_MENU_EY+PLAYVIEW_PROGRESSBAR_PAD_MENU/HD_PLAYVIEW_H)
+#define PLAYVIEW_PROGRESSBAR_EY (PLAYVIEW_PROGRESSBAR_SY+PLAYVIEW_PROGRESSBAR_H/HD_PLAYVIEW_H)
+
+#define PLAYVIEW_CONTROLBAR_SX 0.0
+#define PLAYVIEW_CONTROLBAR_EX 1.0
+#define PLAYVIEW_CONTROLBAR_SY (PLAYVIEW_PROGRESSBAR_EY+PLAYVIEW_CONTROLBAR_PAD_PROGRESSBAR/HD_PLAYVIEW_H)
+#define PLAYVIEW_CONTROLBAR_EY 1.0
+
+#define FLICK_TIMER 0.3
+#define PLAYVIEW_IMAGE_SHADOW "player/T02_Album_art_image_Shadow.png"
+
+#define PLAYVIEW_VOLUME_W 626
+#define PLAYVIEW_VOLUME_H 112
+#define PLAYVIEW_VOLUME_SX (((HD_PLAYVIEW_W-PLAYVIEW_VOLUME_W)/2)/PLAYVIEW_VOLUME_W)
+#define PLAYVIEW_VOLUME_SY (798/HD_PLAYVIEW_H)
+#define PLAYVIEW_VOLUME_EX (1-PLAYVIEW_VOLUME_SX)
+#define PLAYVIEW_VOLUME_EY ((798+PLAYVIEW_VOLUME_H)/HD_PLAYVIEW_H)
+
+#define PLAYVIEW_SELECTINFO_H 114
+
+#define LRC_PROG \
+ program {\
+ signal: "lrc_invisible";\
+ source: "lrc";\
+ action: STATE_SET "default" 0.0;\
+ target: "lrc";\
+ transition: LINEAR 0.3;\
+ }\
+ program {\
+ signal: "lrc_visible";\
+ source: "lrc";\
+ action: STATE_SET "show" 0.0;\
+ target: "lrc";\
+ transition: LINEAR 0.3;\
+ }\
+ program {\
+ signal: "lrc_destroy";\
+ source: "lrc";\
+ action: STATE_SET "default" 0.0;\
+ target: "lrc";\
+ }
+
+#define OPT_PROG \
+ program {\
+ name: "option_menu_invisible" ;\
+ signal: "option_menu_invisible";\
+ source: "player_option_menu";\
+ action: STATE_SET "invisible" 0.0;\
+ target: "player_option_menu";\
+ transition: LINEAR 0.3;\
+ after :"option_hide_done";\
+ }\
+ program {\
+ name: "option_hide_done";\
+ signal: "option_hide";\
+ source: "player_option_menu";\
+ action: STATE_SET "invisible" 1.0;\
+ target: "player_option_menu";\
+ }\
+ program {\
+ name: "option_menu_visible" ;\
+ signal: "option_menu_visible";\
+ source: "player_option_menu";\
+ action: STATE_SET "default" 0.0;\
+ target: "player_option_menu";\
+ transition: LINEAR 0.3;\
+ }
+
+group {
+ name: "mp_play_view_layout";
+
+ parts {
+ part {
+ name: "bg";
+ mouse_events: 0;
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ rel1 { relative: 0.0 0.0;}
+ rel2 { relative: 1.0 1.0;}
+ color: MP_COLOR_BG_BLACK;
+ }
+ }
+
+ part{
+ name : "bg_base";
+ type : SPACER;
+ mouse_events:1;
+ scale : 1;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: 0.0 0.0;to: "bg";}
+ rel2 { relative: 1.0 1.0;to: "bg";}
+ }
+ }
+
+ part {
+ name: "bg_clipper";
+ mouse_events: 0;
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ rel1 { relative: 0.0 0.0;
+ offset : 0 0; to: "bg_base";}
+ rel2 { relative: 1.0 1.0; to: "bg_base";}
+ color: 255 255 255 255;
+ }
+ }
+
+ part {
+ name : "bg_list_content";
+ type: SWALLOW;
+ mouse_events: 1;
+ repeat_events: 1;
+ scale: 1;
+ clip_to : "bg_clipper";
+ description {
+ visible:1;
+ fixed: 1 1;
+ state: "default" 0.0;
+ rel1 { relative: 0.0 0.0;to: "bg_base";}
+ rel2 { relative: 1.0 1.0;to: "bg_base";}
+ }
+ description {
+ visible:0;
+ fixed: 1 1;
+ state: "invisible" 0.0;
+ rel1 { relative: 0.0 0.0;to: "bg_base";}
+ rel2 { relative: 1.0 1.0;to: "bg_base";}
+ }
+ description {
+ visible:1;
+ fixed: 1 1;
+ state: "left" 0.0;
+ rel1 { relative: -1.0 0.0;to: "bg_base";}
+ rel2 { relative: 0.0 1.0;to: "bg_base";}
+ }
+ description {
+ visible:1;
+ fixed: 1 1;
+ state: "right" 0.0;
+ rel1 { relative: 1.0.0 0.0;to: "bg_base";}
+ rel2 { relative: 2.0 1.0;to: "bg_base";}
+ }
+ }
+
+ part {
+ name : "bg_list_content_temp";
+ type: SWALLOW;
+ mouse_events: 1;
+ repeat_events: 1;
+ scale: 1;
+ clip_to : "bg_clipper";
+ description {
+ visible:1;
+ fixed: 1 1;
+ state: "default" 0.0;
+ rel1 { relative: 0.0 0.0;to: "bg_base";}
+ rel2 { relative: 1.0 1.0;to: "bg_base";}
+ }
+ description {
+ visible:0;
+ fixed: 1 1;
+ state: "invisible" 0.0;
+ rel1 { relative: 0.0 0.0;to: "bg_base";}
+ rel2 { relative: 1.0 1.0;to: "bg_base";}
+ }
+ description {
+ visible:1;
+ fixed: 1 1;
+ state: "left" 0.0;
+ rel1 { relative: -1.0 0.0;to: "bg_base";}
+ rel2 { relative: 0.0 1.0;to: "bg_base";}
+ }
+ description {
+ visible:1;
+ fixed: 1 1;
+ state: "right" 0.0;
+ rel1 { relative: 1.0.0 0.0;to: "bg_base";}
+ rel2 { relative: 2.0 1.0;to: "bg_base";}
+ }
+ }
+
+ part{
+ name : "player_info";
+ type: SWALLOW;
+ mouse_events:1;
+ scale : 1;
+ description {
+ visible:1;
+ color: 0 0 0 0;
+ state: "default" 0.0;
+ rel1 { relative: PLAYVIEW_TITLE_SX PLAYVIEW_TITLE_SY; to: "bg";}
+ rel2 { relative: PLAYVIEW_TITLE_EX PLAYVIEW_TITLE_EY; to: "bg";}
+ }
+ description {
+ state: "hide" 0.0;
+ inherit: "default" 0.0;
+ visible:0;
+ }
+ }
+
+ part{
+ name : "player_options";
+ type: SWALLOW;
+ mouse_events:1;
+ scale : 1;
+ description {
+ visible:1;
+ color: 0 0 0 0;
+ state: "default" 0.0;
+ rel1 { relative: PLAYVIEW_OPTION_SX PLAYVIEW_OPTION_SY; to: "bg";}
+ rel2 { relative: PLAYVIEW_OPTION_EX PLAYVIEW_OPTION_EY; to: "bg";}
+ }
+ description {
+ state: "hide" 0.0;
+ inherit: "default" 0.0;
+ visible:0;
+ }
+ }
+
+ part {
+ name : "list_content";
+ type: SWALLOW;
+ mouse_events: 1;
+ repeat_events: 1;
+ scale: 1;
+ clip_to : "bg_clipper";
+ description {
+ visible:1;
+ //min: PLAYVIEW_ALBUM_W PLAYVIEW_ALBUM_H;
+ //max: PLAYVIEW_ALBUM_W PLAYVIEW_ALBUM_H;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ state: "default" 0.0;
+ rel1 { relative: PLAYVIEW_ALBUM_SX PLAYVIEW_ALBUM_SY;to: "bg_base";}
+ rel2 { relative: PLAYVIEW_ALBUM_EX PLAYVIEW_ALBUM_EY;to: "bg_base";}
+ }
+ description {
+ visible:0;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ state: "invisible" 0.0;
+ rel1 { relative: PLAYVIEW_ALBUM_SX PLAYVIEW_ALBUM_SY;to: "bg_base";}
+ rel2 { relative: PLAYVIEW_ALBUM_EX PLAYVIEW_ALBUM_EY;to: "bg_base";}
+ }
+ description {
+ visible:1;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ state: "left" 0.0;
+ rel1 { relative: (-1.0+PLAYVIEW_ALBUM_SX) PLAYVIEW_ALBUM_SY;to: "bg_base";}
+ rel2 { relative: (-1.0+PLAYVIEW_ALBUM_EX) PLAYVIEW_ALBUM_EY;to: "bg_base";}
+ }
+ description {
+ visible:1;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ state: "right" 0.0;
+ rel1 { relative: (1.0+PLAYVIEW_ALBUM_SX) PLAYVIEW_ALBUM_SY;to: "bg_base";}
+ rel2 { relative: (1.0+PLAYVIEW_ALBUM_EX) PLAYVIEW_ALBUM_EY;to: "bg_base";}
+ }
+ }
+
+ part {
+ name : "list_content_temp";
+ type: SWALLOW;
+ mouse_events: 1;
+ repeat_events: 1;
+ scale: 1;
+ clip_to : "bg_clipper";
+ description {
+ visible:1;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ state: "default" 0.0;
+ rel1 { relative: PLAYVIEW_ALBUM_SX PLAYVIEW_ALBUM_SY;to: "bg_base";}
+ rel2 { relative: PLAYVIEW_ALBUM_EX PLAYVIEW_ALBUM_EY;to: "bg_base";}
+ }
+ description {
+ visible:0;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ state: "invisible" 0.0;
+ rel1 { relative: PLAYVIEW_ALBUM_SX PLAYVIEW_ALBUM_SY;to: "bg_base";}
+ rel2 { relative: PLAYVIEW_ALBUM_EX PLAYVIEW_ALBUM_EY;to: "bg_base";}
+ }
+ description {
+ visible:1;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ state: "left" 0.0;
+ rel1 { relative: (-1.0+PLAYVIEW_ALBUM_SX) PLAYVIEW_ALBUM_SY;to: "bg_base";}
+ rel2 { relative: (-1.0+PLAYVIEW_ALBUM_EX) PLAYVIEW_ALBUM_EY;to: "bg_base";}
+ }
+ description {
+ visible:1;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ state: "right" 0.0;
+ rel1 { relative: (1.0+PLAYVIEW_ALBUM_SX) PLAYVIEW_ALBUM_SY;to: "bg_base";}
+ rel2 { relative: (1.0+PLAYVIEW_ALBUM_EX) PLAYVIEW_ALBUM_EY;to: "bg_base";}
+ }
+ }
+
+ part {
+ name: "lrc";
+ type: SWALLOW;
+ mouse_events: 1;
+ repeat_events: 1;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ rel1 { relative: PLAYVIEW_LYRIC_SX PLAYVIEW_LYRIC_SY; offset: 0 -1; to: "bg";}
+ rel2 { relative: PLAYVIEW_LYRIC_EX PLAYVIEW_LYRIC_EY; offset: 0 -1; to: "bg";}
+ }
+ description {
+ state: "show" 0.0;
+ visible: 1;
+ rel1 { relative: PLAYVIEW_LYRIC_SX PLAYVIEW_LYRIC_SY; offset: 0 -1; to: "bg";}
+ rel2 { relative: PLAYVIEW_LYRIC_EX PLAYVIEW_LYRIC_EY; offset: 0 -1; to: "bg";}
+ }
+ }
+
+ part {
+ name: "bottom_bg";
+ type: RECT;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ rel1 { relative: 0.0 PLAYVIEW_MENU_SY; to: "bg";}
+ rel2 { relative: 1.0 1.0; offset: 0 1; to: "bg";}
+ color: 0 0 0 204;
+ }
+ description {
+ state: "hide" 0.0;
+ inherit: "default" 0.0;
+ visible:0;
+ }
+ }
+
+ part {
+ name: "separate_line";
+ type: RECT;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ rel1 { relative: 0.0 0.0; offset: 0 -1; to: "bottom_bg";}
+ rel2 { relative: 1.0 0.0; offset: 0 0; to: "bg";}
+ color: 255 255 255 179;
+ }
+ description {
+ state: "hide" 0.0;
+ inherit: "default" 0.0;
+ visible:0;
+ }
+ }
+
+ part {
+ name: "player_option_menu";
+ type: SWALLOW;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: PLAYVIEW_MENU_SX PLAYVIEW_MENU_SY; to: "bg";}
+ rel2 { relative: PLAYVIEW_MENU_EX PLAYVIEW_MENU_EY; to: "bg";}
+ color: 35 35 35 0;
+ }
+ description {
+ state: "invisible" 0.0;
+ inherit: "default" 0.0;
+ rel1 { relative: PLAYVIEW_MENU_SX PLAYVIEW_MENU_SY; to: "bg";}
+ rel2 { relative: PLAYVIEW_MENU_EX PLAYVIEW_MENU_EY; to: "bg";}
+ }
+ description {
+ state: "invisible" 1.0;
+ inherit: "invisible" 0.0;
+ visible: 0;
+ }
+ description {
+ state: "hide" 0.0;
+ inherit: "default" 0.0;
+ visible:0;
+ }
+ }
+
+ part {
+ name: "controlbar_bg";
+ type: RECT;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ rel1 { relative: 0.0 (1-215/HD_PLAYVIEW_H); to: "bg";}
+ rel2 { relative: 1.0 1.0; offset: 0 1; to: "bg";}
+ color: 0 0 0 0;
+ }
+ description {
+ state: "hide" 0.0;
+ inherit: "default" 0.0;
+ visible:0;
+ }
+ }
+
+ part {
+ name: "player_progress";
+ type: SWALLOW;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ rel1 { relative: PLAYVIEW_PROGRESSBAR_SX PLAYVIEW_PROGRESSBAR_SY; to: "bg";}
+ rel2 { relative: PLAYVIEW_PROGRESSBAR_EX PLAYVIEW_PROGRESSBAR_EY; to: "bg";}
+ }
+ description {
+ state: "hide" 0.0;
+ inherit: "default" 0.0;
+ visible:0;
+ }
+ }
+
+ part {
+ name : "elm.swallow.controlbar";
+ type: SWALLOW;
+ mouse_events:1;
+ scale : 1;
+ description {
+ visible:1;
+ state: "default" 0.0;
+ rel1 { relative: PLAYVIEW_CONTROLBAR_SX PLAYVIEW_CONTROLBAR_SY; to: "bg";}
+ rel2 { relative: PLAYVIEW_CONTROLBAR_EX PLAYVIEW_CONTROLBAR_EY; to: "bg";}
+ }
+ description {
+ state: "hide" 0.0;
+ inherit: "default" 0.0;
+ visible:0;
+ }
+ }
+
+ part { name: "volume_layout";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: PLAYVIEW_VOLUME_SX PLAYVIEW_VOLUME_SY; to: "bg"; }
+ rel2 { relative: PLAYVIEW_VOLUME_EX PLAYVIEW_VOLUME_EY; to: "bg"; }
+ }
+ }
+ }
+
+ programs {
+ LRC_PROG
+
+ program { name: "flick_left";
+ signal: "flick_left";
+ source: "list_content";
+ action: STATE_SET "left" 0.0;
+ target: "bg_list_content";
+ target: "list_content";
+ transition: DECELERATE FLICK_TIMER;
+ }
+ program { name: "flick_right";
+ signal: "flick_right";
+ source: "list_content";
+ action: STATE_SET "right" 0.0;
+ target: "bg_list_content";
+ target: "list_content";
+ transition: DECELERATE FLICK_TIMER;
+ }
+ program { name: "set_right";
+ signal: "set_right";
+ source: "list_content_temp";
+ action: STATE_SET "right" 0.0;
+ target: "bg_list_content_temp";
+ target: "list_content_temp";
+ }
+ program { name: "set_left";
+ signal: "set_left";
+ source: "list_content_temp";
+ action: STATE_SET "left" 0.0;
+ target: "bg_list_content_temp";
+ target: "list_content_temp";
+ }
+ program { name: "set_default";
+ signal: "set_default";
+ source: "list_content_temp";
+ action: STATE_SET "default" 0.0;
+ target: "bg_list_content_temp";
+ target: "list_content_temp";
+ transition: LINEAR FLICK_TIMER;
+ after :"list_content_transit_done";
+ }
+ program { name: "set_default_list";
+ signal: "set_default";
+ source: "list_content";
+ action: STATE_SET "default" 0.0;
+ target: "bg_list_content";
+ target: "list_content";
+ }
+ program { name : "list_content_transit_done";
+ signal: "transit_done";
+ source: "list_content";
+ script {
+ emit("transit_done", "list");
+ }
+ in: 0.0 0.0; //delay
+ after :"set_default_parts";
+ }
+ program { name : "list_temp_transit_done";
+ signal: "transit_done";
+ source: "list_content_temp";
+ script {
+ emit("transit_done", "temp");
+ }
+ }
+ program { name: "set_default_parts";
+ signal: "set_default";
+ source: "mp_play_view_layout";
+ action: STATE_SET "default" 0.0;
+ target: "player_info";
+ target: "player_options";
+ target: "player_option_menu";
+ target: "controlbar_bg";
+ target: "player_progress";
+ target: "bottom_bg";
+ target: "separate_line";
+ target: "elm.swallow.controlbar";
+ }
+ program { name: "set_hide_parts";
+ signal: "set_hide";
+ source: "mp_play_view_layout";
+ action: STATE_SET "hide" 0.0;
+ target: "player_info";
+ target: "player_options";
+ target: "player_option_menu";
+ target: "controlbar_bg";
+ target: "player_progress";
+ target: "bottom_bg";
+ target: "separate_line";
+ target: "elm.swallow.controlbar";
+ }
+ }
+}
+
+group { name : "mp_play_view";
+
+ images {
+ image: "T02_controls_bg_shadow.png" COMP;
+ image: "music_player_bg.PNG" COMP;
+ image: "music_popup_mute.png" COMP;
+ image: "allshare_dmr_icon.png" COMP;
+ image: PLAYVIEW_IMAGE_SHADOW COMP;
+ }
+
+ parts {
+
+ part {
+ name: "bg";
+ type: SWALLOW;
+ scale: 1;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ rel1 { relative: 0.0 0.0;}
+ rel2 { relative: 1.0 1.0; }
+ }
+ }
+
+ part {
+ name: "album_shadow_bg";
+ type: IMAGE;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ rel1 { relative: 0 0; offset: -19 -19; to: "bg";}
+ rel2 { relative: 1 1; offset: 19 19; to: "bg";}
+ image {
+ normal : PLAYVIEW_IMAGE_SHADOW;
+ border: 19 19 19 19;
+ border_scale: 1;
+ }
+ }
+ }
+
+ part {
+ name: "album_bg";
+ type: SWALLOW;
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ rel1 { relative: 0 0; to: "bg";}
+ rel2 { relative: 1 1; to: "bg";}
+ }
+ }
+
+ part {
+ name: "album_art";
+ type: SWALLOW;
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ rel1 { relative: 0 0; to: "bg";}
+ rel2 { relative: 1 1; to: "bg";}
+ }
+ }
+
+ part { name: "event_box";
+ type : SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ rel1 { relative: ((0-(HD_PLAYVIEW_W-PLAYVIEW_ALBUM_W)/2)/PLAYVIEW_ALBUM_W) (-PLAYVIEW_ALBUM_TOP_H/PLAYVIEW_ALBUM_H); to: "album_bg"; }
+ rel2 { relative: (1.0+((HD_PLAYVIEW_W-PLAYVIEW_ALBUM_W)/2)/PLAYVIEW_ALBUM_W) (1.0+PLAYVIEW_ALBUM_BOTTOM_H/PLAYVIEW_ALBUM_H); to: "album_bg"; }
+ }
+ }
+
+ /* streaming buffering area */
+ part {
+ name: "buffering_area";
+ type: SWALLOW;
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ min: 100 100;
+ align: 1.0 1.0;
+ fixed: 1 1;
+ rel1 { relative: 1.0 1.0; to: "album_art"; }
+ rel2 { relative: 1.0 1.0; to: "album_art"; }
+ }
+ }
+
+ /* allshare DMR icon */
+ part {
+ name: "dmr_icon";
+ type: IMAGE;
+ mouse_events: 1;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ min: 60 80;
+ align: 0.0 1.0;
+ fixed: 1 1;
+ rel1 { relative: 0.0 1.0; offset: 30 -10; to: "album_art"; }
+ rel2 { relative: 0.0 1.0; offset: 30 -10; to: "album_art"; }
+ image { normal: "allshare_dmr_icon.png"; }
+ }
+ description {
+ state: "show" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+
+
+ }
+
+ programs {
+
+ /* allshare DMR icon */
+ program {
+ source: "dmr_icon";
+ signal: "mouse,clicked,1";
+ action: SIGNAL_EMIT "dmr_icon_clicked" "ctrl_edj";
+ }
+
+ program {
+ signal: "show_dmr_icon";
+ source: "*";
+ action: STATE_SET "show" 0.0;
+ target: "dmr_icon";
+ }
+
+ program {
+ signal: "hide_dmr_icon";
+ source: "*";
+ action: STATE_SET "default" 0.0;
+ target: "dmr_icon";
+ }
+ }
+}
+
+group { name : "mp_play_view_bg";
+
+ images {
+ image: "T02_controls_bg_shadow.png" COMP;
+ image: "music_player_bg.PNG" COMP;
+ image: "music_popup_mute.png" COMP;
+ image: "allshare_dmr_icon.png" COMP;
+ }
+
+ parts {
+
+ part {
+ name: "bg";
+ type: SWALLOW;
+ scale: 1;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ rel1 { relative: 0.0 0.0;}
+ rel2 { relative: 1.0 1.0; }
+ }
+ }
+
+ part {
+ name: "album_bg";
+ type: SWALLOW;
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ rel1 { relative: 0.0 0.0; to: "bg";}
+ rel2 { relative: 1.0 1.0; to: "bg";}
+ }
+ }
+
+ part {
+ name: "album_art";
+ type: SWALLOW;
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ rel1 { relative: 0.0 0.0; to: "bg";}
+ rel2 { relative: 1.0 1.0; to: "bg";}
+ }
+ }
+
+ part { name: "event_box";
+ type : SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ rel1 { relative: 0.0 0.0; to: "album_bg"; }
+ rel2 { relative: 1.0 1.0; to: "album_bg"; }
+ }
+ }
+
+ /* streaming buffering area */
+ part {
+ name: "buffering_area";
+ type: SWALLOW;
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ min: 100 100;
+ align: 1.0 1.0;
+ fixed: 1 1;
+ rel1 { relative: 1.0 1.0; to: "album_art"; }
+ rel2 { relative: 1.0 1.0; to: "album_art"; }
+ }
+ }
+
+ /* allshare DMR icon */
+ part {
+ name: "dmr_icon";
+ type: IMAGE;
+ mouse_events: 1;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ min: 60 80;
+ align: 0.0 1.0;
+ fixed: 1 1;
+ rel1 { relative: 0.0 1.0; offset: 30 -10; to: "album_art"; }
+ rel2 { relative: 0.0 1.0; offset: 30 -10; to: "album_art"; }
+ image { normal: "allshare_dmr_icon.png"; }
+ }
+ description {
+ state: "show" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+
+
+ }
+
+ programs {
+
+ /* allshare DMR icon */
+ program {
+ source: "dmr_icon";
+ signal: "mouse,clicked,1";
+ action: SIGNAL_EMIT "dmr_icon_clicked" "ctrl_edj";
+ }
+
+ program {
+ signal: "show_dmr_icon";
+ source: "*";
+ action: STATE_SET "show" 0.0;
+ target: "dmr_icon";
+ }
+
+ program {
+ signal: "hide_dmr_icon";
+ source: "*";
+ action: STATE_SET "default" 0.0;
+ target: "dmr_icon";
+ }
+ }
+}
+
+#define PLAYVIEW_H_LANDSCAPE HD_MAIN_W
+#define PLAYVIEW_CONTROLBAR_H_LANDSCAPE 128
+
+group {
+ name: "landscape_layout";
+
+ parts {
+
+ part { name: "bg";
+ mouse_events: 0;
+ type: RECT;
+ description { state: "default" 0.0;
+ visible: 1;
+ rel1 { relative: 0.0 0.0;}
+ rel2 { relative: 1.0 1.0;}
+ color: 37 37 37 255;
+ }
+ }
+
+ part {
+ name : "list_content";
+ type: SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ description {
+ visible:1;
+ min: 100 100;
+ fixed: 1 1;
+ state: "default" 0.0;
+ rel1 { relative: 0.0 0.0;to: "bg";}
+ rel2 { relative: 1.0 1.0;to: "bg";}
+ }
+ }
+
+ part {
+ name : "elm.swallow.controlbar";
+ type: SWALLOW;
+ mouse_events:1;
+ scale : 1;
+ description {
+ visible:1;
+ state: "default" 0.0;
+ rel1 { relative: 0.0 (PLAYVIEW_H_LANDSCAPE-PLAYVIEW_CONTROLBAR_H_LANDSCAPE)/PLAYVIEW_H_LANDSCAPE; to: "bg";}
+ rel2 { relative: 1.0 1.0;to: "bg";}
+ }
+ }
+ }
+}
+
+group {
+ name: "empty_layout";
+ parts {
+
+ part { name: "bg";
+ mouse_events: 0;
+ type: RECT;
+ description { state: "default" 0.0;
+ visible: 1;
+ rel1 { relative: 0.0 0.0;
+ offset : 0 0;}
+ rel2 { relative: 1.0 1.0;}
+ color: MP_COLOR_BG_BLACK;
+ }
+ }
+ }
+}
+
+#define TITLE_BOX_H 108
+#define TITLE_BOX_W 720
+
+#define TITLE_SONG_TITLE_H 48
+#define TITLE_ARTIST_NAME_H 40
+
+#define TITILE_PAD 10
+
+#define TITILE_ICON_PAD 2
+#define TITILE_ICON_W 120
+
+#define TITLE_SOUND_PATH_BG_SX ((TITLE_BOX_W-TITILE_ICON_W)/TITLE_BOX_W)
+#define TITLE_SOUND_PATH_BG_SY TITILE_PAD/TITLE_BOX_H
+#define TITLE_SOUND_PATH_BG_EX 1.0
+#define TITLE_SOUND_PATH_BG_EY ((TITLE_BOX_H-TITILE_PAD)/TITLE_BOX_H)
+
+#define TITLE_NEARBY_DEVICE_BG_SX ((TITLE_BOX_W-TITILE_ICON_W*2-TITILE_ICON_PAD)/TITLE_BOX_W)
+#define TITLE_NEARBY_DEVICE_BG_SY TITLE_SOUND_PATH_BG_SY
+#define TITLE_NEARBY_DEVICE_BG_EX (TITLE_SOUND_PATH_BG_SX-TITILE_ICON_PAD/TITLE_BOX_W)
+#define TITLE_NEARBY_DEVICE_BG_EY TITLE_SOUND_PATH_BG_EY
+
+#define TITLE_SONG_TITLE_SX (TITILE_PAD/TITLE_BOX_W)
+#define TITLE_SONG_TITLE_SY (TITILE_PAD/TITLE_BOX_H)
+#define TITLE_SONG_TITLE_EX (TITLE_NEARBY_DEVICE_BG_SX-TITILE_PAD/TITLE_BOX_W)
+#define TITLE_SONG_TITLE_EY ((TITLE_SONG_TITLE_H+TITILE_PAD)/TITLE_BOX_H)
+
+#define TITLE_ARTIST_NAME_SX TITLE_SONG_TITLE_SX
+#define TITLE_ARTIST_NAME_SY TITLE_SONG_TITLE_EY
+#define TITLE_ARTIST_NAME_EX TITLE_SONG_TITLE_EX
+#define TITLE_ARTIST_NAME_EY ((TITLE_BOX_H-TITILE_PAD)/TITLE_BOX_H)
+
+group {
+ name: "player_view_info";
+
+ images {
+ image: "T02_title_icon_nearby_device.png" COMP;
+ image: "T02_title_icon_sound_path.png" COMP;
+ }
+
+ parts {
+
+ part { name: "bg";
+ mouse_events: 0;
+ type : RECT;
+ description { state: "default" 0.0;
+ visible: 1;
+ rel1 { relative: 0.0 0.0;}
+ rel2 { relative: 1.0 1.0;}
+ color: 0 0 0 51;
+ }
+ }
+
+ part { name: "sound_path";
+ mouse_events: 1;
+ type : SWALLOW;
+ description { state: "default" 0.0;
+ rel1 { relative: TITLE_SOUND_PATH_BG_SX TITLE_SOUND_PATH_BG_SY;to: "bg";}
+ rel2 { relative: TITLE_SOUND_PATH_BG_EX TITLE_SOUND_PATH_BG_EY;to: "bg";}
+ }
+ }
+
+ part { name: "nearby_dmr";
+ mouse_events: 1;
+ type : SWALLOW;
+ description { state: "default" 0.0;
+ rel1 { relative: TITLE_NEARBY_DEVICE_BG_SX TITLE_NEARBY_DEVICE_BG_SY;to: "bg";}
+ rel2 { relative: TITLE_NEARBY_DEVICE_BG_EX TITLE_NEARBY_DEVICE_BG_EY;to: "bg";}
+ }
+ }
+
+ part {
+ name : "title";
+ type: TEXT;
+ mouse_events: 1;
+ scale: 1;
+ description {
+ visible:1;
+ state: "default" 0.0;
+ rel1 { relative: TITLE_SONG_TITLE_SX TITLE_SONG_TITLE_SY;to: "bg";}
+ rel2 { relative: TITLE_SONG_TITLE_EX TITLE_SONG_TITLE_EY;to: "bg";}
+ text {
+ font: FONT_STYLE_ROMAN;
+ size: 38;
+ align: 0.0 0.5;
+ }
+ color: 255 255 255 255;
+ }
+ }
+ part {
+ name : "artist_name";
+ type: TEXT;
+ mouse_events: 1;
+ scale: 1;
+ description {
+ visible:1;
+ state: "default" 0.0;
+ rel1 { relative: TITLE_ARTIST_NAME_SX TITLE_ARTIST_NAME_SY;to: "bg";}
+ rel2 { relative: TITLE_ARTIST_NAME_EX TITLE_ARTIST_NAME_EY;to: "bg";}
+ text {
+ font: FONT_STYLE_ROMAN;
+ size: 32;
+ align: 0.0 0.5;
+ }
+ color: 255 255 255 255;
+ }
+ }
+
+ part { name: "separate_line";
+ mouse_events: 0;
+ type : RECT;
+ description { state: "default" 0.0;
+ visible: 1;
+ align: 0.0 0.0;
+ rel1 { relative: 0.0 1.0; offset: 0 -1; to: "bg";}
+ rel2 { relative: 1.0 1.0; to: "bg";}
+ color: 255 255 255 77;
+ }
+ }
+ }
+}
+
+/* sub layout option */
+#define OPTION_BUTTON_H 70
+
+#define MP_FEATURE_INNER_SETTINGS
+#ifdef MP_FEATURE_INNER_SETTINGS
+#define OPTION_BUTTON_W 160
+#define OPTION_BUTTON_PAD_LEFT 13
+#else
+#define OPTION_BUTTON_W 220
+#define OPTION_BUTTON_PAD_LEFT 12
+#endif
+
+#define OPTION_BUTTON_PAD_TOP 4
+#define OPTION_BUTTON_PAD_BUTTON 18
+#define OPTION_SY OPTION_BUTTON_PAD_TOP/PLAYVIEW_OPTION_H
+#define OPTION_EY (OPTION_BUTTON_PAD_TOP+OPTION_BUTTON_H)/PLAYVIEW_OPTION_H
+#define OPTION_1_SX OPTION_BUTTON_PAD_LEFT/HD_PLAYVIEW_W
+#define OPTION_1_EX (OPTION_BUTTON_PAD_LEFT+OPTION_BUTTON_W)/HD_PLAYVIEW_W
+#define OPTION_2_SX (OPTION_BUTTON_PAD_LEFT+OPTION_BUTTON_W+OPTION_BUTTON_PAD_BUTTON)/HD_PLAYVIEW_W
+#define OPTION_2_EX (OPTION_BUTTON_PAD_LEFT+OPTION_BUTTON_W*2+OPTION_BUTTON_PAD_BUTTON)/HD_PLAYVIEW_W
+#define OPTION_3_SX (OPTION_BUTTON_PAD_LEFT+OPTION_BUTTON_W*2+OPTION_BUTTON_PAD_BUTTON*2)/HD_PLAYVIEW_W
+#define OPTION_3_EX (OPTION_BUTTON_PAD_LEFT+OPTION_BUTTON_W*3+OPTION_BUTTON_PAD_BUTTON*2)/HD_PLAYVIEW_W
+#define OPTION_4_SX (OPTION_BUTTON_PAD_LEFT+OPTION_BUTTON_W*3+OPTION_BUTTON_PAD_BUTTON*3)/HD_PLAYVIEW_W
+#define OPTION_4_EX (OPTION_BUTTON_PAD_LEFT+OPTION_BUTTON_W*4+OPTION_BUTTON_PAD_BUTTON*3)/HD_PLAYVIEW_W
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#define PLAYER_PROGRESSBAR_H 9
+#define PLAYER_CIRCLE_W 40
+#define PLAYER_CIRCLE_H 40
+#define PLAYER_CIRCLE_PRESS_W 40
+#define PLAYER_CIRCLE_PRESS_H 40
+
+#define IMG_PLAYER_PROGRESSBAR_BG "lite/core_progress_bar.#.png"
+//#define IMG_PLAYER_PROGRESSBAR "lite/mini_player_bar.#.png"
+#define IMG_PLAYER_PROGRESSBAR_HANDLE "lite/mini_player_button_01.png"
+#define IMG_PLAYER_PROGRESSBAR_HANDLE_PRESS "lite/player_icon_progress_button.png"
+
+group { name: "player_progressbar";
+
+ images {
+ image: IMG_PLAYER_PROGRESSBAR_BG COMP;
+ //image: IMG_PLAYER_PROGRESSBAR COMP;
+ image: IMG_PLAYER_PROGRESSBAR_HANDLE COMP;
+ image: IMG_PLAYER_PROGRESSBAR_HANDLE_PRESS COMP;
+ }
+
+ parts {
+ part { name: "bg";
+ type: RECT;
+ mouse_events: 0;
+ scale: 1;
+ description {
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "progressbar_bg";
+ type: IMAGE;
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: 0.0 0.5; to: "bg";}
+ rel2 { relative: 1.0 0.5; to: "bg";}
+ image { normal: IMG_PLAYER_PROGRESSBAR_BG; }
+ min: 0 PLAYER_PROGRESSBAR_H;
+ max: -1 PLAYER_PROGRESSBAR_H;
+ fixed: 0 1;
+ align: 0.5 0.5;
+ color: 179 179 179 255;
+ }
+ }
+ part { name: "progressbar_current";
+ type: IMAGE;
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; to: "progressbar_bg";}
+ rel2 { relative: 1.0 1.0; to_x: "progressbar_playing"; to_y: "progressbar_bg"; offset: -13 0;}
+ image { normal: IMG_PLAYER_PROGRESSBAR_BG; }
+ min: 0 PLAYER_PROGRESSBAR_H;
+ max: -1 PLAYER_PROGRESSBAR_H;
+ fixed: 0 1;
+ align: 0.5 0.5;
+ color: 0 112 204 255;
+ }
+ }
+ part { name: "progressbar_playing_confine_rect";
+ type: RECT;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ rel1 { relative: 0.0 0.5; to: "progressbar_bg"; offset: -13 0; }
+ rel2 { relative: 1.0 0.5; to: "progressbar_bg"; offset: 13 0; }
+ min: 0 PLAYER_CIRCLE_H;
+ fixed: 0 1;
+ align: 0.0 0.5;
+ }
+ }
+ part { name: "progressbar_playing";
+ type: IMAGE;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ image { normal: IMG_PLAYER_PROGRESSBAR_HANDLE; }
+ min: PLAYER_CIRCLE_W PLAYER_CIRCLE_H;
+ fixed: 1 1;
+ color: 0 112 204 255;
+ }
+ dragable {
+ confine: "progressbar_playing_confine_rect";
+ x: 1 1 1;
+ y: 0 0 0;
+ }
+ }
+ part { name: "progressbar_playing_press_circle";
+ type: IMAGE;
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ image { normal: IMG_PLAYER_PROGRESSBAR_HANDLE_PRESS; }
+ min: PLAYER_CIRCLE_PRESS_W PLAYER_CIRCLE_PRESS_H;
+ color: 0 112 204 255;
+ fixed: 1 1;
+ rel1 { relative: 0.5 0.5; to: "progressbar_playing"; }
+ rel2 { relative: 0.5 0.5; to: "progressbar_playing"; }
+ visible: 0;
+ }
+ description { state: "press" 0.0;
+ inherit: "default";
+ visible: 1;
+ }
+ }
+ part { name: "touch_area";
+ type: RECT;
+ mouse_events: 1;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { to: "bg"; offset: -29 -10; }
+ rel2 { to: "bg"; offset: 29 10; }
+ color: 0 0 0 0;
+ }
+ }
+ }
+
+ programs {
+ program{
+ name: "progress_bar_down";
+ source: "*";
+ signal: "mouse,down,1";
+ action: STATE_SET "press" 0.0;
+ target: "progressbar_playing_press_circle";
+ }
+ program{
+ name: "progress_bar_up";
+ source: "*";
+ signal: "mouse,up,1";
+ action: STATE_SET "default" 0.0;
+ target: "progressbar_playing_press_circle";
+ }
+ }
+}
+
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#define PV_LD_SREEN_W 1280.
+#define PV_LD_SREEN_H 720.
+#define PV_LD_BG_COLOR 248 246 239 255
+#define PV_LD_MV_VIEW_LEFT 112
+#define PV_LD_MV_VIEW_W 496
+#define PV_LD_MV_VIEW_H 160
+
+#define LD_BG_COLOR MP_COLOR_BG_BLACK_TRANSPARENT
+/*player view wave */
+#define PV_LD_MV_LEFT (PV_LD_MV_VIEW_LEFT/PV_LD_SREEN_H)
+#define PV_LD_MV_RIGHT ((PV_LD_MV_VIEW_LEFT+PV_LD_MV_VIEW_W)/PV_LD_SREEN_W)
+/*player view buttong effect*/
+#define PV_LD_BT_W 100.
+#define PV_LD_BT_H 95.
+#define PV_LD_BT_PRESS_W 95.
+#define PV_LD_BT_PRESS_H 103.
+#define PV_LD_BT_PRESS_SX ((1.0-PV_LD_BT_PRESS_W/PV_LD_BT_W)/2)
+#define PV_LD_BT_PRESS_SY ((1.0-PV_LD_BT_PRESS_H/PV_LD_BT_H)/2)
+#define PV_LD_BT_PRESS_EX (PV_LD_BT_PRESS_SX+PV_LD_BT_PRESS_W/PV_LD_BT_W)
+#define PV_LD_BT_PRESS_EY (PV_LD_BT_PRESS_SY+PV_LD_BT_PRESS_H/PV_LD_BT_H)
+#define PV_LD_BT_PRESS_BG_COLOR 240 240 240 155
+
+/* album art area */
+#define PV_LD_ALBUM_AREA_W 720.
+#define PV_LD_ALBUM_AREA_H 720.
+#define PV_LD_ALBUM_AREA_TOP_H 0.
+#define PV_LD_ALBUM_THUMNAIL_BG_W 720
+#define PV_LD_ALBUM_THUMNAIL_BG_H 720.
+#define PV_LD_ALBUM_TURN_TABLE_W 720./*484*/
+#define PV_LD_ALBUM_TURN_TABLE_H 720./*497*/
+#define PV_LD_ALBUM_IMAGE_W 720.
+#define PV_LD_ALBUM_IMAGE_H 720.
+#define PV_LD_ALBUM_IMAGE_TOP_H 8.
+#define PV_LD_ALBUM_IMAGE_BOTTOM_H 25.
+#define PV_LD_ALBUM_IMAGE_LEFT_W 15.
+#define PV_LD_ALBUM_IMAGE_RIGHT_W 16.
+#define PV_LD_ALBUM_IMAGE_FLICK_TIMER 0.5
+
+#define PV_LD_ALBUM_PLAYING_LEFT_W 14.
+#define PV_LD_ALBUM_PLAYING_RIGHT_W 14.
+#define PV_LD_ALBUM_TURN_TABLE_LEFT_W 160./*198*/
+#define PV_LD_ALBUM_TURN_TABLE_TOP_H 14.
+#define PV_LD_ALBUM_TURN_TABLE_MOVE_W 100.
+#define PV_LD_ALBUM_TURN_TABLE_MOVE_TIMER 0.2
+#define PV_LD_ALBUM_TURN_TABLE_FLICK_OFFSET 0.2
+
+#define PV_LD_RIGHT_AREA_W 560
+
+#define PV_LD_ALBUM_THUMNAIL_BG "player-view/T02_album_thumbnail_bg_h.png"
+#define PV_CAST_ALBUM_BG_1 "player-view/T02_player_album_bg_01.png"
+
+/* options */
+#define PV_LD_OPTIONS_AREA_W PV_LD_RIGHT_AREA_W
+#define PV_LD_OPTIONS_AREA_H 54
+#define PV_LD_OPTIONS_AREA_TOP_H 8
+#define PV_LD_OPTIONS_AREA_LEFT_W 26
+#define PV_LD_OPTIONS_AREA_LEFT2_W 173
+#define PV_LD_OPTIONS_AREA_RIGHT_W 26
+#define PV_LD_OPTIONS_AREA_RIGHT2_W 174
+#define PV_LD_OPTIONS_AREA_IMAGE_SIZE 54
+#define PV_LD_OPTIONS_VOLUME_POPUP_TOP 14
+#define PV_LD_OPTIONS_VOLUME_POPUP_W 116
+#define PV_LD_OPTIONS_VOLUME_POPUP_H 438
+
+#define PV_LD_OPTIONS_AREA_SY (458/PV_LD_SREEN_H)
+#define PV_LD_OPTIONS_AREA_EY (PV_LD_OPTIONS_AREA_SY+PV_LD_OPTIONS_AREA_H/PV_LD_SREEN_H)
+
+/*#define PV_LD_OPTION_VOLUME_SX (PV_LD_OPTIONS_AREA_LEFT_W/PV_LD_OPTIONS_AREA_W)
+#define PV_LD_OPTION_VOLUME_EX (PV_LD_OPTION_VOLUME_SX+PV_LD_OPTIONS_AREA_IMAGE_SIZE/PV_LD_OPTIONS_AREA_W)
+
+#define PV_LD_OPTION_SHUFFLE_ON_SX (PV_LD_OPTION_VOLUME_EX+PV_LD_OPTIONS_AREA_LEFT2_W/PV_LD_OPTIONS_AREA_W)
+#define PV_LD_OPTION_SHUFFLE_ON_EX (PV_LD_OPTION_SHUFFLE_ON_SX+PV_LD_OPTIONS_AREA_IMAGE_SIZE/PV_LD_OPTIONS_AREA_W)
+
+#define PV_LD_OPTION_INFO_SX (PV_LD_OPTION_SHUFFLE_ON_EX+PV_LD_OPTIONS_AREA_LEFT2_W/PV_LD_OPTIONS_AREA_W)
+#define PV_LD_OPTION_INFO_EX (PV_LD_OPTION_INFO_SX+PV_LD_OPTIONS_AREA_IMAGE_SIZE/PV_LD_OPTIONS_AREA_W)
+
+#define PV_LD_OPTION_REP_SX (PV_LD_OPTION_REP_EX-PV_LD_OPTIONS_AREA_IMAGE_SIZE/PV_LD_OPTIONS_AREA_W)
+#define PV_LD_OPTION_REP_EX (PV_LD_OPTION_FAVOURITE_ON_SX-PV_LD_OPTIONS_AREA_RIGHT2_W/PV_LD_OPTIONS_AREA_W)
+
+//add favourite begin
+#define PV_LD_OPTION_FAVOURITE_ON_SX (PV_LD_OPTION_FAVOURITE_ON_EX-PV_LD_OPTIONS_AREA_IMAGE_SIZE/PV_LD_OPTIONS_AREA_W)
+#define PV_LD_OPTION_FAVOURITE_ON_EX (1-PV_LD_OPTIONS_AREA_RIGHT_W/PV_LD_OPTIONS_AREA_W)
+//add favourite end
+*/
+
+#define PV_LD_OPTION_SHUFFLE_ON_SX (PV_LD_OPTIONS_AREA_LEFT_W/PV_LD_OPTIONS_AREA_W)
+#define PV_LD_OPTION_SHUFFLE_ON_EX (PV_LD_OPTION_SHUFFLE_ON_SX+PV_LD_OPTIONS_AREA_IMAGE_SIZE/PV_LD_OPTIONS_AREA_W)
+
+#define PV_LD_OPTION_FAVOURITE_ON_SX (PV_LD_OPTION_SHUFFLE_ON_EX+PV_LD_OPTIONS_AREA_LEFT2_W/PV_LD_OPTIONS_AREA_W)
+#define PV_LD_OPTION_FAVOURITE_ON_EX (PV_LD_OPTION_FAVOURITE_ON_SX+PV_LD_OPTIONS_AREA_IMAGE_SIZE/PV_LD_OPTIONS_AREA_W)
+
+#define PV_LD_OPTION_REP_SX (PV_LD_OPTION_FAVOURITE_ON_EX+PV_LD_OPTIONS_AREA_RIGHT2_W/PV_LD_OPTIONS_AREA_W)
+#define PV_LD_OPTION_REP_EX (1-PV_LD_OPTIONS_AREA_RIGHT_W/PV_OPTIONS_AREA_W)
+
+#define PV_LD_CONTROL_CIRCLE_BT_03 "player-view/T02_control_circle_button_03.png"
+#define PV_LD_CONTROL_CIRCLE_BT_03_PRESS "player-view/T02_control_circle_button_03_press.png"
+#define PV_LD_OPTION_VOLUME "player-view/T02_option_volume.png"
+#define PV_LD_OPTION_VOLUME_PRESS "player-view/T02_option_volume_press.png"
+#define PV_LD_OPTION_SHUFFLE_ON "player-view/T02_option_shuffle_on.png"
+#define PV_LD_OPTION_SHUFFLE_OFF "player-view/T02_option_shuffle_off.png"
+#define PV_LD_OPTION_SHUFFLE_ON_PRESS "player-view/T02_option_shuffle_on_press.png"
+#define PV_LD_OPTION_REP_A "player-view/T02_option_rep_A.png"
+#define PV_LD_OPTION_REP_A_PRESS "player-view/T02_option_rep_A_press.png"
+#define PV_LD_OPTION_REP_1 "player-view/T02_option_rep_1.png"
+#define PV_LD_OPTION_REP_1_PRESS "player-view/T02_option_rep_1_press.png"
+#define PV_LD_OPTION_REP_ALL "player-view/T02_option_rep_all.png"
+#define PV_LD_OPTION_REP_ALL_PRESS "player-view/T02_option_rep_all_press.png"
+#define PV_LD_OPTION_INFO "player-view/T02_option_info.png"
+#define PV_LD_OPTION_INFO_PRESS "player-view/T02_option_info_press.png"
+//add favourite begin
+#define PV_LD_OPTION_FAVOURITE_ON "player-view/T02_option_favorite.png"
+#define PV_LD_OPTION_FAVOURITE_OFF "player-view/T02_option_favorite_dim.png"
+#define PV_LD_OPTION_FAVOURITE_ON_PRESS "player-view/T02_option_favorite_press.png"
+//add favourite end
+
+#define PV_LD_PROGRESS_BG "player-view/T02_player_bg_h.png"
+#define PV_LD_PROGRESS_BG_H 254
+
+/* progress */
+#define PV_LD_PROGRESS_AREA_W PV_LD_RIGHT_AREA_W
+#define PV_LD_PROGRESS_AREA_H 57
+#define PV_LD_PROGRESS_TEXT_W 122
+#define PV_LD_PROGRESS_TEXT_TOP_H 18
+#define PV_LD_PROGRESS_TEXT_H 26
+#define PV_LD_PROGRESS_TEXT_FONT "Tizen:style=Regular"
+#define PV_LD_PROGRESS_TEXT_SIZE 23
+#define PV_LD_PROGRESS_TEXT_COLOR 58 58 58 255
+
+#define PV_LD_PROGRESS_AREA_SY (PV_LD_OPTIONS_AREA_SY+99/PV_LD_SREEN_H)
+#define PV_LD_PROGRESS_AREA_EY (PV_LD_PROGRESS_AREA_SY+(PV_LD_PROGRESS_AREA_H/PV_LD_SREEN_H))
+#define PV_LD_WAVE_AREA_SY (PV_LD_PROGRESS_AREA_SY-(120/PV_LD_SREEN_H))
+
+#define PV_LD_PROGRESS_LEFT_TEXT_SY (PV_LD_PROGRESS_TEXT_TOP_H/PV_LD_PROGRESS_AREA_H)
+#define PV_LD_PROGRESS_LEFT_TEXT_EX (PV_LD_PROGRESS_TEXT_W/PV_LD_PROGRESS_AREA_W)
+#define PV_LD_PROGRESS_LEFT_TEXT_EY (PV_LD_PROGRESS_LEFT_TEXT_SY+PV_LD_PROGRESS_TEXT_H/PV_LD_PROGRESS_AREA_H)
+
+#define PV_LD_PROGRESS_RIGHT_TEXT_SX (1-PV_LD_PROGRESS_TEXT_W/PV_LD_PROGRESS_AREA_W)
+#define PV_LD_PROGRESS_RIGHT_TEXT_SY PV_LD_PROGRESS_LEFT_TEXT_SY
+#define PV_LD_PROGRESS_RIGHT_TEXT_EY PV_LD_PROGRESS_LEFT_TEXT_EY
+
+#define PV_LD_PROGRESSBAR_SX ((PV_LD_PROGRESS_TEXT_W)/PV_LD_PROGRESS_AREA_W)
+#define PV_LD_PROGRESSBAR_EX ((PV_LD_PROGRESS_AREA_W-PV_LD_PROGRESS_TEXT_W)/PV_LD_PROGRESS_AREA_W)
+
+/* control */
+#define PV_LD_CONTROL_AREA_W PV_LD_RIGHT_AREA_W
+#define PV_LD_CONTROL_AREA_H 104
+#define PV_LD_CONTROL_PREVIOUS_SZIE 84
+#define PV_LD_CONTROL_PLAY_SIZE 104
+#define PV_LD_CONTROL_NEXT_SZIE 84
+#define PV_LD_CONTROL_INTERVAL 24
+#define PV_LD_CONTROL_ICON_SIZE 70
+#define PV_LD_CONTROL_ICON_INTERVAL 40
+#define PV_LD_CONTROL_LEFT_W ((PV_LD_CONTROL_AREA_W-PV_LD_CONTROL_PREVIOUS_SZIE-PV_LD_CONTROL_PLAY_SIZE-PV_LD_CONTROL_NEXT_SZIE-PV_LD_CONTROL_INTERVAL*2)/2)
+
+#define PV_LD_CONTROL_AREA_SY ((PV_LD_SREEN_H-PV_LD_CONTROL_AREA_H-2)/PV_LD_SREEN_H)
+#define PV_LD_CONTROL_AREA_EY (PV_LD_CONTROL_AREA_SY+(PV_LD_CONTROL_AREA_H/PV_LD_SREEN_H))
+
+#define PV_LD_CONTROL_VOLUME_SX (PV_LD_CONTROL_VOLUME_EX-PV_LD_CONTROL_ICON_SIZE/PV_LD_CONTROL_AREA_W)
+#define PV_LD_CONTROL_VOLUME_SY (((PV_LD_CONTROL_AREA_H-PV_LD_CONTROL_ICON_SIZE)/PV_LD_CONTROL_AREA_H)/2)
+#define PV_LD_CONTROL_VOLUME_EX (PV_LD_CONTROL_PREVIOUS_SX-PV_LD_CONTROL_ICON_INTERVAL/PV_LD_CONTROL_AREA_W)
+#define PV_LD_CONTROL_VOLUME_EY (PV_LD_CONTROL_VOLUME_SY+PV_LD_CONTROL_ICON_SIZE/PV_LD_CONTROL_AREA_H)
+
+#define PV_LD_CONTROL_PREVIOUS_SX (PV_LD_CONTROL_LEFT_W/PV_LD_CONTROL_AREA_W)
+#define PV_LD_CONTROL_PREVIOUS_SY (((PV_LD_CONTROL_AREA_H-PV_LD_CONTROL_PREVIOUS_SZIE)/PV_LD_CONTROL_AREA_H)/2)
+#define PV_LD_CONTROL_PREVIOUS_EX (PV_LD_CONTROL_PREVIOUS_SX+PV_LD_CONTROL_PREVIOUS_SZIE/PV_LD_CONTROL_AREA_W)
+#define PV_LD_CONTROL_PREVIOUS_EY (PV_LD_CONTROL_PREVIOUS_SY+PV_LD_CONTROL_PREVIOUS_SZIE/PV_LD_CONTROL_AREA_H)
+
+#define PV_LD_CONTROL_PLAY_SX (PV_LD_CONTROL_PREVIOUS_EX+PV_LD_CONTROL_INTERVAL/PV_LD_CONTROL_AREA_W)
+#define PV_LD_CONTROL_PLAY_SY (((PV_LD_CONTROL_AREA_H-PV_LD_CONTROL_PLAY_SIZE)/PV_LD_CONTROL_AREA_H)/2)
+#define PV_LD_CONTROL_PLAY_EX (PV_LD_CONTROL_PLAY_SX+PV_LD_CONTROL_PLAY_SIZE/PV_LD_CONTROL_AREA_W)
+#define PV_LD_CONTROL_PLAY_EY (PV_LD_CONTROL_PLAY_SY+PV_LD_CONTROL_PLAY_SIZE/PV_LD_CONTROL_AREA_H)
+
+#define PV_LD_CONTROL_NEXT_SX (PV_LD_CONTROL_PLAY_EX+PV_LD_CONTROL_INTERVAL/PV_LD_CONTROL_AREA_W)
+#define PV_LD_CONTROL_NEXT_SY (((PV_LD_CONTROL_AREA_H-PV_LD_CONTROL_NEXT_SZIE)/PV_LD_CONTROL_AREA_H)/2)
+#define PV_LD_CONTROL_NEXT_EX (PV_LD_CONTROL_NEXT_SX+PV_LD_CONTROL_NEXT_SZIE/PV_LD_CONTROL_AREA_W)
+#define PV_LD_CONTROL_NEXT_EY (PV_LD_CONTROL_NEXT_SY+PV_LD_CONTROL_NEXT_SZIE/PV_LD_CONTROL_AREA_H)
+
+#define PV_LD_CONTROL_QUEUE_SX (PV_LD_CONTROL_NEXT_EX+PV_LD_CONTROL_ICON_INTERVAL/PV_LD_CONTROL_AREA_W)
+#define PV_LD_CONTROL_QUEUE_SY (((PV_LD_CONTROL_AREA_H-PV_LD_CONTROL_ICON_SIZE)/PV_LD_CONTROL_AREA_H)/2)
+#define PV_LD_CONTROL_QUEUE_EX (PV_LD_CONTROL_QUEUE_SX+PV_LD_CONTROL_ICON_SIZE/PV_LD_CONTROL_AREA_W)
+#define PV_LD_CONTROL_QUEUE_EY (PV_LD_CONTROL_QUEUE_SY+PV_LD_CONTROL_ICON_SIZE/PV_LD_CONTROL_AREA_H)
+
+#define PV_LD_CONTROL_CIRCLE_BT_01 "player-view/T02_control_circle_button_01.png"
+#define PV_LD_CONTROL_CIRCLE_BT_01_PRESS "player-view/T02_control_circle_button_01_press.png"
+#define PV_LD_CONTROL_CIRCLE_BT_01_FOCUS "player-view/T02_control_circle_button_01_focus.png"
+#define PV_LD_CONTROL_CIRCLE_BT_02 "player-view/T02_control_circle_button_02.png"
+#define PV_LD_CONTROL_CIRCLE_BT_02_PRESS "player-view/T02_control_circle_button_02_press.png"
+#define PV_LD_CONTROL_PREVIOUS "player-view/T02_control_circle_icon_rewind.png"
+#define PV_LD_CONTROL_PREVIOUS_PRESS "player-view/T02_control_circle_icon_rewind_press.png"
+#define PV_LD_CONTROL_PLAY "player-view/T02_control_circle_icon_play.png"
+#define PV_LD_CONTROL_PLAY_PRESS "player-view/T02_control_circle_icon_play_press.png"
+#define PV_LD_CONTROL_PAUSE "player-view/T02_control_circle_icon_pause.png"
+#define PV_LD_CONTROL_PAUSE_PRESS "player-view/T02_control_circle_icon_pause_press.png"
+#define PV_LD_CONTROL_NEXT "player-view/T02_control_circle_icon_ff.png"
+#define PV_LD_CONTROL_NEXT_PRESS "player-view/T02_control_circle_icon_ff_press.png"
+
+/* lyric */
+#define PV_LD_LYRIC_AREA_W (PV_LD_ALBUM_AREA_W-10)
+#define PV_LD_LYRIC_AREA_H 655
+
+#define PV_LD_LYRIC_TOP_H 18
+#define PV_LD_LYRIC_W 14
+#define PV_LD_LYRIC_H 600
+#define PV_LD_LYRIC_LEFT_W ((PV_LD_LYRIC_AREA_W-PV_LD_LYRIC_W)/2)
+#define PV_LD_LYRIC_BG_COLOR 0 0 0 190 /*248 246 239 204*/
+
+#define PV_LD_LYRIC_AREA_SY (PV_LD_LYRIC_TOP_H/PV_LD_ALBUM_AREA_W)
+#define PV_LD_LYRIC_AREA_EY 1
+
+#define PV_LD_LYRIC_SX (PV_LD_LYRIC_LEFT_W/PV_LD_LYRIC_AREA_W)
+#define PV_LD_LYRIC_SY (PV_LD_LYRIC_TOP_H/PV_LD_LYRIC_AREA_H)
+#define PV_LD_LYRIC_EX (PV_LD_LYRIC_SX+PV_LD_LYRIC_W/PV_LD_LYRIC_AREA_W)
+#define PV_LD_LYRIC_EY (PV_LD_LYRIC_SY+PV_LD_LYRIC_H/PV_LD_LYRIC_AREA_W)
+
+/* Custom Macro */
+#define PV_LD_PART_RECT(__name, __to, __sx, __sy, __ex, __ey) \
+part { \
+ name: __name; \
+ mouse_events: 1; \
+ repeat_events: 1; \
+ type: RECT; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0 0; \
+ visible: 1; \
+ rel1 { \
+ relative: __sx __sy; \
+ to: __to; \
+ } \
+ rel2 { \
+ relative: __ex __ey; \
+ to: __to; \
+ } \
+ color: 0 0 0 0; \
+ }\
+ description { \
+ state: "hide" 0.0; \
+ visible: 0; \
+ }\
+}
+
+#define PV_LD_PART_NO_TRANSPANCE_RECT(__name, __to, __sx, __sy, __ex, __ey) \
+part { \
+ name: __name; \
+ mouse_events: 1; \
+ repeat_events: 0; \
+ type: RECT; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ visible: 0; \
+ } \
+ description { \
+ state: "show" 0.0; \
+ align: 0 0; \
+ visible: 1; \
+ rel1 { \
+ relative: __sx __sy; \
+ to: __to; \
+ } \
+ rel2 { \
+ relative: __ex __ey; \
+ to: __to; \
+ } \
+ color: PV_LD_BG_COLOR; \
+ } \
+}
+
+#define PV_LD_PART_SWALLOW_OPTION(__name, __to, __sx, __sy, __ex, __ey) \
+part { \
+ name: __name; \
+ mouse_events: 1; \
+ type: SWALLOW; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0.5 0.5; \
+ fixed: 1 1; \
+ visible: 1; \
+ rel1 { \
+ relative: __sx __sy; \
+ to: __to; \
+ } \
+ rel2 { \
+ relative: __ex __ey; \
+ to: __to; \
+ } \
+ color: 0 0 0 0; \
+ } \
+ description { \
+ state: "invisible" 0.0; \
+ inherit: "default"; \
+ visible: 0; \
+ } \
+}
+
+#define PV_LD_PART_SWALLOW(__name, __to, __sx, __sy, __ex, __ey) \
+part { \
+ name: __name; \
+ mouse_events: 1; \
+ type: SWALLOW; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0.5 0.5; \
+ visible: 1; \
+ fixed: 1 1; \
+ rel1 { \
+ relative: __sx __sy; \
+ to: __to; \
+ } \
+ rel2 { \
+ relative: __ex __ey; \
+ to: __to; \
+ } \
+ color: 248 246 239 255; \
+ } \
+}
+
+#define PV_LD_LYRIC_PROG \
+program {\
+ signal: "lrc_invisible";\
+ source: "lrc";\
+ action: STATE_SET "default" 0.0;\
+ target: "lrc";\
+ target: "lrc_bg";\
+ transition: LINEAR 0.0;\
+}\
+program {\
+ signal: "lrc_visible";\
+ source: "lrc";\
+ action: STATE_SET "show" 0.0;\
+ target: "lrc";\
+ target: "lrc_bg";\
+ transition: LINEAR 0.0;\
+}\
+program {\
+ signal: "lrc_destroy";\
+ source: "lrc";\
+ action: STATE_SET "default" 0.0;\
+ target: "lrc";\
+ target: "lrc_bg";\
+}
+
+
+group {
+ name: "player_view_ld";
+
+ images {
+ image: PV_LD_ALBUM_THUMNAIL_BG COMP;
+ image: PV_LD_CONTROL_CIRCLE_BT_03 COMP;
+ image: PV_LD_CONTROL_CIRCLE_BT_03_PRESS COMP;
+ image: PV_LD_OPTION_VOLUME COMP;
+ image: PV_LD_OPTION_VOLUME_PRESS COMP;
+ image: PV_LD_OPTION_SHUFFLE_ON COMP;
+ image: PV_LD_OPTION_SHUFFLE_OFF COMP;
+ image: PV_LD_OPTION_SHUFFLE_ON_PRESS COMP;
+ image: PV_LD_OPTION_REP_A COMP;
+ image: PV_LD_OPTION_REP_A_PRESS COMP;
+ image: PV_LD_OPTION_REP_1 COMP;
+ image: PV_LD_OPTION_REP_1_PRESS COMP;
+ image: PV_LD_OPTION_REP_ALL COMP;
+ image: PV_LD_OPTION_REP_ALL_PRESS COMP;
+ image: PV_LD_OPTION_INFO COMP;
+ image: PV_LD_OPTION_INFO_PRESS COMP;
+ image: PV_LD_OPTION_FAVOURITE_ON COMP; //add favourite begin
+ image: PV_LD_OPTION_FAVOURITE_OFF COMP;
+ image: PV_LD_OPTION_FAVOURITE_ON_PRESS COMP; //add favourite end
+ image: PV_LD_CONTROL_CIRCLE_BT_01 COMP;
+ image: PV_LD_CONTROL_CIRCLE_BT_01_PRESS COMP;
+ image: PV_LD_CONTROL_CIRCLE_BT_02 COMP;
+ image: PV_LD_CONTROL_CIRCLE_BT_02_PRESS COMP;
+ image: PV_LD_CONTROL_PREVIOUS COMP;
+ image: PV_LD_CONTROL_PREVIOUS_PRESS COMP;
+ image: PV_LD_CONTROL_PLAY COMP;
+ image: PV_LD_CONTROL_PLAY_PRESS COMP;
+ image: PV_LD_CONTROL_PAUSE COMP;
+ image: PV_LD_CONTROL_PAUSE_PRESS COMP;
+ image: PV_LD_CONTROL_NEXT COMP;
+ image: PV_LD_CONTROL_NEXT_PRESS COMP;
+ image: PV_LD_PROGRESS_BG COMP;
+ }
+
+ parts {
+ part {
+ name: "bg";
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ fixed: 1 1;
+ rel1 { relative: 0.0 0.0;}
+ rel2 { relative: 1.0 1.0;}
+ color: MP_COLOR_BG_BLACK_TRANSPARENT;
+ }
+ }
+
+ part{ name : "right_bg";
+ type: RECT;
+ scale : 1;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ rel1 { relative: 1 0;}
+ rel2 { relative: 1 1;}
+ min: 560 0;
+ fixed: 1 0;
+ align: 1.0 0.0;
+ color: LD_BG_COLOR;
+ }
+ description {
+ state: "hide_albumart" 0.0;
+ inherit: "default" 0.0;
+ align: 0.0 0.0;
+ rel1{relative: 0 0;}
+ rel2{relative: 1 1;}
+ }
+ }
+
+
+ part {
+ name: "left_area";
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 1 0;
+ fixed: 1 1;
+ rel1 { relative: 0.0 0.0;}
+ rel2 { relative: 0.0 1.0; to: "right_bg"; }
+ }
+ description {
+ state: "hide_albumart" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+
+ /* album image */
+ part {
+ name : "album_image";
+ type: SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ clip_to: "left_area";
+ description {
+ state: "default" 0.0;
+ min: PV_LD_ALBUM_THUMNAIL_BG_W PV_LD_ALBUM_THUMNAIL_BG_W;
+ fixed :1 1;
+ rel1 { relative: 0 0;to: "right_bg";offset:-720 0;}
+ rel2 {relative: 0 1; to: "right_bg";}
+ }
+ }
+
+ /* UHQ icon */
+ part { name: "right_top_for_uhq";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 1.0 0.0; to: "album_image"; }
+ rel2 { relative: 1.0 0.0; to: "album_image"; }
+ min: 20 15;
+ fixed: 1 1;
+ align: 1.0 0.0;
+ }
+ }
+ part { name: "uhq_icon_area";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "left_area";
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 1.0; to: "right_top_for_uhq"; }
+ rel2 { relative: 0.0 1.0; to: "right_top_for_uhq"; }
+ min: 63 39;
+ max: 63 39;
+ fixed: 1 1;
+ align: 1.0 0.0;
+ }
+ }
+
+ part {
+ name: "buffering_area";
+ type: SWALLOW;
+ mouse_events: 0;
+ scale: 1;
+ clip_to: "left_area";
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ min: 100 100;
+ align: 1.0 1.0;
+ fixed: 1 1;
+ rel1 { relative: 1.0 1.0; to: "album_image"; }
+ rel2 { relative: 1.0 1.0; to: "album_image"; }
+ }
+ }
+
+ part {
+ name : "album_image_left";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "left_area";
+ description {
+ state: "default" 0.0;
+ min: PV_LD_ALBUM_THUMNAIL_BG_W PV_LD_ALBUM_THUMNAIL_BG_W;
+ max: PV_LD_ALBUM_THUMNAIL_BG_W PV_LD_ALBUM_THUMNAIL_BG_W;
+ fixed: 1 1;
+ align: 1 0;
+ rel1 { relative: 0.0 0.0; to: "album_image"; }
+ rel2 { relative: 0.0 1.0; to: "album_image"; }
+ }
+ }
+
+ part {
+ name : "album_image_right";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "left_area";
+ description {
+ state: "default" 0.0;
+ min: PV_LD_ALBUM_THUMNAIL_BG_W PV_LD_ALBUM_THUMNAIL_BG_W;
+ max: PV_LD_ALBUM_THUMNAIL_BG_W PV_LD_ALBUM_THUMNAIL_BG_W;
+ fixed: 1 1;
+ align: 0 0;
+ rel1 { relative: 1.0 0.0; to: "album_image"; }
+ rel2 { relative: 1.0 1.0; to: "album_image"; }
+ }
+ }
+
+ part { name: "event_box";
+ type : SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: 0 0; to: "left_area";}
+ rel2 {relative: 1 1; to: "left_area";}
+ }
+ }
+
+ part {
+ name: "nearby_area";
+ type : RECT;
+ clip_to: "left_area";
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ }
+ description {
+ state: "show" 0.0;
+ visible: 1;
+ align: 0.0 0.0;
+ color: 0 0 0 51;
+ rel1 { relative: 0 0; to: "left_area";}
+ rel2 {relative: 1 1; to: "left_area";}
+ }
+ }
+
+
+ part {
+ name: "nearby_allshare";
+ type : IMAGE;
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ rel1 { relative: 0 0; to: "nearby_area"; offset: 7 12; }
+ rel2 { relative: 0 0; to: "nearby_area"; offset: 7 12; }
+ image { normal: PV_OPTION_ALL_SHARE; }
+ align: 0.0 0.0;
+ min: 124 100;
+ max: 124 100;
+ fixed: 1 1;
+ }
+ description {
+ state: "show" 0.0;
+ inherit: "default" 0.0;
+ visible:1;
+ }
+ }
+
+ /* lyric */
+ PV_LD_PART_RECT("lrc_area", "left_area", 0, PV_LD_LYRIC_AREA_SY, 1.0, PV_LD_LYRIC_AREA_EY)
+ part {
+ name: "lrc_bg";
+ mouse_events: 1;
+ repeat_events: 1;
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0 0;
+ visible: 0;
+ rel1 {
+ relative: 0 0;
+ to: "left_area";
+ }
+ rel2 {
+ relative: 1 1;
+ to: "left_area";
+ }
+ color: PV_LD_LYRIC_BG_COLOR;
+ }
+ description { state: "show" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+
+ part {
+ name: "lrc";
+ type: SWALLOW;
+ mouse_events: 1;
+ repeat_events: 1;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ rel1 {
+ relative: 0 0;
+ to: "lrc_area";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to: "lrc_area";
+ }
+ }
+ description { state: "show" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+
+ /* queue list */
+ part {
+ name: "queue_list_area";
+ mouse_events: 1;
+ type: SWALLOW;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0 0;
+ visible: 0;
+ rel1 { relative: 0.0 0.0; to: "left_area";}
+ rel2 { relative: 1.0 1.0; to: "left_area";}
+ }
+ description { state: "show" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+
+ /*right parts*/
+ part{ name : "right_title";
+ type: SWALLOW;
+ scale : 1;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ rel1.to: "right_bg";
+ rel2.to: "right_bg";
+ }
+ }
+
+ /* progress bg image */
+ part {
+ name: "player_bg";
+ type: IMAGE;
+ mouse_events: 1;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 1.0 0;
+ visible:0;
+ image { normal: PV_LD_PROGRESS_BG; }
+ min: 0 PV_LD_PROGRESS_BG_H;
+ fixed: 1 1;
+ rel1 {
+ relative: 0.0 (PV_LD_SREEN_H - PV_LD_PROGRESS_BG_H)/PV_LD_SREEN_H;
+ to: "right_bg";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to: "right_bg";
+ }
+ }
+ }
+ /* options */
+ part { name: "options_area";
+ type : SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ repeat_events: 1;
+ description {
+ state: "default" 0.0;
+ min: 0 PV_LD_OPTIONS_AREA_H;
+ fixed: 1 1;
+ visible: 1;
+ rel1 {
+ relative: 0 PV_LD_OPTIONS_AREA_SY;
+ to: "right_bg";
+ }
+ rel2 {
+ relative: 1 PV_LD_OPTIONS_AREA_EY;
+ to: "right_bg";
+ }
+ }
+ }
+
+ /* progress */
+ PV_LD_PART_RECT("progress_area", "right_bg", 0, PV_LD_PROGRESS_AREA_SY, 1, PV_LD_PROGRESS_AREA_EY)
+ PV_LD_PART_SWALLOW("progress_box", "progress_area", 0, 0, 1, 1)
+
+ /* control */
+ part { name: "control_area";
+ type : SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ repeat_events: 1;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ rel1 {
+ relative: 0 PV_LD_CONTROL_AREA_SY;
+ to: "right_bg";
+ }
+ rel2 {
+ relative: 1 PV_LD_CONTROL_AREA_EY;
+ to: "right_bg";
+ }
+ }
+ }
+
+ /* volume popup */
+ part {
+ name: "volume_popup";
+ type: SWALLOW;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: PV_LD_OPTIONS_VOLUME_POPUP_W PV_LD_OPTIONS_VOLUME_POPUP_H;
+ max: PV_LD_OPTIONS_VOLUME_POPUP_W PV_LD_OPTIONS_VOLUME_POPUP_H;
+ fixed: 1 1;
+ align: 0.0 0.0;
+ rel1 {
+ relative: 22/PV_LD_RIGHT_AREA_W 10/PV_SREEN_H;
+ to: "right_bg";
+ }
+ rel2 {
+ relative: 22/PV_LD_RIGHT_AREA_W 10/PV_SREEN_H;
+ to: "right_bg";
+ }
+ }
+ }
+
+ part {
+ name: "nearby_control_area";
+ type : SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ repeat_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ }
+ description {
+ state: "show" 0.0;
+ min: 96 441;
+ max: 96 441;
+ fixed: 1 1;
+ visible: 1;
+ align: 0.0 0.0;
+ rel1 {
+ relative: 22/PV_LD_RIGHT_AREA_W 10/PV_SREEN_H;
+ to: "right_bg";
+ }
+ rel2 {
+ relative: 22/PV_LD_RIGHT_AREA_W 10/PV_SREEN_H;
+ to: "right_bg";
+ }
+ }
+ }
+ }
+
+ programs {
+
+ /* queue list */
+ program {
+ name : "show_queue_list";
+ signal : "SHOW_QUEUE_LIST";
+ source : "music_app";
+ action : STATE_SET "show" 0.0;
+ target : "queue_list_area";
+ }
+ program {
+ name : "hide_queue_list";
+ signal : "HIDE_QUEUE_LIST";
+ source : "music_app";
+ action : STATE_SET "default" 0.0;
+ target : "queue_list_area";
+ }
+
+ program {
+ name : "nearby_area_show";
+ signal : "SHOW_NEARBY_AREA";
+ source : "music_app";
+ action : STATE_SET "show" 0.0;
+ target : "nearby_area";
+ target : "nearby_control_area";
+ target : "nearby_allshare";
+ }
+
+ program {
+ name : "nearby_area_hide";
+ signal : "HIDE_NEARBY_AREA";
+ source : "music_app";
+ action : STATE_SET "default" 0.0;
+ target : "nearby_area";
+ target : "nearby_control_area";
+ target : "nearby_allshare";
+ }
+
+ program {
+ name : "set_hide_albumart";
+ signal : "set_hide_albumart";
+ source : "*";
+ action : STATE_SET "hide_albumart" 0.0;
+ target : "right_bg";
+ target : "left_area";
+ }
+ program {
+ name : "set_show_albumart";
+ signal : "set_show_albumart";
+ source : "*";
+ action : STATE_SET "default" 0.0;
+ target : "right_bg";
+ target : "left_area";
+ }
+
+ /* lyric */
+ PV_LD_LYRIC_PROG
+ }
+}
+
+/* options */
+group {
+ name: "player_view_option_area_ld";
+ parts {
+ part { name: "bg";
+ type : RECT;
+ mouse_events: 1;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ color: 0 0 0 0;
+ }
+ }
+
+ //PV_LD_PART_SWALLOW_OPTION("options_volume", "bg", PV_LD_OPTION_VOLUME_SX, 0, PV_LD_OPTION_VOLUME_EX, 1)
+ PV_LD_PART_SWALLOW_OPTION("options_shuffle_on", "bg", PV_LD_OPTION_SHUFFLE_ON_SX, 0, PV_LD_OPTION_SHUFFLE_ON_EX, 1)
+ PV_LD_PART_SWALLOW_OPTION("options_shuffle_off", "bg", PV_LD_OPTION_SHUFFLE_ON_SX, 0, PV_LD_OPTION_SHUFFLE_ON_EX, 1)
+ MP_FOCUSED_COVER("shuffle", "options_shuffle_off");
+ PV_LD_PART_SWALLOW_OPTION("options_rep_A", "bg", PV_LD_OPTION_REP_SX, 0, PV_LD_OPTION_REP_EX, 1)
+ PV_LD_PART_SWALLOW_OPTION("options_rep_1", "bg", PV_LD_OPTION_REP_SX, 0, PV_LD_OPTION_REP_EX, 1)
+ PV_LD_PART_SWALLOW_OPTION("options_rep_all", "bg", PV_LD_OPTION_REP_SX, 0, PV_LD_OPTION_REP_EX, 1)
+ MP_FOCUSED_COVER("repeat", "options_rep_A");
+ //PV_LD_PART_SWALLOW_OPTION("options_info", "bg", PV_LD_OPTION_INFO_SX, 0, PV_LD_OPTION_INFO_EX, 1)
+ PV_LD_PART_SWALLOW_OPTION("options_favourite_on", "bg", PV_LD_OPTION_FAVOURITE_ON_SX, 0, PV_LD_OPTION_FAVOURITE_ON_EX, 1)
+ PV_LD_PART_SWALLOW_OPTION("options_favourite_off", "bg", PV_LD_OPTION_FAVOURITE_ON_SX, 0, PV_LD_OPTION_FAVOURITE_ON_EX, 1)
+ MP_FOCUSED_COVER("favourite", "options_favourite_on");
+ }
+
+ programs {
+ PV_BUTTON_VISIVBLE_PROGRAM("options_shuffle_on")
+ PV_BUTTON_VISIVBLE_PROGRAM("options_shuffle_off")
+ PV_BUTTON_VISIVBLE_PROGRAM("options_rep_A")
+ PV_BUTTON_VISIVBLE_PROGRAM("options_rep_1")
+ PV_BUTTON_VISIVBLE_PROGRAM("options_rep_all")
+ //add favourite begin
+ PV_BUTTON_VISIVBLE_PROGRAM("options_favourite_on")
+ PV_BUTTON_VISIVBLE_PROGRAM("options_favourite_off")
+ //add favourite end
+ }
+
+}
+
+/* control */
+group {
+ name: "player_view_control_area_ld";
+ parts {
+ part { name: "bg";
+ type : RECT;
+ mouse_events: 1;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ color: 0 0 0 0;
+ }
+ }
+ PV_LD_PART_SWALLOW_OPTION("control_volume", "bg", PV_LD_CONTROL_VOLUME_SX, PV_LD_CONTROL_VOLUME_SY,
+ PV_LD_CONTROL_VOLUME_EX, PV_LD_CONTROL_VOLUME_EY)
+
+ PV_LD_PART_SWALLOW_OPTION("control_volume_mute", "bg", PV_LD_CONTROL_VOLUME_SX, PV_LD_CONTROL_VOLUME_SY,
+ PV_LD_CONTROL_VOLUME_EX, PV_LD_CONTROL_VOLUME_EY)
+ MP_FOCUSED_COVER("volume", "control_volume");
+
+ PV_LD_PART_SWALLOW_OPTION("control_previous", "bg", PV_LD_CONTROL_PREVIOUS_SX, PV_LD_CONTROL_PREVIOUS_SY,
+ PV_LD_CONTROL_PREVIOUS_EX, PV_LD_CONTROL_PREVIOUS_EY)
+ MP_FOCUSED_COVER("previous", "control_previous");
+
+ PV_LD_PART_SWALLOW_OPTION("control_play", "bg", PV_LD_CONTROL_PLAY_SX, PV_LD_CONTROL_PLAY_SY,
+ PV_LD_CONTROL_PLAY_EX, PV_LD_CONTROL_PLAY_EY)
+
+ PV_LD_PART_SWALLOW_OPTION("control_pause", "bg", PV_LD_CONTROL_PLAY_SX, PV_LD_CONTROL_PLAY_SY,
+ PV_LD_CONTROL_PLAY_EX, PV_LD_CONTROL_PLAY_EY)
+ MP_FOCUSED_COVER("play_pause", "control_play");
+
+ PV_LD_PART_SWALLOW_OPTION("control_next", "bg", PV_LD_CONTROL_NEXT_SX, PV_LD_CONTROL_NEXT_SY,
+ PV_LD_CONTROL_NEXT_EX, PV_LD_CONTROL_NEXT_EY)
+ MP_FOCUSED_COVER("next", "control_next");
+
+ PV_LD_PART_SWALLOW_OPTION("control_queue", "bg", PV_LD_CONTROL_QUEUE_SX, PV_LD_CONTROL_QUEUE_SY,
+ PV_LD_CONTROL_QUEUE_EX, PV_LD_CONTROL_QUEUE_EY)
+ MP_FOCUSED_COVER("queue", "control_queue");
+ }
+ programs {
+ PV_BUTTON_VISIVBLE_PROGRAM("control_play")
+ PV_BUTTON_VISIVBLE_PROGRAM("control_pause")
+ PV_BUTTON_VISIVBLE_PROGRAM("control_volume")
+ PV_BUTTON_VISIVBLE_PROGRAM("control_volume_mute")
+ }
+}
+
+
+group {
+ name: "player_view_progress_box_ld";
+
+ parts {
+ part { name: "bg";
+ type : RECT;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ color: 0 0 0 0;
+ }
+ }
+
+ PV_LD_PART_RECT("progress_bar_area", "bg", PV_LD_PROGRESSBAR_SX, 0, PV_LD_PROGRESSBAR_EX, 1)
+ //PV_LD_PART_SWALLOW("progress_bar", "progress_bar_area", 0, 0, 1, 1)
+
+
+ part {
+ name: "progress_bar";
+ mouse_events: 1;
+ type: SWALLOW;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0.5 0.5;
+ visible: 1;
+ rel1 {
+ relative: 0 0;
+ to: "progress_bar_area";
+ }
+ rel2 {
+ relative: 1 1;
+ to: "progress_bar_area";
+ }
+ color: 248 246 239 255;
+ }
+ description {
+ state: "hide" 0.0;
+ visible: 0;
+ }
+ }
+
+ part { name: "progress_text_playing";
+ type: TEXT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ visible: 1;
+ min: 0 PV_LD_PROGRESS_TEXT_H;
+ fixed: 0 1;
+ align: 0.5 0.5;
+ rel1 {
+ relative: 0 PV_LD_PROGRESS_LEFT_TEXT_SY;
+ to: "bg";
+ }
+ rel2 {
+ relative: PV_LD_PROGRESS_LEFT_TEXT_EX PV_LD_PROGRESS_LEFT_TEXT_EY;
+ to: "bg";
+ }
+ text {
+ text: "00:00";
+ font: PV_LD_PROGRESS_TEXT_FONT;
+ size: PV_LD_PROGRESS_TEXT_SIZE;
+ align: 0.5 0.5;
+ elipsis: 1.0;
+ min: 1 1;
+ }
+ color: PV_LD_PROGRESS_TEXT_COLOR;
+ }
+ }
+
+ part {
+ name: "progress_text_total";
+ type: TEXT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ visible: 1;
+ min: 0 PV_LD_PROGRESS_TEXT_H;
+ fixed: 0 1;
+ align: 0.5 0.5;
+ rel1 {
+ relative: PV_LD_PROGRESS_RIGHT_TEXT_SX PV_LD_PROGRESS_RIGHT_TEXT_SY;
+ to: "bg";
+ }
+ rel2 {
+ relative: 1 PV_LD_PROGRESS_RIGHT_TEXT_EY;
+ to: "bg";
+ }
+ text {
+ text: "00:00";
+ font: PV_LD_PROGRESS_TEXT_FONT;
+ size: PV_LD_PROGRESS_TEXT_SIZE;
+ align: 0.5 0.5;
+ min: 1 1;
+ elipsis: 1.0;
+ }
+ color: PV_LD_PROGRESS_TEXT_COLOR;
+ }
+ }
+
+ program { name: "progress_bar_show";
+ signal: "set_show";
+ source: "progress_bar";
+ action: STATE_SET "default" 0.0;
+ target: "progress_bar";
+ }
+
+ program { name: "progress_bar_hide";
+ signal: "set_hide";
+ source: "progress_bar";
+ action: STATE_SET "hide" 0.0;
+ target: "progress_bar";
+ }
+ }
+}
+
+
+
+/* control */
+group {
+ name: "player_view_control_area_cast";
+ parts {
+ part { name: "bg";
+ type : RECT;
+ mouse_events: 1;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ color: 0 0 0 0;
+ }
+ }
+ PV_LD_PART_SWALLOW_OPTION("control_previous", "bg", 32/464, 13/124,
+ (32+98)/464, (13+98)/124)
+ MP_FOCUSED_COVER("previous", "control_previous");
+
+ PV_LD_PART_SWALLOW_OPTION("control_play", "bg", 166/464, 0.0,
+ (166+124)/464, 1.0)
+
+ PV_LD_PART_SWALLOW_OPTION("control_pause", "bg", 166/464, 0.0,
+ (166+124)/464, 1.0)
+ MP_FOCUSED_COVER("play_pause", "control_play");
+
+ PV_LD_PART_SWALLOW_OPTION("control_next", "bg", (166+124+36)/464, 13/124,
+ (166+124+36+98)/464, (13+98)/124)
+ MP_FOCUSED_COVER("next", "control_next");
+
+ }
+ programs {
+ PV_BUTTON_VISIVBLE_PROGRAM("control_play")
+ PV_BUTTON_VISIVBLE_PROGRAM("control_pause")
+ }
+}
+
+
+
+#define PV_CAST_LEFT_WIDTH 464
+#define PV_CAST_LEFT_AREA_TOPPADDING 30
+#define PV_CAST_LEFT_AREA_LEFTPADDING 24
+#define PV_CAST_LEFT_AREA_RIGHTPADDING 34
+#define PV_CAST_LEFT_AREA_IMAGE_AREA_SIZE 406 460
+#define PV_CAST_LEFT_AREA_IMAGE_SIZE 380 380
+#define PV_CAST_ALBUM_TITLE1_SIZE 28
+#define PV_CAST_ALBUM_TITLE2_SIZE 26
+#define PV_CAST_ARTIST_TITLE1_SIZE 20
+#define PV_CAST_ARTIST_TITLE2_SIZE 18
+#define PV_CAST_SUGGEST_TITLE_SIZE 36
+#define PV_CAST_RIGHT_AREA_TOPPADDING 140
+#define PV_CAST_RIGHT_AREA_BOTTOMPADDING 146
+#define PV_CAST_SUGGESTION_AREA_HEIGHT 376
+
+group {
+ name: "player_view_side_cast";
+
+ images {
+ image: PV_LD_ALBUM_THUMNAIL_BG COMP;
+ image: PV_LD_CONTROL_CIRCLE_BT_03 COMP;
+ image: PV_LD_CONTROL_CIRCLE_BT_03_PRESS COMP;
+ image: PV_LD_OPTION_VOLUME COMP;
+ image: PV_LD_OPTION_VOLUME_PRESS COMP;
+
+
+ image: PV_LD_OPTION_INFO COMP;
+ image: PV_LD_OPTION_INFO_PRESS COMP;
+ image: PV_LD_OPTION_FAVOURITE_ON COMP; //add favourite begin
+ image: PV_LD_OPTION_FAVOURITE_OFF COMP;
+ image: PV_LD_OPTION_FAVOURITE_ON_PRESS COMP; //add favourite end
+
+ image: PV_LD_CONTROL_PREVIOUS COMP;
+ image: PV_LD_CONTROL_PREVIOUS_PRESS COMP;
+ image: PV_LD_CONTROL_PLAY COMP;
+ image: PV_LD_CONTROL_PLAY_PRESS COMP;
+ image: PV_LD_CONTROL_PAUSE COMP;
+ image: PV_LD_CONTROL_PAUSE_PRESS COMP;
+ image: PV_LD_CONTROL_NEXT COMP;
+ image: PV_LD_CONTROL_NEXT_PRESS COMP;
+ image: PV_LD_PROGRESS_BG COMP;
+ image: PV_CAST_ALBUM_BG_1 COMP;
+ }
+ styles {
+ style { name: "help_text_style";
+ base: "font=Tizen:style=Regular font_size=28 align=center color=#FFFFFF wrap=mixed ellipsis=1.0";
+ tag: "br" "\n";
+ tag: "hilight" "+ font_weight=Bold";
+ tag: "b" "+ font_weight=Bold";
+ tag: "tab" "\t";
+ }
+ }
+
+ parts {
+ part {
+ name: "bg";
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ fixed: 1 1;
+ rel1 { relative: 0.0 0.0;}
+ rel2 { relative: 1.0 1.0;}
+ color: 255 0 0 255;
+ visible: 0;
+ }
+ }
+ part {
+ name : "base_bg";
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ fixed: 1 1;
+ //align: 0 0;
+ rel1 {
+ relative: 0.0 0.0;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ }
+ }
+ }
+ /* player bg */
+ part {
+ name: "player_bg";
+ type: IMAGE;
+ mouse_events: 1;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0.5 0.5;
+ visible:1;
+ image { normal: PV_LD_PROGRESS_BG; }
+ fixed: 1 1;
+ rel1 {
+ relative:0.0 0.0;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ }
+ }
+ }
+
+ part{ name : "right_bg";
+ type: RECT;
+ scale : 1;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ rel1 { relative: 0.0 0.0;}
+ rel2 { relative: 0.0 1.0;}
+ min: PV_CAST_LEFT_WIDTH 0;
+ fixed: 1 1;
+ align: 0.0 0.5;
+ visible: 1;
+ }
+ }
+ part {
+ name: "left_area";
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ fixed: 1 1;
+ rel1 { relative: 1.0 0.0;to: "right_bg";}
+ rel2 { relative: 1.0 1.0;}
+ color:255 0 0 255;
+ visible: 0;
+ }
+ }
+
+ /* album top padding */
+ part {
+ name : "album_image_top_padding";
+ type: RECT;
+ mouse_events: 1;
+ scale: 1;
+ clip_to: "right_bg";
+ description {
+ state: "default" 0.0;
+ align: 0.5 0.0;
+ min: 0 PV_CAST_LEFT_AREA_TOPPADDING;
+ color:255 0 0 255;
+ visible: 0;
+ rel1 { relative: 0.0 0.0;to: "right_bg";}
+ rel2 {relative: 1.0 0.0; to: "right_bg";}
+ }
+ }
+ /* album left padding */
+ part {
+ name : "album_image_left_padding";
+ type: RECT;
+ mouse_events: 1;
+ scale: 1;
+ clip_to: "right_bg";
+ description {
+ state: "default" 0.0;
+ align: 0.0 0.5;
+ min: PV_CAST_LEFT_AREA_LEFTPADDING 0 ;
+ color: 0 255 0 255;
+ visible: 0;
+ rel1 { relative: 0.0 0.0;to: "right_bg";}
+ rel2 {relative: 0.0 1.0; to: "right_bg";}
+ }
+ }
+ /* album right padding */
+ part {
+ name : "album_image_right_padding";
+ type: RECT;
+ mouse_events: 1;
+ scale: 1;
+ clip_to: "right_bg";
+ description {
+ state: "default" 0.0;
+ align: 1.0 0.5;
+ min: PV_CAST_LEFT_AREA_RIGHTPADDING 0 ;
+ color: 255 100 100 255;
+ visible: 0;
+ rel1 { relative: 1.0 0.0;to: "right_bg";}
+ rel2 {relative: 1.0 1.0; to: "right_bg";}
+ }
+ }
+
+ part {
+ name : "album_image_area";
+ type: RECT;
+ mouse_events: 1;
+ scale: 1;
+ clip_to: "right_bg";
+ description {
+ state: "default" 0.0;
+ align: 0.5 0.0;
+ min : PV_CAST_LEFT_AREA_IMAGE_AREA_SIZE;
+ max: PV_CAST_LEFT_AREA_IMAGE_AREA_SIZE;
+ color: 0 0 255 255;
+ visible: 0;
+ rel1 { relative: 1.0 1.0;to_x: "album_image_left_padding";to_y: "album_image_top_padding";}
+ rel2 {relative: 0.0 1.0;to_x: "album_image_right_padding";to_y: "album_image_top_padding"; }
+ }
+ }
+
+ part {
+ name: "album_bg";
+ type: IMAGE;
+ mouse_events: 1;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0.5 0.5;
+ visible:0;
+ image { normal: PV_CAST_ALBUM_BG_1; }
+ fixed: 1 1;
+ rel1 {
+ relative:0.0 0.0;to:"album_image_area";
+ }
+ rel2 {
+ relative: 1.0 1.0;to:"album_image_area";
+ }
+ }
+ }
+
+ /* album image */
+ part {
+ name : "album_image";
+ type: SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ clip_to: "right_bg";
+ description {
+ state: "default" 0.0;
+ min: PV_CAST_LEFT_AREA_IMAGE_SIZE;
+ max: PV_CAST_LEFT_AREA_IMAGE_SIZE;
+ align:0.5 0.0;
+ rel1 { relative: 0.0 0.0;to: "album_image_area";}
+ rel2 {relative: 1.0 0.0;to: "album_image_area";}
+ }
+ }
+
+ part {
+ name : "artist_name";
+ type: TEXT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0.5 1.0;
+ min : 264 24;
+ max: 264 24;
+ color: 255 255 255 255;
+ rel1 { relative: 0.0 1.0;to: "album_image_area";}
+ rel2 {relative: 1.0 1.0;to: "album_image_area";}
+ color: 240 240 240 255;
+ text {
+ size: 24;
+ align: 0.5 0.5;
+
+ }
+ }
+ }
+
+ part {
+ name : "song_name";
+ type: SWALLOW;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0.5 1.0;
+ min : 264 32;
+ max: 264 32;
+ color: 255 255 255 255;
+ rel1 { relative: 0.0 0.0;to: "artist_name"; offset:0 -2;}
+ rel2 {relative: 1.0 0.0;to: "artist_name";offset:0 -2;}
+ }
+ }
+
+ part {
+ name : "options_favourite_on";
+ type: SWALLOW;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0.5 0.5;
+ min : 32 32;
+ max: 32 32;
+ rel1 { relative: 1.0 0.0;to: "song_name";offset:6 0;}
+ rel2 {relative: 1.0 1.0; to: "song_name";offset:38 0;}
+ }
+ description {
+ state: "invisible" 0.0;
+ inherit: "default";
+ visible: 0;
+ }
+ }
+
+ part {
+ name : "options_favourite_off";
+ type: SWALLOW;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0.5 0.5;
+ min : 32 32;
+ max: 32 32;
+ rel1 { relative: 1.0 0.0;to: "song_name";offset:6 0;}
+ rel2 {relative: 1.0 1.0; to: "song_name";offset:38 0;}
+ }
+ description {
+ state: "invisible" 0.0;
+ inherit: "default";
+ visible: 0;
+ }
+ }
+
+ MP_FOCUSED_COVER("favourite", "options_favourite_on");
+
+ part {
+ name : "suggest_top_padding";
+ type: RECT;
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0.5 0.0;
+ min: 0 PV_CAST_RIGHT_AREA_TOPPADDING;
+ max: -1 PV_CAST_RIGHT_AREA_TOPPADDING;
+ visible: 0;
+ rel1 { relative: 0.0 0.0;to: "left_area";}
+ rel2 {relative: 1.0 0.0;to: "left_area";}
+ }
+ }
+
+ part {
+ name : "suggest_bottom_padding";
+ type: RECT;
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0.5 1.0;
+ min: 0 PV_CAST_RIGHT_AREA_BOTTOMPADDING;
+ max: -1 PV_CAST_RIGHT_AREA_BOTTOMPADDING;
+ visible: 0;
+ rel1 { relative: 0.0 1.0;to: "left_area";}
+ rel2 {relative: 1.0 1.0;to: "left_area";}
+ }
+ }
+
+ part {
+ name : "suggest_song_rect";
+ type: RECT;
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0.5 1.0;
+ min: 0 PV_CAST_SUGGESTION_AREA_HEIGHT;
+ max: -1 PV_CAST_SUGGESTION_AREA_HEIGHT;
+ fixed: 0 1;
+ visible: 0;
+ rel1 { relative: 0.0 0.0;to: "suggest_bottom_padding";}
+ rel2 {relative: 1.0 0.0; to: "suggest_bottom_padding";}
+ }
+ }
+
+ part {
+ name : "suggest_default_area";
+ type: SWALLOW;
+ mouse_events: 1;
+ repeat_events: 1;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0.5 0.0;
+ min: 0 252;
+ max: -1 252;
+ fixed: 0 1;
+ rel1 { relative: 0.0 0.0;to: "suggest_song_rect";}
+ rel2 {relative: 1.0 0.0; to: "suggest_song_rect";}
+ }
+ }
+ part { name: "help_text";
+ type: TEXTBLOCK;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 76;
+ max: -1 76;
+ fixed: 0 1;
+ align:0.5 0.5;
+ rel1 { relative: 104/816 480/720;to: "left_area";}
+ rel2 {relative: (104+564)/816 (76+480)/720; to: "left_area";}
+ text {
+ style: "help_text_style";
+ }
+ }
+ description {
+ state: "hide" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part {
+ name : "suggest_song_area";
+ type: SWALLOW;
+ mouse_events: 1;
+ repeat_events: 1;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0.5 0.5;
+ min: 0 PV_CAST_SUGGESTION_AREA_HEIGHT;
+ max: -1 PV_CAST_SUGGESTION_AREA_HEIGHT;
+ fixed: 0 1;
+ rel1 { relative: 0.0 0.0;to: "suggest_song_rect";}
+ rel2 {relative: 1.0 1.0; to: "suggest_song_rect";}
+ }
+ }
+ part {
+ name : "suggest_album_text";
+ type: TEXT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0.5 0.0;
+ min : 0 40;
+ max: -1 40;
+ color: 255 255 255 255;
+ rel1 { relative: 0.0 1.0;to:"suggest_top_padding";
+ offset:14 0; }
+ rel2 {relative: 1.0 1.0;to:"suggest_top_padding"; }
+ text {
+ font: "Tizen:style=Regular";
+ size: PV_CAST_SUGGEST_TITLE_SIZE;
+ align: 0.0 0.5;
+ text: "";
+ }
+ }
+ }
+ part {
+ name : "album_image_left";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "album_image_area";
+ description {
+ state: "default" 0.0;
+ min: PV_CAST_LEFT_AREA_IMAGE_SIZE PV_CAST_LEFT_AREA_IMAGE_SIZE;
+ max: PV_CAST_LEFT_AREA_IMAGE_SIZE PV_CAST_LEFT_AREA_IMAGE_SIZE;
+ fixed: 1 1;
+ align: 1 0;
+ rel1 { relative: 0.0 0.0; to: "album_image"; }
+ rel2 { relative: 0.0 1.0; to: "album_image"; }
+ }
+ }
+
+ part {
+ name : "album_image_right";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "album_image_area";
+ description {
+ state: "default" 0.0;
+ min: PV_CAST_LEFT_AREA_IMAGE_SIZE PV_CAST_LEFT_AREA_IMAGE_SIZE;
+ max: PV_CAST_LEFT_AREA_IMAGE_SIZE PV_CAST_LEFT_AREA_IMAGE_SIZE;
+ fixed: 1 1;
+ align: 0 0;
+ rel1 { relative: 1.0 0.0; to: "album_image"; }
+ rel2 { relative: 1.0 1.0; to: "album_image"; }
+ }
+ }
+
+ part { name: "event_box";
+ type : SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: 0 0; to: "album_image";}
+ rel2 {relative: 1 1; to: "album_image";}
+ }
+ }
+ /* progress */
+
+ PV_LD_PART_RECT("progress_area", "right_bg", 28/464, (720-80-131)/720, (28+400)/464, (720-131)/720)
+ PV_LD_PART_SWALLOW("progress_box", "progress_area", 0, 0, 1, 1)
+
+ /* control */
+ part { name: "control_area";
+ type : SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ repeat_events: 1;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ rel1 {
+ relative: 0 (720-131)/720;
+ to: "right_bg";
+ }
+ rel2 {
+ relative: 1 (720-7)/720;;
+ to: "right_bg";
+ }
+ }
+ }
+
+ }
+ programs {
+ //add favourite begin
+ PV_BUTTON_VISIVBLE_PROGRAM("options_favourite_on")
+ PV_BUTTON_VISIVBLE_PROGRAM("options_favourite_off")
+ program {
+ name: "label_hide";
+ signal: "elm,state,text,hidden";
+ source: "*";
+ action: STATE_SET "hide" 0.0;
+ target: "help_text";
+ }
+ program {
+ name: "label_show";
+ signal: "elm,state,text,shown";
+ source: "*";
+ action: STATE_SET "default" 0.0;
+ target: "help_text";
+ }
+ //add favourite end
+ }
+}
+
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#define PV_SREEN_W 720 /*480*/
+#define PV_SREEN_H 1280 /*800*/ /*1030*/
+#define PV_BG_COLOR 248 246 239 255
+#define PV_TOP_AREA_W PV_SREEN_W
+#define PV_TOP_AREA_H 730/*480*/
+#define PV_SREEN_ALL_H PV_SREEN_H
+
+/*player view buttong effect*/
+#define PV_BT_W 100
+#define PV_BT_H 95
+#define PV_BT_PRESS_W 95
+#define PV_BT_PRESS_H 103
+#define PV_BT_PRESS_SX ((1.0-PV_BT_PRESS_W/PV_BT_W)/2)
+#define PV_BT_PRESS_SY ((1.0-PV_BT_PRESS_H/PV_BT_H)/2)
+#define PV_BT_PRESS_EX (PV_BT_PRESS_SX+PV_BT_PRESS_W/PV_BT_W)
+#define PV_BT_PRESS_EY (PV_BT_PRESS_SY+PV_BT_PRESS_H/PV_BT_H)
+#define PV_BT_PRESS_BG_COLOR 240 240 240 155
+
+/* album art area */
+#define PV_ALBUM_AREA_W 720 /*S480*/
+#define PV_ALBUM_AREA_H 730 /*S480*/
+#define PV_ALBUM_AREA_TOP_H 0
+#define PV_ALBUM_IMAGE_W 572 /*S480*/
+#define PV_ALBUM_IMAGE_H 572 /*S480*/
+#define PV_ALBUM_IMAGE_FLICK_TIMER 0.35
+#define PV_ALBUM_THUMNAIL_BG "player-view/T02_album_thumbnail_bg.png"
+
+/* options */
+#define PV_OPTIONS_AREA_W PV_SREEN_W
+#define PV_OPTIONS_AREA_H 125
+#define PV_OPTIONS_AREA_TOP_H 30
+#define PV_OPTIONS_AREA_LEFT_W 45
+#define PV_OPTIONS_AREA_LEFT2_W 225
+#define PV_OPTIONS_AREA_RIGHT_W 30
+#define PV_OPTIONS_AREA_RIGHT2_W 225
+#define PV_OPTIONS_AREA_IMAGE_SIZE 60
+#define PV_OPTIONS_VOLUME_POPUP_W 64
+#define PV_OPTIONS_VOLUME_POPUP_H 348
+#define PV_OPTIONS_AREA_SY ((PV_ALBUM_AREA_H+PV_OPTIONS_AREA_TOP_H)/PV_SREEN_H)
+#define PV_OPTIONS_AREA_EY (PV_OPTIONS_AREA_SY+PV_OPTIONS_AREA_H/PV_SREEN_H)
+#define PV_OPTION_SHUFFLE_ON_SX (PV_OPTIONS_AREA_LEFT_W/PV_OPTIONS_AREA_W)
+#define PV_OPTION_SHUFFLE_ON_SY (PV_OPTIONS_AREA_TOP_H/PV_OPTIONS_AREA_H)
+#define PV_OPTION_SHUFFLE_ON_EX ((PV_OPTIONS_AREA_LEFT_W+PV_OPTIONS_AREA_IMAGE_SIZE)/PV_OPTIONS_AREA_W)
+#define PV_OPTION_SHUFFLE_ON_EY ((PV_OPTIONS_AREA_TOP_H+PV_OPTIONS_AREA_IMAGE_SIZE)/PV_OPTIONS_AREA_H)
+#define PV_OPTION_FAVOURITE_ON_SX (PV_OPTION_SHUFFLE_ON_EX+PV_OPTIONS_AREA_LEFT2_W/PV_OPTIONS_AREA_W)
+#define PV_OPTION_FAVOURITE_ON_EX (PV_OPTION_FAVOURITE_ON_SX+PV_OPTIONS_AREA_IMAGE_SIZE/PV_OPTIONS_AREA_W)
+#define PV_OPTION_REP_SX (PV_OPTION_FAVOURITE_ON_EX+PV_OPTIONS_AREA_RIGHT2_W/PV_OPTIONS_AREA_W)
+#define PV_OPTION_REP_EX (PV_OPTION_REP_SX+PV_OPTIONS_AREA_IMAGE_SIZE/PV_OPTIONS_AREA_W)
+
+/* bg */
+#define PV_BG_PATH "core_theme_bg_01.png"
+#define PV_BG_PATH_DIM "core_theme_bg_dim.png"
+#define PV_CONTROL_CIRCLE_BT_03 "player-view/T02_control_circle_button_03.png"
+#define PV_CONTROL_CIRCLE_BT_03_PRESS "player-view/T02_control_circle_button_03_press.png"
+#define PV_OPTION_VOLUME "lite/player_icon_volume_normal.png"
+#define PV_OPTION_VOLUME_PRESS "lite/player_icon_volume_pressed.png"
+#define PV_OPTION_SHUFFLE_ON "lite/player_icon_Shuffle.png"
+#define PV_OPTION_SHUFFLE_OFF "lite/player_icon_shuffle_off_normal.png"
+#define PV_OPTION_SHUFFLE_ON_PRESS "lite/player_icon_shuffle_on_pressed.png"
+#define PV_OPTION_SHUFFLE_OFF_PRESS "lite/player_icon_shuffle_off_pressed.png"
+#define PV_OPTION_REP_A "lite/player_icon_rep_A_normal.png"
+#define PV_OPTION_REP_A_PRESS "lite/player_icon_rep_A_pressed.png"
+#define PV_OPTION_REP_1 "lite/player_icon_rep_A_pressed.png"
+#define PV_OPTION_REP_1_PRESS "lite/player_icon_rep_1_pressed.png"
+#define PV_OPTION_REP_ALL "lite/player_icon_rep_all_normal.png"
+#define PV_OPTION_REP_ALL_PRESS "lite/player_icon_rep_all_pressed.png"
+#define PV_OPTION_INFO "lite/T02_option_info.png"
+#define PV_OPTION_INFO_PRESS "lite/T02_option_info_press.png"
+//add favourite begin
+#define PV_OPTION_FAVOURITE_ON "lite/player_icon_play_list_favorite_on.png"
+#define PV_OPTION_FAVOURITE_OFF "lite/player_icon_play_list_favorite_off.png"
+#define PV_OPTION_FAVOURITE_ON_PRESS "player-view/T02_option_favorite_on_press.png"
+#define PV_OPTION_ALL_SHARE "T02_player_all_share.png"
+//add favourite end
+#define PV_BOTTOM_BG "player-view/T02_player_bg.png"
+#define PV_BOTTOM_BG_H 286
+//title area
+#define PV_TITLE_W PV_ALBUM_IMAGE_W
+#define PV_TITLE_H 64
+#define PV_MAIN_TITLE_H 23
+#define PV_ARTIST_TITLE_H 18
+#define PV_ALBUM_TITLE_H 18
+//control area
+#define PV_BOTTOM_CONTROL_H 422
+#define PV_OPTION_OFFSET_Y 16
+#define PV_OPTION_PART_H 84
+#define PV_PROGEESS_PART_H 113
+#define PV_CONTROL_PART_H 168
+#define PV_CONTROL_BOTTOM_H 10
+
+/* progress */
+#define PV_PROGRESS_OFFSET_Y 10
+#define PV_PROGRESS_AREA_W PV_SREEN_W
+#define PV_PROGRESS_AREA_H 72/*90*/
+#define PV_PROGRESS_TEXT_W 112
+#define PV_PROGRESS_TEXT_TOP_H 31
+#define PV_PROGRESS_TEXT_H 24
+#define PV_PROGRESS_TEXT_FONT "Tizen:style=Regular"
+#define PV_PROGRESS_TEXT_SIZE 32
+#define PV_PROGRESS_TEXT_COLOR 248 246 240 255
+#define PV_PROGRESS_AREA_LEFT_SIZE 32
+#define PV_PROGRESS_AREA_RIGHT_SIZE 32
+#define PV_PROGRESS_AREA_SY (PV_OPTIONS_AREA_H/PV_BOTTOM_BG_H)
+#define PV_PROGRESS_AREA_EY ((PV_OPTIONS_AREA_H+PV_PROGRESS_AREA_H)/PV_BOTTOM_BG_H)
+#define PV_PROGRESS_LEFT_TEXT_SX (PV_PROGRESS_AREA_LEFT_SIZE/PV_PROGRESS_AREA_W)
+#define PV_PROGRESS_LEFT_TEXT_SY (40/PV_PROGRESS_AREA_H)
+#define PV_PROGRESS_LEFT_TEXT_EX (PV_PROGRESS_LEFT_TEXT_SX+PV_PROGRESS_TEXT_W/PV_PROGRESS_AREA_W)
+#define PV_PROGRESS_LEFT_TEXT_EY 1
+#define PV_PROGRESS_RIGHT_TEXT_SX (1-(PV_PROGRESS_AREA_RIGHT_SIZE+PV_PROGRESS_TEXT_W)/PV_PROGRESS_AREA_W)
+#define PV_PROGRESS_RIGHT_TEXT_SY PV_PROGRESS_LEFT_TEXT_SY
+#define PV_PROGRESS_RIGHT_TEXT_EX (PV_PROGRESS_RIGHT_TEXT_SX+PV_PROGRESS_TEXT_W/PV_PROGRESS_AREA_W)
+#define PV_PROGRESS_RIGHT_TEXT_EY 1
+#define PV_PROGRESSBAR_SX (PV_PROGRESS_AREA_LEFT_SIZE/PV_PROGRESS_AREA_W)
+#define PV_PROGRESSBAR_EX ((PV_PROGRESS_AREA_W-PV_PROGRESS_AREA_RIGHT_SIZE)/PV_PROGRESS_AREA_W)
+
+/* nearby */
+#define PV_NEARBY_ARER_W 96
+#define PV_NEARBY_ARER_H 441
+#define PV_NEARBY_ICON_W 63
+#define PV_NEARBY_ICON_H 63
+#define PV_NEARBY_ICON_MID 88
+#define PV_NEARBY_VOLUME_SIZE 96 441
+
+/* control */
+#define PV_CONTROL_AREA_W PV_SREEN_W
+#define PV_CONTROL_AREA_H 184
+#define PV_CONTROL_PREVIOUS_SZIE 124
+#define PV_CONTROL_PLAY_SIZE 124
+#define PV_CONTROL_NEXT_SZIE 124
+#define PV_CONTROL_ICON_SIZE 60
+#define PV_CONTROL_ICON_INTERVAL 48
+#define PV_CONTROL_INTERVAL1 39
+#define PV_CONTROL_INTERVAL2 30
+#define PV_CONTROL_RIGHT_PADDING 26
+#define PV_CONTROL_LEFT_W 45;
+#define PV_CONTROL_TOP_H 16;
+#define PV_CONTROL_VOLUME_SX (PV_CONTROL_LEFT_W/PV_CONTROL_AREA_W)
+#define PV_CONTROL_VOLUME_SY ((PV_CONTROL_TOP_H+20)/PV_CONTROL_AREA_H)
+#define PV_CONTROL_VOLUME_EX (PV_CONTROL_VOLUME_SX+PV_CONTROL_ICON_SIZE/PV_CONTROL_AREA_W)
+#define PV_CONTROL_VOLUME_EY (PV_CONTROL_VOLUME_SY+PV_CONTROL_ICON_SIZE/PV_CONTROL_AREA_H)
+#define PV_CONTROL_PLUS_SY (38/PV_NEARBY_ARER_H)
+#define PV_CONTROL_PLUS_EY (PV_CONTROL_PLUS_SY+PV_NEARBY_ICON_H/PV_NEARBY_ARER_H)
+#define PV_CONTROL_MINUS_SY (PV_CONTROL_PLUS_EY+PV_NEARBY_ICON_MID/PV_NEARBY_ARER_H)
+#define PV_CONTROL_MINUS_EY (PV_CONTROL_MINUS_SY+PV_NEARBY_ICON_H/PV_NEARBY_ARER_H)
+#define PV_CONTROL_MUTE_SY (PV_CONTROL_MINUS_EY+PV_NEARBY_ICON_MID/PV_NEARBY_ARER_H)
+#define PV_CONTROL_MUTE_EY (PV_CONTROL_MUTE_SY+PV_NEARBY_ICON_H/PV_NEARBY_ARER_H)
+#define PV_CONTROL_PREVIOUS_SX (PV_CONTROL_VOLUME_EX+PV_CONTROL_INTERVAL1/PV_CONTROL_AREA_W)
+#define PV_CONTROL_PREVIOUS_SY (PV_CONTROL_TOP_H/PV_CONTROL_AREA_H)
+#define PV_CONTROL_PREVIOUS_EX (PV_CONTROL_PREVIOUS_SX+PV_CONTROL_PREVIOUS_SZIE/PV_CONTROL_AREA_W)
+#define PV_CONTROL_PREVIOUS_EY (PV_CONTROL_PREVIOUS_SY+PV_CONTROL_PREVIOUS_SZIE/PV_CONTROL_AREA_H)
+#define PV_CONTROL_PLAY_SX (PV_CONTROL_PREVIOUS_EX+PV_CONTROL_INTERVAL2/PV_CONTROL_AREA_W)
+#define PV_CONTROL_PLAY_SY (PV_CONTROL_TOP_H/PV_CONTROL_AREA_H)
+#define PV_CONTROL_PLAY_EX (PV_CONTROL_PLAY_SX+PV_CONTROL_PLAY_SIZE/PV_CONTROL_AREA_W)
+#define PV_CONTROL_PLAY_EY (PV_CONTROL_PLAY_SY+PV_CONTROL_PLAY_SIZE/PV_CONTROL_AREA_H)
+#define PV_CONTROL_NEXT_SX (PV_CONTROL_PLAY_EX+PV_CONTROL_INTERVAL2/PV_CONTROL_AREA_W)
+#define PV_CONTROL_NEXT_SY (PV_CONTROL_TOP_H/PV_CONTROL_AREA_H)
+#define PV_CONTROL_NEXT_EX (PV_CONTROL_NEXT_SX+PV_CONTROL_NEXT_SZIE/PV_CONTROL_AREA_W)
+#define PV_CONTROL_NEXT_EY (PV_CONTROL_NEXT_SY+PV_CONTROL_NEXT_SZIE/PV_CONTROL_AREA_H)
+#define PV_CONTROL_QUEUE_SX (PV_CONTROL_NEXT_EX+PV_CONTROL_INTERVAL1/PV_CONTROL_AREA_W)
+#define PV_CONTROL_QUEUE_SY ((PV_CONTROL_TOP_H+20)/PV_CONTROL_AREA_H)
+#define PV_CONTROL_QUEUE_EX (PV_CONTROL_QUEUE_SX+PV_CONTROL_ICON_SIZE/PV_CONTROL_AREA_W)
+#define PV_CONTROL_QUEUE_EY (PV_CONTROL_QUEUE_SY+PV_CONTROL_ICON_SIZE/PV_CONTROL_AREA_H)
+#define PV_CONTROL_CIRCLE_BT_01 "player-view/T02_control_circle_button_01.png"
+#define PV_CONTROL_CIRCLE_BT_01_PRESS "player-view/T02_control_circle_button_01_press.png"
+#define PV_CONTROL_CIRCLE_BT_01_FOCUS "player-view/T02_control_circle_button_01_focus.png"
+#define PV_CONTROL_CIRCLE_BT_02 "player-view/T02_control_circle_button_02.png"
+#define PV_CONTROL_CIRCLE_BT_02_PRESS "player-view/T02_control_circle_button_02_press.png"
+#define PV_CONTROL_PREVIOUS "player-view/T02_control_circle_icon_rewind.png"
+#define PV_CONTROL_PREVIOUS_PRESS "player-view/T02_control_circle_icon_rewind_press.png"
+#define PV_CONTROL_PLAY "player-view/T02_control_circle_icon_play.png"
+#define PV_CONTROL_PLAY_PRESS "player-view/T02_control_circle_icon_play_press.png"
+#define PV_CONTROL_PAUSE "player-view/T02_control_circle_icon_pause.png"
+#define PV_CONTROL_PAUSE_PRESS "player-view/T02_control_circle_icon_pause_press.png"
+#define PV_CONTROL_NEXT "player-view/T02_control_circle_icon_ff.png"
+#define PV_CONTROL_NEXT_PRESS "player-view/T02_control_circle_icon_ff_press.png"
+
+/* lyric */
+#define PV_LYRIC_AREA_W PV_SREEN_W
+#define PV_LYRIC_AREA_H 743 /*655*/
+#define PV_LYRIC_TOP_H 18/*43*/
+#define PV_LYRIC_W 608/*400*/
+#define PV_LYRIC_H 720/*600*/
+#define PV_LYRIC_LEFT_W ((PV_LYRIC_AREA_W-PV_LYRIC_W)/2)
+#define PV_LYRIC_BG_COLOR 0 0 0 191
+#define PV_LYRIC_AREA_SY 0
+#define PV_LYRIC_AREA_EY (PV_LYRIC_AREA_H/PV_SREEN_H)
+#define PV_LYRIC_SX (PV_LYRIC_LEFT_W/PV_LYRIC_AREA_W)
+#define PV_LYRIC_SY (PV_LYRIC_TOP_H/PV_LYRIC_AREA_H)
+#define PV_LYRIC_EX (PV_LYRIC_SX+PV_LYRIC_W/PV_LYRIC_AREA_W)
+#define PV_LYRIC_EY (PV_LYRIC_SY+PV_LYRIC_H/PV_LYRIC_AREA_H)
+
+/* Custom Macro */
+#define MP_FOCUSED_COVER(__name, __over_part_bg) \
+part { \
+ name: __name"_focus"; \
+ type: SWALLOW; \
+ mouse_events: 1; \
+ scale: 1; \
+ repeat_events: 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0 0; \
+ visible:1; \
+ rel1 { \
+ relative: 0 0; \
+ to: __over_part_bg; \
+ } \
+ rel2 { \
+ relative: 1 1; \
+ to: __over_part_bg; \
+ } \
+ } \
+}
+
+#define PV_PART_RECT(__name, __to, __sx, __sy, __ex, __ey) \
+part { \
+ name: __name; \
+ mouse_events: 1; \
+ repeat_events: 1; \
+ type: RECT; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0 0; \
+ visible: 1; \
+ rel1 { \
+ relative: __sx __sy; \
+ to: __to; \
+ } \
+ rel2 { \
+ relative: __ex __ey; \
+ to: __to; \
+ } \
+ color: 0 0 0 0; \
+ }\
+ description { \
+ state: "hide" 0.0; \
+ visible: 0; \
+ }\
+}
+
+#define PV_PART_NO_TRANSPANCE_RECT(__name, __to, __sx, __sy, __ex, __ey) \
+part { \
+ name: __name; \
+ mouse_events: 1; \
+ repeat_events: 0; \
+ type: RECT; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ visible: 0; \
+ } \
+ description { \
+ state: "show" 0.0; \
+ align: 0 0; \
+ visible: 1; \
+ rel1 { \
+ relative: __sx __sy; \
+ to: __to; \
+ } \
+ rel2 { \
+ relative: __ex __ey; \
+ to: __to; \
+ } \
+ color: PV_BG_COLOR; \
+ } \
+}
+
+#define PV_PART_SWALLOW(__name, __to, __sx, __sy, __ex, __ey) \
+part { \
+ name: __name; \
+ mouse_events: 1; \
+ type: SWALLOW; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0.5 0.5; \
+ fixed: 1 1; \
+ visible: 1; \
+ fixed:1 1;\
+ rel1 { \
+ relative: __sx __sy; \
+ to: __to; \
+ } \
+ rel2 { \
+ relative: __ex __ey; \
+ to: __to; \
+ } \
+ color: 0 0 0 0; \
+ } \
+}
+
+#define PV_PART_SWALLOW_CLIP(__name, __to, __sx, __sy, __ex, __ey) \
+part { \
+ name: __name; \
+ mouse_events: 1; \
+ type: SWALLOW; \
+ scale: 1; \
+ clip_to: __to;\
+ description { \
+ state: "default" 0.0; \
+ align: 0.5 0.5; \
+ fixed: 1 1; \
+ visible: 1; \
+ fixed:1 1;\
+ rel1 { \
+ relative: __sx __sy; \
+ to: __to; \
+ } \
+ rel2 { \
+ relative: __ex __ey; \
+ to: __to; \
+ } \
+ color: 0 0 0 0; \
+ } \
+}
+
+#define PV_PART_SWALLOW_W_CLIP(__name, __to, __sx, __sy, __ex, __ey) \
+part { \
+ name: __name"clip"; \
+ mouse_events: 0; \
+ type: RECT; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ fixed: 1 1; \
+ rel1 { \
+ relative: __sx __sy; \
+ to: __to; \
+ } \
+ rel2 { \
+ relative: __ex __ey; \
+ to: __to; \
+ } \
+ } \
+}\
+part { \
+ name: __name; \
+ mouse_events: 1; \
+ type: SWALLOW; \
+ scale: 1; \
+ clip_to: __name"clip";\
+ description { \
+ state: "default" 0.0; \
+ align: 0.5 0.5; \
+ fixed: 1 1; \
+ visible: 1; \
+ rel1 { \
+ relative: __sx __sy; \
+ to: __to; \
+ } \
+ rel2 { \
+ relative: __ex __ey; \
+ to: __to; \
+ } \
+ color: 0 0 0 0; \
+ } \
+}
+
+#define PV_PART_SWALLOW_OPTION(__name, __to, __sx, __sy, __ex, __ey) \
+part { \
+ name: __name; \
+ mouse_events: 1; \
+ type: SWALLOW; \
+ repeat_events: 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0.5 0.5; \
+ visible: 1; \
+ rel1 { \
+ relative: __sx __sy; \
+ to: __to; \
+ } \
+ rel2 { \
+ relative: __ex __ey; \
+ to: __to; \
+ } \
+ color: 0 0 0 0; \
+ } \
+ description { \
+ state: "invisible" 0.0; \
+ inherit: "default"; \
+ visible: 0; \
+ } \
+}
+
+#define PV_PART_HIDE_SWALLOW_OPTION(__name, __to, __sx, __sy, __ex, __ey) \
+part { \
+ name: __name; \
+ mouse_events: 1; \
+ type: SWALLOW; \
+ scale: 1; \
+ repeat_events: 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0.5 0.5; \
+ visible: 0; \
+ rel1 { \
+ relative: __sx __sy; \
+ to: __to; \
+ } \
+ rel2 { \
+ relative: __ex __ey; \
+ to: __to; \
+ } \
+ color: 0 0 0 0; \
+ } \
+ description { \
+ state: "visible" 0.0; \
+ inherit: "default"; \
+ visible: 1; \
+ } \
+}
+
+#define PV_PART_BUTTON(__name, __to, __sx, __sy, __ex, __ey, __bg_normal, __bg_circle, __normal, __min_max) \
+part { \
+ name: __name"_spacer"; \
+ type: SPACER; \
+ scale: 1; \
+ description { state: "default" 0.0; \
+ rel1 { relative: __sx __sy; to: __to; } \
+ rel2 { relative: __ex __ey; to: __to; } \
+ } \
+} \
+part { \
+ name: __name"_bg"; \
+ mouse_events: 0; \
+ type: RECT; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0.5 0.5; \
+ visible: 1; \
+ color: 0 0 0 0; \
+ rel1 { \
+ relative: 0.5 0.5; \
+ to: __name"_spacer"; \
+ } \
+ rel2 { \
+ relative: 0.5 0.5; \
+ to: __name"_spacer"; \
+ } \
+ min: __min_max; \
+ max: __min_max; \
+ fixed: 1 1; \
+ color: 0 0 0 0; \
+ } \
+ description { state: "invisible" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 0; \
+ } \
+} \
+part{ \
+ name : __name"_bg_normal"; \
+ type: IMAGE; \
+ mouse_events:1; \
+ scale : 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0 0; \
+ visible:1; \
+ image { normal: __bg_normal; } \
+ rel1 { \
+ relative: 0 0; \
+ to: __name"_bg"; \
+ } \
+ rel2 { \
+ relative: 1 1; \
+ to: __name"_bg"; \
+ } \
+ color: 0 0 0 153; \
+ } \
+ description { \
+ state: "press" 0.0; \
+ inherit: "default" 0.0; \
+ color: 66 162 207 255; \
+ } \
+ description { state: "invisible" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 0; \
+ } \
+} \
+part{ \
+ name : __name"_bg_circle"; \
+ type: IMAGE; \
+ mouse_events:1; \
+ scale : 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0 0; \
+ visible:1; \
+ image { normal: __bg_circle; } \
+ rel1 { \
+ relative: 0 0; \
+ to: __name"_bg"; \
+ } \
+ rel2 { \
+ relative: 1 1; \
+ to: __name"_bg"; \
+ } \
+ color: 255 255 255 128; \
+ } \
+ description { \
+ state: "press" 0.0; \
+ inherit: "default" 0.0; \
+ color: 66 162 207 255; \
+ } \
+ description { state: "invisible" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 0; \
+ } \
+} \
+part{ \
+ name : __name; \
+ type: IMAGE; \
+ mouse_events:1; \
+ scale : 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0 0; \
+ visible:1; \
+ image { normal: __normal; } \
+ rel1 { \
+ relative: 0 0; \
+ to: __name"_bg"; \
+ } \
+ rel2 { \
+ relative: 1 1; \
+ to: __name"_bg"; \
+ } \
+ } \
+ description { \
+ state: "press" 0.0; \
+ inherit: "default" 0.0; \
+ } \
+ description { state: "invisible" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 0; \
+ } \
+}
+
+#define PV_PART_PLAY_BUTTON(__name, __to, __sx, __sy, __ex, __ey, __bg_normal, __bg_circle, __normal, __min_max) \
+ part { \
+ name: __name"_spacer"; \
+ type: SPACER; \
+ scale: 1; \
+ description { state: "default" 0.0; \
+ rel1 { relative: __sx __sy; to: __to; } \
+ rel2 { relative: __ex __ey; to: __to; } \
+ } \
+ } \
+ part { \
+ name: __name"_bg"; \
+ mouse_events: 0; \
+ type: RECT; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0.5 0.5; \
+ visible: 1; \
+ color: 0 0 0 0; \
+ rel1 { \
+ relative: 0.5 0.5; \
+ to: __name"_spacer"; \
+ } \
+ rel2 { \
+ relative: 0.5 0.5; \
+ to: __name"_spacer"; \
+ } \
+ min: __min_max; \
+ max: __min_max; \
+ fixed: 1 1; \
+ color: 0 0 0 0; \
+ } \
+ description { state: "invisible" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 0; \
+ } \
+ } \
+ part{ \
+ name : __name"_bg_normal"; \
+ type: IMAGE; \
+ mouse_events:1; \
+ scale : 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0 0; \
+ visible:1; \
+ image { normal: __bg_normal; } \
+ rel1 { \
+ relative: 0 0; \
+ to: __name"_bg"; \
+ } \
+ rel2 { \
+ relative: 1 1; \
+ to: __name"_bg"; \
+ } \
+ color: 21 108 148 255; \
+ } \
+ description { \
+ state: "press" 0.0; \
+ inherit: "default" 0.0; \
+ color: 66 162 207 255; \
+ } \
+ description { state: "invisible" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 0; \
+ } \
+ } \
+ part{ \
+ name : __name"_bg_circle"; \
+ type: IMAGE; \
+ mouse_events:1; \
+ scale : 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0 0; \
+ visible:1; \
+ image { normal: __bg_circle; } \
+ rel1 { \
+ relative: 0 0; \
+ to: __name"_bg"; \
+ } \
+ rel2 { \
+ relative: 1 1; \
+ to: __name"_bg"; \
+ } \
+ color: 0 0 0 128; \
+ } \
+ description { \
+ state: "press" 0.0; \
+ inherit: "default" 0.0; \
+ color: 66 162 207 255; \
+ } \
+ description { state: "invisible" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 0; \
+ } \
+ } \
+ part{ \
+ name : __name; \
+ type: IMAGE; \
+ mouse_events:1; \
+ scale : 1; \
+ description { \
+ state: "default" 0.0; \
+ align: 0 0; \
+ visible:1; \
+ image { normal: __normal; } \
+ rel1 { \
+ relative: 0 0; \
+ to: __name"_bg"; \
+ } \
+ rel2 { \
+ relative: 1 1; \
+ to: __name"_bg"; \
+ } \
+ } \
+ description { \
+ state: "press" 0.0; \
+ inherit: "default" 0.0; \
+ } \
+ description { state: "invisible" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 0; \
+ } \
+}
+
+#define PV_BUTTON_NOSOUND_PROGRAM(__name) \
+program{\
+ name: __name"_down"; \
+ source: __name; \
+ signal: "mouse,down,1"; \
+ action: STATE_SET "press" 0.0; \
+ target: __name"_bg"; \
+ target: __name"_press_bg"; \
+ target: __name; \
+ transition: ACCELERATE 0.02;\
+} \
+program { \
+ name: __name"_up"; \
+ source: __name; \
+ signal: "mouse,up,1"; \
+ action: STATE_SET "default" 0.0; \
+ target: __name"_bg"; \
+ target: __name"_press_bg"; \
+ target: __name; \
+ transition: DECELERATE 0.02;\
+} \
+program { \
+ name: __name"_clicked"; \
+ source: __name; \
+ signal: "mouse,clicked,1"; \
+ action: SIGNAL_EMIT __name"_clicked" 0.0; \
+}
+
+#define PV_BUTTON_PROGRAM(__name) \
+program{\
+ name: __name"_after_down"; \
+ source: __name; \
+ signal: "mouse,down,1"; \
+ action: STATE_SET "press" 0.0; \
+ target: __name"_bg"; \
+ target: __name"_bg_normal"; \
+ target: __name"_bg_circle"; \
+ transition: ACCELERATE 0.02;\
+} \
+program { \
+ name: __name"_down"; \
+ source: __name; \
+ signal: "mouse,down,1"; \
+ action: PLAY_SAMPLE "button-pressed" 1.0; \
+ after: __name"_after_down"; \
+ transition: ACCELERATE 0.02;\
+} \
+program { \
+ name: __name"_up"; \
+ source: __name; \
+ signal: "mouse,up,1"; \
+ action: STATE_SET "default" 0.0; \
+ target: __name"_bg_normal"; \
+ target: __name"_bg_circle"; \
+ transition: DECELERATE 0.02;\
+} \
+program { \
+ name: __name"_clicked"; \
+ source: __name; \
+ signal: "mouse,clicked,1"; \
+ action: SIGNAL_EMIT __name"_clicked" 0.0; \
+}
+
+#define PV_BUTTON_VISIVBLE_PROGRAM(__name) \
+program { \
+ name: __name"_visible" ; \
+ signal: __name"_visible"; \
+ source: __name; \
+ action: STATE_SET "default" 0.0; \
+ target: __name; \
+} \
+program { \
+ name: __name"_invisible" ; \
+ signal: __name"_invisible"; \
+ source: __name; \
+ action: STATE_SET "invisible" 0.0; \
+ target: __name; \
+}
+
+#define PV_BUTTON_INVISIVBLE_PROGRAM(__name) \
+program { \
+ name: __name"_visible" ; \
+ signal: __name"_visible"; \
+ source: __name; \
+ action: STATE_SET "visible" 0.0; \
+ target: __name; \
+} \
+program { \
+ name: __name"_invisible" ; \
+ signal: __name"_invisible"; \
+ source: __name; \
+ action: STATE_SET "default" 0.0; \
+ target: __name; \
+}
+
+#define PV_LYRIC_PROG \
+program {\
+ signal: "lrc_invisible";\
+ source: "lrc";\
+ action: STATE_SET "default" 0.0;\
+ target: "lrc";\
+ target: "lrc_bg";\
+ target: "fav_option_disable";\
+ transition: LINEAR 0.0;\
+}\
+program {\
+ signal: "lrc_visible";\
+ source: "lrc";\
+ action: STATE_SET "show" 0.0;\
+ target: "lrc";\
+ target: "lrc_bg";\
+ target: "fav_option_disable";\
+ transition: LINEAR 0.0;\
+}\
+program {\
+ signal: "lrc_destroy";\
+ source: "lrc";\
+ action: STATE_SET "default" 0.0;\
+ target: "lrc";\
+ target: "lrc_bg";\
+}
+
+#ifdef MP_IMAGE_ROTATE_FEATURE
+#define DESCRIPTION_ROTATION(param_num, param_name) \
+description { \
+ state: "rotate" 0.#param_num; \
+ inherit: "default" 0.0; \
+ image { \
+ normal: param_name; \
+ } \
+}
+#endif
+
+group {
+ name: "player_view_portrait_base";
+
+ images {
+ image: PV_BG_PATH COMP;
+ image: PV_BG_PATH_DIM COMP;
+ image: PV_CONTROL_CIRCLE_BT_03 COMP;
+ image: PV_CONTROL_CIRCLE_BT_03_PRESS COMP;
+ image: PV_OPTION_VOLUME COMP;
+ image: PV_OPTION_VOLUME_PRESS COMP;
+ image: PV_OPTION_SHUFFLE_ON COMP;
+ image: PV_OPTION_SHUFFLE_OFF COMP;
+ image: PV_OPTION_SHUFFLE_ON_PRESS COMP;
+ image: PV_OPTION_REP_A COMP;
+ image: PV_OPTION_REP_A_PRESS COMP;
+ image: PV_OPTION_REP_1 COMP;
+ image: PV_OPTION_REP_1_PRESS COMP;
+ image: PV_OPTION_REP_ALL COMP;
+ image: PV_OPTION_REP_ALL_PRESS COMP;
+ image: PV_OPTION_INFO COMP;
+ image: PV_OPTION_INFO_PRESS COMP;
+ image: PV_OPTION_FAVOURITE_ON COMP;
+ image: PV_OPTION_FAVOURITE_OFF COMP;
+ image: PV_OPTION_FAVOURITE_ON_PRESS COMP;
+ image: PV_CONTROL_CIRCLE_BT_01 COMP;
+ image: PV_CONTROL_CIRCLE_BT_01_PRESS COMP;
+ image: PV_CONTROL_CIRCLE_BT_01_FOCUS COMP;
+ image: PV_CONTROL_CIRCLE_BT_02 COMP;
+ image: PV_CONTROL_CIRCLE_BT_02_PRESS COMP;
+ image: PV_CONTROL_PREVIOUS COMP;
+ image: PV_CONTROL_PREVIOUS_PRESS COMP;
+ image: PV_CONTROL_PLAY COMP;
+ image: PV_CONTROL_PLAY_PRESS COMP;
+ image: PV_CONTROL_PAUSE COMP;
+ image: PV_CONTROL_PAUSE_PRESS COMP;
+ image: PV_CONTROL_NEXT COMP;
+ image: PV_CONTROL_NEXT_PRESS COMP;
+ image: PV_BOTTOM_BG COMP;
+ image: PV_OPTION_ALL_SHARE COMP;
+ }
+
+ parts {
+ part {
+ name: "bg_image";
+ mouse_events: 0;
+ type: IMAGE;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0 0;
+ fixed: 1 1;
+ visible: 1;
+ rel1 { relative: 0.0 0.0;}
+ rel2 { relative: 1.0 1.0;}
+ image { normal: PV_BG_PATH;}
+ }
+ description {
+ state: "dim" 0.0;
+ inherit: "default";
+ image { normal: PV_BG_PATH_DIM;}
+ }
+ }
+ part {
+ name: "player_view_title_bg";
+ mouse_events: 0;
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0 0;
+ fixed: 1 1;
+ visible: 1;
+ rel1 { relative: 30/720 0.0;}
+ rel2 { relative: 650/720 132/1280;}
+ color: MP_COLOR_BG_BLACK_TRANSPARENT;
+ }
+ }
+ part {
+ name: "player_view_title_main";
+ mouse_events: 0;
+ type: TEXT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0.5 0.5;
+ fixed: 1 1;
+ visible: 1;
+ text {
+ font: "Tizen:style=Medium";
+ size: 36;
+ min: 0 0;
+ align: 0.5 1.0;
+ }
+ rel1 { relative: 0.0 25/132; to: "player_view_title_bg";}
+ rel2 { relative: 1.0 82/132; to: "player_view_title_bg";}
+ color: 255 255 255 255;
+ }
+ }
+ part {
+ name: "player_view_title_subtitle";
+ mouse_events: 0;
+ type: TEXT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0.5 0.5;
+ fixed: 1 1;
+ visible: 1;
+ text {
+ font: "Tizen:style=Medium";
+ size: 28;
+ min: 0 0;
+ align: 0.5 1.0;
+ }
+ rel1 { relative: 0.0 0.0; to: "player_view_title_main"; }
+ rel2 { relative: 1.0 1.0; to: "player_view_title_bg"; }
+ color: 255 255 255 255;
+ }
+ }
+ part {
+ name: "options_favourite_on";
+ type: SWALLOW;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ align: 1 0;
+ fixed: 1 1;
+ rel1 {
+ relative: 0.0 0.0;
+ //to: "album_area";
+ offset:26 26;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ //to: "album_area";
+ //offset:26 -26;
+ }
+ min: 60 60;
+ max: 60 60;
+ color: 0 0 0 0;
+ }
+ description {
+ state: "visible" 0.0;
+ inherit: "default";
+ visible: 1;
+ }
+ }
+ part {
+ name: "options_favourite_off";
+ type: SWALLOW;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ align: 1 0;
+ fixed: 1 1;
+ rel1 {
+ relative: 0.0 0.0;
+ //to: "album_area";
+ offset:26 26;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ //to: "album_area";
+ //offset:26 -26;
+ }
+ min: 60 60;
+ max: 60 60;
+ color: 0 0 0 0;
+ }
+ description {
+ state: "visible" 0.0;
+ inherit: "default";
+ visible: 1;
+ }
+ }
+ part {
+ name: "favourite_focus_sound";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ //align: 0 0;
+ color: 0 0 0 0;
+ rel1 {
+ relative: 0 0;
+ to: "options_favourite_on";
+ }
+ rel2 {
+ relative: 1 1;
+ to: "options_favourite_on";
+ }
+ }
+ }
+ part {
+ name: "favourite_focus";
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ //align: 0 0;
+ visible:1;
+ rel1 {
+ relative: 0 0;
+ to: "favourite_focus_sound";
+ }
+ rel2 {
+ relative: 1 1;
+ to: "favourite_focus_sound";
+ }
+ }
+ }
+ part {
+ name: "bg";
+ mouse_events: 0;
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0 0;
+ fixed: 1 1;
+ visible: 1;
+ rel1 { relative: 0.0 132/1280;}
+ rel2 { relative: 1.0 1.0;}
+ color: MP_COLOR_BG_BLACK_TRANSPARENT;
+ }
+ }
+ part {
+ name: "top_area_cliper";
+ mouse_events: 1;
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0 0;
+ visible: 1;
+ //min: PV_TOP_AREA_W PV_TOP_AREA_H;
+ //max: PV_TOP_AREA_W PV_TOP_AREA_H;
+ fixed: 1 1;
+ rel1 {
+ relative: 0.0 0.0; to: "bg";
+ }
+ rel2 {
+ relative: 1.0 1.0; to: "bg";
+ }
+ }
+ }
+ part {
+ name: "top_area";
+ mouse_events: 1;
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0 0;
+ visible: 1;
+ //min: 100 100;
+ //max: PV_TOP_AREA_W PV_TOP_AREA_H;
+ fixed: 1 1;
+ rel1 {
+ relative: 0.0 0.0; to: "bg";
+ }
+ rel2 {
+ relative: 1.0 0.563; to: "bg";
+ }
+ color: 0 0 0 0;
+ }
+ }
+ part {
+ name: "album_top";
+ mouse_events: 0;
+ type: SPACER;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0 0;
+ //min: 0 0;
+ fixed: 1 1;
+ rel1 { relative: 0.0 0.0;}
+ rel2 { relative: 1.0 0.0;}
+ }
+ }
+ part {
+ name: "album_area_cliper";
+ mouse_events: 1;
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ //align: 0 0;
+ visible: 1;
+ //min: PV_ALBUM_IMAGE_W PV_ALBUM_IMAGE_H;
+ //max: PV_ALBUM_IMAGE_W PV_ALBUM_IMAGE_H;
+ //fixed: 1 1;
+ rel1 {
+ relative: 0.0 0.0; to: "album_area";
+ }
+ rel2 {
+ relative: 1.0 1.0; to: "album_area";
+ }
+ }
+ description {
+ state: "no_option" 0.0;
+ inherit: "default";
+ min: 0 0;
+ max: 0 0;
+ fixed: 1 1;
+ visible: 1;
+ }
+ description {
+ state: "no_progress" 0.0;
+ inherit: "no_option";
+ }
+ }
+ part { name: "album_area";
+ mouse_events: 1;
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ //align: 0.5 0.5;
+ //min: PV_ALBUM_AREA_W PV_ALBUM_AREA_H;
+ //max: PV_ALBUM_AREA_W PV_ALBUM_AREA_H;
+ fixed: 1 1;
+ visible: 1;
+ rel1 {
+ relative: 0.102 0.102; to: "top_area";
+ }
+ rel2 {
+ relative: 0.905 0.905; to: "top_area";
+ }
+ color: 0 0 0 0;
+ }
+ }
+ part { name : "album_image";
+ type: SWALLOW;
+ mouse_events: 1;
+ //clip_to: "album_area_cliper";
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ //min: PV_ALBUM_IMAGE_W PV_ALBUM_IMAGE_H;
+ //max: PV_ALBUM_IMAGE_W PV_ALBUM_IMAGE_H;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ rel1 {
+ relative: 0.0 0.0; to: "album_area";
+ }
+ rel2 {
+ relative: 1.0 1.0; to: "album_area";
+ }
+ color: 125 255 0 255;
+ }
+
+ }
+ /* UHQ icon */
+ part { name: "right_top_for_uhq";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 1.0 0.0; to: "album_area"; }
+ rel2 { relative: 1.0 0.0; to: "album_area"; }
+ min: 20 15;
+ fixed: 1 1;
+ align: 1.0 0.0;
+ }
+ }
+ part { name: "uhq_icon_area";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "album_area_cliper";
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 1.0; to: "right_top_for_uhq"; }
+ rel2 { relative: 0.0 1.0; to: "right_top_for_uhq"; }
+ min: 63 39;
+ max: 63 39;
+ fixed: 1 1;
+ align: 1.0 0.0;
+ }
+ }
+ part {
+ name: "buffering_area";
+ type: SWALLOW;
+ mouse_events: 0;
+ clip_to: "album_area_cliper";
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ min: 66 66;
+ align: 0.5 0.5;
+ fixed: 1 1;
+ rel1 { relative: 0.0 0.0; to: "album_area"; }
+ rel2 { relative: 1.0 1.0; to: "album_area"; }
+ }
+ }
+ part {
+ name : "album_image_left";
+ type: SWALLOW;
+ clip_to: "album_area_cliper";
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ //min: PV_ALBUM_IMAGE_W PV_ALBUM_IMAGE_H;
+ //max: PV_ALBUM_IMAGE_W PV_ALBUM_IMAGE_H;
+ fixed: 1 1;
+ visible: 1;
+ align: 1 0;
+ rel1 { relative: 0.0 0.0; to: "album_area"; }
+ rel2 { relative: 0.0 1.0; to: "album_area"; }
+ }
+ }
+ part {
+ name : "album_image_right";
+ type: SWALLOW;
+ clip_to: "album_area_cliper";
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ //min: PV_ALBUM_IMAGE_W PV_ALBUM_IMAGE_H;
+ //max: PV_ALBUM_IMAGE_W PV_ALBUM_IMAGE_H;
+ fixed: 1 1;
+ visible: 1;
+ align: 0 0;
+ rel1 { relative: 1.0 0.0; to: "album_area"; }
+ rel2 { relative: 1.0 1.0; to: "album_area"; }
+ }
+ }
+ part { name: "event_box";
+ type : SWALLOW;
+ mouse_events: 1;
+ clip_to: "album_area_cliper";
+ scale: 0;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0 0;
+ to: "album_area";
+ }
+ rel2 {
+ relative: 1 1;
+ to: "album_area";
+ }
+ }
+ }
+ part {
+ name: "bottom_area_cliper";
+ type: RECT;
+ mouse_events: 1;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ //align: 0.5 0.0;
+ visible:1;
+ //min: PV_SREEN_W PV_BOTTOM_CONTROL_H;
+ //max: PV_SREEN_W PV_BOTTOM_CONTROL_H;
+ fixed: 1 1;
+ rel1 { relative: 0.0 0.0;to: "bottom_area";}
+ rel2 { relative: 1.0 1.0;to: "bottom_area";}
+ }
+
+ description {
+ state: "no_option" 0.0;
+ inherit: "default";
+ //max: PV_SREEN_W PV_BOTTOM_CONTROL_H-84;
+ visible: 1;
+ rel2 {relative: 1.0 0.95; to: "bg";}
+ }
+
+ description {
+ state: "no_progress" 0.0;
+ inherit: "default";
+ //max: PV_SREEN_W PV_BOTTOM_CONTROL_H-84-94;
+ visible: 1;
+ rel2 { relative: 0.0 0.90; to: "bg";}
+ }
+ }
+ part {
+ name: "bottom_area";
+ type: RECT;
+ mouse_events: 1;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0.5 1.0;
+ visible: 0;
+ color: 90 80 0 150;
+ //min: PV_SREEN_W PV_BOTTOM_CONTROL_H;
+ //max: PV_SREEN_W PV_BOTTOM_CONTROL_H;
+ fixed: 1 1;
+ rel1 { relative: 0.0 1.0; to: "top_area"; }
+ rel2 { relative: 1.0 1.0; to: "bg"; }
+ }
+ description {
+ state: "no_option" 0.0;
+ inherit: "default";
+ //max: PV_SREEN_W 262;
+ //visible: 1;
+ rel1 { relative: 0.0 0.85; to: "bg";}
+ }
+ description {
+ state: "no_progress" 0.0;
+ inherit: "default";
+ //max: PV_SREEN_W 180;
+ //visible: 1;
+ rel1 { relative: 0.0 0.88; to: "bg";}
+ }
+ }
+ part {
+ name: "nearby_area";
+ type : RECT;
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ }
+ description {
+ state: "show" 0.0;
+ visible: 1;
+ align: 0.0 0.0;
+ color: 0 0 0 51;
+ rel1 {
+ relative: 0 0;
+ to: "bg";
+ }
+ rel2 {
+ relative: 1 0;
+ to: "bottom_area";
+ }
+ }
+ }
+ part {
+ name: "nearby_control_area";
+ type : SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ clip_to: "album_area_cliper";
+ repeat_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ }
+ description {
+ state: "show" 0.0;
+ min: PV_NEARBY_VOLUME_SIZE;
+ //max: 94 411;
+ fixed: 1 1;
+ align: 0.0 1.0;
+ rel1 {
+ relative: 0 (PV_ALBUM_IMAGE_H-PV_NEARBY_ARER_H)/PV_SREEN_H;
+ offset: 22 0;
+ to: "bg";
+ }
+ rel2 {
+ relative: 0 1;
+ offset: 22 22;
+ to_x: "bg";
+ to_y: "album_area";
+ }
+ }
+ }
+ part {
+ name: "nearby_allshare";
+ type : IMAGE;
+ mouse_events: 0;
+ scale: 1;
+ clip_to: "album_area_cliper";
+ repeat_events: 0;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ }
+ description {
+ state: "show" 0.0;
+ align: 0.0 0.0;
+ visible:1;
+ image { normal: PV_OPTION_ALL_SHARE; }
+ min: 124 100;
+ max: 124 100;
+ fixed: 1 1;
+ rel1 {
+ relative: 0 0;
+ to: "nearby_area";
+ offset: 7 12;
+ }
+ rel2 {
+ relative: 0 0;
+ to: "nearby_area";
+ offset: 7 12;
+ }
+ }
+ }
+ part {
+ name: "options_bg";
+ type : RECT;
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ //align: 0.5 1;
+ //min : 720 66;
+ //max : -1 66;
+ //min : 720 125;
+ //max : -1 125;
+ fixed: 1 1;
+ rel1 { relative: 0.0 0.05; to_x:"progress_area"; to_y: "bottom_area";}
+ rel2 { relative: 1.0 0.0; to: "progress_area"; }
+ color: MP_COLOR_BG_BLACK_TRANSPARENT;
+ }
+ }
+ part {
+ name: "options_area";
+ type : SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ repeat_events: 1;
+ clip_to: "bottom_area_cliper";
+ description {
+ state: "default" 0.0;
+ //align: 0.5 1.0;
+ //min: PV_OPTIONS_AREA_W 46;
+ //max: PV_OPTIONS_AREA_W 46;
+ //min: PV_OPTIONS_AREA_W 125;
+ //max: PV_OPTIONS_AREA_W 125;
+ fixed: 1 1;
+ visible: 1;
+ rel1 {
+ relative: 0 0;
+ to: "options_bg";
+ }
+ rel2 {
+ relative: 1 1;
+ to: "options_bg";
+ }
+ }
+ description {
+ state: "no_option" 0.0;
+ inherit: "default";
+ min: 0 0;
+ max: 0 0;
+ fixed: 1 1;
+ visible: 0;
+ }
+ description {
+ state: "no_progress" 0.0;
+ inherit: "no_option";
+ }
+ }
+
+ /* progress */
+ part {
+ name: "progress_area";
+ mouse_events: 1;
+ repeat_events: 1;
+ type: RECT;
+ scale: 0;
+ description {
+ state: "default" 0.0;
+ //min: PV_SREEN_W PV_PROGEESS_PART_H;
+ //max: PV_SREEN_W PV_PROGEESS_PART_H;
+ fixed: 1 1;
+ //align: 0 1;
+ visible: 1;
+ rel1 { relative: 0.03 0.72; to: "bg"; }
+ rel2 { relative: 0.97 0.85; to: "bg";}
+ color: MP_COLOR_BG_BLACK_TRANSPARENT;
+ }
+ description {
+ state: "no_option" 0.0;
+ inherit: "default";
+ visible: 1;
+ }
+ description {
+ state: "no_progress" 0.0;
+ inherit: "no_option";
+ min: 0 0;
+ max: 0 0;
+ fixed: 1 1;
+ visible: 0;
+ }
+ description {
+ state: "hide" 0.0;
+ visible: 0;
+ }
+ description {
+ state: "no_option" 0.0;
+ inherit: "default";
+ visible: 1;
+ }
+ description {
+ state: "no_progress" 0.0;
+ inherit: "no_option";
+ min: 0 0;
+ max: 0 0;
+ fixed: 1 1;
+ visible: 0;
+ }
+ description {
+ state: "hide" 0.0;
+ visible: 0;
+ }
+ }
+ PV_PART_SWALLOW_W_CLIP("progress_box", "progress_area", 0, 0, 1, 1)
+ part {
+ name: "control_area";
+ type : SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ repeat_events: 1;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ fixed: 1 1;
+ rel1 {relative : 0.0 0.8578; to: "bg"; }
+ rel2 { relative : 1.0 1.0; to: "bg";}
+ color: 50 86 94 255;;
+ }
+ }
+ part {
+ name: "control_area_shuffle";
+ type : SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ repeat_events: 1;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ fixed: 1 1;
+ rel1 {relative : 0.0 0.85; to: "bg"; }
+ rel2 { relative : 1.0 1.0; to: "bg";}
+ color: 50 86 94 255;
+ }
+ }
+ part {
+ name: "control_area_bg";
+ type : RECT;
+ mouse_events: 1;
+ scale: 1;
+ repeat_events: 1;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ fixed: 1 1;
+ rel1 {relative : 0.0 0.0; to: "control_area"; }
+ rel2 { relative : 1.0 1.0; to: "control_area";}
+ color: 0 0 0 0;
+ }
+ }
+ /* lyric */
+ //PV_PART_RECT("lrc_area", "bg", 0, PV_LYRIC_AREA_SY, 1, PV_LYRIC_AREA_EY)
+ part{
+ name:"lrc_area";
+ mouse_events: 1;
+ repeat_events: 1;
+ type:"RECT";
+ scale:1;
+ description {
+ state: "default" 0.0;
+ align: 0 0;
+ visible: 1;
+ rel1 {
+ relative: 0.0 0.0;
+ to: "bg";
+ }
+ rel2 {
+ relative: 1.0 0.0;
+ to: "bottom_area";
+ }
+ color: 0 0 0 0;
+ }
+ description {
+ state: "hide" 0.0;
+ visible: 0;
+ }
+ }
+ part {
+ name: "lrc_bg";
+ mouse_events: 1;
+ repeat_events: 1;
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0 0;
+ visible: 0;
+ rel1 {
+ relative: 0 0;
+ to: "lrc_area";
+ }
+ rel2 {
+ relative: 1 1;
+ to: "lrc_area";
+ }
+ color: PV_LYRIC_BG_COLOR;
+ }
+ description { state: "show" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part {
+ name: "fav_option_disable";
+ mouse_events: 1;
+ repeat_events: 0;
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ rel1 {
+ relative: 1.0 0.0;
+ to: "album_area";
+ offset:-80 20;
+ }
+ rel2 {
+ relative: 1.0 0.0;
+ to: "album_area";
+ offset:-20 80;
+ }
+ color: 0 0 0 0;
+ }
+ description {
+ state: "show" 0.0;
+ rel1 {
+ relative: 1.0 0.0;
+ to: "album_area";
+ offset:-80 20;
+ }
+ rel2 {
+ relative: 1.0 0.0;
+ to: "album_area";
+ offset:-20 80;
+ }
+ color: 0 0 0 0;
+ visible: 1;
+ }
+ }
+ part {
+ name: "lrc";
+ type: SWALLOW;
+ mouse_events: 1;
+ repeat_events: 1;
+ scale: 1;
+ clip_to: "top_area_cliper";
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ rel1 {
+ //relative: 0 PV_LYRIC_SY;
+ relative: 0 18/795;
+ to: "lrc_bg";
+ }
+ rel2 {
+ //relative: 1 PV_LYRIC_EY;
+ relative: 1 738/795;
+ to: "lrc_bg";
+ }
+ }
+ description { state: "show" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ /* queue list */
+ part {
+ name: "queue_list_area";
+ mouse_events: 1;
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "top_area_cliper";
+ description {
+ state: "default" 0.0;
+ align: 0 0;
+ visible: 1;
+ rel1 { relative: 0.0 0.0; to: "bottom_area";}
+ rel2 { relative: 1.0 0.0; to: "bottom_area";}
+ }
+ description { state: "show" 0.0;
+ visible: 1;
+ rel1 { relative: 0.0 0.0; to: "bg";}
+ rel2 { relative: 1.0 0.0; to: "bottom_area";}
+ }
+ }
+ /* volume popup */
+ part {
+ name: "volume_popup";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "top_area_cliper";
+ description {
+ state: "default" 0.0;
+ //min: PV_OPTIONS_VOLUME_POPUP_W PV_OPTIONS_VOLUME_POPUP_H;
+ fixed: 1 1;
+ align: 0.0 1.0;
+ rel1 {
+ relative: 0.842 0.16;
+ //offset: -30 86;
+ to_x: "bg";
+ to_y: "album_area";
+ }
+ rel2 {
+ relative: 0.935 1.1;
+ //offset: -30 56;
+ to_x: "bg";
+ to_y: "album_area";
+ }
+ }
+ }
+ }
+ programs {
+ PV_BUTTON_INVISIVBLE_PROGRAM("options_favourite_on")
+ PV_BUTTON_INVISIVBLE_PROGRAM("options_favourite_off")
+
+ /* album image */
+ program { name: "flick_left";
+ signal: "flick_left";
+ source: "album_area";
+ action: STATE_SET "left" 0.0;
+ target: "album_area";
+ transition: LINEAR PV_ALBUM_IMAGE_FLICK_TIMER;
+ after: "album_area_transit_done";
+ }
+ program { name: "flick_right";
+ signal: "flick_right";
+ source: "album_area";
+ action: STATE_SET "right" 0.0;
+ target: "album_area";
+ transition: LINEAR PV_ALBUM_IMAGE_FLICK_TIMER;
+ after: "album_area_transit_done";
+ }
+ program { name: "set_default";
+ signal: "set_default";
+ source: "album_area";
+ action: STATE_SET "default" 0.0;
+ target: "album_area";
+ }
+ program { name : "album_area_transit_done";
+ signal: "transit_done";
+ source: "album_area";
+ script {
+ emit("transit_done", "album");
+ }
+ //after: "set_default";
+ }
+ /* queue list */
+ program {
+ name : "show_queue_list";
+ signal : "SHOW_QUEUE_LIST";
+ source : "music_app";
+ action : STATE_SET "show" 0.0;
+ target : "queue_list_area";
+ transition: ACCELERATE 0.3;
+ }
+ program {
+ name : "hide_queue_list";
+ signal : "HIDE_QUEUE_LIST";
+ source : "music_app";
+ action : STATE_SET "default" 0.0;
+ target : "queue_list_area";
+ transition: ACCELERATE 0.3;
+ }
+ program {
+ name : "nearby_area_show";
+ signal : "SHOW_NEARBY_AREA";
+ source : "music_app";
+ action : STATE_SET "show" 0.0;
+ target : "nearby_area";
+ target : "nearby_control_area";
+ target : "nearby_allshare";
+ }
+ program {
+ name : "nearby_area_hide";
+ signal : "HIDE_NEARBY_AREA";
+ source : "music_app";
+ action : STATE_SET "default" 0.0;
+ target : "nearby_area";
+ target : "nearby_control_area";
+ target : "nearby_allshare";
+ }
+ program {
+ name : "set_hide_option";
+ signal : "set_hide_option";
+ source : "*";
+ action : STATE_SET "no_option" 0.0;
+ target : "bottom_area";
+ target : "options_area";
+ target : "progress_area";
+ target : "bottom_area_cliper";
+ target : "album_area_cliper";
+ }
+ program {
+ name : "set_hide_default";
+ signal : "set_hide_default";
+ source : "*";
+ action : STATE_SET "default" 0.0;
+ target : "bottom_area";
+ target : "options_area";
+ target : "progress_area";
+ target : "bottom_area_cliper";
+ target : "album_area_cliper";
+ }
+ program {
+ name : "set_hide_progress";
+ signal : "set_hide_progress";
+ source : "*";
+ action : STATE_SET "no_progress" 0.0;
+ target : "bottom_area";
+ target : "options_area";
+ target : "progress_area";
+ target : "bottom_area_cliper";
+ target : "album_area_cliper";
+ }
+ program {
+ name: "touch_snd_star";
+ signal: "mouse,down,1";
+ source: "favourite_focus_sound";
+ action: RUN_PLUGIN "touch_sound_plugin";
+ }
+ /* lyric */
+ PV_LYRIC_PROG
+ }
+}
+
+/* options */
+group {
+ name: "player_view_option_area";
+ parts {
+ part {
+ name: "bg";
+ type : RECT;
+ mouse_events: 1;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ fixed: 1 1;
+ rel1 { relative: 0.0 0.0;}
+ rel2 { relative: 1.0 1.0;}
+ color: 0 0 0 0;
+ }
+ }
+
+ PV_PART_SWALLOW_OPTION("options_volume", "bg", 0.864, 0.05, 0.9756, 0.5);
+ PV_PART_SWALLOW_OPTION("options_volume_mute", "bg", 0.864, 0.05, 0.9756, 0.5);
+ MP_FOCUSED_COVER("volume", "options_volume");
+
+ PV_PART_HIDE_SWALLOW_OPTION("options_like_on", "bg", PV_OPTION_SHUFFLE_ON_SX, PV_OPTION_SHUFFLE_ON_SY, PV_OPTION_SHUFFLE_ON_EX, PV_OPTION_SHUFFLE_ON_EY);
+ PV_PART_HIDE_SWALLOW_OPTION("options_like_off", "bg", PV_OPTION_SHUFFLE_ON_SX, PV_OPTION_SHUFFLE_ON_SY, PV_OPTION_SHUFFLE_ON_EX, PV_OPTION_SHUFFLE_ON_EY);
+
+ PV_PART_SWALLOW_OPTION("options_queue", "bg", 0.0144, 0.05,0.141, 0.5);
+ MP_FOCUSED_COVER("queue", "options_queue");
+
+ PV_PART_HIDE_SWALLOW_OPTION("options_block_on", "bg", PV_OPTION_REP_SX, PV_OPTION_SHUFFLE_ON_SY, PV_OPTION_REP_EX, PV_OPTION_SHUFFLE_ON_EY);
+ PV_PART_HIDE_SWALLOW_OPTION("options_block_off", "bg", PV_OPTION_REP_SX, PV_OPTION_SHUFFLE_ON_SY, PV_OPTION_REP_EX, PV_OPTION_SHUFFLE_ON_EY);
+
+ part{
+ name: "volume_text";
+ mouse_events: 0;
+ type: TEXT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0.5 0;
+ visible: 1;
+ rel1 { relative: 0.5 1.0; to: "options_volume";}
+ rel2 { relative: 0.5 1.0; to: "options_volume";}
+ min: 120 27;
+ max: -1 27;
+ text {
+ align: 0.5 0.5;
+ size:25;
+ }
+ }
+ }
+ part{
+ name: "queue_text";
+ mouse_events: 0;
+ type: TEXT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0.5 0;
+ visible: 1;
+ rel1 { relative: 0.5 1.0; to: "options_queue";}
+ rel2 { relative: 0.5 1.0; to: "options_queue";}
+ min: 120 27;
+ max: -1 27;
+ text {
+ align: 0.5 0.5;
+ size:25;
+ }
+ }
+ }
+ }
+
+ programs {
+ PV_BUTTON_VISIVBLE_PROGRAM("options_volume")
+ PV_BUTTON_VISIVBLE_PROGRAM("options_volume_mute")
+ PV_BUTTON_INVISIVBLE_PROGRAM("options_like_on")
+ PV_BUTTON_INVISIVBLE_PROGRAM("options_like_off")
+ PV_BUTTON_INVISIVBLE_PROGRAM("options_block_on")
+ PV_BUTTON_INVISIVBLE_PROGRAM("options_block_off")
+ }
+}
+
+/* control */
+group {
+ name: "player_view_control_area";
+ parts {
+ part {
+ name: "bg";
+ type : RECT;
+ mouse_events: 1;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ fixed: 1 1;
+ //min: 0 184;
+ //max: -1 184;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ color: MP_COLOR_BG_BLACK_TRANSPARENT;
+ }
+ }
+
+ PV_PART_HIDE_SWALLOW_OPTION("control_shuffle_on", "bg", 0.0484, 0.126, 0.155, 0.5659)
+ PV_PART_HIDE_SWALLOW_OPTION("control_shuffle_off", "bg", 0.0484, 0.126, 0.155, 0.5659)
+ MP_FOCUSED_COVER("shuffle", "control_shuffle_off");
+
+ PV_PART_SWALLOW_OPTION("control_previous", "bg", 0.20, 0.0769, 0.375, 0.7692)
+ MP_FOCUSED_COVER("previous", "control_previous");
+
+ PV_PART_SWALLOW_OPTION("control_play", "bg", 0.4153, 0.0769, 0.5903, 0.7692)
+ PV_PART_SWALLOW_OPTION("control_pause", "bg", 0.4153, 0.0769, 0.5903, 0.7692)
+ MP_FOCUSED_COVER("play_pause", "control_play");
+
+ PV_PART_SWALLOW_OPTION("control_next", "bg", 0.6305, 0.0769,0.8055, 0.7692)
+ MP_FOCUSED_COVER("next", "control_next");
+
+ PV_PART_HIDE_SWALLOW_OPTION("control_rep_A", "bg", 0.834, 0.126, 0.946, 0.5659);
+ PV_PART_HIDE_SWALLOW_OPTION("control_rep_1", "bg", 0.834, 0.126, 0.946, 0.5659);
+ PV_PART_HIDE_SWALLOW_OPTION("control_rep_all","bg", 0.834, 0.126, 0.946, 0.5659);
+ MP_FOCUSED_COVER("repeat", "control_rep_A");
+
+ part{
+ name: "shuffle_text";
+ mouse_events: 0;
+ type: TEXT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0.5 0;
+ visible: 1;
+ rel1 { relative: 0.5 1.0; to: "control_shuffle_on";}
+ rel2 { relative: 0.5 1.0; to: "control_shuffle_on";}
+ min: 120 27;
+ max: -1 27;
+ text {
+ align: 0.5 0.5;
+ size:25;
+ }
+ }
+ }
+ part{
+ name: "repeat_text";
+ mouse_events: 0;
+ type: TEXT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0.5 0;
+ visible: 1;
+ rel1 { relative: 0.5 1.0; to: "control_rep_A";}
+ rel2 { relative: 0.5 1.0; to: "control_rep_A";}
+ min: 120 27;
+ max: -1 27;
+ text {
+ align: 0.5 0.5;
+ size:25;
+ }
+ }
+ }
+ }
+ programs {
+ PV_BUTTON_VISIVBLE_PROGRAM("control_play")
+ PV_BUTTON_VISIVBLE_PROGRAM("control_pause")
+ PV_BUTTON_INVISIVBLE_PROGRAM("control_shuffle_on")
+ PV_BUTTON_INVISIVBLE_PROGRAM("control_shuffle_off")
+ PV_BUTTON_INVISIVBLE_PROGRAM("control_rep_A")
+ PV_BUTTON_INVISIVBLE_PROGRAM("control_rep_1")
+ PV_BUTTON_INVISIVBLE_PROGRAM("control_rep_all")
+ }
+}
+/* nearby */
+#define NEARBY_VOLUME_BG "T02_icon_volume_control_bg.png"
+
+group {
+ name: "player_view_nearby_area";
+ images {
+ image: NEARBY_VOLUME_BG COMP;
+ }
+ parts {
+ part {
+ name: "bg";
+ type : IMAGE;
+ mouse_events: 1;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ //visible: 1;
+ min: PV_NEARBY_VOLUME_SIZE;
+ max: PV_NEARBY_VOLUME_SIZE;
+ fixed: 1 1;
+ image { normal: NEARBY_VOLUME_BG;
+ border: 6 6 6 6;}
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ }
+ }
+ part {
+ name: "button_area";
+ type : SPACER;
+ mouse_events: 1;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: PV_NEARBY_ICON_W PV_NEARBY_ARER_H;
+ max: PV_NEARBY_ICON_W PV_NEARBY_ARER_H;
+ fixed: 1 1;
+ align: 0.5 0;
+ rel1 { relative: 0.0 0.0; to:"bg"; }
+ rel2 { relative: 1.0 1.0; to:"bg"; }
+ }
+ }
+ PV_PART_SWALLOW_OPTION("plus", "button_area", 0, PV_CONTROL_PLUS_SY, 1, PV_CONTROL_PLUS_EY )
+ PV_PART_SWALLOW_OPTION("minus", "button_area", 0, PV_CONTROL_MINUS_SY, 1, PV_CONTROL_MINUS_EY )
+ PV_PART_SWALLOW_OPTION("mute", "button_area", 0, PV_CONTROL_MUTE_SY, 1, PV_CONTROL_MUTE_EY )
+ }
+}
+
+group {
+ name: "player_view_progress_box";
+ parts {
+ part { name: "bg";
+ type : RECT;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ color: MP_COLOR_BG_BLACK_TRANSPARENT;
+ }
+ }
+
+ PV_PART_RECT("progress_bar_area", "bg", PV_PROGRESSBAR_SX, 32/PV_PROGEESS_PART_H, PV_PROGRESSBAR_EX, 38/PV_PROGEESS_PART_H)
+
+ part {
+ name: "progress_bar";
+ mouse_events: 1;
+ type: SWALLOW;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0.5 0.5;
+ visible: 1;
+ fixed: 1 1;
+ rel1 {
+ relative: 0 0;
+ to: "progress_bar_area";
+ }
+ rel2 {
+ relative: 1 1;
+ to: "progress_bar_area";
+ }
+ color: 248 246 239 255;
+ }
+ description {
+ state: "hide" 0.0;
+ visible: 0;
+ }
+ }
+ part {
+ name: "padding_center";
+ type: SPACER;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: 0.0 1.0; to_y: "progress_bar"; }
+ rel2 { relative: 1.0 1.0; to_y: "progress_bar"; }
+ min: 0 20;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ }
+ description {
+ state: "landscape";
+ inherit: "default" 0.0;
+ min: 0 0;
+ }
+ }
+ part {
+ name: "text_area";
+ type: SPACER;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: 0.0 1.0; to_x: "progress_bar_area"; to_y: "padding_center"; }
+ rel2 { relative: 1.0 1.0; to_x: "progress_bar_area"; to_y: "padding_center"; }
+ min: 0 PV_PROGRESS_TEXT_H;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ }
+ description {
+ state: "landscape";
+ inherit: "default" 0.0;
+ min: 0 26;
+ }
+ }
+ part {
+ name: "progress_text_playing";
+ type: TEXT;
+ scale: 1;
+ effect: FAR_SHADOW BOTTOM;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ align: 0.0 0.5;
+ fixed: 1 1;
+ rel1 {
+ relative: 0.0 0.0;
+ to: "text_area";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ to: "text_area";
+ }
+ text {
+ text: "00:00";
+ size: 28;
+ elipsis: 1.0;
+ align: 0.0 0.5;
+ min: 1 1;
+ }
+ color: 250 250 250 255;;
+ }
+ description {
+ state: "landscape";
+ inherit: "default" 0.0;
+ }
+ }
+ part {
+ name: "progress_text_total";
+ type: TEXT;
+ scale: 1;
+ effect: FAR_SHADOW BOTTOM;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ align: 1.0 0.5;
+ fixed: 1 1;
+ rel1 {
+ relative: 1.0 0.0;
+ to: "text_area";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to: "text_area";
+ }
+ text {
+ text: "00:00";
+ size: 28;
+ ellipsis: 1.0;
+ align: 1.0 0.5;
+ min: 1 1;
+ }
+ color: 250 250 250 255;
+ }
+ description {
+ state: "landscape";
+ inherit: "default" 0.0;
+ }
+ }
+
+ program { name: "progress_bar_show";
+ signal: "set_show";
+ source: "progress_bar";
+ action: STATE_SET "default" 0.0;
+ target: "progress_bar";
+ }
+
+ program { name: "progress_bar_hide";
+ signal: "set_hide";
+ source: "progress_bar";
+ action: STATE_SET "hide" 0.0;
+ target: "progress_bar";
+ }
+
+ program { signal: "elm,state,landscape";
+ source: "*";
+ action: STATE_SET "landscape" 0.0;
+ target: "padding_center";
+ target: "text_area";
+ target: "progress_text_playing";
+ target: "progress_text_total";
+ }
+ }
+}
+
+group {
+ name: "queue_title_list";
+ parts {
+ part {
+ name: "bg";
+ type : RECT;
+ scale: 1;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ color: 255 255 255 255;
+ }
+ description {
+ state: "hide" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part {
+ name: "track_info_bg";
+ mouse_events: 0;
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0 0;
+ visible: 1;
+ rel1 { relative: 0.0 0.0;}
+ rel2 { relative: 1.0 0.0; offset: 0 48; }
+ color: 255 255 255 255;
+ }
+ description {
+ state: "hide" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part{
+ name: "track_count";
+ mouse_events: 0;
+ type: TEXT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0 0.5;
+ visible: 1;
+ rel1 { relative: 0.0 0.0; to: "track_info_bg"; offset: 26 0;}
+ rel2 { relative: 0.5 1.0; to: "track_info_bg";}
+ text {
+ size: 30;
+ align: 0.0 0.5;
+ min: 0 0;
+ }
+ color: 21 108 148 255;
+ }
+ description {
+ state: "hide" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part{
+ name: "track_current";
+ mouse_events: 0;
+ type: TEXT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 1 0.5;
+ visible: 1;
+ rel1 { relative: 0.5 0.0; to: "track_info_bg";}
+ rel2 { relative: 1.0 1.0; to: "track_info_bg"; offset: -26 0;}
+ text {
+ size: 30;
+ align: 1.0 0.5;
+ min: 0 0;
+ }
+ color: 21 108 148 255;
+ }
+ description {
+ state: "hide" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part {
+ name: "queue_list_content";
+ mouse_events: 1;
+ type: SWALLOW;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0.5 0.5;
+ fixed: 1 1;
+ visible: 1;
+ rel1 {
+ relative: 0.0 1.0;
+ to: "track_info_bg";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ }
+ color: 0 0 0 0;
+ }
+ }
+ program {
+ name : "show_queue_title";
+ signal : "SHOW_QUEUE_TITLE";
+ source : "music_app";
+ action : STATE_SET "default" 0.0;
+ target : "track_info_bg";
+ target : "track_count";
+ target : "track_current";
+ target : "bg";
+ }
+ program {
+ name : "hide_queue_title";
+ signal : "HIDE_QUEUE_TITLE";
+ source : "music_app";
+ action : STATE_SET "hide" 0.0;
+ target : "track_info_bg";
+ target : "track_count";
+ target : "track_current";
+ target : "bg";
+ }
+ }
+}
+
+group{ name: "list_popup_swallow_ly";
+parts {
+ part{
+ name: "bg";
+ type: RECT;
+ description {
+ min: 0 185;
+ max: -1 185;
+ rel1 {
+ relative: 0.0 0.0;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ }
+ color: 255 255 255 255;
+ }
+ }
+ part { name: "list";
+ type: SWALLOW;
+ description {
+ //min: 0 185;
+ //max: -1 185;
+ rel1.relative: 0.0 0.0;
+ rel1.to:"bg";
+ rel2.relative: 1.0 1.0;
+ rel2.to:"bg";
+ }
+ }
+}
+ script {
+ public message(Msg_Type:type,id, ...)
+ {
+ if((type == MSG_INT) && (id == 1))
+ {
+ new a;
+ new x, y;
+ a = getarg(2);
+ custom_state(PART:"bg","default",0.0);
+ get_state_val(PART:"bg",STATE_MIN,x,y);
+ set_state_val(PART:"bg",STATE_MIN,a,y);
+ set_state_val(PART:"bg",STATE_MAX,a,y);
+ set_state(PART:"bg","custom",0.0);
+ }
+ if((type == MSG_INT) && (id == 2))
+ {
+ new a;
+ new x, y;
+ a = getarg(2);
+ custom_state(PART:"bg","default",0.0);
+ get_state_val(PART:"bg",STATE_MIN,x,y);
+ set_state_val(PART:"bg",STATE_MIN,x,a);
+ set_state_val(PART:"bg",STATE_MAX,x,a);
+ set_state(PART:"bg","custom",0.0);
+
+ }
+ }
+ }
+}
+ group { name: "list_popup_content_ly";
+ parts {
+ part { name : "bg";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1.relative: 0.0 0.0;
+ rel2.relative: 1.0 1.0;
+ color: 255 255 255 255;
+ }
+ }
+ part { name : "bg1";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1.relative: 0.0 0.0;
+ rel1.to: "bg";
+ rel2.relative: 1.0 0.5;
+ rel2.to: "bg";
+ color: 255 255 255 255;
+ }
+ description {
+ state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ color: 165 197 210 255;
+ }
+ }
+ part { name : "bg2";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1.relative: 0.0 0.5;
+ rel1.to: "bg";
+ rel1.offset: 0 2;
+ rel2.relative: 1.0 1.0;
+ rel2.to: "bg";
+ color: 255 255 255 255;
+ }
+ description {
+ state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ color: 165 197 210 255;
+ }
+ }
+ part { name : "septator";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1.relative: 0.0 0.5;
+ rel1.to: "bg";
+ //rel1.offset: 0 2;
+ rel2.relative: 1.0 0.5;
+ rel2.to: "bg";
+ min: 0 2;
+ max: -1 2;
+ align: 0 0.5;
+ color: 165 197 210 255;
+ }
+ }
+ part {
+ name: "elm.text";
+ type: TEXT;
+ mouse_events: 1;
+ repeat_events: 1;
+ description {
+ state: "default" 0.0;
+ rel1.relative: 0.0 0.0;
+ rel1.to: "bg1";
+ rel2.relative: 0.6 1.0;
+ rel2.to: "bg1";
+ text {
+ text: "Time";
+ size: 32;
+ align: 0.1 0.5;
+ }
+ color: 23 23 23 255;
+ }
+ }
+ part {
+ name: "elm.swallow";
+ type: SWALLOW;
+ mouse_events: 1;
+ repeat_events: 1;
+ description {
+ state: "default" 0.0;
+ rel1.relative: 0.8 0.3;
+ rel1.to: "bg1";
+ rel2.relative: 1.0 0.7;
+ rel2.to: "bg1";
+ align: 1.0 0.5;
+ }
+ }
+ part {
+ name: "elm.text.second";
+ type: TEXT;
+ mouse_events: 1;
+ repeat_events: 1;
+ description {
+ state: "default" 0.0;
+ rel1.relative: 0.0 0.0;
+ rel1.to: "bg2";
+ rel2.relative: 0.6 1.0;
+ rel2.to: "bg2";
+ text {
+ text: "Album";
+ size: 32;
+ align: 0.1 0.5;
+ }
+ color: 23 23 23 255;
+ }
+ }
+ part {
+ name: "elm.swallow.second";
+ type: SWALLOW;
+ mouse_events: 1;
+ repeat_events: 1;
+ description {
+ state: "default" 0.0;
+ rel1.relative: 0.8 0.3;
+ rel1.to: "bg2";
+ rel2.relative: 1.0 0.7;
+ rel2.to: "bg2";
+ align: 1.0 0.5;
+ }
+ }
+ part { name : "button1";
+ type: SWALLOW;
+ mouse_events: 1;
+ repeat_events: 1;
+ description {
+ state: "default" 0.0;
+ rel1.relative: 0.0 0.0;
+ rel1.to: "bg";
+ rel2.relative: 1.0 0.5;
+ rel2.to: "bg";
+ }
+ }
+ part { name : "button2";
+ type: SWALLOW;
+ mouse_events: 1;
+ repeat_events: 1;
+ description {
+ state: "default" 0.0;
+ rel1.relative: 0.0 0.5;
+ rel1.to: "bg";
+ rel1.offset: 0 2;
+ rel2.relative: 1.0 1.0;
+ rel2.to: "bg";
+ }
+ }
+ }
+ programs {
+ program{ name: "item_1_clicked";
+ source: "bg1";
+ signal: "mouse,down,1";
+ action: STATE_SET "pressed" 0.0;
+ target: "bg1";
+ }
+ program{ name: "item_2_clicked";
+ source: "bg2";
+ signal: "mouse,down,1";
+ action: STATE_SET "pressed" 0.0;
+ target: "bg2";
+ }
+ program{ name: "item_1_released";
+ source: "bg1";
+ signal: "mouse,up,1";
+ action: STATE_SET "default" 0.0;
+ target: "bg1";
+ }
+ program{ name: "item_2_released";
+ source: "bg2";
+ signal: "mouse,up,1";
+ action: STATE_SET "default" 0.0;
+ target: "bg2";
+ }
+ }
+
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#define PROGRESS_BG_IMG "lite/core_progress_bar.#.png"
+#define PROGRESS_HANDLE "lite/mini_player_button_01.png"
+#define PROGRESS_PROGRESSBAR_HANDLE_EFFECT "lite/mini_player_button_02.png"
+
+#define PROGRESS_PLAYER_CIRCLE_PRESS_SIZE 26 26
+#define PROGRESS_PLAYER_CIRCLE_SIZE 26 26
+
+group { name: "elm/progressbar/horizontal/music/list_progress";
+ images {
+ image: PROGRESS_BG_IMG COMP;
+ image: PROGRESS_HANDLE COMP;
+ image: PROGRESS_PROGRESSBAR_HANDLE_EFFECT COMP;
+ }
+ parts {
+ part { name: "elm.padding.left";
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 0 0;
+ fixed: 1 0;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 0 0;
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ offset: 0 0;
+ }
+ color: 0 0 0 0;
+ align: 0.0 0.0;
+ }
+ }
+ part { name: "elm.padding.right";
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 0 0;
+ fixed: 1 0;
+ rel1 {
+ relative: 1.0 0.0;
+ offset: 0 0;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: 0 0;
+ }
+ color: 0 0 0 0;
+ align: 1.0 0.0;
+ }
+ }
+ part { name: "elm.background.progressbar";
+ mouse_events: 0;
+ scale: 1;
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ to_x: "elm.padding.left";
+ relative: 1.0 0.0;
+ offset: 0 0;
+ }
+ rel2 {
+ to_x: "elm.padding.right";
+ relative: 0.0 1.0;
+ offset: 0 0;
+ }
+ }
+ }
+ part { name: "elm.swallow.bar";
+ mouse_events: 1;
+ scale: 1;
+ type: SWALLOW;
+ description {
+ min: 26 4;
+ max: 99999 0;
+ state: "default" 0.0;
+ rel1 {
+ to: "elm.background.progressbar";
+ relative: 0.0 0.0;
+ }
+ rel2 {
+ to: "elm.background.progressbar";
+ relative: 1.0 1.0;
+ }
+ }
+ }
+ part { name: "elm.swallow.content";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ align: 0.0 0.5;
+ rel1 {
+ offset: 0 0;
+ to_y: "elm.background.progressbar";
+ }
+ rel2 {
+ offset: 0 -1;
+ relative: 0.0 1.0;
+ to_y: "elm.background.progressbar";
+ }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ aspect: 1.0 1.0;
+ aspect_preference: VERTICAL;
+ rel2.offset: 4 -1;
+ }
+ }
+ part { name: "elm.text";
+ type: TEXT;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ fixed: 1 1;
+ align: 0.0 0.5;
+ rel1.to_x: "elm.swallow.content";
+ rel1.relative: 1.0 0.0;
+ rel2.to_x: "elm.swallow.content";
+ rel2.relative: 1.0 1.0;
+ color: 0 0 0 255;
+ text {
+ font: "TIZEN:style=Medium";
+ size: 10;
+ min: 0 0;
+ elipsis: 1.0;
+ align: 0.0 0.5;
+ }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ text.min: 1 1;
+ }
+ }
+ part { name: "background";
+ mouse_events: 1;
+ scale: 1;
+ clip_to: "elm.background.progressbar";
+ description {
+ state: "default" 0.0;
+ rel1 {
+ to: "elm.swallow.bar";
+ relative: 0.0 0.0;
+ }
+ rel2 {
+ to: "elm.swallow.bar";
+ relative: 1.0 1.0;
+ }
+ image {
+ normal: PROGRESS_BG_IMG;
+ }
+ color: 179 179 179 255;
+ }
+ }
+ part { name: "elm.text.status";
+ type: TEXT;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ visible: 0;
+ rel1 {
+ to: "background";
+ relative: 0.5 0.5;
+ }
+ rel2 {
+ to: "background";
+ relative: 0.5 0.5;
+ }
+ text {
+ font: "TIZEN:style=Medium";
+ size: 10;
+ min: 0 0;
+ align: 0.5 0.0;
+ elipsis: 1.0;
+ }
+ color: 0 0 0 255;
+ }
+ description { state: "show" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ text.min: 1 1;
+ }
+ }
+ part { name: "elm.progress.progressbar";
+ mouse_events: 1;
+ scale: 1;
+ clip_to: "elm.background.progressbar";
+ description {
+ state: "default" 0.0;
+ min: 0 0;
+ fixed: 1 1;
+ rel1 {
+ to: "elm.swallow.bar";
+ relative: 0.0 0.0;
+ }
+ rel2 {
+ to_y: "elm.swallow.bar";
+ to_x: "elm.cur.progressbar";
+ offset: -1 -1;
+ }
+ image {
+ normal: PROGRESS_BG_IMG;
+ }
+ color: 179 179 179 255;
+ }
+ description {
+ state: "invert" 0.0;
+ inherit: "default" 0.0;
+ rel1 {
+ to_y: "elm.swallow.bar";
+ to_x: "elm.cur.progressbar";
+ }
+ rel2 {
+ to: "elm.swallow.bar";
+ relative: 1.0 1.0;
+ }
+ }
+ description {
+ state: "state_begin" 0.0;
+ inherit: "default" 0.0;
+ rel1 {
+ to: "elm.swallow.bar";
+ relative: 0.0 0.0;
+ }
+ rel2 {
+ to: "elm.swallow.bar";
+ relative: 0.1 1.0;
+ }
+ }
+ description {
+ state: "state_end" 0.0;
+ inherit: "default" 0.0;
+ rel1 {
+ to: "elm.swallow.bar";
+ relative: 0.9 0.0;
+ }
+ rel2 {
+ to: "elm.swallow.bar";
+ relative: 1.0 1.0;
+ }
+ }
+ }
+ part { name: "text-bar";
+ type: TEXT;
+ mouse_events: 1;
+ scale: 1;
+ clip_to: "progress-rect";
+ //effect: SOFT_SHADOW;
+ scale: 0;
+ description { state: "default" 0.0;
+ align: 0.0 0.0;
+ fixed: 1 1;
+ visible: 0;
+ rel1.to: "elm.text.status";
+ rel1.offset: -1 -1;
+ rel2.to: "elm.text.status";
+ text {
+ text_source: "elm.text.status";
+ font: "TIZEN:style=Medium";
+ size: 10;
+ min: 0 0;
+ elipsis: 1.0;
+ align: 0.0 0.0;
+ }
+ color: 224 224 224 255;
+ color3: 0 0 0 64;
+ }
+ description { state: "show" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ text.min: 1 1;
+ }
+ }
+ part { name: "elm.cur.progressbar";
+ mouse_events: 1;
+ scale: 1;
+ dragable {
+ confine: "background";
+ x: 1 1 1;
+ y: 0 0 0;
+ }
+ description { state: "default" 0.0;
+ min: 0 28;
+ fixed: 1 1;
+ visible: 0;
+ rel1 {
+ to: "background";
+ relative: 0 0;
+ }
+ rel2.to: "background";
+ }
+ }
+ part { name: "progress-rect";
+ mouse_events: 1;
+ scale: 1;
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1.to: "elm.progress.progressbar";
+ rel2.to: "elm.progress.progressbar";
+ }
+ }
+
+ part { name: "progressbar_playing";
+ type: IMAGE;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ image { normal: PROGRESS_HANDLE; }
+ min: PROGRESS_PLAYER_CIRCLE_SIZE;
+ max: PROGRESS_PLAYER_CIRCLE_SIZE;
+ align: 0 0.5;
+ fixed: 1 1;
+ color: 179 179 179 255;
+ rel1 {
+ relative: 1 0;
+ to_x: "elm.cur.progressbar";
+ to_y: "elm.swallow.bar";
+ offset: -13 0;
+ }
+ rel2 {
+ relative: 1 1;
+ to_x: "elm.cur.progressbar";
+ to_y: "elm.swallow.bar";
+ }
+ }
+ }
+ part { name: "progressbar_playing_effect";
+ type: IMAGE;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ image { normal: PROGRESS_PROGRESSBAR_HANDLE_EFFECT; }
+ min: PROGRESS_PLAYER_CIRCLE_PRESS_SIZE;
+ fixed: 1 1;
+ color: 179 179 179 255;
+ rel1 { relative: 0.5 0.5; to: "progressbar_playing"; }
+ rel2 { relative: 0.5 0.5; to: "progressbar_playing"; }
+ visible: 0;
+ }
+ }
+ part { name: "touch_area";
+ type: RECT;
+ mouse_events: 1;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { to: "elm.background.progressbar"; offset: -29 -10; }
+ rel2 { to: "elm.background.progressbar"; offset: 29 10; }
+ color: 0 0 0 0;
+ }
+ }
+
+ }
+ programs {
+ program { name: "label_show";
+ signal: "elm,state,text,visible";
+ source: "elm";
+ action: STATE_SET "visible" 0.0;
+ target: "elm.text";
+ }
+ program { name: "label_hide";
+ signal: "elm,state,text,hidden";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "elm.text";
+ }
+ program { name: "icon_show";
+ signal: "elm,state,icon,visible";
+ source: "elm";
+ action: STATE_SET "visible" 0.0;
+ target: "elm.swallow.content";
+ }
+ program { name: "icon_hide";
+ signal: "elm,state,icon,hidden";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "elm.swallow.content";
+ }
+ program { name: "units_show";
+ signal: "elm,state,units,visible";
+ source: "elm";
+ action: STATE_SET "show" 0.0;
+ target: "text-bar";
+ target: "elm.text.status";
+ }
+ program { name: "units_hide";
+ signal: "elm,state,units,hidden";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "text-bar";
+ target: "elm.text.status";
+ }
+ program { name: "slide_to_end";
+ action: STATE_SET "state_end" 0.0;
+ transition: LINEAR 0.5;
+ target: "elm.progress.progressbar";
+ after: "slide_to_begin";
+ }
+ program { name: "slide_to_begin";
+ signal: "elm,state,slide,begin";
+ action: STATE_SET "state_begin" 0.0;
+ target: "elm.progress.progressbar";
+ transition: LINEAR 0.5;
+ after: "slide_to_end";
+ }
+ program { name: "start_pulse";
+ signal: "elm,state,pulse,start";
+ source: "elm";
+ // after: "slide_to_end";
+ }
+ program { name: "stop_pulse";
+ signal: "elm,state,pulse,stop";
+ source: "elm";
+ action: ACTION_STOP;
+ target: "slide_to_begin";
+ target: "slide_to_end";
+ target: "start_pulse";
+ //after: "state_pulse";
+ }
+ program { name: "state_pulse";
+ signal: "elm,state,pulse";
+ source: "elm";
+ action: STATE_SET "state_begin" 0.0;
+ target: "elm.progress.progressbar";
+ after: "units_hide";
+ }
+ program { name: "state_fraction";
+ signal: "elm,state,fraction";
+ source: "elm";
+ action: ACTION_STOP;
+ target: "slide_to_begin";
+ target: "slide_to_end";
+ target: "start_pulse";
+ action: STATE_SET "default" 0.0;
+ target: "elm.progress.progressbar";
+ }
+ program { name: "set_invert_on";
+ signal: "elm,state,inverted,on";
+ source: "elm";
+ action: STATE_SET "invert" 0.0;
+ target: "elm.progress.progressbar";
+ }
+ program { name: "set_invert_off";
+ signal: "elm,state,inverted,off";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "elm.progress.progressbar";
+ }
+ }
+ }
+
+group { name: "elm/progressbar/horizontal/wave/list_progres";
+ images {
+ image: "T02_progress_bar.png" COMP;
+ }
+ parts {
+ part { name: "elm.padding.left";
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 0 0;
+ fixed: 1 0;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 0 0;
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ offset: 0 0;
+ }
+ color: 0 0 0 0;
+ align: 0.0 0.0;
+ }
+ }
+ part { name: "elm.padding.right";
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 0 0;
+ fixed: 1 0;
+ rel1 {
+ relative: 1.0 0.0;
+ offset: 0 0;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: 0 0;
+ }
+ color: 0 0 0 0;
+ align: 1.0 0.0;
+ }
+ }
+ part { name: "elm.background.progressbar";
+ mouse_events: 0;
+ scale: 1;
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ to_x: "elm.padding.left";
+ relative: 1.0 0.0;
+ offset: 0 0;
+ }
+ rel2 {
+ to_x: "elm.padding.right";
+ relative: 0.0 1.0;
+ offset: 0 0;
+ }
+ }
+ }
+ part { name: "elm.swallow.bar";
+ mouse_events: 0;
+ scale: 1;
+ type: SWALLOW;
+ description {
+ min: 48 10;
+ max: 99999 10;
+ state: "default" 0.0;
+ rel1 {
+ to: "elm.background.progressbar";
+ relative: 0.0 0.0;
+ }
+ rel2 {
+ to: "elm.background.progressbar";
+ relative: 1.0 1.0;
+ }
+ }
+ }
+ part { name: "elm.swallow.content";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ align: 0.0 0.5;
+ rel1 {
+ offset: 0 0;
+ to_y: "elm.background.progressbar";
+ }
+ rel2 {
+ offset: 0 -1;
+ relative: 0.0 1.0;
+ to_y: "elm.background.progressbar";
+ }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ aspect: 1.0 1.0;
+ aspect_preference: VERTICAL;
+ rel2.offset: 4 -1;
+ }
+ }
+ part { name: "elm.text";
+ type: TEXT;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ fixed: 1 1;
+ align: 0.0 0.5;
+ rel1.to_x: "elm.swallow.content";
+ rel1.relative: 1.0 0.0;
+ rel2.to_x: "elm.swallow.content";
+ rel2.relative: 1.0 1.0;
+ color: 0 0 0 255;
+ text {
+ font: "TIZEN:style=Medium";
+ size: 10;
+ min: 0 0;
+ align: 0.0 0.5;
+ elipsis: 1.0;
+ }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ text.min: 1 1;
+ }
+ }
+ part { name: "background";
+ mouse_events: 0;
+ scale: 1;
+ type: RECT;
+ clip_to: "elm.background.progressbar";
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ rel1 {
+ to: "elm.swallow.bar";
+ relative: 0.0 0.0;
+ }
+ rel2 {
+ to: "elm.swallow.bar";
+ relative: 1.0 1.0;
+ }
+ /*
+ image {
+ normal: "T02_progress_bg.png";
+ border_scale:1;
+ border: 8 8 0 0 ;
+ }
+ */
+ }
+ }
+ part { name: "elm.text.status";
+ type: TEXT;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ visible: 0;
+ rel1 {
+ to: "background";
+ relative: 0.5 0.5;
+ }
+ rel2 {
+ to: "background";
+ relative: 0.5 0.5;
+ }
+ text {
+ font: "TIZEN:style=Medium";
+ size: 10;
+ min: 0 0;
+ align: 0.5 0.0;
+ elipsis: 1.0;
+ }
+ color: 0 0 0 255;
+ }
+ description { state: "show" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ text.min: 1 1;
+ }
+ }
+ part { name: "elm.progress.progressbar";
+ mouse_events: 0;
+ scale: 1;
+ clip_to: "elm.background.progressbar";
+ description {
+ state: "default" 0.0;
+ min: 0 160;
+ fixed: 1 1;
+ rel1 {
+ to: "elm.swallow.bar";
+ relative: 0.0 0.0;
+ }
+ rel2 {
+ to_y: "elm.swallow.bar";
+ to_x: "elm.cur.progressbar";
+ offset: -1 -1;
+ }
+ image {
+ normal: "T02_progress_bar.png";
+ border_scale:1;
+ border: 8 8 4 4 ;
+ }
+ }
+ description {
+ state: "invert" 0.0;
+ inherit: "default" 0.0;
+ rel1 {
+ to_y: "elm.swallow.bar";
+ to_x: "elm.cur.progressbar";
+ }
+ rel2 {
+ to: "elm.swallow.bar";
+ relative: 1.0 1.0;
+ }
+ }
+ description {
+ state: "state_begin" 0.0;
+ inherit: "default" 0.0;
+ rel1 {
+ to: "elm.swallow.bar";
+ relative: 0.0 0.0;
+ }
+ rel2 {
+ to: "elm.swallow.bar";
+ relative: 0.1 1.0;
+ }
+ }
+ description {
+ state: "state_end" 0.0;
+ inherit: "default" 0.0;
+ rel1 {
+ to: "elm.swallow.bar";
+ relative: 0.9 0.0;
+ }
+ rel2 {
+ to: "elm.swallow.bar";
+ relative: 1.0 1.0;
+ }
+ }
+ }
+ part { name: "text-bar";
+ type: TEXT;
+ mouse_events: 0;
+ scale: 1;
+ clip_to: "progress-rect";
+ //effect: SOFT_SHADOW;
+ scale: 0;
+ description { state: "default" 0.0;
+ align: 0.0 0.0;
+ fixed: 1 1;
+ visible: 0;
+ rel1.to: "elm.text.status";
+ rel1.offset: -1 -1;
+ rel2.to: "elm.text.status";
+ text {
+ text_source: "elm.text.status";
+ font: "TIZEN:style=Medium";
+ size: 10;
+ min: 0 0;
+ align: 0.0 0.0;
+ elipsis: 1.0;
+ }
+ color: 224 224 224 255;
+ color3: 0 0 0 64;
+ }
+ description { state: "show" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ text.min: 1 1;
+ }
+ }
+ part { name: "elm.cur.progressbar";
+ mouse_events: 0;
+ scale: 1;
+ dragable {
+ confine: "background";
+ x: 1 1 1;
+ y: 0 0 0;
+ }
+ description { state: "default" 0.0;
+ min: 0 28;
+ fixed: 1 1;
+ visible: 0;
+ rel1 {
+ to: "background";
+ relative: 0 0;
+ }
+ rel2.to: "background";
+ }
+ }
+ part { name: "progress-rect";
+ mouse_events: 0;
+ scale: 1;
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1.to: "elm.progress.progressbar";
+ rel2.to: "elm.progress.progressbar";
+ }
+ }
+ }
+ programs {
+ program { name: "label_show";
+ signal: "elm,state,text,visible";
+ source: "elm";
+ action: STATE_SET "visible" 0.0;
+ target: "elm.text";
+ }
+ program { name: "label_hide";
+ signal: "elm,state,text,hidden";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "elm.text";
+ }
+ program { name: "icon_show";
+ signal: "elm,state,icon,visible";
+ source: "elm";
+ action: STATE_SET "visible" 0.0;
+ target: "elm.swallow.content";
+ }
+ program { name: "icon_hide";
+ signal: "elm,state,icon,hidden";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "elm.swallow.content";
+ }
+ program { name: "units_show";
+ signal: "elm,state,units,visible";
+ source: "elm";
+ action: STATE_SET "show" 0.0;
+ target: "text-bar";
+ target: "elm.text.status";
+ }
+ program { name: "units_hide";
+ signal: "elm,state,units,hidden";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "text-bar";
+ target: "elm.text.status";
+ }
+ program { name: "slide_to_end";
+ action: STATE_SET "state_end" 0.0;
+ transition: LINEAR 0.5;
+ target: "elm.progress.progressbar";
+ after: "slide_to_begin";
+ }
+ program { name: "slide_to_begin";
+ signal: "elm,state,slide,begin";
+ action: STATE_SET "state_begin" 0.0;
+ target: "elm.progress.progressbar";
+ transition: LINEAR 0.5;
+ after: "slide_to_end";
+ }
+ program { name: "start_pulse";
+ signal: "elm,state,pulse,start";
+ source: "elm";
+ // after: "slide_to_end";
+ }
+ program { name: "stop_pulse";
+ signal: "elm,state,pulse,stop";
+ source: "elm";
+ action: ACTION_STOP;
+ target: "slide_to_begin";
+ target: "slide_to_end";
+ target: "start_pulse";
+ //after: "state_pulse";
+ }
+ program { name: "state_pulse";
+ signal: "elm,state,pulse";
+ source: "elm";
+ action: STATE_SET "state_begin" 0.0;
+ target: "elm.progress.progressbar";
+ after: "units_hide";
+ }
+ program { name: "state_fraction";
+ signal: "elm,state,fraction";
+ source: "elm";
+ action: ACTION_STOP;
+ target: "slide_to_begin";
+ target: "slide_to_end";
+ target: "start_pulse";
+ action: STATE_SET "default" 0.0;
+ target: "elm.progress.progressbar";
+ }
+ program { name: "set_invert_on";
+ signal: "elm,state,inverted,on";
+ source: "elm";
+ action: STATE_SET "invert" 0.0;
+ target: "elm.progress.progressbar";
+ }
+ program { name: "set_invert_off";
+ signal: "elm,state,inverted,off";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "elm.progress.progressbar";
+ }
+ }
+ }
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include "tizen-hd-inc.edc"
+#ifndef FONT_NAME
+#define FONT_NAME "system_content"
+#endif
+
+#ifndef MAIN_W
+#define MAIN_W 720.
+#endif
+
+#ifndef MAIN_H
+#define MAIN_H 1280
+#endif
+
+#ifndef FONT_NAME
+#define FONT_NAME "system_content"
+#endif
+
+#define LABEL_FONT "Default:style=Bold"
+
+#define IMG_SEMANTIC_LOGO "T02_semantic_log.png"
+
+#define RICHINFO_TITLE_X_PAD_W 15
+#define RICHINFO_RELATED_VIDEO_FONT_SIZE 24
+#define RICHINFO_TOP_PAD_H 10
+
+#define TITLE_TEXT_01_SIZE 38
+#define TITLE_TEXT_01_COLOR 0 0 0 255
+
+#define MAIN_TEXT_01_SIZE 32
+#define MAIN_TEXT_01_COLOR 255 255 255 255
+
+#define SUB_TEXT_01_SIZE 36
+#define SUB_TEXT_01_COLOR 114 114 114 255
+
+#define RICH_INFO_WIDTH 720.0
+#define RICH_INFO_HEIGHT 1130.0
+
+//left area
+#define RICH_INFO_ALBUM_WIDTH 138.0
+#define RICH_INFO_ALBUM_HEIGHT 138.0
+#define RICH_INFO_GAB 16.0
+#define RICH_INFO_LEFT_WIDTH 170
+
+//right area
+#define RICH_INFO_RELATED_VIDEO_TITLE_WIDTH 266.0
+#define RICH_INFO_RELATED_VIDEO_LINE_HEIGHT 213
+#define RICH_INFO_RELATED_VIDEO_HEIGHT 282
+
+#define RICH_INFO_RIGHT_WIDTH 550
+
+#define RICH_INFO_RELATED_VIDEO_DETAIL_TITLE 43
+
+#define RICH_INFO_BASE_BOX_DETAIL_TITLE 60
+#define RICH_INFO_SEQ_TEXT_SIZE 24
+#define RICH_INFO_NO_XML_FIND_TAG_HEIGHT 112
+
+#define RICH_INFO_BIO_ALBUM_WIDTH 528
+#define RICH_INFO_BIO_ALBUM_HEIGHT 370
+
+#define MP_INFO_BG_COLOR 255 255 255 255;
+#define RICH_INFO_TITLE_FONT_SIZE 38
+#define BOTTOM_LINE_COLOR 82 82 82 255
+
+//#define MP_INFO_DETAIL_BG_COLOR 236 240 242 255
+#define MP_INFO_DETAIL_BG_COLOR 248 246 239 255
+
+#define MP_ALBUM_INDEX_ALBUM_TEXT_COLOR 0 0 0 255
+#define MP_ALBUM_INDEX_ALBUM_TEXT_SIZE 55
+#define MP_ALBUM_INDEX_ARTIST_TEXT_COLOR 128 128 128 255
+#define MP_ALBUM_INDEX_ARTIST_TEXT_SIZE 40
+#define MP_ALBUM_INDEX_YEAR_TEXT_COLOR 128 128 128 255
+#define MP_ALBUM_INDEX_YEAR_TEXT_SIZE 26
+
+#define RICH_INFO_PART_TRANSITION(sval, ssource) \
+ program { \
+ name: ssource"."sval; \
+ signal: sval; \
+ source: ssource; \
+ action: STATE_SET sval 0.0; \
+ target: ssource; \
+ }
+
+#define RICH_INFO_ADD_BASE_BOX_STATUS(part_name, status_name) \
+ description { state: status_name 0.0;\
+ visible: 1;\
+ fixed: 0 0;\
+ rel1 { relative: ((RICH_INFO_GAB*2+ RICH_INFO_ALBUM_WIDTH)/RICH_INFO_WIDTH) 0.0; offset: 0 0; to: "bg";}\
+ rel2 { relative: 1 1; offset: 0 0; to: "bg";}\
+ align: 0.5 0.5;\
+ }\
+ RICH_INFO_PART_TRANSITION(status_name, part_name)
+
+#define RICH_INFO_ADD_BASE_BOX_OUTSIDE_STATUS(part_name, status_name) \
+ description { state: status_name 0.0;\
+ visible: 1;\
+ fixed: 0 0;\
+ rel1 { relative: 1.0 0.0; offset: 0 0; to: "bg";}\
+ rel2 { relative: (1+(RICH_INFO_WIDTH-RICH_INFO_GAB*2-RICH_INFO_ALBUM_WIDTH)/RICH_INFO_WIDTH) 1.2; offset: 0 0; to: "bg";}\
+ align: 0.5 0.5;\
+ }\
+ RICH_INFO_PART_TRANSITION(status_name, part_name)
+
+#define BASE_BOX_DETAIL_PART( part_name ) \
+ part { name: part_name; \
+ type: SWALLOW;\
+ RICH_INFO_ADD_BASE_BOX_STATUS(part_name, "default")\
+ RICH_INFO_ADD_BASE_BOX_OUTSIDE_STATUS(part_name, "outside")\
+ }
+
+#define BASE_BOX_PART( part_name ) \
+ part { name: part_name; \
+ type: SWALLOW;\
+ RICH_INFO_ADD_BASE_BOX_STATUS(part_name, "default")\
+ RICH_INFO_ADD_BASE_BOX_OUTSIDE_STATUS(part_name, "outside")\
+ }
+
+#define RICH_INFO_ADD_DETAIL_SCROLLER_STATUS(part_name, status_name, start_y) \
+ description { state: status_name 0.0;\
+ visible: 1;\
+ min: 0 0;\
+ fixed: 0 1;\
+ align: 0 0;\
+ rel1 { relative: ((RICH_INFO_GAB*2+ RICH_INFO_ALBUM_WIDTH)/RICH_INFO_WIDTH) (start_y/RICH_INFO_HEIGHT); offset: 0 0; to: "bg";}\
+ rel2 { relative: 1.0 1.0; offset: 0 0; to: "bg";}\
+ }\
+ RICH_INFO_PART_TRANSITION(status_name, part_name)
+
+#define RICH_INFO_ADD_DETAIL_SCROLLER_OUTSIDE_STATUS(part_name, status_name, start_y) \
+ description { state: status_name 0.0;\
+ visible: 1;\
+ min: 0 0;\
+ fixed: 0 1;\
+ align: 0 0;\
+ rel1 { relative: 1.0 (start_y/RICH_INFO_HEIGHT); offset: 0 0; to: "bg";}\
+ rel2 { relative: (1.0+(RICH_INFO_WIDTH-RICH_INFO_GAB*2-RICH_INFO_ALBUM_WIDTH)/RICH_INFO_WIDTH) 1.0; to: "bg";}\
+ }\
+ RICH_INFO_PART_TRANSITION(status_name, part_name)
+
+#define DETAIL_SCROLLER_PART( part_name , start_y) \
+ part {name: part_name;\
+ type: SWALLOW;\
+ mouse_events: 1;\
+ scale: 1;\
+ RICH_INFO_ADD_DETAIL_SCROLLER_STATUS(part_name, "default", start_y)\
+ RICH_INFO_ADD_DETAIL_SCROLLER_OUTSIDE_STATUS(part_name, "outside", start_y)\
+ }
+
+#define BASE_BOX_SCROLLER_PART( part_name , start_y) \
+ part {name: part_name;\
+ type: SWALLOW;\
+ mouse_events: 1;\
+ scale: 1;\
+ RICH_INFO_ADD_DETAIL_SCROLLER_STATUS(part_name, "default", start_y)\
+ RICH_INFO_ADD_DETAIL_SCROLLER_OUTSIDE_STATUS(part_name, "outside", start_y)\
+ }
+
+group{
+ name: "richinfo/base";
+
+ parts {
+ part { name: "bg";
+ type : RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ fixed: 1 0;
+ min: MAIN_W 1;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ color: 0 0 0 0;
+ }
+ }
+ part {
+ name: "swallow";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ visible: 1;
+ align: 0 0;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ color: 0 0 0 0;
+ }
+ }
+ }
+}
+
+//for info view
+group{
+ name: "richinfo/test_rich_info";
+
+ parts {
+ part { name: "bg";
+ type : RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ fixed: 1 0;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ color: MP_INFO_DETAIL_BG_COLOR;
+ }
+ }
+
+ part { name: "detail_event_box";
+ type : SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ rel1 { relative: 0.0 0.0; to, "bg"; }
+ rel2 { relative: 1.0 1.0; to, "bg"; }
+ }
+ }
+
+ ///left area
+ part {
+ name: "left_area";
+ type : SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ fixed: 1 1;
+ rel1 { relative: 0.0 0.0; offset: 0 0; to: "bg";}
+ rel2 { relative: ((RICH_INFO_GAB*2+ RICH_INFO_ALBUM_WIDTH)/RICH_INFO_WIDTH) 1.0; offset: 0 0; to: "bg";}
+ align: 0.5 0.5;
+ }
+ }
+
+ /////right area
+ //for base box
+ BASE_BOX_PART("base_box")
+
+ //for base box datail
+ BASE_BOX_DETAIL_PART("rv_base_box_detail")
+ BASE_BOX_DETAIL_PART("track_base_box_detail")
+ BASE_BOX_DETAIL_PART("review_base_box_detail")
+ BASE_BOX_DETAIL_PART("bio_base_box_detail")
+ BASE_BOX_DETAIL_PART("dis_base_box_detail")
+ BASE_BOX_DETAIL_PART("credit_base_box_detail")
+ BASE_BOX_DETAIL_PART("mi_base_box_detail")
+
+ //for datail scroller
+ DETAIL_SCROLLER_PART("rv_detail_scroller", RICH_INFO_RELATED_VIDEO_DETAIL_TITLE)
+ DETAIL_SCROLLER_PART("track_detail_scroller", (RICH_INFO_BASE_BOX_DETAIL_TITLE*2+1))
+ DETAIL_SCROLLER_PART("review_detail_scroller", RICH_INFO_BASE_BOX_DETAIL_TITLE)
+ DETAIL_SCROLLER_PART("bio_detail_scroller", RICH_INFO_BASE_BOX_DETAIL_TITLE)
+ DETAIL_SCROLLER_PART("dis_detail_scroller", (RICH_INFO_BASE_BOX_DETAIL_TITLE+1))
+ DETAIL_SCROLLER_PART("credit_detail_scroller", RICH_INFO_BASE_BOX_DETAIL_TITLE)
+ DETAIL_SCROLLER_PART("mi_detail_scroller", RICH_INFO_BASE_BOX_DETAIL_TITLE)
+
+ BASE_BOX_SCROLLER_PART("no_xml_detail_scroller", RICH_INFO_NO_XML_FIND_TAG_HEIGHT)
+ BASE_BOX_SCROLLER_PART("no_xml_no_sim_detail_scroller", RICH_INFO_GAB)
+
+ BASE_BOX_SCROLLER_PART("contents", 0)
+ }
+}
+
+group{
+ name: "info_view_left_area";
+
+ images {
+ image: "T02_Video_play.png" COMP;
+ image: "T02_Page_bg.png" COMP;
+ }
+
+ parts{
+ part { name: "bg";
+ type : RECT;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ fixed: 1 0;
+ //min: (RICH_INFO_GAB*2+ RICH_INFO_ALBUM_WIDTH) 710;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ color: MP_INFO_BG_COLOR
+ }
+ }
+
+ part {
+ name: "left_album_bg";
+ type : SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ fixed: 1 1;
+ rel1 { relative: (RICH_INFO_GAB/RICH_INFO_LEFT_WIDTH) (RICH_INFO_GAB/RICH_INFO_HEIGHT);
+ offset: 0 0;
+ to: "bg";
+ }
+ rel2 { relative: ((RICH_INFO_GAB+ RICH_INFO_ALBUM_WIDTH)/RICH_INFO_LEFT_WIDTH) ((RICH_INFO_GAB+ RICH_INFO_ALBUM_HEIGHT)/RICH_INFO_HEIGHT);
+ offset: 0 0;
+ to: "bg";
+ }
+ align: 0.5 0.5;
+ }
+ }
+
+ part {
+ name: "video_play_img";
+ type : SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ align: 0.5 0.5;
+ rel1 { relative: 0.0 0.0; to: "left_album_bg";}
+ rel2 { relative: 1.0 1.0; to: "left_album_bg";}
+ }
+ }
+
+ part { name: "seq_text";
+ mouse_events: 1;
+ type, IMAGE;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ image { normal: "T02_Page_bg.png"; }
+ align: 0.5 0.5;
+ rel1 { relative: 22/RICH_INFO_LEFT_WIDTH 178/RICH_INFO_HEIGHT;
+ offset: 0 0;
+ to: "bg";
+ }
+ rel2 { relative: 138/RICH_INFO_LEFT_WIDTH 220/RICH_INFO_HEIGHT;
+ offset: 0 0;
+ to: "bg";
+ }
+ }
+ description { state: "show" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+
+ part{ name, "seq_text_content";
+ type, TEXT;
+ scale: 1;
+ description {
+ state, "default" 0.0;
+ align: 0.5 0.5;
+ rel1 { relative: 0.0 0.0; to: "seq_text";}
+ rel2 { relative: 1.0 1.0; to: "seq_text";}
+ color, 255 255 255 255;
+
+ text {
+ font: FONT_STYLE_MEDIUM;
+ size: RICH_INFO_SEQ_TEXT_SIZE;
+ align: 0.5 0.5;
+ }
+ }
+ }
+ }
+
+ programs {
+ program { name: "show_text";
+ signal: "show";
+ source: "seq_text";
+ action: STATE_SET "show" 0.0;
+ target: "seq_text";
+ }
+ program { name: "hide_text";
+ signal: "hide";
+ source: "seq_text";
+ action: STATE_SET "default" 0.0;
+ target: "seq_text";
+ }
+ }
+}
+
+group{
+ name: "base_box_no_xml";
+
+ parts{
+ part { name: "bg";
+ type : RECT;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ fixed: 1 0;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ color: 0 0 0 0;
+ }
+ }
+
+ part {
+ name: "find_tag_bt";
+ type: SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ fixed: 0 1;
+ align: 0 0;
+ rel1 { relative: 0.0 0.0; offset:0 0; to: "bg";}
+ rel2 { relative: 1.0 (RICH_INFO_NO_XML_FIND_TAG_HEIGHT/RICH_INFO_HEIGHT); offset:0 0; to: "bg";}
+ }
+ }
+
+ part{name,"media_content";
+ type,SWALLOW;
+ scale:1;
+ mouse_events: 0;
+ description{
+ state, "default" 0.0;
+ rel1 { relative: 0.0 1.0; offset: 0 0; to, "find_tag_bt"; }
+ rel2 { relative: 1.0 1.0; offset: 0 0; to, "bg"; }
+ align: 0 0;
+ fixed: 0 0;
+ }
+ }
+
+ part{name,"no_sim_media_content";
+ type,SWALLOW;
+ scale:1;
+ mouse_events: 0;
+ description{
+ state, "default" 0.0;
+ rel1 { relative: 0.0 0.0; offset: 0 0; to, "bg"; }
+ rel2 { relative: 1.0 1.0; offset: 0 0; to, "bg"; }
+ align: 0 0;
+ fixed: 0 0;
+ }
+ }
+ }
+}
+
+group {
+ name, "find_tag_bt";
+
+ images {
+ image: "01_search_input_icon_bg.png" COMP;
+ }
+
+ parts {
+ part { name, "background";
+ type, RECT;
+ mouse_events: 1;
+ description {
+ state, "default" 0.0;
+ color, 25 25 25 255;
+ }
+ }
+
+ part { name, "button_img";
+ type, IMAGE;
+ ignore_flags: ON_HOLD;
+ scale: 1;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ //min: 45 45;
+ //max: 45 45;
+ image { normal: "01_search_input_icon_bg.png"; }
+ rel1 { relative: 0 26/112; offset: 0 0;}
+ rel2 { relative: 60/RICH_INFO_RIGHT_WIDTH 86/RICH_INFO_NO_XML_FIND_TAG_HEIGHT; offset: 0 0;}
+ }
+ }
+
+ part {
+ name: "txt";
+ scale: 1;
+ type: TEXT;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1 { relative, 86/RICH_INFO_RIGHT_WIDTH 32/RICH_INFO_NO_XML_FIND_TAG_HEIGHT; }
+ rel2 { relative, 1.0 80/RICH_INFO_NO_XML_FIND_TAG_HEIGHT; }
+ color: TITLE_TEXT_01_COLOR;
+
+ text {
+ font: FONT_STYLE_MEDIUM;
+ size: TITLE_TEXT_01_SIZE;
+ align: 0 0.5;
+ text: "Category";
+ }
+ }
+ }
+
+ part { name, "bottom_line";
+ type, RECT;
+ mouse_events: 1;
+ description {
+ state, "default" 0.0;
+ color, BOTTOM_LINE_COLOR;
+ min: 0 1;
+ rel1 { relative: 0.0 1.0; offset: 0 -2;}
+ rel2 { relative: 1.0 1.0; offset: 0 -2;}
+ }
+ }
+
+ }
+
+ programs {
+ program {
+ name: "bg_clicked";
+ signal: "mouse,clicked,1";
+ source: "background";
+ action: SIGNAL_EMIT "btn_clicked" "0";
+ }
+ }
+}
+
+group{
+ name: "parent_base_box";
+
+ parts{
+ part { name: "bg";
+ type : RECT;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ fixed: 1 0;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ color: MP_INFO_DETAIL_BG_COLOR;
+ }
+ }
+
+ part {
+ name: "base_box";
+ type: SWALLOW;
+ description { state: "default" 0.0;
+ visible: 1;
+ rel1 { relative: 0 0; offset: 0 0; to: "bg";}
+ rel2 { relative: 1 1; offset: 0 0; to: "bg";}
+ }
+ }
+
+ part {
+ name: "scroller";
+ type: SWALLOW;
+ description { state: "default" 0.0;
+ visible: 1;
+ align: 0 0;
+ rel1 { relative: 0 0; offset: 0 0; to: "bg";}
+ rel2 { relative: 1 1; offset: 0 0; to: "bg";}
+ }
+ }
+ }
+}
+
+group{
+ name: "base_box";
+
+ parts{
+ part { name: "bg";
+ type : RECT;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ fixed: 1 0;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ color: 255 255 255 0;
+ }
+ }
+
+ part {
+ name: "no_rv_genlist";
+ type: SWALLOW;
+ description { state: "default" 0.0;
+ visible: 1;
+ rel1 { relative: 0 0; offset: 0 0; to: "bg";}
+ rel2 { relative: 1 1; offset: 0 0; to: "bg";}
+ }
+ }
+
+ //for scroller
+ part {
+ name: "contents";
+ type: SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ min: 0 0;
+ fixed: 0 1;
+ align: 0 0;
+ rel1 { relative: 0.0 0.0; offset:0 0; to: "bg";}
+ rel2 { relative: 1.0 1.0; offset: 0 0; to: "bg";}
+ }
+ }
+ }
+
+}
+
+//for related video in first view
+#define RICH_INFO_RELATED_VIDEO_TITLE_W 266.0
+group{
+ name, "related_video_box";
+ images {
+ image: "00_list_bar_press_1x80.png" COMP;
+ image: "T02_youtube.png" COMP;
+ }
+ parts{
+
+ part { name: "bg";
+ type : RECT;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ fixed: 1 0;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ color: 0 0 0 0;
+ }
+ }
+
+ part {
+ name: "title";
+ type: TEXT;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ rel1 {relative: 0 (10/RICH_INFO_RELATED_VIDEO_HEIGHT); to: "bg";}
+ rel2 {
+ relative: (RICH_INFO_RELATED_VIDEO_TITLE_W/RICH_INFO_RIGHT_WIDTH) (58/RICH_INFO_RELATED_VIDEO_HEIGHT);
+ to: "bg" ;
+ }
+ color, TITLE_TEXT_01_COLOR;
+ text {
+ font: FONT_STYLE_ROMAN;
+ size: TITLE_TEXT_01_SIZE;
+ align: 0.5 0.5;
+ }
+ }
+ }
+
+ part { name, "youtube_image";
+ type, IMAGE;
+ scale: 1;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ image { normal: "T02_youtube.png"; }
+ visible: 1;
+ align: 0 0.5;
+ min: 96 48;
+ max: 96 48;
+ rel1 { relative: 1 0; offset: 0 0; to_x: "seperator"; to_y: "title";}
+ rel2 { relative: 1 1; offset: 0 0; to_x: "seperator"; to_y: "title";}
+ }
+ }
+
+ part {
+ name: "video";
+ type: SWALLOW;
+ scale:1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ min: RICH_INFO_RIGHT_WIDTH RICH_INFO_RELATED_VIDEO_LINE_HEIGHT;
+ rel1 { relative: 0 1; offset: 0 0; to: "title";}
+ rel2 { relative: 1 1; offset: 0 0; to: "bg";}
+ }
+ }
+
+ part {
+ name: "seperator";
+ type: RECT;
+ scale: 1;
+ description{
+ state: "default" 0.0;
+ min: 1 0;
+ rel1 { relative: 1 8/48; to: "title";}
+ rel2 { relative: 1 40/48; to: "title";}
+ color: 112 112 112 255;
+ }
+ }
+ }
+}
+
+#define RICH_INFO_RELATED_VIDEO_LINE_H 213
+#define RICH_INFO_RELATED_VIDEO_LINE_W RICH_INFO_RIGHT_WIDTH
+#define VIDEO_LINE_W_R(w) ((w)/RICH_INFO_RELATED_VIDEO_LINE_W)
+#define VIDEO_LINE_H_R(h) ((h)/RICH_INFO_RELATED_VIDEO_LINE_H)
+#define RICH_INFO_RELATED_VIDEO_IMAGE_W 162.0
+#define RICH_INFO_RELATED_VIDEO_IMAGE_H 129.0
+
+//for related video images by line
+group{
+ name, "related_video_line";
+
+ parts{
+ part { name, "bg";
+ type, RECT;
+ scale: 1;
+ mouse_events: 1;
+ description {
+ state, "default" 0.0;
+ visible: 1;
+ align: 0 0;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ color: 0 0 0 0;
+ }
+ }
+ part{name, "img_bg1";
+ type, RECT;
+ scale: 1;
+ mouse_events: 1;
+ description {
+ state, "default" 0.0;
+ visible: 0;
+ rel1 { relative: 0.0 0.0;
+ to, "bg";
+ }
+ rel2 { relative: VIDEO_LINE_W_R(RICH_INFO_RELATED_VIDEO_IMAGE_W) VIDEO_LINE_H_R(RICH_INFO_RELATED_VIDEO_IMAGE_H);
+ to, "bg";
+ }
+ color, 54 54 54 255;
+ align: 0 0.5;
+ }
+ }
+
+ part{name,"img1";
+ type,SWALLOW;
+ scale:1;
+ mouse_events: 1;
+ description{
+ state, "default" 0.0;
+ rel1 { relative: 0.0 0.0; offset: 0 0; to, "img_bg1"; }
+ rel2 { relative: 1.0 1.0; offset: 0 0; to, "img_bg1"; }
+ align: 0.5 0.5;
+ }
+ }
+
+ part{ name, "title1";
+ type, TEXT;
+ scale: 1;
+ description {
+ state, "default" 0.0;
+ align: 0.5 0.5;
+ rel1 { relative: 0.0 VIDEO_LINE_H_R(139);
+ to_x, "img_bg1"; to_y, "bg";
+ }
+ rel2 { relative: 1.0 VIDEO_LINE_H_R(167);
+ to_x, "img_bg1"; to_y, "bg";
+ }
+ color, 151 150 150 255;
+ text {
+ font: FONT_STYLE_ROMAN;
+ size: RICHINFO_RELATED_VIDEO_FONT_SIZE;
+ align: 0.5 0.5;
+ }
+ }
+ }
+
+ part{ name, "title12";
+ type, TEXT;
+ scale: 1;
+ description {
+ state, "default" 0.0;
+ align: 0.5 0.5;
+ rel1 { relative: 0.0 VIDEO_LINE_H_R(173);
+ offset:0 0;
+ to_x, "title1";
+ to_y, "bg";
+ }
+ rel2 { relative: 1.0 VIDEO_LINE_H_R(201);
+ to_x, "title1";
+ to_y, "bg";
+ }
+ color, 151 150 150 255;
+
+ text {
+ font: FONT_STYLE_MEDIUM;
+ size: RICHINFO_RELATED_VIDEO_FONT_SIZE;
+ align: 0.5 0.5;
+ }
+ }
+ }
+
+ part{name, "img_bg2";
+ type, RECT;
+ scale: 1;
+ mouse_events: 1;
+ description {
+ state, "default" 0.0;
+ visible: 0;
+ rel1 { relative: VIDEO_LINE_W_R(184) 0.0;
+ offset: 0 0;
+ to_x, "bg"; to_y, "img_bg1";
+ }
+ rel2 { relative: VIDEO_LINE_W_R(346) 1.0;
+ offset: 0 0;
+ to_x, "bg"; to_y, "img_bg1";
+ }
+ color, 54 54 54 255;
+ align: 0 0.5;
+ }
+ }
+
+ part{name,"img2";
+ type,SWALLOW;
+ scale:1;
+ mouse_events: 1;
+ description{
+ state, "default" 0.0;
+ rel1 { relative: 0.0 0.0; offset: 0 0; to, "img_bg2"; }
+ rel2 { relative: 1.0 1.0; offset: 0 0; to, "img_bg2"; }
+ align: 0.5 0.5;
+ //fixed: 1 1;
+ }
+ }
+
+ part{ name, "title2";
+ type, TEXT;
+ scale: 1;
+ description {
+ state, "default" 0.0;
+ align: 0.5 0.5;
+ rel1 { relative: 0.0 0.0;
+ to_x, "img_bg2";
+ to_y, "title1";
+ }
+ rel2 { relative: 1.0 1.0;
+ to_x, "img_bg2";
+ to_y, "title1";
+ }
+ color, 151 150 150 255;
+
+ text {
+ font: FONT_STYLE_MEDIUM;
+ size: RICHINFO_RELATED_VIDEO_FONT_SIZE;
+ align: 0.5 0.5;
+ }
+ }
+ }
+
+ part{ name, "title22";
+ type, TEXT;
+ scale: 1;
+ description {
+ state, "default" 0.0;
+ align: 0.5 0.5;
+ rel1 { relative: 0.0 0.0;
+ offset:0 0;
+ to_x, "title2";
+ to_y, "title12";
+
+ }
+ rel2 { relative: 1.0 1.0;
+ offset:0 0;
+ to, "title2";
+ to_y, "title12";
+ }
+ color, 151 150 150 255;
+
+ text {
+ font: FONT_STYLE_MEDIUM;
+ size: RICHINFO_RELATED_VIDEO_FONT_SIZE;
+ align: 0.5 0.5;
+ }
+ }
+ }
+
+ part{name, "img_bg3";
+ type, RECT;
+ scale: 1;
+ mouse_events: 1;
+ description {
+ state, "default" 0.0;
+ visible: 0;
+ rel1 { relative: VIDEO_LINE_W_R(368) 0.0;
+ offset: 0 0;
+ to_x, "bg"; to_y, "img_bg1";
+ }
+ rel2 { relative: VIDEO_LINE_W_R(530) 1.0;
+ offset: 0 0;
+ to_x, "bg"; to_y, "img_bg1";
+ }
+ color, 54 54 54 255;
+ align: 0 0.5;
+ }
+ }
+
+ part{name,"img3";
+ type,SWALLOW;
+ scale:1;
+ mouse_events: 1;
+ description{
+ state, "default" 0.0;
+ rel1 { relative: 0.0 0.0; offset: 0 0; to, "img_bg3"; }
+ rel2 { relative: 1.0 1.0; offset: 0 0; to, "img_bg3"; }
+ align: 0.5 0.5;
+ //fixed: 1 1;
+ }
+ }
+
+ part{ name, "title3";
+ type, TEXT;
+ scale: 1;
+ description {
+ state, "default" 0.0;
+ align: 0.5 0.5;
+ rel1 { relative: 0.0 0.0;
+ offset:0 0;
+ to_x, "img_bg3";
+ to_y, "title1";
+ }
+ rel2 { relative: 1.0 1.0;
+ offset:0 0;
+ to_x, "img_bg3";
+ to_y, "title1";
+ }
+ color, 151 150 150 255;
+
+ text {
+ font: FONT_STYLE_MEDIUM;
+ size: RICHINFO_RELATED_VIDEO_FONT_SIZE;
+ align: 0.5 0.5;
+ }
+ }
+ }
+
+ part{ name, "title32";
+ type, TEXT;
+ scale: 1;
+ description {
+ state, "default" 0.0;
+ align: 0.5 0.5;
+ rel1 { relative: 0.0 0.0;
+ offset:0 0;
+ to_x, "title3";
+ to_y, "title12";
+ }
+ rel2 { relative: 1.0 1.0;
+ offset:0 0;
+ to_x, "title3";
+ to_y, "title12";
+ }
+ color, 151 150 150 255;
+
+ text {
+ font: FONT_STYLE_MEDIUM;
+ size: RICHINFO_RELATED_VIDEO_FONT_SIZE;
+ align: 0.5 0.5;
+ }
+ }
+ }
+
+ programs{
+ program {
+ name: "clicked";
+ signal: "mouse,clicked,1";
+ //source: "img_bg1";
+ source: "img1";
+ action: SIGNAL_EMIT "related.video.clicked" "0";
+ }
+ program {
+ name: "clicked1";
+ signal: "mouse,clicked,1";
+ //source: "img_bg2";
+ source: "img2";
+ action: SIGNAL_EMIT "related.video.clicked" "1";
+ }
+ program {
+ name: "clicked2";
+ signal: "mouse,clicked,1";
+ //source: "img_bg3";
+ source: "img3";
+ action: SIGNAL_EMIT "related.video.clicked" "2";
+ }
+ }
+
+ }//parts
+
+}//group
+
+
+/******************for related video detail view start****************************************/
+group{
+ name: "rv_base_box_detail";
+ images {
+ image: "T02_youtube.png" COMP;
+ }
+ parts{
+ part { name: "bg";
+ type : RECT;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ fixed: 1 0;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ color: MP_INFO_DETAIL_BG_COLOR;
+ }
+ }
+
+ part{ name, "title";
+ type, TEXT;
+ scale: 1;
+ mouse_events: 0;
+ description {
+ state, "default" 0.0;
+ fixed: 1 1;
+ align: 0 0;
+ rel1 { //relative: 0 (RICH_INFO_GAB/RICH_INFO_HEIGHT);
+ relative: 0 0;
+ offset: 0 0;
+ to: "bg";
+ }
+ rel2 { relative: (RICH_INFO_RELATED_VIDEO_TITLE_WIDTH/RICH_INFO_RIGHT_WIDTH) (70/RICH_INFO_HEIGHT);
+ offset: 0 0;
+ to: "bg";
+ }
+ color, TITLE_TEXT_01_COLOR;
+
+ text {
+ font: FONT_STYLE_MEDIUM;
+ size: RICH_INFO_TITLE_FONT_SIZE;
+ align: 0 0.5;
+ text: "Music";
+ }
+ }
+ }
+
+ part { name, "youtube_image";
+ type, IMAGE;
+ scale: 1;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ image { normal: "T02_youtube.png"; }
+ visible: 1;
+ align: 0 0.5;
+ min: 96 48;
+ max: 96 48;
+ rel1 { relative: 1 0; offset: 0 0; to_x: "title"; to_y: "title";}
+ rel2 { relative: 1 1; offset: 0 0; to_x: "title"; to_y: "title";}
+ }
+ }
+
+ part{name,"rv_content";
+ type,SWALLOW;
+ scale:1;
+ mouse_events: 0;
+ description{
+ state, "default" 0.0;
+ rel1 { relative: 0.0 1.0; offset: 0 0; to, "title"; }
+ rel2 { relative: 1.0 1.0; offset: 0 0; to, "bg"; }
+ align: 0 0;
+ fixed: 0 0;
+ }
+ }
+
+
+ //for scroller
+ part {
+ name: "rv_scroller";
+ type: SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ description { state: "default" 0.0;
+ align: 0 0;
+ fixed: 0 0;
+ rel1 { relative: 0.0 1.0; offset: 0 0; to, "title"; }
+ rel2 { relative: 1.0 1.0; offset: 0 0; to, "bg"; }
+ }
+ }
+ }
+}
+
+
+/******************for related video detail view end****************************************/
+
+/******************for track list detail view start****************************************/
+#define RICH_INFO_STARS_BG_W 208
+#define RICH_INFO_STARS_BG_H 48
+#define RICH_INFO_STARS_W_H 32
+#define RICH_INFO_STARS_GAP 4
+#define RICH_INFO_STARS_SX(pos) (16+(RICH_INFO_STARS_W_H+RICH_INFO_STARS_GAP)*pos)
+#define RICH_INFO_STARS_EX(pos) (16+(RICH_INFO_STARS_W_H+RICH_INFO_STARS_GAP)*pos+RICH_INFO_STARS_W_H)
+group{
+ name: "track_base_box_detail";
+ parts{
+ part { name: "bg";
+ type : RECT;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ fixed: 1 0;
+ //min: RICH_INFO_RIGHT_WIDTH RICH_INFO_BASE_BOX_DETAIL_TITLE;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ color: MP_INFO_DETAIL_BG_COLOR;
+ }
+ }
+
+ part{ name, "title";
+ type, TEXT;
+ scale: 1;
+ mouse_events: 0;
+ description {
+ state, "default" 0.0;
+ fixed: 1 1;
+ //min: RICH_INFO_RIGHT_WIDTH RICH_INFO_BASE_BOX_DETAIL_TITLE;
+ align: 0 0;
+ rel1 { relative: 0 10/RICH_INFO_HEIGHT; to: "bg";}
+ rel2 { relative: 1 (58/RICH_INFO_HEIGHT); to: "bg";}
+ color, TITLE_TEXT_01_COLOR;
+
+ text {
+ font: FONT_STYLE_MEDIUM;
+ size: RICH_INFO_TITLE_FONT_SIZE;
+ align: 0 0.5;
+ }
+ }
+ }
+
+ part{ name, "artist_name";
+ type, TEXT;
+ scale: 1;
+ mouse_events: 0;
+ description {
+ state, "default" 0.0;
+ fixed: 1 1;
+
+ align: 0 0;
+ rel1 { relative: 0 64/RICH_INFO_HEIGHT; offset: 0 0; }
+ rel2 { relative: 0.0 112/RICH_INFO_HEIGHT; offset: 0 0; to_x: "star_bg";}
+ color, SUB_TEXT_01_COLOR;
+
+ text {
+ font: FONT_STYLE_MEDIUM;
+ size: RICH_INFO_TITLE_FONT_SIZE;
+ align: 0 0.5;
+ }
+ }
+ }
+
+ part{
+ name, "star_bg";
+ type, RECT;
+ scale: 1;
+ mouse_events: 0;
+ description {
+ state, "default" 0.0;
+ fixed: 1 1;
+ align: 0 0;
+ rel1 { relative: (RICH_INFO_RIGHT_WIDTH -RICH_INFO_STARS_BG_W)/RICH_INFO_RIGHT_WIDTH 0.0; to_y, "artist_name";}
+ rel2 { relative: 1.0 1.0; to_y, "artist_name";}
+ color: 0 0 0 0 ;
+ }
+ }
+
+ part{name,"stars";
+ type,SWALLOW;
+ scale:1;
+ mouse_events: 0;
+ description{
+ state, "default" 0.0;
+ align: 1 0.5;
+ rel1 { relative: 16/RICH_INFO_STARS_BG_W 8/RICH_INFO_STARS_BG_H;
+ to, "star_bg";
+ }
+ rel2 { relative: (RICH_INFO_STARS_BG_W-16)/RICH_INFO_STARS_BG_W (40/RICH_INFO_STARS_BG_H);
+ to, "star_bg";
+ }
+ }
+ }
+
+ part{name,"star1";
+ type,SWALLOW;
+ scale:1;
+ mouse_events: 0;
+ description{
+ state, "default" 0.0;
+ align: 0 0.5;
+ rel1 { relative: RICH_INFO_STARS_SX(0)/RICH_INFO_STARS_BG_W 0.0;
+ to_x, "star_bg";
+ to_y, "stars";
+ }
+ rel2 { relative: RICH_INFO_STARS_EX(0)/RICH_INFO_STARS_BG_W 1.0;
+ to_x, "star_bg";
+ to_y, "stars";
+ }
+ }
+ }
+
+ part{name,"star2";
+ type,SWALLOW;
+ scale:1;
+ mouse_events: 0;
+ description{
+ state, "default" 0.0;
+ align: 0 0.5;
+ rel1 { relative: RICH_INFO_STARS_SX(1)/RICH_INFO_STARS_BG_W 0.0;
+ to_x, "star_bg";
+ to_y, "stars";
+ }
+ rel2 { relative: RICH_INFO_STARS_EX(1)/RICH_INFO_STARS_BG_W 1.0;
+ to_x, "star_bg";
+ to_y, "stars";
+ }
+ }
+ }
+
+ part{name,"star3";
+ type,SWALLOW;
+ scale:1;
+ mouse_events: 0;
+ description{
+ state, "default" 0.0;
+ align: 0 0.5;
+ rel1 { relative: RICH_INFO_STARS_SX(2)/RICH_INFO_STARS_BG_W 0.0;
+ to_x, "star_bg";
+ to_y, "stars";
+ }
+ rel2 { relative: RICH_INFO_STARS_EX(2)/RICH_INFO_STARS_BG_W 1.0;
+ to_x, "star_bg";
+ to_y, "stars";
+ }
+ }
+ }
+
+ part{name,"star4";
+ type,SWALLOW;
+ scale:1;
+ mouse_events: 0;
+ description{
+ state, "default" 0.0;
+ align: 0 0.5;
+ rel1 { relative: RICH_INFO_STARS_SX(3)/RICH_INFO_STARS_BG_W 0.0;
+ to_x, "star_bg";
+ to_y, "stars";
+ }
+ rel2 { relative: RICH_INFO_STARS_EX(3)/RICH_INFO_STARS_BG_W 1.0;
+ to_x, "star_bg";
+ to_y, "stars";
+ }
+ }
+ }
+
+ part{name,"star5";
+ type,SWALLOW;
+ scale:1;
+ mouse_events: 0;
+ description{
+ state, "default" 0.0;
+ align: 0 0.5;
+ rel1 { relative: RICH_INFO_STARS_SX(4)/RICH_INFO_STARS_BG_W 0.0;
+ to_x, "star_bg";
+ to_y, "stars";
+ }
+ rel2 { relative: RICH_INFO_STARS_EX(4)/RICH_INFO_STARS_BG_W 1.0;
+ to_x, "star_bg";
+ to_y, "stars";
+ }
+ }
+ }
+
+ part {
+ name: "top_tap_line";
+ type: RECT;
+ description {
+ state, "default" 0.0;
+ fixed: 1 1;
+ align: 0 0;
+ rel1 { relative: 0 122/RICH_INFO_HEIGHT; to: "bg";}
+ rel2 { relative: 1 124/RICH_INFO_HEIGHT; to: "bg";}
+ color: BOTTOM_LINE_COLOR;
+ }
+ }
+
+ part{name,"track_genlist";
+ type,SWALLOW;
+ scale:1;
+ mouse_events: 0;
+ description{
+ state, "default" 0.0;
+ visible: 1;
+ rel1 { relative: 0.0 1.0; offset: 0 0; to, "top_tap_line"; }
+ align: 0 0;
+ }
+ }
+
+ //for scroller
+ part {
+ name: "track_scroller";
+ type: SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ fixed: 0 1;
+ align: 0 0;
+ rel1 { relative: 0.0 1.0; offset: 0 0; to: "top_tap_line";}
+ rel2 { relative: 1.0 1.0; offset: 0 0; to: "bg";}
+ }
+ }
+ }
+}
+/******************for track list detail view end****************************************/
+
+/******************for discography detail view start****************************************/
+#define RICH_INFO_INTERVAL 0
+group{
+ name: "dis_base_box_detail";
+ parts{
+ part { name: "bg";
+ type : RECT;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ fixed: 1 0;
+ //min: RICH_INFO_RIGHT_WIDTH RICH_INFO_BASE_BOX_DETAIL_TITLE;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ color: MP_INFO_DETAIL_BG_COLOR;
+ }
+ }
+
+ part { name: "detail_event_box";
+ type : SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ rel1 { relative: 0.0 0.0; to, "bg"; }
+ rel2 { relative: 1.0 1.0; to, "bg"; }
+ }
+ }
+
+ part{ name, "title";
+ type, TEXT;
+ scale: 1;
+ mouse_events: 0;
+ description {
+ state, "default" 0.0;
+ fixed: 1 1;
+ align: 0 0;
+ rel1 { relative: 0 0; offset: 0 0; to: "bg";}
+ rel2 { relative: 1 (RICH_INFO_BASE_BOX_DETAIL_TITLE/RICH_INFO_HEIGHT); to: "bg";}
+ color, TITLE_TEXT_01_COLOR;
+
+ text {
+ font: FONT_STYLE_MEDIUM;
+ size: RICH_INFO_TITLE_FONT_SIZE;
+ align: 0 0.5;
+ text: "Music";
+ }
+ }
+ }
+
+ part {
+ name: "top_tap_line";
+ type: RECT;
+ description { state: "default" 0;
+ min: 0 1;
+ rel1 {
+ relative: 0 1.0;
+ to: "title" ;
+ }
+ rel2 {
+ relative: 1 1.0;
+ to: "title" ;
+ }
+ color: BOTTOM_LINE_COLOR;
+ }
+ }
+
+ //for scroller
+ part {
+ name: "dis_scroller";
+ type: SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ fixed: 0 1;
+ align: 0 0;
+ rel1 { relative: 0.0 1.0; offset: 0 0; to: "top_tap_line";}
+ rel2 { relative: 1.0 1.0; offset: 0 0; to: "bg";}
+ }
+ }
+ }
+}
+
+
+/******************for discography detail view end****************************************/
+
+/******************for review detail view start****************************************/
+group{
+ name: "review_base_box_detail";
+ images {
+ image: "rich_info/12_music_player_bg_01.PNG" COMP;
+ image: "12_music_playing_bg.png" COMP;
+ }
+
+ parts{
+ part { name: "bg";
+ type : RECT;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ fixed: 1 0;
+ // min: RICH_INFO_RIGHT_WIDTH RICH_INFO_BASE_BOX_DETAIL_TITLE;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ color: MP_INFO_DETAIL_BG_COLOR;
+ }
+ }
+
+ part { name: "detail_event_box";
+ type : SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ rel1 { relative: 0.0 0.0; to, "bg"; }
+ rel2 { relative: 1.0 1.0; to, "bg"; }
+ }
+ }
+
+ part{ name, "title";
+ type, TEXT;
+ scale: 1;
+ mouse_events: 0;
+ description {
+ state, "default" 0.0;
+ fixed: 1 1;
+ //min: RICH_INFO_RIGHT_WIDTH RICH_INFO_BASE_BOX_DETAIL_TITLE;
+ align: 0 0;
+ rel1 { relative: 0 0; offset: 0 0; to: "bg";}
+ rel2 { relative: 1 (RICH_INFO_BASE_BOX_DETAIL_TITLE/RICH_INFO_HEIGHT); offset: 0 0; to: "bg";}
+ color, TITLE_TEXT_01_COLOR;
+
+ text {
+ font: FONT_STYLE_MEDIUM;
+ size: RICH_INFO_TITLE_FONT_SIZE;
+ align: 0 0.5;
+ text: "Music";
+ }
+ }
+ }
+
+ part{name,"review_content";
+ type,SWALLOW;
+ scale:1;
+ mouse_events: 0;
+ description{
+ state, "default" 0.0;
+ rel1 { relative: 0.0 1.0; offset: 0 0; to, "title"; }
+ rel2 { relative: 1.0 1.0; offset: 0 0; to, "bg"; }
+ align: 0 0;
+ fixed: 0 0;
+ }
+ }
+ //for scroller
+ part {
+ name: "review_scroller";
+ type: SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ fixed: 0 1;
+ align: 0 0;
+ rel1 { relative: 0.0 1.0; offset: 0 0; to, "title"; }
+ rel2 { relative: 1.0 1.0; offset: 0 0; to, "bg"; }
+ }
+ }
+ }
+}
+
+group{
+ name: "review_content";
+ parts{
+ part { name: "bg";
+ type : RECT;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ fixed: 1 0;
+ //min: RICH_INFO_RIGHT_WIDTH 100;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ color: 0 0 0 0;
+ }
+ }
+
+ part{name,"review_image";
+ type,SWALLOW;
+ scale:1;
+ mouse_events: 0;
+ description{
+ state, "default" 0.0;
+ rel1 { relative: 0.0 0.0; offset: 0 0; to, "bg"; }
+ rel2 { relative: 1.0 0.0; offset: 0 100; to, "bg"; }
+ align: 0.5 0.5;
+ fixed: 0 0;
+ }
+ }
+ //for label
+ part {
+ name: "review_label";
+ type: SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ fixed: 0 0;
+ align: 0 0;
+ rel1 { relative: 0.0 1.0; offset: 0 0; to: "review_image";}
+ rel2 { relative: 1.0 1.0; offset: 0 0; to: "bg";}
+ }
+ }
+ }
+}
+
+/******************for review detail view end****************************************/
+
+/******************for biography detail view start****************************************/
+group{
+ name: "bio_base_box_detail";
+ images {
+ image: "rich_info/12_music_player_bg_01.PNG" COMP;
+ image: "12_music_playing_bg.png" COMP;
+ }
+
+ parts{
+ part { name: "bg";
+ type : RECT;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ fixed: 1 0;
+ //min: RICH_INFO_RIGHT_WIDTH RICH_INFO_BASE_BOX_DETAIL_TITLE;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ color: MP_INFO_DETAIL_BG_COLOR;
+ }
+ }
+
+ part { name: "detail_event_box";
+ type : SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ rel1 { relative: 0.0 0.0; to, "bg"; }
+ rel2 { relative: 1.0 1.0; to, "bg"; }
+ }
+ }
+
+ part{ name, "title";
+ type, TEXT;
+ scale: 1;
+ mouse_events: 0;
+ description {
+ state, "default" 0.0;
+ fixed: 1 1;
+ //min: RICH_INFO_RIGHT_WIDTH RICH_INFO_BASE_BOX_DETAIL_TITLE;
+ align: 0 0;
+ rel1 { relative: 0 0; offset: 0 0; to: "bg";}
+ rel2 { relative: 1 (RICH_INFO_BASE_BOX_DETAIL_TITLE/RICH_INFO_HEIGHT); offset: 0 0; to: "bg";}
+ color, TITLE_TEXT_01_COLOR;
+
+ text {
+ font: FONT_STYLE_MEDIUM;
+ size: RICH_INFO_TITLE_FONT_SIZE;
+ align: 0 0.5;
+ text: "Music";
+ }
+ }
+ }
+
+ part{name,"bio_content";
+ type,SWALLOW;
+ scale:1;
+ mouse_events: 0;
+ description{
+ state, "default" 0.0;
+ rel1 { relative: 0.0 1.0; offset: 0 0; to, "title"; }
+ rel2 { relative: 1.0 1.0; offset: 0 0; to, "bg"; }
+ align: 0 0;
+ fixed: 0 0;
+ }
+ }
+ //for scroller
+ part {
+ name: "bio_scroller";
+ type: SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ align: 0 0;
+ rel1 { relative: 0.0 1.0; offset: 0 0; to, "title"; }
+ //rel2 { relative: 1.0 1.0; offset: 0 0; to, "bg"; }
+ }
+ }
+ }
+}
+
+group{
+ name: "bio_content";
+ parts{
+ part { name: "bg";
+ type : RECT;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ fixed: 0 0;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ color: 0 0 0 0;
+ }
+ }
+
+ part{name,"bio_image";
+ type,SWALLOW;
+ scale:1;
+ mouse_events: 0;
+ description{
+ state, "default" 0.0;
+ rel1 { relative: 0/RICH_INFO_RIGHT_WIDTH 0/1280; offset: 0 0; to, "bg"; }
+ rel2 { relative: ((RICH_INFO_BIO_ALBUM_WIDTH)/RICH_INFO_RIGHT_WIDTH) ((RICH_INFO_BIO_ALBUM_HEIGHT)/(RICH_INFO_HEIGHT - RICH_INFO_BASE_BOX_DETAIL_TITLE)); offset: 0 0; to, "bg"; }
+ align: 0.5 0.5;
+ }
+ }
+ //for label
+ part {
+ name: "bio_label";
+ type: SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ fixed: 0 0;
+ align: 0 0;
+ rel1 { relative: 0.0 1.0; offset: 0 0; to_x: "bg"; to_y: "bio_image";}
+ }
+ }
+ }
+}
+
+group {
+ name: "bio_image";
+ parts{
+ part { name: "bg";
+ type : RECT;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ fixed: 0 0;
+ min: RICH_INFO_BIO_ALBUM_WIDTH RICH_INFO_BIO_ALBUM_HEIGHT;
+ max: RICH_INFO_BIO_ALBUM_WIDTH RICH_INFO_BIO_ALBUM_HEIGHT;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ color: 0 0 0 0;
+ }
+ }
+
+ part{name,"image";
+ type,SWALLOW;
+ scale:1;
+ mouse_events: 0;
+ description{
+ state, "default" 0.0;
+ rel1 { relative: 0.0 0.0; offset: 0 0; to, "bg"; }
+ rel2 { relative: 1.0 1.0; offset: 0 0; to, "bg"; }
+ }
+ }
+ }
+}
+
+/******************for biography detail view end****************************************/
+
+
+/******************for simlar albums detail view start****************************************/
+group{
+ name: "sal_base_box_detail";
+ parts{
+ part { name: "bg";
+ type : RECT;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ fixed: 1 0;
+ //min: RICH_INFO_RIGHT_WIDTH RICH_INFO_BASE_BOX_DETAIL_TITLE;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ color: MP_INFO_DETAIL_BG_COLOR;
+ }
+ }
+
+ part { name: "detail_event_box";
+ type : SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ rel1 { relative: 0.0 0.0; to, "bg"; }
+ rel2 { relative: 1.0 1.0; to, "bg"; }
+ }
+ }
+
+ part{ name, "title";
+ type, TEXT;
+ scale: 1;
+ mouse_events: 0;
+ description {
+ state, "default" 0.0;
+ fixed: 1 1;
+ align: 0 0;
+ rel1 { relative: 0 0; offset: 0 0; to: "bg";}
+ rel2 { relative: 1 (RICH_INFO_BASE_BOX_DETAIL_TITLE/RICH_INFO_HEIGHT); to: "bg";}
+ color, TITLE_TEXT_01_COLOR;
+
+ text {
+ font: FONT_STYLE_MEDIUM;
+ size: RICH_INFO_TITLE_FONT_SIZE;
+ align: 0 0.5;
+ text: "Music";
+ }
+ }
+ }
+
+ part {
+ name: "top_tap_line";
+ type: RECT;
+ description { state: "default" 0;
+ min: 0 1;
+ rel1 {
+ relative: 0 1.0;
+ to: "title" ;
+ }
+ rel2 {
+ relative: 1 1.0;
+ to: "title" ;
+ }
+ color: BOTTOM_LINE_COLOR;
+ }
+ }
+
+ //for scroller
+ part {
+ name: "dis_scroller";
+ type: SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ fixed: 0 1;
+ align: 0 0;
+ rel1 { relative: 0.0 1.0; offset: 0 0; to: "top_tap_line";}
+ rel2 { relative: 1.0 1.0; offset: 0 0; to: "bg";}
+ }
+ }
+ }
+}
+
+/******************for simlar albums detail view end****************************************/
+
+/******************for simlar artists detail view start****************************************/
+group{
+ name: "sar_base_box_detail";
+ parts{
+ part { name: "bg";
+ type : RECT;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ fixed: 1 0;
+ //min: RICH_INFO_RIGHT_WIDTH RICH_INFO_BASE_BOX_DETAIL_TITLE;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ color: MP_INFO_DETAIL_BG_COLOR;
+ }
+ }
+
+ part { name: "detail_event_box";
+ type : SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ rel1 { relative: 0.0 0.0; to, "bg"; }
+ rel2 { relative: 1.0 1.0; to, "bg"; }
+ }
+ }
+
+ part{ name, "title";
+ type, TEXT;
+ scale: 1;
+ mouse_events: 0;
+ description {
+ state, "default" 0.0;
+ fixed: 1 1;
+ align: 0 0;
+ rel1 { relative: 0 0; offset: 0 0; to: "bg";}
+ rel2 { relative: 1 (RICH_INFO_BASE_BOX_DETAIL_TITLE/RICH_INFO_HEIGHT); to: "bg";}
+ color, TITLE_TEXT_01_COLOR;
+
+ text {
+ font: FONT_STYLE_MEDIUM;
+ size: RICH_INFO_TITLE_FONT_SIZE;
+ align: 0 0.5;
+ text: "Music";
+ }
+ }
+ }
+
+ part {
+ name: "top_tap_line";
+ type: RECT;
+ description { state: "default" 0;
+ min: 0 1;
+ rel1 {
+ relative: 0 1.0;
+ to: "title" ;
+ }
+ rel2 {
+ relative: 1 1.0;
+ to: "title" ;
+ }
+ color: BOTTOM_LINE_COLOR;
+ }
+ }
+
+ //for scroller
+ part {
+ name: "dis_scroller";
+ type: SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ fixed: 0 1;
+ align: 0 0;
+ rel1 { relative: 0.0 1.0; offset: 0 0; to: "top_tap_line";}
+ rel2 { relative: 1.0 1.0; offset: 0 0; to: "bg";}
+ }
+ }
+ }
+}
+
+/******************for simlar artists detail view end****************************************/
+
+/******************for credit detail view start****************************************/
+group{
+ name: "credit_base_box_detail";
+ parts{
+ part { name: "bg";
+ type : RECT;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ fixed: 1 0;
+ //min: RICH_INFO_RIGHT_WIDTH RICH_INFO_BASE_BOX_DETAIL_TITLE;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ color: MP_INFO_DETAIL_BG_COLOR;
+ }
+ }
+
+ part { name: "detail_event_box";
+ type : SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ rel1 { relative: 0.0 0.0; to, "bg"; }
+ rel2 { relative: 1.0 1.0; to, "bg"; }
+ }
+ }
+
+ part{ name, "title";
+ type, TEXT;
+ scale: 1;
+ mouse_events: 0;
+ description {
+ state, "default" 0.0;
+ fixed: 1 1;
+ //min: RICH_INFO_RIGHT_WIDTH RICH_INFO_BASE_BOX_DETAIL_TITLE;
+ align: 0 0;
+ rel1 { relative: 0 0; offset: 0 0; to: "bg";}
+ rel2 { relative: 1 (RICH_INFO_BASE_BOX_DETAIL_TITLE/RICH_INFO_HEIGHT); offset: 0 0; to: "bg";}
+ color, TITLE_TEXT_01_COLOR;
+
+ text {
+ font: FONT_STYLE_MEDIUM;
+ size: RICH_INFO_TITLE_FONT_SIZE;
+ align: 0 0.5;
+ text: "Music";
+ }
+ }
+ }
+
+ part{name,"credit_content";
+ type,SWALLOW;
+ scale:1;
+ mouse_events: 0;
+ description{
+ state, "default" 0.0;
+ rel1 { relative: 0.0 1.0; offset: 0 0; to, "title"; }
+ rel2 { relative: 1.0 1.0; offset: 0 0; to, "bg"; }
+ align: 0 0;
+ fixed: 0 0;
+ }
+ }
+
+ //for scroller
+ part {
+ name: "credit_scroller";
+ type: SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ align: 0 0;
+ rel1 { relative: 0.0 1.0; offset: 0 0; to, "title"; }
+ rel2 { relative: 1.0 1.0; offset: 0 0; to, "bg"; }
+ }
+ }
+ }
+}
+
+group{
+ name: "info_content";
+
+ parts{
+ part { name: "bg";
+ type : RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ color: MP_INFO_DETAIL_BG_COLOR;
+ }
+ }
+
+ part{name,"content";
+ type,SWALLOW;
+ scale:1;
+ mouse_events: 0;
+ description{
+ state, "default" 0.0;
+ rel1 { relative: 0.0 0.0; offset: 0 0; to, "bg"; }
+ rel2 { relative: 1.0 1.0; offset: 0 0; to, "bg"; }
+ align: 0 0;
+ fixed: 0 0;
+ }
+ }
+ }
+}
+/******************for credit detail view end****************************************/
+
+/******************for media info detail view start****************************************/
+group{
+ name: "mi_base_box_detail";
+ images {
+ image: "rich_info/12_music_player_bg_01.PNG" COMP;
+ image: "12_music_playing_bg.png" COMP;
+ }
+
+ parts{
+ part { name: "bg";
+ type : RECT;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ fixed: 1 0;
+ //min: RICH_INFO_RIGHT_WIDTH RICH_INFO_BASE_BOX_DETAIL_TITLE;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ color: MP_INFO_DETAIL_BG_COLOR;
+ }
+ }
+
+ part { name: "detail_event_box";
+ type : SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ rel1 { relative: 0.0 0.0; to, "bg"; }
+ rel2 { relative: 1.0 1.0; to, "bg"; }
+ }
+ }
+
+ part{ name, "title";
+ type, TEXT;
+ scale: 1;
+ mouse_events: 0;
+ description {
+ state, "default" 0.0;
+ fixed: 1 1;
+ align: 0 0;
+ rel1 { relative: 0 0; offset: 0 0; to: "bg";}
+ rel2 { relative: 1 (RICH_INFO_BASE_BOX_DETAIL_TITLE/RICH_INFO_HEIGHT); offset: 0 0; to: "bg";}
+ color, TITLE_TEXT_01_COLOR;
+
+ text {
+ font: FONT_STYLE_MEDIUM;
+ size: TITLE_TEXT_01_SIZE;
+ align: 0 0.5;
+ text: "Media info";
+ }
+ }
+ }
+
+ part{name,"mi_content";
+ type,SWALLOW;
+ scale:1;
+ mouse_events: 0;
+ description{
+ state, "default" 0.0;
+ rel1 { relative: 0.0 1.0; offset: 0 0; to, "title"; }
+ rel2 { relative: 1.0 1.0; offset: 0 0; to, "bg"; }
+ align: 0 0;
+ fixed: 0 0;
+ }
+ }
+ //for scroller
+ part {
+ name: "mi_scroller";
+ type: SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ //fixed: 0 1;
+ align: 0 0;
+ rel1 { relative: 0.0 1.0; offset: 0 0; to, "title"; }
+ rel2 { relative: 1.0 1.0; offset: 0 0; to, "bg"; }
+ }
+ }
+ }
+}
+/******************for media info detail view end****************************************/
+
+/******************for rich info: layout****************************************/
+#define MP_RH_TITLE_DEFAULT_HEIGHT_INC 360
+#define MP_RH_TITLE_DEFAULT_WIDTH_INC 720
+
+group { name: "rich_info_view_layout";
+ parts {
+ part { name: "bg";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ }
+ }
+ part { name: "tabbar";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: MP_RH_TITLE_DEFAULT_WIDTH_INC MP_RH_TITLE_DEFAULT_HEIGHT_INC;
+ fixed: 1 1;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 0.0; }
+ align: 0.5 0.0;
+ }
+ }
+ part { name: "list-content";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.to_y: "tabbar";
+ rel1.relative: 0.0 1.0;
+ }
+ }
+ }
+}
+/******************for rich info: layout end****************************************/
+
+/******************for rich info: current song info****************************************/
+#define FONT_STYLE_ROMAN "TIZEN:style=Roman"
+#define RICH_INFO_FONT_STYLE_BOLD "Tizen:style=Bold"
+
+#define BOX_SIZE 360
+
+
+group { name: "booklet_box";
+ parts {
+ part { name: "bg";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ }
+ }
+ part { name: "label_2";
+ type: TEXT;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1 { relative: 0.0 1.0; to: "bg"; offset: 12 0; }
+ rel2 { relative: 1.0 1.0; to: "bg"; offset: -12 0; }
+ min: 336 24;
+ align: 0.0 1.0;
+ text {
+ font: LABEL_FONT;
+ size: 23;
+ align: 0.0 0.5;
+ min: 0 1;
+ }
+ color: 195 195 195 255;
+ }
+ }
+
+ part { name: "label_1";
+ type: TEXT;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1 { relative: 0.0 0.0; to: "label_2"; offset:0 0;}
+ rel2 { relative: 1.0 0.0; to: "label_2"; offset:0 0;}
+ min: 336 38;
+ align: 0.0 1.0;
+ text {
+ font: LABEL_FONT;
+ size: 33;
+ align: 0.0 0.5;
+ min: 0 1;
+ }
+ color: 255 255 255 255;
+ }
+ }
+ part { name: "event_box";
+ type: RECT;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ }
+
+ programs {
+ program {
+ name: "clicked";
+ source: "event_box";
+ signal: "mouse,clicked,1";
+ action: SIGNAL_EMIT "clicked" 0.0;
+ }
+ }
+}
+
+group { name: "booklet_box_ld";
+ parts {
+ part { name: "bg";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 280 272;
+ fixed: 1 1;
+ }
+ }
+ part { name: "label_2";
+ type: TEXT;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1 { relative: 0.0 1.0; to: "label_1"; offset: 0 0; }
+ rel2 { relative: 1.0 1.0; to: "label_1"; offset: 0 26; }
+ min: 272 26;
+ align: 0.0 1.0;
+ text {
+ font: LABEL_FONT;
+ size: 23;
+ align: 0.0 0.5;
+ min: 0 1;
+ }
+ color: 195 195 195 255;
+ }
+ }
+
+ part { name: "label_1";
+ type: TEXT;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1 { relative: 0.0 1.0; to: "bg"; offset:8 0;}
+ rel2 { relative: 1.0 1.0; to: "bg"; offset:0 36;}
+ min: 272 36;
+ align: 0.0 1.0;
+ text {
+ font: LABEL_FONT;
+ size: 33;
+ align: 0.0 0.5;
+ min: 0 1;
+ }
+ color: 255 255 255 255;
+ }
+ }
+ part { name: "event_box";
+ type: RECT;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ }
+
+ programs {
+ program {
+ name: "clicked";
+ source: "event_box";
+ signal: "mouse,clicked,1";
+ action: SIGNAL_EMIT "clicked" 0.0;
+ }
+ }
+}
+
+
+group { name: "rich_info/current_song";
+ parts {
+ part { name: "bg";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 720 360;
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "box0";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1 { relative: 0.0 0.0; to: "bg";}
+ rel2 { relative: 0.5 1.0; to: "bg";}
+ min: BOX_SIZE BOX_SIZE;
+ align: 0.0 0.0;
+ }
+ }
+ part { name: "box1";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1 { relative: 0.5 0.0; to: "bg"; }
+ rel2 { relative: 1.0 1.0; to: "bg"; }
+ min: BOX_SIZE BOX_SIZE;
+ align: 0.0 0.0;
+ }
+ }
+ }
+}
+
+/*
+group { name: "rich_info/current_song";
+ //data.item: "contents" "elm.swallow.icon1";
+ parts {
+ part { name: "bg";
+ type: RECT;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+
+ part {
+ name: "album_art";
+ type: SWALLOW;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ to: "bg";
+ }
+ rel2 {
+ relative: 0.5 1.0;
+ to: "bg";
+ }
+ }
+ }
+ part {
+ name: "artist_art";
+ type: SWALLOW;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.5 0.0;
+ to: "bg";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to: "bg";
+ }
+ }
+ }
+
+ part {
+ name: "screen_album";
+ type: RECT;
+ mouse_events: 1;
+ repeat_events: 1;
+ description {
+ state: "default" 0.0;
+ rel1 {relative: 0.03 0.8; to: "bg"; }
+ rel2 {relative: 0.47 0.99; to: "bg"; }
+ color: 255 255 255 128;
+ visible: 1;
+ }
+ }
+ part { name: "album_name_text";
+ clip_to: "screen_album";
+ type: TEXT;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 0;
+ fixed: 0 0;
+ align: 0 0;
+
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ to: "screen_album";
+ }
+ rel2 {
+ relative: 1.0 0.6;
+ to: "screen_album";
+ }
+ color: 255 255 255 255;
+ text {
+ font: RICH_INFO_FONT_STYLE_BOLD;
+ size: 33;
+ min: 0 1;
+ align: 0.0 0.5;
+ }
+ }
+ }
+ part { name: "album_year_text";
+ clip_to: "screen_album";
+ type: TEXT;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 0;
+ fixed: 0 0;
+ align: 0 0;
+
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 0.6;
+ to: "screen_album";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to: "screen_album";
+ }
+ color: 195 195 195 255;
+ text {
+ font: RICH_INFO_FONT_STYLE_BOLD;
+ size: 23;
+ min: 0 1;
+ align: 0.0 0.5;
+ }
+ }
+ }
+
+ part {
+ name: "screen_artist";
+ type: RECT;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ rel1 {relative: 0.53 0.8; to: "bg"; }
+ rel2 {relative: 0.97 0.99; to: "bg"; }
+ color: 255 255 255 128;
+ visible: 1;
+ }
+ }
+ part { name: "artist_name_text";
+ clip_to: "screen_artist";
+ type: TEXT;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 0;
+ fixed: 0 0;
+ align: 0 0;
+
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ to: "screen_artist";
+ }
+ rel2 {
+ relative: 1.0 0.6;
+ to: "screen_artist";
+ }
+ color: 255 255 255 255;
+ text {
+ font: RICH_INFO_FONT_STYLE_BOLD;
+ size: 33;
+ min: 0 1;
+ align: 0.0 0.5;
+ }
+ }
+ }
+ part { name: "artist_album_count_text";
+ clip_to: "screen_artist";
+ type: TEXT;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 0;
+ fixed: 0 0;
+ align: 0 0;
+
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 0.6;
+ to: "screen_artist";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to: "screen_artist";
+ }
+ color: 195 195 195 255;
+ text {
+ font: RICH_INFO_FONT_STYLE_BOLD;
+ size: 23;
+ min: 0 1;
+ align: 0.0 0.5;
+ }
+ }
+ }
+ }
+ }
+*/
+/******************for rich info: current song info end ****************************************/
+
+/******************for artist/ablum booklet info ****************************************/
+group { name: "booklet_view_layout";
+
+ parts {
+ part { name: "tabbar";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 TABBAR_DEFAULT_HEIGHT_INC;
+ fixed: 0 1;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 0.0; }
+ align: 0.5 0.0;
+ }
+ }
+ part { name: "list-content";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.to_y: "tabbar";
+ rel1.relative: 0.0 1.0;
+ }
+ }
+ }
+}
+
+/******************for rich info: media info layout ****************************************/
+group { name: "local_media_info_layout";
+ parts {
+ part { name: "bg";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ color: 248 246 239 255;
+ }
+ }
+ part { name: "tabbar";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 720 0;
+ fixed: 1 1;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 0.0; }
+ align: 0.5 0.0;
+ }
+ }
+ part { name: "list-content";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.to_y: "tabbar";
+ rel1.relative: 0.0 1.0;
+ //color: 0 128 0 128;
+ }
+ }
+ }
+}
+
+group { name: "local_media_info_image_layout";
+ images {
+ image: "T02_semantic_log.png" COMP;
+ }
+
+ parts {
+ part { name: "bg";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ color: 248 246 239 255;
+ }
+ }
+ part { name: "tabbar";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 720 110;
+ fixed: 1 1;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 0.0; }
+ align: 0.5 0.0;
+ }
+ }
+ part { name: "list-content";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.to_y: "tabbar";
+ rel1.relative: 0.0 1.0;
+ //color: 0 128 0 128;
+ }
+ }
+ part { name, "amg_image";
+ type, IMAGE;
+ scale: 1;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ image { normal: "T02_semantic_log.png"; }
+ visible: 1;
+ align: 0 0.5;
+ min: 70 26;
+ max: 70 26;
+ rel1 { relative: 0.9 0.96; to: "list-content";}
+ rel2 { relative: 0.9 1; to: "list-content";}
+ }
+ }
+ }
+}
+
+
+group { name: "local_media_info_title";
+ //data.item: "contents" "elm.swallow.icon1";
+ parts {
+ part { name: "bg";
+ type: RECT;
+ description { state: "default" 0.0;
+ color: 248 246 239 255;
+ }
+ }
+
+ part {
+ name: "top_pad";
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ color: 248 246 239 255;
+ min: 0 20;
+ fixed: 0 1;
+ visible: 1;
+ rel2.relative: 1.0 0.0;
+ align: 0.0 0.0;
+ }
+ }
+ part {
+ name: "bottom_pad";
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ color: 248 246 239 255;
+ min: 0 28;
+ fixed: 0 1;
+ visible: 1;
+ rel2.relative: 1.0 1.0;
+ align: 0.0 0.0;
+ }
+ }
+ part { name: "media_info_text";
+ type: TEXT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; offset : 26 0;}
+ min: 0 62;
+ fixed: 0 1;
+ align: 0 0;
+ rel1.to_y: "top_pad";
+ rel1.relative: 0.0 1.0;
+ rel2.to_y: "bottom_pad";
+ rel2.relative: 1.0 0.0;
+ color: 59 115 182 255;
+ text {
+ font: RICH_INFO_FONT_STYLE_BOLD;
+ size: 52;
+ text: "Media info";
+ min: 0 1;
+ align: 0.0 0.5;
+ }
+
+ }
+ }
+ }
+}
+/*****************************************************/
+group {
+ name: "rich_info_index_layout";
+ parts {
+ part {
+ name: "bg";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ color: 248 246 239 255;
+ }
+ }
+ part {
+ name: "index_controller";
+ type: SWALLOW;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 0 52;
+ fixed: 0 1;
+ align: 0.5 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ }
+ rel2 {
+ relative: 1.0 0.0;
+ }
+ }
+ }
+ part {
+ name: "index_content";
+ type: SWALLOW;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1.to_y: "index_controller";
+ rel1.relative: 0.0 1.0;
+ //color: 0 128 0 128;
+ }
+ }
+ }
+}
+/*****************************************************/
+
+
+/******************for rich info: media info layout end ****************************************/
+group{
+ name: "rich_info_content";
+ parts {
+ part {
+ name: "bg";
+ mouse_events: 0;
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ align: 0 0;
+ min: 720 0;
+ max: 720 1030;
+ fixed: 1 0;
+ visible: 1;
+ rel1 { relative: 0.0 0.0;}
+ rel2 { relative: 1.0 1.0;}
+ color: 0 0 0 0;
+ }
+ }
+
+ part { name: "event_box";
+ type : SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0 0;
+ to: "bg";
+ }
+ rel2 {
+ relative: 1 1;
+ to: "bg";
+ }
+ }
+ }
+ /* album image */
+ part {
+ name: "cur_page";
+ mouse_events: 1;
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ align: 0 0;
+ visible: 1;
+ rel1 {
+ relative: 0 0;
+ to: "bg";
+ }
+ rel2 {
+ relative: 1 1;
+ to: "bg";
+ }
+ color: 0 0 0 0;
+ }
+ description {
+ state: "left" 0.0;
+ inherit: "default" 0.0;
+ rel1 {
+ relative: -1 0;
+ to: "bg";
+ }
+ rel2 {
+ relative: 0 1;
+ to: "bg";
+ }
+ }
+ description {
+ state: "right" 0.0;
+ inherit: "default" 0.0;
+ rel1 {
+ relative: 1 0;
+ to: "bg";
+ }
+ rel2 {
+ relative: 2 1;
+ to: "bg";
+ }
+ }
+ }
+
+ /* temp album image */
+ part {
+ name: "next_page";
+ mouse_events: 1;
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ align: 0 0;
+ visible: 1;
+ rel1 {
+ relative: 0 0;
+ to: "bg";
+ }
+ rel2 {
+ relative: 1 1;
+ to: "bg";
+ }
+ color: 0 0 0 0;
+ }
+ description {
+ state: "left" 0.0;
+ inherit: "default" 0.0;
+ rel1 {
+ relative: -1 0;
+ to: "bg";
+ }
+ rel2 {
+ relative: 0 1;
+ to: "bg";
+ }
+ }
+ description {
+ state: "right" 0.0;
+ inherit: "default" 0.0;
+ rel1 {
+ relative: 1 0;
+ to: "bg";
+ }
+ rel2 {
+ relative: 2 1;
+ to: "bg";
+ }
+ }
+ description { state: "invisible" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+
+ }
+ programs {
+ /* album image */
+ program { name: "flick_left";
+ signal: "flick_left";
+ source: "cur_page";
+ action: STATE_SET "left" 0.0;
+ target : "cur_page";
+ transition: LINEAR 0.5;
+ }
+ program { name: "flick_right";
+ signal: "flick_right";
+ source: "cur_page";
+ action: STATE_SET "right" 0.0;
+ target : "cur_page";
+ transition: LINEAR 0.5;
+ }
+ program { name: "set_right";
+ signal: "set_right";
+ source: "next_page";
+ action: STATE_SET "right" 0.0;
+ target : "next_page";
+ }
+ program { name: "set_left";
+ signal: "set_left";
+ source: "next_page";
+ action: STATE_SET "left" 0.0;
+ target : "next_page";
+ }
+ program { name: "set_default_temp";
+ signal: "set_default";
+ source: "next_page";
+ action: STATE_SET "default" 0.0;
+ target : "next_page";
+ transition: LINEAR PV_ALBUM_IMAGE_FLICK_TIMER;
+ after :"album_area_transit_done";
+ }
+ program { name: "set_default";
+ signal: "set_default";
+ source: "cur_page";
+ action: STATE_SET "default" 0.0;
+ target : "cur_page";
+ after : "set_default_temp_invsible";
+ }
+ program { name: "set_default_temp_invsible";
+ signal: "set_temp_invsible";
+ source: "next_page";
+ action: STATE_SET "invisible" 0.0;
+ target : "next_page";
+ }
+ program { name : "album_area_transit_done";
+ signal: "transit_done";
+ source: "cur_page";
+ script {
+ emit("transit_done", "album");
+ }
+ }
+ }
+}
+
+group { name: "related_video_title";
+ //data.item: "contents" "elm.swallow.icon1";
+ parts {
+ part { name: "bg";
+ type: RECT;
+ description { state: "default" 0.0;
+ color: 248 246 239 255;
+ }
+ }
+
+ part {
+ name: "top_pad";
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ color: 248 246 239 255;
+ min: 0 20;
+ fixed: 0 1;
+ visible: 1;
+ rel2.relative: 1.0 0.0;
+ align: 0.0 0.0;
+ }
+ }
+ part {
+ name: "bottom_pad";
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ color: 248 246 239 255;
+ min: 0 28;
+ fixed: 0 1;
+ visible: 1;
+ rel2.relative: 1.0 1.0;
+ align: 0.0 0.0;
+ }
+ }
+ part { name: "media_info_text";
+ type: TEXT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; offset : 26 0;}
+ min: 0 62;
+ fixed: 0 1;
+ align: 0 0;
+ rel1.to_y: "top_pad";
+ rel1.relative: 0.0 1.0;
+ rel2.to_y: "bottom_pad";
+ rel2.relative: 1.0 0.0;
+ color: 59 115 182 255;
+ text {
+ font: RICH_INFO_FONT_STYLE_BOLD;
+ size: 52;
+ text: "Related video";
+ min: 0 1;
+ align: 0.0 0.5;
+ }
+
+ }
+ }
+ }
+}
+
+group { name: "credit_title";
+ //data.item: "contents" "elm.swallow.icon1";
+ parts {
+ part { name: "bg";
+ type: RECT;
+ description { state: "default" 0.0;
+ color: 248 246 239 255;
+ }
+ }
+
+ part {
+ name: "top_pad";
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ color: 248 246 239 255;
+ min: 0 20;
+ fixed: 0 1;
+ visible: 1;
+ rel2.relative: 1.0 0.0;
+ align: 0.0 0.0;
+ }
+ }
+ part {
+ name: "bottom_pad";
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ color: 248 246 239 255;
+ min: 0 28;
+ fixed: 0 1;
+ visible: 1;
+ rel2.relative: 1.0 1.0;
+ align: 0.0 0.0;
+ }
+ }
+ part { name: "media_info_text";
+ type: TEXT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; offset : 26 0;}
+ min: 0 62;
+ fixed: 0 1;
+ align: 0 0;
+ rel1.to_y: "top_pad";
+ rel1.relative: 0.0 1.0;
+ rel2.to_y: "bottom_pad";
+ rel2.relative: 1.0 0.0;
+ color: 59 115 182 255;
+ text {
+ font: RICH_INFO_FONT_STYLE_BOLD;
+ size: 52;
+ text: "Credits";
+ min: 0 1;
+ align: 0.0 0.5;
+ }
+
+ }
+ }
+ }
+}
+
+group { name: "meta_title";
+ //data.item: "contents" "elm.swallow.icon1";
+ parts {
+ part { name: "bg";
+ type: RECT;
+ description { state: "default" 0.0;
+ color: 248 246 239 255;
+ }
+ }
+
+ part {
+ name: "top_pad";
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ color: 248 246 239 255;
+ min: 0 20;
+ fixed: 0 1;
+ visible: 1;
+ rel2.relative: 1.0 0.0;
+ align: 0.0 0.0;
+ }
+ }
+ part {
+ name: "bottom_pad";
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ color: 248 246 239 255;
+ min: 0 28;
+ fixed: 0 1;
+ visible: 1;
+ rel2.relative: 1.0 1.0;
+ align: 0.0 0.0;
+ }
+ }
+ part { name: "media_info_text";
+ type: TEXT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; offset : 26 0;}
+ min: 0 62;
+ fixed: 0 1;
+ align: 0 0;
+ rel1.to_y: "top_pad";
+ rel1.relative: 0.0 1.0;
+ rel2.to_y: "bottom_pad";
+ rel2.relative: 1.0 0.0;
+ color: 59 115 182 255;
+ text {
+ font: RICH_INFO_FONT_STYLE_BOLD;
+ size: 52;
+ text: "Media info";
+ min: 0 1;
+ align: 0.0 0.5;
+ }
+
+ }
+ }
+ }
+}
+
+group { name: "booklet_title";
+ //data.item: "contents" "elm.swallow.icon1";
+ parts {
+ part { name: "bg";
+ type: RECT;
+ description { state: "default" 0.0;
+ color: 248 246 239 255;
+ }
+ }
+
+ part {
+ name: "top_pad";
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ color: 248 246 239 255;
+ min: 0 20;
+ fixed: 0 1;
+ visible: 1;
+ rel2.relative: 1.0 0.0;
+ align: 0.0 0.0;
+ }
+ }
+ part {
+ name: "bottom_pad";
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ color: 248 246 239 255;
+ min: 0 28;
+ fixed: 0 1;
+ visible: 1;
+ rel2.relative: 1.0 1.0;
+ align: 0.0 0.0;
+ }
+ }
+ part { name: "media_info_text";
+ type: TEXT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; offset : 26 0;}
+ min: 0 62;
+ fixed: 0 1;
+ align: 0 0;
+ rel1.to_y: "top_pad";
+ rel1.relative: 0.0 1.0;
+ rel2.to_y: "bottom_pad";
+ rel2.relative: 1.0 0.0;
+ color: 59 115 182 255;
+ text {
+ font: RICH_INFO_FONT_STYLE_BOLD;
+ size: 52;
+ text: "Related video";
+ min: 0 1;
+ align: 0.0 0.5;
+ }
+
+ }
+ }
+ part { name: "event_box";
+ type : SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0 0;
+ to: "media_info_text";
+ }
+ rel2 {
+ relative: 1 1;
+ to: "media_info_text";
+ }
+ }
+ }
+ }
+}
+
+/*booklet main layout*/
+group{
+ name: "booklet_main_layout";
+ parts {
+ part { name: "bg";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 720 0;
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "box";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 0 0;
+ rel1 { relative: 0.0 0.0; to: "bg";}
+ rel2 { relative: 1.0 1.0; to: "bg";}
+ align: 0.0 0.0;
+ }
+ }
+ }
+}
+/* end of booklet main layout */
+
+/*booklet content layout*/
+group { name: "biography_layout";
+ parts {
+ part { name: "bg";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ color: 248 246 239 255;
+ }
+ }
+ part { name: "image";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 360;
+ fixed: 0 1;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 0.0; }
+ align: 0.5 0.0;
+ }
+ }
+ part { name: "padding_center";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 1.0; to_y: "image"; }
+ rel2 { relative: 1.0 1.0; to_y: "image"; }
+ min: 0 45;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+ part { name: "introduce";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 1.0; to_y: "padding_center"; }
+ }
+ }
+ }
+ }
+
+/* end of booklet content layout */
+
+/*similar artist layout*/
+group { name: "artist_layout";
+ parts {
+ part { name: "bg";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ color: 248 246 239 255;
+ }
+ }
+ part { name: "image";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 312;
+ fixed: 0 1;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 0.0; }
+ align: 0.5 0.0;
+ }
+ }
+ part { name: "name";
+ type: TEXT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.to_y: "image";
+ rel1.relative: 0.0 1.0;
+ color: MP_ALBUM_INDEX_ARTIST_TEXT_COLOR;
+ text {
+ font: RICH_INFO_FONT_STYLE_BOLD;
+ size: MP_ALBUM_INDEX_ARTIST_TEXT_SIZE;
+ min: 0 1;
+ align: 0.0 0.5;
+ }
+ }
+ }
+ }
+ }
+
+group { name: "album_layout";
+ parts {
+ part { name: "bg";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ color: 248 246 239 255;
+ }
+ }
+ part { name: "image.1";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 0;
+ fixed: 0 0;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 0.5 0.5; }
+ align: 0.5 0.0;
+ }
+ }
+ part { name: "image.2";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 0;
+ fixed: 0 0;
+ rel1 { relative: 0.5 0.0; }
+ rel2 { relative: 1.0 0.5; }
+ align: 0.5 0.0;
+ }
+ }
+ part { name: "image.3";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 0;
+ fixed: 0 0;
+ rel1 { relative: 0.0 0.5; }
+ rel2 { relative: 0.5 1.0; }
+ align: 0.5 0.0;
+ }
+ }
+ part { name: "image.4";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 0;
+ fixed: 0 0;
+ rel1 { relative: 0.5 0.5; }
+ rel2 { relative: 1.0 1.0; }
+ align: 0.5 0.0;
+ }
+ }
+ }
+ }
+
+group { name: "rich_info_main_layout";
+ parts {
+ part { name: "bg";
+ type: RECT;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ min: 0 795;
+ fixed: 0 1;
+ color: DEFAULT_BG_COLOR;
+ }
+ }
+
+ part { name: "shortcut_area";
+ type: RECT;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.to: "bg";
+ rel2 { relative: 1.0 0.0; to: "bg"; }
+ min: 0 360;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ color: 255 0 0 0;
+ }
+ }
+ part { name: "box0";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.to: "shortcut_area";
+ rel2 { relative: 0.5 1.0; to: "shortcut_area"; }
+ }
+ }
+ part { name: "box1";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.5 0.0; to: "shortcut_area"; }
+ rel2.to: "shortcut_area";
+ }
+ }
+
+ part { name: "content";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 1.0; to: "shortcut_area"; }
+ rel2.to: "bg";
+ }
+ }
+
+ part { name: "page_index_top_padding";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.to: "content";
+ rel2 { relative: 1.0 0.0; to: "content"; }
+ min: 0 114;
+ fixed: 0 1;
+ }
+ }
+ }
+}
+
+group { name: "rich_info_main_layout_ld";
+ parts {
+ part { name: "bg";
+ type: RECT;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ color: DEFAULT_BG_COLOR;
+ }
+ }
+
+ part { name: "content";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.to: "bg";
+ rel2 { relative: 0.5625 1.0; to: "bg"; }
+ }
+ }
+
+ part { name: "right_bg";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 1.0 0.0; to: "content"; }
+ rel2 { relative: 1.0 1.0; to: "bg"; }
+ color: 0 0 0 255;
+ }
+ }
+
+ part { name: "right_area";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; to: "right_bg"; }
+ rel2 { relative: 1.0 1.0; to: "right_bg"; }
+ }
+ }
+
+ part { name: "shortcut_area";
+ type : SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ repeat_events: 1;
+ description {
+ state: "default" 0.0;
+ min: 560 330;
+ max: 560 330;
+ fixed: 1 1;
+ visible: 1;
+ rel1 {
+ relative: 0 184/720;
+ to: "right_area";
+ }
+ rel2 {
+ relative: 1 (184+330)/720;
+ to: "right_area";
+ }
+ }
+ }
+
+ part { name: "box0";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.to: "shortcut_area";
+ rel2 { relative: 0.5 1.0; to: "shortcut_area"; }
+ }
+ }
+ part { name: "box1";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.5 0.0; to: "shortcut_area"; }
+ rel2.to: "shortcut_area";
+ }
+ }
+ }
+}
+
+group { name: "rich_info_page_title";
+ images {
+ image: IMG_SEMANTIC_LOGO COMP;
+ }
+
+ parts {
+ part { name: "bg";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ min: 0 125;
+ }
+ description { state: "boolket_title" 0.0;
+ inherit: "default" 0.0;
+ min: 0 141;
+ }
+ }
+ part { name: "top_padding";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.to: "bg";
+ rel2 { relative: 1.0 0.0; to: "bg"; }
+ min: 0 54;
+ fixed: 0 1;
+ }
+ description { state: "boolket_title" 0.0;
+ inherit: "default" 0.0;
+ min: 0 54;
+ }
+ }
+ part { name: "left_padding";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.to: "bg";
+ rel2 { relative: 0.0 1.0; to: "bg"; }
+ min: 26 0;
+ fixed: 1 0;
+ }
+ }
+ part { name: "right_padding";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 1.0 0.0; to: "bg"; }
+ rel2 { relative: 1.0 1.0; to: "bg"; }
+ min: 26 0;
+ fixed: 1 0;
+ align: 1.0 0.0;
+ }
+ }
+ part { name: "bottom_padding";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 1.0; to: "bg"; }
+ rel2.to: "bg";
+ min: 0 11;
+ fixed: 0 1;
+ align: 0.0 1.0;
+ }
+ description { state: "boolket_title" 0.0;
+ inherit: "default" 0.0;
+ min: 0 29;
+ }
+ }
+ part { name: "elm.text";
+ type: TEXT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 1.0 1.0; to_x: "left_padding"; to_y: "top_padding"; }
+ rel2 { relative: 0.0 0.0; to_x: "right_padding"; to_y: "bottom_padding"; }
+ text { font: RICH_INFO_FONT_STYLE_BOLD;
+ size: 52;
+ align: 0.0 0.0;
+ }
+ color: 59 115 182 255;
+ }
+ }
+ part { name: "log_padding_rect";
+ type: SPACER;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 1.0 1.0; to: "elm.text"; }
+ rel2 { relative: 1.0 1.0; to: "elm.text"; }
+ min: 26 11;
+ fixed: 1 1;
+ align: 1.0 1.0;
+ }
+ }
+ part { name: "semantic_logo";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; to: "log_padding_rect"; }
+ rel2 { relative: 0.0 0.0; to: "log_padding_rect"; }
+ image.normal: IMG_SEMANTIC_LOGO;
+ min: 70 26;
+ fixed: 1 1;
+ align: 1.0 1.0;
+ visible: 0;
+ }
+ description { state: "boolket_title" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "elm.icon.index";
+ type: SWALLOW;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 1.0 1.0; to_x: "left_padding"; }
+ rel2 { relative: 0.0 1.0; to_x: "right_padding"; }
+ color: 255 0 0 100;
+ min: 0 11;
+ fixed: 1 1;
+ align: 0.0 1.0;
+ }
+ }
+ }
+
+ programs {
+ program { signal: "change_default_style";
+ source: "*";
+ action: STATE_SET "default" 0.0;
+ target: "bg";
+ target: "top_padding";
+ target: "bottom_padding";
+ target: "semantic_logo";
+ }
+ program { signal: "change_booklet_title_style";
+ source: "*";
+ action: STATE_SET "boolket_title" 0.0;
+ target: "bg";
+ target: "top_padding";
+ target: "bottom_padding";
+ target: "semantic_logo";
+ }
+ }
+}
+
+group { name: "rich_info_booklet_layout";
+ parts {
+ part { name: "bg";
+ type: RECT;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ color: DEFAULT_BG_COLOR;
+ }
+ }
+ part { name: "title";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel2 { relative: 1.0 0.0; }
+ min: 0 123;
+ align: 0.0 0.0;
+ }
+ }
+ part { name: "booklet_info";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 1.0; to: "title"; }
+ rel2 { relative: 1.0 1.0; to: "title"; }
+ min: 0 315;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ }
+ description { state: "hide" 0.0;
+ inherit: "default" 0.0;
+ min: 0 0;
+ visible: 0;
+ }
+ }
+ part { name: "list_content";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 1.0; to: "booklet_info"; }
+ align: 0.0 0.0;
+ }
+ }
+ }
+ programs {
+ program { signal: "show_booklet_info";
+ source: "*";
+ action: STATE_SET "default" 0.0;
+ target: "booklet_info";
+ }
+ program { signal: "hide_booklet_info";
+ source: "*";
+ action: STATE_SET "hide" 0.0;
+ target: "booklet_info";
+ }
+ }
+}
+
+group { name: "rich_info_label_layout";
+ parts {
+ part { name: "bg";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ color: 248 246 239 255;
+ }
+ }
+ part { name: "padding_top";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel2 { relative: 1.0 0.0; }
+ min: 0 0;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+ part { name: "padding_left";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel2 { relative: 0.0 1.0; }
+ min: 20 0;
+ fixed: 1 0;
+ align: 0.0 0.0;
+ }
+ }
+ part { name: "padding_right";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 1.0 0.0; }
+ min: 20 0;
+ fixed: 1 0;
+ align: 1.0 0.0;
+ }
+ }
+ part { name: "padding_bottom";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 1.0; }
+ min: 0 20;
+ fixed: 0 1;
+ align: 0.0 1.0;
+ }
+ }
+ part { name: "elm.label";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 1 1; to_x: "padding_left"; to_y: "padding_top"; }
+ rel2 { relative: 0 0; to_x: "padding_right"; to_y: "padding_bottom"; }
+ }
+ }
+ }
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#define SET_AS_PROGRESS_AREA_H 100
+
+group { name: "movable_text";
+
+ images {
+ image: IMG_PLAYER_PROGRESSBAR_BG COMP;
+ image: IMG_PLAYER_PROGRESSBAR COMP;
+ image: IMG_PLAYER_PROGRESSBAR_HANDLE COMP;
+ image: IMG_PLAYER_PROGRESSBAR_HANDLE_PRESS COMP;
+ }
+
+ parts {
+ part { name: "bg";
+ type: RECT;
+ mouse_events: 0;
+ scale: 1;
+ description {
+ color: 0 0 0 0;
+ }
+ }
+
+ part { name: "progressbar_playing_confine_rect";
+ type: RECT;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ rel1 { relative: 0.0 0.5; to: "bg"; offset: 2 0;}
+ rel2 { relative: 1.0 0.5; to: "bg"; }
+ min: 0 40;
+ fixed: 0 1;
+ align: 0.0 0.5;
+ }
+ }
+
+ part { name: "progressbar_playing";
+ type: SWALLOW;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ align: 0.0 0.5;
+ min: 40 40;
+ fixed: 1 1;
+ }
+ dragable {
+ confine: "progressbar_playing_confine_rect";
+ x: 1 1 1;
+ }
+ }
+ }
+}
+
+styles {
+ style { name: "text_unread_wrap";
+ base: "font=Tizen:style=Regular font_size=32 color=#000000FF wrap=mixed";
+ tag: "br" "\n";
+ tag: "ps" "ps";
+ tag: "tab" "\t";
+ }
+}
+
+group{
+ name: "music/set_as/prelisten";
+ parts {
+ part { name: "bg";
+ type : RECT;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ color: 0 0 0 0;
+ }
+ }
+ PV_PART_RECT("guide_text_area", "bg", PV_PROGRESSBAR_SX, 5/SET_AS_PROGRESS_AREA_H, PV_PROGRESSBAR_EX, 30/SET_AS_PROGRESS_AREA_H)
+ part {
+ name: "recommended_text";
+ type: TEXTBLOCK;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ min: 0 150;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ rel1 { relative: 0.0 0.0; to: "guide_text_area"; }
+ rel2 { relative: 1.0 1.0; to: "guide_text_area"; }
+ text { style: "text_unread_wrap"; }
+ }
+ }
+
+ part { name: "padding_center_1";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 1.0; to_y: "recommended_text"; }
+ rel2 { relative: 1.0 1.0; to_y: "recommended_text"; }
+ min: 0 8;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+
+ part { name: "recommended_text_area";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 1.0; to_x: "guide_text_area"; to_y: "padding_center_1"; }
+ rel2 { relative: 1.0 1.0; to_x: "guide_text_area"; to_y: "padding_center_1"; }
+ min: 0 PV_PROGRESS_TEXT_H;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+
+ part { name: "recommended_text_play";
+ type: SWALLOW;
+ scale: 1;
+ //effect: FAR_SHADOW BOTTOM;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ align: 0.0 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ to: "recommended_text_area";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to: "recommended_text_area";
+ }
+ }
+ }
+
+ part { name: "padding_center_0";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 1.0; to_y: "recommended_text_play"; }
+ rel2 { relative: 1.0 1.0; to_y: "recommended_text_play"; }
+ min: 0 0;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+
+ //PV_PART_RECT("progress_bar_area", "bg", PV_PROGRESSBAR_SX, 33/SET_AS_PROGRESS_AREA_H, PV_PROGRESSBAR_EX, 60/SET_AS_PROGRESS_AREA_H)
+ //PV_PART_SWALLOW("progress_bar", "progress_bar_area", 0, 0, 1, 1)
+ part { name: "progress_bar_area";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 1.0; to_x: "recommended_text_area"; to_y: "padding_center_0"; }
+ rel2 { relative: 1.0 1.0; to_x: "recommended_text_area"; to_y: "padding_center_0"; }
+ min: 0 15;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+
+ part {
+ name: "progress_bar";
+ mouse_events: 1;
+ type: SWALLOW;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0.5 0.5;
+ visible: 1;
+ fixed: 1 1;
+ rel1 {
+ relative: 0 0;
+ to: "progress_bar_area";
+ }
+ rel2 {
+ relative: 1 1;
+ to: "progress_bar_area";
+ }
+ color: 248 246 239 255;
+ }
+ description {
+ state: "hide" 0.0;
+ visible: 0;
+ }
+ }
+
+ part { name: "padding_center";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 1.0; to_y: "progress_bar"; }
+ rel2 { relative: 1.0 1.0; to_y: "progress_bar"; }
+ min: 0 8;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+
+ part { name: "text_area";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 1.0; to_x: "progress_bar_area"; to_y: "padding_center"; }
+ rel2 { relative: 1.0 1.0; to_x: "progress_bar_area"; to_y: "padding_center"; }
+ min: 0 PV_PROGRESS_TEXT_H;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+
+ part { name: "progress_text_playing";
+ type: TEXT;
+ scale: 1;
+ effect: FAR_SHADOW BOTTOM;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ align: 0.0 0.5;
+ rel1 {
+ relative: 0.0 0.0;
+ to: "text_area";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ to: "text_area";
+ }
+ text {
+ text: "00:00";
+ font: PV_PROGRESS_TEXT_FONT;
+ size: PV_PROGRESS_TEXT_SIZE;
+ align: 0.0 0.5;
+ min: 1 1;
+ elipsis: 1.0;
+ }
+ color: 0 159 255 255;
+ color2: 0 0 0 128;
+ }
+ }
+
+ part {
+ name: "progress_text_total";
+ type: TEXT;
+ scale: 1;
+ effect: FAR_SHADOW BOTTOM;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ align: 1.0 0.5;
+ rel1 {
+ relative: 1.0 0.0;
+ to: "text_area";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to: "text_area";
+ }
+ text {
+ text: "00:00";
+ font: PV_PROGRESS_TEXT_FONT;
+ size: PV_PROGRESS_TEXT_SIZE;
+ align: 1.0 0.5;
+ min: 1 1;
+ elipsis: 1.0;
+ }
+ color: 0 159 255 255;
+ color2: 0 0 0 128;
+ }
+ }
+ }
+}
+
+group{
+ name: "music/set_as/prelisten_ld";
+ parts {
+ part { name: "bg";
+ type : RECT;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ color: 0 0 0 0;
+ }
+ }
+ PV_PART_RECT("guide_text_area", "bg", 80/1280, 5/SET_AS_PROGRESS_AREA_H, 1200/1280, 30/SET_AS_PROGRESS_AREA_H)
+ part {
+ name: "recommended_text";
+ type: TEXTBLOCK;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ min: 0 100;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ rel1 { relative: 0.0 0.0; to: "guide_text_area"; }
+ rel2 { relative: 1.0 1.0; to: "guide_text_area"; }
+ text { style: "text_unread_wrap"; }
+ }
+ }
+
+ part { name: "padding_center_1";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 1.0; to_y: "recommended_text"; }
+ rel2 { relative: 1.0 1.0; to_y: "recommended_text"; }
+ min: 0 8;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ }
+ description { state: "landscape";
+ inherit: "default" 0.0;
+ min: 0 7;
+ }
+ }
+
+ part { name: "recommended_text_area";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 1.0; to_x: "guide_text_area"; to_y: "padding_center_1"; }
+ rel2 { relative: 1.0 1.0; to_x: "guide_text_area"; to_y: "padding_center_1"; }
+ min: 0 PV_PROGRESS_TEXT_H;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ }
+ description { state: "landscape";
+ inherit: "default" 0.0;
+ min: 0 26;
+ }
+ }
+
+ part { name: "recommended_text_play";
+ type: SWALLOW;
+ scale: 1;
+ //effect: FAR_SHADOW BOTTOM;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ align: 0.0 0.5;
+ rel1 {
+ relative: 0.0 0.0;
+ to: "recommended_text_area";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to: "recommended_text_area";
+ }
+ }
+ }
+
+ part { name: "padding_center_0";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 1.0; to_y: "recommended_text_play"; }
+ rel2 { relative: 1.0 1.0; to_y: "recommended_text_play"; }
+ min: 0 8;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+
+ //PV_PART_RECT("progress_bar_area", "bg", PV_PROGRESSBAR_SX, 33/SET_AS_PROGRESS_AREA_H, PV_PROGRESSBAR_EX, 60/SET_AS_PROGRESS_AREA_H)
+ //PV_PART_SWALLOW("progress_bar", "progress_bar_area", 0, 0, 1, 1)
+ part { name: "progress_bar_area";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 1.0; to_x: "recommended_text_area"; to_y: "padding_center_0"; }
+ rel2 { relative: 1.0 1.0; to_x: "recommended_text_area"; to_y: "padding_center_0"; }
+ min: 0 15;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+
+ part {
+ name: "progress_bar";
+ mouse_events: 1;
+ type: SWALLOW;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0.5 0.5;
+ visible: 1;
+ fixed: 1 1;
+ rel1 {
+ relative: 0 0;
+ to: "progress_bar_area";
+ }
+ rel2 {
+ relative: 1 1;
+ to: "progress_bar_area";
+ }
+ color: 248 246 239 255;
+ }
+ description {
+ state: "hide" 0.0;
+ visible: 0;
+ }
+ }
+
+ part { name: "padding_center";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 1.0; to_y: "progress_bar"; }
+ rel2 { relative: 1.0 1.0; to_y: "progress_bar"; }
+ min: 0 8;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+
+ part { name: "text_area";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 1.0; to_x: "progress_bar_area"; to_y: "padding_center"; }
+ rel2 { relative: 1.0 1.0; to_x: "progress_bar_area"; to_y: "padding_center"; }
+ min: 0 PV_PROGRESS_TEXT_H;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+
+ part { name: "progress_text_playing";
+ type: TEXT;
+ scale: 1;
+ effect: FAR_SHADOW BOTTOM;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ align: 0.0 0.5;
+ rel1 {
+ relative: 0.0 0.0;
+ to: "text_area";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ to: "text_area";
+ }
+ text {
+ text: "00:00";
+ font: PV_PROGRESS_TEXT_FONT;
+ size: PV_PROGRESS_TEXT_SIZE;
+ align: 0.0 0.5;
+ min: 1 1;
+ elipsis: 1.0;
+ }
+ color: 0 159 255 255;
+ color2: 0 0 0 128;
+ }
+ }
+
+ part {
+ name: "progress_text_total";
+ type: TEXT;
+ scale: 1;
+ effect: FAR_SHADOW BOTTOM;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ align: 1.0 0.5;
+ rel1 {
+ relative: 1.0 0.0;
+ to: "text_area";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to: "text_area";
+ }
+ text {
+ text: "00:00";
+ font: PV_PROGRESS_TEXT_FONT;
+ size: PV_PROGRESS_TEXT_SIZE;
+ align: 1.0 0.5;
+ min: 1 1;
+ elipsis: 1.0;
+ }
+ color: 0 159 255 255;
+ color2: 0 0 0 128;
+ }
+ }
+ }
+}
+
+group{
+ name: "music/set_as/prelisten_text";
+ parts {
+ part { name: "bg";
+ type : RECT;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ color: 0 0 0 0;
+ }
+ }
+ PV_PART_RECT("guide_text_area", "bg", PV_PROGRESSBAR_SX, 5/SET_AS_PROGRESS_AREA_H, PV_PROGRESSBAR_EX, 30/SET_AS_PROGRESS_AREA_H)
+ part {
+ name: "recommended_text";
+ type: TEXTBLOCK;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ min: 0 150;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ rel1 { relative: 0.0 0.0; to: "guide_text_area"; }
+ rel2 { relative: 1.0 1.0; to: "guide_text_area"; }
+ text { style: "text_unread_wrap"; }
+ }
+ }
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#define SLIDER_INDICATOR_TEXT_COLOR_INC "#3B73B6FF"
+#define SLIDER_INDICATOR_TEXT_PRESSED_COLOR_INC "#FAFAFAFF"
+#define SLIDER_INDICATOR_TEXT_DIM_COLOR_INC "#AABCD6FF"
+#define SLIDER_INDICATOR_TEXT_SHADOW_TEXTBLOCK_NORMAL_COLOR_INC "#000000FF"
+#define SLIDER_INDICATOR_TEXT_SHADOW_TEXTBLOCK_PRESSED_COLOR_INC "#000000FF"
+#define SLIDER_INDICATOR_TEXT_SHADOW_TEXTBLOCK_DIM_COLOR_INC "#212226FF"
+#define SLIDER_INDICATOR_IMAGE_BORDER_INC 32 32 32 32
+#define SLIDER_INDICATOR_IMAGE_PADDING_SIZE_INC 12 0
+#define SLIDER_UNITS_TEXT_SIZE_INC 30
+#define SLIDER_BASE_HEIGHT_INC 34
+#define SLIDER_BASE_MIN_WIDTH_INC 375
+#define SLIDER_SWALLOW_BAR_MIN_WIDTH_INC 58
+#define SLIDER_SWALLOW_BAR_HEIGHT_INC 74
+#define SLIDER_INDICATOR_MAX_WIDTH_INC 90
+#define SLIDER_INDICATOR_WIDTH_INC 72
+#define SLIDER_INDICATOR_HEIGHT_INC 72
+#define PROGRESS_BG_IMAGE_BORDER_INC 17 17 0 0
+#define PROGRESS_BAR_IMAGE_PADDING_SIZE_INC 6 0
+#define PROGRESS_BAR_IMAGE_PADDING_SIZE_INC 6 0
+#define PROGRESS_BAR_IMAGE_BORDER_INC 8 8 0 0
+/* slider text size */
+#define MP_SLIDER_INDICATOR_TEXT_SIZE_INC 32
+
+
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#define NOW_PLAYING_H 100
+#define GRID_BG_COLOR 0 0 135 255
+#define GRID_H 656
+#define GRID_HALF_H 328
+#define GRID_TITLE_H 38
+#define GRID_MAIN_W 720
+
+#define SQUARE_AXIS_TEXT_FONT "Tizen:style=Bold"
+#define SQUARE_AXIS_TEXT_SIZE 30
+#define SQUARE_AXIS_LD_TEXT_SIZE 25
+#define SQUARE_AXIS_TEXT_COLOR 133 136 139 255
+
+#define SQUARE_BG "square/T02_square_bg.png"
+#define SQUARE_GENGRID_BG "square/T02_square_cell_nor_bg.png"
+#define SQUARE_GENGRID_EF "square/T02_square_cell_nor_ef.png"
+#define SQUARE_CELL_FOCUSED "square/T02_square_cell_focus.png"
+#define SQUARE_CELL_PRESSED_BG "square/T02_square_cell_press_bg.png"
+#define SQUARE_CELL_PRESSED_EF "square/T02_square_cell_press_ef.png"
+
+#define SQUARE_HELP_ICON "square/T02_square_help.png"
+#define SQUARE_HELP_ICON_PRESS "square/T02_square_help_press.png"
+#define SQUARE_HELP_ICON_H "square/T02_square_help_h.png"
+#define SQUARE_HELP_ICON_PRESS_H "square/T02_square_help_press_h.png"
+
+#define SQUARE_BG_LD "square/T02_square_bg01_h.png"
+#define SQUARE_GENGRID_BG_LD "square/T02_square_bg01_h.png"
+#define SQUARE_CELL_FOCUSED_LD "square/T02_square_cell_focus_h.png"
+
+group {
+ name: "mp_square_view_split_right_layout";
+
+ images {
+ image: "00_winset_control_toolbar_bg.png" COMP;
+ }
+
+ parts {
+ part { name: "bg";
+ mouse_events: 0;
+ type: RECT;
+ description { state: "default" 0.0;
+ visible: 1;
+ rel1 { relative: 0.0 0.0;
+ offset : 0 0;}
+ rel2 { relative: 1.0 1.0;}
+ color: 37 37 37 255;
+ }
+ }
+
+ part {
+ name : "list_content";
+ type: SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ description {
+ visible:1;
+ fixed: 1 1;
+ state: "default" 0.0;
+ rel1 { relative: 0.0 0.0;to: "bg";}
+ rel2 { relative: 1.0 0.82;to: "bg";}
+ }
+ }
+
+ part {
+ name : "options_bg";
+ type: IMAGE;
+ mouse_events: 1;
+ scale: 1;
+ description {
+ visible:0;
+ fixed: 1 1;
+ state: "default" 0.0;
+ image { normal: "00_winset_control_toolbar_bg.png";}
+ rel1 { relative: 0.0 0.82; to: "bg";}
+ rel2 { relative: 1.0 1.0; to: "bg";}
+ }
+ }
+ part {
+ name : "options";
+ type: SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ description {
+ visible:1;
+ fixed: 1 1;
+ state: "default" 0.0;
+ rel1 { relative: 0.0 0.0;to: "options_bg";}
+ rel2 { relative: 1.0 1.0;to: "options_bg";}
+ }
+ }
+ }
+}
+
+group {
+ name: "mp_square_view";
+
+ images {
+ image: SQUARE_GENGRID_BG COMP;
+ image: SQUARE_HELP_ICON COMP;
+ image: SQUARE_HELP_ICON_PRESS COMP;
+ }
+
+ parts {
+ part {
+ name: "square_bg";
+ mouse_events: 0;
+ type: IMAGE;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ image { normal: SQUARE_GENGRID_BG;}
+ min: 720 722;
+ max: 720 722;
+ fixed: 1 1;
+ }
+ }
+
+ part {
+ name: "gengrid";
+ mouse_events: 1;
+ type: SWALLOW;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ min: 616 616;
+ max: 616 616;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ rel1 { relative: 0.5 0.5; to: "square_bg"; }
+ rel2 { relative: 0.5 0.5; to: "square_bg"; }
+ }
+ }
+
+ part {
+ name: "help";
+ mouse_events: 1;
+ type: IMAGE;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ image { normal: SQUARE_HELP_ICON;}
+ color: 59 59 59 255;
+ rel1 {
+ relative: 1.0 0.0;
+ to: "gengrid";
+ offset: -46 -50;
+ }
+ rel2 {
+ relative: 1.0 0.0;
+ to: "gengrid";
+ offset: 0 -4;
+ }
+ }
+ description {
+ state: "pressed" 0.0;
+ inherit: "default";
+ image { normal: SQUARE_HELP_ICON_PRESS;}
+ color: 21 108 148 255;
+ }
+
+ }
+
+ part {
+ name: "title_top";
+ mouse_events: 1;
+ type: TEXT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ min: 616 42;
+ fixed: 1 1;
+ align: 0 1;
+ rel1 { relative: 0.0 0.0; to: gengrid;}
+ rel2 { relative: 1.0 0.0; to: gengrid;}
+ color: 59 59 59 255;
+ text {
+ size: 30;
+ min: 1 1;
+ align: 0.5 0.5;
+ text: "Exciting";
+ }
+ }
+ }
+
+ part {
+ name: "title_bottom";
+ mouse_events: 1;
+ type: TEXT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ min: 616 42;
+ fixed: 1 1;
+ align: 0 0;
+ rel1 { relative: 0.0 1.0; to: gengrid;}
+ rel2 { relative: 1.0 1.0; to: gengrid;}
+ color: 59 59 59 255;
+ text {
+ size: 30;
+ min: 1 1;
+ align: 0.5 0.5;
+ text: "Calm";
+ }
+ }
+ }
+
+ part { name: "title_left_area";
+ mouse_events: 1;
+ type:RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.to: "gengrid";
+ rel2 { relative: 0.0 1.0; to: "gengrid"; }
+ min: 42 616;
+ fixed: 1 1;
+ align: 1.0 0.0;
+ visible: 0;
+ }
+ }
+ part {
+ name: "title_left";
+ mouse_events: 1;
+ type: TEXT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 42 616;
+ fixed: 1 1;
+ rel1 { relative: 0.5 0.5; to: "title_left_area"; }
+ rel2 { relative: 0.5 0.5; to: "title_left_area"; }
+ map {
+ on: 1;
+ rotation { center: "title_left_area";
+ x: 0.0;
+ y: 0.0;
+ z: -90.0;
+ }
+ }
+ color: 59 59 59 255;
+ text {
+ size: 30;
+ min: 1 1;
+ align: 0.5 0.5;
+ text: "Old";
+ }
+ }
+ }
+
+ part { name: "title_right_area";
+ mouse_events: 1;
+ type:RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 1.0 0.0; to: "gengrid"; }
+ rel2.to: "gengrid";
+ min: 42 616;
+ fixed: 1 1;
+ align: 0.0 0.0;
+ visible: 0;
+ }
+ }
+ part {
+ name: "title_right";
+ mouse_events: 1;
+ type: TEXT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 42 616;
+ fixed: 1 1;
+ rel1 { relative: 0.5 0.5; to: "title_right_area"; }
+ rel2 { relative: 0.5 0.5; to: "title_right_area"; }
+ map {
+ on: 1;
+ rotation { center: "title_right_area";
+ x: 0.0;
+ y: 0.0;
+ z: 90.0;
+ }
+ }
+ color: 59 59 59 255;
+ text {
+ size: 30;
+ min: 1 1;
+ align: 0.5 0.5;
+ text: "New";
+ }
+ }
+ }
+ }
+
+ programs {
+ program {
+ signal: "mouse,down,1";
+ source: "help";
+ action: STATE_SET "pressed" 0.0;
+ target: "help";
+ }
+ program {
+ signal: "mouse,up,1";
+ source: "help";
+ action: STATE_SET "default" 0.0;
+ target: "help";
+ }
+ program {
+ signal: "mouse,clicked,1";
+ source: "help";
+ action: SIGNAL_EMIT "clicked" "elm";
+ after: "play_sound";
+ }
+ program { name: "play_sound";
+ action: PLAY_SAMPLE "button-pressed" 1.0;
+ }
+ }
+}
+
+group {
+ name: "mp_square_view_landscape";
+
+ images {
+ image: SQUARE_CELL_FOCUSED_LD COMP;
+ image: SQUARE_BG_LD COMP;
+ image: SQUARE_HELP_ICON_H COMP;
+ image: SQUARE_HELP_ICON_PRESS_H COMP;
+ }
+
+ parts {
+ part { name: "square_bg";
+ mouse_events: 0;
+ type: IMAGE;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ image { normal: SQUARE_BG_LD;}
+ min: 505 505;
+ max: 505 505;
+ align: 0.5 0.0;
+ fixed: 1 1;
+ rel1 { relative: 0.0 0.0;}
+ rel2 { relative: 1.0 1.0;}
+ }
+ }
+
+ part {
+ name: "square_cell_bg";
+ mouse_events: 0;
+ type: IMAGE;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ image { normal: SQUARE_CELL_FOCUSED_LD;}
+ rel1.to: "square_bg";
+ rel2.to: "square_bg";
+ }
+ }
+
+ part {
+ name: "gengrid";
+ mouse_events: 1;
+ type: SWALLOW;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ max: 437 437;
+ align: 0.5 0.5;
+ rel1 { relative: 0.0 0.0; to: "square_bg";}
+ rel2 { relative: 1.0 1.0; to: "square_bg";}
+ }
+ }
+
+ part {
+ name: "help";
+ mouse_events: 1;
+ type: IMAGE;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ image { normal: SQUARE_HELP_ICON_H;}
+ rel1 {
+ relative: 1.0 0.0;
+ to: "gengrid";
+ offset: -32 -33.5;
+ }
+ rel2 {
+ relative: 1.0 0.0;
+ to: "gengrid";
+ offset: 0 -1.5;
+ }
+ }
+ description {
+ state: "pressed" 0.0;
+ inherit: "default";
+ image { normal: SQUARE_HELP_ICON_PRESS_H;}
+ }
+
+ }
+
+ part {
+ name: "title_top";
+ mouse_events: 1;
+ type: TEXT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ min: 0 34;
+ fixed: 0 1;
+ align: 0 1;
+ rel1 { relative: 0.0 0.0; to: gengrid;}
+ rel2 { relative: 1.0 0.0; to: gengrid;}
+ color: 59 59 59 255;
+ text {
+ size: 30;
+ min: 0 1;
+ align: 0.5 0.5;
+ text: "Exciting";
+ }
+ }
+ }
+
+ part {
+ name: "title_bottom";
+ mouse_events: 1;
+ type: TEXT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ min: 0 34;
+ fixed: 0 1;
+ align: 0 0;
+ rel1 { relative: 0.0 1.0; to: gengrid;}
+ rel2 { relative: 1.0 1.0; to: gengrid;}
+ color: 59 59 59 255;
+ text {
+ size: 30;
+ min: 0 1;
+ align: 0.5 0.5;
+ text: "Calm";
+ }
+ }
+ }
+
+ part { name: "title_left_area";
+ mouse_events: 1;
+ type:RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.to: "gengrid";
+ rel2 { relative: 0.0 1.0; to: "gengrid"; }
+ min: 34 0;
+ fixed: 1 0;
+ align: 1.0 0.0;
+ visible: 0;
+ }
+ }
+
+
+ part {
+ name: "title_left";
+ mouse_events: 1;
+ type: TEXT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ fixed: 1 1;
+ rel1 { relative: 0.5 0.5; to: "title_left_area";}
+ rel2 { relative: 0.5 0.5; to: "title_left_area";}
+ map {
+ on: 1;
+ rotation { center: "title_left_area";
+ x: 0.0;
+ y: 0.0;
+ z: -90.0;
+ }
+ }
+ color: 59 59 59 255;
+ text {
+ size: 30;
+ min: 1 1;
+ align: 0.5 0.5;
+ text: "Old";
+ }
+ }
+ }
+
+ part { name: "title_right_area";
+ mouse_events: 1;
+ type:RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 1.0 0.0; to: "gengrid"; }
+ rel2.to: "gengrid";
+ min: 34 0;
+ fixed: 1 0;
+ align: 0.0 0.0;
+ visible: 0;
+ }
+ }
+
+ part {
+ name: "title_right";
+ mouse_events: 1;
+ type: TEXT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ fixed: 1 1;
+ rel1 { relative: 0.5 0.5; to: "title_right_area";}
+ rel2 { relative: 0.5 0.5; to: "title_right_area";}
+ map {
+ on: 1;
+ rotation { center: "title_right_area";
+ x: 0.0;
+ y: 0.0;
+ z: 90.0;
+ }
+ }
+ color: 59 59 59 255;
+ text {
+ size: 30;
+ min: 1 1;
+ align: 0.5 0.5;
+ text: "New";
+ }
+ }
+ }
+ }
+
+ programs {
+ program {
+ signal: "mouse,down,1";
+ source: "help";
+ action: STATE_SET "pressed" 0.0;
+ target: "help";
+ }
+ program {
+ signal: "mouse,up,1";
+ source: "help";
+ action: STATE_SET "default" 0.0;
+ target: "help";
+ }
+ program {
+ signal: "mouse,clicked,1";
+ source: "help";
+ action: SIGNAL_EMIT "clicked" "elm";
+ after: "play_sound";
+ }
+ program { name: "play_sound";
+ action: PLAY_SAMPLE "button-pressed" 1.0;
+ }
+ }
+}
+
+#define MP_SQ_POPUP_PROGRESSVIEW_CONTENT_MIN 568 110
+#define MP_SQ_POPUP_PROGRESSVIEW_TITLE_MIN 568 60
+#define MP_SQ_POPUP_PROGRESSVIEW_TEXT_LEFT_RIGHT_MAX 324 60
+
+group { name: "popup_update_library_progressview";
+
+ parts {
+ part { name: "pad_t";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ align: 0.5 0.0;
+ min: 0 0;
+ fixed: 0 1;
+ rel1 {
+ relative: 1.0 0.0;to_x: "pad_l";
+ }
+ rel2 {
+ relative: 0.0 0.0;to_x: "pad_r";
+ }
+ }
+ }
+ part { name: "pad_l";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 26 0;
+ max: 26 0;
+ fixed: 1 0;
+ rel1 {
+ relative: 0.0 0.0;
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ }
+ align: 0.0 0.0;
+ }
+ }
+ part { name: "pad_r";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 26 0;
+ max: 26 0;
+ fixed: 1 0;
+ rel1 {
+ relative: 1.0 0.0;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ }
+ align: 1.0 0.0;
+ }
+ }
+ part { name: "pad_b";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ align: 0.0 1.0;
+ min: 0 32;
+ fixed: 0 1;
+ rel1 {
+ relative: 1.0 1.0;
+ to_x: "pad_l";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ to_x: "pad_r";
+ }
+ }
+ }
+ part{ name:"elm.swallow.content";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: MP_SQ_POPUP_PROGRESSVIEW_CONTENT_MIN;
+ align: 0.5 0.0;
+ fixed: 1 0;
+ rel1 {
+ relative: 1.0 1.0;
+ to_x: "pad_l";
+ to_y: "pad_t";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to_x: "pad_r";
+ to_y: "pad_b";
+ }
+ }
+ }
+ part { name: "elm.text.left";
+ type: TEXT;
+ scale: 1;
+ description { state: "default" 0.0;
+ max: MP_SQ_POPUP_PROGRESSVIEW_TEXT_LEFT_RIGHT_MAX;
+ text {
+ font: "Tizen:style=Medium";
+ size: 36;
+ min: 0 0;
+ align: 0.0 1.0;
+ }
+ color: 128 128 128 255;
+ align: 0.0 1.0;
+ rel1 {
+ relative: 0.0 0.0;
+ to: "elm.swallow.content";
+ }
+ rel2 {
+ relative: 0.5 1.0;
+ to: "elm.swallow.content";
+ }
+ }
+ }
+ part { name: "elm.text.right";
+ type: TEXT;
+ scale: 1;
+ description { state: "default" 0.0;
+ max: MP_SQ_POPUP_PROGRESSVIEW_TEXT_LEFT_RIGHT_MAX;
+ text {
+ font: "Tizen:style=Medium";
+ size: 36;
+ min: 0 0;
+ align: 1.0 1.0;
+ }
+ color: 128 128 128 255;
+ align: 1.0 1.0;
+ rel1 {
+ relative: 0.5 0.0;
+ to: "elm.swallow.content";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to: "elm.swallow.content";
+ }
+ }
+ }
+ }
+}
+
+#define SQUARE_VIEW_BACK_BUTTON_W 104
+#define SQUARE_VIEW_BACK_BUTTON_H 74
+#define NAVIFRAME_TOOLBAR_BG_COLOR_INC 248 246 239 255
+
+group { name: "square_toolbar";
+ parts{
+ part { name: "base";
+ type: RECT;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ visible: 1;
+ rel1 { relative: 0.0 0.0;}
+ rel2 { relative: 1.0 1.0;}
+ color: NAVIFRAME_TOOLBAR_BG_COLOR_INC;
+ }
+ }
+
+ part { name: "toolbar_button1";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ rel1 { relative: 0.10 0.0; to: "base"; }
+ rel2 { relative: 0.40 1.0; to: "base"; }
+ }
+ }
+
+ part { name: "toolbar_button2";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ rel1 { relative: 0.50 0.0; to: "base"; }
+ rel2 { relative: 0.80 1.0; to: "base"; }
+ }
+ }
+
+ part { name: "prev_btn";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: SQUARE_VIEW_BACK_BUTTON_W SQUARE_VIEW_BACK_BUTTON_H;
+ fixed: 1 1;
+ align: 1.0 0.5;
+ rel1 { relative: 1.0 0.0; to: "base"; }
+ rel2 { relative: 1.0 1.0; to: "base"; }
+ }
+ }
+ }
+}
+
+group { name: "square_focused_cell";
+ images {
+ image: SQUARE_CELL_FOCUSED COMP;
+ image: SQUARE_CELL_PRESSED_BG COMP;
+ image: SQUARE_GENGRID_BG COMP;
+ image: SQUARE_GENGRID_EF COMP;
+ image: SQUARE_CELL_PRESSED_EF COMP;
+ }
+
+ parts {
+ part { name: "bg";
+ type: IMAGE;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ image.normal: SQUARE_GENGRID_BG;
+ color: 227 227 227 255;
+ }
+ description { state: "pressed" 0.0;
+ image.normal: SQUARE_CELL_PRESSED_BG;
+ }
+ description { state: "focus" 0.0;
+ image.normal: SQUARE_CELL_FOCUSED;
+ color: 24 126 173 255;
+ }
+ }
+
+ part { name: "cell_selected_bg";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ }
+ }
+
+ part { name: "effect";
+ type: IMAGE;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ image.normal: SQUARE_GENGRID_EF;
+ }
+ description { state: "pressed" 0.0;
+ image.normal: SQUARE_CELL_PRESSED_EF;
+ }
+ description { state: "focus" 0.0;
+ inherit: "default";
+ }
+ }
+
+ part { name: "top_left_padding";
+ type: SPACER;
+ scale: 0;
+ description { state: "default" 0.0;
+ rel2 { relative: 0 0; to: "bg"; }
+ min: 2 2;
+ fixed: 1 1;
+ }
+ }
+
+ part { name: "bottom_right_padding";
+ type: SPACER;
+ scale: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 1.0 1.0; to: "bg"; }
+ min: 2 2;
+ fixed: 1 1;
+ align: 1.0 1.0;
+ }
+ }
+
+ part { name: "elm.swallow.content";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 1.0 1.0; to: "top_left_padding"; }
+ rel2 { relative: 0.0 0.0; to: "bottom_right_padding"; }
+ }
+ }
+ }
+ programs {
+ program {
+ signal: "set_normal";
+ source: "*";
+ action: STATE_SET "default" 0.0;
+ target: "bg";
+ target: "effect";
+ }
+ program {
+ signal: "set_focused";
+ source: "*";
+ action: STATE_SET "focus" 0.0;
+ target: "bg";
+ target: "effect";
+ }
+ program {
+ signal: "set_pressed";
+ source: "*";
+ action: STATE_SET "pressed" 0.0;
+ target: "bg";
+ target: "effect";
+ }
+ }
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#define BUTTON_CONTROLBAR_ITEM_BUTTON_TEXT_SIZE_INC 28
+#define BUTTON_CONTROLBAR_ITEM_BUTTON_TEXTBLOCK_COLOR_INC "#f9f9f9"
+#define BUTTON_CONTROLBAR_ITEM_BUTTON_ICON_SIZE_INC 56 56
+#define BUTTON_NAVIFRAME_DEFAULT_TEXT_COLOR_INC 249 249 249 255
+#define BUTTON_NAVIFRAME_FOCUSED_TEXT_COLOR_INC 249 249 249 255
+
+#define ITEM_STATE_ENABLED 0
+#define ITEM_STATE_DISABLED 1
+
+group { name: "elm/toolbar/base/music/default";
+ images {
+ image: "00_winset_control_toolbar_bg.png" COMP;
+ }
+ parts {
+ part { name: "base";
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ image.normal: "00_winset_control_toolbar_bg.png";
+ }
+ }
+ part { name: "clipper";
+ type: RECT;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ to: "base";
+ offset: 2 2;
+ }
+ rel2 {
+ to: "base";
+ offset: -3 -3;
+ }
+ }
+ }
+ part { name: "elm.swallow.content";
+ clip_to: "clipper";
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ rel1.to: "clipper";
+ rel2.to: "clipper";
+ }
+ }
+ part { name: "event";
+ type: RECT;
+ mouse_events: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ }
+}
+
+group { name: "elm/toolbar/item/music/default";
+ images {
+ image: "00_winset_toolbar_press.png" COMP;
+ }
+ styles{
+ style { name: "toolbar_style";
+ base: "font=Tizen:style=Medium font_size="BUTTON_CONTROLBAR_ITEM_BUTTON_TEXT_SIZE_INC" align=center color="BUTTON_CONTROLBAR_ITEM_BUTTON_TEXTBLOCK_COLOR_INC" wrap=mixed ellipsis=1";
+ tag: "br" "\n";
+ tag: "ps" "ps";
+ tag: "hilight" "+ font=Tizen:style=Bold";
+ tag: "b" "+ font=Tizen:style=Bold";
+ tag: "tab" "\t";
+ }
+ }
+
+ data.item: "transition_animation_on" "1";
+ script {
+ public item_state = ITEM_STATE_ENABLED;
+ }
+ parts {
+ part { name: "bg";
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ visible: 0;
+ color: 255 255 255 0;
+ rel1 {
+ relative: 1.0 1.0;
+ to: "padding_left_top";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to: "padding_right_bottom";
+ }
+ image {
+ normal: "00_winset_toolbar_press.png";
+ border: 3 3 3 3;
+ }
+ image.middle: SOLID;
+ fill.smooth: 0;
+ }
+ description { state: "selected" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: 255 255 255 255;
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ color: 255 255 255 0;
+ }
+ }
+ part { name: "padding_left_top";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ align: 0.0 0.0;
+ rel2.relative: 0.0 0.0;
+ min: 10 8;
+ fixed: 1 1;
+ visible: 1;
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "padding_right_bottom";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ align: 1.0 1.0;
+ rel1.relative: 1.0 1.0;
+ min: 10 5;
+ fixed: 1 1;
+ visible: 1;
+ color: 0 0 0 0;
+ }
+ }
+ part {
+ name: "icon_rect";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ min: 0 0;
+ fixed: 0 1;
+ rel1 {
+ relative: 1.0 1.0;
+ to: "padding_left_top";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ to_x: "padding_right_bottom";
+ to_y: "padding_left_top";
+ }
+ align: 0.5 0.0;
+ color: 0 0 0 0;
+ }
+ description { state: "visible" 0.0;
+ min: BUTTON_CONTROLBAR_ITEM_BUTTON_ICON_SIZE_INC;
+ fixed: 0 1;
+ rel1 {
+ relative: 1.0 1.0;
+ to: "padding_left_top";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ to_x: "padding_right_bottom";
+ to_y: "padding_left_top";
+ }
+ align: 0.5 0.0;
+ color: 0 0 0 0;
+ }
+ description { state: "icononly" 0.0;
+ inherit: "default" 0.0;
+ }
+ }
+ part { name: "padding_after_icon";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0; //when only icon or no icon is there
+ align: 0.0 0.0;
+ rel1 {
+ relative: 0.0 1.0;
+ to: "icon_rect";
+ }
+ rel2.to: "icon_rect";
+ fixed: 0 1;
+ min: 0 0;
+ color: 0 0 0 0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ }
+ description { state: "icononly" 0.0;
+ inherit: "default" 0.0;
+ }
+ }
+ part { name: "padding_before_text";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0; //when only icon or no icon is there
+ align: 0.5 1.0;
+ rel1 {
+ relative: 1.0 0.0;
+ to_x: "padding_left_top";
+ to_y: "elm.text";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to_x: "padding_right_bottom";
+ to_y: "elm.text";
+ }
+ fixed: 0 1;
+ min: 0 0;
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "elm.swallow.icon";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "elm.icon.clipper";
+ description { state: "default" 0.0;
+ visible: 0;
+ align: 0.5 0.0;
+ rel1 {
+ relative: 1.0 1.0;
+ to: "padding_left_top";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ to_x: "padding_right_bottom";
+ to_y: "padding_left_top";
+ }
+ fixed: 0 1;
+ }
+ description { state: "visible" 0.0;
+ fixed: 0 1;
+ min: BUTTON_CONTROLBAR_ITEM_BUTTON_ICON_SIZE_INC;
+ max: BUTTON_CONTROLBAR_ITEM_BUTTON_ICON_SIZE_INC;
+ rel1 {
+ relative: 1.0 1.0;
+ to: "padding_left_top";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to_x: "padding_right_bottom";
+ to_y: "padding_before_text";
+ }
+ aspect: 1.0 1.0;
+ aspect_preference: HORIZONTAL;
+ }
+ description { state: "icononly" 0.0;
+ min: BUTTON_CONTROLBAR_ITEM_BUTTON_ICON_SIZE_INC;
+ max: BUTTON_CONTROLBAR_ITEM_BUTTON_ICON_SIZE_INC;
+ rel1 {
+ relative: 1.0 1.0;
+ to: "padding_left_top";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to: "padding_right_bottom";
+ }
+ aspect: 1.0 1.0;
+ aspect_preference: HORIZONTAL;
+ }
+ }
+ part { name: "elm.swallow.icon_new";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "elm.icon_new.clipper";
+ description { state: "default" 0.0;
+ visible: 0;
+ align: 0.5 0.0;
+ rel1 {
+ relative: 1.0 1.0;
+ to: "padding_left_top";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ to_x: "padding_right_bottom";
+ to_y: "padding_left_top";
+ }
+ fixed: 0 1;
+ }
+ description { state: "visible" 0.0;
+ fixed: 0 1;
+ min: BUTTON_CONTROLBAR_ITEM_BUTTON_ICON_SIZE_INC;
+ max: BUTTON_CONTROLBAR_ITEM_BUTTON_ICON_SIZE_INC;
+ rel1 {
+ relative: 1.0 1.0;
+ to: "padding_left_top";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to_x: "padding_right_bottom";
+ to_y: "padding_before_text";
+ }
+ aspect: 1.0 1.0;
+ aspect_preference: HORIZONTAL;
+ }
+ description { state: "icononly" 0.0;
+ min: BUTTON_CONTROLBAR_ITEM_BUTTON_ICON_SIZE_INC;
+ max: BUTTON_CONTROLBAR_ITEM_BUTTON_ICON_SIZE_INC;
+ rel1 {
+ relative: 1.0 1.0;
+ to: "padding_left_top";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to: "padding_right_bottom";
+ }
+ aspect: 1.0 1.0;
+ aspect_preference: HORIZONTAL;
+ }
+ }
+ part { name: "elm.text";
+ type: TEXTBLOCK;
+ mouse_events: 0;
+ scale: 1;
+ clip_to: "elm.text.clipper";
+ description { state: "default" 0.0;
+ visible: 1;
+ rel1 {
+ relative: 1.0 1.0;
+ to_x: "padding_left_top";
+ to_y: "padding_after_icon";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to: "padding_right_bottom";
+ }
+ color: BUTTON_NAVIFRAME_DEFAULT_TEXT_COLOR_INC;
+ fixed: 1 1;
+ text {
+ style: "toolbar_style";
+ min: 0 1;
+ max: 0 1;
+ }
+ }
+ description { state: "selected" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ description { state: "clicked" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: BUTTON_NAVIFRAME_FOCUSED_TEXT_COLOR_INC;
+ }
+ description { state: "focused" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: BUTTON_NAVIFRAME_FOCUSED_TEXT_COLOR_INC;
+ }
+ }
+ part { name: "elm.text_new";
+ type: TEXTBLOCK;
+ mouse_events: 0;
+ scale: 1;
+ clip_to: "elm.text_new.clipper";
+ description { state: "default" 0.0;
+ visible: 1;
+ rel1 {
+ relative: 1.0 1.0;
+ to_x: "padding_left_top";
+ to_y: "padding_after_icon";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to: "padding_right_bottom";
+ }
+ color: BUTTON_NAVIFRAME_DEFAULT_TEXT_COLOR_INC;
+ fixed: 1 1;
+ text {
+ style: "toolbar_style";
+ min: 0 1;
+ max: 0 1;
+ }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ description { state: "clicked" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: BUTTON_NAVIFRAME_FOCUSED_TEXT_COLOR_INC;
+ }
+ description { state: "focused" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: BUTTON_NAVIFRAME_FOCUSED_TEXT_COLOR_INC;
+ }
+ }
+ part { name: "elm.text.clipper";
+ type: RECT;
+ description { state: "default" 0.0;
+ color: 255 255 255 255;
+ }
+ description { state: "animation" 0.0;
+ color: 255 255 255 0;
+ }
+ description { state: "disabled" 0.0;
+ color: 255 255 255 153;
+ }
+ }
+ part { name: "elm.text_new.clipper";
+ type: RECT;
+ description { state: "default" 0.0;
+ color: 255 255 255 0;
+ }
+ description { state: "animation" 0.0;
+ color: 255 255 255 255;
+ }
+ }
+ part { name: "elm.icon.clipper";
+ type: RECT;
+ description { state: "default" 0.0;
+ color: 255 255 255 255;
+ }
+ description { state: "animation" 0.0;
+ color: 255 255 255 0;
+ }
+ description { state: "disabled" 0.0;
+ color: 255 255 255 153;
+ }
+ }
+ part { name: "elm.icon_new.clipper";
+ type: RECT;
+ description { state: "default" 0.0;
+ color: 255 255 255 0;
+ }
+ description { state: "animation" 0.0;
+ color: 255 255 255 255;
+ }
+ }
+ part { name: "event";
+ type: RECT;
+ mouse_events: 1;
+ ignore_flags: ON_HOLD;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "event2";
+ type: RECT;
+ mouse_events: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ }
+ programs {
+ program { name: "pressed";
+ signal: "mouse,down,1";
+ source: "event";
+ script {
+ if (get_int(item_state) != ITEM_STATE_DISABLED)
+ set_state(PART:"bg", "selected", 0.0);
+ }
+ transition: LINEAR 0.2;
+ }
+ program { name: "unpressed";
+ signal: "mouse,up,1";
+ source: "event2";
+ action: STATE_SET "default" 0.0;
+ target: "bg";
+ transition: LINEAR 0.1;
+ }
+ program { name: "go";
+ signal: "mouse,up,1";
+ source: "event";
+ action: SIGNAL_EMIT "elm,action,click" "elm";
+ }
+ program { name: "mouse,in";
+ signal: "mouse,in";
+ source: "event";
+ action: SIGNAL_EMIT "elm,mouse,in" "elm";
+ }
+ program { name: "mouse,out";
+ signal: "mouse,out";
+ source: "event";
+ action: SIGNAL_EMIT "elm,mouse,out" "elm";
+ }
+ program { name: "disable";
+ signal: "elm,state,disabled";
+ source: "elm";
+ action: STATE_SET "disabled" 0.0;
+ target: "bg";
+ after: "disable_text";
+ }
+ program { name: "disable_text";
+ script {
+ new st[31];
+ new Float:vl;
+ get_state(PART:"elm.text", st, 30, vl);
+ if (!strcmp(st, "visible"))
+ {
+ set_state(PART:"elm.text", "disabled_visible", 0.0);
+ set_state(PART:"elm.text_new", "disabled_visible", 0.0);
+ }
+ else
+ {
+ set_state(PART:"elm.text", "disabled", 0.0);
+ set_state(PART:"elm.text_new", "disabled", 0.0);
+ }
+ set_state(PART:"elm.text.clipper", "disabled", 0.0);
+ set_state(PART:"elm.icon.clipper", "disabled", 0.0);
+ set_int(item_state, ITEM_STATE_DISABLED);
+ }
+ }
+ program { name: "enable";
+ signal: "elm,state,enabled";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "bg";
+ after: "enable_text";
+ }
+ program { name: "enable_text";
+ script {
+ new st[31];
+ new Float:vl;
+ get_state(PART:"elm.text", st, 30, vl);
+ if (!strcmp(st, "disabled_visible"))
+ {
+ set_state(PART:"elm.text", "visible", 0.0);
+ set_state(PART:"elm.text_new", "visible", 0.0);
+ }
+ else
+ {
+ set_state(PART:"elm.text", "default", 0.0);
+ set_state(PART:"elm.text_new", "default", 0.0);
+ }
+ set_state(PART:"elm.text.clipper", "default", 0.0);
+ set_state(PART:"elm.icon.clipper", "default", 0.0);
+ set_int(item_state, ITEM_STATE_ENABLED);
+ }
+ }
+ program { name: "label_set,animation,forward";
+ signal: "elm,state,label_set,forward";
+ source: "elm";
+ after: "label_set,animation";
+ }
+ program { name: "label_set,animation,backward";
+ signal: "elm,state,label_set,backward";
+ source: "elm";
+ after: "label_set,animation";
+ }
+ program { name: "label_set,animation";
+ signal: "elm,state,label_set";
+ source: "elm";
+ action: STATE_SET "animation" 0.0;
+ target: "elm.text.clipper";
+ target: "elm.text_new.clipper";
+ transition: LINEAR 0.2;
+ after: "label_set,animation,done";
+ }
+ program { name: "label_set,animation,done";
+ action: SIGNAL_EMIT "elm,state,label_set,done" "elm";
+ }
+ program { name: "label,reset";
+ signal: "elm,state,label,reset";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "elm.text.clipper";
+ target: "elm.text_new.clipper";
+ }
+ program { name: "icon_set,animation,forward";
+ signal: "elm,state,icon_set,forward";
+ source: "elm";
+ after: "icon_set,animation";
+ }
+ program { name: "icon_set,animation,backward";
+ signal: "elm,state,icon_set,backward";
+ source: "elm";
+ after: "icon_set,animation";
+ }
+ program { name: "icon_set,animation";
+ signal: "elm,state,icon_set";
+ source: "elm";
+ action: STATE_SET "animation" 0.0;
+ target: "elm.icon.clipper";
+ target: "elm.icon_new.clipper";
+ transition: LINEAR 0.2;
+ after: "icon_set,animation,done";
+ }
+ program { name: "icon_set,animation,done";
+ action: SIGNAL_EMIT "elm,state,icon_set,done" "elm";
+ }
+ program { name: "icon,reset";
+ signal: "elm,state,icon,reset";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "elm.icon.clipper";
+ target: "elm.icon_new.clipper";
+ }
+ program { name: "text_show";
+ signal: "elm,state,text,visible";
+ source: "elm";
+ script {
+ new st[31];
+ new Float:vl;
+ get_state(PART:"elm.swallow.icon", st, 30, vl);
+ if (!strcmp(st, "icononly"))
+ {
+ set_state(PART:"elm.swallow.icon", "visible", 0.0);
+ set_state(PART:"icon_rect", "visible", 0.0);
+ set_state(PART:"padding_after_icon", "visible", 0.0);
+ }
+ set_state(PART:"elm.text", "visible", 0.0);
+ }
+ }
+ program { name: "text_hide";
+ signal: "elm,state,text,hidden";
+ source: "elm";
+ script {
+ new st[31];
+ new Float:vl;
+ get_state(PART:"elm.swallow.icon", st, 30, vl);
+ if (!strcmp(st, "visible"))
+ {
+ set_state(PART:"elm.swallow.icon", "icononly", 0.0);
+ set_state(PART:"icon_rect", "icononly", 0.0);
+ set_state(PART:"padding_after_icon", "icononly", 0.0);
+ }
+ set_state(PART:"elm.text", "default", 0.0);
+ }
+ }
+ program { name: "icon_show";
+ signal: "elm,state,icon,visible";
+ source: "elm";
+ script {
+ new st[31];
+ new Float:vl;
+ get_state(PART:"elm.text", st, 30, vl);
+ if (!strcmp(st, "visible"))
+ {
+ set_state(PART:"elm.swallow.icon", "visible", 0.0);
+ set_state(PART:"icon_rect", "visible", 0.0);
+ set_state(PART:"padding_after_icon", "visible", 0.0);
+ }
+ else
+ {
+ set_state(PART:"elm.swallow.icon", "icononly", 0.0);
+ set_state(PART:"icon_rect", "icononly", 0.0);
+ set_state(PART:"padding_after_icon", "icononly", 0.0);
+ }
+ }
+ }
+ }
+}
+
+group { name: "elm/toolbar/item/music/item_horizontal";
+ inherit: "elm/toolbar/item/music/default";
+ script {
+ public item_state = ITEM_STATE_ENABLED;
+ }
+ parts {
+ part { name: "icon_rect";
+ description { state: "default" 0.0;
+ fixed: 1 0;
+ align: 0.0 0.5;
+ }
+ description { state: "visible" 0.0;
+ fixed: 1 0;
+ rel2 {
+ relative: 1.0 0.0;
+ to_x: "padding_left_top";
+ to_y: "padding_right_bottom";
+ }
+ align: 0.0 0.5;
+ }
+ }
+ part { name: "padding_after_icon";
+ description { state: "default" 0.0; //when only icon or no icon is there
+ rel1.relative: 1.0 0.0;
+ fixed: 1 1;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ min: 6 0;
+ }
+ }
+ part { name: "padding_before_text";
+ description { state: "default" 0.0; //when only icon or no icon is there
+ align: 1.0 0.5;
+ rel1 {
+ relative: 0.0 1.0;
+ to_x: "elm.text";
+ to_y: "padding_left_top";
+ }
+ rel2 {
+ to_x: "elm.text";
+ to_y: "padding_right_bottom";
+ }
+ fixed: 1 0;
+ min: 6 0;
+ }
+ }
+ part { name: "elm.swallow.icon";
+ description { state: "default" 0.0;
+ align: 0.0 0.5;
+ rel2 {
+ relative: 1.0 0.0;
+ to_x: "padding_left_top";
+ to_y: "padding_right_bottom";
+ }
+ fixed: 1 0;
+ }
+ description { state: "visible" 0.0;
+ fixed: 1 0;
+ align: 1.0 0.5;
+ rel1 {
+ relative: 0.0 1.0;
+ to_x: "padding_before_text";
+ to_y: "padding_left_top";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to_x: "padding_before_text";
+ to_y: "padding_right_bottom";
+ }
+ aspect_preference: VERTICAL;
+ }
+ description { state: "icononly" 0.0;
+ aspect_preference: VERTICAL;
+ }
+ }
+ part { name: "elm.swallow.icon_new";
+ description { state: "default" 0.0;
+ align: 0.0 0.5;
+ rel2 {
+ relative: 1.0 0.0;
+ to_x: "padding_left_top";
+ to_y: "padding_right_bottom";
+ }
+ fixed: 1 0;
+ }
+ description { state: "visible" 0.0;
+ fixed: 1 0;
+ align: 1.0 0.5;
+ rel1 {
+ relative: 0.0 1.0;
+ to_x: "padding_before_text";
+ to_y: "padding_left_top";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to_x: "padding_before_text";
+ to_y: "padding_right_bottom";
+ }
+ aspect_preference: VERTICAL;
+ }
+ description { state: "icononly" 0.0;
+ aspect_preference: VERTICAL;
+ }
+ }
+ part { name: "elm.text";
+ type: TEXTBLOCK;
+ description { state: "default" 0.0;
+ rel1 {
+ relative: 1.0 1.0;
+ to_x: "padding_after_icon";
+ to_y: "padding_left_top";
+ }
+ text {
+ style: "toolbar_style";
+ min: 1 0;
+ max: 1 0;
+ }
+ }
+ description { state: "selected" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ description { state: "clicked" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: BUTTON_NAVIFRAME_FOCUSED_TEXT_COLOR_INC;
+ }
+ description { state: "focused" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: BUTTON_NAVIFRAME_FOCUSED_TEXT_COLOR_INC;
+ }
+ }
+ part { name: "elm.text_new";
+ type: TEXTBLOCK;
+ description { state: "default" 0.0;
+ rel1 {
+ relative: 1.0 1.0;
+ to_x: "padding_after_icon";
+ to_y: "padding_left_top";
+ }
+ text {
+ style: "toolbar_style";
+ min: 1 0;
+ max: 1 0;
+ }
+ }
+ description { state: "selected" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ description { state: "clicked" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: BUTTON_NAVIFRAME_FOCUSED_TEXT_COLOR_INC;
+ }
+ description { state: "focused" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: BUTTON_NAVIFRAME_FOCUSED_TEXT_COLOR_INC;
+ }
+ }
+ }
+}
+
+group { name: "elm/toolbar/separator/music/default";
+ images {
+ image: "separator_v.png" COMP;
+ }
+ parts {
+ part { name: "separator"; // separator group
+ description { state: "default" 0.0;
+ min: 2 2;
+ max: 2 9999;
+ rel1.offset: 4 4;
+ rel2.offset: -5 -5;
+ image {
+ normal: "separator_v.png";
+ }
+ fill {
+ smooth: 0;
+ }
+ }
+ }
+ }
+}
+
+group { name: "elm/toolbar/object/music/default";
+ parts {
+ part { name: "elm.swallow.object"; // object group
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ }
+ }
+ }
+}
+
+group { name: "elm/toolbar/base/music/tabbar";
+ images {
+ image: "T02_navigation_tabbar_bg.png" COMP;
+ }
+
+ parts {
+ part { name: "base";
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ image.normal: "T02_navigation_tabbar_bg.png";
+ }
+ }
+ part { name: "clipper";
+ type: RECT;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ to: "base";
+ offset: 2 2;
+ }
+ rel2 {
+ to: "base";
+ offset: -3 -3;
+ }
+ }
+ }
+ part { name: "elm.swallow.content";
+ clip_to: "clipper";
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ rel1.to: "clipper";
+ rel2.to: "clipper";
+ }
+ }
+ part { name: "event";
+ type: RECT;
+ mouse_events: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ }
+}
+
+group { name: "elm/toolbar/item/music/tabbar";
+ alias: "elm/toolbar/item/music/tabbar/item_horizontal";
+ images {
+ image: "T02_navigation_tabbar_focus.png" COMP;
+ }
+
+ data.item: "transition_animation_on" "1";
+ parts {
+ part { name: "bg";
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ visible: 0;
+ color: 255 255 255 0;
+ image {
+ normal: "T02_navigation_tabbar_focus.png";
+ }
+ image.middle: SOLID;
+ fill.smooth: 0;
+ }
+ description { state: "selected" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: 255 255 255 255;
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ color: 255 255 255 0;
+ }
+ }
+ part { name: "padding_left_top";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ align: 0.0 0.0;
+ rel2.relative: 0.0 0.0;
+ min: 10 8;
+ fixed: 1 1;
+ visible: 1;
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "padding_right_bottom";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ align: 1.0 1.0;
+ rel1.relative: 1.0 1.0;
+ min: 10 5;
+ fixed: 1 1;
+ visible: 1;
+ color: 0 0 0 0;
+ }
+ }
+ part {
+ name: "icon_rect";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ min: 0 0;
+ fixed: 0 1;
+ rel1 {
+ relative: 1.0 1.0;
+ to: "padding_left_top";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ to_x: "padding_right_bottom";
+ to_y: "padding_left_top";
+ }
+ align: 0.5 0.0;
+ color: 0 0 0 0;
+ }
+ description { state: "visible" 0.0;
+ min: BUTTON_CONTROLBAR_ITEM_BUTTON_ICON_SIZE_INC;
+ fixed: 0 1;
+ rel1 {
+ relative: 1.0 1.0;
+ to: "padding_left_top";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ to_x: "padding_right_bottom";
+ to_y: "padding_left_top";
+ }
+ align: 0.5 0.0;
+ color: 0 0 0 0;
+ }
+ description { state: "icononly" 0.0;
+ inherit: "default" 0.0;
+ }
+ }
+ part { name: "padding_after_icon";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0; //when only icon or no icon is there
+ align: 0.0 0.0;
+ rel1 {
+ relative: 0.0 1.0;
+ to: "icon_rect";
+ }
+ rel2.to: "icon_rect";
+ fixed: 0 1;
+ min: 0 0;
+ color: 0 0 0 0;
+ }
+ description { state: "visible" 0.0;
+ align: 0.0 0.0;
+ rel1 {
+ relative: 0.0 1.0;
+ to: "icon_rect";
+ }
+ rel2.to: "icon_rect";
+ fixed: 0 1;
+ min: 0 0;
+ color: 0 0 0 0;
+ }
+ description { state: "icononly" 0.0;
+ inherit: "default" 0.0;
+ }
+ }
+ part { name: "padding_before_text";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0; //when only icon or no icon is there
+ align: 0.5 1.0;
+ rel1 {
+ relative: 1.0 0.0;
+ to_x: "padding_left_top";
+ to_y: "elm.text";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to_x: "padding_right_bottom";
+ to_y: "elm.text";
+ }
+ fixed: 0 1;
+ min: 0 0;
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "elm.swallow.icon";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "elm.icon.clipper";
+ description { state: "default" 0.0;
+ visible: 0;
+ align: 0.5 0.0;
+ rel1 {
+ relative: 1.0 1.0;
+ to: "padding_left_top";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ to_x: "padding_right_bottom";
+ to_y: "padding_left_top";
+ }
+ fixed: 0 1;
+ }
+ description { state: "visible" 0.0;
+ fixed: 0 1;
+ min: BUTTON_CONTROLBAR_ITEM_BUTTON_ICON_SIZE_INC;
+ max: BUTTON_CONTROLBAR_ITEM_BUTTON_ICON_SIZE_INC;
+ rel1 {
+ relative: 1.0 1.0;
+ to: "padding_left_top";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to_x: "padding_right_bottom";
+ to_y: "padding_before_text";
+ }
+ aspect: 1.0 1.0;
+ aspect_preference: HORIZONTAL;
+ }
+ description { state: "icononly" 0.0;
+ min: BUTTON_CONTROLBAR_ITEM_BUTTON_ICON_SIZE_INC;
+ max: BUTTON_CONTROLBAR_ITEM_BUTTON_ICON_SIZE_INC;
+ rel1 {
+ relative: 1.0 1.0;
+ to: "padding_left_top";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to: "padding_right_bottom";
+ }
+ aspect: 1.0 1.0;
+ aspect_preference: HORIZONTAL;
+ }
+ }
+ part { name: "elm.swallow.icon_new";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "elm.icon_new.clipper";
+ description { state: "default" 0.0;
+ visible: 0;
+ align: 0.5 0.0;
+ rel1 {
+ relative: 1.0 1.0;
+ to: "padding_left_top";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ to_x: "padding_right_bottom";
+ to_y: "padding_left_top";
+ }
+ fixed: 0 1;
+ }
+ description { state: "visible" 0.0;
+ fixed: 0 1;
+ min: BUTTON_CONTROLBAR_ITEM_BUTTON_ICON_SIZE_INC;
+ max: BUTTON_CONTROLBAR_ITEM_BUTTON_ICON_SIZE_INC;
+ rel1 {
+ relative: 1.0 1.0;
+ to: "padding_left_top";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to_x: "padding_right_bottom";
+ to_y: "padding_before_text";
+ }
+ aspect: 1.0 1.0;
+ aspect_preference: HORIZONTAL;
+ }
+ description { state: "icononly" 0.0;
+ min: BUTTON_CONTROLBAR_ITEM_BUTTON_ICON_SIZE_INC;
+ max: BUTTON_CONTROLBAR_ITEM_BUTTON_ICON_SIZE_INC;
+ rel1 {
+ relative: 1.0 1.0;
+ to: "padding_left_top";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to: "padding_right_bottom";
+ }
+ aspect: 1.0 1.0;
+ aspect_preference: HORIZONTAL;
+ }
+ }
+ part { name: "elm.text";
+ type: TEXTBLOCK;
+ mouse_events: 0;
+ scale: 1;
+ clip_to: "elm.text.clipper";
+ description { state: "default" 0.0;
+ visible: 1;
+ rel1 {
+ relative: 1.0 1.0;
+ to_x: "padding_left_top";
+ to_y: "padding_after_icon";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to: "padding_right_bottom";
+ }
+ color: BUTTON_NAVIFRAME_DEFAULT_TEXT_COLOR_INC;
+ fixed: 1 1;
+ text {
+ style: "toolbar_style";
+ min: 0 1;
+ max: 0 1;
+ }
+ }
+ description { state: "selected" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ description { state: "clicked" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: BUTTON_NAVIFRAME_FOCUSED_TEXT_COLOR_INC;
+ }
+ description { state: "focused" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: BUTTON_NAVIFRAME_FOCUSED_TEXT_COLOR_INC;
+ }
+ }
+ part { name: "elm.text_new";
+ type: TEXTBLOCK;
+ mouse_events: 0;
+ scale: 1;
+ clip_to: "elm.text_new.clipper";
+ description { state: "default" 0.0;
+ visible: 1;
+ rel1 {
+ relative: 1.0 1.0;
+ to_x: "padding_left_top";
+ to_y: "padding_after_icon";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to: "padding_right_bottom";
+ }
+ color: BUTTON_NAVIFRAME_DEFAULT_TEXT_COLOR_INC;
+ fixed: 1 1;
+ text {
+ style: "toolbar_style";
+ min: 0 1;
+ max: 0 1;
+ }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ description { state: "clicked" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: BUTTON_NAVIFRAME_FOCUSED_TEXT_COLOR_INC;
+ }
+ description { state: "focused" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: BUTTON_NAVIFRAME_FOCUSED_TEXT_COLOR_INC;
+ }
+ }
+ part { name: "elm.text.clipper";
+ type: RECT;
+ description { state: "default" 0.0;
+ color: 255 255 255 255;
+ }
+ description { state: "animation" 0.0;
+ color: 255 255 255 0;
+ }
+ description { state: "disabled" 0.0;
+ color: 255 255 255 153;
+ }
+ }
+ part { name: "elm.text_new.clipper";
+ type: RECT;
+ description { state: "default" 0.0;
+ color: 255 255 255 0;
+ }
+ description { state: "animation" 0.0;
+ color: 255 255 255 255;
+ }
+ }
+ part { name: "elm.icon.clipper";
+ type: RECT;
+ description { state: "default" 0.0;
+ color: 255 255 255 255;
+ }
+ description { state: "animation" 0.0;
+ color: 255 255 255 0;
+ }
+ description { state: "disabled" 0.0;
+ color: 255 255 255 153;
+ }
+ }
+ part { name: "elm.icon_new.clipper";
+ type: RECT;
+ description { state: "default" 0.0;
+ color: 255 255 255 0;
+ }
+ description { state: "animation" 0.0;
+ color: 255 255 255 255;
+ }
+ }
+ part { name: "event";
+ type: RECT;
+ mouse_events: 1;
+ ignore_flags: ON_HOLD;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ }
+ programs {
+ program { name: "go_active";
+ signal: "elm,state,selected";
+ source: "elm";
+ action: STATE_SET "selected" 0.0;
+ target: "bg";
+ transition: LINEAR 0.2;
+ }
+ program { name: "go_passive";
+ signal: "elm,state,unselected";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "bg";
+ transition: LINEAR 0.1;
+ }/*
+ program { name: "pressed";
+ signal: "mouse,down,1";
+ source: "event";
+ action: STATE_SET "selected" 0.0;
+ target: "bg";
+ target: "elm.text";
+ target: "elm.text_new";
+ transition: LINEAR 0.2;
+ }
+ program { name: "unpressed";
+ signal: "mouse,up,1";
+ source: "event";
+ action: STATE_SET "default" 0.0;
+ target: "bg";
+ target: "elm.text";
+ target: "elm.text_new";
+ transition: LINEAR 0.1;
+ }*/
+ program { name: "go";
+ signal: "mouse,up,1";
+ source: "event";
+ action: SIGNAL_EMIT "elm,action,click" "elm";
+ }
+ program { name: "mouse,in";
+ signal: "mouse,in";
+ source: "event";
+ action: SIGNAL_EMIT "elm,mouse,in" "elm";
+ }
+ program { name: "mouse,out";
+ signal: "mouse,out";
+ source: "event";
+ action: SIGNAL_EMIT "elm,mouse,out" "elm";
+ }
+ program { name: "disable";
+ signal: "elm,state,disabled";
+ source: "elm";
+ action: STATE_SET "disabled" 0.0;
+ target: "bg";
+ after: "disable_text";
+ }
+ program { name: "disable_text";
+ script {
+ new st[31];
+ new Float:vl;
+ get_state(PART:"elm.text", st, 30, vl);
+ if (!strcmp(st, "visible"))
+ {
+ set_state(PART:"elm.text", "disabled_visible", 0.0);
+ set_state(PART:"elm.text_new", "disabled_visible", 0.0);
+ }
+ else
+ {
+ set_state(PART:"elm.text", "disabled", 0.0);
+ set_state(PART:"elm.text_new", "disabled", 0.0);
+ }
+ set_state(PART:"elm.text.clipper", "disabled", 0.0);
+ set_state(PART:"elm.icon.clipper", "disabled", 0.0);
+ }
+ }
+ program { name: "enable";
+ signal: "elm,state,enabled";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "bg";
+ after: "enable_text";
+ }
+ program { name: "enable_text";
+ script {
+ new st[31];
+ new Float:vl;
+ get_state(PART:"elm.text", st, 30, vl);
+ if (!strcmp(st, "disabled_visible"))
+ {
+ set_state(PART:"elm.text", "visible", 0.0);
+ set_state(PART:"elm.text_new", "visible", 0.0);
+ }
+ else
+ {
+ set_state(PART:"elm.text", "default", 0.0);
+ set_state(PART:"elm.text_new", "default", 0.0);
+ }
+ set_state(PART:"elm.text.clipper", "default", 0.0);
+ set_state(PART:"elm.icon.clipper", "default", 0.0);
+ }
+ }
+ program { name: "label_set,animation,forward";
+ signal: "elm,state,label_set,forward";
+ source: "elm";
+ after: "label_set,animation";
+ }
+ program { name: "label_set,animation,backward";
+ signal: "elm,state,label_set,backward";
+ source: "elm";
+ after: "label_set,animation";
+ }
+ program { name: "label_set,animation";
+ signal: "elm,state,label_set";
+ source: "elm";
+ action: STATE_SET "animation" 0.0;
+ target: "elm.text.clipper";
+ target: "elm.text_new.clipper";
+ transition: LINEAR 0.2;
+ after: "label_set,animation,done";
+ }
+ program { name: "label_set,animation,done";
+ action: SIGNAL_EMIT "elm,state,label_set,done" "elm";
+ }
+ program { name: "label,reset";
+ signal: "elm,state,label,reset";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "elm.text.clipper";
+ target: "elm.text_new.clipper";
+ }
+ program { name: "icon_set,animation,forward";
+ signal: "elm,state,icon_set,forward";
+ source: "elm";
+ after: "icon_set,animation";
+ }
+ program { name: "icon_set,animation,backward";
+ signal: "elm,state,icon_set,backward";
+ source: "elm";
+ after: "icon_set,animation";
+ }
+ program { name: "icon_set,animation";
+ signal: "elm,state,icon_set";
+ source: "elm";
+ action: STATE_SET "animation" 0.0;
+ target: "elm.icon.clipper";
+ target: "elm.icon_new.clipper";
+ transition: LINEAR 0.2;
+ after: "icon_set,animation,done";
+ }
+ program { name: "icon_set,animation,done";
+ action: SIGNAL_EMIT "elm,state,icon_set,done" "elm";
+ }
+ program { name: "icon,reset";
+ signal: "elm,state,icon,reset";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "elm.icon.clipper";
+ target: "elm.icon_new.clipper";
+ }
+ program { name: "text_show";
+ signal: "elm,state,text,visible";
+ source: "elm";
+ script {
+ new st[31];
+ new Float:vl;
+ get_state(PART:"elm.swallow.icon", st, 30, vl);
+ if (!strcmp(st, "icononly"))
+ {
+ set_state(PART:"elm.swallow.icon", "visible", 0.0);
+ set_state(PART:"icon_rect", "visible", 0.0);
+ set_state(PART:"padding_after_icon", "visible", 0.0);
+ }
+ set_state(PART:"elm.text", "visible", 0.0);
+ }
+ }
+ program { name: "text_hide";
+ signal: "elm,state,text,hidden";
+ source: "elm";
+ script {
+ new st[31];
+ new Float:vl;
+ get_state(PART:"elm.swallow.icon", st, 30, vl);
+ if (!strcmp(st, "visible"))
+ {
+ set_state(PART:"elm.swallow.icon", "icononly", 0.0);
+ set_state(PART:"icon_rect", "icononly", 0.0);
+ set_state(PART:"padding_after_icon", "icononly", 0.0);
+ }
+ set_state(PART:"elm.text", "default", 0.0);
+ }
+ }
+ program { name: "icon_show";
+ signal: "elm,state,icon,visible";
+ source: "elm";
+ script {
+ new st[31];
+ new Float:vl;
+ get_state(PART:"elm.text", st, 30, vl);
+ if (!strcmp(st, "visible"))
+ {
+ set_state(PART:"elm.swallow.icon", "visible", 0.0);
+ set_state(PART:"icon_rect", "visible", 0.0);
+ set_state(PART:"padding_after_icon", "visible", 0.0);
+ }
+ else
+ {
+ set_state(PART:"elm.swallow.icon", "icononly", 0.0);
+ set_state(PART:"icon_rect", "icononly", 0.0);
+ set_state(PART:"padding_after_icon", "icononly", 0.0);
+ }
+ }
+ }
+ }
+}
+
+group { name: "elm/toolbar/item/music/tabbar/item_horizontal";
+ inherit: "elm/toolbar/item/music/tabbar";
+ script {
+ public item_state = ITEM_STATE_ENABLED;
+ }
+ parts {
+ part { name: "icon_rect";
+ description { state: "default" 0.0;
+ fixed: 1 0;
+ align: 0.0 0.5;
+ }
+ description { state: "visible" 0.0;
+ fixed: 1 0;
+ rel2 {
+ relative: 1.0 0.0;
+ to_x: "padding_left_top";
+ to_y: "padding_right_bottom";
+ }
+ align: 0.0 0.5;
+ }
+ }
+ part { name: "padding_after_icon";
+ description { state: "default" 0.0; //when only icon or no icon is there
+ rel1.relative: 1.0 0.0;
+ fixed: 1 1;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ min: 6 0;
+ }
+ }
+ part { name: "padding_before_text";
+ description { state: "default" 0.0; //when only icon or no icon is there
+ align: 1.0 0.5;
+ rel1 {
+ relative: 0.0 1.0;
+ to_x: "elm.text";
+ to_y: "padding_left_top";
+ }
+ rel2 {
+ to_x: "elm.text";
+ to_y: "padding_right_bottom";
+ }
+ fixed: 1 0;
+ min: 6 0;
+ }
+ }
+ part { name: "elm.swallow.icon";
+ description { state: "default" 0.0;
+ align: 0.0 0.5;
+ rel2 {
+ relative: 1.0 0.0;
+ to_x: "padding_left_top";
+ to_y: "padding_right_bottom";
+ }
+ fixed: 1 0;
+ }
+ description { state: "visible" 0.0;
+ fixed: 1 0;
+ align: 1.0 0.5;
+ rel1 {
+ relative: 0.0 1.0;
+ to_x: "padding_before_text";
+ to_y: "padding_left_top";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to_x: "padding_before_text";
+ to_y: "padding_right_bottom";
+ }
+ aspect_preference: VERTICAL;
+ }
+ description { state: "icononly" 0.0;
+ aspect_preference: VERTICAL;
+ }
+ }
+ part { name: "elm.swallow.icon_new";
+ description { state: "default" 0.0;
+ align: 0.0 0.5;
+ rel2 {
+ relative: 1.0 0.0;
+ to_x: "padding_left_top";
+ to_y: "padding_right_bottom";
+ }
+ fixed: 1 0;
+ }
+ description { state: "visible" 0.0;
+ fixed: 1 0;
+ align: 1.0 0.5;
+ rel1 {
+ relative: 0.0 1.0;
+ to_x: "padding_before_text";
+ to_y: "padding_left_top";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to_x: "padding_before_text";
+ to_y: "padding_right_bottom";
+ }
+ aspect_preference: VERTICAL;
+ }
+ description { state: "icononly" 0.0;
+ aspect_preference: VERTICAL;
+ }
+ }
+ part { name: "elm.text";
+ type: TEXTBLOCK;
+ description { state: "default" 0.0;
+ rel1 {
+ relative: 1.0 1.0;
+ to_x: "padding_after_icon";
+ to_y: "padding_left_top";
+ }
+ text {
+ style: "toolbar_style";
+ min: 1 0;
+ max: 1 0;
+ }
+ }
+ description { state: "selected" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ description { state: "clicked" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: BUTTON_NAVIFRAME_FOCUSED_TEXT_COLOR_INC;
+ }
+ description { state: "focused" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: BUTTON_NAVIFRAME_FOCUSED_TEXT_COLOR_INC;
+ }
+ }
+ part { name: "elm.text_new";
+ type: TEXTBLOCK;
+ description { state: "default" 0.0;
+ rel1 {
+ relative: 1.0 1.0;
+ to_x: "padding_after_icon";
+ to_y: "padding_left_top";
+ }
+ text {
+ style: "toolbar_style";
+ min: 1 0;
+ max: 1 0;
+ }
+ }
+ description { state: "selected" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ description { state: "clicked" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: BUTTON_NAVIFRAME_FOCUSED_TEXT_COLOR_INC;
+ }
+ description { state: "focused" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: BUTTON_NAVIFRAME_FOCUSED_TEXT_COLOR_INC;
+ }
+ }
+ }
+}
+
+group { name: "elm/toolbar/base/music/naviframe";
+ parts {
+ part { name: "base";
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "clipper";
+ type: RECT;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ to: "base";
+ offset: 2 2;
+ }
+ rel2 {
+ to: "base";
+ offset: -3 -3;
+ }
+ }
+ }
+ part { name: "elm.swallow.content";
+ clip_to: "clipper";
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ rel1.to: "clipper";
+ rel2.to: "clipper";
+ }
+ }
+ part { name: "event";
+ type: RECT;
+ mouse_events: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ }
+}
+
+group { name: "elm/toolbar/object/music/naviframe";
+ parts {
+ part { name: "elm.swallow.object"; // object group
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ rel1.offset: 5 0;
+ rel2.offset: -6 -1;
+ }
+ }
+ }
+}
+
+
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include "tizen-hd-inc.edc"
+
+#ifndef MP_NOW_PLAYING_H
+#define MP_NOW_PLAYING_H 112
+#endif
+
+#ifndef MP_NOW_PLAYING_LANDSCAPE_H
+#define MP_NOW_PLAYING_LANDSCAPE_H 124
+#endif
+
+#define SELECTION_INFO_H 48
+#define BG_COLOR 248 246 239 0
+
+group {
+ name: "main_layout";
+ parts {
+ part { name: "background";
+ type: RECT;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ color: BG_COLOR;
+ }
+ }
+ part { name: "tabbar";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 0;
+ fixed: 0 1;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 0.0; }
+ align: 0.5 0.0;
+ visible: 0;
+ }
+ description { state: "show" 0.0;
+ inherit: "default" 0.0;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 0.052; }
+ visible: 1;
+ }
+
+ }
+ part { name: "info_text_bar_clip";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 1.0; to: "tabbar";}
+ rel2 { relative: 1.0 0.5; to: "tabbar";}
+ min: 0 0;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ visible: 0;
+ }
+ description { state: "show" 0.0;
+ inherit: "default" 0.0;
+ min: 0 120;
+ visible: 1;
+ }
+ description { state: "show_padding" 0.0;
+ inherit: "default" 0.0;
+ min: 0 28;
+ visible: 0;
+ }
+ }
+ part { name: "info_text_bar_bg";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ clip_to: "info_text_bar_clip";
+ description { state: "default" 0.0;
+ rel1 { relative: 0 0; to: "info_text_bar_clip"; }
+ rel2 { relative: 1 0.5; to: "info_text_bar_clip"; }
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "info_left_padding";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.to: "info_text_bar_bg";
+ rel2 { relative: 0.0 1.0; to: "info_text_bar_bg"; }
+ min: 15 0;
+ fixed: 1 0;
+ align: 0.0 0.0;
+ }
+ }
+ part { name: "info_right_padding";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 1.0 0.0; to: "info_text_bar_bg"; }
+ rel2.to: "info_text_bar_bg";
+ min: 15 0;
+ fixed: 1 0;
+ align: 1.0 0.0;
+ }
+ }
+ part {
+ name: "select_all_bg_rect";
+ type: RECT;
+ scale: 1;
+ clip_to: "info_text_bar_clip";
+ description {
+ state: "default" 0.0;
+ fixed: 1 1;
+ color: 255 255 255 255;
+ rel1 { relative: 0 0; to: "info_text_bar_clip"; }
+ rel2 { relative: 1 0.5; to: "info_text_bar_clip"; }
+ }
+ }
+ part { name: "select_all_bg";
+ type: SWALLOW;
+ scale: 1;
+ mouse_events: 1;
+ clip_to: "info_text_bar_clip";
+ description { state: "default" 0.0;
+ fixed:1 1;
+ rel1 { relative: 0 0; to: "info_text_bar_clip"; }
+ rel2 { relative: 1 0.5; to: "info_text_bar_clip"; }
+ }
+ description { state: "show_padding" 0.0;
+ fixed:1 1;
+ rel1.to: "info_text_bar_clip";
+ rel2 { relative: 1.0 1.0; to: "info_text_bar_bg"; offset: -34 0;}
+ }
+ }
+ part {
+ name : "list_content";
+ type: SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: 0.0 0.5; to: "info_text_bar_clip"; }
+ rel2 { relative: 1.0 1.0; to_y: "now_playing_overlap";}
+ }
+ }
+
+ part{
+ name: "now_playing_overlap";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 0 1;
+ align: 0.5 0.0;
+ min: 0 0;
+ visible: 0;
+ rel1{relative: 0.0 0.0; to, "now_playing";}
+ rel2{relative: 1.0 0.0; to, "now_playing";}
+ color: 0 0 0 0;
+ }
+ description { state: "show" 0.0;
+ inherit: "default" 0.0;
+ min: 0 0;
+ }
+
+ }
+ part{
+ name: "now_playing";
+ type: SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ visible: 0;
+ rel1 {
+ relative: 0.0 1.0;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ }
+ }
+ description { state: "show" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ rel1 {
+ relative: 0.0 0.8765625;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ }
+ }
+ description { state: "landscape_show" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ rel1 {
+ relative: 0.0 0.8765625;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ }
+ }
+ }
+ }
+
+ programs {
+ program {
+ name : "show_now_playng";
+ signal : "SHOW_NOW_PLAING";
+ source : "music_app";
+ action : STATE_SET "show" 0.0;
+ target : "now_playing";
+ target : "list_content";
+ target : "now_playing_overlap";
+ }
+ program {
+ name : "landscape_show_now_playng";
+ signal : "LANDSCAPE_SHOW_NOW_PLAING";
+ source : "music_app";
+ action : STATE_SET "landscape_show" 0.0;
+ target : "now_playing";
+ target : "list_content";
+ target : "now_playing_overlap";
+ }
+ program {
+ name : "hide_now_playng";
+ signal : "HIDE_NOW_PLAING";
+ source : "music_app";
+ action : STATE_SET "default" 0.0;
+ target : "now_playing";
+ target : "list_content";
+ target : "now_playing_overlap";
+ }
+
+ program { name: "show_info_text_bar";
+ signal: "SHOW_INFO_TEXT_BAR";
+ source: "*";
+ action: STATE_SET "show" 0.0;
+ target: "info_text_bar_clip";
+ }
+ program { name: "show_info_text_padding";
+ signal: "SHOW_INFO_TEXT_PADDING";
+ source: "*";
+ action: STATE_SET "show_padding" 0.0;
+ target: "info_text_bar_clip";
+ }
+ program { name: "hide_info_text_bar";
+ signal: "HIDE_INFO_TEXT_BAR";
+ source: "*";
+ action: STATE_SET "default" 0.0;
+ target: "info_text_bar_clip";
+ }
+ program { name: "show_tabbar";
+ signal: "SHOW_TABBAR";
+ source: "*";
+ action: STATE_SET "show" 0.0;
+ target: "tabbar";
+ }
+ program { name: "show_select_all_padding";
+ signal: "SHOW_SELECT_ALL_PADDING";
+ source: "*";
+ action: STATE_SET "show_padding" 0.0;
+ target: "select_all_bg";
+ }
+ }
+}
+
+group { name: "common_view_layout";
+ parts {
+ part { name: "bg";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ }
+ }
+ part { name: "tabbar";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 0 1;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 0.072; }
+ align: 0.5 0.0;
+ }
+ }
+ part { name: "list-content";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.to_y: "tabbar";
+ rel1.relative: 0.0 1.0;
+ }
+ }
+ }
+ }
+
+group { name: "genre_view_layout";
+ parts {
+ part { name: "bg";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ }
+ }
+ part { name: "list-content";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+
+ }
+ }
+ }
+ }
+
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#define IMG_VOLUME_WIDGET_BG "lite/play_volume_bg.#.png"
+#define IMG_VOLUME_WIDGET_BG_H "player-view/T02_volume_popup_bg.png"
+#define IMG_VOLUME_WIDGET_PROGRESS_IMG "lite/core_progress_bar.#.png"
+//#define IMG_VOLUME_WIDGET_PROGRESS_BAR_BG "player-view/T02_volume_popup_progress_bg.png"
+#define IMG_VOLUME_WIDGET_PROGRESS_BAR_HANDLE "lite/core_progress_handle_normal.png"
+#define IMG_VOLUME_WIDGET_PROGRESS_BAR_HANDLE_PRESS "lite/core_progress_handle_press.png"
+#define IMG_VOLUME_WIDGET_SOUNDALIVE "player-view/T02_volum_icon_SA.png"
+#define IMG_VOLUME_WIDGET_SOUNDALIVE_PRESS "player-view/T02_volum_icon_SA_press.png"
+
+ //#define VOL_W 40
+ //#define VOL_H 228
+
+group { name: "mp-volume-widget";
+ images {
+ image: IMG_VOLUME_WIDGET_BG COMP;
+ image: IMG_VOLUME_WIDGET_PROGRESS_IMG COMP;
+ image: IMG_VOLUME_WIDGET_PROGRESS_BAR_HANDLE COMP;
+ image: IMG_VOLUME_WIDGET_PROGRESS_BAR_HANDLE_PRESS COMP;
+ //image: IMG_VOLUME_WIDGET_SOUNDALIVE COMP;
+ //image: IMG_VOLUME_WIDGET_SOUNDALIVE_PRESS COMP;
+ }
+ parts {
+ part {
+ name: "bg";
+ type: IMAGE;
+ //scale: 1;
+ mouse_events: 0;
+ repeat_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: 0.0 0.08;}
+ rel2 { relative: 1.0 1.0;}
+ //color: 41 41 41 255;
+ image {
+ normal: IMG_VOLUME_WIDGET_BG;
+ }
+ color: 200 180 200 160;
+ }
+ }
+ part {
+ name: "padding_top";
+ type: SPACER;
+ //scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1.to: "bg";
+ rel2 { relative: 1.0 0.05; to: "bg"; }
+ //min: 0 10;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+ part {
+ name: "padding_bottom";
+ type: SPACER;
+ //scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: 0.0 0.95; to: "bg"; }
+ rel2.to: "bg";
+ //min: 0 10;
+ fixed: 0 1;
+ align: 0.0 1.0;
+ }
+ }
+ part {
+ name: "padding_above_indicator";
+ type: SPACER;
+ //scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; to: "volume_text_area"; }
+ rel2 { relative: 1.0 0.0; to: "volume_text_area"; }
+ min: 0 20;
+ fixed: 0 1;
+ align: 0.0 1.0;
+ }
+ }
+ part {
+ name: "volume_text_area";
+ type: SPACER;
+ //scale: 1;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; to_y: "padding_bottom"; }
+ rel2 { relative: 1.0 0.0; to_y: "padding_bottom"; }
+ min: 0 20;
+ fixed: 0 1;
+ align: 0.0 1.0;
+ }
+ }
+ part {
+ name: "volume_widget_indicator";
+ type: TEXT;
+ //scale: 1;
+ mouse_events: 0;
+ effect: FAR_SHADOW BOTTOM;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; to_y: "volume_text_area"; }
+ rel2 { relative: 1.0 1.0; to_y: "volume_text_area"; }
+ min: 0 20;
+ fixed: 0 1;
+ align: 0.0 0;
+ text {
+ size: 28;
+ align: 0.5 0.5;
+ min: 1 1;
+ elipsis: 1.0;
+ }
+ color: 0 0 0 255;
+ //color3: 51 57 52 255;
+ }
+ }
+ part {
+ name: "touch_area";
+ type: IMAGE;
+ //scale: 1;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ rel1 { to: "slider_area"; offset: -15 0; }
+ rel2 { to: "slider_area"; offset: 15 0; }
+ //image.normal: IMG_VOLUME_WIDGET_BG;
+ color: 150 150 150 255;
+ }
+ }
+ part {
+ name: "slider_area";
+ type: IMAGE;
+ //scale: 1;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: 0.5 1.0; to: "padding_top"; }
+ rel2 { relative: 0.5 0.0; to: "padding_above_indicator"; }
+ min: 6 0;
+ fixed: 1 1;
+ align: 0.5 0.0;
+ image {
+ normal: IMG_VOLUME_WIDGET_PROGRESS_IMG;
+ }
+ color: 179 179 179 255;
+ }
+ }
+ part {
+ name: "slider_bar";
+ type: IMAGE;
+ //scale: 1;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: 0.0 0.5; to_x: "slider_area"; to_y: "volume_widget_slider_handle"; }
+ rel2.to: "slider_area";
+ min: 6 0;
+ fixed: 1 1;
+ align: 0.0 0.0;
+ image {
+ normal: IMG_VOLUME_WIDGET_PROGRESS_IMG;
+ }
+ color: 179 179 179 255;
+ }
+ }
+ part {
+ name: "dragable_confine";
+ type: RECT;
+ //scale: 1;
+ mouse_events: 0;
+ description{
+ state: "default" 0.0;
+ rel1 { relative: 0.5 0.0; to: "slider_area"; }
+ rel2 { relative: 0.5 1.0; to: "slider_area"; }
+ min: 100 0;
+ fixed: 1 0;
+ align: 0.5 0.0;
+ visible: 0;
+ }
+ }
+ part {
+ name: "volume_widget_slider_control_area";
+ type: RECT;
+ //scale: 1;
+ mouse_events: 1;
+ repeat_events: 0;
+ description {
+ state: "default" 0.0;
+ min: 100 10;
+ fixed: 1 1;
+ align: 0 0;
+ color: 0 0 0 0;
+ }
+ dragable {
+ x: 0 0 0;
+ y: -1 1 0;
+ confine: "dragable_confine";
+ }
+ }
+ part {
+ name: "volume_widget_slider_handle";
+ type: IMAGE;
+ //scale: 1;
+ mouse_events:0;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: 0.5 0.5; to: "volume_widget_slider_control_area"; }
+ rel2 { relative: 0.5 0.5; to: "volume_widget_slider_control_area"; }
+ image.normal: IMG_VOLUME_WIDGET_PROGRESS_BAR_HANDLE;
+ color: 0 112 204 255;
+ min: 45 45;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ }
+ description { state: "press" 0.0;
+ inherit: "default";
+ image.normal: IMG_VOLUME_WIDGET_PROGRESS_BAR_HANDLE_PRESS;
+ color: 0 112 204 255;
+ min: 30 30;
+ }
+ }
+
+ part {
+ name: "volume_widget_slider_bar";
+ type: RECT;
+ //scale: 1;
+ mouse_events:1;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: 0.45 0.55; to: "volume_widget_slider_handle"; }
+ rel2.to: "slider_area";
+ min: 6 0;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ color: 0 112 204 255;
+ }
+ description { state: "press" 0.0;
+ inherit: "default";
+ color: 0 112 204 255;
+ }
+ }
+ }
+
+ programs
+ {
+
+ program {
+ name: "clicked";
+ action: SIGNAL_EMIT "clicked" "*";
+ }
+ program{
+ name: "volume_bar_down";
+ source: "volume_widget_slider_control_area";
+ signal: "mouse,down,1";
+ action: STATE_SET "press" 0.0;
+ target: "volume_widget_slider_handle";
+ target: "volume_widget_slider_bar";
+ }
+ program{
+ name: "volume_bar_up";
+ source: "volume_widget_slider_control_area";
+ signal: "mouse,up,1";
+ action: STATE_SET "default" 0.0;
+ target: "volume_widget_slider_handle";
+ target: "volume_widget_slider_bar";
+ }
+ }
+}
+
+#define VOL_LD_W 116
+#define VOL_LD_H 438
+#define REL_LD_X(x) ((x)/VOL_W)
+#define REL_LD_Y(y) ((y)/VOL_H)
+
+group { name: "mp-volume-widget-ld";
+ images {
+ image: IMG_VOLUME_WIDGET_BG_H COMP;
+ image: IMG_VOLUME_WIDGET_PROGRESS_IMG COMP;
+ image: IMG_VOLUME_WIDGET_PROGRESS_BAR_HANDLE COMP;
+ image: IMG_VOLUME_WIDGET_PROGRESS_BAR_HANDLE_PRESS COMP;
+ }
+
+ parts {
+ part {
+ name: "bg";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 0;
+ repeat_events: 0;
+ description { state: "default" 0.0;
+ min: VOL_LD_W VOL_LD_H;
+ max: VOL_LD_W VOL_LD_H;
+ image {
+ normal: IMG_VOLUME_WIDGET_BG_H;
+ border: 0 0 29 29;
+ }
+ }
+ }
+ part {
+ name: "padding_top";
+ type: SPACER;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.to: "bg";
+ rel2 { relative: 1.0 0.0; to: "bg"; }
+ min: 0 28;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+ part {
+ name: "padding_bottom";
+ type: SPACER;
+ scale: 0;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 1.0; to: "bg"; }
+ rel2.to: "bg";
+ min: 0 24;
+ fixed: 0 1;
+ align: 0.0 1.0;
+ }
+ }
+ part {
+ name: "volume_widget_indicator";
+ type: TEXT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 1.0; to_y: "padding_top";}
+ rel2 { relative: 1.0 1.0; to_y: "padding_top";}
+ min: 0 36;
+ fixed: 0 1;
+ align: 0.5 0.0;
+ text {
+ size: 38;
+ align: 0.5 0.5;
+ min: 1 1;
+ elipsis: 1.0;
+ }
+ color: 255 255 255 255;
+ }
+ }
+ part {
+ name: "padding_under_indicator";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 1.0; to: "volume_widget_indicator"; }
+ rel2.to: "volume_widget_indicator";
+ min: 0 24;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+ part {
+ name: "padding_center";
+ type: SPACER;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; to: "padding_under_indicator"; }
+ rel2 { relative: 1.0 0.0; to: "padding_under_indicator"; }
+ min: 0 27;
+ fixed: 0 1;
+ align: 0.0 1.0;
+ }
+ }
+ part {
+ name: "touch_area";
+ type: RECT;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ rel1 { to: "slider_area"; offset: -20 0; }
+ rel2 { to: "slider_area"; offset: 20 0; }
+ color: 0 0 0 0;
+ }
+ }
+ part {
+ name: "slider_area";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.5 1.0; to: "padding_under_indicator"; }
+ rel2 { relative: 0.5 0.0; to: "padding_center"; }
+ min: 19 0;
+ fixed: 1 1;
+ align: 0.5 0.0;
+ image {
+ normal: IMG_VOLUME_WIDGET_PROGRESS_IMG;
+ }
+ }
+ }
+ part {
+ name: "slider_bar";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 0.5; to_x: "slider_area"; to_y: "volume_widget_slider_handle"; }
+ rel2.to: "slider_area";
+ min: 19 0;
+ fixed: 1 1;
+ align: 0.0 0.0;
+ image {
+ normal: IMG_VOLUME_WIDGET_PROGRESS_IMG;
+ }
+ }
+ }
+ part {
+ name: "dragable_confine";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description{ state: "default" 0.0;
+ rel1 { relative: 0.5 0.0; to: "slider_area"; offset: 0 -45; }
+ rel2 { relative: 0.5 1.0; to: "slider_area"; offset: -2 45; }
+ min: 100 0;
+ fixed: 1 0;
+ align: 0.5 0.0;
+ visible: 0;
+ }
+ }
+ part {
+ name: "volume_widget_slider_control_area";
+ type: RECT;
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 0;
+ description {
+ state: "default" 0.0;
+ min: 100 100;
+ fixed: 1 1;
+ align: 0 0;
+ color: 0 0 0 0;
+ }
+
+ dragable {
+ x: 0 0 0;
+ y: -1 1 0;
+ confine: "dragable_confine";
+ }
+ }
+ part {
+ name: "volume_widget_slider_handle";
+ type: IMAGE;
+ scale: 1;
+ mouse_events:0;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.5 0.5; to: "volume_widget_slider_control_area"; }
+ rel2 { relative: 0.5 0.5; to: "volume_widget_slider_control_area"; }
+ image.normal: IMG_VOLUME_WIDGET_PROGRESS_BAR_HANDLE;
+ min: 49 49;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ }
+ description { state: "press" 0.0;
+ inherit: "default";
+ image.normal: IMG_VOLUME_WIDGET_PROGRESS_BAR_HANDLE_PRESS;
+ }
+ }
+ }
+ programs
+ {
+
+ program {
+ name: "clicked";
+ action: SIGNAL_EMIT "clicked" "*";
+ }
+ program{
+ name: "volume_bar_down";
+ source: "volume_widget_slider_control_area";
+ signal: "mouse,down,1";
+ action: STATE_SET "press" 0.0;
+ target: "volume_widget_slider_handle";
+ }
+ program{
+ name: "volume_bar_up";
+ source: "volume_widget_slider_control_area";
+ signal: "mouse,up,1";
+ action: STATE_SET "default" 0.0;
+ target: "volume_widget_slider_handle";
+ }
+ }
+}
+
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#define GENLIST_HEIGHT_1_INC 1
+#define GENLIST_HEIGHT_16_INC 16
+#define GENLIST_HEIGHT_33_INC 33
+#define GENLIST_HEIGHT_49_INC 49
+#define GENLIST_HEIGHT_62_INC 62
+#define GENLIST_HEIGHT_65_INC 65
+#define GENLIST_HEIGHT_73_INC 73
+#define GENLIST_HEIGHT_77_INC 77
+#define GENLIST_HEIGHT_89_INC 89
+#define GENLIST_HEIGHT_93_INC 93
+#define GENLIST_HEIGHT_97_INC 97
+#define GENLIST_HEIGHT_113_INC 113
+#define GENLIST_HEIGHT_129_INC 129
+#define GENLIST_HEIGHT_177_INC 177
+#define GENLIST_HEIGHT_182_INC 182
+#define GENLIST_HEIGHT_190_INC 190
+#define GENLIST_HEIGHT_207_INC 207
+#define GENLIST_HEIGHT_260_INC 260
+#define GENLIST_HEIGHT_291_INC 291
+#define GENLIST_HEIGHT_454_INC 454
+#define GENLIST_HEIGHT_566_INC 566
+
+#define GENLIST_PADDING_4_INC 4
+#define GENLIST_PADDING_5_INC 5
+#define GENLIST_PADDING_6_INC 6
+#define GENLIST_PADDING_8_INC 8
+#define GENLIST_PADDING_7_INC 7
+#define GENLIST_PADDING_10_INC 10
+#define GENLIST_PADDING_11_INC 11
+#define GENLIST_PADDING_12_INC 12
+#define GENLIST_PADDING_13_INC 13
+#define GENLIST_PADDING_14_INC 14
+#define GENLIST_PADDING_16_INC 16
+#define GENLIST_PADDING_18_INC 18
+#define GENLIST_PADDING_21_INC 21
+#define GENLIST_PADDING_22_INC 22
+#define GENLIST_PADDING_24_INC 24
+#define GENLIST_PADDING_27_INC 27
+#define GENLIST_PADDING_32_INC 32
+#define GENLIST_PADDING_34_INC 34
+#define GENLIST_PADDING_46_INC 46
+#define GENLIST_PADDING_48_INC 48
+#define GENLIST_PADDING_64_INC 64
+#define GENLIST_PADDING_74_INC 74
+#define GENLIST_PADDING_88_INC 88
+#define GENLIST_PADDING_124_INC 124
+
+#define GENLIST_FONT_27_INC 27
+#define GENLIST_FONT_28_INC 28
+#define GENLIST_FONT_30_INC 30
+#define GENLIST_FONT_32_INC 32
+#define GENLIST_FONT_STYLE_32_INC "32"
+#define GENLIST_FONT_36_INC 36
+#define GENLIST_FONT_STYLE_36_INC "36"
+#define GENLIST_FONT_40_INC 40
+#define GENLIST_FONT_STYLE_40_INC "40"
+#define GENLIST_FONT_42_INC 42
+#define GENLIST_FONT_STYLE_42_INC "42"
+#define GENLIST_FONT_44_INC 44
+#define GENLIST_FONT_STYLE_44_INC "44"
+#define GENLIST_FONT_48_INC 48
+#define GENLIST_FONT_STYLE_48_INC "48"
+
+#define GENLIST_SIZE_6_INC 6
+#define GENLIST_SIZE_8_INC 8
+#define GENLIST_SIZE_10_INC 10
+#define GENLIST_SIZE_13_INC 13
+#define GENLIST_SIZE_16_INC 16
+#define GENLIST_SIZE_18_INC 18
+#define GENLIST_SIZE_21_INC 21
+#define GENLIST_SIZE_32_INC 32
+#define GENLIST_SIZE_35_INC 35
+#define GENLIST_SIZE_38_INC 38
+#define GENLIST_SIZE_40_INC 40
+#define GENLIST_SIZE_42_INC 42
+#define GENLIST_SIZE_45_INC 45
+#define GENLIST_SIZE_48_INC 48
+#define GENLIST_SIZE_54_INC 54
+#define GENLIST_SIZE_56_INC 56
+#define GENLIST_SIZE_57_INC 57
+#define GENLIST_SIZE_61_INC 61
+#define GENLIST_SIZE_SLIDE_60_INC 60
+#define GENLIST_SIZE_64_INC 64
+#define GENLIST_SIZE_80_INC 80
+#define GENLIST_SIZE_90_INC 90
+#define GENLIST_SIZE_96_INC 96
+#define GENLIST_SIZE_112_INC 112
+#define GENLIST_SIZE_116_INC 116
+#define GENLIST_SIZE_128_INC 128
+#define GENLIST_SIZE_133_INC 133
+#define GENLIST_SIZE_141_INC 141
+#define GENLIST_SIZE_144_INC 144
+#define GENLIST_SIZE_154_INC 154
+#define GENLIST_SIZE_160_INC 160
+#define GENLIST_SIZE_163_INC 163
+#define GENLIST_SIZE_168_INC 168
+#define GENLIST_SIZE_174_INC 174
+#define GENLIST_SIZE_SLIDE_165_INC 165
+#define GENLIST_SIZE_176_INC 176
+#define GENLIST_SIZE_177_INC 177
+#define GENLIST_SIZE_192_INC 192
+#define GENLIST_SIZE_195_INC 195
+#define GENLIST_SIZE_206_INC 206
+#define GENLIST_SIZE_234_INC 234
+#define GENLIST_SIZE_235_INC 235
+#define GENLIST_SIZE_SLIDE_220_INC 220
+#define GENLIST_SIZE_390_INC 390
+#define GENLIST_SIZE_448_INC 448
+#define GENLIST_SIZE_560_INC 560
+#define GENLIST_SIZE_576_INC 576
+#define GENLIST_SIZE_672_INC 672
+
+#define GENLIST_PART_LIST_PRESS_COLOR_INC 42 137 194 255
+#define GENLIST_PART_LIST_BG_COLOR_INC 249 249 249 255
+
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#define FONT_STYLE_ROMAN "TIZEN:style=Roman"
+#define FONT_STYLE_MEDIUM "TIZEN:style=Medium"
+#define FONT_STYLE_BOLD "TIZEN:style=Bold"
+#define FONT_STYLE_LIGHT "TIZEN:style=Light"
+#define FONT_STYLE_REGULAR "TIZEN:style=Regular"
+
+#define MP_LIST_THUMBNAIL_INNER_LINE \
+ part { name: "innerline.top";\
+ type: RECT;\
+ scale: 1;\
+ mouse_events: 0;\
+ clip_to: "disclip";\
+ description { state: "default" 0.0;\
+ visible: 1;\
+ fixed: 1 1;\
+ align: 0 0;\
+ min: 1 1;\
+ rel1 {relative: 0.0 0.0; to, "elm.icon";}\
+ rel2 {relative: 1.0 0.0; to, "elm.icon";}\
+ color: MP_COLOR_BG_BLACK;\
+ }\
+ GENLIST_DESCRIPTION_FLIP_ENABLED\
+ }\
+ part { name: "innerline.bottom";\
+ type: RECT;\
+ scale: 1;\
+ mouse_events: 0;\
+ clip_to: "disclip";\
+ description { state: "default" 0.0;\
+ visible: 1;\
+ fixed: 1 1;\
+ align: 0 0;\
+ min: 1 1;\
+ rel1 {relative: 0.0 1.0; to, "elm.icon";}\
+ rel2 {relative: 1.0 1.0; to, "elm.icon";}\
+ color: MP_COLOR_BG_BLACK;\
+ }\
+ GENLIST_DESCRIPTION_FLIP_ENABLED\
+ }\
+ part { name: "innerline.left";\
+ type: RECT;\
+ scale: 1;\
+ mouse_events: 0;\
+ clip_to: "disclip";\
+ description { state: "default" 0.0;\
+ visible: 1;\
+ fixed: 1 1;\
+ align: 0 0;\
+ min: 1 1;\
+ rel1 {relative: 0.0 0.0; to, "elm.icon";}\
+ rel2 {relative: 0.0 1.0; to, "elm.icon";}\
+ color: MP_COLOR_BG_BLACK;\
+ }\
+ GENLIST_DESCRIPTION_FLIP_ENABLED\
+ }\
+ part { name: "innerline.right";\
+ type: RECT;\
+ scale: 1;\
+ mouse_events: 0;\
+ clip_to: "disclip";\
+ description { state: "default" 0.0;\
+ visible: 1;\
+ fixed: 1 1;\
+ align: 0 0;\
+ min: 1 1;\
+ rel1 {relative: 1.0 0.0; to, "elm.icon";}\
+ rel2 {relative: 1.0 1.0; to, "elm.icon";}\
+ color: MP_COLOR_BG_BLACK;\
+ }\
+ GENLIST_DESCRIPTION_FLIP_ENABLED\
+ }\
+
+#define ALBUM_MP_GENLIST_PART_BASE \
+ images {\
+ image: "T02_album_bar.png" COMP;\
+ }\
+ part { name: "base";\
+ type: IMAGE;\
+ clip_to: "disclip";\
+ mouse_events: 0;\
+ description { state: "default" 0.0;\
+ min: 0 108;\
+ rel1 {\
+ relative: 0.0 0.0;\
+ } \
+ rel2 { \
+ relative: 1.0 1.0; \
+ } \
+ image { normal: "T02_album_bar.png"; }; \
+ } \
+ }
+
+#define MP_GENLIST_BG_COLOR 248 246 239 255;
+#define MP_GENLIST_PART_BASE( param_item_height ) \
+ part { name: "base"; \
+ type: RECT; \
+ repeat_events: 1; \
+ scale: 1; \
+ description { state: "default" 0.0; \
+ min: 0 param_item_height; \
+ color: MP_GENLIST_BG_COLOR;\
+ } \
+ }
+
+#define GENLIST_PART_BG_SELECTED_COLOR_INC 42 137 194 255
+#define GENLIST_PART_BG_UNSELECTED_COLOR_INC 0 0 0 0
+
+#define MP_BOTTOM_LINE_COLOR 169 169 169 255;
+
+#define MP_GENLIST_PART_PADDING_TOP( param_padding_size ) \
+ part { name: "elm.padding.top"; \
+ type: RECT; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ min: 0 param_padding_size; \
+ fixed: 0 1; \
+ visible: 0; \
+ rel2.relative: 1.0 0.0; \
+ align: 0.0 0.0; \
+ } \
+ }
+
+#define MP_GENLIST_PART_PADDING_BOTTOM( param_padding_size ) \
+ part { name: "elm.padding.bottom"; \
+ type: RECT; \
+ scale: 1; \
+ description { state: "default" 0.0; \
+ min: 0 param_padding_size; \
+ fixed: 0 1; \
+ visible: 0; \
+ rel1.relative: 0.0 1.0; \
+ align: 0.0 1.0; \
+ } \
+ }
+
+#define MP_GENLIST_PART_PADDING_LEFT( param_padding_size ) \
+ part { name: "elm.padding.left"; \
+ type: RECT; \
+ scale: 1; \
+ description { state: "default" 0.0; \
+ min: param_padding_size 0; \
+ fixed: 1 0; \
+ visible: 0; \
+ rel2.relative: 0.0 1.0; \
+ align: 0.0 0.0; \
+ } \
+ }
+
+#define MP_GENLIST_PART_PADDING_RIGHT( param_padding_size ) \
+ part { name: "elm.padding.right"; \
+ type: RECT; \
+ scale: 1; \
+ description { state: "default" 0.0; \
+ min: param_padding_size 0; \
+ fixed: 1 0; \
+ visible: 0; \
+ rel1.relative: 1.0 0.0; \
+ align: 1.0 0.0; \
+ } \
+ }
+
+#define MP_GENLIST_PART_BG_IMAGE \
+ part { name: "bg_image"; \
+ type: RECT; \
+ clip_to: "disclip"; \
+ mouse_events: 0; \
+ description { state: "default" 0.0; \
+ color: MP_GENLIST_BG_COLOR; \
+ } \
+ description { state: "selected" 0.0; \
+ inherit: "default" 0.0; \
+ color: GENLIST_PART_LIST_PRESS_COLOR_INC; \
+ } \
+ }
+
+#define GENLIST_EDIT_SELECT_ALL_BG_COLOR_INC 215 225 232 255
+#define GENLIST_PART_TEXT_COLOR_INC 0 0 0 255
+#define GENLIST_PART_TEXT_SELECTED_COLOR_INC 249 249 249 255
+#define GENLIST_PART_DISCLIP_COLOR_INC 255 255 255 110
+#define GENLIST_PART_LIST_LINE_HEIGHT 1
+
+//****************************************************************************//
+// ****************************** LINE ********************************//
+//****************************************************************************//
+#define MP_GENLIST_PART_BOTTOM_LINE \
+ GENLIST_PART_RECT("bottom_line_clip", \
+ description { state: "default" 0.0; \
+ color: 255 255 255 255; \
+ } \
+ description { state: "decorate" 0.0; \
+ inherit: "default" 0.0; \
+ color: 0 0 0 0; \
+ } \
+ description { state: "reorder" 0.0; \
+ inherit: "default" 0.0; \
+ color: 0 0 0 0; \
+ } \
+ description { state: "decorate_reorder" 0.0; \
+ inherit: "default" 0.0; \
+ color: 0 0 0 0; \
+ } \
+ ) \
+ GENLIST_PART_RECT("bottom_line", \
+ mouse_events: 0; \
+ clip_to: "bottom_line_clip"; \
+ description { state: "default" 0.0; \
+ min: 0 GENLIST_PART_LIST_LINE_HEIGHT; \
+ max: -1 GENLIST_PART_LIST_LINE_HEIGHT; \
+ fixed: 0 1; \
+ align: 0.5 1; \
+ color: GENLIST_LIST_LINE1_COLOR; \
+ rel1.to: "bottom_line2"; \
+ rel2.to: "bottom_line2"; \
+ rel2.relative: 1 0; \
+ rel1.offset: -1 -1; \
+ } \
+ description { state: "flipped" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 0; \
+ } \
+ description { state: "hidden" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 0; \
+ } \
+ ) \
+ GENLIST_PART_RECT("bottom_line2", \
+ mouse_events: 0; \
+ clip_to: "bottom_line_clip"; \
+ description { state: "default" 0.0; \
+ min: 0 GENLIST_PART_LIST_LINE_HEIGHT; \
+ max: -1 GENLIST_PART_LIST_LINE_HEIGHT; \
+ fixed: 0 1; \
+ align: 0.5 1; \
+ color: GENLIST_LIST_LINE2_COLOR; \
+ rel1.to_x: "base"; \
+ rel1.relative: 0 0; \
+ rel2.to_x: "base"; \
+ rel2.relative: 1 1; \
+ rel1.offset: -1 -1; \
+ } \
+ description { state: "flipped" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 0; \
+ } \
+ description { state: "hidden" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 0; \
+ } \
+ )
+
+#define MP_GENLIST_PART_PADDING_TOP( param_padding_size ) \
+ part { name: "elm.padding.top"; \
+ type: RECT; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ min: 0 param_padding_size; \
+ fixed: 0 1; \
+ visible: 0; \
+ rel2.relative: 1.0 0.0; \
+ align: 0.0 0.0; \
+ } \
+ }
+
+#define GENLIST_PART_PADDING_TEXT_TOP( param_padding_size ) \
+ part { name: "elm.padding.text.top"; \
+ type: RECT; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ min: 0 param_padding_size; \
+ fixed: 0 1; \
+ visible: 0; \
+ rel2.relative: 1.0 0.0; \
+ align: 0.0 0.0; \
+ } \
+ }
+
+#define GENLIST_PART_DISCLIP \
+ part { name: "disclip"; \
+ type: RECT; \
+ description { state: "default" 0.0; \
+ } \
+ description { state: "disabled" 0.0; \
+ inherit: "default" 0.0; \
+ color: GENLIST_PART_DISCLIP_COLOR_INC; \
+ } \
+ }
+
+#define GENLIST_DESCRIPTION_FLIP_ENABLED \
+ description { state: "flip_enabled" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 0; \
+ }
+#define GENLIST_DESCRIPTION_INVISIBLE_SELECTED \
+ description { state: "selected" 1.0; \
+ inherit: "default" 0.0; \
+ visible: 0; \
+ }
+#define MP_GENLIST_PART_FLIP \
+ part { name: "elm.flip.content"; \
+ clip_to: "disclip"; \
+ type: SWALLOW; \
+ mouse_events: 1; \
+ scale: 1; \
+ description { state: "default" 0.0; \
+ visible: 0; \
+ fixed: 1 1; \
+ rel1 { \
+ relative: 1.0 0.5; \
+ to_x: "elm.padding.left"; \
+ } \
+ rel2 { \
+ relative: 0.0 0.5; \
+ to_x: "elm.padding.right"; \
+ } \
+ } \
+ description { state: "flip_enabled" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 1; \
+ } \
+ }
+ #define GENLIST_PROGRAM_SCRIPT_FLIP_SELECT_1TEXT \
+ script { \
+ new st[31]; \
+ new Float:vl; \
+ get_state(PART:"elm.text", st, 30, vl); \
+ set_state(PART:"bg_image", "selected", 0.0); \
+ if (!strcmp(st, "flip_enabled")) \
+ set_state(PART:"elm.text", "selected", 1.0); \
+ else \
+ set_state(PART:"elm.text", "selected", 0.0); \
+ }
+
+#define GENLIST_PROGRAM_SCRIPT_FLIP_SELECT_2TEXT \
+ script { \
+ new st[31]; \
+ new Float:vl; \
+ get_state(PART:"elm.text.1", st, 30, vl); \
+ set_state(PART:"bg_image", "selected", 0.0); \
+ if (!strcmp(st, "flip_enabled")) { \
+ set_state(PART:"elm.text.1", "selected", 1.0); \
+ set_state(PART:"elm.text.2", "selected", 1.0); \
+ } \
+ else { \
+ set_state(PART:"elm.text.1", "selected", 0.0); \
+ set_state(PART:"elm.text.2", "selected", 0.0); \
+ } \
+ }
+
+#define GENLIST_PROGRAM_SCRIPT_FLIP_SELECT_3TEXT \
+ script { \
+ new st[31]; \
+ new Float:vl; \
+ get_state(PART:"elm.text.1", st, 30, vl); \
+ set_state(PART:"bg_image", "selected", 0.0); \
+ if (!strcmp(st, "flip_enabled")) { \
+ set_state(PART:"elm.text.1", "selected", 1.0); \
+ set_state(PART:"elm.text.2", "selected", 1.0); \
+ set_state(PART:"elm.text.3", "selected", 1.0); \
+ } \
+ else { \
+ set_state(PART:"elm.text.1", "selected", 0.0); \
+ set_state(PART:"elm.text.2", "selected", 0.0); \
+ set_state(PART:"elm.text.3", "selected", 0.0); \
+ } \
+ }
+
+#define MP_INNERLINE_TARGETS \
+ target: "innerline.top";\
+ target: "innerline.bottom";\
+ target: "innerline.left";\
+ target: "innerline.right";\
+
+#define GENLIST_PROGRAM_FLIP_1TEXT \
+ program { name: "flip_enabled"; \
+ signal: "elm,state,flip,enabled"; \
+ source: "elm"; \
+ action: STATE_SET "flip_enabled" 0.0; \
+ target: "elm.text"; \
+ target: "elm.flip.content"; \
+ } \
+ program { name: "flip_disabled"; \
+ signal: "elm,state,flip,disabled"; \
+ source: "elm"; \
+ action: STATE_SET "default" 0.0; \
+ target: "elm.text"; \
+ target: "elm.flip.content"; \
+ }
+
+#define GENLIST_PROGRAM_FLIP_1TEXT_1ICON \
+ program { name: "flip_enabled"; \
+ signal: "elm,state,flip,enabled"; \
+ source: "elm"; \
+ action: STATE_SET "flip_enabled" 0.0; \
+ target: "elm.text"; \
+ target: "elm.icon"; \
+ target: "elm.flip.content"; \
+ MP_INNERLINE_TARGETS\
+ } \
+ program { name: "flip_disabled"; \
+ signal: "elm,state,flip,disabled"; \
+ source: "elm"; \
+ action: STATE_SET "default" 0.0; \
+ target: "elm.text"; \
+ target: "elm.icon"; \
+ target: "elm.flip.content"; \
+ MP_INNERLINE_TARGETS\
+ }
+
+#define GENLIST_PROGRAM_FLIP_1TEXT_2ICON \
+ program { name: "flip_enabled"; \
+ signal: "elm,state,flip,enabled"; \
+ source: "elm"; \
+ action: STATE_SET "flip_enabled" 0.0; \
+ target: "elm.text"; \
+ target: "elm.icon.1"; \
+ target: "elm.icon.2"; \
+ target: "elm.flip.content"; \
+ MP_INNERLINE_TARGETS\
+ } \
+ program { name: "flip_disabled"; \
+ signal: "elm,state,flip,disabled"; \
+ source: "elm"; \
+ action: STATE_SET "default" 0.0; \
+ target: "elm.text"; \
+ target: "elm.icon.1"; \
+ target: "elm.icon.2"; \
+ target: "elm.flip.content"; \
+ MP_INNERLINE_TARGETS\
+ }
+
+#define GENLIST_PROGRAM_FLIP_1TEXT_3ICON \
+ program { name: "flip_enabled"; \
+ signal: "elm,state,flip,enabled"; \
+ source: "elm"; \
+ action: STATE_SET "flip_enabled" 0.0; \
+ target: "elm.text"; \
+ target: "elm.icon.1"; \
+ target: "elm.icon.2"; \
+ target: "elm.icon.3"; \
+ target: "elm.flip.content"; \
+ MP_INNERLINE_TARGETS\
+ } \
+ program { name: "flip_disabled"; \
+ signal: "elm,state,flip,disabled"; \
+ source: "elm"; \
+ action: STATE_SET "default" 0.0; \
+ target: "elm.text"; \
+ target: "elm.icon.1"; \
+ target: "elm.icon.2"; \
+ target: "elm.icon.3"; \
+ target: "elm.flip.content"; \
+ MP_INNERLINE_TARGETS\
+ }
+
+#define GENLIST_PROGRAM_FLIP_2TEXT \
+ program { name: "flip_enabled"; \
+ signal: "elm,state,flip,enabled"; \
+ source: "elm"; \
+ action: STATE_SET "flip_enabled" 0.0; \
+ target: "elm.text.1"; \
+ target: "elm.text.2"; \
+ target: "elm.flip.content"; \
+ } \
+ program { name: "flip_disabled"; \
+ signal: "elm,state,flip,disabled"; \
+ source: "elm"; \
+ action: STATE_SET "default" 0.0; \
+ target: "elm.text.1"; \
+ target: "elm.text.2"; \
+ target: "elm.flip.content"; \
+ }
+
+#define GENLIST_PROGRAM_FLIP_2TEXT_1ICON \
+ program { name: "flip_enabled"; \
+ signal: "elm,state,flip,enabled"; \
+ source: "elm"; \
+ action: STATE_SET "flip_enabled" 0.0; \
+ target: "elm.text.1"; \
+ target: "elm.text.2"; \
+ target: "elm.icon"; \
+ target: "elm.flip.content"; \
+ MP_INNERLINE_TARGETS\
+ } \
+ program { name: "flip_disabled"; \
+ signal: "elm,state,flip,disabled"; \
+ source: "elm"; \
+ action: STATE_SET "default" 0.0; \
+ target: "elm.text.1"; \
+ target: "elm.text.2"; \
+ target: "elm.icon"; \
+ target: "elm.flip.content"; \
+ MP_INNERLINE_TARGETS\
+ }
+
+#define GENLIST_PROGRAM_FLIP_2TEXT_2ICON \
+ program { name: "flip_enabled"; \
+ signal: "elm,state,flip,enabled"; \
+ source: "elm"; \
+ action: STATE_SET "flip_enabled" 0.0; \
+ target: "elm.text.1"; \
+ target: "elm.text.2"; \
+ target: "elm.icon.1"; \
+ target: "elm.icon.2"; \
+ target: "elm.flip.content"; \
+ MP_INNERLINE_TARGETS\
+ } \
+ program { name: "flip_disabled"; \
+ signal: "elm,state,flip,disabled"; \
+ source: "elm"; \
+ action: STATE_SET "default" 0.0; \
+ target: "elm.text.1"; \
+ target: "elm.text.2"; \
+ target: "elm.icon.1"; \
+ target: "elm.icon.2"; \
+ target: "elm.flip.content"; \
+ MP_INNERLINE_TARGETS\
+ }
+
+#define GENLIST_PROGRAM_FLIP_2TEXT_3ICON \
+ program { name: "flip_enabled"; \
+ signal: "elm,state,flip,enabled"; \
+ source: "elm"; \
+ action: STATE_SET "flip_enabled" 0.0; \
+ target: "elm.text.1"; \
+ target: "elm.text.2"; \
+ target: "elm.icon.1"; \
+ target: "elm.icon.2"; \
+ target: "elm.icon.3"; \
+ target: "elm.flip.content"; \
+ MP_INNERLINE_TARGETS\
+ } \
+ program { name: "flip_disabled"; \
+ signal: "elm,state,flip,disabled"; \
+ source: "elm"; \
+ action: STATE_SET "default" 0.0; \
+ target: "elm.text.1"; \
+ target: "elm.text.2"; \
+ target: "elm.icon.1"; \
+ target: "elm.icon.2"; \
+ target: "elm.icon.3"; \
+ target: "elm.flip.content"; \
+ MP_INNERLINE_TARGETS\
+ }
+
+#define GENLIST_PROGRAM_FLIP_3TEXT \
+ program { name: "flip_enabled"; \
+ signal: "elm,state,flip,enabled"; \
+ source: "elm"; \
+ action: STATE_SET "flip_enabled" 0.0; \
+ target: "elm.text.1"; \
+ target: "elm.text.2"; \
+ target: "elm.text.3"; \
+ target: "elm.flip.content"; \
+ } \
+ program { name: "flip_disabled"; \
+ signal: "elm,state,flip,disabled"; \
+ source: "elm"; \
+ action: STATE_SET "default" 0.0; \
+ target: "elm.text.1"; \
+ target: "elm.text.2"; \
+ target: "elm.text.3"; \
+ target: "elm.flip.content"; \
+ }
+
+#define GENLIST_PROGRAM_FLIP_3TEXT_1ICON \
+ program { name: "flip_enabled"; \
+ signal: "elm,state,flip,enabled"; \
+ source: "elm"; \
+ action: STATE_SET "flip_enabled" 0.0; \
+ target: "elm.text.1"; \
+ target: "elm.text.2"; \
+ target: "elm.text.3"; \
+ target: "elm.icon"; \
+ target: "elm.flip.content"; \
+ MP_INNERLINE_TARGETS\
+ } \
+ program { name: "flip_disabled"; \
+ signal: "elm,state,flip,disabled"; \
+ source: "elm"; \
+ action: STATE_SET "default" 0.0; \
+ target: "elm.text.1"; \
+ target: "elm.text.2"; \
+ target: "elm.text.3"; \
+ target: "elm.icon"; \
+ target: "elm.flip.content"; \
+ MP_INNERLINE_TARGETS\
+ }
+
+#define GENLIST_PROGRAM_FLIP_3TEXT_2ICON \
+ program { name: "flip_enabled"; \
+ signal: "elm,state,flip,enabled"; \
+ source: "elm"; \
+ action: STATE_SET "flip_enabled" 0.0; \
+ target: "elm.text.1"; \
+ target: "elm.text.2"; \
+ target: "elm.text.3"; \
+ target: "elm.icon.1"; \
+ target: "elm.icon.2"; \
+ target: "elm.flip.content"; \
+ MP_INNERLINE_TARGETS\
+ } \
+ program { name: "flip_disabled"; \
+ signal: "elm,state,flip,disabled"; \
+ source: "elm"; \
+ action: STATE_SET "default" 0.0; \
+ target: "elm.text.1"; \
+ target: "elm.text.2"; \
+ target: "elm.text.3"; \
+ target: "elm.icon.1"; \
+ target: "elm.icon.2"; \
+ target: "elm.flip.content"; \
+ MP_INNERLINE_TARGETS\
+ }
+
+#define GENLIST_PROGRAM_FLIP_3TEXT_3ICON \
+ program { name: "flip_enabled"; \
+ signal: "elm,state,flip,enabled"; \
+ source: "elm"; \
+ action: STATE_SET "flip_enabled" 0.0; \
+ target: "elm.text.1"; \
+ target: "elm.text.2"; \
+ target: "elm.text.3"; \
+ target: "elm.icon.1"; \
+ target: "elm.icon.2"; \
+ target: "elm.icon.3"; \
+ target: "elm.flip.content"; \
+ MP_INNERLINE_TARGETS\
+ } \
+ program { name: "flip_disabled"; \
+ signal: "elm,state,flip,disabled"; \
+ source: "elm"; \
+ action: STATE_SET "default" 0.0; \
+ target: "elm.text.1"; \
+ target: "elm.text.2"; \
+ target: "elm.text.3"; \
+ target: "elm.icon.1"; \
+ target: "elm.icon.2"; \
+ target: "elm.icon.3"; \
+ target: "elm.flip.content"; \
+ MP_INNERLINE_TARGETS\
+ }
+
+#define GENLIST_EXPANDABLE_PART_PERSPECTIVE_POINT() \
+ part { name: "point"; \
+ type: RECT; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ color: 0 0 0 0; \
+ rel1 { relative: 0.0 0.0; } \
+ rel2 { relative: 1.0 0.0; } \
+ } \
+ }
+
+#define GENLIST_PART_MAP_START( param_x, param_y, param_z ) \
+ description { state: "map_transition" 0.0; \
+ inherit: "default" 0.0; \
+ color: 50 50 50 100; \
+ map { \
+ perspective: "point"; \
+ on: 1; \
+ smooth: 1; \
+ perspective_on: 1; \
+ backface_cull: 1; \
+ rotation { \
+ center: "point"; \
+ x: param_x; \
+ y: param_y; \
+ z: param_z; \
+ } \
+ } \
+ } \
+ description { \
+ state: "hide" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 0; \
+ }
+
+#define GENLIST_PART_MAP_FINISH( param_x, param_y, param_z ) \
+ description { \
+ state: "map_rotate" 0.0; \
+ inherit: "default" 0.0; \
+ map { \
+ perspective: "point"; \
+ on: 1; \
+ smooth: 1; \
+ perspective_on: 1; \
+ backface_cull: 1; \
+ rotation { \
+ center: "point"; \
+ x: param_x; \
+ y: param_y; \
+ z: param_z; \
+ } \
+ } \
+ } \
+
+#define GENLIST_EXPANDABLE_PART_BASE( GE_HEIGHT , GE_COLOR ) \
+ part { name: "base"; \
+ type: RECT; \
+ repeat_events: 1; \
+ scale: 1; \
+ description { state: "default" 0.0; \
+ min: 0 GE_HEIGHT; \
+ color: GE_COLOR; \
+ } \
+ description { state: "selected" 0.0; \
+ inherit: "default" 0.0; \
+ color: GENLIST_PART_LIST_PRESS_COLOR_INC; \
+ } \
+ GENLIST_PART_MAP_START(-90.0, 0.0, 0.0) \
+ GENLIST_PART_MAP_FINISH(0.0, 0.0, 0.0) \
+ }
+
+#define GENLIST_PART_BOTTOM_EFFECT_LINE \
+ part { name: "bottom_line"; \
+ type: RECT; \
+ mouse_events: 0; \
+ description { state: "default" 0.0; \
+ min: 0 1; \
+ fixed: 0 1; \
+ visible: 1; \
+ color: GENLIST_PART_LIST_LINE_COLOR_INC; \
+ rel1 { \
+ relative: 0.0 1.0; \
+ offset: 0 -1; \
+ } \
+ } \
+ GENLIST_PART_MAP_START(-90.0, 0.0, 0.0) \
+ GENLIST_PART_MAP_FINISH(0.0, 0.0, 0.0) \
+ }
+
+#define GENLIST_PART_DIALOGUE_ITEM \
+ part { name: "elm.rect.dialogue"; \
+ type: RECT; \
+ scale: 1; \
+ description { state: "default" 0.0; \
+ min: GENLIST_PADDING_12_INC 0; \
+ fixed: 1 0; \
+ color: GENLIST_DIALOGUE_GROUP_LEFT_BG_COLOR_INC; \
+ rel2.relative: 0.0 1.0; \
+ align: 0.0 0.0; \
+ } \
+ }
+
+#define GENLIST_PART_DIALOGUE_RIGHT_LINE \
+ part { name: "elm.rect.dialogue.right.line"; \
+ type: RECT; \
+ scale: 1; \
+ description { state: "default" 0.0; \
+ min: 1 0; \
+ fixed: 1 0; \
+ visible: 1; \
+ rel1 { \
+ relative: 1.0 0.0; \
+ offset: -1 0; \
+ } \
+ align: 1.0 0.0; \
+ color: GENLIST_PART_LIST_LINE_COLOR_INC; \
+ } \
+ }
+
+#define GENLIST_DIALOGUE_GROUP_LEFT_BG_COLOR_INC 108 168 199 255
+#define GENLIST_PART_DIALOGUE_EXPANDABLE_ITEM \
+ part { name: "elm.rect.dialogue"; \
+ type: RECT; \
+ scale: 1; \
+ description { state: "default" 0.0; \
+ min: GENLIST_PADDING_12_INC 0; \
+ fixed: 1 0; \
+ color: GENLIST_DIALOGUE_GROUP_LEFT_BG_COLOR_INC; \
+ rel2.relative: 0.0 1.0; \
+ align: 0.0 0.0; \
+ } \
+ GENLIST_PART_MAP_START(-90.0, 0.0, 0.0) \
+ GENLIST_PART_MAP_FINISH(0.0, 0.0, 0.0) \
+ }
+
+#define GENLIST_PART_EXPANDABLE_SWALLOW_PADDING \
+ part { name: "elm.swallow.pad"; \
+ type: SWALLOW; \
+ description { state: "default" 0.0; \
+ fixed: 1 0; \
+ align: 0.0 0.5; \
+ rel1 { \
+ relative: 1.0 0.0;\
+ to_x: "elm.padding.left"; \
+ } \
+ rel2.to_x: "elm.padding.left"; \
+ } \
+ GENLIST_PART_MAP_START(-90.0, 0.0, 0.0) \
+ GENLIST_PART_MAP_FINISH(0.0, 0.0, 0.0) \
+ }
+
+#define GENLIST_PROGRAM_MAP_ROTATE_EXPAND_START() \
+ name: "rotaion_transition"; \
+ signal: "flip_item"; \
+ action: STATE_SET "map_transition" 0.0; \
+ after: "rotation";
+
+#define GENLIST_PROGRAM_MAP_ROTATE_EXPAND_FINISH( second ) \
+ name: "rotation"; \
+ action: STATE_SET "map_rotate" 0.0; \
+ transition: LINEAR second; \
+ after: "rotation_end";
+
+#define GENLIST_PROGRAM_MAP_EXPAND_END() \
+ name: "rotation_end"; \
+ action: STATE_SET "default" 0.0;
+
+#define GENLIST_PROGRAM_MAP_ROTATE_CONTRACT_START() \
+ name: "rotation_transition2"; \
+ signal: "elm,state,contract_flip"; \
+ action: STATE_SET "map_rotate" 0.0; \
+ after: "rotation2";
+
+#define GENLIST_PROGRAM_MAP_ROTATE_CONTRACT_FINISH( second ) \
+ name: "rotation2"; \
+ action: STATE_SET "map_transition" 0.0; \
+ transition: LINEAR second; \
+ after: "rotation3";
+
+#define GENLIST_PROGRAM_MAP_CONTRACT_END() \
+ name: "rotation3"; \
+ action: STATE_SET "hide" 0.0;
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include "mp-defines.h"
+
+externals {
+ external: "elm";
+ external: "feedback";
+ }
+
+collections {
+ base_scale: 2.4;
+ sounds {
+ sample { name: "button-pressed" AS_IS;
+ source: MP_BUTTON_PRESSED_NAME;
+ }
+ }
+ plugins {
+ plugin {
+ name: "touch_sound_plugin";
+ source: "feedback";
+ param: "FEEDBACK_TYPE_SOUND FEEDBACK_PATTERN_TAP";
+ }
+ }
+ #include "mp-play-view.edc"
+ #include "mp-player-view.edc"
+ #include "mp-player-view-landscape.edc"
+ #include "mp-play-vew-landscape.edc"
+ #include "mp-play-control.edc"
+ #include "mp-play-menu.edc"
+ #include "mp-play-progress.edc"
+ #include "mp-player-progressbar.edc"
+ #include "mp-play-info.edc"
+ #include "mp-now-playing.edc"
+ #include "mp-rich-info.edc"
+ #include "mp-lrc.edc"
+ #include "mp-play-mini-app.edc"
+ #include "mp-play-option.edc"
+ #include "mp-motion-popup.edc"
+
+#ifdef MP_SQUARE_FEATURE
+ #include "mp-square-view.edc"
+#endif
+
+ #include "mp-view.edc"
+ #include "mp-list-view.edc"
+ #include "mp-all-view.edc"
+ #include "mp-list.edc"
+ #include "mp-volume-widget.edc"
+
+ #include "mp-layout-misc.edc"
+ #include "mp-info-view.edc"
+ #include "mp-set-as.edc"
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+group { name: "elm/layout/application/search_view_layout_hd";
+ parts {
+ part { name: "background";
+ type: RECT;
+ mouse_events: 0;
+ //scale: 1;
+ description {
+ color: 255 255 255 0;
+ state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ }
+ }
+ part {
+ name: "search_bar";
+ type: SWALLOW;
+ //scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 720 105;
+ fixed: 0 1;
+ align: 0.5 0.0;
+ rel1 { relative: 0.0 0.0; to:"background";}
+ rel2 { relative: 1.0 0.0; to:"background";}
+ }
+ }
+ part {
+ name: "elm.swallow.content";
+ type: SWALLOW;
+ //scale: 1;
+ //repeat_events: 1;
+ description {
+ state: "default" 0.0;
+ align: 0.5 0.0;
+ rel1 { relative: 0.0 1.0; to_y:"search_bar";}
+ rel2 { relative: 1.0 1.0;}
+ }
+ }
+ }
+ }
+
+group { name: "elm/layout/application/search_view_layout_wvga";
+ parts {
+ part { name: "background";
+ type: RECT;
+ mouse_events: 0;
+ //scale: 1;
+ description {
+ color: 255 255 255 0;
+ state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ }
+ }
+ part {
+ name: "search_bar";
+ type: SWALLOW;
+ //scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 480 60;
+ max: 480 60;
+ fixed: 0 1;
+ align: 0.5 0.0;
+ rel1 { relative: 0.0 0.0; to:"background";}
+ rel2 { relative: 1.0 0.00; to:"background";}
+ }
+ }
+ part {
+ name: "elm.swallow.content";
+ type: SWALLOW;
+ //scale: 1;
+ //repeat_events: 1;
+ description {
+ state: "default" 0.0;
+ align: 0.5 0.0;
+ fixed: 0 1;
+ rel1 { relative: 0.0 1.0; to_y:"search_bar";}
+ rel2 { relative: 1.0 1.0;}
+ }
+ }
+ }
+ }
+
+
+group { name: "elm/layout/application/search_view_layout_qhd";
+ parts {
+ part { name: "background";
+ type: RECT;
+ mouse_events: 0;
+ //scale: 1;
+ description {
+ color: 255 255 255 0;
+ state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ }
+ }
+ part {
+ name: "search_bar";
+ type: SWALLOW;
+ //scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 580 80;
+ max: 580 80;
+ fixed: 0 1;
+ align: 0.5 0.0;
+ rel1 { relative: 0.0 0.0; to:"background";}
+ rel2 { relative: 1.0 0.10; to:"background";}
+ }
+ }
+ part {
+ name: "elm.swallow.content";
+ type: SWALLOW;
+ //scale: 1;
+ //repeat_events: 1;
+ description {
+ state: "default" 0.0;
+ align: 0.5 0.0;
+ fixed: 0 1;
+ rel1 { relative: 0.0 1.0; to_y:"search_bar";}
+ rel2 { relative: 1.0 1.0;}
+ }
+ }
+ }
+ }
+
+group { name: "elm/layout/application/searches";
+images {
+ image : "core_icon_back.png" COMP;
+ image : "core_contextual_popup_bg.#.png" COMP;
+ }
+parts {
+ part{
+ name: "background";
+ type: RECT;
+ //scale: 1;
+ description {
+ min: 0 60;
+ state: "default";
+ color: 60 181 199 255;
+ }
+ }
+ part{
+ name: "topbar";
+ type: RECT;
+ mouse_events: 1;
+ //scale: 1;
+ description {
+ state: "default" 0.0;
+ color: 60 181 199 255;
+ align: 0.0 1.0;
+ rel1
+ {
+ relative: 0.0 0.0; to: "background";
+ }
+ rel2
+ {
+ relative: 1.0 1.0; to: "background";
+ }
+ }
+ }
+ part{
+ name: "BUTTON_BG";
+ type: RECT;
+ mouse_events: 1;
+ //scale: 1;
+ description{
+ state: "default" 0.0;
+ color: 0 102 102 155;
+ align: 0.5 0.5;
+ visible: 0;
+ rel1
+ {
+ relative: 0.01 0.23; to: "topbar";
+ }
+ rel2
+ {
+ relative: 0.12 0.82; to: "topbar";
+ }
+ }
+ description {
+ state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ }
+ }
+ part{
+ name: "back_button_bg_image";
+ type: IMAGE;
+ mouse_events: 1;
+ //scale: 1;
+ description{
+ state: "default" 0.0;
+ align: 0.5 0.5;
+ min : 40 40;
+ visible: 0;
+ rel1
+ {
+ relative: 0.0 0.0; to: "BUTTON_BG";
+ }
+ rel2
+ {
+ relative: 1.0 1.0; to: "BUTTON_BG";
+ }
+ color: 0 0 0 0;
+ }
+ description {
+ state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ image.normal: "core_contextual_popup_bg.#.png";
+ color: 0 0 0 77;
+ }
+ }
+ part{
+ name: "back_button";
+ type: SWALLOW;
+ mouse_events: 1;
+ //scale: 1;
+ description{
+ align: 0.5 0.5;
+ state: "default" 0.0;
+ rel1
+ {
+ relative: 0.0 0.0; to: "BUTTON_BG";
+ }
+ rel2
+ {
+ relative: 1.0 1.0; to: "BUTTON_BG";
+ }
+ }
+ }
+ part{
+ name: "searching_bg";
+ type: RECT;
+ mouse_events: 1;
+ //scale: 1;
+ description{
+ state: "default" 0.0;
+ color: 255 255 255 255;
+ rel1
+ {
+ relative: 0.13 0.15; to: "topbar";
+ }
+ rel2
+ {
+ relative: 0.95 0.85; to: "topbar";
+ }
+ }
+ }
+ part{
+ name: "searching";
+ type: SWALLOW;
+ mouse_events: 1;
+ //scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1
+ {
+ relative: 0.0 0.0; to: "searching_bg";
+ }
+ rel2
+ {
+ relative: 1.0 1.0; to: "searching_bg";
+ }
+ }
+ }
+ part{
+ name: "searching_check";
+ type:RECT;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ color: 0 0 20 255;
+ rel1
+ {
+ relative: 0.0 0.10;
+ to: "background";
+ }
+ rel2
+ {
+ relative: 1.0 1.0;
+ to: "background";
+ }
+ }
+ }
+ part{
+ name: "elm.swallow.content";
+ type: SWALLOW;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ rel1
+ {
+ relative: 0.0 0.0;
+ to: "searching_check";
+ }
+ rel2
+ {
+ relative: 1.0 1.0;
+ to: "searching_check";
+ }
+ }
+
+ }
+}
+}
+
+
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+
+#define BG_DEFAULT_COLOR_INC 248 246 239 255
+#define BG_EDIT_MODE_COLOR_INC 248 246 239 255
+#define BG_GROUP_LIST_COLOR_INC 248 246 239 255
+#define BG_TRANSPARENT_COLOR_INC 0 0 0 0
+
+#define LAYOUT_BG_COLOR_INC 248 246 239 255
+#define LAYOUT_EDIT_MODE_BG_COLOR_INC 248 246 239 255
+#define LAYOUT_GROUP_LIST_BG_COLOR_INC 248 246 239 255
+#define LAYOUT_INDICATOR_HEIGHT_INC 60
+#define LAYOUT_INDICATOR_COLOR_INC MP_COLOR_BG_BLACK
+
+#define NAVIFRAME_TITLE_TEXT_BG_H_INC 88
+#define NAVIFRAME_LANDSCAPE_TITLE_TEXT_BG_H_INC 76
+#define NAVIFRAME_TITLE_BG_IMAGE_BORDER_INC 8 8 2 2
+#define NAVIFRAME_TITLE_H_INC 96
+#define NAVIFRAME_LANDSCAPE_TITLE_H_INC 91
+#define NAVIFRAME_TAB_TITLE_H_INC 165
+#define NAVIFRAME_LANDSCAPE_TAB_TITLE_H_INC 145
+#define NAVIFRAME_TAB_TITLE_H2_INC 126
+#define NAVIFRAME_TOOLBAR_HEIGHT_INC 98
+#define NAVIFRAME_LANDSCAPE_TOOLBAR_HEIGHT_INC 85
+#define NAVIFRAME_TITLE_FUNC_BTN_SIZE_INC 183 96
+#define NAVIFRAME_LANDSCAPE_TITLE_FUNC_BTN_SIZE_INC 183 91
+#define NAVIFRAME_PREV_FUNC_BTN_SIZE_INC 85 98
+#define NAVIFRAME_LANDSCAPE_PREV_FUNC_BTN_SIZE_INC 85 85
+#define NAVIFRAME_TITLE_TAB_H_INC 75
+#define NAVIFRAME_TITLE_TAB_FONT_SIZE_INC 44
+#define NAVIFRAME_LANDSCAPE_TITLE_TAB_FONT_SIZE_INC 38
+#define NAVIFRAME_TITLE_TAB_TEXT_H_INC 90
+#define NAVIFRAME_LANDSCAPE_TITLE_TAB_TEXT_H_INC 70
+#define NAVIFRAME_TITLE_FONT_SIZE_INC 50
+#define NAVIFRAME_TITLE_FONT_MIN_SIZE_INC 46
+#define NAVIFRAME_LANDSCAPE_TITLE_FONT_SIZE_INC 50
+#define NAVIFRAME_TITLE_SMALL_FONT_SIZE_INC 42
+#define NAVIFRAME_LANDSCAPE_TITLE_SMALL_FONT_SIZE_INC 38
+#define NAVIFRAME_ICON_SIZE_INC 45 45
+#define NAVIFRAME_PADDING_INC 16 0
+#define NAVIFRAME_PADDING2_INC 16 0
+#define NAVIFRAME_BADGE_PADDING_INC 94 0
+#define NAVIFRAME_BADGE_LEFT_PADDING_INC 8 0
+#define NAVIFRAME_BADGE_TOP_PADDING_INC 0 10
+#define NAVIFRAME_BADGE_TEXT_LEFT_PADDING_INC 12 54
+#define NAVIFRAME_BADGE_TEXT_H_INC 34
+#define NAVIFRAME_BADGE_TEXT_MIN_W_INC 30
+#define NAVIFRAME_BADGE_BG_IMAGE_SIZE_INC 54 54
+#define NAVIFRAME_BADGE_BG_IMAGE_BORDER_INC 26 26 0 0
+#define NAVIFRAME_TOOLBAR_BUTTON_BG_PADDING_INC 112 0
+#define NAVIFRAME_ICON_PADDING_INC 61 0
+#define NAVIFRAME_TITLE_TEXT_COLOR_INC 40 40 40 255
+#define NAVIFRAME_TITLE_STYLE_COLOR_INC "#282828"
+#define NAVIFRAME_TITLE_TEXT_SHADOW_COLOR_INC 250 250 250 255
+#define NAVIFRAME_TITLE_STYLE_SHADOW_COLOR_INC "#FAFAFA"
+#define NAVIFRAME_SUBTITLE_TEXT_COLOR_INC 40 40 40 255
+#define NAVIFRAME_SUBTITLE_TEXT_SHADOW_COLOR_INC 250 250 250 255
+#define NAVIFRAME_SUBTITLE_FONT_SIZE_INC 30
+#define NAVIFRAME_LANDSCAPE_SUBTITLE_FONT_SIZE_INC 28
+#define NAVIFRAME_SUBTITLE_H_INC 37
+#define NAVIFRAME_LANDSCAPE_SUBTITLE_H_INC 35
+#define NAVIFRAME_SUBTITLE_TOP_PADDING_H_INC 2
+#define NAVIFRAME_LANDSCAPE_SUBTITLE_TOP_PADDING_H_INC 4
+#define NAVIFRAME_BADGE_TEXT_COLOR_INC 250 250 250 255;
+#define NAVIFRAME_TITLE_BUTTON_DIVIDER_COLOR_INC 138 138 138 82
+#define NAVIFRAME_TITLE_TEXT_SLIDE_EFFECT_IMAGE_SIZE_INC 63 27
+#define NAVIFRAME_TITLE_TEXT_SLIDE_EFFECT_IMAGE_BORDER_INC 0 0 13 12
+
+#define PROGRESSBAR_TITLE_FONT_SIZE_INC 28
+#define PROGRESSBAR_STATUS_TEXT_FONT_SIZE_INC 20
+
+#define POPUP_ITEM_BG_DEFAULT_MIN_INC 648 112
+#define POPUP_ITEM_LEFT_MIN_PADDING_INC 26 0
+#define POPUP_ITEM_RIGHT_MIN_PADDING_INC 26 0
+#define POPUP_ITEM_ICON_TEXT_PADDING_INC 16 0
+#define POPUP_ITEM_TEXT_DISABLED_COLOR_INC 128 128 128 255
+#define POPUP_ITEM_TEXT_DISABLED_VISIBLE_COLOR_INC 128 128 128 255
+
+#define POPUP_DEFAULT_TITLE_TEXT_COLOR_INC "#3b73b6"
+#define POPUP_DEFAULT_TITLE_TEXT_SHADOW_COLOR "#ffffff"
+#define POPUP_DEFAULT_TITLE_TEXT_SHADOW_STYLE "far_shadow,bottom"
+#define POPUP_DEFAULT_DESCRIPTION_TEXT_COLOR_INC "#000000"
+#define POPUP_DIM_BG_DEFAULT_COLOR_INC 0 0 0 0
+#define POPUP_DIM_BG_COLOR_INC 0 0 0 127
+#define POPUP_DIM_BG_CLICKED_COLOR_INC 0 0 0 127
+#define POPUP_DIM_BG_TRANS_COLOR_INC 0 0 0 0
+#define POPUP_DIM_BG_CLICKED_TRANS_COLOR_INC 0 0 0 50
+
+#define CTXPOPUP_WIDTH_MIN_INC 386
+#define CTXPOPUP_WIDTH_MAX_INC 620
+#define CTXPOPUP_BUBBLE_BG_IMAGE_BORDER 24 24 22 30
+#define CTXPOPUP_BUBBLE_MASK_IMAGE_BORDER 10 10 10 10
+#define CTXPOPUP_SHADOW_LEFT_PADDING 10
+#define CTXPOPUP_SHADOW_RIGHT_PADDING 10
+#define CTXPOPUP_SHADOW_TOP_PADDING 8
+#define CTXPOPUP_SHADOW_BOTTOM_PADDING 16
+#define CTXPOPUP_CONTENT_PADDING 4
+#define CTXPOPUP_SCROLLER_PADDING 8
+#define CTXPOPUP_SCROLLER_MIN_SIZE_INC 9 12
+#define CTXPOPUP_FRAME_CORNER_ARROW_PADDING 20
+#define CTXPOPUP_BG_COLOR_INC 0 0 0 0
+#define CTXPOPUP_BG_PRESS_COLOR_INC 42 137 194 255
+#define CTXPOPUP_MAIN_TEXT_COLOR_INC 255 255 255 255
+#define CTXPOPUP_MAIN_TEXT_DIM_COLOR_INC 255 255 255 178
+#define CTXPOPUP_MAIN_TEXT_PRESS_COLOR_INC 255 255 255 255
+#define CTXPOPUP_LIST_MAIN_TEXT_COLOR_INC 255 255 255 255
+#define CTXPOPUP_LIST_MAIN_TEXT_DIM_COLOR_INC 255 255 255 178
+#define CTXPOPUP_LIST_MAIN_TEXT_PRESS_COLOR_INC 255 255 255 255
+#define CTXPOPUP_SEPARATOR_PXLINE_SIZE_INC 1
+#define CTXPOPUP_SEPARATOR_PADDING_INC 20
+#define CTXPOPUP_SEPARATOR_COLOR_INC 45 45 45 255
+#define CTXPOPUP_SEPARATOR2_COLOR_INC 91 91 91 255
+#define CTXPOPUP_HORIZONTAL_SEPARATOR_1_COLOR_INC 45 45 45 255
+#define CTXPOPUP_HORIZONTAL_SEPARATOR_2_COLOR_INC 91 91 91 255
+#define CTXPOPUP_HORIZONTAL_SEPARATOR_MIN_SIZE_INC 1 74
+#define CTXPOPUP_HORIZONTAL_SEPARATOR_MAX_SIZE_INC 1 74
+#define CTXPOPUP_TP_BG_COLOR_INC 7 180 211 255
+#define CTXPOPUP_ITEM_DISABLED_COLOR 0 0 0 0
+#define CTXPOPUP_LIST_MAIN_TEXT_SIZE_INC 40
+#define CTXPOPUP_MAIN_TEXT_SIZE_INC 32
+#define CTXPOPUP_ITEM_HEIGHT_MIN_INC 110
+#define CTXPOPUP_ITEM_HEIGHT_MAX_INC 130
+#define CTXPOPUP_TEXT_ITEM_HORIZONTAL_WIDTH_INC 128
+#define CTXPOPUP_ICON_ITEM_HORIZONTAL_WIDTH_INC 112
+#define CTXPOPUP_ITEM_HORIZONTAL_HEIGHT_INC 96
+#define CTXPOPUP_ICON_WIDTH_INC 64
+#define CTXPOPUP_ICON_HEIGHT_INC 64
+#define CTXPOPUP_ICON_HORIZONTAL_WIDTH_INC 48
+#define CTXPOPUP_ICON_HORIZONTAL_HEIGHT_INC 48
+#define CTXPOPUP_ARROW_SIZE_INC 48 48
+#define CTXPOPUP_VERTICAL_ARROW_SIZE_INC 40 30
+#define CTXPOPUP_HORIZONTAL_ARROW_SIZE_INC 30 40
+#define CTXPOPUP_ITEM_TEXT_PADDING_INC 20
+#define CTXPOPUP_ITEM_ICON_PADDING_INC 16
+#define CTXPOPUP_IE_ARROW_SIZE_INC 52
+#define CTXPOPUP_IE_FONT_SIZE_INC 40
+#define CTXPOPUP_IE_ITEM_PADDING_INC 22
+#define CTXPOPUP_IE_ITEM_HEIGHT_INC 75
+#define CTXPOPUP_IE_CONTENT_WIDTH_MAX_INC 720
+#define CTXPOPUP_IE_ICON_WIDTH_INC 60
+#define CTXPOPUP_IE_ICON_HEIGHT_INC 60
+#define CTXPOPUP_TP_ARROW_SIZE_INC 30
+#define CTXPOPUP_TP_HEIGHT_INC 106
+#define CTXPOPUP_MORE_WIDTH_INC 502
+#define CTXPOPUP_MORE_ITEM_PADDING_INC 16
+#define CTXPOPUP_MORE_ITEM_HEIGHT_MIN_INC 110
+#define CTXPOPUP_MORE_ITEM_HEIGHT_MAX_INC 130
+#define CTXPOPUP_MORE_ICON_WIDTH_INC 64
+#define CTXPOPUP_MORE_ICON_HEIGHT_INC 64
+#define CTXPOPUP_MORE_ITEM_TEXT_SIZE_INC 40
+#define CTXPOPUP_MORE_SEPARATOR_PADDING_INC 20
+#define CTXPOPUP_TOOLBAR_SEGMENTEDCONTROL_WIDTH_INC 336
+#define CTXPOPUP_TOOLBAR_SEGMENTEDCONTROL_HEIGHT_MIN_INC 90
+#define CTXPOPUP_TOOLBAR_SEGMENTEDCONTROL_HEIGHT_MAX_INC 130
+
+#define DISKSELECTOR_DF_FONT_COLOR_INC 255 255 255 178
+#define DISKSELECTOR_DF_FONT_MOUSE_DOWN_COLOR_INC 255 255 255 255
+#define DISKSELECTOR_DF_ITEM_MIN_SIZE_INC 70 106;
+#define DISKSELECTOR_DF_FONT_SIZE_INC 48
+#define DISKSELECTOR_DF_DATA_MIN_HEIGHT_INC "106"
+
+#define LABEL_TEXT_BLOCK_STYLE_COLOR_INC "#000000"
+#define LABEL_FONT_SIZE_INC 36
+
+#define GENGRID_FONT_STYLE_18_INC "26"
+#define GENGRID_PART_BG_COLOR_INC 0 0 0 0
+#define GENGRID_PART_REORDER_DEFAULT_BG_COLOR_INC 0 0 0 77
+#define GENGRID_PART_REORDER_BG_COLOR_INC 0 0 0 77
+#define GENGRID_PART_TEXTBLOCK_STYLE_COLOR_INC "#000000"
+#define GENGRID_PART_BACKGROUND_COLOR_INC 0 0 0 0
+#define GENGRID_EDIT_MODE_CHECK_TOP_RIGHT_INC 6 6
+#define GENGRID_EDIT_MODE_CHECK_SIZE_INC 54 54
+#define GENGRID_EDIT_MODE_CHECK_BG_COLOR_INC 0 0 0 154
+#define GENGRID_ITEM_CHECK_TOP_RIGHT_PADDING_INC 6 6
+
+#define GENGRID_DEFAULT_LEFT_TOP_PADDING_INC 2 2
+#define GENGRID_DEFAULT_RIGHT_BOTTOM_PADDING_INC 2 2
+#define GENGRID_DEFAULT_ITEM_BG_LEFT_TOP_PADDING_INC 1 1
+#define GENGRID_DEFAULT_ITEM_BG_RIGHT_BOTTOM_PADDING_INC 1 1
+#define GENGRID_DEFAULT_ITEM_REAL_BG_RIGHT_PADDING_INC 0 0
+#define GENGRID_DEFAULT_LEFT_TOP_FOCUS_PADDING_INC 2 2
+#define GENGRID_DEFAULT_RIGHT_BOTTOM_FOCUS_PADDING_INC 2 2
+
+#define GENGRID_LANDSCAPE_LEFT_TOP_PADDING_INC 5 5
+#define GENGRID_LANDSCAPE_RIGHT_BOTTOM_PADDING_INC 5 5
+#define GENGRID_LANDSCAPE_LEFT_TOP_FOCUS_PADDING_INC 4 4
+#define GENGRID_LANDSCAPE_RIGHT_BOTTOM_FOCUS_PADDING_INC 4 4
+#define GENGRID_LANDSCAPE_GRID_TEXT_LEFT_TOP_PADDING_INC 5 5
+#define GENGRID_LANDSCAPE_GRID_TEXT_RIGHT_BOTTOM_PADDING_INC 5 59
+#define GENGRID_LANDSCAPE_GRID_TEXT_LEFT_TOP_FOCUS_PADDING_INC 4 4
+#define GENGRID_LANDSCAPE_GRID_TEXT_RIGHT_BOTTOM_FOCUS_PADDING_INC 4 60
+
+#define GENGRID_GRID_TEXT_LEFT_TOP_PADDING_INC 2 2
+#define GENGRID_GRID_TEXT_RIGHT_BOTTOM_PADDING_INC 2 62
+#define GENGRID_GRID_TEXT_ITEM_BG_LEFT_TOP_PADDING_INC 1 1
+#define GENGRID_GRID_TEXT_ITEM_BG_RIGHT_BOTTOM_PADDING_INC 1 1
+#define GENGRID_GRID_TEXT_ITEM_REAL_BG_RIGHT_PADDING_INC 0 0
+#define GENGRID_GRID_TEXT_LEFT_TOP_FOCUS_PADDING_INC 2 2
+#define GENGRID_GRID_TEXT_RIGHT_BOTTOM_FOCUS_PADDING_INC 2 62
+
+#define GENGRID_GRID_TEXT2_LEFT_TOP_PADDING_INC 2 62
+#define GENGRID_GRID_TEXT2_RIGHT_BOTTOM_PADDING_INC 2 2
+#define GENGRID_GRID_TEXT2_ITEM_BG_LEFT_TOP_PADDING_INC 1 1
+#define GENGRID_GRID_TEXT2_ITEM_BG_RIGHT_BOTTOM_PADDING_INC 1 1
+#define GENGRID_GRID_TEXT2_ITEM_REAL_BG_RIGHT_PADDING_INC 0 0
+#define GENGRID_GRID_TEXT2_LEFT_TOP_FOCUS_PADDING_INC 2 62
+#define GENGRID_GRID_TEXT2_RIGHT_BOTTOM_FOCUS_PADDING_INC 2 2
+
+// Please do not use these !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+#define GENLIST_PADDING_5_INC 5
+#define GENLIST_PADDING_24_INC 24
+#define GENLIST_PADDING_64_INC 64
+#define GENLIST_PADDING_88_INC 88
+#define GENLIST_PADDING_34_INC 34
+#define GENLIST_PADDING_32_INC 32
+#define GENLIST_PADDING_16_INC 16
+#define GENLIST_SIZE_80_INC 80
+
+#define BUBBLE_DISCLIP_COLOR 255 255 255 102 // opacity 40%
+
+// List bg color
+#define GENLIST_LIST_BG_COLOR 248 246 239 255
+#define GENLIST_DIALOGUE_BG_COLOR 248 246 239 255
+#define GENLIST_LIST_PRESS_COLOR 87 135 194 255
+#define GENLIST_LIST_DIM_COLOR 219 217 212 255
+#define GENLIST_LIST_LIVEBOX_BG_COLOR MP_COLOR_BG_BLACK
+#define GENLIST_LIST_LIVEBOX_PRESS_COLOR 33 49 99 255
+#define GENLIST_LIST_LIVEBOX_COLOR 255 255 255 25
+#define GENLIST_LIST_LINE1_COLOR 204 203 199 255
+#define GENLIST_LIST_LINE2_COLOR 255 255 255 255
+#define GENLIST_LIST_DIVIDER1_COLOR 185 184 178 255
+#define GENLIST_LIST_DIVIDER2_COLOR 255 255 255 255
+#define GENLIST_LIST_CENTERLINE1_COLOR 206 205 202 255
+#define GENLIST_SELECT_ALL_BG_COLOR 220 218 211 255
+
+// now playing list black theme
+#define GENLIST_LIST_BG_COLOR_BLACK 8 8 8 0
+#define GENLIST_LIST_PRESS_COLOR_BLACK 33 49 99 255
+#define GENLIST_LIST_DIM_COLOR_BLACK 8 8 8 255
+
+#define GENLIST_LIST_LINE1_COLOR_BLACK 8 8 8 255
+#define GENLIST_LIST_LINE2_COLOR_BLACK 64 64 64 255
+
+#define GENLIST_PART_MATCH_TAG_COLOR_BLACK "+ color=#FE5400"
+#define GENLIST_LIST_MAIN_TEXT_UNREAD_COLOR_STYLE_BLACK "#FAFAFAFF"
+#define GENLIST_LIST_MAIN_TEXT_UNREAD_DIM_COLOR_STYLE_BLACK "#6B6C6DFF"
+#define GENLIST_LIST_TEXT_FOCUS_COLOR_STYLE_BLACK "#FAFAFAFF"
+#define GENLIST_LIST_MAIN_TEXT_LIVEBOX_COLOR_STYLE_BLACK "#F5F5F5FF"
+
+//end of now playing black theme
+
+// Group Index
+#define GENLIST_GROUPINDEX_LIST_SIZE 32
+#define GENLIST_GROUPINDEX_LIST_COLOR 59 115 182 255
+#define GENLIST_GROUPINDEX_LIST_FOCUS_COLOR 255 255 255 255
+
+#define GENLIST_GROUPINDEX_LIST_BG_COLOR 248 246 239 255
+#define GENLIST_GROUPINDEX_LIST_PRESS_COLOR 132 162 198 255
+#define GENLIST_GROUPINDEX_LINE_COLOR 59 115 182 255
+#define GENLIST_GROUPINDEX_LINE_FOCUS_COLOR 255 255 255 255
+
+// Genlist Text
+#define GENLIST_LIST_MAIN_TEXT_SIZE 44
+#define GENLIST_LIST_MAIN_TEXT_UNREAD_COLOR 0 0 0 255
+#define GENLIST_LIST_MAIN_TEXT_UNREAD_COLOR_STYLE "#000000FF"
+#define GENLIST_LIST_MAIN_TEXT_UNREAD_DIM_COLOR 0 0 0 102
+#define GENLIST_LIST_MAIN_TEXT_UNREAD_DIM_COLOR_STYLE "#00000066"
+#define GENLIST_LIST_MAIN_TEXT_READ_COLOR 128 128 128 255
+#define GENLIST_LIST_MAIN_TEXT_READ_DIM_COLOR 128 128 128 204
+#define GENLIST_LIST_TEXT_FOCUS_COLOR 255 255 255 255
+#define GENLIST_LIST_TEXT_FOCUS_COLOR_STYLE "#FFFFFFFF"
+#define GENLIST_LIST_MAIN_TEXT_LIVEBOX_COLOR_STYLE "#FFFFFFFF"
+
+#define GENLIST_LIST_SUB_TEXT_LIVEBOX_COLOR_STYLE "#C9C9C9FF"
+#define GENLIST_LIST_SUB_TEXT_SIZE 32
+#define GENLIST_LIST_SUB_TEXT_DEFAULT_COLOR 128 128 128 255
+#define GENLIST_LIST_SUB_ALBUM_TEXT_DEFAULT_COLOR 14 104 173 255
+#define GENLIST_LIST_SUB_TEXT_DEFAULT_COLOR_STYLE "#808080FF"
+#define GENLIST_LIST_SUB_TEXT_DEFAULT_DIM_COLOR 128 128 128 204
+#define GENLIST_LIST_SUB_TEXT_DEFAULT_DIM_COLOR_STYLE "#808080CC"
+#define GENLIST_LIST_SUB_TEXT_SETTINGS_COLOR 59 115 182 255
+#define GENLIST_LIST_SUB_TEXT_SETTINGS_COLOR_STYLE "#3B73B6FF"
+#define GENLIST_LIST_SUB_TEXT_SETTINGS_DIM_COLOR 59 115 182 76
+#define GENLIST_LIST_SUB_TEXT_SETTINGS_DIM_COLOR_STYLE "#3B73B64C"
+
+#define GENLIST_CONTENTS_TEXT_SIZE 28
+#define GENLIST_CONTENTS_TEXT_COLOR 128 128 128 255
+#define GENLIST_CONTENTS_TEXT_COLOR_STYLE "#808080FF"
+
+#define GENLIST_LIST_BUBBLE_TEXT_SIZE 32
+#define GENLIST_LIST_BUBBLE_TEXT_COLOR 249 249 249 255
+
+// Dialogue group
+#define GENLIST_DIALOGUE_GROUP_TITLE_SIZE 32
+#define GENLIST_DIALOGUE_GROUP_TITLE_COLOR 59 115 182 255
+
+#define GENLIST_APPS_NAME_SIZE 30
+#define GENLIST_APPS_NAME_COLOR 128 128 128 255
+#define GENLIST_APPS_INC_SIZE 30
+#define GENLIST_APPS_INC_COLOR MP_COLOR_BG_BLACK
+#define GENLIST_APPS_RATING_SIZE 24
+#define GENLIST_APPS_RATING_COLOR 128 128 128 255
+#define GENLIST_APPS_PRICE_SIZE 24
+#define GENLIST_APPS_PRICE_ORIGINAL_COLOR 59 115 182 255
+#define GENLIST_APPS_PRICE_SALE_COLOR 229 33 52 255
+#define GENLIST_APPS_PRICE_FREE_COLOR 59 115 182 255
+
+#define DIALOGUE_PASSWORD_TITLE_SIZE 32
+#define DIALOGUE_PASSWORD_TITLE_COLOR 128 128 128 255
+
+#define GENLIST_DIALOGUE_GROUP_HELP_TEXT_SIZE 32
+#define GENLIST_DIALOGUE_GROUP_HELP_TEXT_COLOR_STYLE "#808080FF"
+#define GENLIST_PART_MATCH_TAG_COLOR "+ color=#2A71E7"
+
+#define BUTTON_TEXT_SHADOW_NORMAL_COLOR_INC 255 255 255 255
+#define BUTTON_TEXT_SHADOW_DIM_COLOR_INC 255 255 255 255
+#define BUTTON_TEXT_SHADOW_PRESSED_COLOR_INC 0 0 0 255
+
+#define BUTTON_NAVIFRAME_TEXT_SHADOW_NORMAL_COLOR_INC 255 255 255 255
+#define BUTTON_NAVIFRAME_TEXT_SHADOW_DIM_COLOR_INC 0 0 0 163
+
+#define BUTTON_TICKER_TEXT_SHADOW_NORMAL_COLOR_INC 0 0 0 127
+#define BUTTON_TICKER_TEXT_SHADOW_NORMAL_COLOR_INC 0 0 0 127
+
+#define BUTTON_NUMBER_TEXT_NORMAL_COLOR_INC 50 50 50 255
+#define BUTTON_NUMBER_TEXT_PRESSED_COLOR_INC 248 246 239 255
+#define BUTTON_NUMBER_TEXT_FOCUSED_COLOR_INC 248 246 239 255
+#define BUTTON_NUMBER_TEXT_DISABLE_VISIBLE_COLOR_INC 50 50 50 76
+
+#define BUTTON_SEARCH_BUTTON_TEXT_NORMAL_COLOR_INC 58 58 58 255
+#define BUTTON_SEARCH_BUTTON_TEXT_PRESSED_COLOR_INC 248 246 239 255
+#define BUTTON_SEARCH_BUTTON_TEXT_FOCUSED_COLOR_INC 248 246 239 255
+#define BUTTON_SEARCH_BUTTON_TEXT_DISABLED_COLOR_INC 58 58 58 76
+#define BUTTON_SEARCH_BUTTON_TEXT_SHADOW_PRESSED_COLOR_INC 0 0 0 163
+
+#define BUTTON_SEARCH_BUTTON_SEND_NORMAL_COLOR_INC 248 246 239 255
+#define BUTTON_SEARCH_BUTTON_SEND_PRESSED_COLOR_INC 248 246 239 255
+#define BUTTON_SEARCH_BUTTON_SEND_FOCUSED_COLOR_INC 248 246 239 255
+#define BUTTON_SEARCH_BUTTON_SEND_DISABLED_COLOR_INC 248 246 239 76
+#define BUTTON_SEARCH_BUTTON_SEND_SHADOW_NORMAL_COLOR_INC 0 0 0 163
+
+#define BUTTON_SEARCH_BUTTON_CANCEL_NORMAL_COLOR_INC 248 246 239 255
+#define BUTTON_SEARCH_BUTTON_CANCEL_PRESSED_COLOR_INC 248 246 239 255
+#define BUTTON_SEARCH_BUTTON_CANCEL_FOCUSED_COLOR_INC 248 246 239 255
+#define BUTTON_SEARCH_BUTTON_CANCEL_DISABLED_COLOR_INC 248 246 239 76
+#define BUTTON_SEARCH_BUTTON_CANCEL_SHADOW_NORMAL_COLOR_INC 0 0 0 163
+
+#define BUTTON_SEND_BUBBLE_TEXT_NORMAL_COLOR_INC 58 58 58 255
+#define BUTTON_SEND_BUBBLE_TEXT_PRESSED_COLOR_INC 58 58 58 255
+#define BUTTON_SEND_BUBBLE_TEXT_FOCUSED_COLOR_INC 58 58 58 255
+#define BUTTON_SEND_BUBBLE_TEXT_DISABLED_COLOR_INC 58 58 58 76
+#define BUTTON_SEND_BUBBLE_TEXT_SHADOW_NORMAL_COLOR_INC 255 255 255 153
+
+#define BUTTON_RECEIVE_BUBBLE_TEXT_NORMAL_COLOR_INC 248 246 239 255
+#define BUTTON_RECEIVE_BUBBLE_TEXT_PRESSED_COLOR_INC 248 246 239 255
+#define BUTTON_RECEIVE_BUBBLE_TEXT_FOCUSED_COLOR_INC 248 246 239 255
+#define BUTTON_RECEIVE_BUBBLE_TEXT_DISABLED_COLOR_INC 248 246 239 76
+#define BUTTON_RECEIVE_BUBBLE_TEXT_SHADOW_NORMAL_COLOR_INC 0 0 0 153
+
+#define BUTTON_TEXT_STYLE1_NORMAL_COLOR_INC 58 58 58 255
+#define BUTTON_TEXT_STYLE1_PRESSED_COLOR_INC 248 246 239 255
+#define BUTTON_TEXT_STYLE1_FOCUSED_COLOR_INC 248 246 239 255
+#define BUTTON_TEXT_STYLE1_DISABLED_COLOR_INC 58 58 58 76
+
+#define BUTTON_POPUP_BUTTON_TEXT_NORMAL_COLOR_INC 58 58 58 255
+#define BUTTON_POPUP_BUTTON_TEXT_PRESSED_COLOR_INC 248 246 239 255
+#define BUTTON_POPUP_BUTTON_TEXT_FOCUSED_COLOR_INC 248 246 239 255
+#define BUTTON_POPUP_BUTTON_TEXT_DISABLED_COLOR_INC 58 58 58 76
+
+#define BUTTON_EXPAND_BUTTON_NORMAL_COLOR_INC 249 249 249 255
+#define BUTTON_EXPAND_BUTTON_PRESSED_COLOR_INC 249 249 249 255
+#define BUTTON_EXPAND_BUTTON_FOCUSED_COLOR_INC 249 249 249 255
+#define BUTTON_EXPAND_BUTTON_DISABLED_COLOR_INC 48 49 50 255
+
+#define BUTTON_DELETE_BUTTON_TEXT_NORMAL_COLOR_INC 248 246 239 255
+#define BUTTON_DELETE_BUTTON_TEXT_PRESSED_COLOR_INC 248 246 239 255
+#define BUTTON_DELETE_BUTTON_TEXT_FOCUSED_COLOR_INC 248 246 239 255
+#define BUTTON_DELETE_BUTTON_TEXT_DISABLED_COLOR_INC 248 246 239 76
+
+#define BUTTON_SWEEP_BUTTON_TEXT_NORMAL_COLOR_INC 58 58 58 255
+#define BUTTON_SWEEP_BUTTON_TEXT_PRESSED_COLOR_INC 248 246 239 255
+#define BUTTON_SWEEP_BUTTON_TEXT_FOCUSED_COLOR_INC 248 246 239 255
+#define BUTTON_SWEEP_BUTTON_TEXT_DISABLED_COLOR_INC 58 58 58 76
+
+#define BUTTON_DEFAULT_STYLE_BUTTON_TEXT_NORMAL_COLOR_INC 50 50 50 255
+#define BUTTON_DEFAULT_STYLE_BUTTON_TEXT_PRESSED_COLOR_INC 248 246 239 255
+#define BUTTON_DEFAULT_STYLE_BUTTON_TEXT_FOCUSED_COLOR_INC 248 246 239 255
+#define BUTTON_DEFAULT_STYLE_BUTTON_TEXT_DISABLED_COLOR_INC 50 50 50 255
+
+#define BUTTON_CONTACT_BUTTON_TEXT_NORMAL_COLOR_INC 255 255 255 255
+#define BUTTON_CONTACT_BUTTON_TEXT_PRESSED_COLOR_INC 255 255 255 255
+#define BUTTON_CONTACT_BUTTON_TEXT_FOCUSED_COLOR_INC 255 255 255 255
+#define BUTTON_CONTACT_BUTTON_TEXT_DISABLED_COLOR_INC 255 255 255 76
+
+#define BUTTON_NAVIFRAME_TITLE_ICON_CLIPPER_NORMAL_COLOR_INC 255 255 255 255
+#define BUTTON_NAVIFRAME_TITLE_ICON_CLIPPER_DEFAULT_COLOR_INC 101 101 101 255
+#define BUTTON_NAVIFRAME_TITLE_ICON_CLIPPER_DEFAULT_BLACK_COLOR_INC 255 255 255 255
+#define BUTTON_NAVIFRAME_TITLE_ICON_CLIPPER_PRESSED_COLOR_INC 64 147 247 255
+#define BUTTON_NAVIFRAME_TITLE_ICON_CLIPPER_DISABLED_COLOR_INC 101 101 101 76
+
+#define BUTTON_NAVIFRAME_TITLE_TEXT_NORMAL_COLOR_INC 77 77 77 255
+#define BUTTON_NAVIFRAME_TITLE_TEXT_PRESSED_COLOR_INC 248 246 239 255
+#define BUTTON_NAVIFRAME_TITLE_TEXT_FOCUSED_COLOR_INC 248 246 239 255
+#define BUTTON_NAVIFRAME_TITLE_TEXT_DISABLED_COLOR_INC 58 58 58 76
+
+#define BUTTON_DATETIME_AMPM_BG_MIN_INC 106 56
+
+#define BUTTON_SEARCH_BUTTON_BG_BORDER_INC 12 12 12 12
+#define BUTTON_SEARCH_BUTTON_BG_MIN_INC 100 66
+#define BUTTON_SEARCH_BUTTON_VISIBLE_BG_MIN_INC 148 66
+#define BUTTON_SEARCH_BUTTON_ICONONLY_BG_MIN_INC 66 66
+#define BUTTON_SEARCH_BUTTON_TEXT_FONT_SIZE_INC 30
+
+#define BUTTON_BUBBLE_CIRCLE_BG_MIN_MAX_INC 74 74
+#define BUTTON_BUBBLE_CIRCLE_IMAGE_MIN_MAX_INC 74 74
+#define BUTTON_BUBBLE_CIRCLE_MIN_WIDTH_INC 74
+#define BUTTON_BUBBLE_CIRCLE_MIN_HEIGHT_INC 74
+
+#define BUTTON_SENT_BUBBLE_BG_BORDER_INC 12 12 12 12
+#define BUTTON_SENT_BUBBLE_TEXT_FONT_SIZE_INC 36
+#define BUTTON_SENT_BUBBLE_TEXT_MULTILINE_FONT_SIZE_INC 28
+
+#define BUTTON_RECEIVE_BUBBLE_BG_BORDER_INC 12 12 12 12
+#define BUTTON_RECEIVE_BUBBLE_TEXT_FONT_SIZE_INC 36
+#define BUTTON_RECEIVE_BUBBLE_TEXT_MULTILINE_FONT_SIZE_INC 28
+
+#define BUTTON_TEXT_STYLE1_BG_MIN_INC 100 74
+#define BUTTON_TEXT_STYLE1_VISIBLE_BG_MIN_INC 148 74
+#define BUTTON_TEXT_STYLE1_ICONONLY_BG_MIN_INC 74 74
+#define BUTTON_TEXT_STYLE1_BG_BORDER_INC 12 12 12 12
+#define BUTTON_TEXT_STYLE1_PADDING_MIN_INC 12 0
+#define BUTTON_TEXT_STYLE1_VISIBLE_ICON_RECT_MIN_MAX_INC 44 44
+#define BUTTON_TEXT_STYLE1_VISIBLE_PADDING_ICON_TEXT_MIN_INC 4 0
+#define BUTTON_TEXT_STYLE1_VISIBLE_ICON_MIN_MAX_INC 44 44
+#define BUTTON_TEXT_STYLE1_ICONONLY_ICON_MIN_MAX_INC 44 44
+#define BUTTON_TEXT_STYLE1_FONT_SIZE_INC 36
+
+#define BUTTON_TEXT_STYLE2_BG_MIN_INC 100 66
+#define BUTTON_TEXT_STYLE2_VISIBLE_BG_MIN_INC 148 66
+#define BUTTON_TEXT_STYLE2_ICONONLY_BG_MIN_INC 74 66
+#define BUTTON_TEXT_STYLE2_BG_BORDER_INC 12 12 12 12
+#define BUTTON_TEXT_STYLE2_PADDING_MIN_INC 12 0
+#define BUTTON_TEXT_STYLE2_VISIBLE_ICON_RECT_MIN_MAX_INC 44 44
+#define BUTTON_TEXT_STYLE2_VISIBLE_PADDING_ICON_TEXT_MIN_INC 4 0
+#define BUTTON_TEXT_STYLE2_VISIBLE_ICON_MIN_MAX_INC 44 44
+#define BUTTON_TEXT_STYLE2_ICONONLY_ICON_MIN_MAX_INC 44 44
+#define BUTTON_TEXT_STYLE2_FONT_SIZE_INC 36
+
+#define BUTTON_CIRCLE_STYLE_BG_MIN_MAX_INC 74 74
+#define BUTTON_CIRCLE_STYLE_IMAGE_MIN_MAX_INC 74 74
+#define BUTTON_CIRCLE_STYLE_CONTENT_MIN_MAX_INC 44 44
+
+#define BUTTON_CIRCLE_NORMAL_MIN_WIDTH_INC 74
+#define BUTTON_CIRCLE_NORMAL_MIN_HEIGHT_INC 74
+#define BUTTON_CIRCLE_EXTENEDED_MIN_WIDTH_INC 110
+#define BUTTON_CIRCLE_EXTENEDED_MIN_HEIGHT_INC 110
+
+#define BUTTON_POPUP_BG_NORMAL_MIN_INC 30 74
+#define BUTTON_POPUP_BG_BORDER_INC 12 12 12 12
+#define BUTTON_POPUP_PADDING_MIN_INC 12 3
+#define BUTTON_POPUP_PADDING_ICON_TEXT_VISIBLE_MIN_INC 8 0
+#define BUTTON_POPUP_ICON_ICONONLY_MIN_INC 44 44
+#define BUTTON_POPUP_TEXT_MIN_INC 64 20
+#define BUTTON_POPUP_TEXT_FONT_SIZE_INC 36
+
+#define BUTTON_EDIT_STYLE_BG_NORMAL_MIN_MAX_INC 74 74
+#define BUTTON_EDIT_STYLE_IMAGE_NORMAL_MIN_MAX_INC 74 74
+
+#define BUTTON_EDIT_NORMAL_MIN_WIDTH_INC 74
+#define BUTTON_EDIT_NORMAL_MIN_HEIGHT_INC 74
+#define BUTTON_EDIT_EXTENDED_MIN_WIDTH_INC 90
+#define BUTTON_EDIT_EXTENDED_MIN_HEIGHT_INC 90
+
+#define BUTTON_SWEEP_BG_NORMAL_MIN_INC 74 74
+#define BUTTON_SWEEP_BG_BORDER_INC 12 12 12 12
+#define BUTTON_SWEEP_PADDING_MIN_INC 12 0
+#define BUTTON_SWEEP_ICON_RECT_MIN_INC 0 44
+#define BUTTON_SWEEP_PADDING_ICON_TEXT_VISIBLE_MIN_INC 8 0
+#define BUTTON_SWEEP_ICONONLY_ICON_MIN_INC 44 44
+#define BUTTON_SWEEP_TEXT_MIN_INC 50 26
+#define BUTTON_SWEEP_FONT_SIZE_INC 26
+
+#define BUTTON_EXPAND_BUTTON_TEXT_SIZE_INC 30
+
+#define BUTTON_EXPANDABLE_NUMBER_BG_NORMAL_MIN_MAX_INC 98 46
+#define BUTTON_EXPANDABLE_NUMBER_BG_BORDER_INC 12 12 12 12
+#define BUTTON_EXPANDABLE_NUMBER_PADDING_MIN_INC 12 1
+#define BUTTON_EXPANDABLE_NUMBER_ICON_RECT_EXPAND_MIN_MAX_INC 24 46
+#define BUTTON_EXPANDABLE_NUMBER_TEXT_MIN_MAX_INC 50 46
+#define BUTTON_EXPANDABLE_NUMBER_FONT_SIZE_INC 28
+
+#define BUTTON_CONTACT_BG_MIN_INC 12 66
+#define BUTTON_CONTACT_BG_BORDER_INC 6 6 6 6
+#define BUTTON_CONTACT_LEFT_PADDING_MIN_INC 12 0
+#define BUTTON_CONTACT_RIGHT_PADDING_MIN_INC 12 0
+#define BUTTON_CONTACT_FONT_SIZE_INC 32
+
+#define BUTTON_NAVIFRAME_BACK_BUTTON_BG_MIN_MAX_INC 86 98
+#define BUTTON_NAVIFRAME_BACK_BUTTON_MIN_MAX_INC 60 60
+
+#define BUTTON_NAVIFRAME_DEFAULT_TEXT_COLOR_INC 249 249 249 255
+#define BUTTON_NAVIFRAME_FOCUSED_TEXT_COLOR_INC 249 249 249 255
+
+#define BUTTON_NAVIFRAME_TITLE_ICON_BG_MIN_MAX_INC 86 86 /*86 111*/
+#define BUTTON_NAVIFRAME_TITLE_ICON_IMAGE_MIN_MAX_INC 68 68
+#define BUTTON_NAVIFRAME_TITLE_ICON_TOP_PADDING_INC 0 32
+#define BUTTON_NAVIFRAME_TITLE_ICON_TOP_PADDING_INC_SECOND 0 16
+
+#define BUTTON_NAVIFRAME_TITLE_TEXT_BG_NORMAL_MIN_INC 182 70
+#define BUTTON_NAVIFRAME_TITLE_TEXT_BG_NORMAL_MAX_INC 9999 70
+#define BUTTON_NAVIFRAME_TITLE_TEXTBLOCK_MIN_INC 126 70
+#define BUTTON_NAVIFRAME_TITLE_TEXT_BG_PRESSED_BORDER_INC 36 36 0 0
+#define BUTTON_NAVIFRAME_TITLE_TEXT_PADDING_MIN_INC 28 5
+#define BUTTON_NAVIFRAME_TITLE_TEXT_FONT_SIZE_INC 32
+#define BUTTON_NAVIFRAME_TITLE_VISIBLE_ICON_RECT_MIN_MAX_INC 44 44
+#define BUTTON_NAVIFRAME_TITLE_ICONONLY_ICON_MIN_MAX_INC 44 44
+#define BUTTON_NAVIFRAME_TITLE_VISIBLE_PADDING_ICON_TEXT_MIN_INC 8 0
+#define BUTTON_NAVIFRAME_TITLE_TEXT_BG_NORMAL_COLOR_INC 249 249 249 255
+
+#define BUTTON_NAVIFRAME_MORE_BG_MIN_MAX_INC 82 82
+#define BUTTON_NAVIFRAME_MORE_DEFAULT_IMAGE_MIN_MAX_INC 60 60
+
+#define BUTTON_TICKERNOTI_BG_MIN_MAX_INC 154 74
+#define BUTTON_TICKERNOTI_BG_BORDER_INC 12 12 12 12
+#define BUTTON_TICKERNOTI_PADDING_MIN_INC 12 0
+#define BUTTON_TICKERNOTI_VISIBLE_ICON_RECT_MIN_MAX_INC 44 44
+#define BUTTON_TICKERNOTI_VISIBLE_PADDING_ICON_TEXT_MIN_INC 4 0
+#define BUTTON_TICKERNOTI_VISIBLE_ICON_MIN_MAX_INC 44 44
+#define BUTTON_TICKERNOTI_ICONONLY_ICON_MIN_MAX_INC 44 44
+#define BUTTON_TICKERNOTI_FONT_SIZE_INC 36
+
+#define BUTTON_COLORSELECTOR_BG_DEFAULT_MIN_INC 74 74
+#define BUTTON_COLORSELECTOR_BG_BORDER_INC 12 12 12 12
+#define BUTTON_COLORSELECTOR_IMAGE_MIN_MAX_INC 74 74
+
+#define BUTTON_DEFAULT_STYLE_BG_MIN_INC 100 74
+#define BUTTON_DEFAULT_STYLE_BG_BORDER_INC 12 12 12 12
+#define BUTTON_DEFAULT_STYLE_PADDING_MIN_INC 12 5
+#define BUTTON_DEFAULT_STYLE_PADDING_ICON_TEXT_VISIBLE_MIN_INC 8 0
+#define BUTTON_DEFAULT_STYLE_ICONONLY_ICON_MIN_INC 44 44
+#define BUTTON_DEFAULT_STYLE_TEXT_MIN_INC 144 36
+#define BUTTON_DEFAULT_STYLE_FONT_SIZE_INC 36
+
+#define BUTTON_DEFAULT_STYLE_MULTILINE_BG_MIN_INC 100 80
+#define BUTTON_DEFAULT_STYLE_MULTILINE_PADDING_MIN_INC 12 0
+
+#define CHECK_DELETE_TEXT_DELETE_NORMAL_COLOR_INC 249 249 249 255
+#define CHECK_DELETE_TEXT_DELETE_PRESS_COLOR_INC 249 249 249 255
+
+#define CHECK_DEFAULT_TEXT_FONT_SIZE_INC 36
+
+#define CHECK_ONOFF_BG_NORMAL_MIN_MAX_INC 132 70
+#define CHECK_ONOFF_ON_FONT_SIZE_INC 24
+#define CHECK_ONOFF_OFF_FONT_SIZE_INC 24
+#define CHECK_ONOFF_HANDLER_MIN_MAX_INC 64 64
+
+#define CHECK_STYLE_FAVORITE_DEFAULT_BG_IMAGE_MIN_WIDTH_INC 74
+#define CHECK_STYLE_FAVORITE_DEFAULT_BG_IMAGE_MIN_HEIGHT_INC 74
+#define CHECK_STYLE_FAVORITE_EXTENDED_BG_IMAGE_MIN_WIDTH_INC 100
+#define CHECK_STYLE_FAVORITE_EXTENDED_BG_IMAGE_MIN_HEIGHT_INC 100
+#define CHECK_STYLE_FAVORITE_BG_NORMAL_MIN_MAX_INC 74 74
+
+#define CHECK_STYLE_DEFAULT_DEFAULT_BG_IMAGE_MIN_WIDTH_INC 64
+#define CHECK_STYLE_DEFAULT_DEFAULT_BG_IMAGE_MIN_HEIGHT_INC 64
+#define CHECK_STYLE_DEFAULT_EXTENDED_BG_IMAGE_MIN_WIDTH_INC 75
+#define CHECK_STYLE_DEFAULT_EXTENDED_BG_IMAGE_MIN_HEIGHT_INC 91
+#define CHECK_STYLE_DEFAULT_BG_NORMAL_MIN_MAX_INC 64 64
+
+#define CHECK_STYLE_DELETE_BUTTON_BG_IMAGE_MIN_MAX_WIDTH_INC 74 74
+#define CHECK_STYLE_DELETE_BUTTON_BG_EXPAND_IMAGE_MIN_MAX_WIDTH_INC 124 74
+#define CHECK_STYLE_DELETE_BUTTON_BG_EXPAND_BORDER_INC 8 0 5 5
+#define CHECK_STYLE_DELETE_BUTTON_TEXT_FONT_SIZE_INC 32
+
+#define INDEX_BG_NINEPATCH_INC 8 8 8 8
+#define INDEX_ITEM_WIDTH_INC 49
+#define INDEX_ITEM_HEIGHT_INC 33
+#define INDEX_LEVEL_PADDING_INC 70
+#define INDEX_1ST_LEVEL_POPUP_WIDTH_INC 188
+#define INDEX_2ND_LEVEL_POPUP_WIDTH_INC 188
+#define INDEX_POPUP_HEIGHT_INC 180
+#define INDEX_ROLLOVER_TEXT_SIZE_INC 26
+#define INDEX_POPUP_BG_NINEPATCH_INC 20 20 20 20
+#define INDEX_POPUP_TEXT_SIZE_INC 136
+#define INDEX_ROLLOVER_TEXT_COLOR_INC 160 159 154 255
+#define INDEX_ROLLOVER_ACTIVE_TEXT_COLOR_INC 59 115 182 255
+#define INDEX_POPUP_TEXT_COLOR_INC 255 255 255 255
+#define INDEX_SCROLL_BG_COLOR_INC 230 227 216 255
+#define INDEX_BOTTOM_LINE_COLOR_INC 197 194 183 255
+#define INDEX_LEFT_LINE_COLOR_INC 65 119 184 255
+
+#define INDEX_PAGECONTROL_IND_INC 10 9
+#define INDEX_PAGECONTROL_IND_MIN_INC 10 9
+#define INDEX_PAGECONTROL_FONT_SIZE_INC 28
+#define INDEX_PAGECONTROL_FONT_COLOR_INC 120 120 120
+
+#define RADIO_STYLE_DEFAULT_BG_IMAGE_MIN_WIDTH_INC 64
+#define RADIO_STYLE_DEFAULT_BG_IMAGE_MIN_HEIGHT_INC 64
+#define RADIO_STYLE_DEFAULT_EXTENDED_BG_IMAGE_MIN_WIDTH_INC 76
+#define RADIO_STYLE_DEFAULT_EXTENDED_BG_IMAGE_MIN_WIDTH_INC 76
+#define RADIO_STYLE_DEFAULT_BG_MIN_MAX_INC 64 64
+#define RADIO_STYLE_DEFAULT_FONT_SIZE_INC 36
+
+#define PANES_STYLE_DEFAULT_MOVABLE_SIZE_INC 60
+#define PANES_STYLE_DEFAULT_PADDING_LEFT_SIZE_INC 25
+#define PANES_STYLE_DEFAULT_PADDING_RIGHT_SIZE_INC 22
+#define PANES_STYLE_DEFAULT_MIDDLE_SIZE_INC 26
+#define PANES_STYLE_DEFAULT_FIXED_SIZE_INC 52
+
+#define SEGMENT_CONTROL_DEFAULT_ITEM_TEXT_COLOR_NORMAL_INC 153 153 153 255
+#define SEGMENT_CONTROL_ITEM_TITLE_TEXT_COLOR_PRESSED_INC 59 115 182 255
+#define SEGMENT_CONTROL_ITEM_TITLE_TEXT_COLOR_SELECTED_INC 59 115 182 255
+#define SEGMENT_CONTROL_ITEM_TITLE_TEXT_COLOR_DISABLED_INC 153 153 153 255
+
+#define SEGMENT_CONTROL_MULTILINE_TEXT_SIZE_INC 30
+#define SEGMENT_CONTROL_TEXT_SIZE_RANGE_MIN_INC 12
+#define SEGMENT_CONTROL_TEXT_SIZE_RANGE_MAX_INC 28
+#define SEGMENT_CONTROL_DIVIDER_LINE_MIN_SIZE_INC 2 32
+#define SEGMENT_CONTROL_TEXT_PADDING_MIN_SIZE_INC 18 0
+#define SEGMENT_CONTROL_VISIBLE_ICON_RECT_MIN_MAX_INC 40 40
+#define SEGMENT_CONTROL_BADGE_TEXT_LEFT_PADDING_MIN_INC 22 45
+#define SEGMENT_CONTROL_BADGE_TEXT_RIGHT_PADDING_MIN_INC 18 47
+#define SEGMENT_CONTROL_BADGE_TEXT_COLOR_INC 10 100 208 255;
+#define SEGMENT_CONTROL_BADGE_TEXT_FONT_SIZE_INC 26;
+
+#define EDITFIELD_TITLE_SIZE_INC 32
+#define EDITFIELD_TITLE_COLOR_INC 59 115 182 255
+#define EDITFIELD_GUIDE_TEXT_COLOR_INC 121 131 138 255
+#define EDITFIELD_DEFAULT_ERASER_MINW_INC 48
+#define EDITFIELD_DEFAULT_ERASER_MINH_INC 48
+#define EDITFIELD_DEFAULT_ERASER_EVENT_MINW_INC 48
+#define EDITFIELD_DEFAULT_ERASER_EVENT_MINH_INC 70
+#define EDITFIELD_SEARCHBAR_ERASER_MINW_INC 38
+#define EDITFIELD_SEARCHBAR_ERASER_MINH_INC 38
+#define EDITFIELD_SEARCHBAR_ERASER_EVENT_MINW_INC 38
+#define EDITFIELD_SEARCHBAR_ERASER_EVENT_MINH_INC 50
+#define EDITFIELD_DEFAULT_MINH_INC 112
+#define EDITFIELD_TITLE_MINH_INC 128
+#define EDITFIELD_SEARCHBAR_MINH_INC 50
+#define EDITFIELD_DEFAULT_TOP1_SINGLE_INC 27
+#define EDITFIELD_DEFAULT_TOP1_MULTI_INC 56
+#define EDITFIELD_DEFAULT_TOP2_INC 8
+#define EDITFIELD_DEFAULT_LEFT1_INC 0
+#define EDITFIELD_DEFAULT_LEFT2_INC 0
+#define EDITFIELD_DEFAULT_LEFT3_INC 1
+#define EDITFIELD_DEFAULT_RIGHT1_ERASER_SHOW_INC 56
+#define EDITFIELD_DEFAULT_RIGHT2_INC 0
+#define EDITFIELD_DEFAULT_BOTTOM1_SINGLE_INC 25
+#define EDITFIELD_DEFAULT_BOTTOM1_MULTI_INC 8
+#define EDITFIELD_DEFAULT_BOTTOM2_SINGLE_INC 32
+#define EDITFIELD_DEFAULT_BOTTOM2_MULTI_INC 12
+#define EDITFIELD_DEFAULT_BOTTOM3_SINGLE_INC 85
+#define EDITFIELD_DEFAULT_BOTTOM3_MULTI_INC 60
+#define EDITFIELD_SEARCHBAR_TOP1_SINGLE_INC 6
+#define EDITFIELD_SEARCHBAR_TOP1_MULTI_INC 10
+#define EDITFIELD_SEARCHBAR_TOP2_INC 10
+#define EDITFIELD_SEARCHBAR_LEFT1_INC 0
+#define EDITFIELD_SEARCHBAR_LEFT2_INC 0
+#define EDITFIELD_SEARCHBAR_LEFT3_INC 1
+#define EDITFIELD_SEARCHBAR_RIGHT1_ERASER_SHOW_INC 56
+#define EDITFIELD_SEARCHBAR_RIGHT2_INC 5
+#define EDITFIELD_SEARCHBAR_BOTTOM1_SINGLE_INC 8
+#define EDITFIELD_SEARCHBAR_BOTTOM1_MULTI_INC 2
+#define EDITFIELD_SEARCHBAR_BOTTOM2_SINGLE_INC 16
+#define EDITFIELD_SEARCHBAR_BOTTOM2_MULTI_INC 2
+#define EDITFIELD_SEARCHBAR_BOTTOM3_SINGLE_INC 50
+#define EDITFIELD_SEARCHBAR_BOTTOM3_MULTI_INC 50
+
+#define BUTTON_TICKERNOTI_NORMAL_COLOR_INC 225 215 215 255
+#define BUTTON_TICKERNOTI_PRESSED_COLOR_INC 248 246 239 255
+#define BUTTON_TICKERNOTI_DISABLED_COLOR_INC 225 215 215 76
+
+#define BUTTON_DISCLIP_NORMAL_COLOR_INC 255 255 255 255
+#define BUTTON_DISCLIP_DISABLED_COLOR_INC 255 255 255 76
+
+#define CHECK_DEFAULT_TEXT_NORMAL_COLOR_INC 50 50 50 255
+#define CHECK_DEFAULT_TEXT_PRESSED_COLOR_INC 248 246 239 255
+#define CHECK_DEFAULT_TEXT_DISABLED_COLOR_INC 50 50 50 76
+#define CHECK_DISCLIP_NORMAL_COLOR_INC 255 255 255 255
+#define CHECK_DISCLIP_DISABLED_COLOR_INC 255 255 255 76
+
+#define RADIO_DEFAULT_TEXT_NORMAL_COLOR_INC 50 50 50 255
+#define RADIO_DEFAULT_TEXT_PRESSED_COLOR_INC 248 246 239 255
+#define RADIO_DEFAULT_TEXT_DISABLED_COLOR_INC 50 50 50 76
+#define RADIO_DISCLIP_NORMAL_COLOR_INC 255 255 255 255
+#define RADIO_DISCLIP_DISABLED_COLOR_INC 255 255 255 76
+
+#define CONTROLBAR_LARGE_HEIGHT_INC 122
+#define CONTROLBAR_SMALL_HEIGHT_INC 114
+#define CONTROLBAR_WIDTH_INC 122
+#define CONTROLBAR_SEPARATEBAR_DARK_COLOR_INC 23 34 38 255
+#define CONTROLBAR_SEPARATEBAR_BRIGHT_COLOR_INC 58 68 74 255
+
+#define MULTIBUTTONENTRY_WIDTH_PAD_INC 26
+#define MULTIBUTTONENTRY_HEIGHT_PAD_INC 16
+#define MULTIBUTTONENTRY_BOX_HORIZONTAL_PAD_INC 8
+#define MULTIBUTTONENTRY_BOX_VERTICAL_PAD_INC 16
+#define MULTIBUTTONENTRY_LABEL_HEIGHT_INC 66 // same as button
+#define MULTIBUTTONENTRY_LABEL_PAD_INC 8
+#define MULTIBUTTONENTRY_LABEL_TEXT_SIZE_INC 36
+#define MULTIBUTTONENTRY_LABEL_TEXT_COLOR_INC "#808080"
+#define MULTIBUTTONENTRY_GUIDE_HEIGHT_INC 66 // same as button
+#define MULTIBUTTONENTRY_GUIDE_TEXT_SIZE_INC 36
+#define MULTIBUTTONENTRY_GUIDE_TEXT_COLOR_INC "#79838A" //same as editfield
+#define MULTIBUTTONENTRY_BUTTON_HEIGHT_INC 66
+#define MULTIBUTTONENTRY_BUTTON_PAD_INC 12
+#define MULTIBUTTONENTRY_BUTTON_MAX_INC 324
+#define MULTIBUTTONENTRY_BUTTON_NINEPATCH_INC 5 5 0 0
+#define MULTIBUTTONENTRY_BUTTON_TEXT_SIZE_INC 32
+#define MULTIBUTTONENTRY_BUTTON_TEXT_COLOR_INC 255 255 255 255
+#define MULTIBUTTONENTRY_BUTTON_TEXT_MAX_INC 300
+#define MULTIBUTTONENTRY_NUMBER_TEXT_COLOR_INC 128 128 128 255 // same as multibuttonentry label
+
+#define SEARCHBAR_CANCEL_BUTTON_W_INC 136
+#define SEARCHBAR_CANCEL_BUTTON_WITH_DOUBLE_PADDING_W_INC 166
+#define SEARCHBAR_CANCEL_BUTTON_LEFT_PADDING_INC 10
+#define SEARCHBAR_TOP_PADDING_INC 10
+#define SEARCHBAR_BOTTOM_PADDING_INC 10
+#define SEARCHBAR_HEIGHT_INC 66
+#define SEARCHBAR_LEFT_PADDING_INC 26
+#define SEARCHBAR_RIGHT_PADDING_INC 26
+#define SEARCHBAR_INPUTFIELD_BORDER_INC 9 9 9 9
+#define SEARCHBAR_LEFT_ICON_PADDING_INC 16
+#define SEARCHBAR_ICON_MIN_W_INC 44
+#define SEARCHBAR_ICON_MIN_H_INC 44
+#define SEARCHBAR_LEFT_PADDING_SEARCHFIELD_INC 16
+#define SEARCHBAR_RIGHT_PADDING_SEARCHFIELD_INC 8
+#define SEARCHBAR_SEARCH_TEXTFIELD_H_INC 60
+#define SEARCHBAR_H_INC 86
+
+#define SELECTION_INFO_BACKGROUND_COLOR_INC 68 68 68 255
+#define SELECTION_INFO_TEXT_COLOR_INC 255 255 255 255
+#define SELECTION_INFO_MIN_VER_W_INC 720
+#define SELECTION_INFO_MIN_HORZ_W_INC 1280
+#define SELECTION_INFO_VER_PADDING_INC 48
+#define SELECTION_INFO_LEFT_PADDING_INC 16
+#define SELECTION_INFO_TEXT_FONT_SIZE_INC 32
+#define SELECTION_INFO_SHADOW_VER_W_INC 720
+#define SELECTION_INFO_SHADOW_VER_H_INC 10
+#define SELECTION_INFO_SHADOW_HORZ_W_INC 1280
+#define SELECTION_INFO_SHADOW_HORZ_H_INC 10
+#define SELECTION_INFO_MIN_VER_BOTTOM_64_H_INC 150
+#define SELECTION_INFO_MIN_VER_BOTTOM_86_H_INC 186
+
+#define POPUP_DESCRIPTION_DEFAULT_TEXT_FONT_SIZE_INC 42
+
+#define POPUP_BASE_DEFAULT_BASE_DEFAULT_MIN_INC 720 0
+#define POPUP_BASE_DEFAULT_BASE_DEFAULT_MAX_INC 720 1120
+#define POPUP_BASE_DEFAULT_BG_DEFAULT_IMAGE_BORDER_INC 18 18 32 52
+#define POPUP_BASE_DEFAULT_TITLE_DEFAULT_MIN_INC 648 80
+#define POPUP_BASE_DEFAULT_TITLE_VOLUMEBAR_MIN_INC 720 68
+#define POPUP_BASE_DEFAULT_PADDING_MIN_MAX_INC 16 0
+#define POPUP_BASE_DEFAULT_TITLE_ICON_DEFAULT_MIN_MAX_INC 64 64
+#define POPUP_BASE_DEFAULT_CONTENT_DEFAULT_MIN_MAX_INC 648 0
+#define POPUP_BASE_DEFAULT_BUTTON_BG_DEFAULT_MIN_INC 648 114
+#define POPUP_BASE_DEFAULT_TEXT_FONT_SIZE_INC 50
+
+#define POPUP_DESC_LEFT_PADDING 0
+#define POPUP_DESC_RIGHT_PADDING 0
+#define POPUP_DESC_TOP_PADDING 14
+#define POPUP_DESC_BOTTOM_PADDING 34
+#define POPUP_LABEL_DESC_TOP_PADDING 39
+#define POPUP_LABEL_DESC_BOTTOM_PADDING 39
+#define POPUP_TITLE_TOP_PADDING 18
+#define POPUP_TITLE_BOTTOM_PADDING 0
+#define POPUP_TITLE_ICON_TEXT_PADDING_INC 16 0
+
+#define POPUP_CONTENT_DEFAULT_PADDING_TOP_MIN_INC 20
+#define POPUP_CONTENT_DEFAULT_PADDING_LEFT_MIN_INC 36
+#define POPUP_CONTENT_DEFAULT_PADDING_RIGHT_MIN_INC 36
+#define POPUP_CONTENT_DEFAULT_PADDING_BOTTOM_MIN_INC 20
+#define POPUP_CONTENT_DEFAULT_CONTENT_DEFAULT_MIN_INC 648 0
+
+#define POPUP_BASE_CONTENT_EXPAND_BG_DEFAULT_MIN_INC 0 114
+#define POPUP_BASE_CONTENT_EXPAND_TITLE_DEFAULT_MIN_INC 0 80
+
+#define POPUP_BASE_VERTICAL_BUTTON_BUTTONAREA_DEFAULT_MIN_INC 648 294
+
+#define POPUP_BUTTON3_VERTICAL_BUTTON_PADDING_TOP_MIN_INC 0 20
+#define POPUP_BUTTON_VERTICAL_ACTION_AREA_HEIGHT "294"
+#define POPUP_BUTTON3_VERTICAL_BUTTON_BUTTON_MIN_MAX_INC 394 74
+#define POPUP_BUTTON3_VERTICAL_BUTTON_PADDING_BUTTON_MIN_INC 0 16
+#define POPUP_BUTTON3_VERTICAL_BUTTON_PADDING_BUTTON_MAX_INC 9999 16
+
+#define POPUP_CONTENT_LISTSTYLE_PADDING_TOP_MIN_MAX_INC 3 3
+#define POPUP_CONTENT_LISTSTYLE_CONTENT_DEFAULT_MIN_INC 614 408
+#define POPUP_CONTENT_LISTSTYLE_PADDING_RIGHT_MIN_INC 0 0
+
+#define POPUP_CONTENT_MINSTYLE_CONTENT_DEFAULT_MIN_INC 720 0
+#define POPUP_CONTENT_VOLUMEBAR_STYLE_CONTENT_DEFAULT_MIN_INC 668 134
+#define POPUP_CONTENT_VOLUMEBAR_TEXT_STYLE_CONTENT_DEFAULT_MIN_INC 668 250
+#define POPUP_BASE_VOLUMEBAR_STYLE_BUTTONAREA_BG_DEFAULT_MIN_INC 668 134
+
+#define POPUP_BUTTON_DEFAULT_ACTION_AREA_HEIGHT "114"
+#define POPUP_BUTTON1_DEFAULT_BUTTON1_DEFAULT_MIN_INC 394 74
+#define POPUP_BUTTON1_DEFAULT_BUTTON1_DEFAULT_MAX_INC 648 74
+#define POPUP_BUTTON2_DEFAULT_HEIGHT_INC 74
+#define POPUP_BUTTON2_DEFAULT_BUTTON_DEFAULT_MIN_MAX_INC 270 74
+#define POPUP_BUTTON2_DEFAULT_PADDING_BUTTON_MIN_MAX_INC 20 74
+#define POPUP_BUTTON2_DEFAULT_PADDING_LEFT_RIGHT_WIDTH_INC 36
+#define POPUP_BUTTON3_DEFAULT_HEIGHT_INC 74
+#define POPUP_BUTTON3_DEFAULT_BUTTON_DEFAULT_MIN_MAX_INC 202 74
+#define POPUP_BUTTON3_DEFAULT_PADDING_BUTTON_MIN_MAX_INC 20 74
+#define POPUP_BUTTON3_DEFAULT_PADDING_LEFT_RIGHT_WIDTH_INC 36
+
+#define PROGRESSBAR_DEFAULT_STYLE_TEXT_COLOR_INC 128 128 128 255
+#define PROGRESSBAR_DEFAULT_STYLE_STATUS_TEXT_COLOR_INC 128 128 128 255
+#define PROGRESSBAR_LIST_PROGRESS_STYLE_TEXT_COLOR_INC 128 128 128 255
+#define PROGRESSBAR_LIST_PROGRESS_STYLE_STATUS_TEXT_COLOR_INC 128 128 128 255
+#define PROGRESSBAR_LIST_TITLE_PROGRESS_STYLE_STATUS_TEXT_COLOR_INC 128 128 128 255
+#define PROGRESSBAR_LIST_PROCESS_WIDTH_INC 66
+#define PROGRESSBAR_LIST_PROCESS_HEIGHT_INC 66
+#define PROGRESSBAR_LIST_PROCESS_SMALL_INC 35
+#define PROGRESSBAR_LIST_PROCESS_SMALL_IMAGE "32x32"
+#define PROGRESSBAR_LIST_PROGRESS_HEIGHT_INC 36
+#define PROGRESSBAR_LIST_PENDING_HEIGHT_INC 34
+#define PROGRESSBAR_PROGRESS_CIRCLE_BG_SIZE_INC 128 128
+
+#define NOCONTENT_TEXT_BLOCK_STYLE_COLOR_INC "#6E6F76"
+#define NOCONTENT_TEXT_BLOCK_STYLE_COLOR_DIM_INC "#B1B1B1"
+#define NOCONTENT_HELP_TEXT_BLOCK_STYLE_COLOR_INC "#808080"
+#define NOCONTENT_TEXT_BLOCK_TEXT_SIZE_INC 36
+#define NOCONTENT_HELP_TEXT_BLOCK_TEXT_SIZE_INC 32
+#define NOCONTENT_IMAGE_WIDTH_HEIGHT_INC 252 252
+#define NOCONTENT_BG_COLOR_INC 0 0 0 0
+#define NOCONTENT_TEXT_STYLE_BG_MIN_INC 0 68
+#define NOCONTENT_BASE_SEARCH_PADDING_INC 40
+#define NOCONTENT_PORTRAIT_HELP_TEXT_STYLE_BG_MIN_INC 0 152
+#define NOCONTENT_LANDSCAPE_HELP_TEXT_STYLE_BG_MIN_INC 0 78
+#define NOCONTENT_IMAGE_COLOR_INC 128 128 128 255
+#define NOCONTENT_SWALLOW_AREA_MIN_INC 0 80
+#define NOCONTENT_PORTRAIT_AFTER_HELP_TEXT_PADDING_INC 70 94
+#define NOCONTENT_LANDSCAPE_AFTER_HELP_TEXT_PADDING_INC 180 18
+#define NOCONTENT_PORTRAIT_AFTER_TEXT_PADDING_INC 70 96
+#define NOCONTENT_LANDSCAPE_AFTER_TEXT_PADDING_INC 180 16
+#define NOCONTENT_BASE_PORTRAIT_MIN_WIDTH_HEIGHT_INC 0 460
+#define NOCONTENT_BASE_LANDS_MIN_WIDTH_HEIGHT_INC 0 460
+#define NOCONTENT_BASE_PORTRAIT_MIN_WIDTH_HEIGHT_WITH_TEXT 0 920
+#define NOCONTENT_BASE_LANDS_MIN_WIDTH_HEIGHT_WITH_TEXT 0 570
+
+#define ENTRY_TEXT_SIZE_INC 44
+#define ENTRY_TEXT_COLOR_INC "#000000"
+#define ENTRY_CURSOR_COLOR_INC 59 115 182 255
+#define ENTRY_PREEDIT_BACKGROUND_COLOR_INC "#000000"
+#define ENTRY_PREEDIT_TEXT_COLOR_INC "#FFFFFF"
+#define ENTRY_PREEDIT_UNDERLINE_COLOR_INC "#000000"
+#define ENTRY_PREEDIT_SUB1_COLOR_INC "#2EA8E1"
+#define ENTRY_PREEDIT_SUB2_COLOR_INC "#9962C3"
+#define ENTRY_PREEDIT_SUB3_COLOR_INC "#76DE37"
+#define ENTRY_PREEDIT_SUB4_COLOR_INC "#999999"
+#define ENTRY_SELECTION_BG_COLOR 90 123 138 127
+#define ENTRY_SELECTION_BLOCK_HANDLE_MIN_SIZE 48 67
+#define MAGNIFIER_HEIGHT_FILL 182
+#define MAGNIFIER_HEIGHT_FIXED 108
+#define MAGNIFIER_WIDTH_FIXED 358
+
+#define ENTRY_BUBBLE_EX_PAD 58
+#define ENTRY_BUBBLE_EX_CALLERID_PAD 178
+#define ENTRY_BUBBLE_IX_PAD 20
+#define ENTRY_BUBBLE_Y_PAD 15
+#define ENTRY_BUBBLE_BOTTOM_PAD 24
+#define ENTRY_BUBBLE_CALLERID_PAD 16
+#define ENTRY_BUBBLE_CALLERID_WIDTH 104
+#define ENTRY_BUBBLE_CALLERID_HEIGHT 104
+#define ENTRY_BUBBLE_DATE_AREA_TEXT_SIZE_INC 26
+#define ENTRY_BUBBLE_TEXT_SIZE 38
+
+#define ENTRY_BUBBLE_SENT_TEXT_COLOR "#000000"
+#define ENTRY_BUBBLE_SENT_TEXT_SHADOW_STYLE "far_shadow,bottom"
+#define ENTRY_BUBBLE_SENT_TEXT_SHADOW_COLOR "#ffffff7f"
+#define ENTRY_BUBBLE_RECEV_TEXT_COLOR "#FFFFFF"
+#define ENTRY_BUBBLE_RECEV_TEXT_SHADOW_STYLE "far_shadow,top"
+#define ENTRY_BUBBLE_RECEV_TEXT_SHADOW_COLOR "#0000009f"
+#define ENTRY_BUBBLE_RECEV_BG_BORDER_INC 58 24 62 20
+#define ENTRY_BUBBLE_SENT_BG_BORDER_INC 24 58 62 20
+#define ENTRY_BUBBLE_CALLERID_RELATIVE_INC 0.0 0.0
+#define ENTRY_BUBBLE_RECEV_CALLERID_REL_INC 1.0 0.0
+#define ENTRY_BUBBLE_BOTTOMRIGHT_PAD 120
+#define ENTRY_BUBBLE_TEXT_CALLID_REL2_X_INC "elm.rect.right.pad"
+#define ENTRY_BUBBLE_READ_TEXT_CALLID_REL1_X_INC "elm.rect.left.pad"
+#define ENTRY_BUBBLE_TEXT_CALLID_REL2_Y_INC "elm.rect.groupchat.text.pad"
+#define ENTRY_BUBBLE_STATUS_TIME_PAD_MIN_H_INC 14
+#define ENTRY_BUBBLE_STATUS_TIME_PAD_REL_INC 0.0 1.0
+#define ENTRY_BUBBLE_READ_STATUS_TIME_PAD_REL_INC 1.0 1.0
+#define ENTRY_BUBBLE_STATUS_TIME_SIZE_INC 22
+#define ENTRY_BUBBLE_SENT_STATUS_TIME_COLOR_INC 139 139 139 255
+#define ENTRY_BUBBLE_READ_STATUS_TIME_COLOR_INC 139 139 139 255
+#define ENTRY_BUBBLE_GROUPCHAT_SIZE_INC 24
+#define ENTRY_BUBBLE_GROUPCHAT_COLOR_INC 139 139 139 255
+#define ENTRY_BUBBLE_GROUPCHART_ENABLE_INC 1
+#define ENTRY_BUBBLE_GROUPCHART_PAD 36 30
+#define ENTRY_BUBBLE_GROUPCHART_WITH_CALLERID_PAD 158 30
+#define ENTRY_BUBBLE_READ_STATUS_REL_INC 1.0 0.0
+#define ENTRY_BUBBLE_READ_TIME_REL_INC 1.0 1.0
+
+#define PANES_DEFAULT_FIXED_SEPERATOR_NORMAL_COLOR_INC 118 118 118 255
+
+#define DAYSELECTOR_BACKGROUND_COLOR_INC 82 84 87 255
+#define DAYSELECTOR_WEEKDAY_COLOR_INC 249 249 249 255
+#define DAYSELECTOR_SATURDAY_COLOR_INC 0 168 231 255
+#define DAYSELECTOR_SUNDAY_COLOR_INC 7 180 211 255
+#define DAYSELECTOR_DAY_PRESSED_COLOR_INC 249 249 249 255
+#define DAYSELECTOR_DAY_FONT_SIZE_INC 32
+#define DAYSELECTOR_CHECK_WIDTH_INC 94
+#define DAYSELECTOR_CHECK_HEIGHT_INC 90
+
+#define SLIDER_INDICATOR_TEXT_PRESSED_COLOR_INC "#FAFAFAFF"
+#define SLIDER_UNITS_TEXT_COLOR_INC 128 128 128 255
+#define SLIDER_UNITS_TEXT_SIZE_INC 30
+#define SLIDER_INDICATOR_TEXT_SIZE_INC 38
+#define SLIDER_BASE_MIN_WIDTH_INC 375
+#define SLIDER_INDICATOR_MAX_WIDTH_INC 90
+#define SLIDER_EBOOK_HEIGHT_INC 23
+#define SLIDER_EBOOK_UNITS_TEXT_COLOR_INC 164 160 149 255
+#define SLIDER_EBOOK_UNITS_TEXT_SIZE_INC 48
+#define SLIDER_EBOOK_INDICATOR_TEXT_COLOR_INC 7 180 211 255
+#define SLIDER_EBOOK_INDICATOR_DEFAULT_TEXT_SIZE_INC 36
+#define SLIDER_EBOOK_INDICATOR_DRAG_TEXT_SIZE_INC 48
+#define SLIDER_EBOOK_INDICATOR_WIDTH_INC 54
+#define SLIDER_EBOOK_INDICATOR_HEIGHT_INC 54
+
+#define TICKER_NOTI_DEFAULT_TEXT_COLOR_INC "#ffffff"
+#define TICKER_NOTI_DEFAULT_TEXT2_COLOR_INC "#ffffff"
+
+#define DATETIME_FIELD_MIN_SIZE_INC 48 112
+#define DATETIME_SEPARATOR_MIN_SIZE_INC 18 112
+#define DATETIME_TEXT_FONT_SIZE_INC 36
+#define DATETIME_TEXT_NORMAL_COLOR_INC 0 0 0 255
+#define DATETIME_SEPARATOR_TEXT_COLOR_INC 150 150 150 255
+#define DATETIME_TEXT_SELECTED_COLOR_INC 255 255 255 255
+#define DATETIME_LABEL_TEXT_BLOCK_STYLE_COLOR_INC 0 0 0 255
+#define DATETIME_LABEL_TEXT_BLOCK_STYLE_SELECTED_COLOR_INC 59 115 182 255
+
+#define COLORSELECTOR_MIN_W_INC 688
+#define COLORSELECTOR_MIN_H_INC 336
+#define COLORSELECTOR_MAX_W_INC 1014
+#define COLORSELECTOR_COLORBAR_HEIGHT 112
+#define COLORSELECTOR_COLORBAR_LEFT_PADDING 122
+#define COLORSELECTOR_COLORBAR_RIGHT_PADDING 122
+#define COLORSELECTOR_BUTTON_TOP_PADDING 19
+#define COLORSELECTOR_ARROW_BG_LEFT_PADDING 120
+#define COLORSELECTOR_ARROW_BG_RIGHT_PADDING 120
+#define COLORSELECTOR_ARROW_MIN_WIDTH 22
+#define COLORSELECTOR_ARROW_MIN_HEIGHT 70
+#define COLORSELECTOR_ARROW_REL1_OFFSET 0 5
+#define COLORSELECTOR_ARROW_REL2_OFFSET 0 5
+#define COLORSELECTOR_DRAGGABLE_EVENT_AREA 80 80
+#define COLORSELECTOR_BUTTON_LEFT_PADDING 32
+#define COLORSELECTOR_BUTTON_RIGHT_PADDING 32
+#define COLORSELECTOR_BUTTON_WIDTH 74
+#define COLORSELECTOR_BUTTON_HEIGHT 74
+#define COLORSELECTOR_BUTTON_BORDER 6 6 6 6
+#define COLORSELECTOR_PADDING_COLOR_INC 225 223 218 255
+
+#define COLORSELECTOR_PALETTE_COLORBG_MIN_WIDTH_INC 86
+#define COLORSELECTOR_PALETTE_COLORBG_MIN_HEIGHT_INC 86
+#define COLORSELECTOR_PALETTE_COLORBG_FOCUS_MIN_WIDTH_INC 84
+#define COLORSELECTOR_PALETTE_COLORBG_FOCUS_MIN_HEIGHT_INC 84
+#define COLORSELECTOR_PORTRAIT_HOR_PAD_INC "50"
+#define COLORSELECTOR_PORTRAIT_VER_PAD_INC "20"
+#define COLORSELECTOR_LANDSCAPE_HOR_PAD_INC "36"
+#define COLORSELECTOR_LANDSCAPE_VER_PAD_INC "0"
+#define COLORSELECTOR_PALETTE_BORDER_INC 11 11 11 11
+
+#define CALENDAR_DAY_FONT_SIZE_INC 24
+#define CALENDAR_DATE_FONT_SIZE_INC 32
+#define CALENDAR_MONTH_FONT_SIZE_INC 38
+#define CALENDAR_MONTH_FONT_COLOR_INC 249 249 249 255
+#define CALENDAR_SATURDAY_FONT_COLOR_INC 47 120 220 255
+#define CALENDAR_SUNDAY_FONT_COLOR_INC 226 20 20 255
+#define CALENDAR_WEEKDAY_FONT_COLOR_INC 249 249 249 255
+#define CALENDAR_SELECTED_DATE_FONT_COLOR_INC 255 255 255 255
+#define CALENDAR_SEPERATOR_FONT_COLOR_INC 68 68 68 255
+#define CALENDAR_BACKGROUND_COLOR_INC 89 89 89 255
+#define CALENDAR_BUTTON_HEIGHT_INC 66
+#define CALENDAR_BUTTON_WIDTH_INC 74
+#define CALENDAR_ARROW_WIDTH_INC 30
+#define CALENDAR_ARROW_HEIGHT_INC 36
+#define CALENDAR_BASE_MIN_WIDTH_INC 692
+#define CALENDAR_BASE_MIN_HEIGHT_INC 420
+#define CALENDAR_HEADER_MIN_WIDTH_INC 98
+#define CALENDAR_HEADER_MIN_HEIGHT_INC 90
+
+#define CTXPOPUP_ENTRY_CENTER_IMAGE_BORDER 12 12 9 9
+#define CTXPOPUP_ENTRY_IMAGE_BORDER_WIDTH 12
+#define CTXPOPUP_ENTRY_ITEM_TEXT_COLOR 249 249 249 255
+#define CTXPOPUP_ENTRY_ITEM_LEFT_SEPARATOR_COLOR 68 68 68 255
+#define CTXPOPUP_ENTRY_ITEM_RIGHT_SEPARATOR_COLOR MP_COLOR_BG_BLACK
+#define CTXPOPUP_ENTRY_SEPARATOR_WIDTH 1
+#define CTXPOPUP_ENTRY_SEPARATOR_HEIGHT 50
+#define CTXPOPUP_ENTRY_ITEM_HEIGHT 74
+#define CTXPOPUP_ENTRY_ITEM_PADDING_WIDTH 14
+#define CTXPOPUP_ENTRY_ITEM_FONT_SIZE 28
+#define CTXPOPUP_ENTRY_ICON_SIZE 58
+#define CTXPOPUP_ENTRY_ITEM_WIDTH_MAX 240
+#define CTXPOPUP_ENTRY_LIST_SHADOW_PADDING 3
+#define CTXPOPUP_ENTRY_ITEM_DISABLED_COLOR 200 200 200 127
+#define CTXPOPUP_ENTRY_ARROW_SIZE_HEIGHT 18
+#define CTXPOPUP_ENTRY_ARROW_SIZE_WIDTH 29
+
+#define TICKERNOTI_DEFAULT_BG_MIN_HEIGHT_INC 100
+#define TICKERNOTI_DEFAULT_BG_BOTTOM_MIN_HEIGHT_INC 12
+#define TICKERNOTI_DEFAULT_BG_BORDER_INC 2 2 2 14
+#define TICKERNOTI_DEFAULT_BG_PADDING_LEFT_TOP_INC 16 18
+#define TICKERNOTI_DEFAULT_BG_PADDING_RIGHT_BOTTOM_INC 16 18
+#define TICKERNOTI_DEFAULT_PADDING_AFTER_ICON_INC 16 0
+#define TICKERNOTI_DEFAULT_TEXT_MIN_INC 0 60
+#define TICKERNOTI_DEFAULT_BUTTON_MIN_INC 154 74
+#define TICKERNOTI_DEFAULT_BUTTON_MAX_INC 154 74
+#define TICKERNOTI_DEFAULT_ICON_MIN_INC 64 64
+#define TICKERNOTI_DEFAULT_PADDING_BEFORE_BUTTON_INC 16 0
+#define TICKERNOTI_DEFAULT_TEXT_FONT_SIZE_INC 30
+#define TICKERNOTI_DEFAULT_TEXT2_FONT_SIZE_INC 24
+#define TICKERNOTI_INFO_BG_MIN_HEIGHT_INC 60
+#define TICKERNOTI_INFO_BG_PADDING_LEFT_TOP_INC 8 5
+#define TICKERNOTI_INFO_BG_PADDING_RIGHT_BOTTOM_INC 8 5
+#define TICKERNOTI_BG_PADDING_AFTER_ICON_INC 15 0
+#define TICKERNOTI_INFO_TEXT_FONT_SIZE_INC 28
+#define TICKERNOTI_TEXT_ONLY_TEXT_MIN_INC 0 64
+
+#define SCROLLER_DEFAULT_SCROLLBAR_VBAR_IMAGE "00_scroll_bar.png"
+#define SCROLLER_DEFAULT_SCROLLBAR_HBAR_IMAGE "00_scroll_bar.png"
+#define SCROLLER_DEFAULT_SCROLLBAR_VBAR_IMAGE_BORDER 5 10 5 10
+#define SCROLLER_DEFAULT_SCROLLBAR_HBAR_IMAGE_BORDER 5 10 5 10
+#define SCROLLER_DEFAULT_SCROLLBAR_VBAR_MIN_SIZE_INC 16 238
+#define SCROLLER_DEFAULT_SCROLLBAR_VBAR_MAX_SIZE_INC 16 99999
+#define SCROLLER_DEFAULT_SCROLLBAR_HBAR_MIN_SIZE_INC 180 16
+#define SCROLLER_DEFAULT_SCROLLBAR_HBAR_MAX_SIZE_INC 99999 16
+#define SCROLLER_DEFAULT_SCROLLBAR_VBAR_PADDING_SIZE 6
+#define SCROLLER_DEFAULT_SCROLLBAR_HBAR_PADDING_SIZE 16
+#define SCROLLER_MATCHLIST_SCROLLBAR_VBAR_IMAGE "00_scroll_bar.png"
+#define SCROLLER_MATCHLIST_SCROLLBAR_HBAR_IMAGE "00_scroll_bar.png"
+#define SCROLLER_MATCHLIST_SCROLLBAR_BG_IMAGE_BORDER 13 13 10 15
+#define SCROLLER_MATCHLIST_SCROLLBAR_VBAR_PADDING_SIZE 6
+#define SCROLLER_MATCHLIST_SCROLLBAR_HBAR_PADDING_SIZE 16
+#define SCROLLER_MATCHLIST_SCROLLBAR_VBAR_MIN_SIZE_INC 16 238
+#define SCROLLER_MATCHLIST_SCROLLBAR_VBAR_MAX_SIZE_INC 16 99999
+#define SCROLLER_MATCHLIST_SCROLLBAR_HBAR_MIN_SIZE_INC 180 16
+#define SCROLLER_MATCHLIST_SCROLLBAR_HBAR_MAX_SIZE_INC 99999 16
+#define SCROLLER_MATCHLIST_SCROLLBAR_VBAR_RUNNER_BORDER 0 0 4 4
+#define SCROLLER_MATCHLIST_SCROLLBAR_HBAR_RUNNER_BORDER 4 4 0 0
+#define SCROLLER_MATCHLIST_SCROLLBAR_VBAR_IMAGE_BORDER 5 10 5 10
+#define SCROLLER_MATCHLIST_SCROLLBAR_HBAR_IMAGE_BORDER 5 10 5 10
+#define SCROLLER_MATCHLIST_SCROLLBAR_VBAR_OVER1 6 6 6 0
+#define SCROLLER_MATCHLIST_SCROLLBAR_VBAR_OVER2 6 6 6 0
+#define SCROLLER_MATCHLIST_SCROLLBAR_HBAR_OVER1 6 6 6 0
+#define SCROLLER_MATCHLIST_SCROLLBAR_HBAR_OVER2 6 6 6 0
+#define SCROLLER_PHOTOCAM_SCROLLBAR_VBAR_IMAGE "00_scroll_bar.png"
+#define SCROLLER_PHOTOCAM_SCROLLBAR_HBAR_IMAGE "00_scroll_bar.png"
+#define SCROLLER_PHOTOCAM_SCROLLBAR_VBAR_PADDING_SIZE 6
+#define SCROLLER_PHOTOCAM_SCROLLBAR_HBAR_PADDING_SIZE 16
+#define SCROLLER_PHOTOCAM_SCROLLBAR_VBAR_MIN_SIZE_INC 16 238
+#define SCROLLER_PHOTOCAM_SCROLLBAR_VBAR_MAX_SIZE_INC 16 99999
+#define SCROLLER_PHOTOCAM_SCROLLBAR_HBAR_MIN_SIZE_INC 180 16
+#define SCROLLER_PHOTOCAM_SCROLLBAR_HBAR_MAX_SIZE_INC 99999 16
+#define SCROLLER_PHOTOCAM_SCROLLBAR_VBAR_RUNNER_BORDER 0 0 4 4
+#define SCROLLER_PHOTOCAM_SCROLLBAR_HBAR_RUNNER_BORDER 4 4 0 0
+#define SCROLLER_PHOTOCAM_SCROLLBAR_VBAR_IMAGE_BORDER 5 10 5 10
+#define SCROLLER_PHOTOCAM_SCROLLBAR_HBAR_IMAGE_BORDER 5 10 5 10
+#define SCROLLER_PHOTOCAM_SCROLLBAR_VBAR_OVER1 6 6 6 0
+#define SCROLLER_PHOTOCAM_SCROLLBAR_VBAR_OVER2 6 6 6 0
+#define SCROLLER_PHOTOCAM_SCROLLBAR_HBAR_OVER1 6 6 6 0
+#define SCROLLER_PHOTOCAM_SCROLLBAR_HBAR_OVER2 6 6 6 0
+#define SCROLLER_HANDLER_SCROLLBAR_VBAR_MIN_SIZE_INC 54 220
+#define SCROLLER_HANDLER_SCROLLBAR_HBAR_MIN_SIZE_INC 220 54
+#define SCROLLER_HANDLER_SCROLLBAR_VBAR_MIDDLE_MIN_SIZE_INC 54 26
+#define SCROLLER_HANDLER_SCROLLBAR_HBAR_MIDDLE_MIN_SIZE_INC 26 54
+#define SCROLLER_HANDLER_SCROLLBAR_PADDING_INC 4
+#define SCROLLER_HANDLER_SCROLLBAR_VBAR_BOTTOM_BORDER 10 10 0 10
+#define SCROLLER_HANDLER_SCROLLBAR_VBAR_RIGHT_BORDER 0 10 10 10
+
+#define TOOLBAR_ITEM_SEPARATOR_LEFT_COLOR_INC 53 53 53 255
+#define TOOLBAR_ITEM_SEPARATOR_MIDDLE_COLOR_INC MP_COLOR_BG_BLACK
+#define TOOLBAR_ITEM_SEPARATOR_RIGHT_COLOR_INC 25 25 25 255
+#define TOOLBAR_ITEM_BG_REL1_OFFSET_INC 4 4
+#define TOOLBAR_ITEM_BG_REL2_OFFSET_INC -5 -5
+#define TOOLBAR_ITEM_BG_SELECTED_BORDER_INC 3 3 3 3
+#define TABBAR_ITEM_TEXTBLOCK_COLOR_INC "#999999"
+#define TABBAR_ITEM_SELECTED_TEXTBLOCK_COLOR_INC "#3b73b6"
+#define TABBAR_ITEM_BG_DEFAULT_BORDER_INC 9 9 9 9
+#define TABBAR_ITEM_BG_DEFAULT_VISIBLE_INC 0
+#define TABBAR_ITEM_BG_DEFAULT_COLOR_INC 255 255 255 0
+#define TABBAR_DEFAULT_HEIGHT_INC 111
+#define TABBAR_ICON_TEXT_HEIGHT_INC 111
+#define TABBAR_HORIZONTAL_HEIGHT_INC 91
+#define TABBAR_HORIZONTAL_ICON_TEXT_HEIGHT_INC 91
+#define TABBAR_ITEM_ICON_SIZE_INC 68 68
+#define TABBAR_ITEM_SMALL_ICON_SIZE_INC 44 44
+
+#define CONFORMANT_INDICATOR_BG_DEFAULT_COLOR_INC 52 52 50 255
+#define CONFORMANT_INDICATOR_BG_TRANSLUCENT_COLOR_INC 0 0 0 125
+#define CONFORMANT_INDICATOR_BG_TRANSPARENT_COLOR_INC 0 0 0 0
+
+//macro for lite
+// Normal style
+#define LIST_ITEM_HEIGHT 120
+#define LIST_ALBUM_DETAIL_ITEM_HEIGHT 50
+#define LIST_PADDING_TOP_SIZE 29 // FIXME: please check font height
+#define LIST_PADDING_BOTTOM_SIZE 24 // FIXME: please check font height
+#define LIST_2LINE_PADDING_TOP_SIZE 24 // FIXME: please check font height
+#define LIST_2LINE_PADDING_BOTTOM_SIZE 24 // FIXME: please check font height
+#define LIST_PADDING_CENTER_LEFT_SIZE 24
+#define LIST_PADDING_CENTER_RIGHT_SIZE 24
+#define LIST_PADDING_DEFAULT_SIZE 24
+
+#define LIST_TEXT_MAIN_HEIGHT 38
+#define LIST_TEXT_SUB_HEIGHT 32
+
+#define LIST_TEXT_MAIN_SIZE 30
+#define LIST_TEXT_SUB_SIZE 24
+#define LIST_TEXT_SUB_WIDTH_MAX 130
+
+// Group index
+#define LIST_INDEX_PADDING_LEFT_SIZE 15
+#define LIST_INDEX_PADDING_RIGHT_SIZE 15
+#define LIST_INDEX_PADDING_TOP_SIZE 7
+#define LIST_INDEX_PADDING_BOTTOM_SIZE 8
+
+#define LIST_INDEX_HEIGHT 36
+
+#define LIST_INDEX_TEXT_MAIN_SIZE 27
+#define LIST_INDEX_TEXT_SUB_SIZE 27
--- /dev/null
+# for i18n
+
+#SET(POFILES bn.po en.p gu.po hi.po kn.po ml.po si.po ta.po te.po ur.po )
+SET(POFILES ar.po az.po bg.po ca.po cs.po da.po de.po el_GR.po en_PH.po en.po en_US.po es_ES.po es_US.po et.po eu.po fi.po fr_CA.po fr.po ga.po gl.po hr.po hu.po hy.po is.po it_IT.po ja_JP.po ka.po kk.po ko_KR.po lt.po lv.po mk.po nb.po nl.po pl.po pt_BR.po pt_PT.po ro.po ru_RU.po sk.po sl.po sr.po sv.po tr_TR.po uk.po uz.po zh_CN.po zh_HK.po zh_TW.po)
+SET(MSGFMT "/usr/bin/msgfmt")
+
+FOREACH(pofile ${POFILES})
+ SET(pofile ${CMAKE_CURRENT_SOURCE_DIR}/${pofile})
+ MESSAGE("PO: ${pofile}")
+ GET_FILENAME_COMPONENT(absPofile ${pofile} ABSOLUTE)
+ GET_FILENAME_COMPONENT(lang ${absPofile} NAME_WE)
+ SET(moFile ${CMAKE_CURRENT_BINARY_DIR}/${lang}.mo)
+ ADD_CUSTOM_COMMAND(
+ OUTPUT ${moFile}
+ COMMAND ${MSGFMT} -o ${moFile} ${absPofile}
+ DEPENDS ${absPofile}
+ )
+ INSTALL(FILES ${moFile}
+ DESTINATION ${LOCALEDIR}/${lang}/LC_MESSAGES RENAME ${PROJECT_NAME}.mo)
+ #Share mo files with music chooser.
+ INSTALL(FILES ${moFile} DESTINATION /usr/apps/org.tizen.music-chooser/res/locale/${lang}/LC_MESSAGES RENAME ${MC_MUSIC_PROJECT_NAME}.mo)
+ SET(moFiles ${moFiles} ${moFile})
+ENDFOREACH(pofile)
+
+MESSAGE(".mo files: ${moFiles}")
+ADD_CUSTOM_TARGET(po ALL DEPENDS ${moFiles})
--- /dev/null
+msgid "IDS_ST_BODY_LOADING_ING"
+msgstr "جاري التحميل ..."
+
+msgid "IDS_GALLERY_OPT_PRIVATE_M_CONTENT"
+msgstr "خاص"
+
+msgid "IDS_MF_BODY_TIME"
+msgstr "التوقيت"
+
+msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
+msgstr "هذا الملف غير موجود."
+
+msgid "IDS_MUSIC_POP_PHONE_RINGTONE"
+msgstr "نغمة رنين الهاتف"
+
+msgid "IDS_MUSIC_BODY_DURATION"
+msgstr "المدة"
+
+msgid "IDS_MUSIC_BODY_MUSIC_LOCATION"
+msgstr "الموقع"
+
+msgid "IDS_MUSIC_BODY_SET_AS_M_RINGTONE"
+msgstr "تعيين"
+
+msgid "IDS_ST_OPT_ADD_TO_PERSONAL_PAGE"
+msgstr "إضافة للصفحة الشخصية"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_PERSONAL_PAGE_ABB"
+msgstr "إزالة من الصفحة الشخصية"
+
+msgid "IDS_ST_POP_MOVE_TO_NORMAL_STORAGE"
+msgstr "نقل إلى وحدة التخزين العادية"
+
+msgid "IDS_ST_POP_MOVE_TO_PERSONAL_STORAGE"
+msgstr "نقل إلى وحدة التخزين الشخصية"
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEMS_WILL_BE_MOVED_TO_PS"
+msgstr "سيتم نقل العناصر المحددة إلى %s."
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEM_WILL_BE_MOVED_TO_PS"
+msgstr "سيتم نقل العنصر المحدد إلى %s."
+
+msgid "IDS_VR_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "تعذر الاستخدام خلال وضع التخزين كبير السعة."
+
+msgid "IDS_MUSIC_POP_RINGTONE_ADDED"
+msgstr "تمت إضافة نغمة رنين."
+
+msgid "IDS_CAM_BODY_BUTTON_T_TTS"
+msgstr "الزر"
+
+msgid "IDS_MUSIC_HEADER_SELECT_ITEMS"
+msgstr "تحديد عناصر"
+
+msgid "IDS_ST_BODY_ADVANCED"
+msgstr "متقدم"
+
+msgid "IDS_ST_SK_PREVIOUS"
+msgstr "السابق"
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "إغلاق"
+
+msgid "IDS_MUSIC_POP_ADDED"
+msgstr "تمت الإضافة."
+
+msgid "IDS_MUSIC_POP_FAILED"
+msgstr "فشل."
+
+msgid "IDS_MUSIC_BODY_NO_SEARCH_RESULTS"
+msgstr "لا توجد نتائج للبحث"
+
+msgid "IDS_MUSIC_SK_DONE"
+msgstr "تمت"
+
+msgid "IDS_MUSIC_BODY_NO_ITEMS"
+msgstr "لا توجد عناصر"
+
+msgid "IDS_BR_OPT_ADD_TO_HOME"
+msgstr "إضافة الى الرئيسية"
+
+msgid "IDS_BR_SK_NEXT"
+msgstr "التالي"
+
+msgid "IDS_BR_BODY_DOWNLOADING_ING"
+msgstr "جاري التنزيل..."
+
+msgid "IDS_IV_BODY_FAVOURITE"
+msgstr "المفضلة"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_PERSONAL_STORAGE"
+msgstr "إضافة إلى مساحة التخزين الشخصية"
+
+msgid "IDS_DLNA_POP_DISCONNECTED_FROM_PS_CHECK_THE_NETWORK_STATUS_AND_THE_CONNECTED_DEVICE"
+msgstr "تم قطع الاتصال عن %s. تحقق من حالة الشبكة والجهاز المتصل."
+
+msgid "IDS_DLNA_OPT_VIA_SCREEN_MIRRORING_ABB"
+msgstr "عبر Screen mirroring"
+
+msgid "IDS_DLNA_OPT_VIA_HOME_NETWORK_ABB"
+msgstr "عبر الشبكة المنزلية"
+
+msgid "IDS_IV_POP_ENTRY_IS_EMPTY"
+msgstr "المدخل خالي."
+
+msgid "IDS_FM_POP_UNAVAILABLE_DURING_CALL"
+msgstr "لا يتوفّر أثناء المكالمة."
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "تم الوصول إلى أقصى عدد من الحروف."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_SHARE_DRM_FILE"
+msgstr "يتعذر مشاركة ملف DRM."
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "جاري الحذف..."
+
+msgid "IDS_MUSIC_HEADER_PD_DEVICES"
+msgstr "%d أجهزة"
+
+msgid "IDS_MUSIC_BUTTON_ENABLE_MOTION"
+msgstr "تفعيل الحركة"
+
+msgid "IDS_MUSIC_BUTTON_DONT_ASK_AGAIN"
+msgstr "عدم السؤال مرة أخرى"
+
+msgid "IDS_MUSIC_BODY_NO_RESULTS_FOUND"
+msgstr "لا توجد نتائج."
+
+msgid "IDS_VPL_OPT_HDMI"
+msgstr "HDMI"
+
+msgid "IDS_MUSIC_BODY_TURN_PHONE_OVER_TO_MUTE_INCOMING_CALLS_MESSAGE_ALERTS_AND_ALARMS"
+msgstr "اقلب الهاتف لكتم المكالمات الواردة وتنبيهات الرسائل والتنبيهات."
+
+msgid "IDS_ST_BODY_NONE"
+msgstr "لا شيء"
+
+msgid "IDS_ST_BODY_INTERNET"
+msgstr "الإنترنت"
+
+msgid "IDS_ST_BODY_GALLERY"
+msgstr "استوديو"
+
+msgid "IDS_ST_BODY_DOUBLE_TAP_TO_MOVE_TO_CONTENT_T_TTS"
+msgstr "انقر نقرا مزدوجا للانتقال إلى المحتوى."
+
+msgid "IDS_MUSIC_BODY_SURROUND"
+msgstr "مجسم"
+
+msgid "IDS_MUSIC_OPT_LYRICS_ABB"
+msgstr "كلمات الأغاني"
+
+msgid "IDS_MUSIC_POP_AFTER_YOU_ADD_TRACKS_TO_MUSIC_ON_YOUR_MOBILE_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "بعد إضافة المقاطع إلى الموسيقى على جهازك المحمول، ستظهر هنا."
+
+msgid "IDS_MUSIC_BODY_SAMPLING_RATE"
+msgstr "معدل أخذ العينات"
+
+msgid "IDS_MUSIC_BODY_MARKED_AS_A_FAVOURITE"
+msgstr "تم التحديد كمفضلة."
+
+msgid "IDS_MUSIC_BODY_MUSIC"
+msgstr "الموسيقى"
+
+msgid "IDS_MUSIC_BODY_NOT_MARKED_AS_A_FAVOURITE"
+msgstr "لم يتم التحديد كمفضلة."
+
+msgid "IDS_MUSIC_HEADER_SEARCH_MUSIC_ABB"
+msgstr "بحث في الموسيقى"
+
+msgid "IDS_MUSIC_POP_AUTO_RECOMMENDATION_DOES_NOT_SUPPORT_THIS_AUDIO_FILE"
+msgstr "التوصيات التلقائية لا تدعم هذا الملف الصوتي."
+
+msgid "IDS_MUSIC_POP_SORRY_THE_PLAYER_DOES_NOT_SUPPORT_THIS_TYPE_OF_AUDIO_FILE"
+msgstr "عذرا، لا يدعم المشغل هذا النوع من ملفات الصوت."
+
+msgid "IDS_MUSIC_BODY_FAVOURITES"
+msgstr "المفضلة"
+
+msgid "IDS_MUSIC_BODY_MOST_PLAYED"
+msgstr "أكثر ما تم عرضه"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_ADDED"
+msgstr "المضاف حديثا"
+
+msgid "IDS_MUSIC_OPT_CREATE_PLAYLIST"
+msgstr "إنشاء قائمة تشغيل"
+
+msgid "IDS_MUSIC_OPT_REMOVE"
+msgstr "حذف"
+
+msgid "IDS_MUSIC_OPT_SETAS_CALLER_RINGTONE"
+msgstr "نغمة رنين المتصل"
+
+msgid "IDS_MUSIC_TAB4_ARTISTS"
+msgstr "الفنانون"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD"
+msgstr "تتعذر الإضافة."
+
+msgid "IDS_MUSIC_POP_UNABLE_CREATE_PLAYLIST"
+msgstr "يتعذر إنشاء قائمة تشغيل."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_GET_TAG"
+msgstr "يتعذر الحصول على رمز."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_MORE_THAN_PD_MUSIC_FILE"
+msgstr "تتعذر إضافة أكثر من %d ملف موسيقى."
+
+msgid "IDS_MUSIC_BODY_ALBUM"
+msgstr "الألبوم"
+
+msgid "IDS_MUSIC_BODY_AUTHOR"
+msgstr "المؤلف"
+
+msgid "IDS_MUSIC_BODY_COPYRIGHT"
+msgstr "حقوق النسخ"
+
+msgid "IDS_MUSIC_BODY_CREATE_PLAYLIST"
+msgstr "إنشاء قائمة تشغيل"
+
+msgid "IDS_MUSIC_BODY_DESCRIPTION"
+msgstr "الشرح"
+
+msgid "IDS_MUSIC_BODY_FORMAT"
+msgstr "هيئة"
+
+msgid "IDS_MUSIC_BODY_IMPOSSIBLE"
+msgstr "غير ممكن"
+
+msgid "IDS_MUSIC_BODY_NO_PLAYLISTS"
+msgstr "لا توجد قوائم تشغيل"
+
+msgid "IDS_MUSIC_BODY_TRACK_NUMBER"
+msgstr "رقم الأغنية"
+
+msgid "IDS_MUSIC_POP_DELETE_Q"
+msgstr "مسح؟"
+
+msgid "IDS_MUSIC_POP_REMOVE_Q"
+msgstr "حذف؟"
+
+msgid "IDS_MUSIC_POP_UNABLE_RENAME_PLAYLIST"
+msgstr "تتعذر إعادة تسمية قائمة التشغيل."
+
+msgid "IDS_MUSIC_TAB4_ALBUMS"
+msgstr "الألبومات"
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "جاري الإضافة..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "هل تريد حذف %d من الألبومات؟"
+
+msgid "IDS_MUSIC_TAB4_PLAYLISTS"
+msgstr "قوائم التشغيل"
+
+msgid "IDS_MUSIC_OPT_ADD"
+msgstr "إضافة"
+
+msgid "IDS_MUSIC_BODY_BIOGRAPHY"
+msgstr "سيرة"
+
+msgid "IDS_MUSIC_BODY_CREDITS"
+msgstr "الإعتمادات"
+
+msgid "IDS_MUSIC_BODY_DETAILS_MEADIA_INFO"
+msgstr "معلومات الوسائط"
+
+msgid "IDS_MUSIC_BODY_DISCOGRAPHY"
+msgstr "جمع الاسطوانات وتصنيفها"
+
+msgid "IDS_MUSIC_BODY_LYRIC"
+msgstr "كلمات الأغنية"
+
+msgid "IDS_MUSIC_BODY_POSSIBLE"
+msgstr "ممكن"
+
+msgid "IDS_MUSIC_BODY_REVIEW"
+msgstr "إعادة عرض"
+
+msgid "IDS_MUSIC_HEADER_TRACK_LIST"
+msgstr "قائمة المسارات"
+
+msgid "IDS_MUSIC_BODY_ADD_TO_PLAYLIST"
+msgstr "إضافة إلى قائمة التشغيل"
+
+msgid "IDS_MUSIC_BODY_ARTIST"
+msgstr "الفنان"
+
+msgid "IDS_MUSIC_BODY_FORWARDING"
+msgstr "التحويل"
+
+msgid "IDS_MUSIC_BODY_RECORDED_DATE"
+msgstr "Date of recording"
+
+msgid "IDS_MUSIC_BODY_PLAYLISTS"
+msgstr "قوائم التشغيل"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_PLAYED"
+msgstr "المعروض حديثا"
+
+msgid "IDS_MUSIC_BODY_TRACK_LENGTH"
+msgstr "مدة الأغنية"
+
+msgid "IDS_MUSIC_HEADER_NO_SONGS"
+msgstr "لا توجد أغاني"
+
+msgid "IDS_MUSIC_POP_THIS_TRACK_WILL_BE_DELETED"
+msgstr "سيتم حذف هذا المسار."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_TRACKS_WILL_BE_DELETED"
+msgstr "سيتم حذف المقاطع المحددة."
+
+msgid "IDS_MUSIC_POP_THIS_ARTIST_WILL_BE_DELETED"
+msgstr "سيتم حذف هذا الفنان."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ARTISTS_WILL_BE_DELETED"
+msgstr "سيتم حذف الفنانين المحددين."
+
+msgid "IDS_MUSIC_POP_ALL_ARTISTS_WILL_BE_DELETED"
+msgstr "سيتم حذف جميع الفنانين."
+
+msgid "IDS_MUSIC_POP_THIS_FOLDER_WILL_BE_DELETED"
+msgstr "سيتم حذف هذا المجلد."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_FOLDERS_WILL_BE_DELETED"
+msgstr "سيتم حذف المجلدات المحددة."
+
+msgid "IDS_MUSIC_POP_ALL_FOLDERS_WILL_BE_DELETED"
+msgstr "سيتم حذف كل المجلدات."
+
+msgid "IDS_MUSIC_POP_THIS_ALBUM_WILL_BE_DELETED"
+msgstr "سيتم حذف هذا الألبوم."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ALBUMS_WILL_BE_DELETED"
+msgstr "سيتم حذف الألبومات المحددة."
+
+msgid "IDS_MUSIC_POP_ALL_ALBUMS_WILL_BE_DELETED"
+msgstr "سيتم حذف جميع الألبومات."
+
+msgid "IDS_MUSIC_POP_THIS_PLAYLIST_WILL_BE_DELETED"
+msgstr "سيتم حذف قائمة التشغيل هذه."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_PLAYLISTS_WILL_BE_DELETED"
+msgstr "سيتم حذف قوائم التشغيل المحددة."
+
+msgid "IDS_MUSIC_POP_ALL_PLAYLISTS_WILL_BE_DELETED"
+msgstr "سيتم حذف جميع قوائم التشغيل."
+
+msgid "IDS_MUSIC_HEADER_SONGS"
+msgstr "أغاني"
+
+msgid "IDS_MUSIC_OPT_REORDER"
+msgstr "إعادة ترتيب"
+
+msgid "IDS_MUSIC_OPT_SAVE_AS_PLAYLIST"
+msgstr "حفظ كقائمة تشغيل"
+
+msgid "IDS_MUSIC_OPT_SETAS_ALARM_TONE"
+msgstr "نغمة المنبه"
+
+msgid "IDS_MUSIC_POP_NOTHING_SELECTED"
+msgstr "لم يتم تحديد أي شيء."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "تعذر التشغيل. حدث خطأ."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_UNSUPPORTED_FILETYPE"
+msgstr "يتعذر التشغيل. نوع ملف غير مدعوم."
+
+msgid "IDS_MUSIC_SK_SHARE"
+msgstr "مشاركة"
+
+msgid "IDS_MUSIC_TAB4_CONDUCTORS"
+msgstr "القادة"
+
+msgid "IDS_MUSIC_HEADER_SELECT_DEVICE"
+msgstr "تحديد جهاز"
+
+msgid "IDS_MUSIC_SK_VIEW_AS"
+msgstr "عرض كـ"
+
+msgid "IDS_MUSIC_BODY_SOUNDEFFECTS_NORMAL"
+msgstr "عادي"
+
+msgid "IDS_MUSIC_BODY_USER"
+msgstr "المستخدم"
+
+msgid "IDS_MUSIC_BODY_VOCAL_M_SOUNDEFFECT"
+msgstr "لفظي"
+
+msgid "IDS_MUSIC_MBODY_BASS_BOOST"
+msgstr "تحسين صوت الجهير"
+
+msgid "IDS_MUSIC_MBODY_TREBLE_BOOST"
+msgstr "تحسين الصوت الثلاثي"
+
+msgid "IDS_MUSIC_BODY_CAFE_M_SOUNDEFFECT"
+msgstr "مقهى"
+
+msgid "IDS_MUSIC_OPT_VIRTUAL_71_CH"
+msgstr "القناة الافتراضية ٧,۱"
+
+msgid "IDS_MUSIC_OPT_AFTER_15_MIN_ABB"
+msgstr "بعد ۱٥دقيقة"
+
+msgid "IDS_MUSIC_BODY_AFTER_30_MIN"
+msgstr "بعد ٣٠ دقيقة"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HOUR"
+msgstr "بعد ساعة"
+
+msgid "IDS_MUSIC_POP_AFTER_1_HOUR_30_MIN"
+msgstr "بعد ساعة واحدة و30 دقيقة"
+
+msgid "IDS_MUSIC_BODY_AFTER_2_HOURS"
+msgstr "بعد ساعتين"
+
+msgid "IDS_MUSIC_BODY_MUSIC_AUTO_OFF"
+msgstr "إيقاف الموسيقى التلقائي"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES_ONLY"
+msgstr "مؤثر الصوت هذا يعمل في وضعي سماعة الأذن وسماعة البلوتوث فقط."
+
+msgid "IDS_MUSIC_TAB4_MUSIC_SQUARE"
+msgstr "مربع الموسيقى"
+
+msgid "IDS_MUSIC_POP_NOT_ENOUGH_MUSIC_FILES_TO_PLAY_IN_MUSIC_SQUARE_AT_LEAST_PD_MUSIC_FILES_REQUIRED"
+msgstr "لا توجد ملفات موسيقى كافية للتشغيل في مربع الموسيقى. يلزم وجود %d ملفات موسيقى على الأقل."
+
+msgid "IDS_MUSIC_BODY_PASSION_M_MOOD"
+msgstr "عاطفة"
+
+msgid "IDS_MUSIC_BODY_CALM_M_ADJECTIVE"
+msgstr "هادئ"
+
+msgid "IDS_MUSIC_BODY_JOY_M_MOOD"
+msgstr "بهجة"
+
+msgid "IDS_MUSIC_BODY_LIBRARY_UPDATE"
+msgstr "تحديث المكتبة"
+
+msgid "IDS_MUSIC_POP_UPDATE_LIBRARY_Q"
+msgstr "هل تريد تحديث المكتبة؟"
+
+msgid "IDS_MUSIC_BODY_CHANGE_AXIS"
+msgstr "تغيير المحور"
+
+msgid "IDS_MUSIC_ITAB4_GENRES"
+msgstr "الأنواع"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_1_TRACK"
+msgstr "ألبوم واحد/مقطع واحد"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_PD_TRACKS"
+msgstr "ألبوم واحد/%d مقطع/مقاطع"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS_PD_TRACKS"
+msgstr "%d ألبوم/ألبومات/%d مقطع/مقاطع"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_CONTROL_MUSIC_PLAYER_WITH_THE_VOICE_COMMANDS_P1SS_P2SS_P3SS_P4SS_P5SS_AND_P6SS"
+msgstr "يمكنك التحكم في مشغل الموسيقى باستخدام الأوامر الصوتية %1$s و%2$s و%3$s و%4$s و%5$s و%6$s."
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_PD_TRACKS"
+msgstr "تشغيل %d مقاطع عشوائيا"
+
+msgid "IDS_MUSIC_BODY_MORE_INFO"
+msgstr "مزيد من المعلومات"
+
+msgid "IDS_MUSIC_HEADER_MY_MUSIC_M_APPLICATION_NAME"
+msgstr "الموسيقى الخاصة بي"
+
+msgid "IDS_MUSIC_OPT_LIST_VIEW"
+msgstr "عرض القائمة"
+
+msgid "IDS_MUSIC_OPT_PLAY_VIA_GROUP_PLAY"
+msgstr "تشغيل عبر ميزة Group Play"
+
+msgid "IDS_MUSIC_POP_TRACK_ADDED_TO_FAVOURITES"
+msgstr "تمت إضافة المقطع إلى المفضلة."
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_FAVOURITES"
+msgstr "إزالة من المفضلة"
+
+msgid "IDS_MUSIC_BODY_NEW_M_LATEST"
+msgstr "جديد"
+
+msgid "IDS_MUSIC_OPT_TRACKS"
+msgstr "المسارات"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL"
+msgstr "مختصر"
+
+msgid "IDS_MUSIC_SK_LIST"
+msgstr "اللائحة"
+
+msgid "IDS_MUSIC_SK_OPEN_PLAYLIST"
+msgstr "فتح لائحة العرض"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALL"
+msgstr "تشغيل الكل"
+
+msgid "IDS_MUSIC_POP_SELECTED_LIST_EMPTY"
+msgstr "فرغت القائمة المحددة."
+
+msgid "IDS_MUSIC_BODY_MOODS"
+msgstr "أنماط"
+
+msgid "IDS_MUSIC_BUTTON_YEARS"
+msgstr "أعوام"
+
+msgid "IDS_MUSIC_BODY_OLD"
+msgstr "قديمة"
+
+msgid "IDS_MUSIC_BODY_MUSIC_SQUARE_ANALYSES_THE_CHARACTERISTICS_OF_MUSIC_FILES_STORED_ON_YOUR_DEVICE_AND_AUTOMATICALLY_CREATES_PLAYLISTS_MSG"
+msgstr "يقوم مربع الموسيقى بتحليل خصائص ملفات الموسيقى المخزنة على الجهاز وإنشاء قوائم تشغيل تلقائيا."
+
+msgid "IDS_MUSIC_BODY_PLAY_TRACKS_WITH_SIMILAR_CHARACTERISTICS_BY_SELECTING_A_SQUARE_ON_THE_SCREEN"
+msgstr "يعمل على تشغيل قائمة تشغيل موسيقى بنفس الخصائص من خلال تحديد مربع على الشاشة."
+
+msgid "IDS_MUSIC_BODY_VIEW_PLAYLIST_DETAILS_BY_TAPPING_AND_HOLDING_THE_SQUARE_CURRENTLY_BEING_PLAYED"
+msgstr "يعرض تفاصيل قائمة التشغيل من خلال النقر مع الاستمرار فوق المربع الجاري تشغيله حاليا."
+
+msgid "IDS_MUSIC_BODY_NEARBY_DEVICES"
+msgstr "الأجهزة المجاورة"
+
+msgid "IDS_MUSIC_POP_YOU_WILL_NEED_TO_UPDATE_THE_LIBRARY_IF_NEW_SONGS_HAVE_BEEN_ADDED"
+msgstr "سيلزم تحديث المكتبة إذا تمت إضافة أغان جديدة."
+
+msgid "IDS_MUSIC_BODY_NO_ALBUMS"
+msgstr "لا توجد ألبومات"
+
+msgid "IDS_MUSIC_BODY_NO_ARTISTS"
+msgstr "لا يوجد فنانين"
+
+msgid "IDS_MUSIC_OPT_PLAY_SPEED_ABB"
+msgstr "سرعة التشغيل"
+
+msgid "IDS_MUSIC_BODY_CONCERT_HALL_M_SOUNDEFFECT"
+msgstr "قاعة احتفال"
+
+msgid "IDS_MUSIC_OPT_ADD_TO"
+msgstr "إضافة إلى"
+
+msgid "IDS_MUSIC_SK_VIEW"
+msgstr "عرض"
+
+msgid "IDS_MUSIC_OPT_LISTBY_RECENTLY_ADDED"
+msgstr "المضاف حديثا"
+
+msgid "IDS_MUSIC_BODY_NOT_USED"
+msgstr "غير مستخدمة"
+
+msgid "IDS_MUSIC_BODY_MAKE_AVAILABLE_OFFLINE"
+msgstr "الإتاحة عند عدم الاتصال"
+
+msgid "IDS_MUSIC_OPT_AFTER_P1SD_HRS_P2SD_MINS"
+msgstr "بعد %1$d ساعات %2$d دقائق"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS"
+msgstr "بعد %d ساعات"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_MINS"
+msgstr "بعد %d دقائق"
+
+msgid "IDS_MUSIC_BODY_NO_FOLDERS"
+msgstr "لا توجد مجلدات"
+
+msgid "IDS_MUSIC_BODY_NO_TRACKS"
+msgstr "لايوجد مسارات مسارات"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS"
+msgstr "%d ألبوم"
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS"
+msgstr "%d فنانون"
+
+msgid "IDS_MUSIC_BODY_PD_GENRES"
+msgstr "%d أنواع"
+
+msgid "IDS_MUSIC_BODY_PD_PLAYLISTS"
+msgstr "%d قوائم التشغيل"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_ABB"
+msgstr "%d مسارات"
+
+msgid "IDS_MUSIC_BODY_PLAYLIST"
+msgstr "قائمة التشغيل"
+
+msgid "IDS_MUSIC_HEADER_SIMILAR_ALBUMS"
+msgstr "ألبومات متشابهة"
+
+msgid "IDS_MUSIC_HEADER_TRACK"
+msgstr "مادة صوتية"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL_VIEW"
+msgstr "عرض مختصر"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "يعمل المؤثر الصوتي هذا في وضع سماعة الأذن فقط."
+
+msgid "IDS_MUSIC_OPT_ALL_CONTENT_ABB2"
+msgstr "المحتوى بأكمله"
+
+msgid "IDS_MUSIC_BODY_A_NETWORK_CONNECTION_IS_REQUIRED_TO_PLAY_THIS_FILE_CHECK_YOUR_NETWORK_CONNECTION_AND_TRY_AGAIN"
+msgstr "يلزم الاتصال بالشبكة لتشغيل هذا الملف. تحقق من اتصال الشبكة وحاول مرة أخرى."
+
+msgid "IDS_MUSIC_POP_FILE_TYPE_NOT_SUPPORTED"
+msgstr "نوع الملف غير مدعوم."
+
+msgid "IDS_MUSIC_POP_UPDATING_ING"
+msgstr "جاري التحديث..."
+
+msgid "IDS_MUSIC_OPT_SEARCH_ABB"
+msgstr "بحث"
+
+msgid "IDS_MUSIC_OPT_SEARCH_BY"
+msgstr "البحث حسب"
+
+msgid "IDS_MUSIC_BODY_RELATED_VIDEOS"
+msgstr "مقاطع الفيديو ذات الصلة"
+
+msgid "IDS_MUSIC_BODY_SMART_VOLUME_ABB"
+msgstr "مستوى الصوت الذكي"
+
+msgid "IDS_MUSIC_BODY_THE_VOLUME_OF_ALL_TRACKS_WILL_BE_ADJUSTED_TO_LEVEL_PD"
+msgstr "سيتم ضبط مستوى الصوت الخاص بجميع المقاطع إلى المستوى %d."
+
+msgid "IDS_MUSIC_HEADER_SMART_VOLUME_IS_ENABLED"
+msgstr "تم تفعيل مستوى الصوت الذكي"
+
+msgid "IDS_MUSIC_OPT_CONNECTION_INFO_ABB"
+msgstr "معلومات الاتصال"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_PD_MINS"
+msgstr "بعد ساعة و%d دقائق"
+
+msgid "IDS_MUSIC_BODY_ADAPT_SOUND_ABB"
+msgstr "تكيف الصوت"
+
+msgid "IDS_MUSIC_BODY_MY_DEVICE"
+msgstr "جهازي"
+
+msgid "IDS_MUSIC_POP_LISTENING_AT_A_HIGH_VOLUME_FOR_A_LONG_TIME_MAY_DAMAGE_YOUR_HEARING_RAISE_THE_VOLUME_ABOVE_SAFE_LEVELS_Q"
+msgstr "قد يؤدي الاستماع في مستوى صوت عال لفترة زمنية طويلة إلى الإضرار بحاسة السمع. هل تريد رفع مستوى الصوت إلى مستوى يتجاوز الحدود الآمنة؟"
+
+msgid "IDS_MUSIC_POP_ALREADY_EXISTS"
+msgstr "موجود مسبقا."
+
+msgid "IDS_MUSIC_OPT_SCAN_FOR_NEARBY_DEVICES"
+msgstr "المسح بحثا عن أجهزة مجاورة"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR"
+msgstr "بعد ساعة واحدة"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_1_MIN"
+msgstr "بعد ساعة ودقيقة واحدة"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS_1_MIN"
+msgstr "بعد %d ساعات ودقيقة واحدة"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_MIN"
+msgstr "بعد دقيقة واحدة"
+
+msgid "IDS_MUSIC_OPT_GO_TO_STORE"
+msgstr "ذهاب إلى المتجر"
+
+msgid "IDS_MUSIC_SK3_ADD_TRACKS"
+msgstr "إضافة\nمسارات"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FROM_MUSIC_THEY_WILL_BE_SHOWN_HERE"
+msgstr "بعد تنزيل مقاطع من الموسيقى، يتم عرضها هنا"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_YOUR_FAVOURITES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "بعد إضافة مقاطع إلى المفضلة، يتم عرضها هنا."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_PLAY_TRACKS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "بعد تشغيل المقاطع، يتم عرضها هنا."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_PS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "بعد إضافة مقاطع إلى %s. يتم عرضها هنا"
+
+msgid "IDS_MUSIC_BODY_NO_PURCHASED_CONTENT"
+msgstr "لا يوجد محتويات تم شراؤها"
+
+msgid "IDS_MUSIC_SK_SAVE_AS"
+msgstr "حفظ بإسم"
+
+msgid "IDS_MUSIC_POP_MUSICPLAYER_UPDATING_FAILED"
+msgstr "فشل التحديث."
+
+msgid "IDS_MUSIC_BODY_EXCITING_M_ADJECTIVE"
+msgstr "مثير"
+
+msgid "IDS_MUSIC_BODY_SEARCH_MY_MUSIC"
+msgstr "بحث في الموسيقى"
+
+msgid "IDS_MUSIC_HEADER_CONNECTED_DEVICES"
+msgstr "الأجهزة المتصلة"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST_PS"
+msgstr "قائمة التشغيل %s"
+
+msgid "IDS_MUSIC_BODY_NO_DEVICES"
+msgstr "لا توجد أجهزة"
+
+msgid "IDS_MUSIC_HEADER_AVAILABLE_DEVICES_ABB"
+msgstr "الأجهزة المتاحة"
+
+msgid "IDS_MUSIC_POP_SET"
+msgstr "ضبط"
+
+msgid "IDS_MUSIC_POP_REMOVE_FAILED"
+msgstr "فشلت الإزالة."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_USE_FAST_FORWARD_AND_REWIND_WHEN_NEARBY_DEVICES_ARE_ENABLED"
+msgstr "يتعذر استخدام وظيفتي التقديم السريع والإرجاع عندما تكون الأجهزة القريبة مفعلة."
+
+msgid "IDS_MUSIC_OPT_SET_AS"
+msgstr "تعيين"
+
+msgid "IDS_MUSIC_OPT_HEADPHONES_ABB"
+msgstr "سماعات رأس"
+
+msgid "IDS_MUSIC_OPT_SPEAKER"
+msgstr "مكبر الصوت"
+
+msgid "IDS_MUSIC_BODY_1_SONG"
+msgstr "أغنية واحدة"
+
+msgid "IDS_MUSIC_BODY_PD_SONGS"
+msgstr "%d أغاني"
+
+msgid "IDS_MUSIC_BODY_1_TRACK"
+msgstr "مقطع واحد"
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_1_TRACK"
+msgstr "تشغيل مقطع واحد عشوائيًا"
+
+msgid "IDS_MUSIC_POP_NO_MUSIC_FOUND_FOR_SELECTED_CELL"
+msgstr "لم يتم العثور على موسيقى للخلية المحددة"
+
+msgid "IDS_MUSIC_BODY_DO_NOT_SHOW_AGAIN"
+msgstr "عدم العرض مرة أخرى"
+
+msgid "IDS_MUSIC_BODY_VARIOUS_ARTISTS"
+msgstr "فنانون متنوعون"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_HOME_SCREEN_ABB"
+msgstr "إضافة إلى الشاشة الرئيسية"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_FAVOURITES"
+msgstr "إضافة إلى المفضلة"
+
+msgid "IDS_MUSIC_OPT_EDIT_TITLE"
+msgstr "تعديل العنوان"
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_PERSONAL_STORAGE"
+msgstr "إزالة من مساحة التخزين الشخصية"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FOLDERS_WILL_BE_SHOWN"
+msgstr "بعد تنزيل المقاطع، يتم عرض المجلدات"
+
+msgid "IDS_MUSIC_BODY_SETTINGS_VOLUME"
+msgstr "درجة الصوت"
+
+msgid "IDS_MUSIC_BODY_REPEAT_OFF"
+msgstr "إيقاف التكرار"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_REPEAT_ALL"
+msgstr "تكرار الكل"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_OFF"
+msgstr "الخلط غير فعال"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_ON"
+msgstr "الخلط فعال"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST"
+msgstr "قائمة التشغيل الخاصة بي"
+
+msgid "IDS_MUSIC_MBODY_DEFAULT_PLAYLISTS"
+msgstr "قوائم التشغيل الافتراضية"
+
+msgid "IDS_MUSIC_BODY_DETAILS_RECORDING_DATE"
+msgstr "تاريخ التسجيل"
+
+msgid "IDS_MUSIC_OPT_ALBUM_ART_ABB"
+msgstr "صورة ألبوم"
+
+msgid "IDS_MUSIC_BODY_1_GENRE"
+msgstr "نوع واحد"
+
+msgid "IDS_MUSIC_BODY_PD_FOLDERS"
+msgstr "مجلدات %d"
+
+msgid "IDS_MUSIC_BODY_1_FOLDER"
+msgstr "مجلد واحد"
+
+msgid "IDS_MUSIC_BODY_1_ARTIST"
+msgstr "فنان واحد"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_M_MUSIC"
+msgstr "ألبوم واحد"
+
+msgid "IDS_MUSIC_BODY_1_PLAYLIST"
+msgstr "قائمة تشغيل واحدة"
+
+msgid "IDS_MUSIC_BODY_MUSIC_PLAYER"
+msgstr "مشغل الموسيقى"
+
+msgid "IDS_MUSIC_BUTTON_MOVE"
+msgstr "نقل"
+
+msgid "IDS_MUSIC_BUTTON_AUTO_RECOMMENDATIONS"
+msgstr "التوصيات التلقائية"
+
+msgid "IDS_MUSIC_BUTTON_FROM_THE_BEGINNING"
+msgstr "من البداية"
+
+msgid "IDS_MUSIC_HEADER_SUGGESTIONS_FOR_YOU"
+msgstr "اقتراحات من أجلك"
+
+msgid "IDS_MUSIC_OPT_SAVE"
+msgstr "حفظ"
+
+msgid "IDS_MUSIC_TAB4_BASIC_M_EQUALIZING"
+msgstr "أساسي"
+
+msgid "IDS_MUSIC_BODY_INSTRUMENT"
+msgstr "آلة"
+
+msgid "IDS_MUSIC_BODY_TREBLE_M_EQUALISER"
+msgstr "الصوت الثلاثي"
+
+msgid "IDS_MUSIC_BODY_BASS_M_EQUALISER"
+msgstr "جهير"
+
+msgid "IDS_MUSIC_BODY_NO_EFFECTS_ARE_APPLIED_IN_THIS_MODE_ABB"
+msgstr "لا يتم تطبيق أي تأثيرات في هذا الوضع."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_TIMBRE_OF_A_TUBE_AMP_ABB"
+msgstr "يمكنك محاكاة جرس مضخم صوت الأنبوب."
+
+msgid "IDS_MUSIC_OPT_TUBE_AMP_EFFECT"
+msgstr "تأثير مضخم الصوت الأنبوبي"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_EFFECT_OF_VIRTUAL_71_CHANNEL_SURROUND_SOUND_ABB"
+msgstr "يمكنك محاكاة تأثير الصوت المجسم للقناة الظاهرية 7.1."
+
+msgid "IDS_MUSIC_HEADER_SMALL_ROOM_M_REVERB_ABB"
+msgstr "غرفة صغيرة"
+
+msgid "IDS_MUSIC_HEADER_LARGE_ROOM_M_REVERB_ABB"
+msgstr "غرفة كبيرة"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_LARGE_ROOM_EG_A_THEATRE_ABB"
+msgstr "يقوم بمحاكاة ارتداد الصدى في غرفة كبيرة، على سبيل المثال، مسرح."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_CONCERT_HALL_ABB"
+msgstr "يقوم بمحاكاة ارتداد الصدى في قاعة احتفال."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_SMALL_SPACE_EG_A_STUDIO_ABB"
+msgstr "يقوم محاكاة ارتداد الصدى في مساحة صغيرة، كالاستوديو مثلا."
+
+msgid "IDS_MUSIC_BUTTON_3D_CHN"
+msgstr "3D"
+
+msgid "IDS_MUSIC_BODY_CLARITY_M_SOUNDEFFECT"
+msgstr "الوضوح"
+
+msgid "IDS_MUSIC_BUTTON_RESET"
+msgstr "إرجاع"
+
+msgid "IDS_MUSIC_TAB_YEARS"
+msgstr "أعوام"
+
+msgid "IDS_MUSIC_TAB_GENRES"
+msgstr "الأنواع"
+
+msgid "IDS_MUSIC_TAB_COMPOSERS"
+msgstr "المؤلفون"
+
+msgid "IDS_MUSIC_TAB_ALL_TRACKS"
+msgstr "كل المسارات"
+
+msgid "IDS_MUSIC_SK3_GO_TO_QUICK_LIST"
+msgstr "ذهاب للقائمة س."
+
+msgid "IDS_MUSIC_SK3_FIND"
+msgstr "بحث"
+
+msgid "IDS_MUSIC_SK3_ADD_TO_QUICK_LIST"
+msgstr "إضافة للقائمة س."
+
+msgid "IDS_MUSIC_POP_UNAUTHORISED_VIDEO_FILE_FOR_TV_OUT"
+msgstr "ملف فيديو غير معتمد لمخرج التلفاز."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_CREATE_MAXIMUM_NUMBER_OF_PLAYLISTS_REACHED"
+msgstr "يتعذر الإنشاء. تم بلوغ الحد الأقصى لعدد قوائم التشغيل."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTING_BLUETOOTH_HEADSET"
+msgstr "يتعذر ضبط الصوت أثناء الاتصال بسماعة بلوتوث."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTED_TO_BLUETOOTH_HEADSET"
+msgstr "يتعذر ضبط مستوى الصوت أثناء الاتصال بسماعة بلوتوث."
+
+msgid "IDS_MUSIC_POP_STOP_MUSIC_PLAYER_Q"
+msgstr "إيقاف مشغل الموسيقى؟"
+
+msgid "IDS_MUSIC_POP_PLEASE_EXIT_SILENT_MODE"
+msgstr "يرجى الخروج من نمط الصمت."
+
+msgid "IDS_MUSIC_POP_NETWORK_FAILURE"
+msgstr "فشلت الشبكة."
+
+msgid "IDS_MUSIC_POP_MEMORY_CARD_LOADED"
+msgstr "بطاقة الذاكرة محملة."
+
+msgid "IDS_MUSIC_POP_DEVICE_SETTINGS_ERROR"
+msgstr "حدث خطأ في إعدادات الجهاز."
+
+msgid "IDS_MUSIC_POP_COULD_NOT_FIND_A_MATCH_FOR_THE_SONG"
+msgstr "تعذر إيجاد تطابق للأغنية."
+
+msgid "IDS_MUSIC_POP_BUFFERING_MSTATUS"
+msgstr "جاري التنزيل"
+
+msgid "IDS_MUSIC_POP_BT_HEADSET_ONLY_SUPPORTS_NORMAL_EFFECTS_SETTING"
+msgstr "تدعم سماعة البلوتوث إعدادات التأثيرات العادية فقط."
+
+msgid "IDS_MUSIC_POP_APPLICATION_WILL_BE_CLOSED"
+msgstr "سيتم اغلاق التطبيق."
+
+msgid "IDS_MUSIC_POP_ADDED_GO_TO_WISH_LIST_Q"
+msgstr "تمت الإضافة. ذهاب إلى قائمة الأماني؟"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_THE_SERVICE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "الوصول إلى الخدمة قد يحتاج إلى دفع تكلفة. متابعة؟"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_STORE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "قد تتغير طريقة الدخول إلى المتجر. متابعة؟"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_ONLY_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES"
+msgstr "5.1 مؤثر صوت القناة يعمل فقط في وضعي سماعة الأذن وسماعة البلوتوث."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "يعمل مؤثر صوت القناة 5.1 في وضع سماعة الأذن فقط."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECTS_NOT_SUPPORTED_BY_SPEAKER"
+msgstr "ليست مؤثرات صوت القناة 5.1 مدعومة بواسطة السماعة."
+
+msgid "IDS_MUSIC_OPT_VIEW_BY_COVER_ART"
+msgstr "عرض عبر رسم الغطاء"
+
+msgid "IDS_MUSIC_OPT_SEND_TRACK"
+msgstr "إرسال المسار"
+
+msgid "IDS_MUSIC_OPT_RATE_TRACK"
+msgstr "تصنيف المسار"
+
+msgid "IDS_MUSIC_OPT_PLAYLIST_MOVE_TRACK_IN_PLAYLIST"
+msgstr "نقل المسار إلى قائمة التشغيل"
+
+msgid "IDS_MUSIC_OPT_OPENPLAYLIST_CURRENT"
+msgstr "الحالي"
+
+msgid "IDS_MUSIC_OPT_DELETE_PLAYLIST"
+msgstr "حذف قائمة التشغيل"
+
+msgid "IDS_MUSIC_OPT_BACKGROUND_PLAYING"
+msgstr "التشغيل في خلفية العرض"
+
+msgid "IDS_MUSIC_HEADER_EFFECTS"
+msgstr "التأثيرات"
+
+msgid "IDS_MUSIC_BUTTON_BUY_NOW"
+msgstr "شراء الآن"
+
+msgid "IDS_MUSIC_BODY_WOW_HD"
+msgstr "واو HD"
+
+msgid "IDS_MUSIC_BODY_WISHLIST"
+msgstr "قائمة الرغبات"
+
+msgid "IDS_MUSIC_BODY_WIDE"
+msgstr "عريض"
+
+msgid "IDS_MUSIC_BODY_WHA_WHA"
+msgstr "Wha-wha"
+
+msgid "IDS_MUSIC_BODY_VIBE_WOOFER"
+msgstr "مضخم صوت الاهتزاز"
+
+msgid "IDS_MUSIC_BODY_TREMOLO"
+msgstr "Tremolo"
+
+msgid "IDS_MUSIC_BODY_TAP_TWICE_TO_PLAY_PAUSE_MUSIC"
+msgstr "اضغط مرتين لتشغيل/إيقاف الموسيقى مؤقتًا."
+
+msgid "IDS_MUSIC_BODY_SHARE_TRACK_VIA_BLUETOOTH"
+msgstr "مشاركة مادة صوتية عبر البلوتوث"
+
+msgid "IDS_MUSIC_BODY_SETUPWIZARD_WELCOME_TO_THE_MUSIC_SETUP_WIZARD_CONTINUE_Q"
+msgstr "مرحبا بك في معالج ضبط الموسيقى. ستساعدك الشاشات التالية في اعداد هاتفك. متابعة؟"
+
+msgid "IDS_MUSIC_BODY_QUICK_LIST"
+msgstr "قائمة سريعة"
+
+msgid "IDS_MUSIC_BODY_PLAYINGSETTINGS_SOUND_EFFECTS"
+msgstr "المؤثرات الصوتية"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_ALL"
+msgstr "الكل"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_1"
+msgstr "1"
+
+msgid "IDS_MUSIC_BODY_PLAYERSETTINGS_VOLUME"
+msgstr "درجة الصوت"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_SELECTED"
+msgstr "تم تحديد %d مسارات."
+
+msgid "IDS_MUSIC_BODY_NO_PODCASTS"
+msgstr "لا يوجد podcasts"
+
+msgid "IDS_MUSIC_BODY_FIND_SIMILAR"
+msgstr "البحث عن المتشابه"
+
+msgid "IDS_MUSIC_BODY_BACKGROUND_PLAY"
+msgstr "تشغيل في الخلفية"
+
+msgid "IDS_MUSIC_BODY_51_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "يمكن تنشيط القناة 5.1 فقط عند إيقاف المؤثرات الصوتية."
+
+msgid "IDS_MUSIC_TAB4_PODCASTS"
+msgstr "بودكاست"
+
+msgid "IDS_MUSIC_SK2_EDIT_IMAGE"
+msgstr "تعديل صورة"
+
+msgid "IDS_MUSIC_POP_PLAYING_ANY_SOUNDS_WILL_STOP_AND_SAVE_YOUR_VOICE_RECORDING_PLAY_Q"
+msgstr "سيتم إيقاف تشغيل أي صوت وحفظ تسجيل الصوت. هل تريد التشغيل؟"
+
+msgid "IDS_MUSIC_POP_MAXIMUM_NUMBER_OF_ITEMS_HPD_SELECTED"
+msgstr "تم تحديد أقصى عدد للعناصر (%d)."
+
+msgid "IDS_MUSIC_POP_BLUETOOTH_DISCONNECTED"
+msgstr "تم فصل البلوتوث."
+
+msgid "IDS_MUSIC_POP_5_1_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "يمكن تنشيط القناة 5.1 فقط عند إيقاف المؤثرات الصوتية."
+
+msgid "IDS_MUSIC_OPT_TAKE_PICTURE"
+msgstr "التقاط صورة"
+
+msgid "IDS_MUSIC_OPT_SHOW_MUSIC_VIEW_ABB"
+msgstr "إظهار عرض الموسيقي"
+
+msgid "IDS_MUSIC_OPT_PAUSE"
+msgstr "إيقاف مؤقت"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALBUM"
+msgstr "تشغيل ألبوم"
+
+msgid "IDS_MUSIC_OPT_LIST_BY"
+msgstr "فرز بواسطة"
+
+msgid "IDS_MUSIC_OPT_HISTORY"
+msgstr "المحفوظات"
+
+msgid "IDS_MUSIC_OPT_HIDE_MUSIC_VIEW_ABB"
+msgstr "إخفاء عرض الموسيقي"
+
+msgid "IDS_MUSIC_OPT_FIND_TAG"
+msgstr "العثور على علامة"
+
+msgid "IDS_MUSIC_OPT_DROPBOX_CONTENT_ABB"
+msgstr "محتوى Dropbox"
+
+msgid "IDS_MUSIC_OPT_CONTENT_ON_PHONE_ABB"
+msgstr "محتوى على الهاتف"
+
+msgid "IDS_MUSIC_OPT_CHANGE_IMAGE"
+msgstr "تغيير الصورة"
+
+msgid "IDS_MUSIC_HEADER_DELETE_DROPBOX_DATA_ABB"
+msgstr "حذف بيانات Dropbox"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_STREAM_YOUR_MUSIC_TO_DEVICES_USING_ALLSHARE"
+msgstr "يمكنك بث الموسيقى إلى الأجهزة باستخدام AllShare."
+
+msgid "IDS_MUSIC_BODY_VALIDITY"
+msgstr "الصلاحية"
+
+msgid "IDS_MUSIC_BODY_TYPE_CNOUN"
+msgstr "النوع"
+
+msgid "IDS_MUSIC_BODY_THIS_WILL_DELETE_THE_FILE_FROM_THE_SERVER_AND_ANY_CONNECTED_DEVICES_AS_WELL"
+msgstr "سيؤدي ذلك إلى حذف الملف من الخادم، بالإضافة إلى أي أجهزة متصلة."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_ARTISTS"
+msgstr "الفنانون"
+
+msgid "IDS_MUSIC_BODY_PLAYINGDETAILS_ALBUM_ART"
+msgstr "ألبوم الفن"
+
+msgid "IDS_MUSIC_BODY_OTHER_CONTENTS"
+msgstr "محتويات أخرى"
+
+msgid "IDS_MUSIC_BODY_NAME_TOO_LONG"
+msgstr "الاسم طويل."
+
+msgid "IDS_MUSIC_BODY_MUSIC_CLARITY"
+msgstr "نقاء صوت الموسيقى"
+
+msgid "IDS_MUSIC_BODY_HIGH_VOLUMES_MAY_HARM_YOUR_HEARING_IF_YOU_LISTEN_FOR_A_LONG_TIME"
+msgstr "قد تضر مستويات الصوت العالية بسمعك إذا استمعت إليها لفترة طويلة."
+
+msgid "IDS_MUSIC_BODY_AVAILABLE_USES"
+msgstr "الاستخدامات المتوفرة"
+
+msgid "IDS_MUSIC_TPOP_SOUND_EFFECTS_ONLY_AVAILABLE_WHILE_HEADPHONES_CONNECTED"
+msgstr "ستتوفر المؤثرات الصوتية فقط عندما تكون سماعات الرأس متّصلة."
+
+msgid "IDS_ST_OPT_ADD_TO_YOUR_PERSONAL_STORAGE"
+msgstr "إضافة لجهة التخزين الخاصة بك"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_YOUR_PERSONAL_STORAGE"
+msgstr "حذف من جهة التخزين الشخصي."
+
+msgid "IDS_ST_BODY_CONTEXTUAL_POP_UP_T_TALKBACK"
+msgstr "إطار سياق منبثق"
+
+msgid "IDS_ST_BODY_A_CONTEXTUAL_POP_UP_IS_OPEN_DOUBLE_TAP_TO_CLOSE_IT_T_TALKBACK"
+msgstr "يوجد إطار سياق منبثق مفتوح. انقر نقرا مزدوجا لإغلاقه."
+
+msgid "IDS_ST_BODY_REPEAT_ONE"
+msgstr "التكرار مرة"
+
+msgid "IDS_ST_BUTTON_MOVING_ING"
+msgstr "جاري النقل..."
+
+msgid "IDS_HS_BODY_SELECT_UP_TO_PD_ITEMS"
+msgstr "تحديد ما يصل إلى %d عنصر/عناصر"
+
+msgid "IDS_CAM_BODY_TAB_T_TTS"
+msgstr "علامة تبويب"
+
+msgid "IDS_DLNA_OPT2_CHANGE_PLAYER"
+msgstr "تغيير المشغل"
+
+msgid "IDS_BR_SK_TABS"
+msgstr "علامات تبويب"
+
+msgid "IDS_MF_BODY_DROPBOX_ABB"
+msgstr "Dropbox"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "تستطيع التوصيات التلقائية استخراج التمييزات من ملفات الصوت."
+
+msgid "IDS_MF_BODY_PARENT_RATING"
+msgstr "التصنيف الأصلي"
+
+msgid "IDS_VR_POP_FILE_NOT_FOUND"
+msgstr "الملف غير موجود."
+
+msgid "IDS_PB_POP_CALLER_RINGTONE_SAVED"
+msgstr "تم حفظ نغمة رنين المتصل."
+
+msgid "IDS_MUSIC_BODY_BIT_DEPTH"
+msgstr "عمق البت"
+
+msgid "IDS_MUSIC_BODY_SIZE"
+msgstr "الحجم"
+
+msgid "IDS_MF_HEADER_PD_SELECTED"
+msgstr "تم تحديد %d"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_THIS_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "ستظهر المقاطع هنا بعد إضافتها إلى هذا الجهاز."
+
+msgid "IDS_MUSIC_TMBODY_LENGTH"
+msgstr "الطول"
+
+msgid "IDS_MUSIC_POP_1_FOLDER_WILL_BE_DELETED"
+msgstr "سيتم حذف مجلد واحد."
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "بدون محتويات"
+
+msgid "IDS_MUSIC_ITAB4_FOLDERS"
+msgstr "مجلدات"
+
+msgid "IDS_MUSIC_HEADER_MY_PLAYLISTS_ABB"
+msgstr "قوائم التشغيل"
+
+msgid "IDS_MP_BODY_SOUND_PLAYER"
+msgstr "مشغل الصوت"
+
+msgid "IDS_MUSIC_OPT_SETTINGS"
+msgstr "الضبط"
+
+msgid "IDS_MUSIC_POP_DELETING"
+msgstr "جاري المسح..."
+
+msgid "IDS_MUSIC_POP_1_TRACK_WILL_BE_DELETED"
+msgstr "سيتم حذف مقطعًا واحدًا."
+
+msgid "IDS_MUSIC_POP_ALL_TRACKS_WILL_BE_DELETED"
+msgstr "سيتم حذف جميع المسارات"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_WILL_BE_DELETED"
+msgstr "سيتم حذف %d من المقاطع."
+
+msgid "IDS_MUSIC_POP_1_PLAYLIST_WILL_BE_DELETED"
+msgstr "سيتم حذف قائمة تشغيل واحدة."
+
+msgid "IDS_MUSIC_POP_PD_PLAYLISTS_WILL_BE_DELETED"
+msgstr "سيتم حذف %d قوائم تشغيل."
+
+msgid "IDS_MUSIC_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "سيتم حذف %d ألبومات."
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS_WILL_BE_DELETED"
+msgstr "سيتم حذف %d فنانين."
+
+msgid "IDS_MUSIC_POP_PD_FOLDERS_WILL_BE_DELETED"
+msgstr "سيتم حذف %d مجلدات."
+
+msgid "IDS_ST_POP_CONNECTION_FAILED"
+msgstr "فشل التوصيل."
+
+msgid "IDS_MUSIC_BODY_CLASSIC"
+msgstr "كلاسيك"
+
+msgid "IDS_MUSIC_BODY_ROCK"
+msgstr "الروك"
+
+msgid "IDS_MUSIC_BODY_JAZZ"
+msgstr "الجاز"
+
+msgid "IDS_MUSIC_BODY_POP"
+msgstr "البوب"
+
+msgid "IDS_MUSIC_BODY_AUTO"
+msgstr "تلقائي"
+
+msgid "IDS_MUSIC_POP_CURRENT_SOUND_EFFECT_NOT_SUPPORTED_BY_HDMI"
+msgstr "لا يدعم HDMI المؤثر الصوتي الحالي."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_BLUETOOTH"
+msgstr "ليست المؤثرات الصوتية مدعومة بواسطة البلوتوث."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_LINE_OUT"
+msgstr "ليست المؤثرات الصوتية مدعومة بواسطة مخرج الصوت."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_HDMI"
+msgstr "ليست المؤثرات الصوتية مدعومة بواسطة HDMI."
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EFFECT"
+msgstr "مضخم الصوت الأنبوبي"
+
+msgid "IDS_MUSIC_BODY_CUSTOM"
+msgstr "ضبط مخصص"
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EQUALISER_ABB"
+msgstr "مضخم صوت الأنبوب"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "تمت إضافة %d مقاطع إلى قائمة التشغيل."
+
+msgid "IDS_MUSIC_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "تمت إضافة مقطع واحد إلى قائمة التشغيل"
+
+msgid "IDS_MUSIC_HEADER_ADD_TRACKS_TO_PLAYLIST_ABB"
+msgstr "إضافة المقاطع إلى قائمة التشغيل"
+
+msgid "IDS_MUSIC_POP_PS_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "%s مستخدم بالفعل. إدخال اسم آخر."
+
+msgid "IDS_MUSIC_TMBODY_DATE_OF_RECORDING"
+msgstr "تاريخ التسجيل"
+
+msgid "IDS_MBP_TPOP_TRACK_SET_AS_ALARM_TONE"
+msgstr "تم ضبط المقطع كنغمة التنبيه."
+
+msgid "IDS_MUSIC_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "لم يتم العثور على أي نتيجة"
+
+msgid "IDS_MUSIC_OPT_DEFAULT_RINGTONE_ABB"
+msgstr "نغمة الرنين الافتراضية"
+
+msgid "IDS_MUSIC_TPOP_TRACK_SET_AS_CALLER_RINGTONE"
+msgstr "تم ضبط المقطع كنغمة رنين المتصل."
+
+msgid "IDS_MP_TPOP_TRACK_SET_AS_RINGTONE"
+msgstr "تم ضبط المقطع كنغمة الرنين."
+
+msgid "IDS_DLNA_BODY_ADD_TO_NOW_PLAYING_LIST"
+msgstr "إضافة إلى قائمة التشغيل الحالية"
+
+msgid "IDS_MUSIC_TPOP_EQUALISER_SETTINGS_WILL_BE_APPLIED_WHILE_PLAYING_MUSIC"
+msgstr "سيتم تطبيق ضبط المعادل أثناء تشغيل الموسيقى."
+
+msgid "IDS_ST_BODY_ALERT"
+msgstr "تنبيه"
+
+msgid "IDS_IV_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "سيتم حذف ألبوم واحد"
+
+msgid "IDS_MUSIC_OPT_SD_CARD"
+msgstr "بطاقة SD"
+
+msgid "IDS_MUSIC_SBODY_DEVICE_STORAGE"
+msgstr "وحدة تخزين الجهاز"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE"
+msgstr "اسم قائمة التشغيل مستخدم مسبقاً."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_PD"
+msgstr "قائمة التشغيل %d"
+
+msgid "IDS_MUSIC_HEADER_CREATE"
+msgstr "إنشاء"
+
+msgid "IDS_MUSIC_HEADER_EQUALISER_PRESET_ABB"
+msgstr "إعادة ضبط المعادل"
+
+msgid "IDS_MUSIC_OPT_AUTOMATIC_M_EQUALIZER_EFFECT"
+msgstr "تلقائي"
+
+msgid "IDS_MUSIC_OPT_CLASSICAL_M_EQUALIZER_EFFECT"
+msgstr "كلاسيكي"
+
+msgid "IDS_MUSIC_HEADER_ENVIRONMENT_EFFECT_ABB"
+msgstr "تأثير المحيط"
+
+msgid "IDS_VIDEO_POP_THE_FILE_TYPE_IS_NOT_SUPPORTED"
+msgstr "إن نوع الملف غير مدعوم."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_CREATE_PLAYLISTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "بعد إنشاء قوائم تشغيل، يتم عرضها هنا"
+
+msgid "IDS_ST_HEADER_SELECT_AUDIO_DEVICE_ABB"
+msgstr "تحديد جهاز الصوت"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "اسم قائمة التشغيل مستخدم مسبقاً. أدخل اسماً آخر."
+
+msgid "IDS_MUSIC_HEADER_SOUNDALIVE_ABB3"
+msgstr "SoundAlive"
+
+msgid "IDS_MUSIC_OPT_NOW_PLAYING_LIST"
+msgstr "قائمة المواد الجاري تشغيلها"
+
+msgid "IDS_MUSIC_OPT_SHOW_LYRICS"
+msgstr "إظهار كلمات الأغنية"
+
+msgid "IDS_MUSIC_OPT_HIDE_LYRICS"
+msgstr "إخفاء كلمات الأغاني"
+
+msgid "IDS_MUSIC_TPOP_UNABLE_TO_PLAY_MUSIC_DURING_CALLS"
+msgstr "يتعذّر تشغيل الموسيقى أثناء المكالمات."
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "حذف"
+
+msgid "IDS_MUSIC_HEADER_SELECT"
+msgstr "تحديد"
+
+msgid "IDS_TPLATFORM_OPT_NFC"
+msgstr "NFC"
+
+msgid "IDS_MUSIC_HEADER_UNABLE_TO_PLAY_TRACK"
+msgstr "يتعذر تشغيل المقطع"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "تم"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "إلغاء"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "حذف"
+
+msgid "IDS_MUSIC_POP_RENAME"
+msgstr "تغيير الاسم"
+
+msgid "IDS_MUSIC_OPT_MESSAGE"
+msgstr "رسالة"
+
+msgid "IDS_MUSIC_SK_OK"
+msgstr "موافق"
+
+msgid "IDS_MUSIC_SK_CANCEL"
+msgstr "إلغاء"
+
+msgid "IDS_MUSIC_BUTTON_REFRESH"
+msgstr "تحديث"
+
+msgid "IDS_MUSIC_BODY_SELECT_ALL"
+msgstr "اختيار الكل"
+
+msgid "IDS_MUSIC_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_MUSIC_POP_DELETED"
+msgstr "تم المسح."
+
+msgid "IDS_MUSIC_OPT_STOP"
+msgstr "إيقاف"
+
+msgid "IDS_MUSIC_BODY_UNKNOWN"
+msgstr "مجهول"
+
+msgid "IDS_MUSIC_BODY_TITLE"
+msgstr "العنوان"
+
+msgid "IDS_MUSIC_OPT_SENDVIA_EMAIL"
+msgstr "بريد إلكتروني"
+
+msgid "IDS_MUSIC_OPT_BLUETOOTH"
+msgstr "البلوتوث"
+
+msgid "IDS_MUSIC_HEADER_DOWNLOAD"
+msgstr "تنزيل"
+
+msgid "IDS_MUSIC_POP_LOW_BATTERY"
+msgstr "البطارية ضعيفة."
+
+msgid "IDS_MUSIC_HEADER_AUDIO_DEVICE"
+msgstr "جهاز صوت"
+
+msgid "IDS_MUSIC_HEADER_DETAILS"
+msgstr "التفاصيل"
+
+msgid "IDS_MUSIC_OPT_END"
+msgstr "إنهاء"
+
+msgid "IDS_MUSIC_OPT_EDIT"
+msgstr "تعديل"
+
+msgid "IDS_CAM_HEADER_UPDATED"
+msgstr "تم التحديث."
+
+msgid "IDS_MUSIC_POP_REMOVED"
+msgstr "تم الحذف."
+
+msgid "IDS_MUSIC_OPT_SELECTED"
+msgstr "محدد"
+
+msgid "IDS_ST_BUTTON_SCAN"
+msgstr "بحث"
+
+msgid "IDS_MF_POP_ERROR"
+msgstr "خطأ"
+
+msgid "IDS_MF_POP_MEMORY_FULL"
+msgstr "امتلأت الذاكرة."
+
+
+msgid "IDS_MUSIC_MBODY_QUEUE"
+msgstr "قائمة الانتظار"
+
+msgid "IDS_MUSIC_OPT_VOLUME"
+msgstr "درجة الصوت"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE"
+msgstr "الخلط"
+
+msgid "IDS_MUSIC_OPT_REPEAT"
+msgstr "التكرار"
+
+msgid "IDS_COM_BODY_DETAILS"
+msgstr "Details"
+
+msgid "IDS_COM_BODY_DETAILS_TITLE"
+msgstr "Title"
+
+msgid "IDS_COM_BODY_EDIT"
+msgstr "Edit"
+
+msgid "IDS_COM_BODY_EMAIL"
+msgstr "Email"
+
+msgid "IDS_COM_BODY_END"
+msgstr "End"
+
+msgid "IDS_COM_BODY_FOLDERS"
+msgstr "Folders"
+
+msgid "IDS_COM_BODY_GALLERY"
+msgstr "Gallery"
+
+msgid "IDS_COM_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_COM_BODY_LOADING"
+msgstr "Loading..."
+
+msgid "IDS_COM_BODY_LOW_BATTERY"
+msgstr "Low battery."
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Message"
+
+msgid "IDS_COM_BODY_MUSIC"
+msgstr "Music"
+
+msgid "IDS_COM_BODY_NFC"
+msgstr "NFC"
+
+msgid "IDS_COM_BODY_NO_CONTENTS"
+msgstr "No content"
+
+msgid "IDS_COM_BODY_PAUSE"
+msgstr "Pause"
+
+msgid "IDS_COM_BODY_PD_SELECTED"
+msgstr "%d selected."
+
+msgid "IDS_COM_BODY_PREVIOUS"
+msgstr "Previous"
+
+msgid "IDS_COM_BODY_RESET_A"
+msgstr "Reset"
+
+msgid "IDS_COM_BODY_SELECTED"
+msgstr "Selected"
+
+msgid "IDS_COM_BODY_SELECT_ALL"
+msgstr "Select all"
+
+msgid "IDS_COM_BODY_SETTINGS"
+msgstr "Settings"
+
+msgid "IDS_COM_BODY_TIME"
+msgstr "Time"
+
+msgid "IDS_COM_BODY_UNABLE_TO_ADD"
+msgstr "Unable to add."
+
+msgid "IDS_COM_BODY_UNKNOWN"
+msgstr "Unknown"
+
+msgid "IDS_COM_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_COM_BUTTON_SCAN"
+msgstr "Scan"
+
+msgid "IDS_COM_BUTTON_SHARE"
+msgstr "Share"
+
+msgid "IDS_COM_HEADER_AUDIO_DEVICE_ABB"
+msgstr "Audio device"
+
+msgid "IDS_COM_OPT_ADDED"
+msgstr "Added."
+
+msgid "IDS_COM_OPT_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_POP_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_POP_CONNECTION_FAILED"
+msgstr "Connection failed."
+
+msgid "IDS_COM_POP_DELETED"
+msgstr "Deleted."
+
+msgid "IDS_COM_POP_DELETE_Q"
+msgstr "Delete?"
+
+msgid "IDS_COM_POP_DONE"
+msgstr "Done"
+
+msgid "IDS_COM_POP_DOWNLOADING"
+msgstr "Downloading..."
+
+msgid "IDS_COM_POP_ERROR"
+msgstr "Error."
+
+msgid "IDS_COM_POP_FAILED"
+msgstr "Failed."
+
+msgid "IDS_COM_POP_FILE_NOT_EXIST"
+msgstr "This file does not exist."
+
+msgid "IDS_COM_POP_FILE_NOT_FOUND"
+msgstr "File not found."
+
+msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximum number of characters reached."
+
+msgid "IDS_COM_POP_MEMORY_FULL"
+msgstr "Memory full."
+
+msgid "IDS_COM_POP_REMOVED"
+msgstr "Removed."
+
+msgid "IDS_COM_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Unable to use during Mass storage mode."
+
+msgid "IDS_COM_POP_UPDATED"
+msgstr "Updated."
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_SK_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_SK_DOWNLOAD"
+msgstr "Download"
+
+msgid "IDS_COM_SK_NEW"
+msgstr "New"
+
+msgid "IDS_COM_SK_NEXT"
+msgstr "Next"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_SK_REFRESH"
+msgstr "Refresh"
+
+msgid "IDS_COM_SK_REMOVE"
+msgstr "Remove"
+
+msgid "IDS_COM_SK_SAVE"
+msgstr "Save"
+
+msgid "IDS_COM_SK_SELECT"
+msgstr "Select"
+
+msgid "IDS_COM_SK_SET"
+msgstr "Set"
+
+msgid "IDS_COM_SK_STOP"
+msgstr "Stop"
+
+
+msgid "IDS_MH_BODY_THE_PLAYLIST_NAME_PS_IS_ALREADY_IN_USE"
+msgstr "The playlist name %s is already in use."
+
+msgid "IDS_MH_BODY_TOTAL"
+msgstr "Total"
+
+msgid "IDS_MH_MBODY_RECENTLY_ADDED_M_SONG"
+msgstr "Recently added"
+
+msgid "IDS_MH_OPT_MORE_INFO_ABB"
+msgstr "More info"
+
+msgid "IDS_MH_POP_ALARM_TONE_SET"
+msgstr "Alarm tone set."
+
+msgid "IDS_MH_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 track added to playlist."
+
+msgid "IDS_MH_TPOP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d tracks added to playlist."
+
+msgid "IDS_MUSIC_OPT_RENAME"
+msgstr "Rename"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Unable to play during call."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "تم تجاوز الحد الأقصى لحجم الملفات."
+
+msgid "IDS_CAM_TPOP_UNABLE_TO_PLAY_MUSIC_WHILE_RECORDING_AUDIO_OR_VIDEO"
+msgstr "يتعذر تشغيل الموسيقى أثناء تسجيل الصوت أو الفيديو."
+
--- /dev/null
+msgid "IDS_ST_BODY_LOADING_ING"
+msgstr "Yüklənir..."
+
+msgid "IDS_GALLERY_OPT_PRIVATE_M_CONTENT"
+msgstr "Şəxsi"
+
+msgid "IDS_MF_BODY_TIME"
+msgstr "Vaxt"
+
+msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
+msgstr "Bu fayl movcud deyil."
+
+msgid "IDS_MUSIC_POP_PHONE_RINGTONE"
+msgstr "Telefonun zəng melodiyası"
+
+msgid "IDS_MUSIC_BODY_DURATION"
+msgstr "Davam etmə müddəti"
+
+msgid "IDS_MUSIC_BODY_MUSIC_LOCATION"
+msgstr "Yeri"
+
+msgid "IDS_MUSIC_BODY_SET_AS_M_RINGTONE"
+msgstr "Qur"
+
+msgid "IDS_ST_OPT_ADD_TO_PERSONAL_PAGE"
+msgstr "Şəxsi səhifəyə əlavə et"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_PERSONAL_PAGE_ABB"
+msgstr "Fərdi səhifəni silin"
+
+msgid "IDS_ST_POP_MOVE_TO_NORMAL_STORAGE"
+msgstr "Normal yaddaşa köçür"
+
+msgid "IDS_ST_POP_MOVE_TO_PERSONAL_STORAGE"
+msgstr "Şəxsi yaddaşa köçür"
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEMS_WILL_BE_MOVED_TO_PS"
+msgstr "Seçilən elementlər %s-a köçürüləcəkdir."
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEM_WILL_BE_MOVED_TO_PS"
+msgstr "Seçilən element %s-a köçürüləcəkdir."
+
+msgid "IDS_VR_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Kütləvi yaddaş rejimində istifadə etmək mümkün deyil."
+
+msgid "IDS_MUSIC_POP_RINGTONE_ADDED"
+msgstr "Zəng melodiyası əlavə edildi."
+
+msgid "IDS_CAM_BODY_BUTTON_T_TTS"
+msgstr "Düymə"
+
+msgid "IDS_MUSIC_HEADER_SELECT_ITEMS"
+msgstr "Elementləri seç"
+
+msgid "IDS_ST_BODY_ADVANCED"
+msgstr "Təkmilləşdirilmiş"
+
+msgid "IDS_ST_SK_PREVIOUS"
+msgstr "Əvvəlki"
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Bağla"
+
+msgid "IDS_MUSIC_POP_ADDED"
+msgstr "Əlavə edildi."
+
+msgid "IDS_MUSIC_POP_FAILED"
+msgstr "Mümkün olmadı."
+
+msgid "IDS_MUSIC_BODY_NO_SEARCH_RESULTS"
+msgstr "Axtarış nəticəsi yoxdur"
+
+msgid "IDS_MUSIC_SK_DONE"
+msgstr "Bitdi"
+
+msgid "IDS_MUSIC_BODY_NO_ITEMS"
+msgstr "Elementlər yoxdur"
+
+msgid "IDS_BR_OPT_ADD_TO_HOME"
+msgstr "Başlanğıca əlavə et"
+
+msgid "IDS_BR_SK_NEXT"
+msgstr "Növbəti"
+
+msgid "IDS_BR_BODY_DOWNLOADING_ING"
+msgstr "Yüklənmə..."
+
+msgid "IDS_IV_BODY_FAVOURITE"
+msgstr "Sevimli"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_PERSONAL_STORAGE"
+msgstr "Şəxsi yaddaşa əlavə et"
+
+msgid "IDS_DLNA_POP_DISCONNECTED_FROM_PS_CHECK_THE_NETWORK_STATUS_AND_THE_CONNECTED_DEVICE"
+msgstr "%s ilə əlaqə kəsildi. Şəbəkə statusunu və qoşulmuş cihazı yoxlayın"
+
+msgid "IDS_DLNA_OPT_VIA_SCREEN_MIRRORING_ABB"
+msgstr "Screen Mirroring vasitəsilə"
+
+msgid "IDS_DLNA_OPT_VIA_HOME_NETWORK_ABB"
+msgstr "Ev şəbəkəsi vasitəsilə"
+
+msgid "IDS_IV_POP_ENTRY_IS_EMPTY"
+msgstr "Boş qeyd."
+
+msgid "IDS_FM_POP_UNAVAILABLE_DURING_CALL"
+msgstr "Zəng zamanı mümkün deyil."
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Simvol sayı maksimuma çatıb."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_SHARE_DRM_FILE"
+msgstr "DRM faylını paylaşmaq mümkün deyil."
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Silinir..."
+
+msgid "IDS_MUSIC_HEADER_PD_DEVICES"
+msgstr "%d cihaz"
+
+msgid "IDS_MUSIC_BUTTON_ENABLE_MOTION"
+msgstr "Hrkti aktv et"
+
+msgid "IDS_MUSIC_BUTTON_DONT_ASK_AGAIN"
+msgstr "Təkrar soruşma"
+
+msgid "IDS_MUSIC_BODY_NO_RESULTS_FOUND"
+msgstr "Heç bir nəticə tapılmamışdır."
+
+msgid "IDS_VPL_OPT_HDMI"
+msgstr "HDMI"
+
+msgid "IDS_MUSIC_BODY_TURN_PHONE_OVER_TO_MUTE_INCOMING_CALLS_MESSAGE_ALERTS_AND_ALARMS"
+msgstr "Daxil olan zəngləri, mesaj xəbərdarlıqlarını və zəngli saaxtı səssiz etmək üçün telefonu çevirin."
+
+msgid "IDS_ST_BODY_NONE"
+msgstr "Yoxdur"
+
+msgid "IDS_ST_BODY_INTERNET"
+msgstr "İnternet"
+
+msgid "IDS_ST_BODY_GALLERY"
+msgstr "Qalereya"
+
+msgid "IDS_ST_BODY_DOUBLE_TAP_TO_MOVE_TO_CONTENT_T_TTS"
+msgstr "Məzmunu köçürmək üçün iki dəfə vurun."
+
+msgid "IDS_MUSIC_BODY_SURROUND"
+msgstr "Əhatələ"
+
+msgid "IDS_MUSIC_OPT_LYRICS_ABB"
+msgstr "Sözləri"
+
+msgid "IDS_MUSIC_POP_AFTER_YOU_ADD_TRACKS_TO_MUSIC_ON_YOUR_MOBILE_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Mobil cihazınızda Musiqi-yə mahnılar əlavə etdikdən sonra onlar burada görünəcək."
+
+msgid "IDS_MUSIC_BODY_SAMPLING_RATE"
+msgstr "Nümunə sürəti"
+
+msgid "IDS_MUSIC_BODY_MARKED_AS_A_FAVOURITE"
+msgstr "Sevimli kimi qeyd edildi."
+
+msgid "IDS_MUSIC_BODY_MUSIC"
+msgstr "Musiqi"
+
+msgid "IDS_MUSIC_BODY_NOT_MARKED_AS_A_FAVOURITE"
+msgstr "Sevimli kimi qeyd edilməyib."
+
+msgid "IDS_MUSIC_HEADER_SEARCH_MUSIC_ABB"
+msgstr "Musiqi axtar"
+
+msgid "IDS_MUSIC_POP_AUTO_RECOMMENDATION_DOES_NOT_SUPPORT_THIS_AUDIO_FILE"
+msgstr "Avto tövsiyələr bu audio faylı dəstəkləmir."
+
+msgid "IDS_MUSIC_POP_SORRY_THE_PLAYER_DOES_NOT_SUPPORT_THIS_TYPE_OF_AUDIO_FILE"
+msgstr "Üzr istəyirik, pleyer bu növ audio faylı dəstəkləmir."
+
+msgid "IDS_MUSIC_BODY_FAVOURITES"
+msgstr "Sevimlilər"
+
+msgid "IDS_MUSIC_BODY_MOST_PLAYED"
+msgstr "Çox dinlənilən"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_ADDED"
+msgstr "Yeni əlavə olunanlar"
+
+msgid "IDS_MUSIC_OPT_CREATE_PLAYLIST"
+msgstr "Mahnı siyahısı yaradın"
+
+msgid "IDS_MUSIC_OPT_REMOVE"
+msgstr "Sil"
+
+msgid "IDS_MUSIC_OPT_SETAS_CALLER_RINGTONE"
+msgstr "Zəng egənin zəng tonu"
+
+msgid "IDS_MUSIC_TAB4_ARTISTS"
+msgstr "İfaçılar"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD"
+msgstr "Əlavə etmək mümkün deyil."
+
+msgid "IDS_MUSIC_POP_UNABLE_CREATE_PLAYLIST"
+msgstr "Mahnı siyahısı yaratmaq mümkün deyil."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_GET_TAG"
+msgstr "Etiket əldə etmək mümkün deyil."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_MORE_THAN_PD_MUSIC_FILE"
+msgstr "%d musiqi faylından çox əlavə etmək mümkün deyil."
+
+msgid "IDS_MUSIC_BODY_ALBUM"
+msgstr "Albom"
+
+msgid "IDS_MUSIC_BODY_AUTHOR"
+msgstr "Müəllif"
+
+msgid "IDS_MUSIC_BODY_COPYRIGHT"
+msgstr "Müəllif hüququ"
+
+msgid "IDS_MUSIC_BODY_CREATE_PLAYLIST"
+msgstr "Mahnı siyahısı yaradın"
+
+msgid "IDS_MUSIC_BODY_DESCRIPTION"
+msgstr "Təsvir"
+
+msgid "IDS_MUSIC_BODY_FORMAT"
+msgstr "Format"
+
+msgid "IDS_MUSIC_BODY_IMPOSSIBLE"
+msgstr "Mümkün deyil"
+
+msgid "IDS_MUSIC_BODY_NO_PLAYLISTS"
+msgstr "Mahnı siyahısı yoxdur"
+
+msgid "IDS_MUSIC_BODY_TRACK_NUMBER"
+msgstr "Cığırın nömrəsi"
+
+msgid "IDS_MUSIC_POP_DELETE_Q"
+msgstr "Silinsin?"
+
+msgid "IDS_MUSIC_POP_REMOVE_Q"
+msgstr "Silinsin?"
+
+msgid "IDS_MUSIC_POP_UNABLE_RENAME_PLAYLIST"
+msgstr "Mahnı siyahısının adını dəyişdirmək mümkün deyil."
+
+msgid "IDS_MUSIC_TAB4_ALBUMS"
+msgstr "Albomlar"
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Əlavə olunur..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "%d albomlar silinsin?"
+
+msgid "IDS_MUSIC_TAB4_PLAYLISTS"
+msgstr "Musiqi siyahılrı"
+
+msgid "IDS_MUSIC_OPT_ADD"
+msgstr "Əlavə edin"
+
+msgid "IDS_MUSIC_BODY_BIOGRAPHY"
+msgstr "Bioqrafiya"
+
+msgid "IDS_MUSIC_BODY_CREDITS"
+msgstr "İştirakçıların siyahısı"
+
+msgid "IDS_MUSIC_BODY_DETAILS_MEADIA_INFO"
+msgstr "Media məlumatı"
+
+msgid "IDS_MUSIC_BODY_DISCOGRAPHY"
+msgstr "Diskoqrafiya"
+
+msgid "IDS_MUSIC_BODY_LYRIC"
+msgstr "Sözlər"
+
+msgid "IDS_MUSIC_BODY_POSSIBLE"
+msgstr "Mümkündür"
+
+msgid "IDS_MUSIC_BODY_REVIEW"
+msgstr "Gözdən keçir"
+
+msgid "IDS_MUSIC_HEADER_TRACK_LIST"
+msgstr "Musiqi siyahısı"
+
+msgid "IDS_MUSIC_BODY_ADD_TO_PLAYLIST"
+msgstr "Mahnılar siyahısına daxil et"
+
+msgid "IDS_MUSIC_BODY_ARTIST"
+msgstr "Artist"
+
+msgid "IDS_MUSIC_BODY_FORWARDING"
+msgstr "Göndərilir"
+
+msgid "IDS_MUSIC_BODY_RECORDED_DATE"
+msgstr "Date of recording"
+
+msgid "IDS_MUSIC_BODY_PLAYLISTS"
+msgstr "Mahnı siyahıları"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_PLAYED"
+msgstr "Sonuncu dinlənilən"
+
+msgid "IDS_MUSIC_BODY_TRACK_LENGTH"
+msgstr "Cığırın uzunluğu"
+
+msgid "IDS_MUSIC_HEADER_NO_SONGS"
+msgstr "Mahnı yoxdur"
+
+msgid "IDS_MUSIC_POP_THIS_TRACK_WILL_BE_DELETED"
+msgstr "Bu mahnı silinəcəkdir."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_TRACKS_WILL_BE_DELETED"
+msgstr "Seçilən mahnılar silinəcəkdir."
+
+msgid "IDS_MUSIC_POP_THIS_ARTIST_WILL_BE_DELETED"
+msgstr "Bu ifaçı silinəcək."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ARTISTS_WILL_BE_DELETED"
+msgstr "Seçilən ifaçılar silinəcəkdir."
+
+msgid "IDS_MUSIC_POP_ALL_ARTISTS_WILL_BE_DELETED"
+msgstr "Bütün ifaçılar silinəcək."
+
+msgid "IDS_MUSIC_POP_THIS_FOLDER_WILL_BE_DELETED"
+msgstr "Bu qovluq silinəcək."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_FOLDERS_WILL_BE_DELETED"
+msgstr "Seçilən qovluqlar silinəcəkdir."
+
+msgid "IDS_MUSIC_POP_ALL_FOLDERS_WILL_BE_DELETED"
+msgstr "Bütün qovluqlar silinəcək."
+
+msgid "IDS_MUSIC_POP_THIS_ALBUM_WILL_BE_DELETED"
+msgstr "Bu albom silinəcək."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ALBUMS_WILL_BE_DELETED"
+msgstr "Seçilən albomlar silinəcəkdir."
+
+msgid "IDS_MUSIC_POP_ALL_ALBUMS_WILL_BE_DELETED"
+msgstr "Bütün albomlar silinəcək."
+
+msgid "IDS_MUSIC_POP_THIS_PLAYLIST_WILL_BE_DELETED"
+msgstr "Bu musiqi siyahısı silinəcək."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Seçilən siyahılar silinəcəkdir."
+
+msgid "IDS_MUSIC_POP_ALL_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Bütün ifa siyahıları silinəcək."
+
+msgid "IDS_MUSIC_HEADER_SONGS"
+msgstr "Mahnılar"
+
+msgid "IDS_MUSIC_OPT_REORDER"
+msgstr "Yenidən sırala"
+
+msgid "IDS_MUSIC_OPT_SAVE_AS_PLAYLIST"
+msgstr "Musiqi siyahısı kimi saxlayın"
+
+msgid "IDS_MUSIC_OPT_SETAS_ALARM_TONE"
+msgstr "Xəbərdarlıq zənginin tonu"
+
+msgid "IDS_MUSIC_POP_NOTHING_SELECTED"
+msgstr "He nə seçilməmişdir."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Səsləndirmək mümkün deyil. Səhv baş verdi."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_UNSUPPORTED_FILETYPE"
+msgstr "Çaldırmaq mümkün deyil. Dəstəklənməyən fayl növü."
+
+msgid "IDS_MUSIC_SK_SHARE"
+msgstr "Bölüşün"
+
+msgid "IDS_MUSIC_TAB4_CONDUCTORS"
+msgstr "Dirijorlar"
+
+msgid "IDS_MUSIC_HEADER_SELECT_DEVICE"
+msgstr "Qurğu seç"
+
+msgid "IDS_MUSIC_SK_VIEW_AS"
+msgstr "Kimi bax"
+
+msgid "IDS_MUSIC_BODY_SOUNDEFFECTS_NORMAL"
+msgstr "Normal"
+
+msgid "IDS_MUSIC_BODY_USER"
+msgstr "İstifadəçi"
+
+msgid "IDS_MUSIC_BODY_VOCAL_M_SOUNDEFFECT"
+msgstr "Vokal"
+
+msgid "IDS_MUSIC_MBODY_BASS_BOOST"
+msgstr "Bəm səsin yüksəldilməsi"
+
+msgid "IDS_MUSIC_MBODY_TREBLE_BOOST"
+msgstr "Diskant səs yüksəldilməsi"
+
+msgid "IDS_MUSIC_BODY_CAFE_M_SOUNDEFFECT"
+msgstr "Kafe"
+
+msgid "IDS_MUSIC_OPT_VIRTUAL_71_CH"
+msgstr "Virtual 7.1 kanal"
+
+msgid "IDS_MUSIC_OPT_AFTER_15_MIN_ABB"
+msgstr "15 dəqiqə sonra"
+
+msgid "IDS_MUSIC_BODY_AFTER_30_MIN"
+msgstr "30 dəqiqədən sonra"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HOUR"
+msgstr "1 saatdan sonra"
+
+msgid "IDS_MUSIC_POP_AFTER_1_HOUR_30_MIN"
+msgstr "1 saat 30 dəqiqədən sonra"
+
+msgid "IDS_MUSIC_BODY_AFTER_2_HOURS"
+msgstr "2 saatdan sonra"
+
+msgid "IDS_MUSIC_BODY_MUSIC_AUTO_OFF"
+msgstr "Musiqini avtomatik söndür"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES_ONLY"
+msgstr "Bu səs effekti yalnız qulaqlıq və Bluetooth qulaqlığı rejimlərində işləyir."
+
+msgid "IDS_MUSIC_TAB4_MUSIC_SQUARE"
+msgstr "Musiqi meydanı"
+
+msgid "IDS_MUSIC_POP_NOT_ENOUGH_MUSIC_FILES_TO_PLAY_IN_MUSIC_SQUARE_AT_LEAST_PD_MUSIC_FILES_REQUIRED"
+msgstr "Musiqi meydanında səsləndirmək üçün kifayət qədər musiqi faylı yoxdur. Ən azı %d musiqi faylı tələb olunur."
+
+msgid "IDS_MUSIC_BODY_PASSION_M_MOOD"
+msgstr "Həvəs"
+
+msgid "IDS_MUSIC_BODY_CALM_M_ADJECTIVE"
+msgstr "Sakit"
+
+msgid "IDS_MUSIC_BODY_JOY_M_MOOD"
+msgstr "Sevinc"
+
+msgid "IDS_MUSIC_BODY_LIBRARY_UPDATE"
+msgstr "Kitabxana yeniləməsi"
+
+msgid "IDS_MUSIC_POP_UPDATE_LIBRARY_Q"
+msgstr "Kitabxana yenilənsin?"
+
+msgid "IDS_MUSIC_BODY_CHANGE_AXIS"
+msgstr "Oxu dəyiş"
+
+msgid "IDS_MUSIC_ITAB4_GENRES"
+msgstr "Janrlar"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_1_TRACK"
+msgstr "1 albom/1 mahnı"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_PD_TRACKS"
+msgstr "1 albom/%d mahnılar"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS_PD_TRACKS"
+msgstr "%d albomlar/%d mahnılar"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_CONTROL_MUSIC_PLAYER_WITH_THE_VOICE_COMMANDS_P1SS_P2SS_P3SS_P4SS_P5SS_AND_P6SS"
+msgstr "Siz səs əmrləri %1$s, %2$s, %3$s, %4$s, %5$s və %6$s ilə Musiqi pleyerinizi idarə edə bilərsiniz."
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_PD_TRACKS"
+msgstr "%d mahnını təsadüfi qaydada sırala"
+
+msgid "IDS_MUSIC_BODY_MORE_INFO"
+msgstr "Daha çox məlumat"
+
+msgid "IDS_MUSIC_HEADER_MY_MUSIC_M_APPLICATION_NAME"
+msgstr "Mənim musiqim"
+
+msgid "IDS_MUSIC_OPT_LIST_VIEW"
+msgstr "Siyahı görünüşü"
+
+msgid "IDS_MUSIC_OPT_PLAY_VIA_GROUP_PLAY"
+msgstr "Group Play ilə göstər"
+
+msgid "IDS_MUSIC_POP_TRACK_ADDED_TO_FAVOURITES"
+msgstr "Musiqi sevimlilərə əlavə edildi."
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_FAVOURITES"
+msgstr "Sevimlilərdən sil"
+
+msgid "IDS_MUSIC_BODY_NEW_M_LATEST"
+msgstr "Yeni"
+
+msgid "IDS_MUSIC_OPT_TRACKS"
+msgstr "Mahnılar"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL"
+msgstr "Miniatür"
+
+msgid "IDS_MUSIC_SK_LIST"
+msgstr "Siyahı"
+
+msgid "IDS_MUSIC_SK_OPEN_PLAYLIST"
+msgstr "Mahnı siyahısını aç"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALL"
+msgstr "Hamısını səsləndir"
+
+msgid "IDS_MUSIC_POP_SELECTED_LIST_EMPTY"
+msgstr "Seçilmiş şəhər boşdur."
+
+msgid "IDS_MUSIC_BODY_MOODS"
+msgstr "Əhvallar"
+
+msgid "IDS_MUSIC_BUTTON_YEARS"
+msgstr "İllər"
+
+msgid "IDS_MUSIC_BODY_OLD"
+msgstr "Köhnə"
+
+msgid "IDS_MUSIC_BODY_MUSIC_SQUARE_ANALYSES_THE_CHARACTERISTICS_OF_MUSIC_FILES_STORED_ON_YOUR_DEVICE_AND_AUTOMATICALLY_CREATES_PLAYLISTS_MSG"
+msgstr "Musiqi kvadratı chazınızda saxlanmış musiqi fayllarının xüsusiyyətlərini təhlil edir və avtomatik olaraq ifa siyahısı yaradır."
+
+msgid "IDS_MUSIC_BODY_PLAY_TRACKS_WITH_SIMILAR_CHARACTERISTICS_BY_SELECTING_A_SQUARE_ON_THE_SCREEN"
+msgstr "Ekranda kvadratı seçməklə oxşar musiqilərin ifa siyahısını səsləndirin."
+
+msgid "IDS_MUSIC_BODY_VIEW_PLAYLIST_DETAILS_BY_TAPPING_AND_HOLDING_THE_SQUARE_CURRENTLY_BEING_PLAYED"
+msgstr "Hazırda səslənən kvadrata vurub saxlamaqla ifa siyahısı təfərrüatlarına baxın."
+
+msgid "IDS_MUSIC_BODY_NEARBY_DEVICES"
+msgstr "Yaxınlıqdakı cihazlar"
+
+msgid "IDS_MUSIC_POP_YOU_WILL_NEED_TO_UPDATE_THE_LIBRARY_IF_NEW_SONGS_HAVE_BEEN_ADDED"
+msgstr "Yeni mahnılar əlavə edilibsə, kitabxananı yeniləməlisiniz."
+
+msgid "IDS_MUSIC_BODY_NO_ALBUMS"
+msgstr "Albom yoxdur"
+
+msgid "IDS_MUSIC_BODY_NO_ARTISTS"
+msgstr "Müğənni yoxdur"
+
+msgid "IDS_MUSIC_OPT_PLAY_SPEED_ABB"
+msgstr "Göstərilmə sürəti"
+
+msgid "IDS_MUSIC_BODY_CONCERT_HALL_M_SOUNDEFFECT"
+msgstr "Konsert zalı"
+
+msgid "IDS_MUSIC_OPT_ADD_TO"
+msgstr "Əlavə et"
+
+msgid "IDS_MUSIC_SK_VIEW"
+msgstr "Bax"
+
+msgid "IDS_MUSIC_OPT_LISTBY_RECENTLY_ADDED"
+msgstr "Yeni əlavə olunanlar"
+
+msgid "IDS_MUSIC_BODY_NOT_USED"
+msgstr "İstifadə edilməmişdir"
+
+msgid "IDS_MUSIC_BODY_MAKE_AVAILABLE_OFFLINE"
+msgstr "Oflayn mümkün et"
+
+msgid "IDS_MUSIC_OPT_AFTER_P1SD_HRS_P2SD_MINS"
+msgstr "%1$d hrs %2$d dəq mins"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS"
+msgstr "%d saat sonra"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_MINS"
+msgstr "%d dəq-dən sonra"
+
+msgid "IDS_MUSIC_BODY_NO_FOLDERS"
+msgstr "Qovluq yoxdur"
+
+msgid "IDS_MUSIC_BODY_NO_TRACKS"
+msgstr "Musiqi yoxdur"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS"
+msgstr "%d albom"
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS"
+msgstr "%d ifaçı"
+
+msgid "IDS_MUSIC_BODY_PD_GENRES"
+msgstr "%d janr"
+
+msgid "IDS_MUSIC_BODY_PD_PLAYLISTS"
+msgstr "%d musiqi siyahısı"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_ABB"
+msgstr "%d musiqi"
+
+msgid "IDS_MUSIC_BODY_PLAYLIST"
+msgstr "Mahnı Siyahısı"
+
+msgid "IDS_MUSIC_HEADER_SIMILAR_ALBUMS"
+msgstr "Oxşar albomlar"
+
+msgid "IDS_MUSIC_HEADER_TRACK"
+msgstr "Mahnı"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL_VIEW"
+msgstr "Miniatür görüntüsü"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "Bu səs effekti yalnız qulaqlıq rejimində işləyir."
+
+msgid "IDS_MUSIC_OPT_ALL_CONTENT_ABB2"
+msgstr "Bütün məzmun"
+
+msgid "IDS_MUSIC_BODY_A_NETWORK_CONNECTION_IS_REQUIRED_TO_PLAY_THIS_FILE_CHECK_YOUR_NETWORK_CONNECTION_AND_TRY_AGAIN"
+msgstr "Bu faylı göstərmək üçün şəbəkə bağlantısı tələb olunur. Şəbəkə bağlantınızı yoxlayın və yenidən cəhd edin."
+
+msgid "IDS_MUSIC_POP_FILE_TYPE_NOT_SUPPORTED"
+msgstr "Fayl növü dəstəklənmir."
+
+msgid "IDS_MUSIC_POP_UPDATING_ING"
+msgstr "Yenilənir..."
+
+msgid "IDS_MUSIC_OPT_SEARCH_ABB"
+msgstr "Axtar"
+
+msgid "IDS_MUSIC_OPT_SEARCH_BY"
+msgstr "Bununla axtarın"
+
+msgid "IDS_MUSIC_BODY_RELATED_VIDEOS"
+msgstr "Əlaqədar videolar"
+
+msgid "IDS_MUSIC_BODY_SMART_VOLUME_ABB"
+msgstr "Smart səs səviyyəsi"
+
+msgid "IDS_MUSIC_BODY_THE_VOLUME_OF_ALL_TRACKS_WILL_BE_ADJUSTED_TO_LEVEL_PD"
+msgstr "Bütün musiqilərin səs səviyyəsi %d səviyyəsinə tənzimlənəcək."
+
+msgid "IDS_MUSIC_HEADER_SMART_VOLUME_IS_ENABLED"
+msgstr "Smart səs səviyyəsi aktivdir"
+
+msgid "IDS_MUSIC_OPT_CONNECTION_INFO_ABB"
+msgstr "Bağlantı məlumatı"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_PD_MINS"
+msgstr "1 s %d dəq-dən sonra"
+
+msgid "IDS_MUSIC_BODY_ADAPT_SOUND_ABB"
+msgstr "Adapt Sound"
+
+msgid "IDS_MUSIC_BODY_MY_DEVICE"
+msgstr "Mənim qurğum"
+
+msgid "IDS_MUSIC_POP_LISTENING_AT_A_HIGH_VOLUME_FOR_A_LONG_TIME_MAY_DAMAGE_YOUR_HEARING_RAISE_THE_VOLUME_ABOVE_SAFE_LEVELS_Q"
+msgstr "Uzun müddət yüksək səs səviyyəsində audio dinləmək eşitmə qabiliyyətinizi zədələyə bilər. Səs səviyyəsi təhlükəsiz səviyyədən yuxarı qaldırılsın?"
+
+msgid "IDS_MUSIC_POP_ALREADY_EXISTS"
+msgstr "Artıq mövcuddur."
+
+msgid "IDS_MUSIC_OPT_SCAN_FOR_NEARBY_DEVICES"
+msgstr "Yaxınlıqdakı cihazları axtar"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR"
+msgstr "1 saat sonra"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_1_MIN"
+msgstr "1 s 1 dəq-dən sonra"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS_1_MIN"
+msgstr "%d s 1 dəq-dən sonra"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_MIN"
+msgstr "1 dəq-dən sonra"
+
+msgid "IDS_MUSIC_OPT_GO_TO_STORE"
+msgstr "Mağazaya gedin"
+
+msgid "IDS_MUSIC_SK3_ADD_TRACKS"
+msgstr "Musiqi əlavə et"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FROM_MUSIC_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Musiqidən musiqiləri yüklədikdən sonra onlar burada görünəcək."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_YOUR_FAVOURITES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Mahnıları ən çox xoşladıqlarınızın siyahısına əlavə etdikdən sonra, onlar burada görünəcəkdir."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_PLAY_TRACKS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Mahnıları oxutduqdan sonra onlar burada görünəcəkdir."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_PS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Musiqiləri %s-a əlavə etdikdən sonra onlar burada görünəcək."
+
+msgid "IDS_MUSIC_BODY_NO_PURCHASED_CONTENT"
+msgstr "Satın alınmış məzmun yoxdur"
+
+msgid "IDS_MUSIC_SK_SAVE_AS"
+msgstr "Bu adla saxlayın"
+
+msgid "IDS_MUSIC_POP_MUSICPLAYER_UPDATING_FAILED"
+msgstr "Yeniləmə alınmadı."
+
+msgid "IDS_MUSIC_BODY_EXCITING_M_ADJECTIVE"
+msgstr "Həyəcanlı"
+
+msgid "IDS_MUSIC_BODY_SEARCH_MY_MUSIC"
+msgstr "Musiqimi axtar"
+
+msgid "IDS_MUSIC_HEADER_CONNECTED_DEVICES"
+msgstr "Qoşulmuş cihazlar"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST_PS"
+msgstr "Mənim %s siyahım"
+
+msgid "IDS_MUSIC_BODY_NO_DEVICES"
+msgstr "Cihaz yoxdur"
+
+msgid "IDS_MUSIC_HEADER_AVAILABLE_DEVICES_ABB"
+msgstr "Mümkün cihazlar"
+
+msgid "IDS_MUSIC_POP_SET"
+msgstr "Qur"
+
+msgid "IDS_MUSIC_POP_REMOVE_FAILED"
+msgstr "Silmək mümkün olmadı."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_USE_FAST_FORWARD_AND_REWIND_WHEN_NEARBY_DEVICES_ARE_ENABLED"
+msgstr "Yaxınlıqdakı cihazlar aktiv olduqda geri və irəli sarma mümkün deyil."
+
+msgid "IDS_MUSIC_OPT_SET_AS"
+msgstr "Qur"
+
+msgid "IDS_MUSIC_OPT_HEADPHONES_ABB"
+msgstr "Qulaqlıqlar"
+
+msgid "IDS_MUSIC_OPT_SPEAKER"
+msgstr "Dinamik"
+
+msgid "IDS_MUSIC_BODY_1_SONG"
+msgstr "1 mahnı"
+
+msgid "IDS_MUSIC_BODY_PD_SONGS"
+msgstr "%d mahnı"
+
+msgid "IDS_MUSIC_BODY_1_TRACK"
+msgstr "1 musiqi"
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_1_TRACK"
+msgstr "1 mahnının yerini dəyişin"
+
+msgid "IDS_MUSIC_POP_NO_MUSIC_FOUND_FOR_SELECTED_CELL"
+msgstr "Seçilmiş xana üçün musiqi tapılmadı"
+
+msgid "IDS_MUSIC_BODY_DO_NOT_SHOW_AGAIN"
+msgstr "Bir daha göstərmə"
+
+msgid "IDS_MUSIC_BODY_VARIOUS_ARTISTS"
+msgstr "Müxtəlif ifaçılar"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_HOME_SCREEN_ABB"
+msgstr "Başlanğıc ekrana əlavə et"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_FAVOURITES"
+msgstr "Sevimlilərə əlavə et"
+
+msgid "IDS_MUSIC_OPT_EDIT_TITLE"
+msgstr "Başlığı redaktə et"
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_PERSONAL_STORAGE"
+msgstr "Şəxsi yaddaşdan sil"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FOLDERS_WILL_BE_SHOWN"
+msgstr "Siz mahnıları yüklədikdən sonra qovluqlar görünəcəkdir"
+
+msgid "IDS_MUSIC_BODY_SETTINGS_VOLUME"
+msgstr "Həcm"
+
+msgid "IDS_MUSIC_BODY_REPEAT_OFF"
+msgstr "Təkrarlama qeyri-aktivdir"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_REPEAT_ALL"
+msgstr "Hamısını təkrarla"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_OFF"
+msgstr "Qarışdırma söndürülüb"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_ON"
+msgstr "Përzierja aktive"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST"
+msgstr "Mənim musiqi siyahım"
+
+msgid "IDS_MUSIC_MBODY_DEFAULT_PLAYLISTS"
+msgstr "Standart ifa siyahıları"
+
+msgid "IDS_MUSIC_BODY_DETAILS_RECORDING_DATE"
+msgstr "Yazıya alma tarixi"
+
+msgid "IDS_MUSIC_OPT_ALBUM_ART_ABB"
+msgstr "Albom üzlyü"
+
+msgid "IDS_MUSIC_BODY_1_GENRE"
+msgstr "1 janr"
+
+msgid "IDS_MUSIC_BODY_PD_FOLDERS"
+msgstr "%d qovluq"
+
+msgid "IDS_MUSIC_BODY_1_FOLDER"
+msgstr "1 qovluq"
+
+msgid "IDS_MUSIC_BODY_1_ARTIST"
+msgstr "1 ifaçı"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_M_MUSIC"
+msgstr "1 albom"
+
+msgid "IDS_MUSIC_BODY_1_PLAYLIST"
+msgstr "1 ifa siyahısı"
+
+msgid "IDS_MUSIC_BODY_MUSIC_PLAYER"
+msgstr "Pleyer"
+
+msgid "IDS_MUSIC_BUTTON_MOVE"
+msgstr "Köçür"
+
+msgid "IDS_MUSIC_BUTTON_AUTO_RECOMMENDATIONS"
+msgstr "Avto-təkliflər"
+
+msgid "IDS_MUSIC_BUTTON_FROM_THE_BEGINNING"
+msgstr "Başlanğıcdan"
+
+msgid "IDS_MUSIC_HEADER_SUGGESTIONS_FOR_YOU"
+msgstr "Sizin üçün təkliflər"
+
+msgid "IDS_MUSIC_OPT_SAVE"
+msgstr "Yaddaşa yaz"
+
+msgid "IDS_MUSIC_TAB4_BASIC_M_EQUALIZING"
+msgstr "Əsas"
+
+msgid "IDS_MUSIC_BODY_INSTRUMENT"
+msgstr "Alət"
+
+msgid "IDS_MUSIC_BODY_TREBLE_M_EQUALISER"
+msgstr "Diskant"
+
+msgid "IDS_MUSIC_BODY_BASS_M_EQUALISER"
+msgstr "Bas"
+
+msgid "IDS_MUSIC_BODY_NO_EFFECTS_ARE_APPLIED_IN_THIS_MODE_ABB"
+msgstr "Bu rejimdə effekt tətbiq olunmur."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_TIMBRE_OF_A_TUBE_AMP_ABB"
+msgstr "Truba gücləndiricisinin tembrini simulyasiya edir."
+
+msgid "IDS_MUSIC_OPT_TUBE_AMP_EFFECT"
+msgstr "Boru amp effekti"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_EFFECT_OF_VIRTUAL_71_CHANNEL_SURROUND_SOUND_ABB"
+msgstr "Virtual 7.1 kanalının ətraf mühit səsi effektini smlsya edir."
+
+msgid "IDS_MUSIC_HEADER_SMALL_ROOM_M_REVERB_ABB"
+msgstr "Kiçik otaq"
+
+msgid "IDS_MUSIC_HEADER_LARGE_ROOM_M_REVERB_ABB"
+msgstr "Böyük otaq"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_LARGE_ROOM_EG_A_THEATRE_ABB"
+msgstr "Böyük otağın, məs, teatrın əks-sədasını simulyasiya edir."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_CONCERT_HALL_ABB"
+msgstr "Konsert zalının əks-sədasını simulyasiya edir."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_SMALL_SPACE_EG_A_STUDIO_ABB"
+msgstr "Kiçik yerin, məs, studionun əks-sədasını simulyasiya edir."
+
+msgid "IDS_MUSIC_BUTTON_3D_CHN"
+msgstr "3D"
+
+msgid "IDS_MUSIC_BODY_CLARITY_M_SOUNDEFFECT"
+msgstr "Aydınlıq"
+
+msgid "IDS_MUSIC_BUTTON_RESET"
+msgstr "Sıfırla"
+
+msgid "IDS_MUSIC_TAB_YEARS"
+msgstr "İllər"
+
+msgid "IDS_MUSIC_TAB_GENRES"
+msgstr "Janrlar"
+
+msgid "IDS_MUSIC_TAB_COMPOSERS"
+msgstr "Bəstəkarlar"
+
+msgid "IDS_MUSIC_TAB_ALL_TRACKS"
+msgstr "Bütün musiqilər"
+
+msgid "IDS_MUSIC_SK3_GO_TO_QUICK_LIST"
+msgstr "Çevik syh.gedin"
+
+msgid "IDS_MUSIC_SK3_FIND"
+msgstr "Tapın"
+
+msgid "IDS_MUSIC_SK3_ADD_TO_QUICK_LIST"
+msgstr "Çevk syh.əlvə edn"
+
+msgid "IDS_MUSIC_POP_UNAUTHORISED_VIDEO_FILE_FOR_TV_OUT"
+msgstr "TV çıxışı üçün icazəsiz video fayl."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_CREATE_MAXIMUM_NUMBER_OF_PLAYLISTS_REACHED"
+msgstr "Yaratmaq mümkün deyil. Musiqi siyahısı sayı maksimuma çatmişdır."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTING_BLUETOOTH_HEADSET"
+msgstr "Bluetooth qulaqlığına qoşularkən səs yüksəkliyini uyğunlaşdırmaq mümkün deyil."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTED_TO_BLUETOOTH_HEADSET"
+msgstr "Bluetooth qulaqlığına qoşularkən səs səviyyəsini tənzimləmək mümkün deyil."
+
+msgid "IDS_MUSIC_POP_STOP_MUSIC_PLAYER_Q"
+msgstr "Pleyeri dayandir?"
+
+msgid "IDS_MUSIC_POP_PLEASE_EXIT_SILENT_MODE"
+msgstr "Səssiz rejimdən çıx."
+
+msgid "IDS_MUSIC_POP_NETWORK_FAILURE"
+msgstr "Şəbəkə alınmadı."
+
+msgid "IDS_MUSIC_POP_MEMORY_CARD_LOADED"
+msgstr "Yaddaş kartı yükləndi."
+
+msgid "IDS_MUSIC_POP_DEVICE_SETTINGS_ERROR"
+msgstr "Cihaz parametrləri səhvi."
+
+msgid "IDS_MUSIC_POP_COULD_NOT_FIND_A_MATCH_FOR_THE_SONG"
+msgstr "Mahnı üçün uyğunluq tapa bilmədi."
+
+msgid "IDS_MUSIC_POP_BUFFERING_MSTATUS"
+msgstr "Buferə yazılır"
+
+msgid "IDS_MUSIC_POP_BT_HEADSET_ONLY_SUPPORTS_NORMAL_EFFECTS_SETTING"
+msgstr "BT qulaqlığı yalnız normal effekt parametrini dəstəkləyir."
+
+msgid "IDS_MUSIC_POP_APPLICATION_WILL_BE_CLOSED"
+msgstr "Proqram bağlanacaq."
+
+msgid "IDS_MUSIC_POP_ADDED_GO_TO_WISH_LIST_Q"
+msgstr "Əlavə edildi. Arzu siyahısına keçsin?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_THE_SERVICE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "Xidmətə girişə görə qiymət tətbiq edilə bilər. Davam edilsin?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_STORE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "Mağazaya girişə qiymət tətbiq edilə bilər. Davam edilsin?"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_ONLY_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES"
+msgstr "5.1 kanalı səs effekti yalnız qulaqlıq və Bluetooth qulaqlığı rejimlərində işləyir."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "5.1 kanalının səs effekti yalnız qulaqlıq rejimində işləyir."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECTS_NOT_SUPPORTED_BY_SPEAKER"
+msgstr "5.1 kanalının səs effektləri dinamik ilə dəstəklənmir."
+
+msgid "IDS_MUSIC_OPT_VIEW_BY_COVER_ART"
+msgstr "Örtük şəkilləri ilə görüntülə"
+
+msgid "IDS_MUSIC_OPT_SEND_TRACK"
+msgstr "Cığırı göndər"
+
+msgid "IDS_MUSIC_OPT_RATE_TRACK"
+msgstr "Qiymətləndirmə çığırı"
+
+msgid "IDS_MUSIC_OPT_PLAYLIST_MOVE_TRACK_IN_PLAYLIST"
+msgstr "Mahnı siyahısında cığırı hərəkətə gətir"
+
+msgid "IDS_MUSIC_OPT_OPENPLAYLIST_CURRENT"
+msgstr "Cari"
+
+msgid "IDS_MUSIC_OPT_DELETE_PLAYLIST"
+msgstr "Mahnı siyahısını sil"
+
+msgid "IDS_MUSIC_OPT_BACKGROUND_PLAYING"
+msgstr "Fonda çalınma"
+
+msgid "IDS_MUSIC_HEADER_EFFECTS"
+msgstr "Effektlər"
+
+msgid "IDS_MUSIC_BUTTON_BUY_NOW"
+msgstr "İndi al"
+
+msgid "IDS_MUSIC_BODY_WOW_HD"
+msgstr "Wow HD"
+
+msgid "IDS_MUSIC_BODY_WISHLIST"
+msgstr "İstək siyahısı"
+
+msgid "IDS_MUSIC_BODY_WIDE"
+msgstr "Geniş"
+
+msgid "IDS_MUSIC_BODY_WHA_WHA"
+msgstr "Wha-wha"
+
+msgid "IDS_MUSIC_BODY_VIBE_WOOFER"
+msgstr "Vibro reproduktor"
+
+msgid "IDS_MUSIC_BODY_TREMOLO"
+msgstr "Tremolo"
+
+msgid "IDS_MUSIC_BODY_TAP_TWICE_TO_PLAY_PAUSE_MUSIC"
+msgstr "Musiqi çalmaq/fasilə üçün iki dəfə vurun."
+
+msgid "IDS_MUSIC_BODY_SHARE_TRACK_VIA_BLUETOOTH"
+msgstr "Bluetooth vasitəsilə musiqini bölüş"
+
+msgid "IDS_MUSIC_BODY_SETUPWIZARD_WELCOME_TO_THE_MUSIC_SETUP_WIZARD_CONTINUE_Q"
+msgstr "Musiqi tərtibat proqramına xoş gəlmisiniz.\nAşağıdakı ekranlar sizin telefonunuzu konfiqurasiya etməyinizə kömək edəcək. Davam edilsin?"
+
+msgid "IDS_MUSIC_BODY_QUICK_LIST"
+msgstr "Çevik siyahı"
+
+msgid "IDS_MUSIC_BODY_PLAYINGSETTINGS_SOUND_EFFECTS"
+msgstr "Səs effektləri"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_ALL"
+msgstr "Hamısını"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_1"
+msgstr "1"
+
+msgid "IDS_MUSIC_BODY_PLAYERSETTINGS_VOLUME"
+msgstr "Həcm"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_SELECTED"
+msgstr "%d musiqi seçilib."
+
+msgid "IDS_MUSIC_BODY_NO_PODCASTS"
+msgstr "Musiqi toplusu yoxdur"
+
+msgid "IDS_MUSIC_BODY_FIND_SIMILAR"
+msgstr "Oxşarını tapın"
+
+msgid "IDS_MUSIC_BODY_BACKGROUND_PLAY"
+msgstr "Fonda çalınma"
+
+msgid "IDS_MUSIC_BODY_51_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "5.1 kanalı yalnız səs effektləri aktiv olmadıqda aktivləşdirilə bilər."
+
+msgid "IDS_MUSIC_TAB4_PODCASTS"
+msgstr "Podkastlar"
+
+msgid "IDS_MUSIC_SK2_EDIT_IMAGE"
+msgstr "Şəkli redaktə et"
+
+msgid "IDS_MUSIC_POP_PLAYING_ANY_SOUNDS_WILL_STOP_AND_SAVE_YOUR_VOICE_RECORDING_PLAY_Q"
+msgstr "Hər hansı audionu səsləndirmək səs yazılışını dayandıracaq və yadda saxlayacaq. Səsləndirilsin?"
+
+msgid "IDS_MUSIC_POP_MAXIMUM_NUMBER_OF_ITEMS_HPD_SELECTED"
+msgstr "Maksimum sayda (%d) element seçilmişdir."
+
+msgid "IDS_MUSIC_POP_BLUETOOTH_DISCONNECTED"
+msgstr "Bluetooth söndürüldü."
+
+msgid "IDS_MUSIC_POP_5_1_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "5.1 kanalı yalnız səs effektləri aktiv olmadıqda aktivləşdirilə bilər."
+
+msgid "IDS_MUSIC_OPT_TAKE_PICTURE"
+msgstr "Şəkil çək"
+
+msgid "IDS_MUSIC_OPT_SHOW_MUSIC_VIEW_ABB"
+msgstr "Musiqi görünüşünü göstər"
+
+msgid "IDS_MUSIC_OPT_PAUSE"
+msgstr "Fasilə"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALBUM"
+msgstr "Albomu səsləndir"
+
+msgid "IDS_MUSIC_OPT_LIST_BY"
+msgstr "Sıralama qaydası"
+
+msgid "IDS_MUSIC_OPT_HISTORY"
+msgstr "Tarix"
+
+msgid "IDS_MUSIC_OPT_HIDE_MUSIC_VIEW_ABB"
+msgstr "Musiqi görünüşünü gizlət"
+
+msgid "IDS_MUSIC_OPT_FIND_TAG"
+msgstr "İşarəni tapın"
+
+msgid "IDS_MUSIC_OPT_DROPBOX_CONTENT_ABB"
+msgstr "Dropbox məzmunu"
+
+msgid "IDS_MUSIC_OPT_CONTENT_ON_PHONE_ABB"
+msgstr "Telefon məzmunu"
+
+msgid "IDS_MUSIC_OPT_CHANGE_IMAGE"
+msgstr "Şəkli dəyişdir"
+
+msgid "IDS_MUSIC_HEADER_DELETE_DROPBOX_DATA_ABB"
+msgstr "Dropbox mlmtlrnı sil"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_STREAM_YOUR_MUSIC_TO_DEVICES_USING_ALLSHARE"
+msgstr "Siz AllShare istifadə edərək musiqini cihazlara göndərə bilərsiniz."
+
+msgid "IDS_MUSIC_BODY_VALIDITY"
+msgstr "Etibarlılıq"
+
+msgid "IDS_MUSIC_BODY_TYPE_CNOUN"
+msgstr "Tip"
+
+msgid "IDS_MUSIC_BODY_THIS_WILL_DELETE_THE_FILE_FROM_THE_SERVER_AND_ANY_CONNECTED_DEVICES_AS_WELL"
+msgstr "Bu, faylı serverdən və hər hansı qoşulmuş cihazlardan siləcək."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_ARTISTS"
+msgstr "İfaçılar"
+
+msgid "IDS_MUSIC_BODY_PLAYINGDETAILS_ALBUM_ART"
+msgstr "İncəsənət albomu"
+
+msgid "IDS_MUSIC_BODY_OTHER_CONTENTS"
+msgstr "Digər məzmunlar"
+
+msgid "IDS_MUSIC_BODY_NAME_TOO_LONG"
+msgstr "Ad çox uzundur."
+
+msgid "IDS_MUSIC_BODY_MUSIC_CLARITY"
+msgstr "Musiqi aydınlığı"
+
+msgid "IDS_MUSIC_BODY_HIGH_VOLUMES_MAY_HARM_YOUR_HEARING_IF_YOU_LISTEN_FOR_A_LONG_TIME"
+msgstr "Uzun müddət ucadan qulaq assanız, bu sizin eşitmənizə mənfi təsir edə bilər."
+
+msgid "IDS_MUSIC_BODY_AVAILABLE_USES"
+msgstr "İstifadəsi mümkün olanlar"
+
+msgid "IDS_MUSIC_TPOP_SOUND_EFFECTS_ONLY_AVAILABLE_WHILE_HEADPHONES_CONNECTED"
+msgstr "Səs effektləri yalnız qulaqlıqlar qoşulu olduqda mümkün olur."
+
+msgid "IDS_ST_OPT_ADD_TO_YOUR_PERSONAL_STORAGE"
+msgstr "Şəxsi yaddaşınıza əlavə edin"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_YOUR_PERSONAL_STORAGE"
+msgstr "Şəxsi yaddaşdan silin"
+
+msgid "IDS_ST_BODY_CONTEXTUAL_POP_UP_T_TALKBACK"
+msgstr "Məzmun menyusu"
+
+msgid "IDS_ST_BODY_A_CONTEXTUAL_POP_UP_IS_OPEN_DOUBLE_TAP_TO_CLOSE_IT_T_TALKBACK"
+msgstr "Məzmun menyusu açıqdır. Bağlamaq üçün iki dəfə vurun"
+
+msgid "IDS_ST_BODY_REPEAT_ONE"
+msgstr "Biri təkrar et"
+
+msgid "IDS_ST_BUTTON_MOVING_ING"
+msgstr "Aparılır..."
+
+msgid "IDS_HS_BODY_SELECT_UP_TO_PD_ITEMS"
+msgstr "%d qədər element seçin"
+
+msgid "IDS_CAM_BODY_TAB_T_TTS"
+msgstr "Tab-vərəqə"
+
+msgid "IDS_DLNA_OPT2_CHANGE_PLAYER"
+msgstr "Pleyeri dəyiş"
+
+msgid "IDS_BR_SK_TABS"
+msgstr "Tab-vərəqlər"
+
+msgid "IDS_MF_BODY_DROPBOX_ABB"
+msgstr "Dropbox"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Avto-tövsiyələr səs fayllarından seçmələri çıxarda bilərlər."
+
+msgid "IDS_MF_BODY_PARENT_RATING"
+msgstr "Valideyn reytinqi"
+
+msgid "IDS_VR_POP_FILE_NOT_FOUND"
+msgstr "Fayl tapılmadı."
+
+msgid "IDS_PB_POP_CALLER_RINGTONE_SAVED"
+msgstr "Zəng edənin melodiyası saxlandı."
+
+msgid "IDS_MUSIC_BODY_BIT_DEPTH"
+msgstr "Bit dərinliyi"
+
+msgid "IDS_MUSIC_BODY_SIZE"
+msgstr "Ölçü"
+
+msgid "IDS_MF_HEADER_PD_SELECTED"
+msgstr "%d seçilmişdir"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_THIS_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Mahnıları bu cihaza əlavə etdikdən sonra, onlar burada görünəcəkdir."
+
+msgid "IDS_MUSIC_TMBODY_LENGTH"
+msgstr "Uzunluq"
+
+msgid "IDS_MUSIC_POP_1_FOLDER_WILL_BE_DELETED"
+msgstr "1 qovluq silinəcək."
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Məzmun yoxdur"
+
+msgid "IDS_MUSIC_ITAB4_FOLDERS"
+msgstr "Qovluqlar"
+
+msgid "IDS_MUSIC_HEADER_MY_PLAYLISTS_ABB"
+msgstr "Mahnı siyahılarım"
+
+msgid "IDS_MP_BODY_SOUND_PLAYER"
+msgstr "Səs pleyeri"
+
+msgid "IDS_MUSIC_OPT_SETTINGS"
+msgstr "Parametrlər"
+
+msgid "IDS_MUSIC_POP_DELETING"
+msgstr "Silinmə"
+
+msgid "IDS_MUSIC_POP_1_TRACK_WILL_BE_DELETED"
+msgstr "1 mahnı silinəcəkdir."
+
+msgid "IDS_MUSIC_POP_ALL_TRACKS_WILL_BE_DELETED"
+msgstr "Bütün mahnılar silinəcəkdir"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_WILL_BE_DELETED"
+msgstr "%d mahnı silinəcəkdir."
+
+msgid "IDS_MUSIC_POP_1_PLAYLIST_WILL_BE_DELETED"
+msgstr "1 mahnı siyahısı silinəcək."
+
+msgid "IDS_MUSIC_POP_PD_PLAYLISTS_WILL_BE_DELETED"
+msgstr "%d musiqi siyahısı silinəcək."
+
+msgid "IDS_MUSIC_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "%d albom silinəcək."
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS_WILL_BE_DELETED"
+msgstr "%d ifaçı silinəcək."
+
+msgid "IDS_MUSIC_POP_PD_FOLDERS_WILL_BE_DELETED"
+msgstr "%d qovluq silinəcək."
+
+msgid "IDS_ST_POP_CONNECTION_FAILED"
+msgstr "Əlaqə mümkün olmadı."
+
+msgid "IDS_MUSIC_BODY_CLASSIC"
+msgstr "Klassik"
+
+msgid "IDS_MUSIC_BODY_ROCK"
+msgstr "Rock"
+
+msgid "IDS_MUSIC_BODY_JAZZ"
+msgstr "Caz"
+
+msgid "IDS_MUSIC_BODY_POP"
+msgstr "Pop"
+
+msgid "IDS_MUSIC_BODY_AUTO"
+msgstr "Avtomatik"
+
+msgid "IDS_MUSIC_POP_CURRENT_SOUND_EFFECT_NOT_SUPPORTED_BY_HDMI"
+msgstr "Hazırkı səs effekti HDMI tərəfindən dəstəklənmir."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_BLUETOOTH"
+msgstr "Səs effektləri Bluetooth ilə dəstəklənmir."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_LINE_OUT"
+msgstr "Səs effektləri xətt çıxışı ilə dəstəklənmir."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_HDMI"
+msgstr "Səs effektləri HDMI ilə dəstəklənmir."
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EFFECT"
+msgstr "Lampa gücləndirici"
+
+msgid "IDS_MUSIC_BODY_CUSTOM"
+msgstr "Adi"
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EQUALISER_ABB"
+msgstr "Boru amp"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d mahnı siyahıya əlavə edilmişdir."
+
+msgid "IDS_MUSIC_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 mahnı siyahıya əlavə edilmişdir"
+
+msgid "IDS_MUSIC_HEADER_ADD_TRACKS_TO_PLAYLIST_ABB"
+msgstr "Mahnını siyahıya əlavə edin"
+
+msgid "IDS_MUSIC_POP_PS_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "%s artıq istifadədədir. Başqa bir ad daxil edin."
+
+msgid "IDS_MUSIC_TMBODY_DATE_OF_RECORDING"
+msgstr "Yazılış tarixi"
+
+msgid "IDS_MBP_TPOP_TRACK_SET_AS_ALARM_TONE"
+msgstr "Mahnı siqnal səsi kimi quruldu."
+
+msgid "IDS_MUSIC_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Nəticə tapılmadı"
+
+msgid "IDS_MUSIC_OPT_DEFAULT_RINGTONE_ABB"
+msgstr "İlkin zəng melodiyası"
+
+msgid "IDS_MUSIC_TPOP_TRACK_SET_AS_CALLER_RINGTONE"
+msgstr "Mahnı zəng edənin melodiya zəngi kimi quruldu."
+
+msgid "IDS_MP_TPOP_TRACK_SET_AS_RINGTONE"
+msgstr "Mahnı zəng tonu kimi quruldu."
+
+msgid "IDS_DLNA_BODY_ADD_TO_NOW_PLAYING_LIST"
+msgstr "İndi səsləndirilən siyahıya əlavə edin"
+
+msgid "IDS_MUSIC_TPOP_EQUALISER_SETTINGS_WILL_BE_APPLIED_WHILE_PLAYING_MUSIC"
+msgstr "Musiqi səslənən zaman ekvalayzer parametrləri əlavə ediləcək."
+
+msgid "IDS_ST_BODY_ALERT"
+msgstr "Xəbərdarlıq zəngi"
+
+msgid "IDS_IV_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 albom silinəcək."
+
+msgid "IDS_MUSIC_OPT_SD_CARD"
+msgstr "SD kartı"
+
+msgid "IDS_MUSIC_SBODY_DEVICE_STORAGE"
+msgstr "Cihazın yaddaşı"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE"
+msgstr "Mahnı siyahısının adı artıq istifadə edilir."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_PD"
+msgstr "Mahnı siyahısı %d"
+
+msgid "IDS_MUSIC_HEADER_CREATE"
+msgstr "Yarat"
+
+msgid "IDS_MUSIC_HEADER_EQUALISER_PRESET_ABB"
+msgstr "Ekvalayzer quruldu"
+
+msgid "IDS_MUSIC_OPT_AUTOMATIC_M_EQUALIZER_EFFECT"
+msgstr "Avtomatik"
+
+msgid "IDS_MUSIC_OPT_CLASSICAL_M_EQUALIZER_EFFECT"
+msgstr "Klassik"
+
+msgid "IDS_MUSIC_HEADER_ENVIRONMENT_EFFECT_ABB"
+msgstr "Mühit effekti"
+
+msgid "IDS_VIDEO_POP_THE_FILE_TYPE_IS_NOT_SUPPORTED"
+msgstr "Fayl növü dəstəklənmir."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_CREATE_PLAYLISTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "İfa siyahısı yaratdıqdan sonra onlar burada görünəcək."
+
+msgid "IDS_ST_HEADER_SELECT_AUDIO_DEVICE_ABB"
+msgstr "Audio cihazı seç"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "Mahnı siyahısının adı artıq istifadədədir. Başqa bir ad daxil edin."
+
+msgid "IDS_MUSIC_HEADER_SOUNDALIVE_ABB3"
+msgstr "SoundAlive"
+
+msgid "IDS_MUSIC_OPT_NOW_PLAYING_LIST"
+msgstr "İndi istifadə edilən siyahı"
+
+msgid "IDS_MUSIC_OPT_SHOW_LYRICS"
+msgstr "Mahnı sözlərini göstər"
+
+msgid "IDS_MUSIC_OPT_HIDE_LYRICS"
+msgstr "Sözləri gizlət"
+
+msgid "IDS_MUSIC_TPOP_UNABLE_TO_PLAY_MUSIC_DURING_CALLS"
+msgstr "Zəng zamanı musiqi səslənməsi mümkün olmadı."
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Sil"
+
+msgid "IDS_MUSIC_HEADER_SELECT"
+msgstr "Seç"
+
+msgid "IDS_TPLATFORM_OPT_NFC"
+msgstr "NFC"
+
+msgid "IDS_MUSIC_HEADER_UNABLE_TO_PLAY_TRACK"
+msgstr "Mahnını səsləndirmək olmadı"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "HAZIR"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "LƏĞV ET"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "SİL"
+
+msgid "IDS_MUSIC_POP_RENAME"
+msgstr "Adını dəyişdir"
+
+msgid "IDS_MUSIC_OPT_MESSAGE"
+msgstr "Mesaj"
+
+msgid "IDS_MUSIC_SK_OK"
+msgstr "OK"
+
+msgid "IDS_MUSIC_SK_CANCEL"
+msgstr "Ləğv et"
+
+msgid "IDS_MUSIC_BUTTON_REFRESH"
+msgstr "Yenilə"
+
+msgid "IDS_MUSIC_BODY_SELECT_ALL"
+msgstr "Hamısını seç"
+
+msgid "IDS_MUSIC_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_MUSIC_POP_DELETED"
+msgstr "Silindi."
+
+msgid "IDS_MUSIC_OPT_STOP"
+msgstr "Dayandır"
+
+msgid "IDS_MUSIC_BODY_UNKNOWN"
+msgstr "Naməlum"
+
+msgid "IDS_MUSIC_BODY_TITLE"
+msgstr "Başlıq"
+
+msgid "IDS_MUSIC_OPT_SENDVIA_EMAIL"
+msgstr "Elektron poçtlar"
+
+msgid "IDS_MUSIC_OPT_BLUETOOTH"
+msgstr "Bluetooth"
+
+msgid "IDS_MUSIC_HEADER_DOWNLOAD"
+msgstr "Yüklə"
+
+msgid "IDS_MUSIC_POP_LOW_BATTERY"
+msgstr "Batareya zəifdir."
+
+msgid "IDS_MUSIC_HEADER_AUDIO_DEVICE"
+msgstr "Audio cihaz"
+
+msgid "IDS_MUSIC_HEADER_DETAILS"
+msgstr "Təfsilatlar"
+
+msgid "IDS_MUSIC_OPT_END"
+msgstr "Son"
+
+msgid "IDS_MUSIC_OPT_EDIT"
+msgstr "Redaktə et"
+
+msgid "IDS_CAM_HEADER_UPDATED"
+msgstr "Yeniləndi."
+
+msgid "IDS_MUSIC_POP_REMOVED"
+msgstr "Silindi."
+
+msgid "IDS_MUSIC_OPT_SELECTED"
+msgstr "Seçilmişi"
+
+msgid "IDS_ST_BUTTON_SCAN"
+msgstr "Axtarın"
+
+msgid "IDS_MF_POP_ERROR"
+msgstr "Xəta"
+
+msgid "IDS_MF_POP_MEMORY_FULL"
+msgstr "Yaddaş dolmuşdur."
+
+msgid "IDS_MUSIC_MBODY_QUEUE"
+msgstr "Növbə"
+
+msgid "IDS_MUSIC_OPT_VOLUME"
+msgstr "Həcm"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE"
+msgstr "Təsadüfi sıralama"
+
+msgid "IDS_MUSIC_OPT_REPEAT"
+msgstr "Təkrarla"
+
+msgid "IDS_COM_BODY_DETAILS"
+msgstr "Details"
+
+msgid "IDS_COM_BODY_DETAILS_TITLE"
+msgstr "Title"
+
+msgid "IDS_COM_BODY_EDIT"
+msgstr "Edit"
+
+msgid "IDS_COM_BODY_EMAIL"
+msgstr "Email"
+
+msgid "IDS_COM_BODY_END"
+msgstr "End"
+
+msgid "IDS_COM_BODY_FOLDERS"
+msgstr "Folders"
+
+msgid "IDS_COM_BODY_GALLERY"
+msgstr "Gallery"
+
+msgid "IDS_COM_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_COM_BODY_LOADING"
+msgstr "Loading..."
+
+msgid "IDS_COM_BODY_LOW_BATTERY"
+msgstr "Low battery."
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Message"
+
+msgid "IDS_COM_BODY_MUSIC"
+msgstr "Music"
+
+msgid "IDS_COM_BODY_NFC"
+msgstr "NFC"
+
+msgid "IDS_COM_BODY_NO_CONTENTS"
+msgstr "No content"
+
+msgid "IDS_COM_BODY_PAUSE"
+msgstr "Pause"
+
+msgid "IDS_COM_BODY_PD_SELECTED"
+msgstr "%d selected."
+
+msgid "IDS_COM_BODY_PREVIOUS"
+msgstr "Previous"
+
+msgid "IDS_COM_BODY_RESET_A"
+msgstr "Reset"
+
+msgid "IDS_COM_BODY_SELECTED"
+msgstr "Selected"
+
+msgid "IDS_COM_BODY_SELECT_ALL"
+msgstr "Select all"
+
+msgid "IDS_COM_BODY_SETTINGS"
+msgstr "Settings"
+
+msgid "IDS_COM_BODY_TIME"
+msgstr "Time"
+
+msgid "IDS_COM_BODY_UNABLE_TO_ADD"
+msgstr "Unable to add."
+
+msgid "IDS_COM_BODY_UNKNOWN"
+msgstr "Unknown"
+
+msgid "IDS_COM_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_COM_BUTTON_SCAN"
+msgstr "Scan"
+
+msgid "IDS_COM_BUTTON_SHARE"
+msgstr "Share"
+
+msgid "IDS_COM_HEADER_AUDIO_DEVICE_ABB"
+msgstr "Audio device"
+
+msgid "IDS_COM_OPT_ADDED"
+msgstr "Added."
+
+msgid "IDS_COM_OPT_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_POP_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_POP_CONNECTION_FAILED"
+msgstr "Connection failed."
+
+msgid "IDS_COM_POP_DELETED"
+msgstr "Deleted."
+
+msgid "IDS_COM_POP_DELETE_Q"
+msgstr "Delete?"
+
+msgid "IDS_COM_POP_DONE"
+msgstr "Done"
+
+msgid "IDS_COM_POP_DOWNLOADING"
+msgstr "Downloading..."
+
+msgid "IDS_COM_POP_ERROR"
+msgstr "Error."
+
+msgid "IDS_COM_POP_FAILED"
+msgstr "Failed."
+
+msgid "IDS_COM_POP_FILE_NOT_EXIST"
+msgstr "This file does not exist."
+
+msgid "IDS_COM_POP_FILE_NOT_FOUND"
+msgstr "File not found."
+
+msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximum number of characters reached."
+
+msgid "IDS_COM_POP_MEMORY_FULL"
+msgstr "Memory full."
+
+msgid "IDS_COM_POP_REMOVED"
+msgstr "Removed."
+
+msgid "IDS_COM_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Unable to use during Mass storage mode."
+
+msgid "IDS_COM_POP_UPDATED"
+msgstr "Updated."
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_SK_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_SK_DOWNLOAD"
+msgstr "Download"
+
+msgid "IDS_COM_SK_NEW"
+msgstr "New"
+
+msgid "IDS_COM_SK_NEXT"
+msgstr "Next"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_SK_REFRESH"
+msgstr "Refresh"
+
+msgid "IDS_COM_SK_REMOVE"
+msgstr "Remove"
+
+msgid "IDS_COM_SK_SAVE"
+msgstr "Save"
+
+msgid "IDS_COM_SK_SELECT"
+msgstr "Select"
+
+msgid "IDS_COM_SK_SET"
+msgstr "Set"
+
+msgid "IDS_COM_SK_STOP"
+msgstr "Stop"
+
+
+msgid "IDS_MH_BODY_THE_PLAYLIST_NAME_PS_IS_ALREADY_IN_USE"
+msgstr "The playlist name %s is already in use."
+
+msgid "IDS_MH_BODY_TOTAL"
+msgstr "Total"
+
+msgid "IDS_MH_MBODY_RECENTLY_ADDED_M_SONG"
+msgstr "Recently added"
+
+msgid "IDS_MH_OPT_MORE_INFO_ABB"
+msgstr "More info"
+
+msgid "IDS_MH_POP_ALARM_TONE_SET"
+msgstr "Alarm tone set."
+
+msgid "IDS_MH_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 track added to playlist."
+
+msgid "IDS_MH_TPOP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d tracks added to playlist."
+
+msgid "IDS_MUSIC_OPT_RENAME"
+msgstr "Rename"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Unable to play during call."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Faylların maksimum sayını keçib."
+
+msgid "IDS_CAM_TPOP_UNABLE_TO_PLAY_MUSIC_WHILE_RECORDING_AUDIO_OR_VIDEO"
+msgstr "Audio və ya video yazan zaman musiqi səsləndirmək olmadı."
+
--- /dev/null
+msgid "IDS_ST_BODY_LOADING_ING"
+msgstr "Зареждане"
+
+msgid "IDS_GALLERY_OPT_PRIVATE_M_CONTENT"
+msgstr "Лична"
+
+msgid "IDS_MF_BODY_TIME"
+msgstr "Час"
+
+msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
+msgstr "Файлът не съществува."
+
+msgid "IDS_MUSIC_POP_PHONE_RINGTONE"
+msgstr "Тон на звънене на телефона"
+
+msgid "IDS_MUSIC_BODY_DURATION"
+msgstr "Времетраене"
+
+msgid "IDS_MUSIC_BODY_MUSIC_LOCATION"
+msgstr "Позиция"
+
+msgid "IDS_MUSIC_BODY_SET_AS_M_RINGTONE"
+msgstr "Задаване като"
+
+msgid "IDS_ST_OPT_ADD_TO_PERSONAL_PAGE"
+msgstr "Добавяне към личната страница"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_PERSONAL_PAGE_ABB"
+msgstr "Прем. от личната страница"
+
+msgid "IDS_ST_POP_MOVE_TO_NORMAL_STORAGE"
+msgstr "Преместване в нормалното място за съхранение"
+
+msgid "IDS_ST_POP_MOVE_TO_PERSONAL_STORAGE"
+msgstr "Преместване към личното място за съхранение"
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEMS_WILL_BE_MOVED_TO_PS"
+msgstr "Избраните елементи ще бъдат преместени в %s."
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEM_WILL_BE_MOVED_TO_PS"
+msgstr "Избраният елемент ще бъде преместен в %s."
+
+msgid "IDS_VR_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Не може да се използва при режим на Запаметяващо устройство."
+
+msgid "IDS_MUSIC_POP_RINGTONE_ADDED"
+msgstr "Добавен е тон за звънене."
+
+msgid "IDS_CAM_BODY_BUTTON_T_TTS"
+msgstr "Бутон"
+
+msgid "IDS_MUSIC_HEADER_SELECT_ITEMS"
+msgstr "Избор на елементи"
+
+msgid "IDS_ST_BODY_ADVANCED"
+msgstr "Допълнителни"
+
+msgid "IDS_ST_SK_PREVIOUS"
+msgstr "Предиш."
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Затвори"
+
+msgid "IDS_MUSIC_POP_ADDED"
+msgstr "Добавен."
+
+msgid "IDS_MUSIC_POP_FAILED"
+msgstr "Неуспешно."
+
+msgid "IDS_MUSIC_BODY_NO_SEARCH_RESULTS"
+msgstr "Няма резултати от търсенето"
+
+msgid "IDS_MUSIC_SK_DONE"
+msgstr "Готово"
+
+msgid "IDS_MUSIC_BODY_NO_ITEMS"
+msgstr "Няма елементи"
+
+msgid "IDS_BR_OPT_ADD_TO_HOME"
+msgstr "Добави към началния екран"
+
+msgid "IDS_BR_SK_NEXT"
+msgstr "Следващ"
+
+msgid "IDS_BR_BODY_DOWNLOADING_ING"
+msgstr "Смъкване..."
+
+msgid "IDS_IV_BODY_FAVOURITE"
+msgstr "Любими"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_PERSONAL_STORAGE"
+msgstr "Добавяне към лично място за съхранение"
+
+msgid "IDS_DLNA_POP_DISCONNECTED_FROM_PS_CHECK_THE_NETWORK_STATUS_AND_THE_CONNECTED_DEVICE"
+msgstr "Връзката с %s е прекъсната. Проверете състоянието на мрежата и свързаното устройство."
+
+msgid "IDS_DLNA_OPT_VIA_SCREEN_MIRRORING_ABB"
+msgstr "Чрез Screen Mirroring"
+
+msgid "IDS_DLNA_OPT_VIA_HOME_NETWORK_ABB"
+msgstr "Чрез домашна мрежа"
+
+msgid "IDS_IV_POP_ENTRY_IS_EMPTY"
+msgstr "Празен запис"
+
+msgid "IDS_FM_POP_UNAVAILABLE_DURING_CALL"
+msgstr "Недостъпно по време на разговор."
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Достигнат максимален брой знаци."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_SHARE_DRM_FILE"
+msgstr "Не може да се сподели файл с DRM."
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Премахване..."
+
+msgid "IDS_MUSIC_HEADER_PD_DEVICES"
+msgstr "%d устройства"
+
+msgid "IDS_MUSIC_BUTTON_ENABLE_MOTION"
+msgstr "Актив. движ."
+
+msgid "IDS_MUSIC_BUTTON_DONT_ASK_AGAIN"
+msgstr "Не питай повече"
+
+msgid "IDS_MUSIC_BODY_NO_RESULTS_FOUND"
+msgstr "Няма намерени резултати."
+
+msgid "IDS_VPL_OPT_HDMI"
+msgstr "HDMI"
+
+msgid "IDS_MUSIC_BODY_TURN_PHONE_OVER_TO_MUTE_INCOMING_CALLS_MESSAGE_ALERTS_AND_ALARMS"
+msgstr "Завъртете телефона, за да заглушите входящите повиквания, предупрежденията за съобщения и алармите."
+
+msgid "IDS_ST_BODY_NONE"
+msgstr "Няма"
+
+msgid "IDS_ST_BODY_INTERNET"
+msgstr "Интернет"
+
+msgid "IDS_ST_BODY_GALLERY"
+msgstr "Галерия"
+
+msgid "IDS_ST_BODY_DOUBLE_TAP_TO_MOVE_TO_CONTENT_T_TTS"
+msgstr "Чукнете двукратно, за да отидете на съдържание."
+
+msgid "IDS_MUSIC_BODY_SURROUND"
+msgstr "Съраунд"
+
+msgid "IDS_MUSIC_OPT_LYRICS_ABB"
+msgstr "Текст"
+
+msgid "IDS_MUSIC_POP_AFTER_YOU_ADD_TRACKS_TO_MUSIC_ON_YOUR_MOBILE_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "След като добавите парчета към Музика на мобилното си устройство, те ще се покажат тук."
+
+msgid "IDS_MUSIC_BODY_SAMPLING_RATE"
+msgstr "Скорост на семплиране"
+
+msgid "IDS_MUSIC_BODY_MARKED_AS_A_FAVOURITE"
+msgstr "Отбелязано като предпочитано."
+
+msgid "IDS_MUSIC_BODY_MUSIC"
+msgstr "Музика"
+
+msgid "IDS_MUSIC_BODY_NOT_MARKED_AS_A_FAVOURITE"
+msgstr "Не е отбелязано като предпочитано."
+
+msgid "IDS_MUSIC_HEADER_SEARCH_MUSIC_ABB"
+msgstr "Търсене на музика"
+
+msgid "IDS_MUSIC_POP_AUTO_RECOMMENDATION_DOES_NOT_SUPPORT_THIS_AUDIO_FILE"
+msgstr "Автоматичното препоръчване не поддържа този аудио файл."
+
+msgid "IDS_MUSIC_POP_SORRY_THE_PLAYER_DOES_NOT_SUPPORT_THIS_TYPE_OF_AUDIO_FILE"
+msgstr "За съжаление плейърът не поддържа този тип аудио файлове."
+
+msgid "IDS_MUSIC_BODY_FAVOURITES"
+msgstr "Предпочитани"
+
+msgid "IDS_MUSIC_BODY_MOST_PLAYED"
+msgstr "Най-изпълнявани"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_ADDED"
+msgstr "Последно добавени"
+
+msgid "IDS_MUSIC_OPT_CREATE_PLAYLIST"
+msgstr "Създаване на списък за изпълнение"
+
+msgid "IDS_MUSIC_OPT_REMOVE"
+msgstr "Премаxване"
+
+msgid "IDS_MUSIC_OPT_SETAS_CALLER_RINGTONE"
+msgstr "Тон за звънене за повикващ"
+
+msgid "IDS_MUSIC_TAB4_ARTISTS"
+msgstr "Изпълнители"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD"
+msgstr "Не може да се добави."
+
+msgid "IDS_MUSIC_POP_UNABLE_CREATE_PLAYLIST"
+msgstr "Не може да се създаде списък за изпълнение."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_GET_TAG"
+msgstr "Не може да се получи таг."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_MORE_THAN_PD_MUSIC_FILE"
+msgstr "Не могат да се добавят повече от %d музикални файла."
+
+msgid "IDS_MUSIC_BODY_ALBUM"
+msgstr "Албум"
+
+msgid "IDS_MUSIC_BODY_AUTHOR"
+msgstr "Автор"
+
+msgid "IDS_MUSIC_BODY_COPYRIGHT"
+msgstr "Авторски права"
+
+msgid "IDS_MUSIC_BODY_CREATE_PLAYLIST"
+msgstr "Създаване на списък за изпълнение"
+
+msgid "IDS_MUSIC_BODY_DESCRIPTION"
+msgstr "Описание"
+
+msgid "IDS_MUSIC_BODY_FORMAT"
+msgstr "Формат"
+
+msgid "IDS_MUSIC_BODY_IMPOSSIBLE"
+msgstr "Невъзможно"
+
+msgid "IDS_MUSIC_BODY_NO_PLAYLISTS"
+msgstr "Няма списъци с песни"
+
+msgid "IDS_MUSIC_BODY_TRACK_NUMBER"
+msgstr "Песента номер"
+
+msgid "IDS_MUSIC_POP_DELETE_Q"
+msgstr "Изтриване?"
+
+msgid "IDS_MUSIC_POP_REMOVE_Q"
+msgstr "Премахване?"
+
+msgid "IDS_MUSIC_POP_UNABLE_RENAME_PLAYLIST"
+msgstr "Списъкът за изпълнение не може да се преименува."
+
+msgid "IDS_MUSIC_TAB4_ALBUMS"
+msgstr "Албуми"
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Добавяне..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Изтривате ли %d албума?"
+
+msgid "IDS_MUSIC_TAB4_PLAYLISTS"
+msgstr "Плейлиста"
+
+msgid "IDS_MUSIC_OPT_ADD"
+msgstr "Добавяне"
+
+msgid "IDS_MUSIC_BODY_BIOGRAPHY"
+msgstr "Биография"
+
+msgid "IDS_MUSIC_BODY_CREDITS"
+msgstr "Благодарение на"
+
+msgid "IDS_MUSIC_BODY_DETAILS_MEADIA_INFO"
+msgstr "Мултимедийна информация"
+
+msgid "IDS_MUSIC_BODY_DISCOGRAPHY"
+msgstr "Дискография"
+
+msgid "IDS_MUSIC_BODY_LYRIC"
+msgstr "Текст"
+
+msgid "IDS_MUSIC_BODY_POSSIBLE"
+msgstr "Възможно"
+
+msgid "IDS_MUSIC_BODY_REVIEW"
+msgstr "Преглед"
+
+msgid "IDS_MUSIC_HEADER_TRACK_LIST"
+msgstr "Списък със записи"
+
+msgid "IDS_MUSIC_BODY_ADD_TO_PLAYLIST"
+msgstr "Добавяне в списък за възпроизвеждане"
+
+msgid "IDS_MUSIC_BODY_ARTIST"
+msgstr "Изпълнител"
+
+msgid "IDS_MUSIC_BODY_FORWARDING"
+msgstr "Препращане"
+
+msgid "IDS_MUSIC_BODY_RECORDED_DATE"
+msgstr "Date of recording"
+
+msgid "IDS_MUSIC_BODY_PLAYLISTS"
+msgstr "Плейлиста"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_PLAYED"
+msgstr "Последно изпълнени"
+
+msgid "IDS_MUSIC_BODY_TRACK_LENGTH"
+msgstr "Песента дължина"
+
+msgid "IDS_MUSIC_HEADER_NO_SONGS"
+msgstr "Няма песни"
+
+msgid "IDS_MUSIC_POP_THIS_TRACK_WILL_BE_DELETED"
+msgstr "Това парче ще бъде изтрито."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_TRACKS_WILL_BE_DELETED"
+msgstr "Избраните парчета ще бъдат изтрити."
+
+msgid "IDS_MUSIC_POP_THIS_ARTIST_WILL_BE_DELETED"
+msgstr "Този изпълнител ще бъде изтрит."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ARTISTS_WILL_BE_DELETED"
+msgstr "Избраните изпълнители ще бъдат изтрити."
+
+msgid "IDS_MUSIC_POP_ALL_ARTISTS_WILL_BE_DELETED"
+msgstr "Всички изпълнители ще бъдат изтрити."
+
+msgid "IDS_MUSIC_POP_THIS_FOLDER_WILL_BE_DELETED"
+msgstr "Тази папка ще бъде изтрита."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_FOLDERS_WILL_BE_DELETED"
+msgstr "Избраните папки ще бъдат изтрити."
+
+msgid "IDS_MUSIC_POP_ALL_FOLDERS_WILL_BE_DELETED"
+msgstr "Всички папки ще бъдат изтрити."
+
+msgid "IDS_MUSIC_POP_THIS_ALBUM_WILL_BE_DELETED"
+msgstr "Този албум ще бъде изтрит."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ALBUMS_WILL_BE_DELETED"
+msgstr "Избраните албуми ще бъдат изтрити."
+
+msgid "IDS_MUSIC_POP_ALL_ALBUMS_WILL_BE_DELETED"
+msgstr "Всички албуми ще бъдат изтрити."
+
+msgid "IDS_MUSIC_POP_THIS_PLAYLIST_WILL_BE_DELETED"
+msgstr "Този списък за изпълнение ще бъде изтрит."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Избраните списъци за изпълнение ще бъдат изтрити."
+
+msgid "IDS_MUSIC_POP_ALL_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Всички списъци за изпълнение ще бъдат изтрити."
+
+msgid "IDS_MUSIC_HEADER_SONGS"
+msgstr "Песни"
+
+msgid "IDS_MUSIC_OPT_REORDER"
+msgstr "Пренареждане"
+
+msgid "IDS_MUSIC_OPT_SAVE_AS_PLAYLIST"
+msgstr "Запиши като списък за изпълнение"
+
+msgid "IDS_MUSIC_OPT_SETAS_ALARM_TONE"
+msgstr "Тон аларма"
+
+msgid "IDS_MUSIC_POP_NOTHING_SELECTED"
+msgstr "Нищо не е избрано."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Не може да се възпроизведе. Възникна грешка."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_UNSUPPORTED_FILETYPE"
+msgstr "Не може да се възпроизведе. Неподдържан вид файл."
+
+msgid "IDS_MUSIC_SK_SHARE"
+msgstr "Споделяне"
+
+msgid "IDS_MUSIC_TAB4_CONDUCTORS"
+msgstr "Диригент"
+
+msgid "IDS_MUSIC_HEADER_SELECT_DEVICE"
+msgstr "Избор на устр-во"
+
+msgid "IDS_MUSIC_SK_VIEW_AS"
+msgstr "Пр. като"
+
+msgid "IDS_MUSIC_BODY_SOUNDEFFECTS_NORMAL"
+msgstr "Нормален"
+
+msgid "IDS_MUSIC_BODY_USER"
+msgstr "Потребител"
+
+msgid "IDS_MUSIC_BODY_VOCAL_M_SOUNDEFFECT"
+msgstr "Вокали"
+
+msgid "IDS_MUSIC_MBODY_BASS_BOOST"
+msgstr "Усилване на басите"
+
+msgid "IDS_MUSIC_MBODY_TREBLE_BOOST"
+msgstr "Усилване на високите"
+
+msgid "IDS_MUSIC_BODY_CAFE_M_SOUNDEFFECT"
+msgstr "Кафе"
+
+msgid "IDS_MUSIC_OPT_VIRTUAL_71_CH"
+msgstr "Виртуален 7.1 кан"
+
+msgid "IDS_MUSIC_OPT_AFTER_15_MIN_ABB"
+msgstr "След 15 мин"
+
+msgid "IDS_MUSIC_BODY_AFTER_30_MIN"
+msgstr "След 30 мин"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HOUR"
+msgstr "След 1 час"
+
+msgid "IDS_MUSIC_POP_AFTER_1_HOUR_30_MIN"
+msgstr "След 1 час и 30 мин"
+
+msgid "IDS_MUSIC_BODY_AFTER_2_HOURS"
+msgstr "След 2 часа"
+
+msgid "IDS_MUSIC_BODY_MUSIC_AUTO_OFF"
+msgstr "Авто изключване на музика"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES_ONLY"
+msgstr "Този звуков ефект работи само в режими на слушалка и Bluetooth слушалки."
+
+msgid "IDS_MUSIC_TAB4_MUSIC_SQUARE"
+msgstr "Музикална пиаца"
+
+msgid "IDS_MUSIC_POP_NOT_ENOUGH_MUSIC_FILES_TO_PLAY_IN_MUSIC_SQUARE_AT_LEAST_PD_MUSIC_FILES_REQUIRED"
+msgstr "Няма достатъчно музикални файлове, които да се изпълняват в Музикалната пиаца. Необходими са поне %d музикални файла."
+
+msgid "IDS_MUSIC_BODY_PASSION_M_MOOD"
+msgstr "Страст"
+
+msgid "IDS_MUSIC_BODY_CALM_M_ADJECTIVE"
+msgstr "Спокоен/йна"
+
+msgid "IDS_MUSIC_BODY_JOY_M_MOOD"
+msgstr "Радост"
+
+msgid "IDS_MUSIC_BODY_LIBRARY_UPDATE"
+msgstr "Актуализиране на библиотека"
+
+msgid "IDS_MUSIC_POP_UPDATE_LIBRARY_Q"
+msgstr "Актуализиране на библиотека?"
+
+msgid "IDS_MUSIC_BODY_CHANGE_AXIS"
+msgstr "Смяна на оста"
+
+msgid "IDS_MUSIC_ITAB4_GENRES"
+msgstr "Жанрове"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_1_TRACK"
+msgstr "1 албум/1 парче"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_PD_TRACKS"
+msgstr "1 албум/%d парчета"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS_PD_TRACKS"
+msgstr "%d албума/%d парчета"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_CONTROL_MUSIC_PLAYER_WITH_THE_VOICE_COMMANDS_P1SS_P2SS_P3SS_P4SS_P5SS_AND_P6SS"
+msgstr "Можете да управлявате Музикален плейър с гласовите команди %1$s, %2$s, %3$s, %4$s, %5$s и %6$s."
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_PD_TRACKS"
+msgstr "Разбъркване на %d парчета"
+
+msgid "IDS_MUSIC_BODY_MORE_INFO"
+msgstr "Още информация"
+
+msgid "IDS_MUSIC_HEADER_MY_MUSIC_M_APPLICATION_NAME"
+msgstr "Моята музика"
+
+msgid "IDS_MUSIC_OPT_LIST_VIEW"
+msgstr "Преглед на списък"
+
+msgid "IDS_MUSIC_OPT_PLAY_VIA_GROUP_PLAY"
+msgstr "Играене през Group Play"
+
+msgid "IDS_MUSIC_POP_TRACK_ADDED_TO_FAVOURITES"
+msgstr "Парчето е добавено към предпочитани."
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_FAVOURITES"
+msgstr "Премахване от предпочитаните"
+
+msgid "IDS_MUSIC_BODY_NEW_M_LATEST"
+msgstr "Ново"
+
+msgid "IDS_MUSIC_OPT_TRACKS"
+msgstr "Песни"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL"
+msgstr "Миниатюра"
+
+msgid "IDS_MUSIC_SK_LIST"
+msgstr "Списък"
+
+msgid "IDS_MUSIC_SK_OPEN_PLAYLIST"
+msgstr "Отвори плейлист"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALL"
+msgstr "Изпълнение на всички"
+
+msgid "IDS_MUSIC_POP_SELECTED_LIST_EMPTY"
+msgstr "Избраният списък е празен."
+
+msgid "IDS_MUSIC_BODY_MOODS"
+msgstr "Настроения"
+
+msgid "IDS_MUSIC_BUTTON_YEARS"
+msgstr "Години"
+
+msgid "IDS_MUSIC_BODY_OLD"
+msgstr "Стар"
+
+msgid "IDS_MUSIC_BODY_MUSIC_SQUARE_ANALYSES_THE_CHARACTERISTICS_OF_MUSIC_FILES_STORED_ON_YOUR_DEVICE_AND_AUTOMATICALLY_CREATES_PLAYLISTS_MSG"
+msgstr "Музикалната пиаца анализира характеристиките на музикалните файлове, съхранени в устройството ви, и автоматично създава списъци за изпълнение."
+
+msgid "IDS_MUSIC_BODY_PLAY_TRACKS_WITH_SIMILAR_CHARACTERISTICS_BY_SELECTING_A_SQUARE_ON_THE_SCREEN"
+msgstr "Възпроизвеждане на списък за изпълнение на музика със сходни характеристики чрез избиране на квадрат в екрана"
+
+msgid "IDS_MUSIC_BODY_VIEW_PLAYLIST_DETAILS_BY_TAPPING_AND_HOLDING_THE_SQUARE_CURRENTLY_BEING_PLAYED"
+msgstr "Показване на подробни данни за списъка за изпълнение чрез чукване и задържане на квадрата, от който се възпроизвежда в момента"
+
+msgid "IDS_MUSIC_BODY_NEARBY_DEVICES"
+msgstr "Устройства наблизо"
+
+msgid "IDS_MUSIC_POP_YOU_WILL_NEED_TO_UPDATE_THE_LIBRARY_IF_NEW_SONGS_HAVE_BEEN_ADDED"
+msgstr "Трябва да актуализирате библиотеката, ако са добавени нови песни."
+
+msgid "IDS_MUSIC_BODY_NO_ALBUMS"
+msgstr "Няма албуми"
+
+msgid "IDS_MUSIC_BODY_NO_ARTISTS"
+msgstr "Няма изпълнители"
+
+msgid "IDS_MUSIC_OPT_PLAY_SPEED_ABB"
+msgstr "Скорост на възпр."
+
+msgid "IDS_MUSIC_BODY_CONCERT_HALL_M_SOUNDEFFECT"
+msgstr "Концертна зала"
+
+msgid "IDS_MUSIC_OPT_ADD_TO"
+msgstr "Добави в"
+
+msgid "IDS_MUSIC_SK_VIEW"
+msgstr "Виж"
+
+msgid "IDS_MUSIC_OPT_LISTBY_RECENTLY_ADDED"
+msgstr "Последно добавени"
+
+msgid "IDS_MUSIC_BODY_NOT_USED"
+msgstr "Не се използва"
+
+msgid "IDS_MUSIC_BODY_MAKE_AVAILABLE_OFFLINE"
+msgstr "Направи достъпно офлайн"
+
+msgid "IDS_MUSIC_OPT_AFTER_P1SD_HRS_P2SD_MINS"
+msgstr "След %1$d ч и %2$d минути"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS"
+msgstr "След %d часа"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_MINS"
+msgstr "След %d минути"
+
+msgid "IDS_MUSIC_BODY_NO_FOLDERS"
+msgstr "Няма папки"
+
+msgid "IDS_MUSIC_BODY_NO_TRACKS"
+msgstr "Няма песни"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS"
+msgstr "%d албума"
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS"
+msgstr "%d изпълнители"
+
+msgid "IDS_MUSIC_BODY_PD_GENRES"
+msgstr "%d жанра"
+
+msgid "IDS_MUSIC_BODY_PD_PLAYLISTS"
+msgstr "%d списъка за изпълнение"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_ABB"
+msgstr "%d песни"
+
+msgid "IDS_MUSIC_BODY_PLAYLIST"
+msgstr "Списък възпроизвеждане"
+
+msgid "IDS_MUSIC_HEADER_SIMILAR_ALBUMS"
+msgstr "Сходни албуми"
+
+msgid "IDS_MUSIC_HEADER_TRACK"
+msgstr "Песен"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL_VIEW"
+msgstr "Екран миниатюри"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "Този звуков ефект работи само в режим на слушалка."
+
+msgid "IDS_MUSIC_OPT_ALL_CONTENT_ABB2"
+msgstr "Цялото съдържание"
+
+msgid "IDS_MUSIC_BODY_A_NETWORK_CONNECTION_IS_REQUIRED_TO_PLAY_THIS_FILE_CHECK_YOUR_NETWORK_CONNECTION_AND_TRY_AGAIN"
+msgstr "Изисква се мрежова връзка за възпроизвеждане на този файл. Проверете мрежовата си връзка и опитайте отново."
+
+msgid "IDS_MUSIC_POP_FILE_TYPE_NOT_SUPPORTED"
+msgstr "Типът файл не се поддържа."
+
+msgid "IDS_MUSIC_POP_UPDATING_ING"
+msgstr "Актуализиране..."
+
+msgid "IDS_MUSIC_OPT_SEARCH_ABB"
+msgstr "Търсене"
+
+msgid "IDS_MUSIC_OPT_SEARCH_BY"
+msgstr "Търсене по"
+
+msgid "IDS_MUSIC_BODY_RELATED_VIDEOS"
+msgstr "Свързани клипове"
+
+msgid "IDS_MUSIC_BODY_SMART_VOLUME_ABB"
+msgstr "Умна сила на звука"
+
+msgid "IDS_MUSIC_BODY_THE_VOLUME_OF_ALL_TRACKS_WILL_BE_ADJUSTED_TO_LEVEL_PD"
+msgstr "Силата на звука на всички парчета ще бъде регулирана до ниво %d."
+
+msgid "IDS_MUSIC_HEADER_SMART_VOLUME_IS_ENABLED"
+msgstr "Умната аларма е активирана"
+
+msgid "IDS_MUSIC_OPT_CONNECTION_INFO_ABB"
+msgstr "Инфо за връзка"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_PD_MINS"
+msgstr "След 1 ч и %d минути"
+
+msgid "IDS_MUSIC_BODY_ADAPT_SOUND_ABB"
+msgstr "Adapt Sound"
+
+msgid "IDS_MUSIC_BODY_MY_DEVICE"
+msgstr "Моето устройство"
+
+msgid "IDS_MUSIC_POP_LISTENING_AT_A_HIGH_VOLUME_FOR_A_LONG_TIME_MAY_DAMAGE_YOUR_HEARING_RAISE_THE_VOLUME_ABOVE_SAFE_LEVELS_Q"
+msgstr "Слушането с висока сила на звука дълго време може да увреди слуха ви. Увеличаване на силата на звука над безопасните нива?"
+
+msgid "IDS_MUSIC_POP_ALREADY_EXISTS"
+msgstr "Вече съществува."
+
+msgid "IDS_MUSIC_OPT_SCAN_FOR_NEARBY_DEVICES"
+msgstr "Сканиране за устройства наоколо"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR"
+msgstr "След 1 час"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_1_MIN"
+msgstr "След 1 ч и 1 мин"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS_1_MIN"
+msgstr "След %d часа и 1 мин"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_MIN"
+msgstr "След 1 мин"
+
+msgid "IDS_MUSIC_OPT_GO_TO_STORE"
+msgstr "Отиди в магазина"
+
+msgid "IDS_MUSIC_SK3_ADD_TRACKS"
+msgstr "Добавяне\nпесни"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FROM_MUSIC_THEY_WILL_BE_SHOWN_HERE"
+msgstr "След като изтеглите парчета от Музика, те ще се покажат тук."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_YOUR_FAVOURITES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "След като добавите парчета към любимите си, те ще се покажат тук."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_PLAY_TRACKS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "След като изпълните парчета, те ще се покажат тук."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_PS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "След като добавите парчета към %s, те ще се покажат тук."
+
+msgid "IDS_MUSIC_BODY_NO_PURCHASED_CONTENT"
+msgstr "Няма закупено съдържание"
+
+msgid "IDS_MUSIC_SK_SAVE_AS"
+msgstr "Запиши като"
+
+msgid "IDS_MUSIC_POP_MUSICPLAYER_UPDATING_FAILED"
+msgstr "Обновяването е неуспешно."
+
+msgid "IDS_MUSIC_BODY_EXCITING_M_ADJECTIVE"
+msgstr "Вълнуващо"
+
+msgid "IDS_MUSIC_BODY_SEARCH_MY_MUSIC"
+msgstr "Търсене в моята музика"
+
+msgid "IDS_MUSIC_HEADER_CONNECTED_DEVICES"
+msgstr "Свързани устройства"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST_PS"
+msgstr "Моят списък за изпълнение %s"
+
+msgid "IDS_MUSIC_BODY_NO_DEVICES"
+msgstr "Няма устройства"
+
+msgid "IDS_MUSIC_HEADER_AVAILABLE_DEVICES_ABB"
+msgstr "Достъпни устройства"
+
+msgid "IDS_MUSIC_POP_SET"
+msgstr "Настрой"
+
+msgid "IDS_MUSIC_POP_REMOVE_FAILED"
+msgstr "Неуспешно премахване."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_USE_FAST_FORWARD_AND_REWIND_WHEN_NEARBY_DEVICES_ARE_ENABLED"
+msgstr "Не може да се използва бързо превъртане напред и назад, когато близките устройства са активирани."
+
+msgid "IDS_MUSIC_OPT_SET_AS"
+msgstr "Задаване като"
+
+msgid "IDS_MUSIC_OPT_HEADPHONES_ABB"
+msgstr "Слушалки"
+
+msgid "IDS_MUSIC_OPT_SPEAKER"
+msgstr "Високогов."
+
+msgid "IDS_MUSIC_BODY_1_SONG"
+msgstr "1 песен"
+
+msgid "IDS_MUSIC_BODY_PD_SONGS"
+msgstr "%d песни"
+
+msgid "IDS_MUSIC_BODY_1_TRACK"
+msgstr "1 песен"
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_1_TRACK"
+msgstr "Разбъркване на 1 парче"
+
+msgid "IDS_MUSIC_POP_NO_MUSIC_FOUND_FOR_SELECTED_CELL"
+msgstr "Няма открита музика за избраната клетка"
+
+msgid "IDS_MUSIC_BODY_DO_NOT_SHOW_AGAIN"
+msgstr "Не показвай отново"
+
+msgid "IDS_MUSIC_BODY_VARIOUS_ARTISTS"
+msgstr "Разни изпълнители"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_HOME_SCREEN_ABB"
+msgstr "Добавяне към началния екран"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_FAVOURITES"
+msgstr "Добави към Предпочитани"
+
+msgid "IDS_MUSIC_OPT_EDIT_TITLE"
+msgstr "Редактиране на заглавие"
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_PERSONAL_STORAGE"
+msgstr "Премахване от личното място за съхранение"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FOLDERS_WILL_BE_SHOWN"
+msgstr "След като изтеглите парчета, ще се покажат папките"
+
+msgid "IDS_MUSIC_BODY_SETTINGS_VOLUME"
+msgstr "Сила звук"
+
+msgid "IDS_MUSIC_BODY_REPEAT_OFF"
+msgstr "Повторение изключено"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_REPEAT_ALL"
+msgstr "Повтори всички"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_OFF"
+msgstr "Без разбъркване"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_ON"
+msgstr "С разбъркване"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST"
+msgstr "Моят списък за изпълнение"
+
+msgid "IDS_MUSIC_MBODY_DEFAULT_PLAYLISTS"
+msgstr "Спис. изпълн. по подразб."
+
+msgid "IDS_MUSIC_BODY_DETAILS_RECORDING_DATE"
+msgstr "Дата на запи"
+
+msgid "IDS_MUSIC_OPT_ALBUM_ART_ABB"
+msgstr "Обложка"
+
+msgid "IDS_MUSIC_BODY_1_GENRE"
+msgstr "1 жанр"
+
+msgid "IDS_MUSIC_BODY_PD_FOLDERS"
+msgstr "%d папки"
+
+msgid "IDS_MUSIC_BODY_1_FOLDER"
+msgstr "1 папка"
+
+msgid "IDS_MUSIC_BODY_1_ARTIST"
+msgstr "1 изпълнител"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_M_MUSIC"
+msgstr "1 албум"
+
+msgid "IDS_MUSIC_BODY_1_PLAYLIST"
+msgstr "1 списък за изпълнение"
+
+msgid "IDS_MUSIC_BODY_MUSIC_PLAYER"
+msgstr "Музикален плейър"
+
+msgid "IDS_MUSIC_BUTTON_MOVE"
+msgstr "Преместване"
+
+msgid "IDS_MUSIC_BUTTON_AUTO_RECOMMENDATIONS"
+msgstr "Автоматични препоръки"
+
+msgid "IDS_MUSIC_BUTTON_FROM_THE_BEGINNING"
+msgstr "От началото"
+
+msgid "IDS_MUSIC_HEADER_SUGGESTIONS_FOR_YOU"
+msgstr "Предложения за вас"
+
+msgid "IDS_MUSIC_OPT_SAVE"
+msgstr "Запис"
+
+msgid "IDS_MUSIC_TAB4_BASIC_M_EQUALIZING"
+msgstr "Основен"
+
+msgid "IDS_MUSIC_BODY_INSTRUMENT"
+msgstr "Инструменти"
+
+msgid "IDS_MUSIC_BODY_TREBLE_M_EQUALISER"
+msgstr "Високи честоти"
+
+msgid "IDS_MUSIC_BODY_BASS_M_EQUALISER"
+msgstr "Баси"
+
+msgid "IDS_MUSIC_BODY_NO_EFFECTS_ARE_APPLIED_IN_THIS_MODE_ABB"
+msgstr "Няма приложени ефекти в този режим."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_TIMBRE_OF_A_TUBE_AMP_ABB"
+msgstr "Симулира тембъра на усилване в тръба."
+
+msgid "IDS_MUSIC_OPT_TUBE_AMP_EFFECT"
+msgstr "Ефект на амплификация в тръба"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_EFFECT_OF_VIRTUAL_71_CHANNEL_SURROUND_SOUND_ABB"
+msgstr "Симулира ефекта на виртуален съраунд звук 7.1 канала."
+
+msgid "IDS_MUSIC_HEADER_SMALL_ROOM_M_REVERB_ABB"
+msgstr "Малка стая"
+
+msgid "IDS_MUSIC_HEADER_LARGE_ROOM_M_REVERB_ABB"
+msgstr "Голяма стая"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_LARGE_ROOM_EG_A_THEATRE_ABB"
+msgstr "Симулира ревербирането на голяма стая, например театър."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_CONCERT_HALL_ABB"
+msgstr "Симулира ревербирането на концертна зала."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_SMALL_SPACE_EG_A_STUDIO_ABB"
+msgstr "Симулира ревербирането на малко пространство, напр. студио."
+
+msgid "IDS_MUSIC_BUTTON_3D_CHN"
+msgstr "3D"
+
+msgid "IDS_MUSIC_BODY_CLARITY_M_SOUNDEFFECT"
+msgstr "Яснота"
+
+msgid "IDS_MUSIC_BUTTON_RESET"
+msgstr "Нyлиране"
+
+msgid "IDS_MUSIC_TAB_YEARS"
+msgstr "Години"
+
+msgid "IDS_MUSIC_TAB_GENRES"
+msgstr "Жанрове"
+
+msgid "IDS_MUSIC_TAB_COMPOSERS"
+msgstr "Композ."
+
+msgid "IDS_MUSIC_TAB_ALL_TRACKS"
+msgstr "Всички изпълнения"
+
+msgid "IDS_MUSIC_SK3_GO_TO_QUICK_LIST"
+msgstr "Отиди бърз спис."
+
+msgid "IDS_MUSIC_SK3_FIND"
+msgstr "Търсене"
+
+msgid "IDS_MUSIC_SK3_ADD_TO_QUICK_LIST"
+msgstr "В бърз списък"
+
+msgid "IDS_MUSIC_POP_UNAUTHORISED_VIDEO_FILE_FOR_TV_OUT"
+msgstr "Неудостоверен видео файл за ТВ изход."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_CREATE_MAXIMUM_NUMBER_OF_PLAYLISTS_REACHED"
+msgstr "Не може да се създаде. Достигнат е максималният брой списъци за изпълнение."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTING_BLUETOOTH_HEADSET"
+msgstr "Не може да се регулира силата на звука по време на свързване на Bluetooth слушалка."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTED_TO_BLUETOOTH_HEADSET"
+msgstr "Невъзможно регулиране на силата на звука при свързани Bluetooth слушалки."
+
+msgid "IDS_MUSIC_POP_STOP_MUSIC_PLAYER_Q"
+msgstr "Спиране на Музикален плейър?"
+
+msgid "IDS_MUSIC_POP_PLEASE_EXIT_SILENT_MODE"
+msgstr "Моля, излезте от Безшумен режим."
+
+msgid "IDS_MUSIC_POP_NETWORK_FAILURE"
+msgstr "Отказ в мрежата."
+
+msgid "IDS_MUSIC_POP_MEMORY_CARD_LOADED"
+msgstr "Заредена е карта с памет."
+
+msgid "IDS_MUSIC_POP_DEVICE_SETTINGS_ERROR"
+msgstr "Грешка в настройките на устройството."
+
+msgid "IDS_MUSIC_POP_COULD_NOT_FIND_A_MATCH_FOR_THE_SONG"
+msgstr "Не може да се намери съответствие за тази песен."
+
+msgid "IDS_MUSIC_POP_BUFFERING_MSTATUS"
+msgstr "Буфериране"
+
+msgid "IDS_MUSIC_POP_BT_HEADSET_ONLY_SUPPORTS_NORMAL_EFFECTS_SETTING"
+msgstr "Bluetooth слушалките поддържат само настройка за нормални ефекти."
+
+msgid "IDS_MUSIC_POP_APPLICATION_WILL_BE_CLOSED"
+msgstr "Приложението ще се затвори."
+
+msgid "IDS_MUSIC_POP_ADDED_GO_TO_WISH_LIST_Q"
+msgstr "Добавено. Отиване в списъка с желани?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_THE_SERVICE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "Достъпът до услугата може да е платен. Продължаване?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_STORE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "Достъпът до магазина може да се таксува. Продължение?"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_ONLY_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES"
+msgstr "5.1-каналният звуков ефект работи само в режими на слушалка и Bluetooth слушалки."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "5.1-каналният звуков ефект работи само в режим на слушалки."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECTS_NOT_SUPPORTED_BY_SPEAKER"
+msgstr "Звукови ефекти с 5.1 канала не се поддържат от високоговорителя."
+
+msgid "IDS_MUSIC_OPT_VIEW_BY_COVER_ART"
+msgstr "Преглед с обложки"
+
+msgid "IDS_MUSIC_OPT_SEND_TRACK"
+msgstr "Изпрати песен"
+
+msgid "IDS_MUSIC_OPT_RATE_TRACK"
+msgstr "Оцени песен"
+
+msgid "IDS_MUSIC_OPT_PLAYLIST_MOVE_TRACK_IN_PLAYLIST"
+msgstr "Премести песен в списък с музика"
+
+msgid "IDS_MUSIC_OPT_OPENPLAYLIST_CURRENT"
+msgstr "Текущ"
+
+msgid "IDS_MUSIC_OPT_DELETE_PLAYLIST"
+msgstr "Изтрий списъка"
+
+msgid "IDS_MUSIC_OPT_BACKGROUND_PLAYING"
+msgstr "Възпроизв. музика за фон"
+
+msgid "IDS_MUSIC_HEADER_EFFECTS"
+msgstr "Ефекти"
+
+msgid "IDS_MUSIC_BUTTON_BUY_NOW"
+msgstr "Купувам!"
+
+msgid "IDS_MUSIC_BODY_WOW_HD"
+msgstr "Wow HD"
+
+msgid "IDS_MUSIC_BODY_WISHLIST"
+msgstr "Желани"
+
+msgid "IDS_MUSIC_BODY_WIDE"
+msgstr "Панор."
+
+msgid "IDS_MUSIC_BODY_WHA_WHA"
+msgstr "Уа-уа"
+
+msgid "IDS_MUSIC_BODY_VIBE_WOOFER"
+msgstr "Вибриращ бас"
+
+msgid "IDS_MUSIC_BODY_TREMOLO"
+msgstr "Тремоло"
+
+msgid "IDS_MUSIC_BODY_TAP_TWICE_TO_PLAY_PAUSE_MUSIC"
+msgstr "Чукнете двукратно, за да се възпроизведе/спре музика."
+
+msgid "IDS_MUSIC_BODY_SHARE_TRACK_VIA_BLUETOOTH"
+msgstr "Сподели записа през Bluetooth"
+
+msgid "IDS_MUSIC_BODY_SETUPWIZARD_WELCOME_TO_THE_MUSIC_SETUP_WIZARD_CONTINUE_Q"
+msgstr "Добре дошли в съветника за настройки за музика.\nСледващите екрани ще ви помогнат да настройте телефона си. Продължаване?"
+
+msgid "IDS_MUSIC_BODY_QUICK_LIST"
+msgstr "Бърз списък"
+
+msgid "IDS_MUSIC_BODY_PLAYINGSETTINGS_SOUND_EFFECTS"
+msgstr "Звукови ефекти"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_ALL"
+msgstr "Всички"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_1"
+msgstr "1"
+
+msgid "IDS_MUSIC_BODY_PLAYERSETTINGS_VOLUME"
+msgstr "Сила звук"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_SELECTED"
+msgstr "%d избрани записа."
+
+msgid "IDS_MUSIC_BODY_NO_PODCASTS"
+msgstr "Няма подкасти"
+
+msgid "IDS_MUSIC_BODY_FIND_SIMILAR"
+msgstr "Намиране на подобни"
+
+msgid "IDS_MUSIC_BODY_BACKGROUND_PLAY"
+msgstr "Възпр. като фон"
+
+msgid "IDS_MUSIC_BODY_51_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "5.1 канала може да се активират само когато звуковите ефекти са изключени."
+
+msgid "IDS_MUSIC_TAB4_PODCASTS"
+msgstr "Подкасти"
+
+msgid "IDS_MUSIC_SK2_EDIT_IMAGE"
+msgstr "Редактиране на изображение"
+
+msgid "IDS_MUSIC_POP_PLAYING_ANY_SOUNDS_WILL_STOP_AND_SAVE_YOUR_VOICE_RECORDING_PLAY_Q"
+msgstr "Изпълняването на звуци ще спре и ще запише вашия гласов запис. Изпълняване?"
+
+msgid "IDS_MUSIC_POP_MAXIMUM_NUMBER_OF_ITEMS_HPD_SELECTED"
+msgstr "Достигнат е максималният брой избрани елементи (%d)."
+
+msgid "IDS_MUSIC_POP_BLUETOOTH_DISCONNECTED"
+msgstr "Bluetooth е прекъснат."
+
+msgid "IDS_MUSIC_POP_5_1_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "5.1 канала може да се активират само когато звуковите ефекти са изключени."
+
+msgid "IDS_MUSIC_OPT_TAKE_PICTURE"
+msgstr "Направи снимка"
+
+msgid "IDS_MUSIC_OPT_SHOW_MUSIC_VIEW_ABB"
+msgstr "Показв. изглед на музика"
+
+msgid "IDS_MUSIC_OPT_PAUSE"
+msgstr "Пауза"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALBUM"
+msgstr "Възпроизвеждане по албум"
+
+msgid "IDS_MUSIC_OPT_LIST_BY"
+msgstr "Подреждане по"
+
+msgid "IDS_MUSIC_OPT_HISTORY"
+msgstr "Хронология"
+
+msgid "IDS_MUSIC_OPT_HIDE_MUSIC_VIEW_ABB"
+msgstr "Скрив. изглед на музика"
+
+msgid "IDS_MUSIC_OPT_FIND_TAG"
+msgstr "Намиране на таг"
+
+msgid "IDS_MUSIC_OPT_DROPBOX_CONTENT_ABB"
+msgstr "Съдърж. в Dropbox"
+
+msgid "IDS_MUSIC_OPT_CONTENT_ON_PHONE_ABB"
+msgstr "Съдър. в телефона"
+
+msgid "IDS_MUSIC_OPT_CHANGE_IMAGE"
+msgstr "Промяна на изображение"
+
+msgid "IDS_MUSIC_HEADER_DELETE_DROPBOX_DATA_ABB"
+msgstr "Изтр. данни от Dropbox"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_STREAM_YOUR_MUSIC_TO_DEVICES_USING_ALLSHARE"
+msgstr "Можете да предавате поточно музиката си до устройства с помощта на AllShare."
+
+msgid "IDS_MUSIC_BODY_VALIDITY"
+msgstr "Валидност"
+
+msgid "IDS_MUSIC_BODY_TYPE_CNOUN"
+msgstr "Тип"
+
+msgid "IDS_MUSIC_BODY_THIS_WILL_DELETE_THE_FILE_FROM_THE_SERVER_AND_ANY_CONNECTED_DEVICES_AS_WELL"
+msgstr "Това ще изтрие файла от сървъра и всички свързани устройства."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_ARTISTS"
+msgstr "Изпълнители"
+
+msgid "IDS_MUSIC_BODY_PLAYINGDETAILS_ALBUM_ART"
+msgstr "Корица албум"
+
+msgid "IDS_MUSIC_BODY_OTHER_CONTENTS"
+msgstr "Друго съдържание"
+
+msgid "IDS_MUSIC_BODY_NAME_TOO_LONG"
+msgstr "Името е твърде дълго."
+
+msgid "IDS_MUSIC_BODY_MUSIC_CLARITY"
+msgstr "Чистота на звука"
+
+msgid "IDS_MUSIC_BODY_HIGH_VOLUMES_MAY_HARM_YOUR_HEARING_IF_YOU_LISTEN_FOR_A_LONG_TIME"
+msgstr "Голямата сила на звука може да увреди слуха ви, ако слушате дълго."
+
+msgid "IDS_MUSIC_BODY_AVAILABLE_USES"
+msgstr "Налични употреби"
+
+msgid "IDS_MUSIC_TPOP_SOUND_EFFECTS_ONLY_AVAILABLE_WHILE_HEADPHONES_CONNECTED"
+msgstr "Звуковите ефекти са достъпни само докато са свързани слушалки."
+
+msgid "IDS_ST_OPT_ADD_TO_YOUR_PERSONAL_STORAGE"
+msgstr "Добавяне към вашето лично място за съхранение"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_YOUR_PERSONAL_STORAGE"
+msgstr "Премахване от вашето лично място за съхранение"
+
+msgid "IDS_ST_BODY_CONTEXTUAL_POP_UP_T_TALKBACK"
+msgstr "Контекстен изскачащ прозорец"
+
+msgid "IDS_ST_BODY_A_CONTEXTUAL_POP_UP_IS_OPEN_DOUBLE_TAP_TO_CLOSE_IT_T_TALKBACK"
+msgstr "Отворен е контекстен изскачащ прозорец. Чукнете двукратно, за да го затворите."
+
+msgid "IDS_ST_BODY_REPEAT_ONE"
+msgstr "Повтаряне един път"
+
+msgid "IDS_ST_BUTTON_MOVING_ING"
+msgstr "Преместване..."
+
+msgid "IDS_HS_BODY_SELECT_UP_TO_PD_ITEMS"
+msgstr "Изберете до %d елемента"
+
+msgid "IDS_CAM_BODY_TAB_T_TTS"
+msgstr "Раздел"
+
+msgid "IDS_DLNA_OPT2_CHANGE_PLAYER"
+msgstr "Смяна на плейъра"
+
+msgid "IDS_BR_SK_TABS"
+msgstr "Раздели"
+
+msgid "IDS_MF_BODY_DROPBOX_ABB"
+msgstr "Dropbox"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Автоматичните препоръки могат да извличат основните части от звукови файлове."
+
+msgid "IDS_MF_BODY_PARENT_RATING"
+msgstr "Родителска оценка"
+
+msgid "IDS_VR_POP_FILE_NOT_FOUND"
+msgstr "Файлът не е намерен."
+
+msgid "IDS_PB_POP_CALLER_RINGTONE_SAVED"
+msgstr "Тонът за звънене за повикващ е запаметен."
+
+msgid "IDS_MUSIC_BODY_BIT_DEPTH"
+msgstr "Битова дълбочина"
+
+msgid "IDS_MUSIC_BODY_SIZE"
+msgstr "Размер"
+
+msgid "IDS_MF_HEADER_PD_SELECTED"
+msgstr "%d избрани"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_THIS_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "След като добавите песни в това устройство, те ще се покажат тук."
+
+msgid "IDS_MUSIC_TMBODY_LENGTH"
+msgstr "Дължина"
+
+msgid "IDS_MUSIC_POP_1_FOLDER_WILL_BE_DELETED"
+msgstr "1 папка ще бъде изтрита."
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Няма съдържание"
+
+msgid "IDS_MUSIC_ITAB4_FOLDERS"
+msgstr "Папки"
+
+msgid "IDS_MUSIC_HEADER_MY_PLAYLISTS_ABB"
+msgstr "Моите плейлисти"
+
+msgid "IDS_MP_BODY_SOUND_PLAYER"
+msgstr "Звуков плейър"
+
+msgid "IDS_MUSIC_OPT_SETTINGS"
+msgstr "Настройки"
+
+msgid "IDS_MUSIC_POP_DELETING"
+msgstr "Изтриване..."
+
+msgid "IDS_MUSIC_POP_1_TRACK_WILL_BE_DELETED"
+msgstr "1 парче ще бъде изтрито."
+
+msgid "IDS_MUSIC_POP_ALL_TRACKS_WILL_BE_DELETED"
+msgstr "Всички парчета ще бъдат изтрити"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_WILL_BE_DELETED"
+msgstr "%d парчета ще бъдат изтрити."
+
+msgid "IDS_MUSIC_POP_1_PLAYLIST_WILL_BE_DELETED"
+msgstr "1 списък за изпълнение ще бъде изтрит."
+
+msgid "IDS_MUSIC_POP_PD_PLAYLISTS_WILL_BE_DELETED"
+msgstr "%d списъка за изпълнение ще бъдат изтрити."
+
+msgid "IDS_MUSIC_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "%d албума ще бъдат изтрити."
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS_WILL_BE_DELETED"
+msgstr "%d изпълнителя ще бъдат изтрити."
+
+msgid "IDS_MUSIC_POP_PD_FOLDERS_WILL_BE_DELETED"
+msgstr "%d папки ще бъдат изтрити."
+
+msgid "IDS_ST_POP_CONNECTION_FAILED"
+msgstr "Неуспешно свързване."
+
+msgid "IDS_MUSIC_BODY_CLASSIC"
+msgstr "Класическа"
+
+msgid "IDS_MUSIC_BODY_ROCK"
+msgstr "Рок"
+
+msgid "IDS_MUSIC_BODY_JAZZ"
+msgstr "Джаз"
+
+msgid "IDS_MUSIC_BODY_POP"
+msgstr "Поп"
+
+msgid "IDS_MUSIC_BODY_AUTO"
+msgstr "Авто"
+
+msgid "IDS_MUSIC_POP_CURRENT_SOUND_EFFECT_NOT_SUPPORTED_BY_HDMI"
+msgstr "Текущият звуков ефект не се поддържа от HDMI."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_BLUETOOTH"
+msgstr "Звуковите ефекти не се поддържат от Bluetooth."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_LINE_OUT"
+msgstr "Звуковите ефекти не се поддържат от линейния изход."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_HDMI"
+msgstr "Звуковите ефекти не се поддържат от HDMI."
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EFFECT"
+msgstr "Амплификация в тръба"
+
+msgid "IDS_MUSIC_BODY_CUSTOM"
+msgstr "По избор"
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EQUALISER_ABB"
+msgstr "Амплиф. в тръба"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d парчета са добавени в списъка за изпълнение."
+
+msgid "IDS_MUSIC_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 парче е добавено в списъка за изпълнение."
+
+msgid "IDS_MUSIC_HEADER_ADD_TRACKS_TO_PLAYLIST_ABB"
+msgstr "Добавяне на песни към плейлист"
+
+msgid "IDS_MUSIC_POP_PS_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "%s вече се използва. Въведете друго име."
+
+msgid "IDS_MUSIC_TMBODY_DATE_OF_RECORDING"
+msgstr "Дата на запис"
+
+msgid "IDS_MBP_TPOP_TRACK_SET_AS_ALARM_TONE"
+msgstr "Песента е зададена като тон за аларма."
+
+msgid "IDS_MUSIC_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Няма намерени резултати"
+
+msgid "IDS_MUSIC_OPT_DEFAULT_RINGTONE_ABB"
+msgstr "Тон на звънене по подразб."
+
+msgid "IDS_MUSIC_TPOP_TRACK_SET_AS_CALLER_RINGTONE"
+msgstr "Парчето е зададено като тон звънене за повикващ."
+
+msgid "IDS_MP_TPOP_TRACK_SET_AS_RINGTONE"
+msgstr "Песента е зададена като тон звънене."
+
+msgid "IDS_DLNA_BODY_ADD_TO_NOW_PLAYING_LIST"
+msgstr "Добавяне към списъка Сега се изпълнява"
+
+msgid "IDS_MUSIC_TPOP_EQUALISER_SETTINGS_WILL_BE_APPLIED_WHILE_PLAYING_MUSIC"
+msgstr "Настройките за еквалайзера ще бъдат приложени, докато се изпълнява музика."
+
+msgid "IDS_ST_BODY_ALERT"
+msgstr "Сигнал"
+
+msgid "IDS_IV_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 албум ще бъде изтрит."
+
+msgid "IDS_MUSIC_OPT_SD_CARD"
+msgstr "SD карта"
+
+msgid "IDS_MUSIC_SBODY_DEVICE_STORAGE"
+msgstr "Памет на устройството"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE"
+msgstr "Името на плейлиста вече се използва."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_PD"
+msgstr "Плейлист %d"
+
+msgid "IDS_MUSIC_HEADER_CREATE"
+msgstr "Създаване"
+
+msgid "IDS_MUSIC_HEADER_EQUALISER_PRESET_ABB"
+msgstr "Предвар. настройка на еквалайзер"
+
+msgid "IDS_MUSIC_OPT_AUTOMATIC_M_EQUALIZER_EFFECT"
+msgstr "Автоматично"
+
+msgid "IDS_MUSIC_OPT_CLASSICAL_M_EQUALIZER_EFFECT"
+msgstr "Класическа"
+
+msgid "IDS_MUSIC_HEADER_ENVIRONMENT_EFFECT_ABB"
+msgstr "Ефект на околна среда"
+
+msgid "IDS_VIDEO_POP_THE_FILE_TYPE_IS_NOT_SUPPORTED"
+msgstr "Файловият тип не се поддържа."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_CREATE_PLAYLISTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "След като създадете списъци, те ще се покажат тук."
+
+msgid "IDS_ST_HEADER_SELECT_AUDIO_DEVICE_ABB"
+msgstr "Избор на аудиоустройство"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "Името на плейлиста вече се използва. Въведете друго име."
+
+msgid "IDS_MUSIC_HEADER_SOUNDALIVE_ABB3"
+msgstr "SoundAlive"
+
+msgid "IDS_MUSIC_OPT_NOW_PLAYING_LIST"
+msgstr "Списък Сега се изпълнява"
+
+msgid "IDS_MUSIC_OPT_SHOW_LYRICS"
+msgstr "Показване на текста"
+
+msgid "IDS_MUSIC_OPT_HIDE_LYRICS"
+msgstr "Скриване текст"
+
+msgid "IDS_MUSIC_TPOP_UNABLE_TO_PLAY_MUSIC_DURING_CALLS"
+msgstr "Не може да се възпроизвежда музика по време на разговори."
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Изтриване"
+
+msgid "IDS_MUSIC_HEADER_SELECT"
+msgstr "Избор"
+
+msgid "IDS_TPLATFORM_OPT_NFC"
+msgstr "NFC"
+
+msgid "IDS_MUSIC_HEADER_UNABLE_TO_PLAY_TRACK"
+msgstr "Не може да се възпроизведе песента"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "ГОТОВО"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ОТКАЗ"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "ИЗТРИВАНЕ"
+
+msgid "IDS_MUSIC_POP_RENAME"
+msgstr "Преименуване"
+
+msgid "IDS_MUSIC_OPT_MESSAGE"
+msgstr "Съобщение"
+
+msgid "IDS_MUSIC_SK_OK"
+msgstr "OK"
+
+msgid "IDS_MUSIC_SK_CANCEL"
+msgstr "Отмени"
+
+msgid "IDS_MUSIC_BUTTON_REFRESH"
+msgstr "Обновяване"
+
+msgid "IDS_MUSIC_BODY_SELECT_ALL"
+msgstr "Избери всички"
+
+msgid "IDS_MUSIC_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_MUSIC_POP_DELETED"
+msgstr "Изтрито."
+
+msgid "IDS_MUSIC_OPT_STOP"
+msgstr "Спри"
+
+msgid "IDS_MUSIC_BODY_UNKNOWN"
+msgstr "Неизвестно"
+
+msgid "IDS_MUSIC_BODY_TITLE"
+msgstr "Заглавие"
+
+msgid "IDS_MUSIC_OPT_SENDVIA_EMAIL"
+msgstr "Email"
+
+msgid "IDS_MUSIC_OPT_BLUETOOTH"
+msgstr "Bluetooth"
+
+msgid "IDS_MUSIC_HEADER_DOWNLOAD"
+msgstr "Изтегляне"
+
+msgid "IDS_MUSIC_POP_LOW_BATTERY"
+msgstr "Изтощена батерия."
+
+msgid "IDS_MUSIC_HEADER_AUDIO_DEVICE"
+msgstr "Аудио устройство"
+
+msgid "IDS_MUSIC_HEADER_DETAILS"
+msgstr "Детайли"
+
+msgid "IDS_MUSIC_OPT_END"
+msgstr "Край"
+
+msgid "IDS_MUSIC_OPT_EDIT"
+msgstr "Редактиране"
+
+msgid "IDS_CAM_HEADER_UPDATED"
+msgstr "Актуализиран."
+
+msgid "IDS_MUSIC_POP_REMOVED"
+msgstr "Премахнат."
+
+msgid "IDS_MUSIC_OPT_SELECTED"
+msgstr "Избрани"
+
+msgid "IDS_ST_BUTTON_SCAN"
+msgstr "Сканиране"
+
+msgid "IDS_MF_POP_ERROR"
+msgstr "Грешка."
+
+msgid "IDS_MF_POP_MEMORY_FULL"
+msgstr "Паметта е заета."
+
+msgid "IDS_MUSIC_MBODY_QUEUE"
+msgstr "Опашка"
+
+msgid "IDS_MUSIC_OPT_VOLUME"
+msgstr "Сила звук"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE"
+msgstr "Разбъркано"
+
+msgid "IDS_MUSIC_OPT_REPEAT"
+msgstr "Повтаряне"
+
+msgid "IDS_COM_BODY_DETAILS"
+msgstr "Details"
+
+msgid "IDS_COM_BODY_DETAILS_TITLE"
+msgstr "Title"
+
+msgid "IDS_COM_BODY_EDIT"
+msgstr "Edit"
+
+msgid "IDS_COM_BODY_EMAIL"
+msgstr "Email"
+
+msgid "IDS_COM_BODY_END"
+msgstr "End"
+
+msgid "IDS_COM_BODY_FOLDERS"
+msgstr "Folders"
+
+msgid "IDS_COM_BODY_GALLERY"
+msgstr "Gallery"
+
+msgid "IDS_COM_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_COM_BODY_LOADING"
+msgstr "Loading..."
+
+msgid "IDS_COM_BODY_LOW_BATTERY"
+msgstr "Low battery."
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Message"
+
+msgid "IDS_COM_BODY_MUSIC"
+msgstr "Music"
+
+msgid "IDS_COM_BODY_NFC"
+msgstr "NFC"
+
+msgid "IDS_COM_BODY_NO_CONTENTS"
+msgstr "No content"
+
+msgid "IDS_COM_BODY_PAUSE"
+msgstr "Pause"
+
+msgid "IDS_COM_BODY_PD_SELECTED"
+msgstr "%d selected."
+
+msgid "IDS_COM_BODY_PREVIOUS"
+msgstr "Previous"
+
+msgid "IDS_COM_BODY_RESET_A"
+msgstr "Reset"
+
+msgid "IDS_COM_BODY_SELECTED"
+msgstr "Selected"
+
+msgid "IDS_COM_BODY_SELECT_ALL"
+msgstr "Select all"
+
+msgid "IDS_COM_BODY_SETTINGS"
+msgstr "Settings"
+
+msgid "IDS_COM_BODY_TIME"
+msgstr "Time"
+
+msgid "IDS_COM_BODY_UNABLE_TO_ADD"
+msgstr "Unable to add."
+
+msgid "IDS_COM_BODY_UNKNOWN"
+msgstr "Unknown"
+
+msgid "IDS_COM_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_COM_BUTTON_SCAN"
+msgstr "Scan"
+
+msgid "IDS_COM_BUTTON_SHARE"
+msgstr "Share"
+
+msgid "IDS_COM_HEADER_AUDIO_DEVICE_ABB"
+msgstr "Audio device"
+
+msgid "IDS_COM_OPT_ADDED"
+msgstr "Added."
+
+msgid "IDS_COM_OPT_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_POP_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_POP_CONNECTION_FAILED"
+msgstr "Connection failed."
+
+msgid "IDS_COM_POP_DELETED"
+msgstr "Deleted."
+
+msgid "IDS_COM_POP_DELETE_Q"
+msgstr "Delete?"
+
+msgid "IDS_COM_POP_DONE"
+msgstr "Done"
+
+msgid "IDS_COM_POP_DOWNLOADING"
+msgstr "Downloading..."
+
+msgid "IDS_COM_POP_ERROR"
+msgstr "Error."
+
+msgid "IDS_COM_POP_FAILED"
+msgstr "Failed."
+
+msgid "IDS_COM_POP_FILE_NOT_EXIST"
+msgstr "This file does not exist."
+
+msgid "IDS_COM_POP_FILE_NOT_FOUND"
+msgstr "File not found."
+
+msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximum number of characters reached."
+
+msgid "IDS_COM_POP_MEMORY_FULL"
+msgstr "Memory full."
+
+msgid "IDS_COM_POP_REMOVED"
+msgstr "Removed."
+
+msgid "IDS_COM_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Unable to use during Mass storage mode."
+
+msgid "IDS_COM_POP_UPDATED"
+msgstr "Updated."
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_SK_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_SK_DOWNLOAD"
+msgstr "Download"
+
+msgid "IDS_COM_SK_NEW"
+msgstr "New"
+
+msgid "IDS_COM_SK_NEXT"
+msgstr "Next"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_SK_REFRESH"
+msgstr "Refresh"
+
+msgid "IDS_COM_SK_REMOVE"
+msgstr "Remove"
+
+msgid "IDS_COM_SK_SAVE"
+msgstr "Save"
+
+msgid "IDS_COM_SK_SELECT"
+msgstr "Select"
+
+msgid "IDS_COM_SK_SET"
+msgstr "Set"
+
+msgid "IDS_COM_SK_STOP"
+msgstr "Stop"
+
+
+msgid "IDS_MH_BODY_THE_PLAYLIST_NAME_PS_IS_ALREADY_IN_USE"
+msgstr "The playlist name %s is already in use."
+
+msgid "IDS_MH_BODY_TOTAL"
+msgstr "Total"
+
+msgid "IDS_MH_MBODY_RECENTLY_ADDED_M_SONG"
+msgstr "Recently added"
+
+msgid "IDS_MH_OPT_MORE_INFO_ABB"
+msgstr "More info"
+
+msgid "IDS_MH_POP_ALARM_TONE_SET"
+msgstr "Alarm tone set."
+
+msgid "IDS_MH_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 track added to playlist."
+
+msgid "IDS_MH_TPOP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d tracks added to playlist."
+
+msgid "IDS_MUSIC_OPT_RENAME"
+msgstr "Rename"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Unable to play during call."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Максималният размер на файловете е надхвърлен."
+
+msgid "IDS_CAM_TPOP_UNABLE_TO_PLAY_MUSIC_WHILE_RECORDING_AUDIO_OR_VIDEO"
+msgstr "Не може да се възпроизвежда музика, докато се аудио или видео."
+
--- /dev/null
+msgid "IDS_ST_BODY_LOADING_ING"
+msgstr "Carregant..."
+
+msgid "IDS_GALLERY_OPT_PRIVATE_M_CONTENT"
+msgstr "Privat"
+
+msgid "IDS_MF_BODY_TIME"
+msgstr "Hora"
+
+msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
+msgstr "Aquest fitxer no existeix"
+
+msgid "IDS_MUSIC_POP_PHONE_RINGTONE"
+msgstr "Melodia del telèfon"
+
+msgid "IDS_MUSIC_BODY_DURATION"
+msgstr "Durada"
+
+msgid "IDS_MUSIC_BODY_MUSIC_LOCATION"
+msgstr "Ubicació"
+
+msgid "IDS_MUSIC_BODY_SET_AS_M_RINGTONE"
+msgstr "Definir com a"
+
+msgid "IDS_ST_OPT_ADD_TO_PERSONAL_PAGE"
+msgstr "Afeg a pàgina personal"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_PERSONAL_PAGE_ABB"
+msgstr "Eliminar de pàg personal"
+
+msgid "IDS_ST_POP_MOVE_TO_NORMAL_STORAGE"
+msgstr "Moure a l'emmagatzematge normal"
+
+msgid "IDS_ST_POP_MOVE_TO_PERSONAL_STORAGE"
+msgstr "Moure a l'emmagatzematge personal"
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEMS_WILL_BE_MOVED_TO_PS"
+msgstr "Els elements seleccionats es mouran a %s"
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEM_WILL_BE_MOVED_TO_PS"
+msgstr "L'element seleccionat es mourà a %s"
+
+msgid "IDS_VR_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "No es pot utilitzar durant el mode d'emmagatzematge massiu"
+
+msgid "IDS_MUSIC_POP_RINGTONE_ADDED"
+msgstr "Melodia afegida"
+
+msgid "IDS_CAM_BODY_BUTTON_T_TTS"
+msgstr "Botó"
+
+msgid "IDS_MUSIC_HEADER_SELECT_ITEMS"
+msgstr "Seleccionar elements"
+
+msgid "IDS_ST_BODY_ADVANCED"
+msgstr "Avançat"
+
+msgid "IDS_ST_SK_PREVIOUS"
+msgstr "Anterior"
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Tancar"
+
+msgid "IDS_MUSIC_POP_ADDED"
+msgstr "Afegit"
+
+msgid "IDS_MUSIC_POP_FAILED"
+msgstr "Error"
+
+msgid "IDS_MUSIC_BODY_NO_SEARCH_RESULTS"
+msgstr "No hi ha cap resultat de cerca"
+
+msgid "IDS_MUSIC_SK_DONE"
+msgstr "Fet"
+
+msgid "IDS_MUSIC_BODY_NO_ITEMS"
+msgstr "No hi ha elements"
+
+msgid "IDS_BR_OPT_ADD_TO_HOME"
+msgstr "Afegir a l'inici"
+
+msgid "IDS_BR_SK_NEXT"
+msgstr "Següent"
+
+msgid "IDS_BR_BODY_DOWNLOADING_ING"
+msgstr "Descarregant..."
+
+msgid "IDS_IV_BODY_FAVOURITE"
+msgstr "Preferit"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_PERSONAL_STORAGE"
+msgstr "Afegir a l'emmagatzematge personal"
+
+msgid "IDS_DLNA_POP_DISCONNECTED_FROM_PS_CHECK_THE_NETWORK_STATUS_AND_THE_CONNECTED_DEVICE"
+msgstr "Desconnectat de %s. Comprovi l'estat de la xarxa i el dispositiu connectat."
+
+msgid "IDS_DLNA_OPT_VIA_SCREEN_MIRRORING_ABB"
+msgstr "Mitjançant Screen Mirroring"
+
+msgid "IDS_DLNA_OPT_VIA_HOME_NETWORK_ABB"
+msgstr "Mitjançant xarxa domèstica"
+
+msgid "IDS_IV_POP_ENTRY_IS_EMPTY"
+msgstr "L'entrada és buida"
+
+msgid "IDS_FM_POP_UNAVAILABLE_DURING_CALL"
+msgstr "No està disponible durant una trucada"
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "S'ha assolit el nombre màxim de caràcters"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_SHARE_DRM_FILE"
+msgstr "No es pot compartir un fitxer DRM."
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Eliminant..."
+
+msgid "IDS_MUSIC_HEADER_PD_DEVICES"
+msgstr "%d dispositius"
+
+msgid "IDS_MUSIC_BUTTON_ENABLE_MOTION"
+msgstr "Habilitar mov"
+
+msgid "IDS_MUSIC_BUTTON_DONT_ASK_AGAIN"
+msgstr "No ho tornis a preguntar"
+
+msgid "IDS_MUSIC_BODY_NO_RESULTS_FOUND"
+msgstr "No s'han trobat resultats."
+
+msgid "IDS_VPL_OPT_HDMI"
+msgstr "HDMI"
+
+msgid "IDS_MUSIC_BODY_TURN_PHONE_OVER_TO_MUTE_INCOMING_CALLS_MESSAGE_ALERTS_AND_ALARMS"
+msgstr "Giri el telèfon per silenciar trucades d'entrada, avisos de missatges i alarmes"
+
+msgid "IDS_ST_BODY_NONE"
+msgstr "Cap"
+
+msgid "IDS_ST_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_ST_BODY_GALLERY"
+msgstr "Galeria"
+
+msgid "IDS_ST_BODY_DOUBLE_TAP_TO_MOVE_TO_CONTENT_T_TTS"
+msgstr "Toqui dos cops per moure's al contingut."
+
+msgid "IDS_MUSIC_BODY_SURROUND"
+msgstr "So envoltant"
+
+msgid "IDS_MUSIC_OPT_LYRICS_ABB"
+msgstr "Lletra"
+
+msgid "IDS_MUSIC_POP_AFTER_YOU_ADD_TRACKS_TO_MUSIC_ON_YOUR_MOBILE_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Després d'afegir pistes a Música al seu dispositiu mòbil, es mostraran aquí."
+
+msgid "IDS_MUSIC_BODY_SAMPLING_RATE"
+msgstr "Freqüència de mostreig"
+
+msgid "IDS_MUSIC_BODY_MARKED_AS_A_FAVOURITE"
+msgstr "Marcat com a preferit"
+
+msgid "IDS_MUSIC_BODY_MUSIC"
+msgstr "Música"
+
+msgid "IDS_MUSIC_BODY_NOT_MARKED_AS_A_FAVOURITE"
+msgstr "No marcat com a preferit"
+
+msgid "IDS_MUSIC_HEADER_SEARCH_MUSIC_ABB"
+msgstr "Cercar música"
+
+msgid "IDS_MUSIC_POP_AUTO_RECOMMENDATION_DOES_NOT_SUPPORT_THIS_AUDIO_FILE"
+msgstr "La recomanació automàtica no admet aquest fitxer d'àudio"
+
+msgid "IDS_MUSIC_POP_SORRY_THE_PLAYER_DOES_NOT_SUPPORT_THIS_TYPE_OF_AUDIO_FILE"
+msgstr "Ho sentim, el reproductor no és compatible amb aquest tipus de fitxer d'àudio"
+
+msgid "IDS_MUSIC_BODY_FAVOURITES"
+msgstr "Preferits"
+
+msgid "IDS_MUSIC_BODY_MOST_PLAYED"
+msgstr "El més reproduït"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_ADDED"
+msgstr "Afegides fa poc"
+
+msgid "IDS_MUSIC_OPT_CREATE_PLAYLIST"
+msgstr "Crear llista de reproducció"
+
+msgid "IDS_MUSIC_OPT_REMOVE"
+msgstr "Eliminar"
+
+msgid "IDS_MUSIC_OPT_SETAS_CALLER_RINGTONE"
+msgstr "Melodia de la persona que truca"
+
+msgid "IDS_MUSIC_TAB4_ARTISTS"
+msgstr "Artistes"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD"
+msgstr "No es pot afegir"
+
+msgid "IDS_MUSIC_POP_UNABLE_CREATE_PLAYLIST"
+msgstr "No es pot crear llista de reproducció"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_GET_TAG"
+msgstr "No es pot obtenir l'etiqueta"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_MORE_THAN_PD_MUSIC_FILE"
+msgstr "No es poden afegir més de %d fitxers de música"
+
+msgid "IDS_MUSIC_BODY_ALBUM"
+msgstr "Àlbum"
+
+msgid "IDS_MUSIC_BODY_AUTHOR"
+msgstr "Autor"
+
+msgid "IDS_MUSIC_BODY_COPYRIGHT"
+msgstr "Copyright"
+
+msgid "IDS_MUSIC_BODY_CREATE_PLAYLIST"
+msgstr "Crear llista de reproducció"
+
+msgid "IDS_MUSIC_BODY_DESCRIPTION"
+msgstr "Descripció"
+
+msgid "IDS_MUSIC_BODY_FORMAT"
+msgstr "Format"
+
+msgid "IDS_MUSIC_BODY_IMPOSSIBLE"
+msgstr "No és possible"
+
+msgid "IDS_MUSIC_BODY_NO_PLAYLISTS"
+msgstr "No hi ha llistes de reproducció"
+
+msgid "IDS_MUSIC_BODY_TRACK_NUMBER"
+msgstr "Número de pista"
+
+msgid "IDS_MUSIC_POP_DELETE_Q"
+msgstr "Esborrar?"
+
+msgid "IDS_MUSIC_POP_REMOVE_Q"
+msgstr "Eliminar?"
+
+msgid "IDS_MUSIC_POP_UNABLE_RENAME_PLAYLIST"
+msgstr "No es pot canviar el nom de la llista de reproducció"
+
+msgid "IDS_MUSIC_TAB4_ALBUMS"
+msgstr "Àlbums"
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Afegint..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Esborrar %d àlbums?"
+
+msgid "IDS_MUSIC_TAB4_PLAYLISTS"
+msgstr "Llistes de repr"
+
+msgid "IDS_MUSIC_OPT_ADD"
+msgstr "Afegir"
+
+msgid "IDS_MUSIC_BODY_BIOGRAPHY"
+msgstr "Biografia"
+
+msgid "IDS_MUSIC_BODY_CREDITS"
+msgstr "Crèdits"
+
+msgid "IDS_MUSIC_BODY_DETAILS_MEADIA_INFO"
+msgstr "Info multimèdia"
+
+msgid "IDS_MUSIC_BODY_DISCOGRAPHY"
+msgstr "Discografia"
+
+msgid "IDS_MUSIC_BODY_LYRIC"
+msgstr "Lletra"
+
+msgid "IDS_MUSIC_BODY_POSSIBLE"
+msgstr "Possible"
+
+msgid "IDS_MUSIC_BODY_REVIEW"
+msgstr "Revisar"
+
+msgid "IDS_MUSIC_HEADER_TRACK_LIST"
+msgstr "Llista de pistes"
+
+msgid "IDS_MUSIC_BODY_ADD_TO_PLAYLIST"
+msgstr "Afegir a llista de reproducció"
+
+msgid "IDS_MUSIC_BODY_ARTIST"
+msgstr "Artista"
+
+msgid "IDS_MUSIC_BODY_FORWARDING"
+msgstr "Reenviant"
+
+msgid "IDS_MUSIC_BODY_RECORDED_DATE"
+msgstr "Date of recording"
+
+msgid "IDS_MUSIC_BODY_GENRE"
+msgstr "Gènere"
+
+msgid "IDS_MUSIC_BODY_PLAYLISTS"
+msgstr "Llistes de reproducció"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_PLAYED"
+msgstr "Escoltades recentment"
+
+msgid "IDS_MUSIC_BODY_TRACK_LENGTH"
+msgstr "Durada de pista"
+
+msgid "IDS_MUSIC_HEADER_NO_SONGS"
+msgstr "Cap cançó"
+
+msgid "IDS_MUSIC_POP_THIS_TRACK_WILL_BE_DELETED"
+msgstr "S'esborrarà aquesta pista"
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_TRACKS_WILL_BE_DELETED"
+msgstr "S'esborraran les pistes seleccionades"
+
+msgid "IDS_MUSIC_POP_THIS_ARTIST_WILL_BE_DELETED"
+msgstr "S'esborrarà aquest artista"
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ARTISTS_WILL_BE_DELETED"
+msgstr "S'esborraran els artistes seleccionats."
+
+msgid "IDS_MUSIC_POP_ALL_ARTISTS_WILL_BE_DELETED"
+msgstr "S'esborraran tots els artistes"
+
+msgid "IDS_MUSIC_POP_THIS_FOLDER_WILL_BE_DELETED"
+msgstr "S'esborrarà aquesta carpeta."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_FOLDERS_WILL_BE_DELETED"
+msgstr "S'esborraran les carpetes seleccionades."
+
+msgid "IDS_MUSIC_POP_ALL_FOLDERS_WILL_BE_DELETED"
+msgstr "S'esborraran totes les carpetes"
+
+msgid "IDS_MUSIC_POP_THIS_ALBUM_WILL_BE_DELETED"
+msgstr "S'esborrarà aquest àlbum"
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ALBUMS_WILL_BE_DELETED"
+msgstr "S'esborraran els àlbums seleccionats."
+
+msgid "IDS_MUSIC_POP_ALL_ALBUMS_WILL_BE_DELETED"
+msgstr "S'esborraran tots els àlbums"
+
+msgid "IDS_MUSIC_POP_THIS_PLAYLIST_WILL_BE_DELETED"
+msgstr "S'esborrarà aquesta llista de reproducció"
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_PLAYLISTS_WILL_BE_DELETED"
+msgstr "S'esborraran les llistes de reproducció seleccionades"
+
+msgid "IDS_MUSIC_POP_ALL_PLAYLISTS_WILL_BE_DELETED"
+msgstr "S'esborraran totes les llistes de reproducció"
+
+msgid "IDS_MUSIC_HEADER_SONGS"
+msgstr "Cançons"
+
+msgid "IDS_MUSIC_OPT_REORDER"
+msgstr "Tornar a ordenar"
+
+msgid "IDS_MUSIC_OPT_SAVE_AS_PLAYLIST"
+msgstr "Desar com a llista de reproducció"
+
+msgid "IDS_MUSIC_OPT_SETAS_ALARM_TONE"
+msgstr "To d'alarma"
+
+msgid "IDS_MUSIC_POP_NOTHING_SELECTED"
+msgstr "No s'ha seleccionat res"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "No es pot reproduir. S'ha produït un error."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_UNSUPPORTED_FILETYPE"
+msgstr "No es pot reproduir. No s'admet el tipus de fitxer."
+
+msgid "IDS_MUSIC_SK_SHARE"
+msgstr "Compartir"
+
+msgid "IDS_MUSIC_TAB4_CONDUCTORS"
+msgstr "Directors"
+
+msgid "IDS_MUSIC_HEADER_SELECT_DEVICE"
+msgstr "Seleccioni dispositiu"
+
+msgid "IDS_MUSIC_SK_VIEW_AS"
+msgstr "Veure com"
+
+msgid "IDS_MUSIC_BODY_SOUNDEFFECTS_NORMAL"
+msgstr "Normal"
+
+msgid "IDS_MUSIC_BODY_USER"
+msgstr "Usuari"
+
+msgid "IDS_MUSIC_BODY_VOCAL_M_SOUNDEFFECT"
+msgstr "Vocal"
+
+msgid "IDS_MUSIC_MBODY_BASS_BOOST"
+msgstr "Accentuació de baixos"
+
+msgid "IDS_MUSIC_MBODY_TREBLE_BOOST"
+msgstr "Accentuació d'aguts"
+
+msgid "IDS_MUSIC_BODY_CAFE_M_SOUNDEFFECT"
+msgstr "Cafè"
+
+msgid "IDS_MUSIC_OPT_VIRTUAL_71_CH"
+msgstr "7.1 canals virtuals"
+
+msgid "IDS_MUSIC_OPT_AFTER_15_MIN_ABB"
+msgstr "Després de 15 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_30_MIN"
+msgstr "Després de 30 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HOUR"
+msgstr "Després d'1 hora"
+
+msgid "IDS_MUSIC_POP_AFTER_1_HOUR_30_MIN"
+msgstr "Després d'1 hora 30 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_2_HOURS"
+msgstr "Després de 2 hores"
+
+msgid "IDS_MUSIC_BODY_MUSIC_AUTO_OFF"
+msgstr "Música automàtica desactivada"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES_ONLY"
+msgstr "Aquest efecte de so només funciona en els modes auricular i auriculars Bluetooth"
+
+msgid "IDS_MUSIC_TAB4_MUSIC_SQUARE"
+msgstr "Music square"
+
+msgid "IDS_MUSIC_POP_NOT_ENOUGH_MUSIC_FILES_TO_PLAY_IN_MUSIC_SQUARE_AT_LEAST_PD_MUSIC_FILES_REQUIRED"
+msgstr "No hi ha prou fitxers de música per reproduir a Music square. En calen almenys %d."
+
+msgid "IDS_MUSIC_BODY_PASSION_M_MOOD"
+msgstr "Passió"
+
+msgid "IDS_MUSIC_BODY_CALM_M_ADJECTIVE"
+msgstr "Tranquil"
+
+msgid "IDS_MUSIC_BODY_JOY_M_MOOD"
+msgstr "Alegria"
+
+msgid "IDS_MUSIC_BODY_LIBRARY_UPDATE"
+msgstr "Actualització de biblioteca"
+
+msgid "IDS_MUSIC_POP_UPDATE_LIBRARY_Q"
+msgstr "Actualitzar biblioteca?"
+
+msgid "IDS_MUSIC_BODY_CHANGE_AXIS"
+msgstr "Canviar eix"
+
+msgid "IDS_MUSIC_ITAB4_GENRES"
+msgstr "Gèneres"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_1_TRACK"
+msgstr "1 àlbum/1 pista"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_PD_TRACKS"
+msgstr "1 àlbum/%d pistes"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS_PD_TRACKS"
+msgstr "%d àlbums/%d pistes"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_CONTROL_MUSIC_PLAYER_WITH_THE_VOICE_COMMANDS_P1SS_P2SS_P3SS_P4SS_P5SS_AND_P6SS"
+msgstr "Pot controlar el Reproductor de música amb les comandes de veu %1$s, %2$s, %3$s, %4$s, %5$s i %6$s"
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_PD_TRACKS"
+msgstr "Ordenar %d pistes aleatòriament"
+
+msgid "IDS_MUSIC_BODY_MORE_INFO"
+msgstr "Més informació"
+
+msgid "IDS_MUSIC_HEADER_MY_MUSIC_M_APPLICATION_NAME"
+msgstr "La meva música"
+
+msgid "IDS_MUSIC_OPT_LIST_VIEW"
+msgstr "Vista de llista"
+
+msgid "IDS_MUSIC_OPT_PLAY_VIA_GROUP_PLAY"
+msgstr "Reproduir amb Group Play"
+
+msgid "IDS_MUSIC_POP_TRACK_ADDED_TO_FAVOURITES"
+msgstr "Pista afegida a preferits"
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_FAVOURITES"
+msgstr "Eliminar de preferits"
+
+msgid "IDS_MUSIC_BODY_NEW_M_LATEST"
+msgstr "Nou"
+
+msgid "IDS_MUSIC_OPT_TRACKS"
+msgstr "Pistes"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL"
+msgstr "Miniatura"
+
+msgid "IDS_MUSIC_SK_LIST"
+msgstr "Llistar"
+
+msgid "IDS_MUSIC_SK_OPEN_PLAYLIST"
+msgstr "Obrir llista de reproducció"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALL"
+msgstr "Reproduir-ho tot"
+
+msgid "IDS_MUSIC_POP_SELECTED_LIST_EMPTY"
+msgstr "Llista seleccionada buida"
+
+msgid "IDS_MUSIC_BODY_MOODS"
+msgstr "Estats d'ànim"
+
+msgid "IDS_MUSIC_BUTTON_YEARS"
+msgstr "Anys"
+
+msgid "IDS_MUSIC_BODY_OLD"
+msgstr "Antic"
+
+msgid "IDS_MUSIC_BODY_MUSIC_SQUARE_ANALYSES_THE_CHARACTERISTICS_OF_MUSIC_FILES_STORED_ON_YOUR_DEVICE_AND_AUTOMATICALLY_CREATES_PLAYLISTS_MSG"
+msgstr "Music square analitza les característiques dels fitxers de música emmagatzemats al dispositiu i crea llistes de reproducció automàticament"
+
+msgid "IDS_MUSIC_BODY_PLAY_TRACKS_WITH_SIMILAR_CHARACTERISTICS_BY_SELECTING_A_SQUARE_ON_THE_SCREEN"
+msgstr "Reprodueixi llistes de reproducció amb característiques semblants seleccionant un quadrat de la pantalla"
+
+msgid "IDS_MUSIC_BODY_VIEW_PLAYLIST_DETAILS_BY_TAPPING_AND_HOLDING_THE_SQUARE_CURRENTLY_BEING_PLAYED"
+msgstr "Veure detalls de la llista de reproducció mantenint tocat el quadre que s'està reproduint actualment"
+
+msgid "IDS_MUSIC_BODY_NEARBY_DEVICES"
+msgstr "Dispositius propers"
+
+msgid "IDS_MUSIC_POP_YOU_WILL_NEED_TO_UPDATE_THE_LIBRARY_IF_NEW_SONGS_HAVE_BEEN_ADDED"
+msgstr "Potser ha d'actualitzar la biblioteca si s'hi han afegit cançons noves"
+
+msgid "IDS_MUSIC_BODY_NO_ALBUMS"
+msgstr "Cap àlbum"
+
+msgid "IDS_MUSIC_BODY_NO_ARTISTS"
+msgstr "Sense artistes"
+
+msgid "IDS_MUSIC_OPT_PLAY_SPEED_ABB"
+msgstr "Velocitat de reprod"
+
+msgid "IDS_MUSIC_BODY_CONCERT_HALL_M_SOUNDEFFECT"
+msgstr "Sala de concerts"
+
+msgid "IDS_MUSIC_OPT_ADD_TO"
+msgstr "Afegir a"
+
+msgid "IDS_MUSIC_SK_VIEW"
+msgstr "Veure"
+
+msgid "IDS_MUSIC_OPT_LISTBY_RECENTLY_ADDED"
+msgstr "Afegides fa poc"
+
+msgid "IDS_MUSIC_BODY_NOT_USED"
+msgstr "No s'ha utilitzat"
+
+msgid "IDS_MUSIC_BODY_MAKE_AVAILABLE_OFFLINE"
+msgstr "Fer disponible fora de línia"
+
+msgid "IDS_MUSIC_OPT_AFTER_P1SD_HRS_P2SD_MINS"
+msgstr "Després de %1$d h %2$d min"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS"
+msgstr "Després de %d h"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_MINS"
+msgstr "Després de %d min"
+
+msgid "IDS_MUSIC_BODY_NO_FOLDERS"
+msgstr "No hi ha cap carpeta"
+
+msgid "IDS_MUSIC_BODY_NO_TRACKS"
+msgstr "Sense pistes"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS"
+msgstr "%d àlbums"
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS"
+msgstr "%d artistes"
+
+msgid "IDS_MUSIC_BODY_PD_GENRES"
+msgstr "%d gèneres"
+
+msgid "IDS_MUSIC_BODY_PD_PLAYLISTS"
+msgstr "%d llistes de reproducció"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_ABB"
+msgstr "%d pistes"
+
+msgid "IDS_MUSIC_BODY_PLAYLIST"
+msgstr "Llista de reproducció"
+
+msgid "IDS_MUSIC_HEADER_SIMILAR_ALBUMS"
+msgstr "Àlbums similars"
+
+msgid "IDS_MUSIC_HEADER_TRACK"
+msgstr "Pista"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL_VIEW"
+msgstr "Vista de miniatura"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "Aquest efecte de so només funciona en mode auricular"
+
+msgid "IDS_MUSIC_OPT_ALL_CONTENT_ABB2"
+msgstr "Tot el contingut"
+
+msgid "IDS_MUSIC_BODY_A_NETWORK_CONNECTION_IS_REQUIRED_TO_PLAY_THIS_FILE_CHECK_YOUR_NETWORK_CONNECTION_AND_TRY_AGAIN"
+msgstr "Cal una connexió de xarxa per reproduir aquest fitxer. Torni a comprovar la connexió de xarxa i torni-ho a intentar."
+
+msgid "IDS_MUSIC_POP_FILE_TYPE_NOT_SUPPORTED"
+msgstr "No s'admet el tipus de fitxer"
+
+msgid "IDS_MUSIC_POP_UPDATING_ING"
+msgstr "Actualitzant..."
+
+msgid "IDS_MUSIC_OPT_SEARCH_ABB"
+msgstr "Cercar"
+
+msgid "IDS_MUSIC_OPT_SEARCH_BY"
+msgstr "Cercar per"
+
+msgid "IDS_MUSIC_BODY_RELATED_VIDEOS"
+msgstr "Vídeos relacionats"
+
+msgid "IDS_MUSIC_BODY_SMART_VOLUME_ABB"
+msgstr "Volum intel·ligent"
+
+msgid "IDS_MUSIC_BODY_THE_VOLUME_OF_ALL_TRACKS_WILL_BE_ADJUSTED_TO_LEVEL_PD"
+msgstr "El volum de totes les pistes s'ajustarà al nivell %d."
+
+msgid "IDS_MUSIC_HEADER_SMART_VOLUME_IS_ENABLED"
+msgstr "El volum intel·ligent està habilitat"
+
+msgid "IDS_MUSIC_OPT_CONNECTION_INFO_ABB"
+msgstr "Info de connexió"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_PD_MINS"
+msgstr "Després d'1 h %d min"
+
+msgid "IDS_MUSIC_BODY_ADAPT_SOUND_ABB"
+msgstr "Adapt Sound"
+
+msgid "IDS_MUSIC_BODY_MY_DEVICE"
+msgstr "El meu dispositiu"
+
+msgid "IDS_MUSIC_POP_LISTENING_AT_A_HIGH_VOLUME_FOR_A_LONG_TIME_MAY_DAMAGE_YOUR_HEARING_RAISE_THE_VOLUME_ABOVE_SAFE_LEVELS_Q"
+msgstr "Escoltar a un volum elevat durant molt temps pot malmetre la seva oïda. Augmentar el volum per sobre dels nivells segurs?"
+
+msgid "IDS_MUSIC_POP_ALREADY_EXISTS"
+msgstr "Ja existeix"
+
+msgid "IDS_MUSIC_OPT_SCAN_FOR_NEARBY_DEVICES"
+msgstr "Escanejar dispositius propers"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR"
+msgstr "Després d'1 h"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_1_MIN"
+msgstr "Desp d'1 h 1 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS_1_MIN"
+msgstr "Després de %d h 1 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_MIN"
+msgstr "Després d'1 min"
+
+msgid "IDS_MUSIC_OPT_GO_TO_STORE"
+msgstr "Anar a la botiga"
+
+msgid "IDS_MUSIC_SK3_ADD_TRACKS"
+msgstr "Afegir pistes"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FROM_MUSIC_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Després de descarregar pistes des de Música, es mostraran aquí"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_YOUR_FAVOURITES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Després d'afegir pistes als preferits, es mostraran aquí"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_PLAY_TRACKS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Després de reproduir pistes, es mostraran aquí"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_PS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Després d'afegir pistes a %s, es mostraran aquí"
+
+msgid "IDS_MUSIC_BODY_NO_PURCHASED_CONTENT"
+msgstr "Sense contingut comprat"
+
+msgid "IDS_MUSIC_SK_SAVE_AS"
+msgstr "Des com a"
+
+msgid "IDS_MUSIC_POP_MUSICPLAYER_UPDATING_FAILED"
+msgstr "Error en actualitzar"
+
+msgid "IDS_MUSIC_BODY_EXCITING_M_ADJECTIVE"
+msgstr "Emocionant"
+
+msgid "IDS_MUSIC_BODY_SEARCH_MY_MUSIC"
+msgstr "Cercar la meva música"
+
+msgid "IDS_MUSIC_HEADER_CONNECTED_DEVICES"
+msgstr "Dispositius connectats"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST_PS"
+msgstr "La meva llista de reproducció %s"
+
+msgid "IDS_MUSIC_BODY_NO_DEVICES"
+msgstr "Sense dispositius"
+
+msgid "IDS_MUSIC_HEADER_AVAILABLE_DEVICES_ABB"
+msgstr "Dispositius dispon"
+
+msgid "IDS_MUSIC_POP_SET"
+msgstr "Definir"
+
+msgid "IDS_MUSIC_POP_REMOVE_FAILED"
+msgstr "Error en eliminar"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_USE_FAST_FORWARD_AND_REWIND_WHEN_NEARBY_DEVICES_ARE_ENABLED"
+msgstr "No es pot utilitzar avançament ràpid i rebobinar quan s'han habilitat dispositius propers"
+
+msgid "IDS_MUSIC_OPT_SET_AS"
+msgstr "Definir com a"
+
+msgid "IDS_MUSIC_OPT_HEADPHONES_ABB"
+msgstr "Auriculars"
+
+msgid "IDS_MUSIC_OPT_SPEAKER"
+msgstr "Altaveu"
+
+msgid "IDS_MUSIC_BODY_1_SONG"
+msgstr "1 cançó"
+
+msgid "IDS_MUSIC_BODY_PD_SONGS"
+msgstr "%d cançons"
+
+msgid "IDS_MUSIC_BODY_1_TRACK"
+msgstr "1 pista"
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_1_TRACK"
+msgstr "Aleatoritzar 1 pista"
+
+msgid "IDS_MUSIC_POP_NO_MUSIC_FOUND_FOR_SELECTED_CELL"
+msgstr "No s'ha trobar música per a la cel·la seleccionada"
+
+msgid "IDS_MUSIC_BODY_DO_NOT_SHOW_AGAIN"
+msgstr "No ho tornis a mostrar."
+
+msgid "IDS_MUSIC_BODY_VARIOUS_ARTISTS"
+msgstr "Artistes diversos"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_HOME_SCREEN_ABB"
+msgstr "Afegir a pantalla d'inici"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_FAVOURITES"
+msgstr "Afegir a Preferits"
+
+msgid "IDS_MUSIC_OPT_EDIT_TITLE"
+msgstr "Editar titol"
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_PERSONAL_STORAGE"
+msgstr "Eliminar de l'emmagatzematge personal"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FOLDERS_WILL_BE_SHOWN"
+msgstr "Després de descarregar pistes, es mostraran carpetes"
+
+msgid "IDS_MUSIC_BODY_SETTINGS_VOLUME"
+msgstr "Volum"
+
+msgid "IDS_MUSIC_BODY_REPEAT_OFF"
+msgstr "Desactivar repetició"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_REPEAT_ALL"
+msgstr "Repetir-ho tot"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_OFF"
+msgstr "Ordre aleatori desactivat"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_ON"
+msgstr "Ordre aleatori activat"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST"
+msgstr "La meva llista de reproducció"
+
+msgid "IDS_MUSIC_MBODY_DEFAULT_PLAYLISTS"
+msgstr "LLISTES DE REPRODUCCIÓ PREDETERMINADES"
+
+msgid "IDS_MUSIC_BODY_DETAILS_RECORDING_DATE"
+msgstr "Data de gravació"
+
+msgid "IDS_MUSIC_OPT_ALBUM_ART_ABB"
+msgstr "Albumart"
+
+msgid "IDS_MUSIC_BODY_1_GENRE"
+msgstr "1 gènere"
+
+msgid "IDS_MUSIC_BODY_PD_FOLDERS"
+msgstr "%d carpetes"
+
+msgid "IDS_MUSIC_BODY_1_FOLDER"
+msgstr "1 carpeta"
+
+msgid "IDS_MUSIC_BODY_1_ARTIST"
+msgstr "1 artista"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_M_MUSIC"
+msgstr "1 àlbum"
+
+msgid "IDS_MUSIC_BODY_1_PLAYLIST"
+msgstr "1 llista de reproducció"
+
+msgid "IDS_MUSIC_BODY_MUSIC_PLAYER"
+msgstr "Reproductor de música"
+
+msgid "IDS_MUSIC_BUTTON_MOVE"
+msgstr "Moure"
+
+msgid "IDS_MUSIC_BUTTON_AUTO_RECOMMENDATIONS"
+msgstr "Suggeriments automàtics"
+
+msgid "IDS_MUSIC_BUTTON_FROM_THE_BEGINNING"
+msgstr "Des del començament"
+
+msgid "IDS_MUSIC_HEADER_SUGGESTIONS_FOR_YOU"
+msgstr "Suggeriments per a vostè"
+
+msgid "IDS_MUSIC_OPT_SAVE"
+msgstr "Desar"
+
+msgid "IDS_MUSIC_TAB4_BASIC_M_EQUALIZING"
+msgstr "Bàsic"
+
+msgid "IDS_MUSIC_BODY_INSTRUMENT"
+msgstr "Instrument"
+
+msgid "IDS_MUSIC_BODY_TREBLE_M_EQUALISER"
+msgstr "Aguts"
+
+msgid "IDS_MUSIC_BODY_BASS_M_EQUALISER"
+msgstr "Baixos"
+
+msgid "IDS_MUSIC_BODY_NO_EFFECTS_ARE_APPLIED_IN_THIS_MODE_ABB"
+msgstr "No s'aplica cap efecte en aquest mode."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_TIMBRE_OF_A_TUBE_AMP_ABB"
+msgstr "Simula el timbre d'un amplificador de tub."
+
+msgid "IDS_MUSIC_OPT_TUBE_AMP_EFFECT"
+msgstr "Efecte amplificador de tub"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_EFFECT_OF_VIRTUAL_71_CHANNEL_SURROUND_SOUND_ABB"
+msgstr "Simula l'efecte de so envoltant del canal virtual 7.1"
+
+msgid "IDS_MUSIC_HEADER_SMALL_ROOM_M_REVERB_ABB"
+msgstr "Sala petita"
+
+msgid "IDS_MUSIC_HEADER_LARGE_ROOM_M_REVERB_ABB"
+msgstr "Sala gran"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_LARGE_ROOM_EG_A_THEATRE_ABB"
+msgstr "Simula la reverberació d'una sala gran, com ara un teatre."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_CONCERT_HALL_ABB"
+msgstr "Simula la reverberació d'una sala de concerts."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_SMALL_SPACE_EG_A_STUDIO_ABB"
+msgstr "Simula la reverberació d'un espai petit, com ara un estudi."
+
+msgid "IDS_MUSIC_BUTTON_3D_CHN"
+msgstr "3D"
+
+msgid "IDS_MUSIC_BODY_CLARITY_M_SOUNDEFFECT"
+msgstr "Claredat"
+
+msgid "IDS_MUSIC_BUTTON_RESET"
+msgstr "Restablir"
+
+msgid "IDS_MUSIC_TAB_YEARS"
+msgstr "Anys"
+
+msgid "IDS_MUSIC_TAB_GENRES"
+msgstr "Gèneres"
+
+msgid "IDS_MUSIC_TAB_COMPOSERS"
+msgstr "Composit."
+
+msgid "IDS_MUSIC_TAB_ALL_TRACKS"
+msgstr "Totes les pistes"
+
+msgid "IDS_MUSIC_SK3_GO_TO_QUICK_LIST"
+msgstr "Anar a ll ràpida"
+
+msgid "IDS_MUSIC_SK3_FIND"
+msgstr "Trobar"
+
+msgid "IDS_MUSIC_SK3_ADD_TO_QUICK_LIST"
+msgstr "Afeg a ll ràpida"
+
+msgid "IDS_MUSIC_POP_UNAUTHORISED_VIDEO_FILE_FOR_TV_OUT"
+msgstr "Fitxer de vídeo no autoritzat per a sortida de televisió"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_CREATE_MAXIMUM_NUMBER_OF_PLAYLISTS_REACHED"
+msgstr "No es pot crear. S'ha assolit el nombre màxim de llistes de reproducció."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTING_BLUETOOTH_HEADSET"
+msgstr "No es pot ajustar el volum mentre es connecten els auriculars Bluetooth"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTED_TO_BLUETOOTH_HEADSET"
+msgstr "No es pot ajustar el volum mentre es els auriculars Bluetooth estan connectats"
+
+msgid "IDS_MUSIC_POP_STOP_MUSIC_PLAYER_Q"
+msgstr "Aturar Reproductor de música?"
+
+msgid "IDS_MUSIC_POP_PLEASE_EXIT_SILENT_MODE"
+msgstr "Surti del mode silenci"
+
+msgid "IDS_MUSIC_POP_NETWORK_FAILURE"
+msgstr "Error de xarxa"
+
+msgid "IDS_MUSIC_POP_MEMORY_CARD_LOADED"
+msgstr "Targeta de memòria carregada"
+
+msgid "IDS_MUSIC_POP_DEVICE_SETTINGS_ERROR"
+msgstr "Error d'ajustaments del dispositiu"
+
+msgid "IDS_MUSIC_POP_COULD_NOT_FIND_A_MATCH_FOR_THE_SONG"
+msgstr "No s'ha pogut trobar una coincidència per a la cançó"
+
+msgid "IDS_MUSIC_POP_BUFFERING_MSTATUS"
+msgstr "Desant a la memòria intermèdia"
+
+msgid "IDS_MUSIC_POP_BT_HEADSET_ONLY_SUPPORTS_NORMAL_EFFECTS_SETTING"
+msgstr "Els auriculars BT només admeten l'ajustament d'efectes normals"
+
+msgid "IDS_MUSIC_POP_APPLICATION_WILL_BE_CLOSED"
+msgstr "Es tancarà l'aplicació"
+
+msgid "IDS_MUSIC_POP_ADDED_GO_TO_WISH_LIST_Q"
+msgstr "Afegit. Anar a la llista de desitjos?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_THE_SERVICE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "L'accés al servei pot comportar càrrecs. Continuar?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_STORE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "L'accés a la botiga pot comportar càrrecs. Continuar?"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_ONLY_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES"
+msgstr "L'efecte de so de canal 5.1 només funciona en els modes auricular i auriculars Bluetooth"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "L'efecte de so del canal 5.1 només funciona en mode auricular"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECTS_NOT_SUPPORTED_BY_SPEAKER"
+msgstr "Els efectes de so del canal 5.1 no són compatibles amb l'altaveu"
+
+msgid "IDS_MUSIC_OPT_VIEW_BY_COVER_ART"
+msgstr "Veure per caràtula àlbum"
+
+msgid "IDS_MUSIC_OPT_SEND_TRACK"
+msgstr "Enviar pista"
+
+msgid "IDS_MUSIC_OPT_RATE_TRACK"
+msgstr "Avaluar pista"
+
+msgid "IDS_MUSIC_OPT_PLAYLIST_MOVE_TRACK_IN_PLAYLIST"
+msgstr "Moure pista a la llista de reproducció"
+
+msgid "IDS_MUSIC_OPT_OPENPLAYLIST_CURRENT"
+msgstr "Actual"
+
+msgid "IDS_MUSIC_OPT_DELETE_PLAYLIST"
+msgstr "Esborrar llista de reproducció"
+
+msgid "IDS_MUSIC_OPT_BACKGROUND_PLAYING"
+msgstr "Reproducció en segon pla"
+
+msgid "IDS_MUSIC_HEADER_EFFECTS"
+msgstr "Efectes"
+
+msgid "IDS_MUSIC_BUTTON_BUY_NOW"
+msgstr "Comprar"
+
+msgid "IDS_MUSIC_BODY_WOW_HD"
+msgstr "Wow HD"
+
+msgid "IDS_MUSIC_BODY_WISHLIST"
+msgstr "Llista de desitjos"
+
+msgid "IDS_MUSIC_BODY_WIDE"
+msgstr "Ample"
+
+msgid "IDS_MUSIC_BODY_WHA_WHA"
+msgstr "Wha-wha"
+
+msgid "IDS_MUSIC_BODY_VIBE_WOOFER"
+msgstr "Altaveu amb vibració"
+
+msgid "IDS_MUSIC_BODY_TREMOLO"
+msgstr "Tremolo"
+
+msgid "IDS_MUSIC_BODY_TAP_TWICE_TO_PLAY_PAUSE_MUSIC"
+msgstr "Toqui dos cops per a reproduir/pausar música"
+
+msgid "IDS_MUSIC_BODY_SHARE_TRACK_VIA_BLUETOOTH"
+msgstr "Compartir pista per Bluetooth"
+
+msgid "IDS_MUSIC_BODY_SETUPWIZARD_WELCOME_TO_THE_MUSIC_SETUP_WIZARD_CONTINUE_Q"
+msgstr "Benvingut a l'assistent de configuració de Música.\nLes següents pantalles l'ajudaran a configurar el seu telèfon. Vol continuar?"
+
+msgid "IDS_MUSIC_BODY_QUICK_LIST"
+msgstr "Llista ràpida"
+
+msgid "IDS_MUSIC_BODY_PLAYINGSETTINGS_SOUND_EFFECTS"
+msgstr "Efectes de so"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_ALL"
+msgstr "Tot"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_1"
+msgstr "1"
+
+msgid "IDS_MUSIC_BODY_PLAYERSETTINGS_VOLUME"
+msgstr "Volum"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_SELECTED"
+msgstr "S'han seleccionat %d pistes"
+
+msgid "IDS_MUSIC_BODY_NO_PODCASTS"
+msgstr "Sense podcasts"
+
+msgid "IDS_MUSIC_BODY_FIND_SIMILAR"
+msgstr "Cercar semblant"
+
+msgid "IDS_MUSIC_BODY_BACKGROUND_PLAY"
+msgstr "Reproducció en segon pla"
+
+msgid "IDS_MUSIC_BODY_51_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "Només es pot activar el canal 5.1 quan es desactiven els efectes de so"
+
+msgid "IDS_MUSIC_TAB4_PODCASTS"
+msgstr "Podcasts"
+
+msgid "IDS_MUSIC_SK2_EDIT_IMAGE"
+msgstr "Editar la imatge"
+
+msgid "IDS_MUSIC_POP_PLAYING_ANY_SOUNDS_WILL_STOP_AND_SAVE_YOUR_VOICE_RECORDING_PLAY_Q"
+msgstr "Si reprodueix algun so, s'aturarà i desarà la gravació de veu. Reproduir?"
+
+msgid "IDS_MUSIC_POP_MAXIMUM_NUMBER_OF_ITEMS_HPD_SELECTED"
+msgstr "S'ha seleccionat el nombre màxim d'elements (%d)"
+
+msgid "IDS_MUSIC_POP_BLUETOOTH_DISCONNECTED"
+msgstr "Bluetooth desconnectat"
+
+msgid "IDS_MUSIC_POP_5_1_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "Només es pot activar el canal 5.1 quan es desactiven els efectes de so"
+
+msgid "IDS_MUSIC_OPT_TAKE_PICTURE"
+msgstr "Fer foto"
+
+msgid "IDS_MUSIC_OPT_SHOW_MUSIC_VIEW_ABB"
+msgstr "Mostrar vista de música"
+
+msgid "IDS_MUSIC_OPT_PAUSE"
+msgstr "Pausa"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALBUM"
+msgstr "Reproduir àlbum"
+
+msgid "IDS_MUSIC_OPT_LIST_BY"
+msgstr "Llistar per"
+
+msgid "IDS_MUSIC_OPT_HISTORY"
+msgstr "Historial"
+
+msgid "IDS_MUSIC_OPT_HIDE_MUSIC_VIEW_ABB"
+msgstr "Amagar vista de música"
+
+msgid "IDS_MUSIC_OPT_FIND_TAG"
+msgstr "Buscar etiqueta"
+
+msgid "IDS_MUSIC_OPT_DROPBOX_CONTENT_ABB"
+msgstr "Contingut Dropbox"
+
+msgid "IDS_MUSIC_OPT_CONTENT_ON_PHONE_ABB"
+msgstr "Contingut telèfon"
+
+msgid "IDS_MUSIC_OPT_CHANGE_IMAGE"
+msgstr "Canviar imatge"
+
+msgid "IDS_MUSIC_HEADER_DELETE_DROPBOX_DATA_ABB"
+msgstr "Esborrar dades Dropbox"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_STREAM_YOUR_MUSIC_TO_DEVICES_USING_ALLSHARE"
+msgstr "Pot reproduir la seva música en dispositius mitjançant AllShare"
+
+msgid "IDS_MUSIC_BODY_VALIDITY"
+msgstr "Validesa"
+
+msgid "IDS_MUSIC_BODY_TYPE_CNOUN"
+msgstr "Tipus"
+
+msgid "IDS_MUSIC_BODY_THIS_WILL_DELETE_THE_FILE_FROM_THE_SERVER_AND_ANY_CONNECTED_DEVICES_AS_WELL"
+msgstr "S'esborrarà el fitxer del servidor i, també, de qualsevol dispositiu connectat"
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_ARTISTS"
+msgstr "Artistes"
+
+msgid "IDS_MUSIC_BODY_PLAYINGDETAILS_ALBUM_ART"
+msgstr "Caràtula àlbum"
+
+msgid "IDS_MUSIC_BODY_OTHER_CONTENTS"
+msgstr "Altres continguts"
+
+msgid "IDS_MUSIC_BODY_NAME_TOO_LONG"
+msgstr "Nom massa llarg"
+
+msgid "IDS_MUSIC_BODY_MUSIC_CLARITY"
+msgstr "Claredat musical"
+
+msgid "IDS_MUSIC_BODY_HIGH_VOLUMES_MAY_HARM_YOUR_HEARING_IF_YOU_LISTEN_FOR_A_LONG_TIME"
+msgstr "Volums elevats poden malmetre la seva oïda si els escolta durant molt temps"
+
+msgid "IDS_MUSIC_BODY_AVAILABLE_USES"
+msgstr "Usos disponibles"
+
+msgid "IDS_MUSIC_TPOP_SOUND_EFFECTS_ONLY_AVAILABLE_WHILE_HEADPHONES_CONNECTED"
+msgstr "Els efectes de so només estan disponible quan els auriculars estan connectats."
+
+msgid "IDS_ST_OPT_ADD_TO_YOUR_PERSONAL_STORAGE"
+msgstr "Afegir al seu emmagatzematge personal"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_YOUR_PERSONAL_STORAGE"
+msgstr "Eliminar del seu emmagatzematge personal"
+
+msgid "IDS_ST_BODY_CONTEXTUAL_POP_UP_T_TALKBACK"
+msgstr "Finestra emergent contextual"
+
+msgid "IDS_ST_BODY_A_CONTEXTUAL_POP_UP_IS_OPEN_DOUBLE_TAP_TO_CLOSE_IT_T_TALKBACK"
+msgstr "S'obre una finestra emergent contextual. Toqui-la dos cops per tancar-la."
+
+msgid "IDS_ST_BODY_REPEAT_ONE"
+msgstr "Repetir una vegada"
+
+msgid "IDS_ST_BUTTON_MOVING_ING"
+msgstr "Traslladant..."
+
+msgid "IDS_HS_BODY_SELECT_UP_TO_PD_ITEMS"
+msgstr "Seleccioni fins a %d elements"
+
+msgid "IDS_CAM_BODY_TAB_T_TTS"
+msgstr "Pestanya"
+
+msgid "IDS_DLNA_OPT2_CHANGE_PLAYER"
+msgstr "Canviar reprod"
+
+msgid "IDS_BR_SK_TABS"
+msgstr "Pestanyes"
+
+msgid "IDS_MF_BODY_DROPBOX_ABB"
+msgstr "Dropbox"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Les recomanacions automàtiques poden extreure els destacats dels fitxers de so"
+
+msgid "IDS_MF_BODY_PARENT_RATING"
+msgstr "Classificació dels pares"
+
+msgid "IDS_VR_POP_FILE_NOT_FOUND"
+msgstr "No s'ha trobat el fitxer"
+
+msgid "IDS_PB_POP_CALLER_RINGTONE_SAVED"
+msgstr "Melodia persona que truca desada"
+
+msgid "IDS_MUSIC_BODY_BIT_DEPTH"
+msgstr "Profunditat de bits"
+
+msgid "IDS_MUSIC_BODY_SIZE"
+msgstr "Mida"
+
+msgid "IDS_MF_HEADER_PD_SELECTED"
+msgstr "%d seleccionat"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_THIS_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Després d'afegir pistes a aquest dispositiu, es mostraran aquí."
+
+msgid "IDS_MUSIC_TMBODY_LENGTH"
+msgstr "Durada"
+
+msgid "IDS_MUSIC_POP_1_FOLDER_WILL_BE_DELETED"
+msgstr "S'esborrarà 1 carpeta."
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "No hi ha continguts"
+
+msgid "IDS_MUSIC_ITAB4_FOLDERS"
+msgstr "Carpetes"
+
+msgid "IDS_MUSIC_HEADER_MY_PLAYLISTS_ABB"
+msgstr "Les meves llistes rep"
+
+msgid "IDS_MP_BODY_SOUND_PLAYER"
+msgstr "Reproductor de so"
+
+msgid "IDS_MUSIC_OPT_SETTINGS"
+msgstr "Ajustaments"
+
+msgid "IDS_MUSIC_POP_DELETING"
+msgstr "Esborrant..."
+
+msgid "IDS_MUSIC_POP_1_TRACK_WILL_BE_DELETED"
+msgstr "S'esborrarà 1 pista."
+
+msgid "IDS_MUSIC_POP_ALL_TRACKS_WILL_BE_DELETED"
+msgstr "S'esborraran totes les pistes"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_WILL_BE_DELETED"
+msgstr "S'esborraran %d pistes."
+
+msgid "IDS_MUSIC_POP_1_PLAYLIST_WILL_BE_DELETED"
+msgstr "S'esborrarà 1 llista de reproducció."
+
+msgid "IDS_MUSIC_POP_PD_PLAYLISTS_WILL_BE_DELETED"
+msgstr "S'esborraran %d llistes de reproducció"
+
+msgid "IDS_MUSIC_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "S'esborraran %d àlbums"
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS_WILL_BE_DELETED"
+msgstr "S'esborraran %d artistes"
+
+msgid "IDS_MUSIC_POP_PD_FOLDERS_WILL_BE_DELETED"
+msgstr "S'esborraran %d carpetes."
+
+msgid "IDS_ST_POP_CONNECTION_FAILED"
+msgstr "Error de connexió"
+
+msgid "IDS_MUSIC_BODY_CLASSIC"
+msgstr "Clàssica"
+
+msgid "IDS_MUSIC_BODY_ROCK"
+msgstr "Rock"
+
+msgid "IDS_MUSIC_BODY_JAZZ"
+msgstr "Jazz"
+
+msgid "IDS_MUSIC_BODY_POP"
+msgstr "Pop"
+
+msgid "IDS_MUSIC_BODY_AUTO"
+msgstr "Auto"
+
+msgid "IDS_MUSIC_POP_CURRENT_SOUND_EFFECT_NOT_SUPPORTED_BY_HDMI"
+msgstr "Els efectes de so actuals no són compatibles amb HDMI"
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_BLUETOOTH"
+msgstr "Els efectes de so no són compatibles amb Bluetooth"
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_LINE_OUT"
+msgstr "Els efectes de so no són compatibles amb la línia de sortida"
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_HDMI"
+msgstr "Els efectes de so no són compatibles amb HDMI"
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EFFECT"
+msgstr "Amplificador tub"
+
+msgid "IDS_MUSIC_BODY_CUSTOM"
+msgstr "Personalitzat"
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EQUALISER_ABB"
+msgstr "Amplificador tub"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "S'han afegit %d pistes a la llista de reproducció"
+
+msgid "IDS_MUSIC_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "S'ha afegit 1 pista a la llista de reproducció."
+
+msgid "IDS_MUSIC_HEADER_ADD_TRACKS_TO_PLAYLIST_ABB"
+msgstr "Afegir pistes a llista reprod"
+
+msgid "IDS_MUSIC_POP_PS_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "%s ja està en ús. Introdueixi un altre nom."
+
+msgid "IDS_MUSIC_TMBODY_DATE_OF_RECORDING"
+msgstr "Data de gravació"
+
+msgid "IDS_MBP_TPOP_TRACK_SET_AS_ALARM_TONE"
+msgstr "Pista definida com a to d'alarma."
+
+msgid "IDS_MUSIC_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "No s'han trobat resultats"
+
+msgid "IDS_MUSIC_OPT_DEFAULT_RINGTONE_ABB"
+msgstr "Melodia predeterminada"
+
+msgid "IDS_MUSIC_TPOP_TRACK_SET_AS_CALLER_RINGTONE"
+msgstr "Pista definida com a melodia del remitent."
+
+msgid "IDS_MP_TPOP_TRACK_SET_AS_RINGTONE"
+msgstr "Pista definida com a melodia de trucada."
+
+msgid "IDS_DLNA_BODY_ADD_TO_NOW_PLAYING_LIST"
+msgstr "Afegir a la llista de reproducció en curs"
+
+msgid "IDS_MUSIC_TPOP_EQUALISER_SETTINGS_WILL_BE_APPLIED_WHILE_PLAYING_MUSIC"
+msgstr "Els ajustaments d'equalitzador s'aplicaran mentre es reprodueixi música."
+
+msgid "IDS_ST_BODY_ALERT"
+msgstr "Alerta"
+
+msgid "IDS_IV_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "S'esborrarà 1 àlbum"
+
+msgid "IDS_MUSIC_OPT_SD_CARD"
+msgstr "Targ SD"
+
+msgid "IDS_MUSIC_SBODY_DEVICE_STORAGE"
+msgstr "Emmagatzematge de dispositiu"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE"
+msgstr "Nom de llista de reproducció en ús."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_PD"
+msgstr "Llista de reproducció %d"
+
+msgid "IDS_MUSIC_HEADER_CREATE"
+msgstr "Crear"
+
+msgid "IDS_MUSIC_HEADER_EQUALISER_PRESET_ABB"
+msgstr "Equalitzador presintonitzat"
+
+msgid "IDS_MUSIC_OPT_AUTOMATIC_M_EQUALIZER_EFFECT"
+msgstr "Automàtic"
+
+msgid "IDS_MUSIC_OPT_CLASSICAL_M_EQUALIZER_EFFECT"
+msgstr "Clàssica"
+
+msgid "IDS_MUSIC_HEADER_ENVIRONMENT_EFFECT_ABB"
+msgstr "Efecte d'entorn"
+
+msgid "IDS_VIDEO_POP_THE_FILE_TYPE_IS_NOT_SUPPORTED"
+msgstr "El tipus de fitxer no és compatible."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_CREATE_PLAYLISTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Després de crear llistes de reproducció, es mostraran aquí"
+
+msgid "IDS_ST_HEADER_SELECT_AUDIO_DEVICE_ABB"
+msgstr "Seleccionar dispositiu d'àudio"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "El nom de la llista de distribució ja està en ús. Introdueixi un altre nom."
+
+msgid "IDS_MUSIC_HEADER_SOUNDALIVE_ABB3"
+msgstr "SoundAlive"
+
+msgid "IDS_MUSIC_OPT_NOW_PLAYING_LIST"
+msgstr "Llista de reproducció en curs"
+
+msgid "IDS_MUSIC_OPT_SHOW_LYRICS"
+msgstr "Mostrar lletra"
+
+msgid "IDS_MUSIC_OPT_HIDE_LYRICS"
+msgstr "Ocultar lletra"
+
+msgid "IDS_MUSIC_TPOP_UNABLE_TO_PLAY_MUSIC_DURING_CALLS"
+msgstr "No es pot reproduir la música durant les trucades."
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Esborrar"
+
+msgid "IDS_MUSIC_HEADER_SELECT"
+msgstr "Seleccionar"
+
+msgid "IDS_TPLATFORM_OPT_NFC"
+msgstr "NFC"
+
+msgid "IDS_MUSIC_HEADER_UNABLE_TO_PLAY_TRACK"
+msgstr "No es pot reproduir la pista"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "REALITZAT"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "CANCEL·LAR"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "ESBORRAR"
+
+msgid "IDS_MUSIC_POP_RENAME"
+msgstr "Canviar nom"
+
+msgid "IDS_MUSIC_OPT_MESSAGE"
+msgstr "Missatge"
+
+msgid "IDS_MUSIC_SK_OK"
+msgstr "Acceptar"
+
+msgid "IDS_MUSIC_SK_CANCEL"
+msgstr "Cancel·lar"
+
+msgid "IDS_MUSIC_BUTTON_REFRESH"
+msgstr "Actualitzar"
+
+msgid "IDS_MUSIC_BODY_SELECT_ALL"
+msgstr "Seleccioni-ho tot"
+
+msgid "IDS_MUSIC_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_MUSIC_POP_DELETED"
+msgstr "Esborrat"
+
+msgid "IDS_MUSIC_OPT_STOP"
+msgstr "Aturar"
+
+msgid "IDS_MUSIC_BODY_UNKNOWN"
+msgstr "Desconegut"
+
+msgid "IDS_MUSIC_BODY_TITLE"
+msgstr "Títol"
+
+msgid "IDS_MUSIC_OPT_SENDVIA_EMAIL"
+msgstr "Correu electrònic"
+
+msgid "IDS_MUSIC_OPT_BLUETOOTH"
+msgstr "Bluetooth"
+
+msgid "IDS_MUSIC_HEADER_DOWNLOAD"
+msgstr "Descarregar"
+
+msgid "IDS_MUSIC_POP_LOW_BATTERY"
+msgstr "Bateria baixa"
+
+msgid "IDS_MUSIC_HEADER_AUDIO_DEVICE"
+msgstr "Dispositiu d’àudio"
+
+msgid "IDS_MUSIC_HEADER_DETAILS"
+msgstr "Detalls"
+
+msgid "IDS_MUSIC_OPT_END"
+msgstr "Finalitzar"
+
+msgid "IDS_MUSIC_OPT_EDIT"
+msgstr "Editar"
+
+msgid "IDS_CAM_HEADER_UPDATED"
+msgstr "Actualitzat"
+
+msgid "IDS_MUSIC_POP_REMOVED"
+msgstr "Eliminat"
+
+msgid "IDS_MUSIC_OPT_SELECTED"
+msgstr "Seleccionat"
+
+msgid "IDS_ST_BUTTON_SCAN"
+msgstr "Escanejar"
+
+msgid "IDS_MF_POP_ERROR"
+msgstr "Error"
+
+msgid "IDS_MF_POP_MEMORY_FULL"
+msgstr "Memòria plena"
+
+msgid "IDS_TPLATFORM_MBODY_STORAGE_LOCATION"
+msgstr "Ubicació d'emmagatzematge"
+
+msgid "IDS_MUSIC_OPT_REMOVE_M_PLAYLIST"
+msgstr "Eliminar"
+
+msgid "IDS_MUSIC_MBODY_QUEUE"
+msgstr "Cua"
+
+msgid "IDS_MUSIC_OPT_VOLUME"
+msgstr "Volum"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE"
+msgstr "Ordre aleatori"
+
+msgid "IDS_MUSIC_OPT_REPEAT"
+msgstr "Repetir"
+
+msgid "IDS_COM_BODY_DETAILS"
+msgstr "Details"
+
+msgid "IDS_COM_BODY_DETAILS_TITLE"
+msgstr "Title"
+
+msgid "IDS_COM_BODY_EDIT"
+msgstr "Edit"
+
+msgid "IDS_COM_BODY_EMAIL"
+msgstr "Email"
+
+msgid "IDS_COM_BODY_END"
+msgstr "End"
+
+msgid "IDS_COM_BODY_FOLDERS"
+msgstr "Folders"
+
+msgid "IDS_COM_BODY_GALLERY"
+msgstr "Gallery"
+
+msgid "IDS_COM_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_COM_BODY_LOADING"
+msgstr "Loading..."
+
+msgid "IDS_COM_BODY_LOW_BATTERY"
+msgstr "Low battery."
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Message"
+
+msgid "IDS_COM_BODY_MUSIC"
+msgstr "Music"
+
+msgid "IDS_COM_BODY_NFC"
+msgstr "NFC"
+
+msgid "IDS_COM_BODY_NO_CONTENTS"
+msgstr "No content"
+
+msgid "IDS_COM_BODY_PAUSE"
+msgstr "Pause"
+
+msgid "IDS_COM_BODY_PD_SELECTED"
+msgstr "%d selected."
+
+msgid "IDS_COM_BODY_PREVIOUS"
+msgstr "Previous"
+
+msgid "IDS_COM_BODY_RESET_A"
+msgstr "Reset"
+
+msgid "IDS_COM_BODY_SELECTED"
+msgstr "Selected"
+
+msgid "IDS_COM_BODY_SELECT_ALL"
+msgstr "Select all"
+
+msgid "IDS_COM_BODY_SETTINGS"
+msgstr "Settings"
+
+msgid "IDS_COM_BODY_TIME"
+msgstr "Time"
+
+msgid "IDS_COM_BODY_UNABLE_TO_ADD"
+msgstr "Unable to add."
+
+msgid "IDS_COM_BODY_UNKNOWN"
+msgstr "Unknown"
+
+msgid "IDS_COM_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_COM_BUTTON_SCAN"
+msgstr "Scan"
+
+msgid "IDS_COM_BUTTON_SHARE"
+msgstr "Share"
+
+msgid "IDS_COM_HEADER_AUDIO_DEVICE_ABB"
+msgstr "Audio device"
+
+msgid "IDS_COM_OPT_ADDED"
+msgstr "Added."
+
+msgid "IDS_COM_OPT_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_POP_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_POP_CONNECTION_FAILED"
+msgstr "Connection failed."
+
+msgid "IDS_COM_POP_DELETED"
+msgstr "Deleted."
+
+msgid "IDS_COM_POP_DELETE_Q"
+msgstr "Delete?"
+
+msgid "IDS_COM_POP_DONE"
+msgstr "Done"
+
+msgid "IDS_COM_POP_DOWNLOADING"
+msgstr "Downloading..."
+
+msgid "IDS_COM_POP_ERROR"
+msgstr "Error."
+
+msgid "IDS_COM_POP_FAILED"
+msgstr "Failed."
+
+msgid "IDS_COM_POP_FILE_NOT_EXIST"
+msgstr "This file does not exist."
+
+msgid "IDS_COM_POP_FILE_NOT_FOUND"
+msgstr "File not found."
+
+msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximum number of characters reached."
+
+msgid "IDS_COM_POP_MEMORY_FULL"
+msgstr "Memory full."
+
+msgid "IDS_COM_POP_REMOVED"
+msgstr "Removed."
+
+msgid "IDS_COM_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Unable to use during Mass storage mode."
+
+msgid "IDS_COM_POP_UPDATED"
+msgstr "Updated."
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_SK_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_SK_DOWNLOAD"
+msgstr "Download"
+
+msgid "IDS_COM_SK_NEW"
+msgstr "New"
+
+msgid "IDS_COM_SK_NEXT"
+msgstr "Next"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_SK_REFRESH"
+msgstr "Refresh"
+
+msgid "IDS_COM_SK_REMOVE"
+msgstr "Remove"
+
+msgid "IDS_COM_SK_SAVE"
+msgstr "Save"
+
+msgid "IDS_COM_SK_SELECT"
+msgstr "Select"
+
+msgid "IDS_COM_SK_SET"
+msgstr "Set"
+
+msgid "IDS_COM_SK_STOP"
+msgstr "Stop"
+
+
+msgid "IDS_MH_BODY_THE_PLAYLIST_NAME_PS_IS_ALREADY_IN_USE"
+msgstr "The playlist name %s is already in use."
+
+msgid "IDS_MH_BODY_TOTAL"
+msgstr "Total"
+
+msgid "IDS_MH_MBODY_RECENTLY_ADDED_M_SONG"
+msgstr "Recently added"
+
+msgid "IDS_MH_OPT_MORE_INFO_ABB"
+msgstr "More info"
+
+msgid "IDS_MH_POP_ALARM_TONE_SET"
+msgstr "Alarm tone set."
+
+msgid "IDS_MH_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 track added to playlist."
+
+msgid "IDS_MH_TPOP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d tracks added to playlist."
+
+msgid "IDS_MUSIC_OPT_RENAME"
+msgstr "Rename"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Unable to play during call."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "S'ha excedit la mida màxima de fitxers"
+
+msgid "IDS_CAM_TPOP_UNABLE_TO_PLAY_MUSIC_WHILE_RECORDING_AUDIO_OR_VIDEO"
+msgstr "No es pot reproduir música mentre es graven àudios o vídeos."
+
--- /dev/null
+msgid "IDS_ST_BODY_LOADING_ING"
+msgstr "Nahrávám..."
+
+msgid "IDS_GALLERY_OPT_PRIVATE_M_CONTENT"
+msgstr "Soukromé"
+
+msgid "IDS_MF_BODY_TIME"
+msgstr "Čas"
+
+msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
+msgstr "Soubor neexistuje."
+
+msgid "IDS_MUSIC_POP_PHONE_RINGTONE"
+msgstr "Vyzváněcí tón telefonu"
+
+msgid "IDS_MUSIC_BODY_DURATION"
+msgstr "Trvání"
+
+msgid "IDS_MUSIC_BODY_MUSIC_LOCATION"
+msgstr "Místo"
+
+msgid "IDS_MUSIC_BODY_SET_AS_M_RINGTONE"
+msgstr "Nastavit jako"
+
+msgid "IDS_ST_OPT_ADD_TO_PERSONAL_PAGE"
+msgstr "Přidat na osobní stránku"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_PERSONAL_PAGE_ABB"
+msgstr "Odebrat z osobní stránky"
+
+msgid "IDS_ST_POP_MOVE_TO_NORMAL_STORAGE"
+msgstr "Přesunout do normálního úložiště"
+
+msgid "IDS_ST_POP_MOVE_TO_PERSONAL_STORAGE"
+msgstr "Přesunout do osobního úložiště"
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEMS_WILL_BE_MOVED_TO_PS"
+msgstr "Vybrané položky budou přesunuty do %s."
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEM_WILL_BE_MOVED_TO_PS"
+msgstr "Vybraná položka bude přesunuta do %s."
+
+msgid "IDS_VR_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "V režimu Velkokapacitního paměťového zařízení nelze použít."
+
+msgid "IDS_MUSIC_POP_RINGTONE_ADDED"
+msgstr "Vyzváněcí tón byl přidán."
+
+msgid "IDS_CAM_BODY_BUTTON_T_TTS"
+msgstr "Tlačítko"
+
+msgid "IDS_MUSIC_HEADER_SELECT_ITEMS"
+msgstr "Vyberte položky"
+
+msgid "IDS_ST_BODY_ADVANCED"
+msgstr "Upřesnit"
+
+msgid "IDS_ST_SK_PREVIOUS"
+msgstr "Předchozí"
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Zavřít"
+
+msgid "IDS_MUSIC_POP_ADDED"
+msgstr "Přidáno."
+
+msgid "IDS_MUSIC_POP_FAILED"
+msgstr "Nezdařilo se."
+
+msgid "IDS_MUSIC_BODY_NO_SEARCH_RESULTS"
+msgstr "Žádné výsledky"
+
+msgid "IDS_MUSIC_SK_DONE"
+msgstr "Hotovo"
+
+msgid "IDS_MUSIC_BODY_NO_ITEMS"
+msgstr "Žádné položky"
+
+msgid "IDS_BR_OPT_ADD_TO_HOME"
+msgstr "Přidat do domů"
+
+msgid "IDS_BR_SK_NEXT"
+msgstr "Další"
+
+msgid "IDS_BR_BODY_DOWNLOADING_ING"
+msgstr "Stahování..."
+
+msgid "IDS_IV_BODY_FAVOURITE"
+msgstr "Oblíbené"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_PERSONAL_STORAGE"
+msgstr "Přidat do osobního úložiště"
+
+msgid "IDS_DLNA_POP_DISCONNECTED_FROM_PS_CHECK_THE_NETWORK_STATUS_AND_THE_CONNECTED_DEVICE"
+msgstr "Odpojeno od %s. Zkontrolujte stav sítě a připojené zařízení."
+
+msgid "IDS_DLNA_OPT_VIA_SCREEN_MIRRORING_ABB"
+msgstr "Pomocí Screen Mirroring"
+
+msgid "IDS_DLNA_OPT_VIA_HOME_NETWORK_ABB"
+msgstr "Pomocí domovské sítě"
+
+msgid "IDS_IV_POP_ENTRY_IS_EMPTY"
+msgstr "Prázdná položka."
+
+msgid "IDS_FM_POP_UNAVAILABLE_DURING_CALL"
+msgstr "Během hovoru není k dispozici."
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Bylo dosaženo maximálního počtu znaků."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_SHARE_DRM_FILE"
+msgstr "Soubor DRM nelze sdílet."
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Odebírání..."
+
+msgid "IDS_MUSIC_HEADER_PD_DEVICES"
+msgstr "%d zařízení"
+
+msgid "IDS_MUSIC_BUTTON_ENABLE_MOTION"
+msgstr "Zapnout pohyb"
+
+msgid "IDS_MUSIC_BUTTON_DONT_ASK_AGAIN"
+msgstr "Příště se neptat"
+
+msgid "IDS_MUSIC_BODY_NO_RESULTS_FOUND"
+msgstr "Nebylo nic nalezeno."
+
+msgid "IDS_VPL_OPT_HDMI"
+msgstr "HDMI"
+
+msgid "IDS_MUSIC_BODY_TURN_PHONE_OVER_TO_MUTE_INCOMING_CALLS_MESSAGE_ALERTS_AND_ALARMS"
+msgstr "Obrácením telefonu ztlumíte příchozí hovory, upozornění na zprávy a upozornění."
+
+msgid "IDS_ST_BODY_NONE"
+msgstr "Žádná"
+
+msgid "IDS_ST_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_ST_BODY_GALLERY"
+msgstr "Galerie"
+
+msgid "IDS_ST_BODY_DOUBLE_TAP_TO_MOVE_TO_CONTENT_T_TTS"
+msgstr "Poklepáním přesunete obsah."
+
+msgid "IDS_MUSIC_BODY_SURROUND"
+msgstr "Prostorový"
+
+msgid "IDS_MUSIC_OPT_LYRICS_ABB"
+msgstr "Texty"
+
+msgid "IDS_MUSIC_POP_AFTER_YOU_ADD_TRACKS_TO_MUSIC_ON_YOUR_MOBILE_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Až přidáte skladby do složky Hudba v mobilním zařízení, zobrazí se zde."
+
+msgid "IDS_MUSIC_BODY_SAMPLING_RATE"
+msgstr "Vzorkovací frekvence"
+
+msgid "IDS_MUSIC_BODY_MARKED_AS_A_FAVOURITE"
+msgstr "Označeno jako oblíbené."
+
+msgid "IDS_MUSIC_BODY_MUSIC"
+msgstr "Hudba"
+
+msgid "IDS_MUSIC_BODY_NOT_MARKED_AS_A_FAVOURITE"
+msgstr "Nebylo označeno jako oblíbené."
+
+msgid "IDS_MUSIC_HEADER_SEARCH_MUSIC_ABB"
+msgstr "Hledat hudbu"
+
+msgid "IDS_MUSIC_POP_AUTO_RECOMMENDATION_DOES_NOT_SUPPORT_THIS_AUDIO_FILE"
+msgstr "Automatické doporučení nepodporuje tento zvukový soubor."
+
+msgid "IDS_MUSIC_POP_SORRY_THE_PLAYER_DOES_NOT_SUPPORT_THIS_TYPE_OF_AUDIO_FILE"
+msgstr "Přehrávač bohužel nepodporuje tento typ zvukového souboru."
+
+msgid "IDS_MUSIC_BODY_FAVOURITES"
+msgstr "Oblíbené"
+
+msgid "IDS_MUSIC_BODY_MOST_PLAYED"
+msgstr "Nejčastěji přehrávané"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_ADDED"
+msgstr "Poslední přidané"
+
+msgid "IDS_MUSIC_OPT_CREATE_PLAYLIST"
+msgstr "Vytvořit seznam skladeb"
+
+msgid "IDS_MUSIC_OPT_REMOVE"
+msgstr "Odstranit"
+
+msgid "IDS_MUSIC_OPT_SETAS_CALLER_RINGTONE"
+msgstr "Zvonění volajícího"
+
+msgid "IDS_MUSIC_TAB4_ARTISTS"
+msgstr "Interpreti"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD"
+msgstr "Nelze přidat."
+
+msgid "IDS_MUSIC_POP_UNABLE_CREATE_PLAYLIST"
+msgstr "Nelze vytvořit seznam skladeb."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_GET_TAG"
+msgstr "Značku nelze získat."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_MORE_THAN_PD_MUSIC_FILE"
+msgstr "Nelze přidat více hudebních souborů než %d."
+
+msgid "IDS_MUSIC_BODY_ALBUM"
+msgstr "Album"
+
+msgid "IDS_MUSIC_BODY_AUTHOR"
+msgstr "Autor"
+
+msgid "IDS_MUSIC_BODY_COPYRIGHT"
+msgstr "Copyright"
+
+msgid "IDS_MUSIC_BODY_CREATE_PLAYLIST"
+msgstr "Vytvořit seznam skladeb"
+
+msgid "IDS_MUSIC_BODY_DESCRIPTION"
+msgstr "Popis"
+
+msgid "IDS_MUSIC_BODY_FORMAT"
+msgstr "Formát"
+
+msgid "IDS_MUSIC_BODY_IMPOSSIBLE"
+msgstr "Nemožné"
+
+msgid "IDS_MUSIC_BODY_NO_PLAYLISTS"
+msgstr "Žádné seznamy skladeb"
+
+msgid "IDS_MUSIC_BODY_TRACK_NUMBER"
+msgstr "Číslo skladby"
+
+msgid "IDS_MUSIC_POP_DELETE_Q"
+msgstr "Odstranit?"
+
+msgid "IDS_MUSIC_POP_REMOVE_Q"
+msgstr "Odstranit?"
+
+msgid "IDS_MUSIC_POP_UNABLE_RENAME_PLAYLIST"
+msgstr "Seznam skladeb nelze přejmenovat."
+
+msgid "IDS_MUSIC_TAB4_ALBUMS"
+msgstr "Alba"
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Přidávání..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Odstranit %d alb?"
+
+msgid "IDS_MUSIC_TAB4_PLAYLISTS"
+msgstr "Seznamy skladeb"
+
+msgid "IDS_MUSIC_OPT_ADD"
+msgstr "Přidat"
+
+msgid "IDS_MUSIC_BODY_BIOGRAPHY"
+msgstr "Životopis"
+
+msgid "IDS_MUSIC_BODY_CREDITS"
+msgstr "Kredity"
+
+msgid "IDS_MUSIC_BODY_DETAILS_MEADIA_INFO"
+msgstr "Informace o médiu"
+
+msgid "IDS_MUSIC_BODY_DISCOGRAPHY"
+msgstr "Diskografie"
+
+msgid "IDS_MUSIC_BODY_LYRIC"
+msgstr "Text"
+
+msgid "IDS_MUSIC_BODY_POSSIBLE"
+msgstr "Možné"
+
+msgid "IDS_MUSIC_BODY_REVIEW"
+msgstr "Kontrola"
+
+msgid "IDS_MUSIC_HEADER_TRACK_LIST"
+msgstr "Seznam skladeb"
+
+msgid "IDS_MUSIC_BODY_ADD_TO_PLAYLIST"
+msgstr "Přidat do přehrávaného seznamu"
+
+msgid "IDS_MUSIC_BODY_ARTIST"
+msgstr "Interpret"
+
+msgid "IDS_MUSIC_BODY_FORWARDING"
+msgstr "Předání"
+
+msgid "IDS_MUSIC_BODY_RECORDED_DATE"
+msgstr "Date of recording"
+
+msgid "IDS_MUSIC_BODY_PLAYLISTS"
+msgstr "Seznamy skladeb"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_PLAYED"
+msgstr "Poslední přehrané"
+
+msgid "IDS_MUSIC_BODY_TRACK_LENGTH"
+msgstr "Délka skladby"
+
+msgid "IDS_MUSIC_HEADER_NO_SONGS"
+msgstr "Žádné skladby"
+
+msgid "IDS_MUSIC_POP_THIS_TRACK_WILL_BE_DELETED"
+msgstr "Skladba bude odstraněna."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_TRACKS_WILL_BE_DELETED"
+msgstr "Vybrané skladby budou odstraněny."
+
+msgid "IDS_MUSIC_POP_THIS_ARTIST_WILL_BE_DELETED"
+msgstr "Interpret bude odstraněn."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ARTISTS_WILL_BE_DELETED"
+msgstr "Vybraní umělci budou odstraněni."
+
+msgid "IDS_MUSIC_POP_ALL_ARTISTS_WILL_BE_DELETED"
+msgstr "Všichni interpreti budou odstraněni."
+
+msgid "IDS_MUSIC_POP_THIS_FOLDER_WILL_BE_DELETED"
+msgstr "Složka bude odstraněna."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_FOLDERS_WILL_BE_DELETED"
+msgstr "Vybrané složky budou odstraněny."
+
+msgid "IDS_MUSIC_POP_ALL_FOLDERS_WILL_BE_DELETED"
+msgstr "Budou odstraněny všechny složky."
+
+msgid "IDS_MUSIC_POP_THIS_ALBUM_WILL_BE_DELETED"
+msgstr "Album bude odstraněno."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ALBUMS_WILL_BE_DELETED"
+msgstr "Vybraná alba budou odstraněna."
+
+msgid "IDS_MUSIC_POP_ALL_ALBUMS_WILL_BE_DELETED"
+msgstr "Všechna alba budou odstraněna."
+
+msgid "IDS_MUSIC_POP_THIS_PLAYLIST_WILL_BE_DELETED"
+msgstr "Seznam skladeb bude odstraněn."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Vybrané seznamy skladeb budou odstraněny."
+
+msgid "IDS_MUSIC_POP_ALL_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Všechny seznamy skladeb budou odstraněny."
+
+msgid "IDS_MUSIC_HEADER_SONGS"
+msgstr "Skladby"
+
+msgid "IDS_MUSIC_OPT_REORDER"
+msgstr "Změnit uspořádání"
+
+msgid "IDS_MUSIC_OPT_SAVE_AS_PLAYLIST"
+msgstr "Uložit jako seznam skladeb"
+
+msgid "IDS_MUSIC_OPT_SETAS_ALARM_TONE"
+msgstr "Tón upozornění"
+
+msgid "IDS_MUSIC_POP_NOTHING_SELECTED"
+msgstr "Není nic vybráno."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Nelze přehrát. Došlo k chybě."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_UNSUPPORTED_FILETYPE"
+msgstr "Nelze přehrát. Nepodporovaný typ souboru."
+
+msgid "IDS_MUSIC_SK_SHARE"
+msgstr "Sdílet"
+
+msgid "IDS_MUSIC_TAB4_CONDUCTORS"
+msgstr "Dirigenti"
+
+msgid "IDS_MUSIC_HEADER_SELECT_DEVICE"
+msgstr "Zvolte umístění"
+
+msgid "IDS_MUSIC_SK_VIEW_AS"
+msgstr "Zob. jako"
+
+msgid "IDS_MUSIC_BODY_SOUNDEFFECTS_NORMAL"
+msgstr "Normální"
+
+msgid "IDS_MUSIC_BODY_USER"
+msgstr "Uživatel"
+
+msgid "IDS_MUSIC_BODY_VOCAL_M_SOUNDEFFECT"
+msgstr "Vokály"
+
+msgid "IDS_MUSIC_MBODY_BASS_BOOST"
+msgstr "Zesílení basů"
+
+msgid "IDS_MUSIC_MBODY_TREBLE_BOOST"
+msgstr "Zesílení výšek"
+
+msgid "IDS_MUSIC_BODY_CAFE_M_SOUNDEFFECT"
+msgstr "Kavárna"
+
+msgid "IDS_MUSIC_OPT_VIRTUAL_71_CH"
+msgstr "Virtuální 7.1 kan."
+
+msgid "IDS_MUSIC_OPT_AFTER_15_MIN_ABB"
+msgstr "Za 15 minut"
+
+msgid "IDS_MUSIC_BODY_AFTER_30_MIN"
+msgstr "Za 30 minut"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HOUR"
+msgstr "Za 1 hodinu"
+
+msgid "IDS_MUSIC_POP_AFTER_1_HOUR_30_MIN"
+msgstr "Za 1 hodinu 30 min."
+
+msgid "IDS_MUSIC_BODY_AFTER_2_HOURS"
+msgstr "Za 2 hodiny"
+
+msgid "IDS_MUSIC_BODY_MUSIC_AUTO_OFF"
+msgstr "Automatické vypnutí hudby"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES_ONLY"
+msgstr "Tento zvukový efekt funguje pouze se sluchátky nebo se sluchátky Bluetooth."
+
+msgid "IDS_MUSIC_TAB4_MUSIC_SQUARE"
+msgstr "Hudební ráj"
+
+msgid "IDS_MUSIC_POP_NOT_ENOUGH_MUSIC_FILES_TO_PLAY_IN_MUSIC_SQUARE_AT_LEAST_PD_MUSIC_FILES_REQUIRED"
+msgstr "V Music Square není dostatek hudebních souborů k přehrávání. Je zapotřebí alespoň %d hudebních souborů."
+
+msgid "IDS_MUSIC_BODY_PASSION_M_MOOD"
+msgstr "Vášeň"
+
+msgid "IDS_MUSIC_BODY_CALM_M_ADJECTIVE"
+msgstr "Klidná"
+
+msgid "IDS_MUSIC_BODY_JOY_M_MOOD"
+msgstr "Radost"
+
+msgid "IDS_MUSIC_BODY_LIBRARY_UPDATE"
+msgstr "Aktualizace knihovny"
+
+msgid "IDS_MUSIC_POP_UPDATE_LIBRARY_Q"
+msgstr "Aktualizovat knihovnu?"
+
+msgid "IDS_MUSIC_BODY_CHANGE_AXIS"
+msgstr "Změnit osu"
+
+msgid "IDS_MUSIC_ITAB4_GENRES"
+msgstr "Žánry"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_1_TRACK"
+msgstr "1 album/1 skladba"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_PD_TRACKS"
+msgstr "1 album/%d skladeb"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS_PD_TRACKS"
+msgstr "%d alb/%d skladeb"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_CONTROL_MUSIC_PLAYER_WITH_THE_VOICE_COMMANDS_P1SS_P2SS_P3SS_P4SS_P5SS_AND_P6SS"
+msgstr "Hudební přehrávač je možné ovládat hlasovými příkazy %1$s, %2$s, %3$s, %4$s, %5$s a %6$s."
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_PD_TRACKS"
+msgstr "Náhodně %d skladeb"
+
+msgid "IDS_MUSIC_BODY_MORE_INFO"
+msgstr "Další informace"
+
+msgid "IDS_MUSIC_HEADER_MY_MUSIC_M_APPLICATION_NAME"
+msgstr "Moje hudba"
+
+msgid "IDS_MUSIC_OPT_LIST_VIEW"
+msgstr "Seznam"
+
+msgid "IDS_MUSIC_OPT_PLAY_VIA_GROUP_PLAY"
+msgstr "Přehrát pomocí Group Play"
+
+msgid "IDS_MUSIC_POP_TRACK_ADDED_TO_FAVOURITES"
+msgstr "Skladba byla přidána do oblíbených."
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_FAVOURITES"
+msgstr "Odebrat z oblíbených položek"
+
+msgid "IDS_MUSIC_BODY_NEW_M_LATEST"
+msgstr "Nový"
+
+msgid "IDS_MUSIC_OPT_TRACKS"
+msgstr "Skladby"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL"
+msgstr "Miniatura"
+
+msgid "IDS_MUSIC_SK_LIST"
+msgstr "Seznam"
+
+msgid "IDS_MUSIC_SK_OPEN_PLAYLIST"
+msgstr "Otevřít seznam skladeb"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALL"
+msgstr "Přehrát vše"
+
+msgid "IDS_MUSIC_POP_SELECTED_LIST_EMPTY"
+msgstr "Vybraný seznam je prázdný."
+
+msgid "IDS_MUSIC_BODY_MOODS"
+msgstr "Nálady"
+
+msgid "IDS_MUSIC_BUTTON_YEARS"
+msgstr "Roky"
+
+msgid "IDS_MUSIC_BODY_OLD"
+msgstr "Stará"
+
+msgid "IDS_MUSIC_BODY_MUSIC_SQUARE_ANALYSES_THE_CHARACTERISTICS_OF_MUSIC_FILES_STORED_ON_YOUR_DEVICE_AND_AUTOMATICALLY_CREATES_PLAYLISTS_MSG"
+msgstr "Hudební ráj analyzuje charakteristiky hudebních souborů uložených v zařízení a automaticky vytváří seznamy skladeb."
+
+msgid "IDS_MUSIC_BODY_PLAY_TRACKS_WITH_SIMILAR_CHARACTERISTICS_BY_SELECTING_A_SQUARE_ON_THE_SCREEN"
+msgstr "Seznam hudebních skladeb s podobnými charakteristikami přehrajete zvolením položky na displeji."
+
+msgid "IDS_MUSIC_BODY_VIEW_PLAYLIST_DETAILS_BY_TAPPING_AND_HOLDING_THE_SQUARE_CURRENTLY_BEING_PLAYED"
+msgstr "Detaily seznamu skladeb zobrazíte klepnutím na aktuálně přehrávanou položku a jejím podržením."
+
+msgid "IDS_MUSIC_BODY_NEARBY_DEVICES"
+msgstr "Nedaleká zařízení"
+
+msgid "IDS_MUSIC_POP_YOU_WILL_NEED_TO_UPDATE_THE_LIBRARY_IF_NEW_SONGS_HAVE_BEEN_ADDED"
+msgstr "Po přidání nových skladeb je potřeba provést aktualizaci knihovny."
+
+msgid "IDS_MUSIC_BODY_NO_ALBUMS"
+msgstr "Žádná alba"
+
+msgid "IDS_MUSIC_BODY_NO_ARTISTS"
+msgstr "Žádní interpreti"
+
+msgid "IDS_MUSIC_OPT_PLAY_SPEED_ABB"
+msgstr "Rychlost přehrávání"
+
+msgid "IDS_MUSIC_BODY_CONCERT_HALL_M_SOUNDEFFECT"
+msgstr "Koncertní síň"
+
+msgid "IDS_MUSIC_OPT_ADD_TO"
+msgstr "Přidat do"
+
+msgid "IDS_MUSIC_SK_VIEW"
+msgstr "Zobrazit"
+
+msgid "IDS_MUSIC_OPT_LISTBY_RECENTLY_ADDED"
+msgstr "Poslední přidané"
+
+msgid "IDS_MUSIC_BODY_NOT_USED"
+msgstr "Nepoužito"
+
+msgid "IDS_MUSIC_BODY_MAKE_AVAILABLE_OFFLINE"
+msgstr "Učinit dostupné offline"
+
+msgid "IDS_MUSIC_OPT_AFTER_P1SD_HRS_P2SD_MINS"
+msgstr "Za %1$d hod %2$d min"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS"
+msgstr "Za %d hod"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_MINS"
+msgstr "Za %d min"
+
+msgid "IDS_MUSIC_BODY_NO_FOLDERS"
+msgstr "Žádné složky"
+
+msgid "IDS_MUSIC_BODY_NO_TRACKS"
+msgstr "Žádné skladby"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS"
+msgstr "%d alb(a)"
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS"
+msgstr "%d interpretů"
+
+msgid "IDS_MUSIC_BODY_PD_GENRES"
+msgstr "%d žánrů"
+
+msgid "IDS_MUSIC_BODY_PD_PLAYLISTS"
+msgstr "%d seznamů skladeb"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_ABB"
+msgstr "%d skladeb"
+
+msgid "IDS_MUSIC_BODY_PLAYLIST"
+msgstr "Seznam skladeb"
+
+msgid "IDS_MUSIC_HEADER_SIMILAR_ALBUMS"
+msgstr "Podobná alba"
+
+msgid "IDS_MUSIC_HEADER_TRACK"
+msgstr "Skladba"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL_VIEW"
+msgstr "Zobrazení miniatur"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "Zvukový efekt funguje pouze v režimu sluchátka."
+
+msgid "IDS_MUSIC_OPT_ALL_CONTENT_ABB2"
+msgstr "Celý obsah"
+
+msgid "IDS_MUSIC_BODY_A_NETWORK_CONNECTION_IS_REQUIRED_TO_PLAY_THIS_FILE_CHECK_YOUR_NETWORK_CONNECTION_AND_TRY_AGAIN"
+msgstr "Přehrání souboru vyžaduje připojení k síti. Zkontrolujte připojení k síti a opakujte akci."
+
+msgid "IDS_MUSIC_POP_FILE_TYPE_NOT_SUPPORTED"
+msgstr "Typ souboru není podporován."
+
+msgid "IDS_MUSIC_POP_UPDATING_ING"
+msgstr "Aktualizace..."
+
+msgid "IDS_MUSIC_OPT_SEARCH_ABB"
+msgstr "Hledat"
+
+msgid "IDS_MUSIC_OPT_SEARCH_BY"
+msgstr "Hledat podle"
+
+msgid "IDS_MUSIC_BODY_RELATED_VIDEOS"
+msgstr "Související videa"
+
+msgid "IDS_MUSIC_BODY_SMART_VOLUME_ABB"
+msgstr "Chytrá hlasitost"
+
+msgid "IDS_MUSIC_BODY_THE_VOLUME_OF_ALL_TRACKS_WILL_BE_ADJUSTED_TO_LEVEL_PD"
+msgstr "Hlasitost všech skladeb bude nastavena na úroveň %d."
+
+msgid "IDS_MUSIC_HEADER_SMART_VOLUME_IS_ENABLED"
+msgstr "Chytrá hlasitost zapnuta"
+
+msgid "IDS_MUSIC_OPT_CONNECTION_INFO_ABB"
+msgstr "Info o připojení"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_PD_MINS"
+msgstr "Za 1 hod %d min"
+
+msgid "IDS_MUSIC_BODY_ADAPT_SOUND_ABB"
+msgstr "Adapt Sound"
+
+msgid "IDS_MUSIC_BODY_MY_DEVICE"
+msgstr "Toto zařízení"
+
+msgid "IDS_MUSIC_POP_LISTENING_AT_A_HIGH_VOLUME_FOR_A_LONG_TIME_MAY_DAMAGE_YOUR_HEARING_RAISE_THE_VOLUME_ABOVE_SAFE_LEVELS_Q"
+msgstr "Dlouhodobý poslech velmi hlasité reprodukce může poškodit sluch. Chcete zvýšit hlasitost nad bezpečnou úroveň?"
+
+msgid "IDS_MUSIC_POP_ALREADY_EXISTS"
+msgstr "Již existuje."
+
+msgid "IDS_MUSIC_OPT_SCAN_FOR_NEARBY_DEVICES"
+msgstr "Hledat nedaleká zařízení"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR"
+msgstr "Za 1 hod"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_1_MIN"
+msgstr "Za 1 hod 1 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS_1_MIN"
+msgstr "Za %d hod 1 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_MIN"
+msgstr "Za 1 min"
+
+msgid "IDS_MUSIC_OPT_GO_TO_STORE"
+msgstr "Přejít do obchodu"
+
+msgid "IDS_MUSIC_SK3_ADD_TRACKS"
+msgstr "Přidat skladby"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FROM_MUSIC_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Až stáhnete skladby z Hudby, zobrazí se zde."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_YOUR_FAVOURITES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Až přidáte skladby do oblíbených, zobrazí se zde."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_PLAY_TRACKS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Až přehrajete skladby, zobrazí se zde."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_PS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Až přidáte skladby do %s, zobrazí se zde."
+
+msgid "IDS_MUSIC_BODY_NO_PURCHASED_CONTENT"
+msgstr "Žádný zakoupený obsah"
+
+msgid "IDS_MUSIC_SK_SAVE_AS"
+msgstr "Uložit jako"
+
+msgid "IDS_MUSIC_POP_MUSICPLAYER_UPDATING_FAILED"
+msgstr "Aktualizace se nezdařila."
+
+msgid "IDS_MUSIC_BODY_EXCITING_M_ADJECTIVE"
+msgstr "Vzrušující"
+
+msgid "IDS_MUSIC_BODY_SEARCH_MY_MUSIC"
+msgstr "Hledat ve složce moje hudba"
+
+msgid "IDS_MUSIC_HEADER_CONNECTED_DEVICES"
+msgstr "Připojená zařízení"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST_PS"
+msgstr "Můj seznam skladeb %s"
+
+msgid "IDS_MUSIC_BODY_NO_DEVICES"
+msgstr "Žádná zařízení"
+
+msgid "IDS_MUSIC_HEADER_AVAILABLE_DEVICES_ABB"
+msgstr "Dostupná zařízení"
+
+msgid "IDS_MUSIC_POP_SET"
+msgstr "Nastavit"
+
+msgid "IDS_MUSIC_POP_REMOVE_FAILED"
+msgstr "Odstranění se nezdařilo."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_USE_FAST_FORWARD_AND_REWIND_WHEN_NEARBY_DEVICES_ARE_ENABLED"
+msgstr "Když jsou zapnutá nedaleká zařízení, není možné použít rychlý posun dopředu a dozadu."
+
+msgid "IDS_MUSIC_OPT_SET_AS"
+msgstr "Nastavit jako"
+
+msgid "IDS_MUSIC_OPT_HEADPHONES_ABB"
+msgstr "Sluchátka"
+
+msgid "IDS_MUSIC_OPT_SPEAKER"
+msgstr "Reproduktor"
+
+msgid "IDS_MUSIC_BODY_1_SONG"
+msgstr "1 skladba"
+
+msgid "IDS_MUSIC_BODY_PD_SONGS"
+msgstr "%d skladeb"
+
+msgid "IDS_MUSIC_BODY_1_TRACK"
+msgstr "1 skladba"
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_1_TRACK"
+msgstr "Náhodně 1 skladbu"
+
+msgid "IDS_MUSIC_POP_NO_MUSIC_FOUND_FOR_SELECTED_CELL"
+msgstr "Nebyla nalezena žádná hudba pro vybranou buňku"
+
+msgid "IDS_MUSIC_BODY_DO_NOT_SHOW_AGAIN"
+msgstr "Znovu nezobrazovat"
+
+msgid "IDS_MUSIC_BODY_VARIOUS_ARTISTS"
+msgstr "Různí interpreti"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_HOME_SCREEN_ABB"
+msgstr "Přidat na domovskou obrazovku"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_FAVOURITES"
+msgstr "Přidat k oblíbeným položkám"
+
+msgid "IDS_MUSIC_OPT_EDIT_TITLE"
+msgstr "Upravit název"
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_PERSONAL_STORAGE"
+msgstr "Odebrat z osobního úložiště"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FOLDERS_WILL_BE_SHOWN"
+msgstr "Až stáhnete skladby, složky se zobrazí"
+
+msgid "IDS_MUSIC_BODY_SETTINGS_VOLUME"
+msgstr "Hlasitost"
+
+msgid "IDS_MUSIC_BODY_REPEAT_OFF"
+msgstr "Vypnout opakování"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_REPEAT_ALL"
+msgstr "Opakovat vše"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_OFF"
+msgstr "Náhodné přehrávání vypnuto"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_ON"
+msgstr "Náhodné přehrávání zapnuto"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST"
+msgstr "Můj seznam skladeb"
+
+msgid "IDS_MUSIC_MBODY_DEFAULT_PLAYLISTS"
+msgstr "Výchozí seznamy skladeb"
+
+msgid "IDS_MUSIC_BODY_DETAILS_RECORDING_DATE"
+msgstr "Datum nahrávání"
+
+msgid "IDS_MUSIC_OPT_ALBUM_ART_ABB"
+msgstr "Obal alba"
+
+msgid "IDS_MUSIC_BODY_1_GENRE"
+msgstr "1 žánr"
+
+msgid "IDS_MUSIC_BODY_PD_FOLDERS"
+msgstr "Počet složek: %d"
+
+msgid "IDS_MUSIC_BODY_1_FOLDER"
+msgstr "1 složka"
+
+msgid "IDS_MUSIC_BODY_1_ARTIST"
+msgstr "1 interpret"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_M_MUSIC"
+msgstr "1 album"
+
+msgid "IDS_MUSIC_BODY_1_PLAYLIST"
+msgstr "1 seznam skladeb"
+
+msgid "IDS_MUSIC_BODY_MUSIC_PLAYER"
+msgstr "Hudební přehrávač"
+
+msgid "IDS_MUSIC_BUTTON_MOVE"
+msgstr "Přesunout"
+
+msgid "IDS_MUSIC_BUTTON_AUTO_RECOMMENDATIONS"
+msgstr "Automatická doporučení"
+
+msgid "IDS_MUSIC_BUTTON_FROM_THE_BEGINNING"
+msgstr "Od začátku"
+
+msgid "IDS_MUSIC_HEADER_SUGGESTIONS_FOR_YOU"
+msgstr "Návrhy pro vás"
+
+msgid "IDS_MUSIC_OPT_SAVE"
+msgstr "Uložit"
+
+msgid "IDS_MUSIC_TAB4_BASIC_M_EQUALIZING"
+msgstr "Základní"
+
+msgid "IDS_MUSIC_BODY_INSTRUMENT"
+msgstr "Nástroj"
+
+msgid "IDS_MUSIC_BODY_TREBLE_M_EQUALISER"
+msgstr "Výšky"
+
+msgid "IDS_MUSIC_BODY_BASS_M_EQUALISER"
+msgstr "Basy"
+
+msgid "IDS_MUSIC_BODY_NO_EFFECTS_ARE_APPLIED_IN_THIS_MODE_ABB"
+msgstr "V tomto režimu nejsou použity žádné efekty."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_TIMBRE_OF_A_TUBE_AMP_ABB"
+msgstr "Simuluje zabarvení tónu zesilovače."
+
+msgid "IDS_MUSIC_OPT_TUBE_AMP_EFFECT"
+msgstr "Efekt zesilovače"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_EFFECT_OF_VIRTUAL_71_CHANNEL_SURROUND_SOUND_ABB"
+msgstr "Simuluje efekt virtuálního prostorového zvuku 7.1."
+
+msgid "IDS_MUSIC_HEADER_SMALL_ROOM_M_REVERB_ABB"
+msgstr "Malá místnost"
+
+msgid "IDS_MUSIC_HEADER_LARGE_ROOM_M_REVERB_ABB"
+msgstr "Velká místnost"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_LARGE_ROOM_EG_A_THEATRE_ABB"
+msgstr "Simuluje ozvěnu velkého sálu, např. divadla."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_CONCERT_HALL_ABB"
+msgstr "Simuluje ozvěnu koncertní síně."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_SMALL_SPACE_EG_A_STUDIO_ABB"
+msgstr "Simuluje ozvěnu malého prostoru, např. studia."
+
+msgid "IDS_MUSIC_BUTTON_3D_CHN"
+msgstr "3D"
+
+msgid "IDS_MUSIC_BODY_CLARITY_M_SOUNDEFFECT"
+msgstr "Srozumitelnost"
+
+msgid "IDS_MUSIC_BUTTON_RESET"
+msgstr "Vynulovat"
+
+msgid "IDS_MUSIC_TAB_YEARS"
+msgstr "Roky"
+
+msgid "IDS_MUSIC_TAB_GENRES"
+msgstr "Žánry"
+
+msgid "IDS_MUSIC_TAB_COMPOSERS"
+msgstr "Skladat."
+
+msgid "IDS_MUSIC_TAB_ALL_TRACKS"
+msgstr "Všechny skladby"
+
+msgid "IDS_MUSIC_SK3_GO_TO_QUICK_LIST"
+msgstr "Př. na rychlý s."
+
+msgid "IDS_MUSIC_SK3_FIND"
+msgstr "Najít"
+
+msgid "IDS_MUSIC_SK3_ADD_TO_QUICK_LIST"
+msgstr "Př. do rych. s."
+
+msgid "IDS_MUSIC_POP_UNAUTHORISED_VIDEO_FILE_FOR_TV_OUT"
+msgstr "Neautorizovaný videosoubor pro televizní výstup TV-out."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_CREATE_MAXIMUM_NUMBER_OF_PLAYLISTS_REACHED"
+msgstr "Nelze vytvořit. Bylo dosaženo max. počtu seznamů skladeb."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTING_BLUETOOTH_HEADSET"
+msgstr "Během připojování ke sluchátkům Bluetooth nelze nastavit hlasitost."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTED_TO_BLUETOOTH_HEADSET"
+msgstr "Během připojování ke sluchátkům Bluetooth nelze nastavit hlasitost."
+
+msgid "IDS_MUSIC_POP_STOP_MUSIC_PLAYER_Q"
+msgstr "Zastavit Hudební přehrávač?"
+
+msgid "IDS_MUSIC_POP_PLEASE_EXIT_SILENT_MODE"
+msgstr "Ukončete režim Ticho."
+
+msgid "IDS_MUSIC_POP_NETWORK_FAILURE"
+msgstr "Chyba sítě."
+
+msgid "IDS_MUSIC_POP_MEMORY_CARD_LOADED"
+msgstr "Paměťová karta byla načtena."
+
+msgid "IDS_MUSIC_POP_DEVICE_SETTINGS_ERROR"
+msgstr "Chyba nastavení zařízení."
+
+msgid "IDS_MUSIC_POP_COULD_NOT_FIND_A_MATCH_FOR_THE_SONG"
+msgstr "Pro danou skladbu nebyla nalezena shodná položka."
+
+msgid "IDS_MUSIC_POP_BUFFERING_MSTATUS"
+msgstr "Načítání do paměti"
+
+msgid "IDS_MUSIC_POP_BT_HEADSET_ONLY_SUPPORTS_NORMAL_EFFECTS_SETTING"
+msgstr "Sluchátka BT podporují pouze nastavení normálních efektů."
+
+msgid "IDS_MUSIC_POP_APPLICATION_WILL_BE_CLOSED"
+msgstr "Aplikace bude ukončena."
+
+msgid "IDS_MUSIC_POP_ADDED_GO_TO_WISH_LIST_Q"
+msgstr "Přidáno. Chcete přejít na seznam přání?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_THE_SERVICE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "Přístup ke službě může být zpoplatněn. Chcete pokračovat?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_STORE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "Přístup do obchodu může být zpoplatněn. Chcete pokračovat?"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_ONLY_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES"
+msgstr "Zvukový efekt 5.1 kanál funguje pouze se sluchátky a se sluchátky Bluetooth."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "Zvukový efekt 5.1 kanál funguje pouze v režimu sluchátka."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECTS_NOT_SUPPORTED_BY_SPEAKER"
+msgstr "Reproduktor nepodporuje zvukové efekty režimu 5.1 kanál."
+
+msgid "IDS_MUSIC_OPT_VIEW_BY_COVER_ART"
+msgstr "Zobrazit podle obalu"
+
+msgid "IDS_MUSIC_OPT_SEND_TRACK"
+msgstr "Odeslat skladbu"
+
+msgid "IDS_MUSIC_OPT_RATE_TRACK"
+msgstr "Ohodnotit skladbu"
+
+msgid "IDS_MUSIC_OPT_PLAYLIST_MOVE_TRACK_IN_PLAYLIST"
+msgstr "Posunout skladbu v seznamu skladeb"
+
+msgid "IDS_MUSIC_OPT_OPENPLAYLIST_CURRENT"
+msgstr "Aktuální"
+
+msgid "IDS_MUSIC_OPT_DELETE_PLAYLIST"
+msgstr "Odstranit seznam skladeb"
+
+msgid "IDS_MUSIC_OPT_BACKGROUND_PLAYING"
+msgstr "Přehrávání na pozadí"
+
+msgid "IDS_MUSIC_HEADER_EFFECTS"
+msgstr "Efekty"
+
+msgid "IDS_MUSIC_BUTTON_BUY_NOW"
+msgstr "Koupit"
+
+msgid "IDS_MUSIC_BODY_WOW_HD"
+msgstr "Wow HD"
+
+msgid "IDS_MUSIC_BODY_WISHLIST"
+msgstr "Seznam požadavků"
+
+msgid "IDS_MUSIC_BODY_WIDE"
+msgstr "Široký"
+
+msgid "IDS_MUSIC_BODY_WHA_WHA"
+msgstr "Bum bum"
+
+msgid "IDS_MUSIC_BODY_VIBE_WOOFER"
+msgstr "Vibrační reproduktor"
+
+msgid "IDS_MUSIC_BODY_TREMOLO"
+msgstr "Tremolo"
+
+msgid "IDS_MUSIC_BODY_TAP_TWICE_TO_PLAY_PAUSE_MUSIC"
+msgstr "Poklepáním přehrát/pozastavit hudbu."
+
+msgid "IDS_MUSIC_BODY_SHARE_TRACK_VIA_BLUETOOTH"
+msgstr "Sdílet skladbu prostřednictvím Bluetooth"
+
+msgid "IDS_MUSIC_BODY_SETUPWIZARD_WELCOME_TO_THE_MUSIC_SETUP_WIZARD_CONTINUE_Q"
+msgstr "Vítá vás Průvodce nastavením hudby.\nNa následujících obrazovkách vám pomůže nakonfigurovat telefon. Chcete pokračovat?"
+
+msgid "IDS_MUSIC_BODY_QUICK_LIST"
+msgstr "Rychlý seznam"
+
+msgid "IDS_MUSIC_BODY_PLAYINGSETTINGS_SOUND_EFFECTS"
+msgstr "Zvukové efekty"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_ALL"
+msgstr "Vše"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_1"
+msgstr "1"
+
+msgid "IDS_MUSIC_BODY_PLAYERSETTINGS_VOLUME"
+msgstr "Hlasitost"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_SELECTED"
+msgstr "Bylo vybráno %d skladeb."
+
+msgid "IDS_MUSIC_BODY_NO_PODCASTS"
+msgstr "Žádné podcasty"
+
+msgid "IDS_MUSIC_BODY_FIND_SIMILAR"
+msgstr "Najít podobnou"
+
+msgid "IDS_MUSIC_BODY_BACKGROUND_PLAY"
+msgstr "Přehrávání na pozadí"
+
+msgid "IDS_MUSIC_BODY_51_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "Režim kanálu 5.1 lze aktivovat pouze když jsou vypnuté zvukové efekty."
+
+msgid "IDS_MUSIC_TAB4_PODCASTS"
+msgstr "Podcasty"
+
+msgid "IDS_MUSIC_SK2_EDIT_IMAGE"
+msgstr "Upravit obrázek"
+
+msgid "IDS_MUSIC_POP_PLAYING_ANY_SOUNDS_WILL_STOP_AND_SAVE_YOUR_VOICE_RECORDING_PLAY_Q"
+msgstr "Přehráváním zvuků se zastaví nahrávání zvuku a nahrávka bude uložena. Přehrát?"
+
+msgid "IDS_MUSIC_POP_MAXIMUM_NUMBER_OF_ITEMS_HPD_SELECTED"
+msgstr "Byl vybrán maximální počet položek (%d)."
+
+msgid "IDS_MUSIC_POP_BLUETOOTH_DISCONNECTED"
+msgstr "Bluetooth odpojeno."
+
+msgid "IDS_MUSIC_POP_5_1_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "Režim 5.1 kanál lze aktivovat pouze když jsou vypnuté zvukové efekty."
+
+msgid "IDS_MUSIC_OPT_TAKE_PICTURE"
+msgstr "Fotografovat"
+
+msgid "IDS_MUSIC_OPT_SHOW_MUSIC_VIEW_ABB"
+msgstr "Zobrazit zobrazení hudby"
+
+msgid "IDS_MUSIC_OPT_PAUSE"
+msgstr "Pauza"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALBUM"
+msgstr "Přehrát album"
+
+msgid "IDS_MUSIC_OPT_LIST_BY"
+msgstr "Seřadit podle"
+
+msgid "IDS_MUSIC_OPT_HISTORY"
+msgstr "Historie"
+
+msgid "IDS_MUSIC_OPT_HIDE_MUSIC_VIEW_ABB"
+msgstr "Skrýt zobrazení hudby"
+
+msgid "IDS_MUSIC_OPT_FIND_TAG"
+msgstr "Najít značku"
+
+msgid "IDS_MUSIC_OPT_DROPBOX_CONTENT_ABB"
+msgstr "Obsah v Dropboxu"
+
+msgid "IDS_MUSIC_OPT_CONTENT_ON_PHONE_ABB"
+msgstr "Obsah v telefonu"
+
+msgid "IDS_MUSIC_OPT_CHANGE_IMAGE"
+msgstr "Změnit obrázek"
+
+msgid "IDS_MUSIC_HEADER_DELETE_DROPBOX_DATA_ABB"
+msgstr "Odstr. data z Dropboxu"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_STREAM_YOUR_MUSIC_TO_DEVICES_USING_ALLSHARE"
+msgstr "Pomocí AllShare lze vysílat datový proud hudby do zařízení."
+
+msgid "IDS_MUSIC_BODY_VALIDITY"
+msgstr "Platnost"
+
+msgid "IDS_MUSIC_BODY_TYPE_CNOUN"
+msgstr "Typ"
+
+msgid "IDS_MUSIC_BODY_THIS_WILL_DELETE_THE_FILE_FROM_THE_SERVER_AND_ANY_CONNECTED_DEVICES_AS_WELL"
+msgstr "Touto akcí odstraníte soubor ze serveru a také ze všech připojených zařízení."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_ARTISTS"
+msgstr "Interpreti"
+
+msgid "IDS_MUSIC_BODY_PLAYINGDETAILS_ALBUM_ART"
+msgstr "Obal alba"
+
+msgid "IDS_MUSIC_BODY_OTHER_CONTENTS"
+msgstr "Jiný obsah"
+
+msgid "IDS_MUSIC_BODY_NAME_TOO_LONG"
+msgstr "Jméno je příliš dlouhé."
+
+msgid "IDS_MUSIC_BODY_MUSIC_CLARITY"
+msgstr "Čistý zvuk"
+
+msgid "IDS_MUSIC_BODY_HIGH_VOLUMES_MAY_HARM_YOUR_HEARING_IF_YOU_LISTEN_FOR_A_LONG_TIME"
+msgstr "Dlouhodobý poslech velmi hlasité reprodukce může poškodit sluch."
+
+msgid "IDS_MUSIC_BODY_AVAILABLE_USES"
+msgstr "Počet použití k dispozici"
+
+msgid "IDS_MUSIC_TPOP_SOUND_EFFECTS_ONLY_AVAILABLE_WHILE_HEADPHONES_CONNECTED"
+msgstr "Zvukové efekty jsou k dispozici pouze po připojení sluchátek."
+
+msgid "IDS_ST_OPT_ADD_TO_YOUR_PERSONAL_STORAGE"
+msgstr "Přidat do osobního úložiště"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_YOUR_PERSONAL_STORAGE"
+msgstr "Odebrat z osobního úložiště"
+
+msgid "IDS_ST_BODY_CONTEXTUAL_POP_UP_T_TALKBACK"
+msgstr "Kontextové okno"
+
+msgid "IDS_ST_BODY_A_CONTEXTUAL_POP_UP_IS_OPEN_DOUBLE_TAP_TO_CLOSE_IT_T_TALKBACK"
+msgstr "Otevře se kontextové okno. Zavřete ho poklepáním."
+
+msgid "IDS_ST_BODY_REPEAT_ONE"
+msgstr "Opakovat jednu"
+
+msgid "IDS_ST_BUTTON_MOVING_ING"
+msgstr "Přesouvání..."
+
+msgid "IDS_HS_BODY_SELECT_UP_TO_PD_ITEMS"
+msgstr "Vyberte max. %d položek"
+
+msgid "IDS_CAM_BODY_TAB_T_TTS"
+msgstr "Karta"
+
+msgid "IDS_DLNA_OPT2_CHANGE_PLAYER"
+msgstr "Změnit přehrávač"
+
+msgid "IDS_BR_SK_TABS"
+msgstr "Karty"
+
+msgid "IDS_MF_BODY_DROPBOX_ABB"
+msgstr "Dropbox"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Automatická doporučení mohou extrahovat nejzajímavější části ze zvukových souborů."
+
+msgid "IDS_MF_BODY_PARENT_RATING"
+msgstr "Obecné hodnocení"
+
+msgid "IDS_VR_POP_FILE_NOT_FOUND"
+msgstr "Soubor nenalezen."
+
+msgid "IDS_PB_POP_CALLER_RINGTONE_SAVED"
+msgstr "Vyzváněcí tón volajícího byl uložen."
+
+msgid "IDS_MUSIC_BODY_BIT_DEPTH"
+msgstr "Bitová hloubka"
+
+msgid "IDS_MUSIC_BODY_SIZE"
+msgstr "Velikost"
+
+msgid "IDS_MF_HEADER_PD_SELECTED"
+msgstr "Vybráno: %d"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_THIS_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Až přidáte skladby do tohoto zařízení, zobrazí se zde."
+
+msgid "IDS_MUSIC_TMBODY_LENGTH"
+msgstr "Délka"
+
+msgid "IDS_MUSIC_POP_1_FOLDER_WILL_BE_DELETED"
+msgstr "1 složka bude odstraněna."
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Žádný obsah"
+
+msgid "IDS_MUSIC_ITAB4_FOLDERS"
+msgstr "Složky"
+
+msgid "IDS_MUSIC_HEADER_MY_PLAYLISTS_ABB"
+msgstr "Moje seznamy skladeb"
+
+msgid "IDS_MP_BODY_SOUND_PLAYER"
+msgstr "Zvukový přehrávač"
+
+msgid "IDS_MUSIC_OPT_SETTINGS"
+msgstr "Nastavení"
+
+msgid "IDS_MUSIC_POP_DELETING"
+msgstr "Odstraňování..."
+
+msgid "IDS_MUSIC_POP_1_TRACK_WILL_BE_DELETED"
+msgstr "1 skladba bude odstraněna."
+
+msgid "IDS_MUSIC_POP_ALL_TRACKS_WILL_BE_DELETED"
+msgstr "Všechny skladby budou odstraněny"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_WILL_BE_DELETED"
+msgstr "%d skladeb bude odstraněno."
+
+msgid "IDS_MUSIC_POP_1_PLAYLIST_WILL_BE_DELETED"
+msgstr "Bude odstraněn 1 seznam skladeb."
+
+msgid "IDS_MUSIC_POP_PD_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Bude odstraněno %d seznamů skladeb."
+
+msgid "IDS_MUSIC_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "Bude odstraněno %d alb."
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS_WILL_BE_DELETED"
+msgstr "Bude odstraněno %d interpretů."
+
+msgid "IDS_MUSIC_POP_PD_FOLDERS_WILL_BE_DELETED"
+msgstr "Bude odstraněno %d složek."
+
+msgid "IDS_ST_POP_CONNECTION_FAILED"
+msgstr "Připojení se nezdařilo."
+
+msgid "IDS_MUSIC_BODY_CLASSIC"
+msgstr "Klasika"
+
+msgid "IDS_MUSIC_BODY_ROCK"
+msgstr "Rock"
+
+msgid "IDS_MUSIC_BODY_JAZZ"
+msgstr "Jazz"
+
+msgid "IDS_MUSIC_BODY_POP"
+msgstr "Pop"
+
+msgid "IDS_MUSIC_BODY_AUTO"
+msgstr "Automaticky"
+
+msgid "IDS_MUSIC_POP_CURRENT_SOUND_EFFECT_NOT_SUPPORTED_BY_HDMI"
+msgstr "Aktuální zvukový efekt není rozhraním HDMI podporován."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_BLUETOOTH"
+msgstr "Bluetooth nepodporuje zvukové efekty."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_LINE_OUT"
+msgstr "Výstup Line out nepodporuje zvukové efekty."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_HDMI"
+msgstr "HDMI nepodporuje zvukové efekty."
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EFFECT"
+msgstr "Zesilovač"
+
+msgid "IDS_MUSIC_BODY_CUSTOM"
+msgstr "Vlastní"
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EQUALISER_ABB"
+msgstr "Zesilovač"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "Do seznamu skladeb bylo přidáno %d skladeb."
+
+msgid "IDS_MUSIC_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "Do seznamu skladeb byla přidána 1 skladba."
+
+msgid "IDS_MUSIC_HEADER_ADD_TRACKS_TO_PLAYLIST_ABB"
+msgstr "Přidat skladby do seznamu skl."
+
+msgid "IDS_MUSIC_POP_PS_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "%s je již použit. Zadejte jiný název."
+
+msgid "IDS_MUSIC_TMBODY_DATE_OF_RECORDING"
+msgstr "Datum nahrání"
+
+msgid "IDS_MBP_TPOP_TRACK_SET_AS_ALARM_TONE"
+msgstr "Skladba byla nastavena jako tón upozornění."
+
+msgid "IDS_MUSIC_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Nebylo nic nalezeno"
+
+msgid "IDS_MUSIC_OPT_DEFAULT_RINGTONE_ABB"
+msgstr "Výchozí vyzváněcí tón"
+
+msgid "IDS_MUSIC_TPOP_TRACK_SET_AS_CALLER_RINGTONE"
+msgstr "Skladba byla nastavena jako vyzváněcí tón volajícího."
+
+msgid "IDS_MP_TPOP_TRACK_SET_AS_RINGTONE"
+msgstr "Skladba byla nastavena jako vyzváněcí tón."
+
+msgid "IDS_DLNA_BODY_ADD_TO_NOW_PLAYING_LIST"
+msgstr "Přidat do seznamu přehrávaných skladeb"
+
+msgid "IDS_MUSIC_TPOP_EQUALISER_SETTINGS_WILL_BE_APPLIED_WHILE_PLAYING_MUSIC"
+msgstr "Nastavení ekvalizéru bude použito při přehrávání hudby."
+
+msgid "IDS_ST_BODY_ALERT"
+msgstr "Upozornění"
+
+msgid "IDS_IV_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 album bude odstraněno."
+
+msgid "IDS_MUSIC_OPT_SD_CARD"
+msgstr "SD karta"
+
+msgid "IDS_MUSIC_SBODY_DEVICE_STORAGE"
+msgstr "Paměť zařízení"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE"
+msgstr "Název seznamu skladeb je již použit."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_PD"
+msgstr "Seznam skladeb %d"
+
+msgid "IDS_MUSIC_HEADER_CREATE"
+msgstr "Vytvořit"
+
+msgid "IDS_MUSIC_HEADER_EQUALISER_PRESET_ABB"
+msgstr "Předvolby ekvalizéru"
+
+msgid "IDS_MUSIC_OPT_AUTOMATIC_M_EQUALIZER_EFFECT"
+msgstr "Automaticky"
+
+msgid "IDS_MUSIC_OPT_CLASSICAL_M_EQUALIZER_EFFECT"
+msgstr "Klasický"
+
+msgid "IDS_MUSIC_HEADER_ENVIRONMENT_EFFECT_ABB"
+msgstr "Vliv prostředí"
+
+msgid "IDS_VIDEO_POP_THE_FILE_TYPE_IS_NOT_SUPPORTED"
+msgstr "Typ souboru není podporován."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_CREATE_PLAYLISTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Až vytvoříte seznamy skladeb, zobrazí se zde."
+
+msgid "IDS_ST_HEADER_SELECT_AUDIO_DEVICE_ABB"
+msgstr "Vyberte zvukové zařízení"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "Název seznamu skladeb je již použit. Zadejte jiný název."
+
+msgid "IDS_MUSIC_HEADER_SOUNDALIVE_ABB3"
+msgstr "SoundAlive"
+
+msgid "IDS_MUSIC_OPT_NOW_PLAYING_LIST"
+msgstr "Seznam přehrávaných skladeb"
+
+msgid "IDS_MUSIC_OPT_SHOW_LYRICS"
+msgstr "Zobrazit text"
+
+msgid "IDS_MUSIC_OPT_HIDE_LYRICS"
+msgstr "Skrýt text"
+
+msgid "IDS_MUSIC_TPOP_UNABLE_TO_PLAY_MUSIC_DURING_CALLS"
+msgstr "Během hovorů nelze přehrávat hudbu."
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Odstranit"
+
+msgid "IDS_MUSIC_HEADER_SELECT"
+msgstr "Vybrat"
+
+msgid "IDS_TPLATFORM_OPT_NFC"
+msgstr "NFC"
+
+msgid "IDS_MUSIC_HEADER_UNABLE_TO_PLAY_TRACK"
+msgstr "Skladbu nelze přehrát"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "HOTOVO"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ZRUŠIT"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "ODSTRANIT"
+
+msgid "IDS_MUSIC_POP_RENAME"
+msgstr "Přejmenovat"
+
+msgid "IDS_MUSIC_OPT_MESSAGE"
+msgstr "Zpráva"
+
+msgid "IDS_MUSIC_SK_OK"
+msgstr "OK"
+
+msgid "IDS_MUSIC_SK_CANCEL"
+msgstr "Zrušit"
+
+msgid "IDS_MUSIC_BUTTON_REFRESH"
+msgstr "Aktualizovat"
+
+msgid "IDS_MUSIC_BODY_SELECT_ALL"
+msgstr "Vybrat vše"
+
+msgid "IDS_MUSIC_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_MUSIC_POP_DELETED"
+msgstr "Odstraněno."
+
+msgid "IDS_MUSIC_OPT_STOP"
+msgstr "Zastavit"
+
+msgid "IDS_MUSIC_BODY_UNKNOWN"
+msgstr "Neznámý"
+
+msgid "IDS_MUSIC_BODY_TITLE"
+msgstr "Název"
+
+msgid "IDS_MUSIC_OPT_SENDVIA_EMAIL"
+msgstr "E-mail"
+
+msgid "IDS_MUSIC_OPT_BLUETOOTH"
+msgstr "Bluetooth"
+
+msgid "IDS_MUSIC_HEADER_DOWNLOAD"
+msgstr "Stahování"
+
+msgid "IDS_MUSIC_POP_LOW_BATTERY"
+msgstr "Vybitá baterie."
+
+msgid "IDS_MUSIC_HEADER_AUDIO_DEVICE"
+msgstr "Zvukové zařízení"
+
+msgid "IDS_MUSIC_HEADER_DETAILS"
+msgstr "Podrobnosti"
+
+msgid "IDS_MUSIC_OPT_END"
+msgstr "Konec"
+
+msgid "IDS_MUSIC_OPT_EDIT"
+msgstr "Upravit"
+
+msgid "IDS_CAM_HEADER_UPDATED"
+msgstr "Aktualizováno."
+
+msgid "IDS_MUSIC_POP_REMOVED"
+msgstr "Odstraněno."
+
+msgid "IDS_MUSIC_OPT_SELECTED"
+msgstr "Vybráno"
+
+msgid "IDS_ST_BUTTON_SCAN"
+msgstr "Načíst"
+
+msgid "IDS_MF_POP_ERROR"
+msgstr "Chyba."
+
+msgid "IDS_MF_POP_MEMORY_FULL"
+msgstr "Paměť je plná."
+
+
+
+msgid "IDS_MUSIC_MBODY_QUEUE"
+msgstr "Fronta"
+
+msgid "IDS_MUSIC_OPT_VOLUME"
+msgstr "Hlasitost"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE"
+msgstr "Náhodně"
+
+msgid "IDS_MUSIC_OPT_REPEAT"
+msgstr "Opakovat"
+
+msgid "IDS_COM_BODY_DETAILS"
+msgstr "Details"
+
+msgid "IDS_COM_BODY_DETAILS_TITLE"
+msgstr "Title"
+
+msgid "IDS_COM_BODY_EDIT"
+msgstr "Edit"
+
+msgid "IDS_COM_BODY_EMAIL"
+msgstr "Email"
+
+msgid "IDS_COM_BODY_END"
+msgstr "End"
+
+msgid "IDS_COM_BODY_FOLDERS"
+msgstr "Folders"
+
+msgid "IDS_COM_BODY_GALLERY"
+msgstr "Gallery"
+
+msgid "IDS_COM_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_COM_BODY_LOADING"
+msgstr "Loading..."
+
+msgid "IDS_COM_BODY_LOW_BATTERY"
+msgstr "Low battery."
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Message"
+
+msgid "IDS_COM_BODY_MUSIC"
+msgstr "Music"
+
+msgid "IDS_COM_BODY_NFC"
+msgstr "NFC"
+
+msgid "IDS_COM_BODY_NO_CONTENTS"
+msgstr "No content"
+
+msgid "IDS_COM_BODY_PAUSE"
+msgstr "Pause"
+
+msgid "IDS_COM_BODY_PD_SELECTED"
+msgstr "%d selected."
+
+msgid "IDS_COM_BODY_PREVIOUS"
+msgstr "Previous"
+
+msgid "IDS_COM_BODY_RESET_A"
+msgstr "Reset"
+
+msgid "IDS_COM_BODY_SELECTED"
+msgstr "Selected"
+
+msgid "IDS_COM_BODY_SELECT_ALL"
+msgstr "Select all"
+
+msgid "IDS_COM_BODY_SETTINGS"
+msgstr "Settings"
+
+msgid "IDS_COM_BODY_TIME"
+msgstr "Time"
+
+msgid "IDS_COM_BODY_UNABLE_TO_ADD"
+msgstr "Unable to add."
+
+msgid "IDS_COM_BODY_UNKNOWN"
+msgstr "Unknown"
+
+msgid "IDS_COM_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_COM_BUTTON_SCAN"
+msgstr "Scan"
+
+msgid "IDS_COM_BUTTON_SHARE"
+msgstr "Share"
+
+msgid "IDS_COM_HEADER_AUDIO_DEVICE_ABB"
+msgstr "Audio device"
+
+msgid "IDS_COM_OPT_ADDED"
+msgstr "Added."
+
+msgid "IDS_COM_OPT_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_POP_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_POP_CONNECTION_FAILED"
+msgstr "Connection failed."
+
+msgid "IDS_COM_POP_DELETED"
+msgstr "Deleted."
+
+msgid "IDS_COM_POP_DELETE_Q"
+msgstr "Delete?"
+
+msgid "IDS_COM_POP_DONE"
+msgstr "Done"
+
+msgid "IDS_COM_POP_DOWNLOADING"
+msgstr "Downloading..."
+
+msgid "IDS_COM_POP_ERROR"
+msgstr "Error."
+
+msgid "IDS_COM_POP_FAILED"
+msgstr "Failed."
+
+msgid "IDS_COM_POP_FILE_NOT_EXIST"
+msgstr "This file does not exist."
+
+msgid "IDS_COM_POP_FILE_NOT_FOUND"
+msgstr "File not found."
+
+msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximum number of characters reached."
+
+msgid "IDS_COM_POP_MEMORY_FULL"
+msgstr "Memory full."
+
+msgid "IDS_COM_POP_REMOVED"
+msgstr "Removed."
+
+msgid "IDS_COM_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Unable to use during Mass storage mode."
+
+msgid "IDS_COM_POP_UPDATED"
+msgstr "Updated."
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_SK_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_SK_DOWNLOAD"
+msgstr "Download"
+
+msgid "IDS_COM_SK_NEW"
+msgstr "New"
+
+msgid "IDS_COM_SK_NEXT"
+msgstr "Next"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_SK_REFRESH"
+msgstr "Refresh"
+
+msgid "IDS_COM_SK_REMOVE"
+msgstr "Remove"
+
+msgid "IDS_COM_SK_SAVE"
+msgstr "Save"
+
+msgid "IDS_COM_SK_SELECT"
+msgstr "Select"
+
+msgid "IDS_COM_SK_SET"
+msgstr "Set"
+
+msgid "IDS_COM_SK_STOP"
+msgstr "Stop"
+
+
+msgid "IDS_MH_BODY_THE_PLAYLIST_NAME_PS_IS_ALREADY_IN_USE"
+msgstr "The playlist name %s is already in use."
+
+msgid "IDS_MH_BODY_TOTAL"
+msgstr "Total"
+
+msgid "IDS_MH_MBODY_RECENTLY_ADDED_M_SONG"
+msgstr "Recently added"
+
+msgid "IDS_MH_OPT_MORE_INFO_ABB"
+msgstr "More info"
+
+msgid "IDS_MH_POP_ALARM_TONE_SET"
+msgstr "Alarm tone set."
+
+msgid "IDS_MH_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 track added to playlist."
+
+msgid "IDS_MH_TPOP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d tracks added to playlist."
+
+msgid "IDS_MUSIC_OPT_RENAME"
+msgstr "Rename"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Unable to play during call."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Byla překročena maximální velikost souborů."
+
+msgid "IDS_CAM_TPOP_UNABLE_TO_PLAY_MUSIC_WHILE_RECORDING_AUDIO_OR_VIDEO"
+msgstr "Během nahrávání zvuku nebo obrazu není možné přehrávat hudbu."
+
--- /dev/null
+msgid "IDS_ST_BODY_LOADING_ING"
+msgstr "Indlæser data ..."
+
+msgid "IDS_GALLERY_OPT_PRIVATE_M_CONTENT"
+msgstr "Privat"
+
+msgid "IDS_MF_BODY_TIME"
+msgstr "Tid"
+
+msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
+msgstr "Fil findes ikke."
+
+msgid "IDS_MUSIC_POP_PHONE_RINGTONE"
+msgstr "Telefonringetone"
+
+msgid "IDS_MUSIC_BODY_DURATION"
+msgstr "Varighed"
+
+msgid "IDS_MUSIC_BODY_MUSIC_LOCATION"
+msgstr "Placering"
+
+msgid "IDS_MUSIC_BODY_SET_AS_M_RINGTONE"
+msgstr "Vælg som"
+
+msgid "IDS_ST_OPT_ADD_TO_PERSONAL_PAGE"
+msgstr "Føj til personlig side"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_PERSONAL_PAGE_ABB"
+msgstr "Fjern fra personlig side"
+
+msgid "IDS_ST_POP_MOVE_TO_NORMAL_STORAGE"
+msgstr "Flyt til normalt lager"
+
+msgid "IDS_ST_POP_MOVE_TO_PERSONAL_STORAGE"
+msgstr "Flyt til personligt lager"
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEMS_WILL_BE_MOVED_TO_PS"
+msgstr "De valgte elementer vil blive flyttet til %s."
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEM_WILL_BE_MOVED_TO_PS"
+msgstr "Det valgte element vil blive flyttet til %s."
+
+msgid "IDS_VR_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Kan ikke bruge i lagringsmedietilstand."
+
+msgid "IDS_MUSIC_POP_RINGTONE_ADDED"
+msgstr "Ringetone tilføjet."
+
+msgid "IDS_CAM_BODY_BUTTON_T_TTS"
+msgstr "Tast"
+
+msgid "IDS_MUSIC_HEADER_SELECT_ITEMS"
+msgstr "Vælg elementer"
+
+msgid "IDS_ST_BODY_ADVANCED"
+msgstr "Avanceret"
+
+msgid "IDS_ST_SK_PREVIOUS"
+msgstr "Forrige"
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Luk"
+
+msgid "IDS_MUSIC_POP_ADDED"
+msgstr "Tilføjet."
+
+msgid "IDS_MUSIC_POP_FAILED"
+msgstr "Mislykkedes."
+
+msgid "IDS_MUSIC_BODY_NO_SEARCH_RESULTS"
+msgstr "Ingen søgeresultater"
+
+msgid "IDS_MUSIC_SK_DONE"
+msgstr "Udført"
+
+msgid "IDS_MUSIC_BODY_NO_ITEMS"
+msgstr "Ingen elementer"
+
+msgid "IDS_BR_OPT_ADD_TO_HOME"
+msgstr "Føj til start"
+
+msgid "IDS_BR_SK_NEXT"
+msgstr "Næste"
+
+msgid "IDS_BR_BODY_DOWNLOADING_ING"
+msgstr "Downloader ..."
+
+msgid "IDS_IV_BODY_FAVOURITE"
+msgstr "Foretrukne"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_PERSONAL_STORAGE"
+msgstr "Føj til personligt lager"
+
+msgid "IDS_DLNA_POP_DISCONNECTED_FROM_PS_CHECK_THE_NETWORK_STATUS_AND_THE_CONNECTED_DEVICE"
+msgstr "Forbindelse til %s afbrudt. Kontrollér netværksstatus og den tilsluttede enhed."
+
+msgid "IDS_DLNA_OPT_VIA_SCREEN_MIRRORING_ABB"
+msgstr "Via Screen Mirroring"
+
+msgid "IDS_DLNA_OPT_VIA_HOME_NETWORK_ABB"
+msgstr "Via hjemmenetværk"
+
+msgid "IDS_IV_POP_ENTRY_IS_EMPTY"
+msgstr "Posten er tom."
+
+msgid "IDS_FM_POP_UNAVAILABLE_DURING_CALL"
+msgstr "Ikke tilgængelig under samtale."
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Det maksimale antal tegn er nået."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_SHARE_DRM_FILE"
+msgstr "DRM-fil kan ikke deles."
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Fjerner..."
+
+msgid "IDS_MUSIC_HEADER_PD_DEVICES"
+msgstr "%d enheder"
+
+msgid "IDS_MUSIC_BUTTON_ENABLE_MOTION"
+msgstr "Akt. bevæg."
+
+msgid "IDS_MUSIC_BUTTON_DONT_ASK_AGAIN"
+msgstr "Spørg ikke igen"
+
+msgid "IDS_MUSIC_BODY_NO_RESULTS_FOUND"
+msgstr "Ingen resultater fundet."
+
+msgid "IDS_VPL_OPT_HDMI"
+msgstr "HDMI"
+
+msgid "IDS_MUSIC_BODY_TURN_PHONE_OVER_TO_MUTE_INCOMING_CALLS_MESSAGE_ALERTS_AND_ALARMS"
+msgstr "Sæt telefonens indgående opkald, beskedvarsler og alarmer på lydløs."
+
+msgid "IDS_ST_BODY_NONE"
+msgstr "Ingen"
+
+msgid "IDS_ST_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_ST_BODY_GALLERY"
+msgstr "Galleri"
+
+msgid "IDS_ST_BODY_DOUBLE_TAP_TO_MOVE_TO_CONTENT_T_TTS"
+msgstr "Dobbelttap for at flytte indholdet."
+
+msgid "IDS_MUSIC_BODY_SURROUND"
+msgstr "Surround"
+
+msgid "IDS_MUSIC_OPT_LYRICS_ABB"
+msgstr "Sangtekster"
+
+msgid "IDS_MUSIC_POP_AFTER_YOU_ADD_TRACKS_TO_MUSIC_ON_YOUR_MOBILE_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Når du har føjet numre til Musik på din mobile enhed, vil de blive vist her."
+
+msgid "IDS_MUSIC_BODY_SAMPLING_RATE"
+msgstr "Samplinghastighed"
+
+msgid "IDS_MUSIC_BODY_MARKED_AS_A_FAVOURITE"
+msgstr "Markeret som en favorit."
+
+msgid "IDS_MUSIC_BODY_MUSIC"
+msgstr "Musik"
+
+msgid "IDS_MUSIC_BODY_NOT_MARKED_AS_A_FAVOURITE"
+msgstr "Ikke markeret som en favorit."
+
+msgid "IDS_MUSIC_HEADER_SEARCH_MUSIC_ABB"
+msgstr "Søg efter musik"
+
+msgid "IDS_MUSIC_POP_AUTO_RECOMMENDATION_DOES_NOT_SUPPORT_THIS_AUDIO_FILE"
+msgstr "Automatisk anbefaling understøtter ikke denne lydfil."
+
+msgid "IDS_MUSIC_POP_SORRY_THE_PLAYER_DOES_NOT_SUPPORT_THIS_TYPE_OF_AUDIO_FILE"
+msgstr "Beklager, afspilleren understøtter ikke denne type lydfil."
+
+msgid "IDS_MUSIC_BODY_FAVOURITES"
+msgstr "Favoritter"
+
+msgid "IDS_MUSIC_BODY_MOST_PLAYED"
+msgstr "Mest afspillede"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_ADDED"
+msgstr "Tilføjet for nylig"
+
+msgid "IDS_MUSIC_OPT_CREATE_PLAYLIST"
+msgstr "Opret afspilningsliste"
+
+msgid "IDS_MUSIC_OPT_REMOVE"
+msgstr "Fjern"
+
+msgid "IDS_MUSIC_OPT_SETAS_CALLER_RINGTONE"
+msgstr "Kontaktringetone"
+
+msgid "IDS_MUSIC_TAB4_ARTISTS"
+msgstr "Kunstnere"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD"
+msgstr "Der kan ikke tilføjes."
+
+msgid "IDS_MUSIC_POP_UNABLE_CREATE_PLAYLIST"
+msgstr "Afspilningslisten kan ikke oprettes."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_GET_TAG"
+msgstr "Kan ikke hente tag."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_MORE_THAN_PD_MUSIC_FILE"
+msgstr "Kan ikke tilføje flere end %d musikfil."
+
+msgid "IDS_MUSIC_BODY_ALBUM"
+msgstr "Album"
+
+msgid "IDS_MUSIC_BODY_AUTHOR"
+msgstr "Forfatter"
+
+msgid "IDS_MUSIC_BODY_COPYRIGHT"
+msgstr "Ophavsret"
+
+msgid "IDS_MUSIC_BODY_CREATE_PLAYLIST"
+msgstr "Opret afspilningsliste"
+
+msgid "IDS_MUSIC_BODY_DESCRIPTION"
+msgstr "Beskrivelse"
+
+msgid "IDS_MUSIC_BODY_FORMAT"
+msgstr "Format"
+
+msgid "IDS_MUSIC_BODY_IMPOSSIBLE"
+msgstr "Ikke mulig"
+
+msgid "IDS_MUSIC_BODY_NO_PLAYLISTS"
+msgstr "Ingen afspilningslister"
+
+msgid "IDS_MUSIC_BODY_TRACK_NUMBER"
+msgstr "Spor-nummer"
+
+msgid "IDS_MUSIC_POP_DELETE_Q"
+msgstr "Slet?"
+
+msgid "IDS_MUSIC_POP_REMOVE_Q"
+msgstr "Fjern?"
+
+msgid "IDS_MUSIC_POP_UNABLE_RENAME_PLAYLIST"
+msgstr "Afspilningslisten kan ikke omdøbes."
+
+msgid "IDS_MUSIC_TAB4_ALBUMS"
+msgstr "Albummer"
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Tilføjer..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Slet %d albummer?"
+
+msgid "IDS_MUSIC_TAB4_PLAYLISTS"
+msgstr "Afspiln. lister"
+
+msgid "IDS_MUSIC_OPT_ADD"
+msgstr "Tilføj"
+
+msgid "IDS_MUSIC_BODY_BIOGRAPHY"
+msgstr "Biografi"
+
+msgid "IDS_MUSIC_BODY_CREDITS"
+msgstr "Anerkendelse"
+
+msgid "IDS_MUSIC_BODY_DETAILS_MEADIA_INFO"
+msgstr "Medieoplysninger"
+
+msgid "IDS_MUSIC_BODY_DISCOGRAPHY"
+msgstr "Diskografi"
+
+msgid "IDS_MUSIC_BODY_LYRIC"
+msgstr "Lyrik"
+
+msgid "IDS_MUSIC_BODY_POSSIBLE"
+msgstr "Muligt"
+
+msgid "IDS_MUSIC_BODY_REVIEW"
+msgstr "Visning"
+
+msgid "IDS_MUSIC_HEADER_TRACK_LIST"
+msgstr "Afspilningsliste"
+
+msgid "IDS_MUSIC_BODY_ADD_TO_PLAYLIST"
+msgstr "Føj til afspilningsliste"
+
+msgid "IDS_MUSIC_BODY_ARTIST"
+msgstr "Kunstner"
+
+msgid "IDS_MUSIC_BODY_FORWARDING"
+msgstr "Viderestilling"
+
+msgid "IDS_MUSIC_BODY_RECORDED_DATE"
+msgstr "Date of recording"
+
+msgid "IDS_MUSIC_BODY_PLAYLISTS"
+msgstr "Afspilningslister"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_PLAYED"
+msgstr "Afspillet for nylig"
+
+msgid "IDS_MUSIC_BODY_TRACK_LENGTH"
+msgstr "Sporets længde"
+
+msgid "IDS_MUSIC_HEADER_NO_SONGS"
+msgstr "Ingen sange"
+
+msgid "IDS_MUSIC_POP_THIS_TRACK_WILL_BE_DELETED"
+msgstr "Dette nummer vil blive slettet."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_TRACKS_WILL_BE_DELETED"
+msgstr "De valgte numre vil blive slettet."
+
+msgid "IDS_MUSIC_POP_THIS_ARTIST_WILL_BE_DELETED"
+msgstr "Denne kunstner vil blive slettet."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ARTISTS_WILL_BE_DELETED"
+msgstr "De valgte kunstnere vil blive slettet."
+
+msgid "IDS_MUSIC_POP_ALL_ARTISTS_WILL_BE_DELETED"
+msgstr "Alle kunstnere bliver slettet."
+
+msgid "IDS_MUSIC_POP_THIS_FOLDER_WILL_BE_DELETED"
+msgstr "Denne mappe vil blive slettet."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_FOLDERS_WILL_BE_DELETED"
+msgstr "De valgte mapper vil blive slettet."
+
+msgid "IDS_MUSIC_POP_ALL_FOLDERS_WILL_BE_DELETED"
+msgstr "Alle mapper bliver slettet."
+
+msgid "IDS_MUSIC_POP_THIS_ALBUM_WILL_BE_DELETED"
+msgstr "Dette album vil blive slettet."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ALBUMS_WILL_BE_DELETED"
+msgstr "De valgte albummer vil blive slettet."
+
+msgid "IDS_MUSIC_POP_ALL_ALBUMS_WILL_BE_DELETED"
+msgstr "Alle albummer vil blive slettet."
+
+msgid "IDS_MUSIC_POP_THIS_PLAYLIST_WILL_BE_DELETED"
+msgstr "Denne afspilningsliste bliver slettet."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_PLAYLISTS_WILL_BE_DELETED"
+msgstr "De valgte afspilningslister vil blive slettet."
+
+msgid "IDS_MUSIC_POP_ALL_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Alle spillelister bliver slettet."
+
+msgid "IDS_MUSIC_HEADER_SONGS"
+msgstr "Sange"
+
+msgid "IDS_MUSIC_OPT_REORDER"
+msgstr "Skift rækkefølge"
+
+msgid "IDS_MUSIC_OPT_SAVE_AS_PLAYLIST"
+msgstr "Gem som afspilningsliste"
+
+msgid "IDS_MUSIC_OPT_SETAS_ALARM_TONE"
+msgstr "Alarmtone"
+
+msgid "IDS_MUSIC_POP_NOTHING_SELECTED"
+msgstr "Intet er valgt."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Kan ikke afspille. Der opstod en fejl."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_UNSUPPORTED_FILETYPE"
+msgstr "Kan ikke afspille. Filtypen understøttes ikke."
+
+msgid "IDS_MUSIC_SK_SHARE"
+msgstr "Del"
+
+msgid "IDS_MUSIC_TAB4_CONDUCTORS"
+msgstr "Dirigent"
+
+msgid "IDS_MUSIC_HEADER_SELECT_DEVICE"
+msgstr "Vælg enhed"
+
+msgid "IDS_MUSIC_SK_VIEW_AS"
+msgstr "Vis som"
+
+msgid "IDS_MUSIC_BODY_SOUNDEFFECTS_NORMAL"
+msgstr "Normal"
+
+msgid "IDS_MUSIC_BODY_USER"
+msgstr "Bruger"
+
+msgid "IDS_MUSIC_BODY_VOCAL_M_SOUNDEFFECT"
+msgstr "Vokal"
+
+msgid "IDS_MUSIC_MBODY_BASS_BOOST"
+msgstr "Basforstærkning"
+
+msgid "IDS_MUSIC_MBODY_TREBLE_BOOST"
+msgstr "Diskantforstærkning"
+
+msgid "IDS_MUSIC_BODY_CAFE_M_SOUNDEFFECT"
+msgstr "Cafe"
+
+msgid "IDS_MUSIC_OPT_VIRTUAL_71_CH"
+msgstr "Virtuel 7.1-kan."
+
+msgid "IDS_MUSIC_OPT_AFTER_15_MIN_ABB"
+msgstr "Efter 15 min."
+
+msgid "IDS_MUSIC_BODY_AFTER_30_MIN"
+msgstr "Efter 30 min."
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HOUR"
+msgstr "Efter 1 time"
+
+msgid "IDS_MUSIC_POP_AFTER_1_HOUR_30_MIN"
+msgstr "Efter 1 time og 30 min."
+
+msgid "IDS_MUSIC_BODY_AFTER_2_HOURS"
+msgstr "Efter 2 timer"
+
+msgid "IDS_MUSIC_BODY_MUSIC_AUTO_OFF"
+msgstr "Automatisk musik fra"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES_ONLY"
+msgstr "Denne lydeffekt fungerer kun i tilstandene headset og Bluetooth-headset."
+
+msgid "IDS_MUSIC_TAB4_MUSIC_SQUARE"
+msgstr "Musikterning"
+
+msgid "IDS_MUSIC_POP_NOT_ENOUGH_MUSIC_FILES_TO_PLAY_IN_MUSIC_SQUARE_AT_LEAST_PD_MUSIC_FILES_REQUIRED"
+msgstr "Ikke tilstrækkelige musikfiler til at afspille på Musikterning. Der kræves mindst %d musikfiler."
+
+msgid "IDS_MUSIC_BODY_PASSION_M_MOOD"
+msgstr "Passion"
+
+msgid "IDS_MUSIC_BODY_CALM_M_ADJECTIVE"
+msgstr "Rolig"
+
+msgid "IDS_MUSIC_BODY_JOY_M_MOOD"
+msgstr "Glæde"
+
+msgid "IDS_MUSIC_BODY_LIBRARY_UPDATE"
+msgstr "Biblioteksopdatering"
+
+msgid "IDS_MUSIC_POP_UPDATE_LIBRARY_Q"
+msgstr "Opdatér bibliotek?"
+
+msgid "IDS_MUSIC_BODY_CHANGE_AXIS"
+msgstr "Skift akse"
+
+msgid "IDS_MUSIC_ITAB4_GENRES"
+msgstr "Genrer"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_1_TRACK"
+msgstr "1 album/1 nummer"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_PD_TRACKS"
+msgstr "1 album/%d numre"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS_PD_TRACKS"
+msgstr "%d albummer/%d numre"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_CONTROL_MUSIC_PLAYER_WITH_THE_VOICE_COMMANDS_P1SS_P2SS_P3SS_P4SS_P5SS_AND_P6SS"
+msgstr "Du kan styre Musikafspiller med stemmekommandoerne, %1$s, %2$s, %3$s, %4$s, %5$s, og %6$s."
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_PD_TRACKS"
+msgstr "Bland %d numre"
+
+msgid "IDS_MUSIC_BODY_MORE_INFO"
+msgstr "Flere oplysninger"
+
+msgid "IDS_MUSIC_HEADER_MY_MUSIC_M_APPLICATION_NAME"
+msgstr "Min musik"
+
+msgid "IDS_MUSIC_OPT_LIST_VIEW"
+msgstr "Listevisning"
+
+msgid "IDS_MUSIC_OPT_PLAY_VIA_GROUP_PLAY"
+msgstr "Afspil via Group Play"
+
+msgid "IDS_MUSIC_POP_TRACK_ADDED_TO_FAVOURITES"
+msgstr "Nummer føjet til favoritter."
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_FAVOURITES"
+msgstr "Fjern fra favoritter"
+
+msgid "IDS_MUSIC_BODY_NEW_M_LATEST"
+msgstr "Ny"
+
+msgid "IDS_MUSIC_OPT_TRACKS"
+msgstr "Numre"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL"
+msgstr "Miniature"
+
+msgid "IDS_MUSIC_SK_LIST"
+msgstr "Liste"
+
+msgid "IDS_MUSIC_SK_OPEN_PLAYLIST"
+msgstr "Åbn afspilningsliste"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALL"
+msgstr "Afspil alt"
+
+msgid "IDS_MUSIC_POP_SELECTED_LIST_EMPTY"
+msgstr "Den valgte liste er tom."
+
+msgid "IDS_MUSIC_BODY_MOODS"
+msgstr "Tilstande"
+
+msgid "IDS_MUSIC_BUTTON_YEARS"
+msgstr "År"
+
+msgid "IDS_MUSIC_BODY_OLD"
+msgstr "Gammel"
+
+msgid "IDS_MUSIC_BODY_MUSIC_SQUARE_ANALYSES_THE_CHARACTERISTICS_OF_MUSIC_FILES_STORED_ON_YOUR_DEVICE_AND_AUTOMATICALLY_CREATES_PLAYLISTS_MSG"
+msgstr "Musikterning analyserer egenskaber ved musikfiler på din enhed og opretter automatisk afspilningslister."
+
+msgid "IDS_MUSIC_BODY_PLAY_TRACKS_WITH_SIMILAR_CHARACTERISTICS_BY_SELECTING_A_SQUARE_ON_THE_SCREEN"
+msgstr "Afspil afspilningslister med musik med lignende egenskaber ved at vælge et kvadrat på skærmen."
+
+msgid "IDS_MUSIC_BODY_VIEW_PLAYLIST_DETAILS_BY_TAPPING_AND_HOLDING_THE_SQUARE_CURRENTLY_BEING_PLAYED"
+msgstr "Vis detaljer for afspilningsliste ved at trykke på og holde kvadratet under afspilning."
+
+msgid "IDS_MUSIC_BODY_NEARBY_DEVICES"
+msgstr "Enheder i nærheden"
+
+msgid "IDS_MUSIC_POP_YOU_WILL_NEED_TO_UPDATE_THE_LIBRARY_IF_NEW_SONGS_HAVE_BEEN_ADDED"
+msgstr "Du skal opdatere biblioteket, hvis nye sange er blevet tilføjet."
+
+msgid "IDS_MUSIC_BODY_NO_ALBUMS"
+msgstr "Ingen albummer"
+
+msgid "IDS_MUSIC_BODY_NO_ARTISTS"
+msgstr "Ingen kunstner"
+
+msgid "IDS_MUSIC_OPT_PLAY_SPEED_ABB"
+msgstr "Afspiln.hastighed"
+
+msgid "IDS_MUSIC_BODY_CONCERT_HALL_M_SOUNDEFFECT"
+msgstr "Koncertsal"
+
+msgid "IDS_MUSIC_OPT_ADD_TO"
+msgstr "Føj til"
+
+msgid "IDS_MUSIC_SK_VIEW"
+msgstr "Vis"
+
+msgid "IDS_MUSIC_OPT_LISTBY_RECENTLY_ADDED"
+msgstr "Tilføjet for nylig"
+
+msgid "IDS_MUSIC_BODY_NOT_USED"
+msgstr "Ikke brugt"
+
+msgid "IDS_MUSIC_BODY_MAKE_AVAILABLE_OFFLINE"
+msgstr "Gør tilgængelig offline"
+
+msgid "IDS_MUSIC_OPT_AFTER_P1SD_HRS_P2SD_MINS"
+msgstr "Efter %1$d timer %2$d minutter"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS"
+msgstr "Efter %d timer"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_MINS"
+msgstr "Efter %d min"
+
+msgid "IDS_MUSIC_BODY_NO_FOLDERS"
+msgstr "Ingen mapper"
+
+msgid "IDS_MUSIC_BODY_NO_TRACKS"
+msgstr "Ingen numre"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS"
+msgstr "%d albummer"
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS"
+msgstr "%d kunstnere"
+
+msgid "IDS_MUSIC_BODY_PD_GENRES"
+msgstr "%d genrer"
+
+msgid "IDS_MUSIC_BODY_PD_PLAYLISTS"
+msgstr "%d afspilningslister"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_ABB"
+msgstr "%d numre"
+
+msgid "IDS_MUSIC_BODY_PLAYLIST"
+msgstr "Afspilningsliste"
+
+msgid "IDS_MUSIC_HEADER_SIMILAR_ALBUMS"
+msgstr "Lignende albummer"
+
+msgid "IDS_MUSIC_HEADER_TRACK"
+msgstr "Nummer"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL_VIEW"
+msgstr "Miniaturevisning"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "Denne lydeffekt fungerer kun i tilstanden Høretelefon."
+
+msgid "IDS_MUSIC_OPT_ALL_CONTENT_ABB2"
+msgstr "Alt indhold"
+
+msgid "IDS_MUSIC_BODY_A_NETWORK_CONNECTION_IS_REQUIRED_TO_PLAY_THIS_FILE_CHECK_YOUR_NETWORK_CONNECTION_AND_TRY_AGAIN"
+msgstr "Der kræves en netværksforbindelse for at afspille denne fil. Kontrollér din netværksforbindelse, og prøv igen."
+
+msgid "IDS_MUSIC_POP_FILE_TYPE_NOT_SUPPORTED"
+msgstr "Filtypen understøttes ikke."
+
+msgid "IDS_MUSIC_POP_UPDATING_ING"
+msgstr "Opdaterer ..."
+
+msgid "IDS_MUSIC_OPT_SEARCH_ABB"
+msgstr "Søg"
+
+msgid "IDS_MUSIC_OPT_SEARCH_BY"
+msgstr "Søg efter"
+
+msgid "IDS_MUSIC_BODY_RELATED_VIDEOS"
+msgstr "Relaterede videoer"
+
+msgid "IDS_MUSIC_BODY_SMART_VOLUME_ABB"
+msgstr "Smart-lydstyrke"
+
+msgid "IDS_MUSIC_BODY_THE_VOLUME_OF_ALL_TRACKS_WILL_BE_ADJUSTED_TO_LEVEL_PD"
+msgstr "Lydstyrken for alle numre justeres til niveau %d."
+
+msgid "IDS_MUSIC_HEADER_SMART_VOLUME_IS_ENABLED"
+msgstr "Smart-lydstyrke er aktiveret"
+
+msgid "IDS_MUSIC_OPT_CONNECTION_INFO_ABB"
+msgstr "Forbindelsesopl."
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_PD_MINS"
+msgstr "Efter 1 t. %d min"
+
+msgid "IDS_MUSIC_BODY_ADAPT_SOUND_ABB"
+msgstr "Adapt Sound"
+
+msgid "IDS_MUSIC_BODY_MY_DEVICE"
+msgstr "Min enhed"
+
+msgid "IDS_MUSIC_POP_LISTENING_AT_A_HIGH_VOLUME_FOR_A_LONG_TIME_MAY_DAMAGE_YOUR_HEARING_RAISE_THE_VOLUME_ABOVE_SAFE_LEVELS_Q"
+msgstr "Hvis du lytter ved høj lydstyrke i længere tid, kan du beskadige din hørelse. Vil du øge lydstyrken over sikre niveauer?"
+
+msgid "IDS_MUSIC_POP_ALREADY_EXISTS"
+msgstr "Findes allerede."
+
+msgid "IDS_MUSIC_OPT_SCAN_FOR_NEARBY_DEVICES"
+msgstr "Scan efter enheder i nærheden"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR"
+msgstr "Efter 1 time"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_1_MIN"
+msgstr "Efter 1 t. 1 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS_1_MIN"
+msgstr "Efter %d t. 1 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_MIN"
+msgstr "Efter 1 min"
+
+msgid "IDS_MUSIC_OPT_GO_TO_STORE"
+msgstr "Gå til butik"
+
+msgid "IDS_MUSIC_SK3_ADD_TRACKS"
+msgstr "Tilføj\nnumre"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FROM_MUSIC_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Når du har overført numre fra Musik, vises de her."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_YOUR_FAVOURITES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Når du har føjet numre til dine favoritter, vises de her."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_PLAY_TRACKS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Når du har afspillet numre, vises de her."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_PS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Når du har tilføjet numre til %s, vises de her."
+
+msgid "IDS_MUSIC_BODY_NO_PURCHASED_CONTENT"
+msgstr "Intet købt indhold"
+
+msgid "IDS_MUSIC_SK_SAVE_AS"
+msgstr "Gem som"
+
+msgid "IDS_MUSIC_POP_MUSICPLAYER_UPDATING_FAILED"
+msgstr "Kunne ikke opdatere."
+
+msgid "IDS_MUSIC_BODY_EXCITING_M_ADJECTIVE"
+msgstr "Spændende"
+
+msgid "IDS_MUSIC_BODY_SEARCH_MY_MUSIC"
+msgstr "Søg i min musik"
+
+msgid "IDS_MUSIC_HEADER_CONNECTED_DEVICES"
+msgstr "Tilsluttede enheder"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST_PS"
+msgstr "Min afspilningsliste %s"
+
+msgid "IDS_MUSIC_BODY_NO_DEVICES"
+msgstr "Ingen enheder"
+
+msgid "IDS_MUSIC_HEADER_AVAILABLE_DEVICES_ABB"
+msgstr "Tilgængelige enheder"
+
+msgid "IDS_MUSIC_POP_SET"
+msgstr "Indstil"
+
+msgid "IDS_MUSIC_POP_REMOVE_FAILED"
+msgstr "Kunne ikke fjerne."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_USE_FAST_FORWARD_AND_REWIND_WHEN_NEARBY_DEVICES_ARE_ENABLED"
+msgstr "Kan ikke bruge hurtig spoling frem og tilbage, når enheder i nærheden er aktiveret."
+
+msgid "IDS_MUSIC_OPT_SET_AS"
+msgstr "Vælg som"
+
+msgid "IDS_MUSIC_OPT_HEADPHONES_ABB"
+msgstr "Høretelefoner"
+
+msgid "IDS_MUSIC_OPT_SPEAKER"
+msgstr "Højttaler"
+
+msgid "IDS_MUSIC_BODY_1_SONG"
+msgstr "1 sang"
+
+msgid "IDS_MUSIC_BODY_PD_SONGS"
+msgstr "%d sange"
+
+msgid "IDS_MUSIC_BODY_1_TRACK"
+msgstr "1 nummer"
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_1_TRACK"
+msgstr "Bland 1 nummer"
+
+msgid "IDS_MUSIC_POP_NO_MUSIC_FOUND_FOR_SELECTED_CELL"
+msgstr "Ingen musik fundet i valgt celle"
+
+msgid "IDS_MUSIC_BODY_DO_NOT_SHOW_AGAIN"
+msgstr "Vis ikke igen"
+
+msgid "IDS_MUSIC_BODY_VARIOUS_ARTISTS"
+msgstr "Forskellige kunstnere"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_HOME_SCREEN_ABB"
+msgstr "Føj til startskærm"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_FAVOURITES"
+msgstr "Føj til Favoritter"
+
+msgid "IDS_MUSIC_OPT_EDIT_TITLE"
+msgstr "Redigér titel"
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_PERSONAL_STORAGE"
+msgstr "Fjern fra personligt lager"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FOLDERS_WILL_BE_SHOWN"
+msgstr "Når du har downloadet numrene, vises mapperne."
+
+msgid "IDS_MUSIC_BODY_SETTINGS_VOLUME"
+msgstr "Lydstyrke"
+
+msgid "IDS_MUSIC_BODY_REPEAT_OFF"
+msgstr "Gentagelse slået fra"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_REPEAT_ALL"
+msgstr "Gentag alle"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_OFF"
+msgstr "Blanding fra"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_ON"
+msgstr "Blanding til"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST"
+msgstr "Min afspilningsliste"
+
+msgid "IDS_MUSIC_MBODY_DEFAULT_PLAYLISTS"
+msgstr "Standardafspilningslister"
+
+msgid "IDS_MUSIC_BODY_DETAILS_RECORDING_DATE"
+msgstr "Optagelsesdato"
+
+msgid "IDS_MUSIC_OPT_ALBUM_ART_ABB"
+msgstr "Albumcover"
+
+msgid "IDS_MUSIC_BODY_1_GENRE"
+msgstr "1 genre"
+
+msgid "IDS_MUSIC_BODY_PD_FOLDERS"
+msgstr "%d kataloger"
+
+msgid "IDS_MUSIC_BODY_1_FOLDER"
+msgstr "1 mappe"
+
+msgid "IDS_MUSIC_BODY_1_ARTIST"
+msgstr "1 kunstner"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_M_MUSIC"
+msgstr "1 album"
+
+msgid "IDS_MUSIC_BODY_1_PLAYLIST"
+msgstr "1 afspilningsliste"
+
+msgid "IDS_MUSIC_BODY_MUSIC_PLAYER"
+msgstr "Musikafspiller"
+
+msgid "IDS_MUSIC_BUTTON_MOVE"
+msgstr "Flyt"
+
+msgid "IDS_MUSIC_BUTTON_AUTO_RECOMMENDATIONS"
+msgstr "Automatiske anbefalinger"
+
+msgid "IDS_MUSIC_BUTTON_FROM_THE_BEGINNING"
+msgstr "Fra begyndelsen"
+
+msgid "IDS_MUSIC_HEADER_SUGGESTIONS_FOR_YOU"
+msgstr "Forslag til dig"
+
+msgid "IDS_MUSIC_OPT_SAVE"
+msgstr "Gem"
+
+msgid "IDS_MUSIC_TAB4_BASIC_M_EQUALIZING"
+msgstr "Grund læggende"
+
+msgid "IDS_MUSIC_BODY_INSTRUMENT"
+msgstr "Instrument"
+
+msgid "IDS_MUSIC_BODY_TREBLE_M_EQUALISER"
+msgstr "Diskant"
+
+msgid "IDS_MUSIC_BODY_BASS_M_EQUALISER"
+msgstr "Bas"
+
+msgid "IDS_MUSIC_BODY_NO_EFFECTS_ARE_APPLIED_IN_THIS_MODE_ABB"
+msgstr "Ingen effekter anvendt i denne tilstand."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_TIMBRE_OF_A_TUBE_AMP_ABB"
+msgstr "Simulerer klangen fra en rørforstærker."
+
+msgid "IDS_MUSIC_OPT_TUBE_AMP_EFFECT"
+msgstr "Tube amp-effekt"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_EFFECT_OF_VIRTUAL_71_CHANNEL_SURROUND_SOUND_ABB"
+msgstr "Simulerer effekten af virtuel 7.1 kanal surroundsound."
+
+msgid "IDS_MUSIC_HEADER_SMALL_ROOM_M_REVERB_ABB"
+msgstr "Lille rum"
+
+msgid "IDS_MUSIC_HEADER_LARGE_ROOM_M_REVERB_ABB"
+msgstr "Stort rum"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_LARGE_ROOM_EG_A_THEATRE_ABB"
+msgstr "Simulerer ekkoet i et stort rum, f.eks. et teater."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_CONCERT_HALL_ABB"
+msgstr "Simulerer ekkoet i en koncertsal."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_SMALL_SPACE_EG_A_STUDIO_ABB"
+msgstr "Simulerer ekkoet i et lille rum, f.eks. et studie."
+
+msgid "IDS_MUSIC_BUTTON_3D_CHN"
+msgstr "3D"
+
+msgid "IDS_MUSIC_BODY_CLARITY_M_SOUNDEFFECT"
+msgstr "Klarhed"
+
+msgid "IDS_MUSIC_BUTTON_RESET"
+msgstr "Nulstil"
+
+msgid "IDS_MUSIC_TAB_YEARS"
+msgstr "År"
+
+msgid "IDS_MUSIC_TAB_GENRES"
+msgstr "Genrer"
+
+msgid "IDS_MUSIC_TAB_COMPOSERS"
+msgstr "Komponist."
+
+msgid "IDS_MUSIC_TAB_ALL_TRACKS"
+msgstr "Alle spor"
+
+msgid "IDS_MUSIC_SK3_GO_TO_QUICK_LIST"
+msgstr "Gå til hurtig l."
+
+msgid "IDS_MUSIC_SK3_FIND"
+msgstr "Find"
+
+msgid "IDS_MUSIC_SK3_ADD_TO_QUICK_LIST"
+msgstr "Føj til hurtigl."
+
+msgid "IDS_MUSIC_POP_UNAUTHORISED_VIDEO_FILE_FOR_TV_OUT"
+msgstr "Ikke-autoriseret videofil til tv-out."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_CREATE_MAXIMUM_NUMBER_OF_PLAYLISTS_REACHED"
+msgstr "Kunne ikke oprettes. Det maksimale antal afspilningslister er nået."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTING_BLUETOOTH_HEADSET"
+msgstr "Lydstyrken kan ikke justeres, mens Bluetooth-headset tilsluttes."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTED_TO_BLUETOOTH_HEADSET"
+msgstr "Kan ikke justere lydstyrke, mens Bluetooth-headset er tilsluttet."
+
+msgid "IDS_MUSIC_POP_STOP_MUSIC_PLAYER_Q"
+msgstr "Stop Musikafspiller?"
+
+msgid "IDS_MUSIC_POP_PLEASE_EXIT_SILENT_MODE"
+msgstr "Afslut lydløs tilstand."
+
+msgid "IDS_MUSIC_POP_NETWORK_FAILURE"
+msgstr "Netværksfejl."
+
+msgid "IDS_MUSIC_POP_MEMORY_CARD_LOADED"
+msgstr "Hukommelseskort indlæst."
+
+msgid "IDS_MUSIC_POP_DEVICE_SETTINGS_ERROR"
+msgstr "Fejl i enhedsindstillinger."
+
+msgid "IDS_MUSIC_POP_COULD_NOT_FIND_A_MATCH_FOR_THE_SONG"
+msgstr "Kunne ikke finde en match for sangen."
+
+msgid "IDS_MUSIC_POP_BUFFERING_MSTATUS"
+msgstr "Gemmer i buffer"
+
+msgid "IDS_MUSIC_POP_BT_HEADSET_ONLY_SUPPORTS_NORMAL_EFFECTS_SETTING"
+msgstr "BT-headset understøtter kun normal effektindstilling."
+
+msgid "IDS_MUSIC_POP_APPLICATION_WILL_BE_CLOSED"
+msgstr "Program bliver lukket."
+
+msgid "IDS_MUSIC_POP_ADDED_GO_TO_WISH_LIST_Q"
+msgstr "Tilføjet. Gå til ønskeseddel?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_THE_SERVICE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "Der kan afkræves betaling for adgang til tjenesten. Fortsæt?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_STORE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "Adgang til butik bliver muligvis debiteret. Fortsæt?"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_ONLY_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES"
+msgstr "5.1-kanals lydeffekter fungerer kun i tilstandene høretelefon og Bluetooth-headset."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "5.1 effekten kanallyd fungerer kun i tilstanden høretelefoner."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECTS_NOT_SUPPORTED_BY_SPEAKER"
+msgstr "5.1 kanal lydeffekter understøttes ikke af højttaler."
+
+msgid "IDS_MUSIC_OPT_VIEW_BY_COVER_ART"
+msgstr "Vis efter cover"
+
+msgid "IDS_MUSIC_OPT_SEND_TRACK"
+msgstr "Send nummer"
+
+msgid "IDS_MUSIC_OPT_RATE_TRACK"
+msgstr "Klassificer musiknummer"
+
+msgid "IDS_MUSIC_OPT_PLAYLIST_MOVE_TRACK_IN_PLAYLIST"
+msgstr "Flyt nummer på afspilningsliste"
+
+msgid "IDS_MUSIC_OPT_OPENPLAYLIST_CURRENT"
+msgstr "Aktuel"
+
+msgid "IDS_MUSIC_OPT_DELETE_PLAYLIST"
+msgstr "Slet afspilningsliste"
+
+msgid "IDS_MUSIC_OPT_BACKGROUND_PLAYING"
+msgstr "Baggrundsafspilning"
+
+msgid "IDS_MUSIC_HEADER_EFFECTS"
+msgstr "Effekter"
+
+msgid "IDS_MUSIC_BUTTON_BUY_NOW"
+msgstr "Køb nu"
+
+msgid "IDS_MUSIC_BODY_WOW_HD"
+msgstr "Wow HD"
+
+msgid "IDS_MUSIC_BODY_WISHLIST"
+msgstr "Ønskeseddel"
+
+msgid "IDS_MUSIC_BODY_WIDE"
+msgstr "Bred"
+
+msgid "IDS_MUSIC_BODY_WHA_WHA"
+msgstr "Wha-wha"
+
+msgid "IDS_MUSIC_BODY_VIBE_WOOFER"
+msgstr "Vibrationshøjttaler"
+
+msgid "IDS_MUSIC_BODY_TREMOLO"
+msgstr "Tremolo"
+
+msgid "IDS_MUSIC_BODY_TAP_TWICE_TO_PLAY_PAUSE_MUSIC"
+msgstr "Tryk to gange for at afspille/afbryde musik."
+
+msgid "IDS_MUSIC_BODY_SHARE_TRACK_VIA_BLUETOOTH"
+msgstr "Del nummer via Bluetooth"
+
+msgid "IDS_MUSIC_BODY_SETUPWIZARD_WELCOME_TO_THE_MUSIC_SETUP_WIZARD_CONTINUE_Q"
+msgstr "Velkommen til guiden Musikopsætning.\nFølgende skærmbilleder hjælper dig med at konfigurere din telefon, Fortsæt?"
+
+msgid "IDS_MUSIC_BODY_QUICK_LIST"
+msgstr "Hurtigliste"
+
+msgid "IDS_MUSIC_BODY_PLAYINGSETTINGS_SOUND_EFFECTS"
+msgstr "Lydeffekter"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_ALL"
+msgstr "Alle"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_1"
+msgstr "1"
+
+msgid "IDS_MUSIC_BODY_PLAYERSETTINGS_VOLUME"
+msgstr "Lydstyrke"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_SELECTED"
+msgstr "%d numre valgt."
+
+msgid "IDS_MUSIC_BODY_NO_PODCASTS"
+msgstr "Ingen podcasts"
+
+msgid "IDS_MUSIC_BODY_FIND_SIMILAR"
+msgstr "Find lignende"
+
+msgid "IDS_MUSIC_BODY_BACKGROUND_PLAY"
+msgstr "Baggrundsafspilning"
+
+msgid "IDS_MUSIC_BODY_51_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "5.1 kanal kan kun aktiveres, når lydeffekter er fra."
+
+msgid "IDS_MUSIC_TAB4_PODCASTS"
+msgstr "Podcasts"
+
+msgid "IDS_MUSIC_SK2_EDIT_IMAGE"
+msgstr "Redigér billede"
+
+msgid "IDS_MUSIC_POP_PLAYING_ANY_SOUNDS_WILL_STOP_AND_SAVE_YOUR_VOICE_RECORDING_PLAY_Q"
+msgstr "Afspilning af lyd vil stoppe og gemme din stemmeoptagelse. Afspil?"
+
+msgid "IDS_MUSIC_POP_MAXIMUM_NUMBER_OF_ITEMS_HPD_SELECTED"
+msgstr "Det maksimale elementer (%d) valgt."
+
+msgid "IDS_MUSIC_POP_BLUETOOTH_DISCONNECTED"
+msgstr "Bluetooth-forbindelse afbrudt."
+
+msgid "IDS_MUSIC_POP_5_1_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "5.1 kanal kan kun aktiveres, når lydeffekter er fra."
+
+msgid "IDS_MUSIC_OPT_TAKE_PICTURE"
+msgstr "Tag billede"
+
+msgid "IDS_MUSIC_OPT_SHOW_MUSIC_VIEW_ABB"
+msgstr "Vis musikvisning"
+
+msgid "IDS_MUSIC_OPT_PAUSE"
+msgstr "Pause"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALBUM"
+msgstr "Afspil album"
+
+msgid "IDS_MUSIC_OPT_LIST_BY"
+msgstr "Sortér efter"
+
+msgid "IDS_MUSIC_OPT_HISTORY"
+msgstr "Oversigt"
+
+msgid "IDS_MUSIC_OPT_HIDE_MUSIC_VIEW_ABB"
+msgstr "Skjul musikvisning"
+
+msgid "IDS_MUSIC_OPT_FIND_TAG"
+msgstr "Find Kode"
+
+msgid "IDS_MUSIC_OPT_DROPBOX_CONTENT_ABB"
+msgstr "Dropbox-indhold"
+
+msgid "IDS_MUSIC_OPT_CONTENT_ON_PHONE_ABB"
+msgstr "Indh. på telefon"
+
+msgid "IDS_MUSIC_OPT_CHANGE_IMAGE"
+msgstr "Skift billede"
+
+msgid "IDS_MUSIC_HEADER_DELETE_DROPBOX_DATA_ABB"
+msgstr "Slet Dropbox-data"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_STREAM_YOUR_MUSIC_TO_DEVICES_USING_ALLSHARE"
+msgstr "Du kan streame din musik til enheder ved hjælp af AllShare."
+
+msgid "IDS_MUSIC_BODY_VALIDITY"
+msgstr "Gyldighed"
+
+msgid "IDS_MUSIC_BODY_TYPE_CNOUN"
+msgstr "Type"
+
+msgid "IDS_MUSIC_BODY_THIS_WILL_DELETE_THE_FILE_FROM_THE_SERVER_AND_ANY_CONNECTED_DEVICES_AS_WELL"
+msgstr "Dette vil slette filen fra serveren samt alle tilsluttede enheder."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_ARTISTS"
+msgstr "Kunstnere"
+
+msgid "IDS_MUSIC_BODY_PLAYINGDETAILS_ALBUM_ART"
+msgstr "Albumcover"
+
+msgid "IDS_MUSIC_BODY_OTHER_CONTENTS"
+msgstr "Andet indhold"
+
+msgid "IDS_MUSIC_BODY_NAME_TOO_LONG"
+msgstr "Navnet er for langt."
+
+msgid "IDS_MUSIC_BODY_MUSIC_CLARITY"
+msgstr "Musikklarhed"
+
+msgid "IDS_MUSIC_BODY_HIGH_VOLUMES_MAY_HARM_YOUR_HEARING_IF_YOU_LISTEN_FOR_A_LONG_TIME"
+msgstr "Høj musik kan skade din hørelse, hvis du lytter i for lang tid."
+
+msgid "IDS_MUSIC_BODY_AVAILABLE_USES"
+msgstr "Gange tilbage"
+
+msgid "IDS_MUSIC_TPOP_SOUND_EFFECTS_ONLY_AVAILABLE_WHILE_HEADPHONES_CONNECTED"
+msgstr "Lydeffekter er kun tilgængelige, når hovedtelefoner er tilsluttet."
+
+msgid "IDS_ST_OPT_ADD_TO_YOUR_PERSONAL_STORAGE"
+msgstr "Føj til dit personlige lager"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_YOUR_PERSONAL_STORAGE"
+msgstr "Fjern fra dit personlige lager"
+
+msgid "IDS_ST_BODY_CONTEXTUAL_POP_UP_T_TALKBACK"
+msgstr "Kontekstuelt pop op-vindue"
+
+msgid "IDS_ST_BODY_A_CONTEXTUAL_POP_UP_IS_OPEN_DOUBLE_TAP_TO_CLOSE_IT_T_TALKBACK"
+msgstr "Et kontekstuel pop op-vindue er åbent. Dobbelttap for at lukke den."
+
+msgid "IDS_ST_BODY_REPEAT_ONE"
+msgstr "Gentag én gang"
+
+msgid "IDS_ST_BUTTON_MOVING_ING"
+msgstr "Flytter..."
+
+msgid "IDS_HS_BODY_SELECT_UP_TO_PD_ITEMS"
+msgstr "Vælg op til %d elementer."
+
+msgid "IDS_CAM_BODY_TAB_T_TTS"
+msgstr "Fane"
+
+msgid "IDS_DLNA_OPT2_CHANGE_PLAYER"
+msgstr "Skift afspiller"
+
+msgid "IDS_BR_SK_TABS"
+msgstr "Faner"
+
+msgid "IDS_MF_BODY_DROPBOX_ABB"
+msgstr "Dropbox"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Automatisk anbefalinger kan udtrække højdepunkter fra lydfiler."
+
+msgid "IDS_MF_BODY_PARENT_RATING"
+msgstr "Forældrebedømmelse"
+
+msgid "IDS_VR_POP_FILE_NOT_FOUND"
+msgstr "Filen blev ikke fundet."
+
+msgid "IDS_PB_POP_CALLER_RINGTONE_SAVED"
+msgstr "Opkaldsringetone gemt."
+
+msgid "IDS_MUSIC_BODY_BIT_DEPTH"
+msgstr "Bit-dybde"
+
+msgid "IDS_MUSIC_BODY_SIZE"
+msgstr "Størrelse"
+
+msgid "IDS_MF_HEADER_PD_SELECTED"
+msgstr "%d valgt"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_THIS_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Når du har føjet numre til denne enhed, vil de blive vist her."
+
+msgid "IDS_MUSIC_TMBODY_LENGTH"
+msgstr "Længde"
+
+msgid "IDS_MUSIC_POP_1_FOLDER_WILL_BE_DELETED"
+msgstr "Der vil blive slettet 1 mappe."
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Intet indhold"
+
+msgid "IDS_MUSIC_ITAB4_FOLDERS"
+msgstr "Mapper"
+
+msgid "IDS_MUSIC_HEADER_MY_PLAYLISTS_ABB"
+msgstr "Mine afspilningslister"
+
+msgid "IDS_MP_BODY_SOUND_PLAYER"
+msgstr "Lydafspiller"
+
+msgid "IDS_MUSIC_OPT_SETTINGS"
+msgstr "Indstillinger"
+
+msgid "IDS_MUSIC_POP_DELETING"
+msgstr "Sletter ..."
+
+msgid "IDS_MUSIC_POP_1_TRACK_WILL_BE_DELETED"
+msgstr "1 nummer vil blive slettet."
+
+msgid "IDS_MUSIC_POP_ALL_TRACKS_WILL_BE_DELETED"
+msgstr "Alle numre vil blive slettet."
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_WILL_BE_DELETED"
+msgstr "%d numre vil blive slettet."
+
+msgid "IDS_MUSIC_POP_1_PLAYLIST_WILL_BE_DELETED"
+msgstr "1 afspilningsliste bliver slettet."
+
+msgid "IDS_MUSIC_POP_PD_PLAYLISTS_WILL_BE_DELETED"
+msgstr "%d afspilningslister vil blive slettet."
+
+msgid "IDS_MUSIC_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "%d albummer vil blive slettet."
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS_WILL_BE_DELETED"
+msgstr "%d kunstnere vil blive slettet."
+
+msgid "IDS_MUSIC_POP_PD_FOLDERS_WILL_BE_DELETED"
+msgstr "%d mapper bliver slettet."
+
+msgid "IDS_ST_POP_CONNECTION_FAILED"
+msgstr "Forbindelsen\nmislykkedes."
+
+msgid "IDS_MUSIC_BODY_CLASSIC"
+msgstr "Klassisk"
+
+msgid "IDS_MUSIC_BODY_ROCK"
+msgstr "Rock"
+
+msgid "IDS_MUSIC_BODY_JAZZ"
+msgstr "Jazz"
+
+msgid "IDS_MUSIC_BODY_POP"
+msgstr "Pop"
+
+msgid "IDS_MUSIC_BODY_AUTO"
+msgstr "Auto"
+
+msgid "IDS_MUSIC_POP_CURRENT_SOUND_EFFECT_NOT_SUPPORTED_BY_HDMI"
+msgstr "Aktuel lydeffekt understøttes ikke af HDMI."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_BLUETOOTH"
+msgstr "Lydeffekter understøttes ikke af Bluetooth."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_LINE_OUT"
+msgstr "Lydeffekter understøttes ikke af linjeudgang."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_HDMI"
+msgstr "Lydeffekter understøttes ikke af HDMI."
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EFFECT"
+msgstr "Rørforstærker"
+
+msgid "IDS_MUSIC_BODY_CUSTOM"
+msgstr "Brugerdefineret"
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EQUALISER_ABB"
+msgstr "Tube amp"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d numre er føjet til afspilningslisten."
+
+msgid "IDS_MUSIC_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 nummer føjet til afspilningslisten."
+
+msgid "IDS_MUSIC_HEADER_ADD_TRACKS_TO_PLAYLIST_ABB"
+msgstr "Føj numre til afspilningsliste"
+
+msgid "IDS_MUSIC_POP_PS_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "%s er allerede i brug. Indtast et andet navn."
+
+msgid "IDS_MUSIC_TMBODY_DATE_OF_RECORDING"
+msgstr "Dato for optagelse"
+
+msgid "IDS_MBP_TPOP_TRACK_SET_AS_ALARM_TONE"
+msgstr "Nummer er angivet som alarmtone."
+
+msgid "IDS_MUSIC_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Ingen resultater"
+
+msgid "IDS_MUSIC_OPT_DEFAULT_RINGTONE_ABB"
+msgstr "Standardringetone"
+
+msgid "IDS_MUSIC_TPOP_TRACK_SET_AS_CALLER_RINGTONE"
+msgstr "Nummer angivet som opkaldsringetone."
+
+msgid "IDS_MP_TPOP_TRACK_SET_AS_RINGTONE"
+msgstr "Nummer er angivet som ringetone."
+
+msgid "IDS_DLNA_BODY_ADD_TO_NOW_PLAYING_LIST"
+msgstr "Føj til Afspilles nu-liste"
+
+msgid "IDS_MUSIC_TPOP_EQUALISER_SETTINGS_WILL_BE_APPLIED_WHILE_PLAYING_MUSIC"
+msgstr "Indstillinger for equaliser anvendes, når der afspilles musik."
+
+msgid "IDS_ST_BODY_ALERT"
+msgstr "Varsel"
+
+msgid "IDS_IV_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 album vil blive slettet."
+
+msgid "IDS_MUSIC_OPT_SD_CARD"
+msgstr "SD-kort"
+
+msgid "IDS_MUSIC_SBODY_DEVICE_STORAGE"
+msgstr "Enhedslager"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE"
+msgstr "Navnet på afspilningslisten er allerede i brug."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_PD"
+msgstr "Afspilningsliste %d"
+
+msgid "IDS_MUSIC_HEADER_CREATE"
+msgstr "Opret"
+
+msgid "IDS_MUSIC_HEADER_EQUALISER_PRESET_ABB"
+msgstr "Forudindstilling for equalizer"
+
+msgid "IDS_MUSIC_OPT_AUTOMATIC_M_EQUALIZER_EFFECT"
+msgstr "Automatisk"
+
+msgid "IDS_MUSIC_OPT_CLASSICAL_M_EQUALIZER_EFFECT"
+msgstr "Klassisk"
+
+msgid "IDS_MUSIC_HEADER_ENVIRONMENT_EFFECT_ABB"
+msgstr "Miljøeffekt"
+
+msgid "IDS_VIDEO_POP_THE_FILE_TYPE_IS_NOT_SUPPORTED"
+msgstr "Filtypen understøttes ikke."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_CREATE_PLAYLISTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Når du opretter afspilningslister, vises de her."
+
+msgid "IDS_ST_HEADER_SELECT_AUDIO_DEVICE_ABB"
+msgstr "Vælg lydenhed"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "Navnet på afspilningslisten er allerede i brug. Indtast et andet navn."
+
+msgid "IDS_MUSIC_HEADER_SOUNDALIVE_ABB3"
+msgstr "SoundAlive"
+
+msgid "IDS_MUSIC_OPT_NOW_PLAYING_LIST"
+msgstr "Afspilles nu-liste"
+
+msgid "IDS_MUSIC_OPT_SHOW_LYRICS"
+msgstr "Vis sangtekster"
+
+msgid "IDS_MUSIC_OPT_HIDE_LYRICS"
+msgstr "Skjul sangtekster"
+
+msgid "IDS_MUSIC_TPOP_UNABLE_TO_PLAY_MUSIC_DURING_CALLS"
+msgstr "Kunne ikke afspille musik under opkald."
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Slet"
+
+msgid "IDS_MUSIC_HEADER_SELECT"
+msgstr "Vælg"
+
+msgid "IDS_TPLATFORM_OPT_NFC"
+msgstr "NFC"
+
+msgid "IDS_MUSIC_HEADER_UNABLE_TO_PLAY_TRACK"
+msgstr "Kan ikke afspille nummer"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "UDFØRT"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ANNULLER"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "SLET"
+
+msgid "IDS_MUSIC_POP_RENAME"
+msgstr "Omdøb"
+
+msgid "IDS_MUSIC_OPT_MESSAGE"
+msgstr "Besked"
+
+msgid "IDS_MUSIC_SK_OK"
+msgstr "OK"
+
+msgid "IDS_MUSIC_SK_CANCEL"
+msgstr "Annullér"
+
+msgid "IDS_MUSIC_BUTTON_REFRESH"
+msgstr "Opdatér"
+
+msgid "IDS_MUSIC_BODY_SELECT_ALL"
+msgstr "Vælg alle"
+
+msgid "IDS_MUSIC_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_MUSIC_POP_DELETED"
+msgstr "Slettet."
+
+msgid "IDS_MUSIC_OPT_STOP"
+msgstr "Stop"
+
+msgid "IDS_MUSIC_BODY_UNKNOWN"
+msgstr "Ukendt"
+
+msgid "IDS_MUSIC_BODY_TITLE"
+msgstr "Titel"
+
+msgid "IDS_MUSIC_OPT_SENDVIA_EMAIL"
+msgstr "E-mail"
+
+msgid "IDS_MUSIC_OPT_BLUETOOTH"
+msgstr "Bluetooth"
+
+msgid "IDS_MUSIC_HEADER_DOWNLOAD"
+msgstr "Download"
+
+msgid "IDS_MUSIC_POP_LOW_BATTERY"
+msgstr "Lavt batteriniveau."
+
+msgid "IDS_MUSIC_HEADER_AUDIO_DEVICE"
+msgstr "Lydenhed"
+
+msgid "IDS_MUSIC_HEADER_DETAILS"
+msgstr "Detaljer"
+
+msgid "IDS_MUSIC_OPT_END"
+msgstr "Afslut"
+
+msgid "IDS_MUSIC_OPT_EDIT"
+msgstr "Redigér"
+
+msgid "IDS_CAM_HEADER_UPDATED"
+msgstr "Opdateret."
+
+msgid "IDS_MUSIC_POP_REMOVED"
+msgstr "Fjernet."
+
+msgid "IDS_MUSIC_OPT_SELECTED"
+msgstr "Valgte"
+
+msgid "IDS_ST_BUTTON_SCAN"
+msgstr "Scanning"
+
+msgid "IDS_MF_POP_ERROR"
+msgstr "Fejl."
+
+msgid "IDS_MF_POP_MEMORY_FULL"
+msgstr "Hukommelsen er fuld."
+
+
+
+msgid "IDS_MUSIC_MBODY_QUEUE"
+msgstr "Sæt i kø"
+
+msgid "IDS_MUSIC_OPT_VOLUME"
+msgstr "Lydstyrke"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE"
+msgstr "Bland"
+
+msgid "IDS_MUSIC_OPT_REPEAT"
+msgstr "Gentag"
+
+msgid "IDS_COM_BODY_DETAILS"
+msgstr "Details"
+
+msgid "IDS_COM_BODY_DETAILS_TITLE"
+msgstr "Title"
+
+msgid "IDS_COM_BODY_EDIT"
+msgstr "Edit"
+
+msgid "IDS_COM_BODY_EMAIL"
+msgstr "Email"
+
+msgid "IDS_COM_BODY_END"
+msgstr "End"
+
+msgid "IDS_COM_BODY_FOLDERS"
+msgstr "Folders"
+
+msgid "IDS_COM_BODY_GALLERY"
+msgstr "Gallery"
+
+msgid "IDS_COM_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_COM_BODY_LOADING"
+msgstr "Loading..."
+
+msgid "IDS_COM_BODY_LOW_BATTERY"
+msgstr "Low battery."
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Message"
+
+msgid "IDS_COM_BODY_MUSIC"
+msgstr "Music"
+
+msgid "IDS_COM_BODY_NFC"
+msgstr "NFC"
+
+msgid "IDS_COM_BODY_NO_CONTENTS"
+msgstr "No content"
+
+msgid "IDS_COM_BODY_PAUSE"
+msgstr "Pause"
+
+msgid "IDS_COM_BODY_PD_SELECTED"
+msgstr "%d selected."
+
+msgid "IDS_COM_BODY_PREVIOUS"
+msgstr "Previous"
+
+msgid "IDS_COM_BODY_RESET_A"
+msgstr "Reset"
+
+msgid "IDS_COM_BODY_SELECTED"
+msgstr "Selected"
+
+msgid "IDS_COM_BODY_SELECT_ALL"
+msgstr "Select all"
+
+msgid "IDS_COM_BODY_SETTINGS"
+msgstr "Settings"
+
+msgid "IDS_COM_BODY_TIME"
+msgstr "Time"
+
+msgid "IDS_COM_BODY_UNABLE_TO_ADD"
+msgstr "Unable to add."
+
+msgid "IDS_COM_BODY_UNKNOWN"
+msgstr "Unknown"
+
+msgid "IDS_COM_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_COM_BUTTON_SCAN"
+msgstr "Scan"
+
+msgid "IDS_COM_BUTTON_SHARE"
+msgstr "Share"
+
+msgid "IDS_COM_HEADER_AUDIO_DEVICE_ABB"
+msgstr "Audio device"
+
+msgid "IDS_COM_OPT_ADDED"
+msgstr "Added."
+
+msgid "IDS_COM_OPT_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_POP_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_POP_CONNECTION_FAILED"
+msgstr "Connection failed."
+
+msgid "IDS_COM_POP_DELETED"
+msgstr "Deleted."
+
+msgid "IDS_COM_POP_DELETE_Q"
+msgstr "Delete?"
+
+msgid "IDS_COM_POP_DONE"
+msgstr "Done"
+
+msgid "IDS_COM_POP_DOWNLOADING"
+msgstr "Downloading..."
+
+msgid "IDS_COM_POP_ERROR"
+msgstr "Error."
+
+msgid "IDS_COM_POP_FAILED"
+msgstr "Failed."
+
+msgid "IDS_COM_POP_FILE_NOT_EXIST"
+msgstr "This file does not exist."
+
+msgid "IDS_COM_POP_FILE_NOT_FOUND"
+msgstr "File not found."
+
+msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximum number of characters reached."
+
+msgid "IDS_COM_POP_MEMORY_FULL"
+msgstr "Memory full."
+
+msgid "IDS_COM_POP_REMOVED"
+msgstr "Removed."
+
+msgid "IDS_COM_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Unable to use during Mass storage mode."
+
+msgid "IDS_COM_POP_UPDATED"
+msgstr "Updated."
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_SK_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_SK_DOWNLOAD"
+msgstr "Download"
+
+msgid "IDS_COM_SK_NEW"
+msgstr "New"
+
+msgid "IDS_COM_SK_NEXT"
+msgstr "Next"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_SK_REFRESH"
+msgstr "Refresh"
+
+msgid "IDS_COM_SK_REMOVE"
+msgstr "Remove"
+
+msgid "IDS_COM_SK_SAVE"
+msgstr "Save"
+
+msgid "IDS_COM_SK_SELECT"
+msgstr "Select"
+
+msgid "IDS_COM_SK_SET"
+msgstr "Set"
+
+msgid "IDS_COM_SK_STOP"
+msgstr "Stop"
+
+
+msgid "IDS_MH_BODY_THE_PLAYLIST_NAME_PS_IS_ALREADY_IN_USE"
+msgstr "The playlist name %s is already in use."
+
+msgid "IDS_MH_BODY_TOTAL"
+msgstr "Total"
+
+msgid "IDS_MH_MBODY_RECENTLY_ADDED_M_SONG"
+msgstr "Recently added"
+
+msgid "IDS_MH_OPT_MORE_INFO_ABB"
+msgstr "More info"
+
+msgid "IDS_MH_POP_ALARM_TONE_SET"
+msgstr "Alarm tone set."
+
+msgid "IDS_MH_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 track added to playlist."
+
+msgid "IDS_MH_TPOP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d tracks added to playlist."
+
+msgid "IDS_MUSIC_OPT_RENAME"
+msgstr "Rename"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Unable to play during call."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Den maksimale filstørrelse overskredet."
+
+msgid "IDS_CAM_TPOP_UNABLE_TO_PLAY_MUSIC_WHILE_RECORDING_AUDIO_OR_VIDEO"
+msgstr "Kan ikke afspille musik under optagelse af lyd eller video."
+
--- /dev/null
+msgid "IDS_ST_BODY_LOADING_ING"
+msgstr "Lädt..."
+
+msgid "IDS_GALLERY_OPT_PRIVATE_M_CONTENT"
+msgstr "Privat"
+
+msgid "IDS_MF_BODY_TIME"
+msgstr "Zeit"
+
+msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
+msgstr "Datei nicht vorhanden"
+
+msgid "IDS_MUSIC_POP_PHONE_RINGTONE"
+msgstr "Telefonklingelton"
+
+msgid "IDS_MUSIC_BODY_DURATION"
+msgstr "Dauer"
+
+msgid "IDS_MUSIC_BODY_MUSIC_LOCATION"
+msgstr "Ort"
+
+msgid "IDS_MUSIC_BODY_SET_AS_M_RINGTONE"
+msgstr "Einstellen als"
+
+msgid "IDS_ST_OPT_ADD_TO_PERSONAL_PAGE"
+msgstr "Zur persönlichen Seite hinzufügen"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_PERSONAL_PAGE_ABB"
+msgstr "Von persönl. Seite entf."
+
+msgid "IDS_ST_POP_MOVE_TO_NORMAL_STORAGE"
+msgstr "In den normalen Speicher verschieben."
+
+msgid "IDS_ST_POP_MOVE_TO_PERSONAL_STORAGE"
+msgstr "In den persönlichen Speicher verschieben."
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEMS_WILL_BE_MOVED_TO_PS"
+msgstr "Die ausgewählten Elemente werden zu %s verschoben."
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEM_WILL_BE_MOVED_TO_PS"
+msgstr "Das ausgewählte Element wird zu %s verschoben."
+
+msgid "IDS_VR_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Kann im Massenspeichermodus nicht verwendet werden"
+
+msgid "IDS_MUSIC_POP_RINGTONE_ADDED"
+msgstr "Klingelton hinzugefügt"
+
+msgid "IDS_CAM_BODY_BUTTON_T_TTS"
+msgstr "Taste"
+
+msgid "IDS_MUSIC_HEADER_SELECT_ITEMS"
+msgstr "Elemente auswählen"
+
+msgid "IDS_ST_BODY_ADVANCED"
+msgstr "Erweitert"
+
+msgid "IDS_ST_SK_PREVIOUS"
+msgstr "Zurück"
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Schließen"
+
+msgid "IDS_MUSIC_POP_ADDED"
+msgstr "Hinzugefügt"
+
+msgid "IDS_MUSIC_POP_FAILED"
+msgstr "Fehlgeschlagen"
+
+msgid "IDS_MUSIC_BODY_NO_SEARCH_RESULTS"
+msgstr "Keine Suchergebnisse"
+
+msgid "IDS_MUSIC_SK_DONE"
+msgstr "OK"
+
+msgid "IDS_MUSIC_BODY_NO_ITEMS"
+msgstr "Keine Elemente"
+
+msgid "IDS_BR_OPT_ADD_TO_HOME"
+msgstr "Zum Startbildschirm hinzufügen"
+
+msgid "IDS_BR_SK_NEXT"
+msgstr "Weiter"
+
+msgid "IDS_BR_BODY_DOWNLOADING_ING"
+msgstr "Herunterladen..."
+
+msgid "IDS_IV_BODY_FAVOURITE"
+msgstr "Favorit"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_PERSONAL_STORAGE"
+msgstr "Zum persönlichen Speicher hinzufügen"
+
+msgid "IDS_DLNA_POP_DISCONNECTED_FROM_PS_CHECK_THE_NETWORK_STATUS_AND_THE_CONNECTED_DEVICE"
+msgstr "Verbindung mit %s getrennt. Überprüfen Sie den Netzwerkstatus und das verbundene Gerät."
+
+msgid "IDS_DLNA_OPT_VIA_SCREEN_MIRRORING_ABB"
+msgstr "Über Screen Mirroring"
+
+msgid "IDS_DLNA_OPT_VIA_HOME_NETWORK_ABB"
+msgstr "Über Heimnetzwerk"
+
+msgid "IDS_IV_POP_ENTRY_IS_EMPTY"
+msgstr "Eintrag ist leer"
+
+msgid "IDS_FM_POP_UNAVAILABLE_DURING_CALL"
+msgstr "Während eines Anrufs nicht verfügbar"
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximal zulässige Zeichenanzahl erreicht."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_SHARE_DRM_FILE"
+msgstr "DRM-Datei kann nicht freigegeben werden"
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Entferne..."
+
+msgid "IDS_MUSIC_HEADER_PD_DEVICES"
+msgstr "%d Geräte"
+
+msgid "IDS_MUSIC_BUTTON_ENABLE_MOTION"
+msgstr "Aktivieren"
+
+msgid "IDS_MUSIC_BUTTON_DONT_ASK_AGAIN"
+msgstr "Nicht erneut fragen"
+
+msgid "IDS_MUSIC_BODY_NO_RESULTS_FOUND"
+msgstr "Keine Ergebnisse gefunden"
+
+msgid "IDS_VPL_OPT_HDMI"
+msgstr "HDMI"
+
+msgid "IDS_MUSIC_BODY_TURN_PHONE_OVER_TO_MUTE_INCOMING_CALLS_MESSAGE_ALERTS_AND_ALARMS"
+msgstr "Telefon zum Stummschalten von eingehenden Anrufen, Nachrichtensignalen und Alarmen umdrehen."
+
+msgid "IDS_ST_BODY_NONE"
+msgstr "Ohne"
+
+msgid "IDS_ST_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_ST_BODY_GALLERY"
+msgstr "Galerie"
+
+msgid "IDS_ST_BODY_DOUBLE_TAP_TO_MOVE_TO_CONTENT_T_TTS"
+msgstr "Zweimal tippen, um Inhalt zu verschieben."
+
+msgid "IDS_MUSIC_BODY_SURROUND"
+msgstr "Surround"
+
+msgid "IDS_MUSIC_OPT_LYRICS_ABB"
+msgstr "Liedtexte"
+
+msgid "IDS_MUSIC_POP_AFTER_YOU_ADD_TRACKS_TO_MUSIC_ON_YOUR_MOBILE_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Nachdem Sie Titel zu Musik auf Ihrem Gerät hinzugefügt haben, werden sie hier angezeigt."
+
+msgid "IDS_MUSIC_BODY_SAMPLING_RATE"
+msgstr "Sampling-Rate"
+
+msgid "IDS_MUSIC_BODY_MARKED_AS_A_FAVOURITE"
+msgstr "Als Favorit markiert"
+
+msgid "IDS_MUSIC_BODY_MUSIC"
+msgstr "Musik"
+
+msgid "IDS_MUSIC_BODY_NOT_MARKED_AS_A_FAVOURITE"
+msgstr "Nicht als Favorit markiert"
+
+msgid "IDS_MUSIC_HEADER_SEARCH_MUSIC_ABB"
+msgstr "Musik suchen"
+
+msgid "IDS_MUSIC_POP_AUTO_RECOMMENDATION_DOES_NOT_SUPPORT_THIS_AUDIO_FILE"
+msgstr "Diese Audiodatei wird von der automatischen Empfehlungsfunktion nicht unterstützt."
+
+msgid "IDS_MUSIC_POP_SORRY_THE_PLAYER_DOES_NOT_SUPPORT_THIS_TYPE_OF_AUDIO_FILE"
+msgstr "Der Player unterstützt diese Art von Audiodatei nicht"
+
+msgid "IDS_MUSIC_BODY_FAVOURITES"
+msgstr "Favoriten"
+
+msgid "IDS_MUSIC_BODY_MOST_PLAYED"
+msgstr "Am häufigsten wiedergegeben"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_ADDED"
+msgstr "Zuletzt hinzugefügt"
+
+msgid "IDS_MUSIC_OPT_CREATE_PLAYLIST"
+msgstr "Wiedergabeliste erstellen"
+
+msgid "IDS_MUSIC_OPT_REMOVE"
+msgstr "Entfernen"
+
+msgid "IDS_MUSIC_OPT_SETAS_CALLER_RINGTONE"
+msgstr "Anruferklingelton"
+
+msgid "IDS_MUSIC_TAB4_ARTISTS"
+msgstr "Interpreten"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD"
+msgstr "Hinzufügen nicht möglich"
+
+msgid "IDS_MUSIC_POP_UNABLE_CREATE_PLAYLIST"
+msgstr "Erstellen der Wiedergabeliste nicht möglich"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_GET_TAG"
+msgstr "Tag kann nicht abgerufen werden"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_MORE_THAN_PD_MUSIC_FILE"
+msgstr "Mehr als %d Musikdateien können nicht hinzugefügt werden"
+
+msgid "IDS_MUSIC_BODY_ALBUM"
+msgstr "Album"
+
+msgid "IDS_MUSIC_BODY_AUTHOR"
+msgstr "Autor"
+
+msgid "IDS_MUSIC_BODY_COPYRIGHT"
+msgstr "Urheberrecht"
+
+msgid "IDS_MUSIC_BODY_CREATE_PLAYLIST"
+msgstr "Wiedergabeliste erstellen"
+
+msgid "IDS_MUSIC_BODY_DESCRIPTION"
+msgstr "Beschreibung"
+
+msgid "IDS_MUSIC_BODY_FORMAT"
+msgstr "Format"
+
+msgid "IDS_MUSIC_BODY_IMPOSSIBLE"
+msgstr "Nicht möglich"
+
+msgid "IDS_MUSIC_BODY_NO_PLAYLISTS"
+msgstr "Keine Wiedergabelisten"
+
+msgid "IDS_MUSIC_BODY_TRACK_NUMBER"
+msgstr "Nummer des Titels"
+
+msgid "IDS_MUSIC_POP_DELETE_Q"
+msgstr "Löschen?"
+
+msgid "IDS_MUSIC_POP_REMOVE_Q"
+msgstr "Entfernen?"
+
+msgid "IDS_MUSIC_POP_UNABLE_RENAME_PLAYLIST"
+msgstr "Wiedergabeliste kann nicht umbenannt werden"
+
+msgid "IDS_MUSIC_TAB4_ALBUMS"
+msgstr "Alben"
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Wird hinzugefügt..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "%d Alben löschen?"
+
+msgid "IDS_MUSIC_TAB4_PLAYLISTS"
+msgstr "Wdg-Listen"
+
+msgid "IDS_MUSIC_OPT_ADD"
+msgstr "Hinzufügen"
+
+msgid "IDS_MUSIC_BODY_BIOGRAPHY"
+msgstr "Biographie"
+
+msgid "IDS_MUSIC_BODY_CREDITS"
+msgstr "Danksagungen"
+
+msgid "IDS_MUSIC_BODY_DETAILS_MEADIA_INFO"
+msgstr "Medien-Info"
+
+msgid "IDS_MUSIC_BODY_DISCOGRAPHY"
+msgstr "Diskografie"
+
+msgid "IDS_MUSIC_BODY_LYRIC"
+msgstr "Liedtext"
+
+msgid "IDS_MUSIC_BODY_POSSIBLE"
+msgstr "Möglich"
+
+msgid "IDS_MUSIC_BODY_REVIEW"
+msgstr "Überprüfen"
+
+msgid "IDS_MUSIC_HEADER_TRACK_LIST"
+msgstr "Wiedergabeliste"
+
+msgid "IDS_MUSIC_BODY_ADD_TO_PLAYLIST"
+msgstr "Zu Wiedergabeliste hinzufügen"
+
+msgid "IDS_MUSIC_BODY_ARTIST"
+msgstr "Interpret"
+
+msgid "IDS_MUSIC_BODY_FORWARDING"
+msgstr "Weiterleitung"
+
+msgid "IDS_MUSIC_BODY_RECORDED_DATE"
+msgstr "Date of recording"
+
+msgid "IDS_MUSIC_BODY_PLAYLISTS"
+msgstr "Wiedergabelisten"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_PLAYED"
+msgstr "Kürzlich wiedergegeben"
+
+msgid "IDS_MUSIC_BODY_TRACK_LENGTH"
+msgstr "Länge des Titels"
+
+msgid "IDS_MUSIC_HEADER_NO_SONGS"
+msgstr "Keine Lieder"
+
+msgid "IDS_MUSIC_POP_THIS_TRACK_WILL_BE_DELETED"
+msgstr "Dieser Titel wird gelöscht."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_TRACKS_WILL_BE_DELETED"
+msgstr "Die ausgewählten Titel werden gelöscht."
+
+msgid "IDS_MUSIC_POP_THIS_ARTIST_WILL_BE_DELETED"
+msgstr "Dieser Künstler wird gelöscht."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ARTISTS_WILL_BE_DELETED"
+msgstr "Die ausgewählten Künstler werden gelöscht."
+
+msgid "IDS_MUSIC_POP_ALL_ARTISTS_WILL_BE_DELETED"
+msgstr "Alle Künstler werden gelöscht."
+
+msgid "IDS_MUSIC_POP_THIS_FOLDER_WILL_BE_DELETED"
+msgstr "Dieser Ordner wird gelöscht."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_FOLDERS_WILL_BE_DELETED"
+msgstr "Die ausgewählten Ordner werden gelöscht."
+
+msgid "IDS_MUSIC_POP_ALL_FOLDERS_WILL_BE_DELETED"
+msgstr "Alle Ordner werden gelöscht."
+
+msgid "IDS_MUSIC_POP_THIS_ALBUM_WILL_BE_DELETED"
+msgstr "Dieses Album wird gelöscht."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ALBUMS_WILL_BE_DELETED"
+msgstr "Die ausgewählten Alben werden gelöscht."
+
+msgid "IDS_MUSIC_POP_ALL_ALBUMS_WILL_BE_DELETED"
+msgstr "Alle Alben werden gelöscht."
+
+msgid "IDS_MUSIC_POP_THIS_PLAYLIST_WILL_BE_DELETED"
+msgstr "Diese Wiedergabeliste wird gelöscht"
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Die ausgewählten Wiedergabelisten werden gelöscht."
+
+msgid "IDS_MUSIC_POP_ALL_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Alle Wiedergabelisten werden gelöscht."
+
+msgid "IDS_MUSIC_HEADER_SONGS"
+msgstr "Lieder"
+
+msgid "IDS_MUSIC_OPT_REORDER"
+msgstr "Neu sortieren"
+
+msgid "IDS_MUSIC_OPT_SAVE_AS_PLAYLIST"
+msgstr "Als Wiedergabeliste speichern"
+
+msgid "IDS_MUSIC_OPT_SETAS_ALARM_TONE"
+msgstr "Alarmton"
+
+msgid "IDS_MUSIC_POP_NOTHING_SELECTED"
+msgstr "Nichts ausgewählt"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Datei kann nicht wiedergegeben werden. Fehler aufgetreten."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_UNSUPPORTED_FILETYPE"
+msgstr "Wiedergabe nicht möglich. Nicht unterstützter Dateityp"
+
+msgid "IDS_MUSIC_SK_SHARE"
+msgstr "Senden"
+
+msgid "IDS_MUSIC_TAB4_CONDUCTORS"
+msgstr "Diri\n-genten"
+
+msgid "IDS_MUSIC_HEADER_SELECT_DEVICE"
+msgstr "Gerät auswählen"
+
+msgid "IDS_MUSIC_SK_VIEW_AS"
+msgstr "Ansicht"
+
+msgid "IDS_MUSIC_BODY_SOUNDEFFECTS_NORMAL"
+msgstr "Normal"
+
+msgid "IDS_MUSIC_BODY_USER"
+msgstr "Benutzer"
+
+msgid "IDS_MUSIC_BODY_VOCAL_M_SOUNDEFFECT"
+msgstr "Vocal"
+
+msgid "IDS_MUSIC_MBODY_BASS_BOOST"
+msgstr "Bass Boost"
+
+msgid "IDS_MUSIC_MBODY_TREBLE_BOOST"
+msgstr "Treblebooster"
+
+msgid "IDS_MUSIC_BODY_CAFE_M_SOUNDEFFECT"
+msgstr "Café"
+
+msgid "IDS_MUSIC_OPT_VIRTUAL_71_CH"
+msgstr "7.1 Kanäle virtuell"
+
+msgid "IDS_MUSIC_OPT_AFTER_15_MIN_ABB"
+msgstr "Nach 15 Minuten"
+
+msgid "IDS_MUSIC_BODY_AFTER_30_MIN"
+msgstr "Nach 30 Minuten"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HOUR"
+msgstr "Nach 1 Stunde"
+
+msgid "IDS_MUSIC_POP_AFTER_1_HOUR_30_MIN"
+msgstr "Nach 1 Stunde und 30 Minuten"
+
+msgid "IDS_MUSIC_BODY_AFTER_2_HOURS"
+msgstr "Nach 2 Stunden"
+
+msgid "IDS_MUSIC_BODY_MUSIC_AUTO_OFF"
+msgstr "Automatisches Ausschalten der Musik"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES_ONLY"
+msgstr "Dieser Sound-Effekt funktioniert nur im Kopfhörer- und Bluetooth-Headset-Modus."
+
+msgid "IDS_MUSIC_TAB4_MUSIC_SQUARE"
+msgstr "Music Square"
+
+msgid "IDS_MUSIC_POP_NOT_ENOUGH_MUSIC_FILES_TO_PLAY_IN_MUSIC_SQUARE_AT_LEAST_PD_MUSIC_FILES_REQUIRED"
+msgstr "Nicht genügend Musikdateien zur Wiedergabe in Musik Square verfügbar. Mindestens %d Musikdateien erforderlich"
+
+msgid "IDS_MUSIC_BODY_PASSION_M_MOOD"
+msgstr "Passion"
+
+msgid "IDS_MUSIC_BODY_CALM_M_ADJECTIVE"
+msgstr "Ruhig"
+
+msgid "IDS_MUSIC_BODY_JOY_M_MOOD"
+msgstr "Joy"
+
+msgid "IDS_MUSIC_BODY_LIBRARY_UPDATE"
+msgstr "Bibliotheksaktualisierung"
+
+msgid "IDS_MUSIC_POP_UPDATE_LIBRARY_Q"
+msgstr "Bibliothek aktualisieren?"
+
+msgid "IDS_MUSIC_BODY_CHANGE_AXIS"
+msgstr "Achse wechseln"
+
+msgid "IDS_MUSIC_ITAB4_GENRES"
+msgstr "Genre"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_1_TRACK"
+msgstr "1 Album/1 Titel"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_PD_TRACKS"
+msgstr "1 Album/%d Titel"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS_PD_TRACKS"
+msgstr "%d Alben/%d Titel"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_CONTROL_MUSIC_PLAYER_WITH_THE_VOICE_COMMANDS_P1SS_P2SS_P3SS_P4SS_P5SS_AND_P6SS"
+msgstr "Sie können Music Player mit den Sprachbefehlen „%1$s“, „%2$s“, „%3$s“, „%4$s“, „%5$s“ und „%6$s“ steuern."
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_PD_TRACKS"
+msgstr "Zufallswiedergabe von %d Titeln"
+
+msgid "IDS_MUSIC_BODY_MORE_INFO"
+msgstr "Weitere Informationen"
+
+msgid "IDS_MUSIC_HEADER_MY_MUSIC_M_APPLICATION_NAME"
+msgstr "Eigene Musik"
+
+msgid "IDS_MUSIC_OPT_LIST_VIEW"
+msgstr "Listenansicht"
+
+msgid "IDS_MUSIC_OPT_PLAY_VIA_GROUP_PLAY"
+msgstr "Per Group Play wiedergeben"
+
+msgid "IDS_MUSIC_POP_TRACK_ADDED_TO_FAVOURITES"
+msgstr "Titel wurde zu den Favoriten hinzugefügt."
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_FAVOURITES"
+msgstr "Aus Favoriten entfernen"
+
+msgid "IDS_MUSIC_BODY_NEW_M_LATEST"
+msgstr "Neu"
+
+msgid "IDS_MUSIC_OPT_TRACKS"
+msgstr "Titel"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL"
+msgstr "Symbole"
+
+msgid "IDS_MUSIC_SK_LIST"
+msgstr "Liste"
+
+msgid "IDS_MUSIC_SK_OPEN_PLAYLIST"
+msgstr "Wiedergabeliste öffnen"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALL"
+msgstr "Alle wiedergeben"
+
+msgid "IDS_MUSIC_POP_SELECTED_LIST_EMPTY"
+msgstr "Ausgewählte Liste ist leer"
+
+msgid "IDS_MUSIC_BODY_MOODS"
+msgstr "Stimmung"
+
+msgid "IDS_MUSIC_BUTTON_YEARS"
+msgstr "Jahre"
+
+msgid "IDS_MUSIC_BODY_OLD"
+msgstr "Alt"
+
+msgid "IDS_MUSIC_BODY_MUSIC_SQUARE_ANALYSES_THE_CHARACTERISTICS_OF_MUSIC_FILES_STORED_ON_YOUR_DEVICE_AND_AUTOMATICALLY_CREATES_PLAYLISTS_MSG"
+msgstr "Music Square analysiert die Eigenschaften von auf Ihrem Gerät gespeicherten Musikdateien und erstellt automatisch Wiedergabelisten."
+
+msgid "IDS_MUSIC_BODY_PLAY_TRACKS_WITH_SIMILAR_CHARACTERISTICS_BY_SELECTING_A_SQUARE_ON_THE_SCREEN"
+msgstr "Musikwiedergabeliste mit ähnlichen Eigenschaften abspielen, indem ein Quadrat auf dem Bildschirm ausgewählt wird."
+
+msgid "IDS_MUSIC_BODY_VIEW_PLAYLIST_DETAILS_BY_TAPPING_AND_HOLDING_THE_SQUARE_CURRENTLY_BEING_PLAYED"
+msgstr "Zum Anzeigen von Wiedergabelistendetails das derzeit wiedergegebene Quadrat länger antippen."
+
+msgid "IDS_MUSIC_BODY_NEARBY_DEVICES"
+msgstr "Geräte in der Nähe"
+
+msgid "IDS_MUSIC_POP_YOU_WILL_NEED_TO_UPDATE_THE_LIBRARY_IF_NEW_SONGS_HAVE_BEEN_ADDED"
+msgstr "Die Bibliothek muss aktualisiert werden, falls neue Lieder hinzugefügt wurden."
+
+msgid "IDS_MUSIC_BODY_NO_ALBUMS"
+msgstr "Keine Alben"
+
+msgid "IDS_MUSIC_BODY_NO_ARTISTS"
+msgstr "Keine Künstler"
+
+msgid "IDS_MUSIC_OPT_PLAY_SPEED_ABB"
+msgstr "Geschwindigkeit"
+
+msgid "IDS_MUSIC_BODY_CONCERT_HALL_M_SOUNDEFFECT"
+msgstr "Konzertsaal"
+
+msgid "IDS_MUSIC_OPT_ADD_TO"
+msgstr "Hinzufügen zu"
+
+msgid "IDS_MUSIC_SK_VIEW"
+msgstr "Anzeigen"
+
+msgid "IDS_MUSIC_OPT_LISTBY_RECENTLY_ADDED"
+msgstr "Zuletzt hinzugefügt"
+
+msgid "IDS_MUSIC_BODY_NOT_USED"
+msgstr "Nicht verwendet"
+
+msgid "IDS_MUSIC_BODY_MAKE_AVAILABLE_OFFLINE"
+msgstr "Offline verfügbar machen"
+
+msgid "IDS_MUSIC_OPT_AFTER_P1SD_HRS_P2SD_MINS"
+msgstr "Nach %1$d Std. und %2$d Min."
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS"
+msgstr "Nach %d Stunden"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_MINS"
+msgstr "Nach %d Minuten"
+
+msgid "IDS_MUSIC_BODY_NO_FOLDERS"
+msgstr "Keine Ordner"
+
+msgid "IDS_MUSIC_BODY_NO_TRACKS"
+msgstr "Keine Titel"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS"
+msgstr "%d Alben"
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS"
+msgstr "%d Künstler"
+
+msgid "IDS_MUSIC_BODY_PD_GENRES"
+msgstr "%d Genres"
+
+msgid "IDS_MUSIC_BODY_PD_PLAYLISTS"
+msgstr "%d Wiedergabelisten"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_ABB"
+msgstr "%d Titel"
+
+msgid "IDS_MUSIC_BODY_PLAYLIST"
+msgstr "Wiedergabeliste"
+
+msgid "IDS_MUSIC_HEADER_SIMILAR_ALBUMS"
+msgstr "Ähnliche Alben"
+
+msgid "IDS_MUSIC_HEADER_TRACK"
+msgstr "Titel"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL_VIEW"
+msgstr "Miniaturansicht"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "Dieser Soundeffekt funktioniert nur im Kopfhörermodus"
+
+msgid "IDS_MUSIC_OPT_ALL_CONTENT_ABB2"
+msgstr "Gesamter Inhalt"
+
+msgid "IDS_MUSIC_BODY_A_NETWORK_CONNECTION_IS_REQUIRED_TO_PLAY_THIS_FILE_CHECK_YOUR_NETWORK_CONNECTION_AND_TRY_AGAIN"
+msgstr "Zur Wiedergabe dieser Datei ist eine Netzwerkverbindung erforderlich. Überprüfen Sie Ihre Netzwerkverbindung und versuchen Sie es erneut."
+
+msgid "IDS_MUSIC_POP_FILE_TYPE_NOT_SUPPORTED"
+msgstr "Dateityp nicht unterstützt"
+
+msgid "IDS_MUSIC_POP_UPDATING_ING"
+msgstr "Aktualisierung..."
+
+msgid "IDS_MUSIC_OPT_SEARCH_ABB"
+msgstr "Suche"
+
+msgid "IDS_MUSIC_OPT_SEARCH_BY"
+msgstr "Suchen nach"
+
+msgid "IDS_MUSIC_BODY_RELATED_VIDEOS"
+msgstr "Verwandte Videos"
+
+msgid "IDS_MUSIC_BODY_SMART_VOLUME_ABB"
+msgstr "Intelligente Lautstärke"
+
+msgid "IDS_MUSIC_BODY_THE_VOLUME_OF_ALL_TRACKS_WILL_BE_ADJUSTED_TO_LEVEL_PD"
+msgstr "Die Lautstärke aller Titel wird auf Stufe %d angepasst."
+
+msgid "IDS_MUSIC_HEADER_SMART_VOLUME_IS_ENABLED"
+msgstr "Intelligente Lautstärke aktiviert"
+
+msgid "IDS_MUSIC_OPT_CONNECTION_INFO_ABB"
+msgstr "Verbindungs-Info"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_PD_MINS"
+msgstr "Nach 1 Stunde und %d Minuten"
+
+msgid "IDS_MUSIC_BODY_ADAPT_SOUND_ABB"
+msgstr "Adapt Sound"
+
+msgid "IDS_MUSIC_BODY_MY_DEVICE"
+msgstr "Mein Gerät"
+
+msgid "IDS_MUSIC_POP_LISTENING_AT_A_HIGH_VOLUME_FOR_A_LONG_TIME_MAY_DAMAGE_YOUR_HEARING_RAISE_THE_VOLUME_ABOVE_SAFE_LEVELS_Q"
+msgstr "Das Hören mit hoher Lautstärke über einen längeren Zeitraum kann das Gehör schädigen. Möchten Sie die Lautstärke über den ungefährlichen Pegel hinaus erhöhen?"
+
+msgid "IDS_MUSIC_POP_ALREADY_EXISTS"
+msgstr "Bereits vorhanden"
+
+msgid "IDS_MUSIC_OPT_SCAN_FOR_NEARBY_DEVICES"
+msgstr "Nach Geräten suchen"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR"
+msgstr "Nach 1 Stunde"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_1_MIN"
+msgstr "Nach 1 Stunde 1 Minunte"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS_1_MIN"
+msgstr "Nach %d Stunden und 1 Minute"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_MIN"
+msgstr "Nach 1 Minute"
+
+msgid "IDS_MUSIC_OPT_GO_TO_STORE"
+msgstr "Store öffnen"
+
+msgid "IDS_MUSIC_SK3_ADD_TRACKS"
+msgstr "Titel hzfg."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FROM_MUSIC_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Nach dem Herunterladen von Musiktiteln werden diese hier angezeigt."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_YOUR_FAVOURITES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Nachdem Sie Ihren Favoriten Titel hinzugefügt haben, werden diese hier angezeigt."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_PLAY_TRACKS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Nachdem Sie Titel wiedergegeben haben, werden diese hier angezeigt."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_PS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Nachdem Sie %s Titel hinzugefügt haben, werden diese hier angezeigt."
+
+msgid "IDS_MUSIC_BODY_NO_PURCHASED_CONTENT"
+msgstr "Kein gekaufter Inhalt"
+
+msgid "IDS_MUSIC_SK_SAVE_AS"
+msgstr "Speichern unter"
+
+msgid "IDS_MUSIC_POP_MUSICPLAYER_UPDATING_FAILED"
+msgstr "Fehler bei\nAktualisierung"
+
+msgid "IDS_MUSIC_BODY_EXCITING_M_ADJECTIVE"
+msgstr "Aufregend"
+
+msgid "IDS_MUSIC_BODY_SEARCH_MY_MUSIC"
+msgstr "Meine Musik durchsuchen"
+
+msgid "IDS_MUSIC_HEADER_CONNECTED_DEVICES"
+msgstr "Verbundene Geräte"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST_PS"
+msgstr "Eigene Wiedergabeliste %s"
+
+msgid "IDS_MUSIC_BODY_NO_DEVICES"
+msgstr "Keine Geräte"
+
+msgid "IDS_MUSIC_HEADER_AVAILABLE_DEVICES_ABB"
+msgstr "Verfügbare Geräte"
+
+msgid "IDS_MUSIC_POP_SET"
+msgstr "Eingestellt"
+
+msgid "IDS_MUSIC_POP_REMOVE_FAILED"
+msgstr "Entfernen fehlgeschlagen"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_USE_FAST_FORWARD_AND_REWIND_WHEN_NEARBY_DEVICES_ARE_ENABLED"
+msgstr "Der Vor- und Rücklauf kann nicht verwendet werden, wenn „Geräte in der Nähe“ (DLNA) eingeschaltet ist."
+
+msgid "IDS_MUSIC_OPT_SET_AS"
+msgstr "Einstellen als"
+
+msgid "IDS_MUSIC_OPT_HEADPHONES_ABB"
+msgstr "Kopfhörer"
+
+msgid "IDS_MUSIC_OPT_SPEAKER"
+msgstr "Lautspr."
+
+msgid "IDS_MUSIC_BODY_1_SONG"
+msgstr "1 Lied"
+
+msgid "IDS_MUSIC_BODY_PD_SONGS"
+msgstr "%d Lieder"
+
+msgid "IDS_MUSIC_BODY_1_TRACK"
+msgstr "1 Titel"
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_1_TRACK"
+msgstr "Zufallstitelwiedergabe"
+
+msgid "IDS_MUSIC_POP_NO_MUSIC_FOUND_FOR_SELECTED_CELL"
+msgstr "Keine Musik für ausgewählte Zelle gefunden"
+
+msgid "IDS_MUSIC_BODY_DO_NOT_SHOW_AGAIN"
+msgstr "Nicht mehr anzeigen"
+
+msgid "IDS_MUSIC_BODY_VARIOUS_ARTISTS"
+msgstr "Verschiedene Künstler"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_HOME_SCREEN_ABB"
+msgstr "Zum Startbildschirm hinzufügen"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_FAVOURITES"
+msgstr "Zu Favoriten hinzufügen"
+
+msgid "IDS_MUSIC_OPT_EDIT_TITLE"
+msgstr "Titel bearbeiten"
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_PERSONAL_STORAGE"
+msgstr "Aus dem persönlichen Speicher entfernen"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FOLDERS_WILL_BE_SHOWN"
+msgstr "Nach dem Herunterladen von Tracks werden Ordner angezeigt."
+
+msgid "IDS_MUSIC_BODY_SETTINGS_VOLUME"
+msgstr "Lautstärke"
+
+msgid "IDS_MUSIC_BODY_REPEAT_OFF"
+msgstr "Wiederholen ausschalten"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_REPEAT_ALL"
+msgstr "Alle wiederholen"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_OFF"
+msgstr "Zufall aus"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_ON"
+msgstr "Zufall ein"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST"
+msgstr "Eigene Wiedergabeliste"
+
+msgid "IDS_MUSIC_MBODY_DEFAULT_PLAYLISTS"
+msgstr "Standard-Wiedergabelisten"
+
+msgid "IDS_MUSIC_BODY_DETAILS_RECORDING_DATE"
+msgstr "Aufnahmedatum"
+
+msgid "IDS_MUSIC_OPT_ALBUM_ART_ABB"
+msgstr "Bild f. Alb."
+
+msgid "IDS_MUSIC_BODY_1_GENRE"
+msgstr "1 Genre"
+
+msgid "IDS_MUSIC_BODY_PD_FOLDERS"
+msgstr "%d Ordner"
+
+msgid "IDS_MUSIC_BODY_1_FOLDER"
+msgstr "1 Ordner"
+
+msgid "IDS_MUSIC_BODY_1_ARTIST"
+msgstr "1 Künstler"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_M_MUSIC"
+msgstr "1 Album"
+
+msgid "IDS_MUSIC_BODY_1_PLAYLIST"
+msgstr "1 Wiedergabeliste"
+
+msgid "IDS_MUSIC_BODY_MUSIC_PLAYER"
+msgstr "MP3-Player"
+
+msgid "IDS_MUSIC_BUTTON_MOVE"
+msgstr "Verschieben"
+
+msgid "IDS_MUSIC_BUTTON_AUTO_RECOMMENDATIONS"
+msgstr "Automatische Empfehlungen"
+
+msgid "IDS_MUSIC_BUTTON_FROM_THE_BEGINNING"
+msgstr "Von Anfang an"
+
+msgid "IDS_MUSIC_HEADER_SUGGESTIONS_FOR_YOU"
+msgstr "Vorschläge für Sie"
+
+msgid "IDS_MUSIC_OPT_SAVE"
+msgstr "Speichern"
+
+msgid "IDS_MUSIC_TAB4_BASIC_M_EQUALIZING"
+msgstr "Einfach"
+
+msgid "IDS_MUSIC_BODY_INSTRUMENT"
+msgstr "Instrument"
+
+msgid "IDS_MUSIC_BODY_TREBLE_M_EQUALISER"
+msgstr "Höhen"
+
+msgid "IDS_MUSIC_BODY_BASS_M_EQUALISER"
+msgstr "Bassregler"
+
+msgid "IDS_MUSIC_BODY_NO_EFFECTS_ARE_APPLIED_IN_THIS_MODE_ABB"
+msgstr "In diesem Modus werden keine Effekte angewendet."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_TIMBRE_OF_A_TUBE_AMP_ABB"
+msgstr "Simuliert den Klang eines Röhrenverstärkers"
+
+msgid "IDS_MUSIC_OPT_TUBE_AMP_EFFECT"
+msgstr "Röhrenverstärker-Effekt"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_EFFECT_OF_VIRTUAL_71_CHANNEL_SURROUND_SOUND_ABB"
+msgstr "Simuliert den Effekt des virtuellen 7.1-Kanal-Surround-Sound."
+
+msgid "IDS_MUSIC_HEADER_SMALL_ROOM_M_REVERB_ABB"
+msgstr "Kleiner Raum"
+
+msgid "IDS_MUSIC_HEADER_LARGE_ROOM_M_REVERB_ABB"
+msgstr "Großer Raum"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_LARGE_ROOM_EG_A_THEATRE_ABB"
+msgstr "Simuliert den Hall eines großen Raums, z. B. eines Theaters."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_CONCERT_HALL_ABB"
+msgstr "Simuliert den Hall eines Konzertsaals."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_SMALL_SPACE_EG_A_STUDIO_ABB"
+msgstr "Simuliert den Hall eines kleinen Raums, z. B. eines Studios."
+
+msgid "IDS_MUSIC_BUTTON_3D_CHN"
+msgstr "3D"
+
+msgid "IDS_MUSIC_BODY_CLARITY_M_SOUNDEFFECT"
+msgstr "Klarheit"
+
+msgid "IDS_MUSIC_BUTTON_RESET"
+msgstr "Zurücks."
+
+msgid "IDS_MUSIC_TAB_YEARS"
+msgstr "Jahre"
+
+msgid "IDS_MUSIC_TAB_GENRES"
+msgstr "Genres"
+
+msgid "IDS_MUSIC_TAB_COMPOSERS"
+msgstr "Komponisten"
+
+msgid "IDS_MUSIC_TAB_ALL_TRACKS"
+msgstr "Alle Titel"
+
+msgid "IDS_MUSIC_SK3_GO_TO_QUICK_LIST"
+msgstr "Z. Schnelll. w."
+
+msgid "IDS_MUSIC_SK3_FIND"
+msgstr "Suchen"
+
+msgid "IDS_MUSIC_SK3_ADD_TO_QUICK_LIST"
+msgstr "Zu Schnellstartl."
+
+msgid "IDS_MUSIC_POP_UNAUTHORISED_VIDEO_FILE_FOR_TV_OUT"
+msgstr "Unautorisierte Video-Datei für TV-OUT"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_CREATE_MAXIMUM_NUMBER_OF_PLAYLISTS_REACHED"
+msgstr "Erstellen nicht möglich. Maximale Anzahl an Wiedergabelisten erreicht"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTING_BLUETOOTH_HEADSET"
+msgstr "Lautstärke kann nicht angepasst werden, während eine Verbindung zum Bluetooth-Headset hergestellt wird"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTED_TO_BLUETOOTH_HEADSET"
+msgstr "Lautstärke kann nicht angepasst werden, während das Bluetooth-Headset verbunden ist."
+
+msgid "IDS_MUSIC_POP_STOP_MUSIC_PLAYER_Q"
+msgstr "MP3-Player beenden?"
+
+msgid "IDS_MUSIC_POP_PLEASE_EXIT_SILENT_MODE"
+msgstr "Stumm-Profil aktiv"
+
+msgid "IDS_MUSIC_POP_NETWORK_FAILURE"
+msgstr "Netzfehler"
+
+msgid "IDS_MUSIC_POP_MEMORY_CARD_LOADED"
+msgstr "Speicherkarte geladen"
+
+msgid "IDS_MUSIC_POP_DEVICE_SETTINGS_ERROR"
+msgstr "Geräteeinstellungsfehler"
+
+msgid "IDS_MUSIC_POP_COULD_NOT_FIND_A_MATCH_FOR_THE_SONG"
+msgstr "Keine Übereinstimmung für das Lied gefunden"
+
+msgid "IDS_MUSIC_POP_BUFFERING_MSTATUS"
+msgstr "Pufferung"
+
+msgid "IDS_MUSIC_POP_BT_HEADSET_ONLY_SUPPORTS_NORMAL_EFFECTS_SETTING"
+msgstr "BT-Headset unterstützt nur normale Effekteinstellung."
+
+msgid "IDS_MUSIC_POP_APPLICATION_WILL_BE_CLOSED"
+msgstr "Anwendung wird geschlossen"
+
+msgid "IDS_MUSIC_POP_ADDED_GO_TO_WISH_LIST_Q"
+msgstr "Hinzugefügt. Zu Wunschliste wechseln?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_THE_SERVICE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "Der Zugriff auf diesen Dienst ist möglicherweise kostenpflichtig. Fortfahren?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_STORE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "Zugriff zum Speichern ist möglicherweise gebührenpflichtig. Fortfahren?"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_ONLY_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES"
+msgstr "5.1-Kanal-Sound-Effekte funktionieren nur im Kopfhörer- und Bluetooth-Headset-Modus"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "5.1-Sound-Effekte nur im Kopfhörer-Modus möglich"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECTS_NOT_SUPPORTED_BY_SPEAKER"
+msgstr "Kanal 5.1-Soundeffekte werden vom Lautsprecher nicht unterstützt."
+
+msgid "IDS_MUSIC_OPT_VIEW_BY_COVER_ART"
+msgstr "Nach Cover sortieren"
+
+msgid "IDS_MUSIC_OPT_SEND_TRACK"
+msgstr "Titel senden"
+
+msgid "IDS_MUSIC_OPT_RATE_TRACK"
+msgstr "Titel bewerten"
+
+msgid "IDS_MUSIC_OPT_PLAYLIST_MOVE_TRACK_IN_PLAYLIST"
+msgstr "Titel in Wiedergabeliste verschieben"
+
+msgid "IDS_MUSIC_OPT_OPENPLAYLIST_CURRENT"
+msgstr "Aktuell"
+
+msgid "IDS_MUSIC_OPT_DELETE_PLAYLIST"
+msgstr "Wiedergabeliste löschen"
+
+msgid "IDS_MUSIC_OPT_BACKGROUND_PLAYING"
+msgstr "Hintergrundmusik"
+
+msgid "IDS_MUSIC_HEADER_EFFECTS"
+msgstr "Effekte"
+
+msgid "IDS_MUSIC_BUTTON_BUY_NOW"
+msgstr "Kaufen"
+
+msgid "IDS_MUSIC_BODY_WOW_HD"
+msgstr "Wow HD"
+
+msgid "IDS_MUSIC_BODY_WISHLIST"
+msgstr "Wunschliste"
+
+msgid "IDS_MUSIC_BODY_WIDE"
+msgstr "Weit"
+
+msgid "IDS_MUSIC_BODY_WHA_WHA"
+msgstr "Wha-wha"
+
+msgid "IDS_MUSIC_BODY_VIBE_WOOFER"
+msgstr "Vibewoofer"
+
+msgid "IDS_MUSIC_BODY_TREMOLO"
+msgstr "Tremolo"
+
+msgid "IDS_MUSIC_BODY_TAP_TWICE_TO_PLAY_PAUSE_MUSIC"
+msgstr "Zweimal tippen, um Musik wiederzugeben/anzuhalten"
+
+msgid "IDS_MUSIC_BODY_SHARE_TRACK_VIA_BLUETOOTH"
+msgstr "Titel über Bluetooth teilen"
+
+msgid "IDS_MUSIC_BODY_SETUPWIZARD_WELCOME_TO_THE_MUSIC_SETUP_WIZARD_CONTINUE_Q"
+msgstr "Willkommen beim Musik-Einrichtungsassistenten.\nDie folgenden Bildschirme helfen Ihnen bei der Konfiguration Ihres Telefons. Fortfahren?"
+
+msgid "IDS_MUSIC_BODY_QUICK_LIST"
+msgstr "Schnellstartliste"
+
+msgid "IDS_MUSIC_BODY_PLAYINGSETTINGS_SOUND_EFFECTS"
+msgstr "Sound-Effekte"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_ALL"
+msgstr "Alle"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_1"
+msgstr "1"
+
+msgid "IDS_MUSIC_BODY_PLAYERSETTINGS_VOLUME"
+msgstr "Lautstärke"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_SELECTED"
+msgstr "%d Titel ausgewählt."
+
+msgid "IDS_MUSIC_BODY_NO_PODCASTS"
+msgstr "Keine Podcasts"
+
+msgid "IDS_MUSIC_BODY_FIND_SIMILAR"
+msgstr "Ähnliches suchen"
+
+msgid "IDS_MUSIC_BODY_BACKGROUND_PLAY"
+msgstr "Hintergrund wiedergeben"
+
+msgid "IDS_MUSIC_BODY_51_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "Kanal 5.1 kann nur aktiviert werden, wenn die Soundeffekte ausgeschaltet sind"
+
+msgid "IDS_MUSIC_TAB4_PODCASTS"
+msgstr "Podcasts"
+
+msgid "IDS_MUSIC_SK2_EDIT_IMAGE"
+msgstr "Bild bearbeiten"
+
+msgid "IDS_MUSIC_POP_PLAYING_ANY_SOUNDS_WILL_STOP_AND_SAVE_YOUR_VOICE_RECORDING_PLAY_Q"
+msgstr "Durch das Wiedergeben von Klängen wird die Sprachaufnahme beendet und gespeichert. Wiedergeben?"
+
+msgid "IDS_MUSIC_POP_MAXIMUM_NUMBER_OF_ITEMS_HPD_SELECTED"
+msgstr "Maximale Anzahl an Elementen (%d) ausgewählt"
+
+msgid "IDS_MUSIC_POP_BLUETOOTH_DISCONNECTED"
+msgstr "Bluetooth getrennt"
+
+msgid "IDS_MUSIC_POP_5_1_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "Kanal 5.1 kann nur aktiviert werden, wenn die Soundeffekte ausgeschaltet sind."
+
+msgid "IDS_MUSIC_OPT_TAKE_PICTURE"
+msgstr "Foto aufnehmen"
+
+msgid "IDS_MUSIC_OPT_SHOW_MUSIC_VIEW_ABB"
+msgstr "Musikansicht anzeigen"
+
+msgid "IDS_MUSIC_OPT_PAUSE"
+msgstr "Pause"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALBUM"
+msgstr "Album wiedergeben"
+
+msgid "IDS_MUSIC_OPT_LIST_BY"
+msgstr "Sortieren"
+
+msgid "IDS_MUSIC_OPT_HISTORY"
+msgstr "Verlauf"
+
+msgid "IDS_MUSIC_OPT_HIDE_MUSIC_VIEW_ABB"
+msgstr "Musikansicht ausblenden"
+
+msgid "IDS_MUSIC_OPT_FIND_TAG"
+msgstr "Tag finden"
+
+msgid "IDS_MUSIC_OPT_DROPBOX_CONTENT_ABB"
+msgstr "Dropbox-Inhalt"
+
+msgid "IDS_MUSIC_OPT_CONTENT_ON_PHONE_ABB"
+msgstr "Telefoninhalt"
+
+msgid "IDS_MUSIC_OPT_CHANGE_IMAGE"
+msgstr "Bild ändern"
+
+msgid "IDS_MUSIC_HEADER_DELETE_DROPBOX_DATA_ABB"
+msgstr "Dropbox-Daten löschen"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_STREAM_YOUR_MUSIC_TO_DEVICES_USING_ALLSHARE"
+msgstr "Sie können Ihre Musik mit AllShare auf Geräte streamen."
+
+msgid "IDS_MUSIC_BODY_VALIDITY"
+msgstr "Gültigkeit"
+
+msgid "IDS_MUSIC_BODY_TYPE_CNOUN"
+msgstr "Typ"
+
+msgid "IDS_MUSIC_BODY_THIS_WILL_DELETE_THE_FILE_FROM_THE_SERVER_AND_ANY_CONNECTED_DEVICES_AS_WELL"
+msgstr "Damit wird die Datei vom Server und von allen verbundenen Geräten gelöscht."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_ARTISTS"
+msgstr "Interpreten"
+
+msgid "IDS_MUSIC_BODY_PLAYINGDETAILS_ALBUM_ART"
+msgstr "Bild für Album"
+
+msgid "IDS_MUSIC_BODY_OTHER_CONTENTS"
+msgstr "Andere Inhalte"
+
+msgid "IDS_MUSIC_BODY_NAME_TOO_LONG"
+msgstr "Name zu lang"
+
+msgid "IDS_MUSIC_BODY_MUSIC_CLARITY"
+msgstr "Musikklarheit"
+
+msgid "IDS_MUSIC_BODY_HIGH_VOLUMES_MAY_HARM_YOUR_HEARING_IF_YOU_LISTEN_FOR_A_LONG_TIME"
+msgstr "Das Hören lauter Musik über einen längeren Zeitraum kann sich schädlich auf Ihr Gehör auswirken."
+
+msgid "IDS_MUSIC_BODY_AVAILABLE_USES"
+msgstr "Verfügbare Nutzungen"
+
+msgid "IDS_MUSIC_TPOP_SOUND_EFFECTS_ONLY_AVAILABLE_WHILE_HEADPHONES_CONNECTED"
+msgstr "Soundeffekte sind nur verfügbar, wenn das Headset verbunden ist."
+
+msgid "IDS_ST_OPT_ADD_TO_YOUR_PERSONAL_STORAGE"
+msgstr "Zum persönlichen Speicher hinzufügen"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_YOUR_PERSONAL_STORAGE"
+msgstr "Aus dem persönlichen Speicher entfernen"
+
+msgid "IDS_ST_BODY_CONTEXTUAL_POP_UP_T_TALKBACK"
+msgstr "Kontext-Popup"
+
+msgid "IDS_ST_BODY_A_CONTEXTUAL_POP_UP_IS_OPEN_DOUBLE_TAP_TO_CLOSE_IT_T_TALKBACK"
+msgstr "Ein Kontext-Popup ist geöffnet. Zum Schließen zweimal tippen."
+
+msgid "IDS_ST_BODY_REPEAT_ONE"
+msgstr "Einmal wiederholen"
+
+msgid "IDS_ST_BUTTON_MOVING_ING"
+msgstr "Verschiebe..."
+
+msgid "IDS_HS_BODY_SELECT_UP_TO_PD_ITEMS"
+msgstr "Wählen Sie bis zu %d Elemente aus."
+
+msgid "IDS_CAM_BODY_TAB_T_TTS"
+msgstr "Registerkarte"
+
+msgid "IDS_DLNA_OPT2_CHANGE_PLAYER"
+msgstr "Player ändern"
+
+msgid "IDS_BR_SK_TABS"
+msgstr "Reiter"
+
+msgid "IDS_MF_BODY_DROPBOX_ABB"
+msgstr "Dropbox"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Die automatischen Empfehlungen können Highlights aus Sound-Dateien extrahieren."
+
+msgid "IDS_MF_BODY_PARENT_RATING"
+msgstr "Altersbeschränkung"
+
+msgid "IDS_VR_POP_FILE_NOT_FOUND"
+msgstr "Datei nicht gefunden"
+
+msgid "IDS_PB_POP_CALLER_RINGTONE_SAVED"
+msgstr "Anruferklingelton gespeichert"
+
+msgid "IDS_MUSIC_BODY_BIT_DEPTH"
+msgstr "Bittiefe"
+
+msgid "IDS_MUSIC_BODY_SIZE"
+msgstr "Größe"
+
+msgid "IDS_MF_HEADER_PD_SELECTED"
+msgstr "%d ausgewählt"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_THIS_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Nachdem Sie auf diesem Gerät Titel hinzugefügt haben, werden diese hier angezeigt."
+
+msgid "IDS_MUSIC_TMBODY_LENGTH"
+msgstr "Länge"
+
+msgid "IDS_MUSIC_POP_1_FOLDER_WILL_BE_DELETED"
+msgstr "1 Ordner wird gelöscht."
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Kein Inhalt"
+
+msgid "IDS_MUSIC_ITAB4_FOLDERS"
+msgstr "Ordner"
+
+msgid "IDS_MUSIC_HEADER_MY_PLAYLISTS_ABB"
+msgstr "Meine Wiedergabelisten"
+
+msgid "IDS_MP_BODY_SOUND_PLAYER"
+msgstr "Sound-Player"
+
+msgid "IDS_MUSIC_OPT_SETTINGS"
+msgstr "Einstellungen"
+
+msgid "IDS_MUSIC_POP_DELETING"
+msgstr "Löschen..."
+
+msgid "IDS_MUSIC_POP_1_TRACK_WILL_BE_DELETED"
+msgstr "1 Titel wird gelöscht."
+
+msgid "IDS_MUSIC_POP_ALL_TRACKS_WILL_BE_DELETED"
+msgstr "Alle Titel werden gelöscht."
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_WILL_BE_DELETED"
+msgstr "%d Titel werden gelöscht."
+
+msgid "IDS_MUSIC_POP_1_PLAYLIST_WILL_BE_DELETED"
+msgstr "1 Wiedergabeliste wird gelöscht."
+
+msgid "IDS_MUSIC_POP_PD_PLAYLISTS_WILL_BE_DELETED"
+msgstr "%d Wiedergabelisten werden gelöscht."
+
+msgid "IDS_MUSIC_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "%d Alben werden gelöscht."
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS_WILL_BE_DELETED"
+msgstr "%d Künstler werden gelöscht."
+
+msgid "IDS_MUSIC_POP_PD_FOLDERS_WILL_BE_DELETED"
+msgstr "%d Ordner werden gelöscht."
+
+msgid "IDS_ST_POP_CONNECTION_FAILED"
+msgstr "Verbindung fehlgeschlagen"
+
+msgid "IDS_MUSIC_BODY_CLASSIC"
+msgstr "Klassik"
+
+msgid "IDS_MUSIC_BODY_ROCK"
+msgstr "Rock"
+
+msgid "IDS_MUSIC_BODY_JAZZ"
+msgstr "Jazz"
+
+msgid "IDS_MUSIC_BODY_POP"
+msgstr "Pop"
+
+msgid "IDS_MUSIC_BODY_AUTO"
+msgstr "Auto"
+
+msgid "IDS_MUSIC_POP_CURRENT_SOUND_EFFECT_NOT_SUPPORTED_BY_HDMI"
+msgstr "Aktuelle Soundeffekte werden von HDMI nicht unterstützt."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_BLUETOOTH"
+msgstr "Soundeffekte werden von Bluetooth nicht unterstützt."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_LINE_OUT"
+msgstr "Soundeffekte werden vom Line-Out nicht unterstützt."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_HDMI"
+msgstr "Soundeffekte werden von HDMI nicht unterstützt."
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EFFECT"
+msgstr "Röhrenverstärker"
+
+msgid "IDS_MUSIC_BODY_CUSTOM"
+msgstr "Benutzerdefiniert"
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EQUALISER_ABB"
+msgstr "Röhrenverstärker"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d Titel zur Wiedergabeliste hinzugefügt"
+
+msgid "IDS_MUSIC_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 Titel zur Wiedergabeliste hinzugefügt"
+
+msgid "IDS_MUSIC_HEADER_ADD_TRACKS_TO_PLAYLIST_ABB"
+msgstr "Hzfg. von Titel z. Wdg-Liste"
+
+msgid "IDS_MUSIC_POP_PS_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "%s wird bereits verwendet, bitte anderen Namen eingeben."
+
+msgid "IDS_MUSIC_TMBODY_DATE_OF_RECORDING"
+msgstr "Aufnahmedatum"
+
+msgid "IDS_MBP_TPOP_TRACK_SET_AS_ALARM_TONE"
+msgstr "Titel als Alarmton festgelegt."
+
+msgid "IDS_MUSIC_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Keine Ergebnisse"
+
+msgid "IDS_MUSIC_OPT_DEFAULT_RINGTONE_ABB"
+msgstr "Standardklingelton"
+
+msgid "IDS_MUSIC_TPOP_TRACK_SET_AS_CALLER_RINGTONE"
+msgstr "Titel als Anruferklingelton festgelegt."
+
+msgid "IDS_MP_TPOP_TRACK_SET_AS_RINGTONE"
+msgstr "Titel als Klingelton festgelegt."
+
+msgid "IDS_DLNA_BODY_ADD_TO_NOW_PLAYING_LIST"
+msgstr "Zur gerade laufenden Wiedergabeliste hinzufügen"
+
+msgid "IDS_MUSIC_TPOP_EQUALISER_SETTINGS_WILL_BE_APPLIED_WHILE_PLAYING_MUSIC"
+msgstr "Equalizer-Einstellungen werden beim Abspielen von Musik angewendet."
+
+msgid "IDS_ST_BODY_ALERT"
+msgstr "Achtung"
+
+msgid "IDS_IV_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 Album wird gelöscht."
+
+msgid "IDS_MUSIC_OPT_SD_CARD"
+msgstr "SD-Karte"
+
+msgid "IDS_MUSIC_SBODY_DEVICE_STORAGE"
+msgstr "Gerätespeicher"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE"
+msgstr "Name der Wiedergabeliste wird bereits verwendet."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_PD"
+msgstr "Wiedergabeliste %d"
+
+msgid "IDS_MUSIC_HEADER_CREATE"
+msgstr "Erstellen"
+
+msgid "IDS_MUSIC_HEADER_EQUALISER_PRESET_ABB"
+msgstr "Equalizer-Voreinstellung"
+
+msgid "IDS_MUSIC_OPT_AUTOMATIC_M_EQUALIZER_EFFECT"
+msgstr "Automatisch"
+
+msgid "IDS_MUSIC_OPT_CLASSICAL_M_EQUALIZER_EFFECT"
+msgstr "Klassik"
+
+msgid "IDS_MUSIC_HEADER_ENVIRONMENT_EFFECT_ABB"
+msgstr "Umgebungseffekt"
+
+msgid "IDS_VIDEO_POP_THE_FILE_TYPE_IS_NOT_SUPPORTED"
+msgstr "Der Dateityp wird nicht unterstützt."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_CREATE_PLAYLISTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Nach dem Erstellen von Wiedergabelisten werden diese hier angezeigt."
+
+msgid "IDS_ST_HEADER_SELECT_AUDIO_DEVICE_ABB"
+msgstr "Audiogerätauswahl"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "Wiedergabeliste wird bereits verwendet. Geben Sie einen anderen Namen ein."
+
+msgid "IDS_MUSIC_HEADER_SOUNDALIVE_ABB3"
+msgstr "SoundAlive"
+
+msgid "IDS_MUSIC_OPT_NOW_PLAYING_LIST"
+msgstr "Liste der aktuell wiedergegebenen Lieder"
+
+msgid "IDS_MUSIC_OPT_SHOW_LYRICS"
+msgstr "Liedtexte anzeigen"
+
+msgid "IDS_MUSIC_OPT_HIDE_LYRICS"
+msgstr "Liedtexte ausblenden"
+
+msgid "IDS_MUSIC_TPOP_UNABLE_TO_PLAY_MUSIC_DURING_CALLS"
+msgstr "Musik kann während eines Anrufs nicht wiedergegeben werden."
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Löschen"
+
+msgid "IDS_MUSIC_HEADER_SELECT"
+msgstr "Auswählen"
+
+msgid "IDS_TPLATFORM_OPT_NFC"
+msgstr "NFC"
+
+msgid "IDS_MUSIC_HEADER_UNABLE_TO_PLAY_TRACK"
+msgstr "Titelwiedergabe nicht möglich"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "FERTIG"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ABBRECHEN"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "LÖSCHEN"
+
+msgid "IDS_MUSIC_POP_RENAME"
+msgstr "Umbenennen"
+
+msgid "IDS_MUSIC_OPT_MESSAGE"
+msgstr "Nachricht"
+
+msgid "IDS_MUSIC_SK_OK"
+msgstr "OK"
+
+msgid "IDS_MUSIC_SK_CANCEL"
+msgstr "Abbrechen"
+
+msgid "IDS_MUSIC_BUTTON_REFRESH"
+msgstr "Aktu."
+
+msgid "IDS_MUSIC_BODY_SELECT_ALL"
+msgstr "Alle auswählen"
+
+msgid "IDS_MUSIC_BODY_WI_FI"
+msgstr "WLAN"
+
+msgid "IDS_MUSIC_POP_DELETED"
+msgstr "Gelöscht"
+
+msgid "IDS_MUSIC_OPT_STOP"
+msgstr "Stopp"
+
+msgid "IDS_MUSIC_BODY_UNKNOWN"
+msgstr "Unbekannt"
+
+msgid "IDS_MUSIC_BODY_TITLE"
+msgstr "Titel"
+
+msgid "IDS_MUSIC_OPT_SENDVIA_EMAIL"
+msgstr "E-Mail"
+
+msgid "IDS_MUSIC_OPT_BLUETOOTH"
+msgstr "Bluetooth"
+
+msgid "IDS_MUSIC_HEADER_DOWNLOAD"
+msgstr "Download"
+
+msgid "IDS_MUSIC_POP_LOW_BATTERY"
+msgstr "Akku fast leer"
+
+msgid "IDS_MUSIC_HEADER_AUDIO_DEVICE"
+msgstr "Audiogerät"
+
+msgid "IDS_MUSIC_HEADER_DETAILS"
+msgstr "Details"
+
+msgid "IDS_MUSIC_OPT_END"
+msgstr "Beenden"
+
+msgid "IDS_MUSIC_OPT_EDIT"
+msgstr "Bearbeiten"
+
+msgid "IDS_CAM_HEADER_UPDATED"
+msgstr "Aktualisiert"
+
+msgid "IDS_MUSIC_POP_REMOVED"
+msgstr "Entfernt"
+
+msgid "IDS_MUSIC_OPT_SELECTED"
+msgstr "Ausgewählt"
+
+msgid "IDS_ST_BUTTON_SCAN"
+msgstr "Suchen"
+
+msgid "IDS_MF_POP_ERROR"
+msgstr "Fehler"
+
+msgid "IDS_MF_POP_MEMORY_FULL"
+msgstr "Speicher voll"
+
+msgid "IDS_MUSIC_MBODY_QUEUE"
+msgstr "Warteschlange"
+
+msgid "IDS_MUSIC_OPT_VOLUME"
+msgstr "Lautstärke"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE"
+msgstr "Zufallswiedergabe"
+
+msgid "IDS_MUSIC_OPT_REPEAT"
+msgstr "Wiederholen"
+
+msgid "IDS_COM_BODY_DETAILS"
+msgstr "Details"
+
+msgid "IDS_COM_BODY_DETAILS_TITLE"
+msgstr "Title"
+
+msgid "IDS_COM_BODY_EDIT"
+msgstr "Edit"
+
+msgid "IDS_COM_BODY_EMAIL"
+msgstr "Email"
+
+msgid "IDS_COM_BODY_END"
+msgstr "End"
+
+msgid "IDS_COM_BODY_FOLDERS"
+msgstr "Folders"
+
+msgid "IDS_COM_BODY_GALLERY"
+msgstr "Gallery"
+
+msgid "IDS_COM_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_COM_BODY_LOADING"
+msgstr "Loading..."
+
+msgid "IDS_COM_BODY_LOW_BATTERY"
+msgstr "Low battery."
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Message"
+
+msgid "IDS_COM_BODY_MUSIC"
+msgstr "Music"
+
+msgid "IDS_COM_BODY_NFC"
+msgstr "NFC"
+
+msgid "IDS_COM_BODY_NO_CONTENTS"
+msgstr "No content"
+
+msgid "IDS_COM_BODY_PAUSE"
+msgstr "Pause"
+
+msgid "IDS_COM_BODY_PD_SELECTED"
+msgstr "%d selected."
+
+msgid "IDS_COM_BODY_PREVIOUS"
+msgstr "Previous"
+
+msgid "IDS_COM_BODY_RESET_A"
+msgstr "Reset"
+
+msgid "IDS_COM_BODY_SELECTED"
+msgstr "Selected"
+
+msgid "IDS_COM_BODY_SELECT_ALL"
+msgstr "Select all"
+
+msgid "IDS_COM_BODY_SETTINGS"
+msgstr "Settings"
+
+msgid "IDS_COM_BODY_TIME"
+msgstr "Time"
+
+msgid "IDS_COM_BODY_UNABLE_TO_ADD"
+msgstr "Unable to add."
+
+msgid "IDS_COM_BODY_UNKNOWN"
+msgstr "Unknown"
+
+msgid "IDS_COM_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_COM_BUTTON_SCAN"
+msgstr "Scan"
+
+msgid "IDS_COM_BUTTON_SHARE"
+msgstr "Share"
+
+msgid "IDS_COM_HEADER_AUDIO_DEVICE_ABB"
+msgstr "Audio device"
+
+msgid "IDS_COM_OPT_ADDED"
+msgstr "Added."
+
+msgid "IDS_COM_OPT_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_POP_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_POP_CONNECTION_FAILED"
+msgstr "Connection failed."
+
+msgid "IDS_COM_POP_DELETED"
+msgstr "Deleted."
+
+msgid "IDS_COM_POP_DELETE_Q"
+msgstr "Delete?"
+
+msgid "IDS_COM_POP_DONE"
+msgstr "Done"
+
+msgid "IDS_COM_POP_DOWNLOADING"
+msgstr "Downloading..."
+
+msgid "IDS_COM_POP_ERROR"
+msgstr "Error."
+
+msgid "IDS_COM_POP_FAILED"
+msgstr "Failed."
+
+msgid "IDS_COM_POP_FILE_NOT_EXIST"
+msgstr "This file does not exist."
+
+msgid "IDS_COM_POP_FILE_NOT_FOUND"
+msgstr "File not found."
+
+msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximum number of characters reached."
+
+msgid "IDS_COM_POP_MEMORY_FULL"
+msgstr "Memory full."
+
+msgid "IDS_COM_POP_REMOVED"
+msgstr "Removed."
+
+msgid "IDS_COM_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Unable to use during Mass storage mode."
+
+msgid "IDS_COM_POP_UPDATED"
+msgstr "Updated."
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_SK_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_SK_DOWNLOAD"
+msgstr "Download"
+
+msgid "IDS_COM_SK_NEW"
+msgstr "New"
+
+msgid "IDS_COM_SK_NEXT"
+msgstr "Next"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_SK_REFRESH"
+msgstr "Refresh"
+
+msgid "IDS_COM_SK_REMOVE"
+msgstr "Remove"
+
+msgid "IDS_COM_SK_SAVE"
+msgstr "Save"
+
+msgid "IDS_COM_SK_SELECT"
+msgstr "Select"
+
+msgid "IDS_COM_SK_SET"
+msgstr "Set"
+
+msgid "IDS_COM_SK_STOP"
+msgstr "Stop"
+
+
+msgid "IDS_MH_BODY_THE_PLAYLIST_NAME_PS_IS_ALREADY_IN_USE"
+msgstr "The playlist name %s is already in use."
+
+msgid "IDS_MH_BODY_TOTAL"
+msgstr "Total"
+
+msgid "IDS_MH_MBODY_RECENTLY_ADDED_M_SONG"
+msgstr "Recently added"
+
+msgid "IDS_MH_OPT_MORE_INFO_ABB"
+msgstr "More info"
+
+msgid "IDS_MH_POP_ALARM_TONE_SET"
+msgstr "Alarm tone set."
+
+msgid "IDS_MH_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 track added to playlist."
+
+msgid "IDS_MH_TPOP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d tracks added to playlist."
+
+msgid "IDS_MUSIC_OPT_RENAME"
+msgstr "Rename"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Unable to play during call."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Maximale Dateigröße überschritten"
+
+msgid "IDS_CAM_TPOP_UNABLE_TO_PLAY_MUSIC_WHILE_RECORDING_AUDIO_OR_VIDEO"
+msgstr "Musikwiedergabe während Audio- oder Videoaufzeichnung nicht möglich."
+
--- /dev/null
+msgid "IDS_ST_BODY_LOADING_ING"
+msgstr "Φόρτωση..."
+
+msgid "IDS_GALLERY_OPT_PRIVATE_M_CONTENT"
+msgstr "Προσωπικό"
+
+msgid "IDS_MF_BODY_TIME"
+msgstr "Ώρα"
+
+msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
+msgstr "Δεν υπάρχει αρχείο."
+
+msgid "IDS_MUSIC_POP_PHONE_RINGTONE"
+msgstr "Ήχος κλήσης τηλεφώνου"
+
+msgid "IDS_MUSIC_BODY_DURATION"
+msgstr "Διάρκεια"
+
+msgid "IDS_MUSIC_BODY_MUSIC_LOCATION"
+msgstr "Θέση"
+
+msgid "IDS_MUSIC_BODY_SET_AS_M_RINGTONE"
+msgstr "Ορισμός ως"
+
+msgid "IDS_ST_OPT_ADD_TO_PERSONAL_PAGE"
+msgstr "Προσθήκη σε προσωπική σελίδα"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_PERSONAL_PAGE_ABB"
+msgstr "Κατάργ. από προσ. σελίδα"
+
+msgid "IDS_ST_POP_MOVE_TO_NORMAL_STORAGE"
+msgstr "Μετακίνηση στον κανονικό χώρο αποθήκευσης"
+
+msgid "IDS_ST_POP_MOVE_TO_PERSONAL_STORAGE"
+msgstr "Μετακίνηση στον προσωπικό χώρο αποθήκευσης"
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEMS_WILL_BE_MOVED_TO_PS"
+msgstr "Τα επιλεγμένα στοιχεία θα μετακινηθούν στο %s."
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEM_WILL_BE_MOVED_TO_PS"
+msgstr "Το επιλεγμένο στοιχείο θα μετακινηθεί στο %s."
+
+msgid "IDS_VR_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Δεν είναι δυνατή η χρήση κατά τη λειτουργία μαζικής αποθήκευσης."
+
+msgid "IDS_MUSIC_POP_RINGTONE_ADDED"
+msgstr "Προσθήκη ήχου κλήσης."
+
+msgid "IDS_CAM_BODY_BUTTON_T_TTS"
+msgstr "Κουμπί"
+
+msgid "IDS_MUSIC_HEADER_SELECT_ITEMS"
+msgstr "Επιλογή στοιχείων"
+
+msgid "IDS_ST_BODY_ADVANCED"
+msgstr "Για προχωρ."
+
+msgid "IDS_ST_SK_PREVIOUS"
+msgstr "Προηγούμενο"
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Κλείσιμο"
+
+msgid "IDS_MUSIC_POP_ADDED"
+msgstr "Προστέθηκε."
+
+msgid "IDS_MUSIC_POP_FAILED"
+msgstr "Αποτυχία."
+
+msgid "IDS_MUSIC_BODY_NO_SEARCH_RESULTS"
+msgstr "Δεν υπάρχουν αποτελέσματα αναζήτησης"
+
+msgid "IDS_MUSIC_SK_DONE"
+msgstr "Ok"
+
+msgid "IDS_MUSIC_BODY_NO_ITEMS"
+msgstr "Κανένα στοιχείο"
+
+msgid "IDS_BR_OPT_ADD_TO_HOME"
+msgstr "Προσθήκη σε αρχική σελίδα"
+
+msgid "IDS_BR_SK_NEXT"
+msgstr "Επόμενο"
+
+msgid "IDS_BR_BODY_DOWNLOADING_ING"
+msgstr "Λήψη..."
+
+msgid "IDS_IV_BODY_FAVOURITE"
+msgstr "Αγαπημένα"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_PERSONAL_STORAGE"
+msgstr "Προσθήκη στον προσωπικό χώρο αποθήκευσης"
+
+msgid "IDS_DLNA_POP_DISCONNECTED_FROM_PS_CHECK_THE_NETWORK_STATUS_AND_THE_CONNECTED_DEVICE"
+msgstr "Έγινε αποσύνδεση από το %s. Ελέγξτε την κατάσταση του δικτύου και της συνδεδεμένης συσκευής."
+
+msgid "IDS_DLNA_OPT_VIA_SCREEN_MIRRORING_ABB"
+msgstr "Μέσω Screen Mirroring"
+
+msgid "IDS_DLNA_OPT_VIA_HOME_NETWORK_ABB"
+msgstr "Μέσω οικιακού δικτύου"
+
+msgid "IDS_IV_POP_ENTRY_IS_EMPTY"
+msgstr "Κενή καταχώρηση."
+
+msgid "IDS_FM_POP_UNAVAILABLE_DURING_CALL"
+msgstr "Μη διαθέσιμο κατά την κλήση."
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Ο μέγιστος αριθμός χαρακτήρων συμπληρώθηκε."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_SHARE_DRM_FILE"
+msgstr "Δεν είναι δυνατή η κοινή χρήση του αρχείου DRM."
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Αφαίρεση..."
+
+msgid "IDS_MUSIC_HEADER_PD_DEVICES"
+msgstr "%d συσκευές"
+
+msgid "IDS_MUSIC_BUTTON_ENABLE_MOTION"
+msgstr "Ενερ. κίνησης"
+
+msgid "IDS_MUSIC_BUTTON_DONT_ASK_AGAIN"
+msgstr "Να μην ερωτηθώ ξανά"
+
+msgid "IDS_MUSIC_BODY_NO_RESULTS_FOUND"
+msgstr "Δεν βρέθηκαν αποτελέσματα."
+
+msgid "IDS_VPL_OPT_HDMI"
+msgstr "HDMI"
+
+msgid "IDS_MUSIC_BODY_TURN_PHONE_OVER_TO_MUTE_INCOMING_CALLS_MESSAGE_ALERTS_AND_ALARMS"
+msgstr "Για την πραγματοποίηση σίγασης των εισερχόμενων κλήσεων, των ειδοποιήσεων μηνυμάτων και των αφυπνίσεων, γυρίστε ανάποδα το τηλέφωνο."
+
+msgid "IDS_ST_BODY_NONE"
+msgstr "Κανένα"
+
+msgid "IDS_ST_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_ST_BODY_GALLERY"
+msgstr "Συλλογή"
+
+msgid "IDS_ST_BODY_DOUBLE_TAP_TO_MOVE_TO_CONTENT_T_TTS"
+msgstr "Πατήστε δύο φορές για μετάβαση σε περιεχόμενο."
+
+msgid "IDS_MUSIC_BODY_SURROUND"
+msgstr "Surround"
+
+msgid "IDS_MUSIC_OPT_LYRICS_ABB"
+msgstr "Στίχοι"
+
+msgid "IDS_MUSIC_POP_AFTER_YOU_ADD_TRACKS_TO_MUSIC_ON_YOUR_MOBILE_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Μόλις προσθέσετε κομμάτια στο φάκελο «Μουσική» της κινητής συσκευής σας, θα εμφανιστούν εδώ."
+
+msgid "IDS_MUSIC_BODY_SAMPLING_RATE"
+msgstr "Ρυθμός δειγματοληψίας"
+
+msgid "IDS_MUSIC_BODY_MARKED_AS_A_FAVOURITE"
+msgstr "Επισημάνθηκε ως αγαπημένο."
+
+msgid "IDS_MUSIC_BODY_MUSIC"
+msgstr "Μουσική"
+
+msgid "IDS_MUSIC_BODY_NOT_MARKED_AS_A_FAVOURITE"
+msgstr "Δεν επισημάνθηκε ως αγαπημένο."
+
+msgid "IDS_MUSIC_HEADER_SEARCH_MUSIC_ABB"
+msgstr "Αναζήτηση μουσικής"
+
+msgid "IDS_MUSIC_POP_AUTO_RECOMMENDATION_DOES_NOT_SUPPORT_THIS_AUDIO_FILE"
+msgstr "Η λειτουργία αυτόματων προτάσεων δεν υποστηρίζει αυτόν τον τύπο αρχείου ήχου."
+
+msgid "IDS_MUSIC_POP_SORRY_THE_PLAYER_DOES_NOT_SUPPORT_THIS_TYPE_OF_AUDIO_FILE"
+msgstr "Λυπούμαστε, αλλά το πρόγραμμα αναπαραγωγής δεν υποστηρίζει αυτόν τον τύπο αρχείου ήχου."
+
+msgid "IDS_MUSIC_BODY_FAVOURITES"
+msgstr "Αγαπημένα"
+
+msgid "IDS_MUSIC_BODY_MOST_PLAYED"
+msgstr "Επιλέχθηκε πρόσφατα"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_ADDED"
+msgstr "Προστέθηκε πρόσφατα"
+
+msgid "IDS_MUSIC_OPT_CREATE_PLAYLIST"
+msgstr "Δημιουργία λίστας αναπαραγωγής"
+
+msgid "IDS_MUSIC_OPT_REMOVE"
+msgstr "Κατάργηση"
+
+msgid "IDS_MUSIC_OPT_SETAS_CALLER_RINGTONE"
+msgstr "Ήχος κλήσης καλούντος"
+
+msgid "IDS_MUSIC_TAB4_ARTISTS"
+msgstr "Καλλιτέχνες"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD"
+msgstr "Δεν είναι δυνατή η προσθήκη."
+
+msgid "IDS_MUSIC_POP_UNABLE_CREATE_PLAYLIST"
+msgstr "Δεν είναι δυνατή η δημιουργία λίστας αναπαραγωγής."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_GET_TAG"
+msgstr "Δεν είναι δυνατή η λήψη φράσης."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_MORE_THAN_PD_MUSIC_FILE"
+msgstr "Δεν είναι δυνατή η προσθήκη περισσότερων από %d αρχείων μουσικής."
+
+msgid "IDS_MUSIC_BODY_ALBUM"
+msgstr "Άλμπουμ"
+
+msgid "IDS_MUSIC_BODY_AUTHOR"
+msgstr "Συντάκτης"
+
+msgid "IDS_MUSIC_BODY_COPYRIGHT"
+msgstr "Πνευματικά δικαιώματα"
+
+msgid "IDS_MUSIC_BODY_CREATE_PLAYLIST"
+msgstr "Δημιουργία λίστας αναπαραγωγής"
+
+msgid "IDS_MUSIC_BODY_DESCRIPTION"
+msgstr "Περιγραφή"
+
+msgid "IDS_MUSIC_BODY_FORMAT"
+msgstr "Μορφή"
+
+msgid "IDS_MUSIC_BODY_IMPOSSIBLE"
+msgstr "Αδύνατο"
+
+msgid "IDS_MUSIC_BODY_NO_PLAYLISTS"
+msgstr "Καμία λίστα αναπαραγωγής"
+
+msgid "IDS_MUSIC_BODY_TRACK_NUMBER"
+msgstr "Αριθμός κομματιού"
+
+msgid "IDS_MUSIC_POP_DELETE_Q"
+msgstr "Διαγραφή;"
+
+msgid "IDS_MUSIC_POP_REMOVE_Q"
+msgstr "Αφαίρεση;"
+
+msgid "IDS_MUSIC_POP_UNABLE_RENAME_PLAYLIST"
+msgstr "Δεν είναι δυνατή η μετονομασία της λίστας αναπαραγωγής."
+
+msgid "IDS_MUSIC_TAB4_ALBUMS"
+msgstr "Άλμπουμ"
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Προσθήκη..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Να διαγραφούν %d άλμπουμ;"
+
+msgid "IDS_MUSIC_TAB4_PLAYLISTS"
+msgstr "Λίστες αναπαραγ."
+
+msgid "IDS_MUSIC_OPT_ADD"
+msgstr "Προσθήκη"
+
+msgid "IDS_MUSIC_BODY_BIOGRAPHY"
+msgstr "Biography"
+
+msgid "IDS_MUSIC_BODY_CREDITS"
+msgstr "Συντελεστές"
+
+msgid "IDS_MUSIC_BODY_DETAILS_MEADIA_INFO"
+msgstr "Πληροφορίες πολυμέσων"
+
+msgid "IDS_MUSIC_BODY_DISCOGRAPHY"
+msgstr "Δισκογραφία"
+
+msgid "IDS_MUSIC_BODY_LYRIC"
+msgstr "Στίχοι"
+
+msgid "IDS_MUSIC_BODY_POSSIBLE"
+msgstr "Δυνατό"
+
+msgid "IDS_MUSIC_BODY_REVIEW"
+msgstr "Εξέταση"
+
+msgid "IDS_MUSIC_HEADER_TRACK_LIST"
+msgstr "Λίστα κομματιών"
+
+msgid "IDS_MUSIC_BODY_ADD_TO_PLAYLIST"
+msgstr "Προσθήκη στη λίστα αναπαραγωγής"
+
+msgid "IDS_MUSIC_BODY_ARTIST"
+msgstr "Καλλιτέχνης"
+
+msgid "IDS_MUSIC_BODY_FORWARDING"
+msgstr "Προώθηση"
+
+msgid "IDS_MUSIC_BODY_RECORDED_DATE"
+msgstr "Date of recording"
+
+msgid "IDS_MUSIC_BODY_PLAYLISTS"
+msgstr "Λίστες αναπαραγωγής"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_PLAYED"
+msgstr "Αναπ/χθηκε πρόσφατα"
+
+msgid "IDS_MUSIC_BODY_TRACK_LENGTH"
+msgstr "Διάρκεια κομματιού"
+
+msgid "IDS_MUSIC_HEADER_NO_SONGS"
+msgstr "Δεν βρέθηκαν τραγούδια"
+
+msgid "IDS_MUSIC_POP_THIS_TRACK_WILL_BE_DELETED"
+msgstr "Αυτό το κομμάτι θα διαγραφεί."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_TRACKS_WILL_BE_DELETED"
+msgstr "Τα επιλεγμένα κομμάτια θα διαγραφούν."
+
+msgid "IDS_MUSIC_POP_THIS_ARTIST_WILL_BE_DELETED"
+msgstr "Αυτός ο καλλιτέχνης θα διαγραφεί."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ARTISTS_WILL_BE_DELETED"
+msgstr "Οι επιλεγμένοι καλλιτέχνες θα διαγραφούν."
+
+msgid "IDS_MUSIC_POP_ALL_ARTISTS_WILL_BE_DELETED"
+msgstr "Όλοι οι καλλιτέχνες θα διαγραφούν."
+
+msgid "IDS_MUSIC_POP_THIS_FOLDER_WILL_BE_DELETED"
+msgstr "Ο φάκελος θα διαγραφεί."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_FOLDERS_WILL_BE_DELETED"
+msgstr "Οι επιλεγμένοι φάκελοι θα διαγραφούν."
+
+msgid "IDS_MUSIC_POP_ALL_FOLDERS_WILL_BE_DELETED"
+msgstr "Θα διαγραφούν όλοι οι φάκελοι."
+
+msgid "IDS_MUSIC_POP_THIS_ALBUM_WILL_BE_DELETED"
+msgstr "Αυτό το άλμπουμ θα διαγραφεί."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ALBUMS_WILL_BE_DELETED"
+msgstr "Τα επιλεγμένα άλμπουμ θα διαγραφούν."
+
+msgid "IDS_MUSIC_POP_ALL_ALBUMS_WILL_BE_DELETED"
+msgstr "Όλα τα άλμπουμ θα διαγραφούν."
+
+msgid "IDS_MUSIC_POP_THIS_PLAYLIST_WILL_BE_DELETED"
+msgstr "Αυτή η λίστα αναπαραγωγής θα διαγραφεί."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Οι επιλεγμένες λίστες αναπαραγωγής θα διαγραφούν."
+
+msgid "IDS_MUSIC_POP_ALL_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Όλες οι λίστες αναπαραγωγής θα διαγραφούν."
+
+msgid "IDS_MUSIC_HEADER_SONGS"
+msgstr "Τραγούδια"
+
+msgid "IDS_MUSIC_OPT_REORDER"
+msgstr "Αναδιάταξη"
+
+msgid "IDS_MUSIC_OPT_SAVE_AS_PLAYLIST"
+msgstr "Αποθήκευση ως λίστα αναπαραγωγής"
+
+msgid "IDS_MUSIC_OPT_SETAS_ALARM_TONE"
+msgstr "Ήχος ειδοποίησης"
+
+msgid "IDS_MUSIC_POP_NOTHING_SELECTED"
+msgstr "Δεν έχει γίνει καμία επιλογή."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Δεν είναι δυνατή η αναπαραγωγή. Προέκυψε σφάλμα."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_UNSUPPORTED_FILETYPE"
+msgstr "Δεν είναι δυνατή η αναπαραγωγή. Ο τύπος αρχείου δεν υποστηρίζεται."
+
+msgid "IDS_MUSIC_SK_SHARE"
+msgstr "Κοινή χρήση"
+
+msgid "IDS_MUSIC_TAB4_CONDUCTORS"
+msgstr "Αρχιμ."
+
+msgid "IDS_MUSIC_HEADER_SELECT_DEVICE"
+msgstr "Επιλογή συσκευής"
+
+msgid "IDS_MUSIC_SK_VIEW_AS"
+msgstr "Προβ. ως"
+
+msgid "IDS_MUSIC_BODY_SOUNDEFFECTS_NORMAL"
+msgstr "Κανονικό"
+
+msgid "IDS_MUSIC_BODY_USER"
+msgstr "Χρήστης"
+
+msgid "IDS_MUSIC_BODY_VOCAL_M_SOUNDEFFECT"
+msgstr "Φωνητικά"
+
+msgid "IDS_MUSIC_MBODY_BASS_BOOST"
+msgstr "Ενίσχυση μπάσων"
+
+msgid "IDS_MUSIC_MBODY_TREBLE_BOOST"
+msgstr "Ενίσχυση πρίμων"
+
+msgid "IDS_MUSIC_BODY_CAFE_M_SOUNDEFFECT"
+msgstr "Καφετέρια"
+
+msgid "IDS_MUSIC_OPT_VIRTUAL_71_CH"
+msgstr "Εικονικό κανάλι 7.1"
+
+msgid "IDS_MUSIC_OPT_AFTER_15_MIN_ABB"
+msgstr "Μετά από 15 λεπτά"
+
+msgid "IDS_MUSIC_BODY_AFTER_30_MIN"
+msgstr "Μετά από 30 λεπτά"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HOUR"
+msgstr "Μετά από 1 ώρα"
+
+msgid "IDS_MUSIC_POP_AFTER_1_HOUR_30_MIN"
+msgstr "Μετά από 1 ώρα 30 λεπτά"
+
+msgid "IDS_MUSIC_BODY_AFTER_2_HOURS"
+msgstr "Μετά από 2 ώρες"
+
+msgid "IDS_MUSIC_BODY_MUSIC_AUTO_OFF"
+msgstr "Αυτόματη απενεργοποίηση μουσικής"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES_ONLY"
+msgstr "Αυτό το εφέ ήχων εκτελείται μόνο στη λειτουργία ακουστικών και Bluetooth."
+
+msgid "IDS_MUSIC_TAB4_MUSIC_SQUARE"
+msgstr "Μουσικό κουτί"
+
+msgid "IDS_MUSIC_POP_NOT_ENOUGH_MUSIC_FILES_TO_PLAY_IN_MUSIC_SQUARE_AT_LEAST_PD_MUSIC_FILES_REQUIRED"
+msgstr "Δεν υπάρχουν αρκετά αρχεία μουσικής προς αναπαραγωγή στο Music square. Απαιτούνται τουλάχιστον %d αρχεία μουσικής."
+
+msgid "IDS_MUSIC_BODY_PASSION_M_MOOD"
+msgstr "Πάθος"
+
+msgid "IDS_MUSIC_BODY_CALM_M_ADJECTIVE"
+msgstr "Ήρεμος"
+
+msgid "IDS_MUSIC_BODY_JOY_M_MOOD"
+msgstr "Χαρά"
+
+msgid "IDS_MUSIC_BODY_LIBRARY_UPDATE"
+msgstr "Ενημέρωση βιβλιοθήκης"
+
+msgid "IDS_MUSIC_POP_UPDATE_LIBRARY_Q"
+msgstr "Ενημέρωση βιβλιοθήκης;"
+
+msgid "IDS_MUSIC_BODY_CHANGE_AXIS"
+msgstr "Αλλαγή άξονα"
+
+msgid "IDS_MUSIC_ITAB4_GENRES"
+msgstr "Είδη"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_1_TRACK"
+msgstr "1 άλμπουμ/1 κομμάτι"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_PD_TRACKS"
+msgstr "1 άλμπουμ/%d κομμάτια"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS_PD_TRACKS"
+msgstr "%d άλμπουμ /%d κομμάτια"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_CONTROL_MUSIC_PLAYER_WITH_THE_VOICE_COMMANDS_P1SS_P2SS_P3SS_P4SS_P5SS_AND_P6SS"
+msgstr "Μπορείτε να ελέγξετε το πρόγραμμα αναπαραγωγής μουσικής με τις φωνητικές εντολές %1$s, %2$s, %3$s, %4$s, %5$s και %6$s."
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_PD_TRACKS"
+msgstr "Τυχαία σειρά %d κομματιών"
+
+msgid "IDS_MUSIC_BODY_MORE_INFO"
+msgstr "Περισσότερες πληροφορίες"
+
+msgid "IDS_MUSIC_HEADER_MY_MUSIC_M_APPLICATION_NAME"
+msgstr "Η μουσική μου"
+
+msgid "IDS_MUSIC_OPT_LIST_VIEW"
+msgstr "Προβολή λίστας"
+
+msgid "IDS_MUSIC_OPT_PLAY_VIA_GROUP_PLAY"
+msgstr "Αναπαραγωγή μέσω του Group Play"
+
+msgid "IDS_MUSIC_POP_TRACK_ADDED_TO_FAVOURITES"
+msgstr "Το κομμάτι προστέθηκε στα αγαπημένα."
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_FAVOURITES"
+msgstr "Αφαίρεση από τα αγαπημένα"
+
+msgid "IDS_MUSIC_BODY_NEW_M_LATEST"
+msgstr "Νέο"
+
+msgid "IDS_MUSIC_OPT_TRACKS"
+msgstr "Κομμάτια"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL"
+msgstr "Μικρογραφία"
+
+msgid "IDS_MUSIC_SK_LIST"
+msgstr "Λίστα"
+
+msgid "IDS_MUSIC_SK_OPEN_PLAYLIST"
+msgstr "Άνοιγμα λίστας αναπαραγωγής"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALL"
+msgstr "Αναπαραγωγή όλων"
+
+msgid "IDS_MUSIC_POP_SELECTED_LIST_EMPTY"
+msgstr "Η επιλεγμένη λίστα είναι κενή."
+
+msgid "IDS_MUSIC_BODY_MOODS"
+msgstr "Διάθεση"
+
+msgid "IDS_MUSIC_BUTTON_YEARS"
+msgstr "Έτη"
+
+msgid "IDS_MUSIC_BODY_OLD"
+msgstr "Παλιό"
+
+msgid "IDS_MUSIC_BODY_MUSIC_SQUARE_ANALYSES_THE_CHARACTERISTICS_OF_MUSIC_FILES_STORED_ON_YOUR_DEVICE_AND_AUTOMATICALLY_CREATES_PLAYLISTS_MSG"
+msgstr "Το Music square αναλύει τα χαρακτηριστικά των αρχείων μουσικής που είναι αποθηκευμένα στη συσκευή σας και δημιουργεί αυτόματα λίστες αναπαραγωγής."
+
+msgid "IDS_MUSIC_BODY_PLAY_TRACKS_WITH_SIMILAR_CHARACTERISTICS_BY_SELECTING_A_SQUARE_ON_THE_SCREEN"
+msgstr "Μπορείτε να κάνετε αναπαραγωγή λιστών μουσικής με παρόμοια χαρακτηριστικά επιλέγοντας ένα από τα τετράγωνα της οθόνης."
+
+msgid "IDS_MUSIC_BODY_VIEW_PLAYLIST_DETAILS_BY_TAPPING_AND_HOLDING_THE_SQUARE_CURRENTLY_BEING_PLAYED"
+msgstr "Προβ. τις λεπτομέρειες τις λίστας αναπαραγωγής πατώντας παρατεταμένα στο τετραγωνίδιο που αντιστοιχεί στη λίστα που αναπαράγεται αυτήν τη στιγμή."
+
+msgid "IDS_MUSIC_BODY_NEARBY_DEVICES"
+msgstr "Κοντινές συσκευές"
+
+msgid "IDS_MUSIC_POP_YOU_WILL_NEED_TO_UPDATE_THE_LIBRARY_IF_NEW_SONGS_HAVE_BEEN_ADDED"
+msgstr "Απαιτείται ενημέρωση της βιβλιοθήκης, αν έχετε προσθέσει νέα τραγούδια."
+
+msgid "IDS_MUSIC_BODY_NO_ALBUMS"
+msgstr "Δεν υπάρχουν άλμπουμ"
+
+msgid "IDS_MUSIC_BODY_NO_ARTISTS"
+msgstr "Δεν υπάρχουν καλλιτέχνες"
+
+msgid "IDS_MUSIC_OPT_PLAY_SPEED_ABB"
+msgstr "Ταχύτητα αναπαραγ"
+
+msgid "IDS_MUSIC_BODY_CONCERT_HALL_M_SOUNDEFFECT"
+msgstr "Αίθουσα συναυλιών"
+
+msgid "IDS_MUSIC_OPT_ADD_TO"
+msgstr "Προσθήκη σε"
+
+msgid "IDS_MUSIC_SK_VIEW"
+msgstr "Προβολή"
+
+msgid "IDS_MUSIC_OPT_LISTBY_RECENTLY_ADDED"
+msgstr "Προστέθηκε πρόσφατα"
+
+msgid "IDS_MUSIC_BODY_NOT_USED"
+msgstr "Δεν χρησιμοποιείται"
+
+msgid "IDS_MUSIC_BODY_MAKE_AVAILABLE_OFFLINE"
+msgstr "Διαθ. για εργ. εκτός σύνδεσης"
+
+msgid "IDS_MUSIC_OPT_AFTER_P1SD_HRS_P2SD_MINS"
+msgstr "Μετά από %1$d ώρες και %2$d λεπτά"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS"
+msgstr "Μετά από %d ώρες"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_MINS"
+msgstr "Μετά από %d λεπτά"
+
+msgid "IDS_MUSIC_BODY_NO_FOLDERS"
+msgstr "Δεν υπάρχουν φάκελοι"
+
+msgid "IDS_MUSIC_BODY_NO_TRACKS"
+msgstr "Κανένα κομμάτι"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS"
+msgstr "%d άλμπουμ"
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS"
+msgstr "%d καλλιτ."
+
+msgid "IDS_MUSIC_BODY_PD_GENRES"
+msgstr "%d είδη"
+
+msgid "IDS_MUSIC_BODY_PD_PLAYLISTS"
+msgstr "%d λίστ.αναπ."
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_ABB"
+msgstr "%d κομμάτια"
+
+msgid "IDS_MUSIC_BODY_PLAYLIST"
+msgstr "Λίστα αναπαραγωγής"
+
+msgid "IDS_MUSIC_HEADER_SIMILAR_ALBUMS"
+msgstr "Παρόμοια άλμπουμ"
+
+msgid "IDS_MUSIC_HEADER_TRACK"
+msgstr "Κομμάτι"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL_VIEW"
+msgstr "Προβολή μικρογραφιών"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "Αυτό το ηχητικό εφέ λειτουργεί μόνο σε λειτουργία ακουστικών."
+
+msgid "IDS_MUSIC_OPT_ALL_CONTENT_ABB2"
+msgstr "Όλο το περιεχ."
+
+msgid "IDS_MUSIC_BODY_A_NETWORK_CONNECTION_IS_REQUIRED_TO_PLAY_THIS_FILE_CHECK_YOUR_NETWORK_CONNECTION_AND_TRY_AGAIN"
+msgstr "Για την αναπαραγωγή αυτού του αρχείου, απαιτείται σύνδεση δικτύου. Ελέγξτε τη σύνδεση δικτύου και προσπαθήστε ξανά."
+
+msgid "IDS_MUSIC_POP_FILE_TYPE_NOT_SUPPORTED"
+msgstr "Ο τύπος αρχείου δεν υποστηρίζεται."
+
+msgid "IDS_MUSIC_POP_UPDATING_ING"
+msgstr "Ενημέρωση..."
+
+msgid "IDS_MUSIC_OPT_SEARCH_ABB"
+msgstr "Αναζήτηση"
+
+msgid "IDS_MUSIC_OPT_SEARCH_BY"
+msgstr "Αναζήτηση κατά"
+
+msgid "IDS_MUSIC_BODY_RELATED_VIDEOS"
+msgstr "Σχετικά βίντεο"
+
+msgid "IDS_MUSIC_BODY_SMART_VOLUME_ABB"
+msgstr "Έξυπνη ένταση ήχου"
+
+msgid "IDS_MUSIC_BODY_THE_VOLUME_OF_ALL_TRACKS_WILL_BE_ADJUSTED_TO_LEVEL_PD"
+msgstr "Η ένταση όλων των κομματιών θα ρυθμιστεί το επίπεδο %d."
+
+msgid "IDS_MUSIC_HEADER_SMART_VOLUME_IS_ENABLED"
+msgstr "Ενεργοποιήθηκε η έξυπνη ένταση"
+
+msgid "IDS_MUSIC_OPT_CONNECTION_INFO_ABB"
+msgstr "Πληροφορίες σύνδεσης"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_PD_MINS"
+msgstr "Μετά από 1 ώρα και %d λεπτά"
+
+msgid "IDS_MUSIC_BODY_ADAPT_SOUND_ABB"
+msgstr "Adapt Sound"
+
+msgid "IDS_MUSIC_BODY_MY_DEVICE"
+msgstr "Η συσκευή μου"
+
+msgid "IDS_MUSIC_POP_LISTENING_AT_A_HIGH_VOLUME_FOR_A_LONG_TIME_MAY_DAMAGE_YOUR_HEARING_RAISE_THE_VOLUME_ABOVE_SAFE_LEVELS_Q"
+msgstr "Η ακρόαση ήχων σε υψηλή ένταση για μεγάλο χρονικό διάστημα ενδέχεται να βλάψει την ακοή σας. Αύξηση ένταση ήχου πάνω από τα ασφαλή επίπεδα;"
+
+msgid "IDS_MUSIC_POP_ALREADY_EXISTS"
+msgstr "Υπάρχει ήδη."
+
+msgid "IDS_MUSIC_OPT_SCAN_FOR_NEARBY_DEVICES"
+msgstr "Σάρωση για κοντινές συσκευές"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR"
+msgstr "Μετά από 1 ώρες"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_1_MIN"
+msgstr "Μετά από 1 ώρα και 1 λεπτά"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS_1_MIN"
+msgstr "Μετά από %d ώρες και 1 λεπτό"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_MIN"
+msgstr "Μετά από 1 λεπτά"
+
+msgid "IDS_MUSIC_OPT_GO_TO_STORE"
+msgstr "Μετάβαση στο χώρο αποθήκευσης"
+
+msgid "IDS_MUSIC_SK3_ADD_TRACKS"
+msgstr "Προσθ.\nκομματ."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FROM_MUSIC_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Αφού πραγματοποιήσετε λήψη κομματιών από τη Μουσική, τα κομμάτια θα εμφανιστούν εδώ."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_YOUR_FAVOURITES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Τα στοιχεία θα εμφανιστούν εδώ, μετά την προσθήκη κομματιών στα αγαπημένα σας."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_PLAY_TRACKS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Μετά την αναπαραγωγή κομματιών, τα στοιχεία θα εμφανίζονται εδώ."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_PS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Μετά την προσθήκη κομματιών στο %s, τα στοιχεία θα εμφανίζονται εδώ."
+
+msgid "IDS_MUSIC_BODY_NO_PURCHASED_CONTENT"
+msgstr "Δεν έχετε αγοράσει περιεχόμενο"
+
+msgid "IDS_MUSIC_SK_SAVE_AS"
+msgstr "Αποθήκευση ως"
+
+msgid "IDS_MUSIC_POP_MUSICPLAYER_UPDATING_FAILED"
+msgstr "Αποτυχία\nενημέρωσης."
+
+msgid "IDS_MUSIC_BODY_EXCITING_M_ADJECTIVE"
+msgstr "Συναρπαστ."
+
+msgid "IDS_MUSIC_BODY_SEARCH_MY_MUSIC"
+msgstr "Αναζήτηση στη μουσική μου"
+
+msgid "IDS_MUSIC_HEADER_CONNECTED_DEVICES"
+msgstr "Συνδεδεμένες συσκευές"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST_PS"
+msgstr "Η λίστα αναπαραγωγής μου %s"
+
+msgid "IDS_MUSIC_BODY_NO_DEVICES"
+msgstr "Καμία συσκευή"
+
+msgid "IDS_MUSIC_HEADER_AVAILABLE_DEVICES_ABB"
+msgstr "Διαθέσιμες συσκευές"
+
+msgid "IDS_MUSIC_POP_SET"
+msgstr "Ορισμός"
+
+msgid "IDS_MUSIC_POP_REMOVE_FAILED"
+msgstr "Αποτυχία αφαίρεσης."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_USE_FAST_FORWARD_AND_REWIND_WHEN_NEARBY_DEVICES_ARE_ENABLED"
+msgstr "Δεν είναι δυνατή η χρήση της γρήγορης προώθησης και επαναφοράς, όταν είναι ενεργοποιημένες κοντινές συσκευές."
+
+msgid "IDS_MUSIC_OPT_SET_AS"
+msgstr "Ορισμός ως"
+
+msgid "IDS_MUSIC_OPT_HEADPHONES_ABB"
+msgstr "Ακουστικά"
+
+msgid "IDS_MUSIC_OPT_SPEAKER"
+msgstr "Ηχείο"
+
+msgid "IDS_MUSIC_BODY_1_SONG"
+msgstr "1 τραγούδι"
+
+msgid "IDS_MUSIC_BODY_PD_SONGS"
+msgstr "%d τραγούδια"
+
+msgid "IDS_MUSIC_BODY_1_TRACK"
+msgstr "1 κομμάτι"
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_1_TRACK"
+msgstr "Τυχαία σειρά 1 κομματιού"
+
+msgid "IDS_MUSIC_POP_NO_MUSIC_FOUND_FOR_SELECTED_CELL"
+msgstr "Δεν βρέθηκε μουσική για το επιλεγμένο κινητό"
+
+msgid "IDS_MUSIC_BODY_DO_NOT_SHOW_AGAIN"
+msgstr "Να μην εμφανιστεί ξανά"
+
+msgid "IDS_MUSIC_BODY_VARIOUS_ARTISTS"
+msgstr "Διάφοροι καλλιτέχνες"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_HOME_SCREEN_ABB"
+msgstr "Προσθ. σε αρχ. οθόνη"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_FAVOURITES"
+msgstr "Προσθήκη στα αγαπημένα"
+
+msgid "IDS_MUSIC_OPT_EDIT_TITLE"
+msgstr "Επεξεργασία τίτλου"
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_PERSONAL_STORAGE"
+msgstr "Κατάργηση από τον προσωπικό χώρο αποθήκευσης"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FOLDERS_WILL_BE_SHOWN"
+msgstr "Μετά τη λήψη κομματιών, οι φάκελοι θα εμφανίζονται εδώ"
+
+msgid "IDS_MUSIC_BODY_SETTINGS_VOLUME"
+msgstr "Ένταση"
+
+msgid "IDS_MUSIC_BODY_REPEAT_OFF"
+msgstr "Επανάληψη ανενεργή"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_REPEAT_ALL"
+msgstr "Επανάληψη όλων"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_OFF"
+msgstr "Τυχαία εκτέλεση ανενεργή"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_ON"
+msgstr "Τυχαία εκτέλεση ενεργή"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST"
+msgstr "Η λίστα αναπαραγωγής μου"
+
+msgid "IDS_MUSIC_MBODY_DEFAULT_PLAYLISTS"
+msgstr "Προεπ. λίσ. αναπ/γωγής"
+
+msgid "IDS_MUSIC_BODY_DETAILS_RECORDING_DATE"
+msgstr "Ημερομηνία εγγραφής"
+
+msgid "IDS_MUSIC_OPT_ALBUM_ART_ABB"
+msgstr "Εξώφυλλο"
+
+msgid "IDS_MUSIC_BODY_1_GENRE"
+msgstr "1 είδος"
+
+msgid "IDS_MUSIC_BODY_PD_FOLDERS"
+msgstr "%d φάκελοι"
+
+msgid "IDS_MUSIC_BODY_1_FOLDER"
+msgstr "1 φάκελος"
+
+msgid "IDS_MUSIC_BODY_1_ARTIST"
+msgstr "1 καλλιτέχνης"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_M_MUSIC"
+msgstr "1 άλμπουμ"
+
+msgid "IDS_MUSIC_BODY_1_PLAYLIST"
+msgstr "1 λίστα αναπαραγωγής"
+
+msgid "IDS_MUSIC_BODY_MUSIC_PLAYER"
+msgstr "Μουσική"
+
+msgid "IDS_MUSIC_BUTTON_MOVE"
+msgstr "Μετακίνηση"
+
+msgid "IDS_MUSIC_BUTTON_AUTO_RECOMMENDATIONS"
+msgstr "Αυτόματες προτάσεις"
+
+msgid "IDS_MUSIC_BUTTON_FROM_THE_BEGINNING"
+msgstr "Από την αρχή"
+
+msgid "IDS_MUSIC_HEADER_SUGGESTIONS_FOR_YOU"
+msgstr "Προτάσεις για εσάς"
+
+msgid "IDS_MUSIC_OPT_SAVE"
+msgstr "Αποθήκευση"
+
+msgid "IDS_MUSIC_TAB4_BASIC_M_EQUALIZING"
+msgstr "Βασικό"
+
+msgid "IDS_MUSIC_BODY_INSTRUMENT"
+msgstr "Όργανο"
+
+msgid "IDS_MUSIC_BODY_TREBLE_M_EQUALISER"
+msgstr "Πρίμα"
+
+msgid "IDS_MUSIC_BODY_BASS_M_EQUALISER"
+msgstr "Μπάσα"
+
+msgid "IDS_MUSIC_BODY_NO_EFFECTS_ARE_APPLIED_IN_THIS_MODE_ABB"
+msgstr "Δεν έχουν εφαρμοστεί εφέ σε αυτήν τη λειτουργία."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_TIMBRE_OF_A_TUBE_AMP_ABB"
+msgstr "Προσομοιώνει το τέμπο ενισχυτή λάμπας."
+
+msgid "IDS_MUSIC_OPT_TUBE_AMP_EFFECT"
+msgstr "Ενισχ. Λάμπας"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_EFFECT_OF_VIRTUAL_71_CHANNEL_SURROUND_SOUND_ABB"
+msgstr "Προσομοιώνει το εφέ εικονικού καναλιού 7.1 ήχου surround."
+
+msgid "IDS_MUSIC_HEADER_SMALL_ROOM_M_REVERB_ABB"
+msgstr "Μικρό δωμάτιο"
+
+msgid "IDS_MUSIC_HEADER_LARGE_ROOM_M_REVERB_ABB"
+msgstr "Μεγάλος χώρος"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_LARGE_ROOM_EG_A_THEATRE_ABB"
+msgstr "Προσομοιώνει την αντήχηση ενός μεγάλου χώρου, π.χ. θεάτρου."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_CONCERT_HALL_ABB"
+msgstr "Προσομοιώνει την αντήχηση μιας αίθουσας συναυλιών."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_SMALL_SPACE_EG_A_STUDIO_ABB"
+msgstr "Προσομοιώνει την αντήχηση ενός μικρού χώρου, π.χ. στούντιο."
+
+msgid "IDS_MUSIC_BUTTON_3D_CHN"
+msgstr "3D"
+
+msgid "IDS_MUSIC_BODY_CLARITY_M_SOUNDEFFECT"
+msgstr "Καθαρός ήχος"
+
+msgid "IDS_MUSIC_BUTTON_RESET"
+msgstr "Μηδενισμ."
+
+msgid "IDS_MUSIC_TAB_YEARS"
+msgstr "Έτη"
+
+msgid "IDS_MUSIC_TAB_GENRES"
+msgstr "Είδη"
+
+msgid "IDS_MUSIC_TAB_COMPOSERS"
+msgstr "Συνθέτες"
+
+msgid "IDS_MUSIC_TAB_ALL_TRACKS"
+msgstr "Όλα τα κομμάτια"
+
+msgid "IDS_MUSIC_SK3_GO_TO_QUICK_LIST"
+msgstr "Γρήγορη λίστα"
+
+msgid "IDS_MUSIC_SK3_FIND"
+msgstr "Εύρεση"
+
+msgid "IDS_MUSIC_SK3_ADD_TO_QUICK_LIST"
+msgstr "Πρ.σε γρήγ.λίστα"
+
+msgid "IDS_MUSIC_POP_UNAUTHORISED_VIDEO_FILE_FOR_TV_OUT"
+msgstr "Μη εξουσιοδοτημένο αρχείο βίντεο για τη λειτουργία TV-out."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_CREATE_MAXIMUM_NUMBER_OF_PLAYLISTS_REACHED"
+msgstr "Δεν είναι δυνατή η δημιουργία. Συμπληρώθηκε ο μέγιστος αριθμός λιστών αναπαραγωγής."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTING_BLUETOOTH_HEADSET"
+msgstr "Δεν ήταν δυνατή η ρύθμιση της έντασης κατά τη σύνδεση του ακουστικού Bluetooth."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTED_TO_BLUETOOTH_HEADSET"
+msgstr "Δεν ήταν δυνατή η ρύθμιση της έντασης κατά τη σύνδεση του ακουστικού Bluetooth."
+
+msgid "IDS_MUSIC_POP_STOP_MUSIC_PLAYER_Q"
+msgstr "Διακοπή της εφαρμογής «Μουσική»;"
+
+msgid "IDS_MUSIC_POP_PLEASE_EXIT_SILENT_MODE"
+msgstr "Πραγματοποιήστε έξοδο από την αθόρυβη λειτουργία."
+
+msgid "IDS_MUSIC_POP_NETWORK_FAILURE"
+msgstr "Σφάλμα δικτύου."
+
+msgid "IDS_MUSIC_POP_MEMORY_CARD_LOADED"
+msgstr "Φόρτωση κάρτας μνήμης."
+
+msgid "IDS_MUSIC_POP_DEVICE_SETTINGS_ERROR"
+msgstr "Σφάλμα ρυθμίσεων συσκευής."
+
+msgid "IDS_MUSIC_POP_COULD_NOT_FIND_A_MATCH_FOR_THE_SONG"
+msgstr "Δεν βρέθηκε κάποιο τραγούδι που να ταιριάζει."
+
+msgid "IDS_MUSIC_POP_BUFFERING_MSTATUS"
+msgstr "Προσωρινή αποθήκευση"
+
+msgid "IDS_MUSIC_POP_BT_HEADSET_ONLY_SUPPORTS_NORMAL_EFFECTS_SETTING"
+msgstr "Το σετ ακουστικού-μικροφώνου BT υποστηρίζει μόνο τη ρύθμιση κανονικών εφέ."
+
+msgid "IDS_MUSIC_POP_APPLICATION_WILL_BE_CLOSED"
+msgstr "Η εφαρμογή θα τερματιστεί."
+
+msgid "IDS_MUSIC_POP_ADDED_GO_TO_WISH_LIST_Q"
+msgstr "Προστέθηκε. Θέλετε να μεταβείτε στη λίστα επιθυμιών;"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_THE_SERVICE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "Ενδέχεται να χρεωθείτε για την πρόσβαση στην υπηρεσία. Θέλετε να συνεχίσετε;"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_STORE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "Ενδέχεται να χρεωθείτε για την πρόσβαση στο κατάστημα. Θέλετε να συνεχίσετε;"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_ONLY_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES"
+msgstr "Τo εφέ ήχων του καναλιού 5.1 εκτελείται μόνο στη λειτουργία ακουστικών και Bluetooth."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "Τo εφέ ήχων του καναλιού 5.1 εκτελείται μόνο στη λειτουργία ακουστικών."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECTS_NOT_SUPPORTED_BY_SPEAKER"
+msgstr "Τα εφέ ήχου 5.1 καναλιών δεν υποστηρίζονται από το ηχείο."
+
+msgid "IDS_MUSIC_OPT_VIEW_BY_COVER_ART"
+msgstr "Προβολή ανά εξώφυλλο"
+
+msgid "IDS_MUSIC_OPT_SEND_TRACK"
+msgstr "Αποστολή κομματιού"
+
+msgid "IDS_MUSIC_OPT_RATE_TRACK"
+msgstr "Βαθμολόγηση κομματιού"
+
+msgid "IDS_MUSIC_OPT_PLAYLIST_MOVE_TRACK_IN_PLAYLIST"
+msgstr "Μετακίνηση κομματιού μέσα στη λίστα αναπαραγωγής"
+
+msgid "IDS_MUSIC_OPT_OPENPLAYLIST_CURRENT"
+msgstr "Τρέχουσα"
+
+msgid "IDS_MUSIC_OPT_DELETE_PLAYLIST"
+msgstr "Διαγραφή λίστας αναπαραγωγής"
+
+msgid "IDS_MUSIC_OPT_BACKGROUND_PLAYING"
+msgstr "Αναπαραγωγή στο παρασκήνιο"
+
+msgid "IDS_MUSIC_HEADER_EFFECTS"
+msgstr "Εφέ"
+
+msgid "IDS_MUSIC_BUTTON_BUY_NOW"
+msgstr "Αγορ.τώρα"
+
+msgid "IDS_MUSIC_BODY_WOW_HD"
+msgstr "Wow HD"
+
+msgid "IDS_MUSIC_BODY_WISHLIST"
+msgstr "Λίστα επιθυμιών"
+
+msgid "IDS_MUSIC_BODY_WIDE"
+msgstr "Ευρύς"
+
+msgid "IDS_MUSIC_BODY_WHA_WHA"
+msgstr "Wha-wha"
+
+msgid "IDS_MUSIC_BODY_VIBE_WOOFER"
+msgstr "Γούφερ vibe"
+
+msgid "IDS_MUSIC_BODY_TREMOLO"
+msgstr "Τρέμολο"
+
+msgid "IDS_MUSIC_BODY_TAP_TWICE_TO_PLAY_PAUSE_MUSIC"
+msgstr "Πατήστε δύο φορές για αναπαραγωγή/παύση μουσικής."
+
+msgid "IDS_MUSIC_BODY_SHARE_TRACK_VIA_BLUETOOTH"
+msgstr "Κοινή χρήση κομματιού μέσω Bluetooth"
+
+msgid "IDS_MUSIC_BODY_SETUPWIZARD_WELCOME_TO_THE_MUSIC_SETUP_WIZARD_CONTINUE_Q"
+msgstr "Καλώς ορίσατε στον Οδηγό εγκατάστασης μουσικής.\nΟι ακόλουθες οδηγίες θα σας βοηθήσουν να ρυθμίσετε τις παραμέτρους του τηλεφώνου σας. Συνέχεια;"
+
+msgid "IDS_MUSIC_BODY_QUICK_LIST"
+msgstr "Γρήγορη λίστα"
+
+msgid "IDS_MUSIC_BODY_PLAYINGSETTINGS_SOUND_EFFECTS"
+msgstr "Εφέ ήχου"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_ALL"
+msgstr "Όλα"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_1"
+msgstr "1"
+
+msgid "IDS_MUSIC_BODY_PLAYERSETTINGS_VOLUME"
+msgstr "Ένταση"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_SELECTED"
+msgstr "Επιλέχθηκαν %d κομμάτια."
+
+msgid "IDS_MUSIC_BODY_NO_PODCASTS"
+msgstr "Δεν υπάρχουν podcast"
+
+msgid "IDS_MUSIC_BODY_FIND_SIMILAR"
+msgstr "Εύρεση παρόμοιου"
+
+msgid "IDS_MUSIC_BODY_BACKGROUND_PLAY"
+msgstr "Αναπαραγωγή στο παρασκήνιο"
+
+msgid "IDS_MUSIC_BODY_51_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "Το κανάλι 5.1 μπορεί να ενεργοποιηθεί μόνο όταν τα ηχητικά εφέ είναι απενεργοποιημένα."
+
+msgid "IDS_MUSIC_TAB4_PODCASTS"
+msgstr "Podcasts"
+
+msgid "IDS_MUSIC_SK2_EDIT_IMAGE"
+msgstr "Επεξεργασία εικόνας"
+
+msgid "IDS_MUSIC_POP_PLAYING_ANY_SOUNDS_WILL_STOP_AND_SAVE_YOUR_VOICE_RECORDING_PLAY_Q"
+msgstr "Η αναπαραγωγή θα διακοπεί και υα γίνει αποθήκευση της φωνητικής ηχογράφησης. Αναπαραγωγή;"
+
+msgid "IDS_MUSIC_POP_MAXIMUM_NUMBER_OF_ITEMS_HPD_SELECTED"
+msgstr "Επιλέχθηκε ο μέγιστος αριθμός στοιχείων (%d)."
+
+msgid "IDS_MUSIC_POP_BLUETOOTH_DISCONNECTED"
+msgstr "Αποσυνδεδεμένο Bluetooth."
+
+msgid "IDS_MUSIC_POP_5_1_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "Το κανάλι 5.1 μπορεί να ενεργοποιηθεί μόνο όταν τα ηχητικά εφέ είναι απενεργοποιημένα."
+
+msgid "IDS_MUSIC_OPT_TAKE_PICTURE"
+msgstr "Λήψη φωτογραφίας"
+
+msgid "IDS_MUSIC_OPT_SHOW_MUSIC_VIEW_ABB"
+msgstr "Εμφάν. προβολής μουσικής"
+
+msgid "IDS_MUSIC_OPT_PAUSE"
+msgstr "Παύση"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALBUM"
+msgstr "Αναπαραγωγή άλμπουμ"
+
+msgid "IDS_MUSIC_OPT_LIST_BY"
+msgstr "Εμφάνιση ανά"
+
+msgid "IDS_MUSIC_OPT_HISTORY"
+msgstr "Ιστορικό"
+
+msgid "IDS_MUSIC_OPT_HIDE_MUSIC_VIEW_ABB"
+msgstr "Απόκρ. προβολής μουσικής"
+
+msgid "IDS_MUSIC_OPT_FIND_TAG"
+msgstr "Αναζήτηση ετικέτας"
+
+msgid "IDS_MUSIC_OPT_DROPBOX_CONTENT_ABB"
+msgstr "Περιεχ. Dropbox"
+
+msgid "IDS_MUSIC_OPT_CONTENT_ON_PHONE_ABB"
+msgstr "Περιεχ. στο τηλ."
+
+msgid "IDS_MUSIC_OPT_CHANGE_IMAGE"
+msgstr "Αλλαγή εικόνας"
+
+msgid "IDS_MUSIC_HEADER_DELETE_DROPBOX_DATA_ABB"
+msgstr "Διαγραφή δεδομ. Dropbox"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_STREAM_YOUR_MUSIC_TO_DEVICES_USING_ALLSHARE"
+msgstr "Μπορείτε να ακούσετε τη μουσική σας μέσω ροής σε συσκευές χρησιμοποιώντας το AllShare."
+
+msgid "IDS_MUSIC_BODY_VALIDITY"
+msgstr "Ισχύς"
+
+msgid "IDS_MUSIC_BODY_TYPE_CNOUN"
+msgstr "Τύπος"
+
+msgid "IDS_MUSIC_BODY_THIS_WILL_DELETE_THE_FILE_FROM_THE_SERVER_AND_ANY_CONNECTED_DEVICES_AS_WELL"
+msgstr "Με αυτήν την επιλογή θα διαγραφεί το αρχείο από το διακομιστή και τυχόν συνδεδεμένες συσκευές."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_ARTISTS"
+msgstr "Καλλιτέχνες"
+
+msgid "IDS_MUSIC_BODY_PLAYINGDETAILS_ALBUM_ART"
+msgstr "Είδος άλμπουμ"
+
+msgid "IDS_MUSIC_BODY_OTHER_CONTENTS"
+msgstr "Άλλα περιεχόμενα"
+
+msgid "IDS_MUSIC_BODY_NAME_TOO_LONG"
+msgstr "Πολύ μεγάλο όνομα."
+
+msgid "IDS_MUSIC_BODY_MUSIC_CLARITY"
+msgstr "Καθαρότητα μουσικής"
+
+msgid "IDS_MUSIC_BODY_HIGH_VOLUMES_MAY_HARM_YOUR_HEARING_IF_YOU_LISTEN_FOR_A_LONG_TIME"
+msgstr "Η ακρόαση μουσικής σε υψηλή ένταση για μεγάλο χρονικό διάστημα μπορεί να βλάψει την ακοή σας."
+
+msgid "IDS_MUSIC_BODY_AVAILABLE_USES"
+msgstr "Διαθέσιμες χρήσεις"
+
+msgid "IDS_MUSIC_TPOP_SOUND_EFFECTS_ONLY_AVAILABLE_WHILE_HEADPHONES_CONNECTED"
+msgstr "Τα εφέ ήχου είναι διαθέσιμα μόνο όταν υπάρχουν συνδεδεμένα ακουστικά."
+
+msgid "IDS_ST_OPT_ADD_TO_YOUR_PERSONAL_STORAGE"
+msgstr "Προσθήκη στον προσωπικό σας χώρο αποθήκευσης"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_YOUR_PERSONAL_STORAGE"
+msgstr "Κατάργηση από τον προσωπικό σας χώρο αποθήκευσης"
+
+msgid "IDS_ST_BODY_CONTEXTUAL_POP_UP_T_TALKBACK"
+msgstr "Αναδυόμενο μενού περιβάλλοντος"
+
+msgid "IDS_ST_BODY_A_CONTEXTUAL_POP_UP_IS_OPEN_DOUBLE_TAP_TO_CLOSE_IT_T_TALKBACK"
+msgstr "Ένα αναδυόμενο μενού περιβάλλοντος είναι ανοιχτό. Πατήστε δύο φορές για κλείσιμο."
+
+msgid "IDS_ST_BODY_REPEAT_ONE"
+msgstr "Επανάληψη μία φορά"
+
+msgid "IDS_ST_BUTTON_MOVING_ING"
+msgstr "Μετακίνηση..."
+
+msgid "IDS_HS_BODY_SELECT_UP_TO_PD_ITEMS"
+msgstr "Επιλέξτε μέχρι %d στοιχεία"
+
+msgid "IDS_CAM_BODY_TAB_T_TTS"
+msgstr "Καρτέλα"
+
+msgid "IDS_DLNA_OPT2_CHANGE_PLAYER"
+msgstr "Αλλαγή μέσου αναπαραγωγής"
+
+msgid "IDS_BR_SK_TABS"
+msgstr "Καρτέλες"
+
+msgid "IDS_MF_BODY_DROPBOX_ABB"
+msgstr "Dropbox"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Οι αυτόματες προτάσεις μπορούν να κάνουν εξαγωγή των σημαντικότερων σημείων από ηχητικά αρχεία."
+
+msgid "IDS_MF_BODY_PARENT_RATING"
+msgstr "Γονική αξιολόγηση"
+
+msgid "IDS_VR_POP_FILE_NOT_FOUND"
+msgstr "Δεν εντοπίστηκε το αρχείο."
+
+msgid "IDS_PB_POP_CALLER_RINGTONE_SAVED"
+msgstr "Ο ήχος κλήσης καλούντος αποθηκεύτηκε."
+
+msgid "IDS_MUSIC_BODY_BIT_DEPTH"
+msgstr "Βάθος bit"
+
+msgid "IDS_MUSIC_BODY_SIZE"
+msgstr "Μέγεθος"
+
+msgid "IDS_MF_HEADER_PD_SELECTED"
+msgstr "%d επιλέχθηκαν"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_THIS_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Μετά την προσθήκη κομματιών σε αυτήν τη συσκευή, τα στοιχεία θα εμφανίζονται εδώ."
+
+msgid "IDS_MUSIC_TMBODY_LENGTH"
+msgstr "Μήκος"
+
+msgid "IDS_MUSIC_POP_1_FOLDER_WILL_BE_DELETED"
+msgstr "1 φάκελος θα διαγραφεί."
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Κανένα περιεχόμενο"
+
+msgid "IDS_MUSIC_ITAB4_FOLDERS"
+msgstr "Φάκελοι"
+
+msgid "IDS_MUSIC_HEADER_MY_PLAYLISTS_ABB"
+msgstr "Οι λίστες αναπαραγ. μου"
+
+msgid "IDS_MP_BODY_SOUND_PLAYER"
+msgstr "Αναπαραγωγή ήχου"
+
+msgid "IDS_MUSIC_OPT_SETTINGS"
+msgstr "Ρυθμίσεις"
+
+msgid "IDS_MUSIC_POP_DELETING"
+msgstr "Διαγραφή..."
+
+msgid "IDS_MUSIC_POP_1_TRACK_WILL_BE_DELETED"
+msgstr "1 κομμάτι θα διαγραφεί."
+
+msgid "IDS_MUSIC_POP_ALL_TRACKS_WILL_BE_DELETED"
+msgstr "Όλα τα κομμάτια θα διαγραφούν"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_WILL_BE_DELETED"
+msgstr "%d κομμάτια θα διαγραφούν."
+
+msgid "IDS_MUSIC_POP_1_PLAYLIST_WILL_BE_DELETED"
+msgstr "Θα διαγραφεί 1 λίστα αναπαραγωγής."
+
+msgid "IDS_MUSIC_POP_PD_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Θα διαγραφούν %d λίστες αναπαραγωγής."
+
+msgid "IDS_MUSIC_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "Θα διαγραφούν %d άλμπουμ."
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS_WILL_BE_DELETED"
+msgstr "Θα διαγραφούν %d καλλιτέχνες."
+
+msgid "IDS_MUSIC_POP_PD_FOLDERS_WILL_BE_DELETED"
+msgstr "Θα διαγραφούν %d φάκελοι."
+
+msgid "IDS_ST_POP_CONNECTION_FAILED"
+msgstr "Αποτυχία σύνδεσης. Επανάληψη;"
+
+msgid "IDS_MUSIC_BODY_CLASSIC"
+msgstr "Κλασική"
+
+msgid "IDS_MUSIC_BODY_ROCK"
+msgstr "Ροκ"
+
+msgid "IDS_MUSIC_BODY_JAZZ"
+msgstr "Τζαζ"
+
+msgid "IDS_MUSIC_BODY_POP"
+msgstr "Ποπ"
+
+msgid "IDS_MUSIC_BODY_AUTO"
+msgstr "Auto"
+
+msgid "IDS_MUSIC_POP_CURRENT_SOUND_EFFECT_NOT_SUPPORTED_BY_HDMI"
+msgstr "Το τρέχον εφέ ήχου δεν υποστηρίζεται από το HDMI."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_BLUETOOTH"
+msgstr "Τα εφέ ήχου δεν υποστηρίζονται από το Bluetooth."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_LINE_OUT"
+msgstr "Τα εφέ ήχου δεν υποστηρίζονται από τη θύρα line out."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_HDMI"
+msgstr "Τα εφέ ήχου δεν υποστηρίζονται από τη θύρα HDMI."
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EFFECT"
+msgstr "Ενισχ. λάμπας"
+
+msgid "IDS_MUSIC_BODY_CUSTOM"
+msgstr "Προσαρμοσμένη"
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EQUALISER_ABB"
+msgstr "Ενισχ. Λάμπας"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d κομμάτια προστέθηκαν στη λίστα αναπαραγωγής."
+
+msgid "IDS_MUSIC_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 κομμάτι προστέθηκε στη λίστα αναπαραγωγής."
+
+msgid "IDS_MUSIC_HEADER_ADD_TRACKS_TO_PLAYLIST_ABB"
+msgstr "Προσθ. κομματ. στη λίστα αναπ."
+
+msgid "IDS_MUSIC_POP_PS_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "Το %s χρησιμοποιείται ήδη. Εισαγάγετε άλλο όνομα."
+
+msgid "IDS_MUSIC_TMBODY_DATE_OF_RECORDING"
+msgstr "Ημερομηνία εγγραφής"
+
+msgid "IDS_MBP_TPOP_TRACK_SET_AS_ALARM_TONE"
+msgstr "Το κομμάτι ορίστηκε ως ήχος αφύπνισης."
+
+msgid "IDS_MUSIC_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Δεν βρέθηκαν αποτελέσματα"
+
+msgid "IDS_MUSIC_OPT_DEFAULT_RINGTONE_ABB"
+msgstr "Προεπιλεγμένος ήχος κλήσης"
+
+msgid "IDS_MUSIC_TPOP_TRACK_SET_AS_CALLER_RINGTONE"
+msgstr "Το κομμάτι ορίστηκε ως ήχος κλήσης καλούντος."
+
+msgid "IDS_MP_TPOP_TRACK_SET_AS_RINGTONE"
+msgstr "Το κομμάτι ορίστηκε ως ήχος κλήσης."
+
+msgid "IDS_DLNA_BODY_ADD_TO_NOW_PLAYING_LIST"
+msgstr "Προσθήκη στην τρέχουσα λίστα αναπαραγωγής"
+
+msgid "IDS_MUSIC_TPOP_EQUALISER_SETTINGS_WILL_BE_APPLIED_WHILE_PLAYING_MUSIC"
+msgstr "Θα εφαρμοστούν οι ρυθμίσεις ισοσταθμιστή κατά την αναπαραγωγή μουσικής."
+
+msgid "IDS_ST_BODY_ALERT"
+msgstr "Ειδοποίηση"
+
+msgid "IDS_IV_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "Θα διαγραφεί 1 άλμπουμ."
+
+msgid "IDS_MUSIC_OPT_SD_CARD"
+msgstr "Κάρτα SD"
+
+msgid "IDS_MUSIC_SBODY_DEVICE_STORAGE"
+msgstr "Χώρος αποθήκευσης συσκευής"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE"
+msgstr "Το όνομα λίστας αναπαραγωγής χρησιμοποιείται ήδη."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_PD"
+msgstr "Λίστα αναπαραγωγής %d"
+
+msgid "IDS_MUSIC_HEADER_CREATE"
+msgstr "Δημιουργία"
+
+msgid "IDS_MUSIC_HEADER_EQUALISER_PRESET_ABB"
+msgstr "Προεπιλογές ισοσταθμιστή"
+
+msgid "IDS_MUSIC_OPT_AUTOMATIC_M_EQUALIZER_EFFECT"
+msgstr "Αυτόματα"
+
+msgid "IDS_MUSIC_OPT_CLASSICAL_M_EQUALIZER_EFFECT"
+msgstr "Κλασική"
+
+msgid "IDS_MUSIC_HEADER_ENVIRONMENT_EFFECT_ABB"
+msgstr "Εφέ περιβάλλοντος"
+
+msgid "IDS_VIDEO_POP_THE_FILE_TYPE_IS_NOT_SUPPORTED"
+msgstr "Ο τύπος αρχείου δεν υποστηρίζεται."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_CREATE_PLAYLISTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Τα στοιχεία θα εμφανιστούν εδώ, μετά την δημιουργία λιστών αναπαραγωγής."
+
+msgid "IDS_ST_HEADER_SELECT_AUDIO_DEVICE_ABB"
+msgstr "Επιλογή συσκευής ήχου"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "Το όνομα της λίστας αναπαραγωγής χρησιμοποιείται ήδη. Εισαγάγετε άλλο όνομα."
+
+msgid "IDS_MUSIC_HEADER_SOUNDALIVE_ABB3"
+msgstr "SoundAlive"
+
+msgid "IDS_MUSIC_OPT_NOW_PLAYING_LIST"
+msgstr "Λίστα αναπαραγωγής σε εξέλιξη"
+
+msgid "IDS_MUSIC_OPT_SHOW_LYRICS"
+msgstr "Εμφάνιση στίχων"
+
+msgid "IDS_MUSIC_OPT_HIDE_LYRICS"
+msgstr "Απόκρυψη στίχων"
+
+msgid "IDS_MUSIC_TPOP_UNABLE_TO_PLAY_MUSIC_DURING_CALLS"
+msgstr "Δεν είναι δυνατή η αναπαραγωγή μουσικής κατά τις κλήσεις."
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Διαγραφή"
+
+msgid "IDS_MUSIC_HEADER_SELECT"
+msgstr "Επιλογή"
+
+msgid "IDS_TPLATFORM_OPT_NFC"
+msgstr "NFC"
+
+msgid "IDS_MUSIC_HEADER_UNABLE_TO_PLAY_TRACK"
+msgstr "Αδύνατη η αναπαραγωγή του κομματιού"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "ΤΕΛΟΣ"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ΑΚΥΡΟ"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "ΔΙΑΓΡΑΦΗ"
+
+msgid "IDS_MUSIC_POP_RENAME"
+msgstr "Μετονομασία"
+
+msgid "IDS_MUSIC_OPT_MESSAGE"
+msgstr "Μήνυμα"
+
+msgid "IDS_MUSIC_SK_OK"
+msgstr "OK"
+
+msgid "IDS_MUSIC_SK_CANCEL"
+msgstr "Άκυρο"
+
+msgid "IDS_MUSIC_BUTTON_REFRESH"
+msgstr "Ανανέωση"
+
+msgid "IDS_MUSIC_BODY_SELECT_ALL"
+msgstr "Επιλογή όλων"
+
+msgid "IDS_MUSIC_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_MUSIC_POP_DELETED"
+msgstr "Διαγράφηκε."
+
+msgid "IDS_MUSIC_OPT_STOP"
+msgstr "Διακοπή"
+
+msgid "IDS_MUSIC_BODY_UNKNOWN"
+msgstr "Άγνωστο"
+
+msgid "IDS_MUSIC_BODY_TITLE"
+msgstr "Τίτλος"
+
+msgid "IDS_MUSIC_OPT_SENDVIA_EMAIL"
+msgstr "Email"
+
+msgid "IDS_MUSIC_OPT_BLUETOOTH"
+msgstr "Bluetooth"
+
+msgid "IDS_MUSIC_HEADER_DOWNLOAD"
+msgstr "Λήψη"
+
+msgid "IDS_MUSIC_POP_LOW_BATTERY"
+msgstr "Χαμηλή μπαταρία."
+
+msgid "IDS_MUSIC_HEADER_AUDIO_DEVICE"
+msgstr "Συσκευή ήχου"
+
+msgid "IDS_MUSIC_HEADER_DETAILS"
+msgstr "Λεπτομέρειες"
+
+msgid "IDS_MUSIC_OPT_END"
+msgstr "Λήξη"
+
+msgid "IDS_MUSIC_OPT_EDIT"
+msgstr "Επεξεργασία"
+
+msgid "IDS_CAM_HEADER_UPDATED"
+msgstr "Ενημερώθηκε."
+
+msgid "IDS_MUSIC_POP_REMOVED"
+msgstr "Αφαιρέθηκε."
+
+msgid "IDS_MUSIC_OPT_SELECTED"
+msgstr "Επιλεγμένο"
+
+msgid "IDS_ST_BUTTON_SCAN"
+msgstr "Σάρωση"
+
+msgid "IDS_MF_POP_ERROR"
+msgstr "Σφάλμα."
+
+msgid "IDS_MF_POP_MEMORY_FULL"
+msgstr "Μνήμη ημερολογίου πλήρης."
+
+msgid "IDS_MUSIC_MBODY_QUEUE"
+msgstr "Ουρά"
+
+msgid "IDS_MUSIC_OPT_VOLUME"
+msgstr "Ένταση"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE"
+msgstr "Τυχαία σειρά"
+
+msgid "IDS_MUSIC_OPT_REPEAT"
+msgstr "Επανάληψη"
+
+msgid "IDS_COM_BODY_DETAILS"
+msgstr "Details"
+
+msgid "IDS_COM_BODY_DETAILS_TITLE"
+msgstr "Title"
+
+msgid "IDS_COM_BODY_EDIT"
+msgstr "Edit"
+
+msgid "IDS_COM_BODY_EMAIL"
+msgstr "Email"
+
+msgid "IDS_COM_BODY_END"
+msgstr "End"
+
+msgid "IDS_COM_BODY_FOLDERS"
+msgstr "Folders"
+
+msgid "IDS_COM_BODY_GALLERY"
+msgstr "Gallery"
+
+msgid "IDS_COM_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_COM_BODY_LOADING"
+msgstr "Loading..."
+
+msgid "IDS_COM_BODY_LOW_BATTERY"
+msgstr "Low battery."
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Message"
+
+msgid "IDS_COM_BODY_MUSIC"
+msgstr "Music"
+
+msgid "IDS_COM_BODY_NFC"
+msgstr "NFC"
+
+msgid "IDS_COM_BODY_NO_CONTENTS"
+msgstr "No content"
+
+msgid "IDS_COM_BODY_PAUSE"
+msgstr "Pause"
+
+msgid "IDS_COM_BODY_PD_SELECTED"
+msgstr "%d selected."
+
+msgid "IDS_COM_BODY_PREVIOUS"
+msgstr "Previous"
+
+msgid "IDS_COM_BODY_RESET_A"
+msgstr "Reset"
+
+msgid "IDS_COM_BODY_SELECTED"
+msgstr "Selected"
+
+msgid "IDS_COM_BODY_SELECT_ALL"
+msgstr "Select all"
+
+msgid "IDS_COM_BODY_SETTINGS"
+msgstr "Settings"
+
+msgid "IDS_COM_BODY_TIME"
+msgstr "Time"
+
+msgid "IDS_COM_BODY_UNABLE_TO_ADD"
+msgstr "Unable to add."
+
+msgid "IDS_COM_BODY_UNKNOWN"
+msgstr "Unknown"
+
+msgid "IDS_COM_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_COM_BUTTON_SCAN"
+msgstr "Scan"
+
+msgid "IDS_COM_BUTTON_SHARE"
+msgstr "Share"
+
+msgid "IDS_COM_HEADER_AUDIO_DEVICE_ABB"
+msgstr "Audio device"
+
+msgid "IDS_COM_OPT_ADDED"
+msgstr "Added."
+
+msgid "IDS_COM_OPT_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_POP_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_POP_CONNECTION_FAILED"
+msgstr "Connection failed."
+
+msgid "IDS_COM_POP_DELETED"
+msgstr "Deleted."
+
+msgid "IDS_COM_POP_DELETE_Q"
+msgstr "Delete?"
+
+msgid "IDS_COM_POP_DONE"
+msgstr "Done"
+
+msgid "IDS_COM_POP_DOWNLOADING"
+msgstr "Downloading..."
+
+msgid "IDS_COM_POP_ERROR"
+msgstr "Error."
+
+msgid "IDS_COM_POP_FAILED"
+msgstr "Failed."
+
+msgid "IDS_COM_POP_FILE_NOT_EXIST"
+msgstr "This file does not exist."
+
+msgid "IDS_COM_POP_FILE_NOT_FOUND"
+msgstr "File not found."
+
+msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximum number of characters reached."
+
+msgid "IDS_COM_POP_MEMORY_FULL"
+msgstr "Memory full."
+
+msgid "IDS_COM_POP_REMOVED"
+msgstr "Removed."
+
+msgid "IDS_COM_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Unable to use during Mass storage mode."
+
+msgid "IDS_COM_POP_UPDATED"
+msgstr "Updated."
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_SK_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_SK_DOWNLOAD"
+msgstr "Download"
+
+msgid "IDS_COM_SK_NEW"
+msgstr "New"
+
+msgid "IDS_COM_SK_NEXT"
+msgstr "Next"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_SK_REFRESH"
+msgstr "Refresh"
+
+msgid "IDS_COM_SK_REMOVE"
+msgstr "Remove"
+
+msgid "IDS_COM_SK_SAVE"
+msgstr "Save"
+
+msgid "IDS_COM_SK_SELECT"
+msgstr "Select"
+
+msgid "IDS_COM_SK_SET"
+msgstr "Set"
+
+msgid "IDS_COM_SK_STOP"
+msgstr "Stop"
+
+
+msgid "IDS_MH_BODY_THE_PLAYLIST_NAME_PS_IS_ALREADY_IN_USE"
+msgstr "The playlist name %s is already in use."
+
+msgid "IDS_MH_BODY_TOTAL"
+msgstr "Total"
+
+msgid "IDS_MH_MBODY_RECENTLY_ADDED_M_SONG"
+msgstr "Recently added"
+
+msgid "IDS_MH_OPT_MORE_INFO_ABB"
+msgstr "More info"
+
+msgid "IDS_MH_POP_ALARM_TONE_SET"
+msgstr "Alarm tone set."
+
+msgid "IDS_MH_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 track added to playlist."
+
+msgid "IDS_MH_TPOP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d tracks added to playlist."
+
+msgid "IDS_MUSIC_OPT_RENAME"
+msgstr "Rename"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Unable to play during call."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Υπέρβαση μέγιστου μεγέθους αρχείων."
+
+msgid "IDS_CAM_TPOP_UNABLE_TO_PLAY_MUSIC_WHILE_RECORDING_AUDIO_OR_VIDEO"
+msgstr "Δεν είναι δυνατή η αναπαραγωγή μουσικής κατά την εγγραφή ήχου ή βίντεο."
+
--- /dev/null
+msgid "IDS_ST_BODY_LOADING_ING"
+msgstr "Loading..."
+
+msgid "IDS_GALLERY_OPT_PRIVATE_M_CONTENT"
+msgstr "Private"
+
+msgid "IDS_MF_BODY_TIME"
+msgstr "Time"
+
+msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
+msgstr "This file does not exist."
+
+msgid "IDS_MUSIC_POP_PHONE_RINGTONE"
+msgstr "Phone ringtone"
+
+msgid "IDS_MUSIC_BODY_DURATION"
+msgstr "Duration"
+
+msgid "IDS_MUSIC_BODY_MUSIC_LOCATION"
+msgstr "Location"
+
+msgid "IDS_MUSIC_BODY_SET_AS_M_RINGTONE"
+msgstr "Set as"
+
+msgid "IDS_ST_OPT_ADD_TO_PERSONAL_PAGE"
+msgstr "Add to personal page"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_PERSONAL_PAGE_ABB"
+msgstr "Remove from personal page"
+
+msgid "IDS_ST_POP_MOVE_TO_NORMAL_STORAGE"
+msgstr "Move to normal storage"
+
+msgid "IDS_ST_POP_MOVE_TO_PERSONAL_STORAGE"
+msgstr "Move to personal storage"
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEMS_WILL_BE_MOVED_TO_PS"
+msgstr "The selected items will be moved to %s."
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEM_WILL_BE_MOVED_TO_PS"
+msgstr "The selected item will be moved to %s."
+
+msgid "IDS_VR_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Unable to use during Mass storage mode."
+
+msgid "IDS_MUSIC_POP_RINGTONE_ADDED"
+msgstr "Ringtone added."
+
+msgid "IDS_CAM_BODY_BUTTON_T_TTS"
+msgstr "Button"
+
+msgid "IDS_MUSIC_HEADER_SELECT_ITEMS"
+msgstr "Select items"
+
+msgid "IDS_ST_BODY_ADVANCED"
+msgstr "Advanced"
+
+msgid "IDS_ST_SK_PREVIOUS"
+msgstr "Previous"
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Close"
+
+msgid "IDS_MUSIC_POP_ADDED"
+msgstr "Added."
+
+msgid "IDS_MUSIC_POP_FAILED"
+msgstr "Failed."
+
+msgid "IDS_MUSIC_BODY_NO_SEARCH_RESULTS"
+msgstr "No search results"
+
+msgid "IDS_MUSIC_SK_DONE"
+msgstr "Done"
+
+msgid "IDS_MUSIC_BODY_NO_ITEMS"
+msgstr "No items"
+
+msgid "IDS_BR_OPT_ADD_TO_HOME"
+msgstr "Add to home"
+
+msgid "IDS_BR_SK_NEXT"
+msgstr "Next"
+
+msgid "IDS_BR_BODY_DOWNLOADING_ING"
+msgstr "Downloading..."
+
+msgid "IDS_IV_BODY_FAVOURITE"
+msgstr "Favourite"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_PERSONAL_STORAGE"
+msgstr "Add to personal storage"
+
+msgid "IDS_DLNA_POP_DISCONNECTED_FROM_PS_CHECK_THE_NETWORK_STATUS_AND_THE_CONNECTED_DEVICE"
+msgstr "Disconnected from %s. Check the network status and the connected device."
+
+msgid "IDS_DLNA_OPT_VIA_SCREEN_MIRRORING_ABB"
+msgstr "Via Screen Mirroring"
+
+msgid "IDS_DLNA_OPT_VIA_HOME_NETWORK_ABB"
+msgstr "Via home network"
+
+msgid "IDS_IV_POP_ENTRY_IS_EMPTY"
+msgstr "Entry is empty."
+
+msgid "IDS_FM_POP_UNAVAILABLE_DURING_CALL"
+msgstr "Unavailable during call."
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximum number of characters reached."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_SHARE_DRM_FILE"
+msgstr "Unable to share DRM file."
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Removing..."
+
+msgid "IDS_MUSIC_HEADER_PD_DEVICES"
+msgstr "%d devices"
+
+msgid "IDS_MUSIC_BUTTON_ENABLE_MOTION"
+msgstr "Enable motion"
+
+msgid "IDS_MUSIC_BUTTON_DONT_ASK_AGAIN"
+msgstr "Don't ask again"
+
+msgid "IDS_MUSIC_BODY_NO_RESULTS_FOUND"
+msgstr "No results found."
+
+msgid "IDS_VPL_OPT_HDMI"
+msgstr "HDMI"
+
+msgid "IDS_MUSIC_BODY_TURN_PHONE_OVER_TO_MUTE_INCOMING_CALLS_MESSAGE_ALERTS_AND_ALARMS"
+msgstr "Turn phone over to mute incoming calls, message alerts, and alarms."
+
+msgid "IDS_ST_BODY_NONE"
+msgstr "None"
+
+msgid "IDS_ST_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_ST_BODY_GALLERY"
+msgstr "Gallery"
+
+msgid "IDS_ST_BODY_DOUBLE_TAP_TO_MOVE_TO_CONTENT_T_TTS"
+msgstr "Double tap to move to content."
+
+msgid "IDS_MUSIC_BODY_SURROUND"
+msgstr "Surround"
+
+msgid "IDS_MUSIC_OPT_LYRICS_ABB"
+msgstr "Lyrics"
+
+msgid "IDS_MUSIC_POP_AFTER_YOU_ADD_TRACKS_TO_MUSIC_ON_YOUR_MOBILE_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "After you add tracks to Music on your mobile device, they will be shown here."
+
+msgid "IDS_MUSIC_BODY_SAMPLING_RATE"
+msgstr "Sampling rate"
+
+msgid "IDS_MUSIC_BODY_MARKED_AS_A_FAVOURITE"
+msgstr "Marked as a favourite."
+
+msgid "IDS_MUSIC_BODY_MUSIC"
+msgstr "Music"
+
+msgid "IDS_MUSIC_BODY_NOT_MARKED_AS_A_FAVOURITE"
+msgstr "Not marked as a favourite."
+
+msgid "IDS_MUSIC_HEADER_SEARCH_MUSIC_ABB"
+msgstr "Search music"
+
+msgid "IDS_MUSIC_POP_AUTO_RECOMMENDATION_DOES_NOT_SUPPORT_THIS_AUDIO_FILE"
+msgstr "Auto recommendation does not support this audio file."
+
+msgid "IDS_MUSIC_POP_SORRY_THE_PLAYER_DOES_NOT_SUPPORT_THIS_TYPE_OF_AUDIO_FILE"
+msgstr "Sorry, the player does not support this type of audio file."
+
+msgid "IDS_MUSIC_BODY_FAVOURITES"
+msgstr "Favourites"
+
+msgid "IDS_MUSIC_BODY_MOST_PLAYED"
+msgstr "Most played"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_ADDED"
+msgstr "Recently added"
+
+msgid "IDS_MUSIC_OPT_CREATE_PLAYLIST"
+msgstr "Create playlist"
+
+msgid "IDS_MUSIC_OPT_REMOVE"
+msgstr "Remove"
+
+msgid "IDS_MUSIC_OPT_SETAS_CALLER_RINGTONE"
+msgstr "Caller ringtone"
+
+msgid "IDS_MUSIC_TAB4_ARTISTS"
+msgstr "Artists"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD"
+msgstr "Unable to add."
+
+msgid "IDS_MUSIC_POP_UNABLE_CREATE_PLAYLIST"
+msgstr "Unable to create playlist."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_GET_TAG"
+msgstr "Unable to get tag."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_MORE_THAN_PD_MUSIC_FILE"
+msgstr "Unable to add more than %d music file."
+
+msgid "IDS_MUSIC_BODY_ALBUM"
+msgstr "Album"
+
+msgid "IDS_MUSIC_BODY_AUTHOR"
+msgstr "Author"
+
+msgid "IDS_MUSIC_BODY_COPYRIGHT"
+msgstr "Copyright"
+
+msgid "IDS_MUSIC_BODY_CREATE_PLAYLIST"
+msgstr "Create playlist"
+
+msgid "IDS_MUSIC_BODY_DESCRIPTION"
+msgstr "Description"
+
+msgid "IDS_MUSIC_BODY_FORMAT"
+msgstr "Format"
+
+msgid "IDS_MUSIC_BODY_IMPOSSIBLE"
+msgstr "Impossible"
+
+msgid "IDS_MUSIC_BODY_NO_PLAYLISTS"
+msgstr "No playlists"
+
+msgid "IDS_MUSIC_BODY_TRACK_NUMBER"
+msgstr "Track number"
+
+msgid "IDS_MUSIC_POP_DELETE_Q"
+msgstr "Delete?"
+
+msgid "IDS_MUSIC_POP_REMOVE_Q"
+msgstr "Remove?"
+
+msgid "IDS_MUSIC_POP_UNABLE_RENAME_PLAYLIST"
+msgstr "Unable to rename playlist."
+
+msgid "IDS_MUSIC_TAB4_ALBUMS"
+msgstr "Albums"
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Adding..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Delete %d albums?"
+
+msgid "IDS_MUSIC_TAB4_PLAYLISTS"
+msgstr "Playlists"
+
+msgid "IDS_MUSIC_OPT_ADD"
+msgstr "Add"
+
+msgid "IDS_MUSIC_BODY_BIOGRAPHY"
+msgstr "Biography"
+
+msgid "IDS_MUSIC_BODY_CREDITS"
+msgstr "Credits"
+
+msgid "IDS_MUSIC_BODY_DETAILS_MEADIA_INFO"
+msgstr "Media info"
+
+msgid "IDS_MUSIC_BODY_DISCOGRAPHY"
+msgstr "Discography"
+
+msgid "IDS_MUSIC_BODY_LYRIC"
+msgstr "Lyric"
+
+msgid "IDS_MUSIC_BODY_POSSIBLE"
+msgstr "Possible"
+
+msgid "IDS_MUSIC_BODY_REVIEW"
+msgstr "Review"
+
+msgid "IDS_MUSIC_HEADER_TRACK_LIST"
+msgstr "Track list"
+
+msgid "IDS_MUSIC_BODY_ADD_TO_PLAYLIST"
+msgstr "Add to playlist"
+
+msgid "IDS_MUSIC_BODY_ARTIST"
+msgstr "Artist"
+
+msgid "IDS_MUSIC_BODY_FORWARDING"
+msgstr "Forwarding"
+
+msgid "IDS_MUSIC_BODY_RECORDED_DATE"
+msgstr "Date of recording"
+
+msgid "IDS_MUSIC_BODY_PLAYLISTS"
+msgstr "Playlists"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_PLAYED"
+msgstr "Recently played"
+
+msgid "IDS_MUSIC_BODY_TRACK_LENGTH"
+msgstr "Track length"
+
+msgid "IDS_MUSIC_HEADER_NO_SONGS"
+msgstr "No songs"
+
+msgid "IDS_MUSIC_POP_THIS_TRACK_WILL_BE_DELETED"
+msgstr "This track will be deleted."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_TRACKS_WILL_BE_DELETED"
+msgstr "The selected tracks will be deleted."
+
+msgid "IDS_MUSIC_POP_THIS_ARTIST_WILL_BE_DELETED"
+msgstr "This artist will be deleted."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ARTISTS_WILL_BE_DELETED"
+msgstr "The selected artists will be deleted."
+
+msgid "IDS_MUSIC_POP_ALL_ARTISTS_WILL_BE_DELETED"
+msgstr "All artists will be deleted."
+
+msgid "IDS_MUSIC_POP_THIS_FOLDER_WILL_BE_DELETED"
+msgstr "This folder will be deleted."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_FOLDERS_WILL_BE_DELETED"
+msgstr "The selected folders will be deleted."
+
+msgid "IDS_MUSIC_POP_ALL_FOLDERS_WILL_BE_DELETED"
+msgstr "All folders will be deleted."
+
+msgid "IDS_MUSIC_POP_THIS_ALBUM_WILL_BE_DELETED"
+msgstr "This album will be deleted."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ALBUMS_WILL_BE_DELETED"
+msgstr "The selected albums will be deleted."
+
+msgid "IDS_MUSIC_POP_ALL_ALBUMS_WILL_BE_DELETED"
+msgstr "All albums will be deleted."
+
+msgid "IDS_MUSIC_POP_THIS_PLAYLIST_WILL_BE_DELETED"
+msgstr "This playlist will be deleted."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_PLAYLISTS_WILL_BE_DELETED"
+msgstr "The selected playlists will be deleted."
+
+msgid "IDS_MUSIC_POP_ALL_PLAYLISTS_WILL_BE_DELETED"
+msgstr "All playlists will be deleted."
+
+msgid "IDS_MUSIC_HEADER_SONGS"
+msgstr "Songs"
+
+msgid "IDS_MUSIC_OPT_REORDER"
+msgstr "Reorder"
+
+msgid "IDS_MUSIC_OPT_SAVE_AS_PLAYLIST"
+msgstr "Save as playlist"
+
+msgid "IDS_MUSIC_OPT_SETAS_ALARM_TONE"
+msgstr "Alarm tone"
+
+msgid "IDS_MUSIC_POP_NOTHING_SELECTED"
+msgstr "Nothing selected."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Unable to play. Error occurred."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_UNSUPPORTED_FILETYPE"
+msgstr "Unable to play. Unsupported file type."
+
+msgid "IDS_MUSIC_SK_SHARE"
+msgstr "Share"
+
+msgid "IDS_MUSIC_TAB4_CONDUCTORS"
+msgstr "Conductors"
+
+msgid "IDS_MUSIC_HEADER_SELECT_DEVICE"
+msgstr "Select device"
+
+msgid "IDS_MUSIC_SK_VIEW_AS"
+msgstr "View as"
+
+msgid "IDS_MUSIC_BODY_SOUNDEFFECTS_NORMAL"
+msgstr "Normal"
+
+msgid "IDS_MUSIC_BODY_USER"
+msgstr "User"
+
+msgid "IDS_MUSIC_BODY_VOCAL_M_SOUNDEFFECT"
+msgstr "Vocal"
+
+msgid "IDS_MUSIC_MBODY_BASS_BOOST"
+msgstr "Bass boost"
+
+msgid "IDS_MUSIC_MBODY_TREBLE_BOOST"
+msgstr "Treble boost"
+
+msgid "IDS_MUSIC_BODY_CAFE_M_SOUNDEFFECT"
+msgstr "Cafe"
+
+msgid "IDS_MUSIC_OPT_VIRTUAL_71_CH"
+msgstr "Virtual 7.1 ch"
+
+msgid "IDS_MUSIC_OPT_AFTER_15_MIN_ABB"
+msgstr "After 15 mins"
+
+msgid "IDS_MUSIC_BODY_AFTER_30_MIN"
+msgstr "After 30 mins"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HOUR"
+msgstr "After 1 hour"
+
+msgid "IDS_MUSIC_POP_AFTER_1_HOUR_30_MIN"
+msgstr "After 1 hour 30 mins"
+
+msgid "IDS_MUSIC_BODY_AFTER_2_HOURS"
+msgstr "After 2 hours"
+
+msgid "IDS_MUSIC_BODY_MUSIC_AUTO_OFF"
+msgstr "Music auto off"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES_ONLY"
+msgstr "This sound effect works in earphone and Bluetooth headset modes only."
+
+msgid "IDS_MUSIC_TAB4_MUSIC_SQUARE"
+msgstr "Music square"
+
+msgid "IDS_MUSIC_POP_NOT_ENOUGH_MUSIC_FILES_TO_PLAY_IN_MUSIC_SQUARE_AT_LEAST_PD_MUSIC_FILES_REQUIRED"
+msgstr "There are not enough music files to play in Music square. At least %d music files required."
+
+msgid "IDS_MUSIC_BODY_PASSION_M_MOOD"
+msgstr "Passion"
+
+msgid "IDS_MUSIC_BODY_CALM_M_ADJECTIVE"
+msgstr "Calm"
+
+msgid "IDS_MUSIC_BODY_JOY_M_MOOD"
+msgstr "Joy"
+
+msgid "IDS_MUSIC_BODY_LIBRARY_UPDATE"
+msgstr "Library update"
+
+msgid "IDS_MUSIC_POP_UPDATE_LIBRARY_Q"
+msgstr "Update library?"
+
+msgid "IDS_MUSIC_BODY_CHANGE_AXIS"
+msgstr "Change axis"
+
+msgid "IDS_MUSIC_ITAB4_GENRES"
+msgstr "Genres"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_1_TRACK"
+msgstr "1 album/1 track"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_PD_TRACKS"
+msgstr "1 album/%d tracks"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS_PD_TRACKS"
+msgstr "%d albums/%d tracks"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_CONTROL_MUSIC_PLAYER_WITH_THE_VOICE_COMMANDS_P1SS_P2SS_P3SS_P4SS_P5SS_AND_P6SS"
+msgstr "You can control Music Player with the voice commands %1$s, %2$s, %3$s, %4$s, %5$s, and %6$s."
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_PD_TRACKS"
+msgstr "Shuffle %d tracks"
+
+msgid "IDS_MUSIC_BODY_MORE_INFO"
+msgstr "More info"
+
+msgid "IDS_MUSIC_HEADER_MY_MUSIC_M_APPLICATION_NAME"
+msgstr "My Music"
+
+msgid "IDS_MUSIC_OPT_LIST_VIEW"
+msgstr "List view"
+
+msgid "IDS_MUSIC_OPT_PLAY_VIA_GROUP_PLAY"
+msgstr "Play via Group Play"
+
+msgid "IDS_MUSIC_POP_TRACK_ADDED_TO_FAVOURITES"
+msgstr "Track added to favourites."
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_FAVOURITES"
+msgstr "Remove from favourites"
+
+msgid "IDS_MUSIC_BODY_NEW_M_LATEST"
+msgstr "New"
+
+msgid "IDS_MUSIC_OPT_TRACKS"
+msgstr "Tracks"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL"
+msgstr "Thumbnail"
+
+msgid "IDS_MUSIC_SK_LIST"
+msgstr "List"
+
+msgid "IDS_MUSIC_SK_OPEN_PLAYLIST"
+msgstr "Open playlist"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALL"
+msgstr "Play all"
+
+msgid "IDS_MUSIC_POP_SELECTED_LIST_EMPTY"
+msgstr "Selected list empty."
+
+msgid "IDS_MUSIC_BODY_MOODS"
+msgstr "Moods"
+
+msgid "IDS_MUSIC_BUTTON_YEARS"
+msgstr "Years"
+
+msgid "IDS_MUSIC_BODY_OLD"
+msgstr "Old"
+
+msgid "IDS_MUSIC_BODY_MUSIC_SQUARE_ANALYSES_THE_CHARACTERISTICS_OF_MUSIC_FILES_STORED_ON_YOUR_DEVICE_AND_AUTOMATICALLY_CREATES_PLAYLISTS_MSG"
+msgstr "Music square analyses the characteristics of music files stored on your device and automatically creates playlists."
+
+msgid "IDS_MUSIC_BODY_PLAY_TRACKS_WITH_SIMILAR_CHARACTERISTICS_BY_SELECTING_A_SQUARE_ON_THE_SCREEN"
+msgstr "Play tracks with similar characteristics by selecting a square on the screen."
+
+msgid "IDS_MUSIC_BODY_VIEW_PLAYLIST_DETAILS_BY_TAPPING_AND_HOLDING_THE_SQUARE_CURRENTLY_BEING_PLAYED"
+msgstr "View playlist details by tapping and holding the square currently being played."
+
+msgid "IDS_MUSIC_BODY_NEARBY_DEVICES"
+msgstr "Nearby devices"
+
+msgid "IDS_MUSIC_POP_YOU_WILL_NEED_TO_UPDATE_THE_LIBRARY_IF_NEW_SONGS_HAVE_BEEN_ADDED"
+msgstr "You will need to update the library if new songs have been added."
+
+msgid "IDS_MUSIC_BODY_NO_ALBUMS"
+msgstr "No albums"
+
+msgid "IDS_MUSIC_BODY_NO_ARTISTS"
+msgstr "No artists"
+
+msgid "IDS_MUSIC_OPT_PLAY_SPEED_ABB"
+msgstr "Play speed"
+
+msgid "IDS_MUSIC_BODY_CONCERT_HALL_M_SOUNDEFFECT"
+msgstr "Concert hall"
+
+msgid "IDS_MUSIC_OPT_ADD_TO"
+msgstr "Add to"
+
+msgid "IDS_MUSIC_SK_VIEW"
+msgstr "View"
+
+msgid "IDS_MUSIC_OPT_LISTBY_RECENTLY_ADDED"
+msgstr "Recently added"
+
+msgid "IDS_MUSIC_BODY_NOT_USED"
+msgstr "Not used"
+
+msgid "IDS_MUSIC_BODY_MAKE_AVAILABLE_OFFLINE"
+msgstr "Make available offline"
+
+msgid "IDS_MUSIC_OPT_AFTER_P1SD_HRS_P2SD_MINS"
+msgstr "After %1$d hrs %2$d mins"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS"
+msgstr "After %d hrs"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_MINS"
+msgstr "After %d mins"
+
+msgid "IDS_MUSIC_BODY_NO_FOLDERS"
+msgstr "No folders"
+
+msgid "IDS_MUSIC_BODY_NO_TRACKS"
+msgstr "No tracks"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS"
+msgstr "%d albums"
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS"
+msgstr "%d artists"
+
+msgid "IDS_MUSIC_BODY_PD_GENRES"
+msgstr "%d genres"
+
+msgid "IDS_MUSIC_BODY_PD_PLAYLISTS"
+msgstr "%d playlists"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_ABB"
+msgstr "%d tracks"
+
+msgid "IDS_MUSIC_BODY_PLAYLIST"
+msgstr "Playlist"
+
+msgid "IDS_MUSIC_HEADER_SIMILAR_ALBUMS"
+msgstr "Similar albums"
+
+msgid "IDS_MUSIC_HEADER_TRACK"
+msgstr "Track"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL_VIEW"
+msgstr "Thumbnail view"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "This sound effect works in earphone mode only."
+
+msgid "IDS_MUSIC_OPT_ALL_CONTENT_ABB2"
+msgstr "All content"
+
+msgid "IDS_MUSIC_BODY_A_NETWORK_CONNECTION_IS_REQUIRED_TO_PLAY_THIS_FILE_CHECK_YOUR_NETWORK_CONNECTION_AND_TRY_AGAIN"
+msgstr "A network connection is required to play this file. Check your network connection and try again."
+
+msgid "IDS_MUSIC_POP_FILE_TYPE_NOT_SUPPORTED"
+msgstr "File type not supported."
+
+msgid "IDS_MUSIC_POP_UPDATING_ING"
+msgstr "Updating..."
+
+msgid "IDS_MUSIC_OPT_SEARCH_ABB"
+msgstr "Search"
+
+msgid "IDS_MUSIC_OPT_SEARCH_BY"
+msgstr "Search by"
+
+msgid "IDS_MUSIC_BODY_RELATED_VIDEOS"
+msgstr "Related videos"
+
+msgid "IDS_MUSIC_BODY_SMART_VOLUME_ABB"
+msgstr "Smart volume"
+
+msgid "IDS_MUSIC_BODY_THE_VOLUME_OF_ALL_TRACKS_WILL_BE_ADJUSTED_TO_LEVEL_PD"
+msgstr "The volume of all tracks will be adjusted to level %d."
+
+msgid "IDS_MUSIC_HEADER_SMART_VOLUME_IS_ENABLED"
+msgstr "Smart volume is enabled"
+
+msgid "IDS_MUSIC_OPT_CONNECTION_INFO_ABB"
+msgstr "Connection info"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_PD_MINS"
+msgstr "After 1 hr %d mins"
+
+msgid "IDS_MUSIC_BODY_ADAPT_SOUND_ABB"
+msgstr "Adapt sound"
+
+msgid "IDS_MUSIC_BODY_MY_DEVICE"
+msgstr "My device"
+
+msgid "IDS_MUSIC_POP_LISTENING_AT_A_HIGH_VOLUME_FOR_A_LONG_TIME_MAY_DAMAGE_YOUR_HEARING_RAISE_THE_VOLUME_ABOVE_SAFE_LEVELS_Q"
+msgstr "Listening at a high volume for a long time may damage your hearing. Raise the volume above safe levels?"
+
+msgid "IDS_MUSIC_POP_ALREADY_EXISTS"
+msgstr "Already exists."
+
+msgid "IDS_MUSIC_OPT_SCAN_FOR_NEARBY_DEVICES"
+msgstr "Scan for nearby devices"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR"
+msgstr "After 1 hr"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_1_MIN"
+msgstr "After 1 hr 1 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS_1_MIN"
+msgstr "After %d hrs 1 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_MIN"
+msgstr "After 1 min"
+
+msgid "IDS_MUSIC_OPT_GO_TO_STORE"
+msgstr "Go to store"
+
+msgid "IDS_MUSIC_SK3_ADD_TRACKS"
+msgstr "Add tracks"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FROM_MUSIC_THEY_WILL_BE_SHOWN_HERE"
+msgstr "After you download tracks from Music, they will be shown here."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_YOUR_FAVOURITES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "After you add tracks to your favourites, they will be shown here."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_PLAY_TRACKS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "After you play tracks, they will be shown here."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_PS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "After you add tracks to %s, they will be shown here."
+
+msgid "IDS_MUSIC_BODY_NO_PURCHASED_CONTENT"
+msgstr "No purchased content"
+
+msgid "IDS_MUSIC_SK_SAVE_AS"
+msgstr "Save as"
+
+msgid "IDS_MUSIC_POP_MUSICPLAYER_UPDATING_FAILED"
+msgstr "Updating failed."
+
+msgid "IDS_MUSIC_BODY_EXCITING_M_ADJECTIVE"
+msgstr "Exciting"
+
+msgid "IDS_MUSIC_BODY_SEARCH_MY_MUSIC"
+msgstr "Search my music"
+
+msgid "IDS_MUSIC_HEADER_CONNECTED_DEVICES"
+msgstr "Connected devices"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST_PS"
+msgstr "My playlist %s"
+
+msgid "IDS_MUSIC_BODY_NO_DEVICES"
+msgstr "No devices"
+
+msgid "IDS_MUSIC_HEADER_AVAILABLE_DEVICES_ABB"
+msgstr "Available devices"
+
+msgid "IDS_MUSIC_POP_SET"
+msgstr "Set"
+
+msgid "IDS_MUSIC_POP_REMOVE_FAILED"
+msgstr "Remove failed."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_USE_FAST_FORWARD_AND_REWIND_WHEN_NEARBY_DEVICES_ARE_ENABLED"
+msgstr "Unable to use fast forward and rewind when nearby devices are enabled."
+
+msgid "IDS_MUSIC_OPT_SET_AS"
+msgstr "Set as"
+
+msgid "IDS_MUSIC_OPT_HEADPHONES_ABB"
+msgstr "Headphones"
+
+msgid "IDS_MUSIC_OPT_SPEAKER"
+msgstr "Speaker"
+
+msgid "IDS_MUSIC_BODY_1_SONG"
+msgstr "1 song"
+
+msgid "IDS_MUSIC_BODY_PD_SONGS"
+msgstr "%d songs"
+
+msgid "IDS_MUSIC_BODY_1_TRACK"
+msgstr "1 track"
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_1_TRACK"
+msgstr "Shuffle 1 track"
+
+msgid "IDS_MUSIC_POP_NO_MUSIC_FOUND_FOR_SELECTED_CELL"
+msgstr "No music found for selected cell"
+
+msgid "IDS_MUSIC_BODY_DO_NOT_SHOW_AGAIN"
+msgstr "Do not show again."
+
+msgid "IDS_MUSIC_BODY_VARIOUS_ARTISTS"
+msgstr "Various artists"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_HOME_SCREEN_ABB"
+msgstr "Add to home screen"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_FAVOURITES"
+msgstr "Add to favourites"
+
+msgid "IDS_MUSIC_OPT_EDIT_TITLE"
+msgstr "Edit title"
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_PERSONAL_STORAGE"
+msgstr "Remove from personal storage"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FOLDERS_WILL_BE_SHOWN"
+msgstr "After you download tracks, folders will be shown."
+
+msgid "IDS_MUSIC_BODY_SETTINGS_VOLUME"
+msgstr "Volume"
+
+msgid "IDS_MUSIC_BODY_REPEAT_OFF"
+msgstr "Repeat off"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_REPEAT_ALL"
+msgstr "Repeat all"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_OFF"
+msgstr "Shuffle off"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_ON"
+msgstr "Shuffle on"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST"
+msgstr "My playlist"
+
+msgid "IDS_MUSIC_MBODY_DEFAULT_PLAYLISTS"
+msgstr "Default playlists"
+
+msgid "IDS_MUSIC_BODY_DETAILS_RECORDING_DATE"
+msgstr "Recording date"
+
+msgid "IDS_MUSIC_OPT_ALBUM_ART_ABB"
+msgstr "Album art"
+
+msgid "IDS_MUSIC_BODY_1_GENRE"
+msgstr "1 genre"
+
+msgid "IDS_MUSIC_BODY_PD_FOLDERS"
+msgstr "%d folders"
+
+msgid "IDS_MUSIC_BODY_1_FOLDER"
+msgstr "1 folder"
+
+msgid "IDS_MUSIC_BODY_1_ARTIST"
+msgstr "1 artist"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_M_MUSIC"
+msgstr "1 album"
+
+msgid "IDS_MUSIC_BODY_1_PLAYLIST"
+msgstr "1 playlist"
+
+msgid "IDS_MUSIC_BODY_MUSIC_PLAYER"
+msgstr "Music Player"
+
+msgid "IDS_MUSIC_BUTTON_MOVE"
+msgstr "Move"
+
+msgid "IDS_MUSIC_BUTTON_AUTO_RECOMMENDATIONS"
+msgstr "Auto recommendations"
+
+msgid "IDS_MUSIC_BUTTON_FROM_THE_BEGINNING"
+msgstr "From the beginning"
+
+msgid "IDS_MUSIC_HEADER_SUGGESTIONS_FOR_YOU"
+msgstr "Suggestions for you"
+
+msgid "IDS_MUSIC_OPT_SAVE"
+msgstr "Save"
+
+msgid "IDS_MUSIC_TAB4_BASIC_M_EQUALIZING"
+msgstr "Basic"
+
+msgid "IDS_MUSIC_BODY_INSTRUMENT"
+msgstr "Instrument"
+
+msgid "IDS_MUSIC_BODY_TREBLE_M_EQUALISER"
+msgstr "Treble"
+
+msgid "IDS_MUSIC_BODY_BASS_M_EQUALISER"
+msgstr "Bass"
+
+msgid "IDS_MUSIC_BODY_NO_EFFECTS_ARE_APPLIED_IN_THIS_MODE_ABB"
+msgstr "No effects are applied in this mode."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_TIMBRE_OF_A_TUBE_AMP_ABB"
+msgstr "Simulates the timbre of a tube amp."
+
+msgid "IDS_MUSIC_OPT_TUBE_AMP_EFFECT"
+msgstr "Tube amp effect"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_EFFECT_OF_VIRTUAL_71_CHANNEL_SURROUND_SOUND_ABB"
+msgstr "Simulates the effect of virtual 7.1 channel surround sound."
+
+msgid "IDS_MUSIC_HEADER_SMALL_ROOM_M_REVERB_ABB"
+msgstr "Small room"
+
+msgid "IDS_MUSIC_HEADER_LARGE_ROOM_M_REVERB_ABB"
+msgstr "Large room"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_LARGE_ROOM_EG_A_THEATRE_ABB"
+msgstr "Simulates the reverb of a large room, e.g. a theatre."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_CONCERT_HALL_ABB"
+msgstr "Simulates the reverb of a concert hall."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_SMALL_SPACE_EG_A_STUDIO_ABB"
+msgstr "Simulates the reverb of a small space, e.g. a studio."
+
+msgid "IDS_MUSIC_BUTTON_3D_CHN"
+msgstr "3D"
+
+msgid "IDS_MUSIC_BODY_CLARITY_M_SOUNDEFFECT"
+msgstr "Clarity"
+
+msgid "IDS_MUSIC_BUTTON_RESET"
+msgstr "Reset"
+
+msgid "IDS_MUSIC_TAB_YEARS"
+msgstr "Years"
+
+msgid "IDS_MUSIC_TAB_GENRES"
+msgstr "Genres"
+
+msgid "IDS_MUSIC_TAB_COMPOSERS"
+msgstr "Composers"
+
+msgid "IDS_MUSIC_TAB_ALL_TRACKS"
+msgstr "All tracks"
+
+msgid "IDS_MUSIC_SK3_GO_TO_QUICK_LIST"
+msgstr "Go to quick list"
+
+msgid "IDS_MUSIC_SK3_FIND"
+msgstr "Find"
+
+msgid "IDS_MUSIC_SK3_ADD_TO_QUICK_LIST"
+msgstr "Add to quick list"
+
+msgid "IDS_MUSIC_POP_UNAUTHORISED_VIDEO_FILE_FOR_TV_OUT"
+msgstr "Unauthorised video file for TV-out."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_CREATE_MAXIMUM_NUMBER_OF_PLAYLISTS_REACHED"
+msgstr "Unable to create. Maximum number of playlists reached."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTING_BLUETOOTH_HEADSET"
+msgstr "Unable to adjust volume while connecting Bluetooth headset."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTED_TO_BLUETOOTH_HEADSET"
+msgstr "Unable to adjust volume while connected to Bluetooth headset."
+
+msgid "IDS_MUSIC_POP_STOP_MUSIC_PLAYER_Q"
+msgstr "Stop Music Player?"
+
+msgid "IDS_MUSIC_POP_PLEASE_EXIT_SILENT_MODE"
+msgstr "Please exit Silent mode."
+
+msgid "IDS_MUSIC_POP_NETWORK_FAILURE"
+msgstr "Network failure."
+
+msgid "IDS_MUSIC_POP_MEMORY_CARD_LOADED"
+msgstr "Memory card loaded."
+
+msgid "IDS_MUSIC_POP_DEVICE_SETTINGS_ERROR"
+msgstr "Device settings error."
+
+msgid "IDS_MUSIC_POP_COULD_NOT_FIND_A_MATCH_FOR_THE_SONG"
+msgstr "Could not find a match for the song."
+
+msgid "IDS_MUSIC_POP_BUFFERING_MSTATUS"
+msgstr "Buffering"
+
+msgid "IDS_MUSIC_POP_BT_HEADSET_ONLY_SUPPORTS_NORMAL_EFFECTS_SETTING"
+msgstr "BT headset only supports normal effects setting."
+
+msgid "IDS_MUSIC_POP_APPLICATION_WILL_BE_CLOSED"
+msgstr "Application will be closed."
+
+msgid "IDS_MUSIC_POP_ADDED_GO_TO_WISH_LIST_Q"
+msgstr "Added. Go to wish list?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_THE_SERVICE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "Access to service may be charged. Continue?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_STORE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "Access to store may be charged. Continue?"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_ONLY_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES"
+msgstr "5.1 channel sound effect works only in earphone and Bluetooth headset modes."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "5.1 channel sound effect works in earphone mode only."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECTS_NOT_SUPPORTED_BY_SPEAKER"
+msgstr "5.1 channel sound effects not supported by speaker."
+
+msgid "IDS_MUSIC_OPT_VIEW_BY_COVER_ART"
+msgstr "View by cover art"
+
+msgid "IDS_MUSIC_OPT_SEND_TRACK"
+msgstr "Send track"
+
+msgid "IDS_MUSIC_OPT_RATE_TRACK"
+msgstr "Rate track"
+
+msgid "IDS_MUSIC_OPT_PLAYLIST_MOVE_TRACK_IN_PLAYLIST"
+msgstr "Move track in playlist"
+
+msgid "IDS_MUSIC_OPT_OPENPLAYLIST_CURRENT"
+msgstr "Current"
+
+msgid "IDS_MUSIC_OPT_DELETE_PLAYLIST"
+msgstr "Delete playlist"
+
+msgid "IDS_MUSIC_OPT_BACKGROUND_PLAYING"
+msgstr "Background playing"
+
+msgid "IDS_MUSIC_HEADER_EFFECTS"
+msgstr "Effects"
+
+msgid "IDS_MUSIC_BUTTON_BUY_NOW"
+msgstr "Buy now"
+
+msgid "IDS_MUSIC_BODY_WOW_HD"
+msgstr "Wow HD"
+
+msgid "IDS_MUSIC_BODY_WISHLIST"
+msgstr "Wish list"
+
+msgid "IDS_MUSIC_BODY_WIDE"
+msgstr "Wide"
+
+msgid "IDS_MUSIC_BODY_WHA_WHA"
+msgstr "Wha-wha"
+
+msgid "IDS_MUSIC_BODY_VIBE_WOOFER"
+msgstr "Vibe woofer"
+
+msgid "IDS_MUSIC_BODY_TREMOLO"
+msgstr "Tremolo"
+
+msgid "IDS_MUSIC_BODY_TAP_TWICE_TO_PLAY_PAUSE_MUSIC"
+msgstr "Tap twice to play/pause music."
+
+msgid "IDS_MUSIC_BODY_SHARE_TRACK_VIA_BLUETOOTH"
+msgstr "Share track via Bluetooth"
+
+msgid "IDS_MUSIC_BODY_SETUPWIZARD_WELCOME_TO_THE_MUSIC_SETUP_WIZARD_CONTINUE_Q"
+msgstr "Welcome to the Music setup wizard. The following screens will help you configure your phone. Continue?"
+
+msgid "IDS_MUSIC_BODY_QUICK_LIST"
+msgstr "Quick list"
+
+msgid "IDS_MUSIC_BODY_PLAYINGSETTINGS_SOUND_EFFECTS"
+msgstr "Sound effects"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_ALL"
+msgstr "All"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_1"
+msgstr "1"
+
+msgid "IDS_MUSIC_BODY_PLAYERSETTINGS_VOLUME"
+msgstr "Volume"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_SELECTED"
+msgstr "%d tracks selected."
+
+msgid "IDS_MUSIC_BODY_NO_PODCASTS"
+msgstr "No podcasts"
+
+msgid "IDS_MUSIC_BODY_FIND_SIMILAR"
+msgstr "Find similar"
+
+msgid "IDS_MUSIC_BODY_BACKGROUND_PLAY"
+msgstr "Background play"
+
+msgid "IDS_MUSIC_BODY_51_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "5.1 channel can only be activated when sound effects are off."
+
+msgid "IDS_MUSIC_TAB4_PODCASTS"
+msgstr "Podcasts"
+
+msgid "IDS_MUSIC_SK2_EDIT_IMAGE"
+msgstr "Edit image"
+
+msgid "IDS_MUSIC_POP_PLAYING_ANY_SOUNDS_WILL_STOP_AND_SAVE_YOUR_VOICE_RECORDING_PLAY_Q"
+msgstr "Playing any sounds will stop and save your voice recording. Play?"
+
+msgid "IDS_MUSIC_POP_MAXIMUM_NUMBER_OF_ITEMS_HPD_SELECTED"
+msgstr "Maximum number of items (%d) selected."
+
+msgid "IDS_MUSIC_POP_BLUETOOTH_DISCONNECTED"
+msgstr "Bluetooth disconnected."
+
+msgid "IDS_MUSIC_POP_5_1_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "5.1 channel can only be activated when sound effects are off."
+
+msgid "IDS_MUSIC_OPT_TAKE_PICTURE"
+msgstr "Take picture"
+
+msgid "IDS_MUSIC_OPT_SHOW_MUSIC_VIEW_ABB"
+msgstr "Show music view"
+
+msgid "IDS_MUSIC_OPT_PAUSE"
+msgstr "Pause"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALBUM"
+msgstr "Play album"
+
+msgid "IDS_MUSIC_OPT_LIST_BY"
+msgstr "List by"
+
+msgid "IDS_MUSIC_OPT_HISTORY"
+msgstr "History"
+
+msgid "IDS_MUSIC_OPT_HIDE_MUSIC_VIEW_ABB"
+msgstr "Hide music view"
+
+msgid "IDS_MUSIC_OPT_FIND_TAG"
+msgstr "Find tag"
+
+msgid "IDS_MUSIC_OPT_DROPBOX_CONTENT_ABB"
+msgstr "Dropbox content"
+
+msgid "IDS_MUSIC_OPT_CONTENT_ON_PHONE_ABB"
+msgstr "Content on phone"
+
+msgid "IDS_MUSIC_OPT_CHANGE_IMAGE"
+msgstr "Change image"
+
+msgid "IDS_MUSIC_HEADER_DELETE_DROPBOX_DATA_ABB"
+msgstr "Delete Dropbox data"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_STREAM_YOUR_MUSIC_TO_DEVICES_USING_ALLSHARE"
+msgstr "You can stream your music to devices using AllShare."
+
+msgid "IDS_MUSIC_BODY_VALIDITY"
+msgstr "Validity"
+
+msgid "IDS_MUSIC_BODY_TYPE_CNOUN"
+msgstr "Type"
+
+msgid "IDS_MUSIC_BODY_THIS_WILL_DELETE_THE_FILE_FROM_THE_SERVER_AND_ANY_CONNECTED_DEVICES_AS_WELL"
+msgstr "This will delete the file from the server and any connected devices as well."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_ARTISTS"
+msgstr "Artists"
+
+msgid "IDS_MUSIC_BODY_PLAYINGDETAILS_ALBUM_ART"
+msgstr "Album art"
+
+msgid "IDS_MUSIC_BODY_OTHER_CONTENTS"
+msgstr "Other contents"
+
+msgid "IDS_MUSIC_BODY_NAME_TOO_LONG"
+msgstr "Name too long."
+
+msgid "IDS_MUSIC_BODY_MUSIC_CLARITY"
+msgstr "Music clarity"
+
+msgid "IDS_MUSIC_BODY_HIGH_VOLUMES_MAY_HARM_YOUR_HEARING_IF_YOU_LISTEN_FOR_A_LONG_TIME"
+msgstr "High volumes may harm your hearing if you listen for a long time."
+
+msgid "IDS_MUSIC_BODY_AVAILABLE_USES"
+msgstr "Available uses"
+
+msgid "IDS_MUSIC_TPOP_SOUND_EFFECTS_ONLY_AVAILABLE_WHILE_HEADPHONES_CONNECTED"
+msgstr "Sound effects only available while headphones connected."
+
+msgid "IDS_ST_OPT_ADD_TO_YOUR_PERSONAL_STORAGE"
+msgstr "Add to your personal storage"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_YOUR_PERSONAL_STORAGE"
+msgstr "Remove from your personal storage"
+
+msgid "IDS_ST_BODY_CONTEXTUAL_POP_UP_T_TALKBACK"
+msgstr "Contextual pop-up"
+
+msgid "IDS_ST_BODY_A_CONTEXTUAL_POP_UP_IS_OPEN_DOUBLE_TAP_TO_CLOSE_IT_T_TALKBACK"
+msgstr "A contextual pop-up is open. Double tap to close it."
+
+msgid "IDS_ST_BODY_REPEAT_ONE"
+msgstr "Repeat one"
+
+msgid "IDS_ST_BUTTON_MOVING_ING"
+msgstr "Moving..."
+
+msgid "IDS_HS_BODY_SELECT_UP_TO_PD_ITEMS"
+msgstr "Select up to %d items."
+
+msgid "IDS_CAM_BODY_TAB_T_TTS"
+msgstr "Tab"
+
+msgid "IDS_DLNA_OPT2_CHANGE_PLAYER"
+msgstr "Change player"
+
+msgid "IDS_BR_SK_TABS"
+msgstr "Tabs"
+
+msgid "IDS_MF_BODY_DROPBOX_ABB"
+msgstr "Dropbox"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Auto recommendations can extract the highlights from sound files."
+
+msgid "IDS_MF_BODY_PARENT_RATING"
+msgstr "Parent rating"
+
+msgid "IDS_VR_POP_FILE_NOT_FOUND"
+msgstr "File not found."
+
+msgid "IDS_PB_POP_CALLER_RINGTONE_SAVED"
+msgstr "Caller ringtone saved."
+
+msgid "IDS_MUSIC_BODY_BIT_DEPTH"
+msgstr "Bit depth"
+
+msgid "IDS_MUSIC_BODY_SIZE"
+msgstr "Size"
+
+msgid "IDS_MF_HEADER_PD_SELECTED"
+msgstr "%d selected"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_THIS_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "After you add tracks to this device, they will be shown here."
+
+msgid "IDS_MUSIC_TMBODY_LENGTH"
+msgstr "Length"
+
+msgid "IDS_MUSIC_POP_1_FOLDER_WILL_BE_DELETED"
+msgstr "1 folder will be deleted."
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "No content"
+
+msgid "IDS_MUSIC_ITAB4_FOLDERS"
+msgstr "Folders"
+
+msgid "IDS_MUSIC_HEADER_MY_PLAYLISTS_ABB"
+msgstr "My playlists"
+
+msgid "IDS_MP_BODY_SOUND_PLAYER"
+msgstr "Sound player"
+
+msgid "IDS_MUSIC_OPT_SETTINGS"
+msgstr "Settings"
+
+msgid "IDS_MUSIC_POP_DELETING"
+msgstr "Deleting..."
+
+msgid "IDS_MUSIC_POP_1_TRACK_WILL_BE_DELETED"
+msgstr "1 track will be deleted."
+
+msgid "IDS_MUSIC_POP_ALL_TRACKS_WILL_BE_DELETED"
+msgstr "All tracks will be deleted."
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_WILL_BE_DELETED"
+msgstr "%d tracks will be deleted."
+
+msgid "IDS_MUSIC_POP_1_PLAYLIST_WILL_BE_DELETED"
+msgstr "1 playlist will be deleted."
+
+msgid "IDS_MUSIC_POP_PD_PLAYLISTS_WILL_BE_DELETED"
+msgstr "%d playlists will be deleted."
+
+msgid "IDS_MUSIC_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "%d albums will be deleted."
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS_WILL_BE_DELETED"
+msgstr "%d artists will be deleted."
+
+msgid "IDS_MUSIC_POP_PD_FOLDERS_WILL_BE_DELETED"
+msgstr "%d folders will be deleted."
+
+msgid "IDS_ST_POP_CONNECTION_FAILED"
+msgstr "Connection failed."
+
+msgid "IDS_MUSIC_BODY_CLASSIC"
+msgstr "Classic"
+
+msgid "IDS_MUSIC_BODY_ROCK"
+msgstr "Rock"
+
+msgid "IDS_MUSIC_BODY_JAZZ"
+msgstr "Jazz"
+
+msgid "IDS_MUSIC_BODY_POP"
+msgstr "Pop"
+
+msgid "IDS_MUSIC_BODY_AUTO"
+msgstr "Auto"
+
+msgid "IDS_MUSIC_POP_CURRENT_SOUND_EFFECT_NOT_SUPPORTED_BY_HDMI"
+msgstr "Current sound effect not supported by HDMI."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_BLUETOOTH"
+msgstr "Sound effects not supported by Bluetooth."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_LINE_OUT"
+msgstr "Sound effects not supported by line out."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_HDMI"
+msgstr "Sound effects not supported by HDMI."
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EFFECT"
+msgstr "Tube Amp"
+
+msgid "IDS_MUSIC_BODY_CUSTOM"
+msgstr "Custom"
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EQUALISER_ABB"
+msgstr "Tube amp"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d tracks added to playlist."
+
+msgid "IDS_MUSIC_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 track added to playlist."
+
+msgid "IDS_MUSIC_HEADER_ADD_TRACKS_TO_PLAYLIST_ABB"
+msgstr "Add tracks to playlist"
+
+msgid "IDS_MUSIC_POP_PS_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "%s already in use. Enter another name."
+
+msgid "IDS_MUSIC_TMBODY_DATE_OF_RECORDING"
+msgstr "Date of recording"
+
+msgid "IDS_MBP_TPOP_TRACK_SET_AS_ALARM_TONE"
+msgstr "Track set as alarm tone."
+
+msgid "IDS_MUSIC_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "No results found"
+
+msgid "IDS_MUSIC_OPT_DEFAULT_RINGTONE_ABB"
+msgstr "Default ringtone"
+
+msgid "IDS_MUSIC_TPOP_TRACK_SET_AS_CALLER_RINGTONE"
+msgstr "Track set as caller ringtone."
+
+msgid "IDS_MP_TPOP_TRACK_SET_AS_RINGTONE"
+msgstr "Track set as ringtone."
+
+msgid "IDS_DLNA_BODY_ADD_TO_NOW_PLAYING_LIST"
+msgstr "Add to now playing list"
+
+msgid "IDS_MUSIC_TPOP_EQUALISER_SETTINGS_WILL_BE_APPLIED_WHILE_PLAYING_MUSIC"
+msgstr "Equaliser settings will be applied while playing music."
+
+msgid "IDS_ST_BODY_ALERT"
+msgstr "Alert"
+
+msgid "IDS_IV_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 album will be deleted."
+
+msgid "IDS_MUSIC_OPT_SD_CARD"
+msgstr "SD card"
+
+msgid "IDS_MUSIC_SBODY_DEVICE_STORAGE"
+msgstr "Device storage"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE"
+msgstr "Playlist name already in use."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_PD"
+msgstr "Playlist %d"
+
+msgid "IDS_MUSIC_HEADER_CREATE"
+msgstr "Create"
+
+msgid "IDS_MUSIC_HEADER_EQUALISER_PRESET_ABB"
+msgstr "Equaliser preset"
+
+msgid "IDS_MUSIC_OPT_AUTOMATIC_M_EQUALIZER_EFFECT"
+msgstr "Automatic"
+
+msgid "IDS_MUSIC_OPT_CLASSICAL_M_EQUALIZER_EFFECT"
+msgstr "Classical"
+
+msgid "IDS_MUSIC_HEADER_ENVIRONMENT_EFFECT_ABB"
+msgstr "Environment effect"
+
+msgid "IDS_VIDEO_POP_THE_FILE_TYPE_IS_NOT_SUPPORTED"
+msgstr "The file type is not supported."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_CREATE_PLAYLISTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "After you create playlists, they will be shown here."
+
+msgid "IDS_ST_HEADER_SELECT_AUDIO_DEVICE_ABB"
+msgstr "Select audio device"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "Playlist name already in use. Enter another name."
+
+msgid "IDS_MUSIC_HEADER_SOUNDALIVE_ABB3"
+msgstr "SoundAlive"
+
+msgid "IDS_MUSIC_OPT_NOW_PLAYING_LIST"
+msgstr "Now playing list"
+
+msgid "IDS_MUSIC_OPT_SHOW_LYRICS"
+msgstr "Show lyrics"
+
+msgid "IDS_MUSIC_OPT_HIDE_LYRICS"
+msgstr "Hide lyrics"
+
+msgid "IDS_MUSIC_TPOP_UNABLE_TO_PLAY_MUSIC_DURING_CALLS"
+msgstr "Unable to play music during calls."
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Delete"
+
+msgid "IDS_MUSIC_HEADER_SELECT"
+msgstr "Select"
+
+msgid "IDS_TPLATFORM_OPT_NFC"
+msgstr "NFC"
+
+msgid "IDS_MUSIC_HEADER_UNABLE_TO_PLAY_TRACK"
+msgstr "Unable to play track"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "DONE"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "CANCEL"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "DELETE"
+
+msgid "IDS_MUSIC_POP_RENAME"
+msgstr "Rename"
+
+msgid "IDS_MUSIC_OPT_MESSAGE"
+msgstr "Message"
+
+msgid "IDS_MUSIC_SK_OK"
+msgstr "OK"
+
+msgid "IDS_MUSIC_SK_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_MUSIC_BUTTON_REFRESH"
+msgstr "Refresh"
+
+msgid "IDS_MUSIC_BODY_SELECT_ALL"
+msgstr "Select all"
+
+msgid "IDS_MUSIC_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_MUSIC_POP_DELETED"
+msgstr "Deleted."
+
+msgid "IDS_MUSIC_OPT_STOP"
+msgstr "Stop"
+
+msgid "IDS_MUSIC_BODY_UNKNOWN"
+msgstr "Unknown"
+
+msgid "IDS_MUSIC_BODY_TITLE"
+msgstr "Title"
+
+msgid "IDS_MUSIC_OPT_SENDVIA_EMAIL"
+msgstr "Email"
+
+msgid "IDS_MUSIC_OPT_BLUETOOTH"
+msgstr "Bluetooth"
+
+msgid "IDS_MUSIC_HEADER_DOWNLOAD"
+msgstr "Download"
+
+msgid "IDS_MUSIC_POP_LOW_BATTERY"
+msgstr "Low battery."
+
+msgid "IDS_MUSIC_HEADER_AUDIO_DEVICE"
+msgstr "Audio device"
+
+msgid "IDS_MUSIC_HEADER_DETAILS"
+msgstr "Details"
+
+msgid "IDS_MUSIC_OPT_END"
+msgstr "End"
+
+msgid "IDS_MUSIC_OPT_EDIT"
+msgstr "Edit"
+
+msgid "IDS_CAM_HEADER_UPDATED"
+msgstr "Updated."
+
+msgid "IDS_MUSIC_POP_REMOVED"
+msgstr "Removed."
+
+msgid "IDS_MUSIC_OPT_SELECTED"
+msgstr "Selected"
+
+msgid "IDS_ST_BUTTON_SCAN"
+msgstr "Scan"
+
+msgid "IDS_MF_POP_ERROR"
+msgstr "Error."
+
+msgid "IDS_MF_POP_MEMORY_FULL"
+msgstr "Memory full."
+
+
+
+msgid "IDS_COM_BODY_ALLSHARE"
+msgstr "AllShare"
+
+msgid "IDS_COM_BODY_BLUETOOTH"
+msgstr "Bluetooth"
+
+msgid "IDS_COM_BODY_CLOSE"
+msgstr "Close"
+
+msgid "IDS_COM_BODY_CREATE"
+msgstr "Create"
+
+msgid "IDS_COM_BODY_DETAILS"
+msgstr "Details"
+
+msgid "IDS_COM_BODY_DETAILS_TITLE"
+msgstr "Title"
+
+msgid "IDS_COM_BODY_EDIT"
+msgstr "Edit"
+
+msgid "IDS_COM_BODY_EMAIL"
+msgstr "Email"
+
+msgid "IDS_COM_BODY_END"
+msgstr "End"
+
+msgid "IDS_COM_BODY_FOLDERS"
+msgstr "Folders"
+
+msgid "IDS_COM_BODY_GALLERY"
+msgstr "Gallery"
+
+msgid "IDS_COM_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_COM_BODY_LOADING"
+msgstr "Loading..."
+
+msgid "IDS_COM_BODY_LOW_BATTERY"
+msgstr "Low battery."
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Message"
+
+msgid "IDS_COM_BODY_MUSIC"
+msgstr "Music"
+
+msgid "IDS_COM_BODY_NFC"
+msgstr "NFC"
+
+msgid "IDS_COM_BODY_NO_CONTENTS"
+msgstr "No content"
+
+msgid "IDS_COM_BODY_PAUSE"
+msgstr "Pause"
+
+msgid "IDS_COM_BODY_PD_SELECTED"
+msgstr "%d selected."
+
+msgid "IDS_COM_BODY_PREVIOUS"
+msgstr "Previous"
+
+msgid "IDS_COM_BODY_RESET_A"
+msgstr "Reset"
+
+msgid "IDS_COM_BODY_SELECTED"
+msgstr "Selected"
+
+msgid "IDS_COM_BODY_SELECT_ALL"
+msgstr "Select all"
+
+msgid "IDS_COM_BODY_SETTINGS"
+msgstr "Settings"
+
+msgid "IDS_COM_BODY_TIME"
+msgstr "Time"
+
+msgid "IDS_COM_BODY_UNABLE_TO_ADD"
+msgstr "Unable to add."
+
+msgid "IDS_COM_BODY_UNKNOWN"
+msgstr "Unknown"
+
+msgid "IDS_COM_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_COM_BUTTON_SCAN"
+msgstr "Scan"
+
+msgid "IDS_COM_BUTTON_SHARE"
+msgstr "Share"
+
+msgid "IDS_COM_HEADER_AUDIO_DEVICE_ABB"
+msgstr "Audio device"
+
+msgid "IDS_COM_OPT_ADDED"
+msgstr "Added."
+
+msgid "IDS_COM_OPT_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_POP_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_POP_CONNECTION_FAILED"
+msgstr "Connection failed."
+
+msgid "IDS_COM_POP_DELETED"
+msgstr "Deleted."
+
+msgid "IDS_COM_POP_DELETE_Q"
+msgstr "Delete?"
+
+msgid "IDS_COM_POP_DONE"
+msgstr "Done"
+
+msgid "IDS_COM_POP_DOWNLOADING"
+msgstr "Downloading..."
+
+msgid "IDS_COM_POP_ERROR"
+msgstr "Error."
+
+msgid "IDS_COM_POP_FAILED"
+msgstr "Failed."
+
+msgid "IDS_COM_POP_FILE_NOT_EXIST"
+msgstr "This file does not exist."
+
+msgid "IDS_COM_POP_FILE_NOT_FOUND"
+msgstr "File not found."
+
+msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximum number of characters reached."
+
+msgid "IDS_COM_POP_MEMORY_FULL"
+msgstr "Memory full."
+
+msgid "IDS_COM_POP_REMOVED"
+msgstr "Removed."
+
+msgid "IDS_COM_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Unable to use during Mass storage mode."
+
+msgid "IDS_COM_POP_UPDATED"
+msgstr "Updated."
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_SK_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_SK_DOWNLOAD"
+msgstr "Download"
+
+msgid "IDS_COM_SK_NEW"
+msgstr "New"
+
+msgid "IDS_COM_SK_NEXT"
+msgstr "Next"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_SK_REFRESH"
+msgstr "Refresh"
+
+msgid "IDS_COM_SK_REMOVE"
+msgstr "Remove"
+
+msgid "IDS_MUSIC_MBODY_QUEUE"
+msgstr "Queue"
+
+msgid "IDS_MUSIC_OPT_VOLUME"
+msgstr "Volume"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE"
+msgstr "Shuffle"
+
+msgid "IDS_MUSIC_OPT_REPEAT"
+msgstr "Repeat"
+
+
+msgid "IDS_MH_BODY_THE_PLAYLIST_NAME_PS_IS_ALREADY_IN_USE"
+msgstr "The playlist name %s is already in use."
+
+msgid "IDS_MH_BODY_TOTAL"
+msgstr "Total"
+
+msgid "IDS_MH_MBODY_RECENTLY_ADDED_M_SONG"
+msgstr "Recently added"
+
+msgid "IDS_MH_OPT_MORE_INFO_ABB"
+msgstr "More info"
+
+msgid "IDS_MH_POP_ALARM_TONE_SET"
+msgstr "Alarm tone set."
+
+msgid "IDS_MH_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 track added to playlist."
+
+msgid "IDS_MH_TPOP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d tracks added to playlist."
+
+msgid "IDS_MUSIC_OPT_RENAME"
+msgstr "Rename"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Unable to play during call."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Maximum size of files exceeded."
+
+msgid "IDS_CAM_TPOP_UNABLE_TO_PLAY_MUSIC_WHILE_RECORDING_AUDIO_OR_VIDEO"
+msgstr "Unable to play music while recording audio or video."
+
--- /dev/null
+msgid "IDS_ST_BODY_LOADING_ING"
+msgstr "Loading..."
+
+msgid "IDS_GALLERY_OPT_PRIVATE_M_CONTENT"
+msgstr "Private"
+
+msgid "IDS_MF_BODY_TIME"
+msgstr "Time"
+
+msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
+msgstr "This file does not exist."
+
+msgid "IDS_MUSIC_POP_PHONE_RINGTONE"
+msgstr "Phone ringtone"
+
+msgid "IDS_MUSIC_BODY_DURATION"
+msgstr "Duration"
+
+msgid "IDS_MUSIC_BODY_MUSIC_LOCATION"
+msgstr "Location"
+
+msgid "IDS_MUSIC_BODY_SET_AS_M_RINGTONE"
+msgstr "Set as"
+
+msgid "IDS_ST_OPT_ADD_TO_PERSONAL_PAGE"
+msgstr "Add to personal page"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_PERSONAL_PAGE_ABB"
+msgstr "Remove from personal page"
+
+msgid "IDS_ST_POP_MOVE_TO_NORMAL_STORAGE"
+msgstr "Move to normal storage"
+
+msgid "IDS_ST_POP_MOVE_TO_PERSONAL_STORAGE"
+msgstr "Move to personal storage"
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEMS_WILL_BE_MOVED_TO_PS"
+msgstr "The selected items will be moved to %s."
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEM_WILL_BE_MOVED_TO_PS"
+msgstr "The selected item will be moved to %s."
+
+msgid "IDS_VR_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Unable to use during Mass storage mode."
+
+msgid "IDS_MUSIC_POP_RINGTONE_ADDED"
+msgstr "Ringtone added."
+
+msgid "IDS_CAM_BODY_BUTTON_T_TTS"
+msgstr "Button"
+
+msgid "IDS_MUSIC_HEADER_SELECT_ITEMS"
+msgstr "Select items"
+
+msgid "IDS_ST_BODY_ADVANCED"
+msgstr "Advanced"
+
+msgid "IDS_ST_SK_PREVIOUS"
+msgstr "Previous"
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Close"
+
+msgid "IDS_MUSIC_POP_ADDED"
+msgstr "Added."
+
+msgid "IDS_MUSIC_POP_FAILED"
+msgstr "Failed."
+
+msgid "IDS_MUSIC_BODY_NO_SEARCH_RESULTS"
+msgstr "No search results"
+
+msgid "IDS_MUSIC_SK_DONE"
+msgstr "Done"
+
+msgid "IDS_MUSIC_BODY_NO_ITEMS"
+msgstr "No items"
+
+msgid "IDS_BR_OPT_ADD_TO_HOME"
+msgstr "Add to home"
+
+msgid "IDS_BR_SK_NEXT"
+msgstr "Next"
+
+msgid "IDS_BR_BODY_DOWNLOADING_ING"
+msgstr "Downloading..."
+
+msgid "IDS_IV_BODY_FAVOURITE"
+msgstr "Favorites"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_PERSONAL_STORAGE"
+msgstr "Add to personal storage"
+
+msgid "IDS_DLNA_POP_DISCONNECTED_FROM_PS_CHECK_THE_NETWORK_STATUS_AND_THE_CONNECTED_DEVICE"
+msgstr "Disconnected from %s. Check the network status and the connected device"
+
+msgid "IDS_DLNA_OPT_VIA_SCREEN_MIRRORING_ABB"
+msgstr "Via Screen Mirroring"
+
+msgid "IDS_DLNA_OPT_VIA_HOME_NETWORK_ABB"
+msgstr "Via home network"
+
+msgid "IDS_IV_POP_ENTRY_IS_EMPTY"
+msgstr "Entry is empty."
+
+msgid "IDS_FM_POP_UNAVAILABLE_DURING_CALL"
+msgstr "Unavailable during call."
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximum number of characters reached."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_SHARE_DRM_FILE"
+msgstr "Unable to share DRM file."
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Removing..."
+
+msgid "IDS_MUSIC_HEADER_PD_DEVICES"
+msgstr "%d devices"
+
+msgid "IDS_MUSIC_BUTTON_ENABLE_MOTION"
+msgstr "Enable motion"
+
+msgid "IDS_MUSIC_BUTTON_DONT_ASK_AGAIN"
+msgstr "Don't ask again"
+
+msgid "IDS_MUSIC_BODY_NO_RESULTS_FOUND"
+msgstr "No results found."
+
+msgid "IDS_VPL_OPT_HDMI"
+msgstr "HDMI"
+
+msgid "IDS_MUSIC_BODY_TURN_PHONE_OVER_TO_MUTE_INCOMING_CALLS_MESSAGE_ALERTS_AND_ALARMS"
+msgstr "Turn phone over to mute incoming calls, message alerts, and alarms."
+
+msgid "IDS_ST_BODY_NONE"
+msgstr "None"
+
+msgid "IDS_ST_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_ST_BODY_GALLERY"
+msgstr "Gallery"
+
+msgid "IDS_ST_BODY_DOUBLE_TAP_TO_MOVE_TO_CONTENT_T_TTS"
+msgstr "Double tap to move to content."
+
+msgid "IDS_MUSIC_BODY_SURROUND"
+msgstr "Surround"
+
+msgid "IDS_MUSIC_OPT_LYRICS_ABB"
+msgstr "Lyrics"
+
+msgid "IDS_MUSIC_POP_AFTER_YOU_ADD_TRACKS_TO_MUSIC_ON_YOUR_MOBILE_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "After you add tracks to Music on your mobile device, they will be shown here."
+
+msgid "IDS_MUSIC_BODY_SAMPLING_RATE"
+msgstr "Sampling rate"
+
+msgid "IDS_MUSIC_BODY_MARKED_AS_A_FAVOURITE"
+msgstr "Marked as a favorite."
+
+msgid "IDS_MUSIC_BODY_MUSIC"
+msgstr "Music"
+
+msgid "IDS_MUSIC_BODY_NOT_MARKED_AS_A_FAVOURITE"
+msgstr "Not marked as a favorite."
+
+msgid "IDS_MUSIC_HEADER_SEARCH_MUSIC_ABB"
+msgstr "Search music"
+
+msgid "IDS_MUSIC_POP_AUTO_RECOMMENDATION_DOES_NOT_SUPPORT_THIS_AUDIO_FILE"
+msgstr "Auto recommendation does not support this audio file."
+
+msgid "IDS_MUSIC_POP_SORRY_THE_PLAYER_DOES_NOT_SUPPORT_THIS_TYPE_OF_AUDIO_FILE"
+msgstr "Sorry, the player does not support this type of audio file."
+
+msgid "IDS_MUSIC_BODY_FAVOURITES"
+msgstr "Favorites"
+
+msgid "IDS_MUSIC_BODY_MOST_PLAYED"
+msgstr "Most played"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_ADDED"
+msgstr "Recently added"
+
+msgid "IDS_MUSIC_OPT_CREATE_PLAYLIST"
+msgstr "Create playlist"
+
+msgid "IDS_MUSIC_OPT_REMOVE"
+msgstr "Remove"
+
+msgid "IDS_MUSIC_OPT_SETAS_CALLER_RINGTONE"
+msgstr "Caller ringtone"
+
+msgid "IDS_MUSIC_TAB4_ARTISTS"
+msgstr "Artists"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD"
+msgstr "Unable to add."
+
+msgid "IDS_MUSIC_POP_UNABLE_CREATE_PLAYLIST"
+msgstr "Unable to create playlist."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_GET_TAG"
+msgstr "Unable to get tag."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_MORE_THAN_PD_MUSIC_FILE"
+msgstr "Unable to add more than %d music file."
+
+msgid "IDS_MUSIC_BODY_ALBUM"
+msgstr "Album"
+
+msgid "IDS_MUSIC_BODY_AUTHOR"
+msgstr "Author"
+
+msgid "IDS_MUSIC_BODY_COPYRIGHT"
+msgstr "Copyright"
+
+msgid "IDS_MUSIC_BODY_CREATE_PLAYLIST"
+msgstr "Create playlist"
+
+msgid "IDS_MUSIC_BODY_DESCRIPTION"
+msgstr "Description"
+
+msgid "IDS_MUSIC_BODY_FORMAT"
+msgstr "Format"
+
+msgid "IDS_MUSIC_BODY_IMPOSSIBLE"
+msgstr "Impossible"
+
+msgid "IDS_MUSIC_BODY_NO_PLAYLISTS"
+msgstr "No playlists"
+
+msgid "IDS_MUSIC_BODY_TRACK_NUMBER"
+msgstr "Track number"
+
+msgid "IDS_MUSIC_POP_DELETE_Q"
+msgstr "Delete?"
+
+msgid "IDS_MUSIC_POP_REMOVE_Q"
+msgstr "Remove?"
+
+msgid "IDS_MUSIC_POP_UNABLE_RENAME_PLAYLIST"
+msgstr "Unable to rename playlist."
+
+msgid "IDS_MUSIC_TAB4_ALBUMS"
+msgstr "Albums"
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Adding..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Delete %d albums?"
+
+msgid "IDS_MUSIC_TAB4_PLAYLISTS"
+msgstr "Playlists"
+
+msgid "IDS_MUSIC_OPT_ADD"
+msgstr "Add"
+
+msgid "IDS_MUSIC_BODY_BIOGRAPHY"
+msgstr "Biography"
+
+msgid "IDS_MUSIC_BODY_CREDITS"
+msgstr "Credits"
+
+msgid "IDS_MUSIC_BODY_DETAILS_MEADIA_INFO"
+msgstr "Media info"
+
+msgid "IDS_MUSIC_BODY_DISCOGRAPHY"
+msgstr "Discography"
+
+msgid "IDS_MUSIC_BODY_LYRIC"
+msgstr "Lyric"
+
+msgid "IDS_MUSIC_BODY_POSSIBLE"
+msgstr "Possible"
+
+msgid "IDS_MUSIC_BODY_REVIEW"
+msgstr "Review"
+
+msgid "IDS_MUSIC_HEADER_TRACK_LIST"
+msgstr "Track list"
+
+msgid "IDS_MUSIC_BODY_ADD_TO_PLAYLIST"
+msgstr "Add to playlist"
+
+msgid "IDS_MUSIC_BODY_ARTIST"
+msgstr "Artist"
+
+msgid "IDS_MUSIC_BODY_FORWARDING"
+msgstr "Forwarding"
+
+msgid "IDS_MUSIC_BODY_RECORDED_DATE"
+msgstr "Date of recording"
+
+msgid "IDS_MUSIC_BODY_PLAYLISTS"
+msgstr "Playlists"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_PLAYED"
+msgstr "Recently played"
+
+msgid "IDS_MUSIC_BODY_TRACK_LENGTH"
+msgstr "Track length"
+
+msgid "IDS_MUSIC_HEADER_NO_SONGS"
+msgstr "No songs"
+
+msgid "IDS_MUSIC_POP_THIS_TRACK_WILL_BE_DELETED"
+msgstr "This track will be deleted."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_TRACKS_WILL_BE_DELETED"
+msgstr "The selected tracks will be deleted."
+
+msgid "IDS_MUSIC_POP_THIS_ARTIST_WILL_BE_DELETED"
+msgstr "This artist will be deleted."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ARTISTS_WILL_BE_DELETED"
+msgstr "The selected artists will be deleted."
+
+msgid "IDS_MUSIC_POP_ALL_ARTISTS_WILL_BE_DELETED"
+msgstr "All artists will be deleted."
+
+msgid "IDS_MUSIC_POP_THIS_FOLDER_WILL_BE_DELETED"
+msgstr "This folder will be deleted."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_FOLDERS_WILL_BE_DELETED"
+msgstr "The selected folders will be deleted."
+
+msgid "IDS_MUSIC_POP_ALL_FOLDERS_WILL_BE_DELETED"
+msgstr "All folders will be deleted."
+
+msgid "IDS_MUSIC_POP_THIS_ALBUM_WILL_BE_DELETED"
+msgstr "This album will be deleted."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ALBUMS_WILL_BE_DELETED"
+msgstr "The selected albums will be deleted."
+
+msgid "IDS_MUSIC_POP_ALL_ALBUMS_WILL_BE_DELETED"
+msgstr "All albums will be deleted."
+
+msgid "IDS_MUSIC_POP_THIS_PLAYLIST_WILL_BE_DELETED"
+msgstr "This playlist will be deleted."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_PLAYLISTS_WILL_BE_DELETED"
+msgstr "The selected playlists will be deleted."
+
+msgid "IDS_MUSIC_POP_ALL_PLAYLISTS_WILL_BE_DELETED"
+msgstr "All playlists will be deleted."
+
+msgid "IDS_MUSIC_HEADER_SONGS"
+msgstr "Songs"
+
+msgid "IDS_MUSIC_OPT_REORDER"
+msgstr "Reorder"
+
+msgid "IDS_MUSIC_OPT_SAVE_AS_PLAYLIST"
+msgstr "Save as playlist"
+
+msgid "IDS_MUSIC_OPT_SETAS_ALARM_TONE"
+msgstr "Alarm tone"
+
+msgid "IDS_MUSIC_POP_NOTHING_SELECTED"
+msgstr "Nothing selected."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Unable to play. Error occurred"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_UNSUPPORTED_FILETYPE"
+msgstr "Unable to play. Unsupported file type."
+
+msgid "IDS_MUSIC_SK_SHARE"
+msgstr "Share"
+
+msgid "IDS_MUSIC_TAB4_CONDUCTORS"
+msgstr "Conductors"
+
+msgid "IDS_MUSIC_HEADER_SELECT_DEVICE"
+msgstr "Select device"
+
+msgid "IDS_MUSIC_SK_VIEW_AS"
+msgstr "View as"
+
+msgid "IDS_MUSIC_BODY_SOUNDEFFECTS_NORMAL"
+msgstr "Normal"
+
+msgid "IDS_MUSIC_BODY_USER"
+msgstr "User"
+
+msgid "IDS_MUSIC_BODY_VOCAL_M_SOUNDEFFECT"
+msgstr "Vocal"
+
+msgid "IDS_MUSIC_MBODY_BASS_BOOST"
+msgstr "Bass boost"
+
+msgid "IDS_MUSIC_MBODY_TREBLE_BOOST"
+msgstr "Treble boost"
+
+msgid "IDS_MUSIC_BODY_CAFE_M_SOUNDEFFECT"
+msgstr "Cafe"
+
+msgid "IDS_MUSIC_OPT_VIRTUAL_71_CH"
+msgstr "Virtual 7.1 ch"
+
+msgid "IDS_MUSIC_OPT_AFTER_15_MIN_ABB"
+msgstr "After 15 mins"
+
+msgid "IDS_MUSIC_BODY_AFTER_30_MIN"
+msgstr "After 30 mins"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HOUR"
+msgstr "After 1 hour"
+
+msgid "IDS_MUSIC_POP_AFTER_1_HOUR_30_MIN"
+msgstr "After 1 hour 30 mins"
+
+msgid "IDS_MUSIC_BODY_AFTER_2_HOURS"
+msgstr "After 2 hours"
+
+msgid "IDS_MUSIC_BODY_MUSIC_AUTO_OFF"
+msgstr "Music auto off"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES_ONLY"
+msgstr "This sound effect works in earphone and Bluetooth headset modes only."
+
+msgid "IDS_MUSIC_TAB4_MUSIC_SQUARE"
+msgstr "Music square"
+
+msgid "IDS_MUSIC_POP_NOT_ENOUGH_MUSIC_FILES_TO_PLAY_IN_MUSIC_SQUARE_AT_LEAST_PD_MUSIC_FILES_REQUIRED"
+msgstr "Not enough music files to play in Music square. At least %d music files required"
+
+msgid "IDS_MUSIC_BODY_PASSION_M_MOOD"
+msgstr "PASSION"
+
+msgid "IDS_MUSIC_BODY_CALM_M_ADJECTIVE"
+msgstr "CALM"
+
+msgid "IDS_MUSIC_BODY_JOY_M_MOOD"
+msgstr "JOY"
+
+msgid "IDS_MUSIC_BODY_LIBRARY_UPDATE"
+msgstr "Library update"
+
+msgid "IDS_MUSIC_POP_UPDATE_LIBRARY_Q"
+msgstr "Update library?"
+
+msgid "IDS_MUSIC_BODY_CHANGE_AXIS"
+msgstr "Change axis"
+
+msgid "IDS_MUSIC_ITAB4_GENRES"
+msgstr "Genres"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_1_TRACK"
+msgstr "1 album/1 track"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_PD_TRACKS"
+msgstr "1 album/%d tracks"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS_PD_TRACKS"
+msgstr "%d albums/%d tracks"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_CONTROL_MUSIC_PLAYER_WITH_THE_VOICE_COMMANDS_P1SS_P2SS_P3SS_P4SS_P5SS_AND_P6SS"
+msgstr "You can control Music Player with the voice commands %1$s, %2$s, %3$s, %4$s, %5$s, and %6$s."
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_PD_TRACKS"
+msgstr "Shuffle %d tracks"
+
+msgid "IDS_MUSIC_BODY_MORE_INFO"
+msgstr "More info"
+
+msgid "IDS_MUSIC_HEADER_MY_MUSIC_M_APPLICATION_NAME"
+msgstr "My music"
+
+msgid "IDS_MUSIC_OPT_LIST_VIEW"
+msgstr "List view"
+
+msgid "IDS_MUSIC_OPT_PLAY_VIA_GROUP_PLAY"
+msgstr "Play via Group Play"
+
+msgid "IDS_MUSIC_POP_TRACK_ADDED_TO_FAVOURITES"
+msgstr "Track added to favorites."
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_FAVOURITES"
+msgstr "Remove from favorites"
+
+msgid "IDS_MUSIC_BODY_NEW_M_LATEST"
+msgstr "NEW"
+
+msgid "IDS_MUSIC_OPT_TRACKS"
+msgstr "Tracks"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL"
+msgstr "Thumbnail"
+
+msgid "IDS_MUSIC_SK_LIST"
+msgstr "List"
+
+msgid "IDS_MUSIC_SK_OPEN_PLAYLIST"
+msgstr "Open playlist"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALL"
+msgstr "Play all"
+
+msgid "IDS_MUSIC_POP_SELECTED_LIST_EMPTY"
+msgstr "Selected list empty."
+
+msgid "IDS_MUSIC_BODY_MOODS"
+msgstr "Moods"
+
+msgid "IDS_MUSIC_BUTTON_YEARS"
+msgstr "Years"
+
+msgid "IDS_MUSIC_BODY_OLD"
+msgstr "OLD"
+
+msgid "IDS_MUSIC_BODY_MUSIC_SQUARE_ANALYSES_THE_CHARACTERISTICS_OF_MUSIC_FILES_STORED_ON_YOUR_DEVICE_AND_AUTOMATICALLY_CREATES_PLAYLISTS_MSG"
+msgstr "Music square analyzes characteristics of music files stored in your device and automatically creates playlists."
+
+msgid "IDS_MUSIC_BODY_PLAY_TRACKS_WITH_SIMILAR_CHARACTERISTICS_BY_SELECTING_A_SQUARE_ON_THE_SCREEN"
+msgstr "You can play a playlist of music with similar characteristics by selecting a square on screen."
+
+msgid "IDS_MUSIC_BODY_VIEW_PLAYLIST_DETAILS_BY_TAPPING_AND_HOLDING_THE_SQUARE_CURRENTLY_BEING_PLAYED"
+msgstr "You can view playlist details by tapping and holding the square currently being played."
+
+msgid "IDS_MUSIC_BODY_NEARBY_DEVICES"
+msgstr "Nearby devices"
+
+msgid "IDS_MUSIC_POP_YOU_WILL_NEED_TO_UPDATE_THE_LIBRARY_IF_NEW_SONGS_HAVE_BEEN_ADDED"
+msgstr "You will need to update the library if new songs have been added."
+
+msgid "IDS_MUSIC_BODY_NO_ALBUMS"
+msgstr "No albums"
+
+msgid "IDS_MUSIC_BODY_NO_ARTISTS"
+msgstr "No artists"
+
+msgid "IDS_MUSIC_OPT_PLAY_SPEED_ABB"
+msgstr "Play speed"
+
+msgid "IDS_MUSIC_BODY_CONCERT_HALL_M_SOUNDEFFECT"
+msgstr "Concert hall"
+
+msgid "IDS_MUSIC_OPT_ADD_TO"
+msgstr "Add to"
+
+msgid "IDS_MUSIC_SK_VIEW"
+msgstr "View"
+
+msgid "IDS_MUSIC_OPT_LISTBY_RECENTLY_ADDED"
+msgstr "Recently added"
+
+msgid "IDS_MUSIC_BODY_NOT_USED"
+msgstr "Not used"
+
+msgid "IDS_MUSIC_BODY_MAKE_AVAILABLE_OFFLINE"
+msgstr "Make available while offline"
+
+msgid "IDS_MUSIC_OPT_AFTER_P1SD_HRS_P2SD_MINS"
+msgstr "After %1$d hrs %2$d mins"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS"
+msgstr "After %d hrs"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_MINS"
+msgstr "After %d mins"
+
+msgid "IDS_MUSIC_BODY_NO_FOLDERS"
+msgstr "No folders"
+
+msgid "IDS_MUSIC_BODY_NO_TRACKS"
+msgstr "No tracks"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS"
+msgstr "%d albums"
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS"
+msgstr "%d artists"
+
+msgid "IDS_MUSIC_BODY_PD_GENRES"
+msgstr "%d genres"
+
+msgid "IDS_MUSIC_BODY_PD_PLAYLISTS"
+msgstr "%d playlists"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_ABB"
+msgstr "%d tracks"
+
+msgid "IDS_MUSIC_BODY_PLAYLIST"
+msgstr "Playlist"
+
+msgid "IDS_MUSIC_HEADER_SIMILAR_ALBUMS"
+msgstr "Similar albums"
+
+msgid "IDS_MUSIC_HEADER_TRACK"
+msgstr "Track"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL_VIEW"
+msgstr "Thumbnail view"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "This sound effect works in earphone mode only."
+
+msgid "IDS_MUSIC_OPT_ALL_CONTENT_ABB2"
+msgstr "All content"
+
+msgid "IDS_MUSIC_BODY_A_NETWORK_CONNECTION_IS_REQUIRED_TO_PLAY_THIS_FILE_CHECK_YOUR_NETWORK_CONNECTION_AND_TRY_AGAIN"
+msgstr "A network connection is required to play this file. Check your network connection and try again."
+
+msgid "IDS_MUSIC_POP_FILE_TYPE_NOT_SUPPORTED"
+msgstr "File type not supported."
+
+msgid "IDS_MUSIC_POP_UPDATING_ING"
+msgstr "Updating..."
+
+msgid "IDS_MUSIC_OPT_SEARCH_ABB"
+msgstr "Search"
+
+msgid "IDS_MUSIC_OPT_SEARCH_BY"
+msgstr "Search by"
+
+msgid "IDS_MUSIC_BODY_RELATED_VIDEOS"
+msgstr "Related videos"
+
+msgid "IDS_MUSIC_BODY_SMART_VOLUME_ABB"
+msgstr "Smart volume"
+
+msgid "IDS_MUSIC_BODY_THE_VOLUME_OF_ALL_TRACKS_WILL_BE_ADJUSTED_TO_LEVEL_PD"
+msgstr "The volume of all tracks will be adjusted to level %d."
+
+msgid "IDS_MUSIC_HEADER_SMART_VOLUME_IS_ENABLED"
+msgstr "Smart volume is enabled"
+
+msgid "IDS_MUSIC_OPT_CONNECTION_INFO_ABB"
+msgstr "Connection info"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_PD_MINS"
+msgstr "After 1 hr %d mins"
+
+msgid "IDS_MUSIC_BODY_ADAPT_SOUND_ABB"
+msgstr "Adapt Sound"
+
+msgid "IDS_MUSIC_BODY_MY_DEVICE"
+msgstr "My device"
+
+msgid "IDS_MUSIC_POP_LISTENING_AT_A_HIGH_VOLUME_FOR_A_LONG_TIME_MAY_DAMAGE_YOUR_HEARING_RAISE_THE_VOLUME_ABOVE_SAFE_LEVELS_Q"
+msgstr "Listening at a high volume for a long time may damage your hearing. Raise the volume above safe levels?"
+
+msgid "IDS_MUSIC_POP_ALREADY_EXISTS"
+msgstr "Already exists."
+
+msgid "IDS_MUSIC_OPT_SCAN_FOR_NEARBY_DEVICES"
+msgstr "Scan for nearby devices"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR"
+msgstr "After 1 hr"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_1_MIN"
+msgstr "After 1 hr 1 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS_1_MIN"
+msgstr "After %d hrs 1 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_MIN"
+msgstr "After 1 min"
+
+msgid "IDS_MUSIC_OPT_GO_TO_STORE"
+msgstr "Go to store"
+
+msgid "IDS_MUSIC_SK3_ADD_TRACKS"
+msgstr "Add tracks"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FROM_MUSIC_THEY_WILL_BE_SHOWN_HERE"
+msgstr "After you download tracks from Music, they will be shown here."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_YOUR_FAVOURITES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "After you add tracks to your favorites, they will be shown here."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_PLAY_TRACKS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "After you play tracks, they will be shown here."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_PS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "After you add tracks to %s, they will be shown here."
+
+msgid "IDS_MUSIC_BODY_NO_PURCHASED_CONTENT"
+msgstr "No purchased content"
+
+msgid "IDS_MUSIC_SK_SAVE_AS"
+msgstr "Save as"
+
+msgid "IDS_MUSIC_POP_MUSICPLAYER_UPDATING_FAILED"
+msgstr "Updating failed."
+
+msgid "IDS_MUSIC_BODY_EXCITING_M_ADJECTIVE"
+msgstr "EXCITING"
+
+msgid "IDS_MUSIC_BODY_SEARCH_MY_MUSIC"
+msgstr "Search my music"
+
+msgid "IDS_MUSIC_HEADER_CONNECTED_DEVICES"
+msgstr "Connected devices"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST_PS"
+msgstr "My playlist %s"
+
+msgid "IDS_MUSIC_BODY_NO_DEVICES"
+msgstr "No devices"
+
+msgid "IDS_MUSIC_HEADER_AVAILABLE_DEVICES_ABB"
+msgstr "Available devices"
+
+msgid "IDS_MUSIC_POP_SET"
+msgstr "Set"
+
+msgid "IDS_MUSIC_POP_REMOVE_FAILED"
+msgstr "Remove failed."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_USE_FAST_FORWARD_AND_REWIND_WHEN_NEARBY_DEVICES_ARE_ENABLED"
+msgstr "Unable to use fast forward and rewind when nearby devices are enabled."
+
+msgid "IDS_MUSIC_OPT_SET_AS"
+msgstr "Set as"
+
+msgid "IDS_MUSIC_OPT_HEADPHONES_ABB"
+msgstr "Headphones"
+
+msgid "IDS_MUSIC_OPT_SPEAKER"
+msgstr "Speaker"
+
+msgid "IDS_MUSIC_BODY_1_SONG"
+msgstr "1 song"
+
+msgid "IDS_MUSIC_BODY_PD_SONGS"
+msgstr "%d songs"
+
+msgid "IDS_MUSIC_BODY_1_TRACK"
+msgstr "1 track"
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_1_TRACK"
+msgstr "Shuffle 1 track"
+
+msgid "IDS_MUSIC_POP_NO_MUSIC_FOUND_FOR_SELECTED_CELL"
+msgstr "No music found for selected cell"
+
+msgid "IDS_MUSIC_BODY_DO_NOT_SHOW_AGAIN"
+msgstr "Do not show again."
+
+msgid "IDS_MUSIC_BODY_VARIOUS_ARTISTS"
+msgstr "Various artists"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_HOME_SCREEN_ABB"
+msgstr "Add to home screen"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_FAVOURITES"
+msgstr "Add to Favorites"
+
+msgid "IDS_MUSIC_OPT_EDIT_TITLE"
+msgstr "Edit title"
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_PERSONAL_STORAGE"
+msgstr "Remove from personal storage"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FOLDERS_WILL_BE_SHOWN"
+msgstr "After you download tracks, folders will be shown"
+
+msgid "IDS_MUSIC_BODY_SETTINGS_VOLUME"
+msgstr "Volume"
+
+msgid "IDS_MUSIC_BODY_REPEAT_OFF"
+msgstr "Repeat off"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_REPEAT_ALL"
+msgstr "Repeat all"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_OFF"
+msgstr "Shuffle off"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_ON"
+msgstr "Shuffle on"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST"
+msgstr "My playlist"
+
+msgid "IDS_MUSIC_MBODY_DEFAULT_PLAYLISTS"
+msgstr "Default playlists"
+
+msgid "IDS_MUSIC_BODY_DETAILS_RECORDING_DATE"
+msgstr "Recording date"
+
+msgid "IDS_MUSIC_OPT_ALBUM_ART_ABB"
+msgstr "Album art"
+
+msgid "IDS_MUSIC_BODY_1_GENRE"
+msgstr "1 genre"
+
+msgid "IDS_MUSIC_BODY_PD_FOLDERS"
+msgstr "%d folders"
+
+msgid "IDS_MUSIC_BODY_1_FOLDER"
+msgstr "1 folder"
+
+msgid "IDS_MUSIC_BODY_1_ARTIST"
+msgstr "1 artist"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_M_MUSIC"
+msgstr "1 album"
+
+msgid "IDS_MUSIC_BODY_1_PLAYLIST"
+msgstr "1 playlist"
+
+msgid "IDS_MUSIC_BODY_MUSIC_PLAYER"
+msgstr "Music Player"
+
+msgid "IDS_MUSIC_BUTTON_MOVE"
+msgstr "Move"
+
+msgid "IDS_MUSIC_BUTTON_AUTO_RECOMMENDATIONS"
+msgstr "Auto recommendations"
+
+msgid "IDS_MUSIC_BUTTON_FROM_THE_BEGINNING"
+msgstr "From the beginning"
+
+msgid "IDS_MUSIC_HEADER_SUGGESTIONS_FOR_YOU"
+msgstr "Suggestions for you"
+
+msgid "IDS_MUSIC_OPT_SAVE"
+msgstr "Save"
+
+msgid "IDS_MUSIC_TAB4_BASIC_M_EQUALIZING"
+msgstr "Basic"
+
+msgid "IDS_MUSIC_BODY_INSTRUMENT"
+msgstr "Instrument"
+
+msgid "IDS_MUSIC_BODY_TREBLE_M_EQUALISER"
+msgstr "Treble"
+
+msgid "IDS_MUSIC_BODY_BASS_M_EQUALISER"
+msgstr "Bass"
+
+msgid "IDS_MUSIC_BODY_NO_EFFECTS_ARE_APPLIED_IN_THIS_MODE_ABB"
+msgstr "No effects are applied in this mode."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_TIMBRE_OF_A_TUBE_AMP_ABB"
+msgstr "Simulates the timbre of a tube amp."
+
+msgid "IDS_MUSIC_OPT_TUBE_AMP_EFFECT"
+msgstr "Tube amp effect"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_EFFECT_OF_VIRTUAL_71_CHANNEL_SURROUND_SOUND_ABB"
+msgstr "Simulates the effect of virtual 7.1 channel surround sound."
+
+msgid "IDS_MUSIC_HEADER_SMALL_ROOM_M_REVERB_ABB"
+msgstr "Small room"
+
+msgid "IDS_MUSIC_HEADER_LARGE_ROOM_M_REVERB_ABB"
+msgstr "Large room"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_LARGE_ROOM_EG_A_THEATRE_ABB"
+msgstr "Simulates the reverb of a large room, e.g. a theater."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_CONCERT_HALL_ABB"
+msgstr "Simulates the reverb of a concert hall."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_SMALL_SPACE_EG_A_STUDIO_ABB"
+msgstr "Simulates the reverb of a small space, e.g. a studio."
+
+msgid "IDS_MUSIC_BUTTON_3D_CHN"
+msgstr "3D"
+
+msgid "IDS_MUSIC_BODY_CLARITY_M_SOUNDEFFECT"
+msgstr "Clarity"
+
+msgid "IDS_MUSIC_BUTTON_RESET"
+msgstr "Reset"
+
+msgid "IDS_MUSIC_TAB_YEARS"
+msgstr "Years"
+
+msgid "IDS_MUSIC_TAB_GENRES"
+msgstr "Genres"
+
+msgid "IDS_MUSIC_TAB_COMPOSERS"
+msgstr "Composers"
+
+msgid "IDS_MUSIC_TAB_ALL_TRACKS"
+msgstr "All tracks"
+
+msgid "IDS_MUSIC_SK3_GO_TO_QUICK_LIST"
+msgstr "Go to quick list"
+
+msgid "IDS_MUSIC_SK3_FIND"
+msgstr "Find"
+
+msgid "IDS_MUSIC_SK3_ADD_TO_QUICK_LIST"
+msgstr "Add to quick list"
+
+msgid "IDS_MUSIC_POP_UNAUTHORISED_VIDEO_FILE_FOR_TV_OUT"
+msgstr "Unauthorized video file for TV-out."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_CREATE_MAXIMUM_NUMBER_OF_PLAYLISTS_REACHED"
+msgstr "Unable to create. Maximum number of playlists reached"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTING_BLUETOOTH_HEADSET"
+msgstr "Unable to adjust volume while connecting Bluetooth headset."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTED_TO_BLUETOOTH_HEADSET"
+msgstr "Unable to adjust volume while connected to Bluetooth headset."
+
+msgid "IDS_MUSIC_POP_STOP_MUSIC_PLAYER_Q"
+msgstr "Stop Music Player?"
+
+msgid "IDS_MUSIC_POP_PLEASE_EXIT_SILENT_MODE"
+msgstr "Please exit Silent mode."
+
+msgid "IDS_MUSIC_POP_NETWORK_FAILURE"
+msgstr "Network failure."
+
+msgid "IDS_MUSIC_POP_MEMORY_CARD_LOADED"
+msgstr "Memory card loaded."
+
+msgid "IDS_MUSIC_POP_DEVICE_SETTINGS_ERROR"
+msgstr "Device settings error."
+
+msgid "IDS_MUSIC_POP_COULD_NOT_FIND_A_MATCH_FOR_THE_SONG"
+msgstr "Could not find a match for the song."
+
+msgid "IDS_MUSIC_POP_BUFFERING_MSTATUS"
+msgstr "Buffering"
+
+msgid "IDS_MUSIC_POP_BT_HEADSET_ONLY_SUPPORTS_NORMAL_EFFECTS_SETTING"
+msgstr "BT headset only supports normal effects setting."
+
+msgid "IDS_MUSIC_POP_APPLICATION_WILL_BE_CLOSED"
+msgstr "Application will be closed."
+
+msgid "IDS_MUSIC_POP_ADDED_GO_TO_WISH_LIST_Q"
+msgstr "Added. Go to Wish list?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_THE_SERVICE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "Access to the service may be charged. Continue?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_STORE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "Access to store may be charged. Continue?"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_ONLY_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES"
+msgstr "5.1 channel sound effect works only in earphone and Bluetooth headset modes."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "5.1 channel sound effect works in earphone mode only."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECTS_NOT_SUPPORTED_BY_SPEAKER"
+msgstr "5.1 channel sound effects not supported by speaker."
+
+msgid "IDS_MUSIC_OPT_VIEW_BY_COVER_ART"
+msgstr "View by cover art"
+
+msgid "IDS_MUSIC_OPT_SEND_TRACK"
+msgstr "Send track"
+
+msgid "IDS_MUSIC_OPT_RATE_TRACK"
+msgstr "Rate track"
+
+msgid "IDS_MUSIC_OPT_PLAYLIST_MOVE_TRACK_IN_PLAYLIST"
+msgstr "Move track in playlist"
+
+msgid "IDS_MUSIC_OPT_OPENPLAYLIST_CURRENT"
+msgstr "Current"
+
+msgid "IDS_MUSIC_OPT_DELETE_PLAYLIST"
+msgstr "Delete playlist"
+
+msgid "IDS_MUSIC_OPT_BACKGROUND_PLAYING"
+msgstr "Background playing"
+
+msgid "IDS_MUSIC_HEADER_EFFECTS"
+msgstr "Effects"
+
+msgid "IDS_MUSIC_BUTTON_BUY_NOW"
+msgstr "Buy now"
+
+msgid "IDS_MUSIC_BODY_WOW_HD"
+msgstr "Wow HD"
+
+msgid "IDS_MUSIC_BODY_WISHLIST"
+msgstr "Wish list"
+
+msgid "IDS_MUSIC_BODY_WIDE"
+msgstr "Wide"
+
+msgid "IDS_MUSIC_BODY_WHA_WHA"
+msgstr "Wha-wha"
+
+msgid "IDS_MUSIC_BODY_VIBE_WOOFER"
+msgstr "Vibe woofer"
+
+msgid "IDS_MUSIC_BODY_TREMOLO"
+msgstr "Tremolo"
+
+msgid "IDS_MUSIC_BODY_TAP_TWICE_TO_PLAY_PAUSE_MUSIC"
+msgstr "Tap twice to play/pause music."
+
+msgid "IDS_MUSIC_BODY_SHARE_TRACK_VIA_BLUETOOTH"
+msgstr "Share track via Bluetooth"
+
+msgid "IDS_MUSIC_BODY_SETUPWIZARD_WELCOME_TO_THE_MUSIC_SETUP_WIZARD_CONTINUE_Q"
+msgstr "Welcome to the Music set-up wizard. The following screens will help you configure your phone. Continue?"
+
+msgid "IDS_MUSIC_BODY_QUICK_LIST"
+msgstr "Quick list"
+
+msgid "IDS_MUSIC_BODY_PLAYINGSETTINGS_SOUND_EFFECTS"
+msgstr "Sound effects"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_ALL"
+msgstr "All"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_1"
+msgstr "1"
+
+msgid "IDS_MUSIC_BODY_PLAYERSETTINGS_VOLUME"
+msgstr "Volume"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_SELECTED"
+msgstr "%d tracks selected."
+
+msgid "IDS_MUSIC_BODY_NO_PODCASTS"
+msgstr "No podcasts"
+
+msgid "IDS_MUSIC_BODY_FIND_SIMILAR"
+msgstr "Find similar"
+
+msgid "IDS_MUSIC_BODY_BACKGROUND_PLAY"
+msgstr "Background play"
+
+msgid "IDS_MUSIC_BODY_51_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "5.1 channel can only be activated when sound effects are off."
+
+msgid "IDS_MUSIC_TAB4_PODCASTS"
+msgstr "Podcasts"
+
+msgid "IDS_MUSIC_SK2_EDIT_IMAGE"
+msgstr "Edit image"
+
+msgid "IDS_MUSIC_POP_PLAYING_ANY_SOUNDS_WILL_STOP_AND_SAVE_YOUR_VOICE_RECORDING_PLAY_Q"
+msgstr "Playing any sounds will stop and save your voice recording. Play?"
+
+msgid "IDS_MUSIC_POP_MAXIMUM_NUMBER_OF_ITEMS_HPD_SELECTED"
+msgstr "Maximum number of items (%d) selected."
+
+msgid "IDS_MUSIC_POP_BLUETOOTH_DISCONNECTED"
+msgstr "Bluetooth disconnected."
+
+msgid "IDS_MUSIC_POP_5_1_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "5.1 channel can only be activated when sound effects are off."
+
+msgid "IDS_MUSIC_OPT_TAKE_PICTURE"
+msgstr "Take picture"
+
+msgid "IDS_MUSIC_OPT_SHOW_MUSIC_VIEW_ABB"
+msgstr "Show music view"
+
+msgid "IDS_MUSIC_OPT_PAUSE"
+msgstr "Pause"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALBUM"
+msgstr "Play album"
+
+msgid "IDS_MUSIC_OPT_LIST_BY"
+msgstr "List by"
+
+msgid "IDS_MUSIC_OPT_HISTORY"
+msgstr "History"
+
+msgid "IDS_MUSIC_OPT_HIDE_MUSIC_VIEW_ABB"
+msgstr "Hide music view"
+
+msgid "IDS_MUSIC_OPT_FIND_TAG"
+msgstr "Find Tag"
+
+msgid "IDS_MUSIC_OPT_DROPBOX_CONTENT_ABB"
+msgstr "Dropbox content"
+
+msgid "IDS_MUSIC_OPT_CONTENT_ON_PHONE_ABB"
+msgstr "Content on phone"
+
+msgid "IDS_MUSIC_OPT_CHANGE_IMAGE"
+msgstr "Change image"
+
+msgid "IDS_MUSIC_HEADER_DELETE_DROPBOX_DATA_ABB"
+msgstr "Delete Dropbox data"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_STREAM_YOUR_MUSIC_TO_DEVICES_USING_ALLSHARE"
+msgstr "You can stream your music to devices using AllShare."
+
+msgid "IDS_MUSIC_BODY_VALIDITY"
+msgstr "Validity"
+
+msgid "IDS_MUSIC_BODY_TYPE_CNOUN"
+msgstr "Type"
+
+msgid "IDS_MUSIC_BODY_THIS_WILL_DELETE_THE_FILE_FROM_THE_SERVER_AND_ANY_CONNECTED_DEVICES_AS_WELL"
+msgstr "This will delete the file from the server and any connected devices as well."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_ARTISTS"
+msgstr "Artists"
+
+msgid "IDS_MUSIC_BODY_PLAYINGDETAILS_ALBUM_ART"
+msgstr "Album art"
+
+msgid "IDS_MUSIC_BODY_OTHER_CONTENTS"
+msgstr "Other contents"
+
+msgid "IDS_MUSIC_BODY_NAME_TOO_LONG"
+msgstr "Name too long."
+
+msgid "IDS_MUSIC_BODY_MUSIC_CLARITY"
+msgstr "Music clarity"
+
+msgid "IDS_MUSIC_BODY_HIGH_VOLUMES_MAY_HARM_YOUR_HEARING_IF_YOU_LISTEN_FOR_A_LONG_TIME"
+msgstr "High volume may harm your hearing if you listen to it for a long time."
+
+msgid "IDS_MUSIC_BODY_AVAILABLE_USES"
+msgstr "Available uses"
+
+msgid "IDS_MUSIC_TPOP_SOUND_EFFECTS_ONLY_AVAILABLE_WHILE_HEADPHONES_CONNECTED"
+msgstr "Sound effects only available while headphones connected."
+
+msgid "IDS_ST_OPT_ADD_TO_YOUR_PERSONAL_STORAGE"
+msgstr "Add to your personal storage"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_YOUR_PERSONAL_STORAGE"
+msgstr "Remove from your personal storage"
+
+msgid "IDS_ST_BODY_CONTEXTUAL_POP_UP_T_TALKBACK"
+msgstr "Contextual pop-up"
+
+msgid "IDS_ST_BODY_A_CONTEXTUAL_POP_UP_IS_OPEN_DOUBLE_TAP_TO_CLOSE_IT_T_TALKBACK"
+msgstr "A contextual pop-up is open. Double tap to close it."
+
+msgid "IDS_ST_BODY_REPEAT_ONE"
+msgstr "Repeat one"
+
+msgid "IDS_ST_BUTTON_MOVING_ING"
+msgstr "Moving..."
+
+msgid "IDS_HS_BODY_SELECT_UP_TO_PD_ITEMS"
+msgstr "Select up to %d items"
+
+msgid "IDS_CAM_BODY_TAB_T_TTS"
+msgstr "Tab"
+
+msgid "IDS_DLNA_OPT2_CHANGE_PLAYER"
+msgstr "Change player"
+
+msgid "IDS_BR_SK_TABS"
+msgstr "Tabs"
+
+msgid "IDS_MF_BODY_DROPBOX_ABB"
+msgstr "Dropbox"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Auto recommendations can extract the highlights from sound files."
+
+msgid "IDS_MF_BODY_PARENT_RATING"
+msgstr "Parent rating"
+
+msgid "IDS_VR_POP_FILE_NOT_FOUND"
+msgstr "File not found."
+
+msgid "IDS_PB_POP_CALLER_RINGTONE_SAVED"
+msgstr "Caller ringtone saved."
+
+msgid "IDS_MUSIC_BODY_BIT_DEPTH"
+msgstr "Bit depth"
+
+msgid "IDS_MUSIC_BODY_SIZE"
+msgstr "Size"
+
+msgid "IDS_MF_HEADER_PD_SELECTED"
+msgstr "%d selected"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_THIS_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "After you add tracks to this device, they will be shown here."
+
+msgid "IDS_MUSIC_TMBODY_LENGTH"
+msgstr "Length"
+
+msgid "IDS_MUSIC_POP_1_FOLDER_WILL_BE_DELETED"
+msgstr "1 folder will be deleted."
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "No contents"
+
+msgid "IDS_MUSIC_ITAB4_FOLDERS"
+msgstr "Folders"
+
+msgid "IDS_MUSIC_HEADER_MY_PLAYLISTS_ABB"
+msgstr "My playlists"
+
+msgid "IDS_MP_BODY_SOUND_PLAYER"
+msgstr "Sound player"
+
+msgid "IDS_MUSIC_OPT_SETTINGS"
+msgstr "Settings"
+
+msgid "IDS_MUSIC_POP_DELETING"
+msgstr "Deleting..."
+
+msgid "IDS_MUSIC_POP_1_TRACK_WILL_BE_DELETED"
+msgstr "1 track will be deleted."
+
+msgid "IDS_MUSIC_POP_ALL_TRACKS_WILL_BE_DELETED"
+msgstr "All tracks will be deleted"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_WILL_BE_DELETED"
+msgstr "%d tracks will be deleted."
+
+msgid "IDS_MUSIC_POP_1_PLAYLIST_WILL_BE_DELETED"
+msgstr "1 playlist will be deleted."
+
+msgid "IDS_MUSIC_POP_PD_PLAYLISTS_WILL_BE_DELETED"
+msgstr "%d playlists will be deleted."
+
+msgid "IDS_MUSIC_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "%d albums will be deleted."
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS_WILL_BE_DELETED"
+msgstr "%d artists will be deleted."
+
+msgid "IDS_MUSIC_POP_PD_FOLDERS_WILL_BE_DELETED"
+msgstr "%d folders will be deleted."
+
+msgid "IDS_ST_POP_CONNECTION_FAILED"
+msgstr "Connection failed."
+
+msgid "IDS_MUSIC_BODY_CLASSIC"
+msgstr "Classic"
+
+msgid "IDS_MUSIC_BODY_ROCK"
+msgstr "Rock"
+
+msgid "IDS_MUSIC_BODY_JAZZ"
+msgstr "Jazz"
+
+msgid "IDS_MUSIC_BODY_POP"
+msgstr "Pop"
+
+msgid "IDS_MUSIC_BODY_AUTO"
+msgstr "Auto"
+
+msgid "IDS_MUSIC_POP_CURRENT_SOUND_EFFECT_NOT_SUPPORTED_BY_HDMI"
+msgstr "Current sound effect not supported by HDMI."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_BLUETOOTH"
+msgstr "Sound effects not supported by Bluetooth."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_LINE_OUT"
+msgstr "Sound effects not supported by line out."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_HDMI"
+msgstr "Sound effects not supported by HDMI."
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EFFECT"
+msgstr "Tube amp"
+
+msgid "IDS_MUSIC_BODY_CUSTOM"
+msgstr "Custom"
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EQUALISER_ABB"
+msgstr "Tube amp"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d tracks added to playlist."
+
+msgid "IDS_MUSIC_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 track added to playlist."
+
+msgid "IDS_MUSIC_HEADER_ADD_TRACKS_TO_PLAYLIST_ABB"
+msgstr "Add tracks to playlist"
+
+msgid "IDS_MUSIC_POP_PS_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "%s already in use. Enter another name"
+
+msgid "IDS_MUSIC_TMBODY_DATE_OF_RECORDING"
+msgstr "Date of recording"
+
+msgid "IDS_MBP_TPOP_TRACK_SET_AS_ALARM_TONE"
+msgstr "Track set as alarm tone."
+
+msgid "IDS_MUSIC_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "No results found"
+
+msgid "IDS_MUSIC_OPT_DEFAULT_RINGTONE_ABB"
+msgstr "Default ringtone"
+
+msgid "IDS_MUSIC_TPOP_TRACK_SET_AS_CALLER_RINGTONE"
+msgstr "Track set as caller ringtone."
+
+msgid "IDS_MP_TPOP_TRACK_SET_AS_RINGTONE"
+msgstr "Track set as ringtone."
+
+msgid "IDS_DLNA_BODY_ADD_TO_NOW_PLAYING_LIST"
+msgstr "Add to now playing list"
+
+msgid "IDS_MUSIC_TPOP_EQUALISER_SETTINGS_WILL_BE_APPLIED_WHILE_PLAYING_MUSIC"
+msgstr "Equalizer settings will be applied while playing music."
+
+msgid "IDS_ST_BODY_ALERT"
+msgstr "Alert"
+
+msgid "IDS_IV_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 album will be deleted."
+
+msgid "IDS_MUSIC_OPT_SD_CARD"
+msgstr "SD card"
+
+msgid "IDS_MUSIC_SBODY_DEVICE_STORAGE"
+msgstr "Device storage"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE"
+msgstr "Playlist name already in use."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_PD"
+msgstr "Playlist %d"
+
+msgid "IDS_MUSIC_HEADER_CREATE"
+msgstr "Create"
+
+msgid "IDS_MUSIC_HEADER_EQUALISER_PRESET_ABB"
+msgstr "Equalizer preset"
+
+msgid "IDS_MUSIC_OPT_AUTOMATIC_M_EQUALIZER_EFFECT"
+msgstr "Automatic"
+
+msgid "IDS_MUSIC_OPT_CLASSICAL_M_EQUALIZER_EFFECT"
+msgstr "Classical"
+
+msgid "IDS_MUSIC_HEADER_ENVIRONMENT_EFFECT_ABB"
+msgstr "Environment effect"
+
+msgid "IDS_VIDEO_POP_THE_FILE_TYPE_IS_NOT_SUPPORTED"
+msgstr "The file type is not supported."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_CREATE_PLAYLISTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "After you create playlists, they will be shown here."
+
+msgid "IDS_ST_HEADER_SELECT_AUDIO_DEVICE_ABB"
+msgstr "Select audio device"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "Playlist name already in use. Enter another name."
+
+msgid "IDS_MUSIC_HEADER_SOUNDALIVE_ABB3"
+msgstr "SoundAlive"
+
+msgid "IDS_MUSIC_OPT_NOW_PLAYING_LIST"
+msgstr "Now playing list"
+
+msgid "IDS_MUSIC_OPT_SHOW_LYRICS"
+msgstr "Show lyrics"
+
+msgid "IDS_MUSIC_OPT_HIDE_LYRICS"
+msgstr "Hide lyrics"
+
+msgid "IDS_MUSIC_TPOP_UNABLE_TO_PLAY_MUSIC_DURING_CALLS"
+msgstr "Unable to play music during calls."
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Delete"
+
+msgid "IDS_MUSIC_HEADER_SELECT"
+msgstr "Select"
+
+msgid "IDS_TPLATFORM_OPT_NFC"
+msgstr "NFC"
+
+msgid "IDS_MUSIC_HEADER_UNABLE_TO_PLAY_TRACK"
+msgstr "Unable to play track"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "DONE"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "CANCEL"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "DELETE"
+
+msgid "IDS_MUSIC_POP_RENAME"
+msgstr "Rename"
+
+msgid "IDS_MUSIC_OPT_MESSAGE"
+msgstr "Message"
+
+msgid "IDS_MUSIC_SK_OK"
+msgstr "OK"
+
+msgid "IDS_MUSIC_SK_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_MUSIC_BUTTON_REFRESH"
+msgstr "Refresh"
+
+msgid "IDS_MUSIC_BODY_SELECT_ALL"
+msgstr "Select all"
+
+msgid "IDS_MUSIC_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_MUSIC_POP_DELETED"
+msgstr "Deleted."
+
+msgid "IDS_MUSIC_OPT_STOP"
+msgstr "Stop"
+
+msgid "IDS_MUSIC_BODY_UNKNOWN"
+msgstr "Unknown"
+
+msgid "IDS_MUSIC_BODY_TITLE"
+msgstr "Title"
+
+msgid "IDS_MUSIC_OPT_SENDVIA_EMAIL"
+msgstr "Email"
+
+msgid "IDS_MUSIC_OPT_BLUETOOTH"
+msgstr "Bluetooth"
+
+msgid "IDS_MUSIC_HEADER_DOWNLOAD"
+msgstr "Download"
+
+msgid "IDS_MUSIC_POP_LOW_BATTERY"
+msgstr "Low battery."
+
+msgid "IDS_MUSIC_HEADER_AUDIO_DEVICE"
+msgstr "Audio device"
+
+msgid "IDS_MUSIC_HEADER_DETAILS"
+msgstr "Details"
+
+msgid "IDS_MUSIC_OPT_END"
+msgstr "End"
+
+msgid "IDS_MUSIC_OPT_EDIT"
+msgstr "Edit"
+
+msgid "IDS_CAM_HEADER_UPDATED"
+msgstr "Updated."
+
+msgid "IDS_MUSIC_POP_REMOVED"
+msgstr "Removed."
+
+msgid "IDS_MUSIC_OPT_SELECTED"
+msgstr "Selected"
+
+msgid "IDS_ST_BUTTON_SCAN"
+msgstr "Scan"
+
+msgid "IDS_MF_POP_ERROR"
+msgstr "Error."
+
+msgid "IDS_MF_POP_MEMORY_FULL"
+msgstr "Memory full."
+
+
+
+msgid "IDS_COM_BODY_ALLSHARE"
+msgstr "AllShare"
+
+msgid "IDS_COM_BODY_BLUETOOTH"
+msgstr "Bluetooth"
+
+msgid "IDS_COM_BODY_CLOSE"
+msgstr "Close"
+
+msgid "IDS_COM_BODY_CREATE"
+msgstr "Create"
+
+msgid "IDS_COM_BODY_DETAILS"
+msgstr "Details"
+
+msgid "IDS_COM_BODY_DETAILS_TITLE"
+msgstr "Title"
+
+msgid "IDS_COM_BODY_EDIT"
+msgstr "Edit"
+
+msgid "IDS_COM_BODY_EMAIL"
+msgstr "Email"
+
+msgid "IDS_COM_BODY_END"
+msgstr "End"
+
+msgid "IDS_COM_BODY_FOLDERS"
+msgstr "Folders"
+
+msgid "IDS_COM_BODY_GALLERY"
+msgstr "Gallery"
+
+msgid "IDS_COM_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_COM_BODY_LOADING"
+msgstr "Loading..."
+
+msgid "IDS_COM_BODY_LOW_BATTERY"
+msgstr "Low battery."
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Message"
+
+msgid "IDS_COM_BODY_MUSIC"
+msgstr "Music"
+
+msgid "IDS_COM_BODY_NFC"
+msgstr "NFC"
+
+msgid "IDS_COM_BODY_NO_CONTENTS"
+msgstr "No content"
+
+msgid "IDS_COM_BODY_PAUSE"
+msgstr "Pause"
+
+msgid "IDS_COM_BODY_PD_SELECTED"
+msgstr "%d selected."
+
+msgid "IDS_COM_BODY_PREVIOUS"
+msgstr "Previous"
+
+msgid "IDS_COM_BODY_RESET_A"
+msgstr "Reset"
+
+msgid "IDS_COM_BODY_SELECTED"
+msgstr "Selected"
+
+msgid "IDS_COM_BODY_SELECT_ALL"
+msgstr "Select all"
+
+msgid "IDS_COM_BODY_SETTINGS"
+msgstr "Settings"
+
+msgid "IDS_COM_BODY_TIME"
+msgstr "Time"
+
+msgid "IDS_COM_BODY_UNABLE_TO_ADD"
+msgstr "Unable to add."
+
+msgid "IDS_COM_BODY_UNKNOWN"
+msgstr "Unknown"
+
+msgid "IDS_COM_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_COM_BUTTON_SCAN"
+msgstr "Scan"
+
+msgid "IDS_COM_BUTTON_SHARE"
+msgstr "Share"
+
+msgid "IDS_COM_HEADER_AUDIO_DEVICE_ABB"
+msgstr "Audio device"
+
+msgid "IDS_COM_OPT_ADDED"
+msgstr "Added."
+
+msgid "IDS_COM_OPT_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_POP_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_POP_CONNECTION_FAILED"
+msgstr "Connection failed."
+
+msgid "IDS_COM_POP_DELETED"
+msgstr "Deleted."
+
+msgid "IDS_COM_POP_DELETE_Q"
+msgstr "Delete?"
+
+msgid "IDS_COM_POP_DONE"
+msgstr "Done"
+
+msgid "IDS_COM_POP_DOWNLOADING"
+msgstr "Downloading..."
+
+msgid "IDS_COM_POP_ERROR"
+msgstr "Error."
+
+msgid "IDS_COM_POP_FAILED"
+msgstr "Failed."
+
+msgid "IDS_COM_POP_FILE_NOT_EXIST"
+msgstr "This file does not exist."
+
+msgid "IDS_COM_POP_FILE_NOT_FOUND"
+msgstr "File not found."
+
+msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximum number of characters reached."
+
+msgid "IDS_COM_POP_MEMORY_FULL"
+msgstr "Memory full."
+
+msgid "IDS_COM_POP_REMOVED"
+msgstr "Removed."
+
+msgid "IDS_COM_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Unable to use during Mass storage mode."
+
+msgid "IDS_COM_POP_UPDATED"
+msgstr "Updated."
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_SK_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_SK_DOWNLOAD"
+msgstr "Download"
+
+msgid "IDS_COM_SK_NEW"
+msgstr "New"
+
+msgid "IDS_COM_SK_NEXT"
+msgstr "Next"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_SK_REFRESH"
+msgstr "Refresh"
+
+msgid "IDS_COM_SK_REMOVE"
+msgstr "Remove"
+
+msgid "IDS_MUSIC_MBODY_QUEUE"
+msgstr "Queue"
+
+msgid "IDS_MUSIC_OPT_VOLUME"
+msgstr "Volume"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE"
+msgstr "Shuffle"
+
+msgid "IDS_MUSIC_OPT_REPEAT"
+msgstr "Repeat"
+
+
+msgid "IDS_MH_BODY_THE_PLAYLIST_NAME_PS_IS_ALREADY_IN_USE"
+msgstr "The playlist name %s is already in use."
+
+msgid "IDS_MH_BODY_TOTAL"
+msgstr "Total"
+
+msgid "IDS_MH_MBODY_RECENTLY_ADDED_M_SONG"
+msgstr "Recently added"
+
+msgid "IDS_MH_OPT_MORE_INFO_ABB"
+msgstr "More info"
+
+msgid "IDS_MH_POP_ALARM_TONE_SET"
+msgstr "Alarm tone set."
+
+msgid "IDS_MH_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 track added to playlist."
+
+msgid "IDS_MH_TPOP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d tracks added to playlist."
+
+msgid "IDS_MUSIC_OPT_RENAME"
+msgstr "Rename"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Unable to play during call."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Maximum size of files exceeded."
+
+msgid "IDS_CAM_TPOP_UNABLE_TO_PLAY_MUSIC_WHILE_RECORDING_AUDIO_OR_VIDEO"
+msgstr "Unable to play music while recording audio or video."
+
--- /dev/null
+msgid "IDS_ST_BODY_LOADING_ING"
+msgstr "Loading..."
+
+msgid "IDS_GALLERY_OPT_PRIVATE_M_CONTENT"
+msgstr "Private"
+
+msgid "IDS_MF_BODY_TIME"
+msgstr "Time"
+
+msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
+msgstr "This file does not exist."
+
+msgid "IDS_MUSIC_POP_PHONE_RINGTONE"
+msgstr "Phone ringtone"
+
+msgid "IDS_MUSIC_BODY_DURATION"
+msgstr "Duration"
+
+msgid "IDS_MUSIC_BODY_MUSIC_LOCATION"
+msgstr "Location"
+
+msgid "IDS_MUSIC_BODY_SET_AS_M_RINGTONE"
+msgstr "Set as"
+
+msgid "IDS_ST_OPT_ADD_TO_PERSONAL_PAGE"
+msgstr "Add to personal page"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_PERSONAL_PAGE_ABB"
+msgstr "Remove from personal page"
+
+msgid "IDS_ST_POP_MOVE_TO_NORMAL_STORAGE"
+msgstr "Move to normal storage"
+
+msgid "IDS_ST_POP_MOVE_TO_PERSONAL_STORAGE"
+msgstr "Move to personal storage"
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEMS_WILL_BE_MOVED_TO_PS"
+msgstr "The selected items will be moved to %s."
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEM_WILL_BE_MOVED_TO_PS"
+msgstr "The selected item will be moved to %s."
+
+msgid "IDS_VR_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Unable to use during Mass storage mode."
+
+msgid "IDS_MUSIC_POP_RINGTONE_ADDED"
+msgstr "Ringtone added."
+
+msgid "IDS_CAM_BODY_BUTTON_T_TTS"
+msgstr "Button"
+
+msgid "IDS_MUSIC_HEADER_SELECT_ITEMS"
+msgstr "Select items"
+
+msgid "IDS_ST_BODY_ADVANCED"
+msgstr "Advanced"
+
+msgid "IDS_ST_SK_PREVIOUS"
+msgstr "Previous"
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Close"
+
+msgid "IDS_MUSIC_POP_ADDED"
+msgstr "Added."
+
+msgid "IDS_MUSIC_POP_FAILED"
+msgstr "Failed."
+
+msgid "IDS_MUSIC_BODY_NO_SEARCH_RESULTS"
+msgstr "No search results"
+
+msgid "IDS_MUSIC_SK_DONE"
+msgstr "Done"
+
+msgid "IDS_MUSIC_BODY_NO_ITEMS"
+msgstr "No items"
+
+msgid "IDS_BR_OPT_ADD_TO_HOME"
+msgstr "Add to home"
+
+msgid "IDS_BR_SK_NEXT"
+msgstr "Next"
+
+msgid "IDS_BR_BODY_DOWNLOADING_ING"
+msgstr "Downloading..."
+
+msgid "IDS_IV_BODY_FAVOURITE"
+msgstr "Favorite"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_PERSONAL_STORAGE"
+msgstr "Add to personal storage"
+
+msgid "IDS_DLNA_POP_DISCONNECTED_FROM_PS_CHECK_THE_NETWORK_STATUS_AND_THE_CONNECTED_DEVICE"
+msgstr "Disconnected from %s. Check the network status and the connected device."
+
+msgid "IDS_DLNA_OPT_VIA_SCREEN_MIRRORING_ABB"
+msgstr "Via Screen Mirroring"
+
+msgid "IDS_DLNA_OPT_VIA_HOME_NETWORK_ABB"
+msgstr "Via home network"
+
+msgid "IDS_IV_POP_ENTRY_IS_EMPTY"
+msgstr "Entry is empty."
+
+msgid "IDS_FM_POP_UNAVAILABLE_DURING_CALL"
+msgstr "Unavailable during call."
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximum number of characters reached."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_SHARE_DRM_FILE"
+msgstr "Unable to share DRM file."
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Removing..."
+
+msgid "IDS_MUSIC_HEADER_PD_DEVICES"
+msgstr "%d devices"
+
+msgid "IDS_MUSIC_BUTTON_ENABLE_MOTION"
+msgstr "Turn on motion"
+
+msgid "IDS_MUSIC_BUTTON_DONT_ASK_AGAIN"
+msgstr "Don't ask again"
+
+msgid "IDS_MUSIC_BODY_NO_RESULTS_FOUND"
+msgstr "No results found."
+
+msgid "IDS_VPL_OPT_HDMI"
+msgstr "HDMI"
+
+msgid "IDS_MUSIC_BODY_TURN_PHONE_OVER_TO_MUTE_INCOMING_CALLS_MESSAGE_ALERTS_AND_ALARMS"
+msgstr "Turn phone over to mute incoming calls, message alerts, and alarms."
+
+msgid "IDS_ST_BODY_NONE"
+msgstr "None"
+
+msgid "IDS_ST_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_ST_BODY_GALLERY"
+msgstr "Gallery"
+
+msgid "IDS_ST_BODY_DOUBLE_TAP_TO_MOVE_TO_CONTENT_T_TTS"
+msgstr "Double tap to move to content."
+
+msgid "IDS_MUSIC_BODY_SURROUND"
+msgstr "Surround"
+
+msgid "IDS_MUSIC_OPT_LYRICS_ABB"
+msgstr "Lyrics"
+
+msgid "IDS_MUSIC_POP_AFTER_YOU_ADD_TRACKS_TO_MUSIC_ON_YOUR_MOBILE_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "After you add tracks to Music on your mobile device, they will be shown here."
+
+msgid "IDS_MUSIC_BODY_SAMPLING_RATE"
+msgstr "Sampling rate"
+
+msgid "IDS_MUSIC_BODY_MARKED_AS_A_FAVOURITE"
+msgstr "Marked as a favorite"
+
+msgid "IDS_MUSIC_BODY_MUSIC"
+msgstr "Music"
+
+msgid "IDS_MUSIC_BODY_NOT_MARKED_AS_A_FAVOURITE"
+msgstr "Not marked as a favorite"
+
+msgid "IDS_MUSIC_HEADER_SEARCH_MUSIC_ABB"
+msgstr "Search music"
+
+msgid "IDS_MUSIC_POP_AUTO_RECOMMENDATION_DOES_NOT_SUPPORT_THIS_AUDIO_FILE"
+msgstr "Auto recommendation does not support this audio file."
+
+msgid "IDS_MUSIC_POP_SORRY_THE_PLAYER_DOES_NOT_SUPPORT_THIS_TYPE_OF_AUDIO_FILE"
+msgstr "Sorry, the player does not support this type of audio file."
+
+msgid "IDS_MUSIC_BODY_FAVOURITES"
+msgstr "Favorites"
+
+msgid "IDS_MUSIC_BODY_MOST_PLAYED"
+msgstr "Most played"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_ADDED"
+msgstr "Recently added"
+
+msgid "IDS_MUSIC_OPT_CREATE_PLAYLIST"
+msgstr "Create playlist"
+
+msgid "IDS_MUSIC_OPT_REMOVE"
+msgstr "Delete"
+
+msgid "IDS_MUSIC_OPT_SETAS_CALLER_RINGTONE"
+msgstr "Caller ringtone"
+
+msgid "IDS_MUSIC_TAB4_ARTISTS"
+msgstr "Artists"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD"
+msgstr "Unable to add."
+
+msgid "IDS_MUSIC_POP_UNABLE_CREATE_PLAYLIST"
+msgstr "Unable to create playlist."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_GET_TAG"
+msgstr "Unable to get tag."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_MORE_THAN_PD_MUSIC_FILE"
+msgstr "Unable to add more than %d music file."
+
+msgid "IDS_MUSIC_BODY_ALBUM"
+msgstr "Album"
+
+msgid "IDS_MUSIC_BODY_AUTHOR"
+msgstr "Author"
+
+msgid "IDS_MUSIC_BODY_COPYRIGHT"
+msgstr "Copyright"
+
+msgid "IDS_MUSIC_BODY_CREATE_PLAYLIST"
+msgstr "Create playlist"
+
+msgid "IDS_MUSIC_BODY_DESCRIPTION"
+msgstr "Description"
+
+msgid "IDS_MUSIC_BODY_FORMAT"
+msgstr "Format"
+
+msgid "IDS_MUSIC_BODY_IMPOSSIBLE"
+msgstr "Impossible"
+
+msgid "IDS_MUSIC_BODY_NO_PLAYLISTS"
+msgstr "No playlists"
+
+msgid "IDS_MUSIC_BODY_TRACK_NUMBER"
+msgstr "Track number"
+
+msgid "IDS_MUSIC_POP_DELETE_Q"
+msgstr "Delete?"
+
+msgid "IDS_MUSIC_POP_REMOVE_Q"
+msgstr "Remove?"
+
+msgid "IDS_MUSIC_POP_UNABLE_RENAME_PLAYLIST"
+msgstr "Unable to rename playlist."
+
+msgid "IDS_MUSIC_TAB4_ALBUMS"
+msgstr "Albums"
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Adding..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Delete %d albums?"
+
+msgid "IDS_MUSIC_TAB4_PLAYLISTS"
+msgstr "Playlists"
+
+msgid "IDS_MUSIC_OPT_ADD"
+msgstr "Add"
+
+msgid "IDS_MUSIC_BODY_BIOGRAPHY"
+msgstr "Biography"
+
+msgid "IDS_MUSIC_BODY_CREDITS"
+msgstr "Credits"
+
+msgid "IDS_MUSIC_BODY_DETAILS_MEADIA_INFO"
+msgstr "Media info"
+
+msgid "IDS_MUSIC_BODY_DISCOGRAPHY"
+msgstr "Discography"
+
+msgid "IDS_MUSIC_BODY_LYRIC"
+msgstr "Lyric"
+
+msgid "IDS_MUSIC_BODY_POSSIBLE"
+msgstr "Possible"
+
+msgid "IDS_MUSIC_BODY_REVIEW"
+msgstr "Review"
+
+msgid "IDS_MUSIC_HEADER_TRACK_LIST"
+msgstr "Track list"
+
+msgid "IDS_MUSIC_BODY_ADD_TO_PLAYLIST"
+msgstr "Add to playlist"
+
+msgid "IDS_MUSIC_BODY_ARTIST"
+msgstr "Artist"
+
+msgid "IDS_MUSIC_BODY_FORWARDING"
+msgstr "Forwarding"
+
+msgid "IDS_MUSIC_BODY_RECORDED_DATE"
+msgstr "Date of recording"
+
+msgid "IDS_MUSIC_BODY_PLAYLISTS"
+msgstr "Playlists"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_PLAYED"
+msgstr "Recently played"
+
+msgid "IDS_MUSIC_BODY_TRACK_LENGTH"
+msgstr "Track length"
+
+msgid "IDS_MUSIC_HEADER_NO_SONGS"
+msgstr "No songs"
+
+msgid "IDS_MUSIC_POP_THIS_TRACK_WILL_BE_DELETED"
+msgstr "This track will be deleted."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_TRACKS_WILL_BE_DELETED"
+msgstr "The selected tracks will be deleted."
+
+msgid "IDS_MUSIC_POP_THIS_ARTIST_WILL_BE_DELETED"
+msgstr "This artist will be deleted."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ARTISTS_WILL_BE_DELETED"
+msgstr "The selected artists will be deleted."
+
+msgid "IDS_MUSIC_POP_ALL_ARTISTS_WILL_BE_DELETED"
+msgstr "All artists will be deleted."
+
+msgid "IDS_MUSIC_POP_THIS_FOLDER_WILL_BE_DELETED"
+msgstr "This folder will be deleted."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_FOLDERS_WILL_BE_DELETED"
+msgstr "The selected folders will be deleted."
+
+msgid "IDS_MUSIC_POP_ALL_FOLDERS_WILL_BE_DELETED"
+msgstr "All folders will be deleted."
+
+msgid "IDS_MUSIC_POP_THIS_ALBUM_WILL_BE_DELETED"
+msgstr "This album will be deleted."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ALBUMS_WILL_BE_DELETED"
+msgstr "The selected albums will be deleted."
+
+msgid "IDS_MUSIC_POP_ALL_ALBUMS_WILL_BE_DELETED"
+msgstr "All albums will be deleted."
+
+msgid "IDS_MUSIC_POP_THIS_PLAYLIST_WILL_BE_DELETED"
+msgstr "This playlist will be deleted."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_PLAYLISTS_WILL_BE_DELETED"
+msgstr "The selected playlists will be deleted."
+
+msgid "IDS_MUSIC_POP_ALL_PLAYLISTS_WILL_BE_DELETED"
+msgstr "All playlists will be deleted."
+
+msgid "IDS_MUSIC_HEADER_SONGS"
+msgstr "Songs"
+
+msgid "IDS_MUSIC_OPT_REORDER"
+msgstr "Reorder"
+
+msgid "IDS_MUSIC_OPT_SAVE_AS_PLAYLIST"
+msgstr "Save as playlist"
+
+msgid "IDS_MUSIC_OPT_SETAS_ALARM_TONE"
+msgstr "Alarm tone"
+
+msgid "IDS_MUSIC_POP_NOTHING_SELECTED"
+msgstr "Nothing selected."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Unable to play. Error occurred."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_UNSUPPORTED_FILETYPE"
+msgstr "Unable to play. Unsupported file type."
+
+msgid "IDS_MUSIC_SK_SHARE"
+msgstr "Share"
+
+msgid "IDS_MUSIC_TAB4_CONDUCTORS"
+msgstr "Conductors"
+
+msgid "IDS_MUSIC_HEADER_SELECT_DEVICE"
+msgstr "Select device"
+
+msgid "IDS_MUSIC_SK_VIEW_AS"
+msgstr "View as"
+
+msgid "IDS_MUSIC_BODY_SOUNDEFFECTS_NORMAL"
+msgstr "Normal"
+
+msgid "IDS_MUSIC_BODY_USER"
+msgstr "User"
+
+msgid "IDS_MUSIC_BODY_VOCAL_M_SOUNDEFFECT"
+msgstr "Vocal"
+
+msgid "IDS_MUSIC_MBODY_BASS_BOOST"
+msgstr "Bass boost"
+
+msgid "IDS_MUSIC_MBODY_TREBLE_BOOST"
+msgstr "Treble boost"
+
+msgid "IDS_MUSIC_BODY_CAFE_M_SOUNDEFFECT"
+msgstr "Cafe"
+
+msgid "IDS_MUSIC_OPT_VIRTUAL_71_CH"
+msgstr "Virtual 7.1 ch"
+
+msgid "IDS_MUSIC_OPT_AFTER_15_MIN_ABB"
+msgstr "After 15 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_30_MIN"
+msgstr "After 30 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HOUR"
+msgstr "After 1 hour"
+
+msgid "IDS_MUSIC_POP_AFTER_1_HOUR_30_MIN"
+msgstr "After 1 hour 30 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_2_HOURS"
+msgstr "After 2 hours"
+
+msgid "IDS_MUSIC_BODY_MUSIC_AUTO_OFF"
+msgstr "Music auto off"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES_ONLY"
+msgstr "This sound effect works in earphone and Bluetooth headset modes only."
+
+msgid "IDS_MUSIC_TAB4_MUSIC_SQUARE"
+msgstr "Music square"
+
+msgid "IDS_MUSIC_POP_NOT_ENOUGH_MUSIC_FILES_TO_PLAY_IN_MUSIC_SQUARE_AT_LEAST_PD_MUSIC_FILES_REQUIRED"
+msgstr "Not enough music files to play in Music square. At least %d music files required."
+
+msgid "IDS_MUSIC_BODY_PASSION_M_MOOD"
+msgstr "Passion"
+
+msgid "IDS_MUSIC_BODY_CALM_M_ADJECTIVE"
+msgstr "Calm"
+
+msgid "IDS_MUSIC_BODY_JOY_M_MOOD"
+msgstr "Joy"
+
+msgid "IDS_MUSIC_BODY_LIBRARY_UPDATE"
+msgstr "Library update"
+
+msgid "IDS_MUSIC_POP_UPDATE_LIBRARY_Q"
+msgstr "Update library?"
+
+msgid "IDS_MUSIC_BODY_CHANGE_AXIS"
+msgstr "Change axis"
+
+msgid "IDS_MUSIC_ITAB4_GENRES"
+msgstr "Genres"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_1_TRACK"
+msgstr "1 album / 1 track"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_PD_TRACKS"
+msgstr "1 album / %d tracks"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS_PD_TRACKS"
+msgstr "%d albums / %d tracks"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_CONTROL_MUSIC_PLAYER_WITH_THE_VOICE_COMMANDS_P1SS_P2SS_P3SS_P4SS_P5SS_AND_P6SS"
+msgstr "You can control Music Player with the voice commands %1$s, %2$s, %3$s, %4$s, %5$s, and %6$s."
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_PD_TRACKS"
+msgstr "Shuffle %d tracks"
+
+msgid "IDS_MUSIC_BODY_MORE_INFO"
+msgstr "More info"
+
+msgid "IDS_MUSIC_HEADER_MY_MUSIC_M_APPLICATION_NAME"
+msgstr "My Music"
+
+msgid "IDS_MUSIC_OPT_LIST_VIEW"
+msgstr "List view"
+
+msgid "IDS_MUSIC_OPT_PLAY_VIA_GROUP_PLAY"
+msgstr "Play via Group Play"
+
+msgid "IDS_MUSIC_POP_TRACK_ADDED_TO_FAVOURITES"
+msgstr "Track added to favorites."
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_FAVOURITES"
+msgstr "Remove from Favorites"
+
+msgid "IDS_MUSIC_BODY_NEW_M_LATEST"
+msgstr "New"
+
+msgid "IDS_MUSIC_OPT_TRACKS"
+msgstr "Tracks"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL"
+msgstr "Thumbnail"
+
+msgid "IDS_MUSIC_SK_LIST"
+msgstr "List"
+
+msgid "IDS_MUSIC_SK_OPEN_PLAYLIST"
+msgstr "Open playlist"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALL"
+msgstr "Play all"
+
+msgid "IDS_MUSIC_POP_SELECTED_LIST_EMPTY"
+msgstr "Selected list empty."
+
+msgid "IDS_MUSIC_BODY_MOODS"
+msgstr "Moods"
+
+msgid "IDS_MUSIC_BUTTON_YEARS"
+msgstr "Years"
+
+msgid "IDS_MUSIC_BODY_OLD"
+msgstr "Old"
+
+msgid "IDS_MUSIC_BODY_MUSIC_SQUARE_ANALYSES_THE_CHARACTERISTICS_OF_MUSIC_FILES_STORED_ON_YOUR_DEVICE_AND_AUTOMATICALLY_CREATES_PLAYLISTS_MSG"
+msgstr "Music square analyzes characteristics of music files stored in your device and automatically creates playlists."
+
+msgid "IDS_MUSIC_BODY_PLAY_TRACKS_WITH_SIMILAR_CHARACTERISTICS_BY_SELECTING_A_SQUARE_ON_THE_SCREEN"
+msgstr "Play playlist of music with similar characteristics by selecting a square on screen."
+
+msgid "IDS_MUSIC_BODY_VIEW_PLAYLIST_DETAILS_BY_TAPPING_AND_HOLDING_THE_SQUARE_CURRENTLY_BEING_PLAYED"
+msgstr "View playlist details by pressing and holding the square currently playing."
+
+msgid "IDS_MUSIC_BODY_NEARBY_DEVICES"
+msgstr "Nearby devices"
+
+msgid "IDS_MUSIC_POP_YOU_WILL_NEED_TO_UPDATE_THE_LIBRARY_IF_NEW_SONGS_HAVE_BEEN_ADDED"
+msgstr "You will need to update the library if new songs have been added."
+
+msgid "IDS_MUSIC_BODY_NO_ALBUMS"
+msgstr "No albums"
+
+msgid "IDS_MUSIC_BODY_NO_ARTISTS"
+msgstr "No artists"
+
+msgid "IDS_MUSIC_OPT_PLAY_SPEED_ABB"
+msgstr "Play speed"
+
+msgid "IDS_MUSIC_BODY_CONCERT_HALL_M_SOUNDEFFECT"
+msgstr "Concert hall"
+
+msgid "IDS_MUSIC_OPT_ADD_TO"
+msgstr "Add to"
+
+msgid "IDS_MUSIC_SK_VIEW"
+msgstr "View"
+
+msgid "IDS_MUSIC_OPT_LISTBY_RECENTLY_ADDED"
+msgstr "Recently added"
+
+msgid "IDS_MUSIC_BODY_NOT_USED"
+msgstr "Not used"
+
+msgid "IDS_MUSIC_BODY_MAKE_AVAILABLE_OFFLINE"
+msgstr "Make available offline"
+
+msgid "IDS_MUSIC_OPT_AFTER_P1SD_HRS_P2SD_MINS"
+msgstr "After %1$d hr %2$d min"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS"
+msgstr "After %d hr"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_MINS"
+msgstr "After %d min"
+
+msgid "IDS_MUSIC_BODY_NO_FOLDERS"
+msgstr "No folders"
+
+msgid "IDS_MUSIC_BODY_NO_TRACKS"
+msgstr "No tracks"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS"
+msgstr "%d albums"
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS"
+msgstr "%d artists"
+
+msgid "IDS_MUSIC_BODY_PD_GENRES"
+msgstr "%d genres"
+
+msgid "IDS_MUSIC_BODY_PD_PLAYLISTS"
+msgstr "%d playlists"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_ABB"
+msgstr "%d tracks"
+
+msgid "IDS_MUSIC_BODY_PLAYLIST"
+msgstr "Playlist"
+
+msgid "IDS_MUSIC_HEADER_SIMILAR_ALBUMS"
+msgstr "Similar albums"
+
+msgid "IDS_MUSIC_HEADER_TRACK"
+msgstr "Track"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL_VIEW"
+msgstr "Thumbnail view"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "This sound effect works in Earphone mode only."
+
+msgid "IDS_MUSIC_OPT_ALL_CONTENT_ABB2"
+msgstr "All content"
+
+msgid "IDS_MUSIC_BODY_A_NETWORK_CONNECTION_IS_REQUIRED_TO_PLAY_THIS_FILE_CHECK_YOUR_NETWORK_CONNECTION_AND_TRY_AGAIN"
+msgstr "A network connection is required to play this track. Check your network connection and try again."
+
+msgid "IDS_MUSIC_POP_FILE_TYPE_NOT_SUPPORTED"
+msgstr "File type not supported."
+
+msgid "IDS_MUSIC_POP_UPDATING_ING"
+msgstr "Updating..."
+
+msgid "IDS_MUSIC_OPT_SEARCH_ABB"
+msgstr "Search"
+
+msgid "IDS_MUSIC_OPT_SEARCH_BY"
+msgstr "Search by"
+
+msgid "IDS_MUSIC_BODY_RELATED_VIDEOS"
+msgstr "Related videos"
+
+msgid "IDS_MUSIC_BODY_SMART_VOLUME_ABB"
+msgstr "Smart volume"
+
+msgid "IDS_MUSIC_BODY_THE_VOLUME_OF_ALL_TRACKS_WILL_BE_ADJUSTED_TO_LEVEL_PD"
+msgstr "The volume of all tracks will be adjusted to level %d."
+
+msgid "IDS_MUSIC_HEADER_SMART_VOLUME_IS_ENABLED"
+msgstr "Smart volume is turned on"
+
+msgid "IDS_MUSIC_OPT_CONNECTION_INFO_ABB"
+msgstr "Connection info"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_PD_MINS"
+msgstr "After 1 hr %d min"
+
+msgid "IDS_MUSIC_BODY_ADAPT_SOUND_ABB"
+msgstr "Adapt sound"
+
+msgid "IDS_MUSIC_BODY_MY_DEVICE"
+msgstr "My device"
+
+msgid "IDS_MUSIC_POP_LISTENING_AT_A_HIGH_VOLUME_FOR_A_LONG_TIME_MAY_DAMAGE_YOUR_HEARING_RAISE_THE_VOLUME_ABOVE_SAFE_LEVELS_Q"
+msgstr "Listening at a high volume for a long time may damage your hearing. Raise the volume above safe levels?"
+
+msgid "IDS_MUSIC_POP_ALREADY_EXISTS"
+msgstr "Already exists."
+
+msgid "IDS_MUSIC_OPT_SCAN_FOR_NEARBY_DEVICES"
+msgstr "Scan for nearby devices"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR"
+msgstr "After 1 hr"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_1_MIN"
+msgstr "After 1 hr 1 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS_1_MIN"
+msgstr "After %d hr 1 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_MIN"
+msgstr "After 1 min"
+
+msgid "IDS_MUSIC_OPT_GO_TO_STORE"
+msgstr "Go to store"
+
+msgid "IDS_MUSIC_SK3_ADD_TRACKS"
+msgstr "Add tracks"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FROM_MUSIC_THEY_WILL_BE_SHOWN_HERE"
+msgstr "After you download tracks from Music, they will be shown here."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_YOUR_FAVOURITES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "After you add tracks to your favorites, they will be shown here."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_PLAY_TRACKS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "After you play tracks, they will be shown here."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_PS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "After you add tracks to %s, they will be shown here."
+
+msgid "IDS_MUSIC_BODY_NO_PURCHASED_CONTENT"
+msgstr "No purchased content"
+
+msgid "IDS_MUSIC_SK_SAVE_AS"
+msgstr "Save as"
+
+msgid "IDS_MUSIC_POP_MUSICPLAYER_UPDATING_FAILED"
+msgstr "Updating failed."
+
+msgid "IDS_MUSIC_BODY_EXCITING_M_ADJECTIVE"
+msgstr "Exciting"
+
+msgid "IDS_MUSIC_BODY_SEARCH_MY_MUSIC"
+msgstr "Search my music"
+
+msgid "IDS_MUSIC_HEADER_CONNECTED_DEVICES"
+msgstr "Connected devices"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST_PS"
+msgstr "My playlist %s"
+
+msgid "IDS_MUSIC_BODY_NO_DEVICES"
+msgstr "No devices"
+
+msgid "IDS_MUSIC_HEADER_AVAILABLE_DEVICES_ABB"
+msgstr "Available devices"
+
+msgid "IDS_MUSIC_POP_SET"
+msgstr "Set"
+
+msgid "IDS_MUSIC_POP_REMOVE_FAILED"
+msgstr "Remove failed."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_USE_FAST_FORWARD_AND_REWIND_WHEN_NEARBY_DEVICES_ARE_ENABLED"
+msgstr "Unable to use fast forward and rewind when nearby devices are turned on."
+
+msgid "IDS_MUSIC_OPT_SET_AS"
+msgstr "Set as"
+
+msgid "IDS_MUSIC_OPT_HEADPHONES_ABB"
+msgstr "Headphones"
+
+msgid "IDS_MUSIC_OPT_SPEAKER"
+msgstr "Speaker"
+
+msgid "IDS_MUSIC_BODY_1_SONG"
+msgstr "1 song"
+
+msgid "IDS_MUSIC_BODY_PD_SONGS"
+msgstr "%d songs"
+
+msgid "IDS_MUSIC_BODY_1_TRACK"
+msgstr "1 track"
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_1_TRACK"
+msgstr "Shuffle 1 track"
+
+msgid "IDS_MUSIC_POP_NO_MUSIC_FOUND_FOR_SELECTED_CELL"
+msgstr "No music found for selected cell"
+
+msgid "IDS_MUSIC_BODY_DO_NOT_SHOW_AGAIN"
+msgstr "Do not show again"
+
+msgid "IDS_MUSIC_BODY_VARIOUS_ARTISTS"
+msgstr "Various artists"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_HOME_SCREEN_ABB"
+msgstr "Add to Home screen"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_FAVOURITES"
+msgstr "Add to Favorites"
+
+msgid "IDS_MUSIC_OPT_EDIT_TITLE"
+msgstr "Edit title"
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_PERSONAL_STORAGE"
+msgstr "Remove from personal storage"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FOLDERS_WILL_BE_SHOWN"
+msgstr "After you download tracks, folders will be shown."
+
+msgid "IDS_MUSIC_BODY_SETTINGS_VOLUME"
+msgstr "Volume"
+
+msgid "IDS_MUSIC_BODY_REPEAT_OFF"
+msgstr "Repeat off"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_REPEAT_ALL"
+msgstr "Repeat all"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_OFF"
+msgstr "Shuffle off"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_ON"
+msgstr "Shuffle on"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST"
+msgstr "My playlist"
+
+msgid "IDS_MUSIC_MBODY_DEFAULT_PLAYLISTS"
+msgstr "Default playlists"
+
+msgid "IDS_MUSIC_BODY_DETAILS_RECORDING_DATE"
+msgstr "Recording date"
+
+msgid "IDS_MUSIC_OPT_ALBUM_ART_ABB"
+msgstr "Album art"
+
+msgid "IDS_MUSIC_BODY_1_GENRE"
+msgstr "1 genre"
+
+msgid "IDS_MUSIC_BODY_PD_FOLDERS"
+msgstr "%d folders"
+
+msgid "IDS_MUSIC_BODY_1_FOLDER"
+msgstr "1 folder"
+
+msgid "IDS_MUSIC_BODY_1_ARTIST"
+msgstr "1 artist"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_M_MUSIC"
+msgstr "1 album"
+
+msgid "IDS_MUSIC_BODY_1_PLAYLIST"
+msgstr "1 playlist"
+
+msgid "IDS_MUSIC_BODY_MUSIC_PLAYER"
+msgstr "Music Player"
+
+msgid "IDS_MUSIC_BUTTON_MOVE"
+msgstr "Move"
+
+msgid "IDS_MUSIC_BUTTON_AUTO_RECOMMENDATIONS"
+msgstr "Auto recommendations"
+
+msgid "IDS_MUSIC_BUTTON_FROM_THE_BEGINNING"
+msgstr "From the beginning"
+
+msgid "IDS_MUSIC_HEADER_SUGGESTIONS_FOR_YOU"
+msgstr "Suggestions for you"
+
+msgid "IDS_MUSIC_OPT_SAVE"
+msgstr "Save"
+
+msgid "IDS_MUSIC_TAB4_BASIC_M_EQUALIZING"
+msgstr "Basic"
+
+msgid "IDS_MUSIC_BODY_INSTRUMENT"
+msgstr "Instrument"
+
+msgid "IDS_MUSIC_BODY_TREBLE_M_EQUALISER"
+msgstr "Treble"
+
+msgid "IDS_MUSIC_BODY_BASS_M_EQUALISER"
+msgstr "Bass"
+
+msgid "IDS_MUSIC_BODY_NO_EFFECTS_ARE_APPLIED_IN_THIS_MODE_ABB"
+msgstr "No effects are applied in this mode"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_TIMBRE_OF_A_TUBE_AMP_ABB"
+msgstr "Simulates the timbre of a tube amp."
+
+msgid "IDS_MUSIC_OPT_TUBE_AMP_EFFECT"
+msgstr "Tube amp effect"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_EFFECT_OF_VIRTUAL_71_CHANNEL_SURROUND_SOUND_ABB"
+msgstr "Simulates the effect of virtual 7.1 channel surround sound."
+
+msgid "IDS_MUSIC_HEADER_SMALL_ROOM_M_REVERB_ABB"
+msgstr "Small room"
+
+msgid "IDS_MUSIC_HEADER_LARGE_ROOM_M_REVERB_ABB"
+msgstr "Large room"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_LARGE_ROOM_EG_A_THEATRE_ABB"
+msgstr "Simulates the reverb of a large room, e.g., a theater."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_CONCERT_HALL_ABB"
+msgstr "Simulates the reverb of a concert hall."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_SMALL_SPACE_EG_A_STUDIO_ABB"
+msgstr "Simulates the reverb of a small space, e.g., a studio."
+
+msgid "IDS_MUSIC_BUTTON_3D_CHN"
+msgstr "3D"
+
+msgid "IDS_MUSIC_BODY_CLARITY_M_SOUNDEFFECT"
+msgstr "Clarity"
+
+msgid "IDS_MUSIC_BUTTON_RESET"
+msgstr "Reset"
+
+msgid "IDS_MUSIC_TAB_YEARS"
+msgstr "Years"
+
+msgid "IDS_MUSIC_TAB_GENRES"
+msgstr "Genres"
+
+msgid "IDS_MUSIC_TAB_COMPOSERS"
+msgstr "Composers"
+
+msgid "IDS_MUSIC_TAB_ALL_TRACKS"
+msgstr "All tracks"
+
+msgid "IDS_MUSIC_SK3_GO_TO_QUICK_LIST"
+msgstr "Go to quick list"
+
+msgid "IDS_MUSIC_SK3_FIND"
+msgstr "Find"
+
+msgid "IDS_MUSIC_SK3_ADD_TO_QUICK_LIST"
+msgstr "Add to quick list"
+
+msgid "IDS_MUSIC_POP_UNAUTHORISED_VIDEO_FILE_FOR_TV_OUT"
+msgstr "Unauthorized video file for TV-out."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_CREATE_MAXIMUM_NUMBER_OF_PLAYLISTS_REACHED"
+msgstr "Unable to create. Maximum number of playlists reached."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTING_BLUETOOTH_HEADSET"
+msgstr "Unable to adjust volume while connecting Bluetooth headset."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTED_TO_BLUETOOTH_HEADSET"
+msgstr "Unable to adjust volume while connected to Bluetooth headset."
+
+msgid "IDS_MUSIC_POP_STOP_MUSIC_PLAYER_Q"
+msgstr "Stop Music Player?"
+
+msgid "IDS_MUSIC_POP_PLEASE_EXIT_SILENT_MODE"
+msgstr "Please exit Silent mode."
+
+msgid "IDS_MUSIC_POP_NETWORK_FAILURE"
+msgstr "Network failure."
+
+msgid "IDS_MUSIC_POP_MEMORY_CARD_LOADED"
+msgstr "Memory card loaded."
+
+msgid "IDS_MUSIC_POP_DEVICE_SETTINGS_ERROR"
+msgstr "Device settings error."
+
+msgid "IDS_MUSIC_POP_COULD_NOT_FIND_A_MATCH_FOR_THE_SONG"
+msgstr "Could not find a match for the song."
+
+msgid "IDS_MUSIC_POP_BUFFERING_MSTATUS"
+msgstr "Buffering"
+
+msgid "IDS_MUSIC_POP_BT_HEADSET_ONLY_SUPPORTS_NORMAL_EFFECTS_SETTING"
+msgstr "BT headset only supports normal effects setting."
+
+msgid "IDS_MUSIC_POP_APPLICATION_WILL_BE_CLOSED"
+msgstr "Application will be closed."
+
+msgid "IDS_MUSIC_POP_ADDED_GO_TO_WISH_LIST_Q"
+msgstr "Added. Go to wish list?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_THE_SERVICE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "Access to service may be charged. Continue?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_STORE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "Access to store may be charged. Continue?"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_ONLY_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES"
+msgstr "5.1 channel sound effect works only in earphone and Bluetooth headset modes."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "5.1 channel sound effect works in Earphone mode only."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECTS_NOT_SUPPORTED_BY_SPEAKER"
+msgstr "5.1 channel sound effects not supported by speaker."
+
+msgid "IDS_MUSIC_OPT_VIEW_BY_COVER_ART"
+msgstr "View by cover art"
+
+msgid "IDS_MUSIC_OPT_SEND_TRACK"
+msgstr "Send track"
+
+msgid "IDS_MUSIC_OPT_RATE_TRACK"
+msgstr "Rate track"
+
+msgid "IDS_MUSIC_OPT_PLAYLIST_MOVE_TRACK_IN_PLAYLIST"
+msgstr "Move track in playlist"
+
+msgid "IDS_MUSIC_OPT_OPENPLAYLIST_CURRENT"
+msgstr "Current"
+
+msgid "IDS_MUSIC_OPT_DELETE_PLAYLIST"
+msgstr "Delete playlist"
+
+msgid "IDS_MUSIC_OPT_BACKGROUND_PLAYING"
+msgstr "Background playing"
+
+msgid "IDS_MUSIC_HEADER_EFFECTS"
+msgstr "Effects"
+
+msgid "IDS_MUSIC_BUTTON_BUY_NOW"
+msgstr "Buy now"
+
+msgid "IDS_MUSIC_BODY_WOW_HD"
+msgstr "Wow HD"
+
+msgid "IDS_MUSIC_BODY_WISHLIST"
+msgstr "Wish list"
+
+msgid "IDS_MUSIC_BODY_WIDE"
+msgstr "Wide"
+
+msgid "IDS_MUSIC_BODY_WHA_WHA"
+msgstr "Wha-wha"
+
+msgid "IDS_MUSIC_BODY_VIBE_WOOFER"
+msgstr "Vibe woofer"
+
+msgid "IDS_MUSIC_BODY_TREMOLO"
+msgstr "Tremolo"
+
+msgid "IDS_MUSIC_BODY_TAP_TWICE_TO_PLAY_PAUSE_MUSIC"
+msgstr "Tap twice to play/pause music."
+
+msgid "IDS_MUSIC_BODY_SHARE_TRACK_VIA_BLUETOOTH"
+msgstr "Share track via Bluetooth"
+
+msgid "IDS_MUSIC_BODY_SETUPWIZARD_WELCOME_TO_THE_MUSIC_SETUP_WIZARD_CONTINUE_Q"
+msgstr "Welcome to the Music setup wizard. The following screens will help you configure your phone. Continue?"
+
+msgid "IDS_MUSIC_BODY_QUICK_LIST"
+msgstr "Quick list"
+
+msgid "IDS_MUSIC_BODY_PLAYINGSETTINGS_SOUND_EFFECTS"
+msgstr "Sound effects"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_ALL"
+msgstr "All"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_1"
+msgstr "1"
+
+msgid "IDS_MUSIC_BODY_PLAYERSETTINGS_VOLUME"
+msgstr "Volume"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_SELECTED"
+msgstr "%d tracks selected."
+
+msgid "IDS_MUSIC_BODY_NO_PODCASTS"
+msgstr "No podcasts"
+
+msgid "IDS_MUSIC_BODY_FIND_SIMILAR"
+msgstr "Find similar"
+
+msgid "IDS_MUSIC_BODY_BACKGROUND_PLAY"
+msgstr "Background play"
+
+msgid "IDS_MUSIC_BODY_51_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "5.1 channel can only be activated when sound effects are off."
+
+msgid "IDS_MUSIC_TAB4_PODCASTS"
+msgstr "Podcasts"
+
+msgid "IDS_MUSIC_SK2_EDIT_IMAGE"
+msgstr "Edit image"
+
+msgid "IDS_MUSIC_POP_PLAYING_ANY_SOUNDS_WILL_STOP_AND_SAVE_YOUR_VOICE_RECORDING_PLAY_Q"
+msgstr "Playing any sounds will stop and save your voice recording. Play?"
+
+msgid "IDS_MUSIC_POP_MAXIMUM_NUMBER_OF_ITEMS_HPD_SELECTED"
+msgstr "Maximum number of items (%d) selected."
+
+msgid "IDS_MUSIC_POP_BLUETOOTH_DISCONNECTED"
+msgstr "Bluetooth disconnected."
+
+msgid "IDS_MUSIC_POP_5_1_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "5.1 channel can only be activated when sound effects are off."
+
+msgid "IDS_MUSIC_OPT_TAKE_PICTURE"
+msgstr "Take picture"
+
+msgid "IDS_MUSIC_OPT_SHOW_MUSIC_VIEW_ABB"
+msgstr "Show music view"
+
+msgid "IDS_MUSIC_OPT_PAUSE"
+msgstr "Pause"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALBUM"
+msgstr "Play album"
+
+msgid "IDS_MUSIC_OPT_LIST_BY"
+msgstr "List by"
+
+msgid "IDS_MUSIC_OPT_HISTORY"
+msgstr "History"
+
+msgid "IDS_MUSIC_OPT_HIDE_MUSIC_VIEW_ABB"
+msgstr "Hide music view"
+
+msgid "IDS_MUSIC_OPT_FIND_TAG"
+msgstr "Find tag"
+
+msgid "IDS_MUSIC_OPT_DROPBOX_CONTENT_ABB"
+msgstr "Dropbox content"
+
+msgid "IDS_MUSIC_OPT_CONTENT_ON_PHONE_ABB"
+msgstr "Content on phone"
+
+msgid "IDS_MUSIC_OPT_CHANGE_IMAGE"
+msgstr "Change image"
+
+msgid "IDS_MUSIC_HEADER_DELETE_DROPBOX_DATA_ABB"
+msgstr "Delete Dropbox data"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_STREAM_YOUR_MUSIC_TO_DEVICES_USING_ALLSHARE"
+msgstr "You can stream your music to devices using AllShare."
+
+msgid "IDS_MUSIC_BODY_VALIDITY"
+msgstr "Validity"
+
+msgid "IDS_MUSIC_BODY_TYPE_CNOUN"
+msgstr "Type"
+
+msgid "IDS_MUSIC_BODY_THIS_WILL_DELETE_THE_FILE_FROM_THE_SERVER_AND_ANY_CONNECTED_DEVICES_AS_WELL"
+msgstr "This will delete the file from the server and from any connected devices."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_ARTISTS"
+msgstr "Artists"
+
+msgid "IDS_MUSIC_BODY_PLAYINGDETAILS_ALBUM_ART"
+msgstr "Album art"
+
+msgid "IDS_MUSIC_BODY_OTHER_CONTENTS"
+msgstr "Other contents"
+
+msgid "IDS_MUSIC_BODY_NAME_TOO_LONG"
+msgstr "Name too long."
+
+msgid "IDS_MUSIC_BODY_MUSIC_CLARITY"
+msgstr "Music clarity"
+
+msgid "IDS_MUSIC_BODY_HIGH_VOLUMES_MAY_HARM_YOUR_HEARING_IF_YOU_LISTEN_FOR_A_LONG_TIME"
+msgstr "High volumes may harm your hearing if you listen for a long time."
+
+msgid "IDS_MUSIC_BODY_AVAILABLE_USES"
+msgstr "Available uses"
+
+msgid "IDS_MUSIC_TPOP_SOUND_EFFECTS_ONLY_AVAILABLE_WHILE_HEADPHONES_CONNECTED"
+msgstr "Sound effects only available while headphones connected."
+
+msgid "IDS_ST_OPT_ADD_TO_YOUR_PERSONAL_STORAGE"
+msgstr "Add to your personal storage"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_YOUR_PERSONAL_STORAGE"
+msgstr "Remove from your personal storage"
+
+msgid "IDS_ST_BODY_CONTEXTUAL_POP_UP_T_TALKBACK"
+msgstr "Contextual pop-up"
+
+msgid "IDS_ST_BODY_A_CONTEXTUAL_POP_UP_IS_OPEN_DOUBLE_TAP_TO_CLOSE_IT_T_TALKBACK"
+msgstr "A contextual pop-up is open. Double tap to close it."
+
+msgid "IDS_ST_BODY_REPEAT_ONE"
+msgstr "Repeat one"
+
+msgid "IDS_ST_BUTTON_MOVING_ING"
+msgstr "Moving..."
+
+msgid "IDS_HS_BODY_SELECT_UP_TO_PD_ITEMS"
+msgstr "Select up to %d items."
+
+msgid "IDS_CAM_BODY_TAB_T_TTS"
+msgstr "Tab"
+
+msgid "IDS_DLNA_OPT2_CHANGE_PLAYER"
+msgstr "Change player"
+
+msgid "IDS_BR_SK_TABS"
+msgstr "Tabs"
+
+msgid "IDS_MF_BODY_DROPBOX_ABB"
+msgstr "Dropbox"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Auto recommendations can extract the highlights from sound files."
+
+msgid "IDS_MF_BODY_PARENT_RATING"
+msgstr "Parent rating"
+
+msgid "IDS_VR_POP_FILE_NOT_FOUND"
+msgstr "File not found."
+
+msgid "IDS_PB_POP_CALLER_RINGTONE_SAVED"
+msgstr "Caller ringtone saved."
+
+msgid "IDS_MUSIC_BODY_BIT_DEPTH"
+msgstr "Bit depth"
+
+msgid "IDS_MUSIC_BODY_SIZE"
+msgstr "Size"
+
+msgid "IDS_MF_HEADER_PD_SELECTED"
+msgstr "%d selected"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_THIS_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "After you add tracks to this device, they will be shown here."
+
+msgid "IDS_MUSIC_TMBODY_LENGTH"
+msgstr "Length"
+
+msgid "IDS_MUSIC_POP_1_FOLDER_WILL_BE_DELETED"
+msgstr "1 folder will be deleted."
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "No contents"
+
+msgid "IDS_MUSIC_ITAB4_FOLDERS"
+msgstr "Folders"
+
+msgid "IDS_MUSIC_HEADER_MY_PLAYLISTS_ABB"
+msgstr "My playlists"
+
+msgid "IDS_MP_BODY_SOUND_PLAYER"
+msgstr "Sound player"
+
+msgid "IDS_MUSIC_OPT_SETTINGS"
+msgstr "Settings"
+
+msgid "IDS_MUSIC_POP_DELETING"
+msgstr "Deleting..."
+
+msgid "IDS_MUSIC_POP_1_TRACK_WILL_BE_DELETED"
+msgstr "1 track will be deleted."
+
+msgid "IDS_MUSIC_POP_ALL_TRACKS_WILL_BE_DELETED"
+msgstr "All tracks will be deleted"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_WILL_BE_DELETED"
+msgstr "%d tracks will be deleted."
+
+msgid "IDS_MUSIC_POP_1_PLAYLIST_WILL_BE_DELETED"
+msgstr "1 playlist will be deleted."
+
+msgid "IDS_MUSIC_POP_PD_PLAYLISTS_WILL_BE_DELETED"
+msgstr "%d playlists will be deleted."
+
+msgid "IDS_MUSIC_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "%d albums will be deleted."
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS_WILL_BE_DELETED"
+msgstr "%d artists will be deleted."
+
+msgid "IDS_MUSIC_POP_PD_FOLDERS_WILL_BE_DELETED"
+msgstr "%d folders will be deleted."
+
+msgid "IDS_ST_POP_CONNECTION_FAILED"
+msgstr "Connection failed."
+
+msgid "IDS_MUSIC_BODY_CLASSIC"
+msgstr "Classic"
+
+msgid "IDS_MUSIC_BODY_ROCK"
+msgstr "Rock"
+
+msgid "IDS_MUSIC_BODY_JAZZ"
+msgstr "Jazz"
+
+msgid "IDS_MUSIC_BODY_POP"
+msgstr "Pop"
+
+msgid "IDS_MUSIC_BODY_AUTO"
+msgstr "Auto"
+
+msgid "IDS_MUSIC_POP_CURRENT_SOUND_EFFECT_NOT_SUPPORTED_BY_HDMI"
+msgstr "Current sound effect not supported by HDMI."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_BLUETOOTH"
+msgstr "Sound effects not supported by Bluetooth."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_LINE_OUT"
+msgstr "Sound effects not supported by line out."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_HDMI"
+msgstr "Sound effects not supported by HDMI."
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EFFECT"
+msgstr "Tube Amp"
+
+msgid "IDS_MUSIC_BODY_CUSTOM"
+msgstr "Custom"
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EQUALISER_ABB"
+msgstr "Tube amp"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d tracks added to playlist."
+
+msgid "IDS_MUSIC_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 track added to playlist."
+
+msgid "IDS_MUSIC_HEADER_ADD_TRACKS_TO_PLAYLIST_ABB"
+msgstr "Add tracks to playlist"
+
+msgid "IDS_MUSIC_POP_PS_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "%s already in use. Enter another name."
+
+msgid "IDS_MUSIC_TMBODY_DATE_OF_RECORDING"
+msgstr "Date of recording"
+
+msgid "IDS_MBP_TPOP_TRACK_SET_AS_ALARM_TONE"
+msgstr "Track set as alarm tone."
+
+msgid "IDS_MUSIC_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "No results found"
+
+msgid "IDS_MUSIC_OPT_DEFAULT_RINGTONE_ABB"
+msgstr "Default ringtone"
+
+msgid "IDS_MUSIC_TPOP_TRACK_SET_AS_CALLER_RINGTONE"
+msgstr "Track set as caller ringtone."
+
+msgid "IDS_MP_TPOP_TRACK_SET_AS_RINGTONE"
+msgstr "Track set as ringtone."
+
+msgid "IDS_DLNA_BODY_ADD_TO_NOW_PLAYING_LIST"
+msgstr "Add to now playing list"
+
+msgid "IDS_MUSIC_TPOP_EQUALISER_SETTINGS_WILL_BE_APPLIED_WHILE_PLAYING_MUSIC"
+msgstr "Equalizer settings will be applied while playing music."
+
+msgid "IDS_ST_BODY_ALERT"
+msgstr "Alert"
+
+msgid "IDS_IV_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 album will be deleted."
+
+msgid "IDS_MUSIC_OPT_SD_CARD"
+msgstr "SD card"
+
+msgid "IDS_MUSIC_SBODY_DEVICE_STORAGE"
+msgstr "Device storage"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE"
+msgstr "Playlist name already in use."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_PD"
+msgstr "Playlist %d"
+
+msgid "IDS_MUSIC_HEADER_CREATE"
+msgstr "Create"
+
+msgid "IDS_MUSIC_HEADER_EQUALISER_PRESET_ABB"
+msgstr "Equalizer preset"
+
+msgid "IDS_MUSIC_OPT_AUTOMATIC_M_EQUALIZER_EFFECT"
+msgstr "Automatic"
+
+msgid "IDS_MUSIC_OPT_CLASSICAL_M_EQUALIZER_EFFECT"
+msgstr "Classical"
+
+msgid "IDS_MUSIC_HEADER_ENVIRONMENT_EFFECT_ABB"
+msgstr "Environment effect"
+
+msgid "IDS_VIDEO_POP_THE_FILE_TYPE_IS_NOT_SUPPORTED"
+msgstr "The file type is not supported."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_CREATE_PLAYLISTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "After you create playlists, they will be shown here."
+
+msgid "IDS_ST_HEADER_SELECT_AUDIO_DEVICE_ABB"
+msgstr "Select audio device"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "Playlist name already in use. Enter another name."
+
+msgid "IDS_MUSIC_HEADER_SOUNDALIVE_ABB3"
+msgstr "SoundAlive"
+
+msgid "IDS_MUSIC_OPT_NOW_PLAYING_LIST"
+msgstr "Now playing list"
+
+msgid "IDS_MUSIC_OPT_SHOW_LYRICS"
+msgstr "Show lyrics"
+
+msgid "IDS_MUSIC_OPT_HIDE_LYRICS"
+msgstr "Hide lyrics"
+
+msgid "IDS_MUSIC_TPOP_UNABLE_TO_PLAY_MUSIC_DURING_CALLS"
+msgstr "Unable to play music during calls."
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Delete"
+
+msgid "IDS_MUSIC_HEADER_SELECT"
+msgstr "Select"
+
+msgid "IDS_TPLATFORM_OPT_NFC"
+msgstr "NFC"
+
+msgid "IDS_MUSIC_HEADER_UNABLE_TO_PLAY_TRACK"
+msgstr "Unable to play track"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "DONE"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "CANCEL"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "DELETE"
+
+msgid "IDS_MUSIC_POP_RENAME"
+msgstr "Rename"
+
+msgid "IDS_MUSIC_OPT_MESSAGE"
+msgstr "Message"
+
+msgid "IDS_MUSIC_SK_OK"
+msgstr "OK"
+
+msgid "IDS_MUSIC_SK_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_MUSIC_BUTTON_REFRESH"
+msgstr "Refresh"
+
+msgid "IDS_MUSIC_BODY_SELECT_ALL"
+msgstr "Select all"
+
+msgid "IDS_MUSIC_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_MUSIC_POP_DELETED"
+msgstr "Deleted."
+
+msgid "IDS_MUSIC_OPT_STOP"
+msgstr "Stop"
+
+msgid "IDS_MUSIC_BODY_UNKNOWN"
+msgstr "Unknown"
+
+msgid "IDS_MUSIC_BODY_TITLE"
+msgstr "Title"
+
+msgid "IDS_MUSIC_OPT_SENDVIA_EMAIL"
+msgstr "Email"
+
+msgid "IDS_MUSIC_OPT_BLUETOOTH"
+msgstr "Bluetooth"
+
+msgid "IDS_MUSIC_HEADER_DOWNLOAD"
+msgstr "Download"
+
+msgid "IDS_MUSIC_POP_LOW_BATTERY"
+msgstr "Low battery."
+
+msgid "IDS_MUSIC_HEADER_AUDIO_DEVICE"
+msgstr "Audio device"
+
+msgid "IDS_MUSIC_HEADER_DETAILS"
+msgstr "Details"
+
+msgid "IDS_MUSIC_OPT_END"
+msgstr "End"
+
+msgid "IDS_MUSIC_OPT_EDIT"
+msgstr "Edit"
+
+msgid "IDS_CAM_HEADER_UPDATED"
+msgstr "Updated."
+
+msgid "IDS_MUSIC_POP_REMOVED"
+msgstr "Removed."
+
+msgid "IDS_MUSIC_OPT_SELECTED"
+msgstr "Selected"
+
+msgid "IDS_ST_BUTTON_SCAN"
+msgstr "Scan"
+
+msgid "IDS_MF_POP_ERROR"
+msgstr "Error"
+
+msgid "IDS_MF_POP_MEMORY_FULL"
+msgstr "Memory full."
+
+
+
+msgid "IDS_COM_BODY_ALLSHARE"
+msgstr "AllShare"
+
+msgid "IDS_COM_BODY_BLUETOOTH"
+msgstr "Bluetooth"
+
+msgid "IDS_COM_BODY_CLOSE"
+msgstr "Close"
+
+msgid "IDS_COM_BODY_CREATE"
+msgstr "Create"
+
+msgid "IDS_COM_BODY_DETAILS"
+msgstr "Details"
+
+msgid "IDS_COM_BODY_DETAILS_TITLE"
+msgstr "Title"
+
+msgid "IDS_COM_BODY_EDIT"
+msgstr "Edit"
+
+msgid "IDS_COM_BODY_EMAIL"
+msgstr "Email"
+
+msgid "IDS_COM_BODY_END"
+msgstr "End"
+
+msgid "IDS_COM_BODY_FOLDERS"
+msgstr "Folders"
+
+msgid "IDS_COM_BODY_GALLERY"
+msgstr "Gallery"
+
+msgid "IDS_COM_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_COM_BODY_LOADING"
+msgstr "Loading..."
+
+msgid "IDS_COM_BODY_LOW_BATTERY"
+msgstr "Low battery."
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Message"
+
+msgid "IDS_COM_BODY_MUSIC"
+msgstr "Music"
+
+msgid "IDS_COM_BODY_NFC"
+msgstr "NFC"
+
+msgid "IDS_COM_BODY_NO_CONTENTS"
+msgstr "No content"
+
+msgid "IDS_COM_BODY_PAUSE"
+msgstr "Pause"
+
+msgid "IDS_COM_BODY_PD_SELECTED"
+msgstr "%d selected."
+
+msgid "IDS_COM_BODY_PREVIOUS"
+msgstr "Previous"
+
+msgid "IDS_COM_BODY_RESET_A"
+msgstr "Reset"
+
+msgid "IDS_COM_BODY_SELECTED"
+msgstr "Selected"
+
+msgid "IDS_COM_BODY_SELECT_ALL"
+msgstr "Select all"
+
+msgid "IDS_COM_BODY_SETTINGS"
+msgstr "Settings"
+
+msgid "IDS_COM_BODY_TIME"
+msgstr "Time"
+
+msgid "IDS_COM_BODY_UNABLE_TO_ADD"
+msgstr "Unable to add."
+
+msgid "IDS_COM_BODY_UNKNOWN"
+msgstr "Unknown"
+
+msgid "IDS_COM_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_COM_BUTTON_SCAN"
+msgstr "Scan"
+
+msgid "IDS_COM_BUTTON_SHARE"
+msgstr "Share"
+
+msgid "IDS_COM_HEADER_AUDIO_DEVICE_ABB"
+msgstr "Audio device"
+
+msgid "IDS_COM_OPT_ADDED"
+msgstr "Added."
+
+msgid "IDS_COM_OPT_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_POP_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_POP_CONNECTION_FAILED"
+msgstr "Connection failed."
+
+msgid "IDS_COM_POP_DELETED"
+msgstr "Deleted."
+
+msgid "IDS_COM_POP_DELETE_Q"
+msgstr "Delete?"
+
+msgid "IDS_COM_POP_DONE"
+msgstr "Done"
+
+msgid "IDS_COM_POP_DOWNLOADING"
+msgstr "Downloading..."
+
+msgid "IDS_COM_POP_ERROR"
+msgstr "Error."
+
+msgid "IDS_COM_POP_FAILED"
+msgstr "Failed."
+
+msgid "IDS_COM_POP_FILE_NOT_EXIST"
+msgstr "This file does not exist."
+
+msgid "IDS_COM_POP_FILE_NOT_FOUND"
+msgstr "File not found."
+
+msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximum number of characters reached."
+
+msgid "IDS_COM_POP_MEMORY_FULL"
+msgstr "Memory full."
+
+msgid "IDS_COM_POP_REMOVED"
+msgstr "Removed."
+
+msgid "IDS_COM_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Unable to use during Mass storage mode."
+
+msgid "IDS_COM_POP_UPDATED"
+msgstr "Updated."
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_SK_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_SK_DOWNLOAD"
+msgstr "Download"
+
+msgid "IDS_COM_SK_NEW"
+msgstr "New"
+
+msgid "IDS_COM_SK_NEXT"
+msgstr "Next"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_SK_REFRESH"
+msgstr "Refresh"
+
+msgid "IDS_COM_SK_REMOVE"
+msgstr "Remove"
+
+msgid "IDS_MUSIC_MBODY_QUEUE"
+msgstr "Queue"
+
+msgid "IDS_MUSIC_OPT_VOLUME"
+msgstr "Volume"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE"
+msgstr "Shuffle"
+
+msgid "IDS_MUSIC_OPT_REPEAT"
+msgstr "Repeat"
+
+
+msgid "IDS_MH_BODY_THE_PLAYLIST_NAME_PS_IS_ALREADY_IN_USE"
+msgstr "The playlist name %s is already in use."
+
+msgid "IDS_MH_BODY_TOTAL"
+msgstr "Total"
+
+msgid "IDS_MH_MBODY_RECENTLY_ADDED_M_SONG"
+msgstr "Recently added"
+
+msgid "IDS_MH_OPT_MORE_INFO_ABB"
+msgstr "More info"
+
+msgid "IDS_MH_POP_ALARM_TONE_SET"
+msgstr "Alarm tone set."
+
+msgid "IDS_MH_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 track added to playlist."
+
+msgid "IDS_MH_TPOP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d tracks added to playlist."
+
+msgid "IDS_MUSIC_OPT_RENAME"
+msgstr "Rename"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Unable to play during call."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Maximum size of files exceeded."
+
+msgid "IDS_CAM_TPOP_UNABLE_TO_PLAY_MUSIC_WHILE_RECORDING_AUDIO_OR_VIDEO"
+msgstr "Unable to play music while recording audio or video."
+
--- /dev/null
+msgid "IDS_ST_BODY_LOADING_ING"
+msgstr "Cargando..."
+
+msgid "IDS_GALLERY_OPT_PRIVATE_M_CONTENT"
+msgstr "Privado"
+
+msgid "IDS_MF_BODY_TIME"
+msgstr "Hora"
+
+msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
+msgstr "El archivo no existe"
+
+msgid "IDS_MUSIC_POP_PHONE_RINGTONE"
+msgstr "Melodía del teléfono"
+
+msgid "IDS_MUSIC_BODY_DURATION"
+msgstr "Duración"
+
+msgid "IDS_MUSIC_BODY_MUSIC_LOCATION"
+msgstr "Ubicación"
+
+msgid "IDS_MUSIC_BODY_SET_AS_M_RINGTONE"
+msgstr "Definir como"
+
+msgid "IDS_ST_OPT_ADD_TO_PERSONAL_PAGE"
+msgstr "Añadir a página personal"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_PERSONAL_PAGE_ABB"
+msgstr "Eliminar de pág personal"
+
+msgid "IDS_ST_POP_MOVE_TO_NORMAL_STORAGE"
+msgstr "Mover a almacenamiento normal"
+
+msgid "IDS_ST_POP_MOVE_TO_PERSONAL_STORAGE"
+msgstr "Mover a almacenamiento personal"
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEMS_WILL_BE_MOVED_TO_PS"
+msgstr "Los elementos seleccionados se moverán a %s"
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEM_WILL_BE_MOVED_TO_PS"
+msgstr "El elemento seleccionado se moverá a %s"
+
+msgid "IDS_VR_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "No se puede utilizar durante el modo de almacenamiento masivo"
+
+msgid "IDS_MUSIC_POP_RINGTONE_ADDED"
+msgstr "Melodía añadida"
+
+msgid "IDS_CAM_BODY_BUTTON_T_TTS"
+msgstr "Botón"
+
+msgid "IDS_MUSIC_HEADER_SELECT_ITEMS"
+msgstr "Seleccionar elementos"
+
+msgid "IDS_ST_BODY_ADVANCED"
+msgstr "Avanzado"
+
+msgid "IDS_ST_SK_PREVIOUS"
+msgstr "Anterior"
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Cerrar"
+
+msgid "IDS_MUSIC_POP_ADDED"
+msgstr "Añadido"
+
+msgid "IDS_MUSIC_POP_FAILED"
+msgstr "Error"
+
+msgid "IDS_MUSIC_BODY_NO_SEARCH_RESULTS"
+msgstr "No se han encontrado resultados"
+
+msgid "IDS_MUSIC_SK_DONE"
+msgstr "Finalizado"
+
+msgid "IDS_MUSIC_BODY_NO_ITEMS"
+msgstr "Ningún elemento"
+
+msgid "IDS_BR_OPT_ADD_TO_HOME"
+msgstr "Añadir a inicio"
+
+msgid "IDS_BR_SK_NEXT"
+msgstr "Siguiente"
+
+msgid "IDS_BR_BODY_DOWNLOADING_ING"
+msgstr "Descargando..."
+
+msgid "IDS_IV_BODY_FAVOURITE"
+msgstr "Favorito"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_PERSONAL_STORAGE"
+msgstr "Añadir a almacenamiento personal"
+
+msgid "IDS_DLNA_POP_DISCONNECTED_FROM_PS_CHECK_THE_NETWORK_STATUS_AND_THE_CONNECTED_DEVICE"
+msgstr "Desconectado de %s. Compruebe el estado de la conexión y el dispositivo conectado."
+
+msgid "IDS_DLNA_OPT_VIA_SCREEN_MIRRORING_ABB"
+msgstr "Mediante Screen Mirroring"
+
+msgid "IDS_DLNA_OPT_VIA_HOME_NETWORK_ABB"
+msgstr "Mediante red doméstica"
+
+msgid "IDS_IV_POP_ENTRY_IS_EMPTY"
+msgstr "Entrada vacía"
+
+msgid "IDS_FM_POP_UNAVAILABLE_DURING_CALL"
+msgstr "No disponible durante una llamada"
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Alcanzado el número máximo de caracteres"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_SHARE_DRM_FILE"
+msgstr "No se puede compartir el archivo DRM."
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Eliminando..."
+
+msgid "IDS_MUSIC_HEADER_PD_DEVICES"
+msgstr "%d dispositivos"
+
+msgid "IDS_MUSIC_BUTTON_ENABLE_MOTION"
+msgstr "Activar mov"
+
+msgid "IDS_MUSIC_BUTTON_DONT_ASK_AGAIN"
+msgstr "No volver a preguntar"
+
+msgid "IDS_MUSIC_BODY_NO_RESULTS_FOUND"
+msgstr "No se han encontrado resultados."
+
+msgid "IDS_VPL_OPT_HDMI"
+msgstr "HDMI"
+
+msgid "IDS_MUSIC_BODY_TURN_PHONE_OVER_TO_MUTE_INCOMING_CALLS_MESSAGE_ALERTS_AND_ALARMS"
+msgstr "Dé la vuelta al teléfono para silenciar las llamadas entrantes, las alertas de mensajes y las alarmas"
+
+msgid "IDS_ST_BODY_NONE"
+msgstr "Ninguno"
+
+msgid "IDS_ST_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_ST_BODY_GALLERY"
+msgstr "Galería"
+
+msgid "IDS_ST_BODY_DOUBLE_TAP_TO_MOVE_TO_CONTENT_T_TTS"
+msgstr "Pulse dos veces para mover el contenido."
+
+msgid "IDS_MUSIC_BODY_SURROUND"
+msgstr "Sonido envolvente"
+
+msgid "IDS_MUSIC_OPT_LYRICS_ABB"
+msgstr "Letra"
+
+msgid "IDS_MUSIC_POP_AFTER_YOU_ADD_TRACKS_TO_MUSIC_ON_YOUR_MOBILE_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Cuando añada pistas a Música en su dispositivo móvil, se mostrarán aquí."
+
+msgid "IDS_MUSIC_BODY_SAMPLING_RATE"
+msgstr "Tasa de muestreo"
+
+msgid "IDS_MUSIC_BODY_MARKED_AS_A_FAVOURITE"
+msgstr "Marcado como favorito"
+
+msgid "IDS_MUSIC_BODY_MUSIC"
+msgstr "Música"
+
+msgid "IDS_MUSIC_BODY_NOT_MARKED_AS_A_FAVOURITE"
+msgstr "No marcado como favorito"
+
+msgid "IDS_MUSIC_HEADER_SEARCH_MUSIC_ABB"
+msgstr "Buscar música"
+
+msgid "IDS_MUSIC_POP_AUTO_RECOMMENDATION_DOES_NOT_SUPPORT_THIS_AUDIO_FILE"
+msgstr "Recomendaciones automáticas no admite este archivo de audio"
+
+msgid "IDS_MUSIC_POP_SORRY_THE_PLAYER_DOES_NOT_SUPPORT_THIS_TYPE_OF_AUDIO_FILE"
+msgstr "Lo sentimos. El reproductor no admite este tipo de archivo de audio"
+
+msgid "IDS_MUSIC_BODY_FAVOURITES"
+msgstr "Favoritos"
+
+msgid "IDS_MUSIC_BODY_MOST_PLAYED"
+msgstr "Las más escuchadas"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_ADDED"
+msgstr "Añadidas recientemente"
+
+msgid "IDS_MUSIC_OPT_CREATE_PLAYLIST"
+msgstr "Crear lista de reproducción"
+
+msgid "IDS_MUSIC_OPT_REMOVE"
+msgstr "Eliminar"
+
+msgid "IDS_MUSIC_OPT_SETAS_CALLER_RINGTONE"
+msgstr "Melodía del llamante"
+
+msgid "IDS_MUSIC_TAB4_ARTISTS"
+msgstr "Artistas"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD"
+msgstr "No se puede añadir"
+
+msgid "IDS_MUSIC_POP_UNABLE_CREATE_PLAYLIST"
+msgstr "No se puede crear la lista de reproducción"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_GET_TAG"
+msgstr "No se puede obtener etiqueta"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_MORE_THAN_PD_MUSIC_FILE"
+msgstr "No se pueden añadir más de %d archivos de música"
+
+msgid "IDS_MUSIC_BODY_ALBUM"
+msgstr "Álbum"
+
+msgid "IDS_MUSIC_BODY_AUTHOR"
+msgstr "Autor"
+
+msgid "IDS_MUSIC_BODY_COPYRIGHT"
+msgstr "Copyright"
+
+msgid "IDS_MUSIC_BODY_CREATE_PLAYLIST"
+msgstr "Crear lista de reproducción"
+
+msgid "IDS_MUSIC_BODY_DESCRIPTION"
+msgstr "Descripción"
+
+msgid "IDS_MUSIC_BODY_FORMAT"
+msgstr "Formato"
+
+msgid "IDS_MUSIC_BODY_IMPOSSIBLE"
+msgstr "Imposible"
+
+msgid "IDS_MUSIC_BODY_NO_PLAYLISTS"
+msgstr "Sin listas de reproducción"
+
+msgid "IDS_MUSIC_BODY_TRACK_NUMBER"
+msgstr "Número de pista"
+
+msgid "IDS_MUSIC_POP_DELETE_Q"
+msgstr "¿Eliminar?"
+
+msgid "IDS_MUSIC_POP_REMOVE_Q"
+msgstr "¿Eliminar?"
+
+msgid "IDS_MUSIC_POP_UNABLE_RENAME_PLAYLIST"
+msgstr "No se puede cambiar el nombre de la lista de reproducción"
+
+msgid "IDS_MUSIC_TAB4_ALBUMS"
+msgstr "Álbumes"
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Añadiendo..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "¿Eliminar %d álbumes?"
+
+msgid "IDS_MUSIC_TAB4_PLAYLISTS"
+msgstr "Listas reproducc"
+
+msgid "IDS_MUSIC_OPT_ADD"
+msgstr "Añadir"
+
+msgid "IDS_MUSIC_BODY_BIOGRAPHY"
+msgstr "Biografía"
+
+msgid "IDS_MUSIC_BODY_CREDITS"
+msgstr "Créditos"
+
+msgid "IDS_MUSIC_BODY_DETAILS_MEADIA_INFO"
+msgstr "Info multimedia"
+
+msgid "IDS_MUSIC_BODY_DISCOGRAPHY"
+msgstr "Discografía"
+
+msgid "IDS_MUSIC_BODY_LYRIC"
+msgstr "Letra"
+
+msgid "IDS_MUSIC_BODY_POSSIBLE"
+msgstr "Posible"
+
+msgid "IDS_MUSIC_BODY_REVIEW"
+msgstr "Revisar"
+
+msgid "IDS_MUSIC_HEADER_TRACK_LIST"
+msgstr "Lista de pistas"
+
+msgid "IDS_MUSIC_BODY_ADD_TO_PLAYLIST"
+msgstr "Añadir a lista de reproducción"
+
+msgid "IDS_MUSIC_BODY_ARTIST"
+msgstr "Artista"
+
+msgid "IDS_MUSIC_BODY_FORWARDING"
+msgstr "Reenviando"
+
+msgid "IDS_MUSIC_BODY_RECORDED_DATE"
+msgstr "Date of recording"
+
+msgid "IDS_MUSIC_BODY_PLAYLISTS"
+msgstr "Listas de reproducción"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_PLAYED"
+msgstr "Reproducidas recientemente"
+
+msgid "IDS_MUSIC_BODY_TRACK_LENGTH"
+msgstr "Duración de pista"
+
+msgid "IDS_MUSIC_HEADER_NO_SONGS"
+msgstr "Ninguna canción"
+
+msgid "IDS_MUSIC_POP_THIS_TRACK_WILL_BE_DELETED"
+msgstr "Se eliminará esta pista"
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_TRACKS_WILL_BE_DELETED"
+msgstr "Las pistas seleccionadas se eliminarán"
+
+msgid "IDS_MUSIC_POP_THIS_ARTIST_WILL_BE_DELETED"
+msgstr "Se eliminará este artista"
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ARTISTS_WILL_BE_DELETED"
+msgstr "Se eliminarán los artistas seleccionados."
+
+msgid "IDS_MUSIC_POP_ALL_ARTISTS_WILL_BE_DELETED"
+msgstr "Se eliminarán todos los artistas"
+
+msgid "IDS_MUSIC_POP_THIS_FOLDER_WILL_BE_DELETED"
+msgstr "Esta carpeta se eliminará"
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_FOLDERS_WILL_BE_DELETED"
+msgstr "Se eliminarán las carpetas seleccionadas."
+
+msgid "IDS_MUSIC_POP_ALL_FOLDERS_WILL_BE_DELETED"
+msgstr "Se eliminarán todas las carpetas"
+
+msgid "IDS_MUSIC_POP_THIS_ALBUM_WILL_BE_DELETED"
+msgstr "Se eliminará este álbum"
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ALBUMS_WILL_BE_DELETED"
+msgstr "Se eliminarán los álbumes seleccionados."
+
+msgid "IDS_MUSIC_POP_ALL_ALBUMS_WILL_BE_DELETED"
+msgstr "Se eliminarán todos los álbumes"
+
+msgid "IDS_MUSIC_POP_THIS_PLAYLIST_WILL_BE_DELETED"
+msgstr "Esta lista de reproducción se eliminará"
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Las listas de reproducción seleccionadas se eliminarán"
+
+msgid "IDS_MUSIC_POP_ALL_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Se eliminarán todas las listas de reproducción"
+
+msgid "IDS_MUSIC_HEADER_SONGS"
+msgstr "Canciones"
+
+msgid "IDS_MUSIC_OPT_REORDER"
+msgstr "Reordenar"
+
+msgid "IDS_MUSIC_OPT_SAVE_AS_PLAYLIST"
+msgstr "Guardar como lista de reproducción"
+
+msgid "IDS_MUSIC_OPT_SETAS_ALARM_TONE"
+msgstr "Tono de alarma"
+
+msgid "IDS_MUSIC_POP_NOTHING_SELECTED"
+msgstr "No se ha seleccionado nada"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "No se puede reproducir. Se ha producido un error."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_UNSUPPORTED_FILETYPE"
+msgstr "No se puede reproducir. Tipo de archivo no admitido."
+
+msgid "IDS_MUSIC_SK_SHARE"
+msgstr "Compartir"
+
+msgid "IDS_MUSIC_TAB4_CONDUCTORS"
+msgstr "Directores"
+
+msgid "IDS_MUSIC_HEADER_SELECT_DEVICE"
+msgstr "Seleccione dispositivo"
+
+msgid "IDS_MUSIC_SK_VIEW_AS"
+msgstr "Ver como"
+
+msgid "IDS_MUSIC_BODY_SOUNDEFFECTS_NORMAL"
+msgstr "Normal"
+
+msgid "IDS_MUSIC_BODY_USER"
+msgstr "Usuario"
+
+msgid "IDS_MUSIC_BODY_VOCAL_M_SOUNDEFFECT"
+msgstr "Vocal"
+
+msgid "IDS_MUSIC_MBODY_BASS_BOOST"
+msgstr "Ecualizar graves"
+
+msgid "IDS_MUSIC_MBODY_TREBLE_BOOST"
+msgstr "Ecualizar agudos"
+
+msgid "IDS_MUSIC_BODY_CAFE_M_SOUNDEFFECT"
+msgstr "Café"
+
+msgid "IDS_MUSIC_OPT_VIRTUAL_71_CH"
+msgstr "7.1 canales virtuales"
+
+msgid "IDS_MUSIC_OPT_AFTER_15_MIN_ABB"
+msgstr "Después de 15 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_30_MIN"
+msgstr "Después de 30 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HOUR"
+msgstr "Después de 1 hora"
+
+msgid "IDS_MUSIC_POP_AFTER_1_HOUR_30_MIN"
+msgstr "Después de 1 hora 30 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_2_HOURS"
+msgstr "Después de 2 horas"
+
+msgid "IDS_MUSIC_BODY_MUSIC_AUTO_OFF"
+msgstr "Música automática desactivada"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES_ONLY"
+msgstr "Este efecto de sonido sólo funciona en los modos de auricular y auricular Bluetooth"
+
+msgid "IDS_MUSIC_TAB4_MUSIC_SQUARE"
+msgstr "Music square"
+
+msgid "IDS_MUSIC_POP_NOT_ENOUGH_MUSIC_FILES_TO_PLAY_IN_MUSIC_SQUARE_AT_LEAST_PD_MUSIC_FILES_REQUIRED"
+msgstr "No hay suficientes archivos de música para reproducir en Music square. Hacen falta al menos %d."
+
+msgid "IDS_MUSIC_BODY_PASSION_M_MOOD"
+msgstr "Pasión"
+
+msgid "IDS_MUSIC_BODY_CALM_M_ADJECTIVE"
+msgstr "Tranquilo"
+
+msgid "IDS_MUSIC_BODY_JOY_M_MOOD"
+msgstr "Alegría"
+
+msgid "IDS_MUSIC_BODY_LIBRARY_UPDATE"
+msgstr "Actualizar biblioteca"
+
+msgid "IDS_MUSIC_POP_UPDATE_LIBRARY_Q"
+msgstr "¿Actualizar biblioteca?"
+
+msgid "IDS_MUSIC_BODY_CHANGE_AXIS"
+msgstr "Cambiar eje"
+
+msgid "IDS_MUSIC_ITAB4_GENRES"
+msgstr "Géneros"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_1_TRACK"
+msgstr "1 álbum/1 pista"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_PD_TRACKS"
+msgstr "1 álbum/%d pistas"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS_PD_TRACKS"
+msgstr "%d álbumes/%d pistas"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_CONTROL_MUSIC_PLAYER_WITH_THE_VOICE_COMMANDS_P1SS_P2SS_P3SS_P4SS_P5SS_AND_P6SS"
+msgstr "Puede controlar el Reproductor de música con los comandos de voz %1$s, %2$s, %3$s, %4$s, %5$s y %6$s"
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_PD_TRACKS"
+msgstr "Reproducir %d pistas aleatoriamente"
+
+msgid "IDS_MUSIC_BODY_MORE_INFO"
+msgstr "Más información"
+
+msgid "IDS_MUSIC_HEADER_MY_MUSIC_M_APPLICATION_NAME"
+msgstr "Mi música"
+
+msgid "IDS_MUSIC_OPT_LIST_VIEW"
+msgstr "Vista de lista"
+
+msgid "IDS_MUSIC_OPT_PLAY_VIA_GROUP_PLAY"
+msgstr "Reproducir mediante Group Play"
+
+msgid "IDS_MUSIC_POP_TRACK_ADDED_TO_FAVOURITES"
+msgstr "Pista añadida a favoritos"
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_FAVOURITES"
+msgstr "Eliminar de favoritos"
+
+msgid "IDS_MUSIC_BODY_NEW_M_LATEST"
+msgstr "Nuevo"
+
+msgid "IDS_MUSIC_OPT_TRACKS"
+msgstr "Pistas"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL"
+msgstr "Miniatura"
+
+msgid "IDS_MUSIC_SK_LIST"
+msgstr "Lista"
+
+msgid "IDS_MUSIC_SK_OPEN_PLAYLIST"
+msgstr "Abrir lista de reproducción"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALL"
+msgstr "Reproducir todo"
+
+msgid "IDS_MUSIC_POP_SELECTED_LIST_EMPTY"
+msgstr "Lista seleccionada vacía"
+
+msgid "IDS_MUSIC_BODY_MOODS"
+msgstr "Estado"
+
+msgid "IDS_MUSIC_BUTTON_YEARS"
+msgstr "Años"
+
+msgid "IDS_MUSIC_BODY_OLD"
+msgstr "Antiguo"
+
+msgid "IDS_MUSIC_BODY_MUSIC_SQUARE_ANALYSES_THE_CHARACTERISTICS_OF_MUSIC_FILES_STORED_ON_YOUR_DEVICE_AND_AUTOMATICALLY_CREATES_PLAYLISTS_MSG"
+msgstr "Music square analiza características de archivos de música almacenados en su dispositivo y crea listas de reproducción automáticamente"
+
+msgid "IDS_MUSIC_BODY_PLAY_TRACKS_WITH_SIMILAR_CHARACTERISTICS_BY_SELECTING_A_SQUARE_ON_THE_SCREEN"
+msgstr "Reproduzca una lista de reproducción de música con características similares seleccionando un cuadrado de la pantalla"
+
+msgid "IDS_MUSIC_BODY_VIEW_PLAYLIST_DETAILS_BY_TAPPING_AND_HOLDING_THE_SQUARE_CURRENTLY_BEING_PLAYED"
+msgstr "Vea los detalles de la lista de reproducción tocando sin soltar el cuadrado en reproducción"
+
+msgid "IDS_MUSIC_BODY_NEARBY_DEVICES"
+msgstr "Dispositivos cercanos"
+
+msgid "IDS_MUSIC_POP_YOU_WILL_NEED_TO_UPDATE_THE_LIBRARY_IF_NEW_SONGS_HAVE_BEEN_ADDED"
+msgstr "Necesitará actualizar la biblioteca si se han añadido canciones nuevas"
+
+msgid "IDS_MUSIC_BODY_NO_ALBUMS"
+msgstr "No hay álbumes"
+
+msgid "IDS_MUSIC_BODY_NO_ARTISTS"
+msgstr "Ningún artista"
+
+msgid "IDS_MUSIC_OPT_PLAY_SPEED_ABB"
+msgstr "Velocidad reproduc"
+
+msgid "IDS_MUSIC_BODY_CONCERT_HALL_M_SOUNDEFFECT"
+msgstr "Auditorio"
+
+msgid "IDS_MUSIC_OPT_ADD_TO"
+msgstr "Añadir a"
+
+msgid "IDS_MUSIC_SK_VIEW"
+msgstr "Ver"
+
+msgid "IDS_MUSIC_OPT_LISTBY_RECENTLY_ADDED"
+msgstr "Añadidas recientemente"
+
+msgid "IDS_MUSIC_BODY_NOT_USED"
+msgstr "No usado"
+
+msgid "IDS_MUSIC_BODY_MAKE_AVAILABLE_OFFLINE"
+msgstr "Hacer disponible desconectado"
+
+msgid "IDS_MUSIC_OPT_AFTER_P1SD_HRS_P2SD_MINS"
+msgstr "Después de %1$d h %2$d min"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS"
+msgstr "Después de %d h"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_MINS"
+msgstr "Después %d min"
+
+msgid "IDS_MUSIC_BODY_NO_FOLDERS"
+msgstr "No hay carpetas"
+
+msgid "IDS_MUSIC_BODY_NO_TRACKS"
+msgstr "Ninguna pista"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS"
+msgstr "%d álbumes"
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS"
+msgstr "%d artistas"
+
+msgid "IDS_MUSIC_BODY_PD_GENRES"
+msgstr "%d géneros"
+
+msgid "IDS_MUSIC_BODY_PD_PLAYLISTS"
+msgstr "%d listas reproducción"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_ABB"
+msgstr "%d pistas"
+
+msgid "IDS_MUSIC_BODY_PLAYLIST"
+msgstr "Lista de reproducción"
+
+msgid "IDS_MUSIC_HEADER_SIMILAR_ALBUMS"
+msgstr "Álbumes similares"
+
+msgid "IDS_MUSIC_HEADER_TRACK"
+msgstr "Pista"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL_VIEW"
+msgstr "Vista en miniatura"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "El efecto de sonido sólo funciona en modo auricular"
+
+msgid "IDS_MUSIC_OPT_ALL_CONTENT_ABB2"
+msgstr "Todo el contenido"
+
+msgid "IDS_MUSIC_BODY_A_NETWORK_CONNECTION_IS_REQUIRED_TO_PLAY_THIS_FILE_CHECK_YOUR_NETWORK_CONNECTION_AND_TRY_AGAIN"
+msgstr "Se requiere una conexión de red para reproducir este archivo. Compruebe su conexión de red y vuelva a intentarlo."
+
+msgid "IDS_MUSIC_POP_FILE_TYPE_NOT_SUPPORTED"
+msgstr "Tipo de archivo no admitido"
+
+msgid "IDS_MUSIC_POP_UPDATING_ING"
+msgstr "Actualizando..."
+
+msgid "IDS_MUSIC_OPT_SEARCH_ABB"
+msgstr "Buscar"
+
+msgid "IDS_MUSIC_OPT_SEARCH_BY"
+msgstr "Buscar por"
+
+msgid "IDS_MUSIC_BODY_RELATED_VIDEOS"
+msgstr "Vídeos relacionados"
+
+msgid "IDS_MUSIC_BODY_SMART_VOLUME_ABB"
+msgstr "Smart volume"
+
+msgid "IDS_MUSIC_BODY_THE_VOLUME_OF_ALL_TRACKS_WILL_BE_ADJUSTED_TO_LEVEL_PD"
+msgstr "El volumen de todas las pistas se ajustará al nivel %d"
+
+msgid "IDS_MUSIC_HEADER_SMART_VOLUME_IS_ENABLED"
+msgstr "El volumen inteligente está activado"
+
+msgid "IDS_MUSIC_OPT_CONNECTION_INFO_ABB"
+msgstr "Info de conexión"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_PD_MINS"
+msgstr "Después 1 h %d min"
+
+msgid "IDS_MUSIC_BODY_ADAPT_SOUND_ABB"
+msgstr "Adapt Sound"
+
+msgid "IDS_MUSIC_BODY_MY_DEVICE"
+msgstr "Mi dispositivo"
+
+msgid "IDS_MUSIC_POP_LISTENING_AT_A_HIGH_VOLUME_FOR_A_LONG_TIME_MAY_DAMAGE_YOUR_HEARING_RAISE_THE_VOLUME_ABOVE_SAFE_LEVELS_Q"
+msgstr "¿Elevar el volumen por encima del nivel seguro? Escuchar un nivel elevado de volumen por largos periodos puede dañar su audición."
+
+msgid "IDS_MUSIC_POP_ALREADY_EXISTS"
+msgstr "Ya existe"
+
+msgid "IDS_MUSIC_OPT_SCAN_FOR_NEARBY_DEVICES"
+msgstr "Buscar dispositivos cercanos"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR"
+msgstr "Después de 1 h"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_1_MIN"
+msgstr "Después de 1 h 1 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS_1_MIN"
+msgstr "Después de %d h 1 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_MIN"
+msgstr "Después de 1 min"
+
+msgid "IDS_MUSIC_OPT_GO_TO_STORE"
+msgstr "Ir a la tienda"
+
+msgid "IDS_MUSIC_SK3_ADD_TRACKS"
+msgstr "Añadir pistas"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FROM_MUSIC_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Después de descargar pistas de Music, se mostrarán aquí"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_YOUR_FAVOURITES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Después de añadir pistas a sus favoritos, se mostrarán aquí"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_PLAY_TRACKS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Después de reproducir pistas, se mostrarán aquí"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_PS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Después de añadir pistas a %s, se mostrarán aquí"
+
+msgid "IDS_MUSIC_BODY_NO_PURCHASED_CONTENT"
+msgstr "Sin contenido comprado"
+
+msgid "IDS_MUSIC_SK_SAVE_AS"
+msgstr "Guardar como"
+
+msgid "IDS_MUSIC_POP_MUSICPLAYER_UPDATING_FAILED"
+msgstr "Error al actualizar"
+
+msgid "IDS_MUSIC_BODY_EXCITING_M_ADJECTIVE"
+msgstr "Emocionante"
+
+msgid "IDS_MUSIC_BODY_SEARCH_MY_MUSIC"
+msgstr "Buscar mi música"
+
+msgid "IDS_MUSIC_HEADER_CONNECTED_DEVICES"
+msgstr "Dispositivos conectados"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST_PS"
+msgstr "Mi lista de reproducción %s"
+
+msgid "IDS_MUSIC_BODY_NO_DEVICES"
+msgstr "No hay dispositivos"
+
+msgid "IDS_MUSIC_HEADER_AVAILABLE_DEVICES_ABB"
+msgstr "Disposit dispon"
+
+msgid "IDS_MUSIC_POP_SET"
+msgstr "Definir"
+
+msgid "IDS_MUSIC_POP_REMOVE_FAILED"
+msgstr "Error al eliminar"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_USE_FAST_FORWARD_AND_REWIND_WHEN_NEARBY_DEVICES_ARE_ENABLED"
+msgstr "No se puede usar rebobinado y avance rápido cuando se han habilitado los dispositivos cercanos"
+
+msgid "IDS_MUSIC_OPT_SET_AS"
+msgstr "Definir como"
+
+msgid "IDS_MUSIC_OPT_HEADPHONES_ABB"
+msgstr "Auriculares"
+
+msgid "IDS_MUSIC_OPT_SPEAKER"
+msgstr "Altavoz"
+
+msgid "IDS_MUSIC_BODY_1_SONG"
+msgstr "1 canción"
+
+msgid "IDS_MUSIC_BODY_PD_SONGS"
+msgstr "%d canciones"
+
+msgid "IDS_MUSIC_BODY_1_TRACK"
+msgstr "1 pista"
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_1_TRACK"
+msgstr "Reproducir 1 pista aleatoriamente"
+
+msgid "IDS_MUSIC_POP_NO_MUSIC_FOUND_FOR_SELECTED_CELL"
+msgstr "No se ha encontrado música para la celda seleccionada"
+
+msgid "IDS_MUSIC_BODY_DO_NOT_SHOW_AGAIN"
+msgstr "No mostrar de nuevo"
+
+msgid "IDS_MUSIC_BODY_VARIOUS_ARTISTS"
+msgstr "Varios artistas"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_HOME_SCREEN_ABB"
+msgstr "Añadir a pantalla de inicio"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_FAVOURITES"
+msgstr "Añadir a Favoritos"
+
+msgid "IDS_MUSIC_OPT_EDIT_TITLE"
+msgstr "Editar título"
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_PERSONAL_STORAGE"
+msgstr "Eliminar del almacenamiento personal"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FOLDERS_WILL_BE_SHOWN"
+msgstr "Después de descargar las pistas, se mostrarán las carpetas"
+
+msgid "IDS_MUSIC_BODY_SETTINGS_VOLUME"
+msgstr "Volumen"
+
+msgid "IDS_MUSIC_BODY_REPEAT_OFF"
+msgstr "Repetición desactivada"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_REPEAT_ALL"
+msgstr "Repetir todo"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_OFF"
+msgstr "Reproducción aleatoria desactivada"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_ON"
+msgstr "Reproducción aleatoria activada"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST"
+msgstr "Mi lista de reproducción"
+
+msgid "IDS_MUSIC_MBODY_DEFAULT_PLAYLISTS"
+msgstr "Listas de reprod predet"
+
+msgid "IDS_MUSIC_BODY_DETAILS_RECORDING_DATE"
+msgstr "Fecha de grabación"
+
+msgid "IDS_MUSIC_OPT_ALBUM_ART_ABB"
+msgstr "Álbum art"
+
+msgid "IDS_MUSIC_BODY_1_GENRE"
+msgstr "1 género"
+
+msgid "IDS_MUSIC_BODY_PD_FOLDERS"
+msgstr "%d carpetas"
+
+msgid "IDS_MUSIC_BODY_1_FOLDER"
+msgstr "1 carpeta"
+
+msgid "IDS_MUSIC_BODY_1_ARTIST"
+msgstr "1 artista"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_M_MUSIC"
+msgstr "1 álbum"
+
+msgid "IDS_MUSIC_BODY_1_PLAYLIST"
+msgstr "1 lista de reproducción"
+
+msgid "IDS_MUSIC_BODY_MUSIC_PLAYER"
+msgstr "Música"
+
+msgid "IDS_MUSIC_BUTTON_MOVE"
+msgstr "Mover"
+
+msgid "IDS_MUSIC_BUTTON_AUTO_RECOMMENDATIONS"
+msgstr "Recomendaciones automáticas"
+
+msgid "IDS_MUSIC_BUTTON_FROM_THE_BEGINNING"
+msgstr "Desde el principio"
+
+msgid "IDS_MUSIC_HEADER_SUGGESTIONS_FOR_YOU"
+msgstr "Sugerencias para usted"
+
+msgid "IDS_MUSIC_OPT_SAVE"
+msgstr "Guardar"
+
+msgid "IDS_MUSIC_TAB4_BASIC_M_EQUALIZING"
+msgstr "Básico"
+
+msgid "IDS_MUSIC_BODY_INSTRUMENT"
+msgstr "Instrumento"
+
+msgid "IDS_MUSIC_BODY_TREBLE_M_EQUALISER"
+msgstr "Agudos"
+
+msgid "IDS_MUSIC_BODY_BASS_M_EQUALISER"
+msgstr "Graves"
+
+msgid "IDS_MUSIC_BODY_NO_EFFECTS_ARE_APPLIED_IN_THIS_MODE_ABB"
+msgstr "En este modo no se aplica ningún efecto."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_TIMBRE_OF_A_TUBE_AMP_ABB"
+msgstr "Simula el timbre de un amplificador de tubo"
+
+msgid "IDS_MUSIC_OPT_TUBE_AMP_EFFECT"
+msgstr "Amp. de tubo"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_EFFECT_OF_VIRTUAL_71_CHANNEL_SURROUND_SOUND_ABB"
+msgstr "Simula el efecto de sonido envolvente del canal 7.1 virtual"
+
+msgid "IDS_MUSIC_HEADER_SMALL_ROOM_M_REVERB_ABB"
+msgstr "Sala pequeña"
+
+msgid "IDS_MUSIC_HEADER_LARGE_ROOM_M_REVERB_ABB"
+msgstr "Sala grande"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_LARGE_ROOM_EG_A_THEATRE_ABB"
+msgstr "Simula la reverberación de una sala grande, como un teatro."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_CONCERT_HALL_ABB"
+msgstr "Simula la reverberación de un auditorio."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_SMALL_SPACE_EG_A_STUDIO_ABB"
+msgstr "Simula la reverberación de un lugar pequeño, como un estudio."
+
+msgid "IDS_MUSIC_BUTTON_3D_CHN"
+msgstr "3D"
+
+msgid "IDS_MUSIC_BODY_CLARITY_M_SOUNDEFFECT"
+msgstr "Claridad"
+
+msgid "IDS_MUSIC_BUTTON_RESET"
+msgstr "Restab."
+
+msgid "IDS_MUSIC_TAB_YEARS"
+msgstr "Años"
+
+msgid "IDS_MUSIC_TAB_GENRES"
+msgstr "Géneros"
+
+msgid "IDS_MUSIC_TAB_COMPOSERS"
+msgstr "Compositores"
+
+msgid "IDS_MUSIC_TAB_ALL_TRACKS"
+msgstr "Todas las pistas"
+
+msgid "IDS_MUSIC_SK3_GO_TO_QUICK_LIST"
+msgstr "Ir a lista rápida"
+
+msgid "IDS_MUSIC_SK3_FIND"
+msgstr "Buscar"
+
+msgid "IDS_MUSIC_SK3_ADD_TO_QUICK_LIST"
+msgstr "Añadir a lista rápida"
+
+msgid "IDS_MUSIC_POP_UNAUTHORISED_VIDEO_FILE_FOR_TV_OUT"
+msgstr "Archivo de vídeo no autorizado para salida de TV"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_CREATE_MAXIMUM_NUMBER_OF_PLAYLISTS_REACHED"
+msgstr "Imposible crear. Alcanzado el número máximo de listas de reproducción."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTING_BLUETOOTH_HEADSET"
+msgstr "No se puede ajustar el volumen mientras se conecta el auricular Bluetooth"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTED_TO_BLUETOOTH_HEADSET"
+msgstr "No se puede ajustar el volumen mientras esté conectado al auricular Bluetooth"
+
+msgid "IDS_MUSIC_POP_STOP_MUSIC_PLAYER_Q"
+msgstr "¿Detener el Reproductor de música?"
+
+msgid "IDS_MUSIC_POP_PLEASE_EXIT_SILENT_MODE"
+msgstr "Salga del modo Silencio"
+
+msgid "IDS_MUSIC_POP_NETWORK_FAILURE"
+msgstr "Error de red"
+
+msgid "IDS_MUSIC_POP_MEMORY_CARD_LOADED"
+msgstr "Tarjeta de memoria cargada"
+
+msgid "IDS_MUSIC_POP_DEVICE_SETTINGS_ERROR"
+msgstr "Error de ajustes del dispositivo"
+
+msgid "IDS_MUSIC_POP_COULD_NOT_FIND_A_MATCH_FOR_THE_SONG"
+msgstr "No se ha encontrado ninguna coincidencia para la canción"
+
+msgid "IDS_MUSIC_POP_BUFFERING_MSTATUS"
+msgstr "Almacenando en búfer"
+
+msgid "IDS_MUSIC_POP_BT_HEADSET_ONLY_SUPPORTS_NORMAL_EFFECTS_SETTING"
+msgstr "El auricular BT sólo admite el ajuste de efectos normales"
+
+msgid "IDS_MUSIC_POP_APPLICATION_WILL_BE_CLOSED"
+msgstr "La aplicación se cerrará"
+
+msgid "IDS_MUSIC_POP_ADDED_GO_TO_WISH_LIST_Q"
+msgstr "Añadido. ¿Ir a la lista de deseos?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_THE_SERVICE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "El acceso al servicio puede suponerle un coste adicional. ¿Continuar?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_STORE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "El acceso a la tienda puede suponerle un coste adicional. ¿Continuar?"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_ONLY_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES"
+msgstr "El efecto de sonido del canal 5.1 sólo funciona en los modos de auricular y auricular Bluetooth"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "El efecto de sonido del canal 5.1 sólo funciona en modo auricular"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECTS_NOT_SUPPORTED_BY_SPEAKER"
+msgstr "Efectos de sonido del canal 5.1 no admitidos por el altavoz"
+
+msgid "IDS_MUSIC_OPT_VIEW_BY_COVER_ART"
+msgstr "Ver por portada"
+
+msgid "IDS_MUSIC_OPT_SEND_TRACK"
+msgstr "Enviar pista"
+
+msgid "IDS_MUSIC_OPT_RATE_TRACK"
+msgstr "Clasificar pista"
+
+msgid "IDS_MUSIC_OPT_PLAYLIST_MOVE_TRACK_IN_PLAYLIST"
+msgstr "Mover pista en la lista de reproducción"
+
+msgid "IDS_MUSIC_OPT_OPENPLAYLIST_CURRENT"
+msgstr "Actual"
+
+msgid "IDS_MUSIC_OPT_DELETE_PLAYLIST"
+msgstr "Eliminar lista de reproducción"
+
+msgid "IDS_MUSIC_OPT_BACKGROUND_PLAYING"
+msgstr "Reproducción en 2° plano"
+
+msgid "IDS_MUSIC_HEADER_EFFECTS"
+msgstr "Efectos"
+
+msgid "IDS_MUSIC_BUTTON_BUY_NOW"
+msgstr "Comprar"
+
+msgid "IDS_MUSIC_BODY_WOW_HD"
+msgstr "Wow HD"
+
+msgid "IDS_MUSIC_BODY_WISHLIST"
+msgstr "Lista de deseos"
+
+msgid "IDS_MUSIC_BODY_WIDE"
+msgstr "Amplio"
+
+msgid "IDS_MUSIC_BODY_WHA_WHA"
+msgstr "Wha-wha"
+
+msgid "IDS_MUSIC_BODY_VIBE_WOOFER"
+msgstr "Altavoz con vibración"
+
+msgid "IDS_MUSIC_BODY_TREMOLO"
+msgstr "Trémolo"
+
+msgid "IDS_MUSIC_BODY_TAP_TWICE_TO_PLAY_PAUSE_MUSIC"
+msgstr "Pulse 2 veces para reproducir/pausar música"
+
+msgid "IDS_MUSIC_BODY_SHARE_TRACK_VIA_BLUETOOTH"
+msgstr "Compartir pistas mediante Bluetooth"
+
+msgid "IDS_MUSIC_BODY_SETUPWIZARD_WELCOME_TO_THE_MUSIC_SETUP_WIZARD_CONTINUE_Q"
+msgstr "Bienvenido al asistente de configuración de música.\nLas pantallas siguientes le ayudarán a configurar el teléfono. ¿Continuar?"
+
+msgid "IDS_MUSIC_BODY_QUICK_LIST"
+msgstr "Lista rápida"
+
+msgid "IDS_MUSIC_BODY_PLAYINGSETTINGS_SOUND_EFFECTS"
+msgstr "Efectos de sonido"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_ALL"
+msgstr "Todo"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_1"
+msgstr "1"
+
+msgid "IDS_MUSIC_BODY_PLAYERSETTINGS_VOLUME"
+msgstr "Volumen"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_SELECTED"
+msgstr "Se han seleccionado %d pistas"
+
+msgid "IDS_MUSIC_BODY_NO_PODCASTS"
+msgstr "Ningún podcast"
+
+msgid "IDS_MUSIC_BODY_FIND_SIMILAR"
+msgstr "Buscar similar"
+
+msgid "IDS_MUSIC_BODY_BACKGROUND_PLAY"
+msgstr "Reproducción en segundo plano"
+
+msgid "IDS_MUSIC_BODY_51_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "El canal 5.1 sólo puede activarse con efectos de sonido desactivados"
+
+msgid "IDS_MUSIC_TAB4_PODCASTS"
+msgstr "Podcasts"
+
+msgid "IDS_MUSIC_SK2_EDIT_IMAGE"
+msgstr "Editar imagen"
+
+msgid "IDS_MUSIC_POP_PLAYING_ANY_SOUNDS_WILL_STOP_AND_SAVE_YOUR_VOICE_RECORDING_PLAY_Q"
+msgstr "Si se reproduce algún sonido, se detendrá y guardará su grabación de voz. ¿Reproducir?"
+
+msgid "IDS_MUSIC_POP_MAXIMUM_NUMBER_OF_ITEMS_HPD_SELECTED"
+msgstr "Número máximo de elementos (%d) seleccionados"
+
+msgid "IDS_MUSIC_POP_BLUETOOTH_DISCONNECTED"
+msgstr "Bluetooth desconectado"
+
+msgid "IDS_MUSIC_POP_5_1_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "El canal 5.1 sólo puede activarse con efectos de sonido desactivados"
+
+msgid "IDS_MUSIC_OPT_TAKE_PICTURE"
+msgstr "Hacer foto"
+
+msgid "IDS_MUSIC_OPT_SHOW_MUSIC_VIEW_ABB"
+msgstr "Mostrar vista de música"
+
+msgid "IDS_MUSIC_OPT_PAUSE"
+msgstr "Pausa"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALBUM"
+msgstr "Reproducir álbum"
+
+msgid "IDS_MUSIC_OPT_LIST_BY"
+msgstr "Mostrar por"
+
+msgid "IDS_MUSIC_OPT_HISTORY"
+msgstr "Historial"
+
+msgid "IDS_MUSIC_OPT_HIDE_MUSIC_VIEW_ABB"
+msgstr "Ocultar vista de música"
+
+msgid "IDS_MUSIC_OPT_FIND_TAG"
+msgstr "Buscar etiqueta"
+
+msgid "IDS_MUSIC_OPT_DROPBOX_CONTENT_ABB"
+msgstr "Contenido Dropbox"
+
+msgid "IDS_MUSIC_OPT_CONTENT_ON_PHONE_ABB"
+msgstr "Conten teléfono"
+
+msgid "IDS_MUSIC_OPT_CHANGE_IMAGE"
+msgstr "Cambiar imagen"
+
+msgid "IDS_MUSIC_HEADER_DELETE_DROPBOX_DATA_ABB"
+msgstr "Eliminar datos Dropbox"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_STREAM_YOUR_MUSIC_TO_DEVICES_USING_ALLSHARE"
+msgstr "Puede transmitir su música en dispositivos usando AllShare"
+
+msgid "IDS_MUSIC_BODY_VALIDITY"
+msgstr "Validez"
+
+msgid "IDS_MUSIC_BODY_TYPE_CNOUN"
+msgstr "Tipo"
+
+msgid "IDS_MUSIC_BODY_THIS_WILL_DELETE_THE_FILE_FROM_THE_SERVER_AND_ANY_CONNECTED_DEVICES_AS_WELL"
+msgstr "Se eliminará el archivo del servidor y de cualquier otro dispositivo conectado"
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_ARTISTS"
+msgstr "Artistas"
+
+msgid "IDS_MUSIC_BODY_PLAYINGDETAILS_ALBUM_ART"
+msgstr "Álbum artístico"
+
+msgid "IDS_MUSIC_BODY_OTHER_CONTENTS"
+msgstr "Otro contenido"
+
+msgid "IDS_MUSIC_BODY_NAME_TOO_LONG"
+msgstr "Nombre demasiado largo"
+
+msgid "IDS_MUSIC_BODY_MUSIC_CLARITY"
+msgstr "Claridad de la música"
+
+msgid "IDS_MUSIC_BODY_HIGH_VOLUMES_MAY_HARM_YOUR_HEARING_IF_YOU_LISTEN_FOR_A_LONG_TIME"
+msgstr "El volumen alto durante un tiempo prolongado puede dañar sus oídos"
+
+msgid "IDS_MUSIC_BODY_AVAILABLE_USES"
+msgstr "Usos disponibles"
+
+msgid "IDS_MUSIC_TPOP_SOUND_EFFECTS_ONLY_AVAILABLE_WHILE_HEADPHONES_CONNECTED"
+msgstr "Los efectos de sonido solo están disponibles cuando los auriculares están conectados."
+
+msgid "IDS_ST_OPT_ADD_TO_YOUR_PERSONAL_STORAGE"
+msgstr "Añadir a su almacenamiento personal"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_YOUR_PERSONAL_STORAGE"
+msgstr "Eliminar de su almacenamiento personal"
+
+msgid "IDS_ST_BODY_CONTEXTUAL_POP_UP_T_TALKBACK"
+msgstr "Ventana emergente contextual"
+
+msgid "IDS_ST_BODY_A_CONTEXTUAL_POP_UP_IS_OPEN_DOUBLE_TAP_TO_CLOSE_IT_T_TALKBACK"
+msgstr "Una ventana emergente contextual está abierta. Pulse dos veces para cerrarla."
+
+msgid "IDS_ST_BODY_REPEAT_ONE"
+msgstr "Repetir una vez"
+
+msgid "IDS_ST_BUTTON_MOVING_ING"
+msgstr "Moviendo..."
+
+msgid "IDS_HS_BODY_SELECT_UP_TO_PD_ITEMS"
+msgstr "Seleccionar hasta %d elementos"
+
+msgid "IDS_CAM_BODY_TAB_T_TTS"
+msgstr "Pestaña"
+
+msgid "IDS_DLNA_OPT2_CHANGE_PLAYER"
+msgstr "Cambiar reproductor"
+
+msgid "IDS_BR_SK_TABS"
+msgstr "Pestañas"
+
+msgid "IDS_MF_BODY_DROPBOX_ABB"
+msgstr "Dropbox"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Las recomendaciones automáticas pueden extraer los elementos destacados de los archivos de sonido"
+
+msgid "IDS_MF_BODY_PARENT_RATING"
+msgstr "Clasificación parental"
+
+msgid "IDS_VR_POP_FILE_NOT_FOUND"
+msgstr "Archivo no encontrado"
+
+msgid "IDS_PB_POP_CALLER_RINGTONE_SAVED"
+msgstr "Melodía de llamante guardada"
+
+msgid "IDS_MUSIC_BODY_BIT_DEPTH"
+msgstr "Profundidad de bit"
+
+msgid "IDS_MUSIC_BODY_SIZE"
+msgstr "Tamaño"
+
+msgid "IDS_MF_HEADER_PD_SELECTED"
+msgstr "%d seleccionados"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_THIS_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Después de añadir pistas a este dispositivo, se mostrarán aquí."
+
+msgid "IDS_MUSIC_TMBODY_LENGTH"
+msgstr "Duración"
+
+msgid "IDS_MUSIC_POP_1_FOLDER_WILL_BE_DELETED"
+msgstr "Se eliminará 1 carpeta."
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "No hay contenido"
+
+msgid "IDS_MUSIC_ITAB4_FOLDERS"
+msgstr "Carpetas"
+
+msgid "IDS_MUSIC_HEADER_MY_PLAYLISTS_ABB"
+msgstr "Mis listas de reprod"
+
+msgid "IDS_MP_BODY_SOUND_PLAYER"
+msgstr "Reproductor de sonido"
+
+msgid "IDS_MUSIC_OPT_SETTINGS"
+msgstr "Ajustes"
+
+msgid "IDS_MUSIC_POP_DELETING"
+msgstr "Eliminando..."
+
+msgid "IDS_MUSIC_POP_1_TRACK_WILL_BE_DELETED"
+msgstr "Se eliminará 1 pista."
+
+msgid "IDS_MUSIC_POP_ALL_TRACKS_WILL_BE_DELETED"
+msgstr "Se eliminarán todas las pistas"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_WILL_BE_DELETED"
+msgstr "Se eliminarán %d pistas."
+
+msgid "IDS_MUSIC_POP_1_PLAYLIST_WILL_BE_DELETED"
+msgstr "Se eliminará 1 lista de reproducción."
+
+msgid "IDS_MUSIC_POP_PD_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Se eliminarán %d listas de reproducción"
+
+msgid "IDS_MUSIC_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "Se eliminarán %d álbumes"
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS_WILL_BE_DELETED"
+msgstr "Se eliminarán %d artistas"
+
+msgid "IDS_MUSIC_POP_PD_FOLDERS_WILL_BE_DELETED"
+msgstr "Se eliminarán %d carpetas"
+
+msgid "IDS_ST_POP_CONNECTION_FAILED"
+msgstr "Error de conexión"
+
+msgid "IDS_MUSIC_BODY_CLASSIC"
+msgstr "Clásica"
+
+msgid "IDS_MUSIC_BODY_ROCK"
+msgstr "Rock"
+
+msgid "IDS_MUSIC_BODY_JAZZ"
+msgstr "Jazz"
+
+msgid "IDS_MUSIC_BODY_POP"
+msgstr "Pop"
+
+msgid "IDS_MUSIC_BODY_AUTO"
+msgstr "Auto"
+
+msgid "IDS_MUSIC_POP_CURRENT_SOUND_EFFECT_NOT_SUPPORTED_BY_HDMI"
+msgstr "Efectos de sonido actuales no admitidos por HDMI"
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_BLUETOOTH"
+msgstr "Efectos de sonido no admitidos por el Bluetooth"
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_LINE_OUT"
+msgstr "Los efectos de sonido no están admitidos en la línea de salida"
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_HDMI"
+msgstr "Efectos de sonido no admitidos por el HDMI"
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EFFECT"
+msgstr "Amplificador a válvula"
+
+msgid "IDS_MUSIC_BODY_CUSTOM"
+msgstr "Personalizar"
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EQUALISER_ABB"
+msgstr "Amplif de tubo"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d pistas añadidas a la lista de reproducción"
+
+msgid "IDS_MUSIC_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "Se ha añadido 1 pista a la lista de reproducción."
+
+msgid "IDS_MUSIC_HEADER_ADD_TRACKS_TO_PLAYLIST_ABB"
+msgstr "Añadir pistas a lista de repr"
+
+msgid "IDS_MUSIC_POP_PS_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "%s ya en uso. Introduzca otro nombre."
+
+msgid "IDS_MUSIC_TMBODY_DATE_OF_RECORDING"
+msgstr "Fecha de grabación"
+
+msgid "IDS_MBP_TPOP_TRACK_SET_AS_ALARM_TONE"
+msgstr "Pista definida como tono de alarma."
+
+msgid "IDS_MUSIC_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "No se han encontrado result"
+
+msgid "IDS_MUSIC_OPT_DEFAULT_RINGTONE_ABB"
+msgstr "Melodía predeterminada"
+
+msgid "IDS_MUSIC_TPOP_TRACK_SET_AS_CALLER_RINGTONE"
+msgstr "Pista definida como melodía del llamante."
+
+msgid "IDS_MP_TPOP_TRACK_SET_AS_RINGTONE"
+msgstr "Pista definida como tono de llamada."
+
+msgid "IDS_DLNA_BODY_ADD_TO_NOW_PLAYING_LIST"
+msgstr "Añadir a lista en reproducción"
+
+msgid "IDS_MUSIC_TPOP_EQUALISER_SETTINGS_WILL_BE_APPLIED_WHILE_PLAYING_MUSIC"
+msgstr "Los ajustes del ecualizador se aplicarán al reproducir música."
+
+msgid "IDS_ST_BODY_ALERT"
+msgstr "Alerta"
+
+msgid "IDS_IV_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "Se eliminará 1 álbum"
+
+msgid "IDS_MUSIC_OPT_SD_CARD"
+msgstr "Tarjeta SD"
+
+msgid "IDS_MUSIC_SBODY_DEVICE_STORAGE"
+msgstr "Almacenamiento del dispositivo"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE"
+msgstr "El nombre de la lista de reproducción ya está en uso."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_PD"
+msgstr "Lista de reproducción %d"
+
+msgid "IDS_MUSIC_HEADER_CREATE"
+msgstr "Crear"
+
+msgid "IDS_MUSIC_HEADER_EQUALISER_PRESET_ABB"
+msgstr "Ecualizador predeterminado"
+
+msgid "IDS_MUSIC_OPT_AUTOMATIC_M_EQUALIZER_EFFECT"
+msgstr "Automático"
+
+msgid "IDS_MUSIC_OPT_CLASSICAL_M_EQUALIZER_EFFECT"
+msgstr "Clásica"
+
+msgid "IDS_MUSIC_HEADER_ENVIRONMENT_EFFECT_ABB"
+msgstr "Efecto de entorno"
+
+msgid "IDS_VIDEO_POP_THE_FILE_TYPE_IS_NOT_SUPPORTED"
+msgstr "El tipo de archivo no es compatible."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_CREATE_PLAYLISTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Después de crear listas de reproducción, se mostrarán aquí"
+
+msgid "IDS_ST_HEADER_SELECT_AUDIO_DEVICE_ABB"
+msgstr "Seleccionar dispositivo audio"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "El nombre de la lista de reproducción ya se está usando. Introduzca otro nombre."
+
+msgid "IDS_MUSIC_HEADER_SOUNDALIVE_ABB3"
+msgstr "SoundAlive"
+
+msgid "IDS_MUSIC_OPT_NOW_PLAYING_LIST"
+msgstr "Lista en reproducción"
+
+msgid "IDS_MUSIC_OPT_SHOW_LYRICS"
+msgstr "Mostrar letra"
+
+msgid "IDS_MUSIC_OPT_HIDE_LYRICS"
+msgstr "Ocultar letra"
+
+msgid "IDS_MUSIC_TPOP_UNABLE_TO_PLAY_MUSIC_DURING_CALLS"
+msgstr "No se puede reproducir música durante las llamadas."
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Eliminar"
+
+msgid "IDS_MUSIC_HEADER_SELECT"
+msgstr "Seleccionar"
+
+msgid "IDS_TPLATFORM_OPT_NFC"
+msgstr "NFC"
+
+msgid "IDS_MUSIC_HEADER_UNABLE_TO_PLAY_TRACK"
+msgstr "No se puede reproducir pista"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "FINALIZADO"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "CANCELAR"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "ELIMINAR"
+
+msgid "IDS_MUSIC_POP_RENAME"
+msgstr "Renombrar"
+
+msgid "IDS_MUSIC_OPT_MESSAGE"
+msgstr "Mensajes"
+
+msgid "IDS_MUSIC_SK_OK"
+msgstr "Aceptar"
+
+msgid "IDS_MUSIC_SK_CANCEL"
+msgstr "Cancelar"
+
+msgid "IDS_MUSIC_BUTTON_REFRESH"
+msgstr "Actualizar"
+
+msgid "IDS_MUSIC_BODY_SELECT_ALL"
+msgstr "Seleccionar todo"
+
+msgid "IDS_MUSIC_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_MUSIC_POP_DELETED"
+msgstr "Eliminado"
+
+msgid "IDS_MUSIC_OPT_STOP"
+msgstr "Parar"
+
+msgid "IDS_MUSIC_BODY_UNKNOWN"
+msgstr "Desconocido"
+
+msgid "IDS_MUSIC_BODY_TITLE"
+msgstr "Título"
+
+msgid "IDS_MUSIC_OPT_SENDVIA_EMAIL"
+msgstr "Correo electrónico"
+
+msgid "IDS_MUSIC_OPT_BLUETOOTH"
+msgstr "Bluetooth"
+
+msgid "IDS_MUSIC_HEADER_DOWNLOAD"
+msgstr "Descargar"
+
+msgid "IDS_MUSIC_POP_LOW_BATTERY"
+msgstr "Batería baja"
+
+msgid "IDS_MUSIC_HEADER_AUDIO_DEVICE"
+msgstr "Dispositivo de audio"
+
+msgid "IDS_MUSIC_HEADER_DETAILS"
+msgstr "Detalles"
+
+msgid "IDS_MUSIC_OPT_END"
+msgstr "Finalizar"
+
+msgid "IDS_MUSIC_OPT_EDIT"
+msgstr "Editar"
+
+msgid "IDS_CAM_HEADER_UPDATED"
+msgstr "Actualizado"
+
+msgid "IDS_MUSIC_POP_REMOVED"
+msgstr "Eliminado"
+
+msgid "IDS_MUSIC_OPT_SELECTED"
+msgstr "Seleccionado"
+
+msgid "IDS_ST_BUTTON_SCAN"
+msgstr "Buscar"
+
+msgid "IDS_MF_POP_ERROR"
+msgstr "Error"
+
+msgid "IDS_MF_POP_MEMORY_FULL"
+msgstr "Memoria llena"
+
+msgid "IDS_MUSIC_MBODY_QUEUE"
+msgstr "Cola"
+
+msgid "IDS_MUSIC_OPT_VOLUME"
+msgstr "Volumen"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE"
+msgstr "Reproducción aleatoria"
+
+msgid "IDS_MUSIC_OPT_REPEAT"
+msgstr "Repetir"
+
+msgid "IDS_COM_BODY_DETAILS"
+msgstr "Details"
+
+msgid "IDS_COM_BODY_DETAILS_TITLE"
+msgstr "Title"
+
+msgid "IDS_COM_BODY_EDIT"
+msgstr "Edit"
+
+msgid "IDS_COM_BODY_EMAIL"
+msgstr "Email"
+
+msgid "IDS_COM_BODY_END"
+msgstr "End"
+
+msgid "IDS_COM_BODY_FOLDERS"
+msgstr "Folders"
+
+msgid "IDS_COM_BODY_GALLERY"
+msgstr "Gallery"
+
+msgid "IDS_COM_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_COM_BODY_LOADING"
+msgstr "Loading..."
+
+msgid "IDS_COM_BODY_LOW_BATTERY"
+msgstr "Low battery."
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Message"
+
+msgid "IDS_COM_BODY_MUSIC"
+msgstr "Music"
+
+msgid "IDS_COM_BODY_NFC"
+msgstr "NFC"
+
+msgid "IDS_COM_BODY_NO_CONTENTS"
+msgstr "No content"
+
+msgid "IDS_COM_BODY_PAUSE"
+msgstr "Pause"
+
+msgid "IDS_COM_BODY_PD_SELECTED"
+msgstr "%d selected."
+
+msgid "IDS_COM_BODY_PREVIOUS"
+msgstr "Previous"
+
+msgid "IDS_COM_BODY_RESET_A"
+msgstr "Reset"
+
+msgid "IDS_COM_BODY_SELECTED"
+msgstr "Selected"
+
+msgid "IDS_COM_BODY_SELECT_ALL"
+msgstr "Select all"
+
+msgid "IDS_COM_BODY_SETTINGS"
+msgstr "Settings"
+
+msgid "IDS_COM_BODY_TIME"
+msgstr "Time"
+
+msgid "IDS_COM_BODY_UNABLE_TO_ADD"
+msgstr "Unable to add."
+
+msgid "IDS_COM_BODY_UNKNOWN"
+msgstr "Unknown"
+
+msgid "IDS_COM_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_COM_BUTTON_SCAN"
+msgstr "Scan"
+
+msgid "IDS_COM_BUTTON_SHARE"
+msgstr "Share"
+
+msgid "IDS_COM_HEADER_AUDIO_DEVICE_ABB"
+msgstr "Audio device"
+
+msgid "IDS_COM_OPT_ADDED"
+msgstr "Added."
+
+msgid "IDS_COM_OPT_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_POP_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_POP_CONNECTION_FAILED"
+msgstr "Connection failed."
+
+msgid "IDS_COM_POP_DELETED"
+msgstr "Deleted."
+
+msgid "IDS_COM_POP_DELETE_Q"
+msgstr "Delete?"
+
+msgid "IDS_COM_POP_DONE"
+msgstr "Done"
+
+msgid "IDS_COM_POP_DOWNLOADING"
+msgstr "Downloading..."
+
+msgid "IDS_COM_POP_ERROR"
+msgstr "Error."
+
+msgid "IDS_COM_POP_FAILED"
+msgstr "Failed."
+
+msgid "IDS_COM_POP_FILE_NOT_EXIST"
+msgstr "This file does not exist."
+
+msgid "IDS_COM_POP_FILE_NOT_FOUND"
+msgstr "File not found."
+
+msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximum number of characters reached."
+
+msgid "IDS_COM_POP_MEMORY_FULL"
+msgstr "Memory full."
+
+msgid "IDS_COM_POP_REMOVED"
+msgstr "Removed."
+
+msgid "IDS_COM_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Unable to use during Mass storage mode."
+
+msgid "IDS_COM_POP_UPDATED"
+msgstr "Updated."
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_SK_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_SK_DOWNLOAD"
+msgstr "Download"
+
+msgid "IDS_COM_SK_NEW"
+msgstr "New"
+
+msgid "IDS_COM_SK_NEXT"
+msgstr "Next"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_SK_REFRESH"
+msgstr "Refresh"
+
+msgid "IDS_COM_SK_REMOVE"
+msgstr "Remove"
+
+msgid "IDS_COM_SK_SAVE"
+msgstr "Save"
+
+msgid "IDS_COM_SK_SELECT"
+msgstr "Select"
+
+msgid "IDS_COM_SK_SET"
+msgstr "Set"
+
+msgid "IDS_COM_SK_STOP"
+msgstr "Stop"
+
+
+msgid "IDS_MH_BODY_THE_PLAYLIST_NAME_PS_IS_ALREADY_IN_USE"
+msgstr "The playlist name %s is already in use."
+
+msgid "IDS_MH_BODY_TOTAL"
+msgstr "Total"
+
+msgid "IDS_MH_MBODY_RECENTLY_ADDED_M_SONG"
+msgstr "Recently added"
+
+msgid "IDS_MH_OPT_MORE_INFO_ABB"
+msgstr "More info"
+
+msgid "IDS_MH_POP_ALARM_TONE_SET"
+msgstr "Alarm tone set."
+
+msgid "IDS_MH_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 track added to playlist."
+
+msgid "IDS_MH_TPOP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d tracks added to playlist."
+
+msgid "IDS_MUSIC_OPT_RENAME"
+msgstr "Rename"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Unable to play during call."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Tamaño máximo de archivos superado"
+
+msgid "IDS_CAM_TPOP_UNABLE_TO_PLAY_MUSIC_WHILE_RECORDING_AUDIO_OR_VIDEO"
+msgstr "No se puede reproducir música mientras se graba audio o vídeo."
+
--- /dev/null
+msgid "IDS_ST_BODY_LOADING_ING"
+msgstr "Cargando..."
+
+msgid "IDS_GALLERY_OPT_PRIVATE_M_CONTENT"
+msgstr "Privado"
+
+msgid "IDS_MF_BODY_TIME"
+msgstr "Fecha"
+
+msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
+msgstr "El archivo no existe."
+
+msgid "IDS_MUSIC_POP_PHONE_RINGTONE"
+msgstr "Tono del dispositivo"
+
+msgid "IDS_MUSIC_BODY_DURATION"
+msgstr "Duración"
+
+msgid "IDS_MUSIC_BODY_MUSIC_LOCATION"
+msgstr "Ubicación"
+
+msgid "IDS_MUSIC_BODY_SET_AS_M_RINGTONE"
+msgstr "Definir como"
+
+msgid "IDS_ST_OPT_ADD_TO_PERSONAL_PAGE"
+msgstr "Añadir a la página personal"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_PERSONAL_PAGE_ABB"
+msgstr "Elim. de página personal"
+
+msgid "IDS_ST_POP_MOVE_TO_NORMAL_STORAGE"
+msgstr "Mover a almacenamiento normal"
+
+msgid "IDS_ST_POP_MOVE_TO_PERSONAL_STORAGE"
+msgstr "Mover a almacenamiento personal"
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEMS_WILL_BE_MOVED_TO_PS"
+msgstr "Los elementos seleccionados se moverán a %s."
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEM_WILL_BE_MOVED_TO_PS"
+msgstr "El elemento seleccionado se moverá a %s."
+
+msgid "IDS_VR_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "No se puede utilizar durante el modo de almacenamiento masivo."
+
+msgid "IDS_MUSIC_POP_RINGTONE_ADDED"
+msgstr "Tono añadido."
+
+msgid "IDS_CAM_BODY_BUTTON_T_TTS"
+msgstr "Botón"
+
+msgid "IDS_MUSIC_HEADER_SELECT_ITEMS"
+msgstr "Seleccionar elementos"
+
+msgid "IDS_ST_BODY_ADVANCED"
+msgstr "Avanzados"
+
+msgid "IDS_ST_SK_PREVIOUS"
+msgstr "Anterior"
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Cerrar"
+
+msgid "IDS_MUSIC_POP_ADDED"
+msgstr "Añadido."
+
+msgid "IDS_MUSIC_POP_FAILED"
+msgstr "Error."
+
+msgid "IDS_MUSIC_BODY_NO_SEARCH_RESULTS"
+msgstr "No se han encontrado resultados"
+
+msgid "IDS_MUSIC_SK_DONE"
+msgstr "Realizado"
+
+msgid "IDS_MUSIC_BODY_NO_ITEMS"
+msgstr "Ningún elemento"
+
+msgid "IDS_BR_OPT_ADD_TO_HOME"
+msgstr "Añadir a Inicio"
+
+msgid "IDS_BR_SK_NEXT"
+msgstr "Siguiente"
+
+msgid "IDS_BR_BODY_DOWNLOADING_ING"
+msgstr "Descargando..."
+
+msgid "IDS_IV_BODY_FAVOURITE"
+msgstr "Favorito"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_PERSONAL_STORAGE"
+msgstr "Añadir a almacenamiento personal"
+
+msgid "IDS_DLNA_POP_DISCONNECTED_FROM_PS_CHECK_THE_NETWORK_STATUS_AND_THE_CONNECTED_DEVICE"
+msgstr "Desconectado de %s. Revise el estado de la red y el dispositivo conectado."
+
+msgid "IDS_DLNA_OPT_VIA_SCREEN_MIRRORING_ABB"
+msgstr "Vía Screen Mirroring"
+
+msgid "IDS_DLNA_OPT_VIA_HOME_NETWORK_ABB"
+msgstr "Vía red doméstica"
+
+msgid "IDS_IV_POP_ENTRY_IS_EMPTY"
+msgstr "Entrada vacía."
+
+msgid "IDS_FM_POP_UNAVAILABLE_DURING_CALL"
+msgstr "No disponible durante una llamada."
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Se ha alcanzado el número máximo de caracteres."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_SHARE_DRM_FILE"
+msgstr "No es posible compartir el archivo DRM."
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Eliminando..."
+
+msgid "IDS_MUSIC_HEADER_PD_DEVICES"
+msgstr "%d dispositivos"
+
+msgid "IDS_MUSIC_BUTTON_ENABLE_MOTION"
+msgstr "Activar mov."
+
+msgid "IDS_MUSIC_BUTTON_DONT_ASK_AGAIN"
+msgstr "No volver a preguntar"
+
+msgid "IDS_MUSIC_BODY_NO_RESULTS_FOUND"
+msgstr "No se encontraron resultados."
+
+msgid "IDS_VPL_OPT_HDMI"
+msgstr "HDMI"
+
+msgid "IDS_MUSIC_BODY_TURN_PHONE_OVER_TO_MUTE_INCOMING_CALLS_MESSAGE_ALERTS_AND_ALARMS"
+msgstr "Gire el dispositivo para desactivar el sonido de las llamadas entrantes y las alarmas."
+
+msgid "IDS_ST_BODY_NONE"
+msgstr "Ninguna"
+
+msgid "IDS_ST_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_ST_BODY_GALLERY"
+msgstr "Galería"
+
+msgid "IDS_ST_BODY_DOUBLE_TAP_TO_MOVE_TO_CONTENT_T_TTS"
+msgstr "Pulse dos veces para mover al contenido."
+
+msgid "IDS_MUSIC_BODY_SURROUND"
+msgstr "Envolvente"
+
+msgid "IDS_MUSIC_OPT_LYRICS_ABB"
+msgstr "Letra"
+
+msgid "IDS_MUSIC_POP_AFTER_YOU_ADD_TRACKS_TO_MUSIC_ON_YOUR_MOBILE_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Después de añadir pistas a Música en su dispositivo móvil, se mostrarán aquí."
+
+msgid "IDS_MUSIC_BODY_SAMPLING_RATE"
+msgstr "Velocidad de muestra"
+
+msgid "IDS_MUSIC_BODY_MARKED_AS_A_FAVOURITE"
+msgstr "Marcado como favorito."
+
+msgid "IDS_MUSIC_BODY_MUSIC"
+msgstr "Música"
+
+msgid "IDS_MUSIC_BODY_NOT_MARKED_AS_A_FAVOURITE"
+msgstr "No marcado como favorito."
+
+msgid "IDS_MUSIC_HEADER_SEARCH_MUSIC_ABB"
+msgstr "Buscar música"
+
+msgid "IDS_MUSIC_POP_AUTO_RECOMMENDATION_DOES_NOT_SUPPORT_THIS_AUDIO_FILE"
+msgstr "La recomendación automática no admite este archivo de audio."
+
+msgid "IDS_MUSIC_POP_SORRY_THE_PLAYER_DOES_NOT_SUPPORT_THIS_TYPE_OF_AUDIO_FILE"
+msgstr "No soportado."
+
+msgid "IDS_MUSIC_BODY_FAVOURITES"
+msgstr "Favoritos"
+
+msgid "IDS_MUSIC_BODY_MOST_PLAYED"
+msgstr "Más reproducidas"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_ADDED"
+msgstr "Añadidos recientemente"
+
+msgid "IDS_MUSIC_OPT_CREATE_PLAYLIST"
+msgstr "Crear lista de reproducción"
+
+msgid "IDS_MUSIC_OPT_REMOVE"
+msgstr "Eliminar"
+
+msgid "IDS_MUSIC_OPT_SETAS_CALLER_RINGTONE"
+msgstr "Tono del contacto"
+
+msgid "IDS_MUSIC_TAB4_ARTISTS"
+msgstr "Artistas"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD"
+msgstr "No es posible añadir."
+
+msgid "IDS_MUSIC_POP_UNABLE_CREATE_PLAYLIST"
+msgstr "No se puede crear la lista de reproducción."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_GET_TAG"
+msgstr "No es posible obtener etiqueta."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_MORE_THAN_PD_MUSIC_FILE"
+msgstr "No es posible añadir más de %d archivos de música."
+
+msgid "IDS_MUSIC_BODY_ALBUM"
+msgstr "Álbum"
+
+msgid "IDS_MUSIC_BODY_AUTHOR"
+msgstr "Autor"
+
+msgid "IDS_MUSIC_BODY_COPYRIGHT"
+msgstr "Derechos de autor"
+
+msgid "IDS_MUSIC_BODY_CREATE_PLAYLIST"
+msgstr "Crear lista de reproducción"
+
+msgid "IDS_MUSIC_BODY_DESCRIPTION"
+msgstr "Descripción"
+
+msgid "IDS_MUSIC_BODY_FORMAT"
+msgstr "Formato"
+
+msgid "IDS_MUSIC_BODY_IMPOSSIBLE"
+msgstr "Imposible"
+
+msgid "IDS_MUSIC_BODY_NO_PLAYLISTS"
+msgstr "Vacío"
+
+msgid "IDS_MUSIC_BODY_TRACK_NUMBER"
+msgstr "Número de canción"
+
+msgid "IDS_MUSIC_POP_DELETE_Q"
+msgstr "¿Eliminar?"
+
+msgid "IDS_MUSIC_POP_REMOVE_Q"
+msgstr "¿Eliminar?"
+
+msgid "IDS_MUSIC_POP_UNABLE_RENAME_PLAYLIST"
+msgstr "No es posible renombrar la lista de reproducción."
+
+msgid "IDS_MUSIC_TAB4_ALBUMS"
+msgstr "Álbumes"
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Añadiendo…"
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "¿Desea eliminar los álbumes de %d?"
+
+msgid "IDS_MUSIC_TAB4_PLAYLISTS"
+msgstr "List reproducc"
+
+msgid "IDS_MUSIC_OPT_ADD"
+msgstr "Añadir"
+
+msgid "IDS_MUSIC_BODY_BIOGRAPHY"
+msgstr "Biografía"
+
+msgid "IDS_MUSIC_BODY_CREDITS"
+msgstr "Créditos"
+
+msgid "IDS_MUSIC_BODY_DETAILS_MEADIA_INFO"
+msgstr "Información multimedia"
+
+msgid "IDS_MUSIC_BODY_DISCOGRAPHY"
+msgstr "Discografía"
+
+msgid "IDS_MUSIC_BODY_LYRIC"
+msgstr "Letra"
+
+msgid "IDS_MUSIC_BODY_POSSIBLE"
+msgstr "Posible"
+
+msgid "IDS_MUSIC_BODY_REVIEW"
+msgstr "Revisar"
+
+msgid "IDS_MUSIC_HEADER_TRACK_LIST"
+msgstr "Lista de canciones"
+
+msgid "IDS_MUSIC_BODY_ADD_TO_PLAYLIST"
+msgstr "Añadir a lista de reprod."
+
+msgid "IDS_MUSIC_BODY_ARTIST"
+msgstr "Artista"
+
+msgid "IDS_MUSIC_BODY_FORWARDING"
+msgstr "Reenvío"
+
+msgid "IDS_MUSIC_BODY_RECORDED_DATE"
+msgstr "Date of recording"
+
+msgid "IDS_MUSIC_BODY_PLAYLISTS"
+msgstr "Listas de reproducción"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_PLAYED"
+msgstr "Reproducidas recientemente"
+
+msgid "IDS_MUSIC_BODY_TRACK_LENGTH"
+msgstr "Duración"
+
+msgid "IDS_MUSIC_HEADER_NO_SONGS"
+msgstr "Vacío"
+
+msgid "IDS_MUSIC_POP_THIS_TRACK_WILL_BE_DELETED"
+msgstr "Se eliminará esta pista"
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_TRACKS_WILL_BE_DELETED"
+msgstr "Se eliminarán las canciones seleccionadas."
+
+msgid "IDS_MUSIC_POP_THIS_ARTIST_WILL_BE_DELETED"
+msgstr "Se eliminará este artista."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ARTISTS_WILL_BE_DELETED"
+msgstr "Se eliminarán los artistas seleccionados."
+
+msgid "IDS_MUSIC_POP_ALL_ARTISTS_WILL_BE_DELETED"
+msgstr "Se eliminarán todos los artistas."
+
+msgid "IDS_MUSIC_POP_THIS_FOLDER_WILL_BE_DELETED"
+msgstr "Esta carpeta se eliminará."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_FOLDERS_WILL_BE_DELETED"
+msgstr "Se eliminarán las carpetas seleccionadas."
+
+msgid "IDS_MUSIC_POP_ALL_FOLDERS_WILL_BE_DELETED"
+msgstr "Se eliminarán todas las carpetas."
+
+msgid "IDS_MUSIC_POP_THIS_ALBUM_WILL_BE_DELETED"
+msgstr "Se eliminará este álbum."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ALBUMS_WILL_BE_DELETED"
+msgstr "Se eliminarán los álbumes seleccionados."
+
+msgid "IDS_MUSIC_POP_ALL_ALBUMS_WILL_BE_DELETED"
+msgstr "Se eliminarán todos los álbumes."
+
+msgid "IDS_MUSIC_POP_THIS_PLAYLIST_WILL_BE_DELETED"
+msgstr "Se eliminará la lista de reproducción."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Se eliminarán las listas de reproducción seleccionadas."
+
+msgid "IDS_MUSIC_POP_ALL_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Se eliminarán todas las listas de reproducción."
+
+msgid "IDS_MUSIC_HEADER_SONGS"
+msgstr "Canciones"
+
+msgid "IDS_MUSIC_OPT_REORDER"
+msgstr "Reordenar"
+
+msgid "IDS_MUSIC_OPT_SAVE_AS_PLAYLIST"
+msgstr "Guardar como lista de reproducción"
+
+msgid "IDS_MUSIC_OPT_SETAS_ALARM_TONE"
+msgstr "Tono de alarma"
+
+msgid "IDS_MUSIC_POP_NOTHING_SELECTED"
+msgstr "No se ha seleccionado nada."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "No se puede reproducir. Ocurrió un error."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_UNSUPPORTED_FILETYPE"
+msgstr "No se puede reproducir. Tipo de archivo no soportado."
+
+msgid "IDS_MUSIC_SK_SHARE"
+msgstr "Compartir"
+
+msgid "IDS_MUSIC_TAB4_CONDUCTORS"
+msgstr "Directores"
+
+msgid "IDS_MUSIC_HEADER_SELECT_DEVICE"
+msgstr "Seleccionar dispositivo"
+
+msgid "IDS_MUSIC_SK_VIEW_AS"
+msgstr "Ver por"
+
+msgid "IDS_MUSIC_BODY_SOUNDEFFECTS_NORMAL"
+msgstr "Normal"
+
+msgid "IDS_MUSIC_BODY_USER"
+msgstr "Usuario"
+
+msgid "IDS_MUSIC_BODY_VOCAL_M_SOUNDEFFECT"
+msgstr "Vocal"
+
+msgid "IDS_MUSIC_MBODY_BASS_BOOST"
+msgstr "Ecualizar graves"
+
+msgid "IDS_MUSIC_MBODY_TREBLE_BOOST"
+msgstr "Ecualizar agudos"
+
+msgid "IDS_MUSIC_BODY_CAFE_M_SOUNDEFFECT"
+msgstr "Café"
+
+msgid "IDS_MUSIC_OPT_VIRTUAL_71_CH"
+msgstr "Virtual 7.1 ch"
+
+msgid "IDS_MUSIC_OPT_AFTER_15_MIN_ABB"
+msgstr "Después de 15 min."
+
+msgid "IDS_MUSIC_BODY_AFTER_30_MIN"
+msgstr "Después de 30 min."
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HOUR"
+msgstr "Después de 1 hora"
+
+msgid "IDS_MUSIC_POP_AFTER_1_HOUR_30_MIN"
+msgstr "Después de 1 hora 30 min."
+
+msgid "IDS_MUSIC_BODY_AFTER_2_HOURS"
+msgstr "Después de 2 horas"
+
+msgid "IDS_MUSIC_BODY_MUSIC_AUTO_OFF"
+msgstr "Desactivación automática de Música"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES_ONLY"
+msgstr "Este efecto de sonido sólo funciona en los modos de auricular y auricular Bluetooth."
+
+msgid "IDS_MUSIC_TAB4_MUSIC_SQUARE"
+msgstr "Cuadro musical"
+
+msgid "IDS_MUSIC_POP_NOT_ENOUGH_MUSIC_FILES_TO_PLAY_IN_MUSIC_SQUARE_AT_LEAST_PD_MUSIC_FILES_REQUIRED"
+msgstr "No hay suficientes archivos de música para reproducir. Se necesitan al menos %d archivos de música."
+
+msgid "IDS_MUSIC_BODY_PASSION_M_MOOD"
+msgstr "Pasión"
+
+msgid "IDS_MUSIC_BODY_CALM_M_ADJECTIVE"
+msgstr "Tranquilo"
+
+msgid "IDS_MUSIC_BODY_JOY_M_MOOD"
+msgstr "Alegría"
+
+msgid "IDS_MUSIC_BODY_LIBRARY_UPDATE"
+msgstr "Actualización de biblioteca"
+
+msgid "IDS_MUSIC_POP_UPDATE_LIBRARY_Q"
+msgstr "¿Actualizar biblioteca?"
+
+msgid "IDS_MUSIC_BODY_CHANGE_AXIS"
+msgstr "Cambiar eje"
+
+msgid "IDS_MUSIC_ITAB4_GENRES"
+msgstr "Géneros"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_1_TRACK"
+msgstr "1 álbum/1 canción"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_PD_TRACKS"
+msgstr "1 álbum/%d canciones"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS_PD_TRACKS"
+msgstr "%d álbumes/%d canciones"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_CONTROL_MUSIC_PLAYER_WITH_THE_VOICE_COMMANDS_P1SS_P2SS_P3SS_P4SS_P5SS_AND_P6SS"
+msgstr "Puede controlar el Reproductor de Música con los comandos de voz %1$s, %2$s, %3$s, %4$s, %5$s y %6$s."
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_PD_TRACKS"
+msgstr "Mezclar %d pistas"
+
+msgid "IDS_MUSIC_BODY_MORE_INFO"
+msgstr "Más información"
+
+msgid "IDS_MUSIC_HEADER_MY_MUSIC_M_APPLICATION_NAME"
+msgstr "Mi música"
+
+msgid "IDS_MUSIC_OPT_LIST_VIEW"
+msgstr "Ver por lista"
+
+msgid "IDS_MUSIC_OPT_PLAY_VIA_GROUP_PLAY"
+msgstr "Reproducir vía Group Play"
+
+msgid "IDS_MUSIC_POP_TRACK_ADDED_TO_FAVOURITES"
+msgstr "Pista añadida a favoritos."
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_FAVOURITES"
+msgstr "Eliminar de favoritos"
+
+msgid "IDS_MUSIC_BODY_NEW_M_LATEST"
+msgstr "Nuevo"
+
+msgid "IDS_MUSIC_OPT_TRACKS"
+msgstr "Canciones"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL"
+msgstr "Miniatura"
+
+msgid "IDS_MUSIC_SK_LIST"
+msgstr "Lista"
+
+msgid "IDS_MUSIC_SK_OPEN_PLAYLIST"
+msgstr "Abrir lista de reproducción"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALL"
+msgstr "Reproducir todo"
+
+msgid "IDS_MUSIC_POP_SELECTED_LIST_EMPTY"
+msgstr "Lista seleccionada vacía."
+
+msgid "IDS_MUSIC_BODY_MOODS"
+msgstr "Estado"
+
+msgid "IDS_MUSIC_BUTTON_YEARS"
+msgstr "Años"
+
+msgid "IDS_MUSIC_BODY_OLD"
+msgstr "Anterior"
+
+msgid "IDS_MUSIC_BODY_MUSIC_SQUARE_ANALYSES_THE_CHARACTERISTICS_OF_MUSIC_FILES_STORED_ON_YOUR_DEVICE_AND_AUTOMATICALLY_CREATES_PLAYLISTS_MSG"
+msgstr "Cuadro musical analiza características de archivos de música almacenados en su dispositivo y crea listas de reproducción automáticamente."
+
+msgid "IDS_MUSIC_BODY_PLAY_TRACKS_WITH_SIMILAR_CHARACTERISTICS_BY_SELECTING_A_SQUARE_ON_THE_SCREEN"
+msgstr "Reproduzca una lista de reproducción de música con características similares seleccionando un cuadro de la pantalla."
+
+msgid "IDS_MUSIC_BODY_VIEW_PLAYLIST_DETAILS_BY_TAPPING_AND_HOLDING_THE_SQUARE_CURRENTLY_BEING_PLAYED"
+msgstr "Vea los detalles de la lista de reproducción manteniendo pulsado sobre el cuadro en reproducción."
+
+msgid "IDS_MUSIC_BODY_NEARBY_DEVICES"
+msgstr "Dispositivos cercanos"
+
+msgid "IDS_MUSIC_POP_YOU_WILL_NEED_TO_UPDATE_THE_LIBRARY_IF_NEW_SONGS_HAVE_BEEN_ADDED"
+msgstr "Usted tendrá que actualizar la biblioteca, si se han añadido nuevas canciones."
+
+msgid "IDS_MUSIC_BODY_NO_ALBUMS"
+msgstr "No hay álbumes"
+
+msgid "IDS_MUSIC_BODY_NO_ARTISTS"
+msgstr "Vacío"
+
+msgid "IDS_MUSIC_OPT_PLAY_SPEED_ABB"
+msgstr "Velocidad de reprod."
+
+msgid "IDS_MUSIC_BODY_CONCERT_HALL_M_SOUNDEFFECT"
+msgstr "Sala de conciertos"
+
+msgid "IDS_MUSIC_OPT_ADD_TO"
+msgstr "Añadir a"
+
+msgid "IDS_MUSIC_SK_VIEW"
+msgstr "Ver"
+
+msgid "IDS_MUSIC_OPT_LISTBY_RECENTLY_ADDED"
+msgstr "Añadidos recientemente"
+
+msgid "IDS_MUSIC_BODY_NOT_USED"
+msgstr "Sin utilizar"
+
+msgid "IDS_MUSIC_BODY_MAKE_AVAILABLE_OFFLINE"
+msgstr "Disponible sin conexión"
+
+msgid "IDS_MUSIC_OPT_AFTER_P1SD_HRS_P2SD_MINS"
+msgstr "Después de %1$d horas %2$d minutos."
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS"
+msgstr "Después de %d horas"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_MINS"
+msgstr "Después de %d minutos"
+
+msgid "IDS_MUSIC_BODY_NO_FOLDERS"
+msgstr "No hay carpetas"
+
+msgid "IDS_MUSIC_BODY_NO_TRACKS"
+msgstr "Ninguna canción"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS"
+msgstr "%d álbumes"
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS"
+msgstr "%d artistas"
+
+msgid "IDS_MUSIC_BODY_PD_GENRES"
+msgstr "%d géneros"
+
+msgid "IDS_MUSIC_BODY_PD_PLAYLISTS"
+msgstr "%d listas de reproducción"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_ABB"
+msgstr "%d canciones"
+
+msgid "IDS_MUSIC_BODY_PLAYLIST"
+msgstr "Lista de reproducción"
+
+msgid "IDS_MUSIC_HEADER_SIMILAR_ALBUMS"
+msgstr "Álbumes similares"
+
+msgid "IDS_MUSIC_HEADER_TRACK"
+msgstr "Canción"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL_VIEW"
+msgstr "Ver por miniatura"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "El efecto de sonido sólo funciona cuando el auricular está conectado."
+
+msgid "IDS_MUSIC_OPT_ALL_CONTENT_ABB2"
+msgstr "Todo el contenido"
+
+msgid "IDS_MUSIC_BODY_A_NETWORK_CONNECTION_IS_REQUIRED_TO_PLAY_THIS_FILE_CHECK_YOUR_NETWORK_CONNECTION_AND_TRY_AGAIN"
+msgstr "Se requiere una conexión de red para reproducir este archivo. Revise su conexión de red e inténtelo de nuevo."
+
+msgid "IDS_MUSIC_POP_FILE_TYPE_NOT_SUPPORTED"
+msgstr "Tipo de archivo no soportado."
+
+msgid "IDS_MUSIC_POP_UPDATING_ING"
+msgstr "Actualizando..."
+
+msgid "IDS_MUSIC_OPT_SEARCH_ABB"
+msgstr "Buscar"
+
+msgid "IDS_MUSIC_OPT_SEARCH_BY"
+msgstr "Buscar por"
+
+msgid "IDS_MUSIC_BODY_RELATED_VIDEOS"
+msgstr "Videos relacionados"
+
+msgid "IDS_MUSIC_BODY_SMART_VOLUME_ABB"
+msgstr "Volumen inteligente"
+
+msgid "IDS_MUSIC_BODY_THE_VOLUME_OF_ALL_TRACKS_WILL_BE_ADJUSTED_TO_LEVEL_PD"
+msgstr "El volumen de todas las canciones se ajustará automáticamente al nivel %d."
+
+msgid "IDS_MUSIC_HEADER_SMART_VOLUME_IS_ENABLED"
+msgstr "El volumen inteligente está activado"
+
+msgid "IDS_MUSIC_OPT_CONNECTION_INFO_ABB"
+msgstr "Inform. de conexión"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_PD_MINS"
+msgstr "Después de 1 hora %d minutos"
+
+msgid "IDS_MUSIC_BODY_ADAPT_SOUND_ABB"
+msgstr "Adapt Sound"
+
+msgid "IDS_MUSIC_BODY_MY_DEVICE"
+msgstr "Mi dispositivo"
+
+msgid "IDS_MUSIC_POP_LISTENING_AT_A_HIGH_VOLUME_FOR_A_LONG_TIME_MAY_DAMAGE_YOUR_HEARING_RAISE_THE_VOLUME_ABOVE_SAFE_LEVELS_Q"
+msgstr "Escuchar música a volumen alto por un tiempo prolongado puede dañar su audición. ¿Subir el volumen sobre los niveles seguros?"
+
+msgid "IDS_MUSIC_POP_ALREADY_EXISTS"
+msgstr "Ya existe."
+
+msgid "IDS_MUSIC_OPT_SCAN_FOR_NEARBY_DEVICES"
+msgstr "Buscar dispositivos"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR"
+msgstr "Después de 1 hora"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_1_MIN"
+msgstr "Después de 1 hora 1 minuto"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS_1_MIN"
+msgstr "Después de %d horas 1 minuto"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_MIN"
+msgstr "Después de 1 minuto"
+
+msgid "IDS_MUSIC_OPT_GO_TO_STORE"
+msgstr "Ir a la tienda"
+
+msgid "IDS_MUSIC_SK3_ADD_TRACKS"
+msgstr "Añadir\npistas"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FROM_MUSIC_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Después de descargar pistas de Música, éstas se mostrarán aquí."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_YOUR_FAVOURITES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Después de añadir canciones a sus favoritos, se mostrarán aquí."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_PLAY_TRACKS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Después de reproducir pistas, se mostrarán aquí."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_PS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Después de añadir canciones a %s, éstas se mostrarán aquí."
+
+msgid "IDS_MUSIC_BODY_NO_PURCHASED_CONTENT"
+msgstr "Ningún contenido comprado"
+
+msgid "IDS_MUSIC_SK_SAVE_AS"
+msgstr "Guardar como"
+
+msgid "IDS_MUSIC_POP_MUSICPLAYER_UPDATING_FAILED"
+msgstr "Error al actualizar."
+
+msgid "IDS_MUSIC_BODY_EXCITING_M_ADJECTIVE"
+msgstr "Emocionante"
+
+msgid "IDS_MUSIC_BODY_SEARCH_MY_MUSIC"
+msgstr "Buscar mi música"
+
+msgid "IDS_MUSIC_HEADER_CONNECTED_DEVICES"
+msgstr "Dispositivos conectados"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST_PS"
+msgstr "Mi lista de reproducción %s"
+
+msgid "IDS_MUSIC_BODY_NO_DEVICES"
+msgstr "No hay dispositivos"
+
+msgid "IDS_MUSIC_HEADER_AVAILABLE_DEVICES_ABB"
+msgstr "Dispositivos disponibles"
+
+msgid "IDS_MUSIC_POP_SET"
+msgstr "Definido"
+
+msgid "IDS_MUSIC_POP_REMOVE_FAILED"
+msgstr "Error al eliminar."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_USE_FAST_FORWARD_AND_REWIND_WHEN_NEARBY_DEVICES_ARE_ENABLED"
+msgstr "No es posible usar avanzar rápido y retroceder cuando dispositivos cercanos está activado."
+
+msgid "IDS_MUSIC_OPT_SET_AS"
+msgstr "Definir como"
+
+msgid "IDS_MUSIC_OPT_HEADPHONES_ABB"
+msgstr "Auricular"
+
+msgid "IDS_MUSIC_OPT_SPEAKER"
+msgstr "Altavoz"
+
+msgid "IDS_MUSIC_BODY_1_SONG"
+msgstr "1 canción"
+
+msgid "IDS_MUSIC_BODY_PD_SONGS"
+msgstr "%d canciones"
+
+msgid "IDS_MUSIC_BODY_1_TRACK"
+msgstr "1 canción"
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_1_TRACK"
+msgstr "Mezclar 1 pista"
+
+msgid "IDS_MUSIC_POP_NO_MUSIC_FOUND_FOR_SELECTED_CELL"
+msgstr "No se encontró música para la celda seleccionada"
+
+msgid "IDS_MUSIC_BODY_DO_NOT_SHOW_AGAIN"
+msgstr "No volver a mostrar"
+
+msgid "IDS_MUSIC_BODY_VARIOUS_ARTISTS"
+msgstr "Varios artistas"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_HOME_SCREEN_ABB"
+msgstr "Añadir a la pantalla de inicio"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_FAVOURITES"
+msgstr "Añadir a favoritos"
+
+msgid "IDS_MUSIC_OPT_EDIT_TITLE"
+msgstr "Editar título"
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_PERSONAL_STORAGE"
+msgstr "Eliminar del almacenamiento personal"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FOLDERS_WILL_BE_SHOWN"
+msgstr "Después de descargar las pistas, se mostrarán las carpetas"
+
+msgid "IDS_MUSIC_BODY_SETTINGS_VOLUME"
+msgstr "Volumen"
+
+msgid "IDS_MUSIC_BODY_REPEAT_OFF"
+msgstr "Repetición desactivada"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_REPEAT_ALL"
+msgstr "Repetir todo"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_OFF"
+msgstr "Aleatorio desactivado"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_ON"
+msgstr "Aleatorio activado"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST"
+msgstr "Mi lista de reproducción"
+
+msgid "IDS_MUSIC_MBODY_DEFAULT_PLAYLISTS"
+msgstr "Listas de reprod. predet."
+
+msgid "IDS_MUSIC_BODY_DETAILS_RECORDING_DATE"
+msgstr "Fecha de grabación"
+
+msgid "IDS_MUSIC_OPT_ALBUM_ART_ABB"
+msgstr "Arte álbum"
+
+msgid "IDS_MUSIC_BODY_1_GENRE"
+msgstr "1 género"
+
+msgid "IDS_MUSIC_BODY_PD_FOLDERS"
+msgstr "%d carpetas"
+
+msgid "IDS_MUSIC_BODY_1_FOLDER"
+msgstr "1 carpeta"
+
+msgid "IDS_MUSIC_BODY_1_ARTIST"
+msgstr "1 artista"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_M_MUSIC"
+msgstr "1 álbum"
+
+msgid "IDS_MUSIC_BODY_1_PLAYLIST"
+msgstr "1 lista de reproducción"
+
+msgid "IDS_MUSIC_BODY_MUSIC_PLAYER"
+msgstr "Música"
+
+msgid "IDS_MUSIC_BUTTON_MOVE"
+msgstr "Mover"
+
+msgid "IDS_MUSIC_BUTTON_AUTO_RECOMMENDATIONS"
+msgstr "Recomendación automática"
+
+msgid "IDS_MUSIC_BUTTON_FROM_THE_BEGINNING"
+msgstr "Desde el principio"
+
+msgid "IDS_MUSIC_HEADER_SUGGESTIONS_FOR_YOU"
+msgstr "Sugerencias para usted"
+
+msgid "IDS_MUSIC_OPT_SAVE"
+msgstr "Guardar"
+
+msgid "IDS_MUSIC_TAB4_BASIC_M_EQUALIZING"
+msgstr "Básico"
+
+msgid "IDS_MUSIC_BODY_INSTRUMENT"
+msgstr "Instrumento"
+
+msgid "IDS_MUSIC_BODY_TREBLE_M_EQUALISER"
+msgstr "Agudos"
+
+msgid "IDS_MUSIC_BODY_BASS_M_EQUALISER"
+msgstr "Bajos"
+
+msgid "IDS_MUSIC_BODY_NO_EFFECTS_ARE_APPLIED_IN_THIS_MODE_ABB"
+msgstr "No se aplican efectos en este modo."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_TIMBRE_OF_A_TUBE_AMP_ABB"
+msgstr "Simula el timbre de un amplificador de tubo."
+
+msgid "IDS_MUSIC_OPT_TUBE_AMP_EFFECT"
+msgstr "Efecto de amplificador de tubo"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_EFFECT_OF_VIRTUAL_71_CHANNEL_SURROUND_SOUND_ABB"
+msgstr "Simula el efecto de sonido envol. de 7.1 canales virtuales."
+
+msgid "IDS_MUSIC_HEADER_SMALL_ROOM_M_REVERB_ABB"
+msgstr "Sala pequeña"
+
+msgid "IDS_MUSIC_HEADER_LARGE_ROOM_M_REVERB_ABB"
+msgstr "Sala grande"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_LARGE_ROOM_EG_A_THEATRE_ABB"
+msgstr "Simula la rever. de una sala grande, ej. un teatro."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_CONCERT_HALL_ABB"
+msgstr "Simula la reverberación de una sala de conciertos."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_SMALL_SPACE_EG_A_STUDIO_ABB"
+msgstr "Simula la rever. de un espacio pequeño, ej. un estudio."
+
+msgid "IDS_MUSIC_BUTTON_3D_CHN"
+msgstr "3D"
+
+msgid "IDS_MUSIC_BODY_CLARITY_M_SOUNDEFFECT"
+msgstr "Claridad"
+
+msgid "IDS_MUSIC_BUTTON_RESET"
+msgstr "Restabl."
+
+msgid "IDS_MUSIC_TAB_YEARS"
+msgstr "Años"
+
+msgid "IDS_MUSIC_TAB_GENRES"
+msgstr "Géneros"
+
+msgid "IDS_MUSIC_TAB_COMPOSERS"
+msgstr "Compositores"
+
+msgid "IDS_MUSIC_TAB_ALL_TRACKS"
+msgstr "Todas las pistas"
+
+msgid "IDS_MUSIC_SK3_GO_TO_QUICK_LIST"
+msgstr "Ir a list rápida"
+
+msgid "IDS_MUSIC_SK3_FIND"
+msgstr "Buscar"
+
+msgid "IDS_MUSIC_SK3_ADD_TO_QUICK_LIST"
+msgstr "Añadir a list. rápida"
+
+msgid "IDS_MUSIC_POP_UNAUTHORISED_VIDEO_FILE_FOR_TV_OUT"
+msgstr "Archivo de video no autorizado para salida de TV."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_CREATE_MAXIMUM_NUMBER_OF_PLAYLISTS_REACHED"
+msgstr "No se puede crear. Se alcanzó el número máximo de listas de reproducción."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTING_BLUETOOTH_HEADSET"
+msgstr "No se puede ajustar el volumen mientras se conecta el auricular Bluetooth."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTED_TO_BLUETOOTH_HEADSET"
+msgstr "No se puede ajustar el volumen mientras esté conectado al auricular Bluetooth."
+
+msgid "IDS_MUSIC_POP_STOP_MUSIC_PLAYER_Q"
+msgstr "¿Detener el Reproductor de Música?"
+
+msgid "IDS_MUSIC_POP_PLEASE_EXIT_SILENT_MODE"
+msgstr "Por favor,salga del Perfil Silencioso."
+
+msgid "IDS_MUSIC_POP_NETWORK_FAILURE"
+msgstr "Error de red."
+
+msgid "IDS_MUSIC_POP_MEMORY_CARD_LOADED"
+msgstr "Tarjeta de memoria cargada."
+
+msgid "IDS_MUSIC_POP_DEVICE_SETTINGS_ERROR"
+msgstr "Error de configuración del dispositivo."
+
+msgid "IDS_MUSIC_POP_COULD_NOT_FIND_A_MATCH_FOR_THE_SONG"
+msgstr "No se ha encontrado ninguna coincidencia para la canción."
+
+msgid "IDS_MUSIC_POP_BUFFERING_MSTATUS"
+msgstr "Almacenando"
+
+msgid "IDS_MUSIC_POP_BT_HEADSET_ONLY_SUPPORTS_NORMAL_EFFECTS_SETTING"
+msgstr "El auricular Bluetooth sólo admite efectos normales."
+
+msgid "IDS_MUSIC_POP_APPLICATION_WILL_BE_CLOSED"
+msgstr "La aplicación se cerrará."
+
+msgid "IDS_MUSIC_POP_ADDED_GO_TO_WISH_LIST_Q"
+msgstr "Añadido. ¿Ir a la lista de deseos?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_THE_SERVICE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "El acceso al servicio puede generar un coste adicional. ¿Continuar?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_STORE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "El acceso a la tienda puede generar un coste adicional. ¿Continuar?"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_ONLY_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES"
+msgstr "El efecto de sonido del canal 5.1 sólo funciona en el modo de auricular y auricular Bluetooth."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "El efecto de sonido del canal 5.1 sólo funciona en modo auricular."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECTS_NOT_SUPPORTED_BY_SPEAKER"
+msgstr "Efectos de sonido del canal 5.1 no admitidos por el altavoz."
+
+msgid "IDS_MUSIC_OPT_VIEW_BY_COVER_ART"
+msgstr "Ver por portada"
+
+msgid "IDS_MUSIC_OPT_SEND_TRACK"
+msgstr "Enviar pista"
+
+msgid "IDS_MUSIC_OPT_RATE_TRACK"
+msgstr "Evaluar pista"
+
+msgid "IDS_MUSIC_OPT_PLAYLIST_MOVE_TRACK_IN_PLAYLIST"
+msgstr "Mover pista en lista de reproducción"
+
+msgid "IDS_MUSIC_OPT_OPENPLAYLIST_CURRENT"
+msgstr "Actual"
+
+msgid "IDS_MUSIC_OPT_DELETE_PLAYLIST"
+msgstr "Eliminar lista de reproducción"
+
+msgid "IDS_MUSIC_OPT_BACKGROUND_PLAYING"
+msgstr "Reproducción en 2° plano"
+
+msgid "IDS_MUSIC_HEADER_EFFECTS"
+msgstr "Efectos"
+
+msgid "IDS_MUSIC_BUTTON_BUY_NOW"
+msgstr "Comprar"
+
+msgid "IDS_MUSIC_BODY_WOW_HD"
+msgstr "Wow HD"
+
+msgid "IDS_MUSIC_BODY_WISHLIST"
+msgstr "Lista de deseos"
+
+msgid "IDS_MUSIC_BODY_WIDE"
+msgstr "Amplio"
+
+msgid "IDS_MUSIC_BODY_WHA_WHA"
+msgstr "Wha-wha"
+
+msgid "IDS_MUSIC_BODY_VIBE_WOOFER"
+msgstr "Altavoz con vibración"
+
+msgid "IDS_MUSIC_BODY_TREMOLO"
+msgstr "Trémolo"
+
+msgid "IDS_MUSIC_BODY_TAP_TWICE_TO_PLAY_PAUSE_MUSIC"
+msgstr "Pulse 2 veces para reproducir o pausar la música."
+
+msgid "IDS_MUSIC_BODY_SHARE_TRACK_VIA_BLUETOOTH"
+msgstr "Compartir pistas mediante Bluetooth"
+
+msgid "IDS_MUSIC_BODY_SETUPWIZARD_WELCOME_TO_THE_MUSIC_SETUP_WIZARD_CONTINUE_Q"
+msgstr "Bienvenido al asistente de configuración de música. Las siguientes pantallas le ayudarán a configurar su teléfono. ¿Continuar?"
+
+msgid "IDS_MUSIC_BODY_QUICK_LIST"
+msgstr "Lista rápida"
+
+msgid "IDS_MUSIC_BODY_PLAYINGSETTINGS_SOUND_EFFECTS"
+msgstr "Efectos de sonido"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_ALL"
+msgstr "Todo"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_1"
+msgstr "Uno"
+
+msgid "IDS_MUSIC_BODY_PLAYERSETTINGS_VOLUME"
+msgstr "Volumen"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_SELECTED"
+msgstr "Se han seleccionado %d canciones."
+
+msgid "IDS_MUSIC_BODY_NO_PODCASTS"
+msgstr "Vacío"
+
+msgid "IDS_MUSIC_BODY_FIND_SIMILAR"
+msgstr "Buscar similar"
+
+msgid "IDS_MUSIC_BODY_BACKGROUND_PLAY"
+msgstr "Reproducción en segundo plano"
+
+msgid "IDS_MUSIC_BODY_51_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "El canal 5.1 sólo puede activarse con efectos de sonido desactivados."
+
+msgid "IDS_MUSIC_TAB4_PODCASTS"
+msgstr "Podcasts"
+
+msgid "IDS_MUSIC_SK2_EDIT_IMAGE"
+msgstr "Editar imagen"
+
+msgid "IDS_MUSIC_POP_PLAYING_ANY_SOUNDS_WILL_STOP_AND_SAVE_YOUR_VOICE_RECORDING_PLAY_Q"
+msgstr "Al reproducir cualquier sonido se detendrá y se guardará su grabación de voz. ¿Reproducir?"
+
+msgid "IDS_MUSIC_POP_MAXIMUM_NUMBER_OF_ITEMS_HPD_SELECTED"
+msgstr "Número máximo de elementos (%d) seleccionados."
+
+msgid "IDS_MUSIC_POP_BLUETOOTH_DISCONNECTED"
+msgstr "Bluetooth desconectado."
+
+msgid "IDS_MUSIC_POP_5_1_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "El canal 5.1 sólo puede activarse con efectos de sonido desactivados."
+
+msgid "IDS_MUSIC_OPT_TAKE_PICTURE"
+msgstr "Capturar imagen"
+
+msgid "IDS_MUSIC_OPT_SHOW_MUSIC_VIEW_ABB"
+msgstr "Mostrar vista de música"
+
+msgid "IDS_MUSIC_OPT_PAUSE"
+msgstr "Pausar"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALBUM"
+msgstr "Reproducir álbum"
+
+msgid "IDS_MUSIC_OPT_LIST_BY"
+msgstr "Ordenar por"
+
+msgid "IDS_MUSIC_OPT_HISTORY"
+msgstr "Historial"
+
+msgid "IDS_MUSIC_OPT_HIDE_MUSIC_VIEW_ABB"
+msgstr "Ocultar vista de música"
+
+msgid "IDS_MUSIC_OPT_FIND_TAG"
+msgstr "Buscar etiq."
+
+msgid "IDS_MUSIC_OPT_DROPBOX_CONTENT_ABB"
+msgstr "Cont. de Dropbox"
+
+msgid "IDS_MUSIC_OPT_CONTENT_ON_PHONE_ABB"
+msgstr "Cont. del dispo."
+
+msgid "IDS_MUSIC_OPT_CHANGE_IMAGE"
+msgstr "Cambiar imagen"
+
+msgid "IDS_MUSIC_HEADER_DELETE_DROPBOX_DATA_ABB"
+msgstr "Elim. datos de Dropbox"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_STREAM_YOUR_MUSIC_TO_DEVICES_USING_ALLSHARE"
+msgstr "Puede transmitir su música a dispositivos mediante AllShare."
+
+msgid "IDS_MUSIC_BODY_VALIDITY"
+msgstr "Validez"
+
+msgid "IDS_MUSIC_BODY_TYPE_CNOUN"
+msgstr "Tipo"
+
+msgid "IDS_MUSIC_BODY_THIS_WILL_DELETE_THE_FILE_FROM_THE_SERVER_AND_ANY_CONNECTED_DEVICES_AS_WELL"
+msgstr "Esto eliminará el archivo del servidor y de todos los dispositivos conectados."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_ARTISTS"
+msgstr "Artistas"
+
+msgid "IDS_MUSIC_BODY_PLAYINGDETAILS_ALBUM_ART"
+msgstr "Portada del álbum"
+
+msgid "IDS_MUSIC_BODY_OTHER_CONTENTS"
+msgstr "Otros contenidos"
+
+msgid "IDS_MUSIC_BODY_NAME_TOO_LONG"
+msgstr "Nombre demasiado largo."
+
+msgid "IDS_MUSIC_BODY_MUSIC_CLARITY"
+msgstr "Claridad de música"
+
+msgid "IDS_MUSIC_BODY_HIGH_VOLUMES_MAY_HARM_YOUR_HEARING_IF_YOU_LISTEN_FOR_A_LONG_TIME"
+msgstr "Escuchar música a volumen alto por un tiempo prolongado puede dañar su audición"
+
+msgid "IDS_MUSIC_BODY_AVAILABLE_USES"
+msgstr "Usos disponibles"
+
+msgid "IDS_MUSIC_TPOP_SOUND_EFFECTS_ONLY_AVAILABLE_WHILE_HEADPHONES_CONNECTED"
+msgstr "Los efectos de sonido sólo están disponibles cuando el auricular está conectado."
+
+msgid "IDS_ST_OPT_ADD_TO_YOUR_PERSONAL_STORAGE"
+msgstr "Añadir a su almacenamiento personal"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_YOUR_PERSONAL_STORAGE"
+msgstr "Eliminar de su almacenamiento personal"
+
+msgid "IDS_ST_BODY_CONTEXTUAL_POP_UP_T_TALKBACK"
+msgstr "Ventana emergente contextual"
+
+msgid "IDS_ST_BODY_A_CONTEXTUAL_POP_UP_IS_OPEN_DOUBLE_TAP_TO_CLOSE_IT_T_TALKBACK"
+msgstr "Hay una ventana emergente contextual abierta. Pulse dos veces para cerrarla."
+
+msgid "IDS_ST_BODY_REPEAT_ONE"
+msgstr "Repetir una vez"
+
+msgid "IDS_ST_BUTTON_MOVING_ING"
+msgstr "Moviendo..."
+
+msgid "IDS_HS_BODY_SELECT_UP_TO_PD_ITEMS"
+msgstr "Seleccionar hasta %d elementos"
+
+msgid "IDS_CAM_BODY_TAB_T_TTS"
+msgstr "Ficha"
+
+msgid "IDS_DLNA_OPT2_CHANGE_PLAYER"
+msgstr "Cambiar reproductor"
+
+msgid "IDS_BR_SK_TABS"
+msgstr "Fichas"
+
+msgid "IDS_MF_BODY_DROPBOX_ABB"
+msgstr "Dropbox"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Recomendación automática es una función que extrae y destaca una parte de la canción."
+
+msgid "IDS_MF_BODY_PARENT_RATING"
+msgstr "Evaluar pista"
+
+msgid "IDS_VR_POP_FILE_NOT_FOUND"
+msgstr "Archivo no encontrado."
+
+msgid "IDS_PB_POP_CALLER_RINGTONE_SAVED"
+msgstr "Tono del contacto guardado"
+
+msgid "IDS_MUSIC_BODY_BIT_DEPTH"
+msgstr "Profundidad de bit"
+
+msgid "IDS_MUSIC_BODY_SIZE"
+msgstr "Tamaño"
+
+msgid "IDS_MF_HEADER_PD_SELECTED"
+msgstr "%d seleccionado(s)"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_THIS_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Cuando añada pistas al dispositivo, se mostrarán aquí."
+
+msgid "IDS_MUSIC_TMBODY_LENGTH"
+msgstr "Duración"
+
+msgid "IDS_MUSIC_POP_1_FOLDER_WILL_BE_DELETED"
+msgstr "Se eliminará 1 carpeta."
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "No hay contenido"
+
+msgid "IDS_MUSIC_ITAB4_FOLDERS"
+msgstr "Carpetas"
+
+msgid "IDS_MUSIC_HEADER_MY_PLAYLISTS_ABB"
+msgstr "Mis listas de reprod."
+
+msgid "IDS_MP_BODY_SOUND_PLAYER"
+msgstr "Música"
+
+msgid "IDS_MUSIC_OPT_SETTINGS"
+msgstr "Configuración"
+
+msgid "IDS_MUSIC_POP_DELETING"
+msgstr "Eliminando..."
+
+msgid "IDS_MUSIC_POP_1_TRACK_WILL_BE_DELETED"
+msgstr "Se eliminará 1 canción."
+
+msgid "IDS_MUSIC_POP_ALL_TRACKS_WILL_BE_DELETED"
+msgstr "Se eliminarán todas las pistas"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_WILL_BE_DELETED"
+msgstr "Se eliminarán %d canciones."
+
+msgid "IDS_MUSIC_POP_1_PLAYLIST_WILL_BE_DELETED"
+msgstr "Se eliminará 1 lista de reproducción."
+
+msgid "IDS_MUSIC_POP_PD_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Se eliminarán %d listas de reproducción."
+
+msgid "IDS_MUSIC_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "Se eliminarán %d álbumes."
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS_WILL_BE_DELETED"
+msgstr "Se eliminarán %d artistas."
+
+msgid "IDS_MUSIC_POP_PD_FOLDERS_WILL_BE_DELETED"
+msgstr "Se eliminarán %d carpetas."
+
+msgid "IDS_ST_POP_CONNECTION_FAILED"
+msgstr "Error de conexión."
+
+msgid "IDS_MUSIC_BODY_CLASSIC"
+msgstr "Clásica"
+
+msgid "IDS_MUSIC_BODY_ROCK"
+msgstr "Rock"
+
+msgid "IDS_MUSIC_BODY_JAZZ"
+msgstr "Jazz"
+
+msgid "IDS_MUSIC_BODY_POP"
+msgstr "Pop"
+
+msgid "IDS_MUSIC_BODY_AUTO"
+msgstr "Automático"
+
+msgid "IDS_MUSIC_POP_CURRENT_SOUND_EFFECT_NOT_SUPPORTED_BY_HDMI"
+msgstr "Efectos de sonido no admitidos por HDMI."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_BLUETOOTH"
+msgstr "Efectos de sonido no admitidos por el Bluetooth."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_LINE_OUT"
+msgstr "Los efectos de sonido no están admitidos en la línea saliente."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_HDMI"
+msgstr "Efectos de sonido no admitidos por el HDMI."
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EFFECT"
+msgstr "Amplificador de tubo"
+
+msgid "IDS_MUSIC_BODY_CUSTOM"
+msgstr "Personalizar"
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EQUALISER_ABB"
+msgstr "Amplif. de tubo"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d canciones añadidas a la lista de reproducción."
+
+msgid "IDS_MUSIC_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "Se añadió 1 canción a la lista de reproducción."
+
+msgid "IDS_MUSIC_HEADER_ADD_TRACKS_TO_PLAYLIST_ABB"
+msgstr "Añad. canciones a lis. reprod."
+
+msgid "IDS_MUSIC_POP_PS_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "%s ya en uso. Use otro nombre."
+
+msgid "IDS_MUSIC_TMBODY_DATE_OF_RECORDING"
+msgstr "Fecha de la grabación"
+
+msgid "IDS_MBP_TPOP_TRACK_SET_AS_ALARM_TONE"
+msgstr "La pista se definió como tono de alarma."
+
+msgid "IDS_MUSIC_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Sin resultados encontrados"
+
+msgid "IDS_MUSIC_OPT_DEFAULT_RINGTONE_ABB"
+msgstr "Tono predeterminado"
+
+msgid "IDS_MUSIC_TPOP_TRACK_SET_AS_CALLER_RINGTONE"
+msgstr "Canción definida como tono del contacto."
+
+msgid "IDS_MP_TPOP_TRACK_SET_AS_RINGTONE"
+msgstr "La pista se definió como tono de timbre."
+
+msgid "IDS_DLNA_BODY_ADD_TO_NOW_PLAYING_LIST"
+msgstr "Añadir a lista en reproducción"
+
+msgid "IDS_MUSIC_TPOP_EQUALISER_SETTINGS_WILL_BE_APPLIED_WHILE_PLAYING_MUSIC"
+msgstr "La configuración del ecualizador se aplicará al reproducir música."
+
+msgid "IDS_ST_BODY_ALERT"
+msgstr "Alerta"
+
+msgid "IDS_IV_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "Se eliminará 1 álbum."
+
+msgid "IDS_MUSIC_OPT_SD_CARD"
+msgstr "Tarjeta de memoria"
+
+msgid "IDS_MUSIC_SBODY_DEVICE_STORAGE"
+msgstr "Almacenamiento en dispositivo"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE"
+msgstr "El nombre de la lista de reproducción ya está en uso."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_PD"
+msgstr "Lista de reproducción %d"
+
+msgid "IDS_MUSIC_HEADER_CREATE"
+msgstr "Crear"
+
+msgid "IDS_MUSIC_HEADER_EQUALISER_PRESET_ABB"
+msgstr "Valores predet. de ecualizador"
+
+msgid "IDS_MUSIC_OPT_AUTOMATIC_M_EQUALIZER_EFFECT"
+msgstr "Automático"
+
+msgid "IDS_MUSIC_OPT_CLASSICAL_M_EQUALIZER_EFFECT"
+msgstr "Clásica"
+
+msgid "IDS_MUSIC_HEADER_ENVIRONMENT_EFFECT_ABB"
+msgstr "Efecto ambiente"
+
+msgid "IDS_VIDEO_POP_THE_FILE_TYPE_IS_NOT_SUPPORTED"
+msgstr "El tipo de archivo no es compatible."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_CREATE_PLAYLISTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Después de crear listas de reproducción, éstas se mostrarán aquí."
+
+msgid "IDS_ST_HEADER_SELECT_AUDIO_DEVICE_ABB"
+msgstr "Seleccionar disp. de audio"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "El nombre de la lista de reproducción ya está en uso. Introduzca otro nombre."
+
+msgid "IDS_MUSIC_HEADER_SOUNDALIVE_ABB3"
+msgstr "SoundAlive"
+
+msgid "IDS_MUSIC_OPT_NOW_PLAYING_LIST"
+msgstr "Lista en reproducción"
+
+msgid "IDS_MUSIC_OPT_SHOW_LYRICS"
+msgstr "Mostrar letra"
+
+msgid "IDS_MUSIC_OPT_HIDE_LYRICS"
+msgstr "Ocultar letra"
+
+msgid "IDS_MUSIC_TPOP_UNABLE_TO_PLAY_MUSIC_DURING_CALLS"
+msgstr "No se puede reproducir música durante las llamadas."
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Eliminar"
+
+msgid "IDS_MUSIC_HEADER_SELECT"
+msgstr "Seleccionar"
+
+msgid "IDS_TPLATFORM_OPT_NFC"
+msgstr "NFC"
+
+msgid "IDS_MUSIC_HEADER_UNABLE_TO_PLAY_TRACK"
+msgstr "No es posible reproducir la canción"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "REALIZADO"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "CANCELAR"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "ELIMINAR"
+
+msgid "IDS_MUSIC_POP_RENAME"
+msgstr "Renombrar"
+
+msgid "IDS_MUSIC_OPT_MESSAGE"
+msgstr "Mensaje"
+
+msgid "IDS_MUSIC_SK_OK"
+msgstr "Aceptar"
+
+msgid "IDS_MUSIC_SK_CANCEL"
+msgstr "Cancelar"
+
+msgid "IDS_MUSIC_BUTTON_REFRESH"
+msgstr "Actualizar"
+
+msgid "IDS_MUSIC_BODY_SELECT_ALL"
+msgstr "Todo"
+
+msgid "IDS_MUSIC_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_MUSIC_POP_DELETED"
+msgstr "Eliminado"
+
+msgid "IDS_MUSIC_OPT_STOP"
+msgstr "Detener"
+
+msgid "IDS_MUSIC_BODY_UNKNOWN"
+msgstr "Desconocido"
+
+msgid "IDS_MUSIC_BODY_TITLE"
+msgstr "Título"
+
+msgid "IDS_MUSIC_OPT_SENDVIA_EMAIL"
+msgstr "Correo"
+
+msgid "IDS_MUSIC_OPT_BLUETOOTH"
+msgstr "Bluetooth"
+
+msgid "IDS_MUSIC_HEADER_DOWNLOAD"
+msgstr "Descargar"
+
+msgid "IDS_MUSIC_POP_LOW_BATTERY"
+msgstr "Batería baja."
+
+msgid "IDS_MUSIC_HEADER_AUDIO_DEVICE"
+msgstr "Dispositivo de audio"
+
+msgid "IDS_MUSIC_HEADER_DETAILS"
+msgstr "Detalles"
+
+msgid "IDS_MUSIC_OPT_END"
+msgstr "Finalizar"
+
+msgid "IDS_MUSIC_OPT_EDIT"
+msgstr "Editar"
+
+msgid "IDS_CAM_HEADER_UPDATED"
+msgstr "Actualizado."
+
+msgid "IDS_MUSIC_POP_REMOVED"
+msgstr "Eliminado."
+
+msgid "IDS_MUSIC_OPT_SELECTED"
+msgstr "Seleccionado"
+
+msgid "IDS_ST_BUTTON_SCAN"
+msgstr "Buscar"
+
+msgid "IDS_MF_POP_ERROR"
+msgstr "Error."
+
+msgid "IDS_MF_POP_MEMORY_FULL"
+msgstr "Memoria llena."
+
+msgid "IDS_MUSIC_MBODY_QUEUE"
+msgstr "En espera"
+
+msgid "IDS_MUSIC_OPT_VOLUME"
+msgstr "Volumen"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE"
+msgstr "Aleatorio"
+
+msgid "IDS_MUSIC_OPT_REPEAT"
+msgstr "Repetir"
+
+msgid "IDS_COM_BODY_DETAILS"
+msgstr "Details"
+
+msgid "IDS_COM_BODY_DETAILS_TITLE"
+msgstr "Title"
+
+msgid "IDS_COM_BODY_EDIT"
+msgstr "Edit"
+
+msgid "IDS_COM_BODY_EMAIL"
+msgstr "Email"
+
+msgid "IDS_COM_BODY_END"
+msgstr "End"
+
+msgid "IDS_COM_BODY_FOLDERS"
+msgstr "Folders"
+
+msgid "IDS_COM_BODY_GALLERY"
+msgstr "Gallery"
+
+msgid "IDS_COM_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_COM_BODY_LOADING"
+msgstr "Loading..."
+
+msgid "IDS_COM_BODY_LOW_BATTERY"
+msgstr "Low battery."
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Message"
+
+msgid "IDS_COM_BODY_MUSIC"
+msgstr "Music"
+
+msgid "IDS_COM_BODY_NFC"
+msgstr "NFC"
+
+msgid "IDS_COM_BODY_NO_CONTENTS"
+msgstr "No content"
+
+msgid "IDS_COM_BODY_PAUSE"
+msgstr "Pause"
+
+msgid "IDS_COM_BODY_PD_SELECTED"
+msgstr "%d selected."
+
+msgid "IDS_COM_BODY_PREVIOUS"
+msgstr "Previous"
+
+msgid "IDS_COM_BODY_RESET_A"
+msgstr "Reset"
+
+msgid "IDS_COM_BODY_SELECTED"
+msgstr "Selected"
+
+msgid "IDS_COM_BODY_SELECT_ALL"
+msgstr "Select all"
+
+msgid "IDS_COM_BODY_SETTINGS"
+msgstr "Settings"
+
+msgid "IDS_COM_BODY_TIME"
+msgstr "Time"
+
+msgid "IDS_COM_BODY_UNABLE_TO_ADD"
+msgstr "Unable to add."
+
+msgid "IDS_COM_BODY_UNKNOWN"
+msgstr "Unknown"
+
+msgid "IDS_COM_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_COM_BUTTON_SCAN"
+msgstr "Scan"
+
+msgid "IDS_COM_BUTTON_SHARE"
+msgstr "Share"
+
+msgid "IDS_COM_HEADER_AUDIO_DEVICE_ABB"
+msgstr "Audio device"
+
+msgid "IDS_COM_OPT_ADDED"
+msgstr "Added."
+
+msgid "IDS_COM_OPT_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_POP_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_POP_CONNECTION_FAILED"
+msgstr "Connection failed."
+
+msgid "IDS_COM_POP_DELETED"
+msgstr "Deleted."
+
+msgid "IDS_COM_POP_DELETE_Q"
+msgstr "Delete?"
+
+msgid "IDS_COM_POP_DONE"
+msgstr "Done"
+
+msgid "IDS_COM_POP_DOWNLOADING"
+msgstr "Downloading..."
+
+msgid "IDS_COM_POP_ERROR"
+msgstr "Error."
+
+msgid "IDS_COM_POP_FAILED"
+msgstr "Failed."
+
+msgid "IDS_COM_POP_FILE_NOT_EXIST"
+msgstr "This file does not exist."
+
+msgid "IDS_COM_POP_FILE_NOT_FOUND"
+msgstr "File not found."
+
+msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximum number of characters reached."
+
+msgid "IDS_COM_POP_MEMORY_FULL"
+msgstr "Memory full."
+
+msgid "IDS_COM_POP_REMOVED"
+msgstr "Removed."
+
+msgid "IDS_COM_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Unable to use during Mass storage mode."
+
+msgid "IDS_COM_POP_UPDATED"
+msgstr "Updated."
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_SK_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_SK_DOWNLOAD"
+msgstr "Download"
+
+msgid "IDS_COM_SK_NEW"
+msgstr "New"
+
+msgid "IDS_COM_SK_NEXT"
+msgstr "Next"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_SK_REFRESH"
+msgstr "Refresh"
+
+msgid "IDS_COM_SK_REMOVE"
+msgstr "Remove"
+
+msgid "IDS_COM_SK_SAVE"
+msgstr "Save"
+
+msgid "IDS_COM_SK_SELECT"
+msgstr "Select"
+
+msgid "IDS_COM_SK_SET"
+msgstr "Set"
+
+msgid "IDS_COM_SK_STOP"
+msgstr "Stop"
+
+
+msgid "IDS_MH_BODY_THE_PLAYLIST_NAME_PS_IS_ALREADY_IN_USE"
+msgstr "The playlist name %s is already in use."
+
+msgid "IDS_MH_BODY_TOTAL"
+msgstr "Total"
+
+msgid "IDS_MH_MBODY_RECENTLY_ADDED_M_SONG"
+msgstr "Recently added"
+
+msgid "IDS_MH_OPT_MORE_INFO_ABB"
+msgstr "More info"
+
+msgid "IDS_MH_POP_ALARM_TONE_SET"
+msgstr "Alarm tone set."
+
+msgid "IDS_MH_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 track added to playlist."
+
+msgid "IDS_MH_TPOP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d tracks added to playlist."
+
+msgid "IDS_MUSIC_OPT_RENAME"
+msgstr "Rename"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Unable to play during call."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Tamaño máximo de archivos superado."
+
+msgid "IDS_CAM_TPOP_UNABLE_TO_PLAY_MUSIC_WHILE_RECORDING_AUDIO_OR_VIDEO"
+msgstr "No es posible reproducir música mientras se graba audio o video."
+
--- /dev/null
+msgid "IDS_ST_BODY_LOADING_ING"
+msgstr "Laadimine..."
+
+msgid "IDS_GALLERY_OPT_PRIVATE_M_CONTENT"
+msgstr "Privaatne"
+
+msgid "IDS_MF_BODY_TIME"
+msgstr "Kellaaeg"
+
+msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
+msgstr "Seda faili pole olemas."
+
+msgid "IDS_MUSIC_POP_PHONE_RINGTONE"
+msgstr "Telefoni helin"
+
+msgid "IDS_MUSIC_BODY_DURATION"
+msgstr "Kestvus"
+
+msgid "IDS_MUSIC_BODY_MUSIC_LOCATION"
+msgstr "Asukoht"
+
+msgid "IDS_MUSIC_BODY_SET_AS_M_RINGTONE"
+msgstr "Määra"
+
+msgid "IDS_ST_OPT_ADD_TO_PERSONAL_PAGE"
+msgstr "Lisa isiklikule lehele"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_PERSONAL_PAGE_ABB"
+msgstr "Eemalda isiklikult lehelt"
+
+msgid "IDS_ST_POP_MOVE_TO_NORMAL_STORAGE"
+msgstr "Teisalda tavamällu"
+
+msgid "IDS_ST_POP_MOVE_TO_PERSONAL_STORAGE"
+msgstr "Teisalda isiklikku mällu"
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEMS_WILL_BE_MOVED_TO_PS"
+msgstr "Valitud uksused teisaldatakse asukohta %s."
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEM_WILL_BE_MOVED_TO_PS"
+msgstr "Valitud uksus teisaldatakse asukohta %s."
+
+msgid "IDS_VR_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Massmälu režiimis ei saa kasutada."
+
+msgid "IDS_MUSIC_POP_RINGTONE_ADDED"
+msgstr "Helin on lisatud."
+
+msgid "IDS_CAM_BODY_BUTTON_T_TTS"
+msgstr "Nupp"
+
+msgid "IDS_MUSIC_HEADER_SELECT_ITEMS"
+msgstr "Vali üksused"
+
+msgid "IDS_ST_BODY_ADVANCED"
+msgstr "Täpsemalt"
+
+msgid "IDS_ST_SK_PREVIOUS"
+msgstr "Eelmine"
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Sulge"
+
+msgid "IDS_MUSIC_POP_ADDED"
+msgstr "Lisatud."
+
+msgid "IDS_MUSIC_POP_FAILED"
+msgstr "Nurjus."
+
+msgid "IDS_MUSIC_BODY_NO_SEARCH_RESULTS"
+msgstr "Otsingutulemeid pole"
+
+msgid "IDS_MUSIC_SK_DONE"
+msgstr "Valmis"
+
+msgid "IDS_MUSIC_BODY_NO_ITEMS"
+msgstr "Üksusi ei ole"
+
+msgid "IDS_BR_OPT_ADD_TO_HOME"
+msgstr "Lisa avaekraanile"
+
+msgid "IDS_BR_SK_NEXT"
+msgstr "Järgmine"
+
+msgid "IDS_BR_BODY_DOWNLOADING_ING"
+msgstr "Allalaadimine..."
+
+msgid "IDS_IV_BODY_FAVOURITE"
+msgstr "Lemmik"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_PERSONAL_STORAGE"
+msgstr "Lisa isiklikku mällu"
+
+msgid "IDS_DLNA_POP_DISCONNECTED_FROM_PS_CHECK_THE_NETWORK_STATUS_AND_THE_CONNECTED_DEVICE"
+msgstr "Ühendus seadmega %s on katkestatud. Kontrollige võrguolekut ja ühendatud seadet."
+
+msgid "IDS_DLNA_OPT_VIA_SCREEN_MIRRORING_ABB"
+msgstr "Rak. Screen Mirroring kaudu"
+
+msgid "IDS_DLNA_OPT_VIA_HOME_NETWORK_ABB"
+msgstr "Koduvõrgu kaudu"
+
+msgid "IDS_IV_POP_ENTRY_IS_EMPTY"
+msgstr "Kirje on tuhi."
+
+msgid "IDS_FM_POP_UNAVAILABLE_DURING_CALL"
+msgstr "Pole kõne ajal saadaval."
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Lubatud arv märke on täis."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_SHARE_DRM_FILE"
+msgstr "DRM-faili ei saa jagada."
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Eemaldamine..."
+
+msgid "IDS_MUSIC_HEADER_PD_DEVICES"
+msgstr "%d seadet"
+
+msgid "IDS_MUSIC_BUTTON_ENABLE_MOTION"
+msgstr "Luba liik."
+
+msgid "IDS_MUSIC_BUTTON_DONT_ASK_AGAIN"
+msgstr "Ära küsi enam"
+
+msgid "IDS_MUSIC_BODY_NO_RESULTS_FOUND"
+msgstr "Tulemusi ei leitud."
+
+msgid "IDS_VPL_OPT_HDMI"
+msgstr "HDMI"
+
+msgid "IDS_MUSIC_BODY_TURN_PHONE_OVER_TO_MUTE_INCOMING_CALLS_MESSAGE_ALERTS_AND_ALARMS"
+msgstr "Saabuvate konede, sonumi marguannete ja teiste marguannete vaigistamiseks keerake telefon umber."
+
+msgid "IDS_ST_BODY_NONE"
+msgstr "Puudub"
+
+msgid "IDS_ST_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_ST_BODY_GALLERY"
+msgstr "Galerii"
+
+msgid "IDS_ST_BODY_DOUBLE_TAP_TO_MOVE_TO_CONTENT_T_TTS"
+msgstr "Toksake kaks korda, et avada sisu."
+
+msgid "IDS_MUSIC_BODY_SURROUND"
+msgstr "Ruumiline"
+
+msgid "IDS_MUSIC_OPT_LYRICS_ABB"
+msgstr "Sõnad"
+
+msgid "IDS_MUSIC_POP_AFTER_YOU_ADD_TRACKS_TO_MUSIC_ON_YOUR_MOBILE_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Lood kuvatakse siin pärast nende lisamist mobiilsideseadmes kausta Muusika."
+
+msgid "IDS_MUSIC_BODY_SAMPLING_RATE"
+msgstr "Diskreetimissagedus"
+
+msgid "IDS_MUSIC_BODY_MARKED_AS_A_FAVOURITE"
+msgstr "Märgitud lemmikuna."
+
+msgid "IDS_MUSIC_BODY_MUSIC"
+msgstr "Muusika"
+
+msgid "IDS_MUSIC_BODY_NOT_MARKED_AS_A_FAVOURITE"
+msgstr "Pole märgitud lemmikuna."
+
+msgid "IDS_MUSIC_HEADER_SEARCH_MUSIC_ABB"
+msgstr "Otsi muusikat"
+
+msgid "IDS_MUSIC_POP_AUTO_RECOMMENDATION_DOES_NOT_SUPPORT_THIS_AUDIO_FILE"
+msgstr "Automaatne soovitamine ei toeta seda helifaili."
+
+msgid "IDS_MUSIC_POP_SORRY_THE_PLAYER_DOES_NOT_SUPPORT_THIS_TYPE_OF_AUDIO_FILE"
+msgstr "Kahjuks ei toeta mangija seda helifaili tuupi."
+
+msgid "IDS_MUSIC_BODY_FAVOURITES"
+msgstr "Lemmikud"
+
+msgid "IDS_MUSIC_BODY_MOST_PLAYED"
+msgstr "Enim esitatud"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_ADDED"
+msgstr "Hiljuti lisatud"
+
+msgid "IDS_MUSIC_OPT_CREATE_PLAYLIST"
+msgstr "Loo esitusloend"
+
+msgid "IDS_MUSIC_OPT_REMOVE"
+msgstr "Eemalda"
+
+msgid "IDS_MUSIC_OPT_SETAS_CALLER_RINGTONE"
+msgstr "Helistaja helin"
+
+msgid "IDS_MUSIC_TAB4_ARTISTS"
+msgstr "Esitajad"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD"
+msgstr "Ei saa lisada."
+
+msgid "IDS_MUSIC_POP_UNABLE_CREATE_PLAYLIST"
+msgstr "Esitusloendit ei ole võimalik luua."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_GET_TAG"
+msgstr "Silti ei saa hankida."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_MORE_THAN_PD_MUSIC_FILE"
+msgstr "Üle %d muusikafaili ei saa lisada."
+
+msgid "IDS_MUSIC_BODY_ALBUM"
+msgstr "Album"
+
+msgid "IDS_MUSIC_BODY_AUTHOR"
+msgstr "Autor"
+
+msgid "IDS_MUSIC_BODY_COPYRIGHT"
+msgstr "Autoriõigus"
+
+msgid "IDS_MUSIC_BODY_CREATE_PLAYLIST"
+msgstr "Loo esitusloend"
+
+msgid "IDS_MUSIC_BODY_DESCRIPTION"
+msgstr "Kirjeldus"
+
+msgid "IDS_MUSIC_BODY_FORMAT"
+msgstr "Vorming"
+
+msgid "IDS_MUSIC_BODY_IMPOSSIBLE"
+msgstr "Võimatu"
+
+msgid "IDS_MUSIC_BODY_NO_PLAYLISTS"
+msgstr "Sünkroonimine..."
+
+msgid "IDS_MUSIC_BODY_TRACK_NUMBER"
+msgstr "Muusikapala number"
+
+msgid "IDS_MUSIC_POP_DELETE_Q"
+msgstr "Kustutada?"
+
+msgid "IDS_MUSIC_POP_REMOVE_Q"
+msgstr "Eemaldada?"
+
+msgid "IDS_MUSIC_POP_UNABLE_RENAME_PLAYLIST"
+msgstr "Esitusloendit ei ole võimalik ümber nimetada."
+
+msgid "IDS_MUSIC_TAB4_ALBUMS"
+msgstr "Albumid"
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Lisamine..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Kas kustutada %d albumit?"
+
+msgid "IDS_MUSIC_TAB4_PLAYLISTS"
+msgstr "Esitusloendid"
+
+msgid "IDS_MUSIC_OPT_ADD"
+msgstr "Lisa"
+
+msgid "IDS_MUSIC_BODY_BIOGRAPHY"
+msgstr "Elulugu"
+
+msgid "IDS_MUSIC_BODY_CREDITS"
+msgstr "Tiitrid"
+
+msgid "IDS_MUSIC_BODY_DETAILS_MEADIA_INFO"
+msgstr "Meediumiteave"
+
+msgid "IDS_MUSIC_BODY_DISCOGRAPHY"
+msgstr "Diskograafia"
+
+msgid "IDS_MUSIC_BODY_LYRIC"
+msgstr "Laulusõnad"
+
+msgid "IDS_MUSIC_BODY_POSSIBLE"
+msgstr "Võimalik"
+
+msgid "IDS_MUSIC_BODY_REVIEW"
+msgstr "Eelvaade"
+
+msgid "IDS_MUSIC_HEADER_TRACK_LIST"
+msgstr "Lugude loend"
+
+msgid "IDS_MUSIC_BODY_ADD_TO_PLAYLIST"
+msgstr "Lisa esitusloendisse"
+
+msgid "IDS_MUSIC_BODY_ARTIST"
+msgstr "Esitaja"
+
+msgid "IDS_MUSIC_BODY_FORWARDING"
+msgstr "Edastamine"
+
+msgid "IDS_MUSIC_BODY_RECORDED_DATE"
+msgstr "Date of recording"
+
+msgid "IDS_MUSIC_BODY_PLAYLISTS"
+msgstr "Esitusloendid"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_PLAYED"
+msgstr "Hiljuti esitatud"
+
+msgid "IDS_MUSIC_BODY_TRACK_LENGTH"
+msgstr "Muusikapala pikkus"
+
+msgid "IDS_MUSIC_HEADER_NO_SONGS"
+msgstr "Laule pole"
+
+msgid "IDS_MUSIC_POP_THIS_TRACK_WILL_BE_DELETED"
+msgstr "See lugu kustutatakse."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_TRACKS_WILL_BE_DELETED"
+msgstr "Valitud lood kustutatakse."
+
+msgid "IDS_MUSIC_POP_THIS_ARTIST_WILL_BE_DELETED"
+msgstr "See esitaja kustutatakse."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ARTISTS_WILL_BE_DELETED"
+msgstr "Valitud esitajad kustutatakse."
+
+msgid "IDS_MUSIC_POP_ALL_ARTISTS_WILL_BE_DELETED"
+msgstr "Koik esitajad kustutatakse."
+
+msgid "IDS_MUSIC_POP_THIS_FOLDER_WILL_BE_DELETED"
+msgstr "See kaust kustutatakse."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_FOLDERS_WILL_BE_DELETED"
+msgstr "Valitud kaustad kustutatakse."
+
+msgid "IDS_MUSIC_POP_ALL_FOLDERS_WILL_BE_DELETED"
+msgstr "Koik kaustad kustutatakse."
+
+msgid "IDS_MUSIC_POP_THIS_ALBUM_WILL_BE_DELETED"
+msgstr "See album kustutatakse."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ALBUMS_WILL_BE_DELETED"
+msgstr "Valitud albumid kustutatakse."
+
+msgid "IDS_MUSIC_POP_ALL_ALBUMS_WILL_BE_DELETED"
+msgstr "Koik albumid kustutatakse."
+
+msgid "IDS_MUSIC_POP_THIS_PLAYLIST_WILL_BE_DELETED"
+msgstr "See esitusloend kustutatakse."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Valitud esitusloendid kustutatakse."
+
+msgid "IDS_MUSIC_POP_ALL_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Koik esitusloendid kustutatakse."
+
+msgid "IDS_MUSIC_HEADER_SONGS"
+msgstr "Laulud"
+
+msgid "IDS_MUSIC_OPT_REORDER"
+msgstr "Järjesta ümber"
+
+msgid "IDS_MUSIC_OPT_SAVE_AS_PLAYLIST"
+msgstr "Salvesta esitusloendina"
+
+msgid "IDS_MUSIC_OPT_SETAS_ALARM_TONE"
+msgstr "Alarmi toon"
+
+msgid "IDS_MUSIC_POP_NOTHING_SELECTED"
+msgstr "Valik tegemata."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Ei saa esitada. Ilmnes tõrge."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_UNSUPPORTED_FILETYPE"
+msgstr "Ei saa esitada. Toetuseta failituup."
+
+msgid "IDS_MUSIC_SK_SHARE"
+msgstr "Jaga"
+
+msgid "IDS_MUSIC_TAB4_CONDUCTORS"
+msgstr "Dirigen-did"
+
+msgid "IDS_MUSIC_HEADER_SELECT_DEVICE"
+msgstr "Vali seade"
+
+msgid "IDS_MUSIC_SK_VIEW_AS"
+msgstr "Kuva:"
+
+msgid "IDS_MUSIC_BODY_SOUNDEFFECTS_NORMAL"
+msgstr "Tavaline"
+
+msgid "IDS_MUSIC_BODY_USER"
+msgstr "Kasutaja"
+
+msgid "IDS_MUSIC_BODY_VOCAL_M_SOUNDEFFECT"
+msgstr "Vokaal"
+
+msgid "IDS_MUSIC_MBODY_BASS_BOOST"
+msgstr "Bassi võimendamine"
+
+msgid "IDS_MUSIC_MBODY_TREBLE_BOOST"
+msgstr "Kõrg. helide võimendamine"
+
+msgid "IDS_MUSIC_BODY_CAFE_M_SOUNDEFFECT"
+msgstr "Kohvik"
+
+msgid "IDS_MUSIC_OPT_VIRTUAL_71_CH"
+msgstr "Virtuaal. kanal 7.1"
+
+msgid "IDS_MUSIC_OPT_AFTER_15_MIN_ABB"
+msgstr "15 minuti järel"
+
+msgid "IDS_MUSIC_BODY_AFTER_30_MIN"
+msgstr "30 minuti pärast"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HOUR"
+msgstr "1 tunni pärast"
+
+msgid "IDS_MUSIC_POP_AFTER_1_HOUR_30_MIN"
+msgstr "1 tunni ja 30 minuti pärast"
+
+msgid "IDS_MUSIC_BODY_AFTER_2_HOURS"
+msgstr "2 tunni pärast"
+
+msgid "IDS_MUSIC_BODY_MUSIC_AUTO_OFF"
+msgstr "Muusika automaatselt välja"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES_ONLY"
+msgstr "See heliefekt töötab ainult kõrvaklappide ja Bluetooth-peakomplekti režiimides."
+
+msgid "IDS_MUSIC_TAB4_MUSIC_SQUARE"
+msgstr "Muusikaruut"
+
+msgid "IDS_MUSIC_POP_NOT_ENOUGH_MUSIC_FILES_TO_PLAY_IN_MUSIC_SQUARE_AT_LEAST_PD_MUSIC_FILES_REQUIRED"
+msgstr "Pole piisavalt muusikafaile, mida esitada Muusikaruudus. Nõutav on vähemalt %d muusikafaili."
+
+msgid "IDS_MUSIC_BODY_PASSION_M_MOOD"
+msgstr "Kirg"
+
+msgid "IDS_MUSIC_BODY_CALM_M_ADJECTIVE"
+msgstr "Rahulik"
+
+msgid "IDS_MUSIC_BODY_JOY_M_MOOD"
+msgstr "Rõõm"
+
+msgid "IDS_MUSIC_BODY_LIBRARY_UPDATE"
+msgstr "Teegi värskendamine"
+
+msgid "IDS_MUSIC_POP_UPDATE_LIBRARY_Q"
+msgstr "Kas värskendada teeki?"
+
+msgid "IDS_MUSIC_BODY_CHANGE_AXIS"
+msgstr "Vaheta telge"
+
+msgid "IDS_MUSIC_ITAB4_GENRES"
+msgstr "Žanrid"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_1_TRACK"
+msgstr "1 album / 1 lugu"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_PD_TRACKS"
+msgstr "1 album / %d lugu"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS_PD_TRACKS"
+msgstr "%d albumit / %d lugu"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_CONTROL_MUSIC_PLAYER_WITH_THE_VOICE_COMMANDS_P1SS_P2SS_P3SS_P4SS_P5SS_AND_P6SS"
+msgstr "Saate juhtida MP3-mangijat haalkasklustega %1$s, %2$s, %3$s, %4$s, %5$s ja %6$s."
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_PD_TRACKS"
+msgstr "Juhuesita %d lugu"
+
+msgid "IDS_MUSIC_BODY_MORE_INFO"
+msgstr "Lisateave"
+
+msgid "IDS_MUSIC_HEADER_MY_MUSIC_M_APPLICATION_NAME"
+msgstr "Minu muusika"
+
+msgid "IDS_MUSIC_OPT_LIST_VIEW"
+msgstr "Loendivaade"
+
+msgid "IDS_MUSIC_OPT_PLAY_VIA_GROUP_PLAY"
+msgstr "Esita Group Play kaudu"
+
+msgid "IDS_MUSIC_POP_TRACK_ADDED_TO_FAVOURITES"
+msgstr "Lugu on lisatud lemmikutesse."
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_FAVOURITES"
+msgstr "Eemalda lemmikutest"
+
+msgid "IDS_MUSIC_BODY_NEW_M_LATEST"
+msgstr "Uus"
+
+msgid "IDS_MUSIC_OPT_TRACKS"
+msgstr "Lood"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL"
+msgstr "Pisipilt"
+
+msgid "IDS_MUSIC_SK_LIST"
+msgstr "Loend"
+
+msgid "IDS_MUSIC_SK_OPEN_PLAYLIST"
+msgstr "Ava esitusloend"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALL"
+msgstr "Esita kõiki"
+
+msgid "IDS_MUSIC_POP_SELECTED_LIST_EMPTY"
+msgstr "Valitud loend on tühi."
+
+msgid "IDS_MUSIC_BODY_MOODS"
+msgstr "Meeleolud"
+
+msgid "IDS_MUSIC_BUTTON_YEARS"
+msgstr "Aastad"
+
+msgid "IDS_MUSIC_BODY_OLD"
+msgstr "Vana"
+
+msgid "IDS_MUSIC_BODY_MUSIC_SQUARE_ANALYSES_THE_CHARACTERISTICS_OF_MUSIC_FILES_STORED_ON_YOUR_DEVICE_AND_AUTOMATICALLY_CREATES_PLAYLISTS_MSG"
+msgstr "Muusikaruut analuusib seadmesse salvestatud muusikafailide naitajaid ja loob automaatselt esitusloendid."
+
+msgid "IDS_MUSIC_BODY_PLAY_TRACKS_WITH_SIMILAR_CHARACTERISTICS_BY_SELECTING_A_SQUARE_ON_THE_SCREEN"
+msgstr "Ekraanil oleva ruudu valimisel saate esitada sarnaste naitajatega muusikaloendit."
+
+msgid "IDS_MUSIC_BODY_VIEW_PLAYLIST_DETAILS_BY_TAPPING_AND_HOLDING_THE_SQUARE_CURRENTLY_BEING_PLAYED"
+msgstr "Esitusloendi uksikasjade kuvamiseks toksake ja hoidke sorme praegu esitataval ruudul."
+
+msgid "IDS_MUSIC_BODY_NEARBY_DEVICES"
+msgstr "Läh. asuvad sead."
+
+msgid "IDS_MUSIC_POP_YOU_WILL_NEED_TO_UPDATE_THE_LIBRARY_IF_NEW_SONGS_HAVE_BEEN_ADDED"
+msgstr "Kui lisate uusi laule, peate teeki varskendama."
+
+msgid "IDS_MUSIC_BODY_NO_ALBUMS"
+msgstr "Albumid puuduvad"
+
+msgid "IDS_MUSIC_BODY_NO_ARTISTS"
+msgstr "Esitajaid ei ole"
+
+msgid "IDS_MUSIC_OPT_PLAY_SPEED_ABB"
+msgstr "Esituskiirus"
+
+msgid "IDS_MUSIC_BODY_CONCERT_HALL_M_SOUNDEFFECT"
+msgstr "Kontserdisaal"
+
+msgid "IDS_MUSIC_OPT_ADD_TO"
+msgstr "Lisa"
+
+msgid "IDS_MUSIC_SK_VIEW"
+msgstr "Kuva"
+
+msgid "IDS_MUSIC_OPT_LISTBY_RECENTLY_ADDED"
+msgstr "Hiljuti lisatud"
+
+msgid "IDS_MUSIC_BODY_NOT_USED"
+msgstr "Pole kasutusel"
+
+msgid "IDS_MUSIC_BODY_MAKE_AVAILABLE_OFFLINE"
+msgstr "Tee saadaolevaks üh.-ta olekus"
+
+msgid "IDS_MUSIC_OPT_AFTER_P1SD_HRS_P2SD_MINS"
+msgstr "%1$d h %2$d min pärast"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS"
+msgstr "%d tunni pärast"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_MINS"
+msgstr "%d minuti pärast"
+
+msgid "IDS_MUSIC_BODY_NO_FOLDERS"
+msgstr "Kaustasid pole"
+
+msgid "IDS_MUSIC_BODY_NO_TRACKS"
+msgstr "Lugusid pole"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS"
+msgstr "%d albumit"
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS"
+msgstr "%d esitajat"
+
+msgid "IDS_MUSIC_BODY_PD_GENRES"
+msgstr "%d žanrit"
+
+msgid "IDS_MUSIC_BODY_PD_PLAYLISTS"
+msgstr "%d esitusloendit"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_ABB"
+msgstr "%d pala"
+
+msgid "IDS_MUSIC_BODY_PLAYLIST"
+msgstr "Esitusloend"
+
+msgid "IDS_MUSIC_HEADER_SIMILAR_ALBUMS"
+msgstr "Sarnased albumid"
+
+msgid "IDS_MUSIC_HEADER_TRACK"
+msgstr "Pala"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL_VIEW"
+msgstr "Pisipildivaade"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "See heliefekt töötab ainult kõrvaklappide režiimis."
+
+msgid "IDS_MUSIC_OPT_ALL_CONTENT_ABB2"
+msgstr "Kogu sisu"
+
+msgid "IDS_MUSIC_BODY_A_NETWORK_CONNECTION_IS_REQUIRED_TO_PLAY_THIS_FILE_CHECK_YOUR_NETWORK_CONNECTION_AND_TRY_AGAIN"
+msgstr "Selle faili esitamiseks nõutakse võrguühendust. Kontrollige oma võrguühendust ja proovige uuesti."
+
+msgid "IDS_MUSIC_POP_FILE_TYPE_NOT_SUPPORTED"
+msgstr "Failitüüpi ei toetata."
+
+msgid "IDS_MUSIC_POP_UPDATING_ING"
+msgstr "Värskendamine..."
+
+msgid "IDS_MUSIC_OPT_SEARCH_ABB"
+msgstr "Otsi"
+
+msgid "IDS_MUSIC_OPT_SEARCH_BY"
+msgstr "Otsimisalus"
+
+msgid "IDS_MUSIC_BODY_RELATED_VIDEOS"
+msgstr "Seotud videod"
+
+msgid "IDS_MUSIC_BODY_SMART_VOLUME_ABB"
+msgstr "Nutikas helitugevus"
+
+msgid "IDS_MUSIC_BODY_THE_VOLUME_OF_ALL_TRACKS_WILL_BE_ADJUSTED_TO_LEVEL_PD"
+msgstr "Koigi palade helitugevus kohandatakse tasemele %d."
+
+msgid "IDS_MUSIC_HEADER_SMART_VOLUME_IS_ENABLED"
+msgstr "Nutikas helitugevus on aktiveeritud"
+
+msgid "IDS_MUSIC_OPT_CONNECTION_INFO_ABB"
+msgstr "Ühenduse teave"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_PD_MINS"
+msgstr "1 tunni ja %d minuti pärast"
+
+msgid "IDS_MUSIC_BODY_ADAPT_SOUND_ABB"
+msgstr "Adapt Sound"
+
+msgid "IDS_MUSIC_BODY_MY_DEVICE"
+msgstr "Minu seade"
+
+msgid "IDS_MUSIC_POP_LISTENING_AT_A_HIGH_VOLUME_FOR_A_LONG_TIME_MAY_DAMAGE_YOUR_HEARING_RAISE_THE_VOLUME_ABOVE_SAFE_LEVELS_Q"
+msgstr "Kõrgel helitugevusel kuulamine pika aja jooksul võib kahjustada teie kuulmist. Kas suurendada helitugevust üle ohutu taseme?"
+
+msgid "IDS_MUSIC_POP_ALREADY_EXISTS"
+msgstr "Juba olemas."
+
+msgid "IDS_MUSIC_OPT_SCAN_FOR_NEARBY_DEVICES"
+msgstr "Otsi lähedalolevaid seadmeid"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR"
+msgstr "1 tunni pärast"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_1_MIN"
+msgstr "1 tunni ja 1 minuti pärast"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS_1_MIN"
+msgstr "%d tunni ja 1 minuti pärast"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_MIN"
+msgstr "1 minuti pärast"
+
+msgid "IDS_MUSIC_OPT_GO_TO_STORE"
+msgstr "Mine poodi"
+
+msgid "IDS_MUSIC_SK3_ADD_TRACKS"
+msgstr "Lisa palasid"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FROM_MUSIC_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Lood kuvatakse siin parast nende allalaadimist uksusest Muusika."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_YOUR_FAVOURITES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Lood kuvatakse siin parast nende lisamist lemmikutesse."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_PLAY_TRACKS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Lood kuvatakse siin parast nende esitamist."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_PS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Lood kuvatakse siin parast nende lisamist esitusloendisse %s."
+
+msgid "IDS_MUSIC_BODY_NO_PURCHASED_CONTENT"
+msgstr "Ostetud sisu pole"
+
+msgid "IDS_MUSIC_SK_SAVE_AS"
+msgstr "Salvesta nimega"
+
+msgid "IDS_MUSIC_POP_MUSICPLAYER_UPDATING_FAILED"
+msgstr "Kustutamine nurjus."
+
+msgid "IDS_MUSIC_BODY_EXCITING_M_ADJECTIVE"
+msgstr "Põnev"
+
+msgid "IDS_MUSIC_BODY_SEARCH_MY_MUSIC"
+msgstr "Otsi minu muusikast"
+
+msgid "IDS_MUSIC_HEADER_CONNECTED_DEVICES"
+msgstr "Ühendatud seadmed"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST_PS"
+msgstr "Minu esitusloend %s"
+
+msgid "IDS_MUSIC_BODY_NO_DEVICES"
+msgstr "Seadmeid pole"
+
+msgid "IDS_MUSIC_HEADER_AVAILABLE_DEVICES_ABB"
+msgstr "Saadaolevad seadmed"
+
+msgid "IDS_MUSIC_POP_SET"
+msgstr "Määra"
+
+msgid "IDS_MUSIC_POP_REMOVE_FAILED"
+msgstr "Eemaldamine ebaõnnestus."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_USE_FAST_FORWARD_AND_REWIND_WHEN_NEARBY_DEVICES_ARE_ENABLED"
+msgstr "Kui lähedalolevad seadmed aktiveeritakse, ei saa te kasutada edasi- ja tagasikerimist."
+
+msgid "IDS_MUSIC_OPT_SET_AS"
+msgstr "Määra"
+
+msgid "IDS_MUSIC_OPT_HEADPHONES_ABB"
+msgstr "Kõrvaklapid"
+
+msgid "IDS_MUSIC_OPT_SPEAKER"
+msgstr "Kõlar"
+
+msgid "IDS_MUSIC_BODY_1_SONG"
+msgstr "1 laul"
+
+msgid "IDS_MUSIC_BODY_PD_SONGS"
+msgstr "%d laulu"
+
+msgid "IDS_MUSIC_BODY_1_TRACK"
+msgstr "1 pala"
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_1_TRACK"
+msgstr "Juhuesita 1 lugu"
+
+msgid "IDS_MUSIC_POP_NO_MUSIC_FOUND_FOR_SELECTED_CELL"
+msgstr "Valitud kohale ei leitud muusikat"
+
+msgid "IDS_MUSIC_BODY_DO_NOT_SHOW_AGAIN"
+msgstr "Ära näita uuesti"
+
+msgid "IDS_MUSIC_BODY_VARIOUS_ARTISTS"
+msgstr "Erinevad artistid"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_HOME_SCREEN_ABB"
+msgstr "Lisa avaekraanile"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_FAVOURITES"
+msgstr "Lisa Lemmikutesse"
+
+msgid "IDS_MUSIC_OPT_EDIT_TITLE"
+msgstr "Muuda pealkirja"
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_PERSONAL_STORAGE"
+msgstr "Eemalda isiklikust mälust"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FOLDERS_WILL_BE_SHOWN"
+msgstr "Kaustad kuvatakse pärast lugude allalaadimist"
+
+msgid "IDS_MUSIC_BODY_SETTINGS_VOLUME"
+msgstr "Helitugevus"
+
+msgid "IDS_MUSIC_BODY_REPEAT_OFF"
+msgstr "Kordus väljas"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_REPEAT_ALL"
+msgstr "Korda kõiki"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_OFF"
+msgstr "Segamine välja"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_ON"
+msgstr "Segamine sisse"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST"
+msgstr "Minu esitusloend"
+
+msgid "IDS_MUSIC_MBODY_DEFAULT_PLAYLISTS"
+msgstr "Vaikimisi esitusloendid"
+
+msgid "IDS_MUSIC_BODY_DETAILS_RECORDING_DATE"
+msgstr "Salvestamise kuupäev"
+
+msgid "IDS_MUSIC_OPT_ALBUM_ART_ABB"
+msgstr "Alb. kuj."
+
+msgid "IDS_MUSIC_BODY_1_GENRE"
+msgstr "1 žanr"
+
+msgid "IDS_MUSIC_BODY_PD_FOLDERS"
+msgstr "%d kaustad"
+
+msgid "IDS_MUSIC_BODY_1_FOLDER"
+msgstr "1 kaust"
+
+msgid "IDS_MUSIC_BODY_1_ARTIST"
+msgstr "1 esitaja"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_M_MUSIC"
+msgstr "1 album"
+
+msgid "IDS_MUSIC_BODY_1_PLAYLIST"
+msgstr "1 esitusloend"
+
+msgid "IDS_MUSIC_BODY_MUSIC_PLAYER"
+msgstr "MP3-mängija"
+
+msgid "IDS_MUSIC_BUTTON_MOVE"
+msgstr "Teisalda"
+
+msgid "IDS_MUSIC_BUTTON_AUTO_RECOMMENDATIONS"
+msgstr "Automaatsed soovitused"
+
+msgid "IDS_MUSIC_BUTTON_FROM_THE_BEGINNING"
+msgstr "Alates algusest"
+
+msgid "IDS_MUSIC_HEADER_SUGGESTIONS_FOR_YOU"
+msgstr "Soovitused teile"
+
+msgid "IDS_MUSIC_OPT_SAVE"
+msgstr "Salvesta"
+
+msgid "IDS_MUSIC_TAB4_BASIC_M_EQUALIZING"
+msgstr "Põhiline"
+
+msgid "IDS_MUSIC_BODY_INSTRUMENT"
+msgstr "Instrumentaalne"
+
+msgid "IDS_MUSIC_BODY_TREBLE_M_EQUALISER"
+msgstr "Kõrged helid"
+
+msgid "IDS_MUSIC_BODY_BASS_M_EQUALISER"
+msgstr "Bass"
+
+msgid "IDS_MUSIC_BODY_NO_EFFECTS_ARE_APPLIED_IN_THIS_MODE_ABB"
+msgstr "Selles režiimis pole rakendatud ühtegi efekti."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_TIMBRE_OF_A_TUBE_AMP_ABB"
+msgstr "Simuleerib elektronlamp-võimendi tämbrit."
+
+msgid "IDS_MUSIC_OPT_TUBE_AMP_EFFECT"
+msgstr "Elektronlampvõimendi efekt"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_EFFECT_OF_VIRTUAL_71_CHANNEL_SURROUND_SOUND_ABB"
+msgstr "Simul. 7.1-kanalilise ruumilise virtuaalheli kaja."
+
+msgid "IDS_MUSIC_HEADER_SMALL_ROOM_M_REVERB_ABB"
+msgstr "Väike ruum"
+
+msgid "IDS_MUSIC_HEADER_LARGE_ROOM_M_REVERB_ABB"
+msgstr "Suur ruum"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_LARGE_ROOM_EG_A_THEATRE_ABB"
+msgstr "Simuleerib suure ruumi (nt teatrisaali) kaja."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_CONCERT_HALL_ABB"
+msgstr "Simuleerib kontserdisaali kaja."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_SMALL_SPACE_EG_A_STUDIO_ABB"
+msgstr "Simuleerib väikese ruumi (nt stuudio) kaja."
+
+msgid "IDS_MUSIC_BUTTON_3D_CHN"
+msgstr "3D"
+
+msgid "IDS_MUSIC_BODY_CLARITY_M_SOUNDEFFECT"
+msgstr "Selgus"
+
+msgid "IDS_MUSIC_BUTTON_RESET"
+msgstr "Lähtesta"
+
+msgid "IDS_MUSIC_TAB_YEARS"
+msgstr "Aastad"
+
+msgid "IDS_MUSIC_TAB_GENRES"
+msgstr "Žanrid"
+
+msgid "IDS_MUSIC_TAB_COMPOSERS"
+msgstr "Heli-loojad"
+
+msgid "IDS_MUSIC_TAB_ALL_TRACKS"
+msgstr "Kõik lood"
+
+msgid "IDS_MUSIC_SK3_GO_TO_QUICK_LIST"
+msgstr "Mine kiirl.-e"
+
+msgid "IDS_MUSIC_SK3_FIND"
+msgstr "Otsi"
+
+msgid "IDS_MUSIC_SK3_ADD_TO_QUICK_LIST"
+msgstr "Lisa kiirl.-e"
+
+msgid "IDS_MUSIC_POP_UNAUTHORISED_VIDEO_FILE_FOR_TV_OUT"
+msgstr "Volitamata videofail TV-väljundi jaoks."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_CREATE_MAXIMUM_NUMBER_OF_PLAYLISTS_REACHED"
+msgstr "Ei saa luua. Maksimaalne arv esitusloendeid on saavutatud."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTING_BLUETOOTH_HEADSET"
+msgstr "Bluetooth-peakomplekti ühendamise ajal ei saa helitugevust reguleerida."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTED_TO_BLUETOOTH_HEADSET"
+msgstr "Helitugevust ei saa reguleerida, kui Bluetooth-peakomplekt on ühendatud."
+
+msgid "IDS_MUSIC_POP_STOP_MUSIC_PLAYER_Q"
+msgstr "Sulgeda MP3-mängija?"
+
+msgid "IDS_MUSIC_POP_PLEASE_EXIT_SILENT_MODE"
+msgstr "Palun väljuge vaiksest režiimist."
+
+msgid "IDS_MUSIC_POP_NETWORK_FAILURE"
+msgstr "Võrgutõrge."
+
+msgid "IDS_MUSIC_POP_MEMORY_CARD_LOADED"
+msgstr "Mälukaart on laaditud."
+
+msgid "IDS_MUSIC_POP_DEVICE_SETTINGS_ERROR"
+msgstr "Seadme seadete tõrge."
+
+msgid "IDS_MUSIC_POP_COULD_NOT_FIND_A_MATCH_FOR_THE_SONG"
+msgstr "Ei leidnud laulule vastet."
+
+msgid "IDS_MUSIC_POP_BUFFERING_MSTATUS"
+msgstr "Puhverdamine"
+
+msgid "IDS_MUSIC_POP_BT_HEADSET_ONLY_SUPPORTS_NORMAL_EFFECTS_SETTING"
+msgstr "BT-peakomplekt toetab ainult tavalist efektide seadistust."
+
+msgid "IDS_MUSIC_POP_APPLICATION_WILL_BE_CLOSED"
+msgstr "Rakendus suletakse."
+
+msgid "IDS_MUSIC_POP_ADDED_GO_TO_WISH_LIST_Q"
+msgstr "Lisatud. Kas minna soovinimekirja?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_THE_SERVICE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "Teenuse kasutamine võib olla tasuline. Kas jätkata?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_STORE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "Poe kasutamine võib olla tasuline. Kas jätkata?"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_ONLY_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES"
+msgstr "5.1-kanaline heliefekt töötab ainult kõrvaklappide ja Bluetooth-peakomplekti režiimis."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "5.1-kanaline heliefekt töötab ainult kõrvaklappide režiimis."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECTS_NOT_SUPPORTED_BY_SPEAKER"
+msgstr "Kõlar ei toeta 5.1-kanalilist heli."
+
+msgid "IDS_MUSIC_OPT_VIEW_BY_COVER_ART"
+msgstr "Kuva katteviisi järgi"
+
+msgid "IDS_MUSIC_OPT_SEND_TRACK"
+msgstr "Saada lugu"
+
+msgid "IDS_MUSIC_OPT_RATE_TRACK"
+msgstr "Hinda lugu"
+
+msgid "IDS_MUSIC_OPT_PLAYLIST_MOVE_TRACK_IN_PLAYLIST"
+msgstr "Teisalda esitusloendisse"
+
+msgid "IDS_MUSIC_OPT_OPENPLAYLIST_CURRENT"
+msgstr "Praegune"
+
+msgid "IDS_MUSIC_OPT_DELETE_PLAYLIST"
+msgstr "Kustuta esitusloend"
+
+msgid "IDS_MUSIC_OPT_BACKGROUND_PLAYING"
+msgstr "Taustamuusika esitamine"
+
+msgid "IDS_MUSIC_HEADER_EFFECTS"
+msgstr "Efektid"
+
+msgid "IDS_MUSIC_BUTTON_BUY_NOW"
+msgstr "Osta kohe"
+
+msgid "IDS_MUSIC_BODY_WOW_HD"
+msgstr "Wow HD"
+
+msgid "IDS_MUSIC_BODY_WISHLIST"
+msgstr "Soovinimekiri"
+
+msgid "IDS_MUSIC_BODY_WIDE"
+msgstr "Laialdane"
+
+msgid "IDS_MUSIC_BODY_WHA_WHA"
+msgstr "Wha-wha"
+
+msgid "IDS_MUSIC_BODY_VIBE_WOOFER"
+msgstr "Bassikõlar"
+
+msgid "IDS_MUSIC_BODY_TREMOLO"
+msgstr "Väriheli"
+
+msgid "IDS_MUSIC_BODY_TAP_TWICE_TO_PLAY_PAUSE_MUSIC"
+msgstr "Muusika esitamiseks/peatamiseks toksake kaks korda."
+
+msgid "IDS_MUSIC_BODY_SHARE_TRACK_VIA_BLUETOOTH"
+msgstr "Jaga lugu Bluetoothi kaudu"
+
+msgid "IDS_MUSIC_BODY_SETUPWIZARD_WELCOME_TO_THE_MUSIC_SETUP_WIZARD_CONTINUE_Q"
+msgstr "Tere tulemast muusika häälestusviisardisse.\nJärgnevad kuvad aitavad teil oma telefoni seadistada. Kas jätkata?"
+
+msgid "IDS_MUSIC_BODY_QUICK_LIST"
+msgstr "Kiirloend"
+
+msgid "IDS_MUSIC_BODY_PLAYINGSETTINGS_SOUND_EFFECTS"
+msgstr "Heliefektid"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_ALL"
+msgstr "Kõik"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_1"
+msgstr "1"
+
+msgid "IDS_MUSIC_BODY_PLAYERSETTINGS_VOLUME"
+msgstr "Helitugevus"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_SELECTED"
+msgstr "%d lugu on valitud."
+
+msgid "IDS_MUSIC_BODY_NO_PODCASTS"
+msgstr "Podcaste ei ole"
+
+msgid "IDS_MUSIC_BODY_FIND_SIMILAR"
+msgstr "Otsi sarnaseid"
+
+msgid "IDS_MUSIC_BODY_BACKGROUND_PLAY"
+msgstr "Taustaesitus"
+
+msgid "IDS_MUSIC_BODY_51_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "5.1 kanalit saab aktiveerida ainult siis, kui heliefektid on valjas."
+
+msgid "IDS_MUSIC_TAB4_PODCASTS"
+msgstr "Pod-castid"
+
+msgid "IDS_MUSIC_SK2_EDIT_IMAGE"
+msgstr "Redigeeri pilti"
+
+msgid "IDS_MUSIC_POP_PLAYING_ANY_SOUNDS_WILL_STOP_AND_SAVE_YOUR_VOICE_RECORDING_PLAY_Q"
+msgstr "Helide esitamine lõpetab ja salvestab teie häälsalvestuse. Kas esitada?"
+
+msgid "IDS_MUSIC_POP_MAXIMUM_NUMBER_OF_ITEMS_HPD_SELECTED"
+msgstr "Maksimaalne arv üksusi (%d) on valitud."
+
+msgid "IDS_MUSIC_POP_BLUETOOTH_DISCONNECTED"
+msgstr "Bluetoothi ühendus katkestatud."
+
+msgid "IDS_MUSIC_POP_5_1_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "5.1 kanalit saab aktiveerida ainult siis, kui heliefektid on valjas."
+
+msgid "IDS_MUSIC_OPT_TAKE_PICTURE"
+msgstr "Pildista"
+
+msgid "IDS_MUSIC_OPT_SHOW_MUSIC_VIEW_ABB"
+msgstr "Kuva muusikavaade"
+
+msgid "IDS_MUSIC_OPT_PAUSE"
+msgstr "Paus"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALBUM"
+msgstr "Esita albumit"
+
+msgid "IDS_MUSIC_OPT_LIST_BY"
+msgstr "Loendi järgi"
+
+msgid "IDS_MUSIC_OPT_HISTORY"
+msgstr "Ajalugu"
+
+msgid "IDS_MUSIC_OPT_HIDE_MUSIC_VIEW_ABB"
+msgstr "Peida muusikavaade"
+
+msgid "IDS_MUSIC_OPT_FIND_TAG"
+msgstr "Otsi silti"
+
+msgid "IDS_MUSIC_OPT_DROPBOX_CONTENT_ABB"
+msgstr "Dropboxi sisu"
+
+msgid "IDS_MUSIC_OPT_CONTENT_ON_PHONE_ABB"
+msgstr "Telefoni sisu"
+
+msgid "IDS_MUSIC_OPT_CHANGE_IMAGE"
+msgstr "Muuda pilti"
+
+msgid "IDS_MUSIC_HEADER_DELETE_DROPBOX_DATA_ABB"
+msgstr "Kustuta Dropboxi andmed"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_STREAM_YOUR_MUSIC_TO_DEVICES_USING_ALLSHARE"
+msgstr "Muusikat saate seadmetes voogesitada AllShare'i abil."
+
+msgid "IDS_MUSIC_BODY_VALIDITY"
+msgstr "Kehtivus"
+
+msgid "IDS_MUSIC_BODY_TYPE_CNOUN"
+msgstr "Tüüp"
+
+msgid "IDS_MUSIC_BODY_THIS_WILL_DELETE_THE_FILE_FROM_THE_SERVER_AND_ANY_CONNECTED_DEVICES_AS_WELL"
+msgstr "Sellega kustutatakse fail serverist ja ka mis tahes uhendatud seadmest."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_ARTISTS"
+msgstr "Esitajad"
+
+msgid "IDS_MUSIC_BODY_PLAYINGDETAILS_ALBUM_ART"
+msgstr "Albumi kujundus"
+
+msgid "IDS_MUSIC_BODY_OTHER_CONTENTS"
+msgstr "Muu sisu"
+
+msgid "IDS_MUSIC_BODY_NAME_TOO_LONG"
+msgstr "Nimi on liiga pikk."
+
+msgid "IDS_MUSIC_BODY_MUSIC_CLARITY"
+msgstr "Muusika selgus"
+
+msgid "IDS_MUSIC_BODY_HIGH_VOLUMES_MAY_HARM_YOUR_HEARING_IF_YOU_LISTEN_FOR_A_LONG_TIME"
+msgstr "Valju heli kuulamine pika aja valtel voib pohjustada kuulmiskahjustusi."
+
+msgid "IDS_MUSIC_BODY_AVAILABLE_USES"
+msgstr "Võimalikud kasutusviisid"
+
+msgid "IDS_MUSIC_TPOP_SOUND_EFFECTS_ONLY_AVAILABLE_WHILE_HEADPHONES_CONNECTED"
+msgstr "Heliefektid on saadaval ainult siis, kui kõrvaklapid on ühendatud."
+
+msgid "IDS_ST_OPT_ADD_TO_YOUR_PERSONAL_STORAGE"
+msgstr "Lisage oma isiklikku mällu"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_YOUR_PERSONAL_STORAGE"
+msgstr "Eemaldage oma isiklikust mälust"
+
+msgid "IDS_ST_BODY_CONTEXTUAL_POP_UP_T_TALKBACK"
+msgstr "Kontekstiline hüpik"
+
+msgid "IDS_ST_BODY_A_CONTEXTUAL_POP_UP_IS_OPEN_DOUBLE_TAP_TO_CLOSE_IT_T_TALKBACK"
+msgstr "Kontekstiline hüpik on avatud. Toksake kaks korda, et seda sulgeda."
+
+msgid "IDS_ST_BODY_REPEAT_ONE"
+msgstr "Korda ühte"
+
+msgid "IDS_ST_BUTTON_MOVING_ING"
+msgstr "Teisaldamine..."
+
+msgid "IDS_HS_BODY_SELECT_UP_TO_PD_ITEMS"
+msgstr "Saate valida kuni %d üksust"
+
+msgid "IDS_CAM_BODY_TAB_T_TTS"
+msgstr "Vahekaart"
+
+msgid "IDS_DLNA_OPT2_CHANGE_PLAYER"
+msgstr "Vaheta mängijat"
+
+msgid "IDS_BR_SK_TABS"
+msgstr "Vahekaardid"
+
+msgid "IDS_MF_BODY_DROPBOX_ABB"
+msgstr "Dropbox"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Automaatsed soovitused voivad ekstraktida esiletostud helifailidest."
+
+msgid "IDS_MF_BODY_PARENT_RATING"
+msgstr "Vanemate hinnang"
+
+msgid "IDS_VR_POP_FILE_NOT_FOUND"
+msgstr "Faili ei leitud."
+
+msgid "IDS_PB_POP_CALLER_RINGTONE_SAVED"
+msgstr "Helistaja helin on salvestatud."
+
+msgid "IDS_MUSIC_BODY_BIT_DEPTH"
+msgstr "Bitisügavus"
+
+msgid "IDS_MUSIC_BODY_SIZE"
+msgstr "Suurus"
+
+msgid "IDS_MF_HEADER_PD_SELECTED"
+msgstr "%d valitud"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_THIS_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Lood kuvatakse siin pärast nende lisamist siia seadmesse."
+
+msgid "IDS_MUSIC_TMBODY_LENGTH"
+msgstr "Pikkus"
+
+msgid "IDS_MUSIC_POP_1_FOLDER_WILL_BE_DELETED"
+msgstr "1 kaust kustutatakse."
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Sisusid ei ole"
+
+msgid "IDS_MUSIC_ITAB4_FOLDERS"
+msgstr "Kaustad"
+
+msgid "IDS_MUSIC_HEADER_MY_PLAYLISTS_ABB"
+msgstr "Minu esitusloendid"
+
+msgid "IDS_MP_BODY_SOUND_PLAYER"
+msgstr "Helimängija"
+
+msgid "IDS_MUSIC_OPT_SETTINGS"
+msgstr "Seaded"
+
+msgid "IDS_MUSIC_POP_DELETING"
+msgstr "Kustutamine..."
+
+msgid "IDS_MUSIC_POP_1_TRACK_WILL_BE_DELETED"
+msgstr "1 lugu kustutatakse."
+
+msgid "IDS_MUSIC_POP_ALL_TRACKS_WILL_BE_DELETED"
+msgstr "Kõik lood kustutatakse"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_WILL_BE_DELETED"
+msgstr "%d lugu kustutatakse."
+
+msgid "IDS_MUSIC_POP_1_PLAYLIST_WILL_BE_DELETED"
+msgstr "1 esitusloend kustutatakse."
+
+msgid "IDS_MUSIC_POP_PD_PLAYLISTS_WILL_BE_DELETED"
+msgstr "%d esitusloendit kustutatakse."
+
+msgid "IDS_MUSIC_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "%d albumit kustutatakse."
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS_WILL_BE_DELETED"
+msgstr "%d esitajat kustutatakse."
+
+msgid "IDS_MUSIC_POP_PD_FOLDERS_WILL_BE_DELETED"
+msgstr "%d kausta kustutatakse."
+
+msgid "IDS_ST_POP_CONNECTION_FAILED"
+msgstr "Ühendamine nurjus."
+
+msgid "IDS_MUSIC_BODY_CLASSIC"
+msgstr "Klassi-\nkaline"
+
+msgid "IDS_MUSIC_BODY_ROCK"
+msgstr "Rock"
+
+msgid "IDS_MUSIC_BODY_JAZZ"
+msgstr "Džäss"
+
+msgid "IDS_MUSIC_BODY_POP"
+msgstr "Popmuusika"
+
+msgid "IDS_MUSIC_BODY_AUTO"
+msgstr "Auto."
+
+msgid "IDS_MUSIC_POP_CURRENT_SOUND_EFFECT_NOT_SUPPORTED_BY_HDMI"
+msgstr "HDMI ei toeta praegust heliefekti."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_BLUETOOTH"
+msgstr "Bluetooth-ühendus ei toeta heliefekte."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_LINE_OUT"
+msgstr "Liiniväljund ei toeta heliefekte."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_HDMI"
+msgstr "HDMI-ühendus ei toeta heliefekte."
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EFFECT"
+msgstr "Elektronlampvõimendi"
+
+msgid "IDS_MUSIC_BODY_CUSTOM"
+msgstr "Kohandus"
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EQUALISER_ABB"
+msgstr "Elektr.võimendi"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d lugu on lisatud esitusloendisse."
+
+msgid "IDS_MUSIC_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 lugu on lisatud esitusloendisse"
+
+msgid "IDS_MUSIC_HEADER_ADD_TRACKS_TO_PLAYLIST_ABB"
+msgstr "Lugude lisamine esit.loendisse"
+
+msgid "IDS_MUSIC_POP_PS_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "%s on juba kasutusel. Sisestage teine nimi."
+
+msgid "IDS_MUSIC_TMBODY_DATE_OF_RECORDING"
+msgstr "Salvestamise kuupäev"
+
+msgid "IDS_MBP_TPOP_TRACK_SET_AS_ALARM_TONE"
+msgstr "Lugu on määratud märguande tooniks."
+
+msgid "IDS_MUSIC_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Tulemusi ei leitud"
+
+msgid "IDS_MUSIC_OPT_DEFAULT_RINGTONE_ABB"
+msgstr "Vaikehelin"
+
+msgid "IDS_MUSIC_TPOP_TRACK_SET_AS_CALLER_RINGTONE"
+msgstr "Lugu on määratud helistaja helinaks."
+
+msgid "IDS_MP_TPOP_TRACK_SET_AS_RINGTONE"
+msgstr "Lugu on määratud helinaks."
+
+msgid "IDS_DLNA_BODY_ADD_TO_NOW_PLAYING_LIST"
+msgstr "Lisa praegu esitatavasse loendisse"
+
+msgid "IDS_MUSIC_TPOP_EQUALISER_SETTINGS_WILL_BE_APPLIED_WHILE_PLAYING_MUSIC"
+msgstr "Ekvalaiseri seaded rakendatakse muusika esitamisel."
+
+msgid "IDS_ST_BODY_ALERT"
+msgstr "Märguanne"
+
+msgid "IDS_IV_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 album kustutatakse."
+
+msgid "IDS_MUSIC_OPT_SD_CARD"
+msgstr "SD-kaart"
+
+msgid "IDS_MUSIC_SBODY_DEVICE_STORAGE"
+msgstr "Seadme mälu"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE"
+msgstr "Esitusloendi nimi on juba kasutusel."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_PD"
+msgstr "Esitusloend %d"
+
+msgid "IDS_MUSIC_HEADER_CREATE"
+msgstr "Loomine"
+
+msgid "IDS_MUSIC_HEADER_EQUALISER_PRESET_ABB"
+msgstr "Ekvalaiseri eelseadistus"
+
+msgid "IDS_MUSIC_OPT_AUTOMATIC_M_EQUALIZER_EFFECT"
+msgstr "Automaatne"
+
+msgid "IDS_MUSIC_OPT_CLASSICAL_M_EQUALIZER_EFFECT"
+msgstr "Klassika"
+
+msgid "IDS_MUSIC_HEADER_ENVIRONMENT_EFFECT_ABB"
+msgstr "Keskkonna efekt"
+
+msgid "IDS_VIDEO_POP_THE_FILE_TYPE_IS_NOT_SUPPORTED"
+msgstr "Failitüüpi ei toetata."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_CREATE_PLAYLISTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Esitusloendid kuvatakse siin parast nende loomist."
+
+msgid "IDS_ST_HEADER_SELECT_AUDIO_DEVICE_ABB"
+msgstr "Valige heliseade"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "Esitusloendi nimi on juba kasutusel. Sisestage teine nimi."
+
+msgid "IDS_MUSIC_HEADER_SOUNDALIVE_ABB3"
+msgstr "SoundAlive"
+
+msgid "IDS_MUSIC_OPT_NOW_PLAYING_LIST"
+msgstr "Praegu esitatav loend"
+
+msgid "IDS_MUSIC_OPT_SHOW_LYRICS"
+msgstr "Näita laulusõnu"
+
+msgid "IDS_MUSIC_OPT_HIDE_LYRICS"
+msgstr "Peida laulusõnad"
+
+msgid "IDS_MUSIC_TPOP_UNABLE_TO_PLAY_MUSIC_DURING_CALLS"
+msgstr "Muusikat ei saa kõnede ajal esitada."
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Kustuta"
+
+msgid "IDS_MUSIC_HEADER_SELECT"
+msgstr "Vali"
+
+msgid "IDS_TPLATFORM_OPT_NFC"
+msgstr "NFC"
+
+msgid "IDS_MUSIC_HEADER_UNABLE_TO_PLAY_TRACK"
+msgstr "Lugu ei saa esitada"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "VALMIS"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "TÜHISTA"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "KUSTUTA"
+
+msgid "IDS_MUSIC_POP_RENAME"
+msgstr "Nimeta ümber"
+
+msgid "IDS_MUSIC_OPT_MESSAGE"
+msgstr "Sõnum"
+
+msgid "IDS_MUSIC_SK_OK"
+msgstr "OK"
+
+msgid "IDS_MUSIC_SK_CANCEL"
+msgstr "Tühista"
+
+msgid "IDS_MUSIC_BUTTON_REFRESH"
+msgstr "Värskenda"
+
+msgid "IDS_MUSIC_BODY_SELECT_ALL"
+msgstr "Vali kõik"
+
+msgid "IDS_MUSIC_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_MUSIC_POP_DELETED"
+msgstr "Kustutatud."
+
+msgid "IDS_MUSIC_OPT_STOP"
+msgstr "Peata"
+
+msgid "IDS_MUSIC_BODY_UNKNOWN"
+msgstr "Tundmatu"
+
+msgid "IDS_MUSIC_BODY_TITLE"
+msgstr "Pealkiri"
+
+msgid "IDS_MUSIC_OPT_SENDVIA_EMAIL"
+msgstr "E-post"
+
+msgid "IDS_MUSIC_OPT_BLUETOOTH"
+msgstr "Bluetooth"
+
+msgid "IDS_MUSIC_HEADER_DOWNLOAD"
+msgstr "Lae alla"
+
+msgid "IDS_MUSIC_POP_LOW_BATTERY"
+msgstr "Aku on peaaegu tühi."
+
+msgid "IDS_MUSIC_HEADER_AUDIO_DEVICE"
+msgstr "Heliseade"
+
+msgid "IDS_MUSIC_HEADER_DETAILS"
+msgstr "Üksikasjad"
+
+msgid "IDS_MUSIC_OPT_END"
+msgstr "Lõpeta"
+
+msgid "IDS_MUSIC_OPT_EDIT"
+msgstr "Muuda"
+
+msgid "IDS_CAM_HEADER_UPDATED"
+msgstr "Värskendatud."
+
+msgid "IDS_MUSIC_POP_REMOVED"
+msgstr "Eemaldatud."
+
+msgid "IDS_MUSIC_OPT_SELECTED"
+msgstr "Valitud"
+
+msgid "IDS_ST_BUTTON_SCAN"
+msgstr "Otsi"
+
+msgid "IDS_MF_POP_ERROR"
+msgstr "Tõrge"
+
+msgid "IDS_MF_POP_MEMORY_FULL"
+msgstr "Mälu on täis."
+
+msgid "IDS_MUSIC_MBODY_QUEUE"
+msgstr "Järjekord"
+
+msgid "IDS_MUSIC_OPT_VOLUME"
+msgstr "Helitugevus"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE"
+msgstr "Juhuesitus"
+
+msgid "IDS_MUSIC_OPT_REPEAT"
+msgstr "Korda"
+
+msgid "IDS_COM_BODY_DETAILS"
+msgstr "Details"
+
+msgid "IDS_COM_BODY_DETAILS_TITLE"
+msgstr "Title"
+
+msgid "IDS_COM_BODY_EDIT"
+msgstr "Edit"
+
+msgid "IDS_COM_BODY_EMAIL"
+msgstr "Email"
+
+msgid "IDS_COM_BODY_END"
+msgstr "End"
+
+msgid "IDS_COM_BODY_FOLDERS"
+msgstr "Folders"
+
+msgid "IDS_COM_BODY_GALLERY"
+msgstr "Gallery"
+
+msgid "IDS_COM_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_COM_BODY_LOADING"
+msgstr "Loading..."
+
+msgid "IDS_COM_BODY_LOW_BATTERY"
+msgstr "Low battery."
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Message"
+
+msgid "IDS_COM_BODY_MUSIC"
+msgstr "Music"
+
+msgid "IDS_COM_BODY_NFC"
+msgstr "NFC"
+
+msgid "IDS_COM_BODY_NO_CONTENTS"
+msgstr "No content"
+
+msgid "IDS_COM_BODY_PAUSE"
+msgstr "Pause"
+
+msgid "IDS_COM_BODY_PD_SELECTED"
+msgstr "%d selected."
+
+msgid "IDS_COM_BODY_PREVIOUS"
+msgstr "Previous"
+
+msgid "IDS_COM_BODY_RESET_A"
+msgstr "Reset"
+
+msgid "IDS_COM_BODY_SELECTED"
+msgstr "Selected"
+
+msgid "IDS_COM_BODY_SELECT_ALL"
+msgstr "Select all"
+
+msgid "IDS_COM_BODY_SETTINGS"
+msgstr "Settings"
+
+msgid "IDS_COM_BODY_TIME"
+msgstr "Time"
+
+msgid "IDS_COM_BODY_UNABLE_TO_ADD"
+msgstr "Unable to add."
+
+msgid "IDS_COM_BODY_UNKNOWN"
+msgstr "Unknown"
+
+msgid "IDS_COM_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_COM_BUTTON_SCAN"
+msgstr "Scan"
+
+msgid "IDS_COM_BUTTON_SHARE"
+msgstr "Share"
+
+msgid "IDS_COM_HEADER_AUDIO_DEVICE_ABB"
+msgstr "Audio device"
+
+msgid "IDS_COM_OPT_ADDED"
+msgstr "Added."
+
+msgid "IDS_COM_OPT_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_POP_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_POP_CONNECTION_FAILED"
+msgstr "Connection failed."
+
+msgid "IDS_COM_POP_DELETED"
+msgstr "Deleted."
+
+msgid "IDS_COM_POP_DELETE_Q"
+msgstr "Delete?"
+
+msgid "IDS_COM_POP_DONE"
+msgstr "Done"
+
+msgid "IDS_COM_POP_DOWNLOADING"
+msgstr "Downloading..."
+
+msgid "IDS_COM_POP_ERROR"
+msgstr "Error."
+
+msgid "IDS_COM_POP_FAILED"
+msgstr "Failed."
+
+msgid "IDS_COM_POP_FILE_NOT_EXIST"
+msgstr "This file does not exist."
+
+msgid "IDS_COM_POP_FILE_NOT_FOUND"
+msgstr "File not found."
+
+msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximum number of characters reached."
+
+msgid "IDS_COM_POP_MEMORY_FULL"
+msgstr "Memory full."
+
+msgid "IDS_COM_POP_REMOVED"
+msgstr "Removed."
+
+msgid "IDS_COM_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Unable to use during Mass storage mode."
+
+msgid "IDS_COM_POP_UPDATED"
+msgstr "Updated."
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_SK_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_SK_DOWNLOAD"
+msgstr "Download"
+
+msgid "IDS_COM_SK_NEW"
+msgstr "New"
+
+msgid "IDS_COM_SK_NEXT"
+msgstr "Next"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_SK_REFRESH"
+msgstr "Refresh"
+
+msgid "IDS_COM_SK_REMOVE"
+msgstr "Remove"
+
+msgid "IDS_COM_SK_SAVE"
+msgstr "Save"
+
+msgid "IDS_COM_SK_SELECT"
+msgstr "Select"
+
+msgid "IDS_COM_SK_SET"
+msgstr "Set"
+
+msgid "IDS_COM_SK_STOP"
+msgstr "Stop"
+
+
+msgid "IDS_MH_BODY_THE_PLAYLIST_NAME_PS_IS_ALREADY_IN_USE"
+msgstr "The playlist name %s is already in use."
+
+msgid "IDS_MH_BODY_TOTAL"
+msgstr "Total"
+
+msgid "IDS_MH_MBODY_RECENTLY_ADDED_M_SONG"
+msgstr "Recently added"
+
+msgid "IDS_MH_OPT_MORE_INFO_ABB"
+msgstr "More info"
+
+msgid "IDS_MH_POP_ALARM_TONE_SET"
+msgstr "Alarm tone set."
+
+msgid "IDS_MH_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 track added to playlist."
+
+msgid "IDS_MH_TPOP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d tracks added to playlist."
+
+msgid "IDS_MUSIC_OPT_RENAME"
+msgstr "Rename"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Unable to play during call."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Maksimaalne failide suurus on ületatud."
+
+msgid "IDS_CAM_TPOP_UNABLE_TO_PLAY_MUSIC_WHILE_RECORDING_AUDIO_OR_VIDEO"
+msgstr "Heli või video salvestamise ajal ei saa muusikat esitada."
+
--- /dev/null
+msgid "IDS_ST_BODY_LOADING_ING"
+msgstr "Kargatzen..."
+
+msgid "IDS_GALLERY_OPT_PRIVATE_M_CONTENT"
+msgstr "Pribatua"
+
+msgid "IDS_MF_BODY_TIME"
+msgstr "Ordua"
+
+msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
+msgstr "Fitxategia ez dago"
+
+msgid "IDS_MUSIC_POP_PHONE_RINGTONE"
+msgstr "Telefonoaren dei tonua"
+
+msgid "IDS_MUSIC_BODY_DURATION"
+msgstr "Iraupena"
+
+msgid "IDS_MUSIC_BODY_MUSIC_LOCATION"
+msgstr "Kokalekua"
+
+msgid "IDS_MUSIC_BODY_SET_AS_M_RINGTONE"
+msgstr "Zehaztu honela"
+
+msgid "IDS_ST_OPT_ADD_TO_PERSONAL_PAGE"
+msgstr "Gehitu orri pertsonalera"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_PERSONAL_PAGE_ABB"
+msgstr "Kendu orri pertsonaletik"
+
+msgid "IDS_ST_POP_MOVE_TO_NORMAL_STORAGE"
+msgstr "Mugitu ohiko biltegira"
+
+msgid "IDS_ST_POP_MOVE_TO_PERSONAL_STORAGE"
+msgstr "Mugitu biltegi pertsonalera"
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEMS_WILL_BE_MOVED_TO_PS"
+msgstr "Hautatutako elementuak %s-(e)ra mugituko dira"
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEM_WILL_BE_MOVED_TO_PS"
+msgstr "Hautatutako gaia %s-(e)ra mugituko da"
+
+msgid "IDS_VR_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Ezin da erabili Biltegimasiboan gordetzen den bitartean"
+
+msgid "IDS_MUSIC_POP_RINGTONE_ADDED"
+msgstr "Dei tonua gehituta"
+
+msgid "IDS_CAM_BODY_BUTTON_T_TTS"
+msgstr "Botoia"
+
+msgid "IDS_MUSIC_HEADER_SELECT_ITEMS"
+msgstr "Hautatu elementuak"
+
+msgid "IDS_ST_BODY_ADVANCED"
+msgstr "Aurreratua"
+
+msgid "IDS_ST_SK_PREVIOUS"
+msgstr "Aurrekoa"
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Itxi"
+
+msgid "IDS_MUSIC_POP_ADDED"
+msgstr "Gehituta"
+
+msgid "IDS_MUSIC_POP_FAILED"
+msgstr "Huts egin du"
+
+msgid "IDS_MUSIC_BODY_NO_SEARCH_RESULTS"
+msgstr "Ez dago bilaketaren emaitzarik"
+
+msgid "IDS_MUSIC_SK_DONE"
+msgstr "Amaituta"
+
+msgid "IDS_MUSIC_BODY_NO_ITEMS"
+msgstr "Elementurik ez"
+
+msgid "IDS_BR_OPT_ADD_TO_HOME"
+msgstr "Gehitu pantaila nagusira"
+
+msgid "IDS_BR_SK_NEXT"
+msgstr "Hurrengoa"
+
+msgid "IDS_BR_BODY_DOWNLOADING_ING"
+msgstr "Deskargatzen..."
+
+msgid "IDS_IV_BODY_FAVOURITE"
+msgstr "Gogokoena"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_PERSONAL_STORAGE"
+msgstr "Gehitu biltegi pertsonalera"
+
+msgid "IDS_DLNA_POP_DISCONNECTED_FROM_PS_CHECK_THE_NETWORK_STATUS_AND_THE_CONNECTED_DEVICE"
+msgstr "%s-(e)tik deskonektatuta. Egiaztatu sare egoera eta konektatutako gailua."
+
+msgid "IDS_DLNA_OPT_VIA_SCREEN_MIRRORING_ABB"
+msgstr "Screen Mirroring bidez"
+
+msgid "IDS_DLNA_OPT_VIA_HOME_NETWORK_ABB"
+msgstr "Etxeko sare bidez"
+
+msgid "IDS_IV_POP_ENTRY_IS_EMPTY"
+msgstr "Sarrera hutsik dago"
+
+msgid "IDS_FM_POP_UNAVAILABLE_DURING_CALL"
+msgstr "Ez dago eskuragarri deian zehar"
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Gehienezko karaktere kopurura heldu zara"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_SHARE_DRM_FILE"
+msgstr "Ezin da DRM fitxategia partekatu."
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Ezabatzen..."
+
+msgid "IDS_MUSIC_HEADER_PD_DEVICES"
+msgstr "%d gailu"
+
+msgid "IDS_MUSIC_BUTTON_ENABLE_MOTION"
+msgstr "Gaitu mugim."
+
+msgid "IDS_MUSIC_BUTTON_DONT_ASK_AGAIN"
+msgstr "Ez galdetu berriz"
+
+msgid "IDS_MUSIC_BODY_NO_RESULTS_FOUND"
+msgstr "Ez da emaitzarik aurkitu"
+
+msgid "IDS_VPL_OPT_HDMI"
+msgstr "HDMI"
+
+msgid "IDS_MUSIC_BODY_TURN_PHONE_OVER_TO_MUTE_INCOMING_CALLS_MESSAGE_ALERTS_AND_ALARMS"
+msgstr "Itzuli telefonoa sarrera deiak, mezu alertak eta alarmak isilarazteko"
+
+msgid "IDS_ST_BODY_NONE"
+msgstr "Bat ere ez"
+
+msgid "IDS_ST_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_ST_BODY_GALLERY"
+msgstr "Galeria"
+
+msgid "IDS_ST_BODY_DOUBLE_TAP_TO_MOVE_TO_CONTENT_T_TTS"
+msgstr "Ukitu bi aldiz edukia mugitzeko."
+
+msgid "IDS_MUSIC_BODY_SURROUND"
+msgstr "Soinu inguratzailea"
+
+msgid "IDS_MUSIC_OPT_LYRICS_ABB"
+msgstr "Hitzak"
+
+msgid "IDS_MUSIC_POP_AFTER_YOU_ADD_TRACKS_TO_MUSIC_ON_YOUR_MOBILE_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Zure gailu mugikorreko Musikara abestiak gehitu ondoren, hemen erakutsiko dira."
+
+msgid "IDS_MUSIC_BODY_SAMPLING_RATE"
+msgstr "Sanpleatze abiadura"
+
+msgid "IDS_MUSIC_BODY_MARKED_AS_A_FAVOURITE"
+msgstr "Gogoko gisa markatuta"
+
+msgid "IDS_MUSIC_BODY_MUSIC"
+msgstr "Musika"
+
+msgid "IDS_MUSIC_BODY_NOT_MARKED_AS_A_FAVOURITE"
+msgstr "Ez dago gogoko gisa markatuta"
+
+msgid "IDS_MUSIC_HEADER_SEARCH_MUSIC_ABB"
+msgstr "Bilatu musika"
+
+msgid "IDS_MUSIC_POP_AUTO_RECOMMENDATION_DOES_NOT_SUPPORT_THIS_AUDIO_FILE"
+msgstr "Gomendio automatikoak ez du audio fitxategi hau onartzen"
+
+msgid "IDS_MUSIC_POP_SORRY_THE_PLAYER_DOES_NOT_SUPPORT_THIS_TYPE_OF_AUDIO_FILE"
+msgstr "Barkatu, erreproduktoreak ez du audio artxibo mota hau onartzen"
+
+msgid "IDS_MUSIC_BODY_FAVOURITES"
+msgstr "Gogokoenak"
+
+msgid "IDS_MUSIC_BODY_MOST_PLAYED"
+msgstr "Gehienetan erreproduzitutakoak"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_ADDED"
+msgstr "Azken gehitutakoak"
+
+msgid "IDS_MUSIC_OPT_CREATE_PLAYLIST"
+msgstr "Erreprodukzio zerrenda sortu"
+
+msgid "IDS_MUSIC_OPT_REMOVE"
+msgstr "Kendu"
+
+msgid "IDS_MUSIC_OPT_SETAS_CALLER_RINGTONE"
+msgstr "Dei egilearen dei doinua"
+
+msgid "IDS_MUSIC_TAB4_ARTISTS"
+msgstr "Artistak"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD"
+msgstr "Ezin da gehitu"
+
+msgid "IDS_MUSIC_POP_UNABLE_CREATE_PLAYLIST"
+msgstr "Ezin da erreprodukzio zerrenda sortu"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_GET_TAG"
+msgstr "Ezin da etiketa eskuratu"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_MORE_THAN_PD_MUSIC_FILE"
+msgstr "Ezin izan dira %d musika fitxategi baino gehiago gehitu"
+
+msgid "IDS_MUSIC_BODY_ALBUM"
+msgstr "Albuma"
+
+msgid "IDS_MUSIC_BODY_AUTHOR"
+msgstr "Egilea"
+
+msgid "IDS_MUSIC_BODY_COPYRIGHT"
+msgstr "Copyright"
+
+msgid "IDS_MUSIC_BODY_CREATE_PLAYLIST"
+msgstr "Erreprodukzio zerrenda sortu"
+
+msgid "IDS_MUSIC_BODY_DESCRIPTION"
+msgstr "Deskribapena"
+
+msgid "IDS_MUSIC_BODY_FORMAT"
+msgstr "Formatua"
+
+msgid "IDS_MUSIC_BODY_IMPOSSIBLE"
+msgstr "Ezinezkoa"
+
+msgid "IDS_MUSIC_BODY_NO_PLAYLISTS"
+msgstr "Erreprodukzio zerrendarik ez"
+
+msgid "IDS_MUSIC_BODY_TRACK_NUMBER"
+msgstr "Abesti zenbakia"
+
+msgid "IDS_MUSIC_POP_DELETE_Q"
+msgstr "Ezabatu?"
+
+msgid "IDS_MUSIC_POP_REMOVE_Q"
+msgstr "Kendu?"
+
+msgid "IDS_MUSIC_POP_UNABLE_RENAME_PLAYLIST"
+msgstr "Ezin da erreprodukzio zerrenda berrizendatu"
+
+msgid "IDS_MUSIC_TAB4_ALBUMS"
+msgstr "Albumak"
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Gehitzen..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Ezabatu %d album?"
+
+msgid "IDS_MUSIC_TAB4_PLAYLISTS"
+msgstr "Errepr. zerrendak"
+
+msgid "IDS_MUSIC_OPT_ADD"
+msgstr "Gehitu"
+
+msgid "IDS_MUSIC_BODY_BIOGRAPHY"
+msgstr "Biografia"
+
+msgid "IDS_MUSIC_BODY_CREDITS"
+msgstr "Kredituak"
+
+msgid "IDS_MUSIC_BODY_DETAILS_MEADIA_INFO"
+msgstr "Multimedia informazioa"
+
+msgid "IDS_MUSIC_BODY_DISCOGRAPHY"
+msgstr "Diskografia"
+
+msgid "IDS_MUSIC_BODY_LYRIC"
+msgstr "Lirikoa"
+
+msgid "IDS_MUSIC_BODY_POSSIBLE"
+msgstr "Posible"
+
+msgid "IDS_MUSIC_BODY_REVIEW"
+msgstr "Berrikusi"
+
+msgid "IDS_MUSIC_HEADER_TRACK_LIST"
+msgstr "Pisten zerrenda"
+
+msgid "IDS_MUSIC_BODY_ADD_TO_PLAYLIST"
+msgstr "Erreprodukzio zerrendara gehitu"
+
+msgid "IDS_MUSIC_BODY_ARTIST"
+msgstr "Artista"
+
+msgid "IDS_MUSIC_BODY_FORWARDING"
+msgstr "Birbidaltzea"
+
+msgid "IDS_MUSIC_BODY_RECORDED_DATE"
+msgstr "Date of recording"
+
+msgid "IDS_MUSIC_BODY_PLAYLISTS"
+msgstr "Erreprodukzio zerrendak"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_PLAYED"
+msgstr "Azken erreproduzituak"
+
+msgid "IDS_MUSIC_BODY_TRACK_LENGTH"
+msgstr "Abesti iraupena"
+
+msgid "IDS_MUSIC_HEADER_NO_SONGS"
+msgstr "Abestirik ez"
+
+msgid "IDS_MUSIC_POP_THIS_TRACK_WILL_BE_DELETED"
+msgstr "Abesti hau ezabatuko da"
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_TRACKS_WILL_BE_DELETED"
+msgstr "Hautatutako abestiak ezabatuko dira"
+
+msgid "IDS_MUSIC_POP_THIS_ARTIST_WILL_BE_DELETED"
+msgstr "Artista hau ezabatuko da"
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ARTISTS_WILL_BE_DELETED"
+msgstr "Hautatutako artistak ezabatuko dira."
+
+msgid "IDS_MUSIC_POP_ALL_ARTISTS_WILL_BE_DELETED"
+msgstr "Artista guztiak ezabatuko dira"
+
+msgid "IDS_MUSIC_POP_THIS_FOLDER_WILL_BE_DELETED"
+msgstr "Karpeta hau ezabatuko da"
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_FOLDERS_WILL_BE_DELETED"
+msgstr "Hautatutako karpetak ezabatuko dira."
+
+msgid "IDS_MUSIC_POP_ALL_FOLDERS_WILL_BE_DELETED"
+msgstr "Karpeta guztiak ezabatuko dira"
+
+msgid "IDS_MUSIC_POP_THIS_ALBUM_WILL_BE_DELETED"
+msgstr "Album hau ezabatuko da"
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ALBUMS_WILL_BE_DELETED"
+msgstr "Hautatutako albumak ezabatuko dira."
+
+msgid "IDS_MUSIC_POP_ALL_ALBUMS_WILL_BE_DELETED"
+msgstr "Album guztiak ezabatuko dira"
+
+msgid "IDS_MUSIC_POP_THIS_PLAYLIST_WILL_BE_DELETED"
+msgstr "Erreprodukzio zerrenda hau ezabatu egingo da"
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Hautatutako erreprodukzio zerrendak ezabatuko dira"
+
+msgid "IDS_MUSIC_POP_ALL_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Erreprodukzio zerrenda guztiak ezabatuko dira"
+
+msgid "IDS_MUSIC_HEADER_SONGS"
+msgstr "Abestiak"
+
+msgid "IDS_MUSIC_OPT_REORDER"
+msgstr "Berrantolatu"
+
+msgid "IDS_MUSIC_OPT_SAVE_AS_PLAYLIST"
+msgstr "Gorde erreprodukzio zerrenda gisa"
+
+msgid "IDS_MUSIC_OPT_SETAS_ALARM_TONE"
+msgstr "Alarma doinua"
+
+msgid "IDS_MUSIC_POP_NOTHING_SELECTED"
+msgstr "Ez da ezer aukeratu"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Ezin da erreproduzitu. Errorea gertatu da."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_UNSUPPORTED_FILETYPE"
+msgstr "Ezin da erreproduzitu. Fitxategi mota ez onartua."
+
+msgid "IDS_MUSIC_SK_SHARE"
+msgstr "Partekatu"
+
+msgid "IDS_MUSIC_TAB4_CONDUCTORS"
+msgstr "Zuzend."
+
+msgid "IDS_MUSIC_HEADER_SELECT_DEVICE"
+msgstr "Aukeratu gailua"
+
+msgid "IDS_MUSIC_SK_VIEW_AS"
+msgstr "Ik. hon."
+
+msgid "IDS_MUSIC_BODY_SOUNDEFFECTS_NORMAL"
+msgstr "Arrunta"
+
+msgid "IDS_MUSIC_BODY_USER"
+msgstr "Erabiltzailea"
+
+msgid "IDS_MUSIC_BODY_VOCAL_M_SOUNDEFFECT"
+msgstr "Ahots musika"
+
+msgid "IDS_MUSIC_MBODY_BASS_BOOST"
+msgstr "Bass boost"
+
+msgid "IDS_MUSIC_MBODY_TREBLE_BOOST"
+msgstr "Treble boost"
+
+msgid "IDS_MUSIC_BODY_CAFE_M_SOUNDEFFECT"
+msgstr "Kafetegia"
+
+msgid "IDS_MUSIC_OPT_VIRTUAL_71_CH"
+msgstr "7.1 kate birtuala"
+
+msgid "IDS_MUSIC_OPT_AFTER_15_MIN_ABB"
+msgstr "15 min. geroago"
+
+msgid "IDS_MUSIC_BODY_AFTER_30_MIN"
+msgstr "30 min ostean"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HOUR"
+msgstr "Ordu 1en ostean"
+
+msgid "IDS_MUSIC_POP_AFTER_1_HOUR_30_MIN"
+msgstr "Ordu 1 eta 30 minutu ondoren"
+
+msgid "IDS_MUSIC_BODY_AFTER_2_HOURS"
+msgstr "2 orduren ostean"
+
+msgid "IDS_MUSIC_BODY_MUSIC_AUTO_OFF"
+msgstr "Musika automatikoa itzalita"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES_ONLY"
+msgstr "Soinu efektu honek aurikular eta Bluetooth aurikular moduetan soilik funtzionatzen du"
+
+msgid "IDS_MUSIC_TAB4_MUSIC_SQUARE"
+msgstr "Music square"
+
+msgid "IDS_MUSIC_POP_NOT_ENOUGH_MUSIC_FILES_TO_PLAY_IN_MUSIC_SQUARE_AT_LEAST_PD_MUSIC_FILES_REQUIRED"
+msgstr "Ez dago nahikoa musika fitxategi erreproduzitzeko Music square-n. Gutxienez %d musika fitxategi behar dira."
+
+msgid "IDS_MUSIC_BODY_PASSION_M_MOOD"
+msgstr "Pasioa"
+
+msgid "IDS_MUSIC_BODY_CALM_M_ADJECTIVE"
+msgstr "Lasaia"
+
+msgid "IDS_MUSIC_BODY_JOY_M_MOOD"
+msgstr "Poztasuna"
+
+msgid "IDS_MUSIC_BODY_LIBRARY_UPDATE"
+msgstr "Liburutegi eguneraketa"
+
+msgid "IDS_MUSIC_POP_UPDATE_LIBRARY_Q"
+msgstr "Eguneratu liburutegia?"
+
+msgid "IDS_MUSIC_BODY_CHANGE_AXIS"
+msgstr "Aldatu ardatza"
+
+msgid "IDS_MUSIC_ITAB4_GENRES"
+msgstr "Generoak"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_1_TRACK"
+msgstr "Album 1/abesti 1"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_PD_TRACKS"
+msgstr "Album 1/%d abesti"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS_PD_TRACKS"
+msgstr "%d album/%d abesti"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_CONTROL_MUSIC_PLAYER_WITH_THE_VOICE_COMMANDS_P1SS_P2SS_P3SS_P4SS_P5SS_AND_P6SS"
+msgstr "Musika Jogailua %1$s, %2$s, %3$s, %4$s, %5$s eta %6$s ahots komandoekin kontrola dezakezu"
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_PD_TRACKS"
+msgstr "Ausazko %d pistak"
+
+msgid "IDS_MUSIC_BODY_MORE_INFO"
+msgstr "Informazio gehiago"
+
+msgid "IDS_MUSIC_HEADER_MY_MUSIC_M_APPLICATION_NAME"
+msgstr "Nire musika"
+
+msgid "IDS_MUSIC_OPT_LIST_VIEW"
+msgstr "Zerrenda ikuspegia"
+
+msgid "IDS_MUSIC_OPT_PLAY_VIA_GROUP_PLAY"
+msgstr "Erreproduzitu Group Play bidez"
+
+msgid "IDS_MUSIC_POP_TRACK_ADDED_TO_FAVOURITES"
+msgstr "Abestia gogokoetan gehitu da"
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_FAVOURITES"
+msgstr "Gogokoenetatik kendu"
+
+msgid "IDS_MUSIC_BODY_NEW_M_LATEST"
+msgstr "Berria"
+
+msgid "IDS_MUSIC_OPT_TRACKS"
+msgstr "Pistak"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL"
+msgstr "Miniatura"
+
+msgid "IDS_MUSIC_SK_LIST"
+msgstr "Zerrenda"
+
+msgid "IDS_MUSIC_SK_OPEN_PLAYLIST"
+msgstr "Erreprodukzio zerrenda ireki"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALL"
+msgstr "Denak erreproduzitu"
+
+msgid "IDS_MUSIC_POP_SELECTED_LIST_EMPTY"
+msgstr "Hautatutako zerrenda hutsik"
+
+msgid "IDS_MUSIC_BODY_MOODS"
+msgstr "Aldarteak"
+
+msgid "IDS_MUSIC_BUTTON_YEARS"
+msgstr "Urteak"
+
+msgid "IDS_MUSIC_BODY_OLD"
+msgstr "Zaharra"
+
+msgid "IDS_MUSIC_BODY_MUSIC_SQUARE_ANALYSES_THE_CHARACTERISTICS_OF_MUSIC_FILES_STORED_ON_YOUR_DEVICE_AND_AUTOMATICALLY_CREATES_PLAYLISTS_MSG"
+msgstr "Musika koadroak zure gailuan gordetako musika fitxategien ezaugarriak aztertzen ditu eta erreprodukzio zerrendak sortzen ditu automatikoki"
+
+msgid "IDS_MUSIC_BODY_PLAY_TRACKS_WITH_SIMILAR_CHARACTERISTICS_BY_SELECTING_A_SQUARE_ON_THE_SCREEN"
+msgstr "Erreproduzitu antzerako ezaugarriak dituen musikaren erreprodukzio zerrenda pantailako koadro bat aukeratuz"
+
+msgid "IDS_MUSIC_BODY_VIEW_PLAYLIST_DETAILS_BY_TAPPING_AND_HOLDING_THE_SQUARE_CURRENTLY_BEING_PLAYED"
+msgstr "Ikusi zerrendaren xehetasunak erreproduzitzen ari den koadroa sakatuta eta eutsita"
+
+msgid "IDS_MUSIC_BODY_NEARBY_DEVICES"
+msgstr "Gertuko gailuak"
+
+msgid "IDS_MUSIC_POP_YOU_WILL_NEED_TO_UPDATE_THE_LIBRARY_IF_NEW_SONGS_HAVE_BEEN_ADDED"
+msgstr "Liburutegia eguneratu beharko duzu, abesti berriak gehitzen badira"
+
+msgid "IDS_MUSIC_BODY_NO_ALBUMS"
+msgstr "Albumik ez"
+
+msgid "IDS_MUSIC_BODY_NO_ARTISTS"
+msgstr "Artistarik ez"
+
+msgid "IDS_MUSIC_OPT_PLAY_SPEED_ABB"
+msgstr "Erreprodukzioaren abiadura"
+
+msgid "IDS_MUSIC_BODY_CONCERT_HALL_M_SOUNDEFFECT"
+msgstr "Kontzertu aretoa"
+
+msgid "IDS_MUSIC_OPT_ADD_TO"
+msgstr "Hona gehitu"
+
+msgid "IDS_MUSIC_SK_VIEW"
+msgstr "Ikusi"
+
+msgid "IDS_MUSIC_OPT_LISTBY_RECENTLY_ADDED"
+msgstr "Azken gehitutakoak"
+
+msgid "IDS_MUSIC_BODY_NOT_USED"
+msgstr "Erabili gabe"
+
+msgid "IDS_MUSIC_BODY_MAKE_AVAILABLE_OFFLINE"
+msgstr "Jarri erabilgarri lineaz kanpo"
+
+msgid "IDS_MUSIC_OPT_AFTER_P1SD_HRS_P2SD_MINS"
+msgstr "%1$d ordu eta %2$d minutu ondoren"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS"
+msgstr "%d ordu ondoren"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_MINS"
+msgstr "%d minutu ondoren"
+
+msgid "IDS_MUSIC_BODY_NO_FOLDERS"
+msgstr "Karpetarik ez"
+
+msgid "IDS_MUSIC_BODY_NO_TRACKS"
+msgstr "Pistarik ez"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS"
+msgstr "%d album"
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS"
+msgstr "%d artista"
+
+msgid "IDS_MUSIC_BODY_PD_GENRES"
+msgstr "%d genero"
+
+msgid "IDS_MUSIC_BODY_PD_PLAYLISTS"
+msgstr "%d erreprodukzio zerrenda"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_ABB"
+msgstr "%d pista"
+
+msgid "IDS_MUSIC_BODY_PLAYLIST"
+msgstr "Erreprodukzio zerrenda"
+
+msgid "IDS_MUSIC_HEADER_SIMILAR_ALBUMS"
+msgstr "Antzerako albumak"
+
+msgid "IDS_MUSIC_HEADER_TRACK"
+msgstr "Pista"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL_VIEW"
+msgstr "Miniatura ikuspegia"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "Soinu efektu hau aurikular moduan bakarrik erabil daiteke"
+
+msgid "IDS_MUSIC_OPT_ALL_CONTENT_ABB2"
+msgstr "Eduki guztia"
+
+msgid "IDS_MUSIC_BODY_A_NETWORK_CONNECTION_IS_REQUIRED_TO_PLAY_THIS_FILE_CHECK_YOUR_NETWORK_CONNECTION_AND_TRY_AGAIN"
+msgstr "Sare konexioa behar da fitxategi hau erreproduzitzeko. Egiaztatu zure sare konexioa eta saiatu berriz."
+
+msgid "IDS_MUSIC_POP_FILE_TYPE_NOT_SUPPORTED"
+msgstr "Fitxategi mota ez bateragarria"
+
+msgid "IDS_MUSIC_POP_UPDATING_ING"
+msgstr "Eguneratzen..."
+
+msgid "IDS_MUSIC_OPT_SEARCH_ABB"
+msgstr "Bilatu"
+
+msgid "IDS_MUSIC_OPT_SEARCH_BY"
+msgstr "Bilatu honela"
+
+msgid "IDS_MUSIC_BODY_RELATED_VIDEOS"
+msgstr "Lotutako bideoak"
+
+msgid "IDS_MUSIC_BODY_SMART_VOLUME_ABB"
+msgstr "Smart volume"
+
+msgid "IDS_MUSIC_BODY_THE_VOLUME_OF_ALL_TRACKS_WILL_BE_ADJUSTED_TO_LEVEL_PD"
+msgstr "Pista guztien bolumena %d mailara egokituko da."
+
+msgid "IDS_MUSIC_HEADER_SMART_VOLUME_IS_ENABLED"
+msgstr "Bolumen adimenduna gaituta dago"
+
+msgid "IDS_MUSIC_OPT_CONNECTION_INFO_ABB"
+msgstr "Konexio informazioa"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_PD_MINS"
+msgstr "Ordu 1 eta %d minutu ondoren"
+
+msgid "IDS_MUSIC_BODY_ADAPT_SOUND_ABB"
+msgstr "Adapt Sound"
+
+msgid "IDS_MUSIC_BODY_MY_DEVICE"
+msgstr "Nire gailua"
+
+msgid "IDS_MUSIC_POP_LISTENING_AT_A_HIGH_VOLUME_FOR_A_LONG_TIME_MAY_DAMAGE_YOUR_HEARING_RAISE_THE_VOLUME_ABOVE_SAFE_LEVELS_Q"
+msgstr "Bolumen altuegiko entzunaldi luzeek entzumena kaltetu dezakete. Igo bolumena maila seguruetatik gora?"
+
+msgid "IDS_MUSIC_POP_ALREADY_EXISTS"
+msgstr "Dagoeneko badago"
+
+msgid "IDS_MUSIC_OPT_SCAN_FOR_NEARBY_DEVICES"
+msgstr "Bilatu gertuko gailuak"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR"
+msgstr "Ordu 1 ondoren"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_1_MIN"
+msgstr "Ordu 1 eta minutu 1 ondoren"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS_1_MIN"
+msgstr "%d ordu eta minutu 1 ondoren"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_MIN"
+msgstr "1 minutu ondoren"
+
+msgid "IDS_MUSIC_OPT_GO_TO_STORE"
+msgstr "Joan dendara"
+
+msgid "IDS_MUSIC_SK3_ADD_TRACKS"
+msgstr "Geh. pis."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FROM_MUSIC_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Musikatik abestiak deskargatu ondoren, hemen erakutsiko dira"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_YOUR_FAVOURITES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Zure gogokoetara pistak gehitu ondoren, hemen erakutsiko dira"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_PLAY_TRACKS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Pistak erreproduzitu ondoren, hemen erakutsiko dira"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_PS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "%s-(e)ra abestiak gehitu ondoren, hemen erakutsiko dira"
+
+msgid "IDS_MUSIC_BODY_NO_PURCHASED_CONTENT"
+msgstr "Erositako edukirik ez"
+
+msgid "IDS_MUSIC_SK_SAVE_AS"
+msgstr "Gorde honela"
+
+msgid "IDS_MUSIC_POP_MUSICPLAYER_UPDATING_FAILED"
+msgstr "Errorea eguneratzean"
+
+msgid "IDS_MUSIC_BODY_EXCITING_M_ADJECTIVE"
+msgstr "Zirraragarria"
+
+msgid "IDS_MUSIC_BODY_SEARCH_MY_MUSIC"
+msgstr "Bilatu nire musika"
+
+msgid "IDS_MUSIC_HEADER_CONNECTED_DEVICES"
+msgstr "Konektatutako gailuak"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST_PS"
+msgstr "Nire errep. zerrenda %s"
+
+msgid "IDS_MUSIC_BODY_NO_DEVICES"
+msgstr "Gailurik ez"
+
+msgid "IDS_MUSIC_HEADER_AVAILABLE_DEVICES_ABB"
+msgstr "Gailu eskuragarriak"
+
+msgid "IDS_MUSIC_POP_SET"
+msgstr "Ezarri"
+
+msgid "IDS_MUSIC_POP_REMOVE_FAILED"
+msgstr "Ezabatzeak huts egin du"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_USE_FAST_FORWARD_AND_REWIND_WHEN_NEARBY_DEVICES_ARE_ENABLED"
+msgstr "Ezin dira aurreratzeko eta atzeratzeko aukerak erabili gertuko gailuak gaitzen direnean"
+
+msgid "IDS_MUSIC_OPT_SET_AS"
+msgstr "Honela zehaztu"
+
+msgid "IDS_MUSIC_OPT_HEADPHONES_ABB"
+msgstr "Aurikularrak"
+
+msgid "IDS_MUSIC_OPT_SPEAKER"
+msgstr "Bozgorailua"
+
+msgid "IDS_MUSIC_BODY_1_SONG"
+msgstr "Abesti 1"
+
+msgid "IDS_MUSIC_BODY_PD_SONGS"
+msgstr "%d abesti"
+
+msgid "IDS_MUSIC_BODY_1_TRACK"
+msgstr "Pista 1"
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_1_TRACK"
+msgstr "Ausazko abesti 1"
+
+msgid "IDS_MUSIC_POP_NO_MUSIC_FOUND_FOR_SELECTED_CELL"
+msgstr "Ez da musikarik aurkitu hautatutako gelaxkarako"
+
+msgid "IDS_MUSIC_BODY_DO_NOT_SHOW_AGAIN"
+msgstr "Ez erakutsi berriro"
+
+msgid "IDS_MUSIC_BODY_VARIOUS_ARTISTS"
+msgstr "Hainbat artista"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_HOME_SCREEN_ABB"
+msgstr "Gehitu hasierako pantailara"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_FAVOURITES"
+msgstr "Gehitu gogokoetan"
+
+msgid "IDS_MUSIC_OPT_EDIT_TITLE"
+msgstr "Izenburua editatu"
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_PERSONAL_STORAGE"
+msgstr "Kendu biltegi pertsonaletik"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FOLDERS_WILL_BE_SHOWN"
+msgstr "Abestiak deskargatu ondoren, karpetak erakutsiko dira"
+
+msgid "IDS_MUSIC_BODY_SETTINGS_VOLUME"
+msgstr "Bolumena"
+
+msgid "IDS_MUSIC_BODY_REPEAT_OFF"
+msgstr "Errepikapena itzalita"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_REPEAT_ALL"
+msgstr "Denak errepikatu"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_OFF"
+msgstr "Ausazkoa desaktibatuta"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_ON"
+msgstr "Ausazkoa aktibatuta"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST"
+msgstr "Nire erreprodukzio-zerrenda"
+
+msgid "IDS_MUSIC_MBODY_DEFAULT_PLAYLISTS"
+msgstr "Errep. zerrenda lehenetsiak"
+
+msgid "IDS_MUSIC_BODY_DETAILS_RECORDING_DATE"
+msgstr "Grabaketa data"
+
+msgid "IDS_MUSIC_OPT_ALBUM_ART_ABB"
+msgstr "Album artea"
+
+msgid "IDS_MUSIC_BODY_1_GENRE"
+msgstr "Genero 1"
+
+msgid "IDS_MUSIC_BODY_PD_FOLDERS"
+msgstr "%d karpeta"
+
+msgid "IDS_MUSIC_BODY_1_FOLDER"
+msgstr "Karpeta 1"
+
+msgid "IDS_MUSIC_BODY_1_ARTIST"
+msgstr "Artista 1"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_M_MUSIC"
+msgstr "Album 1"
+
+msgid "IDS_MUSIC_BODY_1_PLAYLIST"
+msgstr "Erreprodukzio zerrenda 1"
+
+msgid "IDS_MUSIC_BODY_MUSIC_PLAYER"
+msgstr "Musika Jogailua"
+
+msgid "IDS_MUSIC_BUTTON_MOVE"
+msgstr "Mugitu"
+
+msgid "IDS_MUSIC_BUTTON_AUTO_RECOMMENDATIONS"
+msgstr "Gomendio automatikoak"
+
+msgid "IDS_MUSIC_BUTTON_FROM_THE_BEGINNING"
+msgstr "Hasieratik"
+
+msgid "IDS_MUSIC_HEADER_SUGGESTIONS_FOR_YOU"
+msgstr "Zuretzako iradokizunak"
+
+msgid "IDS_MUSIC_OPT_SAVE"
+msgstr "Gorde"
+
+msgid "IDS_MUSIC_TAB4_BASIC_M_EQUALIZING"
+msgstr "Oina-\nrrizkoa"
+
+msgid "IDS_MUSIC_BODY_INSTRUMENT"
+msgstr "Instrumentala"
+
+msgid "IDS_MUSIC_BODY_TREBLE_M_EQUALISER"
+msgstr "Altuak"
+
+msgid "IDS_MUSIC_BODY_BASS_M_EQUALISER"
+msgstr "Baxua"
+
+msgid "IDS_MUSIC_BODY_NO_EFFECTS_ARE_APPLIED_IN_THIS_MODE_ABB"
+msgstr "Modu honetan ez da efekturik aplikatzen"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_TIMBRE_OF_A_TUBE_AMP_ABB"
+msgstr "Tutu-anplifikadore baten tinbrea simulatzen du."
+
+msgid "IDS_MUSIC_OPT_TUBE_AMP_EFFECT"
+msgstr "Tutu-anpli."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_EFFECT_OF_VIRTUAL_71_CHANNEL_SURROUND_SOUND_ABB"
+msgstr "7.1 kanal. surround soinu birtualaren efektua simulatzen du."
+
+msgid "IDS_MUSIC_HEADER_SMALL_ROOM_M_REVERB_ABB"
+msgstr "Gela txikia"
+
+msgid "IDS_MUSIC_HEADER_LARGE_ROOM_M_REVERB_ABB"
+msgstr "Gela handia"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_LARGE_ROOM_EG_A_THEATRE_ABB"
+msgstr "Espazio handi baten oihartzuna sim. du (antzokia)."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_CONCERT_HALL_ABB"
+msgstr "Kontzertu areto bateko oihartzuna antzeratzen du."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_SMALL_SPACE_EG_A_STUDIO_ABB"
+msgstr "Espazio txiki baten oihartzuna sim. du (estudioa)."
+
+msgid "IDS_MUSIC_BUTTON_3D_CHN"
+msgstr "3D"
+
+msgid "IDS_MUSIC_BODY_CLARITY_M_SOUNDEFFECT"
+msgstr "Argitasuna"
+
+msgid "IDS_MUSIC_BUTTON_RESET"
+msgstr "Berrezar."
+
+msgid "IDS_MUSIC_TAB_YEARS"
+msgstr "Urteak"
+
+msgid "IDS_MUSIC_TAB_GENRES"
+msgstr "Generoak"
+
+msgid "IDS_MUSIC_TAB_COMPOSERS"
+msgstr "Egileak"
+
+msgid "IDS_MUSIC_TAB_ALL_TRACKS"
+msgstr "Pista guztiak"
+
+msgid "IDS_MUSIC_SK3_GO_TO_QUICK_LIST"
+msgstr "Joan zerr. azkarrera"
+
+msgid "IDS_MUSIC_SK3_FIND"
+msgstr "Aurkitu"
+
+msgid "IDS_MUSIC_SK3_ADD_TO_QUICK_LIST"
+msgstr "Gehi. zerr. azk."
+
+msgid "IDS_MUSIC_POP_UNAUTHORISED_VIDEO_FILE_FOR_TV_OUT"
+msgstr "Baimenik gabeko bideo fitxategia TV-outerako"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_CREATE_MAXIMUM_NUMBER_OF_PLAYLISTS_REACHED"
+msgstr "Ezin da sortu. Gehienezko erreprodukzio zerrenda kopurura heldu da."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTING_BLUETOOTH_HEADSET"
+msgstr "Ezin da bolumena egokitu Bluetooth aurikularrak konektatzean"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTED_TO_BLUETOOTH_HEADSET"
+msgstr "Ezin da bolumena egokitu Bluetooth aurikularrak konektatuta daudenean"
+
+msgid "IDS_MUSIC_POP_STOP_MUSIC_PLAYER_Q"
+msgstr "Musika Jogailua gelditu?"
+
+msgid "IDS_MUSIC_POP_PLEASE_EXIT_SILENT_MODE"
+msgstr "Modu isiletik atera"
+
+msgid "IDS_MUSIC_POP_NETWORK_FAILURE"
+msgstr "Sareak huts egin du"
+
+msgid "IDS_MUSIC_POP_MEMORY_CARD_LOADED"
+msgstr "Memoria txartela kargatuta"
+
+msgid "IDS_MUSIC_POP_DEVICE_SETTINGS_ERROR"
+msgstr "Gailuaren ezarpenen errorea"
+
+msgid "IDS_MUSIC_POP_COULD_NOT_FIND_A_MATCH_FOR_THE_SONG"
+msgstr "Ez da abestiarentzako parekatzerik aurkitu"
+
+msgid "IDS_MUSIC_POP_BUFFERING_MSTATUS"
+msgstr "Tarteko memorian gordetzen"
+
+msgid "IDS_MUSIC_POP_BT_HEADSET_ONLY_SUPPORTS_NORMAL_EFFECTS_SETTING"
+msgstr "BT aurikularrek efektu arrunten ezarpena soilik onartzen dute"
+
+msgid "IDS_MUSIC_POP_APPLICATION_WILL_BE_CLOSED"
+msgstr "Aplikazioa itxiko da"
+
+msgid "IDS_MUSIC_POP_ADDED_GO_TO_WISH_LIST_Q"
+msgstr "Gehituta. Joan zerbitzu zerrendara?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_THE_SERVICE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "Baliteke zerbitzura sartzeagatik kobratzea. Jarraitu?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_STORE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "Baliteke dendara sartzeagatik kobratzea. Jarraitu?"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_ONLY_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES"
+msgstr "5.1 kanalaren soinu efektuak aurikular eta Bluetooth aurikular moduetan soilik funtzionatzen du"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "5.1 kanalaren soinu efektuak aurikular moduan soilik funtzionatzen du"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECTS_NOT_SUPPORTED_BY_SPEAKER"
+msgstr "Bozgorailuak ez ditu 5.1 kanaleko soinu efektuak onartzen"
+
+msgid "IDS_MUSIC_OPT_VIEW_BY_COVER_ART"
+msgstr "Estalki bidez ikusi"
+
+msgid "IDS_MUSIC_OPT_SEND_TRACK"
+msgstr "Abestia bidali"
+
+msgid "IDS_MUSIC_OPT_RATE_TRACK"
+msgstr "Abestia baloratu"
+
+msgid "IDS_MUSIC_OPT_PLAYLIST_MOVE_TRACK_IN_PLAYLIST"
+msgstr "Abestia erreprodukzio zerrendan mugitu"
+
+msgid "IDS_MUSIC_OPT_OPENPLAYLIST_CURRENT"
+msgstr "Unekoa"
+
+msgid "IDS_MUSIC_OPT_DELETE_PLAYLIST"
+msgstr "Erreprodukzio zerrenda ezabatu"
+
+msgid "IDS_MUSIC_OPT_BACKGROUND_PLAYING"
+msgstr "Atzealdean erreproduzitzen"
+
+msgid "IDS_MUSIC_HEADER_EFFECTS"
+msgstr "Efektuak"
+
+msgid "IDS_MUSIC_BUTTON_BUY_NOW"
+msgstr "Orain erosi"
+
+msgid "IDS_MUSIC_BODY_WOW_HD"
+msgstr "Wow HD"
+
+msgid "IDS_MUSIC_BODY_WISHLIST"
+msgstr "Nahitakoen zerrenda"
+
+msgid "IDS_MUSIC_BODY_WIDE"
+msgstr "Zabala"
+
+msgid "IDS_MUSIC_BODY_WHA_WHA"
+msgstr "Wha-wha"
+
+msgid "IDS_MUSIC_BODY_VIBE_WOOFER"
+msgstr "Baxuen bozgorailu bibrazioduna"
+
+msgid "IDS_MUSIC_BODY_TREMOLO"
+msgstr "Tremolo"
+
+msgid "IDS_MUSIC_BODY_TAP_TWICE_TO_PLAY_PAUSE_MUSIC"
+msgstr "Sakatu bitan musika erreproduzitzeko/gelditzeko"
+
+msgid "IDS_MUSIC_BODY_SHARE_TRACK_VIA_BLUETOOTH"
+msgstr "Partekatu pista Bluetooth bidez"
+
+msgid "IDS_MUSIC_BODY_SETUPWIZARD_WELCOME_TO_THE_MUSIC_SETUP_WIZARD_CONTINUE_Q"
+msgstr "Ongi etorria musika konfigurazio laguntzailera.\nOndorengo pantailek zure telefonoa konfiguratzen lagunduko dizute. Jarraitu?"
+
+msgid "IDS_MUSIC_BODY_QUICK_LIST"
+msgstr "Zerrenda azkarra"
+
+msgid "IDS_MUSIC_BODY_PLAYINGSETTINGS_SOUND_EFFECTS"
+msgstr "Soinu efektuak"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_ALL"
+msgstr "Guztiak"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_1"
+msgstr "1"
+
+msgid "IDS_MUSIC_BODY_PLAYERSETTINGS_VOLUME"
+msgstr "Bolumena"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_SELECTED"
+msgstr "%d pista aukeratuta"
+
+msgid "IDS_MUSIC_BODY_NO_PODCASTS"
+msgstr "Podcastik ez"
+
+msgid "IDS_MUSIC_BODY_FIND_SIMILAR"
+msgstr "Antzerakoa bilatu"
+
+msgid "IDS_MUSIC_BODY_BACKGROUND_PLAY"
+msgstr "Atzealdean erreproduzitu"
+
+msgid "IDS_MUSIC_BODY_51_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "5.1 kanala soinu efektuak itzalita daudenean bakarrik aktibatu daiteke"
+
+msgid "IDS_MUSIC_TAB4_PODCASTS"
+msgstr "Podcast-ak"
+
+msgid "IDS_MUSIC_SK2_EDIT_IMAGE"
+msgstr "Editatu irudia"
+
+msgid "IDS_MUSIC_POP_PLAYING_ANY_SOUNDS_WILL_STOP_AND_SAVE_YOUR_VOICE_RECORDING_PLAY_Q"
+msgstr "Edozer soinu erreproduzitzean zure ahots grabaketa eten eta gordeko da. Erreproduzitu?"
+
+msgid "IDS_MUSIC_POP_MAXIMUM_NUMBER_OF_ITEMS_HPD_SELECTED"
+msgstr "Elementuen kopuru maximoa (%d) hautatu duzu"
+
+msgid "IDS_MUSIC_POP_BLUETOOTH_DISCONNECTED"
+msgstr "Bluetooth deskonektatuta"
+
+msgid "IDS_MUSIC_POP_5_1_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "5.1 kanala soinu efektuak itzalita daudenean bakarrik aktibatu daiteke"
+
+msgid "IDS_MUSIC_OPT_TAKE_PICTURE"
+msgstr "Argazkia atera"
+
+msgid "IDS_MUSIC_OPT_SHOW_MUSIC_VIEW_ABB"
+msgstr "Erakutsi musika ikuspegia"
+
+msgid "IDS_MUSIC_OPT_PAUSE"
+msgstr "Eten"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALBUM"
+msgstr "Albuma erreproduzitu"
+
+msgid "IDS_MUSIC_OPT_LIST_BY"
+msgstr "Honen arabera zerrendatu"
+
+msgid "IDS_MUSIC_OPT_HISTORY"
+msgstr "Historia"
+
+msgid "IDS_MUSIC_OPT_HIDE_MUSIC_VIEW_ABB"
+msgstr "Ezkutatu musika ikuspegia"
+
+msgid "IDS_MUSIC_OPT_FIND_TAG"
+msgstr "Bilatu etiketa"
+
+msgid "IDS_MUSIC_OPT_DROPBOX_CONTENT_ABB"
+msgstr "Dropbox edukia"
+
+msgid "IDS_MUSIC_OPT_CONTENT_ON_PHONE_ABB"
+msgstr "Telefonoko edukia"
+
+msgid "IDS_MUSIC_OPT_CHANGE_IMAGE"
+msgstr "Irudia aldatu"
+
+msgid "IDS_MUSIC_HEADER_DELETE_DROPBOX_DATA_ABB"
+msgstr "Ezabatu Dropbox datuak"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_STREAM_YOUR_MUSIC_TO_DEVICES_USING_ALLSHARE"
+msgstr "Zure musikaren stream egin dezakezu gailuetara AllShare bidez"
+
+msgid "IDS_MUSIC_BODY_VALIDITY"
+msgstr "Baliozkotasuna"
+
+msgid "IDS_MUSIC_BODY_TYPE_CNOUN"
+msgstr "Mota"
+
+msgid "IDS_MUSIC_BODY_THIS_WILL_DELETE_THE_FILE_FROM_THE_SERVER_AND_ANY_CONNECTED_DEVICES_AS_WELL"
+msgstr "Honek zerbitzariko fitxategia eta konektatutako edozer gailu kenduko ditu"
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_ARTISTS"
+msgstr "Artistak"
+
+msgid "IDS_MUSIC_BODY_PLAYINGDETAILS_ALBUM_ART"
+msgstr "Albumaren azala"
+
+msgid "IDS_MUSIC_BODY_OTHER_CONTENTS"
+msgstr "Beste eduki batzuk"
+
+msgid "IDS_MUSIC_BODY_NAME_TOO_LONG"
+msgstr "Izen luzeegia"
+
+msgid "IDS_MUSIC_BODY_MUSIC_CLARITY"
+msgstr "Musikaren argitasuna"
+
+msgid "IDS_MUSIC_BODY_HIGH_VOLUMES_MAY_HARM_YOUR_HEARING_IF_YOU_LISTEN_FOR_A_LONG_TIME"
+msgstr "Baliteke bolumen handien zure entzumena kaltetzea denbora luzean entzuten baduzu"
+
+msgid "IDS_MUSIC_BODY_AVAILABLE_USES"
+msgstr "Erabilera eskuragarriak"
+
+msgid "IDS_MUSIC_TPOP_SOUND_EFFECTS_ONLY_AVAILABLE_WHILE_HEADPHONES_CONNECTED"
+msgstr "Soinu efektuak aurikularrak konektatuta daudenean soilik daude eskuragarri."
+
+msgid "IDS_ST_OPT_ADD_TO_YOUR_PERSONAL_STORAGE"
+msgstr "Gehitu zure biltegi pertsonalera"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_YOUR_PERSONAL_STORAGE"
+msgstr "Kendu zure biltegi pertsonaletik"
+
+msgid "IDS_ST_BODY_CONTEXTUAL_POP_UP_T_TALKBACK"
+msgstr "Agerkari kontestuala"
+
+msgid "IDS_ST_BODY_A_CONTEXTUAL_POP_UP_IS_OPEN_DOUBLE_TAP_TO_CLOSE_IT_T_TALKBACK"
+msgstr "Agerkari kontestual bat ireki da. Ukitu bi aldiz ixteko."
+
+msgid "IDS_ST_BODY_REPEAT_ONE"
+msgstr "Bat errepikatu"
+
+msgid "IDS_ST_BUTTON_MOVING_ING"
+msgstr "Mugitzen..."
+
+msgid "IDS_HS_BODY_SELECT_UP_TO_PD_ITEMS"
+msgstr "Hautatu %d elementu arte"
+
+msgid "IDS_CAM_BODY_TAB_T_TTS"
+msgstr "Erlaitza"
+
+msgid "IDS_DLNA_OPT2_CHANGE_PLAYER"
+msgstr "Aldatu irakurgailua"
+
+msgid "IDS_BR_SK_TABS"
+msgstr "Fitxak"
+
+msgid "IDS_MF_BODY_DROPBOX_ABB"
+msgstr "Dropbox"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Gomendio automatikoak soinu fitxategietan nabarmendutakoak atera ditzake"
+
+msgid "IDS_MF_BODY_PARENT_RATING"
+msgstr "Gurasoen balorazioa"
+
+msgid "IDS_VR_POP_FILE_NOT_FOUND"
+msgstr "Fitxategia ez da aurkitu"
+
+msgid "IDS_PB_POP_CALLER_RINGTONE_SAVED"
+msgstr "Dei egilearen dei doinua gordeta"
+
+msgid "IDS_MUSIC_BODY_BIT_DEPTH"
+msgstr "Bit intentsitatea"
+
+msgid "IDS_MUSIC_BODY_SIZE"
+msgstr "Tamaina"
+
+msgid "IDS_MF_HEADER_PD_SELECTED"
+msgstr "%d aukeratuta"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_THIS_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Gailura pistak gehitu ostean, hemen erakutsiko dira."
+
+msgid "IDS_MUSIC_TMBODY_LENGTH"
+msgstr "Luzera"
+
+msgid "IDS_MUSIC_POP_1_FOLDER_WILL_BE_DELETED"
+msgstr "Karpeta 1 ezabatuko da."
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Ez dago edukirik"
+
+msgid "IDS_MUSIC_ITAB4_FOLDERS"
+msgstr "Karpetak"
+
+msgid "IDS_MUSIC_HEADER_MY_PLAYLISTS_ABB"
+msgstr "Nire zerrendak"
+
+msgid "IDS_MP_BODY_SOUND_PLAYER"
+msgstr "Soinu erreproduzitzailea"
+
+msgid "IDS_MUSIC_OPT_SETTINGS"
+msgstr "Ezarpenak"
+
+msgid "IDS_MUSIC_POP_DELETING"
+msgstr "Ezabatzen..."
+
+msgid "IDS_MUSIC_POP_1_TRACK_WILL_BE_DELETED"
+msgstr "Abesti 1 ezabatuko da."
+
+msgid "IDS_MUSIC_POP_ALL_TRACKS_WILL_BE_DELETED"
+msgstr "Abesti guztiak ezabatuko dira"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_WILL_BE_DELETED"
+msgstr "%d abesti ezabatuko dira."
+
+msgid "IDS_MUSIC_POP_1_PLAYLIST_WILL_BE_DELETED"
+msgstr "Erreprodukzio zerrenda 1 ezabatuko da."
+
+msgid "IDS_MUSIC_POP_PD_PLAYLISTS_WILL_BE_DELETED"
+msgstr "%d erreprodukzio zerrenda ezabatuko dira"
+
+msgid "IDS_MUSIC_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "%d album ezabatuko dira"
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS_WILL_BE_DELETED"
+msgstr "%d artista ezabatuko dira"
+
+msgid "IDS_MUSIC_POP_PD_FOLDERS_WILL_BE_DELETED"
+msgstr "%d karpeta ezabatuko dira"
+
+msgid "IDS_ST_POP_CONNECTION_FAILED"
+msgstr "Konektatzerakoan errorea"
+
+msgid "IDS_MUSIC_BODY_CLASSIC"
+msgstr "Klasikoa"
+
+msgid "IDS_MUSIC_BODY_ROCK"
+msgstr "Rock"
+
+msgid "IDS_MUSIC_BODY_JAZZ"
+msgstr "Jazz"
+
+msgid "IDS_MUSIC_BODY_POP"
+msgstr "Pop"
+
+msgid "IDS_MUSIC_BODY_AUTO"
+msgstr "Auto"
+
+msgid "IDS_MUSIC_POP_CURRENT_SOUND_EFFECT_NOT_SUPPORTED_BY_HDMI"
+msgstr "HDMIk ez du onartzen soinu efektu hau"
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_BLUETOOTH"
+msgstr "Bluetoothak ez ditu soinu efektuak onartzen"
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_LINE_OUT"
+msgstr "Irteerako lienak ez ditu soinu efektuak onartzen"
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_HDMI"
+msgstr "HDMI-k ez ditu soinu efektuak onartzen"
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EFFECT"
+msgstr "Tutu-anplifikatzailea"
+
+msgid "IDS_MUSIC_BODY_CUSTOM"
+msgstr "Pertsonalizatua"
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EQUALISER_ABB"
+msgstr "Tutu-anpli."
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d pista gehitu dira erreprodukzio zerrendara"
+
+msgid "IDS_MUSIC_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "Abesti 1 gehitu da erreprodukzio zerrendara."
+
+msgid "IDS_MUSIC_HEADER_ADD_TRACKS_TO_PLAYLIST_ABB"
+msgstr "Gehitu abestiak zerrendetara"
+
+msgid "IDS_MUSIC_POP_PS_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "%s erabiltzen. Adierazi beste izen bat."
+
+msgid "IDS_MUSIC_TMBODY_DATE_OF_RECORDING"
+msgstr "Grabaketa eguna"
+
+msgid "IDS_MBP_TPOP_TRACK_SET_AS_ALARM_TONE"
+msgstr "Abestia alarma tonu gisa ezarri da."
+
+msgid "IDS_MUSIC_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Ez da emaitzarik aurkitu"
+
+msgid "IDS_MUSIC_OPT_DEFAULT_RINGTONE_ABB"
+msgstr "Lehenetsitako dei tonua"
+
+msgid "IDS_MUSIC_TPOP_TRACK_SET_AS_CALLER_RINGTONE"
+msgstr "Abestia deitzailearen dei tonu gisa ezarri da."
+
+msgid "IDS_MP_TPOP_TRACK_SET_AS_RINGTONE"
+msgstr "Abestia dei tonu gisa ezarri da."
+
+msgid "IDS_DLNA_BODY_ADD_TO_NOW_PLAYING_LIST"
+msgstr "Erreproduzitzen ari den zerrendari erantsi"
+
+msgid "IDS_MUSIC_TPOP_EQUALISER_SETTINGS_WILL_BE_APPLIED_WHILE_PLAYING_MUSIC"
+msgstr "Ekualizadore ezarpenak aplikatuko dira musika erreproduzitu bitartean."
+
+msgid "IDS_ST_BODY_ALERT"
+msgstr "Abisua"
+
+msgid "IDS_IV_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 album ezabatuko da."
+
+msgid "IDS_MUSIC_OPT_SD_CARD"
+msgstr "SD txar."
+
+msgid "IDS_MUSIC_SBODY_DEVICE_STORAGE"
+msgstr "Gailu biltegia"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE"
+msgstr "Erreprodukzio zerrendaren izena erabiltzen ari zara jada."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_PD"
+msgstr "%d. zerrenda"
+
+msgid "IDS_MUSIC_HEADER_CREATE"
+msgstr "Sortu"
+
+msgid "IDS_MUSIC_HEADER_EQUALISER_PRESET_ABB"
+msgstr "Ekualizadore aurrezarria"
+
+msgid "IDS_MUSIC_OPT_AUTOMATIC_M_EQUALIZER_EFFECT"
+msgstr "Automatikoa"
+
+msgid "IDS_MUSIC_OPT_CLASSICAL_M_EQUALIZER_EFFECT"
+msgstr "Klasikoa"
+
+msgid "IDS_MUSIC_HEADER_ENVIRONMENT_EFFECT_ABB"
+msgstr "Ingurumen efektua"
+
+msgid "IDS_VIDEO_POP_THE_FILE_TYPE_IS_NOT_SUPPORTED"
+msgstr "Fitxategi mota hau ez da onartzen."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_CREATE_PLAYLISTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Erreprodukzio zerrendak sortu ondoren, hemen erakutsiko dira"
+
+msgid "IDS_ST_HEADER_SELECT_AUDIO_DEVICE_ABB"
+msgstr "Hautatu audio gailua"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "Erreprodukzio zerrendaren izena erabiltzen ari zara. Idatzi beste izen bat."
+
+msgid "IDS_MUSIC_HEADER_SOUNDALIVE_ABB3"
+msgstr "SoundAlive"
+
+msgid "IDS_MUSIC_OPT_NOW_PLAYING_LIST"
+msgstr "Erreproduzitzen ari den zerrenda"
+
+msgid "IDS_MUSIC_OPT_SHOW_LYRICS"
+msgstr "Erakutsi hitzak"
+
+msgid "IDS_MUSIC_OPT_HIDE_LYRICS"
+msgstr "Ezkutatu hitzak"
+
+msgid "IDS_MUSIC_TPOP_UNABLE_TO_PLAY_MUSIC_DURING_CALLS"
+msgstr "Ezin da musika erreproduzitu deien bitartean."
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Ezabatu"
+
+msgid "IDS_MUSIC_HEADER_SELECT"
+msgstr "Hautatu"
+
+msgid "IDS_TPLATFORM_OPT_NFC"
+msgstr "NFC"
+
+msgid "IDS_MUSIC_HEADER_UNABLE_TO_PLAY_TRACK"
+msgstr "Ezin da abestia erreproduzitu"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "EGINA"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "UTZI"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "EZABATU"
+
+msgid "IDS_MUSIC_POP_RENAME"
+msgstr "Berrizendatu"
+
+msgid "IDS_MUSIC_OPT_MESSAGE"
+msgstr "Mezua"
+
+msgid "IDS_MUSIC_SK_OK"
+msgstr "Ados"
+
+msgid "IDS_MUSIC_SK_CANCEL"
+msgstr "Ezeztatu"
+
+msgid "IDS_MUSIC_BUTTON_REFRESH"
+msgstr "Eguneratu"
+
+msgid "IDS_MUSIC_BODY_SELECT_ALL"
+msgstr "Hautatu denak"
+
+msgid "IDS_MUSIC_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_MUSIC_POP_DELETED"
+msgstr "Ezabatua"
+
+msgid "IDS_MUSIC_OPT_STOP"
+msgstr "Gelditu"
+
+msgid "IDS_MUSIC_BODY_UNKNOWN"
+msgstr "Ezezaguna"
+
+msgid "IDS_MUSIC_BODY_TITLE"
+msgstr "Izenburua"
+
+msgid "IDS_MUSIC_OPT_SENDVIA_EMAIL"
+msgstr "Helbide elektronikoa"
+
+msgid "IDS_MUSIC_OPT_BLUETOOTH"
+msgstr "Bluetooth"
+
+msgid "IDS_MUSIC_HEADER_DOWNLOAD"
+msgstr "Deskargatu"
+
+msgid "IDS_MUSIC_POP_LOW_BATTERY"
+msgstr "Bateria gutxi"
+
+msgid "IDS_MUSIC_HEADER_AUDIO_DEVICE"
+msgstr "Audio gailua"
+
+msgid "IDS_MUSIC_HEADER_DETAILS"
+msgstr "Xehetasunak"
+
+msgid "IDS_MUSIC_OPT_END"
+msgstr "Amaitu"
+
+msgid "IDS_MUSIC_OPT_EDIT"
+msgstr "Editatu"
+
+msgid "IDS_CAM_HEADER_UPDATED"
+msgstr "Eguneratua"
+
+msgid "IDS_MUSIC_POP_REMOVED"
+msgstr "Kenduta"
+
+msgid "IDS_MUSIC_OPT_SELECTED"
+msgstr "Aukeratutakoa(k)"
+
+msgid "IDS_ST_BUTTON_SCAN"
+msgstr "Eskaneatzea"
+
+msgid "IDS_MF_POP_ERROR"
+msgstr "Akatsa"
+
+msgid "IDS_MF_POP_MEMORY_FULL"
+msgstr "Memoria beteta"
+
+msgid "IDS_MUSIC_MBODY_QUEUE"
+msgstr "Ilaran"
+
+msgid "IDS_MUSIC_OPT_VOLUME"
+msgstr "Bolumena"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE"
+msgstr "Ausazko ordena"
+
+msgid "IDS_MUSIC_OPT_REPEAT"
+msgstr "Errepikatu"
+
+msgid "IDS_COM_BODY_DETAILS"
+msgstr "Details"
+
+msgid "IDS_COM_BODY_DETAILS_TITLE"
+msgstr "Title"
+
+msgid "IDS_COM_BODY_EDIT"
+msgstr "Edit"
+
+msgid "IDS_COM_BODY_EMAIL"
+msgstr "Email"
+
+msgid "IDS_COM_BODY_END"
+msgstr "End"
+
+msgid "IDS_COM_BODY_FOLDERS"
+msgstr "Folders"
+
+msgid "IDS_COM_BODY_GALLERY"
+msgstr "Gallery"
+
+msgid "IDS_COM_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_COM_BODY_LOADING"
+msgstr "Loading..."
+
+msgid "IDS_COM_BODY_LOW_BATTERY"
+msgstr "Low battery."
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Message"
+
+msgid "IDS_COM_BODY_MUSIC"
+msgstr "Music"
+
+msgid "IDS_COM_BODY_NFC"
+msgstr "NFC"
+
+msgid "IDS_COM_BODY_NO_CONTENTS"
+msgstr "No content"
+
+msgid "IDS_COM_BODY_PAUSE"
+msgstr "Pause"
+
+msgid "IDS_COM_BODY_PD_SELECTED"
+msgstr "%d selected."
+
+msgid "IDS_COM_BODY_PREVIOUS"
+msgstr "Previous"
+
+msgid "IDS_COM_BODY_RESET_A"
+msgstr "Reset"
+
+msgid "IDS_COM_BODY_SELECTED"
+msgstr "Selected"
+
+msgid "IDS_COM_BODY_SELECT_ALL"
+msgstr "Select all"
+
+msgid "IDS_COM_BODY_SETTINGS"
+msgstr "Settings"
+
+msgid "IDS_COM_BODY_TIME"
+msgstr "Time"
+
+msgid "IDS_COM_BODY_UNABLE_TO_ADD"
+msgstr "Unable to add."
+
+msgid "IDS_COM_BODY_UNKNOWN"
+msgstr "Unknown"
+
+msgid "IDS_COM_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_COM_BUTTON_SCAN"
+msgstr "Scan"
+
+msgid "IDS_COM_BUTTON_SHARE"
+msgstr "Share"
+
+msgid "IDS_COM_HEADER_AUDIO_DEVICE_ABB"
+msgstr "Audio device"
+
+msgid "IDS_COM_OPT_ADDED"
+msgstr "Added."
+
+msgid "IDS_COM_OPT_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_POP_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_POP_CONNECTION_FAILED"
+msgstr "Connection failed."
+
+msgid "IDS_COM_POP_DELETED"
+msgstr "Deleted."
+
+msgid "IDS_COM_POP_DELETE_Q"
+msgstr "Delete?"
+
+msgid "IDS_COM_POP_DONE"
+msgstr "Done"
+
+msgid "IDS_COM_POP_DOWNLOADING"
+msgstr "Downloading..."
+
+msgid "IDS_COM_POP_ERROR"
+msgstr "Error."
+
+msgid "IDS_COM_POP_FAILED"
+msgstr "Failed."
+
+msgid "IDS_COM_POP_FILE_NOT_EXIST"
+msgstr "This file does not exist."
+
+msgid "IDS_COM_POP_FILE_NOT_FOUND"
+msgstr "File not found."
+
+msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximum number of characters reached."
+
+msgid "IDS_COM_POP_MEMORY_FULL"
+msgstr "Memory full."
+
+msgid "IDS_COM_POP_REMOVED"
+msgstr "Removed."
+
+msgid "IDS_COM_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Unable to use during Mass storage mode."
+
+msgid "IDS_COM_POP_UPDATED"
+msgstr "Updated."
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_SK_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_SK_DOWNLOAD"
+msgstr "Download"
+
+msgid "IDS_COM_SK_NEW"
+msgstr "New"
+
+msgid "IDS_COM_SK_NEXT"
+msgstr "Next"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_SK_REFRESH"
+msgstr "Refresh"
+
+msgid "IDS_COM_SK_REMOVE"
+msgstr "Remove"
+
+msgid "IDS_COM_SK_SAVE"
+msgstr "Save"
+
+msgid "IDS_COM_SK_SELECT"
+msgstr "Select"
+
+msgid "IDS_COM_SK_SET"
+msgstr "Set"
+
+msgid "IDS_COM_SK_STOP"
+msgstr "Stop"
+
+
+msgid "IDS_MH_BODY_THE_PLAYLIST_NAME_PS_IS_ALREADY_IN_USE"
+msgstr "The playlist name %s is already in use."
+
+msgid "IDS_MH_BODY_TOTAL"
+msgstr "Total"
+
+msgid "IDS_MH_MBODY_RECENTLY_ADDED_M_SONG"
+msgstr "Recently added"
+
+msgid "IDS_MH_OPT_MORE_INFO_ABB"
+msgstr "More info"
+
+msgid "IDS_MH_POP_ALARM_TONE_SET"
+msgstr "Alarm tone set."
+
+msgid "IDS_MH_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 track added to playlist."
+
+msgid "IDS_MH_TPOP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d tracks added to playlist."
+
+msgid "IDS_MUSIC_OPT_RENAME"
+msgstr "Rename"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Unable to play during call."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Fitxategien gehienezko neurria gaindituta"
+
+msgid "IDS_CAM_TPOP_UNABLE_TO_PLAY_MUSIC_WHILE_RECORDING_AUDIO_OR_VIDEO"
+msgstr "Ezin da erreproduzitu musika audioa edo bideoak grabatu bitartean."
+
--- /dev/null
+msgid "IDS_ST_BODY_LOADING_ING"
+msgstr "Ladataan..."
+
+msgid "IDS_GALLERY_OPT_PRIVATE_M_CONTENT"
+msgstr "Yksityinen"
+
+msgid "IDS_MF_BODY_TIME"
+msgstr "Aika"
+
+msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
+msgstr "Tiedostoa ei ole."
+
+msgid "IDS_MUSIC_POP_PHONE_RINGTONE"
+msgstr "Puhelimen soittoääni"
+
+msgid "IDS_MUSIC_BODY_DURATION"
+msgstr "Kesto"
+
+msgid "IDS_MUSIC_BODY_MUSIC_LOCATION"
+msgstr "Sijainti"
+
+msgid "IDS_MUSIC_BODY_SET_AS_M_RINGTONE"
+msgstr "Aseta"
+
+msgid "IDS_ST_OPT_ADD_TO_PERSONAL_PAGE"
+msgstr "Lisää omalle sivulle"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_PERSONAL_PAGE_ABB"
+msgstr "Poista omalta sivulta"
+
+msgid "IDS_ST_POP_MOVE_TO_NORMAL_STORAGE"
+msgstr "Siirrä normaaliin tallennustilaan"
+
+msgid "IDS_ST_POP_MOVE_TO_PERSONAL_STORAGE"
+msgstr "Siirrä henkilökohtaiseen tallennustilaan"
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEMS_WILL_BE_MOVED_TO_PS"
+msgstr "Valitut kohteet siirretään kohteeseen %s."
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEM_WILL_BE_MOVED_TO_PS"
+msgstr "Valittu kohde siirretään kohteeseen %s."
+
+msgid "IDS_VR_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Ei voi käyttää massamuistitilassa."
+
+msgid "IDS_MUSIC_POP_RINGTONE_ADDED"
+msgstr "Soittoääni lisätty."
+
+msgid "IDS_CAM_BODY_BUTTON_T_TTS"
+msgstr "Painike"
+
+msgid "IDS_MUSIC_HEADER_SELECT_ITEMS"
+msgstr "Valitse kohteet"
+
+msgid "IDS_ST_BODY_ADVANCED"
+msgstr "Lisäasetukset"
+
+msgid "IDS_ST_SK_PREVIOUS"
+msgstr "Edellinen"
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Sulje"
+
+msgid "IDS_MUSIC_POP_ADDED"
+msgstr "Lisätty."
+
+msgid "IDS_MUSIC_POP_FAILED"
+msgstr "Epäonnistui."
+
+msgid "IDS_MUSIC_BODY_NO_SEARCH_RESULTS"
+msgstr "Ei hakutuloksia"
+
+msgid "IDS_MUSIC_SK_DONE"
+msgstr "Valmis"
+
+msgid "IDS_MUSIC_BODY_NO_ITEMS"
+msgstr "Ei kohteita"
+
+msgid "IDS_BR_OPT_ADD_TO_HOME"
+msgstr "Lisää etusivulle"
+
+msgid "IDS_BR_SK_NEXT"
+msgstr "Seuraava"
+
+msgid "IDS_BR_BODY_DOWNLOADING_ING"
+msgstr "Ladataan..."
+
+msgid "IDS_IV_BODY_FAVOURITE"
+msgstr "Suosikit"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_PERSONAL_STORAGE"
+msgstr "Lisää henkilökohtaiseen tallennustilaan"
+
+msgid "IDS_DLNA_POP_DISCONNECTED_FROM_PS_CHECK_THE_NETWORK_STATUS_AND_THE_CONNECTED_DEVICE"
+msgstr "Yhteys laitteeseen %s on katkaistu. Tarkista verkon tila ja yhdistetty laite."
+
+msgid "IDS_DLNA_OPT_VIA_SCREEN_MIRRORING_ABB"
+msgstr "Screen Mirroringilla"
+
+msgid "IDS_DLNA_OPT_VIA_HOME_NETWORK_ABB"
+msgstr "Kotiverkon kautta"
+
+msgid "IDS_IV_POP_ENTRY_IS_EMPTY"
+msgstr "Tyhjä tieto"
+
+msgid "IDS_FM_POP_UNAVAILABLE_DURING_CALL"
+msgstr "Ei saatavilla puhelun aikana."
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Merkkien enimmäismäärä saavutettu."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_SHARE_DRM_FILE"
+msgstr "DRM-tiedostoa ei voi jakaa."
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Poistetaan..."
+
+msgid "IDS_MUSIC_HEADER_PD_DEVICES"
+msgstr "%d laitetta"
+
+msgid "IDS_MUSIC_BUTTON_ENABLE_MOTION"
+msgstr "Käytä liikettä"
+
+msgid "IDS_MUSIC_BUTTON_DONT_ASK_AGAIN"
+msgstr "Älä kysy uudelleen"
+
+msgid "IDS_MUSIC_BODY_NO_RESULTS_FOUND"
+msgstr "Tuloksia ei löytynyt."
+
+msgid "IDS_VPL_OPT_HDMI"
+msgstr "HDMI"
+
+msgid "IDS_MUSIC_BODY_TURN_PHONE_OVER_TO_MUTE_INCOMING_CALLS_MESSAGE_ALERTS_AND_ALARMS"
+msgstr "Mykistä saapuvat puhelut, viestihälytykset ja herätykset kääntämällä puhelin ylösalaisin."
+
+msgid "IDS_ST_BODY_NONE"
+msgstr "Ei mitään"
+
+msgid "IDS_ST_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_ST_BODY_GALLERY"
+msgstr "Galleria"
+
+msgid "IDS_ST_BODY_DOUBLE_TAP_TO_MOVE_TO_CONTENT_T_TTS"
+msgstr "Siirrä sisältöä kaksoisnapauttamalla."
+
+msgid "IDS_MUSIC_BODY_SURROUND"
+msgstr "Tilaääni"
+
+msgid "IDS_MUSIC_OPT_LYRICS_ABB"
+msgstr "Sanoitus"
+
+msgid "IDS_MUSIC_POP_AFTER_YOU_ADD_TRACKS_TO_MUSIC_ON_YOUR_MOBILE_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Kun olet lisännyt kappaleet mobiililaitteen Musiikki-kansioon, ne näytetään täällä."
+
+msgid "IDS_MUSIC_BODY_SAMPLING_RATE"
+msgstr "Näytteenottotaajuus"
+
+msgid "IDS_MUSIC_BODY_MARKED_AS_A_FAVOURITE"
+msgstr "Merkitty suosikiksi."
+
+msgid "IDS_MUSIC_BODY_MUSIC"
+msgstr "Musiikki"
+
+msgid "IDS_MUSIC_BODY_NOT_MARKED_AS_A_FAVOURITE"
+msgstr "Ei ole merkitty suosikiksi."
+
+msgid "IDS_MUSIC_HEADER_SEARCH_MUSIC_ABB"
+msgstr "Hae musiikkia"
+
+msgid "IDS_MUSIC_POP_AUTO_RECOMMENDATION_DOES_NOT_SUPPORT_THIS_AUDIO_FILE"
+msgstr "Automaattinen suositus ei tue tätä äänitiedostoa."
+
+msgid "IDS_MUSIC_POP_SORRY_THE_PLAYER_DOES_NOT_SUPPORT_THIS_TYPE_OF_AUDIO_FILE"
+msgstr "Soitin ei tue tätä äänitiedostotyyppiä."
+
+msgid "IDS_MUSIC_BODY_FAVOURITES"
+msgstr "Suosikit"
+
+msgid "IDS_MUSIC_BODY_MOST_PLAYED"
+msgstr "Eniten soitetut"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_ADDED"
+msgstr "Viimeksi lisätyt"
+
+msgid "IDS_MUSIC_OPT_CREATE_PLAYLIST"
+msgstr "Luo soittolista"
+
+msgid "IDS_MUSIC_OPT_REMOVE"
+msgstr "Poista"
+
+msgid "IDS_MUSIC_OPT_SETAS_CALLER_RINGTONE"
+msgstr "Soittajan soittoääni"
+
+msgid "IDS_MUSIC_TAB4_ARTISTS"
+msgstr "Esittäjät"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD"
+msgstr "Lisääminen ei onnistu."
+
+msgid "IDS_MUSIC_POP_UNABLE_CREATE_PLAYLIST"
+msgstr "Soittolistan luonti epäonnistui."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_GET_TAG"
+msgstr "Tunnistetta ei voi hakea."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_MORE_THAN_PD_MUSIC_FILE"
+msgstr "Yli %d musiikkitiedostoa ei voi lisätä."
+
+msgid "IDS_MUSIC_BODY_ALBUM"
+msgstr "Albumi"
+
+msgid "IDS_MUSIC_BODY_AUTHOR"
+msgstr "Tekijä"
+
+msgid "IDS_MUSIC_BODY_COPYRIGHT"
+msgstr "Tekijänoikeus"
+
+msgid "IDS_MUSIC_BODY_CREATE_PLAYLIST"
+msgstr "Luo soittolista"
+
+msgid "IDS_MUSIC_BODY_DESCRIPTION"
+msgstr "Kuvaus"
+
+msgid "IDS_MUSIC_BODY_FORMAT"
+msgstr "Muoto"
+
+msgid "IDS_MUSIC_BODY_IMPOSSIBLE"
+msgstr "Mahdoton"
+
+msgid "IDS_MUSIC_BODY_NO_PLAYLISTS"
+msgstr "Ei soittolistoja"
+
+msgid "IDS_MUSIC_BODY_TRACK_NUMBER"
+msgstr "Kappaleen numero"
+
+msgid "IDS_MUSIC_POP_DELETE_Q"
+msgstr "Poistetaanko?"
+
+msgid "IDS_MUSIC_POP_REMOVE_Q"
+msgstr "Poistetaanko?"
+
+msgid "IDS_MUSIC_POP_UNABLE_RENAME_PLAYLIST"
+msgstr "Soittolistan nimeäminen uudelleen epäonnistui."
+
+msgid "IDS_MUSIC_TAB4_ALBUMS"
+msgstr "Albumit"
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Lisätään..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Poistetaanko %d albumia?"
+
+msgid "IDS_MUSIC_TAB4_PLAYLISTS"
+msgstr "S.listat"
+
+msgid "IDS_MUSIC_OPT_ADD"
+msgstr "Lisää"
+
+msgid "IDS_MUSIC_BODY_BIOGRAPHY"
+msgstr "Biografia"
+
+msgid "IDS_MUSIC_BODY_CREDITS"
+msgstr "Tekijät"
+
+msgid "IDS_MUSIC_BODY_DETAILS_MEADIA_INFO"
+msgstr "Median tiedot"
+
+msgid "IDS_MUSIC_BODY_DISCOGRAPHY"
+msgstr "Diskografia"
+
+msgid "IDS_MUSIC_BODY_LYRIC"
+msgstr "Sanoitus"
+
+msgid "IDS_MUSIC_BODY_POSSIBLE"
+msgstr "Mahdollinen"
+
+msgid "IDS_MUSIC_BODY_REVIEW"
+msgstr "Tarkista"
+
+msgid "IDS_MUSIC_HEADER_TRACK_LIST"
+msgstr "Kappaleluettelo"
+
+msgid "IDS_MUSIC_BODY_ADD_TO_PLAYLIST"
+msgstr "Lisää toistoluetteloon"
+
+msgid "IDS_MUSIC_BODY_ARTIST"
+msgstr "Esittäjä"
+
+msgid "IDS_MUSIC_BODY_FORWARDING"
+msgstr "Edelleenlähetys"
+
+msgid "IDS_MUSIC_BODY_RECORDED_DATE"
+msgstr "Date of recording"
+
+msgid "IDS_MUSIC_BODY_PLAYLISTS"
+msgstr "Soittolistat"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_PLAYED"
+msgstr "Viimeksi soitetut"
+
+msgid "IDS_MUSIC_BODY_TRACK_LENGTH"
+msgstr "Kappaleen pituus"
+
+msgid "IDS_MUSIC_HEADER_NO_SONGS"
+msgstr "Ei kappaleita"
+
+msgid "IDS_MUSIC_POP_THIS_TRACK_WILL_BE_DELETED"
+msgstr "Tämä kappale poistetaan."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_TRACKS_WILL_BE_DELETED"
+msgstr "Valitut kappaleet poistetaan."
+
+msgid "IDS_MUSIC_POP_THIS_ARTIST_WILL_BE_DELETED"
+msgstr "Tämä esittäjä poistetaan."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ARTISTS_WILL_BE_DELETED"
+msgstr "Valitut esittäjät poistetaan."
+
+msgid "IDS_MUSIC_POP_ALL_ARTISTS_WILL_BE_DELETED"
+msgstr "Kaikki esittäjät poistetaan."
+
+msgid "IDS_MUSIC_POP_THIS_FOLDER_WILL_BE_DELETED"
+msgstr "Tämä kansio poistetaan."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_FOLDERS_WILL_BE_DELETED"
+msgstr "Valitut kansiot poistetaan."
+
+msgid "IDS_MUSIC_POP_ALL_FOLDERS_WILL_BE_DELETED"
+msgstr "Kaikki kansiot poistetaan."
+
+msgid "IDS_MUSIC_POP_THIS_ALBUM_WILL_BE_DELETED"
+msgstr "Tämä albumi poistetaan."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ALBUMS_WILL_BE_DELETED"
+msgstr "Valitut albumit poistetaan."
+
+msgid "IDS_MUSIC_POP_ALL_ALBUMS_WILL_BE_DELETED"
+msgstr "Kaikki albumit poistetaan."
+
+msgid "IDS_MUSIC_POP_THIS_PLAYLIST_WILL_BE_DELETED"
+msgstr "Tämä soittolista poistetaan."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Valitut soittolistat poistetaan."
+
+msgid "IDS_MUSIC_POP_ALL_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Kaikki soittolistat poistetaan."
+
+msgid "IDS_MUSIC_HEADER_SONGS"
+msgstr "Kappaleet"
+
+msgid "IDS_MUSIC_OPT_REORDER"
+msgstr "Järjestä uudelleen"
+
+msgid "IDS_MUSIC_OPT_SAVE_AS_PLAYLIST"
+msgstr "Tallenna soittolistana"
+
+msgid "IDS_MUSIC_OPT_SETAS_ALARM_TONE"
+msgstr "Hälytysääni"
+
+msgid "IDS_MUSIC_POP_NOTHING_SELECTED"
+msgstr "Mitään ei valittu."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Ei voi toistaa. Tapahtui virhe."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_UNSUPPORTED_FILETYPE"
+msgstr "Toisto ei onnistu. Tiedostotyyppiä ei tueta."
+
+msgid "IDS_MUSIC_SK_SHARE"
+msgstr "Jaa"
+
+msgid "IDS_MUSIC_TAB4_CONDUCTORS"
+msgstr "Kap.m."
+
+msgid "IDS_MUSIC_HEADER_SELECT_DEVICE"
+msgstr "Valitse laite"
+
+msgid "IDS_MUSIC_SK_VIEW_AS"
+msgstr "N.tapa"
+
+msgid "IDS_MUSIC_BODY_SOUNDEFFECTS_NORMAL"
+msgstr "Normaali"
+
+msgid "IDS_MUSIC_BODY_USER"
+msgstr "Käyttäjä"
+
+msgid "IDS_MUSIC_BODY_VOCAL_M_SOUNDEFFECT"
+msgstr "Laulu"
+
+msgid "IDS_MUSIC_MBODY_BASS_BOOST"
+msgstr "Bassokorostus"
+
+msgid "IDS_MUSIC_MBODY_TREBLE_BOOST"
+msgstr "Diskanttikorostus"
+
+msgid "IDS_MUSIC_BODY_CAFE_M_SOUNDEFFECT"
+msgstr "Kahvila"
+
+msgid "IDS_MUSIC_OPT_VIRTUAL_71_CH"
+msgstr "Virtuaalinen 7.1-kanava"
+
+msgid "IDS_MUSIC_OPT_AFTER_15_MIN_ABB"
+msgstr "15 min kuluttua"
+
+msgid "IDS_MUSIC_BODY_AFTER_30_MIN"
+msgstr "30 min kuluttua"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HOUR"
+msgstr "1 tunnin kuluttua"
+
+msgid "IDS_MUSIC_POP_AFTER_1_HOUR_30_MIN"
+msgstr "1 h 30 min kuluttua"
+
+msgid "IDS_MUSIC_BODY_AFTER_2_HOURS"
+msgstr "2 tunnin kuluttua"
+
+msgid "IDS_MUSIC_BODY_MUSIC_AUTO_OFF"
+msgstr "Automaattinen musiikin lopetus"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES_ONLY"
+msgstr "Tämä äänitehoste toimii vain kuuloke- ja Bluetooth-kuuloketiloissa."
+
+msgid "IDS_MUSIC_TAB4_MUSIC_SQUARE"
+msgstr "Musiikki-\nneliö"
+
+msgid "IDS_MUSIC_POP_NOT_ENOUGH_MUSIC_FILES_TO_PLAY_IN_MUSIC_SQUARE_AT_LEAST_PD_MUSIC_FILES_REQUIRED"
+msgstr "Musiikkineliössä ei ole riittävästi toistettavia musiikkitiedostoja. Vaaditaan vähintään %d musiikkitiedostoa."
+
+msgid "IDS_MUSIC_BODY_PASSION_M_MOOD"
+msgstr "Intohimo"
+
+msgid "IDS_MUSIC_BODY_CALM_M_ADJECTIVE"
+msgstr "Rauhallinen"
+
+msgid "IDS_MUSIC_BODY_JOY_M_MOOD"
+msgstr "Ilo"
+
+msgid "IDS_MUSIC_BODY_LIBRARY_UPDATE"
+msgstr "Kirjaston päivitys"
+
+msgid "IDS_MUSIC_POP_UPDATE_LIBRARY_Q"
+msgstr "Päivitetäänkö kirjasto?"
+
+msgid "IDS_MUSIC_BODY_CHANGE_AXIS"
+msgstr "Vaihda akselia"
+
+msgid "IDS_MUSIC_ITAB4_GENRES"
+msgstr "Tyylil."
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_1_TRACK"
+msgstr "1 albumi / 1 kappale"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_PD_TRACKS"
+msgstr "1 albumi / %d kappaletta"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS_PD_TRACKS"
+msgstr "%d albumia / %d kappaletta"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_CONTROL_MUSIC_PLAYER_WITH_THE_VOICE_COMMANDS_P1SS_P2SS_P3SS_P4SS_P5SS_AND_P6SS"
+msgstr "Voit hallita Musiikkisoitinta puhekomennoilla %1$s, %2$s, %3$s, %4$s, %5$s ja %6$s."
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_PD_TRACKS"
+msgstr "Sekoita %d kappaletta"
+
+msgid "IDS_MUSIC_BODY_MORE_INFO"
+msgstr "Lisätietoja"
+
+msgid "IDS_MUSIC_HEADER_MY_MUSIC_M_APPLICATION_NAME"
+msgstr "Oma musiikki"
+
+msgid "IDS_MUSIC_OPT_LIST_VIEW"
+msgstr "Luettelonäkymä"
+
+msgid "IDS_MUSIC_OPT_PLAY_VIA_GROUP_PLAY"
+msgstr "Toista Ryhmätoistolla"
+
+msgid "IDS_MUSIC_POP_TRACK_ADDED_TO_FAVOURITES"
+msgstr "Kappale lisätty suosikkeihin."
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_FAVOURITES"
+msgstr "Poista suosikeista"
+
+msgid "IDS_MUSIC_BODY_NEW_M_LATEST"
+msgstr "Uusi"
+
+msgid "IDS_MUSIC_OPT_TRACKS"
+msgstr "Raidat"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL"
+msgstr "Pienoiskuva"
+
+msgid "IDS_MUSIC_SK_LIST"
+msgstr "Luettelo"
+
+msgid "IDS_MUSIC_SK_OPEN_PLAYLIST"
+msgstr "Avaa soittolista"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALL"
+msgstr "Toista kaikki"
+
+msgid "IDS_MUSIC_POP_SELECTED_LIST_EMPTY"
+msgstr "Valittu luettelo on tyhjä."
+
+msgid "IDS_MUSIC_BODY_MOODS"
+msgstr "Tunnelmat"
+
+msgid "IDS_MUSIC_BUTTON_YEARS"
+msgstr "Vuodet"
+
+msgid "IDS_MUSIC_BODY_OLD"
+msgstr "Vanha"
+
+msgid "IDS_MUSIC_BODY_MUSIC_SQUARE_ANALYSES_THE_CHARACTERISTICS_OF_MUSIC_FILES_STORED_ON_YOUR_DEVICE_AND_AUTOMATICALLY_CREATES_PLAYLISTS_MSG"
+msgstr "Musiikkineliö analysoi laitteeseen tallennettujen musiikkitiedostojen luonteen ja luo automaattisesti soittolistoja."
+
+msgid "IDS_MUSIC_BODY_PLAY_TRACKS_WITH_SIMILAR_CHARACTERISTICS_BY_SELECTING_A_SQUARE_ON_THE_SCREEN"
+msgstr "Toista samantyyppistä musiikkia sisältävä soittolista valitsemalla näytöstä ruutu."
+
+msgid "IDS_MUSIC_BODY_VIEW_PLAYLIST_DETAILS_BY_TAPPING_AND_HOLDING_THE_SQUARE_CURRENTLY_BEING_PLAYED"
+msgstr "Näytä soittolistan tiedot napauttamalla toistettavaa neliötä ja pitämällä sitä painettuna."
+
+msgid "IDS_MUSIC_BODY_NEARBY_DEVICES"
+msgstr "Lähellä olevat laitteet"
+
+msgid "IDS_MUSIC_POP_YOU_WILL_NEED_TO_UPDATE_THE_LIBRARY_IF_NEW_SONGS_HAVE_BEEN_ADDED"
+msgstr "Uusia kappaleita lisättäessä kirjasto on päivitettävä."
+
+msgid "IDS_MUSIC_BODY_NO_ALBUMS"
+msgstr "Ei albumeita"
+
+msgid "IDS_MUSIC_BODY_NO_ARTISTS"
+msgstr "Ei esittäjiä"
+
+msgid "IDS_MUSIC_OPT_PLAY_SPEED_ABB"
+msgstr "Toistonopeus"
+
+msgid "IDS_MUSIC_BODY_CONCERT_HALL_M_SOUNDEFFECT"
+msgstr "Konserttisali"
+
+msgid "IDS_MUSIC_OPT_ADD_TO"
+msgstr "Lisää"
+
+msgid "IDS_MUSIC_SK_VIEW"
+msgstr "Näytä"
+
+msgid "IDS_MUSIC_OPT_LISTBY_RECENTLY_ADDED"
+msgstr "Viimeksi lisätyt"
+
+msgid "IDS_MUSIC_BODY_NOT_USED"
+msgstr "Ei käytössä"
+
+msgid "IDS_MUSIC_BODY_MAKE_AVAILABLE_OFFLINE"
+msgstr "Salli käyttö offline-tilassa"
+
+msgid "IDS_MUSIC_OPT_AFTER_P1SD_HRS_P2SD_MINS"
+msgstr "%1$d h %2$d min kuluttua"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS"
+msgstr "%d h kuluttua"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_MINS"
+msgstr "%d min kuluttua"
+
+msgid "IDS_MUSIC_BODY_NO_FOLDERS"
+msgstr "Ei kansioita"
+
+msgid "IDS_MUSIC_BODY_NO_TRACKS"
+msgstr "Ei kappaleita"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS"
+msgstr "%d albumia"
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS"
+msgstr "%d esittäjää"
+
+msgid "IDS_MUSIC_BODY_PD_GENRES"
+msgstr "%d tyylilajia"
+
+msgid "IDS_MUSIC_BODY_PD_PLAYLISTS"
+msgstr "%d soittolistaa"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_ABB"
+msgstr "%d kappaletta"
+
+msgid "IDS_MUSIC_BODY_PLAYLIST"
+msgstr "Toistoluettelo"
+
+msgid "IDS_MUSIC_HEADER_SIMILAR_ALBUMS"
+msgstr "Samanlaiset albumit"
+
+msgid "IDS_MUSIC_HEADER_TRACK"
+msgstr "Kappale"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL_VIEW"
+msgstr "Pikkukuvanäkymä"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "Tämä äänitehoste toimii vain kuuloketilassa."
+
+msgid "IDS_MUSIC_OPT_ALL_CONTENT_ABB2"
+msgstr "Kaikki sisältö"
+
+msgid "IDS_MUSIC_BODY_A_NETWORK_CONNECTION_IS_REQUIRED_TO_PLAY_THIS_FILE_CHECK_YOUR_NETWORK_CONNECTION_AND_TRY_AGAIN"
+msgstr "Tiedoston toistamiseen vaaditaan verkkoyhteys. Tarkista verkkoyhteys ja yritä uudelleen."
+
+msgid "IDS_MUSIC_POP_FILE_TYPE_NOT_SUPPORTED"
+msgstr "Tiedostotyyppiä ei tueta."
+
+msgid "IDS_MUSIC_POP_UPDATING_ING"
+msgstr "Päivitetään..."
+
+msgid "IDS_MUSIC_OPT_SEARCH_ABB"
+msgstr "Hae"
+
+msgid "IDS_MUSIC_OPT_SEARCH_BY"
+msgstr "Hakukriteeri:"
+
+msgid "IDS_MUSIC_BODY_RELATED_VIDEOS"
+msgstr "Aiheeseen liittyvät videot"
+
+msgid "IDS_MUSIC_BODY_SMART_VOLUME_ABB"
+msgstr "Älykäs äänenvoimakkuus"
+
+msgid "IDS_MUSIC_BODY_THE_VOLUME_OF_ALL_TRACKS_WILL_BE_ADJUSTED_TO_LEVEL_PD"
+msgstr "Kaikkien kappaleiden äänenvoimakkuus säädetään tasolle %d."
+
+msgid "IDS_MUSIC_HEADER_SMART_VOLUME_IS_ENABLED"
+msgstr "Älykäs äänenvoimakkuus käytössä"
+
+msgid "IDS_MUSIC_OPT_CONNECTION_INFO_ABB"
+msgstr "Yhteystiedot"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_PD_MINS"
+msgstr "1 h %d min kuluttua"
+
+msgid "IDS_MUSIC_BODY_ADAPT_SOUND_ABB"
+msgstr "Adapt Sound"
+
+msgid "IDS_MUSIC_BODY_MY_DEVICE"
+msgstr "Oma laite"
+
+msgid "IDS_MUSIC_POP_LISTENING_AT_A_HIGH_VOLUME_FOR_A_LONG_TIME_MAY_DAMAGE_YOUR_HEARING_RAISE_THE_VOLUME_ABOVE_SAFE_LEVELS_Q"
+msgstr "Kuunteleminen suurella äänenvoimakkuudella pitkän aikaa voi vahingoittaa kuuloasi. Nostetaanko äänenvoimakkuus turvallisen tason yläpuolelle?"
+
+msgid "IDS_MUSIC_POP_ALREADY_EXISTS"
+msgstr "On jo olemassa."
+
+msgid "IDS_MUSIC_OPT_SCAN_FOR_NEARBY_DEVICES"
+msgstr "Hae lähellä olevia laitteita"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR"
+msgstr "1 h kuluttua"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_1_MIN"
+msgstr "1 h 1 min kuluttua"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS_1_MIN"
+msgstr "%d h 1 min kuluttua"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_MIN"
+msgstr "1 min kuluttua"
+
+msgid "IDS_MUSIC_OPT_GO_TO_STORE"
+msgstr "Siirry kauppaan"
+
+msgid "IDS_MUSIC_SK3_ADD_TRACKS"
+msgstr "Lisää\nkappaleita"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FROM_MUSIC_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Kun olet ladannut kappaleet Musiikkipalvelusta, ne näytetään täällä."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_YOUR_FAVOURITES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Kun olet lisännyt kappaleet suosikkeihin, ne näytetään täällä."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_PLAY_TRACKS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Kun olet toistanut kappaleet, ne näytetään täällä."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_PS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Kun olet lisännyt kappaleet soittolistaan %s, ne näytetään täällä."
+
+msgid "IDS_MUSIC_BODY_NO_PURCHASED_CONTENT"
+msgstr "Ostettua sisältöä ei ole"
+
+msgid "IDS_MUSIC_SK_SAVE_AS"
+msgstr "Tallenna nimellä"
+
+msgid "IDS_MUSIC_POP_MUSICPLAYER_UPDATING_FAILED"
+msgstr "Päivitys epäonnistui."
+
+msgid "IDS_MUSIC_BODY_EXCITING_M_ADJECTIVE"
+msgstr "Jännittävä"
+
+msgid "IDS_MUSIC_BODY_SEARCH_MY_MUSIC"
+msgstr "Hae omasta musiikista"
+
+msgid "IDS_MUSIC_HEADER_CONNECTED_DEVICES"
+msgstr "Yhdistetyt laitteet"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST_PS"
+msgstr "Oma soittolista %s"
+
+msgid "IDS_MUSIC_BODY_NO_DEVICES"
+msgstr "Ei laitteita"
+
+msgid "IDS_MUSIC_HEADER_AVAILABLE_DEVICES_ABB"
+msgstr "Käyt. olevat laitt."
+
+msgid "IDS_MUSIC_POP_SET"
+msgstr "Aseta"
+
+msgid "IDS_MUSIC_POP_REMOVE_FAILED"
+msgstr "Poistaminen epäonnistui."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_USE_FAST_FORWARD_AND_REWIND_WHEN_NEARBY_DEVICES_ARE_ENABLED"
+msgstr "Pikakelausta eteen- ja taaksepäin ei voi käyttää, kun lähellä olevat laitteet ovat käytössä."
+
+msgid "IDS_MUSIC_OPT_SET_AS"
+msgstr "Aseta"
+
+msgid "IDS_MUSIC_OPT_HEADPHONES_ABB"
+msgstr "Kuulokkeet"
+
+msgid "IDS_MUSIC_OPT_SPEAKER"
+msgstr "Kaiutin"
+
+msgid "IDS_MUSIC_BODY_1_SONG"
+msgstr "1 kappale"
+
+msgid "IDS_MUSIC_BODY_PD_SONGS"
+msgstr "%d kappaletta"
+
+msgid "IDS_MUSIC_BODY_1_TRACK"
+msgstr "1 kappale"
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_1_TRACK"
+msgstr "1 kappaleen satunnaistoisto"
+
+msgid "IDS_MUSIC_POP_NO_MUSIC_FOUND_FOR_SELECTED_CELL"
+msgstr "Valitusta solusta ei löydy musiikkia"
+
+msgid "IDS_MUSIC_BODY_DO_NOT_SHOW_AGAIN"
+msgstr "Älä näytä uudestaan"
+
+msgid "IDS_MUSIC_BODY_VARIOUS_ARTISTS"
+msgstr "Eri esittäjiä"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_HOME_SCREEN_ABB"
+msgstr "Lisää alkunäyttöön"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_FAVOURITES"
+msgstr "Lisää Suosikkeihin"
+
+msgid "IDS_MUSIC_OPT_EDIT_TITLE"
+msgstr "Muokkaa otsikkoa"
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_PERSONAL_STORAGE"
+msgstr "Poista henkilökohtaisesta tallennustilasta"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FOLDERS_WILL_BE_SHOWN"
+msgstr "Kun olet ladannut kappaleita, kansiot näytetään täällä."
+
+msgid "IDS_MUSIC_BODY_SETTINGS_VOLUME"
+msgstr "Äänenvoimakkuus"
+
+msgid "IDS_MUSIC_BODY_REPEAT_OFF"
+msgstr "Toisto ei käytössä"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_REPEAT_ALL"
+msgstr "Toista kaikki uudelleen"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_OFF"
+msgstr "Satunnaistoisto pois käytöstä"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_ON"
+msgstr "Satunnaistoisto käytössä"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST"
+msgstr "Oma soittolista"
+
+msgid "IDS_MUSIC_MBODY_DEFAULT_PLAYLISTS"
+msgstr "Oletussoittolistat"
+
+msgid "IDS_MUSIC_BODY_DETAILS_RECORDING_DATE"
+msgstr "Tallennuspäivämäärä"
+
+msgid "IDS_MUSIC_OPT_ALBUM_ART_ABB"
+msgstr "Kansitaide"
+
+msgid "IDS_MUSIC_BODY_1_GENRE"
+msgstr "1 tyylilaji"
+
+msgid "IDS_MUSIC_BODY_PD_FOLDERS"
+msgstr "%d kansiota"
+
+msgid "IDS_MUSIC_BODY_1_FOLDER"
+msgstr "1 kansio"
+
+msgid "IDS_MUSIC_BODY_1_ARTIST"
+msgstr "1 esittäjä"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_M_MUSIC"
+msgstr "1 albumi"
+
+msgid "IDS_MUSIC_BODY_1_PLAYLIST"
+msgstr "1 soittolista"
+
+msgid "IDS_MUSIC_BODY_MUSIC_PLAYER"
+msgstr "Musiikki"
+
+msgid "IDS_MUSIC_BUTTON_MOVE"
+msgstr "Siirrä"
+
+msgid "IDS_MUSIC_BUTTON_AUTO_RECOMMENDATIONS"
+msgstr "Automaattiset suositukset"
+
+msgid "IDS_MUSIC_BUTTON_FROM_THE_BEGINNING"
+msgstr "Alusta"
+
+msgid "IDS_MUSIC_HEADER_SUGGESTIONS_FOR_YOU"
+msgstr "Ehdotuksia sinulle"
+
+msgid "IDS_MUSIC_OPT_SAVE"
+msgstr "Tallenna"
+
+msgid "IDS_MUSIC_TAB4_BASIC_M_EQUALIZING"
+msgstr "Perus"
+
+msgid "IDS_MUSIC_BODY_INSTRUMENT"
+msgstr "Instrumentti"
+
+msgid "IDS_MUSIC_BODY_TREBLE_M_EQUALISER"
+msgstr "Diskantti"
+
+msgid "IDS_MUSIC_BODY_BASS_M_EQUALISER"
+msgstr "Basso"
+
+msgid "IDS_MUSIC_BODY_NO_EFFECTS_ARE_APPLIED_IN_THIS_MODE_ABB"
+msgstr "Tässä tilassa ei käytetä tehosteita."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_TIMBRE_OF_A_TUBE_AMP_ABB"
+msgstr "Simuloi putkivahvistimen sointia."
+
+msgid "IDS_MUSIC_OPT_TUBE_AMP_EFFECT"
+msgstr "Putkivahvistintehoste"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_EFFECT_OF_VIRTUAL_71_CHANNEL_SURROUND_SOUND_ABB"
+msgstr "Simuloi 7.1-kanavaista virtuaalista tilaääntä."
+
+msgid "IDS_MUSIC_HEADER_SMALL_ROOM_M_REVERB_ABB"
+msgstr "Pieni huone"
+
+msgid "IDS_MUSIC_HEADER_LARGE_ROOM_M_REVERB_ABB"
+msgstr "Suuri tila"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_LARGE_ROOM_EG_A_THEATRE_ABB"
+msgstr "Simuloi suuren tilan, kuten teatterin, kaikua."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_CONCERT_HALL_ABB"
+msgstr "Simuloi konserttisalin kaikua."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_SMALL_SPACE_EG_A_STUDIO_ABB"
+msgstr "Simuloi pienen tilan, kuten studion, kaikua."
+
+msgid "IDS_MUSIC_BUTTON_3D_CHN"
+msgstr "3D"
+
+msgid "IDS_MUSIC_BODY_CLARITY_M_SOUNDEFFECT"
+msgstr "Selkeys"
+
+msgid "IDS_MUSIC_BUTTON_RESET"
+msgstr "Nollaa"
+
+msgid "IDS_MUSIC_TAB_YEARS"
+msgstr "Vuotta"
+
+msgid "IDS_MUSIC_TAB_GENRES"
+msgstr "Tyylilajit"
+
+msgid "IDS_MUSIC_TAB_COMPOSERS"
+msgstr "Säveltäjät"
+
+msgid "IDS_MUSIC_TAB_ALL_TRACKS"
+msgstr "Kaikki kappaleet"
+
+msgid "IDS_MUSIC_SK3_GO_TO_QUICK_LIST"
+msgstr "Siirry pikal."
+
+msgid "IDS_MUSIC_SK3_FIND"
+msgstr "Etsi"
+
+msgid "IDS_MUSIC_SK3_ADD_TO_QUICK_LIST"
+msgstr "Lisää pikal."
+
+msgid "IDS_MUSIC_POP_UNAUTHORISED_VIDEO_FILE_FOR_TV_OUT"
+msgstr "TV-lähdön videotiedosto on luvaton."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_CREATE_MAXIMUM_NUMBER_OF_PLAYLISTS_REACHED"
+msgstr "Ei voi luoda. Soittolistojen enimmäismäärä on saavutettu."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTING_BLUETOOTH_HEADSET"
+msgstr "Äänenvoimakkuutta ei voi säätää Bluetooth-kuulokkeisiin yhteyttä muodostettaessa."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTED_TO_BLUETOOTH_HEADSET"
+msgstr "Äänenvoimakkuutta ei voi säätää Bluetooth-kuulokkeisiin yhteyttä käytettäessä."
+
+msgid "IDS_MUSIC_POP_STOP_MUSIC_PLAYER_Q"
+msgstr "Pysäytetäänkö Musiikkisoitin?"
+
+msgid "IDS_MUSIC_POP_PLEASE_EXIT_SILENT_MODE"
+msgstr "Poistu äänettömästä tilasta."
+
+msgid "IDS_MUSIC_POP_NETWORK_FAILURE"
+msgstr "Verkkovirhe"
+
+msgid "IDS_MUSIC_POP_MEMORY_CARD_LOADED"
+msgstr "Muistikortti lisätty."
+
+msgid "IDS_MUSIC_POP_DEVICE_SETTINGS_ERROR"
+msgstr "Laiteasetusten virhe"
+
+msgid "IDS_MUSIC_POP_COULD_NOT_FIND_A_MATCH_FOR_THE_SONG"
+msgstr "Vastaavaa kappaletta ei löytynyt."
+
+msgid "IDS_MUSIC_POP_BUFFERING_MSTATUS"
+msgstr "Puskuroidaan"
+
+msgid "IDS_MUSIC_POP_BT_HEADSET_ONLY_SUPPORTS_NORMAL_EFFECTS_SETTING"
+msgstr "BT-kuulokemikrofoni tukee vain normaalia tehosteasetusta."
+
+msgid "IDS_MUSIC_POP_APPLICATION_WILL_BE_CLOSED"
+msgstr "Sovellus suljetaan."
+
+msgid "IDS_MUSIC_POP_ADDED_GO_TO_WISH_LIST_Q"
+msgstr "Lisätty. Siirrytäänkö toivelistaan?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_THE_SERVICE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "Palvelun käytöstä voidaan veloittaa maksu. Jatketaanko?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_STORE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "Säilön käytöstä voidaan veloittaa maksu. Jatketaanko?"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_ONLY_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES"
+msgstr "5.1-kanavainen äänitehoste toimii vain kuuloke- ja Bluetooth-kuuloketiloissa."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "5.1-kanavainen äänitehoste toimii vain kuuloketilassa."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECTS_NOT_SUPPORTED_BY_SPEAKER"
+msgstr "Kaiutin ei tue 5.1-kanavaisia äänitehosteita."
+
+msgid "IDS_MUSIC_OPT_VIEW_BY_COVER_ART"
+msgstr "Näytä levynkansien mukaan"
+
+msgid "IDS_MUSIC_OPT_SEND_TRACK"
+msgstr "Lähetä kappale"
+
+msgid "IDS_MUSIC_OPT_RATE_TRACK"
+msgstr "Luokita kappale"
+
+msgid "IDS_MUSIC_OPT_PLAYLIST_MOVE_TRACK_IN_PLAYLIST"
+msgstr "Siirrä kappaletta toistoluettelossa"
+
+msgid "IDS_MUSIC_OPT_OPENPLAYLIST_CURRENT"
+msgstr "Nykyinen"
+
+msgid "IDS_MUSIC_OPT_DELETE_PLAYLIST"
+msgstr "Poista soittolista"
+
+msgid "IDS_MUSIC_OPT_BACKGROUND_PLAYING"
+msgstr "Toisto taustalla"
+
+msgid "IDS_MUSIC_HEADER_EFFECTS"
+msgstr "Tehosteet"
+
+msgid "IDS_MUSIC_BUTTON_BUY_NOW"
+msgstr "Osta nyt"
+
+msgid "IDS_MUSIC_BODY_WOW_HD"
+msgstr "Wow HD"
+
+msgid "IDS_MUSIC_BODY_WISHLIST"
+msgstr "Toivomuslista"
+
+msgid "IDS_MUSIC_BODY_WIDE"
+msgstr "Leveä"
+
+msgid "IDS_MUSIC_BODY_WHA_WHA"
+msgstr "Wah-wah"
+
+msgid "IDS_MUSIC_BODY_VIBE_WOOFER"
+msgstr "Värinäsubbari"
+
+msgid "IDS_MUSIC_BODY_TREMOLO"
+msgstr "Tremolo"
+
+msgid "IDS_MUSIC_BODY_TAP_TWICE_TO_PLAY_PAUSE_MUSIC"
+msgstr "Toista/keskeytä musiikki napauttamalla kaksi kertaa."
+
+msgid "IDS_MUSIC_BODY_SHARE_TRACK_VIA_BLUETOOTH"
+msgstr "Jaa kappale Bluetoothin kautta"
+
+msgid "IDS_MUSIC_BODY_SETUPWIZARD_WELCOME_TO_THE_MUSIC_SETUP_WIZARD_CONTINUE_Q"
+msgstr "Tervetuloa ohjattuun musiikkiasennukseen.\nSeuraavat ruudut auttavat puhelimen asetusten määrittämisessä. Jatketaanko?"
+
+msgid "IDS_MUSIC_BODY_QUICK_LIST"
+msgstr "Pikaluettelo"
+
+msgid "IDS_MUSIC_BODY_PLAYINGSETTINGS_SOUND_EFFECTS"
+msgstr "Äänitehosteet"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_ALL"
+msgstr "Kaikki"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_1"
+msgstr "1"
+
+msgid "IDS_MUSIC_BODY_PLAYERSETTINGS_VOLUME"
+msgstr "Äänenvoimakkuus"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_SELECTED"
+msgstr "%d kappaletta valittu."
+
+msgid "IDS_MUSIC_BODY_NO_PODCASTS"
+msgstr "Ei podcasteja"
+
+msgid "IDS_MUSIC_BODY_FIND_SIMILAR"
+msgstr "Etsi samanlainen"
+
+msgid "IDS_MUSIC_BODY_BACKGROUND_PLAY"
+msgstr "Taustatoisto"
+
+msgid "IDS_MUSIC_BODY_51_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "5.1-kanava voidaan aktivoida vain silloin, kun äänitehosteet on poistettu käytöstä."
+
+msgid "IDS_MUSIC_TAB4_PODCASTS"
+msgstr "Podcast"
+
+msgid "IDS_MUSIC_SK2_EDIT_IMAGE"
+msgstr "Muokkaa kuvaa"
+
+msgid "IDS_MUSIC_POP_PLAYING_ANY_SOUNDS_WILL_STOP_AND_SAVE_YOUR_VOICE_RECORDING_PLAY_Q"
+msgstr "Äänten toistaminen lopetetaan ja äänitallenne tallennetaan. Toistetaanko?"
+
+msgid "IDS_MUSIC_POP_MAXIMUM_NUMBER_OF_ITEMS_HPD_SELECTED"
+msgstr "Valittujen kohteiden enimmäismäärä (%d) saavutettu."
+
+msgid "IDS_MUSIC_POP_BLUETOOTH_DISCONNECTED"
+msgstr "Bluetooth-yhteys on katkennut."
+
+msgid "IDS_MUSIC_POP_5_1_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "5.1-kanava voidaan aktivoida vain silloin, kun äänitehosteet on poistettu käytöstä."
+
+msgid "IDS_MUSIC_OPT_TAKE_PICTURE"
+msgstr "Ota kuva"
+
+msgid "IDS_MUSIC_OPT_SHOW_MUSIC_VIEW_ABB"
+msgstr "Näytä musiikkinäkymä"
+
+msgid "IDS_MUSIC_OPT_PAUSE"
+msgstr "Tauko"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALBUM"
+msgstr "Toista levy"
+
+msgid "IDS_MUSIC_OPT_LIST_BY"
+msgstr "Lajitteluperuste"
+
+msgid "IDS_MUSIC_OPT_HISTORY"
+msgstr "Historia"
+
+msgid "IDS_MUSIC_OPT_HIDE_MUSIC_VIEW_ABB"
+msgstr "Piilota musiikkinäkymä"
+
+msgid "IDS_MUSIC_OPT_FIND_TAG"
+msgstr "Etsi tunniste"
+
+msgid "IDS_MUSIC_OPT_DROPBOX_CONTENT_ABB"
+msgstr "Dropboxin sisältö"
+
+msgid "IDS_MUSIC_OPT_CONTENT_ON_PHONE_ABB"
+msgstr "Puhelimen sisältö"
+
+msgid "IDS_MUSIC_OPT_CHANGE_IMAGE"
+msgstr "Vaihda kuva"
+
+msgid "IDS_MUSIC_HEADER_DELETE_DROPBOX_DATA_ABB"
+msgstr "Poista Dropboxin tiedot"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_STREAM_YOUR_MUSIC_TO_DEVICES_USING_ALLSHARE"
+msgstr "Voit virtauttaa musiikin AllShare-laitteisiin."
+
+msgid "IDS_MUSIC_BODY_VALIDITY"
+msgstr "Kelpoisuus"
+
+msgid "IDS_MUSIC_BODY_TYPE_CNOUN"
+msgstr "Tyyppi"
+
+msgid "IDS_MUSIC_BODY_THIS_WILL_DELETE_THE_FILE_FROM_THE_SERVER_AND_ANY_CONNECTED_DEVICES_AS_WELL"
+msgstr "Tiedosto poistetaan myös palvelimelta ja siihen yhteydessä olevista laitteista."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_ARTISTS"
+msgstr "Esittäjät"
+
+msgid "IDS_MUSIC_BODY_PLAYINGDETAILS_ALBUM_ART"
+msgstr "Kansitaide"
+
+msgid "IDS_MUSIC_BODY_OTHER_CONTENTS"
+msgstr "Muu sisältö"
+
+msgid "IDS_MUSIC_BODY_NAME_TOO_LONG"
+msgstr "Nimi on liian pitkä."
+
+msgid "IDS_MUSIC_BODY_MUSIC_CLARITY"
+msgstr "Musiikin selkeys"
+
+msgid "IDS_MUSIC_BODY_HIGH_VOLUMES_MAY_HARM_YOUR_HEARING_IF_YOU_LISTEN_FOR_A_LONG_TIME"
+msgstr "Suuri äänenvoimakkuus vaurioittaa kuuloasi pitkäaikaisen kuuntelun aikana."
+
+msgid "IDS_MUSIC_BODY_AVAILABLE_USES"
+msgstr "Jäljellä olevat käyttökerrat"
+
+msgid "IDS_MUSIC_TPOP_SOUND_EFFECTS_ONLY_AVAILABLE_WHILE_HEADPHONES_CONNECTED"
+msgstr "Äänitehosteet ovat käytettävissä vain silloin, kun kuulokkeet ovat kytkettynä."
+
+msgid "IDS_ST_OPT_ADD_TO_YOUR_PERSONAL_STORAGE"
+msgstr "Lisää henkilökohtaiseen tallennustilaan"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_YOUR_PERSONAL_STORAGE"
+msgstr "Poista henkilökohtaisesta tallennustilasta"
+
+msgid "IDS_ST_BODY_CONTEXTUAL_POP_UP_T_TALKBACK"
+msgstr "Tilannekohtainen ponnahdusikkuna"
+
+msgid "IDS_ST_BODY_A_CONTEXTUAL_POP_UP_IS_OPEN_DOUBLE_TAP_TO_CLOSE_IT_T_TALKBACK"
+msgstr "Tilannekohtainen ponnahdusikkuna on auki. Voit sulkea sen kaksoisnapauttamalla."
+
+msgid "IDS_ST_BODY_REPEAT_ONE"
+msgstr "Toista yksi"
+
+msgid "IDS_ST_BUTTON_MOVING_ING"
+msgstr "Siirretään..."
+
+msgid "IDS_HS_BODY_SELECT_UP_TO_PD_ITEMS"
+msgstr "Valitse enintään %d kohdetta."
+
+msgid "IDS_CAM_BODY_TAB_T_TTS"
+msgstr "Välilehti"
+
+msgid "IDS_DLNA_OPT2_CHANGE_PLAYER"
+msgstr "Vaihda soitinta"
+
+msgid "IDS_BR_SK_TABS"
+msgstr "Välilehdet"
+
+msgid "IDS_MF_BODY_DROPBOX_ABB"
+msgstr "Dropbox"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Automaattiset suositukset pystyvät hakemaan äänitiedostojen kohokohdat."
+
+msgid "IDS_MF_BODY_PARENT_RATING"
+msgstr "Aikuisluokitus"
+
+msgid "IDS_VR_POP_FILE_NOT_FOUND"
+msgstr "Tiedostoa ei löydy."
+
+msgid "IDS_PB_POP_CALLER_RINGTONE_SAVED"
+msgstr "Soittajan soittoääni on tallennettu."
+
+msgid "IDS_MUSIC_BODY_BIT_DEPTH"
+msgstr "Bittisyvyys"
+
+msgid "IDS_MUSIC_BODY_SIZE"
+msgstr "Koko"
+
+msgid "IDS_MF_HEADER_PD_SELECTED"
+msgstr "%d valittu"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_THIS_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Kun olet lisännyt kappaleita tähän laitteeseen, ne näytetään täällä."
+
+msgid "IDS_MUSIC_TMBODY_LENGTH"
+msgstr "Pituus"
+
+msgid "IDS_MUSIC_POP_1_FOLDER_WILL_BE_DELETED"
+msgstr "1 kansio poistetaan."
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Ei sisältöjä"
+
+msgid "IDS_MUSIC_ITAB4_FOLDERS"
+msgstr "Kansiot"
+
+msgid "IDS_MUSIC_HEADER_MY_PLAYLISTS_ABB"
+msgstr "Omat soittolistat"
+
+msgid "IDS_MP_BODY_SOUND_PLAYER"
+msgstr "Soitin"
+
+msgid "IDS_MUSIC_OPT_SETTINGS"
+msgstr "Asetukset"
+
+msgid "IDS_MUSIC_POP_DELETING"
+msgstr "Poistetaan..."
+
+msgid "IDS_MUSIC_POP_1_TRACK_WILL_BE_DELETED"
+msgstr "1 kappale poistetaan."
+
+msgid "IDS_MUSIC_POP_ALL_TRACKS_WILL_BE_DELETED"
+msgstr "Kaikki kappaleet poistetaan."
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_WILL_BE_DELETED"
+msgstr "%d kappaletta poistetaan."
+
+msgid "IDS_MUSIC_POP_1_PLAYLIST_WILL_BE_DELETED"
+msgstr "1 soittolista poistetaan."
+
+msgid "IDS_MUSIC_POP_PD_PLAYLISTS_WILL_BE_DELETED"
+msgstr "%d soittolistaa poistetaan."
+
+msgid "IDS_MUSIC_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "%d albumia poistetaan."
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS_WILL_BE_DELETED"
+msgstr "%d esittäjää poistetaan."
+
+msgid "IDS_MUSIC_POP_PD_FOLDERS_WILL_BE_DELETED"
+msgstr "%d kansiota poistetaan."
+
+msgid "IDS_ST_POP_CONNECTION_FAILED"
+msgstr "Yhdistäminen epäonnistui."
+
+msgid "IDS_MUSIC_BODY_CLASSIC"
+msgstr "Klassinen"
+
+msgid "IDS_MUSIC_BODY_ROCK"
+msgstr "Rock"
+
+msgid "IDS_MUSIC_BODY_JAZZ"
+msgstr "Jazz"
+
+msgid "IDS_MUSIC_BODY_POP"
+msgstr "Pop"
+
+msgid "IDS_MUSIC_BODY_AUTO"
+msgstr "Auto"
+
+msgid "IDS_MUSIC_POP_CURRENT_SOUND_EFFECT_NOT_SUPPORTED_BY_HDMI"
+msgstr "HDMI ei tue nykyistä äänitehostetta."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_BLUETOOTH"
+msgstr "Bluetooth ei tue äänitehosteita."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_LINE_OUT"
+msgstr "Linjalähtö ei tue äänitehosteita."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_HDMI"
+msgstr "HDMI ei tue äänitehosteita."
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EFFECT"
+msgstr "Putkivahvistin"
+
+msgid "IDS_MUSIC_BODY_CUSTOM"
+msgstr "Mukautettu"
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EQUALISER_ABB"
+msgstr "Putkivahvistin"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d kappaletta lisätty soittolistaan."
+
+msgid "IDS_MUSIC_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 kappale lisätty soittolistaan."
+
+msgid "IDS_MUSIC_HEADER_ADD_TRACKS_TO_PLAYLIST_ABB"
+msgstr "Lisää kappaleita soittolistaan"
+
+msgid "IDS_MUSIC_POP_PS_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "%s on jo käytössä. Anna toinen nimi."
+
+msgid "IDS_MUSIC_TMBODY_DATE_OF_RECORDING"
+msgstr "Tallennuspäivämäärä"
+
+msgid "IDS_MBP_TPOP_TRACK_SET_AS_ALARM_TONE"
+msgstr "Kappale asetettu hälytysääneksi."
+
+msgid "IDS_MUSIC_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Tuloksia ei löytynyt"
+
+msgid "IDS_MUSIC_OPT_DEFAULT_RINGTONE_ABB"
+msgstr "Oletussoittoääni"
+
+msgid "IDS_MUSIC_TPOP_TRACK_SET_AS_CALLER_RINGTONE"
+msgstr "Kappale asetettu soittajan soittoääneksi."
+
+msgid "IDS_MP_TPOP_TRACK_SET_AS_RINGTONE"
+msgstr "Kappale asetettu soittoääneksi."
+
+msgid "IDS_DLNA_BODY_ADD_TO_NOW_PLAYING_LIST"
+msgstr "Lisää Nyt soi -listaan"
+
+msgid "IDS_MUSIC_TPOP_EQUALISER_SETTINGS_WILL_BE_APPLIED_WHILE_PLAYING_MUSIC"
+msgstr "Taajuuskorjaimen asetukset otetaan käyttöön musiikkia toistettaessa."
+
+msgid "IDS_ST_BODY_ALERT"
+msgstr "Hälytys"
+
+msgid "IDS_IV_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 albumi poistetaan."
+
+msgid "IDS_MUSIC_OPT_SD_CARD"
+msgstr "SD-kort."
+
+msgid "IDS_MUSIC_SBODY_DEVICE_STORAGE"
+msgstr "Laitteen muisti"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE"
+msgstr "Soittolistan nimi on jo käytössä."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_PD"
+msgstr "Soittolista %d"
+
+msgid "IDS_MUSIC_HEADER_CREATE"
+msgstr "Luo"
+
+msgid "IDS_MUSIC_HEADER_EQUALISER_PRESET_ABB"
+msgstr "Taajuuskorjaimen esiasetus"
+
+msgid "IDS_MUSIC_OPT_AUTOMATIC_M_EQUALIZER_EFFECT"
+msgstr "Automaattinen"
+
+msgid "IDS_MUSIC_OPT_CLASSICAL_M_EQUALIZER_EFFECT"
+msgstr "Klassinen"
+
+msgid "IDS_MUSIC_HEADER_ENVIRONMENT_EFFECT_ABB"
+msgstr "Ympäristötehoste"
+
+msgid "IDS_VIDEO_POP_THE_FILE_TYPE_IS_NOT_SUPPORTED"
+msgstr "Tiedostotyyppiä ei tueta."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_CREATE_PLAYLISTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Kun olet luonut soittolistat, ne näytetään täällä."
+
+msgid "IDS_ST_HEADER_SELECT_AUDIO_DEVICE_ABB"
+msgstr "Valitse äänilaite"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "Soittolistan nimi on jo käytössä. Anna toinen nimi."
+
+msgid "IDS_MUSIC_HEADER_SOUNDALIVE_ABB3"
+msgstr "SoundAlive"
+
+msgid "IDS_MUSIC_OPT_NOW_PLAYING_LIST"
+msgstr "Nyt soi -lista"
+
+msgid "IDS_MUSIC_OPT_SHOW_LYRICS"
+msgstr "Näytä sanoitus"
+
+msgid "IDS_MUSIC_OPT_HIDE_LYRICS"
+msgstr "Piilota sanoitus"
+
+msgid "IDS_MUSIC_TPOP_UNABLE_TO_PLAY_MUSIC_DURING_CALLS"
+msgstr "Musiikkia ei voi toistaa puheluiden aikana."
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Poista"
+
+msgid "IDS_MUSIC_HEADER_SELECT"
+msgstr "Valitse"
+
+msgid "IDS_TPLATFORM_OPT_NFC"
+msgstr "NFC"
+
+msgid "IDS_MUSIC_HEADER_UNABLE_TO_PLAY_TRACK"
+msgstr "Kappaletta ei voi toistaa"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "VALMIS"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "PERUUTA"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "POISTA"
+
+msgid "IDS_MUSIC_POP_RENAME"
+msgstr "Nimeä uudelleen"
+
+msgid "IDS_MUSIC_OPT_MESSAGE"
+msgstr "Viesti"
+
+msgid "IDS_MUSIC_SK_OK"
+msgstr "OK"
+
+msgid "IDS_MUSIC_SK_CANCEL"
+msgstr "Peruuta"
+
+msgid "IDS_MUSIC_BUTTON_REFRESH"
+msgstr "Päivitä"
+
+msgid "IDS_MUSIC_BODY_SELECT_ALL"
+msgstr "Valitse kaikki"
+
+msgid "IDS_MUSIC_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_MUSIC_POP_DELETED"
+msgstr "Poistettu."
+
+msgid "IDS_MUSIC_OPT_STOP"
+msgstr "Lopeta"
+
+msgid "IDS_MUSIC_BODY_UNKNOWN"
+msgstr "Tuntematon"
+
+msgid "IDS_MUSIC_BODY_TITLE"
+msgstr "Otsikko"
+
+msgid "IDS_MUSIC_OPT_SENDVIA_EMAIL"
+msgstr "Sähköposti"
+
+msgid "IDS_MUSIC_OPT_BLUETOOTH"
+msgstr "Bluetooth"
+
+msgid "IDS_MUSIC_HEADER_DOWNLOAD"
+msgstr "Lataa"
+
+msgid "IDS_MUSIC_POP_LOW_BATTERY"
+msgstr "Akku on loppumassa."
+
+msgid "IDS_MUSIC_HEADER_AUDIO_DEVICE"
+msgstr "Äänilaite"
+
+msgid "IDS_MUSIC_HEADER_DETAILS"
+msgstr "Yksityiskohdat"
+
+msgid "IDS_MUSIC_OPT_END"
+msgstr "Sulje"
+
+msgid "IDS_MUSIC_OPT_EDIT"
+msgstr "Muokkaa"
+
+msgid "IDS_CAM_HEADER_UPDATED"
+msgstr "Päivitetty."
+
+msgid "IDS_MUSIC_POP_REMOVED"
+msgstr "Poistettu."
+
+msgid "IDS_MUSIC_OPT_SELECTED"
+msgstr "Valittu"
+
+msgid "IDS_ST_BUTTON_SCAN"
+msgstr "Hae"
+
+msgid "IDS_MF_POP_ERROR"
+msgstr "Virhe"
+
+msgid "IDS_MF_POP_MEMORY_FULL"
+msgstr "Muisti on täynnä."
+
+msgid "IDS_MUSIC_MBODY_QUEUE"
+msgstr "Jono"
+
+msgid "IDS_MUSIC_OPT_VOLUME"
+msgstr "Äänenvoimakkuus"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE"
+msgstr "Sekoitus"
+
+msgid "IDS_MUSIC_OPT_REPEAT"
+msgstr "Toista"
+
+msgid "IDS_COM_BODY_DETAILS"
+msgstr "Details"
+
+msgid "IDS_COM_BODY_DETAILS_TITLE"
+msgstr "Title"
+
+msgid "IDS_COM_BODY_EDIT"
+msgstr "Edit"
+
+msgid "IDS_COM_BODY_EMAIL"
+msgstr "Email"
+
+msgid "IDS_COM_BODY_END"
+msgstr "End"
+
+msgid "IDS_COM_BODY_FOLDERS"
+msgstr "Folders"
+
+msgid "IDS_COM_BODY_GALLERY"
+msgstr "Gallery"
+
+msgid "IDS_COM_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_COM_BODY_LOADING"
+msgstr "Loading..."
+
+msgid "IDS_COM_BODY_LOW_BATTERY"
+msgstr "Low battery."
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Message"
+
+msgid "IDS_COM_BODY_MUSIC"
+msgstr "Music"
+
+msgid "IDS_COM_BODY_NFC"
+msgstr "NFC"
+
+msgid "IDS_COM_BODY_NO_CONTENTS"
+msgstr "No content"
+
+msgid "IDS_COM_BODY_PAUSE"
+msgstr "Pause"
+
+msgid "IDS_COM_BODY_PD_SELECTED"
+msgstr "%d selected."
+
+msgid "IDS_COM_BODY_PREVIOUS"
+msgstr "Previous"
+
+msgid "IDS_COM_BODY_RESET_A"
+msgstr "Reset"
+
+msgid "IDS_COM_BODY_SELECTED"
+msgstr "Selected"
+
+msgid "IDS_COM_BODY_SELECT_ALL"
+msgstr "Select all"
+
+msgid "IDS_COM_BODY_SETTINGS"
+msgstr "Settings"
+
+msgid "IDS_COM_BODY_TIME"
+msgstr "Time"
+
+msgid "IDS_COM_BODY_UNABLE_TO_ADD"
+msgstr "Unable to add."
+
+msgid "IDS_COM_BODY_UNKNOWN"
+msgstr "Unknown"
+
+msgid "IDS_COM_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_COM_BUTTON_SCAN"
+msgstr "Scan"
+
+msgid "IDS_COM_BUTTON_SHARE"
+msgstr "Share"
+
+msgid "IDS_COM_HEADER_AUDIO_DEVICE_ABB"
+msgstr "Audio device"
+
+msgid "IDS_COM_OPT_ADDED"
+msgstr "Added."
+
+msgid "IDS_COM_OPT_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_POP_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_POP_CONNECTION_FAILED"
+msgstr "Connection failed."
+
+msgid "IDS_COM_POP_DELETED"
+msgstr "Deleted."
+
+msgid "IDS_COM_POP_DELETE_Q"
+msgstr "Delete?"
+
+msgid "IDS_COM_POP_DONE"
+msgstr "Done"
+
+msgid "IDS_COM_POP_DOWNLOADING"
+msgstr "Downloading..."
+
+msgid "IDS_COM_POP_ERROR"
+msgstr "Error."
+
+msgid "IDS_COM_POP_FAILED"
+msgstr "Failed."
+
+msgid "IDS_COM_POP_FILE_NOT_EXIST"
+msgstr "This file does not exist."
+
+msgid "IDS_COM_POP_FILE_NOT_FOUND"
+msgstr "File not found."
+
+msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximum number of characters reached."
+
+msgid "IDS_COM_POP_MEMORY_FULL"
+msgstr "Memory full."
+
+msgid "IDS_COM_POP_REMOVED"
+msgstr "Removed."
+
+msgid "IDS_COM_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Unable to use during Mass storage mode."
+
+msgid "IDS_COM_POP_UPDATED"
+msgstr "Updated."
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_SK_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_SK_DOWNLOAD"
+msgstr "Download"
+
+msgid "IDS_COM_SK_NEW"
+msgstr "New"
+
+msgid "IDS_COM_SK_NEXT"
+msgstr "Next"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_SK_REFRESH"
+msgstr "Refresh"
+
+msgid "IDS_COM_SK_REMOVE"
+msgstr "Remove"
+
+msgid "IDS_COM_SK_SAVE"
+msgstr "Save"
+
+msgid "IDS_COM_SK_SELECT"
+msgstr "Select"
+
+msgid "IDS_COM_SK_SET"
+msgstr "Set"
+
+msgid "IDS_COM_SK_STOP"
+msgstr "Stop"
+
+
+msgid "IDS_MH_BODY_THE_PLAYLIST_NAME_PS_IS_ALREADY_IN_USE"
+msgstr "The playlist name %s is already in use."
+
+msgid "IDS_MH_BODY_TOTAL"
+msgstr "Total"
+
+msgid "IDS_MH_MBODY_RECENTLY_ADDED_M_SONG"
+msgstr "Recently added"
+
+msgid "IDS_MH_OPT_MORE_INFO_ABB"
+msgstr "More info"
+
+msgid "IDS_MH_POP_ALARM_TONE_SET"
+msgstr "Alarm tone set."
+
+msgid "IDS_MH_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 track added to playlist."
+
+msgid "IDS_MH_TPOP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d tracks added to playlist."
+
+msgid "IDS_MUSIC_OPT_RENAME"
+msgstr "Rename"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Unable to play during call."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Tiedostojen enimmäiskoko on saavutettu."
+
+msgid "IDS_CAM_TPOP_UNABLE_TO_PLAY_MUSIC_WHILE_RECORDING_AUDIO_OR_VIDEO"
+msgstr "Musiikkia ei voi toistaa äänen tai videoiden tallennuksen aikana."
+
--- /dev/null
+msgid "IDS_ST_BODY_LOADING_ING"
+msgstr "Chargement en cours."
+
+msgid "IDS_GALLERY_OPT_PRIVATE_M_CONTENT"
+msgstr "Privé"
+
+msgid "IDS_MF_BODY_TIME"
+msgstr "Heure"
+
+msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
+msgstr "Fichier inexistant"
+
+msgid "IDS_MUSIC_POP_PHONE_RINGTONE"
+msgstr "Sonnerie du téléphone"
+
+msgid "IDS_MUSIC_BODY_DURATION"
+msgstr "Durée"
+
+msgid "IDS_MUSIC_BODY_MUSIC_LOCATION"
+msgstr "Emplacement"
+
+msgid "IDS_MUSIC_BODY_SET_AS_M_RINGTONE"
+msgstr "Définir comme"
+
+msgid "IDS_ST_OPT_ADD_TO_PERSONAL_PAGE"
+msgstr "Ajouter à la page personnelle"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_PERSONAL_PAGE_ABB"
+msgstr "Suppr. de la page perso"
+
+msgid "IDS_ST_POP_MOVE_TO_NORMAL_STORAGE"
+msgstr "Déplacer vers l'espace de stockage normal"
+
+msgid "IDS_ST_POP_MOVE_TO_PERSONAL_STORAGE"
+msgstr "Déplacer vers l'espace de stockage personnel"
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEMS_WILL_BE_MOVED_TO_PS"
+msgstr "Les éléments sélectionnés seront déplacés vers %s."
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEM_WILL_BE_MOVED_TO_PS"
+msgstr "L'élément sélectionné sera déplacé vers %s."
+
+msgid "IDS_VR_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Utilisation impossible en mode Stockage de masse"
+
+msgid "IDS_MUSIC_POP_RINGTONE_ADDED"
+msgstr "Sonnerie ajoutée"
+
+msgid "IDS_CAM_BODY_BUTTON_T_TTS"
+msgstr "Touche"
+
+msgid "IDS_MUSIC_HEADER_SELECT_ITEMS"
+msgstr "Sélectionner éléments"
+
+msgid "IDS_ST_BODY_ADVANCED"
+msgstr "Paramètres avancés"
+
+msgid "IDS_ST_SK_PREVIOUS"
+msgstr "Précédent"
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Fermer"
+
+msgid "IDS_MUSIC_POP_ADDED"
+msgstr "Ajouté"
+
+msgid "IDS_MUSIC_POP_FAILED"
+msgstr "Échec"
+
+msgid "IDS_MUSIC_BODY_NO_SEARCH_RESULTS"
+msgstr "Aucun résultat trouvé"
+
+msgid "IDS_MUSIC_SK_DONE"
+msgstr "Effectué"
+
+msgid "IDS_MUSIC_BODY_NO_ITEMS"
+msgstr "Aucun élément"
+
+msgid "IDS_BR_OPT_ADD_TO_HOME"
+msgstr "Ajouter à l'accueil"
+
+msgid "IDS_BR_SK_NEXT"
+msgstr "Suivant"
+
+msgid "IDS_BR_BODY_DOWNLOADING_ING"
+msgstr "Téléchargement en cours."
+
+msgid "IDS_IV_BODY_FAVOURITE"
+msgstr "Favoris"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_PERSONAL_STORAGE"
+msgstr "Ajouter à l'espace de stockage personnel"
+
+msgid "IDS_DLNA_POP_DISCONNECTED_FROM_PS_CHECK_THE_NETWORK_STATUS_AND_THE_CONNECTED_DEVICE"
+msgstr "Déconnecté de %s. Vérifiez l'état du réseau et le périphérique connecté."
+
+msgid "IDS_DLNA_OPT_VIA_SCREEN_MIRRORING_ABB"
+msgstr "Via Screen Mirroring"
+
+msgid "IDS_DLNA_OPT_VIA_HOME_NETWORK_ABB"
+msgstr "Via le réseau domestique"
+
+msgid "IDS_IV_POP_ENTRY_IS_EMPTY"
+msgstr "Entrée vide"
+
+msgid "IDS_FM_POP_UNAVAILABLE_DURING_CALL"
+msgstr "Non disponible lors d'un appel"
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Nb max de caractères atteint"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_SHARE_DRM_FILE"
+msgstr "Impossible de partager le fichier DRM."
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Suppression..."
+
+msgid "IDS_MUSIC_HEADER_PD_DEVICES"
+msgstr "%d appareils"
+
+msgid "IDS_MUSIC_BUTTON_ENABLE_MOTION"
+msgstr "Act. mouvement"
+
+msgid "IDS_MUSIC_BUTTON_DONT_ASK_AGAIN"
+msgstr "Ne plus demander"
+
+msgid "IDS_MUSIC_BODY_NO_RESULTS_FOUND"
+msgstr "Aucun résultat trouvé"
+
+msgid "IDS_VPL_OPT_HDMI"
+msgstr "HDMI"
+
+msgid "IDS_MUSIC_BODY_TURN_PHONE_OVER_TO_MUTE_INCOMING_CALLS_MESSAGE_ALERTS_AND_ALARMS"
+msgstr "Retournez le téléphone pour couper la sonnerie des appels entrants, des alertes de message et des alarmes."
+
+msgid "IDS_ST_BODY_NONE"
+msgstr "Aucun(e)"
+
+msgid "IDS_ST_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_ST_BODY_GALLERY"
+msgstr "Galerie"
+
+msgid "IDS_ST_BODY_DOUBLE_TAP_TO_MOVE_TO_CONTENT_T_TTS"
+msgstr "Appuyez deux fois pour accéder au contenu."
+
+msgid "IDS_MUSIC_BODY_SURROUND"
+msgstr "Surround"
+
+msgid "IDS_MUSIC_OPT_LYRICS_ABB"
+msgstr "Paroles"
+
+msgid "IDS_MUSIC_POP_AFTER_YOU_ADD_TRACKS_TO_MUSIC_ON_YOUR_MOBILE_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Les morceaux ajoutés à Musique sur votre appareil mobile seront affichés ici."
+
+msgid "IDS_MUSIC_BODY_SAMPLING_RATE"
+msgstr "Fréquence d'échantillonnage"
+
+msgid "IDS_MUSIC_BODY_MARKED_AS_A_FAVOURITE"
+msgstr "Marqué comme favori"
+
+msgid "IDS_MUSIC_BODY_MUSIC"
+msgstr "Musique"
+
+msgid "IDS_MUSIC_BODY_NOT_MARKED_AS_A_FAVOURITE"
+msgstr "Non marqué comme favori"
+
+msgid "IDS_MUSIC_HEADER_SEARCH_MUSIC_ABB"
+msgstr "Recherche audio"
+
+msgid "IDS_MUSIC_POP_AUTO_RECOMMENDATION_DOES_NOT_SUPPORT_THIS_AUDIO_FILE"
+msgstr "La fonction Recommandations auto ne prend pas en charge ce fichier audio."
+
+msgid "IDS_MUSIC_POP_SORRY_THE_PLAYER_DOES_NOT_SUPPORT_THIS_TYPE_OF_AUDIO_FILE"
+msgstr "Le lecteur ne prend pas en charge ce type de fichier audio."
+
+msgid "IDS_MUSIC_BODY_FAVOURITES"
+msgstr "Favoris"
+
+msgid "IDS_MUSIC_BODY_MOST_PLAYED"
+msgstr "Les plus écoutés"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_ADDED"
+msgstr "Ajoutés récemment"
+
+msgid "IDS_MUSIC_OPT_CREATE_PLAYLIST"
+msgstr "Créer une liste de lecture"
+
+msgid "IDS_MUSIC_OPT_REMOVE"
+msgstr "Supprimer"
+
+msgid "IDS_MUSIC_OPT_SETAS_CALLER_RINGTONE"
+msgstr "Sonnerie d'appelant"
+
+msgid "IDS_MUSIC_TAB4_ARTISTS"
+msgstr "Artistes"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD"
+msgstr "Impossible à ajouter."
+
+msgid "IDS_MUSIC_POP_UNABLE_CREATE_PLAYLIST"
+msgstr "Impossible de créer la liste de lecture."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_GET_TAG"
+msgstr "Impossible d'obtenir le libellé."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_MORE_THAN_PD_MUSIC_FILE"
+msgstr "Impossible d'ajouter plus de %d fichier(s) musical/aux."
+
+msgid "IDS_MUSIC_BODY_ALBUM"
+msgstr "Album"
+
+msgid "IDS_MUSIC_BODY_AUTHOR"
+msgstr "Auteur"
+
+msgid "IDS_MUSIC_BODY_COPYRIGHT"
+msgstr "Copyright"
+
+msgid "IDS_MUSIC_BODY_CREATE_PLAYLIST"
+msgstr "Créer une liste de lecture"
+
+msgid "IDS_MUSIC_BODY_DESCRIPTION"
+msgstr "Description"
+
+msgid "IDS_MUSIC_BODY_FORMAT"
+msgstr "Format"
+
+msgid "IDS_MUSIC_BODY_IMPOSSIBLE"
+msgstr "Impossible"
+
+msgid "IDS_MUSIC_BODY_NO_PLAYLISTS"
+msgstr "Aucune liste de lecture"
+
+msgid "IDS_MUSIC_BODY_TRACK_NUMBER"
+msgstr "Numéro de la piste"
+
+msgid "IDS_MUSIC_POP_DELETE_Q"
+msgstr "Supprimer ?"
+
+msgid "IDS_MUSIC_POP_REMOVE_Q"
+msgstr "Supprimer ?"
+
+msgid "IDS_MUSIC_POP_UNABLE_RENAME_PLAYLIST"
+msgstr "Impossible de renommer la liste de lecture."
+
+msgid "IDS_MUSIC_TAB4_ALBUMS"
+msgstr "Albums"
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Ajout en cours..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Supprimer %d albums ?"
+
+msgid "IDS_MUSIC_TAB4_PLAYLISTS"
+msgstr "Listes lecture"
+
+msgid "IDS_MUSIC_OPT_ADD"
+msgstr "Ajouter"
+
+msgid "IDS_MUSIC_BODY_BIOGRAPHY"
+msgstr "Biographie"
+
+msgid "IDS_MUSIC_BODY_CREDITS"
+msgstr "Remerciements"
+
+msgid "IDS_MUSIC_BODY_DETAILS_MEADIA_INFO"
+msgstr "Infos sur le média"
+
+msgid "IDS_MUSIC_BODY_DISCOGRAPHY"
+msgstr "Discographie"
+
+msgid "IDS_MUSIC_BODY_LYRIC"
+msgstr "Paroles"
+
+msgid "IDS_MUSIC_BODY_POSSIBLE"
+msgstr "Possible"
+
+msgid "IDS_MUSIC_BODY_REVIEW"
+msgstr "Compte-rendu"
+
+msgid "IDS_MUSIC_HEADER_TRACK_LIST"
+msgstr "Liste des pistes"
+
+msgid "IDS_MUSIC_BODY_ADD_TO_PLAYLIST"
+msgstr "Ajouter à liste de lecture"
+
+msgid "IDS_MUSIC_BODY_ARTIST"
+msgstr "Artiste"
+
+msgid "IDS_MUSIC_BODY_FORWARDING"
+msgstr "Transfert"
+
+msgid "IDS_MUSIC_BODY_RECORDED_DATE"
+msgstr "Date of recording"
+
+msgid "IDS_MUSIC_BODY_PLAYLISTS"
+msgstr "Listes de lecture"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_PLAYED"
+msgstr "Écoutés récemment"
+
+msgid "IDS_MUSIC_BODY_TRACK_LENGTH"
+msgstr "Durée de la piste"
+
+msgid "IDS_MUSIC_HEADER_NO_SONGS"
+msgstr "Aucun titre"
+
+msgid "IDS_MUSIC_POP_THIS_TRACK_WILL_BE_DELETED"
+msgstr "Ce morceau sera supprimé."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_TRACKS_WILL_BE_DELETED"
+msgstr "Les morceaux sélectionnés seront supprimés."
+
+msgid "IDS_MUSIC_POP_THIS_ARTIST_WILL_BE_DELETED"
+msgstr "Cet artiste sera supprimé."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ARTISTS_WILL_BE_DELETED"
+msgstr "Les artistes sélectionnés seront supprimés."
+
+msgid "IDS_MUSIC_POP_ALL_ARTISTS_WILL_BE_DELETED"
+msgstr "Tous les artistes seront supprimés."
+
+msgid "IDS_MUSIC_POP_THIS_FOLDER_WILL_BE_DELETED"
+msgstr "Ce dossier sera supprimé."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_FOLDERS_WILL_BE_DELETED"
+msgstr "Les dossiers sélectionnés seront supprimés."
+
+msgid "IDS_MUSIC_POP_ALL_FOLDERS_WILL_BE_DELETED"
+msgstr "Tous les dossiers seront supprimés."
+
+msgid "IDS_MUSIC_POP_THIS_ALBUM_WILL_BE_DELETED"
+msgstr "Cet album sera supprimé."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ALBUMS_WILL_BE_DELETED"
+msgstr "Les albums sélectionnés seront supprimés."
+
+msgid "IDS_MUSIC_POP_ALL_ALBUMS_WILL_BE_DELETED"
+msgstr "Tous les albums seront supprimés."
+
+msgid "IDS_MUSIC_POP_THIS_PLAYLIST_WILL_BE_DELETED"
+msgstr "Cette liste de lecture sera supprimée."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Les listes de lecture sélectionnées seront supprimées."
+
+msgid "IDS_MUSIC_POP_ALL_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Toutes les listes de lecture seront supprimées."
+
+msgid "IDS_MUSIC_HEADER_SONGS"
+msgstr "Chansons"
+
+msgid "IDS_MUSIC_OPT_REORDER"
+msgstr "Réorganiser"
+
+msgid "IDS_MUSIC_OPT_SAVE_AS_PLAYLIST"
+msgstr "Enregistrer comme liste de lecture"
+
+msgid "IDS_MUSIC_OPT_SETAS_ALARM_TONE"
+msgstr "Tonalité de l'alarme"
+
+msgid "IDS_MUSIC_POP_NOTHING_SELECTED"
+msgstr "Aucune sélection."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Lecture impossible. Une erreur s'est produite."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_UNSUPPORTED_FILETYPE"
+msgstr "Lecture impossible. Type de fichier non pris en charge"
+
+msgid "IDS_MUSIC_SK_SHARE"
+msgstr "Partager"
+
+msgid "IDS_MUSIC_TAB4_CONDUCTORS"
+msgstr "Chefs d'orch."
+
+msgid "IDS_MUSIC_HEADER_SELECT_DEVICE"
+msgstr "Sélectionnez un appareil"
+
+msgid "IDS_MUSIC_SK_VIEW_AS"
+msgstr "Affichage"
+
+msgid "IDS_MUSIC_BODY_SOUNDEFFECTS_NORMAL"
+msgstr "Standard"
+
+msgid "IDS_MUSIC_BODY_USER"
+msgstr "Utilisateur"
+
+msgid "IDS_MUSIC_BODY_VOCAL_M_SOUNDEFFECT"
+msgstr "Chant"
+
+msgid "IDS_MUSIC_MBODY_BASS_BOOST"
+msgstr "Amplification des basses"
+
+msgid "IDS_MUSIC_MBODY_TREBLE_BOOST"
+msgstr "Amplification des aigus"
+
+msgid "IDS_MUSIC_BODY_CAFE_M_SOUNDEFFECT"
+msgstr "Café"
+
+msgid "IDS_MUSIC_OPT_VIRTUAL_71_CH"
+msgstr "Canal 7.1 virtuel"
+
+msgid "IDS_MUSIC_OPT_AFTER_15_MIN_ABB"
+msgstr "Après 15 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_30_MIN"
+msgstr "Après 30 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HOUR"
+msgstr "Après 1 heure"
+
+msgid "IDS_MUSIC_POP_AFTER_1_HOUR_30_MIN"
+msgstr "Après 1 heure 30 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_2_HOURS"
+msgstr "Après 2 heures"
+
+msgid "IDS_MUSIC_BODY_MUSIC_AUTO_OFF"
+msgstr "Arrêt auto de la musique"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES_ONLY"
+msgstr "L'effet sonore fonctionne uniquement avec le mode Écouteur et le casque Bluetooth."
+
+msgid "IDS_MUSIC_TAB4_MUSIC_SQUARE"
+msgstr "Coin musique"
+
+msgid "IDS_MUSIC_POP_NOT_ENOUGH_MUSIC_FILES_TO_PLAY_IN_MUSIC_SQUARE_AT_LEAST_PD_MUSIC_FILES_REQUIRED"
+msgstr "Nombre de fichiers musicaux insuffisant pour la lecture dans Coin musique. Au moins %d fichiers musicaux requis."
+
+msgid "IDS_MUSIC_BODY_PASSION_M_MOOD"
+msgstr "Passion"
+
+msgid "IDS_MUSIC_BODY_CALM_M_ADJECTIVE"
+msgstr "Calme"
+
+msgid "IDS_MUSIC_BODY_JOY_M_MOOD"
+msgstr "Joie"
+
+msgid "IDS_MUSIC_BODY_LIBRARY_UPDATE"
+msgstr "Mise à jour de la bibliothèque"
+
+msgid "IDS_MUSIC_POP_UPDATE_LIBRARY_Q"
+msgstr "Mettre à jour la bibliothèque ?"
+
+msgid "IDS_MUSIC_BODY_CHANGE_AXIS"
+msgstr "Modifier l'axe"
+
+msgid "IDS_MUSIC_ITAB4_GENRES"
+msgstr "Genres"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_1_TRACK"
+msgstr "1 album/1 morceau"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_PD_TRACKS"
+msgstr "1 album/%d morceaux"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS_PD_TRACKS"
+msgstr "%d albums/%d morceaux"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_CONTROL_MUSIC_PLAYER_WITH_THE_VOICE_COMMANDS_P1SS_P2SS_P3SS_P4SS_P5SS_AND_P6SS"
+msgstr "Vous pouvez contrôler le lecteur MP3 avec les commandes vocales %1$s, %2$s, %3$s, %4$s, %5$s et %6$s."
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_PD_TRACKS"
+msgstr "Lecture de %d morceaux en mode aléatoire"
+
+msgid "IDS_MUSIC_BODY_MORE_INFO"
+msgstr "Plus d'infos"
+
+msgid "IDS_MUSIC_HEADER_MY_MUSIC_M_APPLICATION_NAME"
+msgstr "Ma musique"
+
+msgid "IDS_MUSIC_OPT_LIST_VIEW"
+msgstr "Affichage Liste"
+
+msgid "IDS_MUSIC_OPT_PLAY_VIA_GROUP_PLAY"
+msgstr "Lire via Group Play"
+
+msgid "IDS_MUSIC_POP_TRACK_ADDED_TO_FAVOURITES"
+msgstr "Morceau ajouté aux favoris"
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_FAVOURITES"
+msgstr "Supprimer des favoris"
+
+msgid "IDS_MUSIC_BODY_NEW_M_LATEST"
+msgstr "Nouveau"
+
+msgid "IDS_MUSIC_OPT_TRACKS"
+msgstr "Pistes"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL"
+msgstr "Miniature"
+
+msgid "IDS_MUSIC_SK_LIST"
+msgstr "Liste"
+
+msgid "IDS_MUSIC_SK_OPEN_PLAYLIST"
+msgstr "Ouvrir la liste de lecture"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALL"
+msgstr "Écouter tout"
+
+msgid "IDS_MUSIC_POP_SELECTED_LIST_EMPTY"
+msgstr "La liste sélectionnée est vide."
+
+msgid "IDS_MUSIC_BODY_MOODS"
+msgstr "Ambiances"
+
+msgid "IDS_MUSIC_BUTTON_YEARS"
+msgstr "Années"
+
+msgid "IDS_MUSIC_BODY_OLD"
+msgstr "Ancien"
+
+msgid "IDS_MUSIC_BODY_MUSIC_SQUARE_ANALYSES_THE_CHARACTERISTICS_OF_MUSIC_FILES_STORED_ON_YOUR_DEVICE_AND_AUTOMATICALLY_CREATES_PLAYLISTS_MSG"
+msgstr "Coin musique analyse les caractéristiques des fichiers musicaux stockés dans votre appareil et crée automatiquement des listes de lecture."
+
+msgid "IDS_MUSIC_BODY_PLAY_TRACKS_WITH_SIMILAR_CHARACTERISTICS_BY_SELECTING_A_SQUARE_ON_THE_SCREEN"
+msgstr "Lire la liste de lecture avec des caractéristiques similaires en sélectionnant un carré à l'écran."
+
+msgid "IDS_MUSIC_BODY_VIEW_PLAYLIST_DETAILS_BY_TAPPING_AND_HOLDING_THE_SQUARE_CURRENTLY_BEING_PLAYED"
+msgstr "Afficher les détails de la liste de lecture en maintenant votre doigt appuyé sur le carré en cours de lecture."
+
+msgid "IDS_MUSIC_BODY_NEARBY_DEVICES"
+msgstr "Appareils à proximité"
+
+msgid "IDS_MUSIC_POP_YOU_WILL_NEED_TO_UPDATE_THE_LIBRARY_IF_NEW_SONGS_HAVE_BEEN_ADDED"
+msgstr "Si de nouveaux morceaux ont été ajoutés, vous devrez mettre à jour votre bibliothèque."
+
+msgid "IDS_MUSIC_BODY_NO_ALBUMS"
+msgstr "Aucun album"
+
+msgid "IDS_MUSIC_BODY_NO_ARTISTS"
+msgstr "Aucun artiste"
+
+msgid "IDS_MUSIC_OPT_PLAY_SPEED_ABB"
+msgstr "Vitesse de lecture"
+
+msgid "IDS_MUSIC_BODY_CONCERT_HALL_M_SOUNDEFFECT"
+msgstr "Salle de concert"
+
+msgid "IDS_MUSIC_OPT_ADD_TO"
+msgstr "Ajouter à"
+
+msgid "IDS_MUSIC_SK_VIEW"
+msgstr "Afficher"
+
+msgid "IDS_MUSIC_OPT_LISTBY_RECENTLY_ADDED"
+msgstr "Ajoutés récemment"
+
+msgid "IDS_MUSIC_BODY_NOT_USED"
+msgstr "Non utilisé"
+
+msgid "IDS_MUSIC_BODY_MAKE_AVAILABLE_OFFLINE"
+msgstr "Rendre disponible hors-ligne"
+
+msgid "IDS_MUSIC_OPT_AFTER_P1SD_HRS_P2SD_MINS"
+msgstr "Après %1$d h %2$d min"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS"
+msgstr "Après %d h"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_MINS"
+msgstr "Après %d min"
+
+msgid "IDS_MUSIC_BODY_NO_FOLDERS"
+msgstr "Aucun dossier"
+
+msgid "IDS_MUSIC_BODY_NO_TRACKS"
+msgstr "Aucune piste"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS"
+msgstr "%d albums"
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS"
+msgstr "%d artistes"
+
+msgid "IDS_MUSIC_BODY_PD_GENRES"
+msgstr "%d genres"
+
+msgid "IDS_MUSIC_BODY_PD_PLAYLISTS"
+msgstr "%d listes de lecture"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_ABB"
+msgstr "%d pistes"
+
+msgid "IDS_MUSIC_BODY_PLAYLIST"
+msgstr "Liste de lecture"
+
+msgid "IDS_MUSIC_HEADER_SIMILAR_ALBUMS"
+msgstr "Albums similaires"
+
+msgid "IDS_MUSIC_HEADER_TRACK"
+msgstr "Piste"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL_VIEW"
+msgstr "Affichage miniature"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "Cet effet sonore est uniquement disponible en mode écouteur."
+
+msgid "IDS_MUSIC_OPT_ALL_CONTENT_ABB2"
+msgstr "Tout le contenu"
+
+msgid "IDS_MUSIC_BODY_A_NETWORK_CONNECTION_IS_REQUIRED_TO_PLAY_THIS_FILE_CHECK_YOUR_NETWORK_CONNECTION_AND_TRY_AGAIN"
+msgstr "Une connexion réseau est nécessaire pour lire ce fichier. Vérifiez votre connexion réseau, puis réessayez."
+
+msgid "IDS_MUSIC_POP_FILE_TYPE_NOT_SUPPORTED"
+msgstr "Type de fichier non pris en charge"
+
+msgid "IDS_MUSIC_POP_UPDATING_ING"
+msgstr "Mise à jour..."
+
+msgid "IDS_MUSIC_OPT_SEARCH_ABB"
+msgstr "Rechercher"
+
+msgid "IDS_MUSIC_OPT_SEARCH_BY"
+msgstr "Rechercher par"
+
+msgid "IDS_MUSIC_BODY_RELATED_VIDEOS"
+msgstr "Vidéos associées"
+
+msgid "IDS_MUSIC_BODY_SMART_VOLUME_ABB"
+msgstr "Volume intelligent"
+
+msgid "IDS_MUSIC_BODY_THE_VOLUME_OF_ALL_TRACKS_WILL_BE_ADJUSTED_TO_LEVEL_PD"
+msgstr "Le volume de toutes les pistes sera ajusté au niveau %d."
+
+msgid "IDS_MUSIC_HEADER_SMART_VOLUME_IS_ENABLED"
+msgstr "Volume intelligent est activé"
+
+msgid "IDS_MUSIC_OPT_CONNECTION_INFO_ABB"
+msgstr "Infos connexion"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_PD_MINS"
+msgstr "Après 1 h %d min"
+
+msgid "IDS_MUSIC_BODY_ADAPT_SOUND_ABB"
+msgstr "Adapt Sound"
+
+msgid "IDS_MUSIC_BODY_MY_DEVICE"
+msgstr "Mon appareil"
+
+msgid "IDS_MUSIC_POP_LISTENING_AT_A_HIGH_VOLUME_FOR_A_LONG_TIME_MAY_DAMAGE_YOUR_HEARING_RAISE_THE_VOLUME_ABOVE_SAFE_LEVELS_Q"
+msgstr "Une écoute prolongée à fort volume peut endommager vos oreilles. Voulez-vous augmenter le volume au-delà du seuil de sécurité ?"
+
+msgid "IDS_MUSIC_POP_ALREADY_EXISTS"
+msgstr "Existe déjà"
+
+msgid "IDS_MUSIC_OPT_SCAN_FOR_NEARBY_DEVICES"
+msgstr "Rechercher des périphériques"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR"
+msgstr "Après 1 h"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_1_MIN"
+msgstr "Après 1 h 1 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS_1_MIN"
+msgstr "Après %d h 1 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_MIN"
+msgstr "Après 1 min"
+
+msgid "IDS_MUSIC_OPT_GO_TO_STORE"
+msgstr "Accéder au magasin"
+
+msgid "IDS_MUSIC_SK3_ADD_TRACKS"
+msgstr "Ajouter pistes"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FROM_MUSIC_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Les morceaux téléchargés depuis Musique seront affichés ici."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_YOUR_FAVOURITES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Les morceaux ajoutés aux favoris seront affichés ici."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_PLAY_TRACKS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Les morceaux écoutés seront affichés ici."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_PS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Les morceaux ajoutés à %s seront affichés ici."
+
+msgid "IDS_MUSIC_BODY_NO_PURCHASED_CONTENT"
+msgstr "Aucun contenu acheté"
+
+msgid "IDS_MUSIC_SK_SAVE_AS"
+msgstr "Enregistrer sous"
+
+msgid "IDS_MUSIC_POP_MUSICPLAYER_UPDATING_FAILED"
+msgstr "Échec mise à jour."
+
+msgid "IDS_MUSIC_BODY_EXCITING_M_ADJECTIVE"
+msgstr "Passionnant"
+
+msgid "IDS_MUSIC_BODY_SEARCH_MY_MUSIC"
+msgstr "Rechercher ma musique"
+
+msgid "IDS_MUSIC_HEADER_CONNECTED_DEVICES"
+msgstr "Appareils connectés"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST_PS"
+msgstr "Ma liste de lecture %s"
+
+msgid "IDS_MUSIC_BODY_NO_DEVICES"
+msgstr "Aucun périphérique"
+
+msgid "IDS_MUSIC_HEADER_AVAILABLE_DEVICES_ABB"
+msgstr "Périph. disponibles"
+
+msgid "IDS_MUSIC_POP_SET"
+msgstr "Appliqué"
+
+msgid "IDS_MUSIC_POP_REMOVE_FAILED"
+msgstr "Échec de la suppression."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_USE_FAST_FORWARD_AND_REWIND_WHEN_NEARBY_DEVICES_ARE_ENABLED"
+msgstr "Impossible d'utiliser les fonctions d'avance et de retour rapides lorsque la fonction AllShare est activée."
+
+msgid "IDS_MUSIC_OPT_SET_AS"
+msgstr "Définir comme"
+
+msgid "IDS_MUSIC_OPT_HEADPHONES_ABB"
+msgstr "Écouteurs"
+
+msgid "IDS_MUSIC_OPT_SPEAKER"
+msgstr "Haut-parleur"
+
+msgid "IDS_MUSIC_BODY_1_SONG"
+msgstr "1 titre"
+
+msgid "IDS_MUSIC_BODY_PD_SONGS"
+msgstr "%d titres"
+
+msgid "IDS_MUSIC_BODY_1_TRACK"
+msgstr "1 piste"
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_1_TRACK"
+msgstr "Mode aléatoire 1 morceau"
+
+msgid "IDS_MUSIC_POP_NO_MUSIC_FOUND_FOR_SELECTED_CELL"
+msgstr "Aucune musique trouvée pour la cellule sélectionnée"
+
+msgid "IDS_MUSIC_BODY_DO_NOT_SHOW_AGAIN"
+msgstr "Ne plus afficher"
+
+msgid "IDS_MUSIC_BODY_VARIOUS_ARTISTS"
+msgstr "Artistes divers"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_HOME_SCREEN_ABB"
+msgstr "Ajouter à l'écran d'accueil"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_FAVOURITES"
+msgstr "Ajouter aux favoris"
+
+msgid "IDS_MUSIC_OPT_EDIT_TITLE"
+msgstr "Modifier le titre"
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_PERSONAL_STORAGE"
+msgstr "Supprimer de l'espace de stockage personnel"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FOLDERS_WILL_BE_SHOWN"
+msgstr "Lorsque vous aurez téléchargé des morceaux, des dossiers seront affichés"
+
+msgid "IDS_MUSIC_BODY_SETTINGS_VOLUME"
+msgstr "Volume"
+
+msgid "IDS_MUSIC_BODY_REPEAT_OFF"
+msgstr "Répétition désactivée"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_REPEAT_ALL"
+msgstr "Répéter tout"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_OFF"
+msgstr "Lecture aléatoire"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_ON"
+msgstr "Lecture aléatoire"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST"
+msgstr "Ma liste de lecture"
+
+msgid "IDS_MUSIC_MBODY_DEFAULT_PLAYLISTS"
+msgstr "Listes lecture par défaut"
+
+msgid "IDS_MUSIC_BODY_DETAILS_RECORDING_DATE"
+msgstr "Date d'enregistrement"
+
+msgid "IDS_MUSIC_OPT_ALBUM_ART_ABB"
+msgstr "Pochette"
+
+msgid "IDS_MUSIC_BODY_1_GENRE"
+msgstr "1 genre"
+
+msgid "IDS_MUSIC_BODY_PD_FOLDERS"
+msgstr "%d dossiers"
+
+msgid "IDS_MUSIC_BODY_1_FOLDER"
+msgstr "1 dossier"
+
+msgid "IDS_MUSIC_BODY_1_ARTIST"
+msgstr "1 artiste"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_M_MUSIC"
+msgstr "1 album"
+
+msgid "IDS_MUSIC_BODY_1_PLAYLIST"
+msgstr "1 liste de lecture"
+
+msgid "IDS_MUSIC_BODY_MUSIC_PLAYER"
+msgstr "Lecteur MP3"
+
+msgid "IDS_MUSIC_BUTTON_MOVE"
+msgstr "Déplacer"
+
+msgid "IDS_MUSIC_BUTTON_AUTO_RECOMMENDATIONS"
+msgstr "Recommandations auto"
+
+msgid "IDS_MUSIC_BUTTON_FROM_THE_BEGINNING"
+msgstr "Depuis le début"
+
+msgid "IDS_MUSIC_HEADER_SUGGESTIONS_FOR_YOU"
+msgstr "Suggestions pour vous"
+
+msgid "IDS_MUSIC_OPT_SAVE"
+msgstr "Enregistrer"
+
+msgid "IDS_MUSIC_TAB4_BASIC_M_EQUALIZING"
+msgstr "Basique"
+
+msgid "IDS_MUSIC_BODY_INSTRUMENT"
+msgstr "Instrument"
+
+msgid "IDS_MUSIC_BODY_TREBLE_M_EQUALISER"
+msgstr "Aigu"
+
+msgid "IDS_MUSIC_BODY_BASS_M_EQUALISER"
+msgstr "Basse"
+
+msgid "IDS_MUSIC_BODY_NO_EFFECTS_ARE_APPLIED_IN_THIS_MODE_ABB"
+msgstr "Aucun effet n'est appliqué dans ce mode."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_TIMBRE_OF_A_TUBE_AMP_ABB"
+msgstr "Simule le timbre d'un ampli à lampe."
+
+msgid "IDS_MUSIC_OPT_TUBE_AMP_EFFECT"
+msgstr "Effet ampli à lampe"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_EFFECT_OF_VIRTUAL_71_CHANNEL_SURROUND_SOUND_ABB"
+msgstr "Simule les effets sonores du canal 7.1 virtuel."
+
+msgid "IDS_MUSIC_HEADER_SMALL_ROOM_M_REVERB_ABB"
+msgstr "Petite pièce"
+
+msgid "IDS_MUSIC_HEADER_LARGE_ROOM_M_REVERB_ABB"
+msgstr "Grande pièce"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_LARGE_ROOM_EG_A_THEATRE_ABB"
+msgstr "Simule la réverb. d'une grande pièce, par ex. un théâtre."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_CONCERT_HALL_ABB"
+msgstr "Simule la réverbération d'une salle de concert."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_SMALL_SPACE_EG_A_STUDIO_ABB"
+msgstr "Simule la réverb. d'un petit espace, par exemple un studio."
+
+msgid "IDS_MUSIC_BUTTON_3D_CHN"
+msgstr "3D"
+
+msgid "IDS_MUSIC_BODY_CLARITY_M_SOUNDEFFECT"
+msgstr "Netteté"
+
+msgid "IDS_MUSIC_BUTTON_RESET"
+msgstr "Réinit."
+
+msgid "IDS_MUSIC_TAB_YEARS"
+msgstr "Années"
+
+msgid "IDS_MUSIC_TAB_GENRES"
+msgstr "Genres"
+
+msgid "IDS_MUSIC_TAB_COMPOSERS"
+msgstr "Compositeurs"
+
+msgid "IDS_MUSIC_TAB_ALL_TRACKS"
+msgstr "Toutes les pistes"
+
+msgid "IDS_MUSIC_SK3_GO_TO_QUICK_LIST"
+msgstr "Accès liste rap."
+
+msgid "IDS_MUSIC_SK3_FIND"
+msgstr "Rechercher"
+
+msgid "IDS_MUSIC_SK3_ADD_TO_QUICK_LIST"
+msgstr "Ajout liste rapide"
+
+msgid "IDS_MUSIC_POP_UNAUTHORISED_VIDEO_FILE_FOR_TV_OUT"
+msgstr "Fichier vidéo non autorisé pour la sortie TV"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_CREATE_MAXIMUM_NUMBER_OF_PLAYLISTS_REACHED"
+msgstr "Création impossible. Nombre maximum de liste de lecture atteint."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTING_BLUETOOTH_HEADSET"
+msgstr "Impossible de régler le volume tout en connectant un casque Bluetooth."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTED_TO_BLUETOOTH_HEADSET"
+msgstr "Impossible de régler le volume si un casque Bluetooth est connecté."
+
+msgid "IDS_MUSIC_POP_STOP_MUSIC_PLAYER_Q"
+msgstr "Arrêter le Lecteur MP3 ?"
+
+msgid "IDS_MUSIC_POP_PLEASE_EXIT_SILENT_MODE"
+msgstr "Quittez le profil Discret."
+
+msgid "IDS_MUSIC_POP_NETWORK_FAILURE"
+msgstr "Échec réseau"
+
+msgid "IDS_MUSIC_POP_MEMORY_CARD_LOADED"
+msgstr "Carte mémoire chargée"
+
+msgid "IDS_MUSIC_POP_DEVICE_SETTINGS_ERROR"
+msgstr "Erreur de paramètres du périphérique"
+
+msgid "IDS_MUSIC_POP_COULD_NOT_FIND_A_MATCH_FOR_THE_SONG"
+msgstr "Aucune correspondance pour cette chanson."
+
+msgid "IDS_MUSIC_POP_BUFFERING_MSTATUS"
+msgstr "Mise en mémoire"
+
+msgid "IDS_MUSIC_POP_BT_HEADSET_ONLY_SUPPORTS_NORMAL_EFFECTS_SETTING"
+msgstr "Le casque BT ne prend en charge que les effets normaux."
+
+msgid "IDS_MUSIC_POP_APPLICATION_WILL_BE_CLOSED"
+msgstr "L'application va se fermer."
+
+msgid "IDS_MUSIC_POP_ADDED_GO_TO_WISH_LIST_Q"
+msgstr "Ajouté. Accéder à la liste des achats prévus ?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_THE_SERVICE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "L'accès au service peut être facturé. Continuer ?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_STORE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "L'accès au magasin peut être facturé. Continuer ?"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_ONLY_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES"
+msgstr "L'effet sonore 5.1 fonctionne uniquement avec le mode Écouteur et le casque Bluetooth."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "L'effet sonore 5.1 ne fonctionne qu'en mode Écouteur uniquement."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECTS_NOT_SUPPORTED_BY_SPEAKER"
+msgstr "Les effets sonores du canal 5.1 ne sont pas pris en charge par le haut-parleur."
+
+msgid "IDS_MUSIC_OPT_VIEW_BY_COVER_ART"
+msgstr "Afficher par illustration"
+
+msgid "IDS_MUSIC_OPT_SEND_TRACK"
+msgstr "Envoyer piste"
+
+msgid "IDS_MUSIC_OPT_RATE_TRACK"
+msgstr "Evaluer ce titre"
+
+msgid "IDS_MUSIC_OPT_PLAYLIST_MOVE_TRACK_IN_PLAYLIST"
+msgstr "Copier dans la liste de lecture"
+
+msgid "IDS_MUSIC_OPT_OPENPLAYLIST_CURRENT"
+msgstr "En cours"
+
+msgid "IDS_MUSIC_OPT_DELETE_PLAYLIST"
+msgstr "Supprimer liste de lecture"
+
+msgid "IDS_MUSIC_OPT_BACKGROUND_PLAYING"
+msgstr "Lecture en arrière-plan"
+
+msgid "IDS_MUSIC_HEADER_EFFECTS"
+msgstr "Effets"
+
+msgid "IDS_MUSIC_BUTTON_BUY_NOW"
+msgstr "Acheter"
+
+msgid "IDS_MUSIC_BODY_WOW_HD"
+msgstr "Wow HD"
+
+msgid "IDS_MUSIC_BODY_WISHLIST"
+msgstr "Liste des achats prévus"
+
+msgid "IDS_MUSIC_BODY_WIDE"
+msgstr "Espace ouvert"
+
+msgid "IDS_MUSIC_BODY_WHA_WHA"
+msgstr "Wha Wha"
+
+msgid "IDS_MUSIC_BODY_VIBE_WOOFER"
+msgstr "Haut-parleur de graves"
+
+msgid "IDS_MUSIC_BODY_TREMOLO"
+msgstr "Trémolo"
+
+msgid "IDS_MUSIC_BODY_TAP_TWICE_TO_PLAY_PAUSE_MUSIC"
+msgstr "Appuyez 2 fois pour lire/arrêter musique."
+
+msgid "IDS_MUSIC_BODY_SHARE_TRACK_VIA_BLUETOOTH"
+msgstr "Partager la piste via Bluetooth"
+
+msgid "IDS_MUSIC_BODY_SETUPWIZARD_WELCOME_TO_THE_MUSIC_SETUP_WIZARD_CONTINUE_Q"
+msgstr "Bienvenue dans l'assistant de configuration de la musique.\nDes instructions vont s'afficher pour vous aider à configurer votre téléphone. Continuer ?"
+
+msgid "IDS_MUSIC_BODY_QUICK_LIST"
+msgstr "Liste rapide"
+
+msgid "IDS_MUSIC_BODY_PLAYINGSETTINGS_SOUND_EFFECTS"
+msgstr "Effets sonores"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_ALL"
+msgstr "Tout"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_1"
+msgstr "1"
+
+msgid "IDS_MUSIC_BODY_PLAYERSETTINGS_VOLUME"
+msgstr "Volume"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_SELECTED"
+msgstr "%d pistes sélectionnées"
+
+msgid "IDS_MUSIC_BODY_NO_PODCASTS"
+msgstr "Aucun podcast"
+
+msgid "IDS_MUSIC_BODY_FIND_SIMILAR"
+msgstr "Rechercher des titres similaires"
+
+msgid "IDS_MUSIC_BODY_BACKGROUND_PLAY"
+msgstr "Lecture en arrière-plan"
+
+msgid "IDS_MUSIC_BODY_51_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "Le canal 5.1 ne peut être activé que si les effets sonores sont désactivés."
+
+msgid "IDS_MUSIC_TAB4_PODCASTS"
+msgstr "Podcasts"
+
+msgid "IDS_MUSIC_SK2_EDIT_IMAGE"
+msgstr "Modif. image"
+
+msgid "IDS_MUSIC_POP_PLAYING_ANY_SOUNDS_WILL_STOP_AND_SAVE_YOUR_VOICE_RECORDING_PLAY_Q"
+msgstr "La lecture d'un contenu audio va interrompre et enregistrer votre enregistrement vocal. Lire le contenu audio ?"
+
+msgid "IDS_MUSIC_POP_MAXIMUM_NUMBER_OF_ITEMS_HPD_SELECTED"
+msgstr "Nombre maximum d'éléments (%d) sélectionnés"
+
+msgid "IDS_MUSIC_POP_BLUETOOTH_DISCONNECTED"
+msgstr "Bluetooth déconnecté"
+
+msgid "IDS_MUSIC_POP_5_1_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "Le canal 5.1 ne peut être activé que si les effets sonores sont désactivés."
+
+msgid "IDS_MUSIC_OPT_TAKE_PICTURE"
+msgstr "Photographier"
+
+msgid "IDS_MUSIC_OPT_SHOW_MUSIC_VIEW_ABB"
+msgstr "Afficher la vue Musique"
+
+msgid "IDS_MUSIC_OPT_PAUSE"
+msgstr "Pause"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALBUM"
+msgstr "Écouter l'album"
+
+msgid "IDS_MUSIC_OPT_LIST_BY"
+msgstr "Trier par"
+
+msgid "IDS_MUSIC_OPT_HISTORY"
+msgstr "Historique"
+
+msgid "IDS_MUSIC_OPT_HIDE_MUSIC_VIEW_ABB"
+msgstr "Masquer la vue Musique"
+
+msgid "IDS_MUSIC_OPT_FIND_TAG"
+msgstr "Rechercher tag"
+
+msgid "IDS_MUSIC_OPT_DROPBOX_CONTENT_ABB"
+msgstr "Contenu Dropbox"
+
+msgid "IDS_MUSIC_OPT_CONTENT_ON_PHONE_ABB"
+msgstr "Cont. sur téléph."
+
+msgid "IDS_MUSIC_OPT_CHANGE_IMAGE"
+msgstr "Modifier l'image"
+
+msgid "IDS_MUSIC_HEADER_DELETE_DROPBOX_DATA_ABB"
+msgstr "Suppr. données Dropbox"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_STREAM_YOUR_MUSIC_TO_DEVICES_USING_ALLSHARE"
+msgstr "Vous pouvez diffuser votre musique sur des périphériques via AllShare."
+
+msgid "IDS_MUSIC_BODY_VALIDITY"
+msgstr "Validité"
+
+msgid "IDS_MUSIC_BODY_TYPE_CNOUN"
+msgstr "Type"
+
+msgid "IDS_MUSIC_BODY_THIS_WILL_DELETE_THE_FILE_FROM_THE_SERVER_AND_ANY_CONNECTED_DEVICES_AS_WELL"
+msgstr "Le fichier sera supprimé du serveur et des appareils connectés."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_ARTISTS"
+msgstr "Artistes"
+
+msgid "IDS_MUSIC_BODY_PLAYINGDETAILS_ALBUM_ART"
+msgstr "Illustration de l'album"
+
+msgid "IDS_MUSIC_BODY_OTHER_CONTENTS"
+msgstr "Autres contenus"
+
+msgid "IDS_MUSIC_BODY_NAME_TOO_LONG"
+msgstr "Nom trop long"
+
+msgid "IDS_MUSIC_BODY_MUSIC_CLARITY"
+msgstr "Clarté musicale"
+
+msgid "IDS_MUSIC_BODY_HIGH_VOLUMES_MAY_HARM_YOUR_HEARING_IF_YOU_LISTEN_FOR_A_LONG_TIME"
+msgstr "L'écoute prolongée de musique à un volume élevé risque d'endommager votre audition."
+
+msgid "IDS_MUSIC_BODY_AVAILABLE_USES"
+msgstr "Utilisations disponibles"
+
+msgid "IDS_MUSIC_TPOP_SOUND_EFFECTS_ONLY_AVAILABLE_WHILE_HEADPHONES_CONNECTED"
+msgstr "Les effets sonores sont uniquement disponibles lorsque les écouteurs sont connectés."
+
+msgid "IDS_ST_OPT_ADD_TO_YOUR_PERSONAL_STORAGE"
+msgstr "Ajouter à votre espace de stockage personnel"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_YOUR_PERSONAL_STORAGE"
+msgstr "Supprimer de votre espace de stockage personnel"
+
+msgid "IDS_ST_BODY_CONTEXTUAL_POP_UP_T_TALKBACK"
+msgstr "Fenêtre contextuelle"
+
+msgid "IDS_ST_BODY_A_CONTEXTUAL_POP_UP_IS_OPEN_DOUBLE_TAP_TO_CLOSE_IT_T_TALKBACK"
+msgstr "Une fenêtre contextuelle est ouverte. Appuyez deux fois pour la fermer."
+
+msgid "IDS_ST_BODY_REPEAT_ONE"
+msgstr "Répéter une fois"
+
+msgid "IDS_ST_BUTTON_MOVING_ING"
+msgstr "Déplacement..."
+
+msgid "IDS_HS_BODY_SELECT_UP_TO_PD_ITEMS"
+msgstr "Sélectionnez jusqu'à %d éléments"
+
+msgid "IDS_CAM_BODY_TAB_T_TTS"
+msgstr "Onglet"
+
+msgid "IDS_DLNA_OPT2_CHANGE_PLAYER"
+msgstr "Modifier le lecteur"
+
+msgid "IDS_BR_SK_TABS"
+msgstr "Onglets"
+
+msgid "IDS_MF_BODY_DROPBOX_ABB"
+msgstr "Dropbox"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "La fonction de Recommandations auto propose un extrait des fichiers audio."
+
+msgid "IDS_MF_BODY_PARENT_RATING"
+msgstr "Classement parental"
+
+msgid "IDS_VR_POP_FILE_NOT_FOUND"
+msgstr "Fichier introuvable"
+
+msgid "IDS_PB_POP_CALLER_RINGTONE_SAVED"
+msgstr "Sonnerie appelant enregistrée"
+
+msgid "IDS_MUSIC_BODY_BIT_DEPTH"
+msgstr "Résolution"
+
+msgid "IDS_MUSIC_BODY_SIZE"
+msgstr "Taille"
+
+msgid "IDS_MF_HEADER_PD_SELECTED"
+msgstr "%d sélectionné(es)"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_THIS_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Les morceaux ajoutés à cet appareil seront affichés ici."
+
+msgid "IDS_MUSIC_TMBODY_LENGTH"
+msgstr "Longueur"
+
+msgid "IDS_MUSIC_POP_1_FOLDER_WILL_BE_DELETED"
+msgstr "1 dossier va être supprimé."
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Aucun fichier"
+
+msgid "IDS_MUSIC_ITAB4_FOLDERS"
+msgstr "Dossiers"
+
+msgid "IDS_MUSIC_HEADER_MY_PLAYLISTS_ABB"
+msgstr "Mes listes de lecture"
+
+msgid "IDS_MP_BODY_SOUND_PLAYER"
+msgstr "Lecteur de son"
+
+msgid "IDS_MUSIC_OPT_SETTINGS"
+msgstr "Paramètres"
+
+msgid "IDS_MUSIC_POP_DELETING"
+msgstr "Suppression..."
+
+msgid "IDS_MUSIC_POP_1_TRACK_WILL_BE_DELETED"
+msgstr "1 morceau sera supprimé."
+
+msgid "IDS_MUSIC_POP_ALL_TRACKS_WILL_BE_DELETED"
+msgstr "Tous les morceaux seront supprimés"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_WILL_BE_DELETED"
+msgstr "%d morceaux seront supprimés."
+
+msgid "IDS_MUSIC_POP_1_PLAYLIST_WILL_BE_DELETED"
+msgstr "1 liste de lecture sera supprimée."
+
+msgid "IDS_MUSIC_POP_PD_PLAYLISTS_WILL_BE_DELETED"
+msgstr "%d listes de lecture seront supprimées."
+
+msgid "IDS_MUSIC_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "%d albums seront supprimés."
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS_WILL_BE_DELETED"
+msgstr "%d artistes seront supprimés."
+
+msgid "IDS_MUSIC_POP_PD_FOLDERS_WILL_BE_DELETED"
+msgstr "%d dossiers seront supprimés."
+
+msgid "IDS_ST_POP_CONNECTION_FAILED"
+msgstr "Échec de connexion au réseau."
+
+msgid "IDS_MUSIC_BODY_CLASSIC"
+msgstr "Classique"
+
+msgid "IDS_MUSIC_BODY_ROCK"
+msgstr "Rock"
+
+msgid "IDS_MUSIC_BODY_JAZZ"
+msgstr "Jazz"
+
+msgid "IDS_MUSIC_BODY_POP"
+msgstr "Pop"
+
+msgid "IDS_MUSIC_BODY_AUTO"
+msgstr "Auto."
+
+msgid "IDS_MUSIC_POP_CURRENT_SOUND_EFFECT_NOT_SUPPORTED_BY_HDMI"
+msgstr "Effet sonore actuel non pris en charge par HDMI"
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_BLUETOOTH"
+msgstr "Les effets sonores ne sont pas pris en charge par le Bluetooth."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_LINE_OUT"
+msgstr "Les effets sonores ne sont pas pris en charge par la sortie ligne."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_HDMI"
+msgstr "Les effets sonores ne sont pas pris en charge par la sortie HDMI."
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EFFECT"
+msgstr "Ampli à lampe"
+
+msgid "IDS_MUSIC_BODY_CUSTOM"
+msgstr "Personnalisé"
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EQUALISER_ABB"
+msgstr "Ampli à lampe"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d morceaux ajoutés à la liste de lecture"
+
+msgid "IDS_MUSIC_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 morceau a été ajouté à la liste de lecture."
+
+msgid "IDS_MUSIC_HEADER_ADD_TRACKS_TO_PLAYLIST_ABB"
+msgstr "Ajouter à une liste de lecture"
+
+msgid "IDS_MUSIC_POP_PS_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "%s déjà utilisé. Entrez un autre nom."
+
+msgid "IDS_MUSIC_TMBODY_DATE_OF_RECORDING"
+msgstr "Date d'enregistrement"
+
+msgid "IDS_MBP_TPOP_TRACK_SET_AS_ALARM_TONE"
+msgstr "Morceau défini comme tonalité d'alarme."
+
+msgid "IDS_MUSIC_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Aucun résultat trouvé"
+
+msgid "IDS_MUSIC_OPT_DEFAULT_RINGTONE_ABB"
+msgstr "Sonnerie par défaut"
+
+msgid "IDS_MUSIC_TPOP_TRACK_SET_AS_CALLER_RINGTONE"
+msgstr "Piste définie comme sonnerie de l'appelant."
+
+msgid "IDS_MP_TPOP_TRACK_SET_AS_RINGTONE"
+msgstr "Morceau défini comme sonnerie."
+
+msgid "IDS_DLNA_BODY_ADD_TO_NOW_PLAYING_LIST"
+msgstr "Ajouter à liste de lecture"
+
+msgid "IDS_MUSIC_TPOP_EQUALISER_SETTINGS_WILL_BE_APPLIED_WHILE_PLAYING_MUSIC"
+msgstr "Les paramètres de l'égaliseur vont s'appliquer pendant la lecture de la musique."
+
+msgid "IDS_ST_BODY_ALERT"
+msgstr "Alerte"
+
+msgid "IDS_IV_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 album sera supprimé."
+
+msgid "IDS_MUSIC_OPT_SD_CARD"
+msgstr "Carte SD"
+
+msgid "IDS_MUSIC_SBODY_DEVICE_STORAGE"
+msgstr "Espace sur l'appareil"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE"
+msgstr "Nom de liste de lecture déjà utilisé."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_PD"
+msgstr "Liste de lecture %d"
+
+msgid "IDS_MUSIC_HEADER_CREATE"
+msgstr "Créer"
+
+msgid "IDS_MUSIC_HEADER_EQUALISER_PRESET_ABB"
+msgstr "Préréglage de l'égaliseur"
+
+msgid "IDS_MUSIC_OPT_AUTOMATIC_M_EQUALIZER_EFFECT"
+msgstr "Automatique"
+
+msgid "IDS_MUSIC_OPT_CLASSICAL_M_EQUALIZER_EFFECT"
+msgstr "Classique"
+
+msgid "IDS_MUSIC_HEADER_ENVIRONMENT_EFFECT_ABB"
+msgstr "Effet d'environnement"
+
+msgid "IDS_VIDEO_POP_THE_FILE_TYPE_IS_NOT_SUPPORTED"
+msgstr "Le type de fichier n'est pas pris en charge."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_CREATE_PLAYLISTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Les listes de lecture créées seront affichées ici."
+
+msgid "IDS_ST_HEADER_SELECT_AUDIO_DEVICE_ABB"
+msgstr "Sélectionner un appareil audio"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "Ce nom est déjà utilisé. Entrez un autre nom."
+
+msgid "IDS_MUSIC_HEADER_SOUNDALIVE_ABB3"
+msgstr "SoundAlive"
+
+msgid "IDS_MUSIC_OPT_NOW_PLAYING_LIST"
+msgstr "Liste de lecture en cours"
+
+msgid "IDS_MUSIC_OPT_SHOW_LYRICS"
+msgstr "Afficher les paroles"
+
+msgid "IDS_MUSIC_OPT_HIDE_LYRICS"
+msgstr "Masquer les paroles"
+
+msgid "IDS_MUSIC_TPOP_UNABLE_TO_PLAY_MUSIC_DURING_CALLS"
+msgstr "Impossible d'écouter de la musique durant les appels."
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Supprimer"
+
+msgid "IDS_MUSIC_HEADER_SELECT"
+msgstr "Sélectionner"
+
+msgid "IDS_TPLATFORM_OPT_NFC"
+msgstr "NFC"
+
+msgid "IDS_MUSIC_HEADER_UNABLE_TO_PLAY_TRACK"
+msgstr "Impossible de lire le morceau"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "OK"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ANNULER"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "SUPPRIMER"
+
+msgid "IDS_MUSIC_POP_RENAME"
+msgstr "Renommer"
+
+msgid "IDS_MUSIC_OPT_MESSAGE"
+msgstr "Message"
+
+msgid "IDS_MUSIC_SK_OK"
+msgstr "OK"
+
+msgid "IDS_MUSIC_SK_CANCEL"
+msgstr "Annuler"
+
+msgid "IDS_MUSIC_BUTTON_REFRESH"
+msgstr "Rafraîchir"
+
+msgid "IDS_MUSIC_BODY_SELECT_ALL"
+msgstr "Sélect. tout"
+
+msgid "IDS_MUSIC_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_MUSIC_POP_DELETED"
+msgstr "Supprimé"
+
+msgid "IDS_MUSIC_OPT_STOP"
+msgstr "Arrêter"
+
+msgid "IDS_MUSIC_BODY_UNKNOWN"
+msgstr "Inconnu"
+
+msgid "IDS_MUSIC_BODY_TITLE"
+msgstr "Titre"
+
+msgid "IDS_MUSIC_OPT_SENDVIA_EMAIL"
+msgstr "Email"
+
+msgid "IDS_MUSIC_OPT_BLUETOOTH"
+msgstr "Bluetooth"
+
+msgid "IDS_MUSIC_HEADER_DOWNLOAD"
+msgstr "Télécharger"
+
+msgid "IDS_MUSIC_POP_LOW_BATTERY"
+msgstr "Batterie faible"
+
+msgid "IDS_MUSIC_HEADER_AUDIO_DEVICE"
+msgstr "Périphérique audio"
+
+msgid "IDS_MUSIC_HEADER_DETAILS"
+msgstr "Détails"
+
+msgid "IDS_MUSIC_OPT_END"
+msgstr "Fin"
+
+msgid "IDS_MUSIC_OPT_EDIT"
+msgstr "Modifier"
+
+msgid "IDS_CAM_HEADER_UPDATED"
+msgstr "Mis à jour"
+
+msgid "IDS_MUSIC_POP_REMOVED"
+msgstr "Supprimé"
+
+msgid "IDS_MUSIC_OPT_SELECTED"
+msgstr "Sélectionné"
+
+msgid "IDS_ST_BUTTON_SCAN"
+msgstr "Rechercher"
+
+msgid "IDS_MF_POP_ERROR"
+msgstr "Erreur"
+
+msgid "IDS_MF_POP_MEMORY_FULL"
+msgstr "Mémoire saturée"
+
+msgid "IDS_MUSIC_MBODY_QUEUE"
+msgstr "File d'attente"
+
+msgid "IDS_MUSIC_OPT_VOLUME"
+msgstr "Volume"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE"
+msgstr "Mode aléatoire"
+
+msgid "IDS_MUSIC_OPT_REPEAT"
+msgstr "Répéter"
+
+msgid "IDS_COM_BODY_DETAILS"
+msgstr "Details"
+
+msgid "IDS_COM_BODY_DETAILS_TITLE"
+msgstr "Title"
+
+msgid "IDS_COM_BODY_EDIT"
+msgstr "Edit"
+
+msgid "IDS_COM_BODY_EMAIL"
+msgstr "Email"
+
+msgid "IDS_COM_BODY_END"
+msgstr "End"
+
+msgid "IDS_COM_BODY_FOLDERS"
+msgstr "Folders"
+
+msgid "IDS_COM_BODY_GALLERY"
+msgstr "Gallery"
+
+msgid "IDS_COM_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_COM_BODY_LOADING"
+msgstr "Loading..."
+
+msgid "IDS_COM_BODY_LOW_BATTERY"
+msgstr "Low battery."
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Message"
+
+msgid "IDS_COM_BODY_MUSIC"
+msgstr "Music"
+
+msgid "IDS_COM_BODY_NFC"
+msgstr "NFC"
+
+msgid "IDS_COM_BODY_NO_CONTENTS"
+msgstr "No content"
+
+msgid "IDS_COM_BODY_PAUSE"
+msgstr "Pause"
+
+msgid "IDS_COM_BODY_PD_SELECTED"
+msgstr "%d selected."
+
+msgid "IDS_COM_BODY_PREVIOUS"
+msgstr "Previous"
+
+msgid "IDS_COM_BODY_RESET_A"
+msgstr "Reset"
+
+msgid "IDS_COM_BODY_SELECTED"
+msgstr "Selected"
+
+msgid "IDS_COM_BODY_SELECT_ALL"
+msgstr "Select all"
+
+msgid "IDS_COM_BODY_SETTINGS"
+msgstr "Settings"
+
+msgid "IDS_COM_BODY_TIME"
+msgstr "Time"
+
+msgid "IDS_COM_BODY_UNABLE_TO_ADD"
+msgstr "Unable to add."
+
+msgid "IDS_COM_BODY_UNKNOWN"
+msgstr "Unknown"
+
+msgid "IDS_COM_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_COM_BUTTON_SCAN"
+msgstr "Scan"
+
+msgid "IDS_COM_BUTTON_SHARE"
+msgstr "Share"
+
+msgid "IDS_COM_HEADER_AUDIO_DEVICE_ABB"
+msgstr "Audio device"
+
+msgid "IDS_COM_OPT_ADDED"
+msgstr "Added."
+
+msgid "IDS_COM_OPT_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_POP_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_POP_CONNECTION_FAILED"
+msgstr "Connection failed."
+
+msgid "IDS_COM_POP_DELETED"
+msgstr "Deleted."
+
+msgid "IDS_COM_POP_DELETE_Q"
+msgstr "Delete?"
+
+msgid "IDS_COM_POP_DONE"
+msgstr "Done"
+
+msgid "IDS_COM_POP_DOWNLOADING"
+msgstr "Downloading..."
+
+msgid "IDS_COM_POP_ERROR"
+msgstr "Error."
+
+msgid "IDS_COM_POP_FAILED"
+msgstr "Failed."
+
+msgid "IDS_COM_POP_FILE_NOT_EXIST"
+msgstr "This file does not exist."
+
+msgid "IDS_COM_POP_FILE_NOT_FOUND"
+msgstr "File not found."
+
+msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximum number of characters reached."
+
+msgid "IDS_COM_POP_MEMORY_FULL"
+msgstr "Memory full."
+
+msgid "IDS_COM_POP_REMOVED"
+msgstr "Removed."
+
+msgid "IDS_COM_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Unable to use during Mass storage mode."
+
+msgid "IDS_COM_POP_UPDATED"
+msgstr "Updated."
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_SK_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_SK_DOWNLOAD"
+msgstr "Download"
+
+msgid "IDS_COM_SK_NEW"
+msgstr "New"
+
+msgid "IDS_COM_SK_NEXT"
+msgstr "Next"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_SK_REFRESH"
+msgstr "Refresh"
+
+msgid "IDS_COM_SK_REMOVE"
+msgstr "Remove"
+
+msgid "IDS_COM_SK_SAVE"
+msgstr "Save"
+
+msgid "IDS_COM_SK_SELECT"
+msgstr "Select"
+
+msgid "IDS_COM_SK_SET"
+msgstr "Set"
+
+msgid "IDS_COM_SK_STOP"
+msgstr "Stop"
+
+
+msgid "IDS_MH_BODY_THE_PLAYLIST_NAME_PS_IS_ALREADY_IN_USE"
+msgstr "The playlist name %s is already in use."
+
+msgid "IDS_MH_BODY_TOTAL"
+msgstr "Total"
+
+msgid "IDS_MH_MBODY_RECENTLY_ADDED_M_SONG"
+msgstr "Recently added"
+
+msgid "IDS_MH_OPT_MORE_INFO_ABB"
+msgstr "More info"
+
+msgid "IDS_MH_POP_ALARM_TONE_SET"
+msgstr "Alarm tone set."
+
+msgid "IDS_MH_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 track added to playlist."
+
+msgid "IDS_MH_TPOP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d tracks added to playlist."
+
+msgid "IDS_MUSIC_OPT_RENAME"
+msgstr "Rename"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Unable to play during call."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Taille maximale des fichiers dépassée"
+
+msgid "IDS_CAM_TPOP_UNABLE_TO_PLAY_MUSIC_WHILE_RECORDING_AUDIO_OR_VIDEO"
+msgstr "Impossible de lire de la musique pendant un enregistrement audio ou vidéo."
+
--- /dev/null
+msgid "IDS_ST_BODY_LOADING_ING"
+msgstr "Chargement..."
+
+msgid "IDS_GALLERY_OPT_PRIVATE_M_CONTENT"
+msgstr "Privé"
+
+msgid "IDS_MF_BODY_TIME"
+msgstr "Heure"
+
+msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
+msgstr "Fichier inexistant"
+
+msgid "IDS_MUSIC_POP_PHONE_RINGTONE"
+msgstr "Sonnerie du téléphone"
+
+msgid "IDS_MUSIC_BODY_DURATION"
+msgstr "Durée"
+
+msgid "IDS_MUSIC_BODY_MUSIC_LOCATION"
+msgstr "Emplacement"
+
+msgid "IDS_MUSIC_BODY_SET_AS_M_RINGTONE"
+msgstr "Définir comme"
+
+msgid "IDS_ST_OPT_ADD_TO_PERSONAL_PAGE"
+msgstr "Ajouter à la page personnelle"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_PERSONAL_PAGE_ABB"
+msgstr "Suppr. de la page perso"
+
+msgid "IDS_ST_POP_MOVE_TO_NORMAL_STORAGE"
+msgstr "Déplacer vers l'espace de stockage normal"
+
+msgid "IDS_ST_POP_MOVE_TO_PERSONAL_STORAGE"
+msgstr "Déplacer vers l'espace de stockage personnel"
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEMS_WILL_BE_MOVED_TO_PS"
+msgstr "Les éléments sélectionnés seront déplacés vers %s."
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEM_WILL_BE_MOVED_TO_PS"
+msgstr "L'élément sélectionné sera déplacé vers %s."
+
+msgid "IDS_VR_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Utilisation impossible en mode Mémoire auxiliaire"
+
+msgid "IDS_MUSIC_POP_RINGTONE_ADDED"
+msgstr "Sonnerie ajoutée."
+
+msgid "IDS_CAM_BODY_BUTTON_T_TTS"
+msgstr "Bouton"
+
+msgid "IDS_MUSIC_HEADER_SELECT_ITEMS"
+msgstr "Sélectionner éléments"
+
+msgid "IDS_ST_BODY_ADVANCED"
+msgstr "Paramètres avancés"
+
+msgid "IDS_ST_SK_PREVIOUS"
+msgstr "Précédent"
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Fermer"
+
+msgid "IDS_MUSIC_POP_ADDED"
+msgstr "Ajouté."
+
+msgid "IDS_MUSIC_POP_FAILED"
+msgstr "Échec."
+
+msgid "IDS_MUSIC_BODY_NO_SEARCH_RESULTS"
+msgstr "Aucun résultat de recherche"
+
+msgid "IDS_MUSIC_SK_DONE"
+msgstr "OK"
+
+msgid "IDS_MUSIC_BODY_NO_ITEMS"
+msgstr "Aucun élément"
+
+msgid "IDS_BR_OPT_ADD_TO_HOME"
+msgstr "Ajouter à l'accueil"
+
+msgid "IDS_BR_SK_NEXT"
+msgstr "Suivant"
+
+msgid "IDS_BR_BODY_DOWNLOADING_ING"
+msgstr "Téléchargement..."
+
+msgid "IDS_IV_BODY_FAVOURITE"
+msgstr "Favori"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_PERSONAL_STORAGE"
+msgstr "Ajouter à l'espace de stockage personnel"
+
+msgid "IDS_DLNA_POP_DISCONNECTED_FROM_PS_CHECK_THE_NETWORK_STATUS_AND_THE_CONNECTED_DEVICE"
+msgstr "Déconnecté de %s. Vérifiez l'état du réseau et le périphérique connecté."
+
+msgid "IDS_DLNA_OPT_VIA_SCREEN_MIRRORING_ABB"
+msgstr "Via Réplication d'écran"
+
+msgid "IDS_DLNA_OPT_VIA_HOME_NETWORK_ABB"
+msgstr "Via le réseau domestique"
+
+msgid "IDS_IV_POP_ENTRY_IS_EMPTY"
+msgstr "Entrée vide"
+
+msgid "IDS_FM_POP_UNAVAILABLE_DURING_CALL"
+msgstr "Non disponible lors d'un appel."
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Nb max de caractères atteint."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_SHARE_DRM_FILE"
+msgstr "Impossible de partager le fichier GDN."
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Retrait..."
+
+msgid "IDS_MUSIC_HEADER_PD_DEVICES"
+msgstr "%d appareils"
+
+msgid "IDS_MUSIC_BUTTON_ENABLE_MOTION"
+msgstr "Act mouvement"
+
+msgid "IDS_MUSIC_BUTTON_DONT_ASK_AGAIN"
+msgstr "Ne plus demander"
+
+msgid "IDS_MUSIC_BODY_NO_RESULTS_FOUND"
+msgstr "Aucun résultat trouvé."
+
+msgid "IDS_VPL_OPT_HDMI"
+msgstr "HDMI"
+
+msgid "IDS_MUSIC_BODY_TURN_PHONE_OVER_TO_MUTE_INCOMING_CALLS_MESSAGE_ALERTS_AND_ALARMS"
+msgstr "Retournez le téléphone pour couper la sonnerie des appels entrants, des alertes de message et des alarmes."
+
+msgid "IDS_ST_BODY_NONE"
+msgstr "Aucun"
+
+msgid "IDS_ST_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_ST_BODY_GALLERY"
+msgstr "Galerie"
+
+msgid "IDS_ST_BODY_DOUBLE_TAP_TO_MOVE_TO_CONTENT_T_TTS"
+msgstr "Appuyez deux fois pour accéder au contenu."
+
+msgid "IDS_MUSIC_BODY_SURROUND"
+msgstr "Ambiance"
+
+msgid "IDS_MUSIC_OPT_LYRICS_ABB"
+msgstr "Paroles"
+
+msgid "IDS_MUSIC_POP_AFTER_YOU_ADD_TRACKS_TO_MUSIC_ON_YOUR_MOBILE_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Les morceaux ajoutés à Musique sur votre appareil mobile seront affichés ici."
+
+msgid "IDS_MUSIC_BODY_SAMPLING_RATE"
+msgstr "Fréquence d'échantillonnage"
+
+msgid "IDS_MUSIC_BODY_MARKED_AS_A_FAVOURITE"
+msgstr "Marqué comme favori."
+
+msgid "IDS_MUSIC_BODY_MUSIC"
+msgstr "Musique"
+
+msgid "IDS_MUSIC_BODY_NOT_MARKED_AS_A_FAVOURITE"
+msgstr "Non marqué comme favori."
+
+msgid "IDS_MUSIC_HEADER_SEARCH_MUSIC_ABB"
+msgstr "Recherche audio"
+
+msgid "IDS_MUSIC_POP_AUTO_RECOMMENDATION_DOES_NOT_SUPPORT_THIS_AUDIO_FILE"
+msgstr "La fonction Recommandations auto ne prend pas en charge ce fichier audio."
+
+msgid "IDS_MUSIC_POP_SORRY_THE_PLAYER_DOES_NOT_SUPPORT_THIS_TYPE_OF_AUDIO_FILE"
+msgstr "Le lecteur ne prend pas en charge ce type de fichier audio."
+
+msgid "IDS_MUSIC_BODY_FAVOURITES"
+msgstr "Favoris"
+
+msgid "IDS_MUSIC_BODY_MOST_PLAYED"
+msgstr "Les plus écoutés"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_ADDED"
+msgstr "Ajoutés récemment"
+
+msgid "IDS_MUSIC_OPT_CREATE_PLAYLIST"
+msgstr "Créer une liste de lecture"
+
+msgid "IDS_MUSIC_OPT_REMOVE"
+msgstr "Retirer"
+
+msgid "IDS_MUSIC_OPT_SETAS_CALLER_RINGTONE"
+msgstr "Sonnerie de l'appelant"
+
+msgid "IDS_MUSIC_TAB4_ARTISTS"
+msgstr "Artistes"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD"
+msgstr "Impossible à ajouter."
+
+msgid "IDS_MUSIC_POP_UNABLE_CREATE_PLAYLIST"
+msgstr "Impossible de créer la liste de lecture."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_GET_TAG"
+msgstr "Impossible d'obtenir le libellé."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_MORE_THAN_PD_MUSIC_FILE"
+msgstr "Impossible d'ajouter plus de %d fichier(s) musical/aux."
+
+msgid "IDS_MUSIC_BODY_ALBUM"
+msgstr "Album"
+
+msgid "IDS_MUSIC_BODY_AUTHOR"
+msgstr "Auteur"
+
+msgid "IDS_MUSIC_BODY_COPYRIGHT"
+msgstr "Droit d'auteur"
+
+msgid "IDS_MUSIC_BODY_CREATE_PLAYLIST"
+msgstr "Créer une liste de lecture"
+
+msgid "IDS_MUSIC_BODY_DESCRIPTION"
+msgstr "Description"
+
+msgid "IDS_MUSIC_BODY_FORMAT"
+msgstr "Formater"
+
+msgid "IDS_MUSIC_BODY_IMPOSSIBLE"
+msgstr "Impossible"
+
+msgid "IDS_MUSIC_BODY_NO_PLAYLISTS"
+msgstr "Aucune liste de lecture"
+
+msgid "IDS_MUSIC_BODY_TRACK_NUMBER"
+msgstr "Numéro du morceau"
+
+msgid "IDS_MUSIC_POP_DELETE_Q"
+msgstr "Supprimer ?"
+
+msgid "IDS_MUSIC_POP_REMOVE_Q"
+msgstr "Retirer?"
+
+msgid "IDS_MUSIC_POP_UNABLE_RENAME_PLAYLIST"
+msgstr "Impossible de renommer la liste de lecture."
+
+msgid "IDS_MUSIC_TAB4_ALBUMS"
+msgstr "Albums"
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Ajout..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Supprimer %d albums ?"
+
+msgid "IDS_MUSIC_TAB4_PLAYLISTS"
+msgstr "Listes de lecture"
+
+msgid "IDS_MUSIC_OPT_ADD"
+msgstr "Ajouter"
+
+msgid "IDS_MUSIC_BODY_BIOGRAPHY"
+msgstr "Biographie"
+
+msgid "IDS_MUSIC_BODY_CREDITS"
+msgstr "Remerciements"
+
+msgid "IDS_MUSIC_BODY_DETAILS_MEADIA_INFO"
+msgstr "Informations sur les multimédias"
+
+msgid "IDS_MUSIC_BODY_DISCOGRAPHY"
+msgstr "Discographie"
+
+msgid "IDS_MUSIC_BODY_LYRIC"
+msgstr "Paroles"
+
+msgid "IDS_MUSIC_BODY_POSSIBLE"
+msgstr "Possible"
+
+msgid "IDS_MUSIC_BODY_REVIEW"
+msgstr "Aperçu"
+
+msgid "IDS_MUSIC_HEADER_TRACK_LIST"
+msgstr "Liste des morceaux"
+
+msgid "IDS_MUSIC_BODY_ADD_TO_PLAYLIST"
+msgstr "Ajouter à liste de lecture"
+
+msgid "IDS_MUSIC_BODY_ARTIST"
+msgstr "Artiste"
+
+msgid "IDS_MUSIC_BODY_FORWARDING"
+msgstr "Transfert"
+
+msgid "IDS_MUSIC_BODY_RECORDED_DATE"
+msgstr "Date of recording"
+
+msgid "IDS_MUSIC_BODY_PLAYLISTS"
+msgstr "Listes de lecture"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_PLAYED"
+msgstr "Écoutés récemment"
+
+msgid "IDS_MUSIC_BODY_TRACK_LENGTH"
+msgstr "Durée du morceau"
+
+msgid "IDS_MUSIC_HEADER_NO_SONGS"
+msgstr "Aucun titre"
+
+msgid "IDS_MUSIC_POP_THIS_TRACK_WILL_BE_DELETED"
+msgstr "Ce morceau sera supprimé."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_TRACKS_WILL_BE_DELETED"
+msgstr "Les morceaux sélectionnés seront supprimés."
+
+msgid "IDS_MUSIC_POP_THIS_ARTIST_WILL_BE_DELETED"
+msgstr "Cet artiste sera supprimé."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ARTISTS_WILL_BE_DELETED"
+msgstr "Les artistes sélectionnés seront supprimés."
+
+msgid "IDS_MUSIC_POP_ALL_ARTISTS_WILL_BE_DELETED"
+msgstr "Tous les artistes seront supprimés."
+
+msgid "IDS_MUSIC_POP_THIS_FOLDER_WILL_BE_DELETED"
+msgstr "Ce dossier sera supprimé."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_FOLDERS_WILL_BE_DELETED"
+msgstr "Les dossiers sélectionnés seront supprimés."
+
+msgid "IDS_MUSIC_POP_ALL_FOLDERS_WILL_BE_DELETED"
+msgstr "Tous les dossiers seront supprimés."
+
+msgid "IDS_MUSIC_POP_THIS_ALBUM_WILL_BE_DELETED"
+msgstr "Cet album sera supprimé."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ALBUMS_WILL_BE_DELETED"
+msgstr "Les albums sélectionnés seront supprimés."
+
+msgid "IDS_MUSIC_POP_ALL_ALBUMS_WILL_BE_DELETED"
+msgstr "Tous les albums seront supprimés."
+
+msgid "IDS_MUSIC_POP_THIS_PLAYLIST_WILL_BE_DELETED"
+msgstr "Cette liste de lecture sera supprimée."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Les listes de lecture sélectionnées seront supprimées."
+
+msgid "IDS_MUSIC_POP_ALL_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Toutes les listes de lecture seront supprimées."
+
+msgid "IDS_MUSIC_HEADER_SONGS"
+msgstr "Chansons"
+
+msgid "IDS_MUSIC_OPT_REORDER"
+msgstr "Réorganiser"
+
+msgid "IDS_MUSIC_OPT_SAVE_AS_PLAYLIST"
+msgstr "Enregistrer comme liste de lecture"
+
+msgid "IDS_MUSIC_OPT_SETAS_ALARM_TONE"
+msgstr "Tonalité d'alarme"
+
+msgid "IDS_MUSIC_POP_NOTHING_SELECTED"
+msgstr "Aucune sélection."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Lecture impossible. Une erreur s'est produite."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_UNSUPPORTED_FILETYPE"
+msgstr "Lecture impossible. Type de fichier non pris en charge."
+
+msgid "IDS_MUSIC_SK_SHARE"
+msgstr "Partager"
+
+msgid "IDS_MUSIC_TAB4_CONDUCTORS"
+msgstr "Chefs d'orch."
+
+msgid "IDS_MUSIC_HEADER_SELECT_DEVICE"
+msgstr "Sélectionnez l'appareil"
+
+msgid "IDS_MUSIC_SK_VIEW_AS"
+msgstr "Affichage"
+
+msgid "IDS_MUSIC_BODY_SOUNDEFFECTS_NORMAL"
+msgstr "Normal"
+
+msgid "IDS_MUSIC_BODY_USER"
+msgstr "Utilisateur"
+
+msgid "IDS_MUSIC_BODY_VOCAL_M_SOUNDEFFECT"
+msgstr "Vocal"
+
+msgid "IDS_MUSIC_MBODY_BASS_BOOST"
+msgstr "Amplification des basses"
+
+msgid "IDS_MUSIC_MBODY_TREBLE_BOOST"
+msgstr "Amplification des aigus"
+
+msgid "IDS_MUSIC_BODY_CAFE_M_SOUNDEFFECT"
+msgstr "Café"
+
+msgid "IDS_MUSIC_OPT_VIRTUAL_71_CH"
+msgstr "Chaine 7.1 virtuelle"
+
+msgid "IDS_MUSIC_OPT_AFTER_15_MIN_ABB"
+msgstr "Après 15 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_30_MIN"
+msgstr "Après 30 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HOUR"
+msgstr "Après 1 heure"
+
+msgid "IDS_MUSIC_POP_AFTER_1_HOUR_30_MIN"
+msgstr "Après 1 h 30 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_2_HOURS"
+msgstr "Après 2 heures"
+
+msgid "IDS_MUSIC_BODY_MUSIC_AUTO_OFF"
+msgstr "Arrêt auto de la musique"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES_ONLY"
+msgstr "L'effet sonore fonctionne uniquement avec le mode Écouteur et le casque Bluetooth."
+
+msgid "IDS_MUSIC_TAB4_MUSIC_SQUARE"
+msgstr "Carré musical"
+
+msgid "IDS_MUSIC_POP_NOT_ENOUGH_MUSIC_FILES_TO_PLAY_IN_MUSIC_SQUARE_AT_LEAST_PD_MUSIC_FILES_REQUIRED"
+msgstr "Nombre de fichiers musicaux insuffisant pour la lecture dans Carré musical. Au moins %d fichiers musicaux requis."
+
+msgid "IDS_MUSIC_BODY_PASSION_M_MOOD"
+msgstr "Passion"
+
+msgid "IDS_MUSIC_BODY_CALM_M_ADJECTIVE"
+msgstr "Calme"
+
+msgid "IDS_MUSIC_BODY_JOY_M_MOOD"
+msgstr "Joie"
+
+msgid "IDS_MUSIC_BODY_LIBRARY_UPDATE"
+msgstr "Mise à jour de la bibliothèque"
+
+msgid "IDS_MUSIC_POP_UPDATE_LIBRARY_Q"
+msgstr "Mettre à jour la bibliothèque?"
+
+msgid "IDS_MUSIC_BODY_CHANGE_AXIS"
+msgstr "Modifier l'axe"
+
+msgid "IDS_MUSIC_ITAB4_GENRES"
+msgstr "Genres"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_1_TRACK"
+msgstr "1 album/1 morceau"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_PD_TRACKS"
+msgstr "1 album/%d morceaux"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS_PD_TRACKS"
+msgstr "%d albums/%d morceaux"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_CONTROL_MUSIC_PLAYER_WITH_THE_VOICE_COMMANDS_P1SS_P2SS_P3SS_P4SS_P5SS_AND_P6SS"
+msgstr "Vous pouvez contrôler le lecteur de musique avec les commandes vocales %1$s, %2$s, %3$s, %4$s, %5$s et %6$s."
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_PD_TRACKS"
+msgstr "Lecture de %d morceaux en mode aléatoire"
+
+msgid "IDS_MUSIC_BODY_MORE_INFO"
+msgstr "Plus d'infos"
+
+msgid "IDS_MUSIC_HEADER_MY_MUSIC_M_APPLICATION_NAME"
+msgstr "Ma musique"
+
+msgid "IDS_MUSIC_OPT_LIST_VIEW"
+msgstr "Liste"
+
+msgid "IDS_MUSIC_OPT_PLAY_VIA_GROUP_PLAY"
+msgstr "Lire via le Group Play"
+
+msgid "IDS_MUSIC_POP_TRACK_ADDED_TO_FAVOURITES"
+msgstr "Morceau ajouté aux favoris."
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_FAVOURITES"
+msgstr "Supprimer des favoris"
+
+msgid "IDS_MUSIC_BODY_NEW_M_LATEST"
+msgstr "Nouveau"
+
+msgid "IDS_MUSIC_OPT_TRACKS"
+msgstr "Morceaux"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL"
+msgstr "Miniature"
+
+msgid "IDS_MUSIC_SK_LIST"
+msgstr "Liste"
+
+msgid "IDS_MUSIC_SK_OPEN_PLAYLIST"
+msgstr "Ouvrir la liste de lecture"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALL"
+msgstr "Écouter tout"
+
+msgid "IDS_MUSIC_POP_SELECTED_LIST_EMPTY"
+msgstr "La liste sélectionnée est vide."
+
+msgid "IDS_MUSIC_BODY_MOODS"
+msgstr "Ambiances"
+
+msgid "IDS_MUSIC_BUTTON_YEARS"
+msgstr "Années"
+
+msgid "IDS_MUSIC_BODY_OLD"
+msgstr "Ancien"
+
+msgid "IDS_MUSIC_BODY_MUSIC_SQUARE_ANALYSES_THE_CHARACTERISTICS_OF_MUSIC_FILES_STORED_ON_YOUR_DEVICE_AND_AUTOMATICALLY_CREATES_PLAYLISTS_MSG"
+msgstr "Carré musical analyse les caractéristiques des fichiers musicaux stockés dans votre périphérique et crée automatiquement des listes de lecture."
+
+msgid "IDS_MUSIC_BODY_PLAY_TRACKS_WITH_SIMILAR_CHARACTERISTICS_BY_SELECTING_A_SQUARE_ON_THE_SCREEN"
+msgstr "Lire la liste de lecture avec des caractéristiques similaires en sélectionnant un carré à l'écran."
+
+msgid "IDS_MUSIC_BODY_VIEW_PLAYLIST_DETAILS_BY_TAPPING_AND_HOLDING_THE_SQUARE_CURRENTLY_BEING_PLAYED"
+msgstr "Afficher les détails de la liste de lecture en touchant longuement le carré en cours de lecture."
+
+msgid "IDS_MUSIC_BODY_NEARBY_DEVICES"
+msgstr "Appareils à proximité"
+
+msgid "IDS_MUSIC_POP_YOU_WILL_NEED_TO_UPDATE_THE_LIBRARY_IF_NEW_SONGS_HAVE_BEEN_ADDED"
+msgstr "Si de nouveaux morceaux ont été ajoutés, vous devrez mettre à jour votre bibliothèque."
+
+msgid "IDS_MUSIC_BODY_NO_ALBUMS"
+msgstr "Aucun album"
+
+msgid "IDS_MUSIC_BODY_NO_ARTISTS"
+msgstr "Aucun artiste"
+
+msgid "IDS_MUSIC_OPT_PLAY_SPEED_ABB"
+msgstr "Vitesse de lecture"
+
+msgid "IDS_MUSIC_BODY_CONCERT_HALL_M_SOUNDEFFECT"
+msgstr "Salle de concert"
+
+msgid "IDS_MUSIC_OPT_ADD_TO"
+msgstr "Ajouter à"
+
+msgid "IDS_MUSIC_SK_VIEW"
+msgstr "Afficher"
+
+msgid "IDS_MUSIC_OPT_LISTBY_RECENTLY_ADDED"
+msgstr "Ajoutés récemment"
+
+msgid "IDS_MUSIC_BODY_NOT_USED"
+msgstr "Non utilisé"
+
+msgid "IDS_MUSIC_BODY_MAKE_AVAILABLE_OFFLINE"
+msgstr "Rendre disponible hors-ligne"
+
+msgid "IDS_MUSIC_OPT_AFTER_P1SD_HRS_P2SD_MINS"
+msgstr "Après %1$d h %2$d min"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS"
+msgstr "Après %d h"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_MINS"
+msgstr "Après %d min"
+
+msgid "IDS_MUSIC_BODY_NO_FOLDERS"
+msgstr "Aucun dossier"
+
+msgid "IDS_MUSIC_BODY_NO_TRACKS"
+msgstr "Aucun morceau"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS"
+msgstr "%d albums"
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS"
+msgstr "%d artistes"
+
+msgid "IDS_MUSIC_BODY_PD_GENRES"
+msgstr "%d genres"
+
+msgid "IDS_MUSIC_BODY_PD_PLAYLISTS"
+msgstr "%d listes de lecture"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_ABB"
+msgstr "%d morceaux"
+
+msgid "IDS_MUSIC_BODY_PLAYLIST"
+msgstr "Liste de lecture"
+
+msgid "IDS_MUSIC_HEADER_SIMILAR_ALBUMS"
+msgstr "Albums similaires"
+
+msgid "IDS_MUSIC_HEADER_TRACK"
+msgstr "Morceau"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL_VIEW"
+msgstr "Affichage miniature"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "Cet effet sonore est uniquement disponible en mode écouteur."
+
+msgid "IDS_MUSIC_OPT_ALL_CONTENT_ABB2"
+msgstr "Tout le contenu"
+
+msgid "IDS_MUSIC_BODY_A_NETWORK_CONNECTION_IS_REQUIRED_TO_PLAY_THIS_FILE_CHECK_YOUR_NETWORK_CONNECTION_AND_TRY_AGAIN"
+msgstr "Une connexion réseau est nécessaire pour lire ce fichier. Vérifiez votre connexion réseau, puis réessayez."
+
+msgid "IDS_MUSIC_POP_FILE_TYPE_NOT_SUPPORTED"
+msgstr "Type de fichier non pris en charge."
+
+msgid "IDS_MUSIC_POP_UPDATING_ING"
+msgstr "Mise à jour..."
+
+msgid "IDS_MUSIC_OPT_SEARCH_ABB"
+msgstr "Rechercher"
+
+msgid "IDS_MUSIC_OPT_SEARCH_BY"
+msgstr "Rechercher par"
+
+msgid "IDS_MUSIC_BODY_RELATED_VIDEOS"
+msgstr "Vidéos associées"
+
+msgid "IDS_MUSIC_BODY_SMART_VOLUME_ABB"
+msgstr "Volume intelligent"
+
+msgid "IDS_MUSIC_BODY_THE_VOLUME_OF_ALL_TRACKS_WILL_BE_ADJUSTED_TO_LEVEL_PD"
+msgstr "Le volume de tous les morceaux sera ajusté au niveau %d."
+
+msgid "IDS_MUSIC_HEADER_SMART_VOLUME_IS_ENABLED"
+msgstr "Volume intelligent est activé"
+
+msgid "IDS_MUSIC_OPT_CONNECTION_INFO_ABB"
+msgstr "Infos connexion"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_PD_MINS"
+msgstr "Après 1 h %d min"
+
+msgid "IDS_MUSIC_BODY_ADAPT_SOUND_ABB"
+msgstr "Personnaliser le son"
+
+msgid "IDS_MUSIC_BODY_MY_DEVICE"
+msgstr "Mon appareil"
+
+msgid "IDS_MUSIC_POP_LISTENING_AT_A_HIGH_VOLUME_FOR_A_LONG_TIME_MAY_DAMAGE_YOUR_HEARING_RAISE_THE_VOLUME_ABOVE_SAFE_LEVELS_Q"
+msgstr "Une écoute prolongée à fort volume peut endommager votre ouie. Voulez-vous augmenter le volume au-delà du seuil de sécurité ?"
+
+msgid "IDS_MUSIC_POP_ALREADY_EXISTS"
+msgstr "Existe déjà."
+
+msgid "IDS_MUSIC_OPT_SCAN_FOR_NEARBY_DEVICES"
+msgstr "Rechercher des périphériques à proximité"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR"
+msgstr "Après 1 h"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_1_MIN"
+msgstr "Après 1 h 1 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS_1_MIN"
+msgstr "Après %d h 1 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_MIN"
+msgstr "Après 1 min"
+
+msgid "IDS_MUSIC_OPT_GO_TO_STORE"
+msgstr "Accéder au magasin"
+
+msgid "IDS_MUSIC_SK3_ADD_TRACKS"
+msgstr "Ajouter morceaux"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FROM_MUSIC_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Les morceaux téléchargés depuis Musique seront affichés ici."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_YOUR_FAVOURITES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Les morceaux ajoutés aux favoris seront affichés ici."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_PLAY_TRACKS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Les morceaux écoutés s'afficheront ici."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_PS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Les morceaux ajoutés à %s seront affichés ici."
+
+msgid "IDS_MUSIC_BODY_NO_PURCHASED_CONTENT"
+msgstr "Aucun contenu acheté"
+
+msgid "IDS_MUSIC_SK_SAVE_AS"
+msgstr "Enregistrer sous"
+
+msgid "IDS_MUSIC_POP_MUSICPLAYER_UPDATING_FAILED"
+msgstr "Échec mise à jour."
+
+msgid "IDS_MUSIC_BODY_EXCITING_M_ADJECTIVE"
+msgstr "Enlevant"
+
+msgid "IDS_MUSIC_BODY_SEARCH_MY_MUSIC"
+msgstr "Rechercher ma musique"
+
+msgid "IDS_MUSIC_HEADER_CONNECTED_DEVICES"
+msgstr "Appareils connectés"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST_PS"
+msgstr "Ma liste de lecture %s"
+
+msgid "IDS_MUSIC_BODY_NO_DEVICES"
+msgstr "Aucun appareil"
+
+msgid "IDS_MUSIC_HEADER_AVAILABLE_DEVICES_ABB"
+msgstr "Appareils disponibles"
+
+msgid "IDS_MUSIC_POP_SET"
+msgstr "Appliqué"
+
+msgid "IDS_MUSIC_POP_REMOVE_FAILED"
+msgstr "Échec de la suppression."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_USE_FAST_FORWARD_AND_REWIND_WHEN_NEARBY_DEVICES_ARE_ENABLED"
+msgstr "Impossible d'utiliser les fonctions d'avance et de retour rapides lorsque des appareils à proximité sont activés."
+
+msgid "IDS_MUSIC_OPT_SET_AS"
+msgstr "Définir comme"
+
+msgid "IDS_MUSIC_OPT_HEADPHONES_ABB"
+msgstr "Écouteurs"
+
+msgid "IDS_MUSIC_OPT_SPEAKER"
+msgstr "HP"
+
+msgid "IDS_MUSIC_BODY_1_SONG"
+msgstr "1 titre"
+
+msgid "IDS_MUSIC_BODY_PD_SONGS"
+msgstr "%d titres"
+
+msgid "IDS_MUSIC_BODY_1_TRACK"
+msgstr "1 morceau"
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_1_TRACK"
+msgstr "Mode aléatoire 1 morceau"
+
+msgid "IDS_MUSIC_POP_NO_MUSIC_FOUND_FOR_SELECTED_CELL"
+msgstr "Aucune musique trouvée pour la cellule sélectionnée"
+
+msgid "IDS_MUSIC_BODY_DO_NOT_SHOW_AGAIN"
+msgstr "Ne plus afficher"
+
+msgid "IDS_MUSIC_BODY_VARIOUS_ARTISTS"
+msgstr "Artistes divers"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_HOME_SCREEN_ABB"
+msgstr "Ajouter à l'écran d'accueil"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_FAVOURITES"
+msgstr "Ajouter aux favoris"
+
+msgid "IDS_MUSIC_OPT_EDIT_TITLE"
+msgstr "Modifier le titre"
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_PERSONAL_STORAGE"
+msgstr "Supprimer de l'espace de stockage personnel"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FOLDERS_WILL_BE_SHOWN"
+msgstr "Lorsque vous aurez téléchargé des morceaux, des dossiers seront affichés"
+
+msgid "IDS_MUSIC_BODY_SETTINGS_VOLUME"
+msgstr "Volume"
+
+msgid "IDS_MUSIC_BODY_REPEAT_OFF"
+msgstr "Répétition désactivée"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_REPEAT_ALL"
+msgstr "Répéter tout"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_OFF"
+msgstr "Désactiver mode aléatoire"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_ON"
+msgstr "Activer mode aléatoire"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST"
+msgstr "Ma liste de lecture"
+
+msgid "IDS_MUSIC_MBODY_DEFAULT_PLAYLISTS"
+msgstr "Listes lecture par défaut"
+
+msgid "IDS_MUSIC_BODY_DETAILS_RECORDING_DATE"
+msgstr "Date d'enregistrement"
+
+msgid "IDS_MUSIC_OPT_ALBUM_ART_ABB"
+msgstr "Pochette"
+
+msgid "IDS_MUSIC_BODY_1_GENRE"
+msgstr "1 genre"
+
+msgid "IDS_MUSIC_BODY_PD_FOLDERS"
+msgstr "%d dossiers"
+
+msgid "IDS_MUSIC_BODY_1_FOLDER"
+msgstr "1 dossier"
+
+msgid "IDS_MUSIC_BODY_1_ARTIST"
+msgstr "1 artiste"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_M_MUSIC"
+msgstr "1 album"
+
+msgid "IDS_MUSIC_BODY_1_PLAYLIST"
+msgstr "1 liste de lecture"
+
+msgid "IDS_MUSIC_BODY_MUSIC_PLAYER"
+msgstr "Lecteur de musique"
+
+msgid "IDS_MUSIC_BUTTON_MOVE"
+msgstr "Déplacer"
+
+msgid "IDS_MUSIC_BUTTON_AUTO_RECOMMENDATIONS"
+msgstr "Recommandations auto"
+
+msgid "IDS_MUSIC_BUTTON_FROM_THE_BEGINNING"
+msgstr "Depuis le début"
+
+msgid "IDS_MUSIC_HEADER_SUGGESTIONS_FOR_YOU"
+msgstr "Suggestions pour vous"
+
+msgid "IDS_MUSIC_OPT_SAVE"
+msgstr "Enregistrer"
+
+msgid "IDS_MUSIC_TAB4_BASIC_M_EQUALIZING"
+msgstr "Basique"
+
+msgid "IDS_MUSIC_BODY_INSTRUMENT"
+msgstr "Instrument"
+
+msgid "IDS_MUSIC_BODY_TREBLE_M_EQUALISER"
+msgstr "Aigu"
+
+msgid "IDS_MUSIC_BODY_BASS_M_EQUALISER"
+msgstr "Basse"
+
+msgid "IDS_MUSIC_BODY_NO_EFFECTS_ARE_APPLIED_IN_THIS_MODE_ABB"
+msgstr "Aucun effet n'est appliqué dans ce mode."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_TIMBRE_OF_A_TUBE_AMP_ABB"
+msgstr "Simule le timbre d'un ampli à lampe."
+
+msgid "IDS_MUSIC_OPT_TUBE_AMP_EFFECT"
+msgstr "Effet ampli à lampes"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_EFFECT_OF_VIRTUAL_71_CHANNEL_SURROUND_SOUND_ABB"
+msgstr "Simule les effets sonores du canal 7.1 virtuel."
+
+msgid "IDS_MUSIC_HEADER_SMALL_ROOM_M_REVERB_ABB"
+msgstr "Petite pièce"
+
+msgid "IDS_MUSIC_HEADER_LARGE_ROOM_M_REVERB_ABB"
+msgstr "Grande pièce"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_LARGE_ROOM_EG_A_THEATRE_ABB"
+msgstr "Simule la réverb. d'une grande pièce, par ex. un théâtre."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_CONCERT_HALL_ABB"
+msgstr "Simule la réverbération d'une salle de concert."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_SMALL_SPACE_EG_A_STUDIO_ABB"
+msgstr "Simule la réverb. d'un petit espace, par exemple un studio."
+
+msgid "IDS_MUSIC_BUTTON_3D_CHN"
+msgstr "3D"
+
+msgid "IDS_MUSIC_BODY_CLARITY_M_SOUNDEFFECT"
+msgstr "Netteté"
+
+msgid "IDS_MUSIC_BUTTON_RESET"
+msgstr "Réinit."
+
+msgid "IDS_MUSIC_TAB_YEARS"
+msgstr "Années"
+
+msgid "IDS_MUSIC_TAB_GENRES"
+msgstr "Genres"
+
+msgid "IDS_MUSIC_TAB_COMPOSERS"
+msgstr "Compositeurs"
+
+msgid "IDS_MUSIC_TAB_ALL_TRACKS"
+msgstr "Tous les morceaux"
+
+msgid "IDS_MUSIC_SK3_GO_TO_QUICK_LIST"
+msgstr "Ouvrir liste rapide"
+
+msgid "IDS_MUSIC_SK3_FIND"
+msgstr "Rechercher"
+
+msgid "IDS_MUSIC_SK3_ADD_TO_QUICK_LIST"
+msgstr "Ajouter à liste rapide"
+
+msgid "IDS_MUSIC_POP_UNAUTHORISED_VIDEO_FILE_FOR_TV_OUT"
+msgstr "Fichier vidéo non autorisé pour la sortie TV."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_CREATE_MAXIMUM_NUMBER_OF_PLAYLISTS_REACHED"
+msgstr "Création impossible. Nombre maximum de listes de lecture atteint."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTING_BLUETOOTH_HEADSET"
+msgstr "Impossible de régler le volume tout en branchant un casque Bluetooth."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTED_TO_BLUETOOTH_HEADSET"
+msgstr "Impossible d'ajuster le volume lorsque connecté au casque Bluetooth."
+
+msgid "IDS_MUSIC_POP_STOP_MUSIC_PLAYER_Q"
+msgstr "Arrêter le Lecteur de musique ?"
+
+msgid "IDS_MUSIC_POP_PLEASE_EXIT_SILENT_MODE"
+msgstr "Veuillez quittez le mode Silencieux."
+
+msgid "IDS_MUSIC_POP_NETWORK_FAILURE"
+msgstr "Erreur réseau"
+
+msgid "IDS_MUSIC_POP_MEMORY_CARD_LOADED"
+msgstr "Carte mémoire chargée."
+
+msgid "IDS_MUSIC_POP_DEVICE_SETTINGS_ERROR"
+msgstr "Erreur de paramètres du périphérique."
+
+msgid "IDS_MUSIC_POP_COULD_NOT_FIND_A_MATCH_FOR_THE_SONG"
+msgstr "Aucune correspondance pour cette chanson."
+
+msgid "IDS_MUSIC_POP_BUFFERING_MSTATUS"
+msgstr "Mise en mémoire"
+
+msgid "IDS_MUSIC_POP_BT_HEADSET_ONLY_SUPPORTS_NORMAL_EFFECTS_SETTING"
+msgstr "Le casque BT ne prend en charge que les effets normaux."
+
+msgid "IDS_MUSIC_POP_APPLICATION_WILL_BE_CLOSED"
+msgstr "L'application va se fermer."
+
+msgid "IDS_MUSIC_POP_ADDED_GO_TO_WISH_LIST_Q"
+msgstr "Ajouté. Accéder à la liste des achats prévus ?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_THE_SERVICE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "L'accès au service peut être facturé. Continuer ?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_STORE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "L'accès au magasin peut être facturé. Continuer ?"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_ONLY_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES"
+msgstr "L'effet sonore de la chaine 5.1 fonctionne uniquement avec le mode Écouteur et le casque Bluetooth."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "L'effet sonore de la chaine 5.1 ne fonctionne qu'en mode Écouteur uniquement."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECTS_NOT_SUPPORTED_BY_SPEAKER"
+msgstr "Les effets sonores de la chaine 5.1 ne sont pas pris en charge par le hautparleur."
+
+msgid "IDS_MUSIC_OPT_VIEW_BY_COVER_ART"
+msgstr "Afficher par illustration"
+
+msgid "IDS_MUSIC_OPT_SEND_TRACK"
+msgstr "Envoyer morceau"
+
+msgid "IDS_MUSIC_OPT_RATE_TRACK"
+msgstr "Évaluer ce titre"
+
+msgid "IDS_MUSIC_OPT_PLAYLIST_MOVE_TRACK_IN_PLAYLIST"
+msgstr "Copier dans la liste de lecture"
+
+msgid "IDS_MUSIC_OPT_OPENPLAYLIST_CURRENT"
+msgstr "En cours"
+
+msgid "IDS_MUSIC_OPT_DELETE_PLAYLIST"
+msgstr "Supprimer liste de lecture"
+
+msgid "IDS_MUSIC_OPT_BACKGROUND_PLAYING"
+msgstr "Musique en arrière-plan"
+
+msgid "IDS_MUSIC_HEADER_EFFECTS"
+msgstr "Effets"
+
+msgid "IDS_MUSIC_BUTTON_BUY_NOW"
+msgstr "Acheter maintenant"
+
+msgid "IDS_MUSIC_BODY_WOW_HD"
+msgstr "Wow HD"
+
+msgid "IDS_MUSIC_BODY_WISHLIST"
+msgstr "Liste des achats prévus"
+
+msgid "IDS_MUSIC_BODY_WIDE"
+msgstr "Écran large"
+
+msgid "IDS_MUSIC_BODY_WHA_WHA"
+msgstr "Wha Wha"
+
+msgid "IDS_MUSIC_BODY_VIBE_WOOFER"
+msgstr "Hautparleur de graves"
+
+msgid "IDS_MUSIC_BODY_TREMOLO"
+msgstr "Trémolo"
+
+msgid "IDS_MUSIC_BODY_TAP_TWICE_TO_PLAY_PAUSE_MUSIC"
+msgstr "Appuyez 2 fois pour lire/arrêter musique."
+
+msgid "IDS_MUSIC_BODY_SHARE_TRACK_VIA_BLUETOOTH"
+msgstr "Partager le morceau via Bluetooth"
+
+msgid "IDS_MUSIC_BODY_SETUPWIZARD_WELCOME_TO_THE_MUSIC_SETUP_WIZARD_CONTINUE_Q"
+msgstr "Bienvenue dans l'assistant de configuration de la musique.\nDes instructions vont s'afficher pour vous aider à configurer votre téléphone. Continuer ?"
+
+msgid "IDS_MUSIC_BODY_QUICK_LIST"
+msgstr "Liste rapide"
+
+msgid "IDS_MUSIC_BODY_PLAYINGSETTINGS_SOUND_EFFECTS"
+msgstr "Effets sonores"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_ALL"
+msgstr "Tous"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_1"
+msgstr "1"
+
+msgid "IDS_MUSIC_BODY_PLAYERSETTINGS_VOLUME"
+msgstr "Volume"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_SELECTED"
+msgstr "%d morceaux sélectionnés."
+
+msgid "IDS_MUSIC_BODY_NO_PODCASTS"
+msgstr "Aucun balado"
+
+msgid "IDS_MUSIC_BODY_FIND_SIMILAR"
+msgstr "Rechercher des titres similaires"
+
+msgid "IDS_MUSIC_BODY_BACKGROUND_PLAY"
+msgstr "Musique de fond"
+
+msgid "IDS_MUSIC_BODY_51_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "La chaine 5.1 ne peut être activée que si les effets sonores sont désactivés."
+
+msgid "IDS_MUSIC_TAB4_PODCASTS"
+msgstr "Balados"
+
+msgid "IDS_MUSIC_SK2_EDIT_IMAGE"
+msgstr "Modif. image"
+
+msgid "IDS_MUSIC_POP_PLAYING_ANY_SOUNDS_WILL_STOP_AND_SAVE_YOUR_VOICE_RECORDING_PLAY_Q"
+msgstr "La lecture d'un contenu audio va interrompre et enregistrer votre enregistrement vocal. Lire le contenu audio ?"
+
+msgid "IDS_MUSIC_POP_MAXIMUM_NUMBER_OF_ITEMS_HPD_SELECTED"
+msgstr "Nombre maximum d'éléments (%d) sélectionnés."
+
+msgid "IDS_MUSIC_POP_BLUETOOTH_DISCONNECTED"
+msgstr "Bluetooth déconnecté."
+
+msgid "IDS_MUSIC_POP_5_1_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "La chaine 5.1 ne peut être activée que si les effets sonores sont désactivés."
+
+msgid "IDS_MUSIC_OPT_TAKE_PICTURE"
+msgstr "Prendre une photo"
+
+msgid "IDS_MUSIC_OPT_SHOW_MUSIC_VIEW_ABB"
+msgstr "Afficher la vue Musique"
+
+msgid "IDS_MUSIC_OPT_PAUSE"
+msgstr "Pause"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALBUM"
+msgstr "Écouter l'album"
+
+msgid "IDS_MUSIC_OPT_LIST_BY"
+msgstr "Trier par"
+
+msgid "IDS_MUSIC_OPT_HISTORY"
+msgstr "Historique"
+
+msgid "IDS_MUSIC_OPT_HIDE_MUSIC_VIEW_ABB"
+msgstr "Masquer la vue Musique"
+
+msgid "IDS_MUSIC_OPT_FIND_TAG"
+msgstr "Rechercher un libellé"
+
+msgid "IDS_MUSIC_OPT_DROPBOX_CONTENT_ABB"
+msgstr "Contenu Dropbox"
+
+msgid "IDS_MUSIC_OPT_CONTENT_ON_PHONE_ABB"
+msgstr "Cont. sur téléph."
+
+msgid "IDS_MUSIC_OPT_CHANGE_IMAGE"
+msgstr "Modifier l'image"
+
+msgid "IDS_MUSIC_HEADER_DELETE_DROPBOX_DATA_ABB"
+msgstr "Suppr. données Dropbox"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_STREAM_YOUR_MUSIC_TO_DEVICES_USING_ALLSHARE"
+msgstr "Vous pouvez diffuser votre musique sur des périphériques via AllShare."
+
+msgid "IDS_MUSIC_BODY_VALIDITY"
+msgstr "Validité"
+
+msgid "IDS_MUSIC_BODY_TYPE_CNOUN"
+msgstr "Type"
+
+msgid "IDS_MUSIC_BODY_THIS_WILL_DELETE_THE_FILE_FROM_THE_SERVER_AND_ANY_CONNECTED_DEVICES_AS_WELL"
+msgstr "Le fichier sera supprimé du serveur et des appareils connectés."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_ARTISTS"
+msgstr "Artistes"
+
+msgid "IDS_MUSIC_BODY_PLAYINGDETAILS_ALBUM_ART"
+msgstr "Illustration de l'album"
+
+msgid "IDS_MUSIC_BODY_OTHER_CONTENTS"
+msgstr "Autres contenus"
+
+msgid "IDS_MUSIC_BODY_NAME_TOO_LONG"
+msgstr "Nom trop long."
+
+msgid "IDS_MUSIC_BODY_MUSIC_CLARITY"
+msgstr "Clarté musicale"
+
+msgid "IDS_MUSIC_BODY_HIGH_VOLUMES_MAY_HARM_YOUR_HEARING_IF_YOU_LISTEN_FOR_A_LONG_TIME"
+msgstr "L'écoute prolongée de musique à un volume élevé risque d'endommager votre audition."
+
+msgid "IDS_MUSIC_BODY_AVAILABLE_USES"
+msgstr "Utilisations disponibles"
+
+msgid "IDS_MUSIC_TPOP_SOUND_EFFECTS_ONLY_AVAILABLE_WHILE_HEADPHONES_CONNECTED"
+msgstr "Les effets sonores sont uniquement disponibles lorsque les écouteurs sont branchés."
+
+msgid "IDS_ST_OPT_ADD_TO_YOUR_PERSONAL_STORAGE"
+msgstr "Ajouter à votre espace de stockage personnel"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_YOUR_PERSONAL_STORAGE"
+msgstr "Supprimer de votre espace de stockage personnel"
+
+msgid "IDS_ST_BODY_CONTEXTUAL_POP_UP_T_TALKBACK"
+msgstr "Fenêtre contextuelle"
+
+msgid "IDS_ST_BODY_A_CONTEXTUAL_POP_UP_IS_OPEN_DOUBLE_TAP_TO_CLOSE_IT_T_TALKBACK"
+msgstr "Une fenêtre contextuelle est ouverte. Touchez deux fois pour la fermer."
+
+msgid "IDS_ST_BODY_REPEAT_ONE"
+msgstr "Répéter un"
+
+msgid "IDS_ST_BUTTON_MOVING_ING"
+msgstr "Déplacement..."
+
+msgid "IDS_HS_BODY_SELECT_UP_TO_PD_ITEMS"
+msgstr "Sélectionnez jusqu'à %d éléments"
+
+msgid "IDS_CAM_BODY_TAB_T_TTS"
+msgstr "Onglet"
+
+msgid "IDS_DLNA_OPT2_CHANGE_PLAYER"
+msgstr "Modifier le lecteur"
+
+msgid "IDS_BR_SK_TABS"
+msgstr "Onglets"
+
+msgid "IDS_MF_BODY_DROPBOX_ABB"
+msgstr "Dropbox"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "La fonction de Recommandations auto propose un extrait des fichiers audio."
+
+msgid "IDS_MF_BODY_PARENT_RATING"
+msgstr "Classement parental"
+
+msgid "IDS_VR_POP_FILE_NOT_FOUND"
+msgstr "Fichier introuvable."
+
+msgid "IDS_PB_POP_CALLER_RINGTONE_SAVED"
+msgstr "Sonnerie de l'appelant enregistrée"
+
+msgid "IDS_MUSIC_BODY_BIT_DEPTH"
+msgstr "Profondeur de bit"
+
+msgid "IDS_MUSIC_BODY_SIZE"
+msgstr "Taille"
+
+msgid "IDS_MF_HEADER_PD_SELECTED"
+msgstr "%d sélect."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_THIS_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Les morceaux ajoutés à cet appareil seront affichés ici."
+
+msgid "IDS_MUSIC_TMBODY_LENGTH"
+msgstr "Longueur"
+
+msgid "IDS_MUSIC_POP_1_FOLDER_WILL_BE_DELETED"
+msgstr "1 dossier va être supprimé."
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Aucun contenu"
+
+msgid "IDS_MUSIC_ITAB4_FOLDERS"
+msgstr "Dossiers"
+
+msgid "IDS_MUSIC_HEADER_MY_PLAYLISTS_ABB"
+msgstr "Mes listes de lecture"
+
+msgid "IDS_MP_BODY_SOUND_PLAYER"
+msgstr "Lecteur de son"
+
+msgid "IDS_MUSIC_OPT_SETTINGS"
+msgstr "Réglages"
+
+msgid "IDS_MUSIC_POP_DELETING"
+msgstr "Suppression ..."
+
+msgid "IDS_MUSIC_POP_1_TRACK_WILL_BE_DELETED"
+msgstr "1 morceau sera supprimé."
+
+msgid "IDS_MUSIC_POP_ALL_TRACKS_WILL_BE_DELETED"
+msgstr "Tous les morceaux seront supprimés"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_WILL_BE_DELETED"
+msgstr "%d morceaux seront supprimés."
+
+msgid "IDS_MUSIC_POP_1_PLAYLIST_WILL_BE_DELETED"
+msgstr "1 liste de lecture sera supprimée."
+
+msgid "IDS_MUSIC_POP_PD_PLAYLISTS_WILL_BE_DELETED"
+msgstr "%d listes de lecture seront supprimées."
+
+msgid "IDS_MUSIC_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "%d albums seront supprimés."
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS_WILL_BE_DELETED"
+msgstr "%d artistes seront supprimés."
+
+msgid "IDS_MUSIC_POP_PD_FOLDERS_WILL_BE_DELETED"
+msgstr "%d dossiers seront supprimés."
+
+msgid "IDS_ST_POP_CONNECTION_FAILED"
+msgstr "Échec de connexion réseau."
+
+msgid "IDS_MUSIC_BODY_CLASSIC"
+msgstr "Classique"
+
+msgid "IDS_MUSIC_BODY_ROCK"
+msgstr "Rock"
+
+msgid "IDS_MUSIC_BODY_JAZZ"
+msgstr "Jazz"
+
+msgid "IDS_MUSIC_BODY_POP"
+msgstr "Pop"
+
+msgid "IDS_MUSIC_BODY_AUTO"
+msgstr "Auto"
+
+msgid "IDS_MUSIC_POP_CURRENT_SOUND_EFFECT_NOT_SUPPORTED_BY_HDMI"
+msgstr "Effet sonore actuel non pris en charge par HDMI."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_BLUETOOTH"
+msgstr "Les effets sonores ne sont pas pris en charge par Bluetooth."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_LINE_OUT"
+msgstr "Les effets sonores ne sont pas pris en charge par la sortie ligne."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_HDMI"
+msgstr "Les effets sonores ne sont pas pris en charge par la sortie HDMI."
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EFFECT"
+msgstr "Ampli à lampe"
+
+msgid "IDS_MUSIC_BODY_CUSTOM"
+msgstr "Personnaliser"
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EQUALISER_ABB"
+msgstr "Ampli à lampe"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d morceaux ajoutés à la liste de lecture."
+
+msgid "IDS_MUSIC_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 morceau a été ajouté à la liste de lecture."
+
+msgid "IDS_MUSIC_HEADER_ADD_TRACKS_TO_PLAYLIST_ABB"
+msgstr "Ajouter à une liste de lecture"
+
+msgid "IDS_MUSIC_POP_PS_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "%s est déjà utilisé. Saisissez un autre nom."
+
+msgid "IDS_MUSIC_TMBODY_DATE_OF_RECORDING"
+msgstr "Date d'enregistrement"
+
+msgid "IDS_MBP_TPOP_TRACK_SET_AS_ALARM_TONE"
+msgstr "Morceau défini comme tonalité d'alarme."
+
+msgid "IDS_MUSIC_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Aucun résultat trouvé"
+
+msgid "IDS_MUSIC_OPT_DEFAULT_RINGTONE_ABB"
+msgstr "Sonnerie par défaut"
+
+msgid "IDS_MUSIC_TPOP_TRACK_SET_AS_CALLER_RINGTONE"
+msgstr "Morceau défini comme sonnerie de l'appelant."
+
+msgid "IDS_MP_TPOP_TRACK_SET_AS_RINGTONE"
+msgstr "Morceau défini comme sonnerie."
+
+msgid "IDS_DLNA_BODY_ADD_TO_NOW_PLAYING_LIST"
+msgstr "Ajouter à liste de lecture"
+
+msgid "IDS_MUSIC_TPOP_EQUALISER_SETTINGS_WILL_BE_APPLIED_WHILE_PLAYING_MUSIC"
+msgstr "Les paramètres de l'égaliseur vont s'appliquer pendant la lecture de la musique."
+
+msgid "IDS_ST_BODY_ALERT"
+msgstr "Alerte"
+
+msgid "IDS_IV_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 album sera supprimé."
+
+msgid "IDS_MUSIC_OPT_SD_CARD"
+msgstr "Carte SD"
+
+msgid "IDS_MUSIC_SBODY_DEVICE_STORAGE"
+msgstr "Espace sur l'appareil"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE"
+msgstr "Nom de liste de lecture déjà utilisé."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_PD"
+msgstr "Liste de lecture %d"
+
+msgid "IDS_MUSIC_HEADER_CREATE"
+msgstr "Créer"
+
+msgid "IDS_MUSIC_HEADER_EQUALISER_PRESET_ABB"
+msgstr "Préréglage de l'égaliseur"
+
+msgid "IDS_MUSIC_OPT_AUTOMATIC_M_EQUALIZER_EFFECT"
+msgstr "Automatique"
+
+msgid "IDS_MUSIC_OPT_CLASSICAL_M_EQUALIZER_EFFECT"
+msgstr "Classique"
+
+msgid "IDS_MUSIC_HEADER_ENVIRONMENT_EFFECT_ABB"
+msgstr "Effet d'environnement"
+
+msgid "IDS_VIDEO_POP_THE_FILE_TYPE_IS_NOT_SUPPORTED"
+msgstr "Le type de fichier n'est pas pris en charge."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_CREATE_PLAYLISTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Les listes de lecture créées seront affichées ici."
+
+msgid "IDS_ST_HEADER_SELECT_AUDIO_DEVICE_ABB"
+msgstr "Sélectionner un appareil audio"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "Ce nom est déjà utilisé. Saisissez un autre nom."
+
+msgid "IDS_MUSIC_HEADER_SOUNDALIVE_ABB3"
+msgstr "SoundAlive"
+
+msgid "IDS_MUSIC_OPT_NOW_PLAYING_LIST"
+msgstr "Liste de lecture en cours"
+
+msgid "IDS_MUSIC_OPT_SHOW_LYRICS"
+msgstr "Afficher les paroles"
+
+msgid "IDS_MUSIC_OPT_HIDE_LYRICS"
+msgstr "Masquer les paroles"
+
+msgid "IDS_MUSIC_TPOP_UNABLE_TO_PLAY_MUSIC_DURING_CALLS"
+msgstr "Impossible d'écouter de la musique durant les appels."
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Supprimer"
+
+msgid "IDS_MUSIC_HEADER_SELECT"
+msgstr "Sélectionner"
+
+msgid "IDS_TPLATFORM_OPT_NFC"
+msgstr "NFC"
+
+msgid "IDS_MUSIC_HEADER_UNABLE_TO_PLAY_TRACK"
+msgstr "Impossible de lire le morceau"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "OK"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ANNULER"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "SUPPRIMER"
+
+msgid "IDS_MUSIC_POP_RENAME"
+msgstr "Renommer"
+
+msgid "IDS_MUSIC_OPT_MESSAGE"
+msgstr "Message"
+
+msgid "IDS_MUSIC_SK_OK"
+msgstr "OK"
+
+msgid "IDS_MUSIC_SK_CANCEL"
+msgstr "Annuler"
+
+msgid "IDS_MUSIC_BUTTON_REFRESH"
+msgstr "Actualiser"
+
+msgid "IDS_MUSIC_BODY_SELECT_ALL"
+msgstr "Sélectionner tout"
+
+msgid "IDS_MUSIC_BODY_WI_FI"
+msgstr "Wifi"
+
+msgid "IDS_MUSIC_POP_DELETED"
+msgstr "Supprimé."
+
+msgid "IDS_MUSIC_OPT_STOP"
+msgstr "Arrêter"
+
+msgid "IDS_MUSIC_BODY_UNKNOWN"
+msgstr "Inconnu"
+
+msgid "IDS_MUSIC_BODY_TITLE"
+msgstr "Titre"
+
+msgid "IDS_MUSIC_OPT_SENDVIA_EMAIL"
+msgstr "Courriel"
+
+msgid "IDS_MUSIC_OPT_BLUETOOTH"
+msgstr "Bluetooth"
+
+msgid "IDS_MUSIC_HEADER_DOWNLOAD"
+msgstr "Télécharger"
+
+msgid "IDS_MUSIC_POP_LOW_BATTERY"
+msgstr "Pile faible"
+
+msgid "IDS_MUSIC_HEADER_AUDIO_DEVICE"
+msgstr "Périphérique audio"
+
+msgid "IDS_MUSIC_HEADER_DETAILS"
+msgstr "Détails"
+
+msgid "IDS_MUSIC_OPT_END"
+msgstr "Fermer"
+
+msgid "IDS_MUSIC_OPT_EDIT"
+msgstr "Modifier"
+
+msgid "IDS_CAM_HEADER_UPDATED"
+msgstr "Mis à jour."
+
+msgid "IDS_MUSIC_POP_REMOVED"
+msgstr "Retiré"
+
+msgid "IDS_MUSIC_OPT_SELECTED"
+msgstr "Sélectionné"
+
+msgid "IDS_ST_BUTTON_SCAN"
+msgstr "Rechercher"
+
+msgid "IDS_MF_POP_ERROR"
+msgstr "Erreur."
+
+msgid "IDS_MF_POP_MEMORY_FULL"
+msgstr "Mémoire saturée."
+
+msgid "IDS_COM_BODY_ALLSHARE"
+msgstr "AllShare"
+
+msgid "IDS_COM_BODY_BLUETOOTH"
+msgstr "Bluetooth"
+
+msgid "IDS_MUSIC_MBODY_QUEUE"
+msgstr "File d'attente"
+
+msgid "IDS_MUSIC_OPT_VOLUME"
+msgstr "Volume"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE"
+msgstr "Mode aléatoire"
+
+msgid "IDS_MUSIC_OPT_REPEAT"
+msgstr "Répéter"
+
+msgid "IDS_COM_BODY_EDIT"
+msgstr "Edit"
+
+msgid "IDS_COM_BODY_EMAIL"
+msgstr "Email"
+
+msgid "IDS_COM_BODY_END"
+msgstr "End"
+
+msgid "IDS_COM_BODY_FOLDERS"
+msgstr "Folders"
+
+msgid "IDS_COM_BODY_GALLERY"
+msgstr "Gallery"
+
+msgid "IDS_COM_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_COM_BODY_LOADING"
+msgstr "Loading..."
+
+msgid "IDS_COM_BODY_LOW_BATTERY"
+msgstr "Low battery."
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Message"
+
+msgid "IDS_COM_BODY_MUSIC"
+msgstr "Music"
+
+msgid "IDS_COM_BODY_NFC"
+msgstr "NFC"
+
+msgid "IDS_COM_BODY_NO_CONTENTS"
+msgstr "No content"
+
+msgid "IDS_COM_BODY_PAUSE"
+msgstr "Pause"
+
+msgid "IDS_COM_BODY_PD_SELECTED"
+msgstr "%d selected."
+
+msgid "IDS_COM_BODY_PREVIOUS"
+msgstr "Previous"
+
+msgid "IDS_COM_BODY_RESET_A"
+msgstr "Reset"
+
+msgid "IDS_COM_BODY_SELECTED"
+msgstr "Selected"
+
+msgid "IDS_COM_BODY_SELECT_ALL"
+msgstr "Select all"
+
+msgid "IDS_COM_BODY_SETTINGS"
+msgstr "Settings"
+
+msgid "IDS_COM_BODY_TIME"
+msgstr "Time"
+
+msgid "IDS_COM_BODY_UNABLE_TO_ADD"
+msgstr "Unable to add."
+
+msgid "IDS_COM_BODY_UNKNOWN"
+msgstr "Unknown"
+
+msgid "IDS_COM_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_COM_BUTTON_SCAN"
+msgstr "Scan"
+
+msgid "IDS_COM_BUTTON_SHARE"
+msgstr "Share"
+
+msgid "IDS_COM_HEADER_AUDIO_DEVICE_ABB"
+msgstr "Audio device"
+
+msgid "IDS_COM_OPT_ADDED"
+msgstr "Added."
+
+msgid "IDS_COM_OPT_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_POP_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_POP_CONNECTION_FAILED"
+msgstr "Connection failed."
+
+msgid "IDS_COM_POP_DELETED"
+msgstr "Deleted."
+
+msgid "IDS_COM_POP_DELETE_Q"
+msgstr "Delete?"
+
+msgid "IDS_COM_POP_DONE"
+msgstr "Done"
+
+msgid "IDS_COM_POP_DOWNLOADING"
+msgstr "Downloading..."
+
+msgid "IDS_COM_POP_ERROR"
+msgstr "Error."
+
+msgid "IDS_COM_POP_FAILED"
+msgstr "Failed."
+
+msgid "IDS_COM_POP_FILE_NOT_EXIST"
+msgstr "This file does not exist."
+
+msgid "IDS_COM_POP_FILE_NOT_FOUND"
+msgstr "File not found."
+
+msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximum number of characters reached."
+
+msgid "IDS_COM_POP_MEMORY_FULL"
+msgstr "Memory full."
+
+msgid "IDS_COM_POP_REMOVED"
+msgstr "Removed."
+
+msgid "IDS_COM_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Unable to use during Mass storage mode."
+
+msgid "IDS_COM_POP_UPDATED"
+msgstr "Updated."
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_SK_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_SK_DOWNLOAD"
+msgstr "Download"
+
+msgid "IDS_COM_SK_NEW"
+msgstr "New"
+
+msgid "IDS_COM_SK_NEXT"
+msgstr "Next"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_SK_REFRESH"
+msgstr "Refresh"
+
+msgid "IDS_COM_SK_REMOVE"
+msgstr "Remove"
+
+msgid "IDS_COM_SK_SAVE"
+msgstr "Save"
+
+msgid "IDS_COM_SK_SELECT"
+msgstr "Select"
+
+msgid "IDS_COM_SK_SET"
+msgstr "Set"
+
+msgid "IDS_COM_SK_STOP"
+msgstr "Stop"
+
+msgid "IDS_MH_BODY_THE_PLAYLIST_NAME_PS_IS_ALREADY_IN_USE"
+msgstr "The playlist name %s is already in use."
+
+msgid "IDS_MH_BODY_TOTAL"
+msgstr "Total"
+
+msgid "IDS_MH_MBODY_RECENTLY_ADDED_M_SONG"
+msgstr "Recently added"
+
+msgid "IDS_MH_OPT_MORE_INFO_ABB"
+msgstr "More info"
+
+msgid "IDS_MH_POP_ALARM_TONE_SET"
+msgstr "Alarm tone set."
+
+msgid "IDS_MH_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 track added to playlist."
+
+msgid "IDS_MH_TPOP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d tracks added to playlist."
+
+msgid "IDS_MUSIC_OPT_RENAME"
+msgstr "Rename"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Unable to play during call."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Taille maximale des fichiers dépassée."
+
+msgid "IDS_CAM_TPOP_UNABLE_TO_PLAY_MUSIC_WHILE_RECORDING_AUDIO_OR_VIDEO"
+msgstr "Impossible de lire de la musique pendant un enregistrement audio ou vidéo."
+
--- /dev/null
+msgid "IDS_ST_BODY_LOADING_ING"
+msgstr "Ag lódáil..."
+
+msgid "IDS_GALLERY_OPT_PRIVATE_M_CONTENT"
+msgstr "Príobháideach"
+
+msgid "IDS_MF_BODY_TIME"
+msgstr "Am"
+
+msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
+msgstr "Níl an comhad seo ann"
+
+msgid "IDS_MUSIC_POP_PHONE_RINGTONE"
+msgstr "Clingthon fóin"
+
+msgid "IDS_MUSIC_BODY_DURATION"
+msgstr "Fad ama"
+
+msgid "IDS_MUSIC_BODY_MUSIC_LOCATION"
+msgstr "Suíomh"
+
+msgid "IDS_MUSIC_BODY_SET_AS_M_RINGTONE"
+msgstr "Socraigh mar"
+
+msgid "IDS_ST_OPT_ADD_TO_PERSONAL_PAGE"
+msgstr "Cuir le leathanach pearsanta"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_PERSONAL_PAGE_ABB"
+msgstr "Bain ón lch pearsanta"
+
+msgid "IDS_ST_POP_MOVE_TO_NORMAL_STORAGE"
+msgstr "Bog chuig gnáthstóras"
+
+msgid "IDS_ST_POP_MOVE_TO_PERSONAL_STORAGE"
+msgstr "Bog chuig stóras pearsanta"
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEMS_WILL_BE_MOVED_TO_PS"
+msgstr "Bogfar na míreanna roghnaithe chuig %s"
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEM_WILL_BE_MOVED_TO_PS"
+msgstr "Bogfar an mhír roghnaithe chuig %s"
+
+msgid "IDS_VR_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Ní féidir é a úsáid le linn Modh ollstórála."
+
+msgid "IDS_MUSIC_POP_RINGTONE_ADDED"
+msgstr "Clingthon curtha leis."
+
+msgid "IDS_CAM_BODY_BUTTON_T_TTS"
+msgstr "Cnaipe"
+
+msgid "IDS_MUSIC_HEADER_SELECT_ITEMS"
+msgstr "Roghnaigh míreanna"
+
+msgid "IDS_ST_BODY_ADVANCED"
+msgstr "Ardleibhéal"
+
+msgid "IDS_ST_SK_PREVIOUS"
+msgstr "Roimhe"
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Dún"
+
+msgid "IDS_MUSIC_POP_ADDED"
+msgstr "Curtha leis."
+
+msgid "IDS_MUSIC_POP_FAILED"
+msgstr "Theip air."
+
+msgid "IDS_MUSIC_BODY_NO_SEARCH_RESULTS"
+msgstr "Níl torthaí cuardaigh ann"
+
+msgid "IDS_MUSIC_SK_DONE"
+msgstr "Déanta"
+
+msgid "IDS_MUSIC_BODY_NO_ITEMS"
+msgstr "Níl míreanna ann"
+
+msgid "IDS_BR_OPT_ADD_TO_HOME"
+msgstr "Cuir le baile"
+
+msgid "IDS_BR_SK_NEXT"
+msgstr "Ar aghaidh"
+
+msgid "IDS_BR_BODY_DOWNLOADING_ING"
+msgstr "Ag íoslódáil..."
+
+msgid "IDS_IV_BODY_FAVOURITE"
+msgstr "Ceanán"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_PERSONAL_STORAGE"
+msgstr "Cuir le stóras pearsanta"
+
+msgid "IDS_DLNA_POP_DISCONNECTED_FROM_PS_CHECK_THE_NETWORK_STATUS_AND_THE_CONNECTED_DEVICE"
+msgstr "Dínasctha ó %s. Seiceáil stádas an líonra agus an gléas nasctha."
+
+msgid "IDS_DLNA_OPT_VIA_SCREEN_MIRRORING_ABB"
+msgstr "Trí Screen Mirroring"
+
+msgid "IDS_DLNA_OPT_VIA_HOME_NETWORK_ABB"
+msgstr "Trí líonra baile"
+
+msgid "IDS_IV_POP_ENTRY_IS_EMPTY"
+msgstr "Tá an iontráil folamh"
+
+msgid "IDS_FM_POP_UNAVAILABLE_DURING_CALL"
+msgstr "Níl sé ar fáil i rith glao."
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Uaslíon na gcarachtar bainte amach."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_SHARE_DRM_FILE"
+msgstr "Ní féidir comhad DRM a chomhroinnt."
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Ag baint..."
+
+msgid "IDS_MUSIC_HEADER_PD_DEVICES"
+msgstr "%d gléas"
+
+msgid "IDS_MUSIC_BUTTON_ENABLE_MOTION"
+msgstr "Cumas. gluaisne"
+
+msgid "IDS_MUSIC_BUTTON_DONT_ASK_AGAIN"
+msgstr "Ná hiarr arís"
+
+msgid "IDS_MUSIC_BODY_NO_RESULTS_FOUND"
+msgstr "Níor aimsíodh torthaí."
+
+msgid "IDS_VPL_OPT_HDMI"
+msgstr "HDMI"
+
+msgid "IDS_MUSIC_BODY_TURN_PHONE_OVER_TO_MUTE_INCOMING_CALLS_MESSAGE_ALERTS_AND_ALARMS"
+msgstr "Cas an fón bunoscionn le glaonna isteach, foláirimh maidir le teachtaireachtaí agus aláraim a bhalbhú"
+
+msgid "IDS_ST_BODY_NONE"
+msgstr "Dada"
+
+msgid "IDS_ST_BODY_INTERNET"
+msgstr "An tIdirlíon"
+
+msgid "IDS_ST_BODY_GALLERY"
+msgstr "Gailearaí"
+
+msgid "IDS_ST_BODY_DOUBLE_TAP_TO_MOVE_TO_CONTENT_T_TTS"
+msgstr "Déthapáil le bogadh chuig inneachar."
+
+msgid "IDS_MUSIC_BODY_SURROUND"
+msgstr "Mórthimpeall"
+
+msgid "IDS_MUSIC_OPT_LYRICS_ABB"
+msgstr "Liricí"
+
+msgid "IDS_MUSIC_POP_AFTER_YOU_ADD_TRACKS_TO_MUSIC_ON_YOUR_MOBILE_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Tar éis duit rianta a chur le Ceol ar do ghléas móibíleach, taispeánfar anseo iad."
+
+msgid "IDS_MUSIC_BODY_SAMPLING_RATE"
+msgstr "Ráta samplála"
+
+msgid "IDS_MUSIC_BODY_MARKED_AS_A_FAVOURITE"
+msgstr "Marcáilte mar cheanán."
+
+msgid "IDS_MUSIC_BODY_MUSIC"
+msgstr "Ceol"
+
+msgid "IDS_MUSIC_BODY_NOT_MARKED_AS_A_FAVOURITE"
+msgstr "Neamh-mharcáilte mar cheanán."
+
+msgid "IDS_MUSIC_HEADER_SEARCH_MUSIC_ABB"
+msgstr "Cuardaigh ceol"
+
+msgid "IDS_MUSIC_POP_AUTO_RECOMMENDATION_DOES_NOT_SUPPORT_THIS_AUDIO_FILE"
+msgstr "Níl tacú in uath-mholadh don chomhad fuaime seo"
+
+msgid "IDS_MUSIC_POP_SORRY_THE_PLAYER_DOES_NOT_SUPPORT_THIS_TYPE_OF_AUDIO_FILE"
+msgstr "Ár leithscéal, ní tacú sa seinnteoir don chineál comhad fuaime seo"
+
+msgid "IDS_MUSIC_BODY_FAVOURITES"
+msgstr "Ceanáin"
+
+msgid "IDS_MUSIC_BODY_MOST_PLAYED"
+msgstr "Is mó seinm"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_ADDED"
+msgstr "Curtha leis le déanaí"
+
+msgid "IDS_MUSIC_OPT_CREATE_PLAYLIST"
+msgstr "Déan seinnliosta"
+
+msgid "IDS_MUSIC_OPT_REMOVE"
+msgstr "Bain"
+
+msgid "IDS_MUSIC_OPT_SETAS_CALLER_RINGTONE"
+msgstr "Clingthon glaoiteora"
+
+msgid "IDS_MUSIC_TAB4_ARTISTS"
+msgstr "Ceoltóirí"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD"
+msgstr "Ní féidir cur leis."
+
+msgid "IDS_MUSIC_POP_UNABLE_CREATE_PLAYLIST"
+msgstr "Ní féidir seinnliosta a chruthú."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_GET_TAG"
+msgstr "Ní féidir clib a fháil."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_MORE_THAN_PD_MUSIC_FILE"
+msgstr "Ní féidir níos mó ná %d comhad ceoil a chur leis."
+
+msgid "IDS_MUSIC_BODY_ALBUM"
+msgstr "Albam"
+
+msgid "IDS_MUSIC_BODY_AUTHOR"
+msgstr "Údar"
+
+msgid "IDS_MUSIC_BODY_COPYRIGHT"
+msgstr "Cóipcheart"
+
+msgid "IDS_MUSIC_BODY_CREATE_PLAYLIST"
+msgstr "Déan seinnliosta"
+
+msgid "IDS_MUSIC_BODY_DESCRIPTION"
+msgstr "Cur síos"
+
+msgid "IDS_MUSIC_BODY_FORMAT"
+msgstr "Formáid"
+
+msgid "IDS_MUSIC_BODY_IMPOSSIBLE"
+msgstr "Dodhéanta"
+
+msgid "IDS_MUSIC_BODY_NO_PLAYLISTS"
+msgstr "Níl seinnliostaí ann"
+
+msgid "IDS_MUSIC_BODY_TRACK_NUMBER"
+msgstr "Uimhir an riain"
+
+msgid "IDS_MUSIC_POP_DELETE_Q"
+msgstr "Scrios?"
+
+msgid "IDS_MUSIC_POP_REMOVE_Q"
+msgstr "Bain?"
+
+msgid "IDS_MUSIC_POP_UNABLE_RENAME_PLAYLIST"
+msgstr "Ní féidir seinnliosta a athainmniú."
+
+msgid "IDS_MUSIC_TAB4_ALBUMS"
+msgstr "Albaim"
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Ag cur leis..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Scrios %d albam?"
+
+msgid "IDS_MUSIC_TAB4_PLAYLISTS"
+msgstr "Seinnliostaí"
+
+msgid "IDS_MUSIC_OPT_ADD"
+msgstr "Cuir leis"
+
+msgid "IDS_MUSIC_BODY_BIOGRAPHY"
+msgstr "Beathaisnéis"
+
+msgid "IDS_MUSIC_BODY_CREDITS"
+msgstr "Creidiúintí"
+
+msgid "IDS_MUSIC_BODY_DETAILS_MEADIA_INFO"
+msgstr "Faisnéis faoi mheáin"
+
+msgid "IDS_MUSIC_BODY_DISCOGRAPHY"
+msgstr "Dioscliosta"
+
+msgid "IDS_MUSIC_BODY_LYRIC"
+msgstr "Liric"
+
+msgid "IDS_MUSIC_BODY_POSSIBLE"
+msgstr "Indéanta"
+
+msgid "IDS_MUSIC_BODY_REVIEW"
+msgstr "Athbhreithniú"
+
+msgid "IDS_MUSIC_HEADER_TRACK_LIST"
+msgstr "Liosta fuaimrianta"
+
+msgid "IDS_MUSIC_BODY_ADD_TO_PLAYLIST"
+msgstr "Cuir le seinnliosta"
+
+msgid "IDS_MUSIC_BODY_ARTIST"
+msgstr "Ceoltóir"
+
+msgid "IDS_MUSIC_BODY_FORWARDING"
+msgstr "Seoladh ar aghaidh"
+
+msgid "IDS_MUSIC_BODY_RECORDED_DATE"
+msgstr "Date of recording"
+
+msgid "IDS_MUSIC_BODY_PLAYLISTS"
+msgstr "Seinnliostaí"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_PLAYED"
+msgstr "Seinnte le déanaí"
+
+msgid "IDS_MUSIC_BODY_TRACK_LENGTH"
+msgstr "Fad ama an riain"
+
+msgid "IDS_MUSIC_HEADER_NO_SONGS"
+msgstr "Níl amhráin ann"
+
+msgid "IDS_MUSIC_POP_THIS_TRACK_WILL_BE_DELETED"
+msgstr "Scriosfar an rian seo"
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_TRACKS_WILL_BE_DELETED"
+msgstr "Scriosfar na rianta roghnaithe"
+
+msgid "IDS_MUSIC_POP_THIS_ARTIST_WILL_BE_DELETED"
+msgstr "Scriosfar an ceoltóir seo"
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ARTISTS_WILL_BE_DELETED"
+msgstr "Scriosfar na ceoltóirí roghnaithe."
+
+msgid "IDS_MUSIC_POP_ALL_ARTISTS_WILL_BE_DELETED"
+msgstr "Scriosfar gach ceoltóir"
+
+msgid "IDS_MUSIC_POP_THIS_FOLDER_WILL_BE_DELETED"
+msgstr "Scriosfar an fillteán seo"
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_FOLDERS_WILL_BE_DELETED"
+msgstr "Scriosfar na fillteáin roghnaithe."
+
+msgid "IDS_MUSIC_POP_ALL_FOLDERS_WILL_BE_DELETED"
+msgstr "Scriosfar gach fillteán"
+
+msgid "IDS_MUSIC_POP_THIS_ALBUM_WILL_BE_DELETED"
+msgstr "Scriosfar an t-albam seo"
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ALBUMS_WILL_BE_DELETED"
+msgstr "Scriosfar na halbaim roghnaithe."
+
+msgid "IDS_MUSIC_POP_ALL_ALBUMS_WILL_BE_DELETED"
+msgstr "Scriosfar gach albam"
+
+msgid "IDS_MUSIC_POP_THIS_PLAYLIST_WILL_BE_DELETED"
+msgstr "Scriosfar an seinnliosta seo"
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Scriosfar na seinnliostaí roghnaithe"
+
+msgid "IDS_MUSIC_POP_ALL_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Scriosfar gach seinnliosta"
+
+msgid "IDS_MUSIC_HEADER_SONGS"
+msgstr "Amhráin"
+
+msgid "IDS_MUSIC_OPT_REORDER"
+msgstr "Athordaigh"
+
+msgid "IDS_MUSIC_OPT_SAVE_AS_PLAYLIST"
+msgstr "Sábháil mar sheinnliosta"
+
+msgid "IDS_MUSIC_OPT_SETAS_ALARM_TONE"
+msgstr "Ton aláraim"
+
+msgid "IDS_MUSIC_POP_NOTHING_SELECTED"
+msgstr "Dada roghnaithe."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Ní féidir seinm. Tharla earráid."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_UNSUPPORTED_FILETYPE"
+msgstr "Ní féidir seinm. Cineál comhaid gan tacú."
+
+msgid "IDS_MUSIC_SK_SHARE"
+msgstr "Comhroinn"
+
+msgid "IDS_MUSIC_TAB4_CONDUCTORS"
+msgstr "Stiúrthóirí"
+
+msgid "IDS_MUSIC_HEADER_SELECT_DEVICE"
+msgstr "Roghnaigh gléas"
+
+msgid "IDS_MUSIC_SK_VIEW_AS"
+msgstr "Féach mar"
+
+msgid "IDS_MUSIC_BODY_SOUNDEFFECTS_NORMAL"
+msgstr "Normálta"
+
+msgid "IDS_MUSIC_BODY_USER"
+msgstr "Úsáideoir"
+
+msgid "IDS_MUSIC_BODY_VOCAL_M_SOUNDEFFECT"
+msgstr "Guthach"
+
+msgid "IDS_MUSIC_MBODY_BASS_BOOST"
+msgstr "Treisiú doird"
+
+msgid "IDS_MUSIC_MBODY_TREBLE_BOOST"
+msgstr "Treisiú tribile"
+
+msgid "IDS_MUSIC_BODY_CAFE_M_SOUNDEFFECT"
+msgstr "Caife"
+
+msgid "IDS_MUSIC_OPT_VIRTUAL_71_CH"
+msgstr "Cainéal fíorúil 7.1"
+
+msgid "IDS_MUSIC_OPT_AFTER_15_MIN_ABB"
+msgstr "Tar éis 15 nóim"
+
+msgid "IDS_MUSIC_BODY_AFTER_30_MIN"
+msgstr "I ndiaidh 30 nóim"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HOUR"
+msgstr "I ndiaidh 1 uair an chloig"
+
+msgid "IDS_MUSIC_POP_AFTER_1_HOUR_30_MIN"
+msgstr "Tar éis 1 uair an chloig 30 nóim"
+
+msgid "IDS_MUSIC_BODY_AFTER_2_HOURS"
+msgstr "I ndiaidh 2 uair an chloig"
+
+msgid "IDS_MUSIC_BODY_MUSIC_AUTO_OFF"
+msgstr "Uathcheol as"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES_ONLY"
+msgstr "Ní oibríonn an mhaisíocht fuaime seo ach amháin sna móid cluasáin agus gléas cinn Bluetooth"
+
+msgid "IDS_MUSIC_TAB4_MUSIC_SQUARE"
+msgstr "Cearnóg ceoil"
+
+msgid "IDS_MUSIC_POP_NOT_ENOUGH_MUSIC_FILES_TO_PLAY_IN_MUSIC_SQUARE_AT_LEAST_PD_MUSIC_FILES_REQUIRED"
+msgstr "Níl go leor comhad ceoil ann le seinm sa Chearnóg ceoil. Tá %d comhad ceoil ar a laghad de dhíth."
+
+msgid "IDS_MUSIC_BODY_PASSION_M_MOOD"
+msgstr "Paisean"
+
+msgid "IDS_MUSIC_BODY_CALM_M_ADJECTIVE"
+msgstr "Suaimhneach"
+
+msgid "IDS_MUSIC_BODY_JOY_M_MOOD"
+msgstr "Lúcháir"
+
+msgid "IDS_MUSIC_BODY_LIBRARY_UPDATE"
+msgstr "Nuashonrú leabharlainne"
+
+msgid "IDS_MUSIC_POP_UPDATE_LIBRARY_Q"
+msgstr "Nuashonraigh leabharlann?"
+
+msgid "IDS_MUSIC_BODY_CHANGE_AXIS"
+msgstr "Athraigh ais"
+
+msgid "IDS_MUSIC_ITAB4_GENRES"
+msgstr "Seánraí"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_1_TRACK"
+msgstr "1 albam/1 rian"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_PD_TRACKS"
+msgstr "1 albam/%d rian"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS_PD_TRACKS"
+msgstr "%d albam/%d rian"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_CONTROL_MUSIC_PLAYER_WITH_THE_VOICE_COMMANDS_P1SS_P2SS_P3SS_P4SS_P5SS_AND_P6SS"
+msgstr "Is féidir leat Seinnteoir ceoil a rialú le horduithe gutha amhail %1$s, %2$s, %3$s, %4$s, %5$s, agus %6$s"
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_PD_TRACKS"
+msgstr "Seinn %d rian go randamach"
+
+msgid "IDS_MUSIC_BODY_MORE_INFO"
+msgstr "Tuilleadh faisnéise"
+
+msgid "IDS_MUSIC_HEADER_MY_MUSIC_M_APPLICATION_NAME"
+msgstr "Mo cheol"
+
+msgid "IDS_MUSIC_OPT_LIST_VIEW"
+msgstr "Amharc liosta"
+
+msgid "IDS_MUSIC_OPT_PLAY_VIA_GROUP_PLAY"
+msgstr "Seinn trí Group Play"
+
+msgid "IDS_MUSIC_POP_TRACK_ADDED_TO_FAVOURITES"
+msgstr "Tá rian curtha le ceanáin."
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_FAVOURITES"
+msgstr "Bain ó Cheanáin"
+
+msgid "IDS_MUSIC_BODY_NEW_M_LATEST"
+msgstr "Nua"
+
+msgid "IDS_MUSIC_OPT_TRACKS"
+msgstr "Rianta"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL"
+msgstr "Mionsamhail"
+
+msgid "IDS_MUSIC_SK_LIST"
+msgstr "Liosta"
+
+msgid "IDS_MUSIC_SK_OPEN_PLAYLIST"
+msgstr "Oscail seinnliosta"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALL"
+msgstr "Seinn gach"
+
+msgid "IDS_MUSIC_POP_SELECTED_LIST_EMPTY"
+msgstr "Liosta roghnaithe folamh."
+
+msgid "IDS_MUSIC_BODY_MOODS"
+msgstr "Mothúcháin"
+
+msgid "IDS_MUSIC_BUTTON_YEARS"
+msgstr "Blianta"
+
+msgid "IDS_MUSIC_BODY_OLD"
+msgstr "Sean"
+
+msgid "IDS_MUSIC_BODY_MUSIC_SQUARE_ANALYSES_THE_CHARACTERISTICS_OF_MUSIC_FILES_STORED_ON_YOUR_DEVICE_AND_AUTOMATICALLY_CREATES_PLAYLISTS_MSG"
+msgstr "Déanann an chearnóg ceoil anailís ar thréithe na gcomhad ceoil atá stóráilte ar do ghléas agus cruthaítear seinnliostaí go huathoibríoch"
+
+msgid "IDS_MUSIC_BODY_PLAY_TRACKS_WITH_SIMILAR_CHARACTERISTICS_BY_SELECTING_A_SQUARE_ON_THE_SCREEN"
+msgstr "Seinn seinnliosta de cheol a bhfuil tréithe comhchosúla iontu trí chearnóg a roghnú ar an scáileán"
+
+msgid "IDS_MUSIC_BODY_VIEW_PLAYLIST_DETAILS_BY_TAPPING_AND_HOLDING_THE_SQUARE_CURRENTLY_BEING_PLAYED"
+msgstr "Amharc ar shonraí seinnliosta tríd an gcearnóg atá á seinm faoi láthair a thapáil agus a choinneáil"
+
+msgid "IDS_MUSIC_BODY_NEARBY_DEVICES"
+msgstr "Gléasanna in aice láimhe"
+
+msgid "IDS_MUSIC_POP_YOU_WILL_NEED_TO_UPDATE_THE_LIBRARY_IF_NEW_SONGS_HAVE_BEEN_ADDED"
+msgstr "Beidh ort an leabharlann a nuashonrú má cuireadh amhráin nua leis"
+
+msgid "IDS_MUSIC_BODY_NO_ALBUMS"
+msgstr "Níl albaim ann"
+
+msgid "IDS_MUSIC_BODY_NO_ARTISTS"
+msgstr "Níl ceoltóirí ann"
+
+msgid "IDS_MUSIC_OPT_PLAY_SPEED_ABB"
+msgstr "Luas seanma"
+
+msgid "IDS_MUSIC_BODY_CONCERT_HALL_M_SOUNDEFFECT"
+msgstr "Halla ceolchoirme"
+
+msgid "IDS_MUSIC_OPT_ADD_TO"
+msgstr "Cuir le"
+
+msgid "IDS_MUSIC_SK_VIEW"
+msgstr "Amharc air"
+
+msgid "IDS_MUSIC_OPT_LISTBY_RECENTLY_ADDED"
+msgstr "Curtha leis le déanaí"
+
+msgid "IDS_MUSIC_BODY_NOT_USED"
+msgstr "Neamhúsáidte"
+
+msgid "IDS_MUSIC_BODY_MAKE_AVAILABLE_OFFLINE"
+msgstr "Cuir ar fáil as líne"
+
+msgid "IDS_MUSIC_OPT_AFTER_P1SD_HRS_P2SD_MINS"
+msgstr "Tar éis %1$d uair an chloig agus %2$d nóim"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS"
+msgstr "Tar éis %d uair an chloig"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_MINS"
+msgstr "Tar éis %d nóim"
+
+msgid "IDS_MUSIC_BODY_NO_FOLDERS"
+msgstr "Níl fillteán ann"
+
+msgid "IDS_MUSIC_BODY_NO_TRACKS"
+msgstr "Níl rianta ann"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS"
+msgstr "%d albam"
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS"
+msgstr "%d ceoltóir"
+
+msgid "IDS_MUSIC_BODY_PD_GENRES"
+msgstr "%d seánra"
+
+msgid "IDS_MUSIC_BODY_PD_PLAYLISTS"
+msgstr "%d seinnliosta"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_ABB"
+msgstr "%d rian"
+
+msgid "IDS_MUSIC_BODY_PLAYLIST"
+msgstr "Seinnliosta"
+
+msgid "IDS_MUSIC_HEADER_SIMILAR_ALBUMS"
+msgstr "Albaim chomhchosúla"
+
+msgid "IDS_MUSIC_HEADER_TRACK"
+msgstr "Rian"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL_VIEW"
+msgstr "Radharc mionsamhla"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "Ní fheidhmíonn an mhaisíocht fuaime seo ach i modh cluasáin amháin"
+
+msgid "IDS_MUSIC_OPT_ALL_CONTENT_ABB2"
+msgstr "Gach inneachar"
+
+msgid "IDS_MUSIC_BODY_A_NETWORK_CONNECTION_IS_REQUIRED_TO_PLAY_THIS_FILE_CHECK_YOUR_NETWORK_CONNECTION_AND_TRY_AGAIN"
+msgstr "Tá nasc líonra de dhíth chun an comhad seo a sheinm. Seiceáil nasc do líonra agus triail arís."
+
+msgid "IDS_MUSIC_POP_FILE_TYPE_NOT_SUPPORTED"
+msgstr "Cineál comhaid gan tacú."
+
+msgid "IDS_MUSIC_POP_UPDATING_ING"
+msgstr "Ag nuashonrú..."
+
+msgid "IDS_MUSIC_OPT_SEARCH_ABB"
+msgstr "Cuardaigh"
+
+msgid "IDS_MUSIC_OPT_SEARCH_BY"
+msgstr "Cuardaigh de réir"
+
+msgid "IDS_MUSIC_BODY_RELATED_VIDEOS"
+msgstr "Físeáin ghaolmhara"
+
+msgid "IDS_MUSIC_BODY_SMART_VOLUME_ABB"
+msgstr "Airde chliste"
+
+msgid "IDS_MUSIC_BODY_THE_VOLUME_OF_ALL_TRACKS_WILL_BE_ADJUSTED_TO_LEVEL_PD"
+msgstr "Déanfar airde gach riain a cheartú chuig leibhéal %d"
+
+msgid "IDS_MUSIC_HEADER_SMART_VOLUME_IS_ENABLED"
+msgstr "Airde chliste cumasaithe"
+
+msgid "IDS_MUSIC_OPT_CONNECTION_INFO_ABB"
+msgstr "Fais. faoi nascadh"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_PD_MINS"
+msgstr "Tar éis 1 uair is %d nóim"
+
+msgid "IDS_MUSIC_BODY_ADAPT_SOUND_ABB"
+msgstr "Adapt Sound"
+
+msgid "IDS_MUSIC_BODY_MY_DEVICE"
+msgstr "Mo ghléas"
+
+msgid "IDS_MUSIC_POP_LISTENING_AT_A_HIGH_VOLUME_FOR_A_LONG_TIME_MAY_DAMAGE_YOUR_HEARING_RAISE_THE_VOLUME_ABOVE_SAFE_LEVELS_Q"
+msgstr "Má bhíonn tú ag éisteacht leis an airde ard ar feadh tamaill fhada féadfar dochar a dhéanamh do do chluasa. Ardaigh an airde os cionn leibhéil sábháilte?"
+
+msgid "IDS_MUSIC_POP_ALREADY_EXISTS"
+msgstr "Ann cheana."
+
+msgid "IDS_MUSIC_OPT_SCAN_FOR_NEARBY_DEVICES"
+msgstr "Scan le haghaidh gléasanna in aice láimhe"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR"
+msgstr "Tar éis 1 uair an chloig"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_1_MIN"
+msgstr "Tar éis 1 uair is 1 nóim"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS_1_MIN"
+msgstr "Tar éis %d uair is 1 nóim"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_MIN"
+msgstr "Tar éis 1 nóim"
+
+msgid "IDS_MUSIC_OPT_GO_TO_STORE"
+msgstr "Gabh chuig stór"
+
+msgid "IDS_MUSIC_SK3_ADD_TRACKS"
+msgstr "Cuir rianta leis"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FROM_MUSIC_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Tar éis duit rianta a íoslódáil ó Cheol, taispeánfar anseo iad"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_YOUR_FAVOURITES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Tar éis duit rianta a chur le do cheanáin, taispeánfar anseo iad"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_PLAY_TRACKS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Tar éis duit rianta a sheinm, taispeánfar anseo iad"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_PS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Tar éis duit rianta a chur le %s, taispeánfar anseo iad"
+
+msgid "IDS_MUSIC_BODY_NO_PURCHASED_CONTENT"
+msgstr "Níl inneachar ceannaithe ann"
+
+msgid "IDS_MUSIC_SK_SAVE_AS"
+msgstr "Sábháil mar"
+
+msgid "IDS_MUSIC_POP_MUSICPLAYER_UPDATING_FAILED"
+msgstr "Theip ar nuashonrú."
+
+msgid "IDS_MUSIC_BODY_EXCITING_M_ADJECTIVE"
+msgstr "Corraitheach"
+
+msgid "IDS_MUSIC_BODY_SEARCH_MY_MUSIC"
+msgstr "Cuardaigh mo cheol"
+
+msgid "IDS_MUSIC_HEADER_CONNECTED_DEVICES"
+msgstr "Gléasanna nasctha"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST_PS"
+msgstr "Mo sheinnliosta %s"
+
+msgid "IDS_MUSIC_BODY_NO_DEVICES"
+msgstr "Níl gléasanna ann"
+
+msgid "IDS_MUSIC_HEADER_AVAILABLE_DEVICES_ABB"
+msgstr "Gléasanna atá ar fáil"
+
+msgid "IDS_MUSIC_POP_SET"
+msgstr "Socraithe"
+
+msgid "IDS_MUSIC_POP_REMOVE_FAILED"
+msgstr "Theip ar bhaint."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_USE_FAST_FORWARD_AND_REWIND_WHEN_NEARBY_DEVICES_ARE_ENABLED"
+msgstr "Ní féidir mearchasadh agus cúlchasadh a úsáid nuair atá gléasanna in aice láimhe cumasaithe."
+
+msgid "IDS_MUSIC_OPT_SET_AS"
+msgstr "Socraigh mar"
+
+msgid "IDS_MUSIC_OPT_HEADPHONES_ABB"
+msgstr "Cluasáin"
+
+msgid "IDS_MUSIC_OPT_SPEAKER"
+msgstr "Callaire"
+
+msgid "IDS_MUSIC_BODY_1_SONG"
+msgstr "1 amhrán"
+
+msgid "IDS_MUSIC_BODY_PD_SONGS"
+msgstr "%d amhrán"
+
+msgid "IDS_MUSIC_BODY_1_TRACK"
+msgstr "1 rian"
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_1_TRACK"
+msgstr "Suaith 1 rian"
+
+msgid "IDS_MUSIC_POP_NO_MUSIC_FOUND_FOR_SELECTED_CELL"
+msgstr "Níor aimsíodh ceol don chill roghnaithe"
+
+msgid "IDS_MUSIC_BODY_DO_NOT_SHOW_AGAIN"
+msgstr "Ná taispeáin arís"
+
+msgid "IDS_MUSIC_BODY_VARIOUS_ARTISTS"
+msgstr "Ceoltóirí éagsúla"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_HOME_SCREEN_ABB"
+msgstr "Cuir leis an scáileán baile"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_FAVOURITES"
+msgstr "Cuir le Ceanáin"
+
+msgid "IDS_MUSIC_OPT_EDIT_TITLE"
+msgstr "Cuir teideal in eagar"
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_PERSONAL_STORAGE"
+msgstr "Bain ó stóras pearsanta"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FOLDERS_WILL_BE_SHOWN"
+msgstr "Tar éis duit rianta a íoslódáil, taispeánfar fillteáin"
+
+msgid "IDS_MUSIC_BODY_SETTINGS_VOLUME"
+msgstr "Airde"
+
+msgid "IDS_MUSIC_BODY_REPEAT_OFF"
+msgstr "Athsheinn as"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_REPEAT_ALL"
+msgstr "Athdhéan gach"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_OFF"
+msgstr "Suaitheadh as"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_ON"
+msgstr "Suaitheadh ar siúl"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST"
+msgstr "Mo sheinnliosta"
+
+msgid "IDS_MUSIC_MBODY_DEFAULT_PLAYLISTS"
+msgstr "Seinnliostaí réamhshoc."
+
+msgid "IDS_MUSIC_BODY_DETAILS_RECORDING_DATE"
+msgstr "Dáta taifeadta"
+
+msgid "IDS_MUSIC_OPT_ALBUM_ART_ABB"
+msgstr "Alb-Ealaín"
+
+msgid "IDS_MUSIC_BODY_1_GENRE"
+msgstr "1 seánra"
+
+msgid "IDS_MUSIC_BODY_PD_FOLDERS"
+msgstr "%d fillteán"
+
+msgid "IDS_MUSIC_BODY_1_FOLDER"
+msgstr "1 Fhillteán"
+
+msgid "IDS_MUSIC_BODY_1_ARTIST"
+msgstr "1 cheoltóir"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_M_MUSIC"
+msgstr "1 albam"
+
+msgid "IDS_MUSIC_BODY_1_PLAYLIST"
+msgstr "1 seinnliosta"
+
+msgid "IDS_MUSIC_BODY_MUSIC_PLAYER"
+msgstr "Seinnteoir Ceoil"
+
+msgid "IDS_MUSIC_BUTTON_MOVE"
+msgstr "Bog"
+
+msgid "IDS_MUSIC_BUTTON_AUTO_RECOMMENDATIONS"
+msgstr "Uath-mholtaí"
+
+msgid "IDS_MUSIC_BUTTON_FROM_THE_BEGINNING"
+msgstr "Ón tús"
+
+msgid "IDS_MUSIC_HEADER_SUGGESTIONS_FOR_YOU"
+msgstr "Moltaí duit"
+
+msgid "IDS_MUSIC_OPT_SAVE"
+msgstr "Sábháil"
+
+msgid "IDS_MUSIC_TAB4_BASIC_M_EQUALIZING"
+msgstr "Bunúsach"
+
+msgid "IDS_MUSIC_BODY_INSTRUMENT"
+msgstr "Gléas"
+
+msgid "IDS_MUSIC_BODY_TREBLE_M_EQUALISER"
+msgstr "Tribil"
+
+msgid "IDS_MUSIC_BODY_BASS_M_EQUALISER"
+msgstr "Dord"
+
+msgid "IDS_MUSIC_BODY_NO_EFFECTS_ARE_APPLIED_IN_THIS_MODE_ABB"
+msgstr "Ní chuirtear maisíochtaí i bhfeidhm sa mhód seo"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_TIMBRE_OF_A_TUBE_AMP_ABB"
+msgstr "Ionsamhlaítear timbre aimplitheora feadáin."
+
+msgid "IDS_MUSIC_OPT_TUBE_AMP_EFFECT"
+msgstr "Maisíocht aimp feadáin"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_EFFECT_OF_VIRTUAL_71_CHANNEL_SURROUND_SOUND_ABB"
+msgstr "Ionsamhlaítear éifeacht chóras imfhuaime cainéil 7.1 fíorúil."
+
+msgid "IDS_MUSIC_HEADER_SMALL_ROOM_M_REVERB_ABB"
+msgstr "Seomra beag"
+
+msgid "IDS_MUSIC_HEADER_LARGE_ROOM_M_REVERB_ABB"
+msgstr "Seomra mór"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_LARGE_ROOM_EG_A_THEATRE_ABB"
+msgstr "Ionsamhlaítear aisfhuaimniú i seomra mór, m.sh. téatar."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_CONCERT_HALL_ABB"
+msgstr "Ionsamhlaítear aisfhuaimniú i gceoláras."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_SMALL_SPACE_EG_A_STUDIO_ABB"
+msgstr "Ionsamhlaítear aisfhuaimniú i spás beag, m.sh. Stiúideo."
+
+msgid "IDS_MUSIC_BUTTON_3D_CHN"
+msgstr "3D"
+
+msgid "IDS_MUSIC_BODY_CLARITY_M_SOUNDEFFECT"
+msgstr "Soiléire"
+
+msgid "IDS_MUSIC_BUTTON_RESET"
+msgstr "Athshocrú"
+
+msgid "IDS_MUSIC_TAB_YEARS"
+msgstr "Blianta"
+
+msgid "IDS_MUSIC_TAB_GENRES"
+msgstr "Seanrá"
+
+msgid "IDS_MUSIC_TAB_COMPOSERS"
+msgstr "Cumadóirí"
+
+msgid "IDS_MUSIC_TAB_ALL_TRACKS"
+msgstr "Gach fuaimrian"
+
+msgid "IDS_MUSIC_SK3_GO_TO_QUICK_LIST"
+msgstr "Chuig Mearliosta"
+
+msgid "IDS_MUSIC_SK3_FIND"
+msgstr "Aimsigh"
+
+msgid "IDS_MUSIC_SK3_ADD_TO_QUICK_LIST"
+msgstr "Cuir le mearlist"
+
+msgid "IDS_MUSIC_POP_UNAUTHORISED_VIDEO_FILE_FOR_TV_OUT"
+msgstr "Comhad físe neamhúdaraithe do TF-Amach."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_CREATE_MAXIMUM_NUMBER_OF_PLAYLISTS_REACHED"
+msgstr "Ní féidir cruthú. Uaslíon na seinnliostaí bainte amach."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTING_BLUETOOTH_HEADSET"
+msgstr "Ní féidir airde a cheartú agus gléas cinn Bluetooth á cheangail."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTED_TO_BLUETOOTH_HEADSET"
+msgstr "Ní féidir airde a athrú agus gléas cinn Bluetooth nasctha."
+
+msgid "IDS_MUSIC_POP_STOP_MUSIC_PLAYER_Q"
+msgstr "Stad Seinnteoir Ceoil?"
+
+msgid "IDS_MUSIC_POP_PLEASE_EXIT_SILENT_MODE"
+msgstr "Scoir mód Tostach le do thoil"
+
+msgid "IDS_MUSIC_POP_NETWORK_FAILURE"
+msgstr "Teip líonra."
+
+msgid "IDS_MUSIC_POP_MEMORY_CARD_LOADED"
+msgstr "Cárta cuimhne lódáilte."
+
+msgid "IDS_MUSIC_POP_DEVICE_SETTINGS_ERROR"
+msgstr "Earráid le socruithe gléis."
+
+msgid "IDS_MUSIC_POP_COULD_NOT_FIND_A_MATCH_FOR_THE_SONG"
+msgstr "Níorbh fhéidir meaitseáil a fháil don amhrán."
+
+msgid "IDS_MUSIC_POP_BUFFERING_MSTATUS"
+msgstr "Maolánú"
+
+msgid "IDS_MUSIC_POP_BT_HEADSET_ONLY_SUPPORTS_NORMAL_EFFECTS_SETTING"
+msgstr "Níl tacú sa ghléas cinn BT ach do shocrú gnáthmhaisíochtaí"
+
+msgid "IDS_MUSIC_POP_APPLICATION_WILL_BE_CLOSED"
+msgstr "Dúnfar an feidhmchlár"
+
+msgid "IDS_MUSIC_POP_ADDED_GO_TO_WISH_LIST_Q"
+msgstr "Curtha leis. Gabh chuig mianliosta?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_THE_SERVICE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "Is féidir go ngearrfar táillí as an tseirbhís a rochtain. Ar aghaidh?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_STORE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "D’fhéadfaí táille a ghearradh as rochtain ar an stór. Ar aghaidh?"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_ONLY_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES"
+msgstr "Ní oibríonn an mhaisíocht fuaime 5.1 cainéal ach amháin sna móid cluasáin agus gléas cinn Bluetooth"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "Ní fheidhmíonn maisíocht fuaime imfhuaime ach i mód cluasáin amháin"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECTS_NOT_SUPPORTED_BY_SPEAKER"
+msgstr "Níl tacú ann sa challaire do mhaisíochtaí fuaime imfhuaime."
+
+msgid "IDS_MUSIC_OPT_VIEW_BY_COVER_ART"
+msgstr "Amharc de réir ealaíne clúdaigh"
+
+msgid "IDS_MUSIC_OPT_SEND_TRACK"
+msgstr "Seol rian ceoil"
+
+msgid "IDS_MUSIC_OPT_RATE_TRACK"
+msgstr "Grádaigh rian"
+
+msgid "IDS_MUSIC_OPT_PLAYLIST_MOVE_TRACK_IN_PLAYLIST"
+msgstr "Bog fuaimrian sa seinnliosta"
+
+msgid "IDS_MUSIC_OPT_OPENPLAYLIST_CURRENT"
+msgstr "Reatha"
+
+msgid "IDS_MUSIC_OPT_DELETE_PLAYLIST"
+msgstr "Scrios seinnliosta"
+
+msgid "IDS_MUSIC_OPT_BACKGROUND_PLAYING"
+msgstr "Seinm sa chúlra"
+
+msgid "IDS_MUSIC_HEADER_EFFECTS"
+msgstr "Maisíochtaí"
+
+msgid "IDS_MUSIC_BUTTON_BUY_NOW"
+msgstr "Ceannaigh"
+
+msgid "IDS_MUSIC_BODY_WOW_HD"
+msgstr "Wow HD"
+
+msgid "IDS_MUSIC_BODY_WISHLIST"
+msgstr "Mianliosta"
+
+msgid "IDS_MUSIC_BODY_WIDE"
+msgstr "Leathan"
+
+msgid "IDS_MUSIC_BODY_WHA_WHA"
+msgstr "Wha-wha"
+
+msgid "IDS_MUSIC_BODY_VIBE_WOOFER"
+msgstr "Amhaire creatha"
+
+msgid "IDS_MUSIC_BODY_TREMOLO"
+msgstr "Tremoló"
+
+msgid "IDS_MUSIC_BODY_TAP_TWICE_TO_PLAY_PAUSE_MUSIC"
+msgstr "Tapáil faoi dhó chun ceol a sheinm/a chur ar sos"
+
+msgid "IDS_MUSIC_BODY_SHARE_TRACK_VIA_BLUETOOTH"
+msgstr "Comhroinn rian le Bluetooth"
+
+msgid "IDS_MUSIC_BODY_SETUPWIZARD_WELCOME_TO_THE_MUSIC_SETUP_WIZARD_CONTINUE_Q"
+msgstr "Fáilte chuig an draoi suiteála Ceoil.\nCabhróidh na scáileáin seo a leanas leat d'fhón a chumrú. Ar aghaidh?"
+
+msgid "IDS_MUSIC_BODY_QUICK_LIST"
+msgstr "Mearliosta"
+
+msgid "IDS_MUSIC_BODY_PLAYINGSETTINGS_SOUND_EFFECTS"
+msgstr "Maisíochtaí fuaime"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_ALL"
+msgstr "Gach"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_1"
+msgstr "1"
+
+msgid "IDS_MUSIC_BODY_PLAYERSETTINGS_VOLUME"
+msgstr "Airde"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_SELECTED"
+msgstr "%d rian roghnaithe."
+
+msgid "IDS_MUSIC_BODY_NO_PODCASTS"
+msgstr "Níl podchraoltaí ann"
+
+msgid "IDS_MUSIC_BODY_FIND_SIMILAR"
+msgstr "Aimsigh ceann comhchosúil"
+
+msgid "IDS_MUSIC_BODY_BACKGROUND_PLAY"
+msgstr "Seinm sa chúlra"
+
+msgid "IDS_MUSIC_BODY_51_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "Ní féidir imfhuaim a chur i ngníomh ach amháin nuair a bheidh na maisíochtaí fuaime as"
+
+msgid "IDS_MUSIC_TAB4_PODCASTS"
+msgstr "Podchraoltaí"
+
+msgid "IDS_MUSIC_SK2_EDIT_IMAGE"
+msgstr "Cuir íomhá in eagar"
+
+msgid "IDS_MUSIC_POP_PLAYING_ANY_SOUNDS_WILL_STOP_AND_SAVE_YOUR_VOICE_RECORDING_PLAY_Q"
+msgstr "Má sheinneann tú aon fhuaimeanna stopfar agus sábhálfar do thaifeadadh gutha. Seinn?"
+
+msgid "IDS_MUSIC_POP_MAXIMUM_NUMBER_OF_ITEMS_HPD_SELECTED"
+msgstr "Uaslíon na míreanna roghnaithe (%d)."
+
+msgid "IDS_MUSIC_POP_BLUETOOTH_DISCONNECTED"
+msgstr "Bluetooth dícheangailte."
+
+msgid "IDS_MUSIC_POP_5_1_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "Ní féidir imfhuaim a chur i ngníomh ach amháin nuair a bhíonn maisíochtaí fuaime as"
+
+msgid "IDS_MUSIC_OPT_TAKE_PICTURE"
+msgstr "Glac pictiúr"
+
+msgid "IDS_MUSIC_OPT_SHOW_MUSIC_VIEW_ABB"
+msgstr "Taispeáin amharc ceoil"
+
+msgid "IDS_MUSIC_OPT_PAUSE"
+msgstr "Cuir ar sos"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALBUM"
+msgstr "Seinn albam"
+
+msgid "IDS_MUSIC_OPT_LIST_BY"
+msgstr "Liostaigh de réir"
+
+msgid "IDS_MUSIC_OPT_HISTORY"
+msgstr "Stair"
+
+msgid "IDS_MUSIC_OPT_HIDE_MUSIC_VIEW_ABB"
+msgstr "Folaigh amharc ceoil"
+
+msgid "IDS_MUSIC_OPT_FIND_TAG"
+msgstr "Aimsigh clib"
+
+msgid "IDS_MUSIC_OPT_DROPBOX_CONTENT_ABB"
+msgstr "Inneachar Dropbox"
+
+msgid "IDS_MUSIC_OPT_CONTENT_ON_PHONE_ABB"
+msgstr "Inneachar ar fhón"
+
+msgid "IDS_MUSIC_OPT_CHANGE_IMAGE"
+msgstr "Athraigh íomhá"
+
+msgid "IDS_MUSIC_HEADER_DELETE_DROPBOX_DATA_ABB"
+msgstr "Scrios sonraí Dropbox"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_STREAM_YOUR_MUSIC_TO_DEVICES_USING_ALLSHARE"
+msgstr "Is féidir leat do cheol a shruthú chuig gléasanna le AllShare"
+
+msgid "IDS_MUSIC_BODY_VALIDITY"
+msgstr "Bailíocht"
+
+msgid "IDS_MUSIC_BODY_TYPE_CNOUN"
+msgstr "Cineál"
+
+msgid "IDS_MUSIC_BODY_THIS_WILL_DELETE_THE_FILE_FROM_THE_SERVER_AND_ANY_CONNECTED_DEVICES_AS_WELL"
+msgstr "Scriosfar an comhad ón bhfreastalaí agus ó aon ghléasanna atá nasctha leis freisin leis seo"
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_ARTISTS"
+msgstr "Ceoltóirí"
+
+msgid "IDS_MUSIC_BODY_PLAYINGDETAILS_ALBUM_ART"
+msgstr "Ealaín albaim"
+
+msgid "IDS_MUSIC_BODY_OTHER_CONTENTS"
+msgstr "Inneachar eile"
+
+msgid "IDS_MUSIC_BODY_NAME_TOO_LONG"
+msgstr "Ainm ró-fhada."
+
+msgid "IDS_MUSIC_BODY_MUSIC_CLARITY"
+msgstr "Soiléireacht cheoil"
+
+msgid "IDS_MUSIC_BODY_HIGH_VOLUMES_MAY_HARM_YOUR_HEARING_IF_YOU_LISTEN_FOR_A_LONG_TIME"
+msgstr "Is féidir le hairdí arda dochar a dhéanamh don éisteacht má éisteann tú ar feadh tamall fada"
+
+msgid "IDS_MUSIC_BODY_AVAILABLE_USES"
+msgstr "Úsáidí atá ar fáil"
+
+msgid "IDS_MUSIC_TPOP_SOUND_EFFECTS_ONLY_AVAILABLE_WHILE_HEADPHONES_CONNECTED"
+msgstr "Níl maisíochtaí fuaime ar fáil ach amháin nuair atá na cluasáin nasctha."
+
+msgid "IDS_ST_OPT_ADD_TO_YOUR_PERSONAL_STORAGE"
+msgstr "Cuir le do stóras pearsanta"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_YOUR_PERSONAL_STORAGE"
+msgstr "Bain ó do stóras pearsanta"
+
+msgid "IDS_ST_BODY_CONTEXTUAL_POP_UP_T_TALKBACK"
+msgstr "Mír aníos chomhthéacsúil"
+
+msgid "IDS_ST_BODY_A_CONTEXTUAL_POP_UP_IS_OPEN_DOUBLE_TAP_TO_CLOSE_IT_T_TALKBACK"
+msgstr "Tá mír aníos comhthéacsúil ar oscailt. Déthapáil lena dúnadh."
+
+msgid "IDS_ST_BODY_REPEAT_ONE"
+msgstr "Athdhéan uair amháin"
+
+msgid "IDS_ST_BUTTON_MOVING_ING"
+msgstr "Ag bogadh..."
+
+msgid "IDS_HS_BODY_SELECT_UP_TO_PD_ITEMS"
+msgstr "Roghnaigh suas le %d mír"
+
+msgid "IDS_CAM_BODY_TAB_T_TTS"
+msgstr "Táb"
+
+msgid "IDS_DLNA_OPT2_CHANGE_PLAYER"
+msgstr "Athraigh seinnteoir"
+
+msgid "IDS_BR_SK_TABS"
+msgstr "Táib"
+
+msgid "IDS_MF_BODY_DROPBOX_ABB"
+msgstr "Dropbox"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Is féidir le huath-mholtaí na buaicphointí a bhaint amach as comhaid fuaime"
+
+msgid "IDS_MF_BODY_PARENT_RATING"
+msgstr "Rátáil tuismitheoirí"
+
+msgid "IDS_VR_POP_FILE_NOT_FOUND"
+msgstr "Níor aimsíodh an comhad."
+
+msgid "IDS_PB_POP_CALLER_RINGTONE_SAVED"
+msgstr "Clingthon glaoiteora sábháilte."
+
+msgid "IDS_MUSIC_BODY_BIT_DEPTH"
+msgstr "Doimhneacht giotáin"
+
+msgid "IDS_MUSIC_BODY_SIZE"
+msgstr "Méid"
+
+msgid "IDS_MF_HEADER_PD_SELECTED"
+msgstr "%d roghnaithe"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_THIS_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Tar éis duit rianta a chur leis an ngléas seo, taispeánfar anseo iad."
+
+msgid "IDS_MUSIC_TMBODY_LENGTH"
+msgstr "Fad"
+
+msgid "IDS_MUSIC_POP_1_FOLDER_WILL_BE_DELETED"
+msgstr "Scriosfar 1 fhillteán."
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Níl inneachar ann"
+
+msgid "IDS_MUSIC_ITAB4_FOLDERS"
+msgstr "Fillteáin"
+
+msgid "IDS_MUSIC_HEADER_MY_PLAYLISTS_ABB"
+msgstr "Mo sheinnliostaí"
+
+msgid "IDS_MP_BODY_SOUND_PLAYER"
+msgstr "Seinnteoir fuaime"
+
+msgid "IDS_MUSIC_OPT_SETTINGS"
+msgstr "Socruithe"
+
+msgid "IDS_MUSIC_POP_DELETING"
+msgstr "Ag scriosadh..."
+
+msgid "IDS_MUSIC_POP_1_TRACK_WILL_BE_DELETED"
+msgstr "Scriosfar 1 rian."
+
+msgid "IDS_MUSIC_POP_ALL_TRACKS_WILL_BE_DELETED"
+msgstr "Scriosfar gach rian"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_WILL_BE_DELETED"
+msgstr "Scriosfar %d rian."
+
+msgid "IDS_MUSIC_POP_1_PLAYLIST_WILL_BE_DELETED"
+msgstr "Scriosfar 1 seinnliosta."
+
+msgid "IDS_MUSIC_POP_PD_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Scriosfar %d seinnliosta"
+
+msgid "IDS_MUSIC_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "Scriosfar %d albam"
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS_WILL_BE_DELETED"
+msgstr "Scriosfar %d ceoltóir"
+
+msgid "IDS_MUSIC_POP_PD_FOLDERS_WILL_BE_DELETED"
+msgstr "Scriosfar %d fillteán"
+
+msgid "IDS_ST_POP_CONNECTION_FAILED"
+msgstr "Theip ar nascadh."
+
+msgid "IDS_MUSIC_BODY_CLASSIC"
+msgstr "Clasaiceach"
+
+msgid "IDS_MUSIC_BODY_ROCK"
+msgstr "Rac"
+
+msgid "IDS_MUSIC_BODY_JAZZ"
+msgstr "Snagcheol"
+
+msgid "IDS_MUSIC_BODY_POP"
+msgstr "Pop"
+
+msgid "IDS_MUSIC_BODY_AUTO"
+msgstr "Uath-"
+
+msgid "IDS_MUSIC_POP_CURRENT_SOUND_EFFECT_NOT_SUPPORTED_BY_HDMI"
+msgstr "Níl tacú ann in HDMI don mhaisíocht fuaime reatha."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_BLUETOOTH"
+msgstr "Níl tacú ann in Bluetooth do mhaisíochtaí fuaime."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_LINE_OUT"
+msgstr "Níl tacú ann i líne-amach do mhaisíochtaí fuaime."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_HDMI"
+msgstr "Níl tacú ann in HDMI do mhaisíochtaí fuaime."
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EFFECT"
+msgstr "Aimplitheoir feadáin"
+
+msgid "IDS_MUSIC_BODY_CUSTOM"
+msgstr "Saincheaptha"
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EQUALISER_ABB"
+msgstr "Aimplit. feadáin"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d rian curtha leis an seinnliosta."
+
+msgid "IDS_MUSIC_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 rian curtha leis an seinnliosta."
+
+msgid "IDS_MUSIC_HEADER_ADD_TRACKS_TO_PLAYLIST_ABB"
+msgstr "Cuir rianta le seinnliosta"
+
+msgid "IDS_MUSIC_POP_PS_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "Tá %s in úsáid cheana. Iontráil ainm eile."
+
+msgid "IDS_MUSIC_TMBODY_DATE_OF_RECORDING"
+msgstr "Dáta taifeadta"
+
+msgid "IDS_MBP_TPOP_TRACK_SET_AS_ALARM_TONE"
+msgstr "Rian socraithe mar thon aláraim."
+
+msgid "IDS_MUSIC_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Níor aimsíodh torthaí"
+
+msgid "IDS_MUSIC_OPT_DEFAULT_RINGTONE_ABB"
+msgstr "Clingthon réamhshocraithe"
+
+msgid "IDS_MUSIC_TPOP_TRACK_SET_AS_CALLER_RINGTONE"
+msgstr "Rian socraithe mar chlingthon glaoiteora."
+
+msgid "IDS_MP_TPOP_TRACK_SET_AS_RINGTONE"
+msgstr "Rian socraithe mar chlingthon."
+
+msgid "IDS_DLNA_BODY_ADD_TO_NOW_PLAYING_LIST"
+msgstr "Cuir leis an liosta atá ag seinm anois"
+
+msgid "IDS_MUSIC_TPOP_EQUALISER_SETTINGS_WILL_BE_APPLIED_WHILE_PLAYING_MUSIC"
+msgstr "Cuirfear socruithe cothromóra i bhfeidhm agus ceol á sheinm."
+
+msgid "IDS_ST_BODY_ALERT"
+msgstr "Foláireamh"
+
+msgid "IDS_IV_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "Scriosfar 1 albam"
+
+msgid "IDS_MUSIC_OPT_SD_CARD"
+msgstr "Cárta SD"
+
+msgid "IDS_MUSIC_SBODY_DEVICE_STORAGE"
+msgstr "Stóras gléis"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE"
+msgstr "Ainm an tseinnliosta in úsáid cheana féin."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_PD"
+msgstr "Seinnliosta %d"
+
+msgid "IDS_MUSIC_HEADER_CREATE"
+msgstr "Cruthaigh"
+
+msgid "IDS_MUSIC_HEADER_EQUALISER_PRESET_ABB"
+msgstr "Réamhshocrú cothromóra"
+
+msgid "IDS_MUSIC_OPT_AUTOMATIC_M_EQUALIZER_EFFECT"
+msgstr "Uathoibríoch"
+
+msgid "IDS_MUSIC_OPT_CLASSICAL_M_EQUALIZER_EFFECT"
+msgstr "Clasaiceach"
+
+msgid "IDS_MUSIC_HEADER_ENVIRONMENT_EFFECT_ABB"
+msgstr "Maisíocht timpeallachta"
+
+msgid "IDS_VIDEO_POP_THE_FILE_TYPE_IS_NOT_SUPPORTED"
+msgstr "Níl tacú ann don chineál comhaid."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_CREATE_PLAYLISTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Tar éis duit seinnliostaí a chruthú, taispeánfar anseo iad"
+
+msgid "IDS_ST_HEADER_SELECT_AUDIO_DEVICE_ABB"
+msgstr "Roghnaigh gléas fuaime"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "Tá ainm an tseinnliosta in úsáid cheana. Iontráil ainm eile."
+
+msgid "IDS_MUSIC_HEADER_SOUNDALIVE_ABB3"
+msgstr "SoundAlive"
+
+msgid "IDS_MUSIC_OPT_NOW_PLAYING_LIST"
+msgstr "Liosta atá á seinm faoi láthair"
+
+msgid "IDS_MUSIC_OPT_SHOW_LYRICS"
+msgstr "Taispeáin na liricí"
+
+msgid "IDS_MUSIC_OPT_HIDE_LYRICS"
+msgstr "Folaigh liricí"
+
+msgid "IDS_MUSIC_TPOP_UNABLE_TO_PLAY_MUSIC_DURING_CALLS"
+msgstr "Ní féidir ceol a sheinm le linn glaonna."
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Scrios"
+
+msgid "IDS_MUSIC_HEADER_SELECT"
+msgstr "Roghnaigh"
+
+msgid "IDS_TPLATFORM_OPT_NFC"
+msgstr "NFC"
+
+msgid "IDS_MUSIC_HEADER_UNABLE_TO_PLAY_TRACK"
+msgstr "Ní féidir an rian a sheinm"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "DÉANTA"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "CUIR AR CEAL"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "SCRIOS"
+
+msgid "IDS_MUSIC_POP_RENAME"
+msgstr "Athainmnigh"
+
+msgid "IDS_MUSIC_OPT_MESSAGE"
+msgstr "Teachtaireacht"
+
+msgid "IDS_MUSIC_SK_OK"
+msgstr "OK"
+
+msgid "IDS_MUSIC_SK_CANCEL"
+msgstr "Cuir ar ceal"
+
+msgid "IDS_MUSIC_BUTTON_REFRESH"
+msgstr "Athnuaigh"
+
+msgid "IDS_MUSIC_BODY_SELECT_ALL"
+msgstr "Roghnaigh gach"
+
+msgid "IDS_MUSIC_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_MUSIC_POP_DELETED"
+msgstr "Scriosta."
+
+msgid "IDS_MUSIC_OPT_STOP"
+msgstr "Stop"
+
+msgid "IDS_MUSIC_BODY_UNKNOWN"
+msgstr "Anaithnid"
+
+msgid "IDS_MUSIC_BODY_TITLE"
+msgstr "Teideal"
+
+msgid "IDS_MUSIC_OPT_SENDVIA_EMAIL"
+msgstr "R-phost"
+
+msgid "IDS_MUSIC_OPT_BLUETOOTH"
+msgstr "Bluetooth"
+
+msgid "IDS_MUSIC_HEADER_DOWNLOAD"
+msgstr "Íoslódáil"
+
+msgid "IDS_MUSIC_POP_LOW_BATTERY"
+msgstr "Ceallra lag."
+
+msgid "IDS_MUSIC_HEADER_AUDIO_DEVICE"
+msgstr "Gléas fuaime"
+
+msgid "IDS_MUSIC_HEADER_DETAILS"
+msgstr "Sonraí"
+
+msgid "IDS_MUSIC_OPT_END"
+msgstr "Scoir"
+
+msgid "IDS_MUSIC_OPT_EDIT"
+msgstr "Cuir in eagar"
+
+msgid "IDS_CAM_HEADER_UPDATED"
+msgstr "Nuashonraithe."
+
+msgid "IDS_MUSIC_POP_REMOVED"
+msgstr "Bainte."
+
+msgid "IDS_MUSIC_OPT_SELECTED"
+msgstr "Roghnaithe"
+
+msgid "IDS_ST_BUTTON_SCAN"
+msgstr "Scan"
+
+msgid "IDS_MF_POP_ERROR"
+msgstr "Earráid."
+
+msgid "IDS_MF_POP_MEMORY_FULL"
+msgstr "Cuimhne lán."
+
+msgid "IDS_MUSIC_MBODY_QUEUE"
+msgstr "Scuaine"
+
+msgid "IDS_MUSIC_OPT_VOLUME"
+msgstr "Airde"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE"
+msgstr "Suaitheadh"
+
+msgid "IDS_MUSIC_OPT_REPEAT"
+msgstr "Athdhéan"
+
+msgid "IDS_COM_BODY_DETAILS"
+msgstr "Details"
+
+msgid "IDS_COM_BODY_DETAILS_TITLE"
+msgstr "Title"
+
+msgid "IDS_COM_BODY_EDIT"
+msgstr "Edit"
+
+msgid "IDS_COM_BODY_EMAIL"
+msgstr "Email"
+
+msgid "IDS_COM_BODY_END"
+msgstr "End"
+
+msgid "IDS_COM_BODY_FOLDERS"
+msgstr "Folders"
+
+msgid "IDS_COM_BODY_GALLERY"
+msgstr "Gallery"
+
+msgid "IDS_COM_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_COM_BODY_LOADING"
+msgstr "Loading..."
+
+msgid "IDS_COM_BODY_LOW_BATTERY"
+msgstr "Low battery."
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Message"
+
+msgid "IDS_COM_BODY_MUSIC"
+msgstr "Music"
+
+msgid "IDS_COM_BODY_NFC"
+msgstr "NFC"
+
+msgid "IDS_COM_BODY_NO_CONTENTS"
+msgstr "No content"
+
+msgid "IDS_COM_BODY_PAUSE"
+msgstr "Pause"
+
+msgid "IDS_COM_BODY_PD_SELECTED"
+msgstr "%d selected."
+
+msgid "IDS_COM_BODY_PREVIOUS"
+msgstr "Previous"
+
+msgid "IDS_COM_BODY_RESET_A"
+msgstr "Reset"
+
+msgid "IDS_COM_BODY_SELECTED"
+msgstr "Selected"
+
+msgid "IDS_COM_BODY_SELECT_ALL"
+msgstr "Select all"
+
+msgid "IDS_COM_BODY_SETTINGS"
+msgstr "Settings"
+
+msgid "IDS_COM_BODY_TIME"
+msgstr "Time"
+
+msgid "IDS_COM_BODY_UNABLE_TO_ADD"
+msgstr "Unable to add."
+
+msgid "IDS_COM_BODY_UNKNOWN"
+msgstr "Unknown"
+
+msgid "IDS_COM_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_COM_BUTTON_SCAN"
+msgstr "Scan"
+
+msgid "IDS_COM_BUTTON_SHARE"
+msgstr "Share"
+
+msgid "IDS_COM_HEADER_AUDIO_DEVICE_ABB"
+msgstr "Audio device"
+
+msgid "IDS_COM_OPT_ADDED"
+msgstr "Added."
+
+msgid "IDS_COM_OPT_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_POP_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_POP_CONNECTION_FAILED"
+msgstr "Connection failed."
+
+msgid "IDS_COM_POP_DELETED"
+msgstr "Deleted."
+
+msgid "IDS_COM_POP_DELETE_Q"
+msgstr "Delete?"
+
+msgid "IDS_COM_POP_DONE"
+msgstr "Done"
+
+msgid "IDS_COM_POP_DOWNLOADING"
+msgstr "Downloading..."
+
+msgid "IDS_COM_POP_ERROR"
+msgstr "Error."
+
+msgid "IDS_COM_POP_FAILED"
+msgstr "Failed."
+
+msgid "IDS_COM_POP_FILE_NOT_EXIST"
+msgstr "This file does not exist."
+
+msgid "IDS_COM_POP_FILE_NOT_FOUND"
+msgstr "File not found."
+
+msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximum number of characters reached."
+
+msgid "IDS_COM_POP_MEMORY_FULL"
+msgstr "Memory full."
+
+msgid "IDS_COM_POP_REMOVED"
+msgstr "Removed."
+
+msgid "IDS_COM_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Unable to use during Mass storage mode."
+
+msgid "IDS_COM_POP_UPDATED"
+msgstr "Updated."
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_SK_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_SK_DOWNLOAD"
+msgstr "Download"
+
+msgid "IDS_COM_SK_NEW"
+msgstr "New"
+
+msgid "IDS_COM_SK_NEXT"
+msgstr "Next"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_SK_REFRESH"
+msgstr "Refresh"
+
+msgid "IDS_COM_SK_REMOVE"
+msgstr "Remove"
+
+msgid "IDS_COM_SK_SAVE"
+msgstr "Save"
+
+msgid "IDS_COM_SK_SELECT"
+msgstr "Select"
+
+msgid "IDS_COM_SK_SET"
+msgstr "Set"
+
+msgid "IDS_COM_SK_STOP"
+msgstr "Stop"
+
+
+msgid "IDS_MH_BODY_THE_PLAYLIST_NAME_PS_IS_ALREADY_IN_USE"
+msgstr "The playlist name %s is already in use."
+
+msgid "IDS_MH_BODY_TOTAL"
+msgstr "Total"
+
+msgid "IDS_MH_MBODY_RECENTLY_ADDED_M_SONG"
+msgstr "Recently added"
+
+msgid "IDS_MH_OPT_MORE_INFO_ABB"
+msgstr "More info"
+
+msgid "IDS_MH_POP_ALARM_TONE_SET"
+msgstr "Alarm tone set."
+
+msgid "IDS_MH_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 track added to playlist."
+
+msgid "IDS_MH_TPOP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d tracks added to playlist."
+
+msgid "IDS_MUSIC_OPT_RENAME"
+msgstr "Rename"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Unable to play during call."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Uasmhéid na gcomhad sáraithe."
+
+msgid "IDS_CAM_TPOP_UNABLE_TO_PLAY_MUSIC_WHILE_RECORDING_AUDIO_OR_VIDEO"
+msgstr "Ní féidir ceol a sheinm agus fuaim nó físeán á dtaifeadadh."
+
--- /dev/null
+msgid "IDS_ST_BODY_LOADING_ING"
+msgstr "Cargando..."
+
+msgid "IDS_GALLERY_OPT_PRIVATE_M_CONTENT"
+msgstr "Privado"
+
+msgid "IDS_MF_BODY_TIME"
+msgstr "Hora"
+
+msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
+msgstr "O arquivo non existe"
+
+msgid "IDS_MUSIC_POP_PHONE_RINGTONE"
+msgstr "Melodía do teléfono"
+
+msgid "IDS_MUSIC_BODY_DURATION"
+msgstr "Duración"
+
+msgid "IDS_MUSIC_BODY_MUSIC_LOCATION"
+msgstr "Localización"
+
+msgid "IDS_MUSIC_BODY_SET_AS_M_RINGTONE"
+msgstr "Definir como"
+
+msgid "IDS_ST_OPT_ADD_TO_PERSONAL_PAGE"
+msgstr "Engadir á páxina persoal"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_PERSONAL_PAGE_ABB"
+msgstr "Eliminar da páx. persoal"
+
+msgid "IDS_ST_POP_MOVE_TO_NORMAL_STORAGE"
+msgstr "Mover ao almacenamento normal"
+
+msgid "IDS_ST_POP_MOVE_TO_PERSONAL_STORAGE"
+msgstr "Mover ao almacenamento persoal"
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEMS_WILL_BE_MOVED_TO_PS"
+msgstr "Os elementos seleccionados moveranse a %s"
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEM_WILL_BE_MOVED_TO_PS"
+msgstr "O elemento seleccionado moverase a %s"
+
+msgid "IDS_VR_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Non se pode empregar co modo de almacenamento masivo"
+
+msgid "IDS_MUSIC_POP_RINGTONE_ADDED"
+msgstr "Melodía engadida"
+
+msgid "IDS_CAM_BODY_BUTTON_T_TTS"
+msgstr "Botón"
+
+msgid "IDS_MUSIC_HEADER_SELECT_ITEMS"
+msgstr "Seleccionar elementos"
+
+msgid "IDS_ST_BODY_ADVANCED"
+msgstr "Avanzadas"
+
+msgid "IDS_ST_SK_PREVIOUS"
+msgstr "Anterior"
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Pechar"
+
+msgid "IDS_MUSIC_POP_ADDED"
+msgstr "Engadido"
+
+msgid "IDS_MUSIC_POP_FAILED"
+msgstr "Erro"
+
+msgid "IDS_MUSIC_BODY_NO_SEARCH_RESULTS"
+msgstr "Non hai resultados da busca"
+
+msgid "IDS_MUSIC_SK_DONE"
+msgstr "Finalizado"
+
+msgid "IDS_MUSIC_BODY_NO_ITEMS"
+msgstr "Sen elementos"
+
+msgid "IDS_BR_OPT_ADD_TO_HOME"
+msgstr "Engadir ao inicio"
+
+msgid "IDS_BR_SK_NEXT"
+msgstr "Seguinte"
+
+msgid "IDS_BR_BODY_DOWNLOADING_ING"
+msgstr "Descargando..."
+
+msgid "IDS_IV_BODY_FAVOURITE"
+msgstr "Favorito"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_PERSONAL_STORAGE"
+msgstr "Engadir ao almacenamento persoal"
+
+msgid "IDS_DLNA_POP_DISCONNECTED_FROM_PS_CHECK_THE_NETWORK_STATUS_AND_THE_CONNECTED_DEVICE"
+msgstr "Desconectado de %s. Comproba o estado da rede e o dispositivo conectado."
+
+msgid "IDS_DLNA_OPT_VIA_SCREEN_MIRRORING_ABB"
+msgstr "Mediante Screen Mirroring"
+
+msgid "IDS_DLNA_OPT_VIA_HOME_NETWORK_ABB"
+msgstr "A través da rede local"
+
+msgid "IDS_IV_POP_ENTRY_IS_EMPTY"
+msgstr "A entrada está baleira"
+
+msgid "IDS_FM_POP_UNAVAILABLE_DURING_CALL"
+msgstr "Non dispoñible durante a chamada"
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Número máximo de caracteres alcanzado"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_SHARE_DRM_FILE"
+msgstr "Non se pode compartir o arquivo DRM."
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Eliminando..."
+
+msgid "IDS_MUSIC_HEADER_PD_DEVICES"
+msgstr "%d dispositivos"
+
+msgid "IDS_MUSIC_BUTTON_ENABLE_MOTION"
+msgstr "Act. movemen."
+
+msgid "IDS_MUSIC_BUTTON_DONT_ASK_AGAIN"
+msgstr "Non volver preguntar"
+
+msgid "IDS_MUSIC_BODY_NO_RESULTS_FOUND"
+msgstr "Non se atoparon resultados"
+
+msgid "IDS_VPL_OPT_HDMI"
+msgstr "HDMI"
+
+msgid "IDS_MUSIC_BODY_TURN_PHONE_OVER_TO_MUTE_INCOMING_CALLS_MESSAGE_ALERTS_AND_ALARMS"
+msgstr "Dá a volta ao teléfono para silenciar as chamadas entrantes, as alertas das mensaxes e as alarmas"
+
+msgid "IDS_ST_BODY_NONE"
+msgstr "Ningún"
+
+msgid "IDS_ST_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_ST_BODY_GALLERY"
+msgstr "Galería"
+
+msgid "IDS_ST_BODY_DOUBLE_TAP_TO_MOVE_TO_CONTENT_T_TTS"
+msgstr "Toca dúas veces para mover ao contido."
+
+msgid "IDS_MUSIC_BODY_SURROUND"
+msgstr "Son envolvente"
+
+msgid "IDS_MUSIC_OPT_LYRICS_ABB"
+msgstr "Letras"
+
+msgid "IDS_MUSIC_POP_AFTER_YOU_ADD_TRACKS_TO_MUSIC_ON_YOUR_MOBILE_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Despois de engadir pistas a Música no teu dispositivo móbil, estas amosaranse aquí."
+
+msgid "IDS_MUSIC_BODY_SAMPLING_RATE"
+msgstr "Frecuencia de mostraxe"
+
+msgid "IDS_MUSIC_BODY_MARKED_AS_A_FAVOURITE"
+msgstr "Marcada como favorita"
+
+msgid "IDS_MUSIC_BODY_MUSIC"
+msgstr "Música"
+
+msgid "IDS_MUSIC_BODY_NOT_MARKED_AS_A_FAVOURITE"
+msgstr "Non marcada como favorita"
+
+msgid "IDS_MUSIC_HEADER_SEARCH_MUSIC_ABB"
+msgstr "Buscar música"
+
+msgid "IDS_MUSIC_POP_AUTO_RECOMMENDATION_DOES_NOT_SUPPORT_THIS_AUDIO_FILE"
+msgstr "A recomendación automática non admite este arquivo de son"
+
+msgid "IDS_MUSIC_POP_SORRY_THE_PLAYER_DOES_NOT_SUPPORT_THIS_TYPE_OF_AUDIO_FILE"
+msgstr "Sentímolo, o reprodutor non admite este tipo de arquivo de audio"
+
+msgid "IDS_MUSIC_BODY_FAVOURITES"
+msgstr "Favoritos"
+
+msgid "IDS_MUSIC_BODY_MOST_PLAYED"
+msgstr "As máis escoitadas"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_ADDED"
+msgstr "Engadidas recentemente"
+
+msgid "IDS_MUSIC_OPT_CREATE_PLAYLIST"
+msgstr "Crear lista de reprodución"
+
+msgid "IDS_MUSIC_OPT_REMOVE"
+msgstr "Eliminar"
+
+msgid "IDS_MUSIC_OPT_SETAS_CALLER_RINGTONE"
+msgstr "Melodía do chamante"
+
+msgid "IDS_MUSIC_TAB4_ARTISTS"
+msgstr "Artistas"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD"
+msgstr "Non se pode engadir"
+
+msgid "IDS_MUSIC_POP_UNABLE_CREATE_PLAYLIST"
+msgstr "Non se pode crear a lista de reprodución"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_GET_TAG"
+msgstr "Non se pode obter etiqueta"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_MORE_THAN_PD_MUSIC_FILE"
+msgstr "Non se pode(n) engadir máis de %d arquivo(s) de música"
+
+msgid "IDS_MUSIC_BODY_ALBUM"
+msgstr "Álbum"
+
+msgid "IDS_MUSIC_BODY_AUTHOR"
+msgstr "Autor"
+
+msgid "IDS_MUSIC_BODY_COPYRIGHT"
+msgstr "Copyright"
+
+msgid "IDS_MUSIC_BODY_CREATE_PLAYLIST"
+msgstr "Crear lista de reprodución"
+
+msgid "IDS_MUSIC_BODY_DESCRIPTION"
+msgstr "Descrición"
+
+msgid "IDS_MUSIC_BODY_FORMAT"
+msgstr "Formato"
+
+msgid "IDS_MUSIC_BODY_IMPOSSIBLE"
+msgstr "Non é posible"
+
+msgid "IDS_MUSIC_BODY_NO_PLAYLISTS"
+msgstr "Sen listas de reprodución"
+
+msgid "IDS_MUSIC_BODY_TRACK_NUMBER"
+msgstr "Número de pista"
+
+msgid "IDS_MUSIC_POP_DELETE_Q"
+msgstr "Eliminar?"
+
+msgid "IDS_MUSIC_POP_REMOVE_Q"
+msgstr "Eliminar?"
+
+msgid "IDS_MUSIC_POP_UNABLE_RENAME_PLAYLIST"
+msgstr "Non se pode cambiar o nome da lista de reprodución"
+
+msgid "IDS_MUSIC_TAB4_ALBUMS"
+msgstr "Álbums"
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Engadindo..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Eliminar %d álbums?"
+
+msgid "IDS_MUSIC_TAB4_PLAYLISTS"
+msgstr "Listas de música"
+
+msgid "IDS_MUSIC_OPT_ADD"
+msgstr "Engadir"
+
+msgid "IDS_MUSIC_BODY_BIOGRAPHY"
+msgstr "Biografía"
+
+msgid "IDS_MUSIC_BODY_CREDITS"
+msgstr "Créditos"
+
+msgid "IDS_MUSIC_BODY_DETAILS_MEADIA_INFO"
+msgstr "Información multimedia"
+
+msgid "IDS_MUSIC_BODY_DISCOGRAPHY"
+msgstr "Discografía"
+
+msgid "IDS_MUSIC_BODY_LYRIC"
+msgstr "Letra"
+
+msgid "IDS_MUSIC_BODY_POSSIBLE"
+msgstr "Posible"
+
+msgid "IDS_MUSIC_BODY_REVIEW"
+msgstr "Revisar"
+
+msgid "IDS_MUSIC_HEADER_TRACK_LIST"
+msgstr "Lista de pistas"
+
+msgid "IDS_MUSIC_BODY_ADD_TO_PLAYLIST"
+msgstr "Engadir á lista de reprodución"
+
+msgid "IDS_MUSIC_BODY_ARTIST"
+msgstr "Artista"
+
+msgid "IDS_MUSIC_BODY_FORWARDING"
+msgstr "Reenviando"
+
+msgid "IDS_MUSIC_BODY_RECORDED_DATE"
+msgstr "Date of recording"
+
+msgid "IDS_MUSIC_BODY_PLAYLISTS"
+msgstr "Listas de reprodución"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_PLAYED"
+msgstr "Reproducida recentemente"
+
+msgid "IDS_MUSIC_BODY_TRACK_LENGTH"
+msgstr "Duración da pista"
+
+msgid "IDS_MUSIC_HEADER_NO_SONGS"
+msgstr "Non hai cancións"
+
+msgid "IDS_MUSIC_POP_THIS_TRACK_WILL_BE_DELETED"
+msgstr "Eliminarase esta pista"
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_TRACKS_WILL_BE_DELETED"
+msgstr "Eliminaranse as pistas seleccionadas"
+
+msgid "IDS_MUSIC_POP_THIS_ARTIST_WILL_BE_DELETED"
+msgstr "Eliminarase este artista"
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ARTISTS_WILL_BE_DELETED"
+msgstr "Eliminaranse os artistas seleccionados."
+
+msgid "IDS_MUSIC_POP_ALL_ARTISTS_WILL_BE_DELETED"
+msgstr "Eliminaranse todos os artistas"
+
+msgid "IDS_MUSIC_POP_THIS_FOLDER_WILL_BE_DELETED"
+msgstr "Eliminarase esta carpeta"
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_FOLDERS_WILL_BE_DELETED"
+msgstr "Eliminaranse as carpetas seleccionadas."
+
+msgid "IDS_MUSIC_POP_ALL_FOLDERS_WILL_BE_DELETED"
+msgstr "Eliminaranse todas as carpetas"
+
+msgid "IDS_MUSIC_POP_THIS_ALBUM_WILL_BE_DELETED"
+msgstr "Eliminarase este álbum"
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ALBUMS_WILL_BE_DELETED"
+msgstr "Eliminaranse os álbums seleccionados."
+
+msgid "IDS_MUSIC_POP_ALL_ALBUMS_WILL_BE_DELETED"
+msgstr "Eliminaranse todos os albums"
+
+msgid "IDS_MUSIC_POP_THIS_PLAYLIST_WILL_BE_DELETED"
+msgstr "Eliminarase esta lista de reprodución"
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Eliminaranse as listas de reprodución seleccionadas"
+
+msgid "IDS_MUSIC_POP_ALL_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Eliminaranse todas as listas"
+
+msgid "IDS_MUSIC_HEADER_SONGS"
+msgstr "Cancións"
+
+msgid "IDS_MUSIC_OPT_REORDER"
+msgstr "Reordenar"
+
+msgid "IDS_MUSIC_OPT_SAVE_AS_PLAYLIST"
+msgstr "Gardar como lista de reprodución"
+
+msgid "IDS_MUSIC_OPT_SETAS_ALARM_TONE"
+msgstr "Ton de alarma"
+
+msgid "IDS_MUSIC_POP_NOTHING_SELECTED"
+msgstr "Non se seleccionou nada"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Non se pode reproducir. Produciuse un erro."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_UNSUPPORTED_FILETYPE"
+msgstr "Non se pode reproducir. Tipo de arquivo non admitido."
+
+msgid "IDS_MUSIC_SK_SHARE"
+msgstr "Compartir"
+
+msgid "IDS_MUSIC_TAB4_CONDUCTORS"
+msgstr "Directores"
+
+msgid "IDS_MUSIC_HEADER_SELECT_DEVICE"
+msgstr "Seleccionar dispositivo"
+
+msgid "IDS_MUSIC_SK_VIEW_AS"
+msgstr "Ver como"
+
+msgid "IDS_MUSIC_BODY_SOUNDEFFECTS_NORMAL"
+msgstr "Normal"
+
+msgid "IDS_MUSIC_BODY_USER"
+msgstr "Usuario"
+
+msgid "IDS_MUSIC_BODY_VOCAL_M_SOUNDEFFECT"
+msgstr "Música vocal"
+
+msgid "IDS_MUSIC_MBODY_BASS_BOOST"
+msgstr "Potenciación de graves"
+
+msgid "IDS_MUSIC_MBODY_TREBLE_BOOST"
+msgstr "Potenciación de agudos"
+
+msgid "IDS_MUSIC_BODY_CAFE_M_SOUNDEFFECT"
+msgstr "Cafetaría"
+
+msgid "IDS_MUSIC_OPT_VIRTUAL_71_CH"
+msgstr "Virtual de 7.1 canles"
+
+msgid "IDS_MUSIC_OPT_AFTER_15_MIN_ABB"
+msgstr "Tras 15 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_30_MIN"
+msgstr "Tras 30 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HOUR"
+msgstr "Tras 1 hora"
+
+msgid "IDS_MUSIC_POP_AFTER_1_HOUR_30_MIN"
+msgstr "Tras 1 hora e 30 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_2_HOURS"
+msgstr "Tras 2 horas"
+
+msgid "IDS_MUSIC_BODY_MUSIC_AUTO_OFF"
+msgstr "Música automática desactivada"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES_ONLY"
+msgstr "Este efecto de son funciona só no modo de auriculares e audiófono Bluetooth."
+
+msgid "IDS_MUSIC_TAB4_MUSIC_SQUARE"
+msgstr "Music square"
+
+msgid "IDS_MUSIC_POP_NOT_ENOUGH_MUSIC_FILES_TO_PLAY_IN_MUSIC_SQUARE_AT_LEAST_PD_MUSIC_FILES_REQUIRED"
+msgstr "Non hai arquivos de música suficientes para reproducir en Music square. Precísanse polo menos %d arquivos de música."
+
+msgid "IDS_MUSIC_BODY_PASSION_M_MOOD"
+msgstr "Passion"
+
+msgid "IDS_MUSIC_BODY_CALM_M_ADJECTIVE"
+msgstr "Tranquilo"
+
+msgid "IDS_MUSIC_BODY_JOY_M_MOOD"
+msgstr "Joy"
+
+msgid "IDS_MUSIC_BODY_LIBRARY_UPDATE"
+msgstr "Actualización da biblioteca"
+
+msgid "IDS_MUSIC_POP_UPDATE_LIBRARY_Q"
+msgstr "Actualizar biblioteca?"
+
+msgid "IDS_MUSIC_BODY_CHANGE_AXIS"
+msgstr "Cambiar eixo"
+
+msgid "IDS_MUSIC_ITAB4_GENRES"
+msgstr "Xéneros"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_1_TRACK"
+msgstr "1 álbum/1 pista"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_PD_TRACKS"
+msgstr "1 álbum/%d pistas"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS_PD_TRACKS"
+msgstr "%d álbums/%d cancións"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_CONTROL_MUSIC_PLAYER_WITH_THE_VOICE_COMMANDS_P1SS_P2SS_P3SS_P4SS_P5SS_AND_P6SS"
+msgstr "Podes controlar o Reprodutor de Música mediante os comandos de voz %1$s, %2$s, %3$s, %4$s, %5$s e %6$s"
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_PD_TRACKS"
+msgstr "Reproducir aleatoriamente %d pistas"
+
+msgid "IDS_MUSIC_BODY_MORE_INFO"
+msgstr "Máis información"
+
+msgid "IDS_MUSIC_HEADER_MY_MUSIC_M_APPLICATION_NAME"
+msgstr "A miña música"
+
+msgid "IDS_MUSIC_OPT_LIST_VIEW"
+msgstr "Vista de lista"
+
+msgid "IDS_MUSIC_OPT_PLAY_VIA_GROUP_PLAY"
+msgstr "Reproducir mediante Group Play"
+
+msgid "IDS_MUSIC_POP_TRACK_ADDED_TO_FAVOURITES"
+msgstr "Pista engadida aos favoritos"
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_FAVOURITES"
+msgstr "Eliminar de favoritos"
+
+msgid "IDS_MUSIC_BODY_NEW_M_LATEST"
+msgstr "Novo"
+
+msgid "IDS_MUSIC_OPT_TRACKS"
+msgstr "Pistas"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL"
+msgstr "Miniatura"
+
+msgid "IDS_MUSIC_SK_LIST"
+msgstr "Lista"
+
+msgid "IDS_MUSIC_SK_OPEN_PLAYLIST"
+msgstr "Abrir lista de reprodución"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALL"
+msgstr "Reproducir todo"
+
+msgid "IDS_MUSIC_POP_SELECTED_LIST_EMPTY"
+msgstr "Lista seleccionada baleira"
+
+msgid "IDS_MUSIC_BODY_MOODS"
+msgstr "Ambientes"
+
+msgid "IDS_MUSIC_BUTTON_YEARS"
+msgstr "Anos"
+
+msgid "IDS_MUSIC_BODY_OLD"
+msgstr "Antigo"
+
+msgid "IDS_MUSIC_BODY_MUSIC_SQUARE_ANALYSES_THE_CHARACTERISTICS_OF_MUSIC_FILES_STORED_ON_YOUR_DEVICE_AND_AUTOMATICALLY_CREATES_PLAYLISTS_MSG"
+msgstr "Music square analiza as características dos arquivos de música almacenados no teu dispositivo e crea listas de reprodución automaticamente"
+
+msgid "IDS_MUSIC_BODY_PLAY_TRACKS_WITH_SIMILAR_CHARACTERISTICS_BY_SELECTING_A_SQUARE_ON_THE_SCREEN"
+msgstr "Reproduce unha lista de reprodución de música con características similares mediante a selección dun cadrado na pantalla"
+
+msgid "IDS_MUSIC_BODY_VIEW_PLAYLIST_DETAILS_BY_TAPPING_AND_HOLDING_THE_SQUARE_CURRENTLY_BEING_PLAYED"
+msgstr "Visualiza os detalles da lista de reprodución mantendo tocado o cadrado que se está a reproducir nestes intres"
+
+msgid "IDS_MUSIC_BODY_NEARBY_DEVICES"
+msgstr "Dispositivos próximos"
+
+msgid "IDS_MUSIC_POP_YOU_WILL_NEED_TO_UPDATE_THE_LIBRARY_IF_NEW_SONGS_HAVE_BEEN_ADDED"
+msgstr "Necesitarás actualizar a biblioteca se se engadiron novas cancións"
+
+msgid "IDS_MUSIC_BODY_NO_ALBUMS"
+msgstr "Non hai álbums"
+
+msgid "IDS_MUSIC_BODY_NO_ARTISTS"
+msgstr "Non hai artistas"
+
+msgid "IDS_MUSIC_OPT_PLAY_SPEED_ABB"
+msgstr "Veloc de reprodución"
+
+msgid "IDS_MUSIC_BODY_CONCERT_HALL_M_SOUNDEFFECT"
+msgstr "Recinto para concertos"
+
+msgid "IDS_MUSIC_OPT_ADD_TO"
+msgstr "Engadir a"
+
+msgid "IDS_MUSIC_SK_VIEW"
+msgstr "Ver"
+
+msgid "IDS_MUSIC_OPT_LISTBY_RECENTLY_ADDED"
+msgstr "Engadidas recentemente"
+
+msgid "IDS_MUSIC_BODY_NOT_USED"
+msgstr "Sen utilizar"
+
+msgid "IDS_MUSIC_BODY_MAKE_AVAILABLE_OFFLINE"
+msgstr "Facer dispoñible fóra de liña"
+
+msgid "IDS_MUSIC_OPT_AFTER_P1SD_HRS_P2SD_MINS"
+msgstr "Tras %1$d horas %2$d minutos"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS"
+msgstr "Tras %d horas"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_MINS"
+msgstr "Tras %d min"
+
+msgid "IDS_MUSIC_BODY_NO_FOLDERS"
+msgstr "Non hai carpetas"
+
+msgid "IDS_MUSIC_BODY_NO_TRACKS"
+msgstr "Non hai pistas"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS"
+msgstr "%d álbums"
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS"
+msgstr "%d artistas"
+
+msgid "IDS_MUSIC_BODY_PD_GENRES"
+msgstr "%d xéneros"
+
+msgid "IDS_MUSIC_BODY_PD_PLAYLISTS"
+msgstr "%d listas de reprodución"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_ABB"
+msgstr "%d pistas"
+
+msgid "IDS_MUSIC_BODY_PLAYLIST"
+msgstr "Lista de reprodución"
+
+msgid "IDS_MUSIC_HEADER_SIMILAR_ALBUMS"
+msgstr "Álbums similares"
+
+msgid "IDS_MUSIC_HEADER_TRACK"
+msgstr "Pista"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL_VIEW"
+msgstr "Vista en miniatura"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "Este efecto de son só funciona no modo auricular"
+
+msgid "IDS_MUSIC_OPT_ALL_CONTENT_ABB2"
+msgstr "Todos os contidos"
+
+msgid "IDS_MUSIC_BODY_A_NETWORK_CONNECTION_IS_REQUIRED_TO_PLAY_THIS_FILE_CHECK_YOUR_NETWORK_CONNECTION_AND_TRY_AGAIN"
+msgstr "Cómpre dispoñer dunha conexión de rede para reproducir este arquivo. Comproba a túa conexión de rede e téntao de novo."
+
+msgid "IDS_MUSIC_POP_FILE_TYPE_NOT_SUPPORTED"
+msgstr "Tipo de arquivo non admitido"
+
+msgid "IDS_MUSIC_POP_UPDATING_ING"
+msgstr "Actualizando..."
+
+msgid "IDS_MUSIC_OPT_SEARCH_ABB"
+msgstr "Buscar"
+
+msgid "IDS_MUSIC_OPT_SEARCH_BY"
+msgstr "Buscar por"
+
+msgid "IDS_MUSIC_BODY_RELATED_VIDEOS"
+msgstr "Vídeos relacionados"
+
+msgid "IDS_MUSIC_BODY_SMART_VOLUME_ABB"
+msgstr "Volume intelixente"
+
+msgid "IDS_MUSIC_BODY_THE_VOLUME_OF_ALL_TRACKS_WILL_BE_ADJUSTED_TO_LEVEL_PD"
+msgstr "O volume de todas as pistas axustarase ao nivel %d."
+
+msgid "IDS_MUSIC_HEADER_SMART_VOLUME_IS_ENABLED"
+msgstr "O volume intelixente está activado"
+
+msgid "IDS_MUSIC_OPT_CONNECTION_INFO_ABB"
+msgstr "Información conexión"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_PD_MINS"
+msgstr "Tras 1 hora %d min"
+
+msgid "IDS_MUSIC_BODY_ADAPT_SOUND_ABB"
+msgstr "Adapt sound"
+
+msgid "IDS_MUSIC_BODY_MY_DEVICE"
+msgstr "O meu dispositivo"
+
+msgid "IDS_MUSIC_POP_LISTENING_AT_A_HIGH_VOLUME_FOR_A_LONG_TIME_MAY_DAMAGE_YOUR_HEARING_RAISE_THE_VOLUME_ABOVE_SAFE_LEVELS_Q"
+msgstr "A escoita a volume elevado durante un período de tempo prolongado pode danar a túa capacidade auditiva. Desexas subir o volume por derriba dos niveis de seguridade?"
+
+msgid "IDS_MUSIC_POP_ALREADY_EXISTS"
+msgstr "Xa existe"
+
+msgid "IDS_MUSIC_OPT_SCAN_FOR_NEARBY_DEVICES"
+msgstr "Buscar dispositivos próximos"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR"
+msgstr "Tras 1 hora"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_1_MIN"
+msgstr "Tras 1 h 1 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS_1_MIN"
+msgstr "Tras %d horas 1 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_MIN"
+msgstr "Tras 1 min"
+
+msgid "IDS_MUSIC_OPT_GO_TO_STORE"
+msgstr "Ir á tenda"
+
+msgid "IDS_MUSIC_SK3_ADD_TRACKS"
+msgstr "Engadir pistas"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FROM_MUSIC_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Despois de descargar pistas de Música, estas amosaranse aquí"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_YOUR_FAVOURITES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Despois de engadir pistas aos teus favoritos, amosaranse aquí"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_PLAY_TRACKS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Despois de reproducir pistas, estas amosaranse aquí"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_PS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Despois de engadir pistas a %s, estas amosaranse aquí"
+
+msgid "IDS_MUSIC_BODY_NO_PURCHASED_CONTENT"
+msgstr "Ningún contido mercado"
+
+msgid "IDS_MUSIC_SK_SAVE_AS"
+msgstr "Gard como"
+
+msgid "IDS_MUSIC_POP_MUSICPLAYER_UPDATING_FAILED"
+msgstr "Erro ao actualizar"
+
+msgid "IDS_MUSIC_BODY_EXCITING_M_ADJECTIVE"
+msgstr "Emocionante"
+
+msgid "IDS_MUSIC_BODY_SEARCH_MY_MUSIC"
+msgstr "Buscar en A miña música"
+
+msgid "IDS_MUSIC_HEADER_CONNECTED_DEVICES"
+msgstr "Dispositivos conectados"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST_PS"
+msgstr "A miña lista de reprodución %s"
+
+msgid "IDS_MUSIC_BODY_NO_DEVICES"
+msgstr "Non hai dispositivos"
+
+msgid "IDS_MUSIC_HEADER_AVAILABLE_DEVICES_ABB"
+msgstr "Dispositivos dispoñ."
+
+msgid "IDS_MUSIC_POP_SET"
+msgstr "Establ."
+
+msgid "IDS_MUSIC_POP_REMOVE_FAILED"
+msgstr "Erro de eliminación"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_USE_FAST_FORWARD_AND_REWIND_WHEN_NEARBY_DEVICES_ARE_ENABLED"
+msgstr "Non se pode usar o avance e rebobinado rápido cando hai dispositivos próximos activados"
+
+msgid "IDS_MUSIC_OPT_SET_AS"
+msgstr "Definir como"
+
+msgid "IDS_MUSIC_OPT_HEADPHONES_ABB"
+msgstr "Auriculares"
+
+msgid "IDS_MUSIC_OPT_SPEAKER"
+msgstr "Altofal."
+
+msgid "IDS_MUSIC_BODY_1_SONG"
+msgstr "1 canción"
+
+msgid "IDS_MUSIC_BODY_PD_SONGS"
+msgstr "%d cancións"
+
+msgid "IDS_MUSIC_BODY_1_TRACK"
+msgstr "1 pista"
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_1_TRACK"
+msgstr "Reproducir aleatoriamente 1 pista"
+
+msgid "IDS_MUSIC_POP_NO_MUSIC_FOUND_FOR_SELECTED_CELL"
+msgstr "Non se atopou música para a cela seleccionada"
+
+msgid "IDS_MUSIC_BODY_DO_NOT_SHOW_AGAIN"
+msgstr "Non volver mostrar"
+
+msgid "IDS_MUSIC_BODY_VARIOUS_ARTISTS"
+msgstr "Varios artistas"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_HOME_SCREEN_ABB"
+msgstr "Engadir á pantalla de inicio"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_FAVOURITES"
+msgstr "Engadir a Favoritos"
+
+msgid "IDS_MUSIC_OPT_EDIT_TITLE"
+msgstr "Editar título"
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_PERSONAL_STORAGE"
+msgstr "Eliminar do almacenamento persoal"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FOLDERS_WILL_BE_SHOWN"
+msgstr "Despois de descargar pistas, amosaranse carpetas"
+
+msgid "IDS_MUSIC_BODY_SETTINGS_VOLUME"
+msgstr "Volume"
+
+msgid "IDS_MUSIC_BODY_REPEAT_OFF"
+msgstr "Desactivar Repetición"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_REPEAT_ALL"
+msgstr "Repetir todo"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_OFF"
+msgstr "Orde aleatoria desactivada"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_ON"
+msgstr "Orde aleatoria activada"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST"
+msgstr "A miña lista de reprodución"
+
+msgid "IDS_MUSIC_MBODY_DEFAULT_PLAYLISTS"
+msgstr "Listas reproduc. predet."
+
+msgid "IDS_MUSIC_BODY_DETAILS_RECORDING_DATE"
+msgstr "Data de gravación"
+
+msgid "IDS_MUSIC_OPT_ALBUM_ART_ABB"
+msgstr "Dese. álb."
+
+msgid "IDS_MUSIC_BODY_1_GENRE"
+msgstr "1 xénero"
+
+msgid "IDS_MUSIC_BODY_PD_FOLDERS"
+msgstr "%d carpetas"
+
+msgid "IDS_MUSIC_BODY_1_FOLDER"
+msgstr "1 carpeta"
+
+msgid "IDS_MUSIC_BODY_1_ARTIST"
+msgstr "1 artista"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_M_MUSIC"
+msgstr "1 álbum"
+
+msgid "IDS_MUSIC_BODY_1_PLAYLIST"
+msgstr "1 lista de reprodución"
+
+msgid "IDS_MUSIC_BODY_MUSIC_PLAYER"
+msgstr "Reprodutor de Música"
+
+msgid "IDS_MUSIC_BUTTON_MOVE"
+msgstr "Mover"
+
+msgid "IDS_MUSIC_BUTTON_AUTO_RECOMMENDATIONS"
+msgstr "Recomendacións automáticas"
+
+msgid "IDS_MUSIC_BUTTON_FROM_THE_BEGINNING"
+msgstr "Desde o principio"
+
+msgid "IDS_MUSIC_HEADER_SUGGESTIONS_FOR_YOU"
+msgstr "Suxestións para ti"
+
+msgid "IDS_MUSIC_OPT_SAVE"
+msgstr "Gardar"
+
+msgid "IDS_MUSIC_TAB4_BASIC_M_EQUALIZING"
+msgstr "Básico"
+
+msgid "IDS_MUSIC_BODY_INSTRUMENT"
+msgstr "Instrumentos"
+
+msgid "IDS_MUSIC_BODY_TREBLE_M_EQUALISER"
+msgstr "Agudos"
+
+msgid "IDS_MUSIC_BODY_BASS_M_EQUALISER"
+msgstr "Graves"
+
+msgid "IDS_MUSIC_BODY_NO_EFFECTS_ARE_APPLIED_IN_THIS_MODE_ABB"
+msgstr "Non se aplicou ningún efecto neste modo"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_TIMBRE_OF_A_TUBE_AMP_ABB"
+msgstr "Simula o timbre dun amplificador de tubo"
+
+msgid "IDS_MUSIC_OPT_TUBE_AMP_EFFECT"
+msgstr "Amp. de tubo"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_EFFECT_OF_VIRTUAL_71_CHANNEL_SURROUND_SOUND_ABB"
+msgstr "Simula o efecto do son envolvente de 7.1 canles virtual"
+
+msgid "IDS_MUSIC_HEADER_SMALL_ROOM_M_REVERB_ABB"
+msgstr "Sala pequena"
+
+msgid "IDS_MUSIC_HEADER_LARGE_ROOM_M_REVERB_ABB"
+msgstr "Salón grande"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_LARGE_ROOM_EG_A_THEATRE_ABB"
+msgstr "Simula a reverberación dun espazo grande, como dun teatro."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_CONCERT_HALL_ABB"
+msgstr "Simula a reverberación dun recinto para concertos."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_SMALL_SPACE_EG_A_STUDIO_ABB"
+msgstr "Simula a reverberación dun espazo pequeno, como dun estudio."
+
+msgid "IDS_MUSIC_BUTTON_3D_CHN"
+msgstr "3D"
+
+msgid "IDS_MUSIC_BODY_CLARITY_M_SOUNDEFFECT"
+msgstr "Claridade"
+
+msgid "IDS_MUSIC_BUTTON_RESET"
+msgstr "Restab."
+
+msgid "IDS_MUSIC_TAB_YEARS"
+msgstr "Anos"
+
+msgid "IDS_MUSIC_TAB_GENRES"
+msgstr "Xéneros"
+
+msgid "IDS_MUSIC_TAB_COMPOSERS"
+msgstr "Compositores"
+
+msgid "IDS_MUSIC_TAB_ALL_TRACKS"
+msgstr "Todas as pistas"
+
+msgid "IDS_MUSIC_SK3_GO_TO_QUICK_LIST"
+msgstr "Ir á lista ráp"
+
+msgid "IDS_MUSIC_SK3_FIND"
+msgstr "Buscar"
+
+msgid "IDS_MUSIC_SK3_ADD_TO_QUICK_LIST"
+msgstr "Eng á list ráp"
+
+msgid "IDS_MUSIC_POP_UNAUTHORISED_VIDEO_FILE_FOR_TV_OUT"
+msgstr "O arquivo de vídeo non está autorizado para sen televisión"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_CREATE_MAXIMUM_NUMBER_OF_PLAYLISTS_REACHED"
+msgstr "Non é posible crealo. Alcanzouse o número máximo de listas de reprodución."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTING_BLUETOOTH_HEADSET"
+msgstr "Non se pode axustar o volume mentres se está conectando o auricular Bluetooth"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTED_TO_BLUETOOTH_HEADSET"
+msgstr "Non se pode axustar o volume mentres estea conectado o auricular Bluetooth"
+
+msgid "IDS_MUSIC_POP_STOP_MUSIC_PLAYER_Q"
+msgstr "Deter Reprodutor de Música?"
+
+msgid "IDS_MUSIC_POP_PLEASE_EXIT_SILENT_MODE"
+msgstr "Por favor, saia do modo Silencioso"
+
+msgid "IDS_MUSIC_POP_NETWORK_FAILURE"
+msgstr "Erro na rede"
+
+msgid "IDS_MUSIC_POP_MEMORY_CARD_LOADED"
+msgstr "Tarxeta de memoria cargada"
+
+msgid "IDS_MUSIC_POP_DEVICE_SETTINGS_ERROR"
+msgstr "Erro nos axustes do dispositivo"
+
+msgid "IDS_MUSIC_POP_COULD_NOT_FIND_A_MATCH_FOR_THE_SONG"
+msgstr "Non se encontrou ningunha coincidencia para a canción"
+
+msgid "IDS_MUSIC_POP_BUFFERING_MSTATUS"
+msgstr "Gardando en buffer"
+
+msgid "IDS_MUSIC_POP_BT_HEADSET_ONLY_SUPPORTS_NORMAL_EFFECTS_SETTING"
+msgstr "Os auriculares de BT só admiten o axuste de efectos normais"
+
+msgid "IDS_MUSIC_POP_APPLICATION_WILL_BE_CLOSED"
+msgstr "A aplicación vaise pechar"
+
+msgid "IDS_MUSIC_POP_ADDED_GO_TO_WISH_LIST_Q"
+msgstr "Engadido. Ir á lista de desexos?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_THE_SERVICE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "É posible que se carguen os custos de acceso ao servizo. Continuar?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_STORE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "É posible que se carguen os custos de acceso á tenda. Continuar?"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_ONLY_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES"
+msgstr "O efecto de son da canle 5.1 só funciona no modo de audífono e auriculares Bluetooth"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "O efecto de son da canle 5.1 só funciona no modo de auriculares"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECTS_NOT_SUPPORTED_BY_SPEAKER"
+msgstr "Os efectos de son de 5.1 canles non son compatibles co altofalante"
+
+msgid "IDS_MUSIC_OPT_VIEW_BY_COVER_ART"
+msgstr "Ver por portada"
+
+msgid "IDS_MUSIC_OPT_SEND_TRACK"
+msgstr "Enviar pista"
+
+msgid "IDS_MUSIC_OPT_RATE_TRACK"
+msgstr "Avaliar pista"
+
+msgid "IDS_MUSIC_OPT_PLAYLIST_MOVE_TRACK_IN_PLAYLIST"
+msgstr "Mover pista na lista de reprodución"
+
+msgid "IDS_MUSIC_OPT_OPENPLAYLIST_CURRENT"
+msgstr "Actual"
+
+msgid "IDS_MUSIC_OPT_DELETE_PLAYLIST"
+msgstr "Eliminar lista de reprodución"
+
+msgid "IDS_MUSIC_OPT_BACKGROUND_PLAYING"
+msgstr "Reproducindo en segundo plano"
+
+msgid "IDS_MUSIC_HEADER_EFFECTS"
+msgstr "Efectos"
+
+msgid "IDS_MUSIC_BUTTON_BUY_NOW"
+msgstr "Comp. ag."
+
+msgid "IDS_MUSIC_BODY_WOW_HD"
+msgstr "Wow HD"
+
+msgid "IDS_MUSIC_BODY_WISHLIST"
+msgstr "Lista de desexos"
+
+msgid "IDS_MUSIC_BODY_WIDE"
+msgstr "Amplo"
+
+msgid "IDS_MUSIC_BODY_WHA_WHA"
+msgstr "Wha-wha"
+
+msgid "IDS_MUSIC_BODY_VIBE_WOOFER"
+msgstr "Woofer con vibración"
+
+msgid "IDS_MUSIC_BODY_TREMOLO"
+msgstr "Trémolo"
+
+msgid "IDS_MUSIC_BODY_TAP_TWICE_TO_PLAY_PAUSE_MUSIC"
+msgstr "Toque dúas veces para reproducir/deter música"
+
+msgid "IDS_MUSIC_BODY_SHARE_TRACK_VIA_BLUETOOTH"
+msgstr "Compartir pista por Bluetooth"
+
+msgid "IDS_MUSIC_BODY_SETUPWIZARD_WELCOME_TO_THE_MUSIC_SETUP_WIZARD_CONTINUE_Q"
+msgstr "Benvido ao asistente de instalación de Música.\nAs seguintes pantallas axudaranlle a configurar o teléfono. Continuar?"
+
+msgid "IDS_MUSIC_BODY_QUICK_LIST"
+msgstr "Lista rápida"
+
+msgid "IDS_MUSIC_BODY_PLAYINGSETTINGS_SOUND_EFFECTS"
+msgstr "Efectos de son"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_ALL"
+msgstr "Todas"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_1"
+msgstr "1"
+
+msgid "IDS_MUSIC_BODY_PLAYERSETTINGS_VOLUME"
+msgstr "Volume"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_SELECTED"
+msgstr "%d pistas seleccionadas"
+
+msgid "IDS_MUSIC_BODY_NO_PODCASTS"
+msgstr "Non hai podcasts"
+
+msgid "IDS_MUSIC_BODY_FIND_SIMILAR"
+msgstr "Buscar similar"
+
+msgid "IDS_MUSIC_BODY_BACKGROUND_PLAY"
+msgstr "Reproducir en segundo plano"
+
+msgid "IDS_MUSIC_BODY_51_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "Só se pode activar a canle 5.1 cando os efectos de son están apagados"
+
+msgid "IDS_MUSIC_TAB4_PODCASTS"
+msgstr "Podcasts"
+
+msgid "IDS_MUSIC_SK2_EDIT_IMAGE"
+msgstr "Editar imaxe"
+
+msgid "IDS_MUSIC_POP_PLAYING_ANY_SOUNDS_WILL_STOP_AND_SAVE_YOUR_VOICE_RECORDING_PLAY_Q"
+msgstr "A reprodución de todos os sons deterase e gardarase a túa gravación de voz. Desexas efectuar a reprodución?"
+
+msgid "IDS_MUSIC_POP_MAXIMUM_NUMBER_OF_ITEMS_HPD_SELECTED"
+msgstr "Número máximo de elementos (%d) seleccionados"
+
+msgid "IDS_MUSIC_POP_BLUETOOTH_DISCONNECTED"
+msgstr "Bluetooth desconectado"
+
+msgid "IDS_MUSIC_POP_5_1_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "Só se pode activar a canle 5.1 cando os efectos de son están desactivados"
+
+msgid "IDS_MUSIC_OPT_TAKE_PICTURE"
+msgstr "Facer unha foto"
+
+msgid "IDS_MUSIC_OPT_SHOW_MUSIC_VIEW_ABB"
+msgstr "Amosar vista de música"
+
+msgid "IDS_MUSIC_OPT_PAUSE"
+msgstr "Pausa"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALBUM"
+msgstr "Reproducir álbum"
+
+msgid "IDS_MUSIC_OPT_LIST_BY"
+msgstr "Ordenar por"
+
+msgid "IDS_MUSIC_OPT_HISTORY"
+msgstr "Historial"
+
+msgid "IDS_MUSIC_OPT_HIDE_MUSIC_VIEW_ABB"
+msgstr "Ocultar vista de música"
+
+msgid "IDS_MUSIC_OPT_FIND_TAG"
+msgstr "Buscar etiqueta"
+
+msgid "IDS_MUSIC_OPT_DROPBOX_CONTENT_ABB"
+msgstr "Contidos Dropbox"
+
+msgid "IDS_MUSIC_OPT_CONTENT_ON_PHONE_ABB"
+msgstr "Contidos teléfono"
+
+msgid "IDS_MUSIC_OPT_CHANGE_IMAGE"
+msgstr "Cambiar imaxe"
+
+msgid "IDS_MUSIC_HEADER_DELETE_DROPBOX_DATA_ABB"
+msgstr "Eliminar datos Dropbox"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_STREAM_YOUR_MUSIC_TO_DEVICES_USING_ALLSHARE"
+msgstr "Podes transmitir por secuencias a túa música a dispositivos mediante AllShare"
+
+msgid "IDS_MUSIC_BODY_VALIDITY"
+msgstr "Validez"
+
+msgid "IDS_MUSIC_BODY_TYPE_CNOUN"
+msgstr "Tipo"
+
+msgid "IDS_MUSIC_BODY_THIS_WILL_DELETE_THE_FILE_FROM_THE_SERVER_AND_ANY_CONNECTED_DEVICES_AS_WELL"
+msgstr "Deste xeito eliminarase o arquivo do servidor e de calquera dispositivo que estea conectado"
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_ARTISTS"
+msgstr "Artistas"
+
+msgid "IDS_MUSIC_BODY_PLAYINGDETAILS_ALBUM_ART"
+msgstr "Portada"
+
+msgid "IDS_MUSIC_BODY_OTHER_CONTENTS"
+msgstr "Outros contidos"
+
+msgid "IDS_MUSIC_BODY_NAME_TOO_LONG"
+msgstr "Nome demasiado longo"
+
+msgid "IDS_MUSIC_BODY_MUSIC_CLARITY"
+msgstr "Claridade musical"
+
+msgid "IDS_MUSIC_BODY_HIGH_VOLUMES_MAY_HARM_YOUR_HEARING_IF_YOU_LISTEN_FOR_A_LONG_TIME"
+msgstr "A música a un volume elevado pode danar a túa capacidade auditiva se a escoitas durante un período de tempo prolongado"
+
+msgid "IDS_MUSIC_BODY_AVAILABLE_USES"
+msgstr "Usos dispoñibles"
+
+msgid "IDS_MUSIC_TPOP_SOUND_EFFECTS_ONLY_AVAILABLE_WHILE_HEADPHONES_CONNECTED"
+msgstr "Os efectos de son só están dispoñibles cos auriculares conectados."
+
+msgid "IDS_ST_OPT_ADD_TO_YOUR_PERSONAL_STORAGE"
+msgstr "Engadir ao teu almacenamento persoal"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_YOUR_PERSONAL_STORAGE"
+msgstr "Eliminar do almacenamento persoal"
+
+msgid "IDS_ST_BODY_CONTEXTUAL_POP_UP_T_TALKBACK"
+msgstr "Ventá emerxente contextual"
+
+msgid "IDS_ST_BODY_A_CONTEXTUAL_POP_UP_IS_OPEN_DOUBLE_TAP_TO_CLOSE_IT_T_TALKBACK"
+msgstr "Hai unha ventá emerxente contextual aberta. Tócaa dúas veces para pechala."
+
+msgid "IDS_ST_BODY_REPEAT_ONE"
+msgstr "Repetir unha vez"
+
+msgid "IDS_ST_BUTTON_MOVING_ING"
+msgstr "Movendo..."
+
+msgid "IDS_HS_BODY_SELECT_UP_TO_PD_ITEMS"
+msgstr "Selecciona ata %d elementos"
+
+msgid "IDS_CAM_BODY_TAB_T_TTS"
+msgstr "Pestana"
+
+msgid "IDS_DLNA_OPT2_CHANGE_PLAYER"
+msgstr "Cambiar reprodutor"
+
+msgid "IDS_BR_SK_TABS"
+msgstr "Pestanas"
+
+msgid "IDS_MF_BODY_DROPBOX_ABB"
+msgstr "Dropbox"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "As recomendacións automáticas poden extraer as partes destacadas dos arquivos de son"
+
+msgid "IDS_MF_BODY_PARENT_RATING"
+msgstr "Preferidos polos pais"
+
+msgid "IDS_VR_POP_FILE_NOT_FOUND"
+msgstr "Arquivo non encontrado"
+
+msgid "IDS_PB_POP_CALLER_RINGTONE_SAVED"
+msgstr "Melodía do chamante gardada"
+
+msgid "IDS_MUSIC_BODY_BIT_DEPTH"
+msgstr "Profundidade de bits"
+
+msgid "IDS_MUSIC_BODY_SIZE"
+msgstr "Tamaño"
+
+msgid "IDS_MF_HEADER_PD_SELECTED"
+msgstr "%d seleccionados"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_THIS_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Despois de engadir pistas a este dispositivo, estas amosaranse aquí."
+
+msgid "IDS_MUSIC_TMBODY_LENGTH"
+msgstr "Duración"
+
+msgid "IDS_MUSIC_POP_1_FOLDER_WILL_BE_DELETED"
+msgstr "Eliminarase 1 carpeta."
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Sen contidos"
+
+msgid "IDS_MUSIC_ITAB4_FOLDERS"
+msgstr "Carpetas"
+
+msgid "IDS_MUSIC_HEADER_MY_PLAYLISTS_ABB"
+msgstr "As miñas listas reprod."
+
+msgid "IDS_MP_BODY_SOUND_PLAYER"
+msgstr "Reprodutor de son"
+
+msgid "IDS_MUSIC_OPT_SETTINGS"
+msgstr "Axustes"
+
+msgid "IDS_MUSIC_POP_DELETING"
+msgstr "Eliminando..."
+
+msgid "IDS_MUSIC_POP_1_TRACK_WILL_BE_DELETED"
+msgstr "Eliminarase 1 pista."
+
+msgid "IDS_MUSIC_POP_ALL_TRACKS_WILL_BE_DELETED"
+msgstr "Eliminaranse todas as pistas"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_WILL_BE_DELETED"
+msgstr "Eliminaranse %d pistas."
+
+msgid "IDS_MUSIC_POP_1_PLAYLIST_WILL_BE_DELETED"
+msgstr "Eliminaranse 1 lista de reprodución."
+
+msgid "IDS_MUSIC_POP_PD_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Eliminaranse %d listas de reprodución"
+
+msgid "IDS_MUSIC_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "Eliminaranse %d álbums"
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS_WILL_BE_DELETED"
+msgstr "Eliminaranse %d artistas"
+
+msgid "IDS_MUSIC_POP_PD_FOLDERS_WILL_BE_DELETED"
+msgstr "Eliminaranse %d carpetas"
+
+msgid "IDS_ST_POP_CONNECTION_FAILED"
+msgstr "Erro na conexión"
+
+msgid "IDS_MUSIC_BODY_CLASSIC"
+msgstr "Clásico"
+
+msgid "IDS_MUSIC_BODY_ROCK"
+msgstr "Rock"
+
+msgid "IDS_MUSIC_BODY_JAZZ"
+msgstr "Jazz"
+
+msgid "IDS_MUSIC_BODY_POP"
+msgstr "Pop"
+
+msgid "IDS_MUSIC_BODY_AUTO"
+msgstr "Automático"
+
+msgid "IDS_MUSIC_POP_CURRENT_SOUND_EFFECT_NOT_SUPPORTED_BY_HDMI"
+msgstr "HDMI non admite o efecto de son actual"
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_BLUETOOTH"
+msgstr "Bluetooth non admite efectos de son"
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_LINE_OUT"
+msgstr "A saída de liña non admite efectos de son"
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_HDMI"
+msgstr "O HDMI non admite efectos de son"
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EFFECT"
+msgstr "Amplificación do tubo"
+
+msgid "IDS_MUSIC_BODY_CUSTOM"
+msgstr "Personalizado"
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EQUALISER_ABB"
+msgstr "Amplificac. tubo"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "Engadíronse %d pistas á lista de reprodución"
+
+msgid "IDS_MUSIC_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "Engadiuse 1 pista á lista de reprodución."
+
+msgid "IDS_MUSIC_HEADER_ADD_TRACKS_TO_PLAYLIST_ABB"
+msgstr "Engadir pistas á lista reprod."
+
+msgid "IDS_MUSIC_POP_PS_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "%s xa está en uso. Introduce outro nome."
+
+msgid "IDS_MUSIC_TMBODY_DATE_OF_RECORDING"
+msgstr "Data da gravación"
+
+msgid "IDS_MBP_TPOP_TRACK_SET_AS_ALARM_TONE"
+msgstr "Pista definida como ton de alarma."
+
+msgid "IDS_MUSIC_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Non se atoparon resultados"
+
+msgid "IDS_MUSIC_OPT_DEFAULT_RINGTONE_ABB"
+msgstr "Melodía predeterminada"
+
+msgid "IDS_MUSIC_TPOP_TRACK_SET_AS_CALLER_RINGTONE"
+msgstr "Pista definida como melodía do emisor da chamada."
+
+msgid "IDS_MP_TPOP_TRACK_SET_AS_RINGTONE"
+msgstr "Pista definida como melodía."
+
+msgid "IDS_DLNA_BODY_ADD_TO_NOW_PLAYING_LIST"
+msgstr "Engadir á lista de reprodución"
+
+msgid "IDS_MUSIC_TPOP_EQUALISER_SETTINGS_WILL_BE_APPLIED_WHILE_PLAYING_MUSIC"
+msgstr "Os axustes do ecualizador aplicaranse cando se reproduza música."
+
+msgid "IDS_ST_BODY_ALERT"
+msgstr "Alerta"
+
+msgid "IDS_IV_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "Eliminarase 1 álbum"
+
+msgid "IDS_MUSIC_OPT_SD_CARD"
+msgstr "Tarx. SD"
+
+msgid "IDS_MUSIC_SBODY_DEVICE_STORAGE"
+msgstr "Almacenamento do dispositivo"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE"
+msgstr "Nome de lista de reprodución xa en uso."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_PD"
+msgstr "Lista de reprodución %d"
+
+msgid "IDS_MUSIC_HEADER_CREATE"
+msgstr "Crear"
+
+msgid "IDS_MUSIC_HEADER_EQUALISER_PRESET_ABB"
+msgstr "Axuste predeterminado ecualizador"
+
+msgid "IDS_MUSIC_OPT_AUTOMATIC_M_EQUALIZER_EFFECT"
+msgstr "Automático"
+
+msgid "IDS_MUSIC_OPT_CLASSICAL_M_EQUALIZER_EFFECT"
+msgstr "Clásica"
+
+msgid "IDS_MUSIC_HEADER_ENVIRONMENT_EFFECT_ABB"
+msgstr "Efecto de contorno"
+
+msgid "IDS_VIDEO_POP_THE_FILE_TYPE_IS_NOT_SUPPORTED"
+msgstr "O tipo de arquivo non é compatible."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_CREATE_PLAYLISTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Despois de crear listas de reprodución, estas amosaranse aquí"
+
+msgid "IDS_ST_HEADER_SELECT_AUDIO_DEVICE_ABB"
+msgstr "Selec. dispositivo de audio"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "O nome da lista de reprodución xa se está a empregar. Introduce outro nome."
+
+msgid "IDS_MUSIC_HEADER_SOUNDALIVE_ABB3"
+msgstr "SoundAlive"
+
+msgid "IDS_MUSIC_OPT_NOW_PLAYING_LIST"
+msgstr "Lista de reprodución actual"
+
+msgid "IDS_MUSIC_OPT_SHOW_LYRICS"
+msgstr "Mostrar letras"
+
+msgid "IDS_MUSIC_OPT_HIDE_LYRICS"
+msgstr "Ocultar letra"
+
+msgid "IDS_MUSIC_TPOP_UNABLE_TO_PLAY_MUSIC_DURING_CALLS"
+msgstr "Non se pode reproducir música durante as chamadas."
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Eliminar"
+
+msgid "IDS_MUSIC_HEADER_SELECT"
+msgstr "Seleccionar"
+
+msgid "IDS_TPLATFORM_OPT_NFC"
+msgstr "NFC"
+
+msgid "IDS_MUSIC_HEADER_UNABLE_TO_PLAY_TRACK"
+msgstr "Non se pode reproducir a pista"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "FEITO"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "CANCELAR"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "ELIMINAR"
+
+msgid "IDS_MUSIC_POP_RENAME"
+msgstr "C. nome"
+
+msgid "IDS_MUSIC_OPT_MESSAGE"
+msgstr "Mensaxe"
+
+msgid "IDS_MUSIC_SK_OK"
+msgstr "Aceptar"
+
+msgid "IDS_MUSIC_SK_CANCEL"
+msgstr "Cancelar"
+
+msgid "IDS_MUSIC_BUTTON_REFRESH"
+msgstr "Actualizar"
+
+msgid "IDS_MUSIC_BODY_SELECT_ALL"
+msgstr "Seleccionar todo"
+
+msgid "IDS_MUSIC_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_MUSIC_POP_DELETED"
+msgstr "Eliminado"
+
+msgid "IDS_MUSIC_OPT_STOP"
+msgstr "Deter"
+
+msgid "IDS_MUSIC_BODY_UNKNOWN"
+msgstr "Descoñecido"
+
+msgid "IDS_MUSIC_BODY_TITLE"
+msgstr "Título"
+
+msgid "IDS_MUSIC_OPT_SENDVIA_EMAIL"
+msgstr "Correo electrónico"
+
+msgid "IDS_MUSIC_OPT_BLUETOOTH"
+msgstr "Bluetooth"
+
+msgid "IDS_MUSIC_HEADER_DOWNLOAD"
+msgstr "Descargar"
+
+msgid "IDS_MUSIC_POP_LOW_BATTERY"
+msgstr "Batería baixa"
+
+msgid "IDS_MUSIC_HEADER_AUDIO_DEVICE"
+msgstr "Dispositivo de son"
+
+msgid "IDS_MUSIC_HEADER_DETAILS"
+msgstr "Detalles"
+
+msgid "IDS_MUSIC_OPT_END"
+msgstr "Fin"
+
+msgid "IDS_MUSIC_OPT_EDIT"
+msgstr "Editar"
+
+msgid "IDS_CAM_HEADER_UPDATED"
+msgstr "Actualizado"
+
+msgid "IDS_MUSIC_POP_REMOVED"
+msgstr "Eliminado"
+
+msgid "IDS_MUSIC_OPT_SELECTED"
+msgstr "Seleccionado"
+
+msgid "IDS_ST_BUTTON_SCAN"
+msgstr "Buscar"
+
+msgid "IDS_MF_POP_ERROR"
+msgstr "Erro"
+
+msgid "IDS_MF_POP_MEMORY_FULL"
+msgstr "Memoria chea"
+
+msgid "IDS_MUSIC_MBODY_QUEUE"
+msgstr "Cola"
+
+msgid "IDS_MUSIC_OPT_VOLUME"
+msgstr "Volume"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE"
+msgstr "Orde aleatoria"
+
+msgid "IDS_MUSIC_OPT_REPEAT"
+msgstr "Repetir"
+
+msgid "IDS_COM_BODY_DETAILS"
+msgstr "Details"
+
+msgid "IDS_COM_BODY_DETAILS_TITLE"
+msgstr "Title"
+
+msgid "IDS_COM_BODY_EDIT"
+msgstr "Edit"
+
+msgid "IDS_COM_BODY_EMAIL"
+msgstr "Email"
+
+msgid "IDS_COM_BODY_END"
+msgstr "End"
+
+msgid "IDS_COM_BODY_FOLDERS"
+msgstr "Folders"
+
+msgid "IDS_COM_BODY_GALLERY"
+msgstr "Gallery"
+
+msgid "IDS_COM_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_COM_BODY_LOADING"
+msgstr "Loading..."
+
+msgid "IDS_COM_BODY_LOW_BATTERY"
+msgstr "Low battery."
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Message"
+
+msgid "IDS_COM_BODY_MUSIC"
+msgstr "Music"
+
+msgid "IDS_COM_BODY_NFC"
+msgstr "NFC"
+
+msgid "IDS_COM_BODY_NO_CONTENTS"
+msgstr "No content"
+
+msgid "IDS_COM_BODY_PAUSE"
+msgstr "Pause"
+
+msgid "IDS_COM_BODY_PD_SELECTED"
+msgstr "%d selected."
+
+msgid "IDS_COM_BODY_PREVIOUS"
+msgstr "Previous"
+
+msgid "IDS_COM_BODY_RESET_A"
+msgstr "Reset"
+
+msgid "IDS_COM_BODY_SELECTED"
+msgstr "Selected"
+
+msgid "IDS_COM_BODY_SELECT_ALL"
+msgstr "Select all"
+
+msgid "IDS_COM_BODY_SETTINGS"
+msgstr "Settings"
+
+msgid "IDS_COM_BODY_TIME"
+msgstr "Time"
+
+msgid "IDS_COM_BODY_UNABLE_TO_ADD"
+msgstr "Unable to add."
+
+msgid "IDS_COM_BODY_UNKNOWN"
+msgstr "Unknown"
+
+msgid "IDS_COM_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_COM_BUTTON_SCAN"
+msgstr "Scan"
+
+msgid "IDS_COM_BUTTON_SHARE"
+msgstr "Share"
+
+msgid "IDS_COM_HEADER_AUDIO_DEVICE_ABB"
+msgstr "Audio device"
+
+msgid "IDS_COM_OPT_ADDED"
+msgstr "Added."
+
+msgid "IDS_COM_OPT_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_POP_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_POP_CONNECTION_FAILED"
+msgstr "Connection failed."
+
+msgid "IDS_COM_POP_DELETED"
+msgstr "Deleted."
+
+msgid "IDS_COM_POP_DELETE_Q"
+msgstr "Delete?"
+
+msgid "IDS_COM_POP_DONE"
+msgstr "Done"
+
+msgid "IDS_COM_POP_DOWNLOADING"
+msgstr "Downloading..."
+
+msgid "IDS_COM_POP_ERROR"
+msgstr "Error."
+
+msgid "IDS_COM_POP_FAILED"
+msgstr "Failed."
+
+msgid "IDS_COM_POP_FILE_NOT_EXIST"
+msgstr "This file does not exist."
+
+msgid "IDS_COM_POP_FILE_NOT_FOUND"
+msgstr "File not found."
+
+msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximum number of characters reached."
+
+msgid "IDS_COM_POP_MEMORY_FULL"
+msgstr "Memory full."
+
+msgid "IDS_COM_POP_REMOVED"
+msgstr "Removed."
+
+msgid "IDS_COM_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Unable to use during Mass storage mode."
+
+msgid "IDS_COM_POP_UPDATED"
+msgstr "Updated."
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_SK_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_SK_DOWNLOAD"
+msgstr "Download"
+
+msgid "IDS_COM_SK_NEW"
+msgstr "New"
+
+msgid "IDS_COM_SK_NEXT"
+msgstr "Next"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_SK_REFRESH"
+msgstr "Refresh"
+
+msgid "IDS_COM_SK_REMOVE"
+msgstr "Remove"
+
+msgid "IDS_COM_SK_SAVE"
+msgstr "Save"
+
+msgid "IDS_COM_SK_SELECT"
+msgstr "Select"
+
+msgid "IDS_COM_SK_SET"
+msgstr "Set"
+
+msgid "IDS_COM_SK_STOP"
+msgstr "Stop"
+
+
+msgid "IDS_MH_BODY_THE_PLAYLIST_NAME_PS_IS_ALREADY_IN_USE"
+msgstr "The playlist name %s is already in use."
+
+msgid "IDS_MH_BODY_TOTAL"
+msgstr "Total"
+
+msgid "IDS_MH_MBODY_RECENTLY_ADDED_M_SONG"
+msgstr "Recently added"
+
+msgid "IDS_MH_OPT_MORE_INFO_ABB"
+msgstr "More info"
+
+msgid "IDS_MH_POP_ALARM_TONE_SET"
+msgstr "Alarm tone set."
+
+msgid "IDS_MH_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 track added to playlist."
+
+msgid "IDS_MH_TPOP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d tracks added to playlist."
+
+msgid "IDS_MUSIC_OPT_RENAME"
+msgstr "Rename"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Unable to play during call."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Superouse o tamaño máximo dos arquivos"
+
+msgid "IDS_CAM_TPOP_UNABLE_TO_PLAY_MUSIC_WHILE_RECORDING_AUDIO_OR_VIDEO"
+msgstr "Non se pode reproducir música durante a gravación de audio ou vídeo."
+
--- /dev/null
+msgid "IDS_ST_BODY_LOADING_ING"
+msgstr "Učitavanje..."
+
+msgid "IDS_GALLERY_OPT_PRIVATE_M_CONTENT"
+msgstr "Privatno"
+
+msgid "IDS_MF_BODY_TIME"
+msgstr "Vrijeme"
+
+msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
+msgstr "Datoteka ne postoji."
+
+msgid "IDS_MUSIC_POP_PHONE_RINGTONE"
+msgstr "Ton zvona telefona"
+
+msgid "IDS_MUSIC_BODY_DURATION"
+msgstr "Trajanje"
+
+msgid "IDS_MUSIC_BODY_MUSIC_LOCATION"
+msgstr "Lokacija"
+
+msgid "IDS_MUSIC_BODY_SET_AS_M_RINGTONE"
+msgstr "Postavi za"
+
+msgid "IDS_ST_OPT_ADD_TO_PERSONAL_PAGE"
+msgstr "Dodaj na osobnu stranicu"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_PERSONAL_PAGE_ABB"
+msgstr "Ukloni s osobne stranice"
+
+msgid "IDS_ST_POP_MOVE_TO_NORMAL_STORAGE"
+msgstr "Premjesti u normalnu memoriju"
+
+msgid "IDS_ST_POP_MOVE_TO_PERSONAL_STORAGE"
+msgstr "Premjesti u osobnu memoriju"
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEMS_WILL_BE_MOVED_TO_PS"
+msgstr "Odabrane stavke bit će premještene u %s."
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEM_WILL_BE_MOVED_TO_PS"
+msgstr "Odabrana stavka bit će premještena u %s."
+
+msgid "IDS_VR_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Nemoguće koristiti u načinu spremanja podataka."
+
+msgid "IDS_MUSIC_POP_RINGTONE_ADDED"
+msgstr "Ton zvona dodan."
+
+msgid "IDS_CAM_BODY_BUTTON_T_TTS"
+msgstr "Tipka"
+
+msgid "IDS_MUSIC_HEADER_SELECT_ITEMS"
+msgstr "Odaberite stavke"
+
+msgid "IDS_ST_BODY_ADVANCED"
+msgstr "Napredno"
+
+msgid "IDS_ST_SK_PREVIOUS"
+msgstr "Nazad"
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Zatvori"
+
+msgid "IDS_MUSIC_POP_ADDED"
+msgstr "Dodano."
+
+msgid "IDS_MUSIC_POP_FAILED"
+msgstr "Neuspješno."
+
+msgid "IDS_MUSIC_BODY_NO_SEARCH_RESULTS"
+msgstr "Nema traženih rezultata"
+
+msgid "IDS_MUSIC_SK_DONE"
+msgstr "OK"
+
+msgid "IDS_MUSIC_BODY_NO_ITEMS"
+msgstr "Nema stavki"
+
+msgid "IDS_BR_OPT_ADD_TO_HOME"
+msgstr "Dodaj na početnu"
+
+msgid "IDS_BR_SK_NEXT"
+msgstr "Dalje"
+
+msgid "IDS_BR_BODY_DOWNLOADING_ING"
+msgstr "Skidanje..."
+
+msgid "IDS_IV_BODY_FAVOURITE"
+msgstr "Favorit"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_PERSONAL_STORAGE"
+msgstr "Dodajte na osobnu memoriju"
+
+msgid "IDS_DLNA_POP_DISCONNECTED_FROM_PS_CHECK_THE_NETWORK_STATUS_AND_THE_CONNECTED_DEVICE"
+msgstr "Odspojeno od %s. Provjerite mrežni status i spojeni uređaj."
+
+msgid "IDS_DLNA_OPT_VIA_SCREEN_MIRRORING_ABB"
+msgstr "Preko Screen Mirroring"
+
+msgid "IDS_DLNA_OPT_VIA_HOME_NETWORK_ABB"
+msgstr "Preko matične mreže"
+
+msgid "IDS_IV_POP_ENTRY_IS_EMPTY"
+msgstr "Unos prazan."
+
+msgid "IDS_FM_POP_UNAVAILABLE_DURING_CALL"
+msgstr "Nedostupno tijekom poziva."
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maks. broj znakova."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_SHARE_DRM_FILE"
+msgstr "Nemoguće dijeliti zaštićenu datoteku."
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Uklanjanje..."
+
+msgid "IDS_MUSIC_HEADER_PD_DEVICES"
+msgstr "%d uređaji"
+
+msgid "IDS_MUSIC_BUTTON_ENABLE_MOTION"
+msgstr "Uklj. pokret"
+
+msgid "IDS_MUSIC_BUTTON_DONT_ASK_AGAIN"
+msgstr "Ne pitaj više"
+
+msgid "IDS_MUSIC_BODY_NO_RESULTS_FOUND"
+msgstr "Nema rezultata."
+
+msgid "IDS_VPL_OPT_HDMI"
+msgstr "HDMI"
+
+msgid "IDS_MUSIC_BODY_TURN_PHONE_OVER_TO_MUTE_INCOMING_CALLS_MESSAGE_ALERTS_AND_ALARMS"
+msgstr "Preokrenite telefon za utišavanje dolaznih poziva, obavijesti i alarma."
+
+msgid "IDS_ST_BODY_NONE"
+msgstr "Ništa"
+
+msgid "IDS_ST_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_ST_BODY_GALLERY"
+msgstr "Galerija"
+
+msgid "IDS_ST_BODY_DOUBLE_TAP_TO_MOVE_TO_CONTENT_T_TTS"
+msgstr "Dvaput dodirnite za pomicanje na sadržaj."
+
+msgid "IDS_MUSIC_BODY_SURROUND"
+msgstr "Surround"
+
+msgid "IDS_MUSIC_OPT_LYRICS_ABB"
+msgstr "Tekstovi"
+
+msgid "IDS_MUSIC_POP_AFTER_YOU_ADD_TRACKS_TO_MUSIC_ON_YOUR_MOBILE_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Nakon što dodate pjesme u Glazbu na svojem mobilnom uređaju, prikazat će se ovdje."
+
+msgid "IDS_MUSIC_BODY_SAMPLING_RATE"
+msgstr "Frekvencija uzorkovanja"
+
+msgid "IDS_MUSIC_BODY_MARKED_AS_A_FAVOURITE"
+msgstr "Označeno kao favorit."
+
+msgid "IDS_MUSIC_BODY_MUSIC"
+msgstr "Glazba"
+
+msgid "IDS_MUSIC_BODY_NOT_MARKED_AS_A_FAVOURITE"
+msgstr "Nije označeno kao favorit."
+
+msgid "IDS_MUSIC_HEADER_SEARCH_MUSIC_ABB"
+msgstr "Traži glazbu"
+
+msgid "IDS_MUSIC_POP_AUTO_RECOMMENDATION_DOES_NOT_SUPPORT_THIS_AUDIO_FILE"
+msgstr "Automatska preporuka ne podržava ovu audiodatoteku."
+
+msgid "IDS_MUSIC_POP_SORRY_THE_PLAYER_DOES_NOT_SUPPORT_THIS_TYPE_OF_AUDIO_FILE"
+msgstr "Datoteka nepodržana"
+
+msgid "IDS_MUSIC_BODY_FAVOURITES"
+msgstr "Favoriti"
+
+msgid "IDS_MUSIC_BODY_MOST_PLAYED"
+msgstr "Najslušanije"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_ADDED"
+msgstr "Nedavno dodano"
+
+msgid "IDS_MUSIC_OPT_CREATE_PLAYLIST"
+msgstr "Novi popis pjesama"
+
+msgid "IDS_MUSIC_OPT_REMOVE"
+msgstr "Ukloni"
+
+msgid "IDS_MUSIC_OPT_SETAS_CALLER_RINGTONE"
+msgstr "Ton pozivatelja"
+
+msgid "IDS_MUSIC_TAB4_ARTISTS"
+msgstr "Izvođači"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD"
+msgstr "Nije moguće dodati."
+
+msgid "IDS_MUSIC_POP_UNABLE_CREATE_PLAYLIST"
+msgstr "Nije moguće napraviti popis pjesama."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_GET_TAG"
+msgstr "Oznaka nedostupna."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_MORE_THAN_PD_MUSIC_FILE"
+msgstr "Moguće dodati najviše %d pjesama."
+
+msgid "IDS_MUSIC_BODY_ALBUM"
+msgstr "Album"
+
+msgid "IDS_MUSIC_BODY_AUTHOR"
+msgstr "Autor"
+
+msgid "IDS_MUSIC_BODY_COPYRIGHT"
+msgstr "Autorsko pravo"
+
+msgid "IDS_MUSIC_BODY_CREATE_PLAYLIST"
+msgstr "Novi popis pjesama"
+
+msgid "IDS_MUSIC_BODY_DESCRIPTION"
+msgstr "Opis"
+
+msgid "IDS_MUSIC_BODY_FORMAT"
+msgstr "Format"
+
+msgid "IDS_MUSIC_BODY_IMPOSSIBLE"
+msgstr "Nemoguće"
+
+msgid "IDS_MUSIC_BODY_NO_PLAYLISTS"
+msgstr "Nema popisa pjesama"
+
+msgid "IDS_MUSIC_BODY_TRACK_NUMBER"
+msgstr "Broj pjesme"
+
+msgid "IDS_MUSIC_POP_DELETE_Q"
+msgstr "Obrisati?"
+
+msgid "IDS_MUSIC_POP_REMOVE_Q"
+msgstr "Ukloniti?"
+
+msgid "IDS_MUSIC_POP_UNABLE_RENAME_PLAYLIST"
+msgstr "Nije moguće preimenovati popis pjesama."
+
+msgid "IDS_MUSIC_TAB4_ALBUMS"
+msgstr "Albumi"
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Dodavanje..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Izbrisati %d albuma?"
+
+msgid "IDS_MUSIC_TAB4_PLAYLISTS"
+msgstr "Popisi pjesama"
+
+msgid "IDS_MUSIC_OPT_ADD"
+msgstr "Dodaj"
+
+msgid "IDS_MUSIC_BODY_BIOGRAPHY"
+msgstr "Biografija"
+
+msgid "IDS_MUSIC_BODY_CREDITS"
+msgstr "Zasluge"
+
+msgid "IDS_MUSIC_BODY_DETAILS_MEADIA_INFO"
+msgstr "Podaci o mediju"
+
+msgid "IDS_MUSIC_BODY_DISCOGRAPHY"
+msgstr "Diskografija"
+
+msgid "IDS_MUSIC_BODY_LYRIC"
+msgstr "Tekst"
+
+msgid "IDS_MUSIC_BODY_POSSIBLE"
+msgstr "Moguće"
+
+msgid "IDS_MUSIC_BODY_REVIEW"
+msgstr "Pregled"
+
+msgid "IDS_MUSIC_HEADER_TRACK_LIST"
+msgstr "Popis pjesama"
+
+msgid "IDS_MUSIC_BODY_ADD_TO_PLAYLIST"
+msgstr "Dodaj na popis za reprodukciju"
+
+msgid "IDS_MUSIC_BODY_ARTIST"
+msgstr "Izvođač"
+
+msgid "IDS_MUSIC_BODY_FORWARDING"
+msgstr "Prosljeđivanje"
+
+msgid "IDS_MUSIC_BODY_RECORDED_DATE"
+msgstr "Žanr"
+
+msgid "IDS_MUSIC_BODY_PLAYLISTS"
+msgstr "Popisi pjesama"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_PLAYED"
+msgstr "Posljednje"
+
+msgid "IDS_MUSIC_BODY_TRACK_LENGTH"
+msgstr "Trajanje zapisa"
+
+msgid "IDS_MUSIC_HEADER_NO_SONGS"
+msgstr "Nema pjesama"
+
+msgid "IDS_MUSIC_POP_THIS_TRACK_WILL_BE_DELETED"
+msgstr "Zapis će biti obrisan."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_TRACKS_WILL_BE_DELETED"
+msgstr "Odabrane pjesme bit će obrisane."
+
+msgid "IDS_MUSIC_POP_THIS_ARTIST_WILL_BE_DELETED"
+msgstr "Autor će biti obrisan."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ARTISTS_WILL_BE_DELETED"
+msgstr "Odabrani izvođači bit će izbrisani."
+
+msgid "IDS_MUSIC_POP_ALL_ARTISTS_WILL_BE_DELETED"
+msgstr "Svi izvođači biti će izbrisani."
+
+msgid "IDS_MUSIC_POP_THIS_FOLDER_WILL_BE_DELETED"
+msgstr "Ova će mapa biti obrisana."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_FOLDERS_WILL_BE_DELETED"
+msgstr "Odabrane mape bit će izbrisane."
+
+msgid "IDS_MUSIC_POP_ALL_FOLDERS_WILL_BE_DELETED"
+msgstr "Sve mape će se obrisati."
+
+msgid "IDS_MUSIC_POP_THIS_ALBUM_WILL_BE_DELETED"
+msgstr "Ovaj album biti će obrisan."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ALBUMS_WILL_BE_DELETED"
+msgstr "Odabrani albumi bit će izbrisani."
+
+msgid "IDS_MUSIC_POP_ALL_ALBUMS_WILL_BE_DELETED"
+msgstr "Svi albumi biti će obrisani."
+
+msgid "IDS_MUSIC_POP_THIS_PLAYLIST_WILL_BE_DELETED"
+msgstr "Ovaj će popis pjesama biti obrisan."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Odabrani popisi pjesama bit će obrisani."
+
+msgid "IDS_MUSIC_POP_ALL_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Svi popisi pjesama biti će obrisani."
+
+msgid "IDS_MUSIC_HEADER_SONGS"
+msgstr "Pjesme"
+
+msgid "IDS_MUSIC_OPT_REORDER"
+msgstr "Poredaj"
+
+msgid "IDS_MUSIC_OPT_SAVE_AS_PLAYLIST"
+msgstr "Spremi kao popis pjesama"
+
+msgid "IDS_MUSIC_OPT_SETAS_ALARM_TONE"
+msgstr "Ton alarma"
+
+msgid "IDS_MUSIC_POP_NOTHING_SELECTED"
+msgstr "Ništa odabrano."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Greška reprodukcije."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_UNSUPPORTED_FILETYPE"
+msgstr "Ne može se reproducirati. Nepodržana vrsta datoteke."
+
+msgid "IDS_MUSIC_SK_SHARE"
+msgstr "Dijeli"
+
+msgid "IDS_MUSIC_TAB4_CONDUCTORS"
+msgstr "Dirigenti"
+
+msgid "IDS_MUSIC_HEADER_SELECT_DEVICE"
+msgstr "Odaberite uređaj"
+
+msgid "IDS_MUSIC_SK_VIEW_AS"
+msgstr "Prikaži kao"
+
+msgid "IDS_MUSIC_BODY_SOUNDEFFECTS_NORMAL"
+msgstr "Normalno"
+
+msgid "IDS_MUSIC_BODY_USER"
+msgstr "Korisnik"
+
+msgid "IDS_MUSIC_BODY_VOCAL_M_SOUNDEFFECT"
+msgstr "Vokal"
+
+msgid "IDS_MUSIC_MBODY_BASS_BOOST"
+msgstr "Pojačanje basa"
+
+msgid "IDS_MUSIC_MBODY_TREBLE_BOOST"
+msgstr "Pojačanje visokih tonova"
+
+msgid "IDS_MUSIC_BODY_CAFE_M_SOUNDEFFECT"
+msgstr "Kafić"
+
+msgid "IDS_MUSIC_OPT_VIRTUAL_71_CH"
+msgstr "Virtualni 7.1 kanal"
+
+msgid "IDS_MUSIC_OPT_AFTER_15_MIN_ABB"
+msgstr "Nakon 15 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_30_MIN"
+msgstr "Nakon 30 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HOUR"
+msgstr "Nakon 1 sat"
+
+msgid "IDS_MUSIC_POP_AFTER_1_HOUR_30_MIN"
+msgstr "Nakon 1 sata i 30 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_2_HOURS"
+msgstr "Nakon 2 sata"
+
+msgid "IDS_MUSIC_BODY_MUSIC_AUTO_OFF"
+msgstr "Auto. isključivanje glazbe"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES_ONLY"
+msgstr "Ovaj zvučni efekt radi samo u načinu slušalice i Bluetooth slušalice."
+
+msgid "IDS_MUSIC_TAB4_MUSIC_SQUARE"
+msgstr "Glazbeni kutak"
+
+msgid "IDS_MUSIC_POP_NOT_ENOUGH_MUSIC_FILES_TO_PLAY_IN_MUSIC_SQUARE_AT_LEAST_PD_MUSIC_FILES_REQUIRED"
+msgstr "Nedovoljno glazbenih datoteka za reprodukciju u Glazbenom kutku. Potrebno je min. %d glazbenih datoteka."
+
+msgid "IDS_MUSIC_BODY_PASSION_M_MOOD"
+msgstr "Strastveno"
+
+msgid "IDS_MUSIC_BODY_CALM_M_ADJECTIVE"
+msgstr "Mirno"
+
+msgid "IDS_MUSIC_BODY_JOY_M_MOOD"
+msgstr "Veselo"
+
+msgid "IDS_MUSIC_BODY_LIBRARY_UPDATE"
+msgstr "Aktualizacija biblioteke"
+
+msgid "IDS_MUSIC_POP_UPDATE_LIBRARY_Q"
+msgstr "Aktualiziraj biblioteku?"
+
+msgid "IDS_MUSIC_BODY_CHANGE_AXIS"
+msgstr "Promijeni os"
+
+msgid "IDS_MUSIC_ITAB4_GENRES"
+msgstr "Žanrovi"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_1_TRACK"
+msgstr "1 album/1 pjesma"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_PD_TRACKS"
+msgstr "1 album/%d pjesama"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS_PD_TRACKS"
+msgstr "%d albuma i /%d pjesama"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_CONTROL_MUSIC_PLAYER_WITH_THE_VOICE_COMMANDS_P1SS_P2SS_P3SS_P4SS_P5SS_AND_P6SS"
+msgstr "Možete upravljati Music Playerom glasovnim naredbama %1$s, %2$s, %3$s, %4$s, %5$s i %6$s."
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_PD_TRACKS"
+msgstr "Nasumična reprodukcija %d pjesama"
+
+msgid "IDS_MUSIC_BODY_MORE_INFO"
+msgstr "Više informacija"
+
+msgid "IDS_MUSIC_HEADER_MY_MUSIC_M_APPLICATION_NAME"
+msgstr "Moja glazba"
+
+msgid "IDS_MUSIC_OPT_LIST_VIEW"
+msgstr "Prikaz liste"
+
+msgid "IDS_MUSIC_OPT_PLAY_VIA_GROUP_PLAY"
+msgstr "Reproduciraj preko Group Play"
+
+msgid "IDS_MUSIC_POP_TRACK_ADDED_TO_FAVOURITES"
+msgstr "Pjesma dodana u favorite."
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_FAVOURITES"
+msgstr "Ukloni iz favorita"
+
+msgid "IDS_MUSIC_BODY_NEW_M_LATEST"
+msgstr "Novo"
+
+msgid "IDS_MUSIC_OPT_TRACKS"
+msgstr "Pjesme"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL"
+msgstr "Sličica"
+
+msgid "IDS_MUSIC_SK_LIST"
+msgstr "Popis"
+
+msgid "IDS_MUSIC_SK_OPEN_PLAYLIST"
+msgstr "Otvori popis pjesama"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALL"
+msgstr "Reproduciraj sve"
+
+msgid "IDS_MUSIC_POP_SELECTED_LIST_EMPTY"
+msgstr "Odabrani popis prazan."
+
+msgid "IDS_MUSIC_BODY_MOODS"
+msgstr "Raspoloženja"
+
+msgid "IDS_MUSIC_BUTTON_YEARS"
+msgstr "Godine"
+
+msgid "IDS_MUSIC_BODY_OLD"
+msgstr "Stari"
+
+msgid "IDS_MUSIC_BODY_MUSIC_SQUARE_ANALYSES_THE_CHARACTERISTICS_OF_MUSIC_FILES_STORED_ON_YOUR_DEVICE_AND_AUTOMATICALLY_CREATES_PLAYLISTS_MSG"
+msgstr "Glazbeni kvadrat analizira karakteristike glazbe na uređaju i automatski kreira popise pjesama."
+
+msgid "IDS_MUSIC_BODY_PLAY_TRACKS_WITH_SIMILAR_CHARACTERISTICS_BY_SELECTING_A_SQUARE_ON_THE_SCREEN"
+msgstr "Reproduciraj popis srodne glazbe odabirom kvadrata na zaslonu."
+
+msgid "IDS_MUSIC_BODY_VIEW_PLAYLIST_DETAILS_BY_TAPPING_AND_HOLDING_THE_SQUARE_CURRENTLY_BEING_PLAYED"
+msgstr "Pregled detalja popisa pjesama dodirom i držanjem trenutnog kvadrata."
+
+msgid "IDS_MUSIC_BODY_NEARBY_DEVICES"
+msgstr "Uređaji u blizini"
+
+msgid "IDS_MUSIC_POP_YOU_WILL_NEED_TO_UPDATE_THE_LIBRARY_IF_NEW_SONGS_HAVE_BEEN_ADDED"
+msgstr "Ako ste dodali nove pjesme, morat ćete aktualizirati biblioteku."
+
+msgid "IDS_MUSIC_BODY_NO_ALBUMS"
+msgstr "Nema albuma"
+
+msgid "IDS_MUSIC_BODY_NO_ARTISTS"
+msgstr "Nema izvođača"
+
+msgid "IDS_MUSIC_OPT_PLAY_SPEED_ABB"
+msgstr "Brzina reprodukcije"
+
+msgid "IDS_MUSIC_BODY_CONCERT_HALL_M_SOUNDEFFECT"
+msgstr "Koncertna dvorana"
+
+msgid "IDS_MUSIC_OPT_ADD_TO"
+msgstr "Dodaj u"
+
+msgid "IDS_MUSIC_SK_VIEW"
+msgstr "Prikaz"
+
+msgid "IDS_MUSIC_OPT_LISTBY_RECENTLY_ADDED"
+msgstr "Nedavno dodano"
+
+msgid "IDS_MUSIC_BODY_NOT_USED"
+msgstr "Ne koristi se"
+
+msgid "IDS_MUSIC_BODY_MAKE_AVAILABLE_OFFLINE"
+msgstr "Učini dostupnim izvan mreže"
+
+msgid "IDS_MUSIC_OPT_AFTER_P1SD_HRS_P2SD_MINS"
+msgstr "Nakon %1$d h i %2$d min."
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS"
+msgstr "Za %d sati"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_MINS"
+msgstr "Za %d min"
+
+msgid "IDS_MUSIC_BODY_NO_FOLDERS"
+msgstr "Nema mapa"
+
+msgid "IDS_MUSIC_BODY_NO_TRACKS"
+msgstr "Nema pjesama"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS"
+msgstr "%d albuma"
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS"
+msgstr "%d izvođača"
+
+msgid "IDS_MUSIC_BODY_PD_GENRES"
+msgstr "%d žanrova"
+
+msgid "IDS_MUSIC_BODY_PD_PLAYLISTS"
+msgstr "%d popisa pjesama"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_ABB"
+msgstr "%d pjesama"
+
+msgid "IDS_MUSIC_BODY_PLAYLIST"
+msgstr "Popis pjesama"
+
+msgid "IDS_MUSIC_HEADER_SIMILAR_ALBUMS"
+msgstr "Slični albumi"
+
+msgid "IDS_MUSIC_HEADER_TRACK"
+msgstr "Pjesma"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL_VIEW"
+msgstr "Sličice"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "Zvučni efekt funkcionira samo u načinu slušalice."
+
+msgid "IDS_MUSIC_OPT_ALL_CONTENT_ABB2"
+msgstr "Sav sadržaj"
+
+msgid "IDS_MUSIC_BODY_A_NETWORK_CONNECTION_IS_REQUIRED_TO_PLAY_THIS_FILE_CHECK_YOUR_NETWORK_CONNECTION_AND_TRY_AGAIN"
+msgstr "Za reprodukciju datoteke potrebna je mrežna veza. Provjerite svoju mrežnu vezu i pokušajte ponovno."
+
+msgid "IDS_MUSIC_POP_FILE_TYPE_NOT_SUPPORTED"
+msgstr "Datoteka nepodržana."
+
+msgid "IDS_MUSIC_POP_UPDATING_ING"
+msgstr "Aktualiziranje..."
+
+msgid "IDS_MUSIC_OPT_SEARCH_ABB"
+msgstr "Traži"
+
+msgid "IDS_MUSIC_OPT_SEARCH_BY"
+msgstr "Traži prema"
+
+msgid "IDS_MUSIC_BODY_RELATED_VIDEOS"
+msgstr "Povezani video"
+
+msgid "IDS_MUSIC_BODY_SMART_VOLUME_ABB"
+msgstr "Pametna glasnoća"
+
+msgid "IDS_MUSIC_BODY_THE_VOLUME_OF_ALL_TRACKS_WILL_BE_ADJUSTED_TO_LEVEL_PD"
+msgstr "Glasnoća svih pjesma bit će podešena na razinu %d."
+
+msgid "IDS_MUSIC_HEADER_SMART_VOLUME_IS_ENABLED"
+msgstr "Uključena je pametna glasnoća"
+
+msgid "IDS_MUSIC_OPT_CONNECTION_INFO_ABB"
+msgstr "Informacije o vezi"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_PD_MINS"
+msgstr "Za 1 h i %d min"
+
+msgid "IDS_MUSIC_BODY_ADAPT_SOUND_ABB"
+msgstr "Adapt Sound"
+
+msgid "IDS_MUSIC_BODY_MY_DEVICE"
+msgstr "Moj uređaj"
+
+msgid "IDS_MUSIC_POP_LISTENING_AT_A_HIGH_VOLUME_FOR_A_LONG_TIME_MAY_DAMAGE_YOUR_HEARING_RAISE_THE_VOLUME_ABOVE_SAFE_LEVELS_Q"
+msgstr "Dugo slušanje na glasnoj jačini može oštetiti sluh. Povećati glasnoću iznad sigurne razine?"
+
+msgid "IDS_MUSIC_POP_ALREADY_EXISTS"
+msgstr "Već postoji."
+
+msgid "IDS_MUSIC_OPT_SCAN_FOR_NEARBY_DEVICES"
+msgstr "Traži uređaje u blizini"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR"
+msgstr "Za 1 sat"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_1_MIN"
+msgstr "Za 1 h i 1 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS_1_MIN"
+msgstr "Za %d sati i 1 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_MIN"
+msgstr "Za 1 min"
+
+msgid "IDS_MUSIC_OPT_GO_TO_STORE"
+msgstr "Idi u trgovinu"
+
+msgid "IDS_MUSIC_SK3_ADD_TRACKS"
+msgstr "Dodaj pjesme"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FROM_MUSIC_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Nakon skidanja pjesama iz Glazbe, prikazat će se ovdje."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_YOUR_FAVOURITES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Nakon što dodate pjesme u favorite, prikazat će se ovdje."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_PLAY_TRACKS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Nakon što reproducirate pjesme, prikazat će se ovdje."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_PS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Nakon što dodate pjesme u %s, prikazat će se ovdje."
+
+msgid "IDS_MUSIC_BODY_NO_PURCHASED_CONTENT"
+msgstr "Nema kupljenog sadržaja"
+
+msgid "IDS_MUSIC_SK_SAVE_AS"
+msgstr "Spremi kao"
+
+msgid "IDS_MUSIC_POP_MUSICPLAYER_UPDATING_FAILED"
+msgstr "Aktualizacija neuspješna."
+
+msgid "IDS_MUSIC_BODY_EXCITING_M_ADJECTIVE"
+msgstr "Uzbudljivo"
+
+msgid "IDS_MUSIC_BODY_SEARCH_MY_MUSIC"
+msgstr "Pretraži moju glazbu"
+
+msgid "IDS_MUSIC_HEADER_CONNECTED_DEVICES"
+msgstr "Spojeni uređaji"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST_PS"
+msgstr "Moj popis pjesama %s"
+
+msgid "IDS_MUSIC_BODY_NO_DEVICES"
+msgstr "Nema uređaja"
+
+msgid "IDS_MUSIC_HEADER_AVAILABLE_DEVICES_ABB"
+msgstr "Dostupni uređaji"
+
+msgid "IDS_MUSIC_POP_SET"
+msgstr "Postavi"
+
+msgid "IDS_MUSIC_POP_REMOVE_FAILED"
+msgstr "Uklanjanje nije uspjelo."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_USE_FAST_FORWARD_AND_REWIND_WHEN_NEARBY_DEVICES_ARE_ENABLED"
+msgstr "Nemoguće koristiti premotavanje unaprijed i unatrag kada su uključeni uređaji u blizini."
+
+msgid "IDS_MUSIC_OPT_SET_AS"
+msgstr "Postavi za"
+
+msgid "IDS_MUSIC_OPT_HEADPHONES_ABB"
+msgstr "Slušalice"
+
+msgid "IDS_MUSIC_OPT_SPEAKER"
+msgstr "Zvučnik"
+
+msgid "IDS_MUSIC_BODY_1_SONG"
+msgstr "1 pjesma"
+
+msgid "IDS_MUSIC_BODY_PD_SONGS"
+msgstr "%d pjesama"
+
+msgid "IDS_MUSIC_BODY_1_TRACK"
+msgstr "1 pjesma"
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_1_TRACK"
+msgstr "Nasumično 1 pjesma"
+
+msgid "IDS_MUSIC_POP_NO_MUSIC_FOUND_FOR_SELECTED_CELL"
+msgstr "Nije pronađena glazba za odabranu ćeliju"
+
+msgid "IDS_MUSIC_BODY_DO_NOT_SHOW_AGAIN"
+msgstr "Ne prikazuj više"
+
+msgid "IDS_MUSIC_BODY_VARIOUS_ARTISTS"
+msgstr "Razni izvođači"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_HOME_SCREEN_ABB"
+msgstr "Dodaj na početni zaslon"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_FAVOURITES"
+msgstr "Spremi u Favorite"
+
+msgid "IDS_MUSIC_OPT_EDIT_TITLE"
+msgstr "Uredi naslov"
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_PERSONAL_STORAGE"
+msgstr "Uklonite iz osobne memorije"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FOLDERS_WILL_BE_SHOWN"
+msgstr "Nakon što skinete pjesme, prikazat će se mape."
+
+msgid "IDS_MUSIC_BODY_SETTINGS_VOLUME"
+msgstr "Glasnoća"
+
+msgid "IDS_MUSIC_BODY_REPEAT_OFF"
+msgstr "Ponavljanje isključeno"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_REPEAT_ALL"
+msgstr "Ponovi sve"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_OFF"
+msgstr "Isključi nasumično"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_ON"
+msgstr "Uključi nasumično"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST"
+msgstr "Moj popis pjesama"
+
+msgid "IDS_MUSIC_MBODY_DEFAULT_PLAYLISTS"
+msgstr "Zadani popisi pjesama"
+
+msgid "IDS_MUSIC_BODY_DETAILS_RECORDING_DATE"
+msgstr "Datum snimanja"
+
+msgid "IDS_MUSIC_OPT_ALBUM_ART_ABB"
+msgstr "Slika alb."
+
+msgid "IDS_MUSIC_BODY_1_GENRE"
+msgstr "1 žanr"
+
+msgid "IDS_MUSIC_BODY_PD_FOLDERS"
+msgstr "%d mapa"
+
+msgid "IDS_MUSIC_BODY_1_FOLDER"
+msgstr "1 mapa"
+
+msgid "IDS_MUSIC_BODY_1_ARTIST"
+msgstr "1 izvođač"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_M_MUSIC"
+msgstr "1 album"
+
+msgid "IDS_MUSIC_BODY_1_PLAYLIST"
+msgstr "1 popis pjesama"
+
+msgid "IDS_MUSIC_BODY_MUSIC_PLAYER"
+msgstr "Music Player"
+
+msgid "IDS_MUSIC_BUTTON_MOVE"
+msgstr "Premjesti"
+
+msgid "IDS_MUSIC_BUTTON_AUTO_RECOMMENDATIONS"
+msgstr "Automatske preporuke"
+
+msgid "IDS_MUSIC_BUTTON_FROM_THE_BEGINNING"
+msgstr "Od početka"
+
+msgid "IDS_MUSIC_HEADER_SUGGESTIONS_FOR_YOU"
+msgstr "Prijedlozi za vas"
+
+msgid "IDS_MUSIC_OPT_SAVE"
+msgstr "Spremi"
+
+msgid "IDS_MUSIC_TAB4_BASIC_M_EQUALIZING"
+msgstr "Osnovno"
+
+msgid "IDS_MUSIC_BODY_INSTRUMENT"
+msgstr "Instrument"
+
+msgid "IDS_MUSIC_BODY_TREBLE_M_EQUALISER"
+msgstr "Visoki"
+
+msgid "IDS_MUSIC_BODY_BASS_M_EQUALISER"
+msgstr "Bas"
+
+msgid "IDS_MUSIC_BODY_NO_EFFECTS_ARE_APPLIED_IN_THIS_MODE_ABB"
+msgstr "Nijedan efekt nije primijenjen u ovom načinu."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_TIMBRE_OF_A_TUBE_AMP_ABB"
+msgstr "Simulira boju zvuka cijevnog pojačala."
+
+msgid "IDS_MUSIC_OPT_TUBE_AMP_EFFECT"
+msgstr "Efekt lampaškog pojačala"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_EFFECT_OF_VIRTUAL_71_CHANNEL_SURROUND_SOUND_ABB"
+msgstr "Simulira učinak virtualnog 7.1 kanalnog surround zvuka."
+
+msgid "IDS_MUSIC_HEADER_SMALL_ROOM_M_REVERB_ABB"
+msgstr "Mala soba"
+
+msgid "IDS_MUSIC_HEADER_LARGE_ROOM_M_REVERB_ABB"
+msgstr "Velika soba"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_LARGE_ROOM_EG_A_THEATRE_ABB"
+msgstr "Simulira jeku velike sobe, npr. kazališta."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_CONCERT_HALL_ABB"
+msgstr "Simulira jeku koncertne dvorane."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_SMALL_SPACE_EG_A_STUDIO_ABB"
+msgstr "Simulira jeku malog prostora, npr. studija."
+
+msgid "IDS_MUSIC_BUTTON_3D_CHN"
+msgstr "3D"
+
+msgid "IDS_MUSIC_BODY_CLARITY_M_SOUNDEFFECT"
+msgstr "Jasnoća"
+
+msgid "IDS_MUSIC_BUTTON_RESET"
+msgstr "Poništi"
+
+msgid "IDS_MUSIC_TAB_YEARS"
+msgstr "Godine"
+
+msgid "IDS_MUSIC_TAB_GENRES"
+msgstr "Žanrovi"
+
+msgid "IDS_MUSIC_TAB_COMPOSERS"
+msgstr "Skladatelji"
+
+msgid "IDS_MUSIC_TAB_ALL_TRACKS"
+msgstr "Sve pjesme"
+
+msgid "IDS_MUSIC_SK3_GO_TO_QUICK_LIST"
+msgstr "Idi na brzi popis"
+
+msgid "IDS_MUSIC_SK3_FIND"
+msgstr "Traži"
+
+msgid "IDS_MUSIC_SK3_ADD_TO_QUICK_LIST"
+msgstr "Dodaj na brzi popis"
+
+msgid "IDS_MUSIC_POP_UNAUTHORISED_VIDEO_FILE_FOR_TV_OUT"
+msgstr "Neodobrena video datoteka za TV izlaz."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_CREATE_MAXIMUM_NUMBER_OF_PLAYLISTS_REACHED"
+msgstr "Nemoguće dodati. Maks. broj popisa pjesama dostignut."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTING_BLUETOOTH_HEADSET"
+msgstr "Nemoguće prilagoditi glasnoću pri spajanju Bluetooth slušalica."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTED_TO_BLUETOOTH_HEADSET"
+msgstr "Nemoguće postaviti glasnoću Bluetooth slušalice."
+
+msgid "IDS_MUSIC_POP_STOP_MUSIC_PLAYER_Q"
+msgstr "Zaustaviti Music Player?"
+
+msgid "IDS_MUSIC_POP_PLEASE_EXIT_SILENT_MODE"
+msgstr "Isključite Bešumno."
+
+msgid "IDS_MUSIC_POP_NETWORK_FAILURE"
+msgstr "Greška mreže."
+
+msgid "IDS_MUSIC_POP_MEMORY_CARD_LOADED"
+msgstr "Memorijska kartica učitana."
+
+msgid "IDS_MUSIC_POP_DEVICE_SETTINGS_ERROR"
+msgstr "Greška postavki uređaja."
+
+msgid "IDS_MUSIC_POP_COULD_NOT_FIND_A_MATCH_FOR_THE_SONG"
+msgstr "Nema rezultata."
+
+msgid "IDS_MUSIC_POP_BUFFERING_MSTATUS"
+msgstr "Učitavanje"
+
+msgid "IDS_MUSIC_POP_BT_HEADSET_ONLY_SUPPORTS_NORMAL_EFFECTS_SETTING"
+msgstr "BT slušalica podržava samo normalnu postavku efekata."
+
+msgid "IDS_MUSIC_POP_APPLICATION_WILL_BE_CLOSED"
+msgstr "Aplikacija će se isključiti."
+
+msgid "IDS_MUSIC_POP_ADDED_GO_TO_WISH_LIST_Q"
+msgstr "Dodano. Prijeći na popis želja?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_THE_SERVICE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "Pristup usluzi možda se naplaćuje. Nastaviti?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_STORE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "Pristup trgovini možda se naplaćuje. Nastaviti?"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_ONLY_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES"
+msgstr "Zvučni efekt 5.1 kanala radi samo u načinu slušalice i Bluetooth slušalice."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "Zvučni efekt 5.1 kanala radi samo u načinu slušalice."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECTS_NOT_SUPPORTED_BY_SPEAKER"
+msgstr "Zvučnik ne podržava 5.1 kanalne zvučne efekte."
+
+msgid "IDS_MUSIC_OPT_VIEW_BY_COVER_ART"
+msgstr "Prikaz po omotu albuma"
+
+msgid "IDS_MUSIC_OPT_SEND_TRACK"
+msgstr "Pošalji zapis"
+
+msgid "IDS_MUSIC_OPT_RATE_TRACK"
+msgstr "Ocijeni pjesmu"
+
+msgid "IDS_MUSIC_OPT_PLAYLIST_MOVE_TRACK_IN_PLAYLIST"
+msgstr "Uredi redoslijed pjesama"
+
+msgid "IDS_MUSIC_OPT_OPENPLAYLIST_CURRENT"
+msgstr "Trenutni"
+
+msgid "IDS_MUSIC_OPT_DELETE_PLAYLIST"
+msgstr "Obriši popis pjesama"
+
+msgid "IDS_MUSIC_OPT_BACKGROUND_PLAYING"
+msgstr "Reprodukcija u pozadini"
+
+msgid "IDS_MUSIC_HEADER_EFFECTS"
+msgstr "Efekti"
+
+msgid "IDS_MUSIC_BUTTON_BUY_NOW"
+msgstr "Kupi sad"
+
+msgid "IDS_MUSIC_BODY_WOW_HD"
+msgstr "Wow HD"
+
+msgid "IDS_MUSIC_BODY_WISHLIST"
+msgstr "Popis želja"
+
+msgid "IDS_MUSIC_BODY_WIDE"
+msgstr "Široko"
+
+msgid "IDS_MUSIC_BODY_WHA_WHA"
+msgstr "Wha-wha"
+
+msgid "IDS_MUSIC_BODY_VIBE_WOOFER"
+msgstr "Vibracijski woofer"
+
+msgid "IDS_MUSIC_BODY_TREMOLO"
+msgstr "Tremolo"
+
+msgid "IDS_MUSIC_BODY_TAP_TWICE_TO_PLAY_PAUSE_MUSIC"
+msgstr "Dotaknite dvaput za reprodukciju/pauziranje glazbe."
+
+msgid "IDS_MUSIC_BODY_SHARE_TRACK_VIA_BLUETOOTH"
+msgstr "Dijeli pjesme putem Bluetootha"
+
+msgid "IDS_MUSIC_BODY_SETUPWIZARD_WELCOME_TO_THE_MUSIC_SETUP_WIZARD_CONTINUE_Q"
+msgstr "Dobrodošli u čarobnjaka za postavljanje glazbe.\nSljedeće upute pomoći će vam da postavite telefon. Nastaviti?"
+
+msgid "IDS_MUSIC_BODY_QUICK_LIST"
+msgstr "Brzi popis"
+
+msgid "IDS_MUSIC_BODY_PLAYINGSETTINGS_SOUND_EFFECTS"
+msgstr "Zvučni efekti"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_ALL"
+msgstr "Sve"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_1"
+msgstr "1"
+
+msgid "IDS_MUSIC_BODY_PLAYERSETTINGS_VOLUME"
+msgstr "Glasnoća"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_SELECTED"
+msgstr "%d pjesama odabrano."
+
+msgid "IDS_MUSIC_BODY_NO_PODCASTS"
+msgstr "Nema podcasta"
+
+msgid "IDS_MUSIC_BODY_FIND_SIMILAR"
+msgstr "Traži slično"
+
+msgid "IDS_MUSIC_BODY_BACKGROUND_PLAY"
+msgstr "Reprodukcija u pozadini"
+
+msgid "IDS_MUSIC_BODY_51_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "5,1-kanalni zvuk radi samo kada su zvučni efekti isključeni."
+
+msgid "IDS_MUSIC_TAB4_PODCASTS"
+msgstr "Podcast"
+
+msgid "IDS_MUSIC_SK2_EDIT_IMAGE"
+msgstr "Uredi sliku"
+
+msgid "IDS_MUSIC_POP_PLAYING_ANY_SOUNDS_WILL_STOP_AND_SAVE_YOUR_VOICE_RECORDING_PLAY_Q"
+msgstr "Reprodukcija zvukova zaustavit će i spremiti snimanje glasa. Reproducirati?"
+
+msgid "IDS_MUSIC_POP_MAXIMUM_NUMBER_OF_ITEMS_HPD_SELECTED"
+msgstr "Maks. broj (%d) odabranih stavki."
+
+msgid "IDS_MUSIC_POP_BLUETOOTH_DISCONNECTED"
+msgstr "Bluetooth isključen."
+
+msgid "IDS_MUSIC_POP_5_1_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "5,1-kanalni zvuk radi samo kada su zvučni efekti isključeni."
+
+msgid "IDS_MUSIC_OPT_TAKE_PICTURE"
+msgstr "Fotografiranje"
+
+msgid "IDS_MUSIC_OPT_SHOW_MUSIC_VIEW_ABB"
+msgstr "Otvori prikaz glazbe"
+
+msgid "IDS_MUSIC_OPT_PAUSE"
+msgstr "Pauza"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALBUM"
+msgstr "Reproduciraj album"
+
+msgid "IDS_MUSIC_OPT_LIST_BY"
+msgstr "Sortiraj po"
+
+msgid "IDS_MUSIC_OPT_HISTORY"
+msgstr "Povijest"
+
+msgid "IDS_MUSIC_OPT_HIDE_MUSIC_VIEW_ABB"
+msgstr "Sakrij prikaz glazbe"
+
+msgid "IDS_MUSIC_OPT_FIND_TAG"
+msgstr "Info pjesme"
+
+msgid "IDS_MUSIC_OPT_DROPBOX_CONTENT_ABB"
+msgstr "Dropbox sadržaj"
+
+msgid "IDS_MUSIC_OPT_CONTENT_ON_PHONE_ABB"
+msgstr "Sadržaj na tel."
+
+msgid "IDS_MUSIC_OPT_CHANGE_IMAGE"
+msgstr "Promijeni sliku"
+
+msgid "IDS_MUSIC_HEADER_DELETE_DROPBOX_DATA_ABB"
+msgstr "Obriši Dropbox podatke"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_STREAM_YOUR_MUSIC_TO_DEVICES_USING_ALLSHARE"
+msgstr "Možete puštati svoju glazbu na uređajima pomoću AllSharea."
+
+msgid "IDS_MUSIC_BODY_VALIDITY"
+msgstr "Valjanost"
+
+msgid "IDS_MUSIC_BODY_TYPE_CNOUN"
+msgstr "Vrsta"
+
+msgid "IDS_MUSIC_BODY_THIS_WILL_DELETE_THE_FILE_FROM_THE_SERVER_AND_ANY_CONNECTED_DEVICES_AS_WELL"
+msgstr "Ovo će izbrisati datoteku s poslužitelja i svih drugih spojenih uređaja."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_ARTISTS"
+msgstr "Izvođači"
+
+msgid "IDS_MUSIC_BODY_PLAYINGDETAILS_ALBUM_ART"
+msgstr "Omot albuma"
+
+msgid "IDS_MUSIC_BODY_OTHER_CONTENTS"
+msgstr "Ostalo"
+
+msgid "IDS_MUSIC_BODY_NAME_TOO_LONG"
+msgstr "Predugačko ime."
+
+msgid "IDS_MUSIC_BODY_MUSIC_CLARITY"
+msgstr "Čistoća glazbe"
+
+msgid "IDS_MUSIC_BODY_HIGH_VOLUMES_MAY_HARM_YOUR_HEARING_IF_YOU_LISTEN_FOR_A_LONG_TIME"
+msgstr "Velika glasnoća može oštetiti sluh pri dugom slušanju."
+
+msgid "IDS_MUSIC_BODY_AVAILABLE_USES"
+msgstr "Preostalo upotreba"
+
+msgid "IDS_MUSIC_TPOP_SOUND_EFFECTS_ONLY_AVAILABLE_WHILE_HEADPHONES_CONNECTED"
+msgstr "Zvučni efekti dostupni su samo kad su spojene slušalice."
+
+msgid "IDS_ST_OPT_ADD_TO_YOUR_PERSONAL_STORAGE"
+msgstr "Dodajte na osobnu memoriju"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_YOUR_PERSONAL_STORAGE"
+msgstr "Uklonite iz osobne memorije"
+
+msgid "IDS_ST_BODY_CONTEXTUAL_POP_UP_T_TALKBACK"
+msgstr "Kontekstualni skočni prozor"
+
+msgid "IDS_ST_BODY_A_CONTEXTUAL_POP_UP_IS_OPEN_DOUBLE_TAP_TO_CLOSE_IT_T_TALKBACK"
+msgstr "Kontekstualni skočni prozor je otvoren. Dvostrukim dodirom ga zatvorite."
+
+msgid "IDS_ST_BODY_REPEAT_ONE"
+msgstr "Ponovi jednu"
+
+msgid "IDS_ST_BUTTON_MOVING_ING"
+msgstr "Premještanje..."
+
+msgid "IDS_HS_BODY_SELECT_UP_TO_PD_ITEMS"
+msgstr "Odaberite do %d stavki."
+
+msgid "IDS_CAM_BODY_TAB_T_TTS"
+msgstr "Kartica"
+
+msgid "IDS_DLNA_OPT2_CHANGE_PLAYER"
+msgstr "Promijeni player"
+
+msgid "IDS_BR_SK_TABS"
+msgstr "Kartice"
+
+msgid "IDS_MF_BODY_DROPBOX_ABB"
+msgstr "Dropbox"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Automatskim preporukama mogu se izvući označeni dijelovi iz zvukovnih datoteka."
+
+msgid "IDS_MF_BODY_PARENT_RATING"
+msgstr "Roditeljska zaštita"
+
+msgid "IDS_VR_POP_FILE_NOT_FOUND"
+msgstr "Nema datoteke."
+
+msgid "IDS_PB_POP_CALLER_RINGTONE_SAVED"
+msgstr "Ton pozivatelja spremljen."
+
+msgid "IDS_MUSIC_BODY_BIT_DEPTH"
+msgstr "Dubina u bitovima"
+
+msgid "IDS_MUSIC_BODY_SIZE"
+msgstr "Veličina"
+
+msgid "IDS_MF_HEADER_PD_SELECTED"
+msgstr "%d odabrano"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_THIS_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Nakon što dodate pjesme na ovaj uređaj, prikazat će se ovdje."
+
+msgid "IDS_MUSIC_TMBODY_LENGTH"
+msgstr "Duljina"
+
+msgid "IDS_MUSIC_POP_1_FOLDER_WILL_BE_DELETED"
+msgstr "1 će se mapa izbrisati."
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Nema sadržaja"
+
+msgid "IDS_MUSIC_ITAB4_FOLDERS"
+msgstr "Mape"
+
+msgid "IDS_MUSIC_HEADER_MY_PLAYLISTS_ABB"
+msgstr "Moji popisi pjesama"
+
+msgid "IDS_MP_BODY_SOUND_PLAYER"
+msgstr "MP3 player"
+
+msgid "IDS_MUSIC_OPT_SETTINGS"
+msgstr "Postavke"
+
+msgid "IDS_MUSIC_POP_DELETING"
+msgstr "Brisanje..."
+
+msgid "IDS_MUSIC_POP_1_TRACK_WILL_BE_DELETED"
+msgstr "Obrisat će se 1 pjesma."
+
+msgid "IDS_MUSIC_POP_ALL_TRACKS_WILL_BE_DELETED"
+msgstr "Svi će se zapisi obrisati."
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_WILL_BE_DELETED"
+msgstr "Obrisat će se %d pjesama."
+
+msgid "IDS_MUSIC_POP_1_PLAYLIST_WILL_BE_DELETED"
+msgstr "1 popis pjesama bit će izbrisan."
+
+msgid "IDS_MUSIC_POP_PD_PLAYLISTS_WILL_BE_DELETED"
+msgstr "%d popisa pjesama biti će obrisano."
+
+msgid "IDS_MUSIC_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "%d albuma biti će obrisano."
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS_WILL_BE_DELETED"
+msgstr "%d izvođača biti će obrisano."
+
+msgid "IDS_MUSIC_POP_PD_FOLDERS_WILL_BE_DELETED"
+msgstr "%d će se mapa obrisati."
+
+msgid "IDS_ST_POP_CONNECTION_FAILED"
+msgstr "Spajanje neuspješno."
+
+msgid "IDS_MUSIC_BODY_CLASSIC"
+msgstr "Klasično"
+
+msgid "IDS_MUSIC_BODY_ROCK"
+msgstr "Rock"
+
+msgid "IDS_MUSIC_BODY_JAZZ"
+msgstr "Jazz"
+
+msgid "IDS_MUSIC_BODY_POP"
+msgstr "Pop"
+
+msgid "IDS_MUSIC_BODY_AUTO"
+msgstr "Auto"
+
+msgid "IDS_MUSIC_POP_CURRENT_SOUND_EFFECT_NOT_SUPPORTED_BY_HDMI"
+msgstr "HDMI ne podržava trenutni zvučni efekt."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_BLUETOOTH"
+msgstr "Bluetooth ne podržava zvučne efekte."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_LINE_OUT"
+msgstr "Zvučni izlaz ne potržava zvučne efekte."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_HDMI"
+msgstr "HDMI ne podržava zvučne efekte."
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EFFECT"
+msgstr "Cijevno pojačalo"
+
+msgid "IDS_MUSIC_BODY_CUSTOM"
+msgstr "Prilagođeno"
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EQUALISER_ABB"
+msgstr "Cijevno pojačalo"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d pjesama dodano na popis."
+
+msgid "IDS_MUSIC_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 pjesma dodana na popis pjesama."
+
+msgid "IDS_MUSIC_HEADER_ADD_TRACKS_TO_PLAYLIST_ABB"
+msgstr "Dodavanje na popis pjesama"
+
+msgid "IDS_MUSIC_POP_PS_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "%s se već koristi. Unesite drugi naziv."
+
+msgid "IDS_MUSIC_TMBODY_DATE_OF_RECORDING"
+msgstr "Datum snimanja"
+
+msgid "IDS_MBP_TPOP_TRACK_SET_AS_ALARM_TONE"
+msgstr "Pjesma je postavljena za ton alarma."
+
+msgid "IDS_MUSIC_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Nema rezultata"
+
+msgid "IDS_MUSIC_OPT_DEFAULT_RINGTONE_ABB"
+msgstr "Zadana melodija zvona"
+
+msgid "IDS_MUSIC_TPOP_TRACK_SET_AS_CALLER_RINGTONE"
+msgstr "Pjesma je postavljena za ton zvona."
+
+msgid "IDS_MP_TPOP_TRACK_SET_AS_RINGTONE"
+msgstr "Pjesma je postavljena za melodiju zvona."
+
+msgid "IDS_DLNA_BODY_ADD_TO_NOW_PLAYING_LIST"
+msgstr "Dodaj na popis pjesama koji se reproducira"
+
+msgid "IDS_MUSIC_TPOP_EQUALISER_SETTINGS_WILL_BE_APPLIED_WHILE_PLAYING_MUSIC"
+msgstr "Postavke ekvalizatora bit će primijenjene pri reproduciranju glazbe."
+
+msgid "IDS_ST_BODY_ALERT"
+msgstr "Obavijest"
+
+msgid "IDS_IV_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 album bit će obrisan."
+
+msgid "IDS_MUSIC_OPT_SD_CARD"
+msgstr "SD kartica"
+
+msgid "IDS_MUSIC_SBODY_DEVICE_STORAGE"
+msgstr "Memorija uređaja"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE"
+msgstr "Naziv popisa pjesama već se upotrebljava."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_PD"
+msgstr "Popis pjesama %d"
+
+msgid "IDS_MUSIC_HEADER_CREATE"
+msgstr "Nova"
+
+msgid "IDS_MUSIC_HEADER_EQUALISER_PRESET_ABB"
+msgstr "Postavljeni ekvalizator"
+
+msgid "IDS_MUSIC_OPT_AUTOMATIC_M_EQUALIZER_EFFECT"
+msgstr "Automatsko"
+
+msgid "IDS_MUSIC_OPT_CLASSICAL_M_EQUALIZER_EFFECT"
+msgstr "Klasično"
+
+msgid "IDS_MUSIC_HEADER_ENVIRONMENT_EFFECT_ABB"
+msgstr "Efekt okruženja"
+
+msgid "IDS_VIDEO_POP_THE_FILE_TYPE_IS_NOT_SUPPORTED"
+msgstr "Vrsta datoteke nije podržana."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_CREATE_PLAYLISTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Nakon što kreirate popis pjesama, prikazat će se ovdje."
+
+msgid "IDS_ST_HEADER_SELECT_AUDIO_DEVICE_ABB"
+msgstr "Odabir audio uređaja"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "Naziv popisa pjesama već se koristi. Unesite drugi naziv."
+
+msgid "IDS_MUSIC_HEADER_SOUNDALIVE_ABB3"
+msgstr "SoundAlive"
+
+msgid "IDS_MUSIC_OPT_NOW_PLAYING_LIST"
+msgstr "Trenutno"
+
+msgid "IDS_MUSIC_OPT_SHOW_LYRICS"
+msgstr "Prikaži tekstove pjesama"
+
+msgid "IDS_MUSIC_OPT_HIDE_LYRICS"
+msgstr "Sakrij tekstove pjesama"
+
+msgid "IDS_MUSIC_TPOP_UNABLE_TO_PLAY_MUSIC_DURING_CALLS"
+msgstr "Nije moguće reproducirati glazbu tijekom poziva."
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Obriši"
+
+msgid "IDS_MUSIC_HEADER_SELECT"
+msgstr "Odaberi"
+
+msgid "IDS_TPLATFORM_OPT_NFC"
+msgstr "NFC"
+
+msgid "IDS_MUSIC_HEADER_UNABLE_TO_PLAY_TRACK"
+msgstr "Nemoguće reproducirati pjesmu"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "GOTOVO"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ODUSTANI"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "IZBRIŠI"
+
+msgid "IDS_MUSIC_POP_RENAME"
+msgstr "Preimenuj"
+
+msgid "IDS_MUSIC_OPT_MESSAGE"
+msgstr "Poruka"
+
+msgid "IDS_MUSIC_SK_OK"
+msgstr "OK"
+
+msgid "IDS_MUSIC_SK_CANCEL"
+msgstr "Prekid"
+
+msgid "IDS_MUSIC_BUTTON_REFRESH"
+msgstr "Aktualiziraj"
+
+msgid "IDS_MUSIC_BODY_SELECT_ALL"
+msgstr "Odaberi sve"
+
+msgid "IDS_MUSIC_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_MUSIC_POP_DELETED"
+msgstr "Obrisano."
+
+msgid "IDS_MUSIC_OPT_STOP"
+msgstr "Zaustavi"
+
+msgid "IDS_MUSIC_BODY_UNKNOWN"
+msgstr "Nepoznato"
+
+msgid "IDS_MUSIC_BODY_TITLE"
+msgstr "Naslov"
+
+msgid "IDS_MUSIC_OPT_SENDVIA_EMAIL"
+msgstr "Email"
+
+msgid "IDS_MUSIC_OPT_BLUETOOTH"
+msgstr "Bluetooth"
+
+msgid "IDS_MUSIC_HEADER_DOWNLOAD"
+msgstr "Skini"
+
+msgid "IDS_MUSIC_POP_LOW_BATTERY"
+msgstr "Baterija skoro prazna."
+
+msgid "IDS_MUSIC_HEADER_AUDIO_DEVICE"
+msgstr "Audio uređaj"
+
+msgid "IDS_MUSIC_HEADER_DETAILS"
+msgstr "Detalji"
+
+msgid "IDS_MUSIC_OPT_END"
+msgstr "Kraj"
+
+msgid "IDS_MUSIC_OPT_EDIT"
+msgstr "Uredi"
+
+msgid "IDS_CAM_HEADER_UPDATED"
+msgstr "Aktualizirano."
+
+msgid "IDS_MUSIC_POP_REMOVED"
+msgstr "Uklonjeno."
+
+msgid "IDS_MUSIC_OPT_SELECTED"
+msgstr "Odabrano"
+
+msgid "IDS_ST_BUTTON_SCAN"
+msgstr "Skeniraj"
+
+msgid "IDS_MF_POP_ERROR"
+msgstr "Greška."
+
+msgid "IDS_MF_POP_MEMORY_FULL"
+msgstr "Memorija puna."
+
+msgid "IDS_MUSIC_MBODY_QUEUE"
+msgstr "Slijed"
+
+msgid "IDS_MUSIC_OPT_VOLUME"
+msgstr "Glasnoća"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE"
+msgstr "Nasumično"
+
+msgid "IDS_MUSIC_OPT_REPEAT"
+msgstr "Ponavljanje"
+
+msgid "IDS_COM_BODY_DETAILS"
+msgstr "Details"
+
+msgid "IDS_COM_BODY_DETAILS_TITLE"
+msgstr "Title"
+
+msgid "IDS_COM_BODY_EDIT"
+msgstr "Edit"
+
+msgid "IDS_COM_BODY_EMAIL"
+msgstr "Email"
+
+msgid "IDS_COM_BODY_END"
+msgstr "End"
+
+msgid "IDS_COM_BODY_FOLDERS"
+msgstr "Folders"
+
+msgid "IDS_COM_BODY_GALLERY"
+msgstr "Gallery"
+
+msgid "IDS_COM_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_COM_BODY_LOADING"
+msgstr "Loading..."
+
+msgid "IDS_COM_BODY_LOW_BATTERY"
+msgstr "Low battery."
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Message"
+
+msgid "IDS_COM_BODY_MUSIC"
+msgstr "Music"
+
+msgid "IDS_COM_BODY_NFC"
+msgstr "NFC"
+
+msgid "IDS_COM_BODY_NO_CONTENTS"
+msgstr "No content"
+
+msgid "IDS_COM_BODY_PAUSE"
+msgstr "Pause"
+
+msgid "IDS_COM_BODY_PD_SELECTED"
+msgstr "%d selected."
+
+msgid "IDS_COM_BODY_PREVIOUS"
+msgstr "Previous"
+
+msgid "IDS_COM_BODY_RESET_A"
+msgstr "Reset"
+
+msgid "IDS_COM_BODY_SELECTED"
+msgstr "Selected"
+
+msgid "IDS_COM_BODY_SELECT_ALL"
+msgstr "Select all"
+
+msgid "IDS_COM_BODY_SETTINGS"
+msgstr "Settings"
+
+msgid "IDS_COM_BODY_TIME"
+msgstr "Time"
+
+msgid "IDS_COM_BODY_UNABLE_TO_ADD"
+msgstr "Unable to add."
+
+msgid "IDS_COM_BODY_UNKNOWN"
+msgstr "Unknown"
+
+msgid "IDS_COM_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_COM_BUTTON_SCAN"
+msgstr "Scan"
+
+msgid "IDS_COM_BUTTON_SHARE"
+msgstr "Share"
+
+msgid "IDS_COM_HEADER_AUDIO_DEVICE_ABB"
+msgstr "Audio device"
+
+msgid "IDS_COM_OPT_ADDED"
+msgstr "Added."
+
+msgid "IDS_COM_OPT_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_POP_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_POP_CONNECTION_FAILED"
+msgstr "Connection failed."
+
+msgid "IDS_COM_POP_DELETED"
+msgstr "Deleted."
+
+msgid "IDS_COM_POP_DELETE_Q"
+msgstr "Delete?"
+
+msgid "IDS_COM_POP_DONE"
+msgstr "Done"
+
+msgid "IDS_COM_POP_DOWNLOADING"
+msgstr "Downloading..."
+
+msgid "IDS_COM_POP_ERROR"
+msgstr "Error."
+
+msgid "IDS_COM_POP_FAILED"
+msgstr "Failed."
+
+msgid "IDS_COM_POP_FILE_NOT_EXIST"
+msgstr "This file does not exist."
+
+msgid "IDS_COM_POP_FILE_NOT_FOUND"
+msgstr "File not found."
+
+msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximum number of characters reached."
+
+msgid "IDS_COM_POP_MEMORY_FULL"
+msgstr "Memory full."
+
+msgid "IDS_COM_POP_REMOVED"
+msgstr "Removed."
+
+msgid "IDS_COM_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Unable to use during Mass storage mode."
+
+msgid "IDS_COM_POP_UPDATED"
+msgstr "Updated."
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_SK_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_SK_DOWNLOAD"
+msgstr "Download"
+
+msgid "IDS_COM_SK_NEW"
+msgstr "New"
+
+msgid "IDS_COM_SK_NEXT"
+msgstr "Next"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_SK_REFRESH"
+msgstr "Refresh"
+
+msgid "IDS_COM_SK_REMOVE"
+msgstr "Remove"
+
+msgid "IDS_COM_SK_SAVE"
+msgstr "Save"
+
+msgid "IDS_COM_SK_SELECT"
+msgstr "Select"
+
+msgid "IDS_COM_SK_SET"
+msgstr "Set"
+
+msgid "IDS_COM_SK_STOP"
+msgstr "Stop"
+
+
+msgid "IDS_MH_BODY_THE_PLAYLIST_NAME_PS_IS_ALREADY_IN_USE"
+msgstr "The playlist name %s is already in use."
+
+msgid "IDS_MH_BODY_TOTAL"
+msgstr "Total"
+
+msgid "IDS_MH_MBODY_RECENTLY_ADDED_M_SONG"
+msgstr "Recently added"
+
+msgid "IDS_MH_OPT_MORE_INFO_ABB"
+msgstr "More info"
+
+msgid "IDS_MH_POP_ALARM_TONE_SET"
+msgstr "Alarm tone set."
+
+msgid "IDS_MH_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 track added to playlist."
+
+msgid "IDS_MH_TPOP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d tracks added to playlist."
+
+msgid "IDS_MUSIC_OPT_RENAME"
+msgstr "Rename"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Unable to play during call."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Maks. veličina datoteke."
+
+msgid "IDS_CAM_TPOP_UNABLE_TO_PLAY_MUSIC_WHILE_RECORDING_AUDIO_OR_VIDEO"
+msgstr "Nije moguće reproducirati glazbu dok se snima zvuk ili videozapis."
+
--- /dev/null
+msgid "IDS_ST_BODY_LOADING_ING"
+msgstr "Betöltés..."
+
+msgid "IDS_GALLERY_OPT_PRIVATE_M_CONTENT"
+msgstr "Privát"
+
+msgid "IDS_MF_BODY_TIME"
+msgstr "Idő"
+
+msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
+msgstr "A fájl nem létezik."
+
+msgid "IDS_MUSIC_POP_PHONE_RINGTONE"
+msgstr "Telefon csengőhangja"
+
+msgid "IDS_MUSIC_BODY_DURATION"
+msgstr "Időtartam"
+
+msgid "IDS_MUSIC_BODY_MUSIC_LOCATION"
+msgstr "Hely"
+
+msgid "IDS_MUSIC_BODY_SET_AS_M_RINGTONE"
+msgstr "Beállít, mint"
+
+msgid "IDS_ST_OPT_ADD_TO_PERSONAL_PAGE"
+msgstr "Hozzáadás a személyes oldalhoz"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_PERSONAL_PAGE_ABB"
+msgstr "Elt. a személyes oldalról"
+
+msgid "IDS_ST_POP_MOVE_TO_NORMAL_STORAGE"
+msgstr "Áthelyezés a normál tárhelybe"
+
+msgid "IDS_ST_POP_MOVE_TO_PERSONAL_STORAGE"
+msgstr "Áthelyezés a személyes tárhelybe"
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEMS_WILL_BE_MOVED_TO_PS"
+msgstr "A kijelölt tételeket a(z) %s mappába helyezi."
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEM_WILL_BE_MOVED_TO_PS"
+msgstr "A kijelölt tételt a(z) %s mappába helyezi."
+
+msgid "IDS_VR_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Háttértár módban nem használható."
+
+msgid "IDS_MUSIC_POP_RINGTONE_ADDED"
+msgstr "Csengőhang hozzáadva."
+
+msgid "IDS_CAM_BODY_BUTTON_T_TTS"
+msgstr "Gomb"
+
+msgid "IDS_MUSIC_HEADER_SELECT_ITEMS"
+msgstr "Tételek kijelölése"
+
+msgid "IDS_ST_BODY_ADVANCED"
+msgstr "Speciális"
+
+msgid "IDS_ST_SK_PREVIOUS"
+msgstr "Előző"
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Bezár"
+
+msgid "IDS_MUSIC_POP_ADDED"
+msgstr "Hozzáadva."
+
+msgid "IDS_MUSIC_POP_FAILED"
+msgstr "Sikertelen"
+
+msgid "IDS_MUSIC_BODY_NO_SEARCH_RESULTS"
+msgstr "Nincs találat"
+
+msgid "IDS_MUSIC_SK_DONE"
+msgstr "Kész"
+
+msgid "IDS_MUSIC_BODY_NO_ITEMS"
+msgstr "Nincs tétel"
+
+msgid "IDS_BR_OPT_ADD_TO_HOME"
+msgstr "Kezdőképernyőhöz adás"
+
+msgid "IDS_BR_SK_NEXT"
+msgstr "Tovább"
+
+msgid "IDS_BR_BODY_DOWNLOADING_ING"
+msgstr "Letöltés..."
+
+msgid "IDS_IV_BODY_FAVOURITE"
+msgstr "Kedvenc"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_PERSONAL_STORAGE"
+msgstr "Személyes tárhelyhez adás"
+
+msgid "IDS_DLNA_POP_DISCONNECTED_FROM_PS_CHECK_THE_NETWORK_STATUS_AND_THE_CONNECTED_DEVICE"
+msgstr "Megszakadt a kapcsolat a(z) %s eszközzel. Ellenőrizze a hálózat állapotát és a csatlakoztatott eszközt."
+
+msgid "IDS_DLNA_OPT_VIA_SCREEN_MIRRORING_ABB"
+msgstr "Screen Mirroring"
+
+msgid "IDS_DLNA_OPT_VIA_HOME_NETWORK_ABB"
+msgstr "Otthoni hálózaton"
+
+msgid "IDS_IV_POP_ENTRY_IS_EMPTY"
+msgstr "A bejegyzés üres."
+
+msgid "IDS_FM_POP_UNAVAILABLE_DURING_CALL"
+msgstr "Hívás közben nem elérhető."
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Nincs hely több karakternek."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_SHARE_DRM_FILE"
+msgstr "A DRM-fájl nem osztható meg."
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Eltávolítás..."
+
+msgid "IDS_MUSIC_HEADER_PD_DEVICES"
+msgstr "%d eszköz"
+
+msgid "IDS_MUSIC_BUTTON_ENABLE_MOTION"
+msgstr "Mozgás eng."
+
+msgid "IDS_MUSIC_BUTTON_DONT_ASK_AGAIN"
+msgstr "Máskor ne legyen kérdés"
+
+msgid "IDS_MUSIC_BODY_NO_RESULTS_FOUND"
+msgstr "Nincs találat."
+
+msgid "IDS_VPL_OPT_HDMI"
+msgstr "HDMI"
+
+msgid "IDS_MUSIC_BODY_TURN_PHONE_OVER_TO_MUTE_INCOMING_CALLS_MESSAGE_ALERTS_AND_ALARMS"
+msgstr "A bejövő hívások, üzenetek és egyebek jelzésének elnémításához fordítsa meg a telefont."
+
+msgid "IDS_ST_BODY_NONE"
+msgstr "Nincs"
+
+msgid "IDS_ST_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_ST_BODY_GALLERY"
+msgstr "Galéria"
+
+msgid "IDS_ST_BODY_DOUBLE_TAP_TO_MOVE_TO_CONTENT_T_TTS"
+msgstr "Kétszeri érintéssel áthelyezheti a tartalmat."
+
+msgid "IDS_MUSIC_BODY_SURROUND"
+msgstr "Térhatás"
+
+msgid "IDS_MUSIC_OPT_LYRICS_ABB"
+msgstr "Dalszöveg"
+
+msgid "IDS_MUSIC_POP_AFTER_YOU_ADD_TRACKS_TO_MUSIC_ON_YOUR_MOBILE_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Itt jelennek majd meg a mobileszköz Zene alkalmazásához adott számok."
+
+msgid "IDS_MUSIC_BODY_SAMPLING_RATE"
+msgstr "Mintavételi frekvencia"
+
+msgid "IDS_MUSIC_BODY_MARKED_AS_A_FAVOURITE"
+msgstr "Kedvencként megjelölve."
+
+msgid "IDS_MUSIC_BODY_MUSIC"
+msgstr "Zenék"
+
+msgid "IDS_MUSIC_BODY_NOT_MARKED_AS_A_FAVOURITE"
+msgstr "Nincs kedvencként megjelölve."
+
+msgid "IDS_MUSIC_HEADER_SEARCH_MUSIC_ABB"
+msgstr "Zene keresése"
+
+msgid "IDS_MUSIC_POP_AUTO_RECOMMENDATION_DOES_NOT_SUPPORT_THIS_AUDIO_FILE"
+msgstr "Az automatikus javaslás nem támogatja ezt a hangfájlt."
+
+msgid "IDS_MUSIC_POP_SORRY_THE_PLAYER_DOES_NOT_SUPPORT_THIS_TYPE_OF_AUDIO_FILE"
+msgstr "A lejátszó sajnos nem támogatja az ilyen típusú hangfájlokat."
+
+msgid "IDS_MUSIC_BODY_FAVOURITES"
+msgstr "Kedvencek"
+
+msgid "IDS_MUSIC_BODY_MOST_PLAYED"
+msgstr "Leggyakrabban játszott"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_ADDED"
+msgstr "Legutóbb hozzáadott"
+
+msgid "IDS_MUSIC_OPT_CREATE_PLAYLIST"
+msgstr "Új lejátszási lista"
+
+msgid "IDS_MUSIC_OPT_REMOVE"
+msgstr "Eltávolít"
+
+msgid "IDS_MUSIC_OPT_SETAS_CALLER_RINGTONE"
+msgstr "Hívó csengőhangja"
+
+msgid "IDS_MUSIC_TAB4_ARTISTS"
+msgstr "Előadók"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD"
+msgstr "Nem adható hozzá."
+
+msgid "IDS_MUSIC_POP_UNABLE_CREATE_PLAYLIST"
+msgstr "Nem hozható létre lejátszási lista."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_GET_TAG"
+msgstr "Nem sikerült lekérni a címkét."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_MORE_THAN_PD_MUSIC_FILE"
+msgstr "Legfeljebb %d zenei fájl adható hozzá."
+
+msgid "IDS_MUSIC_BODY_ALBUM"
+msgstr "Album"
+
+msgid "IDS_MUSIC_BODY_AUTHOR"
+msgstr "Szerző"
+
+msgid "IDS_MUSIC_BODY_COPYRIGHT"
+msgstr "Szerzői jog"
+
+msgid "IDS_MUSIC_BODY_CREATE_PLAYLIST"
+msgstr "Új lejátszási lista"
+
+msgid "IDS_MUSIC_BODY_DESCRIPTION"
+msgstr "Leírás"
+
+msgid "IDS_MUSIC_BODY_FORMAT"
+msgstr "Formátum"
+
+msgid "IDS_MUSIC_BODY_IMPOSSIBLE"
+msgstr "Nem lehetséges"
+
+msgid "IDS_MUSIC_BODY_NO_PLAYLISTS"
+msgstr "Nincs lejátszási lista"
+
+msgid "IDS_MUSIC_BODY_TRACK_NUMBER"
+msgstr "Szám száma"
+
+msgid "IDS_MUSIC_POP_DELETE_Q"
+msgstr "Törli?"
+
+msgid "IDS_MUSIC_POP_REMOVE_Q"
+msgstr "Törli?"
+
+msgid "IDS_MUSIC_POP_UNABLE_RENAME_PLAYLIST"
+msgstr "A lejátszási listát nem lehet átnevezni."
+
+msgid "IDS_MUSIC_TAB4_ALBUMS"
+msgstr "Albumok"
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Hozzáadás..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Töröl %d albumot?"
+
+msgid "IDS_MUSIC_TAB4_PLAYLISTS"
+msgstr "Lejátsz. listák"
+
+msgid "IDS_MUSIC_OPT_ADD"
+msgstr "Hozzáadás"
+
+msgid "IDS_MUSIC_BODY_BIOGRAPHY"
+msgstr "Életrajz"
+
+msgid "IDS_MUSIC_BODY_CREDITS"
+msgstr "Közreműködők"
+
+msgid "IDS_MUSIC_BODY_DETAILS_MEADIA_INFO"
+msgstr "Média adatai"
+
+msgid "IDS_MUSIC_BODY_DISCOGRAPHY"
+msgstr "Diszkográfia"
+
+msgid "IDS_MUSIC_BODY_LYRIC"
+msgstr "Dalszöveg"
+
+msgid "IDS_MUSIC_BODY_POSSIBLE"
+msgstr "Lehetséges"
+
+msgid "IDS_MUSIC_BODY_REVIEW"
+msgstr "Előnézet"
+
+msgid "IDS_MUSIC_HEADER_TRACK_LIST"
+msgstr "Számlista"
+
+msgid "IDS_MUSIC_BODY_ADD_TO_PLAYLIST"
+msgstr "Lejátszási listára"
+
+msgid "IDS_MUSIC_BODY_ARTIST"
+msgstr "Előadó"
+
+msgid "IDS_MUSIC_BODY_FORWARDING"
+msgstr "Továbbítás"
+
+msgid "IDS_MUSIC_BODY_RECORDED_DATE"
+msgstr "Date of recording"
+
+msgid "IDS_MUSIC_BODY_PLAYLISTS"
+msgstr "Lejátszási listák"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_PLAYED"
+msgstr "Legutóbb lejátszott"
+
+msgid "IDS_MUSIC_BODY_TRACK_LENGTH"
+msgstr "Szám hossza"
+
+msgid "IDS_MUSIC_HEADER_NO_SONGS"
+msgstr "Nincs szám"
+
+msgid "IDS_MUSIC_POP_THIS_TRACK_WILL_BE_DELETED"
+msgstr "Törölni fogja a számot."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_TRACKS_WILL_BE_DELETED"
+msgstr "Törölni fogja a kijelölt számokat."
+
+msgid "IDS_MUSIC_POP_THIS_ARTIST_WILL_BE_DELETED"
+msgstr "Törli az előadót."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ARTISTS_WILL_BE_DELETED"
+msgstr "Törölni fogja a kijelölt előadókat."
+
+msgid "IDS_MUSIC_POP_ALL_ARTISTS_WILL_BE_DELETED"
+msgstr "Törli az összes előadót."
+
+msgid "IDS_MUSIC_POP_THIS_FOLDER_WILL_BE_DELETED"
+msgstr "Törölni fogja a mappát."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_FOLDERS_WILL_BE_DELETED"
+msgstr "Törölni fogja a kijelölt mappákat."
+
+msgid "IDS_MUSIC_POP_ALL_FOLDERS_WILL_BE_DELETED"
+msgstr "Minden mappát törölni fog."
+
+msgid "IDS_MUSIC_POP_THIS_ALBUM_WILL_BE_DELETED"
+msgstr "Törli az összes albumot."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ALBUMS_WILL_BE_DELETED"
+msgstr "Törölni fogja a kijelölt albumokat."
+
+msgid "IDS_MUSIC_POP_ALL_ALBUMS_WILL_BE_DELETED"
+msgstr "Törli az összes albumot."
+
+msgid "IDS_MUSIC_POP_THIS_PLAYLIST_WILL_BE_DELETED"
+msgstr "Törli a lejátszási listát?"
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Törölni fogja a kijelölt lejátszási listákat."
+
+msgid "IDS_MUSIC_POP_ALL_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Törli az összes lejátszó listát."
+
+msgid "IDS_MUSIC_HEADER_SONGS"
+msgstr "Számok"
+
+msgid "IDS_MUSIC_OPT_REORDER"
+msgstr "Átrendezés"
+
+msgid "IDS_MUSIC_OPT_SAVE_AS_PLAYLIST"
+msgstr "Mentés lejátszási listaként"
+
+msgid "IDS_MUSIC_OPT_SETAS_ALARM_TONE"
+msgstr "Jelzőhang"
+
+msgid "IDS_MUSIC_POP_NOTHING_SELECTED"
+msgstr "Semmi nincs kiválasztva."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Nem játszható le. Hiba történt."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_UNSUPPORTED_FILETYPE"
+msgstr "Nem játszható le. Nem támogatott fájltípus."
+
+msgid "IDS_MUSIC_SK_SHARE"
+msgstr "Megosztás"
+
+msgid "IDS_MUSIC_TAB4_CONDUCTORS"
+msgstr "Kar- mesterek"
+
+msgid "IDS_MUSIC_HEADER_SELECT_DEVICE"
+msgstr "Válasszon eszközt"
+
+msgid "IDS_MUSIC_SK_VIEW_AS"
+msgstr "Nézet"
+
+msgid "IDS_MUSIC_BODY_SOUNDEFFECTS_NORMAL"
+msgstr "Normál"
+
+msgid "IDS_MUSIC_BODY_USER"
+msgstr "Felhasználó"
+
+msgid "IDS_MUSIC_BODY_VOCAL_M_SOUNDEFFECT"
+msgstr "Vokális"
+
+msgid "IDS_MUSIC_MBODY_BASS_BOOST"
+msgstr "Mély hangok kiemelése"
+
+msgid "IDS_MUSIC_MBODY_TREBLE_BOOST"
+msgstr "Magas hangok kiemelése"
+
+msgid "IDS_MUSIC_BODY_CAFE_M_SOUNDEFFECT"
+msgstr "Café"
+
+msgid "IDS_MUSIC_OPT_VIRTUAL_71_CH"
+msgstr "Virtuális 7.1 csatorna"
+
+msgid "IDS_MUSIC_OPT_AFTER_15_MIN_ABB"
+msgstr "15 perc múlva"
+
+msgid "IDS_MUSIC_BODY_AFTER_30_MIN"
+msgstr "30 perc múlva"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HOUR"
+msgstr "1 óra múlva"
+
+msgid "IDS_MUSIC_POP_AFTER_1_HOUR_30_MIN"
+msgstr "1 óra 30 perc múlva"
+
+msgid "IDS_MUSIC_BODY_AFTER_2_HOURS"
+msgstr "2 óra múlva"
+
+msgid "IDS_MUSIC_BODY_MUSIC_AUTO_OFF"
+msgstr "Lejátszó automatikus kikapcsolása"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES_ONLY"
+msgstr "A hangeffektus csak fülhallgatós és Bluetooth-fejhallgatós üzemmódban működik."
+
+msgid "IDS_MUSIC_TAB4_MUSIC_SQUARE"
+msgstr "Zene-sarok"
+
+msgid "IDS_MUSIC_POP_NOT_ENOUGH_MUSIC_FILES_TO_PLAY_IN_MUSIC_SQUARE_AT_LEAST_PD_MUSIC_FILES_REQUIRED"
+msgstr "Nincs elég lejátszható zenei fájl a Zenesarokban. Legalább %d zenei fájl szükséges."
+
+msgid "IDS_MUSIC_BODY_PASSION_M_MOOD"
+msgstr "Szenvedély"
+
+msgid "IDS_MUSIC_BODY_CALM_M_ADJECTIVE"
+msgstr "Higgadt"
+
+msgid "IDS_MUSIC_BODY_JOY_M_MOOD"
+msgstr "Vidámság"
+
+msgid "IDS_MUSIC_BODY_LIBRARY_UPDATE"
+msgstr "Könyvtár frissítése"
+
+msgid "IDS_MUSIC_POP_UPDATE_LIBRARY_Q"
+msgstr "Frissíti a könyvtárat?"
+
+msgid "IDS_MUSIC_BODY_CHANGE_AXIS"
+msgstr "Tengely módosítása"
+
+msgid "IDS_MUSIC_ITAB4_GENRES"
+msgstr "Műfajok"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_1_TRACK"
+msgstr "1 album/1 szám"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_PD_TRACKS"
+msgstr "1 album/%d szám"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS_PD_TRACKS"
+msgstr "%d album/ %d szám"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_CONTROL_MUSIC_PLAYER_WITH_THE_VOICE_COMMANDS_P1SS_P2SS_P3SS_P4SS_P5SS_AND_P6SS"
+msgstr "A Zenelejátszót a(z) %1$s, %2$s, %3$s, %4$s, %5$s, %6$s hangutasításokkal vezérelheti."
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_PD_TRACKS"
+msgstr "%d szám keverése"
+
+msgid "IDS_MUSIC_BODY_MORE_INFO"
+msgstr "További információ"
+
+msgid "IDS_MUSIC_HEADER_MY_MUSIC_M_APPLICATION_NAME"
+msgstr "Saját zene"
+
+msgid "IDS_MUSIC_OPT_LIST_VIEW"
+msgstr "Listanézet"
+
+msgid "IDS_MUSIC_OPT_PLAY_VIA_GROUP_PLAY"
+msgstr "Lejátszás a Group play alkalmazással"
+
+msgid "IDS_MUSIC_POP_TRACK_ADDED_TO_FAVOURITES"
+msgstr "Szám felvéve a kedvencek közé."
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_FAVOURITES"
+msgstr "Törlés a kedvencek közül"
+
+msgid "IDS_MUSIC_BODY_NEW_M_LATEST"
+msgstr "Új"
+
+msgid "IDS_MUSIC_OPT_TRACKS"
+msgstr "Számok"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL"
+msgstr "Indexkép"
+
+msgid "IDS_MUSIC_SK_LIST"
+msgstr "Lista"
+
+msgid "IDS_MUSIC_SK_OPEN_PLAYLIST"
+msgstr "Lejátszási lista megnyitása"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALL"
+msgstr "Összes lejátszása"
+
+msgid "IDS_MUSIC_POP_SELECTED_LIST_EMPTY"
+msgstr "A kiválasztott lista üres."
+
+msgid "IDS_MUSIC_BODY_MOODS"
+msgstr "Hangulatok"
+
+msgid "IDS_MUSIC_BUTTON_YEARS"
+msgstr "Évek"
+
+msgid "IDS_MUSIC_BODY_OLD"
+msgstr "Régi"
+
+msgid "IDS_MUSIC_BODY_MUSIC_SQUARE_ANALYSES_THE_CHARACTERISTICS_OF_MUSIC_FILES_STORED_ON_YOUR_DEVICE_AND_AUTOMATICALLY_CREATES_PLAYLISTS_MSG"
+msgstr "A Zenesarok alkalmazás az eszközön tárolt zenei fájlok jellegének elemzésével automatikusan állít össze lejátszási listákat."
+
+msgid "IDS_MUSIC_BODY_PLAY_TRACKS_WITH_SIMILAR_CHARACTERISTICS_BY_SELECTING_A_SQUARE_ON_THE_SCREEN"
+msgstr "A kívánt négyzet kiválasztásával lejátszhatja a hasonló jellegű zenékből összeállított listát."
+
+msgid "IDS_MUSIC_BODY_VIEW_PLAYLIST_DETAILS_BY_TAPPING_AND_HOLDING_THE_SQUARE_CURRENTLY_BEING_PLAYED"
+msgstr "A lejátszási lista adatainak megtekintéséhez tartsa ujját az éppen játszott négyzeten."
+
+msgid "IDS_MUSIC_BODY_NEARBY_DEVICES"
+msgstr "Közeli eszközök"
+
+msgid "IDS_MUSIC_POP_YOU_WILL_NEED_TO_UPDATE_THE_LIBRARY_IF_NEW_SONGS_HAVE_BEEN_ADDED"
+msgstr "Új számok hozzáadása esetén frissíteni kell a zenetárt."
+
+msgid "IDS_MUSIC_BODY_NO_ALBUMS"
+msgstr "Nincs album"
+
+msgid "IDS_MUSIC_BODY_NO_ARTISTS"
+msgstr "Nincs előadó"
+
+msgid "IDS_MUSIC_OPT_PLAY_SPEED_ABB"
+msgstr "Lejátszás sebessége"
+
+msgid "IDS_MUSIC_BODY_CONCERT_HALL_M_SOUNDEFFECT"
+msgstr "Koncertterem"
+
+msgid "IDS_MUSIC_OPT_ADD_TO"
+msgstr "Hozzáad"
+
+msgid "IDS_MUSIC_SK_VIEW"
+msgstr "Megnéz"
+
+msgid "IDS_MUSIC_OPT_LISTBY_RECENTLY_ADDED"
+msgstr "Legutóbb hozzáadott"
+
+msgid "IDS_MUSIC_BODY_NOT_USED"
+msgstr "Nincs használatban"
+
+msgid "IDS_MUSIC_BODY_MAKE_AVAILABLE_OFFLINE"
+msgstr "Offline elérés biztosítása"
+
+msgid "IDS_MUSIC_OPT_AFTER_P1SD_HRS_P2SD_MINS"
+msgstr "%1$d óra %2$d perc múlva"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS"
+msgstr "%d óra múlva"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_MINS"
+msgstr "%d perc múlva"
+
+msgid "IDS_MUSIC_BODY_NO_FOLDERS"
+msgstr "Nincs mappa"
+
+msgid "IDS_MUSIC_BODY_NO_TRACKS"
+msgstr "Nincs szám"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS"
+msgstr "%d album"
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS"
+msgstr "%d előadó"
+
+msgid "IDS_MUSIC_BODY_PD_GENRES"
+msgstr "%d műfaj"
+
+msgid "IDS_MUSIC_BODY_PD_PLAYLISTS"
+msgstr "%d lejátszási lista"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_ABB"
+msgstr "%d szám"
+
+msgid "IDS_MUSIC_BODY_PLAYLIST"
+msgstr "Lejátszási lista"
+
+msgid "IDS_MUSIC_HEADER_SIMILAR_ALBUMS"
+msgstr "Hasonló albumok"
+
+msgid "IDS_MUSIC_HEADER_TRACK"
+msgstr "Szám"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL_VIEW"
+msgstr "Miniatűrnézet"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "Ez a hangeffektus csak fülhallgatós üzemmódban működik."
+
+msgid "IDS_MUSIC_OPT_ALL_CONTENT_ABB2"
+msgstr "Minden tartalom"
+
+msgid "IDS_MUSIC_BODY_A_NETWORK_CONNECTION_IS_REQUIRED_TO_PLAY_THIS_FILE_CHECK_YOUR_NETWORK_CONNECTION_AND_TRY_AGAIN"
+msgstr "A fájl lejátszásához hálózati kapcsolat szükséges. Ellenőrizze a hálózati kapcsolatot, és próbálja újra."
+
+msgid "IDS_MUSIC_POP_FILE_TYPE_NOT_SUPPORTED"
+msgstr "A fájltípus nem támogatott."
+
+msgid "IDS_MUSIC_POP_UPDATING_ING"
+msgstr "Frissítés..."
+
+msgid "IDS_MUSIC_OPT_SEARCH_ABB"
+msgstr "Keresés"
+
+msgid "IDS_MUSIC_OPT_SEARCH_BY"
+msgstr "Keresés alapja"
+
+msgid "IDS_MUSIC_BODY_RELATED_VIDEOS"
+msgstr "Kapcsolódó videók"
+
+msgid "IDS_MUSIC_BODY_SMART_VOLUME_ABB"
+msgstr "Intelligens hangerő"
+
+msgid "IDS_MUSIC_BODY_THE_VOLUME_OF_ALL_TRACKS_WILL_BE_ADJUSTED_TO_LEVEL_PD"
+msgstr "Az összes szám hangereje %d. szintre lesz állítva."
+
+msgid "IDS_MUSIC_HEADER_SMART_VOLUME_IS_ENABLED"
+msgstr "Intelligens hangerő engedélyezve"
+
+msgid "IDS_MUSIC_OPT_CONNECTION_INFO_ABB"
+msgstr "Kapcsolatadatok"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_PD_MINS"
+msgstr "1 óra %d perc múlva"
+
+msgid "IDS_MUSIC_BODY_ADAPT_SOUND_ABB"
+msgstr "Adapt Sound"
+
+msgid "IDS_MUSIC_BODY_MY_DEVICE"
+msgstr "Saját eszköz"
+
+msgid "IDS_MUSIC_POP_LISTENING_AT_A_HIGH_VOLUME_FOR_A_LONG_TIME_MAY_DAMAGE_YOUR_HEARING_RAISE_THE_VOLUME_ABOVE_SAFE_LEVELS_Q"
+msgstr "Ha hosszabb ideig hallgat valamit nagy hangerőn, akkor károsodhat a hallása. Szeretne a biztonságosnál magasabb szintű hangerőt beállítani?"
+
+msgid "IDS_MUSIC_POP_ALREADY_EXISTS"
+msgstr "Már létezik."
+
+msgid "IDS_MUSIC_OPT_SCAN_FOR_NEARBY_DEVICES"
+msgstr "Közeli eszközök keresése"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR"
+msgstr "1 óra múlva"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_1_MIN"
+msgstr "1 óra 1 perc múlva"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS_1_MIN"
+msgstr "%d óra 1 perc múlva"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_MIN"
+msgstr "1 perc múlva"
+
+msgid "IDS_MUSIC_OPT_GO_TO_STORE"
+msgstr "Bolt megnyitása"
+
+msgid "IDS_MUSIC_SK3_ADD_TRACKS"
+msgstr "Számok\nh.adása"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FROM_MUSIC_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Itt jelennek majd meg a Zene szolgáltatásból letöltött számok."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_YOUR_FAVOURITES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Itt jelennek majd meg a kedvencek közé felvett számok."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_PLAY_TRACKS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Itt jelennek majd azok a számok, amelyeket lejátszott."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_PS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Itt jelennek majd meg a(z) %s lejátszási listára felvett számok."
+
+msgid "IDS_MUSIC_BODY_NO_PURCHASED_CONTENT"
+msgstr "Nincs megvásárolt tartalom"
+
+msgid "IDS_MUSIC_SK_SAVE_AS"
+msgstr "Mentés másként"
+
+msgid "IDS_MUSIC_POP_MUSICPLAYER_UPDATING_FAILED"
+msgstr "A frissítés sikertelen."
+
+msgid "IDS_MUSIC_BODY_EXCITING_M_ADJECTIVE"
+msgstr "Izgalmas"
+
+msgid "IDS_MUSIC_BODY_SEARCH_MY_MUSIC"
+msgstr "Keresés a saját zenében"
+
+msgid "IDS_MUSIC_HEADER_CONNECTED_DEVICES"
+msgstr "Csatlakoztatott eszközök"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST_PS"
+msgstr "%s. saját lista"
+
+msgid "IDS_MUSIC_BODY_NO_DEVICES"
+msgstr "Nincs eszköz"
+
+msgid "IDS_MUSIC_HEADER_AVAILABLE_DEVICES_ABB"
+msgstr "Elérhető eszközök"
+
+msgid "IDS_MUSIC_POP_SET"
+msgstr "Beállít"
+
+msgid "IDS_MUSIC_POP_REMOVE_FAILED"
+msgstr "Az eltávolítás sikertelen."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_USE_FAST_FORWARD_AND_REWIND_WHEN_NEARBY_DEVICES_ARE_ENABLED"
+msgstr "Ha engedélyezve van a Közeli eszközök funkció, nem használható a gyors előretekerés és a visszatekerés."
+
+msgid "IDS_MUSIC_OPT_SET_AS"
+msgstr "Beállít, mint"
+
+msgid "IDS_MUSIC_OPT_HEADPHONES_ABB"
+msgstr "Fejhallgató"
+
+msgid "IDS_MUSIC_OPT_SPEAKER"
+msgstr "Hangszóró"
+
+msgid "IDS_MUSIC_BODY_1_SONG"
+msgstr "1 szám"
+
+msgid "IDS_MUSIC_BODY_PD_SONGS"
+msgstr "%d szám"
+
+msgid "IDS_MUSIC_BODY_1_TRACK"
+msgstr "1 szám"
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_1_TRACK"
+msgstr "1 szám keverése"
+
+msgid "IDS_MUSIC_POP_NO_MUSIC_FOUND_FOR_SELECTED_CELL"
+msgstr "A kiválasztott cellához nem található zene"
+
+msgid "IDS_MUSIC_BODY_DO_NOT_SHOW_AGAIN"
+msgstr "Ne jelenjen meg ismét"
+
+msgid "IDS_MUSIC_BODY_VARIOUS_ARTISTS"
+msgstr "Több előadó"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_HOME_SCREEN_ABB"
+msgstr "Kezdőképernyőhöz adás"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_FAVOURITES"
+msgstr "Hozzáad a kedvencekhez"
+
+msgid "IDS_MUSIC_OPT_EDIT_TITLE"
+msgstr "Név szerkesztése"
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_PERSONAL_STORAGE"
+msgstr "Eltávolítás a személyes tárhelyről"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FOLDERS_WILL_BE_SHOWN"
+msgstr "Itt jelennek majd meg a mappák, miután letölt számokat"
+
+msgid "IDS_MUSIC_BODY_SETTINGS_VOLUME"
+msgstr "Hangerő"
+
+msgid "IDS_MUSIC_BODY_REPEAT_OFF"
+msgstr "Ismétlés kikapcsolva"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_REPEAT_ALL"
+msgstr "Összes ismétlése"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_OFF"
+msgstr "Véletlen sorrend ki"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_ON"
+msgstr "Véletlen sorrend be"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST"
+msgstr "Saját lista"
+
+msgid "IDS_MUSIC_MBODY_DEFAULT_PLAYLISTS"
+msgstr "Alapért. lejátszási lista"
+
+msgid "IDS_MUSIC_BODY_DETAILS_RECORDING_DATE"
+msgstr "Felvétel időpontja"
+
+msgid "IDS_MUSIC_OPT_ALBUM_ART_ABB"
+msgstr "Borító"
+
+msgid "IDS_MUSIC_BODY_1_GENRE"
+msgstr "1 műfaj"
+
+msgid "IDS_MUSIC_BODY_PD_FOLDERS"
+msgstr "%d mappa"
+
+msgid "IDS_MUSIC_BODY_1_FOLDER"
+msgstr "1 mappa"
+
+msgid "IDS_MUSIC_BODY_1_ARTIST"
+msgstr "1 előadó"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_M_MUSIC"
+msgstr "1 album"
+
+msgid "IDS_MUSIC_BODY_1_PLAYLIST"
+msgstr "1 lejátszási lista"
+
+msgid "IDS_MUSIC_BODY_MUSIC_PLAYER"
+msgstr "Zenelejátszó"
+
+msgid "IDS_MUSIC_BUTTON_MOVE"
+msgstr "Áthelyezés"
+
+msgid "IDS_MUSIC_BUTTON_AUTO_RECOMMENDATIONS"
+msgstr "Automatikus javaslás"
+
+msgid "IDS_MUSIC_BUTTON_FROM_THE_BEGINNING"
+msgstr "Az elejéről"
+
+msgid "IDS_MUSIC_HEADER_SUGGESTIONS_FOR_YOU"
+msgstr "Javaslatok az Ön számára"
+
+msgid "IDS_MUSIC_OPT_SAVE"
+msgstr "Ment"
+
+msgid "IDS_MUSIC_TAB4_BASIC_M_EQUALIZING"
+msgstr "Alapvető"
+
+msgid "IDS_MUSIC_BODY_INSTRUMENT"
+msgstr "Instrument"
+
+msgid "IDS_MUSIC_BODY_TREBLE_M_EQUALISER"
+msgstr "Magas hangok"
+
+msgid "IDS_MUSIC_BODY_BASS_M_EQUALISER"
+msgstr "Mély hangok"
+
+msgid "IDS_MUSIC_BODY_NO_EFFECTS_ARE_APPLIED_IN_THIS_MODE_ABB"
+msgstr "Ebben a módban nincs alkalmazott effekt."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_TIMBRE_OF_A_TUBE_AMP_ABB"
+msgstr "Csöves erősítő hangzásának szimulálása"
+
+msgid "IDS_MUSIC_OPT_TUBE_AMP_EFFECT"
+msgstr "Csöves erősítő effektus"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_EFFECT_OF_VIRTUAL_71_CHANNEL_SURROUND_SOUND_ABB"
+msgstr "Virtuális 7.1 csatornás térhatás szimulálása"
+
+msgid "IDS_MUSIC_HEADER_SMALL_ROOM_M_REVERB_ABB"
+msgstr "Kis helyiség"
+
+msgid "IDS_MUSIC_HEADER_LARGE_ROOM_M_REVERB_ABB"
+msgstr "Nagy helyiség"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_LARGE_ROOM_EG_A_THEATRE_ABB"
+msgstr "Nagy helyiség, például színház zengésének szimulálása."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_CONCERT_HALL_ABB"
+msgstr "Koncertterem zengésének szimulálása"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_SMALL_SPACE_EG_A_STUDIO_ABB"
+msgstr "Kis tér, például stúdió zengésének szimulálása"
+
+msgid "IDS_MUSIC_BUTTON_3D_CHN"
+msgstr "3D"
+
+msgid "IDS_MUSIC_BODY_CLARITY_M_SOUNDEFFECT"
+msgstr "Tisztaság"
+
+msgid "IDS_MUSIC_BUTTON_RESET"
+msgstr "Nullázás"
+
+msgid "IDS_MUSIC_TAB_YEARS"
+msgstr "Évek"
+
+msgid "IDS_MUSIC_TAB_GENRES"
+msgstr "Műfajok"
+
+msgid "IDS_MUSIC_TAB_COMPOSERS"
+msgstr "Szerzők"
+
+msgid "IDS_MUSIC_TAB_ALL_TRACKS"
+msgstr "Összes szám"
+
+msgid "IDS_MUSIC_SK3_GO_TO_QUICK_LIST"
+msgstr "Gy.lista megny."
+
+msgid "IDS_MUSIC_SK3_FIND"
+msgstr "Keresés"
+
+msgid "IDS_MUSIC_SK3_ADD_TO_QUICK_LIST"
+msgstr "Gyorslistára"
+
+msgid "IDS_MUSIC_POP_UNAUTHORISED_VIDEO_FILE_FOR_TV_OUT"
+msgstr "Nincs engedélye a videofájl TV-kimenetre küldésére."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_CREATE_MAXIMUM_NUMBER_OF_PLAYLISTS_REACHED"
+msgstr "Nem hozható létre. Elérte a lejátszási listák maximális számát."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTING_BLUETOOTH_HEADSET"
+msgstr "Amíg Bluetooth fejhallgató van csatlakoztatva, a hangerő nem módosítható."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTED_TO_BLUETOOTH_HEADSET"
+msgstr "Amíg Bluetooth fejhallgató van csatlakoztatva, a hangerő nem módosítható."
+
+msgid "IDS_MUSIC_POP_STOP_MUSIC_PLAYER_Q"
+msgstr "Leállítja a Zenelejátszót?"
+
+msgid "IDS_MUSIC_POP_PLEASE_EXIT_SILENT_MODE"
+msgstr "Lépjen ki a csendes üzemmódból."
+
+msgid "IDS_MUSIC_POP_NETWORK_FAILURE"
+msgstr "Hálózati hiba"
+
+msgid "IDS_MUSIC_POP_MEMORY_CARD_LOADED"
+msgstr "Memóriakártya betöltve."
+
+msgid "IDS_MUSIC_POP_DEVICE_SETTINGS_ERROR"
+msgstr "Eszközbeállítási hiba"
+
+msgid "IDS_MUSIC_POP_COULD_NOT_FIND_A_MATCH_FOR_THE_SONG"
+msgstr "Nem található egyező szám."
+
+msgid "IDS_MUSIC_POP_BUFFERING_MSTATUS"
+msgstr "Pufferelés"
+
+msgid "IDS_MUSIC_POP_BT_HEADSET_ONLY_SUPPORTS_NORMAL_EFFECTS_SETTING"
+msgstr "A BT headset csak a Normál beállítást támogatja."
+
+msgid "IDS_MUSIC_POP_APPLICATION_WILL_BE_CLOSED"
+msgstr "Az alkalmazás bezáródik."
+
+msgid "IDS_MUSIC_POP_ADDED_GO_TO_WISH_LIST_Q"
+msgstr "Felvéve. Megnyitja a kívánságlistát?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_THE_SERVICE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "A szolgáltatás elérése díjköteles lehet. Folytatja?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_STORE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "A bolt elérése díjköteles lehet. Folytatja?"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_ONLY_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES"
+msgstr "Az 5.1 csatorna hangeffektus csak fülhallgatós és Bluetooth-fejhallgatós üzemmódban működik."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "Az 5.1 csatorna hangeffektus csak fülhallgatós üzemmódban működik."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECTS_NOT_SUPPORTED_BY_SPEAKER"
+msgstr "A hangszóró nem támogatja az 5.1 csatorna hangeffektusait."
+
+msgid "IDS_MUSIC_OPT_VIEW_BY_COVER_ART"
+msgstr "Nézet albumborító szerint"
+
+msgid "IDS_MUSIC_OPT_SEND_TRACK"
+msgstr "Szám küldése"
+
+msgid "IDS_MUSIC_OPT_RATE_TRACK"
+msgstr "Zeneszám minősitése"
+
+msgid "IDS_MUSIC_OPT_PLAYLIST_MOVE_TRACK_IN_PLAYLIST"
+msgstr "Áthelyezés a lejátszási listában"
+
+msgid "IDS_MUSIC_OPT_OPENPLAYLIST_CURRENT"
+msgstr "Jelenlegi"
+
+msgid "IDS_MUSIC_OPT_DELETE_PLAYLIST"
+msgstr "Lejátszási lista törlése"
+
+msgid "IDS_MUSIC_OPT_BACKGROUND_PLAYING"
+msgstr "Lejátszás a háttérben"
+
+msgid "IDS_MUSIC_HEADER_EFFECTS"
+msgstr "Effektek"
+
+msgid "IDS_MUSIC_BUTTON_BUY_NOW"
+msgstr "Vásárlás"
+
+msgid "IDS_MUSIC_BODY_WOW_HD"
+msgstr "Wow HD"
+
+msgid "IDS_MUSIC_BODY_WISHLIST"
+msgstr "Kívánságlista"
+
+msgid "IDS_MUSIC_BODY_WIDE"
+msgstr "Széles"
+
+msgid "IDS_MUSIC_BODY_WHA_WHA"
+msgstr "Wha-wha"
+
+msgid "IDS_MUSIC_BODY_VIBE_WOOFER"
+msgstr "Vibrációs hangszóró"
+
+msgid "IDS_MUSIC_BODY_TREMOLO"
+msgstr "Tremoló"
+
+msgid "IDS_MUSIC_BODY_TAP_TWICE_TO_PLAY_PAUSE_MUSIC"
+msgstr "Érintse meg kétszer zene lejátszásához/szüneteltetéséhez."
+
+msgid "IDS_MUSIC_BODY_SHARE_TRACK_VIA_BLUETOOTH"
+msgstr "Szám megosztása Bluetooth-on"
+
+msgid "IDS_MUSIC_BODY_SETUPWIZARD_WELCOME_TO_THE_MUSIC_SETUP_WIZARD_CONTINUE_Q"
+msgstr "Üdvözöljük a Zene beállító varázslóban.\nA következő képernyők segítenek a telefon beállításában. Folytatja?"
+
+msgid "IDS_MUSIC_BODY_QUICK_LIST"
+msgstr "Gyorslista"
+
+msgid "IDS_MUSIC_BODY_PLAYINGSETTINGS_SOUND_EFFECTS"
+msgstr "Hangeffektusok"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_ALL"
+msgstr "Mind"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_1"
+msgstr "1"
+
+msgid "IDS_MUSIC_BODY_PLAYERSETTINGS_VOLUME"
+msgstr "Hangerő"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_SELECTED"
+msgstr "%d szám kijelölve."
+
+msgid "IDS_MUSIC_BODY_NO_PODCASTS"
+msgstr "Nincs podcast"
+
+msgid "IDS_MUSIC_BODY_FIND_SIMILAR"
+msgstr "Hasonló keresése"
+
+msgid "IDS_MUSIC_BODY_BACKGROUND_PLAY"
+msgstr "Lejátszás a háttérben"
+
+msgid "IDS_MUSIC_BODY_51_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "Az 5.1 csatorna csak akkor aktiválható, ha a hangeffektusok ki vannak kapcsolva."
+
+msgid "IDS_MUSIC_TAB4_PODCASTS"
+msgstr "Pod- castok"
+
+msgid "IDS_MUSIC_SK2_EDIT_IMAGE"
+msgstr "Kép szerkesztése"
+
+msgid "IDS_MUSIC_POP_PLAYING_ANY_SOUNDS_WILL_STOP_AND_SAVE_YOUR_VOICE_RECORDING_PLAY_Q"
+msgstr "Hanglejátszás indítása esetén az eszköz leállítja a hangrögzítést, és menti a felvételt. Elindítja a lejátszást?"
+
+msgid "IDS_MUSIC_POP_MAXIMUM_NUMBER_OF_ITEMS_HPD_SELECTED"
+msgstr "Maximális számú (%d) tétel van kiválasztva."
+
+msgid "IDS_MUSIC_POP_BLUETOOTH_DISCONNECTED"
+msgstr "Bluetooth szétkapcsolva."
+
+msgid "IDS_MUSIC_POP_5_1_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "Az 5.1 csatorna térhatás csak akkor aktiválható, ha a hangeffektusok ki vannak kapcsolva."
+
+msgid "IDS_MUSIC_OPT_TAKE_PICTURE"
+msgstr "Kép készítése"
+
+msgid "IDS_MUSIC_OPT_SHOW_MUSIC_VIEW_ABB"
+msgstr "Zenenézet megjelenítése"
+
+msgid "IDS_MUSIC_OPT_PAUSE"
+msgstr "Szünet"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALBUM"
+msgstr "Album lejátszása"
+
+msgid "IDS_MUSIC_OPT_LIST_BY"
+msgstr "Rendezés"
+
+msgid "IDS_MUSIC_OPT_HISTORY"
+msgstr "Előzmények"
+
+msgid "IDS_MUSIC_OPT_HIDE_MUSIC_VIEW_ABB"
+msgstr "Zenenézet elrejtése"
+
+msgid "IDS_MUSIC_OPT_FIND_TAG"
+msgstr "Címke keresése"
+
+msgid "IDS_MUSIC_OPT_DROPBOX_CONTENT_ABB"
+msgstr "Dropbox tartalom"
+
+msgid "IDS_MUSIC_OPT_CONTENT_ON_PHONE_ABB"
+msgstr "Tart. a telefonon"
+
+msgid "IDS_MUSIC_OPT_CHANGE_IMAGE"
+msgstr "Képcsere"
+
+msgid "IDS_MUSIC_HEADER_DELETE_DROPBOX_DATA_ABB"
+msgstr "Dropbox-adatok törlése"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_STREAM_YOUR_MUSIC_TO_DEVICES_USING_ALLSHARE"
+msgstr "Az AllShare segítségével adatfolyamként küldhet zenét az eszközökre."
+
+msgid "IDS_MUSIC_BODY_VALIDITY"
+msgstr "Érvényesség"
+
+msgid "IDS_MUSIC_BODY_TYPE_CNOUN"
+msgstr "Típus"
+
+msgid "IDS_MUSIC_BODY_THIS_WILL_DELETE_THE_FILE_FROM_THE_SERVER_AND_ANY_CONNECTED_DEVICES_AS_WELL"
+msgstr "Törölni fogja a fájlt a szerverről és a csatlakoztatott eszközökről is."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_ARTISTS"
+msgstr "Előadók"
+
+msgid "IDS_MUSIC_BODY_PLAYINGDETAILS_ALBUM_ART"
+msgstr "Lemezborító"
+
+msgid "IDS_MUSIC_BODY_OTHER_CONTENTS"
+msgstr "Egyéb tartalom"
+
+msgid "IDS_MUSIC_BODY_NAME_TOO_LONG"
+msgstr "A név túl hosszú."
+
+msgid "IDS_MUSIC_BODY_MUSIC_CLARITY"
+msgstr "Tiszta zene"
+
+msgid "IDS_MUSIC_BODY_HIGH_VOLUMES_MAY_HARM_YOUR_HEARING_IF_YOU_LISTEN_FOR_A_LONG_TIME"
+msgstr "Ha sokáig hallgat nagy hangerőn zenét vagy egyebet, akkor károsodhat a hallása."
+
+msgid "IDS_MUSIC_BODY_AVAILABLE_USES"
+msgstr "Lehetséges felhasználás"
+
+msgid "IDS_MUSIC_TPOP_SOUND_EFFECTS_ONLY_AVAILABLE_WHILE_HEADPHONES_CONNECTED"
+msgstr "Hangeffektek csak csatlakoztatott fejhallgatóval állnak rendelkezésre."
+
+msgid "IDS_ST_OPT_ADD_TO_YOUR_PERSONAL_STORAGE"
+msgstr "Személyes tárhelyhez adás"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_YOUR_PERSONAL_STORAGE"
+msgstr "Eltávolítás a személyes tárhelyről"
+
+msgid "IDS_ST_BODY_CONTEXTUAL_POP_UP_T_TALKBACK"
+msgstr "Környezetérzékeny előugró ablak"
+
+msgid "IDS_ST_BODY_A_CONTEXTUAL_POP_UP_IS_OPEN_DOUBLE_TAP_TO_CLOSE_IT_T_TALKBACK"
+msgstr "Nyitva van egy környezetérzékeny előugró ablak. Zárja be kétszeri érintéssel."
+
+msgid "IDS_ST_BODY_REPEAT_ONE"
+msgstr "Egy ismétlése"
+
+msgid "IDS_ST_BUTTON_MOVING_ING"
+msgstr "Áthelyezés..."
+
+msgid "IDS_HS_BODY_SELECT_UP_TO_PD_ITEMS"
+msgstr "Legfeljebb %d tételt válasszon ki"
+
+msgid "IDS_CAM_BODY_TAB_T_TTS"
+msgstr "Lap"
+
+msgid "IDS_DLNA_OPT2_CHANGE_PLAYER"
+msgstr "Lejátszóváltás"
+
+msgid "IDS_BR_SK_TABS"
+msgstr "Lapok"
+
+msgid "IDS_MF_BODY_DROPBOX_ABB"
+msgstr "Dropbox"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Az automatikus javaslás kiválaszthatja a hangfájlok legfontosabb részeit."
+
+msgid "IDS_MF_BODY_PARENT_RATING"
+msgstr "Szülői értékelés"
+
+msgid "IDS_VR_POP_FILE_NOT_FOUND"
+msgstr "A fájl nem található."
+
+msgid "IDS_PB_POP_CALLER_RINGTONE_SAVED"
+msgstr "Hívó csengőhangja mentve."
+
+msgid "IDS_MUSIC_BODY_BIT_DEPTH"
+msgstr "Bitmélység"
+
+msgid "IDS_MUSIC_BODY_SIZE"
+msgstr "Méret"
+
+msgid "IDS_MF_HEADER_PD_SELECTED"
+msgstr "%d kiválasztva"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_THIS_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Itt jelennek majd meg az eszközhöz adott számok."
+
+msgid "IDS_MUSIC_TMBODY_LENGTH"
+msgstr "Hossz"
+
+msgid "IDS_MUSIC_POP_1_FOLDER_WILL_BE_DELETED"
+msgstr "1 mappát törölni fog."
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Nincs tartalomjegyzék"
+
+msgid "IDS_MUSIC_ITAB4_FOLDERS"
+msgstr "Mappák"
+
+msgid "IDS_MUSIC_HEADER_MY_PLAYLISTS_ABB"
+msgstr "Saját lejátszási listák"
+
+msgid "IDS_MP_BODY_SOUND_PLAYER"
+msgstr "Hanglejátszó"
+
+msgid "IDS_MUSIC_OPT_SETTINGS"
+msgstr "Beállítások"
+
+msgid "IDS_MUSIC_POP_DELETING"
+msgstr "Törlés..."
+
+msgid "IDS_MUSIC_POP_1_TRACK_WILL_BE_DELETED"
+msgstr "1 számot törölni fog."
+
+msgid "IDS_MUSIC_POP_ALL_TRACKS_WILL_BE_DELETED"
+msgstr "Minden számot törölni fog."
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_WILL_BE_DELETED"
+msgstr "%d számot törölni fog."
+
+msgid "IDS_MUSIC_POP_1_PLAYLIST_WILL_BE_DELETED"
+msgstr "1 lejátszási listát törölni fog."
+
+msgid "IDS_MUSIC_POP_PD_PLAYLISTS_WILL_BE_DELETED"
+msgstr "%d lejátszási listát törölni fog."
+
+msgid "IDS_MUSIC_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "%d albumot törölni fog."
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS_WILL_BE_DELETED"
+msgstr "%d előadót törölni fog."
+
+msgid "IDS_MUSIC_POP_PD_FOLDERS_WILL_BE_DELETED"
+msgstr "Törölni fogja a(z) %d mappát."
+
+msgid "IDS_ST_POP_CONNECTION_FAILED"
+msgstr "Kapcsolódás sikertelen."
+
+msgid "IDS_MUSIC_BODY_CLASSIC"
+msgstr "Klasszikus"
+
+msgid "IDS_MUSIC_BODY_ROCK"
+msgstr "Rock"
+
+msgid "IDS_MUSIC_BODY_JAZZ"
+msgstr "Dzsessz"
+
+msgid "IDS_MUSIC_BODY_POP"
+msgstr "Pop"
+
+msgid "IDS_MUSIC_BODY_AUTO"
+msgstr "Auto."
+
+msgid "IDS_MUSIC_POP_CURRENT_SOUND_EFFECT_NOT_SUPPORTED_BY_HDMI"
+msgstr "A HDMI nem támogatja a jelenlegi hangeffektust."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_BLUETOOTH"
+msgstr "A Bluetooth nem támogatja a hangeffektusokat."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_LINE_OUT"
+msgstr "A vonalkimenet nem támogatja a hangeffektusokat."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_HDMI"
+msgstr "A HDMI nem támogatja a hangeffektusokat."
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EFFECT"
+msgstr "Csöves erősítő"
+
+msgid "IDS_MUSIC_BODY_CUSTOM"
+msgstr "Egyedi"
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EQUALISER_ABB"
+msgstr "Csöves erősítő"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d szám hozzáadva a lejátszási listához."
+
+msgid "IDS_MUSIC_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 szám hozzáadva a lejátszási listához."
+
+msgid "IDS_MUSIC_HEADER_ADD_TRACKS_TO_PLAYLIST_ABB"
+msgstr "Számok lejátsz. listához adása"
+
+msgid "IDS_MUSIC_POP_PS_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "%s nevű jegyzet már van. Írjon be más nevet."
+
+msgid "IDS_MUSIC_TMBODY_DATE_OF_RECORDING"
+msgstr "Rögzítés dátuma"
+
+msgid "IDS_MBP_TPOP_TRACK_SET_AS_ALARM_TONE"
+msgstr "Beállította a számot jelzőhangként."
+
+msgid "IDS_MUSIC_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Nincs találat"
+
+msgid "IDS_MUSIC_OPT_DEFAULT_RINGTONE_ABB"
+msgstr "Alapértelmezett csengőhang"
+
+msgid "IDS_MUSIC_TPOP_TRACK_SET_AS_CALLER_RINGTONE"
+msgstr "Szám beállítva hívócsengőhangként."
+
+msgid "IDS_MP_TPOP_TRACK_SET_AS_RINGTONE"
+msgstr "Beállította a számot csengőhangként."
+
+msgid "IDS_DLNA_BODY_ADD_TO_NOW_PLAYING_LIST"
+msgstr "Hozzáadás a Most játszott listához"
+
+msgid "IDS_MUSIC_TPOP_EQUALISER_SETTINGS_WILL_BE_APPLIED_WHILE_PLAYING_MUSIC"
+msgstr "A hangszínszabályzó beállításainak hatása zene lejátszásakor érvényesül."
+
+msgid "IDS_ST_BODY_ALERT"
+msgstr "Jelzés"
+
+msgid "IDS_IV_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "Törölni fog 1 albumot."
+
+msgid "IDS_MUSIC_OPT_SD_CARD"
+msgstr "SD-kártya"
+
+msgid "IDS_MUSIC_SBODY_DEVICE_STORAGE"
+msgstr "Eszköz tárhelye"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE"
+msgstr "Már van ilyen nevű lejátszási lista."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_PD"
+msgstr "%d. lista"
+
+msgid "IDS_MUSIC_HEADER_CREATE"
+msgstr "Létrehozás"
+
+msgid "IDS_MUSIC_HEADER_EQUALISER_PRESET_ABB"
+msgstr "Hangszínszabályzó beállításkészlete"
+
+msgid "IDS_MUSIC_OPT_AUTOMATIC_M_EQUALIZER_EFFECT"
+msgstr "Automatikus"
+
+msgid "IDS_MUSIC_OPT_CLASSICAL_M_EQUALIZER_EFFECT"
+msgstr "Komolyzene"
+
+msgid "IDS_MUSIC_HEADER_ENVIRONMENT_EFFECT_ABB"
+msgstr "Környezeti effekt"
+
+msgid "IDS_VIDEO_POP_THE_FILE_TYPE_IS_NOT_SUPPORTED"
+msgstr "Az alkalmazás nem támogatja ezt a fájltípust."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_CREATE_PLAYLISTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Itt jelennek majd meg a létrehozott lejátszási listák."
+
+msgid "IDS_ST_HEADER_SELECT_AUDIO_DEVICE_ABB"
+msgstr "Hangeszköz kiválasztása"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "Ilyen nevű lejátszási lista már van. Írjon be más nevet."
+
+msgid "IDS_MUSIC_HEADER_SOUNDALIVE_ABB3"
+msgstr "SoundAlive"
+
+msgid "IDS_MUSIC_OPT_NOW_PLAYING_LIST"
+msgstr "Most játszott lista"
+
+msgid "IDS_MUSIC_OPT_SHOW_LYRICS"
+msgstr "Dalszöveg megjelenítése"
+
+msgid "IDS_MUSIC_OPT_HIDE_LYRICS"
+msgstr "Dalszöveg elrejtése"
+
+msgid "IDS_MUSIC_TPOP_UNABLE_TO_PLAY_MUSIC_DURING_CALLS"
+msgstr "Hívás közben nem lehet zenét lejátszani."
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Törlés"
+
+msgid "IDS_MUSIC_HEADER_SELECT"
+msgstr "Kiválasztás"
+
+msgid "IDS_TPLATFORM_OPT_NFC"
+msgstr "NFC"
+
+msgid "IDS_MUSIC_HEADER_UNABLE_TO_PLAY_TRACK"
+msgstr "Nem lehet lejátszani a számot"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "KÉSZ"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "MÉGSE"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "TÖRLÉS"
+
+msgid "IDS_MUSIC_POP_RENAME"
+msgstr "Átnevez"
+
+msgid "IDS_MUSIC_OPT_MESSAGE"
+msgstr "Üzenet"
+
+msgid "IDS_MUSIC_SK_OK"
+msgstr "OK"
+
+msgid "IDS_MUSIC_SK_CANCEL"
+msgstr "Mégse"
+
+msgid "IDS_MUSIC_BUTTON_REFRESH"
+msgstr "Frissítés"
+
+msgid "IDS_MUSIC_BODY_SELECT_ALL"
+msgstr "Összes kijelölése"
+
+msgid "IDS_MUSIC_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_MUSIC_POP_DELETED"
+msgstr "Törölve."
+
+msgid "IDS_MUSIC_OPT_STOP"
+msgstr "Leállít"
+
+msgid "IDS_MUSIC_BODY_UNKNOWN"
+msgstr "Ismeretlen"
+
+msgid "IDS_MUSIC_BODY_TITLE"
+msgstr "Cím"
+
+msgid "IDS_MUSIC_OPT_SENDVIA_EMAIL"
+msgstr "E-mail"
+
+msgid "IDS_MUSIC_OPT_BLUETOOTH"
+msgstr "Bluetooth"
+
+msgid "IDS_MUSIC_HEADER_DOWNLOAD"
+msgstr "Letöltés"
+
+msgid "IDS_MUSIC_POP_LOW_BATTERY"
+msgstr "Az akkumulátor lemerült."
+
+msgid "IDS_MUSIC_HEADER_AUDIO_DEVICE"
+msgstr "Hangeszköz"
+
+msgid "IDS_MUSIC_HEADER_DETAILS"
+msgstr "Részletek"
+
+msgid "IDS_MUSIC_OPT_END"
+msgstr "Befejez"
+
+msgid "IDS_MUSIC_OPT_EDIT"
+msgstr "Szerkeszt"
+
+msgid "IDS_CAM_HEADER_UPDATED"
+msgstr "Frissítve."
+
+msgid "IDS_MUSIC_POP_REMOVED"
+msgstr "Törölve."
+
+msgid "IDS_MUSIC_OPT_SELECTED"
+msgstr "Kiválasztott"
+
+msgid "IDS_ST_BUTTON_SCAN"
+msgstr "Keresés"
+
+msgid "IDS_MF_POP_ERROR"
+msgstr "Hiba"
+
+msgid "IDS_MF_POP_MEMORY_FULL"
+msgstr "Memória megtelt."
+
+msgid "IDS_MUSIC_MBODY_QUEUE"
+msgstr "Sor"
+
+msgid "IDS_MUSIC_OPT_VOLUME"
+msgstr "Hangerő"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE"
+msgstr "Véletlen sorrend"
+
+msgid "IDS_MUSIC_OPT_REPEAT"
+msgstr "Ismétlés"
+
+msgid "IDS_COM_BODY_DETAILS"
+msgstr "Details"
+
+msgid "IDS_COM_BODY_DETAILS_TITLE"
+msgstr "Title"
+
+msgid "IDS_COM_BODY_EDIT"
+msgstr "Edit"
+
+msgid "IDS_COM_BODY_EMAIL"
+msgstr "Email"
+
+msgid "IDS_COM_BODY_END"
+msgstr "End"
+
+msgid "IDS_COM_BODY_FOLDERS"
+msgstr "Folders"
+
+msgid "IDS_COM_BODY_GALLERY"
+msgstr "Gallery"
+
+msgid "IDS_COM_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_COM_BODY_LOADING"
+msgstr "Loading..."
+
+msgid "IDS_COM_BODY_LOW_BATTERY"
+msgstr "Low battery."
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Message"
+
+msgid "IDS_COM_BODY_MUSIC"
+msgstr "Music"
+
+msgid "IDS_COM_BODY_NFC"
+msgstr "NFC"
+
+msgid "IDS_COM_BODY_NO_CONTENTS"
+msgstr "No content"
+
+msgid "IDS_COM_BODY_PAUSE"
+msgstr "Pause"
+
+msgid "IDS_COM_BODY_PD_SELECTED"
+msgstr "%d selected."
+
+msgid "IDS_COM_BODY_PREVIOUS"
+msgstr "Previous"
+
+msgid "IDS_COM_BODY_RESET_A"
+msgstr "Reset"
+
+msgid "IDS_COM_BODY_SELECTED"
+msgstr "Selected"
+
+msgid "IDS_COM_BODY_SELECT_ALL"
+msgstr "Select all"
+
+msgid "IDS_COM_BODY_SETTINGS"
+msgstr "Settings"
+
+msgid "IDS_COM_BODY_TIME"
+msgstr "Time"
+
+msgid "IDS_COM_BODY_UNABLE_TO_ADD"
+msgstr "Unable to add."
+
+msgid "IDS_COM_BODY_UNKNOWN"
+msgstr "Unknown"
+
+msgid "IDS_COM_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_COM_BUTTON_SCAN"
+msgstr "Scan"
+
+msgid "IDS_COM_BUTTON_SHARE"
+msgstr "Share"
+
+msgid "IDS_COM_HEADER_AUDIO_DEVICE_ABB"
+msgstr "Audio device"
+
+msgid "IDS_COM_OPT_ADDED"
+msgstr "Added."
+
+msgid "IDS_COM_OPT_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_POP_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_POP_CONNECTION_FAILED"
+msgstr "Connection failed."
+
+msgid "IDS_COM_POP_DELETED"
+msgstr "Deleted."
+
+msgid "IDS_COM_POP_DELETE_Q"
+msgstr "Delete?"
+
+msgid "IDS_COM_POP_DONE"
+msgstr "Done"
+
+msgid "IDS_COM_POP_DOWNLOADING"
+msgstr "Downloading..."
+
+msgid "IDS_COM_POP_ERROR"
+msgstr "Error."
+
+msgid "IDS_COM_POP_FAILED"
+msgstr "Failed."
+
+msgid "IDS_COM_POP_FILE_NOT_EXIST"
+msgstr "This file does not exist."
+
+msgid "IDS_COM_POP_FILE_NOT_FOUND"
+msgstr "File not found."
+
+msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximum number of characters reached."
+
+msgid "IDS_COM_POP_MEMORY_FULL"
+msgstr "Memory full."
+
+msgid "IDS_COM_POP_REMOVED"
+msgstr "Removed."
+
+msgid "IDS_COM_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Unable to use during Mass storage mode."
+
+msgid "IDS_COM_POP_UPDATED"
+msgstr "Updated."
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_SK_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_SK_DOWNLOAD"
+msgstr "Download"
+
+msgid "IDS_COM_SK_NEW"
+msgstr "New"
+
+msgid "IDS_COM_SK_NEXT"
+msgstr "Next"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_SK_REFRESH"
+msgstr "Refresh"
+
+msgid "IDS_COM_SK_REMOVE"
+msgstr "Remove"
+
+msgid "IDS_COM_SK_SAVE"
+msgstr "Save"
+
+msgid "IDS_COM_SK_SELECT"
+msgstr "Select"
+
+msgid "IDS_COM_SK_SET"
+msgstr "Set"
+
+msgid "IDS_COM_SK_STOP"
+msgstr "Stop"
+
+
+msgid "IDS_MH_BODY_THE_PLAYLIST_NAME_PS_IS_ALREADY_IN_USE"
+msgstr "The playlist name %s is already in use."
+
+msgid "IDS_MH_BODY_TOTAL"
+msgstr "Total"
+
+msgid "IDS_MH_MBODY_RECENTLY_ADDED_M_SONG"
+msgstr "Recently added"
+
+msgid "IDS_MH_OPT_MORE_INFO_ABB"
+msgstr "More info"
+
+msgid "IDS_MH_POP_ALARM_TONE_SET"
+msgstr "Alarm tone set."
+
+msgid "IDS_MH_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 track added to playlist."
+
+msgid "IDS_MH_TPOP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d tracks added to playlist."
+
+msgid "IDS_MUSIC_OPT_RENAME"
+msgstr "Rename"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Unable to play during call."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Túllépte a maximális fájlméretet."
+
+msgid "IDS_CAM_TPOP_UNABLE_TO_PLAY_MUSIC_WHILE_RECORDING_AUDIO_OR_VIDEO"
+msgstr "Hang- vagy videórögzítés közben nincs mód zenelejátszásra."
+
--- /dev/null
+msgid "IDS_ST_BODY_LOADING_ING"
+msgstr "Բեռնում է..."
+
+msgid "IDS_GALLERY_OPT_PRIVATE_M_CONTENT"
+msgstr "Գաղտնի"
+
+msgid "IDS_MF_BODY_TIME"
+msgstr "Ժամանակ"
+
+msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
+msgstr "Այս ֆայլը գոյություն չունի:"
+
+msgid "IDS_MUSIC_POP_PHONE_RINGTONE"
+msgstr "Հեռախոսի զանգերանգը"
+
+msgid "IDS_MUSIC_BODY_DURATION"
+msgstr "Տևողություն"
+
+msgid "IDS_MUSIC_BODY_MUSIC_LOCATION"
+msgstr "Գտնվելու վայր"
+
+msgid "IDS_MUSIC_BODY_SET_AS_M_RINGTONE"
+msgstr "Նշանակել որպես"
+
+msgid "IDS_ST_OPT_ADD_TO_PERSONAL_PAGE"
+msgstr "Հավելել անձնական էջ"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_PERSONAL_PAGE_ABB"
+msgstr "Հեռացնել անձնական էջից"
+
+msgid "IDS_ST_POP_MOVE_TO_NORMAL_STORAGE"
+msgstr "Տեղափոխել դեպի սովորական պահոց"
+
+msgid "IDS_ST_POP_MOVE_TO_PERSONAL_STORAGE"
+msgstr "Տեղափոխել դեպի անհատական պահոց"
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEMS_WILL_BE_MOVED_TO_PS"
+msgstr "Ընտրված տարրերը կտեղափոխվեն %s:"
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEM_WILL_BE_MOVED_TO_PS"
+msgstr "Ընտրված տարրը կտեղափոխվի %s:"
+
+msgid "IDS_VR_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Անհնար է օգտագործել Զանգվածային պահոցի ռեժիմում:"
+
+msgid "IDS_MUSIC_POP_RINGTONE_ADDED"
+msgstr "Հնչերանգն ավելացվել է:"
+
+msgid "IDS_CAM_BODY_BUTTON_T_TTS"
+msgstr "Կոճակ"
+
+msgid "IDS_MUSIC_HEADER_SELECT_ITEMS"
+msgstr "Ընտրել տարրեր"
+
+msgid "IDS_ST_BODY_ADVANCED"
+msgstr "Լրացուցիչ"
+
+msgid "IDS_ST_SK_PREVIOUS"
+msgstr "Նախորդ"
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Փակել"
+
+msgid "IDS_MUSIC_POP_ADDED"
+msgstr "Ավելացված է:"
+
+msgid "IDS_MUSIC_POP_FAILED"
+msgstr "Ձախողվեց:"
+
+msgid "IDS_MUSIC_BODY_NO_SEARCH_RESULTS"
+msgstr "Որոնման արդյունքներ չկան"
+
+msgid "IDS_MUSIC_SK_DONE"
+msgstr "Պատրաստ"
+
+msgid "IDS_MUSIC_BODY_NO_ITEMS"
+msgstr "Տարրեր չկան"
+
+msgid "IDS_BR_OPT_ADD_TO_HOME"
+msgstr "Ավելացնել հիմնական էկրանին"
+
+msgid "IDS_BR_SK_NEXT"
+msgstr "Հաջորդ"
+
+msgid "IDS_BR_BODY_DOWNLOADING_ING"
+msgstr "Բեռնում..."
+
+msgid "IDS_IV_BODY_FAVOURITE"
+msgstr "Սիրված"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_PERSONAL_STORAGE"
+msgstr "Ավելացնել անհատական պահոցին"
+
+msgid "IDS_DLNA_POP_DISCONNECTED_FROM_PS_CHECK_THE_NETWORK_STATUS_AND_THE_CONNECTED_DEVICE"
+msgstr "Անջատվել է %s-ից: Ստուգեք ցանցի կարգավիճակը և միացված սարքը"
+
+msgid "IDS_DLNA_OPT_VIA_SCREEN_MIRRORING_ABB"
+msgstr "Screen Mirroring-ի միջոցով"
+
+msgid "IDS_DLNA_OPT_VIA_HOME_NETWORK_ABB"
+msgstr "Տան ցանցի միջոցով"
+
+msgid "IDS_IV_POP_ENTRY_IS_EMPTY"
+msgstr "Գրառումը դատարկ է:"
+
+msgid "IDS_FM_POP_UNAVAILABLE_DURING_CALL"
+msgstr "Անհասանելի է զանգի ընթացքում:"
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Հասել եք նիշերի առավելագույն քանակին:"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_SHARE_DRM_FILE"
+msgstr "Անհնար է համօգտագործել DRM ֆայլ:"
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Հեռացնում է..."
+
+msgid "IDS_MUSIC_HEADER_PD_DEVICES"
+msgstr "%d սարք"
+
+msgid "IDS_MUSIC_BUTTON_ENABLE_MOTION"
+msgstr "Ընձռլ շարժում"
+
+msgid "IDS_MUSIC_BUTTON_DONT_ASK_AGAIN"
+msgstr "Այլևս չհարցնել"
+
+msgid "IDS_MUSIC_BODY_NO_RESULTS_FOUND"
+msgstr "Արդյունքներ չեն գտնվել:"
+
+msgid "IDS_VPL_OPT_HDMI"
+msgstr "HDMI"
+
+msgid "IDS_MUSIC_BODY_TURN_PHONE_OVER_TO_MUTE_INCOMING_CALLS_MESSAGE_ALERTS_AND_ALARMS"
+msgstr "Շրջեք հեռախոսը՝ մտից կանչերը, հաղորդագրության զգուշացումները և տագնապները խլացնելու համար:"
+
+msgid "IDS_ST_BODY_NONE"
+msgstr "Չկա"
+
+msgid "IDS_ST_BODY_INTERNET"
+msgstr "Ինտերնետ"
+
+msgid "IDS_ST_BODY_GALLERY"
+msgstr "Պատկերասրահ"
+
+msgid "IDS_ST_BODY_DOUBLE_TAP_TO_MOVE_TO_CONTENT_T_TTS"
+msgstr "Կրկնակի թակեք՝ բովանդակությունը տեղափոխելու համար:"
+
+msgid "IDS_MUSIC_BODY_SURROUND"
+msgstr "Շրջապատում"
+
+msgid "IDS_MUSIC_OPT_LYRICS_ABB"
+msgstr "Երգի խոսքերը"
+
+msgid "IDS_MUSIC_POP_AFTER_YOU_ADD_TRACKS_TO_MUSIC_ON_YOUR_MOBILE_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Ձեր շարժական սարքում Երաժշտությանը շավիղներ ավելացնելուց հետո դրանք կցուցադրվեն այստեղ:"
+
+msgid "IDS_MUSIC_BODY_SAMPLING_RATE"
+msgstr "Նմուշառման հաճախականություն"
+
+msgid "IDS_MUSIC_BODY_MARKED_AS_A_FAVOURITE"
+msgstr "Նշված է որպես սիրված:"
+
+msgid "IDS_MUSIC_BODY_MUSIC"
+msgstr "Երաժշտություն"
+
+msgid "IDS_MUSIC_BODY_NOT_MARKED_AS_A_FAVOURITE"
+msgstr "Նշված չէ որպես սիրված:"
+
+msgid "IDS_MUSIC_HEADER_SEARCH_MUSIC_ABB"
+msgstr "Որոնել երաժշտություն"
+
+msgid "IDS_MUSIC_POP_AUTO_RECOMMENDATION_DOES_NOT_SUPPORT_THIS_AUDIO_FILE"
+msgstr "Ինքնաբերական առաջարկությունը չի ապահովում այս ձայնային ֆայլը:"
+
+msgid "IDS_MUSIC_POP_SORRY_THE_PLAYER_DOES_NOT_SUPPORT_THIS_TYPE_OF_AUDIO_FILE"
+msgstr "Ցավոք, նվագարկիչը չի աջակցում այս տեսակի հնչյունային նիշք:"
+
+msgid "IDS_MUSIC_BODY_FAVOURITES"
+msgstr "Սիրվածները"
+
+msgid "IDS_MUSIC_BODY_MOST_PLAYED"
+msgstr "Հաճախակի նվագարկվող"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_ADDED"
+msgstr "Վերջերս ավելացված"
+
+msgid "IDS_MUSIC_OPT_CREATE_PLAYLIST"
+msgstr "Երգացանկ ստեղծել"
+
+msgid "IDS_MUSIC_OPT_REMOVE"
+msgstr "Հեռացնել"
+
+msgid "IDS_MUSIC_OPT_SETAS_CALLER_RINGTONE"
+msgstr "Զանգահարողի զանգի մեղեդի"
+
+msgid "IDS_MUSIC_TAB4_ARTISTS"
+msgstr "Կատարողներ"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD"
+msgstr "Անհնար է ավելացնել:"
+
+msgid "IDS_MUSIC_POP_UNABLE_CREATE_PLAYLIST"
+msgstr "Անհնար է եգացանկ ստեղծել:"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_GET_TAG"
+msgstr "Անհնար է ստանալ հատկորոշիչ:"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_MORE_THAN_PD_MUSIC_FILE"
+msgstr "Անհնար է %dից ավելի երաժշտական ֆայլ ավելացնել:"
+
+msgid "IDS_MUSIC_BODY_ALBUM"
+msgstr "Ալբոմ"
+
+msgid "IDS_MUSIC_BODY_AUTHOR"
+msgstr "Հեղինակ"
+
+msgid "IDS_MUSIC_BODY_COPYRIGHT"
+msgstr "Հեղինակային իրավունք"
+
+msgid "IDS_MUSIC_BODY_CREATE_PLAYLIST"
+msgstr "Երգացանկ ստեղծել"
+
+msgid "IDS_MUSIC_BODY_DESCRIPTION"
+msgstr "Նկարագրություն"
+
+msgid "IDS_MUSIC_BODY_FORMAT"
+msgstr "Ձևաչափ"
+
+msgid "IDS_MUSIC_BODY_IMPOSSIBLE"
+msgstr "Անհնար է"
+
+msgid "IDS_MUSIC_BODY_NO_PLAYLISTS"
+msgstr "Երգացանկեր չկան"
+
+msgid "IDS_MUSIC_BODY_TRACK_NUMBER"
+msgstr "Ձայնագրության թիվը"
+
+msgid "IDS_MUSIC_POP_DELETE_Q"
+msgstr "Ջնջե՞լ"
+
+msgid "IDS_MUSIC_POP_REMOVE_Q"
+msgstr "Հեռացնե՞լ"
+
+msgid "IDS_MUSIC_POP_UNABLE_RENAME_PLAYLIST"
+msgstr "Անհնար է վերանվանել երգացանկը:"
+
+msgid "IDS_MUSIC_TAB4_ALBUMS"
+msgstr "Ալբոմներ"
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Ավելացնում է..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Վերացնե՞լ %d ալբոմներ:"
+
+msgid "IDS_MUSIC_TAB4_PLAYLISTS"
+msgstr "Երգացանկեր"
+
+msgid "IDS_MUSIC_OPT_ADD"
+msgstr "Ավելացնել"
+
+msgid "IDS_MUSIC_BODY_BIOGRAPHY"
+msgstr "Կենսագրություն"
+
+msgid "IDS_MUSIC_BODY_CREDITS"
+msgstr "Մակագրեր"
+
+msgid "IDS_MUSIC_BODY_DETAILS_MEADIA_INFO"
+msgstr "Մեդիա տվյալներ"
+
+msgid "IDS_MUSIC_BODY_DISCOGRAPHY"
+msgstr "Դիսկոգրաֆիա"
+
+msgid "IDS_MUSIC_BODY_LYRIC"
+msgstr "Երգի խոսքեր"
+
+msgid "IDS_MUSIC_BODY_POSSIBLE"
+msgstr "Հնարավոր"
+
+msgid "IDS_MUSIC_BODY_REVIEW"
+msgstr "Վերանայում"
+
+msgid "IDS_MUSIC_HEADER_TRACK_LIST"
+msgstr "Երիզների ցանկ"
+
+msgid "IDS_MUSIC_BODY_ADD_TO_PLAYLIST"
+msgstr "Ավելացնել երգացանկում"
+
+msgid "IDS_MUSIC_BODY_ARTIST"
+msgstr "Կատարող"
+
+msgid "IDS_MUSIC_BODY_FORWARDING"
+msgstr "Փոխանցում"
+
+msgid "IDS_MUSIC_BODY_RECORDED_DATE"
+msgstr "Date of recording"
+
+msgid "IDS_MUSIC_BODY_PLAYLISTS"
+msgstr "Երգացանկեր"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_PLAYED"
+msgstr "Վերջերս լսված"
+
+msgid "IDS_MUSIC_BODY_TRACK_LENGTH"
+msgstr "Ձայնային հոլովակի տևողությունը"
+
+msgid "IDS_MUSIC_HEADER_NO_SONGS"
+msgstr "Երգ չկա"
+
+msgid "IDS_MUSIC_POP_THIS_TRACK_WILL_BE_DELETED"
+msgstr "Այս շավիղը կվերացվի:"
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_TRACKS_WILL_BE_DELETED"
+msgstr "Ընտրված շավիղները կվերացվեն:"
+
+msgid "IDS_MUSIC_POP_THIS_ARTIST_WILL_BE_DELETED"
+msgstr "Այս կատարողը կվերացվի:"
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ARTISTS_WILL_BE_DELETED"
+msgstr "Seçilən ifaçılar silinəcəkdir."
+
+msgid "IDS_MUSIC_POP_ALL_ARTISTS_WILL_BE_DELETED"
+msgstr "Բոլոր կատարողները կվերացվեն:"
+
+msgid "IDS_MUSIC_POP_THIS_FOLDER_WILL_BE_DELETED"
+msgstr "Այս թղթապանակը կվերացվի:"
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_FOLDERS_WILL_BE_DELETED"
+msgstr "Seçilən qovluqlar silinəcəkdir."
+
+msgid "IDS_MUSIC_POP_ALL_FOLDERS_WILL_BE_DELETED"
+msgstr "Բոլոր թղթապանակները կջնջվեն:"
+
+msgid "IDS_MUSIC_POP_THIS_ALBUM_WILL_BE_DELETED"
+msgstr "Այս ալբոմը կվերացվի:"
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ALBUMS_WILL_BE_DELETED"
+msgstr "Seçilən albomlar silinəcəkdir."
+
+msgid "IDS_MUSIC_POP_ALL_ALBUMS_WILL_BE_DELETED"
+msgstr "Բոլոր ալբոմները կվերացվեն:"
+
+msgid "IDS_MUSIC_POP_THIS_PLAYLIST_WILL_BE_DELETED"
+msgstr "Այս երգացանկը կվերացվի:"
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Ընտրված երգացանկերը կվերացվեն:"
+
+msgid "IDS_MUSIC_POP_ALL_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Բոլոր երգացանկերը կվերացվեն:"
+
+msgid "IDS_MUSIC_HEADER_SONGS"
+msgstr "Երգեր"
+
+msgid "IDS_MUSIC_OPT_REORDER"
+msgstr "Վերադասավորել"
+
+msgid "IDS_MUSIC_OPT_SAVE_AS_PLAYLIST"
+msgstr "Պահել որպես նվագացուցակ"
+
+msgid "IDS_MUSIC_OPT_SETAS_ALARM_TONE"
+msgstr "Ազդանշանի մեղեդի"
+
+msgid "IDS_MUSIC_POP_NOTHING_SELECTED"
+msgstr "Ոչինչ ընտրված չէ:"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Անհնար է նվագարկել. սխալ է տեղի ունեցել:"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_UNSUPPORTED_FILETYPE"
+msgstr "Անհնար է նվագել: Չսատարվող ֆայլի տեսակ:"
+
+msgid "IDS_MUSIC_SK_SHARE"
+msgstr "Կիսվել"
+
+msgid "IDS_MUSIC_TAB4_CONDUCTORS"
+msgstr "Դիրիժորներ"
+
+msgid "IDS_MUSIC_HEADER_SELECT_DEVICE"
+msgstr "Ընտրեք սարք"
+
+msgid "IDS_MUSIC_SK_VIEW_AS"
+msgstr "Դտլ որպ."
+
+msgid "IDS_MUSIC_BODY_SOUNDEFFECTS_NORMAL"
+msgstr "Նորմալ"
+
+msgid "IDS_MUSIC_BODY_USER"
+msgstr "Օգտվող"
+
+msgid "IDS_MUSIC_BODY_VOCAL_M_SOUNDEFFECT"
+msgstr "Վոկալ"
+
+msgid "IDS_MUSIC_MBODY_BASS_BOOST"
+msgstr "Ստորին հաճախութ. վերելք"
+
+msgid "IDS_MUSIC_MBODY_TREBLE_BOOST"
+msgstr "Վերին հաճախութ. վերելք"
+
+msgid "IDS_MUSIC_BODY_CAFE_M_SOUNDEFFECT"
+msgstr "Սրճարան"
+
+msgid "IDS_MUSIC_OPT_VIRTUAL_71_CH"
+msgstr "Վիրտուալ 7.1 կապուղի"
+
+msgid "IDS_MUSIC_OPT_AFTER_15_MIN_ABB"
+msgstr "15 րոպե հետո"
+
+msgid "IDS_MUSIC_BODY_AFTER_30_MIN"
+msgstr "30 րոպեից"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HOUR"
+msgstr "1 ժամից"
+
+msgid "IDS_MUSIC_POP_AFTER_1_HOUR_30_MIN"
+msgstr "1 ժամ 30 րոպե հետո"
+
+msgid "IDS_MUSIC_BODY_AFTER_2_HOURS"
+msgstr "2 ժամից հետո"
+
+msgid "IDS_MUSIC_BODY_MUSIC_AUTO_OFF"
+msgstr "Ավտոմատ կերպով անջատել նվագարկիչը"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES_ONLY"
+msgstr "Այս հնչյունային էֆեկտը գործում է միայն ականջակալի և Bluetooth գլխային հեռախոսի ռեժիմներում:"
+
+msgid "IDS_MUSIC_TAB4_MUSIC_SQUARE"
+msgstr "Երաժշտահրապարակ"
+
+msgid "IDS_MUSIC_POP_NOT_ENOUGH_MUSIC_FILES_TO_PLAY_IN_MUSIC_SQUARE_AT_LEAST_PD_MUSIC_FILES_REQUIRED"
+msgstr "Երաժշտական հրապարակում նվագարկելու համար բավարար երաժշտական ֆայլեր չկան: Պահանջվում է առնվազն %d երաժշտական ֆայլ:"
+
+msgid "IDS_MUSIC_BODY_PASSION_M_MOOD"
+msgstr "Կիրք"
+
+msgid "IDS_MUSIC_BODY_CALM_M_ADJECTIVE"
+msgstr "Անվրդով"
+
+msgid "IDS_MUSIC_BODY_JOY_M_MOOD"
+msgstr "Ուրախություն"
+
+msgid "IDS_MUSIC_BODY_LIBRARY_UPDATE"
+msgstr "Երաժշտադարանի թարմացում"
+
+msgid "IDS_MUSIC_POP_UPDATE_LIBRARY_Q"
+msgstr "Թարմացնե՞լ մեդիադարանը:"
+
+msgid "IDS_MUSIC_BODY_CHANGE_AXIS"
+msgstr "Փոխել առանցքը"
+
+msgid "IDS_MUSIC_ITAB4_GENRES"
+msgstr "Ժանրեր"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_1_TRACK"
+msgstr "1 ալբոմ/1 շավիղ"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_PD_TRACKS"
+msgstr "1 ալբոմ/%d շավիղ"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS_PD_TRACKS"
+msgstr "%d ալբոմ/%d շավիղ"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_CONTROL_MUSIC_PLAYER_WITH_THE_VOICE_COMMANDS_P1SS_P2SS_P3SS_P4SS_P5SS_AND_P6SS"
+msgstr "Կարող եք Նվագարկիչը կառավարել %1$s, %2$s, %3$s, %4$s, %5$s և %6$s ձայնային հրամաններով:"
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_PD_TRACKS"
+msgstr "Խառնել %d ձայնագրությունները"
+
+msgid "IDS_MUSIC_BODY_MORE_INFO"
+msgstr "Լրացուցիչ տեղեկ."
+
+msgid "IDS_MUSIC_HEADER_MY_MUSIC_M_APPLICATION_NAME"
+msgstr "Իմ երաժշտությունը"
+
+msgid "IDS_MUSIC_OPT_LIST_VIEW"
+msgstr "Դիտման ռեժիմների ցանկ"
+
+msgid "IDS_MUSIC_OPT_PLAY_VIA_GROUP_PLAY"
+msgstr "Նվագարկել Group Play-ի միջոցով"
+
+msgid "IDS_MUSIC_POP_TRACK_ADDED_TO_FAVOURITES"
+msgstr "Երիզն ավելացվել է սիրվածներին:"
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_FAVOURITES"
+msgstr "Հեռացնել սիրվածներից"
+
+msgid "IDS_MUSIC_BODY_NEW_M_LATEST"
+msgstr "Նոր"
+
+msgid "IDS_MUSIC_OPT_TRACKS"
+msgstr "Ձայնագրություններ"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL"
+msgstr "Փոքրացված պատկեր"
+
+msgid "IDS_MUSIC_SK_LIST"
+msgstr "Ցանկ"
+
+msgid "IDS_MUSIC_SK_OPEN_PLAYLIST"
+msgstr "Բցլ երգցկ"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALL"
+msgstr "Վերարտադրել ամբողջը"
+
+msgid "IDS_MUSIC_POP_SELECTED_LIST_EMPTY"
+msgstr "Ընտրված ցուցակը դատարկ է:"
+
+msgid "IDS_MUSIC_BODY_MOODS"
+msgstr "Տրամադրություն"
+
+msgid "IDS_MUSIC_BUTTON_YEARS"
+msgstr "Տարիներ"
+
+msgid "IDS_MUSIC_BODY_OLD"
+msgstr "Հին"
+
+msgid "IDS_MUSIC_BODY_MUSIC_SQUARE_ANALYSES_THE_CHARACTERISTICS_OF_MUSIC_FILES_STORED_ON_YOUR_DEVICE_AND_AUTOMATICALLY_CREATES_PLAYLISTS_MSG"
+msgstr "Երաժշտահրապարակը վերլուծում է Ձեր սարքում պահված երաժշտական ֆայլերի հատկությունները և ինքնաբերաբար ստեղծում է երգացանկեր:"
+
+msgid "IDS_MUSIC_BODY_PLAY_TRACKS_WITH_SIMILAR_CHARACTERISTICS_BY_SELECTING_A_SQUARE_ON_THE_SCREEN"
+msgstr "Նվագարկել նման հատկություններով երաժշտության երգացանկ՝ էկրանի վրա քառակուսի ընտրելով:"
+
+msgid "IDS_MUSIC_BODY_VIEW_PLAYLIST_DETAILS_BY_TAPPING_AND_HOLDING_THE_SQUARE_CURRENTLY_BEING_PLAYED"
+msgstr "Դիտել երգացանկի մանրամասները՝ թակելով և պահելով ընթացիկ նվագարկվող քառակուսին:"
+
+msgid "IDS_MUSIC_BODY_NEARBY_DEVICES"
+msgstr "Մոտակա սարքեր"
+
+msgid "IDS_MUSIC_POP_YOU_WILL_NEED_TO_UPDATE_THE_LIBRARY_IF_NEW_SONGS_HAVE_BEEN_ADDED"
+msgstr "Հարկ կլինի թարմացնել երաժշտադարանը, եթե նոր երգեր են ավելացվել:"
+
+msgid "IDS_MUSIC_BODY_NO_ALBUMS"
+msgstr "Ալբոմներ չկան"
+
+msgid "IDS_MUSIC_BODY_NO_ARTISTS"
+msgstr "Կատարողներ չկան"
+
+msgid "IDS_MUSIC_OPT_PLAY_SPEED_ABB"
+msgstr "Նվգրկման արագություն"
+
+msgid "IDS_MUSIC_BODY_CONCERT_HALL_M_SOUNDEFFECT"
+msgstr "Համերգային դահլիճ"
+
+msgid "IDS_MUSIC_OPT_ADD_TO"
+msgstr "Ավելացնել ...ում"
+
+msgid "IDS_MUSIC_SK_VIEW"
+msgstr "Դիտարկում"
+
+msgid "IDS_MUSIC_OPT_LISTBY_RECENTLY_ADDED"
+msgstr "Վերջերս ավելացված"
+
+msgid "IDS_MUSIC_BODY_NOT_USED"
+msgstr "Չի օգտագործվում"
+
+msgid "IDS_MUSIC_BODY_MAKE_AVAILABLE_OFFLINE"
+msgstr "Մատչելի դարձնել ցանցից դուրս"
+
+msgid "IDS_MUSIC_OPT_AFTER_P1SD_HRS_P2SD_MINS"
+msgstr "%1$d ժամ %2$d րոպե հետո"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS"
+msgstr "%d ժամ հետո"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_MINS"
+msgstr "%d րոպե հետո"
+
+msgid "IDS_MUSIC_BODY_NO_FOLDERS"
+msgstr "Թղթապանակներ չկան"
+
+msgid "IDS_MUSIC_BODY_NO_TRACKS"
+msgstr "Երիզներ չկան"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS"
+msgstr "%d ալբոմ"
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS"
+msgstr "%d կատարող"
+
+msgid "IDS_MUSIC_BODY_PD_GENRES"
+msgstr "%d ժանր"
+
+msgid "IDS_MUSIC_BODY_PD_PLAYLISTS"
+msgstr "%d երգացանկ"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_ABB"
+msgstr "%d երիզներ"
+
+msgid "IDS_MUSIC_BODY_PLAYLIST"
+msgstr "Երգացանկ"
+
+msgid "IDS_MUSIC_HEADER_SIMILAR_ALBUMS"
+msgstr "Նման ալբոմներ"
+
+msgid "IDS_MUSIC_HEADER_TRACK"
+msgstr "Ձայնագրություն"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL_VIEW"
+msgstr "Փոքրացված պատկերների տեսք"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "Այս հնչյունային էֆեկտը գործում է միայն ականջակալի ռեժիմում:"
+
+msgid "IDS_MUSIC_OPT_ALL_CONTENT_ABB2"
+msgstr "Ամբողջ բվնդկթյուն"
+
+msgid "IDS_MUSIC_BODY_A_NETWORK_CONNECTION_IS_REQUIRED_TO_PLAY_THIS_FILE_CHECK_YOUR_NETWORK_CONNECTION_AND_TRY_AGAIN"
+msgstr "Ցանցային միացում է պահանջվում այս ֆայլի նվագարկման համար: Ստուգեք Ձեր ցանցային միացումը և նորից փորձեք:"
+
+msgid "IDS_MUSIC_POP_FILE_TYPE_NOT_SUPPORTED"
+msgstr "Ֆայլի տեսակը համատեղելի չէ:"
+
+msgid "IDS_MUSIC_POP_UPDATING_ING"
+msgstr "Թարմացնում է..."
+
+msgid "IDS_MUSIC_OPT_SEARCH_ABB"
+msgstr "Որոնել"
+
+msgid "IDS_MUSIC_OPT_SEARCH_BY"
+msgstr "Որոնել ըստ"
+
+msgid "IDS_MUSIC_BODY_RELATED_VIDEOS"
+msgstr "Առնչվող տեսանյութեր"
+
+msgid "IDS_MUSIC_BODY_SMART_VOLUME_ABB"
+msgstr "Ձայնի խելացի ուժգնություն"
+
+msgid "IDS_MUSIC_BODY_THE_VOLUME_OF_ALL_TRACKS_WILL_BE_ADJUSTED_TO_LEVEL_PD"
+msgstr "Բոլոր երիզների ձայնի ուժգնությունը կկարգավորվի մակարդակ %d-ի:"
+
+msgid "IDS_MUSIC_HEADER_SMART_VOLUME_IS_ENABLED"
+msgstr "Ձայնի խելացի ուժգնությունն ընձեռված է"
+
+msgid "IDS_MUSIC_OPT_CONNECTION_INFO_ABB"
+msgstr "Միացման տվյալներ"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_PD_MINS"
+msgstr "1 ժամ %d րոպե հետո"
+
+msgid "IDS_MUSIC_BODY_ADAPT_SOUND_ABB"
+msgstr "Adapt Sound"
+
+msgid "IDS_MUSIC_BODY_MY_DEVICE"
+msgstr "Իմ սարքը"
+
+msgid "IDS_MUSIC_POP_LISTENING_AT_A_HIGH_VOLUME_FOR_A_LONG_TIME_MAY_DAMAGE_YOUR_HEARING_RAISE_THE_VOLUME_ABOVE_SAFE_LEVELS_Q"
+msgstr "Ձայնի բարձր ուժգնությամբ երկար ժամանակ ունկնդրելը կարող է վնասել Ձեր լսողությունը. ձայնը բարձրացնե՞լ անվտանգ աստիճանից ավելի:"
+
+msgid "IDS_MUSIC_POP_ALREADY_EXISTS"
+msgstr "Արդեն գոյություն ունի:"
+
+msgid "IDS_MUSIC_OPT_SCAN_FOR_NEARBY_DEVICES"
+msgstr "Կատարել մերձակա սարքերի տեսածրում"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR"
+msgstr "1 ժամ հետո"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_1_MIN"
+msgstr "1 ժամ 1 րոպե հետո"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS_1_MIN"
+msgstr "%d ժամ 1 րոպե հետո"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_MIN"
+msgstr "1 րոպե հետո"
+
+msgid "IDS_MUSIC_OPT_GO_TO_STORE"
+msgstr "Գնալ խանութ"
+
+msgid "IDS_MUSIC_SK3_ADD_TRACKS"
+msgstr "Ավլցնել երիզներ"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FROM_MUSIC_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Երաժշտությունից երիզներ ներբեռնելուց հետո դրանք կցուցադրվեն այստեղ:"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_YOUR_FAVOURITES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Ձեր սիրվածներին կատարումներ ավելացնելուց հետո դրանք կցուցադրվեն այստեղ:"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_PLAY_TRACKS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Կատարումները նվագարկելուց հետո դրանք կցուցադրվեն այստեղ:"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_PS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "%s-ին երիզներ ավելացնելուց հետո դրանք կցուցադրվեն այստեղ:"
+
+msgid "IDS_MUSIC_BODY_NO_PURCHASED_CONTENT"
+msgstr "Գնված բովանդակություն չկա"
+
+msgid "IDS_MUSIC_SK_SAVE_AS"
+msgstr "Պահպանել որպես"
+
+msgid "IDS_MUSIC_POP_MUSICPLAYER_UPDATING_FAILED"
+msgstr "Թարմացումը ձախողվեց:"
+
+msgid "IDS_MUSIC_BODY_EXCITING_M_ADJECTIVE"
+msgstr "Հուզիչ"
+
+msgid "IDS_MUSIC_BODY_SEARCH_MY_MUSIC"
+msgstr "Որոնել իմ երաժշտությունը"
+
+msgid "IDS_MUSIC_HEADER_CONNECTED_DEVICES"
+msgstr "Կապակցված սարքեր"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST_PS"
+msgstr "Իմ %s երգացանկը"
+
+msgid "IDS_MUSIC_BODY_NO_DEVICES"
+msgstr "Սարքեր չկան"
+
+msgid "IDS_MUSIC_HEADER_AVAILABLE_DEVICES_ABB"
+msgstr "Մատչելի սարքեր"
+
+msgid "IDS_MUSIC_POP_SET"
+msgstr "Գործադրել"
+
+msgid "IDS_MUSIC_POP_REMOVE_FAILED"
+msgstr "Հեռացումը ձախողվեց:"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_USE_FAST_FORWARD_AND_REWIND_WHEN_NEARBY_DEVICES_ARE_ENABLED"
+msgstr "Անհնար է օգտագործել արագ առաջ փաթաթումը և հետ փաթաթումը, երբ մոտակա սարքերն ընձեռված են:"
+
+msgid "IDS_MUSIC_OPT_SET_AS"
+msgstr "Նշանակել որպես"
+
+msgid "IDS_MUSIC_OPT_HEADPHONES_ABB"
+msgstr "Գլխ. հեռախոսներ"
+
+msgid "IDS_MUSIC_OPT_SPEAKER"
+msgstr "Բարձրախոս"
+
+msgid "IDS_MUSIC_BODY_1_SONG"
+msgstr "1 երգ"
+
+msgid "IDS_MUSIC_BODY_PD_SONGS"
+msgstr "%d երգ"
+
+msgid "IDS_MUSIC_BODY_1_TRACK"
+msgstr "1 երիզ"
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_1_TRACK"
+msgstr "Խառնել 1 շավիղ"
+
+msgid "IDS_MUSIC_POP_NO_MUSIC_FOUND_FOR_SELECTED_CELL"
+msgstr "Որևէ երաժշտություն չի գտնվել ընտրված բջջի համար"
+
+msgid "IDS_MUSIC_BODY_DO_NOT_SHOW_AGAIN"
+msgstr "Չցուցադրել կրկին"
+
+msgid "IDS_MUSIC_BODY_VARIOUS_ARTISTS"
+msgstr "Զանազան կատարողներ"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_HOME_SCREEN_ABB"
+msgstr "Ավելացնել հիմնական էկրանին"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_FAVOURITES"
+msgstr "Ավելացնել սիրվածներ"
+
+msgid "IDS_MUSIC_OPT_EDIT_TITLE"
+msgstr "Խմբագրել վերնագիրը"
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_PERSONAL_STORAGE"
+msgstr "Հեռացնել անհատական պահոցից"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FOLDERS_WILL_BE_SHOWN"
+msgstr "Շավիղները ներբեռնելուց հետո կցուցադրվեն պանակները"
+
+msgid "IDS_MUSIC_BODY_SETTINGS_VOLUME"
+msgstr "Բարձրություն"
+
+msgid "IDS_MUSIC_BODY_REPEAT_OFF"
+msgstr "Կրկնումն անջատված է"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_REPEAT_ALL"
+msgstr "Կրկնել բոլորը"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_OFF"
+msgstr "Անջատել պատահական հերթականությամբ նվագարկումը"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_ON"
+msgstr "Միացնել պատահական հերթականությամբ նվագարկումը"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST"
+msgstr "Իմ երգացանկը"
+
+msgid "IDS_MUSIC_MBODY_DEFAULT_PLAYLISTS"
+msgstr "Կանխադրված երգացանկեր"
+
+msgid "IDS_MUSIC_BODY_DETAILS_RECORDING_DATE"
+msgstr "Ձայնագրության ամսաթիվ"
+
+msgid "IDS_MUSIC_OPT_ALBUM_ART_ABB"
+msgstr "Ալբ. պտկզ."
+
+msgid "IDS_MUSIC_BODY_1_GENRE"
+msgstr "1 ժանր"
+
+msgid "IDS_MUSIC_BODY_PD_FOLDERS"
+msgstr "%d թղթպանակ"
+
+msgid "IDS_MUSIC_BODY_1_FOLDER"
+msgstr "1 թղթապանակ"
+
+msgid "IDS_MUSIC_BODY_1_ARTIST"
+msgstr "1 կատարող"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_M_MUSIC"
+msgstr "1 ալբոմ"
+
+msgid "IDS_MUSIC_BODY_1_PLAYLIST"
+msgstr "1 երգացանկ"
+
+msgid "IDS_MUSIC_BODY_MUSIC_PLAYER"
+msgstr "Նվագարկիչ"
+
+msgid "IDS_MUSIC_BUTTON_MOVE"
+msgstr "Տեղափոխել"
+
+msgid "IDS_MUSIC_BUTTON_AUTO_RECOMMENDATIONS"
+msgstr "Ինքնաբերական առաջարկություններ"
+
+msgid "IDS_MUSIC_BUTTON_FROM_THE_BEGINNING"
+msgstr "Սկզբից"
+
+msgid "IDS_MUSIC_HEADER_SUGGESTIONS_FOR_YOU"
+msgstr "Առաջարկություններ ձեր համար"
+
+msgid "IDS_MUSIC_OPT_SAVE"
+msgstr "Պահպանել"
+
+msgid "IDS_MUSIC_TAB4_BASIC_M_EQUALIZING"
+msgstr "Հիմնական"
+
+msgid "IDS_MUSIC_BODY_INSTRUMENT"
+msgstr "Գործիք"
+
+msgid "IDS_MUSIC_BODY_TREBLE_M_EQUALISER"
+msgstr "Դիսկանտ"
+
+msgid "IDS_MUSIC_BODY_BASS_M_EQUALISER"
+msgstr "Բաս"
+
+msgid "IDS_MUSIC_BODY_NO_EFFECTS_ARE_APPLIED_IN_THIS_MODE_ABB"
+msgstr "Այս կերպում արդյունքներ չեն կիրառված:"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_TIMBRE_OF_A_TUBE_AMP_ABB"
+msgstr "Ստեղծում է լամպային ուժեղարարի տեմբրի տպավորություն:"
+
+msgid "IDS_MUSIC_OPT_TUBE_AMP_EFFECT"
+msgstr "Լամպային ուժեղարարի էֆեկտ"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_EFFECT_OF_VIRTUAL_71_CHANNEL_SURROUND_SOUND_ABB"
+msgstr "Ստեղծում է կարծական 7.1 կապուղային ծավալ ձայնի տպավորություն:"
+
+msgid "IDS_MUSIC_HEADER_SMALL_ROOM_M_REVERB_ABB"
+msgstr "Փոքր սենյակ"
+
+msgid "IDS_MUSIC_HEADER_LARGE_ROOM_M_REVERB_ABB"
+msgstr "Մեծ սենյակ"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_LARGE_ROOM_EG_A_THEATRE_ABB"
+msgstr "Ստեղծում է մեծ սենյակի (օր՝ թատրոնի) արձագանքի տպավորություն:"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_CONCERT_HALL_ABB"
+msgstr "Ստեղծում համերգային դահլիճի արձագանքի տպավորություն:"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_SMALL_SPACE_EG_A_STUDIO_ABB"
+msgstr "Ստեղծում է փոքր տարածքի (օր՝տաղավար) արձագանքի տպավորություն:"
+
+msgid "IDS_MUSIC_BUTTON_3D_CHN"
+msgstr "3D"
+
+msgid "IDS_MUSIC_BODY_CLARITY_M_SOUNDEFFECT"
+msgstr "Պարզություն"
+
+msgid "IDS_MUSIC_BUTTON_RESET"
+msgstr "Reset"
+
+msgid "IDS_MUSIC_TAB_YEARS"
+msgstr "Տարիներ"
+
+msgid "IDS_MUSIC_TAB_GENRES"
+msgstr "Ժանրեր"
+
+msgid "IDS_MUSIC_TAB_COMPOSERS"
+msgstr "Կոմպոզիտորներ"
+
+msgid "IDS_MUSIC_TAB_ALL_TRACKS"
+msgstr "Բոլոր երիզները"
+
+msgid "IDS_MUSIC_SK3_GO_TO_QUICK_LIST"
+msgstr "Գնալ արագ ցուցակ"
+
+msgid "IDS_MUSIC_SK3_FIND"
+msgstr "Գտնել"
+
+msgid "IDS_MUSIC_SK3_ADD_TO_QUICK_LIST"
+msgstr "Ավլնլ արագ ցցկին"
+
+msgid "IDS_MUSIC_POP_UNAUTHORISED_VIDEO_FILE_FOR_TV_OUT"
+msgstr "Չարտոնված տեսաֆայլ ՀՏ-ելքի համար:"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_CREATE_MAXIMUM_NUMBER_OF_PLAYLISTS_REACHED"
+msgstr "Հնարավոր չէ ստեղծել: Երգացանկերի առավելագույն քանակը լրացել է:"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTING_BLUETOOTH_HEADSET"
+msgstr "Անհնար է կարգավորել ուժգնությունը, եթե կապակցված է Bluetooth ականջակալ:"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTED_TO_BLUETOOTH_HEADSET"
+msgstr "Անհնար է Bluetooth գլխային հեռախոսին միացված ժամանակ կարգավորել ձայնի ուժգնությունը:"
+
+msgid "IDS_MUSIC_POP_STOP_MUSIC_PLAYER_Q"
+msgstr "Կանգնեցնե՞լ Նվագարկիչը:"
+
+msgid "IDS_MUSIC_POP_PLEASE_EXIT_SILENT_MODE"
+msgstr "Դուրս եկեք լուռ ռեժիմից:"
+
+msgid "IDS_MUSIC_POP_NETWORK_FAILURE"
+msgstr "Ցանցի ձախողում:"
+
+msgid "IDS_MUSIC_POP_MEMORY_CARD_LOADED"
+msgstr "Հիշաքարտը բեռնվել է:"
+
+msgid "IDS_MUSIC_POP_DEVICE_SETTINGS_ERROR"
+msgstr "Սարքի դրվածքների սխալ:"
+
+msgid "IDS_MUSIC_POP_COULD_NOT_FIND_A_MATCH_FOR_THE_SONG"
+msgstr "Չհաջողվեց այս երգին համապատասխանող տարր գտնել:"
+
+msgid "IDS_MUSIC_POP_BUFFERING_MSTATUS"
+msgstr "Բուֆերացնում է"
+
+msgid "IDS_MUSIC_POP_BT_HEADSET_ONLY_SUPPORTS_NORMAL_EFFECTS_SETTING"
+msgstr "BT գլխային հեռախոսն ապահովում է միայն սովորական էֆեկտների դրվածքը:"
+
+msgid "IDS_MUSIC_POP_APPLICATION_WILL_BE_CLOSED"
+msgstr "Ծրագիրը կփակվի:"
+
+msgid "IDS_MUSIC_POP_ADDED_GO_TO_WISH_LIST_Q"
+msgstr "Ավելացվեց: Անցնե՞լ ցանկությունների ցուցակին:"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_THE_SERVICE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "Ծառայություն մուտք գործելու համար կարող է վճար գանձվել: Շարունակե՞լ:"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_STORE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "Խանութ մուտք գործելու համար կարող է վճար գանձվել: Շարունակե՞լ:"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_ONLY_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES"
+msgstr "5.1 ալիքի հնչյունային էֆեկտը գործում է միայն ականջակալի և Bluetooth գլխային հեռախոսի ռեժիմներում:"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "‘5.1 ալիք’ ձայնային էֆեկտը աշխատում է միայն ականջակալի ռեժիմում:"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECTS_NOT_SUPPORTED_BY_SPEAKER"
+msgstr "5.1 կապուղու հնչյունային էֆեկտները չեն ապահովվում բարձրախոսի կողմից:"
+
+msgid "IDS_MUSIC_OPT_VIEW_BY_COVER_ART"
+msgstr "Դիտել ըստ շապիկի"
+
+msgid "IDS_MUSIC_OPT_SEND_TRACK"
+msgstr "Ուղարկել ձայնագրությունը"
+
+msgid "IDS_MUSIC_OPT_RATE_TRACK"
+msgstr "Գնահատել ձայնագրությունը"
+
+msgid "IDS_MUSIC_OPT_PLAYLIST_MOVE_TRACK_IN_PLAYLIST"
+msgstr "Տեղափոխել ձայնագրությունը երգացանկում"
+
+msgid "IDS_MUSIC_OPT_OPENPLAYLIST_CURRENT"
+msgstr "Ընթացիկ"
+
+msgid "IDS_MUSIC_OPT_DELETE_PLAYLIST"
+msgstr "Ջնջել երգացանկը"
+
+msgid "IDS_MUSIC_OPT_BACKGROUND_PLAYING"
+msgstr "Ֆոնում"
+
+msgid "IDS_MUSIC_HEADER_EFFECTS"
+msgstr "Էֆեկտներ"
+
+msgid "IDS_MUSIC_BUTTON_BUY_NOW"
+msgstr "Գնել հիմա"
+
+msgid "IDS_MUSIC_BODY_WOW_HD"
+msgstr "Wow HD"
+
+msgid "IDS_MUSIC_BODY_WISHLIST"
+msgstr "Ցանկությունների ցուցակ"
+
+msgid "IDS_MUSIC_BODY_WIDE"
+msgstr "Լայն"
+
+msgid "IDS_MUSIC_BODY_WHA_WHA"
+msgstr "Ուա-ուա"
+
+msgid "IDS_MUSIC_BODY_VIBE_WOOFER"
+msgstr "Թրթռումով ՑՀ-բարձրախոս"
+
+msgid "IDS_MUSIC_BODY_TREMOLO"
+msgstr "Վիբրացիա"
+
+msgid "IDS_MUSIC_BODY_TAP_TWICE_TO_PLAY_PAUSE_MUSIC"
+msgstr "Սեղմեք երկու անգամ երաժշտութ. նվագարկելու/դադարեցնելու համար:"
+
+msgid "IDS_MUSIC_BODY_SHARE_TRACK_VIA_BLUETOOTH"
+msgstr "Համատեղ լսեք երիզը Bluetooth-ի միջոցով"
+
+msgid "IDS_MUSIC_BODY_SETUPWIZARD_WELCOME_TO_THE_MUSIC_SETUP_WIZARD_CONTINUE_Q"
+msgstr "Բարի գալուստ Երաժշտության տեղադրման վարպետ:\nՀետևյալ էկրանները կօգնեն ձեզ կարգավորել ձեր հեռախոսը: Շարունակե՞լ:"
+
+msgid "IDS_MUSIC_BODY_QUICK_LIST"
+msgstr "Արագ ցուցակ"
+
+msgid "IDS_MUSIC_BODY_PLAYINGSETTINGS_SOUND_EFFECTS"
+msgstr "Ձայնային էֆեկտներ"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_ALL"
+msgstr "Բոլոր"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_1"
+msgstr "1"
+
+msgid "IDS_MUSIC_BODY_PLAYERSETTINGS_VOLUME"
+msgstr "Բարձրություն"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_SELECTED"
+msgstr "%d երիզ է ընտրվել:"
+
+msgid "IDS_MUSIC_BODY_NO_PODCASTS"
+msgstr "Փոդքասթներ չկան"
+
+msgid "IDS_MUSIC_BODY_FIND_SIMILAR"
+msgstr "Փնտրել միանմանները"
+
+msgid "IDS_MUSIC_BODY_BACKGROUND_PLAY"
+msgstr "Ֆոնային նվագարկում"
+
+msgid "IDS_MUSIC_BODY_51_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "5.1 կապուղին կարող է ակտիվացվել, միայն երբ հնչյունային էֆեկտներն անջատված են:"
+
+msgid "IDS_MUSIC_TAB4_PODCASTS"
+msgstr "Փոդքասթեր"
+
+msgid "IDS_MUSIC_SK2_EDIT_IMAGE"
+msgstr "Խմբագրել պատկերը"
+
+msgid "IDS_MUSIC_POP_PLAYING_ANY_SOUNDS_WILL_STOP_AND_SAVE_YOUR_VOICE_RECORDING_PLAY_Q"
+msgstr "Հնչյունների նվագարկումը կկանգնեցնի և կպահպանի Ձեր ձայնի գրանցումը. նվագարկե՞լ:"
+
+msgid "IDS_MUSIC_POP_MAXIMUM_NUMBER_OF_ITEMS_HPD_SELECTED"
+msgstr "Ընտրվել են առավելագույն թվով տարրեր (%d):"
+
+msgid "IDS_MUSIC_POP_BLUETOOTH_DISCONNECTED"
+msgstr "Bluetooth-ը անջատված է:"
+
+msgid "IDS_MUSIC_POP_5_1_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "5.1 կապուղին կարող է ակտիվացվել, միայն երբ հնչյունային էֆեկտներն անջատված են:"
+
+msgid "IDS_MUSIC_OPT_TAKE_PICTURE"
+msgstr "Նկարել"
+
+msgid "IDS_MUSIC_OPT_SHOW_MUSIC_VIEW_ABB"
+msgstr "Ցույց տալ երաժշտ. դիտումը"
+
+msgid "IDS_MUSIC_OPT_PAUSE"
+msgstr "Դադար"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALBUM"
+msgstr "Վերարտադրել ալբոմը"
+
+msgid "IDS_MUSIC_OPT_LIST_BY"
+msgstr "Թվարկել ըստ"
+
+msgid "IDS_MUSIC_OPT_HISTORY"
+msgstr "Պատմություն"
+
+msgid "IDS_MUSIC_OPT_HIDE_MUSIC_VIEW_ABB"
+msgstr "Թաքցնել երաժշտ. դիտումը"
+
+msgid "IDS_MUSIC_OPT_FIND_TAG"
+msgstr "Որոնել Տեգ"
+
+msgid "IDS_MUSIC_OPT_DROPBOX_CONTENT_ABB"
+msgstr "Dropbox-ի բվնդկթն"
+
+msgid "IDS_MUSIC_OPT_CONTENT_ON_PHONE_ABB"
+msgstr "Հեռախոսի բվնդկթյն"
+
+msgid "IDS_MUSIC_OPT_CHANGE_IMAGE"
+msgstr "Փոխել պատկերը"
+
+msgid "IDS_MUSIC_HEADER_DELETE_DROPBOX_DATA_ABB"
+msgstr "Վերացնել Dropbox տվյլնր"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_STREAM_YOUR_MUSIC_TO_DEVICES_USING_ALLSHARE"
+msgstr "Կարող եք Ձեր երաժշտությունը հոսքային եղանակով փոխանցել AllShare օգտագործող սարքերին:"
+
+msgid "IDS_MUSIC_BODY_VALIDITY"
+msgstr "Վավերականություն"
+
+msgid "IDS_MUSIC_BODY_TYPE_CNOUN"
+msgstr "Տեսակ"
+
+msgid "IDS_MUSIC_BODY_THIS_WILL_DELETE_THE_FILE_FROM_THE_SERVER_AND_ANY_CONNECTED_DEVICES_AS_WELL"
+msgstr "Դա կվերացնի ֆայլը սերվերից, ինչպես նաև ցանկացած միացված սարքերից:"
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_ARTISTS"
+msgstr "Կատարողներ"
+
+msgid "IDS_MUSIC_BODY_PLAYINGDETAILS_ALBUM_ART"
+msgstr "Ալբոմի շապիկ"
+
+msgid "IDS_MUSIC_BODY_OTHER_CONTENTS"
+msgstr "Այլ բովանդակություններ"
+
+msgid "IDS_MUSIC_BODY_NAME_TOO_LONG"
+msgstr "Անունը չափազանց երկար է:"
+
+msgid "IDS_MUSIC_BODY_MUSIC_CLARITY"
+msgstr "Երաժշտության պարզություն"
+
+msgid "IDS_MUSIC_BODY_HIGH_VOLUMES_MAY_HARM_YOUR_HEARING_IF_YOU_LISTEN_FOR_A_LONG_TIME"
+msgstr "Բարձր ձայնը կարող է վնասել Ձեր լսողությունը, եթե այն լսեք երկար ժամանակ:"
+
+msgid "IDS_MUSIC_BODY_AVAILABLE_USES"
+msgstr "Հասանելի օգտվողներ"
+
+msgid "IDS_MUSIC_TPOP_SOUND_EFFECTS_ONLY_AVAILABLE_WHILE_HEADPHONES_CONNECTED"
+msgstr "Հնչյունային էֆեկտները մատչելի են միայն այն ժամանակ, երբ ականջակալները միացված են:"
+
+msgid "IDS_ST_OPT_ADD_TO_YOUR_PERSONAL_STORAGE"
+msgstr "Ավելացրեք Ձեր անհատական պահոցը"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_YOUR_PERSONAL_STORAGE"
+msgstr "Հեռացրեք Ձեր անհատական պահոցից"
+
+msgid "IDS_ST_BODY_CONTEXTUAL_POP_UP_T_TALKBACK"
+msgstr "Համատեքստային ելնող պատուհան"
+
+msgid "IDS_ST_BODY_A_CONTEXTUAL_POP_UP_IS_OPEN_DOUBLE_TAP_TO_CLOSE_IT_T_TALKBACK"
+msgstr "Համատեքստային ելնող պատուհան է բաց: Կրկնակի թակեք՝ այն փակելու համար"
+
+msgid "IDS_ST_BODY_REPEAT_ONE"
+msgstr "Կրկնել մեկ"
+
+msgid "IDS_ST_BUTTON_MOVING_ING"
+msgstr "Տեղափոխվում է..."
+
+msgid "IDS_HS_BODY_SELECT_UP_TO_PD_ITEMS"
+msgstr "Ընտրեք մինչև %d տարր"
+
+msgid "IDS_CAM_BODY_TAB_T_TTS"
+msgstr "Ներդիր"
+
+msgid "IDS_DLNA_OPT2_CHANGE_PLAYER"
+msgstr "Փոխել նվագարկիչը"
+
+msgid "IDS_BR_SK_TABS"
+msgstr "Ներդիրներ"
+
+msgid "IDS_MF_BODY_DROPBOX_ABB"
+msgstr "Dropbox"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Ինքնաբերական առաջարկությունները կարող են քաղվածքներ դուրս բերել ձայնային ֆայլերից:"
+
+msgid "IDS_MF_BODY_PARENT_RATING"
+msgstr "Ծնողի գնահատական"
+
+msgid "IDS_VR_POP_FILE_NOT_FOUND"
+msgstr "Ֆայլը հայտնաբերված չէ:"
+
+msgid "IDS_PB_POP_CALLER_RINGTONE_SAVED"
+msgstr "Զանգահարողի զանգի մեղեդին պահպանված է:"
+
+msgid "IDS_MUSIC_BODY_BIT_DEPTH"
+msgstr "Բիթային խորություն"
+
+msgid "IDS_MUSIC_BODY_SIZE"
+msgstr "Չափս"
+
+msgid "IDS_MF_HEADER_PD_SELECTED"
+msgstr "%d ընտրվել է"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_THIS_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Այս սարքում գործեր հավելելուց հետո դրանք կցուցադրվեն այստեղ:"
+
+msgid "IDS_MUSIC_TMBODY_LENGTH"
+msgstr "Երկարություն"
+
+msgid "IDS_MUSIC_POP_1_FOLDER_WILL_BE_DELETED"
+msgstr "1 պանակ կջնջվի:"
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Պարունակության բացակայություն"
+
+msgid "IDS_MUSIC_ITAB4_FOLDERS"
+msgstr "Պանակներ"
+
+msgid "IDS_MUSIC_HEADER_MY_PLAYLISTS_ABB"
+msgstr "Իմ երգացանկերը"
+
+msgid "IDS_MP_BODY_SOUND_PLAYER"
+msgstr "Ձայնի նվագարկում"
+
+msgid "IDS_MUSIC_OPT_SETTINGS"
+msgstr "Պարամետրեր"
+
+msgid "IDS_MUSIC_POP_DELETING"
+msgstr "Ջնջվում է..."
+
+msgid "IDS_MUSIC_POP_1_TRACK_WILL_BE_DELETED"
+msgstr "1 շավիղ կվերացվի:"
+
+msgid "IDS_MUSIC_POP_ALL_TRACKS_WILL_BE_DELETED"
+msgstr "Բոլոր շավիղները կվերացվեն"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_WILL_BE_DELETED"
+msgstr "%d շավիղներ կվերացվեն:"
+
+msgid "IDS_MUSIC_POP_1_PLAYLIST_WILL_BE_DELETED"
+msgstr "1 երգացանկ կվերացվի:"
+
+msgid "IDS_MUSIC_POP_PD_PLAYLISTS_WILL_BE_DELETED"
+msgstr "%d երգացանկ կվերացվի:"
+
+msgid "IDS_MUSIC_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "%d ալբոմ կվերացվի:"
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS_WILL_BE_DELETED"
+msgstr "%d կատարող կվերացվի:"
+
+msgid "IDS_MUSIC_POP_PD_FOLDERS_WILL_BE_DELETED"
+msgstr "%d թղթապանակ կջնջվի:"
+
+msgid "IDS_ST_POP_CONNECTION_FAILED"
+msgstr "Միացումը ձախողվեց:"
+
+msgid "IDS_MUSIC_BODY_CLASSIC"
+msgstr "Դասական"
+
+msgid "IDS_MUSIC_BODY_ROCK"
+msgstr "Ռոք"
+
+msgid "IDS_MUSIC_BODY_JAZZ"
+msgstr "Ջազ"
+
+msgid "IDS_MUSIC_BODY_POP"
+msgstr "Փոփ"
+
+msgid "IDS_MUSIC_BODY_AUTO"
+msgstr "Ավտոմատ"
+
+msgid "IDS_MUSIC_POP_CURRENT_SOUND_EFFECT_NOT_SUPPORTED_BY_HDMI"
+msgstr "Ընթացիկ հնչյունային էֆեկտը չի ապահովվում HDMI-ի կողմից:"
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_BLUETOOTH"
+msgstr "Հնչյունային էֆեկտները չեն ապահովվում Bluetooth-ի կողմից:"
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_LINE_OUT"
+msgstr "Հնչյունային էֆեկտները չեն ապահովվում ձայնի գծային անալոգային տարածաելքի կողմից:"
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_HDMI"
+msgstr "Հնչյունային էֆեկտները չեն ապահովվում HDMI-ի կողմից:"
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EFFECT"
+msgstr "Լամպային ուժեղարար"
+
+msgid "IDS_MUSIC_BODY_CUSTOM"
+msgstr "Կարգավորել"
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EQUALISER_ABB"
+msgstr "Լամպ. ուժեղարար"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d շավիղ ավելացվել է երգացանկին:"
+
+msgid "IDS_MUSIC_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 շավիղ ավելացվել է երգացանկին"
+
+msgid "IDS_MUSIC_HEADER_ADD_TRACKS_TO_PLAYLIST_ABB"
+msgstr "Շավիղներ ավելացնել երգացանկին"
+
+msgid "IDS_MUSIC_POP_PS_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "%s արդեն օգտագործվում է. մուտքագրել այլ անուն:"
+
+msgid "IDS_MUSIC_TMBODY_DATE_OF_RECORDING"
+msgstr "Գրանցման թվականը"
+
+msgid "IDS_MBP_TPOP_TRACK_SET_AS_ALARM_TONE"
+msgstr "Շավիղը դրվեց որպես տագնապի հնչերանգ:"
+
+msgid "IDS_MUSIC_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Արդյունքներ չեն գտնվել"
+
+msgid "IDS_MUSIC_OPT_DEFAULT_RINGTONE_ABB"
+msgstr "Կանխադրված հնչերանգ"
+
+msgid "IDS_MUSIC_TPOP_TRACK_SET_AS_CALLER_RINGTONE"
+msgstr "Շավիղը դրվեց որպես զանգահարողի հնչերանգ:"
+
+msgid "IDS_MP_TPOP_TRACK_SET_AS_RINGTONE"
+msgstr "Շավիղը դրվեց որպես զանգի հնչերանգ:"
+
+msgid "IDS_DLNA_BODY_ADD_TO_NOW_PLAYING_LIST"
+msgstr "Ավելացնել այժմ նվագարկվող ցանկին"
+
+msgid "IDS_MUSIC_TPOP_EQUALISER_SETTINGS_WILL_BE_APPLIED_WHILE_PLAYING_MUSIC"
+msgstr "Հավասարիչի դրվածքները կկիրառվեն երաժշտություն նվագարկելու ընթացքում:"
+
+msgid "IDS_ST_BODY_ALERT"
+msgstr "Ազդանշան"
+
+msgid "IDS_IV_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 ալբոմ կվերացվի:"
+
+msgid "IDS_MUSIC_OPT_SD_CARD"
+msgstr "SD քարտ"
+
+msgid "IDS_MUSIC_SBODY_DEVICE_STORAGE"
+msgstr "Սարքի պահոց"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE"
+msgstr "Երգացանկի անունն արդեն գործածվում է:"
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_PD"
+msgstr "Երգացանկ %d"
+
+msgid "IDS_MUSIC_HEADER_CREATE"
+msgstr "Ստեղծել"
+
+msgid "IDS_MUSIC_HEADER_EQUALISER_PRESET_ABB"
+msgstr "Հավասարիչը նախադրված է"
+
+msgid "IDS_MUSIC_OPT_AUTOMATIC_M_EQUALIZER_EFFECT"
+msgstr "Ինքնաբերական"
+
+msgid "IDS_MUSIC_OPT_CLASSICAL_M_EQUALIZER_EFFECT"
+msgstr "Դասական"
+
+msgid "IDS_MUSIC_HEADER_ENVIRONMENT_EFFECT_ABB"
+msgstr "Շրջակա միջավայրի էֆեկտ"
+
+msgid "IDS_VIDEO_POP_THE_FILE_TYPE_IS_NOT_SUPPORTED"
+msgstr "Ֆայլի տիպը չի ապահովվում:"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_CREATE_PLAYLISTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Երգացանկեր ստեղծելուց հետո դրանք կցուցադրվեն այստեղ:"
+
+msgid "IDS_ST_HEADER_SELECT_AUDIO_DEVICE_ABB"
+msgstr "Ընտրել ձայնասարք"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "Երգացանկի անունն արդեն գործածվում է: Մուտքագրեք այլ անուն:"
+
+msgid "IDS_MUSIC_HEADER_SOUNDALIVE_ABB3"
+msgstr "SoundAlive"
+
+msgid "IDS_MUSIC_OPT_NOW_PLAYING_LIST"
+msgstr "Այժմ վերարտադրվող ցանկ"
+
+msgid "IDS_MUSIC_OPT_SHOW_LYRICS"
+msgstr "Ցույց տալ խոսքերը"
+
+msgid "IDS_MUSIC_OPT_HIDE_LYRICS"
+msgstr "Թաքցնել խոսքերը"
+
+msgid "IDS_MUSIC_TPOP_UNABLE_TO_PLAY_MUSIC_DURING_CALLS"
+msgstr "Անհնար է երաժշտություն նվագարկել կանչի ընթացքում:"
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Վերացնել"
+
+msgid "IDS_MUSIC_HEADER_SELECT"
+msgstr "Ընտրել"
+
+msgid "IDS_TPLATFORM_OPT_NFC"
+msgstr "NFC"
+
+msgid "IDS_MUSIC_HEADER_UNABLE_TO_PLAY_TRACK"
+msgstr "Անհնար է նվագարկել շավիղը"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "ԱՐՎԱԾ"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ԴԱԴԱՐԵՑՆԵԼ"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "ՎԵՐԱՑՆԵԼ"
+
+msgid "IDS_MUSIC_POP_RENAME"
+msgstr "Վերանվանել"
+
+msgid "IDS_MUSIC_OPT_MESSAGE"
+msgstr "Հաղորդագրություն"
+
+msgid "IDS_MUSIC_SK_OK"
+msgstr "Ընդունել"
+
+msgid "IDS_MUSIC_SK_CANCEL"
+msgstr "Չեղարկել"
+
+msgid "IDS_MUSIC_BUTTON_REFRESH"
+msgstr "Նորացնել"
+
+msgid "IDS_MUSIC_BODY_SELECT_ALL"
+msgstr "Ընտրել բոլորը"
+
+msgid "IDS_MUSIC_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_MUSIC_POP_DELETED"
+msgstr "Ջնջված է:"
+
+msgid "IDS_MUSIC_OPT_STOP"
+msgstr "Դադարեցնել"
+
+msgid "IDS_MUSIC_BODY_UNKNOWN"
+msgstr "Անհայտ"
+
+msgid "IDS_MUSIC_BODY_TITLE"
+msgstr "Վերնագիր"
+
+msgid "IDS_MUSIC_OPT_SENDVIA_EMAIL"
+msgstr "Էլ.փոստ"
+
+msgid "IDS_MUSIC_OPT_BLUETOOTH"
+msgstr "Bluetooth"
+
+msgid "IDS_MUSIC_HEADER_DOWNLOAD"
+msgstr "Ներբեռնել"
+
+msgid "IDS_MUSIC_POP_LOW_BATTERY"
+msgstr "Մարտկոցի լիցքը թույլ է:"
+
+msgid "IDS_MUSIC_HEADER_AUDIO_DEVICE"
+msgstr "Ձայնային սարք"
+
+msgid "IDS_MUSIC_HEADER_DETAILS"
+msgstr "Մանրամասներ"
+
+msgid "IDS_MUSIC_OPT_END"
+msgstr "Ավարտ"
+
+msgid "IDS_MUSIC_OPT_EDIT"
+msgstr "Խմբագրել"
+
+msgid "IDS_CAM_HEADER_UPDATED"
+msgstr "Թարմացված է:"
+
+msgid "IDS_MUSIC_POP_REMOVED"
+msgstr "Հեռացված է"
+
+msgid "IDS_MUSIC_OPT_SELECTED"
+msgstr "Ընտրված"
+
+msgid "IDS_ST_BUTTON_SCAN"
+msgstr "Զննել"
+
+msgid "IDS_MF_POP_ERROR"
+msgstr "Սխալ:"
+
+msgid "IDS_MF_POP_MEMORY_FULL"
+msgstr "Հիշողութունը լիքն է:"
+
+msgid "IDS_MUSIC_MBODY_QUEUE"
+msgstr "Հերթ"
+
+msgid "IDS_MUSIC_OPT_VOLUME"
+msgstr "Բարձրություն"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE"
+msgstr "Պատահական"
+
+msgid "IDS_MUSIC_OPT_REPEAT"
+msgstr "Կրկնել"
+
+msgid "IDS_COM_BODY_DETAILS"
+msgstr "Details"
+
+msgid "IDS_COM_BODY_DETAILS_TITLE"
+msgstr "Title"
+
+msgid "IDS_COM_BODY_EDIT"
+msgstr "Edit"
+
+msgid "IDS_COM_BODY_EMAIL"
+msgstr "Email"
+
+msgid "IDS_COM_BODY_END"
+msgstr "End"
+
+msgid "IDS_COM_BODY_FOLDERS"
+msgstr "Folders"
+
+msgid "IDS_COM_BODY_GALLERY"
+msgstr "Gallery"
+
+msgid "IDS_COM_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_COM_BODY_LOADING"
+msgstr "Loading..."
+
+msgid "IDS_COM_BODY_LOW_BATTERY"
+msgstr "Low battery."
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Message"
+
+msgid "IDS_COM_BODY_MUSIC"
+msgstr "Music"
+
+msgid "IDS_COM_BODY_NFC"
+msgstr "NFC"
+
+msgid "IDS_COM_BODY_NO_CONTENTS"
+msgstr "No content"
+
+msgid "IDS_COM_BODY_PAUSE"
+msgstr "Pause"
+
+msgid "IDS_COM_BODY_PD_SELECTED"
+msgstr "%d selected."
+
+msgid "IDS_COM_BODY_PREVIOUS"
+msgstr "Previous"
+
+msgid "IDS_COM_BODY_RESET_A"
+msgstr "Reset"
+
+msgid "IDS_COM_BODY_SELECTED"
+msgstr "Selected"
+
+msgid "IDS_COM_BODY_SELECT_ALL"
+msgstr "Select all"
+
+msgid "IDS_COM_BODY_SETTINGS"
+msgstr "Settings"
+
+msgid "IDS_COM_BODY_TIME"
+msgstr "Time"
+
+msgid "IDS_COM_BODY_UNABLE_TO_ADD"
+msgstr "Unable to add."
+
+msgid "IDS_COM_BODY_UNKNOWN"
+msgstr "Unknown"
+
+msgid "IDS_COM_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_COM_BUTTON_SCAN"
+msgstr "Scan"
+
+msgid "IDS_COM_BUTTON_SHARE"
+msgstr "Share"
+
+msgid "IDS_COM_HEADER_AUDIO_DEVICE_ABB"
+msgstr "Audio device"
+
+msgid "IDS_COM_OPT_ADDED"
+msgstr "Added."
+
+msgid "IDS_COM_OPT_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_POP_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_POP_CONNECTION_FAILED"
+msgstr "Connection failed."
+
+msgid "IDS_COM_POP_DELETED"
+msgstr "Deleted."
+
+msgid "IDS_COM_POP_DELETE_Q"
+msgstr "Delete?"
+
+msgid "IDS_COM_POP_DONE"
+msgstr "Done"
+
+msgid "IDS_COM_POP_DOWNLOADING"
+msgstr "Downloading..."
+
+msgid "IDS_COM_POP_ERROR"
+msgstr "Error."
+
+msgid "IDS_COM_POP_FAILED"
+msgstr "Failed."
+
+msgid "IDS_COM_POP_FILE_NOT_EXIST"
+msgstr "This file does not exist."
+
+msgid "IDS_COM_POP_FILE_NOT_FOUND"
+msgstr "File not found."
+
+msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximum number of characters reached."
+
+msgid "IDS_COM_POP_MEMORY_FULL"
+msgstr "Memory full."
+
+msgid "IDS_COM_POP_REMOVED"
+msgstr "Removed."
+
+msgid "IDS_COM_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Unable to use during Mass storage mode."
+
+msgid "IDS_COM_POP_UPDATED"
+msgstr "Updated."
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_SK_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_SK_DOWNLOAD"
+msgstr "Download"
+
+msgid "IDS_COM_SK_NEW"
+msgstr "New"
+
+msgid "IDS_COM_SK_NEXT"
+msgstr "Next"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_SK_REFRESH"
+msgstr "Refresh"
+
+msgid "IDS_COM_SK_REMOVE"
+msgstr "Remove"
+
+msgid "IDS_COM_SK_SAVE"
+msgstr "Save"
+
+msgid "IDS_COM_SK_SELECT"
+msgstr "Select"
+
+msgid "IDS_COM_SK_SET"
+msgstr "Set"
+
+msgid "IDS_COM_SK_STOP"
+msgstr "Stop"
+
+
+msgid "IDS_MH_BODY_THE_PLAYLIST_NAME_PS_IS_ALREADY_IN_USE"
+msgstr "The playlist name %s is already in use."
+
+msgid "IDS_MH_BODY_TOTAL"
+msgstr "Total"
+
+msgid "IDS_MH_MBODY_RECENTLY_ADDED_M_SONG"
+msgstr "Recently added"
+
+msgid "IDS_MH_OPT_MORE_INFO_ABB"
+msgstr "More info"
+
+msgid "IDS_MH_POP_ALARM_TONE_SET"
+msgstr "Alarm tone set."
+
+msgid "IDS_MH_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 track added to playlist."
+
+msgid "IDS_MH_TPOP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d tracks added to playlist."
+
+msgid "IDS_MUSIC_OPT_RENAME"
+msgstr "Rename"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Unable to play during call."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Ֆայլերի առավելագույն քանակը գերազանցվել է:"
+
+msgid "IDS_CAM_TPOP_UNABLE_TO_PLAY_MUSIC_WHILE_RECORDING_AUDIO_OR_VIDEO"
+msgstr "Անհնար է երաժշտություն նվագարկել ձայնագրելու կամ տեսագրելու ընթացքում:"
+
--- /dev/null
+msgid "IDS_ST_BODY_LOADING_ING"
+msgstr "Hleð..."
+
+msgid "IDS_GALLERY_OPT_PRIVATE_M_CONTENT"
+msgstr "Einkamál"
+
+msgid "IDS_MF_BODY_TIME"
+msgstr "Tími"
+
+msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
+msgstr "Skráin er ekki til."
+
+msgid "IDS_MUSIC_POP_PHONE_RINGTONE"
+msgstr "Hringitónn síma"
+
+msgid "IDS_MUSIC_BODY_DURATION"
+msgstr "Tímalengd"
+
+msgid "IDS_MUSIC_BODY_MUSIC_LOCATION"
+msgstr "Staðsetning"
+
+msgid "IDS_MUSIC_BODY_SET_AS_M_RINGTONE"
+msgstr "Setja sem"
+
+msgid "IDS_ST_OPT_ADD_TO_PERSONAL_PAGE"
+msgstr "Bæta á einkasíðu"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_PERSONAL_PAGE_ABB"
+msgstr "Fjarlægja af einkasíðu"
+
+msgid "IDS_ST_POP_MOVE_TO_NORMAL_STORAGE"
+msgstr "Færa í venjulega geymslu"
+
+msgid "IDS_ST_POP_MOVE_TO_PERSONAL_STORAGE"
+msgstr "Færa í einkageymslu"
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEMS_WILL_BE_MOVED_TO_PS"
+msgstr "Valin atriði verða færð í %s."
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEM_WILL_BE_MOVED_TO_PS"
+msgstr "Valið atriði verður fært í %s."
+
+msgid "IDS_VR_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Ekki hægt að nota í gagnageymslustillingu."
+
+msgid "IDS_MUSIC_POP_RINGTONE_ADDED"
+msgstr "Hringitón var bætt við."
+
+msgid "IDS_CAM_BODY_BUTTON_T_TTS"
+msgstr "Hnappur"
+
+msgid "IDS_MUSIC_HEADER_SELECT_ITEMS"
+msgstr "Velja hluti"
+
+msgid "IDS_ST_BODY_ADVANCED"
+msgstr "Fleiri valkostir"
+
+msgid "IDS_ST_SK_PREVIOUS"
+msgstr "Fyrri"
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Loka"
+
+msgid "IDS_MUSIC_POP_ADDED"
+msgstr "Bætt við."
+
+msgid "IDS_MUSIC_POP_FAILED"
+msgstr "Mistókst."
+
+msgid "IDS_MUSIC_BODY_NO_SEARCH_RESULTS"
+msgstr "Engar leitarniðurstöður"
+
+msgid "IDS_MUSIC_SK_DONE"
+msgstr "Lokið"
+
+msgid "IDS_MUSIC_BODY_NO_ITEMS"
+msgstr "Engin atriði"
+
+msgid "IDS_BR_OPT_ADD_TO_HOME"
+msgstr "Bæta á heimaskjá"
+
+msgid "IDS_BR_SK_NEXT"
+msgstr "Næsta"
+
+msgid "IDS_BR_BODY_DOWNLOADING_ING"
+msgstr "Verið er að hala niður..."
+
+msgid "IDS_IV_BODY_FAVOURITE"
+msgstr "Uppáhald"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_PERSONAL_STORAGE"
+msgstr "Setja í einkageymslu"
+
+msgid "IDS_DLNA_POP_DISCONNECTED_FROM_PS_CHECK_THE_NETWORK_STATUS_AND_THE_CONNECTED_DEVICE"
+msgstr "Aftengt frá %s. Athugaðu stöðu nettengingarinnar og tengda tækið."
+
+msgid "IDS_DLNA_OPT_VIA_SCREEN_MIRRORING_ABB"
+msgstr "Um Screen Mirroring"
+
+msgid "IDS_DLNA_OPT_VIA_HOME_NETWORK_ABB"
+msgstr "Um heimanet"
+
+msgid "IDS_IV_POP_ENTRY_IS_EMPTY"
+msgstr "Færsla er tóm."
+
+msgid "IDS_FM_POP_UNAVAILABLE_DURING_CALL"
+msgstr "Ekki tiltækt í símtali."
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Hámarksfjölda stafa hefur verið náð."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_SHARE_DRM_FILE"
+msgstr "Ekki er hægt að deila höfundarréttarvarinni skrá."
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Verið er að fjarlægja..."
+
+msgid "IDS_MUSIC_HEADER_PD_DEVICES"
+msgstr "%d tæki"
+
+msgid "IDS_MUSIC_BUTTON_ENABLE_MOTION"
+msgstr "Hreyfing á"
+
+msgid "IDS_MUSIC_BUTTON_DONT_ASK_AGAIN"
+msgstr "Ekki spyrja aftur"
+
+msgid "IDS_MUSIC_BODY_NO_RESULTS_FOUND"
+msgstr "Ekkert fannst."
+
+msgid "IDS_VPL_OPT_HDMI"
+msgstr "HDMI"
+
+msgid "IDS_MUSIC_BODY_TURN_PHONE_OVER_TO_MUTE_INCOMING_CALLS_MESSAGE_ALERTS_AND_ALARMS"
+msgstr "Snúðu símanum við til að slökkva á hringingum, skilaboðatónum og áminningum."
+
+msgid "IDS_ST_BODY_NONE"
+msgstr "Ekkert"
+
+msgid "IDS_ST_BODY_INTERNET"
+msgstr "Internetið"
+
+msgid "IDS_ST_BODY_GALLERY"
+msgstr "Gallerí"
+
+msgid "IDS_ST_BODY_DOUBLE_TAP_TO_MOVE_TO_CONTENT_T_TTS"
+msgstr "Tvípikkaðu til að færa efni."
+
+msgid "IDS_MUSIC_BODY_SURROUND"
+msgstr "Surround"
+
+msgid "IDS_MUSIC_OPT_LYRICS_ABB"
+msgstr "Texti"
+
+msgid "IDS_MUSIC_POP_AFTER_YOU_ADD_TRACKS_TO_MUSIC_ON_YOUR_MOBILE_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Lög birtast hér eftir að þeim er bætt við Tónlist í fartækinu."
+
+msgid "IDS_MUSIC_BODY_SAMPLING_RATE"
+msgstr "Tóngæði"
+
+msgid "IDS_MUSIC_BODY_MARKED_AS_A_FAVOURITE"
+msgstr "Merkt sem uppáhald."
+
+msgid "IDS_MUSIC_BODY_MUSIC"
+msgstr "Tónlist"
+
+msgid "IDS_MUSIC_BODY_NOT_MARKED_AS_A_FAVOURITE"
+msgstr "Ekki merkt sem uppáhald."
+
+msgid "IDS_MUSIC_HEADER_SEARCH_MUSIC_ABB"
+msgstr "Leita að tónlist"
+
+msgid "IDS_MUSIC_POP_AUTO_RECOMMENDATION_DOES_NOT_SUPPORT_THIS_AUDIO_FILE"
+msgstr "Sjálfvirkar tillögur styðja ekki þessa hljóðskrá."
+
+msgid "IDS_MUSIC_POP_SORRY_THE_PLAYER_DOES_NOT_SUPPORT_THIS_TYPE_OF_AUDIO_FILE"
+msgstr "Spilarinn styður ekki þessa gerð hljóðskráa."
+
+msgid "IDS_MUSIC_BODY_FAVOURITES"
+msgstr "Eftirlæti"
+
+msgid "IDS_MUSIC_BODY_MOST_PLAYED"
+msgstr "Spilað mest"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_ADDED"
+msgstr "Bætt við nýlega"
+
+msgid "IDS_MUSIC_OPT_CREATE_PLAYLIST"
+msgstr "Búa til afspilunarlista"
+
+msgid "IDS_MUSIC_OPT_REMOVE"
+msgstr "Fjarlægja"
+
+msgid "IDS_MUSIC_OPT_SETAS_CALLER_RINGTONE"
+msgstr "Hringitónn hringjanda"
+
+msgid "IDS_MUSIC_TAB4_ARTISTS"
+msgstr "Flytjandi"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD"
+msgstr "Ekki tókst að bæta við."
+
+msgid "IDS_MUSIC_POP_UNABLE_CREATE_PLAYLIST"
+msgstr "Ekki tókst að búa til afspilunarlista."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_GET_TAG"
+msgstr "Merki fannst ekki."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_MORE_THAN_PD_MUSIC_FILE"
+msgstr "Ekki tókst að bæta við nema %d tónlistarskrám."
+
+msgid "IDS_MUSIC_BODY_ALBUM"
+msgstr "Plata"
+
+msgid "IDS_MUSIC_BODY_AUTHOR"
+msgstr "Höfundur"
+
+msgid "IDS_MUSIC_BODY_COPYRIGHT"
+msgstr "Höfundaréttur"
+
+msgid "IDS_MUSIC_BODY_CREATE_PLAYLIST"
+msgstr "Búa til afspilunarlista"
+
+msgid "IDS_MUSIC_BODY_DESCRIPTION"
+msgstr "Lýsing"
+
+msgid "IDS_MUSIC_BODY_FORMAT"
+msgstr "Snið"
+
+msgid "IDS_MUSIC_BODY_IMPOSSIBLE"
+msgstr "Ekki hægt"
+
+msgid "IDS_MUSIC_BODY_NO_PLAYLISTS"
+msgstr "Engir spilunarlistar"
+
+msgid "IDS_MUSIC_BODY_TRACK_NUMBER"
+msgstr "Númer lags"
+
+msgid "IDS_MUSIC_POP_DELETE_Q"
+msgstr "Á að eyða?"
+
+msgid "IDS_MUSIC_POP_REMOVE_Q"
+msgstr "Á að fjarlægja?"
+
+msgid "IDS_MUSIC_POP_UNABLE_RENAME_PLAYLIST"
+msgstr "Ekki tókst að endurnefna afspilunarlista."
+
+msgid "IDS_MUSIC_TAB4_ALBUMS"
+msgstr "Albúm"
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Verið er að bæta við..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Viltu eyða %d albúmum?"
+
+msgid "IDS_MUSIC_TAB4_PLAYLISTS"
+msgstr "Spilunarlistar"
+
+msgid "IDS_MUSIC_OPT_ADD"
+msgstr "Bæta við"
+
+msgid "IDS_MUSIC_BODY_BIOGRAPHY"
+msgstr "Upplýsingar"
+
+msgid "IDS_MUSIC_BODY_CREDITS"
+msgstr "Höfundar"
+
+msgid "IDS_MUSIC_BODY_DETAILS_MEADIA_INFO"
+msgstr "Miðlaupplýsingar"
+
+msgid "IDS_MUSIC_BODY_DISCOGRAPHY"
+msgstr "Útgáfusaga"
+
+msgid "IDS_MUSIC_BODY_LYRIC"
+msgstr "Texti"
+
+msgid "IDS_MUSIC_BODY_POSSIBLE"
+msgstr "Mögulegt"
+
+msgid "IDS_MUSIC_BODY_REVIEW"
+msgstr "Endurskoða"
+
+msgid "IDS_MUSIC_HEADER_TRACK_LIST"
+msgstr "Lagalisti"
+
+msgid "IDS_MUSIC_BODY_ADD_TO_PLAYLIST"
+msgstr "Bæta við lagalista"
+
+msgid "IDS_MUSIC_BODY_ARTIST"
+msgstr "Listamaður"
+
+msgid "IDS_MUSIC_BODY_FORWARDING"
+msgstr "Framsending"
+
+msgid "IDS_MUSIC_BODY_RECORDED_DATE"
+msgstr "Date of recording"
+
+msgid "IDS_MUSIC_BODY_PLAYLISTS"
+msgstr "Lagalistar"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_PLAYED"
+msgstr "Spilað nýlega"
+
+msgid "IDS_MUSIC_BODY_TRACK_LENGTH"
+msgstr "Lengd lags"
+
+msgid "IDS_MUSIC_HEADER_NO_SONGS"
+msgstr "Engin lög"
+
+msgid "IDS_MUSIC_POP_THIS_TRACK_WILL_BE_DELETED"
+msgstr "Þessu lagi verður eytt."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_TRACKS_WILL_BE_DELETED"
+msgstr "Völdum lögum verður eytt."
+
+msgid "IDS_MUSIC_POP_THIS_ARTIST_WILL_BE_DELETED"
+msgstr "Þessum tónlistarmanni verður eytt."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ARTISTS_WILL_BE_DELETED"
+msgstr "Völdum flytjendum verður eytt."
+
+msgid "IDS_MUSIC_POP_ALL_ARTISTS_WILL_BE_DELETED"
+msgstr "Öllum tónlistarmönnum verður eytt."
+
+msgid "IDS_MUSIC_POP_THIS_FOLDER_WILL_BE_DELETED"
+msgstr "Þessari möppu verður eytt."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_FOLDERS_WILL_BE_DELETED"
+msgstr "Völdum möppum verður eytt."
+
+msgid "IDS_MUSIC_POP_ALL_FOLDERS_WILL_BE_DELETED"
+msgstr "Öllum möppum verður eytt."
+
+msgid "IDS_MUSIC_POP_THIS_ALBUM_WILL_BE_DELETED"
+msgstr "Þessari plötu verður eytt."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ALBUMS_WILL_BE_DELETED"
+msgstr "Völdum albúmum verður eytt."
+
+msgid "IDS_MUSIC_POP_ALL_ALBUMS_WILL_BE_DELETED"
+msgstr "Öllum plötum verður eytt."
+
+msgid "IDS_MUSIC_POP_THIS_PLAYLIST_WILL_BE_DELETED"
+msgstr "Lagalistanum verður eytt."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Völdum spilunarlistum verður eytt."
+
+msgid "IDS_MUSIC_POP_ALL_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Öllum lagalistum verður eytt."
+
+msgid "IDS_MUSIC_HEADER_SONGS"
+msgstr "Lög"
+
+msgid "IDS_MUSIC_OPT_REORDER"
+msgstr "Endurraða"
+
+msgid "IDS_MUSIC_OPT_SAVE_AS_PLAYLIST"
+msgstr "Vista sem lagalista"
+
+msgid "IDS_MUSIC_OPT_SETAS_ALARM_TONE"
+msgstr "Vekjaratónn"
+
+msgid "IDS_MUSIC_POP_NOTHING_SELECTED"
+msgstr "Ekkert er valið."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Mistókst að spila. Villa kom upp."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_UNSUPPORTED_FILETYPE"
+msgstr "Ekki tókst að spila. Óstutt skrársnið."
+
+msgid "IDS_MUSIC_SK_SHARE"
+msgstr "Samnýta"
+
+msgid "IDS_MUSIC_TAB4_CONDUCTORS"
+msgstr "Stjórar"
+
+msgid "IDS_MUSIC_HEADER_SELECT_DEVICE"
+msgstr "Veldu tæki"
+
+msgid "IDS_MUSIC_SK_VIEW_AS"
+msgstr "Birta sem"
+
+msgid "IDS_MUSIC_BODY_SOUNDEFFECTS_NORMAL"
+msgstr "Venjulegt"
+
+msgid "IDS_MUSIC_BODY_USER"
+msgstr "Notandi"
+
+msgid "IDS_MUSIC_BODY_VOCAL_M_SOUNDEFFECT"
+msgstr "Söngur"
+
+msgid "IDS_MUSIC_MBODY_BASS_BOOST"
+msgstr "Bassaaukning"
+
+msgid "IDS_MUSIC_MBODY_TREBLE_BOOST"
+msgstr "Hátónaaukning"
+
+msgid "IDS_MUSIC_BODY_CAFE_M_SOUNDEFFECT"
+msgstr "Kaffihús"
+
+msgid "IDS_MUSIC_OPT_VIRTUAL_71_CH"
+msgstr "Sýndar 7.1 ch"
+
+msgid "IDS_MUSIC_OPT_AFTER_15_MIN_ABB"
+msgstr "Eftir 15 mín."
+
+msgid "IDS_MUSIC_BODY_AFTER_30_MIN"
+msgstr "Eftir 30 mín."
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HOUR"
+msgstr "Eftir 1 klst."
+
+msgid "IDS_MUSIC_POP_AFTER_1_HOUR_30_MIN"
+msgstr "Eftir 1 klst. 30 mín."
+
+msgid "IDS_MUSIC_BODY_AFTER_2_HOURS"
+msgstr "Eftir 2 klukkustundir"
+
+msgid "IDS_MUSIC_BODY_MUSIC_AUTO_OFF"
+msgstr "Sjálfvirk lokun"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES_ONLY"
+msgstr "Þessi hljóðbrella virkar aðeins í með heyrnartólum og Bluetooth höfuðtólum."
+
+msgid "IDS_MUSIC_TAB4_MUSIC_SQUARE"
+msgstr "Tónfern."
+
+msgid "IDS_MUSIC_POP_NOT_ENOUGH_MUSIC_FILES_TO_PLAY_IN_MUSIC_SQUARE_AT_LEAST_PD_MUSIC_FILES_REQUIRED"
+msgstr "Of fáar tónlistarskrár til að spila í Tónlistarferningi . Lágmarkið er %d tónlistarskrár."
+
+msgid "IDS_MUSIC_BODY_PASSION_M_MOOD"
+msgstr "Ástríða"
+
+msgid "IDS_MUSIC_BODY_CALM_M_ADJECTIVE"
+msgstr "Rólegt"
+
+msgid "IDS_MUSIC_BODY_JOY_M_MOOD"
+msgstr "Gleði"
+
+msgid "IDS_MUSIC_BODY_LIBRARY_UPDATE"
+msgstr "Uppfærsla á safni"
+
+msgid "IDS_MUSIC_POP_UPDATE_LIBRARY_Q"
+msgstr "Uppfæra safn?"
+
+msgid "IDS_MUSIC_BODY_CHANGE_AXIS"
+msgstr "Breyta ás"
+
+msgid "IDS_MUSIC_ITAB4_GENRES"
+msgstr "Stefnur"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_1_TRACK"
+msgstr "1 plata/1 lag"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_PD_TRACKS"
+msgstr "1 plata/%d lög"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS_PD_TRACKS"
+msgstr "%d plötur/%d lög"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_CONTROL_MUSIC_PLAYER_WITH_THE_VOICE_COMMANDS_P1SS_P2SS_P3SS_P4SS_P5SS_AND_P6SS"
+msgstr "Þú getur stjórnað tónlistarspilaranum með raddskipununum %1$s, %2$s, %3$s, %4$s, %5$s og %6$s."
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_PD_TRACKS"
+msgstr "Stokka %d lög"
+
+msgid "IDS_MUSIC_BODY_MORE_INFO"
+msgstr "Meiri upplýsingar"
+
+msgid "IDS_MUSIC_HEADER_MY_MUSIC_M_APPLICATION_NAME"
+msgstr "Tónlistin mín"
+
+msgid "IDS_MUSIC_OPT_LIST_VIEW"
+msgstr "Listaskjár"
+
+msgid "IDS_MUSIC_OPT_PLAY_VIA_GROUP_PLAY"
+msgstr "Spila í hópspilun"
+
+msgid "IDS_MUSIC_POP_TRACK_ADDED_TO_FAVOURITES"
+msgstr "Lagi bætt við uppáhald."
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_FAVOURITES"
+msgstr "Taka úr eftirlætum"
+
+msgid "IDS_MUSIC_BODY_NEW_M_LATEST"
+msgstr "Nýtt"
+
+msgid "IDS_MUSIC_OPT_TRACKS"
+msgstr "Lög"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL"
+msgstr "Smámynd"
+
+msgid "IDS_MUSIC_SK_LIST"
+msgstr "Listi"
+
+msgid "IDS_MUSIC_SK_OPEN_PLAYLIST"
+msgstr "Opna afspilunarlista"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALL"
+msgstr "Spila allt"
+
+msgid "IDS_MUSIC_POP_SELECTED_LIST_EMPTY"
+msgstr "Listinn er tómur."
+
+msgid "IDS_MUSIC_BODY_MOODS"
+msgstr "Lyndi"
+
+msgid "IDS_MUSIC_BUTTON_YEARS"
+msgstr "Ár"
+
+msgid "IDS_MUSIC_BODY_OLD"
+msgstr "Eldri"
+
+msgid "IDS_MUSIC_BODY_MUSIC_SQUARE_ANALYSES_THE_CHARACTERISTICS_OF_MUSIC_FILES_STORED_ON_YOUR_DEVICE_AND_AUTOMATICALLY_CREATES_PLAYLISTS_MSG"
+msgstr "Tónlistarferningurinn greinir einkenni tónlistarskráa sem eru vistaðar á tækinu þínu og býr sjálfkrafa til spilunarlista."
+
+msgid "IDS_MUSIC_BODY_PLAY_TRACKS_WITH_SIMILAR_CHARACTERISTICS_BY_SELECTING_A_SQUARE_ON_THE_SCREEN"
+msgstr "Spilaðu spilunarlista með tónlist af svipaðri gerð með því að velja ferning á skjánum."
+
+msgid "IDS_MUSIC_BODY_VIEW_PLAYLIST_DETAILS_BY_TAPPING_AND_HOLDING_THE_SQUARE_CURRENTLY_BEING_PLAYED"
+msgstr "Skoðaðu upplýsingar um spilunarlistann með því að styðja á ferninginn sem er í spilun."
+
+msgid "IDS_MUSIC_BODY_NEARBY_DEVICES"
+msgstr "Nálæg tæki"
+
+msgid "IDS_MUSIC_POP_YOU_WILL_NEED_TO_UPDATE_THE_LIBRARY_IF_NEW_SONGS_HAVE_BEEN_ADDED"
+msgstr "Þú þarft að uppfæra safnið ef nýjum lögum hefur verið bætt við."
+
+msgid "IDS_MUSIC_BODY_NO_ALBUMS"
+msgstr "Engar möppur"
+
+msgid "IDS_MUSIC_BODY_NO_ARTISTS"
+msgstr "Engir flytjendur"
+
+msgid "IDS_MUSIC_OPT_PLAY_SPEED_ABB"
+msgstr "Spilunarhraði"
+
+msgid "IDS_MUSIC_BODY_CONCERT_HALL_M_SOUNDEFFECT"
+msgstr "Tónleikasalur"
+
+msgid "IDS_MUSIC_OPT_ADD_TO"
+msgstr "Bæta við"
+
+msgid "IDS_MUSIC_SK_VIEW"
+msgstr "Birta"
+
+msgid "IDS_MUSIC_OPT_LISTBY_RECENTLY_ADDED"
+msgstr "Bætt við nýlega"
+
+msgid "IDS_MUSIC_BODY_NOT_USED"
+msgstr "Ekki notað"
+
+msgid "IDS_MUSIC_BODY_MAKE_AVAILABLE_OFFLINE"
+msgstr "Gera tiltækt án nettengingar"
+
+msgid "IDS_MUSIC_OPT_AFTER_P1SD_HRS_P2SD_MINS"
+msgstr "Eftir %1$d klst. %2$d mín."
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS"
+msgstr "Eftir %d klst."
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_MINS"
+msgstr "Eftir %d mín."
+
+msgid "IDS_MUSIC_BODY_NO_FOLDERS"
+msgstr "Engar möppur"
+
+msgid "IDS_MUSIC_BODY_NO_TRACKS"
+msgstr "Engin lög"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS"
+msgstr "%d plötur"
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS"
+msgstr "%d flytjendur"
+
+msgid "IDS_MUSIC_BODY_PD_GENRES"
+msgstr "%d stefnur"
+
+msgid "IDS_MUSIC_BODY_PD_PLAYLISTS"
+msgstr "%d spilunarlistar"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_ABB"
+msgstr "%d lög"
+
+msgid "IDS_MUSIC_BODY_PLAYLIST"
+msgstr "Afspilunarlisti"
+
+msgid "IDS_MUSIC_HEADER_SIMILAR_ALBUMS"
+msgstr "Svipaðar plötur"
+
+msgid "IDS_MUSIC_HEADER_TRACK"
+msgstr "Lag"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL_VIEW"
+msgstr "Smámyndir"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "Þessi hljóðbrella virkar aðeins með heyrnartólum."
+
+msgid "IDS_MUSIC_OPT_ALL_CONTENT_ABB2"
+msgstr "Allt efni"
+
+msgid "IDS_MUSIC_BODY_A_NETWORK_CONNECTION_IS_REQUIRED_TO_PLAY_THIS_FILE_CHECK_YOUR_NETWORK_CONNECTION_AND_TRY_AGAIN"
+msgstr "Nettengingar er krafist til að spila þessa skrá. Athugaðu nettenginguna þína og reyndu aftur."
+
+msgid "IDS_MUSIC_POP_FILE_TYPE_NOT_SUPPORTED"
+msgstr "Skrártegund er ekki studd."
+
+msgid "IDS_MUSIC_POP_UPDATING_ING"
+msgstr "Verið er að uppfæra..."
+
+msgid "IDS_MUSIC_OPT_SEARCH_ABB"
+msgstr "Leita"
+
+msgid "IDS_MUSIC_OPT_SEARCH_BY"
+msgstr "Leita eftir"
+
+msgid "IDS_MUSIC_BODY_RELATED_VIDEOS"
+msgstr "Tengd myndskeið"
+
+msgid "IDS_MUSIC_BODY_SMART_VOLUME_ABB"
+msgstr "Snjallhljóðstyrkur"
+
+msgid "IDS_MUSIC_BODY_THE_VOLUME_OF_ALL_TRACKS_WILL_BE_ADJUSTED_TO_LEVEL_PD"
+msgstr "Hljóðstyrkur allra laga verður stilltur á stig %d."
+
+msgid "IDS_MUSIC_HEADER_SMART_VOLUME_IS_ENABLED"
+msgstr "Kveikt á snjallhljóðstyrk"
+
+msgid "IDS_MUSIC_OPT_CONNECTION_INFO_ABB"
+msgstr "Uppl. um tengingu"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_PD_MINS"
+msgstr "Eftir 1 klst. og %d mín."
+
+msgid "IDS_MUSIC_BODY_ADAPT_SOUND_ABB"
+msgstr "Adapt Sound"
+
+msgid "IDS_MUSIC_BODY_MY_DEVICE"
+msgstr "Tækið mitt"
+
+msgid "IDS_MUSIC_POP_LISTENING_AT_A_HIGH_VOLUME_FOR_A_LONG_TIME_MAY_DAMAGE_YOUR_HEARING_RAISE_THE_VOLUME_ABOVE_SAFE_LEVELS_Q"
+msgstr "Ef hlustað er á háum hljóðstyrk í langan tíma kann það að skaða heyrnina. Viltu hækka styrkinn umfram öruggt stig?"
+
+msgid "IDS_MUSIC_POP_ALREADY_EXISTS"
+msgstr "Er þegar til."
+
+msgid "IDS_MUSIC_OPT_SCAN_FOR_NEARBY_DEVICES"
+msgstr "Leita að nálægum tækjum"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR"
+msgstr "Eftir 1 klst."
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_1_MIN"
+msgstr "Eftir 1 klst. og 1 mín."
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS_1_MIN"
+msgstr "Eftir %d klst. og 1 mín."
+
+msgid "IDS_MUSIC_BODY_AFTER_1_MIN"
+msgstr "Eftir 1 mín."
+
+msgid "IDS_MUSIC_OPT_GO_TO_STORE"
+msgstr "Opna verslun"
+
+msgid "IDS_MUSIC_SK3_ADD_TRACKS"
+msgstr "Bæta við\nlögum"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FROM_MUSIC_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Lög birtast hér eftir að þú sækir þau frá Tónlist."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_YOUR_FAVOURITES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Lög birtast hér eftir að þeim er bætt við uppáhald."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_PLAY_TRACKS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Lög birtast hér eftir að þau eru spiluð."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_PS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Lög birtast hér eftir að þeim er bætt við %s."
+
+msgid "IDS_MUSIC_BODY_NO_PURCHASED_CONTENT"
+msgstr "Ekkert keypt efni"
+
+msgid "IDS_MUSIC_SK_SAVE_AS"
+msgstr "Vista sem"
+
+msgid "IDS_MUSIC_POP_MUSICPLAYER_UPDATING_FAILED"
+msgstr "Ekki tókst að uppfæra."
+
+msgid "IDS_MUSIC_BODY_EXCITING_M_ADJECTIVE"
+msgstr "Spennandi"
+
+msgid "IDS_MUSIC_BODY_SEARCH_MY_MUSIC"
+msgstr "Leita í tónlistinni minni"
+
+msgid "IDS_MUSIC_HEADER_CONNECTED_DEVICES"
+msgstr "Tengd tæki"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST_PS"
+msgstr "Spilunarlistinn minn %s"
+
+msgid "IDS_MUSIC_BODY_NO_DEVICES"
+msgstr "Engin tæki"
+
+msgid "IDS_MUSIC_HEADER_AVAILABLE_DEVICES_ABB"
+msgstr "Tiltæk tæki"
+
+msgid "IDS_MUSIC_POP_SET"
+msgstr "Stilla"
+
+msgid "IDS_MUSIC_POP_REMOVE_FAILED"
+msgstr "Mistókst að fjarlægja."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_USE_FAST_FORWARD_AND_REWIND_WHEN_NEARBY_DEVICES_ARE_ENABLED"
+msgstr "Ekki er hægt að spóla áfram eða til baka þegar kveikt er á nálægum tækjum."
+
+msgid "IDS_MUSIC_OPT_SET_AS"
+msgstr "Setja sem"
+
+msgid "IDS_MUSIC_OPT_HEADPHONES_ABB"
+msgstr "Höfuðtól"
+
+msgid "IDS_MUSIC_OPT_SPEAKER"
+msgstr "Hátalari"
+
+msgid "IDS_MUSIC_BODY_1_SONG"
+msgstr "1 lag"
+
+msgid "IDS_MUSIC_BODY_PD_SONGS"
+msgstr "%d lög"
+
+msgid "IDS_MUSIC_BODY_1_TRACK"
+msgstr "1 lag"
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_1_TRACK"
+msgstr "Stokka eitt lag"
+
+msgid "IDS_MUSIC_POP_NO_MUSIC_FOUND_FOR_SELECTED_CELL"
+msgstr "Engin tónlist fannst fyrir valinn reit"
+
+msgid "IDS_MUSIC_BODY_DO_NOT_SHOW_AGAIN"
+msgstr "Ekki birta aftur"
+
+msgid "IDS_MUSIC_BODY_VARIOUS_ARTISTS"
+msgstr "Ýmsir flytjendur"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_HOME_SCREEN_ABB"
+msgstr "Setja á heimaskjá"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_FAVOURITES"
+msgstr "Bæta við uppáhalds"
+
+msgid "IDS_MUSIC_OPT_EDIT_TITLE"
+msgstr "Breyta titli"
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_PERSONAL_STORAGE"
+msgstr "Fjarlægja úr einkageymslu"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FOLDERS_WILL_BE_SHOWN"
+msgstr "Möppur birtast hér eftir að lög eru sótt"
+
+msgid "IDS_MUSIC_BODY_SETTINGS_VOLUME"
+msgstr "Hljóðstyrkur"
+
+msgid "IDS_MUSIC_BODY_REPEAT_OFF"
+msgstr "Slökkt á endurtekningu"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_REPEAT_ALL"
+msgstr "Endurtaka allt"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_OFF"
+msgstr "Slökkt á stokkun"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_ON"
+msgstr "Kveikt á stokkun"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST"
+msgstr "Spilunarlistinn minn"
+
+msgid "IDS_MUSIC_MBODY_DEFAULT_PLAYLISTS"
+msgstr "Sjálfg. spilunarlistar"
+
+msgid "IDS_MUSIC_BODY_DETAILS_RECORDING_DATE"
+msgstr "Upptökudagur"
+
+msgid "IDS_MUSIC_OPT_ALBUM_ART_ABB"
+msgstr "Plötuumsl."
+
+msgid "IDS_MUSIC_BODY_1_GENRE"
+msgstr "1 stefna"
+
+msgid "IDS_MUSIC_BODY_PD_FOLDERS"
+msgstr "%d möppur"
+
+msgid "IDS_MUSIC_BODY_1_FOLDER"
+msgstr "1 mappa"
+
+msgid "IDS_MUSIC_BODY_1_ARTIST"
+msgstr "1 flytjandi"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_M_MUSIC"
+msgstr "Ein plata"
+
+msgid "IDS_MUSIC_BODY_1_PLAYLIST"
+msgstr "1 spilunarlisti"
+
+msgid "IDS_MUSIC_BODY_MUSIC_PLAYER"
+msgstr "Tónlistarspilari"
+
+msgid "IDS_MUSIC_BUTTON_MOVE"
+msgstr "Færa"
+
+msgid "IDS_MUSIC_BUTTON_AUTO_RECOMMENDATIONS"
+msgstr "Sjálfvirkar tillögur"
+
+msgid "IDS_MUSIC_BUTTON_FROM_THE_BEGINNING"
+msgstr "Frá byrjun"
+
+msgid "IDS_MUSIC_HEADER_SUGGESTIONS_FOR_YOU"
+msgstr "Tillögur fyrir þig"
+
+msgid "IDS_MUSIC_OPT_SAVE"
+msgstr "Vista"
+
+msgid "IDS_MUSIC_TAB4_BASIC_M_EQUALIZING"
+msgstr "Einfalt"
+
+msgid "IDS_MUSIC_BODY_INSTRUMENT"
+msgstr "Hljóðfæri"
+
+msgid "IDS_MUSIC_BODY_TREBLE_M_EQUALISER"
+msgstr "Diskantur"
+
+msgid "IDS_MUSIC_BODY_BASS_M_EQUALISER"
+msgstr "Bassi"
+
+msgid "IDS_MUSIC_BODY_NO_EFFECTS_ARE_APPLIED_IN_THIS_MODE_ABB"
+msgstr "Engin áhrif eru notuð í þessari stillingu."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_TIMBRE_OF_A_TUBE_AMP_ABB"
+msgstr "Líkir eftir hljómblæ lampamagnara."
+
+msgid "IDS_MUSIC_OPT_TUBE_AMP_EFFECT"
+msgstr "Lampamagnaraáhrif"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_EFFECT_OF_VIRTUAL_71_CHANNEL_SURROUND_SOUND_ABB"
+msgstr "Líkir eftir 7.1 rása víðhljómi."
+
+msgid "IDS_MUSIC_HEADER_SMALL_ROOM_M_REVERB_ABB"
+msgstr "Lítið herbergi"
+
+msgid "IDS_MUSIC_HEADER_LARGE_ROOM_M_REVERB_ABB"
+msgstr "Stórt herbergi"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_LARGE_ROOM_EG_A_THEATRE_ABB"
+msgstr "Líkir eftir endurómun í stóru rými, t.d. leikhúsi."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_CONCERT_HALL_ABB"
+msgstr "Líkir eftir endurómun í tónleikasal."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_SMALL_SPACE_EG_A_STUDIO_ABB"
+msgstr "Líkir eftir endurómun í litlu rými, t.d. hljóðveri."
+
+msgid "IDS_MUSIC_BUTTON_3D_CHN"
+msgstr "3D"
+
+msgid "IDS_MUSIC_BODY_CLARITY_M_SOUNDEFFECT"
+msgstr "Skýrleiki"
+
+msgid "IDS_MUSIC_BUTTON_RESET"
+msgstr "Núllstil."
+
+msgid "IDS_MUSIC_TAB_YEARS"
+msgstr "Ár"
+
+msgid "IDS_MUSIC_TAB_GENRES"
+msgstr "Tónlistartegund"
+
+msgid "IDS_MUSIC_TAB_COMPOSERS"
+msgstr "Höfundar"
+
+msgid "IDS_MUSIC_TAB_ALL_TRACKS"
+msgstr "Öll lög"
+
+msgid "IDS_MUSIC_SK3_GO_TO_QUICK_LIST"
+msgstr "Opna flýtilista"
+
+msgid "IDS_MUSIC_SK3_FIND"
+msgstr "Finna"
+
+msgid "IDS_MUSIC_SK3_ADD_TO_QUICK_LIST"
+msgstr "Setja á flýtil."
+
+msgid "IDS_MUSIC_POP_UNAUTHORISED_VIDEO_FILE_FOR_TV_OUT"
+msgstr "Óleyfileg myndskrá fyrir sjónvarpsúttak."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_CREATE_MAXIMUM_NUMBER_OF_PLAYLISTS_REACHED"
+msgstr "Ekki tókst að búa til. Komið er að hámarksfjölda afspilunarlista."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTING_BLUETOOTH_HEADSET"
+msgstr "Það er ekki hægt að stilla hljóðstyrk meðan tengst er við Bluetooth-höfuðtól."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTED_TO_BLUETOOTH_HEADSET"
+msgstr "Það er ekki hægt að stilla hljóðstyrk þegar Bluetooth-höfuðtól er tengt."
+
+msgid "IDS_MUSIC_POP_STOP_MUSIC_PLAYER_Q"
+msgstr "Á að stöðva Tónlistarspilara?"
+
+msgid "IDS_MUSIC_POP_PLEASE_EXIT_SILENT_MODE"
+msgstr "Farið úr hljóðlausum ham."
+
+msgid "IDS_MUSIC_POP_NETWORK_FAILURE"
+msgstr "Villa í tengingu."
+
+msgid "IDS_MUSIC_POP_MEMORY_CARD_LOADED"
+msgstr "Minniskorti hefur verið hlaðið."
+
+msgid "IDS_MUSIC_POP_DEVICE_SETTINGS_ERROR"
+msgstr "Villa í stillingum tækis."
+
+msgid "IDS_MUSIC_POP_COULD_NOT_FIND_A_MATCH_FOR_THE_SONG"
+msgstr "Lagið fannst ekki."
+
+msgid "IDS_MUSIC_POP_BUFFERING_MSTATUS"
+msgstr "Hleð inn"
+
+msgid "IDS_MUSIC_POP_BT_HEADSET_ONLY_SUPPORTS_NORMAL_EFFECTS_SETTING"
+msgstr "BT-höfuðtól styðja eingöngu venjulega stillingu."
+
+msgid "IDS_MUSIC_POP_APPLICATION_WILL_BE_CLOSED"
+msgstr "Forritinu verður lokað."
+
+msgid "IDS_MUSIC_POP_ADDED_GO_TO_WISH_LIST_Q"
+msgstr "Bætt við. Viltu opna óskalista?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_THE_SERVICE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "Gjald kann að vera tekið fyrir notkun þjónustunnar. Viltu halda áfram?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_STORE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "Gjald kann að vera tekið fyrir aðgang að verslun. Viltu halda áfram?"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_ONLY_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES"
+msgstr "5.1 hljóðhrif virka aðeins í eyrnatólastillingu og Bluetooth-höfuðtólastillingu."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "Hljóðbrellan „5.1 rás“ virkar aðeins með heyrnartólum."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECTS_NOT_SUPPORTED_BY_SPEAKER"
+msgstr "5.1 stöðvar hljóðhrif eru ekki studd af hátalara."
+
+msgid "IDS_MUSIC_OPT_VIEW_BY_COVER_ART"
+msgstr "Birta eftir albúmi"
+
+msgid "IDS_MUSIC_OPT_SEND_TRACK"
+msgstr "Senda lag"
+
+msgid "IDS_MUSIC_OPT_RATE_TRACK"
+msgstr "Gefa lagi einkunn"
+
+msgid "IDS_MUSIC_OPT_PLAYLIST_MOVE_TRACK_IN_PLAYLIST"
+msgstr "Færa lag í afspilunarlista"
+
+msgid "IDS_MUSIC_OPT_OPENPLAYLIST_CURRENT"
+msgstr "Gildandi"
+
+msgid "IDS_MUSIC_OPT_DELETE_PLAYLIST"
+msgstr "Eyða afspilunarlista"
+
+msgid "IDS_MUSIC_OPT_BACKGROUND_PLAYING"
+msgstr "Bakgrunnsspilun"
+
+msgid "IDS_MUSIC_HEADER_EFFECTS"
+msgstr "Brellur"
+
+msgid "IDS_MUSIC_BUTTON_BUY_NOW"
+msgstr "Kaupa nú"
+
+msgid "IDS_MUSIC_BODY_WOW_HD"
+msgstr "Wow HD"
+
+msgid "IDS_MUSIC_BODY_WISHLIST"
+msgstr "Óskalisti"
+
+msgid "IDS_MUSIC_BODY_WIDE"
+msgstr "Breitt"
+
+msgid "IDS_MUSIC_BODY_WHA_WHA"
+msgstr "Wha-wha"
+
+msgid "IDS_MUSIC_BODY_VIBE_WOOFER"
+msgstr "Bassahátalari"
+
+msgid "IDS_MUSIC_BODY_TREMOLO"
+msgstr "Tremolo"
+
+msgid "IDS_MUSIC_BODY_TAP_TWICE_TO_PLAY_PAUSE_MUSIC"
+msgstr "Pikka tvisvar til að spila/gera hlé á tónlist."
+
+msgid "IDS_MUSIC_BODY_SHARE_TRACK_VIA_BLUETOOTH"
+msgstr "Deila lagi gegnum Bluetooth"
+
+msgid "IDS_MUSIC_BODY_SETUPWIZARD_WELCOME_TO_THE_MUSIC_SETUP_WIZARD_CONTINUE_Q"
+msgstr "Velkomin í uppsetningarforrit tónlistar. Eftirfarandi skjámyndir sýna hvernig á stilla símann. Á að halda áfram?"
+
+msgid "IDS_MUSIC_BODY_QUICK_LIST"
+msgstr "Flýtilisti"
+
+msgid "IDS_MUSIC_BODY_PLAYINGSETTINGS_SOUND_EFFECTS"
+msgstr "Hljóðhrif"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_ALL"
+msgstr "Allt"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_1"
+msgstr "1"
+
+msgid "IDS_MUSIC_BODY_PLAYERSETTINGS_VOLUME"
+msgstr "Hljóðstyrkur"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_SELECTED"
+msgstr "%d lög valin."
+
+msgid "IDS_MUSIC_BODY_NO_PODCASTS"
+msgstr "Engin netvörp"
+
+msgid "IDS_MUSIC_BODY_FIND_SIMILAR"
+msgstr "Finna svipað"
+
+msgid "IDS_MUSIC_BODY_BACKGROUND_PLAY"
+msgstr "Bakgrunnsspilun"
+
+msgid "IDS_MUSIC_BODY_51_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "Einungis er hægt að kveikja á 5.1 rás þegar slökkt er á hljóðhrifum."
+
+msgid "IDS_MUSIC_TAB4_PODCASTS"
+msgstr "Netvörp"
+
+msgid "IDS_MUSIC_SK2_EDIT_IMAGE"
+msgstr "Breyta mynd"
+
+msgid "IDS_MUSIC_POP_PLAYING_ANY_SOUNDS_WILL_STOP_AND_SAVE_YOUR_VOICE_RECORDING_PLAY_Q"
+msgstr "Ef hljóð er spilað stöðvast raddupptakan og hún er vistuð. Spila?"
+
+msgid "IDS_MUSIC_POP_MAXIMUM_NUMBER_OF_ITEMS_HPD_SELECTED"
+msgstr "Komið er að hámarksfjölda valinna atriða (%d)."
+
+msgid "IDS_MUSIC_POP_BLUETOOTH_DISCONNECTED"
+msgstr "Bluetooth aftengt."
+
+msgid "IDS_MUSIC_POP_5_1_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "Einungis er hægt að kveikja á 5.1 stöð þegar slökkt er á hljóðhrifum."
+
+msgid "IDS_MUSIC_OPT_TAKE_PICTURE"
+msgstr "Taka mynd"
+
+msgid "IDS_MUSIC_OPT_SHOW_MUSIC_VIEW_ABB"
+msgstr "Sýna tónlistaryfirlit"
+
+msgid "IDS_MUSIC_OPT_PAUSE"
+msgstr "Hlé"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALBUM"
+msgstr "Spila albúm"
+
+msgid "IDS_MUSIC_OPT_LIST_BY"
+msgstr "Raða eftir"
+
+msgid "IDS_MUSIC_OPT_HISTORY"
+msgstr "Saga"
+
+msgid "IDS_MUSIC_OPT_HIDE_MUSIC_VIEW_ABB"
+msgstr "Fela tónlistaryfirlit"
+
+msgid "IDS_MUSIC_OPT_FIND_TAG"
+msgstr "Leita að merki"
+
+msgid "IDS_MUSIC_OPT_DROPBOX_CONTENT_ABB"
+msgstr "Dropbox-efni"
+
+msgid "IDS_MUSIC_OPT_CONTENT_ON_PHONE_ABB"
+msgstr "Efni í síma"
+
+msgid "IDS_MUSIC_OPT_CHANGE_IMAGE"
+msgstr "Breyta mynd"
+
+msgid "IDS_MUSIC_HEADER_DELETE_DROPBOX_DATA_ABB"
+msgstr "Eyða Dropbox-gögnum"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_STREAM_YOUR_MUSIC_TO_DEVICES_USING_ALLSHARE"
+msgstr "Þú getur streymt tónlistina þína í tæki sem nota AllShare."
+
+msgid "IDS_MUSIC_BODY_VALIDITY"
+msgstr "Gildistími"
+
+msgid "IDS_MUSIC_BODY_TYPE_CNOUN"
+msgstr "Tegund"
+
+msgid "IDS_MUSIC_BODY_THIS_WILL_DELETE_THE_FILE_FROM_THE_SERVER_AND_ANY_CONNECTED_DEVICES_AS_WELL"
+msgstr "Þetta eyðir skránni af netþjóninum og einnig af öllum tengdum tækjum."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_ARTISTS"
+msgstr "Flytjandi"
+
+msgid "IDS_MUSIC_BODY_PLAYINGDETAILS_ALBUM_ART"
+msgstr "Albúmmyndir"
+
+msgid "IDS_MUSIC_BODY_OTHER_CONTENTS"
+msgstr "Annað efni"
+
+msgid "IDS_MUSIC_BODY_NAME_TOO_LONG"
+msgstr "Nafn of langt."
+
+msgid "IDS_MUSIC_BODY_MUSIC_CLARITY"
+msgstr "Skýrleiki tónlistar"
+
+msgid "IDS_MUSIC_BODY_HIGH_VOLUMES_MAY_HARM_YOUR_HEARING_IF_YOU_LISTEN_FOR_A_LONG_TIME"
+msgstr "Hátt spiluð tónlist getur skaðað heyrn þína ef hlustað er í langan tíma í einu."
+
+msgid "IDS_MUSIC_BODY_AVAILABLE_USES"
+msgstr "Tiltæk notkun"
+
+msgid "IDS_MUSIC_TPOP_SOUND_EFFECTS_ONLY_AVAILABLE_WHILE_HEADPHONES_CONNECTED"
+msgstr "Hljóðbrellur eru aðeins í boði þegar heyrnartól eru tengd."
+
+msgid "IDS_ST_OPT_ADD_TO_YOUR_PERSONAL_STORAGE"
+msgstr "Setja í einkageymslu"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_YOUR_PERSONAL_STORAGE"
+msgstr "Fjarlægja úr einkageymslu"
+
+msgid "IDS_ST_BODY_CONTEXTUAL_POP_UP_T_TALKBACK"
+msgstr "Samhengissprettigluggi"
+
+msgid "IDS_ST_BODY_A_CONTEXTUAL_POP_UP_IS_OPEN_DOUBLE_TAP_TO_CLOSE_IT_T_TALKBACK"
+msgstr "Samhengissprettigluggi er opinn. Tvípikkaðu á hann til að loka honum."
+
+msgid "IDS_ST_BODY_REPEAT_ONE"
+msgstr "Endurtaka einn"
+
+msgid "IDS_ST_BUTTON_MOVING_ING"
+msgstr "Flyt..."
+
+msgid "IDS_HS_BODY_SELECT_UP_TO_PD_ITEMS"
+msgstr "Veldu allt að %d atriði"
+
+msgid "IDS_CAM_BODY_TAB_T_TTS"
+msgstr "Flipi"
+
+msgid "IDS_DLNA_OPT2_CHANGE_PLAYER"
+msgstr "Skipta um spilara"
+
+msgid "IDS_BR_SK_TABS"
+msgstr "Flipar"
+
+msgid "IDS_MF_BODY_DROPBOX_ABB"
+msgstr "Dropbox"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Sjálfvirkar tillögur geta dregið helstu atriði út úr hljóðskrám."
+
+msgid "IDS_MF_BODY_PARENT_RATING"
+msgstr "Einkunn foreldra"
+
+msgid "IDS_VR_POP_FILE_NOT_FOUND"
+msgstr "Skráin fannst ekki."
+
+msgid "IDS_PB_POP_CALLER_RINGTONE_SAVED"
+msgstr "Hringitónn viðmælanda vistaður."
+
+msgid "IDS_MUSIC_BODY_BIT_DEPTH"
+msgstr "Bitafjöldi"
+
+msgid "IDS_MUSIC_BODY_SIZE"
+msgstr "Stærð"
+
+msgid "IDS_MF_HEADER_PD_SELECTED"
+msgstr "%d valið"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_THIS_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Lög birtast hér eftir að þeim er bætt við tækið."
+
+msgid "IDS_MUSIC_TMBODY_LENGTH"
+msgstr "Lengd"
+
+msgid "IDS_MUSIC_POP_1_FOLDER_WILL_BE_DELETED"
+msgstr "Einni möppu verður eytt."
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Efni vantar"
+
+msgid "IDS_MUSIC_ITAB4_FOLDERS"
+msgstr "Möppur"
+
+msgid "IDS_MUSIC_HEADER_MY_PLAYLISTS_ABB"
+msgstr "Spilunarlistarnir mínir"
+
+msgid "IDS_MP_BODY_SOUND_PLAYER"
+msgstr "Hljóðspilun"
+
+msgid "IDS_MUSIC_OPT_SETTINGS"
+msgstr "Stillingar"
+
+msgid "IDS_MUSIC_POP_DELETING"
+msgstr "Verið er að eyða..."
+
+msgid "IDS_MUSIC_POP_1_TRACK_WILL_BE_DELETED"
+msgstr "1 lagi verður eytt."
+
+msgid "IDS_MUSIC_POP_ALL_TRACKS_WILL_BE_DELETED"
+msgstr "Öllum lögum verður eytt"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_WILL_BE_DELETED"
+msgstr "%d lögum verður eytt."
+
+msgid "IDS_MUSIC_POP_1_PLAYLIST_WILL_BE_DELETED"
+msgstr "1 spilunarlista verður eytt."
+
+msgid "IDS_MUSIC_POP_PD_PLAYLISTS_WILL_BE_DELETED"
+msgstr "%d lagalistum verður eytt."
+
+msgid "IDS_MUSIC_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "%d plötum verður eytt."
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS_WILL_BE_DELETED"
+msgstr "%d tónlistarmönnum verður eytt."
+
+msgid "IDS_MUSIC_POP_PD_FOLDERS_WILL_BE_DELETED"
+msgstr "%d möppum verður eytt."
+
+msgid "IDS_ST_POP_CONNECTION_FAILED"
+msgstr "Tenging brást."
+
+msgid "IDS_MUSIC_BODY_CLASSIC"
+msgstr "Sígilt"
+
+msgid "IDS_MUSIC_BODY_ROCK"
+msgstr "Rokk"
+
+msgid "IDS_MUSIC_BODY_JAZZ"
+msgstr "Jass"
+
+msgid "IDS_MUSIC_BODY_POP"
+msgstr "Popp"
+
+msgid "IDS_MUSIC_BODY_AUTO"
+msgstr "Sjálfvirkt"
+
+msgid "IDS_MUSIC_POP_CURRENT_SOUND_EFFECT_NOT_SUPPORTED_BY_HDMI"
+msgstr "Núverandi hljóðhrif eru ekki studd af HDMI."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_BLUETOOTH"
+msgstr "Hljóðhrif eru ekki studd af Bluetooth."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_LINE_OUT"
+msgstr "Úttakið styður ekki hljóðbrellur."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_HDMI"
+msgstr "Hljóðhrif eru ekki studd af HDMI."
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EFFECT"
+msgstr "Lampamagnari"
+
+msgid "IDS_MUSIC_BODY_CUSTOM"
+msgstr "Sérstilla"
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EQUALISER_ABB"
+msgstr "Lampamagnari"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d lögum var bætt við spilunarlistann."
+
+msgid "IDS_MUSIC_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "Einu lagi bætt við spilunarlistann."
+
+msgid "IDS_MUSIC_HEADER_ADD_TRACKS_TO_PLAYLIST_ABB"
+msgstr "Bæta lögum við spilunarlista"
+
+msgid "IDS_MUSIC_POP_PS_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "%s er þegar í notkun. Notaðu annað heiti."
+
+msgid "IDS_MUSIC_TMBODY_DATE_OF_RECORDING"
+msgstr "Upptökudagur"
+
+msgid "IDS_MBP_TPOP_TRACK_SET_AS_ALARM_TONE"
+msgstr "Lag notað sem vekjaratónn."
+
+msgid "IDS_MUSIC_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Engar niðurstöður"
+
+msgid "IDS_MUSIC_OPT_DEFAULT_RINGTONE_ABB"
+msgstr "Sjálfgefinn hringitónn"
+
+msgid "IDS_MUSIC_TPOP_TRACK_SET_AS_CALLER_RINGTONE"
+msgstr "Lag valið sem hringitónn."
+
+msgid "IDS_MP_TPOP_TRACK_SET_AS_RINGTONE"
+msgstr "Lag notað sem hringitónn."
+
+msgid "IDS_DLNA_BODY_ADD_TO_NOW_PLAYING_LIST"
+msgstr "Bæta við listann 'Í spilun'"
+
+msgid "IDS_MUSIC_TPOP_EQUALISER_SETTINGS_WILL_BE_APPLIED_WHILE_PLAYING_MUSIC"
+msgstr "Stillingum tónjafnara verður beitt þegar tónlist er spiluð."
+
+msgid "IDS_ST_BODY_ALERT"
+msgstr "Áminning"
+
+msgid "IDS_IV_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "Einu albúmi verður eytt."
+
+msgid "IDS_MUSIC_OPT_SD_CARD"
+msgstr "SD-kort"
+
+msgid "IDS_MUSIC_SBODY_DEVICE_STORAGE"
+msgstr "Geymsla tækis"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE"
+msgstr "Heiti spilunarlistans er þegar í notkun."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_PD"
+msgstr "Spilunarlisti %d"
+
+msgid "IDS_MUSIC_HEADER_CREATE"
+msgstr "Búa til"
+
+msgid "IDS_MUSIC_HEADER_EQUALISER_PRESET_ABB"
+msgstr "Forstilling tónjafnara"
+
+msgid "IDS_MUSIC_OPT_AUTOMATIC_M_EQUALIZER_EFFECT"
+msgstr "Sjálfvirkt"
+
+msgid "IDS_MUSIC_OPT_CLASSICAL_M_EQUALIZER_EFFECT"
+msgstr "Klassík"
+
+msgid "IDS_MUSIC_HEADER_ENVIRONMENT_EFFECT_ABB"
+msgstr "Umhverfisáhrif"
+
+msgid "IDS_VIDEO_POP_THE_FILE_TYPE_IS_NOT_SUPPORTED"
+msgstr "Skráargerðin er ekki studd."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_CREATE_PLAYLISTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Spilunarlistar birtast hér eftir að þeir eru búnir til."
+
+msgid "IDS_ST_HEADER_SELECT_AUDIO_DEVICE_ABB"
+msgstr "Velja hljóðtæki"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "Heiti spilunarlista er þegar í notkun. Sláðu inn annað heiti."
+
+msgid "IDS_MUSIC_HEADER_SOUNDALIVE_ABB3"
+msgstr "SoundAlive"
+
+msgid "IDS_MUSIC_OPT_NOW_PLAYING_LIST"
+msgstr "Í spilun"
+
+msgid "IDS_MUSIC_OPT_SHOW_LYRICS"
+msgstr "Sýna lagatexta"
+
+msgid "IDS_MUSIC_OPT_HIDE_LYRICS"
+msgstr "Fela texta"
+
+msgid "IDS_MUSIC_TPOP_UNABLE_TO_PLAY_MUSIC_DURING_CALLS"
+msgstr "Ekki er hægt að spila tónlist meðan á símtali stendur."
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Eyða"
+
+msgid "IDS_MUSIC_HEADER_SELECT"
+msgstr "Velja"
+
+msgid "IDS_TPLATFORM_OPT_NFC"
+msgstr "NFC"
+
+msgid "IDS_MUSIC_HEADER_UNABLE_TO_PLAY_TRACK"
+msgstr "Ekki er hægt að spila lagið"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "LOKIÐ"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "HÆTTA VIÐ"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "EYÐA"
+
+msgid "IDS_MUSIC_POP_RENAME"
+msgstr "Endurnefna"
+
+msgid "IDS_MUSIC_OPT_MESSAGE"
+msgstr "Skilaboð"
+
+msgid "IDS_MUSIC_SK_OK"
+msgstr "Í lagi"
+
+msgid "IDS_MUSIC_SK_CANCEL"
+msgstr "Hætta við"
+
+msgid "IDS_MUSIC_BUTTON_REFRESH"
+msgstr "Uppfæra"
+
+msgid "IDS_MUSIC_BODY_SELECT_ALL"
+msgstr "Velja allt"
+
+msgid "IDS_MUSIC_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_MUSIC_POP_DELETED"
+msgstr "Eytt."
+
+msgid "IDS_MUSIC_OPT_STOP"
+msgstr "Stöðva"
+
+msgid "IDS_MUSIC_BODY_UNKNOWN"
+msgstr "Óþekkt"
+
+msgid "IDS_MUSIC_BODY_TITLE"
+msgstr "Titill"
+
+msgid "IDS_MUSIC_OPT_SENDVIA_EMAIL"
+msgstr "Tölvupóstur"
+
+msgid "IDS_MUSIC_OPT_BLUETOOTH"
+msgstr "Bluetooth"
+
+msgid "IDS_MUSIC_HEADER_DOWNLOAD"
+msgstr "Sækja"
+
+msgid "IDS_MUSIC_POP_LOW_BATTERY"
+msgstr "Rafhlaðan er að tæmast."
+
+msgid "IDS_MUSIC_HEADER_AUDIO_DEVICE"
+msgstr "Hljóðtæki"
+
+msgid "IDS_MUSIC_HEADER_DETAILS"
+msgstr "Upplýsingar"
+
+msgid "IDS_MUSIC_OPT_END"
+msgstr "Ljúka"
+
+msgid "IDS_MUSIC_OPT_EDIT"
+msgstr "Breyta"
+
+msgid "IDS_CAM_HEADER_UPDATED"
+msgstr "Uppfært."
+
+msgid "IDS_MUSIC_POP_REMOVED"
+msgstr "Fjarlægt."
+
+msgid "IDS_MUSIC_OPT_SELECTED"
+msgstr "Valið"
+
+msgid "IDS_ST_BUTTON_SCAN"
+msgstr "Skanna"
+
+msgid "IDS_MF_POP_ERROR"
+msgstr "Villa."
+
+msgid "IDS_MF_POP_MEMORY_FULL"
+msgstr "Minni er fullt."
+
+msgid "IDS_MUSIC_MBODY_QUEUE"
+msgstr "Biðröð"
+
+msgid "IDS_MUSIC_OPT_VOLUME"
+msgstr "Hljóðstyrkur"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE"
+msgstr "Stokka"
+
+msgid "IDS_MUSIC_OPT_REPEAT"
+msgstr "Endurtaka"
+
+msgid "IDS_COM_BODY_DETAILS"
+msgstr "Details"
+
+msgid "IDS_COM_BODY_DETAILS_TITLE"
+msgstr "Title"
+
+msgid "IDS_COM_BODY_EDIT"
+msgstr "Edit"
+
+msgid "IDS_COM_BODY_EMAIL"
+msgstr "Email"
+
+msgid "IDS_COM_BODY_END"
+msgstr "End"
+
+msgid "IDS_COM_BODY_FOLDERS"
+msgstr "Folders"
+
+msgid "IDS_COM_BODY_GALLERY"
+msgstr "Gallery"
+
+msgid "IDS_COM_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_COM_BODY_LOADING"
+msgstr "Loading..."
+
+msgid "IDS_COM_BODY_LOW_BATTERY"
+msgstr "Low battery."
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Message"
+
+msgid "IDS_COM_BODY_MUSIC"
+msgstr "Music"
+
+msgid "IDS_COM_BODY_NFC"
+msgstr "NFC"
+
+msgid "IDS_COM_BODY_NO_CONTENTS"
+msgstr "No content"
+
+msgid "IDS_COM_BODY_PAUSE"
+msgstr "Pause"
+
+msgid "IDS_COM_BODY_PD_SELECTED"
+msgstr "%d selected."
+
+msgid "IDS_COM_BODY_PREVIOUS"
+msgstr "Previous"
+
+msgid "IDS_COM_BODY_RESET_A"
+msgstr "Reset"
+
+msgid "IDS_COM_BODY_SELECTED"
+msgstr "Selected"
+
+msgid "IDS_COM_BODY_SELECT_ALL"
+msgstr "Select all"
+
+msgid "IDS_COM_BODY_SETTINGS"
+msgstr "Settings"
+
+msgid "IDS_COM_BODY_TIME"
+msgstr "Time"
+
+msgid "IDS_COM_BODY_UNABLE_TO_ADD"
+msgstr "Unable to add."
+
+msgid "IDS_COM_BODY_UNKNOWN"
+msgstr "Unknown"
+
+msgid "IDS_COM_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_COM_BUTTON_SCAN"
+msgstr "Scan"
+
+msgid "IDS_COM_BUTTON_SHARE"
+msgstr "Share"
+
+msgid "IDS_COM_HEADER_AUDIO_DEVICE_ABB"
+msgstr "Audio device"
+
+msgid "IDS_COM_OPT_ADDED"
+msgstr "Added."
+
+msgid "IDS_COM_OPT_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_POP_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_POP_CONNECTION_FAILED"
+msgstr "Connection failed."
+
+msgid "IDS_COM_POP_DELETED"
+msgstr "Deleted."
+
+msgid "IDS_COM_POP_DELETE_Q"
+msgstr "Delete?"
+
+msgid "IDS_COM_POP_DONE"
+msgstr "Done"
+
+msgid "IDS_COM_POP_DOWNLOADING"
+msgstr "Downloading..."
+
+msgid "IDS_COM_POP_ERROR"
+msgstr "Error."
+
+msgid "IDS_COM_POP_FAILED"
+msgstr "Failed."
+
+msgid "IDS_COM_POP_FILE_NOT_EXIST"
+msgstr "This file does not exist."
+
+msgid "IDS_COM_POP_FILE_NOT_FOUND"
+msgstr "File not found."
+
+msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximum number of characters reached."
+
+msgid "IDS_COM_POP_MEMORY_FULL"
+msgstr "Memory full."
+
+msgid "IDS_COM_POP_REMOVED"
+msgstr "Removed."
+
+msgid "IDS_COM_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Unable to use during Mass storage mode."
+
+msgid "IDS_COM_POP_UPDATED"
+msgstr "Updated."
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_SK_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_SK_DOWNLOAD"
+msgstr "Download"
+
+msgid "IDS_COM_SK_NEW"
+msgstr "New"
+
+msgid "IDS_COM_SK_NEXT"
+msgstr "Next"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_SK_REFRESH"
+msgstr "Refresh"
+
+msgid "IDS_COM_SK_REMOVE"
+msgstr "Remove"
+
+msgid "IDS_COM_SK_SAVE"
+msgstr "Save"
+
+msgid "IDS_COM_SK_SELECT"
+msgstr "Select"
+
+msgid "IDS_COM_SK_SET"
+msgstr "Set"
+
+msgid "IDS_COM_SK_STOP"
+msgstr "Stop"
+
+
+msgid "IDS_MH_BODY_THE_PLAYLIST_NAME_PS_IS_ALREADY_IN_USE"
+msgstr "The playlist name %s is already in use."
+
+msgid "IDS_MH_BODY_TOTAL"
+msgstr "Total"
+
+msgid "IDS_MH_MBODY_RECENTLY_ADDED_M_SONG"
+msgstr "Recently added"
+
+msgid "IDS_MH_OPT_MORE_INFO_ABB"
+msgstr "More info"
+
+msgid "IDS_MH_POP_ALARM_TONE_SET"
+msgstr "Alarm tone set."
+
+msgid "IDS_MH_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 track added to playlist."
+
+msgid "IDS_MH_TPOP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d tracks added to playlist."
+
+msgid "IDS_MUSIC_OPT_RENAME"
+msgstr "Rename"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Unable to play during call."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Hámarksstærð skráa er náð."
+
+msgid "IDS_CAM_TPOP_UNABLE_TO_PLAY_MUSIC_WHILE_RECORDING_AUDIO_OR_VIDEO"
+msgstr "Ekki er hægt að spila tónlist meðan á hljóð- eða myndupptöku stendur."
+
--- /dev/null
+msgid "IDS_ST_BODY_LOADING_ING"
+msgstr "Caricamento..."
+
+msgid "IDS_GALLERY_OPT_PRIVATE_M_CONTENT"
+msgstr "Privato"
+
+msgid "IDS_MF_BODY_TIME"
+msgstr "Ora"
+
+msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
+msgstr "File inesistente."
+
+msgid "IDS_MUSIC_POP_PHONE_RINGTONE"
+msgstr "Suoneria telefono"
+
+msgid "IDS_MUSIC_BODY_DURATION"
+msgstr "Durata"
+
+msgid "IDS_MUSIC_BODY_MUSIC_LOCATION"
+msgstr "Posizione"
+
+msgid "IDS_MUSIC_BODY_SET_AS_M_RINGTONE"
+msgstr "Imposta come"
+
+msgid "IDS_ST_OPT_ADD_TO_PERSONAL_PAGE"
+msgstr "Aggiungi a pagina personale"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_PERSONAL_PAGE_ABB"
+msgstr "Rimuovi da pag. personale"
+
+msgid "IDS_ST_POP_MOVE_TO_NORMAL_STORAGE"
+msgstr "Sposta nella memoria normale"
+
+msgid "IDS_ST_POP_MOVE_TO_PERSONAL_STORAGE"
+msgstr "Sposta nella memoria personale"
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEMS_WILL_BE_MOVED_TO_PS"
+msgstr "Gli elementi selezionati verranno spostati in %s."
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEM_WILL_BE_MOVED_TO_PS"
+msgstr "L'elemento selezionato verrà spostato in %s."
+
+msgid "IDS_VR_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Impossibile utilizzare in modalità Archiviazione di massa."
+
+msgid "IDS_MUSIC_POP_RINGTONE_ADDED"
+msgstr "Suoneria aggiunta."
+
+msgid "IDS_CAM_BODY_BUTTON_T_TTS"
+msgstr "Pulsante"
+
+msgid "IDS_MUSIC_HEADER_SELECT_ITEMS"
+msgstr "Seleziona elementi"
+
+msgid "IDS_ST_BODY_ADVANCED"
+msgstr "Avanzate"
+
+msgid "IDS_ST_SK_PREVIOUS"
+msgstr "Precedente"
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Chiudi"
+
+msgid "IDS_MUSIC_POP_ADDED"
+msgstr "Aggiunto."
+
+msgid "IDS_MUSIC_POP_FAILED"
+msgstr "Errore"
+
+msgid "IDS_MUSIC_BODY_NO_SEARCH_RESULTS"
+msgstr "Nessun risultato della ricerca"
+
+msgid "IDS_MUSIC_SK_DONE"
+msgstr "Fatto"
+
+msgid "IDS_MUSIC_BODY_NO_ITEMS"
+msgstr "Nessun elemento"
+
+msgid "IDS_BR_OPT_ADD_TO_HOME"
+msgstr "Aggiungi a schermata iniziale"
+
+msgid "IDS_BR_SK_NEXT"
+msgstr "Avanti"
+
+msgid "IDS_BR_BODY_DOWNLOADING_ING"
+msgstr "Download..."
+
+msgid "IDS_IV_BODY_FAVOURITE"
+msgstr "Preferiti"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_PERSONAL_STORAGE"
+msgstr "Aggiungi alla memoria personale"
+
+msgid "IDS_DLNA_POP_DISCONNECTED_FROM_PS_CHECK_THE_NETWORK_STATUS_AND_THE_CONNECTED_DEVICE"
+msgstr "Disconnesso da %s. Controllate lo stato della rete e il dispositivo collegato."
+
+msgid "IDS_DLNA_OPT_VIA_SCREEN_MIRRORING_ABB"
+msgstr "Con Screen Mirroring"
+
+msgid "IDS_DLNA_OPT_VIA_HOME_NETWORK_ABB"
+msgstr "Con rete domestica"
+
+msgid "IDS_IV_POP_ENTRY_IS_EMPTY"
+msgstr "Voce vuota"
+
+msgid "IDS_FM_POP_UNAVAILABLE_DURING_CALL"
+msgstr "Non disponibile durante le chiamate."
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Raggiunto numero massimo di caratteri."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_SHARE_DRM_FILE"
+msgstr "Impossibile condividere il file DRM"
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Rimozione..."
+
+msgid "IDS_MUSIC_HEADER_PD_DEVICES"
+msgstr "%d dispositivi"
+
+msgid "IDS_MUSIC_BUTTON_ENABLE_MOTION"
+msgstr "Attiva movim."
+
+msgid "IDS_MUSIC_BUTTON_DONT_ASK_AGAIN"
+msgstr "Non chiedere più"
+
+msgid "IDS_MUSIC_BODY_NO_RESULTS_FOUND"
+msgstr "Nessun risultato trovato."
+
+msgid "IDS_VPL_OPT_HDMI"
+msgstr "HDMI"
+
+msgid "IDS_MUSIC_BODY_TURN_PHONE_OVER_TO_MUTE_INCOMING_CALLS_MESSAGE_ALERTS_AND_ALARMS"
+msgstr "Capovolgi il dispositivo per disattivare il suono durante una chiamata in arrivo, gli avvisi messaggi e le sveglie."
+
+msgid "IDS_ST_BODY_NONE"
+msgstr "Nessuno"
+
+msgid "IDS_ST_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_ST_BODY_GALLERY"
+msgstr "Galleria"
+
+msgid "IDS_ST_BODY_DOUBLE_TAP_TO_MOVE_TO_CONTENT_T_TTS"
+msgstr "Toccate due volte per spostare il contenuto."
+
+msgid "IDS_MUSIC_BODY_SURROUND"
+msgstr "Surround"
+
+msgid "IDS_MUSIC_OPT_LYRICS_ABB"
+msgstr "Testi"
+
+msgid "IDS_MUSIC_POP_AFTER_YOU_ADD_TRACKS_TO_MUSIC_ON_YOUR_MOBILE_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Una volta aggiunti a Musica sul dispositivo mobile, i brani verranno visualizzati qui."
+
+msgid "IDS_MUSIC_BODY_SAMPLING_RATE"
+msgstr "Frequenza di campionamento"
+
+msgid "IDS_MUSIC_BODY_MARKED_AS_A_FAVOURITE"
+msgstr "Contrassegnato come preferito."
+
+msgid "IDS_MUSIC_BODY_MUSIC"
+msgstr "Musica"
+
+msgid "IDS_MUSIC_BODY_NOT_MARKED_AS_A_FAVOURITE"
+msgstr "Non contrassegnato come preferito."
+
+msgid "IDS_MUSIC_HEADER_SEARCH_MUSIC_ABB"
+msgstr "Cerca file musicali"
+
+msgid "IDS_MUSIC_POP_AUTO_RECOMMENDATION_DOES_NOT_SUPPORT_THIS_AUDIO_FILE"
+msgstr "Il consiglio automatico non supporta questo file audio."
+
+msgid "IDS_MUSIC_POP_SORRY_THE_PLAYER_DOES_NOT_SUPPORT_THIS_TYPE_OF_AUDIO_FILE"
+msgstr "Il lettore non supporta questo tipo di file audio."
+
+msgid "IDS_MUSIC_BODY_FAVOURITES"
+msgstr "Preferiti"
+
+msgid "IDS_MUSIC_BODY_MOST_PLAYED"
+msgstr "Più ascoltati"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_ADDED"
+msgstr "Aggiunti di recente"
+
+msgid "IDS_MUSIC_OPT_CREATE_PLAYLIST"
+msgstr "Crea playlist"
+
+msgid "IDS_MUSIC_OPT_REMOVE"
+msgstr "Rimuovi"
+
+msgid "IDS_MUSIC_OPT_SETAS_CALLER_RINGTONE"
+msgstr "Suoneria chiamante"
+
+msgid "IDS_MUSIC_TAB4_ARTISTS"
+msgstr "Artisti"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD"
+msgstr "Impossibile aggiungere."
+
+msgid "IDS_MUSIC_POP_UNABLE_CREATE_PLAYLIST"
+msgstr "Impossibile creare playlist."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_GET_TAG"
+msgstr "Impossibile ottenere tag."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_MORE_THAN_PD_MUSIC_FILE"
+msgstr "Impossibile aggiungere più di %d file musicali."
+
+msgid "IDS_MUSIC_BODY_ALBUM"
+msgstr "Album"
+
+msgid "IDS_MUSIC_BODY_AUTHOR"
+msgstr "Autore"
+
+msgid "IDS_MUSIC_BODY_COPYRIGHT"
+msgstr "Copyright"
+
+msgid "IDS_MUSIC_BODY_CREATE_PLAYLIST"
+msgstr "Crea playlist"
+
+msgid "IDS_MUSIC_BODY_DESCRIPTION"
+msgstr "Descrizione"
+
+msgid "IDS_MUSIC_BODY_FORMAT"
+msgstr "Formato"
+
+msgid "IDS_MUSIC_BODY_IMPOSSIBLE"
+msgstr "Impossibile"
+
+msgid "IDS_MUSIC_BODY_NO_PLAYLISTS"
+msgstr "Nessuna playlist"
+
+msgid "IDS_MUSIC_BODY_TRACK_NUMBER"
+msgstr "Numero traccia"
+
+msgid "IDS_MUSIC_POP_DELETE_Q"
+msgstr "Eliminare?"
+
+msgid "IDS_MUSIC_POP_REMOVE_Q"
+msgstr "Rimuovere?"
+
+msgid "IDS_MUSIC_POP_UNABLE_RENAME_PLAYLIST"
+msgstr "Impossibile rinominare playlist."
+
+msgid "IDS_MUSIC_TAB4_ALBUMS"
+msgstr "Album"
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Aggiunta in corso..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Eliminare %d album?"
+
+msgid "IDS_MUSIC_TAB4_PLAYLISTS"
+msgstr "Playlist"
+
+msgid "IDS_MUSIC_OPT_ADD"
+msgstr "Aggiungi"
+
+msgid "IDS_MUSIC_BODY_BIOGRAPHY"
+msgstr "Biografia"
+
+msgid "IDS_MUSIC_BODY_CREDITS"
+msgstr "Ringraziamenti"
+
+msgid "IDS_MUSIC_BODY_DETAILS_MEADIA_INFO"
+msgstr "Info multimedia"
+
+msgid "IDS_MUSIC_BODY_DISCOGRAPHY"
+msgstr "Discografia"
+
+msgid "IDS_MUSIC_BODY_LYRIC"
+msgstr "Testo"
+
+msgid "IDS_MUSIC_BODY_POSSIBLE"
+msgstr "Possibile"
+
+msgid "IDS_MUSIC_BODY_REVIEW"
+msgstr "Verifica"
+
+msgid "IDS_MUSIC_HEADER_TRACK_LIST"
+msgstr "Elenco brani"
+
+msgid "IDS_MUSIC_BODY_ADD_TO_PLAYLIST"
+msgstr "Aggiungi a playlist"
+
+msgid "IDS_MUSIC_BODY_ARTIST"
+msgstr "Artista"
+
+msgid "IDS_MUSIC_BODY_FORWARDING"
+msgstr "Inoltro"
+
+msgid "IDS_MUSIC_BODY_RECORDED_DATE"
+msgstr "Date of recording"
+
+msgid "IDS_MUSIC_BODY_PLAYLISTS"
+msgstr "Playlist"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_PLAYED"
+msgstr "Ultimi riprodotti"
+
+msgid "IDS_MUSIC_BODY_TRACK_LENGTH"
+msgstr "Durata traccia"
+
+msgid "IDS_MUSIC_HEADER_NO_SONGS"
+msgstr "Nessuna canzone"
+
+msgid "IDS_MUSIC_POP_THIS_TRACK_WILL_BE_DELETED"
+msgstr "Questo brano verrà eliminato."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_TRACKS_WILL_BE_DELETED"
+msgstr "I brani selezionati verranno eliminati."
+
+msgid "IDS_MUSIC_POP_THIS_ARTIST_WILL_BE_DELETED"
+msgstr "Questo artista sarà eliminato."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ARTISTS_WILL_BE_DELETED"
+msgstr "Gli artisti selezionati verranno eliminati."
+
+msgid "IDS_MUSIC_POP_ALL_ARTISTS_WILL_BE_DELETED"
+msgstr "Tutti gli artisti saranno eliminati."
+
+msgid "IDS_MUSIC_POP_THIS_FOLDER_WILL_BE_DELETED"
+msgstr "Questa cartella verrà eliminata."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_FOLDERS_WILL_BE_DELETED"
+msgstr "Le cartelle selezionate verranno eliminate."
+
+msgid "IDS_MUSIC_POP_ALL_FOLDERS_WILL_BE_DELETED"
+msgstr "Tutte le cartelle verranno eliminate."
+
+msgid "IDS_MUSIC_POP_THIS_ALBUM_WILL_BE_DELETED"
+msgstr "Questo album sarà eliminato."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ALBUMS_WILL_BE_DELETED"
+msgstr "Gli album selezionati verranno eliminati."
+
+msgid "IDS_MUSIC_POP_ALL_ALBUMS_WILL_BE_DELETED"
+msgstr "Tutti gli album saranno eliminati."
+
+msgid "IDS_MUSIC_POP_THIS_PLAYLIST_WILL_BE_DELETED"
+msgstr "Questa playlist sarà eliminata."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Le playlist selezionate verranno eliminate."
+
+msgid "IDS_MUSIC_POP_ALL_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Tutte le playlist saranno eliminate."
+
+msgid "IDS_MUSIC_HEADER_SONGS"
+msgstr "Canzoni"
+
+msgid "IDS_MUSIC_OPT_REORDER"
+msgstr "Riordina"
+
+msgid "IDS_MUSIC_OPT_SAVE_AS_PLAYLIST"
+msgstr "Salva come playlist"
+
+msgid "IDS_MUSIC_OPT_SETAS_ALARM_TONE"
+msgstr "Tono sveglia"
+
+msgid "IDS_MUSIC_POP_NOTHING_SELECTED"
+msgstr "Nessun elemento selezionato."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Impossibile riprodurre. Si è verificato un errore."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_UNSUPPORTED_FILETYPE"
+msgstr "Impossibile riprodurre. Tipo file non supportato."
+
+msgid "IDS_MUSIC_SK_SHARE"
+msgstr "Condividi"
+
+msgid "IDS_MUSIC_TAB4_CONDUCTORS"
+msgstr "Condutt."
+
+msgid "IDS_MUSIC_HEADER_SELECT_DEVICE"
+msgstr "Selezionate dispositivo"
+
+msgid "IDS_MUSIC_SK_VIEW_AS"
+msgstr "Vedi come"
+
+msgid "IDS_MUSIC_BODY_SOUNDEFFECTS_NORMAL"
+msgstr "Normale"
+
+msgid "IDS_MUSIC_BODY_USER"
+msgstr "Utente"
+
+msgid "IDS_MUSIC_BODY_VOCAL_M_SOUNDEFFECT"
+msgstr "Vocale"
+
+msgid "IDS_MUSIC_MBODY_BASS_BOOST"
+msgstr "Bass boost"
+
+msgid "IDS_MUSIC_MBODY_TREBLE_BOOST"
+msgstr "Treble boost"
+
+msgid "IDS_MUSIC_BODY_CAFE_M_SOUNDEFFECT"
+msgstr "Caffè"
+
+msgid "IDS_MUSIC_OPT_VIRTUAL_71_CH"
+msgstr "Canale virtuale 7.1"
+
+msgid "IDS_MUSIC_OPT_AFTER_15_MIN_ABB"
+msgstr "Dopo 15 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_30_MIN"
+msgstr "Dopo 30 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HOUR"
+msgstr "Dopo 1 ora"
+
+msgid "IDS_MUSIC_POP_AFTER_1_HOUR_30_MIN"
+msgstr "Dopo 1 ora e 30 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_2_HOURS"
+msgstr "Dopo 2 ore"
+
+msgid "IDS_MUSIC_BODY_MUSIC_AUTO_OFF"
+msgstr "Disattivazione automatica musica"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES_ONLY"
+msgstr "Questo effetto sonoro funziona solo in modalità auricolare e Bluetooth."
+
+msgid "IDS_MUSIC_TAB4_MUSIC_SQUARE"
+msgstr "Music square"
+
+msgid "IDS_MUSIC_POP_NOT_ENOUGH_MUSIC_FILES_TO_PLAY_IN_MUSIC_SQUARE_AT_LEAST_PD_MUSIC_FILES_REQUIRED"
+msgstr "Non sono presenti abbastanza file musicali in Music square. Sono necessari almeno %d file."
+
+msgid "IDS_MUSIC_BODY_PASSION_M_MOOD"
+msgstr "Sentimentale"
+
+msgid "IDS_MUSIC_BODY_CALM_M_ADJECTIVE"
+msgstr "Calmo"
+
+msgid "IDS_MUSIC_BODY_JOY_M_MOOD"
+msgstr "Allegro"
+
+msgid "IDS_MUSIC_BODY_LIBRARY_UPDATE"
+msgstr "Aggiornamento libreria"
+
+msgid "IDS_MUSIC_POP_UPDATE_LIBRARY_Q"
+msgstr "Aggiornare la libreria?"
+
+msgid "IDS_MUSIC_BODY_CHANGE_AXIS"
+msgstr "Modifica asse"
+
+msgid "IDS_MUSIC_ITAB4_GENRES"
+msgstr "Generi"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_1_TRACK"
+msgstr "1 album/1 brano"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_PD_TRACKS"
+msgstr "1 album/%d brani"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS_PD_TRACKS"
+msgstr "%d albums/%d brani"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_CONTROL_MUSIC_PLAYER_WITH_THE_VOICE_COMMANDS_P1SS_P2SS_P3SS_P4SS_P5SS_AND_P6SS"
+msgstr "Potete controllare il lettore musicale con i comandi vocali %1$s, %2$s, %3$s, %4$s, %5$s e %6$s."
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_PD_TRACKS"
+msgstr "Riproduci %d brani in ordine casuale"
+
+msgid "IDS_MUSIC_BODY_MORE_INFO"
+msgstr "Altre info"
+
+msgid "IDS_MUSIC_HEADER_MY_MUSIC_M_APPLICATION_NAME"
+msgstr "Musica personale"
+
+msgid "IDS_MUSIC_OPT_LIST_VIEW"
+msgstr "Elenco"
+
+msgid "IDS_MUSIC_OPT_PLAY_VIA_GROUP_PLAY"
+msgstr "Riproduci con Group Play"
+
+msgid "IDS_MUSIC_POP_TRACK_ADDED_TO_FAVOURITES"
+msgstr "Brano aggiunto ai preferiti."
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_FAVOURITES"
+msgstr "Rimuovi dai preferiti"
+
+msgid "IDS_MUSIC_BODY_NEW_M_LATEST"
+msgstr "Recente"
+
+msgid "IDS_MUSIC_OPT_TRACKS"
+msgstr "Brani"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL"
+msgstr "Miniatura"
+
+msgid "IDS_MUSIC_SK_LIST"
+msgstr "Elenco"
+
+msgid "IDS_MUSIC_SK_OPEN_PLAYLIST"
+msgstr "Apri playlist"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALL"
+msgstr "Riproduci tutto"
+
+msgid "IDS_MUSIC_POP_SELECTED_LIST_EMPTY"
+msgstr "Elenco selezionato vuoto."
+
+msgid "IDS_MUSIC_BODY_MOODS"
+msgstr "Umore"
+
+msgid "IDS_MUSIC_BUTTON_YEARS"
+msgstr "Anni"
+
+msgid "IDS_MUSIC_BODY_OLD"
+msgstr "Passato"
+
+msgid "IDS_MUSIC_BODY_MUSIC_SQUARE_ANALYSES_THE_CHARACTERISTICS_OF_MUSIC_FILES_STORED_ON_YOUR_DEVICE_AND_AUTOMATICALLY_CREATES_PLAYLISTS_MSG"
+msgstr "Music square analizza le caratteristiche dei file musicali sul tuo dispositivo e crea playlist automaticamente."
+
+msgid "IDS_MUSIC_BODY_PLAY_TRACKS_WITH_SIMILAR_CHARACTERISTICS_BY_SELECTING_A_SQUARE_ON_THE_SCREEN"
+msgstr "Riproduci playlist di canzoni con caratteristiche simili selezionando un riquadro sul display."
+
+msgid "IDS_MUSIC_BODY_VIEW_PLAYLIST_DETAILS_BY_TAPPING_AND_HOLDING_THE_SQUARE_CURRENTLY_BEING_PLAYED"
+msgstr "Visualizza i dettagli della playlist toccando e tenendo premuto il riquadro in riproduzione."
+
+msgid "IDS_MUSIC_BODY_NEARBY_DEVICES"
+msgstr "Dispositivi vicini"
+
+msgid "IDS_MUSIC_POP_YOU_WILL_NEED_TO_UPDATE_THE_LIBRARY_IF_NEW_SONGS_HAVE_BEEN_ADDED"
+msgstr "Se sono state aggiunte nuove canzoni, è necessario aggiornare la libreria."
+
+msgid "IDS_MUSIC_BODY_NO_ALBUMS"
+msgstr "Nessun album"
+
+msgid "IDS_MUSIC_BODY_NO_ARTISTS"
+msgstr "Nessun artista"
+
+msgid "IDS_MUSIC_OPT_PLAY_SPEED_ABB"
+msgstr "Velocità riproduzione"
+
+msgid "IDS_MUSIC_BODY_CONCERT_HALL_M_SOUNDEFFECT"
+msgstr "Sala concerti"
+
+msgid "IDS_MUSIC_OPT_ADD_TO"
+msgstr "Aggiungi"
+
+msgid "IDS_MUSIC_SK_VIEW"
+msgstr "Vedi"
+
+msgid "IDS_MUSIC_OPT_LISTBY_RECENTLY_ADDED"
+msgstr "Aggiunti di recente"
+
+msgid "IDS_MUSIC_BODY_NOT_USED"
+msgstr "Non attivo"
+
+msgid "IDS_MUSIC_BODY_MAKE_AVAILABLE_OFFLINE"
+msgstr "Rende disponibile offline"
+
+msgid "IDS_MUSIC_OPT_AFTER_P1SD_HRS_P2SD_MINS"
+msgstr "Dopo %1$d ore e %2$d minuti"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS"
+msgstr "Dopo %d ore"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_MINS"
+msgstr "Dopo %d min"
+
+msgid "IDS_MUSIC_BODY_NO_FOLDERS"
+msgstr "Nessuna cartella"
+
+msgid "IDS_MUSIC_BODY_NO_TRACKS"
+msgstr "Nessun brano"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS"
+msgstr "%d album"
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS"
+msgstr "Artisti %d"
+
+msgid "IDS_MUSIC_BODY_PD_GENRES"
+msgstr "Generi %d"
+
+msgid "IDS_MUSIC_BODY_PD_PLAYLISTS"
+msgstr "Playlist %d"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_ABB"
+msgstr "%d brani"
+
+msgid "IDS_MUSIC_BODY_PLAYLIST"
+msgstr "Playlist"
+
+msgid "IDS_MUSIC_HEADER_SIMILAR_ALBUMS"
+msgstr "Album simili"
+
+msgid "IDS_MUSIC_HEADER_TRACK"
+msgstr "Brano"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL_VIEW"
+msgstr "Vista miniature"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "Questo effetto sonoro funziona solo in modalità auricolare."
+
+msgid "IDS_MUSIC_OPT_ALL_CONTENT_ABB2"
+msgstr "Tutti i contenuti"
+
+msgid "IDS_MUSIC_BODY_A_NETWORK_CONNECTION_IS_REQUIRED_TO_PLAY_THIS_FILE_CHECK_YOUR_NETWORK_CONNECTION_AND_TRY_AGAIN"
+msgstr "Connessione di rete necessaria per riprodurre questo file. Controllate la connessione e riprovate."
+
+msgid "IDS_MUSIC_POP_FILE_TYPE_NOT_SUPPORTED"
+msgstr "Tipo file non supportato."
+
+msgid "IDS_MUSIC_POP_UPDATING_ING"
+msgstr "Aggiornamento..."
+
+msgid "IDS_MUSIC_OPT_SEARCH_ABB"
+msgstr "Cerca"
+
+msgid "IDS_MUSIC_OPT_SEARCH_BY"
+msgstr "Cerca per"
+
+msgid "IDS_MUSIC_BODY_RELATED_VIDEOS"
+msgstr "Video correlati"
+
+msgid "IDS_MUSIC_BODY_SMART_VOLUME_ABB"
+msgstr "Volume Intelligente"
+
+msgid "IDS_MUSIC_BODY_THE_VOLUME_OF_ALL_TRACKS_WILL_BE_ADJUSTED_TO_LEVEL_PD"
+msgstr "Il volume di tutte le tracce viene regolato al livello %d."
+
+msgid "IDS_MUSIC_HEADER_SMART_VOLUME_IS_ENABLED"
+msgstr "Volume Intelligente attivato"
+
+msgid "IDS_MUSIC_OPT_CONNECTION_INFO_ABB"
+msgstr "Info connessione"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_PD_MINS"
+msgstr "Dopo 1 ora %d min"
+
+msgid "IDS_MUSIC_BODY_ADAPT_SOUND_ABB"
+msgstr "Audio personalizzato"
+
+msgid "IDS_MUSIC_BODY_MY_DEVICE"
+msgstr "Dispositivo personale"
+
+msgid "IDS_MUSIC_POP_LISTENING_AT_A_HIGH_VOLUME_FOR_A_LONG_TIME_MAY_DAMAGE_YOUR_HEARING_RAISE_THE_VOLUME_ABOVE_SAFE_LEVELS_Q"
+msgstr "Se ascoltate musica a un volume troppo alto per un periodo di tempo prolungato, potreste riscontrare problemi di udito. Volete alzare il volume ad un valore al di sopra dei livelli di sicurezza?"
+
+msgid "IDS_MUSIC_POP_ALREADY_EXISTS"
+msgstr "Già esiste."
+
+msgid "IDS_MUSIC_OPT_SCAN_FOR_NEARBY_DEVICES"
+msgstr "Ricerca dispositivi vicini"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR"
+msgstr "Dopo 1 ora"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_1_MIN"
+msgstr "Dopo 1 ora 1 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS_1_MIN"
+msgstr "Dopo %d ore e 1 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_MIN"
+msgstr "Dopo 1 min"
+
+msgid "IDS_MUSIC_OPT_GO_TO_STORE"
+msgstr "Vai a shop"
+
+msgid "IDS_MUSIC_SK3_ADD_TRACKS"
+msgstr "Agg.\nbrani"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FROM_MUSIC_THEY_WILL_BE_SHOWN_HERE"
+msgstr "I brani verranno visualizzati qui dopo essere stati scaricati da Musica."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_YOUR_FAVOURITES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Una volta aggiunti ai preferiti, i brani verranno visualizzati qui."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_PLAY_TRACKS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Una volta riprodotti, i brani verranno visualizzati qui."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_PS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "I brani verranno visualizzati qui dopo essere stati aggiunti a %s."
+
+msgid "IDS_MUSIC_BODY_NO_PURCHASED_CONTENT"
+msgstr "Nessun contenuto acquistato"
+
+msgid "IDS_MUSIC_SK_SAVE_AS"
+msgstr "Salva con nome"
+
+msgid "IDS_MUSIC_POP_MUSICPLAYER_UPDATING_FAILED"
+msgstr "Aggiornamento non eseguito."
+
+msgid "IDS_MUSIC_BODY_EXCITING_M_ADJECTIVE"
+msgstr "Emozionante"
+
+msgid "IDS_MUSIC_BODY_SEARCH_MY_MUSIC"
+msgstr "Cerca file musicali personali"
+
+msgid "IDS_MUSIC_HEADER_CONNECTED_DEVICES"
+msgstr "Dispositivi connessi"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST_PS"
+msgstr "Playlist personale %s"
+
+msgid "IDS_MUSIC_BODY_NO_DEVICES"
+msgstr "Nessun dispositivo"
+
+msgid "IDS_MUSIC_HEADER_AVAILABLE_DEVICES_ABB"
+msgstr "Dispositivi disponibili"
+
+msgid "IDS_MUSIC_POP_SET"
+msgstr "Impostato"
+
+msgid "IDS_MUSIC_POP_REMOVE_FAILED"
+msgstr "Impossibile rimuovere."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_USE_FAST_FORWARD_AND_REWIND_WHEN_NEARBY_DEVICES_ARE_ENABLED"
+msgstr "Impossibile utilizzare le funzioni di avanzamento rapido e riavvolgimento se i dispositivi vicini sono attivati."
+
+msgid "IDS_MUSIC_OPT_SET_AS"
+msgstr "Imposta come"
+
+msgid "IDS_MUSIC_OPT_HEADPHONES_ABB"
+msgstr "Cuffie"
+
+msgid "IDS_MUSIC_OPT_SPEAKER"
+msgstr "Altoparlante"
+
+msgid "IDS_MUSIC_BODY_1_SONG"
+msgstr "1 canzone"
+
+msgid "IDS_MUSIC_BODY_PD_SONGS"
+msgstr "%d canzoni"
+
+msgid "IDS_MUSIC_BODY_1_TRACK"
+msgstr "1 brano"
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_1_TRACK"
+msgstr "1 brano in ordine casuale"
+
+msgid "IDS_MUSIC_POP_NO_MUSIC_FOUND_FOR_SELECTED_CELL"
+msgstr "Nessuna musica trovata per la cella selezionata"
+
+msgid "IDS_MUSIC_BODY_DO_NOT_SHOW_AGAIN"
+msgstr "Non mostrare più"
+
+msgid "IDS_MUSIC_BODY_VARIOUS_ARTISTS"
+msgstr "Artisti vari"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_HOME_SCREEN_ABB"
+msgstr "Aggiungi alla schermata Home"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_FAVOURITES"
+msgstr "Aggiungi a Preferiti"
+
+msgid "IDS_MUSIC_OPT_EDIT_TITLE"
+msgstr "Modifica titolo"
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_PERSONAL_STORAGE"
+msgstr "Rimuovi dalla memoria personale"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FOLDERS_WILL_BE_SHOWN"
+msgstr "Le cartelle saranno visualizzate dopo il download dei brani"
+
+msgid "IDS_MUSIC_BODY_SETTINGS_VOLUME"
+msgstr "Volume"
+
+msgid "IDS_MUSIC_BODY_REPEAT_OFF"
+msgstr "Ripetizione no"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_REPEAT_ALL"
+msgstr "Ripeti tutto"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_OFF"
+msgstr "Casuale disattivato"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_ON"
+msgstr "Casuale attivato"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST"
+msgstr "Playlist personale"
+
+msgid "IDS_MUSIC_MBODY_DEFAULT_PLAYLISTS"
+msgstr "Playlist predefinite"
+
+msgid "IDS_MUSIC_BODY_DETAILS_RECORDING_DATE"
+msgstr "Data di registrazione"
+
+msgid "IDS_MUSIC_OPT_ALBUM_ART_ABB"
+msgstr "Album Art"
+
+msgid "IDS_MUSIC_BODY_1_GENRE"
+msgstr "1 genere"
+
+msgid "IDS_MUSIC_BODY_PD_FOLDERS"
+msgstr "%d cartelle"
+
+msgid "IDS_MUSIC_BODY_1_FOLDER"
+msgstr "1 cartella"
+
+msgid "IDS_MUSIC_BODY_1_ARTIST"
+msgstr "1 artista"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_M_MUSIC"
+msgstr "1 album"
+
+msgid "IDS_MUSIC_BODY_1_PLAYLIST"
+msgstr "1 playlist"
+
+msgid "IDS_MUSIC_BODY_MUSIC_PLAYER"
+msgstr "Lettore musicale"
+
+msgid "IDS_MUSIC_BUTTON_MOVE"
+msgstr "Sposta"
+
+msgid "IDS_MUSIC_BUTTON_AUTO_RECOMMENDATIONS"
+msgstr "Suggerimenti automatici"
+
+msgid "IDS_MUSIC_BUTTON_FROM_THE_BEGINNING"
+msgstr "Dall'inizio"
+
+msgid "IDS_MUSIC_HEADER_SUGGESTIONS_FOR_YOU"
+msgstr "Suggeriti"
+
+msgid "IDS_MUSIC_OPT_SAVE"
+msgstr "Salva"
+
+msgid "IDS_MUSIC_TAB4_BASIC_M_EQUALIZING"
+msgstr "Base"
+
+msgid "IDS_MUSIC_BODY_INSTRUMENT"
+msgstr "Strumento"
+
+msgid "IDS_MUSIC_BODY_TREBLE_M_EQUALISER"
+msgstr "Acuti"
+
+msgid "IDS_MUSIC_BODY_BASS_M_EQUALISER"
+msgstr "Bassi"
+
+msgid "IDS_MUSIC_BODY_NO_EFFECTS_ARE_APPLIED_IN_THIS_MODE_ABB"
+msgstr "Nessun effetto applicato in questa modalità."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_TIMBRE_OF_A_TUBE_AMP_ABB"
+msgstr "Simula il timbro di un amplificatore valvolare."
+
+msgid "IDS_MUSIC_OPT_TUBE_AMP_EFFECT"
+msgstr "Effetto amplificatore valvolare"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_EFFECT_OF_VIRTUAL_71_CHANNEL_SURROUND_SOUND_ABB"
+msgstr "Simula l'effetto dell'audio surround con canale virtuale 7.1."
+
+msgid "IDS_MUSIC_HEADER_SMALL_ROOM_M_REVERB_ABB"
+msgstr "Ambiente piccolo"
+
+msgid "IDS_MUSIC_HEADER_LARGE_ROOM_M_REVERB_ABB"
+msgstr "Stanza grande"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_LARGE_ROOM_EG_A_THEATRE_ABB"
+msgstr "Simula il riverbero in una stanza grande, ad es. un teatro."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_CONCERT_HALL_ABB"
+msgstr "Simula il riverbero che si verifica in una sala concerti."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_SMALL_SPACE_EG_A_STUDIO_ABB"
+msgstr "Simula il riverbero in un amb. piccolo, ad es. uno studio."
+
+msgid "IDS_MUSIC_BUTTON_3D_CHN"
+msgstr "3D"
+
+msgid "IDS_MUSIC_BODY_CLARITY_M_SOUNDEFFECT"
+msgstr "Nitidezza"
+
+msgid "IDS_MUSIC_BUTTON_RESET"
+msgstr "Azzera"
+
+msgid "IDS_MUSIC_TAB_YEARS"
+msgstr "Anni"
+
+msgid "IDS_MUSIC_TAB_GENRES"
+msgstr "Generi"
+
+msgid "IDS_MUSIC_TAB_COMPOSERS"
+msgstr "Compositori"
+
+msgid "IDS_MUSIC_TAB_ALL_TRACKS"
+msgstr "Tutti i brani"
+
+msgid "IDS_MUSIC_SK3_GO_TO_QUICK_LIST"
+msgstr "Vai a el. rapido"
+
+msgid "IDS_MUSIC_SK3_FIND"
+msgstr "Trova"
+
+msgid "IDS_MUSIC_SK3_ADD_TO_QUICK_LIST"
+msgstr "Agg. el. rapido"
+
+msgid "IDS_MUSIC_POP_UNAUTHORISED_VIDEO_FILE_FOR_TV_OUT"
+msgstr "File video non autorizzato per uscita TV."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_CREATE_MAXIMUM_NUMBER_OF_PLAYLISTS_REACHED"
+msgstr "Impossibile creare. Raggiunto numero massimo di playlist."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTING_BLUETOOTH_HEADSET"
+msgstr "Impossibile regolare il volume durante la connessione dell'auricolare Bluetooth."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTED_TO_BLUETOOTH_HEADSET"
+msgstr "Impossibile regolare il volume durante la connessione dell'auricolare Bluetooth."
+
+msgid "IDS_MUSIC_POP_STOP_MUSIC_PLAYER_Q"
+msgstr "Interrompere Lettore musicale?"
+
+msgid "IDS_MUSIC_POP_PLEASE_EXIT_SILENT_MODE"
+msgstr "Uscire da modo Silenzioso."
+
+msgid "IDS_MUSIC_POP_NETWORK_FAILURE"
+msgstr "Errore di rete."
+
+msgid "IDS_MUSIC_POP_MEMORY_CARD_LOADED"
+msgstr "Scheda di memoria caricata."
+
+msgid "IDS_MUSIC_POP_DEVICE_SETTINGS_ERROR"
+msgstr "Errore impostazioni dispositivo."
+
+msgid "IDS_MUSIC_POP_COULD_NOT_FIND_A_MATCH_FOR_THE_SONG"
+msgstr "Impossibile trovare un risultato per il brano."
+
+msgid "IDS_MUSIC_POP_BUFFERING_MSTATUS"
+msgstr "Buffering"
+
+msgid "IDS_MUSIC_POP_BT_HEADSET_ONLY_SUPPORTS_NORMAL_EFFECTS_SETTING"
+msgstr "L'auricolare bluetooth supporta solo l'impostazione effetti normali."
+
+msgid "IDS_MUSIC_POP_APPLICATION_WILL_BE_CLOSED"
+msgstr "L'applicazione verrà chiusa."
+
+msgid "IDS_MUSIC_POP_ADDED_GO_TO_WISH_LIST_Q"
+msgstr "Aggiunto. Aprire Desiderati?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_THE_SERVICE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "L'accesso al servizio potrebbe essere a pagamento. Continuare?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_STORE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "L'accesso al negozio potrebbe essere a pagamento. Continuare?"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_ONLY_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES"
+msgstr "L'effetto sonoro a 5.1 canali funziona solo in modalità auricolare e Bluetooth."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "L'effetto sonoro a 5.1 canali funziona solo in modalità auricolare."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECTS_NOT_SUPPORTED_BY_SPEAKER"
+msgstr "Effetti sonori a 5.1 canali non supportati dall'altoparlante."
+
+msgid "IDS_MUSIC_OPT_VIEW_BY_COVER_ART"
+msgstr "Visualizza per cover art"
+
+msgid "IDS_MUSIC_OPT_SEND_TRACK"
+msgstr "Invia brano"
+
+msgid "IDS_MUSIC_OPT_RATE_TRACK"
+msgstr "Valutazione brano"
+
+msgid "IDS_MUSIC_OPT_PLAYLIST_MOVE_TRACK_IN_PLAYLIST"
+msgstr "Sposta brano in playlist"
+
+msgid "IDS_MUSIC_OPT_OPENPLAYLIST_CURRENT"
+msgstr "Corrente"
+
+msgid "IDS_MUSIC_OPT_DELETE_PLAYLIST"
+msgstr "Elimina playlist"
+
+msgid "IDS_MUSIC_OPT_BACKGROUND_PLAYING"
+msgstr "Riproduzione in sottofondo"
+
+msgid "IDS_MUSIC_HEADER_EFFECTS"
+msgstr "Effetti"
+
+msgid "IDS_MUSIC_BUTTON_BUY_NOW"
+msgstr "Acquista"
+
+msgid "IDS_MUSIC_BODY_WOW_HD"
+msgstr "Wow HD"
+
+msgid "IDS_MUSIC_BODY_WISHLIST"
+msgstr "Desiderati"
+
+msgid "IDS_MUSIC_BODY_WIDE"
+msgstr "Spazio ampio"
+
+msgid "IDS_MUSIC_BODY_WHA_WHA"
+msgstr "Wha-wha"
+
+msgid "IDS_MUSIC_BODY_VIBE_WOOFER"
+msgstr "Woofer Vibe"
+
+msgid "IDS_MUSIC_BODY_TREMOLO"
+msgstr "Tremolo"
+
+msgid "IDS_MUSIC_BODY_TAP_TWICE_TO_PLAY_PAUSE_MUSIC"
+msgstr "Toccare 2 volte per riprodurre/mettere in pausa la musica."
+
+msgid "IDS_MUSIC_BODY_SHARE_TRACK_VIA_BLUETOOTH"
+msgstr "Condividi brano tramite Bluetooth"
+
+msgid "IDS_MUSIC_BODY_SETUPWIZARD_WELCOME_TO_THE_MUSIC_SETUP_WIZARD_CONTINUE_Q"
+msgstr "Procedura guidata per la configurazione della musica.\nLe schermate seguenti consentono di configurare il telefono. Continuare?"
+
+msgid "IDS_MUSIC_BODY_QUICK_LIST"
+msgstr "Elenco rapido"
+
+msgid "IDS_MUSIC_BODY_PLAYINGSETTINGS_SOUND_EFFECTS"
+msgstr "Effetti sonori"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_ALL"
+msgstr "Tutti/e"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_1"
+msgstr "1"
+
+msgid "IDS_MUSIC_BODY_PLAYERSETTINGS_VOLUME"
+msgstr "Volume"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_SELECTED"
+msgstr "%d brani selezionati."
+
+msgid "IDS_MUSIC_BODY_NO_PODCASTS"
+msgstr "Nessun podcast"
+
+msgid "IDS_MUSIC_BODY_FIND_SIMILAR"
+msgstr "Trova simile"
+
+msgid "IDS_MUSIC_BODY_BACKGROUND_PLAY"
+msgstr "Riproduci in sottofondo"
+
+msgid "IDS_MUSIC_BODY_51_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "È possibile attivare 5.1 canali se gli effetti sonori sono disattivati."
+
+msgid "IDS_MUSIC_TAB4_PODCASTS"
+msgstr "Podcast"
+
+msgid "IDS_MUSIC_SK2_EDIT_IMAGE"
+msgstr "Modifica immagine"
+
+msgid "IDS_MUSIC_POP_PLAYING_ANY_SOUNDS_WILL_STOP_AND_SAVE_YOUR_VOICE_RECORDING_PLAY_Q"
+msgstr "La riproduzione di suoni determina l'interruzione e il salvataggio della registrazione vocale. Riprodurre?"
+
+msgid "IDS_MUSIC_POP_MAXIMUM_NUMBER_OF_ITEMS_HPD_SELECTED"
+msgstr "Selezionare numero max. di elementi (%d)."
+
+msgid "IDS_MUSIC_POP_BLUETOOTH_DISCONNECTED"
+msgstr "Bluetooth disconnesso."
+
+msgid "IDS_MUSIC_POP_5_1_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "È possibile attivare il canale 5.1 solo se gli effetti sonori sono disattivati."
+
+msgid "IDS_MUSIC_OPT_TAKE_PICTURE"
+msgstr "Scatta foto"
+
+msgid "IDS_MUSIC_OPT_SHOW_MUSIC_VIEW_ABB"
+msgstr "Mostra vista musica"
+
+msgid "IDS_MUSIC_OPT_PAUSE"
+msgstr "Pausa"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALBUM"
+msgstr "Riproduci album"
+
+msgid "IDS_MUSIC_OPT_LIST_BY"
+msgstr "Elenca per"
+
+msgid "IDS_MUSIC_OPT_HISTORY"
+msgstr "Cronologia"
+
+msgid "IDS_MUSIC_OPT_HIDE_MUSIC_VIEW_ABB"
+msgstr "Nascondi vista musica"
+
+msgid "IDS_MUSIC_OPT_FIND_TAG"
+msgstr "Trova tag"
+
+msgid "IDS_MUSIC_OPT_DROPBOX_CONTENT_ABB"
+msgstr "Contenuti Dropbox"
+
+msgid "IDS_MUSIC_OPT_CONTENT_ON_PHONE_ABB"
+msgstr "Contenuto telef."
+
+msgid "IDS_MUSIC_OPT_CHANGE_IMAGE"
+msgstr "Cambia immagine"
+
+msgid "IDS_MUSIC_HEADER_DELETE_DROPBOX_DATA_ABB"
+msgstr "Eliminate dati Dropbox"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_STREAM_YOUR_MUSIC_TO_DEVICES_USING_ALLSHARE"
+msgstr "Potete eseguire lo streaming della musica sui dispositivi tramite AllShare."
+
+msgid "IDS_MUSIC_BODY_VALIDITY"
+msgstr "Validità"
+
+msgid "IDS_MUSIC_BODY_TYPE_CNOUN"
+msgstr "Tipo"
+
+msgid "IDS_MUSIC_BODY_THIS_WILL_DELETE_THE_FILE_FROM_THE_SERVER_AND_ANY_CONNECTED_DEVICES_AS_WELL"
+msgstr "L'operazione eliminerà i file dal server e anche i dispositivi connessi."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_ARTISTS"
+msgstr "Artisti"
+
+msgid "IDS_MUSIC_BODY_PLAYINGDETAILS_ALBUM_ART"
+msgstr "Copertina album"
+
+msgid "IDS_MUSIC_BODY_OTHER_CONTENTS"
+msgstr "Altri contenuti"
+
+msgid "IDS_MUSIC_BODY_NAME_TOO_LONG"
+msgstr "Nome troppo lungo."
+
+msgid "IDS_MUSIC_BODY_MUSIC_CLARITY"
+msgstr "Riduzione rumore musica"
+
+msgid "IDS_MUSIC_BODY_HIGH_VOLUMES_MAY_HARM_YOUR_HEARING_IF_YOU_LISTEN_FOR_A_LONG_TIME"
+msgstr "Volumi troppo alti possono danneggiare l'udito in caso di ascolto prolungato."
+
+msgid "IDS_MUSIC_BODY_AVAILABLE_USES"
+msgstr "Usi disponibili"
+
+msgid "IDS_MUSIC_TPOP_SOUND_EFFECTS_ONLY_AVAILABLE_WHILE_HEADPHONES_CONNECTED"
+msgstr "Gli effetti sonori sono disponibili soltanto quando gli auricolari sono connessi."
+
+msgid "IDS_ST_OPT_ADD_TO_YOUR_PERSONAL_STORAGE"
+msgstr "Aggiungi alla memoria personale"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_YOUR_PERSONAL_STORAGE"
+msgstr "Rimuovi dalla memoria personale"
+
+msgid "IDS_ST_BODY_CONTEXTUAL_POP_UP_T_TALKBACK"
+msgstr "Popup contestuale"
+
+msgid "IDS_ST_BODY_A_CONTEXTUAL_POP_UP_IS_OPEN_DOUBLE_TAP_TO_CLOSE_IT_T_TALKBACK"
+msgstr "È aperto un popup contestuale. Toccate due volte per chiuderlo."
+
+msgid "IDS_ST_BODY_REPEAT_ONE"
+msgstr "Ripeti una volta"
+
+msgid "IDS_ST_BUTTON_MOVING_ING"
+msgstr "Spostamento..."
+
+msgid "IDS_HS_BODY_SELECT_UP_TO_PD_ITEMS"
+msgstr "Selezionate fino a %d elementi"
+
+msgid "IDS_CAM_BODY_TAB_T_TTS"
+msgstr "Scheda"
+
+msgid "IDS_DLNA_OPT2_CHANGE_PLAYER"
+msgstr "Cambia lettore"
+
+msgid "IDS_BR_SK_TABS"
+msgstr "Schede"
+
+msgid "IDS_MF_BODY_DROPBOX_ABB"
+msgstr "Dropbox"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Potete estrarre le parti selezionate dai file audio tramite i suggerimenti automatici."
+
+msgid "IDS_MF_BODY_PARENT_RATING"
+msgstr "Valutazione genitori"
+
+msgid "IDS_VR_POP_FILE_NOT_FOUND"
+msgstr "File non trovato."
+
+msgid "IDS_PB_POP_CALLER_RINGTONE_SAVED"
+msgstr "Suoneria chiamante salvata."
+
+msgid "IDS_MUSIC_BODY_BIT_DEPTH"
+msgstr "Profondità di bit"
+
+msgid "IDS_MUSIC_BODY_SIZE"
+msgstr "Dimensioni"
+
+msgid "IDS_MF_HEADER_PD_SELECTED"
+msgstr "%d selezionato/i"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_THIS_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Una volta aggiunti sul dispositivo, i brani verranno visualizzati qui."
+
+msgid "IDS_MUSIC_TMBODY_LENGTH"
+msgstr "Lunghezza"
+
+msgid "IDS_MUSIC_POP_1_FOLDER_WILL_BE_DELETED"
+msgstr "1 cartella sarà eliminata."
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Nessun contenuto"
+
+msgid "IDS_MUSIC_ITAB4_FOLDERS"
+msgstr "Cartelle"
+
+msgid "IDS_MUSIC_HEADER_MY_PLAYLISTS_ABB"
+msgstr "Playlist personali"
+
+msgid "IDS_MP_BODY_SOUND_PLAYER"
+msgstr "Lettore suoni"
+
+msgid "IDS_MUSIC_OPT_SETTINGS"
+msgstr "Impostazioni"
+
+msgid "IDS_MUSIC_POP_DELETING"
+msgstr "Eliminazione..."
+
+msgid "IDS_MUSIC_POP_1_TRACK_WILL_BE_DELETED"
+msgstr "1 brano verrà eliminato."
+
+msgid "IDS_MUSIC_POP_ALL_TRACKS_WILL_BE_DELETED"
+msgstr "Tutti i brani verranno eliminati"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_WILL_BE_DELETED"
+msgstr "%d brani verranno eliminati."
+
+msgid "IDS_MUSIC_POP_1_PLAYLIST_WILL_BE_DELETED"
+msgstr "Verrà eliminata 1 playlist."
+
+msgid "IDS_MUSIC_POP_PD_PLAYLISTS_WILL_BE_DELETED"
+msgstr "%d playlist saranno eliminate."
+
+msgid "IDS_MUSIC_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "%d album saranno eliminati."
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS_WILL_BE_DELETED"
+msgstr "%d artisti saranno eliminati."
+
+msgid "IDS_MUSIC_POP_PD_FOLDERS_WILL_BE_DELETED"
+msgstr "%d cartelle verranno eliminate."
+
+msgid "IDS_ST_POP_CONNECTION_FAILED"
+msgstr "Errore connessione."
+
+msgid "IDS_MUSIC_BODY_CLASSIC"
+msgstr "Classica"
+
+msgid "IDS_MUSIC_BODY_ROCK"
+msgstr "Rock"
+
+msgid "IDS_MUSIC_BODY_JAZZ"
+msgstr "Jazz"
+
+msgid "IDS_MUSIC_BODY_POP"
+msgstr "Pop"
+
+msgid "IDS_MUSIC_BODY_AUTO"
+msgstr "Auto"
+
+msgid "IDS_MUSIC_POP_CURRENT_SOUND_EFFECT_NOT_SUPPORTED_BY_HDMI"
+msgstr "Effetto audio corrente non supportato da HDMI."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_BLUETOOTH"
+msgstr "Effetti audio non supportati da Bluetooth."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_LINE_OUT"
+msgstr "Effetti audio non supportati dalla linea di uscita."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_HDMI"
+msgstr "Effetti audio non supportati da HDMI."
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EFFECT"
+msgstr "Amplificatore valvolare"
+
+msgid "IDS_MUSIC_BODY_CUSTOM"
+msgstr "Personalizzato"
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EQUALISER_ABB"
+msgstr "Ampl. valvolare"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d brani aggiunti alla playlist."
+
+msgid "IDS_MUSIC_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 brano è stato aggiunto alla playlist."
+
+msgid "IDS_MUSIC_HEADER_ADD_TRACKS_TO_PLAYLIST_ABB"
+msgstr "Aggiungi brani alla playlist"
+
+msgid "IDS_MUSIC_POP_PS_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "%s già in uso. Inserire altro nome."
+
+msgid "IDS_MUSIC_TMBODY_DATE_OF_RECORDING"
+msgstr "Data di registrazione"
+
+msgid "IDS_MBP_TPOP_TRACK_SET_AS_ALARM_TONE"
+msgstr "Brano impostato come tono sveglia."
+
+msgid "IDS_MUSIC_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Nessun risultato trovato"
+
+msgid "IDS_MUSIC_OPT_DEFAULT_RINGTONE_ABB"
+msgstr "Suoneria predefinita"
+
+msgid "IDS_MUSIC_TPOP_TRACK_SET_AS_CALLER_RINGTONE"
+msgstr "Brano impostato come suoneria chiamante."
+
+msgid "IDS_MP_TPOP_TRACK_SET_AS_RINGTONE"
+msgstr "Brano impostato come suoneria."
+
+msgid "IDS_DLNA_BODY_ADD_TO_NOW_PLAYING_LIST"
+msgstr "Aggiungi a elenco In riproduzione"
+
+msgid "IDS_MUSIC_TPOP_EQUALISER_SETTINGS_WILL_BE_APPLIED_WHILE_PLAYING_MUSIC"
+msgstr "Durante la riproduzione della musica, verranno applicate le impostazioni di Equalizzatore."
+
+msgid "IDS_ST_BODY_ALERT"
+msgstr "Avviso"
+
+msgid "IDS_IV_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 album verrà eliminato."
+
+msgid "IDS_MUSIC_OPT_SD_CARD"
+msgstr "Scheda SD"
+
+msgid "IDS_MUSIC_SBODY_DEVICE_STORAGE"
+msgstr "Memoria dispositivo"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE"
+msgstr "Nome playlist già in uso."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_PD"
+msgstr "Playlist %d"
+
+msgid "IDS_MUSIC_HEADER_CREATE"
+msgstr "Crea"
+
+msgid "IDS_MUSIC_HEADER_EQUALISER_PRESET_ABB"
+msgstr "Impostaz. predefinita Equalizzatore"
+
+msgid "IDS_MUSIC_OPT_AUTOMATIC_M_EQUALIZER_EFFECT"
+msgstr "Automatico"
+
+msgid "IDS_MUSIC_OPT_CLASSICAL_M_EQUALIZER_EFFECT"
+msgstr "Classica"
+
+msgid "IDS_MUSIC_HEADER_ENVIRONMENT_EFFECT_ABB"
+msgstr "Effetto ambiente"
+
+msgid "IDS_VIDEO_POP_THE_FILE_TYPE_IS_NOT_SUPPORTED"
+msgstr "Questo tipo di file non è supportato."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_CREATE_PLAYLISTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Le playlist verranno visualizzate qui dopo essere state create."
+
+msgid "IDS_ST_HEADER_SELECT_AUDIO_DEVICE_ABB"
+msgstr "Selezionate dispositivo audio"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "Nome playlist già in uso. Inserite un altro nome."
+
+msgid "IDS_MUSIC_HEADER_SOUNDALIVE_ABB3"
+msgstr "SoundAlive"
+
+msgid "IDS_MUSIC_OPT_NOW_PLAYING_LIST"
+msgstr "Elenco In riproduzione"
+
+msgid "IDS_MUSIC_OPT_SHOW_LYRICS"
+msgstr "Mostra testo canzone"
+
+msgid "IDS_MUSIC_OPT_HIDE_LYRICS"
+msgstr "Nascondi testo canzone"
+
+msgid "IDS_MUSIC_TPOP_UNABLE_TO_PLAY_MUSIC_DURING_CALLS"
+msgstr "Impossibile riprodurre la musica durante le chiamate."
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Elimina"
+
+msgid "IDS_MUSIC_HEADER_SELECT"
+msgstr "Seleziona"
+
+msgid "IDS_TPLATFORM_OPT_NFC"
+msgstr "NFC"
+
+msgid "IDS_MUSIC_HEADER_UNABLE_TO_PLAY_TRACK"
+msgstr "Impossibile riprodurre il brano"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "FATTO"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ANNULLA"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "ELIMINA"
+
+msgid "IDS_MUSIC_POP_RENAME"
+msgstr "Rinomina"
+
+msgid "IDS_MUSIC_OPT_MESSAGE"
+msgstr "Messaggio"
+
+msgid "IDS_MUSIC_SK_OK"
+msgstr "OK"
+
+msgid "IDS_MUSIC_SK_CANCEL"
+msgstr "Annulla"
+
+msgid "IDS_MUSIC_BUTTON_REFRESH"
+msgstr "Aggiorna"
+
+msgid "IDS_MUSIC_BODY_SELECT_ALL"
+msgstr "Seleziona tutto"
+
+msgid "IDS_MUSIC_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_MUSIC_POP_DELETED"
+msgstr "Eliminato/i."
+
+msgid "IDS_MUSIC_OPT_STOP"
+msgstr "Interrompi"
+
+msgid "IDS_MUSIC_BODY_UNKNOWN"
+msgstr "Sconosciuto"
+
+msgid "IDS_MUSIC_BODY_TITLE"
+msgstr "Titolo"
+
+msgid "IDS_MUSIC_OPT_SENDVIA_EMAIL"
+msgstr "E-mail"
+
+msgid "IDS_MUSIC_OPT_BLUETOOTH"
+msgstr "Bluetooth"
+
+msgid "IDS_MUSIC_HEADER_DOWNLOAD"
+msgstr "Scarica"
+
+msgid "IDS_MUSIC_POP_LOW_BATTERY"
+msgstr "Batteria scarica."
+
+msgid "IDS_MUSIC_HEADER_AUDIO_DEVICE"
+msgstr "Dispositivo audio"
+
+msgid "IDS_MUSIC_HEADER_DETAILS"
+msgstr "Dettagli"
+
+msgid "IDS_MUSIC_OPT_END"
+msgstr "Fine"
+
+msgid "IDS_MUSIC_OPT_EDIT"
+msgstr "Modifica"
+
+msgid "IDS_CAM_HEADER_UPDATED"
+msgstr "Aggiornato."
+
+msgid "IDS_MUSIC_POP_REMOVED"
+msgstr "Rimosso."
+
+msgid "IDS_MUSIC_OPT_SELECTED"
+msgstr "Selezionato"
+
+msgid "IDS_ST_BUTTON_SCAN"
+msgstr "Scansione"
+
+msgid "IDS_MF_POP_ERROR"
+msgstr "Errore."
+
+msgid "IDS_MF_POP_MEMORY_FULL"
+msgstr "Memoria piena."
+
+msgid "IDS_MUSIC_MBODY_QUEUE"
+msgstr "Coda"
+
+msgid "IDS_MUSIC_OPT_VOLUME"
+msgstr "Volume"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE"
+msgstr "Riproduzione casuale"
+
+msgid "IDS_MUSIC_OPT_REPEAT"
+msgstr "Ripeti"
+
+msgid "IDS_COM_BODY_DETAILS"
+msgstr "Details"
+
+msgid "IDS_COM_BODY_DETAILS_TITLE"
+msgstr "Title"
+
+msgid "IDS_COM_BODY_EDIT"
+msgstr "Edit"
+
+msgid "IDS_COM_BODY_EMAIL"
+msgstr "Email"
+
+msgid "IDS_COM_BODY_END"
+msgstr "End"
+
+msgid "IDS_COM_BODY_FOLDERS"
+msgstr "Folders"
+
+msgid "IDS_COM_BODY_GALLERY"
+msgstr "Gallery"
+
+msgid "IDS_COM_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_COM_BODY_LOADING"
+msgstr "Loading..."
+
+msgid "IDS_COM_BODY_LOW_BATTERY"
+msgstr "Low battery."
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Message"
+
+msgid "IDS_COM_BODY_MUSIC"
+msgstr "Music"
+
+msgid "IDS_COM_BODY_NFC"
+msgstr "NFC"
+
+msgid "IDS_COM_BODY_NO_CONTENTS"
+msgstr "No content"
+
+msgid "IDS_COM_BODY_PAUSE"
+msgstr "Pause"
+
+msgid "IDS_COM_BODY_PD_SELECTED"
+msgstr "%d selected."
+
+msgid "IDS_COM_BODY_PREVIOUS"
+msgstr "Previous"
+
+msgid "IDS_COM_BODY_RESET_A"
+msgstr "Reset"
+
+msgid "IDS_COM_BODY_SELECTED"
+msgstr "Selected"
+
+msgid "IDS_COM_BODY_SELECT_ALL"
+msgstr "Select all"
+
+msgid "IDS_COM_BODY_SETTINGS"
+msgstr "Settings"
+
+msgid "IDS_COM_BODY_TIME"
+msgstr "Time"
+
+msgid "IDS_COM_BODY_UNABLE_TO_ADD"
+msgstr "Unable to add."
+
+msgid "IDS_COM_BODY_UNKNOWN"
+msgstr "Unknown"
+
+msgid "IDS_COM_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_COM_BUTTON_SCAN"
+msgstr "Scan"
+
+msgid "IDS_COM_BUTTON_SHARE"
+msgstr "Share"
+
+msgid "IDS_COM_HEADER_AUDIO_DEVICE_ABB"
+msgstr "Audio device"
+
+msgid "IDS_COM_OPT_ADDED"
+msgstr "Added."
+
+msgid "IDS_COM_OPT_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_POP_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_POP_CONNECTION_FAILED"
+msgstr "Connection failed."
+
+msgid "IDS_COM_POP_DELETED"
+msgstr "Deleted."
+
+msgid "IDS_COM_POP_DELETE_Q"
+msgstr "Delete?"
+
+msgid "IDS_COM_POP_DONE"
+msgstr "Done"
+
+msgid "IDS_COM_POP_DOWNLOADING"
+msgstr "Downloading..."
+
+msgid "IDS_COM_POP_ERROR"
+msgstr "Error."
+
+msgid "IDS_COM_POP_FAILED"
+msgstr "Failed."
+
+msgid "IDS_COM_POP_FILE_NOT_EXIST"
+msgstr "This file does not exist."
+
+msgid "IDS_COM_POP_FILE_NOT_FOUND"
+msgstr "File not found."
+
+msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximum number of characters reached."
+
+msgid "IDS_COM_POP_MEMORY_FULL"
+msgstr "Memory full."
+
+msgid "IDS_COM_POP_REMOVED"
+msgstr "Removed."
+
+msgid "IDS_COM_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Unable to use during Mass storage mode."
+
+msgid "IDS_COM_POP_UPDATED"
+msgstr "Updated."
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_SK_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_SK_DOWNLOAD"
+msgstr "Download"
+
+msgid "IDS_COM_SK_NEW"
+msgstr "New"
+
+msgid "IDS_COM_SK_NEXT"
+msgstr "Next"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_SK_REFRESH"
+msgstr "Refresh"
+
+msgid "IDS_COM_SK_REMOVE"
+msgstr "Remove"
+
+msgid "IDS_COM_SK_SAVE"
+msgstr "Save"
+
+msgid "IDS_COM_SK_SELECT"
+msgstr "Select"
+
+msgid "IDS_COM_SK_SET"
+msgstr "Set"
+
+msgid "IDS_COM_SK_STOP"
+msgstr "Stop"
+
+
+msgid "IDS_MH_BODY_THE_PLAYLIST_NAME_PS_IS_ALREADY_IN_USE"
+msgstr "The playlist name %s is already in use."
+
+msgid "IDS_MH_BODY_TOTAL"
+msgstr "Total"
+
+msgid "IDS_MH_MBODY_RECENTLY_ADDED_M_SONG"
+msgstr "Recently added"
+
+msgid "IDS_MH_OPT_MORE_INFO_ABB"
+msgstr "More info"
+
+msgid "IDS_MH_POP_ALARM_TONE_SET"
+msgstr "Alarm tone set."
+
+msgid "IDS_MH_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 track added to playlist."
+
+msgid "IDS_MH_TPOP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d tracks added to playlist."
+
+msgid "IDS_MUSIC_OPT_RENAME"
+msgstr "Rename"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Unable to play during call."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Dimensioni massime dei file superate."
+
+msgid "IDS_CAM_TPOP_UNABLE_TO_PLAY_MUSIC_WHILE_RECORDING_AUDIO_OR_VIDEO"
+msgstr "Impossibile riprodurre la musica durante la registrazione di audio o video."
+
--- /dev/null
+msgid "IDS_ST_BODY_LOADING_ING"
+msgstr "読み込み中..."
+
+msgid "IDS_GALLERY_OPT_PRIVATE_M_CONTENT"
+msgstr "プライベート"
+
+msgid "IDS_MF_BODY_TIME"
+msgstr "時刻"
+
+msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
+msgstr "このファイルは存在しません。"
+
+msgid "IDS_MUSIC_POP_PHONE_RINGTONE"
+msgstr "着信音"
+
+msgid "IDS_MUSIC_BODY_DURATION"
+msgstr "再生時間"
+
+msgid "IDS_MUSIC_BODY_MUSIC_LOCATION"
+msgstr "保存先"
+
+msgid "IDS_MUSIC_BODY_SET_AS_M_RINGTONE"
+msgstr "着信音に設定"
+
+msgid "IDS_ST_OPT_ADD_TO_PERSONAL_PAGE"
+msgstr "パーソナルページに追加"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_PERSONAL_PAGE_ABB"
+msgstr "パーソナルページから削除"
+
+msgid "IDS_ST_POP_MOVE_TO_NORMAL_STORAGE"
+msgstr "標準ストレージに移動"
+
+msgid "IDS_ST_POP_MOVE_TO_PERSONAL_STORAGE"
+msgstr "パーソナルストレージに移動"
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEMS_WILL_BE_MOVED_TO_PS"
+msgstr "選択したアイテムを%sに移動します。"
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEM_WILL_BE_MOVED_TO_PS"
+msgstr "選択したアイテムを%sに移動します。"
+
+msgid "IDS_VR_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "カードリーダモード中は使用できません"
+
+msgid "IDS_MUSIC_POP_RINGTONE_ADDED"
+msgstr "着信音に設定しました。"
+
+msgid "IDS_CAM_BODY_BUTTON_T_TTS"
+msgstr "ボタン"
+
+msgid "IDS_MUSIC_HEADER_SELECT_ITEMS"
+msgstr "アイテムを選択"
+
+msgid "IDS_ST_BODY_ADVANCED"
+msgstr "詳細設定"
+
+msgid "IDS_ST_SK_PREVIOUS"
+msgstr "前へ"
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "閉じる"
+
+msgid "IDS_MUSIC_POP_ADDED"
+msgstr "追加しました。"
+
+msgid "IDS_MUSIC_POP_FAILED"
+msgstr "失敗しました。"
+
+msgid "IDS_MUSIC_BODY_NO_SEARCH_RESULTS"
+msgstr "検索結果がありません。"
+
+msgid "IDS_MUSIC_SK_DONE"
+msgstr "完了"
+
+msgid "IDS_MUSIC_BODY_NO_ITEMS"
+msgstr "アイテムがありません。"
+
+msgid "IDS_BR_OPT_ADD_TO_HOME"
+msgstr "ホームに追加"
+
+msgid "IDS_BR_SK_NEXT"
+msgstr "次へ"
+
+msgid "IDS_BR_BODY_DOWNLOADING_ING"
+msgstr "ダウンロード中..."
+
+msgid "IDS_IV_BODY_FAVOURITE"
+msgstr "お気に入り"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_PERSONAL_STORAGE"
+msgstr "パーソナルストレージに追加"
+
+msgid "IDS_DLNA_POP_DISCONNECTED_FROM_PS_CHECK_THE_NETWORK_STATUS_AND_THE_CONNECTED_DEVICE"
+msgstr "%sから切断されました。ネットワークの状態と接続機器を確認してください。"
+
+msgid "IDS_DLNA_OPT_VIA_SCREEN_MIRRORING_ABB"
+msgstr "Screen Mirroring経由"
+
+msgid "IDS_DLNA_OPT_VIA_HOME_NETWORK_ABB"
+msgstr "ホームネットワーク経由"
+
+msgid "IDS_IV_POP_ENTRY_IS_EMPTY"
+msgstr "入力されていません。"
+
+msgid "IDS_FM_POP_UNAVAILABLE_DURING_CALL"
+msgstr "通話中は利用不可"
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "最大文字数に達しました。"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_SHARE_DRM_FILE"
+msgstr "DRMファイルを共有できません。"
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "削除中..."
+
+msgid "IDS_MUSIC_HEADER_PD_DEVICES"
+msgstr "%d台のデバイス"
+
+msgid "IDS_MUSIC_BUTTON_ENABLE_MOTION"
+msgstr "モーションを使用"
+
+msgid "IDS_MUSIC_BUTTON_DONT_ASK_AGAIN"
+msgstr "今後表示しない"
+
+msgid "IDS_MUSIC_BODY_NO_RESULTS_FOUND"
+msgstr "検索結果がありません。"
+
+msgid "IDS_VPL_OPT_HDMI"
+msgstr "HDMI"
+
+msgid "IDS_MUSIC_BODY_TURN_PHONE_OVER_TO_MUTE_INCOMING_CALLS_MESSAGE_ALERTS_AND_ALARMS"
+msgstr "端末を伏せると、着信音やメッセージの通知音、アラーム音を消音します。"
+
+msgid "IDS_ST_BODY_NONE"
+msgstr "なし"
+
+msgid "IDS_ST_BODY_INTERNET"
+msgstr "ブラウザ"
+
+msgid "IDS_ST_BODY_GALLERY"
+msgstr "ギャラリー"
+
+msgid "IDS_ST_BODY_DOUBLE_TAP_TO_MOVE_TO_CONTENT_T_TTS"
+msgstr "コンテンツに移動するにはダブルタップします。"
+
+msgid "IDS_MUSIC_BODY_SURROUND"
+msgstr "サラウンド"
+
+msgid "IDS_MUSIC_OPT_LYRICS_ABB"
+msgstr "歌詞"
+
+msgid "IDS_MUSIC_POP_AFTER_YOU_ADD_TRACKS_TO_MUSIC_ON_YOUR_MOBILE_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "モバイル端末の[ミュージック]に曲を追加すると、ここに表示されます。"
+
+msgid "IDS_MUSIC_BODY_SAMPLING_RATE"
+msgstr "サンプリングレート"
+
+msgid "IDS_MUSIC_BODY_MARKED_AS_A_FAVOURITE"
+msgstr "お気に入り登録済み"
+
+msgid "IDS_MUSIC_BODY_MUSIC"
+msgstr "音楽"
+
+msgid "IDS_MUSIC_BODY_NOT_MARKED_AS_A_FAVOURITE"
+msgstr "お気に入り未登録"
+
+msgid "IDS_MUSIC_HEADER_SEARCH_MUSIC_ABB"
+msgstr "音楽検索"
+
+msgid "IDS_MUSIC_POP_AUTO_RECOMMENDATION_DOES_NOT_SUPPORT_THIS_AUDIO_FILE"
+msgstr "自動ピックアップは、このオーディオファイルに対応していません。"
+
+msgid "IDS_MUSIC_POP_SORRY_THE_PLAYER_DOES_NOT_SUPPORT_THIS_TYPE_OF_AUDIO_FILE"
+msgstr "プレーヤーはこの種類のオーディオファイルを対応していません。"
+
+msgid "IDS_MUSIC_BODY_FAVOURITES"
+msgstr "お気に入り"
+
+msgid "IDS_MUSIC_BODY_MOST_PLAYED"
+msgstr "よく聴く曲"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_ADDED"
+msgstr "最近追加したコンテンツ"
+
+msgid "IDS_MUSIC_OPT_CREATE_PLAYLIST"
+msgstr "プレイリストを作成"
+
+msgid "IDS_MUSIC_OPT_REMOVE"
+msgstr "クイックリストから削除"
+
+msgid "IDS_MUSIC_OPT_SETAS_CALLER_RINGTONE"
+msgstr "個別着信音"
+
+msgid "IDS_MUSIC_TAB4_ARTISTS"
+msgstr "アーティスト"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD"
+msgstr "追加不可"
+
+msgid "IDS_MUSIC_POP_UNABLE_CREATE_PLAYLIST"
+msgstr "プレイリストを作成できません。"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_GET_TAG"
+msgstr "タグを取得できません。"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_MORE_THAN_PD_MUSIC_FILE"
+msgstr "ミュージックファイルは%d以上追加できません"
+
+msgid "IDS_MUSIC_BODY_ALBUM"
+msgstr "アルバム"
+
+msgid "IDS_MUSIC_BODY_AUTHOR"
+msgstr "著者"
+
+msgid "IDS_MUSIC_BODY_COPYRIGHT"
+msgstr "著作権情報"
+
+msgid "IDS_MUSIC_BODY_CREATE_PLAYLIST"
+msgstr "プレイリストを作成"
+
+msgid "IDS_MUSIC_BODY_DESCRIPTION"
+msgstr "詳細"
+
+msgid "IDS_MUSIC_BODY_FORMAT"
+msgstr "ファイル形式"
+
+msgid "IDS_MUSIC_BODY_IMPOSSIBLE"
+msgstr "不可"
+
+msgid "IDS_MUSIC_BODY_NO_PLAYLISTS"
+msgstr "プレイリストがありません"
+
+msgid "IDS_MUSIC_BODY_TRACK_NUMBER"
+msgstr "トラック番号"
+
+msgid "IDS_MUSIC_POP_DELETE_Q"
+msgstr "削除しますか?"
+
+msgid "IDS_MUSIC_POP_REMOVE_Q"
+msgstr "削除しますか?"
+
+msgid "IDS_MUSIC_POP_UNABLE_RENAME_PLAYLIST"
+msgstr "プレイリストの名前を変更できません。"
+
+msgid "IDS_MUSIC_TAB4_ALBUMS"
+msgstr "アルバム"
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "追加中..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "%d件のアルバムを削除しますか?"
+
+msgid "IDS_MUSIC_TAB4_PLAYLISTS"
+msgstr "プレイリスト"
+
+msgid "IDS_MUSIC_OPT_ADD"
+msgstr "追加"
+
+msgid "IDS_MUSIC_BODY_BIOGRAPHY"
+msgstr "アーティスト"
+
+msgid "IDS_MUSIC_BODY_CREDITS"
+msgstr "クレジット"
+
+msgid "IDS_MUSIC_BODY_DETAILS_MEADIA_INFO"
+msgstr "メディア情報"
+
+msgid "IDS_MUSIC_BODY_DISCOGRAPHY"
+msgstr "アルバム"
+
+msgid "IDS_MUSIC_BODY_LYRIC"
+msgstr "歌詞"
+
+msgid "IDS_MUSIC_BODY_POSSIBLE"
+msgstr "可能"
+
+msgid "IDS_MUSIC_BODY_REVIEW"
+msgstr "プレビュー表示"
+
+msgid "IDS_MUSIC_HEADER_TRACK_LIST"
+msgstr "トラックリスト"
+
+msgid "IDS_MUSIC_BODY_ADD_TO_PLAYLIST"
+msgstr "プレイリストに追加"
+
+msgid "IDS_MUSIC_BODY_ARTIST"
+msgstr "アーティスト"
+
+msgid "IDS_MUSIC_BODY_FORWARDING"
+msgstr "転送"
+
+msgid "IDS_MUSIC_BODY_RECORDED_DATE"
+msgstr "Date of recording"
+
+msgid "IDS_MUSIC_BODY_PLAYLISTS"
+msgstr "プレイリスト"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_PLAYED"
+msgstr "最近再生した曲"
+
+msgid "IDS_MUSIC_BODY_TRACK_LENGTH"
+msgstr "再生時間"
+
+msgid "IDS_MUSIC_HEADER_NO_SONGS"
+msgstr "曲がありません。"
+
+msgid "IDS_MUSIC_POP_THIS_TRACK_WILL_BE_DELETED"
+msgstr "この曲を削除します。"
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_TRACKS_WILL_BE_DELETED"
+msgstr "選択した曲を削除します。"
+
+msgid "IDS_MUSIC_POP_THIS_ARTIST_WILL_BE_DELETED"
+msgstr "選択したアーティストを削除します。"
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ARTISTS_WILL_BE_DELETED"
+msgstr "選択したアーティストを削除します。"
+
+msgid "IDS_MUSIC_POP_ALL_ARTISTS_WILL_BE_DELETED"
+msgstr "全てのアーティストを削除します。"
+
+msgid "IDS_MUSIC_POP_THIS_FOLDER_WILL_BE_DELETED"
+msgstr "このフォルダを削除します。"
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_FOLDERS_WILL_BE_DELETED"
+msgstr "選択したフォルダを削除します。"
+
+msgid "IDS_MUSIC_POP_ALL_FOLDERS_WILL_BE_DELETED"
+msgstr "全てのフォルダを削除します。"
+
+msgid "IDS_MUSIC_POP_THIS_ALBUM_WILL_BE_DELETED"
+msgstr "選択したアルバムを削除します。"
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ALBUMS_WILL_BE_DELETED"
+msgstr "選択したアルバムを削除します。"
+
+msgid "IDS_MUSIC_POP_ALL_ALBUMS_WILL_BE_DELETED"
+msgstr "全てのアルバムを削除します。"
+
+msgid "IDS_MUSIC_POP_THIS_PLAYLIST_WILL_BE_DELETED"
+msgstr "選択したプレイリストを削除します。"
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_PLAYLISTS_WILL_BE_DELETED"
+msgstr "選択したプレイリストを削除します。"
+
+msgid "IDS_MUSIC_POP_ALL_PLAYLISTS_WILL_BE_DELETED"
+msgstr "全てのプレイリストを削除しますか?"
+
+msgid "IDS_MUSIC_HEADER_SONGS"
+msgstr "曲"
+
+msgid "IDS_MUSIC_OPT_REORDER"
+msgstr "並べ替え"
+
+msgid "IDS_MUSIC_OPT_SAVE_AS_PLAYLIST"
+msgstr "プレイリストとして保存"
+
+msgid "IDS_MUSIC_OPT_SETAS_ALARM_TONE"
+msgstr "アラーム音"
+
+msgid "IDS_MUSIC_POP_NOTHING_SELECTED"
+msgstr "何も選択されていません。"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "再生できません。エラーが発生しました。"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_UNSUPPORTED_FILETYPE"
+msgstr "再生できません。未対応のファイルです。"
+
+msgid "IDS_MUSIC_SK_SHARE"
+msgstr "共有"
+
+msgid "IDS_MUSIC_TAB4_CONDUCTORS"
+msgstr "指揮者"
+
+msgid "IDS_MUSIC_HEADER_SELECT_DEVICE"
+msgstr "デバイスを選択"
+
+msgid "IDS_MUSIC_SK_VIEW_AS"
+msgstr "表示"
+
+msgid "IDS_MUSIC_BODY_SOUNDEFFECTS_NORMAL"
+msgstr "標準"
+
+msgid "IDS_MUSIC_BODY_USER"
+msgstr "ユーザー"
+
+msgid "IDS_MUSIC_BODY_VOCAL_M_SOUNDEFFECT"
+msgstr "ボーカル"
+
+msgid "IDS_MUSIC_MBODY_BASS_BOOST"
+msgstr "低音強調"
+
+msgid "IDS_MUSIC_MBODY_TREBLE_BOOST"
+msgstr "高音強調"
+
+msgid "IDS_MUSIC_BODY_CAFE_M_SOUNDEFFECT"
+msgstr "カフェ"
+
+msgid "IDS_MUSIC_OPT_VIRTUAL_71_CH"
+msgstr "バーチャル7.1ch"
+
+msgid "IDS_MUSIC_OPT_AFTER_15_MIN_ABB"
+msgstr "15分後"
+
+msgid "IDS_MUSIC_BODY_AFTER_30_MIN"
+msgstr "30分後"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HOUR"
+msgstr "1時間後"
+
+msgid "IDS_MUSIC_POP_AFTER_1_HOUR_30_MIN"
+msgstr "1時間30分後"
+
+msgid "IDS_MUSIC_BODY_AFTER_2_HOURS"
+msgstr "2時間後"
+
+msgid "IDS_MUSIC_BODY_MUSIC_AUTO_OFF"
+msgstr "音楽自動停止"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES_ONLY"
+msgstr "このサウンドエフェクトは、イヤホンまたはBluetoothヘッドセットモードでのみ使用できます。"
+
+msgid "IDS_MUSIC_TAB4_MUSIC_SQUARE"
+msgstr "ミュージックスクエア"
+
+msgid "IDS_MUSIC_POP_NOT_ENOUGH_MUSIC_FILES_TO_PLAY_IN_MUSIC_SQUARE_AT_LEAST_PD_MUSIC_FILES_REQUIRED"
+msgstr "ミュージックスクエアで再生するには音楽ファイルが不足しています。最低、%d曲の音楽ファイルが必要となります。"
+
+msgid "IDS_MUSIC_BODY_PASSION_M_MOOD"
+msgstr "Passion"
+
+msgid "IDS_MUSIC_BODY_CALM_M_ADJECTIVE"
+msgstr "Calm"
+
+msgid "IDS_MUSIC_BODY_JOY_M_MOOD"
+msgstr "Joy"
+
+msgid "IDS_MUSIC_BODY_LIBRARY_UPDATE"
+msgstr "ライブラリーを更新"
+
+msgid "IDS_MUSIC_POP_UPDATE_LIBRARY_Q"
+msgstr "ライブラリーを更新しますか?"
+
+msgid "IDS_MUSIC_BODY_CHANGE_AXIS"
+msgstr "軸の変更"
+
+msgid "IDS_MUSIC_ITAB4_GENRES"
+msgstr "ジャンル"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_1_TRACK"
+msgstr "1枚のアルバム/1曲"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_PD_TRACKS"
+msgstr "1枚のアルバム/%d曲"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS_PD_TRACKS"
+msgstr "%d枚のアルバム/%d曲"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_CONTROL_MUSIC_PLAYER_WITH_THE_VOICE_COMMANDS_P1SS_P2SS_P3SS_P4SS_P5SS_AND_P6SS"
+msgstr "%1$s、%2$s、%3$s、%4$s、%5$s、%6$sの音声コマンドで、音楽プレーヤーを操作"
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_PD_TRACKS"
+msgstr "%d曲をシャッフル"
+
+msgid "IDS_MUSIC_BODY_MORE_INFO"
+msgstr "その他の情報"
+
+msgid "IDS_MUSIC_HEADER_MY_MUSIC_M_APPLICATION_NAME"
+msgstr "マイミュージック"
+
+msgid "IDS_MUSIC_OPT_LIST_VIEW"
+msgstr "リスト表示"
+
+msgid "IDS_MUSIC_OPT_PLAY_VIA_GROUP_PLAY"
+msgstr "Group Playで再生"
+
+msgid "IDS_MUSIC_POP_TRACK_ADDED_TO_FAVOURITES"
+msgstr "曲をお気に入りに追加しました。"
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_FAVOURITES"
+msgstr "お気に入りから削除"
+
+msgid "IDS_MUSIC_BODY_NEW_M_LATEST"
+msgstr "NEW"
+
+msgid "IDS_MUSIC_OPT_TRACKS"
+msgstr "曲"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL"
+msgstr "サムネイル"
+
+msgid "IDS_MUSIC_SK_LIST"
+msgstr "リスト"
+
+msgid "IDS_MUSIC_SK_OPEN_PLAYLIST"
+msgstr "プレイリスト"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALL"
+msgstr "全て再生"
+
+msgid "IDS_MUSIC_POP_SELECTED_LIST_EMPTY"
+msgstr "選択されたリストは空です。"
+
+msgid "IDS_MUSIC_BODY_MOODS"
+msgstr "ムード"
+
+msgid "IDS_MUSIC_BUTTON_YEARS"
+msgstr "年"
+
+msgid "IDS_MUSIC_BODY_OLD"
+msgstr "OLD"
+
+msgid "IDS_MUSIC_BODY_MUSIC_SQUARE_ANALYSES_THE_CHARACTERISTICS_OF_MUSIC_FILES_STORED_ON_YOUR_DEVICE_AND_AUTOMATICALLY_CREATES_PLAYLISTS_MSG"
+msgstr "ミュージックスクエアは、端末に保存された音楽ファイルの特徴を分析し、自動的にプレイリストを作成します。"
+
+msgid "IDS_MUSIC_BODY_PLAY_TRACKS_WITH_SIMILAR_CHARACTERISTICS_BY_SELECTING_A_SQUARE_ON_THE_SCREEN"
+msgstr "画面上のスクエアを選択すると、よく似た特性を持つ音楽のプレイリストを再生します。"
+
+msgid "IDS_MUSIC_BODY_VIEW_PLAYLIST_DETAILS_BY_TAPPING_AND_HOLDING_THE_SQUARE_CURRENTLY_BEING_PLAYED"
+msgstr "現在再生中のスクエアを長押しすると、プレイリストの詳細が表示されます。"
+
+msgid "IDS_MUSIC_BODY_NEARBY_DEVICES"
+msgstr "近くのデバイス"
+
+msgid "IDS_MUSIC_POP_YOU_WILL_NEED_TO_UPDATE_THE_LIBRARY_IF_NEW_SONGS_HAVE_BEEN_ADDED"
+msgstr "新しい曲が追加された場合、ライブラリーを更新する必要があります。"
+
+msgid "IDS_MUSIC_BODY_NO_ALBUMS"
+msgstr "アルバムがありません。"
+
+msgid "IDS_MUSIC_BODY_NO_ARTISTS"
+msgstr "アーティストがありません"
+
+msgid "IDS_MUSIC_OPT_PLAY_SPEED_ABB"
+msgstr "再生スピード"
+
+msgid "IDS_MUSIC_BODY_CONCERT_HALL_M_SOUNDEFFECT"
+msgstr "コンサートホール"
+
+msgid "IDS_MUSIC_OPT_ADD_TO"
+msgstr "登録"
+
+msgid "IDS_MUSIC_SK_VIEW"
+msgstr "表示"
+
+msgid "IDS_MUSIC_OPT_LISTBY_RECENTLY_ADDED"
+msgstr "最近追加したコンテンツ"
+
+msgid "IDS_MUSIC_BODY_NOT_USED"
+msgstr "使用しない"
+
+msgid "IDS_MUSIC_BODY_MAKE_AVAILABLE_OFFLINE"
+msgstr "オフラインで利用"
+
+msgid "IDS_MUSIC_OPT_AFTER_P1SD_HRS_P2SD_MINS"
+msgstr "%1$d時間%2$d分後"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS"
+msgstr "%d時間後"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_MINS"
+msgstr "%d分後"
+
+msgid "IDS_MUSIC_BODY_NO_FOLDERS"
+msgstr "フォルダがありません"
+
+msgid "IDS_MUSIC_BODY_NO_TRACKS"
+msgstr "曲がありません。"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS"
+msgstr "%d枚のアルバム"
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS"
+msgstr "%d組のアーティスト"
+
+msgid "IDS_MUSIC_BODY_PD_GENRES"
+msgstr "%d種類のジャンル"
+
+msgid "IDS_MUSIC_BODY_PD_PLAYLISTS"
+msgstr "%d プレイリスト"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_ABB"
+msgstr "%d曲"
+
+msgid "IDS_MUSIC_BODY_PLAYLIST"
+msgstr "プレイリスト"
+
+msgid "IDS_MUSIC_HEADER_SIMILAR_ALBUMS"
+msgstr "類似のアルバム"
+
+msgid "IDS_MUSIC_HEADER_TRACK"
+msgstr "トラック"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL_VIEW"
+msgstr "サムネイル表示"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "サウンド効果はイヤホン使用時に有効となります。"
+
+msgid "IDS_MUSIC_OPT_ALL_CONTENT_ABB2"
+msgstr "全てのコンテンツ"
+
+msgid "IDS_MUSIC_BODY_A_NETWORK_CONNECTION_IS_REQUIRED_TO_PLAY_THIS_FILE_CHECK_YOUR_NETWORK_CONNECTION_AND_TRY_AGAIN"
+msgstr "このファイルを再生するにはネットワーク接続が必要です。ネットワーク接続を確認し、再度実行してください。"
+
+msgid "IDS_MUSIC_POP_FILE_TYPE_NOT_SUPPORTED"
+msgstr "未対応ファイルです。"
+
+msgid "IDS_MUSIC_POP_UPDATING_ING"
+msgstr "更新中..."
+
+msgid "IDS_MUSIC_OPT_SEARCH_ABB"
+msgstr "検索"
+
+msgid "IDS_MUSIC_OPT_SEARCH_BY"
+msgstr "検索"
+
+msgid "IDS_MUSIC_BODY_RELATED_VIDEOS"
+msgstr "関連動画"
+
+msgid "IDS_MUSIC_BODY_SMART_VOLUME_ABB"
+msgstr "スマートボリューム"
+
+msgid "IDS_MUSIC_BODY_THE_VOLUME_OF_ALL_TRACKS_WILL_BE_ADJUSTED_TO_LEVEL_PD"
+msgstr "全ての曲の音量がレベル%dに調整されます。"
+
+msgid "IDS_MUSIC_HEADER_SMART_VOLUME_IS_ENABLED"
+msgstr "スマートボリュームをON"
+
+msgid "IDS_MUSIC_OPT_CONNECTION_INFO_ABB"
+msgstr "接続情報"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_PD_MINS"
+msgstr "1時間%d分後"
+
+msgid "IDS_MUSIC_BODY_ADAPT_SOUND_ABB"
+msgstr "Adapt Sound"
+
+msgid "IDS_MUSIC_BODY_MY_DEVICE"
+msgstr "マイデバイス"
+
+msgid "IDS_MUSIC_POP_LISTENING_AT_A_HIGH_VOLUME_FOR_A_LONG_TIME_MAY_DAMAGE_YOUR_HEARING_RAISE_THE_VOLUME_ABOVE_SAFE_LEVELS_Q"
+msgstr "大音量で長時間聴くと、聴覚に影響を与える恐れがあります。安全な範囲を超えて音量を上げますか?"
+
+msgid "IDS_MUSIC_POP_ALREADY_EXISTS"
+msgstr "既に登録されています。"
+
+msgid "IDS_MUSIC_OPT_SCAN_FOR_NEARBY_DEVICES"
+msgstr "近くのデバイスをスキャン"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR"
+msgstr "1時間後"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_1_MIN"
+msgstr "1時間1分後"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS_1_MIN"
+msgstr "%d時間1分後"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_MIN"
+msgstr "1分後"
+
+msgid "IDS_MUSIC_OPT_GO_TO_STORE"
+msgstr "ストアに移動"
+
+msgid "IDS_MUSIC_SK3_ADD_TRACKS"
+msgstr "トラックを追加"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FROM_MUSIC_THEY_WILL_BE_SHOWN_HERE"
+msgstr "ミュージックから曲をダウンロードすると、ここに表示されます。"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_YOUR_FAVOURITES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "お気に入りに曲を追加すると、ここに表示されます。"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_PLAY_TRACKS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "曲を再生すると、ここに表示されます。"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_PS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "%sに曲を追加すると、ここに表示されます。"
+
+msgid "IDS_MUSIC_BODY_NO_PURCHASED_CONTENT"
+msgstr "購入したコンテンツがありません。"
+
+msgid "IDS_MUSIC_SK_SAVE_AS"
+msgstr "名前を付けて保存"
+
+msgid "IDS_MUSIC_POP_MUSICPLAYER_UPDATING_FAILED"
+msgstr "更新できませんでした。"
+
+msgid "IDS_MUSIC_BODY_EXCITING_M_ADJECTIVE"
+msgstr "Exciting"
+
+msgid "IDS_MUSIC_BODY_SEARCH_MY_MUSIC"
+msgstr "マイミュージックを検索"
+
+msgid "IDS_MUSIC_HEADER_CONNECTED_DEVICES"
+msgstr "接続されたデバイス"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST_PS"
+msgstr "マイプレイリスト%s"
+
+msgid "IDS_MUSIC_BODY_NO_DEVICES"
+msgstr "デバイスがありません。"
+
+msgid "IDS_MUSIC_HEADER_AVAILABLE_DEVICES_ABB"
+msgstr "接続可能デバイス"
+
+msgid "IDS_MUSIC_POP_SET"
+msgstr "設定しました。"
+
+msgid "IDS_MUSIC_POP_REMOVE_FAILED"
+msgstr "削除に失敗しました。"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_USE_FAST_FORWARD_AND_REWIND_WHEN_NEARBY_DEVICES_ARE_ENABLED"
+msgstr "周辺のデバイスが有効な場合、早送りや早戻しは使用できません。"
+
+msgid "IDS_MUSIC_OPT_SET_AS"
+msgstr "登録"
+
+msgid "IDS_MUSIC_OPT_HEADPHONES_ABB"
+msgstr "ヘッドホン"
+
+msgid "IDS_MUSIC_OPT_SPEAKER"
+msgstr "スピーカー"
+
+msgid "IDS_MUSIC_BODY_1_SONG"
+msgstr "1 曲"
+
+msgid "IDS_MUSIC_BODY_PD_SONGS"
+msgstr "%d 曲"
+
+msgid "IDS_MUSIC_BODY_1_TRACK"
+msgstr "1曲"
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_1_TRACK"
+msgstr "1曲をシャッフル"
+
+msgid "IDS_MUSIC_POP_NO_MUSIC_FOUND_FOR_SELECTED_CELL"
+msgstr "選択したセルに音楽が見つかりませんでした。"
+
+msgid "IDS_MUSIC_BODY_DO_NOT_SHOW_AGAIN"
+msgstr "今後表示しない"
+
+msgid "IDS_MUSIC_BODY_VARIOUS_ARTISTS"
+msgstr "さまざまなアーティスト"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_HOME_SCREEN_ABB"
+msgstr "ホーム画面に追加"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_FAVOURITES"
+msgstr "お気に入りに追加"
+
+msgid "IDS_MUSIC_OPT_EDIT_TITLE"
+msgstr "タイトルを編集"
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_PERSONAL_STORAGE"
+msgstr "パーソナルストレージから削除"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FOLDERS_WILL_BE_SHOWN"
+msgstr "曲をダウンロードすると、フォルダが表示されます。"
+
+msgid "IDS_MUSIC_BODY_SETTINGS_VOLUME"
+msgstr "音量"
+
+msgid "IDS_MUSIC_BODY_REPEAT_OFF"
+msgstr "リピートOFF"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_REPEAT_ALL"
+msgstr "全てリピート"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_OFF"
+msgstr "シャッフルOFF"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_ON"
+msgstr "シャッフルON"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST"
+msgstr "マイプレイリスト"
+
+msgid "IDS_MUSIC_MBODY_DEFAULT_PLAYLISTS"
+msgstr "標準プレイリスト"
+
+msgid "IDS_MUSIC_BODY_DETAILS_RECORDING_DATE"
+msgstr "録音日"
+
+msgid "IDS_MUSIC_OPT_ALBUM_ART_ABB"
+msgstr "アルバムアート"
+
+msgid "IDS_MUSIC_BODY_1_GENRE"
+msgstr "1種類のジャンル"
+
+msgid "IDS_MUSIC_BODY_PD_FOLDERS"
+msgstr "%d件のフォルダ"
+
+msgid "IDS_MUSIC_BODY_1_FOLDER"
+msgstr "1件のフォルダ"
+
+msgid "IDS_MUSIC_BODY_1_ARTIST"
+msgstr "1組のアーティスト"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_M_MUSIC"
+msgstr "1枚のアルバム"
+
+msgid "IDS_MUSIC_BODY_1_PLAYLIST"
+msgstr "1 プレイリスト"
+
+msgid "IDS_MUSIC_BODY_MUSIC_PLAYER"
+msgstr "音楽"
+
+msgid "IDS_MUSIC_BUTTON_MOVE"
+msgstr "移動"
+
+msgid "IDS_MUSIC_BUTTON_AUTO_RECOMMENDATIONS"
+msgstr "自動ピックアップ"
+
+msgid "IDS_MUSIC_BUTTON_FROM_THE_BEGINNING"
+msgstr "最初から"
+
+msgid "IDS_MUSIC_HEADER_SUGGESTIONS_FOR_YOU"
+msgstr "おすすめ"
+
+msgid "IDS_MUSIC_OPT_SAVE"
+msgstr "保存"
+
+msgid "IDS_MUSIC_TAB4_BASIC_M_EQUALIZING"
+msgstr "標準"
+
+msgid "IDS_MUSIC_BODY_INSTRUMENT"
+msgstr "楽器"
+
+msgid "IDS_MUSIC_BODY_TREBLE_M_EQUALISER"
+msgstr "高音"
+
+msgid "IDS_MUSIC_BODY_BASS_M_EQUALISER"
+msgstr "低音"
+
+msgid "IDS_MUSIC_BODY_NO_EFFECTS_ARE_APPLIED_IN_THIS_MODE_ABB"
+msgstr "このモードではエフェクトが適用されません。"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_TIMBRE_OF_A_TUBE_AMP_ABB"
+msgstr "真空管アンプの音色をシミュレートします。"
+
+msgid "IDS_MUSIC_OPT_TUBE_AMP_EFFECT"
+msgstr "真空管アンプエフェクト"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_EFFECT_OF_VIRTUAL_71_CHANNEL_SURROUND_SOUND_ABB"
+msgstr "バーチャル7.1chサラウンドサウンドのエフェクトをシミュレートします。"
+
+msgid "IDS_MUSIC_HEADER_SMALL_ROOM_M_REVERB_ABB"
+msgstr "狭い部屋"
+
+msgid "IDS_MUSIC_HEADER_LARGE_ROOM_M_REVERB_ABB"
+msgstr "大きな部屋"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_LARGE_ROOM_EG_A_THEATRE_ABB"
+msgstr "劇場などの大きな部屋の残響をシミュレートします。"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_CONCERT_HALL_ABB"
+msgstr "コンサートホールの残響をシミュレートします。"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_SMALL_SPACE_EG_A_STUDIO_ABB"
+msgstr "スタジオなどの狭い部屋の残響をシミュレートします。"
+
+msgid "IDS_MUSIC_BUTTON_3D_CHN"
+msgstr "3D"
+
+msgid "IDS_MUSIC_BODY_CLARITY_M_SOUNDEFFECT"
+msgstr "Clarity"
+
+msgid "IDS_MUSIC_BUTTON_RESET"
+msgstr "リセット"
+
+msgid "IDS_MUSIC_TAB_YEARS"
+msgstr "年"
+
+msgid "IDS_MUSIC_TAB_GENRES"
+msgstr "ジャンル"
+
+msgid "IDS_MUSIC_TAB_COMPOSERS"
+msgstr "作曲者"
+
+msgid "IDS_MUSIC_TAB_ALL_TRACKS"
+msgstr "全てのトラック"
+
+msgid "IDS_MUSIC_SK3_GO_TO_QUICK_LIST"
+msgstr "クイックリストへ移動"
+
+msgid "IDS_MUSIC_SK3_FIND"
+msgstr "検索"
+
+msgid "IDS_MUSIC_SK3_ADD_TO_QUICK_LIST"
+msgstr "クイックリストに追加"
+
+msgid "IDS_MUSIC_POP_UNAUTHORISED_VIDEO_FILE_FOR_TV_OUT"
+msgstr "認証されていないテレビ出力用動画ファイルです。"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_CREATE_MAXIMUM_NUMBER_OF_PLAYLISTS_REACHED"
+msgstr "作成できません。プレイリストの最大数に達しました。"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTING_BLUETOOTH_HEADSET"
+msgstr "Bluetoothヘッドセットを接続中は、音量を調整できません"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTED_TO_BLUETOOTH_HEADSET"
+msgstr "Bluetoothヘッドセットを接続した場合、音量を調節することができません。"
+
+msgid "IDS_MUSIC_POP_STOP_MUSIC_PLAYER_Q"
+msgstr "音楽プレーヤーを停止しますか?"
+
+msgid "IDS_MUSIC_POP_PLEASE_EXIT_SILENT_MODE"
+msgstr "マナーモードを解除してください。"
+
+msgid "IDS_MUSIC_POP_NETWORK_FAILURE"
+msgstr "ネットワークエラーです。"
+
+msgid "IDS_MUSIC_POP_MEMORY_CARD_LOADED"
+msgstr "メモリカードを読込みました。"
+
+msgid "IDS_MUSIC_POP_DEVICE_SETTINGS_ERROR"
+msgstr "デバイス設定エラー"
+
+msgid "IDS_MUSIC_POP_COULD_NOT_FIND_A_MATCH_FOR_THE_SONG"
+msgstr "歌に適合するものが見つかりません"
+
+msgid "IDS_MUSIC_POP_BUFFERING_MSTATUS"
+msgstr "バッファ中"
+
+msgid "IDS_MUSIC_POP_BT_HEADSET_ONLY_SUPPORTS_NORMAL_EFFECTS_SETTING"
+msgstr "BTヘッドセットは通常の効果設定のみ対応しています。"
+
+msgid "IDS_MUSIC_POP_APPLICATION_WILL_BE_CLOSED"
+msgstr "アプリケーションは終了されます。"
+
+msgid "IDS_MUSIC_POP_ADDED_GO_TO_WISH_LIST_Q"
+msgstr "追加しました。ウィッシュリストに進みますか?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_THE_SERVICE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "サービスへのアクセスは有料の場合があります。続行しますか?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_STORE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "ストアへのアクセスは有料の場合があります。続行しますか?"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_ONLY_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES"
+msgstr "5.1 チャンネルサウンド効果は、イヤホンおよび Bluetooth ヘッドセットモードにおいてのみ機能します。"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "5.1チャンネルは、イヤホンモードでのみ使用できます。"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECTS_NOT_SUPPORTED_BY_SPEAKER"
+msgstr "5.1チャンネルのサウンドエフェクトはスピーカーでの再生に対応していません。"
+
+msgid "IDS_MUSIC_OPT_VIEW_BY_COVER_ART"
+msgstr "カバーアート別に表示"
+
+msgid "IDS_MUSIC_OPT_SEND_TRACK"
+msgstr "送信トラック"
+
+msgid "IDS_MUSIC_OPT_RATE_TRACK"
+msgstr "レート付トラック"
+
+msgid "IDS_MUSIC_OPT_PLAYLIST_MOVE_TRACK_IN_PLAYLIST"
+msgstr "プレイリストの曲を移動"
+
+msgid "IDS_MUSIC_OPT_OPENPLAYLIST_CURRENT"
+msgstr "現在"
+
+msgid "IDS_MUSIC_OPT_DELETE_PLAYLIST"
+msgstr "プレイリストを削除"
+
+msgid "IDS_MUSIC_OPT_BACKGROUND_PLAYING"
+msgstr "バックグラウンド再生"
+
+msgid "IDS_MUSIC_HEADER_EFFECTS"
+msgstr "エフェクト"
+
+msgid "IDS_MUSIC_BUTTON_BUY_NOW"
+msgstr "今すぐ購入"
+
+msgid "IDS_MUSIC_BODY_WOW_HD"
+msgstr "Wow HD"
+
+msgid "IDS_MUSIC_BODY_WISHLIST"
+msgstr "ウィッシュリスト"
+
+msgid "IDS_MUSIC_BODY_WIDE"
+msgstr "ワイド"
+
+msgid "IDS_MUSIC_BODY_WHA_WHA"
+msgstr "Wha-wha"
+
+msgid "IDS_MUSIC_BODY_VIBE_WOOFER"
+msgstr "バイブウーファー"
+
+msgid "IDS_MUSIC_BODY_TREMOLO"
+msgstr "トレモロ"
+
+msgid "IDS_MUSIC_BODY_TAP_TWICE_TO_PLAY_PAUSE_MUSIC"
+msgstr "2回タップしてミュージックを再生/一時停止"
+
+msgid "IDS_MUSIC_BODY_SHARE_TRACK_VIA_BLUETOOTH"
+msgstr "Bluetoothからトラックを共有"
+
+msgid "IDS_MUSIC_BODY_SETUPWIZARD_WELCOME_TO_THE_MUSIC_SETUP_WIZARD_CONTINUE_Q"
+msgstr "ミュージックセットアップウィザードへようこそ。以下のスクリーンで、電話の設定ができます。続行しますか?"
+
+msgid "IDS_MUSIC_BODY_QUICK_LIST"
+msgstr "クイックリスト"
+
+msgid "IDS_MUSIC_BODY_PLAYINGSETTINGS_SOUND_EFFECTS"
+msgstr "サウンドエフェクト"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_ALL"
+msgstr "全て"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_1"
+msgstr "1ファイルリピート"
+
+msgid "IDS_MUSIC_BODY_PLAYERSETTINGS_VOLUME"
+msgstr "音量"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_SELECTED"
+msgstr "%d曲選択されました。"
+
+msgid "IDS_MUSIC_BODY_NO_PODCASTS"
+msgstr "ポッドキャストがありません。"
+
+msgid "IDS_MUSIC_BODY_FIND_SIMILAR"
+msgstr "同類を探す"
+
+msgid "IDS_MUSIC_BODY_BACKGROUND_PLAY"
+msgstr "バックグラウンド再生"
+
+msgid "IDS_MUSIC_BODY_51_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "5.1チャンネルは、サウンドエフェクトとイコライザーが標準のときのみ使用できます。"
+
+msgid "IDS_MUSIC_TAB4_PODCASTS"
+msgstr "ポッドキャスト"
+
+msgid "IDS_MUSIC_SK2_EDIT_IMAGE"
+msgstr "画像を編集"
+
+msgid "IDS_MUSIC_POP_PLAYING_ANY_SOUNDS_WILL_STOP_AND_SAVE_YOUR_VOICE_RECORDING_PLAY_Q"
+msgstr "他の音を再生すると、録音が停止し、保存されます。再生しますか?"
+
+msgid "IDS_MUSIC_POP_MAXIMUM_NUMBER_OF_ITEMS_HPD_SELECTED"
+msgstr "アイテムの最大選択数(%d)を選択しました。"
+
+msgid "IDS_MUSIC_POP_BLUETOOTH_DISCONNECTED"
+msgstr "Bluetooth接続が解除されました。"
+
+msgid "IDS_MUSIC_POP_5_1_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "5.1チャンネルは、サウンドエフェクトとイコライザーが標準のときのみ使用できます。"
+
+msgid "IDS_MUSIC_OPT_TAKE_PICTURE"
+msgstr "カメラを起動"
+
+msgid "IDS_MUSIC_OPT_SHOW_MUSIC_VIEW_ABB"
+msgstr "ミュージックビューをON"
+
+msgid "IDS_MUSIC_OPT_PAUSE"
+msgstr "一時停止"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALBUM"
+msgstr "アルバムを再生"
+
+msgid "IDS_MUSIC_OPT_LIST_BY"
+msgstr "ソート"
+
+msgid "IDS_MUSIC_OPT_HISTORY"
+msgstr "履歴"
+
+msgid "IDS_MUSIC_OPT_HIDE_MUSIC_VIEW_ABB"
+msgstr "ミュージックビューをOFF"
+
+msgid "IDS_MUSIC_OPT_FIND_TAG"
+msgstr "タグを検索"
+
+msgid "IDS_MUSIC_OPT_DROPBOX_CONTENT_ABB"
+msgstr "Dropboxのコンテンツ"
+
+msgid "IDS_MUSIC_OPT_CONTENT_ON_PHONE_ABB"
+msgstr "端末上のコンテンツ"
+
+msgid "IDS_MUSIC_OPT_CHANGE_IMAGE"
+msgstr "画像を変更"
+
+msgid "IDS_MUSIC_HEADER_DELETE_DROPBOX_DATA_ABB"
+msgstr "Dropboxのデータを削除"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_STREAM_YOUR_MUSIC_TO_DEVICES_USING_ALLSHARE"
+msgstr "AllShareを使って端末で音楽をストリーミング再生できます。"
+
+msgid "IDS_MUSIC_BODY_VALIDITY"
+msgstr "有効回数"
+
+msgid "IDS_MUSIC_BODY_TYPE_CNOUN"
+msgstr "タイプ"
+
+msgid "IDS_MUSIC_BODY_THIS_WILL_DELETE_THE_FILE_FROM_THE_SERVER_AND_ANY_CONNECTED_DEVICES_AS_WELL"
+msgstr "サーバーと接続した全ての端末からもファイルを削除します。"
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_ARTISTS"
+msgstr "アーティスト"
+
+msgid "IDS_MUSIC_BODY_PLAYINGDETAILS_ALBUM_ART"
+msgstr "アルバムアート"
+
+msgid "IDS_MUSIC_BODY_OTHER_CONTENTS"
+msgstr "他のコンテンツ"
+
+msgid "IDS_MUSIC_BODY_NAME_TOO_LONG"
+msgstr "名前が長すぎます。"
+
+msgid "IDS_MUSIC_BODY_MUSIC_CLARITY"
+msgstr "クリア"
+
+msgid "IDS_MUSIC_BODY_HIGH_VOLUMES_MAY_HARM_YOUR_HEARING_IF_YOU_LISTEN_FOR_A_LONG_TIME"
+msgstr " 長時間大音量で聴き続けると、聴力を損傷する可能性があります。"
+
+msgid "IDS_MUSIC_BODY_AVAILABLE_USES"
+msgstr "使用可能"
+
+msgid "IDS_MUSIC_TPOP_SOUND_EFFECTS_ONLY_AVAILABLE_WHILE_HEADPHONES_CONNECTED"
+msgstr "サウンドエフェクトは、ヘッドフォンが接続された場合にのみ利用できます。"
+
+msgid "IDS_ST_OPT_ADD_TO_YOUR_PERSONAL_STORAGE"
+msgstr "パーソナルストレージに追加"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_YOUR_PERSONAL_STORAGE"
+msgstr "パーソナルストレージから削除"
+
+msgid "IDS_ST_BODY_CONTEXTUAL_POP_UP_T_TALKBACK"
+msgstr "コンテキストポップアップです。"
+
+msgid "IDS_ST_BODY_A_CONTEXTUAL_POP_UP_IS_OPEN_DOUBLE_TAP_TO_CLOSE_IT_T_TALKBACK"
+msgstr "コンテキストポップアップが開いています。ダブルタップすると、閉じます。"
+
+msgid "IDS_ST_BODY_REPEAT_ONE"
+msgstr "1曲リピート"
+
+msgid "IDS_ST_BUTTON_MOVING_ING"
+msgstr "移動中..."
+
+msgid "IDS_HS_BODY_SELECT_UP_TO_PD_ITEMS"
+msgstr "%d件までアイテムを選択できます。"
+
+msgid "IDS_CAM_BODY_TAB_T_TTS"
+msgstr "タブ"
+
+msgid "IDS_DLNA_OPT2_CHANGE_PLAYER"
+msgstr "プレーヤーを変更"
+
+msgid "IDS_BR_SK_TABS"
+msgstr "タブ"
+
+msgid "IDS_MF_BODY_DROPBOX_ABB"
+msgstr "Dropbox"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "自動ピックアップ機能でサウンドファイルからハイライト部分を抽出"
+
+msgid "IDS_MF_BODY_PARENT_RATING"
+msgstr "保護者の指導が必要"
+
+msgid "IDS_VR_POP_FILE_NOT_FOUND"
+msgstr "ファイルが見つかりません。"
+
+msgid "IDS_PB_POP_CALLER_RINGTONE_SAVED"
+msgstr "個別着信音に設定しました。"
+
+msgid "IDS_MUSIC_BODY_BIT_DEPTH"
+msgstr "ビット深度"
+
+msgid "IDS_MUSIC_BODY_SIZE"
+msgstr "サイズ"
+
+msgid "IDS_MF_HEADER_PD_SELECTED"
+msgstr "%d件選択"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_THIS_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "この端末に曲を追加すると、ここに表示されます。"
+
+msgid "IDS_MUSIC_TMBODY_LENGTH"
+msgstr "再生時間"
+
+msgid "IDS_MUSIC_POP_1_FOLDER_WILL_BE_DELETED"
+msgstr "1件のフォルダを削除します。"
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "コンテンツがありません。"
+
+msgid "IDS_MUSIC_ITAB4_FOLDERS"
+msgstr "フォルダ"
+
+msgid "IDS_MUSIC_HEADER_MY_PLAYLISTS_ABB"
+msgstr "マイプレイリスト"
+
+msgid "IDS_MP_BODY_SOUND_PLAYER"
+msgstr "サウンドプレーヤー"
+
+msgid "IDS_MUSIC_OPT_SETTINGS"
+msgstr "設定"
+
+msgid "IDS_MUSIC_POP_DELETING"
+msgstr "削除中..."
+
+msgid "IDS_MUSIC_POP_1_TRACK_WILL_BE_DELETED"
+msgstr "1曲を削除します。"
+
+msgid "IDS_MUSIC_POP_ALL_TRACKS_WILL_BE_DELETED"
+msgstr "全ての曲を削除します。"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_WILL_BE_DELETED"
+msgstr "%d曲を削除します。"
+
+msgid "IDS_MUSIC_POP_1_PLAYLIST_WILL_BE_DELETED"
+msgstr "1件のプレイリストを削除します。"
+
+msgid "IDS_MUSIC_POP_PD_PLAYLISTS_WILL_BE_DELETED"
+msgstr "%d件のプレイリストを削除します。"
+
+msgid "IDS_MUSIC_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "%d件のアルバムを削除します。"
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS_WILL_BE_DELETED"
+msgstr "%d人のアーティストを削除します。"
+
+msgid "IDS_MUSIC_POP_PD_FOLDERS_WILL_BE_DELETED"
+msgstr "%d件のフォルダを削除します。"
+
+msgid "IDS_ST_POP_CONNECTION_FAILED"
+msgstr "接続に失敗しました。"
+
+msgid "IDS_MUSIC_BODY_CLASSIC"
+msgstr "クラシック"
+
+msgid "IDS_MUSIC_BODY_ROCK"
+msgstr "ロック"
+
+msgid "IDS_MUSIC_BODY_JAZZ"
+msgstr "ジャズ"
+
+msgid "IDS_MUSIC_BODY_POP"
+msgstr "ポップ"
+
+msgid "IDS_MUSIC_BODY_AUTO"
+msgstr "自動"
+
+msgid "IDS_MUSIC_POP_CURRENT_SOUND_EFFECT_NOT_SUPPORTED_BY_HDMI"
+msgstr "現在のサウンドエフェクトはHDMIには対応していません。"
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_BLUETOOTH"
+msgstr "サウンドエフェクトはBluetoothに対応していません。"
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_LINE_OUT"
+msgstr "サウンドエフェクトはライン出力に対応していません。"
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_HDMI"
+msgstr "このサウンドエフェクトはHDMIには対応していません。"
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EFFECT"
+msgstr "真空管アンプ"
+
+msgid "IDS_MUSIC_BODY_CUSTOM"
+msgstr "カスタム"
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EQUALISER_ABB"
+msgstr "真空管アンプ"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "プレイリストに%d曲追加しました。"
+
+msgid "IDS_MUSIC_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "プレイリストに1曲追加しました。"
+
+msgid "IDS_MUSIC_HEADER_ADD_TRACKS_TO_PLAYLIST_ABB"
+msgstr "プレイリストに曲を追加"
+
+msgid "IDS_MUSIC_POP_PS_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "%sは既に登録されています。他の名前を入力してください。"
+
+msgid "IDS_MUSIC_TMBODY_DATE_OF_RECORDING"
+msgstr "録音日"
+
+msgid "IDS_MBP_TPOP_TRACK_SET_AS_ALARM_TONE"
+msgstr "曲をアラーム音に設定しました。"
+
+msgid "IDS_MUSIC_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "検索結果がありません"
+
+msgid "IDS_MUSIC_OPT_DEFAULT_RINGTONE_ABB"
+msgstr "標準音"
+
+msgid "IDS_MUSIC_TPOP_TRACK_SET_AS_CALLER_RINGTONE"
+msgstr "曲を着信音に設定しました。"
+
+msgid "IDS_MP_TPOP_TRACK_SET_AS_RINGTONE"
+msgstr "曲を着信音に設定しました。"
+
+msgid "IDS_DLNA_BODY_ADD_TO_NOW_PLAYING_LIST"
+msgstr "現在再生中のリストに追加"
+
+msgid "IDS_MUSIC_TPOP_EQUALISER_SETTINGS_WILL_BE_APPLIED_WHILE_PLAYING_MUSIC"
+msgstr "音楽を再生すると、イコライザー設定が適用されます。"
+
+msgid "IDS_ST_BODY_ALERT"
+msgstr "通知"
+
+msgid "IDS_IV_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1件のアルバムを削除します。"
+
+msgid "IDS_MUSIC_OPT_SD_CARD"
+msgstr "外部SDカード"
+
+msgid "IDS_MUSIC_SBODY_DEVICE_STORAGE"
+msgstr "システムメモリ(本体)"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE"
+msgstr "プレイリスト名は既に使用されています。"
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_PD"
+msgstr "プレイリスト%d"
+
+msgid "IDS_MUSIC_HEADER_CREATE"
+msgstr "作成"
+
+msgid "IDS_MUSIC_HEADER_EQUALISER_PRESET_ABB"
+msgstr "イコライザープリセット"
+
+msgid "IDS_MUSIC_OPT_AUTOMATIC_M_EQUALIZER_EFFECT"
+msgstr "自動"
+
+msgid "IDS_MUSIC_OPT_CLASSICAL_M_EQUALIZER_EFFECT"
+msgstr "クラシック"
+
+msgid "IDS_MUSIC_HEADER_ENVIRONMENT_EFFECT_ABB"
+msgstr "環境エフェクト"
+
+msgid "IDS_VIDEO_POP_THE_FILE_TYPE_IS_NOT_SUPPORTED"
+msgstr "このファイル形式には対応していません。"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_CREATE_PLAYLISTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "プレイリストを作成すると、ここに表示されます。"
+
+msgid "IDS_ST_HEADER_SELECT_AUDIO_DEVICE_ABB"
+msgstr "オーディオ機器を選択"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "プレイリスト名は既に使用されています。他の名前を入力してください。"
+
+msgid "IDS_MUSIC_HEADER_SOUNDALIVE_ABB3"
+msgstr "SoundAlive"
+
+msgid "IDS_MUSIC_OPT_NOW_PLAYING_LIST"
+msgstr "現在再生中リスト"
+
+msgid "IDS_MUSIC_OPT_SHOW_LYRICS"
+msgstr "歌詞を表示"
+
+msgid "IDS_MUSIC_OPT_HIDE_LYRICS"
+msgstr "歌詞を非表示"
+
+msgid "IDS_MUSIC_TPOP_UNABLE_TO_PLAY_MUSIC_DURING_CALLS"
+msgstr "通話中は音楽を再生できません。"
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "削除"
+
+msgid "IDS_MUSIC_HEADER_SELECT"
+msgstr "選択"
+
+msgid "IDS_TPLATFORM_OPT_NFC"
+msgstr "NFC"
+
+msgid "IDS_MUSIC_HEADER_UNABLE_TO_PLAY_TRACK"
+msgstr "曲の再生不可"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "完了"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "キャンセル"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "削除"
+
+msgid "IDS_MUSIC_POP_RENAME"
+msgstr "名前を変更"
+
+msgid "IDS_MUSIC_OPT_MESSAGE"
+msgstr "メッセージ"
+
+msgid "IDS_MUSIC_SK_OK"
+msgstr "OK"
+
+msgid "IDS_MUSIC_SK_CANCEL"
+msgstr "キャンセル"
+
+msgid "IDS_MUSIC_BUTTON_REFRESH"
+msgstr "更新"
+
+msgid "IDS_MUSIC_BODY_SELECT_ALL"
+msgstr "全て選択"
+
+msgid "IDS_MUSIC_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_MUSIC_POP_DELETED"
+msgstr "削除しました。"
+
+msgid "IDS_MUSIC_OPT_STOP"
+msgstr "停止"
+
+msgid "IDS_MUSIC_BODY_UNKNOWN"
+msgstr "不明"
+
+msgid "IDS_MUSIC_BODY_TITLE"
+msgstr "タイトル"
+
+msgid "IDS_MUSIC_OPT_SENDVIA_EMAIL"
+msgstr "Eメール"
+
+msgid "IDS_MUSIC_OPT_BLUETOOTH"
+msgstr "Bluetooth"
+
+msgid "IDS_MUSIC_HEADER_DOWNLOAD"
+msgstr "ダウンロード"
+
+msgid "IDS_MUSIC_POP_LOW_BATTERY"
+msgstr "バッテリー残量が不足しています。"
+
+msgid "IDS_MUSIC_HEADER_AUDIO_DEVICE"
+msgstr "オーディオデバイス"
+
+msgid "IDS_MUSIC_HEADER_DETAILS"
+msgstr "詳細"
+
+msgid "IDS_MUSIC_OPT_END"
+msgstr "終了"
+
+msgid "IDS_MUSIC_OPT_EDIT"
+msgstr "編集"
+
+msgid "IDS_CAM_HEADER_UPDATED"
+msgstr "更新しました。"
+
+msgid "IDS_MUSIC_POP_REMOVED"
+msgstr "削除しました。"
+
+msgid "IDS_MUSIC_OPT_SELECTED"
+msgstr "選択"
+
+msgid "IDS_ST_BUTTON_SCAN"
+msgstr "スキャン"
+
+msgid "IDS_MF_POP_ERROR"
+msgstr "エラー"
+
+msgid "IDS_MF_POP_MEMORY_FULL"
+msgstr "メモリがいっぱいです。"
+
+msgid "IDS_MUSIC_MBODY_QUEUE"
+msgstr "再生中リスト"
+
+msgid "IDS_MUSIC_OPT_VOLUME"
+msgstr "音量"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE"
+msgstr "シャッフル"
+
+msgid "IDS_MUSIC_OPT_REPEAT"
+msgstr "繰り返し"
+
+msgid "IDS_COM_BODY_DETAILS"
+msgstr "Details"
+
+msgid "IDS_COM_BODY_DETAILS_TITLE"
+msgstr "Title"
+
+msgid "IDS_COM_BODY_EDIT"
+msgstr "Edit"
+
+msgid "IDS_COM_BODY_EMAIL"
+msgstr "Email"
+
+msgid "IDS_COM_BODY_END"
+msgstr "End"
+
+msgid "IDS_COM_BODY_FOLDERS"
+msgstr "Folders"
+
+msgid "IDS_COM_BODY_GALLERY"
+msgstr "Gallery"
+
+msgid "IDS_COM_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_COM_BODY_LOADING"
+msgstr "Loading..."
+
+msgid "IDS_COM_BODY_LOW_BATTERY"
+msgstr "Low battery."
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Message"
+
+msgid "IDS_COM_BODY_MUSIC"
+msgstr "Music"
+
+msgid "IDS_COM_BODY_NFC"
+msgstr "NFC"
+
+msgid "IDS_COM_BODY_NO_CONTENTS"
+msgstr "No content"
+
+msgid "IDS_COM_BODY_PAUSE"
+msgstr "Pause"
+
+msgid "IDS_COM_BODY_PD_SELECTED"
+msgstr "%d selected."
+
+msgid "IDS_COM_BODY_PREVIOUS"
+msgstr "Previous"
+
+msgid "IDS_COM_BODY_RESET_A"
+msgstr "Reset"
+
+msgid "IDS_COM_BODY_SELECTED"
+msgstr "Selected"
+
+msgid "IDS_COM_BODY_SELECT_ALL"
+msgstr "Select all"
+
+msgid "IDS_COM_BODY_SETTINGS"
+msgstr "Settings"
+
+msgid "IDS_COM_BODY_TIME"
+msgstr "Time"
+
+msgid "IDS_COM_BODY_UNABLE_TO_ADD"
+msgstr "Unable to add."
+
+msgid "IDS_COM_BODY_UNKNOWN"
+msgstr "Unknown"
+
+msgid "IDS_COM_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_COM_BUTTON_SCAN"
+msgstr "Scan"
+
+msgid "IDS_COM_BUTTON_SHARE"
+msgstr "Share"
+
+msgid "IDS_COM_HEADER_AUDIO_DEVICE_ABB"
+msgstr "Audio device"
+
+msgid "IDS_COM_OPT_ADDED"
+msgstr "Added."
+
+msgid "IDS_COM_OPT_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_POP_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_POP_CONNECTION_FAILED"
+msgstr "Connection failed."
+
+msgid "IDS_COM_POP_DELETED"
+msgstr "Deleted."
+
+msgid "IDS_COM_POP_DELETE_Q"
+msgstr "Delete?"
+
+msgid "IDS_COM_POP_DONE"
+msgstr "Done"
+
+msgid "IDS_COM_POP_DOWNLOADING"
+msgstr "Downloading..."
+
+msgid "IDS_COM_POP_ERROR"
+msgstr "Error."
+
+msgid "IDS_COM_POP_FAILED"
+msgstr "Failed."
+
+msgid "IDS_COM_POP_FILE_NOT_EXIST"
+msgstr "This file does not exist."
+
+msgid "IDS_COM_POP_FILE_NOT_FOUND"
+msgstr "File not found."
+
+msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximum number of characters reached."
+
+msgid "IDS_COM_POP_MEMORY_FULL"
+msgstr "Memory full."
+
+msgid "IDS_COM_POP_REMOVED"
+msgstr "Removed."
+
+msgid "IDS_COM_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Unable to use during Mass storage mode."
+
+msgid "IDS_COM_POP_UPDATED"
+msgstr "Updated."
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_SK_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_SK_DOWNLOAD"
+msgstr "Download"
+
+msgid "IDS_COM_SK_NEW"
+msgstr "New"
+
+msgid "IDS_COM_SK_NEXT"
+msgstr "Next"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_SK_REFRESH"
+msgstr "Refresh"
+
+msgid "IDS_COM_SK_REMOVE"
+msgstr "Remove"
+
+msgid "IDS_COM_SK_SAVE"
+msgstr "Save"
+
+msgid "IDS_COM_SK_SELECT"
+msgstr "Select"
+
+msgid "IDS_COM_SK_SET"
+msgstr "Set"
+
+msgid "IDS_COM_SK_STOP"
+msgstr "Stop"
+
+
+msgid "IDS_MH_BODY_THE_PLAYLIST_NAME_PS_IS_ALREADY_IN_USE"
+msgstr "The playlist name %s is already in use."
+
+msgid "IDS_MH_BODY_TOTAL"
+msgstr "Total"
+
+msgid "IDS_MH_MBODY_RECENTLY_ADDED_M_SONG"
+msgstr "Recently added"
+
+msgid "IDS_MH_OPT_MORE_INFO_ABB"
+msgstr "More info"
+
+msgid "IDS_MH_POP_ALARM_TONE_SET"
+msgstr "Alarm tone set."
+
+msgid "IDS_MH_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 track added to playlist."
+
+msgid "IDS_MH_TPOP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d tracks added to playlist."
+
+msgid "IDS_MUSIC_OPT_RENAME"
+msgstr "Rename"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Unable to play during call."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "ファイルの最大サイズを超えました。"
+
+msgid "IDS_CAM_TPOP_UNABLE_TO_PLAY_MUSIC_WHILE_RECORDING_AUDIO_OR_VIDEO"
+msgstr "音声の録音中または動画の録画中は、音楽を再生できません。"
+
--- /dev/null
+msgid "IDS_ST_BODY_LOADING_ING"
+msgstr "იტვირთება..."
+
+msgid "IDS_GALLERY_OPT_PRIVATE_M_CONTENT"
+msgstr "პერსონალური"
+
+msgid "IDS_MF_BODY_TIME"
+msgstr "დრო"
+
+msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
+msgstr "ფაილი არ არსებობს."
+
+msgid "IDS_MUSIC_POP_PHONE_RINGTONE"
+msgstr "ტელეფონის ზარის მელოდია"
+
+msgid "IDS_MUSIC_BODY_DURATION"
+msgstr "ხანგრძლივობა"
+
+msgid "IDS_MUSIC_BODY_MUSIC_LOCATION"
+msgstr "ადგილმდებარეობა"
+
+msgid "IDS_MUSIC_BODY_SET_AS_M_RINGTONE"
+msgstr "დაყენება"
+
+msgid "IDS_ST_OPT_ADD_TO_PERSONAL_PAGE"
+msgstr "პერსონალურ გვერდზე დამატება"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_PERSONAL_PAGE_ABB"
+msgstr "პირადი გვერდიდან ამოღება"
+
+msgid "IDS_ST_POP_MOVE_TO_NORMAL_STORAGE"
+msgstr "ნორმალურ მეხსიერებაში გადატანა"
+
+msgid "IDS_ST_POP_MOVE_TO_PERSONAL_STORAGE"
+msgstr "პერსონალურ მეხსიერებაში გადატანა"
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEMS_WILL_BE_MOVED_TO_PS"
+msgstr "შერჩეული ელემენტები გადავა ადგილზე: %s."
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEM_WILL_BE_MOVED_TO_PS"
+msgstr "შერჩეული ელემენტი გადავა ადგილზე: %s."
+
+msgid "IDS_VR_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "ვერ გამოიყენებთ მასიური მეხსიერების რეჟიმში."
+
+msgid "IDS_MUSIC_POP_RINGTONE_ADDED"
+msgstr "ზარის მელოდია დამატებულია."
+
+msgid "IDS_CAM_BODY_BUTTON_T_TTS"
+msgstr "ღილაკი"
+
+msgid "IDS_MUSIC_HEADER_SELECT_ITEMS"
+msgstr "ელემენტების არჩევა"
+
+msgid "IDS_ST_BODY_ADVANCED"
+msgstr "გაუმჯობესებული"
+
+msgid "IDS_ST_SK_PREVIOUS"
+msgstr "წინა"
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "დახურვა"
+
+msgid "IDS_MUSIC_POP_ADDED"
+msgstr "დამატებულია."
+
+msgid "IDS_MUSIC_POP_FAILED"
+msgstr "ვერ შესრულდა."
+
+msgid "IDS_MUSIC_BODY_NO_SEARCH_RESULTS"
+msgstr "ძიების შედეგი არ არის"
+
+msgid "IDS_MUSIC_SK_DONE"
+msgstr "შესრულდა"
+
+msgid "IDS_MUSIC_BODY_NO_ITEMS"
+msgstr "ელემენტები არ არის"
+
+msgid "IDS_BR_OPT_ADD_TO_HOME"
+msgstr "დაამატეთ საწყის გვერდზე"
+
+msgid "IDS_BR_SK_NEXT"
+msgstr "შემდეგი"
+
+msgid "IDS_BR_BODY_DOWNLOADING_ING"
+msgstr "ჩამოტვირთვა..."
+
+msgid "IDS_IV_BODY_FAVOURITE"
+msgstr "ფავორიტი"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_PERSONAL_STORAGE"
+msgstr "პერსონალურ მეხსიერებაში დამატება"
+
+msgid "IDS_DLNA_POP_DISCONNECTED_FROM_PS_CHECK_THE_NETWORK_STATUS_AND_THE_CONNECTED_DEVICE"
+msgstr "გაითიშა %s. შეამოწმეთ ქსელის სტატუსი და დაკავშირებული მოწყობილობა"
+
+msgid "IDS_DLNA_OPT_VIA_SCREEN_MIRRORING_ABB"
+msgstr "Screen Mirroring-ით"
+
+msgid "IDS_DLNA_OPT_VIA_HOME_NETWORK_ABB"
+msgstr "შიდა ქსელით"
+
+msgid "IDS_IV_POP_ENTRY_IS_EMPTY"
+msgstr "ცარიელი ჩანაწ."
+
+msgid "IDS_FM_POP_UNAVAILABLE_DURING_CALL"
+msgstr "ზარის დროს შეუძლებელია."
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "მიღწეულია სიმბოლოების მაქსიმალური რაოდენობა."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_SHARE_DRM_FILE"
+msgstr "ვერ გააზიარებთ DRM ფაილს."
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "იშლება..."
+
+msgid "IDS_MUSIC_HEADER_PD_DEVICES"
+msgstr "%d მოწყობილობა"
+
+msgid "IDS_MUSIC_BUTTON_ENABLE_MOTION"
+msgstr "მოძრაობის ჩრ."
+
+msgid "IDS_MUSIC_BUTTON_DONT_ASK_AGAIN"
+msgstr "აღარ მკითხო"
+
+msgid "IDS_MUSIC_BODY_NO_RESULTS_FOUND"
+msgstr "შედეგები არ მოიძებნა."
+
+msgid "IDS_VPL_OPT_HDMI"
+msgstr "HDMI"
+
+msgid "IDS_MUSIC_BODY_TURN_PHONE_OVER_TO_MUTE_INCOMING_CALLS_MESSAGE_ALERTS_AND_ALARMS"
+msgstr "გადააბრუნეთ ტელეფონი, რომ გამოირთოს შემომავალი ზარების, წერილის შეტყობინებებისა და სიგნალების ხმა."
+
+msgid "IDS_ST_BODY_NONE"
+msgstr "არც ერთი"
+
+msgid "IDS_ST_BODY_INTERNET"
+msgstr "ინტერნეტი"
+
+msgid "IDS_ST_BODY_GALLERY"
+msgstr "გალერეა"
+
+msgid "IDS_ST_BODY_DOUBLE_TAP_TO_MOVE_TO_CONTENT_T_TTS"
+msgstr "მასალის გადასატანად შეეხეთ ორჯერ."
+
+msgid "IDS_MUSIC_BODY_SURROUND"
+msgstr "გარემო"
+
+msgid "IDS_MUSIC_OPT_LYRICS_ABB"
+msgstr "ლექსები"
+
+msgid "IDS_MUSIC_POP_AFTER_YOU_ADD_TRACKS_TO_MUSIC_ON_YOUR_MOBILE_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "მობილური აპარატის მუსიკის ფაილში ბილიკების დამატების შემდეგ, ისინი გამოჩნდება აქ."
+
+msgid "IDS_MUSIC_BODY_SAMPLING_RATE"
+msgstr "დისკრეტიზაციის სიხშირე"
+
+msgid "IDS_MUSIC_BODY_MARKED_AS_A_FAVOURITE"
+msgstr "აღნიშნულია, როგორც ფავორიტი."
+
+msgid "IDS_MUSIC_BODY_MUSIC"
+msgstr "მუსიკა"
+
+msgid "IDS_MUSIC_BODY_NOT_MARKED_AS_A_FAVOURITE"
+msgstr "არ არის აღნიშნული, როგორც ფავორიტი."
+
+msgid "IDS_MUSIC_HEADER_SEARCH_MUSIC_ABB"
+msgstr "მუსიკის ძებნა"
+
+msgid "IDS_MUSIC_POP_AUTO_RECOMMENDATION_DOES_NOT_SUPPORT_THIS_AUDIO_FILE"
+msgstr "ავტომატური რეკომენდაცია არ მუშაობს ამ აუდიო ფაილისთვის."
+
+msgid "IDS_MUSIC_POP_SORRY_THE_PLAYER_DOES_NOT_SUPPORT_THIS_TYPE_OF_AUDIO_FILE"
+msgstr "ვწუხვართ, პლეერი ვერ უკრავს ამ ტიპის აუდიო ფაილს."
+
+msgid "IDS_MUSIC_BODY_FAVOURITES"
+msgstr "ფავორიტები"
+
+msgid "IDS_MUSIC_BODY_MOST_PLAYED"
+msgstr "ყველაზე ხშირად დაკრული"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_ADDED"
+msgstr "ბოლოს დამატებული"
+
+msgid "IDS_MUSIC_OPT_CREATE_PLAYLIST"
+msgstr "მუსიკის სიის შექმნა"
+
+msgid "IDS_MUSIC_OPT_REMOVE"
+msgstr "წაშლა"
+
+msgid "IDS_MUSIC_OPT_SETAS_CALLER_RINGTONE"
+msgstr "აბონენტის ზარის მელოდია"
+
+msgid "IDS_MUSIC_TAB4_ARTISTS"
+msgstr "მსახიობები"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD"
+msgstr "ვერ ვამატებ."
+
+msgid "IDS_MUSIC_POP_UNABLE_CREATE_PLAYLIST"
+msgstr "მუსიკის სიას ვერ ვქმნი."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_GET_TAG"
+msgstr "ჩანართს ვერ მიიღებთ."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_MORE_THAN_PD_MUSIC_FILE"
+msgstr "ვერ ვამატებ მუსიკის %d-ზე მეტ ფაილს."
+
+msgid "IDS_MUSIC_BODY_ALBUM"
+msgstr "ალბომი"
+
+msgid "IDS_MUSIC_BODY_AUTHOR"
+msgstr "ავტორი"
+
+msgid "IDS_MUSIC_BODY_COPYRIGHT"
+msgstr "საავტორო უფლება"
+
+msgid "IDS_MUSIC_BODY_CREATE_PLAYLIST"
+msgstr "მუსიკის სიის შექმნა"
+
+msgid "IDS_MUSIC_BODY_DESCRIPTION"
+msgstr "აღწერა"
+
+msgid "IDS_MUSIC_BODY_FORMAT"
+msgstr "ფორმატი"
+
+msgid "IDS_MUSIC_BODY_IMPOSSIBLE"
+msgstr "შეუძლებელია"
+
+msgid "IDS_MUSIC_BODY_NO_PLAYLISTS"
+msgstr "დასაკრავი სია არ არის"
+
+msgid "IDS_MUSIC_BODY_TRACK_NUMBER"
+msgstr "ბილიკის ნომერი"
+
+msgid "IDS_MUSIC_POP_DELETE_Q"
+msgstr "წაიშალოს?"
+
+msgid "IDS_MUSIC_POP_REMOVE_Q"
+msgstr "წაიშალოს?"
+
+msgid "IDS_MUSIC_POP_UNABLE_RENAME_PLAYLIST"
+msgstr "მუსიკის სიას სახელს ვერ ვუცვლი."
+
+msgid "IDS_MUSIC_TAB4_ALBUMS"
+msgstr "ალბომები"
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "ემატება..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "წაიშალოს %d ალბომი?"
+
+msgid "IDS_MUSIC_TAB4_PLAYLISTS"
+msgstr "მუსიკის სიები"
+
+msgid "IDS_MUSIC_OPT_ADD"
+msgstr "დამატება"
+
+msgid "IDS_MUSIC_BODY_BIOGRAPHY"
+msgstr "ბიოგრაფია"
+
+msgid "IDS_MUSIC_BODY_CREDITS"
+msgstr "კრედიტები"
+
+msgid "IDS_MUSIC_BODY_DETAILS_MEADIA_INFO"
+msgstr "მედია ინფო"
+
+msgid "IDS_MUSIC_BODY_DISCOGRAPHY"
+msgstr "დისკოგრაფია"
+
+msgid "IDS_MUSIC_BODY_LYRIC"
+msgstr "ლექსი"
+
+msgid "IDS_MUSIC_BODY_POSSIBLE"
+msgstr "შესაძლო"
+
+msgid "IDS_MUSIC_BODY_REVIEW"
+msgstr "დათვალიერება"
+
+msgid "IDS_MUSIC_HEADER_TRACK_LIST"
+msgstr "ბილიკების სია"
+
+msgid "IDS_MUSIC_BODY_ADD_TO_PLAYLIST"
+msgstr "დასაკრავი ფაილების სიაში დამატება"
+
+msgid "IDS_MUSIC_BODY_ARTIST"
+msgstr "შემსრულებელი"
+
+msgid "IDS_MUSIC_BODY_FORWARDING"
+msgstr "გადამისამართება"
+
+msgid "IDS_MUSIC_BODY_RECORDED_DATE"
+msgstr "Date of recording"
+
+msgid "IDS_MUSIC_BODY_PLAYLISTS"
+msgstr "მუსიკის სიები"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_PLAYED"
+msgstr "ბოლოს დაკრული"
+
+msgid "IDS_MUSIC_BODY_TRACK_LENGTH"
+msgstr "ბილიკის სიგრძე"
+
+msgid "IDS_MUSIC_HEADER_NO_SONGS"
+msgstr "სიმღერები არ არის"
+
+msgid "IDS_MUSIC_POP_THIS_TRACK_WILL_BE_DELETED"
+msgstr "მუსიკის ეს ბილიკი წაიშლება."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_TRACKS_WILL_BE_DELETED"
+msgstr "შერჩეული მუსიკალური ბილიკები წაიშლება."
+
+msgid "IDS_MUSIC_POP_THIS_ARTIST_WILL_BE_DELETED"
+msgstr "ეს შემსრულებელი წაიშლება."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ARTISTS_WILL_BE_DELETED"
+msgstr "შერჩეული შემსრულებლები წაიშლება."
+
+msgid "IDS_MUSIC_POP_ALL_ARTISTS_WILL_BE_DELETED"
+msgstr "ყველა შემსრულებელი წაიშლება."
+
+msgid "IDS_MUSIC_POP_THIS_FOLDER_WILL_BE_DELETED"
+msgstr "ეს საქაღალდე წაიშლება."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_FOLDERS_WILL_BE_DELETED"
+msgstr "შერჩეული საქაღალდეები წაიშლება."
+
+msgid "IDS_MUSIC_POP_ALL_FOLDERS_WILL_BE_DELETED"
+msgstr "ყველა საქაღალდე წაიშლება."
+
+msgid "IDS_MUSIC_POP_THIS_ALBUM_WILL_BE_DELETED"
+msgstr "ეს ალბომი წაიშლება."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ALBUMS_WILL_BE_DELETED"
+msgstr "შერჩეული ალბომები წაიშლება."
+
+msgid "IDS_MUSIC_POP_ALL_ALBUMS_WILL_BE_DELETED"
+msgstr "ყველა ალბომი წაიშლება."
+
+msgid "IDS_MUSIC_POP_THIS_PLAYLIST_WILL_BE_DELETED"
+msgstr "მუსიკის ეს სია წაიშლება."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_PLAYLISTS_WILL_BE_DELETED"
+msgstr "შერჩეული მუსიკის სიები წაიშლება."
+
+msgid "IDS_MUSIC_POP_ALL_PLAYLISTS_WILL_BE_DELETED"
+msgstr "მუსიკის ყველა სია წაიშლება."
+
+msgid "IDS_MUSIC_HEADER_SONGS"
+msgstr "სიმღერები"
+
+msgid "IDS_MUSIC_OPT_REORDER"
+msgstr "გადალაგება"
+
+msgid "IDS_MUSIC_OPT_SAVE_AS_PLAYLIST"
+msgstr "მუსიკის სიად შენახვა"
+
+msgid "IDS_MUSIC_OPT_SETAS_ALARM_TONE"
+msgstr "სიგნალის მელოდია"
+
+msgid "IDS_MUSIC_POP_NOTHING_SELECTED"
+msgstr "არაფერია არჩეული."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "ვერ დაუკრავთ. შეცდომა მოხდა."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_UNSUPPORTED_FILETYPE"
+msgstr "ვერ დავუკრავ. ფაილის ტიპს არა აქვს მხარდაჭერა."
+
+msgid "IDS_MUSIC_SK_SHARE"
+msgstr "გაზიარება"
+
+msgid "IDS_MUSIC_TAB4_CONDUCTORS"
+msgstr "ორგანიზატორები"
+
+msgid "IDS_MUSIC_HEADER_SELECT_DEVICE"
+msgstr "მოწყობილობის შერჩევა"
+
+msgid "IDS_MUSIC_SK_VIEW_AS"
+msgstr "ნახეთ"
+
+msgid "IDS_MUSIC_BODY_SOUNDEFFECTS_NORMAL"
+msgstr "ნორმალური"
+
+msgid "IDS_MUSIC_BODY_USER"
+msgstr "მომხმარებელი"
+
+msgid "IDS_MUSIC_BODY_VOCAL_M_SOUNDEFFECT"
+msgstr "ვოკალური"
+
+msgid "IDS_MUSIC_MBODY_BASS_BOOST"
+msgstr "ბასის გაძლიერება"
+
+msgid "IDS_MUSIC_MBODY_TREBLE_BOOST"
+msgstr "დისკანტის გაძლიერება"
+
+msgid "IDS_MUSIC_BODY_CAFE_M_SOUNDEFFECT"
+msgstr "კაფე"
+
+msgid "IDS_MUSIC_OPT_VIRTUAL_71_CH"
+msgstr "ვირტუალური 7.1 არხი"
+
+msgid "IDS_MUSIC_OPT_AFTER_15_MIN_ABB"
+msgstr "15 წუთის შემდეგ"
+
+msgid "IDS_MUSIC_BODY_AFTER_30_MIN"
+msgstr "30 წუთის შემდეგ"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HOUR"
+msgstr "1 საათის შემდეგ"
+
+msgid "IDS_MUSIC_POP_AFTER_1_HOUR_30_MIN"
+msgstr "1 საათისა და 30 წუთის შემდეგ"
+
+msgid "IDS_MUSIC_BODY_AFTER_2_HOURS"
+msgstr "2 საათის შემდეგ"
+
+msgid "IDS_MUSIC_BODY_MUSIC_AUTO_OFF"
+msgstr "მუსიკის ავტო. გამორთვა"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES_ONLY"
+msgstr "ეს ხმოვანი ეფექტი მუშაობს მხოლოდ ყურმილისა და Bluetooth გარნიტურის რეჟიმებში."
+
+msgid "IDS_MUSIC_TAB4_MUSIC_SQUARE"
+msgstr "მუსიკის სკვერი"
+
+msgid "IDS_MUSIC_POP_NOT_ENOUGH_MUSIC_FILES_TO_PLAY_IN_MUSIC_SQUARE_AT_LEAST_PD_MUSIC_FILES_REQUIRED"
+msgstr "მუსიკის ფაილების რაოდენობა არ არის საკმარისი „მუსიკის სკვერში“ დასაკრავად. უნდა იყოს მინიმუმ %d მუსიკის ფაილი."
+
+msgid "IDS_MUSIC_BODY_PASSION_M_MOOD"
+msgstr "ჟინი"
+
+msgid "IDS_MUSIC_BODY_CALM_M_ADJECTIVE"
+msgstr "მშვიდი"
+
+msgid "IDS_MUSIC_BODY_JOY_M_MOOD"
+msgstr "სიხარული"
+
+msgid "IDS_MUSIC_BODY_LIBRARY_UPDATE"
+msgstr "ბიბლიოთეკის განახლება"
+
+msgid "IDS_MUSIC_POP_UPDATE_LIBRARY_Q"
+msgstr "განახლდეს ბიბლიოთეკა?"
+
+msgid "IDS_MUSIC_BODY_CHANGE_AXIS"
+msgstr "ღერძის შეცვლა"
+
+msgid "IDS_MUSIC_ITAB4_GENRES"
+msgstr "ჟანრები"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_1_TRACK"
+msgstr "1 ალბომი / 1 ბილიკი"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_PD_TRACKS"
+msgstr "1 ალბომი / %d ბილიკი"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS_PD_TRACKS"
+msgstr "%d ალბომი / %d ბილიკი"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_CONTROL_MUSIC_PLAYER_WITH_THE_VOICE_COMMANDS_P1SS_P2SS_P3SS_P4SS_P5SS_AND_P6SS"
+msgstr "შეგიძლიათ პლეერი მართოთ ხმოვანი ბრძანებებით: „%1$s“, „%2$s“, „%3$s“, „%4$s“, „%5$s“ და „%6$s“."
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_PD_TRACKS"
+msgstr "აურიეთ %d ბილიკი"
+
+msgid "IDS_MUSIC_BODY_MORE_INFO"
+msgstr "დამატებითი ინფორმაცია"
+
+msgid "IDS_MUSIC_HEADER_MY_MUSIC_M_APPLICATION_NAME"
+msgstr "ჩემი მუსიკა"
+
+msgid "IDS_MUSIC_OPT_LIST_VIEW"
+msgstr "სიის ნახვა"
+
+msgid "IDS_MUSIC_OPT_PLAY_VIA_GROUP_PLAY"
+msgstr "ჩართეთ Group Play-ით"
+
+msgid "IDS_MUSIC_POP_TRACK_ADDED_TO_FAVOURITES"
+msgstr "ბილიკი დაემატა ფავორიტებში."
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_FAVOURITES"
+msgstr "ფავორიტებიდან ამოშლა"
+
+msgid "IDS_MUSIC_BODY_NEW_M_LATEST"
+msgstr "ახალი"
+
+msgid "IDS_MUSIC_OPT_TRACKS"
+msgstr "თვალთვალი"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL"
+msgstr "მიკროასლი"
+
+msgid "IDS_MUSIC_SK_LIST"
+msgstr "სია"
+
+msgid "IDS_MUSIC_SK_OPEN_PLAYLIST"
+msgstr "მელოდიების სიის გახსნა"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALL"
+msgstr "ყველაფრის დაკვრა"
+
+msgid "IDS_MUSIC_POP_SELECTED_LIST_EMPTY"
+msgstr "არჩეული სია ცარიელია."
+
+msgid "IDS_MUSIC_BODY_MOODS"
+msgstr "რითმები"
+
+msgid "IDS_MUSIC_BUTTON_YEARS"
+msgstr "წლები"
+
+msgid "IDS_MUSIC_BODY_OLD"
+msgstr "ძველი"
+
+msgid "IDS_MUSIC_BODY_MUSIC_SQUARE_ANALYSES_THE_CHARACTERISTICS_OF_MUSIC_FILES_STORED_ON_YOUR_DEVICE_AND_AUTOMATICALLY_CREATES_PLAYLISTS_MSG"
+msgstr "„მუსიკალური სკვერი“ აანალიზებს აპარატში შენახული მუსიკის ფაილების მახასიათებლებს და ავტომატურად ქმნის მუსიკის სიებს."
+
+msgid "IDS_MUSIC_BODY_PLAY_TRACKS_WITH_SIMILAR_CHARACTERISTICS_BY_SELECTING_A_SQUARE_ON_THE_SCREEN"
+msgstr "აირჩიეთ კვადრატი ეკრანზე და დაუკარით ერთიდაიგივე მახასიათებლების მქონე მუსიკის სია."
+
+msgid "IDS_MUSIC_BODY_VIEW_PLAYLIST_DETAILS_BY_TAPPING_AND_HOLDING_THE_SQUARE_CURRENTLY_BEING_PLAYED"
+msgstr "მუსიკის სიის დეტალების სანახავად დაარტყით და არ აუშვათ ხელი იმ კვადრატზე, რომელიც უკრავს."
+
+msgid "IDS_MUSIC_BODY_NEARBY_DEVICES"
+msgstr "ახლომდებარე მოწყობილობები"
+
+msgid "IDS_MUSIC_POP_YOU_WILL_NEED_TO_UPDATE_THE_LIBRARY_IF_NEW_SONGS_HAVE_BEEN_ADDED"
+msgstr "ბიბლიოთეკა უნდა განაახლოთ, თუ დამატებულია ახალი სიმღერები."
+
+msgid "IDS_MUSIC_BODY_NO_ALBUMS"
+msgstr "ალბომები არ არის"
+
+msgid "IDS_MUSIC_BODY_NO_ARTISTS"
+msgstr "შემსრულებლები არ არის"
+
+msgid "IDS_MUSIC_OPT_PLAY_SPEED_ABB"
+msgstr "დაკვრის სიჩქარე"
+
+msgid "IDS_MUSIC_BODY_CONCERT_HALL_M_SOUNDEFFECT"
+msgstr "საკონცერტო დარბაზი"
+
+msgid "IDS_MUSIC_OPT_ADD_TO"
+msgstr "დამატება"
+
+msgid "IDS_MUSIC_SK_VIEW"
+msgstr "ნახვა"
+
+msgid "IDS_MUSIC_OPT_LISTBY_RECENTLY_ADDED"
+msgstr "ბოლოს დამატებული"
+
+msgid "IDS_MUSIC_BODY_NOT_USED"
+msgstr "არ გამოიყენება"
+
+msgid "IDS_MUSIC_BODY_MAKE_AVAILABLE_OFFLINE"
+msgstr "გახდეს მისაწვდომი უინტერნეტოდ"
+
+msgid "IDS_MUSIC_OPT_AFTER_P1SD_HRS_P2SD_MINS"
+msgstr "%1$dსთ და %2$dწთ-ს შემდეგ"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS"
+msgstr "%d სთ-ს შემდეგ"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_MINS"
+msgstr "%d წთ-ს შემდეგ"
+
+msgid "IDS_MUSIC_BODY_NO_FOLDERS"
+msgstr "საქაღალდეები არ არის"
+
+msgid "IDS_MUSIC_BODY_NO_TRACKS"
+msgstr "ბილიკები არ არის"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS"
+msgstr "%d ალბომი"
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS"
+msgstr "%d შემსრულებელი"
+
+msgid "IDS_MUSIC_BODY_PD_GENRES"
+msgstr "%d ჟანრი"
+
+msgid "IDS_MUSIC_BODY_PD_PLAYLISTS"
+msgstr "მუსიკის %d სია"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_ABB"
+msgstr "%d ბილიკი"
+
+msgid "IDS_MUSIC_BODY_PLAYLIST"
+msgstr "მუსიკის სია"
+
+msgid "IDS_MUSIC_HEADER_SIMILAR_ALBUMS"
+msgstr "მსგავსი ალბომები"
+
+msgid "IDS_MUSIC_HEADER_TRACK"
+msgstr "ბილიკი"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL_VIEW"
+msgstr "მიკროასლების ნახვა"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "ეს ხმოვანი ეფექტი მხოლოდ ყურმილის რეჟიმში მუშაობს."
+
+msgid "IDS_MUSIC_OPT_ALL_CONTENT_ABB2"
+msgstr "მთლიანი მასალა"
+
+msgid "IDS_MUSIC_BODY_A_NETWORK_CONNECTION_IS_REQUIRED_TO_PLAY_THIS_FILE_CHECK_YOUR_NETWORK_CONNECTION_AND_TRY_AGAIN"
+msgstr "ამ ფაილის გასახსნელად საჭიროა ქსელთან კავშირი. შეამოწმეთ კავშირი ქსელთან და ისევ მოსინჯეთ."
+
+msgid "IDS_MUSIC_POP_FILE_TYPE_NOT_SUPPORTED"
+msgstr "ფაილის ტიპი გაუთვალისწინებელია."
+
+msgid "IDS_MUSIC_POP_UPDATING_ING"
+msgstr "განახლება..."
+
+msgid "IDS_MUSIC_OPT_SEARCH_ABB"
+msgstr "ძებნა"
+
+msgid "IDS_MUSIC_OPT_SEARCH_BY"
+msgstr "ძებნის კრიტერიუმია"
+
+msgid "IDS_MUSIC_BODY_RELATED_VIDEOS"
+msgstr "შესატყვისი ვიდეოები"
+
+msgid "IDS_MUSIC_BODY_SMART_VOLUME_ABB"
+msgstr "ხმის ინტელექტუალური რეგულირება"
+
+msgid "IDS_MUSIC_BODY_THE_VOLUME_OF_ALL_TRACKS_WILL_BE_ADJUSTED_TO_LEVEL_PD"
+msgstr "ყველა მუსიკალური ბილიკის ხმის სიმაღლე დარეგულირდება დონეზე: %d."
+
+msgid "IDS_MUSIC_HEADER_SMART_VOLUME_IS_ENABLED"
+msgstr "ხმის ინტელექტუალური რეგულირება გააქტიურებულია"
+
+msgid "IDS_MUSIC_OPT_CONNECTION_INFO_ABB"
+msgstr "კავშირის ინფორმაცია"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_PD_MINS"
+msgstr "1 სთ და %d წთ-ს შემდეგ"
+
+msgid "IDS_MUSIC_BODY_ADAPT_SOUND_ABB"
+msgstr "Adapt Sound"
+
+msgid "IDS_MUSIC_BODY_MY_DEVICE"
+msgstr "ჩემი მოწყობილობა"
+
+msgid "IDS_MUSIC_POP_LISTENING_AT_A_HIGH_VOLUME_FOR_A_LONG_TIME_MAY_DAMAGE_YOUR_HEARING_RAISE_THE_VOLUME_ABOVE_SAFE_LEVELS_Q"
+msgstr "მაღალ ხმაზე დიდი ხნით მოსმენის შედეგად შეიძლება დაგიზიანდეთ სმენა. გაიზარდოს ხმა უსაფრთხოების დონეებზე მეტად?"
+
+msgid "IDS_MUSIC_POP_ALREADY_EXISTS"
+msgstr "უკვე არის."
+
+msgid "IDS_MUSIC_OPT_SCAN_FOR_NEARBY_DEVICES"
+msgstr "ახლომდებარე მოწყობილობების ძებნა"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR"
+msgstr "1 სთ-ს შემდეგ"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_1_MIN"
+msgstr "1 სთ და 1 წთ-ს შემდეგ"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS_1_MIN"
+msgstr "%d სთ და 1 წთ-ს შემდეგ"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_MIN"
+msgstr "1 წთ-ს შემდეგ"
+
+msgid "IDS_MUSIC_OPT_GO_TO_STORE"
+msgstr "მაღაზიაში წასვლა"
+
+msgid "IDS_MUSIC_SK3_ADD_TRACKS"
+msgstr "დაამატე ბილიკები"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FROM_MUSIC_THEY_WILL_BE_SHOWN_HERE"
+msgstr "მუსიკის პროგრამიდან ბილიკების ჩამოტვირთვის შემდეგ, ისინი გამოჩნდება აქ."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_YOUR_FAVOURITES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "ფავორიტებში მუსიკის ბილიკების დამატების შემდეგ, ისინი გამოჩნდება აქ."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_PLAY_TRACKS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "მუსიკის ბილიკების დაკვრის შემდეგ ისინი გამოჩნდებიან აქ."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_PS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "%s-ში ბილიკების დამატების შემდეგ, ისინი გამოჩნდება აქ."
+
+msgid "IDS_MUSIC_BODY_NO_PURCHASED_CONTENT"
+msgstr "შეძენილი არაფერია"
+
+msgid "IDS_MUSIC_SK_SAVE_AS"
+msgstr "შეინახოს როგორც"
+
+msgid "IDS_MUSIC_POP_MUSICPLAYER_UPDATING_FAILED"
+msgstr "ვერ განახლდა."
+
+msgid "IDS_MUSIC_BODY_EXCITING_M_ADJECTIVE"
+msgstr "საინტერესო"
+
+msgid "IDS_MUSIC_BODY_SEARCH_MY_MUSIC"
+msgstr "მოძებნეთ „ჩემს მუსიკაში“"
+
+msgid "IDS_MUSIC_HEADER_CONNECTED_DEVICES"
+msgstr "დაკავშირებული მოწყობილობა"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST_PS"
+msgstr "ჩემი მუსიკის სია %s"
+
+msgid "IDS_MUSIC_BODY_NO_DEVICES"
+msgstr "მოწყობილობები არ არის"
+
+msgid "IDS_MUSIC_HEADER_AVAILABLE_DEVICES_ABB"
+msgstr "ხელმისაწვდომები"
+
+msgid "IDS_MUSIC_POP_SET"
+msgstr "დაყენება"
+
+msgid "IDS_MUSIC_POP_REMOVE_FAILED"
+msgstr "ვერ წაიშალა."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_USE_FAST_FORWARD_AND_REWIND_WHEN_NEARBY_DEVICES_ARE_ENABLED"
+msgstr "წინ და უკან გადახვევის ფუნქციების გამოყენება შეუძლებელია, როდესაც აქტიურია ახლომდებარე მოწყობილობები."
+
+msgid "IDS_MUSIC_OPT_SET_AS"
+msgstr "დაყენება"
+
+msgid "IDS_MUSIC_OPT_HEADPHONES_ABB"
+msgstr "გარნიტურები"
+
+msgid "IDS_MUSIC_OPT_SPEAKER"
+msgstr "დინამიკი"
+
+msgid "IDS_MUSIC_BODY_1_SONG"
+msgstr "1 სიმღერა"
+
+msgid "IDS_MUSIC_BODY_PD_SONGS"
+msgstr "%d სიმღერა"
+
+msgid "IDS_MUSIC_BODY_1_TRACK"
+msgstr "1 მუსიკალური ბილიკი"
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_1_TRACK"
+msgstr "1 მუსიკალური ბილიკის მიმდევრობის არევა"
+
+msgid "IDS_MUSIC_POP_NO_MUSIC_FOUND_FOR_SELECTED_CELL"
+msgstr "მუსიკა ვერ მოიძებნა არჩეულ უჯრაში"
+
+msgid "IDS_MUSIC_BODY_DO_NOT_SHOW_AGAIN"
+msgstr "აღარ მაჩვენო"
+
+msgid "IDS_MUSIC_BODY_VARIOUS_ARTISTS"
+msgstr "სხვადასხვა შემსრულებლები"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_HOME_SCREEN_ABB"
+msgstr "საწყის ეკრანზე დამატება"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_FAVOURITES"
+msgstr "ფავორიტებში დამატება"
+
+msgid "IDS_MUSIC_OPT_EDIT_TITLE"
+msgstr "სათაურის შეცვლა"
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_PERSONAL_STORAGE"
+msgstr "პერსონალური მეხსიერებიდან ამოშლა"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FOLDERS_WILL_BE_SHOWN"
+msgstr "მუსიკის ბილიკების ჩამოტვირთვის შემდეგ, გამოჩნდება საქაღალდეები"
+
+msgid "IDS_MUSIC_BODY_SETTINGS_VOLUME"
+msgstr "ხმის სიმაღლე"
+
+msgid "IDS_MUSIC_BODY_REPEAT_OFF"
+msgstr "გამეორება გამორთულია"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_REPEAT_ALL"
+msgstr "გამეორდეს ყველა"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_OFF"
+msgstr "შერევა გამორთულია"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_ON"
+msgstr "შერევა ჩართულია"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST"
+msgstr "ჩემი მუსიკალური სია"
+
+msgid "IDS_MUSIC_MBODY_DEFAULT_PLAYLISTS"
+msgstr "მუსიკის ნაგულისხმევი სია"
+
+msgid "IDS_MUSIC_BODY_DETAILS_RECORDING_DATE"
+msgstr "ჩაწერის მონაცემები"
+
+msgid "IDS_MUSIC_OPT_ALBUM_ART_ABB"
+msgstr "არტ-ალბომი"
+
+msgid "IDS_MUSIC_BODY_1_GENRE"
+msgstr "1 ჟანრი"
+
+msgid "IDS_MUSIC_BODY_PD_FOLDERS"
+msgstr "%d საქაღალდე"
+
+msgid "IDS_MUSIC_BODY_1_FOLDER"
+msgstr "1 საქაღალდე"
+
+msgid "IDS_MUSIC_BODY_1_ARTIST"
+msgstr "1 შემსრულებელი"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_M_MUSIC"
+msgstr "1 ალბომი"
+
+msgid "IDS_MUSIC_BODY_1_PLAYLIST"
+msgstr "1 მუსიკის სია"
+
+msgid "IDS_MUSIC_BODY_MUSIC_PLAYER"
+msgstr "პლეერი"
+
+msgid "IDS_MUSIC_BUTTON_MOVE"
+msgstr "გადატანა"
+
+msgid "IDS_MUSIC_BUTTON_AUTO_RECOMMENDATIONS"
+msgstr "ავტო რეკომენდაციები"
+
+msgid "IDS_MUSIC_BUTTON_FROM_THE_BEGINNING"
+msgstr "თავიდან"
+
+msgid "IDS_MUSIC_HEADER_SUGGESTIONS_FOR_YOU"
+msgstr "შეთავაზებები თქვენთვის"
+
+msgid "IDS_MUSIC_OPT_SAVE"
+msgstr "შენახვა"
+
+msgid "IDS_MUSIC_TAB4_BASIC_M_EQUALIZING"
+msgstr "ძირითადი"
+
+msgid "IDS_MUSIC_BODY_INSTRUMENT"
+msgstr "ინსტრუმენტი"
+
+msgid "IDS_MUSIC_BODY_TREBLE_M_EQUALISER"
+msgstr "დისკანტი"
+
+msgid "IDS_MUSIC_BODY_BASS_M_EQUALISER"
+msgstr "ბასი"
+
+msgid "IDS_MUSIC_BODY_NO_EFFECTS_ARE_APPLIED_IN_THIS_MODE_ABB"
+msgstr "ამ რეჟიმში არ ხდება ეფექტების გამოყენება."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_TIMBRE_OF_A_TUBE_AMP_ABB"
+msgstr "ახდენს ტემბრისა და ნათურის გამაძლიერებლის სიმულირებას."
+
+msgid "IDS_MUSIC_OPT_TUBE_AMP_EFFECT"
+msgstr "ხმის მილში გავლის ეფექტი"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_EFFECT_OF_VIRTUAL_71_CHANNEL_SURROUND_SOUND_ABB"
+msgstr "ახდენს ვირტუალური 7.1 არხის სტერეო ხმის ეფექტის სიმულირებას."
+
+msgid "IDS_MUSIC_HEADER_SMALL_ROOM_M_REVERB_ABB"
+msgstr "მცირე ოთახი"
+
+msgid "IDS_MUSIC_HEADER_LARGE_ROOM_M_REVERB_ABB"
+msgstr "დიდი ოთახი"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_LARGE_ROOM_EG_A_THEATRE_ABB"
+msgstr "ახდენს დიდი ოთახის ხმოვანი ეფექტის სიმულირებას, მაგ. თეატრის."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_CONCERT_HALL_ABB"
+msgstr "ახდენს საკონცერტო დარბაზის ხმის ეფექტის სიმულირებას."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_SMALL_SPACE_EG_A_STUDIO_ABB"
+msgstr "ახდენს მცირე სივრცის ეფექტის სიმულირებას, მაგ., სტუდიის."
+
+msgid "IDS_MUSIC_BUTTON_3D_CHN"
+msgstr "3D"
+
+msgid "IDS_MUSIC_BODY_CLARITY_M_SOUNDEFFECT"
+msgstr "სისუფთავე"
+
+msgid "IDS_MUSIC_BUTTON_RESET"
+msgstr "გაუქმება"
+
+msgid "IDS_MUSIC_TAB_YEARS"
+msgstr "წლები"
+
+msgid "IDS_MUSIC_TAB_GENRES"
+msgstr "ჟანრები"
+
+msgid "IDS_MUSIC_TAB_COMPOSERS"
+msgstr "კომპოზიტორები"
+
+msgid "IDS_MUSIC_TAB_ALL_TRACKS"
+msgstr "ყველა ბილიკი"
+
+msgid "IDS_MUSIC_SK3_GO_TO_QUICK_LIST"
+msgstr "სწრაფ სიაზე გად."
+
+msgid "IDS_MUSIC_SK3_FIND"
+msgstr "ძებნა"
+
+msgid "IDS_MUSIC_SK3_ADD_TO_QUICK_LIST"
+msgstr "სწრაფ სიაზე დამ."
+
+msgid "IDS_MUSIC_POP_UNAUTHORISED_VIDEO_FILE_FOR_TV_OUT"
+msgstr "ვიდეო ფაილი არ არის გათვალისწინებული სატელევიზიო ფორმატში გამოსაყენებლად."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_CREATE_MAXIMUM_NUMBER_OF_PLAYLISTS_REACHED"
+msgstr "ვერ შექმნით. მიღწეულია მუსიკის სიების მაქსიმალური რაოდენობა."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTING_BLUETOOTH_HEADSET"
+msgstr "ხმას ვერ დაარეგულირებთ, როდესაც მიერთებულია Bluetooth გარნიტურა."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTED_TO_BLUETOOTH_HEADSET"
+msgstr "ხმას ვერ დაარეგულირებთ, როდესაც მიერთებულია Bluetooth გარნიტურა."
+
+msgid "IDS_MUSIC_POP_STOP_MUSIC_PLAYER_Q"
+msgstr "გავაჩერო მაგნიტოფონი?"
+
+msgid "IDS_MUSIC_POP_PLEASE_EXIT_SILENT_MODE"
+msgstr "გთხოვთ, გამოხვიდეთ ჩუმი რეჟიმიდან."
+
+msgid "IDS_MUSIC_POP_NETWORK_FAILURE"
+msgstr "ქსელის შეცდომა."
+
+msgid "IDS_MUSIC_POP_MEMORY_CARD_LOADED"
+msgstr "მეხსიერების ბარათიდან ჩამოიტვირთა."
+
+msgid "IDS_MUSIC_POP_DEVICE_SETTINGS_ERROR"
+msgstr "აპარატის პარამეტრების შეცდომა."
+
+msgid "IDS_MUSIC_POP_COULD_NOT_FIND_A_MATCH_FOR_THE_SONG"
+msgstr "ვერ მოიძებნა შესაბამისი სიმღერა."
+
+msgid "IDS_MUSIC_POP_BUFFERING_MSTATUS"
+msgstr "ბუფერირება"
+
+msgid "IDS_MUSIC_POP_BT_HEADSET_ONLY_SUPPORTS_NORMAL_EFFECTS_SETTING"
+msgstr "BT გარნიტურაში ეფექტების მხოლოდ ნორმალური პარამეტრები მუშაობს."
+
+msgid "IDS_MUSIC_POP_APPLICATION_WILL_BE_CLOSED"
+msgstr "პროგრამა დაიხურება."
+
+msgid "IDS_MUSIC_POP_ADDED_GO_TO_WISH_LIST_Q"
+msgstr "დამატებულია. გადახვალთ სურვილების სიაში?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_THE_SERVICE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "სერვისზე წვდომა შეიძლება შეიცვალოს. განაგრძობთ?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_STORE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "მაღაზიაზე წვდომა შეიძლება ფასიანი იყოს. განაგრძობთ?"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_ONLY_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES"
+msgstr "5.1 არხის ხმოვანი ეფექტი მხოლოდ ყურმილისა და Bluetooth გარნიტურის რეჟიმში მუშაობს."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "5.1 არხის ხმოვანი ეფექტი მუშაობს მხოლოდ ყურმილის რეჟიმში."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECTS_NOT_SUPPORTED_BY_SPEAKER"
+msgstr "5.1 არხის ხმოვანი ეფექტები არ მუშაობს დინამიკით."
+
+msgid "IDS_MUSIC_OPT_VIEW_BY_COVER_ART"
+msgstr "დათვალიერება ალბომში"
+
+msgid "IDS_MUSIC_OPT_SEND_TRACK"
+msgstr "ბილიკის გაგზავნა"
+
+msgid "IDS_MUSIC_OPT_RATE_TRACK"
+msgstr "ბილიკის შეფასება"
+
+msgid "IDS_MUSIC_OPT_PLAYLIST_MOVE_TRACK_IN_PLAYLIST"
+msgstr "მუსიკის ბილიკის გადატანა დასაკრავ სიაში"
+
+msgid "IDS_MUSIC_OPT_OPENPLAYLIST_CURRENT"
+msgstr "ახლანდელი"
+
+msgid "IDS_MUSIC_OPT_DELETE_PLAYLIST"
+msgstr "მუსიკის სიის წაშლა"
+
+msgid "IDS_MUSIC_OPT_BACKGROUND_PLAYING"
+msgstr "მუსიკის დაკვრა ფონზე"
+
+msgid "IDS_MUSIC_HEADER_EFFECTS"
+msgstr "ეფექტები"
+
+msgid "IDS_MUSIC_BUTTON_BUY_NOW"
+msgstr "ყიდვა"
+
+msgid "IDS_MUSIC_BODY_WOW_HD"
+msgstr "Wow HD"
+
+msgid "IDS_MUSIC_BODY_WISHLIST"
+msgstr "სურვილების სია"
+
+msgid "IDS_MUSIC_BODY_WIDE"
+msgstr "ფართო"
+
+msgid "IDS_MUSIC_BODY_WHA_WHA"
+msgstr "ვაჰ-ვაჰ"
+
+msgid "IDS_MUSIC_BODY_VIBE_WOOFER"
+msgstr "დაბალსიხშირული ვიბრაცია"
+
+msgid "IDS_MUSIC_BODY_TREMOLO"
+msgstr "ხმის ვიბრირება"
+
+msgid "IDS_MUSIC_BODY_TAP_TWICE_TO_PLAY_PAUSE_MUSIC"
+msgstr "მუსიკის დაკვრა/პაუზა ორჯერ დაკაკუნებით."
+
+msgid "IDS_MUSIC_BODY_SHARE_TRACK_VIA_BLUETOOTH"
+msgstr "ბილიკის გაზიარება Bluetooth-ით"
+
+msgid "IDS_MUSIC_BODY_SETUPWIZARD_WELCOME_TO_THE_MUSIC_SETUP_WIZARD_CONTINUE_Q"
+msgstr "მოგესალმებათ მუსიკის პარამეტრთა ოსტატი.\nშემდეგი გვერდები დაგეხმარებათ ტელეფონის კონფიგურაციის შერჩევაში. განვაგრძო?"
+
+msgid "IDS_MUSIC_BODY_QUICK_LIST"
+msgstr "სწრაფი სია"
+
+msgid "IDS_MUSIC_BODY_PLAYINGSETTINGS_SOUND_EFFECTS"
+msgstr "ხმის ეფექტები"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_ALL"
+msgstr "ყველა"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_1"
+msgstr "1"
+
+msgid "IDS_MUSIC_BODY_PLAYERSETTINGS_VOLUME"
+msgstr "ხმის სიმაღლე"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_SELECTED"
+msgstr "არჩეულია მუსიკის %d ბილიკი."
+
+msgid "IDS_MUSIC_BODY_NO_PODCASTS"
+msgstr "პოდკასტები არ არის"
+
+msgid "IDS_MUSIC_BODY_FIND_SIMILAR"
+msgstr "მსგავსის ძებნა"
+
+msgid "IDS_MUSIC_BODY_BACKGROUND_PLAY"
+msgstr "ფონზე გაშვება"
+
+msgid "IDS_MUSIC_BODY_51_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "5.1 არხის გააქტიურება მხოლოდ მაშინაა შესაძლებელი, როდესაც გამორთულია ხმოვანი ეფექტები."
+
+msgid "IDS_MUSIC_TAB4_PODCASTS"
+msgstr "პოდკასტები"
+
+msgid "IDS_MUSIC_SK2_EDIT_IMAGE"
+msgstr "სურათის რედაქტირება"
+
+msgid "IDS_MUSIC_POP_PLAYING_ANY_SOUNDS_WILL_STOP_AND_SAVE_YOUR_VOICE_RECORDING_PLAY_Q"
+msgstr "ნებისმიერი ხმის დაკვრის შემთხვევაში, შეჩერდება და შეინახება ხმოვანი ჩანაწერი. დაუკრავთ?"
+
+msgid "IDS_MUSIC_POP_MAXIMUM_NUMBER_OF_ITEMS_HPD_SELECTED"
+msgstr "არჩეულია ელემენტების მაქსიმალური რაოდენობა (%d)."
+
+msgid "IDS_MUSIC_POP_BLUETOOTH_DISCONNECTED"
+msgstr "Bluetooth გამორთულია."
+
+msgid "IDS_MUSIC_POP_5_1_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "5.1 არხის გააქტიურება მხოლოდ მაშინაა შესაძლებელი, როდესაც გამორთულია ხმოვანი ეფექტები."
+
+msgid "IDS_MUSIC_OPT_TAKE_PICTURE"
+msgstr "სურათის გადაღება"
+
+msgid "IDS_MUSIC_OPT_SHOW_MUSIC_VIEW_ABB"
+msgstr "მუსიკის ხედის ჩვენება"
+
+msgid "IDS_MUSIC_OPT_PAUSE"
+msgstr "პაუზა"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALBUM"
+msgstr "ალბომის დაკვრა"
+
+msgid "IDS_MUSIC_OPT_LIST_BY"
+msgstr "ჩამონათვალი პარამეტრით"
+
+msgid "IDS_MUSIC_OPT_HISTORY"
+msgstr "ისტორია"
+
+msgid "IDS_MUSIC_OPT_HIDE_MUSIC_VIEW_ABB"
+msgstr "მუსიკის ხედის დამალვა"
+
+msgid "IDS_MUSIC_OPT_FIND_TAG"
+msgstr "ჩანართის ძებნა"
+
+msgid "IDS_MUSIC_OPT_DROPBOX_CONTENT_ABB"
+msgstr "მასალა Dropbox-ში"
+
+msgid "IDS_MUSIC_OPT_CONTENT_ON_PHONE_ABB"
+msgstr "მასალა ტელეფონში"
+
+msgid "IDS_MUSIC_OPT_CHANGE_IMAGE"
+msgstr "სურათის შეცვლა"
+
+msgid "IDS_MUSIC_HEADER_DELETE_DROPBOX_DATA_ABB"
+msgstr "Dropbox მონაცემთა წაშლა"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_STREAM_YOUR_MUSIC_TO_DEVICES_USING_ALLSHARE"
+msgstr "შეგიძლიათ გამოიყენოთ AllShare და მოუსმინოთ მუსიკას აპარატით."
+
+msgid "IDS_MUSIC_BODY_VALIDITY"
+msgstr "ქმედითობა"
+
+msgid "IDS_MUSIC_BODY_TYPE_CNOUN"
+msgstr "ტიპი"
+
+msgid "IDS_MUSIC_BODY_THIS_WILL_DELETE_THE_FILE_FROM_THE_SERVER_AND_ANY_CONNECTED_DEVICES_AS_WELL"
+msgstr "ამით წაიშლება ფაილი სერვერზე და ნებისმიერ დაკავშირებულ მოწყობილობაშიც."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_ARTISTS"
+msgstr "შემსრულებლები"
+
+msgid "IDS_MUSIC_BODY_PLAYINGDETAILS_ALBUM_ART"
+msgstr "სამხატვრო ალბომი"
+
+msgid "IDS_MUSIC_BODY_OTHER_CONTENTS"
+msgstr "სხვა შინაარსები"
+
+msgid "IDS_MUSIC_BODY_NAME_TOO_LONG"
+msgstr "სახელი ძალზე გრძელია."
+
+msgid "IDS_MUSIC_BODY_MUSIC_CLARITY"
+msgstr "მუსიკის სისუფთავე"
+
+msgid "IDS_MUSIC_BODY_HIGH_VOLUMES_MAY_HARM_YOUR_HEARING_IF_YOU_LISTEN_FOR_A_LONG_TIME"
+msgstr "ხანგრძლივი დროით მუსიკის მაღალ ხმაზე მოსმენა შეიძლება გახდეს სმენის დაქვეითების მიზეზი."
+
+msgid "IDS_MUSIC_BODY_AVAILABLE_USES"
+msgstr "დასაშვები გამოყენება"
+
+msgid "IDS_MUSIC_TPOP_SOUND_EFFECTS_ONLY_AVAILABLE_WHILE_HEADPHONES_CONNECTED"
+msgstr "ხმოვანი ეფექტების გამოყენება შესაძლებელია მხოლოდ მაშინ, როდესაც მიერთებულია ყურსასმენი."
+
+msgid "IDS_ST_OPT_ADD_TO_YOUR_PERSONAL_STORAGE"
+msgstr "პერსონალურ მეხსიერებაში დამატება"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_YOUR_PERSONAL_STORAGE"
+msgstr "პერსონალური მეხსიერებიდან ამოშლა"
+
+msgid "IDS_ST_BODY_CONTEXTUAL_POP_UP_T_TALKBACK"
+msgstr "კონტექსტუალური დიალოგის სარკმელი"
+
+msgid "IDS_ST_BODY_A_CONTEXTUAL_POP_UP_IS_OPEN_DOUBLE_TAP_TO_CLOSE_IT_T_TALKBACK"
+msgstr "გახსნილია კონტექსტუალური დიალოგის სარკმელი. ორჯერ შეეხეთ და დაიხურება"
+
+msgid "IDS_ST_BODY_REPEAT_ONE"
+msgstr "ერთის გამეორება"
+
+msgid "IDS_ST_BUTTON_MOVING_ING"
+msgstr "გადატანა..."
+
+msgid "IDS_HS_BODY_SELECT_UP_TO_PD_ITEMS"
+msgstr "შეარჩიეთ მაქსიმუმ %d ელემენტი"
+
+msgid "IDS_CAM_BODY_TAB_T_TTS"
+msgstr "გრაფა"
+
+msgid "IDS_DLNA_OPT2_CHANGE_PLAYER"
+msgstr "პლეერის შეცვლა"
+
+msgid "IDS_BR_SK_TABS"
+msgstr "ჩანართები"
+
+msgid "IDS_MF_BODY_DROPBOX_ABB"
+msgstr "Dropbox"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "ავტომატური რეკომენდაციებით შეიძლება მოხდეს ამორჩევა ხმოვანი ფაილებიდან."
+
+msgid "IDS_MF_BODY_PARENT_RATING"
+msgstr "მშობლის შეფასება"
+
+msgid "IDS_VR_POP_FILE_NOT_FOUND"
+msgstr "ფაილი ვერ მოიძებნა."
+
+msgid "IDS_PB_POP_CALLER_RINGTONE_SAVED"
+msgstr "აბონენტის მელოდია შეინახა."
+
+msgid "IDS_MUSIC_BODY_BIT_DEPTH"
+msgstr "ბიტური სიღრმე"
+
+msgid "IDS_MUSIC_BODY_SIZE"
+msgstr "ზომა"
+
+msgid "IDS_MF_HEADER_PD_SELECTED"
+msgstr "%d არჩეულია"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_THIS_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "ამ აპარატში მუსიკის ბილიკების დამატების შემდეგ, ისინი გამოჩნდება აქ."
+
+msgid "IDS_MUSIC_TMBODY_LENGTH"
+msgstr "სიგრძე"
+
+msgid "IDS_MUSIC_POP_1_FOLDER_WILL_BE_DELETED"
+msgstr "1 საქაღალდე წაიშლება."
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "შინაარსი ცარიელია"
+
+msgid "IDS_MUSIC_ITAB4_FOLDERS"
+msgstr "საქაღალდე"
+
+msgid "IDS_MUSIC_HEADER_MY_PLAYLISTS_ABB"
+msgstr "ჩემი მუსიკის სიები"
+
+msgid "IDS_MP_BODY_SOUND_PLAYER"
+msgstr "პლეერი"
+
+msgid "IDS_MUSIC_OPT_SETTINGS"
+msgstr "პარამეტრები"
+
+msgid "IDS_MUSIC_POP_DELETING"
+msgstr "წაშლა..."
+
+msgid "IDS_MUSIC_POP_1_TRACK_WILL_BE_DELETED"
+msgstr "1 ბილიკი წაიშლება."
+
+msgid "IDS_MUSIC_POP_ALL_TRACKS_WILL_BE_DELETED"
+msgstr "ყველა ბილიკი წაიშლება"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_WILL_BE_DELETED"
+msgstr "%d ბილიკი წაიშლება."
+
+msgid "IDS_MUSIC_POP_1_PLAYLIST_WILL_BE_DELETED"
+msgstr "მუსიკის 1 სია წაიშლება."
+
+msgid "IDS_MUSIC_POP_PD_PLAYLISTS_WILL_BE_DELETED"
+msgstr "მუსიკის %d სია წაიშლება."
+
+msgid "IDS_MUSIC_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "%d ალბომი წაიშლება."
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS_WILL_BE_DELETED"
+msgstr "%d შემსრულებელი წაიშლება."
+
+msgid "IDS_MUSIC_POP_PD_FOLDERS_WILL_BE_DELETED"
+msgstr "%d საქაღალდე წაიშლება."
+
+msgid "IDS_ST_POP_CONNECTION_FAILED"
+msgstr "ვერ დაუკავშირდა."
+
+msgid "IDS_MUSIC_BODY_CLASSIC"
+msgstr "კლასიკური"
+
+msgid "IDS_MUSIC_BODY_ROCK"
+msgstr "როკი"
+
+msgid "IDS_MUSIC_BODY_JAZZ"
+msgstr "ჯაზი"
+
+msgid "IDS_MUSIC_BODY_POP"
+msgstr "ამოხტომა"
+
+msgid "IDS_MUSIC_BODY_AUTO"
+msgstr "ავტომატური"
+
+msgid "IDS_MUSIC_POP_CURRENT_SOUND_EFFECT_NOT_SUPPORTED_BY_HDMI"
+msgstr "ხმის ეს ეფექტი არ მუშაობს HDMI-ით."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_BLUETOOTH"
+msgstr "ხმოვანი ეფექტები არ მუშაობს Bluetooth-ით."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_LINE_OUT"
+msgstr "ხმოვანი ეფექტები არ მუშაობს გამომავალი სიგნალის რეჟიმში."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_HDMI"
+msgstr "ხმოვანი ეფექტები არ მუშაობს HDMI-ით."
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EFFECT"
+msgstr "ტემბრის გამაძლიერებელი"
+
+msgid "IDS_MUSIC_BODY_CUSTOM"
+msgstr "შერჩეული"
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EQUALISER_ABB"
+msgstr "გამაძლიერებელი"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d ბილიკი დაემატა მუსიკის სიას."
+
+msgid "IDS_MUSIC_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 ბილიკი დაემატა მუსიკის სიას"
+
+msgid "IDS_MUSIC_HEADER_ADD_TRACKS_TO_PLAYLIST_ABB"
+msgstr "მუსიკის სიაში ბილიკის დამატება"
+
+msgid "IDS_MUSIC_POP_PS_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "%s უკვე გამოყენებულია. ჩაწერეთ სხვა სახელი."
+
+msgid "IDS_MUSIC_TMBODY_DATE_OF_RECORDING"
+msgstr "ჩაწერის თარიღი"
+
+msgid "IDS_MBP_TPOP_TRACK_SET_AS_ALARM_TONE"
+msgstr "მუსიკის ბილიკი დაყენებულია სიგნალის მელოდიად."
+
+msgid "IDS_MUSIC_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "შედეგები არ მოიძებნა"
+
+msgid "IDS_MUSIC_OPT_DEFAULT_RINGTONE_ABB"
+msgstr "ნაგულისხმევი ზარის მელოდია"
+
+msgid "IDS_MUSIC_TPOP_TRACK_SET_AS_CALLER_RINGTONE"
+msgstr "მუსიკის ბილიკი დაყენებულია აბონენტის ზარის მელოდიად."
+
+msgid "IDS_MP_TPOP_TRACK_SET_AS_RINGTONE"
+msgstr "მუსიკის ბილიკი დაყენებულია ზარის მელოდიად."
+
+msgid "IDS_DLNA_BODY_ADD_TO_NOW_PLAYING_LIST"
+msgstr "მუსიკის მიმდინარე სიაში დამატება"
+
+msgid "IDS_MUSIC_TPOP_EQUALISER_SETTINGS_WILL_BE_APPLIED_WHILE_PLAYING_MUSIC"
+msgstr "მუსიკის დაკვრის დროს გამოყენებული იქნება ეკვალაიზერის პარამეტრები."
+
+msgid "IDS_ST_BODY_ALERT"
+msgstr "გაფრთხილება"
+
+msgid "IDS_IV_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 ალბომი წაიშლება."
+
+msgid "IDS_MUSIC_OPT_SD_CARD"
+msgstr "SDბარათი"
+
+msgid "IDS_MUSIC_SBODY_DEVICE_STORAGE"
+msgstr "აპარატის მეხსიერება"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE"
+msgstr "მუსიკის სიის სახელი უკვე გამოყენებულია."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_PD"
+msgstr "მუსიკის სია %d"
+
+msgid "IDS_MUSIC_HEADER_CREATE"
+msgstr "შექმნა"
+
+msgid "IDS_MUSIC_HEADER_EQUALISER_PRESET_ABB"
+msgstr "ეკვალაიზერის წინასწარი პარამეტრები"
+
+msgid "IDS_MUSIC_OPT_AUTOMATIC_M_EQUALIZER_EFFECT"
+msgstr "ავტომატური"
+
+msgid "IDS_MUSIC_OPT_CLASSICAL_M_EQUALIZER_EFFECT"
+msgstr "კლასიკური"
+
+msgid "IDS_MUSIC_HEADER_ENVIRONMENT_EFFECT_ABB"
+msgstr "გარემოს ეფექტი"
+
+msgid "IDS_VIDEO_POP_THE_FILE_TYPE_IS_NOT_SUPPORTED"
+msgstr "ფაილის ეს ტიპი არ არის გათვალისწინებული."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_CREATE_PLAYLISTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "როდესაც მუსიკის სიებს შექმნით, ისინი გამოჩნდება აქ."
+
+msgid "IDS_ST_HEADER_SELECT_AUDIO_DEVICE_ABB"
+msgstr "აირჩიეთ აუდიო მოწყობილობა"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "მუსიკის სიის სახელი უკვე გამოყენებულია. ჩაწერეთ სხვა სახელი."
+
+msgid "IDS_MUSIC_HEADER_SOUNDALIVE_ABB3"
+msgstr "SoundAlive"
+
+msgid "IDS_MUSIC_OPT_NOW_PLAYING_LIST"
+msgstr "ის მუსიკალური სია, რომელიც ახლა ჩართულია"
+
+msgid "IDS_MUSIC_OPT_SHOW_LYRICS"
+msgstr "ლექსების ჩვენება"
+
+msgid "IDS_MUSIC_OPT_HIDE_LYRICS"
+msgstr "ლექსის დამალვა"
+
+msgid "IDS_MUSIC_TPOP_UNABLE_TO_PLAY_MUSIC_DURING_CALLS"
+msgstr "ზარების დროს შეუძლებელია მუსიკის დაკვრა."
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "წაშლა"
+
+msgid "IDS_MUSIC_HEADER_SELECT"
+msgstr "არჩევა"
+
+msgid "IDS_TPLATFORM_OPT_NFC"
+msgstr "NFC"
+
+msgid "IDS_MUSIC_HEADER_UNABLE_TO_PLAY_TRACK"
+msgstr "ბილიკს ვერ დაუკრავთ"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "მზადაა"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "გაუქმება"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "წაშლა"
+
+msgid "IDS_MUSIC_POP_RENAME"
+msgstr "ხელახლა დასათაურება"
+
+msgid "IDS_MUSIC_OPT_MESSAGE"
+msgstr "შეტყობინება"
+
+msgid "IDS_MUSIC_SK_OK"
+msgstr "კი"
+
+msgid "IDS_MUSIC_SK_CANCEL"
+msgstr "გაუქმება"
+
+msgid "IDS_MUSIC_BUTTON_REFRESH"
+msgstr "განახლება"
+
+msgid "IDS_MUSIC_BODY_SELECT_ALL"
+msgstr "ყველას არჩევა"
+
+msgid "IDS_MUSIC_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_MUSIC_POP_DELETED"
+msgstr "წაშლილია."
+
+msgid "IDS_MUSIC_OPT_STOP"
+msgstr "შეჩერება"
+
+msgid "IDS_MUSIC_BODY_UNKNOWN"
+msgstr "უცნობი"
+
+msgid "IDS_MUSIC_BODY_TITLE"
+msgstr "სათაური"
+
+msgid "IDS_MUSIC_OPT_SENDVIA_EMAIL"
+msgstr "ელ-ფოსტა"
+
+msgid "IDS_MUSIC_OPT_BLUETOOTH"
+msgstr "Bluetooth"
+
+msgid "IDS_MUSIC_HEADER_DOWNLOAD"
+msgstr "ჩამოტვირთვა"
+
+msgid "IDS_MUSIC_POP_LOW_BATTERY"
+msgstr "კვების ელემენტი იცლება."
+
+msgid "IDS_MUSIC_HEADER_AUDIO_DEVICE"
+msgstr "აუდიო მოწყობილობა"
+
+msgid "IDS_MUSIC_HEADER_DETAILS"
+msgstr "დეტალები"
+
+msgid "IDS_MUSIC_OPT_END"
+msgstr "დასასრული"
+
+msgid "IDS_MUSIC_OPT_EDIT"
+msgstr "შეცვლა"
+
+msgid "IDS_CAM_HEADER_UPDATED"
+msgstr "განახლდა."
+
+msgid "IDS_MUSIC_POP_REMOVED"
+msgstr "წაშლილია."
+
+msgid "IDS_MUSIC_OPT_SELECTED"
+msgstr "შერჩეული"
+
+msgid "IDS_ST_BUTTON_SCAN"
+msgstr "სკანირება"
+
+msgid "IDS_MF_POP_ERROR"
+msgstr "შეცდომა"
+
+msgid "IDS_MF_POP_MEMORY_FULL"
+msgstr "მეხსიერება შევსებულია."
+
+msgid "IDS_MUSIC_MBODY_QUEUE"
+msgstr "რიგი"
+
+msgid "IDS_MUSIC_OPT_VOLUME"
+msgstr "ხმის სიმაღლე"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE"
+msgstr "გადანაცვლება"
+
+msgid "IDS_MUSIC_OPT_REPEAT"
+msgstr "გამეორება"
+
+msgid "IDS_COM_BODY_DETAILS"
+msgstr "Details"
+
+msgid "IDS_COM_BODY_DETAILS_TITLE"
+msgstr "Title"
+
+msgid "IDS_COM_BODY_EDIT"
+msgstr "Edit"
+
+msgid "IDS_COM_BODY_EMAIL"
+msgstr "Email"
+
+msgid "IDS_COM_BODY_END"
+msgstr "End"
+
+msgid "IDS_COM_BODY_FOLDERS"
+msgstr "Folders"
+
+msgid "IDS_COM_BODY_GALLERY"
+msgstr "Gallery"
+
+msgid "IDS_COM_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_COM_BODY_LOADING"
+msgstr "Loading..."
+
+msgid "IDS_COM_BODY_LOW_BATTERY"
+msgstr "Low battery."
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Message"
+
+msgid "IDS_COM_BODY_MUSIC"
+msgstr "Music"
+
+msgid "IDS_COM_BODY_NFC"
+msgstr "NFC"
+
+msgid "IDS_COM_BODY_NO_CONTENTS"
+msgstr "No content"
+
+msgid "IDS_COM_BODY_PAUSE"
+msgstr "Pause"
+
+msgid "IDS_COM_BODY_PD_SELECTED"
+msgstr "%d selected."
+
+msgid "IDS_COM_BODY_PREVIOUS"
+msgstr "Previous"
+
+msgid "IDS_COM_BODY_RESET_A"
+msgstr "Reset"
+
+msgid "IDS_COM_BODY_SELECTED"
+msgstr "Selected"
+
+msgid "IDS_COM_BODY_SELECT_ALL"
+msgstr "Select all"
+
+msgid "IDS_COM_BODY_SETTINGS"
+msgstr "Settings"
+
+msgid "IDS_COM_BODY_TIME"
+msgstr "Time"
+
+msgid "IDS_COM_BODY_UNABLE_TO_ADD"
+msgstr "Unable to add."
+
+msgid "IDS_COM_BODY_UNKNOWN"
+msgstr "Unknown"
+
+msgid "IDS_COM_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_COM_BUTTON_SCAN"
+msgstr "Scan"
+
+msgid "IDS_COM_BUTTON_SHARE"
+msgstr "Share"
+
+msgid "IDS_COM_HEADER_AUDIO_DEVICE_ABB"
+msgstr "Audio device"
+
+msgid "IDS_COM_OPT_ADDED"
+msgstr "Added."
+
+msgid "IDS_COM_OPT_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_POP_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_POP_CONNECTION_FAILED"
+msgstr "Connection failed."
+
+msgid "IDS_COM_POP_DELETED"
+msgstr "Deleted."
+
+msgid "IDS_COM_POP_DELETE_Q"
+msgstr "Delete?"
+
+msgid "IDS_COM_POP_DONE"
+msgstr "Done"
+
+msgid "IDS_COM_POP_DOWNLOADING"
+msgstr "Downloading..."
+
+msgid "IDS_COM_POP_ERROR"
+msgstr "Error."
+
+msgid "IDS_COM_POP_FAILED"
+msgstr "Failed."
+
+msgid "IDS_COM_POP_FILE_NOT_EXIST"
+msgstr "This file does not exist."
+
+msgid "IDS_COM_POP_FILE_NOT_FOUND"
+msgstr "File not found."
+
+msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximum number of characters reached."
+
+msgid "IDS_COM_POP_MEMORY_FULL"
+msgstr "Memory full."
+
+msgid "IDS_COM_POP_REMOVED"
+msgstr "Removed."
+
+msgid "IDS_COM_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Unable to use during Mass storage mode."
+
+msgid "IDS_COM_POP_UPDATED"
+msgstr "Updated."
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_SK_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_SK_DOWNLOAD"
+msgstr "Download"
+
+msgid "IDS_COM_SK_NEW"
+msgstr "New"
+
+msgid "IDS_COM_SK_NEXT"
+msgstr "Next"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_SK_REFRESH"
+msgstr "Refresh"
+
+msgid "IDS_COM_SK_REMOVE"
+msgstr "Remove"
+
+msgid "IDS_COM_SK_SAVE"
+msgstr "Save"
+
+msgid "IDS_COM_SK_SELECT"
+msgstr "Select"
+
+msgid "IDS_COM_SK_SET"
+msgstr "Set"
+
+msgid "IDS_COM_SK_STOP"
+msgstr "Stop"
+
+
+msgid "IDS_MH_BODY_THE_PLAYLIST_NAME_PS_IS_ALREADY_IN_USE"
+msgstr "The playlist name %s is already in use."
+
+msgid "IDS_MH_BODY_TOTAL"
+msgstr "Total"
+
+msgid "IDS_MH_MBODY_RECENTLY_ADDED_M_SONG"
+msgstr "Recently added"
+
+msgid "IDS_MH_OPT_MORE_INFO_ABB"
+msgstr "More info"
+
+msgid "IDS_MH_POP_ALARM_TONE_SET"
+msgstr "Alarm tone set."
+
+msgid "IDS_MH_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 track added to playlist."
+
+msgid "IDS_MH_TPOP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d tracks added to playlist."
+
+msgid "IDS_MUSIC_OPT_RENAME"
+msgstr "Rename"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Unable to play during call."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "გადაჭარბებულია ფაილების მაქსიმალური ზომა."
+
+msgid "IDS_CAM_TPOP_UNABLE_TO_PLAY_MUSIC_WHILE_RECORDING_AUDIO_OR_VIDEO"
+msgstr "მუსიკის დაკვრა შეუძლებელია, როდესაც გაშვებულია აუდიო ან ვიდეო."
+
--- /dev/null
+msgid "IDS_ST_BODY_LOADING_ING"
+msgstr "Жазылуда..."
+
+msgid "IDS_GALLERY_OPT_PRIVATE_M_CONTENT"
+msgstr "Жеке аумақ"
+
+msgid "IDS_MF_BODY_TIME"
+msgstr "Уақыт"
+
+msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
+msgstr "Файл жоқ."
+
+msgid "IDS_MUSIC_POP_PHONE_RINGTONE"
+msgstr "Телефонның қоңырау үні"
+
+msgid "IDS_MUSIC_BODY_DURATION"
+msgstr "Ұзақтығы"
+
+msgid "IDS_MUSIC_BODY_MUSIC_LOCATION"
+msgstr "Орналасу орны"
+
+msgid "IDS_MUSIC_BODY_SET_AS_M_RINGTONE"
+msgstr "Орнату"
+
+msgid "IDS_ST_OPT_ADD_TO_PERSONAL_PAGE"
+msgstr "Жеке бет қосу"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_PERSONAL_PAGE_ABB"
+msgstr "Жеке беттен жою"
+
+msgid "IDS_ST_POP_MOVE_TO_NORMAL_STORAGE"
+msgstr "Қалыпты сақтау орнына жылжыту"
+
+msgid "IDS_ST_POP_MOVE_TO_PERSONAL_STORAGE"
+msgstr "Жеке сақтау орнына жылжыту"
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEMS_WILL_BE_MOVED_TO_PS"
+msgstr "Таңдалған элементтер %s орнына жылжытылады."
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEM_WILL_BE_MOVED_TO_PS"
+msgstr "Таңдалған элемент %s орнына жылжытылады."
+
+msgid "IDS_VR_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Жалпы сақтау режимінде пайдалану мүмкін емес."
+
+msgid "IDS_MUSIC_POP_RINGTONE_ADDED"
+msgstr "Қоңырау үні қосылды."
+
+msgid "IDS_CAM_BODY_BUTTON_T_TTS"
+msgstr "Түйме"
+
+msgid "IDS_MUSIC_HEADER_SELECT_ITEMS"
+msgstr "Элементтерді таңдау"
+
+msgid "IDS_ST_BODY_ADVANCED"
+msgstr "Қосымша"
+
+msgid "IDS_ST_SK_PREVIOUS"
+msgstr "Алдыңғы"
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Жабу"
+
+msgid "IDS_MUSIC_POP_ADDED"
+msgstr "Қосылды"
+
+msgid "IDS_MUSIC_POP_FAILED"
+msgstr "Үзіліп кетті"
+
+msgid "IDS_MUSIC_BODY_NO_SEARCH_RESULTS"
+msgstr "Іздеу нәтижелері жоқ"
+
+msgid "IDS_MUSIC_SK_DONE"
+msgstr "Дайын"
+
+msgid "IDS_MUSIC_BODY_NO_ITEMS"
+msgstr "Баптар жоқ"
+
+msgid "IDS_BR_OPT_ADD_TO_HOME"
+msgstr "Бастапқы бетке қосу"
+
+msgid "IDS_BR_SK_NEXT"
+msgstr "Сосын"
+
+msgid "IDS_BR_BODY_DOWNLOADING_ING"
+msgstr "Жазылуда..."
+
+msgid "IDS_IV_BODY_FAVOURITE"
+msgstr "Сүйікті"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_PERSONAL_STORAGE"
+msgstr "Жеке қоймаға қосу"
+
+msgid "IDS_DLNA_POP_DISCONNECTED_FROM_PS_CHECK_THE_NETWORK_STATUS_AND_THE_CONNECTED_DEVICE"
+msgstr "%s құрылғысынан ажыратылды. Желінің күйі мен қосылған құрылғыны тексеріңіз"
+
+msgid "IDS_DLNA_OPT_VIA_SCREEN_MIRRORING_ABB"
+msgstr "Screen Mirroring арқылы"
+
+msgid "IDS_DLNA_OPT_VIA_HOME_NETWORK_ABB"
+msgstr "Үй желісі арқылы"
+
+msgid "IDS_IV_POP_ENTRY_IS_EMPTY"
+msgstr "Енгізбе бос."
+
+msgid "IDS_FM_POP_UNAVAILABLE_DURING_CALL"
+msgstr "Қоңырау барысында болмайды."
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Таңбалардың ен көп саны артты."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_SHARE_DRM_FILE"
+msgstr "DRM файлын бөлісу мүмкін емес."
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Шығаруда..."
+
+msgid "IDS_MUSIC_HEADER_PD_DEVICES"
+msgstr "%d құрылғы"
+
+msgid "IDS_MUSIC_BUTTON_ENABLE_MOTION"
+msgstr "Қозғалыс қосу"
+
+msgid "IDS_MUSIC_BUTTON_DONT_ASK_AGAIN"
+msgstr "Қайтадан сұрамаңыз"
+
+msgid "IDS_MUSIC_BODY_NO_RESULTS_FOUND"
+msgstr "Ешқандай нәтиже табылмады."
+
+msgid "IDS_VPL_OPT_HDMI"
+msgstr "HDMI"
+
+msgid "IDS_MUSIC_BODY_TURN_PHONE_OVER_TO_MUTE_INCOMING_CALLS_MESSAGE_ALERTS_AND_ALARMS"
+msgstr "Келген қоңыраулардың, хабар сигналдарының және дабылдардың дыбысын өшіру үшін телефонды аударыңыз."
+
+msgid "IDS_ST_BODY_NONE"
+msgstr "Жоқ"
+
+msgid "IDS_ST_BODY_INTERNET"
+msgstr "Шолушы"
+
+msgid "IDS_ST_BODY_GALLERY"
+msgstr "Галерея"
+
+msgid "IDS_ST_BODY_DOUBLE_TAP_TO_MOVE_TO_CONTENT_T_TTS"
+msgstr "Мазмұнды жылжыту үшін, екі рет түртіңіз."
+
+msgid "IDS_MUSIC_BODY_SURROUND"
+msgstr "Көлемді дыбыс"
+
+msgid "IDS_MUSIC_OPT_LYRICS_ABB"
+msgstr "Лирика"
+
+msgid "IDS_MUSIC_POP_AFTER_YOU_ADD_TRACKS_TO_MUSIC_ON_YOUR_MOBILE_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Тректерді ұялы телефондағы Музыкаға қосқаннан кейін олыр мына жерде көрсетіледі."
+
+msgid "IDS_MUSIC_BODY_SAMPLING_RATE"
+msgstr "Іріктеу жиілігі"
+
+msgid "IDS_MUSIC_BODY_MARKED_AS_A_FAVOURITE"
+msgstr "Таңдаулы ретінде белгіленген."
+
+msgid "IDS_MUSIC_BODY_MUSIC"
+msgstr "Музыка"
+
+msgid "IDS_MUSIC_BODY_NOT_MARKED_AS_A_FAVOURITE"
+msgstr "Таңдаулы ретінде белгіленбеген."
+
+msgid "IDS_MUSIC_HEADER_SEARCH_MUSIC_ABB"
+msgstr "Музыка іздеу"
+
+msgid "IDS_MUSIC_POP_AUTO_RECOMMENDATION_DOES_NOT_SUPPORT_THIS_AUDIO_FILE"
+msgstr "Авто ұсыныс бұл аудио файлын қолданбайды."
+
+msgid "IDS_MUSIC_POP_SORRY_THE_PLAYER_DOES_NOT_SUPPORT_THIS_TYPE_OF_AUDIO_FILE"
+msgstr "Кешіріңіз, ойнатқышта мұндай аудио файл болмайды."
+
+msgid "IDS_MUSIC_BODY_FAVOURITES"
+msgstr "Таңдаулылар"
+
+msgid "IDS_MUSIC_BODY_MOST_PLAYED"
+msgstr "Әйгілі файлдар"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_ADDED"
+msgstr "Соңғы қосылғандар"
+
+msgid "IDS_MUSIC_OPT_CREATE_PLAYLIST"
+msgstr "Әндер тізімін құру"
+
+msgid "IDS_MUSIC_OPT_REMOVE"
+msgstr "Жоғалту"
+
+msgid "IDS_MUSIC_OPT_SETAS_CALLER_RINGTONE"
+msgstr "Телефон шалушы әуені"
+
+msgid "IDS_MUSIC_TAB4_ARTISTS"
+msgstr "Орындаушылар"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD"
+msgstr "Қосу мүмкін емес."
+
+msgid "IDS_MUSIC_POP_UNABLE_CREATE_PLAYLIST"
+msgstr "Ойнату тізімін құру мүмкін емес."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_GET_TAG"
+msgstr "Тег алу мүмкін емес."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_MORE_THAN_PD_MUSIC_FILE"
+msgstr "Музыкалық файл қосудың реті келмеді: %d артық емес."
+
+msgid "IDS_MUSIC_BODY_ALBUM"
+msgstr "Альбом"
+
+msgid "IDS_MUSIC_BODY_AUTHOR"
+msgstr "Aвтор"
+
+msgid "IDS_MUSIC_BODY_COPYRIGHT"
+msgstr "Авторлық құқықтар"
+
+msgid "IDS_MUSIC_BODY_CREATE_PLAYLIST"
+msgstr "Әндер тізімін құру"
+
+msgid "IDS_MUSIC_BODY_DESCRIPTION"
+msgstr "Сипаттама"
+
+msgid "IDS_MUSIC_BODY_FORMAT"
+msgstr "Форматтау"
+
+msgid "IDS_MUSIC_BODY_IMPOSSIBLE"
+msgstr "Мүмкін емес"
+
+msgid "IDS_MUSIC_BODY_NO_PLAYLISTS"
+msgstr "Ойнату тізімі жоқ"
+
+msgid "IDS_MUSIC_BODY_TRACK_NUMBER"
+msgstr "Нөмір жолағы"
+
+msgid "IDS_MUSIC_POP_DELETE_Q"
+msgstr "Өшіресіз бе?"
+
+msgid "IDS_MUSIC_POP_REMOVE_Q"
+msgstr "Жоясыз ба?"
+
+msgid "IDS_MUSIC_POP_UNABLE_RENAME_PLAYLIST"
+msgstr "Ойнату тізімін атын өзгерту мүмкін емес."
+
+msgid "IDS_MUSIC_TAB4_ALBUMS"
+msgstr "Альбомдар"
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Қосылуда..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "%d альбомды жою керек пе?"
+
+msgid "IDS_MUSIC_TAB4_PLAYLISTS"
+msgstr "Файл тізімдері"
+
+msgid "IDS_MUSIC_OPT_ADD"
+msgstr "Қосу"
+
+msgid "IDS_MUSIC_BODY_BIOGRAPHY"
+msgstr "Өмірбаян"
+
+msgid "IDS_MUSIC_BODY_CREDITS"
+msgstr "Орындаушылар құрамы"
+
+msgid "IDS_MUSIC_BODY_DETAILS_MEADIA_INFO"
+msgstr "Медиялық ақпарат"
+
+msgid "IDS_MUSIC_BODY_DISCOGRAPHY"
+msgstr "Дискография"
+
+msgid "IDS_MUSIC_BODY_LYRIC"
+msgstr "Лирикалық"
+
+msgid "IDS_MUSIC_BODY_POSSIBLE"
+msgstr "Мүмкін"
+
+msgid "IDS_MUSIC_BODY_REVIEW"
+msgstr "Қарап шығу"
+
+msgid "IDS_MUSIC_HEADER_TRACK_LIST"
+msgstr "Тректер тізімі"
+
+msgid "IDS_MUSIC_BODY_ADD_TO_PLAYLIST"
+msgstr "Ойнату тізіміне қосу"
+
+msgid "IDS_MUSIC_BODY_ARTIST"
+msgstr "Орындаушы"
+
+msgid "IDS_MUSIC_BODY_FORWARDING"
+msgstr "Басқа біреуге жіберу"
+
+msgid "IDS_MUSIC_BODY_RECORDED_DATE"
+msgstr "Date of recording"
+
+msgid "IDS_MUSIC_BODY_PLAYLISTS"
+msgstr "Әндер тізімі"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_PLAYED"
+msgstr "Соңғы файлдар"
+
+msgid "IDS_MUSIC_BODY_TRACK_LENGTH"
+msgstr "Ұзақтығы"
+
+msgid "IDS_MUSIC_HEADER_NO_SONGS"
+msgstr "Өлеңдер жоқ"
+
+msgid "IDS_MUSIC_POP_THIS_TRACK_WILL_BE_DELETED"
+msgstr "Бұл трек жойылады."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_TRACKS_WILL_BE_DELETED"
+msgstr "Таңдалған тректер жойылады."
+
+msgid "IDS_MUSIC_POP_THIS_ARTIST_WILL_BE_DELETED"
+msgstr "Бұл орындаушы жойылады."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ARTISTS_WILL_BE_DELETED"
+msgstr "Таңдалған орындаушылар жойылады."
+
+msgid "IDS_MUSIC_POP_ALL_ARTISTS_WILL_BE_DELETED"
+msgstr "Барлық орындаушылар жойылады."
+
+msgid "IDS_MUSIC_POP_THIS_FOLDER_WILL_BE_DELETED"
+msgstr "Бұл қалта жойылады."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_FOLDERS_WILL_BE_DELETED"
+msgstr "Таңдалған қалталар жойылады."
+
+msgid "IDS_MUSIC_POP_ALL_FOLDERS_WILL_BE_DELETED"
+msgstr "Барлық қалталар жойылады."
+
+msgid "IDS_MUSIC_POP_THIS_ALBUM_WILL_BE_DELETED"
+msgstr "Бұл альбом жойылады."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ALBUMS_WILL_BE_DELETED"
+msgstr "Таңдалған альбомдар жойылады."
+
+msgid "IDS_MUSIC_POP_ALL_ALBUMS_WILL_BE_DELETED"
+msgstr "Барлық альбомдар жойылады."
+
+msgid "IDS_MUSIC_POP_THIS_PLAYLIST_WILL_BE_DELETED"
+msgstr "Бұл әндер тізімі жойылады."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Таңдалған әндер тізімдері жойылады."
+
+msgid "IDS_MUSIC_POP_ALL_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Барлық әндер тізімдері жойылады."
+
+msgid "IDS_MUSIC_HEADER_SONGS"
+msgstr "Әндер"
+
+msgid "IDS_MUSIC_OPT_REORDER"
+msgstr "Қайта тапсырыс беру"
+
+msgid "IDS_MUSIC_OPT_SAVE_AS_PLAYLIST"
+msgstr "Файлдар тізімі ретінде сақтау"
+
+msgid "IDS_MUSIC_OPT_SETAS_ALARM_TONE"
+msgstr "Сигнал дыбысы"
+
+msgid "IDS_MUSIC_POP_NOTHING_SELECTED"
+msgstr "Ештенке таңдалмады."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Ойнату мүмкін емес. Қате пайда болды."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_UNSUPPORTED_FILETYPE"
+msgstr "Ойнату мүмкін емес. Файл түріне қолдау жоқ."
+
+msgid "IDS_MUSIC_SK_SHARE"
+msgstr "Бөлісу"
+
+msgid "IDS_MUSIC_TAB4_CONDUCTORS"
+msgstr "Дирижерлар"
+
+msgid "IDS_MUSIC_HEADER_SELECT_DEVICE"
+msgstr "Құрылғыны таңдау"
+
+msgid "IDS_MUSIC_SK_VIEW_AS"
+msgstr "Бас. көру"
+
+msgid "IDS_MUSIC_BODY_SOUNDEFFECTS_NORMAL"
+msgstr "Қалыпты"
+
+msgid "IDS_MUSIC_BODY_USER"
+msgstr "Тұтыныш"
+
+msgid "IDS_MUSIC_BODY_VOCAL_M_SOUNDEFFECT"
+msgstr "Вокал"
+
+msgid "IDS_MUSIC_MBODY_BASS_BOOST"
+msgstr "Басс күшейту"
+
+msgid "IDS_MUSIC_MBODY_TREBLE_BOOST"
+msgstr "Жоғары жиілікті күшейту"
+
+msgid "IDS_MUSIC_BODY_CAFE_M_SOUNDEFFECT"
+msgstr "Кафе"
+
+msgid "IDS_MUSIC_OPT_VIRTUAL_71_CH"
+msgstr "Виртуалды 7.1 арна"
+
+msgid "IDS_MUSIC_OPT_AFTER_15_MIN_ABB"
+msgstr "15 мин кейін"
+
+msgid "IDS_MUSIC_BODY_AFTER_30_MIN"
+msgstr "30 минуттан кейін"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HOUR"
+msgstr "1 сағаттан кейін"
+
+msgid "IDS_MUSIC_POP_AFTER_1_HOUR_30_MIN"
+msgstr "1 сағат 30 мин кейін"
+
+msgid "IDS_MUSIC_BODY_AFTER_2_HOURS"
+msgstr "2 сағаттан кейін"
+
+msgid "IDS_MUSIC_BODY_MUSIC_AUTO_OFF"
+msgstr "Музыканы авто өшіру"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES_ONLY"
+msgstr "Бұл дыбыс әсері тек құлақаспап және Bluetooth гарнитурасы режимдерінде істейді."
+
+msgid "IDS_MUSIC_TAB4_MUSIC_SQUARE"
+msgstr "Музыка. квадрат"
+
+msgid "IDS_MUSIC_POP_NOT_ENOUGH_MUSIC_FILES_TO_PLAY_IN_MUSIC_SQUARE_AT_LEAST_PD_MUSIC_FILES_REQUIRED"
+msgstr "Музыкалық квадратта ойнатуға музыкалық файлдар жеткілікті емес. Кемінде %d музыкалық файл қажетті."
+
+msgid "IDS_MUSIC_BODY_PASSION_M_MOOD"
+msgstr "Құмарлық"
+
+msgid "IDS_MUSIC_BODY_CALM_M_ADJECTIVE"
+msgstr "Тыныш"
+
+msgid "IDS_MUSIC_BODY_JOY_M_MOOD"
+msgstr "Қуаныш"
+
+msgid "IDS_MUSIC_BODY_LIBRARY_UPDATE"
+msgstr "Кітапхана жаңарту"
+
+msgid "IDS_MUSIC_POP_UPDATE_LIBRARY_Q"
+msgstr "Кітапхананы жаңарту керек пе?"
+
+msgid "IDS_MUSIC_BODY_CHANGE_AXIS"
+msgstr "Осін өзгерту"
+
+msgid "IDS_MUSIC_ITAB4_GENRES"
+msgstr "Жанрлар"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_1_TRACK"
+msgstr "1 альбом/1 трек"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_PD_TRACKS"
+msgstr "1 альбом/%d трек"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS_PD_TRACKS"
+msgstr "%d альбом/%d трек"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_CONTROL_MUSIC_PLAYER_WITH_THE_VOICE_COMMANDS_P1SS_P2SS_P3SS_P4SS_P5SS_AND_P6SS"
+msgstr "%1$s, %2$s, %3$s, %4$s, %5$s және %6$s дауыстық командаларымен музыкалық ойнатқышты басқаруға болады."
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_PD_TRACKS"
+msgstr "%d тректі кездейсоқ тәртіпте"
+
+msgid "IDS_MUSIC_BODY_MORE_INFO"
+msgstr "Қосымша ақпарат"
+
+msgid "IDS_MUSIC_HEADER_MY_MUSIC_M_APPLICATION_NAME"
+msgstr "Музыка"
+
+msgid "IDS_MUSIC_OPT_LIST_VIEW"
+msgstr "Тізімдік көрініс"
+
+msgid "IDS_MUSIC_OPT_PLAY_VIA_GROUP_PLAY"
+msgstr "Group Play арқылы ойнату"
+
+msgid "IDS_MUSIC_POP_TRACK_ADDED_TO_FAVOURITES"
+msgstr "Трек таңдаулыларға қосылды."
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_FAVOURITES"
+msgstr "Ұнамдылардын шығарып тастау"
+
+msgid "IDS_MUSIC_BODY_NEW_M_LATEST"
+msgstr "Жаңа"
+
+msgid "IDS_MUSIC_OPT_TRACKS"
+msgstr "Саздар"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL"
+msgstr "Кіші сурет"
+
+msgid "IDS_MUSIC_SK_LIST"
+msgstr "Тізім"
+
+msgid "IDS_MUSIC_SK_OPEN_PLAYLIST"
+msgstr "Әндер тізімін ашу ашу"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALL"
+msgstr "Бәрін ойнату"
+
+msgid "IDS_MUSIC_POP_SELECTED_LIST_EMPTY"
+msgstr "Таңдалған тізім бос."
+
+msgid "IDS_MUSIC_BODY_MOODS"
+msgstr "Қөңілдер"
+
+msgid "IDS_MUSIC_BUTTON_YEARS"
+msgstr "Жылдар"
+
+msgid "IDS_MUSIC_BODY_OLD"
+msgstr "Ескі"
+
+msgid "IDS_MUSIC_BODY_MUSIC_SQUARE_ANALYSES_THE_CHARACTERISTICS_OF_MUSIC_FILES_STORED_ON_YOUR_DEVICE_AND_AUTOMATICALLY_CREATES_PLAYLISTS_MSG"
+msgstr "Музыкалық квадрат құрылғыңызға сақталған музыкалық файлдар сипаттамасын талдап, әндер тізімін автоматты түрде құрады."
+
+msgid "IDS_MUSIC_BODY_PLAY_TRACKS_WITH_SIMILAR_CHARACTERISTICS_BY_SELECTING_A_SQUARE_ON_THE_SCREEN"
+msgstr "Экраннан квадрат таңдау арқылы сипаттамалары ұқсас әндер тізімін ойнатыңыз."
+
+msgid "IDS_MUSIC_BODY_VIEW_PLAYLIST_DETAILS_BY_TAPPING_AND_HOLDING_THE_SQUARE_CURRENTLY_BEING_PLAYED"
+msgstr "Қазір ойнап тұрған квадратты түртіп ұстап тұру арқылы әндер тізімінің мәліметтерін көріңіз."
+
+msgid "IDS_MUSIC_BODY_NEARBY_DEVICES"
+msgstr "Жақын құрылғылар"
+
+msgid "IDS_MUSIC_POP_YOU_WILL_NEED_TO_UPDATE_THE_LIBRARY_IF_NEW_SONGS_HAVE_BEEN_ADDED"
+msgstr "Жаңа өлеңдер қосылған жағдайда кітапхананы жаңарту қажет."
+
+msgid "IDS_MUSIC_BODY_NO_ALBUMS"
+msgstr "Альбомдар жоқ"
+
+msgid "IDS_MUSIC_BODY_NO_ARTISTS"
+msgstr "Орындаушылар жоқ"
+
+msgid "IDS_MUSIC_OPT_PLAY_SPEED_ABB"
+msgstr "Ойнату жылдамдығы"
+
+msgid "IDS_MUSIC_BODY_CONCERT_HALL_M_SOUNDEFFECT"
+msgstr "Концерт залы"
+
+msgid "IDS_MUSIC_OPT_ADD_TO"
+msgstr "Қосу"
+
+msgid "IDS_MUSIC_SK_VIEW"
+msgstr "Көрініс"
+
+msgid "IDS_MUSIC_OPT_LISTBY_RECENTLY_ADDED"
+msgstr "Соңғы қосылғандар"
+
+msgid "IDS_MUSIC_BODY_NOT_USED"
+msgstr "Пайдаланылмаған"
+
+msgid "IDS_MUSIC_BODY_MAKE_AVAILABLE_OFFLINE"
+msgstr "Өшірулі кезде қол жетімді ету"
+
+msgid "IDS_MUSIC_OPT_AFTER_P1SD_HRS_P2SD_MINS"
+msgstr "%1$d сағ %2$d мин өткеннен кейін"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS"
+msgstr "%d сағ кейін"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_MINS"
+msgstr "%d мин кейін"
+
+msgid "IDS_MUSIC_BODY_NO_FOLDERS"
+msgstr "Қалталар жоқ"
+
+msgid "IDS_MUSIC_BODY_NO_TRACKS"
+msgstr "Трек жоқ"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS"
+msgstr "%d альбом"
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS"
+msgstr "%d орындаушы"
+
+msgid "IDS_MUSIC_BODY_PD_GENRES"
+msgstr "%d жанр"
+
+msgid "IDS_MUSIC_BODY_PD_PLAYLISTS"
+msgstr "%d ән тізімі"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_ABB"
+msgstr "%d трек"
+
+msgid "IDS_MUSIC_BODY_PLAYLIST"
+msgstr "Әндер тізімі"
+
+msgid "IDS_MUSIC_HEADER_SIMILAR_ALBUMS"
+msgstr "Ұқсас альбомдар"
+
+msgid "IDS_MUSIC_HEADER_TRACK"
+msgstr "Саз"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL_VIEW"
+msgstr "Нобай көрінісі"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "Бұл дыбыс әсері тек құлақаспап режимінде жұмыс істейді."
+
+msgid "IDS_MUSIC_OPT_ALL_CONTENT_ABB2"
+msgstr "Барлық мазмұн"
+
+msgid "IDS_MUSIC_BODY_A_NETWORK_CONNECTION_IS_REQUIRED_TO_PLAY_THIS_FILE_CHECK_YOUR_NETWORK_CONNECTION_AND_TRY_AGAIN"
+msgstr "Осы файлды ойнату үшін желі байланысы қажет. Желі байланысын тексеріп, әрекетті қайталаңыз."
+
+msgid "IDS_MUSIC_POP_FILE_TYPE_NOT_SUPPORTED"
+msgstr "Файлдың бұл түрі қолданылмайды."
+
+msgid "IDS_MUSIC_POP_UPDATING_ING"
+msgstr "Жаңартуда..."
+
+msgid "IDS_MUSIC_OPT_SEARCH_ABB"
+msgstr "Іздеу"
+
+msgid "IDS_MUSIC_OPT_SEARCH_BY"
+msgstr "Іздеу"
+
+msgid "IDS_MUSIC_BODY_RELATED_VIDEOS"
+msgstr "Қатысты бейнелер"
+
+msgid "IDS_MUSIC_BODY_SMART_VOLUME_ABB"
+msgstr "Смарт дауыс"
+
+msgid "IDS_MUSIC_BODY_THE_VOLUME_OF_ALL_TRACKS_WILL_BE_ADJUSTED_TO_LEVEL_PD"
+msgstr "Барлық тректің дауысы %d-деңгейге дұрысталады."
+
+msgid "IDS_MUSIC_HEADER_SMART_VOLUME_IS_ENABLED"
+msgstr "Смарт дауыс қосылады"
+
+msgid "IDS_MUSIC_OPT_CONNECTION_INFO_ABB"
+msgstr "Қосылым ақпараты"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_PD_MINS"
+msgstr "1 сғ %d мин кейін"
+
+msgid "IDS_MUSIC_BODY_ADAPT_SOUND_ABB"
+msgstr "Adapt Sound"
+
+msgid "IDS_MUSIC_BODY_MY_DEVICE"
+msgstr "Құрылғым"
+
+msgid "IDS_MUSIC_POP_LISTENING_AT_A_HIGH_VOLUME_FOR_A_LONG_TIME_MAY_DAMAGE_YOUR_HEARING_RAISE_THE_VOLUME_ABOVE_SAFE_LEVELS_Q"
+msgstr "Жоғары дыбыс қаттылығында ұзақ уақыт тыңдау есту қабілетіңізді зақымдауы мүмкін. Дыбыс қаттылығын қауіпсіз деңгейден асыру керек пе?"
+
+msgid "IDS_MUSIC_POP_ALREADY_EXISTS"
+msgstr "Қолданыста бар."
+
+msgid "IDS_MUSIC_OPT_SCAN_FOR_NEARBY_DEVICES"
+msgstr "Жақын құрылғыларды тексеру"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR"
+msgstr "1 сағ кейін"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_1_MIN"
+msgstr "1 сғ 1 мин кейін"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS_1_MIN"
+msgstr "%d сғ 1 мин кейін"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_MIN"
+msgstr "1 мин кейін"
+
+msgid "IDS_MUSIC_OPT_GO_TO_STORE"
+msgstr "Қорға өту"
+
+msgid "IDS_MUSIC_SK3_ADD_TRACKS"
+msgstr "Тректер қосу"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FROM_MUSIC_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Музыкадан тректерді жүктегеннен кейін олар мына жерде көрсетіледі."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_YOUR_FAVOURITES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Тректерді таңдаулыларға қосқаннан кейін олар мына жерде көрсетіледі."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_PLAY_TRACKS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Тректерді ойнатқаннан кейін олар мына жерде көрсетіледі."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_PS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "%s ішіне тректер қосқаннан кейін олар мына жерде көрсетіледі."
+
+msgid "IDS_MUSIC_BODY_NO_PURCHASED_CONTENT"
+msgstr "Сатып алынған мазмұн жоқ"
+
+msgid "IDS_MUSIC_SK_SAVE_AS"
+msgstr "Сақтау"
+
+msgid "IDS_MUSIC_POP_MUSICPLAYER_UPDATING_FAILED"
+msgstr "Жаңартылмай қалды."
+
+msgid "IDS_MUSIC_BODY_EXCITING_M_ADJECTIVE"
+msgstr "Қызықты"
+
+msgid "IDS_MUSIC_BODY_SEARCH_MY_MUSIC"
+msgstr "Менің музыкамды іздеу"
+
+msgid "IDS_MUSIC_HEADER_CONNECTED_DEVICES"
+msgstr "Қосылған құрылғылар"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST_PS"
+msgstr "%s ойнату тізімім"
+
+msgid "IDS_MUSIC_BODY_NO_DEVICES"
+msgstr "Құрылғылар жоқ"
+
+msgid "IDS_MUSIC_HEADER_AVAILABLE_DEVICES_ABB"
+msgstr "Қол жетімді құр-лар"
+
+msgid "IDS_MUSIC_POP_SET"
+msgstr "Орнату"
+
+msgid "IDS_MUSIC_POP_REMOVE_FAILED"
+msgstr "Алып тастау сәтсіз болды."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_USE_FAST_FORWARD_AND_REWIND_WHEN_NEARBY_DEVICES_ARE_ENABLED"
+msgstr "Жақын құрылғылар қосулы болғанда жылдам және кері айналдыруды пайдалану мүмкін емес."
+
+msgid "IDS_MUSIC_OPT_SET_AS"
+msgstr "Орнату"
+
+msgid "IDS_MUSIC_OPT_HEADPHONES_ABB"
+msgstr "Құлаққаптар"
+
+msgid "IDS_MUSIC_OPT_SPEAKER"
+msgstr "Дауыс зорайтқыш"
+
+msgid "IDS_MUSIC_BODY_1_SONG"
+msgstr "1 өлең"
+
+msgid "IDS_MUSIC_BODY_PD_SONGS"
+msgstr "%d өлең"
+
+msgid "IDS_MUSIC_BODY_1_TRACK"
+msgstr "1 трек"
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_1_TRACK"
+msgstr "Кездейсоқ 1 трек"
+
+msgid "IDS_MUSIC_POP_NO_MUSIC_FOUND_FOR_SELECTED_CELL"
+msgstr "Таңдалған ұяшыққа музыка табылмады"
+
+msgid "IDS_MUSIC_BODY_DO_NOT_SHOW_AGAIN"
+msgstr "Қайта көрсетпеңіз"
+
+msgid "IDS_MUSIC_BODY_VARIOUS_ARTISTS"
+msgstr "Әр түрлі орындаушылар"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_HOME_SCREEN_ABB"
+msgstr "Бастапқы экранға қосу"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_FAVOURITES"
+msgstr "Ұнамдыларға қосу"
+
+msgid "IDS_MUSIC_OPT_EDIT_TITLE"
+msgstr "Тақырыпты өзгерту"
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_PERSONAL_STORAGE"
+msgstr "Жеке қоймадан алып тастау"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FOLDERS_WILL_BE_SHOWN"
+msgstr "Тректерді жүктегеннен кейін, қалталар көрінеді"
+
+msgid "IDS_MUSIC_BODY_SETTINGS_VOLUME"
+msgstr "Дауыстың күші"
+
+msgid "IDS_MUSIC_BODY_REPEAT_OFF"
+msgstr "Қайталау өшірулі"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_REPEAT_ALL"
+msgstr "Барлық файлдар"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_OFF"
+msgstr "Аралас өшірілген"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_ON"
+msgstr "Аралас қосылған"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST"
+msgstr "Менің ойнату тізімім"
+
+msgid "IDS_MUSIC_MBODY_DEFAULT_PLAYLISTS"
+msgstr "Әдепкі әндер тізімдері"
+
+msgid "IDS_MUSIC_BODY_DETAILS_RECORDING_DATE"
+msgstr "Жазба күні"
+
+msgid "IDS_MUSIC_OPT_ALBUM_ART_ABB"
+msgstr "Альбом арт"
+
+msgid "IDS_MUSIC_BODY_1_GENRE"
+msgstr "1 жанр"
+
+msgid "IDS_MUSIC_BODY_PD_FOLDERS"
+msgstr "%d қалталары"
+
+msgid "IDS_MUSIC_BODY_1_FOLDER"
+msgstr "1 қалта"
+
+msgid "IDS_MUSIC_BODY_1_ARTIST"
+msgstr "1 орындаушы"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_M_MUSIC"
+msgstr "1 альбом"
+
+msgid "IDS_MUSIC_BODY_1_PLAYLIST"
+msgstr "1 әндер тізімі"
+
+msgid "IDS_MUSIC_BODY_MUSIC_PLAYER"
+msgstr "Музыкалық плейер"
+
+msgid "IDS_MUSIC_BUTTON_MOVE"
+msgstr "Жылжыту"
+
+msgid "IDS_MUSIC_BUTTON_AUTO_RECOMMENDATIONS"
+msgstr "Авто ұсыныстар"
+
+msgid "IDS_MUSIC_BUTTON_FROM_THE_BEGINNING"
+msgstr "Басынан"
+
+msgid "IDS_MUSIC_HEADER_SUGGESTIONS_FOR_YOU"
+msgstr "Сізге арналған ұсыныстар"
+
+msgid "IDS_MUSIC_OPT_SAVE"
+msgstr "Сақтау"
+
+msgid "IDS_MUSIC_TAB4_BASIC_M_EQUALIZING"
+msgstr "Негізгі"
+
+msgid "IDS_MUSIC_BODY_INSTRUMENT"
+msgstr "Аспап"
+
+msgid "IDS_MUSIC_BODY_TREBLE_M_EQUALISER"
+msgstr "Жиілік"
+
+msgid "IDS_MUSIC_BODY_BASS_M_EQUALISER"
+msgstr "Басс"
+
+msgid "IDS_MUSIC_BODY_NO_EFFECTS_ARE_APPLIED_IN_THIS_MODE_ABB"
+msgstr "Бұл режимде ешқандай әсер болмады."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_TIMBRE_OF_A_TUBE_AMP_ABB"
+msgstr "Шамдық зорайтқыштың тембрін үлгілейді."
+
+msgid "IDS_MUSIC_OPT_TUBE_AMP_EFFECT"
+msgstr "Шамдық зорайтқыш әсері"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_EFFECT_OF_VIRTUAL_71_CHANNEL_SURROUND_SOUND_ABB"
+msgstr "Виртуалды 7.1 арнасы айнала дыбысының әсерін үлгілейді."
+
+msgid "IDS_MUSIC_HEADER_SMALL_ROOM_M_REVERB_ABB"
+msgstr "Кіші бөлме"
+
+msgid "IDS_MUSIC_HEADER_LARGE_ROOM_M_REVERB_ABB"
+msgstr "Үлкен бөлме"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_LARGE_ROOM_EG_A_THEATRE_ABB"
+msgstr "Театр сияқты үлкен бөлменің жасанды жаңғырығын үлгілейді."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_CONCERT_HALL_ABB"
+msgstr "Концерт залының жасанды жаңғырығын үлгілейді."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_SMALL_SPACE_EG_A_STUDIO_ABB"
+msgstr "Кіші кеңістіктің жасанды жаңғырығын үлгілейді, мыс., студио."
+
+msgid "IDS_MUSIC_BUTTON_3D_CHN"
+msgstr "3D"
+
+msgid "IDS_MUSIC_BODY_CLARITY_M_SOUNDEFFECT"
+msgstr "Айқындық"
+
+msgid "IDS_MUSIC_BUTTON_RESET"
+msgstr "Жаңарту"
+
+msgid "IDS_MUSIC_TAB_YEARS"
+msgstr "Жылдар"
+
+msgid "IDS_MUSIC_TAB_GENRES"
+msgstr "Жанрлары"
+
+msgid "IDS_MUSIC_TAB_COMPOSERS"
+msgstr "Композиторлар"
+
+msgid "IDS_MUSIC_TAB_ALL_TRACKS"
+msgstr "Барлық тректер"
+
+msgid "IDS_MUSIC_SK3_GO_TO_QUICK_LIST"
+msgstr "Жылдам тіз-е өту"
+
+msgid "IDS_MUSIC_SK3_FIND"
+msgstr "Табу"
+
+msgid "IDS_MUSIC_SK3_ADD_TO_QUICK_LIST"
+msgstr "Жылд. тіз-ге қосу"
+
+msgid "IDS_MUSIC_POP_UNAUTHORISED_VIDEO_FILE_FOR_TV_OUT"
+msgstr "Теледидардан көрсетуге арналған рұқсатсыз бейне файл."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_CREATE_MAXIMUM_NUMBER_OF_PLAYLISTS_REACHED"
+msgstr "Жасау мүмкін емес. Файлдар тізімінің максималды санына жетті."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTING_BLUETOOTH_HEADSET"
+msgstr "Bluetooth гарнитурасын жалғағанда дауыс қаттылығын реттеу мүмкін емес."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTED_TO_BLUETOOTH_HEADSET"
+msgstr "Bluetooth гарнитурасына қосылған кезде дыбыс қаттылығын реттеу мүмкін емес."
+
+msgid "IDS_MUSIC_POP_STOP_MUSIC_PLAYER_Q"
+msgstr "Музыка ойнатуды тоқтатасыз ба?"
+
+msgid "IDS_MUSIC_POP_PLEASE_EXIT_SILENT_MODE"
+msgstr "Дыбыссыз күйден шығуыңыз сұралады."
+
+msgid "IDS_MUSIC_POP_NETWORK_FAILURE"
+msgstr "Желі қатесі"
+
+msgid "IDS_MUSIC_POP_MEMORY_CARD_LOADED"
+msgstr "Жад картасы жүктелді."
+
+msgid "IDS_MUSIC_POP_DEVICE_SETTINGS_ERROR"
+msgstr "Құрылғы параметрлері қатесі."
+
+msgid "IDS_MUSIC_POP_COULD_NOT_FIND_A_MATCH_FOR_THE_SONG"
+msgstr "Бул әнге үшін сәйкестік табу мүмкін емес."
+
+msgid "IDS_MUSIC_POP_BUFFERING_MSTATUS"
+msgstr "Буферлеу"
+
+msgid "IDS_MUSIC_POP_BT_HEADSET_ONLY_SUPPORTS_NORMAL_EFFECTS_SETTING"
+msgstr "BT гарнитурасы қалыпты әсерлер параметріне ғана қолдау көрсетеді."
+
+msgid "IDS_MUSIC_POP_APPLICATION_WILL_BE_CLOSED"
+msgstr "Бағдарлама жабылады."
+
+msgid "IDS_MUSIC_POP_ADDED_GO_TO_WISH_LIST_Q"
+msgstr "Қосылды. Тілектер тізіміне өту керек пе?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_THE_SERVICE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "Қызметке қатынау ақылы болуы мүмкін. Жалғастыру керек пе?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_STORE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "Дүкенге өту ақылы болуы мүмкін. Жалғастыру керек пе?"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_ONLY_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES"
+msgstr "5.1 арна дыбысының әсері тек құлақаспап және Bluetooth гарнитурасы режимдерінде жұмыс істейді."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "5.1 арнаның дыбыс әсері гарнитура қосылғанда ғана істейді."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECTS_NOT_SUPPORTED_BY_SPEAKER"
+msgstr "5.1 арнаның дыбыстық әсерлері динамик арқылы қолданылмайды."
+
+msgid "IDS_MUSIC_OPT_VIEW_BY_COVER_ART"
+msgstr "Беттерді қарап шығу"
+
+msgid "IDS_MUSIC_OPT_SEND_TRACK"
+msgstr "Файлды жіберу"
+
+msgid "IDS_MUSIC_OPT_RATE_TRACK"
+msgstr "Файлды бағалау"
+
+msgid "IDS_MUSIC_OPT_PLAYLIST_MOVE_TRACK_IN_PLAYLIST"
+msgstr "Тізімдегі файлды ауыстыру"
+
+msgid "IDS_MUSIC_OPT_OPENPLAYLIST_CURRENT"
+msgstr "Ағымдық"
+
+msgid "IDS_MUSIC_OPT_DELETE_PLAYLIST"
+msgstr "Ойнату тізімін жою"
+
+msgid "IDS_MUSIC_OPT_BACKGROUND_PLAYING"
+msgstr "Біркелкі ойнату"
+
+msgid "IDS_MUSIC_HEADER_EFFECTS"
+msgstr "Эффектілер"
+
+msgid "IDS_MUSIC_BUTTON_BUY_NOW"
+msgstr "Сатып алу"
+
+msgid "IDS_MUSIC_BODY_WOW_HD"
+msgstr "Wow HD"
+
+msgid "IDS_MUSIC_BODY_WISHLIST"
+msgstr "Ұнамды бет"
+
+msgid "IDS_MUSIC_BODY_WIDE"
+msgstr "Кеңейтілген"
+
+msgid "IDS_MUSIC_BODY_WHA_WHA"
+msgstr "Уа-уа"
+
+msgid "IDS_MUSIC_BODY_VIBE_WOOFER"
+msgstr "Төмен жиілікті дірілді динамик"
+
+msgid "IDS_MUSIC_BODY_TREMOLO"
+msgstr "Тремоло"
+
+msgid "IDS_MUSIC_BODY_TAP_TWICE_TO_PLAY_PAUSE_MUSIC"
+msgstr "Музыканы ойнату/тоқтату үшін екі рет жанасыңыз."
+
+msgid "IDS_MUSIC_BODY_SHARE_TRACK_VIA_BLUETOOTH"
+msgstr "Bluetooth арқылы өлең ортақтасу"
+
+msgid "IDS_MUSIC_BODY_SETUPWIZARD_WELCOME_TO_THE_MUSIC_SETUP_WIZARD_CONTINUE_Q"
+msgstr "Музыкалық қондырғы шеберіне қош келдіңіздер.\n Келесі торлар сізге телефоныңызды кескіндеуге көмектеседі. Жалғастырсын ба?"
+
+msgid "IDS_MUSIC_BODY_QUICK_LIST"
+msgstr "Жылдам тізім"
+
+msgid "IDS_MUSIC_BODY_PLAYINGSETTINGS_SOUND_EFFECTS"
+msgstr "Дыбыс әсерлері"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_ALL"
+msgstr "Барлығы"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_1"
+msgstr "1"
+
+msgid "IDS_MUSIC_BODY_PLAYERSETTINGS_VOLUME"
+msgstr "Дауыстың күші"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_SELECTED"
+msgstr "%d трек таңдалды."
+
+msgid "IDS_MUSIC_BODY_NO_PODCASTS"
+msgstr "Подкасттар жоқ"
+
+msgid "IDS_MUSIC_BODY_FIND_SIMILAR"
+msgstr "Ұқсасын табу"
+
+msgid "IDS_MUSIC_BODY_BACKGROUND_PLAY"
+msgstr "Біркелкі тыңдау"
+
+msgid "IDS_MUSIC_BODY_51_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "Дыбыстық әсерлер өшірілгенде ғана 5.1 арнасын іске қосуға болады."
+
+msgid "IDS_MUSIC_TAB4_PODCASTS"
+msgstr "Подкасттар"
+
+msgid "IDS_MUSIC_SK2_EDIT_IMAGE"
+msgstr "Суретті өзгерту"
+
+msgid "IDS_MUSIC_POP_PLAYING_ANY_SOUNDS_WILL_STOP_AND_SAVE_YOUR_VOICE_RECORDING_PLAY_Q"
+msgstr "Кез келген дыбыстарды ойнату дауыс жазбасын тоқтатып, сақтайды. Ойнату керек пе?"
+
+msgid "IDS_MUSIC_POP_MAXIMUM_NUMBER_OF_ITEMS_HPD_SELECTED"
+msgstr "Ең көп элемент саны (%d) таңдалды."
+
+msgid "IDS_MUSIC_POP_BLUETOOTH_DISCONNECTED"
+msgstr "Bluetooth ажыратылған"
+
+msgid "IDS_MUSIC_POP_5_1_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "Дыбыстық әсерлер өшірілгенде ғана 5.1 арнасын іске қосуға болады."
+
+msgid "IDS_MUSIC_OPT_TAKE_PICTURE"
+msgstr "Суретке түсіру"
+
+msgid "IDS_MUSIC_OPT_SHOW_MUSIC_VIEW_ABB"
+msgstr "Музыка көрінісін көрсету"
+
+msgid "IDS_MUSIC_OPT_PAUSE"
+msgstr "Үзіліс"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALBUM"
+msgstr "Альбомды ойнату"
+
+msgid "IDS_MUSIC_OPT_LIST_BY"
+msgstr "Іріктеу"
+
+msgid "IDS_MUSIC_OPT_HISTORY"
+msgstr "Тарих"
+
+msgid "IDS_MUSIC_OPT_HIDE_MUSIC_VIEW_ABB"
+msgstr "Музыка көрінісін жасыру"
+
+msgid "IDS_MUSIC_OPT_FIND_TAG"
+msgstr "Белгісін табу"
+
+msgid "IDS_MUSIC_OPT_DROPBOX_CONTENT_ABB"
+msgstr "Dropbox мазмұны"
+
+msgid "IDS_MUSIC_OPT_CONTENT_ON_PHONE_ABB"
+msgstr "Телеф-ғы мазмұн"
+
+msgid "IDS_MUSIC_OPT_CHANGE_IMAGE"
+msgstr "Суретті өзгерту"
+
+msgid "IDS_MUSIC_HEADER_DELETE_DROPBOX_DATA_ABB"
+msgstr "Dropbox деректерін жою"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_STREAM_YOUR_MUSIC_TO_DEVICES_USING_ALLSHARE"
+msgstr "AllShare арқылы музыкаңызды құрылғыларға жіберуге болады."
+
+msgid "IDS_MUSIC_BODY_VALIDITY"
+msgstr "Жарамдылық"
+
+msgid "IDS_MUSIC_BODY_TYPE_CNOUN"
+msgstr "Түрі"
+
+msgid "IDS_MUSIC_BODY_THIS_WILL_DELETE_THE_FILE_FROM_THE_SERVER_AND_ANY_CONNECTED_DEVICES_AS_WELL"
+msgstr "Бұл серверден, сондай-ақ кез келген қосылған құрылғылардан файлды жояды."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_ARTISTS"
+msgstr "Орындаушылар"
+
+msgid "IDS_MUSIC_BODY_PLAYINGDETAILS_ALBUM_ART"
+msgstr "Көрініс альбомы"
+
+msgid "IDS_MUSIC_BODY_OTHER_CONTENTS"
+msgstr "Басқа мазмұн"
+
+msgid "IDS_MUSIC_BODY_NAME_TOO_LONG"
+msgstr "Тым үлкен атауы."
+
+msgid "IDS_MUSIC_BODY_MUSIC_CLARITY"
+msgstr "Музыка тазалығы"
+
+msgid "IDS_MUSIC_BODY_HIGH_VOLUMES_MAY_HARM_YOUR_HEARING_IF_YOU_LISTEN_FOR_A_LONG_TIME"
+msgstr "Ұзақ уақыт тыңдайтын болсаңыз, қатты дауыс деңгейі есту мүшеңізді зақымдауы мүмкін."
+
+msgid "IDS_MUSIC_BODY_AVAILABLE_USES"
+msgstr "Пайдалануға жарамды"
+
+msgid "IDS_MUSIC_TPOP_SOUND_EFFECTS_ONLY_AVAILABLE_WHILE_HEADPHONES_CONNECTED"
+msgstr "Құлаққаптар қосылғанда ғана дыбыстық әсерлер қол жетімді."
+
+msgid "IDS_ST_OPT_ADD_TO_YOUR_PERSONAL_STORAGE"
+msgstr "Жеке қоймаңызға қосу"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_YOUR_PERSONAL_STORAGE"
+msgstr "Жеке қоймаңыздан алып тастау"
+
+msgid "IDS_ST_BODY_CONTEXTUAL_POP_UP_T_TALKBACK"
+msgstr "Контекстік қалқымалы терезе"
+
+msgid "IDS_ST_BODY_A_CONTEXTUAL_POP_UP_IS_OPEN_DOUBLE_TAP_TO_CLOSE_IT_T_TALKBACK"
+msgstr "Контекстік қалқымалы терезе ашық тұр. Жабу үшін екі рет түртіңіз"
+
+msgid "IDS_ST_BODY_REPEAT_ONE"
+msgstr "Біреуін қайталау"
+
+msgid "IDS_ST_BUTTON_MOVING_ING"
+msgstr "Жылжуда..."
+
+msgid "IDS_HS_BODY_SELECT_UP_TO_PD_ITEMS"
+msgstr "%d элементке дейін таңдау"
+
+msgid "IDS_CAM_BODY_TAB_T_TTS"
+msgstr "Жиекбелгі"
+
+msgid "IDS_DLNA_OPT2_CHANGE_PLAYER"
+msgstr "Ойнатқышты өзгерту"
+
+msgid "IDS_BR_SK_TABS"
+msgstr "Жиекбелгі"
+
+msgid "IDS_MF_BODY_DROPBOX_ABB"
+msgstr "Dropbox"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Автоматты ұсыныстар дыбыстық файлдардан ерекшеленгендерді шығара алады."
+
+msgid "IDS_MF_BODY_PARENT_RATING"
+msgstr "Ата-ана қамқорлығы"
+
+msgid "IDS_VR_POP_FILE_NOT_FOUND"
+msgstr "Файл табылмады."
+
+msgid "IDS_PB_POP_CALLER_RINGTONE_SAVED"
+msgstr "Байланысқа арналған әуен сақталды."
+
+msgid "IDS_MUSIC_BODY_BIT_DEPTH"
+msgstr "Бит тереңдігі"
+
+msgid "IDS_MUSIC_BODY_SIZE"
+msgstr "Өлшемі"
+
+msgid "IDS_MF_HEADER_PD_SELECTED"
+msgstr "%d таңдалды"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_THIS_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Бұл құрылғыға тректер қосқаннан кейін олар мына жерде көрсетіледі."
+
+msgid "IDS_MUSIC_TMBODY_LENGTH"
+msgstr "Ұзындық"
+
+msgid "IDS_MUSIC_POP_1_FOLDER_WILL_BE_DELETED"
+msgstr "1 қалта жойылады."
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Мазмұн жоқ"
+
+msgid "IDS_MUSIC_ITAB4_FOLDERS"
+msgstr "Қалталар"
+
+msgid "IDS_MUSIC_HEADER_MY_PLAYLISTS_ABB"
+msgstr "Менің әндер тізімім"
+
+msgid "IDS_MP_BODY_SOUND_PLAYER"
+msgstr "Дыбыс ойнатқышы"
+
+msgid "IDS_MUSIC_OPT_SETTINGS"
+msgstr "Қондырғылар"
+
+msgid "IDS_MUSIC_POP_DELETING"
+msgstr "Жойылуда..."
+
+msgid "IDS_MUSIC_POP_1_TRACK_WILL_BE_DELETED"
+msgstr "1 трек жойылады."
+
+msgid "IDS_MUSIC_POP_ALL_TRACKS_WILL_BE_DELETED"
+msgstr "Барлық тректер жойылады"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_WILL_BE_DELETED"
+msgstr "%d трек жойылады."
+
+msgid "IDS_MUSIC_POP_1_PLAYLIST_WILL_BE_DELETED"
+msgstr "1 әндер тізімі жойылады."
+
+msgid "IDS_MUSIC_POP_PD_PLAYLISTS_WILL_BE_DELETED"
+msgstr "%d файлдар тізімі жойылады."
+
+msgid "IDS_MUSIC_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "%d альбом жойылады."
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS_WILL_BE_DELETED"
+msgstr "%d орындаушы жойылады."
+
+msgid "IDS_MUSIC_POP_PD_FOLDERS_WILL_BE_DELETED"
+msgstr "%d қалта жойылады."
+
+msgid "IDS_ST_POP_CONNECTION_FAILED"
+msgstr "Қосылу үзіліп кетті"
+
+msgid "IDS_MUSIC_BODY_CLASSIC"
+msgstr "Классика"
+
+msgid "IDS_MUSIC_BODY_ROCK"
+msgstr "Рок"
+
+msgid "IDS_MUSIC_BODY_JAZZ"
+msgstr "Джаз"
+
+msgid "IDS_MUSIC_BODY_POP"
+msgstr "Поп"
+
+msgid "IDS_MUSIC_BODY_AUTO"
+msgstr "Авто"
+
+msgid "IDS_MUSIC_POP_CURRENT_SOUND_EFFECT_NOT_SUPPORTED_BY_HDMI"
+msgstr "Ағымдағы дыбыс әсері HDMI арқылы қолданылмайды"
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_BLUETOOTH"
+msgstr "Дыбыстық әсерлер Bluetooth арқылы қолданылмайды."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_LINE_OUT"
+msgstr "Дыбыстық әсерлер желілік шығыспен қолданылмайды."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_HDMI"
+msgstr "Дыбыстық әсерлер HDMI арқылы қолданылмайды."
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EFFECT"
+msgstr "Шамдық зорайтқыш"
+
+msgid "IDS_MUSIC_BODY_CUSTOM"
+msgstr "Әдеттегі"
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EQUALISER_ABB"
+msgstr "Шамдық зорайтқыш"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "Әндер тізіміне %d трек қосылды."
+
+msgid "IDS_MUSIC_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "Әндер тізіміне 1 трек қосылды"
+
+msgid "IDS_MUSIC_HEADER_ADD_TRACKS_TO_PLAYLIST_ABB"
+msgstr "Тректерді әндер тізіміне қосу"
+
+msgid "IDS_MUSIC_POP_PS_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "%s бұрыннан пайдаланылуда. Басқа ат енгізіңіз."
+
+msgid "IDS_MUSIC_TMBODY_DATE_OF_RECORDING"
+msgstr "Жазылған күн"
+
+msgid "IDS_MBP_TPOP_TRACK_SET_AS_ALARM_TONE"
+msgstr "Трек дабыл үні ретінде орнатылды."
+
+msgid "IDS_MUSIC_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Нәтиже жоқ"
+
+msgid "IDS_MUSIC_OPT_DEFAULT_RINGTONE_ABB"
+msgstr "Әдепкі үн"
+
+msgid "IDS_MUSIC_TPOP_TRACK_SET_AS_CALLER_RINGTONE"
+msgstr "Тректер қоңырау шалушы рингтоны ретінде орнатылды."
+
+msgid "IDS_MP_TPOP_TRACK_SET_AS_RINGTONE"
+msgstr "Трек қоңырау үні ретінде орнатылды."
+
+msgid "IDS_DLNA_BODY_ADD_TO_NOW_PLAYING_LIST"
+msgstr "Қазір ойнатылып жатқанның тізіміне қосу"
+
+msgid "IDS_MUSIC_TPOP_EQUALISER_SETTINGS_WILL_BE_APPLIED_WHILE_PLAYING_MUSIC"
+msgstr "Эквалайзер параметрлері музыканы ойнату кезінде қолданылады."
+
+msgid "IDS_ST_BODY_ALERT"
+msgstr "Қоңырау"
+
+msgid "IDS_IV_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 альбом жойылады."
+
+msgid "IDS_MUSIC_OPT_SD_CARD"
+msgstr "SD карта"
+
+msgid "IDS_MUSIC_SBODY_DEVICE_STORAGE"
+msgstr "Құрылғы қоймасы"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE"
+msgstr "Ойнату тізімі әлдеқашан пайдаланылуда."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_PD"
+msgstr "%d ойнату тізімі"
+
+msgid "IDS_MUSIC_HEADER_CREATE"
+msgstr "Жасау"
+
+msgid "IDS_MUSIC_HEADER_EQUALISER_PRESET_ABB"
+msgstr "Эквалайзер белгіленіп қойған"
+
+msgid "IDS_MUSIC_OPT_AUTOMATIC_M_EQUALIZER_EFFECT"
+msgstr "Автоматты"
+
+msgid "IDS_MUSIC_OPT_CLASSICAL_M_EQUALIZER_EFFECT"
+msgstr "Классикалық"
+
+msgid "IDS_MUSIC_HEADER_ENVIRONMENT_EFFECT_ABB"
+msgstr "Қоршаған орта әсері"
+
+msgid "IDS_VIDEO_POP_THE_FILE_TYPE_IS_NOT_SUPPORTED"
+msgstr "Файл түріне қолдау көрсетілмейді."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_CREATE_PLAYLISTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Әндер тізімін жасағаннан кейін олар мына жерде көрсетіледі."
+
+msgid "IDS_ST_HEADER_SELECT_AUDIO_DEVICE_ABB"
+msgstr "Аудио құрылғыны таңдаңыз"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "Ойнату тізімі әлдеқашан пайдаланылуда. Басқа атауды енгізіңіз."
+
+msgid "IDS_MUSIC_HEADER_SOUNDALIVE_ABB3"
+msgstr "SoundAlive"
+
+msgid "IDS_MUSIC_OPT_NOW_PLAYING_LIST"
+msgstr "Қазіргі ойнату тізімі"
+
+msgid "IDS_MUSIC_OPT_SHOW_LYRICS"
+msgstr "Әннің сөзін көрсету"
+
+msgid "IDS_MUSIC_OPT_HIDE_LYRICS"
+msgstr "Әннің сөзін жасыру"
+
+msgid "IDS_MUSIC_TPOP_UNABLE_TO_PLAY_MUSIC_DURING_CALLS"
+msgstr "Қоңыраулар кезінде музыканы ойнату мүмкін емес."
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Жою"
+
+msgid "IDS_MUSIC_HEADER_SELECT"
+msgstr "Таңдау"
+
+msgid "IDS_TPLATFORM_OPT_NFC"
+msgstr "NFC"
+
+msgid "IDS_MUSIC_HEADER_UNABLE_TO_PLAY_TRACK"
+msgstr "Тректі ойнату мүмкін емес"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "ДАЙЫН"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "БАС ТАРТУ"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "ЖОЮ"
+
+msgid "IDS_MUSIC_POP_RENAME"
+msgstr "Атын өзгерту"
+
+msgid "IDS_MUSIC_OPT_MESSAGE"
+msgstr "Хабарлама"
+
+msgid "IDS_MUSIC_SK_OK"
+msgstr "OK"
+
+msgid "IDS_MUSIC_SK_CANCEL"
+msgstr "Тоқтату"
+
+msgid "IDS_MUSIC_BUTTON_REFRESH"
+msgstr "Жаңарту"
+
+msgid "IDS_MUSIC_BODY_SELECT_ALL"
+msgstr "Бәрін бөлектеу"
+
+msgid "IDS_MUSIC_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_MUSIC_POP_DELETED"
+msgstr "Жойылды"
+
+msgid "IDS_MUSIC_OPT_STOP"
+msgstr "Тоқтату"
+
+msgid "IDS_MUSIC_BODY_UNKNOWN"
+msgstr "Белгісіз"
+
+msgid "IDS_MUSIC_BODY_TITLE"
+msgstr "Тақырыбы"
+
+msgid "IDS_MUSIC_OPT_SENDVIA_EMAIL"
+msgstr "Эл. пошта"
+
+msgid "IDS_MUSIC_OPT_BLUETOOTH"
+msgstr "Bluetooth"
+
+msgid "IDS_MUSIC_HEADER_DOWNLOAD"
+msgstr "Жүктеу"
+
+msgid "IDS_MUSIC_POP_LOW_BATTERY"
+msgstr "Батареяның заряды аз."
+
+msgid "IDS_MUSIC_HEADER_AUDIO_DEVICE"
+msgstr "Аудио құрылғы"
+
+msgid "IDS_MUSIC_HEADER_DETAILS"
+msgstr "Өзгешеліктері"
+
+msgid "IDS_MUSIC_OPT_END"
+msgstr "Соңы"
+
+msgid "IDS_MUSIC_OPT_EDIT"
+msgstr "Өзгерту"
+
+msgid "IDS_CAM_HEADER_UPDATED"
+msgstr "Жаңартылды"
+
+msgid "IDS_MUSIC_POP_REMOVED"
+msgstr "Жойылған"
+
+msgid "IDS_MUSIC_OPT_SELECTED"
+msgstr "Таңдалды"
+
+msgid "IDS_ST_BUTTON_SCAN"
+msgstr "Қарап шығу"
+
+msgid "IDS_MF_POP_ERROR"
+msgstr "Қате"
+
+msgid "IDS_MF_POP_MEMORY_FULL"
+msgstr "Жад толып кеткен."
+
+msgid "IDS_MUSIC_MBODY_QUEUE"
+msgstr "Кезек"
+
+msgid "IDS_MUSIC_OPT_VOLUME"
+msgstr "Дыбыс қаттылығы"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE"
+msgstr "Кездейсоқ тәртіп"
+
+msgid "IDS_MUSIC_OPT_REPEAT"
+msgstr "Қайталау"
+
+msgid "IDS_COM_BODY_DETAILS"
+msgstr "Details"
+
+msgid "IDS_COM_BODY_DETAILS_TITLE"
+msgstr "Title"
+
+msgid "IDS_COM_BODY_EDIT"
+msgstr "Edit"
+
+msgid "IDS_COM_BODY_EMAIL"
+msgstr "Email"
+
+msgid "IDS_COM_BODY_END"
+msgstr "End"
+
+msgid "IDS_COM_BODY_FOLDERS"
+msgstr "Folders"
+
+msgid "IDS_COM_BODY_GALLERY"
+msgstr "Gallery"
+
+msgid "IDS_COM_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_COM_BODY_LOADING"
+msgstr "Loading..."
+
+msgid "IDS_COM_BODY_LOW_BATTERY"
+msgstr "Low battery."
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Message"
+
+msgid "IDS_COM_BODY_MUSIC"
+msgstr "Music"
+
+msgid "IDS_COM_BODY_NFC"
+msgstr "NFC"
+
+msgid "IDS_COM_BODY_NO_CONTENTS"
+msgstr "No content"
+
+msgid "IDS_COM_BODY_PAUSE"
+msgstr "Pause"
+
+msgid "IDS_COM_BODY_PD_SELECTED"
+msgstr "%d selected."
+
+msgid "IDS_COM_BODY_PREVIOUS"
+msgstr "Previous"
+
+msgid "IDS_COM_BODY_RESET_A"
+msgstr "Reset"
+
+msgid "IDS_COM_BODY_SELECTED"
+msgstr "Selected"
+
+msgid "IDS_COM_BODY_SELECT_ALL"
+msgstr "Select all"
+
+msgid "IDS_COM_BODY_SETTINGS"
+msgstr "Settings"
+
+msgid "IDS_COM_BODY_TIME"
+msgstr "Time"
+
+msgid "IDS_COM_BODY_UNABLE_TO_ADD"
+msgstr "Unable to add."
+
+msgid "IDS_COM_BODY_UNKNOWN"
+msgstr "Unknown"
+
+msgid "IDS_COM_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_COM_BUTTON_SCAN"
+msgstr "Scan"
+
+msgid "IDS_COM_BUTTON_SHARE"
+msgstr "Share"
+
+msgid "IDS_COM_HEADER_AUDIO_DEVICE_ABB"
+msgstr "Audio device"
+
+msgid "IDS_COM_OPT_ADDED"
+msgstr "Added."
+
+msgid "IDS_COM_OPT_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_POP_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_POP_CONNECTION_FAILED"
+msgstr "Connection failed."
+
+msgid "IDS_COM_POP_DELETED"
+msgstr "Deleted."
+
+msgid "IDS_COM_POP_DELETE_Q"
+msgstr "Delete?"
+
+msgid "IDS_COM_POP_DONE"
+msgstr "Done"
+
+msgid "IDS_COM_POP_DOWNLOADING"
+msgstr "Downloading..."
+
+msgid "IDS_COM_POP_ERROR"
+msgstr "Error."
+
+msgid "IDS_COM_POP_FAILED"
+msgstr "Failed."
+
+msgid "IDS_COM_POP_FILE_NOT_EXIST"
+msgstr "This file does not exist."
+
+msgid "IDS_COM_POP_FILE_NOT_FOUND"
+msgstr "File not found."
+
+msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximum number of characters reached."
+
+msgid "IDS_COM_POP_MEMORY_FULL"
+msgstr "Memory full."
+
+msgid "IDS_COM_POP_REMOVED"
+msgstr "Removed."
+
+msgid "IDS_COM_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Unable to use during Mass storage mode."
+
+msgid "IDS_COM_POP_UPDATED"
+msgstr "Updated."
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_SK_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_SK_DOWNLOAD"
+msgstr "Download"
+
+msgid "IDS_COM_SK_NEW"
+msgstr "New"
+
+msgid "IDS_COM_SK_NEXT"
+msgstr "Next"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_SK_REFRESH"
+msgstr "Refresh"
+
+msgid "IDS_COM_SK_REMOVE"
+msgstr "Remove"
+
+msgid "IDS_COM_SK_SAVE"
+msgstr "Save"
+
+msgid "IDS_COM_SK_SELECT"
+msgstr "Select"
+
+msgid "IDS_COM_SK_SET"
+msgstr "Set"
+
+msgid "IDS_COM_SK_STOP"
+msgstr "Stop"
+
+
+msgid "IDS_MH_BODY_THE_PLAYLIST_NAME_PS_IS_ALREADY_IN_USE"
+msgstr "The playlist name %s is already in use."
+
+msgid "IDS_MH_BODY_TOTAL"
+msgstr "Total"
+
+msgid "IDS_MH_MBODY_RECENTLY_ADDED_M_SONG"
+msgstr "Recently added"
+
+msgid "IDS_MH_OPT_MORE_INFO_ABB"
+msgstr "More info"
+
+msgid "IDS_MH_POP_ALARM_TONE_SET"
+msgstr "Alarm tone set."
+
+msgid "IDS_MH_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 track added to playlist."
+
+msgid "IDS_MH_TPOP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d tracks added to playlist."
+
+msgid "IDS_MUSIC_OPT_RENAME"
+msgstr "Rename"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Unable to play during call."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Файлдардың ең үлкен өлшемінен асып кетті."
+
+msgid "IDS_CAM_TPOP_UNABLE_TO_PLAY_MUSIC_WHILE_RECORDING_AUDIO_OR_VIDEO"
+msgstr "Аудио не бейнені жазу кезінде, музыканы ойнату мүмкін емес."
+
--- /dev/null
+msgid "IDS_ST_BODY_LOADING_ING"
+msgstr "불러오는 중..."
+
+msgid "IDS_GALLERY_OPT_PRIVATE_M_CONTENT"
+msgstr "프라이빗"
+
+msgid "IDS_MF_BODY_TIME"
+msgstr "시간"
+
+msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
+msgstr "파일이 존재하지 않습니다."
+
+msgid "IDS_MUSIC_POP_PHONE_RINGTONE"
+msgstr "기본 벨소리"
+
+msgid "IDS_MUSIC_BODY_DURATION"
+msgstr "재생 시간"
+
+msgid "IDS_MUSIC_BODY_MUSIC_LOCATION"
+msgstr "저장 위치"
+
+msgid "IDS_MUSIC_BODY_SET_AS_M_RINGTONE"
+msgstr "벨소리로 설정"
+
+msgid "IDS_ST_OPT_ADD_TO_PERSONAL_PAGE"
+msgstr "프라이빗 페이지에 추가"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_PERSONAL_PAGE_ABB"
+msgstr "프라이빗 페이지에서 제거"
+
+msgid "IDS_ST_POP_MOVE_TO_NORMAL_STORAGE"
+msgstr "일반 저장공간으로 이동"
+
+msgid "IDS_ST_POP_MOVE_TO_PERSONAL_STORAGE"
+msgstr "퍼스널 저장공간으로 이동"
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEMS_WILL_BE_MOVED_TO_PS"
+msgstr "선택한 항목을 %s(으)로 이동합니다."
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEM_WILL_BE_MOVED_TO_PS"
+msgstr "선택한 항목을 %s(으)로 이동합니다."
+
+msgid "IDS_VR_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "[대용량 저장공간 모드] 실행 중에는 사용할 수 없습니다."
+
+msgid "IDS_MUSIC_POP_RINGTONE_ADDED"
+msgstr "벨소리를 추가하였습니다."
+
+msgid "IDS_CAM_BODY_BUTTON_T_TTS"
+msgstr "버튼"
+
+msgid "IDS_MUSIC_HEADER_SELECT_ITEMS"
+msgstr "항목 선택"
+
+msgid "IDS_ST_BODY_ADVANCED"
+msgstr "고급"
+
+msgid "IDS_ST_SK_PREVIOUS"
+msgstr "이전"
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "닫기"
+
+msgid "IDS_MUSIC_POP_ADDED"
+msgstr "추가하였습니다."
+
+msgid "IDS_MUSIC_POP_FAILED"
+msgstr "완료하지 못하였습니다."
+
+msgid "IDS_MUSIC_BODY_NO_SEARCH_RESULTS"
+msgstr "검색 결과가 없습니다"
+
+msgid "IDS_MUSIC_SK_DONE"
+msgstr "완료"
+
+msgid "IDS_MUSIC_BODY_NO_ITEMS"
+msgstr "항목이 없습니다"
+
+msgid "IDS_BR_OPT_ADD_TO_HOME"
+msgstr "홈에 추가"
+
+msgid "IDS_BR_SK_NEXT"
+msgstr "다음"
+
+msgid "IDS_BR_BODY_DOWNLOADING_ING"
+msgstr "다운로드 중..."
+
+msgid "IDS_IV_BODY_FAVOURITE"
+msgstr "즐겨찾기"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_PERSONAL_STORAGE"
+msgstr "퍼스널 저장공간에 추가"
+
+msgid "IDS_DLNA_POP_DISCONNECTED_FROM_PS_CHECK_THE_NETWORK_STATUS_AND_THE_CONNECTED_DEVICE"
+msgstr "%s 연결을 해제하였습니다. 네트워크 상태와 연결된 디바이스를 확인하세요."
+
+msgid "IDS_DLNA_OPT_VIA_SCREEN_MIRRORING_ABB"
+msgstr "Screen Mirroring으로 연결"
+
+msgid "IDS_DLNA_OPT_VIA_HOME_NETWORK_ABB"
+msgstr "홈 네트워크로 연결"
+
+msgid "IDS_IV_POP_ENTRY_IS_EMPTY"
+msgstr "입력된 내용이 없습니다."
+
+msgid "IDS_FM_POP_UNAVAILABLE_DURING_CALL"
+msgstr "통화 중에는 사용할 수 없습니다."
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "최대 글자 수에 도달하였습니다."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_SHARE_DRM_FILE"
+msgstr "DRM 파일은 공유할 수 없습니다."
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "제거 중..."
+
+msgid "IDS_MUSIC_HEADER_PD_DEVICES"
+msgstr "디바이스 %d개"
+
+msgid "IDS_MUSIC_BUTTON_ENABLE_MOTION"
+msgstr "모션 실행"
+
+msgid "IDS_MUSIC_BUTTON_DONT_ASK_AGAIN"
+msgstr "다시 묻지 않기"
+
+msgid "IDS_MUSIC_BODY_NO_RESULTS_FOUND"
+msgstr "검색 결과가 없습니다."
+
+msgid "IDS_VPL_OPT_HDMI"
+msgstr "HDMI"
+
+msgid "IDS_MUSIC_BODY_TURN_PHONE_OVER_TO_MUTE_INCOMING_CALLS_MESSAGE_ALERTS_AND_ALARMS"
+msgstr "디바이스를 뒤집어 벨소리, 메시지 알림음, 알람을 끕니다."
+
+msgid "IDS_ST_BODY_NONE"
+msgstr "설정 안 함"
+
+msgid "IDS_ST_BODY_INTERNET"
+msgstr "인터넷"
+
+msgid "IDS_ST_BODY_GALLERY"
+msgstr "갤러리"
+
+msgid "IDS_ST_BODY_DOUBLE_TAP_TO_MOVE_TO_CONTENT_T_TTS"
+msgstr "컨텐츠로 이동하려면 두 번 누르세요."
+
+msgid "IDS_MUSIC_BODY_SURROUND"
+msgstr "서라운드"
+
+msgid "IDS_MUSIC_OPT_LYRICS_ABB"
+msgstr "가사"
+
+msgid "IDS_MUSIC_POP_AFTER_YOU_ADD_TRACKS_TO_MUSIC_ON_YOUR_MOBILE_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "모바일 디바이스에서 [뮤직]에 곡을 추가하면 여기에 표시됩니다."
+
+msgid "IDS_MUSIC_BODY_SAMPLING_RATE"
+msgstr "샘플링 주파수"
+
+msgid "IDS_MUSIC_BODY_MARKED_AS_A_FAVOURITE"
+msgstr "즐겨찾기로 표시하였습니다."
+
+msgid "IDS_MUSIC_BODY_MUSIC"
+msgstr "음악"
+
+msgid "IDS_MUSIC_BODY_NOT_MARKED_AS_A_FAVOURITE"
+msgstr "즐겨찾기로 표시되지 않았습니다."
+
+msgid "IDS_MUSIC_HEADER_SEARCH_MUSIC_ABB"
+msgstr "음악 검색"
+
+msgid "IDS_MUSIC_POP_AUTO_RECOMMENDATION_DOES_NOT_SUPPORT_THIS_AUDIO_FILE"
+msgstr "[자동 추천]에서 지원하지 않는 오디오 파일입니다."
+
+msgid "IDS_MUSIC_POP_SORRY_THE_PLAYER_DOES_NOT_SUPPORT_THIS_TYPE_OF_AUDIO_FILE"
+msgstr "사용할 수 없는 파일 형식입니다."
+
+msgid "IDS_MUSIC_BODY_FAVOURITES"
+msgstr "즐겨찾기"
+
+msgid "IDS_MUSIC_BODY_MOST_PLAYED"
+msgstr "많이 재생된 음악"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_ADDED"
+msgstr "최근 추가 순"
+
+msgid "IDS_MUSIC_OPT_CREATE_PLAYLIST"
+msgstr "새 재생 목록 추가"
+
+msgid "IDS_MUSIC_OPT_REMOVE"
+msgstr "삭제"
+
+msgid "IDS_MUSIC_OPT_SETAS_CALLER_RINGTONE"
+msgstr "발신자별 벨소리"
+
+msgid "IDS_MUSIC_TAB4_ARTISTS"
+msgstr "아티스트"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD"
+msgstr "추가할 수 없습니다."
+
+msgid "IDS_MUSIC_POP_UNABLE_CREATE_PLAYLIST"
+msgstr "새 재생 목록을 추가할 수 없습니다."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_GET_TAG"
+msgstr "태그를 가져올 수 없습니다."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_MORE_THAN_PD_MUSIC_FILE"
+msgstr "%d개 이상 추가할 수 없습니다."
+
+msgid "IDS_MUSIC_BODY_ALBUM"
+msgstr "앨범"
+
+msgid "IDS_MUSIC_BODY_AUTHOR"
+msgstr "저자"
+
+msgid "IDS_MUSIC_BODY_COPYRIGHT"
+msgstr "저작권"
+
+msgid "IDS_MUSIC_BODY_CREATE_PLAYLIST"
+msgstr "새 재생 목록 추가"
+
+msgid "IDS_MUSIC_BODY_DESCRIPTION"
+msgstr "내용"
+
+msgid "IDS_MUSIC_BODY_FORMAT"
+msgstr "형식"
+
+msgid "IDS_MUSIC_BODY_IMPOSSIBLE"
+msgstr "불가능"
+
+msgid "IDS_MUSIC_BODY_NO_PLAYLISTS"
+msgstr "재생 목록이 없습니다"
+
+msgid "IDS_MUSIC_BODY_TRACK_NUMBER"
+msgstr "곡 번호"
+
+msgid "IDS_MUSIC_POP_DELETE_Q"
+msgstr "삭제할까요?"
+
+msgid "IDS_MUSIC_POP_REMOVE_Q"
+msgstr "제거할까요?"
+
+msgid "IDS_MUSIC_POP_UNABLE_RENAME_PLAYLIST"
+msgstr "이름을 변경할 수 없습니다."
+
+msgid "IDS_MUSIC_TAB4_ALBUMS"
+msgstr "앨범"
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "추가 중..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "앨범 %d개를 삭제할까요?"
+
+msgid "IDS_MUSIC_TAB4_PLAYLISTS"
+msgstr "재생 목록"
+
+msgid "IDS_MUSIC_OPT_ADD"
+msgstr "추가"
+
+msgid "IDS_MUSIC_BODY_BIOGRAPHY"
+msgstr "아티스트"
+
+msgid "IDS_MUSIC_BODY_CREDITS"
+msgstr "크레디트"
+
+msgid "IDS_MUSIC_BODY_DETAILS_MEADIA_INFO"
+msgstr "미디어 정보"
+
+msgid "IDS_MUSIC_BODY_DISCOGRAPHY"
+msgstr "전체 앨범"
+
+msgid "IDS_MUSIC_BODY_LYRIC"
+msgstr "가사"
+
+msgid "IDS_MUSIC_BODY_POSSIBLE"
+msgstr "가능"
+
+msgid "IDS_MUSIC_BODY_REVIEW"
+msgstr "리뷰"
+
+msgid "IDS_MUSIC_HEADER_TRACK_LIST"
+msgstr "곡 목록"
+
+msgid "IDS_MUSIC_BODY_ADD_TO_PLAYLIST"
+msgstr "재생 목록에 추가"
+
+msgid "IDS_MUSIC_BODY_ARTIST"
+msgstr "아티스트"
+
+msgid "IDS_MUSIC_BODY_FORWARDING"
+msgstr "전송"
+
+msgid "IDS_MUSIC_BODY_RECORDED_DATE"
+msgstr "Date of recording"
+
+msgid "IDS_MUSIC_BODY_PLAYLISTS"
+msgstr "재생 목록"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_PLAYED"
+msgstr "최근 재생"
+
+msgid "IDS_MUSIC_BODY_TRACK_LENGTH"
+msgstr "재생 시간"
+
+msgid "IDS_MUSIC_HEADER_NO_SONGS"
+msgstr "음악 없음"
+
+msgid "IDS_MUSIC_POP_THIS_TRACK_WILL_BE_DELETED"
+msgstr "이 트랙을 삭제합니다."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_TRACKS_WILL_BE_DELETED"
+msgstr "선택한 곡을 삭제합니다."
+
+msgid "IDS_MUSIC_POP_THIS_ARTIST_WILL_BE_DELETED"
+msgstr "선택한 아티스트를 삭제합니다."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ARTISTS_WILL_BE_DELETED"
+msgstr "선택한 아티스트를 삭제합니다."
+
+msgid "IDS_MUSIC_POP_ALL_ARTISTS_WILL_BE_DELETED"
+msgstr "모든 아티스트를 삭제합니다."
+
+msgid "IDS_MUSIC_POP_THIS_FOLDER_WILL_BE_DELETED"
+msgstr "폴더를 삭제합니다."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_FOLDERS_WILL_BE_DELETED"
+msgstr "선택한 폴더를 삭제합니다."
+
+msgid "IDS_MUSIC_POP_ALL_FOLDERS_WILL_BE_DELETED"
+msgstr "모든 폴더를 삭제합니다."
+
+msgid "IDS_MUSIC_POP_THIS_ALBUM_WILL_BE_DELETED"
+msgstr "선택한 앨범을 삭제합니다."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ALBUMS_WILL_BE_DELETED"
+msgstr "선택한 앨범을 삭제합니다."
+
+msgid "IDS_MUSIC_POP_ALL_ALBUMS_WILL_BE_DELETED"
+msgstr "모든 앨범을 삭제합니다."
+
+msgid "IDS_MUSIC_POP_THIS_PLAYLIST_WILL_BE_DELETED"
+msgstr "재생 목록을 삭제합니다."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_PLAYLISTS_WILL_BE_DELETED"
+msgstr "선택한 재생 목록을 삭제합니다."
+
+msgid "IDS_MUSIC_POP_ALL_PLAYLISTS_WILL_BE_DELETED"
+msgstr "모든 재생 목록을 삭제합니다."
+
+msgid "IDS_MUSIC_HEADER_SONGS"
+msgstr "음악"
+
+msgid "IDS_MUSIC_OPT_REORDER"
+msgstr "순서 변경"
+
+msgid "IDS_MUSIC_OPT_SAVE_AS_PLAYLIST"
+msgstr "재생 목록으로 저장"
+
+msgid "IDS_MUSIC_OPT_SETAS_ALARM_TONE"
+msgstr "알람음"
+
+msgid "IDS_MUSIC_POP_NOTHING_SELECTED"
+msgstr "선택한 것이 없습니다."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "재생할 수 없습니다. 오류가 발생하였습니다."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_UNSUPPORTED_FILETYPE"
+msgstr "지원하지 않는 파일 형식이어서 재생할 수 없습니다."
+
+msgid "IDS_MUSIC_SK_SHARE"
+msgstr "공유"
+
+msgid "IDS_MUSIC_TAB4_CONDUCTORS"
+msgstr "지휘자"
+
+msgid "IDS_MUSIC_HEADER_SELECT_DEVICE"
+msgstr "디바이스 선택"
+
+msgid "IDS_MUSIC_SK_VIEW_AS"
+msgstr "보기 방식"
+
+msgid "IDS_MUSIC_BODY_SOUNDEFFECTS_NORMAL"
+msgstr "일반"
+
+msgid "IDS_MUSIC_BODY_USER"
+msgstr "사용자"
+
+msgid "IDS_MUSIC_BODY_VOCAL_M_SOUNDEFFECT"
+msgstr "보컬"
+
+msgid "IDS_MUSIC_MBODY_BASS_BOOST"
+msgstr "중저음 강화"
+
+msgid "IDS_MUSIC_MBODY_TREBLE_BOOST"
+msgstr "고음 강화"
+
+msgid "IDS_MUSIC_BODY_CAFE_M_SOUNDEFFECT"
+msgstr "카페"
+
+msgid "IDS_MUSIC_OPT_VIRTUAL_71_CH"
+msgstr "가상 7.1채널"
+
+msgid "IDS_MUSIC_OPT_AFTER_15_MIN_ABB"
+msgstr "15분 후"
+
+msgid "IDS_MUSIC_BODY_AFTER_30_MIN"
+msgstr "30분 후"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HOUR"
+msgstr "1시간 후"
+
+msgid "IDS_MUSIC_POP_AFTER_1_HOUR_30_MIN"
+msgstr "1시간 30분 후"
+
+msgid "IDS_MUSIC_BODY_AFTER_2_HOURS"
+msgstr "2시간 후"
+
+msgid "IDS_MUSIC_BODY_MUSIC_AUTO_OFF"
+msgstr "음악 자동 끄기"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES_ONLY"
+msgstr "선택한 음향 효과는 이어폰과 블루투스 헤드셋을 연결한 경우에만 적용됩니다."
+
+msgid "IDS_MUSIC_TAB4_MUSIC_SQUARE"
+msgstr "뮤직 스퀘어"
+
+msgid "IDS_MUSIC_POP_NOT_ENOUGH_MUSIC_FILES_TO_PLAY_IN_MUSIC_SQUARE_AT_LEAST_PD_MUSIC_FILES_REQUIRED"
+msgstr "[뮤직 스퀘어]에서 재생할 음악 파일이 부족합니다. 저장된 음악이 최소 %d곡 필요합니다."
+
+msgid "IDS_MUSIC_BODY_PASSION_M_MOOD"
+msgstr "열정적인"
+
+msgid "IDS_MUSIC_BODY_CALM_M_ADJECTIVE"
+msgstr "차분한"
+
+msgid "IDS_MUSIC_BODY_JOY_M_MOOD"
+msgstr "기쁜"
+
+msgid "IDS_MUSIC_BODY_LIBRARY_UPDATE"
+msgstr "라이브러리 업데이트"
+
+msgid "IDS_MUSIC_POP_UPDATE_LIBRARY_Q"
+msgstr "라이브러리를 업데이트할까요?"
+
+msgid "IDS_MUSIC_BODY_CHANGE_AXIS"
+msgstr "축 변경"
+
+msgid "IDS_MUSIC_ITAB4_GENRES"
+msgstr "장르"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_1_TRACK"
+msgstr "앨범 1개/ 곡 1개"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_PD_TRACKS"
+msgstr "앨범 1개/ 곡 %d개"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS_PD_TRACKS"
+msgstr "앨범 %d개/곡 %d개"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_CONTROL_MUSIC_PLAYER_WITH_THE_VOICE_COMMANDS_P1SS_P2SS_P3SS_P4SS_P5SS_AND_P6SS"
+msgstr "%1$s, %2$s, %3$s, %4$s, %5$s, %6$s 등의 음성 명령으로 [뮤직]을 제어할 수 있습니다."
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_PD_TRACKS"
+msgstr "곡 %d개 셔플"
+
+msgid "IDS_MUSIC_BODY_MORE_INFO"
+msgstr "추가정보"
+
+msgid "IDS_MUSIC_HEADER_MY_MUSIC_M_APPLICATION_NAME"
+msgstr "내 음악"
+
+msgid "IDS_MUSIC_OPT_LIST_VIEW"
+msgstr "목록 보기"
+
+msgid "IDS_MUSIC_OPT_PLAY_VIA_GROUP_PLAY"
+msgstr "Group Play로 재생"
+
+msgid "IDS_MUSIC_POP_TRACK_ADDED_TO_FAVOURITES"
+msgstr "곡을 [즐겨찾기]에 추가하였습니다."
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_FAVOURITES"
+msgstr "즐겨찾기에서 제거"
+
+msgid "IDS_MUSIC_BODY_NEW_M_LATEST"
+msgstr "최신"
+
+msgid "IDS_MUSIC_OPT_TRACKS"
+msgstr "곡"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL"
+msgstr "썸네일"
+
+msgid "IDS_MUSIC_SK_LIST"
+msgstr "목록"
+
+msgid "IDS_MUSIC_SK_OPEN_PLAYLIST"
+msgstr "재생 목록 열기"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALL"
+msgstr "모두 재생"
+
+msgid "IDS_MUSIC_POP_SELECTED_LIST_EMPTY"
+msgstr "선택한 목록이 비어 있습니다."
+
+msgid "IDS_MUSIC_BODY_MOODS"
+msgstr "분위기"
+
+msgid "IDS_MUSIC_BUTTON_YEARS"
+msgstr "연도"
+
+msgid "IDS_MUSIC_BODY_OLD"
+msgstr "오래된"
+
+msgid "IDS_MUSIC_BODY_MUSIC_SQUARE_ANALYSES_THE_CHARACTERISTICS_OF_MUSIC_FILES_STORED_ON_YOUR_DEVICE_AND_AUTOMATICALLY_CREATES_PLAYLISTS_MSG"
+msgstr "뮤직 스퀘어는 디바이스에 저장된 음악 파일의 속성을 분석하여 자동으로 새 재생 목록을 추가합니다."
+
+msgid "IDS_MUSIC_BODY_PLAY_TRACKS_WITH_SIMILAR_CHARACTERISTICS_BY_SELECTING_A_SQUARE_ON_THE_SCREEN"
+msgstr "화면 위의 사각형을 선택하여 비슷한 장르의 곡으로 구성된 재생 목록을 추가할 수 있습니다."
+
+msgid "IDS_MUSIC_BODY_VIEW_PLAYLIST_DETAILS_BY_TAPPING_AND_HOLDING_THE_SQUARE_CURRENTLY_BEING_PLAYED"
+msgstr "재생 중인 사각형을 길게 눌러 재생 목록의 상세정보를 확인할 수 있습니다."
+
+msgid "IDS_MUSIC_BODY_NEARBY_DEVICES"
+msgstr "주변 디바이스"
+
+msgid "IDS_MUSIC_POP_YOU_WILL_NEED_TO_UPDATE_THE_LIBRARY_IF_NEW_SONGS_HAVE_BEEN_ADDED"
+msgstr "새 음악 파일을 추가한 경우 라이브러리를 업데이트하세요."
+
+msgid "IDS_MUSIC_BODY_NO_ALBUMS"
+msgstr "앨범이 없습니다"
+
+msgid "IDS_MUSIC_BODY_NO_ARTISTS"
+msgstr "아티스트가 없습니다"
+
+msgid "IDS_MUSIC_OPT_PLAY_SPEED_ABB"
+msgstr "재생 속도"
+
+msgid "IDS_MUSIC_BODY_CONCERT_HALL_M_SOUNDEFFECT"
+msgstr "콘서트 홀"
+
+msgid "IDS_MUSIC_OPT_ADD_TO"
+msgstr "추가"
+
+msgid "IDS_MUSIC_SK_VIEW"
+msgstr "보기"
+
+msgid "IDS_MUSIC_OPT_LISTBY_RECENTLY_ADDED"
+msgstr "최근 추가 순"
+
+msgid "IDS_MUSIC_BODY_NOT_USED"
+msgstr "사용 안 함"
+
+msgid "IDS_MUSIC_BODY_MAKE_AVAILABLE_OFFLINE"
+msgstr "오프라인에서도 볼 수 있도록 함"
+
+msgid "IDS_MUSIC_OPT_AFTER_P1SD_HRS_P2SD_MINS"
+msgstr "%1$d시간 %2$d분 후"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS"
+msgstr "%d시간 후"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_MINS"
+msgstr "%d분 후"
+
+msgid "IDS_MUSIC_BODY_NO_FOLDERS"
+msgstr "폴더가 없습니다"
+
+msgid "IDS_MUSIC_BODY_NO_TRACKS"
+msgstr "곡이 없습니다"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS"
+msgstr "앨범 %d개"
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS"
+msgstr "아티스트 %d명"
+
+msgid "IDS_MUSIC_BODY_PD_GENRES"
+msgstr "장르 %d개"
+
+msgid "IDS_MUSIC_BODY_PD_PLAYLISTS"
+msgstr "재생 목록 %d개"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_ABB"
+msgstr "곡 %d개"
+
+msgid "IDS_MUSIC_BODY_PLAYLIST"
+msgstr "재생 목록"
+
+msgid "IDS_MUSIC_HEADER_SIMILAR_ALBUMS"
+msgstr "비슷한 앨범"
+
+msgid "IDS_MUSIC_HEADER_TRACK"
+msgstr "곡"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL_VIEW"
+msgstr "썸네일 보기"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "선택한 음향 효과는 이어폰을 연결한 경우에만 적용됩니다."
+
+msgid "IDS_MUSIC_OPT_ALL_CONTENT_ABB2"
+msgstr "모든 컨텐츠"
+
+msgid "IDS_MUSIC_BODY_A_NETWORK_CONNECTION_IS_REQUIRED_TO_PLAY_THIS_FILE_CHECK_YOUR_NETWORK_CONNECTION_AND_TRY_AGAIN"
+msgstr "이 파일을 재생하려면 네트워크 연결이 필요합니다. 네트워크 연결을 확인한 후 다시 시도하세요."
+
+msgid "IDS_MUSIC_POP_FILE_TYPE_NOT_SUPPORTED"
+msgstr "지원되지 않는 파일 형식입니다."
+
+msgid "IDS_MUSIC_POP_UPDATING_ING"
+msgstr "업데이트 중..."
+
+msgid "IDS_MUSIC_OPT_SEARCH_ABB"
+msgstr "검색"
+
+msgid "IDS_MUSIC_OPT_SEARCH_BY"
+msgstr "검색 방식"
+
+msgid "IDS_MUSIC_BODY_RELATED_VIDEOS"
+msgstr "관련 동영상"
+
+msgid "IDS_MUSIC_BODY_SMART_VOLUME_ABB"
+msgstr "스마트 음량"
+
+msgid "IDS_MUSIC_BODY_THE_VOLUME_OF_ALL_TRACKS_WILL_BE_ADJUSTED_TO_LEVEL_PD"
+msgstr "모든 곡의 음량을 %d(으)로 조절합니다."
+
+msgid "IDS_MUSIC_HEADER_SMART_VOLUME_IS_ENABLED"
+msgstr "스마트 음량 실행"
+
+msgid "IDS_MUSIC_OPT_CONNECTION_INFO_ABB"
+msgstr "연결정보"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_PD_MINS"
+msgstr "1시간 %d분 후"
+
+msgid "IDS_MUSIC_BODY_ADAPT_SOUND_ABB"
+msgstr "음질 최적화"
+
+msgid "IDS_MUSIC_BODY_MY_DEVICE"
+msgstr "내 디바이스"
+
+msgid "IDS_MUSIC_POP_LISTENING_AT_A_HIGH_VOLUME_FOR_A_LONG_TIME_MAY_DAMAGE_YOUR_HEARING_RAISE_THE_VOLUME_ABOVE_SAFE_LEVELS_Q"
+msgstr "높은 음량으로 오랫동안 들으면 청각이 손상될 수 있습니다. 안전 기준보다 높게 음량을 올릴까요?"
+
+msgid "IDS_MUSIC_POP_ALREADY_EXISTS"
+msgstr "동일한 항목이 있습니다."
+
+msgid "IDS_MUSIC_OPT_SCAN_FOR_NEARBY_DEVICES"
+msgstr "주변 디바이스 찾기"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR"
+msgstr "1시간 후"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_1_MIN"
+msgstr "1시간 1분 후"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS_1_MIN"
+msgstr "%d시간 1분 후"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_MIN"
+msgstr "1분 후"
+
+msgid "IDS_MUSIC_OPT_GO_TO_STORE"
+msgstr "스토어로 이동"
+
+msgid "IDS_MUSIC_SK3_ADD_TRACKS"
+msgstr "곡 추가"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FROM_MUSIC_THEY_WILL_BE_SHOWN_HERE"
+msgstr "[뮤직]에서 다운로드한 곡은 여기에 표시됩니다."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_YOUR_FAVOURITES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "곡을 [즐겨찾기]에 추가하면 여기에 표시됩니다."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_PLAY_TRACKS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "곡을 재생하면 여기에 표시됩니다."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_PS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "%s에 추가한 곡은 여기에 표시합니다."
+
+msgid "IDS_MUSIC_BODY_NO_PURCHASED_CONTENT"
+msgstr "구매한 컨텐츠가 없습니다"
+
+msgid "IDS_MUSIC_SK_SAVE_AS"
+msgstr "저장 옵션"
+
+msgid "IDS_MUSIC_POP_MUSICPLAYER_UPDATING_FAILED"
+msgstr "업데이트하지 못하였습니다."
+
+msgid "IDS_MUSIC_BODY_EXCITING_M_ADJECTIVE"
+msgstr "신나는"
+
+msgid "IDS_MUSIC_BODY_SEARCH_MY_MUSIC"
+msgstr "내 음악 검색"
+
+msgid "IDS_MUSIC_HEADER_CONNECTED_DEVICES"
+msgstr "연결된 디바이스"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST_PS"
+msgstr "내 재생 목록 %s"
+
+msgid "IDS_MUSIC_BODY_NO_DEVICES"
+msgstr "디바이스가 없습니다"
+
+msgid "IDS_MUSIC_HEADER_AVAILABLE_DEVICES_ABB"
+msgstr "사용 가능한 디바이스"
+
+msgid "IDS_MUSIC_POP_SET"
+msgstr "설정"
+
+msgid "IDS_MUSIC_POP_REMOVE_FAILED"
+msgstr "제거하지 못하였습니다."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_USE_FAST_FORWARD_AND_REWIND_WHEN_NEARBY_DEVICES_ARE_ENABLED"
+msgstr "주변 디바이스를 실행하는 중에는 빨리감기 및 되감기 기능을 사용할 수 없습니다."
+
+msgid "IDS_MUSIC_OPT_SET_AS"
+msgstr "다음으로 설정"
+
+msgid "IDS_MUSIC_OPT_HEADPHONES_ABB"
+msgstr "헤드폰"
+
+msgid "IDS_MUSIC_OPT_SPEAKER"
+msgstr "스피커"
+
+msgid "IDS_MUSIC_BODY_1_SONG"
+msgstr "1곡"
+
+msgid "IDS_MUSIC_BODY_PD_SONGS"
+msgstr "음악 %d곡"
+
+msgid "IDS_MUSIC_BODY_1_TRACK"
+msgstr "곡 1개"
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_1_TRACK"
+msgstr "곡 1개 셔플"
+
+msgid "IDS_MUSIC_POP_NO_MUSIC_FOUND_FOR_SELECTED_CELL"
+msgstr "선택한 셀에 음악이 없습니다"
+
+msgid "IDS_MUSIC_BODY_DO_NOT_SHOW_AGAIN"
+msgstr "다시 보지 않기"
+
+msgid "IDS_MUSIC_BODY_VARIOUS_ARTISTS"
+msgstr "다양한 아티스트"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_HOME_SCREEN_ABB"
+msgstr "홈 화면에 추가"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_FAVOURITES"
+msgstr "즐겨찾기에 추가"
+
+msgid "IDS_MUSIC_OPT_EDIT_TITLE"
+msgstr "제목 편집"
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_PERSONAL_STORAGE"
+msgstr "퍼스널 저장공간에서 제거"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FOLDERS_WILL_BE_SHOWN"
+msgstr "곡을 다운로드하면 폴더에 표시합니다."
+
+msgid "IDS_MUSIC_BODY_SETTINGS_VOLUME"
+msgstr "음량"
+
+msgid "IDS_MUSIC_BODY_REPEAT_OFF"
+msgstr "반복재생 해제"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_REPEAT_ALL"
+msgstr "전체 반복"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_OFF"
+msgstr "셔플 해제"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_ON"
+msgstr "셔플 설정"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST"
+msgstr "내 재생 목록"
+
+msgid "IDS_MUSIC_MBODY_DEFAULT_PLAYLISTS"
+msgstr "기본 재생 목록"
+
+msgid "IDS_MUSIC_BODY_DETAILS_RECORDING_DATE"
+msgstr "만든 날짜"
+
+msgid "IDS_MUSIC_OPT_ALBUM_ART_ABB"
+msgstr "앨범 아트"
+
+msgid "IDS_MUSIC_BODY_1_GENRE"
+msgstr "장르 1개"
+
+msgid "IDS_MUSIC_BODY_PD_FOLDERS"
+msgstr "폴더 %d개"
+
+msgid "IDS_MUSIC_BODY_1_FOLDER"
+msgstr "폴더 1개"
+
+msgid "IDS_MUSIC_BODY_1_ARTIST"
+msgstr "아티스트 1명"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_M_MUSIC"
+msgstr "앨범 1개"
+
+msgid "IDS_MUSIC_BODY_1_PLAYLIST"
+msgstr "재생 목록 1개"
+
+msgid "IDS_MUSIC_BODY_MUSIC_PLAYER"
+msgstr "뮤직"
+
+msgid "IDS_MUSIC_BUTTON_MOVE"
+msgstr "이동"
+
+msgid "IDS_MUSIC_BUTTON_AUTO_RECOMMENDATIONS"
+msgstr "자동 추천"
+
+msgid "IDS_MUSIC_BUTTON_FROM_THE_BEGINNING"
+msgstr "처음부터"
+
+msgid "IDS_MUSIC_HEADER_SUGGESTIONS_FOR_YOU"
+msgstr "나를 위한 추천"
+
+msgid "IDS_MUSIC_OPT_SAVE"
+msgstr "저장"
+
+msgid "IDS_MUSIC_TAB4_BASIC_M_EQUALIZING"
+msgstr "기본"
+
+msgid "IDS_MUSIC_BODY_INSTRUMENT"
+msgstr "악기"
+
+msgid "IDS_MUSIC_BODY_TREBLE_M_EQUALISER"
+msgstr "고음"
+
+msgid "IDS_MUSIC_BODY_BASS_M_EQUALISER"
+msgstr "저음"
+
+msgid "IDS_MUSIC_BODY_NO_EFFECTS_ARE_APPLIED_IN_THIS_MODE_ABB"
+msgstr "이 모드에는 아무 효과도 적용되지 않습니다."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_TIMBRE_OF_A_TUBE_AMP_ABB"
+msgstr "진공관 앰프 효과를 사용하여 선명한 음색을 제공합니다."
+
+msgid "IDS_MUSIC_OPT_TUBE_AMP_EFFECT"
+msgstr "진공관 앰프 효과"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_EFFECT_OF_VIRTUAL_71_CHANNEL_SURROUND_SOUND_ABB"
+msgstr "가상 7.1 채널의 서라운드 효과를 적용합니다."
+
+msgid "IDS_MUSIC_HEADER_SMALL_ROOM_M_REVERB_ABB"
+msgstr "작은 공간"
+
+msgid "IDS_MUSIC_HEADER_LARGE_ROOM_M_REVERB_ABB"
+msgstr "큰 공간"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_LARGE_ROOM_EG_A_THEATRE_ABB"
+msgstr "큰 극장에서 생기는 소리의 울림 효과를 적용합니다."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_CONCERT_HALL_ABB"
+msgstr "콘서트 홀에서 생기는 울림 효과를 적용합니다."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_SMALL_SPACE_EG_A_STUDIO_ABB"
+msgstr "스튜디오 같은 공간에서 생기는 소리의 울림 효과를 적용합니다."
+
+msgid "IDS_MUSIC_BUTTON_3D_CHN"
+msgstr "3D"
+
+msgid "IDS_MUSIC_BODY_CLARITY_M_SOUNDEFFECT"
+msgstr "명료도"
+
+msgid "IDS_MUSIC_BUTTON_RESET"
+msgstr "초기화"
+
+msgid "IDS_MUSIC_TAB_YEARS"
+msgstr "연도"
+
+msgid "IDS_MUSIC_TAB_GENRES"
+msgstr "장르"
+
+msgid "IDS_MUSIC_TAB_COMPOSERS"
+msgstr "작곡가"
+
+msgid "IDS_MUSIC_TAB_ALL_TRACKS"
+msgstr "모든 곡"
+
+msgid "IDS_MUSIC_SK3_GO_TO_QUICK_LIST"
+msgstr "퀵리스트"
+
+msgid "IDS_MUSIC_SK3_FIND"
+msgstr "찾기"
+
+msgid "IDS_MUSIC_SK3_ADD_TO_QUICK_LIST"
+msgstr "퀵리스트에 추가"
+
+msgid "IDS_MUSIC_POP_UNAUTHORISED_VIDEO_FILE_FOR_TV_OUT"
+msgstr "인증되지 않은 TV출력용 동영상 파일입니다."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_CREATE_MAXIMUM_NUMBER_OF_PLAYLISTS_REACHED"
+msgstr "새로 추가할 수 없습니다. 최대 재생 목록 수에 도달하였습니다."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTING_BLUETOOTH_HEADSET"
+msgstr "블루투스 헤드셋이 연결된 경우 음량을 조절할 수 없습니다."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTED_TO_BLUETOOTH_HEADSET"
+msgstr "블루투스 헤드셋이 연결된 경우 음량을 조절할 수 없습니다."
+
+msgid "IDS_MUSIC_POP_STOP_MUSIC_PLAYER_Q"
+msgstr "음악 재생을 중지할까요?"
+
+msgid "IDS_MUSIC_POP_PLEASE_EXIT_SILENT_MODE"
+msgstr "[무음 모드]를 해제하세요."
+
+msgid "IDS_MUSIC_POP_NETWORK_FAILURE"
+msgstr "네트워크에 연결할 수 없습니다."
+
+msgid "IDS_MUSIC_POP_MEMORY_CARD_LOADED"
+msgstr "SD 카드를 불러왔습니다."
+
+msgid "IDS_MUSIC_POP_DEVICE_SETTINGS_ERROR"
+msgstr "디바이스 설정에 오류가 있습니다."
+
+msgid "IDS_MUSIC_POP_COULD_NOT_FIND_A_MATCH_FOR_THE_SONG"
+msgstr "해당 음악과 어울리는 곡을 찾을 수 없습니다."
+
+msgid "IDS_MUSIC_POP_BUFFERING_MSTATUS"
+msgstr "버퍼링 중..."
+
+msgid "IDS_MUSIC_POP_BT_HEADSET_ONLY_SUPPORTS_NORMAL_EFFECTS_SETTING"
+msgstr "블루투스 헤드셋은 일반 음향 효과만 지원합니다."
+
+msgid "IDS_MUSIC_POP_APPLICATION_WILL_BE_CLOSED"
+msgstr "애플리케이션을 종료합니다."
+
+msgid "IDS_MUSIC_POP_ADDED_GO_TO_WISH_LIST_Q"
+msgstr "추가하였습니다. 위시리스트로 이동할까요?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_THE_SERVICE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "요금이 부과될 수 있는 서비스입니다. 계속할까요?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_STORE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "사이트에 접속하면 요금이 부과될 수 있습니다. 계속할까요?"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_ONLY_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES"
+msgstr "5.1 채널 음향 효과는 이어폰과 블루투스 헤드셋을 연결한 경우에만 적용됩니다."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "5.1채널 음향 효과는 이어폰을 연결한 경우에만 적용됩니다."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECTS_NOT_SUPPORTED_BY_SPEAKER"
+msgstr "스피커에서 5.1채널 음향 효과가 지원되지 않습니다."
+
+msgid "IDS_MUSIC_OPT_VIEW_BY_COVER_ART"
+msgstr "앨범 커버로 보기"
+
+msgid "IDS_MUSIC_OPT_SEND_TRACK"
+msgstr "곡 전송"
+
+msgid "IDS_MUSIC_OPT_RATE_TRACK"
+msgstr "등급 지정"
+
+msgid "IDS_MUSIC_OPT_PLAYLIST_MOVE_TRACK_IN_PLAYLIST"
+msgstr "곡 순서 변경"
+
+msgid "IDS_MUSIC_OPT_OPENPLAYLIST_CURRENT"
+msgstr "현재"
+
+msgid "IDS_MUSIC_OPT_DELETE_PLAYLIST"
+msgstr "재생 목록 삭제"
+
+msgid "IDS_MUSIC_OPT_BACKGROUND_PLAYING"
+msgstr "배경음악 설정"
+
+msgid "IDS_MUSIC_HEADER_EFFECTS"
+msgstr "효과"
+
+msgid "IDS_MUSIC_BUTTON_BUY_NOW"
+msgstr "지금 구매"
+
+msgid "IDS_MUSIC_BODY_WOW_HD"
+msgstr "Wow HD"
+
+msgid "IDS_MUSIC_BODY_WISHLIST"
+msgstr "위시리스트"
+
+msgid "IDS_MUSIC_BODY_WIDE"
+msgstr "와이드"
+
+msgid "IDS_MUSIC_BODY_WHA_WHA"
+msgstr "와-와"
+
+msgid "IDS_MUSIC_BODY_VIBE_WOOFER"
+msgstr "바이브 우퍼"
+
+msgid "IDS_MUSIC_BODY_TREMOLO"
+msgstr "트레몰로"
+
+msgid "IDS_MUSIC_BODY_TAP_TWICE_TO_PLAY_PAUSE_MUSIC"
+msgstr "음악을 재생/일시정지하려면 두 번 누르세요."
+
+msgid "IDS_MUSIC_BODY_SHARE_TRACK_VIA_BLUETOOTH"
+msgstr "블루투스로 곡 공유"
+
+msgid "IDS_MUSIC_BODY_SETUPWIZARD_WELCOME_TO_THE_MUSIC_SETUP_WIZARD_CONTINUE_Q"
+msgstr "음악 설정 마법사에 오신 것을 환영합니다. 다음 화면을 따라 휴대전화를 구성하세요. 계속할까요?"
+
+msgid "IDS_MUSIC_BODY_QUICK_LIST"
+msgstr "퀵리스트"
+
+msgid "IDS_MUSIC_BODY_PLAYINGSETTINGS_SOUND_EFFECTS"
+msgstr "음향 효과"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_ALL"
+msgstr "전체"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_1"
+msgstr "1"
+
+msgid "IDS_MUSIC_BODY_PLAYERSETTINGS_VOLUME"
+msgstr "음량"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_SELECTED"
+msgstr "곡 %d개를 선택하였습니다."
+
+msgid "IDS_MUSIC_BODY_NO_PODCASTS"
+msgstr "팟 캐스트가 없습니다"
+
+msgid "IDS_MUSIC_BODY_FIND_SIMILAR"
+msgstr "유사 음악 찾기"
+
+msgid "IDS_MUSIC_BODY_BACKGROUND_PLAY"
+msgstr "배경음악 재생"
+
+msgid "IDS_MUSIC_BODY_51_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "음향 효과를 해제한 경우에만 5.1 채널을 실행할 수 있습니다."
+
+msgid "IDS_MUSIC_TAB4_PODCASTS"
+msgstr "팟캐스트"
+
+msgid "IDS_MUSIC_SK2_EDIT_IMAGE"
+msgstr "이미지 편집"
+
+msgid "IDS_MUSIC_POP_PLAYING_ANY_SOUNDS_WILL_STOP_AND_SAVE_YOUR_VOICE_RECORDING_PLAY_Q"
+msgstr "소리를 재생하면 음성 녹음을 중지하고 저장합니다. 재생할까요?"
+
+msgid "IDS_MUSIC_POP_MAXIMUM_NUMBER_OF_ITEMS_HPD_SELECTED"
+msgstr "최대 항목 수(%d)를 선택하였습니다."
+
+msgid "IDS_MUSIC_POP_BLUETOOTH_DISCONNECTED"
+msgstr "블루투스 연결을 해제하였습니다."
+
+msgid "IDS_MUSIC_POP_5_1_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "음향 효과를 해제한 경우에만 5.1 채널을 실행할 수 있습니다."
+
+msgid "IDS_MUSIC_OPT_TAKE_PICTURE"
+msgstr "사진 촬영"
+
+msgid "IDS_MUSIC_OPT_SHOW_MUSIC_VIEW_ABB"
+msgstr "음악 보기 표시"
+
+msgid "IDS_MUSIC_OPT_PAUSE"
+msgstr "일시정지"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALBUM"
+msgstr "앨범 재생"
+
+msgid "IDS_MUSIC_OPT_LIST_BY"
+msgstr "정렬 기준"
+
+msgid "IDS_MUSIC_OPT_HISTORY"
+msgstr "기록"
+
+msgid "IDS_MUSIC_OPT_HIDE_MUSIC_VIEW_ABB"
+msgstr "음악 보기 숨기기"
+
+msgid "IDS_MUSIC_OPT_FIND_TAG"
+msgstr "태그 찾기"
+
+msgid "IDS_MUSIC_OPT_DROPBOX_CONTENT_ABB"
+msgstr "Dropbox 컨텐츠"
+
+msgid "IDS_MUSIC_OPT_CONTENT_ON_PHONE_ABB"
+msgstr "디바이스 컨텐츠"
+
+msgid "IDS_MUSIC_OPT_CHANGE_IMAGE"
+msgstr "이미지 변경"
+
+msgid "IDS_MUSIC_HEADER_DELETE_DROPBOX_DATA_ABB"
+msgstr "Dropbox 데이터 삭제"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_STREAM_YOUR_MUSIC_TO_DEVICES_USING_ALLSHARE"
+msgstr "AllShare를 사용하여 음악을 디바이스로 스트리밍할 수 있습니다."
+
+msgid "IDS_MUSIC_BODY_VALIDITY"
+msgstr "유효 횟수"
+
+msgid "IDS_MUSIC_BODY_TYPE_CNOUN"
+msgstr "종류"
+
+msgid "IDS_MUSIC_BODY_THIS_WILL_DELETE_THE_FILE_FROM_THE_SERVER_AND_ANY_CONNECTED_DEVICES_AS_WELL"
+msgstr "서버뿐만 아니라 연결된 디바이스의 파일도 삭제합니다."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_ARTISTS"
+msgstr "아티스트"
+
+msgid "IDS_MUSIC_BODY_PLAYINGDETAILS_ALBUM_ART"
+msgstr "앨범 아트"
+
+msgid "IDS_MUSIC_BODY_OTHER_CONTENTS"
+msgstr "다른 컨텐츠"
+
+msgid "IDS_MUSIC_BODY_NAME_TOO_LONG"
+msgstr "이름이 너무 깁니다."
+
+msgid "IDS_MUSIC_BODY_MUSIC_CLARITY"
+msgstr "선명한 음질"
+
+msgid "IDS_MUSIC_BODY_HIGH_VOLUMES_MAY_HARM_YOUR_HEARING_IF_YOU_LISTEN_FOR_A_LONG_TIME"
+msgstr "오랫동안 큰 소리로 음악을 들으면 청각이 손상될 수 있습니다."
+
+msgid "IDS_MUSIC_BODY_AVAILABLE_USES"
+msgstr "사용 가능"
+
+msgid "IDS_MUSIC_TPOP_SOUND_EFFECTS_ONLY_AVAILABLE_WHILE_HEADPHONES_CONNECTED"
+msgstr "해당 음향 효과는 헤드폰이 연결된 경우에만 사용할 수 있습니다."
+
+msgid "IDS_ST_OPT_ADD_TO_YOUR_PERSONAL_STORAGE"
+msgstr "퍼스널 저장공간에 추가"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_YOUR_PERSONAL_STORAGE"
+msgstr "퍼스널 저장공간에서 제거"
+
+msgid "IDS_ST_BODY_CONTEXTUAL_POP_UP_T_TALKBACK"
+msgstr "상황별 팝업 메뉴입니다"
+
+msgid "IDS_ST_BODY_A_CONTEXTUAL_POP_UP_IS_OPEN_DOUBLE_TAP_TO_CLOSE_IT_T_TALKBACK"
+msgstr "상황별 팝업 메뉴가 열렸습니다. 닫으려면 팝업 메뉴를 두 번 누르세요"
+
+msgid "IDS_ST_BODY_REPEAT_ONE"
+msgstr "1곡 반복"
+
+msgid "IDS_ST_BUTTON_MOVING_ING"
+msgstr "이동 중..."
+
+msgid "IDS_HS_BODY_SELECT_UP_TO_PD_ITEMS"
+msgstr "Select up to %d items."
+
+msgid "IDS_CAM_BODY_TAB_T_TTS"
+msgstr "탭"
+
+msgid "IDS_DLNA_OPT2_CHANGE_PLAYER"
+msgstr "플레이어 변경"
+
+msgid "IDS_BR_SK_TABS"
+msgstr "탭"
+
+msgid "IDS_MF_BODY_DROPBOX_ABB"
+msgstr "Dropbox"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "음악 파일의 하이라이트 부분만 추출합니다."
+
+msgid "IDS_MF_BODY_PARENT_RATING"
+msgstr "부모의 시청 지도가 필요한 등급"
+
+msgid "IDS_VR_POP_FILE_NOT_FOUND"
+msgstr "파일을 찾을 수 없습니다."
+
+msgid "IDS_PB_POP_CALLER_RINGTONE_SAVED"
+msgstr "발신자별 벨소리를 저장하였습니다."
+
+msgid "IDS_MUSIC_BODY_BIT_DEPTH"
+msgstr "비트 심도"
+
+msgid "IDS_MUSIC_BODY_SIZE"
+msgstr "크기"
+
+msgid "IDS_MF_HEADER_PD_SELECTED"
+msgstr "%d개 선택"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_THIS_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "디바이스에 곡을 추가하면 여기에 표시됩니다."
+
+msgid "IDS_MUSIC_TMBODY_LENGTH"
+msgstr "길이"
+
+msgid "IDS_MUSIC_POP_1_FOLDER_WILL_BE_DELETED"
+msgstr "폴더 1개를 삭제합니다."
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "내용이 없습니다"
+
+msgid "IDS_MUSIC_ITAB4_FOLDERS"
+msgstr "폴더"
+
+msgid "IDS_MUSIC_HEADER_MY_PLAYLISTS_ABB"
+msgstr "내 재생 목록"
+
+msgid "IDS_MP_BODY_SOUND_PLAYER"
+msgstr "사운드 플레이어"
+
+msgid "IDS_MUSIC_OPT_SETTINGS"
+msgstr "설정"
+
+msgid "IDS_MUSIC_POP_DELETING"
+msgstr "삭제 중..."
+
+msgid "IDS_MUSIC_POP_1_TRACK_WILL_BE_DELETED"
+msgstr "트랙 1개를 삭제합니다."
+
+msgid "IDS_MUSIC_POP_ALL_TRACKS_WILL_BE_DELETED"
+msgstr "모든 곡을 삭제합니다."
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_WILL_BE_DELETED"
+msgstr "트랙 %d개를 삭제합니다."
+
+msgid "IDS_MUSIC_POP_1_PLAYLIST_WILL_BE_DELETED"
+msgstr "재생 목록 1개를 삭제합니다."
+
+msgid "IDS_MUSIC_POP_PD_PLAYLISTS_WILL_BE_DELETED"
+msgstr "재생 목록 %d개를 삭제합니다."
+
+msgid "IDS_MUSIC_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "앨범 %d개를 삭제합니다."
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS_WILL_BE_DELETED"
+msgstr "아티스트 %d명을 삭제합니다."
+
+msgid "IDS_MUSIC_POP_PD_FOLDERS_WILL_BE_DELETED"
+msgstr "폴더 %d개를 삭제합니다."
+
+msgid "IDS_ST_POP_CONNECTION_FAILED"
+msgstr "연결하지 못하였습니다."
+
+msgid "IDS_MUSIC_BODY_CLASSIC"
+msgstr "클래식"
+
+msgid "IDS_MUSIC_BODY_ROCK"
+msgstr "락"
+
+msgid "IDS_MUSIC_BODY_JAZZ"
+msgstr "재즈"
+
+msgid "IDS_MUSIC_BODY_POP"
+msgstr "팝"
+
+msgid "IDS_MUSIC_BODY_AUTO"
+msgstr "자동"
+
+msgid "IDS_MUSIC_POP_CURRENT_SOUND_EFFECT_NOT_SUPPORTED_BY_HDMI"
+msgstr "HDMI에서 지원되지 않는 음향 효과입니다."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_BLUETOOTH"
+msgstr "블루투스에서 해당 음향 효과가 지원되지 않습니다."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_LINE_OUT"
+msgstr "외부 출력에서 해당 음향 효과가 지원되지 않습니다."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_HDMI"
+msgstr "HDMI에서 음향 효과가 지원되지 않습니다."
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EFFECT"
+msgstr "진공관 앰프"
+
+msgid "IDS_MUSIC_BODY_CUSTOM"
+msgstr "직접 설정"
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EQUALISER_ABB"
+msgstr "진공관 앰프"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "재생 목록에 곡 %d개를 추가하였습니다."
+
+msgid "IDS_MUSIC_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "재생 목록에 곡 1개를 추가하였습니다."
+
+msgid "IDS_MUSIC_HEADER_ADD_TRACKS_TO_PLAYLIST_ABB"
+msgstr "재생 목록에 곡 추가"
+
+msgid "IDS_MUSIC_POP_PS_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "%s 이름은 이미 사용 중입니다. 다른 이름을 입력하세요."
+
+msgid "IDS_MUSIC_TMBODY_DATE_OF_RECORDING"
+msgstr "녹음 날짜"
+
+msgid "IDS_MBP_TPOP_TRACK_SET_AS_ALARM_TONE"
+msgstr "곡을 알람음으로 설정하였습니다."
+
+msgid "IDS_MUSIC_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "검색 결과가 없습니다"
+
+msgid "IDS_MUSIC_OPT_DEFAULT_RINGTONE_ABB"
+msgstr "기본 벨소리"
+
+msgid "IDS_MUSIC_TPOP_TRACK_SET_AS_CALLER_RINGTONE"
+msgstr "곡을 발신자별 벨소리로 설정하였습니다."
+
+msgid "IDS_MP_TPOP_TRACK_SET_AS_RINGTONE"
+msgstr "곡을 벨소리로 설정하였습니다."
+
+msgid "IDS_DLNA_BODY_ADD_TO_NOW_PLAYING_LIST"
+msgstr "현재 재생 목록에 추가"
+
+msgid "IDS_MUSIC_TPOP_EQUALISER_SETTINGS_WILL_BE_APPLIED_WHILE_PLAYING_MUSIC"
+msgstr "음악을 재생할 때 이퀄라이저 설정을 적용합니다."
+
+msgid "IDS_ST_BODY_ALERT"
+msgstr "알림"
+
+msgid "IDS_IV_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "앨범 1개를 삭제합니다."
+
+msgid "IDS_MUSIC_OPT_SD_CARD"
+msgstr "SD 카드"
+
+msgid "IDS_MUSIC_SBODY_DEVICE_STORAGE"
+msgstr "디바이스 저장공간"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE"
+msgstr "사용 중인 재생 목록 이름입니다."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_PD"
+msgstr "재생 목록%d"
+
+msgid "IDS_MUSIC_HEADER_CREATE"
+msgstr "추가"
+
+msgid "IDS_MUSIC_HEADER_EQUALISER_PRESET_ABB"
+msgstr "이퀄라이저 사용자 설정"
+
+msgid "IDS_MUSIC_OPT_AUTOMATIC_M_EQUALIZER_EFFECT"
+msgstr "자동"
+
+msgid "IDS_MUSIC_OPT_CLASSICAL_M_EQUALIZER_EFFECT"
+msgstr "클래식"
+
+msgid "IDS_MUSIC_HEADER_ENVIRONMENT_EFFECT_ABB"
+msgstr "환경 효과"
+
+msgid "IDS_VIDEO_POP_THE_FILE_TYPE_IS_NOT_SUPPORTED"
+msgstr "지원되지 않는 파일 형식입니다."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_CREATE_PLAYLISTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "새 재생 목록을 추가하면 여기에 표시합니다."
+
+msgid "IDS_ST_HEADER_SELECT_AUDIO_DEVICE_ABB"
+msgstr "오디오 디바이스 선택"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "사용 중인 재생 목록 이름입니다. 다른 이름을 입력하세요."
+
+msgid "IDS_MUSIC_HEADER_SOUNDALIVE_ABB3"
+msgstr "SoundAlive"
+
+msgid "IDS_MUSIC_OPT_NOW_PLAYING_LIST"
+msgstr "현재 재생 목록"
+
+msgid "IDS_MUSIC_OPT_SHOW_LYRICS"
+msgstr "가사 표시"
+
+msgid "IDS_MUSIC_OPT_HIDE_LYRICS"
+msgstr "가사 숨기기"
+
+msgid "IDS_MUSIC_TPOP_UNABLE_TO_PLAY_MUSIC_DURING_CALLS"
+msgstr "통화 중에는 음악을 재생할 수 없습니다."
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "삭제"
+
+msgid "IDS_MUSIC_HEADER_SELECT"
+msgstr "선택"
+
+msgid "IDS_TPLATFORM_OPT_NFC"
+msgstr "NFC"
+
+msgid "IDS_MUSIC_HEADER_UNABLE_TO_PLAY_TRACK"
+msgstr "곡을 재생할 수 없음"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "완료"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "취소"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "삭제"
+
+msgid "IDS_MUSIC_POP_RENAME"
+msgstr "이름 변경"
+
+msgid "IDS_MUSIC_OPT_MESSAGE"
+msgstr "메시지"
+
+msgid "IDS_MUSIC_SK_OK"
+msgstr "확인"
+
+msgid "IDS_MUSIC_SK_CANCEL"
+msgstr "취소"
+
+msgid "IDS_MUSIC_BUTTON_REFRESH"
+msgstr "새로고침"
+
+msgid "IDS_MUSIC_BODY_SELECT_ALL"
+msgstr "모두 선택"
+
+msgid "IDS_MUSIC_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_MUSIC_POP_DELETED"
+msgstr "삭제하였습니다."
+
+msgid "IDS_MUSIC_OPT_STOP"
+msgstr "중지"
+
+msgid "IDS_MUSIC_BODY_UNKNOWN"
+msgstr "알 수 없음"
+
+msgid "IDS_MUSIC_BODY_TITLE"
+msgstr "제목"
+
+msgid "IDS_MUSIC_OPT_SENDVIA_EMAIL"
+msgstr "이메일"
+
+msgid "IDS_MUSIC_OPT_BLUETOOTH"
+msgstr "블루투스"
+
+msgid "IDS_MUSIC_HEADER_DOWNLOAD"
+msgstr "다운로드"
+
+msgid "IDS_MUSIC_POP_LOW_BATTERY"
+msgstr "배터리가 부족합니다."
+
+msgid "IDS_MUSIC_HEADER_AUDIO_DEVICE"
+msgstr "오디오 디바이스"
+
+msgid "IDS_MUSIC_HEADER_DETAILS"
+msgstr "상세정보"
+
+msgid "IDS_MUSIC_OPT_END"
+msgstr "종료"
+
+msgid "IDS_MUSIC_OPT_EDIT"
+msgstr "편집"
+
+msgid "IDS_CAM_HEADER_UPDATED"
+msgstr "업데이트를 완료하였습니다."
+
+msgid "IDS_MUSIC_POP_REMOVED"
+msgstr "제거하였습니다."
+
+msgid "IDS_MUSIC_OPT_SELECTED"
+msgstr "하나만 선택"
+
+msgid "IDS_ST_BUTTON_SCAN"
+msgstr "찾기"
+
+msgid "IDS_MF_POP_ERROR"
+msgstr "오류가 발생하였습니다."
+
+msgid "IDS_MF_POP_MEMORY_FULL"
+msgstr "저장공간을 모두 사용 중입니다."
+
+msgid "IDS_MUSIC_MBODY_QUEUE"
+msgstr "현재 재생 목록"
+
+msgid "IDS_MUSIC_OPT_VOLUME"
+msgstr "음량"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE"
+msgstr "셔플"
+
+msgid "IDS_MUSIC_OPT_REPEAT"
+msgstr "반복"
+
+msgid "IDS_COM_BODY_DETAILS"
+msgstr "Details"
+
+msgid "IDS_COM_BODY_DETAILS_TITLE"
+msgstr "Title"
+
+msgid "IDS_COM_BODY_EDIT"
+msgstr "Edit"
+
+msgid "IDS_COM_BODY_EMAIL"
+msgstr "Email"
+
+msgid "IDS_COM_BODY_END"
+msgstr "End"
+
+msgid "IDS_COM_BODY_FOLDERS"
+msgstr "Folders"
+
+msgid "IDS_COM_BODY_GALLERY"
+msgstr "Gallery"
+
+msgid "IDS_COM_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_COM_BODY_LOADING"
+msgstr "Loading..."
+
+msgid "IDS_COM_BODY_LOW_BATTERY"
+msgstr "Low battery."
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Message"
+
+msgid "IDS_COM_BODY_MUSIC"
+msgstr "Music"
+
+msgid "IDS_COM_BODY_NFC"
+msgstr "NFC"
+
+msgid "IDS_COM_BODY_NO_CONTENTS"
+msgstr "No content"
+
+msgid "IDS_COM_BODY_PAUSE"
+msgstr "Pause"
+
+msgid "IDS_COM_BODY_PD_SELECTED"
+msgstr "%d selected."
+
+msgid "IDS_COM_BODY_PREVIOUS"
+msgstr "Previous"
+
+msgid "IDS_COM_BODY_RESET_A"
+msgstr "Reset"
+
+msgid "IDS_COM_BODY_SELECTED"
+msgstr "Selected"
+
+msgid "IDS_COM_BODY_SELECT_ALL"
+msgstr "Select all"
+
+msgid "IDS_COM_BODY_SETTINGS"
+msgstr "Settings"
+
+msgid "IDS_COM_BODY_TIME"
+msgstr "Time"
+
+msgid "IDS_COM_BODY_UNABLE_TO_ADD"
+msgstr "Unable to add."
+
+msgid "IDS_COM_BODY_UNKNOWN"
+msgstr "Unknown"
+
+msgid "IDS_COM_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_COM_BUTTON_SCAN"
+msgstr "Scan"
+
+msgid "IDS_COM_BUTTON_SHARE"
+msgstr "Share"
+
+msgid "IDS_COM_HEADER_AUDIO_DEVICE_ABB"
+msgstr "Audio device"
+
+msgid "IDS_COM_OPT_ADDED"
+msgstr "Added."
+
+msgid "IDS_COM_OPT_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_POP_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_POP_CONNECTION_FAILED"
+msgstr "Connection failed."
+
+msgid "IDS_COM_POP_DELETED"
+msgstr "Deleted."
+
+msgid "IDS_COM_POP_DELETE_Q"
+msgstr "Delete?"
+
+msgid "IDS_COM_POP_DONE"
+msgstr "Done"
+
+msgid "IDS_COM_POP_DOWNLOADING"
+msgstr "Downloading..."
+
+msgid "IDS_COM_POP_ERROR"
+msgstr "Error."
+
+msgid "IDS_COM_POP_FAILED"
+msgstr "Failed."
+
+msgid "IDS_COM_POP_FILE_NOT_EXIST"
+msgstr "This file does not exist."
+
+msgid "IDS_COM_POP_FILE_NOT_FOUND"
+msgstr "File not found."
+
+msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximum number of characters reached."
+
+msgid "IDS_COM_POP_MEMORY_FULL"
+msgstr "Memory full."
+
+msgid "IDS_COM_POP_REMOVED"
+msgstr "Removed."
+
+msgid "IDS_COM_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Unable to use during Mass storage mode."
+
+msgid "IDS_COM_POP_UPDATED"
+msgstr "Updated."
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_SK_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_SK_DOWNLOAD"
+msgstr "Download"
+
+msgid "IDS_COM_SK_NEW"
+msgstr "New"
+
+msgid "IDS_COM_SK_NEXT"
+msgstr "Next"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_SK_REFRESH"
+msgstr "Refresh"
+
+msgid "IDS_COM_SK_REMOVE"
+msgstr "Remove"
+
+msgid "IDS_COM_SK_SAVE"
+msgstr "Save"
+
+msgid "IDS_COM_SK_SELECT"
+msgstr "Select"
+
+msgid "IDS_COM_SK_SET"
+msgstr "Set"
+
+msgid "IDS_COM_SK_STOP"
+msgstr "Stop"
+
+
+msgid "IDS_MH_BODY_THE_PLAYLIST_NAME_PS_IS_ALREADY_IN_USE"
+msgstr "The playlist name %s is already in use."
+
+msgid "IDS_MH_BODY_TOTAL"
+msgstr "Total"
+
+msgid "IDS_MH_MBODY_RECENTLY_ADDED_M_SONG"
+msgstr "Recently added"
+
+msgid "IDS_MH_OPT_MORE_INFO_ABB"
+msgstr "More info"
+
+msgid "IDS_MH_POP_ALARM_TONE_SET"
+msgstr "Alarm tone set."
+
+msgid "IDS_MH_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 track added to playlist."
+
+msgid "IDS_MH_TPOP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d tracks added to playlist."
+
+msgid "IDS_MUSIC_OPT_RENAME"
+msgstr "Rename"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Unable to play during call."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "최대 파일 크기를 초과하였습니다."
+
+msgid "IDS_CAM_TPOP_UNABLE_TO_PLAY_MUSIC_WHILE_RECORDING_AUDIO_OR_VIDEO"
+msgstr "오디오 또는 동영상 촬영 중에는 음악을 재생할 수 없습니다."
+
--- /dev/null
+msgid "IDS_ST_BODY_LOADING_ING"
+msgstr "Įkeliama..."
+
+msgid "IDS_GALLERY_OPT_PRIVATE_M_CONTENT"
+msgstr "Privatus"
+
+msgid "IDS_MF_BODY_TIME"
+msgstr "Laikas"
+
+msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
+msgstr "Tokio failo nėra."
+
+msgid "IDS_MUSIC_POP_PHONE_RINGTONE"
+msgstr "Skambučio tonas"
+
+msgid "IDS_MUSIC_BODY_DURATION"
+msgstr "Trukmė"
+
+msgid "IDS_MUSIC_BODY_MUSIC_LOCATION"
+msgstr "Vieta"
+
+msgid "IDS_MUSIC_BODY_SET_AS_M_RINGTONE"
+msgstr "Nustatyti kaip"
+
+msgid "IDS_ST_OPT_ADD_TO_PERSONAL_PAGE"
+msgstr "Pridėti prie asmeninio puslapio"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_PERSONAL_PAGE_ABB"
+msgstr "Pašalinti iš asmen. pusl."
+
+msgid "IDS_ST_POP_MOVE_TO_NORMAL_STORAGE"
+msgstr "Perkelti į įprastą saugyklą"
+
+msgid "IDS_ST_POP_MOVE_TO_PERSONAL_STORAGE"
+msgstr "Perkelti į asmeninę saugyklą"
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEMS_WILL_BE_MOVED_TO_PS"
+msgstr "Pasirinkti elementai bus perkelti į %s."
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEM_WILL_BE_MOVED_TO_PS"
+msgstr "Pasirinktas elementas bus perkeltas į %s."
+
+msgid "IDS_VR_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Neįmanoma naudotis, kai įjungtas duomenų saugyklos režimas."
+
+msgid "IDS_MUSIC_POP_RINGTONE_ADDED"
+msgstr "Skambėjimo tonas pridėtas."
+
+msgid "IDS_CAM_BODY_BUTTON_T_TTS"
+msgstr "Mygtukas"
+
+msgid "IDS_MUSIC_HEADER_SELECT_ITEMS"
+msgstr "Rinktis elementus"
+
+msgid "IDS_ST_BODY_ADVANCED"
+msgstr "Išsamiau"
+
+msgid "IDS_ST_SK_PREVIOUS"
+msgstr "Ankst."
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Uždaryti"
+
+msgid "IDS_MUSIC_POP_ADDED"
+msgstr "Pridėta."
+
+msgid "IDS_MUSIC_POP_FAILED"
+msgstr "Nepavyko."
+
+msgid "IDS_MUSIC_BODY_NO_SEARCH_RESULTS"
+msgstr "Nėra paieškos rezultatų"
+
+msgid "IDS_MUSIC_SK_DONE"
+msgstr "Atlikta"
+
+msgid "IDS_MUSIC_BODY_NO_ITEMS"
+msgstr "Elementų nėra"
+
+msgid "IDS_BR_OPT_ADD_TO_HOME"
+msgstr "Įdėti į pradžios ekraną"
+
+msgid "IDS_BR_SK_NEXT"
+msgstr "Kitas"
+
+msgid "IDS_BR_BODY_DOWNLOADING_ING"
+msgstr "Atsisiunčiama..."
+
+msgid "IDS_IV_BODY_FAVOURITE"
+msgstr "Mėgstamiausias"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_PERSONAL_STORAGE"
+msgstr "Pridėti prie asmeninės saugyklos"
+
+msgid "IDS_DLNA_POP_DISCONNECTED_FROM_PS_CHECK_THE_NETWORK_STATUS_AND_THE_CONNECTED_DEVICE"
+msgstr "Atsijungiama nuo %s. Patikrinkite tinklo būseną ir prijungtą prietaisą."
+
+msgid "IDS_DLNA_OPT_VIA_SCREEN_MIRRORING_ABB"
+msgstr "Per ekrano dubliavimo f-ją"
+
+msgid "IDS_DLNA_OPT_VIA_HOME_NETWORK_ABB"
+msgstr "Per namų tinklą"
+
+msgid "IDS_IV_POP_ENTRY_IS_EMPTY"
+msgstr "Įrašas tuščias."
+
+msgid "IDS_FM_POP_UNAVAILABLE_DURING_CALL"
+msgstr "Pokalbio metu nepasiekiama."
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Pasiektas didžiausias simbolių skaičius."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_SHARE_DRM_FILE"
+msgstr "Neįmanoma bendrinti DRM failo."
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Šalinama..."
+
+msgid "IDS_MUSIC_HEADER_PD_DEVICES"
+msgstr "%d įrenginiai (-ių)"
+
+msgid "IDS_MUSIC_BUTTON_ENABLE_MOTION"
+msgstr "Įjungt judes."
+
+msgid "IDS_MUSIC_BUTTON_DONT_ASK_AGAIN"
+msgstr "Kitą kartą neklausti"
+
+msgid "IDS_MUSIC_BODY_NO_RESULTS_FOUND"
+msgstr "Rezultatų nerasta."
+
+msgid "IDS_VPL_OPT_HDMI"
+msgstr "HDMI"
+
+msgid "IDS_MUSIC_BODY_TURN_PHONE_OVER_TO_MUTE_INCOMING_CALLS_MESSAGE_ALERTS_AND_ALARMS"
+msgstr "Nutildykite gaunamus skambučius, naujos žinutės signalą ir žadintuvą apversdami telefoną."
+
+msgid "IDS_ST_BODY_NONE"
+msgstr "Nėra"
+
+msgid "IDS_ST_BODY_INTERNET"
+msgstr "Internetas"
+
+msgid "IDS_ST_BODY_GALLERY"
+msgstr "Galerija"
+
+msgid "IDS_ST_BODY_DOUBLE_TAP_TO_MOVE_TO_CONTENT_T_TTS"
+msgstr "Bakstelėkite du kartus, kad pereitumėte prie turinio."
+
+msgid "IDS_MUSIC_BODY_SURROUND"
+msgstr "Erdvinis garsas"
+
+msgid "IDS_MUSIC_OPT_LYRICS_ABB"
+msgstr "Dainos žodžiai"
+
+msgid "IDS_MUSIC_POP_AFTER_YOU_ADD_TRACKS_TO_MUSIC_ON_YOUR_MOBILE_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Pridėjus takelių prie muzikos mobiliajame įrenginyje, jie bus rodomi čia."
+
+msgid "IDS_MUSIC_BODY_SAMPLING_RATE"
+msgstr "Diskretizavimo dažnis"
+
+msgid "IDS_MUSIC_BODY_MARKED_AS_A_FAVOURITE"
+msgstr "Pažymėta kaip mėgstamiausia."
+
+msgid "IDS_MUSIC_BODY_MUSIC"
+msgstr "Muzika"
+
+msgid "IDS_MUSIC_BODY_NOT_MARKED_AS_A_FAVOURITE"
+msgstr "Nepažymėta kaip mėgstamiausia."
+
+msgid "IDS_MUSIC_HEADER_SEARCH_MUSIC_ABB"
+msgstr "Ieškoti muzikos"
+
+msgid "IDS_MUSIC_POP_AUTO_RECOMMENDATION_DOES_NOT_SUPPORT_THIS_AUDIO_FILE"
+msgstr "Automatinė rekomendacija nepalaiko šio garso failo."
+
+msgid "IDS_MUSIC_POP_SORRY_THE_PLAYER_DOES_NOT_SUPPORT_THIS_TYPE_OF_AUDIO_FILE"
+msgstr "Apgailestaujame, bet leistuvas nepalaiko šio tipo garso failo."
+
+msgid "IDS_MUSIC_BODY_FAVOURITES"
+msgstr "Mėgstamiausieji"
+
+msgid "IDS_MUSIC_BODY_MOST_PLAYED"
+msgstr "Dažniausiai grojami"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_ADDED"
+msgstr "Neseniai pridėti"
+
+msgid "IDS_MUSIC_OPT_CREATE_PLAYLIST"
+msgstr "Sukurti grojaraštį"
+
+msgid "IDS_MUSIC_OPT_REMOVE"
+msgstr "Šalinti"
+
+msgid "IDS_MUSIC_OPT_SETAS_CALLER_RINGTONE"
+msgstr "Skambintojo skambėjimo tonas"
+
+msgid "IDS_MUSIC_TAB4_ARTISTS"
+msgstr "Atlikėjai"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD"
+msgstr "Negalima pridėti."
+
+msgid "IDS_MUSIC_POP_UNABLE_CREATE_PLAYLIST"
+msgstr "Negalima sukurti grojaraščio."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_GET_TAG"
+msgstr "Neįmanoma gauti žymos."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_MORE_THAN_PD_MUSIC_FILE"
+msgstr "Negalima pridėti daugiau kaip %d muzikos failo (-ų)."
+
+msgid "IDS_MUSIC_BODY_ALBUM"
+msgstr "Albumas"
+
+msgid "IDS_MUSIC_BODY_AUTHOR"
+msgstr "Autorius"
+
+msgid "IDS_MUSIC_BODY_COPYRIGHT"
+msgstr "Autorių teisės"
+
+msgid "IDS_MUSIC_BODY_CREATE_PLAYLIST"
+msgstr "Sukurti grojaraštį"
+
+msgid "IDS_MUSIC_BODY_DESCRIPTION"
+msgstr "Aprašas"
+
+msgid "IDS_MUSIC_BODY_FORMAT"
+msgstr "Formatas"
+
+msgid "IDS_MUSIC_BODY_IMPOSSIBLE"
+msgstr "Neįmanoma"
+
+msgid "IDS_MUSIC_BODY_NO_PLAYLISTS"
+msgstr "Nėra grojaraščių"
+
+msgid "IDS_MUSIC_BODY_TRACK_NUMBER"
+msgstr "Įrašo numeris"
+
+msgid "IDS_MUSIC_POP_DELETE_Q"
+msgstr "Ar trinti?"
+
+msgid "IDS_MUSIC_POP_REMOVE_Q"
+msgstr "Ar šalinti?"
+
+msgid "IDS_MUSIC_POP_UNABLE_RENAME_PLAYLIST"
+msgstr "Negalima pakeisti grojaraščio pavadinimo."
+
+msgid "IDS_MUSIC_TAB4_ALBUMS"
+msgstr "Albumai"
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Pridedama..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Trinti %d albumus (-ų)?"
+
+msgid "IDS_MUSIC_TAB4_PLAYLISTS"
+msgstr "Grojaraščiai"
+
+msgid "IDS_MUSIC_OPT_ADD"
+msgstr "Pridėti"
+
+msgid "IDS_MUSIC_BODY_BIOGRAPHY"
+msgstr "Biografija"
+
+msgid "IDS_MUSIC_BODY_CREDITS"
+msgstr "Naudinga informacija"
+
+msgid "IDS_MUSIC_BODY_DETAILS_MEADIA_INFO"
+msgstr "Informacija apie mediją"
+
+msgid "IDS_MUSIC_BODY_DISCOGRAPHY"
+msgstr "Įrašų sąrašas"
+
+msgid "IDS_MUSIC_BODY_LYRIC"
+msgstr "Lyrinė"
+
+msgid "IDS_MUSIC_BODY_POSSIBLE"
+msgstr "Įmanoma"
+
+msgid "IDS_MUSIC_BODY_REVIEW"
+msgstr "Peržiūrėti"
+
+msgid "IDS_MUSIC_HEADER_TRACK_LIST"
+msgstr "Takelių sąrašas"
+
+msgid "IDS_MUSIC_BODY_ADD_TO_PLAYLIST"
+msgstr "Pridėti prie grojaraščio"
+
+msgid "IDS_MUSIC_BODY_ARTIST"
+msgstr "Atlikėjas"
+
+msgid "IDS_MUSIC_BODY_FORWARDING"
+msgstr "Persiuntimas"
+
+msgid "IDS_MUSIC_BODY_RECORDED_DATE"
+msgstr "Date of recording"
+
+msgid "IDS_MUSIC_BODY_PLAYLISTS"
+msgstr "Grojaraščiai"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_PLAYED"
+msgstr "Neseniai groti"
+
+msgid "IDS_MUSIC_BODY_TRACK_LENGTH"
+msgstr "Įrašo ilgis"
+
+msgid "IDS_MUSIC_HEADER_NO_SONGS"
+msgstr "Dainų nėra"
+
+msgid "IDS_MUSIC_POP_THIS_TRACK_WILL_BE_DELETED"
+msgstr "Šis takelis bus ištrintas."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_TRACKS_WILL_BE_DELETED"
+msgstr "Pasirinkti takeliai bus ištrinti."
+
+msgid "IDS_MUSIC_POP_THIS_ARTIST_WILL_BE_DELETED"
+msgstr "Šis atlikėjas bus ištrintas."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ARTISTS_WILL_BE_DELETED"
+msgstr "Pasirinkti atlikėjai bus ištrinti."
+
+msgid "IDS_MUSIC_POP_ALL_ARTISTS_WILL_BE_DELETED"
+msgstr "Visi atlikėjai bus ištrinti."
+
+msgid "IDS_MUSIC_POP_THIS_FOLDER_WILL_BE_DELETED"
+msgstr "Šis aplankas bus ištrintas."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_FOLDERS_WILL_BE_DELETED"
+msgstr "Pasirinkti aplankai bus ištrinti."
+
+msgid "IDS_MUSIC_POP_ALL_FOLDERS_WILL_BE_DELETED"
+msgstr "Bus ištrinti visi aplankai."
+
+msgid "IDS_MUSIC_POP_THIS_ALBUM_WILL_BE_DELETED"
+msgstr "Šis albumas bus ištrintas."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ALBUMS_WILL_BE_DELETED"
+msgstr "Pasirinkti albumai bus ištrinti."
+
+msgid "IDS_MUSIC_POP_ALL_ALBUMS_WILL_BE_DELETED"
+msgstr "Visi albumai bus ištrinti."
+
+msgid "IDS_MUSIC_POP_THIS_PLAYLIST_WILL_BE_DELETED"
+msgstr "Šis grojaraštis bus ištrintas."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Pasirinkti grojaraščiai bus ištrinti."
+
+msgid "IDS_MUSIC_POP_ALL_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Visi grojaraščiai bus ištrinti."
+
+msgid "IDS_MUSIC_HEADER_SONGS"
+msgstr "Dainos"
+
+msgid "IDS_MUSIC_OPT_REORDER"
+msgstr "Pertvarkyti"
+
+msgid "IDS_MUSIC_OPT_SAVE_AS_PLAYLIST"
+msgstr "Išsaugoti kaip grojaraštį"
+
+msgid "IDS_MUSIC_OPT_SETAS_ALARM_TONE"
+msgstr "Signalo tonas"
+
+msgid "IDS_MUSIC_POP_NOTHING_SELECTED"
+msgstr "Niekas nepasirinkta."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Neįmanoma paleisti. Įvyko klaida."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_UNSUPPORTED_FILETYPE"
+msgstr "Negalima paleisti. Nepalaikomas failo tipas."
+
+msgid "IDS_MUSIC_SK_SHARE"
+msgstr "Bendrinti"
+
+msgid "IDS_MUSIC_TAB4_CONDUCTORS"
+msgstr "Dirigentai"
+
+msgid "IDS_MUSIC_HEADER_SELECT_DEVICE"
+msgstr "Pasirinkite įrenginį"
+
+msgid "IDS_MUSIC_SK_VIEW_AS"
+msgstr "Žr.kaip"
+
+msgid "IDS_MUSIC_BODY_SOUNDEFFECTS_NORMAL"
+msgstr "Įprastas"
+
+msgid "IDS_MUSIC_BODY_USER"
+msgstr "Vartotojas"
+
+msgid "IDS_MUSIC_BODY_VOCAL_M_SOUNDEFFECT"
+msgstr "Vokalinė"
+
+msgid "IDS_MUSIC_MBODY_BASS_BOOST"
+msgstr "Žemųjų dažnių stiprinimas"
+
+msgid "IDS_MUSIC_MBODY_TREBLE_BOOST"
+msgstr "Aukštųjų dažnių stiprin."
+
+msgid "IDS_MUSIC_BODY_CAFE_M_SOUNDEFFECT"
+msgstr "Kavinė"
+
+msgid "IDS_MUSIC_OPT_VIRTUAL_71_CH"
+msgstr "Virtualus 7.1 kan."
+
+msgid "IDS_MUSIC_OPT_AFTER_15_MIN_ABB"
+msgstr "Po 15 min."
+
+msgid "IDS_MUSIC_BODY_AFTER_30_MIN"
+msgstr "Po 30 min."
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HOUR"
+msgstr "Po 1 val."
+
+msgid "IDS_MUSIC_POP_AFTER_1_HOUR_30_MIN"
+msgstr "Po 1 val. 30 min."
+
+msgid "IDS_MUSIC_BODY_AFTER_2_HOURS"
+msgstr "Po 2 val."
+
+msgid "IDS_MUSIC_BODY_MUSIC_AUTO_OFF"
+msgstr "Automatinis muzikos išjungimas"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES_ONLY"
+msgstr "Šis garso efektas veikia tik ausinių ir „Bluetooth“ ausinių režimu."
+
+msgid "IDS_MUSIC_TAB4_MUSIC_SQUARE"
+msgstr "Muzikos kvadrat."
+
+msgid "IDS_MUSIC_POP_NOT_ENOUGH_MUSIC_FILES_TO_PLAY_IN_MUSIC_SQUARE_AT_LEAST_PD_MUSIC_FILES_REQUIRED"
+msgstr "Nepakanka muzikos failų, kad juos būtų galima atkurti muzikos kvadrate. Reikia ne mažiau kaip %d muzikos failų."
+
+msgid "IDS_MUSIC_BODY_PASSION_M_MOOD"
+msgstr "Aistra"
+
+msgid "IDS_MUSIC_BODY_CALM_M_ADJECTIVE"
+msgstr "Rami"
+
+msgid "IDS_MUSIC_BODY_JOY_M_MOOD"
+msgstr "Džiaugsmas"
+
+msgid "IDS_MUSIC_BODY_LIBRARY_UPDATE"
+msgstr "Bibliotekos naujinys"
+
+msgid "IDS_MUSIC_POP_UPDATE_LIBRARY_Q"
+msgstr "Atnaujinti biblioteką?"
+
+msgid "IDS_MUSIC_BODY_CHANGE_AXIS"
+msgstr "Keisti ašį"
+
+msgid "IDS_MUSIC_ITAB4_GENRES"
+msgstr "Žanrai"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_1_TRACK"
+msgstr "1 albumas / 1 takelis"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_PD_TRACKS"
+msgstr "1 albumas / %d takeliai (-ių)"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS_PD_TRACKS"
+msgstr "Albumai: %d / takeliai: %d"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_CONTROL_MUSIC_PLAYER_WITH_THE_VOICE_COMMANDS_P1SS_P2SS_P3SS_P4SS_P5SS_AND_P6SS"
+msgstr "Galite valdyti muzikos grotuvą balso komandomis %1$s, %2$s, %3$s, %4$s, %5$s ir %6$s."
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_PD_TRACKS"
+msgstr "Maišyti %d įrašus (-ų)"
+
+msgid "IDS_MUSIC_BODY_MORE_INFO"
+msgstr "Daugiau informacijos"
+
+msgid "IDS_MUSIC_HEADER_MY_MUSIC_M_APPLICATION_NAME"
+msgstr "Mano muzika"
+
+msgid "IDS_MUSIC_OPT_LIST_VIEW"
+msgstr "Sąrašo vaizdas"
+
+msgid "IDS_MUSIC_OPT_PLAY_VIA_GROUP_PLAY"
+msgstr "Leiskite per „Group Play“"
+
+msgid "IDS_MUSIC_POP_TRACK_ADDED_TO_FAVOURITES"
+msgstr "Takelis pridėtas prie mėgstamiausiųjų."
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_FAVOURITES"
+msgstr "Pašalinti iš parankinių"
+
+msgid "IDS_MUSIC_BODY_NEW_M_LATEST"
+msgstr "Nauja"
+
+msgid "IDS_MUSIC_OPT_TRACKS"
+msgstr "Takeliai"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL"
+msgstr "Miniatiūra"
+
+msgid "IDS_MUSIC_SK_LIST"
+msgstr "Sąrašas"
+
+msgid "IDS_MUSIC_SK_OPEN_PLAYLIST"
+msgstr "Atidaryti grojaraštį"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALL"
+msgstr "Groti viską"
+
+msgid "IDS_MUSIC_POP_SELECTED_LIST_EMPTY"
+msgstr "Pasirinktas sąrašas yra tuščias."
+
+msgid "IDS_MUSIC_BODY_MOODS"
+msgstr "Nuotaikos"
+
+msgid "IDS_MUSIC_BUTTON_YEARS"
+msgstr "Metai"
+
+msgid "IDS_MUSIC_BODY_OLD"
+msgstr "Sena"
+
+msgid "IDS_MUSIC_BODY_MUSIC_SQUARE_ANALYSES_THE_CHARACTERISTICS_OF_MUSIC_FILES_STORED_ON_YOUR_DEVICE_AND_AUTOMATICALLY_CREATES_PLAYLISTS_MSG"
+msgstr "Muzikos kvadratas analizuoja muzikos failų, laikomų jūsų įrenginyje, ypatybes ir automatiškai kuria grojaraščius."
+
+msgid "IDS_MUSIC_BODY_PLAY_TRACKS_WITH_SIMILAR_CHARACTERISTICS_BY_SELECTING_A_SQUARE_ON_THE_SCREEN"
+msgstr "Pasirinkite kvadratą ekrane ir leiskite muzikos grojaraštį su panašiomis ypatybėmis."
+
+msgid "IDS_MUSIC_BODY_VIEW_PLAYLIST_DETAILS_BY_TAPPING_AND_HOLDING_THE_SQUARE_CURRENTLY_BEING_PLAYED"
+msgstr "Peržiūrėkite išsamesnę grojaraščio informaciją spustelėdami ir laikydami šiuo metu leidžiamą kvadratą."
+
+msgid "IDS_MUSIC_BODY_NEARBY_DEVICES"
+msgstr "Įrenginiai netoliese"
+
+msgid "IDS_MUSIC_POP_YOU_WILL_NEED_TO_UPDATE_THE_LIBRARY_IF_NEW_SONGS_HAVE_BEEN_ADDED"
+msgstr "Pridėję naujų dainų biblioteką turėsite atnaujinti."
+
+msgid "IDS_MUSIC_BODY_NO_ALBUMS"
+msgstr "Albumų nėra"
+
+msgid "IDS_MUSIC_BODY_NO_ARTISTS"
+msgstr "Atlikėjų nėra"
+
+msgid "IDS_MUSIC_OPT_PLAY_SPEED_ABB"
+msgstr "Leidimo greitis"
+
+msgid "IDS_MUSIC_BODY_CONCERT_HALL_M_SOUNDEFFECT"
+msgstr "Koncertų salė"
+
+msgid "IDS_MUSIC_OPT_ADD_TO"
+msgstr "Pridėti prie"
+
+msgid "IDS_MUSIC_SK_VIEW"
+msgstr "Peržiūrėti"
+
+msgid "IDS_MUSIC_OPT_LISTBY_RECENTLY_ADDED"
+msgstr "Neseniai pridėti"
+
+msgid "IDS_MUSIC_BODY_NOT_USED"
+msgstr "Nenaudojama"
+
+msgid "IDS_MUSIC_BODY_MAKE_AVAILABLE_OFFLINE"
+msgstr "Padaryti prieinamą atsijungus"
+
+msgid "IDS_MUSIC_OPT_AFTER_P1SD_HRS_P2SD_MINS"
+msgstr "Po %1$d val. %2$d min."
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS"
+msgstr "Po %d val."
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_MINS"
+msgstr "Po %d min."
+
+msgid "IDS_MUSIC_BODY_NO_FOLDERS"
+msgstr "Nėra aplankų"
+
+msgid "IDS_MUSIC_BODY_NO_TRACKS"
+msgstr "Takelių nėra"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS"
+msgstr "%d albumai (-ų)"
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS"
+msgstr "Atlikėjai: %d"
+
+msgid "IDS_MUSIC_BODY_PD_GENRES"
+msgstr "Žanrai: %d"
+
+msgid "IDS_MUSIC_BODY_PD_PLAYLISTS"
+msgstr "Grojaraščiai: %d"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_ABB"
+msgstr "%d dainos (-ų)"
+
+msgid "IDS_MUSIC_BODY_PLAYLIST"
+msgstr "Grojaraštis"
+
+msgid "IDS_MUSIC_HEADER_SIMILAR_ALBUMS"
+msgstr "Panašūs albumai"
+
+msgid "IDS_MUSIC_HEADER_TRACK"
+msgstr "Kūrinys"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL_VIEW"
+msgstr "Miniatiūrų rodinys"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "Šis garso efektas veikia tik ausinių režimu."
+
+msgid "IDS_MUSIC_OPT_ALL_CONTENT_ABB2"
+msgstr "Visas turinys"
+
+msgid "IDS_MUSIC_BODY_A_NETWORK_CONNECTION_IS_REQUIRED_TO_PLAY_THIS_FILE_CHECK_YOUR_NETWORK_CONNECTION_AND_TRY_AGAIN"
+msgstr "Norint paleisti šį failą, reikalingas tinklo ryšys. Patikrinkite tinklo ryšį ir bandykite dar kartą."
+
+msgid "IDS_MUSIC_POP_FILE_TYPE_NOT_SUPPORTED"
+msgstr "Failo tipas nepalaikomas."
+
+msgid "IDS_MUSIC_POP_UPDATING_ING"
+msgstr "Atnaujinama..."
+
+msgid "IDS_MUSIC_OPT_SEARCH_ABB"
+msgstr "Ieškoti"
+
+msgid "IDS_MUSIC_OPT_SEARCH_BY"
+msgstr "Ieškoti pagal"
+
+msgid "IDS_MUSIC_BODY_RELATED_VIDEOS"
+msgstr "Susiję vaizdo įrašai"
+
+msgid "IDS_MUSIC_BODY_SMART_VOLUME_ABB"
+msgstr "Išmanusis garsas"
+
+msgid "IDS_MUSIC_BODY_THE_VOLUME_OF_ALL_TRACKS_WILL_BE_ADJUSTED_TO_LEVEL_PD"
+msgstr "Visų kūrinių garsas bus sureguliuotas į %d lygį."
+
+msgid "IDS_MUSIC_HEADER_SMART_VOLUME_IS_ENABLED"
+msgstr "Įjungtas išmanusis garsas"
+
+msgid "IDS_MUSIC_OPT_CONNECTION_INFO_ABB"
+msgstr "Ryšio informacija"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_PD_MINS"
+msgstr "Po 1 val. %d min."
+
+msgid "IDS_MUSIC_BODY_ADAPT_SOUND_ABB"
+msgstr "Adapt Sound"
+
+msgid "IDS_MUSIC_BODY_MY_DEVICE"
+msgstr "Mano įrenginys"
+
+msgid "IDS_MUSIC_POP_LISTENING_AT_A_HIGH_VOLUME_FOR_A_LONG_TIME_MAY_DAMAGE_YOUR_HEARING_RAISE_THE_VOLUME_ABOVE_SAFE_LEVELS_Q"
+msgstr "Ilgai klausantis muzikos dideliu garsu gali sutrikti klausa. Padidinti garsumą viršijant saugų garsumo lygį?"
+
+msgid "IDS_MUSIC_POP_ALREADY_EXISTS"
+msgstr "Jau yra."
+
+msgid "IDS_MUSIC_OPT_SCAN_FOR_NEARBY_DEVICES"
+msgstr "Ieškoti netoliese esančių įrenginių"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR"
+msgstr "Po 1 val."
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_1_MIN"
+msgstr "Po 1 val. 1 min."
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS_1_MIN"
+msgstr "Po %d val. 1 min."
+
+msgid "IDS_MUSIC_BODY_AFTER_1_MIN"
+msgstr "Po 1 min."
+
+msgid "IDS_MUSIC_OPT_GO_TO_STORE"
+msgstr "Eiti į parduotuvę"
+
+msgid "IDS_MUSIC_SK3_ADD_TRACKS"
+msgstr "Pridėti takelius"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FROM_MUSIC_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Kai atsisiųsite garso įrašų iš „Muzikos“, jie bus rodomi čia."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_YOUR_FAVOURITES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Pridėjus takelių prie mėgstamiausiųjų, jie bus rodomi čia."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_PLAY_TRACKS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Leidžiant takelius jie bus rodomi čia."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_PS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Kai pridėsite garso įrašų prie %s, jie bus rodomi čia."
+
+msgid "IDS_MUSIC_BODY_NO_PURCHASED_CONTENT"
+msgstr "Pirkto turinio nėra"
+
+msgid "IDS_MUSIC_SK_SAVE_AS"
+msgstr "Išsaugoti kaip"
+
+msgid "IDS_MUSIC_POP_MUSICPLAYER_UPDATING_FAILED"
+msgstr "Atnaujinti nepavyko."
+
+msgid "IDS_MUSIC_BODY_EXCITING_M_ADJECTIVE"
+msgstr "Jaudinanti"
+
+msgid "IDS_MUSIC_BODY_SEARCH_MY_MUSIC"
+msgstr "Ieškoti mano muzikoje"
+
+msgid "IDS_MUSIC_HEADER_CONNECTED_DEVICES"
+msgstr "Prijungti įrenginiai"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST_PS"
+msgstr "Mano grojaraštis %s"
+
+msgid "IDS_MUSIC_BODY_NO_DEVICES"
+msgstr "Nėra įrenginių"
+
+msgid "IDS_MUSIC_HEADER_AVAILABLE_DEVICES_ABB"
+msgstr "Galimi įrenginiai"
+
+msgid "IDS_MUSIC_POP_SET"
+msgstr "Nustatyta"
+
+msgid "IDS_MUSIC_POP_REMOVE_FAILED"
+msgstr "Nepavyko pašalinti."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_USE_FAST_FORWARD_AND_REWIND_WHEN_NEARBY_DEVICES_ARE_ENABLED"
+msgstr "Neįmanoma naudoti greito persukimo pirmyn ir atsukimo atgal funkcijos, kai išjungti netoliese esantys įrenginiai."
+
+msgid "IDS_MUSIC_OPT_SET_AS"
+msgstr "Nustatyti kaip"
+
+msgid "IDS_MUSIC_OPT_HEADPHONES_ABB"
+msgstr "Ausinės"
+
+msgid "IDS_MUSIC_OPT_SPEAKER"
+msgstr "Garsiakalbis"
+
+msgid "IDS_MUSIC_BODY_1_SONG"
+msgstr "1 daina"
+
+msgid "IDS_MUSIC_BODY_PD_SONGS"
+msgstr "%d dainos (-ų)"
+
+msgid "IDS_MUSIC_BODY_1_TRACK"
+msgstr "1 takelis"
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_1_TRACK"
+msgstr "Maišyti 1 garso takelį"
+
+msgid "IDS_MUSIC_POP_NO_MUSIC_FOUND_FOR_SELECTED_CELL"
+msgstr "Pasirinktame elemente muzikos failų nerasta"
+
+msgid "IDS_MUSIC_BODY_DO_NOT_SHOW_AGAIN"
+msgstr "Daugiau nerodyti"
+
+msgid "IDS_MUSIC_BODY_VARIOUS_ARTISTS"
+msgstr "Įvairūs atlikėjai"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_HOME_SCREEN_ABB"
+msgstr "Pridėti pradžios ekrane"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_FAVOURITES"
+msgstr "Įtraukti į Parankinius"
+
+msgid "IDS_MUSIC_OPT_EDIT_TITLE"
+msgstr "Redaguoti antraštę"
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_PERSONAL_STORAGE"
+msgstr "Pašalinti iš asmeninės saugyklos"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FOLDERS_WILL_BE_SHOWN"
+msgstr "Atsisiuntus garso takelių bus rodomi aplankai"
+
+msgid "IDS_MUSIC_BODY_SETTINGS_VOLUME"
+msgstr "Garsumas"
+
+msgid "IDS_MUSIC_BODY_REPEAT_OFF"
+msgstr "Kartojimas išjungtas"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_REPEAT_ALL"
+msgstr "Kartoti viską"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_OFF"
+msgstr "Išjungti maišymą"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_ON"
+msgstr "Įjungti maišymą"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST"
+msgstr "Mano grojaraštis"
+
+msgid "IDS_MUSIC_MBODY_DEFAULT_PLAYLISTS"
+msgstr "Numatytieji grojaraščiai"
+
+msgid "IDS_MUSIC_BODY_DETAILS_RECORDING_DATE"
+msgstr "Įrašoma data"
+
+msgid "IDS_MUSIC_OPT_ALBUM_ART_ABB"
+msgstr "Alb.ilius."
+
+msgid "IDS_MUSIC_BODY_1_GENRE"
+msgstr "1 žanras"
+
+msgid "IDS_MUSIC_BODY_PD_FOLDERS"
+msgstr "%d aplankai (-ų)"
+
+msgid "IDS_MUSIC_BODY_1_FOLDER"
+msgstr "1 aplankas"
+
+msgid "IDS_MUSIC_BODY_1_ARTIST"
+msgstr "1 atlikėjas"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_M_MUSIC"
+msgstr "1 albumas"
+
+msgid "IDS_MUSIC_BODY_1_PLAYLIST"
+msgstr "1 grojaraštis"
+
+msgid "IDS_MUSIC_BODY_MUSIC_PLAYER"
+msgstr "Muzikos grotuvas"
+
+msgid "IDS_MUSIC_BUTTON_MOVE"
+msgstr "Perkelti"
+
+msgid "IDS_MUSIC_BUTTON_AUTO_RECOMMENDATIONS"
+msgstr "Automatinės rekomendacijos"
+
+msgid "IDS_MUSIC_BUTTON_FROM_THE_BEGINNING"
+msgstr "Nuo pradžių"
+
+msgid "IDS_MUSIC_HEADER_SUGGESTIONS_FOR_YOU"
+msgstr "Jums skirti pasiūlymai"
+
+msgid "IDS_MUSIC_OPT_SAVE"
+msgstr "Išsaugoti"
+
+msgid "IDS_MUSIC_TAB4_BASIC_M_EQUALIZING"
+msgstr "Pagrindinės"
+
+msgid "IDS_MUSIC_BODY_INSTRUMENT"
+msgstr "Instrumentinė"
+
+msgid "IDS_MUSIC_BODY_TREBLE_M_EQUALISER"
+msgstr "Aukštieji dažniai"
+
+msgid "IDS_MUSIC_BODY_BASS_M_EQUALISER"
+msgstr "Žemieji dažniai"
+
+msgid "IDS_MUSIC_BODY_NO_EFFECTS_ARE_APPLIED_IN_THIS_MODE_ABB"
+msgstr "Šiuo režimu taikytinų efektų nėra."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_TIMBRE_OF_A_TUBE_AMP_ABB"
+msgstr "Imituojamas lempinio stiprintuvo tembras."
+
+msgid "IDS_MUSIC_OPT_TUBE_AMP_EFFECT"
+msgstr "Stiprintuvo efektas"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_EFFECT_OF_VIRTUAL_71_CHANNEL_SURROUND_SOUND_ABB"
+msgstr "Imituojamas virtualiųjų 7.1 kanalų erdvinio garso efektas."
+
+msgid "IDS_MUSIC_HEADER_SMALL_ROOM_M_REVERB_ABB"
+msgstr "Nedidelė patalpa"
+
+msgid "IDS_MUSIC_HEADER_LARGE_ROOM_M_REVERB_ABB"
+msgstr "Didelis kambarys"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_LARGE_ROOM_EG_A_THEATRE_ABB"
+msgstr "Imituojamas didelio kambario aidėjimas, pvz., teatro."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_CONCERT_HALL_ABB"
+msgstr "Imituojamas koncertų salės aidėjimas."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_SMALL_SPACE_EG_A_STUDIO_ABB"
+msgstr "Imituojamas mažos erdvės aidėjimas, pvz., studijos."
+
+msgid "IDS_MUSIC_BUTTON_3D_CHN"
+msgstr "3D"
+
+msgid "IDS_MUSIC_BODY_CLARITY_M_SOUNDEFFECT"
+msgstr "Aiškumas"
+
+msgid "IDS_MUSIC_BUTTON_RESET"
+msgstr "Atstatyti"
+
+msgid "IDS_MUSIC_TAB_YEARS"
+msgstr "Metai"
+
+msgid "IDS_MUSIC_TAB_GENRES"
+msgstr "Žanrai"
+
+msgid "IDS_MUSIC_TAB_COMPOSERS"
+msgstr "Kompozitoriai"
+
+msgid "IDS_MUSIC_TAB_ALL_TRACKS"
+msgstr "Visi takeliai"
+
+msgid "IDS_MUSIC_SK3_GO_TO_QUICK_LIST"
+msgstr "Eiti į sprt.sąr."
+
+msgid "IDS_MUSIC_SK3_FIND"
+msgstr "Rasti"
+
+msgid "IDS_MUSIC_SK3_ADD_TO_QUICK_LIST"
+msgstr "Pr.prie sprč.sąr."
+
+msgid "IDS_MUSIC_POP_UNAUTHORISED_VIDEO_FILE_FOR_TV_OUT"
+msgstr "Nepatvirtintas vaizdo įrašo failas TV išvesčiai."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_CREATE_MAXIMUM_NUMBER_OF_PLAYLISTS_REACHED"
+msgstr "Negalima sukurti. Pasiektas didžiausias grojaraščių skaičius."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTING_BLUETOOTH_HEADSET"
+msgstr "Jungiant „Bluetooth“ ausines garsumo reguliuoti negalima."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTED_TO_BLUETOOTH_HEADSET"
+msgstr "Garsumo reguliuoti negalima, kol prijungta prie „Bluetooth“ ausinių."
+
+msgid "IDS_MUSIC_POP_STOP_MUSIC_PLAYER_Q"
+msgstr "Stabdyti muzikos grotuvą?"
+
+msgid "IDS_MUSIC_POP_PLEASE_EXIT_SILENT_MODE"
+msgstr "Prašome išeiti iš tyliojo režimo."
+
+msgid "IDS_MUSIC_POP_NETWORK_FAILURE"
+msgstr "Tinklo klaida."
+
+msgid "IDS_MUSIC_POP_MEMORY_CARD_LOADED"
+msgstr "Įdėta atminties kortelė."
+
+msgid "IDS_MUSIC_POP_DEVICE_SETTINGS_ERROR"
+msgstr "Įrenginio nustatymų klaida."
+
+msgid "IDS_MUSIC_POP_COULD_NOT_FIND_A_MATCH_FOR_THE_SONG"
+msgstr "Nepavyko rasti dainos atitikmens."
+
+msgid "IDS_MUSIC_POP_BUFFERING_MSTATUS"
+msgstr "Buferizuojama"
+
+msgid "IDS_MUSIC_POP_BT_HEADSET_ONLY_SUPPORTS_NORMAL_EFFECTS_SETTING"
+msgstr "BT ausinės palaiko tik įprastinių efektų nustatymą."
+
+msgid "IDS_MUSIC_POP_APPLICATION_WILL_BE_CLOSED"
+msgstr "Programa bus uždaryta."
+
+msgid "IDS_MUSIC_POP_ADDED_GO_TO_WISH_LIST_Q"
+msgstr "Pridėta. Pereiti prie norų sąrašo?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_THE_SERVICE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "Prieiga prie paslaugos gali būti mokama. Tęsti?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_STORE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "Prieiga prie saugyklos gali būti apmokestinama. Tęsti?"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_ONLY_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES"
+msgstr "5.1 kanalų garso efektas veikia tik prijungus ausines ir „Bluetooth“ ausinių režimu."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "5.1 kanalo garso efektas veikia tik ausinių režimu."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECTS_NOT_SUPPORTED_BY_SPEAKER"
+msgstr "5.1 kanalų garso efektų nepalaiko garsiakalbis."
+
+msgid "IDS_MUSIC_OPT_VIEW_BY_COVER_ART"
+msgstr "Rodyti pagal viršelio apipavidalinimą"
+
+msgid "IDS_MUSIC_OPT_SEND_TRACK"
+msgstr "Siųsti įrašą"
+
+msgid "IDS_MUSIC_OPT_RATE_TRACK"
+msgstr "Takelio įvertinimas"
+
+msgid "IDS_MUSIC_OPT_PLAYLIST_MOVE_TRACK_IN_PLAYLIST"
+msgstr "Perkelti grojaraščio įrašą"
+
+msgid "IDS_MUSIC_OPT_OPENPLAYLIST_CURRENT"
+msgstr "Esamasis"
+
+msgid "IDS_MUSIC_OPT_DELETE_PLAYLIST"
+msgstr "Ištrinti grojaraštį"
+
+msgid "IDS_MUSIC_OPT_BACKGROUND_PLAYING"
+msgstr "Foninis grojimas"
+
+msgid "IDS_MUSIC_HEADER_EFFECTS"
+msgstr "Efektai"
+
+msgid "IDS_MUSIC_BUTTON_BUY_NOW"
+msgstr "Pirkti"
+
+msgid "IDS_MUSIC_BODY_WOW_HD"
+msgstr "„Wow HD“"
+
+msgid "IDS_MUSIC_BODY_WISHLIST"
+msgstr "Pageidaujamų sąrašas"
+
+msgid "IDS_MUSIC_BODY_WIDE"
+msgstr "Platus"
+
+msgid "IDS_MUSIC_BODY_WHA_WHA"
+msgstr "Ua-ua"
+
+msgid "IDS_MUSIC_BODY_VIBE_WOOFER"
+msgstr "Žemųjų dažnių garsiakalbis"
+
+msgid "IDS_MUSIC_BODY_TREMOLO"
+msgstr "Tremolo"
+
+msgid "IDS_MUSIC_BODY_TAP_TWICE_TO_PLAY_PAUSE_MUSIC"
+msgstr "Palieskite du kartus muzikai groti/pristabdyti."
+
+msgid "IDS_MUSIC_BODY_SHARE_TRACK_VIA_BLUETOOTH"
+msgstr "Dalytis įrašu per „Bluetooth“"
+
+msgid "IDS_MUSIC_BODY_SETUPWIZARD_WELCOME_TO_THE_MUSIC_SETUP_WIZARD_CONTINUE_Q"
+msgstr "Sveiki, čia – Muzikos sąrankos vedlys.\nPateikiami ekranai padės jums sukonfigūruoti telefoną. Tęsti?"
+
+msgid "IDS_MUSIC_BODY_QUICK_LIST"
+msgstr "Spartusis sąrašas"
+
+msgid "IDS_MUSIC_BODY_PLAYINGSETTINGS_SOUND_EFFECTS"
+msgstr "Garso efektai"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_ALL"
+msgstr "Visos"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_1"
+msgstr "1"
+
+msgid "IDS_MUSIC_BODY_PLAYERSETTINGS_VOLUME"
+msgstr "Garsumas"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_SELECTED"
+msgstr "Pasirinkta takelių: %d"
+
+msgid "IDS_MUSIC_BODY_NO_PODCASTS"
+msgstr "Transliacijų internetu nėra"
+
+msgid "IDS_MUSIC_BODY_FIND_SIMILAR"
+msgstr "Rasti panašų"
+
+msgid "IDS_MUSIC_BODY_BACKGROUND_PLAY"
+msgstr "Grojimas fone"
+
+msgid "IDS_MUSIC_BODY_51_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "5.1 kanalas gali būti naudojamas tik išjungus garso efektus."
+
+msgid "IDS_MUSIC_TAB4_PODCASTS"
+msgstr "Interneto trans."
+
+msgid "IDS_MUSIC_SK2_EDIT_IMAGE"
+msgstr "Redaguoti vaizdą"
+
+msgid "IDS_MUSIC_POP_PLAYING_ANY_SOUNDS_WILL_STOP_AND_SAVE_YOUR_VOICE_RECORDING_PLAY_Q"
+msgstr "Bus sustabdytas bet kokio garso leidimas ir išsaugotas jūsų balso įrašas. Leisti?"
+
+msgid "IDS_MUSIC_POP_MAXIMUM_NUMBER_OF_ITEMS_HPD_SELECTED"
+msgstr "Pasirinktas didžiausias elementų skaičius (%d)."
+
+msgid "IDS_MUSIC_POP_BLUETOOTH_DISCONNECTED"
+msgstr "„Bluetooth“ atjungta."
+
+msgid "IDS_MUSIC_POP_5_1_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "5.1 kanalai gali būti naudojami tik išjungus garso efektus."
+
+msgid "IDS_MUSIC_OPT_TAKE_PICTURE"
+msgstr "Fotografuoti"
+
+msgid "IDS_MUSIC_OPT_SHOW_MUSIC_VIEW_ABB"
+msgstr "Rodyti muzikos rodinį"
+
+msgid "IDS_MUSIC_OPT_PAUSE"
+msgstr "Pauzė"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALBUM"
+msgstr "Groti albumą"
+
+msgid "IDS_MUSIC_OPT_LIST_BY"
+msgstr "Rūšiuoti pagal"
+
+msgid "IDS_MUSIC_OPT_HISTORY"
+msgstr "Istorija"
+
+msgid "IDS_MUSIC_OPT_HIDE_MUSIC_VIEW_ABB"
+msgstr "Slėpti muzikos rodinį"
+
+msgid "IDS_MUSIC_OPT_FIND_TAG"
+msgstr "Rasti žymę"
+
+msgid "IDS_MUSIC_OPT_DROPBOX_CONTENT_ABB"
+msgstr "„Dropbox“ turinys"
+
+msgid "IDS_MUSIC_OPT_CONTENT_ON_PHONE_ABB"
+msgstr "Telefono turinys"
+
+msgid "IDS_MUSIC_OPT_CHANGE_IMAGE"
+msgstr "Keisti vaizdą"
+
+msgid "IDS_MUSIC_HEADER_DELETE_DROPBOX_DATA_ABB"
+msgstr "Trinti Dropbox duomenis"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_STREAM_YOUR_MUSIC_TO_DEVICES_USING_ALLSHARE"
+msgstr "Galite siųsti savo muzikos įrašus į įrenginius naudojančius „AllShare“."
+
+msgid "IDS_MUSIC_BODY_VALIDITY"
+msgstr "Galiojimas"
+
+msgid "IDS_MUSIC_BODY_TYPE_CNOUN"
+msgstr "Tipas"
+
+msgid "IDS_MUSIC_BODY_THIS_WILL_DELETE_THE_FILE_FROM_THE_SERVER_AND_ANY_CONNECTED_DEVICES_AS_WELL"
+msgstr "Bus ištrintas serveryje ir kituose prijungtuose įrenginiuose esantis failas."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_ARTISTS"
+msgstr "Atlikėjai"
+
+msgid "IDS_MUSIC_BODY_PLAYINGDETAILS_ALBUM_ART"
+msgstr "Albumų menas"
+
+msgid "IDS_MUSIC_BODY_OTHER_CONTENTS"
+msgstr "Kitas turinys"
+
+msgid "IDS_MUSIC_BODY_NAME_TOO_LONG"
+msgstr "Pavadinimas per ilgas."
+
+msgid "IDS_MUSIC_BODY_MUSIC_CLARITY"
+msgstr "Muzikos aiškumas"
+
+msgid "IDS_MUSIC_BODY_HIGH_VOLUMES_MAY_HARM_YOUR_HEARING_IF_YOU_LISTEN_FOR_A_LONG_TIME"
+msgstr "Jei klausysitės garsiai ilgą laiką, gali būti pažeista klausa."
+
+msgid "IDS_MUSIC_BODY_AVAILABLE_USES"
+msgstr "Galimi panaudojimai"
+
+msgid "IDS_MUSIC_TPOP_SOUND_EFFECTS_ONLY_AVAILABLE_WHILE_HEADPHONES_CONNECTED"
+msgstr "Garso efektai veikia tik prijungus ausines."
+
+msgid "IDS_ST_OPT_ADD_TO_YOUR_PERSONAL_STORAGE"
+msgstr "Pridėti prie asmeninės saugyklos"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_YOUR_PERSONAL_STORAGE"
+msgstr "Pašalinti iš asmeninės saugyklos"
+
+msgid "IDS_ST_BODY_CONTEXTUAL_POP_UP_T_TALKBACK"
+msgstr "Kontekstinis iškylantysis langas"
+
+msgid "IDS_ST_BODY_A_CONTEXTUAL_POP_UP_IS_OPEN_DOUBLE_TAP_TO_CLOSE_IT_T_TALKBACK"
+msgstr "Kontekstinis iškylantysis langas atidarytas. Bakstelėkite du kartus norėdami uždaryti."
+
+msgid "IDS_ST_BODY_REPEAT_ONE"
+msgstr "Kartoti vieną"
+
+msgid "IDS_ST_BUTTON_MOVING_ING"
+msgstr "Perkeliama..."
+
+msgid "IDS_HS_BODY_SELECT_UP_TO_PD_ITEMS"
+msgstr "Pasirinkite iki %d elementų"
+
+msgid "IDS_CAM_BODY_TAB_T_TTS"
+msgstr "Skirtukas"
+
+msgid "IDS_DLNA_OPT2_CHANGE_PLAYER"
+msgstr "Keisti grotuvą"
+
+msgid "IDS_BR_SK_TABS"
+msgstr "Ąselės"
+
+msgid "IDS_MF_BODY_DROPBOX_ABB"
+msgstr "Dropbox"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Naudojant automatines rekomendacijas iš garso failų galima išskirti fragmentus."
+
+msgid "IDS_MF_BODY_PARENT_RATING"
+msgstr "Tėvų vertinimas"
+
+msgid "IDS_VR_POP_FILE_NOT_FOUND"
+msgstr "Failas nerastas."
+
+msgid "IDS_PB_POP_CALLER_RINGTONE_SAVED"
+msgstr "Skambintojo skambėjimo tonas išsaugotas."
+
+msgid "IDS_MUSIC_BODY_BIT_DEPTH"
+msgstr "Bitų gylis"
+
+msgid "IDS_MUSIC_BODY_SIZE"
+msgstr "Dydis"
+
+msgid "IDS_MF_HEADER_PD_SELECTED"
+msgstr "Pasirinkta: %d"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_THIS_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Pridėjus takelių šiame įrenginyje, jie bus rodomi čia."
+
+msgid "IDS_MUSIC_TMBODY_LENGTH"
+msgstr "Ilgis"
+
+msgid "IDS_MUSIC_POP_1_FOLDER_WILL_BE_DELETED"
+msgstr "Bus ištrintas 1 aplankas."
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Nėra turinio"
+
+msgid "IDS_MUSIC_ITAB4_FOLDERS"
+msgstr "Aplankai"
+
+msgid "IDS_MUSIC_HEADER_MY_PLAYLISTS_ABB"
+msgstr "Mano grojaraščiai"
+
+msgid "IDS_MP_BODY_SOUND_PLAYER"
+msgstr "Garso grotuvas"
+
+msgid "IDS_MUSIC_OPT_SETTINGS"
+msgstr "Nustatymai"
+
+msgid "IDS_MUSIC_POP_DELETING"
+msgstr "Trinama..."
+
+msgid "IDS_MUSIC_POP_1_TRACK_WILL_BE_DELETED"
+msgstr "Bus ištrintas 1 įrašas."
+
+msgid "IDS_MUSIC_POP_ALL_TRACKS_WILL_BE_DELETED"
+msgstr "Visi takeliai bus ištrinti"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_WILL_BE_DELETED"
+msgstr "Bus ištrinta įrašų: %d."
+
+msgid "IDS_MUSIC_POP_1_PLAYLIST_WILL_BE_DELETED"
+msgstr "1 grojaraštis bus ištrintas."
+
+msgid "IDS_MUSIC_POP_PD_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Bus ištrinta grojaraščių: %d."
+
+msgid "IDS_MUSIC_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "Bus ištrinta albumų: %d."
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS_WILL_BE_DELETED"
+msgstr "Bus ištrinta atlikėjų: %d."
+
+msgid "IDS_MUSIC_POP_PD_FOLDERS_WILL_BE_DELETED"
+msgstr "Bus ištrinti aplankai: %d."
+
+msgid "IDS_ST_POP_CONNECTION_FAILED"
+msgstr "Prisijungti nepavyko."
+
+msgid "IDS_MUSIC_BODY_CLASSIC"
+msgstr "Klasika"
+
+msgid "IDS_MUSIC_BODY_ROCK"
+msgstr "Rokas"
+
+msgid "IDS_MUSIC_BODY_JAZZ"
+msgstr "Džiazas"
+
+msgid "IDS_MUSIC_BODY_POP"
+msgstr "Popmuzika"
+
+msgid "IDS_MUSIC_BODY_AUTO"
+msgstr "Automatinis"
+
+msgid "IDS_MUSIC_POP_CURRENT_SOUND_EFFECT_NOT_SUPPORTED_BY_HDMI"
+msgstr "Dabartinio garso efekto nepalaiko HDMI."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_BLUETOOTH"
+msgstr "Garso efektų nepalaiko „Bluetooth“."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_LINE_OUT"
+msgstr "Garso efektų nepalaiko išvesties linija."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_HDMI"
+msgstr "Garso efektų nepalaiko HDMI."
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EFFECT"
+msgstr "Lempinis stiprintuvas"
+
+msgid "IDS_MUSIC_BODY_CUSTOM"
+msgstr "Pasirinktinis"
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EQUALISER_ABB"
+msgstr "Lemp. stiprint."
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "Takeliai pridėti prie grojaraščio: %d"
+
+msgid "IDS_MUSIC_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 takelis pridėtas prie grojaraščio"
+
+msgid "IDS_MUSIC_HEADER_ADD_TRACKS_TO_PLAYLIST_ABB"
+msgstr "Pridėti takelių prie grojar."
+
+msgid "IDS_MUSIC_POP_PS_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "%s jau naudojamas. Įveskite kitą pavadinimą."
+
+msgid "IDS_MUSIC_TMBODY_DATE_OF_RECORDING"
+msgstr "Įrašymo data"
+
+msgid "IDS_MBP_TPOP_TRACK_SET_AS_ALARM_TONE"
+msgstr "Takelis nustatytas kaip signalo tonas."
+
+msgid "IDS_MUSIC_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Rezultatų nerasta"
+
+msgid "IDS_MUSIC_OPT_DEFAULT_RINGTONE_ABB"
+msgstr "Numatytas skambėjimo tonas"
+
+msgid "IDS_MUSIC_TPOP_TRACK_SET_AS_CALLER_RINGTONE"
+msgstr "Takelis nustatytas kaip skambintojo skambėjimo tonas."
+
+msgid "IDS_MP_TPOP_TRACK_SET_AS_RINGTONE"
+msgstr "Takelis nustatytas kaip skambėjimo tonas."
+
+msgid "IDS_DLNA_BODY_ADD_TO_NOW_PLAYING_LIST"
+msgstr "Pridėti prie dabar grojamų sąrašo"
+
+msgid "IDS_MUSIC_TPOP_EQUALISER_SETTINGS_WILL_BE_APPLIED_WHILE_PLAYING_MUSIC"
+msgstr "Vienodintuvo nustatymai bus pritaikyti leidžiant muziką."
+
+msgid "IDS_ST_BODY_ALERT"
+msgstr "Įspėjimas"
+
+msgid "IDS_IV_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 albumas bus ištrintas."
+
+msgid "IDS_MUSIC_OPT_SD_CARD"
+msgstr "SD kortelė"
+
+msgid "IDS_MUSIC_SBODY_DEVICE_STORAGE"
+msgstr "Įrenginio atmintis"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE"
+msgstr "Grojaraščio pavadinimas jau naudojamas."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_PD"
+msgstr "%d grojaraštis"
+
+msgid "IDS_MUSIC_HEADER_CREATE"
+msgstr "Kurti"
+
+msgid "IDS_MUSIC_HEADER_EQUALISER_PRESET_ABB"
+msgstr "Išankstinis vienodintuvo nustatymas"
+
+msgid "IDS_MUSIC_OPT_AUTOMATIC_M_EQUALIZER_EFFECT"
+msgstr "Automatinis"
+
+msgid "IDS_MUSIC_OPT_CLASSICAL_M_EQUALIZER_EFFECT"
+msgstr "Klasika"
+
+msgid "IDS_MUSIC_HEADER_ENVIRONMENT_EFFECT_ABB"
+msgstr "Aplinkos efektas"
+
+msgid "IDS_VIDEO_POP_THE_FILE_TYPE_IS_NOT_SUPPORTED"
+msgstr "Šis failo tipas nepalaikomas."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_CREATE_PLAYLISTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Kai sukursite grojaraščių, jie bus rodomi čia."
+
+msgid "IDS_ST_HEADER_SELECT_AUDIO_DEVICE_ABB"
+msgstr "Rinktis garso įrenginį"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "Grojaraščio pavadinimas jau naudojamas. Įveskite kitą pavadinimą."
+
+msgid "IDS_MUSIC_HEADER_SOUNDALIVE_ABB3"
+msgstr "SoundAlive"
+
+msgid "IDS_MUSIC_OPT_NOW_PLAYING_LIST"
+msgstr "Dabartiniu metu grojamų sąrašas"
+
+msgid "IDS_MUSIC_OPT_SHOW_LYRICS"
+msgstr "Rodyti dainos žodžius"
+
+msgid "IDS_MUSIC_OPT_HIDE_LYRICS"
+msgstr "Slėpti dainos žodžius"
+
+msgid "IDS_MUSIC_TPOP_UNABLE_TO_PLAY_MUSIC_DURING_CALLS"
+msgstr "Muzikos negalima leisti vykstant skambučiui."
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Trinti"
+
+msgid "IDS_MUSIC_HEADER_SELECT"
+msgstr "Pasirinkti"
+
+msgid "IDS_TPLATFORM_OPT_NFC"
+msgstr "NFC"
+
+msgid "IDS_MUSIC_HEADER_UNABLE_TO_PLAY_TRACK"
+msgstr "Neįmanoma leisti takelio"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "ATLIKTA"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ATŠAUKTI"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "IŠTRINTI"
+
+msgid "IDS_MUSIC_POP_RENAME"
+msgstr "Pervardyti"
+
+msgid "IDS_MUSIC_OPT_MESSAGE"
+msgstr "Žinutė"
+
+msgid "IDS_MUSIC_SK_OK"
+msgstr "Gerai"
+
+msgid "IDS_MUSIC_SK_CANCEL"
+msgstr "Atšaukti"
+
+msgid "IDS_MUSIC_BUTTON_REFRESH"
+msgstr "Atnaujinti"
+
+msgid "IDS_MUSIC_BODY_SELECT_ALL"
+msgstr "Pasirinkti visus"
+
+msgid "IDS_MUSIC_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_MUSIC_POP_DELETED"
+msgstr "Ištrinta."
+
+msgid "IDS_MUSIC_OPT_STOP"
+msgstr "Stabdyti"
+
+msgid "IDS_MUSIC_BODY_UNKNOWN"
+msgstr "Nežinomas"
+
+msgid "IDS_MUSIC_BODY_TITLE"
+msgstr "Pavadinimas"
+
+msgid "IDS_MUSIC_OPT_SENDVIA_EMAIL"
+msgstr "El. paštas"
+
+msgid "IDS_MUSIC_OPT_BLUETOOTH"
+msgstr "Bluetooth"
+
+msgid "IDS_MUSIC_HEADER_DOWNLOAD"
+msgstr "Atsisiųsti"
+
+msgid "IDS_MUSIC_POP_LOW_BATTERY"
+msgstr "Senka akumuliatorius!"
+
+msgid "IDS_MUSIC_HEADER_AUDIO_DEVICE"
+msgstr "Garso įrenginys"
+
+msgid "IDS_MUSIC_HEADER_DETAILS"
+msgstr "Išsami informacija"
+
+msgid "IDS_MUSIC_OPT_END"
+msgstr "Baigti"
+
+msgid "IDS_MUSIC_OPT_EDIT"
+msgstr "Redaguoti"
+
+msgid "IDS_CAM_HEADER_UPDATED"
+msgstr "Atnaujinta."
+
+msgid "IDS_MUSIC_POP_REMOVED"
+msgstr "Pašalinta."
+
+msgid "IDS_MUSIC_OPT_SELECTED"
+msgstr "Pasirinkta"
+
+msgid "IDS_ST_BUTTON_SCAN"
+msgstr "Skenuoti"
+
+msgid "IDS_MF_POP_ERROR"
+msgstr "Klaida"
+
+msgid "IDS_MF_POP_MEMORY_FULL"
+msgstr "Atmintis pilna."
+
+msgid "IDS_MUSIC_MBODY_QUEUE"
+msgstr "Eilė"
+
+msgid "IDS_MUSIC_OPT_VOLUME"
+msgstr "Garsumas"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE"
+msgstr "Maišyti"
+
+msgid "IDS_MUSIC_OPT_REPEAT"
+msgstr "Kartoti"
+
+msgid "IDS_COM_BODY_DETAILS"
+msgstr "Details"
+
+msgid "IDS_COM_BODY_DETAILS_TITLE"
+msgstr "Title"
+
+msgid "IDS_COM_BODY_EDIT"
+msgstr "Edit"
+
+msgid "IDS_COM_BODY_EMAIL"
+msgstr "Email"
+
+msgid "IDS_COM_BODY_END"
+msgstr "End"
+
+msgid "IDS_COM_BODY_FOLDERS"
+msgstr "Folders"
+
+msgid "IDS_COM_BODY_GALLERY"
+msgstr "Gallery"
+
+msgid "IDS_COM_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_COM_BODY_LOADING"
+msgstr "Loading..."
+
+msgid "IDS_COM_BODY_LOW_BATTERY"
+msgstr "Low battery."
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Message"
+
+msgid "IDS_COM_BODY_MUSIC"
+msgstr "Music"
+
+msgid "IDS_COM_BODY_NFC"
+msgstr "NFC"
+
+msgid "IDS_COM_BODY_NO_CONTENTS"
+msgstr "No content"
+
+msgid "IDS_COM_BODY_PAUSE"
+msgstr "Pause"
+
+msgid "IDS_COM_BODY_PD_SELECTED"
+msgstr "%d selected."
+
+msgid "IDS_COM_BODY_PREVIOUS"
+msgstr "Previous"
+
+msgid "IDS_COM_BODY_RESET_A"
+msgstr "Reset"
+
+msgid "IDS_COM_BODY_SELECTED"
+msgstr "Selected"
+
+msgid "IDS_COM_BODY_SELECT_ALL"
+msgstr "Select all"
+
+msgid "IDS_COM_BODY_SETTINGS"
+msgstr "Settings"
+
+msgid "IDS_COM_BODY_TIME"
+msgstr "Time"
+
+msgid "IDS_COM_BODY_UNABLE_TO_ADD"
+msgstr "Unable to add."
+
+msgid "IDS_COM_BODY_UNKNOWN"
+msgstr "Unknown"
+
+msgid "IDS_COM_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_COM_BUTTON_SCAN"
+msgstr "Scan"
+
+msgid "IDS_COM_BUTTON_SHARE"
+msgstr "Share"
+
+msgid "IDS_COM_HEADER_AUDIO_DEVICE_ABB"
+msgstr "Audio device"
+
+msgid "IDS_COM_OPT_ADDED"
+msgstr "Added."
+
+msgid "IDS_COM_OPT_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_POP_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_POP_CONNECTION_FAILED"
+msgstr "Connection failed."
+
+msgid "IDS_COM_POP_DELETED"
+msgstr "Deleted."
+
+msgid "IDS_COM_POP_DELETE_Q"
+msgstr "Delete?"
+
+msgid "IDS_COM_POP_DONE"
+msgstr "Done"
+
+msgid "IDS_COM_POP_DOWNLOADING"
+msgstr "Downloading..."
+
+msgid "IDS_COM_POP_ERROR"
+msgstr "Error."
+
+msgid "IDS_COM_POP_FAILED"
+msgstr "Failed."
+
+msgid "IDS_COM_POP_FILE_NOT_EXIST"
+msgstr "This file does not exist."
+
+msgid "IDS_COM_POP_FILE_NOT_FOUND"
+msgstr "File not found."
+
+msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximum number of characters reached."
+
+msgid "IDS_COM_POP_MEMORY_FULL"
+msgstr "Memory full."
+
+msgid "IDS_COM_POP_REMOVED"
+msgstr "Removed."
+
+msgid "IDS_COM_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Unable to use during Mass storage mode."
+
+msgid "IDS_COM_POP_UPDATED"
+msgstr "Updated."
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_SK_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_SK_DOWNLOAD"
+msgstr "Download"
+
+msgid "IDS_COM_SK_NEW"
+msgstr "New"
+
+msgid "IDS_COM_SK_NEXT"
+msgstr "Next"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_SK_REFRESH"
+msgstr "Refresh"
+
+msgid "IDS_COM_SK_REMOVE"
+msgstr "Remove"
+
+msgid "IDS_COM_SK_SAVE"
+msgstr "Save"
+
+msgid "IDS_COM_SK_SELECT"
+msgstr "Select"
+
+msgid "IDS_COM_SK_SET"
+msgstr "Set"
+
+msgid "IDS_COM_SK_STOP"
+msgstr "Stop"
+
+
+msgid "IDS_MH_BODY_THE_PLAYLIST_NAME_PS_IS_ALREADY_IN_USE"
+msgstr "The playlist name %s is already in use."
+
+msgid "IDS_MH_BODY_TOTAL"
+msgstr "Total"
+
+msgid "IDS_MH_MBODY_RECENTLY_ADDED_M_SONG"
+msgstr "Recently added"
+
+msgid "IDS_MH_OPT_MORE_INFO_ABB"
+msgstr "More info"
+
+msgid "IDS_MH_POP_ALARM_TONE_SET"
+msgstr "Alarm tone set."
+
+msgid "IDS_MH_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 track added to playlist."
+
+msgid "IDS_MH_TPOP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d tracks added to playlist."
+
+msgid "IDS_MUSIC_OPT_RENAME"
+msgstr "Rename"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Unable to play during call."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Viršytas leistinas failų dydis."
+
+msgid "IDS_CAM_TPOP_UNABLE_TO_PLAY_MUSIC_WHILE_RECORDING_AUDIO_OR_VIDEO"
+msgstr "Negalima paleisti muzikos, kol įrašomas garsas arba vaizdas."
+
--- /dev/null
+msgid "IDS_ST_BODY_LOADING_ING"
+msgstr "Ielādē..."
+
+msgid "IDS_GALLERY_OPT_PRIVATE_M_CONTENT"
+msgstr "Privāts"
+
+msgid "IDS_MF_BODY_TIME"
+msgstr "Laiks"
+
+msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
+msgstr "Šāda faila nav."
+
+msgid "IDS_MUSIC_POP_PHONE_RINGTONE"
+msgstr "Tālruņa zvana signāls"
+
+msgid "IDS_MUSIC_BODY_DURATION"
+msgstr "Ilgums"
+
+msgid "IDS_MUSIC_BODY_MUSIC_LOCATION"
+msgstr "Atrašanās vieta"
+
+msgid "IDS_MUSIC_BODY_SET_AS_M_RINGTONE"
+msgstr "Iestatīt kā"
+
+msgid "IDS_ST_OPT_ADD_TO_PERSONAL_PAGE"
+msgstr "Pievienot privātajai lapai"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_PERSONAL_PAGE_ABB"
+msgstr "Noņemt no privātās lapas"
+
+msgid "IDS_ST_POP_MOVE_TO_NORMAL_STORAGE"
+msgstr "Pārvietot uz parasto krātuvi"
+
+msgid "IDS_ST_POP_MOVE_TO_PERSONAL_STORAGE"
+msgstr "Pārvietot uz personisko krātuvi"
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEMS_WILL_BE_MOVED_TO_PS"
+msgstr "Izvēlētie objekti tiks pārvietoti uz %s."
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEM_WILL_BE_MOVED_TO_PS"
+msgstr "Izvēlētais objekts tiks pārvietots uz %s."
+
+msgid "IDS_VR_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Nevar lietot lielapjoma atmiņas režīma laikā."
+
+msgid "IDS_MUSIC_POP_RINGTONE_ADDED"
+msgstr "Pievienots zvana signāls."
+
+msgid "IDS_CAM_BODY_BUTTON_T_TTS"
+msgstr "Poga"
+
+msgid "IDS_MUSIC_HEADER_SELECT_ITEMS"
+msgstr "Objektu izvēle"
+
+msgid "IDS_ST_BODY_ADVANCED"
+msgstr "Papildu"
+
+msgid "IDS_ST_SK_PREVIOUS"
+msgstr "Iepriekš."
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Aizvērt"
+
+msgid "IDS_MUSIC_POP_ADDED"
+msgstr "Pievienots."
+
+msgid "IDS_MUSIC_POP_FAILED"
+msgstr "Neizdevās."
+
+msgid "IDS_MUSIC_BODY_NO_SEARCH_RESULTS"
+msgstr "Nav meklēšanas rezultātu"
+
+msgid "IDS_MUSIC_SK_DONE"
+msgstr "Gatavs"
+
+msgid "IDS_MUSIC_BODY_NO_ITEMS"
+msgstr "Nav vienumu"
+
+msgid "IDS_BR_OPT_ADD_TO_HOME"
+msgstr "Pievienot sākumam"
+
+msgid "IDS_BR_SK_NEXT"
+msgstr "Nāk."
+
+msgid "IDS_BR_BODY_DOWNLOADING_ING"
+msgstr "Ielādē..."
+
+msgid "IDS_IV_BODY_FAVOURITE"
+msgstr "Izlase"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_PERSONAL_STORAGE"
+msgstr "Pievienot privātajai krātuvei"
+
+msgid "IDS_DLNA_POP_DISCONNECTED_FROM_PS_CHECK_THE_NETWORK_STATUS_AND_THE_CONNECTED_DEVICE"
+msgstr "Pārtraukts savienojums ar %s. Pārbaudiet tīkla statusu un pievienoto ierīci."
+
+msgid "IDS_DLNA_OPT_VIA_SCREEN_MIRRORING_ABB"
+msgstr "Izmantojot Screen Mirroring"
+
+msgid "IDS_DLNA_OPT_VIA_HOME_NETWORK_ABB"
+msgstr "Izmantojot mājas tīklu"
+
+msgid "IDS_IV_POP_ENTRY_IS_EMPTY"
+msgstr "Ieraksts nav norādīts."
+
+msgid "IDS_FM_POP_UNAVAILABLE_DURING_CALL"
+msgstr "Nav pieejams zvana laikā."
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Sasniegts maksimālais rakstzīmju skaits."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_SHARE_DRM_FILE"
+msgstr "DRM failu nevar kopīgot."
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Noņem..."
+
+msgid "IDS_MUSIC_HEADER_PD_DEVICES"
+msgstr "%d ierīces"
+
+msgid "IDS_MUSIC_BUTTON_ENABLE_MOTION"
+msgstr "Akt. kustību"
+
+msgid "IDS_MUSIC_BUTTON_DONT_ASK_AGAIN"
+msgstr "Vairs nevaicāt"
+
+msgid "IDS_MUSIC_BODY_NO_RESULTS_FOUND"
+msgstr "Nav atrasts neviens rezultāts."
+
+msgid "IDS_VPL_OPT_HDMI"
+msgstr "HDMI"
+
+msgid "IDS_MUSIC_BODY_TURN_PHONE_OVER_TO_MUTE_INCOMING_CALLS_MESSAGE_ALERTS_AND_ALARMS"
+msgstr "Apvērsiet tālruni, lai izslēgtu ienākošos zvanus, ziņu signālu un modinātāja skaņu."
+
+msgid "IDS_ST_BODY_NONE"
+msgstr "Nav"
+
+msgid "IDS_ST_BODY_INTERNET"
+msgstr "Internets"
+
+msgid "IDS_ST_BODY_GALLERY"
+msgstr "Galerija"
+
+msgid "IDS_ST_BODY_DOUBLE_TAP_TO_MOVE_TO_CONTENT_T_TTS"
+msgstr "Veiciet dubultskārienu, lai pārvietotu saturu."
+
+msgid "IDS_MUSIC_BODY_SURROUND"
+msgstr "Ieskaujošā"
+
+msgid "IDS_MUSIC_OPT_LYRICS_ABB"
+msgstr "Dziesmu vārdi"
+
+msgid "IDS_MUSIC_POP_AFTER_YOU_ADD_TRACKS_TO_MUSIC_ON_YOUR_MOBILE_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Kad mobilajā ierīcē pievienosit ierakstus programmai Mūzika, tie būs redzami šeit."
+
+msgid "IDS_MUSIC_BODY_SAMPLING_RATE"
+msgstr "Iztvēruma ātrums"
+
+msgid "IDS_MUSIC_BODY_MARKED_AS_A_FAVOURITE"
+msgstr "Pievienots izlasei."
+
+msgid "IDS_MUSIC_BODY_MUSIC"
+msgstr "Mūzika"
+
+msgid "IDS_MUSIC_BODY_NOT_MARKED_AS_A_FAVOURITE"
+msgstr "Nav pievienots izlasei."
+
+msgid "IDS_MUSIC_HEADER_SEARCH_MUSIC_ABB"
+msgstr "Meklēt mūziku"
+
+msgid "IDS_MUSIC_POP_AUTO_RECOMMENDATION_DOES_NOT_SUPPORT_THIS_AUDIO_FILE"
+msgstr "Automātiskā ieteikšana neatbalsta šo audio failu."
+
+msgid "IDS_MUSIC_POP_SORRY_THE_PLAYER_DOES_NOT_SUPPORT_THIS_TYPE_OF_AUDIO_FILE"
+msgstr "Atvainojiet, atskaņotājs neatbalsta šādu audio faila veidu."
+
+msgid "IDS_MUSIC_BODY_FAVOURITES"
+msgstr "Izlases"
+
+msgid "IDS_MUSIC_BODY_MOST_PLAYED"
+msgstr "Visvairāk atskaņotie"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_ADDED"
+msgstr "Nesen pievienotie"
+
+msgid "IDS_MUSIC_OPT_CREATE_PLAYLIST"
+msgstr "Izveidot atskaņošanas sarakstu"
+
+msgid "IDS_MUSIC_OPT_REMOVE"
+msgstr "Noņemt"
+
+msgid "IDS_MUSIC_OPT_SETAS_CALLER_RINGTONE"
+msgstr "Zvanītāja zvana signāls"
+
+msgid "IDS_MUSIC_TAB4_ARTISTS"
+msgstr "Izpildītāji"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD"
+msgstr "Nevar pievienot."
+
+msgid "IDS_MUSIC_POP_UNABLE_CREATE_PLAYLIST"
+msgstr "Nevar izveidot atskaņojumu sarakstu."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_GET_TAG"
+msgstr "Nevar iegūt atzīmi."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_MORE_THAN_PD_MUSIC_FILE"
+msgstr "Nevar pievienot vairāk kā %d mūzikas failus."
+
+msgid "IDS_MUSIC_BODY_ALBUM"
+msgstr "Albums"
+
+msgid "IDS_MUSIC_BODY_AUTHOR"
+msgstr "Autors"
+
+msgid "IDS_MUSIC_BODY_COPYRIGHT"
+msgstr "Autortiesības"
+
+msgid "IDS_MUSIC_BODY_CREATE_PLAYLIST"
+msgstr "Izveidot atskaņošanas sarakstu"
+
+msgid "IDS_MUSIC_BODY_DESCRIPTION"
+msgstr "Apraksts"
+
+msgid "IDS_MUSIC_BODY_FORMAT"
+msgstr "Formāts"
+
+msgid "IDS_MUSIC_BODY_IMPOSSIBLE"
+msgstr "Nav iespējams"
+
+msgid "IDS_MUSIC_BODY_NO_PLAYLISTS"
+msgstr "Nav atskaņošanas sarakstu"
+
+msgid "IDS_MUSIC_BODY_TRACK_NUMBER"
+msgstr "Ieraksta numurs"
+
+msgid "IDS_MUSIC_POP_DELETE_Q"
+msgstr "Vai dzēst?"
+
+msgid "IDS_MUSIC_POP_REMOVE_Q"
+msgstr "Vai noņemt?"
+
+msgid "IDS_MUSIC_POP_UNABLE_RENAME_PLAYLIST"
+msgstr "Nevar pārdēvēt atskaņojumu sarakstu."
+
+msgid "IDS_MUSIC_TAB4_ALBUMS"
+msgstr "Albumi"
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Pievieno..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Vai izdzēst %d albumus?"
+
+msgid "IDS_MUSIC_TAB4_PLAYLISTS"
+msgstr "Atskaņ. saraksti"
+
+msgid "IDS_MUSIC_OPT_ADD"
+msgstr "Pievienot"
+
+msgid "IDS_MUSIC_BODY_BIOGRAPHY"
+msgstr "Biogrāfija"
+
+msgid "IDS_MUSIC_BODY_CREDITS"
+msgstr "Albuma veidotāji"
+
+msgid "IDS_MUSIC_BODY_DETAILS_MEADIA_INFO"
+msgstr "Multivides informācija"
+
+msgid "IDS_MUSIC_BODY_DISCOGRAPHY"
+msgstr "Diskogrāfija"
+
+msgid "IDS_MUSIC_BODY_LYRIC"
+msgstr "Dziesmu vārdi"
+
+msgid "IDS_MUSIC_BODY_POSSIBLE"
+msgstr "Iespējams"
+
+msgid "IDS_MUSIC_BODY_REVIEW"
+msgstr "Pārskatīt"
+
+msgid "IDS_MUSIC_HEADER_TRACK_LIST"
+msgstr "Ierakstu saraksts"
+
+msgid "IDS_MUSIC_BODY_ADD_TO_PLAYLIST"
+msgstr "Piev. atsk. sar."
+
+msgid "IDS_MUSIC_BODY_ARTIST"
+msgstr "Izpildītājs"
+
+msgid "IDS_MUSIC_BODY_FORWARDING"
+msgstr "Pārsūtīšana"
+
+msgid "IDS_MUSIC_BODY_RECORDED_DATE"
+msgstr "Date of recording"
+
+msgid "IDS_MUSIC_BODY_PLAYLISTS"
+msgstr "Atskaņošanas saraksti"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_PLAYED"
+msgstr "Nesen atskaņotie"
+
+msgid "IDS_MUSIC_BODY_TRACK_LENGTH"
+msgstr "Ieraksta ilgums"
+
+msgid "IDS_MUSIC_HEADER_NO_SONGS"
+msgstr "Nav dziesmu"
+
+msgid "IDS_MUSIC_POP_THIS_TRACK_WILL_BE_DELETED"
+msgstr "Šis ieraksts tiks izdzēsts."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_TRACKS_WILL_BE_DELETED"
+msgstr "Izvēlētie ieraksti tiks izdzēsti."
+
+msgid "IDS_MUSIC_POP_THIS_ARTIST_WILL_BE_DELETED"
+msgstr "Šis izpildītājs tiks izdzēsts."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ARTISTS_WILL_BE_DELETED"
+msgstr "Izvēlētie izpildītāji tiks izdzēsti."
+
+msgid "IDS_MUSIC_POP_ALL_ARTISTS_WILL_BE_DELETED"
+msgstr "Visi izpildītāji tiks izdzēsti."
+
+msgid "IDS_MUSIC_POP_THIS_FOLDER_WILL_BE_DELETED"
+msgstr "Šī mape tiks izdzēsta."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_FOLDERS_WILL_BE_DELETED"
+msgstr "Izvēlētās mapes tiks izdzēstas."
+
+msgid "IDS_MUSIC_POP_ALL_FOLDERS_WILL_BE_DELETED"
+msgstr "Tiks izdzēstas visas mapes."
+
+msgid "IDS_MUSIC_POP_THIS_ALBUM_WILL_BE_DELETED"
+msgstr "Šis albums tiks izdzēsts."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ALBUMS_WILL_BE_DELETED"
+msgstr "Izvēlētie albumi tiks izdzēsti."
+
+msgid "IDS_MUSIC_POP_ALL_ALBUMS_WILL_BE_DELETED"
+msgstr "Visi albumi tiks izdzēsti."
+
+msgid "IDS_MUSIC_POP_THIS_PLAYLIST_WILL_BE_DELETED"
+msgstr "Šis atskaņošanas saraksts tiks izdzēsts."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Izvēlētie atskaņošanas saraksti tiks izdzēsti."
+
+msgid "IDS_MUSIC_POP_ALL_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Visi atskaņošanas saraksti tiks izdzēsti."
+
+msgid "IDS_MUSIC_HEADER_SONGS"
+msgstr "Dziesmas"
+
+msgid "IDS_MUSIC_OPT_REORDER"
+msgstr "Pārkārtot"
+
+msgid "IDS_MUSIC_OPT_SAVE_AS_PLAYLIST"
+msgstr "Saglabāt kā atskaņošanas sarakstu"
+
+msgid "IDS_MUSIC_OPT_SETAS_ALARM_TONE"
+msgstr "Atgādinājuma signāls"
+
+msgid "IDS_MUSIC_POP_NOTHING_SELECTED"
+msgstr "Nekas nav izvēlēts."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Nevar atskaņot. Radās kļūda."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_UNSUPPORTED_FILETYPE"
+msgstr "Nevar atskaņot. Neatbalstīts faila tips."
+
+msgid "IDS_MUSIC_SK_SHARE"
+msgstr "Koplietot"
+
+msgid "IDS_MUSIC_TAB4_CONDUCTORS"
+msgstr "Diriģ."
+
+msgid "IDS_MUSIC_HEADER_SELECT_DEVICE"
+msgstr "Atlasīt ierīci"
+
+msgid "IDS_MUSIC_SK_VIEW_AS"
+msgstr "Skatīt kā"
+
+msgid "IDS_MUSIC_BODY_SOUNDEFFECTS_NORMAL"
+msgstr "Parasts"
+
+msgid "IDS_MUSIC_BODY_USER"
+msgstr "Lietotājs"
+
+msgid "IDS_MUSIC_BODY_VOCAL_M_SOUNDEFFECT"
+msgstr "Vokāls"
+
+msgid "IDS_MUSIC_MBODY_BASS_BOOST"
+msgstr "Basu pastiprināšana"
+
+msgid "IDS_MUSIC_MBODY_TREBLE_BOOST"
+msgstr "Diskantu pastiprināšana"
+
+msgid "IDS_MUSIC_BODY_CAFE_M_SOUNDEFFECT"
+msgstr "Kafejnīca"
+
+msgid "IDS_MUSIC_OPT_VIRTUAL_71_CH"
+msgstr "Virtuālais 7.1 kan."
+
+msgid "IDS_MUSIC_OPT_AFTER_15_MIN_ABB"
+msgstr "Pēc 15 minūtēm"
+
+msgid "IDS_MUSIC_BODY_AFTER_30_MIN"
+msgstr "Pēc 30 minūtēm"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HOUR"
+msgstr "Pēc 1 stundas"
+
+msgid "IDS_MUSIC_POP_AFTER_1_HOUR_30_MIN"
+msgstr "Pēc 1 h 30 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_2_HOURS"
+msgstr "Pēc 2 stundām"
+
+msgid "IDS_MUSIC_BODY_MUSIC_AUTO_OFF"
+msgstr "Mūzika autom. izslēgta"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES_ONLY"
+msgstr "Šis skaņas efekts darbojas tikai austiņu un Bluetooth austiņas režīmā."
+
+msgid "IDS_MUSIC_TAB4_MUSIC_SQUARE"
+msgstr "Mūzikas laukums"
+
+msgid "IDS_MUSIC_POP_NOT_ENOUGH_MUSIC_FILES_TO_PLAY_IN_MUSIC_SQUARE_AT_LEAST_PD_MUSIC_FILES_REQUIRED"
+msgstr "Nepietiek mūzikas failu, lai atskaņotu Mūzikas laukumā. Nepieciešami vismaz %d mūzikas faili."
+
+msgid "IDS_MUSIC_BODY_PASSION_M_MOOD"
+msgstr "Kaislība"
+
+msgid "IDS_MUSIC_BODY_CALM_M_ADJECTIVE"
+msgstr "Mierīga"
+
+msgid "IDS_MUSIC_BODY_JOY_M_MOOD"
+msgstr "Prieks"
+
+msgid "IDS_MUSIC_BODY_LIBRARY_UPDATE"
+msgstr "Bibliotēkas atjauninājums"
+
+msgid "IDS_MUSIC_POP_UPDATE_LIBRARY_Q"
+msgstr "Vai atjaunināt bibliotēku?"
+
+msgid "IDS_MUSIC_BODY_CHANGE_AXIS"
+msgstr "Mainīt asi"
+
+msgid "IDS_MUSIC_ITAB4_GENRES"
+msgstr "Žanri"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_1_TRACK"
+msgstr "1 albums/1 ieraksts"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_PD_TRACKS"
+msgstr "1 albums/%d ieraksti"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS_PD_TRACKS"
+msgstr "%d albumi/%d ieraksti"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_CONTROL_MUSIC_PLAYER_WITH_THE_VOICE_COMMANDS_P1SS_P2SS_P3SS_P4SS_P5SS_AND_P6SS"
+msgstr "Lai pārvaldītu mūzikas atskaņotāju, izmantojiet balss komandas %1$s, %2$s, %3$s, %4$s, %5$s un %6$s."
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_PD_TRACKS"
+msgstr "Jaukt: %d ierakstus"
+
+msgid "IDS_MUSIC_BODY_MORE_INFO"
+msgstr "Papildinformācija"
+
+msgid "IDS_MUSIC_HEADER_MY_MUSIC_M_APPLICATION_NAME"
+msgstr "Mana mūzika"
+
+msgid "IDS_MUSIC_OPT_LIST_VIEW"
+msgstr "Saraksta skats"
+
+msgid "IDS_MUSIC_OPT_PLAY_VIA_GROUP_PLAY"
+msgstr "Atskaņot, izmantojot Group Play"
+
+msgid "IDS_MUSIC_POP_TRACK_ADDED_TO_FAVOURITES"
+msgstr "Ieraksts pievienots izlasei."
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_FAVOURITES"
+msgstr "Izņemt no izlases"
+
+msgid "IDS_MUSIC_BODY_NEW_M_LATEST"
+msgstr "Jaunāks"
+
+msgid "IDS_MUSIC_OPT_TRACKS"
+msgstr "Ieraksti"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL"
+msgstr "Sīktēls"
+
+msgid "IDS_MUSIC_SK_LIST"
+msgstr "Saraksts"
+
+msgid "IDS_MUSIC_SK_OPEN_PLAYLIST"
+msgstr "Atvērt atskaņošanas sarakstu"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALL"
+msgstr "Atskaņot visu"
+
+msgid "IDS_MUSIC_POP_SELECTED_LIST_EMPTY"
+msgstr "Izvēlētais saraksts ir tukšs."
+
+msgid "IDS_MUSIC_BODY_MOODS"
+msgstr "Noskaņa"
+
+msgid "IDS_MUSIC_BUTTON_YEARS"
+msgstr "Gadi"
+
+msgid "IDS_MUSIC_BODY_OLD"
+msgstr "Vecāks"
+
+msgid "IDS_MUSIC_BODY_MUSIC_SQUARE_ANALYSES_THE_CHARACTERISTICS_OF_MUSIC_FILES_STORED_ON_YOUR_DEVICE_AND_AUTOMATICALLY_CREATES_PLAYLISTS_MSG"
+msgstr "Mūzikas laukums analizē ierīcē saglabāto mūzikas failu īpašības un automātiski izveido atskaņošanas sarakstus."
+
+msgid "IDS_MUSIC_BODY_PLAY_TRACKS_WITH_SIMILAR_CHARACTERISTICS_BY_SELECTING_A_SQUARE_ON_THE_SCREEN"
+msgstr "Atskaņojiet līdzīga stila mūziku, izvēloties laukumu ekrānā."
+
+msgid "IDS_MUSIC_BODY_VIEW_PLAYLIST_DETAILS_BY_TAPPING_AND_HOLDING_THE_SQUARE_CURRENTLY_BEING_PLAYED"
+msgstr "Apskatiet atskaņošanas saraksta datus, pieskaroties un turot pašreiz atskaņoto laukumu."
+
+msgid "IDS_MUSIC_BODY_NEARBY_DEVICES"
+msgstr "Tuvumā esošās ierīces"
+
+msgid "IDS_MUSIC_POP_YOU_WILL_NEED_TO_UPDATE_THE_LIBRARY_IF_NEW_SONGS_HAVE_BEEN_ADDED"
+msgstr "Ja ir pievienotas jaunas dziesmas, atjauniniet bibliotēku."
+
+msgid "IDS_MUSIC_BODY_NO_ALBUMS"
+msgstr "Nav albumu"
+
+msgid "IDS_MUSIC_BODY_NO_ARTISTS"
+msgstr "Nav izpildītāju"
+
+msgid "IDS_MUSIC_OPT_PLAY_SPEED_ABB"
+msgstr "Demonstrēšanas ātrums"
+
+msgid "IDS_MUSIC_BODY_CONCERT_HALL_M_SOUNDEFFECT"
+msgstr "Koncertzāle"
+
+msgid "IDS_MUSIC_OPT_ADD_TO"
+msgstr "Pievienot"
+
+msgid "IDS_MUSIC_SK_VIEW"
+msgstr "Skatīt"
+
+msgid "IDS_MUSIC_OPT_LISTBY_RECENTLY_ADDED"
+msgstr "Nesen pievienotie"
+
+msgid "IDS_MUSIC_BODY_NOT_USED"
+msgstr "Netiek izmantots"
+
+msgid "IDS_MUSIC_BODY_MAKE_AVAILABLE_OFFLINE"
+msgstr "Padarīt pieejamu bezsaistē"
+
+msgid "IDS_MUSIC_OPT_AFTER_P1SD_HRS_P2SD_MINS"
+msgstr "Pēc %1$d h %2$d min"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS"
+msgstr "Pēc %d h"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_MINS"
+msgstr "Pēc %d min"
+
+msgid "IDS_MUSIC_BODY_NO_FOLDERS"
+msgstr "Nav mapju"
+
+msgid "IDS_MUSIC_BODY_NO_TRACKS"
+msgstr "Nav ierakstu"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS"
+msgstr "%d albumi"
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS"
+msgstr "%d izpildītāji"
+
+msgid "IDS_MUSIC_BODY_PD_GENRES"
+msgstr "%d žanri"
+
+msgid "IDS_MUSIC_BODY_PD_PLAYLISTS"
+msgstr "%d atskaņošanas saraksti"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_ABB"
+msgstr "%d ieraksti"
+
+msgid "IDS_MUSIC_BODY_PLAYLIST"
+msgstr "Atskaņošanas saraksts"
+
+msgid "IDS_MUSIC_HEADER_SIMILAR_ALBUMS"
+msgstr "Līdzīgi albumi"
+
+msgid "IDS_MUSIC_HEADER_TRACK"
+msgstr "Atskaņojums"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL_VIEW"
+msgstr "Sīktēlu skats"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "Šis skaņas efekts darbojas tikai austiņu režīmā."
+
+msgid "IDS_MUSIC_OPT_ALL_CONTENT_ABB2"
+msgstr "Viss saturs"
+
+msgid "IDS_MUSIC_BODY_A_NETWORK_CONNECTION_IS_REQUIRED_TO_PLAY_THIS_FILE_CHECK_YOUR_NETWORK_CONNECTION_AND_TRY_AGAIN"
+msgstr "Lai atskaņotu šo failu, nepieciešams tīkla savienojums. Pārbaudiet tīkla savienojumu un mēģiniet vēlreiz."
+
+msgid "IDS_MUSIC_POP_FILE_TYPE_NOT_SUPPORTED"
+msgstr "Neatbalstīts faila tips."
+
+msgid "IDS_MUSIC_POP_UPDATING_ING"
+msgstr "Atjaunina..."
+
+msgid "IDS_MUSIC_OPT_SEARCH_ABB"
+msgstr "Meklēt"
+
+msgid "IDS_MUSIC_OPT_SEARCH_BY"
+msgstr "Meklēt pēc"
+
+msgid "IDS_MUSIC_BODY_RELATED_VIDEOS"
+msgstr "Saistītie videoklipi"
+
+msgid "IDS_MUSIC_BODY_SMART_VOLUME_ABB"
+msgstr "Viedais skaļums"
+
+msgid "IDS_MUSIC_BODY_THE_VOLUME_OF_ALL_TRACKS_WILL_BE_ADJUSTED_TO_LEVEL_PD"
+msgstr "Visu ierakstu skaļuma līmenis tiks pielāgots līmenim %d."
+
+msgid "IDS_MUSIC_HEADER_SMART_VOLUME_IS_ENABLED"
+msgstr "Aktivizēts viedais skaļums"
+
+msgid "IDS_MUSIC_OPT_CONNECTION_INFO_ABB"
+msgstr "Savienojuma dati"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_PD_MINS"
+msgstr "Pēc 1 h %d min"
+
+msgid "IDS_MUSIC_BODY_ADAPT_SOUND_ABB"
+msgstr "Adapt Sound"
+
+msgid "IDS_MUSIC_BODY_MY_DEVICE"
+msgstr "Mana ierīce"
+
+msgid "IDS_MUSIC_POP_LISTENING_AT_A_HIGH_VOLUME_FOR_A_LONG_TIME_MAY_DAMAGE_YOUR_HEARING_RAISE_THE_VOLUME_ABOVE_SAFE_LEVELS_Q"
+msgstr "Ilgstoša klausīšanās lielā skaļumā var bojāt dzirdi. Vai palielināt skaļumu virs drošā līmeņa?"
+
+msgid "IDS_MUSIC_POP_ALREADY_EXISTS"
+msgstr "Jau pastāv."
+
+msgid "IDS_MUSIC_OPT_SCAN_FOR_NEARBY_DEVICES"
+msgstr "Meklēt tuvumā esošās ierīces"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR"
+msgstr "Pēc 1 h"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_1_MIN"
+msgstr "Pēc 1 h 1 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS_1_MIN"
+msgstr "Pēc %d h 1 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_MIN"
+msgstr "Pēc 1 min"
+
+msgid "IDS_MUSIC_OPT_GO_TO_STORE"
+msgstr "Doties uz krātuvi"
+
+msgid "IDS_MUSIC_SK3_ADD_TRACKS"
+msgstr "Piev.ieraks."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FROM_MUSIC_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Pēc ierakstu lejupielādes no pakalpojuma Mūzika, tie tiks parādīti šeit."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_YOUR_FAVOURITES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Pēc ierakstu pievienošanas izlasēm tie tiks parādīti šeit."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_PLAY_TRACKS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Pēc ierakstu atskaņošanas tie tiks parādīti šeit."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_PS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Kad %s pievienosit ierakstus, tie tiks parādīti šeit."
+
+msgid "IDS_MUSIC_BODY_NO_PURCHASED_CONTENT"
+msgstr "Nav iegādāta satura"
+
+msgid "IDS_MUSIC_SK_SAVE_AS"
+msgstr "Saglabāt kā"
+
+msgid "IDS_MUSIC_POP_MUSICPLAYER_UPDATING_FAILED"
+msgstr "Neizdevās atjaunināt."
+
+msgid "IDS_MUSIC_BODY_EXCITING_M_ADJECTIVE"
+msgstr "Aizraujošs"
+
+msgid "IDS_MUSIC_BODY_SEARCH_MY_MUSIC"
+msgstr "Meklēt mapē Mana mūzika"
+
+msgid "IDS_MUSIC_HEADER_CONNECTED_DEVICES"
+msgstr "Pievienotās ierīces"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST_PS"
+msgstr "Mans atskaņošanas saraksts %s"
+
+msgid "IDS_MUSIC_BODY_NO_DEVICES"
+msgstr "Nav ierīču"
+
+msgid "IDS_MUSIC_HEADER_AVAILABLE_DEVICES_ABB"
+msgstr "Pieejamās ierīces"
+
+msgid "IDS_MUSIC_POP_SET"
+msgstr "Iestatīt"
+
+msgid "IDS_MUSIC_POP_REMOVE_FAILED"
+msgstr "Noņemšana neizdevās."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_USE_FAST_FORWARD_AND_REWIND_WHEN_NEARBY_DEVICES_ARE_ENABLED"
+msgstr "Nevar izmantot tīšanu uz priekšu un atpakaļ, ja ir aktivizētas tuvumā esošās ierīces."
+
+msgid "IDS_MUSIC_OPT_SET_AS"
+msgstr "Iestatīt kā"
+
+msgid "IDS_MUSIC_OPT_HEADPHONES_ABB"
+msgstr "Austiņas"
+
+msgid "IDS_MUSIC_OPT_SPEAKER"
+msgstr "Skaļrunis"
+
+msgid "IDS_MUSIC_BODY_1_SONG"
+msgstr "1 dziesma"
+
+msgid "IDS_MUSIC_BODY_PD_SONGS"
+msgstr "%d dziesmas"
+
+msgid "IDS_MUSIC_BODY_1_TRACK"
+msgstr "1 ieraksts"
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_1_TRACK"
+msgstr "Jaukt 1 ierakstu"
+
+msgid "IDS_MUSIC_POP_NO_MUSIC_FOUND_FOR_SELECTED_CELL"
+msgstr "Izvēlētajai šūnai nav atrasta mūzika"
+
+msgid "IDS_MUSIC_BODY_DO_NOT_SHOW_AGAIN"
+msgstr "Nerādīt vēlreiz"
+
+msgid "IDS_MUSIC_BODY_VARIOUS_ARTISTS"
+msgstr "Dažādi izpildītāji"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_HOME_SCREEN_ABB"
+msgstr "Pievienot sākuma ekrānam"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_FAVOURITES"
+msgstr "Pievienot izlasei"
+
+msgid "IDS_MUSIC_OPT_EDIT_TITLE"
+msgstr "Rediģēt nosaukumu"
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_PERSONAL_STORAGE"
+msgstr "Noņemt no privātās krātuves"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FOLDERS_WILL_BE_SHOWN"
+msgstr "Kad būsit lejupielādējis ierakstus, tiks parādītas mapes"
+
+msgid "IDS_MUSIC_BODY_SETTINGS_VOLUME"
+msgstr "Skaļums"
+
+msgid "IDS_MUSIC_BODY_REPEAT_OFF"
+msgstr "Atkārtošana izslēgta"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_REPEAT_ALL"
+msgstr "Atkārtot visu"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_OFF"
+msgstr "Jaukšana izslēgta"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_ON"
+msgstr "Jaukšana ieslēgta"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST"
+msgstr "Mans atskaņošanas saraksts"
+
+msgid "IDS_MUSIC_MBODY_DEFAULT_PLAYLISTS"
+msgstr "Noklus. atskaņ. saraksti"
+
+msgid "IDS_MUSIC_BODY_DETAILS_RECORDING_DATE"
+msgstr "Ierakstīšanas datums"
+
+msgid "IDS_MUSIC_OPT_ALBUM_ART_ABB"
+msgstr "Alb.nofor."
+
+msgid "IDS_MUSIC_BODY_1_GENRE"
+msgstr "1 žanrs"
+
+msgid "IDS_MUSIC_BODY_PD_FOLDERS"
+msgstr "%d mapes"
+
+msgid "IDS_MUSIC_BODY_1_FOLDER"
+msgstr "1 mape"
+
+msgid "IDS_MUSIC_BODY_1_ARTIST"
+msgstr "1 izpildītājs"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_M_MUSIC"
+msgstr "1 albums"
+
+msgid "IDS_MUSIC_BODY_1_PLAYLIST"
+msgstr "1 atskaņošanas saraksts"
+
+msgid "IDS_MUSIC_BODY_MUSIC_PLAYER"
+msgstr "Mūzikas Atskaņotājs"
+
+msgid "IDS_MUSIC_BUTTON_MOVE"
+msgstr "Pārvietot"
+
+msgid "IDS_MUSIC_BUTTON_AUTO_RECOMMENDATIONS"
+msgstr "Automātiskie ieteikumi"
+
+msgid "IDS_MUSIC_BUTTON_FROM_THE_BEGINNING"
+msgstr "No sākuma"
+
+msgid "IDS_MUSIC_HEADER_SUGGESTIONS_FOR_YOU"
+msgstr "Ieteikumi jums"
+
+msgid "IDS_MUSIC_OPT_SAVE"
+msgstr "Saglabāt"
+
+msgid "IDS_MUSIC_TAB4_BASIC_M_EQUALIZING"
+msgstr "Pamata"
+
+msgid "IDS_MUSIC_BODY_INSTRUMENT"
+msgstr "Mūzikas instruments"
+
+msgid "IDS_MUSIC_BODY_TREBLE_M_EQUALISER"
+msgstr "Diskants"
+
+msgid "IDS_MUSIC_BODY_BASS_M_EQUALISER"
+msgstr "Bass"
+
+msgid "IDS_MUSIC_BODY_NO_EFFECTS_ARE_APPLIED_IN_THIS_MODE_ABB"
+msgstr "Šajā režīmā netiek izmantoti nekādi efekti."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_TIMBRE_OF_A_TUBE_AMP_ABB"
+msgstr "Simulē lampu pastiprinātāja tembra efektu."
+
+msgid "IDS_MUSIC_OPT_TUBE_AMP_EFFECT"
+msgstr "Caurules skaņas efekts"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_EFFECT_OF_VIRTUAL_71_CHANNEL_SURROUND_SOUND_ABB"
+msgstr "Simulē virtuālās 7.1 kanālu telpiskās skaņas efektu."
+
+msgid "IDS_MUSIC_HEADER_SMALL_ROOM_M_REVERB_ABB"
+msgstr "Maza telpa"
+
+msgid "IDS_MUSIC_HEADER_LARGE_ROOM_M_REVERB_ABB"
+msgstr "Liela telpa"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_LARGE_ROOM_EG_A_THEATRE_ABB"
+msgstr "Simulē lielas telpas, piemēram, teātra zāles, atbalss efektu."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_CONCERT_HALL_ABB"
+msgstr "Simulē koncertzāles atbalss efektu."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_SMALL_SPACE_EG_A_STUDIO_ABB"
+msgstr "Simulē mazas telpas, piemēram, studijas, atbalss efektu."
+
+msgid "IDS_MUSIC_BUTTON_3D_CHN"
+msgstr "3D"
+
+msgid "IDS_MUSIC_BODY_CLARITY_M_SOUNDEFFECT"
+msgstr "Dzidrums"
+
+msgid "IDS_MUSIC_BUTTON_RESET"
+msgstr "Nodzēst"
+
+msgid "IDS_MUSIC_TAB_YEARS"
+msgstr "Gadi"
+
+msgid "IDS_MUSIC_TAB_GENRES"
+msgstr "Žanri"
+
+msgid "IDS_MUSIC_TAB_COMPOSERS"
+msgstr "Komponist."
+
+msgid "IDS_MUSIC_TAB_ALL_TRACKS"
+msgstr "Visi ieraksti"
+
+msgid "IDS_MUSIC_SK3_GO_TO_QUICK_LIST"
+msgstr "Iet uz ātro sar."
+
+msgid "IDS_MUSIC_SK3_FIND"
+msgstr "Atrast"
+
+msgid "IDS_MUSIC_SK3_ADD_TO_QUICK_LIST"
+msgstr "Piev. ātr. sar."
+
+msgid "IDS_MUSIC_POP_UNAUTHORISED_VIDEO_FILE_FOR_TV_OUT"
+msgstr "Neautorizēts video fails TV izejai."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_CREATE_MAXIMUM_NUMBER_OF_PLAYLISTS_REACHED"
+msgstr "Nevar izveidot. Sasniegts maksimālais atskaņošanas sarakstu skaits."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTING_BLUETOOTH_HEADSET"
+msgstr "Nevar pielāgot skaļumu, veidojot savienojumu ar Bluetooth austiņām."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTED_TO_BLUETOOTH_HEADSET"
+msgstr "Bluetooth austiņu lietošanas laikā nevar pielāgot skaļumu."
+
+msgid "IDS_MUSIC_POP_STOP_MUSIC_PLAYER_Q"
+msgstr "Vai apturēt mūzikas atskaņotāju?"
+
+msgid "IDS_MUSIC_POP_PLEASE_EXIT_SILENT_MODE"
+msgstr "Lūdzu, pārtrauciet klusuma režīmu."
+
+msgid "IDS_MUSIC_POP_NETWORK_FAILURE"
+msgstr "Tīkla kļūme."
+
+msgid "IDS_MUSIC_POP_MEMORY_CARD_LOADED"
+msgstr "Atmiņas karte ir ielādēta."
+
+msgid "IDS_MUSIC_POP_DEVICE_SETTINGS_ERROR"
+msgstr "Ierīces iestatījumu kļūda."
+
+msgid "IDS_MUSIC_POP_COULD_NOT_FIND_A_MATCH_FOR_THE_SONG"
+msgstr "Nevarēja atrast atbilstību dziesmai."
+
+msgid "IDS_MUSIC_POP_BUFFERING_MSTATUS"
+msgstr "Notiek ievietošana buferī"
+
+msgid "IDS_MUSIC_POP_BT_HEADSET_ONLY_SUPPORTS_NORMAL_EFFECTS_SETTING"
+msgstr "BT austiņas atbalsta tikai parastu efektu iestatījumu."
+
+msgid "IDS_MUSIC_POP_APPLICATION_WILL_BE_CLOSED"
+msgstr "Programma tiks aizvērta."
+
+msgid "IDS_MUSIC_POP_ADDED_GO_TO_WISH_LIST_Q"
+msgstr "Pievienots. Vai atvērt vēlmju sarakstu?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_THE_SERVICE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "Par piekļuvi pakalpojumam, iespējams, būs jāmaksā. Vai turpināt?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_STORE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "Par piekļūšanu veikalam var tikt piemērota samaksa. Vai turpināt?"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_ONLY_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES"
+msgstr "5.1 kanāla skaņas efekts darbojas tikai austiņu un Bluetooth austiņas režīmā."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "5.1 kanālu skaņas efekts darbojas tikai austiņu režīmā."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECTS_NOT_SUPPORTED_BY_SPEAKER"
+msgstr "Skaļrunis neatbalsta 5.1 kanāla skaņas efektus."
+
+msgid "IDS_MUSIC_OPT_VIEW_BY_COVER_ART"
+msgstr "Skatīt pēc vāka mākslas"
+
+msgid "IDS_MUSIC_OPT_SEND_TRACK"
+msgstr "Sūtīt atskaņojumu"
+
+msgid "IDS_MUSIC_OPT_RATE_TRACK"
+msgstr "Novērtēt atskaņojumu"
+
+msgid "IDS_MUSIC_OPT_PLAYLIST_MOVE_TRACK_IN_PLAYLIST"
+msgstr "Pārvietot ierakstu atskaņošanas sarakstā"
+
+msgid "IDS_MUSIC_OPT_OPENPLAYLIST_CURRENT"
+msgstr "Pašreizējais"
+
+msgid "IDS_MUSIC_OPT_DELETE_PLAYLIST"
+msgstr "Dzēst atskaņojumu sarakstu"
+
+msgid "IDS_MUSIC_OPT_BACKGROUND_PLAYING"
+msgstr "Atskaņošana fonā"
+
+msgid "IDS_MUSIC_HEADER_EFFECTS"
+msgstr "Efekti"
+
+msgid "IDS_MUSIC_BUTTON_BUY_NOW"
+msgstr "Ieg.tagad"
+
+msgid "IDS_MUSIC_BODY_WOW_HD"
+msgstr "Wow HD"
+
+msgid "IDS_MUSIC_BODY_WISHLIST"
+msgstr "Vēlmju saraksts"
+
+msgid "IDS_MUSIC_BODY_WIDE"
+msgstr "Plašs"
+
+msgid "IDS_MUSIC_BODY_WHA_WHA"
+msgstr "Va-va"
+
+msgid "IDS_MUSIC_BODY_VIBE_WOOFER"
+msgstr "Vibrācijas zemfrekvences reproduktors"
+
+msgid "IDS_MUSIC_BODY_TREMOLO"
+msgstr "Tremolo"
+
+msgid "IDS_MUSIC_BODY_TAP_TWICE_TO_PLAY_PAUSE_MUSIC"
+msgstr "Pieskarieties divas reizes, lai atskaņotu/pauzētu mūziku."
+
+msgid "IDS_MUSIC_BODY_SHARE_TRACK_VIA_BLUETOOTH"
+msgstr "Koplietot ierakstu, izmantojot Bluetooth"
+
+msgid "IDS_MUSIC_BODY_SETUPWIZARD_WELCOME_TO_THE_MUSIC_SETUP_WIZARD_CONTINUE_Q"
+msgstr "Laipni lūgti mūzikas iestatīšanas vednī.\nTurpmākie ekrāni palīdzēs jums konfigurēt jūsu tālruni. Vai turpināt?"
+
+msgid "IDS_MUSIC_BODY_QUICK_LIST"
+msgstr "Ātrais saraksts"
+
+msgid "IDS_MUSIC_BODY_PLAYINGSETTINGS_SOUND_EFFECTS"
+msgstr "Skaņas efekti"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_ALL"
+msgstr "Visas"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_1"
+msgstr "1"
+
+msgid "IDS_MUSIC_BODY_PLAYERSETTINGS_VOLUME"
+msgstr "Skaļums"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_SELECTED"
+msgstr "Izvēlēti %d ieraksti."
+
+msgid "IDS_MUSIC_BODY_NO_PODCASTS"
+msgstr "Nav nevienas apraides"
+
+msgid "IDS_MUSIC_BODY_FIND_SIMILAR"
+msgstr "Atrast līdzīgu"
+
+msgid "IDS_MUSIC_BODY_BACKGROUND_PLAY"
+msgstr "Atskaņošana fonā"
+
+msgid "IDS_MUSIC_BODY_51_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "5.1 kanālu var aktivizēt tikai tad, ja ir izslēgti skaņas efekti."
+
+msgid "IDS_MUSIC_TAB4_PODCASTS"
+msgstr "Aplādes"
+
+msgid "IDS_MUSIC_SK2_EDIT_IMAGE"
+msgstr "Rediģēt attēlu"
+
+msgid "IDS_MUSIC_POP_PLAYING_ANY_SOUNDS_WILL_STOP_AND_SAVE_YOUR_VOICE_RECORDING_PLAY_Q"
+msgstr "Skaņas atskaņošana tiks apturēta, un balss ieraksts tiks saglabāts. Vai atskaņot?"
+
+msgid "IDS_MUSIC_POP_MAXIMUM_NUMBER_OF_ITEMS_HPD_SELECTED"
+msgstr "Izvēlēts maksimālais objektu skaits (%d)."
+
+msgid "IDS_MUSIC_POP_BLUETOOTH_DISCONNECTED"
+msgstr "Bluetooth atvienots."
+
+msgid "IDS_MUSIC_POP_5_1_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "5.1 kanālu režīmu var aktivizēt tikai tad, ja ir izslēgti skaņas efekti."
+
+msgid "IDS_MUSIC_OPT_TAKE_PICTURE"
+msgstr "Fotografēt"
+
+msgid "IDS_MUSIC_OPT_SHOW_MUSIC_VIEW_ABB"
+msgstr "Rādīt mūzikas skatu"
+
+msgid "IDS_MUSIC_OPT_PAUSE"
+msgstr "Pauze"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALBUM"
+msgstr "Atskaņot albumu"
+
+msgid "IDS_MUSIC_OPT_LIST_BY"
+msgstr "Kārtot pēc"
+
+msgid "IDS_MUSIC_OPT_HISTORY"
+msgstr "Vēsture"
+
+msgid "IDS_MUSIC_OPT_HIDE_MUSIC_VIEW_ABB"
+msgstr "Slēpt mūzikas skatu"
+
+msgid "IDS_MUSIC_OPT_FIND_TAG"
+msgstr "Atrast atzīmi"
+
+msgid "IDS_MUSIC_OPT_DROPBOX_CONTENT_ABB"
+msgstr "Dropbox saturs"
+
+msgid "IDS_MUSIC_OPT_CONTENT_ON_PHONE_ABB"
+msgstr "Tālruņa saturs"
+
+msgid "IDS_MUSIC_OPT_CHANGE_IMAGE"
+msgstr "Mainīt attēlu"
+
+msgid "IDS_MUSIC_HEADER_DELETE_DROPBOX_DATA_ABB"
+msgstr "Dzēst Dropbox datus"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_STREAM_YOUR_MUSIC_TO_DEVICES_USING_ALLSHARE"
+msgstr "Varat straumēt mūziku uz ierīcēm, izmantojot programmu AllShare."
+
+msgid "IDS_MUSIC_BODY_VALIDITY"
+msgstr "Derīgums"
+
+msgid "IDS_MUSIC_BODY_TYPE_CNOUN"
+msgstr "Veids"
+
+msgid "IDS_MUSIC_BODY_THIS_WILL_DELETE_THE_FILE_FROM_THE_SERVER_AND_ANY_CONNECTED_DEVICES_AS_WELL"
+msgstr "Tādējādi tiks izdzēsts fails no servera, kā arī no citām pievienotajām ierīcēm."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_ARTISTS"
+msgstr "Izpildītāji"
+
+msgid "IDS_MUSIC_BODY_PLAYINGDETAILS_ALBUM_ART"
+msgstr "Albuma attēls"
+
+msgid "IDS_MUSIC_BODY_OTHER_CONTENTS"
+msgstr "Cits saturs"
+
+msgid "IDS_MUSIC_BODY_NAME_TOO_LONG"
+msgstr "Nosaukums par garu."
+
+msgid "IDS_MUSIC_BODY_MUSIC_CLARITY"
+msgstr "Mūzikas dzidrums"
+
+msgid "IDS_MUSIC_BODY_HIGH_VOLUMES_MAY_HARM_YOUR_HEARING_IF_YOU_LISTEN_FOR_A_LONG_TIME"
+msgstr "Ilgstoša skaļas mūzikas klausīšanās var izraisīt dzirdes traucējumus."
+
+msgid "IDS_MUSIC_BODY_AVAILABLE_USES"
+msgstr "Atlikušās lietošanas reizes"
+
+msgid "IDS_MUSIC_TPOP_SOUND_EFFECTS_ONLY_AVAILABLE_WHILE_HEADPHONES_CONNECTED"
+msgstr "Skaņas efekti ir pieejami tikai tad, kad ir pievienotas austiņas."
+
+msgid "IDS_ST_OPT_ADD_TO_YOUR_PERSONAL_STORAGE"
+msgstr "Pievienojiet savai privātajai krātuvei"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_YOUR_PERSONAL_STORAGE"
+msgstr "Noņemiet no savas privātās krātuves"
+
+msgid "IDS_ST_BODY_CONTEXTUAL_POP_UP_T_TALKBACK"
+msgstr "Konteksta uznirstošais logs"
+
+msgid "IDS_ST_BODY_A_CONTEXTUAL_POP_UP_IS_OPEN_DOUBLE_TAP_TO_CLOSE_IT_T_TALKBACK"
+msgstr "Ir atvērts konteksta uznirstošais logs. Veiciet dubultskārienu, lai to aizvērtu."
+
+msgid "IDS_ST_BODY_REPEAT_ONE"
+msgstr "Atkārtot vienu"
+
+msgid "IDS_ST_BUTTON_MOVING_ING"
+msgstr "Pārvieto..."
+
+msgid "IDS_HS_BODY_SELECT_UP_TO_PD_ITEMS"
+msgstr "Izvēlieties līdz %d objektiem"
+
+msgid "IDS_CAM_BODY_TAB_T_TTS"
+msgstr "Cilne"
+
+msgid "IDS_DLNA_OPT2_CHANGE_PLAYER"
+msgstr "Mainīt atskaņotāju"
+
+msgid "IDS_BR_SK_TABS"
+msgstr "Cilnes"
+
+msgid "IDS_MF_BODY_DROPBOX_ABB"
+msgstr "Dropbox"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Automātiskie ieteikumi var palīdzēt izgūt spilgtākās skaņu failu vietas."
+
+msgid "IDS_MF_BODY_PARENT_RATING"
+msgstr "Vecāku novērtējums"
+
+msgid "IDS_VR_POP_FILE_NOT_FOUND"
+msgstr "Fails nav atrasts."
+
+msgid "IDS_PB_POP_CALLER_RINGTONE_SAVED"
+msgstr "Zvanītāja signāls saglabāts."
+
+msgid "IDS_MUSIC_BODY_BIT_DEPTH"
+msgstr "Bitu dziļums"
+
+msgid "IDS_MUSIC_BODY_SIZE"
+msgstr "Lielums"
+
+msgid "IDS_MF_HEADER_PD_SELECTED"
+msgstr "Izvēlēti: %d"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_THIS_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Pēc ierakstu pievienošanas šai ierīcei tie tiks parādīti šeit."
+
+msgid "IDS_MUSIC_TMBODY_LENGTH"
+msgstr "Garums"
+
+msgid "IDS_MUSIC_POP_1_FOLDER_WILL_BE_DELETED"
+msgstr "Tiks izdzēsta 1 mape."
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Nav satura"
+
+msgid "IDS_MUSIC_ITAB4_FOLDERS"
+msgstr "Mapes"
+
+msgid "IDS_MUSIC_HEADER_MY_PLAYLISTS_ABB"
+msgstr "Mani atskaņ.saraksti"
+
+msgid "IDS_MP_BODY_SOUND_PLAYER"
+msgstr "Audio atskaņotājs"
+
+msgid "IDS_MUSIC_OPT_SETTINGS"
+msgstr "Iestatījumi"
+
+msgid "IDS_MUSIC_POP_DELETING"
+msgstr "Dzēš..."
+
+msgid "IDS_MUSIC_POP_1_TRACK_WILL_BE_DELETED"
+msgstr "Tiks izdzēsts 1 ieraksts."
+
+msgid "IDS_MUSIC_POP_ALL_TRACKS_WILL_BE_DELETED"
+msgstr "Visi ieraksti tiks izdzēsti"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_WILL_BE_DELETED"
+msgstr "Tiks izdzēst %d ieraksti."
+
+msgid "IDS_MUSIC_POP_1_PLAYLIST_WILL_BE_DELETED"
+msgstr "Tiks izdzēsts 1 atskaņošanas saraksts."
+
+msgid "IDS_MUSIC_POP_PD_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Tiks izdzēsti %d atskaņošanas saraksti."
+
+msgid "IDS_MUSIC_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "Tiks izdzēsti %d albumi."
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS_WILL_BE_DELETED"
+msgstr "Tiks izdzēsti %d izpildītāji."
+
+msgid "IDS_MUSIC_POP_PD_FOLDERS_WILL_BE_DELETED"
+msgstr "Tiks izdzēstas %d mapes."
+
+msgid "IDS_ST_POP_CONNECTION_FAILED"
+msgstr "Savienojums neizdevās."
+
+msgid "IDS_MUSIC_BODY_CLASSIC"
+msgstr "Klasiskais"
+
+msgid "IDS_MUSIC_BODY_ROCK"
+msgstr "Roks"
+
+msgid "IDS_MUSIC_BODY_JAZZ"
+msgstr "Džezs"
+
+msgid "IDS_MUSIC_BODY_POP"
+msgstr "Popmūzika"
+
+msgid "IDS_MUSIC_BODY_AUTO"
+msgstr "Auto."
+
+msgid "IDS_MUSIC_POP_CURRENT_SOUND_EFFECT_NOT_SUPPORTED_BY_HDMI"
+msgstr "HDMI neatbalsta pašreizējo skaņas efektu."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_BLUETOOTH"
+msgstr "Lietojot Bluetooth, skaņu efekti netiek atbalstīti."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_LINE_OUT"
+msgstr "Lietojot līnijas analogo skaņas stereoizvadi, skaņu efekti netiek atbalstīti."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_HDMI"
+msgstr "Lietojot HDMI, skaņu efekti netiek atbalstīti."
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EFFECT"
+msgstr "Lampu pastiprinātājs"
+
+msgid "IDS_MUSIC_BODY_CUSTOM"
+msgstr "Pielāgot"
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EQUALISER_ABB"
+msgstr "Lampu pastiprin."
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "Atskaņošanas sarakstam pievienoti %d ieraksti."
+
+msgid "IDS_MUSIC_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "Atskaņošanas sarakstam pievienots 1 ieraksts"
+
+msgid "IDS_MUSIC_HEADER_ADD_TRACKS_TO_PLAYLIST_ABB"
+msgstr "Piev. ierakstus atsk.sarakstam"
+
+msgid "IDS_MUSIC_POP_PS_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "%s jau tiek lietots. Ievadiet citu nosaukumu."
+
+msgid "IDS_MUSIC_TMBODY_DATE_OF_RECORDING"
+msgstr "Ieraksta datums"
+
+msgid "IDS_MBP_TPOP_TRACK_SET_AS_ALARM_TONE"
+msgstr "Ieraksts ir iestatīts kā modinātāja signāls."
+
+msgid "IDS_MUSIC_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Nav atrasts neviens rezultāts"
+
+msgid "IDS_MUSIC_OPT_DEFAULT_RINGTONE_ABB"
+msgstr "Noklusējuma zvana signāls"
+
+msgid "IDS_MUSIC_TPOP_TRACK_SET_AS_CALLER_RINGTONE"
+msgstr "Ieraksts ir iestatīts kā zvanītāja signāls."
+
+msgid "IDS_MP_TPOP_TRACK_SET_AS_RINGTONE"
+msgstr "Ieraksts ir iestatīts kā zvanītāja signāls."
+
+msgid "IDS_DLNA_BODY_ADD_TO_NOW_PLAYING_LIST"
+msgstr "Pievienot pašreizējam atskaņošanas sarakstam"
+
+msgid "IDS_MUSIC_TPOP_EQUALISER_SETTINGS_WILL_BE_APPLIED_WHILE_PLAYING_MUSIC"
+msgstr "Mūzikas atskaņošanas laikā tiks lietoti ekvalaizera iestatījumi."
+
+msgid "IDS_ST_BODY_ALERT"
+msgstr "Brīdinājums"
+
+msgid "IDS_IV_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "Tiks izdzēsts 1 albums."
+
+msgid "IDS_MUSIC_OPT_SD_CARD"
+msgstr "SD karte"
+
+msgid "IDS_MUSIC_SBODY_DEVICE_STORAGE"
+msgstr "Ierīces krātuve"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE"
+msgstr "Atskaņošanas saraksta nosaukums jau tiek lietots."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_PD"
+msgstr "Atskaņošanas saraksts %d"
+
+msgid "IDS_MUSIC_HEADER_CREATE"
+msgstr "Izveidot"
+
+msgid "IDS_MUSIC_HEADER_EQUALISER_PRESET_ABB"
+msgstr "Ekvalaizera sākotnējie iestatījumi"
+
+msgid "IDS_MUSIC_OPT_AUTOMATIC_M_EQUALIZER_EFFECT"
+msgstr "Automātiski"
+
+msgid "IDS_MUSIC_OPT_CLASSICAL_M_EQUALIZER_EFFECT"
+msgstr "Klasiskā"
+
+msgid "IDS_MUSIC_HEADER_ENVIRONMENT_EFFECT_ABB"
+msgstr "Vides efekts"
+
+msgid "IDS_VIDEO_POP_THE_FILE_TYPE_IS_NOT_SUPPORTED"
+msgstr "Neatbalstīts faila veids."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_CREATE_PLAYLISTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Pēc atskaņošanas sarakstu izveides tie tiks parādīti šeit."
+
+msgid "IDS_ST_HEADER_SELECT_AUDIO_DEVICE_ABB"
+msgstr "Izvēlēties audio ierīci"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "Atskaņošanas saraksta nosaukums jau tiek lietots. Ievadiet citu nosaukumu."
+
+msgid "IDS_MUSIC_HEADER_SOUNDALIVE_ABB3"
+msgstr "SoundAlive"
+
+msgid "IDS_MUSIC_OPT_NOW_PLAYING_LIST"
+msgstr "Pašreiz atskaņoto dziesmu saraksts"
+
+msgid "IDS_MUSIC_OPT_SHOW_LYRICS"
+msgstr "Rādīt dziesmu vārdus"
+
+msgid "IDS_MUSIC_OPT_HIDE_LYRICS"
+msgstr "Slēpt dziesmas tekstu"
+
+msgid "IDS_MUSIC_TPOP_UNABLE_TO_PLAY_MUSIC_DURING_CALLS"
+msgstr "Zvanu laikā nevar atskaņot mūziku."
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Dzēst"
+
+msgid "IDS_MUSIC_HEADER_SELECT"
+msgstr "Izvēlēties"
+
+msgid "IDS_TPLATFORM_OPT_NFC"
+msgstr "NFC"
+
+msgid "IDS_MUSIC_HEADER_UNABLE_TO_PLAY_TRACK"
+msgstr "Nevar atskaņot ierakstu"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "GATAVS"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ATCELT"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "DZĒST"
+
+msgid "IDS_MUSIC_POP_RENAME"
+msgstr "Pārdēvēt"
+
+msgid "IDS_MUSIC_OPT_MESSAGE"
+msgstr "Ziņa"
+
+msgid "IDS_MUSIC_SK_OK"
+msgstr "Labi"
+
+msgid "IDS_MUSIC_SK_CANCEL"
+msgstr "Atcelt"
+
+msgid "IDS_MUSIC_BUTTON_REFRESH"
+msgstr "Atsvaidzināt"
+
+msgid "IDS_MUSIC_BODY_SELECT_ALL"
+msgstr "Izv. visu"
+
+msgid "IDS_MUSIC_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_MUSIC_POP_DELETED"
+msgstr "Izdzēsts."
+
+msgid "IDS_MUSIC_OPT_STOP"
+msgstr "Apturēt"
+
+msgid "IDS_MUSIC_BODY_UNKNOWN"
+msgstr "Nezināms"
+
+msgid "IDS_MUSIC_BODY_TITLE"
+msgstr "Nosaukums"
+
+msgid "IDS_MUSIC_OPT_SENDVIA_EMAIL"
+msgstr "E-pasts"
+
+msgid "IDS_MUSIC_OPT_BLUETOOTH"
+msgstr "Bluetooth"
+
+msgid "IDS_MUSIC_HEADER_DOWNLOAD"
+msgstr "Lejupielāde"
+
+msgid "IDS_MUSIC_POP_LOW_BATTERY"
+msgstr "Akumulators gandrīz tukšs."
+
+msgid "IDS_MUSIC_HEADER_AUDIO_DEVICE"
+msgstr "Audio ierīce"
+
+msgid "IDS_MUSIC_HEADER_DETAILS"
+msgstr "Dati"
+
+msgid "IDS_MUSIC_OPT_END"
+msgstr "Beigt"
+
+msgid "IDS_MUSIC_OPT_EDIT"
+msgstr "Rediģēt"
+
+msgid "IDS_CAM_HEADER_UPDATED"
+msgstr "Atjaunināts."
+
+msgid "IDS_MUSIC_POP_REMOVED"
+msgstr "Noņemts."
+
+msgid "IDS_MUSIC_OPT_SELECTED"
+msgstr "Izvēlēts"
+
+msgid "IDS_ST_BUTTON_SCAN"
+msgstr "Meklēt"
+
+msgid "IDS_MF_POP_ERROR"
+msgstr "Kļūda."
+
+msgid "IDS_MF_POP_MEMORY_FULL"
+msgstr "Atmiņa pilna."
+
+msgid "IDS_MUSIC_MBODY_QUEUE"
+msgstr "Ievietot rindā"
+
+msgid "IDS_MUSIC_OPT_VOLUME"
+msgstr "Skaļums"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE"
+msgstr "Jaukt"
+
+msgid "IDS_MUSIC_OPT_REPEAT"
+msgstr "Atkārtot"
+
+msgid "IDS_COM_BODY_DETAILS"
+msgstr "Details"
+
+msgid "IDS_COM_BODY_DETAILS_TITLE"
+msgstr "Title"
+
+msgid "IDS_COM_BODY_EDIT"
+msgstr "Edit"
+
+msgid "IDS_COM_BODY_EMAIL"
+msgstr "Email"
+
+msgid "IDS_COM_BODY_END"
+msgstr "End"
+
+msgid "IDS_COM_BODY_FOLDERS"
+msgstr "Folders"
+
+msgid "IDS_COM_BODY_GALLERY"
+msgstr "Gallery"
+
+msgid "IDS_COM_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_COM_BODY_LOADING"
+msgstr "Loading..."
+
+msgid "IDS_COM_BODY_LOW_BATTERY"
+msgstr "Low battery."
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Message"
+
+msgid "IDS_COM_BODY_MUSIC"
+msgstr "Music"
+
+msgid "IDS_COM_BODY_NFC"
+msgstr "NFC"
+
+msgid "IDS_COM_BODY_NO_CONTENTS"
+msgstr "No content"
+
+msgid "IDS_COM_BODY_PAUSE"
+msgstr "Pause"
+
+msgid "IDS_COM_BODY_PD_SELECTED"
+msgstr "%d selected."
+
+msgid "IDS_COM_BODY_PREVIOUS"
+msgstr "Previous"
+
+msgid "IDS_COM_BODY_RESET_A"
+msgstr "Reset"
+
+msgid "IDS_COM_BODY_SELECTED"
+msgstr "Selected"
+
+msgid "IDS_COM_BODY_SELECT_ALL"
+msgstr "Select all"
+
+msgid "IDS_COM_BODY_SETTINGS"
+msgstr "Settings"
+
+msgid "IDS_COM_BODY_TIME"
+msgstr "Time"
+
+msgid "IDS_COM_BODY_UNABLE_TO_ADD"
+msgstr "Unable to add."
+
+msgid "IDS_COM_BODY_UNKNOWN"
+msgstr "Unknown"
+
+msgid "IDS_COM_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_COM_BUTTON_SCAN"
+msgstr "Scan"
+
+msgid "IDS_COM_BUTTON_SHARE"
+msgstr "Share"
+
+msgid "IDS_COM_HEADER_AUDIO_DEVICE_ABB"
+msgstr "Audio device"
+
+msgid "IDS_COM_OPT_ADDED"
+msgstr "Added."
+
+msgid "IDS_COM_OPT_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_POP_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_POP_CONNECTION_FAILED"
+msgstr "Connection failed."
+
+msgid "IDS_COM_POP_DELETED"
+msgstr "Deleted."
+
+msgid "IDS_COM_POP_DELETE_Q"
+msgstr "Delete?"
+
+msgid "IDS_COM_POP_DONE"
+msgstr "Done"
+
+msgid "IDS_COM_POP_DOWNLOADING"
+msgstr "Downloading..."
+
+msgid "IDS_COM_POP_ERROR"
+msgstr "Error."
+
+msgid "IDS_COM_POP_FAILED"
+msgstr "Failed."
+
+msgid "IDS_COM_POP_FILE_NOT_EXIST"
+msgstr "This file does not exist."
+
+msgid "IDS_COM_POP_FILE_NOT_FOUND"
+msgstr "File not found."
+
+msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximum number of characters reached."
+
+msgid "IDS_COM_POP_MEMORY_FULL"
+msgstr "Memory full."
+
+msgid "IDS_COM_POP_REMOVED"
+msgstr "Removed."
+
+msgid "IDS_COM_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Unable to use during Mass storage mode."
+
+msgid "IDS_COM_POP_UPDATED"
+msgstr "Updated."
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_SK_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_SK_DOWNLOAD"
+msgstr "Download"
+
+msgid "IDS_COM_SK_NEW"
+msgstr "New"
+
+msgid "IDS_COM_SK_NEXT"
+msgstr "Next"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_SK_REFRESH"
+msgstr "Refresh"
+
+msgid "IDS_COM_SK_REMOVE"
+msgstr "Remove"
+
+msgid "IDS_COM_SK_SAVE"
+msgstr "Save"
+
+msgid "IDS_COM_SK_SELECT"
+msgstr "Select"
+
+msgid "IDS_COM_SK_SET"
+msgstr "Set"
+
+msgid "IDS_COM_SK_STOP"
+msgstr "Stop"
+
+
+msgid "IDS_MH_BODY_THE_PLAYLIST_NAME_PS_IS_ALREADY_IN_USE"
+msgstr "The playlist name %s is already in use."
+
+msgid "IDS_MH_BODY_TOTAL"
+msgstr "Total"
+
+msgid "IDS_MH_MBODY_RECENTLY_ADDED_M_SONG"
+msgstr "Recently added"
+
+msgid "IDS_MH_OPT_MORE_INFO_ABB"
+msgstr "More info"
+
+msgid "IDS_MH_POP_ALARM_TONE_SET"
+msgstr "Alarm tone set."
+
+msgid "IDS_MH_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 track added to playlist."
+
+msgid "IDS_MH_TPOP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d tracks added to playlist."
+
+msgid "IDS_MUSIC_OPT_RENAME"
+msgstr "Rename"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Unable to play during call."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Pārsniegts maksimālais failu lielums."
+
+msgid "IDS_CAM_TPOP_UNABLE_TO_PLAY_MUSIC_WHILE_RECORDING_AUDIO_OR_VIDEO"
+msgstr "Audio vai video ierakstīšanas laikā nevar atskaņot mūziku."
+
--- /dev/null
+msgid "IDS_ST_BODY_LOADING_ING"
+msgstr "Активирање..."
+
+msgid "IDS_GALLERY_OPT_PRIVATE_M_CONTENT"
+msgstr "Приватно"
+
+msgid "IDS_MF_BODY_TIME"
+msgstr "Време"
+
+msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
+msgstr "Фајлот не постои."
+
+msgid "IDS_MUSIC_POP_PHONE_RINGTONE"
+msgstr "Ѕвонење на телефонот"
+
+msgid "IDS_MUSIC_BODY_DURATION"
+msgstr "Траење"
+
+msgid "IDS_MUSIC_BODY_MUSIC_LOCATION"
+msgstr "Локација"
+
+msgid "IDS_MUSIC_BODY_SET_AS_M_RINGTONE"
+msgstr "Постави како"
+
+msgid "IDS_ST_OPT_ADD_TO_PERSONAL_PAGE"
+msgstr "Додај на лична страница"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_PERSONAL_PAGE_ABB"
+msgstr "Отстрани од личн.страница"
+
+msgid "IDS_ST_POP_MOVE_TO_NORMAL_STORAGE"
+msgstr "Премести на нормална меморија"
+
+msgid "IDS_ST_POP_MOVE_TO_PERSONAL_STORAGE"
+msgstr "Премести во лична меморија"
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEMS_WILL_BE_MOVED_TO_PS"
+msgstr "Избраните записи ќе се преместат во %s."
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEM_WILL_BE_MOVED_TO_PS"
+msgstr "Избраниот запис ќе се премести во %s."
+
+msgid "IDS_VR_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Не може да се користи за време на за мемориски уред."
+
+msgid "IDS_MUSIC_POP_RINGTONE_ADDED"
+msgstr "Додадено е ѕвонење."
+
+msgid "IDS_CAM_BODY_BUTTON_T_TTS"
+msgstr "Копче"
+
+msgid "IDS_MUSIC_HEADER_SELECT_ITEMS"
+msgstr "Изберете записи"
+
+msgid "IDS_ST_BODY_ADVANCED"
+msgstr "Дополнително"
+
+msgid "IDS_ST_SK_PREVIOUS"
+msgstr "Претход."
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Затвори"
+
+msgid "IDS_MUSIC_POP_ADDED"
+msgstr "Додадено."
+
+msgid "IDS_MUSIC_POP_FAILED"
+msgstr "Неуспешно."
+
+msgid "IDS_MUSIC_BODY_NO_SEARCH_RESULTS"
+msgstr "Нема резултати од пребарувањето"
+
+msgid "IDS_MUSIC_SK_DONE"
+msgstr "Готово"
+
+msgid "IDS_MUSIC_BODY_NO_ITEMS"
+msgstr "Нема записи"
+
+msgid "IDS_BR_OPT_ADD_TO_HOME"
+msgstr "Додај дома"
+
+msgid "IDS_BR_SK_NEXT"
+msgstr "Следно"
+
+msgid "IDS_BR_BODY_DOWNLOADING_ING"
+msgstr "Се презема..."
+
+msgid "IDS_IV_BODY_FAVOURITE"
+msgstr "Омилени страници"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_PERSONAL_STORAGE"
+msgstr "Додај во лична меморија"
+
+msgid "IDS_DLNA_POP_DISCONNECTED_FROM_PS_CHECK_THE_NETWORK_STATUS_AND_THE_CONNECTED_DEVICE"
+msgstr "Исклучено од %s. Проверете ги мрежната состојба и поврзаниот уред."
+
+msgid "IDS_DLNA_OPT_VIA_SCREEN_MIRRORING_ABB"
+msgstr "Преку Screen Mirroring"
+
+msgid "IDS_DLNA_OPT_VIA_HOME_NETWORK_ABB"
+msgstr "Преку домашна мрежа"
+
+msgid "IDS_IV_POP_ENTRY_IS_EMPTY"
+msgstr "Записот е празен."
+
+msgid "IDS_FM_POP_UNAVAILABLE_DURING_CALL"
+msgstr "Недостапно за време на разговор."
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Достигнат е максималниот број знаци."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_SHARE_DRM_FILE"
+msgstr "Не може да се сподели фајл со DRM."
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Отстранување..."
+
+msgid "IDS_MUSIC_HEADER_PD_DEVICES"
+msgstr "%d уреди"
+
+msgid "IDS_MUSIC_BUTTON_ENABLE_MOTION"
+msgstr "Вкл. движење"
+
+msgid "IDS_MUSIC_BUTTON_DONT_ASK_AGAIN"
+msgstr "Не прашувај повторно"
+
+msgid "IDS_MUSIC_BODY_NO_RESULTS_FOUND"
+msgstr "Нема резултати."
+
+msgid "IDS_VPL_OPT_HDMI"
+msgstr "HDMI"
+
+msgid "IDS_MUSIC_BODY_TURN_PHONE_OVER_TO_MUTE_INCOMING_CALLS_MESSAGE_ALERTS_AND_ALARMS"
+msgstr "Превртете го телефонот за да го исклучите звукот за дојдовните повици, известувањата за пораки и алармите."
+
+msgid "IDS_ST_BODY_NONE"
+msgstr "Ништо"
+
+msgid "IDS_ST_BODY_INTERNET"
+msgstr "Интернет"
+
+msgid "IDS_ST_BODY_GALLERY"
+msgstr "Галерија"
+
+msgid "IDS_ST_BODY_DOUBLE_TAP_TO_MOVE_TO_CONTENT_T_TTS"
+msgstr "Допрете двапати за да одите до содржините."
+
+msgid "IDS_MUSIC_BODY_SURROUND"
+msgstr "Опкружувачки звук"
+
+msgid "IDS_MUSIC_OPT_LYRICS_ABB"
+msgstr "Текстови"
+
+msgid "IDS_MUSIC_POP_AFTER_YOU_ADD_TRACKS_TO_MUSIC_ON_YOUR_MOBILE_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Откако ќе додадете песни во Музика на мобилниот уред, ќе се прикажат тука."
+
+msgid "IDS_MUSIC_BODY_SAMPLING_RATE"
+msgstr "Брзина на семплување"
+
+msgid "IDS_MUSIC_BODY_MARKED_AS_A_FAVOURITE"
+msgstr "Означено како омилено."
+
+msgid "IDS_MUSIC_BODY_MUSIC"
+msgstr "Музика"
+
+msgid "IDS_MUSIC_BODY_NOT_MARKED_AS_A_FAVOURITE"
+msgstr "Не е означено како омилено."
+
+msgid "IDS_MUSIC_HEADER_SEARCH_MUSIC_ABB"
+msgstr "Пребарување музика"
+
+msgid "IDS_MUSIC_POP_AUTO_RECOMMENDATION_DOES_NOT_SUPPORT_THIS_AUDIO_FILE"
+msgstr "Автоматското препорачување не го поддржува овој звучен запис."
+
+msgid "IDS_MUSIC_POP_SORRY_THE_PLAYER_DOES_NOT_SUPPORT_THIS_TYPE_OF_AUDIO_FILE"
+msgstr "За жал, плеерот не го поддржува овој вид звучен запис."
+
+msgid "IDS_MUSIC_BODY_FAVOURITES"
+msgstr "Омилени"
+
+msgid "IDS_MUSIC_BODY_MOST_PLAYED"
+msgstr "Најчесто емитувано"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_ADDED"
+msgstr "Последно додадено"
+
+msgid "IDS_MUSIC_OPT_CREATE_PLAYLIST"
+msgstr "Нова музичка листа"
+
+msgid "IDS_MUSIC_OPT_REMOVE"
+msgstr "Отстрани"
+
+msgid "IDS_MUSIC_OPT_SETAS_CALLER_RINGTONE"
+msgstr "Тон за повикувач"
+
+msgid "IDS_MUSIC_TAB4_ARTISTS"
+msgstr "Изведувачи"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD"
+msgstr "Не може да се додаде."
+
+msgid "IDS_MUSIC_POP_UNABLE_CREATE_PLAYLIST"
+msgstr "Не може да се отвори музичка листа."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_GET_TAG"
+msgstr "Не може да се добие ознака."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_MORE_THAN_PD_MUSIC_FILE"
+msgstr "Не може да се додадат повеќе од %d музички фајлови."
+
+msgid "IDS_MUSIC_BODY_ALBUM"
+msgstr "Албум"
+
+msgid "IDS_MUSIC_BODY_AUTHOR"
+msgstr "Автор"
+
+msgid "IDS_MUSIC_BODY_COPYRIGHT"
+msgstr "Авторски права"
+
+msgid "IDS_MUSIC_BODY_CREATE_PLAYLIST"
+msgstr "Нова музичка листа"
+
+msgid "IDS_MUSIC_BODY_DESCRIPTION"
+msgstr "Опис"
+
+msgid "IDS_MUSIC_BODY_FORMAT"
+msgstr "Формат"
+
+msgid "IDS_MUSIC_BODY_IMPOSSIBLE"
+msgstr "Невозможно"
+
+msgid "IDS_MUSIC_BODY_NO_PLAYLISTS"
+msgstr "Нема музички листи"
+
+msgid "IDS_MUSIC_BODY_TRACK_NUMBER"
+msgstr "Реден број"
+
+msgid "IDS_MUSIC_POP_DELETE_Q"
+msgstr "Да се избрише?"
+
+msgid "IDS_MUSIC_POP_REMOVE_Q"
+msgstr "Отстрани?"
+
+msgid "IDS_MUSIC_POP_UNABLE_RENAME_PLAYLIST"
+msgstr "Музичката листа не може да се преименува."
+
+msgid "IDS_MUSIC_TAB4_ALBUMS"
+msgstr "Албуми"
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Се додава..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Да се избришат %d албуми?"
+
+msgid "IDS_MUSIC_TAB4_PLAYLISTS"
+msgstr "Музички листи"
+
+msgid "IDS_MUSIC_OPT_ADD"
+msgstr "Додај"
+
+msgid "IDS_MUSIC_BODY_BIOGRAPHY"
+msgstr "Биографија"
+
+msgid "IDS_MUSIC_BODY_CREDITS"
+msgstr "Учесници"
+
+msgid "IDS_MUSIC_BODY_DETAILS_MEADIA_INFO"
+msgstr "Податоци за медиумот"
+
+msgid "IDS_MUSIC_BODY_DISCOGRAPHY"
+msgstr "Дискографија"
+
+msgid "IDS_MUSIC_BODY_LYRIC"
+msgstr "Текстови"
+
+msgid "IDS_MUSIC_BODY_POSSIBLE"
+msgstr "Возможно"
+
+msgid "IDS_MUSIC_BODY_REVIEW"
+msgstr "Ревизија"
+
+msgid "IDS_MUSIC_HEADER_TRACK_LIST"
+msgstr "Листа песни"
+
+msgid "IDS_MUSIC_BODY_ADD_TO_PLAYLIST"
+msgstr "Додај во музичка листа"
+
+msgid "IDS_MUSIC_BODY_ARTIST"
+msgstr "Изведувач"
+
+msgid "IDS_MUSIC_BODY_FORWARDING"
+msgstr "Препраќање"
+
+msgid "IDS_MUSIC_BODY_RECORDED_DATE"
+msgstr "Date of recording"
+
+msgid "IDS_MUSIC_BODY_PLAYLISTS"
+msgstr "Музички листи"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_PLAYED"
+msgstr "Последно емитувано"
+
+msgid "IDS_MUSIC_BODY_TRACK_LENGTH"
+msgstr "Времетраење"
+
+msgid "IDS_MUSIC_HEADER_NO_SONGS"
+msgstr "Нема песни"
+
+msgid "IDS_MUSIC_POP_THIS_TRACK_WILL_BE_DELETED"
+msgstr "Песната ќе се избрише."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_TRACKS_WILL_BE_DELETED"
+msgstr "Избраните песни ќе се избришат."
+
+msgid "IDS_MUSIC_POP_THIS_ARTIST_WILL_BE_DELETED"
+msgstr "Овој изведувач ќе се избрише."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ARTISTS_WILL_BE_DELETED"
+msgstr "Избраните изведувачи ќе се избришат."
+
+msgid "IDS_MUSIC_POP_ALL_ARTISTS_WILL_BE_DELETED"
+msgstr "Сите изведувачи ќе се избришат."
+
+msgid "IDS_MUSIC_POP_THIS_FOLDER_WILL_BE_DELETED"
+msgstr "Папката ќе се избрише."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_FOLDERS_WILL_BE_DELETED"
+msgstr "Избраните папки ќе се избришат."
+
+msgid "IDS_MUSIC_POP_ALL_FOLDERS_WILL_BE_DELETED"
+msgstr "Сите папки ќе се избришат."
+
+msgid "IDS_MUSIC_POP_THIS_ALBUM_WILL_BE_DELETED"
+msgstr "Овој албум ќе се избрише."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ALBUMS_WILL_BE_DELETED"
+msgstr "Избраните албуми ќе се избришат."
+
+msgid "IDS_MUSIC_POP_ALL_ALBUMS_WILL_BE_DELETED"
+msgstr "Сите албуми ќе се избришат."
+
+msgid "IDS_MUSIC_POP_THIS_PLAYLIST_WILL_BE_DELETED"
+msgstr "Листата ќе се избрише."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Избраните листи ќе се избришат."
+
+msgid "IDS_MUSIC_POP_ALL_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Сите листи ќе се избришат."
+
+msgid "IDS_MUSIC_HEADER_SONGS"
+msgstr "Песни"
+
+msgid "IDS_MUSIC_OPT_REORDER"
+msgstr "Пререди"
+
+msgid "IDS_MUSIC_OPT_SAVE_AS_PLAYLIST"
+msgstr "Сочувај како музичка листа"
+
+msgid "IDS_MUSIC_OPT_SETAS_ALARM_TONE"
+msgstr "Тон за аларм"
+
+msgid "IDS_MUSIC_POP_NOTHING_SELECTED"
+msgstr "Не е избрано ништо."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Не може да се емитува. Дојде до грешка."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_UNSUPPORTED_FILETYPE"
+msgstr "Не може да се емитува. Неподдржан тип фајл."
+
+msgid "IDS_MUSIC_SK_SHARE"
+msgstr "Сподели"
+
+msgid "IDS_MUSIC_TAB4_CONDUCTORS"
+msgstr "Дириг."
+
+msgid "IDS_MUSIC_HEADER_SELECT_DEVICE"
+msgstr "Избери уред"
+
+msgid "IDS_MUSIC_SK_VIEW_AS"
+msgstr "Прег.како"
+
+msgid "IDS_MUSIC_BODY_SOUNDEFFECTS_NORMAL"
+msgstr "Нормално"
+
+msgid "IDS_MUSIC_BODY_USER"
+msgstr "Корисник"
+
+msgid "IDS_MUSIC_BODY_VOCAL_M_SOUNDEFFECT"
+msgstr "Вокална музика"
+
+msgid "IDS_MUSIC_MBODY_BASS_BOOST"
+msgstr "Засилување бас"
+
+msgid "IDS_MUSIC_MBODY_TREBLE_BOOST"
+msgstr "Засилување средни"
+
+msgid "IDS_MUSIC_BODY_CAFE_M_SOUNDEFFECT"
+msgstr "Кафеана"
+
+msgid "IDS_MUSIC_OPT_VIRTUAL_71_CH"
+msgstr "Виртуелен 7.1 канал"
+
+msgid "IDS_MUSIC_OPT_AFTER_15_MIN_ABB"
+msgstr "По 15 мин"
+
+msgid "IDS_MUSIC_BODY_AFTER_30_MIN"
+msgstr "По 30 мин"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HOUR"
+msgstr "По 1 час"
+
+msgid "IDS_MUSIC_POP_AFTER_1_HOUR_30_MIN"
+msgstr "По 1 час и 30 мин"
+
+msgid "IDS_MUSIC_BODY_AFTER_2_HOURS"
+msgstr "По 2 часа"
+
+msgid "IDS_MUSIC_BODY_MUSIC_AUTO_OFF"
+msgstr "Авто. искл. на музиката"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES_ONLY"
+msgstr "Звучниот ефект е само за слушалка и слушалки Bluetooth."
+
+msgid "IDS_MUSIC_TAB4_MUSIC_SQUARE"
+msgstr "Музички плоштад"
+
+msgid "IDS_MUSIC_POP_NOT_ENOUGH_MUSIC_FILES_TO_PLAY_IN_MUSIC_SQUARE_AT_LEAST_PD_MUSIC_FILES_REQUIRED"
+msgstr "Нема доволно музички фајлови за емитување на Музичкиот плоштад. Потребни се барем %d музички фајлови."
+
+msgid "IDS_MUSIC_BODY_PASSION_M_MOOD"
+msgstr "Страст"
+
+msgid "IDS_MUSIC_BODY_CALM_M_ADJECTIVE"
+msgstr "Смирен"
+
+msgid "IDS_MUSIC_BODY_JOY_M_MOOD"
+msgstr "Радост"
+
+msgid "IDS_MUSIC_BODY_LIBRARY_UPDATE"
+msgstr "Ажурирај библиотека"
+
+msgid "IDS_MUSIC_POP_UPDATE_LIBRARY_Q"
+msgstr "Ажурирај библиотека?"
+
+msgid "IDS_MUSIC_BODY_CHANGE_AXIS"
+msgstr "Смени оска"
+
+msgid "IDS_MUSIC_ITAB4_GENRES"
+msgstr "Жанрови"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_1_TRACK"
+msgstr "1 албум/1 песна"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_PD_TRACKS"
+msgstr "1 албум/%d песни"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS_PD_TRACKS"
+msgstr "%d албуми/%d песни"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_CONTROL_MUSIC_PLAYER_WITH_THE_VOICE_COMMANDS_P1SS_P2SS_P3SS_P4SS_P5SS_AND_P6SS"
+msgstr "Може да го контролирате Плеерот за музика со говорните команди %1$s, %2$s, %3$s, %4$s, %5$s и %6$s."
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_PD_TRACKS"
+msgstr "Мешана репродукција на %d песни"
+
+msgid "IDS_MUSIC_BODY_MORE_INFO"
+msgstr "Повеќе информации"
+
+msgid "IDS_MUSIC_HEADER_MY_MUSIC_M_APPLICATION_NAME"
+msgstr "Моја музика"
+
+msgid "IDS_MUSIC_OPT_LIST_VIEW"
+msgstr "Листа"
+
+msgid "IDS_MUSIC_OPT_PLAY_VIA_GROUP_PLAY"
+msgstr "Емитувај преку Груп-плеј"
+
+msgid "IDS_MUSIC_POP_TRACK_ADDED_TO_FAVOURITES"
+msgstr "Песната е додадена на омилените."
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_FAVOURITES"
+msgstr "Отстрани од Омилени"
+
+msgid "IDS_MUSIC_BODY_NEW_M_LATEST"
+msgstr "Нова"
+
+msgid "IDS_MUSIC_OPT_TRACKS"
+msgstr "Песни"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL"
+msgstr "Икони"
+
+msgid "IDS_MUSIC_SK_LIST"
+msgstr "Листа"
+
+msgid "IDS_MUSIC_SK_OPEN_PLAYLIST"
+msgstr "Отвори музичка листа"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALL"
+msgstr "Емитувај сè"
+
+msgid "IDS_MUSIC_POP_SELECTED_LIST_EMPTY"
+msgstr "Избраната листа е празна."
+
+msgid "IDS_MUSIC_BODY_MOODS"
+msgstr "Расположенија"
+
+msgid "IDS_MUSIC_BUTTON_YEARS"
+msgstr "Години"
+
+msgid "IDS_MUSIC_BODY_OLD"
+msgstr "Стари"
+
+msgid "IDS_MUSIC_BODY_MUSIC_SQUARE_ANALYSES_THE_CHARACTERISTICS_OF_MUSIC_FILES_STORED_ON_YOUR_DEVICE_AND_AUTOMATICALLY_CREATES_PLAYLISTS_MSG"
+msgstr "Музичко поле ги анализира карактеристиките на музичките фајлови сочувани на вашиот уред и автоматски прави музички листи."
+
+msgid "IDS_MUSIC_BODY_PLAY_TRACKS_WITH_SIMILAR_CHARACTERISTICS_BY_SELECTING_A_SQUARE_ON_THE_SCREEN"
+msgstr "Емитувајте листи музика со слични карактеристики избирајќи поле на екранот."
+
+msgid "IDS_MUSIC_BODY_VIEW_PLAYLIST_DETAILS_BY_TAPPING_AND_HOLDING_THE_SQUARE_CURRENTLY_BEING_PLAYED"
+msgstr "Видете ги деталите за листата допирајќи го и држејќи го полето што се емитува моментално."
+
+msgid "IDS_MUSIC_BODY_NEARBY_DEVICES"
+msgstr "Уреди во близина"
+
+msgid "IDS_MUSIC_POP_YOU_WILL_NEED_TO_UPDATE_THE_LIBRARY_IF_NEW_SONGS_HAVE_BEEN_ADDED"
+msgstr "Ќе треба да ја ажурирате библиотеката ако се додадени нови песни."
+
+msgid "IDS_MUSIC_BODY_NO_ALBUMS"
+msgstr "Нема албуми"
+
+msgid "IDS_MUSIC_BODY_NO_ARTISTS"
+msgstr "Нема изведувачи"
+
+msgid "IDS_MUSIC_OPT_PLAY_SPEED_ABB"
+msgstr "Брзина на емитување"
+
+msgid "IDS_MUSIC_BODY_CONCERT_HALL_M_SOUNDEFFECT"
+msgstr "Концертна сала"
+
+msgid "IDS_MUSIC_OPT_ADD_TO"
+msgstr " Додај на"
+
+msgid "IDS_MUSIC_SK_VIEW"
+msgstr "Прикажи"
+
+msgid "IDS_MUSIC_OPT_LISTBY_RECENTLY_ADDED"
+msgstr "Последно додадено"
+
+msgid "IDS_MUSIC_BODY_NOT_USED"
+msgstr "Не користи"
+
+msgid "IDS_MUSIC_BODY_MAKE_AVAILABLE_OFFLINE"
+msgstr "Напр. го достапно и без мрежа"
+
+msgid "IDS_MUSIC_OPT_AFTER_P1SD_HRS_P2SD_MINS"
+msgstr "По %1$d ч. %2$d мин."
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS"
+msgstr "По %d часа"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_MINS"
+msgstr "По %d минути"
+
+msgid "IDS_MUSIC_BODY_NO_FOLDERS"
+msgstr "Нема папки"
+
+msgid "IDS_MUSIC_BODY_NO_TRACKS"
+msgstr "Нема песни"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS"
+msgstr "%d албуми"
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS"
+msgstr "%d изведувачи"
+
+msgid "IDS_MUSIC_BODY_PD_GENRES"
+msgstr "%d жанрови"
+
+msgid "IDS_MUSIC_BODY_PD_PLAYLISTS"
+msgstr "%d листи"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_ABB"
+msgstr "%d песни"
+
+msgid "IDS_MUSIC_BODY_PLAYLIST"
+msgstr "Музичка листа"
+
+msgid "IDS_MUSIC_HEADER_SIMILAR_ALBUMS"
+msgstr "Слични албуми"
+
+msgid "IDS_MUSIC_HEADER_TRACK"
+msgstr "Песна"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL_VIEW"
+msgstr "Икони"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "Овој звучен ефект е само за слушалки."
+
+msgid "IDS_MUSIC_OPT_ALL_CONTENT_ABB2"
+msgstr "Сите содржини"
+
+msgid "IDS_MUSIC_BODY_A_NETWORK_CONNECTION_IS_REQUIRED_TO_PLAY_THIS_FILE_CHECK_YOUR_NETWORK_CONNECTION_AND_TRY_AGAIN"
+msgstr "Потребно е мрежно поврзување за да се пушти овој фајл. Проверете го мрежното поврзување и обидете се повторно."
+
+msgid "IDS_MUSIC_POP_FILE_TYPE_NOT_SUPPORTED"
+msgstr "Видот фајл не е поддржан."
+
+msgid "IDS_MUSIC_POP_UPDATING_ING"
+msgstr "Се ажурира..."
+
+msgid "IDS_MUSIC_OPT_SEARCH_ABB"
+msgstr "Пребарување"
+
+msgid "IDS_MUSIC_OPT_SEARCH_BY"
+msgstr "Пребарување по"
+
+msgid "IDS_MUSIC_BODY_RELATED_VIDEOS"
+msgstr "Сродни видеа"
+
+msgid "IDS_MUSIC_BODY_SMART_VOLUME_ABB"
+msgstr "Паметна јачина"
+
+msgid "IDS_MUSIC_BODY_THE_VOLUME_OF_ALL_TRACKS_WILL_BE_ADJUSTED_TO_LEVEL_PD"
+msgstr "Јачината на сите песни ќе се прилагодува на ниво %d."
+
+msgid "IDS_MUSIC_HEADER_SMART_VOLUME_IS_ENABLED"
+msgstr "Вклучена е паметна јачина"
+
+msgid "IDS_MUSIC_OPT_CONNECTION_INFO_ABB"
+msgstr "Информ. за врската"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_PD_MINS"
+msgstr "По 1 ч %d минути"
+
+msgid "IDS_MUSIC_BODY_ADAPT_SOUND_ABB"
+msgstr "Adapt Sound"
+
+msgid "IDS_MUSIC_BODY_MY_DEVICE"
+msgstr "Мој уред"
+
+msgid "IDS_MUSIC_POP_LISTENING_AT_A_HIGH_VOLUME_FOR_A_LONG_TIME_MAY_DAMAGE_YOUR_HEARING_RAISE_THE_VOLUME_ABOVE_SAFE_LEVELS_Q"
+msgstr "Слушањето со голема јачина подолго време може да Ви го оштети слухот. Да се зголеми јачината над безбедните нивоа?"
+
+msgid "IDS_MUSIC_POP_ALREADY_EXISTS"
+msgstr "Веќе постои."
+
+msgid "IDS_MUSIC_OPT_SCAN_FOR_NEARBY_DEVICES"
+msgstr "Скенирај за блиски уреди"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR"
+msgstr "По 1 ч"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_1_MIN"
+msgstr "По 1 ч и 1 мин"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS_1_MIN"
+msgstr "По %d часа 1 мин"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_MIN"
+msgstr "По 1 мин"
+
+msgid "IDS_MUSIC_OPT_GO_TO_STORE"
+msgstr "Оди до продавница"
+
+msgid "IDS_MUSIC_SK3_ADD_TRACKS"
+msgstr "Додај\nзаписи"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FROM_MUSIC_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Откако ќе преземете песни од Музика, ќе се прикажат тука."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_YOUR_FAVOURITES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Откако ќе додадете песни во омилените, ќе се прикажат тука."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_PLAY_TRACKS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Откако ќе емитувате песни, ќе се прикажат тука."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_PS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Откако ќе додадете песни во %s, ќе се прикажат тука."
+
+msgid "IDS_MUSIC_BODY_NO_PURCHASED_CONTENT"
+msgstr "Нема купени содржини"
+
+msgid "IDS_MUSIC_SK_SAVE_AS"
+msgstr "Сочувај како"
+
+msgid "IDS_MUSIC_POP_MUSICPLAYER_UPDATING_FAILED"
+msgstr "Неуспешно ажурирање."
+
+msgid "IDS_MUSIC_BODY_EXCITING_M_ADJECTIVE"
+msgstr "Возбудливо"
+
+msgid "IDS_MUSIC_BODY_SEARCH_MY_MUSIC"
+msgstr "Барај моја музика"
+
+msgid "IDS_MUSIC_HEADER_CONNECTED_DEVICES"
+msgstr "Поврзани уреди"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST_PS"
+msgstr "Моја листа %s"
+
+msgid "IDS_MUSIC_BODY_NO_DEVICES"
+msgstr "Нема уреди"
+
+msgid "IDS_MUSIC_HEADER_AVAILABLE_DEVICES_ABB"
+msgstr "Достапни уреди"
+
+msgid "IDS_MUSIC_POP_SET"
+msgstr "Постави"
+
+msgid "IDS_MUSIC_POP_REMOVE_FAILED"
+msgstr "Неуспешно отстранување."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_USE_FAST_FORWARD_AND_REWIND_WHEN_NEARBY_DEVICES_ARE_ENABLED"
+msgstr "Не може да се користи брзо напред и брзо назад кога се вклучени уреди во близина."
+
+msgid "IDS_MUSIC_OPT_SET_AS"
+msgstr "Постави како"
+
+msgid "IDS_MUSIC_OPT_HEADPHONES_ABB"
+msgstr "Слушалки"
+
+msgid "IDS_MUSIC_OPT_SPEAKER"
+msgstr "Звучник"
+
+msgid "IDS_MUSIC_BODY_1_SONG"
+msgstr "1 песна"
+
+msgid "IDS_MUSIC_BODY_PD_SONGS"
+msgstr "%d песни"
+
+msgid "IDS_MUSIC_BODY_1_TRACK"
+msgstr "1 песна"
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_1_TRACK"
+msgstr "Произволна 1 песна"
+
+msgid "IDS_MUSIC_POP_NO_MUSIC_FOUND_FOR_SELECTED_CELL"
+msgstr "Не е најдена музика за избраната ќелија"
+
+msgid "IDS_MUSIC_BODY_DO_NOT_SHOW_AGAIN"
+msgstr "Не прикажувај веќе"
+
+msgid "IDS_MUSIC_BODY_VARIOUS_ARTISTS"
+msgstr "Разни изведувачи"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_HOME_SCREEN_ABB"
+msgstr "Додај на почетниот екран"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_FAVOURITES"
+msgstr "Додај во Омилени"
+
+msgid "IDS_MUSIC_OPT_EDIT_TITLE"
+msgstr "Измени наслов"
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_PERSONAL_STORAGE"
+msgstr "Отстрани од лична меморија"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FOLDERS_WILL_BE_SHOWN"
+msgstr "Откако ќе преземете песни, ќе се прикажат папки"
+
+msgid "IDS_MUSIC_BODY_SETTINGS_VOLUME"
+msgstr "Јачина на тон"
+
+msgid "IDS_MUSIC_BODY_REPEAT_OFF"
+msgstr "Без повторување"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_REPEAT_ALL"
+msgstr "Повторувај сè"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_OFF"
+msgstr "Искл. мешање"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_ON"
+msgstr "Вкл. мешање"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST"
+msgstr "Моја музичка листа"
+
+msgid "IDS_MUSIC_MBODY_DEFAULT_PLAYLISTS"
+msgstr "Основни листи"
+
+msgid "IDS_MUSIC_BODY_DETAILS_RECORDING_DATE"
+msgstr "Датум на снимање"
+
+msgid "IDS_MUSIC_OPT_ALBUM_ART_ABB"
+msgstr "Омот"
+
+msgid "IDS_MUSIC_BODY_1_GENRE"
+msgstr "1 жанр"
+
+msgid "IDS_MUSIC_BODY_PD_FOLDERS"
+msgstr "%d папки"
+
+msgid "IDS_MUSIC_BODY_1_FOLDER"
+msgstr "1 папка"
+
+msgid "IDS_MUSIC_BODY_1_ARTIST"
+msgstr "1 изведувач"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_M_MUSIC"
+msgstr "1 албум"
+
+msgid "IDS_MUSIC_BODY_1_PLAYLIST"
+msgstr "1 музичка листа"
+
+msgid "IDS_MUSIC_BODY_MUSIC_PLAYER"
+msgstr "Плеер за музика"
+
+msgid "IDS_MUSIC_BUTTON_MOVE"
+msgstr "Премести"
+
+msgid "IDS_MUSIC_BUTTON_AUTO_RECOMMENDATIONS"
+msgstr "Автоматски препораки"
+
+msgid "IDS_MUSIC_BUTTON_FROM_THE_BEGINNING"
+msgstr "Од почетокот"
+
+msgid "IDS_MUSIC_HEADER_SUGGESTIONS_FOR_YOU"
+msgstr "Предлози за Вас"
+
+msgid "IDS_MUSIC_OPT_SAVE"
+msgstr "Сочувај"
+
+msgid "IDS_MUSIC_TAB4_BASIC_M_EQUALIZING"
+msgstr "Основно"
+
+msgid "IDS_MUSIC_BODY_INSTRUMENT"
+msgstr "Инструментална"
+
+msgid "IDS_MUSIC_BODY_TREBLE_M_EQUALISER"
+msgstr "Високи тонови"
+
+msgid "IDS_MUSIC_BODY_BASS_M_EQUALISER"
+msgstr "Бас"
+
+msgid "IDS_MUSIC_BODY_NO_EFFECTS_ARE_APPLIED_IN_THIS_MODE_ABB"
+msgstr "Не се применуваат ефекти во овој режим."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_TIMBRE_OF_A_TUBE_AMP_ABB"
+msgstr "Симулира тембр на засилувач со ламби."
+
+msgid "IDS_MUSIC_OPT_TUBE_AMP_EFFECT"
+msgstr "Ефект на лампаш"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_EFFECT_OF_VIRTUAL_71_CHANNEL_SURROUND_SOUND_ABB"
+msgstr "Симулира ефект на виртуелен опкружен звук со 7.1 канали."
+
+msgid "IDS_MUSIC_HEADER_SMALL_ROOM_M_REVERB_ABB"
+msgstr "Мала просторија"
+
+msgid "IDS_MUSIC_HEADER_LARGE_ROOM_M_REVERB_ABB"
+msgstr "Голема просторија"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_LARGE_ROOM_EG_A_THEATRE_ABB"
+msgstr "Симулира одек на голема просторија, на пр. театар."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_CONCERT_HALL_ABB"
+msgstr "Симулира одек на концертна сала."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_SMALL_SPACE_EG_A_STUDIO_ABB"
+msgstr "Симулира одек на мал простор, на пр. студио."
+
+msgid "IDS_MUSIC_BUTTON_3D_CHN"
+msgstr "3D"
+
+msgid "IDS_MUSIC_BODY_CLARITY_M_SOUNDEFFECT"
+msgstr "Јасност"
+
+msgid "IDS_MUSIC_BUTTON_RESET"
+msgstr "Ресетирај"
+
+msgid "IDS_MUSIC_TAB_YEARS"
+msgstr "Години"
+
+msgid "IDS_MUSIC_TAB_GENRES"
+msgstr "Жанрови"
+
+msgid "IDS_MUSIC_TAB_COMPOSERS"
+msgstr "Композ."
+
+msgid "IDS_MUSIC_TAB_ALL_TRACKS"
+msgstr "Сите песни"
+
+msgid "IDS_MUSIC_SK3_GO_TO_QUICK_LIST"
+msgstr "До брза листа"
+
+msgid "IDS_MUSIC_SK3_FIND"
+msgstr "Најди"
+
+msgid "IDS_MUSIC_SK3_ADD_TO_QUICK_LIST"
+msgstr "Во брза листа"
+
+msgid "IDS_MUSIC_POP_UNAUTHORISED_VIDEO_FILE_FOR_TV_OUT"
+msgstr "Неодобрен видео-фајл за ТВ-излез."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_CREATE_MAXIMUM_NUMBER_OF_PLAYLISTS_REACHED"
+msgstr "Не може да се креира. Достигнат е максималниот број музички листи."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTING_BLUETOOTH_HEADSET"
+msgstr "Не може да се смени јачината додека се поврзуваат Bluetooth слушалки."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTED_TO_BLUETOOTH_HEADSET"
+msgstr "Не може да се смени јачината додека се поврзани Bluetooth слушалки."
+
+msgid "IDS_MUSIC_POP_STOP_MUSIC_PLAYER_Q"
+msgstr "Запри Плеер за музика?"
+
+msgid "IDS_MUSIC_POP_PLEASE_EXIT_SILENT_MODE"
+msgstr "Исклучете го тивкиот режим."
+
+msgid "IDS_MUSIC_POP_NETWORK_FAILURE"
+msgstr "Дефект на мрежата."
+
+msgid "IDS_MUSIC_POP_MEMORY_CARD_LOADED"
+msgstr "Мемориската картичка е вчитана."
+
+msgid "IDS_MUSIC_POP_DEVICE_SETTINGS_ERROR"
+msgstr "Грешка во параметрите за уредот."
+
+msgid "IDS_MUSIC_POP_COULD_NOT_FIND_A_MATCH_FOR_THE_SONG"
+msgstr "Нема песна што одговара."
+
+msgid "IDS_MUSIC_POP_BUFFERING_MSTATUS"
+msgstr "Полнење на баферот"
+
+msgid "IDS_MUSIC_POP_BT_HEADSET_ONLY_SUPPORTS_NORMAL_EFFECTS_SETTING"
+msgstr "Слушалката BT поддржува само поставки за нормални ефекти."
+
+msgid "IDS_MUSIC_POP_APPLICATION_WILL_BE_CLOSED"
+msgstr "Апликацијата ќе се затвори."
+
+msgid "IDS_MUSIC_POP_ADDED_GO_TO_WISH_LIST_Q"
+msgstr "Додадено. Оди до листата желби?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_THE_SERVICE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "Пристапот кон услуга може да се наплатува. Сепак продолжи?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_STORE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "Пристапот кон продавницата може да се наплатува. Продолжи?"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_ONLY_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES"
+msgstr "Звучниот ефект 5.1 канали е само за слушалка и слушалка Bluetooth."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "Звучниот ефект 5.1 канали е само за слушалки."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECTS_NOT_SUPPORTED_BY_SPEAKER"
+msgstr "Не се поддржани звучни ефекти за 5.1 канали преку звучник."
+
+msgid "IDS_MUSIC_OPT_VIEW_BY_COVER_ART"
+msgstr "Прегледај според омот"
+
+msgid "IDS_MUSIC_OPT_SEND_TRACK"
+msgstr "Прати песна"
+
+msgid "IDS_MUSIC_OPT_RATE_TRACK"
+msgstr "Оцени песна"
+
+msgid "IDS_MUSIC_OPT_PLAYLIST_MOVE_TRACK_IN_PLAYLIST"
+msgstr "Премести во музичка листа"
+
+msgid "IDS_MUSIC_OPT_OPENPLAYLIST_CURRENT"
+msgstr "Тековно"
+
+msgid "IDS_MUSIC_OPT_DELETE_PLAYLIST"
+msgstr "Избриши музичка листа"
+
+msgid "IDS_MUSIC_OPT_BACKGROUND_PLAYING"
+msgstr "Емитување во заднина"
+
+msgid "IDS_MUSIC_HEADER_EFFECTS"
+msgstr "Ефекти"
+
+msgid "IDS_MUSIC_BUTTON_BUY_NOW"
+msgstr "Купи"
+
+msgid "IDS_MUSIC_BODY_WOW_HD"
+msgstr "Wow HD"
+
+msgid "IDS_MUSIC_BODY_WISHLIST"
+msgstr "Листа на желби"
+
+msgid "IDS_MUSIC_BODY_WIDE"
+msgstr "Широко"
+
+msgid "IDS_MUSIC_BODY_WHA_WHA"
+msgstr "Вах-вах"
+
+msgid "IDS_MUSIC_BODY_VIBE_WOOFER"
+msgstr "Вибрациски вуфер"
+
+msgid "IDS_MUSIC_BODY_TREMOLO"
+msgstr "Тремоло"
+
+msgid "IDS_MUSIC_BODY_TAP_TWICE_TO_PLAY_PAUSE_MUSIC"
+msgstr "Допрете двапати за емитување/паузирање музика."
+
+msgid "IDS_MUSIC_BODY_SHARE_TRACK_VIA_BLUETOOTH"
+msgstr "Сподели запис преку Bluetooth"
+
+msgid "IDS_MUSIC_BODY_SETUPWIZARD_WELCOME_TO_THE_MUSIC_SETUP_WIZARD_CONTINUE_Q"
+msgstr "Добре дојдовте во програмата за конфигурација на музиката.\nСледните екрани ќе Ви помогнат да го конфигурирате телефонот. Продолжи?"
+
+msgid "IDS_MUSIC_BODY_QUICK_LIST"
+msgstr "Брза листа"
+
+msgid "IDS_MUSIC_BODY_PLAYINGSETTINGS_SOUND_EFFECTS"
+msgstr "Звучни ефекти"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_ALL"
+msgstr "Сите"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_1"
+msgstr "1"
+
+msgid "IDS_MUSIC_BODY_PLAYERSETTINGS_VOLUME"
+msgstr "Јачина на тон"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_SELECTED"
+msgstr "Избрани се %d песни."
+
+msgid "IDS_MUSIC_BODY_NO_PODCASTS"
+msgstr "Нема подкасти"
+
+msgid "IDS_MUSIC_BODY_FIND_SIMILAR"
+msgstr "Најди слични"
+
+msgid "IDS_MUSIC_BODY_BACKGROUND_PLAY"
+msgstr "Емитување во заднина"
+
+msgid "IDS_MUSIC_BODY_51_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "5.1 канали може да се активира само кога се исклучени звучните ефекти."
+
+msgid "IDS_MUSIC_TAB4_PODCASTS"
+msgstr "Подкасти"
+
+msgid "IDS_MUSIC_SK2_EDIT_IMAGE"
+msgstr "Измени слика"
+
+msgid "IDS_MUSIC_POP_PLAYING_ANY_SOUNDS_WILL_STOP_AND_SAVE_YOUR_VOICE_RECORDING_PLAY_Q"
+msgstr "Со емитување каков било звук ќе се сопре и сочува снимањето глас. Да се емитува?"
+
+msgid "IDS_MUSIC_POP_MAXIMUM_NUMBER_OF_ITEMS_HPD_SELECTED"
+msgstr "Избран е макс. број записи (%d)."
+
+msgid "IDS_MUSIC_POP_BLUETOOTH_DISCONNECTED"
+msgstr "Bluetooth е откачено."
+
+msgid "IDS_MUSIC_POP_5_1_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "5.1 канали може да се активира само кога се исклучени звучните ефекти."
+
+msgid "IDS_MUSIC_OPT_TAKE_PICTURE"
+msgstr "Сликај"
+
+msgid "IDS_MUSIC_OPT_SHOW_MUSIC_VIEW_ABB"
+msgstr "Прикажи музички преглед"
+
+msgid "IDS_MUSIC_OPT_PAUSE"
+msgstr "Пауза"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALBUM"
+msgstr "Емитувај албум"
+
+msgid "IDS_MUSIC_OPT_LIST_BY"
+msgstr "Подреди според"
+
+msgid "IDS_MUSIC_OPT_HISTORY"
+msgstr "Историја"
+
+msgid "IDS_MUSIC_OPT_HIDE_MUSIC_VIEW_ABB"
+msgstr "Сокриј музички преглед"
+
+msgid "IDS_MUSIC_OPT_FIND_TAG"
+msgstr "Најди ознака"
+
+msgid "IDS_MUSIC_OPT_DROPBOX_CONTENT_ABB"
+msgstr "Содрж. од Dropbox"
+
+msgid "IDS_MUSIC_OPT_CONTENT_ON_PHONE_ABB"
+msgstr "Содржини на тел."
+
+msgid "IDS_MUSIC_OPT_CHANGE_IMAGE"
+msgstr "Смени слика"
+
+msgid "IDS_MUSIC_HEADER_DELETE_DROPBOX_DATA_ABB"
+msgstr "Избр. податоци Dropbox"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_STREAM_YOUR_MUSIC_TO_DEVICES_USING_ALLSHARE"
+msgstr "Може да ја емитувате својата музика до уреди коритејќи го AllShare."
+
+msgid "IDS_MUSIC_BODY_VALIDITY"
+msgstr "Валидност"
+
+msgid "IDS_MUSIC_BODY_TYPE_CNOUN"
+msgstr "Тип"
+
+msgid "IDS_MUSIC_BODY_THIS_WILL_DELETE_THE_FILE_FROM_THE_SERVER_AND_ANY_CONNECTED_DEVICES_AS_WELL"
+msgstr "Со ова ќе се избрише фајлот од серверот и од другите поврзани уреди."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_ARTISTS"
+msgstr "Изведувачи"
+
+msgid "IDS_MUSIC_BODY_PLAYINGDETAILS_ALBUM_ART"
+msgstr "Омот на албумот"
+
+msgid "IDS_MUSIC_BODY_OTHER_CONTENTS"
+msgstr "Други содржини"
+
+msgid "IDS_MUSIC_BODY_NAME_TOO_LONG"
+msgstr "Предолго име."
+
+msgid "IDS_MUSIC_BODY_MUSIC_CLARITY"
+msgstr "Музичка јасност"
+
+msgid "IDS_MUSIC_BODY_HIGH_VOLUMES_MAY_HARM_YOUR_HEARING_IF_YOU_LISTEN_FOR_A_LONG_TIME"
+msgstr "Големи јачини може да ви го оштетат слухот ако слушате долго време."
+
+msgid "IDS_MUSIC_BODY_AVAILABLE_USES"
+msgstr "Можност за употреба"
+
+msgid "IDS_MUSIC_TPOP_SOUND_EFFECTS_ONLY_AVAILABLE_WHILE_HEADPHONES_CONNECTED"
+msgstr "Звучните ефекти се достапни само кога се поврзани слушалки."
+
+msgid "IDS_ST_OPT_ADD_TO_YOUR_PERSONAL_STORAGE"
+msgstr "Додај во личната меморија"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_YOUR_PERSONAL_STORAGE"
+msgstr "Отстрани од личната меморија"
+
+msgid "IDS_ST_BODY_CONTEXTUAL_POP_UP_T_TALKBACK"
+msgstr "Контекстуален појавен прозорец"
+
+msgid "IDS_ST_BODY_A_CONTEXTUAL_POP_UP_IS_OPEN_DOUBLE_TAP_TO_CLOSE_IT_T_TALKBACK"
+msgstr "Отворен е контекстуален појавен прозорец. Допрете двапати да се затвори."
+
+msgid "IDS_ST_BODY_REPEAT_ONE"
+msgstr "Повторувај една"
+
+msgid "IDS_ST_BUTTON_MOVING_ING"
+msgstr "Се преместува..."
+
+msgid "IDS_HS_BODY_SELECT_UP_TO_PD_ITEMS"
+msgstr "Изберете најмногу %d ставки"
+
+msgid "IDS_CAM_BODY_TAB_T_TTS"
+msgstr "Картичка"
+
+msgid "IDS_DLNA_OPT2_CHANGE_PLAYER"
+msgstr "Смени плеер"
+
+msgid "IDS_BR_SK_TABS"
+msgstr "Картички"
+
+msgid "IDS_MF_BODY_DROPBOX_ABB"
+msgstr "Dropbox"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Автоматските препораки можат да го извлечат нагласеното од звучните фајлови."
+
+msgid "IDS_MF_BODY_PARENT_RATING"
+msgstr "Родителска оцена"
+
+msgid "IDS_VR_POP_FILE_NOT_FOUND"
+msgstr "Фајлот не е пронајден."
+
+msgid "IDS_PB_POP_CALLER_RINGTONE_SAVED"
+msgstr "Ѕвонењето за повикувач е меморирано."
+
+msgid "IDS_MUSIC_BODY_BIT_DEPTH"
+msgstr "Длабочина на битови"
+
+msgid "IDS_MUSIC_BODY_SIZE"
+msgstr "Големина"
+
+msgid "IDS_MF_HEADER_PD_SELECTED"
+msgstr "Избрани се %d"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_THIS_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Откако ќе додадете песни на уредот, ќе се прикажат тука."
+
+msgid "IDS_MUSIC_TMBODY_LENGTH"
+msgstr "Должина"
+
+msgid "IDS_MUSIC_POP_1_FOLDER_WILL_BE_DELETED"
+msgstr "1 папка ќе се избрише."
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Нема содржини"
+
+msgid "IDS_MUSIC_ITAB4_FOLDERS"
+msgstr "Папки"
+
+msgid "IDS_MUSIC_HEADER_MY_PLAYLISTS_ABB"
+msgstr "Мои музички листи"
+
+msgid "IDS_MP_BODY_SOUND_PLAYER"
+msgstr "Плеер за звук"
+
+msgid "IDS_MUSIC_OPT_SETTINGS"
+msgstr "Опции"
+
+msgid "IDS_MUSIC_POP_DELETING"
+msgstr "Се брише..."
+
+msgid "IDS_MUSIC_POP_1_TRACK_WILL_BE_DELETED"
+msgstr "1 песна ќе се избрише."
+
+msgid "IDS_MUSIC_POP_ALL_TRACKS_WILL_BE_DELETED"
+msgstr "Сите песни ќе се избришат"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_WILL_BE_DELETED"
+msgstr "%d песни ќе се избришат."
+
+msgid "IDS_MUSIC_POP_1_PLAYLIST_WILL_BE_DELETED"
+msgstr "1 листа ќе се избрише."
+
+msgid "IDS_MUSIC_POP_PD_PLAYLISTS_WILL_BE_DELETED"
+msgstr "%d листи ќе се избришат."
+
+msgid "IDS_MUSIC_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "%d албуми ќе се избришат."
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS_WILL_BE_DELETED"
+msgstr "%d изведувачи ќе се избришат."
+
+msgid "IDS_MUSIC_POP_PD_FOLDERS_WILL_BE_DELETED"
+msgstr "%d папки ќе се избришат."
+
+msgid "IDS_ST_POP_CONNECTION_FAILED"
+msgstr "Неуспешно поврзување."
+
+msgid "IDS_MUSIC_BODY_CLASSIC"
+msgstr "Класика"
+
+msgid "IDS_MUSIC_BODY_ROCK"
+msgstr "Рок"
+
+msgid "IDS_MUSIC_BODY_JAZZ"
+msgstr "Џез"
+
+msgid "IDS_MUSIC_BODY_POP"
+msgstr "Поп"
+
+msgid "IDS_MUSIC_BODY_AUTO"
+msgstr "Автоматски"
+
+msgid "IDS_MUSIC_POP_CURRENT_SOUND_EFFECT_NOT_SUPPORTED_BY_HDMI"
+msgstr "Моменталниот звучен ефект не е поддржан од HDMI."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_BLUETOOTH"
+msgstr "Не се поддржани звучни ефекти преку Bluetooth."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_LINE_OUT"
+msgstr "Не се поддржани звучни ефекти преку линиски излез."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_HDMI"
+msgstr "Не се поддржани звучни ефекти преку HDMI."
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EFFECT"
+msgstr "Лампаш"
+
+msgid "IDS_MUSIC_BODY_CUSTOM"
+msgstr "Одредено"
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EQUALISER_ABB"
+msgstr "Лампаш"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d песни се додадени на музичката листа."
+
+msgid "IDS_MUSIC_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 песна е додадена на музичката листа."
+
+msgid "IDS_MUSIC_HEADER_ADD_TRACKS_TO_PLAYLIST_ABB"
+msgstr "Додадете песни на музичка листа"
+
+msgid "IDS_MUSIC_POP_PS_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "Веќе се користи %s. Внесете друго име."
+
+msgid "IDS_MUSIC_TMBODY_DATE_OF_RECORDING"
+msgstr "Датум на снимка"
+
+msgid "IDS_MBP_TPOP_TRACK_SET_AS_ALARM_TONE"
+msgstr "Песната е одредена како тон за аларм."
+
+msgid "IDS_MUSIC_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Нема резултати"
+
+msgid "IDS_MUSIC_OPT_DEFAULT_RINGTONE_ABB"
+msgstr "Основно ѕвонење"
+
+msgid "IDS_MUSIC_TPOP_TRACK_SET_AS_CALLER_RINGTONE"
+msgstr "Песната е поставена како ѕвонење за повикувач."
+
+msgid "IDS_MP_TPOP_TRACK_SET_AS_RINGTONE"
+msgstr "Песната е поставена како ѕвонење."
+
+msgid "IDS_DLNA_BODY_ADD_TO_NOW_PLAYING_LIST"
+msgstr "Додај во листата што се емитува"
+
+msgid "IDS_MUSIC_TPOP_EQUALISER_SETTINGS_WILL_BE_APPLIED_WHILE_PLAYING_MUSIC"
+msgstr "Поставките за еквилајзерот ќе се применат кога се емитува музика."
+
+msgid "IDS_ST_BODY_ALERT"
+msgstr "Известување"
+
+msgid "IDS_IV_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 албум ќе се избрише."
+
+msgid "IDS_MUSIC_OPT_SD_CARD"
+msgstr "SD-карт."
+
+msgid "IDS_MUSIC_SBODY_DEVICE_STORAGE"
+msgstr "Меморија на уредот"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE"
+msgstr "Името на музичката листа се користи."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_PD"
+msgstr "Музичка листа %d"
+
+msgid "IDS_MUSIC_HEADER_CREATE"
+msgstr "Направи"
+
+msgid "IDS_MUSIC_HEADER_EQUALISER_PRESET_ABB"
+msgstr "Претходно поставен еквилајзер"
+
+msgid "IDS_MUSIC_OPT_AUTOMATIC_M_EQUALIZER_EFFECT"
+msgstr "Автоматски"
+
+msgid "IDS_MUSIC_OPT_CLASSICAL_M_EQUALIZER_EFFECT"
+msgstr "Класична музика"
+
+msgid "IDS_MUSIC_HEADER_ENVIRONMENT_EFFECT_ABB"
+msgstr "Ефект на средина"
+
+msgid "IDS_VIDEO_POP_THE_FILE_TYPE_IS_NOT_SUPPORTED"
+msgstr "Видот фајл не е поддржан."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_CREATE_PLAYLISTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Откако ќе направите листи, ќе се прикажат тука."
+
+msgid "IDS_ST_HEADER_SELECT_AUDIO_DEVICE_ABB"
+msgstr "Изберете аудио уред"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "Името на музичката листа веќе се користи. Внесете друго име."
+
+msgid "IDS_MUSIC_HEADER_SOUNDALIVE_ABB3"
+msgstr "SoundAlive"
+
+msgid "IDS_MUSIC_OPT_NOW_PLAYING_LIST"
+msgstr "Листа што се емитува"
+
+msgid "IDS_MUSIC_OPT_SHOW_LYRICS"
+msgstr "Покажи текст"
+
+msgid "IDS_MUSIC_OPT_HIDE_LYRICS"
+msgstr "Сокриј текст"
+
+msgid "IDS_MUSIC_TPOP_UNABLE_TO_PLAY_MUSIC_DURING_CALLS"
+msgstr "Не може да се емитува музика при повици."
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Избриши"
+
+msgid "IDS_MUSIC_HEADER_SELECT"
+msgstr "Избери"
+
+msgid "IDS_TPLATFORM_OPT_NFC"
+msgstr "NFC"
+
+msgid "IDS_MUSIC_HEADER_UNABLE_TO_PLAY_TRACK"
+msgstr "Не може да се пушти песната"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "ГОТОВО"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ОТКАЖИ"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "ИЗБРИШИ"
+
+msgid "IDS_MUSIC_POP_RENAME"
+msgstr "Преименувај"
+
+msgid "IDS_MUSIC_OPT_MESSAGE"
+msgstr "Порака"
+
+msgid "IDS_MUSIC_SK_OK"
+msgstr "OK"
+
+msgid "IDS_MUSIC_SK_CANCEL"
+msgstr "Откажи"
+
+msgid "IDS_MUSIC_BUTTON_REFRESH"
+msgstr "Обнови"
+
+msgid "IDS_MUSIC_BODY_SELECT_ALL"
+msgstr "Избери ги сите"
+
+msgid "IDS_MUSIC_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_MUSIC_POP_DELETED"
+msgstr "Избришано."
+
+msgid "IDS_MUSIC_OPT_STOP"
+msgstr "Прекини"
+
+msgid "IDS_MUSIC_BODY_UNKNOWN"
+msgstr "Непозната"
+
+msgid "IDS_MUSIC_BODY_TITLE"
+msgstr "Наслов"
+
+msgid "IDS_MUSIC_OPT_SENDVIA_EMAIL"
+msgstr "Е-пошта"
+
+msgid "IDS_MUSIC_OPT_BLUETOOTH"
+msgstr "Bluetooth"
+
+msgid "IDS_MUSIC_HEADER_DOWNLOAD"
+msgstr "Преземи"
+
+msgid "IDS_MUSIC_POP_LOW_BATTERY"
+msgstr "Батеријата е празна."
+
+msgid "IDS_MUSIC_HEADER_AUDIO_DEVICE"
+msgstr "Аудио уред"
+
+msgid "IDS_MUSIC_HEADER_DETAILS"
+msgstr "Детали"
+
+msgid "IDS_MUSIC_OPT_END"
+msgstr "Крај"
+
+msgid "IDS_MUSIC_OPT_EDIT"
+msgstr "Измени"
+
+msgid "IDS_CAM_HEADER_UPDATED"
+msgstr "Ажурирано."
+
+msgid "IDS_MUSIC_POP_REMOVED"
+msgstr "Отстрането."
+
+msgid "IDS_MUSIC_OPT_SELECTED"
+msgstr "Избраните"
+
+msgid "IDS_ST_BUTTON_SCAN"
+msgstr "Скенирај"
+
+msgid "IDS_MF_POP_ERROR"
+msgstr "Грешка."
+
+msgid "IDS_MF_POP_MEMORY_FULL"
+msgstr "Меморијата е полна."
+
+msgid "IDS_MUSIC_MBODY_QUEUE"
+msgstr "Ред"
+
+msgid "IDS_MUSIC_OPT_VOLUME"
+msgstr "Јачина на тон"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE"
+msgstr "Произволно"
+
+msgid "IDS_MUSIC_OPT_REPEAT"
+msgstr "Повторување"
+
+msgid "IDS_COM_BODY_DETAILS"
+msgstr "Details"
+
+msgid "IDS_COM_BODY_DETAILS_TITLE"
+msgstr "Title"
+
+msgid "IDS_COM_BODY_EDIT"
+msgstr "Edit"
+
+msgid "IDS_COM_BODY_EMAIL"
+msgstr "Email"
+
+msgid "IDS_COM_BODY_END"
+msgstr "End"
+
+msgid "IDS_COM_BODY_FOLDERS"
+msgstr "Folders"
+
+msgid "IDS_COM_BODY_GALLERY"
+msgstr "Gallery"
+
+msgid "IDS_COM_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_COM_BODY_LOADING"
+msgstr "Loading..."
+
+msgid "IDS_COM_BODY_LOW_BATTERY"
+msgstr "Low battery."
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Message"
+
+msgid "IDS_COM_BODY_MUSIC"
+msgstr "Music"
+
+msgid "IDS_COM_BODY_NFC"
+msgstr "NFC"
+
+msgid "IDS_COM_BODY_NO_CONTENTS"
+msgstr "No content"
+
+msgid "IDS_COM_BODY_PAUSE"
+msgstr "Pause"
+
+msgid "IDS_COM_BODY_PD_SELECTED"
+msgstr "%d selected."
+
+msgid "IDS_COM_BODY_PREVIOUS"
+msgstr "Previous"
+
+msgid "IDS_COM_BODY_RESET_A"
+msgstr "Reset"
+
+msgid "IDS_COM_BODY_SELECTED"
+msgstr "Selected"
+
+msgid "IDS_COM_BODY_SELECT_ALL"
+msgstr "Select all"
+
+msgid "IDS_COM_BODY_SETTINGS"
+msgstr "Settings"
+
+msgid "IDS_COM_BODY_TIME"
+msgstr "Time"
+
+msgid "IDS_COM_BODY_UNABLE_TO_ADD"
+msgstr "Unable to add."
+
+msgid "IDS_COM_BODY_UNKNOWN"
+msgstr "Unknown"
+
+msgid "IDS_COM_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_COM_BUTTON_SCAN"
+msgstr "Scan"
+
+msgid "IDS_COM_BUTTON_SHARE"
+msgstr "Share"
+
+msgid "IDS_COM_HEADER_AUDIO_DEVICE_ABB"
+msgstr "Audio device"
+
+msgid "IDS_COM_OPT_ADDED"
+msgstr "Added."
+
+msgid "IDS_COM_OPT_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_POP_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_POP_CONNECTION_FAILED"
+msgstr "Connection failed."
+
+msgid "IDS_COM_POP_DELETED"
+msgstr "Deleted."
+
+msgid "IDS_COM_POP_DELETE_Q"
+msgstr "Delete?"
+
+msgid "IDS_COM_POP_DONE"
+msgstr "Done"
+
+msgid "IDS_COM_POP_DOWNLOADING"
+msgstr "Downloading..."
+
+msgid "IDS_COM_POP_ERROR"
+msgstr "Error."
+
+msgid "IDS_COM_POP_FAILED"
+msgstr "Failed."
+
+msgid "IDS_COM_POP_FILE_NOT_EXIST"
+msgstr "This file does not exist."
+
+msgid "IDS_COM_POP_FILE_NOT_FOUND"
+msgstr "File not found."
+
+msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximum number of characters reached."
+
+msgid "IDS_COM_POP_MEMORY_FULL"
+msgstr "Memory full."
+
+msgid "IDS_COM_POP_REMOVED"
+msgstr "Removed."
+
+msgid "IDS_COM_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Unable to use during Mass storage mode."
+
+msgid "IDS_COM_POP_UPDATED"
+msgstr "Updated."
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_SK_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_SK_DOWNLOAD"
+msgstr "Download"
+
+msgid "IDS_COM_SK_NEW"
+msgstr "New"
+
+msgid "IDS_COM_SK_NEXT"
+msgstr "Next"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_SK_REFRESH"
+msgstr "Refresh"
+
+msgid "IDS_COM_SK_REMOVE"
+msgstr "Remove"
+
+msgid "IDS_COM_SK_SAVE"
+msgstr "Save"
+
+msgid "IDS_COM_SK_SELECT"
+msgstr "Select"
+
+msgid "IDS_COM_SK_SET"
+msgstr "Set"
+
+msgid "IDS_COM_SK_STOP"
+msgstr "Stop"
+
+
+msgid "IDS_MH_BODY_THE_PLAYLIST_NAME_PS_IS_ALREADY_IN_USE"
+msgstr "The playlist name %s is already in use."
+
+msgid "IDS_MH_BODY_TOTAL"
+msgstr "Total"
+
+msgid "IDS_MH_MBODY_RECENTLY_ADDED_M_SONG"
+msgstr "Recently added"
+
+msgid "IDS_MH_OPT_MORE_INFO_ABB"
+msgstr "More info"
+
+msgid "IDS_MH_POP_ALARM_TONE_SET"
+msgstr "Alarm tone set."
+
+msgid "IDS_MH_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 track added to playlist."
+
+msgid "IDS_MH_TPOP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d tracks added to playlist."
+
+msgid "IDS_MUSIC_OPT_RENAME"
+msgstr "Rename"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Unable to play during call."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Надмината е максималната големина за фајловите."
+
+msgid "IDS_CAM_TPOP_UNABLE_TO_PLAY_MUSIC_WHILE_RECORDING_AUDIO_OR_VIDEO"
+msgstr "Не може да се пушта музика додека се снима звук или видео."
+
--- /dev/null
+msgid "IDS_ST_BODY_LOADING_ING"
+msgstr "Åpner..."
+
+msgid "IDS_GALLERY_OPT_PRIVATE_M_CONTENT"
+msgstr "Privat"
+
+msgid "IDS_MF_BODY_TIME"
+msgstr "Tid"
+
+msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
+msgstr "Filen eksisterer ikke."
+
+msgid "IDS_MUSIC_POP_PHONE_RINGTONE"
+msgstr "Ringetone"
+
+msgid "IDS_MUSIC_BODY_DURATION"
+msgstr "Varighet"
+
+msgid "IDS_MUSIC_BODY_MUSIC_LOCATION"
+msgstr "Posisjon"
+
+msgid "IDS_MUSIC_BODY_SET_AS_M_RINGTONE"
+msgstr "Bruk som"
+
+msgid "IDS_ST_OPT_ADD_TO_PERSONAL_PAGE"
+msgstr "Legg til på personlig side"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_PERSONAL_PAGE_ABB"
+msgstr "Fjern fra personlig side"
+
+msgid "IDS_ST_POP_MOVE_TO_NORMAL_STORAGE"
+msgstr "Flytt til normal lagringsplass"
+
+msgid "IDS_ST_POP_MOVE_TO_PERSONAL_STORAGE"
+msgstr "Flytt til personlig lagringsplass"
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEMS_WILL_BE_MOVED_TO_PS"
+msgstr "De valgte elementene vil bli flyttet til %s."
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEM_WILL_BE_MOVED_TO_PS"
+msgstr "Det valgte elementet vil bli flyttet til %s."
+
+msgid "IDS_VR_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Kan ikke brukes ved masselagringsmodus."
+
+msgid "IDS_MUSIC_POP_RINGTONE_ADDED"
+msgstr "Ringetone lagt til."
+
+msgid "IDS_CAM_BODY_BUTTON_T_TTS"
+msgstr "Knapp"
+
+msgid "IDS_MUSIC_HEADER_SELECT_ITEMS"
+msgstr "Velg elementer"
+
+msgid "IDS_ST_BODY_ADVANCED"
+msgstr "Avansert"
+
+msgid "IDS_ST_SK_PREVIOUS"
+msgstr "Forrige"
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Lukk"
+
+msgid "IDS_MUSIC_POP_ADDED"
+msgstr "Lagt til."
+
+msgid "IDS_MUSIC_POP_FAILED"
+msgstr "Det oppstod en feil."
+
+msgid "IDS_MUSIC_BODY_NO_SEARCH_RESULTS"
+msgstr "Ingen søkeresultater"
+
+msgid "IDS_MUSIC_SK_DONE"
+msgstr "Utført"
+
+msgid "IDS_MUSIC_BODY_NO_ITEMS"
+msgstr "Ingen elementer"
+
+msgid "IDS_BR_OPT_ADD_TO_HOME"
+msgstr "Legg til på startskjermbilde"
+
+msgid "IDS_BR_SK_NEXT"
+msgstr "Neste"
+
+msgid "IDS_BR_BODY_DOWNLOADING_ING"
+msgstr "Laster ned..."
+
+msgid "IDS_IV_BODY_FAVOURITE"
+msgstr "Favoritt"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_PERSONAL_STORAGE"
+msgstr "Legg til på den personlige lagringsplassen"
+
+msgid "IDS_DLNA_POP_DISCONNECTED_FROM_PS_CHECK_THE_NETWORK_STATUS_AND_THE_CONNECTED_DEVICE"
+msgstr "Koblet fra %s. Kontroller nettverksstatusen og den tilkoblede enheten."
+
+msgid "IDS_DLNA_OPT_VIA_SCREEN_MIRRORING_ABB"
+msgstr "Via Screen Mirroring"
+
+msgid "IDS_DLNA_OPT_VIA_HOME_NETWORK_ABB"
+msgstr "Via hjemmenettverk"
+
+msgid "IDS_IV_POP_ENTRY_IS_EMPTY"
+msgstr "Oppføringen er tom."
+
+msgid "IDS_FM_POP_UNAVAILABLE_DURING_CALL"
+msgstr "Utilgjengelig under samtale."
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Nådd maksimalt antall tegn."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_SHARE_DRM_FILE"
+msgstr "Kan ikke dele DRM-fil."
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Tar bort..."
+
+msgid "IDS_MUSIC_HEADER_PD_DEVICES"
+msgstr "%d enheter"
+
+msgid "IDS_MUSIC_BUTTON_ENABLE_MOTION"
+msgstr "Aktiv. beveg."
+
+msgid "IDS_MUSIC_BUTTON_DONT_ASK_AGAIN"
+msgstr "Ikke spør på nytt"
+
+msgid "IDS_MUSIC_BODY_NO_RESULTS_FOUND"
+msgstr "Fant ingen resultater."
+
+msgid "IDS_VPL_OPT_HDMI"
+msgstr "HDMI"
+
+msgid "IDS_MUSIC_BODY_TURN_PHONE_OVER_TO_MUTE_INCOMING_CALLS_MESSAGE_ALERTS_AND_ALARMS"
+msgstr "Vend telefonen for å dempe innkommende samtaler, meldingsvarsler og alarmer."
+
+msgid "IDS_ST_BODY_NONE"
+msgstr "Ingen"
+
+msgid "IDS_ST_BODY_INTERNET"
+msgstr "Internett"
+
+msgid "IDS_ST_BODY_GALLERY"
+msgstr "Galleri"
+
+msgid "IDS_ST_BODY_DOUBLE_TAP_TO_MOVE_TO_CONTENT_T_TTS"
+msgstr "Trykk raskt to ganger for å gå til innholdet."
+
+msgid "IDS_MUSIC_BODY_SURROUND"
+msgstr "Surround"
+
+msgid "IDS_MUSIC_OPT_LYRICS_ABB"
+msgstr "Tekster"
+
+msgid "IDS_MUSIC_POP_AFTER_YOU_ADD_TRACKS_TO_MUSIC_ON_YOUR_MOBILE_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Når du har lagt til spor i Musikk på mobilenheten, vises de her."
+
+msgid "IDS_MUSIC_BODY_SAMPLING_RATE"
+msgstr "Samplingshastighet"
+
+msgid "IDS_MUSIC_BODY_MARKED_AS_A_FAVOURITE"
+msgstr "Merket som en favoritt."
+
+msgid "IDS_MUSIC_BODY_MUSIC"
+msgstr "Musikk"
+
+msgid "IDS_MUSIC_BODY_NOT_MARKED_AS_A_FAVOURITE"
+msgstr "Ikke merket som en favoritt."
+
+msgid "IDS_MUSIC_HEADER_SEARCH_MUSIC_ABB"
+msgstr "Søk musikk"
+
+msgid "IDS_MUSIC_POP_AUTO_RECOMMENDATION_DOES_NOT_SUPPORT_THIS_AUDIO_FILE"
+msgstr "Automatiske anbefalinger støtter ikke denne lydfilen."
+
+msgid "IDS_MUSIC_POP_SORRY_THE_PLAYER_DOES_NOT_SUPPORT_THIS_TYPE_OF_AUDIO_FILE"
+msgstr "Beklager, men spilleren støtter ikke denne typen lydfil."
+
+msgid "IDS_MUSIC_BODY_FAVOURITES"
+msgstr "Favoritter"
+
+msgid "IDS_MUSIC_BODY_MOST_PLAYED"
+msgstr "Mest spilt"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_ADDED"
+msgstr "Nylig lagt til"
+
+msgid "IDS_MUSIC_OPT_CREATE_PLAYLIST"
+msgstr "Opprett spilleliste"
+
+msgid "IDS_MUSIC_OPT_REMOVE"
+msgstr "Fjerne"
+
+msgid "IDS_MUSIC_OPT_SETAS_CALLER_RINGTONE"
+msgstr "Kontakt-ringetone"
+
+msgid "IDS_MUSIC_TAB4_ARTISTS"
+msgstr "Artist"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD"
+msgstr "Kan ikke legge til."
+
+msgid "IDS_MUSIC_POP_UNABLE_CREATE_PLAYLIST"
+msgstr "Kan ikke opprette spilleliste."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_GET_TAG"
+msgstr "Kan ikke hente tagg."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_MORE_THAN_PD_MUSIC_FILE"
+msgstr "Kan ikke legge til mer enn %d musikkfiler."
+
+msgid "IDS_MUSIC_BODY_ALBUM"
+msgstr "Album"
+
+msgid "IDS_MUSIC_BODY_AUTHOR"
+msgstr "Forfatter"
+
+msgid "IDS_MUSIC_BODY_COPYRIGHT"
+msgstr "Copyright"
+
+msgid "IDS_MUSIC_BODY_CREATE_PLAYLIST"
+msgstr "Opprett spilleliste"
+
+msgid "IDS_MUSIC_BODY_DESCRIPTION"
+msgstr "Beskrivelse"
+
+msgid "IDS_MUSIC_BODY_FORMAT"
+msgstr "Format"
+
+msgid "IDS_MUSIC_BODY_IMPOSSIBLE"
+msgstr "Umulig"
+
+msgid "IDS_MUSIC_BODY_NO_PLAYLISTS"
+msgstr "Ingen spillelister"
+
+msgid "IDS_MUSIC_BODY_TRACK_NUMBER"
+msgstr "Spornummer"
+
+msgid "IDS_MUSIC_POP_DELETE_Q"
+msgstr "Slette?"
+
+msgid "IDS_MUSIC_POP_REMOVE_Q"
+msgstr "Fjerne?"
+
+msgid "IDS_MUSIC_POP_UNABLE_RENAME_PLAYLIST"
+msgstr "Kan ikke gi spillelisten nytt navn."
+
+msgid "IDS_MUSIC_TAB4_ALBUMS"
+msgstr "Album"
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Legger til..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Vil du slette %d album?"
+
+msgid "IDS_MUSIC_TAB4_PLAYLISTS"
+msgstr "Spille-\nlister"
+
+msgid "IDS_MUSIC_OPT_ADD"
+msgstr "Legg til"
+
+msgid "IDS_MUSIC_BODY_BIOGRAPHY"
+msgstr "Biografi"
+
+msgid "IDS_MUSIC_BODY_CREDITS"
+msgstr "Medvirkende"
+
+msgid "IDS_MUSIC_BODY_DETAILS_MEADIA_INFO"
+msgstr "Medieinformasjon"
+
+msgid "IDS_MUSIC_BODY_DISCOGRAPHY"
+msgstr "Diskografi"
+
+msgid "IDS_MUSIC_BODY_LYRIC"
+msgstr "Tekster"
+
+msgid "IDS_MUSIC_BODY_POSSIBLE"
+msgstr "Mulig"
+
+msgid "IDS_MUSIC_BODY_REVIEW"
+msgstr "Gjennomgang"
+
+msgid "IDS_MUSIC_HEADER_TRACK_LIST"
+msgstr "Avspillingsliste"
+
+msgid "IDS_MUSIC_BODY_ADD_TO_PLAYLIST"
+msgstr "Legg til i spilleliste"
+
+msgid "IDS_MUSIC_BODY_ARTIST"
+msgstr "Artist"
+
+msgid "IDS_MUSIC_BODY_FORWARDING"
+msgstr "Videresending"
+
+msgid "IDS_MUSIC_BODY_RECORDED_DATE"
+msgstr "Date of recording"
+
+msgid "IDS_MUSIC_BODY_PLAYLISTS"
+msgstr "Spillelister"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_PLAYED"
+msgstr "Nylig avspilt"
+
+msgid "IDS_MUSIC_BODY_TRACK_LENGTH"
+msgstr "Sporlengde"
+
+msgid "IDS_MUSIC_HEADER_NO_SONGS"
+msgstr "Ingen sanger"
+
+msgid "IDS_MUSIC_POP_THIS_TRACK_WILL_BE_DELETED"
+msgstr "Dette sporet blir slettet."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_TRACKS_WILL_BE_DELETED"
+msgstr "De valgte sporene vil bli slettet."
+
+msgid "IDS_MUSIC_POP_THIS_ARTIST_WILL_BE_DELETED"
+msgstr "Denne artisten vil bli slettet."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ARTISTS_WILL_BE_DELETED"
+msgstr "De valgte artistene vil bli slettet."
+
+msgid "IDS_MUSIC_POP_ALL_ARTISTS_WILL_BE_DELETED"
+msgstr "Alle artister vil bli slettet."
+
+msgid "IDS_MUSIC_POP_THIS_FOLDER_WILL_BE_DELETED"
+msgstr "Denne mappen vil bli slettet."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_FOLDERS_WILL_BE_DELETED"
+msgstr "De valgte mappene vil bli slettet."
+
+msgid "IDS_MUSIC_POP_ALL_FOLDERS_WILL_BE_DELETED"
+msgstr "Alle mapper vil bli slettet."
+
+msgid "IDS_MUSIC_POP_THIS_ALBUM_WILL_BE_DELETED"
+msgstr "Dette albumet vil bli slettet."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ALBUMS_WILL_BE_DELETED"
+msgstr "De valgte albumene vil bli slettet."
+
+msgid "IDS_MUSIC_POP_ALL_ALBUMS_WILL_BE_DELETED"
+msgstr "Alle album vil bli slettet."
+
+msgid "IDS_MUSIC_POP_THIS_PLAYLIST_WILL_BE_DELETED"
+msgstr "Denne spillelisten vil bli slettet."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_PLAYLISTS_WILL_BE_DELETED"
+msgstr "De valgte spillelistene vil bli slettet."
+
+msgid "IDS_MUSIC_POP_ALL_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Alle spillelister vil bli slettet."
+
+msgid "IDS_MUSIC_HEADER_SONGS"
+msgstr "Sanger"
+
+msgid "IDS_MUSIC_OPT_REORDER"
+msgstr "Omorganiser"
+
+msgid "IDS_MUSIC_OPT_SAVE_AS_PLAYLIST"
+msgstr "Lagre som spilleliste"
+
+msgid "IDS_MUSIC_OPT_SETAS_ALARM_TONE"
+msgstr "Alarmtone"
+
+msgid "IDS_MUSIC_POP_NOTHING_SELECTED"
+msgstr "Ingenting valgt."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Kan ikke spille av. Det oppstod en feil."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_UNSUPPORTED_FILETYPE"
+msgstr "Kan ikke spilles av. Ikke støttet filtype."
+
+msgid "IDS_MUSIC_SK_SHARE"
+msgstr "Del"
+
+msgid "IDS_MUSIC_TAB4_CONDUCTORS"
+msgstr "Dirig."
+
+msgid "IDS_MUSIC_HEADER_SELECT_DEVICE"
+msgstr "Velg enhet"
+
+msgid "IDS_MUSIC_SK_VIEW_AS"
+msgstr "Vis som"
+
+msgid "IDS_MUSIC_BODY_SOUNDEFFECTS_NORMAL"
+msgstr "Normal"
+
+msgid "IDS_MUSIC_BODY_USER"
+msgstr "Bruker"
+
+msgid "IDS_MUSIC_BODY_VOCAL_M_SOUNDEFFECT"
+msgstr "Vokal"
+
+msgid "IDS_MUSIC_MBODY_BASS_BOOST"
+msgstr "Bassheving"
+
+msgid "IDS_MUSIC_MBODY_TREBLE_BOOST"
+msgstr "Diskantheving"
+
+msgid "IDS_MUSIC_BODY_CAFE_M_SOUNDEFFECT"
+msgstr "Kafé"
+
+msgid "IDS_MUSIC_OPT_VIRTUAL_71_CH"
+msgstr "Virtuell 7.1 kanal"
+
+msgid "IDS_MUSIC_OPT_AFTER_15_MIN_ABB"
+msgstr "Etter 15 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_30_MIN"
+msgstr "Etter 30 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HOUR"
+msgstr "Etter 1 time"
+
+msgid "IDS_MUSIC_POP_AFTER_1_HOUR_30_MIN"
+msgstr "Etter 1 time 30 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_2_HOURS"
+msgstr "Etter 2 timer"
+
+msgid "IDS_MUSIC_BODY_MUSIC_AUTO_OFF"
+msgstr "Musikk auto av"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES_ONLY"
+msgstr "Denne lydeffekten virker bare i høretelefon- og Bluetooth-hodesett-moduser."
+
+msgid "IDS_MUSIC_TAB4_MUSIC_SQUARE"
+msgstr "Musikk-firkant"
+
+msgid "IDS_MUSIC_POP_NOT_ENOUGH_MUSIC_FILES_TO_PLAY_IN_MUSIC_SQUARE_AT_LEAST_PD_MUSIC_FILES_REQUIRED"
+msgstr "Ikke nok musikkfiler til å spille av i Musikk-firkant. Minst %d musikkfiler kreves."
+
+msgid "IDS_MUSIC_BODY_PASSION_M_MOOD"
+msgstr "Lidenskap"
+
+msgid "IDS_MUSIC_BODY_CALM_M_ADJECTIVE"
+msgstr "Rolig"
+
+msgid "IDS_MUSIC_BODY_JOY_M_MOOD"
+msgstr "Glede"
+
+msgid "IDS_MUSIC_BODY_LIBRARY_UPDATE"
+msgstr "Biblioteksoppdatering"
+
+msgid "IDS_MUSIC_POP_UPDATE_LIBRARY_Q"
+msgstr "Oppdatere bibliotek?"
+
+msgid "IDS_MUSIC_BODY_CHANGE_AXIS"
+msgstr "Endre akse"
+
+msgid "IDS_MUSIC_ITAB4_GENRES"
+msgstr "Sjangre"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_1_TRACK"
+msgstr "1 album/1 spor"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_PD_TRACKS"
+msgstr "1 album/%d spor"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS_PD_TRACKS"
+msgstr "%d album/%d spor"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_CONTROL_MUSIC_PLAYER_WITH_THE_VOICE_COMMANDS_P1SS_P2SS_P3SS_P4SS_P5SS_AND_P6SS"
+msgstr "Du kan kontrollere Musikkspiller med talekommandoene %1$s, %2$s, %3$s, %4$s, %5$s og %6$s."
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_PD_TRACKS"
+msgstr "Spill av %d spor i tilfeldig rekkefølge"
+
+msgid "IDS_MUSIC_BODY_MORE_INFO"
+msgstr "Mer info"
+
+msgid "IDS_MUSIC_HEADER_MY_MUSIC_M_APPLICATION_NAME"
+msgstr "Min musikk"
+
+msgid "IDS_MUSIC_OPT_LIST_VIEW"
+msgstr "Listevisning"
+
+msgid "IDS_MUSIC_OPT_PLAY_VIA_GROUP_PLAY"
+msgstr "Spill av via Group Play"
+
+msgid "IDS_MUSIC_POP_TRACK_ADDED_TO_FAVOURITES"
+msgstr "Spor lagt til i Favoritter."
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_FAVOURITES"
+msgstr "Ta bort fra favoritter"
+
+msgid "IDS_MUSIC_BODY_NEW_M_LATEST"
+msgstr "Ny"
+
+msgid "IDS_MUSIC_OPT_TRACKS"
+msgstr "Spor"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL"
+msgstr "Miniatyrbilde"
+
+msgid "IDS_MUSIC_SK_LIST"
+msgstr "Liste"
+
+msgid "IDS_MUSIC_SK_OPEN_PLAYLIST"
+msgstr "Åpne spilleliste"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALL"
+msgstr "Spill av alle"
+
+msgid "IDS_MUSIC_POP_SELECTED_LIST_EMPTY"
+msgstr "Valgt liste er tom."
+
+msgid "IDS_MUSIC_BODY_MOODS"
+msgstr "Stemninger"
+
+msgid "IDS_MUSIC_BUTTON_YEARS"
+msgstr "År"
+
+msgid "IDS_MUSIC_BODY_OLD"
+msgstr "Gammel"
+
+msgid "IDS_MUSIC_BODY_MUSIC_SQUARE_ANALYSES_THE_CHARACTERISTICS_OF_MUSIC_FILES_STORED_ON_YOUR_DEVICE_AND_AUTOMATICALLY_CREATES_PLAYLISTS_MSG"
+msgstr "Musikk-firkant analyserer egenskapene til musikkfiler som er lagret på enheten, og oppretter spillelister automatisk."
+
+msgid "IDS_MUSIC_BODY_PLAY_TRACKS_WITH_SIMILAR_CHARACTERISTICS_BY_SELECTING_A_SQUARE_ON_THE_SCREEN"
+msgstr "Spill av spilleliste som består av musikk med lignende egenskaper, ved å velge en firkant på skjermen."
+
+msgid "IDS_MUSIC_BODY_VIEW_PLAYLIST_DETAILS_BY_TAPPING_AND_HOLDING_THE_SQUARE_CURRENTLY_BEING_PLAYED"
+msgstr "Vis spillelistedetaljer ved å trykke på og holde firkanten som spilles."
+
+msgid "IDS_MUSIC_BODY_NEARBY_DEVICES"
+msgstr "Enheter i nærheten"
+
+msgid "IDS_MUSIC_POP_YOU_WILL_NEED_TO_UPDATE_THE_LIBRARY_IF_NEW_SONGS_HAVE_BEEN_ADDED"
+msgstr "Du vil måtte oppdatere biblioteket hvis nye sanger har blitt lagt til."
+
+msgid "IDS_MUSIC_BODY_NO_ALBUMS"
+msgstr "Ingen album"
+
+msgid "IDS_MUSIC_BODY_NO_ARTISTS"
+msgstr "Ingen artister"
+
+msgid "IDS_MUSIC_OPT_PLAY_SPEED_ABB"
+msgstr "Avspillingshastighet"
+
+msgid "IDS_MUSIC_BODY_CONCERT_HALL_M_SOUNDEFFECT"
+msgstr "Konsertsal"
+
+msgid "IDS_MUSIC_OPT_ADD_TO"
+msgstr "Legg til i"
+
+msgid "IDS_MUSIC_SK_VIEW"
+msgstr "Vis"
+
+msgid "IDS_MUSIC_OPT_LISTBY_RECENTLY_ADDED"
+msgstr "Nylig lagt til"
+
+msgid "IDS_MUSIC_BODY_NOT_USED"
+msgstr "Brukes ikke"
+
+msgid "IDS_MUSIC_BODY_MAKE_AVAILABLE_OFFLINE"
+msgstr "Gjør tilgjengelig offline"
+
+msgid "IDS_MUSIC_OPT_AFTER_P1SD_HRS_P2SD_MINS"
+msgstr "Etter %1$d t %2$d min"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS"
+msgstr "Etter %d timer"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_MINS"
+msgstr "Etter %d minutter"
+
+msgid "IDS_MUSIC_BODY_NO_FOLDERS"
+msgstr "Ingen mapper"
+
+msgid "IDS_MUSIC_BODY_NO_TRACKS"
+msgstr "Ingen spor"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS"
+msgstr "%d albumer"
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS"
+msgstr "%d artister"
+
+msgid "IDS_MUSIC_BODY_PD_GENRES"
+msgstr "%d sjangre"
+
+msgid "IDS_MUSIC_BODY_PD_PLAYLISTS"
+msgstr "%d spillelister"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_ABB"
+msgstr "%d spor"
+
+msgid "IDS_MUSIC_BODY_PLAYLIST"
+msgstr "Spilleliste"
+
+msgid "IDS_MUSIC_HEADER_SIMILAR_ALBUMS"
+msgstr "Lignende albumer"
+
+msgid "IDS_MUSIC_HEADER_TRACK"
+msgstr "Spor"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL_VIEW"
+msgstr "Miniatyrvisning"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "Lydeffekten virker bare i høretelefonmodus."
+
+msgid "IDS_MUSIC_OPT_ALL_CONTENT_ABB2"
+msgstr "Alt innhold"
+
+msgid "IDS_MUSIC_BODY_A_NETWORK_CONNECTION_IS_REQUIRED_TO_PLAY_THIS_FILE_CHECK_YOUR_NETWORK_CONNECTION_AND_TRY_AGAIN"
+msgstr "Du må være koblet til et nettverk for å kunne spille av denne filen. Kontroller nettverkstilkoblingen din og prøv på nytt."
+
+msgid "IDS_MUSIC_POP_FILE_TYPE_NOT_SUPPORTED"
+msgstr "Filtypen støttes ikke."
+
+msgid "IDS_MUSIC_POP_UPDATING_ING"
+msgstr "Oppdaterer..."
+
+msgid "IDS_MUSIC_OPT_SEARCH_ABB"
+msgstr "Søk"
+
+msgid "IDS_MUSIC_OPT_SEARCH_BY"
+msgstr "Søk etter"
+
+msgid "IDS_MUSIC_BODY_RELATED_VIDEOS"
+msgstr "Beslektede videoer"
+
+msgid "IDS_MUSIC_BODY_SMART_VOLUME_ABB"
+msgstr "Smartvolum"
+
+msgid "IDS_MUSIC_BODY_THE_VOLUME_OF_ALL_TRACKS_WILL_BE_ADJUSTED_TO_LEVEL_PD"
+msgstr "Volumet for alle spor vil justeres til nivå %d."
+
+msgid "IDS_MUSIC_HEADER_SMART_VOLUME_IS_ENABLED"
+msgstr "Smartvolum er aktivert"
+
+msgid "IDS_MUSIC_OPT_CONNECTION_INFO_ABB"
+msgstr "Tilkoblingsinfo."
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_PD_MINS"
+msgstr "Etter 1 time %d minutter"
+
+msgid "IDS_MUSIC_BODY_ADAPT_SOUND_ABB"
+msgstr "Adapt Sound"
+
+msgid "IDS_MUSIC_BODY_MY_DEVICE"
+msgstr "Min enhet"
+
+msgid "IDS_MUSIC_POP_LISTENING_AT_A_HIGH_VOLUME_FOR_A_LONG_TIME_MAY_DAMAGE_YOUR_HEARING_RAISE_THE_VOLUME_ABOVE_SAFE_LEVELS_Q"
+msgstr "Hørselen din kan bli skadet hvis du lytter med høyt volum over lengre tid. Vil du øke volumet til over sikre nivåer?"
+
+msgid "IDS_MUSIC_POP_ALREADY_EXISTS"
+msgstr "Finnes allerede."
+
+msgid "IDS_MUSIC_OPT_SCAN_FOR_NEARBY_DEVICES"
+msgstr "Søk etter enheter i nærheten"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR"
+msgstr "Etter 1 time"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_1_MIN"
+msgstr "Etter 1 time 1 minutt"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS_1_MIN"
+msgstr "Etter %d timer 1 minutt"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_MIN"
+msgstr "Etter 1 minutt"
+
+msgid "IDS_MUSIC_OPT_GO_TO_STORE"
+msgstr "Gå til butikk"
+
+msgid "IDS_MUSIC_SK3_ADD_TRACKS"
+msgstr "Legg til\nspor"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FROM_MUSIC_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Når du har lastet ned spor fra Musikk, blir de vist her."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_YOUR_FAVOURITES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Når du har lagt til spor i favorittene dine, vises de her."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_PLAY_TRACKS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Når du har spilt spor, vises de her."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_PS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Når du har lagt til spor i %s, vises de her."
+
+msgid "IDS_MUSIC_BODY_NO_PURCHASED_CONTENT"
+msgstr "Ikke noe kjøpt innhold"
+
+msgid "IDS_MUSIC_SK_SAVE_AS"
+msgstr "Lagre som"
+
+msgid "IDS_MUSIC_POP_MUSICPLAYER_UPDATING_FAILED"
+msgstr "Kunne ikke oppdatere."
+
+msgid "IDS_MUSIC_BODY_EXCITING_M_ADJECTIVE"
+msgstr "Spennende"
+
+msgid "IDS_MUSIC_BODY_SEARCH_MY_MUSIC"
+msgstr "Søk i min musikk"
+
+msgid "IDS_MUSIC_HEADER_CONNECTED_DEVICES"
+msgstr "Tilkoblede enheter"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST_PS"
+msgstr "Min spilleliste %s"
+
+msgid "IDS_MUSIC_BODY_NO_DEVICES"
+msgstr "Ingen enheter"
+
+msgid "IDS_MUSIC_HEADER_AVAILABLE_DEVICES_ABB"
+msgstr "Tilgjeng. enheter"
+
+msgid "IDS_MUSIC_POP_SET"
+msgstr "Angi"
+
+msgid "IDS_MUSIC_POP_REMOVE_FAILED"
+msgstr "Kunne ikke fjerne."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_USE_FAST_FORWARD_AND_REWIND_WHEN_NEARBY_DEVICES_ARE_ENABLED"
+msgstr "Kan ikke bruke spoling fremover og bakover når Enheter i nærheten er aktivert."
+
+msgid "IDS_MUSIC_OPT_SET_AS"
+msgstr "Bruk som"
+
+msgid "IDS_MUSIC_OPT_HEADPHONES_ABB"
+msgstr "Hodetelefoner"
+
+msgid "IDS_MUSIC_OPT_SPEAKER"
+msgstr "Høyttaler"
+
+msgid "IDS_MUSIC_BODY_1_SONG"
+msgstr "1 sang"
+
+msgid "IDS_MUSIC_BODY_PD_SONGS"
+msgstr "%d sanger"
+
+msgid "IDS_MUSIC_BODY_1_TRACK"
+msgstr "1 spor"
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_1_TRACK"
+msgstr "Tilfeldig avspilling av 1 spor"
+
+msgid "IDS_MUSIC_POP_NO_MUSIC_FOUND_FOR_SELECTED_CELL"
+msgstr "Ingen musikk funnet for valgt celle"
+
+msgid "IDS_MUSIC_BODY_DO_NOT_SHOW_AGAIN"
+msgstr "Ikke vis igjen"
+
+msgid "IDS_MUSIC_BODY_VARIOUS_ARTISTS"
+msgstr "Forskjellige artister"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_HOME_SCREEN_ABB"
+msgstr "Legg til på startskjermbildet"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_FAVOURITES"
+msgstr "Legg til i Favoritter"
+
+msgid "IDS_MUSIC_OPT_EDIT_TITLE"
+msgstr "Rediger tittel"
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_PERSONAL_STORAGE"
+msgstr "Fjern fra den personlige lagringsplassen"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FOLDERS_WILL_BE_SHOWN"
+msgstr "Når du har lastet ned spor, vises mappene."
+
+msgid "IDS_MUSIC_BODY_SETTINGS_VOLUME"
+msgstr "Volum"
+
+msgid "IDS_MUSIC_BODY_REPEAT_OFF"
+msgstr "Gjentagelse av"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_REPEAT_ALL"
+msgstr "Gjenta alle"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_OFF"
+msgstr "Tilfeldig avspilling av"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_ON"
+msgstr "Tilfeldig avspilling på"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST"
+msgstr "Min spilleliste"
+
+msgid "IDS_MUSIC_MBODY_DEFAULT_PLAYLISTS"
+msgstr "Standard spillelister"
+
+msgid "IDS_MUSIC_BODY_DETAILS_RECORDING_DATE"
+msgstr "Innspillingsdato"
+
+msgid "IDS_MUSIC_OPT_ALBUM_ART_ABB"
+msgstr "Albumkunst"
+
+msgid "IDS_MUSIC_BODY_1_GENRE"
+msgstr "1 sjanger"
+
+msgid "IDS_MUSIC_BODY_PD_FOLDERS"
+msgstr "%d mapper"
+
+msgid "IDS_MUSIC_BODY_1_FOLDER"
+msgstr "1 mappe"
+
+msgid "IDS_MUSIC_BODY_1_ARTIST"
+msgstr "1 artist"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_M_MUSIC"
+msgstr "1 album"
+
+msgid "IDS_MUSIC_BODY_1_PLAYLIST"
+msgstr "1 spilleliste"
+
+msgid "IDS_MUSIC_BODY_MUSIC_PLAYER"
+msgstr "Musikk-spiller"
+
+msgid "IDS_MUSIC_BUTTON_MOVE"
+msgstr "Flytt"
+
+msgid "IDS_MUSIC_BUTTON_AUTO_RECOMMENDATIONS"
+msgstr "Automatiske anbefalinger"
+
+msgid "IDS_MUSIC_BUTTON_FROM_THE_BEGINNING"
+msgstr "Fra begynnelsen"
+
+msgid "IDS_MUSIC_HEADER_SUGGESTIONS_FOR_YOU"
+msgstr "Forslag for deg"
+
+msgid "IDS_MUSIC_OPT_SAVE"
+msgstr "Lagre"
+
+msgid "IDS_MUSIC_TAB4_BASIC_M_EQUALIZING"
+msgstr "Enkelt"
+
+msgid "IDS_MUSIC_BODY_INSTRUMENT"
+msgstr "Instrument"
+
+msgid "IDS_MUSIC_BODY_TREBLE_M_EQUALISER"
+msgstr "Diskant"
+
+msgid "IDS_MUSIC_BODY_BASS_M_EQUALISER"
+msgstr "Bass"
+
+msgid "IDS_MUSIC_BODY_NO_EFFECTS_ARE_APPLIED_IN_THIS_MODE_ABB"
+msgstr "Ingen effekter brukes i denne modusen."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_TIMBRE_OF_A_TUBE_AMP_ABB"
+msgstr "Simulerer klangen til en rørforsterker."
+
+msgid "IDS_MUSIC_OPT_TUBE_AMP_EFFECT"
+msgstr "Rørforsterkereffekt"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_EFFECT_OF_VIRTUAL_71_CHANNEL_SURROUND_SOUND_ABB"
+msgstr "Simulerer effekten til virtuell 7.1-kanal surroundlyd."
+
+msgid "IDS_MUSIC_HEADER_SMALL_ROOM_M_REVERB_ABB"
+msgstr "Lite rom"
+
+msgid "IDS_MUSIC_HEADER_LARGE_ROOM_M_REVERB_ABB"
+msgstr "Stort rom"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_LARGE_ROOM_EG_A_THEATRE_ABB"
+msgstr "Simulerer gjenklangen i et stort rom, for eksempel et teater."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_CONCERT_HALL_ABB"
+msgstr "Simulerer gjenklangen i en konsertsal."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_SMALL_SPACE_EG_A_STUDIO_ABB"
+msgstr "Simulerer gjenklangen i et lite rom, for eksempel et studio."
+
+msgid "IDS_MUSIC_BUTTON_3D_CHN"
+msgstr "3D"
+
+msgid "IDS_MUSIC_BODY_CLARITY_M_SOUNDEFFECT"
+msgstr "Klarhet"
+
+msgid "IDS_MUSIC_BUTTON_RESET"
+msgstr "Nullstill"
+
+msgid "IDS_MUSIC_TAB_YEARS"
+msgstr "År"
+
+msgid "IDS_MUSIC_TAB_GENRES"
+msgstr "Sjangre"
+
+msgid "IDS_MUSIC_TAB_COMPOSERS"
+msgstr "Komponister"
+
+msgid "IDS_MUSIC_TAB_ALL_TRACKS"
+msgstr "Alle spor"
+
+msgid "IDS_MUSIC_SK3_GO_TO_QUICK_LIST"
+msgstr "Gå til hurtlist"
+
+msgid "IDS_MUSIC_SK3_FIND"
+msgstr "Finn"
+
+msgid "IDS_MUSIC_SK3_ADD_TO_QUICK_LIST"
+msgstr "Tilf. i hurtlist"
+
+msgid "IDS_MUSIC_POP_UNAUTHORISED_VIDEO_FILE_FOR_TV_OUT"
+msgstr "Uautorisert videofil for TV-utgang."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_CREATE_MAXIMUM_NUMBER_OF_PLAYLISTS_REACHED"
+msgstr "Kan ikke opprette. Maksimalt antall spillelister er nådd."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTING_BLUETOOTH_HEADSET"
+msgstr "Kan ikke justere volumet mens Bluethooth-hodesett kobles til."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTED_TO_BLUETOOTH_HEADSET"
+msgstr "Kan ikke justere volumet når et Bluetooth-hodesett er tilkoblet."
+
+msgid "IDS_MUSIC_POP_STOP_MUSIC_PLAYER_Q"
+msgstr "Stoppe Musikkspiller?"
+
+msgid "IDS_MUSIC_POP_PLEASE_EXIT_SILENT_MODE"
+msgstr "Avslutt stillemodus."
+
+msgid "IDS_MUSIC_POP_NETWORK_FAILURE"
+msgstr "Nettverksfeil."
+
+msgid "IDS_MUSIC_POP_MEMORY_CARD_LOADED"
+msgstr "Minnekort lastet."
+
+msgid "IDS_MUSIC_POP_DEVICE_SETTINGS_ERROR"
+msgstr "Feil ved enhetsinnstillinger."
+
+msgid "IDS_MUSIC_POP_COULD_NOT_FIND_A_MATCH_FOR_THE_SONG"
+msgstr "Ingen treff for sangen."
+
+msgid "IDS_MUSIC_POP_BUFFERING_MSTATUS"
+msgstr "Bufrer"
+
+msgid "IDS_MUSIC_POP_BT_HEADSET_ONLY_SUPPORTS_NORMAL_EFFECTS_SETTING"
+msgstr "BT-hodesett støtter bare innstilling for normale effekter."
+
+msgid "IDS_MUSIC_POP_APPLICATION_WILL_BE_CLOSED"
+msgstr "Appen lukkes."
+
+msgid "IDS_MUSIC_POP_ADDED_GO_TO_WISH_LIST_Q"
+msgstr "Lagt til. Gå til ønskeliste?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_THE_SERVICE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "Tilgang til tjenesten kan koste penger. Fortsette?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_STORE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "Tilgang til butikken kan koste penger. Fortsette?"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_ONLY_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES"
+msgstr "5.1-kanals lydeffekt virker bare i høretelefon- og Bluetooth- hodesett-modus."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "5.1-kanals lydeffekt virker bare i høretelefonmodus."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECTS_NOT_SUPPORTED_BY_SPEAKER"
+msgstr "5.1-kanals lydeffekter støttes ikke av høyttaler."
+
+msgid "IDS_MUSIC_OPT_VIEW_BY_COVER_ART"
+msgstr "Vis med omslagskunst"
+
+msgid "IDS_MUSIC_OPT_SEND_TRACK"
+msgstr "Send spor"
+
+msgid "IDS_MUSIC_OPT_RATE_TRACK"
+msgstr "Klassifiser spor"
+
+msgid "IDS_MUSIC_OPT_PLAYLIST_MOVE_TRACK_IN_PLAYLIST"
+msgstr "Flytt spor i spilleliste"
+
+msgid "IDS_MUSIC_OPT_OPENPLAYLIST_CURRENT"
+msgstr "Aktuell"
+
+msgid "IDS_MUSIC_OPT_DELETE_PLAYLIST"
+msgstr "Slett spilleliste"
+
+msgid "IDS_MUSIC_OPT_BACKGROUND_PLAYING"
+msgstr "Bakgrunnsavspilling"
+
+msgid "IDS_MUSIC_HEADER_EFFECTS"
+msgstr "Effekter"
+
+msgid "IDS_MUSIC_BUTTON_BUY_NOW"
+msgstr "Kjøp nå"
+
+msgid "IDS_MUSIC_BODY_WOW_HD"
+msgstr "Wow HD"
+
+msgid "IDS_MUSIC_BODY_WISHLIST"
+msgstr "Ønskeliste"
+
+msgid "IDS_MUSIC_BODY_WIDE"
+msgstr "Bred"
+
+msgid "IDS_MUSIC_BODY_WHA_WHA"
+msgstr "Wha-wha"
+
+msgid "IDS_MUSIC_BODY_VIBE_WOOFER"
+msgstr "Vibrasjonshøyttaler"
+
+msgid "IDS_MUSIC_BODY_TREMOLO"
+msgstr "Tremolo"
+
+msgid "IDS_MUSIC_BODY_TAP_TWICE_TO_PLAY_PAUSE_MUSIC"
+msgstr "Trykk 2 ganger for å spille/stoppe musikk midlertidig."
+
+msgid "IDS_MUSIC_BODY_SHARE_TRACK_VIA_BLUETOOTH"
+msgstr "Del spor via Bluetooth"
+
+msgid "IDS_MUSIC_BODY_SETUPWIZARD_WELCOME_TO_THE_MUSIC_SETUP_WIZARD_CONTINUE_Q"
+msgstr "Velkommen til konfigurasjonsveiviseren for musikk.\nDe neste skjermbildene vil hjelpe deg å konfigurere telefonen. Fortsette?"
+
+msgid "IDS_MUSIC_BODY_QUICK_LIST"
+msgstr "Hurtigliste"
+
+msgid "IDS_MUSIC_BODY_PLAYINGSETTINGS_SOUND_EFFECTS"
+msgstr "Lydeffekter"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_ALL"
+msgstr "Alle"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_1"
+msgstr "1"
+
+msgid "IDS_MUSIC_BODY_PLAYERSETTINGS_VOLUME"
+msgstr "Volum"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_SELECTED"
+msgstr "%d spor valgt."
+
+msgid "IDS_MUSIC_BODY_NO_PODCASTS"
+msgstr "Ingen podcaster"
+
+msgid "IDS_MUSIC_BODY_FIND_SIMILAR"
+msgstr "Finn lignende"
+
+msgid "IDS_MUSIC_BODY_BACKGROUND_PLAY"
+msgstr "Avspilling i bakgrunnen"
+
+msgid "IDS_MUSIC_BODY_51_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "5.1-kanal kan bare aktiveres når lydeffekter er av."
+
+msgid "IDS_MUSIC_TAB4_PODCASTS"
+msgstr "Podcasts"
+
+msgid "IDS_MUSIC_SK2_EDIT_IMAGE"
+msgstr "Rediger bilde"
+
+msgid "IDS_MUSIC_POP_PLAYING_ANY_SOUNDS_WILL_STOP_AND_SAVE_YOUR_VOICE_RECORDING_PLAY_Q"
+msgstr "Å spille av lyder vil føre til at taleopptaket stoppes og lagres. Spille av?"
+
+msgid "IDS_MUSIC_POP_MAXIMUM_NUMBER_OF_ITEMS_HPD_SELECTED"
+msgstr "Maksimalt antall elementer (%d) nådd."
+
+msgid "IDS_MUSIC_POP_BLUETOOTH_DISCONNECTED"
+msgstr "Bluetooth koblet fra."
+
+msgid "IDS_MUSIC_POP_5_1_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "5.1-kanal kan bare aktiveres når lydeffekter er av."
+
+msgid "IDS_MUSIC_OPT_TAKE_PICTURE"
+msgstr "Ta bilde"
+
+msgid "IDS_MUSIC_OPT_SHOW_MUSIC_VIEW_ABB"
+msgstr "Vis musikkvisning"
+
+msgid "IDS_MUSIC_OPT_PAUSE"
+msgstr "Pause"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALBUM"
+msgstr "Spill av album"
+
+msgid "IDS_MUSIC_OPT_LIST_BY"
+msgstr "Sorter etter"
+
+msgid "IDS_MUSIC_OPT_HISTORY"
+msgstr "Historikk"
+
+msgid "IDS_MUSIC_OPT_HIDE_MUSIC_VIEW_ABB"
+msgstr "Skjul musikkvisning"
+
+msgid "IDS_MUSIC_OPT_FIND_TAG"
+msgstr "Finn tagg"
+
+msgid "IDS_MUSIC_OPT_DROPBOX_CONTENT_ABB"
+msgstr "Dropbox-innhold"
+
+msgid "IDS_MUSIC_OPT_CONTENT_ON_PHONE_ABB"
+msgstr "Innhold på tlf."
+
+msgid "IDS_MUSIC_OPT_CHANGE_IMAGE"
+msgstr "Endre bilde"
+
+msgid "IDS_MUSIC_HEADER_DELETE_DROPBOX_DATA_ABB"
+msgstr "Slett Dropbox-data"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_STREAM_YOUR_MUSIC_TO_DEVICES_USING_ALLSHARE"
+msgstr "Du kan streame musikken din til andre enheter med AllShare."
+
+msgid "IDS_MUSIC_BODY_VALIDITY"
+msgstr "Gyldighet"
+
+msgid "IDS_MUSIC_BODY_TYPE_CNOUN"
+msgstr "Type"
+
+msgid "IDS_MUSIC_BODY_THIS_WILL_DELETE_THE_FILE_FROM_THE_SERVER_AND_ANY_CONNECTED_DEVICES_AS_WELL"
+msgstr "Dette vil slette filen fra tjeneren og alle tilkoblede enheter."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_ARTISTS"
+msgstr "Artist"
+
+msgid "IDS_MUSIC_BODY_PLAYINGDETAILS_ALBUM_ART"
+msgstr "Albumomslag"
+
+msgid "IDS_MUSIC_BODY_OTHER_CONTENTS"
+msgstr "Annet innhold"
+
+msgid "IDS_MUSIC_BODY_NAME_TOO_LONG"
+msgstr "Navnet er for langt."
+
+msgid "IDS_MUSIC_BODY_MUSIC_CLARITY"
+msgstr "Musikklarhet"
+
+msgid "IDS_MUSIC_BODY_HIGH_VOLUMES_MAY_HARM_YOUR_HEARING_IF_YOU_LISTEN_FOR_A_LONG_TIME"
+msgstr "Høy lydstyrke kan skade hørselen din hvis du lytter til det over lengre perioder."
+
+msgid "IDS_MUSIC_BODY_AVAILABLE_USES"
+msgstr "Kan brukes antall ganger"
+
+msgid "IDS_MUSIC_TPOP_SOUND_EFFECTS_ONLY_AVAILABLE_WHILE_HEADPHONES_CONNECTED"
+msgstr "Lydeffekter er bare tilgjengelige når hodetelefoner er tilkoblet."
+
+msgid "IDS_ST_OPT_ADD_TO_YOUR_PERSONAL_STORAGE"
+msgstr "Legg til i den personlige lagringsplassen din"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_YOUR_PERSONAL_STORAGE"
+msgstr "Fjern fra den personlige lagringsplassen din"
+
+msgid "IDS_ST_BODY_CONTEXTUAL_POP_UP_T_TALKBACK"
+msgstr "Kontekstuelt sprettoppvindu"
+
+msgid "IDS_ST_BODY_A_CONTEXTUAL_POP_UP_IS_OPEN_DOUBLE_TAP_TO_CLOSE_IT_T_TALKBACK"
+msgstr "Et kontekstuelt sprettoppvindu er åpent. Trykk raskt på det to ganger for å lukke det."
+
+msgid "IDS_ST_BODY_REPEAT_ONE"
+msgstr "Gjenta én gang"
+
+msgid "IDS_ST_BUTTON_MOVING_ING"
+msgstr "Flytter..."
+
+msgid "IDS_HS_BODY_SELECT_UP_TO_PD_ITEMS"
+msgstr "Velg opptil %d elementer."
+
+msgid "IDS_CAM_BODY_TAB_T_TTS"
+msgstr "Fane"
+
+msgid "IDS_DLNA_OPT2_CHANGE_PLAYER"
+msgstr "Endre avspiller"
+
+msgid "IDS_BR_SK_TABS"
+msgstr "Faner"
+
+msgid "IDS_MF_BODY_DROPBOX_ABB"
+msgstr "Dropbox"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Automatiske anbefalinger kan trekke ut høydepunktene fra lydfiler."
+
+msgid "IDS_MF_BODY_PARENT_RATING"
+msgstr "Aldersgrense"
+
+msgid "IDS_VR_POP_FILE_NOT_FOUND"
+msgstr "Fant ikke filen."
+
+msgid "IDS_PB_POP_CALLER_RINGTONE_SAVED"
+msgstr "Kontaktringetone lagret."
+
+msgid "IDS_MUSIC_BODY_BIT_DEPTH"
+msgstr "Bitdybde"
+
+msgid "IDS_MUSIC_BODY_SIZE"
+msgstr "Størrelse"
+
+msgid "IDS_MF_HEADER_PD_SELECTED"
+msgstr "%d valgt"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_THIS_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Når du har lagt til spor på denne enheten, vises de her."
+
+msgid "IDS_MUSIC_TMBODY_LENGTH"
+msgstr "Lengde"
+
+msgid "IDS_MUSIC_POP_1_FOLDER_WILL_BE_DELETED"
+msgstr "1 mappe blir slettet."
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Ikke noe innhold"
+
+msgid "IDS_MUSIC_ITAB4_FOLDERS"
+msgstr "Mapper"
+
+msgid "IDS_MUSIC_HEADER_MY_PLAYLISTS_ABB"
+msgstr "Mine spillelister"
+
+msgid "IDS_MP_BODY_SOUND_PLAYER"
+msgstr "Lydspiller"
+
+msgid "IDS_MUSIC_OPT_SETTINGS"
+msgstr "Innstillinger"
+
+msgid "IDS_MUSIC_POP_DELETING"
+msgstr "Sletter..."
+
+msgid "IDS_MUSIC_POP_1_TRACK_WILL_BE_DELETED"
+msgstr "1 spor blir slettet."
+
+msgid "IDS_MUSIC_POP_ALL_TRACKS_WILL_BE_DELETED"
+msgstr "Alle spor blir slettet."
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_WILL_BE_DELETED"
+msgstr "%d spor blir slettet."
+
+msgid "IDS_MUSIC_POP_1_PLAYLIST_WILL_BE_DELETED"
+msgstr "1 spilleliste blir slettet."
+
+msgid "IDS_MUSIC_POP_PD_PLAYLISTS_WILL_BE_DELETED"
+msgstr "%d spillelister vil bli slettet."
+
+msgid "IDS_MUSIC_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "%d album vil bli slettet."
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS_WILL_BE_DELETED"
+msgstr "%d artister vil bli slettet."
+
+msgid "IDS_MUSIC_POP_PD_FOLDERS_WILL_BE_DELETED"
+msgstr "%d mapper vil bli slettet."
+
+msgid "IDS_ST_POP_CONNECTION_FAILED"
+msgstr "Kunne ikke koble til."
+
+msgid "IDS_MUSIC_BODY_CLASSIC"
+msgstr "Klassisk"
+
+msgid "IDS_MUSIC_BODY_ROCK"
+msgstr "Rock"
+
+msgid "IDS_MUSIC_BODY_JAZZ"
+msgstr "Jazz"
+
+msgid "IDS_MUSIC_BODY_POP"
+msgstr "Pop"
+
+msgid "IDS_MUSIC_BODY_AUTO"
+msgstr "Auto"
+
+msgid "IDS_MUSIC_POP_CURRENT_SOUND_EFFECT_NOT_SUPPORTED_BY_HDMI"
+msgstr "Gjeldende lydeffekt støttes ikke av HDMI."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_BLUETOOTH"
+msgstr "Lydeffekter støttes ikke av Bluetooth."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_LINE_OUT"
+msgstr "Lydeffekter støttes ikke av linje ut."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_HDMI"
+msgstr "Lydeffekter støttes ikke av HDMI."
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EFFECT"
+msgstr "Rørforsterker"
+
+msgid "IDS_MUSIC_BODY_CUSTOM"
+msgstr "Egendefinert"
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EQUALISER_ABB"
+msgstr "Rørforsterker"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d spor er lagt til i spillelisten."
+
+msgid "IDS_MUSIC_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 spor er lagt til i spillelisten."
+
+msgid "IDS_MUSIC_HEADER_ADD_TRACKS_TO_PLAYLIST_ABB"
+msgstr "Legg til spor i spillelisten"
+
+msgid "IDS_MUSIC_POP_PS_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "%s allerede i bruk. Angi et annet navn."
+
+msgid "IDS_MUSIC_TMBODY_DATE_OF_RECORDING"
+msgstr "Dato for innspilling"
+
+msgid "IDS_MBP_TPOP_TRACK_SET_AS_ALARM_TONE"
+msgstr "Spor er angitt som alarmtone."
+
+msgid "IDS_MUSIC_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Fant ingen resultater"
+
+msgid "IDS_MUSIC_OPT_DEFAULT_RINGTONE_ABB"
+msgstr "Standard ringetone"
+
+msgid "IDS_MUSIC_TPOP_TRACK_SET_AS_CALLER_RINGTONE"
+msgstr "Spor er angitt som anropsringetone."
+
+msgid "IDS_MP_TPOP_TRACK_SET_AS_RINGTONE"
+msgstr "Spor er angitt som ringetone."
+
+msgid "IDS_DLNA_BODY_ADD_TO_NOW_PLAYING_LIST"
+msgstr "Legg til i avspillingsliste"
+
+msgid "IDS_MUSIC_TPOP_EQUALISER_SETTINGS_WILL_BE_APPLIED_WHILE_PLAYING_MUSIC"
+msgstr "Equaliserinnstillingene tas i bruk når du spiller av musikk."
+
+msgid "IDS_ST_BODY_ALERT"
+msgstr "Varsling"
+
+msgid "IDS_IV_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 album blir slettet."
+
+msgid "IDS_MUSIC_OPT_SD_CARD"
+msgstr "SD-kort"
+
+msgid "IDS_MUSIC_SBODY_DEVICE_STORAGE"
+msgstr "Enhetsminne"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE"
+msgstr "Spillelistenavnet er allerede i bruk."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_PD"
+msgstr "Spilleliste %d"
+
+msgid "IDS_MUSIC_HEADER_CREATE"
+msgstr "Opprett"
+
+msgid "IDS_MUSIC_HEADER_EQUALISER_PRESET_ABB"
+msgstr "Equaliserforhåndsinnstilling"
+
+msgid "IDS_MUSIC_OPT_AUTOMATIC_M_EQUALIZER_EFFECT"
+msgstr "Automatisk"
+
+msgid "IDS_MUSIC_OPT_CLASSICAL_M_EQUALIZER_EFFECT"
+msgstr "Klassisk"
+
+msgid "IDS_MUSIC_HEADER_ENVIRONMENT_EFFECT_ABB"
+msgstr "Miljøeffekt"
+
+msgid "IDS_VIDEO_POP_THE_FILE_TYPE_IS_NOT_SUPPORTED"
+msgstr "Filtypen støttes ikke."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_CREATE_PLAYLISTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Når du har opprettet spillelister, vises de her."
+
+msgid "IDS_ST_HEADER_SELECT_AUDIO_DEVICE_ABB"
+msgstr "Velg lydenhet"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "Spillelistenavn er allerede i bruk. Angi et annet navn."
+
+msgid "IDS_MUSIC_HEADER_SOUNDALIVE_ABB3"
+msgstr "SoundAlive"
+
+msgid "IDS_MUSIC_OPT_NOW_PLAYING_LIST"
+msgstr "Spiller nå liste"
+
+msgid "IDS_MUSIC_OPT_SHOW_LYRICS"
+msgstr "Vis tekster"
+
+msgid "IDS_MUSIC_OPT_HIDE_LYRICS"
+msgstr "Skjul tekster"
+
+msgid "IDS_MUSIC_TPOP_UNABLE_TO_PLAY_MUSIC_DURING_CALLS"
+msgstr "Kan ikke spille av musikk under samtaler."
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Slett"
+
+msgid "IDS_MUSIC_HEADER_SELECT"
+msgstr "Velg"
+
+msgid "IDS_TPLATFORM_OPT_NFC"
+msgstr "NFC"
+
+msgid "IDS_MUSIC_HEADER_UNABLE_TO_PLAY_TRACK"
+msgstr "Kan ikke spille av spor"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "FULLFØRT"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "AVBRYT"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "SLETT"
+
+msgid "IDS_MUSIC_POP_RENAME"
+msgstr "Endre navn"
+
+msgid "IDS_MUSIC_OPT_MESSAGE"
+msgstr "Melding"
+
+msgid "IDS_MUSIC_SK_OK"
+msgstr "OK"
+
+msgid "IDS_MUSIC_SK_CANCEL"
+msgstr "Avbryt"
+
+msgid "IDS_MUSIC_BUTTON_REFRESH"
+msgstr "Oppdater"
+
+msgid "IDS_MUSIC_BODY_SELECT_ALL"
+msgstr "Merk alt"
+
+msgid "IDS_MUSIC_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_MUSIC_POP_DELETED"
+msgstr "Slettet."
+
+msgid "IDS_MUSIC_OPT_STOP"
+msgstr "Stopp"
+
+msgid "IDS_MUSIC_BODY_UNKNOWN"
+msgstr "Ukjent"
+
+msgid "IDS_MUSIC_BODY_TITLE"
+msgstr "Tittel"
+
+msgid "IDS_MUSIC_OPT_SENDVIA_EMAIL"
+msgstr "E-post"
+
+msgid "IDS_MUSIC_OPT_BLUETOOTH"
+msgstr "Bluetooth"
+
+msgid "IDS_MUSIC_HEADER_DOWNLOAD"
+msgstr "Last ned"
+
+msgid "IDS_MUSIC_POP_LOW_BATTERY"
+msgstr "Lavt batterinivå."
+
+msgid "IDS_MUSIC_HEADER_AUDIO_DEVICE"
+msgstr "Lydenhet"
+
+msgid "IDS_MUSIC_HEADER_DETAILS"
+msgstr "Detaljer"
+
+msgid "IDS_MUSIC_OPT_END"
+msgstr "Lukk"
+
+msgid "IDS_MUSIC_OPT_EDIT"
+msgstr "Rediger"
+
+msgid "IDS_CAM_HEADER_UPDATED"
+msgstr "Oppdatert."
+
+msgid "IDS_MUSIC_POP_REMOVED"
+msgstr "Fjernet."
+
+msgid "IDS_MUSIC_OPT_SELECTED"
+msgstr "Valgt"
+
+msgid "IDS_ST_BUTTON_SCAN"
+msgstr "Søk"
+
+msgid "IDS_MF_POP_ERROR"
+msgstr "Feil."
+
+msgid "IDS_MF_POP_MEMORY_FULL"
+msgstr "Minnet er fullt."
+
+msgid "IDS_MUSIC_MBODY_QUEUE"
+msgstr "Kø"
+
+msgid "IDS_MUSIC_OPT_VOLUME"
+msgstr "Volum"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE"
+msgstr "Tilfeldig avspilling"
+
+msgid "IDS_MUSIC_OPT_REPEAT"
+msgstr "Gjenta"
+
+msgid "IDS_COM_BODY_DETAILS"
+msgstr "Details"
+
+msgid "IDS_COM_BODY_DETAILS_TITLE"
+msgstr "Title"
+
+msgid "IDS_COM_BODY_EDIT"
+msgstr "Edit"
+
+msgid "IDS_COM_BODY_EMAIL"
+msgstr "Email"
+
+msgid "IDS_COM_BODY_END"
+msgstr "End"
+
+msgid "IDS_COM_BODY_FOLDERS"
+msgstr "Folders"
+
+msgid "IDS_COM_BODY_GALLERY"
+msgstr "Gallery"
+
+msgid "IDS_COM_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_COM_BODY_LOADING"
+msgstr "Loading..."
+
+msgid "IDS_COM_BODY_LOW_BATTERY"
+msgstr "Low battery."
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Message"
+
+msgid "IDS_COM_BODY_MUSIC"
+msgstr "Music"
+
+msgid "IDS_COM_BODY_NFC"
+msgstr "NFC"
+
+msgid "IDS_COM_BODY_NO_CONTENTS"
+msgstr "No content"
+
+msgid "IDS_COM_BODY_PAUSE"
+msgstr "Pause"
+
+msgid "IDS_COM_BODY_PD_SELECTED"
+msgstr "%d selected."
+
+msgid "IDS_COM_BODY_PREVIOUS"
+msgstr "Previous"
+
+msgid "IDS_COM_BODY_RESET_A"
+msgstr "Reset"
+
+msgid "IDS_COM_BODY_SELECTED"
+msgstr "Selected"
+
+msgid "IDS_COM_BODY_SELECT_ALL"
+msgstr "Select all"
+
+msgid "IDS_COM_BODY_SETTINGS"
+msgstr "Settings"
+
+msgid "IDS_COM_BODY_TIME"
+msgstr "Time"
+
+msgid "IDS_COM_BODY_UNABLE_TO_ADD"
+msgstr "Unable to add."
+
+msgid "IDS_COM_BODY_UNKNOWN"
+msgstr "Unknown"
+
+msgid "IDS_COM_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_COM_BUTTON_SCAN"
+msgstr "Scan"
+
+msgid "IDS_COM_BUTTON_SHARE"
+msgstr "Share"
+
+msgid "IDS_COM_HEADER_AUDIO_DEVICE_ABB"
+msgstr "Audio device"
+
+msgid "IDS_COM_OPT_ADDED"
+msgstr "Added."
+
+msgid "IDS_COM_OPT_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_POP_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_POP_CONNECTION_FAILED"
+msgstr "Connection failed."
+
+msgid "IDS_COM_POP_DELETED"
+msgstr "Deleted."
+
+msgid "IDS_COM_POP_DELETE_Q"
+msgstr "Delete?"
+
+msgid "IDS_COM_POP_DONE"
+msgstr "Done"
+
+msgid "IDS_COM_POP_DOWNLOADING"
+msgstr "Downloading..."
+
+msgid "IDS_COM_POP_ERROR"
+msgstr "Error."
+
+msgid "IDS_COM_POP_FAILED"
+msgstr "Failed."
+
+msgid "IDS_COM_POP_FILE_NOT_EXIST"
+msgstr "This file does not exist."
+
+msgid "IDS_COM_POP_FILE_NOT_FOUND"
+msgstr "File not found."
+
+msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximum number of characters reached."
+
+msgid "IDS_COM_POP_MEMORY_FULL"
+msgstr "Memory full."
+
+msgid "IDS_COM_POP_REMOVED"
+msgstr "Removed."
+
+msgid "IDS_COM_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Unable to use during Mass storage mode."
+
+msgid "IDS_COM_POP_UPDATED"
+msgstr "Updated."
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_SK_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_SK_DOWNLOAD"
+msgstr "Download"
+
+msgid "IDS_COM_SK_NEW"
+msgstr "New"
+
+msgid "IDS_COM_SK_NEXT"
+msgstr "Next"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_SK_REFRESH"
+msgstr "Refresh"
+
+msgid "IDS_COM_SK_REMOVE"
+msgstr "Remove"
+
+msgid "IDS_COM_SK_SAVE"
+msgstr "Save"
+
+msgid "IDS_COM_SK_SELECT"
+msgstr "Select"
+
+msgid "IDS_COM_SK_SET"
+msgstr "Set"
+
+msgid "IDS_COM_SK_STOP"
+msgstr "Stop"
+
+
+msgid "IDS_MH_BODY_THE_PLAYLIST_NAME_PS_IS_ALREADY_IN_USE"
+msgstr "The playlist name %s is already in use."
+
+msgid "IDS_MH_BODY_TOTAL"
+msgstr "Total"
+
+msgid "IDS_MH_MBODY_RECENTLY_ADDED_M_SONG"
+msgstr "Recently added"
+
+msgid "IDS_MH_OPT_MORE_INFO_ABB"
+msgstr "More info"
+
+msgid "IDS_MH_POP_ALARM_TONE_SET"
+msgstr "Alarm tone set."
+
+msgid "IDS_MH_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 track added to playlist."
+
+msgid "IDS_MH_TPOP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d tracks added to playlist."
+
+msgid "IDS_MUSIC_OPT_RENAME"
+msgstr "Rename"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Unable to play during call."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Maksimal filstørrelse oversteget."
+
+msgid "IDS_CAM_TPOP_UNABLE_TO_PLAY_MUSIC_WHILE_RECORDING_AUDIO_OR_VIDEO"
+msgstr "Kan ikke spille av musikk mens du tar opp lyd eller video."
+
--- /dev/null
+msgid "IDS_ST_BODY_LOADING_ING"
+msgstr "Laden..."
+
+msgid "IDS_GALLERY_OPT_PRIVATE_M_CONTENT"
+msgstr "Privé"
+
+msgid "IDS_MF_BODY_TIME"
+msgstr "Tijd"
+
+msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
+msgstr "Dit bestand bestaat niet."
+
+msgid "IDS_MUSIC_POP_PHONE_RINGTONE"
+msgstr "Beltoon"
+
+msgid "IDS_MUSIC_BODY_DURATION"
+msgstr "Duur"
+
+msgid "IDS_MUSIC_BODY_MUSIC_LOCATION"
+msgstr "Locatie"
+
+msgid "IDS_MUSIC_BODY_SET_AS_M_RINGTONE"
+msgstr "Instellen als"
+
+msgid "IDS_ST_OPT_ADD_TO_PERSONAL_PAGE"
+msgstr "Toevoegen aan persoonlijke pagina"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_PERSONAL_PAGE_ABB"
+msgstr "Wis van persoonl. pagina"
+
+msgid "IDS_ST_POP_MOVE_TO_NORMAL_STORAGE"
+msgstr "Verplaats naar normale opslag"
+
+msgid "IDS_ST_POP_MOVE_TO_PERSONAL_STORAGE"
+msgstr "Verplaats naar persoonlijke opslag"
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEMS_WILL_BE_MOVED_TO_PS"
+msgstr "De geselecteerde items worden verplaatst naar %s."
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEM_WILL_BE_MOVED_TO_PS"
+msgstr "Het geselecteerde item wordt verplaatst naar %s."
+
+msgid "IDS_VR_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Kan niet worden gebruikt tijdens Massaopslag-modus."
+
+msgid "IDS_MUSIC_POP_RINGTONE_ADDED"
+msgstr "Beltoon toegevoegd."
+
+msgid "IDS_CAM_BODY_BUTTON_T_TTS"
+msgstr "Knop"
+
+msgid "IDS_MUSIC_HEADER_SELECT_ITEMS"
+msgstr "Items selecteren"
+
+msgid "IDS_ST_BODY_ADVANCED"
+msgstr "Geavanceerd"
+
+msgid "IDS_ST_SK_PREVIOUS"
+msgstr "Vorige"
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Sluiten"
+
+msgid "IDS_MUSIC_POP_ADDED"
+msgstr "Toegevoegd."
+
+msgid "IDS_MUSIC_POP_FAILED"
+msgstr "Mislukt."
+
+msgid "IDS_MUSIC_BODY_NO_SEARCH_RESULTS"
+msgstr "Geen zoekresultaten"
+
+msgid "IDS_MUSIC_SK_DONE"
+msgstr "Gereed"
+
+msgid "IDS_MUSIC_BODY_NO_ITEMS"
+msgstr "Geen items"
+
+msgid "IDS_BR_OPT_ADD_TO_HOME"
+msgstr "Toevoegen aan startpagina"
+
+msgid "IDS_BR_SK_NEXT"
+msgstr "Volgende"
+
+msgid "IDS_BR_BODY_DOWNLOADING_ING"
+msgstr "Downloaden..."
+
+msgid "IDS_IV_BODY_FAVOURITE"
+msgstr "Favoriet"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_PERSONAL_STORAGE"
+msgstr "Toevoegen aan persoonlijke opslag"
+
+msgid "IDS_DLNA_POP_DISCONNECTED_FROM_PS_CHECK_THE_NETWORK_STATUS_AND_THE_CONNECTED_DEVICE"
+msgstr "Verbinding verbroken met %s. Controleer de netwerkstatus en het aangesloten apparaat."
+
+msgid "IDS_DLNA_OPT_VIA_SCREEN_MIRRORING_ABB"
+msgstr "Via Screen Mirroring"
+
+msgid "IDS_DLNA_OPT_VIA_HOME_NETWORK_ABB"
+msgstr "Via thuisnetwerk"
+
+msgid "IDS_IV_POP_ENTRY_IS_EMPTY"
+msgstr "Geen gegevens."
+
+msgid "IDS_FM_POP_UNAVAILABLE_DURING_CALL"
+msgstr "Niet beschikbaar tijdens gesprek."
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximumaantal tekens bereikt."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_SHARE_DRM_FILE"
+msgstr "Kan DRM-bestand niet delen."
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Verwijderen..."
+
+msgid "IDS_MUSIC_HEADER_PD_DEVICES"
+msgstr "%d apparaten"
+
+msgid "IDS_MUSIC_BUTTON_ENABLE_MOTION"
+msgstr "Beweging aan"
+
+msgid "IDS_MUSIC_BUTTON_DONT_ASK_AGAIN"
+msgstr "Niet meer vragen"
+
+msgid "IDS_MUSIC_BODY_NO_RESULTS_FOUND"
+msgstr "Geen resultaten gevonden."
+
+msgid "IDS_VPL_OPT_HDMI"
+msgstr "HDMI"
+
+msgid "IDS_MUSIC_BODY_TURN_PHONE_OVER_TO_MUTE_INCOMING_CALLS_MESSAGE_ALERTS_AND_ALARMS"
+msgstr "Keer telefoon om voor dempen van inkomende oproepen, berichtwaarschuwingen en alarmen."
+
+msgid "IDS_ST_BODY_NONE"
+msgstr "Geen"
+
+msgid "IDS_ST_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_ST_BODY_GALLERY"
+msgstr "Galerij"
+
+msgid "IDS_ST_BODY_DOUBLE_TAP_TO_MOVE_TO_CONTENT_T_TTS"
+msgstr "Tik tweemaal om de inhoud te verplaatsen."
+
+msgid "IDS_MUSIC_BODY_SURROUND"
+msgstr "Surround"
+
+msgid "IDS_MUSIC_OPT_LYRICS_ABB"
+msgstr "Songteksten"
+
+msgid "IDS_MUSIC_POP_AFTER_YOU_ADD_TRACKS_TO_MUSIC_ON_YOUR_MOBILE_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Nadat u nummers aan Muziek hebt toegevoegd op uw mobiele apparaat, worden ze hier weergegeven."
+
+msgid "IDS_MUSIC_BODY_SAMPLING_RATE"
+msgstr "Samplesnelheid"
+
+msgid "IDS_MUSIC_BODY_MARKED_AS_A_FAVOURITE"
+msgstr "Gemarkeerd als een favoriet."
+
+msgid "IDS_MUSIC_BODY_MUSIC"
+msgstr "Muziek"
+
+msgid "IDS_MUSIC_BODY_NOT_MARKED_AS_A_FAVOURITE"
+msgstr "Niet gemarkeerd als een favoriet."
+
+msgid "IDS_MUSIC_HEADER_SEARCH_MUSIC_ABB"
+msgstr "Muziek zoeken"
+
+msgid "IDS_MUSIC_POP_AUTO_RECOMMENDATION_DOES_NOT_SUPPORT_THIS_AUDIO_FILE"
+msgstr "Dit audiobestand wordt niet ondersteund voor automatisch aanbevelen."
+
+msgid "IDS_MUSIC_POP_SORRY_THE_PLAYER_DOES_NOT_SUPPORT_THIS_TYPE_OF_AUDIO_FILE"
+msgstr "MP3-speler ondersteunt dit type audiobestand helaas niet."
+
+msgid "IDS_MUSIC_BODY_FAVOURITES"
+msgstr "Favorieten"
+
+msgid "IDS_MUSIC_BODY_MOST_PLAYED"
+msgstr "Meest afgespeeld"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_ADDED"
+msgstr "Onlangs toegevoegd"
+
+msgid "IDS_MUSIC_OPT_CREATE_PLAYLIST"
+msgstr "Afspeellijst maken"
+
+msgid "IDS_MUSIC_OPT_REMOVE"
+msgstr "Wissen"
+
+msgid "IDS_MUSIC_OPT_SETAS_CALLER_RINGTONE"
+msgstr "Beltoon beller"
+
+msgid "IDS_MUSIC_TAB4_ARTISTS"
+msgstr "Artiest"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD"
+msgstr "Kan niet toevoegen."
+
+msgid "IDS_MUSIC_POP_UNABLE_CREATE_PLAYLIST"
+msgstr "Kan de afspeellijst niet maken."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_GET_TAG"
+msgstr "Kan tag niet ophalen."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_MORE_THAN_PD_MUSIC_FILE"
+msgstr "Kan niet meer dan %d muziekbestanden toevoegen."
+
+msgid "IDS_MUSIC_BODY_ALBUM"
+msgstr "Album"
+
+msgid "IDS_MUSIC_BODY_AUTHOR"
+msgstr "Auteur"
+
+msgid "IDS_MUSIC_BODY_COPYRIGHT"
+msgstr "Copyright"
+
+msgid "IDS_MUSIC_BODY_CREATE_PLAYLIST"
+msgstr "Afspeellijst maken"
+
+msgid "IDS_MUSIC_BODY_DESCRIPTION"
+msgstr "Omschrijving"
+
+msgid "IDS_MUSIC_BODY_FORMAT"
+msgstr "Formaat"
+
+msgid "IDS_MUSIC_BODY_IMPOSSIBLE"
+msgstr "Niet mogelijk"
+
+msgid "IDS_MUSIC_BODY_NO_PLAYLISTS"
+msgstr "Geen afspeellijsten"
+
+msgid "IDS_MUSIC_BODY_TRACK_NUMBER"
+msgstr "Tracknummer"
+
+msgid "IDS_MUSIC_POP_DELETE_Q"
+msgstr "Verwijderen?"
+
+msgid "IDS_MUSIC_POP_REMOVE_Q"
+msgstr "Verwijderen?"
+
+msgid "IDS_MUSIC_POP_UNABLE_RENAME_PLAYLIST"
+msgstr "Kan de naam van de afspeellijst niet wijzigen."
+
+msgid "IDS_MUSIC_TAB4_ALBUMS"
+msgstr "Albums"
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Toevoegen..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "%d albums verwijderen?"
+
+msgid "IDS_MUSIC_TAB4_PLAYLISTS"
+msgstr "Afspl. lijsten"
+
+msgid "IDS_MUSIC_OPT_ADD"
+msgstr "Toevoegen"
+
+msgid "IDS_MUSIC_BODY_BIOGRAPHY"
+msgstr "Biografie"
+
+msgid "IDS_MUSIC_BODY_CREDITS"
+msgstr "Credits"
+
+msgid "IDS_MUSIC_BODY_DETAILS_MEADIA_INFO"
+msgstr "Media-info"
+
+msgid "IDS_MUSIC_BODY_DISCOGRAPHY"
+msgstr "Discografie"
+
+msgid "IDS_MUSIC_BODY_LYRIC"
+msgstr "Songtekst"
+
+msgid "IDS_MUSIC_BODY_POSSIBLE"
+msgstr "Mogelijk"
+
+msgid "IDS_MUSIC_BODY_REVIEW"
+msgstr "Overzicht"
+
+msgid "IDS_MUSIC_HEADER_TRACK_LIST"
+msgstr "Afspeellijst"
+
+msgid "IDS_MUSIC_BODY_ADD_TO_PLAYLIST"
+msgstr "Naar afspeellijst"
+
+msgid "IDS_MUSIC_BODY_ARTIST"
+msgstr "Artiest"
+
+msgid "IDS_MUSIC_BODY_FORWARDING"
+msgstr "Doorsturen"
+
+msgid "IDS_MUSIC_BODY_RECORDED_DATE"
+msgstr "Date of recording"
+
+msgid "IDS_MUSIC_BODY_PLAYLISTS"
+msgstr "Afspeellijsten"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_PLAYED"
+msgstr "Onlangs afgespeeld"
+
+msgid "IDS_MUSIC_BODY_TRACK_LENGTH"
+msgstr "Lengte track"
+
+msgid "IDS_MUSIC_HEADER_NO_SONGS"
+msgstr "Geen nummers"
+
+msgid "IDS_MUSIC_POP_THIS_TRACK_WILL_BE_DELETED"
+msgstr "Dit nummer wordt verwijderd."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_TRACKS_WILL_BE_DELETED"
+msgstr "De geselecteerde nummers worden verwijderd."
+
+msgid "IDS_MUSIC_POP_THIS_ARTIST_WILL_BE_DELETED"
+msgstr "Deze artiest wordt verwijderd."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ARTISTS_WILL_BE_DELETED"
+msgstr "De geselecteerde artiesten worden verwijderd."
+
+msgid "IDS_MUSIC_POP_ALL_ARTISTS_WILL_BE_DELETED"
+msgstr "Alle artiesten worden verwijderd."
+
+msgid "IDS_MUSIC_POP_THIS_FOLDER_WILL_BE_DELETED"
+msgstr "Deze map wordt verwijderd."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_FOLDERS_WILL_BE_DELETED"
+msgstr "De geselecteerde mappen worden verwijderd."
+
+msgid "IDS_MUSIC_POP_ALL_FOLDERS_WILL_BE_DELETED"
+msgstr "Alle mappen worden verwijderd."
+
+msgid "IDS_MUSIC_POP_THIS_ALBUM_WILL_BE_DELETED"
+msgstr "Dit album wordt verwijderd."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ALBUMS_WILL_BE_DELETED"
+msgstr "De geselecteerde albums worden verwijderd."
+
+msgid "IDS_MUSIC_POP_ALL_ALBUMS_WILL_BE_DELETED"
+msgstr "Alle albums worden verwijderd."
+
+msgid "IDS_MUSIC_POP_THIS_PLAYLIST_WILL_BE_DELETED"
+msgstr "Deze afspeellijst wordt verwijderd."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_PLAYLISTS_WILL_BE_DELETED"
+msgstr "De geselecteerde afspeellijsten worden verwijderd."
+
+msgid "IDS_MUSIC_POP_ALL_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Alle afspeellijsten worden verwijderd."
+
+msgid "IDS_MUSIC_HEADER_SONGS"
+msgstr "Nummers"
+
+msgid "IDS_MUSIC_OPT_REORDER"
+msgstr "Indeling wijzigen"
+
+msgid "IDS_MUSIC_OPT_SAVE_AS_PLAYLIST"
+msgstr "Opslaan als afspeellijst"
+
+msgid "IDS_MUSIC_OPT_SETAS_ALARM_TONE"
+msgstr "Alarmtoon"
+
+msgid "IDS_MUSIC_POP_NOTHING_SELECTED"
+msgstr "Niets geselecteerd."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Kan niet afspelen. Fout opgetreden."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_UNSUPPORTED_FILETYPE"
+msgstr "Kan niet afspelen. Niet-ondersteund bestandstype."
+
+msgid "IDS_MUSIC_SK_SHARE"
+msgstr "Delen"
+
+msgid "IDS_MUSIC_TAB4_CONDUCTORS"
+msgstr "Dirigent"
+
+msgid "IDS_MUSIC_HEADER_SELECT_DEVICE"
+msgstr "Apparaat selecteren"
+
+msgid "IDS_MUSIC_SK_VIEW_AS"
+msgstr "Weergeven als"
+
+msgid "IDS_MUSIC_BODY_SOUNDEFFECTS_NORMAL"
+msgstr "Normaal"
+
+msgid "IDS_MUSIC_BODY_USER"
+msgstr "Gebruiker"
+
+msgid "IDS_MUSIC_BODY_VOCAL_M_SOUNDEFFECT"
+msgstr "Zang"
+
+msgid "IDS_MUSIC_MBODY_BASS_BOOST"
+msgstr "Basboost"
+
+msgid "IDS_MUSIC_MBODY_TREBLE_BOOST"
+msgstr "Hoge-tonenboost"
+
+msgid "IDS_MUSIC_BODY_CAFE_M_SOUNDEFFECT"
+msgstr "Café"
+
+msgid "IDS_MUSIC_OPT_VIRTUAL_71_CH"
+msgstr "Virtueel 7.1-kanaals"
+
+msgid "IDS_MUSIC_OPT_AFTER_15_MIN_ABB"
+msgstr "Na 15 min."
+
+msgid "IDS_MUSIC_BODY_AFTER_30_MIN"
+msgstr "Na 30 min."
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HOUR"
+msgstr "Na 1 uur"
+
+msgid "IDS_MUSIC_POP_AFTER_1_HOUR_30_MIN"
+msgstr "Na 1 uur en 30 min."
+
+msgid "IDS_MUSIC_BODY_AFTER_2_HOURS"
+msgstr "Na 2 uur"
+
+msgid "IDS_MUSIC_BODY_MUSIC_AUTO_OFF"
+msgstr "Muziek automatisch uit"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES_ONLY"
+msgstr "Dit geluidseffect werkt alleen in de oortelefoon- en Bluetooth-headsetstand."
+
+msgid "IDS_MUSIC_TAB4_MUSIC_SQUARE"
+msgstr "Music square"
+
+msgid "IDS_MUSIC_POP_NOT_ENOUGH_MUSIC_FILES_TO_PLAY_IN_MUSIC_SQUARE_AT_LEAST_PD_MUSIC_FILES_REQUIRED"
+msgstr "Onvoldoende muziekbestanden om af te spelen in Music square. Ten minste %d bestanden vereist."
+
+msgid "IDS_MUSIC_BODY_PASSION_M_MOOD"
+msgstr "Passion"
+
+msgid "IDS_MUSIC_BODY_CALM_M_ADJECTIVE"
+msgstr "Rustig"
+
+msgid "IDS_MUSIC_BODY_JOY_M_MOOD"
+msgstr "Joy"
+
+msgid "IDS_MUSIC_BODY_LIBRARY_UPDATE"
+msgstr "Bibliotheek bijwerken"
+
+msgid "IDS_MUSIC_POP_UPDATE_LIBRARY_Q"
+msgstr "Bibliotheek bijwerken?"
+
+msgid "IDS_MUSIC_BODY_CHANGE_AXIS"
+msgstr "As wijzigen"
+
+msgid "IDS_MUSIC_ITAB4_GENRES"
+msgstr "Genres"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_1_TRACK"
+msgstr "1 album/1 nummer"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_PD_TRACKS"
+msgstr "1 album/%d nummers"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS_PD_TRACKS"
+msgstr "%d albums/%d nummers"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_CONTROL_MUSIC_PLAYER_WITH_THE_VOICE_COMMANDS_P1SS_P2SS_P3SS_P4SS_P5SS_AND_P6SS"
+msgstr "U kunt de Muziekspeler bedienen met de spraakopdrachten %1$s, %2$s, %3$s, %4$s, %5$s en %6$s."
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_PD_TRACKS"
+msgstr "%d nummers in willekeurige volgorde"
+
+msgid "IDS_MUSIC_BODY_MORE_INFO"
+msgstr "Meer info"
+
+msgid "IDS_MUSIC_HEADER_MY_MUSIC_M_APPLICATION_NAME"
+msgstr "Mijn muziek"
+
+msgid "IDS_MUSIC_OPT_LIST_VIEW"
+msgstr "Lijstweergave"
+
+msgid "IDS_MUSIC_OPT_PLAY_VIA_GROUP_PLAY"
+msgstr "Afspelen via Group Play"
+
+msgid "IDS_MUSIC_POP_TRACK_ADDED_TO_FAVOURITES"
+msgstr "Nummer toegevoegd aan favorieten."
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_FAVOURITES"
+msgstr "Verwijderen uit favorieten"
+
+msgid "IDS_MUSIC_BODY_NEW_M_LATEST"
+msgstr "Nieuw"
+
+msgid "IDS_MUSIC_OPT_TRACKS"
+msgstr "Nummers"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL"
+msgstr "Miniatuurweergave"
+
+msgid "IDS_MUSIC_SK_LIST"
+msgstr "Lijst"
+
+msgid "IDS_MUSIC_SK_OPEN_PLAYLIST"
+msgstr "Afspeellijst openen"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALL"
+msgstr "Alles afspelen"
+
+msgid "IDS_MUSIC_POP_SELECTED_LIST_EMPTY"
+msgstr "Geselecteerde lijst is leeg."
+
+msgid "IDS_MUSIC_BODY_MOODS"
+msgstr "Stemmingen"
+
+msgid "IDS_MUSIC_BUTTON_YEARS"
+msgstr "Jaren"
+
+msgid "IDS_MUSIC_BODY_OLD"
+msgstr "Oud"
+
+msgid "IDS_MUSIC_BODY_MUSIC_SQUARE_ANALYSES_THE_CHARACTERISTICS_OF_MUSIC_FILES_STORED_ON_YOUR_DEVICE_AND_AUTOMATICALLY_CREATES_PLAYLISTS_MSG"
+msgstr "Music square analyseert kenmerken van muziekbestanden die in uw apparaat zijn opgeslagen en maakt automatisch afspeellijsten."
+
+msgid "IDS_MUSIC_BODY_PLAY_TRACKS_WITH_SIMILAR_CHARACTERISTICS_BY_SELECTING_A_SQUARE_ON_THE_SCREEN"
+msgstr "Afspeellijst met muziek met vergelijkbare kenmerken afspelen door een vierkantje op het scherm te selecteren."
+
+msgid "IDS_MUSIC_BODY_VIEW_PLAYLIST_DETAILS_BY_TAPPING_AND_HOLDING_THE_SQUARE_CURRENTLY_BEING_PLAYED"
+msgstr "Afspeellijstdetails weergeven door te tikken op het vierkantje dat momenteel wordt afgespeeld en dat vast te houden."
+
+msgid "IDS_MUSIC_BODY_NEARBY_DEVICES"
+msgstr "Apparaten in de buurt"
+
+msgid "IDS_MUSIC_POP_YOU_WILL_NEED_TO_UPDATE_THE_LIBRARY_IF_NEW_SONGS_HAVE_BEEN_ADDED"
+msgstr "U moet de bibliotheek bijwerken als nieuwe nummers zijn toegevoegd."
+
+msgid "IDS_MUSIC_BODY_NO_ALBUMS"
+msgstr "Geen albums"
+
+msgid "IDS_MUSIC_BODY_NO_ARTISTS"
+msgstr "Geen artiesten"
+
+msgid "IDS_MUSIC_OPT_PLAY_SPEED_ABB"
+msgstr "Afspeelsnelheid"
+
+msgid "IDS_MUSIC_BODY_CONCERT_HALL_M_SOUNDEFFECT"
+msgstr "Concertzaal"
+
+msgid "IDS_MUSIC_OPT_ADD_TO"
+msgstr "Toevoegen aan"
+
+msgid "IDS_MUSIC_SK_VIEW"
+msgstr "Weergeven"
+
+msgid "IDS_MUSIC_OPT_LISTBY_RECENTLY_ADDED"
+msgstr "Onlangs toegevoegd"
+
+msgid "IDS_MUSIC_BODY_NOT_USED"
+msgstr "Niet gebruikt"
+
+msgid "IDS_MUSIC_BODY_MAKE_AVAILABLE_OFFLINE"
+msgstr "Offline beschikbaar maken"
+
+msgid "IDS_MUSIC_OPT_AFTER_P1SD_HRS_P2SD_MINS"
+msgstr "Na %1$d uur %2$d min"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS"
+msgstr "Na %d uur"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_MINS"
+msgstr "Na %d min."
+
+msgid "IDS_MUSIC_BODY_NO_FOLDERS"
+msgstr "Geen mappen"
+
+msgid "IDS_MUSIC_BODY_NO_TRACKS"
+msgstr "Geen nummers"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS"
+msgstr "%d albums"
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS"
+msgstr "%d artiesten"
+
+msgid "IDS_MUSIC_BODY_PD_GENRES"
+msgstr "%d genres"
+
+msgid "IDS_MUSIC_BODY_PD_PLAYLISTS"
+msgstr "%d afspeellijsten"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_ABB"
+msgstr "%d nummers"
+
+msgid "IDS_MUSIC_BODY_PLAYLIST"
+msgstr "Afspeellijst"
+
+msgid "IDS_MUSIC_HEADER_SIMILAR_ALBUMS"
+msgstr "Vergelijkbare albums"
+
+msgid "IDS_MUSIC_HEADER_TRACK"
+msgstr "Nummer"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL_VIEW"
+msgstr "Miniatuurweergave"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "Dit geluidseffect werkt alleen in oortelefoonstand."
+
+msgid "IDS_MUSIC_OPT_ALL_CONTENT_ABB2"
+msgstr "Alle inhoud"
+
+msgid "IDS_MUSIC_BODY_A_NETWORK_CONNECTION_IS_REQUIRED_TO_PLAY_THIS_FILE_CHECK_YOUR_NETWORK_CONNECTION_AND_TRY_AGAIN"
+msgstr "Er is een netwerkverbinding vereist om dit bestand af te spelen. Controleer de netwerkverbinding en probeer het opnieuw."
+
+msgid "IDS_MUSIC_POP_FILE_TYPE_NOT_SUPPORTED"
+msgstr "Niet-ondersteund bestandstype."
+
+msgid "IDS_MUSIC_POP_UPDATING_ING"
+msgstr "Bijwerken..."
+
+msgid "IDS_MUSIC_OPT_SEARCH_ABB"
+msgstr "Zoek"
+
+msgid "IDS_MUSIC_OPT_SEARCH_BY"
+msgstr "Zoeken op"
+
+msgid "IDS_MUSIC_BODY_RELATED_VIDEOS"
+msgstr "Samenhangende video's"
+
+msgid "IDS_MUSIC_BODY_SMART_VOLUME_ABB"
+msgstr "Slim volume"
+
+msgid "IDS_MUSIC_BODY_THE_VOLUME_OF_ALL_TRACKS_WILL_BE_ADJUSTED_TO_LEVEL_PD"
+msgstr "Het volume van alle nummers wordt aangepast aan niveau %d."
+
+msgid "IDS_MUSIC_HEADER_SMART_VOLUME_IS_ENABLED"
+msgstr "Slim volume wordt ingeschakeld"
+
+msgid "IDS_MUSIC_OPT_CONNECTION_INFO_ABB"
+msgstr "Verbindingsgegevens"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_PD_MINS"
+msgstr "Na 1 uur %d min."
+
+msgid "IDS_MUSIC_BODY_ADAPT_SOUND_ABB"
+msgstr "Adapt Sound"
+
+msgid "IDS_MUSIC_BODY_MY_DEVICE"
+msgstr "Mijn apparaat"
+
+msgid "IDS_MUSIC_POP_LISTENING_AT_A_HIGH_VOLUME_FOR_A_LONG_TIME_MAY_DAMAGE_YOUR_HEARING_RAISE_THE_VOLUME_ABOVE_SAFE_LEVELS_Q"
+msgstr "Als u lange tijd luistert bij een hoog volume kan uw gehoor beschadigd raken. Wilt u het volume verhogen tot boven een veilig niveau?"
+
+msgid "IDS_MUSIC_POP_ALREADY_EXISTS"
+msgstr "Bestaat al."
+
+msgid "IDS_MUSIC_OPT_SCAN_FOR_NEARBY_DEVICES"
+msgstr "Zoeken naar apparaten in de buurt"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR"
+msgstr "Na 1 uur"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_1_MIN"
+msgstr "Na 1 uur 1 min."
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS_1_MIN"
+msgstr "Na %d uur 1 min."
+
+msgid "IDS_MUSIC_BODY_AFTER_1_MIN"
+msgstr "Na 1 min."
+
+msgid "IDS_MUSIC_OPT_GO_TO_STORE"
+msgstr "Ga naar winkel"
+
+msgid "IDS_MUSIC_SK3_ADD_TRACKS"
+msgstr "Nummers\ntoev."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FROM_MUSIC_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Nadat u nummers hebt gedownload van Muziek, worden ze hier weergegeven."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_YOUR_FAVOURITES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Nadat u nummers aan uw favorieten hebt toegevoegd, worden ze hier weergegeven."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_PLAY_TRACKS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Nadat u nummers hebt afgespeeld, worden ze hier weergegeven."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_PS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Nadat u nummers aan %s hebt toegevoegd, worden ze hier weergegeven."
+
+msgid "IDS_MUSIC_BODY_NO_PURCHASED_CONTENT"
+msgstr "Geen gekochte inhoud"
+
+msgid "IDS_MUSIC_SK_SAVE_AS"
+msgstr "Opslaan als"
+
+msgid "IDS_MUSIC_POP_MUSICPLAYER_UPDATING_FAILED"
+msgstr "Bijwerken mislukt."
+
+msgid "IDS_MUSIC_BODY_EXCITING_M_ADJECTIVE"
+msgstr "Spannend"
+
+msgid "IDS_MUSIC_BODY_SEARCH_MY_MUSIC"
+msgstr "Zoeken in mijn muziek"
+
+msgid "IDS_MUSIC_HEADER_CONNECTED_DEVICES"
+msgstr "Aangesloten apparaten"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST_PS"
+msgstr "Mijn afspeellijst %s"
+
+msgid "IDS_MUSIC_BODY_NO_DEVICES"
+msgstr "Geen apparaten"
+
+msgid "IDS_MUSIC_HEADER_AVAILABLE_DEVICES_ABB"
+msgstr "Beschikb. apparaten"
+
+msgid "IDS_MUSIC_POP_SET"
+msgstr "Ingesteld"
+
+msgid "IDS_MUSIC_POP_REMOVE_FAILED"
+msgstr "Verwijderen mislukt."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_USE_FAST_FORWARD_AND_REWIND_WHEN_NEARBY_DEVICES_ARE_ENABLED"
+msgstr "Kan niet snel vooruit of terug spoelen wanneer apparaten in de buurt zijn ingeschakeld."
+
+msgid "IDS_MUSIC_OPT_SET_AS"
+msgstr "Instellen als"
+
+msgid "IDS_MUSIC_OPT_HEADPHONES_ABB"
+msgstr "Koptelefoons"
+
+msgid "IDS_MUSIC_OPT_SPEAKER"
+msgstr "Luidspreker"
+
+msgid "IDS_MUSIC_BODY_1_SONG"
+msgstr "1 nummer"
+
+msgid "IDS_MUSIC_BODY_PD_SONGS"
+msgstr "%d nummers"
+
+msgid "IDS_MUSIC_BODY_1_TRACK"
+msgstr "1 nummer"
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_1_TRACK"
+msgstr "1 nummer in willekeurige volgorde"
+
+msgid "IDS_MUSIC_POP_NO_MUSIC_FOUND_FOR_SELECTED_CELL"
+msgstr "Geen muziek gevonden voor geselecteerde cel"
+
+msgid "IDS_MUSIC_BODY_DO_NOT_SHOW_AGAIN"
+msgstr "Niet meer tonen"
+
+msgid "IDS_MUSIC_BODY_VARIOUS_ARTISTS"
+msgstr "Diverse artiesten"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_HOME_SCREEN_ABB"
+msgstr "Toevoegen aan startscherm"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_FAVOURITES"
+msgstr "Toevoegen aan favorieten"
+
+msgid "IDS_MUSIC_OPT_EDIT_TITLE"
+msgstr "Titel bewerken"
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_PERSONAL_STORAGE"
+msgstr "Verwijderen uit persoonlijke opslag"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FOLDERS_WILL_BE_SHOWN"
+msgstr "Nadat u nummers hebt gedownload, worden mappen weergegeven"
+
+msgid "IDS_MUSIC_BODY_SETTINGS_VOLUME"
+msgstr "Volume"
+
+msgid "IDS_MUSIC_BODY_REPEAT_OFF"
+msgstr "Herhalen uit"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_REPEAT_ALL"
+msgstr "Alles herhalen"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_OFF"
+msgstr "Willekeurig uit"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_ON"
+msgstr "Willekeurig aan"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST"
+msgstr "Mijn afspeellijst"
+
+msgid "IDS_MUSIC_MBODY_DEFAULT_PLAYLISTS"
+msgstr "Standaardafspeellijsten"
+
+msgid "IDS_MUSIC_BODY_DETAILS_RECORDING_DATE"
+msgstr "Opnamedatum"
+
+msgid "IDS_MUSIC_OPT_ALBUM_ART_ABB"
+msgstr "Albumill."
+
+msgid "IDS_MUSIC_BODY_1_GENRE"
+msgstr "1 genre"
+
+msgid "IDS_MUSIC_BODY_PD_FOLDERS"
+msgstr "%d mappen"
+
+msgid "IDS_MUSIC_BODY_1_FOLDER"
+msgstr "1 map"
+
+msgid "IDS_MUSIC_BODY_1_ARTIST"
+msgstr "1 artiest"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_M_MUSIC"
+msgstr "1 album"
+
+msgid "IDS_MUSIC_BODY_1_PLAYLIST"
+msgstr "1 afspeellijst"
+
+msgid "IDS_MUSIC_BODY_MUSIC_PLAYER"
+msgstr "MP3-speler"
+
+msgid "IDS_MUSIC_BUTTON_MOVE"
+msgstr "Verplaatsen"
+
+msgid "IDS_MUSIC_BUTTON_AUTO_RECOMMENDATIONS"
+msgstr "Automatische aanbevelingen"
+
+msgid "IDS_MUSIC_BUTTON_FROM_THE_BEGINNING"
+msgstr "Vanaf het begin"
+
+msgid "IDS_MUSIC_HEADER_SUGGESTIONS_FOR_YOU"
+msgstr "Suggesties voor u"
+
+msgid "IDS_MUSIC_OPT_SAVE"
+msgstr "Opslaan"
+
+msgid "IDS_MUSIC_TAB4_BASIC_M_EQUALIZING"
+msgstr "Basis"
+
+msgid "IDS_MUSIC_BODY_INSTRUMENT"
+msgstr "Instrument"
+
+msgid "IDS_MUSIC_BODY_TREBLE_M_EQUALISER"
+msgstr "Hoge tonen"
+
+msgid "IDS_MUSIC_BODY_BASS_M_EQUALISER"
+msgstr "Lage tonen"
+
+msgid "IDS_MUSIC_BODY_NO_EFFECTS_ARE_APPLIED_IN_THIS_MODE_ABB"
+msgstr "Er worden geen effecten toegepast in deze stand."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_TIMBRE_OF_A_TUBE_AMP_ABB"
+msgstr "Simuleert het tube amp-timbre."
+
+msgid "IDS_MUSIC_OPT_TUBE_AMP_EFFECT"
+msgstr "Tube amp effect"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_EFFECT_OF_VIRTUAL_71_CHANNEL_SURROUND_SOUND_ABB"
+msgstr "Simuleert surroundgeluidseffect van virtueel 7.1 kanaal."
+
+msgid "IDS_MUSIC_HEADER_SMALL_ROOM_M_REVERB_ABB"
+msgstr "Kleine ruimte"
+
+msgid "IDS_MUSIC_HEADER_LARGE_ROOM_M_REVERB_ABB"
+msgstr "Grote kamer"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_LARGE_ROOM_EG_A_THEATRE_ABB"
+msgstr "Simuleert weerkaatsing van grote ruimte, bijv. theater."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_CONCERT_HALL_ABB"
+msgstr "Simuleert de weerkaatsing van een concertzaal."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_SMALL_SPACE_EG_A_STUDIO_ABB"
+msgstr "Simuleert weerkaatsing van kleine ruimte, bijv. studio."
+
+msgid "IDS_MUSIC_BUTTON_3D_CHN"
+msgstr "3D"
+
+msgid "IDS_MUSIC_BODY_CLARITY_M_SOUNDEFFECT"
+msgstr "Helderheid"
+
+msgid "IDS_MUSIC_BUTTON_RESET"
+msgstr "Resetten"
+
+msgid "IDS_MUSIC_TAB_YEARS"
+msgstr "Jaren"
+
+msgid "IDS_MUSIC_TAB_GENRES"
+msgstr "Genres"
+
+msgid "IDS_MUSIC_TAB_COMPOSERS"
+msgstr "Componisten"
+
+msgid "IDS_MUSIC_TAB_ALL_TRACKS"
+msgstr "Alle nummers"
+
+msgid "IDS_MUSIC_SK3_GO_TO_QUICK_LIST"
+msgstr "Naar Quick list"
+
+msgid "IDS_MUSIC_SK3_FIND"
+msgstr "Zoeken"
+
+msgid "IDS_MUSIC_SK3_ADD_TO_QUICK_LIST"
+msgstr "Toev. Quick list"
+
+msgid "IDS_MUSIC_POP_UNAUTHORISED_VIDEO_FILE_FOR_TV_OUT"
+msgstr "Videobestand niet toegestaan voor TV-uit."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_CREATE_MAXIMUM_NUMBER_OF_PLAYLISTS_REACHED"
+msgstr "Niet mogelijk. Maximumaantal afspeellijsten bereikt."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTING_BLUETOOTH_HEADSET"
+msgstr "Kan volume niet aanpassen bij het verbinden van Bluetooth-headset."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTED_TO_BLUETOOTH_HEADSET"
+msgstr "Kan volume niet aanpassen bij verbinding met Bluetooth-headset."
+
+msgid "IDS_MUSIC_POP_STOP_MUSIC_PLAYER_Q"
+msgstr "Muziekspeler stoppen?"
+
+msgid "IDS_MUSIC_POP_PLEASE_EXIT_SILENT_MODE"
+msgstr "Stille stand afsluiten aub"
+
+msgid "IDS_MUSIC_POP_NETWORK_FAILURE"
+msgstr "Netwerkfout."
+
+msgid "IDS_MUSIC_POP_MEMORY_CARD_LOADED"
+msgstr "Geheugenkaart geladen."
+
+msgid "IDS_MUSIC_POP_DEVICE_SETTINGS_ERROR"
+msgstr "Fout in apparaatinstellingen."
+
+msgid "IDS_MUSIC_POP_COULD_NOT_FIND_A_MATCH_FOR_THE_SONG"
+msgstr "Kan geen overeenkomstig nummer vinden."
+
+msgid "IDS_MUSIC_POP_BUFFERING_MSTATUS"
+msgstr "Bufferen..."
+
+msgid "IDS_MUSIC_POP_BT_HEADSET_ONLY_SUPPORTS_NORMAL_EFFECTS_SETTING"
+msgstr "BT-headset ondersteunt alleen instelling voor normale effecten."
+
+msgid "IDS_MUSIC_POP_APPLICATION_WILL_BE_CLOSED"
+msgstr "Applicatie wordt gesloten."
+
+msgid "IDS_MUSIC_POP_ADDED_GO_TO_WISH_LIST_Q"
+msgstr "Toegevoegd. Naar voorkeurslijst gaan?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_THE_SERVICE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "Er kunnen kosten gemoeid zijn met de toegang tot de service. Doorgaan?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_STORE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "Er kunnen kosten gemoeid zijn met de toegang tot de winkel. Doorgaan?"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_ONLY_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES"
+msgstr "Geluidseffect van 5.1 kanaals werkt alleen in de oortelefoon- en Bluetooth-headsetstand."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "5.1-kanaals geluidseffect werkt alleen met oortelefoonstand."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECTS_NOT_SUPPORTED_BY_SPEAKER"
+msgstr "Geluidseffecten 5.1-kanaal niet ondersteund door luidspreker."
+
+msgid "IDS_MUSIC_OPT_VIEW_BY_COVER_ART"
+msgstr "Albumillustratie weergeven"
+
+msgid "IDS_MUSIC_OPT_SEND_TRACK"
+msgstr "Track verzenden"
+
+msgid "IDS_MUSIC_OPT_RATE_TRACK"
+msgstr "Track beoordelen"
+
+msgid "IDS_MUSIC_OPT_PLAYLIST_MOVE_TRACK_IN_PLAYLIST"
+msgstr "Verplaatsen in afspeellijst"
+
+msgid "IDS_MUSIC_OPT_OPENPLAYLIST_CURRENT"
+msgstr "Huidig"
+
+msgid "IDS_MUSIC_OPT_DELETE_PLAYLIST"
+msgstr "Afspeellijst verwijderen"
+
+msgid "IDS_MUSIC_OPT_BACKGROUND_PLAYING"
+msgstr "Afspelen op achtergrond"
+
+msgid "IDS_MUSIC_HEADER_EFFECTS"
+msgstr "Effecten"
+
+msgid "IDS_MUSIC_BUTTON_BUY_NOW"
+msgstr "Nu kopen"
+
+msgid "IDS_MUSIC_BODY_WOW_HD"
+msgstr "Wow HD"
+
+msgid "IDS_MUSIC_BODY_WISHLIST"
+msgstr "Voorkeurslijst"
+
+msgid "IDS_MUSIC_BODY_WIDE"
+msgstr "Ruimtelijk"
+
+msgid "IDS_MUSIC_BODY_WHA_WHA"
+msgstr "Wha-wha"
+
+msgid "IDS_MUSIC_BODY_VIBE_WOOFER"
+msgstr "Vibrafoonwoofer"
+
+msgid "IDS_MUSIC_BODY_TREMOLO"
+msgstr "Vibrato"
+
+msgid "IDS_MUSIC_BODY_TAP_TWICE_TO_PLAY_PAUSE_MUSIC"
+msgstr "Tik tweemaal voor muziek afspelen/onderbreken."
+
+msgid "IDS_MUSIC_BODY_SHARE_TRACK_VIA_BLUETOOTH"
+msgstr "Nummer delen via Bluetooth"
+
+msgid "IDS_MUSIC_BODY_SETUPWIZARD_WELCOME_TO_THE_MUSIC_SETUP_WIZARD_CONTINUE_Q"
+msgstr "Welkom bij de wizard Muziek instellen.\nIn de volgende schermen kunt u uw telefoon configureren. Doorgaan?"
+
+msgid "IDS_MUSIC_BODY_QUICK_LIST"
+msgstr "Quick list"
+
+msgid "IDS_MUSIC_BODY_PLAYINGSETTINGS_SOUND_EFFECTS"
+msgstr "Geluidseffecten"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_ALL"
+msgstr "Alles"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_1"
+msgstr "1"
+
+msgid "IDS_MUSIC_BODY_PLAYERSETTINGS_VOLUME"
+msgstr "Volume"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_SELECTED"
+msgstr "%d nummers geselecteerd."
+
+msgid "IDS_MUSIC_BODY_NO_PODCASTS"
+msgstr "Geen podcasts"
+
+msgid "IDS_MUSIC_BODY_FIND_SIMILAR"
+msgstr "Vergelijkbare zoeken"
+
+msgid "IDS_MUSIC_BODY_BACKGROUND_PLAY"
+msgstr "Afspelen op achtergrond"
+
+msgid "IDS_MUSIC_BODY_51_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "5.1-kanaals kan alleen worden geactiveerd wanneer geluidseffecten zijn uitgeschakeld."
+
+msgid "IDS_MUSIC_TAB4_PODCASTS"
+msgstr "Podcasts"
+
+msgid "IDS_MUSIC_SK2_EDIT_IMAGE"
+msgstr "Afbeelding bewerken"
+
+msgid "IDS_MUSIC_POP_PLAYING_ANY_SOUNDS_WILL_STOP_AND_SAVE_YOUR_VOICE_RECORDING_PLAY_Q"
+msgstr "Als u geluiden afspeelt, wordt de spraakopname gestopt en opgeslagen. Afspelen?"
+
+msgid "IDS_MUSIC_POP_MAXIMUM_NUMBER_OF_ITEMS_HPD_SELECTED"
+msgstr "Maximumaantal items (%d) geselecteerd."
+
+msgid "IDS_MUSIC_POP_BLUETOOTH_DISCONNECTED"
+msgstr "Verbinding met Bluetooth verbroken."
+
+msgid "IDS_MUSIC_POP_5_1_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "5.1-kanaal kan alleen worden geactiveerd wanneer geluidseffecten zijn uitgeschakeld."
+
+msgid "IDS_MUSIC_OPT_TAKE_PICTURE"
+msgstr "Foto maken"
+
+msgid "IDS_MUSIC_OPT_SHOW_MUSIC_VIEW_ABB"
+msgstr "Muziekweergave tonen"
+
+msgid "IDS_MUSIC_OPT_PAUSE"
+msgstr "Pauze"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALBUM"
+msgstr "Album afspelen"
+
+msgid "IDS_MUSIC_OPT_LIST_BY"
+msgstr "Sorteren op"
+
+msgid "IDS_MUSIC_OPT_HISTORY"
+msgstr "Geschiedenis"
+
+msgid "IDS_MUSIC_OPT_HIDE_MUSIC_VIEW_ABB"
+msgstr "Muziekweergave verbergen"
+
+msgid "IDS_MUSIC_OPT_FIND_TAG"
+msgstr "Tag zoeken"
+
+msgid "IDS_MUSIC_OPT_DROPBOX_CONTENT_ABB"
+msgstr "Dropbox-inhoud"
+
+msgid "IDS_MUSIC_OPT_CONTENT_ON_PHONE_ABB"
+msgstr "Inhoud telefoon"
+
+msgid "IDS_MUSIC_OPT_CHANGE_IMAGE"
+msgstr "Afbeelding wijzigen"
+
+msgid "IDS_MUSIC_HEADER_DELETE_DROPBOX_DATA_ABB"
+msgstr "Verwijder Dropbox-geg."
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_STREAM_YOUR_MUSIC_TO_DEVICES_USING_ALLSHARE"
+msgstr "Gebruik AllShare voor streaming van muziek naar apparaten."
+
+msgid "IDS_MUSIC_BODY_VALIDITY"
+msgstr "Geldigheid"
+
+msgid "IDS_MUSIC_BODY_TYPE_CNOUN"
+msgstr "Type"
+
+msgid "IDS_MUSIC_BODY_THIS_WILL_DELETE_THE_FILE_FROM_THE_SERVER_AND_ANY_CONNECTED_DEVICES_AS_WELL"
+msgstr "Hiermee wordt het bestand verwijderd van de server en andere aangesloten apparaten."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_ARTISTS"
+msgstr "Artiesten"
+
+msgid "IDS_MUSIC_BODY_PLAYINGDETAILS_ALBUM_ART"
+msgstr "Album art"
+
+msgid "IDS_MUSIC_BODY_OTHER_CONTENTS"
+msgstr "Overige inhoud"
+
+msgid "IDS_MUSIC_BODY_NAME_TOO_LONG"
+msgstr "Naam te lang."
+
+msgid "IDS_MUSIC_BODY_MUSIC_CLARITY"
+msgstr "Helderheid muziek"
+
+msgid "IDS_MUSIC_BODY_HIGH_VOLUMES_MAY_HARM_YOUR_HEARING_IF_YOU_LISTEN_FOR_A_LONG_TIME"
+msgstr "Hoog volume kan uw gehoor beschadigen wanneer u er lang naar luistert."
+
+msgid "IDS_MUSIC_BODY_AVAILABLE_USES"
+msgstr "Aantal keer dat het gebruikt mag worden"
+
+msgid "IDS_MUSIC_TPOP_SOUND_EFFECTS_ONLY_AVAILABLE_WHILE_HEADPHONES_CONNECTED"
+msgstr "Geluidseffecten zijn alleen beschikbaar wanneer koptelefoon is aangesloten."
+
+msgid "IDS_ST_OPT_ADD_TO_YOUR_PERSONAL_STORAGE"
+msgstr "Toevoegen aan uw persoonlijke opslag"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_YOUR_PERSONAL_STORAGE"
+msgstr "Verwijderen uit uw persoonlijke opslag"
+
+msgid "IDS_ST_BODY_CONTEXTUAL_POP_UP_T_TALKBACK"
+msgstr "Contextpop-up"
+
+msgid "IDS_ST_BODY_A_CONTEXTUAL_POP_UP_IS_OPEN_DOUBLE_TAP_TO_CLOSE_IT_T_TALKBACK"
+msgstr "Er is een contextpop-up open. Tik tweemaal om deze te sluiten."
+
+msgid "IDS_ST_BODY_REPEAT_ONE"
+msgstr "Eén keer herhalen"
+
+msgid "IDS_ST_BUTTON_MOVING_ING"
+msgstr "Verplaatsen..."
+
+msgid "IDS_HS_BODY_SELECT_UP_TO_PD_ITEMS"
+msgstr "Selecteer maximaal %d items"
+
+msgid "IDS_CAM_BODY_TAB_T_TTS"
+msgstr "Tabblad"
+
+msgid "IDS_DLNA_OPT2_CHANGE_PLAYER"
+msgstr "Andere speler"
+
+msgid "IDS_BR_SK_TABS"
+msgstr "Tabbladen"
+
+msgid "IDS_MF_BODY_DROPBOX_ABB"
+msgstr "Dropbox"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Met automatische aanbevelingen haalt u de hoogtepunten uit geluidsbestanden."
+
+msgid "IDS_MF_BODY_PARENT_RATING"
+msgstr "Leeftijdsclassificatie"
+
+msgid "IDS_VR_POP_FILE_NOT_FOUND"
+msgstr "Bestand niet gevonden."
+
+msgid "IDS_PB_POP_CALLER_RINGTONE_SAVED"
+msgstr "Beltoon beller opgeslagen."
+
+msgid "IDS_MUSIC_BODY_BIT_DEPTH"
+msgstr "Bitdiepte"
+
+msgid "IDS_MUSIC_BODY_SIZE"
+msgstr "Grootte"
+
+msgid "IDS_MF_HEADER_PD_SELECTED"
+msgstr "%d geselecteerd"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_THIS_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Nadat u nummers aan dit apparaat hebt toegevoegd, worden ze hier getoond."
+
+msgid "IDS_MUSIC_TMBODY_LENGTH"
+msgstr "Lengte"
+
+msgid "IDS_MUSIC_POP_1_FOLDER_WILL_BE_DELETED"
+msgstr "1 map wordt verwijderd."
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Geen inhoud"
+
+msgid "IDS_MUSIC_ITAB4_FOLDERS"
+msgstr "Mappen"
+
+msgid "IDS_MUSIC_HEADER_MY_PLAYLISTS_ABB"
+msgstr "Mijn afspeellijsten"
+
+msgid "IDS_MP_BODY_SOUND_PLAYER"
+msgstr "MP3-speler"
+
+msgid "IDS_MUSIC_OPT_SETTINGS"
+msgstr "Instellingen"
+
+msgid "IDS_MUSIC_POP_DELETING"
+msgstr "Verwijderen..."
+
+msgid "IDS_MUSIC_POP_1_TRACK_WILL_BE_DELETED"
+msgstr "1 nummer wordt verwijderd."
+
+msgid "IDS_MUSIC_POP_ALL_TRACKS_WILL_BE_DELETED"
+msgstr "Alle nummers worden verwijderd"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_WILL_BE_DELETED"
+msgstr "%d nummers worden verwijderd."
+
+msgid "IDS_MUSIC_POP_1_PLAYLIST_WILL_BE_DELETED"
+msgstr "1 afspeellijst wordt verwijderd."
+
+msgid "IDS_MUSIC_POP_PD_PLAYLISTS_WILL_BE_DELETED"
+msgstr "%d afspeellijsten worden verwijderd."
+
+msgid "IDS_MUSIC_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "%d albums worden verwijderd."
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS_WILL_BE_DELETED"
+msgstr "%d artiesten worden verwijderd."
+
+msgid "IDS_MUSIC_POP_PD_FOLDERS_WILL_BE_DELETED"
+msgstr "%d mappen worden verwijderd."
+
+msgid "IDS_ST_POP_CONNECTION_FAILED"
+msgstr "Verbinding mislukt."
+
+msgid "IDS_MUSIC_BODY_CLASSIC"
+msgstr "Klassiek"
+
+msgid "IDS_MUSIC_BODY_ROCK"
+msgstr "Rock"
+
+msgid "IDS_MUSIC_BODY_JAZZ"
+msgstr "Jazz"
+
+msgid "IDS_MUSIC_BODY_POP"
+msgstr "Pop"
+
+msgid "IDS_MUSIC_BODY_AUTO"
+msgstr "Automatisch"
+
+msgid "IDS_MUSIC_POP_CURRENT_SOUND_EFFECT_NOT_SUPPORTED_BY_HDMI"
+msgstr "Huidig geluidseffect niet ondersteund door HDMI."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_BLUETOOTH"
+msgstr "Geluidseffecten worden niet ondersteund door Bluetooth."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_LINE_OUT"
+msgstr "Geluidseffecten worden niet ondersteund door buitenlijn."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_HDMI"
+msgstr "Geluidseffecten worden niet ondersteund door HDMI."
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EFFECT"
+msgstr "Tube amp"
+
+msgid "IDS_MUSIC_BODY_CUSTOM"
+msgstr "Aangepast"
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EQUALISER_ABB"
+msgstr "Tube amp"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d nummers toegevoegd aan afspeellijst."
+
+msgid "IDS_MUSIC_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 nummer toegevoegd aan afspeellijst."
+
+msgid "IDS_MUSIC_HEADER_ADD_TRACKS_TO_PLAYLIST_ABB"
+msgstr "Voeg nrs toe aan afspeellijst"
+
+msgid "IDS_MUSIC_POP_PS_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "%s al in gebruik. Voer andere naam in."
+
+msgid "IDS_MUSIC_TMBODY_DATE_OF_RECORDING"
+msgstr "Opnamedatum"
+
+msgid "IDS_MBP_TPOP_TRACK_SET_AS_ALARM_TONE"
+msgstr "Nummer ingesteld als alarmtoon."
+
+msgid "IDS_MUSIC_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Geen resultaten gevonden"
+
+msgid "IDS_MUSIC_OPT_DEFAULT_RINGTONE_ABB"
+msgstr "Standaardbeltoon"
+
+msgid "IDS_MUSIC_TPOP_TRACK_SET_AS_CALLER_RINGTONE"
+msgstr "Nummer ingesteld als beltoon beller."
+
+msgid "IDS_MP_TPOP_TRACK_SET_AS_RINGTONE"
+msgstr "Nummer ingesteld als beltoon."
+
+msgid "IDS_DLNA_BODY_ADD_TO_NOW_PLAYING_LIST"
+msgstr "Nu toevoegen aan afspeellijst"
+
+msgid "IDS_MUSIC_TPOP_EQUALISER_SETTINGS_WILL_BE_APPLIED_WHILE_PLAYING_MUSIC"
+msgstr "Equalizerinstellingen worden toegepast tijdens afspelen van muziek."
+
+msgid "IDS_ST_BODY_ALERT"
+msgstr "Waarschuwing"
+
+msgid "IDS_IV_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 album wordt verwijderd."
+
+msgid "IDS_MUSIC_OPT_SD_CARD"
+msgstr "SD-kaart"
+
+msgid "IDS_MUSIC_SBODY_DEVICE_STORAGE"
+msgstr "Apparaatopslag"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE"
+msgstr "Afspeellijstnaam al in gebruik."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_PD"
+msgstr "Afspeellijst %d"
+
+msgid "IDS_MUSIC_HEADER_CREATE"
+msgstr "Maken"
+
+msgid "IDS_MUSIC_HEADER_EQUALISER_PRESET_ABB"
+msgstr "Voorinstelling equalizer"
+
+msgid "IDS_MUSIC_OPT_AUTOMATIC_M_EQUALIZER_EFFECT"
+msgstr "Automatisch"
+
+msgid "IDS_MUSIC_OPT_CLASSICAL_M_EQUALIZER_EFFECT"
+msgstr "Klassiek"
+
+msgid "IDS_MUSIC_HEADER_ENVIRONMENT_EFFECT_ABB"
+msgstr "Omgevingseffect"
+
+msgid "IDS_VIDEO_POP_THE_FILE_TYPE_IS_NOT_SUPPORTED"
+msgstr "Het bestandstype wordt niet ondersteund."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_CREATE_PLAYLISTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Nadat u afspeellijsten hebt gemaakt, worden ze hier weergegeven."
+
+msgid "IDS_ST_HEADER_SELECT_AUDIO_DEVICE_ABB"
+msgstr "Audioapparaat selecteren"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "Naam afspeellijst is al in gebruik. Voer een andere naam in."
+
+msgid "IDS_MUSIC_HEADER_SOUNDALIVE_ABB3"
+msgstr "SoundAlive"
+
+msgid "IDS_MUSIC_OPT_NOW_PLAYING_LIST"
+msgstr "Lijst wordt nu afgespeeld"
+
+msgid "IDS_MUSIC_OPT_SHOW_LYRICS"
+msgstr "Songteksten weergeven"
+
+msgid "IDS_MUSIC_OPT_HIDE_LYRICS"
+msgstr "Songteksten verbergen"
+
+msgid "IDS_MUSIC_TPOP_UNABLE_TO_PLAY_MUSIC_DURING_CALLS"
+msgstr "Kan geen muziek afspelen tijdens oproepen."
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Wissen"
+
+msgid "IDS_MUSIC_HEADER_SELECT"
+msgstr "Selecteren"
+
+msgid "IDS_TPLATFORM_OPT_NFC"
+msgstr "NFC"
+
+msgid "IDS_MUSIC_HEADER_UNABLE_TO_PLAY_TRACK"
+msgstr "Kan nummer niet afspelen"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "GEREED"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ANNULEREN"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "VERWIJDEREN"
+
+msgid "IDS_MUSIC_POP_RENAME"
+msgstr "Naam wijzigen"
+
+msgid "IDS_MUSIC_OPT_MESSAGE"
+msgstr "Bericht"
+
+msgid "IDS_MUSIC_SK_OK"
+msgstr "OK"
+
+msgid "IDS_MUSIC_SK_CANCEL"
+msgstr "Annuleren"
+
+msgid "IDS_MUSIC_BUTTON_REFRESH"
+msgstr "Vernieuwen"
+
+msgid "IDS_MUSIC_BODY_SELECT_ALL"
+msgstr "Alles selecteren"
+
+msgid "IDS_MUSIC_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_MUSIC_POP_DELETED"
+msgstr "Verwijderd."
+
+msgid "IDS_MUSIC_OPT_STOP"
+msgstr "Stoppen"
+
+msgid "IDS_MUSIC_BODY_UNKNOWN"
+msgstr "Onbekend"
+
+msgid "IDS_MUSIC_BODY_TITLE"
+msgstr "Titel"
+
+msgid "IDS_MUSIC_OPT_SENDVIA_EMAIL"
+msgstr "E-mail"
+
+msgid "IDS_MUSIC_OPT_BLUETOOTH"
+msgstr "Bluetooth"
+
+msgid "IDS_MUSIC_HEADER_DOWNLOAD"
+msgstr "Downloaden"
+
+msgid "IDS_MUSIC_POP_LOW_BATTERY"
+msgstr "Batterij bijna leeg."
+
+msgid "IDS_MUSIC_HEADER_AUDIO_DEVICE"
+msgstr "Audioapparaat"
+
+msgid "IDS_MUSIC_HEADER_DETAILS"
+msgstr "Gegevens"
+
+msgid "IDS_MUSIC_OPT_END"
+msgstr "Stoppen"
+
+msgid "IDS_MUSIC_OPT_EDIT"
+msgstr "Bewerken"
+
+msgid "IDS_CAM_HEADER_UPDATED"
+msgstr "Bijgewerkt."
+
+msgid "IDS_MUSIC_POP_REMOVED"
+msgstr "Verwijderd."
+
+msgid "IDS_MUSIC_OPT_SELECTED"
+msgstr "Geselecteerd"
+
+msgid "IDS_ST_BUTTON_SCAN"
+msgstr "Scannen"
+
+msgid "IDS_MF_POP_ERROR"
+msgstr "Fout."
+
+msgid "IDS_MF_POP_MEMORY_FULL"
+msgstr "Geheugen vol."
+
+msgid "IDS_MUSIC_MBODY_QUEUE"
+msgstr "Wachtrij"
+
+msgid "IDS_MUSIC_OPT_VOLUME"
+msgstr "Volume"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE"
+msgstr "Willekeurig"
+
+msgid "IDS_MUSIC_OPT_REPEAT"
+msgstr "Herhalen"
+
+msgid "IDS_COM_BODY_DETAILS"
+msgstr "Details"
+
+msgid "IDS_COM_BODY_DETAILS_TITLE"
+msgstr "Title"
+
+msgid "IDS_COM_BODY_EDIT"
+msgstr "Edit"
+
+msgid "IDS_COM_BODY_EMAIL"
+msgstr "Email"
+
+msgid "IDS_COM_BODY_END"
+msgstr "End"
+
+msgid "IDS_COM_BODY_FOLDERS"
+msgstr "Folders"
+
+msgid "IDS_COM_BODY_GALLERY"
+msgstr "Gallery"
+
+msgid "IDS_COM_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_COM_BODY_LOADING"
+msgstr "Loading..."
+
+msgid "IDS_COM_BODY_LOW_BATTERY"
+msgstr "Low battery."
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Message"
+
+msgid "IDS_COM_BODY_MUSIC"
+msgstr "Music"
+
+msgid "IDS_COM_BODY_NFC"
+msgstr "NFC"
+
+msgid "IDS_COM_BODY_NO_CONTENTS"
+msgstr "No content"
+
+msgid "IDS_COM_BODY_PAUSE"
+msgstr "Pause"
+
+msgid "IDS_COM_BODY_PD_SELECTED"
+msgstr "%d selected."
+
+msgid "IDS_COM_BODY_PREVIOUS"
+msgstr "Previous"
+
+msgid "IDS_COM_BODY_RESET_A"
+msgstr "Reset"
+
+msgid "IDS_COM_BODY_SELECTED"
+msgstr "Selected"
+
+msgid "IDS_COM_BODY_SELECT_ALL"
+msgstr "Select all"
+
+msgid "IDS_COM_BODY_SETTINGS"
+msgstr "Settings"
+
+msgid "IDS_COM_BODY_TIME"
+msgstr "Time"
+
+msgid "IDS_COM_BODY_UNABLE_TO_ADD"
+msgstr "Unable to add."
+
+msgid "IDS_COM_BODY_UNKNOWN"
+msgstr "Unknown"
+
+msgid "IDS_COM_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_COM_BUTTON_SCAN"
+msgstr "Scan"
+
+msgid "IDS_COM_BUTTON_SHARE"
+msgstr "Share"
+
+msgid "IDS_COM_HEADER_AUDIO_DEVICE_ABB"
+msgstr "Audio device"
+
+msgid "IDS_COM_OPT_ADDED"
+msgstr "Added."
+
+msgid "IDS_COM_OPT_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_POP_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_POP_CONNECTION_FAILED"
+msgstr "Connection failed."
+
+msgid "IDS_COM_POP_DELETED"
+msgstr "Deleted."
+
+msgid "IDS_COM_POP_DELETE_Q"
+msgstr "Delete?"
+
+msgid "IDS_COM_POP_DONE"
+msgstr "Done"
+
+msgid "IDS_COM_POP_DOWNLOADING"
+msgstr "Downloading..."
+
+msgid "IDS_COM_POP_ERROR"
+msgstr "Error."
+
+msgid "IDS_COM_POP_FAILED"
+msgstr "Failed."
+
+msgid "IDS_COM_POP_FILE_NOT_EXIST"
+msgstr "This file does not exist."
+
+msgid "IDS_COM_POP_FILE_NOT_FOUND"
+msgstr "File not found."
+
+msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximum number of characters reached."
+
+msgid "IDS_COM_POP_MEMORY_FULL"
+msgstr "Memory full."
+
+msgid "IDS_COM_POP_REMOVED"
+msgstr "Removed."
+
+msgid "IDS_COM_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Unable to use during Mass storage mode."
+
+msgid "IDS_COM_POP_UPDATED"
+msgstr "Updated."
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_SK_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_SK_DOWNLOAD"
+msgstr "Download"
+
+msgid "IDS_COM_SK_NEW"
+msgstr "New"
+
+msgid "IDS_COM_SK_NEXT"
+msgstr "Next"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_SK_REFRESH"
+msgstr "Refresh"
+
+msgid "IDS_COM_SK_REMOVE"
+msgstr "Remove"
+
+msgid "IDS_COM_SK_SAVE"
+msgstr "Save"
+
+msgid "IDS_COM_SK_SELECT"
+msgstr "Select"
+
+msgid "IDS_COM_SK_SET"
+msgstr "Set"
+
+msgid "IDS_COM_SK_STOP"
+msgstr "Stop"
+
+
+msgid "IDS_MH_BODY_THE_PLAYLIST_NAME_PS_IS_ALREADY_IN_USE"
+msgstr "The playlist name %s is already in use."
+
+msgid "IDS_MH_BODY_TOTAL"
+msgstr "Total"
+
+msgid "IDS_MH_MBODY_RECENTLY_ADDED_M_SONG"
+msgstr "Recently added"
+
+msgid "IDS_MH_OPT_MORE_INFO_ABB"
+msgstr "More info"
+
+msgid "IDS_MH_POP_ALARM_TONE_SET"
+msgstr "Alarm tone set."
+
+msgid "IDS_MH_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 track added to playlist."
+
+msgid "IDS_MH_TPOP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d tracks added to playlist."
+
+msgid "IDS_MUSIC_OPT_RENAME"
+msgstr "Rename"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Unable to play during call."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Maximumgrootte van bestanden overschreden."
+
+msgid "IDS_CAM_TPOP_UNABLE_TO_PLAY_MUSIC_WHILE_RECORDING_AUDIO_OR_VIDEO"
+msgstr "Kan muziek niet afspelen terwijl audio of video wordt opgenomen."
+
--- /dev/null
+msgid "IDS_ST_BODY_LOADING_ING"
+msgstr "Ładuję..."
+
+msgid "IDS_GALLERY_OPT_PRIVATE_M_CONTENT"
+msgstr "Prywatne"
+
+msgid "IDS_MF_BODY_TIME"
+msgstr "Godzina"
+
+msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
+msgstr "Plik nie istnieje."
+
+msgid "IDS_MUSIC_POP_PHONE_RINGTONE"
+msgstr "Dzwonek telefonu"
+
+msgid "IDS_MUSIC_BODY_DURATION"
+msgstr "Czas trwania"
+
+msgid "IDS_MUSIC_BODY_MUSIC_LOCATION"
+msgstr "Miejsce"
+
+msgid "IDS_MUSIC_BODY_SET_AS_M_RINGTONE"
+msgstr "Ustaw jako"
+
+msgid "IDS_ST_OPT_ADD_TO_PERSONAL_PAGE"
+msgstr "Dodaj do strony osobistej"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_PERSONAL_PAGE_ABB"
+msgstr "Usuń ze strony osobistej"
+
+msgid "IDS_ST_POP_MOVE_TO_NORMAL_STORAGE"
+msgstr "Przenieś do pamięci zwykłej"
+
+msgid "IDS_ST_POP_MOVE_TO_PERSONAL_STORAGE"
+msgstr "Przenieś do pamięci osobistej"
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEMS_WILL_BE_MOVED_TO_PS"
+msgstr "Wybrane elementy zostaną przeniesione do lokalizacji %s."
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEM_WILL_BE_MOVED_TO_PS"
+msgstr "Wybrany element zostanie przeniesiony do lokalizacji %s."
+
+msgid "IDS_VR_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Nie można użyć w trybie pamięci masowej."
+
+msgid "IDS_MUSIC_POP_RINGTONE_ADDED"
+msgstr "Dodano dzwonek."
+
+msgid "IDS_CAM_BODY_BUTTON_T_TTS"
+msgstr "Przycisk"
+
+msgid "IDS_MUSIC_HEADER_SELECT_ITEMS"
+msgstr "Wybierz elementy"
+
+msgid "IDS_ST_BODY_ADVANCED"
+msgstr "Zaawansowane"
+
+msgid "IDS_ST_SK_PREVIOUS"
+msgstr "Wstecz"
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Zamknij"
+
+msgid "IDS_MUSIC_POP_ADDED"
+msgstr "Dodano."
+
+msgid "IDS_MUSIC_POP_FAILED"
+msgstr "Błąd"
+
+msgid "IDS_MUSIC_BODY_NO_SEARCH_RESULTS"
+msgstr "Brak wyników wyszukiwania"
+
+msgid "IDS_MUSIC_SK_DONE"
+msgstr "Gotowe"
+
+msgid "IDS_MUSIC_BODY_NO_ITEMS"
+msgstr "Brak elementów"
+
+msgid "IDS_BR_OPT_ADD_TO_HOME"
+msgstr "Dodaj do ekranu startowego"
+
+msgid "IDS_BR_SK_NEXT"
+msgstr "Dalej"
+
+msgid "IDS_BR_BODY_DOWNLOADING_ING"
+msgstr "Pobieranie..."
+
+msgid "IDS_IV_BODY_FAVOURITE"
+msgstr "Ulubione"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_PERSONAL_STORAGE"
+msgstr "Dodaj do pamięci osobistej"
+
+msgid "IDS_DLNA_POP_DISCONNECTED_FROM_PS_CHECK_THE_NETWORK_STATUS_AND_THE_CONNECTED_DEVICE"
+msgstr "Rozłączono z %s. Sprawdź stan sieci i podłączone urządzenie."
+
+msgid "IDS_DLNA_OPT_VIA_SCREEN_MIRRORING_ABB"
+msgstr "Przez apl. Screen Mirroring"
+
+msgid "IDS_DLNA_OPT_VIA_HOME_NETWORK_ABB"
+msgstr "Przez sieć macierzystą"
+
+msgid "IDS_IV_POP_ENTRY_IS_EMPTY"
+msgstr "Wpis jest pusty."
+
+msgid "IDS_FM_POP_UNAVAILABLE_DURING_CALL"
+msgstr "Niedostępne podczas połączenia."
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Osiągnięto maksymalną liczbę znaków."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_SHARE_DRM_FILE"
+msgstr "Nie można udostępnić pliku DRM."
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Usuwanie..."
+
+msgid "IDS_MUSIC_HEADER_PD_DEVICES"
+msgstr "Urządzeń: %d"
+
+msgid "IDS_MUSIC_BUTTON_ENABLE_MOTION"
+msgstr "Wł. f. ruchu"
+
+msgid "IDS_MUSIC_BUTTON_DONT_ASK_AGAIN"
+msgstr "Nie pytaj ponownie"
+
+msgid "IDS_MUSIC_BODY_NO_RESULTS_FOUND"
+msgstr "Nie znaleziono wyników."
+
+msgid "IDS_VPL_OPT_HDMI"
+msgstr "HDMI"
+
+msgid "IDS_MUSIC_BODY_TURN_PHONE_OVER_TO_MUTE_INCOMING_CALLS_MESSAGE_ALERTS_AND_ALARMS"
+msgstr "Odwróć telefon, aby wyciszyć połączenia przychodzące, dźwięki wiad. i alarmy."
+
+msgid "IDS_ST_BODY_NONE"
+msgstr "Brak"
+
+msgid "IDS_ST_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_ST_BODY_GALLERY"
+msgstr "Galeria"
+
+msgid "IDS_ST_BODY_DOUBLE_TAP_TO_MOVE_TO_CONTENT_T_TTS"
+msgstr "Dotknij dwukrotnie, aby przenieść do zawartości."
+
+msgid "IDS_MUSIC_BODY_SURROUND"
+msgstr "Surround"
+
+msgid "IDS_MUSIC_OPT_LYRICS_ABB"
+msgstr "Tekst"
+
+msgid "IDS_MUSIC_POP_AFTER_YOU_ADD_TRACKS_TO_MUSIC_ON_YOUR_MOBILE_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Utwory zostaną tu wyświetlone po ich dodaniu do katalogu Muzyka na urządzeniu przenośnym."
+
+msgid "IDS_MUSIC_BODY_SAMPLING_RATE"
+msgstr "Częstotliwość próbkowania"
+
+msgid "IDS_MUSIC_BODY_MARKED_AS_A_FAVOURITE"
+msgstr "Oznaczone jako ulubione."
+
+msgid "IDS_MUSIC_BODY_MUSIC"
+msgstr "Muzyka"
+
+msgid "IDS_MUSIC_BODY_NOT_MARKED_AS_A_FAVOURITE"
+msgstr "Nieoznaczone jako ulubione."
+
+msgid "IDS_MUSIC_HEADER_SEARCH_MUSIC_ABB"
+msgstr "Wyszukaj muzykę"
+
+msgid "IDS_MUSIC_POP_AUTO_RECOMMENDATION_DOES_NOT_SUPPORT_THIS_AUDIO_FILE"
+msgstr "Automatyczne zalecenia nie obsługują tego pliku audio."
+
+msgid "IDS_MUSIC_POP_SORRY_THE_PLAYER_DOES_NOT_SUPPORT_THIS_TYPE_OF_AUDIO_FILE"
+msgstr "Niestety odtwarzacz nie obsługuje tego typu pliku audio."
+
+msgid "IDS_MUSIC_BODY_FAVOURITES"
+msgstr "Ulubione"
+
+msgid "IDS_MUSIC_BODY_MOST_PLAYED"
+msgstr "Najczęściej odtwarzane"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_ADDED"
+msgstr "Ostatnio dodane"
+
+msgid "IDS_MUSIC_OPT_CREATE_PLAYLIST"
+msgstr "Utwórz listę odtwarzania"
+
+msgid "IDS_MUSIC_OPT_REMOVE"
+msgstr "Usuń"
+
+msgid "IDS_MUSIC_OPT_SETAS_CALLER_RINGTONE"
+msgstr "Dzwonek kontaktu"
+
+msgid "IDS_MUSIC_TAB4_ARTISTS"
+msgstr "Wykonawcy"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD"
+msgstr "Nie można dodać."
+
+msgid "IDS_MUSIC_POP_UNABLE_CREATE_PLAYLIST"
+msgstr "Nie można utworzyć listy odtwarzania."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_GET_TAG"
+msgstr "Nie można pobrać etykiety."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_MORE_THAN_PD_MUSIC_FILE"
+msgstr "Nie można dodać więcej utworów muzycznych niż %d."
+
+msgid "IDS_MUSIC_BODY_ALBUM"
+msgstr "Album"
+
+msgid "IDS_MUSIC_BODY_AUTHOR"
+msgstr "Autor"
+
+msgid "IDS_MUSIC_BODY_COPYRIGHT"
+msgstr "Copyright"
+
+msgid "IDS_MUSIC_BODY_CREATE_PLAYLIST"
+msgstr "Utwórz listę odtwarzania"
+
+msgid "IDS_MUSIC_BODY_DESCRIPTION"
+msgstr "Opis"
+
+msgid "IDS_MUSIC_BODY_FORMAT"
+msgstr "Format"
+
+msgid "IDS_MUSIC_BODY_IMPOSSIBLE"
+msgstr "Niemożliwe"
+
+msgid "IDS_MUSIC_BODY_NO_PLAYLISTS"
+msgstr "Brak list odtwarzania"
+
+msgid "IDS_MUSIC_BODY_TRACK_NUMBER"
+msgstr "Numer utworu"
+
+msgid "IDS_MUSIC_POP_DELETE_Q"
+msgstr "Usunąć?"
+
+msgid "IDS_MUSIC_POP_REMOVE_Q"
+msgstr "Usunąć?"
+
+msgid "IDS_MUSIC_POP_UNABLE_RENAME_PLAYLIST"
+msgstr "Nie można zmienić nazwy listy odtwarzania."
+
+msgid "IDS_MUSIC_TAB4_ALBUMS"
+msgstr "Albumy"
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Dodawanie..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Usunąć albumy: %d?"
+
+msgid "IDS_MUSIC_TAB4_PLAYLISTS"
+msgstr "Listy odtwarz."
+
+msgid "IDS_MUSIC_OPT_ADD"
+msgstr "Dodaj"
+
+msgid "IDS_MUSIC_BODY_BIOGRAPHY"
+msgstr "Biografia"
+
+msgid "IDS_MUSIC_BODY_CREDITS"
+msgstr "Kredyty"
+
+msgid "IDS_MUSIC_BODY_DETAILS_MEADIA_INFO"
+msgstr "Multimedia"
+
+msgid "IDS_MUSIC_BODY_DISCOGRAPHY"
+msgstr "Dyskografia"
+
+msgid "IDS_MUSIC_BODY_LYRIC"
+msgstr "Tekst"
+
+msgid "IDS_MUSIC_BODY_POSSIBLE"
+msgstr "Możliwe"
+
+msgid "IDS_MUSIC_BODY_REVIEW"
+msgstr "Podgląd zdjęcia"
+
+msgid "IDS_MUSIC_HEADER_TRACK_LIST"
+msgstr "Lista utworów"
+
+msgid "IDS_MUSIC_BODY_ADD_TO_PLAYLIST"
+msgstr "Dodaj do listy odtwarzania"
+
+msgid "IDS_MUSIC_BODY_ARTIST"
+msgstr "Wykonawca"
+
+msgid "IDS_MUSIC_BODY_FORWARDING"
+msgstr "Przesyłanie"
+
+msgid "IDS_MUSIC_BODY_RECORDED_DATE"
+msgstr "Date of recording"
+
+msgid "IDS_MUSIC_BODY_PLAYLISTS"
+msgstr "Listy odtwarzania"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_PLAYED"
+msgstr "Ostatnio odtwarzane"
+
+msgid "IDS_MUSIC_BODY_TRACK_LENGTH"
+msgstr "Długość utworu"
+
+msgid "IDS_MUSIC_HEADER_NO_SONGS"
+msgstr "Brak utworów"
+
+msgid "IDS_MUSIC_POP_THIS_TRACK_WILL_BE_DELETED"
+msgstr "Ten utwór zostanie usunięty."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_TRACKS_WILL_BE_DELETED"
+msgstr "Wybrane utwory zostaną usunięte."
+
+msgid "IDS_MUSIC_POP_THIS_ARTIST_WILL_BE_DELETED"
+msgstr "Ten wykonawca zostanie usunięty."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ARTISTS_WILL_BE_DELETED"
+msgstr "Wybrani artyści zostaną usunięci."
+
+msgid "IDS_MUSIC_POP_ALL_ARTISTS_WILL_BE_DELETED"
+msgstr "Wszyscy wykonawcy zostaną usunięci."
+
+msgid "IDS_MUSIC_POP_THIS_FOLDER_WILL_BE_DELETED"
+msgstr "Ten katalog zostanie usunięty."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_FOLDERS_WILL_BE_DELETED"
+msgstr "Wybrane katalogi zostaną usunięte."
+
+msgid "IDS_MUSIC_POP_ALL_FOLDERS_WILL_BE_DELETED"
+msgstr "Wszystkie katalogi zostaną usunięte."
+
+msgid "IDS_MUSIC_POP_THIS_ALBUM_WILL_BE_DELETED"
+msgstr "Ten album zostanie usunięty."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ALBUMS_WILL_BE_DELETED"
+msgstr "Wybrane albumy zostaną usunięte."
+
+msgid "IDS_MUSIC_POP_ALL_ALBUMS_WILL_BE_DELETED"
+msgstr "Wszystkie albumy zostaną usunięte."
+
+msgid "IDS_MUSIC_POP_THIS_PLAYLIST_WILL_BE_DELETED"
+msgstr "Lista odtwarzania zostanie usunięta."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Wybrane listy odtwarzania zostaną usunięte."
+
+msgid "IDS_MUSIC_POP_ALL_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Wszystkie listy odtwarzania zostaną usunięte."
+
+msgid "IDS_MUSIC_HEADER_SONGS"
+msgstr "Piosenki"
+
+msgid "IDS_MUSIC_OPT_REORDER"
+msgstr "Zmień kolejność"
+
+msgid "IDS_MUSIC_OPT_SAVE_AS_PLAYLIST"
+msgstr "Zapisz jako listę odtwarzania"
+
+msgid "IDS_MUSIC_OPT_SETAS_ALARM_TONE"
+msgstr "Sygnał alarmu"
+
+msgid "IDS_MUSIC_POP_NOTHING_SELECTED"
+msgstr "Niczego nie zaznaczono."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Nie można odtworzyć. Wystąpił błąd."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_UNSUPPORTED_FILETYPE"
+msgstr "Nie można odtworzyć. Nieobsługiwany typ pliku"
+
+msgid "IDS_MUSIC_SK_SHARE"
+msgstr "Udostęp."
+
+msgid "IDS_MUSIC_TAB4_CONDUCTORS"
+msgstr "Dyrygenci"
+
+msgid "IDS_MUSIC_HEADER_SELECT_DEVICE"
+msgstr "Wybierz urządzenie"
+
+msgid "IDS_MUSIC_SK_VIEW_AS"
+msgstr "Widok"
+
+msgid "IDS_MUSIC_BODY_SOUNDEFFECTS_NORMAL"
+msgstr "Wył."
+
+msgid "IDS_MUSIC_BODY_USER"
+msgstr "Użytkownik"
+
+msgid "IDS_MUSIC_BODY_VOCAL_M_SOUNDEFFECT"
+msgstr "Śpiew"
+
+msgid "IDS_MUSIC_MBODY_BASS_BOOST"
+msgstr "Podbicie basów"
+
+msgid "IDS_MUSIC_MBODY_TREBLE_BOOST"
+msgstr "Podbicie tonów wysokich"
+
+msgid "IDS_MUSIC_BODY_CAFE_M_SOUNDEFFECT"
+msgstr "Kawiarnia"
+
+msgid "IDS_MUSIC_OPT_VIRTUAL_71_CH"
+msgstr "Wirtualne 7.1"
+
+msgid "IDS_MUSIC_OPT_AFTER_15_MIN_ABB"
+msgstr "Po 15 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_30_MIN"
+msgstr "Po 30 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HOUR"
+msgstr "Po 1 godz."
+
+msgid "IDS_MUSIC_POP_AFTER_1_HOUR_30_MIN"
+msgstr "Po 1 godz. 30 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_2_HOURS"
+msgstr "Po 2 godz."
+
+msgid "IDS_MUSIC_BODY_MUSIC_AUTO_OFF"
+msgstr "Auto-wył. odtwarzacza"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES_ONLY"
+msgstr "To ustawienie jest dostępne tylko w trybie słuchawek przewodowych lub Bluetooth."
+
+msgid "IDS_MUSIC_TAB4_MUSIC_SQUARE"
+msgstr "Plac muzyczny"
+
+msgid "IDS_MUSIC_POP_NOT_ENOUGH_MUSIC_FILES_TO_PLAY_IN_MUSIC_SQUARE_AT_LEAST_PD_MUSIC_FILES_REQUIRED"
+msgstr "Niewystarczająca liczba plików muzycznych do odtwarzania na Placu muzycznym. Minimalna liczba wymaganych plików muzycznych: %d."
+
+msgid "IDS_MUSIC_BODY_PASSION_M_MOOD"
+msgstr "Pasja"
+
+msgid "IDS_MUSIC_BODY_CALM_M_ADJECTIVE"
+msgstr "Spokojne"
+
+msgid "IDS_MUSIC_BODY_JOY_M_MOOD"
+msgstr "Radość"
+
+msgid "IDS_MUSIC_BODY_LIBRARY_UPDATE"
+msgstr "Aktualizacja biblioteki"
+
+msgid "IDS_MUSIC_POP_UPDATE_LIBRARY_Q"
+msgstr "Zaktualizować bibliotekę?"
+
+msgid "IDS_MUSIC_BODY_CHANGE_AXIS"
+msgstr "Zmień oś"
+
+msgid "IDS_MUSIC_ITAB4_GENRES"
+msgstr "Gatunki"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_1_TRACK"
+msgstr "1 album/1 utwór"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_PD_TRACKS"
+msgstr "Albumów: 1/utworów: %d"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS_PD_TRACKS"
+msgstr "Albumów: %d/utworów: %d"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_CONTROL_MUSIC_PLAYER_WITH_THE_VOICE_COMMANDS_P1SS_P2SS_P3SS_P4SS_P5SS_AND_P6SS"
+msgstr "Możesz sterować Odtwarzaczem muzyki za pomocą poleceń głosowych %1$s, %2$s, %3$s, %4$s, %5$s i %6$s."
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_PD_TRACKS"
+msgstr "Losowo utworów: %d"
+
+msgid "IDS_MUSIC_BODY_MORE_INFO"
+msgstr "Więcej informacji"
+
+msgid "IDS_MUSIC_HEADER_MY_MUSIC_M_APPLICATION_NAME"
+msgstr "Moja muzyka"
+
+msgid "IDS_MUSIC_OPT_LIST_VIEW"
+msgstr "Widok listy"
+
+msgid "IDS_MUSIC_OPT_PLAY_VIA_GROUP_PLAY"
+msgstr "Odtwarzaj przez Group Play"
+
+msgid "IDS_MUSIC_POP_TRACK_ADDED_TO_FAVOURITES"
+msgstr "Utwór dodano do ulubionych."
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_FAVOURITES"
+msgstr "Usuń z ulubionych"
+
+msgid "IDS_MUSIC_BODY_NEW_M_LATEST"
+msgstr "Nowe"
+
+msgid "IDS_MUSIC_OPT_TRACKS"
+msgstr "Utwory"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL"
+msgstr "Miniatura"
+
+msgid "IDS_MUSIC_SK_LIST"
+msgstr "Lista"
+
+msgid "IDS_MUSIC_SK_OPEN_PLAYLIST"
+msgstr "Otwórz listę odtwarzania"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALL"
+msgstr "Odtwórz wszystkie"
+
+msgid "IDS_MUSIC_POP_SELECTED_LIST_EMPTY"
+msgstr "Wybrana lista jest pusta."
+
+msgid "IDS_MUSIC_BODY_MOODS"
+msgstr "Rodzaje"
+
+msgid "IDS_MUSIC_BUTTON_YEARS"
+msgstr "Lata"
+
+msgid "IDS_MUSIC_BODY_OLD"
+msgstr "Stare"
+
+msgid "IDS_MUSIC_BODY_MUSIC_SQUARE_ANALYSES_THE_CHARACTERISTICS_OF_MUSIC_FILES_STORED_ON_YOUR_DEVICE_AND_AUTOMATICALLY_CREATES_PLAYLISTS_MSG"
+msgstr "Plac muzyczny analizuje cechy plików muzycznych przechowywanych w urządzeniu i automatycznie tworzy listy odtwarzania."
+
+msgid "IDS_MUSIC_BODY_PLAY_TRACKS_WITH_SIMILAR_CHARACTERISTICS_BY_SELECTING_A_SQUARE_ON_THE_SCREEN"
+msgstr "Odtwarzanie list odtwarzania zawierających podobne utwory przez wybranie kwadratu na ekranie."
+
+msgid "IDS_MUSIC_BODY_VIEW_PLAYLIST_DETAILS_BY_TAPPING_AND_HOLDING_THE_SQUARE_CURRENTLY_BEING_PLAYED"
+msgstr "Wyświetlanie szczegółów listy odtwarzania przez dotknięcie i przytrzymanie aktualnie odtwarzanego kwadratu."
+
+msgid "IDS_MUSIC_BODY_NEARBY_DEVICES"
+msgstr "Urządzenia w pobliżu"
+
+msgid "IDS_MUSIC_POP_YOU_WILL_NEED_TO_UPDATE_THE_LIBRARY_IF_NEW_SONGS_HAVE_BEEN_ADDED"
+msgstr "Po dodaniu nowych piosenek musisz zaktualizować bibliotekę."
+
+msgid "IDS_MUSIC_BODY_NO_ALBUMS"
+msgstr "Brak albumów"
+
+msgid "IDS_MUSIC_BODY_NO_ARTISTS"
+msgstr "Brak wykonawców"
+
+msgid "IDS_MUSIC_OPT_PLAY_SPEED_ABB"
+msgstr "Szybkość odtwarzania"
+
+msgid "IDS_MUSIC_BODY_CONCERT_HALL_M_SOUNDEFFECT"
+msgstr "Sala koncertowa"
+
+msgid "IDS_MUSIC_OPT_ADD_TO"
+msgstr "Dodaj do"
+
+msgid "IDS_MUSIC_SK_VIEW"
+msgstr "Podgląd"
+
+msgid "IDS_MUSIC_OPT_LISTBY_RECENTLY_ADDED"
+msgstr "Ostatnio dodane"
+
+msgid "IDS_MUSIC_BODY_NOT_USED"
+msgstr "Ręcznie"
+
+msgid "IDS_MUSIC_BODY_MAKE_AVAILABLE_OFFLINE"
+msgstr "Udostępnij w trybie Offline"
+
+msgid "IDS_MUSIC_OPT_AFTER_P1SD_HRS_P2SD_MINS"
+msgstr "Po %1$d godz. %2$d min"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS"
+msgstr "Po godz.: %d"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_MINS"
+msgstr "Po min: %d"
+
+msgid "IDS_MUSIC_BODY_NO_FOLDERS"
+msgstr "Brak katalogów"
+
+msgid "IDS_MUSIC_BODY_NO_TRACKS"
+msgstr "Brak utworów"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS"
+msgstr "Liczba albumów: %d"
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS"
+msgstr "Wykonawców: %d"
+
+msgid "IDS_MUSIC_BODY_PD_GENRES"
+msgstr "Rodzajów: %d"
+
+msgid "IDS_MUSIC_BODY_PD_PLAYLISTS"
+msgstr "List odtwarzania: %d"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_ABB"
+msgstr "Utworów: %d"
+
+msgid "IDS_MUSIC_BODY_PLAYLIST"
+msgstr "Lista odtwarzania"
+
+msgid "IDS_MUSIC_HEADER_SIMILAR_ALBUMS"
+msgstr "Podobne albumy"
+
+msgid "IDS_MUSIC_HEADER_TRACK"
+msgstr "Utwór"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL_VIEW"
+msgstr "Miniatury"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "Ten efekt dźwiękowy działa tylko w trybie słuchawek."
+
+msgid "IDS_MUSIC_OPT_ALL_CONTENT_ABB2"
+msgstr "Cała zawartość"
+
+msgid "IDS_MUSIC_BODY_A_NETWORK_CONNECTION_IS_REQUIRED_TO_PLAY_THIS_FILE_CHECK_YOUR_NETWORK_CONNECTION_AND_TRY_AGAIN"
+msgstr "Aby odtworzyć ten plik, wymagane jest połączenie z siecią. Sprawdź połączenie z siecią i spróbuj ponownie."
+
+msgid "IDS_MUSIC_POP_FILE_TYPE_NOT_SUPPORTED"
+msgstr "Nieobsługiwany typ pliku."
+
+msgid "IDS_MUSIC_POP_UPDATING_ING"
+msgstr "Aktualizacja..."
+
+msgid "IDS_MUSIC_OPT_SEARCH_ABB"
+msgstr "Szukaj"
+
+msgid "IDS_MUSIC_OPT_SEARCH_BY"
+msgstr "Szukaj wg"
+
+msgid "IDS_MUSIC_BODY_RELATED_VIDEOS"
+msgstr "Powiązane filmy"
+
+msgid "IDS_MUSIC_BODY_SMART_VOLUME_ABB"
+msgstr "Głośność inteligentna"
+
+msgid "IDS_MUSIC_BODY_THE_VOLUME_OF_ALL_TRACKS_WILL_BE_ADJUSTED_TO_LEVEL_PD"
+msgstr "Głośność wszystkich utworów będzie dostosowywana do poziomu %d."
+
+msgid "IDS_MUSIC_HEADER_SMART_VOLUME_IS_ENABLED"
+msgstr "Głośność inteligentna została włączona"
+
+msgid "IDS_MUSIC_OPT_CONNECTION_INFO_ABB"
+msgstr "Inform. o połączeniu"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_PD_MINS"
+msgstr "Po godz. 1 min: %d"
+
+msgid "IDS_MUSIC_BODY_ADAPT_SOUND_ABB"
+msgstr "Adapt Sound"
+
+msgid "IDS_MUSIC_BODY_MY_DEVICE"
+msgstr "Moje urządzenie"
+
+msgid "IDS_MUSIC_POP_LISTENING_AT_A_HIGH_VOLUME_FOR_A_LONG_TIME_MAY_DAMAGE_YOUR_HEARING_RAISE_THE_VOLUME_ABOVE_SAFE_LEVELS_Q"
+msgstr "Długotrwałe słuchanie głośnych dźwięków może uszkodzić słuch. Podnieść głośność powyżej bezpiecznego poziomu?"
+
+msgid "IDS_MUSIC_POP_ALREADY_EXISTS"
+msgstr "Już istnieje."
+
+msgid "IDS_MUSIC_OPT_SCAN_FOR_NEARBY_DEVICES"
+msgstr "Pokaż dostępne urządzenia"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR"
+msgstr "Po godz.: 1"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_1_MIN"
+msgstr "Po godz. 1 min 1"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS_1_MIN"
+msgstr "Po godz. %d min 1"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_MIN"
+msgstr "Po min: 1"
+
+msgid "IDS_MUSIC_OPT_GO_TO_STORE"
+msgstr "Idź do sklepu"
+
+msgid "IDS_MUSIC_SK3_ADD_TRACKS"
+msgstr "Dodaj utwory"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FROM_MUSIC_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Utwory zostaną tu wyświetlone po ich pobraniu z obszaru Muzyka."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_YOUR_FAVOURITES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Utwory zostaną tu wyświetlone po ich dodaniu do ulubionych."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_PLAY_TRACKS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Utwory zostaną tu wyświetlone po ich odtworzeniu."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_PS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Utwory zostaną tu wyświetlone po ich dodaniu do %s."
+
+msgid "IDS_MUSIC_BODY_NO_PURCHASED_CONTENT"
+msgstr "Brak kupionej zawartości"
+
+msgid "IDS_MUSIC_SK_SAVE_AS"
+msgstr "Zapisz jako"
+
+msgid "IDS_MUSIC_POP_MUSICPLAYER_UPDATING_FAILED"
+msgstr "Błąd aktualizacji"
+
+msgid "IDS_MUSIC_BODY_EXCITING_M_ADJECTIVE"
+msgstr "Pasjonujące"
+
+msgid "IDS_MUSIC_BODY_SEARCH_MY_MUSIC"
+msgstr "Wyszukaj w bibliotece Moja muzyka"
+
+msgid "IDS_MUSIC_HEADER_CONNECTED_DEVICES"
+msgstr "Podłączone urządzenia"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST_PS"
+msgstr "Moja lista odtwarzania %s"
+
+msgid "IDS_MUSIC_BODY_NO_DEVICES"
+msgstr "Brak urządzeń"
+
+msgid "IDS_MUSIC_HEADER_AVAILABLE_DEVICES_ABB"
+msgstr "Dostępne urządzenia"
+
+msgid "IDS_MUSIC_POP_SET"
+msgstr "Ustawiono"
+
+msgid "IDS_MUSIC_POP_REMOVE_FAILED"
+msgstr "Usuwanie nie powiodło się."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_USE_FAST_FORWARD_AND_REWIND_WHEN_NEARBY_DEVICES_ARE_ENABLED"
+msgstr "Nie można używać przewijania do przodu ani do tyłu, gdy włączone są urządzenia w pobliżu."
+
+msgid "IDS_MUSIC_OPT_SET_AS"
+msgstr "Ustaw jako"
+
+msgid "IDS_MUSIC_OPT_HEADPHONES_ABB"
+msgstr "Słuchawki"
+
+msgid "IDS_MUSIC_OPT_SPEAKER"
+msgstr "Głośnik"
+
+msgid "IDS_MUSIC_BODY_1_SONG"
+msgstr "1 utwór"
+
+msgid "IDS_MUSIC_BODY_PD_SONGS"
+msgstr "Utworów: %d"
+
+msgid "IDS_MUSIC_BODY_1_TRACK"
+msgstr "1 utwór"
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_1_TRACK"
+msgstr "Losowo utworów: 1"
+
+msgid "IDS_MUSIC_POP_NO_MUSIC_FOUND_FOR_SELECTED_CELL"
+msgstr "Nie znaleziono muzyki dla wybranej komórki"
+
+msgid "IDS_MUSIC_BODY_DO_NOT_SHOW_AGAIN"
+msgstr "Nie wyświetlaj ponownie"
+
+msgid "IDS_MUSIC_BODY_VARIOUS_ARTISTS"
+msgstr "Różni wykonawcy"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_HOME_SCREEN_ABB"
+msgstr "Dodaj do ekranu startowego"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_FAVOURITES"
+msgstr "Dodaj do Ulubionych"
+
+msgid "IDS_MUSIC_OPT_EDIT_TITLE"
+msgstr "Edytuj tytuł"
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_PERSONAL_STORAGE"
+msgstr "Usuń z pamięci osobistej"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FOLDERS_WILL_BE_SHOWN"
+msgstr "Katalogi zostaną wyświetlone po pobraniu utworów"
+
+msgid "IDS_MUSIC_BODY_SETTINGS_VOLUME"
+msgstr "Głośność"
+
+msgid "IDS_MUSIC_BODY_REPEAT_OFF"
+msgstr "Powtarzanie wyłączone"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_REPEAT_ALL"
+msgstr "Powtórz wszystko"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_OFF"
+msgstr "Wyłącz kolejność losową"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_ON"
+msgstr "Włącz kolejność losową"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST"
+msgstr "Moja lista odtwarzania"
+
+msgid "IDS_MUSIC_MBODY_DEFAULT_PLAYLISTS"
+msgstr "Domyślne listy odtwarz."
+
+msgid "IDS_MUSIC_BODY_DETAILS_RECORDING_DATE"
+msgstr "Data nagrania"
+
+msgid "IDS_MUSIC_OPT_ALBUM_ART_ABB"
+msgstr "Okład.alb."
+
+msgid "IDS_MUSIC_BODY_1_GENRE"
+msgstr "Gatunków: 1"
+
+msgid "IDS_MUSIC_BODY_PD_FOLDERS"
+msgstr "Katalogów: %d"
+
+msgid "IDS_MUSIC_BODY_1_FOLDER"
+msgstr "Katalogów: 1"
+
+msgid "IDS_MUSIC_BODY_1_ARTIST"
+msgstr "Wykonawców: 1"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_M_MUSIC"
+msgstr "1 album"
+
+msgid "IDS_MUSIC_BODY_1_PLAYLIST"
+msgstr "List odtwarzania: 1"
+
+msgid "IDS_MUSIC_BODY_MUSIC_PLAYER"
+msgstr "Odtwarzacz muzyki"
+
+msgid "IDS_MUSIC_BUTTON_MOVE"
+msgstr "Przenieś"
+
+msgid "IDS_MUSIC_BUTTON_AUTO_RECOMMENDATIONS"
+msgstr "Automatyczne zalecenia"
+
+msgid "IDS_MUSIC_BUTTON_FROM_THE_BEGINNING"
+msgstr "Od początku"
+
+msgid "IDS_MUSIC_HEADER_SUGGESTIONS_FOR_YOU"
+msgstr "Sugestie dla Ciebie"
+
+msgid "IDS_MUSIC_OPT_SAVE"
+msgstr "Zapisz"
+
+msgid "IDS_MUSIC_TAB4_BASIC_M_EQUALIZING"
+msgstr "Podstawowy"
+
+msgid "IDS_MUSIC_BODY_INSTRUMENT"
+msgstr "Instrument"
+
+msgid "IDS_MUSIC_BODY_TREBLE_M_EQUALISER"
+msgstr "Tony wysokie"
+
+msgid "IDS_MUSIC_BODY_BASS_M_EQUALISER"
+msgstr "Tony niskie"
+
+msgid "IDS_MUSIC_BODY_NO_EFFECTS_ARE_APPLIED_IN_THIS_MODE_ABB"
+msgstr "W tym trybie nie są stosowane żadne efekty."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_TIMBRE_OF_A_TUBE_AMP_ABB"
+msgstr "Symuluje barwę wzmacniacza lampowego."
+
+msgid "IDS_MUSIC_OPT_TUBE_AMP_EFFECT"
+msgstr "Efekt wzmacniacza lampowego"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_EFFECT_OF_VIRTUAL_71_CHANNEL_SURROUND_SOUND_ABB"
+msgstr "Symuluje efekt wirtualnego dźwięku przestrzennego 7.1."
+
+msgid "IDS_MUSIC_HEADER_SMALL_ROOM_M_REVERB_ABB"
+msgstr "Małe pomieszcz."
+
+msgid "IDS_MUSIC_HEADER_LARGE_ROOM_M_REVERB_ABB"
+msgstr "Duże pomieszcz."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_LARGE_ROOM_EG_A_THEATRE_ABB"
+msgstr "Symuluje pogłos dużego pomieszczenia, na przykład teatru."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_CONCERT_HALL_ABB"
+msgstr "Symuluje pogłos sali koncertowej."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_SMALL_SPACE_EG_A_STUDIO_ABB"
+msgstr "Symuluje pogłos małej przestrzeni, na przykład studia."
+
+msgid "IDS_MUSIC_BUTTON_3D_CHN"
+msgstr "3D"
+
+msgid "IDS_MUSIC_BODY_CLARITY_M_SOUNDEFFECT"
+msgstr "Czystość"
+
+msgid "IDS_MUSIC_BUTTON_RESET"
+msgstr "Zeruj"
+
+msgid "IDS_MUSIC_TAB_YEARS"
+msgstr "Lata"
+
+msgid "IDS_MUSIC_TAB_GENRES"
+msgstr "Rodzaje"
+
+msgid "IDS_MUSIC_TAB_COMPOSERS"
+msgstr "Kompozytorzy"
+
+msgid "IDS_MUSIC_TAB_ALL_TRACKS"
+msgstr "Wszystkie utwory"
+
+msgid "IDS_MUSIC_SK3_GO_TO_QUICK_LIST"
+msgstr "Idź do ulubion."
+
+msgid "IDS_MUSIC_SK3_FIND"
+msgstr "Wyszukaj"
+
+msgid "IDS_MUSIC_SK3_ADD_TO_QUICK_LIST"
+msgstr "Dod. do ulubion."
+
+msgid "IDS_MUSIC_POP_UNAUTHORISED_VIDEO_FILE_FOR_TV_OUT"
+msgstr "Nieuwierzytelniony film wideo na wyjściu TV"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_CREATE_MAXIMUM_NUMBER_OF_PLAYLISTS_REACHED"
+msgstr "Nie można utworzyć. Osiągnięto maksymalną liczbę list odtwarzania."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTING_BLUETOOTH_HEADSET"
+msgstr "Nie można regulować głośności przy podłączonej słuchawce Bluetooth."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTED_TO_BLUETOOTH_HEADSET"
+msgstr "Nie można regulować głośności przy podłączonych słuchawkach Bluetooth."
+
+msgid "IDS_MUSIC_POP_STOP_MUSIC_PLAYER_Q"
+msgstr "Zatrzymać Odtwarzacz muzyki?"
+
+msgid "IDS_MUSIC_POP_PLEASE_EXIT_SILENT_MODE"
+msgstr "Wyłącz tryb cichy."
+
+msgid "IDS_MUSIC_POP_NETWORK_FAILURE"
+msgstr "Błąd sieci"
+
+msgid "IDS_MUSIC_POP_MEMORY_CARD_LOADED"
+msgstr "Załadowano kartę pamięci."
+
+msgid "IDS_MUSIC_POP_DEVICE_SETTINGS_ERROR"
+msgstr "Błąd ustawień urządzenia"
+
+msgid "IDS_MUSIC_POP_COULD_NOT_FIND_A_MATCH_FOR_THE_SONG"
+msgstr "Nie znaleziono wyników odpowiadających temu utworowi."
+
+msgid "IDS_MUSIC_POP_BUFFERING_MSTATUS"
+msgstr "Buforowanie"
+
+msgid "IDS_MUSIC_POP_BT_HEADSET_ONLY_SUPPORTS_NORMAL_EFFECTS_SETTING"
+msgstr "Zestaw słuchawkowy BT nie obsługuje efektów."
+
+msgid "IDS_MUSIC_POP_APPLICATION_WILL_BE_CLOSED"
+msgstr "Aplikacja zostanie zamknięta."
+
+msgid "IDS_MUSIC_POP_ADDED_GO_TO_WISH_LIST_Q"
+msgstr "Dodano. Przejść do listy życzeń?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_THE_SERVICE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "Dostęp do tej usługi może być płatny. Kontynuować?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_STORE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "Dostęp do sklepu może być płatny. Kontynuować?"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_ONLY_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES"
+msgstr "Podłącz słuchawki lub słuchawkę Bluetooth, aby korzystać z dźwięku przestrzennego 5.1."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "Podłącz słuchawki, aby korzystać z dźwięku przestrzennego 5.1."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECTS_NOT_SUPPORTED_BY_SPEAKER"
+msgstr "Efekty dźwięku przestrzennego 5.1 nie są obsługiwane przez głośnik."
+
+msgid "IDS_MUSIC_OPT_VIEW_BY_COVER_ART"
+msgstr "Sortuj wg okładki"
+
+msgid "IDS_MUSIC_OPT_SEND_TRACK"
+msgstr "Wyślij utwór"
+
+msgid "IDS_MUSIC_OPT_RATE_TRACK"
+msgstr "Oceń utwór"
+
+msgid "IDS_MUSIC_OPT_PLAYLIST_MOVE_TRACK_IN_PLAYLIST"
+msgstr "Zmień kolejność"
+
+msgid "IDS_MUSIC_OPT_OPENPLAYLIST_CURRENT"
+msgstr "Bieżące"
+
+msgid "IDS_MUSIC_OPT_DELETE_PLAYLIST"
+msgstr "Usuń listę odtwarzania"
+
+msgid "IDS_MUSIC_OPT_BACKGROUND_PLAYING"
+msgstr "Granie w tle"
+
+msgid "IDS_MUSIC_HEADER_EFFECTS"
+msgstr "Efekty"
+
+msgid "IDS_MUSIC_BUTTON_BUY_NOW"
+msgstr "Kup"
+
+msgid "IDS_MUSIC_BODY_WOW_HD"
+msgstr "Wow HD"
+
+msgid "IDS_MUSIC_BODY_WISHLIST"
+msgstr "Lista życzeń"
+
+msgid "IDS_MUSIC_BODY_WIDE"
+msgstr "Wide"
+
+msgid "IDS_MUSIC_BODY_WHA_WHA"
+msgstr "Wha-wha"
+
+msgid "IDS_MUSIC_BODY_VIBE_WOOFER"
+msgstr "Głośnik niskotonowy wibracji"
+
+msgid "IDS_MUSIC_BODY_TREMOLO"
+msgstr "Tremolo"
+
+msgid "IDS_MUSIC_BODY_TAP_TWICE_TO_PLAY_PAUSE_MUSIC"
+msgstr "Dwukrotnie dotknij, aby odtworzyć/wstrzymać utwór."
+
+msgid "IDS_MUSIC_BODY_SHARE_TRACK_VIA_BLUETOOTH"
+msgstr "Udostępnij utwór za pomocą Bluetooth"
+
+msgid "IDS_MUSIC_BODY_SETUPWIZARD_WELCOME_TO_THE_MUSIC_SETUP_WIZARD_CONTINUE_Q"
+msgstr "Witamy w kreatorze konfiguracji muzyki.\nKolejne ekrany ułatwią skonfigurowanie telefonu. Kontynuować?"
+
+msgid "IDS_MUSIC_BODY_QUICK_LIST"
+msgstr "Szybka lista"
+
+msgid "IDS_MUSIC_BODY_PLAYINGSETTINGS_SOUND_EFFECTS"
+msgstr "Equalizer"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_ALL"
+msgstr "Wszystkie"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_1"
+msgstr "1"
+
+msgid "IDS_MUSIC_BODY_PLAYERSETTINGS_VOLUME"
+msgstr "Głośność"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_SELECTED"
+msgstr "Wybranych utworów: %d."
+
+msgid "IDS_MUSIC_BODY_NO_PODCASTS"
+msgstr "Brak podcastów"
+
+msgid "IDS_MUSIC_BODY_FIND_SIMILAR"
+msgstr "Znajdź podobne"
+
+msgid "IDS_MUSIC_BODY_BACKGROUND_PLAY"
+msgstr "Granie w tle"
+
+msgid "IDS_MUSIC_BODY_51_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "Dźwięk przestrzenny 5.1 można włączyć tylko wtedy, gdy efekty dźwiękowe są wyłączone."
+
+msgid "IDS_MUSIC_TAB4_PODCASTS"
+msgstr "Podcasty"
+
+msgid "IDS_MUSIC_SK2_EDIT_IMAGE"
+msgstr "Edytuj obraz"
+
+msgid "IDS_MUSIC_POP_PLAYING_ANY_SOUNDS_WILL_STOP_AND_SAVE_YOUR_VOICE_RECORDING_PLAY_Q"
+msgstr "Odtworzenie dowolnych dźwięków spowoduje zatrzymanie i zapisanie nagrywania głosu. Odtworzyć?"
+
+msgid "IDS_MUSIC_POP_MAXIMUM_NUMBER_OF_ITEMS_HPD_SELECTED"
+msgstr "Wybrano maksymalną liczbę elementów (%d)."
+
+msgid "IDS_MUSIC_POP_BLUETOOTH_DISCONNECTED"
+msgstr "Przerwano połączenie Bluetooth."
+
+msgid "IDS_MUSIC_POP_5_1_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "Dźwięk przestrzenny 5.1 można włączyć tylko wtedy, gdy efekty dźwiękowe są wyłączone."
+
+msgid "IDS_MUSIC_OPT_TAKE_PICTURE"
+msgstr "Zrób zdjęcie"
+
+msgid "IDS_MUSIC_OPT_SHOW_MUSIC_VIEW_ABB"
+msgstr "Pokaż widok muzyki"
+
+msgid "IDS_MUSIC_OPT_PAUSE"
+msgstr "Pauza"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALBUM"
+msgstr "Odtwórz album"
+
+msgid "IDS_MUSIC_OPT_LIST_BY"
+msgstr "Sortuj według"
+
+msgid "IDS_MUSIC_OPT_HISTORY"
+msgstr "Historia"
+
+msgid "IDS_MUSIC_OPT_HIDE_MUSIC_VIEW_ABB"
+msgstr "Ukryj widok muzyki"
+
+msgid "IDS_MUSIC_OPT_FIND_TAG"
+msgstr "Znajdź tag"
+
+msgid "IDS_MUSIC_OPT_DROPBOX_CONTENT_ABB"
+msgstr "Zawart. w Dropbox"
+
+msgid "IDS_MUSIC_OPT_CONTENT_ON_PHONE_ABB"
+msgstr "Zawart. w telef."
+
+msgid "IDS_MUSIC_OPT_CHANGE_IMAGE"
+msgstr "Zmień obraz"
+
+msgid "IDS_MUSIC_HEADER_DELETE_DROPBOX_DATA_ABB"
+msgstr "Usuń dane Dropbox"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_STREAM_YOUR_MUSIC_TO_DEVICES_USING_ALLSHARE"
+msgstr "Możesz przesyłać muzykę strumieniowo do urządzeń przez AllShare."
+
+msgid "IDS_MUSIC_BODY_VALIDITY"
+msgstr "Ważność"
+
+msgid "IDS_MUSIC_BODY_TYPE_CNOUN"
+msgstr "Typ"
+
+msgid "IDS_MUSIC_BODY_THIS_WILL_DELETE_THE_FILE_FROM_THE_SERVER_AND_ANY_CONNECTED_DEVICES_AS_WELL"
+msgstr "Spowoduje to usunięcie pliku z serwera oraz wszystkich podłączonych urządzeń."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_ARTISTS"
+msgstr "Artyści"
+
+msgid "IDS_MUSIC_BODY_PLAYINGDETAILS_ALBUM_ART"
+msgstr "Okładka"
+
+msgid "IDS_MUSIC_BODY_OTHER_CONTENTS"
+msgstr "Inna zawartość"
+
+msgid "IDS_MUSIC_BODY_NAME_TOO_LONG"
+msgstr "Zbyt długa nazwa."
+
+msgid "IDS_MUSIC_BODY_MUSIC_CLARITY"
+msgstr "Muzyka"
+
+msgid "IDS_MUSIC_BODY_HIGH_VOLUMES_MAY_HARM_YOUR_HEARING_IF_YOU_LISTEN_FOR_A_LONG_TIME"
+msgstr "Słuchanie muzyki przy wysokim ustawieniu głośności przez długi czas może spowodować uszkodzenie słuchu."
+
+msgid "IDS_MUSIC_BODY_AVAILABLE_USES"
+msgstr "Dostępne zastosowania"
+
+msgid "IDS_MUSIC_TPOP_SOUND_EFFECTS_ONLY_AVAILABLE_WHILE_HEADPHONES_CONNECTED"
+msgstr "Efekty dźwiękowe dostępne tylko po podłączeniu słuchawek."
+
+msgid "IDS_ST_OPT_ADD_TO_YOUR_PERSONAL_STORAGE"
+msgstr "Dodaj do pamięci osobistej"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_YOUR_PERSONAL_STORAGE"
+msgstr "Usuń z pamięci osobistej"
+
+msgid "IDS_ST_BODY_CONTEXTUAL_POP_UP_T_TALKBACK"
+msgstr "Wyskakujące okno kontekstowe"
+
+msgid "IDS_ST_BODY_A_CONTEXTUAL_POP_UP_IS_OPEN_DOUBLE_TAP_TO_CLOSE_IT_T_TALKBACK"
+msgstr "Wyskakujące okno kontekstowe jest otwarte. Dotknij dwukrotnie, aby je zamknąć."
+
+msgid "IDS_ST_BODY_REPEAT_ONE"
+msgstr "Powtórz jeden"
+
+msgid "IDS_ST_BUTTON_MOVING_ING"
+msgstr "Przenoszenie..."
+
+msgid "IDS_HS_BODY_SELECT_UP_TO_PD_ITEMS"
+msgstr "Wybierz maksymalnie elementów: %d"
+
+msgid "IDS_CAM_BODY_TAB_T_TTS"
+msgstr "Karta"
+
+msgid "IDS_DLNA_OPT2_CHANGE_PLAYER"
+msgstr "Zmień odtwarzacz"
+
+msgid "IDS_BR_SK_TABS"
+msgstr "Karty"
+
+msgid "IDS_MF_BODY_DROPBOX_ABB"
+msgstr "Dropbox"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Automatyczne rekomendacje mogą wywołać fragmenty plików dźwiękowych."
+
+msgid "IDS_MF_BODY_PARENT_RATING"
+msgstr "Ocena rodzica"
+
+msgid "IDS_VR_POP_FILE_NOT_FOUND"
+msgstr "Nie znaleziono pliku."
+
+msgid "IDS_PB_POP_CALLER_RINGTONE_SAVED"
+msgstr "Dzwonek rozmówcy zapisany."
+
+msgid "IDS_MUSIC_BODY_BIT_DEPTH"
+msgstr "Głębia bitowa"
+
+msgid "IDS_MUSIC_BODY_SIZE"
+msgstr "Rozmiar"
+
+msgid "IDS_MF_HEADER_PD_SELECTED"
+msgstr "Wybrano %d"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_THIS_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Utwory zostaną tu wyświetlone po dodaniu ich do tego urządzenia."
+
+msgid "IDS_MUSIC_TMBODY_LENGTH"
+msgstr "Długość"
+
+msgid "IDS_MUSIC_POP_1_FOLDER_WILL_BE_DELETED"
+msgstr "Usuniętych zostanie katalogów: 1."
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Brak zawartości"
+
+msgid "IDS_MUSIC_ITAB4_FOLDERS"
+msgstr "Foldery"
+
+msgid "IDS_MUSIC_HEADER_MY_PLAYLISTS_ABB"
+msgstr "Moje listy odtwarzania"
+
+msgid "IDS_MP_BODY_SOUND_PLAYER"
+msgstr "Odtwarzacz muzyki"
+
+msgid "IDS_MUSIC_OPT_SETTINGS"
+msgstr "Ustawienia"
+
+msgid "IDS_MUSIC_POP_DELETING"
+msgstr "Usuwanie..."
+
+msgid "IDS_MUSIC_POP_1_TRACK_WILL_BE_DELETED"
+msgstr "Utworów, które zostaną usunięte: 1."
+
+msgid "IDS_MUSIC_POP_ALL_TRACKS_WILL_BE_DELETED"
+msgstr "Wszystkie utwory zostaną usunięte"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_WILL_BE_DELETED"
+msgstr "Utworów, które zostaną usunięte: %d."
+
+msgid "IDS_MUSIC_POP_1_PLAYLIST_WILL_BE_DELETED"
+msgstr "Zostanie usuniętych list odtwarzania: 1."
+
+msgid "IDS_MUSIC_POP_PD_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Liczba list odtwarzania, które zostaną usunięte: %d."
+
+msgid "IDS_MUSIC_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "Liczba albumów, które zostaną usunięte: %d."
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS_WILL_BE_DELETED"
+msgstr "Liczba wykonawców, którzy zostaną usunięci: %d."
+
+msgid "IDS_MUSIC_POP_PD_FOLDERS_WILL_BE_DELETED"
+msgstr "Zostanie usuniętych katalogów: %d."
+
+msgid "IDS_ST_POP_CONNECTION_FAILED"
+msgstr "Błąd łączenia"
+
+msgid "IDS_MUSIC_BODY_CLASSIC"
+msgstr "Classic"
+
+msgid "IDS_MUSIC_BODY_ROCK"
+msgstr "Rock"
+
+msgid "IDS_MUSIC_BODY_JAZZ"
+msgstr "Jazz"
+
+msgid "IDS_MUSIC_BODY_POP"
+msgstr "Pop"
+
+msgid "IDS_MUSIC_BODY_AUTO"
+msgstr "Auto"
+
+msgid "IDS_MUSIC_POP_CURRENT_SOUND_EFFECT_NOT_SUPPORTED_BY_HDMI"
+msgstr "Bieżący efekt dźwiękowy nie jest obsługiwany przez urządzenie HDMI."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_BLUETOOTH"
+msgstr "Efekty dźwiękowe nie są obsługiwane przez łącze Bluetooth."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_LINE_OUT"
+msgstr "Efekty dźwiękowe nie są obsługiwane przez wyjście liniowe."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_HDMI"
+msgstr "Efekty dźwiękowe nie są obsługiwane przez wyjście HDMI."
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EFFECT"
+msgstr "Wzmacniacz lampowy"
+
+msgid "IDS_MUSIC_BODY_CUSTOM"
+msgstr "Niestand."
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EQUALISER_ABB"
+msgstr "Wzmacniacz lamp."
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "Utworów dodanych do listy odtwarzania: %d."
+
+msgid "IDS_MUSIC_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "Utworów dodanych do listy odtwarzania: 1."
+
+msgid "IDS_MUSIC_HEADER_ADD_TRACKS_TO_PLAYLIST_ABB"
+msgstr "Dod. utw. do listy odtwarzania"
+
+msgid "IDS_MUSIC_POP_PS_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "%s jest już w użyciu. Wprowadź inną nazwę."
+
+msgid "IDS_MUSIC_TMBODY_DATE_OF_RECORDING"
+msgstr "Data nagrania"
+
+msgid "IDS_MBP_TPOP_TRACK_SET_AS_ALARM_TONE"
+msgstr "Utwór ustawiono jako sygnał alarmu."
+
+msgid "IDS_MUSIC_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Nie znaleziono wyników"
+
+msgid "IDS_MUSIC_OPT_DEFAULT_RINGTONE_ABB"
+msgstr "Domyślny dzwonek"
+
+msgid "IDS_MUSIC_TPOP_TRACK_SET_AS_CALLER_RINGTONE"
+msgstr "Utwór ustawiono jako dzwonek rozmówcy."
+
+msgid "IDS_MP_TPOP_TRACK_SET_AS_RINGTONE"
+msgstr "Utwór ustawiono jako dzwonek."
+
+msgid "IDS_DLNA_BODY_ADD_TO_NOW_PLAYING_LIST"
+msgstr "Dodaj do listy Odtwarzany teraz"
+
+msgid "IDS_MUSIC_TPOP_EQUALISER_SETTINGS_WILL_BE_APPLIED_WHILE_PLAYING_MUSIC"
+msgstr "Ustawienia korektora zostaną zastosowane podczas odtwarzania muzyki."
+
+msgid "IDS_ST_BODY_ALERT"
+msgstr "Alarm"
+
+msgid "IDS_IV_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 album zostanie usunięty."
+
+msgid "IDS_MUSIC_OPT_SD_CARD"
+msgstr "Karta pamięci"
+
+msgid "IDS_MUSIC_SBODY_DEVICE_STORAGE"
+msgstr "Pamięć urządzenia"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE"
+msgstr "Nazwa listy odtwarzania jest już w użyciu."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_PD"
+msgstr "Lista odtwarzania %d"
+
+msgid "IDS_MUSIC_HEADER_CREATE"
+msgstr "Tworzenie"
+
+msgid "IDS_MUSIC_HEADER_EQUALISER_PRESET_ABB"
+msgstr "Zaprogramowanie korektora"
+
+msgid "IDS_MUSIC_OPT_AUTOMATIC_M_EQUALIZER_EFFECT"
+msgstr "Automatyczny"
+
+msgid "IDS_MUSIC_OPT_CLASSICAL_M_EQUALIZER_EFFECT"
+msgstr "Klasyczny"
+
+msgid "IDS_MUSIC_HEADER_ENVIRONMENT_EFFECT_ABB"
+msgstr "Efekt środowiska"
+
+msgid "IDS_VIDEO_POP_THE_FILE_TYPE_IS_NOT_SUPPORTED"
+msgstr "Ten typ pliku nie jest obsługiwany."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_CREATE_PLAYLISTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Listy odtwarzania będą tutaj widoczne po ich utworzeniu."
+
+msgid "IDS_ST_HEADER_SELECT_AUDIO_DEVICE_ABB"
+msgstr "Wybór urządzenia audio"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "Ta nazwa listy odtwarzania jest już w użyciu. Wprowadź inną nazwę."
+
+msgid "IDS_MUSIC_HEADER_SOUNDALIVE_ABB3"
+msgstr "SoundAlive"
+
+msgid "IDS_MUSIC_OPT_NOW_PLAYING_LIST"
+msgstr "Obecnie odtwarzana lista"
+
+msgid "IDS_MUSIC_OPT_SHOW_LYRICS"
+msgstr "Wyświetl tekst"
+
+msgid "IDS_MUSIC_OPT_HIDE_LYRICS"
+msgstr "Ukryj tekst"
+
+msgid "IDS_MUSIC_TPOP_UNABLE_TO_PLAY_MUSIC_DURING_CALLS"
+msgstr "Nie można odtwarzać muzyki podczas połączeń."
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Usuń"
+
+msgid "IDS_MUSIC_HEADER_SELECT"
+msgstr "Wybór"
+
+msgid "IDS_TPLATFORM_OPT_NFC"
+msgstr "NFC"
+
+msgid "IDS_MUSIC_HEADER_UNABLE_TO_PLAY_TRACK"
+msgstr "Nie można odtworzyć utworu"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "GOTOWE"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ANULUJ"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "USUŃ"
+
+msgid "IDS_MUSIC_POP_RENAME"
+msgstr "Zmień nazwę"
+
+msgid "IDS_MUSIC_OPT_MESSAGE"
+msgstr "Wiadomość"
+
+msgid "IDS_MUSIC_SK_OK"
+msgstr "OK"
+
+msgid "IDS_MUSIC_SK_CANCEL"
+msgstr "Anuluj"
+
+msgid "IDS_MUSIC_BUTTON_REFRESH"
+msgstr "Odśwież"
+
+msgid "IDS_MUSIC_BODY_SELECT_ALL"
+msgstr "Zaznacz wszystko"
+
+msgid "IDS_MUSIC_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_MUSIC_POP_DELETED"
+msgstr "Usunięto."
+
+msgid "IDS_MUSIC_OPT_STOP"
+msgstr "Zatrzymaj"
+
+msgid "IDS_MUSIC_BODY_UNKNOWN"
+msgstr "Nieznany"
+
+msgid "IDS_MUSIC_BODY_TITLE"
+msgstr "Tytuł"
+
+msgid "IDS_MUSIC_OPT_SENDVIA_EMAIL"
+msgstr "E-mail"
+
+msgid "IDS_MUSIC_OPT_BLUETOOTH"
+msgstr "Bluetooth"
+
+msgid "IDS_MUSIC_HEADER_DOWNLOAD"
+msgstr "Pobierz"
+
+msgid "IDS_MUSIC_POP_LOW_BATTERY"
+msgstr "Bateria rozładowana."
+
+msgid "IDS_MUSIC_HEADER_AUDIO_DEVICE"
+msgstr "Urządzenie audio"
+
+msgid "IDS_MUSIC_HEADER_DETAILS"
+msgstr "Szczegóły"
+
+msgid "IDS_MUSIC_OPT_END"
+msgstr "Koniec"
+
+msgid "IDS_MUSIC_OPT_EDIT"
+msgstr "Edytuj"
+
+msgid "IDS_CAM_HEADER_UPDATED"
+msgstr "Zaktualizowano."
+
+msgid "IDS_MUSIC_POP_REMOVED"
+msgstr "Usunięto."
+
+msgid "IDS_MUSIC_OPT_SELECTED"
+msgstr "Wybrany"
+
+msgid "IDS_ST_BUTTON_SCAN"
+msgstr "Skanuj"
+
+msgid "IDS_MF_POP_ERROR"
+msgstr "Błąd"
+
+msgid "IDS_MF_POP_MEMORY_FULL"
+msgstr "Pamięć pełna."
+
+msgid "IDS_MUSIC_MBODY_QUEUE"
+msgstr "Kolejka"
+
+msgid "IDS_MUSIC_OPT_VOLUME"
+msgstr "Głośność"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE"
+msgstr "Kolejność losowa"
+
+msgid "IDS_MUSIC_OPT_REPEAT"
+msgstr "Powtórz"
+
+msgid "IDS_COM_BODY_DETAILS"
+msgstr "Details"
+
+msgid "IDS_COM_BODY_DETAILS_TITLE"
+msgstr "Title"
+
+msgid "IDS_COM_BODY_EDIT"
+msgstr "Edit"
+
+msgid "IDS_COM_BODY_EMAIL"
+msgstr "Email"
+
+msgid "IDS_COM_BODY_END"
+msgstr "End"
+
+msgid "IDS_COM_BODY_FOLDERS"
+msgstr "Folders"
+
+msgid "IDS_COM_BODY_GALLERY"
+msgstr "Gallery"
+
+msgid "IDS_COM_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_COM_BODY_LOADING"
+msgstr "Loading..."
+
+msgid "IDS_COM_BODY_LOW_BATTERY"
+msgstr "Low battery."
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Message"
+
+msgid "IDS_COM_BODY_MUSIC"
+msgstr "Music"
+
+msgid "IDS_COM_BODY_NFC"
+msgstr "NFC"
+
+msgid "IDS_COM_BODY_NO_CONTENTS"
+msgstr "No content"
+
+msgid "IDS_COM_BODY_PAUSE"
+msgstr "Pause"
+
+msgid "IDS_COM_BODY_PD_SELECTED"
+msgstr "%d selected."
+
+msgid "IDS_COM_BODY_PREVIOUS"
+msgstr "Previous"
+
+msgid "IDS_COM_BODY_RESET_A"
+msgstr "Reset"
+
+msgid "IDS_COM_BODY_SELECTED"
+msgstr "Selected"
+
+msgid "IDS_COM_BODY_SELECT_ALL"
+msgstr "Select all"
+
+msgid "IDS_COM_BODY_SETTINGS"
+msgstr "Settings"
+
+msgid "IDS_COM_BODY_TIME"
+msgstr "Time"
+
+msgid "IDS_COM_BODY_UNABLE_TO_ADD"
+msgstr "Unable to add."
+
+msgid "IDS_COM_BODY_UNKNOWN"
+msgstr "Unknown"
+
+msgid "IDS_COM_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_COM_BUTTON_SCAN"
+msgstr "Scan"
+
+msgid "IDS_COM_BUTTON_SHARE"
+msgstr "Share"
+
+msgid "IDS_COM_HEADER_AUDIO_DEVICE_ABB"
+msgstr "Audio device"
+
+msgid "IDS_COM_OPT_ADDED"
+msgstr "Added."
+
+msgid "IDS_COM_OPT_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_POP_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_POP_CONNECTION_FAILED"
+msgstr "Connection failed."
+
+msgid "IDS_COM_POP_DELETED"
+msgstr "Deleted."
+
+msgid "IDS_COM_POP_DELETE_Q"
+msgstr "Delete?"
+
+msgid "IDS_COM_POP_DONE"
+msgstr "Done"
+
+msgid "IDS_COM_POP_DOWNLOADING"
+msgstr "Downloading..."
+
+msgid "IDS_COM_POP_ERROR"
+msgstr "Error."
+
+msgid "IDS_COM_POP_FAILED"
+msgstr "Failed."
+
+msgid "IDS_COM_POP_FILE_NOT_EXIST"
+msgstr "This file does not exist."
+
+msgid "IDS_COM_POP_FILE_NOT_FOUND"
+msgstr "File not found."
+
+msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximum number of characters reached."
+
+msgid "IDS_COM_POP_MEMORY_FULL"
+msgstr "Memory full."
+
+msgid "IDS_COM_POP_REMOVED"
+msgstr "Removed."
+
+msgid "IDS_COM_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Unable to use during Mass storage mode."
+
+msgid "IDS_COM_POP_UPDATED"
+msgstr "Updated."
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_SK_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_SK_DOWNLOAD"
+msgstr "Download"
+
+msgid "IDS_COM_SK_NEW"
+msgstr "New"
+
+msgid "IDS_COM_SK_NEXT"
+msgstr "Next"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_SK_REFRESH"
+msgstr "Refresh"
+
+msgid "IDS_COM_SK_REMOVE"
+msgstr "Remove"
+
+msgid "IDS_COM_SK_SAVE"
+msgstr "Save"
+
+msgid "IDS_COM_SK_SELECT"
+msgstr "Select"
+
+msgid "IDS_COM_SK_SET"
+msgstr "Set"
+
+msgid "IDS_COM_SK_STOP"
+msgstr "Stop"
+
+
+msgid "IDS_MH_BODY_THE_PLAYLIST_NAME_PS_IS_ALREADY_IN_USE"
+msgstr "The playlist name %s is already in use."
+
+msgid "IDS_MH_BODY_TOTAL"
+msgstr "Total"
+
+msgid "IDS_MH_MBODY_RECENTLY_ADDED_M_SONG"
+msgstr "Recently added"
+
+msgid "IDS_MH_OPT_MORE_INFO_ABB"
+msgstr "More info"
+
+msgid "IDS_MH_POP_ALARM_TONE_SET"
+msgstr "Alarm tone set."
+
+msgid "IDS_MH_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 track added to playlist."
+
+msgid "IDS_MH_TPOP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d tracks added to playlist."
+
+msgid "IDS_MUSIC_OPT_RENAME"
+msgstr "Rename"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Unable to play during call."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Przekroczono maksymalny rozmiar plików."
+
+msgid "IDS_CAM_TPOP_UNABLE_TO_PLAY_MUSIC_WHILE_RECORDING_AUDIO_OR_VIDEO"
+msgstr "Nie można odtwarzać muzyki podczas nagrywania dźwięku lub filmów."
+
--- /dev/null
+msgid "IDS_ST_BODY_LOADING_ING"
+msgstr "Carregando..."
+
+msgid "IDS_GALLERY_OPT_PRIVATE_M_CONTENT"
+msgstr "Privado"
+
+msgid "IDS_MF_BODY_TIME"
+msgstr "Hora"
+
+msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
+msgstr "Este arquivo não existe."
+
+msgid "IDS_MUSIC_POP_PHONE_RINGTONE"
+msgstr "Toque do telefone"
+
+msgid "IDS_MUSIC_BODY_DURATION"
+msgstr "Duração"
+
+msgid "IDS_MUSIC_BODY_MUSIC_LOCATION"
+msgstr "Local"
+
+msgid "IDS_MUSIC_BODY_SET_AS_M_RINGTONE"
+msgstr "Definir como"
+
+msgid "IDS_ST_OPT_ADD_TO_PERSONAL_PAGE"
+msgstr "Adicionar à pagina pessoal"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_PERSONAL_PAGE_ABB"
+msgstr "Remover da página pessoal"
+
+msgid "IDS_ST_POP_MOVE_TO_NORMAL_STORAGE"
+msgstr "Mover para armazenamento normal"
+
+msgid "IDS_ST_POP_MOVE_TO_PERSONAL_STORAGE"
+msgstr "Mover para armazenamento pessoal"
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEMS_WILL_BE_MOVED_TO_PS"
+msgstr "Os itens selecionados serão movidos para %s."
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEM_WILL_BE_MOVED_TO_PS"
+msgstr "O item selecionado será movido para %s."
+
+msgid "IDS_VR_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Impossível utilizar durante o modo de armazenamento de massa."
+
+msgid "IDS_MUSIC_POP_RINGTONE_ADDED"
+msgstr "Toque adicionado."
+
+msgid "IDS_CAM_BODY_BUTTON_T_TTS"
+msgstr "Tecla"
+
+msgid "IDS_MUSIC_HEADER_SELECT_ITEMS"
+msgstr "Selecionar itens"
+
+msgid "IDS_ST_BODY_ADVANCED"
+msgstr "Avançado"
+
+msgid "IDS_ST_SK_PREVIOUS"
+msgstr "Anterior"
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Fechar"
+
+msgid "IDS_MUSIC_POP_ADDED"
+msgstr "Adicionado."
+
+msgid "IDS_MUSIC_POP_FAILED"
+msgstr "Falhou."
+
+msgid "IDS_MUSIC_BODY_NO_SEARCH_RESULTS"
+msgstr "Nenhum resultado encontrado"
+
+msgid "IDS_MUSIC_SK_DONE"
+msgstr "Concluir"
+
+msgid "IDS_MUSIC_BODY_NO_ITEMS"
+msgstr "Sem itens"
+
+msgid "IDS_BR_OPT_ADD_TO_HOME"
+msgstr "Adicionar ao início"
+
+msgid "IDS_BR_SK_NEXT"
+msgstr "Próximo"
+
+msgid "IDS_BR_BODY_DOWNLOADING_ING"
+msgstr "Baixando…"
+
+msgid "IDS_IV_BODY_FAVOURITE"
+msgstr "Favorito"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_PERSONAL_STORAGE"
+msgstr "Adicionar ao armazenamento pessoal"
+
+msgid "IDS_DLNA_POP_DISCONNECTED_FROM_PS_CHECK_THE_NETWORK_STATUS_AND_THE_CONNECTED_DEVICE"
+msgstr "Desconectado de %s. Verifique o status da rede e do dispositivo conectado."
+
+msgid "IDS_DLNA_OPT_VIA_SCREEN_MIRRORING_ABB"
+msgstr "Via Screen Mirroring"
+
+msgid "IDS_DLNA_OPT_VIA_HOME_NETWORK_ABB"
+msgstr "Via rede doméstica"
+
+msgid "IDS_IV_POP_ENTRY_IS_EMPTY"
+msgstr "Entrada vazia."
+
+msgid "IDS_FM_POP_UNAVAILABLE_DURING_CALL"
+msgstr "Indisponível durante chamada."
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Número máximo de caracteres atingido."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_SHARE_DRM_FILE"
+msgstr "Impossível compartilhar arquivo DRM."
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "A remover..."
+
+msgid "IDS_MUSIC_HEADER_PD_DEVICES"
+msgstr "%d dispositivos"
+
+msgid "IDS_MUSIC_BUTTON_ENABLE_MOTION"
+msgstr "Ativar mov."
+
+msgid "IDS_MUSIC_BUTTON_DONT_ASK_AGAIN"
+msgstr "Não perguntar mais"
+
+msgid "IDS_MUSIC_BODY_NO_RESULTS_FOUND"
+msgstr "Nenhum resultado encontrado."
+
+msgid "IDS_VPL_OPT_HDMI"
+msgstr "HDMI"
+
+msgid "IDS_MUSIC_BODY_TURN_PHONE_OVER_TO_MUTE_INCOMING_CALLS_MESSAGE_ALERTS_AND_ALARMS"
+msgstr "Vire o telefone ao contrário para silenciar chamadas recebidas, alertas de mensagens e alarmes."
+
+msgid "IDS_ST_BODY_NONE"
+msgstr "Desativado"
+
+msgid "IDS_ST_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_ST_BODY_GALLERY"
+msgstr "Galeria"
+
+msgid "IDS_ST_BODY_DOUBLE_TAP_TO_MOVE_TO_CONTENT_T_TTS"
+msgstr "Toque duas vezes para mover o conteúdo."
+
+msgid "IDS_MUSIC_BODY_SURROUND"
+msgstr "Surround"
+
+msgid "IDS_MUSIC_OPT_LYRICS_ABB"
+msgstr "Letra"
+
+msgid "IDS_MUSIC_POP_AFTER_YOU_ADD_TRACKS_TO_MUSIC_ON_YOUR_MOBILE_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Após adicionar faixas para Músicas no seu dispositivo móvel, elas serão exibidas aqui."
+
+msgid "IDS_MUSIC_BODY_SAMPLING_RATE"
+msgstr "Taxa de amostragem"
+
+msgid "IDS_MUSIC_BODY_MARKED_AS_A_FAVOURITE"
+msgstr "Marcado como favorito."
+
+msgid "IDS_MUSIC_BODY_MUSIC"
+msgstr "Músicas"
+
+msgid "IDS_MUSIC_BODY_NOT_MARKED_AS_A_FAVOURITE"
+msgstr "Não marcado como favorito."
+
+msgid "IDS_MUSIC_HEADER_SEARCH_MUSIC_ABB"
+msgstr "Pesquisar música"
+
+msgid "IDS_MUSIC_POP_AUTO_RECOMMENDATION_DOES_NOT_SUPPORT_THIS_AUDIO_FILE"
+msgstr "A recomendação automática não suporta este arquivo de áudio."
+
+msgid "IDS_MUSIC_POP_SORRY_THE_PLAYER_DOES_NOT_SUPPORT_THIS_TYPE_OF_AUDIO_FILE"
+msgstr "Desculpe, o player não suporta este tipo de arquivo de áudio."
+
+msgid "IDS_MUSIC_BODY_FAVOURITES"
+msgstr "Favoritos"
+
+msgid "IDS_MUSIC_BODY_MOST_PLAYED"
+msgstr "Mais tocadas"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_ADDED"
+msgstr "Adic. recentemente"
+
+msgid "IDS_MUSIC_OPT_CREATE_PLAYLIST"
+msgstr "Criar lista de reprodução"
+
+msgid "IDS_MUSIC_OPT_REMOVE"
+msgstr "Remover"
+
+msgid "IDS_MUSIC_OPT_SETAS_CALLER_RINGTONE"
+msgstr "Toque para um contato"
+
+msgid "IDS_MUSIC_TAB4_ARTISTS"
+msgstr "Artistas"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD"
+msgstr "Impossível adicionar."
+
+msgid "IDS_MUSIC_POP_UNABLE_CREATE_PLAYLIST"
+msgstr "Impossível criar lista de reprodução."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_GET_TAG"
+msgstr "Impossível obter link."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_MORE_THAN_PD_MUSIC_FILE"
+msgstr "Impossível adicionar mais que %d arquivos de música."
+
+msgid "IDS_MUSIC_BODY_ALBUM"
+msgstr "Álbum"
+
+msgid "IDS_MUSIC_BODY_AUTHOR"
+msgstr "Autor"
+
+msgid "IDS_MUSIC_BODY_COPYRIGHT"
+msgstr "Copyright"
+
+msgid "IDS_MUSIC_BODY_CREATE_PLAYLIST"
+msgstr "Criar lista de reprodução"
+
+msgid "IDS_MUSIC_BODY_DESCRIPTION"
+msgstr "Descrição"
+
+msgid "IDS_MUSIC_BODY_FORMAT"
+msgstr "Formato"
+
+msgid "IDS_MUSIC_BODY_IMPOSSIBLE"
+msgstr "Impossível"
+
+msgid "IDS_MUSIC_BODY_NO_PLAYLISTS"
+msgstr "Nenhuma lista de reprodução"
+
+msgid "IDS_MUSIC_BODY_TRACK_NUMBER"
+msgstr "N° da faixa"
+
+msgid "IDS_MUSIC_POP_DELETE_Q"
+msgstr "Apagar?"
+
+msgid "IDS_MUSIC_POP_REMOVE_Q"
+msgstr "Remover?"
+
+msgid "IDS_MUSIC_POP_UNABLE_RENAME_PLAYLIST"
+msgstr "Impossível renomear a lista de reprodução."
+
+msgid "IDS_MUSIC_TAB4_ALBUMS"
+msgstr "Álbuns"
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Adicionando..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Excluir %d álbuns?"
+
+msgid "IDS_MUSIC_TAB4_PLAYLISTS"
+msgstr "List. reprodução"
+
+msgid "IDS_MUSIC_OPT_ADD"
+msgstr "Adicionar"
+
+msgid "IDS_MUSIC_BODY_BIOGRAPHY"
+msgstr "Biografia"
+
+msgid "IDS_MUSIC_BODY_CREDITS"
+msgstr "Créditos"
+
+msgid "IDS_MUSIC_BODY_DETAILS_MEADIA_INFO"
+msgstr "Informações"
+
+msgid "IDS_MUSIC_BODY_DISCOGRAPHY"
+msgstr "Discografia"
+
+msgid "IDS_MUSIC_BODY_LYRIC"
+msgstr "Letra"
+
+msgid "IDS_MUSIC_BODY_POSSIBLE"
+msgstr "Possível"
+
+msgid "IDS_MUSIC_BODY_REVIEW"
+msgstr "Rever"
+
+msgid "IDS_MUSIC_HEADER_TRACK_LIST"
+msgstr "Lista de faixas"
+
+msgid "IDS_MUSIC_BODY_ADD_TO_PLAYLIST"
+msgstr "Adic. à lista de reprodução"
+
+msgid "IDS_MUSIC_BODY_ARTIST"
+msgstr "Artista"
+
+msgid "IDS_MUSIC_BODY_FORWARDING"
+msgstr "Encaminhamento"
+
+msgid "IDS_MUSIC_BODY_RECORDED_DATE"
+msgstr "Date of recording"
+
+msgid "IDS_MUSIC_BODY_PLAYLISTS"
+msgstr "Listas de reprodução"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_PLAYED"
+msgstr "Tocadas recentemente"
+
+msgid "IDS_MUSIC_BODY_TRACK_LENGTH"
+msgstr "Duração"
+
+msgid "IDS_MUSIC_HEADER_NO_SONGS"
+msgstr "Nenhuma música"
+
+msgid "IDS_MUSIC_POP_THIS_TRACK_WILL_BE_DELETED"
+msgstr "Esta faixa será excluída."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_TRACKS_WILL_BE_DELETED"
+msgstr "As faixas selecionadas serão excluídas."
+
+msgid "IDS_MUSIC_POP_THIS_ARTIST_WILL_BE_DELETED"
+msgstr "Este artista será excluído."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ARTISTS_WILL_BE_DELETED"
+msgstr "Os artistas selecionados serão excluídos."
+
+msgid "IDS_MUSIC_POP_ALL_ARTISTS_WILL_BE_DELETED"
+msgstr "Todos os artistas serão excluídos."
+
+msgid "IDS_MUSIC_POP_THIS_FOLDER_WILL_BE_DELETED"
+msgstr "Esta pasta será apagada."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_FOLDERS_WILL_BE_DELETED"
+msgstr "As pastas selecionadas serão excluídas."
+
+msgid "IDS_MUSIC_POP_ALL_FOLDERS_WILL_BE_DELETED"
+msgstr "Todas as pastas serão excluídas."
+
+msgid "IDS_MUSIC_POP_THIS_ALBUM_WILL_BE_DELETED"
+msgstr "Este álbum será excluído."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ALBUMS_WILL_BE_DELETED"
+msgstr "Os álbuns selecionados serão excluídos."
+
+msgid "IDS_MUSIC_POP_ALL_ALBUMS_WILL_BE_DELETED"
+msgstr "Todos os álbuns serão excluídos."
+
+msgid "IDS_MUSIC_POP_THIS_PLAYLIST_WILL_BE_DELETED"
+msgstr "Esta lista de reprodução será apagada."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_PLAYLISTS_WILL_BE_DELETED"
+msgstr "As listas de reprodução selecionadas serão excluídas."
+
+msgid "IDS_MUSIC_POP_ALL_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Todas as listas de reprodução serão excluídas."
+
+msgid "IDS_MUSIC_HEADER_SONGS"
+msgstr "Músicas"
+
+msgid "IDS_MUSIC_OPT_REORDER"
+msgstr "Reordenar"
+
+msgid "IDS_MUSIC_OPT_SAVE_AS_PLAYLIST"
+msgstr "Salvar como lista de reprod."
+
+msgid "IDS_MUSIC_OPT_SETAS_ALARM_TONE"
+msgstr "Som do alarme"
+
+msgid "IDS_MUSIC_POP_NOTHING_SELECTED"
+msgstr "Nada selecionado."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Impossível reproduzir. Ocorreu um erro."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_UNSUPPORTED_FILETYPE"
+msgstr "Impossível reproduzir. Tipo de arquivo não suportado."
+
+msgid "IDS_MUSIC_SK_SHARE"
+msgstr "Compart."
+
+msgid "IDS_MUSIC_TAB4_CONDUCTORS"
+msgstr "Maestros"
+
+msgid "IDS_MUSIC_HEADER_SELECT_DEVICE"
+msgstr "Selecione dispositivo"
+
+msgid "IDS_MUSIC_SK_VIEW_AS"
+msgstr "Ver como"
+
+msgid "IDS_MUSIC_BODY_SOUNDEFFECTS_NORMAL"
+msgstr "Normal"
+
+msgid "IDS_MUSIC_BODY_USER"
+msgstr "Usuário"
+
+msgid "IDS_MUSIC_BODY_VOCAL_M_SOUNDEFFECT"
+msgstr "Vocal"
+
+msgid "IDS_MUSIC_MBODY_BASS_BOOST"
+msgstr "Amplificação de baixos"
+
+msgid "IDS_MUSIC_MBODY_TREBLE_BOOST"
+msgstr "Amplificação de agudos"
+
+msgid "IDS_MUSIC_BODY_CAFE_M_SOUNDEFFECT"
+msgstr "Café"
+
+msgid "IDS_MUSIC_OPT_VIRTUAL_71_CH"
+msgstr "7.1 ch Virtual"
+
+msgid "IDS_MUSIC_OPT_AFTER_15_MIN_ABB"
+msgstr "Após 15 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_30_MIN"
+msgstr "Após 30 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HOUR"
+msgstr "Após 1 hora"
+
+msgid "IDS_MUSIC_POP_AFTER_1_HOUR_30_MIN"
+msgstr "Após 1 hora e 30 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_2_HOURS"
+msgstr "Após 2 horas"
+
+msgid "IDS_MUSIC_BODY_MUSIC_AUTO_OFF"
+msgstr "Desligar música automaticamente"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES_ONLY"
+msgstr "Este efeito de som funciona apenas com fone de ouvido ou fone de ouvido Bluetooth."
+
+msgid "IDS_MUSIC_TAB4_MUSIC_SQUARE"
+msgstr "Salão de música"
+
+msgid "IDS_MUSIC_POP_NOT_ENOUGH_MUSIC_FILES_TO_PLAY_IN_MUSIC_SQUARE_AT_LEAST_PD_MUSIC_FILES_REQUIRED"
+msgstr "Não há arquivos de música suficientes para tocar no Salão de música. Pelo menos %d arquivos de música são necessários."
+
+msgid "IDS_MUSIC_BODY_PASSION_M_MOOD"
+msgstr "Paixão"
+
+msgid "IDS_MUSIC_BODY_CALM_M_ADJECTIVE"
+msgstr "Calmo"
+
+msgid "IDS_MUSIC_BODY_JOY_M_MOOD"
+msgstr "Alegria"
+
+msgid "IDS_MUSIC_BODY_LIBRARY_UPDATE"
+msgstr "Atualização de biblioteca"
+
+msgid "IDS_MUSIC_POP_UPDATE_LIBRARY_Q"
+msgstr "Atualizar biblioteca?"
+
+msgid "IDS_MUSIC_BODY_CHANGE_AXIS"
+msgstr "Alterar eixo"
+
+msgid "IDS_MUSIC_ITAB4_GENRES"
+msgstr "Gêneros"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_1_TRACK"
+msgstr "1 álbum/1 faixa"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_PD_TRACKS"
+msgstr "1 álbum/%d faixas"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS_PD_TRACKS"
+msgstr "%d álbuns/%d faixas"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_CONTROL_MUSIC_PLAYER_WITH_THE_VOICE_COMMANDS_P1SS_P2SS_P3SS_P4SS_P5SS_AND_P6SS"
+msgstr "É possível controlar a Música com os comandos de voz %1$s, %2$s, %3$s, %4$s, %5$s e %6$s"
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_PD_TRACKS"
+msgstr "Misturar %d faixas"
+
+msgid "IDS_MUSIC_BODY_MORE_INFO"
+msgstr "Mais informações"
+
+msgid "IDS_MUSIC_HEADER_MY_MUSIC_M_APPLICATION_NAME"
+msgstr "Minhas músicas"
+
+msgid "IDS_MUSIC_OPT_LIST_VIEW"
+msgstr "Ver por lista"
+
+msgid "IDS_MUSIC_OPT_PLAY_VIA_GROUP_PLAY"
+msgstr "Reprod. via Group Play"
+
+msgid "IDS_MUSIC_POP_TRACK_ADDED_TO_FAVOURITES"
+msgstr "Faixa adicionada aos favoritos."
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_FAVOURITES"
+msgstr "Remover dos Favoritos"
+
+msgid "IDS_MUSIC_BODY_NEW_M_LATEST"
+msgstr "Novo"
+
+msgid "IDS_MUSIC_OPT_TRACKS"
+msgstr "Faixas"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL"
+msgstr "Miniatura"
+
+msgid "IDS_MUSIC_SK_LIST"
+msgstr "Lista"
+
+msgid "IDS_MUSIC_SK_OPEN_PLAYLIST"
+msgstr "Abrir lista de reprodução"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALL"
+msgstr "Reproduzir tudo"
+
+msgid "IDS_MUSIC_POP_SELECTED_LIST_EMPTY"
+msgstr "Lista selecionada vazia."
+
+msgid "IDS_MUSIC_BODY_MOODS"
+msgstr "Ambiente"
+
+msgid "IDS_MUSIC_BUTTON_YEARS"
+msgstr "Anos"
+
+msgid "IDS_MUSIC_BODY_OLD"
+msgstr "Antiga"
+
+msgid "IDS_MUSIC_BODY_MUSIC_SQUARE_ANALYSES_THE_CHARACTERISTICS_OF_MUSIC_FILES_STORED_ON_YOUR_DEVICE_AND_AUTOMATICALLY_CREATES_PLAYLISTS_MSG"
+msgstr "O Salão de música analisa primeiro as características dos arquivos de música salvos no dispositivo e cria automaticamente listas de reprodução."
+
+msgid "IDS_MUSIC_BODY_PLAY_TRACKS_WITH_SIMILAR_CHARACTERISTICS_BY_SELECTING_A_SQUARE_ON_THE_SCREEN"
+msgstr "Reproduza a lista de reprodução de música com características semelhantes selecionando um quadrado na tela."
+
+msgid "IDS_MUSIC_BODY_VIEW_PLAYLIST_DETAILS_BY_TAPPING_AND_HOLDING_THE_SQUARE_CURRENTLY_BEING_PLAYED"
+msgstr "Veja detalhes da lista de reprodução tocando sem soltar o quadrado que está sendo reproduzido atualmente."
+
+msgid "IDS_MUSIC_BODY_NEARBY_DEVICES"
+msgstr "Dispositivos próximos"
+
+msgid "IDS_MUSIC_POP_YOU_WILL_NEED_TO_UPDATE_THE_LIBRARY_IF_NEW_SONGS_HAVE_BEEN_ADDED"
+msgstr "Será necessário atualizar a biblioteca no caso de inclusão de novas músicas."
+
+msgid "IDS_MUSIC_BODY_NO_ALBUMS"
+msgstr "Sem álbuns"
+
+msgid "IDS_MUSIC_BODY_NO_ARTISTS"
+msgstr "Nenhum artista"
+
+msgid "IDS_MUSIC_OPT_PLAY_SPEED_ABB"
+msgstr "Velocid. reprodução"
+
+msgid "IDS_MUSIC_BODY_CONCERT_HALL_M_SOUNDEFFECT"
+msgstr "Sala concertos"
+
+msgid "IDS_MUSIC_OPT_ADD_TO"
+msgstr "Adicionar a"
+
+msgid "IDS_MUSIC_SK_VIEW"
+msgstr "Ver"
+
+msgid "IDS_MUSIC_OPT_LISTBY_RECENTLY_ADDED"
+msgstr "Adic. recentemente"
+
+msgid "IDS_MUSIC_BODY_NOT_USED"
+msgstr "Não utilizado"
+
+msgid "IDS_MUSIC_BODY_MAKE_AVAILABLE_OFFLINE"
+msgstr "Tornar disponível offline"
+
+msgid "IDS_MUSIC_OPT_AFTER_P1SD_HRS_P2SD_MINS"
+msgstr "Após %1$d h e %2$d min"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS"
+msgstr "Após %d h"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_MINS"
+msgstr "Após %d min"
+
+msgid "IDS_MUSIC_BODY_NO_FOLDERS"
+msgstr "Sem pastas"
+
+msgid "IDS_MUSIC_BODY_NO_TRACKS"
+msgstr "Sem faixas"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS"
+msgstr "%d álbuns"
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS"
+msgstr "%d artistas"
+
+msgid "IDS_MUSIC_BODY_PD_GENRES"
+msgstr "%d gêneros"
+
+msgid "IDS_MUSIC_BODY_PD_PLAYLISTS"
+msgstr "%d listas de reprodução"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_ABB"
+msgstr "%d faixas"
+
+msgid "IDS_MUSIC_BODY_PLAYLIST"
+msgstr "Lista de reprodução"
+
+msgid "IDS_MUSIC_HEADER_SIMILAR_ALBUMS"
+msgstr "Álbuns semelhantes"
+
+msgid "IDS_MUSIC_HEADER_TRACK"
+msgstr "Faixa"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL_VIEW"
+msgstr "Ver por miniaturas"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "Este efeito sonoro funciona apenas com o fone de ouvido."
+
+msgid "IDS_MUSIC_OPT_ALL_CONTENT_ABB2"
+msgstr "Todo o conteúdo"
+
+msgid "IDS_MUSIC_BODY_A_NETWORK_CONNECTION_IS_REQUIRED_TO_PLAY_THIS_FILE_CHECK_YOUR_NETWORK_CONNECTION_AND_TRY_AGAIN"
+msgstr "Uma conexão de rede é necessária para reproduzir este arquivo. Verifique sua conexão de rede e tente novamente."
+
+msgid "IDS_MUSIC_POP_FILE_TYPE_NOT_SUPPORTED"
+msgstr "Tipo de arquivo não suportado."
+
+msgid "IDS_MUSIC_POP_UPDATING_ING"
+msgstr "Atualizando…"
+
+msgid "IDS_MUSIC_OPT_SEARCH_ABB"
+msgstr "Pesquisar"
+
+msgid "IDS_MUSIC_OPT_SEARCH_BY"
+msgstr "Procurar por"
+
+msgid "IDS_MUSIC_BODY_RELATED_VIDEOS"
+msgstr "Vídeos relacionados"
+
+msgid "IDS_MUSIC_BODY_SMART_VOLUME_ABB"
+msgstr "Volume inteligente"
+
+msgid "IDS_MUSIC_BODY_THE_VOLUME_OF_ALL_TRACKS_WILL_BE_ADJUSTED_TO_LEVEL_PD"
+msgstr "O volume de todas as faixas será ajustado para o nível %d."
+
+msgid "IDS_MUSIC_HEADER_SMART_VOLUME_IS_ENABLED"
+msgstr "Volume inteligente está ativado"
+
+msgid "IDS_MUSIC_OPT_CONNECTION_INFO_ABB"
+msgstr "Informações conexão"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_PD_MINS"
+msgstr "Após 1 h e %d min"
+
+msgid "IDS_MUSIC_BODY_ADAPT_SOUND_ABB"
+msgstr "Adapt Sound"
+
+msgid "IDS_MUSIC_BODY_MY_DEVICE"
+msgstr "Meu dispositivo"
+
+msgid "IDS_MUSIC_POP_LISTENING_AT_A_HIGH_VOLUME_FOR_A_LONG_TIME_MAY_DAMAGE_YOUR_HEARING_RAISE_THE_VOLUME_ABOVE_SAFE_LEVELS_Q"
+msgstr "É possível danificar sua audição ao ouvir em volume alto durante longos períodos. Aumentar o volume acima dos níveis de segurança?"
+
+msgid "IDS_MUSIC_POP_ALREADY_EXISTS"
+msgstr "Já existe."
+
+msgid "IDS_MUSIC_OPT_SCAN_FOR_NEARBY_DEVICES"
+msgstr "Procurar dispositivos nas proximidades"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR"
+msgstr "Após 1 h"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_1_MIN"
+msgstr "Após 1 h 1 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS_1_MIN"
+msgstr "Após %d h e 1 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_MIN"
+msgstr "Após 1 min"
+
+msgid "IDS_MUSIC_OPT_GO_TO_STORE"
+msgstr "Ir para loja"
+
+msgid "IDS_MUSIC_SK3_ADD_TRACKS"
+msgstr "Adic.\nfaixas"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FROM_MUSIC_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Após baixar faixas de Música, elas serão exibidas aqui."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_YOUR_FAVOURITES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Após adicionar faixas aos seus favoritos, elas serão exibidas aqui."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_PLAY_TRACKS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Após reproduzir faixas, elas serão exibidas aqui."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_PS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Após adicionar faixas para %s, elas serão exibidas aqui."
+
+msgid "IDS_MUSIC_BODY_NO_PURCHASED_CONTENT"
+msgstr "Nenhum conteúdo comprado"
+
+msgid "IDS_MUSIC_SK_SAVE_AS"
+msgstr "Salvar como"
+
+msgid "IDS_MUSIC_POP_MUSICPLAYER_UPDATING_FAILED"
+msgstr "Erro ao atualizar."
+
+msgid "IDS_MUSIC_BODY_EXCITING_M_ADJECTIVE"
+msgstr "Excitante"
+
+msgid "IDS_MUSIC_BODY_SEARCH_MY_MUSIC"
+msgstr "Pesquisar minhas músicas"
+
+msgid "IDS_MUSIC_HEADER_CONNECTED_DEVICES"
+msgstr "Dispositivos conectados"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST_PS"
+msgstr "Minha lista de reprodução %s"
+
+msgid "IDS_MUSIC_BODY_NO_DEVICES"
+msgstr "Nenhum dispositivo"
+
+msgid "IDS_MUSIC_HEADER_AVAILABLE_DEVICES_ABB"
+msgstr "Dispositivos dispon."
+
+msgid "IDS_MUSIC_POP_SET"
+msgstr "Definido"
+
+msgid "IDS_MUSIC_POP_REMOVE_FAILED"
+msgstr "Falha ao remover."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_USE_FAST_FORWARD_AND_REWIND_WHEN_NEARBY_DEVICES_ARE_ENABLED"
+msgstr "Impossível usar o avanço rápido ou retrocesso quando dispositivos próximos estão ativados."
+
+msgid "IDS_MUSIC_OPT_SET_AS"
+msgstr "Definir como"
+
+msgid "IDS_MUSIC_OPT_HEADPHONES_ABB"
+msgstr "Fones de ouvido"
+
+msgid "IDS_MUSIC_OPT_SPEAKER"
+msgstr "Viva-voz"
+
+msgid "IDS_MUSIC_BODY_1_SONG"
+msgstr "1 música"
+
+msgid "IDS_MUSIC_BODY_PD_SONGS"
+msgstr "%d músicas"
+
+msgid "IDS_MUSIC_BODY_1_TRACK"
+msgstr "1 faixa"
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_1_TRACK"
+msgstr "Misturar 1 faixa"
+
+msgid "IDS_MUSIC_POP_NO_MUSIC_FOUND_FOR_SELECTED_CELL"
+msgstr "Nenhuma música encontrada para célula selecionada"
+
+msgid "IDS_MUSIC_BODY_DO_NOT_SHOW_AGAIN"
+msgstr "Não mostrar novamente"
+
+msgid "IDS_MUSIC_BODY_VARIOUS_ARTISTS"
+msgstr "Vários artistas"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_HOME_SCREEN_ABB"
+msgstr "Adicionar à tela inicial"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_FAVOURITES"
+msgstr "Adicionar aos favoritos"
+
+msgid "IDS_MUSIC_OPT_EDIT_TITLE"
+msgstr "Editar título"
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_PERSONAL_STORAGE"
+msgstr "Remover do armazenamento pessoal"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FOLDERS_WILL_BE_SHOWN"
+msgstr "Após baixar as faixas, as pastas serão exibidas"
+
+msgid "IDS_MUSIC_BODY_SETTINGS_VOLUME"
+msgstr "Volume"
+
+msgid "IDS_MUSIC_BODY_REPEAT_OFF"
+msgstr "Repetição desligada"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_REPEAT_ALL"
+msgstr "Repetir tudo"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_OFF"
+msgstr "Modo aleatório desativado"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_ON"
+msgstr "Modo aleatório ativado"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST"
+msgstr "Minha lista de reprodução"
+
+msgid "IDS_MUSIC_MBODY_DEFAULT_PLAYLISTS"
+msgstr "Listas de reprod. padrão"
+
+msgid "IDS_MUSIC_BODY_DETAILS_RECORDING_DATE"
+msgstr "Data de criação"
+
+msgid "IDS_MUSIC_OPT_ALBUM_ART_ABB"
+msgstr "Capa álbum"
+
+msgid "IDS_MUSIC_BODY_1_GENRE"
+msgstr "1 gênero"
+
+msgid "IDS_MUSIC_BODY_PD_FOLDERS"
+msgstr "%d pastas"
+
+msgid "IDS_MUSIC_BODY_1_FOLDER"
+msgstr "1 pasta"
+
+msgid "IDS_MUSIC_BODY_1_ARTIST"
+msgstr "1 artista"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_M_MUSIC"
+msgstr "1 álbum"
+
+msgid "IDS_MUSIC_BODY_1_PLAYLIST"
+msgstr "1 lista de reprodução"
+
+msgid "IDS_MUSIC_BODY_MUSIC_PLAYER"
+msgstr "Music Player"
+
+msgid "IDS_MUSIC_BUTTON_MOVE"
+msgstr "Mover"
+
+msgid "IDS_MUSIC_BUTTON_AUTO_RECOMMENDATIONS"
+msgstr "Recomendações automáticas"
+
+msgid "IDS_MUSIC_BUTTON_FROM_THE_BEGINNING"
+msgstr "A partir do início"
+
+msgid "IDS_MUSIC_HEADER_SUGGESTIONS_FOR_YOU"
+msgstr "Sugestões para você"
+
+msgid "IDS_MUSIC_OPT_SAVE"
+msgstr "Salvar"
+
+msgid "IDS_MUSIC_TAB4_BASIC_M_EQUALIZING"
+msgstr "Básico"
+
+msgid "IDS_MUSIC_BODY_INSTRUMENT"
+msgstr "Instrumento"
+
+msgid "IDS_MUSIC_BODY_TREBLE_M_EQUALISER"
+msgstr "Agudos"
+
+msgid "IDS_MUSIC_BODY_BASS_M_EQUALISER"
+msgstr "Graves"
+
+msgid "IDS_MUSIC_BODY_NO_EFFECTS_ARE_APPLIED_IN_THIS_MODE_ABB"
+msgstr "Nenhum efeito está aplicado neste modo."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_TIMBRE_OF_A_TUBE_AMP_ABB"
+msgstr "Simula o timbre de um amplificador à válvula."
+
+msgid "IDS_MUSIC_OPT_TUBE_AMP_EFFECT"
+msgstr "Efeito de amplificador de válvula"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_EFFECT_OF_VIRTUAL_71_CHANNEL_SURROUND_SOUND_ABB"
+msgstr "Simula o efeito do som surround de 7.1 canais virtuais."
+
+msgid "IDS_MUSIC_HEADER_SMALL_ROOM_M_REVERB_ABB"
+msgstr "Lugar pequeno"
+
+msgid "IDS_MUSIC_HEADER_LARGE_ROOM_M_REVERB_ABB"
+msgstr "Local amplo"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_LARGE_ROOM_EG_A_THEATRE_ABB"
+msgstr "Simula reverberação de sala ampla."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_CONCERT_HALL_ABB"
+msgstr "Simula a reverberação de uma sala de concertos."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_SMALL_SPACE_EG_A_STUDIO_ABB"
+msgstr "Simula o efeito de som em espaços menores."
+
+msgid "IDS_MUSIC_BUTTON_3D_CHN"
+msgstr "3D"
+
+msgid "IDS_MUSIC_BODY_CLARITY_M_SOUNDEFFECT"
+msgstr "Clareza"
+
+msgid "IDS_MUSIC_BUTTON_RESET"
+msgstr "Zerar"
+
+msgid "IDS_MUSIC_TAB_YEARS"
+msgstr "Anos"
+
+msgid "IDS_MUSIC_TAB_GENRES"
+msgstr "Gêneros"
+
+msgid "IDS_MUSIC_TAB_COMPOSERS"
+msgstr "Compositores"
+
+msgid "IDS_MUSIC_TAB_ALL_TRACKS"
+msgstr "Todas as faixas"
+
+msgid "IDS_MUSIC_SK3_GO_TO_QUICK_LIST"
+msgstr "Lista rápida"
+
+msgid "IDS_MUSIC_SK3_FIND"
+msgstr "Encontrar"
+
+msgid "IDS_MUSIC_SK3_ADD_TO_QUICK_LIST"
+msgstr "Adic. à lista"
+
+msgid "IDS_MUSIC_POP_UNAUTHORISED_VIDEO_FILE_FOR_TV_OUT"
+msgstr "Arquivo de vídeo não autorizado para saída de TV."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_CREATE_MAXIMUM_NUMBER_OF_PLAYLISTS_REACHED"
+msgstr "Impossível criar. Número máximo de listas de reprodução atingido."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTING_BLUETOOTH_HEADSET"
+msgstr "Impossível ajustar o volume durante a conexão de fones de ouvido Bluetooth."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTED_TO_BLUETOOTH_HEADSET"
+msgstr "Impossível ajustar o volume enquanto conectado ao fone de ouvido Bluetooth."
+
+msgid "IDS_MUSIC_POP_STOP_MUSIC_PLAYER_Q"
+msgstr "Parar Music Player?"
+
+msgid "IDS_MUSIC_POP_PLEASE_EXIT_SILENT_MODE"
+msgstr "Favor sair do modo Silencioso."
+
+msgid "IDS_MUSIC_POP_NETWORK_FAILURE"
+msgstr "Falha de rede."
+
+msgid "IDS_MUSIC_POP_MEMORY_CARD_LOADED"
+msgstr "Cartão de memória carregado."
+
+msgid "IDS_MUSIC_POP_DEVICE_SETTINGS_ERROR"
+msgstr "Erro de configurações do dispositivo."
+
+msgid "IDS_MUSIC_POP_COULD_NOT_FIND_A_MATCH_FOR_THE_SONG"
+msgstr "Impossível encontrar correspondência para a música."
+
+msgid "IDS_MUSIC_POP_BUFFERING_MSTATUS"
+msgstr "Transmitindo"
+
+msgid "IDS_MUSIC_POP_BT_HEADSET_ONLY_SUPPORTS_NORMAL_EFFECTS_SETTING"
+msgstr "O fone de ouvido BT só suporta a definição de efeitos normais."
+
+msgid "IDS_MUSIC_POP_APPLICATION_WILL_BE_CLOSED"
+msgstr "A aplicação será encerrada."
+
+msgid "IDS_MUSIC_POP_ADDED_GO_TO_WISH_LIST_Q"
+msgstr "Adicionada. Ir para lista de pedidos?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_THE_SERVICE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "O acesso ao serviço pode ser cobrado. Continuar?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_STORE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "O acesso à loja pode ser cobrado. Continuar?"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_ONLY_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES"
+msgstr "O efeito de som do canal 5.1 funciona apenas nos modos de fone de ouvido e fone de ouvido Bluetooth."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "O efeito de som Surround 5.1 funciona apenas no modo de fone de ouvido."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECTS_NOT_SUPPORTED_BY_SPEAKER"
+msgstr "Efeitos de som do canal 5.1 não são suportados pelo alto-falante."
+
+msgid "IDS_MUSIC_OPT_VIEW_BY_COVER_ART"
+msgstr "Vizualizar por capa"
+
+msgid "IDS_MUSIC_OPT_SEND_TRACK"
+msgstr "Enviar faixa"
+
+msgid "IDS_MUSIC_OPT_RATE_TRACK"
+msgstr "Classificar faixa"
+
+msgid "IDS_MUSIC_OPT_PLAYLIST_MOVE_TRACK_IN_PLAYLIST"
+msgstr "Mover faixa na lista reprodução"
+
+msgid "IDS_MUSIC_OPT_OPENPLAYLIST_CURRENT"
+msgstr "Atual"
+
+msgid "IDS_MUSIC_OPT_DELETE_PLAYLIST"
+msgstr "Apagar lista de reprodução"
+
+msgid "IDS_MUSIC_OPT_BACKGROUND_PLAYING"
+msgstr "Reprodução de fundo"
+
+msgid "IDS_MUSIC_HEADER_EFFECTS"
+msgstr "Efeitos"
+
+msgid "IDS_MUSIC_BUTTON_BUY_NOW"
+msgstr "Comprar"
+
+msgid "IDS_MUSIC_BODY_WOW_HD"
+msgstr "Wow HD"
+
+msgid "IDS_MUSIC_BODY_WISHLIST"
+msgstr "Lista de pedidos"
+
+msgid "IDS_MUSIC_BODY_WIDE"
+msgstr "Wide"
+
+msgid "IDS_MUSIC_BODY_WHA_WHA"
+msgstr "Wha-wha"
+
+msgid "IDS_MUSIC_BODY_VIBE_WOOFER"
+msgstr "Woofer de vibrações"
+
+msgid "IDS_MUSIC_BODY_TREMOLO"
+msgstr "Tremolo"
+
+msgid "IDS_MUSIC_BODY_TAP_TWICE_TO_PLAY_PAUSE_MUSIC"
+msgstr "Toque 2X para reproduzir/pausar música."
+
+msgid "IDS_MUSIC_BODY_SHARE_TRACK_VIA_BLUETOOTH"
+msgstr "Compartilhar faixa via Bluetooth"
+
+msgid "IDS_MUSIC_BODY_SETUPWIZARD_WELCOME_TO_THE_MUSIC_SETUP_WIZARD_CONTINUE_Q"
+msgstr "Bem-vindo ao assistente de configuração do Music Player.\nAs telas a seguir vão te ajudar a configurar seu telefone. Continuar?"
+
+msgid "IDS_MUSIC_BODY_QUICK_LIST"
+msgstr "Lista rápida"
+
+msgid "IDS_MUSIC_BODY_PLAYINGSETTINGS_SOUND_EFFECTS"
+msgstr "Efeitos sonoros"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_ALL"
+msgstr "Todos"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_1"
+msgstr "Um"
+
+msgid "IDS_MUSIC_BODY_PLAYERSETTINGS_VOLUME"
+msgstr "Volume"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_SELECTED"
+msgstr "%d faixas selecionadas."
+
+msgid "IDS_MUSIC_BODY_NO_PODCASTS"
+msgstr "Nenhum podcast"
+
+msgid "IDS_MUSIC_BODY_FIND_SIMILAR"
+msgstr "Localizar semelhante"
+
+msgid "IDS_MUSIC_BODY_BACKGROUND_PLAY"
+msgstr "Reprodução de fundo"
+
+msgid "IDS_MUSIC_BODY_51_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "O canal 5.1 só pode ser ativado quando os efeitos de som estão desligados."
+
+msgid "IDS_MUSIC_TAB4_PODCASTS"
+msgstr "Podcasts"
+
+msgid "IDS_MUSIC_SK2_EDIT_IMAGE"
+msgstr "Editar imagem"
+
+msgid "IDS_MUSIC_POP_PLAYING_ANY_SOUNDS_WILL_STOP_AND_SAVE_YOUR_VOICE_RECORDING_PLAY_Q"
+msgstr "A reprodução de qualquer som irá parar e salvar a gravação de voz. Reproduzir?"
+
+msgid "IDS_MUSIC_POP_MAXIMUM_NUMBER_OF_ITEMS_HPD_SELECTED"
+msgstr "Número máximo de itens (%d) selecionados."
+
+msgid "IDS_MUSIC_POP_BLUETOOTH_DISCONNECTED"
+msgstr "Bluetooth desligado."
+
+msgid "IDS_MUSIC_POP_5_1_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "O canal 5.1 só pode ser ativado quando os efeitos de som estão desligados."
+
+msgid "IDS_MUSIC_OPT_TAKE_PICTURE"
+msgstr "Tirar foto"
+
+msgid "IDS_MUSIC_OPT_SHOW_MUSIC_VIEW_ABB"
+msgstr "Exibir visual. de música"
+
+msgid "IDS_MUSIC_OPT_PAUSE"
+msgstr "Pausar"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALBUM"
+msgstr "Reproduzir álbum"
+
+msgid "IDS_MUSIC_OPT_LIST_BY"
+msgstr "Ordenar por"
+
+msgid "IDS_MUSIC_OPT_HISTORY"
+msgstr "Histórico"
+
+msgid "IDS_MUSIC_OPT_HIDE_MUSIC_VIEW_ABB"
+msgstr "Ocultar visual. de música"
+
+msgid "IDS_MUSIC_OPT_FIND_TAG"
+msgstr "Localizar etiqueta"
+
+msgid "IDS_MUSIC_OPT_DROPBOX_CONTENT_ABB"
+msgstr "Conteúdo Dropbox"
+
+msgid "IDS_MUSIC_OPT_CONTENT_ON_PHONE_ABB"
+msgstr "Conteúdo no fone"
+
+msgid "IDS_MUSIC_OPT_CHANGE_IMAGE"
+msgstr "Alterar imagem"
+
+msgid "IDS_MUSIC_HEADER_DELETE_DROPBOX_DATA_ABB"
+msgstr "Excluir dados Dropbox"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_STREAM_YOUR_MUSIC_TO_DEVICES_USING_ALLSHARE"
+msgstr "Você pode enviar música para dispositivos usando o AllShare."
+
+msgid "IDS_MUSIC_BODY_VALIDITY"
+msgstr "Validade"
+
+msgid "IDS_MUSIC_BODY_TYPE_CNOUN"
+msgstr "Tipo"
+
+msgid "IDS_MUSIC_BODY_THIS_WILL_DELETE_THE_FILE_FROM_THE_SERVER_AND_ANY_CONNECTED_DEVICES_AS_WELL"
+msgstr "Isto excluirá o arquivo do servidor assim como quaisquer dispositivos conectados."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_ARTISTS"
+msgstr "Artistas"
+
+msgid "IDS_MUSIC_BODY_PLAYINGDETAILS_ALBUM_ART"
+msgstr "Capa do álbum"
+
+msgid "IDS_MUSIC_BODY_OTHER_CONTENTS"
+msgstr "Outros conteúdos"
+
+msgid "IDS_MUSIC_BODY_NAME_TOO_LONG"
+msgstr "Nome muito longo."
+
+msgid "IDS_MUSIC_BODY_MUSIC_CLARITY"
+msgstr "Claridade da música"
+
+msgid "IDS_MUSIC_BODY_HIGH_VOLUMES_MAY_HARM_YOUR_HEARING_IF_YOU_LISTEN_FOR_A_LONG_TIME"
+msgstr "O volume alto do som pode prejudicar a sua audição se a expor durante muito tempo."
+
+msgid "IDS_MUSIC_BODY_AVAILABLE_USES"
+msgstr "Utilizações disponíveis"
+
+msgid "IDS_MUSIC_TPOP_SOUND_EFFECTS_ONLY_AVAILABLE_WHILE_HEADPHONES_CONNECTED"
+msgstr "Os efeitos sonoros só estão disponíveis quando os fones de ouvido estão conectados."
+
+msgid "IDS_ST_OPT_ADD_TO_YOUR_PERSONAL_STORAGE"
+msgstr "Adicionar ao armazenamento pessoal"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_YOUR_PERSONAL_STORAGE"
+msgstr "Remover do seu armazenamento pessoal"
+
+msgid "IDS_ST_BODY_CONTEXTUAL_POP_UP_T_TALKBACK"
+msgstr "Pop-up contextual"
+
+msgid "IDS_ST_BODY_A_CONTEXTUAL_POP_UP_IS_OPEN_DOUBLE_TAP_TO_CLOSE_IT_T_TALKBACK"
+msgstr "Uma pop-up contextual é aberta. Toque duas vezes para fechá-la."
+
+msgid "IDS_ST_BODY_REPEAT_ONE"
+msgstr "Repetir uma vez"
+
+msgid "IDS_ST_BUTTON_MOVING_ING"
+msgstr "Movendo..."
+
+msgid "IDS_HS_BODY_SELECT_UP_TO_PD_ITEMS"
+msgstr "Selecionar até %d itens"
+
+msgid "IDS_CAM_BODY_TAB_T_TTS"
+msgstr "Guia"
+
+msgid "IDS_DLNA_OPT2_CHANGE_PLAYER"
+msgstr "Mudar player"
+
+msgid "IDS_BR_SK_TABS"
+msgstr "Abas"
+
+msgid "IDS_MF_BODY_DROPBOX_ABB"
+msgstr "Dropbox"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Recomendações automáticas podem extrair as partes de arquivos de som."
+
+msgid "IDS_MF_BODY_PARENT_RATING"
+msgstr "Taxa anterior"
+
+msgid "IDS_VR_POP_FILE_NOT_FOUND"
+msgstr "Arquivo não encontrado."
+
+msgid "IDS_PB_POP_CALLER_RINGTONE_SAVED"
+msgstr "Toque para um contato salvo."
+
+msgid "IDS_MUSIC_BODY_BIT_DEPTH"
+msgstr "Profundidade do bit"
+
+msgid "IDS_MUSIC_BODY_SIZE"
+msgstr "Tamanho"
+
+msgid "IDS_MF_HEADER_PD_SELECTED"
+msgstr "%d selecionado(s)"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_THIS_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Após adicionar faixas a este dispositivo, elas serão exibidas aqui."
+
+msgid "IDS_MUSIC_TMBODY_LENGTH"
+msgstr "Duração"
+
+msgid "IDS_MUSIC_POP_1_FOLDER_WILL_BE_DELETED"
+msgstr "1 pasta será excluída."
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Sem conteúdo"
+
+msgid "IDS_MUSIC_ITAB4_FOLDERS"
+msgstr "Pastas"
+
+msgid "IDS_MUSIC_HEADER_MY_PLAYLISTS_ABB"
+msgstr "Minhas listas reprod."
+
+msgid "IDS_MP_BODY_SOUND_PLAYER"
+msgstr "Player de som"
+
+msgid "IDS_MUSIC_OPT_SETTINGS"
+msgstr "Configurações"
+
+msgid "IDS_MUSIC_POP_DELETING"
+msgstr "Apagando…"
+
+msgid "IDS_MUSIC_POP_1_TRACK_WILL_BE_DELETED"
+msgstr "1 faixa será excluída."
+
+msgid "IDS_MUSIC_POP_ALL_TRACKS_WILL_BE_DELETED"
+msgstr "Todas as faixas serão excluídas"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_WILL_BE_DELETED"
+msgstr "%d faixas serão excluídas."
+
+msgid "IDS_MUSIC_POP_1_PLAYLIST_WILL_BE_DELETED"
+msgstr "1 lista de reprodução será excluída."
+
+msgid "IDS_MUSIC_POP_PD_PLAYLISTS_WILL_BE_DELETED"
+msgstr "%d listas de reprodução serão excluídas."
+
+msgid "IDS_MUSIC_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "%d álbuns serão excluídos."
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS_WILL_BE_DELETED"
+msgstr "%d artistas serão excluídos."
+
+msgid "IDS_MUSIC_POP_PD_FOLDERS_WILL_BE_DELETED"
+msgstr "%d pastas serão apagadas."
+
+msgid "IDS_ST_POP_CONNECTION_FAILED"
+msgstr "Falha de conexão."
+
+msgid "IDS_MUSIC_BODY_CLASSIC"
+msgstr "Clássico"
+
+msgid "IDS_MUSIC_BODY_ROCK"
+msgstr "Rock"
+
+msgid "IDS_MUSIC_BODY_JAZZ"
+msgstr "Jazz"
+
+msgid "IDS_MUSIC_BODY_POP"
+msgstr "Pop"
+
+msgid "IDS_MUSIC_BODY_AUTO"
+msgstr "Automático"
+
+msgid "IDS_MUSIC_POP_CURRENT_SOUND_EFFECT_NOT_SUPPORTED_BY_HDMI"
+msgstr "O efeito de som atual não é suportado pelo HDMI."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_BLUETOOTH"
+msgstr "Efeitos de som não são suportados pelo Bluetooth."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_LINE_OUT"
+msgstr "Os efeitos de som não são suportados pela saída de áudio."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_HDMI"
+msgstr "Os efeitos de som não são suportados por HDMI."
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EFFECT"
+msgstr "Amplificador à válvula"
+
+msgid "IDS_MUSIC_BODY_CUSTOM"
+msgstr "Personalizar"
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EQUALISER_ABB"
+msgstr "Amplif. à válv."
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d faixas adicionadas à lista de reprodução."
+
+msgid "IDS_MUSIC_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 faixa adicionada à lista de reprodução."
+
+msgid "IDS_MUSIC_HEADER_ADD_TRACKS_TO_PLAYLIST_ABB"
+msgstr "Adic. faixas lista reprodução"
+
+msgid "IDS_MUSIC_POP_PS_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "%s já utilizado. Insira outro nome."
+
+msgid "IDS_MUSIC_TMBODY_DATE_OF_RECORDING"
+msgstr "Data do registro"
+
+msgid "IDS_MBP_TPOP_TRACK_SET_AS_ALARM_TONE"
+msgstr "Faixa definida como toque de alarme."
+
+msgid "IDS_MUSIC_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Nenhum resultado encontrado"
+
+msgid "IDS_MUSIC_OPT_DEFAULT_RINGTONE_ABB"
+msgstr "Toque padrão"
+
+msgid "IDS_MUSIC_TPOP_TRACK_SET_AS_CALLER_RINGTONE"
+msgstr "Faixa definida como toque do chamador."
+
+msgid "IDS_MP_TPOP_TRACK_SET_AS_RINGTONE"
+msgstr "Faixa definida como toque."
+
+msgid "IDS_DLNA_BODY_ADD_TO_NOW_PLAYING_LIST"
+msgstr "Adicionar à lista a ser reproduzida"
+
+msgid "IDS_MUSIC_TPOP_EQUALISER_SETTINGS_WILL_BE_APPLIED_WHILE_PLAYING_MUSIC"
+msgstr "As configurações do equalizador serão aplicadas durante a reprodução da música."
+
+msgid "IDS_ST_BODY_ALERT"
+msgstr "Alerta"
+
+msgid "IDS_IV_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 álbum será excluído."
+
+msgid "IDS_MUSIC_OPT_SD_CARD"
+msgstr "Cartão SD"
+
+msgid "IDS_MUSIC_SBODY_DEVICE_STORAGE"
+msgstr "Armazenamento do dispositivo"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE"
+msgstr "Nome da lista de reprodução já em uso."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_PD"
+msgstr "Lista de reprodução %d"
+
+msgid "IDS_MUSIC_HEADER_CREATE"
+msgstr "Criar"
+
+msgid "IDS_MUSIC_HEADER_EQUALISER_PRESET_ABB"
+msgstr "Predefinição do equalizador"
+
+msgid "IDS_MUSIC_OPT_AUTOMATIC_M_EQUALIZER_EFFECT"
+msgstr "Automático"
+
+msgid "IDS_MUSIC_OPT_CLASSICAL_M_EQUALIZER_EFFECT"
+msgstr "Clássica"
+
+msgid "IDS_MUSIC_HEADER_ENVIRONMENT_EFFECT_ABB"
+msgstr "Efeito de ambiente"
+
+msgid "IDS_VIDEO_POP_THE_FILE_TYPE_IS_NOT_SUPPORTED"
+msgstr "O tipo de arquivo não é suportado."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_CREATE_PLAYLISTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Após a criação de listas de reprodução, elas serão exibidas aqui."
+
+msgid "IDS_ST_HEADER_SELECT_AUDIO_DEVICE_ABB"
+msgstr "Selec. dispositivo de áudio"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "Esta lista de reprodução já está em uso. Insira outro nome."
+
+msgid "IDS_MUSIC_HEADER_SOUNDALIVE_ABB3"
+msgstr "SoundAlive"
+
+msgid "IDS_MUSIC_OPT_NOW_PLAYING_LIST"
+msgstr "Lista reproduzida agora"
+
+msgid "IDS_MUSIC_OPT_SHOW_LYRICS"
+msgstr "Exibir letras"
+
+msgid "IDS_MUSIC_OPT_HIDE_LYRICS"
+msgstr "Ocultar letra"
+
+msgid "IDS_MUSIC_TPOP_UNABLE_TO_PLAY_MUSIC_DURING_CALLS"
+msgstr "Não é possível reproduzir música durante chamadas."
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Excluir"
+
+msgid "IDS_MUSIC_HEADER_SELECT"
+msgstr "Selecionar"
+
+msgid "IDS_TPLATFORM_OPT_NFC"
+msgstr "NFC"
+
+msgid "IDS_MUSIC_HEADER_UNABLE_TO_PLAY_TRACK"
+msgstr "Não é possível reproduzir faixa"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "CONCLUÍDO"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "CANCELAR"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "EXCLUIR"
+
+msgid "IDS_MUSIC_POP_RENAME"
+msgstr "Renomear"
+
+msgid "IDS_MUSIC_OPT_MESSAGE"
+msgstr "Mensagem"
+
+msgid "IDS_MUSIC_SK_OK"
+msgstr "OK"
+
+msgid "IDS_MUSIC_SK_CANCEL"
+msgstr "Cancelar"
+
+msgid "IDS_MUSIC_BUTTON_REFRESH"
+msgstr "Atualizar"
+
+msgid "IDS_MUSIC_BODY_SELECT_ALL"
+msgstr "Selecionar tudo"
+
+msgid "IDS_MUSIC_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_MUSIC_POP_DELETED"
+msgstr "Excluído."
+
+msgid "IDS_MUSIC_OPT_STOP"
+msgstr "Parar"
+
+msgid "IDS_MUSIC_BODY_UNKNOWN"
+msgstr "Desconhecido"
+
+msgid "IDS_MUSIC_BODY_TITLE"
+msgstr "Título"
+
+msgid "IDS_MUSIC_OPT_SENDVIA_EMAIL"
+msgstr "E-mail"
+
+msgid "IDS_MUSIC_OPT_BLUETOOTH"
+msgstr "Bluetooth"
+
+msgid "IDS_MUSIC_HEADER_DOWNLOAD"
+msgstr "Baixar"
+
+msgid "IDS_MUSIC_POP_LOW_BATTERY"
+msgstr "Bateria fraca."
+
+msgid "IDS_MUSIC_HEADER_AUDIO_DEVICE"
+msgstr "Dispositivo de áudio"
+
+msgid "IDS_MUSIC_HEADER_DETAILS"
+msgstr "Detalhes"
+
+msgid "IDS_MUSIC_OPT_END"
+msgstr "Encerrar"
+
+msgid "IDS_MUSIC_OPT_EDIT"
+msgstr "Editar"
+
+msgid "IDS_CAM_HEADER_UPDATED"
+msgstr "Atualizado."
+
+msgid "IDS_MUSIC_POP_REMOVED"
+msgstr "Removido."
+
+msgid "IDS_MUSIC_OPT_SELECTED"
+msgstr "Selecionado"
+
+msgid "IDS_ST_BUTTON_SCAN"
+msgstr "Pesquisar"
+
+msgid "IDS_MF_POP_ERROR"
+msgstr "Erro."
+
+msgid "IDS_MF_POP_MEMORY_FULL"
+msgstr "Memória cheia."
+
+msgid "IDS_COM_BODY_ALLSHARE"
+msgstr "AllShare"
+
+msgid "IDS_COM_BODY_BLUETOOTH"
+msgstr "Bluetooth"
+
+msgid "IDS_MUSIC_MBODY_QUEUE"
+msgstr "Fila"
+
+msgid "IDS_MUSIC_OPT_VOLUME"
+msgstr "Volume"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE"
+msgstr "Modo aleatório"
+
+msgid "IDS_MUSIC_OPT_REPEAT"
+msgstr "Repetir"
+
+msgid "IDS_COM_BODY_EDIT"
+msgstr "Edit"
+
+msgid "IDS_COM_BODY_EMAIL"
+msgstr "Email"
+
+msgid "IDS_COM_BODY_END"
+msgstr "End"
+
+msgid "IDS_COM_BODY_FOLDERS"
+msgstr "Folders"
+
+msgid "IDS_COM_BODY_GALLERY"
+msgstr "Gallery"
+
+msgid "IDS_COM_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_COM_BODY_LOADING"
+msgstr "Loading..."
+
+msgid "IDS_COM_BODY_LOW_BATTERY"
+msgstr "Low battery."
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Message"
+
+msgid "IDS_COM_BODY_MUSIC"
+msgstr "Music"
+
+msgid "IDS_COM_BODY_NFC"
+msgstr "NFC"
+
+msgid "IDS_COM_BODY_NO_CONTENTS"
+msgstr "No content"
+
+msgid "IDS_COM_BODY_PAUSE"
+msgstr "Pause"
+
+msgid "IDS_COM_BODY_PD_SELECTED"
+msgstr "%d selected."
+
+msgid "IDS_COM_BODY_PREVIOUS"
+msgstr "Previous"
+
+msgid "IDS_COM_BODY_RESET_A"
+msgstr "Reset"
+
+msgid "IDS_COM_BODY_SELECTED"
+msgstr "Selected"
+
+msgid "IDS_COM_BODY_SELECT_ALL"
+msgstr "Select all"
+
+msgid "IDS_COM_BODY_SETTINGS"
+msgstr "Settings"
+
+msgid "IDS_COM_BODY_TIME"
+msgstr "Time"
+
+msgid "IDS_COM_BODY_UNABLE_TO_ADD"
+msgstr "Unable to add."
+
+msgid "IDS_COM_BODY_UNKNOWN"
+msgstr "Unknown"
+
+msgid "IDS_COM_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_COM_BUTTON_SCAN"
+msgstr "Scan"
+
+msgid "IDS_COM_BUTTON_SHARE"
+msgstr "Share"
+
+msgid "IDS_COM_HEADER_AUDIO_DEVICE_ABB"
+msgstr "Audio device"
+
+msgid "IDS_COM_OPT_ADDED"
+msgstr "Added."
+
+msgid "IDS_COM_OPT_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_POP_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_POP_CONNECTION_FAILED"
+msgstr "Connection failed."
+
+msgid "IDS_COM_POP_DELETED"
+msgstr "Deleted."
+
+msgid "IDS_COM_POP_DELETE_Q"
+msgstr "Delete?"
+
+msgid "IDS_COM_POP_DONE"
+msgstr "Done"
+
+msgid "IDS_COM_POP_DOWNLOADING"
+msgstr "Downloading..."
+
+msgid "IDS_COM_POP_ERROR"
+msgstr "Error."
+
+msgid "IDS_COM_POP_FAILED"
+msgstr "Failed."
+
+msgid "IDS_COM_POP_FILE_NOT_EXIST"
+msgstr "This file does not exist."
+
+msgid "IDS_COM_POP_FILE_NOT_FOUND"
+msgstr "File not found."
+
+msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximum number of characters reached."
+
+msgid "IDS_COM_POP_MEMORY_FULL"
+msgstr "Memory full."
+
+msgid "IDS_COM_POP_REMOVED"
+msgstr "Removed."
+
+msgid "IDS_COM_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Unable to use during Mass storage mode."
+
+msgid "IDS_COM_POP_UPDATED"
+msgstr "Updated."
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_SK_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_SK_DOWNLOAD"
+msgstr "Download"
+
+msgid "IDS_COM_SK_NEW"
+msgstr "New"
+
+msgid "IDS_COM_SK_NEXT"
+msgstr "Next"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_SK_REFRESH"
+msgstr "Refresh"
+
+msgid "IDS_COM_SK_REMOVE"
+msgstr "Remove"
+
+msgid "IDS_COM_SK_SAVE"
+msgstr "Save"
+
+msgid "IDS_COM_SK_SELECT"
+msgstr "Select"
+
+msgid "IDS_COM_SK_SET"
+msgstr "Set"
+
+msgid "IDS_COM_SK_STOP"
+msgstr "Stop"
+
+msgid "IDS_MH_BODY_THE_PLAYLIST_NAME_PS_IS_ALREADY_IN_USE"
+msgstr "The playlist name %s is already in use."
+
+msgid "IDS_MH_BODY_TOTAL"
+msgstr "Total"
+
+msgid "IDS_MH_MBODY_RECENTLY_ADDED_M_SONG"
+msgstr "Recently added"
+
+msgid "IDS_MH_OPT_MORE_INFO_ABB"
+msgstr "More info"
+
+msgid "IDS_MH_POP_ALARM_TONE_SET"
+msgstr "Alarm tone set."
+
+msgid "IDS_MH_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 track added to playlist."
+
+msgid "IDS_MH_TPOP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d tracks added to playlist."
+
+msgid "IDS_MUSIC_OPT_RENAME"
+msgstr "Rename"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Unable to play during call."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Tamanho máximo dos arquivos excedido."
+
+msgid "IDS_CAM_TPOP_UNABLE_TO_PLAY_MUSIC_WHILE_RECORDING_AUDIO_OR_VIDEO"
+msgstr "Não é possível reproduzir música durante a gravação de áudio ou vídeo."
+
--- /dev/null
+msgid "IDS_ST_BODY_LOADING_ING"
+msgstr "A carregar..."
+
+msgid "IDS_GALLERY_OPT_PRIVATE_M_CONTENT"
+msgstr "Privado"
+
+msgid "IDS_MF_BODY_TIME"
+msgstr "Hora"
+
+msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
+msgstr "Ficheiro inexistente."
+
+msgid "IDS_MUSIC_POP_PHONE_RINGTONE"
+msgstr "Tom de toque do telefone"
+
+msgid "IDS_MUSIC_BODY_DURATION"
+msgstr "Duração"
+
+msgid "IDS_MUSIC_BODY_MUSIC_LOCATION"
+msgstr "Localização"
+
+msgid "IDS_MUSIC_BODY_SET_AS_M_RINGTONE"
+msgstr "Definir como"
+
+msgid "IDS_ST_OPT_ADD_TO_PERSONAL_PAGE"
+msgstr "Adicionar à página pessoal"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_PERSONAL_PAGE_ABB"
+msgstr "Remover da página pessoal"
+
+msgid "IDS_ST_POP_MOVE_TO_NORMAL_STORAGE"
+msgstr "Mover para armazenamento normal"
+
+msgid "IDS_ST_POP_MOVE_TO_PERSONAL_STORAGE"
+msgstr "Mover para armazenamento pessoal"
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEMS_WILL_BE_MOVED_TO_PS"
+msgstr "Os itens seleccionados serão movidos para %s."
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEM_WILL_BE_MOVED_TO_PS"
+msgstr "O item seleccionado será movido para %s."
+
+msgid "IDS_VR_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Impossível utilizar durante o modo de armazenamento de massa."
+
+msgid "IDS_MUSIC_POP_RINGTONE_ADDED"
+msgstr "Tom de toque adicionado."
+
+msgid "IDS_CAM_BODY_BUTTON_T_TTS"
+msgstr "Tecla"
+
+msgid "IDS_MUSIC_HEADER_SELECT_ITEMS"
+msgstr "Seleccionar itens"
+
+msgid "IDS_ST_BODY_ADVANCED"
+msgstr "Avançado"
+
+msgid "IDS_ST_SK_PREVIOUS"
+msgstr "Anterior"
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Fechar"
+
+msgid "IDS_MUSIC_POP_ADDED"
+msgstr "Adicionado."
+
+msgid "IDS_MUSIC_POP_FAILED"
+msgstr "Falha."
+
+msgid "IDS_MUSIC_BODY_NO_SEARCH_RESULTS"
+msgstr "Nenhuns resultados de procura"
+
+msgid "IDS_MUSIC_SK_DONE"
+msgstr "Concluído"
+
+msgid "IDS_MUSIC_BODY_NO_ITEMS"
+msgstr "Sem itens"
+
+msgid "IDS_BR_OPT_ADD_TO_HOME"
+msgstr "Adicionar ao início"
+
+msgid "IDS_BR_SK_NEXT"
+msgstr "Seguinte"
+
+msgid "IDS_BR_BODY_DOWNLOADING_ING"
+msgstr "A transferir..."
+
+msgid "IDS_IV_BODY_FAVOURITE"
+msgstr "Favoritos"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_PERSONAL_STORAGE"
+msgstr "Adicionar ao armazenamento pessoal"
+
+msgid "IDS_DLNA_POP_DISCONNECTED_FROM_PS_CHECK_THE_NETWORK_STATUS_AND_THE_CONNECTED_DEVICE"
+msgstr "Desligado de %s. Verifique o estado da rede e o dispositivo ligado."
+
+msgid "IDS_DLNA_OPT_VIA_SCREEN_MIRRORING_ABB"
+msgstr "Via Screen Mirroring"
+
+msgid "IDS_DLNA_OPT_VIA_HOME_NETWORK_ABB"
+msgstr "Via rede de origem"
+
+msgid "IDS_IV_POP_ENTRY_IS_EMPTY"
+msgstr "Entrada vazia."
+
+msgid "IDS_FM_POP_UNAVAILABLE_DURING_CALL"
+msgstr "Indisponível durante chamada."
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Número máximo de caracteres atingido."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_SHARE_DRM_FILE"
+msgstr "Impossível partilhar ficheiro DRM."
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "A remover..."
+
+msgid "IDS_MUSIC_HEADER_PD_DEVICES"
+msgstr "%d dispositivos"
+
+msgid "IDS_MUSIC_BUTTON_ENABLE_MOTION"
+msgstr "Activar mov."
+
+msgid "IDS_MUSIC_BUTTON_DONT_ASK_AGAIN"
+msgstr "Não voltar a perguntar"
+
+msgid "IDS_MUSIC_BODY_NO_RESULTS_FOUND"
+msgstr "Nenhuns resultados encontrados."
+
+msgid "IDS_VPL_OPT_HDMI"
+msgstr "HDMI"
+
+msgid "IDS_MUSIC_BODY_TURN_PHONE_OVER_TO_MUTE_INCOMING_CALLS_MESSAGE_ALERTS_AND_ALARMS"
+msgstr "Mude o telefone para silenciar chamadas recebidas, alertas de mensagem e alarmes."
+
+msgid "IDS_ST_BODY_NONE"
+msgstr "Desligado"
+
+msgid "IDS_ST_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_ST_BODY_GALLERY"
+msgstr "Galeria"
+
+msgid "IDS_ST_BODY_DOUBLE_TAP_TO_MOVE_TO_CONTENT_T_TTS"
+msgstr "Toque duas vezes para mover o conteúdo."
+
+msgid "IDS_MUSIC_BODY_SURROUND"
+msgstr "Surround"
+
+msgid "IDS_MUSIC_OPT_LYRICS_ABB"
+msgstr "Letras"
+
+msgid "IDS_MUSIC_POP_AFTER_YOU_ADD_TRACKS_TO_MUSIC_ON_YOUR_MOBILE_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Depois de adicionar faixas a Música no seu dispositivo móvel, estas serão mostradas aqui."
+
+msgid "IDS_MUSIC_BODY_SAMPLING_RATE"
+msgstr "Frequência de amostragem"
+
+msgid "IDS_MUSIC_BODY_MARKED_AS_A_FAVOURITE"
+msgstr "Marcado como um favorito."
+
+msgid "IDS_MUSIC_BODY_MUSIC"
+msgstr "Música"
+
+msgid "IDS_MUSIC_BODY_NOT_MARKED_AS_A_FAVOURITE"
+msgstr "Não está marcado como um favorito."
+
+msgid "IDS_MUSIC_HEADER_SEARCH_MUSIC_ABB"
+msgstr "Procurar música"
+
+msgid "IDS_MUSIC_POP_AUTO_RECOMMENDATION_DOES_NOT_SUPPORT_THIS_AUDIO_FILE"
+msgstr "A recomendação automática não suporta este ficheiro de áudio."
+
+msgid "IDS_MUSIC_POP_SORRY_THE_PLAYER_DOES_NOT_SUPPORT_THIS_TYPE_OF_AUDIO_FILE"
+msgstr "Lamentamos, o leitor não suporta este tipo de ficheiro de áudio."
+
+msgid "IDS_MUSIC_BODY_FAVOURITES"
+msgstr "Favoritos"
+
+msgid "IDS_MUSIC_BODY_MOST_PLAYED"
+msgstr "Mais reproduzidas"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_ADDED"
+msgstr "Adicionadas recentemente"
+
+msgid "IDS_MUSIC_OPT_CREATE_PLAYLIST"
+msgstr "Criar lista de reprodução"
+
+msgid "IDS_MUSIC_OPT_REMOVE"
+msgstr "Remover"
+
+msgid "IDS_MUSIC_OPT_SETAS_CALLER_RINGTONE"
+msgstr "Toque do chamador"
+
+msgid "IDS_MUSIC_TAB4_ARTISTS"
+msgstr "Artistas"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD"
+msgstr "Impossível adicionar."
+
+msgid "IDS_MUSIC_POP_UNABLE_CREATE_PLAYLIST"
+msgstr "Impossível criar lista de reprodução."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_GET_TAG"
+msgstr "Impossível obter etiqueta."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_MORE_THAN_PD_MUSIC_FILE"
+msgstr "Impossível adicionar mais de %d ficheiros de música."
+
+msgid "IDS_MUSIC_BODY_ALBUM"
+msgstr "Álbum"
+
+msgid "IDS_MUSIC_BODY_AUTHOR"
+msgstr "Autor"
+
+msgid "IDS_MUSIC_BODY_COPYRIGHT"
+msgstr "Direitos de autor"
+
+msgid "IDS_MUSIC_BODY_CREATE_PLAYLIST"
+msgstr "Criar lista de reprodução"
+
+msgid "IDS_MUSIC_BODY_DESCRIPTION"
+msgstr "Descrição"
+
+msgid "IDS_MUSIC_BODY_FORMAT"
+msgstr "Formato"
+
+msgid "IDS_MUSIC_BODY_IMPOSSIBLE"
+msgstr "Impossível"
+
+msgid "IDS_MUSIC_BODY_NO_PLAYLISTS"
+msgstr "Nenhuma lista de reprodução"
+
+msgid "IDS_MUSIC_BODY_TRACK_NUMBER"
+msgstr "Número da faixa"
+
+msgid "IDS_MUSIC_POP_DELETE_Q"
+msgstr "Eliminar?"
+
+msgid "IDS_MUSIC_POP_REMOVE_Q"
+msgstr "Remover?"
+
+msgid "IDS_MUSIC_POP_UNABLE_RENAME_PLAYLIST"
+msgstr "Impossível mudar o nome da lista de reprodução."
+
+msgid "IDS_MUSIC_TAB4_ALBUMS"
+msgstr "Álbuns"
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "A adicionar..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Eliminar %d álbuns?"
+
+msgid "IDS_MUSIC_TAB4_PLAYLISTS"
+msgstr "Listas reprod."
+
+msgid "IDS_MUSIC_OPT_ADD"
+msgstr "Adicionar"
+
+msgid "IDS_MUSIC_BODY_BIOGRAPHY"
+msgstr "Biografia"
+
+msgid "IDS_MUSIC_BODY_CREDITS"
+msgstr "Créditos"
+
+msgid "IDS_MUSIC_BODY_DETAILS_MEADIA_INFO"
+msgstr "Info multimédia"
+
+msgid "IDS_MUSIC_BODY_DISCOGRAPHY"
+msgstr "Discografia"
+
+msgid "IDS_MUSIC_BODY_LYRIC"
+msgstr "Letra"
+
+msgid "IDS_MUSIC_BODY_POSSIBLE"
+msgstr "Possível"
+
+msgid "IDS_MUSIC_BODY_REVIEW"
+msgstr "Rever"
+
+msgid "IDS_MUSIC_HEADER_TRACK_LIST"
+msgstr "Lista de faixas"
+
+msgid "IDS_MUSIC_BODY_ADD_TO_PLAYLIST"
+msgstr "Adicionar à lista de reprodução"
+
+msgid "IDS_MUSIC_BODY_ARTIST"
+msgstr "Artista"
+
+msgid "IDS_MUSIC_BODY_FORWARDING"
+msgstr "Reencaminhar"
+
+msgid "IDS_MUSIC_BODY_RECORDED_DATE"
+msgstr "Date of recording"
+
+msgid "IDS_MUSIC_BODY_PLAYLISTS"
+msgstr "Listas de reprodução"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_PLAYED"
+msgstr "Reproduzidas recentemente"
+
+msgid "IDS_MUSIC_BODY_TRACK_LENGTH"
+msgstr "Duração da faixa"
+
+msgid "IDS_MUSIC_HEADER_NO_SONGS"
+msgstr "Nenhumas músicas"
+
+msgid "IDS_MUSIC_POP_THIS_TRACK_WILL_BE_DELETED"
+msgstr "Esta faixa será eliminada."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_TRACKS_WILL_BE_DELETED"
+msgstr "As faixas seleccionadas serão eliminadas."
+
+msgid "IDS_MUSIC_POP_THIS_ARTIST_WILL_BE_DELETED"
+msgstr "Este artista será eliminado."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ARTISTS_WILL_BE_DELETED"
+msgstr "Os artistas seleccionados serão eliminados."
+
+msgid "IDS_MUSIC_POP_ALL_ARTISTS_WILL_BE_DELETED"
+msgstr "Todos os artistas serão eliminados."
+
+msgid "IDS_MUSIC_POP_THIS_FOLDER_WILL_BE_DELETED"
+msgstr "Esta pasta será eliminada."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_FOLDERS_WILL_BE_DELETED"
+msgstr "As pastas seleccionadas serão eliminadas."
+
+msgid "IDS_MUSIC_POP_ALL_FOLDERS_WILL_BE_DELETED"
+msgstr "Todas as pastas serão eliminadas."
+
+msgid "IDS_MUSIC_POP_THIS_ALBUM_WILL_BE_DELETED"
+msgstr "Este álbum será eliminado."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ALBUMS_WILL_BE_DELETED"
+msgstr "Os álbuns seleccionados serão eliminados."
+
+msgid "IDS_MUSIC_POP_ALL_ALBUMS_WILL_BE_DELETED"
+msgstr "Todos os álbuns serão eliminados."
+
+msgid "IDS_MUSIC_POP_THIS_PLAYLIST_WILL_BE_DELETED"
+msgstr "Esta lista de reprodução será eliminada."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_PLAYLISTS_WILL_BE_DELETED"
+msgstr "As listas de reprodução seleccionadas serão eliminadas."
+
+msgid "IDS_MUSIC_POP_ALL_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Todas as listas de reprodução serão eliminadas."
+
+msgid "IDS_MUSIC_HEADER_SONGS"
+msgstr "Músicas"
+
+msgid "IDS_MUSIC_OPT_REORDER"
+msgstr "Reordenar"
+
+msgid "IDS_MUSIC_OPT_SAVE_AS_PLAYLIST"
+msgstr "Guardar como lista de reprodução"
+
+msgid "IDS_MUSIC_OPT_SETAS_ALARM_TONE"
+msgstr "Tom do alarme"
+
+msgid "IDS_MUSIC_POP_NOTHING_SELECTED"
+msgstr "Nada seleccionado."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Impossível reproduzir. Ocorreu um erro."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_UNSUPPORTED_FILETYPE"
+msgstr "Impossível reproduzir. Tipo de ficheiro não suportado."
+
+msgid "IDS_MUSIC_SK_SHARE"
+msgstr "Partilhar"
+
+msgid "IDS_MUSIC_TAB4_CONDUCTORS"
+msgstr "Maestros"
+
+msgid "IDS_MUSIC_HEADER_SELECT_DEVICE"
+msgstr "Seleccionar dispositivo"
+
+msgid "IDS_MUSIC_SK_VIEW_AS"
+msgstr "Ver"
+
+msgid "IDS_MUSIC_BODY_SOUNDEFFECTS_NORMAL"
+msgstr "Normal"
+
+msgid "IDS_MUSIC_BODY_USER"
+msgstr "Utilizador"
+
+msgid "IDS_MUSIC_BODY_VOCAL_M_SOUNDEFFECT"
+msgstr "Vocal"
+
+msgid "IDS_MUSIC_MBODY_BASS_BOOST"
+msgstr "Amplificação de baixos"
+
+msgid "IDS_MUSIC_MBODY_TREBLE_BOOST"
+msgstr "Amplificação de agudos"
+
+msgid "IDS_MUSIC_BODY_CAFE_M_SOUNDEFFECT"
+msgstr "Café"
+
+msgid "IDS_MUSIC_OPT_VIRTUAL_71_CH"
+msgstr "Canal virtual 7.1"
+
+msgid "IDS_MUSIC_OPT_AFTER_15_MIN_ABB"
+msgstr "Após 15 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_30_MIN"
+msgstr "Após 30 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HOUR"
+msgstr "Após 1 hora"
+
+msgid "IDS_MUSIC_POP_AFTER_1_HOUR_30_MIN"
+msgstr "Após 1 hora e 30 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_2_HOURS"
+msgstr "Após 2 horas"
+
+msgid "IDS_MUSIC_BODY_MUSIC_AUTO_OFF"
+msgstr "Desligar música automaticamente"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES_ONLY"
+msgstr "Este efeito de som funciona apenas nos modos de auricular e auricular Bluetooth."
+
+msgid "IDS_MUSIC_TAB4_MUSIC_SQUARE"
+msgstr "Music square"
+
+msgid "IDS_MUSIC_POP_NOT_ENOUGH_MUSIC_FILES_TO_PLAY_IN_MUSIC_SQUARE_AT_LEAST_PD_MUSIC_FILES_REQUIRED"
+msgstr "Ficheiros de música insuficientes para reproduzir em Music Square. São necessárias pelo menos %d ficheiros de música."
+
+msgid "IDS_MUSIC_BODY_PASSION_M_MOOD"
+msgstr "Paixão"
+
+msgid "IDS_MUSIC_BODY_CALM_M_ADJECTIVE"
+msgstr "Calmo"
+
+msgid "IDS_MUSIC_BODY_JOY_M_MOOD"
+msgstr "Alegria"
+
+msgid "IDS_MUSIC_BODY_LIBRARY_UPDATE"
+msgstr "Actualização da biblioteca"
+
+msgid "IDS_MUSIC_POP_UPDATE_LIBRARY_Q"
+msgstr "Actualizar biblioteca?"
+
+msgid "IDS_MUSIC_BODY_CHANGE_AXIS"
+msgstr "Alterar eixo"
+
+msgid "IDS_MUSIC_ITAB4_GENRES"
+msgstr "Géneros"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_1_TRACK"
+msgstr "1 álbum/1 faixa"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_PD_TRACKS"
+msgstr "1 álbum/%d faixas"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS_PD_TRACKS"
+msgstr "%d álbuns/%d faixas"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_CONTROL_MUSIC_PLAYER_WITH_THE_VOICE_COMMANDS_P1SS_P2SS_P3SS_P4SS_P5SS_AND_P6SS"
+msgstr "Pode controlar o Leitor de Música com os comandos de voz %1$s, %2$s, %3$s, %4$s, %5$s e %6$s."
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_PD_TRACKS"
+msgstr "Reproduzir %d faixas aleatoriamente"
+
+msgid "IDS_MUSIC_BODY_MORE_INFO"
+msgstr "Mais informações"
+
+msgid "IDS_MUSIC_HEADER_MY_MUSIC_M_APPLICATION_NAME"
+msgstr "A minha música"
+
+msgid "IDS_MUSIC_OPT_LIST_VIEW"
+msgstr "Vista de lista"
+
+msgid "IDS_MUSIC_OPT_PLAY_VIA_GROUP_PLAY"
+msgstr "Reproduzir via Group Play"
+
+msgid "IDS_MUSIC_POP_TRACK_ADDED_TO_FAVOURITES"
+msgstr "Faixa adicionada aos favoritos."
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_FAVOURITES"
+msgstr "Remover dos favoritos"
+
+msgid "IDS_MUSIC_BODY_NEW_M_LATEST"
+msgstr "Novo"
+
+msgid "IDS_MUSIC_OPT_TRACKS"
+msgstr "Faixas"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL"
+msgstr "Miniatura"
+
+msgid "IDS_MUSIC_SK_LIST"
+msgstr "Lista"
+
+msgid "IDS_MUSIC_SK_OPEN_PLAYLIST"
+msgstr "Abrir lista de reprodução"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALL"
+msgstr "Reproduzir tudo"
+
+msgid "IDS_MUSIC_POP_SELECTED_LIST_EMPTY"
+msgstr "Lista seleccionada vazia."
+
+msgid "IDS_MUSIC_BODY_MOODS"
+msgstr "Humores"
+
+msgid "IDS_MUSIC_BUTTON_YEARS"
+msgstr "Anos"
+
+msgid "IDS_MUSIC_BODY_OLD"
+msgstr "Antigo"
+
+msgid "IDS_MUSIC_BODY_MUSIC_SQUARE_ANALYSES_THE_CHARACTERISTICS_OF_MUSIC_FILES_STORED_ON_YOUR_DEVICE_AND_AUTOMATICALLY_CREATES_PLAYLISTS_MSG"
+msgstr "O Music Square analisa primeiro as características dos ficheiros de música guardados no dispositivo e cria automaticamente listas de reprodução."
+
+msgid "IDS_MUSIC_BODY_PLAY_TRACKS_WITH_SIMILAR_CHARACTERISTICS_BY_SELECTING_A_SQUARE_ON_THE_SCREEN"
+msgstr "Reproduza a lista de reprodução de música com características semelhantes seleccionado um quadrado no ecrã."
+
+msgid "IDS_MUSIC_BODY_VIEW_PLAYLIST_DETAILS_BY_TAPPING_AND_HOLDING_THE_SQUARE_CURRENTLY_BEING_PLAYED"
+msgstr "Veja detalhes da lista de reprodução tocando, sem soltar, o quadrado que está a ser reproduzido actualmente."
+
+msgid "IDS_MUSIC_BODY_NEARBY_DEVICES"
+msgstr "Dispositivos próximos"
+
+msgid "IDS_MUSIC_POP_YOU_WILL_NEED_TO_UPDATE_THE_LIBRARY_IF_NEW_SONGS_HAVE_BEEN_ADDED"
+msgstr "Se forem adicionadas novas músicas, deverá actualizar a biblioteca."
+
+msgid "IDS_MUSIC_BODY_NO_ALBUMS"
+msgstr "Sem álbuns"
+
+msgid "IDS_MUSIC_BODY_NO_ARTISTS"
+msgstr "Nenhuns artistas"
+
+msgid "IDS_MUSIC_OPT_PLAY_SPEED_ABB"
+msgstr "Velocid. reprodução"
+
+msgid "IDS_MUSIC_BODY_CONCERT_HALL_M_SOUNDEFFECT"
+msgstr "Sala de concertos"
+
+msgid "IDS_MUSIC_OPT_ADD_TO"
+msgstr "Adicionar a"
+
+msgid "IDS_MUSIC_SK_VIEW"
+msgstr "Ver"
+
+msgid "IDS_MUSIC_OPT_LISTBY_RECENTLY_ADDED"
+msgstr "Adicionadas recentemente"
+
+msgid "IDS_MUSIC_BODY_NOT_USED"
+msgstr "Não utilizado"
+
+msgid "IDS_MUSIC_BODY_MAKE_AVAILABLE_OFFLINE"
+msgstr "Disponibilizar offline"
+
+msgid "IDS_MUSIC_OPT_AFTER_P1SD_HRS_P2SD_MINS"
+msgstr "após %1$d h e %2$d min"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS"
+msgstr "Após %d horas"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_MINS"
+msgstr "Após %d min"
+
+msgid "IDS_MUSIC_BODY_NO_FOLDERS"
+msgstr "Sem pastas"
+
+msgid "IDS_MUSIC_BODY_NO_TRACKS"
+msgstr "Nenhumas faixas"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS"
+msgstr "%d álbuns"
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS"
+msgstr "%d artistas"
+
+msgid "IDS_MUSIC_BODY_PD_GENRES"
+msgstr "%d géneros"
+
+msgid "IDS_MUSIC_BODY_PD_PLAYLISTS"
+msgstr "%d listas de reprodução"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_ABB"
+msgstr "%d faixas"
+
+msgid "IDS_MUSIC_BODY_PLAYLIST"
+msgstr "Lista de reprodução"
+
+msgid "IDS_MUSIC_HEADER_SIMILAR_ALBUMS"
+msgstr "Álbuns semelhantes"
+
+msgid "IDS_MUSIC_HEADER_TRACK"
+msgstr "Faixa"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL_VIEW"
+msgstr "Vista de miniatura"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "Este efeito de som só funciona no modo de auricular."
+
+msgid "IDS_MUSIC_OPT_ALL_CONTENT_ABB2"
+msgstr "Todo o conteúdo"
+
+msgid "IDS_MUSIC_BODY_A_NETWORK_CONNECTION_IS_REQUIRED_TO_PLAY_THIS_FILE_CHECK_YOUR_NETWORK_CONNECTION_AND_TRY_AGAIN"
+msgstr "É necessária uma ligação de rede para reproduzir este ficheiro. Verifique a sua ligação de rede e tente novamente."
+
+msgid "IDS_MUSIC_POP_FILE_TYPE_NOT_SUPPORTED"
+msgstr "Tipo de ficheiro não suportado."
+
+msgid "IDS_MUSIC_POP_UPDATING_ING"
+msgstr "A actualizar..."
+
+msgid "IDS_MUSIC_OPT_SEARCH_ABB"
+msgstr "Procurar"
+
+msgid "IDS_MUSIC_OPT_SEARCH_BY"
+msgstr "Procurar por"
+
+msgid "IDS_MUSIC_BODY_RELATED_VIDEOS"
+msgstr "Vídeos relacionados"
+
+msgid "IDS_MUSIC_BODY_SMART_VOLUME_ABB"
+msgstr "Volume inteligente"
+
+msgid "IDS_MUSIC_BODY_THE_VOLUME_OF_ALL_TRACKS_WILL_BE_ADJUSTED_TO_LEVEL_PD"
+msgstr "O volume de todas as faixas será ajustado com o nível %d."
+
+msgid "IDS_MUSIC_HEADER_SMART_VOLUME_IS_ENABLED"
+msgstr "Volume inteligente activado"
+
+msgid "IDS_MUSIC_OPT_CONNECTION_INFO_ABB"
+msgstr "Info de ligação"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_PD_MINS"
+msgstr "Após 1 hora e %d min"
+
+msgid "IDS_MUSIC_BODY_ADAPT_SOUND_ABB"
+msgstr "Adapt Sound"
+
+msgid "IDS_MUSIC_BODY_MY_DEVICE"
+msgstr "O meu dispositivo"
+
+msgid "IDS_MUSIC_POP_LISTENING_AT_A_HIGH_VOLUME_FOR_A_LONG_TIME_MAY_DAMAGE_YOUR_HEARING_RAISE_THE_VOLUME_ABOVE_SAFE_LEVELS_Q"
+msgstr "A audição com um volume alto durante muito tempo pode causar lesões nos seus ouvidos. Aumentar o volume acima dos níveis seguros?"
+
+msgid "IDS_MUSIC_POP_ALREADY_EXISTS"
+msgstr "Já existe."
+
+msgid "IDS_MUSIC_OPT_SCAN_FOR_NEARBY_DEVICES"
+msgstr "Pesquisar dispositivos próximos"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR"
+msgstr "Após 1 hora"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_1_MIN"
+msgstr "Após 1 h 1 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS_1_MIN"
+msgstr "Após %d horas 1 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_MIN"
+msgstr "Após 1 min"
+
+msgid "IDS_MUSIC_OPT_GO_TO_STORE"
+msgstr "Ir para loja"
+
+msgid "IDS_MUSIC_SK3_ADD_TRACKS"
+msgstr "Adicion.\nfaixas"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FROM_MUSIC_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Depois de transferir faixas de Música, estas serão mostradas aqui."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_YOUR_FAVOURITES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Depois de adicionar faixas aos seus favoritos, estes serão mostrados aqui."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_PLAY_TRACKS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Depois de reproduzir faixas, estas serão mostradas aqui."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_PS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Depois de adicionar faixas a %s, estas serão mostradas aqui."
+
+msgid "IDS_MUSIC_BODY_NO_PURCHASED_CONTENT"
+msgstr "Sem conteúdo comprado"
+
+msgid "IDS_MUSIC_SK_SAVE_AS"
+msgstr "Gua. como"
+
+msgid "IDS_MUSIC_POP_MUSICPLAYER_UPDATING_FAILED"
+msgstr "Falha ao actualizar."
+
+msgid "IDS_MUSIC_BODY_EXCITING_M_ADJECTIVE"
+msgstr "Excitante"
+
+msgid "IDS_MUSIC_BODY_SEARCH_MY_MUSIC"
+msgstr "Procurar a minha música"
+
+msgid "IDS_MUSIC_HEADER_CONNECTED_DEVICES"
+msgstr "Dispositivos ligados"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST_PS"
+msgstr "A minha lista de reprodução %s"
+
+msgid "IDS_MUSIC_BODY_NO_DEVICES"
+msgstr "Sem dispositivos"
+
+msgid "IDS_MUSIC_HEADER_AVAILABLE_DEVICES_ABB"
+msgstr "Disposit disponíveis"
+
+msgid "IDS_MUSIC_POP_SET"
+msgstr "Definido"
+
+msgid "IDS_MUSIC_POP_REMOVE_FAILED"
+msgstr "Remoção falhada."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_USE_FAST_FORWARD_AND_REWIND_WHEN_NEARBY_DEVICES_ARE_ENABLED"
+msgstr "Impossível utilizar o avanço rápido e o retrocesso quando existem dispositivos próximos activados."
+
+msgid "IDS_MUSIC_OPT_SET_AS"
+msgstr "Definir como"
+
+msgid "IDS_MUSIC_OPT_HEADPHONES_ABB"
+msgstr "Auscultadores"
+
+msgid "IDS_MUSIC_OPT_SPEAKER"
+msgstr "Alta-voz"
+
+msgid "IDS_MUSIC_BODY_1_SONG"
+msgstr "1 música"
+
+msgid "IDS_MUSIC_BODY_PD_SONGS"
+msgstr "%d músicas"
+
+msgid "IDS_MUSIC_BODY_1_TRACK"
+msgstr "1 faixa"
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_1_TRACK"
+msgstr "Reproduzir 1 faixa aleatoriamente"
+
+msgid "IDS_MUSIC_POP_NO_MUSIC_FOUND_FOR_SELECTED_CELL"
+msgstr "Não foi encontrada qualquer música para a célula seleccionada"
+
+msgid "IDS_MUSIC_BODY_DO_NOT_SHOW_AGAIN"
+msgstr "Não mostrar novamente"
+
+msgid "IDS_MUSIC_BODY_VARIOUS_ARTISTS"
+msgstr "Vários artistas"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_HOME_SCREEN_ABB"
+msgstr "Adicionar ao ecrã principal"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_FAVOURITES"
+msgstr "Adicionar aos Favoritos"
+
+msgid "IDS_MUSIC_OPT_EDIT_TITLE"
+msgstr "Editar título"
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_PERSONAL_STORAGE"
+msgstr "Remover do armazenamento pessoal"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FOLDERS_WILL_BE_SHOWN"
+msgstr "Depois de transferir faixas, as pastas serão mostradas aqui"
+
+msgid "IDS_MUSIC_BODY_SETTINGS_VOLUME"
+msgstr "Volume"
+
+msgid "IDS_MUSIC_BODY_REPEAT_OFF"
+msgstr "Repetição desligada"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_REPEAT_ALL"
+msgstr "Repetir tudo"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_OFF"
+msgstr "Desligar aleatório"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_ON"
+msgstr "Ligar aleatório"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST"
+msgstr "A minha lista de reprodução"
+
+msgid "IDS_MUSIC_MBODY_DEFAULT_PLAYLISTS"
+msgstr "Listas reprodução padrão"
+
+msgid "IDS_MUSIC_BODY_DETAILS_RECORDING_DATE"
+msgstr "Data da gravação"
+
+msgid "IDS_MUSIC_OPT_ALBUM_ART_ABB"
+msgstr "Capa álbum"
+
+msgid "IDS_MUSIC_BODY_1_GENRE"
+msgstr "1 género"
+
+msgid "IDS_MUSIC_BODY_PD_FOLDERS"
+msgstr "%d pastas"
+
+msgid "IDS_MUSIC_BODY_1_FOLDER"
+msgstr "1 pasta"
+
+msgid "IDS_MUSIC_BODY_1_ARTIST"
+msgstr "1 artista"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_M_MUSIC"
+msgstr "1 álbum"
+
+msgid "IDS_MUSIC_BODY_1_PLAYLIST"
+msgstr "1 lista de reprodução"
+
+msgid "IDS_MUSIC_BODY_MUSIC_PLAYER"
+msgstr "Leitor de Música"
+
+msgid "IDS_MUSIC_BUTTON_MOVE"
+msgstr "Mover"
+
+msgid "IDS_MUSIC_BUTTON_AUTO_RECOMMENDATIONS"
+msgstr "Recomendações automáticas"
+
+msgid "IDS_MUSIC_BUTTON_FROM_THE_BEGINNING"
+msgstr "A partir do início"
+
+msgid "IDS_MUSIC_HEADER_SUGGESTIONS_FOR_YOU"
+msgstr "Sugestões para si"
+
+msgid "IDS_MUSIC_OPT_SAVE"
+msgstr "Guardar"
+
+msgid "IDS_MUSIC_TAB4_BASIC_M_EQUALIZING"
+msgstr "Básica"
+
+msgid "IDS_MUSIC_BODY_INSTRUMENT"
+msgstr "Instrumento"
+
+msgid "IDS_MUSIC_BODY_TREBLE_M_EQUALISER"
+msgstr "Agudos"
+
+msgid "IDS_MUSIC_BODY_BASS_M_EQUALISER"
+msgstr "Baixos"
+
+msgid "IDS_MUSIC_BODY_NO_EFFECTS_ARE_APPLIED_IN_THIS_MODE_ABB"
+msgstr "Não são aplicados efeitos neste modo."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_TIMBRE_OF_A_TUBE_AMP_ABB"
+msgstr "Simula o timbre de um amplificador de válvulas."
+
+msgid "IDS_MUSIC_OPT_TUBE_AMP_EFFECT"
+msgstr "Efeito amplificador de válvulas"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_EFFECT_OF_VIRTUAL_71_CHANNEL_SURROUND_SOUND_ABB"
+msgstr "Simula o efeito de som surround de 7.1 canais."
+
+msgid "IDS_MUSIC_HEADER_SMALL_ROOM_M_REVERB_ABB"
+msgstr "Sala pequena"
+
+msgid "IDS_MUSIC_HEADER_LARGE_ROOM_M_REVERB_ABB"
+msgstr "Divisão grande"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_LARGE_ROOM_EG_A_THEATRE_ABB"
+msgstr "Simula a reverberação de uma sala ampla."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_CONCERT_HALL_ABB"
+msgstr "Simula a reverberação de uma sala de concertos."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_SMALL_SPACE_EG_A_STUDIO_ABB"
+msgstr "Simula a reverberação de um espaço pequeno."
+
+msgid "IDS_MUSIC_BUTTON_3D_CHN"
+msgstr "3D"
+
+msgid "IDS_MUSIC_BODY_CLARITY_M_SOUNDEFFECT"
+msgstr "Clareza"
+
+msgid "IDS_MUSIC_BUTTON_RESET"
+msgstr "Repor"
+
+msgid "IDS_MUSIC_TAB_YEARS"
+msgstr "Anos"
+
+msgid "IDS_MUSIC_TAB_GENRES"
+msgstr "Géneros"
+
+msgid "IDS_MUSIC_TAB_COMPOSERS"
+msgstr "Compositores"
+
+msgid "IDS_MUSIC_TAB_ALL_TRACKS"
+msgstr "Todas as faixas"
+
+msgid "IDS_MUSIC_SK3_GO_TO_QUICK_LIST"
+msgstr "Ir p/ lis. ráp."
+
+msgid "IDS_MUSIC_SK3_FIND"
+msgstr "Localizar"
+
+msgid "IDS_MUSIC_SK3_ADD_TO_QUICK_LIST"
+msgstr "Ad. à lis. ráp."
+
+msgid "IDS_MUSIC_POP_UNAUTHORISED_VIDEO_FILE_FOR_TV_OUT"
+msgstr "Ficheiro de vídeo não autorizado para TV-out."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_CREATE_MAXIMUM_NUMBER_OF_PLAYLISTS_REACHED"
+msgstr "Impossível criar. Número máximo de listas de reprodução atingido."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTING_BLUETOOTH_HEADSET"
+msgstr "Impossível regular o volume durante a ligação de auriculares Bluetooth."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTED_TO_BLUETOOTH_HEADSET"
+msgstr "Impossível regular o volume durante a ligação de auriculares Bluetooth."
+
+msgid "IDS_MUSIC_POP_STOP_MUSIC_PLAYER_Q"
+msgstr "Parar Leitor de Música?"
+
+msgid "IDS_MUSIC_POP_PLEASE_EXIT_SILENT_MODE"
+msgstr "Saia do modo silencioso."
+
+msgid "IDS_MUSIC_POP_NETWORK_FAILURE"
+msgstr "Falha de rede."
+
+msgid "IDS_MUSIC_POP_MEMORY_CARD_LOADED"
+msgstr "Cartão de memória carregado."
+
+msgid "IDS_MUSIC_POP_DEVICE_SETTINGS_ERROR"
+msgstr "Erro de definições do dispositivo."
+
+msgid "IDS_MUSIC_POP_COULD_NOT_FIND_A_MATCH_FOR_THE_SONG"
+msgstr "Impossível encontrar correspondência para a música."
+
+msgid "IDS_MUSIC_POP_BUFFERING_MSTATUS"
+msgstr "Em armazenamento temporário"
+
+msgid "IDS_MUSIC_POP_BT_HEADSET_ONLY_SUPPORTS_NORMAL_EFFECTS_SETTING"
+msgstr "O auricular BT só suporta a definição de efeitos normais."
+
+msgid "IDS_MUSIC_POP_APPLICATION_WILL_BE_CLOSED"
+msgstr "A aplicação será fechada."
+
+msgid "IDS_MUSIC_POP_ADDED_GO_TO_WISH_LIST_Q"
+msgstr "Adicionada. Ir para lista de pedidos?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_THE_SERVICE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "O acesso ao serviço pode ser cobrado. Continuar?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_STORE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "O acesso à loja pode ser cobrado. Continuar?"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_ONLY_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES"
+msgstr "O efeito de som do canal 5.1 funciona apenas nos modos de auricular e auricular Bluetooth."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "O efeito de som do canal 5.1 funciona apenas no modo de auricular."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECTS_NOT_SUPPORTED_BY_SPEAKER"
+msgstr "Efeitos de som do canal 5.1 não são suportados pelo altifalante."
+
+msgid "IDS_MUSIC_OPT_VIEW_BY_COVER_ART"
+msgstr "Ver por capa"
+
+msgid "IDS_MUSIC_OPT_SEND_TRACK"
+msgstr "Enviar faixa"
+
+msgid "IDS_MUSIC_OPT_RATE_TRACK"
+msgstr "Classificar faixa"
+
+msgid "IDS_MUSIC_OPT_PLAYLIST_MOVE_TRACK_IN_PLAYLIST"
+msgstr "Mover faixa na lista de reprodução"
+
+msgid "IDS_MUSIC_OPT_OPENPLAYLIST_CURRENT"
+msgstr "Actual"
+
+msgid "IDS_MUSIC_OPT_DELETE_PLAYLIST"
+msgstr "Apagar lista de reprodução"
+
+msgid "IDS_MUSIC_OPT_BACKGROUND_PLAYING"
+msgstr "Reprodução em segundo plano"
+
+msgid "IDS_MUSIC_HEADER_EFFECTS"
+msgstr "Efeitos"
+
+msgid "IDS_MUSIC_BUTTON_BUY_NOW"
+msgstr "Comprar"
+
+msgid "IDS_MUSIC_BODY_WOW_HD"
+msgstr "Wow HD"
+
+msgid "IDS_MUSIC_BODY_WISHLIST"
+msgstr "Lista de pedidos"
+
+msgid "IDS_MUSIC_BODY_WIDE"
+msgstr "Amplo"
+
+msgid "IDS_MUSIC_BODY_WHA_WHA"
+msgstr "Wha-wha"
+
+msgid "IDS_MUSIC_BODY_VIBE_WOOFER"
+msgstr "Woofer de vibrações"
+
+msgid "IDS_MUSIC_BODY_TREMOLO"
+msgstr "Tremolo"
+
+msgid "IDS_MUSIC_BODY_TAP_TWICE_TO_PLAY_PAUSE_MUSIC"
+msgstr "Tocar duas vezes para reproduzir/pausar música."
+
+msgid "IDS_MUSIC_BODY_SHARE_TRACK_VIA_BLUETOOTH"
+msgstr "Partilhar faixa por Bluetooth"
+
+msgid "IDS_MUSIC_BODY_SETUPWIZARD_WELCOME_TO_THE_MUSIC_SETUP_WIZARD_CONTINUE_Q"
+msgstr "Bem-vindo ao Assistente de configuração de música.\nOs ecrãs que se seguem irão ajudá-lo a configurar o telefone. Continuar?"
+
+msgid "IDS_MUSIC_BODY_QUICK_LIST"
+msgstr "Lista rápida"
+
+msgid "IDS_MUSIC_BODY_PLAYINGSETTINGS_SOUND_EFFECTS"
+msgstr "Efeitos de som"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_ALL"
+msgstr "Tudo"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_1"
+msgstr "1"
+
+msgid "IDS_MUSIC_BODY_PLAYERSETTINGS_VOLUME"
+msgstr "Volume"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_SELECTED"
+msgstr "%d faixas seleccionadas."
+
+msgid "IDS_MUSIC_BODY_NO_PODCASTS"
+msgstr "Nenhuns podcasts"
+
+msgid "IDS_MUSIC_BODY_FIND_SIMILAR"
+msgstr "Localizar semelhante"
+
+msgid "IDS_MUSIC_BODY_BACKGROUND_PLAY"
+msgstr "Reprodução em fundo"
+
+msgid "IDS_MUSIC_BODY_51_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "O canal 5.1 só pode ser activado quando os efeitos de som estão desligados."
+
+msgid "IDS_MUSIC_TAB4_PODCASTS"
+msgstr "Podcasts"
+
+msgid "IDS_MUSIC_SK2_EDIT_IMAGE"
+msgstr "Editar imagem"
+
+msgid "IDS_MUSIC_POP_PLAYING_ANY_SOUNDS_WILL_STOP_AND_SAVE_YOUR_VOICE_RECORDING_PLAY_Q"
+msgstr "Se reproduzir sons, a gravação de voz pára e é guardada. Reproduzir?"
+
+msgid "IDS_MUSIC_POP_MAXIMUM_NUMBER_OF_ITEMS_HPD_SELECTED"
+msgstr "Número máximo de itens (%d) seleccionados."
+
+msgid "IDS_MUSIC_POP_BLUETOOTH_DISCONNECTED"
+msgstr "Bluetooth desligado."
+
+msgid "IDS_MUSIC_POP_5_1_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "O canal 5.1 só pode ser activado quando os efeitos de som estão desligados."
+
+msgid "IDS_MUSIC_OPT_TAKE_PICTURE"
+msgstr "Tirar fotografia"
+
+msgid "IDS_MUSIC_OPT_SHOW_MUSIC_VIEW_ABB"
+msgstr "Mostrar vista de música"
+
+msgid "IDS_MUSIC_OPT_PAUSE"
+msgstr "Pausa"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALBUM"
+msgstr "Reproduzir álbum"
+
+msgid "IDS_MUSIC_OPT_LIST_BY"
+msgstr "Listar por"
+
+msgid "IDS_MUSIC_OPT_HISTORY"
+msgstr "Histórico"
+
+msgid "IDS_MUSIC_OPT_HIDE_MUSIC_VIEW_ABB"
+msgstr "Ocultar vista de música"
+
+msgid "IDS_MUSIC_OPT_FIND_TAG"
+msgstr "Localizar etiqueta"
+
+msgid "IDS_MUSIC_OPT_DROPBOX_CONTENT_ABB"
+msgstr "Conteúdo Dropbox"
+
+msgid "IDS_MUSIC_OPT_CONTENT_ON_PHONE_ABB"
+msgstr "Conteúdo telefone"
+
+msgid "IDS_MUSIC_OPT_CHANGE_IMAGE"
+msgstr "Alterar imagem"
+
+msgid "IDS_MUSIC_HEADER_DELETE_DROPBOX_DATA_ABB"
+msgstr "Eliminar dados Dropbox"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_STREAM_YOUR_MUSIC_TO_DEVICES_USING_ALLSHARE"
+msgstr "Pode efectuar o streaming da sua música para dispositivo utilizando AllShare."
+
+msgid "IDS_MUSIC_BODY_VALIDITY"
+msgstr "Validade"
+
+msgid "IDS_MUSIC_BODY_TYPE_CNOUN"
+msgstr "Tipo"
+
+msgid "IDS_MUSIC_BODY_THIS_WILL_DELETE_THE_FILE_FROM_THE_SERVER_AND_ANY_CONNECTED_DEVICES_AS_WELL"
+msgstr "Isto irá eliminar o ficheiro do servidor e quaisquer dispositivos que estejam ligados."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_ARTISTS"
+msgstr "Artistas"
+
+msgid "IDS_MUSIC_BODY_PLAYINGDETAILS_ALBUM_ART"
+msgstr "Capa do álbum"
+
+msgid "IDS_MUSIC_BODY_OTHER_CONTENTS"
+msgstr "Outros conteúdos"
+
+msgid "IDS_MUSIC_BODY_NAME_TOO_LONG"
+msgstr "Nome demasiado comprido."
+
+msgid "IDS_MUSIC_BODY_MUSIC_CLARITY"
+msgstr "Nitidez da música"
+
+msgid "IDS_MUSIC_BODY_HIGH_VOLUMES_MAY_HARM_YOUR_HEARING_IF_YOU_LISTEN_FOR_A_LONG_TIME"
+msgstr "O volume de som elevado pode prejudicar a sua audição se a expuser a este durante muito tempo."
+
+msgid "IDS_MUSIC_BODY_AVAILABLE_USES"
+msgstr "Utilizações disponíveis"
+
+msgid "IDS_MUSIC_TPOP_SOUND_EFFECTS_ONLY_AVAILABLE_WHILE_HEADPHONES_CONNECTED"
+msgstr "Os efeitos de som só estão disponíveis quando os auriculares estão ligados."
+
+msgid "IDS_ST_OPT_ADD_TO_YOUR_PERSONAL_STORAGE"
+msgstr "Adicione o seu armazenamento pessoal"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_YOUR_PERSONAL_STORAGE"
+msgstr "Remover do seu armazenamento pessoal"
+
+msgid "IDS_ST_BODY_CONTEXTUAL_POP_UP_T_TALKBACK"
+msgstr "Pop-up contextual"
+
+msgid "IDS_ST_BODY_A_CONTEXTUAL_POP_UP_IS_OPEN_DOUBLE_TAP_TO_CLOSE_IT_T_TALKBACK"
+msgstr "Está aberto um pop-up contextual. Toque duas vezes para o fechar."
+
+msgid "IDS_ST_BODY_REPEAT_ONE"
+msgstr "Repetir uma vez"
+
+msgid "IDS_ST_BUTTON_MOVING_ING"
+msgstr "A mover..."
+
+msgid "IDS_HS_BODY_SELECT_UP_TO_PD_ITEMS"
+msgstr "Seleccione até %d itens"
+
+msgid "IDS_CAM_BODY_TAB_T_TTS"
+msgstr "Separador"
+
+msgid "IDS_DLNA_OPT2_CHANGE_PLAYER"
+msgstr "Mudar leitor"
+
+msgid "IDS_BR_SK_TABS"
+msgstr "Separador"
+
+msgid "IDS_MF_BODY_DROPBOX_ABB"
+msgstr "Dropbox"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "As recomendações automáticas podem extrair destaques de ficheiros de som."
+
+msgid "IDS_MF_BODY_PARENT_RATING"
+msgstr "Classificação parental"
+
+msgid "IDS_VR_POP_FILE_NOT_FOUND"
+msgstr "Ficheiro não encontrado."
+
+msgid "IDS_PB_POP_CALLER_RINGTONE_SAVED"
+msgstr "Tom de toque de chamador guardado."
+
+msgid "IDS_MUSIC_BODY_BIT_DEPTH"
+msgstr "Profundidade de bits"
+
+msgid "IDS_MUSIC_BODY_SIZE"
+msgstr "Tamanho"
+
+msgid "IDS_MF_HEADER_PD_SELECTED"
+msgstr "%d seleccionado(s)"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_THIS_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Depois de adicionar faixas a este dispositivo, estas serão mostradas aqui."
+
+msgid "IDS_MUSIC_TMBODY_LENGTH"
+msgstr "Comprimento"
+
+msgid "IDS_MUSIC_POP_1_FOLDER_WILL_BE_DELETED"
+msgstr "1 pasta será eliminada."
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Sem conteúdo"
+
+msgid "IDS_MUSIC_ITAB4_FOLDERS"
+msgstr "Pastas"
+
+msgid "IDS_MUSIC_HEADER_MY_PLAYLISTS_ABB"
+msgstr "As minhas listas reprod"
+
+msgid "IDS_MP_BODY_SOUND_PLAYER"
+msgstr "Leitor de som"
+
+msgid "IDS_MUSIC_OPT_SETTINGS"
+msgstr "Definições"
+
+msgid "IDS_MUSIC_POP_DELETING"
+msgstr "A eliminar..."
+
+msgid "IDS_MUSIC_POP_1_TRACK_WILL_BE_DELETED"
+msgstr "1 faixa será eliminada."
+
+msgid "IDS_MUSIC_POP_ALL_TRACKS_WILL_BE_DELETED"
+msgstr "Todas as faixas serão eliminadas"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_WILL_BE_DELETED"
+msgstr "%d faixas serão eliminadas."
+
+msgid "IDS_MUSIC_POP_1_PLAYLIST_WILL_BE_DELETED"
+msgstr "Vai ser eliminada 1 lista de reprodução."
+
+msgid "IDS_MUSIC_POP_PD_PLAYLISTS_WILL_BE_DELETED"
+msgstr "%d listas de reprodução serão eliminadas."
+
+msgid "IDS_MUSIC_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "%d álbuns serão eliminados."
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS_WILL_BE_DELETED"
+msgstr "%d artistas serão eliminados."
+
+msgid "IDS_MUSIC_POP_PD_FOLDERS_WILL_BE_DELETED"
+msgstr "%d pastas serão eliminadas."
+
+msgid "IDS_ST_POP_CONNECTION_FAILED"
+msgstr "Falha na ligação."
+
+msgid "IDS_MUSIC_BODY_CLASSIC"
+msgstr "Clássica"
+
+msgid "IDS_MUSIC_BODY_ROCK"
+msgstr "Rock"
+
+msgid "IDS_MUSIC_BODY_JAZZ"
+msgstr "Jazz"
+
+msgid "IDS_MUSIC_BODY_POP"
+msgstr "Pop"
+
+msgid "IDS_MUSIC_BODY_AUTO"
+msgstr "Automático"
+
+msgid "IDS_MUSIC_POP_CURRENT_SOUND_EFFECT_NOT_SUPPORTED_BY_HDMI"
+msgstr "Efeito de som actual não é suportado pelo HDMI."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_BLUETOOTH"
+msgstr "Efeitos de som não são suportados pelo Bluetooth."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_LINE_OUT"
+msgstr "Efeitos de som não são suportados pela saída de áudio."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_HDMI"
+msgstr "Efeitos de som não são suportados por HDMI."
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EFFECT"
+msgstr "Amplificador de válvulas"
+
+msgid "IDS_MUSIC_BODY_CUSTOM"
+msgstr "Personalizar"
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EQUALISER_ABB"
+msgstr "Amp de válvulas"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d faixas adicionadas à lista de reprodução."
+
+msgid "IDS_MUSIC_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 faixa adicionada à lista de reprodução."
+
+msgid "IDS_MUSIC_HEADER_ADD_TRACKS_TO_PLAYLIST_ABB"
+msgstr "Adic. faixas lista reprodução"
+
+msgid "IDS_MUSIC_POP_PS_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "%s já utilizado. Introduza outro nome."
+
+msgid "IDS_MUSIC_TMBODY_DATE_OF_RECORDING"
+msgstr "Data de gravação"
+
+msgid "IDS_MBP_TPOP_TRACK_SET_AS_ALARM_TONE"
+msgstr "Faixa definida como tom de alarme."
+
+msgid "IDS_MUSIC_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Nenhuns resultados encontrados"
+
+msgid "IDS_MUSIC_OPT_DEFAULT_RINGTONE_ABB"
+msgstr "Tom de toque padrão"
+
+msgid "IDS_MUSIC_TPOP_TRACK_SET_AS_CALLER_RINGTONE"
+msgstr "Faixa definida como tom de toque de chamador."
+
+msgid "IDS_MP_TPOP_TRACK_SET_AS_RINGTONE"
+msgstr "Faixa definida como tom de toque."
+
+msgid "IDS_DLNA_BODY_ADD_TO_NOW_PLAYING_LIST"
+msgstr "Adicionar à lista a ser reproduzida"
+
+msgid "IDS_MUSIC_TPOP_EQUALISER_SETTINGS_WILL_BE_APPLIED_WHILE_PLAYING_MUSIC"
+msgstr "Serão aplicadas definições do Equalizador quando for reproduzida música."
+
+msgid "IDS_ST_BODY_ALERT"
+msgstr "Alerta"
+
+msgid "IDS_IV_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 álbum será eliminado."
+
+msgid "IDS_MUSIC_OPT_SD_CARD"
+msgstr "Cartão SD"
+
+msgid "IDS_MUSIC_SBODY_DEVICE_STORAGE"
+msgstr "Armazenamento do dispositivo"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE"
+msgstr "Nome de lista de reprodução já utilizado."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_PD"
+msgstr "Lista de reprodução %d"
+
+msgid "IDS_MUSIC_HEADER_CREATE"
+msgstr "Criar"
+
+msgid "IDS_MUSIC_HEADER_EQUALISER_PRESET_ABB"
+msgstr "Predefinição do Equaliser"
+
+msgid "IDS_MUSIC_OPT_AUTOMATIC_M_EQUALIZER_EFFECT"
+msgstr "Automático"
+
+msgid "IDS_MUSIC_OPT_CLASSICAL_M_EQUALIZER_EFFECT"
+msgstr "Clássica"
+
+msgid "IDS_MUSIC_HEADER_ENVIRONMENT_EFFECT_ABB"
+msgstr "Efeito ambiente"
+
+msgid "IDS_VIDEO_POP_THE_FILE_TYPE_IS_NOT_SUPPORTED"
+msgstr "O tipo de ficheiro não é suportado."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_CREATE_PLAYLISTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Depois de criar listas de reprodução, as listas são apresentadas aqui."
+
+msgid "IDS_ST_HEADER_SELECT_AUDIO_DEVICE_ABB"
+msgstr "Seleccionar dispositivo áudio"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "Nome de lista de reprodução já utilizado. Introduza outro nome."
+
+msgid "IDS_MUSIC_HEADER_SOUNDALIVE_ABB3"
+msgstr "SoundAlive"
+
+msgid "IDS_MUSIC_OPT_NOW_PLAYING_LIST"
+msgstr "Lista a ser reproduzida agora"
+
+msgid "IDS_MUSIC_OPT_SHOW_LYRICS"
+msgstr "Mostrar letras"
+
+msgid "IDS_MUSIC_OPT_HIDE_LYRICS"
+msgstr "Ocultar letras"
+
+msgid "IDS_MUSIC_TPOP_UNABLE_TO_PLAY_MUSIC_DURING_CALLS"
+msgstr "Impossível reproduzir música durante chamadas."
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Eliminar"
+
+msgid "IDS_MUSIC_HEADER_SELECT"
+msgstr "Seleccionar"
+
+msgid "IDS_TPLATFORM_OPT_NFC"
+msgstr "NFC"
+
+msgid "IDS_MUSIC_HEADER_UNABLE_TO_PLAY_TRACK"
+msgstr "Impossível reproduzir faixa"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "CONCLUÍDO"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "CANCELAR"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "ELIMINAR"
+
+msgid "IDS_MUSIC_POP_RENAME"
+msgstr "Mudar nome"
+
+msgid "IDS_MUSIC_OPT_MESSAGE"
+msgstr "Mensagem"
+
+msgid "IDS_MUSIC_SK_OK"
+msgstr "OK"
+
+msgid "IDS_MUSIC_SK_CANCEL"
+msgstr "Cancelar"
+
+msgid "IDS_MUSIC_BUTTON_REFRESH"
+msgstr "Actualizar"
+
+msgid "IDS_MUSIC_BODY_SELECT_ALL"
+msgstr "Seleccionar tudo"
+
+msgid "IDS_MUSIC_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_MUSIC_POP_DELETED"
+msgstr "Eliminado."
+
+msgid "IDS_MUSIC_OPT_STOP"
+msgstr "Parar"
+
+msgid "IDS_MUSIC_BODY_UNKNOWN"
+msgstr "Desconhecido"
+
+msgid "IDS_MUSIC_BODY_TITLE"
+msgstr "Título"
+
+msgid "IDS_MUSIC_OPT_SENDVIA_EMAIL"
+msgstr "E-mail"
+
+msgid "IDS_MUSIC_OPT_BLUETOOTH"
+msgstr "Bluetooth"
+
+msgid "IDS_MUSIC_HEADER_DOWNLOAD"
+msgstr "Transferir"
+
+msgid "IDS_MUSIC_POP_LOW_BATTERY"
+msgstr "Bateria fraca."
+
+msgid "IDS_MUSIC_HEADER_AUDIO_DEVICE"
+msgstr "Dispositivo de áudio"
+
+msgid "IDS_MUSIC_HEADER_DETAILS"
+msgstr "Detalhes"
+
+msgid "IDS_MUSIC_OPT_END"
+msgstr "Terminar"
+
+msgid "IDS_MUSIC_OPT_EDIT"
+msgstr "Editar"
+
+msgid "IDS_CAM_HEADER_UPDATED"
+msgstr "Actualizado."
+
+msgid "IDS_MUSIC_POP_REMOVED"
+msgstr "Removido."
+
+msgid "IDS_MUSIC_OPT_SELECTED"
+msgstr "Seleccionado"
+
+msgid "IDS_ST_BUTTON_SCAN"
+msgstr "Pesquisar"
+
+msgid "IDS_MF_POP_ERROR"
+msgstr "Erro."
+
+msgid "IDS_MF_POP_MEMORY_FULL"
+msgstr "Memória cheia."
+
+msgid "IDS_MUSIC_MBODY_QUEUE"
+msgstr "Fila"
+
+msgid "IDS_MUSIC_OPT_VOLUME"
+msgstr "Volume"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE"
+msgstr "Aleatório"
+
+msgid "IDS_MUSIC_OPT_REPEAT"
+msgstr "Repetir"
+
+msgid "IDS_COM_BODY_DETAILS"
+msgstr "Details"
+
+msgid "IDS_COM_BODY_DETAILS_TITLE"
+msgstr "Title"
+
+msgid "IDS_COM_BODY_EDIT"
+msgstr "Edit"
+
+msgid "IDS_COM_BODY_EMAIL"
+msgstr "Email"
+
+msgid "IDS_COM_BODY_END"
+msgstr "End"
+
+msgid "IDS_COM_BODY_FOLDERS"
+msgstr "Folders"
+
+msgid "IDS_COM_BODY_GALLERY"
+msgstr "Gallery"
+
+msgid "IDS_COM_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_COM_BODY_LOADING"
+msgstr "Loading..."
+
+msgid "IDS_COM_BODY_LOW_BATTERY"
+msgstr "Low battery."
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Message"
+
+msgid "IDS_COM_BODY_MUSIC"
+msgstr "Music"
+
+msgid "IDS_COM_BODY_NFC"
+msgstr "NFC"
+
+msgid "IDS_COM_BODY_NO_CONTENTS"
+msgstr "No content"
+
+msgid "IDS_COM_BODY_PAUSE"
+msgstr "Pause"
+
+msgid "IDS_COM_BODY_PD_SELECTED"
+msgstr "%d selected."
+
+msgid "IDS_COM_BODY_PREVIOUS"
+msgstr "Previous"
+
+msgid "IDS_COM_BODY_RESET_A"
+msgstr "Reset"
+
+msgid "IDS_COM_BODY_SELECTED"
+msgstr "Selected"
+
+msgid "IDS_COM_BODY_SELECT_ALL"
+msgstr "Select all"
+
+msgid "IDS_COM_BODY_SETTINGS"
+msgstr "Settings"
+
+msgid "IDS_COM_BODY_TIME"
+msgstr "Time"
+
+msgid "IDS_COM_BODY_UNABLE_TO_ADD"
+msgstr "Unable to add."
+
+msgid "IDS_COM_BODY_UNKNOWN"
+msgstr "Unknown"
+
+msgid "IDS_COM_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_COM_BUTTON_SCAN"
+msgstr "Scan"
+
+msgid "IDS_COM_BUTTON_SHARE"
+msgstr "Share"
+
+msgid "IDS_COM_HEADER_AUDIO_DEVICE_ABB"
+msgstr "Audio device"
+
+msgid "IDS_COM_OPT_ADDED"
+msgstr "Added."
+
+msgid "IDS_COM_OPT_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_POP_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_POP_CONNECTION_FAILED"
+msgstr "Connection failed."
+
+msgid "IDS_COM_POP_DELETED"
+msgstr "Deleted."
+
+msgid "IDS_COM_POP_DELETE_Q"
+msgstr "Delete?"
+
+msgid "IDS_COM_POP_DONE"
+msgstr "Done"
+
+msgid "IDS_COM_POP_DOWNLOADING"
+msgstr "Downloading..."
+
+msgid "IDS_COM_POP_ERROR"
+msgstr "Error."
+
+msgid "IDS_COM_POP_FAILED"
+msgstr "Failed."
+
+msgid "IDS_COM_POP_FILE_NOT_EXIST"
+msgstr "This file does not exist."
+
+msgid "IDS_COM_POP_FILE_NOT_FOUND"
+msgstr "File not found."
+
+msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximum number of characters reached."
+
+msgid "IDS_COM_POP_MEMORY_FULL"
+msgstr "Memory full."
+
+msgid "IDS_COM_POP_REMOVED"
+msgstr "Removed."
+
+msgid "IDS_COM_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Unable to use during Mass storage mode."
+
+msgid "IDS_COM_POP_UPDATED"
+msgstr "Updated."
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_SK_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_SK_DOWNLOAD"
+msgstr "Download"
+
+msgid "IDS_COM_SK_NEW"
+msgstr "New"
+
+msgid "IDS_COM_SK_NEXT"
+msgstr "Next"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_SK_REFRESH"
+msgstr "Refresh"
+
+msgid "IDS_COM_SK_REMOVE"
+msgstr "Remove"
+
+msgid "IDS_COM_SK_SAVE"
+msgstr "Save"
+
+msgid "IDS_COM_SK_SELECT"
+msgstr "Select"
+
+msgid "IDS_COM_SK_SET"
+msgstr "Set"
+
+msgid "IDS_COM_SK_STOP"
+msgstr "Stop"
+
+
+msgid "IDS_MH_BODY_THE_PLAYLIST_NAME_PS_IS_ALREADY_IN_USE"
+msgstr "The playlist name %s is already in use."
+
+msgid "IDS_MH_BODY_TOTAL"
+msgstr "Total"
+
+msgid "IDS_MH_MBODY_RECENTLY_ADDED_M_SONG"
+msgstr "Recently added"
+
+msgid "IDS_MH_OPT_MORE_INFO_ABB"
+msgstr "More info"
+
+msgid "IDS_MH_POP_ALARM_TONE_SET"
+msgstr "Alarm tone set."
+
+msgid "IDS_MH_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 track added to playlist."
+
+msgid "IDS_MH_TPOP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d tracks added to playlist."
+
+msgid "IDS_MUSIC_OPT_RENAME"
+msgstr "Rename"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Unable to play during call."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Tamanho máximo dos ficheiros excedido."
+
+msgid "IDS_CAM_TPOP_UNABLE_TO_PLAY_MUSIC_WHILE_RECORDING_AUDIO_OR_VIDEO"
+msgstr "Impossível reproduzir música durante a gravação de áudio ou vídeo."
+
--- /dev/null
+msgid "IDS_ST_BODY_LOADING_ING"
+msgstr "Încărcare..."
+
+msgid "IDS_GALLERY_OPT_PRIVATE_M_CONTENT"
+msgstr "Private"
+
+msgid "IDS_MF_BODY_TIME"
+msgstr "Oră"
+
+msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
+msgstr "Acest fişier nu există."
+
+msgid "IDS_MUSIC_POP_PHONE_RINGTONE"
+msgstr "Ton de sonerie telefon"
+
+msgid "IDS_MUSIC_BODY_DURATION"
+msgstr "Durată"
+
+msgid "IDS_MUSIC_BODY_MUSIC_LOCATION"
+msgstr "Locaţie"
+
+msgid "IDS_MUSIC_BODY_SET_AS_M_RINGTONE"
+msgstr "Setare ca"
+
+msgid "IDS_ST_OPT_ADD_TO_PERSONAL_PAGE"
+msgstr "Adăugaţi la pagina personală"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_PERSONAL_PAGE_ABB"
+msgstr "Elim. din pag. personală"
+
+msgid "IDS_ST_POP_MOVE_TO_NORMAL_STORAGE"
+msgstr "Mutare în spaţiul de stocare normal"
+
+msgid "IDS_ST_POP_MOVE_TO_PERSONAL_STORAGE"
+msgstr "Mutare în spaţiul de stocare personal"
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEMS_WILL_BE_MOVED_TO_PS"
+msgstr "Elementele selectate vor fi mutate în %s."
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEM_WILL_BE_MOVED_TO_PS"
+msgstr "Elementul selectat va fi mutat în %s."
+
+msgid "IDS_VR_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Imposibil de utilizat în timpul modului Stocare în masă"
+
+msgid "IDS_MUSIC_POP_RINGTONE_ADDED"
+msgstr "A fost adăugat tonul de apel."
+
+msgid "IDS_CAM_BODY_BUTTON_T_TTS"
+msgstr "Buton"
+
+msgid "IDS_MUSIC_HEADER_SELECT_ITEMS"
+msgstr "Selectare elemente"
+
+msgid "IDS_ST_BODY_ADVANCED"
+msgstr "Avansat"
+
+msgid "IDS_ST_SK_PREVIOUS"
+msgstr "Anterior"
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Închidere"
+
+msgid "IDS_MUSIC_POP_ADDED"
+msgstr "Adăugat"
+
+msgid "IDS_MUSIC_POP_FAILED"
+msgstr "Nereuşit"
+
+msgid "IDS_MUSIC_BODY_NO_SEARCH_RESULTS"
+msgstr "Nu există rezultate ale căutării"
+
+msgid "IDS_MUSIC_SK_DONE"
+msgstr "Gata"
+
+msgid "IDS_MUSIC_BODY_NO_ITEMS"
+msgstr "Niciun element"
+
+msgid "IDS_BR_OPT_ADD_TO_HOME"
+msgstr "Adăugare la ecranul principal"
+
+msgid "IDS_BR_SK_NEXT"
+msgstr "Următor"
+
+msgid "IDS_BR_BODY_DOWNLOADING_ING"
+msgstr "Se descarcă..."
+
+msgid "IDS_IV_BODY_FAVOURITE"
+msgstr "Favorit"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_PERSONAL_STORAGE"
+msgstr "Adăugare în spaţiul de stocare personal"
+
+msgid "IDS_DLNA_POP_DISCONNECTED_FROM_PS_CHECK_THE_NETWORK_STATUS_AND_THE_CONNECTED_DEVICE"
+msgstr "Deconectat de la %s. Verificaţi starea reţelei şi dispozitivul conectat."
+
+msgid "IDS_DLNA_OPT_VIA_SCREEN_MIRRORING_ABB"
+msgstr "Prin Screen Mirroring"
+
+msgid "IDS_DLNA_OPT_VIA_HOME_NETWORK_ABB"
+msgstr "Prin reţeaua de domiciliu"
+
+msgid "IDS_IV_POP_ENTRY_IS_EMPTY"
+msgstr "Locaţie liberă"
+
+msgid "IDS_FM_POP_UNAVAILABLE_DURING_CALL"
+msgstr "Indisponibil în timpul apelului"
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Adăugare la marcaje"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_SHARE_DRM_FILE"
+msgstr "Fişierul DRM nu poate fi partajat."
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Eliminare..."
+
+msgid "IDS_MUSIC_HEADER_PD_DEVICES"
+msgstr "%d dispozitive"
+
+msgid "IDS_MUSIC_BUTTON_ENABLE_MOTION"
+msgstr "Activ. mişc."
+
+msgid "IDS_MUSIC_BUTTON_DONT_ASK_AGAIN"
+msgstr "Nu întreba din nou"
+
+msgid "IDS_MUSIC_BODY_NO_RESULTS_FOUND"
+msgstr "Nu au fost găsite rezultate."
+
+msgid "IDS_VPL_OPT_HDMI"
+msgstr "HDMI"
+
+msgid "IDS_MUSIC_BODY_TURN_PHONE_OVER_TO_MUTE_INCOMING_CALLS_MESSAGE_ALERTS_AND_ALARMS"
+msgstr "Întoarceţi telefonul pentru a opri sunetul pentru apeluri primite, alerte de mesaje şi alarme."
+
+msgid "IDS_ST_BODY_NONE"
+msgstr "Niciuna"
+
+msgid "IDS_ST_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_ST_BODY_GALLERY"
+msgstr "Galerie"
+
+msgid "IDS_ST_BODY_DOUBLE_TAP_TO_MOVE_TO_CONTENT_T_TTS"
+msgstr "Atingeţi de două ori pentru a muta în conţinut."
+
+msgid "IDS_MUSIC_BODY_SURROUND"
+msgstr "Surround"
+
+msgid "IDS_MUSIC_OPT_LYRICS_ABB"
+msgstr "Versuri"
+
+msgid "IDS_MUSIC_POP_AFTER_YOU_ADD_TRACKS_TO_MUSIC_ON_YOUR_MOBILE_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "După ce adăugaţi melodii la Muzică pe dispozitivul mobil, acestea vor fi afişate aici."
+
+msgid "IDS_MUSIC_BODY_SAMPLING_RATE"
+msgstr "Rată de eşantionare"
+
+msgid "IDS_MUSIC_BODY_MARKED_AS_A_FAVOURITE"
+msgstr "Marcată ca preferată"
+
+msgid "IDS_MUSIC_BODY_MUSIC"
+msgstr "Muzică"
+
+msgid "IDS_MUSIC_BODY_NOT_MARKED_AS_A_FAVOURITE"
+msgstr "Nemarcată ca preferată"
+
+msgid "IDS_MUSIC_HEADER_SEARCH_MUSIC_ABB"
+msgstr "Căutare muzică"
+
+msgid "IDS_MUSIC_POP_AUTO_RECOMMENDATION_DOES_NOT_SUPPORT_THIS_AUDIO_FILE"
+msgstr "Recomandarea automată nu acceptă acest fişier audio."
+
+msgid "IDS_MUSIC_POP_SORRY_THE_PLAYER_DOES_NOT_SUPPORT_THIS_TYPE_OF_AUDIO_FILE"
+msgstr "Ne pare rău, player-ul nu suportă acest tip de fişier audio."
+
+msgid "IDS_MUSIC_BODY_FAVOURITES"
+msgstr "Favorite"
+
+msgid "IDS_MUSIC_BODY_MOST_PLAYED"
+msgstr "Cea mai redată"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_ADDED"
+msgstr "Adăugat recent"
+
+msgid "IDS_MUSIC_OPT_CREATE_PLAYLIST"
+msgstr "Creare listă de redare"
+
+msgid "IDS_MUSIC_OPT_REMOVE"
+msgstr "Eliminare"
+
+msgid "IDS_MUSIC_OPT_SETAS_CALLER_RINGTONE"
+msgstr "Ton sonerie apelant"
+
+msgid "IDS_MUSIC_TAB4_ARTISTS"
+msgstr "Artişti"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD"
+msgstr "Imposibil de adăugat"
+
+msgid "IDS_MUSIC_POP_UNABLE_CREATE_PLAYLIST"
+msgstr "Imposibil de creat lista de redare"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_GET_TAG"
+msgstr "Imposibil de obţinut eticheta"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_MORE_THAN_PD_MUSIC_FILE"
+msgstr "Imposibil de adăugat mai mult de %d fişier muzical"
+
+msgid "IDS_MUSIC_BODY_ALBUM"
+msgstr "Album"
+
+msgid "IDS_MUSIC_BODY_AUTHOR"
+msgstr "Autor"
+
+msgid "IDS_MUSIC_BODY_COPYRIGHT"
+msgstr "Drept de autor"
+
+msgid "IDS_MUSIC_BODY_CREATE_PLAYLIST"
+msgstr "Creare listă de redare"
+
+msgid "IDS_MUSIC_BODY_DESCRIPTION"
+msgstr "Descriere"
+
+msgid "IDS_MUSIC_BODY_FORMAT"
+msgstr "Format"
+
+msgid "IDS_MUSIC_BODY_IMPOSSIBLE"
+msgstr "Imposibil"
+
+msgid "IDS_MUSIC_BODY_NO_PLAYLISTS"
+msgstr "Nici o listă de redare"
+
+msgid "IDS_MUSIC_BODY_TRACK_NUMBER"
+msgstr "Număr piesă"
+
+msgid "IDS_MUSIC_POP_DELETE_Q"
+msgstr "Ştergeţi?"
+
+msgid "IDS_MUSIC_POP_REMOVE_Q"
+msgstr "Eliminare?"
+
+msgid "IDS_MUSIC_POP_UNABLE_RENAME_PLAYLIST"
+msgstr "Imposibil de redenumit lista de redare"
+
+msgid "IDS_MUSIC_TAB4_ALBUMS"
+msgstr "Albume"
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Se adaugă..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Ştergeţi %d albume?"
+
+msgid "IDS_MUSIC_TAB4_PLAYLISTS"
+msgstr "Liste de redare"
+
+msgid "IDS_MUSIC_OPT_ADD"
+msgstr "Adăugare"
+
+msgid "IDS_MUSIC_BODY_BIOGRAPHY"
+msgstr "Biografie"
+
+msgid "IDS_MUSIC_BODY_CREDITS"
+msgstr "Credite"
+
+msgid "IDS_MUSIC_BODY_DETAILS_MEADIA_INFO"
+msgstr "Informaţii media"
+
+msgid "IDS_MUSIC_BODY_DISCOGRAPHY"
+msgstr "Discografie"
+
+msgid "IDS_MUSIC_BODY_LYRIC"
+msgstr "Versuri"
+
+msgid "IDS_MUSIC_BODY_POSSIBLE"
+msgstr "Posibil"
+
+msgid "IDS_MUSIC_BODY_REVIEW"
+msgstr "Examinare"
+
+msgid "IDS_MUSIC_HEADER_TRACK_LIST"
+msgstr "Listă de melodii"
+
+msgid "IDS_MUSIC_BODY_ADD_TO_PLAYLIST"
+msgstr "Adăugare la lista de redare"
+
+msgid "IDS_MUSIC_BODY_ARTIST"
+msgstr "Artist"
+
+msgid "IDS_MUSIC_BODY_FORWARDING"
+msgstr "Redirecţionare"
+
+msgid "IDS_MUSIC_BODY_RECORDED_DATE"
+msgstr "Date of recording"
+
+msgid "IDS_MUSIC_BODY_PLAYLISTS"
+msgstr "Liste de redare"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_PLAYED"
+msgstr "Redate recent"
+
+msgid "IDS_MUSIC_BODY_TRACK_LENGTH"
+msgstr "Lungime piesă"
+
+msgid "IDS_MUSIC_HEADER_NO_SONGS"
+msgstr "Nu există melodii"
+
+msgid "IDS_MUSIC_POP_THIS_TRACK_WILL_BE_DELETED"
+msgstr "Această melodie va fi ştearsă."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_TRACKS_WILL_BE_DELETED"
+msgstr "Melodiile selectate vor fi şterse."
+
+msgid "IDS_MUSIC_POP_THIS_ARTIST_WILL_BE_DELETED"
+msgstr "Acest artist va fi şters."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ARTISTS_WILL_BE_DELETED"
+msgstr "Artiştii selectaţi vor fi şterşi."
+
+msgid "IDS_MUSIC_POP_ALL_ARTISTS_WILL_BE_DELETED"
+msgstr "Toţi artiştii vor fi şterşi."
+
+msgid "IDS_MUSIC_POP_THIS_FOLDER_WILL_BE_DELETED"
+msgstr "Acest folder va fi şters."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_FOLDERS_WILL_BE_DELETED"
+msgstr "Folderele selectate vor fi şterse."
+
+msgid "IDS_MUSIC_POP_ALL_FOLDERS_WILL_BE_DELETED"
+msgstr "Toate folderele vor fi şterse."
+
+msgid "IDS_MUSIC_POP_THIS_ALBUM_WILL_BE_DELETED"
+msgstr "Acest album va fi şters."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ALBUMS_WILL_BE_DELETED"
+msgstr "Albumele selectate vor fi şterse."
+
+msgid "IDS_MUSIC_POP_ALL_ALBUMS_WILL_BE_DELETED"
+msgstr "Toate albumele vor fi şterse."
+
+msgid "IDS_MUSIC_POP_THIS_PLAYLIST_WILL_BE_DELETED"
+msgstr "Această listă de redare va fi ştearsă."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Listele de redare selectate vor fi şterse."
+
+msgid "IDS_MUSIC_POP_ALL_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Toate listele de redare vor fi şterse."
+
+msgid "IDS_MUSIC_HEADER_SONGS"
+msgstr "Melodii"
+
+msgid "IDS_MUSIC_OPT_REORDER"
+msgstr "Reordonare"
+
+msgid "IDS_MUSIC_OPT_SAVE_AS_PLAYLIST"
+msgstr "Salvare ca listă de redare"
+
+msgid "IDS_MUSIC_OPT_SETAS_ALARM_TONE"
+msgstr "Ton alarmă"
+
+msgid "IDS_MUSIC_POP_NOTHING_SELECTED"
+msgstr "Nimic selectat"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Imposibil de redat. A avut loc o eroare."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_UNSUPPORTED_FILETYPE"
+msgstr "Imposibil de redat. Tip fişier neacceptat."
+
+msgid "IDS_MUSIC_SK_SHARE"
+msgstr "Partajare"
+
+msgid "IDS_MUSIC_TAB4_CONDUCTORS"
+msgstr "Dirijori"
+
+msgid "IDS_MUSIC_HEADER_SELECT_DEVICE"
+msgstr "Selectare dispozitiv"
+
+msgid "IDS_MUSIC_SK_VIEW_AS"
+msgstr "Viz. ca"
+
+msgid "IDS_MUSIC_BODY_SOUNDEFFECTS_NORMAL"
+msgstr "Normal"
+
+msgid "IDS_MUSIC_BODY_USER"
+msgstr "Utilizator"
+
+msgid "IDS_MUSIC_BODY_VOCAL_M_SOUNDEFFECT"
+msgstr "Vocală"
+
+msgid "IDS_MUSIC_MBODY_BASS_BOOST"
+msgstr "Accentuare başi"
+
+msgid "IDS_MUSIC_MBODY_TREBLE_BOOST"
+msgstr "Accentuare înalte"
+
+msgid "IDS_MUSIC_BODY_CAFE_M_SOUNDEFFECT"
+msgstr "Cafenea"
+
+msgid "IDS_MUSIC_OPT_VIRTUAL_71_CH"
+msgstr "7.1 canale virtuale"
+
+msgid "IDS_MUSIC_OPT_AFTER_15_MIN_ABB"
+msgstr "După 15 minute"
+
+msgid "IDS_MUSIC_BODY_AFTER_30_MIN"
+msgstr "După 30 min."
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HOUR"
+msgstr "După 1 oră"
+
+msgid "IDS_MUSIC_POP_AFTER_1_HOUR_30_MIN"
+msgstr "După 1 oră 30 min."
+
+msgid "IDS_MUSIC_BODY_AFTER_2_HOURS"
+msgstr "După 2 ore"
+
+msgid "IDS_MUSIC_BODY_MUSIC_AUTO_OFF"
+msgstr "Oprire automată muzică"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES_ONLY"
+msgstr "Acest efect de sunet funcţionează numai în modurile cască şi cască Bluetooth."
+
+msgid "IDS_MUSIC_TAB4_MUSIC_SQUARE"
+msgstr "Pătrat muzical"
+
+msgid "IDS_MUSIC_POP_NOT_ENOUGH_MUSIC_FILES_TO_PLAY_IN_MUSIC_SQUARE_AT_LEAST_PD_MUSIC_FILES_REQUIRED"
+msgstr "Nu sunt suficiente fişiere muzicale pentru redarea în pătratul muzical. Sunt necesare cel puţin %d fişiere muzicale."
+
+msgid "IDS_MUSIC_BODY_PASSION_M_MOOD"
+msgstr "Pasiune"
+
+msgid "IDS_MUSIC_BODY_CALM_M_ADJECTIVE"
+msgstr "Calm"
+
+msgid "IDS_MUSIC_BODY_JOY_M_MOOD"
+msgstr "Bucurie"
+
+msgid "IDS_MUSIC_BODY_LIBRARY_UPDATE"
+msgstr "Actualizare bibliotecă"
+
+msgid "IDS_MUSIC_POP_UPDATE_LIBRARY_Q"
+msgstr "Actualizaţi biblioteca?"
+
+msgid "IDS_MUSIC_BODY_CHANGE_AXIS"
+msgstr "Schimbare axă"
+
+msgid "IDS_MUSIC_ITAB4_GENRES"
+msgstr "Genuri"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_1_TRACK"
+msgstr "1 album/1 melodie"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_PD_TRACKS"
+msgstr "1 album/%d melodii"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS_PD_TRACKS"
+msgstr "%d albume/%d melodii"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_CONTROL_MUSIC_PLAYER_WITH_THE_VOICE_COMMANDS_P1SS_P2SS_P3SS_P4SS_P5SS_AND_P6SS"
+msgstr "Puteţi controla aplicaţia Player muzical cu ajutorul comenzilor vocale %1$s, %2$s, %3$s, %4$s, %5$s şi %6$s."
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_PD_TRACKS"
+msgstr "Amestecaţi %d melodii"
+
+msgid "IDS_MUSIC_BODY_MORE_INFO"
+msgstr "Mai multe informaţii"
+
+msgid "IDS_MUSIC_HEADER_MY_MUSIC_M_APPLICATION_NAME"
+msgstr "Muzica mea"
+
+msgid "IDS_MUSIC_OPT_LIST_VIEW"
+msgstr "Vizualizare tip listă"
+
+msgid "IDS_MUSIC_OPT_PLAY_VIA_GROUP_PLAY"
+msgstr "Red. prin Group Play"
+
+msgid "IDS_MUSIC_POP_TRACK_ADDED_TO_FAVOURITES"
+msgstr "Melodie adăugată la preferate"
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_FAVOURITES"
+msgstr "Eliminare din Favorite"
+
+msgid "IDS_MUSIC_BODY_NEW_M_LATEST"
+msgstr "Nou"
+
+msgid "IDS_MUSIC_OPT_TRACKS"
+msgstr "Piese muzicale"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL"
+msgstr "Miniatură"
+
+msgid "IDS_MUSIC_SK_LIST"
+msgstr "Listare"
+
+msgid "IDS_MUSIC_SK_OPEN_PLAYLIST"
+msgstr "Deschidere listă de redare"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALL"
+msgstr "Redare totală"
+
+msgid "IDS_MUSIC_POP_SELECTED_LIST_EMPTY"
+msgstr "Listă selectată goală"
+
+msgid "IDS_MUSIC_BODY_MOODS"
+msgstr "Stări"
+
+msgid "IDS_MUSIC_BUTTON_YEARS"
+msgstr "Ani"
+
+msgid "IDS_MUSIC_BODY_OLD"
+msgstr "Vechi"
+
+msgid "IDS_MUSIC_BODY_MUSIC_SQUARE_ANALYSES_THE_CHARACTERISTICS_OF_MUSIC_FILES_STORED_ON_YOUR_DEVICE_AND_AUTOMATICALLY_CREATES_PLAYLISTS_MSG"
+msgstr "Pătratul muzical analizează caracteristicile fişierelor muzicale stocate în dispozitivul dvs. şi creează automat liste de redare."
+
+msgid "IDS_MUSIC_BODY_PLAY_TRACKS_WITH_SIMILAR_CHARACTERISTICS_BY_SELECTING_A_SQUARE_ON_THE_SCREEN"
+msgstr "Redaţi lista de redare cu muzică având caracteristici similare prin selectarea unui pătrat pe ecran."
+
+msgid "IDS_MUSIC_BODY_VIEW_PLAYLIST_DETAILS_BY_TAPPING_AND_HOLDING_THE_SQUARE_CURRENTLY_BEING_PLAYED"
+msgstr "Vizualizaţi detaliile listei de redare atingând şi menţinând apăsat pătratul redat curent."
+
+msgid "IDS_MUSIC_BODY_NEARBY_DEVICES"
+msgstr "Dispozitive în apropiere"
+
+msgid "IDS_MUSIC_POP_YOU_WILL_NEED_TO_UPDATE_THE_LIBRARY_IF_NEW_SONGS_HAVE_BEEN_ADDED"
+msgstr "Va trebui să actualizaţi biblioteca dacă au fost adăugate melodii noi."
+
+msgid "IDS_MUSIC_BODY_NO_ALBUMS"
+msgstr "Nu există albume"
+
+msgid "IDS_MUSIC_BODY_NO_ARTISTS"
+msgstr "Nu există artişti"
+
+msgid "IDS_MUSIC_OPT_PLAY_SPEED_ABB"
+msgstr "Viteză de redare"
+
+msgid "IDS_MUSIC_BODY_CONCERT_HALL_M_SOUNDEFFECT"
+msgstr "Sală de concert"
+
+msgid "IDS_MUSIC_OPT_ADD_TO"
+msgstr "Adăugare la"
+
+msgid "IDS_MUSIC_SK_VIEW"
+msgstr "Vizualiz."
+
+msgid "IDS_MUSIC_OPT_LISTBY_RECENTLY_ADDED"
+msgstr "Adăugat recent"
+
+msgid "IDS_MUSIC_BODY_NOT_USED"
+msgstr "Neutilizat"
+
+msgid "IDS_MUSIC_BODY_MAKE_AVAILABLE_OFFLINE"
+msgstr "Se pune la dispoziţie offline"
+
+msgid "IDS_MUSIC_OPT_AFTER_P1SD_HRS_P2SD_MINS"
+msgstr "După %1$d h şi %2$d min"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS"
+msgstr "După %d ore"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_MINS"
+msgstr "După %d min."
+
+msgid "IDS_MUSIC_BODY_NO_FOLDERS"
+msgstr "Niciun folder"
+
+msgid "IDS_MUSIC_BODY_NO_TRACKS"
+msgstr "Nu există melodii"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS"
+msgstr "%d albume"
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS"
+msgstr "%d artişti"
+
+msgid "IDS_MUSIC_BODY_PD_GENRES"
+msgstr "%d genuri"
+
+msgid "IDS_MUSIC_BODY_PD_PLAYLISTS"
+msgstr "%d liste de redare"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_ABB"
+msgstr "%d piese"
+
+msgid "IDS_MUSIC_BODY_PLAYLIST"
+msgstr "Listă de redare"
+
+msgid "IDS_MUSIC_HEADER_SIMILAR_ALBUMS"
+msgstr "Albume similare"
+
+msgid "IDS_MUSIC_HEADER_TRACK"
+msgstr "Piesă"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL_VIEW"
+msgstr "Vizualizare pictograme"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "Acest efect de sunet funcţionează numai în modul cască."
+
+msgid "IDS_MUSIC_OPT_ALL_CONTENT_ABB2"
+msgstr "Întregul conţinut"
+
+msgid "IDS_MUSIC_BODY_A_NETWORK_CONNECTION_IS_REQUIRED_TO_PLAY_THIS_FILE_CHECK_YOUR_NETWORK_CONNECTION_AND_TRY_AGAIN"
+msgstr "Pentru a reda acest fişier, este necesară o conexiune la reţea. Verificaţi conexiunea la reţea şi încercaţi din nou."
+
+msgid "IDS_MUSIC_POP_FILE_TYPE_NOT_SUPPORTED"
+msgstr "Tip fişier neacceptat"
+
+msgid "IDS_MUSIC_POP_UPDATING_ING"
+msgstr "Actualizare..."
+
+msgid "IDS_MUSIC_OPT_SEARCH_ABB"
+msgstr "Căutare"
+
+msgid "IDS_MUSIC_OPT_SEARCH_BY"
+msgstr "Căutare după"
+
+msgid "IDS_MUSIC_BODY_RELATED_VIDEOS"
+msgstr "Videoclipuri asociate"
+
+msgid "IDS_MUSIC_BODY_SMART_VOLUME_ABB"
+msgstr "Volum inteligent"
+
+msgid "IDS_MUSIC_BODY_THE_VOLUME_OF_ALL_TRACKS_WILL_BE_ADJUSTED_TO_LEVEL_PD"
+msgstr "Volumul tuturor pieselor va fi reglat la nivelul %d."
+
+msgid "IDS_MUSIC_HEADER_SMART_VOLUME_IS_ENABLED"
+msgstr "Volum inteligent activat"
+
+msgid "IDS_MUSIC_OPT_CONNECTION_INFO_ABB"
+msgstr "Info. conexiune"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_PD_MINS"
+msgstr "După 1 h. şi %d min."
+
+msgid "IDS_MUSIC_BODY_ADAPT_SOUND_ABB"
+msgstr "Adapt Sound"
+
+msgid "IDS_MUSIC_BODY_MY_DEVICE"
+msgstr "Dispozitivul meu"
+
+msgid "IDS_MUSIC_POP_LISTENING_AT_A_HIGH_VOLUME_FOR_A_LONG_TIME_MAY_DAMAGE_YOUR_HEARING_RAISE_THE_VOLUME_ABOVE_SAFE_LEVELS_Q"
+msgstr "Ascultarea la volum ridicat pentru perioade îndelungate vă poate afecta auzul. Creşteţi volumul peste nivelul de siguranţă?"
+
+msgid "IDS_MUSIC_POP_ALREADY_EXISTS"
+msgstr "Există deja."
+
+msgid "IDS_MUSIC_OPT_SCAN_FOR_NEARBY_DEVICES"
+msgstr "Scanare dispozitive în apropiere"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR"
+msgstr "După 1 h."
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_1_MIN"
+msgstr "După 1 h. şi 1 min."
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS_1_MIN"
+msgstr "După %d ore şi 1 min."
+
+msgid "IDS_MUSIC_BODY_AFTER_1_MIN"
+msgstr "După 1 min."
+
+msgid "IDS_MUSIC_OPT_GO_TO_STORE"
+msgstr "Accesare magazin"
+
+msgid "IDS_MUSIC_SK3_ADD_TRACKS"
+msgstr "Adăugare melodii"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FROM_MUSIC_THEY_WILL_BE_SHOWN_HERE"
+msgstr "După ce descărcaţi melodii din Muzică, acestea vor fi afişate aici."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_YOUR_FAVOURITES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "După ce adăugaţi melodii la preferate, acestea vor fi afişate aici."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_PLAY_TRACKS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "După ce redaţi melodii, acestea vor fi afişate aici."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_PS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "După ce adăugaţi melodii în %s, acestea vor fi afişate aici."
+
+msgid "IDS_MUSIC_BODY_NO_PURCHASED_CONTENT"
+msgstr "Niciun conţinut achiziţionat"
+
+msgid "IDS_MUSIC_SK_SAVE_AS"
+msgstr "Salvare ca"
+
+msgid "IDS_MUSIC_POP_MUSICPLAYER_UPDATING_FAILED"
+msgstr "Actualizarea nu a reuşit."
+
+msgid "IDS_MUSIC_BODY_EXCITING_M_ADJECTIVE"
+msgstr "Incitant"
+
+msgid "IDS_MUSIC_BODY_SEARCH_MY_MUSIC"
+msgstr "Căutaţi în muzica mea"
+
+msgid "IDS_MUSIC_HEADER_CONNECTED_DEVICES"
+msgstr "Dispozitive conectate"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST_PS"
+msgstr "Lista mea de redare %s"
+
+msgid "IDS_MUSIC_BODY_NO_DEVICES"
+msgstr "Nu există dispozitive"
+
+msgid "IDS_MUSIC_HEADER_AVAILABLE_DEVICES_ABB"
+msgstr "Dispozitive dispon."
+
+msgid "IDS_MUSIC_POP_SET"
+msgstr "Afişare"
+
+msgid "IDS_MUSIC_POP_REMOVE_FAILED"
+msgstr "Eliminare nereuşită"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_USE_FAST_FORWARD_AND_REWIND_WHEN_NEARBY_DEVICES_ARE_ENABLED"
+msgstr "Nu se poate utiliza derularea rapidă înainte sau derularea înapoi când dispozitivele din apropiere sunt activate."
+
+msgid "IDS_MUSIC_OPT_SET_AS"
+msgstr "Setare ca"
+
+msgid "IDS_MUSIC_OPT_HEADPHONES_ABB"
+msgstr "Căşti"
+
+msgid "IDS_MUSIC_OPT_SPEAKER"
+msgstr "Difuzor"
+
+msgid "IDS_MUSIC_BODY_1_SONG"
+msgstr "o melodie"
+
+msgid "IDS_MUSIC_BODY_PD_SONGS"
+msgstr "%d melodii"
+
+msgid "IDS_MUSIC_BODY_1_TRACK"
+msgstr "1 piesă"
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_1_TRACK"
+msgstr "Amestecaţi 1 melodie"
+
+msgid "IDS_MUSIC_POP_NO_MUSIC_FOUND_FOR_SELECTED_CELL"
+msgstr "Nu s-a găsit muzică pentru celula selectată"
+
+msgid "IDS_MUSIC_BODY_DO_NOT_SHOW_AGAIN"
+msgstr "Nu se mai afişează"
+
+msgid "IDS_MUSIC_BODY_VARIOUS_ARTISTS"
+msgstr "Diferiţi artişti"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_HOME_SCREEN_ABB"
+msgstr "Adăugare la ecranul de pornire"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_FAVOURITES"
+msgstr "Adăugare la Favorite"
+
+msgid "IDS_MUSIC_OPT_EDIT_TITLE"
+msgstr "Editare titlu"
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_PERSONAL_STORAGE"
+msgstr "Eliminare din spaţiul de stocare personal"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FOLDERS_WILL_BE_SHOWN"
+msgstr "După ce descărcaţi melodii, folderele vor fi afişate aici"
+
+msgid "IDS_MUSIC_BODY_SETTINGS_VOLUME"
+msgstr "Volum"
+
+msgid "IDS_MUSIC_BODY_REPEAT_OFF"
+msgstr "Repetarea este dezactivată"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_REPEAT_ALL"
+msgstr "Repetare toate"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_OFF"
+msgstr "Mod amestecare oprit"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_ON"
+msgstr "Mod amestecare pornit"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST"
+msgstr "Lista mea de redare"
+
+msgid "IDS_MUSIC_MBODY_DEFAULT_PLAYLISTS"
+msgstr "Liste de redare implicite"
+
+msgid "IDS_MUSIC_BODY_DETAILS_RECORDING_DATE"
+msgstr "Dată înregistrare"
+
+msgid "IDS_MUSIC_OPT_ALBUM_ART_ABB"
+msgstr "Graf. alb."
+
+msgid "IDS_MUSIC_BODY_1_GENRE"
+msgstr "1 gen"
+
+msgid "IDS_MUSIC_BODY_PD_FOLDERS"
+msgstr "%d directoare"
+
+msgid "IDS_MUSIC_BODY_1_FOLDER"
+msgstr "1 director"
+
+msgid "IDS_MUSIC_BODY_1_ARTIST"
+msgstr "1 artist"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_M_MUSIC"
+msgstr "un album"
+
+msgid "IDS_MUSIC_BODY_1_PLAYLIST"
+msgstr "1 listă de redare"
+
+msgid "IDS_MUSIC_BODY_MUSIC_PLAYER"
+msgstr "Player muzical"
+
+msgid "IDS_MUSIC_BUTTON_MOVE"
+msgstr "Mutare"
+
+msgid "IDS_MUSIC_BUTTON_AUTO_RECOMMENDATIONS"
+msgstr "Recomandări automate"
+
+msgid "IDS_MUSIC_BUTTON_FROM_THE_BEGINNING"
+msgstr "De la început"
+
+msgid "IDS_MUSIC_HEADER_SUGGESTIONS_FOR_YOU"
+msgstr "Sugestii pentru dvs."
+
+msgid "IDS_MUSIC_OPT_SAVE"
+msgstr "Salvare"
+
+msgid "IDS_MUSIC_TAB4_BASIC_M_EQUALIZING"
+msgstr "De bază"
+
+msgid "IDS_MUSIC_BODY_INSTRUMENT"
+msgstr "Instrument"
+
+msgid "IDS_MUSIC_BODY_TREBLE_M_EQUALISER"
+msgstr "Înalte"
+
+msgid "IDS_MUSIC_BODY_BASS_M_EQUALISER"
+msgstr "Bas"
+
+msgid "IDS_MUSIC_BODY_NO_EFFECTS_ARE_APPLIED_IN_THIS_MODE_ABB"
+msgstr "Nu sunt aplicate efecte în acest mod."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_TIMBRE_OF_A_TUBE_AMP_ABB"
+msgstr "Simulează tonul unui amplificator cu tub electronic cu vid."
+
+msgid "IDS_MUSIC_OPT_TUBE_AMP_EFFECT"
+msgstr "Efect de amplificator cu tub electronic cu vid"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_EFFECT_OF_VIRTUAL_71_CHANNEL_SURROUND_SOUND_ABB"
+msgstr "Simulează efectul sunetului surround pt. canalul 7.1 virtual."
+
+msgid "IDS_MUSIC_HEADER_SMALL_ROOM_M_REVERB_ABB"
+msgstr "Încăpere mică"
+
+msgid "IDS_MUSIC_HEADER_LARGE_ROOM_M_REVERB_ABB"
+msgstr "Sală mare"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_LARGE_ROOM_EG_A_THEATRE_ABB"
+msgstr "Simulează reverberaţia unei săli mari, de exemplu, un teatru."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_CONCERT_HALL_ABB"
+msgstr "Simulează reverberaţia unei săli de concert."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_SMALL_SPACE_EG_A_STUDIO_ABB"
+msgstr "Simulează reverberaţia unui spaţiu mic, de ex., un studio."
+
+msgid "IDS_MUSIC_BUTTON_3D_CHN"
+msgstr "3D"
+
+msgid "IDS_MUSIC_BODY_CLARITY_M_SOUNDEFFECT"
+msgstr "Claritate"
+
+msgid "IDS_MUSIC_BUTTON_RESET"
+msgstr "Resetare"
+
+msgid "IDS_MUSIC_TAB_YEARS"
+msgstr "Ani"
+
+msgid "IDS_MUSIC_TAB_GENRES"
+msgstr "Genuri"
+
+msgid "IDS_MUSIC_TAB_COMPOSERS"
+msgstr "Compoz."
+
+msgid "IDS_MUSIC_TAB_ALL_TRACKS"
+msgstr "Toate melodiile"
+
+msgid "IDS_MUSIC_SK3_GO_TO_QUICK_LIST"
+msgstr "Ac. listă rapidă"
+
+msgid "IDS_MUSIC_SK3_FIND"
+msgstr "Găsire"
+
+msgid "IDS_MUSIC_SK3_ADD_TO_QUICK_LIST"
+msgstr "Ad. la lis. rap."
+
+msgid "IDS_MUSIC_POP_UNAUTHORISED_VIDEO_FILE_FOR_TV_OUT"
+msgstr "Fişier video neautorizat pentru ieşirea TV"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_CREATE_MAXIMUM_NUMBER_OF_PLAYLISTS_REACHED"
+msgstr "Imposibil de creat. S-a atins numărul maxim de liste de redare."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTING_BLUETOOTH_HEADSET"
+msgstr "Imposibil de reglat volumul în timpul conectării căştii Bluetooth"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTED_TO_BLUETOOTH_HEADSET"
+msgstr "Imposibil de reglat volumul în timpul conectării la casca Bluetooth"
+
+msgid "IDS_MUSIC_POP_STOP_MUSIC_PLAYER_Q"
+msgstr "Opriţi Player muzical?"
+
+msgid "IDS_MUSIC_POP_PLEASE_EXIT_SILENT_MODE"
+msgstr "Vă rugăm să ieşiţi din modul Silenţios."
+
+msgid "IDS_MUSIC_POP_NETWORK_FAILURE"
+msgstr "Eroare de reţea"
+
+msgid "IDS_MUSIC_POP_MEMORY_CARD_LOADED"
+msgstr "Cartela de memorie s-a încărcat."
+
+msgid "IDS_MUSIC_POP_DEVICE_SETTINGS_ERROR"
+msgstr "Eroare setări dispozitiv"
+
+msgid "IDS_MUSIC_POP_COULD_NOT_FIND_A_MATCH_FOR_THE_SONG"
+msgstr "Nu s-a găsit nicio potrivire pentru melodie."
+
+msgid "IDS_MUSIC_POP_BUFFERING_MSTATUS"
+msgstr "Încărcare în zona tampon"
+
+msgid "IDS_MUSIC_POP_BT_HEADSET_ONLY_SUPPORTS_NORMAL_EFFECTS_SETTING"
+msgstr "Casca BT acceptă numai setarea pentru efecte normale."
+
+msgid "IDS_MUSIC_POP_APPLICATION_WILL_BE_CLOSED"
+msgstr "Aplicaţia va fi închisă."
+
+msgid "IDS_MUSIC_POP_ADDED_GO_TO_WISH_LIST_Q"
+msgstr "A fost adăugată. Accesaţi lista de dorinţe?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_THE_SERVICE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "Accesul la serviciu poate fi taxat. Continuaţi?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_STORE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "Este posibil ca accesul la magazin să fie modificat. Continuaţi?"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_ONLY_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES"
+msgstr "Efectul de sunet pe 5.1 canale funcţionează numai în modurile cască şi cască Bluetooth."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "Efectul sonor pentru 5.1 canale funcţionează numai în modul cască."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECTS_NOT_SUPPORTED_BY_SPEAKER"
+msgstr "Difuzorul nu acceptă efectele sonore pe 5.1 canale."
+
+msgid "IDS_MUSIC_OPT_VIEW_BY_COVER_ART"
+msgstr "Vizualizare după copertă"
+
+msgid "IDS_MUSIC_OPT_SEND_TRACK"
+msgstr "Trimitere pistă"
+
+msgid "IDS_MUSIC_OPT_RATE_TRACK"
+msgstr "Apreciere piesă"
+
+msgid "IDS_MUSIC_OPT_PLAYLIST_MOVE_TRACK_IN_PLAYLIST"
+msgstr "Mutare piesă în lista de redare"
+
+msgid "IDS_MUSIC_OPT_OPENPLAYLIST_CURRENT"
+msgstr "Curent"
+
+msgid "IDS_MUSIC_OPT_DELETE_PLAYLIST"
+msgstr "Ştergeţi lista de redare?"
+
+msgid "IDS_MUSIC_OPT_BACKGROUND_PLAYING"
+msgstr "Redare în fundal"
+
+msgid "IDS_MUSIC_HEADER_EFFECTS"
+msgstr "Efecte"
+
+msgid "IDS_MUSIC_BUTTON_BUY_NOW"
+msgstr "Cump. acum"
+
+msgid "IDS_MUSIC_BODY_WOW_HD"
+msgstr "Wow HD"
+
+msgid "IDS_MUSIC_BODY_WISHLIST"
+msgstr "Lista de dorinţe"
+
+msgid "IDS_MUSIC_BODY_WIDE"
+msgstr "Larg"
+
+msgid "IDS_MUSIC_BODY_WHA_WHA"
+msgstr "Wha-wha"
+
+msgid "IDS_MUSIC_BODY_VIBE_WOOFER"
+msgstr "Woofer vibraţii"
+
+msgid "IDS_MUSIC_BODY_TREMOLO"
+msgstr "Tremolo"
+
+msgid "IDS_MUSIC_BODY_TAP_TWICE_TO_PLAY_PAUSE_MUSIC"
+msgstr "Atingeţi de două ori pentru a reda/întrerupe muzica."
+
+msgid "IDS_MUSIC_BODY_SHARE_TRACK_VIA_BLUETOOTH"
+msgstr "Partajare piesă prin Bluetooth"
+
+msgid "IDS_MUSIC_BODY_SETUPWIZARD_WELCOME_TO_THE_MUSIC_SETUP_WIZARD_CONTINUE_Q"
+msgstr "Bun venit la Expertul de configurare al muzicii.\nUrmătoarele ecrane vă vor ajuta să vă configuraţi telefonul. Continuaţi?"
+
+msgid "IDS_MUSIC_BODY_QUICK_LIST"
+msgstr "Listă rapidă"
+
+msgid "IDS_MUSIC_BODY_PLAYINGSETTINGS_SOUND_EFFECTS"
+msgstr "Efecte de sunet"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_ALL"
+msgstr "Toate"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_1"
+msgstr "1"
+
+msgid "IDS_MUSIC_BODY_PLAYERSETTINGS_VOLUME"
+msgstr "Volum"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_SELECTED"
+msgstr "%d piese selectate"
+
+msgid "IDS_MUSIC_BODY_NO_PODCASTS"
+msgstr "Nu există podcasturi"
+
+msgid "IDS_MUSIC_BODY_FIND_SIMILAR"
+msgstr "Găsire piese asemănătoare"
+
+msgid "IDS_MUSIC_BODY_BACKGROUND_PLAY"
+msgstr "Redare în fundal"
+
+msgid "IDS_MUSIC_BODY_51_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "Sistemul pe 5.1 canale poate fi activat dacă efectele sonore sunt dezactivate."
+
+msgid "IDS_MUSIC_TAB4_PODCASTS"
+msgstr "Podcast."
+
+msgid "IDS_MUSIC_SK2_EDIT_IMAGE"
+msgstr "Editare imagine"
+
+msgid "IDS_MUSIC_POP_PLAYING_ANY_SOUNDS_WILL_STOP_AND_SAVE_YOUR_VOICE_RECORDING_PLAY_Q"
+msgstr "Redarea şi sunetele se vor opri, iar înregistrarea vocală va fi salvată. Redaţi?"
+
+msgid "IDS_MUSIC_POP_MAXIMUM_NUMBER_OF_ITEMS_HPD_SELECTED"
+msgstr "A fost selectat numărul maxim de elemente (%d)."
+
+msgid "IDS_MUSIC_POP_BLUETOOTH_DISCONNECTED"
+msgstr "Bluetooth deconectat"
+
+msgid "IDS_MUSIC_POP_5_1_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "Sistemul pe 5.1 canale poate fi activat numai când efectele sonore sunt dezactivate."
+
+msgid "IDS_MUSIC_OPT_TAKE_PICTURE"
+msgstr "Fotografiere"
+
+msgid "IDS_MUSIC_OPT_SHOW_MUSIC_VIEW_ABB"
+msgstr "Afiş. vizualizare muzică"
+
+msgid "IDS_MUSIC_OPT_PAUSE"
+msgstr "Pauză"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALBUM"
+msgstr "Redare album"
+
+msgid "IDS_MUSIC_OPT_LIST_BY"
+msgstr "Listare după"
+
+msgid "IDS_MUSIC_OPT_HISTORY"
+msgstr "Istoric"
+
+msgid "IDS_MUSIC_OPT_HIDE_MUSIC_VIEW_ABB"
+msgstr "Ascun. vizualizare muzică"
+
+msgid "IDS_MUSIC_OPT_FIND_TAG"
+msgstr "Căutare etichetă"
+
+msgid "IDS_MUSIC_OPT_DROPBOX_CONTENT_ABB"
+msgstr "Conţ. din Dropbox"
+
+msgid "IDS_MUSIC_OPT_CONTENT_ON_PHONE_ABB"
+msgstr "Conţinut din tf."
+
+msgid "IDS_MUSIC_OPT_CHANGE_IMAGE"
+msgstr "Schimbare imagine"
+
+msgid "IDS_MUSIC_HEADER_DELETE_DROPBOX_DATA_ABB"
+msgstr "Ştergere date Dropbox"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_STREAM_YOUR_MUSIC_TO_DEVICES_USING_ALLSHARE"
+msgstr "Puteţi reda în flux muzica pe dispozitive utilizând AllShare."
+
+msgid "IDS_MUSIC_BODY_VALIDITY"
+msgstr "Valabilitate"
+
+msgid "IDS_MUSIC_BODY_TYPE_CNOUN"
+msgstr "Tip"
+
+msgid "IDS_MUSIC_BODY_THIS_WILL_DELETE_THE_FILE_FROM_THE_SERVER_AND_ANY_CONNECTED_DEVICES_AS_WELL"
+msgstr "Aceasta va şterge fişierul de pe server şi de pe toate dispozitivele conectate."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_ARTISTS"
+msgstr "Artişti"
+
+msgid "IDS_MUSIC_BODY_PLAYINGDETAILS_ALBUM_ART"
+msgstr "Grafică album"
+
+msgid "IDS_MUSIC_BODY_OTHER_CONTENTS"
+msgstr "Alt conţinut"
+
+msgid "IDS_MUSIC_BODY_NAME_TOO_LONG"
+msgstr "Nume prea lung"
+
+msgid "IDS_MUSIC_BODY_MUSIC_CLARITY"
+msgstr "Claritate muzică"
+
+msgid "IDS_MUSIC_BODY_HIGH_VOLUMES_MAY_HARM_YOUR_HEARING_IF_YOU_LISTEN_FOR_A_LONG_TIME"
+msgstr "Sunetele la volum ridicat pot afecta auzul, dacă le ascultaţi timp îndelungat."
+
+msgid "IDS_MUSIC_BODY_AVAILABLE_USES"
+msgstr "Utilizări disponibile"
+
+msgid "IDS_MUSIC_TPOP_SOUND_EFFECTS_ONLY_AVAILABLE_WHILE_HEADPHONES_CONNECTED"
+msgstr "Efectele sonore sunt disponibile doar când sunt conectate căştile."
+
+msgid "IDS_ST_OPT_ADD_TO_YOUR_PERSONAL_STORAGE"
+msgstr "Adăugaţi în spaţiul de stocare personal"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_YOUR_PERSONAL_STORAGE"
+msgstr "Eliminaţi din spaţiul de stocare personal"
+
+msgid "IDS_ST_BODY_CONTEXTUAL_POP_UP_T_TALKBACK"
+msgstr "Fereastră de tip pop-up contextuală"
+
+msgid "IDS_ST_BODY_A_CONTEXTUAL_POP_UP_IS_OPEN_DOUBLE_TAP_TO_CLOSE_IT_T_TALKBACK"
+msgstr "Este deschisă o fereastră de tip pop-up contextuală. Atingeţi de două ori pentru a o închide."
+
+msgid "IDS_ST_BODY_REPEAT_ONE"
+msgstr "Repetare o dată"
+
+msgid "IDS_ST_BUTTON_MOVING_ING"
+msgstr "Se mută..."
+
+msgid "IDS_HS_BODY_SELECT_UP_TO_PD_ITEMS"
+msgstr "Selectaţi maximum %d elemente"
+
+msgid "IDS_CAM_BODY_TAB_T_TTS"
+msgstr "Filă"
+
+msgid "IDS_DLNA_OPT2_CHANGE_PLAYER"
+msgstr "Modificare dispozitiv de redare"
+
+msgid "IDS_BR_SK_TABS"
+msgstr "File"
+
+msgid "IDS_MF_BODY_DROPBOX_ABB"
+msgstr "Dropbox"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Recomandările automate pot extrage evidenţierile din fişierele de sunete."
+
+msgid "IDS_MF_BODY_PARENT_RATING"
+msgstr "Evaluare părinte"
+
+msgid "IDS_VR_POP_FILE_NOT_FOUND"
+msgstr "Fişier negăsit"
+
+msgid "IDS_PB_POP_CALLER_RINGTONE_SAVED"
+msgstr "Sonerie apelant salvată"
+
+msgid "IDS_MUSIC_BODY_BIT_DEPTH"
+msgstr "Adâncime de biţi"
+
+msgid "IDS_MUSIC_BODY_SIZE"
+msgstr "Dimensiune"
+
+msgid "IDS_MF_HEADER_PD_SELECTED"
+msgstr "%d selectate"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_THIS_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "După ce adăugaţi melodii pe acest dispozitiv, acestea vor fi afişate aici."
+
+msgid "IDS_MUSIC_TMBODY_LENGTH"
+msgstr "Durată"
+
+msgid "IDS_MUSIC_POP_1_FOLDER_WILL_BE_DELETED"
+msgstr "1 folder va fi şters."
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Conţinuturi inexistente"
+
+msgid "IDS_MUSIC_ITAB4_FOLDERS"
+msgstr "Foldere"
+
+msgid "IDS_MUSIC_HEADER_MY_PLAYLISTS_ABB"
+msgstr "Listele mele de redare"
+
+msgid "IDS_MP_BODY_SOUND_PLAYER"
+msgstr "Player sunete"
+
+msgid "IDS_MUSIC_OPT_SETTINGS"
+msgstr "Setări"
+
+msgid "IDS_MUSIC_POP_DELETING"
+msgstr "Se şterge..."
+
+msgid "IDS_MUSIC_POP_1_TRACK_WILL_BE_DELETED"
+msgstr "1 melodie va fi ştearsă."
+
+msgid "IDS_MUSIC_POP_ALL_TRACKS_WILL_BE_DELETED"
+msgstr "Toate melodiile vor fi şterse"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_WILL_BE_DELETED"
+msgstr "%d melodii vor fi şterse."
+
+msgid "IDS_MUSIC_POP_1_PLAYLIST_WILL_BE_DELETED"
+msgstr "1 listă de redare va fi ştearsă."
+
+msgid "IDS_MUSIC_POP_PD_PLAYLISTS_WILL_BE_DELETED"
+msgstr "%d liste de redare vor fi şterse."
+
+msgid "IDS_MUSIC_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "%d albume vor fi şterse."
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS_WILL_BE_DELETED"
+msgstr "%d artişti vor fi şterşi."
+
+msgid "IDS_MUSIC_POP_PD_FOLDERS_WILL_BE_DELETED"
+msgstr "%d foldere vor fi şterse."
+
+msgid "IDS_ST_POP_CONNECTION_FAILED"
+msgstr "Conexiune nereuşită"
+
+msgid "IDS_MUSIC_BODY_CLASSIC"
+msgstr "Clasic"
+
+msgid "IDS_MUSIC_BODY_ROCK"
+msgstr "Rock"
+
+msgid "IDS_MUSIC_BODY_JAZZ"
+msgstr "Jazz"
+
+msgid "IDS_MUSIC_BODY_POP"
+msgstr "Pop"
+
+msgid "IDS_MUSIC_BODY_AUTO"
+msgstr "Automat"
+
+msgid "IDS_MUSIC_POP_CURRENT_SOUND_EFFECT_NOT_SUPPORTED_BY_HDMI"
+msgstr "Efectul sonor curent nu este acceptat de HDMI."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_BLUETOOTH"
+msgstr "Efectele sonore nu sunt acceptate de Bluetooth."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_LINE_OUT"
+msgstr "Efectele sonore nu sunt acceptate prin linia de ieşire."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_HDMI"
+msgstr "Efectele sonore nu sunt acceptate de ieşirea HDMI."
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EFFECT"
+msgstr "Amplificator cu tub electronic cu vid"
+
+msgid "IDS_MUSIC_BODY_CUSTOM"
+msgstr "Particularizat"
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EQUALISER_ABB"
+msgstr "Ampl. tub elec."
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "Au fost adăugate %d melodii în lista de redare."
+
+msgid "IDS_MUSIC_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 melodie a fost adăugată în lista de redare."
+
+msgid "IDS_MUSIC_HEADER_ADD_TRACKS_TO_PLAYLIST_ABB"
+msgstr "Adăugare melodii pe listă"
+
+msgid "IDS_MUSIC_POP_PS_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "%s este deja în uz. Introduceţi alt nume."
+
+msgid "IDS_MUSIC_TMBODY_DATE_OF_RECORDING"
+msgstr "Data înregistrării"
+
+msgid "IDS_MBP_TPOP_TRACK_SET_AS_ALARM_TONE"
+msgstr "Melodia a fost setată ca ton de alarmă."
+
+msgid "IDS_MUSIC_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Nu au fost găsite rezultate"
+
+msgid "IDS_MUSIC_OPT_DEFAULT_RINGTONE_ABB"
+msgstr "Ton de sonerie implicit"
+
+msgid "IDS_MUSIC_TPOP_TRACK_SET_AS_CALLER_RINGTONE"
+msgstr "Melodia a fost setată ca ton de sonerie pentru apelant."
+
+msgid "IDS_MP_TPOP_TRACK_SET_AS_RINGTONE"
+msgstr "Melodia a fost setată ca ton de sonerie."
+
+msgid "IDS_DLNA_BODY_ADD_TO_NOW_PLAYING_LIST"
+msgstr "Adăugare la lista în curs de redare"
+
+msgid "IDS_MUSIC_TPOP_EQUALISER_SETTINGS_WILL_BE_APPLIED_WHILE_PLAYING_MUSIC"
+msgstr "Setările pentru egalizator se vor aplica la redarea muzicii."
+
+msgid "IDS_ST_BODY_ALERT"
+msgstr "Avertizare"
+
+msgid "IDS_IV_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 album va fi şters."
+
+msgid "IDS_MUSIC_OPT_SD_CARD"
+msgstr "Cartelă SD"
+
+msgid "IDS_MUSIC_SBODY_DEVICE_STORAGE"
+msgstr "Spaţiu stocare dispozitiv"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE"
+msgstr "Numele listei de redare este deja utilizat."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_PD"
+msgstr "Listă de redare %d"
+
+msgid "IDS_MUSIC_HEADER_CREATE"
+msgstr "Creare"
+
+msgid "IDS_MUSIC_HEADER_EQUALISER_PRESET_ABB"
+msgstr "Presetare egalizator"
+
+msgid "IDS_MUSIC_OPT_AUTOMATIC_M_EQUALIZER_EFFECT"
+msgstr "Automat"
+
+msgid "IDS_MUSIC_OPT_CLASSICAL_M_EQUALIZER_EFFECT"
+msgstr "Clasic"
+
+msgid "IDS_MUSIC_HEADER_ENVIRONMENT_EFFECT_ABB"
+msgstr "Efect mediu"
+
+msgid "IDS_VIDEO_POP_THE_FILE_TYPE_IS_NOT_SUPPORTED"
+msgstr "Tipul de fişier nu este acceptat."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_CREATE_PLAYLISTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "După ce creaţi liste de redare, acestea se vor afişa aici."
+
+msgid "IDS_ST_HEADER_SELECT_AUDIO_DEVICE_ABB"
+msgstr "Selectare dispozitiv audio"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "Numele listei de redare este deja utilizat. Introduceţi alt nume."
+
+msgid "IDS_MUSIC_HEADER_SOUNDALIVE_ABB3"
+msgstr "SoundAlive"
+
+msgid "IDS_MUSIC_OPT_NOW_PLAYING_LIST"
+msgstr "Lista redată curent"
+
+msgid "IDS_MUSIC_OPT_SHOW_LYRICS"
+msgstr "Afişare versuri"
+
+msgid "IDS_MUSIC_OPT_HIDE_LYRICS"
+msgstr "Ascundere versuri"
+
+msgid "IDS_MUSIC_TPOP_UNABLE_TO_PLAY_MUSIC_DURING_CALLS"
+msgstr "Nu se poate reda muzică în timpul apelurilor."
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Ştergere"
+
+msgid "IDS_MUSIC_HEADER_SELECT"
+msgstr "Selectare"
+
+msgid "IDS_TPLATFORM_OPT_NFC"
+msgstr "NFC"
+
+msgid "IDS_MUSIC_HEADER_UNABLE_TO_PLAY_TRACK"
+msgstr "Piesa nu poate fi redată"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "EFECTUAT"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ANULARE"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "ŞTERGERE"
+
+msgid "IDS_MUSIC_POP_RENAME"
+msgstr "Redenumire"
+
+msgid "IDS_MUSIC_OPT_MESSAGE"
+msgstr "Mesaj"
+
+msgid "IDS_MUSIC_SK_OK"
+msgstr "OK"
+
+msgid "IDS_MUSIC_SK_CANCEL"
+msgstr "Anulare"
+
+msgid "IDS_MUSIC_BUTTON_REFRESH"
+msgstr "Reîmprosp."
+
+msgid "IDS_MUSIC_BODY_SELECT_ALL"
+msgstr "Selectare toate"
+
+msgid "IDS_MUSIC_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_MUSIC_POP_DELETED"
+msgstr "Şters"
+
+msgid "IDS_MUSIC_OPT_STOP"
+msgstr "Oprire"
+
+msgid "IDS_MUSIC_BODY_UNKNOWN"
+msgstr "Necunoscut"
+
+msgid "IDS_MUSIC_BODY_TITLE"
+msgstr "Titlu"
+
+msgid "IDS_MUSIC_OPT_SENDVIA_EMAIL"
+msgstr "Email"
+
+msgid "IDS_MUSIC_OPT_BLUETOOTH"
+msgstr "Bluetooth"
+
+msgid "IDS_MUSIC_HEADER_DOWNLOAD"
+msgstr "Descărcare"
+
+msgid "IDS_MUSIC_POP_LOW_BATTERY"
+msgstr "Baterie descărcată"
+
+msgid "IDS_MUSIC_HEADER_AUDIO_DEVICE"
+msgstr "Dispozitiv audio"
+
+msgid "IDS_MUSIC_HEADER_DETAILS"
+msgstr "Detalii"
+
+msgid "IDS_MUSIC_OPT_END"
+msgstr "Terminare"
+
+msgid "IDS_MUSIC_OPT_EDIT"
+msgstr "Editare"
+
+msgid "IDS_CAM_HEADER_UPDATED"
+msgstr "Actualizat"
+
+msgid "IDS_MUSIC_POP_REMOVED"
+msgstr "Eliminat"
+
+msgid "IDS_MUSIC_OPT_SELECTED"
+msgstr "Selectat"
+
+msgid "IDS_ST_BUTTON_SCAN"
+msgstr "Căutare"
+
+msgid "IDS_MF_POP_ERROR"
+msgstr "Eroare"
+
+msgid "IDS_MF_POP_MEMORY_FULL"
+msgstr "Memorie plină"
+
+msgid "IDS_MUSIC_MBODY_QUEUE"
+msgstr "Coadă"
+
+msgid "IDS_MUSIC_OPT_VOLUME"
+msgstr "Volum"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE"
+msgstr "Amestecare"
+
+msgid "IDS_MUSIC_OPT_REPEAT"
+msgstr "Repetare"
+
+msgid "IDS_COM_BODY_DETAILS"
+msgstr "Details"
+
+msgid "IDS_COM_BODY_DETAILS_TITLE"
+msgstr "Title"
+
+msgid "IDS_COM_BODY_EDIT"
+msgstr "Edit"
+
+msgid "IDS_COM_BODY_EMAIL"
+msgstr "Email"
+
+msgid "IDS_COM_BODY_END"
+msgstr "End"
+
+msgid "IDS_COM_BODY_FOLDERS"
+msgstr "Folders"
+
+msgid "IDS_COM_BODY_GALLERY"
+msgstr "Gallery"
+
+msgid "IDS_COM_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_COM_BODY_LOADING"
+msgstr "Loading..."
+
+msgid "IDS_COM_BODY_LOW_BATTERY"
+msgstr "Low battery."
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Message"
+
+msgid "IDS_COM_BODY_MUSIC"
+msgstr "Music"
+
+msgid "IDS_COM_BODY_NFC"
+msgstr "NFC"
+
+msgid "IDS_COM_BODY_NO_CONTENTS"
+msgstr "No content"
+
+msgid "IDS_COM_BODY_PAUSE"
+msgstr "Pause"
+
+msgid "IDS_COM_BODY_PD_SELECTED"
+msgstr "%d selected."
+
+msgid "IDS_COM_BODY_PREVIOUS"
+msgstr "Previous"
+
+msgid "IDS_COM_BODY_RESET_A"
+msgstr "Reset"
+
+msgid "IDS_COM_BODY_SELECTED"
+msgstr "Selected"
+
+msgid "IDS_COM_BODY_SELECT_ALL"
+msgstr "Select all"
+
+msgid "IDS_COM_BODY_SETTINGS"
+msgstr "Settings"
+
+msgid "IDS_COM_BODY_TIME"
+msgstr "Time"
+
+msgid "IDS_COM_BODY_UNABLE_TO_ADD"
+msgstr "Unable to add."
+
+msgid "IDS_COM_BODY_UNKNOWN"
+msgstr "Unknown"
+
+msgid "IDS_COM_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_COM_BUTTON_SCAN"
+msgstr "Scan"
+
+msgid "IDS_COM_BUTTON_SHARE"
+msgstr "Share"
+
+msgid "IDS_COM_HEADER_AUDIO_DEVICE_ABB"
+msgstr "Audio device"
+
+msgid "IDS_COM_OPT_ADDED"
+msgstr "Added."
+
+msgid "IDS_COM_OPT_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_POP_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_POP_CONNECTION_FAILED"
+msgstr "Connection failed."
+
+msgid "IDS_COM_POP_DELETED"
+msgstr "Deleted."
+
+msgid "IDS_COM_POP_DELETE_Q"
+msgstr "Delete?"
+
+msgid "IDS_COM_POP_DONE"
+msgstr "Done"
+
+msgid "IDS_COM_POP_DOWNLOADING"
+msgstr "Downloading..."
+
+msgid "IDS_COM_POP_ERROR"
+msgstr "Error."
+
+msgid "IDS_COM_POP_FAILED"
+msgstr "Failed."
+
+msgid "IDS_COM_POP_FILE_NOT_EXIST"
+msgstr "This file does not exist."
+
+msgid "IDS_COM_POP_FILE_NOT_FOUND"
+msgstr "File not found."
+
+msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximum number of characters reached."
+
+msgid "IDS_COM_POP_MEMORY_FULL"
+msgstr "Memory full."
+
+msgid "IDS_COM_POP_REMOVED"
+msgstr "Removed."
+
+msgid "IDS_COM_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Unable to use during Mass storage mode."
+
+msgid "IDS_COM_POP_UPDATED"
+msgstr "Updated."
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_SK_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_SK_DOWNLOAD"
+msgstr "Download"
+
+msgid "IDS_COM_SK_NEW"
+msgstr "New"
+
+msgid "IDS_COM_SK_NEXT"
+msgstr "Next"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_SK_REFRESH"
+msgstr "Refresh"
+
+msgid "IDS_COM_SK_REMOVE"
+msgstr "Remove"
+
+msgid "IDS_COM_SK_SAVE"
+msgstr "Save"
+
+msgid "IDS_COM_SK_SELECT"
+msgstr "Select"
+
+msgid "IDS_COM_SK_SET"
+msgstr "Set"
+
+msgid "IDS_COM_SK_STOP"
+msgstr "Stop"
+
+
+msgid "IDS_MH_BODY_THE_PLAYLIST_NAME_PS_IS_ALREADY_IN_USE"
+msgstr "The playlist name %s is already in use."
+
+msgid "IDS_MH_BODY_TOTAL"
+msgstr "Total"
+
+msgid "IDS_MH_MBODY_RECENTLY_ADDED_M_SONG"
+msgstr "Recently added"
+
+msgid "IDS_MH_OPT_MORE_INFO_ABB"
+msgstr "More info"
+
+msgid "IDS_MH_POP_ALARM_TONE_SET"
+msgstr "Alarm tone set."
+
+msgid "IDS_MH_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 track added to playlist."
+
+msgid "IDS_MH_TPOP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d tracks added to playlist."
+
+msgid "IDS_MUSIC_OPT_RENAME"
+msgstr "Rename"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Unable to play during call."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Dimensiune maximă de fişiere depăşită"
+
+msgid "IDS_CAM_TPOP_UNABLE_TO_PLAY_MUSIC_WHILE_RECORDING_AUDIO_OR_VIDEO"
+msgstr "Nu se poate reda muzică în timp ce se înregistrează conținut audio sau video."
+
--- /dev/null
+msgid "IDS_ST_BODY_LOADING_ING"
+msgstr "Загрузка..."
+
+msgid "IDS_GALLERY_OPT_PRIVATE_M_CONTENT"
+msgstr "Личное"
+
+msgid "IDS_MF_BODY_TIME"
+msgstr "Время"
+
+msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
+msgstr "Файл не существует."
+
+msgid "IDS_MUSIC_POP_PHONE_RINGTONE"
+msgstr "Мелодия звонка"
+
+msgid "IDS_MUSIC_BODY_DURATION"
+msgstr "Продолжительность"
+
+msgid "IDS_MUSIC_BODY_MUSIC_LOCATION"
+msgstr "Расположение"
+
+msgid "IDS_MUSIC_BODY_SET_AS_M_RINGTONE"
+msgstr "Установить как"
+
+msgid "IDS_ST_OPT_ADD_TO_PERSONAL_PAGE"
+msgstr "Добавить на личную страницу"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_PERSONAL_PAGE_ABB"
+msgstr "Удалить с личной страницы"
+
+msgid "IDS_ST_POP_MOVE_TO_NORMAL_STORAGE"
+msgstr "Переместить в обычное хранилище"
+
+msgid "IDS_ST_POP_MOVE_TO_PERSONAL_STORAGE"
+msgstr "Переместить в личное хранилище"
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEMS_WILL_BE_MOVED_TO_PS"
+msgstr "Выбранные элементы будут перемещены в %s."
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEM_WILL_BE_MOVED_TO_PS"
+msgstr "Выбранный элемент будет перемещен в %s."
+
+msgid "IDS_VR_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Нельзя использовать в режиме съемного носителя."
+
+msgid "IDS_MUSIC_POP_RINGTONE_ADDED"
+msgstr "Добавлена мелодия звонка."
+
+msgid "IDS_CAM_BODY_BUTTON_T_TTS"
+msgstr "Кнопка"
+
+msgid "IDS_MUSIC_HEADER_SELECT_ITEMS"
+msgstr "Выберите элементы"
+
+msgid "IDS_ST_BODY_ADVANCED"
+msgstr "Дополнительно"
+
+msgid "IDS_ST_SK_PREVIOUS"
+msgstr "Назад"
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Закрыть"
+
+msgid "IDS_MUSIC_POP_ADDED"
+msgstr "Добавлено."
+
+msgid "IDS_MUSIC_POP_FAILED"
+msgstr "Сбой."
+
+msgid "IDS_MUSIC_BODY_NO_SEARCH_RESULTS"
+msgstr "Нет результатов поиска"
+
+msgid "IDS_MUSIC_SK_DONE"
+msgstr "Готово"
+
+msgid "IDS_MUSIC_BODY_NO_ITEMS"
+msgstr "Нет элементов"
+
+msgid "IDS_BR_OPT_ADD_TO_HOME"
+msgstr "Добавить на главный экран"
+
+msgid "IDS_BR_SK_NEXT"
+msgstr "Далее"
+
+msgid "IDS_BR_BODY_DOWNLOADING_ING"
+msgstr "Загрузка..."
+
+msgid "IDS_IV_BODY_FAVOURITE"
+msgstr "Избранное"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_PERSONAL_STORAGE"
+msgstr "Добавить в личное хранилище"
+
+msgid "IDS_DLNA_POP_DISCONNECTED_FROM_PS_CHECK_THE_NETWORK_STATUS_AND_THE_CONNECTED_DEVICE"
+msgstr "Отключено от %s. Проверьте состояние сети и подключенного устройства"
+
+msgid "IDS_DLNA_OPT_VIA_SCREEN_MIRRORING_ABB"
+msgstr "Через Screen Mirroring"
+
+msgid "IDS_DLNA_OPT_VIA_HOME_NETWORK_ABB"
+msgstr "Через домашнюю сеть"
+
+msgid "IDS_IV_POP_ENTRY_IS_EMPTY"
+msgstr "Пустая запись."
+
+msgid "IDS_FM_POP_UNAVAILABLE_DURING_CALL"
+msgstr "Недоступно во время разговора."
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Достигнуто максимальное число символов."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_SHARE_DRM_FILE"
+msgstr "Невозможно предоставить общий доступ к файлу DRM."
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Удаление..."
+
+msgid "IDS_MUSIC_HEADER_PD_DEVICES"
+msgstr "Устройств: %d"
+
+msgid "IDS_MUSIC_BUTTON_ENABLE_MOTION"
+msgstr "Вкл. движение"
+
+msgid "IDS_MUSIC_BUTTON_DONT_ASK_AGAIN"
+msgstr "Больше не спрашивать"
+
+msgid "IDS_MUSIC_BODY_NO_RESULTS_FOUND"
+msgstr "Ничего не найдено."
+
+msgid "IDS_VPL_OPT_HDMI"
+msgstr "HDMI"
+
+msgid "IDS_MUSIC_BODY_TURN_PHONE_OVER_TO_MUTE_INCOMING_CALLS_MESSAGE_ALERTS_AND_ALARMS"
+msgstr "Чтобы отключить сигнал входящего вызова, сообщения или будильника, переверните телефон."
+
+msgid "IDS_ST_BODY_NONE"
+msgstr "Нет"
+
+msgid "IDS_ST_BODY_INTERNET"
+msgstr "Интернет"
+
+msgid "IDS_ST_BODY_GALLERY"
+msgstr "Галерея"
+
+msgid "IDS_ST_BODY_DOUBLE_TAP_TO_MOVE_TO_CONTENT_T_TTS"
+msgstr "Дважды нажмите, чтобы перейти к содержимому."
+
+msgid "IDS_MUSIC_BODY_SURROUND"
+msgstr "Объемный звук"
+
+msgid "IDS_MUSIC_OPT_LYRICS_ABB"
+msgstr "Текст песни"
+
+msgid "IDS_MUSIC_POP_AFTER_YOU_ADD_TRACKS_TO_MUSIC_ON_YOUR_MOBILE_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Здесь выводятся композиции, добавленные в папку “Музыка” на мобильном устройстве."
+
+msgid "IDS_MUSIC_BODY_SAMPLING_RATE"
+msgstr "Частота дискретизации"
+
+msgid "IDS_MUSIC_BODY_MARKED_AS_A_FAVOURITE"
+msgstr "Добавлено в избранное."
+
+msgid "IDS_MUSIC_BODY_MUSIC"
+msgstr "Музыка"
+
+msgid "IDS_MUSIC_BODY_NOT_MARKED_AS_A_FAVOURITE"
+msgstr "Не добавлено в избранное."
+
+msgid "IDS_MUSIC_HEADER_SEARCH_MUSIC_ABB"
+msgstr "Поиск музыки"
+
+msgid "IDS_MUSIC_POP_AUTO_RECOMMENDATION_DOES_NOT_SUPPORT_THIS_AUDIO_FILE"
+msgstr "Авторекомендация не поддерживает этот звуковой файл."
+
+msgid "IDS_MUSIC_POP_SORRY_THE_PLAYER_DOES_NOT_SUPPORT_THIS_TYPE_OF_AUDIO_FILE"
+msgstr "Проигрыватель не поддерживает этот тип аудиофайлов."
+
+msgid "IDS_MUSIC_BODY_FAVOURITES"
+msgstr "Избранное"
+
+msgid "IDS_MUSIC_BODY_MOST_PLAYED"
+msgstr "Популярные файлы"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_ADDED"
+msgstr "Недавно добавленные"
+
+msgid "IDS_MUSIC_OPT_CREATE_PLAYLIST"
+msgstr "Создать список"
+
+msgid "IDS_MUSIC_OPT_REMOVE"
+msgstr "Удалить"
+
+msgid "IDS_MUSIC_OPT_SETAS_CALLER_RINGTONE"
+msgstr "Мелодия контакта"
+
+msgid "IDS_MUSIC_TAB4_ARTISTS"
+msgstr "Артисты"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD"
+msgstr "Не удалось добавить."
+
+msgid "IDS_MUSIC_POP_UNABLE_CREATE_PLAYLIST"
+msgstr "Невозможно создать список воспроизведения."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_GET_TAG"
+msgstr "Не удается получить тег."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_MORE_THAN_PD_MUSIC_FILE"
+msgstr "Невозможно добавить больше %d музыкальных файлов."
+
+msgid "IDS_MUSIC_BODY_ALBUM"
+msgstr "Альбом"
+
+msgid "IDS_MUSIC_BODY_AUTHOR"
+msgstr "Автор"
+
+msgid "IDS_MUSIC_BODY_COPYRIGHT"
+msgstr "Авторские права"
+
+msgid "IDS_MUSIC_BODY_CREATE_PLAYLIST"
+msgstr "Создать список"
+
+msgid "IDS_MUSIC_BODY_DESCRIPTION"
+msgstr "Описание"
+
+msgid "IDS_MUSIC_BODY_FORMAT"
+msgstr "Формат"
+
+msgid "IDS_MUSIC_BODY_IMPOSSIBLE"
+msgstr "Невозможно"
+
+msgid "IDS_MUSIC_BODY_NO_PLAYLISTS"
+msgstr "Нет плейлистов"
+
+msgid "IDS_MUSIC_BODY_TRACK_NUMBER"
+msgstr "Номер композиции"
+
+msgid "IDS_MUSIC_POP_DELETE_Q"
+msgstr "Удалить?"
+
+msgid "IDS_MUSIC_POP_REMOVE_Q"
+msgstr "Удалить?"
+
+msgid "IDS_MUSIC_POP_UNABLE_RENAME_PLAYLIST"
+msgstr "Невозможно переименовать список воспроизведения."
+
+msgid "IDS_MUSIC_TAB4_ALBUMS"
+msgstr "Альбомы"
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Добавление..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Удалить альбомы (%d)?"
+
+msgid "IDS_MUSIC_TAB4_PLAYLISTS"
+msgstr "Списки воспроизведения"
+
+msgid "IDS_MUSIC_OPT_ADD"
+msgstr "Добавить"
+
+msgid "IDS_MUSIC_BODY_BIOGRAPHY"
+msgstr "Биография"
+
+msgid "IDS_MUSIC_BODY_CREDITS"
+msgstr "Исполнители"
+
+msgid "IDS_MUSIC_BODY_DETAILS_MEADIA_INFO"
+msgstr "Информация"
+
+msgid "IDS_MUSIC_BODY_DISCOGRAPHY"
+msgstr "Дискография"
+
+msgid "IDS_MUSIC_BODY_LYRIC"
+msgstr "Слова"
+
+msgid "IDS_MUSIC_BODY_POSSIBLE"
+msgstr "Возможно"
+
+msgid "IDS_MUSIC_BODY_REVIEW"
+msgstr "Просмотр"
+
+msgid "IDS_MUSIC_HEADER_TRACK_LIST"
+msgstr "Список файлов"
+
+msgid "IDS_MUSIC_BODY_ADD_TO_PLAYLIST"
+msgstr "Добавить в список"
+
+msgid "IDS_MUSIC_BODY_ARTIST"
+msgstr "Исполнитель"
+
+msgid "IDS_MUSIC_BODY_FORWARDING"
+msgstr "Пересылка"
+
+msgid "IDS_MUSIC_BODY_RECORDED_DATE"
+msgstr "Date of recording"
+
+msgid "IDS_MUSIC_BODY_PLAYLISTS"
+msgstr "Плейлисты"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_PLAYED"
+msgstr "Последние файлы"
+
+msgid "IDS_MUSIC_BODY_TRACK_LENGTH"
+msgstr "Длительность"
+
+msgid "IDS_MUSIC_HEADER_NO_SONGS"
+msgstr "Нет композиций"
+
+msgid "IDS_MUSIC_POP_THIS_TRACK_WILL_BE_DELETED"
+msgstr "Эта композиция будет удалена."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_TRACKS_WILL_BE_DELETED"
+msgstr "Выбранные композиции будут удалены."
+
+msgid "IDS_MUSIC_POP_THIS_ARTIST_WILL_BE_DELETED"
+msgstr "Исполнитель будет удален."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ARTISTS_WILL_BE_DELETED"
+msgstr "Выбранные исполнители будут удалены."
+
+msgid "IDS_MUSIC_POP_ALL_ARTISTS_WILL_BE_DELETED"
+msgstr "Все исполнители будут удалены."
+
+msgid "IDS_MUSIC_POP_THIS_FOLDER_WILL_BE_DELETED"
+msgstr "Эта папка будет удалена."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_FOLDERS_WILL_BE_DELETED"
+msgstr "Выбранные папки будут удалены."
+
+msgid "IDS_MUSIC_POP_ALL_FOLDERS_WILL_BE_DELETED"
+msgstr "Все папки будут удалены."
+
+msgid "IDS_MUSIC_POP_THIS_ALBUM_WILL_BE_DELETED"
+msgstr "Альбом будет удален."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ALBUMS_WILL_BE_DELETED"
+msgstr "Выбранные альбомы будут удалены."
+
+msgid "IDS_MUSIC_POP_ALL_ALBUMS_WILL_BE_DELETED"
+msgstr "Все альбомы будут удалены."
+
+msgid "IDS_MUSIC_POP_THIS_PLAYLIST_WILL_BE_DELETED"
+msgstr "Этот список воспроизведения будет удален."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Выбранные списки воспроизведения будут удалены."
+
+msgid "IDS_MUSIC_POP_ALL_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Все списки воспроизведения будут удалены."
+
+msgid "IDS_MUSIC_HEADER_SONGS"
+msgstr "Песни"
+
+msgid "IDS_MUSIC_OPT_REORDER"
+msgstr "Изменить порядок"
+
+msgid "IDS_MUSIC_OPT_SAVE_AS_PLAYLIST"
+msgstr "Сохранить как плейлист"
+
+msgid "IDS_MUSIC_OPT_SETAS_ALARM_TONE"
+msgstr "Мелодия сигнала"
+
+msgid "IDS_MUSIC_POP_NOTHING_SELECTED"
+msgstr "Ничего не выбрано."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Сбой воспроизведения. Произошла ошибка."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_UNSUPPORTED_FILETYPE"
+msgstr "Невозможно воспроизвести. Неподдерживаемый тип файла."
+
+msgid "IDS_MUSIC_SK_SHARE"
+msgstr "Отправить"
+
+msgid "IDS_MUSIC_TAB4_CONDUCTORS"
+msgstr "Дирижеры"
+
+msgid "IDS_MUSIC_HEADER_SELECT_DEVICE"
+msgstr "Выберите устройство"
+
+msgid "IDS_MUSIC_SK_VIEW_AS"
+msgstr "Вид"
+
+msgid "IDS_MUSIC_BODY_SOUNDEFFECTS_NORMAL"
+msgstr "Обычный"
+
+msgid "IDS_MUSIC_BODY_USER"
+msgstr "Пользователь"
+
+msgid "IDS_MUSIC_BODY_VOCAL_M_SOUNDEFFECT"
+msgstr "Вокал"
+
+msgid "IDS_MUSIC_MBODY_BASS_BOOST"
+msgstr "Усиление низких частот"
+
+msgid "IDS_MUSIC_MBODY_TREBLE_BOOST"
+msgstr "Усиление высоких частот"
+
+msgid "IDS_MUSIC_BODY_CAFE_M_SOUNDEFFECT"
+msgstr "Кафе"
+
+msgid "IDS_MUSIC_OPT_VIRTUAL_71_CH"
+msgstr "Эмуляция 7.1"
+
+msgid "IDS_MUSIC_OPT_AFTER_15_MIN_ABB"
+msgstr "Через 15 мин"
+
+msgid "IDS_MUSIC_BODY_AFTER_30_MIN"
+msgstr "Через 30 мин"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HOUR"
+msgstr "Через 1 час"
+
+msgid "IDS_MUSIC_POP_AFTER_1_HOUR_30_MIN"
+msgstr "Через 1 час 30 мин"
+
+msgid "IDS_MUSIC_BODY_AFTER_2_HOURS"
+msgstr "Через 2 часа"
+
+msgid "IDS_MUSIC_BODY_MUSIC_AUTO_OFF"
+msgstr "Автоотключение музыки"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES_ONLY"
+msgstr "Этот звуковой эффект доступен только в режимах наушников и гарнитуры Bluetooth."
+
+msgid "IDS_MUSIC_TAB4_MUSIC_SQUARE"
+msgstr "Музык. квадрат"
+
+msgid "IDS_MUSIC_POP_NOT_ENOUGH_MUSIC_FILES_TO_PLAY_IN_MUSIC_SQUARE_AT_LEAST_PD_MUSIC_FILES_REQUIRED"
+msgstr "Недостаточно файлов для музыкального квадрата. Требуется не менее %d аудиофайлов."
+
+msgid "IDS_MUSIC_BODY_PASSION_M_MOOD"
+msgstr "Страстная"
+
+msgid "IDS_MUSIC_BODY_CALM_M_ADJECTIVE"
+msgstr "Спокойная"
+
+msgid "IDS_MUSIC_BODY_JOY_M_MOOD"
+msgstr "Радостная"
+
+msgid "IDS_MUSIC_BODY_LIBRARY_UPDATE"
+msgstr "Обновление библиотеки"
+
+msgid "IDS_MUSIC_POP_UPDATE_LIBRARY_Q"
+msgstr "Обновить библиотеку?"
+
+msgid "IDS_MUSIC_BODY_CHANGE_AXIS"
+msgstr "Сменить ось"
+
+msgid "IDS_MUSIC_ITAB4_GENRES"
+msgstr "Жанры"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_1_TRACK"
+msgstr "Альбомов: 1/композиций: 1"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_PD_TRACKS"
+msgstr "Альбомов: 1/композиций: %d"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS_PD_TRACKS"
+msgstr "Альбомов: %d/композиций: %d"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_CONTROL_MUSIC_PLAYER_WITH_THE_VOICE_COMMANDS_P1SS_P2SS_P3SS_P4SS_P5SS_AND_P6SS"
+msgstr "Для управления музыкальным проигрывателем используйте голосовые команды %1$s, %2$s, %3$s, %4$s, %5$s и %6$s."
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_PD_TRACKS"
+msgstr "Перемешать композиции (%d)"
+
+msgid "IDS_MUSIC_BODY_MORE_INFO"
+msgstr "Дополнительные сведения"
+
+msgid "IDS_MUSIC_HEADER_MY_MUSIC_M_APPLICATION_NAME"
+msgstr "Моя музыка"
+
+msgid "IDS_MUSIC_OPT_LIST_VIEW"
+msgstr "Список"
+
+msgid "IDS_MUSIC_OPT_PLAY_VIA_GROUP_PLAY"
+msgstr "Воспроизвести через Group Play"
+
+msgid "IDS_MUSIC_POP_TRACK_ADDED_TO_FAVOURITES"
+msgstr "Композиция добавлена в избранное."
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_FAVOURITES"
+msgstr "Удалить из избранного"
+
+msgid "IDS_MUSIC_BODY_NEW_M_LATEST"
+msgstr "Новая"
+
+msgid "IDS_MUSIC_OPT_TRACKS"
+msgstr "Треки"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL"
+msgstr "Эскиз"
+
+msgid "IDS_MUSIC_SK_LIST"
+msgstr "Список"
+
+msgid "IDS_MUSIC_SK_OPEN_PLAYLIST"
+msgstr "Открыть список"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALL"
+msgstr "Воспроизвести все"
+
+msgid "IDS_MUSIC_POP_SELECTED_LIST_EMPTY"
+msgstr "Выбранный список пуст."
+
+msgid "IDS_MUSIC_BODY_MOODS"
+msgstr "Настроение"
+
+msgid "IDS_MUSIC_BUTTON_YEARS"
+msgstr "Годы"
+
+msgid "IDS_MUSIC_BODY_OLD"
+msgstr "Старая"
+
+msgid "IDS_MUSIC_BODY_MUSIC_SQUARE_ANALYSES_THE_CHARACTERISTICS_OF_MUSIC_FILES_STORED_ON_YOUR_DEVICE_AND_AUTOMATICALLY_CREATES_PLAYLISTS_MSG"
+msgstr "Музыкальный квадрат анализирует характеристики музыкальных файлов, хранящихся на устройстве, и автоматически создает списки воспроизведения."
+
+msgid "IDS_MUSIC_BODY_PLAY_TRACKS_WITH_SIMILAR_CHARACTERISTICS_BY_SELECTING_A_SQUARE_ON_THE_SCREEN"
+msgstr "При выборе какого-либо квадрата воспроизводятся дорожки соответствующего типа."
+
+msgid "IDS_MUSIC_BODY_VIEW_PLAYLIST_DETAILS_BY_TAPPING_AND_HOLDING_THE_SQUARE_CURRENTLY_BEING_PLAYED"
+msgstr "Чтобы просмотреть сведения о списке воспроизведения, нажмите и удерживайте квадрат, который проигрывается в данный момент."
+
+msgid "IDS_MUSIC_BODY_NEARBY_DEVICES"
+msgstr "Устройства поблизости"
+
+msgid "IDS_MUSIC_POP_YOU_WILL_NEED_TO_UPDATE_THE_LIBRARY_IF_NEW_SONGS_HAVE_BEEN_ADDED"
+msgstr "При добавлении новых песен потребуется обновить библиотеку."
+
+msgid "IDS_MUSIC_BODY_NO_ALBUMS"
+msgstr "Нет альбомов"
+
+msgid "IDS_MUSIC_BODY_NO_ARTISTS"
+msgstr "Нет исполнителей"
+
+msgid "IDS_MUSIC_OPT_PLAY_SPEED_ABB"
+msgstr "Скорость воспр."
+
+msgid "IDS_MUSIC_BODY_CONCERT_HALL_M_SOUNDEFFECT"
+msgstr "Концертный зал"
+
+msgid "IDS_MUSIC_OPT_ADD_TO"
+msgstr "Добавить"
+
+msgid "IDS_MUSIC_SK_VIEW"
+msgstr "Просмотр"
+
+msgid "IDS_MUSIC_OPT_LISTBY_RECENTLY_ADDED"
+msgstr "Недавно добавленные"
+
+msgid "IDS_MUSIC_BODY_NOT_USED"
+msgstr "Не используется"
+
+msgid "IDS_MUSIC_BODY_MAKE_AVAILABLE_OFFLINE"
+msgstr "Для автономного просмотра"
+
+msgid "IDS_MUSIC_OPT_AFTER_P1SD_HRS_P2SD_MINS"
+msgstr "Через %1$d ч. %2$d мин."
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS"
+msgstr "Через %d ч."
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_MINS"
+msgstr "Через %d мин."
+
+msgid "IDS_MUSIC_BODY_NO_FOLDERS"
+msgstr "Нет папок"
+
+msgid "IDS_MUSIC_BODY_NO_TRACKS"
+msgstr "Нет композиций"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS"
+msgstr "Альбомов: %d"
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS"
+msgstr "Исполнителей: %d"
+
+msgid "IDS_MUSIC_BODY_PD_GENRES"
+msgstr "Жанров: %d"
+
+msgid "IDS_MUSIC_BODY_PD_PLAYLISTS"
+msgstr "Плейлистов: %d"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_ABB"
+msgstr "Композиций: %d"
+
+msgid "IDS_MUSIC_BODY_PLAYLIST"
+msgstr "Список воспроизведения"
+
+msgid "IDS_MUSIC_HEADER_SIMILAR_ALBUMS"
+msgstr "Похожие альбомы"
+
+msgid "IDS_MUSIC_HEADER_TRACK"
+msgstr "Дорожки"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL_VIEW"
+msgstr "Эскизы"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "Этот звуковой эффект доступен только в режиме наушников."
+
+msgid "IDS_MUSIC_OPT_ALL_CONTENT_ABB2"
+msgstr "Все содержимое"
+
+msgid "IDS_MUSIC_BODY_A_NETWORK_CONNECTION_IS_REQUIRED_TO_PLAY_THIS_FILE_CHECK_YOUR_NETWORK_CONNECTION_AND_TRY_AGAIN"
+msgstr "Для воспроизведения этого файла требуется подключение к сети. Проверьте подключение к сети и повторите попытку."
+
+msgid "IDS_MUSIC_POP_FILE_TYPE_NOT_SUPPORTED"
+msgstr "Тип файла не поддерживается."
+
+msgid "IDS_MUSIC_POP_UPDATING_ING"
+msgstr "Обновление..."
+
+msgid "IDS_MUSIC_OPT_SEARCH_ABB"
+msgstr "Поиск"
+
+msgid "IDS_MUSIC_OPT_SEARCH_BY"
+msgstr "Поиск по"
+
+msgid "IDS_MUSIC_BODY_RELATED_VIDEOS"
+msgstr "Связанные видео"
+
+msgid "IDS_MUSIC_BODY_SMART_VOLUME_ABB"
+msgstr "Смарт-громкость"
+
+msgid "IDS_MUSIC_BODY_THE_VOLUME_OF_ALL_TRACKS_WILL_BE_ADJUSTED_TO_LEVEL_PD"
+msgstr "Для всех композиций будет настроен уровень громкости %d."
+
+msgid "IDS_MUSIC_HEADER_SMART_VOLUME_IS_ENABLED"
+msgstr "Включена интеллектуальная громкость"
+
+msgid "IDS_MUSIC_OPT_CONNECTION_INFO_ABB"
+msgstr "Сведения о подключ."
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_PD_MINS"
+msgstr "Через 1 час %d мин."
+
+msgid "IDS_MUSIC_BODY_ADAPT_SOUND_ABB"
+msgstr "Оптимизация звука"
+
+msgid "IDS_MUSIC_BODY_MY_DEVICE"
+msgstr "Мое устройство"
+
+msgid "IDS_MUSIC_POP_LISTENING_AT_A_HIGH_VOLUME_FOR_A_LONG_TIME_MAY_DAMAGE_YOUR_HEARING_RAISE_THE_VOLUME_ABOVE_SAFE_LEVELS_Q"
+msgstr "Длительное прослушивание музыки на высокой громкости может вызвать нарушение слуха. Превысить безопасный уровень громкости?"
+
+msgid "IDS_MUSIC_POP_ALREADY_EXISTS"
+msgstr "Уже существует."
+
+msgid "IDS_MUSIC_OPT_SCAN_FOR_NEARBY_DEVICES"
+msgstr "Поиск устройств поблизости"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR"
+msgstr "Через 1 час"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_1_MIN"
+msgstr "Через 1 час 1 минуту"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS_1_MIN"
+msgstr "Через %d ч. 1 минуту"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_MIN"
+msgstr "Через 1 минуту"
+
+msgid "IDS_MUSIC_OPT_GO_TO_STORE"
+msgstr "Перейти в магазин"
+
+msgid "IDS_MUSIC_SK3_ADD_TRACKS"
+msgstr "Добавить композ."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FROM_MUSIC_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Здесь выводятся загруженные композиции из папки “Музыка”."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_YOUR_FAVOURITES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Здесь выводятся композиции, добавленные в избранное."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_PLAY_TRACKS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Здесь выводятся воспроизводимые композиции."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_PS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Здесь выводятся композиции, добавленные в %s."
+
+msgid "IDS_MUSIC_BODY_NO_PURCHASED_CONTENT"
+msgstr "Нет приобретенного содержимого"
+
+msgid "IDS_MUSIC_SK_SAVE_AS"
+msgstr "Сохранить как"
+
+msgid "IDS_MUSIC_POP_MUSICPLAYER_UPDATING_FAILED"
+msgstr "Сбой обновления."
+
+msgid "IDS_MUSIC_BODY_EXCITING_M_ADJECTIVE"
+msgstr "Волнующая"
+
+msgid "IDS_MUSIC_BODY_SEARCH_MY_MUSIC"
+msgstr "Поиск в папке “Моя музыка”"
+
+msgid "IDS_MUSIC_HEADER_CONNECTED_DEVICES"
+msgstr "Подключенные устройства"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST_PS"
+msgstr "Мой список воспроизведения %s"
+
+msgid "IDS_MUSIC_BODY_NO_DEVICES"
+msgstr "Нет устройств"
+
+msgid "IDS_MUSIC_HEADER_AVAILABLE_DEVICES_ABB"
+msgstr "Доступные устройства"
+
+msgid "IDS_MUSIC_POP_SET"
+msgstr "Установлено"
+
+msgid "IDS_MUSIC_POP_REMOVE_FAILED"
+msgstr "Удаление невозможно."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_USE_FAST_FORWARD_AND_REWIND_WHEN_NEARBY_DEVICES_ARE_ENABLED"
+msgstr "Если включена функция устройств поблизости, использовать перемотку вперед и назад невозможно."
+
+msgid "IDS_MUSIC_OPT_SET_AS"
+msgstr "Установить как"
+
+msgid "IDS_MUSIC_OPT_HEADPHONES_ABB"
+msgstr "Наушники"
+
+msgid "IDS_MUSIC_OPT_SPEAKER"
+msgstr "Громкая связь"
+
+msgid "IDS_MUSIC_BODY_1_SONG"
+msgstr "1 композиция"
+
+msgid "IDS_MUSIC_BODY_PD_SONGS"
+msgstr "Композиций: %d"
+
+msgid "IDS_MUSIC_BODY_1_TRACK"
+msgstr "1 композиция"
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_1_TRACK"
+msgstr "Случайный порядок: 1 композиция"
+
+msgid "IDS_MUSIC_POP_NO_MUSIC_FOUND_FOR_SELECTED_CELL"
+msgstr "Музыка для выбранной ячейки не найдена"
+
+msgid "IDS_MUSIC_BODY_DO_NOT_SHOW_AGAIN"
+msgstr "Не показывать снова"
+
+msgid "IDS_MUSIC_BODY_VARIOUS_ARTISTS"
+msgstr "Различные исполнители"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_HOME_SCREEN_ABB"
+msgstr "На главный экран"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_FAVOURITES"
+msgstr "Добавить в Избранное"
+
+msgid "IDS_MUSIC_OPT_EDIT_TITLE"
+msgstr "Изменить заголовок"
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_PERSONAL_STORAGE"
+msgstr "Удалить из личного хранилища"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FOLDERS_WILL_BE_SHOWN"
+msgstr "Папки выводятся после загрузки композиций."
+
+msgid "IDS_MUSIC_BODY_SETTINGS_VOLUME"
+msgstr "Громкость"
+
+msgid "IDS_MUSIC_BODY_REPEAT_OFF"
+msgstr "Повтор отключен"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_REPEAT_ALL"
+msgstr "Все файлы"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_OFF"
+msgstr "Обычный порядок"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_ON"
+msgstr "Случайный порядок"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST"
+msgstr "Мой плейлист"
+
+msgid "IDS_MUSIC_MBODY_DEFAULT_PLAYLISTS"
+msgstr "Плейлисты по умолчанию"
+
+msgid "IDS_MUSIC_BODY_DETAILS_RECORDING_DATE"
+msgstr "Дата записи"
+
+msgid "IDS_MUSIC_OPT_ALBUM_ART_ABB"
+msgstr "Обложка"
+
+msgid "IDS_MUSIC_BODY_1_GENRE"
+msgstr "1 жанр"
+
+msgid "IDS_MUSIC_BODY_PD_FOLDERS"
+msgstr "Папки: %d"
+
+msgid "IDS_MUSIC_BODY_1_FOLDER"
+msgstr "1 папка"
+
+msgid "IDS_MUSIC_BODY_1_ARTIST"
+msgstr "1 исполнитель"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_M_MUSIC"
+msgstr "1 альбом"
+
+msgid "IDS_MUSIC_BODY_1_PLAYLIST"
+msgstr "1 плейлист"
+
+msgid "IDS_MUSIC_BODY_MUSIC_PLAYER"
+msgstr "Музыка"
+
+msgid "IDS_MUSIC_BUTTON_MOVE"
+msgstr "Переместить"
+
+msgid "IDS_MUSIC_BUTTON_AUTO_RECOMMENDATIONS"
+msgstr "Авторекомендации"
+
+msgid "IDS_MUSIC_BUTTON_FROM_THE_BEGINNING"
+msgstr "Сначала"
+
+msgid "IDS_MUSIC_HEADER_SUGGESTIONS_FOR_YOU"
+msgstr "Предложения для вас"
+
+msgid "IDS_MUSIC_OPT_SAVE"
+msgstr "Соxранить"
+
+msgid "IDS_MUSIC_TAB4_BASIC_M_EQUALIZING"
+msgstr "Основные"
+
+msgid "IDS_MUSIC_BODY_INSTRUMENT"
+msgstr "Инструментальная"
+
+msgid "IDS_MUSIC_BODY_TREBLE_M_EQUALISER"
+msgstr "Высокие частоты"
+
+msgid "IDS_MUSIC_BODY_BASS_M_EQUALISER"
+msgstr "Басы"
+
+msgid "IDS_MUSIC_BODY_NO_EFFECTS_ARE_APPLIED_IN_THIS_MODE_ABB"
+msgstr "В этом режиме не применяются эффекты."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_TIMBRE_OF_A_TUBE_AMP_ABB"
+msgstr "Эмулирует тембр лампового усилителя."
+
+msgid "IDS_MUSIC_OPT_TUBE_AMP_EFFECT"
+msgstr "Эффект лампового усилителя"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_EFFECT_OF_VIRTUAL_71_CHANNEL_SURROUND_SOUND_ABB"
+msgstr "Эмулирует эффект 7.1-канальной аудиосистемы."
+
+msgid "IDS_MUSIC_HEADER_SMALL_ROOM_M_REVERB_ABB"
+msgstr "Студия"
+
+msgid "IDS_MUSIC_HEADER_LARGE_ROOM_M_REVERB_ABB"
+msgstr "Большой зал"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_LARGE_ROOM_EG_A_THEATRE_ABB"
+msgstr "Эмулирует звучание в большом помещении."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_CONCERT_HALL_ABB"
+msgstr "Эмулирует реверберацию концертного зала."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_SMALL_SPACE_EG_A_STUDIO_ABB"
+msgstr "Эмулирует звучание в небольшом помещении."
+
+msgid "IDS_MUSIC_BUTTON_3D_CHN"
+msgstr "3D"
+
+msgid "IDS_MUSIC_BODY_CLARITY_M_SOUNDEFFECT"
+msgstr "Четкость"
+
+msgid "IDS_MUSIC_BUTTON_RESET"
+msgstr "Сброс"
+
+msgid "IDS_MUSIC_TAB_YEARS"
+msgstr "Годы"
+
+msgid "IDS_MUSIC_TAB_GENRES"
+msgstr "Жанры"
+
+msgid "IDS_MUSIC_TAB_COMPOSERS"
+msgstr "Композиторы"
+
+msgid "IDS_MUSIC_TAB_ALL_TRACKS"
+msgstr "Все композиции"
+
+msgid "IDS_MUSIC_SK3_GO_TO_QUICK_LIST"
+msgstr "Быстрый список"
+
+msgid "IDS_MUSIC_SK3_FIND"
+msgstr "Найти"
+
+msgid "IDS_MUSIC_SK3_ADD_TO_QUICK_LIST"
+msgstr "В быстрый список"
+
+msgid "IDS_MUSIC_POP_UNAUTHORISED_VIDEO_FILE_FOR_TV_OUT"
+msgstr "Недопустимый видеофайл для ТВ-выхода."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_CREATE_MAXIMUM_NUMBER_OF_PLAYLISTS_REACHED"
+msgstr "Невозможно создать. Достигнуто максимальное число списков воспроизведения."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTING_BLUETOOTH_HEADSET"
+msgstr "Невозможно настроить громкость при подключении гарнитуры Bluetooth."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTED_TO_BLUETOOTH_HEADSET"
+msgstr "Невозможно настроить громкость при подключении гарнитуры Bluetooth."
+
+msgid "IDS_MUSIC_POP_STOP_MUSIC_PLAYER_Q"
+msgstr "Остановить воспроизведение?"
+
+msgid "IDS_MUSIC_POP_PLEASE_EXIT_SILENT_MODE"
+msgstr "Выключите профиль “Без звука”."
+
+msgid "IDS_MUSIC_POP_NETWORK_FAILURE"
+msgstr "Сбой сети."
+
+msgid "IDS_MUSIC_POP_MEMORY_CARD_LOADED"
+msgstr "Карта памяти загружена."
+
+msgid "IDS_MUSIC_POP_DEVICE_SETTINGS_ERROR"
+msgstr "Ошибка параметров устройства."
+
+msgid "IDS_MUSIC_POP_COULD_NOT_FIND_A_MATCH_FOR_THE_SONG"
+msgstr "Невозможно найти совпадение для данной композиции."
+
+msgid "IDS_MUSIC_POP_BUFFERING_MSTATUS"
+msgstr "Буферизация"
+
+msgid "IDS_MUSIC_POP_BT_HEADSET_ONLY_SUPPORTS_NORMAL_EFFECTS_SETTING"
+msgstr "Гарнитура Bluetooth поддерживает только обычные эффекты."
+
+msgid "IDS_MUSIC_POP_APPLICATION_WILL_BE_CLOSED"
+msgstr "Приложение будет закрыто."
+
+msgid "IDS_MUSIC_POP_ADDED_GO_TO_WISH_LIST_Q"
+msgstr "Добавлено. Перейти к списку желаний?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_THE_SERVICE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "За доступ к службе может взиматься плата. Продолжить?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_STORE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "За доступ к магазину может взиматься плата. Продолжить?"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_ONLY_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES"
+msgstr "5.1-канальный звуковой эффект доступен только в режиме наушников и гарнитуры Bluetooth."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "5.1-канальный звуковой эффект доступен только в режиме наушников."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECTS_NOT_SUPPORTED_BY_SPEAKER"
+msgstr "5.1-канальные звуковые эффекты не поддерживаются динамиком."
+
+msgid "IDS_MUSIC_OPT_VIEW_BY_COVER_ART"
+msgstr "Просмотр по обложкам"
+
+msgid "IDS_MUSIC_OPT_SEND_TRACK"
+msgstr "Отправить файл"
+
+msgid "IDS_MUSIC_OPT_RATE_TRACK"
+msgstr "Оценить файл"
+
+msgid "IDS_MUSIC_OPT_PLAYLIST_MOVE_TRACK_IN_PLAYLIST"
+msgstr "Изменить порядок файлов"
+
+msgid "IDS_MUSIC_OPT_OPENPLAYLIST_CURRENT"
+msgstr "Текущий"
+
+msgid "IDS_MUSIC_OPT_DELETE_PLAYLIST"
+msgstr "Удалить список воспроизведения"
+
+msgid "IDS_MUSIC_OPT_BACKGROUND_PLAYING"
+msgstr "Фоновое воспроизведение"
+
+msgid "IDS_MUSIC_HEADER_EFFECTS"
+msgstr "Эффекты"
+
+msgid "IDS_MUSIC_BUTTON_BUY_NOW"
+msgstr "Купить"
+
+msgid "IDS_MUSIC_BODY_WOW_HD"
+msgstr "Wow HD"
+
+msgid "IDS_MUSIC_BODY_WISHLIST"
+msgstr "Список желаний"
+
+msgid "IDS_MUSIC_BODY_WIDE"
+msgstr "Широкий диапазон"
+
+msgid "IDS_MUSIC_BODY_WHA_WHA"
+msgstr "Вау-вау"
+
+msgid "IDS_MUSIC_BODY_VIBE_WOOFER"
+msgstr "Сабвуфер"
+
+msgid "IDS_MUSIC_BODY_TREMOLO"
+msgstr "Тремоло"
+
+msgid "IDS_MUSIC_BODY_TAP_TWICE_TO_PLAY_PAUSE_MUSIC"
+msgstr "Постучите дважды для воспроизведения/паузы."
+
+msgid "IDS_MUSIC_BODY_SHARE_TRACK_VIA_BLUETOOTH"
+msgstr "Отправить по Bluetooth"
+
+msgid "IDS_MUSIC_BODY_SETUPWIZARD_WELCOME_TO_THE_MUSIC_SETUP_WIZARD_CONTINUE_Q"
+msgstr "Добро пожаловать в мастер настройки музыки, с помощью которого можно настроить телефон. Продолжить?"
+
+msgid "IDS_MUSIC_BODY_QUICK_LIST"
+msgstr "Быстрый список"
+
+msgid "IDS_MUSIC_BODY_PLAYINGSETTINGS_SOUND_EFFECTS"
+msgstr "Звуковые эффекты"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_ALL"
+msgstr "Все"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_1"
+msgstr "Один файл"
+
+msgid "IDS_MUSIC_BODY_PLAYERSETTINGS_VOLUME"
+msgstr "Громкость"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_SELECTED"
+msgstr "Выбрано композиций: %d."
+
+msgid "IDS_MUSIC_BODY_NO_PODCASTS"
+msgstr "Нет подкастов"
+
+msgid "IDS_MUSIC_BODY_FIND_SIMILAR"
+msgstr "Найти похожее"
+
+msgid "IDS_MUSIC_BODY_BACKGROUND_PLAY"
+msgstr "Фоновое воспроизведение"
+
+msgid "IDS_MUSIC_BODY_51_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "5.1-канальный звук можно использовать только тогда, когда звуковые эффекты отключены."
+
+msgid "IDS_MUSIC_TAB4_PODCASTS"
+msgstr "Подкасты"
+
+msgid "IDS_MUSIC_SK2_EDIT_IMAGE"
+msgstr "Изменить изображение"
+
+msgid "IDS_MUSIC_POP_PLAYING_ANY_SOUNDS_WILL_STOP_AND_SAVE_YOUR_VOICE_RECORDING_PLAY_Q"
+msgstr "При воспроизведении звуков голосовая запись будет остановлена и сохранена. Воспроизвести?"
+
+msgid "IDS_MUSIC_POP_MAXIMUM_NUMBER_OF_ITEMS_HPD_SELECTED"
+msgstr "Выбрано максимальное количество элементов (%d)."
+
+msgid "IDS_MUSIC_POP_BLUETOOTH_DISCONNECTED"
+msgstr "Устройство Bluetooth отключено."
+
+msgid "IDS_MUSIC_POP_5_1_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "5.1-канальный звук можно использовать только тогда, когда звуковые эффекты отключены."
+
+msgid "IDS_MUSIC_OPT_TAKE_PICTURE"
+msgstr "Сделать снимок"
+
+msgid "IDS_MUSIC_OPT_SHOW_MUSIC_VIEW_ABB"
+msgstr "Показать предст. музыки"
+
+msgid "IDS_MUSIC_OPT_PAUSE"
+msgstr "Пауза"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALBUM"
+msgstr "Воспроизвести по альбому"
+
+msgid "IDS_MUSIC_OPT_LIST_BY"
+msgstr "Сортировка по"
+
+msgid "IDS_MUSIC_OPT_HISTORY"
+msgstr "Журнал"
+
+msgid "IDS_MUSIC_OPT_HIDE_MUSIC_VIEW_ABB"
+msgstr "Скрыть предст. музыки"
+
+msgid "IDS_MUSIC_OPT_FIND_TAG"
+msgstr "Поиск тегов"
+
+msgid "IDS_MUSIC_OPT_DROPBOX_CONTENT_ABB"
+msgstr "Содерж. Dropbox"
+
+msgid "IDS_MUSIC_OPT_CONTENT_ON_PHONE_ABB"
+msgstr "Сод. на устр-ве"
+
+msgid "IDS_MUSIC_OPT_CHANGE_IMAGE"
+msgstr "Изменить картинку"
+
+msgid "IDS_MUSIC_HEADER_DELETE_DROPBOX_DATA_ABB"
+msgstr "Удалить данные Dropbox"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_STREAM_YOUR_MUSIC_TO_DEVICES_USING_ALLSHARE"
+msgstr "Можно передавать музыку на устройства с помощью AllShare."
+
+msgid "IDS_MUSIC_BODY_VALIDITY"
+msgstr "Период действия"
+
+msgid "IDS_MUSIC_BODY_TYPE_CNOUN"
+msgstr "Тип"
+
+msgid "IDS_MUSIC_BODY_THIS_WILL_DELETE_THE_FILE_FROM_THE_SERVER_AND_ANY_CONNECTED_DEVICES_AS_WELL"
+msgstr "Файл будет удален с сервера и со всех подключенных устройств."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_ARTISTS"
+msgstr "Исполнители"
+
+msgid "IDS_MUSIC_BODY_PLAYINGDETAILS_ALBUM_ART"
+msgstr "Обложка альбома"
+
+msgid "IDS_MUSIC_BODY_OTHER_CONTENTS"
+msgstr "Другие данные"
+
+msgid "IDS_MUSIC_BODY_NAME_TOO_LONG"
+msgstr "Слишком длинное имя."
+
+msgid "IDS_MUSIC_BODY_MUSIC_CLARITY"
+msgstr "Четкость музыки"
+
+msgid "IDS_MUSIC_BODY_HIGH_VOLUMES_MAY_HARM_YOUR_HEARING_IF_YOU_LISTEN_FOR_A_LONG_TIME"
+msgstr "Прослушивание громкой музыки в течение продолжительного времени может привести к ухудшению слуха."
+
+msgid "IDS_MUSIC_BODY_AVAILABLE_USES"
+msgstr "Доступно"
+
+msgid "IDS_MUSIC_TPOP_SOUND_EFFECTS_ONLY_AVAILABLE_WHILE_HEADPHONES_CONNECTED"
+msgstr "Звуковые эффекты можно использовать, только если подключены наушники."
+
+msgid "IDS_ST_OPT_ADD_TO_YOUR_PERSONAL_STORAGE"
+msgstr "Добавить в личное хранилище"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_YOUR_PERSONAL_STORAGE"
+msgstr "Удалить из личного хранилища"
+
+msgid "IDS_ST_BODY_CONTEXTUAL_POP_UP_T_TALKBACK"
+msgstr "Контекстное всплывающее окно"
+
+msgid "IDS_ST_BODY_A_CONTEXTUAL_POP_UP_IS_OPEN_DOUBLE_TAP_TO_CLOSE_IT_T_TALKBACK"
+msgstr "Открыто контекстное всплывающее окно. Дважды нажмите, чтобы закрыть его"
+
+msgid "IDS_ST_BODY_REPEAT_ONE"
+msgstr "Повторять один раз"
+
+msgid "IDS_ST_BUTTON_MOVING_ING"
+msgstr "Перемещение..."
+
+msgid "IDS_HS_BODY_SELECT_UP_TO_PD_ITEMS"
+msgstr "Выберите до %d элементов."
+
+msgid "IDS_CAM_BODY_TAB_T_TTS"
+msgstr "Вкладка"
+
+msgid "IDS_DLNA_OPT2_CHANGE_PLAYER"
+msgstr "Изменить проигрыватель"
+
+msgid "IDS_BR_SK_TABS"
+msgstr "Вкладки"
+
+msgid "IDS_MF_BODY_DROPBOX_ABB"
+msgstr "Dropbox"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "В авторекомендациях можно использовать выдержки из звуковых файлов."
+
+msgid "IDS_MF_BODY_PARENT_RATING"
+msgstr "Родительский контроль"
+
+msgid "IDS_VR_POP_FILE_NOT_FOUND"
+msgstr "Файл не найден."
+
+msgid "IDS_PB_POP_CALLER_RINGTONE_SAVED"
+msgstr "Мелодия контакта сохранена."
+
+msgid "IDS_MUSIC_BODY_BIT_DEPTH"
+msgstr "Битовая глубина"
+
+msgid "IDS_MUSIC_BODY_SIZE"
+msgstr "Размер"
+
+msgid "IDS_MF_HEADER_PD_SELECTED"
+msgstr "Выбрано: %d"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_THIS_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Здесь выводятся треки, добавленные на устройство."
+
+msgid "IDS_MUSIC_TMBODY_LENGTH"
+msgstr "Длина"
+
+msgid "IDS_MUSIC_POP_1_FOLDER_WILL_BE_DELETED"
+msgstr "1 папка будет удалена."
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Нет содержимого"
+
+msgid "IDS_MUSIC_ITAB4_FOLDERS"
+msgstr "Папки"
+
+msgid "IDS_MUSIC_HEADER_MY_PLAYLISTS_ABB"
+msgstr "Мои плейлисты"
+
+msgid "IDS_MP_BODY_SOUND_PLAYER"
+msgstr "Аудиоплеер"
+
+msgid "IDS_MUSIC_OPT_SETTINGS"
+msgstr "Настройки"
+
+msgid "IDS_MUSIC_POP_DELETING"
+msgstr "Удаление..."
+
+msgid "IDS_MUSIC_POP_1_TRACK_WILL_BE_DELETED"
+msgstr "1 композиция будет удалена."
+
+msgid "IDS_MUSIC_POP_ALL_TRACKS_WILL_BE_DELETED"
+msgstr "Все композиции будут удалены."
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_WILL_BE_DELETED"
+msgstr "Композиции (%d) будут удалены."
+
+msgid "IDS_MUSIC_POP_1_PLAYLIST_WILL_BE_DELETED"
+msgstr "1 список воспроизведения будет удален."
+
+msgid "IDS_MUSIC_POP_PD_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Списки воспроизведения (%d) будут удалены."
+
+msgid "IDS_MUSIC_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "Альбомы (%d) будут удалены."
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS_WILL_BE_DELETED"
+msgstr "Исполнители (%d) будут удалены."
+
+msgid "IDS_MUSIC_POP_PD_FOLDERS_WILL_BE_DELETED"
+msgstr "Папки (%d) будут удалены."
+
+msgid "IDS_ST_POP_CONNECTION_FAILED"
+msgstr "Сбой при подключении."
+
+msgid "IDS_MUSIC_BODY_CLASSIC"
+msgstr "Классика"
+
+msgid "IDS_MUSIC_BODY_ROCK"
+msgstr "Рок"
+
+msgid "IDS_MUSIC_BODY_JAZZ"
+msgstr "Джаз"
+
+msgid "IDS_MUSIC_BODY_POP"
+msgstr "Поп"
+
+msgid "IDS_MUSIC_BODY_AUTO"
+msgstr "Авто"
+
+msgid "IDS_MUSIC_POP_CURRENT_SOUND_EFFECT_NOT_SUPPORTED_BY_HDMI"
+msgstr "Данный звуковой эффект не поддерживается HDMI."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_BLUETOOTH"
+msgstr "Звуковые эффекты не поддерживаются Bluetooth."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_LINE_OUT"
+msgstr "Звуковые эффекты не поддерживаются линейным выходом."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_HDMI"
+msgstr "Звуковые эффекты не поддерживаются HDMI."
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EFFECT"
+msgstr "Ламп. усилитель"
+
+msgid "IDS_MUSIC_BODY_CUSTOM"
+msgstr "Создать"
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EQUALISER_ABB"
+msgstr "Ламп. усилитель"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "Композиций добавлено в список воспроизведения: %d."
+
+msgid "IDS_MUSIC_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 композиция добавлена в список воспроизведения"
+
+msgid "IDS_MUSIC_HEADER_ADD_TRACKS_TO_PLAYLIST_ABB"
+msgstr "Добав. композ. в список воспр."
+
+msgid "IDS_MUSIC_POP_PS_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "%s уже используется. Введите другое имя."
+
+msgid "IDS_MUSIC_TMBODY_DATE_OF_RECORDING"
+msgstr "Дата записи"
+
+msgid "IDS_MBP_TPOP_TRACK_SET_AS_ALARM_TONE"
+msgstr "Трек будет использоваться в качестве сигнала будильника."
+
+msgid "IDS_MUSIC_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Ничего не найдено"
+
+msgid "IDS_MUSIC_OPT_DEFAULT_RINGTONE_ABB"
+msgstr "Мелодия по умолчанию"
+
+msgid "IDS_MUSIC_TPOP_TRACK_SET_AS_CALLER_RINGTONE"
+msgstr "Композиция установлен в качестве мелодии контакта."
+
+msgid "IDS_MP_TPOP_TRACK_SET_AS_RINGTONE"
+msgstr "Трек установлен в качестве мелодии контакта."
+
+msgid "IDS_DLNA_BODY_ADD_TO_NOW_PLAYING_LIST"
+msgstr "Добавить в текущий список воспроизведения"
+
+msgid "IDS_MUSIC_TPOP_EQUALISER_SETTINGS_WILL_BE_APPLIED_WHILE_PLAYING_MUSIC"
+msgstr "Параметры эквалайзера будут применены при воспроизведении музыки."
+
+msgid "IDS_ST_BODY_ALERT"
+msgstr "Сигнал"
+
+msgid "IDS_IV_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "Будет удален 1 альбом."
+
+msgid "IDS_MUSIC_OPT_SD_CARD"
+msgstr "Карта памяти"
+
+msgid "IDS_MUSIC_SBODY_DEVICE_STORAGE"
+msgstr "Память устройства"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE"
+msgstr "Имя списка воспр. уже используется."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_PD"
+msgstr "Список воспроизведения %d"
+
+msgid "IDS_MUSIC_HEADER_CREATE"
+msgstr "Создать"
+
+msgid "IDS_MUSIC_HEADER_EQUALISER_PRESET_ABB"
+msgstr "Готовые настройки эквалайзера"
+
+msgid "IDS_MUSIC_OPT_AUTOMATIC_M_EQUALIZER_EFFECT"
+msgstr "Автоматический"
+
+msgid "IDS_MUSIC_OPT_CLASSICAL_M_EQUALIZER_EFFECT"
+msgstr "Классика"
+
+msgid "IDS_MUSIC_HEADER_ENVIRONMENT_EFFECT_ABB"
+msgstr "Эффект окружающей среды"
+
+msgid "IDS_VIDEO_POP_THE_FILE_TYPE_IS_NOT_SUPPORTED"
+msgstr "Тип файла не поддерживается."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_CREATE_PLAYLISTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Здесь выводятся созданные списки воспроизведения."
+
+msgid "IDS_ST_HEADER_SELECT_AUDIO_DEVICE_ABB"
+msgstr "Выберите звуковое устройство"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "Имя списка воспроизведения уже используется. Введите другое имя."
+
+msgid "IDS_MUSIC_HEADER_SOUNDALIVE_ABB3"
+msgstr "SoundAlive"
+
+msgid "IDS_MUSIC_OPT_NOW_PLAYING_LIST"
+msgstr "Текущий список воспроизведения"
+
+msgid "IDS_MUSIC_OPT_SHOW_LYRICS"
+msgstr "Показать текст песни"
+
+msgid "IDS_MUSIC_OPT_HIDE_LYRICS"
+msgstr "Скрыть текст песни"
+
+msgid "IDS_MUSIC_TPOP_UNABLE_TO_PLAY_MUSIC_DURING_CALLS"
+msgstr "Прослушивать музыку во время вызова невозможно."
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Удалить"
+
+msgid "IDS_MUSIC_HEADER_SELECT"
+msgstr "Выбрать"
+
+msgid "IDS_TPLATFORM_OPT_NFC"
+msgstr "NFC"
+
+msgid "IDS_MUSIC_HEADER_UNABLE_TO_PLAY_TRACK"
+msgstr "Не удается воспроизвести трек"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "ГОТОВО"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ОТМЕНА"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "УДАЛИТЬ"
+
+msgid "IDS_MUSIC_POP_RENAME"
+msgstr "Переименовать"
+
+msgid "IDS_MUSIC_OPT_MESSAGE"
+msgstr "Сообщение"
+
+msgid "IDS_MUSIC_SK_OK"
+msgstr "OK"
+
+msgid "IDS_MUSIC_SK_CANCEL"
+msgstr "Отмена"
+
+msgid "IDS_MUSIC_BUTTON_REFRESH"
+msgstr "Обновить"
+
+msgid "IDS_MUSIC_BODY_SELECT_ALL"
+msgstr "Выделить все"
+
+msgid "IDS_MUSIC_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_MUSIC_POP_DELETED"
+msgstr "Удалено."
+
+msgid "IDS_MUSIC_OPT_STOP"
+msgstr "Остановить"
+
+msgid "IDS_MUSIC_BODY_UNKNOWN"
+msgstr "Неизвестно"
+
+msgid "IDS_MUSIC_BODY_TITLE"
+msgstr "Название"
+
+msgid "IDS_MUSIC_OPT_SENDVIA_EMAIL"
+msgstr "E-mail"
+
+msgid "IDS_MUSIC_OPT_BLUETOOTH"
+msgstr "Bluetooth"
+
+msgid "IDS_MUSIC_HEADER_DOWNLOAD"
+msgstr "Загрузить"
+
+msgid "IDS_MUSIC_POP_LOW_BATTERY"
+msgstr "Аккумулятор разряжен"
+
+msgid "IDS_MUSIC_HEADER_AUDIO_DEVICE"
+msgstr "Звуковое устройство"
+
+msgid "IDS_MUSIC_HEADER_DETAILS"
+msgstr "Свойства"
+
+msgid "IDS_MUSIC_OPT_END"
+msgstr "Завершить"
+
+msgid "IDS_MUSIC_OPT_EDIT"
+msgstr "Изменить"
+
+msgid "IDS_CAM_HEADER_UPDATED"
+msgstr "Обновлено."
+
+msgid "IDS_MUSIC_POP_REMOVED"
+msgstr "Удалено."
+
+msgid "IDS_MUSIC_OPT_SELECTED"
+msgstr "Выбрано"
+
+msgid "IDS_ST_BUTTON_SCAN"
+msgstr "Поиск"
+
+msgid "IDS_MF_POP_ERROR"
+msgstr "Ошибка"
+
+msgid "IDS_MF_POP_MEMORY_FULL"
+msgstr "Память заполнена."
+
+msgid "IDS_MUSIC_MBODY_QUEUE"
+msgstr "Очередь"
+
+msgid "IDS_MUSIC_OPT_VOLUME"
+msgstr "Громкость"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE"
+msgstr "Случайный порядок"
+
+msgid "IDS_MUSIC_OPT_REPEAT"
+msgstr "Повторить"
+
+msgid "IDS_COM_BODY_DETAILS"
+msgstr "Details"
+
+msgid "IDS_COM_BODY_DETAILS_TITLE"
+msgstr "Title"
+
+msgid "IDS_COM_BODY_EDIT"
+msgstr "Edit"
+
+msgid "IDS_COM_BODY_EMAIL"
+msgstr "Email"
+
+msgid "IDS_COM_BODY_END"
+msgstr "End"
+
+msgid "IDS_COM_BODY_FOLDERS"
+msgstr "Folders"
+
+msgid "IDS_COM_BODY_GALLERY"
+msgstr "Gallery"
+
+msgid "IDS_COM_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_COM_BODY_LOADING"
+msgstr "Loading..."
+
+msgid "IDS_COM_BODY_LOW_BATTERY"
+msgstr "Low battery."
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Message"
+
+msgid "IDS_COM_BODY_MUSIC"
+msgstr "Music"
+
+msgid "IDS_COM_BODY_NFC"
+msgstr "NFC"
+
+msgid "IDS_COM_BODY_NO_CONTENTS"
+msgstr "No content"
+
+msgid "IDS_COM_BODY_PAUSE"
+msgstr "Pause"
+
+msgid "IDS_COM_BODY_PD_SELECTED"
+msgstr "%d selected."
+
+msgid "IDS_COM_BODY_PREVIOUS"
+msgstr "Previous"
+
+msgid "IDS_COM_BODY_RESET_A"
+msgstr "Reset"
+
+msgid "IDS_COM_BODY_SELECTED"
+msgstr "Selected"
+
+msgid "IDS_COM_BODY_SELECT_ALL"
+msgstr "Select all"
+
+msgid "IDS_COM_BODY_SETTINGS"
+msgstr "Settings"
+
+msgid "IDS_COM_BODY_TIME"
+msgstr "Time"
+
+msgid "IDS_COM_BODY_UNABLE_TO_ADD"
+msgstr "Unable to add."
+
+msgid "IDS_COM_BODY_UNKNOWN"
+msgstr "Unknown"
+
+msgid "IDS_COM_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_COM_BUTTON_SCAN"
+msgstr "Scan"
+
+msgid "IDS_COM_BUTTON_SHARE"
+msgstr "Share"
+
+msgid "IDS_COM_HEADER_AUDIO_DEVICE_ABB"
+msgstr "Audio device"
+
+msgid "IDS_COM_OPT_ADDED"
+msgstr "Added."
+
+msgid "IDS_COM_OPT_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_POP_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_POP_CONNECTION_FAILED"
+msgstr "Connection failed."
+
+msgid "IDS_COM_POP_DELETED"
+msgstr "Deleted."
+
+msgid "IDS_COM_POP_DELETE_Q"
+msgstr "Delete?"
+
+msgid "IDS_COM_POP_DONE"
+msgstr "Done"
+
+msgid "IDS_COM_POP_DOWNLOADING"
+msgstr "Downloading..."
+
+msgid "IDS_COM_POP_ERROR"
+msgstr "Error."
+
+msgid "IDS_COM_POP_FAILED"
+msgstr "Failed."
+
+msgid "IDS_COM_POP_FILE_NOT_EXIST"
+msgstr "This file does not exist."
+
+msgid "IDS_COM_POP_FILE_NOT_FOUND"
+msgstr "File not found."
+
+msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximum number of characters reached."
+
+msgid "IDS_COM_POP_MEMORY_FULL"
+msgstr "Memory full."
+
+msgid "IDS_COM_POP_REMOVED"
+msgstr "Removed."
+
+msgid "IDS_COM_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Unable to use during Mass storage mode."
+
+msgid "IDS_COM_POP_UPDATED"
+msgstr "Updated."
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_SK_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_SK_DOWNLOAD"
+msgstr "Download"
+
+msgid "IDS_COM_SK_NEW"
+msgstr "New"
+
+msgid "IDS_COM_SK_NEXT"
+msgstr "Next"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_SK_REFRESH"
+msgstr "Refresh"
+
+msgid "IDS_COM_SK_REMOVE"
+msgstr "Remove"
+
+msgid "IDS_COM_SK_SAVE"
+msgstr "Save"
+
+msgid "IDS_COM_SK_SELECT"
+msgstr "Select"
+
+msgid "IDS_COM_SK_SET"
+msgstr "Set"
+
+msgid "IDS_COM_SK_STOP"
+msgstr "Stop"
+
+
+msgid "IDS_MH_BODY_THE_PLAYLIST_NAME_PS_IS_ALREADY_IN_USE"
+msgstr "The playlist name %s is already in use."
+
+msgid "IDS_MH_BODY_TOTAL"
+msgstr "Total"
+
+msgid "IDS_MH_MBODY_RECENTLY_ADDED_M_SONG"
+msgstr "Recently added"
+
+msgid "IDS_MH_OPT_MORE_INFO_ABB"
+msgstr "More info"
+
+msgid "IDS_MH_POP_ALARM_TONE_SET"
+msgstr "Alarm tone set."
+
+msgid "IDS_MH_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 track added to playlist."
+
+msgid "IDS_MH_TPOP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d tracks added to playlist."
+
+msgid "IDS_MUSIC_OPT_RENAME"
+msgstr "Rename"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Unable to play during call."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Превышен максимальный размер файлов."
+
+msgid "IDS_CAM_TPOP_UNABLE_TO_PLAY_MUSIC_WHILE_RECORDING_AUDIO_OR_VIDEO"
+msgstr "Невозможно воспроизводить музыку во время записи видео или аудио."
+
--- /dev/null
+msgid "IDS_ST_BODY_LOADING_ING"
+msgstr "Načítava sa..."
+
+msgid "IDS_GALLERY_OPT_PRIVATE_M_CONTENT"
+msgstr "Súkromné"
+
+msgid "IDS_MF_BODY_TIME"
+msgstr "Čas"
+
+msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
+msgstr "Súbor neexistuje."
+
+msgid "IDS_MUSIC_POP_PHONE_RINGTONE"
+msgstr "Zvonenie telefónu"
+
+msgid "IDS_MUSIC_BODY_DURATION"
+msgstr "Trvanie"
+
+msgid "IDS_MUSIC_BODY_MUSIC_LOCATION"
+msgstr "Umiestnenie"
+
+msgid "IDS_MUSIC_BODY_SET_AS_M_RINGTONE"
+msgstr "Nastaviť ako"
+
+msgid "IDS_ST_OPT_ADD_TO_PERSONAL_PAGE"
+msgstr "Pridať na osobnú stránku"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_PERSONAL_PAGE_ABB"
+msgstr "Odstr. z osobnej stránky"
+
+msgid "IDS_ST_POP_MOVE_TO_NORMAL_STORAGE"
+msgstr "Premiestniť do normálneho úložného priestoru"
+
+msgid "IDS_ST_POP_MOVE_TO_PERSONAL_STORAGE"
+msgstr "Premiestniť do osobného úložného priestoru"
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEMS_WILL_BE_MOVED_TO_PS"
+msgstr "Vybraté položky sa premiestnia do priečinka %s."
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEM_WILL_BE_MOVED_TO_PS"
+msgstr "Vybratá položka sa premiestni do priečinka %s."
+
+msgid "IDS_VR_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "V režime veľkokapacitného pamäťového zariadenia sa nedá použiť."
+
+msgid "IDS_MUSIC_POP_RINGTONE_ADDED"
+msgstr "Vyzváňací tón pridaný."
+
+msgid "IDS_CAM_BODY_BUTTON_T_TTS"
+msgstr "Tlačidlo"
+
+msgid "IDS_MUSIC_HEADER_SELECT_ITEMS"
+msgstr "Vybrať položky"
+
+msgid "IDS_ST_BODY_ADVANCED"
+msgstr "Pokročilé"
+
+msgid "IDS_ST_SK_PREVIOUS"
+msgstr "Predch."
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Zavrieť"
+
+msgid "IDS_MUSIC_POP_ADDED"
+msgstr "Pridané."
+
+msgid "IDS_MUSIC_POP_FAILED"
+msgstr "Nepodarilo sa."
+
+msgid "IDS_MUSIC_BODY_NO_SEARCH_RESULTS"
+msgstr "Žiadne výsledky vyhľadávania"
+
+msgid "IDS_MUSIC_SK_DONE"
+msgstr "Hotovo"
+
+msgid "IDS_MUSIC_BODY_NO_ITEMS"
+msgstr "Žiadne položky"
+
+msgid "IDS_BR_OPT_ADD_TO_HOME"
+msgstr "Pridať na domovskú stránku"
+
+msgid "IDS_BR_SK_NEXT"
+msgstr "Ďalej"
+
+msgid "IDS_BR_BODY_DOWNLOADING_ING"
+msgstr "Sťahovanie..."
+
+msgid "IDS_IV_BODY_FAVOURITE"
+msgstr "Obľúbené"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_PERSONAL_STORAGE"
+msgstr "Pridať do osobného úložného priestoru"
+
+msgid "IDS_DLNA_POP_DISCONNECTED_FROM_PS_CHECK_THE_NETWORK_STATUS_AND_THE_CONNECTED_DEVICE"
+msgstr "Odpojené od %s. Skontrolujte stav siete a pripojené zariadenie."
+
+msgid "IDS_DLNA_OPT_VIA_SCREEN_MIRRORING_ABB"
+msgstr "Cez Screen Mirroring"
+
+msgid "IDS_DLNA_OPT_VIA_HOME_NETWORK_ABB"
+msgstr "Cez domovskú sieť"
+
+msgid "IDS_IV_POP_ENTRY_IS_EMPTY"
+msgstr "Prázdna položka."
+
+msgid "IDS_FM_POP_UNAVAILABLE_DURING_CALL"
+msgstr "Počas hovoru nie je k dispozícii."
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Bol dosiahnutý maximálny počet znakov."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_SHARE_DRM_FILE"
+msgstr "Súbor DRM sa nedá zdieľať."
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Odstraňovanie..."
+
+msgid "IDS_MUSIC_HEADER_PD_DEVICES"
+msgstr "Počet zariadení: %d"
+
+msgid "IDS_MUSIC_BUTTON_ENABLE_MOTION"
+msgstr "Povoliť pohyb"
+
+msgid "IDS_MUSIC_BUTTON_DONT_ASK_AGAIN"
+msgstr "Už sa nepýtať"
+
+msgid "IDS_MUSIC_BODY_NO_RESULTS_FOUND"
+msgstr "Nenašli sa žiadne výsledky."
+
+msgid "IDS_VPL_OPT_HDMI"
+msgstr "HDMI"
+
+msgid "IDS_MUSIC_BODY_TURN_PHONE_OVER_TO_MUTE_INCOMING_CALLS_MESSAGE_ALERTS_AND_ALARMS"
+msgstr "Prevrátením telefónu stlmíte prichádzajúce hovory, upozornenia na správy a budíky."
+
+msgid "IDS_ST_BODY_NONE"
+msgstr "Žiadny"
+
+msgid "IDS_ST_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_ST_BODY_GALLERY"
+msgstr "Galéria"
+
+msgid "IDS_ST_BODY_DOUBLE_TAP_TO_MOVE_TO_CONTENT_T_TTS"
+msgstr "Dvojitým ťuknutím môžete prejsť na obsah."
+
+msgid "IDS_MUSIC_BODY_SURROUND"
+msgstr "Priestorový zvuk"
+
+msgid "IDS_MUSIC_OPT_LYRICS_ABB"
+msgstr "Texty piesní"
+
+msgid "IDS_MUSIC_POP_AFTER_YOU_ADD_TRACKS_TO_MUSIC_ON_YOUR_MOBILE_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Po pridaní skladieb do aplikácie Hudba v mobilnom zariadení sa zobrazia tu."
+
+msgid "IDS_MUSIC_BODY_SAMPLING_RATE"
+msgstr "Vzorkovacia frekvencia"
+
+msgid "IDS_MUSIC_BODY_MARKED_AS_A_FAVOURITE"
+msgstr "Označené ako obľúbené."
+
+msgid "IDS_MUSIC_BODY_MUSIC"
+msgstr "Hudba"
+
+msgid "IDS_MUSIC_BODY_NOT_MARKED_AS_A_FAVOURITE"
+msgstr "Neoznačené ako obľúbené."
+
+msgid "IDS_MUSIC_HEADER_SEARCH_MUSIC_ABB"
+msgstr "Hľadať hudbu"
+
+msgid "IDS_MUSIC_POP_AUTO_RECOMMENDATION_DOES_NOT_SUPPORT_THIS_AUDIO_FILE"
+msgstr "Automatické odporúčanie nepodporuje tento zvukový súbor."
+
+msgid "IDS_MUSIC_POP_SORRY_THE_PLAYER_DOES_NOT_SUPPORT_THIS_TYPE_OF_AUDIO_FILE"
+msgstr "Ľutujeme, prehrávač nepodporuje tento typ zvukového súboru."
+
+msgid "IDS_MUSIC_BODY_FAVOURITES"
+msgstr "Obľúbené"
+
+msgid "IDS_MUSIC_BODY_MOST_PLAYED"
+msgstr "Najčastejšie prehrávané"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_ADDED"
+msgstr "Posledne pridané"
+
+msgid "IDS_MUSIC_OPT_CREATE_PLAYLIST"
+msgstr "Vytvoriť zoznam skladieb"
+
+msgid "IDS_MUSIC_OPT_REMOVE"
+msgstr "Odstrániť"
+
+msgid "IDS_MUSIC_OPT_SETAS_CALLER_RINGTONE"
+msgstr "Zvonenie volajúceho"
+
+msgid "IDS_MUSIC_TAB4_ARTISTS"
+msgstr "Interpreti"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD"
+msgstr "Nedá sa pridať."
+
+msgid "IDS_MUSIC_POP_UNABLE_CREATE_PLAYLIST"
+msgstr "Zoznam skladieb sa nedá vytvoriť."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_GET_TAG"
+msgstr "Nedá sa získať značka."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_MORE_THAN_PD_MUSIC_FILE"
+msgstr "Nemôžete pridať viac hudobných súborov ako %d."
+
+msgid "IDS_MUSIC_BODY_ALBUM"
+msgstr "Album"
+
+msgid "IDS_MUSIC_BODY_AUTHOR"
+msgstr "Autor"
+
+msgid "IDS_MUSIC_BODY_COPYRIGHT"
+msgstr "Autorské práva"
+
+msgid "IDS_MUSIC_BODY_CREATE_PLAYLIST"
+msgstr "Vytvoriť zoznam skladieb"
+
+msgid "IDS_MUSIC_BODY_DESCRIPTION"
+msgstr "Popis"
+
+msgid "IDS_MUSIC_BODY_FORMAT"
+msgstr "Formát"
+
+msgid "IDS_MUSIC_BODY_IMPOSSIBLE"
+msgstr "Nemožné"
+
+msgid "IDS_MUSIC_BODY_NO_PLAYLISTS"
+msgstr "Žiadne zoznamy skladieb"
+
+msgid "IDS_MUSIC_BODY_TRACK_NUMBER"
+msgstr "Číslo skladby"
+
+msgid "IDS_MUSIC_POP_DELETE_Q"
+msgstr "Odstrániť?"
+
+msgid "IDS_MUSIC_POP_REMOVE_Q"
+msgstr "Odstrániť?"
+
+msgid "IDS_MUSIC_POP_UNABLE_RENAME_PLAYLIST"
+msgstr "Zoznam skladieb sa nedá premenovať."
+
+msgid "IDS_MUSIC_TAB4_ALBUMS"
+msgstr "Albumy"
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Pridávanie..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Vykonať odstránenie %d albumov?"
+
+msgid "IDS_MUSIC_TAB4_PLAYLISTS"
+msgstr "Zoznamy skladieb"
+
+msgid "IDS_MUSIC_OPT_ADD"
+msgstr "Pridať"
+
+msgid "IDS_MUSIC_BODY_BIOGRAPHY"
+msgstr "Životopis"
+
+msgid "IDS_MUSIC_BODY_CREDITS"
+msgstr "Poďakovanie"
+
+msgid "IDS_MUSIC_BODY_DETAILS_MEADIA_INFO"
+msgstr "Informácie o médiách"
+
+msgid "IDS_MUSIC_BODY_DISCOGRAPHY"
+msgstr "Diskografia"
+
+msgid "IDS_MUSIC_BODY_LYRIC"
+msgstr "Text"
+
+msgid "IDS_MUSIC_BODY_POSSIBLE"
+msgstr "Možné"
+
+msgid "IDS_MUSIC_BODY_REVIEW"
+msgstr "Prezrieť"
+
+msgid "IDS_MUSIC_HEADER_TRACK_LIST"
+msgstr "Zoznam skladieb"
+
+msgid "IDS_MUSIC_BODY_ADD_TO_PLAYLIST"
+msgstr "Pridať do zoznamu skladieb"
+
+msgid "IDS_MUSIC_BODY_ARTIST"
+msgstr "Interpret"
+
+msgid "IDS_MUSIC_BODY_FORWARDING"
+msgstr "Preposlanie"
+
+msgid "IDS_MUSIC_BODY_RECORDED_DATE"
+msgstr "Date of recording"
+
+msgid "IDS_MUSIC_BODY_PLAYLISTS"
+msgstr "Zoznamy skladieb"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_PLAYED"
+msgstr "Posledne prehrávané"
+
+msgid "IDS_MUSIC_BODY_TRACK_LENGTH"
+msgstr "Dĺžka skladby"
+
+msgid "IDS_MUSIC_HEADER_NO_SONGS"
+msgstr "Žiadne skladby"
+
+msgid "IDS_MUSIC_POP_THIS_TRACK_WILL_BE_DELETED"
+msgstr "Táto skladba sa odstráni."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_TRACKS_WILL_BE_DELETED"
+msgstr "Vybraté skladby sa odstránia."
+
+msgid "IDS_MUSIC_POP_THIS_ARTIST_WILL_BE_DELETED"
+msgstr "Tento interpret sa odstráni."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ARTISTS_WILL_BE_DELETED"
+msgstr "Vybratí interpreti sa odstránia."
+
+msgid "IDS_MUSIC_POP_ALL_ARTISTS_WILL_BE_DELETED"
+msgstr "Všetci interpreti sa odstránia."
+
+msgid "IDS_MUSIC_POP_THIS_FOLDER_WILL_BE_DELETED"
+msgstr "Tento priečinok sa odstráni."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_FOLDERS_WILL_BE_DELETED"
+msgstr "Vybraté priečinky sa odstránia."
+
+msgid "IDS_MUSIC_POP_ALL_FOLDERS_WILL_BE_DELETED"
+msgstr "Všetky priečinky sa odstránia."
+
+msgid "IDS_MUSIC_POP_THIS_ALBUM_WILL_BE_DELETED"
+msgstr "Tento album sa odstráni."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ALBUMS_WILL_BE_DELETED"
+msgstr "Vybraté albumy sa odstránia."
+
+msgid "IDS_MUSIC_POP_ALL_ALBUMS_WILL_BE_DELETED"
+msgstr "Všetky albumy sa odstránia."
+
+msgid "IDS_MUSIC_POP_THIS_PLAYLIST_WILL_BE_DELETED"
+msgstr "Tento zoznam skladieb sa vymaže."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Vybraté prehrávacie zoznamy sa odstránia."
+
+msgid "IDS_MUSIC_POP_ALL_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Všetky zoznamy skladieb sa odstránia."
+
+msgid "IDS_MUSIC_HEADER_SONGS"
+msgstr "Piesne"
+
+msgid "IDS_MUSIC_OPT_REORDER"
+msgstr "Zmeniť poradie"
+
+msgid "IDS_MUSIC_OPT_SAVE_AS_PLAYLIST"
+msgstr "Uložiť ako zoznam skladieb"
+
+msgid "IDS_MUSIC_OPT_SETAS_ALARM_TONE"
+msgstr "Tón budíka"
+
+msgid "IDS_MUSIC_POP_NOTHING_SELECTED"
+msgstr "Nič nie je vybrané."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Nedá sa prehrať. Vyskytla sa chyba."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_UNSUPPORTED_FILETYPE"
+msgstr "Nedá sa prehrať. Nepodporovaný typ súboru."
+
+msgid "IDS_MUSIC_SK_SHARE"
+msgstr "Zdieľať"
+
+msgid "IDS_MUSIC_TAB4_CONDUCTORS"
+msgstr "Dirigen."
+
+msgid "IDS_MUSIC_HEADER_SELECT_DEVICE"
+msgstr "Vyberte zariadenie"
+
+msgid "IDS_MUSIC_SK_VIEW_AS"
+msgstr "Zobr. ako"
+
+msgid "IDS_MUSIC_BODY_SOUNDEFFECTS_NORMAL"
+msgstr "Normálny"
+
+msgid "IDS_MUSIC_BODY_USER"
+msgstr "Používateľ"
+
+msgid "IDS_MUSIC_BODY_VOCAL_M_SOUNDEFFECT"
+msgstr "Reč"
+
+msgid "IDS_MUSIC_MBODY_BASS_BOOST"
+msgstr "Zvýraznenie basov"
+
+msgid "IDS_MUSIC_MBODY_TREBLE_BOOST"
+msgstr "Zvýraznenie výšok"
+
+msgid "IDS_MUSIC_BODY_CAFE_M_SOUNDEFFECT"
+msgstr "Kaviareň"
+
+msgid "IDS_MUSIC_OPT_VIRTUAL_71_CH"
+msgstr "Virtuálny 7.1-kanálový zvuk"
+
+msgid "IDS_MUSIC_OPT_AFTER_15_MIN_ABB"
+msgstr "Po 15 min."
+
+msgid "IDS_MUSIC_BODY_AFTER_30_MIN"
+msgstr "Po 30 min."
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HOUR"
+msgstr "Po 1 hodine"
+
+msgid "IDS_MUSIC_POP_AFTER_1_HOUR_30_MIN"
+msgstr "Po 1 hodine a 30 minútach"
+
+msgid "IDS_MUSIC_BODY_AFTER_2_HOURS"
+msgstr "Po 2 hodinách"
+
+msgid "IDS_MUSIC_BODY_MUSIC_AUTO_OFF"
+msgstr "Automatické vypnutie hudby"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES_ONLY"
+msgstr "Tento zvukový efekt funguje iba v režime slúchadiel a v režime náhlavnej súpravy Bluetooth."
+
+msgid "IDS_MUSIC_TAB4_MUSIC_SQUARE"
+msgstr "Hudobný blok"
+
+msgid "IDS_MUSIC_POP_NOT_ENOUGH_MUSIC_FILES_TO_PLAY_IN_MUSIC_SQUARE_AT_LEAST_PD_MUSIC_FILES_REQUIRED"
+msgstr "Nedostatok hudobných súborov na prehrávanie v Hudobnom bloku. Vyžadujú sa hudobné súbory v počte aspoň %d."
+
+msgid "IDS_MUSIC_BODY_PASSION_M_MOOD"
+msgstr "Vášeň"
+
+msgid "IDS_MUSIC_BODY_CALM_M_ADJECTIVE"
+msgstr "Pokojná"
+
+msgid "IDS_MUSIC_BODY_JOY_M_MOOD"
+msgstr "Radosť"
+
+msgid "IDS_MUSIC_BODY_LIBRARY_UPDATE"
+msgstr "Aktualizácia knižnice"
+
+msgid "IDS_MUSIC_POP_UPDATE_LIBRARY_Q"
+msgstr "Aktualizovať knižnicu?"
+
+msgid "IDS_MUSIC_BODY_CHANGE_AXIS"
+msgstr "Zmeniť os"
+
+msgid "IDS_MUSIC_ITAB4_GENRES"
+msgstr "Žánre"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_1_TRACK"
+msgstr "1 album/1 skladba"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_PD_TRACKS"
+msgstr "1 album/skladby: %d"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS_PD_TRACKS"
+msgstr "Albumy: %d/skladby: %d"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_CONTROL_MUSIC_PLAYER_WITH_THE_VOICE_COMMANDS_P1SS_P2SS_P3SS_P4SS_P5SS_AND_P6SS"
+msgstr "Pomocou hlasových príkazov %1$s, %2$s, %3$s, %4$s, %5$s a %6$s môžete ovládať Prehrávač hudby."
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_PD_TRACKS"
+msgstr "Náhodné prehrávanie %d skladieb"
+
+msgid "IDS_MUSIC_BODY_MORE_INFO"
+msgstr "Ďalšie informácie"
+
+msgid "IDS_MUSIC_HEADER_MY_MUSIC_M_APPLICATION_NAME"
+msgstr "Moja hudba"
+
+msgid "IDS_MUSIC_OPT_LIST_VIEW"
+msgstr "Zobrazenie zoznamu"
+
+msgid "IDS_MUSIC_OPT_PLAY_VIA_GROUP_PLAY"
+msgstr "Prehrať cez Group Play"
+
+msgid "IDS_MUSIC_POP_TRACK_ADDED_TO_FAVOURITES"
+msgstr "Skladba bola pridaná medzi obľúbené."
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_FAVOURITES"
+msgstr "Odstrániť z obľúbených položiek"
+
+msgid "IDS_MUSIC_BODY_NEW_M_LATEST"
+msgstr "Nová"
+
+msgid "IDS_MUSIC_OPT_TRACKS"
+msgstr "Skladby"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL"
+msgstr "Miniatúra"
+
+msgid "IDS_MUSIC_SK_LIST"
+msgstr "Zoznam"
+
+msgid "IDS_MUSIC_SK_OPEN_PLAYLIST"
+msgstr "Otvoriť zoznam skladieb"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALL"
+msgstr "Prehrať všetko"
+
+msgid "IDS_MUSIC_POP_SELECTED_LIST_EMPTY"
+msgstr "Vybraný zoznam je prázdny."
+
+msgid "IDS_MUSIC_BODY_MOODS"
+msgstr "Nálady"
+
+msgid "IDS_MUSIC_BUTTON_YEARS"
+msgstr "Roky"
+
+msgid "IDS_MUSIC_BODY_OLD"
+msgstr "Stará"
+
+msgid "IDS_MUSIC_BODY_MUSIC_SQUARE_ANALYSES_THE_CHARACTERISTICS_OF_MUSIC_FILES_STORED_ON_YOUR_DEVICE_AND_AUTOMATICALLY_CREATES_PLAYLISTS_MSG"
+msgstr "Funkcia Hudobný blok analyzuje charakteristiky hudobných súborov uložených v zariadení a automaticky vytvorí zoznamy na prehrávanie."
+
+msgid "IDS_MUSIC_BODY_PLAY_TRACKS_WITH_SIMILAR_CHARACTERISTICS_BY_SELECTING_A_SQUARE_ON_THE_SCREEN"
+msgstr "Prehrávanie zoznamu hudby s podobnými charakteristikami výberom bloku na obrazovke."
+
+msgid "IDS_MUSIC_BODY_VIEW_PLAYLIST_DETAILS_BY_TAPPING_AND_HOLDING_THE_SQUARE_CURRENTLY_BEING_PLAYED"
+msgstr "Zobrazenie podrobností zoznamu na prehrávanie ťuknutím na aktuálne prehrávaný blok a jeho podržaním."
+
+msgid "IDS_MUSIC_BODY_NEARBY_DEVICES"
+msgstr "Blízke zariadenia"
+
+msgid "IDS_MUSIC_POP_YOU_WILL_NEED_TO_UPDATE_THE_LIBRARY_IF_NEW_SONGS_HAVE_BEEN_ADDED"
+msgstr "Ak boli pridané nové piesne, budete musieť aktualizovať knižnicu."
+
+msgid "IDS_MUSIC_BODY_NO_ALBUMS"
+msgstr "Žiadne albumy"
+
+msgid "IDS_MUSIC_BODY_NO_ARTISTS"
+msgstr "Žiadni interpreti"
+
+msgid "IDS_MUSIC_OPT_PLAY_SPEED_ABB"
+msgstr "Rýchlosť prehrávania"
+
+msgid "IDS_MUSIC_BODY_CONCERT_HALL_M_SOUNDEFFECT"
+msgstr "Koncertná sieň"
+
+msgid "IDS_MUSIC_OPT_ADD_TO"
+msgstr "Pridať do"
+
+msgid "IDS_MUSIC_SK_VIEW"
+msgstr "Zobraziť"
+
+msgid "IDS_MUSIC_OPT_LISTBY_RECENTLY_ADDED"
+msgstr "Posledne pridané"
+
+msgid "IDS_MUSIC_BODY_NOT_USED"
+msgstr "Nepoužité"
+
+msgid "IDS_MUSIC_BODY_MAKE_AVAILABLE_OFFLINE"
+msgstr "Sprístupniť v režime offline"
+
+msgid "IDS_MUSIC_OPT_AFTER_P1SD_HRS_P2SD_MINS"
+msgstr "Po %1$d hodinách %2$d minútach"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS"
+msgstr "Po %d hod."
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_MINS"
+msgstr "Po %d min."
+
+msgid "IDS_MUSIC_BODY_NO_FOLDERS"
+msgstr "Žiadne priečinky"
+
+msgid "IDS_MUSIC_BODY_NO_TRACKS"
+msgstr "Žiadne skladby"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS"
+msgstr "Albumy: %d"
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS"
+msgstr "Interpreti: %d"
+
+msgid "IDS_MUSIC_BODY_PD_GENRES"
+msgstr "Žánre: %d"
+
+msgid "IDS_MUSIC_BODY_PD_PLAYLISTS"
+msgstr "Zoznamy na prehrávanie: %d"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_ABB"
+msgstr "Skladby: %d"
+
+msgid "IDS_MUSIC_BODY_PLAYLIST"
+msgstr "Zoznam skladieb"
+
+msgid "IDS_MUSIC_HEADER_SIMILAR_ALBUMS"
+msgstr "Podobné albumy"
+
+msgid "IDS_MUSIC_HEADER_TRACK"
+msgstr "Skladba"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL_VIEW"
+msgstr "Zobrazenie miniatúr"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "Tento zvukový efekt funguje iba v režime slúchadla."
+
+msgid "IDS_MUSIC_OPT_ALL_CONTENT_ABB2"
+msgstr "Všetok obsah"
+
+msgid "IDS_MUSIC_BODY_A_NETWORK_CONNECTION_IS_REQUIRED_TO_PLAY_THIS_FILE_CHECK_YOUR_NETWORK_CONNECTION_AND_TRY_AGAIN"
+msgstr "Na prehratie tohto súboru sa vyžaduje sieťové pripojenie. Skontrolujte sieťové pripojenie a skúste to znova."
+
+msgid "IDS_MUSIC_POP_FILE_TYPE_NOT_SUPPORTED"
+msgstr "Typ súboru nie je podporovaný."
+
+msgid "IDS_MUSIC_POP_UPDATING_ING"
+msgstr "Aktualizácia..."
+
+msgid "IDS_MUSIC_OPT_SEARCH_ABB"
+msgstr "Hľadať"
+
+msgid "IDS_MUSIC_OPT_SEARCH_BY"
+msgstr "Hľadať podľa"
+
+msgid "IDS_MUSIC_BODY_RELATED_VIDEOS"
+msgstr "Príbuzné videá"
+
+msgid "IDS_MUSIC_BODY_SMART_VOLUME_ABB"
+msgstr "Inteligentná hlasitosť"
+
+msgid "IDS_MUSIC_BODY_THE_VOLUME_OF_ALL_TRACKS_WILL_BE_ADJUSTED_TO_LEVEL_PD"
+msgstr "Hlasitosť všetkých skladieb sa upraví na úroveň %d."
+
+msgid "IDS_MUSIC_HEADER_SMART_VOLUME_IS_ENABLED"
+msgstr "Inteligentná hlasitosť je zapnutá"
+
+msgid "IDS_MUSIC_OPT_CONNECTION_INFO_ABB"
+msgstr "Inform. o pripojení"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_PD_MINS"
+msgstr "Po 1 hod. %d min."
+
+msgid "IDS_MUSIC_BODY_ADAPT_SOUND_ABB"
+msgstr "Adapt Sound"
+
+msgid "IDS_MUSIC_BODY_MY_DEVICE"
+msgstr "Moje zariadenie"
+
+msgid "IDS_MUSIC_POP_LISTENING_AT_A_HIGH_VOLUME_FOR_A_LONG_TIME_MAY_DAMAGE_YOUR_HEARING_RAISE_THE_VOLUME_ABOVE_SAFE_LEVELS_Q"
+msgstr "Dlhodobé počúvanie pri vysokej hlasitosti môže spôsobiť poškodenie sluchu. Zvýšiť hlasitosť nad bezpečné úrovne?"
+
+msgid "IDS_MUSIC_POP_ALREADY_EXISTS"
+msgstr "Už existuje."
+
+msgid "IDS_MUSIC_OPT_SCAN_FOR_NEARBY_DEVICES"
+msgstr "Hľadať blízke zariadenia"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR"
+msgstr "Po 1 hod."
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_1_MIN"
+msgstr "Po 1 hod. 1 min."
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS_1_MIN"
+msgstr "Po %d hod. 1 min."
+
+msgid "IDS_MUSIC_BODY_AFTER_1_MIN"
+msgstr "Po 1 min."
+
+msgid "IDS_MUSIC_OPT_GO_TO_STORE"
+msgstr "Prejsť do obchodu"
+
+msgid "IDS_MUSIC_SK3_ADD_TRACKS"
+msgstr "Pridať\nskladby"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FROM_MUSIC_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Po stiahnutí skladieb z aplikácie Hudba sa zobrazia tu."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_YOUR_FAVOURITES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Po pridaní skladieb medzi obľúbené sa tieto zobrazia tu."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_PLAY_TRACKS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Po prehraní skladieb sa tieto zobrazia tu."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_PS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Po pridaní skladieb do aplikácie %s sa zobrazia tu."
+
+msgid "IDS_MUSIC_BODY_NO_PURCHASED_CONTENT"
+msgstr "Žiadny zakúpený obsah"
+
+msgid "IDS_MUSIC_SK_SAVE_AS"
+msgstr "Uložiť ako"
+
+msgid "IDS_MUSIC_POP_MUSICPLAYER_UPDATING_FAILED"
+msgstr "Aktualizácia sa nepodarila."
+
+msgid "IDS_MUSIC_BODY_EXCITING_M_ADJECTIVE"
+msgstr "Vzrušujúca"
+
+msgid "IDS_MUSIC_BODY_SEARCH_MY_MUSIC"
+msgstr "Hľadať v mojej hudbe"
+
+msgid "IDS_MUSIC_HEADER_CONNECTED_DEVICES"
+msgstr "Pripojené zariadenia"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST_PS"
+msgstr "Môj prehrávací zoznam %s"
+
+msgid "IDS_MUSIC_BODY_NO_DEVICES"
+msgstr "Žiadne zariadenia"
+
+msgid "IDS_MUSIC_HEADER_AVAILABLE_DEVICES_ABB"
+msgstr "Dostupné zariadenia"
+
+msgid "IDS_MUSIC_POP_SET"
+msgstr "Nastaviť"
+
+msgid "IDS_MUSIC_POP_REMOVE_FAILED"
+msgstr "Odstránenie sa nepodarilo."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_USE_FAST_FORWARD_AND_REWIND_WHEN_NEARBY_DEVICES_ARE_ENABLED"
+msgstr "Keď sú povolené blízke zariadenia, nemožno použiť prevíjanie dopredu a dozadu."
+
+msgid "IDS_MUSIC_OPT_SET_AS"
+msgstr "Nastaviť ako"
+
+msgid "IDS_MUSIC_OPT_HEADPHONES_ABB"
+msgstr "Slúchadlá"
+
+msgid "IDS_MUSIC_OPT_SPEAKER"
+msgstr "Reproduktor"
+
+msgid "IDS_MUSIC_BODY_1_SONG"
+msgstr "1 skladba"
+
+msgid "IDS_MUSIC_BODY_PD_SONGS"
+msgstr "Skladby: %d"
+
+msgid "IDS_MUSIC_BODY_1_TRACK"
+msgstr "1 stopa"
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_1_TRACK"
+msgstr "Náhodne 1 skladba"
+
+msgid "IDS_MUSIC_POP_NO_MUSIC_FOUND_FOR_SELECTED_CELL"
+msgstr "Pre vybratú bunku sa nenašla žiadna hudba"
+
+msgid "IDS_MUSIC_BODY_DO_NOT_SHOW_AGAIN"
+msgstr "Už nezobrazovať"
+
+msgid "IDS_MUSIC_BODY_VARIOUS_ARTISTS"
+msgstr "Rôzni interpreti"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_HOME_SCREEN_ABB"
+msgstr "Pridať na domovskú obrazovku"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_FAVOURITES"
+msgstr "Pridať do obľúbených"
+
+msgid "IDS_MUSIC_OPT_EDIT_TITLE"
+msgstr "Upraviť názov"
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_PERSONAL_STORAGE"
+msgstr "Odstrániť z osobného úložného priestoru"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FOLDERS_WILL_BE_SHOWN"
+msgstr "Po stiahnutí skladieb sa zobrazia priečinky"
+
+msgid "IDS_MUSIC_BODY_SETTINGS_VOLUME"
+msgstr "Hlasitosť"
+
+msgid "IDS_MUSIC_BODY_REPEAT_OFF"
+msgstr "Vypnúť opakovanie"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_REPEAT_ALL"
+msgstr "Opakovať všetky"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_OFF"
+msgstr "Vypnúť náhodné poradie"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_ON"
+msgstr "Zapnúť náhodné poradie"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST"
+msgstr "Môj zoznam skladieb"
+
+msgid "IDS_MUSIC_MBODY_DEFAULT_PLAYLISTS"
+msgstr "Predvol. prehráv. zoznamy"
+
+msgid "IDS_MUSIC_BODY_DETAILS_RECORDING_DATE"
+msgstr "Dátum záznamu"
+
+msgid "IDS_MUSIC_OPT_ALBUM_ART_ABB"
+msgstr "Obal alb."
+
+msgid "IDS_MUSIC_BODY_1_GENRE"
+msgstr "1 žáner"
+
+msgid "IDS_MUSIC_BODY_PD_FOLDERS"
+msgstr "Počet priečinkov: %d"
+
+msgid "IDS_MUSIC_BODY_1_FOLDER"
+msgstr "1 priečinok"
+
+msgid "IDS_MUSIC_BODY_1_ARTIST"
+msgstr "1 interpret"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_M_MUSIC"
+msgstr "1 album"
+
+msgid "IDS_MUSIC_BODY_1_PLAYLIST"
+msgstr "1 zoznam na prehrávanie"
+
+msgid "IDS_MUSIC_BODY_MUSIC_PLAYER"
+msgstr "Prehrávač hudby"
+
+msgid "IDS_MUSIC_BUTTON_MOVE"
+msgstr "Premiestniť"
+
+msgid "IDS_MUSIC_BUTTON_AUTO_RECOMMENDATIONS"
+msgstr "Automatické odporúčania"
+
+msgid "IDS_MUSIC_BUTTON_FROM_THE_BEGINNING"
+msgstr "Od začiatku"
+
+msgid "IDS_MUSIC_HEADER_SUGGESTIONS_FOR_YOU"
+msgstr "Návrhy pre vás"
+
+msgid "IDS_MUSIC_OPT_SAVE"
+msgstr "Uložiť"
+
+msgid "IDS_MUSIC_TAB4_BASIC_M_EQUALIZING"
+msgstr "Základné"
+
+msgid "IDS_MUSIC_BODY_INSTRUMENT"
+msgstr "Inštrumentálna"
+
+msgid "IDS_MUSIC_BODY_TREBLE_M_EQUALISER"
+msgstr "Výšky"
+
+msgid "IDS_MUSIC_BODY_BASS_M_EQUALISER"
+msgstr "Basy"
+
+msgid "IDS_MUSIC_BODY_NO_EFFECTS_ARE_APPLIED_IN_THIS_MODE_ABB"
+msgstr "V tomto režime sa nepoužijú žiadne efekty."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_TIMBRE_OF_A_TUBE_AMP_ABB"
+msgstr "Simuluje zvuk elektrónkového zosilňovača."
+
+msgid "IDS_MUSIC_OPT_TUBE_AMP_EFFECT"
+msgstr "Efekt elektrónkového zosilňovača"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_EFFECT_OF_VIRTUAL_71_CHANNEL_SURROUND_SOUND_ABB"
+msgstr "Simuluje efekt virtuálneho 7.1-kanálového priestorov. zvuku."
+
+msgid "IDS_MUSIC_HEADER_SMALL_ROOM_M_REVERB_ABB"
+msgstr "Malá miestnosť"
+
+msgid "IDS_MUSIC_HEADER_LARGE_ROOM_M_REVERB_ABB"
+msgstr "Veľká miestnosť"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_LARGE_ROOM_EG_A_THEATRE_ABB"
+msgstr "Simuluje dozvuk veľkej miestnosti, napríklad divadla."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_CONCERT_HALL_ABB"
+msgstr "Simuluje dozvuk koncertnej sály."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_SMALL_SPACE_EG_A_STUDIO_ABB"
+msgstr "Simuluje dozvuk malého priestoru, napríklad štúdia."
+
+msgid "IDS_MUSIC_BUTTON_3D_CHN"
+msgstr "3D"
+
+msgid "IDS_MUSIC_BODY_CLARITY_M_SOUNDEFFECT"
+msgstr "Čistota"
+
+msgid "IDS_MUSIC_BUTTON_RESET"
+msgstr "Vynulovať"
+
+msgid "IDS_MUSIC_TAB_YEARS"
+msgstr "Roky"
+
+msgid "IDS_MUSIC_TAB_GENRES"
+msgstr "Žánre"
+
+msgid "IDS_MUSIC_TAB_COMPOSERS"
+msgstr "Skladat."
+
+msgid "IDS_MUSIC_TAB_ALL_TRACKS"
+msgstr "Všetky stopy"
+
+msgid "IDS_MUSIC_SK3_GO_TO_QUICK_LIST"
+msgstr "Prejsť do rých. zoz."
+
+msgid "IDS_MUSIC_SK3_FIND"
+msgstr "Nájsť"
+
+msgid "IDS_MUSIC_SK3_ADD_TO_QUICK_LIST"
+msgstr "Pridať do rých. zoz."
+
+msgid "IDS_MUSIC_POP_UNAUTHORISED_VIDEO_FILE_FOR_TV_OUT"
+msgstr "Neoprávnený videosúbor pre televízny výstup."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_CREATE_MAXIMUM_NUMBER_OF_PLAYLISTS_REACHED"
+msgstr "Nedá sa vytvoriť. Dosiahol sa maximálny počet zoznamov skladieb."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTING_BLUETOOTH_HEADSET"
+msgstr "Počas pripojenia náhlavnej súpravy Bluetooth sa nedá upraviť hlasitosť."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTED_TO_BLUETOOTH_HEADSET"
+msgstr "Počas pripojenia náhlavnej súpravy Bluetooth sa nedá upraviť hlasitosť."
+
+msgid "IDS_MUSIC_POP_STOP_MUSIC_PLAYER_Q"
+msgstr "Zastaviť Prehrávač hudby?"
+
+msgid "IDS_MUSIC_POP_PLEASE_EXIT_SILENT_MODE"
+msgstr "Ukončite tichý režim."
+
+msgid "IDS_MUSIC_POP_NETWORK_FAILURE"
+msgstr "Zlyhanie siete."
+
+msgid "IDS_MUSIC_POP_MEMORY_CARD_LOADED"
+msgstr "Pamäťová karta načítaná."
+
+msgid "IDS_MUSIC_POP_DEVICE_SETTINGS_ERROR"
+msgstr "Chyba nastavení zariadenia."
+
+msgid "IDS_MUSIC_POP_COULD_NOT_FIND_A_MATCH_FOR_THE_SONG"
+msgstr "Nie je možné nájsť zhodu pre skladbu."
+
+msgid "IDS_MUSIC_POP_BUFFERING_MSTATUS"
+msgstr "Načítanie do pamäte"
+
+msgid "IDS_MUSIC_POP_BT_HEADSET_ONLY_SUPPORTS_NORMAL_EFFECTS_SETTING"
+msgstr "Náhlavná súprava BT podporuje iba nastavenie normálnych efektov."
+
+msgid "IDS_MUSIC_POP_APPLICATION_WILL_BE_CLOSED"
+msgstr "Aplikácia sa ukončí."
+
+msgid "IDS_MUSIC_POP_ADDED_GO_TO_WISH_LIST_Q"
+msgstr "Pridané. Prejsť na zoznam prianí?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_THE_SERVICE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "Prístup k službe môže byť spoplatnený. Pokračovať?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_STORE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "Prístup k obchodu môže byť spoplatnený. Pokračovať?"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_ONLY_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES"
+msgstr "5.1-kanálový zvukový efekt funguje iba v režime slúchadiel a v režime náhlavnej súpravy Bluetooth."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "5,1-kanálový zvukový efekt funguje iba v režime slúchadiel."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECTS_NOT_SUPPORTED_BY_SPEAKER"
+msgstr "Reproduktor nepodporuje 5.1-kanálové zvukové efekty."
+
+msgid "IDS_MUSIC_OPT_VIEW_BY_COVER_ART"
+msgstr "Zobraziť podľa obalu"
+
+msgid "IDS_MUSIC_OPT_SEND_TRACK"
+msgstr "Odoslať skladbu"
+
+msgid "IDS_MUSIC_OPT_RATE_TRACK"
+msgstr "Ohodnotiť skladbu"
+
+msgid "IDS_MUSIC_OPT_PLAYLIST_MOVE_TRACK_IN_PLAYLIST"
+msgstr "Presunúť v zozname skladieb"
+
+msgid "IDS_MUSIC_OPT_OPENPLAYLIST_CURRENT"
+msgstr "Aktuálny"
+
+msgid "IDS_MUSIC_OPT_DELETE_PLAYLIST"
+msgstr "Vymazať zoznam skladieb"
+
+msgid "IDS_MUSIC_OPT_BACKGROUND_PLAYING"
+msgstr "Prehrávanie na pozadí"
+
+msgid "IDS_MUSIC_HEADER_EFFECTS"
+msgstr "Efekty"
+
+msgid "IDS_MUSIC_BUTTON_BUY_NOW"
+msgstr "Kúp teraz"
+
+msgid "IDS_MUSIC_BODY_WOW_HD"
+msgstr "Wow HD"
+
+msgid "IDS_MUSIC_BODY_WISHLIST"
+msgstr "Zoznam prianí"
+
+msgid "IDS_MUSIC_BODY_WIDE"
+msgstr "Široký"
+
+msgid "IDS_MUSIC_BODY_WHA_WHA"
+msgstr "Wha-wha"
+
+msgid "IDS_MUSIC_BODY_VIBE_WOOFER"
+msgstr "Vibračný reproduktor"
+
+msgid "IDS_MUSIC_BODY_TREMOLO"
+msgstr "Tremolo"
+
+msgid "IDS_MUSIC_BODY_TAP_TWICE_TO_PLAY_PAUSE_MUSIC"
+msgstr "Ťuknutím 2x prehráte/pozastavíte hudbu."
+
+msgid "IDS_MUSIC_BODY_SHARE_TRACK_VIA_BLUETOOTH"
+msgstr "Zdieľať stopu cez Bluetooth"
+
+msgid "IDS_MUSIC_BODY_SETUPWIZARD_WELCOME_TO_THE_MUSIC_SETUP_WIZARD_CONTINUE_Q"
+msgstr "Vítame vás v sprievodcovi nastavením hudby.\nNasledujúce obrazovky vám pomôžu nakonfigurovať telefón. Chcete pokračovať?"
+
+msgid "IDS_MUSIC_BODY_QUICK_LIST"
+msgstr "Rýchly zoznam"
+
+msgid "IDS_MUSIC_BODY_PLAYINGSETTINGS_SOUND_EFFECTS"
+msgstr "Zvukové efekty"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_ALL"
+msgstr "Všetky"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_1"
+msgstr "1"
+
+msgid "IDS_MUSIC_BODY_PLAYERSETTINGS_VOLUME"
+msgstr "Hlasitosť"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_SELECTED"
+msgstr "Vybraté skladby: %d."
+
+msgid "IDS_MUSIC_BODY_NO_PODCASTS"
+msgstr "Žiadne podcasty"
+
+msgid "IDS_MUSIC_BODY_FIND_SIMILAR"
+msgstr "Nájsť podobné"
+
+msgid "IDS_MUSIC_BODY_BACKGROUND_PLAY"
+msgstr "Prehrávať na pozadí"
+
+msgid "IDS_MUSIC_BODY_51_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "5.1-kanálový zvuk môžete aktivovať po vypnutí zvukových efektov."
+
+msgid "IDS_MUSIC_TAB4_PODCASTS"
+msgstr "Podcasty"
+
+msgid "IDS_MUSIC_SK2_EDIT_IMAGE"
+msgstr "Upraviť obrázok"
+
+msgid "IDS_MUSIC_POP_PLAYING_ANY_SOUNDS_WILL_STOP_AND_SAVE_YOUR_VOICE_RECORDING_PLAY_Q"
+msgstr "Prehrávanie ľubovoľných zvukov zastaví a uloží vašu hlasovú nahrávku. Prehrať?"
+
+msgid "IDS_MUSIC_POP_MAXIMUM_NUMBER_OF_ITEMS_HPD_SELECTED"
+msgstr "Vybrali ste maximálny počet položiek (%d)."
+
+msgid "IDS_MUSIC_POP_BLUETOOTH_DISCONNECTED"
+msgstr "Bluetooth je odpojený."
+
+msgid "IDS_MUSIC_POP_5_1_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "5.1-kanálový zvuk môžete aktivovať iba po vypnutí zvukových efektov."
+
+msgid "IDS_MUSIC_OPT_TAKE_PICTURE"
+msgstr "Fotografovať"
+
+msgid "IDS_MUSIC_OPT_SHOW_MUSIC_VIEW_ABB"
+msgstr "Zobr. hudobné zobrazenie"
+
+msgid "IDS_MUSIC_OPT_PAUSE"
+msgstr "Pauza"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALBUM"
+msgstr "Prehrať album"
+
+msgid "IDS_MUSIC_OPT_LIST_BY"
+msgstr "Zoradiť podľa"
+
+msgid "IDS_MUSIC_OPT_HISTORY"
+msgstr "História"
+
+msgid "IDS_MUSIC_OPT_HIDE_MUSIC_VIEW_ABB"
+msgstr "Skryť hudobné zobrazenie"
+
+msgid "IDS_MUSIC_OPT_FIND_TAG"
+msgstr "Hľadať značku"
+
+msgid "IDS_MUSIC_OPT_DROPBOX_CONTENT_ABB"
+msgstr "Obsah sl. Dropbox"
+
+msgid "IDS_MUSIC_OPT_CONTENT_ON_PHONE_ABB"
+msgstr "Obsah v telefóne"
+
+msgid "IDS_MUSIC_OPT_CHANGE_IMAGE"
+msgstr "Zmeniť obrázok"
+
+msgid "IDS_MUSIC_HEADER_DELETE_DROPBOX_DATA_ABB"
+msgstr "Odstrániť údaje Dropbox"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_STREAM_YOUR_MUSIC_TO_DEVICES_USING_ALLSHARE"
+msgstr "Použitím funkcie AllShare môžete prenášať hudbu cez streaming do zariadení."
+
+msgid "IDS_MUSIC_BODY_VALIDITY"
+msgstr "Platnosť"
+
+msgid "IDS_MUSIC_BODY_TYPE_CNOUN"
+msgstr "Typ"
+
+msgid "IDS_MUSIC_BODY_THIS_WILL_DELETE_THE_FILE_FROM_THE_SERVER_AND_ANY_CONNECTED_DEVICES_AS_WELL"
+msgstr "Týmto sa odstráni súbor zo servera aj zo všetkých pripojených zariadení."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_ARTISTS"
+msgstr "Interpreti"
+
+msgid "IDS_MUSIC_BODY_PLAYINGDETAILS_ALBUM_ART"
+msgstr "Obal albumu"
+
+msgid "IDS_MUSIC_BODY_OTHER_CONTENTS"
+msgstr "Iný obsah"
+
+msgid "IDS_MUSIC_BODY_NAME_TOO_LONG"
+msgstr "Názov je príliš dlhý."
+
+msgid "IDS_MUSIC_BODY_MUSIC_CLARITY"
+msgstr "Čistota hudby"
+
+msgid "IDS_MUSIC_BODY_HIGH_VOLUMES_MAY_HARM_YOUR_HEARING_IF_YOU_LISTEN_FOR_A_LONG_TIME"
+msgstr "Vysoká hlasitosť môže pri dlhodobom počúvaní poškodiť sluch."
+
+msgid "IDS_MUSIC_BODY_AVAILABLE_USES"
+msgstr "Počet použití k dispozícii"
+
+msgid "IDS_MUSIC_TPOP_SOUND_EFFECTS_ONLY_AVAILABLE_WHILE_HEADPHONES_CONNECTED"
+msgstr "Zvukové efekty sú k dispozícii iba počas pripojenia slúchadiel."
+
+msgid "IDS_ST_OPT_ADD_TO_YOUR_PERSONAL_STORAGE"
+msgstr "Pridať do osobného úložného priestoru"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_YOUR_PERSONAL_STORAGE"
+msgstr "Odstrániť z osobného úložného priestoru"
+
+msgid "IDS_ST_BODY_CONTEXTUAL_POP_UP_T_TALKBACK"
+msgstr "Kontextové okno"
+
+msgid "IDS_ST_BODY_A_CONTEXTUAL_POP_UP_IS_OPEN_DOUBLE_TAP_TO_CLOSE_IT_T_TALKBACK"
+msgstr "Je kontextové okno. Dvojitým ťuknutím ho zavrite."
+
+msgid "IDS_ST_BODY_REPEAT_ONE"
+msgstr "Opakovať jednu"
+
+msgid "IDS_ST_BUTTON_MOVING_ING"
+msgstr "Presúva sa..."
+
+msgid "IDS_HS_BODY_SELECT_UP_TO_PD_ITEMS"
+msgstr "Vyberte najviac %d položiek"
+
+msgid "IDS_CAM_BODY_TAB_T_TTS"
+msgstr "Karta"
+
+msgid "IDS_DLNA_OPT2_CHANGE_PLAYER"
+msgstr "Zmeniť prehrávač"
+
+msgid "IDS_BR_SK_TABS"
+msgstr "Karty"
+
+msgid "IDS_MF_BODY_DROPBOX_ABB"
+msgstr "Dropbox"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Automatické odporúčania môžu extrahovať najlepšie pasáže zo zvukových súborov."
+
+msgid "IDS_MF_BODY_PARENT_RATING"
+msgstr "Rodičovské hodnotenie"
+
+msgid "IDS_VR_POP_FILE_NOT_FOUND"
+msgstr "Súbor nenájdený."
+
+msgid "IDS_PB_POP_CALLER_RINGTONE_SAVED"
+msgstr "Tón zvonenia volajúceho bol uložený."
+
+msgid "IDS_MUSIC_BODY_BIT_DEPTH"
+msgstr "Bitová hĺbka"
+
+msgid "IDS_MUSIC_BODY_SIZE"
+msgstr "Veľkosť"
+
+msgid "IDS_MF_HEADER_PD_SELECTED"
+msgstr "Vybraté: %d"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_THIS_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Po pridaní skladieb do tohto zariadenia sa zobrazia tu."
+
+msgid "IDS_MUSIC_TMBODY_LENGTH"
+msgstr "Dĺžka"
+
+msgid "IDS_MUSIC_POP_1_FOLDER_WILL_BE_DELETED"
+msgstr "Odstráni sa 1 priečinok."
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Žiadny obsah"
+
+msgid "IDS_MUSIC_ITAB4_FOLDERS"
+msgstr "Priečinky"
+
+msgid "IDS_MUSIC_HEADER_MY_PLAYLISTS_ABB"
+msgstr "Moje prehráv. zoznamy"
+
+msgid "IDS_MP_BODY_SOUND_PLAYER"
+msgstr "Prehrávač zvuku"
+
+msgid "IDS_MUSIC_OPT_SETTINGS"
+msgstr "Nastavenia"
+
+msgid "IDS_MUSIC_POP_DELETING"
+msgstr "Odstraňovanie..."
+
+msgid "IDS_MUSIC_POP_1_TRACK_WILL_BE_DELETED"
+msgstr "1 skladba sa odstráni."
+
+msgid "IDS_MUSIC_POP_ALL_TRACKS_WILL_BE_DELETED"
+msgstr "Všetky skladby sa odstránia"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_WILL_BE_DELETED"
+msgstr "Vykoná sa odstránenie %d skladieb."
+
+msgid "IDS_MUSIC_POP_1_PLAYLIST_WILL_BE_DELETED"
+msgstr "1 prehrávací zoznam sa odstráni."
+
+msgid "IDS_MUSIC_POP_PD_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Zoznamy na prehrávanie %d sa odstránia."
+
+msgid "IDS_MUSIC_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "%d albumy sa odstránia."
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS_WILL_BE_DELETED"
+msgstr "%d interpreti sa odstránia."
+
+msgid "IDS_MUSIC_POP_PD_FOLDERS_WILL_BE_DELETED"
+msgstr "%d priečinky sa odstránia."
+
+msgid "IDS_ST_POP_CONNECTION_FAILED"
+msgstr "Pripojenie sa nepodarilo."
+
+msgid "IDS_MUSIC_BODY_CLASSIC"
+msgstr "Klasika"
+
+msgid "IDS_MUSIC_BODY_ROCK"
+msgstr "Rock"
+
+msgid "IDS_MUSIC_BODY_JAZZ"
+msgstr "Jazz"
+
+msgid "IDS_MUSIC_BODY_POP"
+msgstr "Pop"
+
+msgid "IDS_MUSIC_BODY_AUTO"
+msgstr "Auto"
+
+msgid "IDS_MUSIC_POP_CURRENT_SOUND_EFFECT_NOT_SUPPORTED_BY_HDMI"
+msgstr "Rozhranie HDMI nepodporuje aktuálny zvukový efekt."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_BLUETOOTH"
+msgstr "Bluetooth nepodporuje zvukové efekty."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_LINE_OUT"
+msgstr "Linkový výstup nepodporuje zvukové efekty."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_HDMI"
+msgstr "HDMI nepodporuje zvukové efekty."
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EFFECT"
+msgstr "Elektrónkový zosilňovač"
+
+msgid "IDS_MUSIC_BODY_CUSTOM"
+msgstr "Vlastné"
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EQUALISER_ABB"
+msgstr "Elektrónk. zos."
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "Počet skladieb pridaných do prehrávacieho zoznamu: %d."
+
+msgid "IDS_MUSIC_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "Do prehrávacieho zoznamu bola pridaná 1 skladba."
+
+msgid "IDS_MUSIC_HEADER_ADD_TRACKS_TO_PLAYLIST_ABB"
+msgstr "Prid. skladby do prehr. zozn."
+
+msgid "IDS_MUSIC_POP_PS_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "%s sa už používa. Zadajte iný názov."
+
+msgid "IDS_MUSIC_TMBODY_DATE_OF_RECORDING"
+msgstr "Dátum nahrávky"
+
+msgid "IDS_MBP_TPOP_TRACK_SET_AS_ALARM_TONE"
+msgstr "Skladba sa nastavila ako tón budíka."
+
+msgid "IDS_MUSIC_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Nenašli sa žiadne výsledky."
+
+msgid "IDS_MUSIC_OPT_DEFAULT_RINGTONE_ABB"
+msgstr "Predvolený vyzváňací tón"
+
+msgid "IDS_MUSIC_TPOP_TRACK_SET_AS_CALLER_RINGTONE"
+msgstr "Skladba sa nastavila ako vyzváňací tón volajúceho."
+
+msgid "IDS_MP_TPOP_TRACK_SET_AS_RINGTONE"
+msgstr "Skladba sa nastavila ako vyzváňací tón."
+
+msgid "IDS_DLNA_BODY_ADD_TO_NOW_PLAYING_LIST"
+msgstr "Pridať do aktuálneho zoznamu prehrávaných"
+
+msgid "IDS_MUSIC_TPOP_EQUALISER_SETTINGS_WILL_BE_APPLIED_WHILE_PLAYING_MUSIC"
+msgstr "Nastavenia ekvalizéra sa použijú pri prehrávaní hudby."
+
+msgid "IDS_ST_BODY_ALERT"
+msgstr "Upozornenie"
+
+msgid "IDS_IV_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 album sa odstráni."
+
+msgid "IDS_MUSIC_OPT_SD_CARD"
+msgstr "Karta SD"
+
+msgid "IDS_MUSIC_SBODY_DEVICE_STORAGE"
+msgstr "Úložisko zariadenia"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE"
+msgstr "Názov prehrávacieho zoznamu sa už používa."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_PD"
+msgstr "Prehrávací zoznam %d"
+
+msgid "IDS_MUSIC_HEADER_CREATE"
+msgstr "Vytvoriť"
+
+msgid "IDS_MUSIC_HEADER_EQUALISER_PRESET_ABB"
+msgstr "Predvoľba ekvalizéra"
+
+msgid "IDS_MUSIC_OPT_AUTOMATIC_M_EQUALIZER_EFFECT"
+msgstr "Automaticky"
+
+msgid "IDS_MUSIC_OPT_CLASSICAL_M_EQUALIZER_EFFECT"
+msgstr "Klasický"
+
+msgid "IDS_MUSIC_HEADER_ENVIRONMENT_EFFECT_ABB"
+msgstr "Efekt prostredia"
+
+msgid "IDS_VIDEO_POP_THE_FILE_TYPE_IS_NOT_SUPPORTED"
+msgstr "Tento typ súboru nie je podporovaný."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_CREATE_PLAYLISTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Po vytvorení prehrávacích zoznamov sa zobrazia tu."
+
+msgid "IDS_ST_HEADER_SELECT_AUDIO_DEVICE_ABB"
+msgstr "Vyberte zvukové zariadenie"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "Názov prehrávacieho zoznamu sa už používa. Zadajte iný názov."
+
+msgid "IDS_MUSIC_HEADER_SOUNDALIVE_ABB3"
+msgstr "SoundAlive"
+
+msgid "IDS_MUSIC_OPT_NOW_PLAYING_LIST"
+msgstr "Zoznam prehrávaných položiek"
+
+msgid "IDS_MUSIC_OPT_SHOW_LYRICS"
+msgstr "Zobraziť text piesní"
+
+msgid "IDS_MUSIC_OPT_HIDE_LYRICS"
+msgstr "Skryť text piesne"
+
+msgid "IDS_MUSIC_TPOP_UNABLE_TO_PLAY_MUSIC_DURING_CALLS"
+msgstr "Počas hovorov sa nedá prehrávať hudba."
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Odstrániť"
+
+msgid "IDS_MUSIC_HEADER_SELECT"
+msgstr "Vyberte"
+
+msgid "IDS_TPLATFORM_OPT_NFC"
+msgstr "NFC"
+
+msgid "IDS_MUSIC_HEADER_UNABLE_TO_PLAY_TRACK"
+msgstr "Skladba sa nedá prehrať"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "HOTOVO"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ZRUŠIŤ"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "ODSTRÁNIŤ"
+
+msgid "IDS_MUSIC_POP_RENAME"
+msgstr "Premenovať"
+
+msgid "IDS_MUSIC_OPT_MESSAGE"
+msgstr "Správa"
+
+msgid "IDS_MUSIC_SK_OK"
+msgstr "OK"
+
+msgid "IDS_MUSIC_SK_CANCEL"
+msgstr "Zrušiť"
+
+msgid "IDS_MUSIC_BUTTON_REFRESH"
+msgstr "Obnoviť"
+
+msgid "IDS_MUSIC_BODY_SELECT_ALL"
+msgstr "Vybrať všetky"
+
+msgid "IDS_MUSIC_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_MUSIC_POP_DELETED"
+msgstr "Odstránené."
+
+msgid "IDS_MUSIC_OPT_STOP"
+msgstr "Zastaviť"
+
+msgid "IDS_MUSIC_BODY_UNKNOWN"
+msgstr "Neznáma"
+
+msgid "IDS_MUSIC_BODY_TITLE"
+msgstr "Názov"
+
+msgid "IDS_MUSIC_OPT_SENDVIA_EMAIL"
+msgstr "E-mail"
+
+msgid "IDS_MUSIC_OPT_BLUETOOTH"
+msgstr "Bluetooth"
+
+msgid "IDS_MUSIC_HEADER_DOWNLOAD"
+msgstr "Stiahnuť"
+
+msgid "IDS_MUSIC_POP_LOW_BATTERY"
+msgstr "Batéria vybitá."
+
+msgid "IDS_MUSIC_HEADER_AUDIO_DEVICE"
+msgstr "Zvukové zariadenie"
+
+msgid "IDS_MUSIC_HEADER_DETAILS"
+msgstr "Podrobnosti"
+
+msgid "IDS_MUSIC_OPT_END"
+msgstr "Koniec"
+
+msgid "IDS_MUSIC_OPT_EDIT"
+msgstr "Upraviť"
+
+msgid "IDS_CAM_HEADER_UPDATED"
+msgstr "Aktualizované."
+
+msgid "IDS_MUSIC_POP_REMOVED"
+msgstr "Odstránené."
+
+msgid "IDS_MUSIC_OPT_SELECTED"
+msgstr "Vybrané"
+
+msgid "IDS_ST_BUTTON_SCAN"
+msgstr "Vyhľadať"
+
+msgid "IDS_MF_POP_ERROR"
+msgstr "Chyba."
+
+msgid "IDS_MF_POP_MEMORY_FULL"
+msgstr "Pamäť plná."
+
+
+
+msgid "IDS_MUSIC_MBODY_QUEUE"
+msgstr "Pridať skladbu do zoznamu"
+
+msgid "IDS_MUSIC_OPT_VOLUME"
+msgstr "Hlasitosť"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE"
+msgstr "Náhodné poradie"
+
+msgid "IDS_MUSIC_OPT_REPEAT"
+msgstr "Opakovať"
+
+msgid "IDS_COM_BODY_DETAILS"
+msgstr "Details"
+
+msgid "IDS_COM_BODY_DETAILS_TITLE"
+msgstr "Title"
+
+msgid "IDS_COM_BODY_EDIT"
+msgstr "Edit"
+
+msgid "IDS_COM_BODY_EMAIL"
+msgstr "Email"
+
+msgid "IDS_COM_BODY_END"
+msgstr "End"
+
+msgid "IDS_COM_BODY_FOLDERS"
+msgstr "Folders"
+
+msgid "IDS_COM_BODY_GALLERY"
+msgstr "Gallery"
+
+msgid "IDS_COM_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_COM_BODY_LOADING"
+msgstr "Loading..."
+
+msgid "IDS_COM_BODY_LOW_BATTERY"
+msgstr "Low battery."
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Message"
+
+msgid "IDS_COM_BODY_MUSIC"
+msgstr "Music"
+
+msgid "IDS_COM_BODY_NFC"
+msgstr "NFC"
+
+msgid "IDS_COM_BODY_NO_CONTENTS"
+msgstr "No content"
+
+msgid "IDS_COM_BODY_PAUSE"
+msgstr "Pause"
+
+msgid "IDS_COM_BODY_PD_SELECTED"
+msgstr "%d selected."
+
+msgid "IDS_COM_BODY_PREVIOUS"
+msgstr "Previous"
+
+msgid "IDS_COM_BODY_RESET_A"
+msgstr "Reset"
+
+msgid "IDS_COM_BODY_SELECTED"
+msgstr "Selected"
+
+msgid "IDS_COM_BODY_SELECT_ALL"
+msgstr "Select all"
+
+msgid "IDS_COM_BODY_SETTINGS"
+msgstr "Settings"
+
+msgid "IDS_COM_BODY_TIME"
+msgstr "Time"
+
+msgid "IDS_COM_BODY_UNABLE_TO_ADD"
+msgstr "Unable to add."
+
+msgid "IDS_COM_BODY_UNKNOWN"
+msgstr "Unknown"
+
+msgid "IDS_COM_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_COM_BUTTON_SCAN"
+msgstr "Scan"
+
+msgid "IDS_COM_BUTTON_SHARE"
+msgstr "Share"
+
+msgid "IDS_COM_HEADER_AUDIO_DEVICE_ABB"
+msgstr "Audio device"
+
+msgid "IDS_COM_OPT_ADDED"
+msgstr "Added."
+
+msgid "IDS_COM_OPT_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_POP_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_POP_CONNECTION_FAILED"
+msgstr "Connection failed."
+
+msgid "IDS_COM_POP_DELETED"
+msgstr "Deleted."
+
+msgid "IDS_COM_POP_DELETE_Q"
+msgstr "Delete?"
+
+msgid "IDS_COM_POP_DONE"
+msgstr "Done"
+
+msgid "IDS_COM_POP_DOWNLOADING"
+msgstr "Downloading..."
+
+msgid "IDS_COM_POP_ERROR"
+msgstr "Error."
+
+msgid "IDS_COM_POP_FAILED"
+msgstr "Failed."
+
+msgid "IDS_COM_POP_FILE_NOT_EXIST"
+msgstr "This file does not exist."
+
+msgid "IDS_COM_POP_FILE_NOT_FOUND"
+msgstr "File not found."
+
+msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximum number of characters reached."
+
+msgid "IDS_COM_POP_MEMORY_FULL"
+msgstr "Memory full."
+
+msgid "IDS_COM_POP_REMOVED"
+msgstr "Removed."
+
+msgid "IDS_COM_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Unable to use during Mass storage mode."
+
+msgid "IDS_COM_POP_UPDATED"
+msgstr "Updated."
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_SK_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_SK_DOWNLOAD"
+msgstr "Download"
+
+msgid "IDS_COM_SK_NEW"
+msgstr "New"
+
+msgid "IDS_COM_SK_NEXT"
+msgstr "Next"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_SK_REFRESH"
+msgstr "Refresh"
+
+msgid "IDS_COM_SK_REMOVE"
+msgstr "Remove"
+
+msgid "IDS_COM_SK_SAVE"
+msgstr "Save"
+
+msgid "IDS_COM_SK_SELECT"
+msgstr "Select"
+
+msgid "IDS_COM_SK_SET"
+msgstr "Set"
+
+msgid "IDS_COM_SK_STOP"
+msgstr "Stop"
+
+
+msgid "IDS_MH_BODY_THE_PLAYLIST_NAME_PS_IS_ALREADY_IN_USE"
+msgstr "The playlist name %s is already in use."
+
+msgid "IDS_MH_BODY_TOTAL"
+msgstr "Total"
+
+msgid "IDS_MH_MBODY_RECENTLY_ADDED_M_SONG"
+msgstr "Recently added"
+
+msgid "IDS_MH_OPT_MORE_INFO_ABB"
+msgstr "More info"
+
+msgid "IDS_MH_POP_ALARM_TONE_SET"
+msgstr "Alarm tone set."
+
+msgid "IDS_MH_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 track added to playlist."
+
+msgid "IDS_MH_TPOP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d tracks added to playlist."
+
+msgid "IDS_MUSIC_OPT_RENAME"
+msgstr "Rename"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Unable to play during call."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Prekročila sa maximálna veľkosť súborov."
+
+msgid "IDS_CAM_TPOP_UNABLE_TO_PLAY_MUSIC_WHILE_RECORDING_AUDIO_OR_VIDEO"
+msgstr "Počas nahrávania zvuku alebo videa sa nedá prehrávať hudba."
+
--- /dev/null
+msgid "IDS_ST_BODY_LOADING_ING"
+msgstr "Nalaganje..."
+
+msgid "IDS_GALLERY_OPT_PRIVATE_M_CONTENT"
+msgstr "Zasebno"
+
+msgid "IDS_MF_BODY_TIME"
+msgstr "Čas"
+
+msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
+msgstr "Ta datoteka ne obstaja."
+
+msgid "IDS_MUSIC_POP_PHONE_RINGTONE"
+msgstr "Melodija zvonjenja telefona"
+
+msgid "IDS_MUSIC_BODY_DURATION"
+msgstr "Trajanje"
+
+msgid "IDS_MUSIC_BODY_MUSIC_LOCATION"
+msgstr "Lokacija"
+
+msgid "IDS_MUSIC_BODY_SET_AS_M_RINGTONE"
+msgstr "Nastavi kot"
+
+msgid "IDS_ST_OPT_ADD_TO_PERSONAL_PAGE"
+msgstr "Dodaj na osebno stran"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_PERSONAL_PAGE_ABB"
+msgstr "Odstrani z osebne strani"
+
+msgid "IDS_ST_POP_MOVE_TO_NORMAL_STORAGE"
+msgstr "Premakni v običajno shrambo"
+
+msgid "IDS_ST_POP_MOVE_TO_PERSONAL_STORAGE"
+msgstr "Premakni v osebno shrambo"
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEMS_WILL_BE_MOVED_TO_PS"
+msgstr "Izbrani elementi bodo premaknjeni v mapo %s."
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEM_WILL_BE_MOVED_TO_PS"
+msgstr "Izbrani element bo premaknjen v mapo %s."
+
+msgid "IDS_VR_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Uporaba ni mogoča v načinu shranjevanja."
+
+msgid "IDS_MUSIC_POP_RINGTONE_ADDED"
+msgstr "Zvonjenje je dodano."
+
+msgid "IDS_CAM_BODY_BUTTON_T_TTS"
+msgstr "Gumb"
+
+msgid "IDS_MUSIC_HEADER_SELECT_ITEMS"
+msgstr "Izberite elemente"
+
+msgid "IDS_ST_BODY_ADVANCED"
+msgstr "Napredno"
+
+msgid "IDS_ST_SK_PREVIOUS"
+msgstr "Nazaj"
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Zapri"
+
+msgid "IDS_MUSIC_POP_ADDED"
+msgstr "Dodano."
+
+msgid "IDS_MUSIC_POP_FAILED"
+msgstr "Ni uspelo."
+
+msgid "IDS_MUSIC_BODY_NO_SEARCH_RESULTS"
+msgstr "Ni rezultatov iskanja"
+
+msgid "IDS_MUSIC_SK_DONE"
+msgstr "Končano"
+
+msgid "IDS_MUSIC_BODY_NO_ITEMS"
+msgstr "Ni predmetov"
+
+msgid "IDS_BR_OPT_ADD_TO_HOME"
+msgstr "Dodajanje med domače"
+
+msgid "IDS_BR_SK_NEXT"
+msgstr "Naprej"
+
+msgid "IDS_BR_BODY_DOWNLOADING_ING"
+msgstr "Prenašam ..."
+
+msgid "IDS_IV_BODY_FAVOURITE"
+msgstr "Priljubljene"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_PERSONAL_STORAGE"
+msgstr "Dodajanje v osebno shrambo"
+
+msgid "IDS_DLNA_POP_DISCONNECTED_FROM_PS_CHECK_THE_NETWORK_STATUS_AND_THE_CONNECTED_DEVICE"
+msgstr "Povezava z %s prekinjena. Preverite stanje omrežja in povezane naprave."
+
+msgid "IDS_DLNA_OPT_VIA_SCREEN_MIRRORING_ABB"
+msgstr "Prek Screen Mirroring"
+
+msgid "IDS_DLNA_OPT_VIA_HOME_NETWORK_ABB"
+msgstr "Prek domačega omrežja"
+
+msgid "IDS_IV_POP_ENTRY_IS_EMPTY"
+msgstr "Prazen vnos."
+
+msgid "IDS_FM_POP_UNAVAILABLE_DURING_CALL"
+msgstr "Ni na voljo med klicem."
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Doseženo je največje dovoljeno število znakov."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_SHARE_DRM_FILE"
+msgstr "Datoteke DRM ni mogoče souporabljati."
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Odstranjujem ..."
+
+msgid "IDS_MUSIC_HEADER_PD_DEVICES"
+msgstr "Število naprav:%d"
+
+msgid "IDS_MUSIC_BUTTON_ENABLE_MOTION"
+msgstr "Omog. gibanje"
+
+msgid "IDS_MUSIC_BUTTON_DONT_ASK_AGAIN"
+msgstr "Ne vprašaj znova"
+
+msgid "IDS_MUSIC_BODY_NO_RESULTS_FOUND"
+msgstr "Ni najdenih rezultatov."
+
+msgid "IDS_VPL_OPT_HDMI"
+msgstr "HDMI"
+
+msgid "IDS_MUSIC_BODY_TURN_PHONE_OVER_TO_MUTE_INCOMING_CALLS_MESSAGE_ALERTS_AND_ALARMS"
+msgstr "Obrnite telefon, da utišate dohodne klice, opozorila o sporočilih in alarme."
+
+msgid "IDS_ST_BODY_NONE"
+msgstr "Brez"
+
+msgid "IDS_ST_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_ST_BODY_GALLERY"
+msgstr "Galerija"
+
+msgid "IDS_ST_BODY_DOUBLE_TAP_TO_MOVE_TO_CONTENT_T_TTS"
+msgstr "Dvakrat pritisnite, da premaknete vsebino."
+
+msgid "IDS_MUSIC_BODY_SURROUND"
+msgstr "Prostorski zvok"
+
+msgid "IDS_MUSIC_OPT_LYRICS_ABB"
+msgstr "Besedilo"
+
+msgid "IDS_MUSIC_POP_AFTER_YOU_ADD_TRACKS_TO_MUSIC_ON_YOUR_MOBILE_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Ko skladbe dodate v mapo Glasba v mobilni napravi, bodo prikazane tukaj."
+
+msgid "IDS_MUSIC_BODY_SAMPLING_RATE"
+msgstr "Frekvenca vzorčenja"
+
+msgid "IDS_MUSIC_BODY_MARKED_AS_A_FAVOURITE"
+msgstr "Označeno kot priljubljeno."
+
+msgid "IDS_MUSIC_BODY_MUSIC"
+msgstr "Glasba"
+
+msgid "IDS_MUSIC_BODY_NOT_MARKED_AS_A_FAVOURITE"
+msgstr "Ni označeno kot priljubljeno."
+
+msgid "IDS_MUSIC_HEADER_SEARCH_MUSIC_ABB"
+msgstr "Iskanje glasbe"
+
+msgid "IDS_MUSIC_POP_AUTO_RECOMMENDATION_DOES_NOT_SUPPORT_THIS_AUDIO_FILE"
+msgstr "Samodejna priporočila ne podpirajo te zvočne datoteke."
+
+msgid "IDS_MUSIC_POP_SORRY_THE_PLAYER_DOES_NOT_SUPPORT_THIS_TYPE_OF_AUDIO_FILE"
+msgstr "Predvajalnik žal ne podpira te vrste zvočne datoteke."
+
+msgid "IDS_MUSIC_BODY_FAVOURITES"
+msgstr "Priljubljene"
+
+msgid "IDS_MUSIC_BODY_MOST_PLAYED"
+msgstr "Najpogosteje predvajano"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_ADDED"
+msgstr "Dodano pred kratkim"
+
+msgid "IDS_MUSIC_OPT_CREATE_PLAYLIST"
+msgstr "Ustvari seznam predvajanja"
+
+msgid "IDS_MUSIC_OPT_REMOVE"
+msgstr "Odstrani"
+
+msgid "IDS_MUSIC_OPT_SETAS_CALLER_RINGTONE"
+msgstr "Melodija kličočega"
+
+msgid "IDS_MUSIC_TAB4_ARTISTS"
+msgstr "Izvajalci"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD"
+msgstr "Ni mogoče dodati."
+
+msgid "IDS_MUSIC_POP_UNABLE_CREATE_PLAYLIST"
+msgstr "Seznama za predvajanje ni mogoče ustvariti."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_GET_TAG"
+msgstr "Ni mogoče pridobiti oznake."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_MORE_THAN_PD_MUSIC_FILE"
+msgstr "Ni mogoče dodati več kot %d glasbenih datotek."
+
+msgid "IDS_MUSIC_BODY_ALBUM"
+msgstr "Album"
+
+msgid "IDS_MUSIC_BODY_AUTHOR"
+msgstr "Avtor"
+
+msgid "IDS_MUSIC_BODY_COPYRIGHT"
+msgstr "Avtorske pravice"
+
+msgid "IDS_MUSIC_BODY_CREATE_PLAYLIST"
+msgstr "Ustvari seznam predvajanja"
+
+msgid "IDS_MUSIC_BODY_DESCRIPTION"
+msgstr "Opis"
+
+msgid "IDS_MUSIC_BODY_FORMAT"
+msgstr "Format"
+
+msgid "IDS_MUSIC_BODY_IMPOSSIBLE"
+msgstr "Nemogoče"
+
+msgid "IDS_MUSIC_BODY_NO_PLAYLISTS"
+msgstr "Ni seznama predvajanja"
+
+msgid "IDS_MUSIC_BODY_TRACK_NUMBER"
+msgstr "Številka skladbe"
+
+msgid "IDS_MUSIC_POP_DELETE_Q"
+msgstr "Izbrišem?"
+
+msgid "IDS_MUSIC_POP_REMOVE_Q"
+msgstr "Odstranim?"
+
+msgid "IDS_MUSIC_POP_UNABLE_RENAME_PLAYLIST"
+msgstr "Seznama za predvajanje ni mogoče preimenovati."
+
+msgid "IDS_MUSIC_TAB4_ALBUMS"
+msgstr "Albumi"
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Dodajam..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Želite izbrisati toliko albumov: %d?"
+
+msgid "IDS_MUSIC_TAB4_PLAYLISTS"
+msgstr "Sezn.predvajanja"
+
+msgid "IDS_MUSIC_OPT_ADD"
+msgstr "Dodaj"
+
+msgid "IDS_MUSIC_BODY_BIOGRAPHY"
+msgstr "Življenjepis"
+
+msgid "IDS_MUSIC_BODY_CREDITS"
+msgstr "Zasluge"
+
+msgid "IDS_MUSIC_BODY_DETAILS_MEADIA_INFO"
+msgstr "Informacije o mediju"
+
+msgid "IDS_MUSIC_BODY_DISCOGRAPHY"
+msgstr "Diskografija"
+
+msgid "IDS_MUSIC_BODY_LYRIC"
+msgstr "Besedilo"
+
+msgid "IDS_MUSIC_BODY_POSSIBLE"
+msgstr "Mogoče"
+
+msgid "IDS_MUSIC_BODY_REVIEW"
+msgstr "Pregled"
+
+msgid "IDS_MUSIC_HEADER_TRACK_LIST"
+msgstr "Seznam skladb"
+
+msgid "IDS_MUSIC_BODY_ADD_TO_PLAYLIST"
+msgstr "Dodaj na seznam predvajanja"
+
+msgid "IDS_MUSIC_BODY_ARTIST"
+msgstr "Izvajalec"
+
+msgid "IDS_MUSIC_BODY_FORWARDING"
+msgstr "Posredovanje"
+
+msgid "IDS_MUSIC_BODY_RECORDED_DATE"
+msgstr "Date of recording"
+
+msgid "IDS_MUSIC_BODY_PLAYLISTS"
+msgstr "Seznami predvajanja"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_PLAYED"
+msgstr "Nazadnje predvajano"
+
+msgid "IDS_MUSIC_BODY_TRACK_LENGTH"
+msgstr "Dolžina skladbe"
+
+msgid "IDS_MUSIC_HEADER_NO_SONGS"
+msgstr "Ni skladb"
+
+msgid "IDS_MUSIC_POP_THIS_TRACK_WILL_BE_DELETED"
+msgstr "Ta skladba bo izbrisana."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_TRACKS_WILL_BE_DELETED"
+msgstr "Izbrane skladbe bodo izbrisane."
+
+msgid "IDS_MUSIC_POP_THIS_ARTIST_WILL_BE_DELETED"
+msgstr "Ta izvajalec bo izbrisan."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ARTISTS_WILL_BE_DELETED"
+msgstr "Izbrani izvajalci bodo izbrisani."
+
+msgid "IDS_MUSIC_POP_ALL_ARTISTS_WILL_BE_DELETED"
+msgstr "Vsi izvajalci bodo izbrisani."
+
+msgid "IDS_MUSIC_POP_THIS_FOLDER_WILL_BE_DELETED"
+msgstr "Ta mapa bo izbrisana."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_FOLDERS_WILL_BE_DELETED"
+msgstr "Izbrane mape bodo izbrisane."
+
+msgid "IDS_MUSIC_POP_ALL_FOLDERS_WILL_BE_DELETED"
+msgstr "Vse mape bodo izbrisane."
+
+msgid "IDS_MUSIC_POP_THIS_ALBUM_WILL_BE_DELETED"
+msgstr "Ta album bo izbrisan."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ALBUMS_WILL_BE_DELETED"
+msgstr "Izbrani albumi bodo izbrisani."
+
+msgid "IDS_MUSIC_POP_ALL_ALBUMS_WILL_BE_DELETED"
+msgstr "Vsi albumi bodo izbrisani."
+
+msgid "IDS_MUSIC_POP_THIS_PLAYLIST_WILL_BE_DELETED"
+msgstr "Ta seznam predvajanja bo izbrisan."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Izbrani seznami predvajanja bodo izbrisani."
+
+msgid "IDS_MUSIC_POP_ALL_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Vsi seznami predvajanja bodo izbrisani."
+
+msgid "IDS_MUSIC_HEADER_SONGS"
+msgstr "Skladbe"
+
+msgid "IDS_MUSIC_OPT_REORDER"
+msgstr "Prerazporeditev"
+
+msgid "IDS_MUSIC_OPT_SAVE_AS_PLAYLIST"
+msgstr "Shrani kot seznam predvajanja"
+
+msgid "IDS_MUSIC_OPT_SETAS_ALARM_TONE"
+msgstr "Ton alarma"
+
+msgid "IDS_MUSIC_POP_NOTHING_SELECTED"
+msgstr "Nič ni izbrano."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Ni mogoče predvajati. Prišlo je do napake."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_UNSUPPORTED_FILETYPE"
+msgstr "Predvajanje ni mogoče. Nepodprta vrsta datoteke."
+
+msgid "IDS_MUSIC_SK_SHARE"
+msgstr "Souporab."
+
+msgid "IDS_MUSIC_TAB4_CONDUCTORS"
+msgstr "Dirigent"
+
+msgid "IDS_MUSIC_HEADER_SELECT_DEVICE"
+msgstr "Izberite napravo"
+
+msgid "IDS_MUSIC_SK_VIEW_AS"
+msgstr "Prik. kot"
+
+msgid "IDS_MUSIC_BODY_SOUNDEFFECTS_NORMAL"
+msgstr "Normalno"
+
+msgid "IDS_MUSIC_BODY_USER"
+msgstr "Uporabnik"
+
+msgid "IDS_MUSIC_BODY_VOCAL_M_SOUNDEFFECT"
+msgstr "Vokal"
+
+msgid "IDS_MUSIC_MBODY_BASS_BOOST"
+msgstr "Poudari base"
+
+msgid "IDS_MUSIC_MBODY_TREBLE_BOOST"
+msgstr "Poudari visoke tone"
+
+msgid "IDS_MUSIC_BODY_CAFE_M_SOUNDEFFECT"
+msgstr "Barska"
+
+msgid "IDS_MUSIC_OPT_VIRTUAL_71_CH"
+msgstr "Zvočna kartica Virtual 7.1 ch"
+
+msgid "IDS_MUSIC_OPT_AFTER_15_MIN_ABB"
+msgstr "Po 15 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_30_MIN"
+msgstr "Čez 30 minut"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HOUR"
+msgstr "Čez 1 uro"
+
+msgid "IDS_MUSIC_POP_AFTER_1_HOUR_30_MIN"
+msgstr "Po 1 h in 30 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_2_HOURS"
+msgstr "Čez 2 uri"
+
+msgid "IDS_MUSIC_BODY_MUSIC_AUTO_OFF"
+msgstr "Samodejna izklj. glasbe"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES_ONLY"
+msgstr "Ta zvočni učinek deluje samo v načinu slušalk in v načinu slušalk Bluetooth."
+
+msgid "IDS_MUSIC_TAB4_MUSIC_SQUARE"
+msgstr "Glasbeni kotiček"
+
+msgid "IDS_MUSIC_POP_NOT_ENOUGH_MUSIC_FILES_TO_PLAY_IN_MUSIC_SQUARE_AT_LEAST_PD_MUSIC_FILES_REQUIRED"
+msgstr "Ni dovolj glasbenih datotek za predvajanje v glasbenem kotičku. Zahtevanih je vsaj %d glasbenih datotek."
+
+msgid "IDS_MUSIC_BODY_PASSION_M_MOOD"
+msgstr "Strast"
+
+msgid "IDS_MUSIC_BODY_CALM_M_ADJECTIVE"
+msgstr "Umirjen"
+
+msgid "IDS_MUSIC_BODY_JOY_M_MOOD"
+msgstr "Veselje"
+
+msgid "IDS_MUSIC_BODY_LIBRARY_UPDATE"
+msgstr "Posodobitev knjižnice"
+
+msgid "IDS_MUSIC_POP_UPDATE_LIBRARY_Q"
+msgstr "Posodobim knjižnico?"
+
+msgid "IDS_MUSIC_BODY_CHANGE_AXIS"
+msgstr "Spremeni os"
+
+msgid "IDS_MUSIC_ITAB4_GENRES"
+msgstr "Zvrsti"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_1_TRACK"
+msgstr "1 album/1 skladba"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_PD_TRACKS"
+msgstr "1 album/%d skladb"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS_PD_TRACKS"
+msgstr "%d albumov/%d skladb"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_CONTROL_MUSIC_PLAYER_WITH_THE_VOICE_COMMANDS_P1SS_P2SS_P3SS_P4SS_P5SS_AND_P6SS"
+msgstr "Predvajalnik glasbe lahko upravljate z glasovnimi ukazi %1$s, %2$s, %3$s, %4$s, %5$s in %6$s."
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_PD_TRACKS"
+msgstr "Naključno izberi %d skladb"
+
+msgid "IDS_MUSIC_BODY_MORE_INFO"
+msgstr "Več informacij"
+
+msgid "IDS_MUSIC_HEADER_MY_MUSIC_M_APPLICATION_NAME"
+msgstr "Moja glasba"
+
+msgid "IDS_MUSIC_OPT_LIST_VIEW"
+msgstr "Pogled seznama"
+
+msgid "IDS_MUSIC_OPT_PLAY_VIA_GROUP_PLAY"
+msgstr "Predvajaj prek Skupinske igre"
+
+msgid "IDS_MUSIC_POP_TRACK_ADDED_TO_FAVOURITES"
+msgstr "Skladba dodana med priljubljene."
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_FAVOURITES"
+msgstr "Odstrani iz priljubljenih"
+
+msgid "IDS_MUSIC_BODY_NEW_M_LATEST"
+msgstr "Novo"
+
+msgid "IDS_MUSIC_OPT_TRACKS"
+msgstr "Posnetki"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL"
+msgstr "Sličica"
+
+msgid "IDS_MUSIC_SK_LIST"
+msgstr "Seznam"
+
+msgid "IDS_MUSIC_SK_OPEN_PLAYLIST"
+msgstr "Odpri seznam predvajanja"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALL"
+msgstr "Predvajaj vse"
+
+msgid "IDS_MUSIC_POP_SELECTED_LIST_EMPTY"
+msgstr "Izbrani seznam je prazen."
+
+msgid "IDS_MUSIC_BODY_MOODS"
+msgstr "Razpoloženja"
+
+msgid "IDS_MUSIC_BUTTON_YEARS"
+msgstr "Leta"
+
+msgid "IDS_MUSIC_BODY_OLD"
+msgstr "Staro"
+
+msgid "IDS_MUSIC_BODY_MUSIC_SQUARE_ANALYSES_THE_CHARACTERISTICS_OF_MUSIC_FILES_STORED_ON_YOUR_DEVICE_AND_AUTOMATICALLY_CREATES_PLAYLISTS_MSG"
+msgstr "Glasbeni kotiček analizira značilnosti glasbenih datotek v napravi in samodejno ustvari sezname predvajanj."
+
+msgid "IDS_MUSIC_BODY_PLAY_TRACKS_WITH_SIMILAR_CHARACTERISTICS_BY_SELECTING_A_SQUARE_ON_THE_SCREEN"
+msgstr "Predvajajte seznam predvajanja glasbe s podobnimi značilnostmi tako, da izberete kvadrat na zaslonu."
+
+msgid "IDS_MUSIC_BODY_VIEW_PLAYLIST_DETAILS_BY_TAPPING_AND_HOLDING_THE_SQUARE_CURRENTLY_BEING_PLAYED"
+msgstr "Oglejte si podrobnosti seznama predvajanja tako, da pritisnete in držite kvadrat, ki se trenutno predvaja."
+
+msgid "IDS_MUSIC_BODY_NEARBY_DEVICES"
+msgstr "Naprave v bližini"
+
+msgid "IDS_MUSIC_POP_YOU_WILL_NEED_TO_UPDATE_THE_LIBRARY_IF_NEW_SONGS_HAVE_BEEN_ADDED"
+msgstr "Če ste dodali nove skladbe, boste morali posodobiti knjižnico."
+
+msgid "IDS_MUSIC_BODY_NO_ALBUMS"
+msgstr "Ni albumov"
+
+msgid "IDS_MUSIC_BODY_NO_ARTISTS"
+msgstr "Ni izvajalcev"
+
+msgid "IDS_MUSIC_OPT_PLAY_SPEED_ABB"
+msgstr "Hitrost predvajanja"
+
+msgid "IDS_MUSIC_BODY_CONCERT_HALL_M_SOUNDEFFECT"
+msgstr "Koncertna dvorana"
+
+msgid "IDS_MUSIC_OPT_ADD_TO"
+msgstr "Dodaj v"
+
+msgid "IDS_MUSIC_SK_VIEW"
+msgstr "Prikaži"
+
+msgid "IDS_MUSIC_OPT_LISTBY_RECENTLY_ADDED"
+msgstr "Dodano pred kratkim"
+
+msgid "IDS_MUSIC_BODY_NOT_USED"
+msgstr "Ni v uporabi"
+
+msgid "IDS_MUSIC_BODY_MAKE_AVAILABLE_OFFLINE"
+msgstr "Naj bo na voljo brez povezave"
+
+msgid "IDS_MUSIC_OPT_AFTER_P1SD_HRS_P2SD_MINS"
+msgstr "Čez %1$d h %2$d min"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS"
+msgstr "Čez %d h"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_MINS"
+msgstr "Čez %d min"
+
+msgid "IDS_MUSIC_BODY_NO_FOLDERS"
+msgstr "Ni map"
+
+msgid "IDS_MUSIC_BODY_NO_TRACKS"
+msgstr "Ni skladb"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS"
+msgstr "%d albumov"
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS"
+msgstr "%d izvajalcev"
+
+msgid "IDS_MUSIC_BODY_PD_GENRES"
+msgstr "%d zvrsti"
+
+msgid "IDS_MUSIC_BODY_PD_PLAYLISTS"
+msgstr "%d seznamov predvajanja"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_ABB"
+msgstr "%d skladb"
+
+msgid "IDS_MUSIC_BODY_PLAYLIST"
+msgstr "Seznam predvajanja"
+
+msgid "IDS_MUSIC_HEADER_SIMILAR_ALBUMS"
+msgstr "Podobni albumi"
+
+msgid "IDS_MUSIC_HEADER_TRACK"
+msgstr "Skladba"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL_VIEW"
+msgstr "Prikaz sličice"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "Ta zvočni učinek deluje samo v načinu slušalk."
+
+msgid "IDS_MUSIC_OPT_ALL_CONTENT_ABB2"
+msgstr "Vsa vsebina"
+
+msgid "IDS_MUSIC_BODY_A_NETWORK_CONNECTION_IS_REQUIRED_TO_PLAY_THIS_FILE_CHECK_YOUR_NETWORK_CONNECTION_AND_TRY_AGAIN"
+msgstr "Za predvajanje te datoteke potrebujete omrežno povezavo. Preverite omrežno povezavo in poskusite znova."
+
+msgid "IDS_MUSIC_POP_FILE_TYPE_NOT_SUPPORTED"
+msgstr "Vrsta datoteke ni podprta."
+
+msgid "IDS_MUSIC_POP_UPDATING_ING"
+msgstr "Posodabljam..."
+
+msgid "IDS_MUSIC_OPT_SEARCH_ABB"
+msgstr "Iskanje"
+
+msgid "IDS_MUSIC_OPT_SEARCH_BY"
+msgstr "Išči po"
+
+msgid "IDS_MUSIC_BODY_RELATED_VIDEOS"
+msgstr "Sorodni videoposnetki"
+
+msgid "IDS_MUSIC_BODY_SMART_VOLUME_ABB"
+msgstr "Pametna glasnost"
+
+msgid "IDS_MUSIC_BODY_THE_VOLUME_OF_ALL_TRACKS_WILL_BE_ADJUSTED_TO_LEVEL_PD"
+msgstr "Glasnost vseh skladb bo prilagojena na raven %d."
+
+msgid "IDS_MUSIC_HEADER_SMART_VOLUME_IS_ENABLED"
+msgstr "Pametna glasnost je omogočena"
+
+msgid "IDS_MUSIC_OPT_CONNECTION_INFO_ABB"
+msgstr "Podatki o povezavi"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_PD_MINS"
+msgstr "Čez 1 h %d min"
+
+msgid "IDS_MUSIC_BODY_ADAPT_SOUND_ABB"
+msgstr "Adapt Sound"
+
+msgid "IDS_MUSIC_BODY_MY_DEVICE"
+msgstr "Moja naprava"
+
+msgid "IDS_MUSIC_POP_LISTENING_AT_A_HIGH_VOLUME_FOR_A_LONG_TIME_MAY_DAMAGE_YOUR_HEARING_RAISE_THE_VOLUME_ABOVE_SAFE_LEVELS_Q"
+msgstr "Dolgotrajno poslušanje pri povečani glasnosti lahko povzroči okvaro sluha. Želite glasnost povečati nad varno raven?"
+
+msgid "IDS_MUSIC_POP_ALREADY_EXISTS"
+msgstr "Že obstaja."
+
+msgid "IDS_MUSIC_OPT_SCAN_FOR_NEARBY_DEVICES"
+msgstr "Iskanje naprav v bližini"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR"
+msgstr "Čez 1 h"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_1_MIN"
+msgstr "Čez 1 h in 1 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS_1_MIN"
+msgstr "Čez %d h 1 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_MIN"
+msgstr "Čez 1 min"
+
+msgid "IDS_MUSIC_OPT_GO_TO_STORE"
+msgstr "Pojdi v trgovino"
+
+msgid "IDS_MUSIC_SK3_ADD_TRACKS"
+msgstr "Dodaj\nskladbe"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FROM_MUSIC_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Ko boste iz Glasbe prenesli skladbe, bodo prikazane tukaj."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_YOUR_FAVOURITES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Ko skladbe dodate med priljubljene, bodo prikazane tukaj."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_PLAY_TRACKS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Ko boste predvajali skladbe, bodo prikazane tukaj."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_PS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Ko skladbe dodate na seznam %s, bodo prikazane tukaj."
+
+msgid "IDS_MUSIC_BODY_NO_PURCHASED_CONTENT"
+msgstr "Ni kupljene vsebine"
+
+msgid "IDS_MUSIC_SK_SAVE_AS"
+msgstr "Shrani kot"
+
+msgid "IDS_MUSIC_POP_MUSICPLAYER_UPDATING_FAILED"
+msgstr "Posodabljanje ni uspelo."
+
+msgid "IDS_MUSIC_BODY_EXCITING_M_ADJECTIVE"
+msgstr "Vznemirljiva"
+
+msgid "IDS_MUSIC_BODY_SEARCH_MY_MUSIC"
+msgstr "Iskanje moje glasbe"
+
+msgid "IDS_MUSIC_HEADER_CONNECTED_DEVICES"
+msgstr "Povezane naprave"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST_PS"
+msgstr "Moj seznam predvajanja %s"
+
+msgid "IDS_MUSIC_BODY_NO_DEVICES"
+msgstr "Ni naprav"
+
+msgid "IDS_MUSIC_HEADER_AVAILABLE_DEVICES_ABB"
+msgstr "Razpoložlj. naprave"
+
+msgid "IDS_MUSIC_POP_SET"
+msgstr "Nastavi"
+
+msgid "IDS_MUSIC_POP_REMOVE_FAILED"
+msgstr "Odstranjevanje ni uspelo."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_USE_FAST_FORWARD_AND_REWIND_WHEN_NEARBY_DEVICES_ARE_ENABLED"
+msgstr "Funkcij za hitro previjanje naprej in nazaj ni mogoče uporabljati, ko so omogočene naprave v bližini."
+
+msgid "IDS_MUSIC_OPT_SET_AS"
+msgstr "Nastavi kot"
+
+msgid "IDS_MUSIC_OPT_HEADPHONES_ABB"
+msgstr "Slušalke"
+
+msgid "IDS_MUSIC_OPT_SPEAKER"
+msgstr "Zvočnik"
+
+msgid "IDS_MUSIC_BODY_1_SONG"
+msgstr "1 skladba"
+
+msgid "IDS_MUSIC_BODY_PD_SONGS"
+msgstr "%d skladb"
+
+msgid "IDS_MUSIC_BODY_1_TRACK"
+msgstr "1 skladba"
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_1_TRACK"
+msgstr "Naključno predvajanje 1 skladbe"
+
+msgid "IDS_MUSIC_POP_NO_MUSIC_FOUND_FOR_SELECTED_CELL"
+msgstr "Za izbrano celico ni bilo mogoče najti glasbe"
+
+msgid "IDS_MUSIC_BODY_DO_NOT_SHOW_AGAIN"
+msgstr "Ne kaži več"
+
+msgid "IDS_MUSIC_BODY_VARIOUS_ARTISTS"
+msgstr "Različni izvajalci"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_HOME_SCREEN_ABB"
+msgstr "Dodajte na domači zaslon"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_FAVOURITES"
+msgstr "Dodaj med priljubljene"
+
+msgid "IDS_MUSIC_OPT_EDIT_TITLE"
+msgstr "Uredi naslov"
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_PERSONAL_STORAGE"
+msgstr "Odstranitev iz osebne shrambe"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FOLDERS_WILL_BE_SHOWN"
+msgstr "Ko boste prenesli skladbe, bodo prikazane mape"
+
+msgid "IDS_MUSIC_BODY_SETTINGS_VOLUME"
+msgstr "Glasnost"
+
+msgid "IDS_MUSIC_BODY_REPEAT_OFF"
+msgstr "Ponavljanje je izključeno"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_REPEAT_ALL"
+msgstr "Ponovi vse"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_OFF"
+msgstr "Mešanje je izključeno"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_ON"
+msgstr "Mešanje je vključeno"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST"
+msgstr "Moj seznam predvajanja"
+
+msgid "IDS_MUSIC_MBODY_DEFAULT_PLAYLISTS"
+msgstr "Privzeti sez. predvajanja"
+
+msgid "IDS_MUSIC_BODY_DETAILS_RECORDING_DATE"
+msgstr "Datum snemanja"
+
+msgid "IDS_MUSIC_OPT_ALBUM_ART_ABB"
+msgstr "Sl. albuma"
+
+msgid "IDS_MUSIC_BODY_1_GENRE"
+msgstr "1 zvrst"
+
+msgid "IDS_MUSIC_BODY_PD_FOLDERS"
+msgstr "%d map"
+
+msgid "IDS_MUSIC_BODY_1_FOLDER"
+msgstr "1 mapa"
+
+msgid "IDS_MUSIC_BODY_1_ARTIST"
+msgstr "1 izvajalec"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_M_MUSIC"
+msgstr "1 album"
+
+msgid "IDS_MUSIC_BODY_1_PLAYLIST"
+msgstr "1 seznam predvajanja"
+
+msgid "IDS_MUSIC_BODY_MUSIC_PLAYER"
+msgstr "Predvajalnik glasbe"
+
+msgid "IDS_MUSIC_BUTTON_MOVE"
+msgstr "Premakni"
+
+msgid "IDS_MUSIC_BUTTON_AUTO_RECOMMENDATIONS"
+msgstr "Samodejna priporočila"
+
+msgid "IDS_MUSIC_BUTTON_FROM_THE_BEGINNING"
+msgstr "Od začetka"
+
+msgid "IDS_MUSIC_HEADER_SUGGESTIONS_FOR_YOU"
+msgstr "Predlogi za vas"
+
+msgid "IDS_MUSIC_OPT_SAVE"
+msgstr "Shrani"
+
+msgid "IDS_MUSIC_TAB4_BASIC_M_EQUALIZING"
+msgstr "Osnovne"
+
+msgid "IDS_MUSIC_BODY_INSTRUMENT"
+msgstr "Instrumentalna"
+
+msgid "IDS_MUSIC_BODY_TREBLE_M_EQUALISER"
+msgstr "Visoki toni"
+
+msgid "IDS_MUSIC_BODY_BASS_M_EQUALISER"
+msgstr "Nizki toni"
+
+msgid "IDS_MUSIC_BODY_NO_EFFECTS_ARE_APPLIED_IN_THIS_MODE_ABB"
+msgstr "V tem načinu ni uporabljen noben učinek."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_TIMBRE_OF_A_TUBE_AMP_ABB"
+msgstr "Simulira barvo tona cevastega ojačevalnika."
+
+msgid "IDS_MUSIC_OPT_TUBE_AMP_EFFECT"
+msgstr "Učinek cevastega ojačevalnika"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_EFFECT_OF_VIRTUAL_71_CHANNEL_SURROUND_SOUND_ABB"
+msgstr "Simulira učinek navideznega 7.1-kanalnega prostorskega zvoka."
+
+msgid "IDS_MUSIC_HEADER_SMALL_ROOM_M_REVERB_ABB"
+msgstr "Majhna soba"
+
+msgid "IDS_MUSIC_HEADER_LARGE_ROOM_M_REVERB_ABB"
+msgstr "Velik prostor"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_LARGE_ROOM_EG_A_THEATRE_ABB"
+msgstr "Simulira odmev v velikem prostoru, npr. v gledališču."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_CONCERT_HALL_ABB"
+msgstr "Simulira odmev v koncertni dvorani."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_SMALL_SPACE_EG_A_STUDIO_ABB"
+msgstr "Simulira odmev v malem prostoru, npr. v snemalnem studiu."
+
+msgid "IDS_MUSIC_BUTTON_3D_CHN"
+msgstr "3D"
+
+msgid "IDS_MUSIC_BODY_CLARITY_M_SOUNDEFFECT"
+msgstr "Jasnost"
+
+msgid "IDS_MUSIC_BUTTON_RESET"
+msgstr "Ponastavi"
+
+msgid "IDS_MUSIC_TAB_YEARS"
+msgstr "Leta"
+
+msgid "IDS_MUSIC_TAB_GENRES"
+msgstr "Zvrsti"
+
+msgid "IDS_MUSIC_TAB_COMPOSERS"
+msgstr "Skladat."
+
+msgid "IDS_MUSIC_TAB_ALL_TRACKS"
+msgstr "Vse skladbe"
+
+msgid "IDS_MUSIC_SK3_GO_TO_QUICK_LIST"
+msgstr "Poj.na hitr.sez."
+
+msgid "IDS_MUSIC_SK3_FIND"
+msgstr "Najdi"
+
+msgid "IDS_MUSIC_SK3_ADD_TO_QUICK_LIST"
+msgstr "Dod.na hitr.sez."
+
+msgid "IDS_MUSIC_POP_UNAUTHORISED_VIDEO_FILE_FOR_TV_OUT"
+msgstr "Nepooblaščena video datoteka za TV-izhod."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_CREATE_MAXIMUM_NUMBER_OF_PLAYLISTS_REACHED"
+msgstr "Ni mogoče ustvariti. Doseženo je največje dovoljeno število seznamov predvajanja."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTING_BLUETOOTH_HEADSET"
+msgstr "Ni mogoče nastavljati glasnosti, ko povezujete slušalke Bluetooth."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTED_TO_BLUETOOTH_HEADSET"
+msgstr "Ni mogoče nastavljati glasnosti, ko so priključene slušalke Bluetooth."
+
+msgid "IDS_MUSIC_POP_STOP_MUSIC_PLAYER_Q"
+msgstr "Ustavim Predvajalnik glasbe?"
+
+msgid "IDS_MUSIC_POP_PLEASE_EXIT_SILENT_MODE"
+msgstr "Končajte tihi način."
+
+msgid "IDS_MUSIC_POP_NETWORK_FAILURE"
+msgstr "Napaka omrežja."
+
+msgid "IDS_MUSIC_POP_MEMORY_CARD_LOADED"
+msgstr "Pomnilniška kartica je naložena."
+
+msgid "IDS_MUSIC_POP_DEVICE_SETTINGS_ERROR"
+msgstr "Napaka pri nastavitvah naprave."
+
+msgid "IDS_MUSIC_POP_COULD_NOT_FIND_A_MATCH_FOR_THE_SONG"
+msgstr "Ne najdem zadetka za skladbo."
+
+msgid "IDS_MUSIC_POP_BUFFERING_MSTATUS"
+msgstr "Medpomnilnik"
+
+msgid "IDS_MUSIC_POP_BT_HEADSET_ONLY_SUPPORTS_NORMAL_EFFECTS_SETTING"
+msgstr "Slušalke Bluetooth podpirajo samo običajne nastavitve učinkov."
+
+msgid "IDS_MUSIC_POP_APPLICATION_WILL_BE_CLOSED"
+msgstr "Program se bo zaprl."
+
+msgid "IDS_MUSIC_POP_ADDED_GO_TO_WISH_LIST_Q"
+msgstr "Dodano. Grem na seznam želja?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_THE_SERVICE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "Dostop do storitve lahko povzroči dodatne stroške. Nadaljujem?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_STORE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "Dostop do trgovine lahko povzroči dodatne stroške. Nadaljujem?"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_ONLY_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES"
+msgstr "Zvočni učinek postaje 5.1 deluje samo v načinu slušalk in v načinu slušalk Bluetooth."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "5.1-kanalni zvočni učinek deluje samo v načinu slušalk."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECTS_NOT_SUPPORTED_BY_SPEAKER"
+msgstr "Zvočnik ne podpira zvočnih učinkov postaje 5.1."
+
+msgid "IDS_MUSIC_OPT_VIEW_BY_COVER_ART"
+msgstr "Prikaži po slikah albumov"
+
+msgid "IDS_MUSIC_OPT_SEND_TRACK"
+msgstr "Pošlji skladbo"
+
+msgid "IDS_MUSIC_OPT_RATE_TRACK"
+msgstr "Oceni skladbo"
+
+msgid "IDS_MUSIC_OPT_PLAYLIST_MOVE_TRACK_IN_PLAYLIST"
+msgstr "Premakni skladbo po seznamu predvajanja"
+
+msgid "IDS_MUSIC_OPT_OPENPLAYLIST_CURRENT"
+msgstr "Trenutno"
+
+msgid "IDS_MUSIC_OPT_DELETE_PLAYLIST"
+msgstr "Zbriši seznam predvajanja"
+
+msgid "IDS_MUSIC_OPT_BACKGROUND_PLAYING"
+msgstr "Predvajanje v ozadju"
+
+msgid "IDS_MUSIC_HEADER_EFFECTS"
+msgstr "Učinki"
+
+msgid "IDS_MUSIC_BUTTON_BUY_NOW"
+msgstr "Kupi zdaj"
+
+msgid "IDS_MUSIC_BODY_WOW_HD"
+msgstr "Wow HD"
+
+msgid "IDS_MUSIC_BODY_WISHLIST"
+msgstr "Seznam želja"
+
+msgid "IDS_MUSIC_BODY_WIDE"
+msgstr "Široko"
+
+msgid "IDS_MUSIC_BODY_WHA_WHA"
+msgstr "Va-va"
+
+msgid "IDS_MUSIC_BODY_VIBE_WOOFER"
+msgstr "Globokotonec"
+
+msgid "IDS_MUSIC_BODY_TREMOLO"
+msgstr "Tremolo"
+
+msgid "IDS_MUSIC_BODY_TAP_TWICE_TO_PLAY_PAUSE_MUSIC"
+msgstr "Dvakrat pritisnite za predvajanje/prekinitev glasbe."
+
+msgid "IDS_MUSIC_BODY_SHARE_TRACK_VIA_BLUETOOTH"
+msgstr "Pošlji skladbo preko Bluetooth"
+
+msgid "IDS_MUSIC_BODY_SETUPWIZARD_WELCOME_TO_THE_MUSIC_SETUP_WIZARD_CONTINUE_Q"
+msgstr "Dobrodošli v čarovniku za nastavitve glasbe.\nNa naslednjih zaslonih vam bo pomagal nastaviti vaš telefon. Nadaljujem?"
+
+msgid "IDS_MUSIC_BODY_QUICK_LIST"
+msgstr "Hitri seznam"
+
+msgid "IDS_MUSIC_BODY_PLAYINGSETTINGS_SOUND_EFFECTS"
+msgstr "Zvočni učinki"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_ALL"
+msgstr "Vse"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_1"
+msgstr "1"
+
+msgid "IDS_MUSIC_BODY_PLAYERSETTINGS_VOLUME"
+msgstr "Glasnost"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_SELECTED"
+msgstr "%d izbranih skladb."
+
+msgid "IDS_MUSIC_BODY_NO_PODCASTS"
+msgstr "Ni spletnih oddaj"
+
+msgid "IDS_MUSIC_BODY_FIND_SIMILAR"
+msgstr "Poišči podobno"
+
+msgid "IDS_MUSIC_BODY_BACKGROUND_PLAY"
+msgstr "Predvajanje v ozadju"
+
+msgid "IDS_MUSIC_BODY_51_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "Postajo 5.1 lahko vklopite samo, če so zvočni učinki izklopljeni."
+
+msgid "IDS_MUSIC_TAB4_PODCASTS"
+msgstr "Spletne oddaje"
+
+msgid "IDS_MUSIC_SK2_EDIT_IMAGE"
+msgstr "Urejanje slike"
+
+msgid "IDS_MUSIC_POP_PLAYING_ANY_SOUNDS_WILL_STOP_AND_SAVE_YOUR_VOICE_RECORDING_PLAY_Q"
+msgstr "Če boste predvajali kateri koli zvok, se bo snemanje zvoka ustavilo in shranilo. Želite predvajati?"
+
+msgid "IDS_MUSIC_POP_MAXIMUM_NUMBER_OF_ITEMS_HPD_SELECTED"
+msgstr "Izbrano je največje število elementov (%d)."
+
+msgid "IDS_MUSIC_POP_BLUETOOTH_DISCONNECTED"
+msgstr "Povezava Bluetooth je prekinjena."
+
+msgid "IDS_MUSIC_POP_5_1_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "Postajo 5.1 lahko vklopite samo, če so zvočni učinki izklopljeni."
+
+msgid "IDS_MUSIC_OPT_TAKE_PICTURE"
+msgstr "Posnemi sliko"
+
+msgid "IDS_MUSIC_OPT_SHOW_MUSIC_VIEW_ABB"
+msgstr "Pokaži prikaz glasbe"
+
+msgid "IDS_MUSIC_OPT_PAUSE"
+msgstr "Premor"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALBUM"
+msgstr "Predvajaj album"
+
+msgid "IDS_MUSIC_OPT_LIST_BY"
+msgstr "Razvrsti po"
+
+msgid "IDS_MUSIC_OPT_HISTORY"
+msgstr "Zgodovina"
+
+msgid "IDS_MUSIC_OPT_HIDE_MUSIC_VIEW_ABB"
+msgstr "Skrij prikaz glasbe"
+
+msgid "IDS_MUSIC_OPT_FIND_TAG"
+msgstr "Poišči oznako"
+
+msgid "IDS_MUSIC_OPT_DROPBOX_CONTENT_ABB"
+msgstr "Vsebina Dropbox"
+
+msgid "IDS_MUSIC_OPT_CONTENT_ON_PHONE_ABB"
+msgstr "Vseb. iz telefona"
+
+msgid "IDS_MUSIC_OPT_CHANGE_IMAGE"
+msgstr "Spremeni sliko"
+
+msgid "IDS_MUSIC_HEADER_DELETE_DROPBOX_DATA_ABB"
+msgstr "Bris. podatkov Dropbox"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_STREAM_YOUR_MUSIC_TO_DEVICES_USING_ALLSHARE"
+msgstr "S programom AllShare lahko svojo glasbo pretočno predvajate v napravah."
+
+msgid "IDS_MUSIC_BODY_VALIDITY"
+msgstr "Veljavnost"
+
+msgid "IDS_MUSIC_BODY_TYPE_CNOUN"
+msgstr "Vrsta"
+
+msgid "IDS_MUSIC_BODY_THIS_WILL_DELETE_THE_FILE_FROM_THE_SERVER_AND_ANY_CONNECTED_DEVICES_AS_WELL"
+msgstr "Tako boste izbrisali datoteko iz strežnika in tudi iz vseh povezanih naprav."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_ARTISTS"
+msgstr "Izvajalci"
+
+msgid "IDS_MUSIC_BODY_PLAYINGDETAILS_ALBUM_ART"
+msgstr "Slika albuma"
+
+msgid "IDS_MUSIC_BODY_OTHER_CONTENTS"
+msgstr "Druge vsebine"
+
+msgid "IDS_MUSIC_BODY_NAME_TOO_LONG"
+msgstr "Ime je predolgo."
+
+msgid "IDS_MUSIC_BODY_MUSIC_CLARITY"
+msgstr "Jasnost glasbe"
+
+msgid "IDS_MUSIC_BODY_HIGH_VOLUMES_MAY_HARM_YOUR_HEARING_IF_YOU_LISTEN_FOR_A_LONG_TIME"
+msgstr "Če glasno glasbo poslušate daljši čas, lahko to škoduje vašem sluhu."
+
+msgid "IDS_MUSIC_BODY_AVAILABLE_USES"
+msgstr "Število uporab"
+
+msgid "IDS_MUSIC_TPOP_SOUND_EFFECTS_ONLY_AVAILABLE_WHILE_HEADPHONES_CONNECTED"
+msgstr "Zvočni učinki so na voljo samo, ko so priključene slušalke."
+
+msgid "IDS_ST_OPT_ADD_TO_YOUR_PERSONAL_STORAGE"
+msgstr "Dodaj v osebno shrambo"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_YOUR_PERSONAL_STORAGE"
+msgstr "Odstrani iz osebne shrambe"
+
+msgid "IDS_ST_BODY_CONTEXTUAL_POP_UP_T_TALKBACK"
+msgstr "Priročno pojavno okno"
+
+msgid "IDS_ST_BODY_A_CONTEXTUAL_POP_UP_IS_OPEN_DOUBLE_TAP_TO_CLOSE_IT_T_TALKBACK"
+msgstr "Priročno pojavno okno je odprto. Dvakrat pritisnite, da ga zaprete."
+
+msgid "IDS_ST_BODY_REPEAT_ONE"
+msgstr "Ponovi enega."
+
+msgid "IDS_ST_BUTTON_MOVING_ING"
+msgstr "Premikanje ..."
+
+msgid "IDS_HS_BODY_SELECT_UP_TO_PD_ITEMS"
+msgstr "Izberite največ toliko elementov: %d"
+
+msgid "IDS_CAM_BODY_TAB_T_TTS"
+msgstr "Zavihek"
+
+msgid "IDS_DLNA_OPT2_CHANGE_PLAYER"
+msgstr "Spremeni predvajalnik"
+
+msgid "IDS_BR_SK_TABS"
+msgstr "Zavihki"
+
+msgid "IDS_MF_BODY_DROPBOX_ABB"
+msgstr "Dropbox"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Samodejna priporočila lahko napravijo povzetek iz zvočnih datotek."
+
+msgid "IDS_MF_BODY_PARENT_RATING"
+msgstr "Starševska ocena"
+
+msgid "IDS_VR_POP_FILE_NOT_FOUND"
+msgstr "Datoteka ne obstaja."
+
+msgid "IDS_PB_POP_CALLER_RINGTONE_SAVED"
+msgstr "Melodija zvonjenja kličočega je shranjena."
+
+msgid "IDS_MUSIC_BODY_BIT_DEPTH"
+msgstr "Bitna globina"
+
+msgid "IDS_MUSIC_BODY_SIZE"
+msgstr "Velikost"
+
+msgid "IDS_MF_HEADER_PD_SELECTED"
+msgstr "%d izbranih"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_THIS_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Ko skladbe dodate v to napravo, bodo prikazane tukaj."
+
+msgid "IDS_MUSIC_TMBODY_LENGTH"
+msgstr "Dolžina"
+
+msgid "IDS_MUSIC_POP_1_FOLDER_WILL_BE_DELETED"
+msgstr "Izbrisana bo 1 mapa."
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Ni vsebine"
+
+msgid "IDS_MUSIC_ITAB4_FOLDERS"
+msgstr "Mape"
+
+msgid "IDS_MUSIC_HEADER_MY_PLAYLISTS_ABB"
+msgstr "Moji sezn. predvajanja"
+
+msgid "IDS_MP_BODY_SOUND_PLAYER"
+msgstr "Predvajalnik zvoka"
+
+msgid "IDS_MUSIC_OPT_SETTINGS"
+msgstr "Nastavitve"
+
+msgid "IDS_MUSIC_POP_DELETING"
+msgstr "Brišem"
+
+msgid "IDS_MUSIC_POP_1_TRACK_WILL_BE_DELETED"
+msgstr "1 skladba bo izbrisana."
+
+msgid "IDS_MUSIC_POP_ALL_TRACKS_WILL_BE_DELETED"
+msgstr "Vse skladbe bodo izbrisane"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_WILL_BE_DELETED"
+msgstr "Izbrisanih bo toliko skladb: %d."
+
+msgid "IDS_MUSIC_POP_1_PLAYLIST_WILL_BE_DELETED"
+msgstr "1 seznam predvajanja bo izbrisan."
+
+msgid "IDS_MUSIC_POP_PD_PLAYLISTS_WILL_BE_DELETED"
+msgstr "%d seznamov predvajanja bo izbrisanih."
+
+msgid "IDS_MUSIC_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "%d albumov bo izbrisanih."
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS_WILL_BE_DELETED"
+msgstr "%d izvajalcev bo izbrisanih."
+
+msgid "IDS_MUSIC_POP_PD_FOLDERS_WILL_BE_DELETED"
+msgstr "%d map bo izbrisanih."
+
+msgid "IDS_ST_POP_CONNECTION_FAILED"
+msgstr "Povezava ni uspela."
+
+msgid "IDS_MUSIC_BODY_CLASSIC"
+msgstr "Klasično"
+
+msgid "IDS_MUSIC_BODY_ROCK"
+msgstr "Rock"
+
+msgid "IDS_MUSIC_BODY_JAZZ"
+msgstr "Jazz"
+
+msgid "IDS_MUSIC_BODY_POP"
+msgstr "Pop"
+
+msgid "IDS_MUSIC_BODY_AUTO"
+msgstr "Samodejno"
+
+msgid "IDS_MUSIC_POP_CURRENT_SOUND_EFFECT_NOT_SUPPORTED_BY_HDMI"
+msgstr "HDMI ne podpira trenutnega zvočnega učinka."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_BLUETOOTH"
+msgstr "Bluetooth ne podpira zvočnih učinkov."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_LINE_OUT"
+msgstr "Izhodna linija ne podpira zvočnih učinkov."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_HDMI"
+msgstr "HDMI ne podpira zvočnih učinkov."
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EFFECT"
+msgstr "Cevasti ojačevalnik"
+
+msgid "IDS_MUSIC_BODY_CUSTOM"
+msgstr "Po meri"
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EQUALISER_ABB"
+msgstr "Cev. ojačevalnik"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d skladb dodanih na seznam predvajanja."
+
+msgid "IDS_MUSIC_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 skladba dodana na seznam predvajanja."
+
+msgid "IDS_MUSIC_HEADER_ADD_TRACKS_TO_PLAYLIST_ABB"
+msgstr "Dod. skladbe na seznam predv."
+
+msgid "IDS_MUSIC_POP_PS_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "%s se že uporablja. Vnesite drugo ime."
+
+msgid "IDS_MUSIC_TMBODY_DATE_OF_RECORDING"
+msgstr "Datum snemanja"
+
+msgid "IDS_MBP_TPOP_TRACK_SET_AS_ALARM_TONE"
+msgstr "Skladba je nastavljena kot ton alarma."
+
+msgid "IDS_MUSIC_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Ni najdenih rezultatov"
+
+msgid "IDS_MUSIC_OPT_DEFAULT_RINGTONE_ABB"
+msgstr "Privzeto zvonjenje"
+
+msgid "IDS_MUSIC_TPOP_TRACK_SET_AS_CALLER_RINGTONE"
+msgstr "Skladba je nastavljena kot zvonjenje klicatelja."
+
+msgid "IDS_MP_TPOP_TRACK_SET_AS_RINGTONE"
+msgstr "Skladba je nastavljena kot zvonjenje."
+
+msgid "IDS_DLNA_BODY_ADD_TO_NOW_PLAYING_LIST"
+msgstr "Dodam seznamu predvajanja"
+
+msgid "IDS_MUSIC_TPOP_EQUALISER_SETTINGS_WILL_BE_APPLIED_WHILE_PLAYING_MUSIC"
+msgstr "Nastavite izenačevalnika bodo uporabljene med predvajanjem glasbe."
+
+msgid "IDS_ST_BODY_ALERT"
+msgstr "Opozorilo"
+
+msgid "IDS_IV_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 album bo izbrisan."
+
+msgid "IDS_MUSIC_OPT_SD_CARD"
+msgstr "Kartica SD"
+
+msgid "IDS_MUSIC_SBODY_DEVICE_STORAGE"
+msgstr "Shramba naprave"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE"
+msgstr "Ime seznama predvajanja je že v uporabi."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_PD"
+msgstr "Seznam predvajanja %d"
+
+msgid "IDS_MUSIC_HEADER_CREATE"
+msgstr "Ustvarite"
+
+msgid "IDS_MUSIC_HEADER_EQUALISER_PRESET_ABB"
+msgstr "Izenačevalnik je prednastavljen"
+
+msgid "IDS_MUSIC_OPT_AUTOMATIC_M_EQUALIZER_EFFECT"
+msgstr "Samodejno"
+
+msgid "IDS_MUSIC_OPT_CLASSICAL_M_EQUALIZER_EFFECT"
+msgstr "Klasična"
+
+msgid "IDS_MUSIC_HEADER_ENVIRONMENT_EFFECT_ABB"
+msgstr "Okoljski učinek"
+
+msgid "IDS_VIDEO_POP_THE_FILE_TYPE_IS_NOT_SUPPORTED"
+msgstr "Vrsta datoteke ni podprta."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_CREATE_PLAYLISTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Ko ustvarite sezname predvajanja, bodo prikazani tukaj."
+
+msgid "IDS_ST_HEADER_SELECT_AUDIO_DEVICE_ABB"
+msgstr "Izberite zvočno napravo"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "Ime seznama predvajanja se že uporablja. Vnesite drugo ime."
+
+msgid "IDS_MUSIC_HEADER_SOUNDALIVE_ABB3"
+msgstr "SoundAlive"
+
+msgid "IDS_MUSIC_OPT_NOW_PLAYING_LIST"
+msgstr "Seznam predvajanja"
+
+msgid "IDS_MUSIC_OPT_SHOW_LYRICS"
+msgstr "Pokaži besedilo"
+
+msgid "IDS_MUSIC_OPT_HIDE_LYRICS"
+msgstr "Skrij besedilo"
+
+msgid "IDS_MUSIC_TPOP_UNABLE_TO_PLAY_MUSIC_DURING_CALLS"
+msgstr "Med klici ni mogoče predvajati glasbe."
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Izbriši"
+
+msgid "IDS_MUSIC_HEADER_SELECT"
+msgstr "Izberite"
+
+msgid "IDS_TPLATFORM_OPT_NFC"
+msgstr "NFC"
+
+msgid "IDS_MUSIC_HEADER_UNABLE_TO_PLAY_TRACK"
+msgstr "Skladbe ni mogoče predvajati"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "KONČANO"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "PREKLIČI"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "IZBRIŠI"
+
+msgid "IDS_MUSIC_POP_RENAME"
+msgstr "Preimenuj"
+
+msgid "IDS_MUSIC_OPT_MESSAGE"
+msgstr "Sporočilo"
+
+msgid "IDS_MUSIC_SK_OK"
+msgstr "V redu"
+
+msgid "IDS_MUSIC_SK_CANCEL"
+msgstr "Prekliči"
+
+msgid "IDS_MUSIC_BUTTON_REFRESH"
+msgstr "Osveži"
+
+msgid "IDS_MUSIC_BODY_SELECT_ALL"
+msgstr "Izberi vse"
+
+msgid "IDS_MUSIC_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_MUSIC_POP_DELETED"
+msgstr "Izbrisano."
+
+msgid "IDS_MUSIC_OPT_STOP"
+msgstr "Ustavi"
+
+msgid "IDS_MUSIC_BODY_UNKNOWN"
+msgstr "Neznano"
+
+msgid "IDS_MUSIC_BODY_TITLE"
+msgstr "Naslov"
+
+msgid "IDS_MUSIC_OPT_SENDVIA_EMAIL"
+msgstr "E-pošta"
+
+msgid "IDS_MUSIC_OPT_BLUETOOTH"
+msgstr "Bluetooth"
+
+msgid "IDS_MUSIC_HEADER_DOWNLOAD"
+msgstr "Prenos"
+
+msgid "IDS_MUSIC_POP_LOW_BATTERY"
+msgstr "Baterija prazna."
+
+msgid "IDS_MUSIC_HEADER_AUDIO_DEVICE"
+msgstr "Zvočna naprava"
+
+msgid "IDS_MUSIC_HEADER_DETAILS"
+msgstr "Podrobnosti"
+
+msgid "IDS_MUSIC_OPT_END"
+msgstr "Končaj"
+
+msgid "IDS_MUSIC_OPT_EDIT"
+msgstr "Uredi"
+
+msgid "IDS_CAM_HEADER_UPDATED"
+msgstr "Posodobljeno."
+
+msgid "IDS_MUSIC_POP_REMOVED"
+msgstr "Odstranjeno."
+
+msgid "IDS_MUSIC_OPT_SELECTED"
+msgstr "Izbrano"
+
+msgid "IDS_ST_BUTTON_SCAN"
+msgstr "Preišči"
+
+msgid "IDS_MF_POP_ERROR"
+msgstr "Napaka."
+
+msgid "IDS_MF_POP_MEMORY_FULL"
+msgstr "Pomnilnik je poln."
+
+msgid "IDS_MUSIC_MBODY_QUEUE"
+msgstr "Čakalna vrsta"
+
+msgid "IDS_MUSIC_OPT_VOLUME"
+msgstr "Glasnost"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE"
+msgstr "Naključno"
+
+msgid "IDS_MUSIC_OPT_REPEAT"
+msgstr "Ponovi"
+
+msgid "IDS_COM_BODY_DETAILS"
+msgstr "Details"
+
+msgid "IDS_COM_BODY_DETAILS_TITLE"
+msgstr "Title"
+
+msgid "IDS_COM_BODY_EDIT"
+msgstr "Edit"
+
+msgid "IDS_COM_BODY_EMAIL"
+msgstr "Email"
+
+msgid "IDS_COM_BODY_END"
+msgstr "End"
+
+msgid "IDS_COM_BODY_FOLDERS"
+msgstr "Folders"
+
+msgid "IDS_COM_BODY_GALLERY"
+msgstr "Gallery"
+
+msgid "IDS_COM_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_COM_BODY_LOADING"
+msgstr "Loading..."
+
+msgid "IDS_COM_BODY_LOW_BATTERY"
+msgstr "Low battery."
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Message"
+
+msgid "IDS_COM_BODY_MUSIC"
+msgstr "Music"
+
+msgid "IDS_COM_BODY_NFC"
+msgstr "NFC"
+
+msgid "IDS_COM_BODY_NO_CONTENTS"
+msgstr "No content"
+
+msgid "IDS_COM_BODY_PAUSE"
+msgstr "Pause"
+
+msgid "IDS_COM_BODY_PD_SELECTED"
+msgstr "%d selected."
+
+msgid "IDS_COM_BODY_PREVIOUS"
+msgstr "Previous"
+
+msgid "IDS_COM_BODY_RESET_A"
+msgstr "Reset"
+
+msgid "IDS_COM_BODY_SELECTED"
+msgstr "Selected"
+
+msgid "IDS_COM_BODY_SELECT_ALL"
+msgstr "Select all"
+
+msgid "IDS_COM_BODY_SETTINGS"
+msgstr "Settings"
+
+msgid "IDS_COM_BODY_TIME"
+msgstr "Time"
+
+msgid "IDS_COM_BODY_UNABLE_TO_ADD"
+msgstr "Unable to add."
+
+msgid "IDS_COM_BODY_UNKNOWN"
+msgstr "Unknown"
+
+msgid "IDS_COM_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_COM_BUTTON_SCAN"
+msgstr "Scan"
+
+msgid "IDS_COM_BUTTON_SHARE"
+msgstr "Share"
+
+msgid "IDS_COM_HEADER_AUDIO_DEVICE_ABB"
+msgstr "Audio device"
+
+msgid "IDS_COM_OPT_ADDED"
+msgstr "Added."
+
+msgid "IDS_COM_OPT_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_POP_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_POP_CONNECTION_FAILED"
+msgstr "Connection failed."
+
+msgid "IDS_COM_POP_DELETED"
+msgstr "Deleted."
+
+msgid "IDS_COM_POP_DELETE_Q"
+msgstr "Delete?"
+
+msgid "IDS_COM_POP_DONE"
+msgstr "Done"
+
+msgid "IDS_COM_POP_DOWNLOADING"
+msgstr "Downloading..."
+
+msgid "IDS_COM_POP_ERROR"
+msgstr "Error."
+
+msgid "IDS_COM_POP_FAILED"
+msgstr "Failed."
+
+msgid "IDS_COM_POP_FILE_NOT_EXIST"
+msgstr "This file does not exist."
+
+msgid "IDS_COM_POP_FILE_NOT_FOUND"
+msgstr "File not found."
+
+msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximum number of characters reached."
+
+msgid "IDS_COM_POP_MEMORY_FULL"
+msgstr "Memory full."
+
+msgid "IDS_COM_POP_REMOVED"
+msgstr "Removed."
+
+msgid "IDS_COM_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Unable to use during Mass storage mode."
+
+msgid "IDS_COM_POP_UPDATED"
+msgstr "Updated."
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_SK_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_SK_DOWNLOAD"
+msgstr "Download"
+
+msgid "IDS_COM_SK_NEW"
+msgstr "New"
+
+msgid "IDS_COM_SK_NEXT"
+msgstr "Next"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_SK_REFRESH"
+msgstr "Refresh"
+
+msgid "IDS_COM_SK_REMOVE"
+msgstr "Remove"
+
+msgid "IDS_COM_SK_SAVE"
+msgstr "Save"
+
+msgid "IDS_COM_SK_SELECT"
+msgstr "Select"
+
+msgid "IDS_COM_SK_SET"
+msgstr "Set"
+
+msgid "IDS_COM_SK_STOP"
+msgstr "Stop"
+
+
+msgid "IDS_MH_BODY_THE_PLAYLIST_NAME_PS_IS_ALREADY_IN_USE"
+msgstr "The playlist name %s is already in use."
+
+msgid "IDS_MH_BODY_TOTAL"
+msgstr "Total"
+
+msgid "IDS_MH_MBODY_RECENTLY_ADDED_M_SONG"
+msgstr "Recently added"
+
+msgid "IDS_MH_OPT_MORE_INFO_ABB"
+msgstr "More info"
+
+msgid "IDS_MH_POP_ALARM_TONE_SET"
+msgstr "Alarm tone set."
+
+msgid "IDS_MH_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 track added to playlist."
+
+msgid "IDS_MH_TPOP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d tracks added to playlist."
+
+msgid "IDS_MUSIC_OPT_RENAME"
+msgstr "Rename"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Unable to play during call."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Največja dovoljena velikost datotek je presežena."
+
+msgid "IDS_CAM_TPOP_UNABLE_TO_PLAY_MUSIC_WHILE_RECORDING_AUDIO_OR_VIDEO"
+msgstr "Med snemanjem zvoka ali videa ni mogoče predvajati glasbe."
+
--- /dev/null
+msgid "IDS_ST_BODY_LOADING_ING"
+msgstr "Učitavanje..."
+
+msgid "IDS_GALLERY_OPT_PRIVATE_M_CONTENT"
+msgstr "Privatni"
+
+msgid "IDS_MF_BODY_TIME"
+msgstr "Vreme"
+
+msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
+msgstr "Fajl ne postoji."
+
+msgid "IDS_MUSIC_POP_PHONE_RINGTONE"
+msgstr "Ton zvona telefona"
+
+msgid "IDS_MUSIC_BODY_DURATION"
+msgstr "Trajanje"
+
+msgid "IDS_MUSIC_BODY_MUSIC_LOCATION"
+msgstr "Lokacija"
+
+msgid "IDS_MUSIC_BODY_SET_AS_M_RINGTONE"
+msgstr "Postavi kao"
+
+msgid "IDS_ST_OPT_ADD_TO_PERSONAL_PAGE"
+msgstr "Dodaj na ličnu stranicu"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_PERSONAL_PAGE_ABB"
+msgstr "Ukloni sa lične stranice"
+
+msgid "IDS_ST_POP_MOVE_TO_NORMAL_STORAGE"
+msgstr "Premesti u običnu memoriju"
+
+msgid "IDS_ST_POP_MOVE_TO_PERSONAL_STORAGE"
+msgstr "Premesti u ličnu memoriju"
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEMS_WILL_BE_MOVED_TO_PS"
+msgstr "Izabrane stavke će biti premeštene u %s."
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEM_WILL_BE_MOVED_TO_PS"
+msgstr "Izabrana stavka će biti premeštena u %s."
+
+msgid "IDS_VR_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Nemoguće koristiti u režimu masovne memorije."
+
+msgid "IDS_MUSIC_POP_RINGTONE_ADDED"
+msgstr "Ton zvona dodat."
+
+msgid "IDS_CAM_BODY_BUTTON_T_TTS"
+msgstr "Taster"
+
+msgid "IDS_MUSIC_HEADER_SELECT_ITEMS"
+msgstr "Izaberi stavke"
+
+msgid "IDS_ST_BODY_ADVANCED"
+msgstr "Napredno"
+
+msgid "IDS_ST_SK_PREVIOUS"
+msgstr "Prethodna"
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Zatvori"
+
+msgid "IDS_MUSIC_POP_ADDED"
+msgstr "Dodato."
+
+msgid "IDS_MUSIC_POP_FAILED"
+msgstr "Neuspešno."
+
+msgid "IDS_MUSIC_BODY_NO_SEARCH_RESULTS"
+msgstr "Nema rezultata pretrage"
+
+msgid "IDS_MUSIC_SK_DONE"
+msgstr "Gotovo"
+
+msgid "IDS_MUSIC_BODY_NO_ITEMS"
+msgstr "Nema stavki"
+
+msgid "IDS_BR_OPT_ADD_TO_HOME"
+msgstr "Dodaj na početnu"
+
+msgid "IDS_BR_SK_NEXT"
+msgstr "Naredna"
+
+msgid "IDS_BR_BODY_DOWNLOADING_ING"
+msgstr "Preuzimanje..."
+
+msgid "IDS_IV_BODY_FAVOURITE"
+msgstr "Omiljeni"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_PERSONAL_STORAGE"
+msgstr "Dodaj u ličnu memoriju"
+
+msgid "IDS_DLNA_POP_DISCONNECTED_FROM_PS_CHECK_THE_NETWORK_STATUS_AND_THE_CONNECTED_DEVICE"
+msgstr "Prekinuta veza sa %s. Proveri status mreže i priključeni uređaj."
+
+msgid "IDS_DLNA_OPT_VIA_SCREEN_MIRRORING_ABB"
+msgstr "Putem Screen Mirroring-a"
+
+msgid "IDS_DLNA_OPT_VIA_HOME_NETWORK_ABB"
+msgstr "Putem domaće mreže"
+
+msgid "IDS_IV_POP_ENTRY_IS_EMPTY"
+msgstr "Unos je prazan."
+
+msgid "IDS_FM_POP_UNAVAILABLE_DURING_CALL"
+msgstr "Nedostupno tokom poziva."
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Dostignut maksimalan broj karaktera."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_SHARE_DRM_FILE"
+msgstr "Nije moguće deliti DRM fajl."
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Uklanjanje..."
+
+msgid "IDS_MUSIC_HEADER_PD_DEVICES"
+msgstr "%d uređaja"
+
+msgid "IDS_MUSIC_BUTTON_ENABLE_MOTION"
+msgstr "Omog. pokret"
+
+msgid "IDS_MUSIC_BUTTON_DONT_ASK_AGAIN"
+msgstr "Ne pitaj ponovo"
+
+msgid "IDS_MUSIC_BODY_NO_RESULTS_FOUND"
+msgstr "Nema rezultata"
+
+msgid "IDS_VPL_OPT_HDMI"
+msgstr "HDMI"
+
+msgid "IDS_MUSIC_BODY_TURN_PHONE_OVER_TO_MUTE_INCOMING_CALLS_MESSAGE_ALERTS_AND_ALARMS"
+msgstr "Okreni telefon naopako da bi utišao dolazne pozive, upozorenja o porukama i alarme."
+
+msgid "IDS_ST_BODY_NONE"
+msgstr "Nema"
+
+msgid "IDS_ST_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_ST_BODY_GALLERY"
+msgstr "Galerija"
+
+msgid "IDS_ST_BODY_DOUBLE_TAP_TO_MOVE_TO_CONTENT_T_TTS"
+msgstr "Dvaput kucni za pomeranje sadržaja."
+
+msgid "IDS_MUSIC_BODY_SURROUND"
+msgstr "Surround"
+
+msgid "IDS_MUSIC_OPT_LYRICS_ABB"
+msgstr "Stihovi"
+
+msgid "IDS_MUSIC_POP_AFTER_YOU_ADD_TRACKS_TO_MUSIC_ON_YOUR_MOBILE_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Nakon što dodaš numere u folder Muzika u mobilnom uređaju, one će se prikazati ovde."
+
+msgid "IDS_MUSIC_BODY_SAMPLING_RATE"
+msgstr "Frekvencija semplovanja"
+
+msgid "IDS_MUSIC_BODY_MARKED_AS_A_FAVOURITE"
+msgstr "Označeno kao omiljeno."
+
+msgid "IDS_MUSIC_BODY_MUSIC"
+msgstr "Muzika"
+
+msgid "IDS_MUSIC_BODY_NOT_MARKED_AS_A_FAVOURITE"
+msgstr "Nije označeno kao omiljeno."
+
+msgid "IDS_MUSIC_HEADER_SEARCH_MUSIC_ABB"
+msgstr "Pretraži muziku"
+
+msgid "IDS_MUSIC_POP_AUTO_RECOMMENDATION_DOES_NOT_SUPPORT_THIS_AUDIO_FILE"
+msgstr "Automatska preporuka ne podržava ovaj audio fajl."
+
+msgid "IDS_MUSIC_POP_SORRY_THE_PLAYER_DOES_NOT_SUPPORT_THIS_TYPE_OF_AUDIO_FILE"
+msgstr "Nažalost plejer ne podržava ovu vrstu audio fajla."
+
+msgid "IDS_MUSIC_BODY_FAVOURITES"
+msgstr "Omiljeni"
+
+msgid "IDS_MUSIC_BODY_MOST_PLAYED"
+msgstr "Najčešće puštano"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_ADDED"
+msgstr "Nedavno dodato"
+
+msgid "IDS_MUSIC_OPT_CREATE_PLAYLIST"
+msgstr "Kreiraj listu za reprodukciju"
+
+msgid "IDS_MUSIC_OPT_REMOVE"
+msgstr "Ukloni"
+
+msgid "IDS_MUSIC_OPT_SETAS_CALLER_RINGTONE"
+msgstr "Ton zvona pozivaoca"
+
+msgid "IDS_MUSIC_TAB4_ARTISTS"
+msgstr "Umetnici"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD"
+msgstr "Nemoguće dodati."
+
+msgid "IDS_MUSIC_POP_UNABLE_CREATE_PLAYLIST"
+msgstr "Nemoguće kreirati listu za reprodukciju."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_GET_TAG"
+msgstr "Nemoguće dobiti oznaku."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_MORE_THAN_PD_MUSIC_FILE"
+msgstr "Nemoguće dodati više od %d muzičkih fajlova."
+
+msgid "IDS_MUSIC_BODY_ALBUM"
+msgstr "Album"
+
+msgid "IDS_MUSIC_BODY_AUTHOR"
+msgstr "Autor"
+
+msgid "IDS_MUSIC_BODY_COPYRIGHT"
+msgstr "Autorska prava"
+
+msgid "IDS_MUSIC_BODY_CREATE_PLAYLIST"
+msgstr "Kreiraj listu za reprodukciju"
+
+msgid "IDS_MUSIC_BODY_DESCRIPTION"
+msgstr "Opis"
+
+msgid "IDS_MUSIC_BODY_FORMAT"
+msgstr "Format"
+
+msgid "IDS_MUSIC_BODY_IMPOSSIBLE"
+msgstr "Nemoguće"
+
+msgid "IDS_MUSIC_BODY_NO_PLAYLISTS"
+msgstr "Nema plejlisti"
+
+msgid "IDS_MUSIC_BODY_TRACK_NUMBER"
+msgstr "Broj numere"
+
+msgid "IDS_MUSIC_POP_DELETE_Q"
+msgstr "Obriši?"
+
+msgid "IDS_MUSIC_POP_REMOVE_Q"
+msgstr "Ukloni?"
+
+msgid "IDS_MUSIC_POP_UNABLE_RENAME_PLAYLIST"
+msgstr "Nemoguće preimenovati listu za reprodukciju."
+
+msgid "IDS_MUSIC_TAB4_ALBUMS"
+msgstr "Albumi"
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Dodavanje..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Izbrisati %d albuma?"
+
+msgid "IDS_MUSIC_TAB4_PLAYLISTS"
+msgstr "Liste za reprod."
+
+msgid "IDS_MUSIC_OPT_ADD"
+msgstr "Dodaj"
+
+msgid "IDS_MUSIC_BODY_BIOGRAPHY"
+msgstr "Biografija"
+
+msgid "IDS_MUSIC_BODY_CREDITS"
+msgstr "Zahvalnice"
+
+msgid "IDS_MUSIC_BODY_DETAILS_MEADIA_INFO"
+msgstr "Informacije o mediju"
+
+msgid "IDS_MUSIC_BODY_DISCOGRAPHY"
+msgstr "Diskografija"
+
+msgid "IDS_MUSIC_BODY_LYRIC"
+msgstr "Stihovi"
+
+msgid "IDS_MUSIC_BODY_POSSIBLE"
+msgstr "moguće"
+
+msgid "IDS_MUSIC_BODY_REVIEW"
+msgstr "Pregled"
+
+msgid "IDS_MUSIC_HEADER_TRACK_LIST"
+msgstr "Lista numera"
+
+msgid "IDS_MUSIC_BODY_ADD_TO_PLAYLIST"
+msgstr "Dodaj u listu za reprodukciju"
+
+msgid "IDS_MUSIC_BODY_ARTIST"
+msgstr "Umetnik"
+
+msgid "IDS_MUSIC_BODY_FORWARDING"
+msgstr "Prosleđivanje"
+
+msgid "IDS_MUSIC_BODY_RECORDED_DATE"
+msgstr "Date of recording"
+
+msgid "IDS_MUSIC_BODY_PLAYLISTS"
+msgstr "Liste za reprodukciju"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_PLAYED"
+msgstr "Nedavno puštano"
+
+msgid "IDS_MUSIC_BODY_TRACK_LENGTH"
+msgstr "Dužina numere"
+
+msgid "IDS_MUSIC_HEADER_NO_SONGS"
+msgstr "Nema pesama"
+
+msgid "IDS_MUSIC_POP_THIS_TRACK_WILL_BE_DELETED"
+msgstr "Ova numera će biti izbrisana."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_TRACKS_WILL_BE_DELETED"
+msgstr "Izabrane numere biće izbrisane."
+
+msgid "IDS_MUSIC_POP_THIS_ARTIST_WILL_BE_DELETED"
+msgstr "Ovaj izvođač će biti obrisan."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ARTISTS_WILL_BE_DELETED"
+msgstr "Izabrani izvođači će biti izbrisani."
+
+msgid "IDS_MUSIC_POP_ALL_ARTISTS_WILL_BE_DELETED"
+msgstr "Biće obrisani svi izvođači."
+
+msgid "IDS_MUSIC_POP_THIS_FOLDER_WILL_BE_DELETED"
+msgstr "Ovaj folder će biti izbrisan."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_FOLDERS_WILL_BE_DELETED"
+msgstr "Izabrani folderi će biti izbrisani."
+
+msgid "IDS_MUSIC_POP_ALL_FOLDERS_WILL_BE_DELETED"
+msgstr "Biće izbrisani svi folderi."
+
+msgid "IDS_MUSIC_POP_THIS_ALBUM_WILL_BE_DELETED"
+msgstr "Ovaj album će biti obrisan."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ALBUMS_WILL_BE_DELETED"
+msgstr "Izabrani albumi će biti izbrisani."
+
+msgid "IDS_MUSIC_POP_ALL_ALBUMS_WILL_BE_DELETED"
+msgstr "Biće obrisani svi albumi."
+
+msgid "IDS_MUSIC_POP_THIS_PLAYLIST_WILL_BE_DELETED"
+msgstr "Ova lista za reprodukciju će biti obrisana."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Izabrane liste za reprodukciju biće izbrisane."
+
+msgid "IDS_MUSIC_POP_ALL_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Biće obrisane sve liste za reprodukciju."
+
+msgid "IDS_MUSIC_HEADER_SONGS"
+msgstr "Pesme"
+
+msgid "IDS_MUSIC_OPT_REORDER"
+msgstr "Preuredi"
+
+msgid "IDS_MUSIC_OPT_SAVE_AS_PLAYLIST"
+msgstr "Sačuvaj kao plejlistu"
+
+msgid "IDS_MUSIC_OPT_SETAS_ALARM_TONE"
+msgstr "Ton alarma"
+
+msgid "IDS_MUSIC_POP_NOTHING_SELECTED"
+msgstr "Ništa nije izabrano."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Nemoguće reprodukovati. Nastala je greška."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_UNSUPPORTED_FILETYPE"
+msgstr "Nemoguće reprodukovati. Nepodržani tip fajla."
+
+msgid "IDS_MUSIC_SK_SHARE"
+msgstr "Podeli"
+
+msgid "IDS_MUSIC_TAB4_CONDUCTORS"
+msgstr "Dirigenti"
+
+msgid "IDS_MUSIC_HEADER_SELECT_DEVICE"
+msgstr "Izaberi uređaj"
+
+msgid "IDS_MUSIC_SK_VIEW_AS"
+msgstr "Prik. kao"
+
+msgid "IDS_MUSIC_BODY_SOUNDEFFECTS_NORMAL"
+msgstr "Normalno"
+
+msgid "IDS_MUSIC_BODY_USER"
+msgstr "Korisnik"
+
+msgid "IDS_MUSIC_BODY_VOCAL_M_SOUNDEFFECT"
+msgstr "Vokalna"
+
+msgid "IDS_MUSIC_MBODY_BASS_BOOST"
+msgstr "Pojačanje basova"
+
+msgid "IDS_MUSIC_MBODY_TREBLE_BOOST"
+msgstr "Pojačanje visokih tonova"
+
+msgid "IDS_MUSIC_BODY_CAFE_M_SOUNDEFFECT"
+msgstr "Kafić"
+
+msgid "IDS_MUSIC_OPT_VIRTUAL_71_CH"
+msgstr "Virtuelni 7.1 kanal"
+
+msgid "IDS_MUSIC_OPT_AFTER_15_MIN_ABB"
+msgstr "Nakon 15 min."
+
+msgid "IDS_MUSIC_BODY_AFTER_30_MIN"
+msgstr "Nakon 30 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HOUR"
+msgstr "Nakon jednog sata"
+
+msgid "IDS_MUSIC_POP_AFTER_1_HOUR_30_MIN"
+msgstr "Nakon jednog sata i 30 minuta"
+
+msgid "IDS_MUSIC_BODY_AFTER_2_HOURS"
+msgstr "Nakon 2 sata"
+
+msgid "IDS_MUSIC_BODY_MUSIC_AUTO_OFF"
+msgstr "Muzika automatski isključena"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES_ONLY"
+msgstr "Ovaj zvučni efekat je dostupan samo u režimu slušalice i režimu Bluetooth slušalica."
+
+msgid "IDS_MUSIC_TAB4_MUSIC_SQUARE"
+msgstr "Muzički kvadrat"
+
+msgid "IDS_MUSIC_POP_NOT_ENOUGH_MUSIC_FILES_TO_PLAY_IN_MUSIC_SQUARE_AT_LEAST_PD_MUSIC_FILES_REQUIRED"
+msgstr "Nema dovoljno muzičkih datoteka za reprodukciju u muzičkom kvadratu. Potrebno je najmanje %d muzičkih datoteka."
+
+msgid "IDS_MUSIC_BODY_PASSION_M_MOOD"
+msgstr "Strast"
+
+msgid "IDS_MUSIC_BODY_CALM_M_ADJECTIVE"
+msgstr "Mirna"
+
+msgid "IDS_MUSIC_BODY_JOY_M_MOOD"
+msgstr "Radost"
+
+msgid "IDS_MUSIC_BODY_LIBRARY_UPDATE"
+msgstr "Ažuriranje biblioteke"
+
+msgid "IDS_MUSIC_POP_UPDATE_LIBRARY_Q"
+msgstr "Ažuriraj biblioteku?"
+
+msgid "IDS_MUSIC_BODY_CHANGE_AXIS"
+msgstr "Promeni osu"
+
+msgid "IDS_MUSIC_ITAB4_GENRES"
+msgstr "Žanrovi"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_1_TRACK"
+msgstr "1 album/1 numera"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_PD_TRACKS"
+msgstr "1 album/%d numera"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS_PD_TRACKS"
+msgstr "%d albuma/%d numera"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_CONTROL_MUSIC_PLAYER_WITH_THE_VOICE_COMMANDS_P1SS_P2SS_P3SS_P4SS_P5SS_AND_P6SS"
+msgstr "Muzički plejer možeš kontrolisati pomoću govornih komandi %1$s, %2$s, %3$s, %4$s, %5$s i %6$s."
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_PD_TRACKS"
+msgstr "Nasumičan izbor %d numera"
+
+msgid "IDS_MUSIC_BODY_MORE_INFO"
+msgstr "Više informacija"
+
+msgid "IDS_MUSIC_HEADER_MY_MUSIC_M_APPLICATION_NAME"
+msgstr "Moja muzika"
+
+msgid "IDS_MUSIC_OPT_LIST_VIEW"
+msgstr "Prikaz u vidu liste"
+
+msgid "IDS_MUSIC_OPT_PLAY_VIA_GROUP_PLAY"
+msgstr "Reprodukuj preko Grupnog reprodukovanja"
+
+msgid "IDS_MUSIC_POP_TRACK_ADDED_TO_FAVOURITES"
+msgstr "Numera je dodata u omiljene."
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_FAVOURITES"
+msgstr "Ukloni iz omiljenih"
+
+msgid "IDS_MUSIC_BODY_NEW_M_LATEST"
+msgstr "Nova"
+
+msgid "IDS_MUSIC_OPT_TRACKS"
+msgstr "Numere"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL"
+msgstr "Indeksna sličica"
+
+msgid "IDS_MUSIC_SK_LIST"
+msgstr "Lista"
+
+msgid "IDS_MUSIC_SK_OPEN_PLAYLIST"
+msgstr "Otvori listu za reprodukciju"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALL"
+msgstr "Preslušaj sve"
+
+msgid "IDS_MUSIC_POP_SELECTED_LIST_EMPTY"
+msgstr "Izabrana lista je prazna."
+
+msgid "IDS_MUSIC_BODY_MOODS"
+msgstr "Raspoloženja"
+
+msgid "IDS_MUSIC_BUTTON_YEARS"
+msgstr "Godine"
+
+msgid "IDS_MUSIC_BODY_OLD"
+msgstr "Stara"
+
+msgid "IDS_MUSIC_BODY_MUSIC_SQUARE_ANALYSES_THE_CHARACTERISTICS_OF_MUSIC_FILES_STORED_ON_YOUR_DEVICE_AND_AUTOMATICALLY_CREATES_PLAYLISTS_MSG"
+msgstr "Muzički kvadrat analizira karakteristike muzičkih fajlova smeštenih u uređaju i automatski kreira liste za reprodukciju."
+
+msgid "IDS_MUSIC_BODY_PLAY_TRACKS_WITH_SIMILAR_CHARACTERISTICS_BY_SELECTING_A_SQUARE_ON_THE_SCREEN"
+msgstr "Pusti listu za reprodukciju muzike sličnih karakteristika tako što ćeš izabrati kvadrat na ekranu."
+
+msgid "IDS_MUSIC_BODY_VIEW_PLAYLIST_DETAILS_BY_TAPPING_AND_HOLDING_THE_SQUARE_CURRENTLY_BEING_PLAYED"
+msgstr "Prikaži detalje o listi za reprodukciju tako što ćeš dodirnuti i zadržati kvadrat koji se trenutno reprodukuje."
+
+msgid "IDS_MUSIC_BODY_NEARBY_DEVICES"
+msgstr "Uređaji u blizini"
+
+msgid "IDS_MUSIC_POP_YOU_WILL_NEED_TO_UPDATE_THE_LIBRARY_IF_NEW_SONGS_HAVE_BEEN_ADDED"
+msgstr "Moraš da ažuriraš biblioteku ako su dodate nove pesme."
+
+msgid "IDS_MUSIC_BODY_NO_ALBUMS"
+msgstr "Nema albuma"
+
+msgid "IDS_MUSIC_BODY_NO_ARTISTS"
+msgstr "Nema izvođača"
+
+msgid "IDS_MUSIC_OPT_PLAY_SPEED_ABB"
+msgstr "Brzina reprodukcije"
+
+msgid "IDS_MUSIC_BODY_CONCERT_HALL_M_SOUNDEFFECT"
+msgstr "Koncertna sala"
+
+msgid "IDS_MUSIC_OPT_ADD_TO"
+msgstr "Dodaj u"
+
+msgid "IDS_MUSIC_SK_VIEW"
+msgstr "Prikaži"
+
+msgid "IDS_MUSIC_OPT_LISTBY_RECENTLY_ADDED"
+msgstr "Nedavno dodato"
+
+msgid "IDS_MUSIC_BODY_NOT_USED"
+msgstr "Ne koristi se"
+
+msgid "IDS_MUSIC_BODY_MAKE_AVAILABLE_OFFLINE"
+msgstr "Omogući offline"
+
+msgid "IDS_MUSIC_OPT_AFTER_P1SD_HRS_P2SD_MINS"
+msgstr "Nakon %1$d č. %2$d min."
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS"
+msgstr "Nakon %d č"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_MINS"
+msgstr "Nakon %d min"
+
+msgid "IDS_MUSIC_BODY_NO_FOLDERS"
+msgstr "Nema foldera"
+
+msgid "IDS_MUSIC_BODY_NO_TRACKS"
+msgstr "Nema numera"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS"
+msgstr "%d albuma"
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS"
+msgstr "%d izvođača"
+
+msgid "IDS_MUSIC_BODY_PD_GENRES"
+msgstr "%d žanr/(ov)a"
+
+msgid "IDS_MUSIC_BODY_PD_PLAYLISTS"
+msgstr "Broj plejlista: %d"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_ABB"
+msgstr "%d numere/a"
+
+msgid "IDS_MUSIC_BODY_PLAYLIST"
+msgstr "Lista za reprodukciju"
+
+msgid "IDS_MUSIC_HEADER_SIMILAR_ALBUMS"
+msgstr "Slični albumi"
+
+msgid "IDS_MUSIC_HEADER_TRACK"
+msgstr "Numera"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL_VIEW"
+msgstr "Indeksni prikaz"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "Ovaj zvučni efekat radi samo u režimu slušalice."
+
+msgid "IDS_MUSIC_OPT_ALL_CONTENT_ABB2"
+msgstr "Sav sadržaj"
+
+msgid "IDS_MUSIC_BODY_A_NETWORK_CONNECTION_IS_REQUIRED_TO_PLAY_THIS_FILE_CHECK_YOUR_NETWORK_CONNECTION_AND_TRY_AGAIN"
+msgstr "Obavezno je povezivanje na mrežu radi reprodukovanja ovog fajla. Proveri mrežnu vezu i pokušaj ponovo."
+
+msgid "IDS_MUSIC_POP_FILE_TYPE_NOT_SUPPORTED"
+msgstr "Tip fajla nepodržan."
+
+msgid "IDS_MUSIC_POP_UPDATING_ING"
+msgstr "Ažuriranje..."
+
+msgid "IDS_MUSIC_OPT_SEARCH_ABB"
+msgstr "Pretraži"
+
+msgid "IDS_MUSIC_OPT_SEARCH_BY"
+msgstr "Traži po"
+
+msgid "IDS_MUSIC_BODY_RELATED_VIDEOS"
+msgstr "Srodni video zapisi"
+
+msgid "IDS_MUSIC_BODY_SMART_VOLUME_ABB"
+msgstr "Pametna jačina zvuka"
+
+msgid "IDS_MUSIC_BODY_THE_VOLUME_OF_ALL_TRACKS_WILL_BE_ADJUSTED_TO_LEVEL_PD"
+msgstr "Jačina zvuka svih numera će biti podešena na nivo %d."
+
+msgid "IDS_MUSIC_HEADER_SMART_VOLUME_IS_ENABLED"
+msgstr "Pametna jačina zvuka je omogućena"
+
+msgid "IDS_MUSIC_OPT_CONNECTION_INFO_ABB"
+msgstr "Informacije o vezi"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_PD_MINS"
+msgstr "Nakon 1 č i %d min"
+
+msgid "IDS_MUSIC_BODY_ADAPT_SOUND_ABB"
+msgstr "Adapt Sound"
+
+msgid "IDS_MUSIC_BODY_MY_DEVICE"
+msgstr "Moj uređaj"
+
+msgid "IDS_MUSIC_POP_LISTENING_AT_A_HIGH_VOLUME_FOR_A_LONG_TIME_MAY_DAMAGE_YOUR_HEARING_RAISE_THE_VOLUME_ABOVE_SAFE_LEVELS_Q"
+msgstr "Slušanje zvuka velike jačine duži vremenski period može da ošteti sluh. Povisiti jačinu zvuka iznad bezbednih nivoa?"
+
+msgid "IDS_MUSIC_POP_ALREADY_EXISTS"
+msgstr "Već postoji."
+
+msgid "IDS_MUSIC_OPT_SCAN_FOR_NEARBY_DEVICES"
+msgstr "Skeniraj uređaje u okolini"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR"
+msgstr "Nakon 1 sata"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_1_MIN"
+msgstr "Nakon 1 č i 1 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS_1_MIN"
+msgstr "Nakon %d č i 1 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_MIN"
+msgstr "Nakon 1 min"
+
+msgid "IDS_MUSIC_OPT_GO_TO_STORE"
+msgstr "Idi u prodavnicu"
+
+msgid "IDS_MUSIC_SK3_ADD_TRACKS"
+msgstr "Dodaj\nnumere"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FROM_MUSIC_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Nakon što preuzmeš numere iz foldera Muzika, one će se prikazati ovde."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_YOUR_FAVOURITES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Numere će se prikazati ovde nakon što ih dodaš u omiljene."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_PLAY_TRACKS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Nakon što reprodukuješ numere, one će se prikazati ovde."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_PS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Nakon što dodaš numere u %s, one će se prikazati ovde."
+
+msgid "IDS_MUSIC_BODY_NO_PURCHASED_CONTENT"
+msgstr "Nema kupljenog sadržaja"
+
+msgid "IDS_MUSIC_SK_SAVE_AS"
+msgstr "Sačuvaj kao"
+
+msgid "IDS_MUSIC_POP_MUSICPLAYER_UPDATING_FAILED"
+msgstr "Ažuriranje neuspešno."
+
+msgid "IDS_MUSIC_BODY_EXCITING_M_ADJECTIVE"
+msgstr "Uzbudljiva"
+
+msgid "IDS_MUSIC_BODY_SEARCH_MY_MUSIC"
+msgstr "Pretraži moju muziku"
+
+msgid "IDS_MUSIC_HEADER_CONNECTED_DEVICES"
+msgstr "Povezani uređaji"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST_PS"
+msgstr "Moja lista za reprodukciju %s"
+
+msgid "IDS_MUSIC_BODY_NO_DEVICES"
+msgstr "Nema uređaja"
+
+msgid "IDS_MUSIC_HEADER_AVAILABLE_DEVICES_ABB"
+msgstr "Dostupni uređaji"
+
+msgid "IDS_MUSIC_POP_SET"
+msgstr "Podesi"
+
+msgid "IDS_MUSIC_POP_REMOVE_FAILED"
+msgstr "Uklanjanje neuspelo."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_USE_FAST_FORWARD_AND_REWIND_WHEN_NEARBY_DEVICES_ARE_ENABLED"
+msgstr "Nije moguće koristiti funkciju premotavanja unapred i unazad kada su omogućeni uređaji u blizini."
+
+msgid "IDS_MUSIC_OPT_SET_AS"
+msgstr "Postavi kao"
+
+msgid "IDS_MUSIC_OPT_HEADPHONES_ABB"
+msgstr "Slušalice"
+
+msgid "IDS_MUSIC_OPT_SPEAKER"
+msgstr "Zvučnik"
+
+msgid "IDS_MUSIC_BODY_1_SONG"
+msgstr "1 pesma"
+
+msgid "IDS_MUSIC_BODY_PD_SONGS"
+msgstr "%d pesama"
+
+msgid "IDS_MUSIC_BODY_1_TRACK"
+msgstr "1 numera"
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_1_TRACK"
+msgstr "Nasumično izaberi 1 numeru"
+
+msgid "IDS_MUSIC_POP_NO_MUSIC_FOUND_FOR_SELECTED_CELL"
+msgstr "Nije pronađena nikakva muzika za izabranu ćeliju"
+
+msgid "IDS_MUSIC_BODY_DO_NOT_SHOW_AGAIN"
+msgstr "Ne prikazuj ponovo"
+
+msgid "IDS_MUSIC_BODY_VARIOUS_ARTISTS"
+msgstr "Razni izvođači"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_HOME_SCREEN_ABB"
+msgstr "Dodaj na početni ekran"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_FAVOURITES"
+msgstr "Dodaj u omiljene"
+
+msgid "IDS_MUSIC_OPT_EDIT_TITLE"
+msgstr "Izmeni naslov"
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_PERSONAL_STORAGE"
+msgstr "Ukloni iz lične memorije"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FOLDERS_WILL_BE_SHOWN"
+msgstr "Nakon što preuzmeš numere, folderi će se prikazati"
+
+msgid "IDS_MUSIC_BODY_SETTINGS_VOLUME"
+msgstr "Glasnoća"
+
+msgid "IDS_MUSIC_BODY_REPEAT_OFF"
+msgstr "Ponavljanje isključeno"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_REPEAT_ALL"
+msgstr "Ponovi sve"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_OFF"
+msgstr "Mešanje isključeno"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_ON"
+msgstr "Mešanje uključeno"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST"
+msgstr "Moja lista za reprodukciju"
+
+msgid "IDS_MUSIC_MBODY_DEFAULT_PLAYLISTS"
+msgstr "Podrazumevane plejliste"
+
+msgid "IDS_MUSIC_BODY_DETAILS_RECORDING_DATE"
+msgstr "Datum snimanja"
+
+msgid "IDS_MUSIC_OPT_ALBUM_ART_ABB"
+msgstr "Omot alb."
+
+msgid "IDS_MUSIC_BODY_1_GENRE"
+msgstr "1 žanr"
+
+msgid "IDS_MUSIC_BODY_PD_FOLDERS"
+msgstr "%d foldera"
+
+msgid "IDS_MUSIC_BODY_1_FOLDER"
+msgstr "1 folder(a)"
+
+msgid "IDS_MUSIC_BODY_1_ARTIST"
+msgstr "1 umetnik"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_M_MUSIC"
+msgstr "1 album"
+
+msgid "IDS_MUSIC_BODY_1_PLAYLIST"
+msgstr "1 lista za reprodukciju"
+
+msgid "IDS_MUSIC_BODY_MUSIC_PLAYER"
+msgstr "Muzički plejer"
+
+msgid "IDS_MUSIC_BUTTON_MOVE"
+msgstr "Premesti"
+
+msgid "IDS_MUSIC_BUTTON_AUTO_RECOMMENDATIONS"
+msgstr "Automatska preporuka"
+
+msgid "IDS_MUSIC_BUTTON_FROM_THE_BEGINNING"
+msgstr "Od početka"
+
+msgid "IDS_MUSIC_HEADER_SUGGESTIONS_FOR_YOU"
+msgstr "Predlozi za tebe"
+
+msgid "IDS_MUSIC_OPT_SAVE"
+msgstr "Sačuvaj"
+
+msgid "IDS_MUSIC_TAB4_BASIC_M_EQUALIZING"
+msgstr "Osnovni"
+
+msgid "IDS_MUSIC_BODY_INSTRUMENT"
+msgstr "Instrumentalna"
+
+msgid "IDS_MUSIC_BODY_TREBLE_M_EQUALISER"
+msgstr "Visoki tonovi"
+
+msgid "IDS_MUSIC_BODY_BASS_M_EQUALISER"
+msgstr "Bas"
+
+msgid "IDS_MUSIC_BODY_NO_EFFECTS_ARE_APPLIED_IN_THIS_MODE_ABB"
+msgstr "Nijedan efekat nije primenjen u ovom režimu."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_TIMBRE_OF_A_TUBE_AMP_ABB"
+msgstr "Simulira boju tona iz cevnog pojačala."
+
+msgid "IDS_MUSIC_OPT_TUBE_AMP_EFFECT"
+msgstr "Efekat cevnog pojačala"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_EFFECT_OF_VIRTUAL_71_CHANNEL_SURROUND_SOUND_ABB"
+msgstr "Simulira efekat virtuelnog prostornog zvuka na 7.1 kanala."
+
+msgid "IDS_MUSIC_HEADER_SMALL_ROOM_M_REVERB_ABB"
+msgstr "Mala prostorija"
+
+msgid "IDS_MUSIC_HEADER_LARGE_ROOM_M_REVERB_ABB"
+msgstr "Velika prostor."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_LARGE_ROOM_EG_A_THEATRE_ABB"
+msgstr "Simulira eho velike prostorije, na primer pozorišta."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_CONCERT_HALL_ABB"
+msgstr "Simulira eho koncertne dvorane."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_SMALL_SPACE_EG_A_STUDIO_ABB"
+msgstr "Simulira eho malog prostora, na primer studija."
+
+msgid "IDS_MUSIC_BUTTON_3D_CHN"
+msgstr "3D"
+
+msgid "IDS_MUSIC_BODY_CLARITY_M_SOUNDEFFECT"
+msgstr "Razgovetnost"
+
+msgid "IDS_MUSIC_BUTTON_RESET"
+msgstr "Resetuj"
+
+msgid "IDS_MUSIC_TAB_YEARS"
+msgstr "Godine"
+
+msgid "IDS_MUSIC_TAB_GENRES"
+msgstr "Žanrovi"
+
+msgid "IDS_MUSIC_TAB_COMPOSERS"
+msgstr "Kompozitori"
+
+msgid "IDS_MUSIC_TAB_ALL_TRACKS"
+msgstr "Sve numere"
+
+msgid "IDS_MUSIC_SK3_GO_TO_QUICK_LIST"
+msgstr "Idi u brzu listu"
+
+msgid "IDS_MUSIC_SK3_FIND"
+msgstr "Nađi"
+
+msgid "IDS_MUSIC_SK3_ADD_TO_QUICK_LIST"
+msgstr "U brzu listu"
+
+msgid "IDS_MUSIC_POP_UNAUTHORISED_VIDEO_FILE_FOR_TV_OUT"
+msgstr "Video fajl nije ovlašćen za TV izlaz."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_CREATE_MAXIMUM_NUMBER_OF_PLAYLISTS_REACHED"
+msgstr "Nemoguće kreirati. Dostignut maks. broj listi za reprodukciju."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTING_BLUETOOTH_HEADSET"
+msgstr "Nemoguće podesiti jačinu zvuka tokom priključivanja Bluetooth slušalica."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTED_TO_BLUETOOTH_HEADSET"
+msgstr "Nemoguće podesiti jačinu zvuka dok su priključene Bluetooth slušalice."
+
+msgid "IDS_MUSIC_POP_STOP_MUSIC_PLAYER_Q"
+msgstr "Zaustavi Muzički plejer?"
+
+msgid "IDS_MUSIC_POP_PLEASE_EXIT_SILENT_MODE"
+msgstr "Napusti nečujni režim."
+
+msgid "IDS_MUSIC_POP_NETWORK_FAILURE"
+msgstr "Greška mreže."
+
+msgid "IDS_MUSIC_POP_MEMORY_CARD_LOADED"
+msgstr "Memorijska kartica ubačena."
+
+msgid "IDS_MUSIC_POP_DEVICE_SETTINGS_ERROR"
+msgstr "Greška u podešavanjima uređaja."
+
+msgid "IDS_MUSIC_POP_COULD_NOT_FIND_A_MATCH_FOR_THE_SONG"
+msgstr "Ne može se naći pogodak za pesmu."
+
+msgid "IDS_MUSIC_POP_BUFFERING_MSTATUS"
+msgstr "Baferisanje"
+
+msgid "IDS_MUSIC_POP_BT_HEADSET_ONLY_SUPPORTS_NORMAL_EFFECTS_SETTING"
+msgstr "BT slušalice podržavaju samo normalne efekte."
+
+msgid "IDS_MUSIC_POP_APPLICATION_WILL_BE_CLOSED"
+msgstr "Aplikacija će se zatvoriti."
+
+msgid "IDS_MUSIC_POP_ADDED_GO_TO_WISH_LIST_Q"
+msgstr "Dodato. Idi u listu želja?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_THE_SERVICE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "Pristup usluzi može biti naplaćen. Nastavak?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_STORE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "Pristup prodavnici može biti naplaćen. Nastavak?"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_ONLY_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES"
+msgstr "5.1-kanalni zvuk je dostupan samo u režimu slušalice i režimu Bluetooth slušalica."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "5.1-kanalni zvuk je dostupan samo u režimu slušalice."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECTS_NOT_SUPPORTED_BY_SPEAKER"
+msgstr "Zvučnik ne podržava 5.1-kanalne zvučne efekte."
+
+msgid "IDS_MUSIC_OPT_VIEW_BY_COVER_ART"
+msgstr "Prikaži po omotima"
+
+msgid "IDS_MUSIC_OPT_SEND_TRACK"
+msgstr "Pošalji numeru"
+
+msgid "IDS_MUSIC_OPT_RATE_TRACK"
+msgstr "Oceni numeru"
+
+msgid "IDS_MUSIC_OPT_PLAYLIST_MOVE_TRACK_IN_PLAYLIST"
+msgstr "Premesti numeru u listu za reprodukciju"
+
+msgid "IDS_MUSIC_OPT_OPENPLAYLIST_CURRENT"
+msgstr "Trenutni"
+
+msgid "IDS_MUSIC_OPT_DELETE_PLAYLIST"
+msgstr "Obriši listu za reprodukciju"
+
+msgid "IDS_MUSIC_OPT_BACKGROUND_PLAYING"
+msgstr "Pozadinska reprodukcija"
+
+msgid "IDS_MUSIC_HEADER_EFFECTS"
+msgstr "Efekti"
+
+msgid "IDS_MUSIC_BUTTON_BUY_NOW"
+msgstr "Kupi sad"
+
+msgid "IDS_MUSIC_BODY_WOW_HD"
+msgstr "Wow HD"
+
+msgid "IDS_MUSIC_BODY_WISHLIST"
+msgstr "Lista želja"
+
+msgid "IDS_MUSIC_BODY_WIDE"
+msgstr "Široko"
+
+msgid "IDS_MUSIC_BODY_WHA_WHA"
+msgstr "Va-va"
+
+msgid "IDS_MUSIC_BODY_VIBE_WOOFER"
+msgstr "Vibrirajući niskotonac"
+
+msgid "IDS_MUSIC_BODY_TREMOLO"
+msgstr "Tremolo"
+
+msgid "IDS_MUSIC_BODY_TAP_TWICE_TO_PLAY_PAUSE_MUSIC"
+msgstr "Kucni dvaput za reprodukciju/pauziranje muzike."
+
+msgid "IDS_MUSIC_BODY_SHARE_TRACK_VIA_BLUETOOTH"
+msgstr "Pošalji numeru putem Bluetootha"
+
+msgid "IDS_MUSIC_BODY_SETUPWIZARD_WELCOME_TO_THE_MUSIC_SETUP_WIZARD_CONTINUE_Q"
+msgstr "Dobro došli u konfiguracioni čarobnjak za muziku.\nSledeći ekrani će vam pomoći da konfigurišete telefon. Nastavak?"
+
+msgid "IDS_MUSIC_BODY_QUICK_LIST"
+msgstr "Brza lista"
+
+msgid "IDS_MUSIC_BODY_PLAYINGSETTINGS_SOUND_EFFECTS"
+msgstr "Zvučni efekti"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_ALL"
+msgstr "Sve"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_1"
+msgstr "1"
+
+msgid "IDS_MUSIC_BODY_PLAYERSETTINGS_VOLUME"
+msgstr "Glasnoća"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_SELECTED"
+msgstr "Izabrano je %d numera."
+
+msgid "IDS_MUSIC_BODY_NO_PODCASTS"
+msgstr "Nema podkasta"
+
+msgid "IDS_MUSIC_BODY_FIND_SIMILAR"
+msgstr "Nađi slično"
+
+msgid "IDS_MUSIC_BODY_BACKGROUND_PLAY"
+msgstr "Pozadinska reprodukcija"
+
+msgid "IDS_MUSIC_BODY_51_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "5.1-kanalni sistem se može uključiti samo kad su zvučni efekti isključeni."
+
+msgid "IDS_MUSIC_TAB4_PODCASTS"
+msgstr "Podkasti"
+
+msgid "IDS_MUSIC_SK2_EDIT_IMAGE"
+msgstr "Izmeni sliku"
+
+msgid "IDS_MUSIC_POP_PLAYING_ANY_SOUNDS_WILL_STOP_AND_SAVE_YOUR_VOICE_RECORDING_PLAY_Q"
+msgstr "Reprodukovanje svakog zvuka biće prekinuto a snimanje govora sačuvano. Reprodukovati?"
+
+msgid "IDS_MUSIC_POP_MAXIMUM_NUMBER_OF_ITEMS_HPD_SELECTED"
+msgstr "Izabran maksimalan broj stavki (%d)."
+
+msgid "IDS_MUSIC_POP_BLUETOOTH_DISCONNECTED"
+msgstr "Bluetooth veza otkačena."
+
+msgid "IDS_MUSIC_POP_5_1_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "5.1-kanalni sistem se može uključiti samo kad su zvučni efekti isključeni."
+
+msgid "IDS_MUSIC_OPT_TAKE_PICTURE"
+msgstr "Slikaj"
+
+msgid "IDS_MUSIC_OPT_SHOW_MUSIC_VIEW_ABB"
+msgstr "Prikaži prikaz muzike"
+
+msgid "IDS_MUSIC_OPT_PAUSE"
+msgstr "Pauza"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALBUM"
+msgstr "Reprodukuj album"
+
+msgid "IDS_MUSIC_OPT_LIST_BY"
+msgstr "Listaj po"
+
+msgid "IDS_MUSIC_OPT_HISTORY"
+msgstr "Istorija"
+
+msgid "IDS_MUSIC_OPT_HIDE_MUSIC_VIEW_ABB"
+msgstr "Sakrij prikaz muzike"
+
+msgid "IDS_MUSIC_OPT_FIND_TAG"
+msgstr "Nađi oznaku"
+
+msgid "IDS_MUSIC_OPT_DROPBOX_CONTENT_ABB"
+msgstr "Dropbox sadržaj"
+
+msgid "IDS_MUSIC_OPT_CONTENT_ON_PHONE_ABB"
+msgstr "Sadržaj na telef."
+
+msgid "IDS_MUSIC_OPT_CHANGE_IMAGE"
+msgstr "Promeni sliku"
+
+msgid "IDS_MUSIC_HEADER_DELETE_DROPBOX_DATA_ABB"
+msgstr "Izbriši Dropbox podatke"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_STREAM_YOUR_MUSIC_TO_DEVICES_USING_ALLSHARE"
+msgstr "Možeš strimovati muziku na uređaju pomoću AllShare-a."
+
+msgid "IDS_MUSIC_BODY_VALIDITY"
+msgstr "Važenje"
+
+msgid "IDS_MUSIC_BODY_TYPE_CNOUN"
+msgstr "Tip"
+
+msgid "IDS_MUSIC_BODY_THIS_WILL_DELETE_THE_FILE_FROM_THE_SERVER_AND_ANY_CONNECTED_DEVICES_AS_WELL"
+msgstr "To će izbrisati fajl sa servera kao i sve povezane uređaje."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_ARTISTS"
+msgstr "Izvođači"
+
+msgid "IDS_MUSIC_BODY_PLAYINGDETAILS_ALBUM_ART"
+msgstr "Omoti albuma"
+
+msgid "IDS_MUSIC_BODY_OTHER_CONTENTS"
+msgstr "Ostali sadržaji"
+
+msgid "IDS_MUSIC_BODY_NAME_TOO_LONG"
+msgstr "Ime predugačko."
+
+msgid "IDS_MUSIC_BODY_MUSIC_CLARITY"
+msgstr "Razgovetnost muzike"
+
+msgid "IDS_MUSIC_BODY_HIGH_VOLUMES_MAY_HARM_YOUR_HEARING_IF_YOU_LISTEN_FOR_A_LONG_TIME"
+msgstr "Velika jačina zvuka može da ošteti sluh ukoliko tako slušate duže vreme."
+
+msgid "IDS_MUSIC_BODY_AVAILABLE_USES"
+msgstr "Moguće upotrebe"
+
+msgid "IDS_MUSIC_TPOP_SOUND_EFFECTS_ONLY_AVAILABLE_WHILE_HEADPHONES_CONNECTED"
+msgstr "Zvučni efekti su dostupni samo kada su povezane slušalice."
+
+msgid "IDS_ST_OPT_ADD_TO_YOUR_PERSONAL_STORAGE"
+msgstr "Dodaj u ličnu memoriju"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_YOUR_PERSONAL_STORAGE"
+msgstr "Ukloni iz lične memorije"
+
+msgid "IDS_ST_BODY_CONTEXTUAL_POP_UP_T_TALKBACK"
+msgstr "Kontekstualni iskačući prozor"
+
+msgid "IDS_ST_BODY_A_CONTEXTUAL_POP_UP_IS_OPEN_DOUBLE_TAP_TO_CLOSE_IT_T_TALKBACK"
+msgstr "Kontekstualni prozor je otvoren. Dvaput kucni za njegovo zatvaranje."
+
+msgid "IDS_ST_BODY_REPEAT_ONE"
+msgstr "Ponovi jednom"
+
+msgid "IDS_ST_BUTTON_MOVING_ING"
+msgstr "Premeštanje..."
+
+msgid "IDS_HS_BODY_SELECT_UP_TO_PD_ITEMS"
+msgstr "Izaberi i do %d stavki"
+
+msgid "IDS_CAM_BODY_TAB_T_TTS"
+msgstr "Kartica"
+
+msgid "IDS_DLNA_OPT2_CHANGE_PLAYER"
+msgstr "Promeni plejer"
+
+msgid "IDS_BR_SK_TABS"
+msgstr "Kartice"
+
+msgid "IDS_MF_BODY_DROPBOX_ABB"
+msgstr "Dropbox"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Automatske preporuke mogu da prošire isticanja iz zvučnih fajlova."
+
+msgid "IDS_MF_BODY_PARENT_RATING"
+msgstr "Roditeljski rejting"
+
+msgid "IDS_VR_POP_FILE_NOT_FOUND"
+msgstr "Fajl nije nađen."
+
+msgid "IDS_PB_POP_CALLER_RINGTONE_SAVED"
+msgstr "Ton zvona pozivaoca sačuvan."
+
+msgid "IDS_MUSIC_BODY_BIT_DEPTH"
+msgstr "Bit dubina"
+
+msgid "IDS_MUSIC_BODY_SIZE"
+msgstr "Veličina"
+
+msgid "IDS_MF_HEADER_PD_SELECTED"
+msgstr "Izabrano: %d"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_THIS_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Nakon što dodaš numere u ovaj uređaj, one će se prikazati ovde."
+
+msgid "IDS_MUSIC_TMBODY_LENGTH"
+msgstr "Dužina"
+
+msgid "IDS_MUSIC_POP_1_FOLDER_WILL_BE_DELETED"
+msgstr "Biće izbrisan 1 folder."
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Nema sadržaja"
+
+msgid "IDS_MUSIC_ITAB4_FOLDERS"
+msgstr "Folderi"
+
+msgid "IDS_MUSIC_HEADER_MY_PLAYLISTS_ABB"
+msgstr "Moje plejliste"
+
+msgid "IDS_MP_BODY_SOUND_PLAYER"
+msgstr "Plejer zvuka"
+
+msgid "IDS_MUSIC_OPT_SETTINGS"
+msgstr "Podešavanja"
+
+msgid "IDS_MUSIC_POP_DELETING"
+msgstr "Brisanje..."
+
+msgid "IDS_MUSIC_POP_1_TRACK_WILL_BE_DELETED"
+msgstr "Jedna numera će se izbrisati."
+
+msgid "IDS_MUSIC_POP_ALL_TRACKS_WILL_BE_DELETED"
+msgstr "Sve numere će biti izbrisane"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_WILL_BE_DELETED"
+msgstr "%d numere će se izbrisati."
+
+msgid "IDS_MUSIC_POP_1_PLAYLIST_WILL_BE_DELETED"
+msgstr "Jedna lista za reprodukciju će se izbrisati."
+
+msgid "IDS_MUSIC_POP_PD_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Biće obrisane/o %d liste/i."
+
+msgid "IDS_MUSIC_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "Biće obrisana/o %d albuma."
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS_WILL_BE_DELETED"
+msgstr "Biće obrisana/o %d izvođača."
+
+msgid "IDS_MUSIC_POP_PD_FOLDERS_WILL_BE_DELETED"
+msgstr "Biće izbrisano %d foldera."
+
+msgid "IDS_ST_POP_CONNECTION_FAILED"
+msgstr "Neuspešno povezivanje."
+
+msgid "IDS_MUSIC_BODY_CLASSIC"
+msgstr "Klasika"
+
+msgid "IDS_MUSIC_BODY_ROCK"
+msgstr "Rok"
+
+msgid "IDS_MUSIC_BODY_JAZZ"
+msgstr "Džez"
+
+msgid "IDS_MUSIC_BODY_POP"
+msgstr "Pop"
+
+msgid "IDS_MUSIC_BODY_AUTO"
+msgstr "Auto"
+
+msgid "IDS_MUSIC_POP_CURRENT_SOUND_EFFECT_NOT_SUPPORTED_BY_HDMI"
+msgstr "HDMI ne podržava trenutne zvučne efekte."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_BLUETOOTH"
+msgstr "Bluetooth ne podržava zvučne efekte."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_LINE_OUT"
+msgstr "Zvučni izlaz ne podržava zvučne efekte."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_HDMI"
+msgstr "HDMI ne podržava zvučne efekte."
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EFFECT"
+msgstr "Pojačani zvuk u cevi"
+
+msgid "IDS_MUSIC_BODY_CUSTOM"
+msgstr "Prilagođeno"
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EQUALISER_ABB"
+msgstr "Poj. zvuk u cevi"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d numera je dodato u listu za reprodukciju."
+
+msgid "IDS_MUSIC_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 numera je dodata u listu za reprodukciju."
+
+msgid "IDS_MUSIC_HEADER_ADD_TRACKS_TO_PLAYLIST_ABB"
+msgstr "Dodaj numere u plejlistu"
+
+msgid "IDS_MUSIC_POP_PS_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "%s već u upotrebi. Unesi drugo ime."
+
+msgid "IDS_MUSIC_TMBODY_DATE_OF_RECORDING"
+msgstr "Datum snimanja"
+
+msgid "IDS_MBP_TPOP_TRACK_SET_AS_ALARM_TONE"
+msgstr "Numera je postavljena kao ton alarma."
+
+msgid "IDS_MUSIC_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Nema rezultata"
+
+msgid "IDS_MUSIC_OPT_DEFAULT_RINGTONE_ABB"
+msgstr "Podrazumevani ton zvona"
+
+msgid "IDS_MUSIC_TPOP_TRACK_SET_AS_CALLER_RINGTONE"
+msgstr "Numera je postavljena kao ton zvona pozivaoca."
+
+msgid "IDS_MP_TPOP_TRACK_SET_AS_RINGTONE"
+msgstr "Numera je postavljena kao ton zvona."
+
+msgid "IDS_DLNA_BODY_ADD_TO_NOW_PLAYING_LIST"
+msgstr "Dodaj u listu koja se reprodukuje"
+
+msgid "IDS_MUSIC_TPOP_EQUALISER_SETTINGS_WILL_BE_APPLIED_WHILE_PLAYING_MUSIC"
+msgstr "Postavke za Equaliser će se primeniti kada se reprodukuje muzika."
+
+msgid "IDS_ST_BODY_ALERT"
+msgstr "Upozorenje"
+
+msgid "IDS_IV_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 album će biti izbrisan."
+
+msgid "IDS_MUSIC_OPT_SD_CARD"
+msgstr "SD kartica"
+
+msgid "IDS_MUSIC_SBODY_DEVICE_STORAGE"
+msgstr "Skladišna lokacija uređaja"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE"
+msgstr "Naziv plejliste je već u upotrebi."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_PD"
+msgstr "Plejlista %d"
+
+msgid "IDS_MUSIC_HEADER_CREATE"
+msgstr "Kreiraj"
+
+msgid "IDS_MUSIC_HEADER_EQUALISER_PRESET_ABB"
+msgstr "Početne vrednosti Equaliser-a"
+
+msgid "IDS_MUSIC_OPT_AUTOMATIC_M_EQUALIZER_EFFECT"
+msgstr "Automatski"
+
+msgid "IDS_MUSIC_OPT_CLASSICAL_M_EQUALIZER_EFFECT"
+msgstr "Klasika"
+
+msgid "IDS_MUSIC_HEADER_ENVIRONMENT_EFFECT_ABB"
+msgstr "Efekat životne sredine"
+
+msgid "IDS_VIDEO_POP_THE_FILE_TYPE_IS_NOT_SUPPORTED"
+msgstr "Tip fajla nije podržan."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_CREATE_PLAYLISTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Nakon što kreiraš liste za reprodukciju, one će se prikazati ovde."
+
+msgid "IDS_ST_HEADER_SELECT_AUDIO_DEVICE_ABB"
+msgstr "Izaberi audio uređaj"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "Naziv plejliste je već u upotrebi. Unesi drugi naziv."
+
+msgid "IDS_MUSIC_HEADER_SOUNDALIVE_ABB3"
+msgstr "SoundAlive"
+
+msgid "IDS_MUSIC_OPT_NOW_PLAYING_LIST"
+msgstr "Nova lista za reprodukciju"
+
+msgid "IDS_MUSIC_OPT_SHOW_LYRICS"
+msgstr "Prikaži stihove"
+
+msgid "IDS_MUSIC_OPT_HIDE_LYRICS"
+msgstr "Sakrij stihove"
+
+msgid "IDS_MUSIC_TPOP_UNABLE_TO_PLAY_MUSIC_DURING_CALLS"
+msgstr "Reprodukcija muzike tokom poziva nije moguća."
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Izbriši"
+
+msgid "IDS_MUSIC_HEADER_SELECT"
+msgstr "Izaberi"
+
+msgid "IDS_TPLATFORM_OPT_NFC"
+msgstr "NFC"
+
+msgid "IDS_MUSIC_HEADER_UNABLE_TO_PLAY_TRACK"
+msgstr "Nije moguće pustiti numeru"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "GOTOVO"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "OTKAŽI"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "IZBRIŠI"
+
+msgid "IDS_MUSIC_POP_RENAME"
+msgstr "Preimenuj"
+
+msgid "IDS_MUSIC_OPT_MESSAGE"
+msgstr "Poruka"
+
+msgid "IDS_MUSIC_SK_OK"
+msgstr "OK"
+
+msgid "IDS_MUSIC_SK_CANCEL"
+msgstr "Otkaži"
+
+msgid "IDS_MUSIC_BUTTON_REFRESH"
+msgstr "Osveži"
+
+msgid "IDS_MUSIC_BODY_SELECT_ALL"
+msgstr "Izaberi sve"
+
+msgid "IDS_MUSIC_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_MUSIC_POP_DELETED"
+msgstr "Obrisano."
+
+msgid "IDS_MUSIC_OPT_STOP"
+msgstr "Prekini"
+
+msgid "IDS_MUSIC_BODY_UNKNOWN"
+msgstr "Nepoznato"
+
+msgid "IDS_MUSIC_BODY_TITLE"
+msgstr "Naslov"
+
+msgid "IDS_MUSIC_OPT_SENDVIA_EMAIL"
+msgstr "E-pošta"
+
+msgid "IDS_MUSIC_OPT_BLUETOOTH"
+msgstr "Bluetooth"
+
+msgid "IDS_MUSIC_HEADER_DOWNLOAD"
+msgstr "Preuzmi"
+
+msgid "IDS_MUSIC_POP_LOW_BATTERY"
+msgstr "Baterija prazna."
+
+msgid "IDS_MUSIC_HEADER_AUDIO_DEVICE"
+msgstr "Audio uređaj"
+
+msgid "IDS_MUSIC_HEADER_DETAILS"
+msgstr "Detalji"
+
+msgid "IDS_MUSIC_OPT_END"
+msgstr "Ugasi"
+
+msgid "IDS_MUSIC_OPT_EDIT"
+msgstr "Izmeni"
+
+msgid "IDS_CAM_HEADER_UPDATED"
+msgstr "Ažurirano."
+
+msgid "IDS_MUSIC_POP_REMOVED"
+msgstr "Uklonjeno."
+
+msgid "IDS_MUSIC_OPT_SELECTED"
+msgstr "Označeno"
+
+msgid "IDS_ST_BUTTON_SCAN"
+msgstr "Skeniraj"
+
+msgid "IDS_MF_POP_ERROR"
+msgstr "Greška."
+
+msgid "IDS_MF_POP_MEMORY_FULL"
+msgstr "Memorija puna."
+
+msgid "IDS_MUSIC_MBODY_QUEUE"
+msgstr "Čekanje"
+
+msgid "IDS_MUSIC_OPT_VOLUME"
+msgstr "Jačina"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE"
+msgstr "Nasumično"
+
+msgid "IDS_MUSIC_OPT_REPEAT"
+msgstr "Ponovi"
+
+msgid "IDS_COM_BODY_DETAILS"
+msgstr "Details"
+
+msgid "IDS_COM_BODY_DETAILS_TITLE"
+msgstr "Title"
+
+msgid "IDS_COM_BODY_EDIT"
+msgstr "Edit"
+
+msgid "IDS_COM_BODY_EMAIL"
+msgstr "Email"
+
+msgid "IDS_COM_BODY_END"
+msgstr "End"
+
+msgid "IDS_COM_BODY_FOLDERS"
+msgstr "Folders"
+
+msgid "IDS_COM_BODY_GALLERY"
+msgstr "Gallery"
+
+msgid "IDS_COM_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_COM_BODY_LOADING"
+msgstr "Loading..."
+
+msgid "IDS_COM_BODY_LOW_BATTERY"
+msgstr "Low battery."
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Message"
+
+msgid "IDS_COM_BODY_MUSIC"
+msgstr "Music"
+
+msgid "IDS_COM_BODY_NFC"
+msgstr "NFC"
+
+msgid "IDS_COM_BODY_NO_CONTENTS"
+msgstr "No content"
+
+msgid "IDS_COM_BODY_PAUSE"
+msgstr "Pause"
+
+msgid "IDS_COM_BODY_PD_SELECTED"
+msgstr "%d selected."
+
+msgid "IDS_COM_BODY_PREVIOUS"
+msgstr "Previous"
+
+msgid "IDS_COM_BODY_RESET_A"
+msgstr "Reset"
+
+msgid "IDS_COM_BODY_SELECTED"
+msgstr "Selected"
+
+msgid "IDS_COM_BODY_SELECT_ALL"
+msgstr "Select all"
+
+msgid "IDS_COM_BODY_SETTINGS"
+msgstr "Settings"
+
+msgid "IDS_COM_BODY_TIME"
+msgstr "Time"
+
+msgid "IDS_COM_BODY_UNABLE_TO_ADD"
+msgstr "Unable to add."
+
+msgid "IDS_COM_BODY_UNKNOWN"
+msgstr "Unknown"
+
+msgid "IDS_COM_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_COM_BUTTON_SCAN"
+msgstr "Scan"
+
+msgid "IDS_COM_BUTTON_SHARE"
+msgstr "Share"
+
+msgid "IDS_COM_HEADER_AUDIO_DEVICE_ABB"
+msgstr "Audio device"
+
+msgid "IDS_COM_OPT_ADDED"
+msgstr "Added."
+
+msgid "IDS_COM_OPT_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_POP_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_POP_CONNECTION_FAILED"
+msgstr "Connection failed."
+
+msgid "IDS_COM_POP_DELETED"
+msgstr "Deleted."
+
+msgid "IDS_COM_POP_DELETE_Q"
+msgstr "Delete?"
+
+msgid "IDS_COM_POP_DONE"
+msgstr "Done"
+
+msgid "IDS_COM_POP_DOWNLOADING"
+msgstr "Downloading..."
+
+msgid "IDS_COM_POP_ERROR"
+msgstr "Error."
+
+msgid "IDS_COM_POP_FAILED"
+msgstr "Failed."
+
+msgid "IDS_COM_POP_FILE_NOT_EXIST"
+msgstr "This file does not exist."
+
+msgid "IDS_COM_POP_FILE_NOT_FOUND"
+msgstr "File not found."
+
+msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximum number of characters reached."
+
+msgid "IDS_COM_POP_MEMORY_FULL"
+msgstr "Memory full."
+
+msgid "IDS_COM_POP_REMOVED"
+msgstr "Removed."
+
+msgid "IDS_COM_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Unable to use during Mass storage mode."
+
+msgid "IDS_COM_POP_UPDATED"
+msgstr "Updated."
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_SK_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_SK_DOWNLOAD"
+msgstr "Download"
+
+msgid "IDS_COM_SK_NEW"
+msgstr "New"
+
+msgid "IDS_COM_SK_NEXT"
+msgstr "Next"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_SK_REFRESH"
+msgstr "Refresh"
+
+msgid "IDS_COM_SK_REMOVE"
+msgstr "Remove"
+
+msgid "IDS_COM_SK_SAVE"
+msgstr "Save"
+
+msgid "IDS_COM_SK_SELECT"
+msgstr "Select"
+
+msgid "IDS_COM_SK_SET"
+msgstr "Set"
+
+msgid "IDS_COM_SK_STOP"
+msgstr "Stop"
+
+
+msgid "IDS_MH_BODY_THE_PLAYLIST_NAME_PS_IS_ALREADY_IN_USE"
+msgstr "The playlist name %s is already in use."
+
+msgid "IDS_MH_BODY_TOTAL"
+msgstr "Total"
+
+msgid "IDS_MH_MBODY_RECENTLY_ADDED_M_SONG"
+msgstr "Recently added"
+
+msgid "IDS_MH_OPT_MORE_INFO_ABB"
+msgstr "More info"
+
+msgid "IDS_MH_POP_ALARM_TONE_SET"
+msgstr "Alarm tone set."
+
+msgid "IDS_MH_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 track added to playlist."
+
+msgid "IDS_MH_TPOP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d tracks added to playlist."
+
+msgid "IDS_MUSIC_OPT_RENAME"
+msgstr "Rename"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Unable to play during call."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Pređena maksimalna veličina fajlova."
+
+msgid "IDS_CAM_TPOP_UNABLE_TO_PLAY_MUSIC_WHILE_RECORDING_AUDIO_OR_VIDEO"
+msgstr "Nije moguće reprodukovati muziku tokom snimanja audio ili video zapisa."
+
--- /dev/null
+msgid "IDS_ST_BODY_LOADING_ING"
+msgstr "Laddar..."
+
+msgid "IDS_GALLERY_OPT_PRIVATE_M_CONTENT"
+msgstr "Privat"
+
+msgid "IDS_MF_BODY_TIME"
+msgstr "Tid"
+
+msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
+msgstr "Filen finns inte."
+
+msgid "IDS_MUSIC_POP_PHONE_RINGTONE"
+msgstr "Telefonens ringsignal"
+
+msgid "IDS_MUSIC_BODY_DURATION"
+msgstr "Varaktighet"
+
+msgid "IDS_MUSIC_BODY_MUSIC_LOCATION"
+msgstr "Plats"
+
+msgid "IDS_MUSIC_BODY_SET_AS_M_RINGTONE"
+msgstr "Använd som"
+
+msgid "IDS_ST_OPT_ADD_TO_PERSONAL_PAGE"
+msgstr "Lägg till på personlig sida"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_PERSONAL_PAGE_ABB"
+msgstr "Ta bort från pers. sida"
+
+msgid "IDS_ST_POP_MOVE_TO_NORMAL_STORAGE"
+msgstr "Flytta till normal lagring"
+
+msgid "IDS_ST_POP_MOVE_TO_PERSONAL_STORAGE"
+msgstr "Flytta till privat lagring"
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEMS_WILL_BE_MOVED_TO_PS"
+msgstr "De valda objekten kommer att flyttas till %s."
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEM_WILL_BE_MOVED_TO_PS"
+msgstr "Det valda objektet kommer att flyttas till %s."
+
+msgid "IDS_VR_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Går inte att använda i masslagringsläget."
+
+msgid "IDS_MUSIC_POP_RINGTONE_ADDED"
+msgstr "Ringsignal har lagts till."
+
+msgid "IDS_CAM_BODY_BUTTON_T_TTS"
+msgstr "Knapp"
+
+msgid "IDS_MUSIC_HEADER_SELECT_ITEMS"
+msgstr "Välj objekt"
+
+msgid "IDS_ST_BODY_ADVANCED"
+msgstr "Avancerat"
+
+msgid "IDS_ST_SK_PREVIOUS"
+msgstr "Åter"
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Stäng"
+
+msgid "IDS_MUSIC_POP_ADDED"
+msgstr "Tillagd."
+
+msgid "IDS_MUSIC_POP_FAILED"
+msgstr "Misslyckades."
+
+msgid "IDS_MUSIC_BODY_NO_SEARCH_RESULTS"
+msgstr "Inga sökresultat"
+
+msgid "IDS_MUSIC_SK_DONE"
+msgstr "Klar"
+
+msgid "IDS_MUSIC_BODY_NO_ITEMS"
+msgstr "Inga objekt"
+
+msgid "IDS_BR_OPT_ADD_TO_HOME"
+msgstr "Lägg till på hemskärmen"
+
+msgid "IDS_BR_SK_NEXT"
+msgstr "Nästa"
+
+msgid "IDS_BR_BODY_DOWNLOADING_ING"
+msgstr "Laddar ned..."
+
+msgid "IDS_IV_BODY_FAVOURITE"
+msgstr "Favoriter"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_PERSONAL_STORAGE"
+msgstr "Lägg till i privat lagring"
+
+msgid "IDS_DLNA_POP_DISCONNECTED_FROM_PS_CHECK_THE_NETWORK_STATUS_AND_THE_CONNECTED_DEVICE"
+msgstr "Frånkopplad från %s. Kontrollera nätverksstatus och den anslutna enheten."
+
+msgid "IDS_DLNA_OPT_VIA_SCREEN_MIRRORING_ABB"
+msgstr "Via Screen Mirroring"
+
+msgid "IDS_DLNA_OPT_VIA_HOME_NETWORK_ABB"
+msgstr "Via hemnätverk"
+
+msgid "IDS_IV_POP_ENTRY_IS_EMPTY"
+msgstr "Posten är tom."
+
+msgid "IDS_FM_POP_UNAVAILABLE_DURING_CALL"
+msgstr "Inte tillgänglig under samtal."
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximalt antal tecken har använts."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_SHARE_DRM_FILE"
+msgstr "Det går inte att dela DRM-filen."
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Tar bort..."
+
+msgid "IDS_MUSIC_HEADER_PD_DEVICES"
+msgstr "%d enheter"
+
+msgid "IDS_MUSIC_BUTTON_ENABLE_MOTION"
+msgstr "Akt. rörelse"
+
+msgid "IDS_MUSIC_BUTTON_DONT_ASK_AGAIN"
+msgstr "Fråga inte igen"
+
+msgid "IDS_MUSIC_BODY_NO_RESULTS_FOUND"
+msgstr "Inga resultat hittades."
+
+msgid "IDS_VPL_OPT_HDMI"
+msgstr "HDMI"
+
+msgid "IDS_MUSIC_BODY_TURN_PHONE_OVER_TO_MUTE_INCOMING_CALLS_MESSAGE_ALERTS_AND_ALARMS"
+msgstr "Vänd på telefonen för att tysta inkommande samtal, meddelandesignaler och larm."
+
+msgid "IDS_ST_BODY_NONE"
+msgstr "Ingen"
+
+msgid "IDS_ST_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_ST_BODY_GALLERY"
+msgstr "Galleri"
+
+msgid "IDS_ST_BODY_DOUBLE_TAP_TO_MOVE_TO_CONTENT_T_TTS"
+msgstr "Dubbeltryck om du vill gå till innehållet."
+
+msgid "IDS_MUSIC_BODY_SURROUND"
+msgstr "Surround"
+
+msgid "IDS_MUSIC_OPT_LYRICS_ABB"
+msgstr "Text"
+
+msgid "IDS_MUSIC_POP_AFTER_YOU_ADD_TRACKS_TO_MUSIC_ON_YOUR_MOBILE_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "När du har lagt till spår i Musik på din mobila enhet kommer de att visas här."
+
+msgid "IDS_MUSIC_BODY_SAMPLING_RATE"
+msgstr "Samplingshastighet"
+
+msgid "IDS_MUSIC_BODY_MARKED_AS_A_FAVOURITE"
+msgstr "Markerad som en favorit."
+
+msgid "IDS_MUSIC_BODY_MUSIC"
+msgstr "Musik"
+
+msgid "IDS_MUSIC_BODY_NOT_MARKED_AS_A_FAVOURITE"
+msgstr "Inte markerad som en favorit."
+
+msgid "IDS_MUSIC_HEADER_SEARCH_MUSIC_ABB"
+msgstr "Sök musik"
+
+msgid "IDS_MUSIC_POP_AUTO_RECOMMENDATION_DOES_NOT_SUPPORT_THIS_AUDIO_FILE"
+msgstr "Automatisk rekommendation stödjer inte den här ljudfilen."
+
+msgid "IDS_MUSIC_POP_SORRY_THE_PLAYER_DOES_NOT_SUPPORT_THIS_TYPE_OF_AUDIO_FILE"
+msgstr "Spelaren har tyvärr inte stöd för den här typen av ljudfil."
+
+msgid "IDS_MUSIC_BODY_FAVOURITES"
+msgstr "Favoriter"
+
+msgid "IDS_MUSIC_BODY_MOST_PLAYED"
+msgstr "Mest spelade"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_ADDED"
+msgstr "Nyligen tillagda"
+
+msgid "IDS_MUSIC_OPT_CREATE_PLAYLIST"
+msgstr "Skapa spellista"
+
+msgid "IDS_MUSIC_OPT_REMOVE"
+msgstr "Ta bort"
+
+msgid "IDS_MUSIC_OPT_SETAS_CALLER_RINGTONE"
+msgstr "Ringsignal till Foto-ID"
+
+msgid "IDS_MUSIC_TAB4_ARTISTS"
+msgstr "Artister"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD"
+msgstr "Det går inte att lägga till."
+
+msgid "IDS_MUSIC_POP_UNABLE_CREATE_PLAYLIST"
+msgstr "Det går inte att skapa spellista."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_GET_TAG"
+msgstr "Det går inte att hämta taggen."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_MORE_THAN_PD_MUSIC_FILE"
+msgstr "Kan inte lägga till fler än %d musikfiler."
+
+msgid "IDS_MUSIC_BODY_ALBUM"
+msgstr "Album"
+
+msgid "IDS_MUSIC_BODY_AUTHOR"
+msgstr "Författare"
+
+msgid "IDS_MUSIC_BODY_COPYRIGHT"
+msgstr "Copyright"
+
+msgid "IDS_MUSIC_BODY_CREATE_PLAYLIST"
+msgstr "Skapa spellista"
+
+msgid "IDS_MUSIC_BODY_DESCRIPTION"
+msgstr "Beskrivning"
+
+msgid "IDS_MUSIC_BODY_FORMAT"
+msgstr "Format"
+
+msgid "IDS_MUSIC_BODY_IMPOSSIBLE"
+msgstr "Ej möjlig"
+
+msgid "IDS_MUSIC_BODY_NO_PLAYLISTS"
+msgstr "Inga spellistor"
+
+msgid "IDS_MUSIC_BODY_TRACK_NUMBER"
+msgstr "Spårnummer"
+
+msgid "IDS_MUSIC_POP_DELETE_Q"
+msgstr "Radera?"
+
+msgid "IDS_MUSIC_POP_REMOVE_Q"
+msgstr "Ta bort?"
+
+msgid "IDS_MUSIC_POP_UNABLE_RENAME_PLAYLIST"
+msgstr "Det går inte att byta namn på spellistan."
+
+msgid "IDS_MUSIC_TAB4_ALBUMS"
+msgstr "Album"
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Lägger till..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Ta bort %d album?"
+
+msgid "IDS_MUSIC_TAB4_PLAYLISTS"
+msgstr "Spellistor"
+
+msgid "IDS_MUSIC_OPT_ADD"
+msgstr "Lägg till"
+
+msgid "IDS_MUSIC_BODY_BIOGRAPHY"
+msgstr "Biografi"
+
+msgid "IDS_MUSIC_BODY_CREDITS"
+msgstr "Medverkande"
+
+msgid "IDS_MUSIC_BODY_DETAILS_MEADIA_INFO"
+msgstr "Mediainfo"
+
+msgid "IDS_MUSIC_BODY_DISCOGRAPHY"
+msgstr "Diskografi"
+
+msgid "IDS_MUSIC_BODY_LYRIC"
+msgstr "Lyrik"
+
+msgid "IDS_MUSIC_BODY_POSSIBLE"
+msgstr "Möjlig"
+
+msgid "IDS_MUSIC_BODY_REVIEW"
+msgstr "Granska"
+
+msgid "IDS_MUSIC_HEADER_TRACK_LIST"
+msgstr "Spårlista"
+
+msgid "IDS_MUSIC_BODY_ADD_TO_PLAYLIST"
+msgstr "Lägg till i spellista"
+
+msgid "IDS_MUSIC_BODY_ARTIST"
+msgstr "Artist"
+
+msgid "IDS_MUSIC_BODY_FORWARDING"
+msgstr "Vidarebefordra"
+
+msgid "IDS_MUSIC_BODY_RECORDED_DATE"
+msgstr "Date of recording"
+
+msgid "IDS_MUSIC_BODY_PLAYLISTS"
+msgstr "Spellistor"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_PLAYED"
+msgstr "Senast spelade"
+
+msgid "IDS_MUSIC_BODY_TRACK_LENGTH"
+msgstr "Spårlängd"
+
+msgid "IDS_MUSIC_HEADER_NO_SONGS"
+msgstr "Inga låtar"
+
+msgid "IDS_MUSIC_POP_THIS_TRACK_WILL_BE_DELETED"
+msgstr "Denna låt kommer att tas bort."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_TRACKS_WILL_BE_DELETED"
+msgstr "Den markerade spåren kommer att tas bort."
+
+msgid "IDS_MUSIC_POP_THIS_ARTIST_WILL_BE_DELETED"
+msgstr "Den här artisten kommer att raderas."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ARTISTS_WILL_BE_DELETED"
+msgstr "De valda artisterna kommer att raderas."
+
+msgid "IDS_MUSIC_POP_ALL_ARTISTS_WILL_BE_DELETED"
+msgstr "Alla artister kommer att raderas."
+
+msgid "IDS_MUSIC_POP_THIS_FOLDER_WILL_BE_DELETED"
+msgstr "Mappen kommer att tas bort."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_FOLDERS_WILL_BE_DELETED"
+msgstr "De valda mapparna kommer att raderas."
+
+msgid "IDS_MUSIC_POP_ALL_FOLDERS_WILL_BE_DELETED"
+msgstr "Alla mappar kommer att raderas."
+
+msgid "IDS_MUSIC_POP_THIS_ALBUM_WILL_BE_DELETED"
+msgstr "Detta album kommer att raderas."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ALBUMS_WILL_BE_DELETED"
+msgstr "De valda albumen kommer att raderas."
+
+msgid "IDS_MUSIC_POP_ALL_ALBUMS_WILL_BE_DELETED"
+msgstr "Alla album kommer att raderas."
+
+msgid "IDS_MUSIC_POP_THIS_PLAYLIST_WILL_BE_DELETED"
+msgstr "Den här spellistan raderas."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_PLAYLISTS_WILL_BE_DELETED"
+msgstr "De valda spellistorna kommer att tas bort."
+
+msgid "IDS_MUSIC_POP_ALL_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Alla spellistor kommer att raderas."
+
+msgid "IDS_MUSIC_HEADER_SONGS"
+msgstr "Låtar"
+
+msgid "IDS_MUSIC_OPT_REORDER"
+msgstr "Ändra ordning"
+
+msgid "IDS_MUSIC_OPT_SAVE_AS_PLAYLIST"
+msgstr "Spara som spellista"
+
+msgid "IDS_MUSIC_OPT_SETAS_ALARM_TONE"
+msgstr "Larmsignal"
+
+msgid "IDS_MUSIC_POP_NOTHING_SELECTED"
+msgstr "Inget markerat."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Det går inte att spela upp. Ett fel inträffade."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_UNSUPPORTED_FILETYPE"
+msgstr "Det går inte att spela. Filtypen stöds inte."
+
+msgid "IDS_MUSIC_SK_SHARE"
+msgstr "Dela"
+
+msgid "IDS_MUSIC_TAB4_CONDUCTORS"
+msgstr "Dirigenter"
+
+msgid "IDS_MUSIC_HEADER_SELECT_DEVICE"
+msgstr "Välj enhet"
+
+msgid "IDS_MUSIC_SK_VIEW_AS"
+msgstr "Visa som"
+
+msgid "IDS_MUSIC_BODY_SOUNDEFFECTS_NORMAL"
+msgstr "Normal"
+
+msgid "IDS_MUSIC_BODY_USER"
+msgstr "Användare"
+
+msgid "IDS_MUSIC_BODY_VOCAL_M_SOUNDEFFECT"
+msgstr "Sång"
+
+msgid "IDS_MUSIC_MBODY_BASS_BOOST"
+msgstr "Basförstärkning"
+
+msgid "IDS_MUSIC_MBODY_TREBLE_BOOST"
+msgstr "Diskantförstärkning"
+
+msgid "IDS_MUSIC_BODY_CAFE_M_SOUNDEFFECT"
+msgstr "Café"
+
+msgid "IDS_MUSIC_OPT_VIRTUAL_71_CH"
+msgstr "Virtuellt 7.1-kanalljud"
+
+msgid "IDS_MUSIC_OPT_AFTER_15_MIN_ABB"
+msgstr "Efter 15 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_30_MIN"
+msgstr "Efter 30 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HOUR"
+msgstr "Efter 1 timme"
+
+msgid "IDS_MUSIC_POP_AFTER_1_HOUR_30_MIN"
+msgstr "Efter 1 timme och 30 min"
+
+msgid "IDS_MUSIC_BODY_AFTER_2_HOURS"
+msgstr "Efter 2 timmar"
+
+msgid "IDS_MUSIC_BODY_MUSIC_AUTO_OFF"
+msgstr "Musik auto av"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES_ONLY"
+msgstr "Den här ljudeffekten fungerar bara i hörlurs- och Bluetooth-headsetläge."
+
+msgid "IDS_MUSIC_TAB4_MUSIC_SQUARE"
+msgstr "Musik-väljare"
+
+msgid "IDS_MUSIC_POP_NOT_ENOUGH_MUSIC_FILES_TO_PLAY_IN_MUSIC_SQUARE_AT_LEAST_PD_MUSIC_FILES_REQUIRED"
+msgstr "Det finns inte tillräckligt med musikfiler att spela med musikväljaren. Det krävs minst %d musikfiler."
+
+msgid "IDS_MUSIC_BODY_PASSION_M_MOOD"
+msgstr "Passionerad"
+
+msgid "IDS_MUSIC_BODY_CALM_M_ADJECTIVE"
+msgstr "Lugn"
+
+msgid "IDS_MUSIC_BODY_JOY_M_MOOD"
+msgstr "Glad"
+
+msgid "IDS_MUSIC_BODY_LIBRARY_UPDATE"
+msgstr "Biblioteksuppdatering"
+
+msgid "IDS_MUSIC_POP_UPDATE_LIBRARY_Q"
+msgstr "Uppdatera bibliotek?"
+
+msgid "IDS_MUSIC_BODY_CHANGE_AXIS"
+msgstr "Ändra axel"
+
+msgid "IDS_MUSIC_ITAB4_GENRES"
+msgstr "Genrer"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_1_TRACK"
+msgstr "1 album/1 spår"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_PD_TRACKS"
+msgstr "1 album/%d spår"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS_PD_TRACKS"
+msgstr "%d album/%d spår"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_CONTROL_MUSIC_PLAYER_WITH_THE_VOICE_COMMANDS_P1SS_P2SS_P3SS_P4SS_P5SS_AND_P6SS"
+msgstr "Du kan styra musikspelaren med röstkommandona %1$s, %2$s, %3$s, %4$s, %5$s och %6$s."
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_PD_TRACKS"
+msgstr "Slumpa %d spår"
+
+msgid "IDS_MUSIC_BODY_MORE_INFO"
+msgstr "Mer information"
+
+msgid "IDS_MUSIC_HEADER_MY_MUSIC_M_APPLICATION_NAME"
+msgstr "Min musik"
+
+msgid "IDS_MUSIC_OPT_LIST_VIEW"
+msgstr "Listvy"
+
+msgid "IDS_MUSIC_OPT_PLAY_VIA_GROUP_PLAY"
+msgstr "Spela upp via Group Play"
+
+msgid "IDS_MUSIC_POP_TRACK_ADDED_TO_FAVOURITES"
+msgstr "Spåret har lagts till i favoriter."
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_FAVOURITES"
+msgstr "Ta bort från Favoriter"
+
+msgid "IDS_MUSIC_BODY_NEW_M_LATEST"
+msgstr "Ny"
+
+msgid "IDS_MUSIC_OPT_TRACKS"
+msgstr "Spår"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL"
+msgstr "Miniatyrbild"
+
+msgid "IDS_MUSIC_SK_LIST"
+msgstr "Lista"
+
+msgid "IDS_MUSIC_SK_OPEN_PLAYLIST"
+msgstr "Öppna spellista"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALL"
+msgstr "Spela upp alla"
+
+msgid "IDS_MUSIC_POP_SELECTED_LIST_EMPTY"
+msgstr "Den valda listan är tom."
+
+msgid "IDS_MUSIC_BODY_MOODS"
+msgstr "Stämningar"
+
+msgid "IDS_MUSIC_BUTTON_YEARS"
+msgstr "År"
+
+msgid "IDS_MUSIC_BODY_OLD"
+msgstr "Tidigare"
+
+msgid "IDS_MUSIC_BODY_MUSIC_SQUARE_ANALYSES_THE_CHARACTERISTICS_OF_MUSIC_FILES_STORED_ON_YOUR_DEVICE_AND_AUTOMATICALLY_CREATES_PLAYLISTS_MSG"
+msgstr "Med Musikväljare analyseras egenskaperna för musiken på din enhet och spellistor skapas automatiskt."
+
+msgid "IDS_MUSIC_BODY_PLAY_TRACKS_WITH_SIMILAR_CHARACTERISTICS_BY_SELECTING_A_SQUARE_ON_THE_SCREEN"
+msgstr "Spela upp musiklistor med musik av liknande karaktär genom att välja en ruta på skärmen."
+
+msgid "IDS_MUSIC_BODY_VIEW_PLAYLIST_DETAILS_BY_TAPPING_AND_HOLDING_THE_SQUARE_CURRENTLY_BEING_PLAYED"
+msgstr "Visa information om spellistan genom att trycka på och hålla in rutan som spelas just nu."
+
+msgid "IDS_MUSIC_BODY_NEARBY_DEVICES"
+msgstr "Enheter i närheten"
+
+msgid "IDS_MUSIC_POP_YOU_WILL_NEED_TO_UPDATE_THE_LIBRARY_IF_NEW_SONGS_HAVE_BEEN_ADDED"
+msgstr "Biblioteket måste uppdateras om nya sånger har lagts till."
+
+msgid "IDS_MUSIC_BODY_NO_ALBUMS"
+msgstr "Inga album"
+
+msgid "IDS_MUSIC_BODY_NO_ARTISTS"
+msgstr "Inga artister"
+
+msgid "IDS_MUSIC_OPT_PLAY_SPEED_ABB"
+msgstr "Uppspelningshast."
+
+msgid "IDS_MUSIC_BODY_CONCERT_HALL_M_SOUNDEFFECT"
+msgstr "Konserthus"
+
+msgid "IDS_MUSIC_OPT_ADD_TO"
+msgstr "Lägg till i"
+
+msgid "IDS_MUSIC_SK_VIEW"
+msgstr "Visa"
+
+msgid "IDS_MUSIC_OPT_LISTBY_RECENTLY_ADDED"
+msgstr "Nyligen tillagda"
+
+msgid "IDS_MUSIC_BODY_NOT_USED"
+msgstr "Används inte"
+
+msgid "IDS_MUSIC_BODY_MAKE_AVAILABLE_OFFLINE"
+msgstr "Gör tillgänglig offline"
+
+msgid "IDS_MUSIC_OPT_AFTER_P1SD_HRS_P2SD_MINS"
+msgstr "Efter %1$d timme %2$d minuter"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS"
+msgstr "Efter %d timmar"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_MINS"
+msgstr "Efter %d minuter"
+
+msgid "IDS_MUSIC_BODY_NO_FOLDERS"
+msgstr "Inga mappar"
+
+msgid "IDS_MUSIC_BODY_NO_TRACKS"
+msgstr "Inga spår"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS"
+msgstr "%d album"
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS"
+msgstr "%d artister"
+
+msgid "IDS_MUSIC_BODY_PD_GENRES"
+msgstr "%d genrer"
+
+msgid "IDS_MUSIC_BODY_PD_PLAYLISTS"
+msgstr "%d spellistor"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_ABB"
+msgstr "%d låtar"
+
+msgid "IDS_MUSIC_BODY_PLAYLIST"
+msgstr "Spellista"
+
+msgid "IDS_MUSIC_HEADER_SIMILAR_ALBUMS"
+msgstr "Liknande album"
+
+msgid "IDS_MUSIC_HEADER_TRACK"
+msgstr "Låt"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL_VIEW"
+msgstr "Miniatyrer"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "Den här ljudeffekten fungerar bara i hörlursläge."
+
+msgid "IDS_MUSIC_OPT_ALL_CONTENT_ABB2"
+msgstr "Allt innehåll"
+
+msgid "IDS_MUSIC_BODY_A_NETWORK_CONNECTION_IS_REQUIRED_TO_PLAY_THIS_FILE_CHECK_YOUR_NETWORK_CONNECTION_AND_TRY_AGAIN"
+msgstr "Det krävs en nätverksanslutning för att spela upp filen. Kontrollera nätverksanslutningen och försök igen."
+
+msgid "IDS_MUSIC_POP_FILE_TYPE_NOT_SUPPORTED"
+msgstr "Filtypen stöds inte."
+
+msgid "IDS_MUSIC_POP_UPDATING_ING"
+msgstr "Uppdaterar..."
+
+msgid "IDS_MUSIC_OPT_SEARCH_ABB"
+msgstr "Sök"
+
+msgid "IDS_MUSIC_OPT_SEARCH_BY"
+msgstr "Sök efter"
+
+msgid "IDS_MUSIC_BODY_RELATED_VIDEOS"
+msgstr "Relaterade videor"
+
+msgid "IDS_MUSIC_BODY_SMART_VOLUME_ABB"
+msgstr "Smart volym"
+
+msgid "IDS_MUSIC_BODY_THE_VOLUME_OF_ALL_TRACKS_WILL_BE_ADJUSTED_TO_LEVEL_PD"
+msgstr "Volymen för alla låtar kommer att justeras till nivå %d."
+
+msgid "IDS_MUSIC_HEADER_SMART_VOLUME_IS_ENABLED"
+msgstr "Smart volym är aktiverat"
+
+msgid "IDS_MUSIC_OPT_CONNECTION_INFO_ABB"
+msgstr "Anslutningsinfo"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_PD_MINS"
+msgstr "Efter 1 timme %d minuter"
+
+msgid "IDS_MUSIC_BODY_ADAPT_SOUND_ABB"
+msgstr "Adapt sound"
+
+msgid "IDS_MUSIC_BODY_MY_DEVICE"
+msgstr "Min enhet"
+
+msgid "IDS_MUSIC_POP_LISTENING_AT_A_HIGH_VOLUME_FOR_A_LONG_TIME_MAY_DAMAGE_YOUR_HEARING_RAISE_THE_VOLUME_ABOVE_SAFE_LEVELS_Q"
+msgstr "Din hörsel kan skadas om du lyssnar på hög volym under längre tid. Vill du höja volymen över säkerhetsnivåerna?"
+
+msgid "IDS_MUSIC_POP_ALREADY_EXISTS"
+msgstr "Finns redan."
+
+msgid "IDS_MUSIC_OPT_SCAN_FOR_NEARBY_DEVICES"
+msgstr "Sök efter enheter i närheten"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR"
+msgstr "Efter 1 timme"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_1_MIN"
+msgstr "Efter 1 timme och 1 minut"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS_1_MIN"
+msgstr "Efter %d timmar 1 minut"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_MIN"
+msgstr "Efter 1 minut"
+
+msgid "IDS_MUSIC_OPT_GO_TO_STORE"
+msgstr "Gå till butik"
+
+msgid "IDS_MUSIC_SK3_ADD_TRACKS"
+msgstr "Lägg till\nspår"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FROM_MUSIC_THEY_WILL_BE_SHOWN_HERE"
+msgstr "När du har hämtat spår från Musik visas de här."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_YOUR_FAVOURITES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "När du har lagt till spår i favoriter kommer de att visas här."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_PLAY_TRACKS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "När du har spelat upp spår visas de här."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_PS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "När du har lagt till spår i %s visas de här."
+
+msgid "IDS_MUSIC_BODY_NO_PURCHASED_CONTENT"
+msgstr "Inget köpt innehåll"
+
+msgid "IDS_MUSIC_SK_SAVE_AS"
+msgstr "Spara som"
+
+msgid "IDS_MUSIC_POP_MUSICPLAYER_UPDATING_FAILED"
+msgstr "Det gick inte att uppdatera."
+
+msgid "IDS_MUSIC_BODY_EXCITING_M_ADJECTIVE"
+msgstr "Häftig"
+
+msgid "IDS_MUSIC_BODY_SEARCH_MY_MUSIC"
+msgstr "Sök i min musik"
+
+msgid "IDS_MUSIC_HEADER_CONNECTED_DEVICES"
+msgstr "Anslutna enheter"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST_PS"
+msgstr "Min spellista %s"
+
+msgid "IDS_MUSIC_BODY_NO_DEVICES"
+msgstr "Inga enheter"
+
+msgid "IDS_MUSIC_HEADER_AVAILABLE_DEVICES_ABB"
+msgstr "Tillängliga enheter"
+
+msgid "IDS_MUSIC_POP_SET"
+msgstr "Ange"
+
+msgid "IDS_MUSIC_POP_REMOVE_FAILED"
+msgstr "Det gick inte att ta bort."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_USE_FAST_FORWARD_AND_REWIND_WHEN_NEARBY_DEVICES_ARE_ENABLED"
+msgstr "Det går inte att använda snabbspolning framåt och bakåt när enheter i närheten är aktiverade."
+
+msgid "IDS_MUSIC_OPT_SET_AS"
+msgstr "Använd som"
+
+msgid "IDS_MUSIC_OPT_HEADPHONES_ABB"
+msgstr "Hörlurar"
+
+msgid "IDS_MUSIC_OPT_SPEAKER"
+msgstr "Högtalare"
+
+msgid "IDS_MUSIC_BODY_1_SONG"
+msgstr "1 låt"
+
+msgid "IDS_MUSIC_BODY_PD_SONGS"
+msgstr "%d låtar"
+
+msgid "IDS_MUSIC_BODY_1_TRACK"
+msgstr "1 låt"
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_1_TRACK"
+msgstr "Slumpa 1 spår"
+
+msgid "IDS_MUSIC_POP_NO_MUSIC_FOUND_FOR_SELECTED_CELL"
+msgstr "Ingen musik hittades för den valda cellen"
+
+msgid "IDS_MUSIC_BODY_DO_NOT_SHOW_AGAIN"
+msgstr "Visa inte igen"
+
+msgid "IDS_MUSIC_BODY_VARIOUS_ARTISTS"
+msgstr "Olika artister"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_HOME_SCREEN_ABB"
+msgstr "Lägg till på hemskärmen"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_FAVOURITES"
+msgstr "Lägg till i Favoriter"
+
+msgid "IDS_MUSIC_OPT_EDIT_TITLE"
+msgstr "Redigera rubrik"
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_PERSONAL_STORAGE"
+msgstr "Ta bort från din privata lagring"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FOLDERS_WILL_BE_SHOWN"
+msgstr "När du har hämtat spår visas mapparna."
+
+msgid "IDS_MUSIC_BODY_SETTINGS_VOLUME"
+msgstr "Volym"
+
+msgid "IDS_MUSIC_BODY_REPEAT_OFF"
+msgstr "Upprepa av"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_REPEAT_ALL"
+msgstr "Upprepa alla"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_OFF"
+msgstr "Blandat av"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_ON"
+msgstr "Blandat på"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST"
+msgstr "Min spellista"
+
+msgid "IDS_MUSIC_MBODY_DEFAULT_PLAYLISTS"
+msgstr "Standardspellistor"
+
+msgid "IDS_MUSIC_BODY_DETAILS_RECORDING_DATE"
+msgstr "Inspelningsdatum"
+
+msgid "IDS_MUSIC_OPT_ALBUM_ART_ABB"
+msgstr "Albumomsl."
+
+msgid "IDS_MUSIC_BODY_1_GENRE"
+msgstr "1 genre"
+
+msgid "IDS_MUSIC_BODY_PD_FOLDERS"
+msgstr "%d mappar"
+
+msgid "IDS_MUSIC_BODY_1_FOLDER"
+msgstr "1 mapp"
+
+msgid "IDS_MUSIC_BODY_1_ARTIST"
+msgstr "1 artist"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_M_MUSIC"
+msgstr "1 album"
+
+msgid "IDS_MUSIC_BODY_1_PLAYLIST"
+msgstr "1 spellista"
+
+msgid "IDS_MUSIC_BODY_MUSIC_PLAYER"
+msgstr "Musikspelare"
+
+msgid "IDS_MUSIC_BUTTON_MOVE"
+msgstr "Flytta"
+
+msgid "IDS_MUSIC_BUTTON_AUTO_RECOMMENDATIONS"
+msgstr "Automatiska rekommendationer"
+
+msgid "IDS_MUSIC_BUTTON_FROM_THE_BEGINNING"
+msgstr "Från början"
+
+msgid "IDS_MUSIC_HEADER_SUGGESTIONS_FOR_YOU"
+msgstr "Förslag för dig"
+
+msgid "IDS_MUSIC_OPT_SAVE"
+msgstr "Spara"
+
+msgid "IDS_MUSIC_TAB4_BASIC_M_EQUALIZING"
+msgstr "Grund\nläggande"
+
+msgid "IDS_MUSIC_BODY_INSTRUMENT"
+msgstr "Instrument"
+
+msgid "IDS_MUSIC_BODY_TREBLE_M_EQUALISER"
+msgstr "Diskant"
+
+msgid "IDS_MUSIC_BODY_BASS_M_EQUALISER"
+msgstr "Bas"
+
+msgid "IDS_MUSIC_BODY_NO_EFFECTS_ARE_APPLIED_IN_THIS_MODE_ABB"
+msgstr "Inga effekter används i det här läget."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_TIMBRE_OF_A_TUBE_AMP_ABB"
+msgstr "Simulerar klangen hos en rörförstärkare."
+
+msgid "IDS_MUSIC_OPT_TUBE_AMP_EFFECT"
+msgstr "Rörförstärkareffekt"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_EFFECT_OF_VIRTUAL_71_CHANNEL_SURROUND_SOUND_ABB"
+msgstr "Simulerar effekten av 7.1-kanals surroundljud."
+
+msgid "IDS_MUSIC_HEADER_SMALL_ROOM_M_REVERB_ABB"
+msgstr "Litet rum"
+
+msgid "IDS_MUSIC_HEADER_LARGE_ROOM_M_REVERB_ABB"
+msgstr "Stort rum"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_LARGE_ROOM_EG_A_THEATRE_ABB"
+msgstr "Simulerar ekot i ett stort rum, t.ex. en teater."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_CONCERT_HALL_ABB"
+msgstr "Simulerar ekot i ett konserthus."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_SMALL_SPACE_EG_A_STUDIO_ABB"
+msgstr "Simulerar ekot i ett litet utrymme, t.ex. en studio."
+
+msgid "IDS_MUSIC_BUTTON_3D_CHN"
+msgstr "3D"
+
+msgid "IDS_MUSIC_BODY_CLARITY_M_SOUNDEFFECT"
+msgstr "Skärpa"
+
+msgid "IDS_MUSIC_BUTTON_RESET"
+msgstr "Återställ"
+
+msgid "IDS_MUSIC_TAB_YEARS"
+msgstr "År"
+
+msgid "IDS_MUSIC_TAB_GENRES"
+msgstr "Genre"
+
+msgid "IDS_MUSIC_TAB_COMPOSERS"
+msgstr "Kompositör"
+
+msgid "IDS_MUSIC_TAB_ALL_TRACKS"
+msgstr "Alla spår"
+
+msgid "IDS_MUSIC_SK3_GO_TO_QUICK_LIST"
+msgstr "Gå till sn.lista"
+
+msgid "IDS_MUSIC_SK3_FIND"
+msgstr "Sök"
+
+msgid "IDS_MUSIC_SK3_ADD_TO_QUICK_LIST"
+msgstr "Lägg t i sn.lis."
+
+msgid "IDS_MUSIC_POP_UNAUTHORISED_VIDEO_FILE_FOR_TV_OUT"
+msgstr "Ej godkänd videofil för TV ut."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_CREATE_MAXIMUM_NUMBER_OF_PLAYLISTS_REACHED"
+msgstr "Kan inte skapa spellista. Högsta tillåtna antalet spellistor är uppnått."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTING_BLUETOOTH_HEADSET"
+msgstr "Det går inte att justera volymen vid anslutning av Bluetooth-headset."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTED_TO_BLUETOOTH_HEADSET"
+msgstr "Det går inte att justera volymen vid anslutning till Bluetooth-headset."
+
+msgid "IDS_MUSIC_POP_STOP_MUSIC_PLAYER_Q"
+msgstr "Stoppa Musikspelaren?"
+
+msgid "IDS_MUSIC_POP_PLEASE_EXIT_SILENT_MODE"
+msgstr "Avsluta tyst läge."
+
+msgid "IDS_MUSIC_POP_NETWORK_FAILURE"
+msgstr "Nätverksfel."
+
+msgid "IDS_MUSIC_POP_MEMORY_CARD_LOADED"
+msgstr "Minneskortet har laddats."
+
+msgid "IDS_MUSIC_POP_DEVICE_SETTINGS_ERROR"
+msgstr "Fel på enhetsinställningar."
+
+msgid "IDS_MUSIC_POP_COULD_NOT_FIND_A_MATCH_FOR_THE_SONG"
+msgstr "Kunde inte hitta matchning för låt."
+
+msgid "IDS_MUSIC_POP_BUFFERING_MSTATUS"
+msgstr "Buffrar"
+
+msgid "IDS_MUSIC_POP_BT_HEADSET_ONLY_SUPPORTS_NORMAL_EFFECTS_SETTING"
+msgstr "BT-hörlurar stöder endast inställningar för normala effekter."
+
+msgid "IDS_MUSIC_POP_APPLICATION_WILL_BE_CLOSED"
+msgstr "Programmet stängs."
+
+msgid "IDS_MUSIC_POP_ADDED_GO_TO_WISH_LIST_Q"
+msgstr "Tillagd. Gå till önskelistan?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_THE_SERVICE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "Åtkomst till tjänsten kan medföra en avgift. Vill du fortsätta?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_STORE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "Åtkomst till butiken kan medföra en avgift. Fortsätta?"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_ONLY_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES"
+msgstr "5.1-kanalsljudeffekten fungerar bara i hörlurs- och Bluetooth-headsetläge."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "5.1-kanalsljudeffekten fungerar bara i hörlursläge."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECTS_NOT_SUPPORTED_BY_SPEAKER"
+msgstr "5.1-kanalsljud stöds inte av högtalare."
+
+msgid "IDS_MUSIC_OPT_VIEW_BY_COVER_ART"
+msgstr "Visa efter omslag"
+
+msgid "IDS_MUSIC_OPT_SEND_TRACK"
+msgstr "Skicka spår"
+
+msgid "IDS_MUSIC_OPT_RATE_TRACK"
+msgstr "Betygsätt låt"
+
+msgid "IDS_MUSIC_OPT_PLAYLIST_MOVE_TRACK_IN_PLAYLIST"
+msgstr "Flytta spår i spellistan"
+
+msgid "IDS_MUSIC_OPT_OPENPLAYLIST_CURRENT"
+msgstr "Aktuell"
+
+msgid "IDS_MUSIC_OPT_DELETE_PLAYLIST"
+msgstr "Ta bort spellista"
+
+msgid "IDS_MUSIC_OPT_BACKGROUND_PLAYING"
+msgstr "Uppspelning i bakgrund"
+
+msgid "IDS_MUSIC_HEADER_EFFECTS"
+msgstr "Effekter"
+
+msgid "IDS_MUSIC_BUTTON_BUY_NOW"
+msgstr "Köp nu"
+
+msgid "IDS_MUSIC_BODY_WOW_HD"
+msgstr "Wow HD"
+
+msgid "IDS_MUSIC_BODY_WISHLIST"
+msgstr "Önskelista"
+
+msgid "IDS_MUSIC_BODY_WIDE"
+msgstr "Bred"
+
+msgid "IDS_MUSIC_BODY_WHA_WHA"
+msgstr "Wha-wha"
+
+msgid "IDS_MUSIC_BODY_VIBE_WOOFER"
+msgstr "Vibb-woofer"
+
+msgid "IDS_MUSIC_BODY_TREMOLO"
+msgstr "Tremolo"
+
+msgid "IDS_MUSIC_BODY_TAP_TWICE_TO_PLAY_PAUSE_MUSIC"
+msgstr "Tryck två gånger för att spela upp/pausa musik."
+
+msgid "IDS_MUSIC_BODY_SHARE_TRACK_VIA_BLUETOOTH"
+msgstr "Dela spår via Bluetooth"
+
+msgid "IDS_MUSIC_BODY_SETUPWIZARD_WELCOME_TO_THE_MUSIC_SETUP_WIZARD_CONTINUE_Q"
+msgstr "Välkommen till inställningsguiden för musik.\nFöljande skärmar hjälper dig att konfigurera telefonen. Fortsätt?"
+
+msgid "IDS_MUSIC_BODY_QUICK_LIST"
+msgstr "Snabblista"
+
+msgid "IDS_MUSIC_BODY_PLAYINGSETTINGS_SOUND_EFFECTS"
+msgstr "Ljudeffekter"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_ALL"
+msgstr "Alla"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_1"
+msgstr "1"
+
+msgid "IDS_MUSIC_BODY_PLAYERSETTINGS_VOLUME"
+msgstr "Volym"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_SELECTED"
+msgstr "%d spår har valts."
+
+msgid "IDS_MUSIC_BODY_NO_PODCASTS"
+msgstr "Inga podsändningar"
+
+msgid "IDS_MUSIC_BODY_FIND_SIMILAR"
+msgstr "Sök liknande"
+
+msgid "IDS_MUSIC_BODY_BACKGROUND_PLAY"
+msgstr "Bakgrundsuppspelning"
+
+msgid "IDS_MUSIC_BODY_51_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "5.1-kanalen kan bara aktiveras om ljudeffekterna är av."
+
+msgid "IDS_MUSIC_TAB4_PODCASTS"
+msgstr "Podsändn"
+
+msgid "IDS_MUSIC_SK2_EDIT_IMAGE"
+msgstr "Redigera bild"
+
+msgid "IDS_MUSIC_POP_PLAYING_ANY_SOUNDS_WILL_STOP_AND_SAVE_YOUR_VOICE_RECORDING_PLAY_Q"
+msgstr "Uppspelning av ljud stoppas och röstinspelningen sparas. Spela?"
+
+msgid "IDS_MUSIC_POP_MAXIMUM_NUMBER_OF_ITEMS_HPD_SELECTED"
+msgstr "Högsta tillåtna antal objekt (%d) har valts."
+
+msgid "IDS_MUSIC_POP_BLUETOOTH_DISCONNECTED"
+msgstr "Bluetooth frånkopplat."
+
+msgid "IDS_MUSIC_POP_5_1_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "5.1-kanal kan bara aktiveras om ljudeffekterna är av."
+
+msgid "IDS_MUSIC_OPT_TAKE_PICTURE"
+msgstr "Ta foto"
+
+msgid "IDS_MUSIC_OPT_SHOW_MUSIC_VIEW_ABB"
+msgstr "Visa musikvyn"
+
+msgid "IDS_MUSIC_OPT_PAUSE"
+msgstr "Paus"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALBUM"
+msgstr "Spela album"
+
+msgid "IDS_MUSIC_OPT_LIST_BY"
+msgstr "Sortera efter"
+
+msgid "IDS_MUSIC_OPT_HISTORY"
+msgstr "Tidigare"
+
+msgid "IDS_MUSIC_OPT_HIDE_MUSIC_VIEW_ABB"
+msgstr "Dölj musikvyn"
+
+msgid "IDS_MUSIC_OPT_FIND_TAG"
+msgstr "Sök efter etikett"
+
+msgid "IDS_MUSIC_OPT_DROPBOX_CONTENT_ABB"
+msgstr "Dropbox-innehåll"
+
+msgid "IDS_MUSIC_OPT_CONTENT_ON_PHONE_ABB"
+msgstr "Innehåll i telef."
+
+msgid "IDS_MUSIC_OPT_CHANGE_IMAGE"
+msgstr "Ändra bild"
+
+msgid "IDS_MUSIC_HEADER_DELETE_DROPBOX_DATA_ABB"
+msgstr "Ta bort Dropbox-data"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_STREAM_YOUR_MUSIC_TO_DEVICES_USING_ALLSHARE"
+msgstr "Du kan strömma musik till enheter med AllShare."
+
+msgid "IDS_MUSIC_BODY_VALIDITY"
+msgstr "Giltighet"
+
+msgid "IDS_MUSIC_BODY_TYPE_CNOUN"
+msgstr "Typ"
+
+msgid "IDS_MUSIC_BODY_THIS_WILL_DELETE_THE_FILE_FROM_THE_SERVER_AND_ANY_CONNECTED_DEVICES_AS_WELL"
+msgstr "Filen kommer att tas bort data från servern och andra anslutna enheter."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_ARTISTS"
+msgstr "Artister"
+
+msgid "IDS_MUSIC_BODY_PLAYINGDETAILS_ALBUM_ART"
+msgstr "Albumomslag"
+
+msgid "IDS_MUSIC_BODY_OTHER_CONTENTS"
+msgstr "Annat innehåll"
+
+msgid "IDS_MUSIC_BODY_NAME_TOO_LONG"
+msgstr "Namnet är för långt."
+
+msgid "IDS_MUSIC_BODY_MUSIC_CLARITY"
+msgstr "Klarhet"
+
+msgid "IDS_MUSIC_BODY_HIGH_VOLUMES_MAY_HARM_YOUR_HEARING_IF_YOU_LISTEN_FOR_A_LONG_TIME"
+msgstr "Hög volym kan skada din hörsel om du lyssnar för länge."
+
+msgid "IDS_MUSIC_BODY_AVAILABLE_USES"
+msgstr "Tillgängliga tillämpningar"
+
+msgid "IDS_MUSIC_TPOP_SOUND_EFFECTS_ONLY_AVAILABLE_WHILE_HEADPHONES_CONNECTED"
+msgstr "Ljudeffekter är bara tillgängliga om hörlurar har anslutits."
+
+msgid "IDS_ST_OPT_ADD_TO_YOUR_PERSONAL_STORAGE"
+msgstr "Lägg till i personlig lagring"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_YOUR_PERSONAL_STORAGE"
+msgstr "Ta bort från din personliga lagring"
+
+msgid "IDS_ST_BODY_CONTEXTUAL_POP_UP_T_TALKBACK"
+msgstr "Kontextuellt popup-fönster"
+
+msgid "IDS_ST_BODY_A_CONTEXTUAL_POP_UP_IS_OPEN_DOUBLE_TAP_TO_CLOSE_IT_T_TALKBACK"
+msgstr "Ett kontextuellt popup-fönster är öppet. Dubbeltryck om du vill stänga det."
+
+msgid "IDS_ST_BODY_REPEAT_ONE"
+msgstr "Upprepa en"
+
+msgid "IDS_ST_BUTTON_MOVING_ING"
+msgstr "Flyttar..."
+
+msgid "IDS_HS_BODY_SELECT_UP_TO_PD_ITEMS"
+msgstr "Välj upp till %d objekt."
+
+msgid "IDS_CAM_BODY_TAB_T_TTS"
+msgstr "Flik"
+
+msgid "IDS_DLNA_OPT2_CHANGE_PLAYER"
+msgstr "Byt spelare"
+
+msgid "IDS_BR_SK_TABS"
+msgstr "Flikar"
+
+msgid "IDS_MF_BODY_DROPBOX_ABB"
+msgstr "Dropbox"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Automatiska rekommendationer kan extrahera höjdpunkter från ljudfiler."
+
+msgid "IDS_MF_BODY_PARENT_RATING"
+msgstr "Förälderrankning"
+
+msgid "IDS_VR_POP_FILE_NOT_FOUND"
+msgstr "Filen hittades inte."
+
+msgid "IDS_PB_POP_CALLER_RINGTONE_SAVED"
+msgstr "Ringsignal för uppringare sparad."
+
+msgid "IDS_MUSIC_BODY_BIT_DEPTH"
+msgstr "Bitdjup"
+
+msgid "IDS_MUSIC_BODY_SIZE"
+msgstr "Storlek"
+
+msgid "IDS_MF_HEADER_PD_SELECTED"
+msgstr "%d valda"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_THIS_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "När du har lagt till spår på enheten visas de här."
+
+msgid "IDS_MUSIC_TMBODY_LENGTH"
+msgstr "Längd"
+
+msgid "IDS_MUSIC_POP_1_FOLDER_WILL_BE_DELETED"
+msgstr "1 mapp tas bort."
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Inget innehåll"
+
+msgid "IDS_MUSIC_ITAB4_FOLDERS"
+msgstr "Mappar"
+
+msgid "IDS_MUSIC_HEADER_MY_PLAYLISTS_ABB"
+msgstr "Mina spellistor"
+
+msgid "IDS_MP_BODY_SOUND_PLAYER"
+msgstr "Ljudspelare"
+
+msgid "IDS_MUSIC_OPT_SETTINGS"
+msgstr "Inställningar"
+
+msgid "IDS_MUSIC_POP_DELETING"
+msgstr "Raderar..."
+
+msgid "IDS_MUSIC_POP_1_TRACK_WILL_BE_DELETED"
+msgstr "1 spår kommer att tas bort."
+
+msgid "IDS_MUSIC_POP_ALL_TRACKS_WILL_BE_DELETED"
+msgstr "Alla spår kommer att raderas."
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_WILL_BE_DELETED"
+msgstr "%d spår kommer att tas bort."
+
+msgid "IDS_MUSIC_POP_1_PLAYLIST_WILL_BE_DELETED"
+msgstr "1 spellista kommer att tas bort."
+
+msgid "IDS_MUSIC_POP_PD_PLAYLISTS_WILL_BE_DELETED"
+msgstr "%d spellistor kommer att raderas."
+
+msgid "IDS_MUSIC_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "%d album kommer att tas bort."
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS_WILL_BE_DELETED"
+msgstr "%d artister kommer att raderas."
+
+msgid "IDS_MUSIC_POP_PD_FOLDERS_WILL_BE_DELETED"
+msgstr "%d mappar kommer att raderas."
+
+msgid "IDS_ST_POP_CONNECTION_FAILED"
+msgstr "Anslutningsfel."
+
+msgid "IDS_MUSIC_BODY_CLASSIC"
+msgstr "Klassisk"
+
+msgid "IDS_MUSIC_BODY_ROCK"
+msgstr "Rock"
+
+msgid "IDS_MUSIC_BODY_JAZZ"
+msgstr "Jazz"
+
+msgid "IDS_MUSIC_BODY_POP"
+msgstr "Pop"
+
+msgid "IDS_MUSIC_BODY_AUTO"
+msgstr "Auto"
+
+msgid "IDS_MUSIC_POP_CURRENT_SOUND_EFFECT_NOT_SUPPORTED_BY_HDMI"
+msgstr "Aktuell ljudeffekt stöds inte av HDMI."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_BLUETOOTH"
+msgstr "Ljudeffekter stöds inte av Bluetooth."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_LINE_OUT"
+msgstr "Ljudeffekter stöds inte med Ljud ut."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_HDMI"
+msgstr "Ljudeffekter stöds inte av HDMI."
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EFFECT"
+msgstr "Rörförstärkare"
+
+msgid "IDS_MUSIC_BODY_CUSTOM"
+msgstr "Egen"
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EQUALISER_ABB"
+msgstr "Rörförstärkare"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d spår har lagts till i spellistan."
+
+msgid "IDS_MUSIC_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 spår har lagts till i spellistan."
+
+msgid "IDS_MUSIC_HEADER_ADD_TRACKS_TO_PLAYLIST_ABB"
+msgstr "Lägg till spår i spellistan"
+
+msgid "IDS_MUSIC_POP_PS_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "%s används redan. Ange ett annat namn."
+
+msgid "IDS_MUSIC_TMBODY_DATE_OF_RECORDING"
+msgstr "Inspelningsdatum"
+
+msgid "IDS_MBP_TPOP_TRACK_SET_AS_ALARM_TONE"
+msgstr "Spåret har angetts som alarmsignal."
+
+msgid "IDS_MUSIC_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Inga resultat hittades"
+
+msgid "IDS_MUSIC_OPT_DEFAULT_RINGTONE_ABB"
+msgstr "Standardringsignal"
+
+msgid "IDS_MUSIC_TPOP_TRACK_SET_AS_CALLER_RINGTONE"
+msgstr "Spåret har angetts som ringsignal."
+
+msgid "IDS_MP_TPOP_TRACK_SET_AS_RINGTONE"
+msgstr "Spåret har angetts som ringsignal."
+
+msgid "IDS_DLNA_BODY_ADD_TO_NOW_PLAYING_LIST"
+msgstr "Lägg till på listan ”Spelas nu”"
+
+msgid "IDS_MUSIC_TPOP_EQUALISER_SETTINGS_WILL_BE_APPLIED_WHILE_PLAYING_MUSIC"
+msgstr "Equaliserinställningar används när musik spelas upp."
+
+msgid "IDS_ST_BODY_ALERT"
+msgstr "Varning"
+
+msgid "IDS_IV_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 album kommer att tas bort."
+
+msgid "IDS_MUSIC_OPT_SD_CARD"
+msgstr "SD-kort"
+
+msgid "IDS_MUSIC_SBODY_DEVICE_STORAGE"
+msgstr "Enhetslagring"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE"
+msgstr "Spellistans namn används redan."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_PD"
+msgstr "Spellista %d"
+
+msgid "IDS_MUSIC_HEADER_CREATE"
+msgstr "Skapa"
+
+msgid "IDS_MUSIC_HEADER_EQUALISER_PRESET_ABB"
+msgstr "Förinställd equaliser"
+
+msgid "IDS_MUSIC_OPT_AUTOMATIC_M_EQUALIZER_EFFECT"
+msgstr "Automatisk"
+
+msgid "IDS_MUSIC_OPT_CLASSICAL_M_EQUALIZER_EFFECT"
+msgstr "Klassisk"
+
+msgid "IDS_MUSIC_HEADER_ENVIRONMENT_EFFECT_ABB"
+msgstr "Miljöeffekt"
+
+msgid "IDS_VIDEO_POP_THE_FILE_TYPE_IS_NOT_SUPPORTED"
+msgstr "Filtypen stöds inte."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_CREATE_PLAYLISTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "När du har skapat spellistor visas de här."
+
+msgid "IDS_ST_HEADER_SELECT_AUDIO_DEVICE_ABB"
+msgstr "Välj ljudenhet"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "Namnet på spellistan används redan. Ange ett annat namn."
+
+msgid "IDS_MUSIC_HEADER_SOUNDALIVE_ABB3"
+msgstr "SoundAlive"
+
+msgid "IDS_MUSIC_OPT_NOW_PLAYING_LIST"
+msgstr "Listan ”Spelas nu”"
+
+msgid "IDS_MUSIC_OPT_SHOW_LYRICS"
+msgstr "Visa låttexter"
+
+msgid "IDS_MUSIC_OPT_HIDE_LYRICS"
+msgstr "Dölj låttext"
+
+msgid "IDS_MUSIC_TPOP_UNABLE_TO_PLAY_MUSIC_DURING_CALLS"
+msgstr "Det går inte att spela upp musik under samtal."
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Ta bort"
+
+msgid "IDS_MUSIC_HEADER_SELECT"
+msgstr "Välj"
+
+msgid "IDS_TPLATFORM_OPT_NFC"
+msgstr "NFC"
+
+msgid "IDS_MUSIC_HEADER_UNABLE_TO_PLAY_TRACK"
+msgstr "Det går inte att spela upp spåret"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "KLAR"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "AVBRYT"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "TA BORT"
+
+msgid "IDS_MUSIC_POP_RENAME"
+msgstr "Byt namn"
+
+msgid "IDS_MUSIC_OPT_MESSAGE"
+msgstr "Meddelande"
+
+msgid "IDS_MUSIC_SK_OK"
+msgstr "OK"
+
+msgid "IDS_MUSIC_SK_CANCEL"
+msgstr "Avbryt"
+
+msgid "IDS_MUSIC_BUTTON_REFRESH"
+msgstr "Uppdatera"
+
+msgid "IDS_MUSIC_BODY_SELECT_ALL"
+msgstr "Välj alla"
+
+msgid "IDS_MUSIC_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_MUSIC_POP_DELETED"
+msgstr "Raderad."
+
+msgid "IDS_MUSIC_OPT_STOP"
+msgstr "Stopp"
+
+msgid "IDS_MUSIC_BODY_UNKNOWN"
+msgstr "Okänd"
+
+msgid "IDS_MUSIC_BODY_TITLE"
+msgstr "Rubrik"
+
+msgid "IDS_MUSIC_OPT_SENDVIA_EMAIL"
+msgstr "E-post"
+
+msgid "IDS_MUSIC_OPT_BLUETOOTH"
+msgstr "Bluetooth"
+
+msgid "IDS_MUSIC_HEADER_DOWNLOAD"
+msgstr "Hämta"
+
+msgid "IDS_MUSIC_POP_LOW_BATTERY"
+msgstr "Låg batterinivå."
+
+msgid "IDS_MUSIC_HEADER_AUDIO_DEVICE"
+msgstr "Ljudenhet"
+
+msgid "IDS_MUSIC_HEADER_DETAILS"
+msgstr "Detaljer"
+
+msgid "IDS_MUSIC_OPT_END"
+msgstr "Avsluta"
+
+msgid "IDS_MUSIC_OPT_EDIT"
+msgstr "Redigera"
+
+msgid "IDS_CAM_HEADER_UPDATED"
+msgstr "Uppdaterad."
+
+msgid "IDS_MUSIC_POP_REMOVED"
+msgstr "Borttagen."
+
+msgid "IDS_MUSIC_OPT_SELECTED"
+msgstr "Markerade"
+
+msgid "IDS_ST_BUTTON_SCAN"
+msgstr "Skanna"
+
+msgid "IDS_MF_POP_ERROR"
+msgstr "Fel."
+
+msgid "IDS_MF_POP_MEMORY_FULL"
+msgstr "Minnet fullt."
+
+msgid "IDS_MUSIC_MBODY_QUEUE"
+msgstr "Kö"
+
+msgid "IDS_MUSIC_OPT_VOLUME"
+msgstr "Volym"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE"
+msgstr "Blanda"
+
+msgid "IDS_MUSIC_OPT_REPEAT"
+msgstr "Upprepa"
+
+msgid "IDS_COM_BODY_DETAILS"
+msgstr "Details"
+
+msgid "IDS_COM_BODY_DETAILS_TITLE"
+msgstr "Title"
+
+msgid "IDS_COM_BODY_EDIT"
+msgstr "Edit"
+
+msgid "IDS_COM_BODY_EMAIL"
+msgstr "Email"
+
+msgid "IDS_COM_BODY_END"
+msgstr "End"
+
+msgid "IDS_COM_BODY_FOLDERS"
+msgstr "Folders"
+
+msgid "IDS_COM_BODY_GALLERY"
+msgstr "Gallery"
+
+msgid "IDS_COM_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_COM_BODY_LOADING"
+msgstr "Loading..."
+
+msgid "IDS_COM_BODY_LOW_BATTERY"
+msgstr "Low battery."
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Message"
+
+msgid "IDS_COM_BODY_MUSIC"
+msgstr "Music"
+
+msgid "IDS_COM_BODY_NFC"
+msgstr "NFC"
+
+msgid "IDS_COM_BODY_NO_CONTENTS"
+msgstr "No content"
+
+msgid "IDS_COM_BODY_PAUSE"
+msgstr "Pause"
+
+msgid "IDS_COM_BODY_PD_SELECTED"
+msgstr "%d selected."
+
+msgid "IDS_COM_BODY_PREVIOUS"
+msgstr "Previous"
+
+msgid "IDS_COM_BODY_RESET_A"
+msgstr "Reset"
+
+msgid "IDS_COM_BODY_SELECTED"
+msgstr "Selected"
+
+msgid "IDS_COM_BODY_SELECT_ALL"
+msgstr "Select all"
+
+msgid "IDS_COM_BODY_SETTINGS"
+msgstr "Settings"
+
+msgid "IDS_COM_BODY_TIME"
+msgstr "Time"
+
+msgid "IDS_COM_BODY_UNABLE_TO_ADD"
+msgstr "Unable to add."
+
+msgid "IDS_COM_BODY_UNKNOWN"
+msgstr "Unknown"
+
+msgid "IDS_COM_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_COM_BUTTON_SCAN"
+msgstr "Scan"
+
+msgid "IDS_COM_BUTTON_SHARE"
+msgstr "Share"
+
+msgid "IDS_COM_HEADER_AUDIO_DEVICE_ABB"
+msgstr "Audio device"
+
+msgid "IDS_COM_OPT_ADDED"
+msgstr "Added."
+
+msgid "IDS_COM_OPT_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_POP_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_POP_CONNECTION_FAILED"
+msgstr "Connection failed."
+
+msgid "IDS_COM_POP_DELETED"
+msgstr "Deleted."
+
+msgid "IDS_COM_POP_DELETE_Q"
+msgstr "Delete?"
+
+msgid "IDS_COM_POP_DONE"
+msgstr "Done"
+
+msgid "IDS_COM_POP_DOWNLOADING"
+msgstr "Downloading..."
+
+msgid "IDS_COM_POP_ERROR"
+msgstr "Error."
+
+msgid "IDS_COM_POP_FAILED"
+msgstr "Failed."
+
+msgid "IDS_COM_POP_FILE_NOT_EXIST"
+msgstr "This file does not exist."
+
+msgid "IDS_COM_POP_FILE_NOT_FOUND"
+msgstr "File not found."
+
+msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximum number of characters reached."
+
+msgid "IDS_COM_POP_MEMORY_FULL"
+msgstr "Memory full."
+
+msgid "IDS_COM_POP_REMOVED"
+msgstr "Removed."
+
+msgid "IDS_COM_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Unable to use during Mass storage mode."
+
+msgid "IDS_COM_POP_UPDATED"
+msgstr "Updated."
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_SK_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_SK_DOWNLOAD"
+msgstr "Download"
+
+msgid "IDS_COM_SK_NEW"
+msgstr "New"
+
+msgid "IDS_COM_SK_NEXT"
+msgstr "Next"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_SK_REFRESH"
+msgstr "Refresh"
+
+msgid "IDS_COM_SK_REMOVE"
+msgstr "Remove"
+
+msgid "IDS_COM_SK_SAVE"
+msgstr "Save"
+
+msgid "IDS_COM_SK_SELECT"
+msgstr "Select"
+
+msgid "IDS_COM_SK_SET"
+msgstr "Set"
+
+msgid "IDS_COM_SK_STOP"
+msgstr "Stop"
+
+
+msgid "IDS_MH_BODY_THE_PLAYLIST_NAME_PS_IS_ALREADY_IN_USE"
+msgstr "The playlist name %s is already in use."
+
+msgid "IDS_MH_BODY_TOTAL"
+msgstr "Total"
+
+msgid "IDS_MH_MBODY_RECENTLY_ADDED_M_SONG"
+msgstr "Recently added"
+
+msgid "IDS_MH_OPT_MORE_INFO_ABB"
+msgstr "More info"
+
+msgid "IDS_MH_POP_ALARM_TONE_SET"
+msgstr "Alarm tone set."
+
+msgid "IDS_MH_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 track added to playlist."
+
+msgid "IDS_MH_TPOP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d tracks added to playlist."
+
+msgid "IDS_MUSIC_OPT_RENAME"
+msgstr "Rename"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Unable to play during call."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Högsta filstorlek överskreds."
+
+msgid "IDS_CAM_TPOP_UNABLE_TO_PLAY_MUSIC_WHILE_RECORDING_AUDIO_OR_VIDEO"
+msgstr "Det går inte att spela musik när ljud eller video spelas in."
+
--- /dev/null
+msgid "IDS_ST_BODY_LOADING_ING"
+msgstr "Yükleniyor..."
+
+msgid "IDS_GALLERY_OPT_PRIVATE_M_CONTENT"
+msgstr "Özel"
+
+msgid "IDS_MF_BODY_TIME"
+msgstr "Saat"
+
+msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
+msgstr "Dosya yok."
+
+msgid "IDS_MUSIC_POP_PHONE_RINGTONE"
+msgstr "Telefon zil sesi"
+
+msgid "IDS_MUSIC_BODY_DURATION"
+msgstr "Süre"
+
+msgid "IDS_MUSIC_BODY_MUSIC_LOCATION"
+msgstr "Konum"
+
+msgid "IDS_MUSIC_BODY_SET_AS_M_RINGTONE"
+msgstr "Farklı ayarla"
+
+msgid "IDS_ST_OPT_ADD_TO_PERSONAL_PAGE"
+msgstr "Kişisel sayfaya ekle"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_PERSONAL_PAGE_ABB"
+msgstr "Kişisel sayfadan kaldır"
+
+msgid "IDS_ST_POP_MOVE_TO_NORMAL_STORAGE"
+msgstr "Normal depolamaya taşı"
+
+msgid "IDS_ST_POP_MOVE_TO_PERSONAL_STORAGE"
+msgstr "Kişisel depolamaya taşı"
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEMS_WILL_BE_MOVED_TO_PS"
+msgstr "Seçilen öğeler %s öğesine taşınacak."
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEM_WILL_BE_MOVED_TO_PS"
+msgstr "Seçilen öğe %s öğesine taşınacak."
+
+msgid "IDS_VR_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Toplu saklama modu sırasında kullanılamıyor."
+
+msgid "IDS_MUSIC_POP_RINGTONE_ADDED"
+msgstr "Zil sesi eklendi."
+
+msgid "IDS_CAM_BODY_BUTTON_T_TTS"
+msgstr "Düğme"
+
+msgid "IDS_MUSIC_HEADER_SELECT_ITEMS"
+msgstr "Öğeleri seç"
+
+msgid "IDS_ST_BODY_ADVANCED"
+msgstr "Gelişmiş"
+
+msgid "IDS_ST_SK_PREVIOUS"
+msgstr "Önceki"
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Kapat"
+
+msgid "IDS_MUSIC_POP_ADDED"
+msgstr "Eklendi."
+
+msgid "IDS_MUSIC_POP_FAILED"
+msgstr "Başarısız oldu."
+
+msgid "IDS_MUSIC_BODY_NO_SEARCH_RESULTS"
+msgstr "Hiç arama sonucu bulunamadı"
+
+msgid "IDS_MUSIC_SK_DONE"
+msgstr "Tamam"
+
+msgid "IDS_MUSIC_BODY_NO_ITEMS"
+msgstr "Öğe yok"
+
+msgid "IDS_BR_OPT_ADD_TO_HOME"
+msgstr "Ana sayfaya ekle"
+
+msgid "IDS_BR_SK_NEXT"
+msgstr "İleri"
+
+msgid "IDS_BR_BODY_DOWNLOADING_ING"
+msgstr "İndiriliyor..."
+
+msgid "IDS_IV_BODY_FAVOURITE"
+msgstr "Sık kullanılanlar"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_PERSONAL_STORAGE"
+msgstr "Kişisel belleğe ekle"
+
+msgid "IDS_DLNA_POP_DISCONNECTED_FROM_PS_CHECK_THE_NETWORK_STATUS_AND_THE_CONNECTED_DEVICE"
+msgstr "%s ile bağlantı kesildi. Ağ durumunu ve bağlı cihazı kontrol edin."
+
+msgid "IDS_DLNA_OPT_VIA_SCREEN_MIRRORING_ABB"
+msgstr "Screen Mirroring yoluyla"
+
+msgid "IDS_DLNA_OPT_VIA_HOME_NETWORK_ABB"
+msgstr "Ev ağı yoluyla"
+
+msgid "IDS_IV_POP_ENTRY_IS_EMPTY"
+msgstr "Girdi yok."
+
+msgid "IDS_FM_POP_UNAVAILABLE_DURING_CALL"
+msgstr "Arama sırasında kullanılamaz."
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maksimum karakter sayısına ulaşıldı."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_SHARE_DRM_FILE"
+msgstr "DRM dosyası paylaşılamıyor."
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Çıkartılıyor..."
+
+msgid "IDS_MUSIC_HEADER_PD_DEVICES"
+msgstr "%d cihaz"
+
+msgid "IDS_MUSIC_BUTTON_ENABLE_MOTION"
+msgstr "Hareket etkinleştir"
+
+msgid "IDS_MUSIC_BUTTON_DONT_ASK_AGAIN"
+msgstr "Tekrar sorma"
+
+msgid "IDS_MUSIC_BODY_NO_RESULTS_FOUND"
+msgstr "Sonuç bulunamadı."
+
+msgid "IDS_VPL_OPT_HDMI"
+msgstr "HDMI"
+
+msgid "IDS_MUSIC_BODY_TURN_PHONE_OVER_TO_MUTE_INCOMING_CALLS_MESSAGE_ALERTS_AND_ALARMS"
+msgstr "Telefonunuzu döndürerek gelen aramaları, mesaj uyarılarını ve alarmları susturun."
+
+msgid "IDS_ST_BODY_NONE"
+msgstr "Hiçbiri"
+
+msgid "IDS_ST_BODY_INTERNET"
+msgstr "İnternet"
+
+msgid "IDS_ST_BODY_GALLERY"
+msgstr "Galeri"
+
+msgid "IDS_ST_BODY_DOUBLE_TAP_TO_MOVE_TO_CONTENT_T_TTS"
+msgstr "İçeriğe taşımak için çift dokunun."
+
+msgid "IDS_MUSIC_BODY_SURROUND"
+msgstr "Surround"
+
+msgid "IDS_MUSIC_OPT_LYRICS_ABB"
+msgstr "Sözler"
+
+msgid "IDS_MUSIC_POP_AFTER_YOU_ADD_TRACKS_TO_MUSIC_ON_YOUR_MOBILE_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Mobil cihazınızda Müzik'e parça ekledikten sonra parçalar burada gösterilir."
+
+msgid "IDS_MUSIC_BODY_SAMPLING_RATE"
+msgstr "Örnekleme hızı"
+
+msgid "IDS_MUSIC_BODY_MARKED_AS_A_FAVOURITE"
+msgstr "Favori olarak işaretlendi."
+
+msgid "IDS_MUSIC_BODY_MUSIC"
+msgstr "Müzik"
+
+msgid "IDS_MUSIC_BODY_NOT_MARKED_AS_A_FAVOURITE"
+msgstr "Favori olarak işaretlenmedi."
+
+msgid "IDS_MUSIC_HEADER_SEARCH_MUSIC_ABB"
+msgstr "Müzik ara"
+
+msgid "IDS_MUSIC_POP_AUTO_RECOMMENDATION_DOES_NOT_SUPPORT_THIS_AUDIO_FILE"
+msgstr "Otomatik öneri bu ses dosyasını desteklemiyor."
+
+msgid "IDS_MUSIC_POP_SORRY_THE_PLAYER_DOES_NOT_SUPPORT_THIS_TYPE_OF_AUDIO_FILE"
+msgstr "Üzgünüm, müzik çalar bu ses dosyası türünü desteklemiyor."
+
+msgid "IDS_MUSIC_BODY_FAVOURITES"
+msgstr "Favorilerim"
+
+msgid "IDS_MUSIC_BODY_MOST_PLAYED"
+msgstr "En sık çalınanlar"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_ADDED"
+msgstr "Son eklenenler"
+
+msgid "IDS_MUSIC_OPT_CREATE_PLAYLIST"
+msgstr "Çalma listesi oluştur"
+
+msgid "IDS_MUSIC_OPT_REMOVE"
+msgstr "Kaldır"
+
+msgid "IDS_MUSIC_OPT_SETAS_CALLER_RINGTONE"
+msgstr "Arayan zil sesi tonu"
+
+msgid "IDS_MUSIC_TAB4_ARTISTS"
+msgstr "Sanatçılar"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD"
+msgstr "Eklenemiyor."
+
+msgid "IDS_MUSIC_POP_UNABLE_CREATE_PLAYLIST"
+msgstr "Parça listesi oluşturulamıyor."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_GET_TAG"
+msgstr "İm alınamıyor."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_MORE_THAN_PD_MUSIC_FILE"
+msgstr " %d müzik dosyasından fazlası eklenemiyor."
+
+msgid "IDS_MUSIC_BODY_ALBUM"
+msgstr "Albüm"
+
+msgid "IDS_MUSIC_BODY_AUTHOR"
+msgstr "Yazar"
+
+msgid "IDS_MUSIC_BODY_COPYRIGHT"
+msgstr "Telif hakkı"
+
+msgid "IDS_MUSIC_BODY_CREATE_PLAYLIST"
+msgstr "Çalma listesi oluştur"
+
+msgid "IDS_MUSIC_BODY_DESCRIPTION"
+msgstr "Açıklama"
+
+msgid "IDS_MUSIC_BODY_FORMAT"
+msgstr "Biçim"
+
+msgid "IDS_MUSIC_BODY_IMPOSSIBLE"
+msgstr "İmkansız"
+
+msgid "IDS_MUSIC_BODY_NO_PLAYLISTS"
+msgstr "Parça listesi yok"
+
+msgid "IDS_MUSIC_BODY_TRACK_NUMBER"
+msgstr "Parça numarası"
+
+msgid "IDS_MUSIC_POP_DELETE_Q"
+msgstr "Sil?"
+
+msgid "IDS_MUSIC_POP_REMOVE_Q"
+msgstr "Kaldır?"
+
+msgid "IDS_MUSIC_POP_UNABLE_RENAME_PLAYLIST"
+msgstr "Parça listesi yeniden adlandırılamıyor."
+
+msgid "IDS_MUSIC_TAB4_ALBUMS"
+msgstr "Albümler"
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Ekleniyor..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "%d albüm silinsin mi?"
+
+msgid "IDS_MUSIC_TAB4_PLAYLISTS"
+msgstr "Parça listeleri"
+
+msgid "IDS_MUSIC_OPT_ADD"
+msgstr "Ekle"
+
+msgid "IDS_MUSIC_BODY_BIOGRAPHY"
+msgstr "Biyografi"
+
+msgid "IDS_MUSIC_BODY_CREDITS"
+msgstr "Krediler"
+
+msgid "IDS_MUSIC_BODY_DETAILS_MEADIA_INFO"
+msgstr "Medya bilgisi"
+
+msgid "IDS_MUSIC_BODY_DISCOGRAPHY"
+msgstr "Diskografi"
+
+msgid "IDS_MUSIC_BODY_LYRIC"
+msgstr "Lirik"
+
+msgid "IDS_MUSIC_BODY_POSSIBLE"
+msgstr "Mümkün"
+
+msgid "IDS_MUSIC_BODY_REVIEW"
+msgstr "İzleme"
+
+msgid "IDS_MUSIC_HEADER_TRACK_LIST"
+msgstr "Parça listesi"
+
+msgid "IDS_MUSIC_BODY_ADD_TO_PLAYLIST"
+msgstr "Çalma listesine ekle"
+
+msgid "IDS_MUSIC_BODY_ARTIST"
+msgstr "Sanatçı"
+
+msgid "IDS_MUSIC_BODY_FORWARDING"
+msgstr "İletme"
+
+msgid "IDS_MUSIC_BODY_RECORDED_DATE"
+msgstr "Date of recording"
+
+msgid "IDS_MUSIC_BODY_PLAYLISTS"
+msgstr "Parça listeleri"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_PLAYED"
+msgstr "Son çalınanlar"
+
+msgid "IDS_MUSIC_BODY_TRACK_LENGTH"
+msgstr "Parça uzunluğu"
+
+msgid "IDS_MUSIC_HEADER_NO_SONGS"
+msgstr "Hiç şarkı yok"
+
+msgid "IDS_MUSIC_POP_THIS_TRACK_WILL_BE_DELETED"
+msgstr "Bu parça silinecek."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_TRACKS_WILL_BE_DELETED"
+msgstr "Seçilen parçalar silinecek."
+
+msgid "IDS_MUSIC_POP_THIS_ARTIST_WILL_BE_DELETED"
+msgstr "Bu sanatçı silinecek."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ARTISTS_WILL_BE_DELETED"
+msgstr "Seçilen sanatçılar silinecek."
+
+msgid "IDS_MUSIC_POP_ALL_ARTISTS_WILL_BE_DELETED"
+msgstr "Tüm sanatçılar silinecek."
+
+msgid "IDS_MUSIC_POP_THIS_FOLDER_WILL_BE_DELETED"
+msgstr "%d klasör silinecek."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_FOLDERS_WILL_BE_DELETED"
+msgstr "Seçilen klasörler silinecek."
+
+msgid "IDS_MUSIC_POP_ALL_FOLDERS_WILL_BE_DELETED"
+msgstr "Tüm klasörler silinecek."
+
+msgid "IDS_MUSIC_POP_THIS_ALBUM_WILL_BE_DELETED"
+msgstr "Bu albüm silinecek."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ALBUMS_WILL_BE_DELETED"
+msgstr "Seçilen albümler silinecek."
+
+msgid "IDS_MUSIC_POP_ALL_ALBUMS_WILL_BE_DELETED"
+msgstr "Tum albümler silinecek."
+
+msgid "IDS_MUSIC_POP_THIS_PLAYLIST_WILL_BE_DELETED"
+msgstr "Bu parça listesi silinecek."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Seçilen çalma listeleri silinecek."
+
+msgid "IDS_MUSIC_POP_ALL_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Tüm çalma listeleri silinecek."
+
+msgid "IDS_MUSIC_HEADER_SONGS"
+msgstr "Şarkılar"
+
+msgid "IDS_MUSIC_OPT_REORDER"
+msgstr "Yeniden düzenle"
+
+msgid "IDS_MUSIC_OPT_SAVE_AS_PLAYLIST"
+msgstr "Parça listesi olarak kaydet"
+
+msgid "IDS_MUSIC_OPT_SETAS_ALARM_TONE"
+msgstr "Alarm sesi"
+
+msgid "IDS_MUSIC_POP_NOTHING_SELECTED"
+msgstr "Bir şey seçilmedi."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Çalınamıyor. Hata meydana geldi."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_UNSUPPORTED_FILETYPE"
+msgstr "Çalınamıyor. Desteklenmeyen dosya türü."
+
+msgid "IDS_MUSIC_SK_SHARE"
+msgstr "Paylaş"
+
+msgid "IDS_MUSIC_TAB4_CONDUCTORS"
+msgstr "Kondüktor"
+
+msgid "IDS_MUSIC_HEADER_SELECT_DEVICE"
+msgstr "Cihaz seçin"
+
+msgid "IDS_MUSIC_SK_VIEW_AS"
+msgstr "Göster"
+
+msgid "IDS_MUSIC_BODY_SOUNDEFFECTS_NORMAL"
+msgstr "Normal"
+
+msgid "IDS_MUSIC_BODY_USER"
+msgstr "Kullanıcı"
+
+msgid "IDS_MUSIC_BODY_VOCAL_M_SOUNDEFFECT"
+msgstr "Vokal"
+
+msgid "IDS_MUSIC_MBODY_BASS_BOOST"
+msgstr "Bas güçlendirme"
+
+msgid "IDS_MUSIC_MBODY_TREBLE_BOOST"
+msgstr "Tiz güçlendirme"
+
+msgid "IDS_MUSIC_BODY_CAFE_M_SOUNDEFFECT"
+msgstr "Kafe"
+
+msgid "IDS_MUSIC_OPT_VIRTUAL_71_CH"
+msgstr "Virtual 7.1 ch"
+
+msgid "IDS_MUSIC_OPT_AFTER_15_MIN_ABB"
+msgstr "15 dakika sonra"
+
+msgid "IDS_MUSIC_BODY_AFTER_30_MIN"
+msgstr "30 dakika sonra"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HOUR"
+msgstr "1 saat sonra"
+
+msgid "IDS_MUSIC_POP_AFTER_1_HOUR_30_MIN"
+msgstr "1 saat 30 dakika sonra"
+
+msgid "IDS_MUSIC_BODY_AFTER_2_HOURS"
+msgstr "2 saat sonra"
+
+msgid "IDS_MUSIC_BODY_MUSIC_AUTO_OFF"
+msgstr "Müziği otomatik kapat"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES_ONLY"
+msgstr "Bu ses efekti sadece kulaklık ve Bluetooth kulaklık modlarında çalışır."
+
+msgid "IDS_MUSIC_TAB4_MUSIC_SQUARE"
+msgstr "Müzik meydanı"
+
+msgid "IDS_MUSIC_POP_NOT_ENOUGH_MUSIC_FILES_TO_PLAY_IN_MUSIC_SQUARE_AT_LEAST_PD_MUSIC_FILES_REQUIRED"
+msgstr "Müzik meydanında çalmak için yeterli müzik dosyası yok. En az %d müzik dosyası gerekli."
+
+msgid "IDS_MUSIC_BODY_PASSION_M_MOOD"
+msgstr "Tutku"
+
+msgid "IDS_MUSIC_BODY_CALM_M_ADJECTIVE"
+msgstr "Sakin"
+
+msgid "IDS_MUSIC_BODY_JOY_M_MOOD"
+msgstr "Eğlence"
+
+msgid "IDS_MUSIC_BODY_LIBRARY_UPDATE"
+msgstr "Kütüphane güncellemesi"
+
+msgid "IDS_MUSIC_POP_UPDATE_LIBRARY_Q"
+msgstr "Kütüphane güncellensin mi?"
+
+msgid "IDS_MUSIC_BODY_CHANGE_AXIS"
+msgstr "Ekseni değiştir"
+
+msgid "IDS_MUSIC_ITAB4_GENRES"
+msgstr "Tarzlar"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_1_TRACK"
+msgstr "1 albüm/1 parça"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_PD_TRACKS"
+msgstr "1 albüm/%d parça"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS_PD_TRACKS"
+msgstr "%d albüm/%d parça"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_CONTROL_MUSIC_PLAYER_WITH_THE_VOICE_COMMANDS_P1SS_P2SS_P3SS_P4SS_P5SS_AND_P6SS"
+msgstr "Müzik Oynatıcıya %1$s, %2$s, %3$s, %4$s, %5$s ve %6$s gibi sesli komutlarla kumanda edebilirsiniz."
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_PD_TRACKS"
+msgstr "%d parçayı karışık çal"
+
+msgid "IDS_MUSIC_BODY_MORE_INFO"
+msgstr "Daha fazla bilgi"
+
+msgid "IDS_MUSIC_HEADER_MY_MUSIC_M_APPLICATION_NAME"
+msgstr "Müziğim"
+
+msgid "IDS_MUSIC_OPT_LIST_VIEW"
+msgstr "Liste görünümü"
+
+msgid "IDS_MUSIC_OPT_PLAY_VIA_GROUP_PLAY"
+msgstr "Group Play yoluyla oynat"
+
+msgid "IDS_MUSIC_POP_TRACK_ADDED_TO_FAVOURITES"
+msgstr "Parça favorilere eklendi."
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_FAVOURITES"
+msgstr "Favorilerden kaldır"
+
+msgid "IDS_MUSIC_BODY_NEW_M_LATEST"
+msgstr "Yeni"
+
+msgid "IDS_MUSIC_OPT_TRACKS"
+msgstr "Parçalar"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL"
+msgstr "Küçük resim görüntüsü"
+
+msgid "IDS_MUSIC_SK_LIST"
+msgstr "Liste"
+
+msgid "IDS_MUSIC_SK_OPEN_PLAYLIST"
+msgstr "Yürütme listesini aç"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALL"
+msgstr "Tümünü çal"
+
+msgid "IDS_MUSIC_POP_SELECTED_LIST_EMPTY"
+msgstr "Seçilen liste boş."
+
+msgid "IDS_MUSIC_BODY_MOODS"
+msgstr "Ruh halleri"
+
+msgid "IDS_MUSIC_BUTTON_YEARS"
+msgstr "Yıl"
+
+msgid "IDS_MUSIC_BODY_OLD"
+msgstr "Eski"
+
+msgid "IDS_MUSIC_BODY_MUSIC_SQUARE_ANALYSES_THE_CHARACTERISTICS_OF_MUSIC_FILES_STORED_ON_YOUR_DEVICE_AND_AUTOMATICALLY_CREATES_PLAYLISTS_MSG"
+msgstr "Music square cihazınıza kayıtlı müzik dosyalarının karakteristiklerini analiz eder ve otomatik olarak parça listeleri oluşturur."
+
+msgid "IDS_MUSIC_BODY_PLAY_TRACKS_WITH_SIMILAR_CHARACTERISTICS_BY_SELECTING_A_SQUARE_ON_THE_SCREEN"
+msgstr "Ekran üzerinde square'ı işaretleyerek benzer karakterdeki müzik parça listelerini yürütün."
+
+msgid "IDS_MUSIC_BODY_VIEW_PLAYLIST_DETAILS_BY_TAPPING_AND_HOLDING_THE_SQUARE_CURRENTLY_BEING_PLAYED"
+msgstr "Çalmakta olan square üzerine basılı tutarak parça listesinin ayrıntılarını görüntüleyin."
+
+msgid "IDS_MUSIC_BODY_NEARBY_DEVICES"
+msgstr "Yakındaki cihazlar"
+
+msgid "IDS_MUSIC_POP_YOU_WILL_NEED_TO_UPDATE_THE_LIBRARY_IF_NEW_SONGS_HAVE_BEEN_ADDED"
+msgstr "Yeni şarkılar eklenmişse, kütüphaneyi güncellemeniz gerekir."
+
+msgid "IDS_MUSIC_BODY_NO_ALBUMS"
+msgstr "Albüm yok"
+
+msgid "IDS_MUSIC_BODY_NO_ARTISTS"
+msgstr "Sanatçı yok"
+
+msgid "IDS_MUSIC_OPT_PLAY_SPEED_ABB"
+msgstr "Oynatma hızı"
+
+msgid "IDS_MUSIC_BODY_CONCERT_HALL_M_SOUNDEFFECT"
+msgstr "Konser salonu"
+
+msgid "IDS_MUSIC_OPT_ADD_TO"
+msgstr "Ekle"
+
+msgid "IDS_MUSIC_SK_VIEW"
+msgstr "Göster"
+
+msgid "IDS_MUSIC_OPT_LISTBY_RECENTLY_ADDED"
+msgstr "Son eklenenler"
+
+msgid "IDS_MUSIC_BODY_NOT_USED"
+msgstr "Kullanılmıyor"
+
+msgid "IDS_MUSIC_BODY_MAKE_AVAILABLE_OFFLINE"
+msgstr "Offline kullanıma izin ver"
+
+msgid "IDS_MUSIC_OPT_AFTER_P1SD_HRS_P2SD_MINS"
+msgstr "%1$d saat %2$d dk sonra"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS"
+msgstr "%d sa sonra"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_MINS"
+msgstr "%d dak sonra"
+
+msgid "IDS_MUSIC_BODY_NO_FOLDERS"
+msgstr "Klasör yok"
+
+msgid "IDS_MUSIC_BODY_NO_TRACKS"
+msgstr "Parça yok"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS"
+msgstr "%d albüm"
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS"
+msgstr "%d sanatçı"
+
+msgid "IDS_MUSIC_BODY_PD_GENRES"
+msgstr "%d tür"
+
+msgid "IDS_MUSIC_BODY_PD_PLAYLISTS"
+msgstr "%d parça listesi"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_ABB"
+msgstr "%d parça"
+
+msgid "IDS_MUSIC_BODY_PLAYLIST"
+msgstr "Çalma listesi"
+
+msgid "IDS_MUSIC_HEADER_SIMILAR_ALBUMS"
+msgstr "Benzer albümler"
+
+msgid "IDS_MUSIC_HEADER_TRACK"
+msgstr "Parça"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL_VIEW"
+msgstr "Küçük resim görünümü"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "Bu ses efekti sadece kulaklık modunda çalışır."
+
+msgid "IDS_MUSIC_OPT_ALL_CONTENT_ABB2"
+msgstr "Tüm içerik"
+
+msgid "IDS_MUSIC_BODY_A_NETWORK_CONNECTION_IS_REQUIRED_TO_PLAY_THIS_FILE_CHECK_YOUR_NETWORK_CONNECTION_AND_TRY_AGAIN"
+msgstr "Bu dosyayı çalmak için bir ağ bağlantısı gerekli. Ağ bağlantınızı kontrol edin ve tekrar deneyin."
+
+msgid "IDS_MUSIC_POP_FILE_TYPE_NOT_SUPPORTED"
+msgstr "Dosya tipi desteklenmiyor."
+
+msgid "IDS_MUSIC_POP_UPDATING_ING"
+msgstr "Güncelleniyor..."
+
+msgid "IDS_MUSIC_OPT_SEARCH_ABB"
+msgstr "Ara"
+
+msgid "IDS_MUSIC_OPT_SEARCH_BY"
+msgstr "Ara"
+
+msgid "IDS_MUSIC_BODY_RELATED_VIDEOS"
+msgstr "İlgili videolar"
+
+msgid "IDS_MUSIC_BODY_SMART_VOLUME_ABB"
+msgstr "Akıllı ses düzeyi"
+
+msgid "IDS_MUSIC_BODY_THE_VOLUME_OF_ALL_TRACKS_WILL_BE_ADJUSTED_TO_LEVEL_PD"
+msgstr "Tüm parçaların ses düzeyi %d düzeyine ayarlanacaktır."
+
+msgid "IDS_MUSIC_HEADER_SMART_VOLUME_IS_ENABLED"
+msgstr "Akıllı ses düzeyi etkin"
+
+msgid "IDS_MUSIC_OPT_CONNECTION_INFO_ABB"
+msgstr "Bağlantı bilgisi"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_PD_MINS"
+msgstr "1 sa %d dk sonra"
+
+msgid "IDS_MUSIC_BODY_ADAPT_SOUND_ABB"
+msgstr "Adapt Sound"
+
+msgid "IDS_MUSIC_BODY_MY_DEVICE"
+msgstr "Cihazım"
+
+msgid "IDS_MUSIC_POP_LISTENING_AT_A_HIGH_VOLUME_FOR_A_LONG_TIME_MAY_DAMAGE_YOUR_HEARING_RAISE_THE_VOLUME_ABOVE_SAFE_LEVELS_Q"
+msgstr "Uzun bir süre yüksek bir sesle dinlemek işitmenize zarar verebilir. Ses güvenli seviyelerin üstüne çıkarılsın mı?"
+
+msgid "IDS_MUSIC_POP_ALREADY_EXISTS"
+msgstr "Zaten var."
+
+msgid "IDS_MUSIC_OPT_SCAN_FOR_NEARBY_DEVICES"
+msgstr "Yakın cihazları tara"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR"
+msgstr "1 sa sonra"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_1_MIN"
+msgstr "1 sa 1 dak. sonra"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS_1_MIN"
+msgstr "%d saat 1 dakika sonra"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_MIN"
+msgstr "1 dak sonra"
+
+msgid "IDS_MUSIC_OPT_GO_TO_STORE"
+msgstr "Mağazaya git"
+
+msgid "IDS_MUSIC_SK3_ADD_TRACKS"
+msgstr "Parça ekle"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FROM_MUSIC_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Müzik'ten parçaları indirdikten sonra burada gösterilecektir"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_YOUR_FAVOURITES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Favorilerinize parcalar ekledikten sonra, burada gösterilecektir."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_PLAY_TRACKS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Parçaları çaldıktan sonra, burada gösterileceklerdir."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_PS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "%s konumuna parça ekledikten sonra, burada gösterileceklerdir"
+
+msgid "IDS_MUSIC_BODY_NO_PURCHASED_CONTENT"
+msgstr "Satın alınmış içerik yok"
+
+msgid "IDS_MUSIC_SK_SAVE_AS"
+msgstr "Frklı kyt"
+
+msgid "IDS_MUSIC_POP_MUSICPLAYER_UPDATING_FAILED"
+msgstr "Güncelleme başarısız."
+
+msgid "IDS_MUSIC_BODY_EXCITING_M_ADJECTIVE"
+msgstr "Heyecanlı"
+
+msgid "IDS_MUSIC_BODY_SEARCH_MY_MUSIC"
+msgstr "Müziğimde ara"
+
+msgid "IDS_MUSIC_HEADER_CONNECTED_DEVICES"
+msgstr "Bağlı cihazlar"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST_PS"
+msgstr "Parça listem %s"
+
+msgid "IDS_MUSIC_BODY_NO_DEVICES"
+msgstr "Cihaz yok"
+
+msgid "IDS_MUSIC_HEADER_AVAILABLE_DEVICES_ABB"
+msgstr "Kllanılablr cihazlar"
+
+msgid "IDS_MUSIC_POP_SET"
+msgstr "Ayarlandı"
+
+msgid "IDS_MUSIC_POP_REMOVE_FAILED"
+msgstr "Kaldırılamadı."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_USE_FAST_FORWARD_AND_REWIND_WHEN_NEARBY_DEVICES_ARE_ENABLED"
+msgstr "Civardaki cihazlar etkinken ileri veya geri sarma kullanılamaz."
+
+msgid "IDS_MUSIC_OPT_SET_AS"
+msgstr "Yap"
+
+msgid "IDS_MUSIC_OPT_HEADPHONES_ABB"
+msgstr "Kulaklıklar"
+
+msgid "IDS_MUSIC_OPT_SPEAKER"
+msgstr "Hoparlör"
+
+msgid "IDS_MUSIC_BODY_1_SONG"
+msgstr "1 şarkı"
+
+msgid "IDS_MUSIC_BODY_PD_SONGS"
+msgstr "%d şarkı"
+
+msgid "IDS_MUSIC_BODY_1_TRACK"
+msgstr "1 parça"
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_1_TRACK"
+msgstr "1 parçayı karışık çal"
+
+msgid "IDS_MUSIC_POP_NO_MUSIC_FOUND_FOR_SELECTED_CELL"
+msgstr "Seçili hücre için müzik dosyası bulunamadı"
+
+msgid "IDS_MUSIC_BODY_DO_NOT_SHOW_AGAIN"
+msgstr "Bir daha gösterme"
+
+msgid "IDS_MUSIC_BODY_VARIOUS_ARTISTS"
+msgstr "Çeşitli sanatçılar"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_HOME_SCREEN_ABB"
+msgstr "Ana ekrana ekle"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_FAVOURITES"
+msgstr "Favorilere ekle"
+
+msgid "IDS_MUSIC_OPT_EDIT_TITLE"
+msgstr "Başlığı düzenle"
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_PERSONAL_STORAGE"
+msgstr "Kişisel depolamadan kaldır"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FOLDERS_WILL_BE_SHOWN"
+msgstr "Klasörler siz parçaları indirdikten sonra gösterilecek"
+
+msgid "IDS_MUSIC_BODY_SETTINGS_VOLUME"
+msgstr "Ses seviyesi"
+
+msgid "IDS_MUSIC_BODY_REPEAT_OFF"
+msgstr "Tekrarlama kapalı"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_REPEAT_ALL"
+msgstr "Tümünü tekrarla"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_OFF"
+msgstr "Karışık çalmayı kapat"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_ON"
+msgstr "Karışık çalmayı aç"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST"
+msgstr "Parça listem"
+
+msgid "IDS_MUSIC_MBODY_DEFAULT_PLAYLISTS"
+msgstr "Varsayılan parça listelri"
+
+msgid "IDS_MUSIC_BODY_DETAILS_RECORDING_DATE"
+msgstr "Kayıt tarihi"
+
+msgid "IDS_MUSIC_OPT_ALBUM_ART_ABB"
+msgstr "Albüm kpğı"
+
+msgid "IDS_MUSIC_BODY_1_GENRE"
+msgstr "1 tarz"
+
+msgid "IDS_MUSIC_BODY_PD_FOLDERS"
+msgstr "%d klasörleri"
+
+msgid "IDS_MUSIC_BODY_1_FOLDER"
+msgstr "1 klasör"
+
+msgid "IDS_MUSIC_BODY_1_ARTIST"
+msgstr "1 sanatçı"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_M_MUSIC"
+msgstr "1 albüm"
+
+msgid "IDS_MUSIC_BODY_1_PLAYLIST"
+msgstr "1 çalma listesi"
+
+msgid "IDS_MUSIC_BODY_MUSIC_PLAYER"
+msgstr "Müzik Çalar"
+
+msgid "IDS_MUSIC_BUTTON_MOVE"
+msgstr "Taşı"
+
+msgid "IDS_MUSIC_BUTTON_AUTO_RECOMMENDATIONS"
+msgstr "Otomatik öneriler"
+
+msgid "IDS_MUSIC_BUTTON_FROM_THE_BEGINNING"
+msgstr "Baştan"
+
+msgid "IDS_MUSIC_HEADER_SUGGESTIONS_FOR_YOU"
+msgstr "Sizin için öneriler"
+
+msgid "IDS_MUSIC_OPT_SAVE"
+msgstr "Kaydet"
+
+msgid "IDS_MUSIC_TAB4_BASIC_M_EQUALIZING"
+msgstr "Temel"
+
+msgid "IDS_MUSIC_BODY_INSTRUMENT"
+msgstr "Enstrüman"
+
+msgid "IDS_MUSIC_BODY_TREBLE_M_EQUALISER"
+msgstr "Tiz"
+
+msgid "IDS_MUSIC_BODY_BASS_M_EQUALISER"
+msgstr "Bass"
+
+msgid "IDS_MUSIC_BODY_NO_EFFECTS_ARE_APPLIED_IN_THIS_MODE_ABB"
+msgstr "Bu moda efekt uygulanmadı."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_TIMBRE_OF_A_TUBE_AMP_ABB"
+msgstr "Boru amfi tınısını simüle eder."
+
+msgid "IDS_MUSIC_OPT_TUBE_AMP_EFFECT"
+msgstr "Tube amp efekti"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_EFFECT_OF_VIRTUAL_71_CHANNEL_SURROUND_SOUND_ABB"
+msgstr "Kanal 7.1 kanal surround ses efektini simule eder."
+
+msgid "IDS_MUSIC_HEADER_SMALL_ROOM_M_REVERB_ABB"
+msgstr "Küçük oda"
+
+msgid "IDS_MUSIC_HEADER_LARGE_ROOM_M_REVERB_ABB"
+msgstr "Büyük oda"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_LARGE_ROOM_EG_A_THEATRE_ABB"
+msgstr "Tiyatro gibi büyük bir odanın yankısını simule eder."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_CONCERT_HALL_ABB"
+msgstr "Konser salonunun yankısını simule eder."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_SMALL_SPACE_EG_A_STUDIO_ABB"
+msgstr "Stüdyo gibi küçük bir alanın yankısını simule eder."
+
+msgid "IDS_MUSIC_BUTTON_3D_CHN"
+msgstr "3D"
+
+msgid "IDS_MUSIC_BODY_CLARITY_M_SOUNDEFFECT"
+msgstr "Netlik"
+
+msgid "IDS_MUSIC_BUTTON_RESET"
+msgstr "Sıfırla"
+
+msgid "IDS_MUSIC_TAB_YEARS"
+msgstr "Yıl"
+
+msgid "IDS_MUSIC_TAB_GENRES"
+msgstr "Tarzlar"
+
+msgid "IDS_MUSIC_TAB_COMPOSERS"
+msgstr "Besteci"
+
+msgid "IDS_MUSIC_TAB_ALL_TRACKS"
+msgstr "Tüm parçalar"
+
+msgid "IDS_MUSIC_SK3_GO_TO_QUICK_LIST"
+msgstr "Hızlı lsteye git"
+
+msgid "IDS_MUSIC_SK3_FIND"
+msgstr "Bul"
+
+msgid "IDS_MUSIC_SK3_ADD_TO_QUICK_LIST"
+msgstr "Hzlı lsteye ekle"
+
+msgid "IDS_MUSIC_POP_UNAUTHORISED_VIDEO_FILE_FOR_TV_OUT"
+msgstr "TV çıkışı için video yetkisiz."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_CREATE_MAXIMUM_NUMBER_OF_PLAYLISTS_REACHED"
+msgstr "Oluşturulamıyor. Maksimum parça listesi sayısına ulaşıldı."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTING_BLUETOOTH_HEADSET"
+msgstr "Bluetooth kulaklığa bağlanırken ses şiddeti ayarlanamıyor."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTED_TO_BLUETOOTH_HEADSET"
+msgstr "Bluetooth kulaklığa bağlanırken ses şiddeti ayarlanamıyor."
+
+msgid "IDS_MUSIC_POP_STOP_MUSIC_PLAYER_Q"
+msgstr "Müzik Çalar durdurulsun mu?"
+
+msgid "IDS_MUSIC_POP_PLEASE_EXIT_SILENT_MODE"
+msgstr "Lütfen sessiz moddan çıkın."
+
+msgid "IDS_MUSIC_POP_NETWORK_FAILURE"
+msgstr "Şebeke hatası var."
+
+msgid "IDS_MUSIC_POP_MEMORY_CARD_LOADED"
+msgstr "Hafıza kartı yüklendi."
+
+msgid "IDS_MUSIC_POP_DEVICE_SETTINGS_ERROR"
+msgstr "Cihaz ayarları hatalı."
+
+msgid "IDS_MUSIC_POP_COULD_NOT_FIND_A_MATCH_FOR_THE_SONG"
+msgstr "Şarkı için eşleşme bulunamadı."
+
+msgid "IDS_MUSIC_POP_BUFFERING_MSTATUS"
+msgstr "Ara Bel. Alma"
+
+msgid "IDS_MUSIC_POP_BT_HEADSET_ONLY_SUPPORTS_NORMAL_EFFECTS_SETTING"
+msgstr "BT kulaklık sadece normal efekt ayarını destekler."
+
+msgid "IDS_MUSIC_POP_APPLICATION_WILL_BE_CLOSED"
+msgstr "Uygulama kapatılacak."
+
+msgid "IDS_MUSIC_POP_ADDED_GO_TO_WISH_LIST_Q"
+msgstr "Eklendi. İstek listesine gidilsin mi?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_THE_SERVICE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "Bu servise erişim ücretli olabilir. Devam edilsin mi?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_STORE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "Erişim ücretli olabilir. Devam edilsin mi?"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_ONLY_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES"
+msgstr "5.1 kanal ses efekti sadece kulaklık ve Bluetooth kulaklık modlarında çalışır."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "5.1 kanal ses efekti sadece kulaklık modunda çalışır."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECTS_NOT_SUPPORTED_BY_SPEAKER"
+msgstr "5.1 kanal ses efektleri hoparlör tarafından desteklenmiyor."
+
+msgid "IDS_MUSIC_OPT_VIEW_BY_COVER_ART"
+msgstr "Kapak resmine göre göster"
+
+msgid "IDS_MUSIC_OPT_SEND_TRACK"
+msgstr "Parçayı gönder"
+
+msgid "IDS_MUSIC_OPT_RATE_TRACK"
+msgstr "Parçayı notlandır"
+
+msgid "IDS_MUSIC_OPT_PLAYLIST_MOVE_TRACK_IN_PLAYLIST"
+msgstr "Parçayı çalma listesinde taşı"
+
+msgid "IDS_MUSIC_OPT_OPENPLAYLIST_CURRENT"
+msgstr "Geçerli"
+
+msgid "IDS_MUSIC_OPT_DELETE_PLAYLIST"
+msgstr "Parça listesini sil"
+
+msgid "IDS_MUSIC_OPT_BACKGROUND_PLAYING"
+msgstr "Arkaplanda yürütme"
+
+msgid "IDS_MUSIC_HEADER_EFFECTS"
+msgstr "Efektler"
+
+msgid "IDS_MUSIC_BUTTON_BUY_NOW"
+msgstr "Satın al"
+
+msgid "IDS_MUSIC_BODY_WOW_HD"
+msgstr "Wow HD"
+
+msgid "IDS_MUSIC_BODY_WISHLIST"
+msgstr "İstek listesi"
+
+msgid "IDS_MUSIC_BODY_WIDE"
+msgstr "Geniş"
+
+msgid "IDS_MUSIC_BODY_WHA_WHA"
+msgstr "Wha-wha"
+
+msgid "IDS_MUSIC_BODY_VIBE_WOOFER"
+msgstr "Vibe woofer"
+
+msgid "IDS_MUSIC_BODY_TREMOLO"
+msgstr "Titreklik"
+
+msgid "IDS_MUSIC_BODY_TAP_TWICE_TO_PLAY_PAUSE_MUSIC"
+msgstr "Muzik oynatmak/duraklatmak için iki kez dokun."
+
+msgid "IDS_MUSIC_BODY_SHARE_TRACK_VIA_BLUETOOTH"
+msgstr "Şarkıyı Bluetooth ile paylaş"
+
+msgid "IDS_MUSIC_BODY_SETUPWIZARD_WELCOME_TO_THE_MUSIC_SETUP_WIZARD_CONTINUE_Q"
+msgstr "Müzik kurulum sihirbazına hoşgeldiniz.Takip eden ekranlar telefonunuzu yapılandırmanıza yardım edecek. Devam edilsin mi?"
+
+msgid "IDS_MUSIC_BODY_QUICK_LIST"
+msgstr "Hızlı liste"
+
+msgid "IDS_MUSIC_BODY_PLAYINGSETTINGS_SOUND_EFFECTS"
+msgstr "Ses efektleri"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_ALL"
+msgstr "Hepsi"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_1"
+msgstr "1"
+
+msgid "IDS_MUSIC_BODY_PLAYERSETTINGS_VOLUME"
+msgstr "Ses seviyesi"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_SELECTED"
+msgstr "%d parca seçildi."
+
+msgid "IDS_MUSIC_BODY_NO_PODCASTS"
+msgstr "Podcast yok"
+
+msgid "IDS_MUSIC_BODY_FIND_SIMILAR"
+msgstr "Benzer bul"
+
+msgid "IDS_MUSIC_BODY_BACKGROUND_PLAY"
+msgstr "Arka plan yürütme"
+
+msgid "IDS_MUSIC_BODY_51_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "5.1 kanalı sadece ses efektleri kapalı olduğunda etkinleştirilebilir."
+
+msgid "IDS_MUSIC_TAB4_PODCASTS"
+msgstr "Pod cast’ler"
+
+msgid "IDS_MUSIC_SK2_EDIT_IMAGE"
+msgstr "Resmi düzenle"
+
+msgid "IDS_MUSIC_POP_PLAYING_ANY_SOUNDS_WILL_STOP_AND_SAVE_YOUR_VOICE_RECORDING_PLAY_Q"
+msgstr "Herhangi bir sesin çalınması ses kaydını durduracak kaydedecektir. Çalınsın mı?"
+
+msgid "IDS_MUSIC_POP_MAXIMUM_NUMBER_OF_ITEMS_HPD_SELECTED"
+msgstr "Maksimum seçilen öğe sayısı (%d)'dır."
+
+msgid "IDS_MUSIC_POP_BLUETOOTH_DISCONNECTED"
+msgstr "Bluetooth bağlantısı kesildi."
+
+msgid "IDS_MUSIC_POP_5_1_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "5.1 kanalı sadece ses efektleri kapalı olduğunda etkinleştirilebilir."
+
+msgid "IDS_MUSIC_OPT_TAKE_PICTURE"
+msgstr "Resim çek"
+
+msgid "IDS_MUSIC_OPT_SHOW_MUSIC_VIEW_ABB"
+msgstr "Müzik görünümünü göster"
+
+msgid "IDS_MUSIC_OPT_PAUSE"
+msgstr "Duraklat"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALBUM"
+msgstr "Albümü çal"
+
+msgid "IDS_MUSIC_OPT_LIST_BY"
+msgstr "Listele"
+
+msgid "IDS_MUSIC_OPT_HISTORY"
+msgstr "Geçmiş"
+
+msgid "IDS_MUSIC_OPT_HIDE_MUSIC_VIEW_ABB"
+msgstr "Müzik görünümünü gizle"
+
+msgid "IDS_MUSIC_OPT_FIND_TAG"
+msgstr "Etiket bul"
+
+msgid "IDS_MUSIC_OPT_DROPBOX_CONTENT_ABB"
+msgstr "Dropbox içeriği"
+
+msgid "IDS_MUSIC_OPT_CONTENT_ON_PHONE_ABB"
+msgstr "Telfondaki içerik"
+
+msgid "IDS_MUSIC_OPT_CHANGE_IMAGE"
+msgstr "Görüntüyü değiştir"
+
+msgid "IDS_MUSIC_HEADER_DELETE_DROPBOX_DATA_ABB"
+msgstr "Dropbox verilerini sil"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_STREAM_YOUR_MUSIC_TO_DEVICES_USING_ALLSHARE"
+msgstr "AllShare kullanarak, müziğinizi cihazlara yayınlayabilirsiniz."
+
+msgid "IDS_MUSIC_BODY_VALIDITY"
+msgstr "Geçerlilik"
+
+msgid "IDS_MUSIC_BODY_TYPE_CNOUN"
+msgstr "Tür"
+
+msgid "IDS_MUSIC_BODY_THIS_WILL_DELETE_THE_FILE_FROM_THE_SERVER_AND_ANY_CONNECTED_DEVICES_AS_WELL"
+msgstr "Bu, dosyayı sunucudan ve bağlı tüm cihazlardan silecektir."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_ARTISTS"
+msgstr "Sanatçılar"
+
+msgid "IDS_MUSIC_BODY_PLAYINGDETAILS_ALBUM_ART"
+msgstr "Albüm kapağı"
+
+msgid "IDS_MUSIC_BODY_OTHER_CONTENTS"
+msgstr "Diğer içerikler"
+
+msgid "IDS_MUSIC_BODY_NAME_TOO_LONG"
+msgstr "Ad çok uzun."
+
+msgid "IDS_MUSIC_BODY_MUSIC_CLARITY"
+msgstr "Müzik netliği"
+
+msgid "IDS_MUSIC_BODY_HIGH_VOLUMES_MAY_HARM_YOUR_HEARING_IF_YOU_LISTEN_FOR_A_LONG_TIME"
+msgstr "Yüksek ses düzeyi, uzun süre dinlemeniz durumunda işitme duyunuza zarar verebilir."
+
+msgid "IDS_MUSIC_BODY_AVAILABLE_USES"
+msgstr "Mevcut kullanımlar"
+
+msgid "IDS_MUSIC_TPOP_SOUND_EFFECTS_ONLY_AVAILABLE_WHILE_HEADPHONES_CONNECTED"
+msgstr "Ses efektleri yalnızca kulaklık bağlıyken kullanılabilir."
+
+msgid "IDS_ST_OPT_ADD_TO_YOUR_PERSONAL_STORAGE"
+msgstr "Kişisel depolamanıza ekleyin"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_YOUR_PERSONAL_STORAGE"
+msgstr "Kişisel depolamanızdan çıkartın"
+
+msgid "IDS_ST_BODY_CONTEXTUAL_POP_UP_T_TALKBACK"
+msgstr "Bağlamsal pencere"
+
+msgid "IDS_ST_BODY_A_CONTEXTUAL_POP_UP_IS_OPEN_DOUBLE_TAP_TO_CLOSE_IT_T_TALKBACK"
+msgstr "Bağlamsal bir pencere açık. Bunu kapamak için çift dokunun."
+
+msgid "IDS_ST_BODY_REPEAT_ONE"
+msgstr "Birini tekrarla"
+
+msgid "IDS_ST_BUTTON_MOVING_ING"
+msgstr "Taşınıyor..."
+
+msgid "IDS_HS_BODY_SELECT_UP_TO_PD_ITEMS"
+msgstr "En fazla %d öğe seç"
+
+msgid "IDS_CAM_BODY_TAB_T_TTS"
+msgstr "Sekme"
+
+msgid "IDS_DLNA_OPT2_CHANGE_PLAYER"
+msgstr "Oynatıcı değiştir"
+
+msgid "IDS_BR_SK_TABS"
+msgstr "Sekmeler"
+
+msgid "IDS_MF_BODY_DROPBOX_ABB"
+msgstr "DropBox"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Otomatik öneriler ses dosyalarındaki vurguları ortaya çıkarabilir."
+
+msgid "IDS_MF_BODY_PARENT_RATING"
+msgstr "Ebeveyn sıralaması"
+
+msgid "IDS_VR_POP_FILE_NOT_FOUND"
+msgstr "Dosya bulunamadı."
+
+msgid "IDS_PB_POP_CALLER_RINGTONE_SAVED"
+msgstr "Arayan zil tonu kaydedildi."
+
+msgid "IDS_MUSIC_BODY_BIT_DEPTH"
+msgstr "Bit derinliği"
+
+msgid "IDS_MUSIC_BODY_SIZE"
+msgstr "Boyut"
+
+msgid "IDS_MF_HEADER_PD_SELECTED"
+msgstr "%d seçildi"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_THIS_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Parçalar, bu cihaza eklendikten sonra burada gösterilecektir."
+
+msgid "IDS_MUSIC_TMBODY_LENGTH"
+msgstr "Uzunluk"
+
+msgid "IDS_MUSIC_POP_1_FOLDER_WILL_BE_DELETED"
+msgstr "1 klasör silinecek."
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "İçerik yok"
+
+msgid "IDS_MUSIC_ITAB4_FOLDERS"
+msgstr "Klasörler"
+
+msgid "IDS_MUSIC_HEADER_MY_PLAYLISTS_ABB"
+msgstr "Parça listelerim"
+
+msgid "IDS_MP_BODY_SOUND_PLAYER"
+msgstr "Ses oynatıcı"
+
+msgid "IDS_MUSIC_OPT_SETTINGS"
+msgstr "Ayarlar"
+
+msgid "IDS_MUSIC_POP_DELETING"
+msgstr "Siliniyor..."
+
+msgid "IDS_MUSIC_POP_1_TRACK_WILL_BE_DELETED"
+msgstr "1 parça silinecek."
+
+msgid "IDS_MUSIC_POP_ALL_TRACKS_WILL_BE_DELETED"
+msgstr "Tüm parçalar silinecek"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_WILL_BE_DELETED"
+msgstr "%d parça silinecek."
+
+msgid "IDS_MUSIC_POP_1_PLAYLIST_WILL_BE_DELETED"
+msgstr "1 çalma listesi silinecek."
+
+msgid "IDS_MUSIC_POP_PD_PLAYLISTS_WILL_BE_DELETED"
+msgstr "%d çalma listesi silinecek."
+
+msgid "IDS_MUSIC_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "%d albüm silinecek."
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS_WILL_BE_DELETED"
+msgstr "%d sanatçı silinecek."
+
+msgid "IDS_MUSIC_POP_PD_FOLDERS_WILL_BE_DELETED"
+msgstr "%d klasör silinecek."
+
+msgid "IDS_ST_POP_CONNECTION_FAILED"
+msgstr "Bağlantı başarısız."
+
+msgid "IDS_MUSIC_BODY_CLASSIC"
+msgstr "Klasik"
+
+msgid "IDS_MUSIC_BODY_ROCK"
+msgstr "Rock"
+
+msgid "IDS_MUSIC_BODY_JAZZ"
+msgstr "Jazz"
+
+msgid "IDS_MUSIC_BODY_POP"
+msgstr "Pop"
+
+msgid "IDS_MUSIC_BODY_AUTO"
+msgstr "Otomatik"
+
+msgid "IDS_MUSIC_POP_CURRENT_SOUND_EFFECT_NOT_SUPPORTED_BY_HDMI"
+msgstr "Geçerli ses efekti HDMI tarafından desteklenmiyor."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_BLUETOOTH"
+msgstr "Ses efektleri Bluetooth tarafından desteklenmiyor."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_LINE_OUT"
+msgstr "Ses efektleri hat çıkış tarafından desteklenmiyor."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_HDMI"
+msgstr "Ses efektleri HDMI tarafından desteklenmiyor."
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EFFECT"
+msgstr "Boru amfi"
+
+msgid "IDS_MUSIC_BODY_CUSTOM"
+msgstr "Özel"
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EQUALISER_ABB"
+msgstr "Boru amfi"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "Çalma listesine %d parça eklendi."
+
+msgid "IDS_MUSIC_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "Çalma listesine 1 parça eklendi"
+
+msgid "IDS_MUSIC_HEADER_ADD_TRACKS_TO_PLAYLIST_ABB"
+msgstr "Parçaları çalma listsne ekle"
+
+msgid "IDS_MUSIC_POP_PS_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "%s zaten kullanımda. Başka ad girin."
+
+msgid "IDS_MUSIC_TMBODY_DATE_OF_RECORDING"
+msgstr "Kayıt tarihi"
+
+msgid "IDS_MBP_TPOP_TRACK_SET_AS_ALARM_TONE"
+msgstr "Parça alarm sesi olarak ayarlandı."
+
+msgid "IDS_MUSIC_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Sonuç bulunamadı"
+
+msgid "IDS_MUSIC_OPT_DEFAULT_RINGTONE_ABB"
+msgstr "Varsayılan zil sesi"
+
+msgid "IDS_MUSIC_TPOP_TRACK_SET_AS_CALLER_RINGTONE"
+msgstr "Parça, arayan zil sesi olarak ayarlandı."
+
+msgid "IDS_MP_TPOP_TRACK_SET_AS_RINGTONE"
+msgstr "Parça zil sesi olarak ayarlandı."
+
+msgid "IDS_DLNA_BODY_ADD_TO_NOW_PLAYING_LIST"
+msgstr "Şimdi çalan listesine ekle"
+
+msgid "IDS_MUSIC_TPOP_EQUALISER_SETTINGS_WILL_BE_APPLIED_WHILE_PLAYING_MUSIC"
+msgstr "Müzik oynatırken ekolayzır ayarları uygulanacak."
+
+msgid "IDS_ST_BODY_ALERT"
+msgstr "Uyarı"
+
+msgid "IDS_IV_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 albüm silinecek"
+
+msgid "IDS_MUSIC_OPT_SD_CARD"
+msgstr "SD kart"
+
+msgid "IDS_MUSIC_SBODY_DEVICE_STORAGE"
+msgstr "Cihaz hafızası"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE"
+msgstr "Çalma listesi ismi zaten kullanılıyor."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_PD"
+msgstr "Çalma listesi %d"
+
+msgid "IDS_MUSIC_HEADER_CREATE"
+msgstr "Oluştur"
+
+msgid "IDS_MUSIC_HEADER_EQUALISER_PRESET_ABB"
+msgstr "Ekolayzır önayarı"
+
+msgid "IDS_MUSIC_OPT_AUTOMATIC_M_EQUALIZER_EFFECT"
+msgstr "Otomatik"
+
+msgid "IDS_MUSIC_OPT_CLASSICAL_M_EQUALIZER_EFFECT"
+msgstr "Klasik"
+
+msgid "IDS_MUSIC_HEADER_ENVIRONMENT_EFFECT_ABB"
+msgstr "Çevre efekti"
+
+msgid "IDS_VIDEO_POP_THE_FILE_TYPE_IS_NOT_SUPPORTED"
+msgstr "Bu dosya türü desteklenmiyor."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_CREATE_PLAYLISTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Parça listesi oluşturduktan sonra, burada gösterileceklerdir"
+
+msgid "IDS_ST_HEADER_SELECT_AUDIO_DEVICE_ABB"
+msgstr "Ses cihazını seç"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "Çalma listesi ismi zaten kullanılıyor. Başka bir isim girin."
+
+msgid "IDS_MUSIC_HEADER_SOUNDALIVE_ABB3"
+msgstr "SoundAlive"
+
+msgid "IDS_MUSIC_OPT_NOW_PLAYING_LIST"
+msgstr "Şimdi yürütülüyor listesi"
+
+msgid "IDS_MUSIC_OPT_SHOW_LYRICS"
+msgstr "Şarkı sözlerini göster"
+
+msgid "IDS_MUSIC_OPT_HIDE_LYRICS"
+msgstr "Şarkı sözlerini gizle"
+
+msgid "IDS_MUSIC_TPOP_UNABLE_TO_PLAY_MUSIC_DURING_CALLS"
+msgstr "Arama esnasında müzik çalınamıyor."
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Sil"
+
+msgid "IDS_MUSIC_HEADER_SELECT"
+msgstr "Seç"
+
+msgid "IDS_TPLATFORM_OPT_NFC"
+msgstr "NFC"
+
+msgid "IDS_MUSIC_HEADER_UNABLE_TO_PLAY_TRACK"
+msgstr "Parça oynatılamıyor"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "BİTTİ"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "İPTAL"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "SİL"
+
+msgid "IDS_MUSIC_POP_RENAME"
+msgstr "Yeniden adlandır"
+
+msgid "IDS_MUSIC_OPT_MESSAGE"
+msgstr "Mesaj"
+
+msgid "IDS_MUSIC_SK_OK"
+msgstr "Tamam"
+
+msgid "IDS_MUSIC_SK_CANCEL"
+msgstr "İptal"
+
+msgid "IDS_MUSIC_BUTTON_REFRESH"
+msgstr "Yenile"
+
+msgid "IDS_MUSIC_BODY_SELECT_ALL"
+msgstr "Hepsini seç"
+
+msgid "IDS_MUSIC_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_MUSIC_POP_DELETED"
+msgstr "Silindi."
+
+msgid "IDS_MUSIC_OPT_STOP"
+msgstr "Durdur"
+
+msgid "IDS_MUSIC_BODY_UNKNOWN"
+msgstr "Bilinmeyen"
+
+msgid "IDS_MUSIC_BODY_TITLE"
+msgstr "Başlık"
+
+msgid "IDS_MUSIC_OPT_SENDVIA_EMAIL"
+msgstr "E-posta"
+
+msgid "IDS_MUSIC_OPT_BLUETOOTH"
+msgstr "Bluetooth"
+
+msgid "IDS_MUSIC_HEADER_DOWNLOAD"
+msgstr "İndir"
+
+msgid "IDS_MUSIC_POP_LOW_BATTERY"
+msgstr "Düşük pil."
+
+msgid "IDS_MUSIC_HEADER_AUDIO_DEVICE"
+msgstr "Ses cihazı"
+
+msgid "IDS_MUSIC_HEADER_DETAILS"
+msgstr "Ayrıntılar"
+
+msgid "IDS_MUSIC_OPT_END"
+msgstr "Bitir"
+
+msgid "IDS_MUSIC_OPT_EDIT"
+msgstr "Düzenle"
+
+msgid "IDS_CAM_HEADER_UPDATED"
+msgstr "Güncelleştirildi."
+
+msgid "IDS_MUSIC_POP_REMOVED"
+msgstr "Kaldırıldı."
+
+msgid "IDS_MUSIC_OPT_SELECTED"
+msgstr "Seçili"
+
+msgid "IDS_ST_BUTTON_SCAN"
+msgstr "Tara"
+
+msgid "IDS_MF_POP_ERROR"
+msgstr "Hata"
+
+msgid "IDS_MF_POP_MEMORY_FULL"
+msgstr "Bellek dolu."
+
+msgid "IDS_MUSIC_MBODY_QUEUE"
+msgstr "Liste"
+
+msgid "IDS_MUSIC_OPT_VOLUME"
+msgstr "Ses"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE"
+msgstr "Karışık"
+
+msgid "IDS_MUSIC_OPT_REPEAT"
+msgstr "Tekrarla"
+
+msgid "IDS_COM_BODY_DETAILS"
+msgstr "Details"
+
+msgid "IDS_COM_BODY_DETAILS_TITLE"
+msgstr "Title"
+
+msgid "IDS_COM_BODY_EDIT"
+msgstr "Edit"
+
+msgid "IDS_COM_BODY_EMAIL"
+msgstr "Email"
+
+msgid "IDS_COM_BODY_END"
+msgstr "End"
+
+msgid "IDS_COM_BODY_FOLDERS"
+msgstr "Folders"
+
+msgid "IDS_COM_BODY_GALLERY"
+msgstr "Gallery"
+
+msgid "IDS_COM_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_COM_BODY_LOADING"
+msgstr "Loading..."
+
+msgid "IDS_COM_BODY_LOW_BATTERY"
+msgstr "Low battery."
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Message"
+
+msgid "IDS_COM_BODY_MUSIC"
+msgstr "Music"
+
+msgid "IDS_COM_BODY_NFC"
+msgstr "NFC"
+
+msgid "IDS_COM_BODY_NO_CONTENTS"
+msgstr "No content"
+
+msgid "IDS_COM_BODY_PAUSE"
+msgstr "Pause"
+
+msgid "IDS_COM_BODY_PD_SELECTED"
+msgstr "%d selected."
+
+msgid "IDS_COM_BODY_PREVIOUS"
+msgstr "Previous"
+
+msgid "IDS_COM_BODY_RESET_A"
+msgstr "Reset"
+
+msgid "IDS_COM_BODY_SELECTED"
+msgstr "Selected"
+
+msgid "IDS_COM_BODY_SELECT_ALL"
+msgstr "Select all"
+
+msgid "IDS_COM_BODY_SETTINGS"
+msgstr "Settings"
+
+msgid "IDS_COM_BODY_TIME"
+msgstr "Time"
+
+msgid "IDS_COM_BODY_UNABLE_TO_ADD"
+msgstr "Unable to add."
+
+msgid "IDS_COM_BODY_UNKNOWN"
+msgstr "Unknown"
+
+msgid "IDS_COM_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_COM_BUTTON_SCAN"
+msgstr "Scan"
+
+msgid "IDS_COM_BUTTON_SHARE"
+msgstr "Share"
+
+msgid "IDS_COM_HEADER_AUDIO_DEVICE_ABB"
+msgstr "Audio device"
+
+msgid "IDS_COM_OPT_ADDED"
+msgstr "Added."
+
+msgid "IDS_COM_OPT_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_POP_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_POP_CONNECTION_FAILED"
+msgstr "Connection failed."
+
+msgid "IDS_COM_POP_DELETED"
+msgstr "Deleted."
+
+msgid "IDS_COM_POP_DELETE_Q"
+msgstr "Delete?"
+
+msgid "IDS_COM_POP_DONE"
+msgstr "Done"
+
+msgid "IDS_COM_POP_DOWNLOADING"
+msgstr "Downloading..."
+
+msgid "IDS_COM_POP_ERROR"
+msgstr "Error."
+
+msgid "IDS_COM_POP_FAILED"
+msgstr "Failed."
+
+msgid "IDS_COM_POP_FILE_NOT_EXIST"
+msgstr "This file does not exist."
+
+msgid "IDS_COM_POP_FILE_NOT_FOUND"
+msgstr "File not found."
+
+msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximum number of characters reached."
+
+msgid "IDS_COM_POP_MEMORY_FULL"
+msgstr "Memory full."
+
+msgid "IDS_COM_POP_REMOVED"
+msgstr "Removed."
+
+msgid "IDS_COM_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Unable to use during Mass storage mode."
+
+msgid "IDS_COM_POP_UPDATED"
+msgstr "Updated."
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_SK_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_SK_DOWNLOAD"
+msgstr "Download"
+
+msgid "IDS_COM_SK_NEW"
+msgstr "New"
+
+msgid "IDS_COM_SK_NEXT"
+msgstr "Next"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_SK_REFRESH"
+msgstr "Refresh"
+
+msgid "IDS_COM_SK_REMOVE"
+msgstr "Remove"
+
+msgid "IDS_COM_SK_SAVE"
+msgstr "Save"
+
+msgid "IDS_COM_SK_SELECT"
+msgstr "Select"
+
+msgid "IDS_COM_SK_SET"
+msgstr "Set"
+
+msgid "IDS_COM_SK_STOP"
+msgstr "Stop"
+
+
+msgid "IDS_MH_BODY_THE_PLAYLIST_NAME_PS_IS_ALREADY_IN_USE"
+msgstr "The playlist name %s is already in use."
+
+msgid "IDS_MH_BODY_TOTAL"
+msgstr "Total"
+
+msgid "IDS_MH_MBODY_RECENTLY_ADDED_M_SONG"
+msgstr "Recently added"
+
+msgid "IDS_MH_OPT_MORE_INFO_ABB"
+msgstr "More info"
+
+msgid "IDS_MH_POP_ALARM_TONE_SET"
+msgstr "Alarm tone set."
+
+msgid "IDS_MH_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 track added to playlist."
+
+msgid "IDS_MH_TPOP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d tracks added to playlist."
+
+msgid "IDS_MUSIC_OPT_RENAME"
+msgstr "Rename"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Unable to play during call."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Maksimum dosya boyutu aşıldı."
+
+msgid "IDS_CAM_TPOP_UNABLE_TO_PLAY_MUSIC_WHILE_RECORDING_AUDIO_OR_VIDEO"
+msgstr "Ses veya video kaydı sırasında müzik oynatılamaz."
+
--- /dev/null
+msgid "IDS_ST_BODY_LOADING_ING"
+msgstr "Завантаження..."
+
+msgid "IDS_GALLERY_OPT_PRIVATE_M_CONTENT"
+msgstr "Особистий"
+
+msgid "IDS_MF_BODY_TIME"
+msgstr "Час"
+
+msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
+msgstr "Файл не існує."
+
+msgid "IDS_MUSIC_POP_PHONE_RINGTONE"
+msgstr "Звук дзвінка телефону"
+
+msgid "IDS_MUSIC_BODY_DURATION"
+msgstr "Тривалість"
+
+msgid "IDS_MUSIC_BODY_MUSIC_LOCATION"
+msgstr "Розташування"
+
+msgid "IDS_MUSIC_BODY_SET_AS_M_RINGTONE"
+msgstr "Установити як"
+
+msgid "IDS_ST_OPT_ADD_TO_PERSONAL_PAGE"
+msgstr "Додати на особисту сторінку"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_PERSONAL_PAGE_ABB"
+msgstr "Видалити з особ. сторінки"
+
+msgid "IDS_ST_POP_MOVE_TO_NORMAL_STORAGE"
+msgstr "Переключитися на стандартне місце збереження"
+
+msgid "IDS_ST_POP_MOVE_TO_PERSONAL_STORAGE"
+msgstr "Переключитися на особисте місце збереження"
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEMS_WILL_BE_MOVED_TO_PS"
+msgstr "Вибрані об'єкти буде переміщено до папки %s."
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEM_WILL_BE_MOVED_TO_PS"
+msgstr "Вибраний об'єкт буде переміщено до папки %s."
+
+msgid "IDS_VR_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Неможливо скористатися в режимі накопичувача."
+
+msgid "IDS_MUSIC_POP_RINGTONE_ADDED"
+msgstr "Додано звук дзвінка."
+
+msgid "IDS_CAM_BODY_BUTTON_T_TTS"
+msgstr "Кнопка"
+
+msgid "IDS_MUSIC_HEADER_SELECT_ITEMS"
+msgstr "Вибір об’єктів"
+
+msgid "IDS_ST_BODY_ADVANCED"
+msgstr "Додатково"
+
+msgid "IDS_ST_SK_PREVIOUS"
+msgstr "Назад"
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Закрити"
+
+msgid "IDS_MUSIC_POP_ADDED"
+msgstr "Додано."
+
+msgid "IDS_MUSIC_POP_FAILED"
+msgstr "Збій."
+
+msgid "IDS_MUSIC_BODY_NO_SEARCH_RESULTS"
+msgstr "Пошук не дав результатів"
+
+msgid "IDS_MUSIC_SK_DONE"
+msgstr "Готово"
+
+msgid "IDS_MUSIC_BODY_NO_ITEMS"
+msgstr "Немає елементів"
+
+msgid "IDS_BR_OPT_ADD_TO_HOME"
+msgstr "Додати на головний екран"
+
+msgid "IDS_BR_SK_NEXT"
+msgstr "Далі"
+
+msgid "IDS_BR_BODY_DOWNLOADING_ING"
+msgstr "Завантаження..."
+
+msgid "IDS_IV_BODY_FAVOURITE"
+msgstr "Улюблені"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_PERSONAL_STORAGE"
+msgstr "Додати до особистого місця збереження"
+
+msgid "IDS_DLNA_POP_DISCONNECTED_FROM_PS_CHECK_THE_NETWORK_STATUS_AND_THE_CONNECTED_DEVICE"
+msgstr "Відключено від %s. Перевірте стан мережі та підключений пристрій"
+
+msgid "IDS_DLNA_OPT_VIA_SCREEN_MIRRORING_ABB"
+msgstr "За допом. Screen Mirroring"
+
+msgid "IDS_DLNA_OPT_VIA_HOME_NETWORK_ABB"
+msgstr "Через домашню мережу"
+
+msgid "IDS_IV_POP_ENTRY_IS_EMPTY"
+msgstr "Запис порожній."
+
+msgid "IDS_FM_POP_UNAVAILABLE_DURING_CALL"
+msgstr "Недоступний під час виклику."
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Досягнуто максимальної кількості символів."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_SHARE_DRM_FILE"
+msgstr "Неможливо відкрити спільний доступ до файла DRM."
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Видалення..."
+
+msgid "IDS_MUSIC_HEADER_PD_DEVICES"
+msgstr "%d пристроїв"
+
+msgid "IDS_MUSIC_BUTTON_ENABLE_MOTION"
+msgstr "Увімк. рухи"
+
+msgid "IDS_MUSIC_BUTTON_DONT_ASK_AGAIN"
+msgstr "Більше не запитувати"
+
+msgid "IDS_MUSIC_BODY_NO_RESULTS_FOUND"
+msgstr "Результатів не знайдено."
+
+msgid "IDS_VPL_OPT_HDMI"
+msgstr "HDMI"
+
+msgid "IDS_MUSIC_BODY_TURN_PHONE_OVER_TO_MUTE_INCOMING_CALLS_MESSAGE_ALERTS_AND_ALARMS"
+msgstr "Переверніть телефон для вимкнення звуку під час вхідних викликів, сигналів повідомлень і будильників."
+
+msgid "IDS_ST_BODY_NONE"
+msgstr "Немає"
+
+msgid "IDS_ST_BODY_INTERNET"
+msgstr "Інтернет"
+
+msgid "IDS_ST_BODY_GALLERY"
+msgstr "Галерея"
+
+msgid "IDS_ST_BODY_DOUBLE_TAP_TO_MOVE_TO_CONTENT_T_TTS"
+msgstr "Двічі натисніть, щоб перейти до вмісту."
+
+msgid "IDS_MUSIC_BODY_SURROUND"
+msgstr "Оточення"
+
+msgid "IDS_MUSIC_OPT_LYRICS_ABB"
+msgstr "Слова пісні"
+
+msgid "IDS_MUSIC_POP_AFTER_YOU_ADD_TRACKS_TO_MUSIC_ON_YOUR_MOBILE_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Після додавання записів до розділу «Музика» на мобільному пристрої їх буде відображено тут."
+
+msgid "IDS_MUSIC_BODY_SAMPLING_RATE"
+msgstr "Частота дискретизації"
+
+msgid "IDS_MUSIC_BODY_MARKED_AS_A_FAVOURITE"
+msgstr "Позначено як обране."
+
+msgid "IDS_MUSIC_BODY_MUSIC"
+msgstr "Музика"
+
+msgid "IDS_MUSIC_BODY_NOT_MARKED_AS_A_FAVOURITE"
+msgstr "Не позначено як обране."
+
+msgid "IDS_MUSIC_HEADER_SEARCH_MUSIC_ABB"
+msgstr "Пошук музики"
+
+msgid "IDS_MUSIC_POP_AUTO_RECOMMENDATION_DOES_NOT_SUPPORT_THIS_AUDIO_FILE"
+msgstr "Цей тип аудіофайла не підтримується авторекомендаціями."
+
+msgid "IDS_MUSIC_POP_SORRY_THE_PLAYER_DOES_NOT_SUPPORT_THIS_TYPE_OF_AUDIO_FILE"
+msgstr "Плеєр не підтримує цей тип аудіофайла."
+
+msgid "IDS_MUSIC_BODY_FAVOURITES"
+msgstr "Улюблені"
+
+msgid "IDS_MUSIC_BODY_MOST_PLAYED"
+msgstr "Найчастіше відтворювані"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_ADDED"
+msgstr "Останні додані"
+
+msgid "IDS_MUSIC_OPT_CREATE_PLAYLIST"
+msgstr "Створити список відтворення"
+
+msgid "IDS_MUSIC_OPT_REMOVE"
+msgstr "Видалити"
+
+msgid "IDS_MUSIC_OPT_SETAS_CALLER_RINGTONE"
+msgstr "Звук дзвінка абонента"
+
+msgid "IDS_MUSIC_TAB4_ARTISTS"
+msgstr "Виконавці"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD"
+msgstr "Неможливо додати."
+
+msgid "IDS_MUSIC_POP_UNABLE_CREATE_PLAYLIST"
+msgstr "Неможливо створити список відтворення."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_GET_TAG"
+msgstr "Неможливо отримати тег."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_MORE_THAN_PD_MUSIC_FILE"
+msgstr "Неможливо додати більше %d музичних файлів."
+
+msgid "IDS_MUSIC_BODY_ALBUM"
+msgstr "Альбом"
+
+msgid "IDS_MUSIC_BODY_AUTHOR"
+msgstr "Автор"
+
+msgid "IDS_MUSIC_BODY_COPYRIGHT"
+msgstr "Авторське право"
+
+msgid "IDS_MUSIC_BODY_CREATE_PLAYLIST"
+msgstr "Створити список відтворення"
+
+msgid "IDS_MUSIC_BODY_DESCRIPTION"
+msgstr "Опис"
+
+msgid "IDS_MUSIC_BODY_FORMAT"
+msgstr "Формат"
+
+msgid "IDS_MUSIC_BODY_IMPOSSIBLE"
+msgstr "Неможливо"
+
+msgid "IDS_MUSIC_BODY_NO_PLAYLISTS"
+msgstr "Немає списків відтворення"
+
+msgid "IDS_MUSIC_BODY_TRACK_NUMBER"
+msgstr "Номер запису"
+
+msgid "IDS_MUSIC_POP_DELETE_Q"
+msgstr "Видалити?"
+
+msgid "IDS_MUSIC_POP_REMOVE_Q"
+msgstr "Видалити?"
+
+msgid "IDS_MUSIC_POP_UNABLE_RENAME_PLAYLIST"
+msgstr "Неможливо перейменувати список відтворення."
+
+msgid "IDS_MUSIC_TAB4_ALBUMS"
+msgstr "Альбоми"
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Додавання..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Видалити %d альбому(-ів)?"
+
+msgid "IDS_MUSIC_TAB4_PLAYLISTS"
+msgstr "Сп. відтв."
+
+msgid "IDS_MUSIC_OPT_ADD"
+msgstr "Додати"
+
+msgid "IDS_MUSIC_BODY_BIOGRAPHY"
+msgstr "Біографія"
+
+msgid "IDS_MUSIC_BODY_CREDITS"
+msgstr "Титри"
+
+msgid "IDS_MUSIC_BODY_DETAILS_MEADIA_INFO"
+msgstr "Інформація про медіадані"
+
+msgid "IDS_MUSIC_BODY_DISCOGRAPHY"
+msgstr "Дискографія"
+
+msgid "IDS_MUSIC_BODY_LYRIC"
+msgstr "Лірика"
+
+msgid "IDS_MUSIC_BODY_POSSIBLE"
+msgstr "Можливо"
+
+msgid "IDS_MUSIC_BODY_REVIEW"
+msgstr "Перегляд"
+
+msgid "IDS_MUSIC_HEADER_TRACK_LIST"
+msgstr "Список записів"
+
+msgid "IDS_MUSIC_BODY_ADD_TO_PLAYLIST"
+msgstr "Додати до списку"
+
+msgid "IDS_MUSIC_BODY_ARTIST"
+msgstr "Виконавець"
+
+msgid "IDS_MUSIC_BODY_FORWARDING"
+msgstr "Переадресація"
+
+msgid "IDS_MUSIC_BODY_RECORDED_DATE"
+msgstr "Date of recording"
+
+msgid "IDS_MUSIC_BODY_PLAYLISTS"
+msgstr "Списки відтворення"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_PLAYED"
+msgstr "Нещодавно відтворені"
+
+msgid "IDS_MUSIC_BODY_TRACK_LENGTH"
+msgstr "Тривалість запису"
+
+msgid "IDS_MUSIC_HEADER_NO_SONGS"
+msgstr "Немає композицій"
+
+msgid "IDS_MUSIC_POP_THIS_TRACK_WILL_BE_DELETED"
+msgstr "Цей запис буде видалено."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_TRACKS_WILL_BE_DELETED"
+msgstr "Вибрані записи буде видалено."
+
+msgid "IDS_MUSIC_POP_THIS_ARTIST_WILL_BE_DELETED"
+msgstr "Цього виконавця буде видалено."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ARTISTS_WILL_BE_DELETED"
+msgstr "Вибрані артисти будуть видалені."
+
+msgid "IDS_MUSIC_POP_ALL_ARTISTS_WILL_BE_DELETED"
+msgstr "Усіх виконавців буде видалено."
+
+msgid "IDS_MUSIC_POP_THIS_FOLDER_WILL_BE_DELETED"
+msgstr "Цю папку буде видалено."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_FOLDERS_WILL_BE_DELETED"
+msgstr "Вибрані папки будуть видалені."
+
+msgid "IDS_MUSIC_POP_ALL_FOLDERS_WILL_BE_DELETED"
+msgstr "Усі папки буде видалено."
+
+msgid "IDS_MUSIC_POP_THIS_ALBUM_WILL_BE_DELETED"
+msgstr "Цей альбом буде видалено."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ALBUMS_WILL_BE_DELETED"
+msgstr "Вибрані альбоми будуть видалені."
+
+msgid "IDS_MUSIC_POP_ALL_ALBUMS_WILL_BE_DELETED"
+msgstr "Усі альбоми буде видалено."
+
+msgid "IDS_MUSIC_POP_THIS_PLAYLIST_WILL_BE_DELETED"
+msgstr "Цей список відтворення буде видалено."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Вибрані списки відтворення буде видалено."
+
+msgid "IDS_MUSIC_POP_ALL_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Усі списки відтворення буде видалено."
+
+msgid "IDS_MUSIC_HEADER_SONGS"
+msgstr "Пісні"
+
+msgid "IDS_MUSIC_OPT_REORDER"
+msgstr "Упорядкувати"
+
+msgid "IDS_MUSIC_OPT_SAVE_AS_PLAYLIST"
+msgstr "Зробити списком відтворення"
+
+msgid "IDS_MUSIC_OPT_SETAS_ALARM_TONE"
+msgstr "Сигнал будильника"
+
+msgid "IDS_MUSIC_POP_NOTHING_SELECTED"
+msgstr "Нічого не вибрано."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Неможливо відтворити. Сталася помилка."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_UNSUPPORTED_FILETYPE"
+msgstr "Неможливо відтворити. Формат не підтримується."
+
+msgid "IDS_MUSIC_SK_SHARE"
+msgstr "Відкр.д-п"
+
+msgid "IDS_MUSIC_TAB4_CONDUCTORS"
+msgstr "Дириг."
+
+msgid "IDS_MUSIC_HEADER_SELECT_DEVICE"
+msgstr "Вибрати пристрій"
+
+msgid "IDS_MUSIC_SK_VIEW_AS"
+msgstr "Відобразити як"
+
+msgid "IDS_MUSIC_BODY_SOUNDEFFECTS_NORMAL"
+msgstr "Звичайний"
+
+msgid "IDS_MUSIC_BODY_USER"
+msgstr "Користувач"
+
+msgid "IDS_MUSIC_BODY_VOCAL_M_SOUNDEFFECT"
+msgstr "Вокальна"
+
+msgid "IDS_MUSIC_MBODY_BASS_BOOST"
+msgstr "Підсилення баса"
+
+msgid "IDS_MUSIC_MBODY_TREBLE_BOOST"
+msgstr "Підсилення сопрано"
+
+msgid "IDS_MUSIC_BODY_CAFE_M_SOUNDEFFECT"
+msgstr "Для кафе"
+
+msgid "IDS_MUSIC_OPT_VIRTUAL_71_CH"
+msgstr "Віртуальний 7.1"
+
+msgid "IDS_MUSIC_OPT_AFTER_15_MIN_ABB"
+msgstr "Через 15 хв."
+
+msgid "IDS_MUSIC_BODY_AFTER_30_MIN"
+msgstr "Через 30 хв."
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HOUR"
+msgstr "Через 1 годину"
+
+msgid "IDS_MUSIC_POP_AFTER_1_HOUR_30_MIN"
+msgstr "Через 1 год. 30 хв."
+
+msgid "IDS_MUSIC_BODY_AFTER_2_HOURS"
+msgstr "Через 2 години"
+
+msgid "IDS_MUSIC_BODY_MUSIC_AUTO_OFF"
+msgstr "Автоматичне вимкнення музики"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES_ONLY"
+msgstr "Цей звуковий ефект працює лише в режимах навушників і гарнітури Bluetooth."
+
+msgid "IDS_MUSIC_TAB4_MUSIC_SQUARE"
+msgstr "Музичний квадрат"
+
+msgid "IDS_MUSIC_POP_NOT_ENOUGH_MUSIC_FILES_TO_PLAY_IN_MUSIC_SQUARE_AT_LEAST_PD_MUSIC_FILES_REQUIRED"
+msgstr "Недостатньо музичних файлів для відтворення в Музичному квадраті. Мінімальна кількість музичних файлів: %d."
+
+msgid "IDS_MUSIC_BODY_PASSION_M_MOOD"
+msgstr "Пристрасть"
+
+msgid "IDS_MUSIC_BODY_CALM_M_ADJECTIVE"
+msgstr "Спокійна"
+
+msgid "IDS_MUSIC_BODY_JOY_M_MOOD"
+msgstr "Радість"
+
+msgid "IDS_MUSIC_BODY_LIBRARY_UPDATE"
+msgstr "Оновлення бібліотеки"
+
+msgid "IDS_MUSIC_POP_UPDATE_LIBRARY_Q"
+msgstr "Оновити бібліотеку?"
+
+msgid "IDS_MUSIC_BODY_CHANGE_AXIS"
+msgstr "Змінити вісь"
+
+msgid "IDS_MUSIC_ITAB4_GENRES"
+msgstr "Жанри"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_1_TRACK"
+msgstr "1 альбом/1 запис"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_PD_TRACKS"
+msgstr "1 альбом/%d записів"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS_PD_TRACKS"
+msgstr "%d альбомів/%d записів"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_CONTROL_MUSIC_PLAYER_WITH_THE_VOICE_COMMANDS_P1SS_P2SS_P3SS_P4SS_P5SS_AND_P6SS"
+msgstr "Можна керувати музичним плеєром за допомогою голосових команд %1$s, %2$s, %3$s, %4$s, %5$s і %6$s."
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_PD_TRACKS"
+msgstr "Випадковий порядок для %d записів"
+
+msgid "IDS_MUSIC_BODY_MORE_INFO"
+msgstr "Додаткова інформація"
+
+msgid "IDS_MUSIC_HEADER_MY_MUSIC_M_APPLICATION_NAME"
+msgstr "Моя музика"
+
+msgid "IDS_MUSIC_OPT_LIST_VIEW"
+msgstr "В режимі списку"
+
+msgid "IDS_MUSIC_OPT_PLAY_VIA_GROUP_PLAY"
+msgstr "Відтворення через Group Play"
+
+msgid "IDS_MUSIC_POP_TRACK_ADDED_TO_FAVOURITES"
+msgstr "Запис додано до обраного."
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_FAVOURITES"
+msgstr "Видалити з улюблених"
+
+msgid "IDS_MUSIC_BODY_NEW_M_LATEST"
+msgstr "Нове"
+
+msgid "IDS_MUSIC_OPT_TRACKS"
+msgstr "Записи"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL"
+msgstr "Ескіз"
+
+msgid "IDS_MUSIC_SK_LIST"
+msgstr "Список"
+
+msgid "IDS_MUSIC_SK_OPEN_PLAYLIST"
+msgstr "Відкрити список відтворення"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALL"
+msgstr "Відтворити всі"
+
+msgid "IDS_MUSIC_POP_SELECTED_LIST_EMPTY"
+msgstr "Вибраний список пустий."
+
+msgid "IDS_MUSIC_BODY_MOODS"
+msgstr "Настрої"
+
+msgid "IDS_MUSIC_BUTTON_YEARS"
+msgstr "Роки"
+
+msgid "IDS_MUSIC_BODY_OLD"
+msgstr "Старе"
+
+msgid "IDS_MUSIC_BODY_MUSIC_SQUARE_ANALYSES_THE_CHARACTERISTICS_OF_MUSIC_FILES_STORED_ON_YOUR_DEVICE_AND_AUTOMATICALLY_CREATES_PLAYLISTS_MSG"
+msgstr "Музичний квадрат аналізує характеристики музичних файлів, які зберігаються на пристрої, та автоматично створює списки відтворення."
+
+msgid "IDS_MUSIC_BODY_PLAY_TRACKS_WITH_SIMILAR_CHARACTERISTICS_BY_SELECTING_A_SQUARE_ON_THE_SCREEN"
+msgstr "Відтворення списку відтворення музики зі схожими характеристиками за допомогою вибору квадрата на екрані."
+
+msgid "IDS_MUSIC_BODY_VIEW_PLAYLIST_DETAILS_BY_TAPPING_AND_HOLDING_THE_SQUARE_CURRENTLY_BEING_PLAYED"
+msgstr "Перегляд деталей списку відтворення за допомогою натискання й утримання квадрата, який зараз відтворюється."
+
+msgid "IDS_MUSIC_BODY_NEARBY_DEVICES"
+msgstr "Пристрої поблизу"
+
+msgid "IDS_MUSIC_POP_YOU_WILL_NEED_TO_UPDATE_THE_LIBRARY_IF_NEW_SONGS_HAVE_BEEN_ADDED"
+msgstr "Необхідно оновити бібліотеку після додавання нових пісень."
+
+msgid "IDS_MUSIC_BODY_NO_ALBUMS"
+msgstr "Немає альбомів"
+
+msgid "IDS_MUSIC_BODY_NO_ARTISTS"
+msgstr "Немає виконавців"
+
+msgid "IDS_MUSIC_OPT_PLAY_SPEED_ABB"
+msgstr "Швидкість відео"
+
+msgid "IDS_MUSIC_BODY_CONCERT_HALL_M_SOUNDEFFECT"
+msgstr "Концертний зал"
+
+msgid "IDS_MUSIC_OPT_ADD_TO"
+msgstr "Додати до"
+
+msgid "IDS_MUSIC_SK_VIEW"
+msgstr "Перегл."
+
+msgid "IDS_MUSIC_OPT_LISTBY_RECENTLY_ADDED"
+msgstr "Останні додані"
+
+msgid "IDS_MUSIC_BODY_NOT_USED"
+msgstr "Не використовується"
+
+msgid "IDS_MUSIC_BODY_MAKE_AVAILABLE_OFFLINE"
+msgstr "Зроб. дост. у реж. без зв’яз."
+
+msgid "IDS_MUSIC_OPT_AFTER_P1SD_HRS_P2SD_MINS"
+msgstr "Через %1$d год. %2$d хв."
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS"
+msgstr "Через %d год."
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_MINS"
+msgstr "Через %d хв."
+
+msgid "IDS_MUSIC_BODY_NO_FOLDERS"
+msgstr "Немає папок"
+
+msgid "IDS_MUSIC_BODY_NO_TRACKS"
+msgstr "Немає записів"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS"
+msgstr "альбомів: %d"
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS"
+msgstr "%d виконавців"
+
+msgid "IDS_MUSIC_BODY_PD_GENRES"
+msgstr "%d жанрів"
+
+msgid "IDS_MUSIC_BODY_PD_PLAYLISTS"
+msgstr "списків відтворення: %d"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_ABB"
+msgstr "записів: %d"
+
+msgid "IDS_MUSIC_BODY_PLAYLIST"
+msgstr "Список відтвор."
+
+msgid "IDS_MUSIC_HEADER_SIMILAR_ALBUMS"
+msgstr "Схожі альбоми"
+
+msgid "IDS_MUSIC_HEADER_TRACK"
+msgstr "Запис"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL_VIEW"
+msgstr "Ескіз"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "Цей звуковий ефект доступний лише в режимі навушників."
+
+msgid "IDS_MUSIC_OPT_ALL_CONTENT_ABB2"
+msgstr "Увесь вміст"
+
+msgid "IDS_MUSIC_BODY_A_NETWORK_CONNECTION_IS_REQUIRED_TO_PLAY_THIS_FILE_CHECK_YOUR_NETWORK_CONNECTION_AND_TRY_AGAIN"
+msgstr "Для відтворення цього файла потрібне підключення до мережі. Перевірте підключення до мережі та спробуйте ще раз."
+
+msgid "IDS_MUSIC_POP_FILE_TYPE_NOT_SUPPORTED"
+msgstr "Тип файла не підтримується."
+
+msgid "IDS_MUSIC_POP_UPDATING_ING"
+msgstr "Оновлення..."
+
+msgid "IDS_MUSIC_OPT_SEARCH_ABB"
+msgstr "Пошук"
+
+msgid "IDS_MUSIC_OPT_SEARCH_BY"
+msgstr "Критерій пошуку"
+
+msgid "IDS_MUSIC_BODY_RELATED_VIDEOS"
+msgstr "Пов’язані відео"
+
+msgid "IDS_MUSIC_BODY_SMART_VOLUME_ABB"
+msgstr "Смарт-гучність"
+
+msgid "IDS_MUSIC_BODY_THE_VOLUME_OF_ALL_TRACKS_WILL_BE_ADJUSTED_TO_LEVEL_PD"
+msgstr "Для всіх записів буде встановлено рівень гучності %d."
+
+msgid "IDS_MUSIC_HEADER_SMART_VOLUME_IS_ENABLED"
+msgstr "Функцію смарт-гучності увімкнено"
+
+msgid "IDS_MUSIC_OPT_CONNECTION_INFO_ABB"
+msgstr "Відомості про підкл."
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_PD_MINS"
+msgstr "Через 1 год. %d хв."
+
+msgid "IDS_MUSIC_BODY_ADAPT_SOUND_ABB"
+msgstr "Адаптація звуку"
+
+msgid "IDS_MUSIC_BODY_MY_DEVICE"
+msgstr "Мій пристрій"
+
+msgid "IDS_MUSIC_POP_LISTENING_AT_A_HIGH_VOLUME_FOR_A_LONG_TIME_MAY_DAMAGE_YOUR_HEARING_RAISE_THE_VOLUME_ABOVE_SAFE_LEVELS_Q"
+msgstr "Тривале прослуховування за високого рівня гучності може призвести до погіршення слуху. Збільшити гучність до рівня, який перевищуватиме безпечний?"
+
+msgid "IDS_MUSIC_POP_ALREADY_EXISTS"
+msgstr "Вже існує."
+
+msgid "IDS_MUSIC_OPT_SCAN_FOR_NEARBY_DEVICES"
+msgstr "Пошук пристроїв поблизу"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR"
+msgstr "Через 1 год."
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_1_MIN"
+msgstr "Через 1 год. 1 хв."
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS_1_MIN"
+msgstr "Через %d год. 1 хв."
+
+msgid "IDS_MUSIC_BODY_AFTER_1_MIN"
+msgstr "Через 1 хв."
+
+msgid "IDS_MUSIC_OPT_GO_TO_STORE"
+msgstr "Перейти до магазину"
+
+msgid "IDS_MUSIC_SK3_ADD_TRACKS"
+msgstr "Додати записи"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FROM_MUSIC_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Після завантаження композицій із меню «Музика» їх буде відображено тут."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_YOUR_FAVOURITES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Після додавання записів до обраного їх буде відображено тут."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_PLAY_TRACKS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Після відтворення записів їх буде відображено тут."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_PS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Після додавання композицій до списку відтворення «%s» їх буде відображено тут."
+
+msgid "IDS_MUSIC_BODY_NO_PURCHASED_CONTENT"
+msgstr "Немає придбаного вмісту"
+
+msgid "IDS_MUSIC_SK_SAVE_AS"
+msgstr "Зберегти як"
+
+msgid "IDS_MUSIC_POP_MUSICPLAYER_UPDATING_FAILED"
+msgstr "Видалити не вдалося."
+
+msgid "IDS_MUSIC_BODY_EXCITING_M_ADJECTIVE"
+msgstr "Захоплююча"
+
+msgid "IDS_MUSIC_BODY_SEARCH_MY_MUSIC"
+msgstr "Пошук у розділі «Моя музика»"
+
+msgid "IDS_MUSIC_HEADER_CONNECTED_DEVICES"
+msgstr "Підключені пристрої"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST_PS"
+msgstr "Мій список відтворення %s"
+
+msgid "IDS_MUSIC_BODY_NO_DEVICES"
+msgstr "Немає пристроїв"
+
+msgid "IDS_MUSIC_HEADER_AVAILABLE_DEVICES_ABB"
+msgstr "Доступні пристрої"
+
+msgid "IDS_MUSIC_POP_SET"
+msgstr "Встанов."
+
+msgid "IDS_MUSIC_POP_REMOVE_FAILED"
+msgstr "Видалити не вдалося."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_USE_FAST_FORWARD_AND_REWIND_WHEN_NEARBY_DEVICES_ARE_ENABLED"
+msgstr "Неможливо використовувати перемотування та швидке перемотування у разі ввімкнення наявних поблизу пристроїв."
+
+msgid "IDS_MUSIC_OPT_SET_AS"
+msgstr "Встановити як"
+
+msgid "IDS_MUSIC_OPT_HEADPHONES_ABB"
+msgstr "Навушники"
+
+msgid "IDS_MUSIC_OPT_SPEAKER"
+msgstr "Динамік"
+
+msgid "IDS_MUSIC_BODY_1_SONG"
+msgstr "1 композиція"
+
+msgid "IDS_MUSIC_BODY_PD_SONGS"
+msgstr "Композицій: %d"
+
+msgid "IDS_MUSIC_BODY_1_TRACK"
+msgstr "1 запис"
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_1_TRACK"
+msgstr "Випадкове відтворення 1 запису"
+
+msgid "IDS_MUSIC_POP_NO_MUSIC_FOUND_FOR_SELECTED_CELL"
+msgstr "Не знайдено музичних файлів для вибраної клітинки"
+
+msgid "IDS_MUSIC_BODY_DO_NOT_SHOW_AGAIN"
+msgstr "Більше не показувати"
+
+msgid "IDS_MUSIC_BODY_VARIOUS_ARTISTS"
+msgstr "Різноманітні виконавці"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_HOME_SCREEN_ABB"
+msgstr "Додати на головний екран"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_FAVOURITES"
+msgstr "Додати до улюбленого"
+
+msgid "IDS_MUSIC_OPT_EDIT_TITLE"
+msgstr "Редагування назви"
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_PERSONAL_STORAGE"
+msgstr "Видалити з особистого місця збереження"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FOLDERS_WILL_BE_SHOWN"
+msgstr "Папки буде відображено після завантаження записів"
+
+msgid "IDS_MUSIC_BODY_SETTINGS_VOLUME"
+msgstr "Гучність"
+
+msgid "IDS_MUSIC_BODY_REPEAT_OFF"
+msgstr "Повторення вимк."
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_REPEAT_ALL"
+msgstr "Повторювати все"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_OFF"
+msgstr "Вимк. випадк. порядок"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_ON"
+msgstr "Увімк. випадк. порядок"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST"
+msgstr "Мій список відтворення"
+
+msgid "IDS_MUSIC_MBODY_DEFAULT_PLAYLISTS"
+msgstr "Стандартні плейлисти"
+
+msgid "IDS_MUSIC_BODY_DETAILS_RECORDING_DATE"
+msgstr "Дата запису"
+
+msgid "IDS_MUSIC_OPT_ALBUM_ART_ABB"
+msgstr "Оформ. ал."
+
+msgid "IDS_MUSIC_BODY_1_GENRE"
+msgstr "%d жанр"
+
+msgid "IDS_MUSIC_BODY_PD_FOLDERS"
+msgstr "Папок: %d"
+
+msgid "IDS_MUSIC_BODY_1_FOLDER"
+msgstr "1 папка"
+
+msgid "IDS_MUSIC_BODY_1_ARTIST"
+msgstr "%d виконавець"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_M_MUSIC"
+msgstr "альбоми: %d"
+
+msgid "IDS_MUSIC_BODY_1_PLAYLIST"
+msgstr "списків відтворення: %d"
+
+msgid "IDS_MUSIC_BODY_MUSIC_PLAYER"
+msgstr "Музичний плеєр"
+
+msgid "IDS_MUSIC_BUTTON_MOVE"
+msgstr "Перемістити"
+
+msgid "IDS_MUSIC_BUTTON_AUTO_RECOMMENDATIONS"
+msgstr "Авторекомендації"
+
+msgid "IDS_MUSIC_BUTTON_FROM_THE_BEGINNING"
+msgstr "З початку"
+
+msgid "IDS_MUSIC_HEADER_SUGGESTIONS_FOR_YOU"
+msgstr "Пропозиції для вас"
+
+msgid "IDS_MUSIC_OPT_SAVE"
+msgstr "Зберегти"
+
+msgid "IDS_MUSIC_TAB4_BASIC_M_EQUALIZING"
+msgstr "Основний"
+
+msgid "IDS_MUSIC_BODY_INSTRUMENT"
+msgstr "Інструменти"
+
+msgid "IDS_MUSIC_BODY_TREBLE_M_EQUALISER"
+msgstr "Високі тони"
+
+msgid "IDS_MUSIC_BODY_BASS_M_EQUALISER"
+msgstr "Низькі тони"
+
+msgid "IDS_MUSIC_BODY_NO_EFFECTS_ARE_APPLIED_IN_THIS_MODE_ABB"
+msgstr "Жодні ефекти не застосовуються в цьому режимі."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_TIMBRE_OF_A_TUBE_AMP_ABB"
+msgstr "Імітація тембру лампового підсилювача."
+
+msgid "IDS_MUSIC_OPT_TUBE_AMP_EFFECT"
+msgstr "Ефект лампового підсилювача"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_EFFECT_OF_VIRTUAL_71_CHANNEL_SURROUND_SOUND_ABB"
+msgstr "Моделювання ефекту віртуального 7.1-канал. об’ємного звуку."
+
+msgid "IDS_MUSIC_HEADER_SMALL_ROOM_M_REVERB_ABB"
+msgstr "Маленька кімната"
+
+msgid "IDS_MUSIC_HEADER_LARGE_ROOM_M_REVERB_ABB"
+msgstr "Велика кімната"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_LARGE_ROOM_EG_A_THEATRE_ABB"
+msgstr "Ефект ехо, як у великій кімнаті."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_CONCERT_HALL_ABB"
+msgstr "Ефект ехо, як у концертному залі."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_SMALL_SPACE_EG_A_STUDIO_ABB"
+msgstr "Ефект ехо, як у малій кімнаті."
+
+msgid "IDS_MUSIC_BUTTON_3D_CHN"
+msgstr "3D"
+
+msgid "IDS_MUSIC_BODY_CLARITY_M_SOUNDEFFECT"
+msgstr "Чіткість"
+
+msgid "IDS_MUSIC_BUTTON_RESET"
+msgstr "Скинути"
+
+msgid "IDS_MUSIC_TAB_YEARS"
+msgstr "Роки"
+
+msgid "IDS_MUSIC_TAB_GENRES"
+msgstr "Жанри"
+
+msgid "IDS_MUSIC_TAB_COMPOSERS"
+msgstr "Композитори"
+
+msgid "IDS_MUSIC_TAB_ALL_TRACKS"
+msgstr "Усі записи"
+
+msgid "IDS_MUSIC_SK3_GO_TO_QUICK_LIST"
+msgstr "Пер. до шв. сп."
+
+msgid "IDS_MUSIC_SK3_FIND"
+msgstr "Пошук"
+
+msgid "IDS_MUSIC_SK3_ADD_TO_QUICK_LIST"
+msgstr "Дод. до шв. сп."
+
+msgid "IDS_MUSIC_POP_UNAUTHORISED_VIDEO_FILE_FOR_TV_OUT"
+msgstr "Неавторизований відеофайл для ТВ-виходу."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_CREATE_MAXIMUM_NUMBER_OF_PLAYLISTS_REACHED"
+msgstr "Неможливо створити. Досягнуто максимальної кількості списків відтворення."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTING_BLUETOOTH_HEADSET"
+msgstr "Неможливо відрегулювати гучність після підключення гарнітури Bluetooth."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTED_TO_BLUETOOTH_HEADSET"
+msgstr "Неможливо відрегулювати гучність під час підключення до гарнітури Bluetooth."
+
+msgid "IDS_MUSIC_POP_STOP_MUSIC_PLAYER_Q"
+msgstr "Зупинити відтворення музики?"
+
+msgid "IDS_MUSIC_POP_PLEASE_EXIT_SILENT_MODE"
+msgstr "Вийдіть із режиму без звуку."
+
+msgid "IDS_MUSIC_POP_NETWORK_FAILURE"
+msgstr "Збій мережі."
+
+msgid "IDS_MUSIC_POP_MEMORY_CARD_LOADED"
+msgstr "Карту пам’яті завантажено."
+
+msgid "IDS_MUSIC_POP_DEVICE_SETTINGS_ERROR"
+msgstr "Помилка установок пристрою."
+
+msgid "IDS_MUSIC_POP_COULD_NOT_FIND_A_MATCH_FOR_THE_SONG"
+msgstr "Не вдалося знайти відповідну композицію."
+
+msgid "IDS_MUSIC_POP_BUFFERING_MSTATUS"
+msgstr "Буферизація"
+
+msgid "IDS_MUSIC_POP_BT_HEADSET_ONLY_SUPPORTS_NORMAL_EFFECTS_SETTING"
+msgstr "Гарнітура BT підтримує установки лише звичайних ефектів."
+
+msgid "IDS_MUSIC_POP_APPLICATION_WILL_BE_CLOSED"
+msgstr "Програму буде закрито."
+
+msgid "IDS_MUSIC_POP_ADDED_GO_TO_WISH_LIST_Q"
+msgstr "Додано. Перейти до списку побажань?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_THE_SERVICE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "Доступ до служби може бути платним. Продовжити?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_STORE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "Доступ до крамниці може бути платним. Продовжити?"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_ONLY_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES"
+msgstr "5.1-канальний звуковий ефект працює лише в режимах навушників і гарнітури Bluetooth."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "5.1-канальний звуковий ефект працює лише в режимі навушників."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECTS_NOT_SUPPORTED_BY_SPEAKER"
+msgstr "5.1-канальні звукові ефекти не підтримуються для динаміка."
+
+msgid "IDS_MUSIC_OPT_VIEW_BY_COVER_ART"
+msgstr "Переглянути за оформ. обкладинки"
+
+msgid "IDS_MUSIC_OPT_SEND_TRACK"
+msgstr "Надіслати запис"
+
+msgid "IDS_MUSIC_OPT_RATE_TRACK"
+msgstr "Зробити рейтинг запису"
+
+msgid "IDS_MUSIC_OPT_PLAYLIST_MOVE_TRACK_IN_PLAYLIST"
+msgstr "Перемістити запис у списку"
+
+msgid "IDS_MUSIC_OPT_OPENPLAYLIST_CURRENT"
+msgstr "Поточний"
+
+msgid "IDS_MUSIC_OPT_DELETE_PLAYLIST"
+msgstr "Видалити список відтворення"
+
+msgid "IDS_MUSIC_OPT_BACKGROUND_PLAYING"
+msgstr "Відтворення у фоновому режимі"
+
+msgid "IDS_MUSIC_HEADER_EFFECTS"
+msgstr "Ефекти"
+
+msgid "IDS_MUSIC_BUTTON_BUY_NOW"
+msgstr "Придбати"
+
+msgid "IDS_MUSIC_BODY_WOW_HD"
+msgstr "Wow HD"
+
+msgid "IDS_MUSIC_BODY_WISHLIST"
+msgstr "Список побажань"
+
+msgid "IDS_MUSIC_BODY_WIDE"
+msgstr "Широкий діапазон"
+
+msgid "IDS_MUSIC_BODY_WHA_WHA"
+msgstr "Вау-ва"
+
+msgid "IDS_MUSIC_BODY_VIBE_WOOFER"
+msgstr "Вібраційний низькочастотний динамік"
+
+msgid "IDS_MUSIC_BODY_TREMOLO"
+msgstr "Тремоло"
+
+msgid "IDS_MUSIC_BODY_TAP_TWICE_TO_PLAY_PAUSE_MUSIC"
+msgstr "Натисніть двічі, щоб відтворити/призупинити музику."
+
+msgid "IDS_MUSIC_BODY_SHARE_TRACK_VIA_BLUETOOTH"
+msgstr "Передати запис через Bluetooth"
+
+msgid "IDS_MUSIC_BODY_SETUPWIZARD_WELCOME_TO_THE_MUSIC_SETUP_WIZARD_CONTINUE_Q"
+msgstr "Ласкаво просимо до майстра інсталяції музики.\nНаступні підказки допоможуть вам настроїти свій телефон. Продовжити?"
+
+msgid "IDS_MUSIC_BODY_QUICK_LIST"
+msgstr "Швидкий список"
+
+msgid "IDS_MUSIC_BODY_PLAYINGSETTINGS_SOUND_EFFECTS"
+msgstr "Звукові ефекти"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_ALL"
+msgstr "Всі"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_1"
+msgstr "1"
+
+msgid "IDS_MUSIC_BODY_PLAYERSETTINGS_VOLUME"
+msgstr "Гучність"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_SELECTED"
+msgstr "Вибрано записів: %d."
+
+msgid "IDS_MUSIC_BODY_NO_PODCASTS"
+msgstr "Немає подкастів"
+
+msgid "IDS_MUSIC_BODY_FIND_SIMILAR"
+msgstr "Пошук подібних"
+
+msgid "IDS_MUSIC_BODY_BACKGROUND_PLAY"
+msgstr "Фоновий режим"
+
+msgid "IDS_MUSIC_BODY_51_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "5.1-канальний звук доступний лише за вимкнених звукових ефектів."
+
+msgid "IDS_MUSIC_TAB4_PODCASTS"
+msgstr "Подкасти"
+
+msgid "IDS_MUSIC_SK2_EDIT_IMAGE"
+msgstr "Змінити зображення"
+
+msgid "IDS_MUSIC_POP_PLAYING_ANY_SOUNDS_WILL_STOP_AND_SAVE_YOUR_VOICE_RECORDING_PLAY_Q"
+msgstr "Початок відтворення призведе до зупинення та збереження голосового запису. Відтворити?"
+
+msgid "IDS_MUSIC_POP_MAXIMUM_NUMBER_OF_ITEMS_HPD_SELECTED"
+msgstr "Вибрано максимальну кількість об’єктів: %d."
+
+msgid "IDS_MUSIC_POP_BLUETOOTH_DISCONNECTED"
+msgstr "Bluetooth відключено."
+
+msgid "IDS_MUSIC_POP_5_1_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "5.1-канальний звук доступний лише за вимкнених звукових ефектів."
+
+msgid "IDS_MUSIC_OPT_TAKE_PICTURE"
+msgstr "Зробити знімок"
+
+msgid "IDS_MUSIC_OPT_SHOW_MUSIC_VIEW_ABB"
+msgstr "Відобр.візуалізацію музики"
+
+msgid "IDS_MUSIC_OPT_PAUSE"
+msgstr "Пауза"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALBUM"
+msgstr "Відтворити альбом"
+
+msgid "IDS_MUSIC_OPT_LIST_BY"
+msgstr "Сортувати за"
+
+msgid "IDS_MUSIC_OPT_HISTORY"
+msgstr "Історія"
+
+msgid "IDS_MUSIC_OPT_HIDE_MUSIC_VIEW_ABB"
+msgstr "Прихов.візуалізацію музики"
+
+msgid "IDS_MUSIC_OPT_FIND_TAG"
+msgstr "Пошук тегів"
+
+msgid "IDS_MUSIC_OPT_DROPBOX_CONTENT_ABB"
+msgstr "Вміст Dropbox"
+
+msgid "IDS_MUSIC_OPT_CONTENT_ON_PHONE_ABB"
+msgstr "Вміст із телефону"
+
+msgid "IDS_MUSIC_OPT_CHANGE_IMAGE"
+msgstr "Змінити зображення"
+
+msgid "IDS_MUSIC_HEADER_DELETE_DROPBOX_DATA_ABB"
+msgstr "Видалити дані Dropbox"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_STREAM_YOUR_MUSIC_TO_DEVICES_USING_ALLSHARE"
+msgstr "Можна здійснити потокову передачу музики на пристрій за допомогою AllShare."
+
+msgid "IDS_MUSIC_BODY_VALIDITY"
+msgstr "Термін дії"
+
+msgid "IDS_MUSIC_BODY_TYPE_CNOUN"
+msgstr "Тип"
+
+msgid "IDS_MUSIC_BODY_THIS_WILL_DELETE_THE_FILE_FROM_THE_SERVER_AND_ANY_CONNECTED_DEVICES_AS_WELL"
+msgstr "Це призведе до видалення файла із сервера та інших підключених пристроїв."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_ARTISTS"
+msgstr "Виконавці"
+
+msgid "IDS_MUSIC_BODY_PLAYINGDETAILS_ALBUM_ART"
+msgstr "Альбом зображень"
+
+msgid "IDS_MUSIC_BODY_OTHER_CONTENTS"
+msgstr "Інший вміст"
+
+msgid "IDS_MUSIC_BODY_NAME_TOO_LONG"
+msgstr "Задовге ім'я."
+
+msgid "IDS_MUSIC_BODY_MUSIC_CLARITY"
+msgstr "Ясність музики"
+
+msgid "IDS_MUSIC_BODY_HIGH_VOLUMES_MAY_HARM_YOUR_HEARING_IF_YOU_LISTEN_FOR_A_LONG_TIME"
+msgstr "Тривале прослуховування за високого рівня гучності може призвести до погіршення слуху."
+
+msgid "IDS_MUSIC_BODY_AVAILABLE_USES"
+msgstr "Доступні використання"
+
+msgid "IDS_MUSIC_TPOP_SOUND_EFFECTS_ONLY_AVAILABLE_WHILE_HEADPHONES_CONNECTED"
+msgstr "Щоб застосувати звукові ефекти, потрібно підключити навушники."
+
+msgid "IDS_ST_OPT_ADD_TO_YOUR_PERSONAL_STORAGE"
+msgstr "Додати до особистого місця збереження"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_YOUR_PERSONAL_STORAGE"
+msgstr "Видалити з особистого місця збереження"
+
+msgid "IDS_ST_BODY_CONTEXTUAL_POP_UP_T_TALKBACK"
+msgstr "Контекстне спливаюче повідомлення"
+
+msgid "IDS_ST_BODY_A_CONTEXTUAL_POP_UP_IS_OPEN_DOUBLE_TAP_TO_CLOSE_IT_T_TALKBACK"
+msgstr "Контекстне спливаюче повідомлення відкрито. Двічі натисніть, щоб його закрити"
+
+msgid "IDS_ST_BODY_REPEAT_ONE"
+msgstr "Повторювати один раз"
+
+msgid "IDS_ST_BUTTON_MOVING_ING"
+msgstr "Переміщення..."
+
+msgid "IDS_HS_BODY_SELECT_UP_TO_PD_ITEMS"
+msgstr "Виберіть до %d об’єктів"
+
+msgid "IDS_CAM_BODY_TAB_T_TTS"
+msgstr "Вкладка"
+
+msgid "IDS_DLNA_OPT2_CHANGE_PLAYER"
+msgstr "Змінити плеєр"
+
+msgid "IDS_BR_SK_TABS"
+msgstr "Вкладки"
+
+msgid "IDS_MF_BODY_DROPBOX_ABB"
+msgstr "Dropbox"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Пристрій автоматично вибере фрагмент музичного файлу, який найкраще підходить для вибраної дії."
+
+msgid "IDS_MF_BODY_PARENT_RATING"
+msgstr "Основний рейтинг"
+
+msgid "IDS_VR_POP_FILE_NOT_FOUND"
+msgstr "Файл не знайдено."
+
+msgid "IDS_PB_POP_CALLER_RINGTONE_SAVED"
+msgstr "Звук дзвінка абонента збережено."
+
+msgid "IDS_MUSIC_BODY_BIT_DEPTH"
+msgstr "Кількість бітів"
+
+msgid "IDS_MUSIC_BODY_SIZE"
+msgstr "Розмір"
+
+msgid "IDS_MF_HEADER_PD_SELECTED"
+msgstr "Вибрано %d"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_THIS_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Після додавання записів на пристрій їх буде відображено тут."
+
+msgid "IDS_MUSIC_TMBODY_LENGTH"
+msgstr "Довжина"
+
+msgid "IDS_MUSIC_POP_1_FOLDER_WILL_BE_DELETED"
+msgstr "1 папку буде видалено."
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Немає вмісту"
+
+msgid "IDS_MUSIC_ITAB4_FOLDERS"
+msgstr "Папки"
+
+msgid "IDS_MUSIC_HEADER_MY_PLAYLISTS_ABB"
+msgstr "Мої списки відтворення"
+
+msgid "IDS_MP_BODY_SOUND_PLAYER"
+msgstr "Музичний плеєр"
+
+msgid "IDS_MUSIC_OPT_SETTINGS"
+msgstr "Налаштування"
+
+msgid "IDS_MUSIC_POP_DELETING"
+msgstr "Видалення..."
+
+msgid "IDS_MUSIC_POP_1_TRACK_WILL_BE_DELETED"
+msgstr "1 запис буде видалено."
+
+msgid "IDS_MUSIC_POP_ALL_TRACKS_WILL_BE_DELETED"
+msgstr "Усі записи буде видалено"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_WILL_BE_DELETED"
+msgstr "%d записи(-ів) буде видалено."
+
+msgid "IDS_MUSIC_POP_1_PLAYLIST_WILL_BE_DELETED"
+msgstr "1 список відтворення буде видалено."
+
+msgid "IDS_MUSIC_POP_PD_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Буде видалено списки відтворення: %d"
+
+msgid "IDS_MUSIC_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "Буде видалено альбомів: %d"
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS_WILL_BE_DELETED"
+msgstr "Буде видалено артистів: %d"
+
+msgid "IDS_MUSIC_POP_PD_FOLDERS_WILL_BE_DELETED"
+msgstr "Буде видалено папок: %d."
+
+msgid "IDS_ST_POP_CONNECTION_FAILED"
+msgstr "Збій з'єднання."
+
+msgid "IDS_MUSIC_BODY_CLASSIC"
+msgstr "Класика"
+
+msgid "IDS_MUSIC_BODY_ROCK"
+msgstr "Рок"
+
+msgid "IDS_MUSIC_BODY_JAZZ"
+msgstr "Джаз"
+
+msgid "IDS_MUSIC_BODY_POP"
+msgstr "Поп-музика"
+
+msgid "IDS_MUSIC_BODY_AUTO"
+msgstr "Авто"
+
+msgid "IDS_MUSIC_POP_CURRENT_SOUND_EFFECT_NOT_SUPPORTED_BY_HDMI"
+msgstr "Поточний звуковий ефект не підтримується HDMI."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_BLUETOOTH"
+msgstr "Звукові ефекти не підтримуються для Bluetooth."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_LINE_OUT"
+msgstr "Звукові ефекти не підтримуються для лінійного виходу."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_HDMI"
+msgstr "Звукові ефекти не підтримуються для HDMI."
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EFFECT"
+msgstr "Ламповий підсилювач"
+
+msgid "IDS_MUSIC_BODY_CUSTOM"
+msgstr "Свій список"
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EQUALISER_ABB"
+msgstr "Підсилювач"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d записів додано до списку відтворення."
+
+msgid "IDS_MUSIC_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 запис додано до списку відтворення"
+
+msgid "IDS_MUSIC_HEADER_ADD_TRACKS_TO_PLAYLIST_ABB"
+msgstr "Додав.запис.до списку відтвор."
+
+msgid "IDS_MUSIC_POP_PS_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "Список відтворення «%s» уже існує. Введіть іншу назву."
+
+msgid "IDS_MUSIC_TMBODY_DATE_OF_RECORDING"
+msgstr "Дата записування"
+
+msgid "IDS_MBP_TPOP_TRACK_SET_AS_ALARM_TONE"
+msgstr "Запис встановлено як сигнал будильника."
+
+msgid "IDS_MUSIC_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Результів не знайдено"
+
+msgid "IDS_MUSIC_OPT_DEFAULT_RINGTONE_ABB"
+msgstr "Звук дзвінка за умовчанням"
+
+msgid "IDS_MUSIC_TPOP_TRACK_SET_AS_CALLER_RINGTONE"
+msgstr "Запис встановлено як звук дзвінка абонента."
+
+msgid "IDS_MP_TPOP_TRACK_SET_AS_RINGTONE"
+msgstr "Запис встановлено як звук дзвінка."
+
+msgid "IDS_DLNA_BODY_ADD_TO_NOW_PLAYING_LIST"
+msgstr "Додати до списку поточного відтворення"
+
+msgid "IDS_MUSIC_TPOP_EQUALISER_SETTINGS_WILL_BE_APPLIED_WHILE_PLAYING_MUSIC"
+msgstr "Налаштування еквалайзера буде застосовано під час відтворення музики."
+
+msgid "IDS_ST_BODY_ALERT"
+msgstr "Попередження"
+
+msgid "IDS_IV_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 альбом буде видалено."
+
+msgid "IDS_MUSIC_OPT_SD_CARD"
+msgstr "SD-карта"
+
+msgid "IDS_MUSIC_SBODY_DEVICE_STORAGE"
+msgstr "Місце збереження на пристрої"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE"
+msgstr "Назва списку відтворення вже використовується."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_PD"
+msgstr "Список відтворення %d"
+
+msgid "IDS_MUSIC_HEADER_CREATE"
+msgstr "Створення"
+
+msgid "IDS_MUSIC_HEADER_EQUALISER_PRESET_ABB"
+msgstr "Попередньо встановлений еквалайзер"
+
+msgid "IDS_MUSIC_OPT_AUTOMATIC_M_EQUALIZER_EFFECT"
+msgstr "Автоматичний"
+
+msgid "IDS_MUSIC_OPT_CLASSICAL_M_EQUALIZER_EFFECT"
+msgstr "Класика"
+
+msgid "IDS_MUSIC_HEADER_ENVIRONMENT_EFFECT_ABB"
+msgstr "Реалістичний ефект"
+
+msgid "IDS_VIDEO_POP_THE_FILE_TYPE_IS_NOT_SUPPORTED"
+msgstr "Тип файла не підтримується."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_CREATE_PLAYLISTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Після створення списків відтворення їх буде відображено тут."
+
+msgid "IDS_ST_HEADER_SELECT_AUDIO_DEVICE_ABB"
+msgstr "Вибір аудіопристрою"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "Ім’я списку відтворення вже використовується. Введіть інше ім’я."
+
+msgid "IDS_MUSIC_HEADER_SOUNDALIVE_ABB3"
+msgstr "SoundAlive"
+
+msgid "IDS_MUSIC_OPT_NOW_PLAYING_LIST"
+msgstr "Зараз відтворюється"
+
+msgid "IDS_MUSIC_OPT_SHOW_LYRICS"
+msgstr "Відобразити текст"
+
+msgid "IDS_MUSIC_OPT_HIDE_LYRICS"
+msgstr "Приховати текст"
+
+msgid "IDS_MUSIC_TPOP_UNABLE_TO_PLAY_MUSIC_DURING_CALLS"
+msgstr "Неможливо відтворити музику під час викликів."
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Видалити"
+
+msgid "IDS_MUSIC_HEADER_SELECT"
+msgstr "Вибрати"
+
+msgid "IDS_TPLATFORM_OPT_NFC"
+msgstr "NFC"
+
+msgid "IDS_MUSIC_HEADER_UNABLE_TO_PLAY_TRACK"
+msgstr "Неможливо відтворити запис"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "ГОТОВО"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "СКАСУВАТИ"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "ВИДАЛИТИ"
+
+msgid "IDS_MUSIC_POP_RENAME"
+msgstr "Перейменувати"
+
+msgid "IDS_MUSIC_OPT_MESSAGE"
+msgstr "Повідомлення"
+
+msgid "IDS_MUSIC_SK_OK"
+msgstr "ОК"
+
+msgid "IDS_MUSIC_SK_CANCEL"
+msgstr "Скасувати"
+
+msgid "IDS_MUSIC_BUTTON_REFRESH"
+msgstr "Оновити"
+
+msgid "IDS_MUSIC_BODY_SELECT_ALL"
+msgstr "Вибрати всі"
+
+msgid "IDS_MUSIC_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_MUSIC_POP_DELETED"
+msgstr "Видалено."
+
+msgid "IDS_MUSIC_OPT_STOP"
+msgstr "Стоп"
+
+msgid "IDS_MUSIC_BODY_UNKNOWN"
+msgstr "Невідома"
+
+msgid "IDS_MUSIC_BODY_TITLE"
+msgstr "Назва"
+
+msgid "IDS_MUSIC_OPT_SENDVIA_EMAIL"
+msgstr "Email"
+
+msgid "IDS_MUSIC_OPT_BLUETOOTH"
+msgstr "Bluetooth"
+
+msgid "IDS_MUSIC_HEADER_DOWNLOAD"
+msgstr "Завантаження"
+
+msgid "IDS_MUSIC_POP_LOW_BATTERY"
+msgstr "Батарея розряджена."
+
+msgid "IDS_MUSIC_HEADER_AUDIO_DEVICE"
+msgstr "Аудіопристрій"
+
+msgid "IDS_MUSIC_HEADER_DETAILS"
+msgstr "Деталі"
+
+msgid "IDS_MUSIC_OPT_END"
+msgstr "Завершити"
+
+msgid "IDS_MUSIC_OPT_EDIT"
+msgstr "Редагувати"
+
+msgid "IDS_CAM_HEADER_UPDATED"
+msgstr "Оновлено."
+
+msgid "IDS_MUSIC_POP_REMOVED"
+msgstr "Видалено."
+
+msgid "IDS_MUSIC_OPT_SELECTED"
+msgstr "Вибране"
+
+msgid "IDS_ST_BUTTON_SCAN"
+msgstr "Сканувати"
+
+msgid "IDS_MF_POP_ERROR"
+msgstr "Помилка"
+
+msgid "IDS_MF_POP_MEMORY_FULL"
+msgstr "Пам'ять заповнено."
+
+msgid "IDS_MUSIC_MBODY_QUEUE"
+msgstr "Черга"
+
+msgid "IDS_MUSIC_OPT_VOLUME"
+msgstr "Гучність"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE"
+msgstr "Випадковий порядок"
+
+msgid "IDS_MUSIC_OPT_REPEAT"
+msgstr "Повторити"
+
+msgid "IDS_COM_BODY_DETAILS"
+msgstr "Details"
+
+msgid "IDS_COM_BODY_DETAILS_TITLE"
+msgstr "Title"
+
+msgid "IDS_COM_BODY_EDIT"
+msgstr "Edit"
+
+msgid "IDS_COM_BODY_EMAIL"
+msgstr "Email"
+
+msgid "IDS_COM_BODY_END"
+msgstr "End"
+
+msgid "IDS_COM_BODY_FOLDERS"
+msgstr "Folders"
+
+msgid "IDS_COM_BODY_GALLERY"
+msgstr "Gallery"
+
+msgid "IDS_COM_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_COM_BODY_LOADING"
+msgstr "Loading..."
+
+msgid "IDS_COM_BODY_LOW_BATTERY"
+msgstr "Low battery."
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Message"
+
+msgid "IDS_COM_BODY_MUSIC"
+msgstr "Music"
+
+msgid "IDS_COM_BODY_NFC"
+msgstr "NFC"
+
+msgid "IDS_COM_BODY_NO_CONTENTS"
+msgstr "No content"
+
+msgid "IDS_COM_BODY_PAUSE"
+msgstr "Pause"
+
+msgid "IDS_COM_BODY_PD_SELECTED"
+msgstr "%d selected."
+
+msgid "IDS_COM_BODY_PREVIOUS"
+msgstr "Previous"
+
+msgid "IDS_COM_BODY_RESET_A"
+msgstr "Reset"
+
+msgid "IDS_COM_BODY_SELECTED"
+msgstr "Selected"
+
+msgid "IDS_COM_BODY_SELECT_ALL"
+msgstr "Select all"
+
+msgid "IDS_COM_BODY_SETTINGS"
+msgstr "Settings"
+
+msgid "IDS_COM_BODY_TIME"
+msgstr "Time"
+
+msgid "IDS_COM_BODY_UNABLE_TO_ADD"
+msgstr "Unable to add."
+
+msgid "IDS_COM_BODY_UNKNOWN"
+msgstr "Unknown"
+
+msgid "IDS_COM_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_COM_BUTTON_SCAN"
+msgstr "Scan"
+
+msgid "IDS_COM_BUTTON_SHARE"
+msgstr "Share"
+
+msgid "IDS_COM_HEADER_AUDIO_DEVICE_ABB"
+msgstr "Audio device"
+
+msgid "IDS_COM_OPT_ADDED"
+msgstr "Added."
+
+msgid "IDS_COM_OPT_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_POP_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_POP_CONNECTION_FAILED"
+msgstr "Connection failed."
+
+msgid "IDS_COM_POP_DELETED"
+msgstr "Deleted."
+
+msgid "IDS_COM_POP_DELETE_Q"
+msgstr "Delete?"
+
+msgid "IDS_COM_POP_DONE"
+msgstr "Done"
+
+msgid "IDS_COM_POP_DOWNLOADING"
+msgstr "Downloading..."
+
+msgid "IDS_COM_POP_ERROR"
+msgstr "Error."
+
+msgid "IDS_COM_POP_FAILED"
+msgstr "Failed."
+
+msgid "IDS_COM_POP_FILE_NOT_EXIST"
+msgstr "This file does not exist."
+
+msgid "IDS_COM_POP_FILE_NOT_FOUND"
+msgstr "File not found."
+
+msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximum number of characters reached."
+
+msgid "IDS_COM_POP_MEMORY_FULL"
+msgstr "Memory full."
+
+msgid "IDS_COM_POP_REMOVED"
+msgstr "Removed."
+
+msgid "IDS_COM_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Unable to use during Mass storage mode."
+
+msgid "IDS_COM_POP_UPDATED"
+msgstr "Updated."
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_SK_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_SK_DOWNLOAD"
+msgstr "Download"
+
+msgid "IDS_COM_SK_NEW"
+msgstr "New"
+
+msgid "IDS_COM_SK_NEXT"
+msgstr "Next"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_SK_REFRESH"
+msgstr "Refresh"
+
+msgid "IDS_COM_SK_REMOVE"
+msgstr "Remove"
+
+msgid "IDS_COM_SK_SAVE"
+msgstr "Save"
+
+msgid "IDS_COM_SK_SELECT"
+msgstr "Select"
+
+msgid "IDS_COM_SK_SET"
+msgstr "Set"
+
+msgid "IDS_COM_SK_STOP"
+msgstr "Stop"
+
+
+msgid "IDS_MH_BODY_THE_PLAYLIST_NAME_PS_IS_ALREADY_IN_USE"
+msgstr "The playlist name %s is already in use."
+
+msgid "IDS_MH_BODY_TOTAL"
+msgstr "Total"
+
+msgid "IDS_MH_MBODY_RECENTLY_ADDED_M_SONG"
+msgstr "Recently added"
+
+msgid "IDS_MH_OPT_MORE_INFO_ABB"
+msgstr "More info"
+
+msgid "IDS_MH_POP_ALARM_TONE_SET"
+msgstr "Alarm tone set."
+
+msgid "IDS_MH_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 track added to playlist."
+
+msgid "IDS_MH_TPOP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d tracks added to playlist."
+
+msgid "IDS_MUSIC_OPT_RENAME"
+msgstr "Rename"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Unable to play during call."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Перевищено максимальний розмір файлів."
+
+msgid "IDS_CAM_TPOP_UNABLE_TO_PLAY_MUSIC_WHILE_RECORDING_AUDIO_OR_VIDEO"
+msgstr "Неможливо відтворювати музику під час запису відео чи аудіо."
+
--- /dev/null
+msgid "IDS_ST_BODY_LOADING_ING"
+msgstr "Yuklanmoqda..."
+
+msgid "IDS_GALLERY_OPT_PRIVATE_M_CONTENT"
+msgstr "Maxfiy"
+
+msgid "IDS_MF_BODY_TIME"
+msgstr "Vaqt"
+
+msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
+msgstr "Ushbu fayl mavjud emas."
+
+msgid "IDS_MUSIC_POP_PHONE_RINGTONE"
+msgstr "Telefon ringtoni"
+
+msgid "IDS_MUSIC_BODY_DURATION"
+msgstr "Davomiylik"
+
+msgid "IDS_MUSIC_BODY_MUSIC_LOCATION"
+msgstr "Joylashuv"
+
+msgid "IDS_MUSIC_BODY_SET_AS_M_RINGTONE"
+msgstr "Quyidagicha o‘rnatish"
+
+msgid "IDS_ST_OPT_ADD_TO_PERSONAL_PAGE"
+msgstr "Shaxsiy sahifa qo‘shish"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_PERSONAL_PAGE_ABB"
+msgstr "Shax/sah-dan olib tashla"
+
+msgid "IDS_ST_POP_MOVE_TO_NORMAL_STORAGE"
+msgstr "Normal omborga o‘tish"
+
+msgid "IDS_ST_POP_MOVE_TO_PERSONAL_STORAGE"
+msgstr "Shaxsiy omborga o‘tish"
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEMS_WILL_BE_MOVED_TO_PS"
+msgstr "Tanlangan elementlar %sga ko‘chiriladi."
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEM_WILL_BE_MOVED_TO_PS"
+msgstr "Tanlangan element %sga ko‘chiriladi."
+
+msgid "IDS_VR_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Katta hajmli xotira rejimida foydalanib bo‘lmaydi."
+
+msgid "IDS_MUSIC_POP_RINGTONE_ADDED"
+msgstr "Rington qo‘shildi."
+
+msgid "IDS_CAM_BODY_BUTTON_T_TTS"
+msgstr "Tugma"
+
+msgid "IDS_MUSIC_HEADER_SELECT_ITEMS"
+msgstr "Elementlar tanlash"
+
+msgid "IDS_ST_BODY_ADVANCED"
+msgstr "Takomillashgan"
+
+msgid "IDS_ST_SK_PREVIOUS"
+msgstr "Avvalgi"
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Yopish"
+
+msgid "IDS_MUSIC_POP_ADDED"
+msgstr "Qo‘shilgan."
+
+msgid "IDS_MUSIC_POP_FAILED"
+msgstr "Xato."
+
+msgid "IDS_MUSIC_BODY_NO_SEARCH_RESULTS"
+msgstr "Qidirish natijalari yo‘q"
+
+msgid "IDS_MUSIC_SK_DONE"
+msgstr "Bajarildi"
+
+msgid "IDS_MUSIC_BODY_NO_ITEMS"
+msgstr "Elementlar yo‘q"
+
+msgid "IDS_BR_OPT_ADD_TO_HOME"
+msgstr "Uyga qo‘shish"
+
+msgid "IDS_BR_SK_NEXT"
+msgstr "Keyingi"
+
+msgid "IDS_BR_BODY_DOWNLOADING_ING"
+msgstr "Yuklanmoqda..."
+
+msgid "IDS_IV_BODY_FAVOURITE"
+msgstr "Tanlangan"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_PERSONAL_STORAGE"
+msgstr "Shaxsiy omborga qo‘shish"
+
+msgid "IDS_DLNA_POP_DISCONNECTED_FROM_PS_CHECK_THE_NETWORK_STATUS_AND_THE_CONNECTED_DEVICE"
+msgstr "%sdan uzilgan. Tarmoq holatini va ulangan qurilmani tekshiring"
+
+msgid "IDS_DLNA_OPT_VIA_SCREEN_MIRRORING_ABB"
+msgstr "Screen Mirroring orqali"
+
+msgid "IDS_DLNA_OPT_VIA_HOME_NETWORK_ABB"
+msgstr "Uy tarmog‘i orqali"
+
+msgid "IDS_IV_POP_ENTRY_IS_EMPTY"
+msgstr "Kiritish bo‘sh."
+
+msgid "IDS_FM_POP_UNAVAILABLE_DURING_CALL"
+msgstr "Qo‘ng‘iroq mobaynida foydalanib bo‘lmaydi."
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Belgilar soni ruxsat etilgan maksimal miqdorga yetdi."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_SHARE_DRM_FILE"
+msgstr "DRM faylni ulashib bo‘lmaydi."
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Olib tashlanmoqda..."
+
+msgid "IDS_MUSIC_HEADER_PD_DEVICES"
+msgstr "%dta qurilma"
+
+msgid "IDS_MUSIC_BUTTON_ENABLE_MOTION"
+msgstr "Harakatni yoq"
+
+msgid "IDS_MUSIC_BUTTON_DONT_ASK_AGAIN"
+msgstr "Qayta so‘ralmasin"
+
+msgid "IDS_MUSIC_BODY_NO_RESULTS_FOUND"
+msgstr "Natijalar topilmadi."
+
+msgid "IDS_VPL_OPT_HDMI"
+msgstr "HDMI"
+
+msgid "IDS_MUSIC_BODY_TURN_PHONE_OVER_TO_MUTE_INCOMING_CALLS_MESSAGE_ALERTS_AND_ALARMS"
+msgstr "Kiruvchi qo‘ng‘iroqlar, xabar signallari va budilniklar ovozini o‘chirish uchun telefonni teskari o‘giring."
+
+msgid "IDS_ST_BODY_NONE"
+msgstr "Hech qaysi"
+
+msgid "IDS_ST_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_ST_BODY_GALLERY"
+msgstr "Galereya"
+
+msgid "IDS_ST_BODY_DOUBLE_TAP_TO_MOVE_TO_CONTENT_T_TTS"
+msgstr "Tarkibni ko‘chirish uchun ikki marta cherting."
+
+msgid "IDS_MUSIC_BODY_SURROUND"
+msgstr "O‘rab olish"
+
+msgid "IDS_MUSIC_OPT_LYRICS_ABB"
+msgstr "Lirik asarlar"
+
+msgid "IDS_MUSIC_POP_AFTER_YOU_ADD_TRACKS_TO_MUSIC_ON_YOUR_MOBILE_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Mobil qurilmangizdagi Musiqaga treklar qo‘shganingizdan so‘ng, ular bu yerda ko‘rsatiladi."
+
+msgid "IDS_MUSIC_BODY_SAMPLING_RATE"
+msgstr "Namunaviy tezlik"
+
+msgid "IDS_MUSIC_BODY_MARKED_AS_A_FAVOURITE"
+msgstr "Tanlangan sifatida belgilangan."
+
+msgid "IDS_MUSIC_BODY_MUSIC"
+msgstr "Musiqa"
+
+msgid "IDS_MUSIC_BODY_NOT_MARKED_AS_A_FAVOURITE"
+msgstr "Tanlangan sifatida belgilanmagan."
+
+msgid "IDS_MUSIC_HEADER_SEARCH_MUSIC_ABB"
+msgstr "Musiqa qidirish"
+
+msgid "IDS_MUSIC_POP_AUTO_RECOMMENDATION_DOES_NOT_SUPPORT_THIS_AUDIO_FILE"
+msgstr "Avtomatik tavsiyanoma ushbu audio faylni qo‘llab-quvvatlamaydi."
+
+msgid "IDS_MUSIC_POP_SORRY_THE_PLAYER_DOES_NOT_SUPPORT_THIS_TYPE_OF_AUDIO_FILE"
+msgstr "Kechirasiz, pleyer ushbu turdagi audio faylni qo‘llab-quvvatlamaydi."
+
+msgid "IDS_MUSIC_BODY_FAVOURITES"
+msgstr "Tanlanganlar"
+
+msgid "IDS_MUSIC_BODY_MOST_PLAYED"
+msgstr "Eng ko‘p o‘ynalgan"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_ADDED"
+msgstr "Oxirgi qo‘shilgan"
+
+msgid "IDS_MUSIC_OPT_CREATE_PLAYLIST"
+msgstr "Mus. ro‘yxatini yaratish"
+
+msgid "IDS_MUSIC_OPT_REMOVE"
+msgstr "Olib tashlash"
+
+msgid "IDS_MUSIC_OPT_SETAS_CALLER_RINGTONE"
+msgstr "Qo‘ng‘iroq qiluvchi ringtoni"
+
+msgid "IDS_MUSIC_TAB4_ARTISTS"
+msgstr "Ijrochilar"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD"
+msgstr "Qo‘shib bo‘lmaydi."
+
+msgid "IDS_MUSIC_POP_UNABLE_CREATE_PLAYLIST"
+msgstr "Musiqalar ro‘yxatini yaratib bo‘lmaydi."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_GET_TAG"
+msgstr "Tegni olib bo‘lmadi."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_MORE_THAN_PD_MUSIC_FILE"
+msgstr "%ddan ko‘p musiqiy fayllarni qo‘shib bo‘lmaydi."
+
+msgid "IDS_MUSIC_BODY_ALBUM"
+msgstr "Albom"
+
+msgid "IDS_MUSIC_BODY_AUTHOR"
+msgstr "Muallif"
+
+msgid "IDS_MUSIC_BODY_COPYRIGHT"
+msgstr "Mualliflik huquqi"
+
+msgid "IDS_MUSIC_BODY_CREATE_PLAYLIST"
+msgstr "Mus. ro‘yxatini yaratish"
+
+msgid "IDS_MUSIC_BODY_DESCRIPTION"
+msgstr "Tavsif"
+
+msgid "IDS_MUSIC_BODY_FORMAT"
+msgstr "Format"
+
+msgid "IDS_MUSIC_BODY_IMPOSSIBLE"
+msgstr "Imkonsiz"
+
+msgid "IDS_MUSIC_BODY_NO_PLAYLISTS"
+msgstr "Musiqalar ro‘yxati yo‘q"
+
+msgid "IDS_MUSIC_BODY_TRACK_NUMBER"
+msgstr "Trek raqami"
+
+msgid "IDS_MUSIC_POP_DELETE_Q"
+msgstr "O'chirilsinmi?"
+
+msgid "IDS_MUSIC_POP_REMOVE_Q"
+msgstr "Olib tashlansinmi?"
+
+msgid "IDS_MUSIC_POP_UNABLE_RENAME_PLAYLIST"
+msgstr "Musiqalar ro‘yxati nomini o‘zgartirib bo‘lmaydi."
+
+msgid "IDS_MUSIC_TAB4_ALBUMS"
+msgstr "Albomlar"
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Qo‘shilmoqda..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "%dta albom yo‘q qilinsinmi?"
+
+msgid "IDS_MUSIC_TAB4_PLAYLISTS"
+msgstr "Musiqa ro‘yx."
+
+msgid "IDS_MUSIC_OPT_ADD"
+msgstr "Qo‘shish"
+
+msgid "IDS_MUSIC_BODY_BIOGRAPHY"
+msgstr "Tarjimai hol"
+
+msgid "IDS_MUSIC_BODY_CREDITS"
+msgstr "Kreditlar"
+
+msgid "IDS_MUSIC_BODY_DETAILS_MEADIA_INFO"
+msgstr "Media ma’lumoti"
+
+msgid "IDS_MUSIC_BODY_DISCOGRAPHY"
+msgstr "Diskografiya"
+
+msgid "IDS_MUSIC_BODY_LYRIC"
+msgstr "Lirik asar"
+
+msgid "IDS_MUSIC_BODY_POSSIBLE"
+msgstr "Taxminiy"
+
+msgid "IDS_MUSIC_BODY_REVIEW"
+msgstr "Ko‘rib chiqish"
+
+msgid "IDS_MUSIC_HEADER_TRACK_LIST"
+msgstr "Treklar ro‘yxati"
+
+msgid "IDS_MUSIC_BODY_ADD_TO_PLAYLIST"
+msgstr "Qo‘shiqlar ro‘yxatiga qo‘shish"
+
+msgid "IDS_MUSIC_BODY_ARTIST"
+msgstr "Ijrochi"
+
+msgid "IDS_MUSIC_BODY_FORWARDING"
+msgstr "Boshqaga yo‘naltirish"
+
+msgid "IDS_MUSIC_BODY_RECORDED_DATE"
+msgstr "Date of recording"
+
+msgid "IDS_MUSIC_BODY_PLAYLISTS"
+msgstr "Musiqa ro‘yxatlari"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_PLAYED"
+msgstr "Oxirgi o‘ynatilgan"
+
+msgid "IDS_MUSIC_BODY_TRACK_LENGTH"
+msgstr "Trek uzunligi"
+
+msgid "IDS_MUSIC_HEADER_NO_SONGS"
+msgstr "Qo‘shiqlar yo‘q"
+
+msgid "IDS_MUSIC_POP_THIS_TRACK_WILL_BE_DELETED"
+msgstr "Ushbu trek yo‘q qilinadi."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_TRACKS_WILL_BE_DELETED"
+msgstr "Tanlangan treklar yo‘q qilinadi."
+
+msgid "IDS_MUSIC_POP_THIS_ARTIST_WILL_BE_DELETED"
+msgstr "Ushbu ijrochi o'chiriladi."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ARTISTS_WILL_BE_DELETED"
+msgstr "Tanlangan ijrochilar yo‘q qilinadi."
+
+msgid "IDS_MUSIC_POP_ALL_ARTISTS_WILL_BE_DELETED"
+msgstr "Barcha ijrochilar o'chiriladi."
+
+msgid "IDS_MUSIC_POP_THIS_FOLDER_WILL_BE_DELETED"
+msgstr "Ushbu jild o'chiriladi."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_FOLDERS_WILL_BE_DELETED"
+msgstr "Tanlangan jildlar yo‘q qilinadi."
+
+msgid "IDS_MUSIC_POP_ALL_FOLDERS_WILL_BE_DELETED"
+msgstr "Barcha jildlar o'chiriladi."
+
+msgid "IDS_MUSIC_POP_THIS_ALBUM_WILL_BE_DELETED"
+msgstr "Ushbu albom o'chiriladi."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ALBUMS_WILL_BE_DELETED"
+msgstr "Tanlangan albomlar yo‘q qilinadi."
+
+msgid "IDS_MUSIC_POP_ALL_ALBUMS_WILL_BE_DELETED"
+msgstr "Barcha albomlar o'chiriladi."
+
+msgid "IDS_MUSIC_POP_THIS_PLAYLIST_WILL_BE_DELETED"
+msgstr "Ushbu musiqalar ro‘yxati yo‘q qilinadi."
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Tanlangan musiqalar ro‘yxatlari yo‘q qilinadi."
+
+msgid "IDS_MUSIC_POP_ALL_PLAYLISTS_WILL_BE_DELETED"
+msgstr "Barcha qo‘shiqlar ro‘yxati o'chiriladi."
+
+msgid "IDS_MUSIC_HEADER_SONGS"
+msgstr "Qo‘shiqlar"
+
+msgid "IDS_MUSIC_OPT_REORDER"
+msgstr "Qayta saralash"
+
+msgid "IDS_MUSIC_OPT_SAVE_AS_PLAYLIST"
+msgstr "Musiqa sifatida saqlash"
+
+msgid "IDS_MUSIC_OPT_SETAS_ALARM_TONE"
+msgstr "Budilnik ohangi"
+
+msgid "IDS_MUSIC_POP_NOTHING_SELECTED"
+msgstr "Hech narsa tanlanmagan."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "O‘ynatib bo‘lmaydi. Xato yuz berdi."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_UNSUPPORTED_FILETYPE"
+msgstr "O‘ynatib bo‘lmaydi. Qo‘llab-quvvatlanmaydigan fayl turi."
+
+msgid "IDS_MUSIC_SK_SHARE"
+msgstr "Um. foyd."
+
+msgid "IDS_MUSIC_TAB4_CONDUCTORS"
+msgstr "Konduktorlar"
+
+msgid "IDS_MUSIC_HEADER_SELECT_DEVICE"
+msgstr "Qurilma tanlang"
+
+msgid "IDS_MUSIC_SK_VIEW_AS"
+msgstr "Ko‘rish:"
+
+msgid "IDS_MUSIC_BODY_SOUNDEFFECTS_NORMAL"
+msgstr "Normal"
+
+msgid "IDS_MUSIC_BODY_USER"
+msgstr "Foydalanuvchi"
+
+msgid "IDS_MUSIC_BODY_VOCAL_M_SOUNDEFFECT"
+msgstr "Vokal"
+
+msgid "IDS_MUSIC_MBODY_BASS_BOOST"
+msgstr "Quyi chastota"
+
+msgid "IDS_MUSIC_MBODY_TREBLE_BOOST"
+msgstr "Yuqori chastota"
+
+msgid "IDS_MUSIC_BODY_CAFE_M_SOUNDEFFECT"
+msgstr "Kafe"
+
+msgid "IDS_MUSIC_OPT_VIRTUAL_71_CH"
+msgstr "Virtual 7.1 k"
+
+msgid "IDS_MUSIC_OPT_AFTER_15_MIN_ABB"
+msgstr "15 daqi-dan so‘ng"
+
+msgid "IDS_MUSIC_BODY_AFTER_30_MIN"
+msgstr "30 daqiqadan keyin"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HOUR"
+msgstr "1 soatdan keyin"
+
+msgid "IDS_MUSIC_POP_AFTER_1_HOUR_30_MIN"
+msgstr "1 soat 30 daqiqadan so‘ng"
+
+msgid "IDS_MUSIC_BODY_AFTER_2_HOURS"
+msgstr "2 soatdan keyin"
+
+msgid "IDS_MUSIC_BODY_MUSIC_AUTO_OFF"
+msgstr "Musiqani avt. o‘chirish"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES_ONLY"
+msgstr "Ushbu effekt faqatgina quloqliklar va Bluetooth karnaylari rejimida ishlaydi."
+
+msgid "IDS_MUSIC_TAB4_MUSIC_SQUARE"
+msgstr "Musiqa kvadrati"
+
+msgid "IDS_MUSIC_POP_NOT_ENOUGH_MUSIC_FILES_TO_PLAY_IN_MUSIC_SQUARE_AT_LEAST_PD_MUSIC_FILES_REQUIRED"
+msgstr "Musiqa kvadratida o‘ynatish uchun musiqa fayllari yetarli emas. Kamida %d musiqa fayli talab etiladi."
+
+msgid "IDS_MUSIC_BODY_PASSION_M_MOOD"
+msgstr "Ehtiros"
+
+msgid "IDS_MUSIC_BODY_CALM_M_ADJECTIVE"
+msgstr "Osuda"
+
+msgid "IDS_MUSIC_BODY_JOY_M_MOOD"
+msgstr "Xursandchilik"
+
+msgid "IDS_MUSIC_BODY_LIBRARY_UPDATE"
+msgstr "Kutubxonani yangilash"
+
+msgid "IDS_MUSIC_POP_UPDATE_LIBRARY_Q"
+msgstr "Kutubxona yangilansinmi?"
+
+msgid "IDS_MUSIC_BODY_CHANGE_AXIS"
+msgstr "Koordinata chizig‘ini o‘zgartirish"
+
+msgid "IDS_MUSIC_ITAB4_GENRES"
+msgstr "Janrlar"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_1_TRACK"
+msgstr "1ta albom/1ta trek"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_PD_TRACKS"
+msgstr "1ta albom/%dta trek"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS_PD_TRACKS"
+msgstr "%dta albom/%dta trek"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_CONTROL_MUSIC_PLAYER_WITH_THE_VOICE_COMMANDS_P1SS_P2SS_P3SS_P4SS_P5SS_AND_P6SS"
+msgstr "Musiqa pleyerini %1$s, %2$s, %3$s, %4$s, %5$s va %6$s ovozli buyruqlari yordamida to‘xtatishingiz va pauza qilishingiz mumkin."
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_PD_TRACKS"
+msgstr "%dta trekni tasodifiy tartibda o‘ynatish"
+
+msgid "IDS_MUSIC_BODY_MORE_INFO"
+msgstr "Ko‘proq ma’lumot"
+
+msgid "IDS_MUSIC_HEADER_MY_MUSIC_M_APPLICATION_NAME"
+msgstr "Mening musiqam"
+
+msgid "IDS_MUSIC_OPT_LIST_VIEW"
+msgstr "Ro‘yxat ko‘rinishi"
+
+msgid "IDS_MUSIC_OPT_PLAY_VIA_GROUP_PLAY"
+msgstr "Group Play orqali o‘ynatish"
+
+msgid "IDS_MUSIC_POP_TRACK_ADDED_TO_FAVOURITES"
+msgstr "Trek tanlanganlarga qo‘shildi."
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_FAVOURITES"
+msgstr "Tanlanganlardan olib tashlash"
+
+msgid "IDS_MUSIC_BODY_NEW_M_LATEST"
+msgstr "Yangi"
+
+msgid "IDS_MUSIC_OPT_TRACKS"
+msgstr "Treklar"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL"
+msgstr "Eskiz"
+
+msgid "IDS_MUSIC_SK_LIST"
+msgstr "Ro‘yxat"
+
+msgid "IDS_MUSIC_SK_OPEN_PLAYLIST"
+msgstr "Mus/ro‘y. och"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALL"
+msgstr "Barchasini o'ynat."
+
+msgid "IDS_MUSIC_POP_SELECTED_LIST_EMPTY"
+msgstr "Tanlangan ro‘yxat bo‘sh."
+
+msgid "IDS_MUSIC_BODY_MOODS"
+msgstr "Kayfiyatlar"
+
+msgid "IDS_MUSIC_BUTTON_YEARS"
+msgstr "Yillar"
+
+msgid "IDS_MUSIC_BODY_OLD"
+msgstr "Eski"
+
+msgid "IDS_MUSIC_BODY_MUSIC_SQUARE_ANALYSES_THE_CHARACTERISTICS_OF_MUSIC_FILES_STORED_ON_YOUR_DEVICE_AND_AUTOMATICALLY_CREATES_PLAYLISTS_MSG"
+msgstr "Musiqa kvadrati qurilmangizda saqlangan musiqa fayllari xarakteristikasini tahlil qiladi hamda avtomatik ravishda musiqalar ro‘yxatini yaratadi."
+
+msgid "IDS_MUSIC_BODY_PLAY_TRACKS_WITH_SIMILAR_CHARACTERISTICS_BY_SELECTING_A_SQUARE_ON_THE_SCREEN"
+msgstr "Ekrandagi kvadratni bosish orqali bir xil xarakteristikadagi musiqalar ro‘yxatini o‘ynating."
+
+msgid "IDS_MUSIC_BODY_VIEW_PLAYLIST_DETAILS_BY_TAPPING_AND_HOLDING_THE_SQUARE_CURRENTLY_BEING_PLAYED"
+msgstr "Joriy o‘ynatilayotgan kvadratni bosib ushlab turish orqali musiqalar ro‘yxati tafsilotlarini ko‘ring."
+
+msgid "IDS_MUSIC_BODY_NEARBY_DEVICES"
+msgstr "Yaqin-atrof. quril."
+
+msgid "IDS_MUSIC_POP_YOU_WILL_NEED_TO_UPDATE_THE_LIBRARY_IF_NEW_SONGS_HAVE_BEEN_ADDED"
+msgstr "Yangi qo‘shiqlar qo‘shilgan bo‘lsa, kutubxonani yangilashingiz lozim bo‘ladi."
+
+msgid "IDS_MUSIC_BODY_NO_ALBUMS"
+msgstr "Albomlar yo‘q"
+
+msgid "IDS_MUSIC_BODY_NO_ARTISTS"
+msgstr "Ijrochilar yo‘q"
+
+msgid "IDS_MUSIC_OPT_PLAY_SPEED_ABB"
+msgstr "O'ynatish tezligi"
+
+msgid "IDS_MUSIC_BODY_CONCERT_HALL_M_SOUNDEFFECT"
+msgstr "Konsert zali"
+
+msgid "IDS_MUSIC_OPT_ADD_TO"
+msgstr "Qo‘shish"
+
+msgid "IDS_MUSIC_SK_VIEW"
+msgstr "Ko‘rish"
+
+msgid "IDS_MUSIC_OPT_LISTBY_RECENTLY_ADDED"
+msgstr "Oxirgi qo‘shilgan"
+
+msgid "IDS_MUSIC_BODY_NOT_USED"
+msgstr "Foydalanilmaydi"
+
+msgid "IDS_MUSIC_BODY_MAKE_AVAILABLE_OFFLINE"
+msgstr "Offlaynda foydalanadigan qil."
+
+msgid "IDS_MUSIC_OPT_AFTER_P1SD_HRS_P2SD_MINS"
+msgstr "%1$d st %2$d daq. keyin"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS"
+msgstr "%d st. so‘ng"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_MINS"
+msgstr "%d daq. so‘ng"
+
+msgid "IDS_MUSIC_BODY_NO_FOLDERS"
+msgstr "Jildlar yo‘q"
+
+msgid "IDS_MUSIC_BODY_NO_TRACKS"
+msgstr "Treklar yo‘q"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS"
+msgstr "%d albom"
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS"
+msgstr "%d qo‘shiqchi"
+
+msgid "IDS_MUSIC_BODY_PD_GENRES"
+msgstr "%d janr"
+
+msgid "IDS_MUSIC_BODY_PD_PLAYLISTS"
+msgstr "%d musiqalar ro‘yxati"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_ABB"
+msgstr "%d trek"
+
+msgid "IDS_MUSIC_BODY_PLAYLIST"
+msgstr "Musiqalar ro‘yxati"
+
+msgid "IDS_MUSIC_HEADER_SIMILAR_ALBUMS"
+msgstr "Bir xil albomlar"
+
+msgid "IDS_MUSIC_HEADER_TRACK"
+msgstr "Trek"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL_VIEW"
+msgstr "Eskizli ko'rinish"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "Ushbu ovoz effekti faqat quloqliklar rejimida ishlaydi."
+
+msgid "IDS_MUSIC_OPT_ALL_CONTENT_ABB2"
+msgstr "Butun tarkib"
+
+msgid "IDS_MUSIC_BODY_A_NETWORK_CONNECTION_IS_REQUIRED_TO_PLAY_THIS_FILE_CHECK_YOUR_NETWORK_CONNECTION_AND_TRY_AGAIN"
+msgstr "Ushbu faylni o‘ynatish uchun tarmoq ulanishi talab qilinadi. Tarmoq ulanishingizni tekshiring va qayta urinib ko‘ring."
+
+msgid "IDS_MUSIC_POP_FILE_TYPE_NOT_SUPPORTED"
+msgstr "Fayl turi qo‘llab-quvvatlanmaydi."
+
+msgid "IDS_MUSIC_POP_UPDATING_ING"
+msgstr "Yangilanmoqda..."
+
+msgid "IDS_MUSIC_OPT_SEARCH_ABB"
+msgstr "Qidirish"
+
+msgid "IDS_MUSIC_OPT_SEARCH_BY"
+msgstr "Quyidagi bo‘yicha qidirish"
+
+msgid "IDS_MUSIC_BODY_RELATED_VIDEOS"
+msgstr "Aloqador videolar"
+
+msgid "IDS_MUSIC_BODY_SMART_VOLUME_ABB"
+msgstr "Smart ovoz balandligi"
+
+msgid "IDS_MUSIC_BODY_THE_VOLUME_OF_ALL_TRACKS_WILL_BE_ADJUSTED_TO_LEVEL_PD"
+msgstr "Barcha treklar balandligi %d darajaga keltiriladi."
+
+msgid "IDS_MUSIC_HEADER_SMART_VOLUME_IS_ENABLED"
+msgstr "Smart ovoz balandligi yoqilgan"
+
+msgid "IDS_MUSIC_OPT_CONNECTION_INFO_ABB"
+msgstr "Ulanish ma’lumoti"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_PD_MINS"
+msgstr "1 st. %d daq. so‘ng"
+
+msgid "IDS_MUSIC_BODY_ADAPT_SOUND_ABB"
+msgstr "Adapt Sound"
+
+msgid "IDS_MUSIC_BODY_MY_DEVICE"
+msgstr "Qurilma"
+
+msgid "IDS_MUSIC_POP_LISTENING_AT_A_HIGH_VOLUME_FOR_A_LONG_TIME_MAY_DAMAGE_YOUR_HEARING_RAISE_THE_VOLUME_ABOVE_SAFE_LEVELS_Q"
+msgstr "Uzoq vaqt davomida baland ovozda musiqa tinglash eshitish qobiliyatingizga jiddiy zarar yetkazishi mumkin. Ovoz balandligi xavfsiz darajadan ko‘tarilsinmi?"
+
+msgid "IDS_MUSIC_POP_ALREADY_EXISTS"
+msgstr "Avvaldan mavjud."
+
+msgid "IDS_MUSIC_OPT_SCAN_FOR_NEARBY_DEVICES"
+msgstr "Yaqin atrofdagi qurilmalarni qidirish"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR"
+msgstr "1 st. so‘ng"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_1_MIN"
+msgstr "1 st. 1 daq. so‘ng"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS_1_MIN"
+msgstr "%d st. 1 daq. so‘ng"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_MIN"
+msgstr "1 daq. so‘ng"
+
+msgid "IDS_MUSIC_OPT_GO_TO_STORE"
+msgstr "Do‘konga o‘tish"
+
+msgid "IDS_MUSIC_SK3_ADD_TRACKS"
+msgstr "Trek qo‘shish"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FROM_MUSIC_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Musiqadan treklarni yuklab olganingizdan so‘ng, ular bu yerda ko‘rsatiladi."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_YOUR_FAVOURITES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Tanlanganlarga treklar qo‘shganingizdan so‘ng, ular bu yerda ko‘rsatiladi."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_PLAY_TRACKS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Treklarni o‘ynatganingizdan so‘ng, ular bu yerda ko‘rsatiladi."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_PS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Treklarni %sga qo‘shganingizdan so‘ng, ular bu yerda ko‘rsatiladi."
+
+msgid "IDS_MUSIC_BODY_NO_PURCHASED_CONTENT"
+msgstr "Xarid qilingan tarkib mavjud emas"
+
+msgid "IDS_MUSIC_SK_SAVE_AS"
+msgstr "Quy-gicha"
+
+msgid "IDS_MUSIC_POP_MUSICPLAYER_UPDATING_FAILED"
+msgstr "Yangilab bo‘lmadi."
+
+msgid "IDS_MUSIC_BODY_EXCITING_M_ADJECTIVE"
+msgstr "Hayajonlantiruvchi"
+
+msgid "IDS_MUSIC_BODY_SEARCH_MY_MUSIC"
+msgstr "Mening musiqamni qidirish"
+
+msgid "IDS_MUSIC_HEADER_CONNECTED_DEVICES"
+msgstr "Ulangan qurilmalar"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST_PS"
+msgstr "Musiqalar ro‘yxatim %s"
+
+msgid "IDS_MUSIC_BODY_NO_DEVICES"
+msgstr "Qurilmalar yo‘q"
+
+msgid "IDS_MUSIC_HEADER_AVAILABLE_DEVICES_ABB"
+msgstr "Mavjud qurilmalar"
+
+msgid "IDS_MUSIC_POP_SET"
+msgstr "O‘rnatish"
+
+msgid "IDS_MUSIC_POP_REMOVE_FAILED"
+msgstr "Olib tashlash bajarilmadi."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_USE_FAST_FORWARD_AND_REWIND_WHEN_NEARBY_DEVICES_ARE_ENABLED"
+msgstr "Yaqin-atrofdagi qurilmalar yoqilgan vaqtda tez oldinga o‘tkazish yoki orqaga qaytarishdan foydalanib bo‘lmaydi."
+
+msgid "IDS_MUSIC_OPT_SET_AS"
+msgstr "O‘rnatish"
+
+msgid "IDS_MUSIC_OPT_HEADPHONES_ABB"
+msgstr "Quloqliklar"
+
+msgid "IDS_MUSIC_OPT_SPEAKER"
+msgstr "Dinamik"
+
+msgid "IDS_MUSIC_BODY_1_SONG"
+msgstr "1 qo‘shiq"
+
+msgid "IDS_MUSIC_BODY_PD_SONGS"
+msgstr "%d qo‘shiq"
+
+msgid "IDS_MUSIC_BODY_1_TRACK"
+msgstr "1 trek"
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_1_TRACK"
+msgstr "1ta trekni tasodifiy o‘ynatish"
+
+msgid "IDS_MUSIC_POP_NO_MUSIC_FOUND_FOR_SELECTED_CELL"
+msgstr "Tanlangan uya uchun musiqa topilmadi"
+
+msgid "IDS_MUSIC_BODY_DO_NOT_SHOW_AGAIN"
+msgstr "Boshqa ko‘rsatilmasin"
+
+msgid "IDS_MUSIC_BODY_VARIOUS_ARTISTS"
+msgstr "Turli xil ijrochilar"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_HOME_SCREEN_ABB"
+msgstr "Asosiy ekranga qo‘shish"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_FAVOURITES"
+msgstr "Tanlanganlarga qo‘shish"
+
+msgid "IDS_MUSIC_OPT_EDIT_TITLE"
+msgstr "Sarlavhani tahrirlash"
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_PERSONAL_STORAGE"
+msgstr "Shaxsiy ombordan olib tashlash"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FOLDERS_WILL_BE_SHOWN"
+msgstr "Treklarni yuklab olganingizdan so‘ng jildlar ko‘rsatiladi"
+
+msgid "IDS_MUSIC_BODY_SETTINGS_VOLUME"
+msgstr "Ovoz Balandliigi"
+
+msgid "IDS_MUSIC_BODY_REPEAT_OFF"
+msgstr "Takrorlash o‘chirilgan"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_REPEAT_ALL"
+msgstr "Barchasini takrorlash"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_OFF"
+msgstr "Tasodifiy o‘ch."
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_ON"
+msgstr "Tasodifiy yoq."
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST"
+msgstr "Mening qo‘shiqlarim ro‘yxati"
+
+msgid "IDS_MUSIC_MBODY_DEFAULT_PLAYLISTS"
+msgstr "Birlamchi musiqa ro‘yxati"
+
+msgid "IDS_MUSIC_BODY_DETAILS_RECORDING_DATE"
+msgstr "Yozib olish sanasi"
+
+msgid "IDS_MUSIC_OPT_ALBUM_ART_ABB"
+msgstr "Albom"
+
+msgid "IDS_MUSIC_BODY_1_GENRE"
+msgstr "1 janr"
+
+msgid "IDS_MUSIC_BODY_PD_FOLDERS"
+msgstr "%d jild"
+
+msgid "IDS_MUSIC_BODY_1_FOLDER"
+msgstr "1 jild"
+
+msgid "IDS_MUSIC_BODY_1_ARTIST"
+msgstr "1 ijrochi"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_M_MUSIC"
+msgstr "1 albom"
+
+msgid "IDS_MUSIC_BODY_1_PLAYLIST"
+msgstr "1 qo‘shiqlar ro‘yxati"
+
+msgid "IDS_MUSIC_BODY_MUSIC_PLAYER"
+msgstr "Musiqa pleyeri"
+
+msgid "IDS_MUSIC_BUTTON_MOVE"
+msgstr "Ko‘chirish"
+
+msgid "IDS_MUSIC_BUTTON_AUTO_RECOMMENDATIONS"
+msgstr "Avtomatik tavsiyanomalar"
+
+msgid "IDS_MUSIC_BUTTON_FROM_THE_BEGINNING"
+msgstr "Boshidan"
+
+msgid "IDS_MUSIC_HEADER_SUGGESTIONS_FOR_YOU"
+msgstr "Siz uchun tavsiyalar"
+
+msgid "IDS_MUSIC_OPT_SAVE"
+msgstr "Saqlash"
+
+msgid "IDS_MUSIC_TAB4_BASIC_M_EQUALIZING"
+msgstr "Boshlang‘ich"
+
+msgid "IDS_MUSIC_BODY_INSTRUMENT"
+msgstr "Asbob"
+
+msgid "IDS_MUSIC_BODY_TREBLE_M_EQUALISER"
+msgstr "Diskant"
+
+msgid "IDS_MUSIC_BODY_BASS_M_EQUALISER"
+msgstr "Bass"
+
+msgid "IDS_MUSIC_BODY_NO_EFFECTS_ARE_APPLIED_IN_THIS_MODE_ABB"
+msgstr "Ushbu rejimda effektlar qo‘llanilmaydi."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_TIMBRE_OF_A_TUBE_AMP_ABB"
+msgstr "Ampula shishasi effektini immitatsiyalaydi."
+
+msgid "IDS_MUSIC_OPT_TUBE_AMP_EFFECT"
+msgstr "Ampula shishasi effekti"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_EFFECT_OF_VIRTUAL_71_CHANNEL_SURROUND_SOUND_ABB"
+msgstr "Virtual 7.1 kanal ovozi effektini immitatsiyalaydi."
+
+msgid "IDS_MUSIC_HEADER_SMALL_ROOM_M_REVERB_ABB"
+msgstr "Kichkina xona"
+
+msgid "IDS_MUSIC_HEADER_LARGE_ROOM_M_REVERB_ABB"
+msgstr "Keng xona"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_LARGE_ROOM_EG_A_THEATRE_ABB"
+msgstr "Keng xona sun’iy sadosini immitatsiyalaydi, masalan, teatr."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_CONCERT_HALL_ABB"
+msgstr "Konsert zalining sun’iy sadosini immitatsiyalaydi."
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_SMALL_SPACE_EG_A_STUDIO_ABB"
+msgstr "Kichkina joy sun’iy sadosini immit-laydi, masalan, studiya."
+
+msgid "IDS_MUSIC_BUTTON_3D_CHN"
+msgstr "3D"
+
+msgid "IDS_MUSIC_BODY_CLARITY_M_SOUNDEFFECT"
+msgstr "Aniqlik"
+
+msgid "IDS_MUSIC_BUTTON_RESET"
+msgstr "Tashlash"
+
+msgid "IDS_MUSIC_TAB_YEARS"
+msgstr "Yillar"
+
+msgid "IDS_MUSIC_TAB_GENRES"
+msgstr "Janrlar"
+
+msgid "IDS_MUSIC_TAB_COMPOSERS"
+msgstr "Bastakor"
+
+msgid "IDS_MUSIC_TAB_ALL_TRACKS"
+msgstr "Barcha treklar"
+
+msgid "IDS_MUSIC_SK3_GO_TO_QUICK_LIST"
+msgstr "Tez/ro‘y-ga o‘t"
+
+msgid "IDS_MUSIC_SK3_FIND"
+msgstr "Topish"
+
+msgid "IDS_MUSIC_SK3_ADD_TO_QUICK_LIST"
+msgstr "Tez/ro‘y-ga qo‘sh"
+
+msgid "IDS_MUSIC_POP_UNAUTHORISED_VIDEO_FILE_FOR_TV_OUT"
+msgstr "TV-kabel uchun ruxsat etilmagan video fayl."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_CREATE_MAXIMUM_NUMBER_OF_PLAYLISTS_REACHED"
+msgstr "Yaratib bo‘lmaydi. Qo‘shiqlar ro‘yxati soni ruxsat etilgan maksimal miqdorga yetdi."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTING_BLUETOOTH_HEADSET"
+msgstr "Bluetooth quloqliklariga ulanish vaqtida, ovoz balandligini sozlab bo‘lmaydi."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTED_TO_BLUETOOTH_HEADSET"
+msgstr "Bluetooth quloqliklari ulanganda, ovoz balandligini sozlab bo‘lmaydi."
+
+msgid "IDS_MUSIC_POP_STOP_MUSIC_PLAYER_Q"
+msgstr "Musiqa pleyeri to‘xtatilsinmi?"
+
+msgid "IDS_MUSIC_POP_PLEASE_EXIT_SILENT_MODE"
+msgstr "Iltimos, Ovozsiz rejimdan chiqing."
+
+msgid "IDS_MUSIC_POP_NETWORK_FAILURE"
+msgstr "Tarmoq xatosi."
+
+msgid "IDS_MUSIC_POP_MEMORY_CARD_LOADED"
+msgstr "Xotira kartasi yuklandi."
+
+msgid "IDS_MUSIC_POP_DEVICE_SETTINGS_ERROR"
+msgstr "Qurilma parametrlari xatosi."
+
+msgid "IDS_MUSIC_POP_COULD_NOT_FIND_A_MATCH_FOR_THE_SONG"
+msgstr "Qo‘shiqqa mos keluvchi element topilmadi."
+
+msgid "IDS_MUSIC_POP_BUFFERING_MSTATUS"
+msgstr "Buferlash"
+
+msgid "IDS_MUSIC_POP_BT_HEADSET_ONLY_SUPPORTS_NORMAL_EFFECTS_SETTING"
+msgstr "BT karnaylari faqat oddiy effekt parametrlarini qo‘llab-quvvatlaydi."
+
+msgid "IDS_MUSIC_POP_APPLICATION_WILL_BE_CLOSED"
+msgstr "Ilova yopiladi."
+
+msgid "IDS_MUSIC_POP_ADDED_GO_TO_WISH_LIST_Q"
+msgstr "Qo‘shildi. Istaklar ro‘yxatiga o‘tilsinmi?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_THE_SERVICE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "Xizmatga ulanish uchun to‘lov olinishi mumkin. Davom ettirilsinmi?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_STORE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "Do‘konga kirish uchun to‘lov olinishi mumkin. Davom ettirilsinmi?"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_ONLY_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES"
+msgstr "5.1 kanal ovozi effekti faqat quloqliklar yoki Bluetooth karnaylari rejimida ishlaydi."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "5.1 kanal ovozi effekti faqat quloq karnaylari rejimida ishlaydi."
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECTS_NOT_SUPPORTED_BY_SPEAKER"
+msgstr "5.1 kanali ovoz effektlari dinamik tomonidan qo‘llab-quvvatlanmaydi."
+
+msgid "IDS_MUSIC_OPT_VIEW_BY_COVER_ART"
+msgstr "Qoplama dizayni bo‘yicha ko‘rib chiqish"
+
+msgid "IDS_MUSIC_OPT_SEND_TRACK"
+msgstr "Trek yuborish"
+
+msgid "IDS_MUSIC_OPT_RATE_TRACK"
+msgstr "Tarif treki"
+
+msgid "IDS_MUSIC_OPT_PLAYLIST_MOVE_TRACK_IN_PLAYLIST"
+msgstr "Trekni musiqalar ro‘yxatiga ko‘chirish"
+
+msgid "IDS_MUSIC_OPT_OPENPLAYLIST_CURRENT"
+msgstr "Joriy"
+
+msgid "IDS_MUSIC_OPT_DELETE_PLAYLIST"
+msgstr "Musiqalar ro‘yxatini o'chirish"
+
+msgid "IDS_MUSIC_OPT_BACKGROUND_PLAYING"
+msgstr "Fonda o‘ynamoqda"
+
+msgid "IDS_MUSIC_HEADER_EFFECTS"
+msgstr "Effektlar"
+
+msgid "IDS_MUSIC_BUTTON_BUY_NOW"
+msgstr "Sot/ol."
+
+msgid "IDS_MUSIC_BODY_WOW_HD"
+msgstr "Wow HD"
+
+msgid "IDS_MUSIC_BODY_WISHLIST"
+msgstr "Istaklar ro‘yxati"
+
+msgid "IDS_MUSIC_BODY_WIDE"
+msgstr "Keng"
+
+msgid "IDS_MUSIC_BODY_WHA_WHA"
+msgstr "Ha-ha"
+
+msgid "IDS_MUSIC_BODY_VIBE_WOOFER"
+msgstr "Vayb vufer"
+
+msgid "IDS_MUSIC_BODY_TREMOLO"
+msgstr "Tremolo"
+
+msgid "IDS_MUSIC_BODY_TAP_TWICE_TO_PLAY_PAUSE_MUSIC"
+msgstr "Musiqani o‘ynatish/to‘xtatish uchun ikki marta teging."
+
+msgid "IDS_MUSIC_BODY_SHARE_TRACK_VIA_BLUETOOTH"
+msgstr "Trekni Bluetooth orqali ulashish"
+
+msgid "IDS_MUSIC_BODY_SETUPWIZARD_WELCOME_TO_THE_MUSIC_SETUP_WIZARD_CONTINUE_Q"
+msgstr "Musiqa o‘rnatish ustasiga xush kelibsiz. Quyidagi oynalar telefoningizni sozlashda Sizga yordam beradi. Davom ettirilsinmi?"
+
+msgid "IDS_MUSIC_BODY_QUICK_LIST"
+msgstr "Tezkor ro‘yxat"
+
+msgid "IDS_MUSIC_BODY_PLAYINGSETTINGS_SOUND_EFFECTS"
+msgstr "Ovoz effektlari"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_ALL"
+msgstr "Barchasi"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_1"
+msgstr "1"
+
+msgid "IDS_MUSIC_BODY_PLAYERSETTINGS_VOLUME"
+msgstr "Ovoz Balandliigi"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_SELECTED"
+msgstr "%d trek tanlandi."
+
+msgid "IDS_MUSIC_BODY_NO_PODCASTS"
+msgstr "Podkastlar yo‘q"
+
+msgid "IDS_MUSIC_BODY_FIND_SIMILAR"
+msgstr "O‘xshashini topish"
+
+msgid "IDS_MUSIC_BODY_BACKGROUND_PLAY"
+msgstr "Fonda o‘ynatish"
+
+msgid "IDS_MUSIC_BODY_51_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "5.1 kanalini ovoz effektlari o‘chirilgandagina faollashtirish mumkin."
+
+msgid "IDS_MUSIC_TAB4_PODCASTS"
+msgstr "Podkastlar"
+
+msgid "IDS_MUSIC_SK2_EDIT_IMAGE"
+msgstr "Tasvirni tahrirlash"
+
+msgid "IDS_MUSIC_POP_PLAYING_ANY_SOUNDS_WILL_STOP_AND_SAVE_YOUR_VOICE_RECORDING_PLAY_Q"
+msgstr "Har qanday tovush chiqishi ovoz yozib olinishini to‘xtatadi va saqlaydi. Chiqarilsinmi?"
+
+msgid "IDS_MUSIC_POP_MAXIMUM_NUMBER_OF_ITEMS_HPD_SELECTED"
+msgstr "Elementlarning maksimal miqdori (%d) tanlangan."
+
+msgid "IDS_MUSIC_POP_BLUETOOTH_DISCONNECTED"
+msgstr "Bluetooth uzildi."
+
+msgid "IDS_MUSIC_POP_5_1_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "5.1 kanalini ovoz effektlari o‘chirilgandagina faollashtirish mumkin."
+
+msgid "IDS_MUSIC_OPT_TAKE_PICTURE"
+msgstr "Rasmga olish"
+
+msgid "IDS_MUSIC_OPT_SHOW_MUSIC_VIEW_ABB"
+msgstr "Musiqa ko‘rin-ni ko‘rsat"
+
+msgid "IDS_MUSIC_OPT_PAUSE"
+msgstr "To‘xtatib turish"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALBUM"
+msgstr "Albomni o‘ynatish"
+
+msgid "IDS_MUSIC_OPT_LIST_BY"
+msgstr "Quyidagi bo‘yicha ro‘yxat"
+
+msgid "IDS_MUSIC_OPT_HISTORY"
+msgstr "Jurnal"
+
+msgid "IDS_MUSIC_OPT_HIDE_MUSIC_VIEW_ABB"
+msgstr "Musiqa ko‘rin-ni yashir"
+
+msgid "IDS_MUSIC_OPT_FIND_TAG"
+msgstr "Teg topish"
+
+msgid "IDS_MUSIC_OPT_DROPBOX_CONTENT_ABB"
+msgstr "Dropbox tarkibi"
+
+msgid "IDS_MUSIC_OPT_CONTENT_ON_PHONE_ABB"
+msgstr "Telefon tarkibi"
+
+msgid "IDS_MUSIC_OPT_CHANGE_IMAGE"
+msgstr "Tasvirni o‘zgartirish"
+
+msgid "IDS_MUSIC_HEADER_DELETE_DROPBOX_DATA_ABB"
+msgstr "Dropbox ma’l. yo‘q qil"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_STREAM_YOUR_MUSIC_TO_DEVICES_USING_ALLSHARE"
+msgstr "AllShare yordamida musiqangizni qurilmalaringizga uzatishingiz mumkin."
+
+msgid "IDS_MUSIC_BODY_VALIDITY"
+msgstr "Amal qilish"
+
+msgid "IDS_MUSIC_BODY_TYPE_CNOUN"
+msgstr "Tur"
+
+msgid "IDS_MUSIC_BODY_THIS_WILL_DELETE_THE_FILE_FROM_THE_SERVER_AND_ANY_CONNECTED_DEVICES_AS_WELL"
+msgstr "Bu faylni serverdan va barcha ulangan qurilmalardan o‘chirib tashlaydi."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_ARTISTS"
+msgstr "Ijrochilar"
+
+msgid "IDS_MUSIC_BODY_PLAYINGDETAILS_ALBUM_ART"
+msgstr "Albom dizayni"
+
+msgid "IDS_MUSIC_BODY_OTHER_CONTENTS"
+msgstr "Boshqa tarkib"
+
+msgid "IDS_MUSIC_BODY_NAME_TOO_LONG"
+msgstr "Nom juda uzun."
+
+msgid "IDS_MUSIC_BODY_MUSIC_CLARITY"
+msgstr "Musiqa aniqligi"
+
+msgid "IDS_MUSIC_BODY_HIGH_VOLUMES_MAY_HARM_YOUR_HEARING_IF_YOU_LISTEN_FOR_A_LONG_TIME"
+msgstr "Musiqani baland ovozda uzoq vaqt davomida tinglash eshitish a’zolaringizga zarar yetkazishi mumkin."
+
+msgid "IDS_MUSIC_BODY_AVAILABLE_USES"
+msgstr "Mavjud foydalanishlar"
+
+msgid "IDS_MUSIC_TPOP_SOUND_EFFECTS_ONLY_AVAILABLE_WHILE_HEADPHONES_CONNECTED"
+msgstr "Ovoz effektlari faqat quloqlik ulanganda chiqadi."
+
+msgid "IDS_ST_OPT_ADD_TO_YOUR_PERSONAL_STORAGE"
+msgstr "Shaxsiy xotirangizga qo‘shish"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_YOUR_PERSONAL_STORAGE"
+msgstr "Shaxsiy xotiradan olib tashlash"
+
+msgid "IDS_ST_BODY_CONTEXTUAL_POP_UP_T_TALKBACK"
+msgstr "Kontekstli qalqib chiquvchi oyna"
+
+msgid "IDS_ST_BODY_A_CONTEXTUAL_POP_UP_IS_OPEN_DOUBLE_TAP_TO_CLOSE_IT_T_TALKBACK"
+msgstr "Kontekstli qalqib chiquvchi oyna ochiq. Uni yopish uchun ikki marta cherting"
+
+msgid "IDS_ST_BODY_REPEAT_ONE"
+msgstr "Bir marta takrorlash"
+
+msgid "IDS_ST_BUTTON_MOVING_ING"
+msgstr "Ko‘chirish..."
+
+msgid "IDS_HS_BODY_SELECT_UP_TO_PD_ITEMS"
+msgstr "Ko‘pi bilan %dta elementni tanlang"
+
+msgid "IDS_CAM_BODY_TAB_T_TTS"
+msgstr "Tabulyatsiya"
+
+msgid "IDS_DLNA_OPT2_CHANGE_PLAYER"
+msgstr "Pleyerni o‘zgartirish"
+
+msgid "IDS_BR_SK_TABS"
+msgstr "Panellar"
+
+msgid "IDS_MF_BODY_DROPBOX_ABB"
+msgstr "Dropbox"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Avtomatik tavsiyanomalar ohang fayllaridagi belgilarni chiqarib olishi mumkin."
+
+msgid "IDS_MF_BODY_PARENT_RATING"
+msgstr "Qo'shimcha baholash"
+
+msgid "IDS_VR_POP_FILE_NOT_FOUND"
+msgstr "Fayl topilmadi."
+
+msgid "IDS_PB_POP_CALLER_RINGTONE_SAVED"
+msgstr "Qo‘ng‘iroq qiluvchi ringtoni saqlandi."
+
+msgid "IDS_MUSIC_BODY_BIT_DEPTH"
+msgstr "Bit chuqurligi"
+
+msgid "IDS_MUSIC_BODY_SIZE"
+msgstr "O‘lcham"
+
+msgid "IDS_MF_HEADER_PD_SELECTED"
+msgstr "%d tanlangan"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_THIS_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Treklarni ushbu qurilmaga qo‘shganingizdan so‘ng, ular bu yerda ko‘rsatiladi."
+
+msgid "IDS_MUSIC_TMBODY_LENGTH"
+msgstr "Uzunlik"
+
+msgid "IDS_MUSIC_POP_1_FOLDER_WILL_BE_DELETED"
+msgstr "1ta jild joy yo‘q qilinadi."
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Tarkib yo‘q"
+
+msgid "IDS_MUSIC_ITAB4_FOLDERS"
+msgstr "Jildlar"
+
+msgid "IDS_MUSIC_HEADER_MY_PLAYLISTS_ABB"
+msgstr "Musiqalarim ro‘yxati"
+
+msgid "IDS_MP_BODY_SOUND_PLAYER"
+msgstr "Tovush pleyeri"
+
+msgid "IDS_MUSIC_OPT_SETTINGS"
+msgstr "Parametrlar"
+
+msgid "IDS_MUSIC_POP_DELETING"
+msgstr "O'chirilmoqda…"
+
+msgid "IDS_MUSIC_POP_1_TRACK_WILL_BE_DELETED"
+msgstr "1ta trek yo‘q qilinadi."
+
+msgid "IDS_MUSIC_POP_ALL_TRACKS_WILL_BE_DELETED"
+msgstr "Barcha treklar yo‘q qilinadi"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_WILL_BE_DELETED"
+msgstr "%dta trek yo‘q qilinadi."
+
+msgid "IDS_MUSIC_POP_1_PLAYLIST_WILL_BE_DELETED"
+msgstr "1ta musiqalar ro‘yxati yo‘q qilinadi."
+
+msgid "IDS_MUSIC_POP_PD_PLAYLISTS_WILL_BE_DELETED"
+msgstr "%d ta qo‘shiqlar ro‘yxati o'chiriladi."
+
+msgid "IDS_MUSIC_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "%d ta albom o'chiriladi."
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS_WILL_BE_DELETED"
+msgstr "%d ta ijrochi o'chiriladi."
+
+msgid "IDS_MUSIC_POP_PD_FOLDERS_WILL_BE_DELETED"
+msgstr "%d ta jild o'chiriladi."
+
+msgid "IDS_ST_POP_CONNECTION_FAILED"
+msgstr "Ulanib bo‘lmadi."
+
+msgid "IDS_MUSIC_BODY_CLASSIC"
+msgstr "Klassik"
+
+msgid "IDS_MUSIC_BODY_ROCK"
+msgstr "Rok"
+
+msgid "IDS_MUSIC_BODY_JAZZ"
+msgstr "Jaz"
+
+msgid "IDS_MUSIC_BODY_POP"
+msgstr "Pop janri"
+
+msgid "IDS_MUSIC_BODY_AUTO"
+msgstr "Avtomatik"
+
+msgid "IDS_MUSIC_POP_CURRENT_SOUND_EFFECT_NOT_SUPPORTED_BY_HDMI"
+msgstr "Joriy ovoz effekti HDMI tomonidan qo‘llab-quvvatlanmaydi."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_BLUETOOTH"
+msgstr "Ovoz effektlari Bluetooth tomonidan qo‘llab-quvvatlanmaydi."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_LINE_OUT"
+msgstr "Ovoz effektlari oddiy chiqarishda qo‘llab-quvvatlanmaydi."
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_HDMI"
+msgstr "Ovoz effektlari HDMI tomonidan qo‘llab-quvvatlanmaydi."
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EFFECT"
+msgstr "Ampula shishasi"
+
+msgid "IDS_MUSIC_BODY_CUSTOM"
+msgstr "Maxsus"
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EQUALISER_ABB"
+msgstr "Ampula shishasi"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%dta trek musiqalar ro‘yxatiga qo‘shildi."
+
+msgid "IDS_MUSIC_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1ta trek musiqalar ro‘yxatiga qo‘shildi"
+
+msgid "IDS_MUSIC_HEADER_ADD_TRACKS_TO_PLAYLIST_ABB"
+msgstr "Musiqa ro‘yxatiga trek qo‘sh"
+
+msgid "IDS_MUSIC_POP_PS_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "%s avvaldan foydalanilmoqda. Boshqa nom kiriting."
+
+msgid "IDS_MUSIC_TMBODY_DATE_OF_RECORDING"
+msgstr "Yozib olish sanasi"
+
+msgid "IDS_MBP_TPOP_TRACK_SET_AS_ALARM_TONE"
+msgstr "Trek budilnik ohangi sifatida o‘rnatildi."
+
+msgid "IDS_MUSIC_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Natijalar topilmadi"
+
+msgid "IDS_MUSIC_OPT_DEFAULT_RINGTONE_ABB"
+msgstr "Birlamchi rington"
+
+msgid "IDS_MUSIC_TPOP_TRACK_SET_AS_CALLER_RINGTONE"
+msgstr "Trek qo‘ng‘iroq qiluvchi ringtoni sifatida o‘rnatildi."
+
+msgid "IDS_MP_TPOP_TRACK_SET_AS_RINGTONE"
+msgstr "Trek rington sifatida o‘rnatildi."
+
+msgid "IDS_DLNA_BODY_ADD_TO_NOW_PLAYING_LIST"
+msgstr "Hozirda o‘ynatilayotganlar ro‘yxatiga qo‘shish"
+
+msgid "IDS_MUSIC_TPOP_EQUALISER_SETTINGS_WILL_BE_APPLIED_WHILE_PLAYING_MUSIC"
+msgstr "Musiqa o‘ynayotganda, ekvalayzer parametrlari qo‘llaniladi."
+
+msgid "IDS_ST_BODY_ALERT"
+msgstr "Signal"
+
+msgid "IDS_IV_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 albom yo‘q qilinadi."
+
+msgid "IDS_MUSIC_OPT_SD_CARD"
+msgstr "SD-karta"
+
+msgid "IDS_MUSIC_SBODY_DEVICE_STORAGE"
+msgstr "Qurilma xotirasi"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE"
+msgstr "Musiqalar ro‘yxati nomi avvaldan foydalanilmoqda."
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_PD"
+msgstr "%d musiqalar ro‘yxati"
+
+msgid "IDS_MUSIC_HEADER_CREATE"
+msgstr "Yaratish"
+
+msgid "IDS_MUSIC_HEADER_EQUALISER_PRESET_ABB"
+msgstr "Ekvalayzerni dastlabki o‘rnatish"
+
+msgid "IDS_MUSIC_OPT_AUTOMATIC_M_EQUALIZER_EFFECT"
+msgstr "Avtomatik"
+
+msgid "IDS_MUSIC_OPT_CLASSICAL_M_EQUALIZER_EFFECT"
+msgstr "Klassik"
+
+msgid "IDS_MUSIC_HEADER_ENVIRONMENT_EFFECT_ABB"
+msgstr "Muhit effekti"
+
+msgid "IDS_VIDEO_POP_THE_FILE_TYPE_IS_NOT_SUPPORTED"
+msgstr "Fayl turi qo‘llab-quvvatlanmaydi."
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_CREATE_PLAYLISTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Musiqalar ro‘yxatini yaratganingizdan so‘ng, ular bu yerda ko‘rsatiladi."
+
+msgid "IDS_ST_HEADER_SELECT_AUDIO_DEVICE_ABB"
+msgstr "Audio qurilmani tanlang"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "Musiqalar ro‘yxati nomi avvaldan foydalanilmoqda. Boshqa nom kiriting."
+
+msgid "IDS_MUSIC_HEADER_SOUNDALIVE_ABB3"
+msgstr "SoundAlive"
+
+msgid "IDS_MUSIC_OPT_NOW_PLAYING_LIST"
+msgstr "Hozir o‘ynatilayotganlar ro‘yxati"
+
+msgid "IDS_MUSIC_OPT_SHOW_LYRICS"
+msgstr "She’rlarni ko‘rsatish"
+
+msgid "IDS_MUSIC_OPT_HIDE_LYRICS"
+msgstr "She’rlarni yashirish"
+
+msgid "IDS_MUSIC_TPOP_UNABLE_TO_PLAY_MUSIC_DURING_CALLS"
+msgstr "Qo‘ng‘iroq mobaynida musiqa o‘ynatib bo‘lmaydi."
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Yo‘q qilish"
+
+msgid "IDS_MUSIC_HEADER_SELECT"
+msgstr "Tanlash"
+
+msgid "IDS_TPLATFORM_OPT_NFC"
+msgstr "NFC"
+
+msgid "IDS_MUSIC_HEADER_UNABLE_TO_PLAY_TRACK"
+msgstr "Trekni o‘ynatib bo‘lmaydi"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "BAJARILDI"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "BEKOR QILISH"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "O‘CHIRISH"
+
+msgid "IDS_MUSIC_POP_RENAME"
+msgstr "Nom o‘zgartirish"
+
+msgid "IDS_MUSIC_OPT_MESSAGE"
+msgstr "Xabar"
+
+msgid "IDS_MUSIC_SK_OK"
+msgstr "OK"
+
+msgid "IDS_MUSIC_SK_CANCEL"
+msgstr "Bekor qilish"
+
+msgid "IDS_MUSIC_BUTTON_REFRESH"
+msgstr "Yangilash"
+
+msgid "IDS_MUSIC_BODY_SELECT_ALL"
+msgstr "Barchasini tanlash"
+
+msgid "IDS_MUSIC_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_MUSIC_POP_DELETED"
+msgstr "O'chirildi."
+
+msgid "IDS_MUSIC_OPT_STOP"
+msgstr "To‘xtat"
+
+msgid "IDS_MUSIC_BODY_UNKNOWN"
+msgstr "Noma’lum"
+
+msgid "IDS_MUSIC_BODY_TITLE"
+msgstr "Sarlavha"
+
+msgid "IDS_MUSIC_OPT_SENDVIA_EMAIL"
+msgstr "E-pochta"
+
+msgid "IDS_MUSIC_OPT_BLUETOOTH"
+msgstr "Bluetooth"
+
+msgid "IDS_MUSIC_HEADER_DOWNLOAD"
+msgstr "Yuklab olish"
+
+msgid "IDS_MUSIC_POP_LOW_BATTERY"
+msgstr "Batareya quvvati kam."
+
+msgid "IDS_MUSIC_HEADER_AUDIO_DEVICE"
+msgstr "Audio qurilma"
+
+msgid "IDS_MUSIC_HEADER_DETAILS"
+msgstr "Tafsilotlar"
+
+msgid "IDS_MUSIC_OPT_END"
+msgstr "Tugatish"
+
+msgid "IDS_MUSIC_OPT_EDIT"
+msgstr "Tahrirlash"
+
+msgid "IDS_CAM_HEADER_UPDATED"
+msgstr "Yangilandi."
+
+msgid "IDS_MUSIC_POP_REMOVED"
+msgstr "Olib tashlandi."
+
+msgid "IDS_MUSIC_OPT_SELECTED"
+msgstr "Tanlangan"
+
+msgid "IDS_ST_BUTTON_SCAN"
+msgstr "Qidirish"
+
+msgid "IDS_MF_POP_ERROR"
+msgstr "Xato"
+
+msgid "IDS_MF_POP_MEMORY_FULL"
+msgstr "Xotira to‘la."
+
+msgid "IDS_MUSIC_MBODY_QUEUE"
+msgstr "Navbat"
+
+msgid "IDS_MUSIC_OPT_VOLUME"
+msgstr "Ovoz balandligi"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE"
+msgstr "Tasodifiy"
+
+msgid "IDS_MUSIC_OPT_REPEAT"
+msgstr "Takrorlash"
+
+msgid "IDS_COM_BODY_DETAILS"
+msgstr "Details"
+
+msgid "IDS_COM_BODY_DETAILS_TITLE"
+msgstr "Title"
+
+msgid "IDS_COM_BODY_EDIT"
+msgstr "Edit"
+
+msgid "IDS_COM_BODY_EMAIL"
+msgstr "Email"
+
+msgid "IDS_COM_BODY_END"
+msgstr "End"
+
+msgid "IDS_COM_BODY_FOLDERS"
+msgstr "Folders"
+
+msgid "IDS_COM_BODY_GALLERY"
+msgstr "Gallery"
+
+msgid "IDS_COM_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_COM_BODY_LOADING"
+msgstr "Loading..."
+
+msgid "IDS_COM_BODY_LOW_BATTERY"
+msgstr "Low battery."
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Message"
+
+msgid "IDS_COM_BODY_MUSIC"
+msgstr "Music"
+
+msgid "IDS_COM_BODY_NFC"
+msgstr "NFC"
+
+msgid "IDS_COM_BODY_NO_CONTENTS"
+msgstr "No content"
+
+msgid "IDS_COM_BODY_PAUSE"
+msgstr "Pause"
+
+msgid "IDS_COM_BODY_PD_SELECTED"
+msgstr "%d selected."
+
+msgid "IDS_COM_BODY_PREVIOUS"
+msgstr "Previous"
+
+msgid "IDS_COM_BODY_RESET_A"
+msgstr "Reset"
+
+msgid "IDS_COM_BODY_SELECTED"
+msgstr "Selected"
+
+msgid "IDS_COM_BODY_SELECT_ALL"
+msgstr "Select all"
+
+msgid "IDS_COM_BODY_SETTINGS"
+msgstr "Settings"
+
+msgid "IDS_COM_BODY_TIME"
+msgstr "Time"
+
+msgid "IDS_COM_BODY_UNABLE_TO_ADD"
+msgstr "Unable to add."
+
+msgid "IDS_COM_BODY_UNKNOWN"
+msgstr "Unknown"
+
+msgid "IDS_COM_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_COM_BUTTON_SCAN"
+msgstr "Scan"
+
+msgid "IDS_COM_BUTTON_SHARE"
+msgstr "Share"
+
+msgid "IDS_COM_HEADER_AUDIO_DEVICE_ABB"
+msgstr "Audio device"
+
+msgid "IDS_COM_OPT_ADDED"
+msgstr "Added."
+
+msgid "IDS_COM_OPT_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_POP_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_POP_CONNECTION_FAILED"
+msgstr "Connection failed."
+
+msgid "IDS_COM_POP_DELETED"
+msgstr "Deleted."
+
+msgid "IDS_COM_POP_DELETE_Q"
+msgstr "Delete?"
+
+msgid "IDS_COM_POP_DONE"
+msgstr "Done"
+
+msgid "IDS_COM_POP_DOWNLOADING"
+msgstr "Downloading..."
+
+msgid "IDS_COM_POP_ERROR"
+msgstr "Error."
+
+msgid "IDS_COM_POP_FAILED"
+msgstr "Failed."
+
+msgid "IDS_COM_POP_FILE_NOT_EXIST"
+msgstr "This file does not exist."
+
+msgid "IDS_COM_POP_FILE_NOT_FOUND"
+msgstr "File not found."
+
+msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximum number of characters reached."
+
+msgid "IDS_COM_POP_MEMORY_FULL"
+msgstr "Memory full."
+
+msgid "IDS_COM_POP_REMOVED"
+msgstr "Removed."
+
+msgid "IDS_COM_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Unable to use during Mass storage mode."
+
+msgid "IDS_COM_POP_UPDATED"
+msgstr "Updated."
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_SK_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_SK_DOWNLOAD"
+msgstr "Download"
+
+msgid "IDS_COM_SK_NEW"
+msgstr "New"
+
+msgid "IDS_COM_SK_NEXT"
+msgstr "Next"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_SK_REFRESH"
+msgstr "Refresh"
+
+msgid "IDS_COM_SK_REMOVE"
+msgstr "Remove"
+
+msgid "IDS_COM_SK_SAVE"
+msgstr "Save"
+
+msgid "IDS_COM_SK_SELECT"
+msgstr "Select"
+
+msgid "IDS_COM_SK_SET"
+msgstr "Set"
+
+msgid "IDS_COM_SK_STOP"
+msgstr "Stop"
+
+
+msgid "IDS_MH_BODY_THE_PLAYLIST_NAME_PS_IS_ALREADY_IN_USE"
+msgstr "The playlist name %s is already in use."
+
+msgid "IDS_MH_BODY_TOTAL"
+msgstr "Total"
+
+msgid "IDS_MH_MBODY_RECENTLY_ADDED_M_SONG"
+msgstr "Recently added"
+
+msgid "IDS_MH_OPT_MORE_INFO_ABB"
+msgstr "More info"
+
+msgid "IDS_MH_POP_ALARM_TONE_SET"
+msgstr "Alarm tone set."
+
+msgid "IDS_MH_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 track added to playlist."
+
+msgid "IDS_MH_TPOP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d tracks added to playlist."
+
+msgid "IDS_MUSIC_OPT_RENAME"
+msgstr "Rename"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Unable to play during call."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Fayllar o‘lchami ruxsat etilgan maksimal qiymatdan oshdi."
+
+msgid "IDS_CAM_TPOP_UNABLE_TO_PLAY_MUSIC_WHILE_RECORDING_AUDIO_OR_VIDEO"
+msgstr "Audio yoki videoni yozib olish vaqtida musiqa qo‘yish imkoni yo‘q."
+
--- /dev/null
+msgid "IDS_ST_BODY_LOADING_ING"
+msgstr "载入中…"
+
+msgid "IDS_GALLERY_OPT_PRIVATE_M_CONTENT"
+msgstr "私人"
+
+msgid "IDS_MF_BODY_TIME"
+msgstr "时间"
+
+msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
+msgstr "此文件不存在"
+
+msgid "IDS_MUSIC_POP_PHONE_RINGTONE"
+msgstr "手机铃声"
+
+msgid "IDS_MUSIC_BODY_DURATION"
+msgstr "持续期间"
+
+msgid "IDS_MUSIC_BODY_MUSIC_LOCATION"
+msgstr "位置"
+
+msgid "IDS_MUSIC_BODY_SET_AS_M_RINGTONE"
+msgstr "设定为"
+
+msgid "IDS_ST_OPT_ADD_TO_PERSONAL_PAGE"
+msgstr "添加至个人页面"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_PERSONAL_PAGE_ABB"
+msgstr "从个人页面移除"
+
+msgid "IDS_ST_POP_MOVE_TO_NORMAL_STORAGE"
+msgstr "移動至標準儲存"
+
+msgid "IDS_ST_POP_MOVE_TO_PERSONAL_STORAGE"
+msgstr "移動至個人儲存"
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEMS_WILL_BE_MOVED_TO_PS"
+msgstr "选定项目将移动至 %s。"
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEM_WILL_BE_MOVED_TO_PS"
+msgstr "选定项目将移动至 %s。"
+
+msgid "IDS_VR_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "在大容量存储模式下无法使用。"
+
+msgid "IDS_MUSIC_POP_RINGTONE_ADDED"
+msgstr "铃声已设置"
+
+msgid "IDS_CAM_BODY_BUTTON_T_TTS"
+msgstr "按钮"
+
+msgid "IDS_MUSIC_HEADER_SELECT_ITEMS"
+msgstr "选择项目"
+
+msgid "IDS_ST_BODY_ADVANCED"
+msgstr "高级设定"
+
+msgid "IDS_ST_SK_PREVIOUS"
+msgstr "上一步"
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "关闭"
+
+msgid "IDS_MUSIC_POP_ADDED"
+msgstr "已添加"
+
+msgid "IDS_MUSIC_POP_FAILED"
+msgstr "失败"
+
+msgid "IDS_MUSIC_BODY_NO_SEARCH_RESULTS"
+msgstr "无搜索结果"
+
+msgid "IDS_MUSIC_SK_DONE"
+msgstr "完成"
+
+msgid "IDS_MUSIC_BODY_NO_ITEMS"
+msgstr "无项目"
+
+msgid "IDS_BR_OPT_ADD_TO_HOME"
+msgstr "添加至主页"
+
+msgid "IDS_BR_SK_NEXT"
+msgstr "下一步"
+
+msgid "IDS_BR_BODY_DOWNLOADING_ING"
+msgstr "下载中..."
+
+msgid "IDS_IV_BODY_FAVOURITE"
+msgstr "收藏"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_PERSONAL_STORAGE"
+msgstr "添加至个人存储空间"
+
+msgid "IDS_DLNA_POP_DISCONNECTED_FROM_PS_CHECK_THE_NETWORK_STATUS_AND_THE_CONNECTED_DEVICE"
+msgstr "从 %s 断开。检查网络状态与连接的设备。"
+
+msgid "IDS_DLNA_OPT_VIA_SCREEN_MIRRORING_ABB"
+msgstr "通过屏幕共享"
+
+msgid "IDS_DLNA_OPT_VIA_HOME_NETWORK_ABB"
+msgstr "通过家庭网络"
+
+msgid "IDS_IV_POP_ENTRY_IS_EMPTY"
+msgstr "空记录。"
+
+msgid "IDS_FM_POP_UNAVAILABLE_DURING_CALL"
+msgstr "通话中无法使用。"
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "已达到最大字符限制"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_SHARE_DRM_FILE"
+msgstr "无法共享DRM文件。"
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "正在移除..."
+
+msgid "IDS_MUSIC_HEADER_PD_DEVICES"
+msgstr "%d 个设备"
+
+msgid "IDS_MUSIC_BUTTON_ENABLE_MOTION"
+msgstr "启用动作"
+
+msgid "IDS_MUSIC_BUTTON_DONT_ASK_AGAIN"
+msgstr "不要再询问"
+
+msgid "IDS_MUSIC_BODY_NO_RESULTS_FOUND"
+msgstr "未找到结果"
+
+msgid "IDS_VPL_OPT_HDMI"
+msgstr "HDMI"
+
+msgid "IDS_MUSIC_BODY_TURN_PHONE_OVER_TO_MUTE_INCOMING_CALLS_MESSAGE_ALERTS_AND_ALARMS"
+msgstr "将手机正面朝下以将来电铃声、信息提示音和闹钟铃声静音。"
+
+msgid "IDS_ST_BODY_NONE"
+msgstr "无"
+
+msgid "IDS_ST_BODY_INTERNET"
+msgstr "互联网"
+
+msgid "IDS_ST_BODY_GALLERY"
+msgstr "相册"
+
+msgid "IDS_ST_BODY_DOUBLE_TAP_TO_MOVE_TO_CONTENT_T_TTS"
+msgstr "双击以移动至内容。"
+
+msgid "IDS_MUSIC_BODY_SURROUND"
+msgstr "环绕"
+
+msgid "IDS_MUSIC_OPT_LYRICS_ABB"
+msgstr "歌词"
+
+msgid "IDS_MUSIC_POP_AFTER_YOU_ADD_TRACKS_TO_MUSIC_ON_YOUR_MOBILE_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "将曲目添加至移动设备上的音乐后,其将显示在此处。"
+
+msgid "IDS_MUSIC_BODY_SAMPLING_RATE"
+msgstr "采样率"
+
+msgid "IDS_MUSIC_BODY_MARKED_AS_A_FAVOURITE"
+msgstr "已标记为收藏"
+
+msgid "IDS_MUSIC_BODY_MUSIC"
+msgstr "音乐"
+
+msgid "IDS_MUSIC_BODY_NOT_MARKED_AS_A_FAVOURITE"
+msgstr "未标记为收藏"
+
+msgid "IDS_MUSIC_HEADER_SEARCH_MUSIC_ABB"
+msgstr "搜索音乐"
+
+msgid "IDS_MUSIC_POP_AUTO_RECOMMENDATION_DOES_NOT_SUPPORT_THIS_AUDIO_FILE"
+msgstr "自动推荐不支持该音频文件"
+
+msgid "IDS_MUSIC_POP_SORRY_THE_PLAYER_DOES_NOT_SUPPORT_THIS_TYPE_OF_AUDIO_FILE"
+msgstr "抱歉,播放器不支持该类型的音频文件。"
+
+msgid "IDS_MUSIC_BODY_FAVOURITES"
+msgstr "我的收藏"
+
+msgid "IDS_MUSIC_BODY_MOST_PLAYED"
+msgstr "最常播放"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_ADDED"
+msgstr "最近添加的"
+
+msgid "IDS_MUSIC_OPT_CREATE_PLAYLIST"
+msgstr "新建播放列表"
+
+msgid "IDS_MUSIC_OPT_REMOVE"
+msgstr "移除"
+
+msgid "IDS_MUSIC_OPT_SETAS_CALLER_RINGTONE"
+msgstr "特定联系人铃声"
+
+msgid "IDS_MUSIC_TAB4_ARTISTS"
+msgstr "艺术家"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD"
+msgstr "无法添加。"
+
+msgid "IDS_MUSIC_POP_UNABLE_CREATE_PLAYLIST"
+msgstr "无法创建播放列表。"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_GET_TAG"
+msgstr "无法获取标签。"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_MORE_THAN_PD_MUSIC_FILE"
+msgstr "不能添加超过 %d 的音乐文件。"
+
+msgid "IDS_MUSIC_BODY_ALBUM"
+msgstr "专辑"
+
+msgid "IDS_MUSIC_BODY_AUTHOR"
+msgstr "作者"
+
+msgid "IDS_MUSIC_BODY_COPYRIGHT"
+msgstr "版权"
+
+msgid "IDS_MUSIC_BODY_CREATE_PLAYLIST"
+msgstr "新建播放列表"
+
+msgid "IDS_MUSIC_BODY_DESCRIPTION"
+msgstr "说明"
+
+msgid "IDS_MUSIC_BODY_FORMAT"
+msgstr "格式"
+
+msgid "IDS_MUSIC_BODY_IMPOSSIBLE"
+msgstr "不可以"
+
+msgid "IDS_MUSIC_BODY_NO_PLAYLISTS"
+msgstr "无播放列表"
+
+msgid "IDS_MUSIC_BODY_TRACK_NUMBER"
+msgstr "曲目号"
+
+msgid "IDS_MUSIC_POP_DELETE_Q"
+msgstr "删除?"
+
+msgid "IDS_MUSIC_POP_REMOVE_Q"
+msgstr "移除?"
+
+msgid "IDS_MUSIC_POP_UNABLE_RENAME_PLAYLIST"
+msgstr "无法重命名播放列表。"
+
+msgid "IDS_MUSIC_TAB4_ALBUMS"
+msgstr "专辑"
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "添加中..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "是否删除 %d 本相册?"
+
+msgid "IDS_MUSIC_TAB4_PLAYLISTS"
+msgstr "播放列表"
+
+msgid "IDS_MUSIC_OPT_ADD"
+msgstr "添加"
+
+msgid "IDS_MUSIC_BODY_BIOGRAPHY"
+msgstr "传记"
+
+msgid "IDS_MUSIC_BODY_CREDITS"
+msgstr "制作"
+
+msgid "IDS_MUSIC_BODY_DETAILS_MEADIA_INFO"
+msgstr "媒体信息"
+
+msgid "IDS_MUSIC_BODY_DISCOGRAPHY"
+msgstr "唱片目录"
+
+msgid "IDS_MUSIC_BODY_LYRIC"
+msgstr "抒情"
+
+msgid "IDS_MUSIC_BODY_POSSIBLE"
+msgstr "可以"
+
+msgid "IDS_MUSIC_BODY_REVIEW"
+msgstr "查看"
+
+msgid "IDS_MUSIC_HEADER_TRACK_LIST"
+msgstr "曲目列表"
+
+msgid "IDS_MUSIC_BODY_ADD_TO_PLAYLIST"
+msgstr "添加到播放列表"
+
+msgid "IDS_MUSIC_BODY_ARTIST"
+msgstr "艺术家"
+
+msgid "IDS_MUSIC_BODY_FORWARDING"
+msgstr "转发"
+
+msgid "IDS_MUSIC_BODY_RECORDED_DATE"
+msgstr "Date of recording"
+
+msgid "IDS_MUSIC_BODY_PLAYLISTS"
+msgstr "播放列表"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_PLAYED"
+msgstr "最近播放"
+
+msgid "IDS_MUSIC_BODY_TRACK_LENGTH"
+msgstr "曲目长度"
+
+msgid "IDS_MUSIC_HEADER_NO_SONGS"
+msgstr "没有歌曲"
+
+msgid "IDS_MUSIC_POP_THIS_TRACK_WILL_BE_DELETED"
+msgstr "将删除该曲目"
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_TRACKS_WILL_BE_DELETED"
+msgstr "选中曲目将被删除。"
+
+msgid "IDS_MUSIC_POP_THIS_ARTIST_WILL_BE_DELETED"
+msgstr "该艺术家将被删除。"
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ARTISTS_WILL_BE_DELETED"
+msgstr "选中艺术家将被删除。"
+
+msgid "IDS_MUSIC_POP_ALL_ARTISTS_WILL_BE_DELETED"
+msgstr "全部艺术家将被删除。"
+
+msgid "IDS_MUSIC_POP_THIS_FOLDER_WILL_BE_DELETED"
+msgstr "该文件夹将被删除"
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_FOLDERS_WILL_BE_DELETED"
+msgstr "选中文件夹将被删除。"
+
+msgid "IDS_MUSIC_POP_ALL_FOLDERS_WILL_BE_DELETED"
+msgstr "全部文件夹将被删除"
+
+msgid "IDS_MUSIC_POP_THIS_ALBUM_WILL_BE_DELETED"
+msgstr "该专辑将被删除。"
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ALBUMS_WILL_BE_DELETED"
+msgstr "选中专辑将被删除。"
+
+msgid "IDS_MUSIC_POP_ALL_ALBUMS_WILL_BE_DELETED"
+msgstr "全部音乐库将被删除。"
+
+msgid "IDS_MUSIC_POP_THIS_PLAYLIST_WILL_BE_DELETED"
+msgstr "此播放列表将被删除。"
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_PLAYLISTS_WILL_BE_DELETED"
+msgstr "选中播放列表将被删除。"
+
+msgid "IDS_MUSIC_POP_ALL_PLAYLISTS_WILL_BE_DELETED"
+msgstr "全部播放列表将被删除。"
+
+msgid "IDS_MUSIC_HEADER_SONGS"
+msgstr "音乐"
+
+msgid "IDS_MUSIC_OPT_REORDER"
+msgstr "重新排序"
+
+msgid "IDS_MUSIC_OPT_SAVE_AS_PLAYLIST"
+msgstr "另存为播放列表"
+
+msgid "IDS_MUSIC_OPT_SETAS_ALARM_TONE"
+msgstr "闹钟铃声"
+
+msgid "IDS_MUSIC_POP_NOTHING_SELECTED"
+msgstr "未选择"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "无法播放。出错。"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_UNSUPPORTED_FILETYPE"
+msgstr "无法播放。不支持的文件类型。"
+
+msgid "IDS_MUSIC_SK_SHARE"
+msgstr "共享"
+
+msgid "IDS_MUSIC_TAB4_CONDUCTORS"
+msgstr "乐队指挥"
+
+msgid "IDS_MUSIC_HEADER_SELECT_DEVICE"
+msgstr "选择设备"
+
+msgid "IDS_MUSIC_SK_VIEW_AS"
+msgstr "查看方式"
+
+msgid "IDS_MUSIC_BODY_SOUNDEFFECTS_NORMAL"
+msgstr "普通"
+
+msgid "IDS_MUSIC_BODY_USER"
+msgstr "用户"
+
+msgid "IDS_MUSIC_BODY_VOCAL_M_SOUNDEFFECT"
+msgstr "声乐"
+
+msgid "IDS_MUSIC_MBODY_BASS_BOOST"
+msgstr "低音增强"
+
+msgid "IDS_MUSIC_MBODY_TREBLE_BOOST"
+msgstr "高音增强"
+
+msgid "IDS_MUSIC_BODY_CAFE_M_SOUNDEFFECT"
+msgstr "咖啡馆"
+
+msgid "IDS_MUSIC_OPT_VIRTUAL_71_CH"
+msgstr "虚拟 7.1 声道"
+
+msgid "IDS_MUSIC_OPT_AFTER_15_MIN_ABB"
+msgstr "15 分钟后"
+
+msgid "IDS_MUSIC_BODY_AFTER_30_MIN"
+msgstr "30 分钟后"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HOUR"
+msgstr "1 小时后"
+
+msgid "IDS_MUSIC_POP_AFTER_1_HOUR_30_MIN"
+msgstr "1 小时 30 分钟后"
+
+msgid "IDS_MUSIC_BODY_AFTER_2_HOURS"
+msgstr "2 小时后"
+
+msgid "IDS_MUSIC_BODY_MUSIC_AUTO_OFF"
+msgstr "音乐自动关"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES_ONLY"
+msgstr "此声音效果仅在耳机和蓝牙耳机模式下有效。"
+
+msgid "IDS_MUSIC_TAB4_MUSIC_SQUARE"
+msgstr "音乐广场"
+
+msgid "IDS_MUSIC_POP_NOT_ENOUGH_MUSIC_FILES_TO_PLAY_IN_MUSIC_SQUARE_AT_LEAST_PD_MUSIC_FILES_REQUIRED"
+msgstr "音乐文件不足以在音乐广场中播放。需要至少 %d 个音乐文件。"
+
+msgid "IDS_MUSIC_BODY_PASSION_M_MOOD"
+msgstr "激情"
+
+msgid "IDS_MUSIC_BODY_CALM_M_ADJECTIVE"
+msgstr "平静的"
+
+msgid "IDS_MUSIC_BODY_JOY_M_MOOD"
+msgstr "欢乐"
+
+msgid "IDS_MUSIC_BODY_LIBRARY_UPDATE"
+msgstr "音乐库更新"
+
+msgid "IDS_MUSIC_POP_UPDATE_LIBRARY_Q"
+msgstr "更新库"
+
+msgid "IDS_MUSIC_BODY_CHANGE_AXIS"
+msgstr "更改轴线"
+
+msgid "IDS_MUSIC_ITAB4_GENRES"
+msgstr "流派"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_1_TRACK"
+msgstr "1 张专辑/1 首曲目"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_PD_TRACKS"
+msgstr "1 张专辑/%d 首曲目"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS_PD_TRACKS"
+msgstr "%d 张专辑/%d 首曲目"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_CONTROL_MUSIC_PLAYER_WITH_THE_VOICE_COMMANDS_P1SS_P2SS_P3SS_P4SS_P5SS_AND_P6SS"
+msgstr "您可用语音命令 %1$s、%2$s、%3$s、%4$s、%5$s 和 %6$s 控制音乐播放器。"
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_PD_TRACKS"
+msgstr "随机播放 %d 首曲目"
+
+msgid "IDS_MUSIC_BODY_MORE_INFO"
+msgstr "更多信息"
+
+msgid "IDS_MUSIC_HEADER_MY_MUSIC_M_APPLICATION_NAME"
+msgstr "我的音乐"
+
+msgid "IDS_MUSIC_OPT_LIST_VIEW"
+msgstr "列表视图"
+
+msgid "IDS_MUSIC_OPT_PLAY_VIA_GROUP_PLAY"
+msgstr "通过 Group Play 播放"
+
+msgid "IDS_MUSIC_POP_TRACK_ADDED_TO_FAVOURITES"
+msgstr "曲目已添加至收藏。"
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_FAVOURITES"
+msgstr "从收藏中移除"
+
+msgid "IDS_MUSIC_BODY_NEW_M_LATEST"
+msgstr "新的"
+
+msgid "IDS_MUSIC_OPT_TRACKS"
+msgstr "曲目"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL"
+msgstr "缩略图"
+
+msgid "IDS_MUSIC_SK_LIST"
+msgstr "列表"
+
+msgid "IDS_MUSIC_SK_OPEN_PLAYLIST"
+msgstr "打开播放列表"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALL"
+msgstr "全部播放"
+
+msgid "IDS_MUSIC_POP_SELECTED_LIST_EMPTY"
+msgstr "选择的列表为空"
+
+msgid "IDS_MUSIC_BODY_MOODS"
+msgstr "基调"
+
+msgid "IDS_MUSIC_BUTTON_YEARS"
+msgstr "年"
+
+msgid "IDS_MUSIC_BODY_OLD"
+msgstr "旧的"
+
+msgid "IDS_MUSIC_BODY_MUSIC_SQUARE_ANALYSES_THE_CHARACTERISTICS_OF_MUSIC_FILES_STORED_ON_YOUR_DEVICE_AND_AUTOMATICALLY_CREATES_PLAYLISTS_MSG"
+msgstr "音乐广场分析保存在设备中的音乐文件的特征,并自动创建播放列表。"
+
+msgid "IDS_MUSIC_BODY_PLAY_TRACKS_WITH_SIMILAR_CHARACTERISTICS_BY_SELECTING_A_SQUARE_ON_THE_SCREEN"
+msgstr "通过在屏幕上选择广场来播放具有类似特征的音乐播放列表。"
+
+msgid "IDS_MUSIC_BODY_VIEW_PLAYLIST_DETAILS_BY_TAPPING_AND_HOLDING_THE_SQUARE_CURRENTLY_BEING_PLAYED"
+msgstr "点住当前播放的广场查看播放列表详情。"
+
+msgid "IDS_MUSIC_BODY_NEARBY_DEVICES"
+msgstr "附近的设备"
+
+msgid "IDS_MUSIC_POP_YOU_WILL_NEED_TO_UPDATE_THE_LIBRARY_IF_NEW_SONGS_HAVE_BEEN_ADDED"
+msgstr "如果已添加新的歌曲,您将需要更新音乐库。"
+
+msgid "IDS_MUSIC_BODY_NO_ALBUMS"
+msgstr "没有专辑"
+
+msgid "IDS_MUSIC_BODY_NO_ARTISTS"
+msgstr "没有艺术家"
+
+msgid "IDS_MUSIC_OPT_PLAY_SPEED_ABB"
+msgstr "播放速度"
+
+msgid "IDS_MUSIC_BODY_CONCERT_HALL_M_SOUNDEFFECT"
+msgstr "音乐厅"
+
+msgid "IDS_MUSIC_OPT_ADD_TO"
+msgstr "添加到"
+
+msgid "IDS_MUSIC_SK_VIEW"
+msgstr "查看"
+
+msgid "IDS_MUSIC_OPT_LISTBY_RECENTLY_ADDED"
+msgstr "最近添加的"
+
+msgid "IDS_MUSIC_BODY_NOT_USED"
+msgstr "未使用"
+
+msgid "IDS_MUSIC_BODY_MAKE_AVAILABLE_OFFLINE"
+msgstr "选择离线浏览"
+
+msgid "IDS_MUSIC_OPT_AFTER_P1SD_HRS_P2SD_MINS"
+msgstr "%1$d 小时 %2$d 分钟后"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS"
+msgstr "%d 小时后"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_MINS"
+msgstr "%d 分钟后"
+
+msgid "IDS_MUSIC_BODY_NO_FOLDERS"
+msgstr "没有文件夹"
+
+msgid "IDS_MUSIC_BODY_NO_TRACKS"
+msgstr "无曲目"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS"
+msgstr "%d张专辑"
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS"
+msgstr "%d 位艺术家"
+
+msgid "IDS_MUSIC_BODY_PD_GENRES"
+msgstr "%d 种流派"
+
+msgid "IDS_MUSIC_BODY_PD_PLAYLISTS"
+msgstr "%d 个播放列表"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_ABB"
+msgstr "%d首曲目"
+
+msgid "IDS_MUSIC_BODY_PLAYLIST"
+msgstr "播放列表"
+
+msgid "IDS_MUSIC_HEADER_SIMILAR_ALBUMS"
+msgstr "类似专辑"
+
+msgid "IDS_MUSIC_HEADER_TRACK"
+msgstr "曲目"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL_VIEW"
+msgstr "缩略图查看"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "此声音效果仅在耳机模式下有效。"
+
+msgid "IDS_MUSIC_OPT_ALL_CONTENT_ABB2"
+msgstr "全部内容"
+
+msgid "IDS_MUSIC_BODY_A_NETWORK_CONNECTION_IS_REQUIRED_TO_PLAY_THIS_FILE_CHECK_YOUR_NETWORK_CONNECTION_AND_TRY_AGAIN"
+msgstr "需要网络连接以播放该文件。检查您的网络连接并重试。"
+
+msgid "IDS_MUSIC_POP_FILE_TYPE_NOT_SUPPORTED"
+msgstr "不支持的文件类型"
+
+msgid "IDS_MUSIC_POP_UPDATING_ING"
+msgstr "正在更新"
+
+msgid "IDS_MUSIC_OPT_SEARCH_ABB"
+msgstr "搜索"
+
+msgid "IDS_MUSIC_OPT_SEARCH_BY"
+msgstr "搜索方式"
+
+msgid "IDS_MUSIC_BODY_RELATED_VIDEOS"
+msgstr "相关视频"
+
+msgid "IDS_MUSIC_BODY_SMART_VOLUME_ABB"
+msgstr "智能音量"
+
+msgid "IDS_MUSIC_BODY_THE_VOLUME_OF_ALL_TRACKS_WILL_BE_ADJUSTED_TO_LEVEL_PD"
+msgstr "所有曲目的音量将调节为水平 %d。"
+
+msgid "IDS_MUSIC_HEADER_SMART_VOLUME_IS_ENABLED"
+msgstr "已启用智能音量"
+
+msgid "IDS_MUSIC_OPT_CONNECTION_INFO_ABB"
+msgstr "连接信息"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_PD_MINS"
+msgstr "1 小时 %d 分钟后"
+
+msgid "IDS_MUSIC_BODY_ADAPT_SOUND_ABB"
+msgstr "优化声音"
+
+msgid "IDS_MUSIC_BODY_MY_DEVICE"
+msgstr "我的设备"
+
+msgid "IDS_MUSIC_POP_LISTENING_AT_A_HIGH_VOLUME_FOR_A_LONG_TIME_MAY_DAMAGE_YOUR_HEARING_RAISE_THE_VOLUME_ABOVE_SAFE_LEVELS_Q"
+msgstr "长时间以高音量收听可能损害您的听力。是否将音量升至安全水平以上?"
+
+msgid "IDS_MUSIC_POP_ALREADY_EXISTS"
+msgstr "已存在。"
+
+msgid "IDS_MUSIC_OPT_SCAN_FOR_NEARBY_DEVICES"
+msgstr "扫描附近的设备"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR"
+msgstr "1 小时后"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_1_MIN"
+msgstr "1 小时 1 分钟后"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS_1_MIN"
+msgstr "%d 小时 1 分钟后"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_MIN"
+msgstr "1 分钟后"
+
+msgid "IDS_MUSIC_OPT_GO_TO_STORE"
+msgstr "转至商店"
+
+msgid "IDS_MUSIC_SK3_ADD_TRACKS"
+msgstr "添加曲目"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FROM_MUSIC_THEY_WILL_BE_SHOWN_HERE"
+msgstr "在您从音乐下载曲目后,将在此处显示。"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_YOUR_FAVOURITES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "添加曲目至收藏后,其将显示于此。"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_PLAY_TRACKS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "在您播放曲目后,其将显示在此处。"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_PS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "在您将曲目添加至 %s 后,将在此处显示。"
+
+msgid "IDS_MUSIC_BODY_NO_PURCHASED_CONTENT"
+msgstr "无已购买内容"
+
+msgid "IDS_MUSIC_SK_SAVE_AS"
+msgstr "另存为"
+
+msgid "IDS_MUSIC_POP_MUSICPLAYER_UPDATING_FAILED"
+msgstr "更新失败。"
+
+msgid "IDS_MUSIC_BODY_EXCITING_M_ADJECTIVE"
+msgstr "激动人心的"
+
+msgid "IDS_MUSIC_BODY_SEARCH_MY_MUSIC"
+msgstr "搜索我的音乐"
+
+msgid "IDS_MUSIC_HEADER_CONNECTED_DEVICES"
+msgstr "已连接设备"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST_PS"
+msgstr "我的播放列表 %s"
+
+msgid "IDS_MUSIC_BODY_NO_DEVICES"
+msgstr "没有设备"
+
+msgid "IDS_MUSIC_HEADER_AVAILABLE_DEVICES_ABB"
+msgstr "可用设备"
+
+msgid "IDS_MUSIC_POP_SET"
+msgstr "设置"
+
+msgid "IDS_MUSIC_POP_REMOVE_FAILED"
+msgstr "移除失败"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_USE_FAST_FORWARD_AND_REWIND_WHEN_NEARBY_DEVICES_ARE_ENABLED"
+msgstr "当附近设备已启用时无法使用快进和后退。"
+
+msgid "IDS_MUSIC_OPT_SET_AS"
+msgstr "设定为"
+
+msgid "IDS_MUSIC_OPT_HEADPHONES_ABB"
+msgstr "耳机"
+
+msgid "IDS_MUSIC_OPT_SPEAKER"
+msgstr "扬声器"
+
+msgid "IDS_MUSIC_BODY_1_SONG"
+msgstr "1 首歌"
+
+msgid "IDS_MUSIC_BODY_PD_SONGS"
+msgstr "%d 首歌"
+
+msgid "IDS_MUSIC_BODY_1_TRACK"
+msgstr "1个曲目"
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_1_TRACK"
+msgstr "随机播放 1 首曲目"
+
+msgid "IDS_MUSIC_POP_NO_MUSIC_FOUND_FOR_SELECTED_CELL"
+msgstr "所选单元未找到音乐"
+
+msgid "IDS_MUSIC_BODY_DO_NOT_SHOW_AGAIN"
+msgstr "不要再显示"
+
+msgid "IDS_MUSIC_BODY_VARIOUS_ARTISTS"
+msgstr "不同的艺术家"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_HOME_SCREEN_ABB"
+msgstr "添加至主屏"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_FAVOURITES"
+msgstr "添加到收藏"
+
+msgid "IDS_MUSIC_OPT_EDIT_TITLE"
+msgstr "编辑标题"
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_PERSONAL_STORAGE"
+msgstr "从个人存储空间移除"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FOLDERS_WILL_BE_SHOWN"
+msgstr "下载曲目后,文件夹将显示"
+
+msgid "IDS_MUSIC_BODY_SETTINGS_VOLUME"
+msgstr "音量"
+
+msgid "IDS_MUSIC_BODY_REPEAT_OFF"
+msgstr "重复关"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_REPEAT_ALL"
+msgstr "重复全部"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_OFF"
+msgstr "随机播放关"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_ON"
+msgstr "随机播放开"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST"
+msgstr "我的播放列表"
+
+msgid "IDS_MUSIC_MBODY_DEFAULT_PLAYLISTS"
+msgstr "默认播放列表"
+
+msgid "IDS_MUSIC_BODY_DETAILS_RECORDING_DATE"
+msgstr "录制时间"
+
+msgid "IDS_MUSIC_OPT_ALBUM_ART_ABB"
+msgstr "音乐库艺术"
+
+msgid "IDS_MUSIC_BODY_1_GENRE"
+msgstr "1 个流派"
+
+msgid "IDS_MUSIC_BODY_PD_FOLDERS"
+msgstr "%d 个文件夹"
+
+msgid "IDS_MUSIC_BODY_1_FOLDER"
+msgstr "1个文件夹"
+
+msgid "IDS_MUSIC_BODY_1_ARTIST"
+msgstr "1 个歌唱艺术家"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_M_MUSIC"
+msgstr "1张专辑"
+
+msgid "IDS_MUSIC_BODY_1_PLAYLIST"
+msgstr "1 个播放列表"
+
+msgid "IDS_MUSIC_BODY_MUSIC_PLAYER"
+msgstr "音乐播放器"
+
+msgid "IDS_MUSIC_BUTTON_MOVE"
+msgstr "移动"
+
+msgid "IDS_MUSIC_BUTTON_AUTO_RECOMMENDATIONS"
+msgstr "自动建议"
+
+msgid "IDS_MUSIC_BUTTON_FROM_THE_BEGINNING"
+msgstr "从头开始"
+
+msgid "IDS_MUSIC_HEADER_SUGGESTIONS_FOR_YOU"
+msgstr "给您的建议"
+
+msgid "IDS_MUSIC_OPT_SAVE"
+msgstr "保存"
+
+msgid "IDS_MUSIC_TAB4_BASIC_M_EQUALIZING"
+msgstr "基本"
+
+msgid "IDS_MUSIC_BODY_INSTRUMENT"
+msgstr "乐器"
+
+msgid "IDS_MUSIC_BODY_TREBLE_M_EQUALISER"
+msgstr "高音"
+
+msgid "IDS_MUSIC_BODY_BASS_M_EQUALISER"
+msgstr "低音"
+
+msgid "IDS_MUSIC_BODY_NO_EFFECTS_ARE_APPLIED_IN_THIS_MODE_ABB"
+msgstr "此模式中未应用效果"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_TIMBRE_OF_A_TUBE_AMP_ABB"
+msgstr "仿真真空管音色。"
+
+msgid "IDS_MUSIC_OPT_TUBE_AMP_EFFECT"
+msgstr "真空管放大效果"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_EFFECT_OF_VIRTUAL_71_CHANNEL_SURROUND_SOUND_ABB"
+msgstr "模拟虚拟 7.1 声道环绕音效效果。"
+
+msgid "IDS_MUSIC_HEADER_SMALL_ROOM_M_REVERB_ABB"
+msgstr "小空间"
+
+msgid "IDS_MUSIC_HEADER_LARGE_ROOM_M_REVERB_ABB"
+msgstr "大空间"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_LARGE_ROOM_EG_A_THEATRE_ABB"
+msgstr "模拟大空间回音,例如剧院。"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_CONCERT_HALL_ABB"
+msgstr "模拟音乐厅回音。"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_SMALL_SPACE_EG_A_STUDIO_ABB"
+msgstr "模拟小空间回音,例如录音室。"
+
+msgid "IDS_MUSIC_BUTTON_3D_CHN"
+msgstr "3D 声音"
+
+msgid "IDS_MUSIC_BODY_CLARITY_M_SOUNDEFFECT"
+msgstr "清晰度"
+
+msgid "IDS_MUSIC_BUTTON_RESET"
+msgstr "重置"
+
+msgid "IDS_MUSIC_TAB_YEARS"
+msgstr "年代"
+
+msgid "IDS_MUSIC_TAB_GENRES"
+msgstr "流派"
+
+msgid "IDS_MUSIC_TAB_COMPOSERS"
+msgstr "作曲家"
+
+msgid "IDS_MUSIC_TAB_ALL_TRACKS"
+msgstr "全部曲目"
+
+msgid "IDS_MUSIC_SK3_GO_TO_QUICK_LIST"
+msgstr "转到快速列表"
+
+msgid "IDS_MUSIC_SK3_FIND"
+msgstr "寻找"
+
+msgid "IDS_MUSIC_SK3_ADD_TO_QUICK_LIST"
+msgstr "添加到快速列表"
+
+msgid "IDS_MUSIC_POP_UNAUTHORISED_VIDEO_FILE_FOR_TV_OUT"
+msgstr "未授权的电视输出视频文件。"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_CREATE_MAXIMUM_NUMBER_OF_PLAYLISTS_REACHED"
+msgstr "无法创建。已达到播放列表的最大数量。"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTING_BLUETOOTH_HEADSET"
+msgstr "连接蓝牙耳机时无法调节音量。"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTED_TO_BLUETOOTH_HEADSET"
+msgstr "连接到蓝牙耳机时,无法调节音量。"
+
+msgid "IDS_MUSIC_POP_STOP_MUSIC_PLAYER_Q"
+msgstr "停止音乐播放器?"
+
+msgid "IDS_MUSIC_POP_PLEASE_EXIT_SILENT_MODE"
+msgstr "请退出静音模式。"
+
+msgid "IDS_MUSIC_POP_NETWORK_FAILURE"
+msgstr "网络失败"
+
+msgid "IDS_MUSIC_POP_MEMORY_CARD_LOADED"
+msgstr "存储卡已载入。"
+
+msgid "IDS_MUSIC_POP_DEVICE_SETTINGS_ERROR"
+msgstr "设备设置错误。"
+
+msgid "IDS_MUSIC_POP_COULD_NOT_FIND_A_MATCH_FOR_THE_SONG"
+msgstr "无法找到歌曲的匹配"
+
+msgid "IDS_MUSIC_POP_BUFFERING_MSTATUS"
+msgstr "正在缓冲"
+
+msgid "IDS_MUSIC_POP_BT_HEADSET_ONLY_SUPPORTS_NORMAL_EFFECTS_SETTING"
+msgstr "蓝牙耳机仅支持普通效果设置。"
+
+msgid "IDS_MUSIC_POP_APPLICATION_WILL_BE_CLOSED"
+msgstr "应用程序将关闭。"
+
+msgid "IDS_MUSIC_POP_ADDED_GO_TO_WISH_LIST_Q"
+msgstr "已添加。转到愿望列表?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_THE_SERVICE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "访问该服务可能需要付费。 继续?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_STORE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "进入商店可能收费。继续?"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_ONLY_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES"
+msgstr "5.1声道的声音效果仅在耳机或蓝牙耳机模式下才可运行。"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "5.1 声道声音效果只适用于耳机模式。"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECTS_NOT_SUPPORTED_BY_SPEAKER"
+msgstr "扬声器不支持5.1信道声音效果。"
+
+msgid "IDS_MUSIC_OPT_VIEW_BY_COVER_ART"
+msgstr "以专辑封面显示"
+
+msgid "IDS_MUSIC_OPT_SEND_TRACK"
+msgstr "发送曲目"
+
+msgid "IDS_MUSIC_OPT_RATE_TRACK"
+msgstr "曲目等级"
+
+msgid "IDS_MUSIC_OPT_PLAYLIST_MOVE_TRACK_IN_PLAYLIST"
+msgstr "移动播放列表的曲目"
+
+msgid "IDS_MUSIC_OPT_OPENPLAYLIST_CURRENT"
+msgstr "目前"
+
+msgid "IDS_MUSIC_OPT_DELETE_PLAYLIST"
+msgstr "删除播放列表"
+
+msgid "IDS_MUSIC_OPT_BACKGROUND_PLAYING"
+msgstr "背景播放"
+
+msgid "IDS_MUSIC_HEADER_EFFECTS"
+msgstr "效果"
+
+msgid "IDS_MUSIC_BUTTON_BUY_NOW"
+msgstr "现在购买"
+
+msgid "IDS_MUSIC_BODY_WOW_HD"
+msgstr "Wow HD"
+
+msgid "IDS_MUSIC_BODY_WISHLIST"
+msgstr "愿望列表"
+
+msgid "IDS_MUSIC_BODY_WIDE"
+msgstr "宽广"
+
+msgid "IDS_MUSIC_BODY_WHA_WHA"
+msgstr "哇哇音"
+
+msgid "IDS_MUSIC_BODY_VIBE_WOOFER"
+msgstr "低音扬声器"
+
+msgid "IDS_MUSIC_BODY_TREMOLO"
+msgstr "颤音"
+
+msgid "IDS_MUSIC_BODY_TAP_TWICE_TO_PLAY_PAUSE_MUSIC"
+msgstr "点击两次以播放/暂停音乐。"
+
+msgid "IDS_MUSIC_BODY_SHARE_TRACK_VIA_BLUETOOTH"
+msgstr "经过蓝牙"
+
+msgid "IDS_MUSIC_BODY_SETUPWIZARD_WELCOME_TO_THE_MUSIC_SETUP_WIZARD_CONTINUE_Q"
+msgstr "欢迎进入音乐设置向导。\n接下来的屏幕将帮助您配置您的手机。继续?"
+
+msgid "IDS_MUSIC_BODY_QUICK_LIST"
+msgstr "快捷列表"
+
+msgid "IDS_MUSIC_BODY_PLAYINGSETTINGS_SOUND_EFFECTS"
+msgstr "音效"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_ALL"
+msgstr "全部"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_1"
+msgstr "1"
+
+msgid "IDS_MUSIC_BODY_PLAYERSETTINGS_VOLUME"
+msgstr "音量"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_SELECTED"
+msgstr "已选择%d个曲目"
+
+msgid "IDS_MUSIC_BODY_NO_PODCASTS"
+msgstr "没有播客"
+
+msgid "IDS_MUSIC_BODY_FIND_SIMILAR"
+msgstr "查找类似"
+
+msgid "IDS_MUSIC_BODY_BACKGROUND_PLAY"
+msgstr "背景播放"
+
+msgid "IDS_MUSIC_BODY_51_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "5.1声道仅在声音效果关闭时才可启动。"
+
+msgid "IDS_MUSIC_TAB4_PODCASTS"
+msgstr "播客"
+
+msgid "IDS_MUSIC_SK2_EDIT_IMAGE"
+msgstr "编辑图片"
+
+msgid "IDS_MUSIC_POP_PLAYING_ANY_SOUNDS_WILL_STOP_AND_SAVE_YOUR_VOICE_RECORDING_PLAY_Q"
+msgstr "播放任何声音将停止并保存您的语音录制。是否播放?"
+
+msgid "IDS_MUSIC_POP_MAXIMUM_NUMBER_OF_ITEMS_HPD_SELECTED"
+msgstr "已达到项目最大数量上限(%d)。"
+
+msgid "IDS_MUSIC_POP_BLUETOOTH_DISCONNECTED"
+msgstr "蓝牙连接已断开"
+
+msgid "IDS_MUSIC_POP_5_1_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "5.1声道仅在关闭声音效果时才能激活。"
+
+msgid "IDS_MUSIC_OPT_TAKE_PICTURE"
+msgstr "拍照"
+
+msgid "IDS_MUSIC_OPT_SHOW_MUSIC_VIEW_ABB"
+msgstr "显示音乐视图"
+
+msgid "IDS_MUSIC_OPT_PAUSE"
+msgstr "暂停"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALBUM"
+msgstr "播放专辑"
+
+msgid "IDS_MUSIC_OPT_LIST_BY"
+msgstr "排序方式"
+
+msgid "IDS_MUSIC_OPT_HISTORY"
+msgstr "历史记录"
+
+msgid "IDS_MUSIC_OPT_HIDE_MUSIC_VIEW_ABB"
+msgstr "隐藏音乐视图"
+
+msgid "IDS_MUSIC_OPT_FIND_TAG"
+msgstr "查找标签"
+
+msgid "IDS_MUSIC_OPT_DROPBOX_CONTENT_ABB"
+msgstr "Dropbox 内容"
+
+msgid "IDS_MUSIC_OPT_CONTENT_ON_PHONE_ABB"
+msgstr "手机上的内容"
+
+msgid "IDS_MUSIC_OPT_CHANGE_IMAGE"
+msgstr "更改图片"
+
+msgid "IDS_MUSIC_HEADER_DELETE_DROPBOX_DATA_ABB"
+msgstr "删除 Dropbox 数据"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_STREAM_YOUR_MUSIC_TO_DEVICES_USING_ALLSHARE"
+msgstr "您可使用 AllShare 将您的音乐导入至设备。"
+
+msgid "IDS_MUSIC_BODY_VALIDITY"
+msgstr "有效"
+
+msgid "IDS_MUSIC_BODY_TYPE_CNOUN"
+msgstr "类型"
+
+msgid "IDS_MUSIC_BODY_THIS_WILL_DELETE_THE_FILE_FROM_THE_SERVER_AND_ANY_CONNECTED_DEVICES_AS_WELL"
+msgstr "这将从服务器和任何已连接的设备删除文件。"
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_ARTISTS"
+msgstr "艺术家"
+
+msgid "IDS_MUSIC_BODY_PLAYINGDETAILS_ALBUM_ART"
+msgstr "专辑艺术"
+
+msgid "IDS_MUSIC_BODY_OTHER_CONTENTS"
+msgstr "其他内容"
+
+msgid "IDS_MUSIC_BODY_NAME_TOO_LONG"
+msgstr "姓名太长"
+
+msgid "IDS_MUSIC_BODY_MUSIC_CLARITY"
+msgstr "音乐清晰"
+
+msgid "IDS_MUSIC_BODY_HIGH_VOLUMES_MAY_HARM_YOUR_HEARING_IF_YOU_LISTEN_FOR_A_LONG_TIME"
+msgstr "如果长时间用高音量收听,可能会损坏听力。"
+
+msgid "IDS_MUSIC_BODY_AVAILABLE_USES"
+msgstr "可用于"
+
+msgid "IDS_MUSIC_TPOP_SOUND_EFFECTS_ONLY_AVAILABLE_WHILE_HEADPHONES_CONNECTED"
+msgstr "音效仅在连接耳机时可用。"
+
+msgid "IDS_ST_OPT_ADD_TO_YOUR_PERSONAL_STORAGE"
+msgstr "添加至您的个人存储空间"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_YOUR_PERSONAL_STORAGE"
+msgstr "自个人存储空间移除"
+
+msgid "IDS_ST_BODY_CONTEXTUAL_POP_UP_T_TALKBACK"
+msgstr "上下文提示窗"
+
+msgid "IDS_ST_BODY_A_CONTEXTUAL_POP_UP_IS_OPEN_DOUBLE_TAP_TO_CLOSE_IT_T_TALKBACK"
+msgstr "上下文提示窗已打开。双击以关闭。"
+
+msgid "IDS_ST_BODY_REPEAT_ONE"
+msgstr "重复一个"
+
+msgid "IDS_ST_BUTTON_MOVING_ING"
+msgstr "移动中…"
+
+msgid "IDS_HS_BODY_SELECT_UP_TO_PD_ITEMS"
+msgstr "选择多达 %d 个项目"
+
+msgid "IDS_CAM_BODY_TAB_T_TTS"
+msgstr "选项卡"
+
+msgid "IDS_DLNA_OPT2_CHANGE_PLAYER"
+msgstr "更改播放器"
+
+msgid "IDS_BR_SK_TABS"
+msgstr "标签"
+
+msgid "IDS_MF_BODY_DROPBOX_ABB"
+msgstr "Dropbox"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "自动建议可从声音文件中提取最精彩的部分。"
+
+msgid "IDS_MF_BODY_PARENT_RATING"
+msgstr "父速率"
+
+msgid "IDS_VR_POP_FILE_NOT_FOUND"
+msgstr "找不到文件"
+
+msgid "IDS_PB_POP_CALLER_RINGTONE_SAVED"
+msgstr "已储存来电铃声"
+
+msgid "IDS_MUSIC_BODY_BIT_DEPTH"
+msgstr "比特深度"
+
+msgid "IDS_MUSIC_BODY_SIZE"
+msgstr "大小"
+
+msgid "IDS_MF_HEADER_PD_SELECTED"
+msgstr "%d 已选择"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_THIS_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "添加曲目至该设备后,其将显示在此处。"
+
+msgid "IDS_MUSIC_TMBODY_LENGTH"
+msgstr "长度"
+
+msgid "IDS_MUSIC_POP_1_FOLDER_WILL_BE_DELETED"
+msgstr "将删除 1 个文件夹。"
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "无内容"
+
+msgid "IDS_MUSIC_ITAB4_FOLDERS"
+msgstr "文件夹"
+
+msgid "IDS_MUSIC_HEADER_MY_PLAYLISTS_ABB"
+msgstr "我的播放列表"
+
+msgid "IDS_MP_BODY_SOUND_PLAYER"
+msgstr "声音播放器"
+
+msgid "IDS_MUSIC_OPT_SETTINGS"
+msgstr "设定"
+
+msgid "IDS_MUSIC_POP_DELETING"
+msgstr "删除中.."
+
+msgid "IDS_MUSIC_POP_1_TRACK_WILL_BE_DELETED"
+msgstr "将删除 1 首曲目。"
+
+msgid "IDS_MUSIC_POP_ALL_TRACKS_WILL_BE_DELETED"
+msgstr "将删除所有曲目"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_WILL_BE_DELETED"
+msgstr "将删除 %d 首曲目。"
+
+msgid "IDS_MUSIC_POP_1_PLAYLIST_WILL_BE_DELETED"
+msgstr "将删除 1 个播放列表。"
+
+msgid "IDS_MUSIC_POP_PD_PLAYLISTS_WILL_BE_DELETED"
+msgstr "%d 个播放列表将被删除。"
+
+msgid "IDS_MUSIC_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "将删除 %d 个相册。"
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS_WILL_BE_DELETED"
+msgstr "%d 位艺术家将被删除。"
+
+msgid "IDS_MUSIC_POP_PD_FOLDERS_WILL_BE_DELETED"
+msgstr "%d个文件夹将被删除。"
+
+msgid "IDS_ST_POP_CONNECTION_FAILED"
+msgstr "连接失败"
+
+msgid "IDS_MUSIC_BODY_CLASSIC"
+msgstr "古典"
+
+msgid "IDS_MUSIC_BODY_ROCK"
+msgstr "摇滚"
+
+msgid "IDS_MUSIC_BODY_JAZZ"
+msgstr "爵士"
+
+msgid "IDS_MUSIC_BODY_POP"
+msgstr "流行"
+
+msgid "IDS_MUSIC_BODY_AUTO"
+msgstr "自动"
+
+msgid "IDS_MUSIC_POP_CURRENT_SOUND_EFFECT_NOT_SUPPORTED_BY_HDMI"
+msgstr "HDMI 不支持当前音效。"
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_BLUETOOTH"
+msgstr "蓝牙不支持声音效果。"
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_LINE_OUT"
+msgstr "线路输出不支持声音效果。"
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_HDMI"
+msgstr "HDMI不支持声音效果。"
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EFFECT"
+msgstr "电子管功放"
+
+msgid "IDS_MUSIC_BODY_CUSTOM"
+msgstr "自定义"
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EQUALISER_ABB"
+msgstr "真空管"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d 首曲目已添加至播放列表"
+
+msgid "IDS_MUSIC_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "已添加 1 首曲目至播放列表"
+
+msgid "IDS_MUSIC_HEADER_ADD_TRACKS_TO_PLAYLIST_ABB"
+msgstr "将曲目添加至播放列表"
+
+msgid "IDS_MUSIC_POP_PS_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "%s 播放列表名称已使用。请输入其它名称。"
+
+msgid "IDS_MUSIC_TMBODY_DATE_OF_RECORDING"
+msgstr "录制日期"
+
+msgid "IDS_MBP_TPOP_TRACK_SET_AS_ALARM_TONE"
+msgstr "曲目已设置为闹钟铃声"
+
+msgid "IDS_MUSIC_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "未找到结果"
+
+msgid "IDS_MUSIC_OPT_DEFAULT_RINGTONE_ABB"
+msgstr "默认铃声"
+
+msgid "IDS_MUSIC_TPOP_TRACK_SET_AS_CALLER_RINGTONE"
+msgstr "曲目已设置为来电铃声"
+
+msgid "IDS_MP_TPOP_TRACK_SET_AS_RINGTONE"
+msgstr "曲目已设置为铃声"
+
+msgid "IDS_DLNA_BODY_ADD_TO_NOW_PLAYING_LIST"
+msgstr "添加至当前播放列表"
+
+msgid "IDS_MUSIC_TPOP_EQUALISER_SETTINGS_WILL_BE_APPLIED_WHILE_PLAYING_MUSIC"
+msgstr "均衡器设定将在播放音乐时应用"
+
+msgid "IDS_ST_BODY_ALERT"
+msgstr "提示"
+
+msgid "IDS_IV_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "将删除 1 个相册。"
+
+msgid "IDS_MUSIC_OPT_SD_CARD"
+msgstr "SD 卡"
+
+msgid "IDS_MUSIC_SBODY_DEVICE_STORAGE"
+msgstr "设备存储"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE"
+msgstr "播放列表名称已被使用"
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_PD"
+msgstr "播放列表 %d"
+
+msgid "IDS_MUSIC_HEADER_CREATE"
+msgstr "创建"
+
+msgid "IDS_MUSIC_HEADER_EQUALISER_PRESET_ABB"
+msgstr "均衡器预设"
+
+msgid "IDS_MUSIC_OPT_AUTOMATIC_M_EQUALIZER_EFFECT"
+msgstr "自动"
+
+msgid "IDS_MUSIC_OPT_CLASSICAL_M_EQUALIZER_EFFECT"
+msgstr "古典"
+
+msgid "IDS_MUSIC_HEADER_ENVIRONMENT_EFFECT_ABB"
+msgstr "环境效果"
+
+msgid "IDS_VIDEO_POP_THE_FILE_TYPE_IS_NOT_SUPPORTED"
+msgstr "不支持此文件类型。"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_CREATE_PLAYLISTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "在您创建播放列表后,将在此处显示。"
+
+msgid "IDS_ST_HEADER_SELECT_AUDIO_DEVICE_ABB"
+msgstr "选择音频设备"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "播放列表名称已被使用。请输入其他名称。"
+
+msgid "IDS_MUSIC_HEADER_SOUNDALIVE_ABB3"
+msgstr "SoundAlive"
+
+msgid "IDS_MUSIC_OPT_NOW_PLAYING_LIST"
+msgstr "当前播放列表"
+
+msgid "IDS_MUSIC_OPT_SHOW_LYRICS"
+msgstr "显示歌词"
+
+msgid "IDS_MUSIC_OPT_HIDE_LYRICS"
+msgstr "隐藏歌词"
+
+msgid "IDS_MUSIC_TPOP_UNABLE_TO_PLAY_MUSIC_DURING_CALLS"
+msgstr "通话期间无法播放音乐。"
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "删除"
+
+msgid "IDS_MUSIC_HEADER_SELECT"
+msgstr "选择"
+
+msgid "IDS_TPLATFORM_OPT_NFC"
+msgstr "NFC"
+
+msgid "IDS_MUSIC_HEADER_UNABLE_TO_PLAY_TRACK"
+msgstr "无法播放曲目"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "完成"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "取消"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "删除"
+
+msgid "IDS_MUSIC_POP_RENAME"
+msgstr "重命名"
+
+msgid "IDS_MUSIC_OPT_MESSAGE"
+msgstr "信息"
+
+msgid "IDS_MUSIC_SK_OK"
+msgstr "确定"
+
+msgid "IDS_MUSIC_SK_CANCEL"
+msgstr "取消"
+
+msgid "IDS_MUSIC_BUTTON_REFRESH"
+msgstr "刷新"
+
+msgid "IDS_MUSIC_BODY_SELECT_ALL"
+msgstr "全选"
+
+msgid "IDS_MUSIC_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_MUSIC_POP_DELETED"
+msgstr "已删除"
+
+msgid "IDS_MUSIC_OPT_STOP"
+msgstr "停止"
+
+msgid "IDS_MUSIC_BODY_UNKNOWN"
+msgstr "未知"
+
+msgid "IDS_MUSIC_BODY_TITLE"
+msgstr "标题"
+
+msgid "IDS_MUSIC_OPT_SENDVIA_EMAIL"
+msgstr "电子邮件"
+
+msgid "IDS_MUSIC_OPT_BLUETOOTH"
+msgstr "蓝牙"
+
+msgid "IDS_MUSIC_HEADER_DOWNLOAD"
+msgstr "下载"
+
+msgid "IDS_MUSIC_POP_LOW_BATTERY"
+msgstr "电量低"
+
+msgid "IDS_MUSIC_HEADER_AUDIO_DEVICE"
+msgstr "音频设备"
+
+msgid "IDS_MUSIC_HEADER_DETAILS"
+msgstr "详情"
+
+msgid "IDS_MUSIC_OPT_END"
+msgstr "结束"
+
+msgid "IDS_MUSIC_OPT_EDIT"
+msgstr "编辑"
+
+msgid "IDS_CAM_HEADER_UPDATED"
+msgstr "已更新"
+
+msgid "IDS_MUSIC_POP_REMOVED"
+msgstr "已移除"
+
+msgid "IDS_MUSIC_OPT_SELECTED"
+msgstr "已选择"
+
+msgid "IDS_ST_BUTTON_SCAN"
+msgstr "扫描"
+
+msgid "IDS_MF_POP_ERROR"
+msgstr "出错"
+
+msgid "IDS_MF_POP_MEMORY_FULL"
+msgstr "内存已满"
+
+msgid "IDS_MUSIC_MBODY_QUEUE"
+msgstr "列表"
+
+msgid "IDS_MUSIC_OPT_VOLUME"
+msgstr "音量"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE"
+msgstr "随机播放"
+
+msgid "IDS_MUSIC_OPT_REPEAT"
+msgstr "重复"
+
+msgid "IDS_COM_BODY_DETAILS"
+msgstr "Details"
+
+msgid "IDS_COM_BODY_DETAILS_TITLE"
+msgstr "Title"
+
+msgid "IDS_COM_BODY_EDIT"
+msgstr "Edit"
+
+msgid "IDS_COM_BODY_EMAIL"
+msgstr "Email"
+
+msgid "IDS_COM_BODY_END"
+msgstr "End"
+
+msgid "IDS_COM_BODY_FOLDERS"
+msgstr "Folders"
+
+msgid "IDS_COM_BODY_GALLERY"
+msgstr "Gallery"
+
+msgid "IDS_COM_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_COM_BODY_LOADING"
+msgstr "Loading..."
+
+msgid "IDS_COM_BODY_LOW_BATTERY"
+msgstr "Low battery."
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Message"
+
+msgid "IDS_COM_BODY_MUSIC"
+msgstr "Music"
+
+msgid "IDS_COM_BODY_NFC"
+msgstr "NFC"
+
+msgid "IDS_COM_BODY_NO_CONTENTS"
+msgstr "No content"
+
+msgid "IDS_COM_BODY_PAUSE"
+msgstr "Pause"
+
+msgid "IDS_COM_BODY_PD_SELECTED"
+msgstr "%d selected."
+
+msgid "IDS_COM_BODY_PREVIOUS"
+msgstr "Previous"
+
+msgid "IDS_COM_BODY_RESET_A"
+msgstr "Reset"
+
+msgid "IDS_COM_BODY_SELECTED"
+msgstr "Selected"
+
+msgid "IDS_COM_BODY_SELECT_ALL"
+msgstr "Select all"
+
+msgid "IDS_COM_BODY_SETTINGS"
+msgstr "Settings"
+
+msgid "IDS_COM_BODY_TIME"
+msgstr "Time"
+
+msgid "IDS_COM_BODY_UNABLE_TO_ADD"
+msgstr "Unable to add."
+
+msgid "IDS_COM_BODY_UNKNOWN"
+msgstr "Unknown"
+
+msgid "IDS_COM_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_COM_BUTTON_SCAN"
+msgstr "Scan"
+
+msgid "IDS_COM_BUTTON_SHARE"
+msgstr "Share"
+
+msgid "IDS_COM_HEADER_AUDIO_DEVICE_ABB"
+msgstr "Audio device"
+
+msgid "IDS_COM_OPT_ADDED"
+msgstr "Added."
+
+msgid "IDS_COM_OPT_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_POP_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_POP_CONNECTION_FAILED"
+msgstr "Connection failed."
+
+msgid "IDS_COM_POP_DELETED"
+msgstr "Deleted."
+
+msgid "IDS_COM_POP_DELETE_Q"
+msgstr "Delete?"
+
+msgid "IDS_COM_POP_DONE"
+msgstr "Done"
+
+msgid "IDS_COM_POP_DOWNLOADING"
+msgstr "Downloading..."
+
+msgid "IDS_COM_POP_ERROR"
+msgstr "Error."
+
+msgid "IDS_COM_POP_FAILED"
+msgstr "Failed."
+
+msgid "IDS_COM_POP_FILE_NOT_EXIST"
+msgstr "This file does not exist."
+
+msgid "IDS_COM_POP_FILE_NOT_FOUND"
+msgstr "File not found."
+
+msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximum number of characters reached."
+
+msgid "IDS_COM_POP_MEMORY_FULL"
+msgstr "Memory full."
+
+msgid "IDS_COM_POP_REMOVED"
+msgstr "Removed."
+
+msgid "IDS_COM_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Unable to use during Mass storage mode."
+
+msgid "IDS_COM_POP_UPDATED"
+msgstr "Updated."
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_SK_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_SK_DOWNLOAD"
+msgstr "Download"
+
+msgid "IDS_COM_SK_NEW"
+msgstr "New"
+
+msgid "IDS_COM_SK_NEXT"
+msgstr "Next"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_SK_REFRESH"
+msgstr "Refresh"
+
+msgid "IDS_COM_SK_REMOVE"
+msgstr "Remove"
+
+msgid "IDS_COM_SK_SAVE"
+msgstr "Save"
+
+msgid "IDS_COM_SK_SELECT"
+msgstr "Select"
+
+msgid "IDS_COM_SK_SET"
+msgstr "Set"
+
+msgid "IDS_COM_SK_STOP"
+msgstr "Stop"
+
+
+msgid "IDS_MH_BODY_THE_PLAYLIST_NAME_PS_IS_ALREADY_IN_USE"
+msgstr "The playlist name %s is already in use."
+
+msgid "IDS_MH_BODY_TOTAL"
+msgstr "Total"
+
+msgid "IDS_MH_MBODY_RECENTLY_ADDED_M_SONG"
+msgstr "Recently added"
+
+msgid "IDS_MH_OPT_MORE_INFO_ABB"
+msgstr "More info"
+
+msgid "IDS_MH_POP_ALARM_TONE_SET"
+msgstr "Alarm tone set."
+
+msgid "IDS_MH_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 track added to playlist."
+
+msgid "IDS_MH_TPOP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d tracks added to playlist."
+
+msgid "IDS_MUSIC_OPT_RENAME"
+msgstr "Rename"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Unable to play during call."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "已达到文件最大尺寸。"
+
+msgid "IDS_CAM_TPOP_UNABLE_TO_PLAY_MUSIC_WHILE_RECORDING_AUDIO_OR_VIDEO"
+msgstr "录制音频或视频时无法播放音乐"
+
--- /dev/null
+msgid "IDS_ST_BODY_LOADING_ING"
+msgstr "正在載入..."
+
+msgid "IDS_GALLERY_OPT_PRIVATE_M_CONTENT"
+msgstr "私人"
+
+msgid "IDS_MF_BODY_TIME"
+msgstr "時間"
+
+msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
+msgstr "此檔案不存在。"
+
+msgid "IDS_MUSIC_POP_PHONE_RINGTONE"
+msgstr "手機鈴聲"
+
+msgid "IDS_MUSIC_BODY_DURATION"
+msgstr "持續時間"
+
+msgid "IDS_MUSIC_BODY_MUSIC_LOCATION"
+msgstr "位置"
+
+msgid "IDS_MUSIC_BODY_SET_AS_M_RINGTONE"
+msgstr "設定為"
+
+msgid "IDS_ST_OPT_ADD_TO_PERSONAL_PAGE"
+msgstr "加入至個人頁面"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_PERSONAL_PAGE_ABB"
+msgstr "從個人頁面移除"
+
+msgid "IDS_ST_POP_MOVE_TO_NORMAL_STORAGE"
+msgstr "移動至一般儲存裝置"
+
+msgid "IDS_ST_POP_MOVE_TO_PERSONAL_STORAGE"
+msgstr "移動至個人儲存裝置"
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEMS_WILL_BE_MOVED_TO_PS"
+msgstr "選擇的項目將被移至 %s。"
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEM_WILL_BE_MOVED_TO_PS"
+msgstr "選擇的項目將被移至 %s。"
+
+msgid "IDS_VR_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "在大容量儲存裝置模式下無法使用。"
+
+msgid "IDS_MUSIC_POP_RINGTONE_ADDED"
+msgstr "已加入鈴聲。"
+
+msgid "IDS_CAM_BODY_BUTTON_T_TTS"
+msgstr "按鈕"
+
+msgid "IDS_MUSIC_HEADER_SELECT_ITEMS"
+msgstr "選擇項目"
+
+msgid "IDS_ST_BODY_ADVANCED"
+msgstr "進階"
+
+msgid "IDS_ST_SK_PREVIOUS"
+msgstr "上一步"
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "關閉"
+
+msgid "IDS_MUSIC_POP_ADDED"
+msgstr "已加入"
+
+msgid "IDS_MUSIC_POP_FAILED"
+msgstr "失敗。"
+
+msgid "IDS_MUSIC_BODY_NO_SEARCH_RESULTS"
+msgstr "無搜尋結果"
+
+msgid "IDS_MUSIC_SK_DONE"
+msgstr "完成"
+
+msgid "IDS_MUSIC_BODY_NO_ITEMS"
+msgstr "無項目"
+
+msgid "IDS_BR_OPT_ADD_TO_HOME"
+msgstr "加入至首頁"
+
+msgid "IDS_BR_SK_NEXT"
+msgstr "下一步"
+
+msgid "IDS_BR_BODY_DOWNLOADING_ING"
+msgstr "正在下載..."
+
+msgid "IDS_IV_BODY_FAVOURITE"
+msgstr "我的最愛"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_PERSONAL_STORAGE"
+msgstr "加入至個人儲存空間"
+
+msgid "IDS_DLNA_POP_DISCONNECTED_FROM_PS_CHECK_THE_NETWORK_STATUS_AND_THE_CONNECTED_DEVICE"
+msgstr "從 %s 中斷連接。檢查網絡狀態與連接的裝置。"
+
+msgid "IDS_DLNA_OPT_VIA_SCREEN_MIRRORING_ABB"
+msgstr "透過 Screen Mirroring"
+
+msgid "IDS_DLNA_OPT_VIA_HOME_NETWORK_ABB"
+msgstr "透過家用網絡"
+
+msgid "IDS_IV_POP_ENTRY_IS_EMPTY"
+msgstr "空白記錄。"
+
+msgid "IDS_FM_POP_UNAVAILABLE_DURING_CALL"
+msgstr "通話期間不可用。"
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "字元數目已達上限。"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_SHARE_DRM_FILE"
+msgstr "無法分享 DRM 檔案。"
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "正在移除..."
+
+msgid "IDS_MUSIC_HEADER_PD_DEVICES"
+msgstr "%d 個裝置"
+
+msgid "IDS_MUSIC_BUTTON_ENABLE_MOTION"
+msgstr "啟用動作"
+
+msgid "IDS_MUSIC_BUTTON_DONT_ASK_AGAIN"
+msgstr "不再詢問"
+
+msgid "IDS_MUSIC_BODY_NO_RESULTS_FOUND"
+msgstr "無搜尋結果。"
+
+msgid "IDS_VPL_OPT_HDMI"
+msgstr "HDMI"
+
+msgid "IDS_MUSIC_BODY_TURN_PHONE_OVER_TO_MUTE_INCOMING_CALLS_MESSAGE_ALERTS_AND_ALARMS"
+msgstr "反轉手機以將來電、訊息提示及鬧鈴設為靜音。"
+
+msgid "IDS_ST_BODY_NONE"
+msgstr "無"
+
+msgid "IDS_ST_BODY_INTERNET"
+msgstr "瀏覽器"
+
+msgid "IDS_ST_BODY_GALLERY"
+msgstr "媒體瀏覽器"
+
+msgid "IDS_ST_BODY_DOUBLE_TAP_TO_MOVE_TO_CONTENT_T_TTS"
+msgstr "輕觸兩下以移動至內容。"
+
+msgid "IDS_MUSIC_BODY_SURROUND"
+msgstr "環迴"
+
+msgid "IDS_MUSIC_OPT_LYRICS_ABB"
+msgstr "歌詞"
+
+msgid "IDS_MUSIC_POP_AFTER_YOU_ADD_TRACKS_TO_MUSIC_ON_YOUR_MOBILE_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "在將曲目加入至流動裝置上的音樂後,將顯示於此。"
+
+msgid "IDS_MUSIC_BODY_SAMPLING_RATE"
+msgstr "取樣頻率"
+
+msgid "IDS_MUSIC_BODY_MARKED_AS_A_FAVOURITE"
+msgstr "已標記為我的最愛。"
+
+msgid "IDS_MUSIC_BODY_MUSIC"
+msgstr "音樂"
+
+msgid "IDS_MUSIC_BODY_NOT_MARKED_AS_A_FAVOURITE"
+msgstr "未標記為我的最愛。"
+
+msgid "IDS_MUSIC_HEADER_SEARCH_MUSIC_ABB"
+msgstr "搜尋音樂"
+
+msgid "IDS_MUSIC_POP_AUTO_RECOMMENDATION_DOES_NOT_SUPPORT_THIS_AUDIO_FILE"
+msgstr "自動建議不支援此音訊檔案。"
+
+msgid "IDS_MUSIC_POP_SORRY_THE_PLAYER_DOES_NOT_SUPPORT_THIS_TYPE_OF_AUDIO_FILE"
+msgstr "對不起,播放器不支援此類型音訊檔案。"
+
+msgid "IDS_MUSIC_BODY_FAVOURITES"
+msgstr "我的最愛"
+
+msgid "IDS_MUSIC_BODY_MOST_PLAYED"
+msgstr "最常播放"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_ADDED"
+msgstr "最近加入"
+
+msgid "IDS_MUSIC_OPT_CREATE_PLAYLIST"
+msgstr "建立播放清單"
+
+msgid "IDS_MUSIC_OPT_REMOVE"
+msgstr "移除"
+
+msgid "IDS_MUSIC_OPT_SETAS_CALLER_RINGTONE"
+msgstr "來電者鈴聲"
+
+msgid "IDS_MUSIC_TAB4_ARTISTS"
+msgstr "演出者"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD"
+msgstr "無法加入。"
+
+msgid "IDS_MUSIC_POP_UNABLE_CREATE_PLAYLIST"
+msgstr "無法建立播放清單。"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_GET_TAG"
+msgstr "無法取得標籤。"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_MORE_THAN_PD_MUSIC_FILE"
+msgstr "無法加入超過 %d 個音樂檔案。"
+
+msgid "IDS_MUSIC_BODY_ALBUM"
+msgstr "專輯"
+
+msgid "IDS_MUSIC_BODY_AUTHOR"
+msgstr "作家"
+
+msgid "IDS_MUSIC_BODY_COPYRIGHT"
+msgstr "版權"
+
+msgid "IDS_MUSIC_BODY_CREATE_PLAYLIST"
+msgstr "建立播放清單"
+
+msgid "IDS_MUSIC_BODY_DESCRIPTION"
+msgstr "描述"
+
+msgid "IDS_MUSIC_BODY_FORMAT"
+msgstr "格式"
+
+msgid "IDS_MUSIC_BODY_IMPOSSIBLE"
+msgstr "不可以"
+
+msgid "IDS_MUSIC_BODY_NO_PLAYLISTS"
+msgstr "無播放清單"
+
+msgid "IDS_MUSIC_BODY_TRACK_NUMBER"
+msgstr "曲目編號"
+
+msgid "IDS_MUSIC_POP_DELETE_Q"
+msgstr "刪除嗎?"
+
+msgid "IDS_MUSIC_POP_REMOVE_Q"
+msgstr "要移除嗎?"
+
+msgid "IDS_MUSIC_POP_UNABLE_RENAME_PLAYLIST"
+msgstr "無法重新命名播放清單。"
+
+msgid "IDS_MUSIC_TAB4_ALBUMS"
+msgstr "專輯"
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "正在加入..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "刪除 %d 張專輯嗎?"
+
+msgid "IDS_MUSIC_TAB4_PLAYLISTS"
+msgstr "播放列表"
+
+msgid "IDS_MUSIC_OPT_ADD"
+msgstr "加入"
+
+msgid "IDS_MUSIC_BODY_BIOGRAPHY"
+msgstr "簡介"
+
+msgid "IDS_MUSIC_BODY_CREDITS"
+msgstr "製作"
+
+msgid "IDS_MUSIC_BODY_DETAILS_MEADIA_INFO"
+msgstr "媒體資料"
+
+msgid "IDS_MUSIC_BODY_DISCOGRAPHY"
+msgstr "專輯目錄"
+
+msgid "IDS_MUSIC_BODY_LYRIC"
+msgstr "歌詞"
+
+msgid "IDS_MUSIC_BODY_POSSIBLE"
+msgstr "可以"
+
+msgid "IDS_MUSIC_BODY_REVIEW"
+msgstr "檢視"
+
+msgid "IDS_MUSIC_HEADER_TRACK_LIST"
+msgstr "曲目清單"
+
+msgid "IDS_MUSIC_BODY_ADD_TO_PLAYLIST"
+msgstr "加到播放清單"
+
+msgid "IDS_MUSIC_BODY_ARTIST"
+msgstr "演出者"
+
+msgid "IDS_MUSIC_BODY_FORWARDING"
+msgstr "轉寄"
+
+msgid "IDS_MUSIC_BODY_RECORDED_DATE"
+msgstr "Date of recording"
+
+msgid "IDS_MUSIC_BODY_PLAYLISTS"
+msgstr "播放清單"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_PLAYED"
+msgstr "最近播放"
+
+msgid "IDS_MUSIC_BODY_TRACK_LENGTH"
+msgstr "曲目長度"
+
+msgid "IDS_MUSIC_HEADER_NO_SONGS"
+msgstr "無歌曲"
+
+msgid "IDS_MUSIC_POP_THIS_TRACK_WILL_BE_DELETED"
+msgstr "此曲目將被刪除。"
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_TRACKS_WILL_BE_DELETED"
+msgstr "將刪除選擇的曲目。"
+
+msgid "IDS_MUSIC_POP_THIS_ARTIST_WILL_BE_DELETED"
+msgstr "此演出者將被刪除。"
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ARTISTS_WILL_BE_DELETED"
+msgstr "選擇的演出者將被刪除。"
+
+msgid "IDS_MUSIC_POP_ALL_ARTISTS_WILL_BE_DELETED"
+msgstr "所有演出者將被刪除。"
+
+msgid "IDS_MUSIC_POP_THIS_FOLDER_WILL_BE_DELETED"
+msgstr "此資料夾將被刪除。"
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_FOLDERS_WILL_BE_DELETED"
+msgstr "選擇的資料夾將被刪除。"
+
+msgid "IDS_MUSIC_POP_ALL_FOLDERS_WILL_BE_DELETED"
+msgstr "所有資料夾將被刪除。"
+
+msgid "IDS_MUSIC_POP_THIS_ALBUM_WILL_BE_DELETED"
+msgstr "此專輯將被刪除。"
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ALBUMS_WILL_BE_DELETED"
+msgstr "選擇的專輯將被刪除。"
+
+msgid "IDS_MUSIC_POP_ALL_ALBUMS_WILL_BE_DELETED"
+msgstr "所有專輯將被刪除。"
+
+msgid "IDS_MUSIC_POP_THIS_PLAYLIST_WILL_BE_DELETED"
+msgstr "此播放清單將被刪除。"
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_PLAYLISTS_WILL_BE_DELETED"
+msgstr "將刪除選擇的播放清單。"
+
+msgid "IDS_MUSIC_POP_ALL_PLAYLISTS_WILL_BE_DELETED"
+msgstr "所有播放清單將被刪除。"
+
+msgid "IDS_MUSIC_HEADER_SONGS"
+msgstr "歌曲"
+
+msgid "IDS_MUSIC_OPT_REORDER"
+msgstr "重新排序"
+
+msgid "IDS_MUSIC_OPT_SAVE_AS_PLAYLIST"
+msgstr "另存為播放清單"
+
+msgid "IDS_MUSIC_OPT_SETAS_ALARM_TONE"
+msgstr "鬧鐘鈴聲"
+
+msgid "IDS_MUSIC_POP_NOTHING_SELECTED"
+msgstr "無已選擇項目"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "無法播放。發生錯誤。"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_UNSUPPORTED_FILETYPE"
+msgstr "無法播放。不支援的檔案類型。"
+
+msgid "IDS_MUSIC_SK_SHARE"
+msgstr "分享"
+
+msgid "IDS_MUSIC_TAB4_CONDUCTORS"
+msgstr "指揮者"
+
+msgid "IDS_MUSIC_HEADER_SELECT_DEVICE"
+msgstr "選擇裝置"
+
+msgid "IDS_MUSIC_SK_VIEW_AS"
+msgstr "檢視方式"
+
+msgid "IDS_MUSIC_BODY_SOUNDEFFECTS_NORMAL"
+msgstr "正常"
+
+msgid "IDS_MUSIC_BODY_USER"
+msgstr "用戶"
+
+msgid "IDS_MUSIC_BODY_VOCAL_M_SOUNDEFFECT"
+msgstr "聲樂"
+
+msgid "IDS_MUSIC_MBODY_BASS_BOOST"
+msgstr "低音增強"
+
+msgid "IDS_MUSIC_MBODY_TREBLE_BOOST"
+msgstr "高音增強"
+
+msgid "IDS_MUSIC_BODY_CAFE_M_SOUNDEFFECT"
+msgstr "咖啡廳"
+
+msgid "IDS_MUSIC_OPT_VIRTUAL_71_CH"
+msgstr "虛擬數位 7.1 聲道"
+
+msgid "IDS_MUSIC_OPT_AFTER_15_MIN_ABB"
+msgstr "15 分鐘後"
+
+msgid "IDS_MUSIC_BODY_AFTER_30_MIN"
+msgstr "30 分鐘後"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HOUR"
+msgstr "1 小時後"
+
+msgid "IDS_MUSIC_POP_AFTER_1_HOUR_30_MIN"
+msgstr "1 小時 30 分鐘後"
+
+msgid "IDS_MUSIC_BODY_AFTER_2_HOURS"
+msgstr "2 小時後"
+
+msgid "IDS_MUSIC_BODY_MUSIC_AUTO_OFF"
+msgstr "自動關閉音樂"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES_ONLY"
+msgstr "此音效只適用於耳機及藍牙耳機模式。"
+
+msgid "IDS_MUSIC_TAB4_MUSIC_SQUARE"
+msgstr "音樂廣場"
+
+msgid "IDS_MUSIC_POP_NOT_ENOUGH_MUSIC_FILES_TO_PLAY_IN_MUSIC_SQUARE_AT_LEAST_PD_MUSIC_FILES_REQUIRED"
+msgstr "音樂廣場中要播放的音樂檔案不足。至少需要 %d 首音樂檔案。"
+
+msgid "IDS_MUSIC_BODY_PASSION_M_MOOD"
+msgstr "熱情"
+
+msgid "IDS_MUSIC_BODY_CALM_M_ADJECTIVE"
+msgstr "平靜"
+
+msgid "IDS_MUSIC_BODY_JOY_M_MOOD"
+msgstr "喜悅"
+
+msgid "IDS_MUSIC_BODY_LIBRARY_UPDATE"
+msgstr "資料庫更新"
+
+msgid "IDS_MUSIC_POP_UPDATE_LIBRARY_Q"
+msgstr "更新資料庫?"
+
+msgid "IDS_MUSIC_BODY_CHANGE_AXIS"
+msgstr "變更軸"
+
+msgid "IDS_MUSIC_ITAB4_GENRES"
+msgstr "類型"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_1_TRACK"
+msgstr "1 張專輯/1 首曲目"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_PD_TRACKS"
+msgstr "1 張專輯/%d 首曲目"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS_PD_TRACKS"
+msgstr "%d 張專輯/%d 首曲目"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_CONTROL_MUSIC_PLAYER_WITH_THE_VOICE_COMMANDS_P1SS_P2SS_P3SS_P4SS_P5SS_AND_P6SS"
+msgstr "可透過語音指令 %1$s、%2$s、%3$s、%4$s、%5$s 以及 %6$s 控制音樂播放器。"
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_PD_TRACKS"
+msgstr "隨機播放 %d 首曲目"
+
+msgid "IDS_MUSIC_BODY_MORE_INFO"
+msgstr "更多資料"
+
+msgid "IDS_MUSIC_HEADER_MY_MUSIC_M_APPLICATION_NAME"
+msgstr "我的音樂"
+
+msgid "IDS_MUSIC_OPT_LIST_VIEW"
+msgstr "清單檢視"
+
+msgid "IDS_MUSIC_OPT_PLAY_VIA_GROUP_PLAY"
+msgstr "透過 Group Play 播放"
+
+msgid "IDS_MUSIC_POP_TRACK_ADDED_TO_FAVOURITES"
+msgstr "曲目已加入至我的最愛。"
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_FAVOURITES"
+msgstr "從我的最愛中移除"
+
+msgid "IDS_MUSIC_BODY_NEW_M_LATEST"
+msgstr "新的"
+
+msgid "IDS_MUSIC_OPT_TRACKS"
+msgstr "曲目"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL"
+msgstr "縮圖"
+
+msgid "IDS_MUSIC_SK_LIST"
+msgstr "清單"
+
+msgid "IDS_MUSIC_SK_OPEN_PLAYLIST"
+msgstr "開啟播放清單"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALL"
+msgstr "全部播放"
+
+msgid "IDS_MUSIC_POP_SELECTED_LIST_EMPTY"
+msgstr "選擇的清單為空。"
+
+msgid "IDS_MUSIC_BODY_MOODS"
+msgstr "基調"
+
+msgid "IDS_MUSIC_BUTTON_YEARS"
+msgstr "年份"
+
+msgid "IDS_MUSIC_BODY_OLD"
+msgstr "舊的"
+
+msgid "IDS_MUSIC_BODY_MUSIC_SQUARE_ANALYSES_THE_CHARACTERISTICS_OF_MUSIC_FILES_STORED_ON_YOUR_DEVICE_AND_AUTOMATICALLY_CREATES_PLAYLISTS_MSG"
+msgstr "音樂廣場將分析儲存於裝置內的音樂檔案類型並自動建立播放清單。"
+
+msgid "IDS_MUSIC_BODY_PLAY_TRACKS_WITH_SIMILAR_CHARACTERISTICS_BY_SELECTING_A_SQUARE_ON_THE_SCREEN"
+msgstr "於螢幕上選擇一個方塊以播放音樂類型相似的播放清單。"
+
+msgid "IDS_MUSIC_BODY_VIEW_PLAYLIST_DETAILS_BY_TAPPING_AND_HOLDING_THE_SQUARE_CURRENTLY_BEING_PLAYED"
+msgstr "輕觸並按住目前播放的方塊以檢視播放清單詳情。"
+
+msgid "IDS_MUSIC_BODY_NEARBY_DEVICES"
+msgstr "附近裝置"
+
+msgid "IDS_MUSIC_POP_YOU_WILL_NEED_TO_UPDATE_THE_LIBRARY_IF_NEW_SONGS_HAVE_BEEN_ADDED"
+msgstr "若已加入新的歌曲,您需要更新資料庫。"
+
+msgid "IDS_MUSIC_BODY_NO_ALBUMS"
+msgstr "無專輯"
+
+msgid "IDS_MUSIC_BODY_NO_ARTISTS"
+msgstr "無演出者"
+
+msgid "IDS_MUSIC_OPT_PLAY_SPEED_ABB"
+msgstr "播放速度"
+
+msgid "IDS_MUSIC_BODY_CONCERT_HALL_M_SOUNDEFFECT"
+msgstr "音樂廳"
+
+msgid "IDS_MUSIC_OPT_ADD_TO"
+msgstr "加到"
+
+msgid "IDS_MUSIC_SK_VIEW"
+msgstr "檢視"
+
+msgid "IDS_MUSIC_OPT_LISTBY_RECENTLY_ADDED"
+msgstr "最近加入"
+
+msgid "IDS_MUSIC_BODY_NOT_USED"
+msgstr "未有使用"
+
+msgid "IDS_MUSIC_BODY_MAKE_AVAILABLE_OFFLINE"
+msgstr "選擇離線瀏覽"
+
+msgid "IDS_MUSIC_OPT_AFTER_P1SD_HRS_P2SD_MINS"
+msgstr "%1$d 小時 %2$d 分鐘後"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS"
+msgstr "%d 小時後"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_MINS"
+msgstr "%d 分鐘後"
+
+msgid "IDS_MUSIC_BODY_NO_FOLDERS"
+msgstr "無資料夾"
+
+msgid "IDS_MUSIC_BODY_NO_TRACKS"
+msgstr "無曲目"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS"
+msgstr "%d 張專輯"
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS"
+msgstr "%d 位演出者"
+
+msgid "IDS_MUSIC_BODY_PD_GENRES"
+msgstr "%d 種類型"
+
+msgid "IDS_MUSIC_BODY_PD_PLAYLISTS"
+msgstr "%d 個播放清單"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_ABB"
+msgstr "%d 首曲目"
+
+msgid "IDS_MUSIC_BODY_PLAYLIST"
+msgstr "播放清單"
+
+msgid "IDS_MUSIC_HEADER_SIMILAR_ALBUMS"
+msgstr "類似專輯"
+
+msgid "IDS_MUSIC_HEADER_TRACK"
+msgstr "曲目"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL_VIEW"
+msgstr "縮圖檢視"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "此音效僅於耳機模式中使用。"
+
+msgid "IDS_MUSIC_OPT_ALL_CONTENT_ABB2"
+msgstr "所有內容"
+
+msgid "IDS_MUSIC_BODY_A_NETWORK_CONNECTION_IS_REQUIRED_TO_PLAY_THIS_FILE_CHECK_YOUR_NETWORK_CONNECTION_AND_TRY_AGAIN"
+msgstr "需要網絡連線以播放此檔案。檢查您的網絡連線並重試。"
+
+msgid "IDS_MUSIC_POP_FILE_TYPE_NOT_SUPPORTED"
+msgstr "不支援的檔案類型"
+
+msgid "IDS_MUSIC_POP_UPDATING_ING"
+msgstr "正在更新..."
+
+msgid "IDS_MUSIC_OPT_SEARCH_ABB"
+msgstr "搜尋"
+
+msgid "IDS_MUSIC_OPT_SEARCH_BY"
+msgstr "搜尋按"
+
+msgid "IDS_MUSIC_BODY_RELATED_VIDEOS"
+msgstr "相關影片"
+
+msgid "IDS_MUSIC_BODY_SMART_VOLUME_ABB"
+msgstr "智能音量"
+
+msgid "IDS_MUSIC_BODY_THE_VOLUME_OF_ALL_TRACKS_WILL_BE_ADJUSTED_TO_LEVEL_PD"
+msgstr "所有曲目的音量將調整為級別 %d 。"
+
+msgid "IDS_MUSIC_HEADER_SMART_VOLUME_IS_ENABLED"
+msgstr "已啟用智能音量"
+
+msgid "IDS_MUSIC_OPT_CONNECTION_INFO_ABB"
+msgstr "連接資訊"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_PD_MINS"
+msgstr "1 小時 %d 分鐘後"
+
+msgid "IDS_MUSIC_BODY_ADAPT_SOUND_ABB"
+msgstr "Adapt Sound"
+
+msgid "IDS_MUSIC_BODY_MY_DEVICE"
+msgstr "我的裝置"
+
+msgid "IDS_MUSIC_POP_LISTENING_AT_A_HIGH_VOLUME_FOR_A_LONG_TIME_MAY_DAMAGE_YOUR_HEARING_RAISE_THE_VOLUME_ABOVE_SAFE_LEVELS_Q"
+msgstr "長時間以高音量收聽音樂可能導致聽力受損。要增加音量使其高於安全音量嗎?"
+
+msgid "IDS_MUSIC_POP_ALREADY_EXISTS"
+msgstr "已存在。"
+
+msgid "IDS_MUSIC_OPT_SCAN_FOR_NEARBY_DEVICES"
+msgstr "掃描附近裝置"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR"
+msgstr "1 小時後"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_1_MIN"
+msgstr "1 小時1分鐘後"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS_1_MIN"
+msgstr "%d 小時1分鐘後"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_MIN"
+msgstr "1 分鐘後"
+
+msgid "IDS_MUSIC_OPT_GO_TO_STORE"
+msgstr "前往商店"
+
+msgid "IDS_MUSIC_SK3_ADD_TRACKS"
+msgstr "加入曲目"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FROM_MUSIC_THEY_WILL_BE_SHOWN_HERE"
+msgstr "在您從 Music 下載曲目後,將顯示於此。"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_YOUR_FAVOURITES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "在加入曲目至我的最愛後,將顯示於此。"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_PLAY_TRACKS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "在您播放曲目後,將顯示於此。"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_PS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "在您加入曲目至 %s 後,將顯示於此。"
+
+msgid "IDS_MUSIC_BODY_NO_PURCHASED_CONTENT"
+msgstr "無購買內容"
+
+msgid "IDS_MUSIC_SK_SAVE_AS"
+msgstr "另存為"
+
+msgid "IDS_MUSIC_POP_MUSICPLAYER_UPDATING_FAILED"
+msgstr "更新失敗。"
+
+msgid "IDS_MUSIC_BODY_EXCITING_M_ADJECTIVE"
+msgstr "刺激"
+
+msgid "IDS_MUSIC_BODY_SEARCH_MY_MUSIC"
+msgstr "搜尋我的音樂"
+
+msgid "IDS_MUSIC_HEADER_CONNECTED_DEVICES"
+msgstr "已連接裝置"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST_PS"
+msgstr "我的播放清單 %s"
+
+msgid "IDS_MUSIC_BODY_NO_DEVICES"
+msgstr "無裝置"
+
+msgid "IDS_MUSIC_HEADER_AVAILABLE_DEVICES_ABB"
+msgstr "可用裝置"
+
+msgid "IDS_MUSIC_POP_SET"
+msgstr "設定"
+
+msgid "IDS_MUSIC_POP_REMOVE_FAILED"
+msgstr "移除失敗"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_USE_FAST_FORWARD_AND_REWIND_WHEN_NEARBY_DEVICES_ARE_ENABLED"
+msgstr "當附近裝置啟用時無法使用快進或快退。"
+
+msgid "IDS_MUSIC_OPT_SET_AS"
+msgstr "設定為"
+
+msgid "IDS_MUSIC_OPT_HEADPHONES_ABB"
+msgstr "耳機"
+
+msgid "IDS_MUSIC_OPT_SPEAKER"
+msgstr "揚聲器"
+
+msgid "IDS_MUSIC_BODY_1_SONG"
+msgstr "1 首歌"
+
+msgid "IDS_MUSIC_BODY_PD_SONGS"
+msgstr "%d 首歌"
+
+msgid "IDS_MUSIC_BODY_1_TRACK"
+msgstr "1 首曲目"
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_1_TRACK"
+msgstr "隨機播放 1 首曲目"
+
+msgid "IDS_MUSIC_POP_NO_MUSIC_FOUND_FOR_SELECTED_CELL"
+msgstr "選取的欄框找不到音樂"
+
+msgid "IDS_MUSIC_BODY_DO_NOT_SHOW_AGAIN"
+msgstr "不再顯示"
+
+msgid "IDS_MUSIC_BODY_VARIOUS_ARTISTS"
+msgstr "群星"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_HOME_SCREEN_ABB"
+msgstr "加入至主螢幕"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_FAVOURITES"
+msgstr "加到我的最愛"
+
+msgid "IDS_MUSIC_OPT_EDIT_TITLE"
+msgstr "編輯標題"
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_PERSONAL_STORAGE"
+msgstr "從個人儲存空間移除"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FOLDERS_WILL_BE_SHOWN"
+msgstr "在您下載曲目後,將顯示資料夾。"
+
+msgid "IDS_MUSIC_BODY_SETTINGS_VOLUME"
+msgstr "音量"
+
+msgid "IDS_MUSIC_BODY_REPEAT_OFF"
+msgstr "關閉重複"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_REPEAT_ALL"
+msgstr "全部重複"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_OFF"
+msgstr "隨機播放關"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_ON"
+msgstr "隨機播放開"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST"
+msgstr "我的播放清單"
+
+msgid "IDS_MUSIC_MBODY_DEFAULT_PLAYLISTS"
+msgstr "預設播放清單"
+
+msgid "IDS_MUSIC_BODY_DETAILS_RECORDING_DATE"
+msgstr "錄製日期"
+
+msgid "IDS_MUSIC_OPT_ALBUM_ART_ABB"
+msgstr "專輯封面"
+
+msgid "IDS_MUSIC_BODY_1_GENRE"
+msgstr "1 個類型"
+
+msgid "IDS_MUSIC_BODY_PD_FOLDERS"
+msgstr "%d 個資料夾"
+
+msgid "IDS_MUSIC_BODY_1_FOLDER"
+msgstr "1 個資料夾"
+
+msgid "IDS_MUSIC_BODY_1_ARTIST"
+msgstr "1 位演出者"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_M_MUSIC"
+msgstr "1 張專輯"
+
+msgid "IDS_MUSIC_BODY_1_PLAYLIST"
+msgstr "1 個播放清單"
+
+msgid "IDS_MUSIC_BODY_MUSIC_PLAYER"
+msgstr "音樂播放器"
+
+msgid "IDS_MUSIC_BUTTON_MOVE"
+msgstr "移動"
+
+msgid "IDS_MUSIC_BUTTON_AUTO_RECOMMENDATIONS"
+msgstr "自動建議"
+
+msgid "IDS_MUSIC_BUTTON_FROM_THE_BEGINNING"
+msgstr "從頭開始"
+
+msgid "IDS_MUSIC_HEADER_SUGGESTIONS_FOR_YOU"
+msgstr "給您的建議"
+
+msgid "IDS_MUSIC_OPT_SAVE"
+msgstr "儲存"
+
+msgid "IDS_MUSIC_TAB4_BASIC_M_EQUALIZING"
+msgstr "基本"
+
+msgid "IDS_MUSIC_BODY_INSTRUMENT"
+msgstr "樂器"
+
+msgid "IDS_MUSIC_BODY_TREBLE_M_EQUALISER"
+msgstr "高音"
+
+msgid "IDS_MUSIC_BODY_BASS_M_EQUALISER"
+msgstr "低音"
+
+msgid "IDS_MUSIC_BODY_NO_EFFECTS_ARE_APPLIED_IN_THIS_MODE_ABB"
+msgstr "此模式中未應用效果。"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_TIMBRE_OF_A_TUBE_AMP_ABB"
+msgstr "模擬真空管音色。"
+
+msgid "IDS_MUSIC_OPT_TUBE_AMP_EFFECT"
+msgstr "真空管放大效果"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_EFFECT_OF_VIRTUAL_71_CHANNEL_SURROUND_SOUND_ABB"
+msgstr "模擬虛擬 7.1 聲道環繞音效效果。"
+
+msgid "IDS_MUSIC_HEADER_SMALL_ROOM_M_REVERB_ABB"
+msgstr "小空間"
+
+msgid "IDS_MUSIC_HEADER_LARGE_ROOM_M_REVERB_ABB"
+msgstr "大空間"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_LARGE_ROOM_EG_A_THEATRE_ABB"
+msgstr "模擬大空間回音,例如劇院。"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_CONCERT_HALL_ABB"
+msgstr "模擬音樂廳回音。"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_SMALL_SPACE_EG_A_STUDIO_ABB"
+msgstr "模擬小空間回音,例如錄音室。"
+
+msgid "IDS_MUSIC_BUTTON_3D_CHN"
+msgstr "3D"
+
+msgid "IDS_MUSIC_BODY_CLARITY_M_SOUNDEFFECT"
+msgstr "清晰度"
+
+msgid "IDS_MUSIC_BUTTON_RESET"
+msgstr "重設"
+
+msgid "IDS_MUSIC_TAB_YEARS"
+msgstr "年份"
+
+msgid "IDS_MUSIC_TAB_GENRES"
+msgstr "類型"
+
+msgid "IDS_MUSIC_TAB_COMPOSERS"
+msgstr "作曲家"
+
+msgid "IDS_MUSIC_TAB_ALL_TRACKS"
+msgstr "所有曲目"
+
+msgid "IDS_MUSIC_SK3_GO_TO_QUICK_LIST"
+msgstr "前往快速清單"
+
+msgid "IDS_MUSIC_SK3_FIND"
+msgstr "尋找"
+
+msgid "IDS_MUSIC_SK3_ADD_TO_QUICK_LIST"
+msgstr "加到快速清單"
+
+msgid "IDS_MUSIC_POP_UNAUTHORISED_VIDEO_FILE_FOR_TV_OUT"
+msgstr "未授權的電視輸出影片檔案。"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_CREATE_MAXIMUM_NUMBER_OF_PLAYLISTS_REACHED"
+msgstr "無法建立。播放清單數目已達上限。"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTING_BLUETOOTH_HEADSET"
+msgstr "無法在連接藍牙耳機時調整音量。"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTED_TO_BLUETOOTH_HEADSET"
+msgstr "連接至藍牙耳機時無法調整音量。"
+
+msgid "IDS_MUSIC_POP_STOP_MUSIC_PLAYER_Q"
+msgstr "要停止音樂播放器嗎?"
+
+msgid "IDS_MUSIC_POP_PLEASE_EXIT_SILENT_MODE"
+msgstr "請退出靜音模式。"
+
+msgid "IDS_MUSIC_POP_NETWORK_FAILURE"
+msgstr "網絡故障"
+
+msgid "IDS_MUSIC_POP_MEMORY_CARD_LOADED"
+msgstr "已載入記憶卡。"
+
+msgid "IDS_MUSIC_POP_DEVICE_SETTINGS_ERROR"
+msgstr "裝置設定錯誤。"
+
+msgid "IDS_MUSIC_POP_COULD_NOT_FIND_A_MATCH_FOR_THE_SONG"
+msgstr "無法找到相符歌曲"
+
+msgid "IDS_MUSIC_POP_BUFFERING_MSTATUS"
+msgstr "正在緩衝"
+
+msgid "IDS_MUSIC_POP_BT_HEADSET_ONLY_SUPPORTS_NORMAL_EFFECTS_SETTING"
+msgstr "藍牙耳機只支援正常效果設定。"
+
+msgid "IDS_MUSIC_POP_APPLICATION_WILL_BE_CLOSED"
+msgstr "將會關閉應用程式。"
+
+msgid "IDS_MUSIC_POP_ADDED_GO_TO_WISH_LIST_Q"
+msgstr "已加入。前往願望清單嗎?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_THE_SERVICE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "存取服務可能會收費。要繼續嗎?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_STORE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "存取至商店可能會收費。繼續嗎?"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_ONLY_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES"
+msgstr "5.1 聲道音效, 只適用於耳機和藍牙耳機模式。"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "5.1 聲道音效只適用於耳機模式。"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECTS_NOT_SUPPORTED_BY_SPEAKER"
+msgstr "揚聲器不支援 5.1 聲道音效。"
+
+msgid "IDS_MUSIC_OPT_VIEW_BY_COVER_ART"
+msgstr "按專輯封面檢視"
+
+msgid "IDS_MUSIC_OPT_SEND_TRACK"
+msgstr "發送曲目"
+
+msgid "IDS_MUSIC_OPT_RATE_TRACK"
+msgstr "曲目評分"
+
+msgid "IDS_MUSIC_OPT_PLAYLIST_MOVE_TRACK_IN_PLAYLIST"
+msgstr "移動播放清單內的曲目"
+
+msgid "IDS_MUSIC_OPT_OPENPLAYLIST_CURRENT"
+msgstr "目前"
+
+msgid "IDS_MUSIC_OPT_DELETE_PLAYLIST"
+msgstr "刪除播放清單"
+
+msgid "IDS_MUSIC_OPT_BACKGROUND_PLAYING"
+msgstr "背景播放"
+
+msgid "IDS_MUSIC_HEADER_EFFECTS"
+msgstr "效果"
+
+msgid "IDS_MUSIC_BUTTON_BUY_NOW"
+msgstr "立即購買"
+
+msgid "IDS_MUSIC_BODY_WOW_HD"
+msgstr "Wow HD"
+
+msgid "IDS_MUSIC_BODY_WISHLIST"
+msgstr "願望清單"
+
+msgid "IDS_MUSIC_BODY_WIDE"
+msgstr "狂放"
+
+msgid "IDS_MUSIC_BODY_WHA_WHA"
+msgstr "嘩嘩聲"
+
+msgid "IDS_MUSIC_BODY_VIBE_WOOFER"
+msgstr "共鳴效果低音喇叭"
+
+msgid "IDS_MUSIC_BODY_TREMOLO"
+msgstr "震音"
+
+msgid "IDS_MUSIC_BODY_TAP_TWICE_TO_PLAY_PAUSE_MUSIC"
+msgstr "輕觸兩次可播放/暫停音樂。"
+
+msgid "IDS_MUSIC_BODY_SHARE_TRACK_VIA_BLUETOOTH"
+msgstr "透過藍牙共享曲目"
+
+msgid "IDS_MUSIC_BODY_SETUPWIZARD_WELCOME_TO_THE_MUSIC_SETUP_WIZARD_CONTINUE_Q"
+msgstr "歡迎使用音樂設定精靈。以下畫面將協助您設定手機。要繼續嗎?"
+
+msgid "IDS_MUSIC_BODY_QUICK_LIST"
+msgstr "快速清單"
+
+msgid "IDS_MUSIC_BODY_PLAYINGSETTINGS_SOUND_EFFECTS"
+msgstr "音效"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_ALL"
+msgstr "全部"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_1"
+msgstr "1"
+
+msgid "IDS_MUSIC_BODY_PLAYERSETTINGS_VOLUME"
+msgstr "音量"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_SELECTED"
+msgstr "已選擇 %d 首曲目。"
+
+msgid "IDS_MUSIC_BODY_NO_PODCASTS"
+msgstr "沒有播客"
+
+msgid "IDS_MUSIC_BODY_FIND_SIMILAR"
+msgstr "尋找類似"
+
+msgid "IDS_MUSIC_BODY_BACKGROUND_PLAY"
+msgstr "背景播放"
+
+msgid "IDS_MUSIC_BODY_51_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "只有在關閉音效時才可啟動 5.1 頻道。"
+
+msgid "IDS_MUSIC_TAB4_PODCASTS"
+msgstr "Podcasts"
+
+msgid "IDS_MUSIC_SK2_EDIT_IMAGE"
+msgstr "編輯圖像"
+
+msgid "IDS_MUSIC_POP_PLAYING_ANY_SOUNDS_WILL_STOP_AND_SAVE_YOUR_VOICE_RECORDING_PLAY_Q"
+msgstr "播放任何聲音將停止並儲存您的語音錄製。播放嗎?"
+
+msgid "IDS_MUSIC_POP_MAXIMUM_NUMBER_OF_ITEMS_HPD_SELECTED"
+msgstr "已選擇項目數目上限 (%d)。"
+
+msgid "IDS_MUSIC_POP_BLUETOOTH_DISCONNECTED"
+msgstr "藍牙連接已中斷"
+
+msgid "IDS_MUSIC_POP_5_1_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "只有在關閉音效時,才可啟動 5.1 聲道。"
+
+msgid "IDS_MUSIC_OPT_TAKE_PICTURE"
+msgstr "拍攝圖片"
+
+msgid "IDS_MUSIC_OPT_SHOW_MUSIC_VIEW_ABB"
+msgstr "顯示音樂視圖"
+
+msgid "IDS_MUSIC_OPT_PAUSE"
+msgstr "暫停"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALBUM"
+msgstr "播放專輯"
+
+msgid "IDS_MUSIC_OPT_LIST_BY"
+msgstr "排列按"
+
+msgid "IDS_MUSIC_OPT_HISTORY"
+msgstr "歷程記錄"
+
+msgid "IDS_MUSIC_OPT_HIDE_MUSIC_VIEW_ABB"
+msgstr "隱藏音樂視圖"
+
+msgid "IDS_MUSIC_OPT_FIND_TAG"
+msgstr "尋找標籤"
+
+msgid "IDS_MUSIC_OPT_DROPBOX_CONTENT_ABB"
+msgstr "Dropbox 內容"
+
+msgid "IDS_MUSIC_OPT_CONTENT_ON_PHONE_ABB"
+msgstr "手機上的內容"
+
+msgid "IDS_MUSIC_OPT_CHANGE_IMAGE"
+msgstr "更改圖像"
+
+msgid "IDS_MUSIC_HEADER_DELETE_DROPBOX_DATA_ABB"
+msgstr "刪除 Dropbox 數據"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_STREAM_YOUR_MUSIC_TO_DEVICES_USING_ALLSHARE"
+msgstr "您可以使用 AllShare 將音樂串流至裝置。"
+
+msgid "IDS_MUSIC_BODY_VALIDITY"
+msgstr "有效期"
+
+msgid "IDS_MUSIC_BODY_TYPE_CNOUN"
+msgstr "類型"
+
+msgid "IDS_MUSIC_BODY_THIS_WILL_DELETE_THE_FILE_FROM_THE_SERVER_AND_ANY_CONNECTED_DEVICES_AS_WELL"
+msgstr "這將從伺服器與任何已連接的裝置刪除檔案。"
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_ARTISTS"
+msgstr "演出者"
+
+msgid "IDS_MUSIC_BODY_PLAYINGDETAILS_ALBUM_ART"
+msgstr "專輯封面"
+
+msgid "IDS_MUSIC_BODY_OTHER_CONTENTS"
+msgstr "其他內容"
+
+msgid "IDS_MUSIC_BODY_NAME_TOO_LONG"
+msgstr "名稱太長"
+
+msgid "IDS_MUSIC_BODY_MUSIC_CLARITY"
+msgstr "清晰音樂"
+
+msgid "IDS_MUSIC_BODY_HIGH_VOLUMES_MAY_HARM_YOUR_HEARING_IF_YOU_LISTEN_FOR_A_LONG_TIME"
+msgstr "長期聆聽高音量會損害您的聽力。"
+
+msgid "IDS_MUSIC_BODY_AVAILABLE_USES"
+msgstr "可供使用"
+
+msgid "IDS_MUSIC_TPOP_SOUND_EFFECTS_ONLY_AVAILABLE_WHILE_HEADPHONES_CONNECTED"
+msgstr "音效僅於連接耳機時可用。"
+
+msgid "IDS_ST_OPT_ADD_TO_YOUR_PERSONAL_STORAGE"
+msgstr "加入至您的個人儲存空間"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_YOUR_PERSONAL_STORAGE"
+msgstr "從個人儲存空間移除"
+
+msgid "IDS_ST_BODY_CONTEXTUAL_POP_UP_T_TALKBACK"
+msgstr "關聯式彈出視窗"
+
+msgid "IDS_ST_BODY_A_CONTEXTUAL_POP_UP_IS_OPEN_DOUBLE_TAP_TO_CLOSE_IT_T_TALKBACK"
+msgstr "關聯式視窗已開啟。輕觸兩下以關閉。"
+
+msgid "IDS_ST_BODY_REPEAT_ONE"
+msgstr "重複一次"
+
+msgid "IDS_ST_BUTTON_MOVING_ING"
+msgstr "移動中…"
+
+msgid "IDS_HS_BODY_SELECT_UP_TO_PD_ITEMS"
+msgstr "選擇最多 %d 個項目。"
+
+msgid "IDS_CAM_BODY_TAB_T_TTS"
+msgstr "標籤"
+
+msgid "IDS_DLNA_OPT2_CHANGE_PLAYER"
+msgstr "更改播放器"
+
+msgid "IDS_BR_SK_TABS"
+msgstr "標籤"
+
+msgid "IDS_MF_BODY_DROPBOX_ABB"
+msgstr "Dropbox"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "自動建議可從聲音檔案提取精彩部分。"
+
+msgid "IDS_MF_BODY_PARENT_RATING"
+msgstr "家長評分"
+
+msgid "IDS_VR_POP_FILE_NOT_FOUND"
+msgstr "找不到檔案"
+
+msgid "IDS_PB_POP_CALLER_RINGTONE_SAVED"
+msgstr "來電者鈴聲已儲存"
+
+msgid "IDS_MUSIC_BODY_BIT_DEPTH"
+msgstr "位元深度"
+
+msgid "IDS_MUSIC_BODY_SIZE"
+msgstr "大小"
+
+msgid "IDS_MF_HEADER_PD_SELECTED"
+msgstr "%d 已選擇"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_THIS_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "在加入曲目至此裝置後,將顯示於此。"
+
+msgid "IDS_MUSIC_TMBODY_LENGTH"
+msgstr "長度"
+
+msgid "IDS_MUSIC_POP_1_FOLDER_WILL_BE_DELETED"
+msgstr "1 個資料夾將被刪除。"
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "無內容"
+
+msgid "IDS_MUSIC_ITAB4_FOLDERS"
+msgstr "資料夾"
+
+msgid "IDS_MUSIC_HEADER_MY_PLAYLISTS_ABB"
+msgstr "我的播放清單"
+
+msgid "IDS_MP_BODY_SOUND_PLAYER"
+msgstr "聲音播放器"
+
+msgid "IDS_MUSIC_OPT_SETTINGS"
+msgstr "設定"
+
+msgid "IDS_MUSIC_POP_DELETING"
+msgstr "正在刪除..."
+
+msgid "IDS_MUSIC_POP_1_TRACK_WILL_BE_DELETED"
+msgstr "將刪除 1 首曲目。"
+
+msgid "IDS_MUSIC_POP_ALL_TRACKS_WILL_BE_DELETED"
+msgstr "所有曲目將被刪除。"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_WILL_BE_DELETED"
+msgstr "將刪除 %d 首曲目。"
+
+msgid "IDS_MUSIC_POP_1_PLAYLIST_WILL_BE_DELETED"
+msgstr "1 個播放清單將被刪除。"
+
+msgid "IDS_MUSIC_POP_PD_PLAYLISTS_WILL_BE_DELETED"
+msgstr "%d 個播放清單將被刪除。"
+
+msgid "IDS_MUSIC_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "將刪除 %d 個相簿。"
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS_WILL_BE_DELETED"
+msgstr "%d 位演出者將被刪除。"
+
+msgid "IDS_MUSIC_POP_PD_FOLDERS_WILL_BE_DELETED"
+msgstr "%d 個資料夾將被刪除。"
+
+msgid "IDS_ST_POP_CONNECTION_FAILED"
+msgstr "連接失敗"
+
+msgid "IDS_MUSIC_BODY_CLASSIC"
+msgstr "古典"
+
+msgid "IDS_MUSIC_BODY_ROCK"
+msgstr "搖滾"
+
+msgid "IDS_MUSIC_BODY_JAZZ"
+msgstr "爵士"
+
+msgid "IDS_MUSIC_BODY_POP"
+msgstr "流行"
+
+msgid "IDS_MUSIC_BODY_AUTO"
+msgstr "自動"
+
+msgid "IDS_MUSIC_POP_CURRENT_SOUND_EFFECT_NOT_SUPPORTED_BY_HDMI"
+msgstr "HDMI 不支援目前音效。"
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_BLUETOOTH"
+msgstr "藍牙不支援音效。"
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_LINE_OUT"
+msgstr "線路輸出不支援音效。"
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_HDMI"
+msgstr "HDMI 不支援音效。"
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EFFECT"
+msgstr "真空管"
+
+msgid "IDS_MUSIC_BODY_CUSTOM"
+msgstr "自訂"
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EQUALISER_ABB"
+msgstr "真空管"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d 首曲目已加入至播放清單。"
+
+msgid "IDS_MUSIC_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "已加入 1 首曲目至播放清單"
+
+msgid "IDS_MUSIC_HEADER_ADD_TRACKS_TO_PLAYLIST_ABB"
+msgstr "加入曲目至播放清單"
+
+msgid "IDS_MUSIC_POP_PS_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "%s 已被使用。輸入其他名稱。"
+
+msgid "IDS_MUSIC_TMBODY_DATE_OF_RECORDING"
+msgstr "錄製日期"
+
+msgid "IDS_MBP_TPOP_TRACK_SET_AS_ALARM_TONE"
+msgstr "曲目已設定為鬧鐘鈴聲。"
+
+msgid "IDS_MUSIC_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "無搜尋結果"
+
+msgid "IDS_MUSIC_OPT_DEFAULT_RINGTONE_ABB"
+msgstr "預設鈴聲"
+
+msgid "IDS_MUSIC_TPOP_TRACK_SET_AS_CALLER_RINGTONE"
+msgstr "曲目已設定為來電者鈴聲。"
+
+msgid "IDS_MP_TPOP_TRACK_SET_AS_RINGTONE"
+msgstr "曲目已設定為鈴聲。"
+
+msgid "IDS_DLNA_BODY_ADD_TO_NOW_PLAYING_LIST"
+msgstr "加到目前播放清單"
+
+msgid "IDS_MUSIC_TPOP_EQUALISER_SETTINGS_WILL_BE_APPLIED_WHILE_PLAYING_MUSIC"
+msgstr "均衡器設定將於播放音樂時應用。"
+
+msgid "IDS_ST_BODY_ALERT"
+msgstr "提醒"
+
+msgid "IDS_IV_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "將刪除 1 個相簿。"
+
+msgid "IDS_MUSIC_OPT_SD_CARD"
+msgstr "SD 卡"
+
+msgid "IDS_MUSIC_SBODY_DEVICE_STORAGE"
+msgstr "裝置儲存空間"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE"
+msgstr "播放清單名稱已被使用。"
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_PD"
+msgstr "播放清單 %d"
+
+msgid "IDS_MUSIC_HEADER_CREATE"
+msgstr "建立"
+
+msgid "IDS_MUSIC_HEADER_EQUALISER_PRESET_ABB"
+msgstr "均衡器預設"
+
+msgid "IDS_MUSIC_OPT_AUTOMATIC_M_EQUALIZER_EFFECT"
+msgstr "自動"
+
+msgid "IDS_MUSIC_OPT_CLASSICAL_M_EQUALIZER_EFFECT"
+msgstr "古典"
+
+msgid "IDS_MUSIC_HEADER_ENVIRONMENT_EFFECT_ABB"
+msgstr "環境效果"
+
+msgid "IDS_VIDEO_POP_THE_FILE_TYPE_IS_NOT_SUPPORTED"
+msgstr "不支援此檔案類型。"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_CREATE_PLAYLISTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "在您建立播放清單後,將顯示於此。"
+
+msgid "IDS_ST_HEADER_SELECT_AUDIO_DEVICE_ABB"
+msgstr "選擇音訊裝置"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "播放清單名稱已被使用。請輸入其他名稱。"
+
+msgid "IDS_MUSIC_HEADER_SOUNDALIVE_ABB3"
+msgstr "SoundAlive"
+
+msgid "IDS_MUSIC_OPT_NOW_PLAYING_LIST"
+msgstr "目前播放清單"
+
+msgid "IDS_MUSIC_OPT_SHOW_LYRICS"
+msgstr "顯示歌詞"
+
+msgid "IDS_MUSIC_OPT_HIDE_LYRICS"
+msgstr "隱藏歌詞"
+
+msgid "IDS_MUSIC_TPOP_UNABLE_TO_PLAY_MUSIC_DURING_CALLS"
+msgstr "在通話期間無法播放音樂。"
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "刪除"
+
+msgid "IDS_MUSIC_HEADER_SELECT"
+msgstr "選擇"
+
+msgid "IDS_TPLATFORM_OPT_NFC"
+msgstr "NFC"
+
+msgid "IDS_MUSIC_HEADER_UNABLE_TO_PLAY_TRACK"
+msgstr "無法播放曲目"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "完成"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "取消"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "刪除"
+
+msgid "IDS_MUSIC_POP_RENAME"
+msgstr "重新命名"
+
+msgid "IDS_MUSIC_OPT_MESSAGE"
+msgstr "訊息"
+
+msgid "IDS_MUSIC_SK_OK"
+msgstr "確定"
+
+msgid "IDS_MUSIC_SK_CANCEL"
+msgstr "取消"
+
+msgid "IDS_MUSIC_BUTTON_REFRESH"
+msgstr "重新整理"
+
+msgid "IDS_MUSIC_BODY_SELECT_ALL"
+msgstr "選擇全部"
+
+msgid "IDS_MUSIC_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_MUSIC_POP_DELETED"
+msgstr "已刪除。"
+
+msgid "IDS_MUSIC_OPT_STOP"
+msgstr "停止"
+
+msgid "IDS_MUSIC_BODY_UNKNOWN"
+msgstr "未知"
+
+msgid "IDS_MUSIC_BODY_TITLE"
+msgstr "標題"
+
+msgid "IDS_MUSIC_OPT_SENDVIA_EMAIL"
+msgstr "電子郵件"
+
+msgid "IDS_MUSIC_OPT_BLUETOOTH"
+msgstr "藍牙"
+
+msgid "IDS_MUSIC_HEADER_DOWNLOAD"
+msgstr "下載"
+
+msgid "IDS_MUSIC_POP_LOW_BATTERY"
+msgstr "電量不足"
+
+msgid "IDS_MUSIC_HEADER_AUDIO_DEVICE"
+msgstr "音訊裝置"
+
+msgid "IDS_MUSIC_HEADER_DETAILS"
+msgstr "詳細資料"
+
+msgid "IDS_MUSIC_OPT_END"
+msgstr "結束"
+
+msgid "IDS_MUSIC_OPT_EDIT"
+msgstr "編輯"
+
+msgid "IDS_CAM_HEADER_UPDATED"
+msgstr "已更新。"
+
+msgid "IDS_MUSIC_POP_REMOVED"
+msgstr "已移除"
+
+msgid "IDS_MUSIC_OPT_SELECTED"
+msgstr "已選擇"
+
+msgid "IDS_ST_BUTTON_SCAN"
+msgstr "掃描"
+
+msgid "IDS_MF_POP_ERROR"
+msgstr "錯誤"
+
+msgid "IDS_MF_POP_MEMORY_FULL"
+msgstr "記憶體已滿"
+
+msgid "IDS_MUSIC_MBODY_QUEUE"
+msgstr "隊列"
+
+msgid "IDS_MUSIC_OPT_VOLUME"
+msgstr "音量"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE"
+msgstr "隨機播放"
+
+msgid "IDS_MUSIC_OPT_REPEAT"
+msgstr "重複"
+
+msgid "IDS_COM_BODY_DETAILS"
+msgstr "Details"
+
+msgid "IDS_COM_BODY_DETAILS_TITLE"
+msgstr "Title"
+
+msgid "IDS_COM_BODY_EDIT"
+msgstr "Edit"
+
+msgid "IDS_COM_BODY_EMAIL"
+msgstr "Email"
+
+msgid "IDS_COM_BODY_END"
+msgstr "End"
+
+msgid "IDS_COM_BODY_FOLDERS"
+msgstr "Folders"
+
+msgid "IDS_COM_BODY_GALLERY"
+msgstr "Gallery"
+
+msgid "IDS_COM_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_COM_BODY_LOADING"
+msgstr "Loading..."
+
+msgid "IDS_COM_BODY_LOW_BATTERY"
+msgstr "Low battery."
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Message"
+
+msgid "IDS_COM_BODY_MUSIC"
+msgstr "Music"
+
+msgid "IDS_COM_BODY_NFC"
+msgstr "NFC"
+
+msgid "IDS_COM_BODY_NO_CONTENTS"
+msgstr "No content"
+
+msgid "IDS_COM_BODY_PAUSE"
+msgstr "Pause"
+
+msgid "IDS_COM_BODY_PD_SELECTED"
+msgstr "%d selected."
+
+msgid "IDS_COM_BODY_PREVIOUS"
+msgstr "Previous"
+
+msgid "IDS_COM_BODY_RESET_A"
+msgstr "Reset"
+
+msgid "IDS_COM_BODY_SELECTED"
+msgstr "Selected"
+
+msgid "IDS_COM_BODY_SELECT_ALL"
+msgstr "Select all"
+
+msgid "IDS_COM_BODY_SETTINGS"
+msgstr "Settings"
+
+msgid "IDS_COM_BODY_TIME"
+msgstr "Time"
+
+msgid "IDS_COM_BODY_UNABLE_TO_ADD"
+msgstr "Unable to add."
+
+msgid "IDS_COM_BODY_UNKNOWN"
+msgstr "Unknown"
+
+msgid "IDS_COM_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_COM_BUTTON_SCAN"
+msgstr "Scan"
+
+msgid "IDS_COM_BUTTON_SHARE"
+msgstr "Share"
+
+msgid "IDS_COM_HEADER_AUDIO_DEVICE_ABB"
+msgstr "Audio device"
+
+msgid "IDS_COM_OPT_ADDED"
+msgstr "Added."
+
+msgid "IDS_COM_OPT_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_POP_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_POP_CONNECTION_FAILED"
+msgstr "Connection failed."
+
+msgid "IDS_COM_POP_DELETED"
+msgstr "Deleted."
+
+msgid "IDS_COM_POP_DELETE_Q"
+msgstr "Delete?"
+
+msgid "IDS_COM_POP_DONE"
+msgstr "Done"
+
+msgid "IDS_COM_POP_DOWNLOADING"
+msgstr "Downloading..."
+
+msgid "IDS_COM_POP_ERROR"
+msgstr "Error."
+
+msgid "IDS_COM_POP_FAILED"
+msgstr "Failed."
+
+msgid "IDS_COM_POP_FILE_NOT_EXIST"
+msgstr "This file does not exist."
+
+msgid "IDS_COM_POP_FILE_NOT_FOUND"
+msgstr "File not found."
+
+msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximum number of characters reached."
+
+msgid "IDS_COM_POP_MEMORY_FULL"
+msgstr "Memory full."
+
+msgid "IDS_COM_POP_REMOVED"
+msgstr "Removed."
+
+msgid "IDS_COM_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Unable to use during Mass storage mode."
+
+msgid "IDS_COM_POP_UPDATED"
+msgstr "Updated."
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_SK_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_SK_DOWNLOAD"
+msgstr "Download"
+
+msgid "IDS_COM_SK_NEW"
+msgstr "New"
+
+msgid "IDS_COM_SK_NEXT"
+msgstr "Next"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_SK_REFRESH"
+msgstr "Refresh"
+
+msgid "IDS_COM_SK_REMOVE"
+msgstr "Remove"
+
+msgid "IDS_COM_SK_SAVE"
+msgstr "Save"
+
+msgid "IDS_COM_SK_SELECT"
+msgstr "Select"
+
+msgid "IDS_COM_SK_SET"
+msgstr "Set"
+
+msgid "IDS_COM_SK_STOP"
+msgstr "Stop"
+
+
+msgid "IDS_MH_BODY_THE_PLAYLIST_NAME_PS_IS_ALREADY_IN_USE"
+msgstr "The playlist name %s is already in use."
+
+msgid "IDS_MH_BODY_TOTAL"
+msgstr "Total"
+
+msgid "IDS_MH_MBODY_RECENTLY_ADDED_M_SONG"
+msgstr "Recently added"
+
+msgid "IDS_MH_OPT_MORE_INFO_ABB"
+msgstr "More info"
+
+msgid "IDS_MH_POP_ALARM_TONE_SET"
+msgstr "Alarm tone set."
+
+msgid "IDS_MH_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 track added to playlist."
+
+msgid "IDS_MH_TPOP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d tracks added to playlist."
+
+msgid "IDS_MUSIC_OPT_RENAME"
+msgstr "Rename"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Unable to play during call."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "超出檔案大小上限。"
+
+msgid "IDS_CAM_TPOP_UNABLE_TO_PLAY_MUSIC_WHILE_RECORDING_AUDIO_OR_VIDEO"
+msgstr "錄製音訊或影片時無法播放音樂。"
+
--- /dev/null
+msgid "IDS_ST_BODY_LOADING_ING"
+msgstr "正在載入..."
+
+msgid "IDS_GALLERY_OPT_PRIVATE_M_CONTENT"
+msgstr "隱私"
+
+msgid "IDS_MF_BODY_TIME"
+msgstr "時間"
+
+msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
+msgstr "此檔案不存在。"
+
+msgid "IDS_MUSIC_POP_PHONE_RINGTONE"
+msgstr "電話鈴聲"
+
+msgid "IDS_MUSIC_BODY_DURATION"
+msgstr "長度"
+
+msgid "IDS_MUSIC_BODY_MUSIC_LOCATION"
+msgstr "位置"
+
+msgid "IDS_MUSIC_BODY_SET_AS_M_RINGTONE"
+msgstr "設定為"
+
+msgid "IDS_ST_OPT_ADD_TO_PERSONAL_PAGE"
+msgstr "新增至私密檔案夾"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_PERSONAL_PAGE_ABB"
+msgstr "從私密檔案夾移除"
+
+msgid "IDS_ST_POP_MOVE_TO_NORMAL_STORAGE"
+msgstr "移至一般儲存裝置"
+
+msgid "IDS_ST_POP_MOVE_TO_PERSONAL_STORAGE"
+msgstr "移至個人儲存裝置"
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEMS_WILL_BE_MOVED_TO_PS"
+msgstr "選取的項目將被移至 %s。"
+
+msgid "IDS_ST_POP_THE_SELECTED_ITEM_WILL_BE_MOVED_TO_PS"
+msgstr "選取的項目將被移至 %s。"
+
+msgid "IDS_VR_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "無法使用大容量存儲模式。"
+
+msgid "IDS_MUSIC_POP_RINGTONE_ADDED"
+msgstr "鈴聲已加入。"
+
+msgid "IDS_CAM_BODY_BUTTON_T_TTS"
+msgstr "按鍵"
+
+msgid "IDS_MUSIC_HEADER_SELECT_ITEMS"
+msgstr "選擇項目"
+
+msgid "IDS_ST_BODY_ADVANCED"
+msgstr "進階"
+
+msgid "IDS_ST_SK_PREVIOUS"
+msgstr "上一步"
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "關閉"
+
+msgid "IDS_MUSIC_POP_ADDED"
+msgstr "已新增。"
+
+msgid "IDS_MUSIC_POP_FAILED"
+msgstr "失敗。"
+
+msgid "IDS_MUSIC_BODY_NO_SEARCH_RESULTS"
+msgstr "無搜尋結果"
+
+msgid "IDS_MUSIC_SK_DONE"
+msgstr "完成"
+
+msgid "IDS_MUSIC_BODY_NO_ITEMS"
+msgstr "無項目"
+
+msgid "IDS_BR_OPT_ADD_TO_HOME"
+msgstr "新增至首頁"
+
+msgid "IDS_BR_SK_NEXT"
+msgstr "下一步"
+
+msgid "IDS_BR_BODY_DOWNLOADING_ING"
+msgstr "正在下載..."
+
+msgid "IDS_IV_BODY_FAVOURITE"
+msgstr "我的最愛"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_PERSONAL_STORAGE"
+msgstr "新增至個人儲存空間"
+
+msgid "IDS_DLNA_POP_DISCONNECTED_FROM_PS_CHECK_THE_NETWORK_STATUS_AND_THE_CONNECTED_DEVICE"
+msgstr "中斷與 %s 的連接。檢查網路狀態與連接的裝置。"
+
+msgid "IDS_DLNA_OPT_VIA_SCREEN_MIRRORING_ABB"
+msgstr "經由 Screen mirroring"
+
+msgid "IDS_DLNA_OPT_VIA_HOME_NETWORK_ABB"
+msgstr "經家用網路"
+
+msgid "IDS_IV_POP_ENTRY_IS_EMPTY"
+msgstr "項目為空。"
+
+msgid "IDS_FM_POP_UNAVAILABLE_DURING_CALL"
+msgstr "通話期間無法使用。"
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "已達字元數上限。"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_SHARE_DRM_FILE"
+msgstr "無法共享 DRM 文件。"
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "正在移除..."
+
+msgid "IDS_MUSIC_HEADER_PD_DEVICES"
+msgstr "%d 個裝置"
+
+msgid "IDS_MUSIC_BUTTON_ENABLE_MOTION"
+msgstr "啟用動作"
+
+msgid "IDS_MUSIC_BUTTON_DONT_ASK_AGAIN"
+msgstr "不要再詢問"
+
+msgid "IDS_MUSIC_BODY_NO_RESULTS_FOUND"
+msgstr "無搜尋結果。"
+
+msgid "IDS_VPL_OPT_HDMI"
+msgstr "HDMI"
+
+msgid "IDS_MUSIC_BODY_TURN_PHONE_OVER_TO_MUTE_INCOMING_CALLS_MESSAGE_ALERTS_AND_ALARMS"
+msgstr "翻轉手機以將來電、訊息提醒及鬧鈴設為靜音。"
+
+msgid "IDS_ST_BODY_NONE"
+msgstr "無"
+
+msgid "IDS_ST_BODY_INTERNET"
+msgstr "網際網路"
+
+msgid "IDS_ST_BODY_GALLERY"
+msgstr "媒體瀏覽器"
+
+msgid "IDS_ST_BODY_DOUBLE_TAP_TO_MOVE_TO_CONTENT_T_TTS"
+msgstr "輕觸兩下來移動至內容。"
+
+msgid "IDS_MUSIC_BODY_SURROUND"
+msgstr "環繞"
+
+msgid "IDS_MUSIC_OPT_LYRICS_ABB"
+msgstr "歌詞"
+
+msgid "IDS_MUSIC_POP_AFTER_YOU_ADD_TRACKS_TO_MUSIC_ON_YOUR_MOBILE_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "新增曲目至行動裝置上的音樂後,將顯示於此。"
+
+msgid "IDS_MUSIC_BODY_SAMPLING_RATE"
+msgstr "取樣頻率"
+
+msgid "IDS_MUSIC_BODY_MARKED_AS_A_FAVOURITE"
+msgstr "已標記為我的最愛"
+
+msgid "IDS_MUSIC_BODY_MUSIC"
+msgstr "音樂"
+
+msgid "IDS_MUSIC_BODY_NOT_MARKED_AS_A_FAVOURITE"
+msgstr "未標記為我的最愛"
+
+msgid "IDS_MUSIC_HEADER_SEARCH_MUSIC_ABB"
+msgstr "搜尋音樂"
+
+msgid "IDS_MUSIC_POP_AUTO_RECOMMENDATION_DOES_NOT_SUPPORT_THIS_AUDIO_FILE"
+msgstr "自動建議不支援此音訊檔案。"
+
+msgid "IDS_MUSIC_POP_SORRY_THE_PLAYER_DOES_NOT_SUPPORT_THIS_TYPE_OF_AUDIO_FILE"
+msgstr "很抱歉,該播放器不支援此類型的音訊檔案。"
+
+msgid "IDS_MUSIC_BODY_FAVOURITES"
+msgstr "我的最愛"
+
+msgid "IDS_MUSIC_BODY_MOST_PLAYED"
+msgstr "最常播放"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_ADDED"
+msgstr "最近加入"
+
+msgid "IDS_MUSIC_OPT_CREATE_PLAYLIST"
+msgstr "建立播放清單"
+
+msgid "IDS_MUSIC_OPT_REMOVE"
+msgstr "移除"
+
+msgid "IDS_MUSIC_OPT_SETAS_CALLER_RINGTONE"
+msgstr "來電者鈴聲"
+
+msgid "IDS_MUSIC_TAB4_ARTISTS"
+msgstr "演出者"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD"
+msgstr "無法加入。"
+
+msgid "IDS_MUSIC_POP_UNABLE_CREATE_PLAYLIST"
+msgstr "無法建立播放清單。"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_GET_TAG"
+msgstr "無法取得標籤。"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_MORE_THAN_PD_MUSIC_FILE"
+msgstr "無法加入超過 %d 個音樂檔案。"
+
+msgid "IDS_MUSIC_BODY_ALBUM"
+msgstr "專輯"
+
+msgid "IDS_MUSIC_BODY_AUTHOR"
+msgstr "作者"
+
+msgid "IDS_MUSIC_BODY_COPYRIGHT"
+msgstr "版權"
+
+msgid "IDS_MUSIC_BODY_CREATE_PLAYLIST"
+msgstr "建立播放清單"
+
+msgid "IDS_MUSIC_BODY_DESCRIPTION"
+msgstr "說明"
+
+msgid "IDS_MUSIC_BODY_FORMAT"
+msgstr "格式"
+
+msgid "IDS_MUSIC_BODY_IMPOSSIBLE"
+msgstr "不可能"
+
+msgid "IDS_MUSIC_BODY_NO_PLAYLISTS"
+msgstr "無播放清單"
+
+msgid "IDS_MUSIC_BODY_TRACK_NUMBER"
+msgstr "曲目編號"
+
+msgid "IDS_MUSIC_POP_DELETE_Q"
+msgstr "要刪除嗎?"
+
+msgid "IDS_MUSIC_POP_REMOVE_Q"
+msgstr "要移除嗎?"
+
+msgid "IDS_MUSIC_POP_UNABLE_RENAME_PLAYLIST"
+msgstr "無法重新命名播放清單。"
+
+msgid "IDS_MUSIC_TAB4_ALBUMS"
+msgstr "專輯"
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "正在加入..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "刪除 %d 張專輯嗎?"
+
+msgid "IDS_MUSIC_TAB4_PLAYLISTS"
+msgstr "播放清單"
+
+msgid "IDS_MUSIC_OPT_ADD"
+msgstr "新增"
+
+msgid "IDS_MUSIC_BODY_BIOGRAPHY"
+msgstr "傳記"
+
+msgid "IDS_MUSIC_BODY_CREDITS"
+msgstr "製作人員名單"
+
+msgid "IDS_MUSIC_BODY_DETAILS_MEADIA_INFO"
+msgstr "媒體資訊"
+
+msgid "IDS_MUSIC_BODY_DISCOGRAPHY"
+msgstr "唱片分類目錄"
+
+msgid "IDS_MUSIC_BODY_LYRIC"
+msgstr "歌詞"
+
+msgid "IDS_MUSIC_BODY_POSSIBLE"
+msgstr "可能"
+
+msgid "IDS_MUSIC_BODY_REVIEW"
+msgstr "瀏覽"
+
+msgid "IDS_MUSIC_HEADER_TRACK_LIST"
+msgstr "曲目清單"
+
+msgid "IDS_MUSIC_BODY_ADD_TO_PLAYLIST"
+msgstr "加到播放清單"
+
+msgid "IDS_MUSIC_BODY_ARTIST"
+msgstr "演出者"
+
+msgid "IDS_MUSIC_BODY_FORWARDING"
+msgstr "正在轉寄"
+
+msgid "IDS_MUSIC_BODY_RECORDED_DATE"
+msgstr "Date of recording"
+
+msgid "IDS_MUSIC_BODY_PLAYLISTS"
+msgstr "播放清單"
+
+msgid "IDS_MUSIC_BODY_RECENTLY_PLAYED"
+msgstr "最近播放"
+
+msgid "IDS_MUSIC_BODY_TRACK_LENGTH"
+msgstr "曲目長度"
+
+msgid "IDS_MUSIC_HEADER_NO_SONGS"
+msgstr "無歌曲"
+
+msgid "IDS_MUSIC_POP_THIS_TRACK_WILL_BE_DELETED"
+msgstr "將刪除此曲目"
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_TRACKS_WILL_BE_DELETED"
+msgstr "將刪除選擇的曲目。"
+
+msgid "IDS_MUSIC_POP_THIS_ARTIST_WILL_BE_DELETED"
+msgstr "將刪除此藝術家。"
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ARTISTS_WILL_BE_DELETED"
+msgstr "將刪除選擇的演出者。"
+
+msgid "IDS_MUSIC_POP_ALL_ARTISTS_WILL_BE_DELETED"
+msgstr "將刪除全部的藝術家。"
+
+msgid "IDS_MUSIC_POP_THIS_FOLDER_WILL_BE_DELETED"
+msgstr "此資料夾將被刪除。"
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_FOLDERS_WILL_BE_DELETED"
+msgstr "將刪除選擇的資料夾。"
+
+msgid "IDS_MUSIC_POP_ALL_FOLDERS_WILL_BE_DELETED"
+msgstr "將刪除所有資料夾。"
+
+msgid "IDS_MUSIC_POP_THIS_ALBUM_WILL_BE_DELETED"
+msgstr "將刪除此專輯。"
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_ALBUMS_WILL_BE_DELETED"
+msgstr "將刪除選擇的專輯。"
+
+msgid "IDS_MUSIC_POP_ALL_ALBUMS_WILL_BE_DELETED"
+msgstr "將刪除全部的專輯。"
+
+msgid "IDS_MUSIC_POP_THIS_PLAYLIST_WILL_BE_DELETED"
+msgstr "此播放清單將被刪除。"
+
+msgid "IDS_MUSIC_POP_THE_SELECTED_PLAYLISTS_WILL_BE_DELETED"
+msgstr "將刪除選擇的播放清單。"
+
+msgid "IDS_MUSIC_POP_ALL_PLAYLISTS_WILL_BE_DELETED"
+msgstr "將刪除全部的播放清單。"
+
+msgid "IDS_MUSIC_HEADER_SONGS"
+msgstr "歌曲"
+
+msgid "IDS_MUSIC_OPT_REORDER"
+msgstr "重新排序"
+
+msgid "IDS_MUSIC_OPT_SAVE_AS_PLAYLIST"
+msgstr "另存為播放清單"
+
+msgid "IDS_MUSIC_OPT_SETAS_ALARM_TONE"
+msgstr "鬧鐘鈴聲"
+
+msgid "IDS_MUSIC_POP_NOTHING_SELECTED"
+msgstr "未選擇任何項目"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "無法播放。發生錯誤。"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_UNSUPPORTED_FILETYPE"
+msgstr "無法播放。不支援的檔案類型。"
+
+msgid "IDS_MUSIC_SK_SHARE"
+msgstr "分享"
+
+msgid "IDS_MUSIC_TAB4_CONDUCTORS"
+msgstr "導體"
+
+msgid "IDS_MUSIC_HEADER_SELECT_DEVICE"
+msgstr "選擇裝置"
+
+msgid "IDS_MUSIC_SK_VIEW_AS"
+msgstr "檢視方式"
+
+msgid "IDS_MUSIC_BODY_SOUNDEFFECTS_NORMAL"
+msgstr "正常"
+
+msgid "IDS_MUSIC_BODY_USER"
+msgstr "使用者"
+
+msgid "IDS_MUSIC_BODY_VOCAL_M_SOUNDEFFECT"
+msgstr "聲樂"
+
+msgid "IDS_MUSIC_MBODY_BASS_BOOST"
+msgstr "低音增強"
+
+msgid "IDS_MUSIC_MBODY_TREBLE_BOOST"
+msgstr "高音增強"
+
+msgid "IDS_MUSIC_BODY_CAFE_M_SOUNDEFFECT"
+msgstr "咖啡廳"
+
+msgid "IDS_MUSIC_OPT_VIRTUAL_71_CH"
+msgstr "虛擬數位 7.1 聲道"
+
+msgid "IDS_MUSIC_OPT_AFTER_15_MIN_ABB"
+msgstr "15 分鐘後"
+
+msgid "IDS_MUSIC_BODY_AFTER_30_MIN"
+msgstr "30 分鐘後"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HOUR"
+msgstr "1 小時後"
+
+msgid "IDS_MUSIC_POP_AFTER_1_HOUR_30_MIN"
+msgstr "1小時30分鐘後"
+
+msgid "IDS_MUSIC_BODY_AFTER_2_HOURS"
+msgstr "2 小時後"
+
+msgid "IDS_MUSIC_BODY_MUSIC_AUTO_OFF"
+msgstr "音樂自動關閉"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES_ONLY"
+msgstr "音效只適用耳機或是藍牙耳機模式。"
+
+msgid "IDS_MUSIC_TAB4_MUSIC_SQUARE"
+msgstr "音樂廣場"
+
+msgid "IDS_MUSIC_POP_NOT_ENOUGH_MUSIC_FILES_TO_PLAY_IN_MUSIC_SQUARE_AT_LEAST_PD_MUSIC_FILES_REQUIRED"
+msgstr "音樂廣場中要播放的音樂檔案不足。至少需要 %d 首音樂。"
+
+msgid "IDS_MUSIC_BODY_PASSION_M_MOOD"
+msgstr "熱情"
+
+msgid "IDS_MUSIC_BODY_CALM_M_ADJECTIVE"
+msgstr "冷靜"
+
+msgid "IDS_MUSIC_BODY_JOY_M_MOOD"
+msgstr "喜悅"
+
+msgid "IDS_MUSIC_BODY_LIBRARY_UPDATE"
+msgstr "媒體庫更新"
+
+msgid "IDS_MUSIC_POP_UPDATE_LIBRARY_Q"
+msgstr "更新資料庫?"
+
+msgid "IDS_MUSIC_BODY_CHANGE_AXIS"
+msgstr "變更軸"
+
+msgid "IDS_MUSIC_ITAB4_GENRES"
+msgstr "類型"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_1_TRACK"
+msgstr "1 張專輯 / 1 首曲目"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_PD_TRACKS"
+msgstr "1 張專輯 / %d 首曲目"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS_PD_TRACKS"
+msgstr "%d 張專輯 / %d 首曲目"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_CONTROL_MUSIC_PLAYER_WITH_THE_VOICE_COMMANDS_P1SS_P2SS_P3SS_P4SS_P5SS_AND_P6SS"
+msgstr "可透過語音命令 %1$s、%2$s、%3$s、%4$s、%5$s 以及 %6$s 控制音樂播放器。"
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_PD_TRACKS"
+msgstr "隨機播放 %d 首歌"
+
+msgid "IDS_MUSIC_BODY_MORE_INFO"
+msgstr "更多資訊"
+
+msgid "IDS_MUSIC_HEADER_MY_MUSIC_M_APPLICATION_NAME"
+msgstr "我的音樂"
+
+msgid "IDS_MUSIC_OPT_LIST_VIEW"
+msgstr "清單檢視"
+
+msgid "IDS_MUSIC_OPT_PLAY_VIA_GROUP_PLAY"
+msgstr "透過 Group Play 播放"
+
+msgid "IDS_MUSIC_POP_TRACK_ADDED_TO_FAVOURITES"
+msgstr "曲目已新增至我的最愛。"
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_FAVOURITES"
+msgstr "從我的最愛中移除"
+
+msgid "IDS_MUSIC_BODY_NEW_M_LATEST"
+msgstr "新增"
+
+msgid "IDS_MUSIC_OPT_TRACKS"
+msgstr "曲目"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL"
+msgstr "縮圖"
+
+msgid "IDS_MUSIC_SK_LIST"
+msgstr "清單"
+
+msgid "IDS_MUSIC_SK_OPEN_PLAYLIST"
+msgstr "開啟播放清單"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALL"
+msgstr "全部播放"
+
+msgid "IDS_MUSIC_POP_SELECTED_LIST_EMPTY"
+msgstr "所選擇的清單是空的。"
+
+msgid "IDS_MUSIC_BODY_MOODS"
+msgstr "基調"
+
+msgid "IDS_MUSIC_BUTTON_YEARS"
+msgstr "年份"
+
+msgid "IDS_MUSIC_BODY_OLD"
+msgstr "舊"
+
+msgid "IDS_MUSIC_BODY_MUSIC_SQUARE_ANALYSES_THE_CHARACTERISTICS_OF_MUSIC_FILES_STORED_ON_YOUR_DEVICE_AND_AUTOMATICALLY_CREATES_PLAYLISTS_MSG"
+msgstr "音樂廣場會自動分析儲存於裝置中的音樂檔案類型並自動建立播放清單。"
+
+msgid "IDS_MUSIC_BODY_PLAY_TRACKS_WITH_SIMILAR_CHARACTERISTICS_BY_SELECTING_A_SQUARE_ON_THE_SCREEN"
+msgstr "選擇一個螢幕上的方塊以播放音樂類型相似的播放清單。"
+
+msgid "IDS_MUSIC_BODY_VIEW_PLAYLIST_DETAILS_BY_TAPPING_AND_HOLDING_THE_SQUARE_CURRENTLY_BEING_PLAYED"
+msgstr "輕觸並按住目前播放的方塊以檢視播放清單詳細資料。"
+
+msgid "IDS_MUSIC_BODY_NEARBY_DEVICES"
+msgstr "附近裝置"
+
+msgid "IDS_MUSIC_POP_YOU_WILL_NEED_TO_UPDATE_THE_LIBRARY_IF_NEW_SONGS_HAVE_BEEN_ADDED"
+msgstr "若新增新的歌曲,則需要更新媒體庫。"
+
+msgid "IDS_MUSIC_BODY_NO_ALBUMS"
+msgstr "無專輯"
+
+msgid "IDS_MUSIC_BODY_NO_ARTISTS"
+msgstr "無演出者"
+
+msgid "IDS_MUSIC_OPT_PLAY_SPEED_ABB"
+msgstr "播放速度"
+
+msgid "IDS_MUSIC_BODY_CONCERT_HALL_M_SOUNDEFFECT"
+msgstr "音樂廳"
+
+msgid "IDS_MUSIC_OPT_ADD_TO"
+msgstr "加到"
+
+msgid "IDS_MUSIC_SK_VIEW"
+msgstr "檢視"
+
+msgid "IDS_MUSIC_OPT_LISTBY_RECENTLY_ADDED"
+msgstr "最近加入"
+
+msgid "IDS_MUSIC_BODY_NOT_USED"
+msgstr "未使用"
+
+msgid "IDS_MUSIC_BODY_MAKE_AVAILABLE_OFFLINE"
+msgstr "選擇離線瀏覽"
+
+msgid "IDS_MUSIC_OPT_AFTER_P1SD_HRS_P2SD_MINS"
+msgstr "%1$d 小時 %2$d 分鐘後"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS"
+msgstr "%d 小時後"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_MINS"
+msgstr "%d 分鐘後"
+
+msgid "IDS_MUSIC_BODY_NO_FOLDERS"
+msgstr "無資料夾"
+
+msgid "IDS_MUSIC_BODY_NO_TRACKS"
+msgstr "無曲目"
+
+msgid "IDS_MUSIC_BODY_PD_ALBUMS"
+msgstr "%d 張專輯"
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS"
+msgstr "%d 位演出者"
+
+msgid "IDS_MUSIC_BODY_PD_GENRES"
+msgstr "%d 個類型"
+
+msgid "IDS_MUSIC_BODY_PD_PLAYLISTS"
+msgstr "%d 個播放清單"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_ABB"
+msgstr "%d 首"
+
+msgid "IDS_MUSIC_BODY_PLAYLIST"
+msgstr "播放清單"
+
+msgid "IDS_MUSIC_HEADER_SIMILAR_ALBUMS"
+msgstr "類似專輯"
+
+msgid "IDS_MUSIC_HEADER_TRACK"
+msgstr "曲目"
+
+msgid "IDS_MUSIC_OPT_THUMBNAIL_VIEW"
+msgstr "縮圖檢視"
+
+msgid "IDS_MUSIC_POP_THIS_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "此聲音效果只作用在使用有線耳機聆聽時。"
+
+msgid "IDS_MUSIC_OPT_ALL_CONTENT_ABB2"
+msgstr "所有內容"
+
+msgid "IDS_MUSIC_BODY_A_NETWORK_CONNECTION_IS_REQUIRED_TO_PLAY_THIS_FILE_CHECK_YOUR_NETWORK_CONNECTION_AND_TRY_AGAIN"
+msgstr "需要網路連線來播放此檔案。檢查您的網路連線並重試一次。"
+
+msgid "IDS_MUSIC_POP_FILE_TYPE_NOT_SUPPORTED"
+msgstr "不支援檔案類型"
+
+msgid "IDS_MUSIC_POP_UPDATING_ING"
+msgstr "正在更新..."
+
+msgid "IDS_MUSIC_OPT_SEARCH_ABB"
+msgstr "搜尋"
+
+msgid "IDS_MUSIC_OPT_SEARCH_BY"
+msgstr "搜尋依據"
+
+msgid "IDS_MUSIC_BODY_RELATED_VIDEOS"
+msgstr "相關影片"
+
+msgid "IDS_MUSIC_BODY_SMART_VOLUME_ABB"
+msgstr "智慧音量"
+
+msgid "IDS_MUSIC_BODY_THE_VOLUME_OF_ALL_TRACKS_WILL_BE_ADJUSTED_TO_LEVEL_PD"
+msgstr "所有曲目的音量將調整至 %d 等級。"
+
+msgid "IDS_MUSIC_HEADER_SMART_VOLUME_IS_ENABLED"
+msgstr "已啟用智慧音量"
+
+msgid "IDS_MUSIC_OPT_CONNECTION_INFO_ABB"
+msgstr "連接資訊"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_PD_MINS"
+msgstr "1 小時 %d 分鐘後"
+
+msgid "IDS_MUSIC_BODY_ADAPT_SOUND_ABB"
+msgstr "Adapt Sound"
+
+msgid "IDS_MUSIC_BODY_MY_DEVICE"
+msgstr "我的裝置"
+
+msgid "IDS_MUSIC_POP_LISTENING_AT_A_HIGH_VOLUME_FOR_A_LONG_TIME_MAY_DAMAGE_YOUR_HEARING_RAISE_THE_VOLUME_ABOVE_SAFE_LEVELS_Q"
+msgstr "長時間以高音量收聽音樂可能導致聽力受損。要增加音量使其高於安全音量嗎?"
+
+msgid "IDS_MUSIC_POP_ALREADY_EXISTS"
+msgstr "已存在。"
+
+msgid "IDS_MUSIC_OPT_SCAN_FOR_NEARBY_DEVICES"
+msgstr "掃描附近裝置"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR"
+msgstr "1 小時後"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_HR_1_MIN"
+msgstr "1 小時1分鐘後"
+
+msgid "IDS_MUSIC_BODY_AFTER_PD_HRS_1_MIN"
+msgstr "%d 小時1分鐘後"
+
+msgid "IDS_MUSIC_BODY_AFTER_1_MIN"
+msgstr "1 分鐘後"
+
+msgid "IDS_MUSIC_OPT_GO_TO_STORE"
+msgstr "轉至商店"
+
+msgid "IDS_MUSIC_SK3_ADD_TRACKS"
+msgstr "新增曲目"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FROM_MUSIC_THEY_WILL_BE_SHOWN_HERE"
+msgstr "從 Music 下載曲目後,將顯示於此。"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_YOUR_FAVOURITES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "新增曲目至我的最愛後,將顯示於此。"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_PLAY_TRACKS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "播放曲目後,將顯示於此。"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_PS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "曲目新增至 %s 後,將顯示於此。"
+
+msgid "IDS_MUSIC_BODY_NO_PURCHASED_CONTENT"
+msgstr "無購買內容"
+
+msgid "IDS_MUSIC_SK_SAVE_AS"
+msgstr "另存為"
+
+msgid "IDS_MUSIC_POP_MUSICPLAYER_UPDATING_FAILED"
+msgstr "更新失敗。"
+
+msgid "IDS_MUSIC_BODY_EXCITING_M_ADJECTIVE"
+msgstr "刺激"
+
+msgid "IDS_MUSIC_BODY_SEARCH_MY_MUSIC"
+msgstr "搜尋我的音樂"
+
+msgid "IDS_MUSIC_HEADER_CONNECTED_DEVICES"
+msgstr "已連接的裝置"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST_PS"
+msgstr "我的播放清單 %s"
+
+msgid "IDS_MUSIC_BODY_NO_DEVICES"
+msgstr "沒有找到裝置"
+
+msgid "IDS_MUSIC_HEADER_AVAILABLE_DEVICES_ABB"
+msgstr "可用裝置"
+
+msgid "IDS_MUSIC_POP_SET"
+msgstr "設定"
+
+msgid "IDS_MUSIC_POP_REMOVE_FAILED"
+msgstr "無法移除"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_USE_FAST_FORWARD_AND_REWIND_WHEN_NEARBY_DEVICES_ARE_ENABLED"
+msgstr "在附近裝置啟用時無法使用快轉或倒帶。"
+
+msgid "IDS_MUSIC_OPT_SET_AS"
+msgstr "設定為"
+
+msgid "IDS_MUSIC_OPT_HEADPHONES_ABB"
+msgstr "耳機"
+
+msgid "IDS_MUSIC_OPT_SPEAKER"
+msgstr "揚聲器"
+
+msgid "IDS_MUSIC_BODY_1_SONG"
+msgstr "1 首歌"
+
+msgid "IDS_MUSIC_BODY_PD_SONGS"
+msgstr "%d 首歌"
+
+msgid "IDS_MUSIC_BODY_1_TRACK"
+msgstr "1 首曲目"
+
+msgid "IDS_MUSIC_HEADER_SHUFFLE_1_TRACK"
+msgstr "隨機播放 1 首曲目"
+
+msgid "IDS_MUSIC_POP_NO_MUSIC_FOUND_FOR_SELECTED_CELL"
+msgstr "選取的欄框找不到音樂"
+
+msgid "IDS_MUSIC_BODY_DO_NOT_SHOW_AGAIN"
+msgstr "不再顯示"
+
+msgid "IDS_MUSIC_BODY_VARIOUS_ARTISTS"
+msgstr "不同演出者"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_HOME_SCREEN_ABB"
+msgstr "新增至主畫面"
+
+msgid "IDS_MUSIC_OPT_ADD_TO_FAVOURITES"
+msgstr "加到我的最愛"
+
+msgid "IDS_MUSIC_OPT_EDIT_TITLE"
+msgstr "編輯標題"
+
+msgid "IDS_MUSIC_OPT_REMOVE_FROM_PERSONAL_STORAGE"
+msgstr "自個人儲存空間移除"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_DOWNLOAD_TRACKS_FOLDERS_WILL_BE_SHOWN"
+msgstr "在您下載曲目後,將顯示資料夾"
+
+msgid "IDS_MUSIC_BODY_SETTINGS_VOLUME"
+msgstr "音量"
+
+msgid "IDS_MUSIC_BODY_REPEAT_OFF"
+msgstr "重複關閉"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_REPEAT_ALL"
+msgstr "全部重複"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_OFF"
+msgstr "隨機播放關"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE_ON"
+msgstr "隨機播放開"
+
+msgid "IDS_MUSIC_BODY_MY_PLAYLIST"
+msgstr "我的播放清單"
+
+msgid "IDS_MUSIC_MBODY_DEFAULT_PLAYLISTS"
+msgstr "預設播放清單"
+
+msgid "IDS_MUSIC_BODY_DETAILS_RECORDING_DATE"
+msgstr "錄製日期"
+
+msgid "IDS_MUSIC_OPT_ALBUM_ART_ABB"
+msgstr "專輯封面"
+
+msgid "IDS_MUSIC_BODY_1_GENRE"
+msgstr "1 個類型"
+
+msgid "IDS_MUSIC_BODY_PD_FOLDERS"
+msgstr "%d 個資料夾"
+
+msgid "IDS_MUSIC_BODY_1_FOLDER"
+msgstr "1 個資料夾"
+
+msgid "IDS_MUSIC_BODY_1_ARTIST"
+msgstr "1 位演出者"
+
+msgid "IDS_MUSIC_BODY_1_ALBUM_M_MUSIC"
+msgstr "1 張專輯"
+
+msgid "IDS_MUSIC_BODY_1_PLAYLIST"
+msgstr "1 個播放清單"
+
+msgid "IDS_MUSIC_BODY_MUSIC_PLAYER"
+msgstr "音樂播放器"
+
+msgid "IDS_MUSIC_BUTTON_MOVE"
+msgstr "移動"
+
+msgid "IDS_MUSIC_BUTTON_AUTO_RECOMMENDATIONS"
+msgstr "自動建議"
+
+msgid "IDS_MUSIC_BUTTON_FROM_THE_BEGINNING"
+msgstr "從最開始"
+
+msgid "IDS_MUSIC_HEADER_SUGGESTIONS_FOR_YOU"
+msgstr "您的專屬建議"
+
+msgid "IDS_MUSIC_OPT_SAVE"
+msgstr "儲存"
+
+msgid "IDS_MUSIC_TAB4_BASIC_M_EQUALIZING"
+msgstr "基本"
+
+msgid "IDS_MUSIC_BODY_INSTRUMENT"
+msgstr "樂器"
+
+msgid "IDS_MUSIC_BODY_TREBLE_M_EQUALISER"
+msgstr "高音"
+
+msgid "IDS_MUSIC_BODY_BASS_M_EQUALISER"
+msgstr "低音"
+
+msgid "IDS_MUSIC_BODY_NO_EFFECTS_ARE_APPLIED_IN_THIS_MODE_ABB"
+msgstr "此模式中未套用效果。"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_TIMBRE_OF_A_TUBE_AMP_ABB"
+msgstr "模擬真空管音色。"
+
+msgid "IDS_MUSIC_OPT_TUBE_AMP_EFFECT"
+msgstr "真空管效果"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_EFFECT_OF_VIRTUAL_71_CHANNEL_SURROUND_SOUND_ABB"
+msgstr "模擬虛擬 7.1 聲道環繞音效效果。"
+
+msgid "IDS_MUSIC_HEADER_SMALL_ROOM_M_REVERB_ABB"
+msgstr "小房間"
+
+msgid "IDS_MUSIC_HEADER_LARGE_ROOM_M_REVERB_ABB"
+msgstr "大空間"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_LARGE_ROOM_EG_A_THEATRE_ABB"
+msgstr "模擬大空間回音,例如劇院。"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_CONCERT_HALL_ABB"
+msgstr "模擬音樂廳回音。"
+
+msgid "IDS_MUSIC_BODY_SIMULATES_THE_REVERB_OF_A_SMALL_SPACE_EG_A_STUDIO_ABB"
+msgstr "模擬小空間回音,例如錄音室。"
+
+msgid "IDS_MUSIC_BUTTON_3D_CHN"
+msgstr "3D"
+
+msgid "IDS_MUSIC_BODY_CLARITY_M_SOUNDEFFECT"
+msgstr "清晰度"
+
+msgid "IDS_MUSIC_BUTTON_RESET"
+msgstr "重設"
+
+msgid "IDS_MUSIC_TAB_YEARS"
+msgstr "年代"
+
+msgid "IDS_MUSIC_TAB_GENRES"
+msgstr "類型"
+
+msgid "IDS_MUSIC_TAB_COMPOSERS"
+msgstr "作曲者"
+
+msgid "IDS_MUSIC_TAB_ALL_TRACKS"
+msgstr "所有曲目"
+
+msgid "IDS_MUSIC_SK3_GO_TO_QUICK_LIST"
+msgstr "前往快速清單"
+
+msgid "IDS_MUSIC_SK3_FIND"
+msgstr "尋找"
+
+msgid "IDS_MUSIC_SK3_ADD_TO_QUICK_LIST"
+msgstr "新增至快速清單"
+
+msgid "IDS_MUSIC_POP_UNAUTHORISED_VIDEO_FILE_FOR_TV_OUT"
+msgstr "未經批准的電視輸出影像文件。"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_CREATE_MAXIMUM_NUMBER_OF_PLAYLISTS_REACHED"
+msgstr "無法建立。播放清單數目已達上限。"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTING_BLUETOOTH_HEADSET"
+msgstr "連接藍牙耳機時無法調整音量。"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTED_TO_BLUETOOTH_HEADSET"
+msgstr "連接到藍牙耳機時無法調節音量。"
+
+msgid "IDS_MUSIC_POP_STOP_MUSIC_PLAYER_Q"
+msgstr "停止音樂播放器?"
+
+msgid "IDS_MUSIC_POP_PLEASE_EXIT_SILENT_MODE"
+msgstr "請退出靜音模式。"
+
+msgid "IDS_MUSIC_POP_NETWORK_FAILURE"
+msgstr "網路故障"
+
+msgid "IDS_MUSIC_POP_MEMORY_CARD_LOADED"
+msgstr "記憶卡已下載。"
+
+msgid "IDS_MUSIC_POP_DEVICE_SETTINGS_ERROR"
+msgstr "裝置設定錯誤。"
+
+msgid "IDS_MUSIC_POP_COULD_NOT_FIND_A_MATCH_FOR_THE_SONG"
+msgstr "找不到相符歌曲"
+
+msgid "IDS_MUSIC_POP_BUFFERING_MSTATUS"
+msgstr "正在緩衝"
+
+msgid "IDS_MUSIC_POP_BT_HEADSET_ONLY_SUPPORTS_NORMAL_EFFECTS_SETTING"
+msgstr "藍牙耳機只支援一般音效設定。"
+
+msgid "IDS_MUSIC_POP_APPLICATION_WILL_BE_CLOSED"
+msgstr "遊戲已經存在於手機。"
+
+msgid "IDS_MUSIC_POP_ADDED_GO_TO_WISH_LIST_Q"
+msgstr "已新增。轉到願望清單?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_THE_SERVICE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "存取服務可能會收費。繼續?"
+
+msgid "IDS_MUSIC_POP_ACCESS_TO_STORE_MAY_BE_CHARGED_CONTINUE_Q"
+msgstr "存取儲存可能要收取費用。繼續?"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_ONLY_IN_EARPHONE_AND_BLUETOOTH_HEADSET_MODES"
+msgstr "5.1聲道音效僅可使用在耳機和藍牙耳機模式。"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECT_WORKS_IN_EARPHONE_MODE_ONLY"
+msgstr "5.1 聲道音效只適用於耳機模式。"
+
+msgid "IDS_MUSIC_POP_51_CHANNEL_SOUND_EFFECTS_NOT_SUPPORTED_BY_SPEAKER"
+msgstr "揚聲器不支援 5.1 聲道音效。"
+
+msgid "IDS_MUSIC_OPT_VIEW_BY_COVER_ART"
+msgstr "依封面檢視"
+
+msgid "IDS_MUSIC_OPT_SEND_TRACK"
+msgstr "傳送曲目"
+
+msgid "IDS_MUSIC_OPT_RATE_TRACK"
+msgstr "為曲目評分"
+
+msgid "IDS_MUSIC_OPT_PLAYLIST_MOVE_TRACK_IN_PLAYLIST"
+msgstr "移動播放清單內的曲目"
+
+msgid "IDS_MUSIC_OPT_OPENPLAYLIST_CURRENT"
+msgstr "目前"
+
+msgid "IDS_MUSIC_OPT_DELETE_PLAYLIST"
+msgstr "刪除播放清單"
+
+msgid "IDS_MUSIC_OPT_BACKGROUND_PLAYING"
+msgstr "背景播放"
+
+msgid "IDS_MUSIC_HEADER_EFFECTS"
+msgstr "效果"
+
+msgid "IDS_MUSIC_BUTTON_BUY_NOW"
+msgstr "立即購買"
+
+msgid "IDS_MUSIC_BODY_WOW_HD"
+msgstr "Wow HD"
+
+msgid "IDS_MUSIC_BODY_WISHLIST"
+msgstr "願望清單"
+
+msgid "IDS_MUSIC_BODY_WIDE"
+msgstr "狂放"
+
+msgid "IDS_MUSIC_BODY_WHA_WHA"
+msgstr "嘩嘩"
+
+msgid "IDS_MUSIC_BODY_VIBE_WOOFER"
+msgstr "共鳴效果低音喇叭"
+
+msgid "IDS_MUSIC_BODY_TREMOLO"
+msgstr "顫音"
+
+msgid "IDS_MUSIC_BODY_TAP_TWICE_TO_PLAY_PAUSE_MUSIC"
+msgstr "輕觸兩次可播放/暫停音樂。"
+
+msgid "IDS_MUSIC_BODY_SHARE_TRACK_VIA_BLUETOOTH"
+msgstr "透過藍牙共享曲目"
+
+msgid "IDS_MUSIC_BODY_SETUPWIZARD_WELCOME_TO_THE_MUSIC_SETUP_WIZARD_CONTINUE_Q"
+msgstr "歡迎使用音樂設定精靈。下列畫面可幫助您設定手機。繼續?"
+
+msgid "IDS_MUSIC_BODY_QUICK_LIST"
+msgstr "快速清單"
+
+msgid "IDS_MUSIC_BODY_PLAYINGSETTINGS_SOUND_EFFECTS"
+msgstr "音效"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_ALL"
+msgstr "全部"
+
+msgid "IDS_MUSIC_BODY_PLAYINGREPEAT_1"
+msgstr "1"
+
+msgid "IDS_MUSIC_BODY_PLAYERSETTINGS_VOLUME"
+msgstr "音量"
+
+msgid "IDS_MUSIC_BODY_PD_TRACKS_SELECTED"
+msgstr "已選擇 %d 首曲目。"
+
+msgid "IDS_MUSIC_BODY_NO_PODCASTS"
+msgstr "沒有播客"
+
+msgid "IDS_MUSIC_BODY_FIND_SIMILAR"
+msgstr "尋找類似音樂"
+
+msgid "IDS_MUSIC_BODY_BACKGROUND_PLAY"
+msgstr "背景播放"
+
+msgid "IDS_MUSIC_BODY_51_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "5.1聲道只能於音效關閉時被啟動。"
+
+msgid "IDS_MUSIC_TAB4_PODCASTS"
+msgstr "播客"
+
+msgid "IDS_MUSIC_SK2_EDIT_IMAGE"
+msgstr "編輯圖像"
+
+msgid "IDS_MUSIC_POP_PLAYING_ANY_SOUNDS_WILL_STOP_AND_SAVE_YOUR_VOICE_RECORDING_PLAY_Q"
+msgstr "播放任何聲音將停止並儲存您的語音錄製。播放嗎?"
+
+msgid "IDS_MUSIC_POP_MAXIMUM_NUMBER_OF_ITEMS_HPD_SELECTED"
+msgstr "達到最大選擇數量(%)。"
+
+msgid "IDS_MUSIC_POP_BLUETOOTH_DISCONNECTED"
+msgstr "藍牙已中斷"
+
+msgid "IDS_MUSIC_POP_5_1_CHANNEL_CAN_ONLY_BE_ACTIVATED_WHEN_SOUND_EFFECTS_ARE_OFF"
+msgstr "5.1聲道只能關閉音效時啟動。"
+
+msgid "IDS_MUSIC_OPT_TAKE_PICTURE"
+msgstr "拍攝相片"
+
+msgid "IDS_MUSIC_OPT_SHOW_MUSIC_VIEW_ABB"
+msgstr "顯示音樂視圖"
+
+msgid "IDS_MUSIC_OPT_PAUSE"
+msgstr "暫停"
+
+msgid "IDS_MUSIC_OPT_MOREMENU_PLAY_ALBUM"
+msgstr "播放專輯"
+
+msgid "IDS_MUSIC_OPT_LIST_BY"
+msgstr "排列依據"
+
+msgid "IDS_MUSIC_OPT_HISTORY"
+msgstr "歷程記錄"
+
+msgid "IDS_MUSIC_OPT_HIDE_MUSIC_VIEW_ABB"
+msgstr "隱藏音樂視圖"
+
+msgid "IDS_MUSIC_OPT_FIND_TAG"
+msgstr "尋找標籤"
+
+msgid "IDS_MUSIC_OPT_DROPBOX_CONTENT_ABB"
+msgstr "Dropbox 內容"
+
+msgid "IDS_MUSIC_OPT_CONTENT_ON_PHONE_ABB"
+msgstr "手機上的內容"
+
+msgid "IDS_MUSIC_OPT_CHANGE_IMAGE"
+msgstr "更改影像"
+
+msgid "IDS_MUSIC_HEADER_DELETE_DROPBOX_DATA_ABB"
+msgstr "刪除 Dropbox 資料"
+
+msgid "IDS_MUSIC_BODY_YOU_CAN_STREAM_YOUR_MUSIC_TO_DEVICES_USING_ALLSHARE"
+msgstr "您可以使用數位連結將音樂串流至裝置。"
+
+msgid "IDS_MUSIC_BODY_VALIDITY"
+msgstr "有效期"
+
+msgid "IDS_MUSIC_BODY_TYPE_CNOUN"
+msgstr "類型"
+
+msgid "IDS_MUSIC_BODY_THIS_WILL_DELETE_THE_FILE_FROM_THE_SERVER_AND_ANY_CONNECTED_DEVICES_AS_WELL"
+msgstr "此動作將自伺服器刪除檔案與任何已連接的裝置。"
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_ARTISTS"
+msgstr "演出者"
+
+msgid "IDS_MUSIC_BODY_PLAYINGDETAILS_ALBUM_ART"
+msgstr "專輯封面"
+
+msgid "IDS_MUSIC_BODY_OTHER_CONTENTS"
+msgstr "其他內容"
+
+msgid "IDS_MUSIC_BODY_NAME_TOO_LONG"
+msgstr "名稱太長"
+
+msgid "IDS_MUSIC_BODY_MUSIC_CLARITY"
+msgstr "音樂清晰度"
+
+msgid "IDS_MUSIC_BODY_HIGH_VOLUMES_MAY_HARM_YOUR_HEARING_IF_YOU_LISTEN_FOR_A_LONG_TIME"
+msgstr "長期聆聽過大音量會損害您的聽力。"
+
+msgid "IDS_MUSIC_BODY_AVAILABLE_USES"
+msgstr "可供使用"
+
+msgid "IDS_MUSIC_TPOP_SOUND_EFFECTS_ONLY_AVAILABLE_WHILE_HEADPHONES_CONNECTED"
+msgstr "音效僅可於耳機連接時使用。"
+
+msgid "IDS_ST_OPT_ADD_TO_YOUR_PERSONAL_STORAGE"
+msgstr "新增至您的個人儲存空間"
+
+msgid "IDS_ST_OPT_REMOVE_FROM_YOUR_PERSONAL_STORAGE"
+msgstr "至個人儲存空間移除"
+
+msgid "IDS_ST_BODY_CONTEXTUAL_POP_UP_T_TALKBACK"
+msgstr "關聯式彈出視窗"
+
+msgid "IDS_ST_BODY_A_CONTEXTUAL_POP_UP_IS_OPEN_DOUBLE_TAP_TO_CLOSE_IT_T_TALKBACK"
+msgstr "將開啟中央關聯式視窗。輕觸兩下來關閉。"
+
+msgid "IDS_ST_BODY_REPEAT_ONE"
+msgstr "重複一次"
+
+msgid "IDS_ST_BUTTON_MOVING_ING"
+msgstr "移動"
+
+msgid "IDS_HS_BODY_SELECT_UP_TO_PD_ITEMS"
+msgstr "最多選擇 %d 個項目"
+
+msgid "IDS_CAM_BODY_TAB_T_TTS"
+msgstr "標籤"
+
+msgid "IDS_DLNA_OPT2_CHANGE_PLAYER"
+msgstr "更改播放器"
+
+msgid "IDS_BR_SK_TABS"
+msgstr "索引標籤"
+
+msgid "IDS_MF_BODY_DROPBOX_ABB"
+msgstr "Dropbox"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "自動推薦可從聲音檔案擷取精采部分。"
+
+msgid "IDS_MF_BODY_PARENT_RATING"
+msgstr "父級評分"
+
+msgid "IDS_VR_POP_FILE_NOT_FOUND"
+msgstr "找不到檔案"
+
+msgid "IDS_PB_POP_CALLER_RINGTONE_SAVED"
+msgstr "已儲存來電鈴聲"
+
+msgid "IDS_MUSIC_BODY_BIT_DEPTH"
+msgstr "位元深度"
+
+msgid "IDS_MUSIC_BODY_SIZE"
+msgstr "大小"
+
+msgid "IDS_MF_HEADER_PD_SELECTED"
+msgstr "%d已選擇"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_ADD_TRACKS_TO_THIS_DEVICE_THEY_WILL_BE_SHOWN_HERE"
+msgstr "曲目新增至此裝置後,將顯示於此。"
+
+msgid "IDS_MUSIC_TMBODY_LENGTH"
+msgstr "長度"
+
+msgid "IDS_MUSIC_POP_1_FOLDER_WILL_BE_DELETED"
+msgstr "將刪除 1 個資料夾。"
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "無內容"
+
+msgid "IDS_MUSIC_ITAB4_FOLDERS"
+msgstr "資料夾"
+
+msgid "IDS_MUSIC_HEADER_MY_PLAYLISTS_ABB"
+msgstr "我的播放清單"
+
+msgid "IDS_MP_BODY_SOUND_PLAYER"
+msgstr "聲音播放器"
+
+msgid "IDS_MUSIC_OPT_SETTINGS"
+msgstr "設定"
+
+msgid "IDS_MUSIC_POP_DELETING"
+msgstr "正在刪除..."
+
+msgid "IDS_MUSIC_POP_1_TRACK_WILL_BE_DELETED"
+msgstr "將刪除 1 首曲目。"
+
+msgid "IDS_MUSIC_POP_ALL_TRACKS_WILL_BE_DELETED"
+msgstr "將刪除所有曲目"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_WILL_BE_DELETED"
+msgstr "將刪除 %d 首曲目。"
+
+msgid "IDS_MUSIC_POP_1_PLAYLIST_WILL_BE_DELETED"
+msgstr "將刪除 1 個播放清單。"
+
+msgid "IDS_MUSIC_POP_PD_PLAYLISTS_WILL_BE_DELETED"
+msgstr "將刪除%d個播放清單。"
+
+msgid "IDS_MUSIC_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "將刪除 %d 個相簿。"
+
+msgid "IDS_MUSIC_BODY_PD_ARTISTS_WILL_BE_DELETED"
+msgstr "將刪除%d位演出者。"
+
+msgid "IDS_MUSIC_POP_PD_FOLDERS_WILL_BE_DELETED"
+msgstr "將刪除 %d 個資料夾。"
+
+msgid "IDS_ST_POP_CONNECTION_FAILED"
+msgstr "連線失敗"
+
+msgid "IDS_MUSIC_BODY_CLASSIC"
+msgstr "古典"
+
+msgid "IDS_MUSIC_BODY_ROCK"
+msgstr "搖滾"
+
+msgid "IDS_MUSIC_BODY_JAZZ"
+msgstr "爵士"
+
+msgid "IDS_MUSIC_BODY_POP"
+msgstr "流行"
+
+msgid "IDS_MUSIC_BODY_AUTO"
+msgstr "自動"
+
+msgid "IDS_MUSIC_POP_CURRENT_SOUND_EFFECT_NOT_SUPPORTED_BY_HDMI"
+msgstr "HDMI 不支援目前音效。"
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_BLUETOOTH"
+msgstr "音效不支持藍牙。"
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_LINE_OUT"
+msgstr "線路輸出不支援音效。"
+
+msgid "IDS_MUSIC_POP_SOUND_EFFECTS_NOT_SUPPORTED_BY_HDMI"
+msgstr "音效不支持HDMI。"
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EFFECT"
+msgstr "真空管"
+
+msgid "IDS_MUSIC_BODY_CUSTOM"
+msgstr "自訂"
+
+msgid "IDS_MUSIC_HEADER_TUBE_AMP_M_EQUALISER_ABB"
+msgstr "真空管"
+
+msgid "IDS_MUSIC_POP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d 首曲目已新增至播放清單。"
+
+msgid "IDS_MUSIC_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "已新增 1 首曲目至播放清單"
+
+msgid "IDS_MUSIC_HEADER_ADD_TRACKS_TO_PLAYLIST_ABB"
+msgstr "新增曲目至播放清單"
+
+msgid "IDS_MUSIC_POP_PS_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "%s 已被使用。輸入其他名稱。"
+
+msgid "IDS_MUSIC_TMBODY_DATE_OF_RECORDING"
+msgstr "錄音時間"
+
+msgid "IDS_MBP_TPOP_TRACK_SET_AS_ALARM_TONE"
+msgstr "已將歌曲設為鬧鈴。"
+
+msgid "IDS_MUSIC_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "找不到結果"
+
+msgid "IDS_MUSIC_OPT_DEFAULT_RINGTONE_ABB"
+msgstr "預設鈴聲"
+
+msgid "IDS_MUSIC_TPOP_TRACK_SET_AS_CALLER_RINGTONE"
+msgstr "已將曲目設為來電顯示鈴聲。"
+
+msgid "IDS_MP_TPOP_TRACK_SET_AS_RINGTONE"
+msgstr "已將歌曲設為鈴聲。"
+
+msgid "IDS_DLNA_BODY_ADD_TO_NOW_PLAYING_LIST"
+msgstr "加到目前播放清單"
+
+msgid "IDS_MUSIC_TPOP_EQUALISER_SETTINGS_WILL_BE_APPLIED_WHILE_PLAYING_MUSIC"
+msgstr "播放音樂時將套用等化器設定。"
+
+msgid "IDS_ST_BODY_ALERT"
+msgstr "提醒"
+
+msgid "IDS_IV_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "將刪除 1 個相簿。"
+
+msgid "IDS_MUSIC_OPT_SD_CARD"
+msgstr "記憶卡"
+
+msgid "IDS_MUSIC_SBODY_DEVICE_STORAGE"
+msgstr "裝置儲存空間"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE"
+msgstr "播放清單名稱已被使用。"
+
+msgid "IDS_MUSIC_BODY_PLAYLIST_PD"
+msgstr "播放清單 %d"
+
+msgid "IDS_MUSIC_HEADER_CREATE"
+msgstr "建立"
+
+msgid "IDS_MUSIC_HEADER_EQUALISER_PRESET_ABB"
+msgstr "等化器預設"
+
+msgid "IDS_MUSIC_OPT_AUTOMATIC_M_EQUALIZER_EFFECT"
+msgstr "自動"
+
+msgid "IDS_MUSIC_OPT_CLASSICAL_M_EQUALIZER_EFFECT"
+msgstr "古典"
+
+msgid "IDS_MUSIC_HEADER_ENVIRONMENT_EFFECT_ABB"
+msgstr "環境效果"
+
+msgid "IDS_VIDEO_POP_THE_FILE_TYPE_IS_NOT_SUPPORTED"
+msgstr "不支援此檔案類型。"
+
+msgid "IDS_MUSIC_BODY_AFTER_YOU_CREATE_PLAYLISTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "在您建立播放清單後,將顯示於此。"
+
+msgid "IDS_ST_HEADER_SELECT_AUDIO_DEVICE_ABB"
+msgstr "選擇音訊裝置"
+
+msgid "IDS_MUSIC_TPOP_PLAYLIST_NAME_ALREADY_IN_USE_ENTER_ANOTHER_NAME"
+msgstr "播放清單名稱已被使用。請輸入其他名稱。"
+
+msgid "IDS_MUSIC_HEADER_SOUNDALIVE_ABB3"
+msgstr "SoundAlive"
+
+msgid "IDS_MUSIC_OPT_NOW_PLAYING_LIST"
+msgstr "目前播放清單"
+
+msgid "IDS_MUSIC_OPT_SHOW_LYRICS"
+msgstr "顯示歌詞"
+
+msgid "IDS_MUSIC_OPT_HIDE_LYRICS"
+msgstr "隱藏歌詞"
+
+msgid "IDS_MUSIC_TPOP_UNABLE_TO_PLAY_MUSIC_DURING_CALLS"
+msgstr "通話時無法播放音樂。"
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "刪除"
+
+msgid "IDS_MUSIC_HEADER_SELECT"
+msgstr "選擇"
+
+msgid "IDS_TPLATFORM_OPT_NFC"
+msgstr "NFC"
+
+msgid "IDS_MUSIC_HEADER_UNABLE_TO_PLAY_TRACK"
+msgstr "無法播放曲目"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "完成"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "取消"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "刪除"
+
+msgid "IDS_MUSIC_POP_RENAME"
+msgstr "重新命名"
+
+msgid "IDS_MUSIC_OPT_MESSAGE"
+msgstr "訊息"
+
+msgid "IDS_MUSIC_SK_OK"
+msgstr "確定"
+
+msgid "IDS_MUSIC_SK_CANCEL"
+msgstr "取消"
+
+msgid "IDS_MUSIC_BUTTON_REFRESH"
+msgstr "重新整理"
+
+msgid "IDS_MUSIC_BODY_SELECT_ALL"
+msgstr "全選"
+
+msgid "IDS_MUSIC_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_MUSIC_POP_DELETED"
+msgstr "已刪除。"
+
+msgid "IDS_MUSIC_OPT_STOP"
+msgstr "停止"
+
+msgid "IDS_MUSIC_BODY_UNKNOWN"
+msgstr "未知"
+
+msgid "IDS_MUSIC_BODY_TITLE"
+msgstr "標題"
+
+msgid "IDS_MUSIC_OPT_SENDVIA_EMAIL"
+msgstr "電子郵件"
+
+msgid "IDS_MUSIC_OPT_BLUETOOTH"
+msgstr "藍牙"
+
+msgid "IDS_MUSIC_HEADER_DOWNLOAD"
+msgstr "下載"
+
+msgid "IDS_MUSIC_POP_LOW_BATTERY"
+msgstr "電量不足。"
+
+msgid "IDS_MUSIC_HEADER_AUDIO_DEVICE"
+msgstr "自動裝置"
+
+msgid "IDS_MUSIC_HEADER_DETAILS"
+msgstr "詳細資料"
+
+msgid "IDS_MUSIC_OPT_END"
+msgstr "結束"
+
+msgid "IDS_MUSIC_OPT_EDIT"
+msgstr "編輯"
+
+msgid "IDS_CAM_HEADER_UPDATED"
+msgstr "已更新。"
+
+msgid "IDS_MUSIC_POP_REMOVED"
+msgstr "已移除。"
+
+msgid "IDS_MUSIC_OPT_SELECTED"
+msgstr "已選擇"
+
+msgid "IDS_ST_BUTTON_SCAN"
+msgstr "掃描"
+
+msgid "IDS_MF_POP_ERROR"
+msgstr "錯誤"
+
+msgid "IDS_MF_POP_MEMORY_FULL"
+msgstr "記憶體已滿"
+
+msgid "IDS_MUSIC_MBODY_QUEUE"
+msgstr "清單"
+
+msgid "IDS_MUSIC_OPT_VOLUME"
+msgstr "音量"
+
+msgid "IDS_MUSIC_BODY_SHUFFLE"
+msgstr "隨機播放"
+
+msgid "IDS_MUSIC_OPT_REPEAT"
+msgstr "重複"
+
+msgid "IDS_COM_BODY_DETAILS"
+msgstr "Details"
+
+msgid "IDS_COM_BODY_DETAILS_TITLE"
+msgstr "Title"
+
+msgid "IDS_COM_BODY_EDIT"
+msgstr "Edit"
+
+msgid "IDS_COM_BODY_EMAIL"
+msgstr "Email"
+
+msgid "IDS_COM_BODY_END"
+msgstr "End"
+
+msgid "IDS_COM_BODY_FOLDERS"
+msgstr "Folders"
+
+msgid "IDS_COM_BODY_GALLERY"
+msgstr "Gallery"
+
+msgid "IDS_COM_BODY_INTERNET"
+msgstr "Internet"
+
+msgid "IDS_COM_BODY_LOADING"
+msgstr "Loading..."
+
+msgid "IDS_COM_BODY_LOW_BATTERY"
+msgstr "Low battery."
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Message"
+
+msgid "IDS_COM_BODY_MUSIC"
+msgstr "Music"
+
+msgid "IDS_COM_BODY_NFC"
+msgstr "NFC"
+
+msgid "IDS_COM_BODY_NO_CONTENTS"
+msgstr "No content"
+
+msgid "IDS_COM_BODY_PAUSE"
+msgstr "Pause"
+
+msgid "IDS_COM_BODY_PD_SELECTED"
+msgstr "%d selected."
+
+msgid "IDS_COM_BODY_PREVIOUS"
+msgstr "Previous"
+
+msgid "IDS_COM_BODY_RESET_A"
+msgstr "Reset"
+
+msgid "IDS_COM_BODY_SELECTED"
+msgstr "Selected"
+
+msgid "IDS_COM_BODY_SELECT_ALL"
+msgstr "Select all"
+
+msgid "IDS_COM_BODY_SETTINGS"
+msgstr "Settings"
+
+msgid "IDS_COM_BODY_TIME"
+msgstr "Time"
+
+msgid "IDS_COM_BODY_UNABLE_TO_ADD"
+msgstr "Unable to add."
+
+msgid "IDS_COM_BODY_UNKNOWN"
+msgstr "Unknown"
+
+msgid "IDS_COM_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_COM_BUTTON_SCAN"
+msgstr "Scan"
+
+msgid "IDS_COM_BUTTON_SHARE"
+msgstr "Share"
+
+msgid "IDS_COM_HEADER_AUDIO_DEVICE_ABB"
+msgstr "Audio device"
+
+msgid "IDS_COM_OPT_ADDED"
+msgstr "Added."
+
+msgid "IDS_COM_OPT_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_POP_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_POP_CONNECTION_FAILED"
+msgstr "Connection failed."
+
+msgid "IDS_COM_POP_DELETED"
+msgstr "Deleted."
+
+msgid "IDS_COM_POP_DELETE_Q"
+msgstr "Delete?"
+
+msgid "IDS_COM_POP_DONE"
+msgstr "Done"
+
+msgid "IDS_COM_POP_DOWNLOADING"
+msgstr "Downloading..."
+
+msgid "IDS_COM_POP_ERROR"
+msgstr "Error."
+
+msgid "IDS_COM_POP_FAILED"
+msgstr "Failed."
+
+msgid "IDS_COM_POP_FILE_NOT_EXIST"
+msgstr "This file does not exist."
+
+msgid "IDS_COM_POP_FILE_NOT_FOUND"
+msgstr "File not found."
+
+msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximum number of characters reached."
+
+msgid "IDS_COM_POP_MEMORY_FULL"
+msgstr "Memory full."
+
+msgid "IDS_COM_POP_REMOVED"
+msgstr "Removed."
+
+msgid "IDS_COM_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "Unable to use during Mass storage mode."
+
+msgid "IDS_COM_POP_UPDATED"
+msgstr "Updated."
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_SK_DELETE"
+msgstr "Delete"
+
+msgid "IDS_COM_SK_DOWNLOAD"
+msgstr "Download"
+
+msgid "IDS_COM_SK_NEW"
+msgstr "New"
+
+msgid "IDS_COM_SK_NEXT"
+msgstr "Next"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_SK_REFRESH"
+msgstr "Refresh"
+
+msgid "IDS_COM_SK_REMOVE"
+msgstr "Remove"
+
+msgid "IDS_COM_SK_SAVE"
+msgstr "Save"
+
+msgid "IDS_COM_SK_SELECT"
+msgstr "Select"
+
+msgid "IDS_COM_SK_SET"
+msgstr "Set"
+
+msgid "IDS_COM_SK_STOP"
+msgstr "Stop"
+
+
+msgid "IDS_MH_BODY_THE_PLAYLIST_NAME_PS_IS_ALREADY_IN_USE"
+msgstr "The playlist name %s is already in use."
+
+msgid "IDS_MH_BODY_TOTAL"
+msgstr "Total"
+
+msgid "IDS_MH_MBODY_RECENTLY_ADDED_M_SONG"
+msgstr "Recently added"
+
+msgid "IDS_MH_OPT_MORE_INFO_ABB"
+msgstr "More info"
+
+msgid "IDS_MH_POP_ALARM_TONE_SET"
+msgstr "Alarm tone set."
+
+msgid "IDS_MH_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 track added to playlist."
+
+msgid "IDS_MH_TPOP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d tracks added to playlist."
+
+msgid "IDS_MUSIC_OPT_RENAME"
+msgstr "Rename"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Unable to play during call."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "檔案最大的大小已超過。"
+
+msgid "IDS_CAM_TPOP_UNABLE_TO_PLAY_MUSIC_WHILE_RECORDING_AUDIO_OR_VIDEO"
+msgstr "錄音或錄影時無法播放音樂。"
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
+ <storageModule moduleId="org.eclipse.cdt.core.settings">
+ <cconfiguration id="org.tizen.nativecore.config.sbi.gcc45.app.debug.1556342287">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecore.config.sbi.gcc45.app.debug.1556342287" moduleId="org.eclipse.cdt.core.settings" name="Debug">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.tizen.nativecore.NativeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactName="sound-player" buildArtefactType="org.tizen.nativecore.buildArtefactType.app" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecore.buildArtefactType.app,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;" id="org.tizen.nativecore.config.sbi.gcc45.app.debug.1556342287" name="Debug" parent="org.tizen.nativecore.config.sbi.gcc45.app.debug">
+ <folderInfo id="org.tizen.nativecore.config.sbi.gcc45.app.debug.1556342287." name="/" resourcePath="">
+ <toolChain id="org.tizen.nativecore.toolchain.sbi.gcc45.app.debug.1524060346" name="Tizen Native Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.app.debug">
+ <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.1893166852" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+ <builder autoBuildTarget="all" buildPath="${workspace_loc:/music-player/sound-player}/Debug" enableAutoBuild="true" id="org.tizen.nativecore.target.sbi.gnu.builder.2032979446" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Tizen Application Builder" superClass="org.tizen.nativecore.target.sbi.gnu.builder"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.686534949" name="Archiver" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.561105552" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler">
+ <option id="gnu.cpp.compiler.option.optimization.level.1743443644" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
+ <option defaultValue="gnu.cpp.compiler.debugging.level.max" id="sbi.gnu.cpp.compiler.option.debugging.level.core.61637645" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core" valueType="enumerated"/>
+ <option id="sbi.gnu.cpp.compiler.option.162976783" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-3.0-device.core_llvm36.armel.core.app"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.1651082323" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/libxml2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appcore-agent""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appfw""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/attach-panel""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/badge""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/base""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/cairo""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/calendar-service2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/chromium-ewk""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ckm""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/contacts-svc""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/content""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/context-service""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dali""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dali-toolkit""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dbus-1.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/device""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dlog""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-buffer-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-con-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-file-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-imf-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-imf-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-input-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-input-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-ipc-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ector-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/e_dbus-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/edje-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eet-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efl-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efl-extension""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efreet-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eina-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eina-1/eina""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eio-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eldbus-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/elementary-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/embryo-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/emile-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eo-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eom""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ethumb-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ethumb-client-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/feedback""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/fontconfig""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/freetype2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/geofence""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/gio-unix-2.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/glib-2.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/harfbuzz""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/iotcon""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/json-glib-1.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/location""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/maps""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/media""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/media-content""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/messaging""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/metadata-editor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/minicontrol""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/minizip""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/network""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/notification""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/nsd/""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/phonenumber-utils""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/sensor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/service-adaptor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/shortcut""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/storage""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/system""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/telephony""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ui""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/web""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_service""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_viewer_evas""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/wifi-direct""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/dbus-1.0/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/glib-2.0/include""/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.1336759514" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="${TC_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value="${RS_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value=" -fPIE"/>
+ <listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
+ <listOptionValue builtIn="false" value="-mthumb"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.include.paths.353958976" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/inc}""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/libxml2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appcore-agent""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appfw""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/attach-panel""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/badge""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/base""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/cairo""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/calendar-service2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ckm""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/contacts-svc""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/content""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/context-service""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dali""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dali-toolkit""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dbus-1.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/device""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dlog""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-buffer-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-con-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-file-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-imf-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-imf-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-input-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-input-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-ipc-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ector-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/e_dbus-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/edje-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eet-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efl-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efl-extension""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efreet-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eina-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eina-1/eina""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eio-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eldbus-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/elementary-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/embryo-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/emile-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eo-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eom""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ethumb-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ethumb-client-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/feedback""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/fontconfig""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/freetype2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/geofence""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/gio-unix-2.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/glib-2.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/harfbuzz""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/iotcon""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/json-glib-1.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/location""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/maps""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/media""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/media-content""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/messaging""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/metadata-editor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/minicontrol""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/minizip""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/network""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/notification""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/phonenumber-utils""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/sensor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/service-adaptor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/shortcut""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/storage""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/system""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/telephony""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ui""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/web""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_service""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_viewer_evas""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/wifi-direct""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/dbus-1.0/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/glib-2.0/include""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/src/common/include}""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/src/core/include}""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/src/include}""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/src/lib/include}""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/src/view/include}""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/src/widget/include}""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/src/setting/src/include}""/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks.core.45671027" name="Tizen-Frameworks" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1425272780" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+ </tool>
+ <tool command="clang" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.715942653" name="C Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.c.compiler">
+ <option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.option.optimization.level.179275050" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
+ <option defaultValue="gnu.c.debugging.level.max" id="sbi.gnu.c.compiler.option.debugging.level.core.1488915206" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core" valueType="enumerated"/>
+ <option id="sbi.gnu.c.compiler.option.632363669" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-3.0-device.core_llvm36.armel.core.app"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.1820072726" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/libxml2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appcore-agent""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appfw""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/attach-panel""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/badge""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/base""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/cairo""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/calendar-service2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/chromium-ewk""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ckm""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/contacts-svc""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/content""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/context-service""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dali""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dali-toolkit""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dbus-1.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/device""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dlog""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-buffer-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-con-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-file-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-imf-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-imf-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-input-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-input-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-ipc-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ector-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/e_dbus-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/edje-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eet-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efl-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efl-extension""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efreet-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eina-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eina-1/eina""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eio-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eldbus-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/elementary-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/embryo-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/emile-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eo-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eom""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ethumb-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ethumb-client-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/feedback""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/fontconfig""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/freetype2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/geofence""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/gio-unix-2.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/glib-2.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/harfbuzz""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/iotcon""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/json-glib-1.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/location""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/maps""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/media""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/media-content""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/messaging""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/metadata-editor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/minicontrol""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/minizip""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/network""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/notification""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/nsd/""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/phonenumber-utils""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/sensor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/service-adaptor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/shortcut""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/storage""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/system""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/telephony""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ui""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/web""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_service""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_viewer_evas""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/wifi-direct""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/dbus-1.0/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/glib-2.0/include""/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.1254126316" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="${TC_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value="${RS_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value=" -fPIE"/>
+ <listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
+ <listOptionValue builtIn="false" value="-mthumb"/>
+ </option>
+ <option id="gnu.c.compiler.option.include.paths.1959714999" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/inc}""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/libxml2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appcore-agent""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appfw""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/attach-panel""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/badge""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/base""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/cairo""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/calendar-service2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ckm""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/contacts-svc""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/content""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/context-service""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dali""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dali-toolkit""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dbus-1.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/device""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dlog""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-buffer-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-con-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-file-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-imf-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-imf-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-input-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-input-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-ipc-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ector-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/e_dbus-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/edje-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eet-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efl-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efl-extension""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efreet-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eina-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eina-1/eina""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eio-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eldbus-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/elementary-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/embryo-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/emile-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eo-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eom""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ethumb-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ethumb-client-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/feedback""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/fontconfig""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/freetype2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/geofence""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/gio-unix-2.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/glib-2.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/harfbuzz""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/iotcon""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/json-glib-1.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/location""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/maps""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/media""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/media-content""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/messaging""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/metadata-editor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/minicontrol""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/minizip""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/network""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/notification""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/phonenumber-utils""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/sensor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/service-adaptor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/shortcut""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/storage""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/system""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/telephony""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ui""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/web""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_service""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_viewer_evas""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/wifi-direct""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/dbus-1.0/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/glib-2.0/include""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/src/common/include}""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/src/include}""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/src/core/include}""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/src/lib/include}""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/src/setting/src/include}""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/src/view/include}""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/src/widget/include}""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/sound-player/src/include}""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/widget/include}""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/inc}""/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks.core.2113695371" name="Tizen-Frameworks" superClass="sbi.gnu.c.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <option id="gnu.c.compiler.option.preprocessor.def.symbols.17259037" name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="MP_FEATURE_NO_END"/>
+ <listOptionValue builtIn="false" value="MP_FEATURE_LOCKSCREEN"/>
+ <listOptionValue builtIn="false" value="MP_FEATURE_PERSONAL_PAGE"/>
+ <listOptionValue builtIn="false" value="MP_FEATURE_UNSUPPORT_DRM_CD_SD"/>
+ <listOptionValue builtIn="false" value="MP_FEATURE_GL"/>
+ <listOptionValue builtIn="false" value="MP_FEATURE_OPTIMIZATION_LAUNCH_TIME"/>
+ <listOptionValue builtIn="false" value="SHAREDDIR='"/opt/home/owner/apps_rw/org.tizen.music-player/shared"'"/>
+ <listOptionValue builtIn="false" value="DATA_PREFIX='"/opt/home/owner/apps_rw/org.tizen.music-player"'"/>
+ <listOptionValue builtIn="false" value="LOCALEDIR='"/opt/home/owner/apps_rw/org.tizen.music-player/po"'"/>
+ <listOptionValue builtIn="false" value="EDJPATH='"/opt/home/owner/apps_rw/org.tizen.music-player/res/edje/layout"'"/>
+ <listOptionValue builtIn="false" value="PKG_NAME='"org.tizen.sound-player"'"/>
+ <listOptionValue builtIn="false" value="PREFIX='"/opt/home/owner/apps_rw/org.tizen.music-player"'"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.546855233" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+ </tool>
+ <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.686529641" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.linker.1423623355" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
+ <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.core.1845188309" name="Tizen-Frameworks-Other-Lflags" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="${TC_LINKER_MISC}"/>
+ <listOptionValue builtIn="false" value="${RS_LINKER_MISC}"/>
+ <listOptionValue builtIn="false" value="-pie -lpthread "/>
+ <listOptionValue builtIn="false" value="-Xlinker -rpath="/home/developer/sdk_tools/lib""/>
+ <listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
+ <listOptionValue builtIn="false" value="-Xlinker --version-script="${PROJ_PATH}/.exportMap""/>
+ <listOptionValue builtIn="false" value="-L"${SBI_SYSROOT}/usr/lib""/>
+ <listOptionValue builtIn="false" value="$(RS_LIBRARIES)"/>
+ </option>
+ <option id="gnu.cpp.link.option.paths.544820085" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
+ <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/lib}""/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.1984775204" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+ <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+ <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+ </inputType>
+ </tool>
+ <tool command="arm-linux-gnueabi-as" id="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.1112270232" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.806320999" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.1732146097" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.cpp.800775030" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp"/>
+ <tool id="org.tizen.nativecore.tool.ast.902248596" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast"/>
+ <tool id="org.tizen.nativecore.tool.ast.cpp.1214319272" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.mergelib.198975573" name="Archive Generator" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver.mergelib"/>
+ <tool id="org.tizen.nativecore.tool.sbi.po.compiler.1061082826" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
+ <tool id="org.tizen.nativecore.tool.sbi.edc.compiler.1538829688" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler"/>
+ </toolChain>
+ </folderInfo>
+ <sourceEntries>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="inc"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="res"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="shared"/>
+ <entry excluding="view/include/mp-album-booklet-view.h|view/include/mp-artist-booklet-view.h|view/include/mp-main-view.h|view/include/mp-make-offline-view.h|view/mp-album-booklet-view.c|view/mp-artist-booklet-view.c|view/mp-main-view.c|view/mp-make-offline-view.c|common/include/mp-albumart.h|common/include/mp-recommend.h|core/include/mp-context.h|core/include/mp-voice-control-mgr.h|core/include/mp-wifidirect-mgr.h|core/include/mp-cloud.h" flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="src"/>
+ </sourceEntries>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ </cconfiguration>
+ <cconfiguration id="org.tizen.nativecore.config.sbi.gcc45.app.release.1123112515">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecore.config.sbi.gcc45.app.release.1123112515" moduleId="org.eclipse.cdt.core.settings" name="Release">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.tizen.nativecore.NativeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactName="org.tizen.sound-player" buildArtefactType="org.tizen.nativecore.buildArtefactType.app" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecore.buildArtefactType.app,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;" id="org.tizen.nativecore.config.sbi.gcc45.app.release.1123112515" name="Release" parent="org.tizen.nativecore.config.sbi.gcc45.app.release">
+ <folderInfo id="org.tizen.nativecore.config.sbi.gcc45.app.release.1123112515." name="/" resourcePath="">
+ <toolChain id="org.tizen.nativecore.toolchain.sbi.gcc45.app.release.1732608408" name="Tizen Native Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.app.release">
+ <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.1376615727" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+ <builder buildPath="${workspace_loc:/music-player/sound-player}/Release" id="org.tizen.nativecore.target.sbi.gnu.builder.80206683" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Tizen Application Builder" superClass="org.tizen.nativecore.target.sbi.gnu.builder"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.1869866522" name="Archiver" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.2050224141" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler">
+ <option id="gnu.cpp.compiler.option.optimization.level.414338141" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/>
+ <option defaultValue="gnu.cpp.compiler.debugging.level.default" id="sbi.gnu.cpp.compiler.option.debugging.level.core.1611956308" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core" valueType="enumerated"/>
+ <option id="sbi.gnu.cpp.compiler.option.1246794060" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-3.0-emulator.core_llvm36.i386.core.app"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.31825673" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/libxml2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appcore-agent""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appfw""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/attach-panel""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/badge""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/base""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/cairo""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/calendar-service2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/chromium-ewk""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ckm""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/contacts-svc""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/content""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/context-service""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dali""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dali-toolkit""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dbus-1.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/device""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dlog""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-buffer-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-con-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-file-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-imf-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-imf-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-input-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-input-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-ipc-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ector-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/e_dbus-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/edje-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eet-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efl-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efl-extension""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efreet-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eina-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eina-1/eina""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eio-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eldbus-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/elementary-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/embryo-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/emile-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eo-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eom""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ethumb-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ethumb-client-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/feedback""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/fontconfig""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/freetype2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/geofence""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/gio-unix-2.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/glib-2.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/harfbuzz""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/iotcon""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/json-glib-1.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/location""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/maps""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/media""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/media-content""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/messaging""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/metadata-editor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/minicontrol""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/minizip""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/network""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/notification""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/nsd/""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/phonenumber-utils""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/sensor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/service-adaptor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/shortcut""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/storage""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/system""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/telephony""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ui""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/web""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_service""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_viewer_evas""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/wifi-direct""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/dbus-1.0/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/glib-2.0/include""/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.1320360479" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="${TC_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value="${RS_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value=" -fPIE"/>
+ <listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
+ </option>
+ <option id="gnu.cpp.compiler.option.include.paths.1351108270" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/inc}""/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks.core.1139417936" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.83357059" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+ </tool>
+ <tool command="clang" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1827452201" name="C Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.c.compiler">
+ <option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.option.optimization.level.1682692399" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
+ <option defaultValue="gnu.c.debugging.level.default" id="sbi.gnu.c.compiler.option.debugging.level.core.1912476980" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core" valueType="enumerated"/>
+ <option id="sbi.gnu.c.compiler.option.88026732" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-3.0-emulator.core_llvm36.i386.core.app"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.1687836968" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/libxml2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appcore-agent""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appfw""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/attach-panel""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/badge""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/base""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/cairo""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/calendar-service2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/chromium-ewk""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ckm""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/contacts-svc""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/content""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/context-service""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dali""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dali-toolkit""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dbus-1.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/device""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dlog""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-buffer-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-con-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-file-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-imf-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-imf-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-input-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-input-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-ipc-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ector-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/e_dbus-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/edje-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eet-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efl-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efl-extension""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efreet-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eina-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eina-1/eina""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eio-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eldbus-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/elementary-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/embryo-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/emile-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eo-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eom""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ethumb-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ethumb-client-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/feedback""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/fontconfig""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/freetype2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/geofence""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/gio-unix-2.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/glib-2.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/harfbuzz""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/iotcon""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/json-glib-1.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/location""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/maps""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/media""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/media-content""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/messaging""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/metadata-editor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/minicontrol""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/minizip""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/network""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/notification""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/nsd/""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/phonenumber-utils""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/sensor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/service-adaptor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/shortcut""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/storage""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/system""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/telephony""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ui""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/web""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_service""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_viewer_evas""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/wifi-direct""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/dbus-1.0/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/glib-2.0/include""/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.2128271450" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="${TC_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value="${RS_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value=" -fPIE"/>
+ <listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
+ </option>
+ <option id="gnu.c.compiler.option.include.paths.450132165" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/inc}""/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks.core.293820552" superClass="sbi.gnu.c.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.317328294" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+ </tool>
+ <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.127083767" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.linker.279081589" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
+ <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.core.56021836" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="${TC_LINKER_MISC}"/>
+ <listOptionValue builtIn="false" value="${RS_LINKER_MISC}"/>
+ <listOptionValue builtIn="false" value="-pie -lpthread "/>
+ <listOptionValue builtIn="false" value="-Xlinker -rpath="/home/developer/sdk_tools/lib""/>
+ <listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
+ <listOptionValue builtIn="false" value="-Xlinker --version-script="${PROJ_PATH}/.exportMap""/>
+ <listOptionValue builtIn="false" value="-L"${SBI_SYSROOT}/usr/lib""/>
+ <listOptionValue builtIn="false" value="$(RS_LIBRARIES)"/>
+ </option>
+ <option id="gnu.cpp.link.option.paths.1611061266" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
+ <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/lib}""/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.488123707" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+ <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+ <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+ </inputType>
+ </tool>
+ <tool command="i386-linux-gnueabi-as" id="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.1816070730" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.1632200028" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.228453755" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.cpp.479337247" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp"/>
+ <tool id="org.tizen.nativecore.tool.ast.1784836974" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast"/>
+ <tool id="org.tizen.nativecore.tool.ast.cpp.2103711417" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.mergelib.1765636075" name="Archive Generator" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver.mergelib"/>
+ <tool id="org.tizen.nativecore.tool.sbi.po.compiler.424156728" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
+ <tool id="org.tizen.nativecore.tool.sbi.edc.compiler.1111258028" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler"/>
+ </toolChain>
+ </folderInfo>
+ <sourceEntries>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="inc"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="res"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="shared"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
+ </sourceEntries>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ </cconfiguration>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <project id="sound-player.org.tizen.nativecore.target.sbi.gcc45.app.425887935" name="Tizen Native Application" projectType="org.tizen.nativecore.target.sbi.gcc45.app"/>
+ </storageModule>
+ <storageModule moduleId="scannerConfiguration">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+ <scannerConfigBuildInfo instanceId="org.tizen.nativecore.config.sbi.gcc45.app.release.1123112515">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+ </scannerConfigBuildInfo>
+ <scannerConfigBuildInfo instanceId="org.tizen.nativecore.config.sbi.gcc45.app.debug.1556342287">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+ </scannerConfigBuildInfo>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
+ <storageModule moduleId="refreshScope"/>
+</cproject>
--- /dev/null
+{
+ global: main;
+ local: *;
+};
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>sound-player</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
+ <triggers>full,incremental,</triggers>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.cdt.core.cnature</nature>
+ <nature>org.eclipse.cdt.core.ccnature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
+ </natures>
+ <linkedResources>
+ <link>
+ <name>src/common</name>
+ <type>2</type>
+ <locationURI>PARENT-1-PROJECT_LOC/src/common</locationURI>
+ </link>
+ <link>
+ <name>src/core</name>
+ <type>2</type>
+ <locationURI>PARENT-1-PROJECT_LOC/src/core</locationURI>
+ </link>
+ <link>
+ <name>src/mp-main.c</name>
+ <type>1</type>
+ <locationURI>PARENT-1-PROJECT_LOC/src/mp-main.c</locationURI>
+ </link>
+ <link>
+ <name>src/setting</name>
+ <type>2</type>
+ <locationURI>PARENT-1-PROJECT_LOC/src/setting/src</locationURI>
+ </link>
+ <link>
+ <name>src/view</name>
+ <type>2</type>
+ <locationURI>PARENT-1-PROJECT_LOC/src/view</locationURI>
+ </link>
+ <link>
+ <name>src/widget</name>
+ <type>2</type>
+ <locationURI>PARENT-1-PROJECT_LOC/src/widget</locationURI>
+ </link>
+ </linkedResources>
+ <filteredResources>
+ <filter>
+ <id>1460987756010</id>
+ <name></name>
+ <type>26</type>
+ <matcher>
+ <id>org.eclipse.ui.ide.multiFilter</id>
+ <arguments>1.0-projectRelativePath-matches-false-false-*/.tpk</arguments>
+ </matcher>
+ </filter>
+ <filter>
+ <id>1460987756011</id>
+ <name></name>
+ <type>6</type>
+ <matcher>
+ <id>org.eclipse.ui.ide.multiFilter</id>
+ <arguments>1.0-name-matches-false-false-project_def.prop</arguments>
+ </matcher>
+ </filter>
+ </filteredResources>
+</projectDescription>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<tproject xmlns="http://www.tizen.org/tproject">
+ <platforms>
+ <platform>
+ <name>mobile-3.0</name>
+ </platform>
+ </platforms>
+ <package>
+ <blacklist/>
+ <resFallback autoGen="true"/>
+ </package>
+</tproject>
--- /dev/null
+# Appendix\r
--- /dev/null
+# Add inputs and outputs from these tool invocations to the build variables
+
+
+OS_NAME := $(shell $(UNAME))
+
+
+#ifeq ($(origin BUILD_CONFIG), undefined)
+BUILD_CONFIG ?= Debug
+#endif
+
+#ifeq ($(origin ARCH), undefined)
+ARCH ?= i386
+#endif
+
+#ifeq ($(origin PROJPATH), undefined)
+PROJPATH ?= .
+#endif
+
+
+#ifeq ($(origin PROJ_PATH), undefined)
+PROJ_PATH ?= $(PROJPATH)
+#endif
+
+#ifeq ($(strip $(OUTPUT_DIR)),)
+#OUTPUT_DIR ?= $(PROJ_PATH)/$(BUILD_CONFIG)
+#endif
+
+#ifeq ($(strip $(BUILD_ARCH)),)
+BUILD_ARCH ?= $(ARCH)
+#endif
+
+#ifeq ($(strip $(ENVENTOR_PATH)),)
+ENVENTOR_PATH ?= $(SDK_TOOLPATH)/enventor
+#endif
--- /dev/null
+# C/C++ build script
+
+
+_FUNC_EXT2O = $(patsubst %.$(3),$(1)/%.o,$(2))
+_FUNC_C2O = $(call _FUNC_EXT2O,$(1),$(2),c)
+_FUNC_CPP2O = $(call _FUNC_EXT2O,$(1),$(2),cpp)
+
+
+# parameter :
+# $(1) - C/C++ soruce file
+# $(2) - output path
+# $(3) - .ext
+# $(4) - unique id
+CONVERT_ESC_EXT_TO_O = $(addprefix $(2)/,$(notdir $(patsubst %.$(3),%-$(4).o,$(1))))
+
+#CONVERT_ESC_C_TO_O = $(call CONVERT_ESC_EXT_TO_O,$(1),$(2),c)
+#CONVERT_ESC_CPP_TO_O = $(call CONVERT_ESC_EXT_TO_O,$(1),$(2),cpp)
+
+
+# parameter :
+# $(1) - encoded one C/C++ soruce file
+# $(2) - output path
+# $(3) - ext title (C/C++)
+# $(4) - ext (c/cpp)
+# $(5) - compiler ($(CC)/$(CXX))
+# $(6) - build opt
+# $(7) - build opt file
+# output :
+# $(8) - output files list
+define C_BUILD_PROC_RAW
+$(call CONVERT_ESC_EXT_TO_O,$(1),$(2),$(4),$(8)) : $(call DECODE_4MAKE,$(1)) $(7)
+ @echo ' Building file: $$<'
+ @echo ' Invoking: $(3) Compiler'
+ $$(call MAKEDIRS,$$(@D))
+ $(5) -c "$$<" -o "$$@" $(6) -Wp,@$(7)
+ @echo ' Finished building: $$<'
+$(9) += $(call CONVERT_ESC_EXT_TO_O,$(1),$(2),$(4),$(8))
+endef
+
+
+# parameter :
+# $(1) - output paths
+# $(2) - src paths
+# $(3) - inc paths
+# $(4) - inc files
+# $(5) - Defs
+# $(6) - UnDefs
+# $(7) - compiler opt
+# $(8) - compiler opt file
+# $(9) - ext title (C/C++)
+# $(10) - ext (c/cpp)
+# $(11) - compiler ($(CC)/$(CXX))
+# output :
+# $(12) - OBJS
+# return :
+# none
+define C_PROC_RAW
+
+_OUTPUT_DIR := $$(strip $(1))#
+_SRCS := $(2)#
+_INCS := $(3)#
+_INC_FILES := $(4)#
+_DEFS := $(5)#
+_UNDEFS := $(6)#
+
+_OPT := $(7)
+_OPT_FILE := $(8)
+
+_EXT_TITLE := $(9)
+_EXT := $(10)
+_COMPILER := $(11)
+
+#_OUTPUT_FILES := $(12)
+
+_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_SRCS))
+_ENC_SRCS := $$(filter %.$$(_EXT),$$(_ENC_SRCS))
+
+ifneq ($$(strip $$(_SRCS)),)
+
+_NORMAL_SRCS := $$(filter-out %*.$$(_EXT),$$(_ENC_SRCS))
+_WIDLCARD_SRCS := $$(filter %*.$$(_EXT),$$(_ENC_SRCS))
+
+_ALL_SRCS := $$(call DECODE_4MAKE,$$(_NORMAL_SRCS)) \
+ $$(foreach var,$$(_WIDLCARD_SRCS),$$(call FIND_FILES_4MAKE,$$(call DECODE_4MAKE,$$(var))))
+
+ifneq ($$(strip $$(_ALL_SRCS)),)
+
+_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_ALL_SRCS))
+
+_CDEFS := $$(CDEFS)
+_CDEFS += $$(addprefix -D,$$(_DEFS))
+_CDEFS += $$(addprefix -U,$$(_UNDEFS))
+
+_ENC_C_INCS := $$(call ENCODE_4MAKE,$$(_INCS))
+_ENC_C_INCS := $$(addprefix -I,$$(_ENC_C_INCS))
+
+_ENC_INC_FILES := $$(call ENCODE_4MAKE,$$(_INC_FILES))
+_ENC_INC_FILES += $$(addprefix -include,$$(_ENC_INC_FILES))
+
+_C_INCS := $$(call DECODE_4MAKE,$$(_ENC_C_INCS) $$(_ENC_C_INC_FILES))
+
+_DEFS := $$(_CDEFS) $$(_C_INCS) -I"pch" $$(_OPT)
+
+_UNIQUE_ID = $$(firstword $$(shell echo $$(var) | $$(CKSUM)))
+
+$$(foreach var,$$(_ENC_SRCS),$$(eval $$(call C_BUILD_PROC_RAW,$$(var),$$(_OUTPUT_DIR),$$(_EXT_TITLE),$$(_EXT),$$(_COMPILER),$$(_DEFS),$$(_OPT_FILE),$$(_UNIQUE_ID),$(12))))
+
+endif # (_(strip _(_ALL_SRCS)),)
+
+endif # (_(strip _(_SRCS)),)
+
+
+endef
--- /dev/null
+# EDC build script
+
+
+FUNC_EDC2EDJ = $(patsubst %.edc,$(2)/%.edj,$(1))
+
+# parameter :
+# $(1) - C/C++ soruce file
+# $(2) - output path
+CONVERT_ESC_EDC_TO_EDJ = $(call CONVERT_4MAKE_TO_OUT,$(call FUNC_EDC2EDJ,$(1),$(2)))
+
+
+# parameter :
+# $(1) - encoded one C/C++ soruce file
+# $(2) - output path
+# $(3) - build opt
+# output :
+# $(4) - output files list
+define EDJ_BUILD_PROC_RAW
+$(call CONVERT_ESC_EDC_TO_EDJ,$(1),$(2)) : $(call DECODE_4MAKE,$(1))
+ @echo ' Building file: $$<'
+ @echo ' Invoking: EDC Resource Compiler'
+ $$(call MAKEDIRS,$$(@D))
+ $$(EDJE_CC) $(3) "$$<" "$$@"
+ @echo ' Finished building: $$<'
+$(4) += $(call CONVERT_ESC_EDC_TO_EDJ,$(1),$(2))
+endef
+
+
+# parameter :
+# $(1) - output paths
+# $(2) - src paths
+# $(3) - image inc paths
+# $(4) - sound inc paths
+# $(5) - font inc paths
+# output :
+# $(6) - OBJS
+# return :
+# none
+define EDJ_PROC_RAW
+
+_OUTPUT_DIR := $$(strip $(1))#
+_SRCS := $(2)#
+_IMAGE_DIRS := $(3)#
+_SOUND_DIRS := $(4)#
+_FONT_DIRS := $(5)#
+
+ifneq ($$(strip $$(_SRCS)),)
+
+_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_SRCS))
+
+_NORMAL_SRCS := $$(filter-out %*.edc,$$(_ENC_SRCS))
+_WIDLCARD_SRCS := $$(filter %*.edc,$$(_ENC_SRCS))
+
+_ALL_SRCS := $$(call DECODE_4MAKE,$$(_NORMAL_SRCS)) \
+ $$(foreach var,$$(_WIDLCARD_SRCS),$$(call FIND_FILES_4MAKE,$$(call DECODE_4MAKE,$$(var))))
+
+ifneq ($$(strip $$(_ALL_SRCS)),)
+
+_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_ALL_SRCS))
+
+_COMPILER_FLAGS := -id "$$(ENVENTOR_SHARED_RES_PATH)/images"
+_COMPILER_FLAGS += -sd "$$(ENVENTOR_SHARED_RES_PATH)/sounds"
+_COMPILER_FLAGS += -fd "$$(ENVENTOR_SHARED_RES_PATH)/fonts"
+
+ifneq ($$(strip $$(_IMAGE_DIRS)),)
+_COMPILER_FLAGS += $$(addprefix -id ,$$(_IMAGE_DIRS))
+endif
+ifneq ($$(strip $$(_SOUND_DIRS)),)
+_COMPILER_FLAGS += $$(addprefix -sd ,$$(_SOUND_DIRS))
+endif
+ifneq ($$(strip $$(_FONT_DIRS)),)
+_COMPILER_FLAGS += $$(addprefix -fd ,$$(_FONT_DIRS))
+endif
+
+$$(foreach var,$$(_ENC_SRCS),$$(eval $$(call EDJ_BUILD_PROC_RAW,$$(var),$$(_OUTPUT_DIR),$$(_COMPILER_FLAGS),$(6))))
+
+endif # (_(strip _(_ALL_SRCS)),)
+
+endif # (_(strip _(_SRCS)),)
+
+endef
--- /dev/null
+# PO build script
+
+
+_FUNC_PO2MO = $(patsubst %.po,$(2)/res/locale/%/LC_MESSAGES/$(3).mo,$(notdir $(1)))
+
+
+# parameter :
+# $(1) - C/C++ soruce file
+# $(2) - output path
+# $(3) - app name
+CONVERT_ESC_PO_TO_MO = $(call CONVERT_4MAKE_TO_OUT,$(call _FUNC_PO2MO,$(1),$(2),$(3)))
+
+
+# parameter :
+# $(1) - encoded one C/C++ soruce file
+# $(2) - output path
+# $(3) - app name
+# output :
+# $(4) - output files list
+define MO_BUILD_PROC_RAW
+$(call CONVERT_ESC_PO_TO_MO,$(1),$(2),$(3)) : $(call DECODE_4MAKE,$(1))
+ @echo ' Building file: $$<'
+ @echo ' Invoking: msgfmt String Formatter'
+ $$(call MAKEDIRS,$$(@D))
+ $$(MSGFMT) -o "$$@" "$$<"
+ @echo ' Finished building: $$<'
+$(4) += $(call CONVERT_ESC_PO_TO_MO,$(1),$(2),$(3))
+endef
+
+
+# parameter :
+# $(1) - output dir
+# $(2) - src paths
+# $(3) - app name
+# output :
+# $(4) - OBJS
+
+define MO_PROC_RAW
+
+_OUTPUT_DIR := $(1)
+_SRCS := $(2)
+_APPNAME := $(3)
+
+ifneq ($$(strip $$(_SRCS)),)
+
+_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_SRCS))
+
+_NORMAL_SRCS := $$(filter-out %*.po,$$(_ENC_SRCS))
+_WIDLCARD_SRCS := $$(filter %*.po,$$(_ENC_SRCS))
+
+_ALL_SRCS := $$(call DECODE_4MAKE,$$(_NORMAL_SRCS)) \
+ $$(foreach var,$$(_WIDLCARD_SRCS),$$(call FIND_FILES_4MAKE,$$(call DECODE_4MAKE,$$(var))))
+
+ifneq ($$(strip $$(_ALL_SRCS)),)
+
+_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_ALL_SRCS))
+
+$$(foreach var,$$(_ENC_SRCS),$$(eval $$(call MO_BUILD_PROC_RAW,$$(var),$$(_OUTPUT_DIR),$$(_APPNAME),$(4))))
+
+endif # (_(strip _(_ALL_SRCS)),)
+
+endif # (_(strip _(_SRCS)),)
+
+endef
--- /dev/null
+
+DEBUG_OP = -g3
+CPP_DEBUG_OP =
+
+OPTIMIZATION_OP = -O0
+CPP_OPTIMIZATION_OP =
+
+COMPILE_FLAGS = $(DEBUG_OP) $(OPTIMIZATION_OP) -Wall -c -fmessage-length=0 -fPIC
+
+CPP_COMPILE_FLAGS = $(CPP_DEBUG_OP) $(CPP_OPTIMIZATION_OP)
+
+LINK_FLAGS = -shared -Wl,--no-undefined
+
+AR_FLAGS =
+
+EDC_COMPILE_FLAGS =
\ No newline at end of file
--- /dev/null
+
+BSLASH := \\#
+NULL_CHAR := #
+SPACE := \ #
+COLON := :#
+DOTDOT := ..#
+SPACE_ESC := &sp;#
+COLON_ESC := &co;#
+SPACE_OUT := ~sp~#
+COLON_OUT := ~co~#
+DOTDOT_OUT := ~dtdt~#
+
+BSLASH2SLASH = $(subst $(BSLASH),/,$(1))
+
+REMOVE_TAIL = $(patsubst %/,%,$(1))
+
+#LOWER_CASE = $(shell echo translit($(1),[A-Z],[a-z])|$(M4))
+LOWER_CASE = $(shell echo $(1)|$(TR) [A-Z] [a-z])
+
+#ifneq ($(findstring Windows,$(OS)),)
+# ...
+#endif
+
+FIND_FILES = $(shell $(FIND) $(1)/$(2) | $(SED) 's/^$(subst /,$(BSLASH)/,$(1))$(BSLASH)///')
+FIND_FILES_ESC = $(shell $(FIND) $(1)/$(2) | $(SED) 's/^$(subst /,$(BSLASH)/,$(1))$(BSLASH)///' -e 's/:/$(BSLASH)&co;/g' -e 's/$(BSLASH) /$(BSLASH)&sp;/g')
+FIND_FILES_4MAKE = $(shell $(FIND) $(1)/$(2) | $(SED) 's/^$(subst /,$(BSLASH)/,$(1))$(BSLASH)///')
+
+FIND_FILES_ABS = $(shell $(FIND) $(1))
+FIND_FILES_ABS_4MAKE = $(shell $(FIND) $(1) -e 's/$(BSLASH) /$(BSLASH)&sp;/g')
+FIND_FILES_ABS_ESC = $(shell $(FIND) $(1) -e 's/:/$(BSLASH)&co;/g' -e 's/$(BSLASH) /$(BSLASH)&sp;/g')
+
+FIND_FILES_4MAKE = $(shell $(FIND) $(1) | $(SED) 's/ /\\\ /g')
+
+#ENCODE_ESC = $(shell echo $(1) | $(SED) -e 's/:/$(BSLASH)&co;/g' -e 's/$(BSLASH) /$(BSLASH)&sp;/g')
+#DECODE_ESC = $(shell echo $(1) | $(SED) -e 's/$(BSLASH)&co;/:/g' -e 's/$(BSLASH)&sp;/$(BSLASH) / g')
+ENCODE_ESC = $(subst $(SPACE),$(SPACE_ESC),$(subst $(COLON),$(COLON_ESC),$(1)))
+DECODE_ESC = $(subst $(COLON_ESC),$(COLON),$(subst $(SPACE_ESC),$(SPACE),$(1)))
+ENCODE_4MAKE = $(subst $(SPACE),$(SPACE_ESC),$(1))
+DECODE_4MAKE = $(subst $(SPACE_ESC),$(SPACE),$(1))
+
+CONVERT_TO_OUT = $(subst $(DOTDOT),$(DOTDOT_OUT),$(subst $(COLON),$(COLON_OUT),$(subst $(SPACE),$(SPACE_OUT),$(1))))
+CONVERT_ESC_TO_OUT = $(subst $(DOTDOT),$(DOTDOT_OUT),$(subst $(COLON_ESC),$(COLON_OUT),$(subst $(SPACE_ESC),$(SPACE_OUT),$(1))))
+CONVERT_4MAKE_TO_OUT = $(subst $(DOTDOT),$(DOTDOT_OUT),$(subst $(COLON),$(COLON_OUT),$(subst $(SPACE_ESC),$(SPACE_OUT),$(1))))
+
+PROC_NO_EXIST = $(if $(wildcard $(1)),,$(call $(2),$(1)))
+define MAKEDIRS0
+ @echo ' Building directory: $(1)'
+ @$(MKDIR) $(MKDIR_OP) $(subst $(BSLASH),/,$(1))
+endef
+MAKEDIRS = $(call PROC_NO_EXIST,$(1),MAKEDIRS0)
--- /dev/null
+#
+# Usege : make -f <proj_root>/Build/makefile -C <proj_root>
+#
+
+BUILD_SCRIPT_VERSION := 1.1.0
+
+.PHONY : app_version app_build app_clean build_version
+
+
+all : app_build
+
+clean : app_clean
+
+version : build_version
+
+#PROJ_ROOT = .
+BUILD_ROOT := $(PROJ_PATH)/Build#
+
+ifeq ($(MAKE_NAME),mingw32-make)
+ifneq ($(SHELL),)
+OPTIONS += --eval="SHELL=$(SHELL)"
+endif
+endif
+
+app_build :
+ @echo $(MAKE) -f "$(BUILD_ROOT)/makefile.mk"
+ @$(MAKE_BIN) -f "$(BUILD_ROOT)/makefile.mk" -C "$(PROJ_PATH)" $(OPTIONS)
+
+app_clean :
+ @$(MAKE) -f "$(BUILD_ROOT)/makefile.mk" -C "$(PROJ_PATH)" $(OPTIONS) clean
+
+build_version :
+ @echo makefile : $(BUILD_SCRIPT_VERSION)
+ @$(MAKE) -f "$(BUILD_ROOT)/makefile.mk" -C "$(PROJ_PATH)" $(OPTIONS) version
--- /dev/null
+#
+# Usege : make -f <proj_root>/Build/makefile -C <proj_root>
+#
+
+BUILD_SCRIPT_VERSION := 1.2.3
+
+.PHONY : app_version app_clean build_version
+
+
+all : app_build
+
+clean : app_clean
+
+version : build_version
+
+
+#PROJ_ROOT := $(call BSLASH2SLASH,$(PROJ_PATH))
+PROJ_ROOT := .
+BUILD_ROOT := $(PROJ_ROOT)/Build
+
+include $(BUILD_ROOT)/basedef.mk
+
+include $(PROJ_ROOT)/project_def.prop
+-include $(PROJ_ROOT)/build_def.prop
+
+include $(BUILD_ROOT)/funcs.mk
+
+-include $(BUILD_ROOT)/tooldef.mk
+-include $(BUILD_ROOT)/flags.mk
+-include $(BUILD_ROOT)/platform.mk
+
+
+APPTYPE := $(type)
+
+OUTPUT_DIR := $(PROJ_ROOT)/$(BUILD_CONFIG)
+OBJ_OUTPUT := $(OUTPUT_DIR)/objs
+
+LOWER_APPNAME := $(call LOWER_CASE,$(APPNAME))
+APPID2 := $(subst $(basename $(APPID)).,,$(APPID))
+
+ifeq ($(strip $(APPTYPE)),app)
+APPFILE := $(OUTPUT_DIR)/$(LOWER_APPNAME)
+endif
+ifeq ($(strip $(APPTYPE)),staticLib)
+APPFILE := $(OUTPUT_DIR)/lib$(LOWER_APPNAME).a
+endif
+ifeq ($(strip $(APPTYPE)),sharedLib)
+APPFILE := $(OUTPUT_DIR)/lib$(LOWER_APPNAME).so
+endif
+
+ifneq ($(strip $(PLATFORM_INCS)),)
+PLATFORM_INCS_FILE := $(OBJ_OUTPUT)/platform_incs_file.inc
+endif
+
+include $(BUILD_ROOT)/build_c.mk
+
+
+ifeq ($(strip $(APPTYPE)),app)
+EXT_OP := -fPIE
+endif
+ifeq ($(strip $(APPTYPE)),staticLib)
+EXT_OP := -fPIE
+endif
+ifeq ($(strip $(APPTYPE)),sharedLib)
+EXT_OP := -fPIC
+endif
+
+C_OPT := $(COMPILE_FLAGS) $(TC_COMPILER_MISC) $(RS_COMPILER_MISC) $(EXT_OP) --sysroot="$(SYSROOT)" -Werror-implicit-function-declaration $(M_OPT) $(USER_C_OPTS)
+CPP_OPT := $(CPP_COMPILE_FLAGS) $(TC_COMPILER_MISC) $(RS_COMPILER_MISC) $(EXT_OP) --sysroot="$(SYSROOT)" -Werror-implicit-function-declaration $(M_OPT) $(USER_CPP_OPTS)
+C_OPT_FILE := $(PLATFORM_INCS_FILE)
+
+OBJS := #
+
+# Global C/C++
+ifeq ($(strip $(USER_ROOT)),)
+USER_ROOT := $(PROJ_ROOT)
+endif
+$(eval $(call C_PROC_RAW,$(OBJ_OUTPUT),$(USER_SRCS),$(USER_INC_DIRS),$(USER_INC_FILES),$(USER_DEFS),$(USER_UNDEFS),$(C_OPT),$(C_OPT_FILE),C,c,$(CC),OBJS))
+$(foreach ext,cpp cxx cc c++ C,$(eval $(call C_PROC_RAW,$(OBJ_OUTPUT),$(USER_SRCS),$(USER_INC_DIRS),$(USER_CPP_INC_FILES),$(USER_CPP_DEFS),$(USER_CPP_UNDEFS),$(CPP_OPT),$(C_OPT_FILE),C++,$(ext),$(CXX),OBJS)))
+
+# Individual C/C++
+ifneq ($(strip $(USER_EXT_C_KEYS)),)
+$(foreach var,$(USER_EXT_C_KEYS),$(eval $(call C_PROC_RAW,$(OBJ_OUTPUT),$(USER_EXT_$(var)_SRCS),$(USER_EXT_$(var)_INC_DIRS),$(USER_EXT_$(var)_INC_FILES),$(USER_EXT_$(var)_DEFS),$(USER_EXT_$(var)_UNDEFS),$(C_OPT),$(C_OPT_FILE),C,c,$(CC),OBJS)))
+$(foreach ext,cpp cxx cc c++ C,$(foreach var,$(USER_EXT_C_KEYS),$(eval $(call C_PROC_RAW,$(OBJ_OUTPUT),$(USER_EXT_$(var)_SRCS),$(USER_EXT_$(var)_INC_DIRS),$(USER_EXT_$(var)_CPP_INC_FILES),$(USER_EXT_$(var)_CPP_DEFS),$(USER_EXT_$(var)_CPP_UNDEFS),$(CPP_OPT),$(C_OPT_FILE),C++,$(ext),$(CXX),OBJS))))
+endif
+
+
+ifneq ($(strip $(USER_LIB_DIRS)),)
+_ENC_USER_LIB_DIRS := $(call ENCODE_4MAKE,$(USER_LIB_DIRS))
+_ENC_USER_LIB_DIRS := $(addprefix -L,$(_ENC_USER_LIB_DIRS))
+LIBPATHS := $(call DECODE_4MAKE,$(_ENC_USER_LIB_DIRS))
+endif
+
+LIBS += $(addprefix -l,$(USER_LIBS))
+
+UOBJS += $(USER_OBJS)
+
+M_OPT = -MMD -MP -MF"$(@:%.o=%.d)"
+
+DEPS := $(OBJS:.o=.d)
+
+ifneq ($(strip $(DEPS)),)
+-include $(PROJ_ROOT)/Build/$(DEPS)
+endif
+
+
+ifeq ($(strip $(APPTYPE)),app)
+$(APPFILE) : $(OBJS) $(UOBJS)
+ @echo ' Building target: $@'
+ @echo ' Invoking: C/C++ Linker'
+ $(call MAKEDIRS,$(@D))
+ $(CXX) -o $(APPFILE) $(OBJS) $(UOBJS) $(LIBPATHS) -Xlinker --as-needed $(LIBS) $(LINK_FLAGS) $(TC_LINKER_MISC) $(RS_LINKER_MISC) -pie -lpthread --sysroot="$(SYSROOT)" -Xlinker --version-script="$(PROJ_ROOT)/.exportMap" $(RS_LIB_PATHS) $(RS_LIBRARIES) -Xlinker -rpath="/opt/usr/apps/$(APPID)/lib" -Werror-implicit-function-declaration $(USER_LINK_OPTS)
+ @echo ' Finished building target: $@'
+endif
+ifeq ($(strip $(APPTYPE)),staticLib)
+$(APPFILE) : $(OBJS) $(UOBJS)
+ @echo ' Building target: $@'
+ @echo ' Invoking: Archive utility'
+ $(call MAKEDIRS,$(@D))
+ $(AR) -r $(APPFILE) $(OBJS) $(UOBJS) $(AR_FLAGS) $(USER_LINK_OPTS)
+ @echo ' Finished building target: $@'
+endif
+ifeq ($(strip $(APPTYPE)),sharedLib)
+$(APPFILE) : $(OBJS) $(UOBJS)
+ @echo ' Building target: $@'
+ @echo ' Invoking: C/C++ Linker'
+ $(call MAKEDIRS,$(@D))
+ $(CXX) -o $(APPFILE) $(OBJS) $(UOBJS) $(LIBPATHS) -Xlinker --as-needed $(LIBS) $(LINK_FLAGS) $(TC_LINKER_MISC) $(RS_LINKER_MISC) -shared -lpthread --sysroot="$(SYSROOT)" $(RS_LIB_PATHS) $(RS_LIBRARIES) $(USER_LINK_OPTS)
+ @echo ' Finished building target: $@'
+endif
+
+
+$(OBJ_OUTPUT) :
+ $(call MAKEDIRS,$@)
+
+$(OUTPUT_DIR) :
+ $(call MAKEDIRS,$@)
+
+
+ifneq ($(strip $(PLATFORM_INCS)),)
+$(PLATFORM_INCS_FILE) : $(OBJ_OUTPUT)
+ @echo ' Building inc file: $@'
+ifneq ($(findstring Windows,$(OS)),)
+ifneq ($(findstring 3.82,$(MAKE_VERSION)),)
+ $(file > $@,$(PLATFORM_INCS))
+else
+ @echo $(PLATFORM_INCS) > $@
+endif
+else
+ @echo $(PLATFORM_INCS) > $@
+endif
+endif
+
+
+include $(BUILD_ROOT)/build_edc.mk
+
+#ifeq ($(strip $(ENVENTOR_SHARED_RES_PATH)),)
+ENVENTOR_SHARED_RES_PATH ?= $(ENVENTOR_PATH)/share/enventor
+#endif
+
+EDJ_FILES :=
+
+# Global EDCs
+ifneq ($(strip $(USER_EDCS)),)
+$(eval $(call EDJ_PROC_RAW,$(OUTPUT_DIR),$(USER_EDCS),$(USER_EDCS_IMAGE_DIRS),$(USER_EDCS_SOUND_DIRS),$(USER_EDCS_FONT_DIRS),EDJ_FILES))
+endif
+
+# Individual EDCs
+ifneq ($(strip $(USER_EXT_EDC_KEYS)),)
+$(foreach var,$(USER_EXT_EDC_KEYS),$(eval $(call EDJ_PROC_RAW,$(OUTPUT_DIR),$(USER_EXT_$(var)_EDCS),$(USER_EXT_$(var)_EDCS_IMAGE_DIRS),$(USER_EXT_$(var)_EDCS_SOUND_DIRS),$(USER_EXT_$(var)_EDCS_FONT_DIRS),EDJ_FILES)))
+endif
+
+
+include $(BUILD_ROOT)/build_po.mk
+
+MO_FILES :=
+
+# Global POs
+ifneq ($(strip $(USER_POS)),)
+$(eval $(call MO_PROC_RAW,$(OUTPUT_DIR),$(USER_POS),$(APPID2),MO_FILES))
+endif
+
+
+secondary-outputs : $(EDJ_FILES) $(MO_FILES)
+
+-include appendix.mk
+
+app_build : $(OUTPUT_DIR) $(APPFILE) secondary-outputs
+ @echo ========= done =========
+
+
+app_clean :
+ rm -f $(APPFILE)
+ rm -rf $(OUTPUT_DIR)
+
+build_version :
+ @echo makefile.mk : $(BUILD_SCRIPT_VERSION)
--- /dev/null
+# Add inputs and outputs from these tool invocations to the build variables
+
+SYSROOT = $(SBI_SYSROOT)
+
+USR_INCS := $(addprefix -I $(SYSROOT),$(PLATFORM_INCS_EX))
+
+ifeq ($(strip $(PLATFORM_LIB_PATHS)),)
+RS_LIB_PATHS := "$(SYSROOT)/usr/lib"
+else
+RS_LIB_PATHS := $(addprefix -L$(SYSROOT),$(PLATFORM_LIB_PATHS))
+endif
+
+RS_LIBRARIES := $(addprefix -l,$(RS_LIBRARIES_EX))
+
+PLATFORM_INCS = $(USR_INCS) -I"$(SDK_PATH)/library"
--- /dev/null
+# Add inputs and outputs from these tool invocations to the build variables
+
+ifneq ($(strip $(SHELL_BIN)),)
+SHELL = $(SHELL_BIN)
+else
+SHELL = sh
+endif
+
+ifneq ($(strip $(MKDIR_BIN)),)
+MKDIR = $(MKDIR_BIN)
+MKDIR_OP = -p
+else
+MKDIR = mkdir
+MKDIR_OP = -p
+endif
+
+ifneq ($(strip $(UNAME_BIN)),)
+UNAME = $(UNAME_BIN)
+else
+UNAME = uname
+endif
+
+ifneq ($(strip $(M4_BIN)),)
+M4 = $(M4_BIN)
+else
+M4 = m4
+endif
+
+ifneq ($(strip $(TR_BIN)),)
+TR = $(TR_BIN)
+else
+TR = tr
+endif
+
+ifneq ($(strip $(FIND_BIN)),)
+FIND = $(FIND_BIN)
+else
+FIND = find
+endif
+
+ifneq ($(strip $(SED_BIN)),)
+SED = $(SED_BIN)
+else
+SED = sed
+endif
+
+ifneq ($(strip $(GREP_BIN)),)
+GREP = $(GREP_BIN)
+else
+GREP = grep
+endif
+
+ifneq ($(strip $(EDJE_CC_BIN)),)
+EDJE_CC = $(EDJE_CC_BIN)
+else
+EDJE_CC = edje_cc
+endif
+
+ifneq ($(strip $(MSGFMT_BIN)),)
+MSGFMT = $(MSGFMT_BIN)
+else
+MSGFMT = msgfmt
+endif
+
+ifneq ($(strip $(CKSUM_BIN)),)
+CKSUM = $(CKSUM_BIN)
+else
+CKSUM = cksum
+endif
+
--- /dev/null
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+SET(PROJECT_NAME sound-player)
+PROJECT(${PROJECT_NAME} C CXX)
+
+SET(PACKAGE ${PROJECT_NAME})
+SET(PKGNAME "${SP_PKG_NAME}")
+SET(PREFIX "${INSTALL_DIR}/${PKGNAME}")
+SET(BINDIR "${PREFIX}/bin")
+SET(RESDIR "${PREFIX}/res")
+SET(DATADIR "${SP_DATA_PREFIX}/data")
+SET(SHAREDDATADIR "${SP_DATA_PREFIX}/shared/data")
+SET(LOCALEDIR "${RESDIR}/locale")
+SET(ICONDIR "${RESDIR}/icons/default/small")
+SET(EDJDIR "${RESDIR}/edje")
+SET(RICH_INFO_DIR "${CMAKE_SOURCE_DIR}/src/rich_info")
+
+IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
+ SET(CMAKE_BUILD_TYPE "Release")
+ENDIF("${CMAKE_BUILD_TYPE}" STREQUAL "")
+MESSAGE("Build type: ${CMAKE_BUILD_TYPE}")
+
+
+INCLUDE(FindPkgConfig)
+pkg_check_modules(sp_pkgs REQUIRED
+ elementary
+ dlog
+ storage
+ vconf
+ efl-extension
+ edje
+ evas
+ capi-appfw-application
+ capi-system-device
+ capi-appfw-preference
+ capi-appfw-app-manager
+ capi-media-player
+ capi-media-sound-manager
+ capi-media-metadata-extractor
+ capi-system-media-key
+ capi-content-media-content
+ capi-content-mime-type
+ minicontrol-provider
+ capi-media-recorder
+ capi-network-bluetooth
+ capi-message-port
+ capi-system-system-settings
+ notification
+# appcore-common
+
+#START_PUBLIC_REMOVED_STRING
+ libcore-context-manager
+ capi-system-info
+ capi-system-runtime-info
+ capi-web-url-download
+ sqlite3
+ db-util
+ notification
+ capi-telephony
+#END_START_PUBLIC_REMOVED_STRING
+)
+
+INCLUDE_DIRECTORIES(
+ ${GLOBAL_INCLUDE}
+ ${CMAKE_SOURCE_DIR}/src/include
+ ${CMAKE_SOURCE_DIR}/src/common/include
+ ${CMAKE_SOURCE_DIR}/src/core/include
+ ${CMAKE_SOURCE_DIR}/src/view/include
+ ${CMAKE_SOURCE_DIR}/src/widget/include
+
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/include
+)
+
+SET(SRCS
+ ${CMAKE_SOURCE_DIR}/src/mp-main.c
+
+ ${CMAKE_SOURCE_DIR}/src/core/mp-file-tag-info.c
+ ${CMAKE_SOURCE_DIR}/src/core/mp-player-control.c
+ ${CMAKE_SOURCE_DIR}/src/core/mp-player-mgr.c
+ ${CMAKE_SOURCE_DIR}/src/core/mp-setting-ctrl.c
+ ${CMAKE_SOURCE_DIR}/src/core/mp-playlist-mgr.c
+ ${CMAKE_SOURCE_DIR}/src/core/mp-lyric-mgr.c
+ ${CMAKE_SOURCE_DIR}/src/core/mp-volume.c
+ ${CMAKE_SOURCE_DIR}/src/core/mp-view-mgr.c
+
+ ${CMAKE_SOURCE_DIR}/src/common/mp-menu.c
+ ${CMAKE_SOURCE_DIR}/src/common/mp-ug-launch.c
+ ${CMAKE_SOURCE_DIR}/src/common/mp-widget.c
+ ${CMAKE_SOURCE_DIR}/src/common/mp-util.c
+ ${CMAKE_SOURCE_DIR}/src/common/mp-file-util.c
+ ${CMAKE_SOURCE_DIR}/src/common/mp-play.c
+ ${CMAKE_SOURCE_DIR}/src/common/mp-app.c
+ ${CMAKE_SOURCE_DIR}/src/common/mp-media-info.c
+ ${CMAKE_SOURCE_DIR}/src/common/mp-common.c
+
+ ${CMAKE_SOURCE_DIR}/src/view/mp-view.c
+ ${CMAKE_SOURCE_DIR}/src/view/mp-player-view.c
+ ${CMAKE_SOURCE_DIR}/src/view/mp-detail-view.c
+
+ ${CMAKE_SOURCE_DIR}/src/widget/mp-smart-event-box.c
+ ${CMAKE_SOURCE_DIR}/src/widget/mp-popup.c
+ ${CMAKE_SOURCE_DIR}/src/widget/mp-minicontroller.c
+ ${CMAKE_SOURCE_DIR}/src/widget/mp-player-volume-widget.c
+ ${CMAKE_SOURCE_DIR}/src/widget/mp-ctxpopup.c
+ ${CMAKE_SOURCE_DIR}/src/widget/mp-lyric.c
+ ${CMAKE_SOURCE_DIR}/src/core/mp-language-mgr.c
+ ${CMAKE_SOURCE_DIR}/src/widget/mp-lockscreenmini.c
+ ${CMAKE_SOURCE_DIR}/src/widget/mp-notification.c
+)
+
+
+FOREACH(flag ${sp_pkgs_CFLAGS})
+ SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag} ")
+ENDFOREACH(flag)
+
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
+SET(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
+
+SET(CMAKE_C_FLAGS_DEBUG "-O0 -g -fpie")
+SET(CMAKE_C_FLAGS_RELEASE "-O2 -fpie")
+
+ADD_DEFINITIONS("-DMP_SOUND_PLAYER")
+ADD_DEFINITIONS("-DPACKAGE=\"${PACKAGE}\"")
+#ADD_DEFINITIONS("-DPREFIX=\"${PREFIX}\"")
+#ADD_DEFINITIONS("-DRESDIR=\"${RESDIR}\"")
+#ADD_DEFINITIONS("-DLOCALEDIR=\"${LOCALEDIR}\"")
+#ADD_DEFINITIONS("-DICONDIR=\"${ICONDIR}\"")
+#ADD_DEFINITIONS("-DEDJDIR=\"${EDJDIR}\"")
+ADD_DEFINITIONS("-D_FILE_OFFSET_BITS=64")
+ADD_DEFINITIONS("-DSP_DATA_PREFIX=\"${SP_DATA_PREFIX}\"")
+
+if("${CMAKE_SYSTEM_VERSION}" STREQUAL "arm" OR "${CMAKE_SYSTEM_VERSION}" STREQUAL "armv7l")
+ADD_DEFINITIONS("-D__ARM__")
+endif()
+
+#SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed")
+SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--as-needed -pie")
+SET(CMAKE_LDFLAGS "-Wl,-zdefs" )
+
+ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
+TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${sp_pkgs_LDFLAGS} -lm)
+#TARGET_LINK_LIBRARIES(${PROJECT_NAME} -L${CMAKE_SOURCE_DIR}/src/lib -lsmat)
+
+INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${BINDIR})
+INSTALL(DIRECTORY DESTINATION ${DATADIR})
+INSTALL(DIRECTORY DESTINATION ${SHAREDDATADIR})
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${PKGNAME}.png DESTINATION ${CMAKE_DESKTOP_ICON_DIR})
+
+#START_PUBLIC_REMOVED_STRING
+#TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${sp_pkgs_LDFLAGS} dmc-player)
+#END_START_PUBLIC_REMOVED_STRING
--- /dev/null
+
+# Add pre/post build process
+PREBUILD_DESC =
+PREBUILD_COMMAND =
+POSTBUILD_DESC =
+POSTBUILD_COMMAND =
--- /dev/null
+Name=Sound Player
+Name[en_US]=Sound Player
+Name[nl_NL]=Sound Player
+Name[de_DE]=Sound Player
+Name[zh_HK]=Sound Player
+Name[zh_CN]=Sound Player
+Name[ru_RU]=Sound Player
+Name[zh_TW]=Sound Player
+Name[ja_JP]=Sound Player
+Name[es_ES]=Sound Player
+Name[el_GR]=Sound Player
+Name[it_IT]=Sound Player
+Name[tr_TR]=Sound Player
+Name[pt_PT]=Sound Player
+Name[fr_FR]=Sound Player
+Name[ko_KR]=사운드 플레이어
+Type=Application
+Exec=${PREFIX}/bin/sound-player
+Icon=org.tizen.sound-player.png
+Network=TRUE
+Version=0.1.0
+Comment=sound-player
+X-Tizen-TaskManage=True
+X-Tizen-Multiple=False
+X-Tizen-Removable=False
+MimeType=audio/x-flac;audio/mpeg; audio/aac; audio/AMR; audio/AMR-WB; audio/ac3; audio/x-ms-wma; audio/ogg; audio/vorbis; audio/x-wav; audio/imelody; audio/iMelody; audio/rmf; audio/x-rmf; application/x-smaf; application/vnd.smaf; audio/x-xmf; audio/mobile-xmf; audio/mid; audio/vnd.ms-playready.media.pya; audio/imy; audio/m4a; audio/melody; audio/midi; audio/mmf; audio/mp3; audio/mp4; audio/MP4A-LATM; audio/mpeg3; audio/mpeg4; audio/mpg; audio/mpg3; audio/smaf; audio/sp-midi; audio/wav; audio/wave; audio/wma; audio/xmf; audio/amr; audio/amr-wb; audio/x-amr; audio/x-mid; audio/x-midi; audio/x-mp3; audio/-mpeg; audio/x-mpeg3; audio/x-mpegaudio; audio/x-mpg; audio/x-ms-asf; audio/x-wave; application/ogg
+X-Tizen-SVC=http://tizen.org/appcontrol/operation/view|NULL|audio/*;http://tizen.org/appcontrol/operation/view|http|audio/*;http://tizen.org/appcontrol/operation/view|https|audio/*;http://tizen.org/appcontrol/operation/view|NULL|text/x-iMelody;http://tizen.org/appcontrol/operation/view|NULL|application/x-smaf;http://tizen.org/appcontrol/operation/view|http|text/x-iMelody;http://tizen.org/appcontrol/operation/view|http|application/x-smaf
+Nodisplay=TRUE
--- /dev/null
+
+# Project Name
+APPNAME = sound-player
+
+# Project Type
+type = app
+
+# Project Profile
+profile = mobile-3.0
+
+# C Sources
+USER_SRCS = ../src/common/mp-play.c ../src/core/mp-lyric-mgr.c ../src/common/mp-media-info.c ../src/common/mp-ug-launch.c ../src/common/mp-common.c ../src/widget/mp-popup.c ../src/widget/mp-player-volume-widget.c ../src/widget/mp-notification.c ../src/widget/mp-ctxpopup.c ../src/core/mp-player-control.c ../src/view/mp-view.c ../src/view/mp-player-view.c ../src/core/mp-language-mgr.c ../src/core/mp-volume.c ../src/common/mp-widget.c ../src/core/mp-setting-ctrl.c ../src/widget/mp-lyric.c ../src/view/mp-detail-view.c ../src/widget/mp-minicontroller.c ../src/core/mp-view-mgr.c ../src/core/mp-player-mgr.c ../src/common/mp-app.c ../src/widget/mp-smart-event-box.c ../src/common/mp-file-util.c ../src/core/mp-file-tag-info.c ../src/common/mp-menu.c ../src/widget/mp-lockscreenmini.c ../src/mp-main.c ../src/common/mp-util.c ../src/core/mp-playlist-mgr.c
+
+# EDC Sources
+USER_EDCS =
+
+# PO Sources
+USER_POS =
+
+# User Defines
+USER_DEFS = MP_SOUND_PLAYER MP_FEATURE_NO_END MP_FEATURE_LOCKSCREEN MP_FEATURE_PERSONAL_PAGE MP_FEATURE_UNSUPPORT_DRM_CD_SD MP_FEATURE_GL MP_FEATURE_OPTIMIZATION_LAUNCH_TIME SHAREDDIR='"/opt/home/owner/apps_rw/org.tizen.music-player/shared"' DATA_PREFIX='"/opt/home/owner/apps_rw/org.tizen.music-player"' LOCALEDIR='"/opt/home/owner/apps_rw/org.tizen.music-player/po"' EDJPATH='"/opt/home/owner/apps_rw/org.tizen.music-player/res/edje/layout"' PKG_NAME='"org.tizen.sound-player"' PREFIX='"/opt/home/owner/apps_rw/org.tizen.music-player"'
+USER_CPP_DEFS =
+
+# User Undefines
+USER_UNDEFS =
+USER_CPP_UNDEFS =
+
+# User Libraries
+USER_LIBS =
+
+# User Objects
+USER_OBJS =
+USER_OBJS_ABS =
+
+# User Includes
+## C Compiler
+USER_INC_DIRS = src/include $(workspace_loc)/src/common/include $(workspace_loc)/src/include $(workspace_loc)/src/core/include $(workspace_loc)/src/setting/src/include $(workspace_loc)/src/view/include $(workspace_loc)/src/widget/include $(workspace_loc)/inc
+USER_INC_DIRS_ABS = src/include $(workspace_loc)/src/common/include $(workspace_loc)/src/include $(workspace_loc)/src/core/include $(workspace_loc)/src/setting/src/include $(workspace_loc)/src/view/include $(workspace_loc)/src/widget/include $(workspace_loc)/inc
+USER_INC_FILES =
+USER_INC_FILES_ABS =
+## C++ Compiler
+USER_CPP_INC_DIRS =
+USER_CPP_INC_DIRS_ABS =
+USER_CPP_INC_FILES =
+USER_CPP_INC_FILES_ABS =
+
+# User Library Path
+USER_LIB_DIRS =
+USER_LIB_DIRS_ABS =
+
+# EDC Resource Path
+USER_EDCS_IMAGE_DIRS =
+USER_EDCS_IMAGE_DIRS_ABS =
+USER_EDCS_SOUND_DIRS =
+USER_EDCS_SOUND_DIRS_ABS =
+USER_EDCS_FONT_DIRS =
+USER_EDCS_FONT_DIRS_ABS =
+
+# EDC Flags
+USER_EXT_EDC_KEYS =
+
+# Resource Filter
+USER_RES_INCLUDE =
+USER_RES_EXCLUDE =
+
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __SP_VIEW_MANAGER_H__
+#define __SP_VIEW_MANAGER_H__
+
+#include <Elementary.h>
+
+typedef struct _Sp_View_Manager Sp_View_Manager;
+
+typedef enum {
+ SP_VIEW_TYPE_DEFAULT,
+ SP_VIEW_TYPE_PLAY,
+ SP_VIEW_TYPE_INFO,
+#ifdef MP_FEATURE_INNER_SETTINGS
+ SP_VIEW_TYPE_SETTINGS,
+#endif
+ SP_VIEW_TYPE_NUM,
+} Sp_View_Type;
+
+Sp_View_Manager *sp_view_mgr_create(Evas_Object * navi);
+void sp_view_mgr_destroy(Sp_View_Manager * view_mgr);
+Evas_Object *sp_view_mgr_get_naviframe(Sp_View_Manager * view_mgr);
+void sp_view_mgr_push_view_content(Sp_View_Manager * view_mgr,
+ Evas_Object * content,
+ Sp_View_Type type);
+void sp_view_mgr_pop_view_content(Sp_View_Manager * view_mgr,
+ bool pop_to_first);
+void sp_view_mgr_pop_view_to(Sp_View_Manager * view_mgr,
+ Sp_View_Type type);
+Elm_Object_Item *sp_view_mgr_get_play_view_navi_item(Sp_View_Manager *
+ view_mgr);
+void sp_view_mgr_play_view_title_label_set(Sp_View_Manager * view_mgr,
+ const char *title);
+void sp_view_mgr_set_title_label(Sp_View_Manager * view_mgr,
+ const char *title);
+void sp_view_mgr_set_title_visible(Sp_View_Manager * view_mgr, bool flag);
+void sp_view_mgr_set_back_button(Sp_View_Manager * view_mgr,
+ Evas_Smart_Cb cb, void *data);
+
+#endif /* __SP_VIEW_MANAGER_H__ */
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<manifest xmlns="http://tizen.org/ns/packages" api-version="3.0" package="org.tizen.sound-player" version="1.0.0">
+ <profile name="mobile"/>
+ <ui-application appid="org.tizen.sound-player" exec="sound-player" multiple="false" nodisplay="true" taskmanage="true" type="capp" launch_mode="caller" hw-acceleration="on">
+ <label>Sound Player</label>
+ <label xml:lang="hy-am">Ձայնի նվագարկում</label>
+ <label xml:lang="az-az">Səs pleyeri</label>
+ <label xml:lang="eu-es">Soinu erreproduzitzailea</label>
+ <label xml:lang="bg-bg">Звуков плейър</label>
+ <label xml:lang="ca-es">Reproductor de so</label>
+ <label xml:lang="zh-cn">声音播放器</label>
+ <label xml:lang="zh-hk">聲音播放器</label>
+ <label xml:lang="zh-tw">聲音播放器</label>
+ <label xml:lang="hr-hr">MP3 player</label>
+ <label xml:lang="cs-cz">Zvukový přehrávač</label>
+ <label xml:lang="da-dk">Lydafspiller</label>
+ <label xml:lang="nl-nl">MP3-speler</label>
+ <label xml:lang="en-gb">Sound player</label>
+ <label xml:lang="en-us">Sound player</label>
+ <label xml:lang="et-ee">Helimängija</label>
+ <label xml:lang="fi-fi">Soitin</label>
+ <label xml:lang="fr-fr">Lecteur de son</label>
+ <label xml:lang="gl-es">Reprodutor de son</label>
+ <label xml:lang="ka-ge">პლეერი</label>
+ <label xml:lang="de-de">Sound-Player</label>
+ <label xml:lang="el-gr">Αναπαραγωγή ήχου</label>
+ <label xml:lang="hu-hu">Hanglejátszó</label>
+ <label xml:lang="is-is">Hljóðspilun</label>
+ <label xml:lang="ga-ie">Seinnteoir fuaime</label>
+ <label xml:lang="it-it">Lettore suoni</label>
+ <label xml:lang="ja-jp">サウンドプレーヤー</label>
+ <label xml:lang="kk-kz">Дыбыс ойнатқышы</label>
+ <label xml:lang="ko-kr">사운드 플레이어</label>
+ <label xml:lang="lv-lv">Audio atskaņotājs</label>
+ <label xml:lang="lt-lt">Garso grotuvas</label>
+ <label xml:lang="mk-mk">Плеер за звук</label>
+ <label xml:lang="nb-no">Lydspiller</label>
+ <label xml:lang="pl-pl">Odtwarzacz muzyki</label>
+ <label xml:lang="pt-pt">Leitor de som</label>
+ <label xml:lang="pt-br">Player de som</label>
+ <label xml:lang="ro-ro">Player sunete</label>
+ <label xml:lang="ru-ru">Аудиоплеер</label>
+ <label xml:lang="sr-rs">Plejer zvuka</label>
+ <label xml:lang="sk-sk">Prehrávač zvuku</label>
+ <label xml:lang="sl-si">Predvajalnik zvoka</label>
+ <label xml:lang="es-es">Reproductor de sonido</label>
+ <label xml:lang="es-us">Música</label>
+ <label xml:lang="sv-se">Ljudspelare</label>
+ <label xml:lang="tr-tr">Ses oynatıcı</label>
+ <label xml:lang="uk-ua">Музичний плеєр</label>
+ <label xml:lang="uz-uz">Tovush pleyeri</label>
+ <label xml:lang="ar-ae">مشغل الصوت</label>
+ <label xml:lang="zh-sg">声音播放器</label>
+ <label xml:lang="hi-in">ध्वनि प्लेयर</label>
+ <label xml:lang="en-ph">Sound player</label>
+ <label xml:lang="fr-ca">Lecteur de son</label>
+ <icon>org.tizen.sound-player.png</icon>
+ <background-category value="media"/>
+ <app-control>
+ <operation name="http://tizen.org/appcontrol/operation/view" />
+ <mime name="application/ogg" />
+ <mime name="application/x-smaf" />
+ <mime name="application/vnd.smaf" />
+ <mime name="audio/aac" />
+ <mime name="audio/ac3" />
+ <mime name="audio/amr" />
+ <mime name="audio/amr-wb" />
+ <mime name="audio/AMR" />
+ <mime name="audio/AMR-WB" />
+ <mime name="audio/imelody" />
+ <mime name="audio/iMelody" />
+ <mime name="audio/imy" />
+ <mime name="audio/isma" />
+ <mime name="audio/melody" />
+ <mime name="audio/mid" />
+ <mime name="audio/midi" />
+ <mime name="audio/mmf" />
+ <mime name="audio/mobile-xmf" />
+ <mime name="audio/mpeg" />
+ <mime name="audio/mpeg3" />
+ <mime name="audio/mpeg4" />
+ <mime name="audio/mpg" />
+ <mime name="audio/mpg3" />
+ <mime name="audio/mp3" />
+ <mime name="audio/mp4" />
+ <mime name="audio/MP4A-LATM" />
+ <mime name="audio/m4a" />
+ <mime name="audio/ogg" />
+ <mime name="audio/rmf" />
+ <mime name="audio/smaf" />
+ <mime name="audio/sp-midi" />
+ <mime name="audio/vnd.ms-playready.media.pya" />
+ <mime name="audio/vorbis" />
+ <mime name="audio/wav" />
+ <mime name="audio/wave" />
+ <mime name="audio/wma" />
+ <mime name="audio/xmf" />
+ <mime name="audio/x-amr" />
+ <mime name="audio/x-flac" />
+ <mime name="audio/x-mid" />
+ <mime name="audio/x-midi" />
+ <mime name="audio/x-mpeg" />
+ <mime name="audio/x-mpeg3" />
+ <mime name="audio/x-mpegaudio" />
+ <mime name="audio/x-mpg" />
+ <mime name="audio/x-mp3" />
+ <mime name="audio/x-ms-asf" />
+ <mime name="audio/x-ms-wma" />
+ <mime name="audio/x-rmf" />
+ <mime name="audio/x-wav" />
+ <mime name="audio/x-wave" />
+ <mime name="audio/x-xmf" />
+ <mime name="text/x-iMelody" />
+ <mime name="audio/x-vorbis+ogg" />
+ <mime name="audio/webm" />
+ <mime name="audio/3gpp" />
+ <mime name="audio/x-ms-asx" />
+ <uri name="http" />
+ <uri name="https" />
+ <uri name="rtsp" />
+ <uri name="rtp" />
+ </app-control>
+ <app-control>
+ <operation name="http://tizen.org/appcontrol/operation/view" />
+ <mime name="application/x-smaf" />
+ <mime name="application/vnd.smaf" />
+ <mime name="audio/aac" />
+ <mime name="audio/ac3" />
+ <mime name="audio/amr" />
+ <mime name="audio/amr-wb" />
+ <mime name="audio/AMR" />
+ <mime name="audio/AMR-WB" />
+ <mime name="audio/imelody" />
+ <mime name="audio/iMelody" />
+ <mime name="audio/imy" />
+ <mime name="audio/isma" />
+ <mime name="audio/melody" />
+ <mime name="audio/mid" />
+ <mime name="audio/midi" />
+ <mime name="audio/mmf" />
+ <mime name="audio/mobile-xmf" />
+ <mime name="audio/mpeg" />
+ <mime name="audio/mpeg3" />
+ <mime name="audio/mpeg4" />
+ <mime name="audio/mpg" />
+ <mime name="audio/mpg3" />
+ <mime name="audio/mp3" />
+ <mime name="audio/mp4" />
+ <mime name="audio/MP4A-LATM" />
+ <mime name="audio/m4a" />
+ <mime name="audio/ogg" />
+ <mime name="audio/rmf" />
+ <mime name="audio/smaf" />
+ <mime name="audio/sp-midi" />
+ <mime name="audio/vnd.ms-playready.media.pya" />
+ <mime name="audio/vorbis" />
+ <mime name="audio/wav" />
+ <mime name="audio/wave" />
+ <mime name="audio/wma" />
+ <mime name="audio/xmf" />
+ <mime name="audio/x-amr" />
+ <mime name="audio/x-flac" />
+ <mime name="audio/x-mid" />
+ <mime name="audio/x-midi" />
+ <mime name="audio/x-mpeg" />
+ <mime name="audio/x-mpeg3" />
+ <mime name="audio/x-mpegaudio" />
+ <mime name="audio/x-mpg" />
+ <mime name="audio/x-mp3" />
+ <mime name="audio/x-ms-asf" />
+ <mime name="audio/x-ms-wma" />
+ <mime name="audio/x-rmf" />
+ <mime name="audio/x-wav" />
+ <mime name="audio/x-wave" />
+ <mime name="audio/x-xmf" />
+ <mime name="text/x-iMelody" />
+ <mime name="audio/x-vorbis+ogg" />
+ <mime name="audio/webm" />
+ <mime name="audio/3gpp" />
+ <mime name="audio/x-ms-asx" />
+ </app-control>
+ </ui-application>
+</manifest>
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MP_APP_H__
+#define __MP_APP_H__
+
+#include <sys/inotify.h>
+#include <app.h>
+
+typedef enum _mp_inotify_event {
+ MP_INOTI_NONE = 0,
+ MP_INOTI_CREATE, // IN_CREATE
+ MP_INOTI_DELETE, // IN_DELETE
+ MP_INOTI_MODIFY, // IN_MODIFY
+ MP_INOTI_MOVE_OUT, // IN_MOVED_FROM
+ MP_INOTI_MOVE_IN, // IN_MOVED_TO
+ //MP_INOTI_DELETE_SELF, // IN_DELETE_SELF
+ //MP_INOTI_MOVE_SELF, // IN_MOVE_SELF
+ MP_INOTI_MAX,
+} mp_inotify_event;
+
+typedef void (*mp_inotify_cb) (mp_inotify_event event, char *name,
+ void *data);
+
+void mp_app_exit(void *data);
+bool mp_app_noti_init(void *data);
+bool mp_app_noti_ignore(void *data);
+
+Eina_Bool mp_app_key_down_cb(void *data, int type, void *event);
+Eina_Bool mp_app_key_up_cb(void *data, int type, void *event);
+Eina_Bool mp_app_mouse_event_cb(void *data, int type, void *event);
+bool mp_app_grab_mm_keys(struct appdata *ad);
+void mp_app_ungrab_mm_keys(struct appdata *ad);
+void mp_app_live_box_init(struct appdata *ad);
+void mp_app_live_box_deinit(struct appdata *ad);
+
+#ifdef MP_FEATURE_AUTO_OFF
+Eina_Bool mp_app_auto_off_timer_expired_cb(void *data);
+void mp_app_auto_off_changed_cb(int min, void *data);
+#endif
+#ifdef MP_FEATURE_PLAY_SPEED
+void mp_app_play_speed_changed_cb(double speed, void *data);
+#endif
+
+#endif // __MP_APP_H__
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __mp_common_H__
+#define __mp_common_H__
+
+#include <Elementary.h>
+#include <app_control.h>
+#include "music.h"
+#include "mp-list.h"
+#include "mp-widget.h"
+#include "mp-player-control.h"
+#include "mp-all-view.h"
+
+struct text_part {
+ char *part;
+ char *msgid;
+};
+
+#ifdef MP_FEATURE_PERSONAL_PAGE
+typedef enum {
+ MP_COMMON_ALL_ERROR = -1,
+ MP_COMMON_ALL_IN,
+ MP_COMMON_ALL_OUT,
+ MP_COMMON_PART
+} all_in_personal_e;
+#endif
+
+void mp_common_show_player_view_after_play();
+void mp_common_show_setting_view(void);
+void mp_common_show_set_as_view();
+void mp_common_show_edit_view(void *list_view,
+ mp_done_operator_type_t type);
+void mp_common_add_to_playlsit_view(void *list_view);
+void mp_common_view_cancel_cb(void *data, Evas_Object * obj,
+ void *event_info);
+void mp_common_create_search_view_cb(void *data, Evas_Object * obj,
+ void *event_info);
+void mp_common_share_cb(void *data, Evas_Object * obj, void *event_info);
+void mp_common_genlist_checkbox_tts_double_action_sel_cb(void *data,
+ Evas_Object * obj,
+ Elm_Object_Item *
+ item_data);
+void mp_common_genlist_checkbox_sel_cb(void *data, Evas_Object * obj,
+ void *event_info);
+void mp_common_ctxpopup_setting_cb(void *data, Evas_Object * obj,
+ void *event_info);
+void mp_common_ctxpopup_end_cb(void *data, Evas_Object * obj,
+ void *event_info);
+void mp_common_cloud_view_cb(void *data, Evas_Object * obj,
+ void *event_info);
+void mp_common_playlist_rename_cb(void *data, Evas_Object * obj,
+ void *event_info);
+void mp_common_playlist_album_update(mp_media_info_h playlist_handle);
+void mp_common_ctxpopup_make_offline_cb(void *data, Evas_Object * obj,
+ void *event_info);
+void mp_common_ctxpopup_add_to_playlist_cb(void *data, Evas_Object * obj,
+ void *event_info);
+void mp_common_go_to_library_cb(void *data, Evas_Object * obj,
+ void *event_info);
+void mp_common_sweep_share_cb(void *data, Evas_Object * obj,
+ void *event_info);
+
+void mp_common_list_delete_cb(void *data, Evas_Object * obj,
+ void *event_info);
+void mp_common_list_add_to_playlist_cb(void *data, Evas_Object * obj,
+ void *event_info);
+void mp_common_list_more_info_cb(void *data, Evas_Object * obj,
+ void *event_info);
+void mp_common_list_add_to_favorite_cb(void *data, Evas_Object * obj,
+ void *event_info);
+void mp_common_list_unfavorite_cb(void *data, Evas_Object * obj,
+ void *event_info);
+void mp_common_list_set_as_cb(void *data, Evas_Object * obj,
+ void *event_info);
+void mp_common_list_update_albumart_cb(void *data, Evas_Object * obj,
+ void *event_info);
+
+void mp_common_button_add_to_playlist_cb(void *data, Evas_Object * obj,
+ void *event_info);
+void mp_common_set_list_to_reorder_view(void *list_view);
+void mp_common_button_share_list_cb(void *data, Evas_Object * obj,
+ void *event_info);
+void mp_common_button_delete_list_cb(void *data, Evas_Object * obj,
+ void *event_info);
+Evas_Object *mp_common_create_more_ctxpopup(void *view);
+void p_common_show_player_view_after_play();
+void mp_common_create_default_playlist();
+void mp_common_show_player_view(int launch_type, bool disable_effect,
+ bool start_playback, bool start_new_file);
+void mp_common_play_track_list_with_playlist_id(mp_list_item_data_t * item,
+ Evas_Object * genlist,
+ int playlist_id);
+void mp_common_play_track_list_with_song_uid(mp_list_item_data_t* item, Evas_Object *genlist,
+ char *uid, char *uri);
+void mp_common_play_track_list(mp_list_item_data_t * item,
+ Evas_Object * genlist);
+void mp_common_search_by(const char *keyword);
+void mp_common_list_remove_cb(void *data, Evas_Object * obj,
+ void *event_info);
+void mp_common_view_check_changed_cb(void *data, Evas_Object * obj,
+ void *event_info);
+bool mp_common_track_is_current(mp_media_info_h media, MpList_t * list);
+void mp_common_track_delete_cb(void *data, Evas_Object * obj,
+ void *event_info);
+
+#ifndef MP_SOUND_PLAYER
+bool _mp_common_parse_open_shortcut(app_control_h app_control,
+ MpTab_e * tab,
+ char **shortcut_main_info);
+#endif
+MpView_t *mp_common_get_all_view();
+void mp_common_show_add_tracks_view(int playlist_id);
+void mp_common_create_playlist_mgr(void);
+void mp_common_popup_del_cb(void *data, Evas * e, Evas_Object * obj,
+ void *event_info);
+bool mp_common_parse_view_operation(app_control_h app_control);
+void mp_common_create_initial_view(void *ad, app_control_h app_control,
+ int *launch_by_shortcut);
+void mp_common_playall_cb(void *data, Evas_Object * obj, void *event_info);
+void mp_common_add_to_home_cb(void *data, Evas_Object * obj,
+ void *event_info);
+void mp_common_force_close_delete();
+int mp_common_get_playlist_totaltime(mp_track_type_e track_type,
+ int playlist_id, int count);
+
+#ifdef MP_FEATURE_PERSONAL_PAGE
+all_in_personal_e mp_common_is_all_in_personal_page(Evas_Object * genlist);
+void mp_common_add_to_personal_page_cb(void *data, Evas_Object * obj,
+ void *event_info);
+void mp_common_remove_from_personal_page_cb(void *data, Evas_Object * obj,
+ void *event_info);
+all_in_personal_e mp_common_personal_status(void *thiz);
+void mp_common_longpress_private_move_cb(void *data, Evas_Object * obj,
+ void *event_info);
+#endif
+
+#define MP_GENLIST_ITEM_LONG_PRESSED(genlist, popup, obj_item)\
+do {\
+ elm_genlist_item_selected_set(obj_item, EINA_FALSE);\
+ if (popup) {\
+ evas_object_data_set(genlist, "popup", popup);\
+ elm_object_scroll_freeze_push(genlist);\
+ evas_object_event_callback_add(popup, EVAS_CALLBACK_DEL, mp_common_popup_del_cb, genlist);\
+ } \
+} while (0);
+
+#define MP_GENGRID_ITEM_LONG_PRESSED(genlist, popup, obj_item)\
+do {\
+ elm_gengrid_item_selected_set(obj_item, EINA_FALSE);\
+ if (popup) {\
+ evas_object_data_set(genlist, "popup", popup);\
+ elm_object_scroll_freeze_push(genlist);\
+ evas_object_event_callback_add(popup, EVAS_CALLBACK_DEL, mp_common_popup_del_cb, genlist);\
+ } \
+} while (0);
+
+
+#define MP_LIST_ITEM_IGNORE_SELECT(obj)\
+do {\
+Evas_Object *popup = evas_object_data_get(obj, "popup");\
+if (popup) return;\
+} while (0);
+
+#endif // __mp_common_H__
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MP_EDIT_CALLBACK_H__
+#define __MP_EDIT_CALLBACK_H__
+
+typedef enum {
+#ifdef MP_FEATURE_PERSONAL_PAGE
+ MP_EDIT_MOVE,
+#endif
+ MP_EDIT_DELETE,
+ MP_EDIT_ADD_TO_PLAYLIST,
+} mp_edit_operation_t;
+
+#include "music.h"
+void mp_edit_create_delete_popup(void *data);
+void mp_edit_create_add_to_playlist_popup(void *data);
+#ifndef MP_SOUND_PLAYER
+void *mp_edit_get_delete_thread();
+#endif
+
+/* if playlist_name is not null, playlist detail view will be displayed after add to playlist*/
+void mp_edit_cb_excute_add_to_playlist(void *data, int playlist_id,
+ char *playlist_name, bool selected);
+void mp_edit_cb_excute_delete(void *data);
+void mp_edit_cb_cencel_cb(void *data, Evas_Object * obj, void *event_info);
+void mp_edit_cb_excute_make_offline_available(void *data);
+void mp_edit_cb_excute_move(void *data);
+void mp_edit_create_track_delete_popup(void *data);
+
+#endif
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef _GL_FILE_UTIL_H_
+#define _GL_FILE_UTIL_H_
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/stat.h>
+#include <dirent.h>
+#include <string.h>
+#include <Eina.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+ int mp_file_exists(const char *path);
+
+ int mp_file_is_dir(const char *path);
+
+ int mp_file_path_dir_exists(const char *folderPath);
+
+ int mp_file_unlink(const char *filename);
+
+ int mp_file_size(const char *filename);
+
+ int mp_file_rmdir(const char *filename);
+
+ int mp_file_dir_is_empty(const char *path);
+
+ Eina_List *mp_file_ls(const char *dir);
+
+ int mp_file_recursive_rm(const char *dir);
+
+ char *mp_file_dir_get(const char path[]);
+
+ int mp_file_mkpath(char *path);
+
+ int mp_file_mv(const char *src, const char *dst);
+
+ int mp_file_cp(const char *src, const char *dst);
+
+ int mp_file_remove(const char *path);
+
+ char *mp_file_file_get(char path[]);
+
+ char *mp_file_strip_ext(const char *path);
+#ifdef __cplusplus
+}
+#endif
+#endif
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MP_ITEM_H_
+#define __MP_ITEM_H_
+
+#include <Elementary.h>
+#include <mp-define.h>
+
+
+int mp_item_share_by_bt(const char *formed_path, int file_cnt);
+
+
+//===========for ALL share DNLA======================//
+#define AS_IPC_NAME "com.samsung.allshare"
+#define AS_IPC_REQUEST_OBJ "/com/samsumg/allshare"
+#define AS_IPC_INTERFACE "com.samsung.allshare"
+
+#define AS_IPC_REQUEST_METHOD "Request"
+
+typedef struct {
+ int param1; //Allshare_opp_req_t type
+ int param2; //the number of files
+ char *param3; //file path
+} Allshare_para_info_t;
+
+typedef enum {
+ AS_OPP_REQ_FILE_PLAY
+} Allshare_opp_req_t;
+
+#define mp_object_free(obj) \
+do { \
+ if (obj != NULL) { \
+ g_free(obj); \
+ obj = NULL; \
+ } \
+} while (0)
+
+#endif
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MP_MEDIA_INFO_H__
+#define __MP_MEDIA_INFO_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdbool.h>
+
+#define MAX_FILTER_LEN 4096
+#define MEDIA_PLAYED_COUNT "played_count"
+#define MEDIA_LAST_PLAYED_TIME "last_played_time"
+
+ typedef struct mp_media_list_s *mp_media_list_h;
+ typedef struct mp_media_info_s *mp_media_info_h;
+ typedef struct filter_s *mp_filter_h;
+ typedef struct playlist_s *mp_playlist_h;
+
+ typedef bool(*mp_media_info_cb) (mp_media_info_h media,
+ void *user_data);
+
+
+ typedef enum {
+ MP_MEDIA_CONTENT_COLLATE_DEFAULT = 0, /**< default collation BINARY */
+ MP_MEDIA_CONTENT_COLLATE_NOCASE = 1, /**< collation NOCASE, not case sensitive */
+ MP_MEDIA_CONTENT_COLLATE_RTRIM = 2, /**< collation RTRIM, trailing space characters are ignored */
+ } mp_media_content_collation_e;
+
+ typedef enum {
+ MP_MEDIA_TYPE_MUSIC,
+ MP_MEDIA_TYPE_SOUND,
+ } mp_media_type_e;
+
+ typedef enum {
+ MP_TRACK_ALL, /**< All tracks*/
+ MP_TRACK_BY_ALBUM, /**< Album tracks*/
+ MP_TRACK_BY_ARTIST_ALBUM, /** < Albums which has special artist condition */
+ MP_TRACK_BY_ARTIST, /**< Artist tracks*/
+ MP_TRACK_BY_ARTIST_GENRE, /**< Genre tracks which has special artist condition*/
+ MP_TRACK_BY_GENRE, /**< Genre tracks*/
+ MP_TRACK_BY_FOLDER, /**< Genre tracks*/
+ MP_TRACK_BY_YEAR, /**< Year tracks*/
+ MP_TRACK_BY_COMPOSER, /**< Author tracks*/
+ MP_TRACK_BY_SQUARE,
+
+ //To make edit confirm popup text as Remove, track type should be between MP_TRACK_TYPE_PLAYLIST_MIN and MP_TRACK_TYPE_PLAYLIST_MAX
+ MP_TRACK_TYPE_PLAYLIST_MIN,
+ MP_TRACK_BY_FAVORITE, /**< Toprating tracks*/
+ MP_TRACK_BY_PLAYED_TIME, /**< Recently played tracks*/
+ MP_TRACK_BY_ADDED_TIME, /**< Recently added tracks*/
+ MP_TRACK_BY_PLAYED_COUNT, /**< Most played tracks*/
+ MP_TRACK_BY_PLAYLIST, /**< User playlist tracks*/
+ MP_TRACK_TYPE_PLAYLIST_MAX,
+
+ MP_TRACK_BY_VOICE_CLIP,
+ MP_TRACK_BY_GROUP_PLAY,
+ } mp_track_type_e;
+
+ typedef enum {
+ MP_GROUP_NONE,
+ MP_GROUP_BY_ALBUM, /**< Group by album*/
+ MP_GROUP_BY_ARTIST, /**< Group by artist*/
+ MP_GROUP_BY_ARTIST_ALBUM, /**< Group by album which has special artist condition*/
+ MP_GROUP_BY_GENRE, /**< Group by genre*/
+ MP_GROUP_BY_FOLDER, /**< Group by folder*/
+ MP_GROUP_BY_YEAR, /**< Group by year*/
+ MP_GROUP_BY_COMPOSER, /**< Group by author*/
+ MP_GROUP_BY_PLAYLIST,
+ MP_GROUP_BY_SYS_PLAYLIST,
+ MP_GROUP_BY_SQUARE,
+ MP_GROUP_BY_ALLSHARE,
+ } mp_group_type_e;
+
+ typedef enum {
+ MP_SYS_PLST_NONE = -5, //-4
+ MP_SYS_PLST_MOST_PLAYED = -4, //-3
+ MP_SYS_PLST_RECENTELY_ADDED = -3, //-2
+ MP_SYS_PLST_RECENTELY_PLAYED = -2, //-1
+ MP_SYS_PLST_QUICK_LIST = -1, //0
+ MP_SYS_PLST_COUNT = 1,
+ } mp_sys_playlsit_id;
+
+ typedef enum {
+ MP_STORAGE_INTERNAL_EX,
+ MP_STORAGE_EXTERNAL_EX,
+ MP_STORAGE_CLOUD_EX,
+ MP_STORAGE_MUSICHUB_EX,
+ } mp_storage_type_e;
+
+/*connection*/
+ int mp_media_info_connect(void);
+ int mp_media_info_disconnect(void);
+
+/*filter*/
+ int mp_media_filter_create(mp_filter_h * filter);
+ int mp_media_filter_destory(mp_filter_h filter);
+ int mp_media_filter_set_offset(mp_filter_h filter, int offset,
+ int count);
+ int mp_media_filter_set_order(mp_filter_h filter, bool asc,
+ const char *order_keyword,
+ mp_media_content_collation_e collation);
+ int mp_media_filter_set_condition(mp_filter_h filter,
+ const char *condition,
+ mp_media_content_collation_e
+ collation);
+ bool mp_media_info_uri_is_exist_in_db(const char *file_path);
+
+/*media infomation*/
+ int mp_media_info_get_media_id(mp_media_info_h media, char **media_id);
+ int mp_media_info_get_file_path(mp_media_info_h media, char **path);
+ int mp_media_info_get_thumbnail_path(mp_media_info_h media,
+ char **path);
+ int mp_media_info_get_favorite(mp_media_info_h media, bool * favorite);
+ int mp_media_info_is_drm(mp_media_info_h media, bool * drm);
+ int mp_media_info_get_title(mp_media_info_h media, char **title);
+ int mp_media_info_get_album(mp_media_info_h media, char **album);
+ int mp_media_info_get_recorded_date(mp_media_info_h media,
+ char **date);
+ int mp_media_info_get_genre(mp_media_info_h media, char **genre);
+ int mp_media_info_get_artist(mp_media_info_h media, char **artist);
+ int mp_media_info_get_composer(mp_media_info_h media, char **composer);
+ int mp_media_info_get_year(mp_media_info_h media, char **year);
+ int mp_media_info_get_copyright(mp_media_info_h media,
+ char **copyright);
+ int mp_media_info_get_track_num(mp_media_info_h media,
+ char **track_num);
+ int mp_media_info_get_format(mp_media_info_h media, char **format);
+ int mp_media_info_get_media_type(mp_media_info_h media,
+ int *media_type);
+ int mp_media_info_get_bit_rate(mp_media_info_h media, int *bitrate);
+ int mp_media_info_get_bitpersample(mp_media_info_h media,
+ int *bitpersample);
+ int mp_media_info_get_sample_rate(mp_media_info_h media,
+ int *sample_rate);
+ int mp_media_info_get_duration(mp_media_info_h media, int *duration);
+ int mp_media_info_get_added_time(mp_media_info_h media, time_t * time);
+ int mp_media_info_get_playlist_member_id(mp_media_info_h media,
+ int *member_id);
+ int mp_media_info_get_storage_type(mp_media_info_h media,
+ mp_storage_type_e * storage_type);
+ int mp_media_info_get_display_name(mp_media_info_h media,
+ char **display_name);
+
+ int mp_media_info_set_favorite_media_db_only(mp_media_info_h media,
+ bool favorite);
+ int mp_media_info_set_favorite(mp_media_info_h media, bool favorite);
+// int mp_media_info_set_added_time(mp_media_info_h media, time_t time);
+//int mp_media_info_set_cloud_thumbnail_path(mp_media_info_h media, const char *path);
+
+/*media*/
+ int mp_media_info_create(mp_media_info_h * media_list,
+ const char *media_id);
+ int mp_media_info_create_by_path(mp_media_info_h * media_info,
+ const char *file_path);
+ int mp_media_info_destroy(mp_media_info_h media_info);
+
+/*media list*/
+ int mp_media_info_list_count(mp_track_type_e track_type,
+ const char *type_string,
+ const char *type_string2,
+ const char *filter_string,
+ int playlist_id, int *count);
+ int mp_media_info_list_count_w_filter(mp_track_type_e track_type,
+ const char *folder_id,
+ int playlist_id,
+ mp_filter_h filter, int *count);
+ int mp_media_info_list_create(mp_media_list_h * media_list,
+ mp_track_type_e track_type,
+ const char *type_string,
+ const char *type_string2,
+ const char *filter_string,
+ int playlist_id, int offset, int count);
+ int mp_media_info_list_create_w_filter(mp_track_type_e track_type,
+ const char *folder_id,
+ int playlist_id,
+ mp_filter_h filter,
+ mp_media_list_h * media_list);
+ int mp_media_info_list_destroy(mp_media_list_h media_list);
+ mp_media_info_h mp_media_info_list_nth_item(mp_media_list_h media_list,
+ int index);
+ int mp_media_infor_list_get_count(mp_media_list_h media_list);
+
+/*for sound player*/
+ int mp_media_info_sorted_track_list_create(mp_media_list_h * out_list,
+ char *sort_type);
+
+/*group list*/
+ int mp_media_info_group_list_count(mp_group_type_e group_type,
+ const char *type_string,
+ const char *filter_string,
+ int *count);
+ int mp_media_info_group_list_count_w_filter(mp_group_type_e group_type,
+ mp_filter_h filter,
+ int *count);
+ int mp_media_info_group_list_create(mp_media_list_h * media_list,
+ mp_group_type_e group_type,
+ const char *type_string,
+ const char *filter_string,
+ int offset, int count);
+ int mp_media_info_group_list_create_w_filter(mp_filter_h filter,
+ mp_group_type_e
+ group_type,
+ mp_media_list_h *
+ media_list);
+ int mp_media_info_group_list_destroy(mp_media_list_h media_list);
+ mp_media_info_h mp_media_info_group_list_nth_item(mp_media_list_h
+ media_list,
+ int index);
+
+ int mp_media_info_group_get_type(mp_media_info_h media,
+ mp_group_type_e * group_type);
+ int mp_media_info_group_get_main_info(mp_media_info_h media,
+ char **main_info);
+ int mp_media_info_group_get_sub_info(mp_media_info_h media,
+ char **sub_info);
+ int mp_media_info_group_get_playlist_id(mp_media_info_h media,
+ int *playlist_id);
+ int mp_media_info_group_get_folder_id(mp_media_info_h media,
+ char **folder_id);
+ int mp_media_info_group_get_thumbnail_path(mp_media_info_h media,
+ char **path);
+ int mp_media_info_group_get_track_count(mp_media_info_h media,
+ int *count);
+
+//only for artists
+ int mp_media_info_group_get_album_thumnail_paths(mp_media_info_h media,
+ char ***thumbs,
+ int *count);
+
+ int mp_media_info_playlist_get_thumbnail_path(mp_media_info_h media,
+ char **path);
+ int mp_media_info_playlist_set_thumbnail_path(mp_media_info_h media,
+ const char *path);
+
+/*playlist list*/
+ int mp_media_info_playlist_get_id_by_name(const char *playlist_name,
+ int *playlist_id);
+ int mp_media_info_playlist_delete_from_db(int playlist_id);
+ int mp_media_info_playlist_add_media(int playlist_id,
+ const char *media_id);
+ int mp_media_info_playlist_remove_media(mp_media_info_h playlist,
+ int memeber_id);
+ int mp_media_info_playlist_set_play_order(mp_media_info_h playlist,
+ int memeber_id,
+ int play_order);
+ int mp_media_info_playlist_update_db(mp_media_info_h playlist);
+ int mp_media_info_playlist_db_update(mp_playlist_h playlist_handle);
+ int mp_media_info_playlist_is_exist(const char *playlist_name,
+ bool * exist);
+ int mp_media_info_playlist_unique_name(const char *orig_name,
+ char *unique_name,
+ size_t max_unique_name_length);
+ int mp_media_info_playlist_rename(mp_media_info_h playlist,
+ const char *new_name);
+ int mp_media_info_playlist_get_play_order(mp_media_info_h playlist,
+ int playlist_member_id,
+ int *play_order);
+
+/*playlist handle for add to playlist*/
+ int mp_media_info_playlist_handle_create(mp_playlist_h * playlist_h,
+ int playlist_id);
+ int mp_media_info_playlist_add_item(mp_playlist_h playlist_handle,
+ const char *media_id,
+ const char *thumbnail_path);
+ int mp_media_info_dup_playlist_handle_from_list_item(mp_media_info_h
+ playlist,
+ mp_playlist_h *
+ playlist_handle);
+ int mp_media_info_playlist_insert_to_db(const char *name,
+ int *playlist_id,
+ mp_playlist_h *
+ playlist_handle);
+ int mp_media_info_playlist_get_name_by_id(int playlist_id,
+ char **playlist_name);
+ int mp_media_info_playlist_prepend_media(mp_playlist_h playlist_handle,
+ const char *media_id);
+ int mp_media_info_playlist_handle_destroy(mp_playlist_h
+ playlist_handle);
+
+//db sync
+ int mp_media_info_delete_from_db(const char *path);
+
+/* util */
+ int mp_media_info_get_folder_path_by_folder_id(const char *folder_id,
+ char **path);
+ int mp_media_info_get_auto_playlist_id_by_name(const char *name);
+
+//db update callback
+ typedef void (*db_update_cb) (void *data);
+ int mp_media_playlist_get_playlist_count_from_db();
+ int mp_media_info_set_db_update_cb(db_update_cb cb, void *data);
+ int mp_media_info_unset_db_update_cb(void);
+
+#ifdef __cplusplus
+}
+#endif
+#endif
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+#ifndef __MP_MENU_H_
+#define __MP_MENU_H_
+
+#include "mp-media-info.h"
+typedef enum {
+ MP_MENU_FUNC_ADD_TO_LIST = 0,
+ MP_MENU_FUNC_DELETE,
+} mp_menu_func_type;
+
+void mp_menu_ctxpopup_share_select_cb(void *data, Evas_Object * obj,
+ void *event_info);
+void mp_menu_ctxpopup_set_as_select_cb(void *data, Evas_Object * obj,
+ void *event_info);
+void mp_menu_genlist_set_as_select_cb(void *data, Evas_Object * obj,
+ void *event_info);
+
+void mp_menu_genlist_popup_share_select_cb(void *data, Evas_Object * obj,
+ void *event_info);
+void mp_menu_genlist_popup_list_share_select_cb(void *data,
+ Evas_Object * obj,
+ void *event_info);
+
+void mp_menu_share_cb(void *data, Evas_Object * obj, void *event_info);
+void mp_menu_set_cb(void *data, Evas_Object * obj, void *event_info);
+
+#ifndef MP_SOUND_PLAYER
+void mp_menu_delete_cb(void *data, Evas_Object * obj, void *event_info);
+void mp_menu_add_to_playlist_cb(void *data, Evas_Object * obj,
+ void *event_info);
+mp_track_type_e mp_menu_get_track_type_by_group(mp_group_type_e
+ group_type);
+void mp_menu_add_to_play_list_cancel_create_cb(void *data,
+ Evas_Object * obj,
+ void *event_info);
+void mp_menu_add_to_play_list_done_create_cb(void *data, Evas_Object * obj,
+ void *event_info);
+#endif
+
+//system string
+#define BLUETOOTH_SYS GET_SYS_STR("IDS_COM_BODY_BLUETOOTH")
+#define EMAIL_SYS GET_SYS_STR("IDS_COM_BODY_EMAIL")
+#define MESSAGE_SYS GET_SYS_STR("IDS_COM_BODY_MESSAGE")
+#endif // __MP_MENU_H_
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MP_PLAY_H_
+#define __MP_PLAY_H_
+
+#include <Elementary.h>
+#include <notification_internal.h>
+#include "mp-define.h"
+
+#define MP_PLAY_ERROR_NO_SONGS -1
+
+#define MP_PLAY_ERROR_NETWORK -101
+#define MP_PLAY_ERROR_STREAMING -102
+
+bool mp_play_item_play_current_item(void *data);
+bool mp_play_start_in_ready_state(void *data);
+int mp_play_new_file(void *data, bool check_drm);
+void mp_play_prev_file(void *data);
+void mp_play_next_file(void *data, bool forced);
+void mp_play_prepare(void *data);
+void mp_play_start(void *data);
+void mp_play_pause(void *data);
+void mp_play_stop(void *data);
+void mp_play_resume(void *data);
+bool mp_play_fast_destory(void *data);
+bool mp_play_destory(void *data);
+#endif /*__DEF_music_player_contro_H_*/
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef _MP_TA_H_
+#define _MP_TA_H_
+
+#include "mp-define.h"
+
+#ifdef ENABLE_MP_TA
+
+// defs.
+#define MP_TA_MAX_CHECKPOINT 500
+#define MP_TA_MAX_ACCUM 500
+
+typedef struct _mp_ta_checkpoint {
+ unsigned long timestamp;
+ char *name;
+} mp_ta_checkpoint;
+
+typedef struct _mp_ta_accum_item {
+ unsigned long elapsed_accum;
+ unsigned long num_calls;
+ unsigned long elapsed_min;
+ unsigned long elapsed_max;
+ unsigned long first_start;
+ unsigned long last_end;
+
+ char *name;
+
+ unsigned long timestamp;
+ int on_estimate;
+ int num_unpair;
+} mp_ta_accum_item;
+
+#define MP_TA_SHOW_STDOUT 0
+#define MP_TA_SHOW_STDERR 1
+#define MP_TA_SHOW_FILE 2
+#define MP_TA_RESULT_FILE "/tmp/mp-ta.log"
+
+
+/////////////////////////////
+// COMMON
+int mp_ta_init(void);
+int mp_ta_release(void);
+void mp_ta_set_enable(int enable);
+char *mp_ta_fmt(const char *fmt, ...);
+
+/////////////////////////////
+// CHECK POINT
+int mp_ta_add_checkpoint(char *name, int show, char *filename, int line);
+void mp_ta_show_checkpoints(void);
+void mp_ta_show_diff(char *name1, char *name2);
+
+int mp_ta_get_numof_checkpoints();
+unsigned long mp_ta_get_diff(char *name1, char *name2);
+//char* mp_ta_get_name(int idx);
+bool mp_ta_is_init(void);
+int mp_ta_increase_level(void);
+int mp_ta_decrease_level(void);
+
+/////////////////////////////
+// ACCUM ITEM
+int mp_ta_accum_item_begin(char *name, int show, char *filename, int line);
+int mp_ta_accum_item_end(char *name, int show, char *filename, int line);
+void mp_ta_accum_show_result(int direction);
+
+// macro.
+#define MP_TA_INIT() (mp_ta_init())
+#define MP_TA_RELEASE() (mp_ta_release())
+#define MP_TA_SET_ENABLE(enable) (mp_ta_set_enable(enable))
+
+// checkpoint handling
+#define MP_TA_ADD_CHECKPOINT(name, show) (mp_ta_add_checkpoint(name, show, __FILE__, __LINE__))
+#define MP_TA_SHOW_CHECKPOINTS() (mp_ta_show_checkpoints())
+#define MP_TA_SHOW_DIFF(name1, name2) (mp_ta_show_diff(name1, name2))
+#define MP_TA_GET_NUMOF_CHECKPOINTS() (mp_ta_get_numof_checkpoints())
+#define MP_TA_GET_DIFF(name1, name2) (mp_ta_get_diff(name1, name2))
+// accum item handling
+#define MP_TA_ACUM_ITEM_BEGIN(name, show) (mp_ta_accum_item_begin(name, show, __FILE__, __LINE__))
+#define MP_TA_ACUM_ITEM_END(name, show) (mp_ta_accum_item_end(name, show, __FILE__, __LINE__))
+#define MP_TA_ACUM_ITEM_SHOW_RESULT() (mp_ta_accum_show_result(MP_TA_SHOW_STDOUT))
+#define MP_TA_ACUM_ITEM_SHOW_RESULT_TO(x) (mp_ta_accum_show_result(x))
+
+#define TA(start, label)\
+do {\
+ if (start)\
+ TA_S(label);\
+ else\
+ TA_E(label);\
+} while (0)
+
+#define TA_PADDING " "
+
+#define TA_S(label)\
+do {\
+ if (!mp_ta_is_init())\
+ break;\
+ char buf[128] = {0,};\
+ int i = 0, pos = 0, level = 0;\
+ level = mp_ta_increase_level();\
+ while (i < level) {pos += snprintf(buf+pos, 128-pos, TA_PADDING); i++; } \
+ snprintf(buf+pos, 128-pos, "%s", label);\
+ mp_ta_accum_item_begin(buf, 0, __FILE__, __LINE__);\
+} while (0)
+
+#define TA_E(label)\
+do {\
+ if (!mp_ta_is_init())\
+ break;\
+ char buf[128] = {0,};\
+ int i = 0, pos = 0, level = 0;\
+ level = mp_ta_decrease_level();\
+ while (i < level) {pos += snprintf(buf+pos, 128-pos, TA_PADDING); i++; } \
+ snprintf(&buf[pos], 128-pos, "%s", label);\
+ mp_ta_accum_item_end(buf, 0, __FILE__, __LINE__);\
+} while (0)
+
+#define TA_S_L(level, label)\
+do {\
+ if (!mp_ta_is_init())\
+ break;\
+ char buf[128] = {0,};\
+ int i = 0, pos = 0;\
+ while (i < level) {pos += snprintf(buf+pos, 128-pos, TA_PADDING); i++; } \
+ snprintf(buf+pos, 128-pos, "%s", label);\
+ mp_ta_accum_item_begin(buf, 0, __FILE__, __LINE__);\
+} while (0)
+
+#define TA_E_L(level, label)\
+do {\
+ if (!mp_ta_is_init())\
+ break;\
+ char buf[128] = {0,};\
+ int i = 0, pos = 0;\
+ while (i < level) {pos += snprintf(buf+pos, 128-pos, TA_PADDING); i++; } \
+ snprintf(&buf[pos], 128-pos, "%s", label);\
+ mp_ta_accum_item_end(buf, 0, __FILE__, __LINE__);\
+} while (0)
+
+#else //#ifdef ENABLE_MP_TA
+
+#define MP_TA_INIT()
+#define MP_TA_RELEASE()
+#define MP_TA_SET_ENABLE(enable)
+
+// checkpoint handling
+#define MP_TA_ADD_CHECKPOINT(name, show)
+#define MP_TA_SHOW_CHECKPOINTS()
+#define MP_TA_SHOW_DIFF(name1, name2)
+#define MP_TA_GET_NUMOF_CHECKPOINTS()
+#define MP_TA_GET_DIFF(name1, name2)
+//#define MP_TA_GET_NAME(idx)
+
+// accum item handling
+#define MP_TA_ACUM_ITEM_BEGIN(name, show)
+#define MP_TA_ACUM_ITEM_END(name, show)
+#define MP_TA_ACUM_ITEM_SHOW_RESULT()
+#define MP_TA_ACUM_ITEM_SHOW_RESULT_TO(x)
+/*
+#define __mp_ta__(name, x)
+#define __mm_tafmt__(fmt, args...)
+*/
+#define TA(start, label)
+#define TA_S(label)
+#define TA_E(label)
+#define TA_S_L(level, label)
+#define TA_E_L(level, label)
+#endif //#ifdef ENABLE_MP_TA
+
+#endif // _MP_TA_H_
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MP_ug_launch_H_
+#define __MP_ug_launch_H_
+#include <app_control.h>
+#include <app_manager.h>
+
+int mp_ug_email_attatch_file(const char *filepath, void *user_data);
+#ifndef MP_SOUND_PLAYER
+int mp_ug_camera_take_picture(void *data);
+int mp_ug_gallery_get_picture(void *data);
+#endif
+int mp_ug_contact_user_sel(const char *filepath, void *user_data);
+int mp_ug_set_as_alarm_tone(const char *filepath, int position);
+
+bool mp_send_via_appcontrol(struct appdata *ad, mp_send_type_e send_type,
+ const char *files);
+
+#endif // __MP_ug_launch_H_
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MP_UTIL_H_
+#define __MP_UTIL_H_
+
+#include <app_preference.h>
+#include "music.h"
+
+typedef enum {
+ MP_FILE_DELETE_ERR_USING = -2,
+ MP_FILE_DELETE_ERR_REMOVE_FAIL = -1,
+ MP_FILE_DELETE_ERR_INVALID_FID = 0,
+ MP_FILE_DELETE_ERR_NONE,
+} mp_file_delete_err_t;
+
+typedef enum {
+ MP_DIR_NONE = 0,
+ MP_DIR_PHONE,
+ MP_DIR_MMC,
+ MP_DIR_HTTP
+} mp_dir_e;
+
+enum {
+ PREF_PLAYER_OFF = 0x00,
+ PREF_PLAYER_ON
+};
+
+enum {
+ PREF_MUSIC_OFF = 0x00,
+ PREF_MUSIC_PLAY,
+ PREF_MUSIC_PAUSE,
+ PREF_MUSIC_STOP,
+ PREF_MUSIC_STATE_MAX
+};
+
+enum {
+ PREF_NO_MINICONTROLLER = -1,
+ PREF_MUSIC_PLAYER_MINICONTROLLER,
+ PREF_SOUND_PLAYER_MINICONTROLLER,
+ PREF_MINICONTROLLER_MAX
+};
+
+#define GET_WINDOW() ((mp_util_get_appdata()) ? mp_util_get_appdata()->win_main : NULL)
+#define CHECK_STORE mp_util_is_store_enable()
+#define PREF_MUSIC_STATE "preference/org.tizen.music-player/state"
+#define PREF_SOUND_PLAYER_LAUNCH "preference/org.tizen.sound-player/launch_state"
+#define PREF_MUSIC_PLAYER_LAUNCH "preference/org.tizen.music-player/launch_state"
+#define PREF_MINICONTROLLER "preference/minicontrol_state"
+
+void mp_to_lower(char *str);
+int mp_setting_get_nowplaying_id(void);
+bool mp_util_text_multiline_check(Evas_Object * obj, const char *text,
+ const char *textstyle, int text_width,
+ int text_height);
+bool mp_check_file_exist(const char *path);
+void mp_util_format_duration(char *time, int ms);
+void mp_util_song_format_duration(char *time, int ms);
+bool mp_util_add_to_playlist_by_key(int playlist_id, char *key_id);
+bool mp_util_delete_track_by_id(char *key_id);
+Evas_Object *mp_util_create_image(Evas_Object * obj, const char *path,
+ const char *group, int w, int h);
+Evas_Object *mp_util_create_thumb_icon(Evas_Object * obj, const char *path,
+ int w, int h);
+Evas_Object *mp_util_create_lazy_update_thumb_icon(Evas_Object * obj,
+ const char *path, int w,
+ int h);
+const char *mp_util_get_index(const char *p);
+const char *mp_util_get_second_index(const char *p);
+Evas_Object *mp_util_create_selectioninfo_with_count(void *data,
+ int count);
+void mp_util_post_status_message(struct appdata *ad, const char *text);
+void mp_util_post_add_to_playlist_popup_message(int count);
+char *mp_util_get_new_playlist_name(void);
+void mp_post_notification_indicator(char *status);
+mp_file_delete_err_t mp_util_delete_track(void *data, char *fid,
+ char *file_path);
+
+int mp_util_share_via_bt(const char *formed_path, int file_cnt);
+int mp_util_file_is_in_phone_memory(const char *path);
+
+char *mp_util_get_path_by_handle(mp_media_info_h record);
+char *mp_util_isf_get_edited_str(Evas_Object * isf_entry,
+ bool permit_first_blank);
+int mp_util_create_playlist(struct appdata *ad, char *name,
+ mp_playlist_h * playlist_handle);
+
+bool mp_util_set_screen_mode(void *data, int mode);
+void mp_noti_read_ini_file(void *data, Ecore_File_Monitor * em,
+ Ecore_File_Event event, const char *path);
+
+bool mp_util_launch_browser(const char *url, struct appdata *ad);
+const char *util_get_file_path(const char *relative);
+
+
+#define mp_object_free(obj) \
+do { \
+ if (obj != NULL) { \
+ g_free(obj); \
+ obj = NULL; \
+ } \
+} while (0)
+
+#define MMC_PATH MP_MMC_ROOT_PATH
+#define PKGNAME_SYSTEM "sys_string"
+
+gunichar mp_util_get_utf8_initial_value(const char *name);
+gchar *mp_get_new_playlist_name(void);
+gchar *mp_parse_get_title_from_path(const gchar * path);
+char *mp_util_get_title_from_path(const char *path);
+bool mp_util_is_playlist_name_valid(char *name);
+void mp_util_set_library_controlbar_items(void *data);
+
+void mp_util_reset_genlist_mode_item(Evas_Object * genlist);
+
+bool mp_util_is_image_valid(Evas * evas, const char *path);
+char *mp_util_shorten_path(char *path_info);
+
+bool mp_util_is_earjack_inserted(void);
+void mp_util_get_sound_path(mp_snd_path * snd_path);
+
+const char *mp_util_search_markup_keyword(const char *string,
+ char *searchword, bool * result);
+
+bool mp_util_is_other_player_playing(void);
+bool mp_util_is_now_active_player(void);
+
+int mp_commmon_check_rotate_lock(void);
+int mp_check_mass_storage_mode(void);
+
+bool mp_util_sleep_lock_set(bool lock, bool force_unlock);
+bool mp_util_is_nfc_feature_on(void);
+
+void mp_util_strncpy_safe(char *x_dst, const char *x_src, int max_len);
+void mp_util_free_track_info(mp_track_info_t * track_info);
+void mp_util_load_track_info(struct appdata *ad, mp_plst_item * cur_item,
+ mp_track_info_t ** info);
+void mp_util_append_media_list_item_to_playlist(mp_plst_mgr * playlist_mgr,
+ mp_media_list_h media_list,
+ int count,
+ int current_index,
+ const char *uri);
+char *mp_util_get_fid_by_full_path(const char *full_path, char **title,
+ char **artist);
+EXPORT_API struct appdata *mp_util_get_appdata(void);
+char *mp_util_get_text(const char *str);
+void mp_util_more_btn_move_ctxpopup(Evas_Object * ctxpopup,
+ Evas_Object * btn);
+Elm_Object_Item *mp_util_ctxpopup_item_append_ext(Evas_Object * obj,
+ const char *label,
+ const char *file,
+ const char *group,
+ Evas_Smart_Cb func,
+ const void *data);
+Elm_Object_Item *mp_util_ctxpopup_item_append(Evas_Object * obj,
+ const char *label,
+ const char *group,
+ Evas_Smart_Cb func,
+ const void *data);
+Elm_Object_Item *mp_util_toolbar_item_append(Evas_Object * obj,
+ const char *icon,
+ const char *label,
+ Evas_Smart_Cb func,
+ const void *data);
+
+Elm_Object_Item *mp_util_toolbar_nth_item(Evas_Object * obj, int n);
+
+bool mp_util_get_sip_state(void);
+bool mp_util_is_landscape(void);
+
+int mp_util_parse_device_type(const char *name);
+
+void mp_util_set_livebox_update_timer(void);
+void mp_util_print_geometry(Evas_Object * obj, const char *name);
+void mp_util_hide_lock_screen(void);
+bool mp_util_is_lock_screen_exist(void);
+void mp_util_object_item_translate_set(Elm_Object_Item * item,
+ const char *ID);
+bool mp_util_file_playable(const char *uri);
+char *mp_util_file_mime_type_get(const char *uri);
+bool mp_util_app_resume(void);
+bool mp_util_system_volume_popup_show(void);
+bool mp_util_is_call_connected(void);
+void mp_util_domain_translatable_text_set(Evas_Object * obj,
+ const char *text);
+void mp_util_domain_translatable_part_text_set(Evas_Object * obj,
+ const char *part,
+ const char *text);
+void mp_util_item_domain_translatable_part_text_set(Elm_Object_Item * item,
+ const char *part,
+ const char *text);
+bool mp_util_is_mmc_removed(void);
+
+void dump_win(Evas_Object * obj, int max_depth);
+void dump_obj(Evas_Object * obj, int lvl, int max_depth);
+void dump_widget(Evas_Object * obj, int lvl, int max_depth);
+#ifdef MP_FEATURE_PERSONAL_PAGE
+bool mp_util_is_in_personal_page(const char *path);
+bool mp_util_is_personal_page_on();
+void mp_util_get_unique_name(char *original_file_name,
+ char **unique_file_name);
+int mp_util_is_duplicated_name(const char *dir, const char *name);
+int mp_util_get_file_ext(const char *filename, char **file_ext);
+
+#endif
+bool mp_util_mirroring_is_connected(void);
+
+int mp_util_get_root_window_angle(Evas_Object * win);
+bool mp_util_is_scan_nearby_available();
+bool mp_util_is_store_enable(void);
+bool mp_util_free_space_check(double size);
+
+bool mp_util_media_is_uhqa(const char *media_id);
+mp_dir_e mp_util_get_file_location(const char *uri);
+void mp_util_lock_cpu();
+void mp_util_release_cpu();
+
+#endif //__MP_UTIL_H_
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MP_WIDGET_H_
+#define __MP_WIDGET_H_
+
+#include "music.h"
+
+#define _EDJ(obj) elm_layout_edje_get(obj) /**< get evas object from elm layout */
+
+typedef enum {
+ MP_LOADING_ICON_SIZE_LARGE, // normal
+ MP_LOADING_ICON_SIZE_MEDIUM,
+ MP_LOADING_ICON_SIZE_SMALL,
+ MP_LOADING_ICON_SIZE_XLARGE,
+} mp_loading_icon_size_e;
+
+Evas_Object *mp_widget_navigation_new(Evas_Object * parent);
+EXPORT_API Evas_Object *mp_widget_genlist_create(Evas_Object * parent);
+Evas_Object *mp_widget_text_popup(void *data, const char *message);
+Evas_Object *mp_widget_text_popup_show(void *data, const char *message,
+ bool show);
+Evas_Object *mp_widget_text_cb_popup(void *data, const char *message,
+ Evas_Smart_Cb cb);
+
+Evas_Object *mp_widget_create_icon(Evas_Object * obj, const char *path,
+ int w, int h);
+Evas_Object *mp_widget_create_button(Evas_Object * parent, char *style,
+ char *caption, Evas_Object * icon,
+ void (*func) (void *, Evas_Object *,
+ void *), void *data);
+char *mp_widget_set_text_theme_color(const char *text, const char *color);
+Evas_Object *mp_widget_create_editfield(Evas_Object * parent,
+ int limit_size, char *guide_txt,
+ struct appdata *ad);
+Evas_Object *mp_widget_editfield_entry_get(Evas_Object * editfield);
+Evas_Object *mp_create_title_text_btn(Evas_Object * parent,
+ const char *text, Evas_Smart_Cb func,
+ void *data);
+Evas_Object *mp_widget_create_title_btn(Evas_Object * parent,
+ const char *text,
+ const char *icon_path,
+ Evas_Smart_Cb func, void *data);
+Evas_Object *mp_common_create_naviframe_title_button(Evas_Object * parent,
+ const char *text_id,
+ void *save_cb,
+ void *user_data);
+Evas_Object *mp_widget_create_layout_main(Evas_Object * parent);
+EXPORT_API Evas_Object *mp_common_load_edj(Evas_Object * parent,
+ const char *file,
+ const char *group);
+Evas_Object *mp_create_win(const char *name);
+Evas_Object *mp_widget_text_button_popup(void *data, const char *message);
+EXPORT_API Evas_Object *mp_widget_notify_cb_popup(void *data,
+ const char *message,
+ Evas_Smart_Cb cb,
+ void *cb_data);
+
+typedef enum {
+ MP_NOCONTENT_NORMAL,
+ MP_NOCONTENT_TRACKS,
+ MP_NOCONTENT_PLAYLIST,
+ MP_NOCONTENT_ARTISTS,
+ MP_NOCONTENT_ALBUMS,
+ MP_NOCONTENT_FOLDERS,
+ MP_NOCONTENT_GENRES,
+ MP_NOCONTENT_DEVICE,
+} MpNocontent_e;
+
+Evas_Object *mp_widget_create_no_contents(Evas_Object * parent,
+ MpNocontent_e type,
+ void (*callback) (void *data,
+ Evas_Object *
+ obj,
+ void
+ *event_info),
+ void *user_data);
+Evas_Object *mp_widget_create_no_content_playlist(Evas_Object * parent,
+ char *helptext,
+ void (*callback) (void
+ *data,
+ Evas_Object
+ *obj,
+ void
+ *event_info),
+ void *user_data);
+Evas_Object *mp_widget_no_contents_default_add(Evas_Object * parent,
+ const char *text,
+ const char *help_text);
+Evas_Object *mp_widget_shorcut_box_add(Evas_Object * parent,
+ const char *title, const char *file,
+ const char *group, int w, int h,
+ Edje_Signal_Cb func, void *data);
+Evas_Object *mp_widget_create_tabbar(Evas_Object * obj);
+Evas_Object *mp_widget_slide_title_create(Evas_Object * parent,
+ const char *style,
+ const char *text);
+Evas_Object *mp_widget_device_icon_add(Evas_Object * parent,
+ int device_type);
+Evas_Object *mp_widget_connection_info_add(Evas_Object * parent,
+ Evas_Object * src_icon,
+ const char *src_name,
+ Evas_Object * dest_icon,
+ const char *dest_name);
+Evas_Object *mp_widget_create_title_icon(Evas_Object * parent,
+ const char *file,
+ const char *group);
+Evas_Object *mp_widget_create_bg(Evas_Object * parent);
+
+#define MP_TOOLBAR_BTN_DEFAULT "naviframe/toolbar/default"
+#define MP_TOOLBAR_BTN_LEFT "naviframe/toolbar/left"
+#define MP_TOOLBAR_BTN_RIGHT "naviframe/toolbar/right"
+#define MP_TOOLBAR_BTN_MORE "naviframe/more/default"
+Evas_Object *mp_widget_create_toolbar_btn(Evas_Object * parent,
+ const char *style,
+ const char *text,
+ Evas_Smart_Cb func, void *data);
+Evas_Object *mp_widget_create_naviframe_toolbar(Elm_Object_Item * navi_it);
+Elm_Object_Item *mp_widget_create_toolbar_item_btn(Evas_Object * parent,
+ const char *style,
+ const char *text,
+ Evas_Smart_Cb func,
+ void *data);
+Evas_Object *mp_widget_create_title_icon_btn(Evas_Object * parent,
+ const char *file,
+ const char *group,
+ Evas_Smart_Cb func,
+ void *data);
+Evas_Object *mp_widget_create_title_icon_btn_second(Evas_Object * parent,
+ const char *file,
+ const char *group,
+ Evas_Smart_Cb func,
+ void *data);
+Evas_Object *mp_widget_create_title_icon_btn_black(Evas_Object * parent,
+ const char *file,
+ const char *group,
+ Evas_Smart_Cb func,
+ void *data);
+Evas_Object *mp_widget_loading_icon_add(Evas_Object * parent,
+ mp_loading_icon_size_e size);
+Evas_Object *mp_widget_create_navi_right_btn(Evas_Object * pParent,
+ Elm_Object_Item * pNaviItem,
+ Evas_Smart_Cb pFunc,
+ void *pUserData);
+Evas_Object *mp_widget_create_navi_left_btn(Evas_Object * pParent,
+ Elm_Object_Item * pNaviItem,
+ Evas_Smart_Cb pFunc,
+ void *pUserData);
+bool mp_widget_create_select_all_layout(Evas_Object * pParent,
+ Evas_Smart_Cb pChangeFunc,
+ Evas_Object_Event_Cb
+ pMouseDownFunc, void *pUserData,
+ Evas_Object ** pCheckBox,
+ Evas_Object ** pSelectLayout);
+
+
+#ifdef MP_FEATURE_PERSONAL_PAGE
+Evas_Object *mp_widget_lock_icon_create(Evas_Object * obj,
+ const char *thumbpath);
+#endif
+Evas_Object *mp_widget_rich_info_text_add(Evas_Object * parent,
+ const char *text);
+
+#endif
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include "mp-ta.h"
+#include "music.h"
+#include "mp-setting-ctrl.h"
+#include "mp-item.h"
+#include "mp-player-control.h"
+#include "mp-player-view.h"
+#include "mp-playlist-mgr.h"
+#include <system_settings.h>
+#include "mp-file-util.h"
+#include <efl_extension.h>
+
+#include <signal.h>
+#include <glib.h>
+#include <glib-object.h>
+#include "mp-player-mgr.h"
+#include "mp-player-debug.h"
+#include "mp-lockscreenmini.h"
+#include <pthread.h>
+#include <media_key.h>
+#include "mp-minicontroller.h"
+#include "mp-play.h"
+#include "mp-app.h"
+#include "mp-ug-launch.h"
+#include "mp-widget.h"
+#include "mp-util.h"
+#include "mp-all-view.h"
+#include "mp-volume.h"
+
+#ifndef MP_SOUND_PLAYER
+#include "mp-common.h"
+#endif
+
+#include <storage/storage.h>
+
+void mp_play_next_and_updateview(void *data);
+
+static Ecore_Pipe *gNotiPipe;
+typedef enum {
+ MP_APP_PIPE_CB_AVAILABLE_ROUTE_CHANGED,
+ MP_APP_PIPE_CB_ACTIVE_DEVICE_CHANGED,
+} mp_app_pipe_cb_type_e;
+
+typedef struct {
+ mp_app_pipe_cb_type_e type;
+ void *user_data;
+ //Replaced for _prod dependency
+ sound_device_state_e out;
+} mp_app_pipe_data_s;
+
+#ifdef MP_FEATURE_USB_OTG
+#define BUS_NAME "org.tizen.usb.storage"
+#define OBJECT_PATH "/Org/Tizen/Usb/Storage"
+#define INTERFACE_NAME BUS_NAME
+#define SIGNAL_NAME_USB_STORAGE "usbstorage"
+#define USB_STORAGE_ADDED "added"
+#define USB_STORAGE_REMOVED "removed"
+#endif
+
+/*
+* Ear key timer callback
+* @param data appdata
+* @return false boolean
+*/
+static Eina_Bool _mp_app_ear_key_timer_cb(void *data)
+{
+ EVENT_TRACE("");
+ struct appdata *ad = (struct appdata *) data;
+ if (ad->ear_key_press_cnt == 1) {
+ DEBUG_TRACE("play/pause ctrl");
+ if (ad->player_state == PLAY_STATE_PLAYING) {
+ ad->paused_by_user = TRUE;
+ mp_player_mgr_pause(ad);
+ } else if (ad->player_state == PLAY_STATE_PAUSED) {
+ ad->paused_by_user = FALSE;
+ if (!mp_player_mgr_resume(ad)) {
+ mp_setting_set_nowplaying_id(getpid());
+ if (ad->player_state == PLAY_STATE_PAUSED) {
+ mp_play_resume(ad);
+ }
+ ad->player_state = PLAY_STATE_PLAYING;
+ }
+ } else if (ad->player_state == PLAY_STATE_READY) {
+ ad->paused_by_user = FALSE;
+ mp_play_start_in_ready_state(ad);
+ } else {
+ ad->paused_by_user = FALSE;
+ int ret = mp_play_new_file(ad, TRUE);
+ if (ret) {
+ ERROR_TRACE("Error: mp_play_new_file..");
+ }
+ }
+ } else if (ad->ear_key_press_cnt == 2) {
+ DEBUG_TRACE("next ctrl");
+ mp_play_next_file(data, TRUE);
+ } else {
+ DEBUG_TRACE("prev ctrl");
+ mp_play_prev_file(data);
+ }
+ ad->ear_key_press_cnt = 0;
+ ad->ear_key_timer = NULL;
+ return EINA_FALSE;
+}
+
+/*
+* App storage state changed callback
+* @param storage id
+* @param storage state
+* @param data appdata
+* @return void
+*/
+void
+_mp_app_storage_state_changed_cb(int storage_id, storage_state_e state,
+ void *user_data)
+{
+ EVENT_TRACE("");
+
+ struct appdata *ad = (struct appdata *) user_data;
+ MP_CHECK(ad);
+ ad->is_sdcard_removed = true;
+ if (state == STORAGE_STATE_REMOVED) {
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_MMC_REMOVED);
+#ifndef MP_SOUND_PLAYER
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_PLAYLIST_MGR_ITEM_CHANGED);
+ mp_common_force_close_delete();
+#endif
+ } else if (state == STORAGE_STATE_UNMOUNTABLE) {
+ char *mmc_path = MP_MMC_ROOT_PATH;
+ if (mmc_path && ad->current_track_info
+ && ad->current_track_info->uri
+ && (strstr(ad->current_track_info->uri, mmc_path)
+ == ad->current_track_info->uri)) {
+ IF_FREE(mmc_path);
+ mp_play_next_and_updateview(ad);
+ } else {
+ IF_FREE(mmc_path);
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_MMC_REMOVED);
+#ifndef MP_SOUND_PLAYER
+ mp_common_force_close_delete();
+#endif
+ }
+ }
+}
+/*
+* System settings changed callback
+* @param system settings key
+* @param data appdata
+* @return void
+*/
+void
+_mp_app_system_settings_changed_cb(system_settings_key_e key,
+ void *user_data)
+{
+ EVENT_TRACE("");
+ DEBUG_TRACE("System Settings changed cb. Key is : %d", key);
+ struct appdata *ad = user_data;
+ mp_retm_if(ad == NULL, "appdata is NULL");
+
+ int lock_state = SYSTEM_SETTINGS_LOCK_STATE_UNLOCK;
+
+ if (key == SYSTEM_SETTINGS_KEY_LOCK_STATE) {
+ system_settings_get_value_int(key, &lock_state);
+ if (lock_state == SYSTEM_SETTINGS_LOCK_STATE_LOCK
+ && ad->player_state == PLAY_STATE_PAUSED) {
+ /* Hide Lock Screen Handle */
+ ad->idle_unlocked = true;
+ mp_ecore_timer_del(ad->lockmini_idle_timer);
+ if (ad->win_lockmini) {
+ mp_lockscreenmini_hide(ad);
+ }
+ } else if (lock_state == SYSTEM_SETTINGS_LOCK_STATE_UNLOCK
+ && ad->player_state == PLAY_STATE_PAUSED) {
+ /* Starting Timer */
+ ad->idle_unlocked = false;
+ mp_ecore_timer_del(ad->lockmini_idle_timer);
+ ad->lockmini_idle_timer =
+ ecore_timer_add((2 * 60),
+ _mp_lockscreenmini_hide_music_controller,
+ ad);
+ }
+ }
+}
+/*
+* Music player personal page changed callback
+* @param key
+* @param data appdata
+* @return void
+*/
+#ifdef MP_FEATURE_PERSONAL_PAGE
+void _mp_app_personal_page_changed_cb(const char *key, void *data)
+{
+ DEBUG_TRACE("personal page case changed");
+
+ bool personal_page = true;
+ preference_get_boolean(key, &personal_page);
+ if (personal_page == 0) {
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_PERSONAL_PAGE_OFF);
+ } else {
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_PERSONAL_PAGE_ON);
+ }
+}
+#endif
+/*
+* callback function to be invoked when the state of connection of a sound device was changed.
+* @param sound device
+* @param bool available
+* @return void
+*/
+//Replaced for _prod dependency start
+static void
+_mp_add_available_route_changed_cb(sound_device_h device, bool available,
+ void *user_data)
+{
+ EVENT_TRACE("route: 0x%x, available: %d", device, available);
+ MP_CHECK(gNotiPipe);
+
+ mp_app_pipe_data_s pipe_data;
+ memset(&pipe_data, 0, sizeof(mp_app_pipe_data_s));
+ pipe_data.type = MP_APP_PIPE_CB_AVAILABLE_ROUTE_CHANGED;
+ pipe_data.user_data = user_data;
+
+ ecore_pipe_write(gNotiPipe, &pipe_data, sizeof(mp_app_pipe_data_s));
+
+ if (!available) {
+ struct appdata *ad = user_data;
+ MP_CHECK(ad);
+
+ mp_player_mgr_pause(ad);
+ }
+
+}
+
+/*
+* The device state changed callback function
+* @param sound device
+* @param Sound device changed info
+* @param data appdata
+* @return void
+*/
+static void
+_mp_app_active_device_chaged_cb(sound_device_h in,
+ sound_device_state_e out,
+ void *user_data)
+{
+ EVENT_TRACE("input=[0x%x], output=[0x%x]", in, out);
+ MP_CHECK(gNotiPipe);
+
+ mp_app_pipe_data_s pipe_data;
+ memset(&pipe_data, 0, sizeof(mp_app_pipe_data_s));
+ pipe_data.type = MP_APP_PIPE_CB_ACTIVE_DEVICE_CHANGED;
+ pipe_data.out = out;
+ pipe_data.user_data = user_data;
+
+ ecore_pipe_write(gNotiPipe, &pipe_data, sizeof(mp_app_pipe_data_s));
+}
+
+/*
+* callback that will be called when the file descriptor that is listened receives data
+* @param data appdata
+* @param buffer pipe data
+* @param nbytes
+* @return void
+*/
+static void
+_mp_app_noti_pipe_handler(void *data, void *buffer, unsigned int nbyte)
+{
+ struct appdata *ad = data;
+ MP_CHECK(ad);
+
+ mp_app_pipe_data_s *pipe_data = buffer;
+ MP_CHECK(pipe_data);
+
+ switch (pipe_data->type) {
+ case MP_APP_PIPE_CB_AVAILABLE_ROUTE_CHANGED:
+ mp_setting_update_active_device();
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_ROUTE_CHANGED);
+ break;
+
+ case MP_APP_PIPE_CB_ACTIVE_DEVICE_CHANGED:
+ mp_setting_update_active_device();
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_ROUTE_CHANGED);
+ break;
+
+ default:
+ WARN_TRACE("Not defined.. [%d]", pipe_data->type);
+ }
+
+}
+
+/*
+* app db update callback
+* @param data appdata
+* @return void
+*/
+void _mp_app_db_update_cb(void *data)
+{
+ EVENT_TRACE("Post DB Update event");
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ //mp_plst_item *item = mp_playlist_mgr_get_current(ad->playlist_mgr);
+
+ ad->recentlyAddedGridView = true;
+ bool current_removed = false;
+ bool next_play = false;
+
+ if (mp_player_mgr_get_state() == PLAYER_STATE_PLAYING) {
+ next_play = true;
+ }
+
+ mp_playlist_mgr_check_existance_and_refresh(ad->playlist_mgr,
+ ¤t_removed);
+ if (current_removed) {
+ mp_play_destory(ad);
+ if (mp_playlist_mgr_get_current(ad->playlist_mgr) == NULL) {
+ if (ad->current_track_info) {
+ //for lock-screen deleting thumbnail
+ if (mp_setting_read_playing_status
+ (ad->current_track_info->uri, "stop") != 1) {
+ mp_setting_write_playing_status(ad->
+ current_track_info->
+ uri, "stop");
+ }
+ mp_util_free_track_info(ad->current_track_info);
+ ad->current_track_info = NULL;
+ }
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_UNSET_NOW_PLAYING);
+ if (ad->b_minicontroller_show) {
+ mp_minicontroller_hide(ad);
+ }
+#ifdef MP_FEATURE_LOCKSCREEN
+ if (ad->b_lockmini_show) {
+ mp_lockscreenmini_hide(ad);
+ }
+#endif
+
+ /*as all the items are removed, remove now-playing.ini to avoid copy the same track but in DB, they are different */
+ char *data_path = app_get_data_path();
+ char nowplaying_ini[1024] = { 0 };
+ snprintf(nowplaying_ini, 1024, "%s%s", data_path,
+ MP_NOWPLAYING_INI_FILE_NAME);
+ mp_file_remove(nowplaying_ini);
+ /* remove playing_track.ini to avoid lockscreen still using the file content */
+ char playing_ini[1024] = { 0 };
+#ifndef MP_SOUND_PLAYER
+ snprintf(playing_ini, 1024, "%s%s", data_path,
+ MP_PLAYING_INI_FILE_NAME_MUSIC);
+ free(data_path);
+ mp_file_remove(playing_ini);
+#else
+ snprintf(playing_ini, 1024, "%s%s", data_path,
+ MP_PLAYING_INI_FILE_NAME_SOUND);
+ free(data_path);
+ mp_file_remove(playing_ini);
+#endif
+ } else if (next_play) {
+ mp_play_new_file(ad, true);
+ }
+ }
+#ifndef MP_SOUND_PLAYER
+ else {
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_UPDATE);
+ }
+#endif
+
+ MpView_t *view = mp_view_mgr_get_view(GET_VIEW_MGR, MP_VIEW_PLAYER);
+ if (view) {
+ mp_view_update_options((MpView_t *) view);
+ }
+
+}
+/*
+* the callback function once for each storage in a device.
+* @param storage id
+* @param storage type
+* @param storage state
+* @param path
+* @param data appdata
+* @return bool
+*/
+bool mp_app_get_supported_storages_callback(int storageId,
+ storage_type_e type,
+ storage_state_e state,
+ const char *path,
+ void *userData)
+{
+ if (type == STORAGE_TYPE_EXTERNAL) {
+ struct appdata *ad = (struct appdata *) userData;
+ ad->mmc_id = storageId;
+ return false;
+ }
+ return true;
+}
+
+/*
+* mp_app_noti_init function
+* @param data appdata
+* @return bool
+*/
+bool mp_app_noti_init(void *data)
+{
+ startfunc;
+ int retcode = -1;
+ struct appdata *ad = (struct appdata *) data;
+ int error =
+ storage_foreach_device_supported
+ (mp_app_get_supported_storages_callback, ad);
+ if (error == STORAGE_ERROR_NONE) {
+ storage_state_e state;
+ storage_get_state(ad->mmc_id, &state);
+ }
+ ad->idle_unlocked = false;
+ bool res = TRUE;
+ retcode =
+ system_settings_set_changed_cb
+ (SYSTEM_SETTINGS_KEY_SOUND_SILENT_MODE,
+ _mp_app_system_settings_changed_cb, ad);
+ if (retcode != SYSTEM_SETTINGS_ERROR_NONE) {
+ ERROR_TRACE
+ ("Fail to register SYSTEM_SETTINGS_KEY_SOUND_SILENT_MODE key callback [%d]",
+ retcode);
+ res = FALSE;
+ }
+ retcode =
+ system_settings_set_changed_cb(SYSTEM_SETTINGS_KEY_LOCK_STATE,
+ _mp_app_system_settings_changed_cb,
+ ad);
+ if (retcode != SYSTEM_SETTINGS_ERROR_NONE) {
+ ERROR_TRACE
+ ("Fail to register SYSTEM_SETTINGS_KEY_LOCK_STATE key callback [%d]",
+ retcode);
+ res = FALSE;
+ }
+
+ if (storage_set_state_changed_cb
+ (ad->mmc_id, _mp_app_storage_state_changed_cb, ad) < 0) {
+ ERROR_TRACE("Fail to register storage state changed callback");
+ res = FALSE;
+ }
+#ifdef MP_FEATURE_PERSONAL_PAGE
+ if (preference_set_changed_cb
+ (KEY_MP_PERSONAL_PAGE, _mp_app_personal_page_changed_cb, ad) < 0) {
+ ERROR_TRACE("Fail to register KEY_MP_PERSONAL_PAGE key callback");
+ res = FALSE;
+ }
+#endif
+
+ gNotiPipe = ecore_pipe_add(_mp_app_noti_pipe_handler, ad);
+ //Replaced for _prod dependency start
+ WARN_TRACE("Enter sound_manager_set_available_route_changed_cb");
+ int ret =
+ sound_manager_add_device_connection_changed_cb(SOUND_DEVICE_ALL_MASK,
+ _mp_add_available_route_changed_cb,
+ ad, &ad->device_conn_changed_cb_id);
+ if (ret != SOUND_MANAGER_ERROR_NONE) {
+ ERROR_TRACE
+ ("sound_manager_set_available_route_changed_cb().. [0x%x]",
+ ret);
+ res = FALSE;
+ }
+ WARN_TRACE("Leave sound_manager_set_available_route_changed_cb");
+
+ WARN_TRACE("Enter sound_manager_set_active_device_changed_cb");
+ ret =
+ sound_manager_add_device_state_changed_cb
+ (SOUND_DEVICE_ALL_MASK, _mp_app_active_device_chaged_cb, ad, &ad->device_state_id);
+ if (ret != SOUND_MANAGER_ERROR_NONE) {
+ ERROR_TRACE
+ ("sound_manager_set_active_device_changed_cb().. [0x%x]", ret);
+ res = FALSE;
+ }
+ WARN_TRACE("Leave sound_manager_set_active_device_changed_cb");
+
+ ret = mp_media_info_set_db_update_cb(_mp_app_db_update_cb, NULL);
+ if (ret != 0) {
+ ERROR_TRACE("Error from mp_media_info_set_db_update_cb [0x%x]",
+ ret);
+ }
+
+ return res;
+}
+
+/*
+* mp_app_noti_ignore function
+* @param data appdata
+* @return bool
+*/
+bool mp_app_noti_ignore(void *data)
+{
+ struct appdata *ad = (struct appdata *) data;
+ int retcode = -1;
+ int ret = 0;
+ retcode =
+ system_settings_unset_changed_cb
+ (SYSTEM_SETTINGS_KEY_SOUND_SILENT_MODE);
+ if (retcode != SYSTEM_SETTINGS_ERROR_NONE) {
+ ERROR_TRACE("Error when ignore callback [%d]", retcode);
+ return FALSE;
+ }
+
+ if (storage_unset_state_changed_cb
+ (ad->mmc_id,
+ _mp_app_storage_state_changed_cb) != STORAGE_ERROR_NONE) {
+ ERROR_TRACE("Error when ignore callback");
+ return FALSE;
+ }
+
+ if (gNotiPipe) {
+ ecore_pipe_del(gNotiPipe);
+ gNotiPipe = NULL;
+ }
+
+ ret = mp_media_info_unset_db_update_cb();
+ if (ret != 0) {
+ ERROR_TRACE("Error from mp_media_info_unset_db_update_cb [0x%x]",
+ ret);
+ }
+
+ return TRUE;
+}
+
+/*
+* Down key callback function
+* @param data appdata
+* @param type
+* @param key event info
+* @return bool
+*/
+Eina_Bool mp_app_key_down_cb(void *data, int type, void *event)
+{
+ struct appdata *ad = data;
+ MP_CHECK_VAL(ad, ECORE_CALLBACK_PASS_ON);
+
+ Ecore_Event_Key *key = event;
+ MP_CHECK_VAL(key, ECORE_CALLBACK_PASS_ON);
+ EVENT_TRACE("%s", key->keyname);
+
+ if (!g_strcmp0(key->keyname, "XF86AudioRaiseVolume")) {
+ mp_volume_key_event_send(MP_VOLUME_KEY_UP, false);
+ } else if (!g_strcmp0(key->keyname, "XF86AudioLowerVolume")) {
+ mp_volume_key_event_send(MP_VOLUME_KEY_DOWN, false);
+ } else if (!g_strcmp0(key->keyname, "XF86AudioMute")) {
+ mp_volume_key_event_send(MP_VOLUME_KEY_MUTE, false);
+ } else if (!g_strcmp0(key->keyname, "XF86AudioMedia")) {
+ ad->press_time = key->timestamp;
+ } else if (!g_strcmp0(key->keyname, "Down")) {
+ DEBUG_TRACE("focused object is %s",
+ elm_object_widget_type_get
+ (elm_object_focused_object_get(ad->win_main)));
+ } else if (!g_strcmp0(key->keyname, "Up")) {
+ DEBUG_TRACE("focused object is %s",
+ elm_object_widget_type_get
+ (elm_object_focused_object_get(ad->win_main)));
+ } else if (!g_strcmp0(key->keyname, "XF86AudioPrev")) {
+ mp_play_control_prev();
+ } else if (!g_strcmp0(key->keyname, "XF86AudioNext")) {
+ mp_play_control_next();
+ }
+
+ return ECORE_CALLBACK_PASS_ON;
+}
+
+/*
+* Up key callback function
+* @param data appdata
+* @param type
+* @param key event info
+* @return bool
+*/
+Eina_Bool mp_app_key_up_cb(void *data, int type, void *event)
+{
+ struct appdata *ad = data;
+ MP_CHECK_VAL(ad, ECORE_CALLBACK_PASS_ON);
+
+ Ecore_Event_Key *key = event;
+ MP_CHECK_VAL(key, ECORE_CALLBACK_PASS_ON);
+ EVENT_TRACE("%s", key->keyname);
+
+ if (!g_strcmp0(key->keyname, "XF86AudioRaiseVolume")) {
+ mp_volume_key_event_send(MP_VOLUME_KEY_UP, true);
+ } else if (!g_strcmp0(key->keyname, "XF86AudioLowerVolume")) {
+ mp_volume_key_event_send(MP_VOLUME_KEY_DOWN, true);
+ } else if (!g_strcmp0(key->keyname, "XF86AudioMute")) {
+ mp_volume_key_event_send(MP_VOLUME_KEY_MUTE, true);
+ } else if (!g_strcmp0(key->keyname, "XF86AudioMedia")) {
+ if (ad->ear_key_press_cnt > 3) {
+ DEBUG_TRACE("pressed more than 3times");
+ return ECORE_CALLBACK_PASS_ON;
+ }
+ mp_ecore_timer_del(ad->ear_key_timer);
+ if (key->timestamp - ad->press_time > 500) {
+ DEBUG_TRACE("long pressed");
+ app_control_h app_control = NULL;
+ app_control_create(&app_control);
+ app_control_set_app_id(app_control, "com.samsung.svoice");
+ app_control_add_extra_data(app_control, "domain", "earjack");
+ app_control_send_launch_request(app_control, NULL, NULL);
+ app_control_destroy(app_control);
+ ad->ear_key_press_cnt = 0;
+ } else {
+ ad->ear_key_timer =
+ ecore_timer_add(0.5, _mp_app_ear_key_timer_cb, ad);
+ ad->ear_key_press_cnt++;
+ }
+ }
+#ifndef MP_SOUND_PLAYER
+ else if (!g_strcmp0(key->keyname, "XF86Search")) {
+ mp_common_create_search_view_cb(NULL, NULL, NULL);
+ }
+#endif
+
+ return ECORE_CALLBACK_PASS_ON;
+}
+
+/*
+* Exit callback
+* @param data appdata
+* @return void
+*/
+void mp_exit_job_cb(void *data)
+{
+ struct appdata *ad = data;
+ ad->exit_job = NULL;
+ elm_exit();
+}
+/*
+* Music player app Exit function
+* @param data appdata
+* @return void
+*/
+void mp_app_exit(void *data)
+{
+ struct appdata *ad = data;
+ mp_retm_if(ad == NULL, "appdata is NULL");
+ DEBUG_TRACE("player_state [%d]", ad->player_state);
+
+ if (!ad->exit_job) {
+ ad->exit_job = ecore_job_add(mp_exit_job_cb, ad);
+ }
+}
+
+#define CTR_EDJ_SIG_SRC "ctrl_edj"
+
+/*
+* Creates default music player playing list
+* @param data appdata
+* @param index
+* @return void
+*/
+static void
+_mp_app_create_default_playing_list(struct appdata *ad, int index)
+{
+ startfunc;
+ MP_CHECK(ad);
+
+ int count;
+ mp_media_list_h all = NULL;
+
+ mp_common_create_playlist_mgr();
+ MP_CHECK(ad->playlist_mgr);
+ mp_playlist_mgr_clear(ad->playlist_mgr);
+ mp_media_info_list_count(MP_TRACK_ALL, NULL, NULL, NULL, 0, &count);
+ mp_media_info_list_create(&all, MP_TRACK_ALL, NULL, NULL, NULL, 0, 0,
+ count);
+ mp_util_append_media_list_item_to_playlist(ad->playlist_mgr, all,
+ count, index, NULL);
+ mp_media_info_list_destroy(all);
+}
+
+/*
+* A change event callback for all media keys
+* @param media key
+* @param key event info
+* @param data appdata
+* @return void
+*/
+void
+_mp_app_media_key_event_cb(media_key_e key, media_key_event_e event,
+ void *user_data)
+{
+ struct appdata *ad = (struct appdata *) user_data;
+ MP_CHECK(ad);
+
+ EVENT_TRACE("key [%d], event [%d]", key, event);
+ bool released = false;
+ if (event == MEDIA_KEY_STATUS_RELEASED) {
+ released = true;
+ }
+
+ if (event == MEDIA_KEY_STATUS_UNKNOWN) {
+ mp_debug("unknown key status");
+ return;
+ }
+
+ if (key == MEDIA_KEY_PLAY) {
+ ad->isPlayBtn = true;
+ } else {
+ ad->isPlayBtn = false;
+ }
+
+ DEBUG_TRACE("Media Key : %d", key);
+ if (_mp_is_current_focus_available(ad) != 0) {
+ if (key == MEDIA_KEY_PLAY) {
+ ERROR_TRACE
+ ("Some other application has the focus currently... Returning...");
+ return;
+ } else {
+ ERROR_TRACE
+ ("Some other application has the focus currently... Changing state in paused state...");
+ ad->paused_by_user = TRUE;
+ }
+ }
+
+ switch (key) {
+ case MEDIA_KEY_PLAY:
+ if (released) {
+ if (ad->player_state != PLAY_STATE_PLAYING) {
+ if (ad->player_state == PLAY_STATE_PAUSED) {
+ mp_play_control_resume_via_media_key(ad); // workaround for Audi car-kit
+ } else {
+ if (ad->playlist_mgr == NULL
+ || mp_playlist_mgr_count(ad->playlist_mgr) == 0) {
+ _mp_app_create_default_playing_list(ad, 0);
+ }
+ mp_play_control_play_pause(ad, true);
+ }
+ }
+ }
+ break;
+ case MEDIA_KEY_PAUSE:
+ if (released) {
+ if (ad->player_state == PLAY_STATE_PLAYING) {
+ mp_play_control_play_pause(ad, false);
+ }
+ }
+ break;
+ case MEDIA_KEY_PLAYPAUSE:
+ if (released) {
+ if (ad->player_state == PLAY_STATE_PLAYING) {
+ mp_play_control_play_pause(ad, false);
+ } else if (ad->player_state == PLAY_STATE_PAUSED) {
+ mp_play_control_resume_via_media_key(ad); // workaround for Audi car-kit
+ } else {
+ if (ad->playlist_mgr == NULL
+ || mp_playlist_mgr_count(ad->playlist_mgr) == 0) {
+ _mp_app_create_default_playing_list(ad, 0);
+ }
+ mp_play_control_play_pause(ad, true);
+ }
+ }
+ break;
+ case MEDIA_KEY_PREVIOUS:
+ DEBUG_TRACE("key pressed is previous");
+ break;
+ case MEDIA_KEY_NEXT:
+ DEBUG_TRACE("key pressed is next");
+ break;
+ case MEDIA_KEY_REWIND:
+ mp_play_control_rew(!released, true, true);
+ break;
+
+ case MEDIA_KEY_FASTFORWARD:
+ mp_play_control_ff(!released, true, true);
+ break;
+
+ case MEDIA_KEY_STOP:
+ if (ad->player_state == PLAY_STATE_PLAYING) {
+ mp_play_control_play_pause(ad, false);
+ }
+
+ mp_player_mgr_set_position(0, NULL, NULL);
+
+ ad->music_pos = 0;
+ MpView_t *view =
+ mp_view_mgr_get_view(GET_VIEW_MGR, MP_VIEW_PLAYER);
+ if (view) {
+ mp_player_view_update_progressbar(view);
+ }
+
+ break;
+ default:
+ mp_debug("Undefined key");
+ break;
+ }
+}
+
+/*
+* Sets keygrab and Registers change event callback for all media keys
+* @param data appdata
+* @return bool
+*/
+bool mp_app_grab_mm_keys(struct appdata *ad)
+{
+ WARN_TRACE("");
+ Eina_Bool error = EINA_FALSE;
+ error = eext_win_keygrab_set(ad->win_main, "XF86AudioMedia");
+ if (error != EINA_TRUE) {
+ ERROR_TRACE("Keygrab Failed");
+ }
+ int err = media_key_reserve(_mp_app_media_key_event_cb, ad);
+ if (err != MEDIA_KEY_ERROR_NONE) {
+ mp_error("media_key_reserve().. [0x%x]", err);
+ return false;
+ }
+
+ return true;
+}
+/*
+* Unsets keygrab and Unregisters the change event callback function.
+* @param data appdata
+* @return void
+*/
+void mp_app_ungrab_mm_keys(struct appdata *ad)
+{
+ WARN_TRACE("");
+ media_key_release();
+ Eina_Bool error = EINA_FALSE;
+ error = eext_win_keygrab_unset(ad->win_main, "XF86AudioMedia");
+ if (error != EINA_TRUE) {
+ ERROR_TRACE("Keygrab Failed");
+ }
+
+ mp_ecore_timer_del(ad->ear_key_timer);
+}
+
+/*
+* Auto off timer expired callback
+* @param data appdata
+* @return bool
+*/
+#ifdef MP_FEATURE_AUTO_OFF
+Eina_Bool mp_app_auto_off_timer_expired_cb(void *data)
+{
+ struct appdata *ad = data;
+ MP_CHECK_VAL(ad, ECORE_CALLBACK_CANCEL);
+
+ mp_debug("#### auto off ####");
+
+ ad->auto_off_timer = NULL;
+ mp_setting_reset_auto_off_time();
+
+ if (ad->player_state == PLAY_STATE_PLAYING) {
+ mp_app_exit(ad);
+ } else {
+ mp_debug("auto off expired but not playing");
+ MpView_t *top_view = mp_view_mgr_get_top_view(GET_VIEW_MGR);
+ if (top_view
+ && top_view == mp_view_mgr_get_view(GET_VIEW_MGR,
+ MP_VIEW_SETTING)) {
+ mp_view_update(top_view);
+ }
+ }
+
+ return ECORE_CALLBACK_DONE;
+}
+/*
+* Auto off timer changed callback
+* @param min no of minutes
+* @param data appdata
+* @return void
+*/
+void mp_app_auto_off_changed_cb(int min, void *data)
+{
+ struct appdata *ad = data;
+ MP_CHECK(ad);
+
+ mp_ecore_timer_del(ad->auto_off_timer);
+ EVENT_TRACE("auto off time set [%d]", min);
+
+ if (min <= 0) {
+ mp_debug("disable auto off");
+ return;
+ }
+
+ double timeout = min * 60;
+ ad->auto_off_timer =
+ ecore_timer_add(timeout, mp_app_auto_off_timer_expired_cb, ad);
+}
+#endif
+
+/*
+* Play speed changed callback
+* @param Speed
+* @param data appdata
+* @return void
+*/
+#ifdef MP_FEATURE_PLAY_SPEED
+void mp_app_play_speed_changed_cb(double speed, void *data)
+{
+ struct appdata *ad = data;
+ MP_CHECK(ad);
+
+ EVENT_TRACE("playspeed: %f", speed);
+ mp_player_mgr_set_play_speed(speed);
+}
+#endif
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <efl_extension.h>
+
+#include "mp-common.h"
+#include "mp-player-debug.h"
+#include "mp-player-mgr.h"
+#include "mp-media-info.h"
+#include "mp-util.h"
+#include "mp-menu.h"
+#include "mp-search.h"
+#include "mp-widget.h"
+#include "mp-volume.h"
+#include "mp-setting-view.h"
+#include "mp-add-track-view.h"
+#include "mp-playlist-detail-view.h"
+#include "mp-album-detail-view.h"
+#include "mp-artist-detail-view.h"
+#include "mp-popup.h"
+#include "mp-ctxpopup.h"
+#include "mp-edit-callback.h"
+#include "mp-player-view.h"
+#include "mp-edit-view.h"
+#include "mp-play.h"
+#include "mp-track-list.h"
+#include "mp-search-view.h"
+#include "mp-all-view.h"
+#include "mp-set-as-view.h"
+#include "mp-playlist-list.h"
+#include "mp-setting-ctrl.h"
+#include "mp-ug-launch.h"
+#include "mp-edit-playlist.h"
+#include "mp-file-util.h"
+
+#define MP_POPUP_DETAIL_ITEM_W 568
+#define MP_POPUP_DETAIL_ITEM_H 50
+#define MP_STR_LEN_MAX 4096
+
+#ifndef MP_SOUND_PLAYER
+
+/*
+* Common setting view
+* @param void
+* @return void
+*/
+void mp_common_show_setting_view(void)
+{
+ MpViewMgr_t *view_mgr = GET_VIEW_MGR;
+ MpView_t *setting_view =
+ (MpView_t *) mp_setting_view_create(view_mgr->navi,
+ MP_SETTING_VIEW_DEFAULT, NULL);
+ mp_view_mgr_push_view(view_mgr, setting_view, NULL);
+ mp_view_set_title(setting_view, STR_MP_SETTINGS);
+ mp_view_update_options(setting_view);
+}
+
+/*
+* common view cancel Callback
+* @param data appdata
+* @param obj Evas object on which callback is added
+* @param event_info event info
+* @return void
+*/
+void
+mp_common_view_cancel_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ eventfunc;
+
+ MpViewMgr_t *view_mgr = mp_view_mgr_get_view_manager();
+ elm_naviframe_item_pop(view_mgr->navi);
+}
+
+/*
+* Add to playlist view
+* @param list_view List data
+* @return void
+*/
+void mp_common_add_to_playlsit_view(void *list_view)
+{
+ MpListView_t *view = list_view;
+#ifdef MP_FEATURE_PERSONAL_PAGE
+ MpEditView_t *edit_view =
+ mp_edit_view_create(GET_NAVIFRAME, view->content_to_show, false,
+ MP_EDIT_VIEW_PERSONAL_PAGE_NONE);
+ MP_CHECK(edit_view);
+#else
+ MpEditView_t *edit_view =
+ mp_edit_view_create(GET_NAVIFRAME, view->content_to_show, false);
+#endif
+ edit_view->create_playlist = true;
+ mp_view_mgr_push_view(GET_VIEW_MGR, (MpView_t *) edit_view, NULL);
+ mp_view_update((MpView_t *) edit_view);
+ mp_view_update_options((MpView_t *) edit_view);
+ mp_view_set_title((MpView_t *) edit_view, STR_MP_TILTE_SELECT_ITEM);
+ mp_list_view_set_select_all((MpListView_t *) edit_view, true);
+ mp_list_view_set_done_btn((MpListView_t *) edit_view, true,
+ MP_DONE_ADD_TO_TYPE);
+ mp_list_view_set_cancel_btn((MpListView_t *) edit_view, true);
+}
+
+/*
+* Set list mode to reorder
+* @param list_view List data
+* @return void
+*/
+
+void mp_common_set_list_to_reorder_view(void *list_view)
+{
+ MpListView_t *view = list_view;
+
+#ifdef MP_FEATURE_PERSONAL_PAGE
+ MpEditView_t *edit_view =
+ mp_edit_view_create(GET_NAVIFRAME, view->content_to_show, false,
+ MP_EDIT_VIEW_PERSONAL_PAGE_NONE);
+#else
+ MpEditView_t *edit_view =
+ mp_edit_view_create(GET_NAVIFRAME, view->content_to_show, false);
+#endif
+ if (edit_view == NULL) {
+ ERROR_TRACE("Unable to create edit view");
+ return;
+ }
+
+ edit_view->list_mode = MP_EDIT_VIEW_REORDER;
+ edit_view->content_to_show->reorderable = 1;
+ mp_view_mgr_push_view(GET_VIEW_MGR, (MpView_t *) edit_view, NULL);
+ mp_view_update((MpView_t *) edit_view);
+ mp_view_update_options((MpView_t *) edit_view);
+ mp_view_set_title((MpView_t *) edit_view, STR_MP_REORDER);
+ mp_list_view_set_select_all((MpListView_t *) edit_view, false);
+ mp_list_view_set_done_btn((MpListView_t *) edit_view, true,
+ MP_DONE_REORDER_TYPE);
+ mp_list_view_set_cancel_btn((MpListView_t *) edit_view, true);
+}
+
+/*
+* Show common edit view
+* @param list_view List data
+* @param type Done button operator type
+* @return void
+*/
+void
+mp_common_show_edit_view(void *list_view, mp_done_operator_type_t type)
+{
+ MpListView_t *view = list_view;
+#ifdef MP_FEATURE_PERSONAL_PAGE
+ MpEditView_t *edit_view =
+ mp_edit_view_create(GET_NAVIFRAME, view->content_to_show, false,
+ MP_EDIT_VIEW_PERSONAL_PAGE_NONE);
+#else
+ MpEditView_t *edit_view =
+ mp_edit_view_create(GET_NAVIFRAME, view->content_to_show, false);
+#endif
+ mp_view_mgr_push_view(GET_VIEW_MGR, (MpView_t *) edit_view, NULL);
+ mp_view_update((MpView_t *) edit_view);
+ mp_view_update_options((MpView_t *) edit_view);
+
+ mp_view_set_title((MpView_t *) edit_view, STR_MP_TILTE_SELECT_ITEM);
+ mp_list_view_set_select_all((MpListView_t *) edit_view, true);
+ mp_list_view_set_cancel_btn((MpListView_t *) edit_view, true);
+ mp_list_view_set_done_btn((MpListView_t *) edit_view, true, type);
+}
+
+/*
+* Common ctxpopup settings callback
+* @param data appdata
+* @param obj Evas object on which callback is added
+* @param event_info event info
+* @return void
+*/
+
+void mp_common_ctxpopup_setting_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ eventfunc;
+ MpView_t *view = data;
+ mp_evas_object_del(view->more_btn_ctxpopup);
+ mp_common_show_setting_view();
+
+}
+
+/*
+* Delete more button ctxpopup callback
+* @param data appdata
+* @param obj Evas object on which callback is added
+* @param event_info event info
+* @return void
+*/
+
+void mp_common_ctxpopup_end_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ eventfunc;
+ MpView_t *view = data;
+ mp_evas_object_del(view->more_btn_ctxpopup);
+ elm_exit();
+}
+
+/*
+* Create share ctxpopup
+* @param data appdata
+* @param obj Evas object on which callback is added
+* @param event_info event info
+* @return void
+*/
+//sweep button callback (genlist type should be ctx) and popup need to be destoryed in idler
+void mp_common_sweep_share_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ eventfunc;
+ MP_CHECK(data);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ char *file_name = NULL;
+ mp_media_info_h handle = data;
+ mp_media_info_get_file_path(handle, &file_name);
+
+ mp_ctxpopup_create(obj, MP_CTXPOPUP_PV_SHARE, file_name, ad);
+ return;
+}
+
+/*
+* common button callback to add playlist popup
+* @param data appdata
+* @param obj Evas object on which callback is added
+* @param event_info event info
+* @return void
+*/
+//common button callback (genlist type should be center)
+void
+mp_common_button_add_to_playlist_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ eventfunc;
+ mp_edit_create_add_to_playlist_popup(data);
+}
+
+/*
+* Edit create delete popup
+* @param data appdata
+* @param obj Evas object on which callback is added
+* @param event_info event info
+* @return void
+*/
+
+void
+mp_common_button_delete_list_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ eventfunc;
+ mp_edit_create_delete_popup(data);
+ return;
+}
+
+#endif
+
+/*
+* dismiss popup callback
+* @param data appdata
+* @param obj Evas object on which callback is added
+* @param event_info event info
+* @return void
+*/
+
+static void
+_ctx_popup_dismissed_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ startfunc;
+ MP_CHECK(data);
+ mp_evas_object_del(data);
+}
+
+/*
+* ctx popup move callback
+* @param data appdata
+* @param e evas of the object
+* @param obj Evas object on which callback is added
+* @param event_info event info
+* @return void
+*/
+static void
+_ctx_popup_naviframe_resize_cb(void *data, Evas * e, Evas_Object * obj,
+ void *event_info)
+{
+ MpView_t *view = data;
+ MP_CHECK(view);
+ MP_CHECK(view->more_btn_ctxpopup);
+
+ Evas_Object *win;
+ Evas_Coord w, h;
+ int pos = -1;
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ MP_CHECK(ad->win_main);
+
+ win = elm_object_top_widget_get(view->more_btn_ctxpopup);
+ elm_win_screen_size_get(win, NULL, NULL, &w, &h);
+ pos = elm_win_rotation_get(win);
+
+ switch (pos) {
+
+ case 0:
+ case 180:
+ evas_object_move(view->more_btn_ctxpopup, (w / 2), h);
+ break;
+ case 90:
+ evas_object_move(view->more_btn_ctxpopup, (h / 2), w);
+ break;
+ case 270:
+ evas_object_move(view->more_btn_ctxpopup, (h / 2), w);
+ break;
+ }
+ return;
+}
+
+/*
+* utility function to call ctx popup move callback
+* @param data appdata
+* @param obj Evas object on which callback is added
+* @param event_info event info
+* @return void
+*/
+static void
+_ctx_popup_top_widget_rotation_changed_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ _ctx_popup_naviframe_resize_cb(data, evas_object_evas_get(obj), obj,
+ event_info);
+}
+
+/*
+* ctx popup delete callback
+* @param data appdata
+* @param e evas of the object
+* @param obj Evas object on which callback is added
+* @param event_info event info
+* @return void
+*/
+
+static void
+_ctx_popup_del_cb(void *data, Evas * e, Evas_Object * eo, void *event_info)
+{
+ startfunc;
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ MP_CHECK(ad->win_main);
+
+ Evas_Object *navi = GET_NAVIFRAME;
+ if (navi) {
+ evas_object_event_callback_del(navi, EVAS_CALLBACK_RESIZE,
+ _ctx_popup_naviframe_resize_cb);
+ }
+
+ evas_object_smart_callback_del(elm_object_top_widget_get(eo),
+ "rotation,changed",
+ _ctx_popup_top_widget_rotation_changed_cb);
+
+ MpView_t *view = data;
+ MP_CHECK(view);
+ view->more_btn_ctxpopup = NULL;
+}
+
+/*
+* Adding callbacks on ctxpopup
+* @param view required in the callbacks
+* @return ctx popup
+*/
+
+Evas_Object *mp_common_create_more_ctxpopup(void *view)
+{
+ Evas_Object *popup = elm_ctxpopup_add(GET_WINDOW());
+ elm_object_style_set(popup, "more/default");
+ evas_object_event_callback_add(popup, EVAS_CALLBACK_DEL,
+ _ctx_popup_del_cb, view);
+ evas_object_smart_callback_add(popup, "dismissed",
+ _ctx_popup_dismissed_cb, popup);
+ eext_object_event_callback_add(popup, EEXT_CALLBACK_BACK,
+ eext_ctxpopup_back_cb, NULL);
+ eext_object_event_callback_add(popup, EEXT_CALLBACK_MORE,
+ eext_ctxpopup_back_cb, NULL);
+
+ elm_ctxpopup_auto_hide_disabled_set(popup, EINA_TRUE);
+
+ evas_object_event_callback_add(elm_object_top_widget_get(popup),
+ EVAS_CALLBACK_RESIZE,
+ _ctx_popup_naviframe_resize_cb, view);
+ evas_object_smart_callback_add(elm_object_top_widget_get(popup),
+ "rotation,changed",
+ _ctx_popup_top_widget_rotation_changed_cb,
+ view);
+ elm_ctxpopup_direction_priority_set(popup, ELM_CTXPOPUP_DIRECTION_UP,
+ ELM_CTXPOPUP_DIRECTION_UNKNOWN,
+ ELM_CTXPOPUP_DIRECTION_UNKNOWN,
+ ELM_CTXPOPUP_DIRECTION_UNKNOWN);
+
+ return popup;
+}
+
+/*
+* ctx popup delete callback
+* @param data appdata
+* @param e evas of the object
+* @param obj Evas object on which callback is added
+* @param event_info event info
+* @return void
+*/
+#ifndef MP_SOUND_PLAYER
+static Eina_Bool _mp_timer_delay_cb(void *data)
+{
+ TIMER_TRACE();
+
+ MpList_t *list = data;
+ MP_CHECK_FALSE(list);
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_FALSE(ad);
+
+ GList *sel_list = NULL;
+ mp_list_item_data_t *item_data = NULL;
+
+ mp_list_selected_item_data_get(list, &sel_list);
+
+ if (g_list_length(sel_list) == 0) {
+ mp_widget_text_popup(ad,
+ GET_STR("IDS_MUSIC_POP_NOTHING_SELECTED"));
+ return false;
+ }
+
+ GList *node = g_list_first(sel_list);
+ while (node) {
+ item_data = node->data;
+ node = g_list_next(node);
+ }
+
+ if (MP_POPUP_PV_SET_AS == list->popup_type) {
+ if (item_data && item_data->handle) {
+ mp_genlist_popup_create(list->genlist, MP_POPUP_PV_SET_AS,
+ item_data->handle, ad);
+ }
+ } else if (MP_POPUP_ADD_TO_PLST == list->popup_type) {
+ mp_edit_create_add_to_playlist_popup(data);
+ }
+
+ if (list->pop_delay_timer) {
+ ecore_timer_del(list->pop_delay_timer);
+ }
+
+ return ECORE_CALLBACK_DONE;
+}
+#endif
+/*
+* Set lable for detail
+* @param pBox
+* @param szString
+* @return void
+*/
+static void _mp_common_set_label_for_detail(Evas_Object * pBox,
+ char *szString)
+{
+
+ Evas_Object *pLabel = NULL;
+ if (!pBox) {
+ return;
+ }
+ pLabel = elm_label_add(pBox);
+ elm_object_text_set(pLabel, szString);
+ elm_label_line_wrap_set(pLabel, ELM_WRAP_MIXED);
+ evas_object_size_hint_weight_set(pLabel, EVAS_HINT_FILL,
+ EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(pLabel, EVAS_HINT_FILL,
+ EVAS_HINT_FILL);
+ evas_object_size_hint_min_set(pLabel, 0,
+ MP_POPUP_DETAIL_ITEM_H *
+ elm_config_scale_get());
+
+ elm_box_pack_end(pBox, pLabel);
+ evas_object_show(pLabel);
+
+}
+
+/*
+* Common list track more details
+* @param parent Popup
+* @param data List data
+* @return void
+*/
+#ifndef MP_SOUND_PLAYER
+static void _mp_common_list_track_more_detail(void *parent, void *data)
+{
+ MpList_t *list = data;
+ Evas_Object *popup = parent;
+
+ struct appdata *ad = mp_util_get_appdata();
+
+ GList *sel_list = NULL;
+ Evas_Object *pop_layout = NULL;
+ Evas_Object *pBox = NULL;
+ Evas_Object *pop_scroller = NULL;
+
+ char szTmpStr[MP_STR_LEN_MAX] = { 0, };
+ mp_list_item_data_t *item_data = NULL;
+
+ mp_list_selected_item_data_get(list, &sel_list);
+
+ if (g_list_length(sel_list) == 0) {
+ mp_widget_text_popup(ad,
+ GET_STR("IDS_MUSIC_POP_NOTHING_SELECTED"));
+ return;
+ }
+
+ GList *node = g_list_first(sel_list);
+ while (node) {
+ item_data = node->data;
+ node = g_list_next(node);
+ }
+
+ pop_layout = elm_layout_add(popup);
+ MP_CHECK(pop_layout);
+ char edje_path[1024] = { 0 };
+ char *path = app_get_resource_path();
+
+ MP_CHECK(path);
+ snprintf(edje_path, 1024, "%s%s/%s", path, "edje", MP_EDJ_NAME);
+ elm_layout_file_set(pop_layout, edje_path, "popup_detail");
+ free(path);
+
+ pBox = elm_box_add(popup);
+ elm_box_horizontal_set(pBox, EINA_FALSE);
+ evas_object_size_hint_weight_set(pBox, EVAS_HINT_FILL,
+ EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(pBox, EVAS_HINT_FILL, EVAS_HINT_FILL);
+
+ mp_media_info_h svc_item = NULL;
+ if (item_data && item_data->handle) {
+ svc_item = item_data->handle;
+ }
+
+ char *pathname = NULL, *title = NULL, *album = NULL, *artist =
+ NULL, *thumbname = NULL, *date = NULL;
+ char *author = NULL, *copyright = NULL, *format = NULL, *track = NULL;
+ int duration = 0;
+
+ {
+ mp_media_info_get_file_path(svc_item, &pathname);
+ mp_media_info_get_thumbnail_path(svc_item, &thumbname);
+ mp_media_info_get_title(svc_item, &title);
+ mp_media_info_get_album(svc_item, &album);
+ mp_media_info_get_artist(svc_item, &artist);
+ mp_media_info_get_recorded_date(svc_item, &date);
+ mp_media_info_get_copyright(svc_item, ©right);
+ mp_media_info_get_composer(svc_item, &author);
+ mp_media_info_get_duration(svc_item, &duration);
+ mp_media_info_get_track_num(svc_item, &track);
+ mp_media_info_get_format(svc_item, &format);
+
+ DEBUG_TRACE("artist is %s", artist);
+
+ char *info_format = "<color=#156C94FF><align=left>%s: %s </align>";
+
+ snprintf(szTmpStr, MP_STR_LEN_MAX, info_format,
+ GET_SYS_STR("IDS_COM_BODY_DETAILS_TITLE"), title);
+ _mp_common_set_label_for_detail(pBox, szTmpStr);
+ memset(szTmpStr, 0, MP_STR_LEN_MAX);
+
+ if (artist && strlen(artist)) {
+ snprintf(szTmpStr, MP_STR_LEN_MAX, info_format,
+ GET_SYS_STR("IDS_MUSIC_BODY_ARTIST"), artist);
+ _mp_common_set_label_for_detail(pBox, szTmpStr);
+ memset(szTmpStr, 0, MP_STR_LEN_MAX);
+ }
+
+ if (album && strlen(album)) {
+ snprintf(szTmpStr, MP_STR_LEN_MAX, info_format,
+ GET_STR("IDS_MUSIC_BODY_ALBUM"), album);
+ _mp_common_set_label_for_detail(pBox, szTmpStr);
+ memset(szTmpStr, 0, MP_STR_LEN_MAX);
+ }
+
+ char duration_format[50] = { 0, };
+ int dur_sec = duration / 1000;
+ int sec = dur_sec % 60;
+ int min = dur_sec / 60;
+
+ snprintf(duration_format, sizeof(duration_format), "%02u:%02u",
+ min, sec);
+
+ snprintf(szTmpStr, MP_STR_LEN_MAX, info_format,
+ GET_STR("IDS_MUSIC_BODY_TRACK_LENGTH"), duration_format);
+ _mp_common_set_label_for_detail(pBox, szTmpStr);
+ memset(szTmpStr, 0, MP_STR_LEN_MAX);
+
+ if (date && strlen(date)) {
+ snprintf(szTmpStr, MP_STR_LEN_MAX, info_format,
+ GET_STR("IDS_MUSIC_BODY_RECORDED_DATE"), date);
+ _mp_common_set_label_for_detail(pBox, szTmpStr);
+ memset(szTmpStr, 0, MP_STR_LEN_MAX);
+ }
+ if (track && strlen(track)) {
+ snprintf(szTmpStr, MP_STR_LEN_MAX, info_format,
+ GET_STR("IDS_MUSIC_BODY_TRACK_NUMBER"), track);
+ _mp_common_set_label_for_detail(pBox, szTmpStr);
+ memset(szTmpStr, 0, MP_STR_LEN_MAX);
+ }
+
+ if (format && strlen(format)) {
+ snprintf(szTmpStr, MP_STR_LEN_MAX, info_format,
+ GET_STR("IDS_MUSIC_BODY_FORMAT"), format);
+ _mp_common_set_label_for_detail(pBox, szTmpStr);
+ memset(szTmpStr, 0, MP_STR_LEN_MAX);
+ }
+
+ snprintf(szTmpStr, MP_STR_LEN_MAX, info_format,
+ GET_STR("IDS_MUSIC_BODY_MUSIC_LOCATION"), pathname);
+ _mp_common_set_label_for_detail(pBox, szTmpStr);
+ memset(szTmpStr, 0, MP_STR_LEN_MAX);
+
+ pop_scroller = elm_scroller_add(pop_layout);
+ if (pop_scroller == NULL) {
+ IF_FREE(date);
+ return;
+ }
+
+ elm_scroller_bounce_set(pop_scroller, EINA_TRUE, EINA_TRUE);
+ elm_scroller_policy_set(pop_scroller, ELM_SCROLLER_POLICY_OFF,
+ ELM_SCROLLER_POLICY_AUTO);
+ evas_object_show(pop_scroller);
+
+ elm_object_content_set(pop_scroller, pBox);
+
+ elm_object_part_content_set(pop_layout, "elm.swallow.layout",
+ pop_scroller);
+
+ elm_object_content_set(popup, pop_layout);
+ IF_FREE(date);
+ evas_object_show(pBox);
+ evas_object_show(pop_layout);
+
+ }
+
+ if (sel_list) {
+ g_list_free(sel_list);
+ sel_list = NULL;
+ }
+}
+/*
+* Music player track delete callback
+* @param data Appdata
+* @param obj Evas object on which the callback is added
+* @param event_info Event info
+* @return void
+*/
+void mp_common_track_delete_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ eventfunc;
+ MpPlayerView_t *view = (MpPlayerView_t *) data;
+ MP_CHECK(view);
+ mp_evas_object_del(view->more_btn_ctxpopup);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ mp_popup_destroy(ad);
+ mp_edit_create_track_delete_popup(data);
+ return;
+}
+
+/*
+* Music player Search view callback
+* @param data Appdata
+* @param obj Evas object on which the callback is added
+* @param event_info Event info
+* @return void
+*/
+void mp_common_create_search_view_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ eventfunc;
+ MpView_t *parent = data;
+ if (parent) {
+ mp_evas_object_del(parent->more_btn_ctxpopup);
+ }
+
+ MpViewMgr_t *view_manager = mp_view_mgr_get_view_manager();
+
+ MpSearchView_t *view =
+ (MpSearchView_t *) mp_view_mgr_get_view(view_manager,
+ MP_VIEW_SEARCH);
+
+ if (view) {
+ mp_view_mgr_pop_to_view(view_manager, MP_VIEW_SEARCH);
+ mp_search_view_set_keyword(view, NULL);
+ } else {
+ view = mp_search_view_create(view_manager->navi, NULL);
+ mp_view_mgr_push_view(view_manager, (MpView_t *) view,
+ MP_SEARCH_VIEW_STYLE_EMPTY);
+ mp_view_update_options((MpView_t *) view);
+ }
+}
+
+/*
+* Add to playlist callback
+* @param data Playlist
+* @param obj Evas object on which the callback is added
+* @param event_info Event info
+* @return void
+*/
+
+void mp_common_list_add_to_playlist_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ eventfunc;
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ MpList_t *list = data;
+ MP_CHECK(list);
+
+ mp_popup_destroy(ad);
+
+ list->popup_type = MP_POPUP_ADD_TO_PLST;
+ list->pop_delay_timer = ecore_timer_add(0.1, _mp_timer_delay_cb, data);
+}
+
+/*
+* Common list delete callback
+* @param data Playlist
+* @param obj Evas object on which the callback is added
+* @param event_info Event info
+* @return void
+*/
+void mp_common_list_delete_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ eventfunc;
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ mp_popup_destroy(ad);
+
+ mp_edit_create_delete_popup(data);
+ return;
+}
+
+#endif
+
+/*
+** start_playback : if it is set true, either playing a file from start or resume playing
+** start_new_file : it indicates that after start player view, it will play the file from start
+*/
+/*
+* Common list delete callback
+* @param launch_type launch type
+* @param disable_effect dissable effect
+* @param start_playback if it is set true, either playing a file from start or resume playing
+* @param start_new_file it indicates that after start player view, it will play the file from start
+* @return void
+*/
+void
+mp_common_show_player_view(int launch_type, bool disable_effect,
+ bool start_playback, bool start_new_file)
+{
+ startfunc;
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ ad->hide_player_view = false;
+
+ WARN_TRACE
+ ("launch type[%d] disable_effect[%d], start_playback[%d], start_new_file[%d]",
+ launch_type, disable_effect, start_playback, start_new_file);
+ MpViewMgr_t *view_manager = mp_view_mgr_get_view_manager();
+
+ MpPlayerView_t *player_view =
+ (MpPlayerView_t *) mp_view_mgr_get_view(view_manager,
+ MP_VIEW_PLAYER);
+
+#ifndef MP_SOUND_PLAYER
+ if (player_view) {
+ mp_view_mgr_pop_to_view(view_manager, MP_VIEW_PLAYER);
+ mp_list_update((MpList_t *) player_view->queue_list);
+ } else
+#endif
+ {
+ player_view =
+ mp_player_view_create(view_manager->navi, launch_type,
+ start_new_file);
+ if (player_view == NULL) {
+ return;
+ }
+
+ mp_view_mgr_push_view_with_effect(view_manager,
+ (MpView_t *) player_view, NULL,
+ disable_effect);
+ }
+
+ if (start_playback) {
+ player_view->start_on_transition_finish = true;
+ ad->player_state = PLAY_STATE_PLAYING;
+ }
+ mp_view_update((MpView_t *) player_view);
+ mp_view_update_options((MpView_t *) player_view);
+
+ int show =
+ ((int) mp_player_mgr_get_state() == (int) PLAYER_STATE_PLAYING);
+ mp_player_view_set_play_image(player_view, show);
+
+ mp_player_view_set_album_playing(player_view, true);
+ endfunc;
+}
+
+/*
+* Show player view if not hide
+* @return void
+*/
+void mp_common_show_player_view_after_play()
+{
+ startfunc;
+ MpViewMgr_t *view_manager = mp_view_mgr_get_view_manager();
+ MpPlayerView_t *player_view =
+ (MpPlayerView_t *) mp_view_mgr_get_view(view_manager,
+ MP_VIEW_PLAYER);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ if (player_view) {
+ mp_view_mgr_pop_to_view(view_manager, MP_VIEW_PLAYER);
+ } else {
+ ad->preload_player_view =
+ (Evas_Object *) mp_player_view_create(view_manager->navi, 0,
+ false);
+ ad->create_view_on_play = true;
+ }
+
+ endfunc;
+}
+
+void mp_common_play_track_list_with_song_uid(mp_list_item_data_t* item, Evas_Object *genlist,
+ char *item_uid, char *item_uri)
+{
+ startfunc;
+ MP_CHECK(item);
+ MP_CHECK(item_uid);
+ MP_CHECK(item_uri);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ ad->hide_player_view = true;
+ ad->paused_by_user = false;
+
+ if (!ad->playlist_mgr) {
+ mp_common_create_playlist_mgr();
+ }
+
+ PROFILE_IN("mp_playlist_mgr_clear");
+ mp_playlist_mgr_clear(ad->playlist_mgr);
+ PROFILE_OUT("mp_playlist_mgr_clear");
+
+ Elm_Object_Item *gli2 = NULL;
+ mp_plst_item* plst_item = NULL;
+ gli2 = elm_genlist_first_item_get(genlist);
+ while (gli2) {
+ if (elm_genlist_item_select_mode_get(gli2) !=
+ ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY) {
+ mp_list_item_data_t *item_data =
+ elm_object_item_data_get(gli2);
+ if (item_data
+ && item_data->item_type == MP_LIST_ITEM_TYPE_NORMAL) {
+ if (item_data->group_type == MP_GROUP_NONE
+ || item_data->group_type == MP_GROUP_BY_ALLSHARE) {
+ char *uri = NULL;
+ char *uid = NULL;
+ char *title = NULL;
+ char *artist = NULL;
+
+ mp_track_type track_type = MP_TRACK_URI;
+ mp_media_info_get_media_id(item_data->handle, &uid);
+ if (g_strcmp0(item_uid, uid)) {
+ gli2 = elm_genlist_item_next_get(gli2);
+ continue;
+ }
+ mp_media_info_get_file_path(item_data->handle, &uri);
+ mp_media_info_get_title(item_data->handle, &title);
+ mp_media_info_get_artist(item_data->handle, &artist);
+
+ mp_storage_type_e storage;
+ mp_media_info_get_storage_type(item_data->handle,
+ &storage);
+
+ plst_item =
+ mp_playlist_mgr_item_append(ad->playlist_mgr, uri,
+ uid, title, artist,
+ track_type);
+ }
+ }
+ }
+ gli2 = elm_genlist_item_next_get(gli2);
+ }
+
+ if (ad->playlist_mgr) {
+ if (ad->playlist_mgr->shuffle_state) {
+ ad->playlist_mgr->list = ad->playlist_mgr->shuffle_list;
+ } else {
+ ad->playlist_mgr->list = ad->playlist_mgr->normal_list;
+ }
+ }
+ mp_playlist_mgr_set_current(ad->playlist_mgr, plst_item);
+
+ PROFILE_IN("mp_play_destory");
+ mp_play_fast_destory(ad);
+ PROFILE_OUT("mp_play_destory");
+
+ mp_play_new_file(ad, TRUE);
+}
+
+/*
+* Play the songs with playlist id
+* @param item Music Player list item
+* @param genlist Genlist item
+* @param playlist_id Playlist id
+* @return void
+*/
+void mp_common_play_track_list_with_playlist_id(mp_list_item_data_t * item,
+ Evas_Object * genlist,
+ int playlist_id)
+{
+ startfunc;
+ MP_CHECK(item);
+ MP_CHECK(genlist);
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ ad->hide_player_view = false;
+ mp_setting_set_nowplaying_id(getpid());
+
+ Elm_Object_Item *gli2 = NULL;
+
+ mp_plst_item *plst_item = NULL;
+ mp_plst_item *to_play = NULL;
+ bool track_update = true; //indicate if playing the same track
+ bool playlist_update = true; //indicate if playing item is in the same play list
+ bool start_new_file = true; //only when same track and same playlist, we will set it false.
+
+ if (!ad->playlist_mgr) {
+ mp_common_create_playlist_mgr();
+ }
+ MP_CHECK(ad->playlist_mgr);
+
+ /* before clear playlist_mgr, check if same playlist id */
+ if (ad->playlist_mgr->playlist_id == playlist_id) {
+ playlist_update = false;
+ }
+
+ /* check if the same track as current playing */
+ char *to_play_uid = NULL;
+ char *playing_uid = NULL;
+ mp_plst_item *playing_item =
+ mp_playlist_mgr_get_current(ad->playlist_mgr);
+ if (playing_item != NULL) {
+ playing_uid = playing_item->uid;
+ }
+
+ if (item->handle != NULL) {
+ DEBUG_TRACE("item->handle is not NULL");
+ mp_media_info_get_media_id(item->handle, &to_play_uid);
+
+ if (g_strcmp0(to_play_uid, playing_uid) == 0) {
+ track_update = false;
+ }
+ }
+
+ PROFILE_IN("mp_playlist_mgr_clear");
+ mp_playlist_mgr_clear(ad->playlist_mgr);
+ PROFILE_OUT("mp_playlist_mgr_clear");
+
+ PROFILE_IN("playlist_item_append");
+ gli2 = elm_genlist_first_item_get(genlist);
+ while (gli2) {
+ if (elm_genlist_item_select_mode_get(gli2) !=
+ ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY) {
+ mp_list_item_data_t *item_data =
+ elm_object_item_data_get(gli2);
+ if (item_data
+ && item_data->item_type == MP_LIST_ITEM_TYPE_NORMAL) {
+ if (item_data->group_type == MP_GROUP_NONE
+ || item_data->group_type == MP_GROUP_BY_ALLSHARE) {
+ char *uri = NULL;
+ char *uid = NULL;
+ char *title = NULL;
+ char *artist = NULL;
+
+ mp_track_type track_type = MP_TRACK_URI;
+ mp_media_info_get_media_id(item_data->handle, &uid);
+ mp_media_info_get_file_path(item_data->handle, &uri);
+ mp_media_info_get_title(item_data->handle, &title);
+ mp_media_info_get_artist(item_data->handle, &artist);
+
+ mp_storage_type_e storage;
+ mp_media_info_get_storage_type(item_data->handle,
+ &storage);
+
+ plst_item =
+ mp_playlist_mgr_item_append(ad->playlist_mgr, uri,
+ uid, title, artist,
+ track_type);
+ if (playlist_id) {
+ int member_id = 0;
+ mp_media_info_get_playlist_member_id(item_data->
+ handle,
+ &member_id);
+ //mp_debug("playlist memeber id = %d", member_id);
+ mp_playlist_mgr_item_set_playlist_memeber_id
+ (plst_item, member_id);
+ }
+
+ if (gli2 == item->it && plst_item) {
+ to_play = plst_item;
+ }
+ }
+ }
+ }
+ gli2 = elm_genlist_item_next_get(gli2);
+ }
+ PROFILE_OUT("playlist_item_append");
+ if (playlist_id) {
+ mp_playlist_mgr_set_playlist_id(ad->playlist_mgr, playlist_id);
+ }
+
+ if (to_play == NULL) {
+ DEBUG_TRACE("to_play is NULL");
+ } else {
+ DEBUG_TRACE("to_play:%s", to_play->uri);
+ }
+
+ PROFILE_IN("mp_playlist_mgr_set_current");
+ if (to_play == NULL) {
+ mp_playlist_mgr_set_current(ad->playlist_mgr,
+ mp_playlist_mgr_get_nth(ad->
+ playlist_mgr,
+ 0));
+ } else {
+ int shuffle = false;
+ mp_setting_get_shuffle_state(&shuffle);
+ if (shuffle) { //Make selected item to the first item. to play all tracks in case of repeat none
+ mp_playlist_mgr_set_shuffle_first_item(ad->playlist_mgr,
+ to_play);
+ }
+
+ mp_playlist_mgr_set_current(ad->playlist_mgr, to_play);
+ }
+ PROFILE_OUT("mp_playlist_mgr_set_current");
+ /*
+ ** here we need to distinguish if destroy the player
+ ** the only case we don't need to destroy player is the same playlist and same item is playing
+ ** in this case, we only show the player view and update progress bar
+ */
+ ad->paused_by_user = FALSE;
+ if (start_new_file) {
+ PROFILE_IN("mp_play_destory");
+ ad->freeze_indicator_icon = true;
+ mp_play_fast_destory(ad);
+ PROFILE_OUT("mp_play_destory");
+
+ mp_play_new_file(ad, TRUE);
+ } else {
+ mp_player_mgr_play(ad);
+ mp_common_show_player_view(MP_PLAYER_NORMAL, false, false, false);
+ }
+
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_PLAYLIST_MGR_ITEM_CHANGED);
+ return;
+}
+
+/*
+* Play all songs from the playlist starting with first
+* @param item Music Player list item
+* @param genlist Genlist item
+* @return void
+*/
+void mp_common_play_track_list(mp_list_item_data_t * item,
+ Evas_Object * genlist)
+{
+ mp_common_play_track_list_with_playlist_id(item, genlist, 0);
+}
+
+/*
+* Get all views
+* @return all music player views
+*/
+MpView_t *mp_common_get_all_view()
+{
+ MpView_t *all_typed_view = GET_ALL_VIEW;
+ MpView_t *all_view = NULL;
+
+ all_view = all_typed_view;
+
+ return all_view;
+}
+/*
+* Add tracks into playlist
+* @param playlist_id playlist_id
+* @return void
+*/
+#ifndef MP_SOUND_PLAYER
+void mp_common_show_add_tracks_view(int playlist_id)
+{
+ MpViewMgr_t *view_manager = mp_view_mgr_get_view_manager();
+ MpAddTrackView_t *view =
+ mp_add_track_view_create(view_manager->navi, playlist_id);
+ if (view == NULL) {
+ ERROR_TRACE("Unable to show add tracks");
+ return;
+ }
+ mp_view_mgr_push_view(view_manager, (MpView_t *) view, NULL);
+
+ mp_view_update_options((MpView_t *) view);
+ mp_list_set_edit((MpList_t *) view->content_to_show, TRUE);
+ mp_view_set_title((MpView_t *) view, STR_MP_TILTE_SELECT_ITEM);
+ mp_add_track_view_select_tab(view, MP_ADD_TRACK_VIEW_TAB_SONGS);
+ mp_list_view_set_cancel_btn((MpListView_t *) view, true);
+ mp_list_view_set_done_btn((MpListView_t *) view, true,
+ MP_DONE_ADD_TRACK_TYPE);
+
+}
+#endif
+/*
+* Playlist item change callback
+* @param item Playlist item
+* @param userdata appdata
+* @return void
+*/
+static void
+_mp_common_playlist_item_change_callback(mp_plst_item * item,
+ void *userdata)
+{
+ struct appdata *ad = userdata;
+ MP_CHECK(ad);
+
+ if (ad->current_track_info) {
+ mp_util_free_track_info(ad->current_track_info);
+ ad->current_track_info = NULL;
+ }
+
+ if (item) {
+ mp_util_load_track_info(ad, item, &ad->current_track_info);
+ }
+
+}
+/*
+* Create playlist mgr
+* @param void
+* @return void
+*/
+void mp_common_create_playlist_mgr(void)
+{
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ if (ad->playlist_mgr) {
+ // already created
+ return;
+ }
+
+ DEBUG_TRACE("create playlist mgr");
+ ad->playlist_mgr = mp_playlist_mgr_create();
+ mp_playlist_mgr_set_item_change_callback(ad->playlist_mgr,
+ _mp_common_playlist_item_change_callback,
+ ad);
+ int val = 0;
+ mp_setting_get_shuffle_state(&val);
+ mp_playlist_mgr_set_shuffle(ad->playlist_mgr, val);
+ mp_setting_get_repeat_state(&val);
+ mp_playlist_mgr_set_repeat(ad->playlist_mgr, val);
+}
+/*
+* Create default playlist
+* @return void
+*/
+void mp_common_create_default_playlist()
+{
+ eventfunc;
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ if (mp_playlist_mgr_count(ad->playlist_mgr) > 0) {
+ // already created
+ return;
+ }
+
+ int count = 0;
+ mp_media_list_h all = NULL;
+
+ char *last_played_path = NULL;
+ mp_setting_get_now_playing_path_from_file(&last_played_path);
+ SECURE_DEBUG("last played path = %s", last_played_path);
+
+ mp_common_create_playlist_mgr();
+ mp_playlist_mgr_clear(ad->playlist_mgr);
+
+ char *data_path = app_get_data_path();
+ char nowplaying_list_data[1024] = { 0 };
+ snprintf(nowplaying_list_data, 1024, "%s%s", data_path,
+ MP_NOWPLAYING_LIST_DATA);
+ free(data_path);
+ mp_playlist_mgr_lazy_append_with_file(ad->playlist_mgr,
+ nowplaying_list_data,
+ last_played_path, -1);
+
+ if (mp_playlist_mgr_count(ad->playlist_mgr) == 0) {
+ mp_media_info_list_count(MP_TRACK_ALL, NULL, NULL, NULL, 0,
+ &count);
+ mp_media_info_list_create(&all, MP_TRACK_ALL, NULL, NULL, NULL, 0,
+ 0, count);
+ mp_util_append_media_list_item_to_playlist(ad->playlist_mgr, all,
+ count, 0,
+ last_played_path);
+ mp_media_info_list_destroy(all);
+ }
+ IF_FREE(last_played_path);
+}
+/*
+* Update playlist album
+* @param playlist_handle media info
+* @return void
+*/
+void mp_common_playlist_album_update(mp_media_info_h playlist_handle)
+{
+ startfunc;
+ int ret = 0;
+ mp_media_info_h media_info = NULL;
+ mp_media_list_h svc_handle = NULL;
+ int count = 0, playlist_id = 0;
+ char *path = NULL;
+
+ mp_media_info_group_get_playlist_id(playlist_handle, &playlist_id);
+ mp_media_info_list_count(MP_TRACK_BY_PLAYLIST, NULL, NULL, NULL,
+ playlist_id, &count);
+
+ /* get music item data */
+ ret =
+ mp_media_info_list_create(&svc_handle, MP_TRACK_BY_PLAYLIST, NULL,
+ NULL, NULL, playlist_id, 0, count);
+ if (ret != 0) {
+ DEBUG_TRACE("fail to get list item: %d", ret);
+ ret = mp_media_info_list_destroy(svc_handle);
+ svc_handle = NULL;
+ }
+
+ media_info = mp_media_info_list_nth_item(svc_handle, count - 1);
+ mp_media_info_get_thumbnail_path(media_info, &path);
+
+ if (!path
+ || !g_file_test(path, G_FILE_TEST_EXISTS | G_FILE_TEST_IS_REGULAR)
+ || !strcmp(BROKEN_ALBUMART_IMAGE_PATH, path)) {
+ char default_thumbnail[1024] = { 0 };
+ char *shared_path = app_get_shared_resource_path();
+ snprintf(default_thumbnail, 1024, "%s%s/%s", shared_path,
+ "shared_images", DEFAULT_THUMBNAIL);
+ free(shared_path);
+ path = g_strdup(default_thumbnail);
+ }
+
+ mp_media_info_playlist_set_thumbnail_path(playlist_handle, path);
+ mp_media_info_list_destroy(svc_handle);
+}
+/*
+* popup delete callback
+* @param data appdata
+* @param e Evas of the obj
+* @param obj Evas object on which callback is added
+* @param event_info event info
+* @return void
+*/
+void
+mp_common_popup_del_cb(void *data, Evas * e, Evas_Object * obj,
+ void *event_info)
+{
+ Evas_Object *genlist = data;
+ evas_object_data_set(genlist, "popup", NULL); // Set popup data as NULL when popup is deleted.
+ elm_object_scroll_freeze_pop(genlist); // Enable scrolling
+}
+
+#ifdef MP_SOUND_PLAYER
+static char *_mp_util_convert_url(char *uri)
+{
+ char *path = NULL;
+ MP_CHECK_NULL(uri);
+ if (strstr(uri, MP_FILE_PREFIX)) {
+ path = g_strdup(uri + strlen(MP_FILE_PREFIX));
+ } else {
+ path = g_strdup(uri);
+ }
+ return path;
+}
+
+static bool _mp_common_set_current_playing_item(const char *path)
+{
+ startfunc;
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_FALSE(ad);
+
+ mp_common_create_playlist_mgr();
+ mp_playlist_mgr_clear(ad->playlist_mgr);
+ mp_plst_item *item =
+ mp_playlist_mgr_item_append(ad->playlist_mgr, path, NULL, NULL,
+ NULL, MP_TRACK_URI);
+ mp_playlist_mgr_set_current(ad->playlist_mgr, item);
+
+ return true;
+}
+
+static bool _mp_common_multiple_view_operation(app_control_h app_control)
+{
+ startfunc;
+ bool res = false;
+ char **value = NULL;
+ char **thumbs = NULL;
+ char **titles = NULL;
+ char **artist = NULL;
+ int i, length = 0, thumb_length = 0, title_length = 0, artist_length =
+ 0;
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_FALSE(ad);
+
+ mp_common_create_playlist_mgr();
+ mp_playlist_mgr_clear(ad->playlist_mgr);
+ if (app_control_get_extra_data_array
+ (app_control, APP_CONTROL_DATA_PATH, &value,
+ &length) == APP_CONTROL_ERROR_NONE) {
+ app_control_get_extra_data_array(app_control, "thumbnail/path",
+ &thumbs, &thumb_length);
+ if (thumbs && thumb_length != length) {
+ WARN_TRACE("uri & thumbnail count is not same...");
+ IF_FREE(thumbs);
+ }
+
+ app_control_get_extra_data_array(app_control,
+ APP_CONTROL_DATA_TITLE, &titles,
+ &title_length);
+ if (titles && length != title_length) {
+ WARN_TRACE("uri & title count is not same...");
+ IF_FREE(titles);
+ }
+ app_control_get_extra_data_array(app_control,
+ MP_SAMSUNG_LINK_ARTIST, &artist,
+ &artist_length);
+ if (artist && length != artist_length) {
+ WARN_TRACE("uri & artist count is not same...");
+ IF_FREE(artist);
+ }
+ for (i = 0; i < length; i++) {
+ char *path = _mp_util_convert_url(value[i]);
+ mp_plst_item *item =
+ mp_playlist_mgr_item_append(ad->playlist_mgr, path, NULL,
+ NULL, NULL, MP_TRACK_URI);
+ MP_CHECK_FALSE(item);
+ if (thumbs) {
+ item->thumbnail_path = g_strdup(thumbs[i]);
+ }
+ if (titles) {
+ item->title = g_strdup(titles[i]);
+ }
+ if (artist) {
+ item->artist = g_strdup(artist[i]);
+ }
+ IF_FREE(path);
+ IF_FREE(item->thumbnail_path);
+ IF_FREE(item->title);
+ IF_FREE(item->artist);
+ }
+ mp_playlist_mgr_set_current(ad->playlist_mgr,
+ mp_playlist_mgr_get_nth(ad->
+ playlist_mgr,
+ 0));
+ res = true;
+ }
+
+ IF_FREE(value);
+ IF_FREE(thumbs);
+ IF_FREE(titles);
+ IF_FREE(artist);
+
+ return res;
+}
+
+char *_get_folder_path(const char *path)
+{
+ return mp_file_dir_get(path);
+}
+
+static Eina_List *_mp_common_get_track_list_by_folder(const char *folder)
+{
+ MP_CHECK_NULL(folder);
+ MP_CHECK_NULL(mp_file_path_dir_exists(folder));
+
+ Eina_List *audio_list = NULL;
+
+ Eina_List *ls = mp_file_ls(folder);
+ MP_CHECK_NULL(ls);
+
+ Eina_List *l = NULL;
+ char *file = NULL;
+ EINA_LIST_FOREACH(ls, l, file) {
+ char *path = g_strdup_printf("%s/%s", folder, file);
+ IF_FREE(file);
+ if (path && !mp_file_is_dir(path)) {
+ char *mime = mp_util_file_mime_type_get(path);
+ DEBUG_TRACE("mime_type: %s", mime);
+ if (mime && strstr(mime, "audio/")) {
+ audio_list = eina_list_append(audio_list, (void *) path);
+ }
+ IF_FREE(mime);
+ }
+ IF_FREE(path);
+ }
+
+ eina_list_free(ls);
+ ls = NULL;
+
+ return audio_list;
+}
+
+static bool
+_mp_common_view_by_folder(const char *path, app_control_h app_control)
+{
+ MP_CHECK_FALSE(path);
+ MP_CHECK_FALSE(app_control);
+ int ret = false;
+ char *value = NULL;
+ char *folder = NULL;
+ char *hidden_file_path = NULL;
+ /* Handling dot(hidden) file path */
+ app_control_get_uri(app_control, &hidden_file_path);
+
+ SECURE_DEBUG("The Hidden file path is %s", hidden_file_path);
+
+ //app_control_add_extra_data(service, "View By", "By Folder");
+ //app_control_add_extra_data(service, "sort_type", "MYFILE_SORT_BY_NAME_A2Z");
+ //app_control_add_extra_data(service, "sort_type", "MYFILE_SORT_BY_NAME_Z2A");
+ //app_control_add_extra_data(service, "sort_type", "MYFILE_SORT_BY_DATE_O2R");
+ //app_control_add_extra_data(service, "sort_type", "MYFILE_SORT_BY_SIZE_L2S");
+
+
+ if (app_control_get_extra_data(app_control, "View By", &value) ==
+ APP_CONTROL_ERROR_NONE) {
+ if (!g_strcmp0(value, "By Folder")) {
+ folder = _get_folder_path(path);
+ SECURE_DEBUG("View By folder %s", folder);
+ ret = true;
+ }
+ IF_FREE(value);
+ }
+
+ if (ret) {
+ if (app_control_get_extra_data(app_control, "sort_type", &value) ==
+ APP_CONTROL_ERROR_NONE) {
+ struct appdata *ad = mp_util_get_appdata();
+ mp_media_list_h list = NULL;
+ mp_media_info_h media = NULL;
+ mp_plst_item *item = NULL;
+ int i = 0;
+ mp_plst_item *cur = NULL;
+ char *file_path = NULL;
+
+ if (!ad) {
+ IF_FREE(folder);
+ return false;
+ }
+ mp_common_create_playlist_mgr();
+ mp_playlist_mgr_clear(ad->playlist_mgr);
+
+ mp_media_info_sorted_track_list_create(&list, value);
+
+ int count = mp_media_infor_list_get_count(list);
+ if (count > 0) {
+ count = 0;
+ do {
+ char *folder_path = NULL;
+ media = mp_media_info_list_nth_item(list, i);
+ if (!media) {
+ break;
+ }
+
+ mp_media_info_get_file_path(media, &file_path);
+ i++;
+ DEBUG_TRACE("file path:%s", file_path);
+ if (!file_path) {
+ continue;
+ }
+ folder_path = _get_folder_path(file_path);
+ if (g_strcmp0(folder, folder_path)) {
+ IF_FREE(folder_path);
+ continue;
+ }
+ item =
+ mp_playlist_mgr_item_append(ad->playlist_mgr,
+ file_path, NULL, NULL,
+ NULL, MP_TRACK_URI);
+ ++count;
+
+ if (!cur && !g_strcmp0(path, file_path)) {
+ ERROR_TRACE("setting current file");
+ cur = item;
+ }
+ IF_FREE(folder_path);
+ } while (media);
+ mp_media_info_list_destroy(list);
+ list = 0;
+ }
+ if (count == 0) {
+ Eina_List *file_list =
+ _mp_common_get_track_list_by_folder(folder);
+ if (file_list) {
+ Eina_List *l = NULL;
+ EINA_LIST_FOREACH(file_list, l, file_path) {
+ DEBUG_TRACE("file_path: %s", file_path);
+ item =
+ mp_playlist_mgr_item_append(ad->playlist_mgr,
+ file_path, NULL,
+ NULL, NULL,
+ MP_TRACK_URI);
+ if (!cur && !g_strcmp0(path, file_path)) {
+ cur = item;
+ }
+ }
+ eina_list_free(file_list);
+ file_list = NULL;
+ IF_FREE(file_path);
+ }
+ }
+
+ if (cur) {
+ mp_playlist_mgr_set_current(ad->playlist_mgr, cur);
+ } else {
+ DEBUG_TRACE("Setting hidden file");
+ item =
+ mp_playlist_mgr_item_append(ad->playlist_mgr,
+ hidden_file_path, NULL,
+ NULL, NULL, MP_TRACK_URI);
+ cur = item;
+ mp_playlist_mgr_set_current(ad->playlist_mgr, cur);
+ }
+ } else {
+ WARN_TRACE("No sort type");
+ ret = false;
+ }
+
+ IF_FREE(value);
+ }
+
+ IF_FREE(folder);
+
+ return ret;
+}
+
+bool mp_common_parse_view_operation(app_control_h app_control)
+{
+ char *uri = NULL;
+ char *operation = NULL;
+ bool res = false;
+
+ MP_CHECK_FALSE(app_control);
+
+ app_control_get_operation(app_control, &operation);
+ DEBUG_TRACE("operation: %s", operation);
+
+ if (!operation) {
+ ERROR_TRACE("No operation");
+ goto END;
+ }
+
+ if (!strcmp(APP_CONTROL_OPERATION_VIEW, operation)) {
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_FALSE(ad);
+ char *value = NULL;
+ if (!ad) {
+ ERROR_TRACE("Appdata is NULL");
+ goto END;
+ }
+
+ ad->samsung_link = false;
+
+ app_control_get_extra_data(app_control, "LAUNCHAPP", &value);
+ if (value && !g_strcmp0(value, "SamsungLink")) {
+ ad->samsung_link = true;
+ }
+ IF_FREE(value);
+
+ app_control_get_extra_data(app_control, "enableChangePlayer",
+ &value);
+ if (value && !g_strcmp0(value, "true")) {
+ ad->disable_change_player = false;
+ } else {
+ ad->disable_change_player = true;
+ }
+ IF_FREE(value);
+
+ if (_mp_common_multiple_view_operation(app_control)) {
+ DEBUG_TRACE("Multiple view operation");
+ res = true;
+ goto END;
+ }
+ app_control_get_uri(app_control, &uri);
+ if (uri) {
+ char *path = _mp_util_convert_url(uri);
+
+ if (!_mp_common_view_by_folder(path, app_control)) {
+ _mp_common_set_current_playing_item(path);
+ }
+ IF_FREE(path);
+ free(uri);
+ res = true;
+ } else {
+ ERROR_TRACE("No URI.");
+ goto END;
+ }
+ } else {
+ WARN_TRACE("Operation is not APP_CONTROL_OPERATION_VIEW [%s]",
+ operation);
+ goto END;
+ }
+
+ END:
+ SAFE_FREE(operation);
+ return res;
+}
+#endif
+
+/*
+* parse open shortcut
+* @param app_control app control handle
+* @param tab tabs in music player
+* @param shortcut_main_info for recently played/ most played etc.
+* @return bool
+*/
+#ifndef MP_SOUND_PLAYER
+bool
+_mp_common_parse_open_shortcut(app_control_h app_control, MpTab_e * tab,
+ char **shortcut_main_info)
+{
+ MP_CHECK_FALSE(app_control);
+ MP_CHECK_FALSE(tab);
+ MP_CHECK_FALSE(shortcut_main_info);
+
+ char *shortcut_type = NULL;
+
+ if (app_control_get_extra_data
+ (app_control, MP_REQ_TYPE_SHORTCUT_TYPE,
+ &shortcut_type) == APP_CONTROL_ERROR_NONE) {
+ if (!g_strcmp0(shortcut_type, MP_SHORTCUT_PLAYLIST)) {
+ *tab = MP_TAB_PLAYLISTS;
+ app_control_get_extra_data(app_control,
+ MP_REQ_TYPE_SHORTCUT_DESC,
+ shortcut_main_info);
+ } else if (!g_strcmp0(shortcut_type, MP_SHORTCUT_ALBUM)) {
+ *tab = MP_TAB_ALBUMS;
+ app_control_get_extra_data(app_control,
+ MP_REQ_TYPE_SHORTCUT_DESC,
+ shortcut_main_info);
+ } else if (!g_strcmp0(shortcut_type, MP_SHORTCUT_ARTIST)) {
+ *tab = MP_TAB_ARTISTS;
+ app_control_get_extra_data(app_control,
+ MP_REQ_TYPE_SHORTCUT_DESC,
+ shortcut_main_info);
+ }
+ }
+ mp_debug("load all_viwe type [%d][%s]", *tab, *shortcut_main_info);
+ return true;
+}
+/*
+* Load playlist detail view
+* @param shortcut_main_info for recently played/ most played etc.
+* @return void
+*/
+static bool _mp_common_load_playlist_detail_view(char *shortcut_main_info)
+{
+ startfunc;
+
+ int id = atoi(shortcut_main_info);
+ mp_debug("playlist id = %d", id);
+ char *name = NULL;
+
+ if (mp_media_info_playlist_get_name_by_id(id, &name)) {
+ return false;
+ }
+
+ mp_track_type_e type = MP_TRACK_BY_PLAYLIST;
+ if (!g_strcmp0(STR_MP_MOST_PLAYED, name)) {
+ type = MP_TRACK_BY_PLAYED_COUNT;
+ } else if (!g_strcmp0((STR_MP_RECENTLY_ADDED), name)) {
+ type = MP_TRACK_BY_ADDED_TIME;
+ } else if (!g_strcmp0((STR_MP_RECENTLY_PLAYED), name)) {
+ type = MP_TRACK_BY_PLAYED_TIME;
+ } else if (!g_strcmp0((STR_MP_FAVOURITES), name)) {
+ type = MP_TRACK_BY_FAVORITE;
+ }
+
+ MpViewMgr_t *view_manager = mp_view_mgr_get_view_manager();
+ MpPlaylistDetailView_t *view_plst_detail =
+ mp_playlist_detail_view_create(view_manager->navi, type, name, id);
+ mp_view_mgr_push_view(view_manager, (MpView_t *) view_plst_detail,
+ NULL);
+
+ mp_view_update_options((MpView_t *) view_plst_detail);
+ mp_view_set_title((MpView_t *) view_plst_detail, name);
+
+ return true;
+}
+/*
+* Load album detail view
+* @param shortcut_main_info for recently played/ most played etc.
+* @return void
+*/
+static bool _mp_common_load_album_detail_view(char *shortcut_main_info)
+{
+
+ mp_media_list_h media_list = NULL;
+ char *artist = NULL;
+ char *thumbnail = NULL;
+
+ int count = 0, index = 0;
+
+ mp_media_info_group_list_count(MP_GROUP_BY_ALBUM, NULL, NULL, &count);
+ mp_media_info_group_list_create(&media_list, MP_GROUP_BY_ALBUM, NULL,
+ NULL, 0, count);
+ MP_CHECK_FALSE(media_list);
+
+ mp_media_info_h media = NULL;
+
+ do {
+ media = mp_media_info_group_list_nth_item(media_list, index);
+
+ char *name = NULL;
+ if (media) {
+ mp_media_info_group_get_main_info(media, &name);
+ if (g_strcmp0(shortcut_main_info, name)) {
+ index++;
+ continue;
+ }
+ mp_media_info_group_get_sub_info(media, &artist);
+ mp_media_info_group_get_thumbnail_path(media, &thumbnail);
+ }
+ break;
+ } while (media);
+ MP_CHECK_FALSE(media);
+
+ MpViewMgr_t *view_manager = mp_view_mgr_get_view_manager();
+ MpAlbumDetailView_t *view_album_detail =
+ mp_album_detail_view_create(view_manager->navi, shortcut_main_info,
+ artist, thumbnail);
+ mp_view_mgr_push_view(view_manager, (MpView_t *) view_album_detail,
+ NULL);
+
+ mp_view_update_options((MpView_t *) view_album_detail);
+ mp_view_set_title((MpView_t *) view_album_detail, shortcut_main_info);
+
+ mp_media_info_group_list_destroy(media_list);
+
+ return true;
+}
+
+/*
+* Load artist detail view
+* @param shortcut_main_info for recently played/ most played etc.
+* @return void
+*/
+static bool _mp_common_load_artist_detail_view(char *shortcut_main_info)
+{
+
+ mp_media_list_h media_list = NULL;
+ char *artist = NULL;
+ char *thumbnail = NULL;
+
+ int count = 0, index = 0;
+
+ mp_media_info_group_list_count(MP_GROUP_BY_ARTIST, NULL, NULL, &count);
+ mp_media_info_group_list_create(&media_list, MP_GROUP_BY_ARTIST, NULL,
+ NULL, 0, count);
+ MP_CHECK_FALSE(media_list);
+
+ mp_media_info_h media = NULL;
+
+ do {
+ media = mp_media_info_group_list_nth_item(media_list, index);
+
+ char *name = NULL;
+ if (media) {
+ mp_media_info_group_get_main_info(media, &name);
+ if (g_strcmp0(shortcut_main_info, name)) {
+ index++;
+ continue;
+ }
+ mp_media_info_group_get_sub_info(media, &artist);
+ mp_media_info_group_get_thumbnail_path(media, &thumbnail);
+ }
+ break;
+ } while (media);
+ MP_CHECK_FALSE(media);
+
+ MpViewMgr_t *view_manager = mp_view_mgr_get_view_manager();
+ MpArtistDetailView_t *view_artist_detail =
+ mp_artist_detail_view_create(view_manager->navi,
+ shortcut_main_info, thumbnail);
+ mp_view_mgr_push_view(view_manager, (MpView_t *) view_artist_detail,
+ NULL);
+
+ mp_view_update_options((MpView_t *) view_artist_detail);
+ mp_view_set_title((MpView_t *) view_artist_detail, shortcut_main_info);
+
+ mp_media_info_group_list_destroy(media_list);
+
+ return true;
+}
+
+/*
+* Load detail view
+* @param tab tabs in music player
+* @param shortcut_main_info for recently played/ most played etc.
+* @return void
+*/
+static void
+_mp_common_load_view_by_shortcut(MpTab_e tab, char *shortcut_main_info)
+{
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ mp_popup_destroy(ad);
+
+ if (mp_view_mgr_pop_to_view(GET_VIEW_MGR, MP_VIEW_ALL)) {
+ DEBUG_TRACE("Error: unable to pop to all view");
+ }
+
+ switch (tab) {
+ case MP_TAB_PLAYLISTS:
+ if (!_mp_common_load_playlist_detail_view(shortcut_main_info)) {
+ mp_widget_text_popup(ad,
+ GET_STR("IDS_MUSIC_BODY_NO_PLAYLISTS"));
+ elm_win_activate(ad->win_main);
+ }
+ break;
+ case MP_TAB_ALBUMS:
+ if (!_mp_common_load_album_detail_view(shortcut_main_info)) {
+ mp_widget_text_popup(ad, GET_STR("IDS_MUSIC_BODY_NO_ALBUMS"));
+ elm_win_activate(ad->win_main);
+ }
+ break;
+ case MP_TAB_ARTISTS:
+ if (!_mp_common_load_artist_detail_view(shortcut_main_info)) {
+ mp_widget_text_popup(ad, GET_STR("IDS_MUSIC_BODY_NO_ARTISTS"));
+ elm_win_activate(ad->win_main);
+ }
+ break;
+ default:
+ break;
+ }
+}
+/*
+* Common transition finish callback
+* @param data appdata
+* @param obj Evas object on which callback is added
+* @param event_info event info
+* @return void
+*/
+static void
+_mp_common_transition_finish_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ startfunc;
+ evas_object_smart_callback_del(GET_VIEW_MGR->navi,
+ "transition,finished",
+ _mp_common_transition_finish_cb);
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ evas_object_show(ad->win_main);
+ elm_win_activate(ad->win_main);
+ ad->app_is_foreground = true;
+}
+
+/*
+* Create all view
+* @param view_manager view_manager
+* @return void
+*/
+static void _mp_common_create_all_view(MpViewMgr_t * view_manager)
+{
+ MpAllView_t *view = NULL;
+ if (mp_view_mgr_count_view(view_manager) == 0) {
+ PROFILE_IN("mp_all_view_create");
+ view = mp_all_view_create(view_manager->navi, MP_TAB_SONGS);
+ PROFILE_OUT("mp_all_view_create");
+
+ PROFILE_IN("mp_view_update");
+ mp_view_update((MpView_t *) view);
+ //mp_all_view_select_tab((MpView_t*)view, tab);
+ PROFILE_OUT("mp_view_update");
+
+ PROFILE_IN("mp_view_mgr_push_view");
+ mp_view_mgr_push_view(view_manager, (MpView_t *) view, NULL);
+ PROFILE_OUT("mp_view_mgr_push_view");
+
+ PROFILE_IN("mp_view_update_options");
+ mp_view_update_options((MpView_t *) view);
+ PROFILE_OUT("mp_view_update_options");
+
+ PROFILE_IN("mp_view_set_title");
+ mp_view_set_title((MpView_t *) view, STR_MP_MUSIC);
+ PROFILE_OUT("mp_view_set_title");
+
+ }
+}
+
+/*
+* Create initial main view
+* @param view_manager view_manager
+* @return void
+*/
+
+static void _mp_common_create_main_view(MpViewMgr_t * view_manager)
+{
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ bool ready_current_track =
+ (ad->current_track_info == NULL) ? true : false;
+
+ if (ready_current_track) {
+ PROFILE_IN("ready_recent_track_info");
+ mp_plst_item *plst_item = NULL;
+
+ if (mp_playlist_mgr_count(ad->playlist_mgr) > 0) {
+ DEBUG_TRACE("playlist exist");
+ plst_item = mp_playlist_mgr_get_current(ad->playlist_mgr);
+ } else {
+ char *last_played_path = NULL;
+ mp_setting_get_now_playing_path_from_file(&last_played_path);
+ if (mp_check_file_exist(last_played_path)) {
+ plst_item =
+ mp_playlist_mgr_custom_item_new(last_played_path);
+ }
+ IF_FREE(last_played_path);
+ }
+
+ if (plst_item) {
+ mp_util_load_track_info(ad, plst_item,
+ &ad->current_track_info);
+ mp_playlist_mgr_custom_item_free(plst_item);
+ plst_item = NULL;
+ }
+ PROFILE_OUT("ready_recent_track_info");
+ }
+
+ _mp_common_create_all_view(view_manager);
+}
+
+#endif
+/*
+* Create initial view
+* @param appdata appdata
+* @param app_control app control handle
+* @param launch_by_shortcut whether view is launched by shortcut
+* @return void
+*/
+void mp_common_create_initial_view(void *appdata,
+ app_control_h app_control,
+ int *launch_by_shortcut)
+{
+ struct appdata *ad = appdata;
+ MP_CHECK(ad);
+
+#ifdef MP_SOUND_PLAYER
+ ad->app_is_foreground = true;
+ MpView_t *player_view = GET_PLAYER_VIEW;
+ if (!player_view) {
+ mp_common_show_player_view(MP_PLAYER_NORMAL, false, false, false);
+ }
+ mp_player_view_refresh((MpPlayerView_t *) player_view);
+#else //MP_SOUND_PLAYER
+
+ MpTab_e tab = MP_TAB_SONGS;
+ char *shortcut_main_info = NULL;
+
+ _mp_common_parse_open_shortcut(app_control, &tab, &shortcut_main_info);
+ if (shortcut_main_info) {
+ if (mp_view_mgr_count_view(GET_VIEW_MGR) == 0) {
+ _mp_common_create_main_view(GET_VIEW_MGR);
+ }
+
+ _mp_common_load_view_by_shortcut(tab, shortcut_main_info);
+ if (launch_by_shortcut) {
+ *launch_by_shortcut = true;
+ }
+ free(shortcut_main_info);
+
+ evas_object_smart_callback_add(GET_VIEW_MGR->navi,
+ "transition,finished",
+ _mp_common_transition_finish_cb,
+ NULL);
+
+ DEBUG_TRACE("Create shortcut view done");
+ return;
+ }
+
+ _mp_common_create_main_view(GET_VIEW_MGR);
+
+#endif //MP_SOUND_PLAYER
+
+}
+
+#ifndef MP_SOUND_PLAYER
+
+/*
+* used for long press playall
+* @param thiz list
+* @param selected selected list
+* @return void
+*/
+static void
+_mp_common_selected_item_data_get(void *thiz, GList ** selected)
+{
+ startfunc;
+ MpList_t *list = thiz;
+ GList *sel_list = NULL;
+
+ if (!list->genlist) {
+ goto END;
+ }
+
+ Elm_Object_Item *item = NULL;
+ mp_list_item_data_t *gl_item = NULL;
+
+ if (MP_LIST_OBJ_IS_GENGRID(list->genlist)) {
+ item = elm_gengrid_first_item_get(list->genlist);
+ } else {
+ item = elm_genlist_first_item_get(list->genlist);
+ }
+
+ if (!item) {
+ goto END;
+ }
+
+ while (item) {
+ if (mp_list_item_select_mode_get(item) !=
+ ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY) {
+ gl_item = elm_object_item_data_get(item);
+ if (gl_item && gl_item->checked) {
+ sel_list = g_list_append(sel_list, gl_item);
+ }
+ }
+ item = mp_list_item_next_get(item);
+ }
+ END:
+ if (selected) {
+ *selected = sel_list;
+ }
+}
+
+/*
+* Rename Play all callback
+* @param data appdata
+* @param obj Evas object on which callback is added
+* @param event_info event info
+* @return void
+*/
+
+void mp_common_playall_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ eventfunc;
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ MpList_t *list = data;
+ MP_CHECK(list);
+
+ int count = 0;
+ char *type_str = NULL;
+ int ret = 0;
+ int playlist_id = -1;
+
+ mp_popup_destroy(ad);
+
+ GList *sel_list = NULL;
+ mp_list_item_data_t *item_data = NULL;
+ mp_media_list_h svc_handle = NULL;
+
+ _mp_common_selected_item_data_get((MpList_t *) list, &sel_list);
+
+ if (g_list_length(sel_list) == 0) {
+ mp_widget_text_popup(ad,
+ GET_STR("IDS_MUSIC_POP_NOTHING_SELECTED"));
+ return;
+ }
+
+ GList *node = g_list_first(sel_list);
+ while (node) {
+ item_data = node->data;
+ node = g_list_next(node);
+ }
+
+ if (!ad->playlist_mgr) {
+ mp_common_create_playlist_mgr();
+ }
+
+ mp_group_type_e group_type = mp_list_get_group_type((MpList_t *) list);
+
+ DEBUG_TRACE("group_type: %d", group_type);
+ if (group_type == MP_GROUP_BY_PLAYLIST) {
+ /* get playlist name */
+ if (item_data) {
+ ret =
+ mp_media_info_group_get_playlist_id(item_data->handle,
+ &playlist_id);
+ mp_debug("get playlist name ret = %d", ret);
+ }
+ /* create playlist */
+ count =
+ mp_playlist_list_set_playlist(ad->playlist_mgr, playlist_id);
+ ad->paused_by_user = FALSE;
+ } else if (group_type == MP_GROUP_BY_ALBUM) {
+ /* get playlist name */
+ if (item_data) {
+ ret =
+ mp_media_info_group_get_main_info(item_data->handle,
+ &type_str);
+ }
+
+ mp_media_info_list_count(MP_TRACK_BY_ALBUM, type_str, NULL, NULL,
+ 0, &count);
+ mp_media_info_list_create(&svc_handle, MP_TRACK_BY_ALBUM, type_str,
+ NULL, NULL, 0, 0, count);
+
+ if (count) {
+ mp_playlist_mgr_clear(ad->playlist_mgr);
+ mp_util_append_media_list_item_to_playlist(ad->playlist_mgr,
+ svc_handle, count,
+ 0, NULL);
+ ad->paused_by_user = FALSE;
+ }
+ } else if (group_type == MP_GROUP_BY_ARTIST) {
+ /* get playlist name */
+ if (item_data) {
+ ret =
+ mp_media_info_group_get_main_info(item_data->handle,
+ &type_str);
+ }
+ mp_media_info_list_count(MP_TRACK_BY_ARTIST, type_str, NULL, NULL,
+ 0, &count);
+ mp_media_info_list_create(&svc_handle, MP_TRACK_BY_ARTIST,
+ type_str, NULL, NULL, 0, 0, count);
+
+ mp_util_append_media_list_item_to_playlist(ad->playlist_mgr,
+ svc_handle, count, 0,
+ NULL);
+
+ if (count) {
+ mp_playlist_mgr_clear(ad->playlist_mgr);
+ mp_util_append_media_list_item_to_playlist(ad->playlist_mgr,
+ svc_handle, count,
+ 0, NULL);
+ ad->paused_by_user = FALSE;
+ }
+ } else if (group_type == MP_GROUP_BY_GENRE) {
+ /* get playlist name */
+ if (item_data) {
+ ret =
+ mp_media_info_group_get_main_info(item_data->handle,
+ &type_str);
+ }
+
+ mp_media_info_list_count(MP_TRACK_BY_GENRE, type_str, NULL, NULL,
+ 0, &count);
+ mp_media_info_list_create(&svc_handle, MP_TRACK_BY_GENRE, type_str,
+ NULL, NULL, 0, 0, count);
+
+ mp_util_append_media_list_item_to_playlist(ad->playlist_mgr,
+ svc_handle, count, 0,
+ NULL);
+
+ if (count) {
+ mp_playlist_mgr_clear(ad->playlist_mgr);
+ mp_util_append_media_list_item_to_playlist(ad->playlist_mgr,
+ svc_handle, count,
+ 0, NULL);
+ ad->paused_by_user = FALSE;
+ }
+ }
+ if (count == 0) {
+ mp_widget_text_popup(NULL, GET_STR(STR_MP_NO_TRACKS));
+ return;
+ }
+
+ ret = mp_play_new_file(ad, TRUE);
+ if (ret) {
+ ERROR_TRACE("Error: mp_play_new_file..");
+ if (ret == MP_PLAY_ERROR_NO_SONGS) {
+ mp_widget_text_popup(NULL,
+ GET_STR
+ (STR_MP_UNABLE_TO_PLAY_ERROR_OCCURED));
+ }
+ }
+
+ if (svc_handle) {
+ mp_media_info_list_destroy(svc_handle);
+ }
+
+ endfunc;
+}
+
+/*
+* Rename callback for common playlist
+* @param data appdata
+* @param obj Evas object on which callback is added
+* @param event_info event info
+* @return void
+*/
+
+void mp_common_playlist_rename_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ eventfunc;
+
+ MpPlaylistList_t *view = (MpPlaylistList_t *) data;
+ MP_CHECK(view);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ MpList_t *list = data;
+ MP_CHECK(list);
+
+ mp_popup_destroy(ad);
+
+ GList *sel_list = NULL;
+ mp_list_item_data_t *item_data = NULL;
+
+ _mp_common_selected_item_data_get((MpList_t *) list, &sel_list);
+
+ if (g_list_length(sel_list) == 0) {
+ mp_widget_text_popup(ad,
+ GET_STR("IDS_MUSIC_POP_NOTHING_SELECTED"));
+ return;
+ }
+
+ GList *node = g_list_first(sel_list);
+ while (node) {
+ item_data = node->data;
+ node = g_list_next(node);
+ }
+
+ mp_group_type_e group_type = mp_list_get_group_type((MpList_t *) list);
+
+ DEBUG_TRACE("group_type: %d", group_type);
+ if (group_type == MP_GROUP_BY_PLAYLIST) {
+ Mp_Playlist_Data *mp_playlist_data =
+ mp_edit_playlist_create(MP_PLST_RENAME);
+ MP_CHECK(mp_playlist_data);
+ MP_CHECK(item_data);
+ mp_playlist_data->playlist_handle = item_data->handle;
+ mp_edit_playlist_content_create(mp_playlist_data);
+ }
+}
+#endif
+/*
+* Calculates the total playlist play time
+* @param track_type Track type i.e by album/artist etc
+* @param playlist_id playlist id
+* @param count No of items in playlist
+* @return playlist play time
+*/
+int mp_common_get_playlist_totaltime(mp_track_type_e track_type,
+ int playlist_id, int count)
+{
+ mp_media_list_h media_list = NULL;
+ mp_media_info_h item = NULL;
+ int res = 0;
+ int i = 0;
+ int time = 0;
+ int total = 0;
+
+ res =
+ mp_media_info_list_create(&media_list, track_type, NULL, NULL,
+ NULL, playlist_id, 0, count);
+ MP_CHECK_VAL((res == 0), 0);
+ MP_CHECK_VAL(media_list, 0);
+
+ for (i = 0; i < count; i++) {
+ time = 0;
+ item = mp_media_info_group_list_nth_item(media_list, i);
+ if (NULL == item) {
+ continue;
+ }
+ mp_media_info_get_duration(item, &time);
+ total += time;
+ }
+ mp_media_info_list_destroy(media_list);
+ media_list = NULL;
+
+ return total;
+}
+
+#ifndef MP_SOUND_PLAYER
+#ifdef MP_FEATURE_PERSONAL_PAGE
+
+/*
+* checks all/part items are in personal page
+* @param genlist
+* @return all in personal enum
+*/
+
+all_in_personal_e mp_common_is_all_in_personal_page(Evas_Object * genlist)
+{
+ MP_CHECK_VAL(genlist, MP_COMMON_ALL_ERROR);
+ int count = elm_genlist_items_count(genlist);
+
+ int in_count = 0;
+ int out_count = 0;
+ int invalid_count = 0;
+
+ int index = 0;
+ for (index = 0; index < count; index++) {
+ Elm_Object_Item *item = NULL;
+ item = elm_genlist_nth_item_get(genlist, index);
+ if (item == NULL) {
+ invalid_count++;
+ continue;
+ }
+
+ mp_list_item_data_t *item_data = elm_object_item_data_get(item);
+ if (item_data == NULL) {
+ invalid_count++;
+ continue;
+ }
+
+ if (item_data->handle == NULL) {
+ invalid_count++;
+ continue;
+ }
+
+ char *path = NULL;
+ if (item_data->group_type == MP_GROUP_NONE) {
+ mp_media_info_get_file_path(item_data->handle, &path);
+ } else if (item_data->group_type == MP_GROUP_BY_FOLDER) {
+ mp_media_info_group_get_sub_info(item_data->handle, &path);
+ } else {
+ ERROR_TRACE("Unsupported type");
+ }
+
+ DEBUG_TRACE("---------> path is %s", path);
+ if (path == NULL) {
+ invalid_count++;
+ continue;
+ }
+
+ if (mp_util_is_in_personal_page((const char *) path)) {
+ in_count++;
+ } else {
+ out_count++;
+ }
+ }
+
+ if (in_count == (count - invalid_count)) {
+ return MP_COMMON_ALL_IN;
+ } else if (out_count == (count - invalid_count)) {
+ return MP_COMMON_ALL_OUT;
+ } else {
+ return MP_COMMON_PART;
+ }
+}
+
+/*
+* Create/update edit view with personal page add
+* @param data appdata
+* @param obj Evas object on which callback is added
+* @param event_info event info
+* @return void
+*/
+void mp_common_add_to_personal_page_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ eventfunc;
+ MpListView_t *view = (MpListView_t *) data;
+ MP_CHECK(view);
+
+ mp_evas_object_del(view->more_btn_ctxpopup);
+
+ MpView_t *edit_view =
+ (MpView_t *) mp_edit_view_create(GET_NAVIFRAME,
+ view->content_to_show, false,
+ MP_EDIT_VIEW_PERSONAL_PAGE_ADD);
+ if (edit_view == NULL) {
+ return;
+ }
+ mp_view_mgr_push_view(GET_VIEW_MGR, edit_view, NULL);
+ mp_view_update(edit_view);
+ mp_view_update_options(edit_view);
+
+ mp_view_set_title(edit_view, STR_MP_TILTE_SELECT_ITEM);
+ mp_list_view_set_select_all((MpListView_t *) edit_view, true);
+ mp_list_show_fast_scroll(((MpListView_t *) edit_view)->
+ content_to_show);
+}
+
+/*
+* Create/update edit view with personal page remove
+* @param data appdata
+* @param obj Evas object on which callback is added
+* @param event_info event info
+* @return void
+*/
+void mp_common_remove_from_personal_page_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ eventfunc;
+ MpListView_t *view = (MpListView_t *) data;
+ MP_CHECK(view);
+
+ mp_evas_object_del(view->more_btn_ctxpopup);
+
+ MpView_t *edit_view =
+ (MpView_t *) mp_edit_view_create(GET_NAVIFRAME,
+ view->content_to_show, false,
+ MP_EDIT_VIEW_PERSONAL_PAGE_REMOVE);
+
+ if (edit_view == NULL) {
+ return;
+ }
+ mp_view_mgr_push_view(GET_VIEW_MGR, edit_view, NULL);
+ mp_view_update(edit_view);
+ mp_view_update_options(edit_view);
+
+ mp_view_set_title(edit_view, STR_MP_TILTE_SELECT_ITEM);
+ mp_list_view_set_select_all((MpListView_t *) edit_view, true);
+ mp_list_show_fast_scroll(((MpListView_t *) edit_view)->
+ content_to_show);
+}
+
+#endif
+
+/*
+* cancel the delete thread
+* @return void
+*/
+
+void mp_common_force_close_delete()
+{
+ Ecore_Thread *delete_thread =
+ (Ecore_Thread *) mp_edit_get_delete_thread();
+ MP_CHECK(delete_thread);
+ ecore_thread_cancel(delete_thread);
+ delete_thread = NULL;
+}
+#endif
+
+/*
+* common view check changed callback
+* @param data appdata
+* @param obj Evas object on which callback is added
+* @param event_info event info
+* @return void
+*/
+
+void mp_common_view_check_changed_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ char *uri = NULL;
+ mp_list_item_data_t *item = (mp_list_item_data_t *)data;
+ MP_CHECK(item);
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ MpViewMgr_t *view_mgr = mp_view_mgr_get_view_manager();
+ MP_CHECK(view_mgr);
+ MpView_t *view = mp_view_mgr_get_top_view(view_mgr);
+ MP_CHECK(view);
+
+ if (ad->selector_mode_bit) {
+ mp_media_info_get_file_path(item->handle, &uri);
+ if (item->checked) {
+ ad->checkedList = g_list_append(ad->checkedList, g_strdup(uri));
+ } else {
+ GList *list;
+ for (list = ad->checkedList; list != NULL; list = list->next) {
+ if (!g_strcmp0(uri, list->data)) {
+ ad->checkedList = g_list_delete_link(ad->checkedList, list);
+ }
+ }
+ }
+ }
+ SAFE_FREE(uri);
+ mp_view_update_options_edit(view);
+}
+
+/*
+* Common ctxpopup settings callback
+* @param media media info
+* @param list MPList
+* @return bool
+*/
+bool mp_common_track_is_current(mp_media_info_h media, MpList_t * list)
+{
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_FALSE(ad);
+ mp_track_info_t *current = ad->current_track_info;
+ MP_CHECK_FALSE(current);
+
+ char *uri = NULL;
+ mp_media_info_get_file_path(media, &uri);
+ mp_retv_if(!uri, NULL);
+ bool match = false;
+ if (current && !g_strcmp0(current->uri, uri) && list->edit_mode == 0) {
+ match = true;
+ }
+ return match;
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include "mp-edit-callback.h"
+#include "mp-popup.h"
+#include "mp-menu.h"
+#include "mp-util.h"
+#include "mp-widget.h"
+#include "mp-ctxpopup.h"
+#include "mp-create-playlist-view.h"
+#include "mp-list.h"
+#include "mp-define.h"
+#include "mp-playlist-mgr.h"
+#include "mp-player-mgr.h"
+#include "mp-play.h"
+#include "mp-playlist-detail-view.h"
+#include "mp-edit-playlist.h"
+#include "mp-common.h"
+#include "mp-minicontroller.h"
+#include "mp-lockscreenmini.h"
+#include "mp-file-util.h"
+
+#ifdef MP_FEATURE_PERSONAL_PAGE
+#include <sys/stat.h>
+#include <sys/statfs.h>
+#include "mp-track-list.h"
+#endif
+
+typedef enum {
+ MP_EDIT_THREAD_FEEDBACK_UNABLE_TO_ADD_PLST,
+ MP_EDIT_THREAD_FEEDBACK_CANCEL_BY_EXCEPTION,
+ MP_EDIT_THREAD_FEEDBACK_TRACK_DELETED,
+#ifdef MP_FEATURE_PERSONAL_PAGE
+ MP_EDIT_THREAD_FEEDBACK_TRACK_MOVE,
+#endif
+} mp_edit_thread_feedback_e;
+
+#ifdef MP_FEATURE_PERSONAL_PAGE
+static int g_total_count;
+#endif
+
+static Ecore_Thread *g_edit_thread;
+static Ecore_Thread *g_delete_thread;
+static Ecore_Thread *g_personal_storage_thread;
+static int g_playlist_id;
+static int g_playlist_track_count;
+static GList *g_selected_list;
+static MpListType_e g_list_type;
+static int g_group_type;
+static int g_track_type;
+static int g_edit_operation;
+static int g_error_count;
+static int g_selected_count;
+static int g_selected_tracklist_count;
+static void *g_playlist_handle;
+static char *g_playlist_name;
+
+void mp_edit_cb_excute_track_delete(void *data);
+
+/*
+* Create Playlist edit callback
+* @param data appdata
+* @param obj Evas object on which callback is added
+* @param event_info event info
+* @return void
+*/
+static void
+_mp_edit_cb_create_playlist_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ startfunc;
+ evas_object_del(obj);
+ int response = (int) event_info;
+ if (response == MP_POPUP_NO) {
+ DEBUG_TRACE("cancel btn click");
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_POPUP_CANCEL);
+ return;
+ }
+ MP_CHECK(response);
+
+ Mp_Playlist_Data *mp_playlist_data =
+ mp_edit_playlist_create(MP_PLST_CREATE);
+ MP_CHECK(mp_playlist_data);
+ mp_edit_playlist_set_edit_list(mp_playlist_data, data);
+ mp_edit_playlist_content_create(mp_playlist_data);
+
+ endfunc;
+}
+
+/*
+* Response callback to delete a track
+* @param data appdata
+* @param obj Evas object to be deleted
+* @param event_info event info
+* @return void
+*/
+void
+_mp_edit_delete_track_popup_response_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ startfunc;
+ DEBUG_TRACE("");
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ mp_evas_object_del(obj);
+ ad->popup_delete = NULL;
+
+ int response = (int) event_info;
+ if (response == MP_POPUP_NO) {
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_POPUP_CANCEL);
+ return;
+ }
+
+ mp_edit_cb_excute_track_delete(data);
+
+ endfunc;
+ return;
+}
+
+/*
+* Create delete popup
+* @param data appdata
+* @return void
+*/
+void mp_edit_create_track_delete_popup(void *data)
+{
+ DEBUG_TRACE("");
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ char *title_txt = NULL;
+ char *title = NULL;
+ char *help_txt = NULL;
+ title = STR_MP_DELETE;
+
+ title_txt =
+ g_strconcat("<align=center>", GET_STR(title), "</align>", NULL);
+ Evas_Object *popup =
+ mp_popup_create(ad->win_main, MP_POPUP_NORMAL, title_txt, data,
+ _mp_edit_delete_track_popup_response_cb, ad);
+ ad->popup_delete = popup;
+ //making help_txt
+ char *markup = NULL;
+ markup = g_strdup(GET_STR(STR_MP_ONE_TRACK_DETELED));
+ help_txt = g_strconcat("<align=left>", markup, "</align>", NULL);
+ mp_util_domain_translatable_text_set(popup, help_txt);
+ IF_FREE(title_txt);
+ IF_FREE(help_txt);
+ IF_FREE(markup);
+
+ mp_popup_button_set(popup, MP_POPUP_BTN_1, STR_MP_CANCEL, MP_POPUP_NO);
+ mp_popup_button_set(popup, MP_POPUP_BTN_2, STR_MP_DELETE,
+ MP_POPUP_YES);
+
+ evas_object_show(popup);
+}
+
+/*
+* Callback to edit add to playlist
+* @param data appdata
+* @param obj Evas object to be deleted
+* @param event_info event info
+* @return void
+*/
+static void
+_mp_edit_cb_add_to_playlist_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ startfunc;
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ Elm_Object_Item *selected_item = event_info;
+ Popup_genlist_item *gli_data =
+ (Popup_genlist_item *) elm_object_item_data_get(selected_item);
+ if (!gli_data) {
+ return;
+ }
+
+ char *playlist_name;
+ mp_media_info_h item = data;
+ MP_CHECK(item);
+ mp_media_info_group_get_playlist_id(item, &g_playlist_id);
+ mp_media_info_group_get_main_info(item, &playlist_name);
+
+ mp_popup_destroy(ad);
+ mp_edit_cb_excute_add_to_playlist(gli_data->item_data, g_playlist_id,
+ playlist_name, true);
+}
+
+/*
+* Delete the playlist
+* @param data appdata
+* @param e Evas of the object
+* @param obj Evas object to be deleted
+* @param event_info event info
+* @return void
+*/
+
+static void _mp_edit_cb_popup_del_cb(void *data, Evas * e,
+ Evas_Object * eo, void *event_info)
+{
+ mp_media_list_h list = data;
+ mp_media_info_group_list_destroy(list);
+}
+/*
+* Add to playlist popup
+* @param data appdata
+* @return void
+*/
+void mp_edit_create_add_to_playlist_popup(void *data)
+{
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ MpList_t *list = data;
+ MP_CHECK(list);
+
+ Evas_Object *popup = NULL;
+ if (mp_list_get_checked_count(list) <= 0) {
+ mp_widget_text_popup(ad,
+ GET_STR("IDS_MUSIC_POP_NOTHING_SELECTED"));
+ return;
+ }
+
+ popup =
+ mp_genlist_popup_create(ad->win_main, MP_POPUP_ADD_TO_PLST, data,
+ ad);
+ mp_retm_if(!popup, "popup is NULL !!!");
+
+ mp_popup_response_callback_set(popup, _mp_edit_cb_create_playlist_cb,
+ data);
+
+ int i = 0, count = -1, ret = -1;
+
+ ret =
+ mp_media_info_group_list_count(MP_GROUP_BY_PLAYLIST, NULL, NULL,
+ &count);
+ if (ret != 0) {
+ ERROR_TRACE("Error in mp_media_info_group_list_count (%d)", ret);
+ return;
+ }
+
+ if (count) {
+ mp_media_list_h media_list = NULL;
+
+ ret =
+ mp_media_info_group_list_create(&media_list,
+ MP_GROUP_BY_PLAYLIST, NULL,
+ NULL, 0, count);
+ if (ret != 0) {
+ WARN_TRACE("Fail to get playlist");
+ return;
+ }
+ for (i = 0; i < count; i++) {
+ char *name = NULL;
+ mp_media_info_h item = NULL;
+ item = mp_media_info_group_list_nth_item(media_list, i);
+
+ ret = mp_media_info_group_get_main_info(item, &name);
+ mp_retm_if(ret != 0, "Fail to get value");
+ mp_genlist_popup_item_append(popup, name, NULL, NULL,
+ (void *) list,
+ _mp_edit_cb_add_to_playlist_cb,
+ (void *) item);
+ }
+
+ evas_object_event_callback_add(popup, EVAS_CALLBACK_DEL,
+ _mp_edit_cb_popup_del_cb,
+ media_list);
+ } else {
+ Elm_Object_Item *it =
+ mp_genlist_popup_item_append(popup,
+ GET_STR(STR_MP_NO_PLAYLISTS),
+ NULL, NULL, NULL, NULL, ad);
+ elm_genlist_item_select_mode_set(it,
+ ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+ }
+
+ evas_object_show(popup);
+}
+/*
+* Progress popup response callback
+* @param data appdata
+* @param obj Evas object to be deleted
+* @param event_info event info
+* @return void
+*/
+static void
+_mp_edit_progress_popup_response_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ MP_CHECK(obj);
+ mp_evas_object_del(obj);
+
+ if (g_edit_thread) {
+ ecore_thread_cancel(g_edit_thread);
+ g_edit_thread = NULL;
+ }
+
+ WARN_TRACE("EDIT progress has been completed. Now update views..");
+ DEBUG_TRACE("selected_count, %d, error_count: %d", g_selected_count,
+ g_error_count);
+
+ if (g_edit_operation == MP_EDIT_ADD_TO_PLAYLIST) {
+ mp_view_update(mp_view_mgr_get_view
+ (GET_VIEW_MGR, MP_VIEW_PLAYLIST_DETAIL));
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_ADD_TO_PLAYLIST_DONE);
+ } else if (g_edit_operation == MP_EDIT_DELETE) {
+ if ((g_selected_count == 1) && g_error_count) {
+ mp_util_post_status_message(ad,
+ GET_SYS_STR("IDS_COM_POP_FAILED"));
+ }
+ if (g_group_type == MP_GROUP_BY_FOLDER) {
+ DEBUG_TRACE("update all view");
+ mp_view_update(mp_view_mgr_get_view
+ (GET_VIEW_MGR, MP_VIEW_ALL));
+ }
+ //set selection info && update buttons
+ MpListView_t *view =
+ (MpListView_t *) mp_view_mgr_get_top_view(GET_VIEW_MGR);
+ MP_CHECK(view);
+ bool list_view = false;
+ mp_list_view_is_list_view(view, &list_view);
+ if (list_view && mp_list_get_edit(view->content_to_show)) {
+ mp_view_update_options_edit((MpView_t *) view);
+ view->selection_info =
+ mp_util_create_selectioninfo_with_count(view,
+ mp_list_get_checked_count
+ (view->
+ content_to_show));
+ }
+
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_DELETE_DONE);
+ }
+
+ ad->edit_in_progress = false;
+
+}
+
+/*
+* Add to playlist thread
+* @param thread thread
+* @return void
+*/
+
+static void
+_mp_edit_cb_add_to_plst_thread(void *data, Ecore_Thread * thread)
+{
+ startfunc;
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ mp_list_item_data_t *item = NULL;
+ mp_media_info_h item_handle = NULL;
+ mp_media_list_h group_track_handle = NULL;
+ int ret = 0;
+ g_selected_tracklist_count = 0;
+
+ mp_media_info_connect();
+
+ GList *node = g_list_last(g_selected_list);
+ MP_CHECK_EXCEP(node);
+
+ mp_playlist_h playlist_h = NULL;
+ mp_media_info_playlist_handle_create(&playlist_h, g_playlist_id);
+
+ char *title = NULL;
+ while (node) {
+ if (ecore_thread_check(thread)) { // pending cancellation
+ WARN_TRACE("popup cancel clicked");
+ goto mp_exception;
+ }
+
+ char *fid = NULL;
+ char *thumbnail_path = NULL;
+
+ item = node->data;
+ node = g_list_previous(node);
+ if (!item) {
+ WARN_TRACE("CHECK here...");
+ ecore_thread_feedback(thread,
+ (void *)
+ MP_EDIT_THREAD_FEEDBACK_CANCEL_BY_EXCEPTION);
+ goto mp_exception;
+ }
+ item_handle = (item->handle);
+ if (!item_handle) {
+ continue;
+ }
+
+ switch (g_list_type) {
+ case MP_LIST_TYPE_TRACK:
+ case MP_LIST_TYPE_ARTIST_DETAIL:
+ case MP_LIST_TYPE_ALBUM_DETAIL:
+ case MP_LIST_TYPE_ALL:{
+ ret = mp_media_info_get_media_id(item_handle, &fid);
+ if (ret != 0) {
+ ERROR_TRACE("CRITICAL ERROR ## CHECK BELOW ITEM");
+
+ goto mp_exception;
+ }
+
+ int res = 0;
+ if (g_playlist_id == -1) { /*favoriate playlist */
+ res = mp_media_info_set_favorite(item_handle, true);
+
+ } else {
+ mp_media_info_get_thumbnail_path(item_handle,
+ &thumbnail_path);
+ res =
+ mp_media_info_playlist_add_item(playlist_h, fid,
+ thumbnail_path);
+ }
+ if (res) {
+ WARN_TRACE("");
+ ecore_thread_feedback(thread,
+ (void *)
+ MP_EDIT_THREAD_FEEDBACK_UNABLE_TO_ADD_PLST);
+ ecore_thread_feedback(thread,
+ (void *)
+ MP_EDIT_THREAD_FEEDBACK_CANCEL_BY_EXCEPTION);
+ goto mp_exception;
+ } else {
+ g_playlist_track_count++;
+ }
+
+#ifdef MP_PLAYLIST_MAX_ITEM_COUNT
+ if (g_playlist_track_count >= MP_PLAYLIST_MAX_ITEM_COUNT) {
+ DEBUG_TRACE("unable to add more tracks...");
+ //ecore_thread_feedback(thread, (void *)MP_EDIT_THREAD_FEEDBACK_CANCEL_BY_EXCEPTION);
+ goto mp_exception;
+ }
+#endif
+ g_selected_tracklist_count += 1;
+
+ break;
+ }
+ case MP_LIST_TYPE_GROUP:{
+ mp_track_type_e item_type = MP_TRACK_ALL;
+ int count = 0, i;
+ mp_media_info_h item = NULL;
+
+ if (g_group_type == MP_GROUP_BY_FOLDER) {
+ ret =
+ mp_media_info_group_get_folder_id(item_handle,
+ &title);
+ } else {
+ ret =
+ mp_media_info_group_get_main_info(item_handle,
+ &title);
+ }
+ MP_CHECK_EXCEP(ret == 0);
+
+ item_type = mp_menu_get_track_type_by_group(g_group_type);
+ ret =
+ mp_media_info_list_count(item_type, title, NULL, NULL,
+ 0, &count);
+ MP_CHECK_EXCEP(ret == 0);
+ if (group_track_handle) {
+ mp_media_info_list_destroy(group_track_handle);
+ group_track_handle = NULL;
+ }
+ ret =
+ mp_media_info_list_create(&group_track_handle,
+ item_type, title, NULL, NULL,
+ 0, 0, count);
+ MP_CHECK_EXCEP(ret == 0);
+
+ for (i = 0; i < count; i++) {
+ char *fid = NULL;
+ char *thumbnail_path = NULL;
+ item =
+ mp_media_info_list_nth_item(group_track_handle, i);
+ ret = mp_media_info_get_media_id(item, &fid);
+ MP_CHECK_EXCEP(ret == 0);
+
+ int res = 0;
+ if (g_playlist_id == -1) { /*favoriate playlist */
+ res = mp_media_info_set_favorite(item, true);
+ } else {
+ mp_media_info_get_thumbnail_path(item,
+ &thumbnail_path);
+ res =
+ mp_media_info_playlist_add_item(playlist_h,
+ fid,
+ thumbnail_path);
+ }
+ if (res) {
+ WARN_TRACE("");
+ ecore_thread_feedback(thread,
+ (void *)
+ MP_EDIT_THREAD_FEEDBACK_UNABLE_TO_ADD_PLST);
+ ecore_thread_feedback(thread,
+ (void *)
+ MP_EDIT_THREAD_FEEDBACK_CANCEL_BY_EXCEPTION);
+ goto mp_exception;
+ } else {
+ g_playlist_track_count++;
+ }
+
+#ifdef MP_PLAYLIST_MAX_ITEM_COUNT
+ if (g_playlist_track_count >=
+ MP_PLAYLIST_MAX_ITEM_COUNT) {
+ DEBUG_TRACE("unable to add more tracks...");
+ ecore_thread_feedback(thread,
+ (void *)
+ MP_EDIT_THREAD_FEEDBACK_CANCEL_BY_EXCEPTION);
+ goto mp_exception;
+ }
+#endif
+ }
+ g_selected_tracklist_count += count;
+ break;
+ }
+ default:
+ ecore_thread_feedback(thread,
+ (void *)
+ MP_EDIT_THREAD_FEEDBACK_CANCEL_BY_EXCEPTION);
+ WARN_TRACE("unexpected case... [%d]", g_list_type);
+ goto mp_exception;
+ }
+ IF_FREE(title);
+ }
+ mp_exception:
+ mp_media_info_playlist_handle_destroy(playlist_h);
+
+ if (group_track_handle) {
+ mp_media_info_list_destroy(group_track_handle);
+ group_track_handle = NULL;
+ }
+ mp_media_info_disconnect();
+ IF_FREE(title);
+
+ //To make progress popup visible if only one item deleted.
+ sleep(1);
+}
+
+/*
+* Delete the track
+* @param item_handle Item to be deleted
+* @return 0 on successfull deletion, -1 on unsuccessfull deletion
+*/
+inline static int _delete_track(mp_media_info_h item_handle)
+{
+ int ret = 0;
+ char *uri = NULL, *fid = NULL;
+
+ MP_CHECK_VAL(item_handle, -1);
+
+ switch (g_track_type) {
+ case MP_TRACK_BY_PLAYLIST:{
+ int member_id = 0;
+ ret =
+ mp_media_info_get_playlist_member_id(item_handle,
+ &member_id);
+ MP_CHECK_VAL(ret == 0, -1);
+ ret =
+ mp_media_info_playlist_remove_media(g_playlist_handle,
+ member_id);
+ MP_CHECK_VAL(ret == 0, -1);
+
+ mp_common_playlist_album_update(g_playlist_handle);
+
+ break;
+ }
+ /* case MP_TRACK_BY_ADDED_TIME:{
+ // API depricated so cannot delete by default added time 0
+ ret = mp_media_info_set_added_time(item_handle, 0);
+ MP_CHECK_VAL(ret == 0, -1);
+ break;
+ } */
+ case MP_TRACK_BY_FAVORITE:{
+ ret = mp_media_info_set_favorite(item_handle, 0);
+ MP_CHECK_VAL(ret == 0, -1);
+ break;
+ }
+ default:{
+ ret = mp_media_info_get_media_id(item_handle, &fid);
+ ret = mp_media_info_get_file_path(item_handle, &uri);
+ MP_CHECK_VAL(ret == 0, -1);
+
+ if (mp_util_delete_track(NULL, fid, uri) !=
+ MP_FILE_DELETE_ERR_NONE) {
+ DEBUG_TRACE("Fail to delete item, fid: %d, path: %s", fid,
+ uri);
+ return -1;
+ }
+ ecore_thread_feedback(g_edit_thread,
+ (void *)
+ MP_EDIT_THREAD_FEEDBACK_TRACK_DELETED);
+ break;
+ }
+ }
+ return 0;
+}
+
+/*
+* Delete the Playlist
+* @param item_handle Item to be deleted
+* @return 0 on successfull deletion, -1 on unsuccessfull deletion
+*/
+inline static int _delete_playlist(mp_media_info_h item_handle)
+{
+ int ret = 0;
+ int plst_id;
+ ret = mp_media_info_group_get_playlist_id(item_handle, &plst_id);
+ ret = mp_media_info_playlist_delete_from_db(plst_id);
+ MP_CHECK_VAL(ret == 0, -1);
+
+ return 0;
+}
+/*
+* Delete the tracks in the group
+* @param item_handle Item to be deleted
+* @return 0 on successfull deletion, -1 on unsuccessfull deletion
+*/
+inline static int _delete_group(mp_media_info_h item_handle)
+{
+ int ret = 0;
+ mp_track_type_e item_type = MP_TRACK_ALL;
+ int count = 0, i;
+ mp_media_info_h item = NULL;
+ char *title = NULL, *uri = NULL, *fid = NULL;
+
+ mp_media_list_h group_track_handle = NULL;
+
+ if (g_group_type == MP_GROUP_BY_FOLDER) {
+ ret = mp_media_info_group_get_folder_id(item_handle, &title);
+ } else {
+ ret = mp_media_info_group_get_main_info(item_handle, &title);
+ }
+ if (ret != 0) {
+ IF_FREE(title);
+ return -1;
+ }
+
+ item_type = mp_menu_get_track_type_by_group(g_group_type);
+ ret =
+ mp_media_info_list_count(item_type, title, NULL, NULL, 0, &count);
+ if (ret != 0) {
+ IF_FREE(title);
+ return -1;
+ }
+
+ ret =
+ mp_media_info_list_create(&group_track_handle, item_type, title,
+ NULL, NULL, 0, 0, count);
+ if (ret != 0) {
+ IF_FREE(title);
+ return -1;
+ }
+
+ for (i = 0; i < count; i++) {
+ item = mp_media_info_list_nth_item(group_track_handle, i);
+ mp_media_info_get_media_id(item, &fid);
+ mp_media_info_get_file_path(item, &uri);
+ if (mp_util_delete_track(NULL, fid, uri) !=
+ MP_FILE_DELETE_ERR_NONE) {
+ WARN_TRACE("Fail to delete group");
+ ret = -1;
+ }
+ }
+
+ IF_FREE(title);
+ ecore_thread_feedback(g_edit_thread,
+ (void *) MP_EDIT_THREAD_FEEDBACK_TRACK_DELETED);
+ mp_media_info_list_destroy(group_track_handle);
+ return ret;
+}
+
+/*
+* Delete callback thread
+* @param data Appdata
+* @param thread Thread
+* @return void
+*/
+
+static void _mp_edit_cb_delete_thread(void *data, Ecore_Thread * thread)
+{
+ startfunc;
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ mp_list_item_data_t *item = NULL;
+ mp_media_info_h item_handle = NULL;
+
+ DEBUG_TRACE("g_list_type: %d, track_type: %d, g_group_type: %d",
+ g_list_type, g_track_type, g_group_type);
+
+ mp_media_info_connect();
+
+ GList *node = g_list_last(g_selected_list);
+ MP_CHECK_EXCEP(node);
+ while (node) {
+ if (ecore_thread_check(thread)) { // pending cancellation
+ WARN_TRACE("popup cancel clicked");
+ goto mp_exception;
+ }
+
+ item = node->data;
+ node = g_list_previous(node);
+ if (!item) {
+ WARN_TRACE("CHECK here...");
+ ecore_thread_feedback(thread,
+ (void *)
+ MP_EDIT_THREAD_FEEDBACK_CANCEL_BY_EXCEPTION);
+ goto mp_exception;
+ }
+ item_handle = (item->handle);
+ if (!item_handle) {
+ continue;
+ }
+
+ switch (g_list_type) {
+ case MP_LIST_TYPE_TRACK:
+ case MP_LIST_TYPE_ALBUM_DETAIL:
+ case MP_LIST_TYPE_ARTIST_DETAIL:
+ case MP_LIST_TYPE_ALL:{
+ if (_delete_track(item_handle)) {
+ g_error_count++;
+ } else {
+ ecore_thread_feedback(thread, item->it);
+ }
+ break;
+ }
+ case MP_LIST_TYPE_PLAYLIST:{
+ if (!_delete_playlist(item_handle)) {
+ ecore_thread_feedback(thread, item->it);
+ }
+ break;
+ }
+ case MP_LIST_TYPE_GROUP:{
+ if (!_delete_group(item_handle)) {
+ ecore_thread_feedback(thread, item->it);
+ }
+ break;
+ }
+ default:
+ ecore_thread_feedback(thread,
+ (void *)
+ MP_EDIT_THREAD_FEEDBACK_CANCEL_BY_EXCEPTION);
+ WARN_TRACE("unexpected case...");
+ goto mp_exception;
+ }
+ }
+ mp_exception:
+
+ //To make progress popup visible if only one item deleted.
+ sleep(1);
+ mp_media_info_disconnect();
+}
+
+/*
+* Edit callback check playlist
+* @return void
+*/
+static void _mp_edit_cb_check_playlist()
+{
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ bool current_removed = false;
+ bool next_play = false;
+
+ if (mp_player_mgr_get_state() == PLAYER_STATE_PLAYING) {
+ next_play = true;
+ }
+
+ mp_playlist_mgr_check_existance_and_refresh(ad->playlist_mgr,
+ ¤t_removed);
+ if (current_removed) {
+ mp_play_destory(ad);
+ if (mp_playlist_mgr_count(ad->playlist_mgr) == 0) {
+ if (ad->current_track_info) {
+ mp_util_free_track_info(ad->current_track_info);
+ ad->current_track_info = NULL;
+ }
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_UNSET_NOW_PLAYING);
+ if (ad->b_minicontroller_show) {
+ mp_minicontroller_hide(ad);
+ }
+#ifdef MP_FEATURE_LOCKSCREEN
+ if (ad->b_lockmini_show) {
+ mp_lockscreenmini_hide(ad);
+ }
+#endif
+
+ char *data_path = app_get_data_path();
+ /*as all the items are removed, remove now-playing.ini to avoid copy the same track but in DB, they are different */
+ char nowplaying_ini[1024] = { 0 };
+ snprintf(nowplaying_ini, 1024, "%s%s", data_path,
+ MP_NOWPLAYING_INI_FILE_NAME);
+ mp_file_remove(nowplaying_ini);
+ /* remove playing_track.ini to avoid lockscreen still using the file content */
+
+ char playing_ini[1024] = { 0 };
+#ifndef MP_SOUND_PLAYER
+ snprintf(playing_ini, 1024, "%s%s", data_path,
+ MP_PLAYING_INI_FILE_NAME_MUSIC);
+ free(data_path);
+ mp_file_remove(playing_ini);
+#else
+ snprintf(playing_ini, 1024, "%s%s", data_path,
+ MP_PLAYING_INI_FILE_NAME_SOUND);
+ free(data_path);
+ mp_file_remove(playing_ini);
+#endif
+ } else if (next_play) {
+ mp_play_new_file(ad, true);
+ }
+ }
+}
+
+/*
+* Thread feedback callback
+* @param data Appdata
+* @param thread Thread
+* @param msg_data feedback data
+* @return void
+*/
+
+static void
+_mp_edit_cb_edit_thread_notify_cb(void *data, Ecore_Thread * thread,
+ void *msg_data)
+{
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ mp_edit_thread_feedback_e feedback =
+ (mp_edit_thread_feedback_e) msg_data;
+ switch (feedback) {
+ case MP_EDIT_THREAD_FEEDBACK_UNABLE_TO_ADD_PLST:
+ mp_widget_text_popup(ad, GET_STR("IDS_MUSIC_POP_UNABLE_TO_ADD"));
+ break;
+
+ case MP_EDIT_THREAD_FEEDBACK_CANCEL_BY_EXCEPTION:
+ mp_popup_response(ad->popup[MP_POPUP_PROGRESS], MP_POPUP_NO);
+ break;
+
+ case MP_EDIT_THREAD_FEEDBACK_TRACK_DELETED:{
+ _mp_edit_cb_check_playlist();
+ }
+ break;
+
+ default:
+ DEBUG_TRACE("delete genlist item");
+ if (g_track_type == MP_TRACK_BY_PLAYLIST && g_playlist_handle
+ && ad->playlist_mgr) {
+ int item_playlist_id = 0;
+ mp_media_info_group_get_playlist_id(g_playlist_handle,
+ &item_playlist_id);
+ int current_playlist_id =
+ mp_playlist_mgr_get_playlist_id(ad->playlist_mgr);
+ if (current_playlist_id
+ && current_playlist_id == item_playlist_id) {
+ mp_list_item_data_t *item_data =
+ elm_object_item_data_get(msg_data);
+ if (item_data && item_data->handle) {
+ int member_id = 0;
+ mp_media_info_get_playlist_member_id(item_data->handle,
+ &member_id);
+ mp_debug("item playlist_id = %d, member_id = %d",
+ item_playlist_id, member_id);
+ mp_plst_item *plst_item =
+ mp_playlist_mgr_get_item_by_playlist_memeber_id
+ (ad->playlist_mgr, member_id);
+ if (plst_item) {
+ if (plst_item ==
+ mp_playlist_mgr_get_current(ad->
+ playlist_mgr)) {
+ mp_play_destory(ad);
+ mp_playlist_mgr_item_remove_item(ad->
+ playlist_mgr,
+ plst_item);
+ mp_play_new_file(ad, true);
+ } else {
+ mp_playlist_mgr_item_remove_item(ad->
+ playlist_mgr,
+ plst_item);
+ }
+ }
+ }
+ }
+ }
+ elm_object_item_del(msg_data);
+ break;
+ }
+}
+
+/*
+** use idle to delete the pervious playlist detail view
+** don't need to record the idler handle, it will be called only once
+** send event in idle to avoid update routine in the previous playlist detail view which will be deleted
+*/
+static Eina_Bool _del_old_playlist_detail_view_cb(void *data)
+{
+ startfunc;
+ MpView_t *view = (MpView_t *) data;
+ if (view) {
+ elm_object_item_del(view->navi_it); //elm_naviframe_item_pop does not work
+ }
+
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_ADD_TO_PLAYLIST_DONE);
+ return FALSE;
+}
+
+/*
+* Thread feedback callback
+* @param data Appdata
+* @param thread Thread
+* @return void
+*/
+static void
+_mp_edit_cb_edit_thread_end_cb(void *data, Ecore_Thread * thread)
+{
+ WARN_TRACE("thread_end");
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ int playlist_id = g_playlist_id;
+
+ g_edit_thread = NULL;
+ g_playlist_id = 0;
+ g_playlist_track_count = 0;
+ g_list_free(g_selected_list);
+
+ _mp_edit_cb_check_playlist();
+
+ ad->recentlyAddedGridView = true;
+ if (g_edit_operation == MP_EDIT_ADD_TO_PLAYLIST && g_playlist_name) {
+ /*keep previous playlist detail view, which to be popped after new view pushed */
+ MpView_t *previous_view =
+ mp_view_mgr_get_view(GET_VIEW_MGR, MP_VIEW_PLAYLIST_DETAIL);
+ MpView_t *view = NULL;
+ if (playlist_id == -1) { /*favoriate playlist */
+ view =
+ (MpView_t *) mp_playlist_detail_view_create(GET_NAVIFRAME,
+ MP_TRACK_BY_FAVORITE,
+ g_playlist_name,
+ playlist_id);
+ } else {
+ view =
+ (MpView_t *) mp_playlist_detail_view_create(GET_NAVIFRAME,
+ MP_TRACK_BY_PLAYLIST,
+ g_playlist_name,
+ playlist_id);
+ }
+ mp_view_mgr_push_view(GET_VIEW_MGR, view, NULL);
+ mp_view_update_options(view);
+ mp_view_set_title(view, g_playlist_name);
+
+ IF_FREE(g_playlist_name);
+ /*
+ **in this case, only need to delete popup and send MP_ADD_TO_PLAYLIST_DONE,
+ **don't need to update the view to be popped
+ */
+ mp_evas_object_del(ad->popup[MP_POPUP_PROGRESS]);
+ /*idler is used to delete old playlist detail view to avoid blink */
+ ecore_idler_add(_del_old_playlist_detail_view_cb, previous_view);
+ } else {
+ mp_popup_response(ad->popup[MP_POPUP_PROGRESS], MP_POPUP_YES);
+ }
+}
+
+static void
+_mp_edit_cb_edit_thread_cancel_cb(void *data, Ecore_Thread * thread)
+{
+ WARN_TRACE("thread_cancel");
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ g_edit_thread = NULL;
+ g_list_free(g_selected_list);
+
+ _mp_edit_cb_check_playlist();
+
+ mp_evas_object_del(ad->popup[MP_POPUP_PROGRESS]);
+
+ mp_view_mgr_delete_view(GET_VIEW_MGR, MP_VIEW_EDIT);
+
+ /*update top view */
+ MpView_t *top_view = mp_view_mgr_get_top_view(GET_VIEW_MGR);
+ MP_CHECK(top_view);
+ mp_view_update(top_view);
+
+ if (top_view->view_type != MP_VIEW_ALL) {
+ mp_view_update(GET_ALL_VIEW);
+ }
+
+ if (top_view->view_type == MP_VIEW_FOLDER_DETAIL) {
+ //update folder view
+ MpView_t *folder_view =
+ mp_view_mgr_get_view(GET_VIEW_MGR, MP_VIEW_FOLDER);
+ MP_CHECK(folder_view);
+ mp_view_update(folder_view);
+ }
+}
+
+
+void
+mp_edit_cb_excute_add_to_playlist(void *data, int playlist_id,
+ char *playlist_name, bool selected)
+{
+ startfunc;
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ MpList_t *list = data;
+ MP_CHECK(list);
+
+ if (selected) {
+ mp_list_selected_item_data_get(list, &g_selected_list);
+ } else {
+ mp_list_all_item_data_get(list, &g_selected_list);
+ }
+ MP_CHECK(g_selected_list);
+ g_list_type = list->list_type;
+ g_group_type = mp_list_get_group_type(list);
+ g_selected_count = g_list_length(g_selected_list);
+ g_error_count = 0;
+ g_edit_operation = MP_EDIT_ADD_TO_PLAYLIST;
+ g_playlist_id = playlist_id;
+ IF_FREE(g_playlist_name);
+ g_playlist_name = g_strdup(playlist_name);
+ DEBUG_TRACE("playlist name = %s", g_playlist_name);
+
+#ifdef MP_PLAYLIST_MAX_ITEM_COUNT
+ mp_media_info_list_count(MP_TRACK_BY_PLAYLIST, NULL, NULL, NULL,
+ g_playlist_id, &g_playlist_track_count);
+ DEBUG_TRACE("number of tracks in playlist: %d",
+ g_playlist_track_count);
+ if (g_playlist_track_count >= MP_PLAYLIST_MAX_ITEM_COUNT) {
+ char *fmt_str =
+ GET_STR("IDS_MUSIC_POP_UNABLE_TO_ADD_MORE_THAN_PD_MUSIC_FILE");
+ char *noti_str =
+ g_strdup_printf(fmt_str, MP_PLAYLIST_MAX_ITEM_COUNT);
+ mp_util_post_status_message(ad, noti_str);
+ IF_FREE(noti_str);
+ return;
+ }
+#endif
+
+ Evas_Object *popup =
+ mp_popup_create(ad->win_main, MP_POPUP_PROGRESS,
+ GET_STR("IDS_MUSIC_BODY_ADD_TO_PLAYLIST"), list,
+ _mp_edit_progress_popup_response_cb, ad);
+ evas_object_show(popup);
+
+ g_edit_thread =
+ ecore_thread_feedback_run(_mp_edit_cb_add_to_plst_thread,
+ _mp_edit_cb_edit_thread_notify_cb,
+ _mp_edit_cb_edit_thread_end_cb,
+ _mp_edit_cb_edit_thread_cancel_cb,
+ (const void *) g_selected_list,
+ EINA_TRUE);
+
+ if (!g_edit_thread) {
+ mp_popup_response(ad->popup[MP_POPUP_PROGRESS], MP_POPUP_NO);
+ }
+ ad->edit_in_progress = true;
+}
+
+#ifndef MP_SOUND_PLAYER
+void *mp_edit_get_delete_thread()
+{
+ return g_edit_thread;
+}
+#endif
+
+void mp_edit_cb_excute_delete(void *data)
+{
+ startfunc;
+ DEBUG_TRACE("");
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ MpList_t *list = data;
+ MP_CHECK(list);
+
+ mp_list_selected_item_data_get(list, &g_selected_list);
+ MP_CHECK(g_selected_list);
+
+ g_list_type = list->list_type;
+ g_group_type = mp_list_get_group_type(list);
+ g_selected_count = g_list_length(g_selected_list);
+ g_error_count = 0;
+ g_edit_operation = MP_EDIT_DELETE;
+ g_track_type = mp_list_get_track_type(list);
+ g_playlist_handle = mp_list_get_playlist_handle(list);
+
+ char *title = NULL;
+ mp_track_type_e type = mp_list_get_track_type(list);
+ if (type > MP_TRACK_TYPE_PLAYLIST_MIN
+ && type < MP_TRACK_TYPE_PLAYLIST_MAX) {
+ title = STR_MP_REMOVING;
+ } else {
+ title = MP_POPUP_DELETING;
+ }
+
+ Evas_Object *popup =
+ mp_popup_message_create(ad->win_main, MP_POPUP_PROGRESS, NULL,
+ title, list,
+ _mp_edit_progress_popup_response_cb, ad);
+ evas_object_show(popup);
+
+ g_edit_thread = ecore_thread_feedback_run(_mp_edit_cb_delete_thread,
+ _mp_edit_cb_edit_thread_notify_cb,
+ _mp_edit_cb_edit_thread_end_cb,
+ _mp_edit_cb_edit_thread_cancel_cb,
+ (const void *)
+ g_selected_list, EINA_TRUE);
+
+ if (!g_edit_thread) {
+ mp_popup_response(ad->popup[MP_POPUP_PROGRESS], MP_POPUP_NO);
+ }
+ ad->edit_in_progress = true;
+
+}
+
+static void
+_mp_edit_cb_delete_track_thread(void *data, Ecore_Thread * thread)
+{
+ startfunc;
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ mp_plst_item *item = mp_playlist_mgr_get_current(ad->playlist_mgr);
+ MP_CHECK(item);
+
+ mp_media_info_connect();
+ if (mp_util_delete_track(NULL, item->uid, item->uri) !=
+ MP_FILE_DELETE_ERR_NONE) {
+ DEBUG_TRACE("Fail to delete item, fid: %d, path: %s", item->uid,
+ item->uri);
+ }
+
+ ecore_thread_feedback(thread,
+ (void *) MP_EDIT_THREAD_FEEDBACK_TRACK_DELETED);
+
+ //To make progress popup visible if only one item deleted.
+ mp_media_info_disconnect();
+}
+
+static void
+_mp_edit_cb_delete_track_thread_end_cb(void *data, Ecore_Thread * thread)
+{
+ WARN_TRACE("thread_end");
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ g_delete_thread = NULL;
+ mp_popup_response(ad->popup[MP_POPUP_PROGRESS], MP_POPUP_YES);
+}
+
+static void
+_mp_edit_cb_delete_track_thread_notify_cb(void *data,
+ Ecore_Thread * thread,
+ void *msg_data)
+{
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ mp_edit_thread_feedback_e feedback =
+ (mp_edit_thread_feedback_e) msg_data;
+
+ switch (feedback) {
+
+ case MP_EDIT_THREAD_FEEDBACK_TRACK_DELETED:
+ DEBUG_TRACE("delete track in notify");
+ mp_plst_item *item = mp_playlist_mgr_get_current(ad->playlist_mgr);
+ MP_CHECK(item);
+
+ mp_playlist_mgr_item_remove_item(ad->playlist_mgr, item);
+ /*
+ when the playlist has same track,then delete the track,
+ the playlist should remove the deleted track
+ */
+ mp_playlist_mgr_item_remove_deleted_item(ad->playlist_mgr);
+ mp_play_destory(ad);
+ break;
+ default:
+ break;
+ }
+}
+
+static void
+_mp_edit_cb_delete_track_thread_cancel_cb(void *data,
+ Ecore_Thread * thread)
+{
+ WARN_TRACE("thread_cancel");
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ g_delete_thread = NULL;
+
+ mp_evas_object_del(ad->popup[MP_POPUP_PROGRESS]);
+}
+
+static void
+_mp_edit_message_popup_response_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ MP_CHECK(obj);
+ mp_evas_object_del(ad->popup[MP_POPUP_PROGRESS]);
+
+ if (g_delete_thread) {
+ ecore_thread_cancel(g_delete_thread);
+ g_delete_thread = NULL;
+ }
+
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_DELETE_DONE);
+ ad->edit_in_progress = false;
+
+ ad->isPlayBtn = false;
+ if (_mp_is_current_focus_available(ad) != 0) {
+ ad->paused_by_user = TRUE;
+ }
+ mp_play_new_file(ad, true);
+ _mp_edit_cb_check_playlist();
+
+}
+
+void mp_edit_cb_excute_track_delete(void *data)
+{
+ startfunc;
+ DEBUG_TRACE("");
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ char *title = NULL;
+ title = MP_POPUP_DELETING;
+
+ Evas_Object *popup =
+ mp_popup_message_create(ad->win_main, MP_POPUP_PROGRESS, NULL,
+ title, NULL,
+ _mp_edit_message_popup_response_cb, ad);
+ elm_popup_align_set(popup, 0.5, 0.90);
+ evas_object_show(popup);
+
+ g_delete_thread =
+ ecore_thread_feedback_run(_mp_edit_cb_delete_track_thread,
+ _mp_edit_cb_delete_track_thread_notify_cb,
+ _mp_edit_cb_delete_track_thread_end_cb,
+ _mp_edit_cb_delete_track_thread_cancel_cb,
+ NULL, EINA_TRUE);
+
+ if (!g_delete_thread) {
+ mp_popup_response(ad->popup[MP_POPUP_PROGRESS], MP_POPUP_NO);
+ }
+ ad->edit_in_progress = true;
+
+}
+
+#ifdef MP_FEATURE_PERSONAL_PAGE
+int _mp_edit_cb_get_item_size(const char *item, unsigned long long *size)
+{
+ struct stat info;
+ if (!item || !size) {
+ return -1;
+ }
+ *size = 0;
+ if (stat(item, &info)) {
+ ERROR_TRACE("Fail to stat item : %s", item);
+ return -1;
+ }
+
+ if (S_ISREG(info.st_mode)) {
+ *size = (unsigned long long) info.st_size;
+ }
+ return 0;
+}
+
+int _mp_edit_cb_get_remain_space(const char *path,
+ unsigned long long *size)
+{
+ struct statfs dst_fs;
+
+ if (!path || !size) {
+ return -1;
+ }
+
+ if (statfs(path, &dst_fs) == 0) {
+ *size =
+ ((unsigned long long) (dst_fs.f_bsize) *
+ (unsigned long long) (dst_fs.f_bavail));
+ }
+ return 0;
+}
+
+/*
+@return:
+-1, error case
+0, Phone storage
+1, MMC storage
+2, personal storage
+*/
+static int _mp_edit_cb_get_store_type_by_full(const char *filepath)
+{
+ if (filepath == NULL) {
+ return -1;
+ }
+
+ if (strncmp(filepath, MP_MUSIC_DIR, strlen(MP_MUSIC_DIR)) == 0) {
+ return 0;
+ } else if (strncmp(filepath, MP_MMC_DIR, strlen(MP_MMC_DIR)) == 0) {
+ return 1;
+ } else
+ if (strncmp
+ (filepath, MP_PERSONAL_PAGE_DIR,
+ strlen(MP_PERSONAL_PAGE_DIR)) == 0) {
+ return 2;
+ } else {
+ return -1;
+ }
+}
+
+static int _mp_edit_cb_get_root_path_by_full(const char *full_path,
+ char **path)
+{
+ assert(full_path);
+ assert(path);
+ int store_type = 0;
+
+ store_type = _mp_edit_cb_get_store_type_by_full(full_path);
+
+ switch (store_type) {
+ case 0:
+ *path = g_strdup(MP_MUSIC_DIR);
+ break;
+ case 1:
+ *path = g_strdup(MP_MMC_DIR);
+ break;
+ case 2:
+ *path = g_strdup(MP_PERSONAL_PAGE_DIR);
+ break;
+ default:
+ *path = g_strdup(full_path);
+ return -1;
+ }
+ return 0;
+}
+
+static int _mp_edit_cb_get_logical_path_by_full(const char *full_path,
+ char **path)
+{
+ assert(full_path);
+ assert(path);
+ int store_type = 0;
+ int root_len = 0;
+
+ store_type = _mp_edit_cb_get_store_type_by_full(full_path);
+
+ *path = g_strdup(full_path);
+ if (*path == NULL) {
+ return -1;
+ }
+
+ memset(*path, 0, strlen(*path));
+ switch (store_type) {
+ case 0:
+ root_len = strlen(MP_MUSIC_DIR);
+ break;
+ case 1:
+ root_len = strlen(MP_MMC_DIR);
+ break;
+ case 2:
+ root_len = strlen(MP_PERSONAL_PAGE_DIR);
+ break;
+ default:
+ return -1;
+ }
+
+ /*
+ ** *path has the same length with full_path
+ ** strlen(*path) is 0 since the memset called
+ ** we use length of full_path to reprecent the *path's
+ */
+ g_strlcpy(*path, full_path + root_len, strlen(full_path));
+ if (strlen(*path) == 0) {
+ IF_FREE(*path);
+ *path = g_strdup("/");
+ }
+
+ return 0;
+}
+
+static void _mp_edit_cb_delete_empty_dir(const char *full_path,
+ const char *root)
+{
+ MP_CHECK(full_path);
+ char *path = NULL;
+ while (full_path && g_strcmp0(full_path, root)) {
+ if (mp_file_dir_is_empty(full_path)) {
+ /*if not, delete the folder */
+ mp_file_recursive_rm(full_path);
+ path = g_strrstr(full_path, "/");
+ if (path != NULL) {
+ *path = '\0';
+ }
+ } else {
+ break;
+ }
+ }
+ return;
+}
+
+inline static int
+_move_track_spec_path(mp_media_info_h item_handle, char *dest_path)
+{
+ MP_CHECK_VAL(item_handle, -1);
+
+ char *path = NULL;
+ mp_media_info_get_file_path(item_handle, &path);
+
+ char *filename = NULL;
+ filename = g_strdup((char *) mp_file_file_get(path));
+ char *dest = NULL;
+ char *dest_root_path = dest_path;
+ if (mp_util_is_in_personal_page((const char *) path)) {
+ if (dest_root_path == NULL) {
+ dest_root_path = MP_MUSIC_DIR;
+ }
+
+ /*if dest_root_path does not exist, create it */
+ bool mkdir_ret = mp_file_mkpath(dest_root_path);
+ if (mkdir_ret == false) {
+ DEBUG_TRACE("failed to make new directory");
+ }
+
+ char *unique_filename = NULL;
+ while (mp_util_is_duplicated_name
+ (dest_root_path, (const char *) filename)) {
+ IF_FREE(unique_filename);
+ mp_util_get_unique_name((char *) filename, &unique_filename);
+ IF_FREE(filename);
+ filename = g_strdup(unique_filename);
+ }
+ /*remove from personal page */
+ dest = g_strconcat(dest_root_path, "/", filename, NULL);
+ if (dest == NULL) {
+ IF_FREE(unique_filename);
+ IF_FREE(filename);
+ return -1;
+ }
+ mp_file_mv(path, dest);
+ IF_FREE(unique_filename);
+ IF_FREE(filename);
+ } else {
+ if (dest_root_path == NULL) {
+ dest_root_path = MP_PERSONAL_PAGE_DIR;
+ }
+
+ /*if dest_root_path does not exist, create it */
+ bool mkdir_ret = mp_file_mkpath(dest_root_path);
+ if (mkdir_ret == false) {
+ DEBUG_TRACE("failed to make new directory");
+ }
+
+ char *unique_filename = NULL;
+ while (mp_util_is_duplicated_name
+ (dest_root_path, (const char *) filename)) {
+ IF_FREE(unique_filename);
+ mp_util_get_unique_name((char *) filename, &unique_filename);
+ IF_FREE(filename);
+ filename = g_strdup(unique_filename);
+ }
+ dest = g_strconcat(dest_root_path, "/", filename, NULL);
+ /*add to personal page */
+ if (dest == NULL) {
+ IF_FREE(unique_filename);
+ IF_FREE(filename);
+ return -1;
+ }
+ mp_file_mv(path, dest);
+ IF_FREE(unique_filename);
+ IF_FREE(filename);
+ }
+ mp_media_info_delete_from_db(path);
+ mp_media_info_delete_from_db(dest);
+
+ return 0;
+}
+
+inline static int _move_folder(mp_media_info_h item_handle)
+{
+ MP_CHECK_VAL(item_handle, -1);
+
+ char *path = NULL;
+ mp_media_info_group_get_sub_info(item_handle, &path);
+
+ char *folder_id = NULL;
+ mp_media_info_group_get_folder_id(item_handle, &folder_id);
+
+ char *root_path = NULL;
+ _mp_edit_cb_get_root_path_by_full(path, &root_path);
+
+ char *dest = NULL;
+ if (mp_util_is_in_personal_page((const char *) path)) {
+ /*remove from personal page */
+ /*1. check if the selected item is root path(/opt/storaget/PersonalStorage) */
+ if (!g_strcmp0(path, MP_PERSONAL_PAGE_DIR)) {
+ /*move music related item to sounds */
+ int ret = 0;
+ int count = 0;
+ /*1. get track count */
+ ret =
+ mp_media_info_list_count(MP_TRACK_BY_FOLDER, folder_id,
+ NULL, NULL, 0, &count);
+ if (ret) {
+ DEBUG_TRACE("get track in folder failed");
+ }
+
+ if (count == 0) {
+ ERROR_TRACE("empty folder");
+ IF_FREE(folder_id);
+ IF_FREE(path);
+ IF_FREE(root_path);
+ return -1;
+ }
+
+ /*2. get content from DB */
+ mp_media_list_h svc_handle = NULL;
+ mp_media_info_list_create(&svc_handle, MP_TRACK_BY_FOLDER,
+ folder_id, NULL, NULL, 0, 0, count);
+
+ /*3. move item one by one */
+ int index = 0;
+ for (index = 0; index < count; index++) {
+ mp_media_info_h item = NULL;
+ item = mp_media_info_list_nth_item(svc_handle, index);
+ if (item == NULL) {
+ continue;
+ }
+
+ _move_track_spec_path(item, NULL);
+ }
+ } else { /*2. other folder */
+ char *related_path = NULL;
+ _mp_edit_cb_get_logical_path_by_full(path, &related_path);
+
+ char **dir_levels = g_strsplit(related_path + 1, "/", 0);
+ char *dir_name = g_strdup(dir_levels[0]);
+ char *semi_path = NULL;
+ semi_path = g_strjoinv("/", dir_levels + 1);
+ /*create folder in destination */
+ /*1. check if duplicated Directory exists */
+ char *unique_filename = NULL;
+ while (mp_util_is_duplicated_name
+ (MP_MUSIC_DIR, (const char *) dir_name)) {
+ IF_FREE(unique_filename);
+ mp_util_get_unique_name(dir_name, &unique_filename);
+ IF_FREE(dir_name);
+ dir_name = g_strdup(unique_filename);
+ }
+ dest =
+ g_strconcat(MP_MUSIC_DIR, "/", dir_name, "/", semi_path,
+ NULL);
+ IF_FREE(unique_filename);
+ IF_FREE(dir_name);
+ /*2. create new directory */
+ bool mkdir_ret = mp_file_mkpath(dest);
+ if (mkdir_ret == false) {
+ DEBUG_TRACE("failed to make new directory");
+ }
+ /*move music related item to new folder */
+ int ret = 0;
+ int count = 0;
+ /*1. get track count */
+ ret =
+ mp_media_info_list_count(MP_TRACK_BY_FOLDER, folder_id,
+ NULL, NULL, 0, &count);
+ if (ret) {
+ DEBUG_TRACE("get track in folder failed");
+ }
+
+ if (count == 0) {
+ ERROR_TRACE("empty folder");
+ IF_FREE(folder_id);
+ IF_FREE(path);
+ IF_FREE(root_path);
+ return -1;
+ }
+
+ /*2. get content from DB */
+ mp_media_list_h svc_handle = NULL;
+ mp_media_info_list_create(&svc_handle, MP_TRACK_BY_FOLDER,
+ folder_id, NULL, NULL, 0, 0, count);
+
+ /*3. move item one by one */
+ int index = 0;
+ for (index = 0; index < count; index++) {
+ mp_media_info_h item = NULL;
+ item = mp_media_info_list_nth_item(svc_handle, index);
+ if (item == NULL) {
+ continue;
+ }
+
+ _move_track_spec_path(item, dest);
+ }
+ /*check if there is other item in the folder */
+ _mp_edit_cb_delete_empty_dir(path, root_path);
+ }
+ } else {
+ /*add to personal page */
+ /*1. check if the selected item is root path(/opt/storaget/PersonalStorage) */
+ if (!g_strcmp0(path, MP_MUSIC_DIR)) {
+ /*move music related item to sounds */
+ int ret = 0;
+ int count = 0;
+ /*1. get track count */
+ ret =
+ mp_media_info_list_count(MP_TRACK_BY_FOLDER, folder_id,
+ NULL, NULL, 0, &count);
+ if (ret) {
+ DEBUG_TRACE("get track in folder failed");
+ }
+
+ if (count == 0) {
+ ERROR_TRACE("empty folder");
+ IF_FREE(folder_id);
+ IF_FREE(path);
+ IF_FREE(root_path);
+ return -1;
+ }
+
+ /*2. get content from DB */
+ mp_media_list_h svc_handle = NULL;
+ mp_media_info_list_create(&svc_handle, MP_TRACK_BY_FOLDER,
+ folder_id, NULL, NULL, 0, 0, count);
+
+ /*3. move item one by one */
+ int index = 0;
+ for (index = 0; index < count; index++) {
+ mp_media_info_h item = NULL;
+ item = mp_media_info_list_nth_item(svc_handle, index);
+ if (item == NULL) {
+ continue;
+ }
+
+ _move_track_spec_path(item, NULL);
+ }
+ } else { /*2. other folder */
+ char *related_path = NULL;
+ _mp_edit_cb_get_logical_path_by_full(path, &related_path);
+
+ char **dir_levels = g_strsplit(related_path + 1, "/", 0);
+ char *dir_name = g_strdup(dir_levels[0]);
+ char *semi_path = NULL;
+ semi_path = g_strjoinv("/", dir_levels + 1);
+ /*create folder in destination */
+ /*1. check if duplicated Directory exists */
+ char *unique_filename = NULL;
+ while (mp_util_is_duplicated_name
+ (MP_PERSONAL_PAGE_DIR, (const char *) dir_name)) {
+ IF_FREE(unique_filename);
+ mp_util_get_unique_name(dir_name, &unique_filename);
+ IF_FREE(dir_name);
+ dir_name = g_strdup(unique_filename);
+ }
+ dest =
+ g_strconcat(MP_PERSONAL_PAGE_DIR, "/", dir_name, "/",
+ semi_path, NULL);
+ IF_FREE(unique_filename);
+ IF_FREE(dir_name);
+ /*2. create new directory */
+ bool mkdir_ret = mp_file_mkpath(dest);
+ if (mkdir_ret == false) {
+ DEBUG_TRACE("failed to make new directory");
+ }
+ /*move music related item to new folder */
+ int ret = 0;
+ int count = 0;
+ /*1. get track count */
+ ret =
+ mp_media_info_list_count(MP_TRACK_BY_FOLDER, folder_id,
+ NULL, NULL, 0, &count);
+ if (ret) {
+ DEBUG_TRACE("get track in folder failed");
+ }
+
+ if (count == 0) {
+ ERROR_TRACE("empty folder");
+ IF_FREE(folder_id);
+ IF_FREE(path);
+ IF_FREE(root_path);
+ return -1;
+ }
+
+ /*2. get content from DB */
+ mp_media_list_h svc_handle = NULL;
+ mp_media_info_list_create(&svc_handle, MP_TRACK_BY_FOLDER,
+ folder_id, NULL, NULL, 0, 0, count);
+
+ /*3. move item one by one */
+ int index = 0;
+ for (index = 0; index < count; index++) {
+ mp_media_info_h item = NULL;
+ item = mp_media_info_list_nth_item(svc_handle, index);
+ if (item == NULL) {
+ continue;
+ }
+
+ _move_track_spec_path(item, dest);
+ }
+ /*check if there is other item in the folder */
+ _mp_edit_cb_delete_empty_dir(path, root_path);
+ }
+ }
+
+ IF_FREE(path);
+ IF_FREE(root_path);
+ return 0;
+}
+
+static Evas_Object *_mp_edit_cb_get_progressbar()
+{
+ startfunc;
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_NULL(ad);
+ Evas_Object *popup = ad->popup[MP_POPUP_OPERATION_PROGRESS];
+ MP_CHECK_NULL(popup);
+ Evas_Object *layout = elm_object_content_get(popup);
+ MP_CHECK_NULL(layout);
+ Evas_Object *progressbar =
+ elm_object_part_content_get(layout, "elm.swallow.content");
+ return progressbar;
+}
+
+static Evas_Object *_mp_edit_cb_get_popup_layout()
+{
+ startfunc;
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_NULL(ad);
+ Evas_Object *popup = ad->popup[MP_POPUP_OPERATION_PROGRESS];
+ MP_CHECK_NULL(popup);
+ Evas_Object *layout = elm_object_content_get(popup);
+ return layout;
+}
+
+static void
+_mp_edit_move_popup_response_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ if (g_personal_storage_thread) {
+ ecore_thread_cancel(g_personal_storage_thread);
+ g_personal_storage_thread = NULL;
+ }
+}
+
+static void _mp_edit_cb_move_thread(void *data, Ecore_Thread * thread)
+{
+ startfunc;
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ mp_list_item_data_t *item = NULL;
+ mp_media_info_h item_handle = NULL;
+
+ mp_media_info_connect();
+
+ GList *node = g_list_last(g_selected_list);
+ MP_CHECK_EXCEP(node);
+ g_total_count = g_list_length(g_selected_list);
+ int moved_count = 0;
+ while (node) {
+ if (ecore_thread_check(thread)) { // pending cancellation
+ WARN_TRACE("popup cancel clicked");
+ goto mp_exception;
+ }
+
+ item = node->data;
+ node = g_list_previous(node);
+ if (!item) {
+ WARN_TRACE("CHECK here...");
+ ecore_thread_feedback(thread, (void *) -1);
+ goto mp_exception;
+ }
+ item_handle = (item->handle);
+ if (!item_handle) {
+ continue;
+ }
+
+ char *path = NULL;
+ if (g_list_type == MP_LIST_TYPE_TRACK) {
+ mp_media_info_get_file_path(item_handle, &path);
+ } else if (g_list_type == MP_LIST_TYPE_GROUP) {
+ mp_media_info_group_get_sub_info(item_handle, &path);
+ } else if (g_list_type == MP_LIST_TYPE_ALBUM_DETAIL
+ || g_list_type == MP_LIST_TYPE_ARTIST_DETAIL) {
+
+ mp_media_info_get_file_path(item_handle, &path);
+ } else {
+ ERROR_TRACE("Wrong Type");
+ }
+
+ Eina_Bool folder = EINA_FALSE;
+ if (path) {
+ folder = mp_file_is_dir(path);
+ }
+ if (folder) {
+ DEBUG_TRACE("folder");
+ if (_move_folder(item_handle)) {
+ g_error_count++;
+ ecore_thread_feedback(thread, (void *) -1);
+ } else {
+ moved_count++;
+ ecore_thread_feedback(thread, (void *) moved_count);
+ }
+ } else { /*track */
+ DEBUG_TRACE("track --> path is %s", path);
+ /*get related path information */
+ char *related_path = NULL;
+ _mp_edit_cb_get_logical_path_by_full(path, &related_path);
+
+ /*generate dest path */
+ char *dest_path = NULL;
+ if (mp_util_is_in_personal_page((const char *) path)) {
+ /*remove from personal page */
+ dest_path = g_strconcat(MP_MUSIC_DIR, related_path, NULL);
+ MP_CHECK(dest_path);
+ } else {
+ /*remove from personal page */
+ dest_path =
+ g_strconcat(MP_PERSONAL_PAGE_DIR, related_path, NULL);
+ MP_CHECK(dest_path);
+ }
+ char *dest_dir = mp_file_dir_get(dest_path);
+
+ /*for exception handle, if dest_dir is NULL, in _move_track_spec_path, it will use root path as dest */
+ if (_move_track_spec_path(item_handle, dest_dir)) {
+ g_error_count++;
+ ecore_thread_feedback(thread, (void *) -1);
+ } else {
+ moved_count++;
+ ecore_thread_feedback(thread, (void *) moved_count);
+ }
+ IF_FREE(dest_dir);
+ IF_FREE(dest_path);
+ }
+
+ }
+ mp_exception:
+
+ //To make progress popup visible if only one item deleted.
+ sleep(1);
+ mp_media_info_disconnect();
+}
+
+static void
+_mp_edit_cb_move_notify_cb(void *data, Ecore_Thread * thread,
+ void *msg_data)
+{
+ startfunc;
+ int feedback = (int) msg_data;
+ if (feedback == -1) {
+ DEBUG_TRACE("----------->error happened in main thread");
+ } else {
+ /*1. set progress bar value */
+ Evas_Object *progressbar = _mp_edit_cb_get_progressbar();
+ double progress_value = (double) feedback / (double) g_total_count;
+ elm_progressbar_value_set(progressbar, progress_value);
+
+ /*2. set text */
+ char *popup_information =
+ g_strdup_printf("%d / %d", feedback, g_total_count);
+ Evas_Object *layout = _mp_edit_cb_get_popup_layout();
+ elm_object_part_text_set(layout, "elm.text.right",
+ popup_information);
+ IF_FREE(popup_information);
+
+ char *progress_text =
+ g_strdup_printf("%d%%", (int) (progress_value * 100));
+ elm_object_part_text_set(layout, "elm.text.left", progress_text);
+ IF_FREE(progress_text);
+ }
+}
+
+static void
+_mp_edit_cb_move_thread_end_cb(void *data, Ecore_Thread * thread)
+{
+ WARN_TRACE("thread_end");
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ g_personal_storage_thread = NULL;
+ g_playlist_id = 0;
+ g_playlist_track_count = 0;
+ g_list_free(g_selected_list);
+
+ _mp_edit_cb_check_playlist();
+
+ mp_evas_object_del(ad->popup[MP_POPUP_OPERATION_PROGRESS]);
+
+ mp_view_mgr_delete_view(GET_VIEW_MGR, MP_VIEW_EDIT);
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_VIEW_TRANSITION_FINISHED);
+
+ /*update top view */
+ MpView_t *top_view = mp_view_mgr_get_top_view(GET_VIEW_MGR);
+ MP_CHECK(top_view);
+ mp_view_update(top_view);
+
+ if (top_view->view_type != MP_VIEW_ALL) {
+ mp_view_update(GET_ALL_VIEW);
+ }
+
+ if (top_view->view_type == MP_VIEW_FOLDER_DETAIL) {
+ //update folder view
+ MpView_t *folder_view =
+ mp_view_mgr_get_view(GET_VIEW_MGR, MP_VIEW_FOLDER);
+ MP_CHECK(folder_view);
+ mp_view_update(folder_view);
+ }
+}
+
+static void _mp_edit_cb_move_cancel_cb(void *data, Ecore_Thread * thread)
+{
+ WARN_TRACE("thread_cancel");
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ g_personal_storage_thread = NULL;
+ g_list_free(g_selected_list);
+
+ _mp_edit_cb_check_playlist();
+
+ mp_evas_object_del(ad->popup[MP_POPUP_OPERATION_PROGRESS]);
+
+ mp_view_mgr_delete_view(GET_VIEW_MGR, MP_VIEW_EDIT);
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_VIEW_TRANSITION_FINISHED);
+
+ /*update top view */
+ MpView_t *top_view = mp_view_mgr_get_top_view(GET_VIEW_MGR);
+ MP_CHECK(top_view);
+ mp_view_update(top_view);
+
+ if (top_view->view_type != MP_VIEW_ALL) {
+ mp_view_update(GET_ALL_VIEW);
+ }
+
+ if (top_view->view_type == MP_VIEW_FOLDER_DETAIL) {
+ //update folder view
+ MpView_t *folder_view =
+ mp_view_mgr_get_view(GET_VIEW_MGR, MP_VIEW_FOLDER);
+ MP_CHECK(folder_view);
+ mp_view_update(folder_view);
+ }
+}
+
+void mp_edit_cb_excute_move(void *data)
+{
+ startfunc;
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ MpList_t *list = data;
+ MP_CHECK(list);
+
+ mp_list_selected_item_data_get((MpList_t *) list, &g_selected_list);
+ MP_CHECK(g_selected_list);
+
+ g_list_type = list->list_type;
+ g_group_type = mp_list_get_group_type((MpList_t *) list);
+ g_selected_count = g_list_length(g_selected_list);
+ g_error_count = 0;
+ g_edit_operation = MP_EDIT_MOVE;
+
+ DEBUG_TRACE("g_list_type is %d", g_list_type);
+ char *title = NULL;
+ unsigned long long remained_size = 0;
+ if (list->personal_page_type == MP_LIST_PERSONAL_PAGE_ADD
+ || list->personal_page_storage == MP_LIST_PERSONAL_PAGE_NORMAL) {
+ title = STR_MP_ADDIND;
+ _mp_edit_cb_get_remain_space(MP_PERSONAL_PAGE_DIR, &remained_size);
+ } else if (list->personal_page_type == MP_LIST_PERSONAL_PAGE_REMOVE
+ || list->personal_page_storage ==
+ MP_LIST_PERSONAL_PAGE_PRIVATE) {
+
+ title = STR_MP_REMOVING;
+ _mp_edit_cb_get_remain_space(MP_MUSIC_DIR, &remained_size);
+ }
+
+ /*recover list personal page type to prepare update list */
+ list->personal_page_type = MP_LIST_PERSONAL_PAGE_NONE;
+
+ /*check selected file size */
+ mp_list_item_data_t *item = NULL;
+ mp_media_info_h item_handle = NULL;
+
+ GList *node = g_list_last(g_selected_list);
+
+ unsigned long long selected_size = 0;
+ unsigned long long file_size = 0;
+ if (g_list_type == MP_LIST_TYPE_TRACK) {
+ while (node) {
+ item = node->data;
+ node = g_list_previous(node);
+ if (!item) {
+ WARN_TRACE("CHECK here...");
+ continue;
+ }
+ item_handle = (item->handle);
+ if (!item_handle) {
+ continue;
+ }
+
+ char *path = NULL;
+ mp_media_info_get_file_path(item_handle, &path);
+ _mp_edit_cb_get_item_size(path, &file_size);
+ selected_size += file_size;
+ }
+ } else if (g_list_type == MP_LIST_TYPE_GROUP) {
+ while (node) {
+ item = node->data;
+ node = g_list_previous(node);
+ if (!item) {
+ WARN_TRACE("CHECK here...");
+ continue;
+ }
+ item_handle = (item->handle);
+ if (!item_handle) {
+ continue;
+ }
+
+ char *path = NULL;
+ mp_media_info_group_get_sub_info(item_handle, &path);
+
+ char *folder_id = NULL;
+ mp_media_info_group_get_folder_id(item_handle, &folder_id);
+
+ int ret = 0;
+ int count = 0;
+ /*1. get track count */
+ ret =
+ mp_media_info_list_count(MP_TRACK_BY_FOLDER, folder_id,
+ NULL, NULL, 0, &count);
+ if (ret) {
+ DEBUG_TRACE("get track in folder failed");
+ }
+
+ if (count == 0) {
+ ERROR_TRACE("empty folder");
+ IF_FREE(folder_id);
+ continue;
+ }
+
+ /*2. get content from DB */
+ mp_media_list_h svc_handle = NULL;
+ mp_media_info_list_create(&svc_handle, MP_TRACK_BY_FOLDER,
+ folder_id, NULL, NULL, 0, 0, count);
+
+ /*3. move item one by one */
+ int index = 0;
+ for (index = 0; index < count; index++) {
+ mp_media_info_h item = NULL;
+ item = mp_media_info_list_nth_item(svc_handle, index);
+ if (item == NULL) {
+ continue;
+ }
+
+ char *file_path = NULL;
+ mp_media_info_get_file_path(item, &file_path);
+
+ _mp_edit_cb_get_item_size(file_path, &file_size);
+ selected_size += file_size;
+ }
+ IF_FREE(folder_id);
+ }
+ }
+
+ DEBUG_TRACE("selected size is %f", selected_size);
+ DEBUG_TRACE("remained size is %f", remained_size);
+
+ if (selected_size > remained_size) {
+ Evas_Object *popup =
+ mp_popup_create(ad->win_main, MP_POPUP_NORMAL, NULL, NULL,
+ NULL, ad);
+ MP_CHECK(popup);
+
+ char *desc = g_strdup("not enough space");
+ mp_popup_desc_set(popup, desc);
+ SAFE_FREE(desc);
+
+ mp_popup_button_set(popup, MP_POPUP_BTN_1, STR_MP_OK,
+ MP_POPUP_YES);
+
+ evas_object_show(popup);
+ return;
+ }
+
+ Evas_Object *popup =
+ mp_popup_create(ad->win_main, MP_POPUP_OPERATION_PROGRESS, NULL,
+ list,
+ _mp_edit_move_popup_response_cb, ad);
+ evas_object_show(popup);
+ Evas_Object *layout = _mp_edit_cb_get_popup_layout();
+ mp_util_domain_translatable_part_text_set(layout, "elm.title", title);
+ /*set text */
+ char *popup_information = g_strdup_printf("%d / %d", 0, g_total_count);
+ elm_object_part_text_set(layout, "elm.text.right", popup_information);
+ IF_FREE(popup_information);
+
+ char *progress_text = g_strdup_printf("%d%%", (int) 0);
+ elm_object_part_text_set(layout, "elm.text.left", progress_text);
+ IF_FREE(progress_text);
+
+ g_personal_storage_thread =
+ ecore_thread_feedback_run(_mp_edit_cb_move_thread,
+ _mp_edit_cb_move_notify_cb,
+ _mp_edit_cb_move_thread_end_cb,
+ _mp_edit_cb_move_cancel_cb,
+ (const void *) g_selected_list,
+ EINA_TRUE);
+
+ if (!g_personal_storage_thread) {
+ mp_popup_response(ad->popup[MP_POPUP_OPERATION_PROGRESS],
+ MP_POPUP_NO);
+ }
+ ad->edit_in_progress = true;
+
+}
+#endif
+
+static void
+_mp_edit_delete_popup_response_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ startfunc;
+ DEBUG_TRACE("");
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ ad->popup_delete = NULL;
+ mp_evas_object_del(obj);
+
+ int response = (int) event_info;
+ if (response == MP_POPUP_NO) {
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_POPUP_CANCEL);
+ return;
+ }
+
+ mp_edit_cb_excute_delete(data);
+
+ endfunc;
+ return;
+}
+
+void mp_edit_create_delete_popup(void *data)
+{
+ DEBUG_TRACE("");
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ MpList_t *list = data;
+ MP_CHECK(list);
+ int selected_count = mp_list_get_checked_count(list);
+ if (selected_count <= 0) {
+ mp_widget_text_popup(ad,
+ GET_STR("IDS_MUSIC_POP_NOTHING_SELECTED"));
+ return;
+ }
+
+ char *btn_txt = NULL;
+ char *title_txt = NULL;
+ char *title = NULL;
+ char *help_txt = NULL;
+
+ mp_track_type_e type = mp_list_get_track_type(list);
+ WARN_TRACE("track_type is %d", type);
+ if (type > MP_TRACK_TYPE_PLAYLIST_MIN
+ && type < MP_TRACK_TYPE_PLAYLIST_MAX) {
+ btn_txt = STR_MP_REMOVE;
+ title = STR_MP_REMOVE;
+ } else {
+ btn_txt = STR_MP_DELETE;
+ title = STR_MP_DELETE;
+ }
+
+ title_txt =
+ g_strconcat("<align=center>", GET_STR(title), "</align>", NULL);
+ Evas_Object *popup =
+ mp_popup_create(ad->win_main, MP_POPUP_NORMAL, title_txt, data,
+ _mp_edit_delete_popup_response_cb, ad);
+ ad->popup_delete = popup;
+ //making help_txt
+ //1. get group type
+ mp_group_type_e group_type = mp_list_get_group_type(list);
+ WARN_TRACE("group_type is %d", group_type);
+
+ switch (group_type) {
+ case MP_GROUP_NONE:
+ DEBUG_TRACE("MP_GROUP_NONE");
+ if (selected_count == 1) {
+ help_txt =
+ g_strconcat("<align=left>",
+ GET_STR(STR_MP_ONE_TRACK_DETELED), "</align>",
+ NULL);
+ } else if (selected_count ==
+ mp_list_get_editable_count(list,
+ MP_LIST_EDIT_TYPE_NORMAL)) {
+ help_txt =
+ g_strconcat("<align=left>",
+ GET_STR(STR_MP_ALL_TRACKS_DETELED), "</align>",
+ NULL);
+ } else {
+ help_txt =
+ g_strconcat("<align=left>",
+ GET_STR(STR_MP_PLURAL_TRACKS_DETELED),
+ "</align>", NULL);
+ }
+ break;
+ case MP_GROUP_BY_ALBUM: /**< Group by album*/
+ DEBUG_TRACE("MP_GROUP_BY_ALBUM");
+ if (selected_count == 1) {
+ help_txt =
+ g_strconcat("<align=left>",
+ GET_STR(STR_MP_ONE_ALBUM_DETELED), "</align>",
+ NULL);
+ } else if (selected_count ==
+ mp_list_get_editable_count(list,
+ MP_LIST_EDIT_TYPE_NORMAL)) {
+ help_txt =
+ g_strconcat("<align=left>",
+ GET_STR(STR_MP_ALL_ALBUMS_DETELED), "</align>",
+ NULL);
+ } else {
+ help_txt =
+ g_strconcat("<align=left>",
+ GET_STR(STR_MP_PLURAL_ALBUMS_DETELED),
+ "</align>", NULL);
+ }
+ break;
+ case MP_GROUP_BY_ARTIST: /**< Group by artist*/
+ DEBUG_TRACE("MP_GROUP_BY_ARTIST");
+ if (selected_count == 1) {
+ help_txt =
+ g_strconcat("<align=left>",
+ GET_STR(STR_MP_ONE_ARTIST_DETELED), "</align>",
+ NULL);
+ } else if (selected_count ==
+ mp_list_get_editable_count(list,
+ MP_LIST_EDIT_TYPE_NORMAL)) {
+ help_txt =
+ g_strconcat("<align=left>",
+ GET_STR(STR_MP_ALL_ARTISTS_DETELED),
+ "</align>", NULL);
+ } else {
+ help_txt =
+ g_strconcat("<align=left>",
+ GET_STR(STR_MP_PLURAL_ARTISTS_DETELED),
+ "</align>", NULL);
+
+ }
+ break;
+ case MP_GROUP_BY_FOLDER: /**< Group by folder*/
+ DEBUG_TRACE("MP_GROUP_BY_FOLDER");
+ if (selected_count == 1) {
+ help_txt =
+ g_strconcat("<align=left>",
+ GET_STR(STR_MP_ONE_FOLDER_DETELED), "</align>",
+ NULL);
+ } else if (selected_count ==
+ mp_list_get_editable_count(list,
+ MP_LIST_EDIT_TYPE_NORMAL)) {
+ help_txt =
+ g_strconcat("<align=left>",
+ GET_STR(STR_MP_ALL_FOLDERS_DETELED),
+ "</align>", NULL);
+ } else {
+ help_txt =
+ g_strconcat("<align=left>",
+ GET_STR(STR_MP_PLURAL_FOLDERS_DETELED),
+ "</align>", NULL);
+ }
+ break;
+ case MP_GROUP_BY_PLAYLIST:
+ DEBUG_TRACE("MP_GROUP_BY_PLAYLIST");
+ if (selected_count == 1) {
+ help_txt =
+ g_strconcat("<align=left>",
+ GET_STR(STR_MP_ONE_PLAYLIST_DETELED),
+ "</align>", NULL);
+ } else if (selected_count ==
+ mp_list_get_editable_count(list,
+ MP_LIST_EDIT_TYPE_NORMAL)) {
+ help_txt =
+ g_strconcat("<align=left>",
+ GET_STR(STR_MP_ALL_PLAYLISTS_DETELED),
+ "</align>", NULL);
+ } else {
+ help_txt =
+ g_strconcat("<align=left>",
+ GET_STR(STR_MP_PLURAL_PLAYLISTS_DETELED),
+ "</align>", NULL);
+ }
+ break;
+ default:
+ DEBUG_TRACE("Other -1");
+ help_txt =
+ g_strconcat("<align=left>",
+ GET_SYS_STR("IDS_COM_POP_DELETE_Q"), "</align>",
+ NULL);
+ break;
+ }
+
+ mp_util_domain_translatable_text_set(popup, help_txt);
+ IF_FREE(help_txt);
+ mp_popup_button_set(popup, MP_POPUP_BTN_1, STR_MP_CANCEL, MP_POPUP_NO);
+ mp_popup_button_set(popup, MP_POPUP_BTN_2, btn_txt, MP_POPUP_YES);
+
+ evas_object_show(popup);
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include "mp-file-util.h"
+#include "mp-player-debug.h"
+#include <libgen.h>
+
+static mode_t default_mode =
+ S_IRUSR | S_IWUSR | S_IXUSR | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH;
+
+char *mp_file_dir_get(const char path[])
+{
+ char *p = NULL;
+ char buf[256] = { 0, };
+ struct stat info = { 0, };
+
+ if (stat(path, &info) == 0) {
+ strncpy(buf, path, 256);
+ buf[256 - 1] = 0;
+ p = dirname(buf);
+ return strdup(p);
+ } else {
+ return strdup("");
+ }
+}
+
+int mp_file_exists(const char *path)
+{
+ struct stat info = { 0, };
+
+ if (!path) {
+ return 0;
+ }
+
+ if (stat(path, &info) == 0) {
+ return 1;
+ } else {
+ return 0;
+ }
+}
+
+int mp_file_is_dir(const char *path)
+{
+ struct stat info = { 0, };
+
+ if (!path) {
+ return 0;
+ }
+
+ if (stat(path, &info) == 0) {
+ if (S_ISDIR(info.st_mode)) {
+ return 1;
+ }
+ }
+
+ return 0;
+}
+
+//TODO: Need to Verify the funcationality.
+int mp_file_path_dir_exists(const char *folderPath)
+{
+ if (!folderPath) {
+ return 0;
+ }
+
+ if (mp_file_exists(folderPath) == 1) {
+ if (mp_file_is_dir(folderPath) == 1) {
+ return 1;
+ } else {
+ return 0;
+ }
+ } else {
+ return 0;
+ }
+}
+
+int mp_file_dir_is_empty(const char *path)
+{
+ struct stat info = { 0, };
+ struct dirent *dp = NULL;
+ struct dirent entry;
+ DIR *dirp = NULL;
+
+ if (!path) {
+ return -1;
+ }
+
+ dirp = opendir(path);
+ if (!dirp) {
+ return -1;
+ }
+
+ while ((readdir_r(dirp, &entry, &dp) == 0) && dp != NULL) {
+ if (stat(dp->d_name, &info) == 0 && (strcmp(dp->d_name, "."))
+ && (strcmp(dp->d_name, ".."))) {
+ closedir(dirp);
+ return 0;
+ }
+ }
+ closedir(dirp);
+ return 1;
+}
+
+int mp_mkdir(const char *dir)
+{
+ if (!dir) {
+ return 0;
+ }
+
+ if (mkdir(dir, default_mode) < 0) {
+ return 0;
+ } else {
+ return 1;
+ }
+}
+
+static int mp_mkpath_if_not_exists(const char *path)
+{
+ struct stat st = { 0, };
+
+ if (!path) {
+ return 0;
+ }
+
+ if (stat(path, &st) < 0) {
+ return mp_mkdir(path);
+ } else if (!S_ISDIR(st.st_mode)) {
+ return 0;
+ } else {
+ return 1;
+ }
+}
+
+int mp_file_mkpath(char *path)
+{
+ char ss[100] = { 0, };
+ unsigned int i = 0;
+
+ if (!path) {
+ return 0;
+ }
+
+ if (mp_file_is_dir(path)) {
+ return 1;
+ }
+
+ for (i = 0; path[i] != '\0'; ss[i] = path[i], i++) {
+ if (i == sizeof(ss) - 1) {
+ return 0;
+ }
+
+ if ((path[i] == '/') && (i > 0)) {
+ ss[i] = '\0';
+ if (!mp_mkpath_if_not_exists(ss)) {
+ return 0;
+ }
+ }
+ }
+ ss[i] = '\0';
+
+ return mp_mkpath_if_not_exists(ss);
+}
+
+int mp_file_unlink(const char *filename)
+{
+ if (!filename) {
+ return 0;
+ }
+
+ int status = unlink(filename);
+ if (status < 0) {
+ return 0;
+ } else {
+ return 1;
+ }
+}
+
+int mp_file_size(const char *filename)
+{
+ struct stat info = { 0, };
+
+ if (!filename) {
+ return 0;
+ }
+
+ if (stat(filename, &info) == 0) {
+ if (!S_ISDIR(info.st_mode)) {
+ return info.st_size;
+ }
+ }
+
+ return 0;
+}
+
+int mp_file_rmdir(const char *filename)
+{
+ if (!filename) {
+ return 0;
+ }
+
+ int status = rmdir(filename);
+ if (status < 0) {
+ return 0;
+ } else {
+ return 1;
+ }
+}
+
+Eina_List *mp_file_ls(const char *dir)
+{
+ char *f = NULL;
+ DIR *dirp = NULL;
+ struct dirent *dp = NULL;
+ struct dirent entry;
+ Eina_List *list = NULL;
+
+ if (!dir) {
+ return NULL;
+ }
+
+ dirp = opendir(dir);
+ if (!dirp) {
+ return NULL;
+ }
+
+ while ((readdir_r(dirp, &entry, &dp) == 0) && dp != NULL) {
+ if ((strcmp(dp->d_name, ".")) && (strcmp(dp->d_name, ".."))) {
+ f = strdup(dp->d_name);
+ list = eina_list_append(list, f);
+ }
+ }
+ closedir(dirp);
+
+ list =
+ eina_list_sort(list, eina_list_count(list),
+ EINA_COMPARE_CB(strcoll));
+
+ return list;
+}
+
+int mp_file_recursive_rm(const char *dir)
+{
+ char buf[PATH_MAX] = { 0, };
+ struct dirent *dp = NULL;
+ struct dirent entry;
+ DIR *dirp = NULL;
+
+ if (!dir) {
+ return 0;
+ }
+
+ if (readlink(dir, buf, sizeof(buf)) > 0) {
+ return mp_file_unlink(dir);
+ }
+
+ int ret = mp_file_is_dir(dir);
+ if (ret) {
+ ret = 1;
+ dirp = opendir(dir);
+ if (dirp) {
+ while (((readdir_r(dirp, &entry, &dp)) == 0) && dp != NULL) {
+ if ((strcmp(dp->d_name, "."))
+ && (strcmp(dp->d_name, ".."))) {
+ if (!mp_file_recursive_rm(dp->d_name)) {
+ ret = 0;
+ }
+ }
+ }
+ closedir(dirp);
+ }
+
+ if (!mp_file_rmdir(dir)) {
+ ret = 0;
+ }
+
+ return ret;
+ } else {
+ return mp_file_unlink(dir);
+ }
+}
+
+int mp_file_mv(const char *src, const char *dst)
+{
+ struct stat info = { 0, };
+ if (stat(dst, &info) == 0) {
+ return 0;
+ }
+
+ if (rename(src, dst)) {
+ memset(&info, 0x00, sizeof(struct stat));
+ stat(src, &info);
+ if (S_ISREG(info.st_mode)) {
+ mp_file_cp(src, dst);
+ chmod(dst, info.st_mode);
+ unlink(src);
+ return 1;
+ }
+ return 0;
+ }
+ return 1;
+}
+
+int mp_file_cp(const char *src, const char *dst)
+{
+ FILE *f1 = NULL;
+ FILE *f2 = NULL;
+ char buf[16384] = { 0, };
+ char *realpath1 = NULL;
+ char *realpath2 = NULL;
+ size_t num = 0;
+ int ret = 1;
+
+ if (!src || !dst) {
+ DEBUG_TRACE("Invalid Arguments");
+ return 0;
+ }
+
+ realpath1 = realpath(src, NULL);
+ if (!realpath1) {
+ DEBUG_TRACE("realpath check failed");
+ return 0;
+ }
+
+ realpath2 = realpath(dst, NULL);
+ if (realpath2 && !strcmp(realpath1, realpath2)) {
+ free(realpath1);
+ free(realpath2);
+ DEBUG_TRACE("realpath check failed");
+ return 0;
+ }
+
+ free(realpath1);
+ free(realpath2);
+ f1 = fopen(src, "rb");
+ if (!f1) {
+ DEBUG_TRACE("File Open failed");
+ return 0;
+ }
+
+ f2 = fopen(dst, "wb");
+ if (!f2) {
+ DEBUG_TRACE("File Open failed");
+ fclose(f1);
+ return 0;
+ }
+
+ while ((num = fread(buf, 1, sizeof(buf), f1)) > 0) {
+ if (fwrite(buf, 1, num, f2) != num) {
+ ret = 0;
+ }
+ }
+ fclose(f1);
+ fclose(f2);
+ return ret;
+}
+
+int mp_file_remove(const char *path)
+{
+ struct stat info;
+
+ if (!path) {
+ return 0;
+ }
+
+ if (stat(path, &info) == 0) {
+ if (S_ISREG(info.st_mode)) {
+ unlink(path);
+ }
+ if (S_ISDIR(info.st_mode)) {
+ rmdir(path);
+ }
+ return 1;
+ } else {
+ return 0;
+ }
+}
+
+char *mp_file_file_get(char path[])
+{
+ char *file = NULL;
+ struct stat info = { 0, };
+
+ if (stat(path, &info) == 0) {
+ file = strrchr(path, '/');
+ MP_CHECK_NULL(file);
+ file++;
+ }
+
+ return file;
+}
+
+char *mp_file_strip_ext(const char *path)
+{
+ char *p = NULL;
+ char *file = NULL;
+
+ if (!path) {
+ return NULL;
+ }
+
+ p = strrchr(path, '.');
+ if (!p) {
+ file = strdup(path);
+ } else if (p != path) {
+ file = malloc(((p - path) + 1) * sizeof(char));
+ if (file) {
+ memcpy(file, path, (p - path));
+ file[p - path] = 0;
+ }
+ }
+
+ return file;
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include <glib.h>
+#include <stdlib.h>
+#include <string.h>
+#include <media_content.h>
+#include <media_content_type.h>
+#include <sqlite3.h>
+
+#include "mp-media-info.h"
+#include "mp-player-debug.h"
+#include "mp-define.h"
+
+#include <app_control.h>
+#include <mp-file-util.h>
+
+#define PRINT_STR(s) //DEBUG_TRACE("%s", s);
+#define PRINT_INT(i) //DEBUG_TRACE("%d", i);
+
+#define MP_MEDIA_COND_COMMON "(MEDIA_STORAGE_TYPE IS NOT 101)" // exclude dropbox
+
+#ifdef UG_MUSIC_PLAYER
+#define MP_MEDIA_TYPE MP_MEDIA_COND_COMMON"AND ((MEDIA_TYPE=3) OR (MEDIA_TYPE=2))"
+#else
+#define MP_MEDIA_TYPE MP_MEDIA_COND_COMMON"AND (MEDIA_TYPE=3)"
+#endif
+#define MP_SOUND_TYPE MP_MEDIA_COND_COMMON"AND (MEDIA_TYPE=2)"
+
+struct mp_media_list_s {
+ GList *list;
+ int count;
+ mp_group_type_e group_type;
+ char *distinct_check;
+};
+
+struct mp_minfo_s {
+ char *media_id;
+ char *title;
+ char *artist;
+ char *album;
+ char *genre;
+ char *date;
+ char *composer;
+ char *year;
+ char *copyright;
+ char *track_num;
+ char *format;
+ char *file_path;
+ char *thumbnail_path;
+ char *display_name;
+ int playlist_member_id;
+};
+
+struct mp_ginfo_s {
+ char *main_info;
+ char *sub_info;
+ char *thumb_path;
+ int track_count;
+
+ //for artist list
+ char **album_thumb_paths;
+ int album_count;
+};
+
+struct mp_media_info_s {
+ union {
+ media_info_h media; //media_info_h
+ void *group; //handle for group item like media_playlist_h, media_album_h, media_folder_h...
+ } h;
+
+ union {
+ audio_meta_h meta; //audio_meta_h for a media
+ mp_group_type_e group_type;
+ } s;
+
+ union {
+ struct mp_minfo_s *minfo; //media info
+ struct mp_ginfo_s *ginfo; //group info
+ } i;
+};
+
+#define STRNCAT_LEN(dest) (sizeof(dest)-1-strlen(dest))
+
+media_content_noti_h noti_handle;
+
+static void _mp_media_info_sql_strncat(char *buf, const char *query,
+ int size)
+{
+ char *sql = sqlite3_mprintf("%q", query);
+ SECURE_DEBUG("sql: %s", sql);
+ strncat(buf, sql, size);
+ sqlite3_free(sql);
+}
+
+static inline int _mp_media_info_compare_cb(const void *a, const void *b)
+{
+ mp_media_info_h media_info_a = (mp_media_info_h) a;
+ mp_media_info_h media_info_b = (mp_media_info_h) b;
+ char *s_a = NULL, *s_b = NULL;
+ int n_a = 0, n_b = 0, res = 0;
+
+ mp_media_info_get_track_num(media_info_a, &s_a);
+ mp_media_info_get_track_num(media_info_b, &s_b);
+ if (s_a == NULL && s_b == NULL) {
+ return 0;
+ } else if (s_a == NULL) {
+ return 1;
+ } else if (s_b == NULL) {
+ return -1;
+ }
+
+ n_a = atoi(s_a);
+ n_b = atoi(s_b);
+
+ if (n_a < n_b) {
+ res = 1;
+ } else if (n_a > n_b) {
+ res = -1;
+ }
+
+ DEBUG_TRACE("a: %d, b: %d, res: %d", n_a, n_b, res);
+
+ return res;
+}
+
+static inline bool __mp_media_info_of_album_cb(media_info_h media,
+ void *user_data)
+{
+ int res = MEDIA_CONTENT_ERROR_NONE;
+ mp_media_list_h media_list = user_data;
+ mp_media_info_h media_info = NULL;
+ media_info_h m = NULL;
+ MP_CHECK_FALSE(media_list);
+
+ res = media_info_clone(&m, media);
+ MP_CHECK_VAL(res == MEDIA_CONTENT_ERROR_NONE, true);
+ MP_CHECK_VAL(m, true);
+
+ media_info = calloc(1, sizeof(struct mp_media_info_s));
+ if (!media_info) {
+ media_info_destroy(m);
+ return false;
+ }
+
+ media_info->i.minfo = calloc(1, sizeof(struct mp_minfo_s));
+ if (!media_info->i.minfo) {
+ media_info_destroy(m);
+ IF_FREE(media_info);
+ return false;
+ }
+
+ res = media_info_get_audio(m, &media_info->s.meta);
+ if (res != MEDIA_CONTENT_ERROR_NONE) {
+ media_info_destroy(m);
+ mp_media_info_destroy(media_info);
+ return true;
+ }
+
+ media_info->h.media = m;
+ media_list->list =
+ g_list_insert_sorted(media_list->list, media_info,
+ _mp_media_info_compare_cb);
+
+ return true;
+}
+
+
+static inline bool __mp_media_info_cb(media_info_h media, void *user_data)
+{
+ int res = MEDIA_CONTENT_ERROR_NONE;
+ mp_media_list_h media_list = user_data;
+ mp_media_info_h media_info = NULL;
+ media_info_h m = NULL;
+ MP_CHECK_FALSE(media_list);
+
+ res = media_info_clone(&m, media);
+ MP_CHECK_VAL(res == MEDIA_CONTENT_ERROR_NONE, true);
+ MP_CHECK_VAL(m, true);
+
+ media_info = calloc(1, sizeof(struct mp_media_info_s));
+ if (!media_info) {
+ media_info_destroy(m);
+ return false;
+ }
+
+ media_info->i.minfo = calloc(1, sizeof(struct mp_minfo_s));
+ if (!media_info->i.minfo) {
+ free(media_info);
+ media_info_destroy(m);
+ return false;
+ }
+
+ media_info->h.media = m;
+ media_list->list = g_list_prepend(media_list->list, media_info);
+
+ res = media_info_get_audio(m, &media_info->s.meta);
+ MP_CHECK_VAL(res == MEDIA_CONTENT_ERROR_NONE, true);
+
+ return true;
+}
+
+static inline bool __mp_playlist_media_info_cb(int playlist_member_id,
+ media_info_h media,
+ void *user_data)
+{
+ int res = MEDIA_CONTENT_ERROR_NONE;
+ mp_media_list_h media_list = user_data;
+ mp_media_info_h media_info = NULL;
+ media_info_h m = NULL;
+ MP_CHECK_FALSE(media_list);
+
+ res = media_info_clone(&m, media);
+ MP_CHECK_FALSE(res == MEDIA_CONTENT_ERROR_NONE);
+ MP_CHECK_FALSE(m);
+
+ media_info = calloc(1, sizeof(struct mp_media_info_s));
+ if (!media_info) {
+ media_info_destroy(m);
+ return false;
+ }
+
+ media_info->i.minfo = calloc(1, sizeof(struct mp_minfo_s));
+ if (!media_info->i.minfo) {
+ media_info_destroy(m);
+ SAFE_FREE(media_info);
+ return false;
+ }
+ media_info->i.minfo->playlist_member_id = playlist_member_id;
+
+ media_info->h.media = m;
+ media_list->list = g_list_prepend(media_list->list, media_info);
+
+ res = media_info_get_audio(m, &media_info->s.meta);
+ MP_CHECK_FALSE(res == MEDIA_CONTENT_ERROR_NONE);
+
+ return true;
+}
+
+static inline bool __mp_media_album_cb(media_album_h album,
+ void *user_data)
+{
+ mp_media_info_h media_info = NULL;
+ mp_media_list_h media_list = user_data;
+ MP_CHECK_FALSE(media_list);
+
+ char *album_name = NULL;
+ media_album_get_name(album, &album_name);
+
+ if (!g_strcmp0(media_list->distinct_check, album_name)) {
+ IF_FREE(album_name);
+ return true;
+ }
+
+ IF_FREE(media_list->distinct_check);
+ media_list->distinct_check = album_name;
+
+ media_info = calloc(1, sizeof(struct mp_media_info_s));
+ MP_CHECK_FALSE(media_info);
+
+ media_info->i.ginfo = calloc(1, sizeof(struct mp_ginfo_s));
+ if (!media_info->i.ginfo) {
+ SAFE_FREE(media_info);
+ return false;
+ }
+
+ media_album_clone((media_album_h *) & media_info->h.group, album);
+ media_info->s.group_type = media_list->group_type;
+
+ media_list->list = g_list_prepend(media_list->list, media_info);
+
+ return true;
+}
+
+static inline bool __mp_media_folder_cb(media_folder_h folder,
+ void *user_data)
+{
+ mp_media_info_h media_info = NULL;
+ mp_media_list_h media_list = user_data;
+ MP_CHECK_FALSE(media_list);
+
+ media_info = calloc(1, sizeof(struct mp_media_info_s));
+ MP_CHECK_FALSE(media_info);
+
+ media_info->i.ginfo = calloc(1, sizeof(struct mp_ginfo_s));
+ if (!media_info->i.ginfo) {
+ SAFE_FREE(media_info);
+ return false;
+ }
+
+ media_folder_clone((media_folder_h *) & media_info->h.group, folder);
+ media_info->s.group_type = media_list->group_type;
+
+ media_list->list = g_list_prepend(media_list->list, media_info);
+
+ return true;
+}
+
+static inline bool __mp_media_playlist_cb(media_playlist_h playlist,
+ void *user_data)
+{
+ mp_media_info_h media_info = NULL;
+ mp_media_list_h media_list = user_data;
+ MP_CHECK_FALSE(media_list);
+
+ media_info = calloc(1, sizeof(struct mp_media_info_s));
+ MP_CHECK_FALSE(media_info);
+
+ media_info->i.ginfo = calloc(1, sizeof(struct mp_ginfo_s));
+ if (!media_info->i.ginfo) {
+ SAFE_FREE(media_info);
+ return false;
+ }
+
+ media_playlist_clone((media_playlist_h *) & media_info->h.group,
+ playlist);
+ media_info->s.group_type = media_list->group_type;
+
+ media_list->list = g_list_prepend(media_list->list, media_info);
+
+ char *path = NULL;
+ media_playlist_get_thumbnail_path(playlist, &path);
+ if (path) {
+ media_info->i.ginfo->thumb_path = g_strdup(path);
+ }
+ IF_FREE(path);
+
+ return true;
+}
+
+static inline bool __mp_media_group_cb(const char *name, void *user_data)
+{
+ mp_media_info_h media_info = NULL;
+ mp_media_list_h media_list = user_data;
+ MP_CHECK_FALSE(media_list);
+
+ media_info = calloc(1, sizeof(struct mp_media_info_s));
+ MP_CHECK_FALSE(media_info);
+
+ media_info->i.ginfo = calloc(1, sizeof(struct mp_ginfo_s));
+ if (!media_info->i.ginfo) {
+ SAFE_FREE(media_info);
+ return false;
+ }
+
+ media_info->h.group = g_strdup(name);
+ media_info->s.group_type = media_list->group_type;
+
+ media_list->list = g_list_prepend(media_list->list, media_info);
+
+ return true;
+}
+
+static void __mp_media_info_destory(void *data)
+{
+ mp_media_info_destroy(data);
+}
+
+static void __mp_media_group_destory(void *data)
+{
+ mp_media_info_h media_info = data;
+ MP_CHECK(media_info);
+
+ if (media_info->s.group_type == MP_GROUP_BY_FOLDER) {
+ media_folder_destroy(media_info->h.group);
+ } else if (media_info->s.group_type == MP_GROUP_BY_ALBUM) {
+ media_album_destroy(media_info->h.group);
+ } else if (media_info->s.group_type == MP_GROUP_BY_PLAYLIST) {
+ media_playlist_destroy(media_info->h.group);
+ } else {
+ IF_FREE(media_info->h.group);
+ }
+
+ if (media_info->i.ginfo) {
+ IF_FREE(media_info->i.ginfo->main_info);
+ IF_FREE(media_info->i.ginfo->sub_info);
+ IF_FREE(media_info->i.ginfo->thumb_path);
+
+ while (media_info->i.ginfo->album_count) {
+ media_info->i.ginfo->album_count--;
+ IF_FREE(media_info->i.ginfo->
+ album_thumb_paths[media_info->i.ginfo->album_count]);
+ }
+ IF_FREE(media_info->i.ginfo->album_thumb_paths);
+
+ free(media_info->i.ginfo);
+ }
+
+ free(media_info);
+}
+
+
+static void __mp_media_info_set_group_filter(mp_filter_h filter,
+ mp_group_type_e group_type,
+ const char *type_string,
+ const char *filter_string)
+{
+ char cond[MAX_FILTER_LEN] = { 0, };
+ if (group_type != MP_GROUP_BY_PLAYLIST) {
+ strncat(cond, MP_MEDIA_TYPE, STRNCAT_LEN(cond));
+ } else {
+ strncat(cond,
+ "((MEDIA_TYPE=3 and PLAYLIST_MEDIA_COUNT>0) or PLAYLIST_MEDIA_COUNT=0)",
+ STRNCAT_LEN(cond));
+ }
+
+ switch (group_type) {
+ case MP_GROUP_BY_ALBUM:
+ if (type_string) {
+ strncat(cond, " AND MEDIA_ALBUM = '\%", STRNCAT_LEN(cond));
+ _mp_media_info_sql_strncat(cond, type_string,
+ STRNCAT_LEN(cond));
+ strncat(cond, "\%'", STRNCAT_LEN(cond));
+ }
+ if (filter_string) {
+ strncat(cond, " AND MEDIA_ALBUM like '\%", STRNCAT_LEN(cond));
+ _mp_media_info_sql_strncat(cond, filter_string,
+ STRNCAT_LEN(cond));
+ strncat(cond, "\%'", STRNCAT_LEN(cond));
+ }
+ media_filter_set_order(filter, MEDIA_CONTENT_ORDER_ASC,
+ MEDIA_ALBUM, MEDIA_CONTENT_COLLATE_NOCASE);
+ break;
+ case MP_GROUP_BY_ARTIST:
+ if (type_string) {
+ strncat(cond, " AND MEDIA_ARTIST = '\%", STRNCAT_LEN(cond));
+ _mp_media_info_sql_strncat(cond, type_string,
+ STRNCAT_LEN(cond));
+ strncat(cond, "\%'", STRNCAT_LEN(cond));
+ }
+ if (filter_string) {
+ strncat(cond, " AND MEDIA_ARTIST like '\%", STRNCAT_LEN(cond));
+ _mp_media_info_sql_strncat(cond, filter_string,
+ STRNCAT_LEN(cond));
+ strncat(cond, "\%'", STRNCAT_LEN(cond));
+ }
+ media_filter_set_order(filter, MEDIA_CONTENT_ORDER_ASC,
+ MEDIA_ARTIST, MEDIA_CONTENT_COLLATE_NOCASE);
+ break;
+ case MP_GROUP_BY_ARTIST_ALBUM:
+ MP_CHECK(type_string && strlen(type_string));
+ if (filter_string) {
+ strncat(cond, " AND MEDIA_ALBUM like '\%", STRNCAT_LEN(cond));
+ _mp_media_info_sql_strncat(cond, filter_string,
+ STRNCAT_LEN(cond));
+ strncat(cond, "\%' AND ", STRNCAT_LEN(cond));
+ }
+ strncat(cond, " AND MEDIA_ARTIST = '", STRNCAT_LEN(cond));
+ _mp_media_info_sql_strncat(cond, type_string, STRNCAT_LEN(cond));
+ strncat(cond, "'", STRNCAT_LEN(cond));
+ media_filter_set_order(filter, MEDIA_CONTENT_ORDER_ASC,
+ MEDIA_ALBUM, MEDIA_CONTENT_COLLATE_NOCASE);
+ break;
+ case MP_GROUP_BY_GENRE:
+ if (filter_string) {
+ strncat(cond, " AND MEDIA_GENRE like '\%", STRNCAT_LEN(cond));
+ _mp_media_info_sql_strncat(cond, filter_string,
+ STRNCAT_LEN(cond));
+ strncat(cond, "\%'", STRNCAT_LEN(cond));
+ }
+ media_filter_set_order(filter, MEDIA_CONTENT_ORDER_ASC,
+ MEDIA_GENRE, MEDIA_CONTENT_COLLATE_NOCASE);
+ break;
+ case MP_GROUP_BY_FOLDER:
+ if (filter_string) {
+ strncat(cond, " AND FOLDER_PATH like '\%", STRNCAT_LEN(cond));
+ _mp_media_info_sql_strncat(cond, filter_string,
+ STRNCAT_LEN(cond));
+ strncat(cond, "\%'", STRNCAT_LEN(cond));
+ }
+ media_filter_set_order(filter, MEDIA_CONTENT_ORDER_ASC,
+ FOLDER_NAME, MEDIA_CONTENT_COLLATE_NOCASE);
+ break;
+ case MP_GROUP_BY_YEAR:
+ if (filter_string) {
+ strncat(cond, " AND MEDIA_YEAR like '\%", STRNCAT_LEN(cond));
+ _mp_media_info_sql_strncat(cond, filter_string,
+ STRNCAT_LEN(cond));
+ strncat(cond, "\%'", STRNCAT_LEN(cond));
+ }
+ media_filter_set_order(filter, MEDIA_CONTENT_ORDER_ASC, MEDIA_YEAR,
+ MEDIA_CONTENT_COLLATE_NOCASE);
+ break;
+ case MP_GROUP_BY_COMPOSER:
+ if (filter_string) {
+ strncat(cond, " AND MEDIA_COMPOSER like '\%",
+ STRNCAT_LEN(cond));
+ _mp_media_info_sql_strncat(cond, filter_string,
+ STRNCAT_LEN(cond));
+ strncat(cond, "\%'", STRNCAT_LEN(cond));
+ }
+ media_filter_set_order(filter, MEDIA_CONTENT_ORDER_ASC,
+ MEDIA_COMPOSER,
+ MEDIA_CONTENT_COLLATE_NOCASE);
+ break;
+ case MP_GROUP_BY_PLAYLIST:
+ if (filter_string) {
+ strncat(cond, " AND PLAYLIST_NAME like '\%",
+ STRNCAT_LEN(cond));
+ _mp_media_info_sql_strncat(cond, filter_string,
+ STRNCAT_LEN(cond));
+ strncat(cond, "\%'", STRNCAT_LEN(cond));
+ }
+ media_filter_set_order(filter, MEDIA_CONTENT_ORDER_ASC,
+ PLAYLIST_NAME,
+ MEDIA_CONTENT_COLLATE_NOCASE);
+ break;
+ default:
+ WARN_TRACE("Unhandled type: %d", group_type);
+ break;
+ }
+ if (strlen(cond)) {
+ media_filter_set_condition(filter, cond,
+ MEDIA_CONTENT_COLLATE_NOCASE);
+ }
+
+}
+
+static int __mp_media_info_get_thumbnail_path(media_info_h media,
+ char **path)
+{
+ int res = 0;
+ res = media_info_get_thumbnail_path(media, path);
+ if (res != MEDIA_CONTENT_ERROR_NONE) {
+ ERROR_TRACE("Error code 0x%x", res);
+ }
+
+ return res;
+}
+
+static void __mp_media_info_set_filter(filter_h filter,
+ mp_track_type_e track_type,
+ const char *type_string,
+ const char *type_string2,
+ const char *filter_string)
+{
+ char cond[MAX_FILTER_LEN] = { 0, };
+ if (track_type == MP_TRACK_BY_VOICE_CLIP) {
+ strncat(cond, MP_SOUND_TYPE, STRNCAT_LEN(cond));
+ } else {
+ strncat(cond, MP_MEDIA_TYPE, STRNCAT_LEN(cond));
+ }
+
+ switch (track_type) {
+ case MP_TRACK_ALL:
+ media_filter_set_order(filter, MEDIA_CONTENT_ORDER_ASC,
+ MEDIA_TITLE, MEDIA_CONTENT_COLLATE_NOCASE);
+ break;
+ case MP_TRACK_BY_ALBUM:
+ if (type_string) {
+ strncat(cond, " AND MEDIA_ALBUM='", STRNCAT_LEN(cond));
+ _mp_media_info_sql_strncat(cond, type_string,
+ STRNCAT_LEN(cond));
+ strncat(cond, "'", STRNCAT_LEN(cond));
+ } else {
+ strncat(cond, " AND MEDIA_ALBUM is null", STRNCAT_LEN(cond));
+ }
+ //strncat(cond, " ORDER BY CAST(MEDIA_TRACK_NUM as integer)", STRNCAT_LEN(cond));
+ break;
+ case MP_TRACK_BY_ARTIST:
+ media_filter_set_order(filter, MEDIA_CONTENT_ORDER_ASC,
+ "MEDIA_ALBUM, MEDIA_TITLE",
+ MEDIA_CONTENT_COLLATE_NOCASE);
+ if (type_string) {
+ strncat(cond, " AND MEDIA_ARTIST='", STRNCAT_LEN(cond));
+ _mp_media_info_sql_strncat(cond, type_string,
+ STRNCAT_LEN(cond));
+ strncat(cond, "'", STRNCAT_LEN(cond));
+ } else {
+ strncat(cond, " AND MEDIA_ARTIST is null", STRNCAT_LEN(cond));
+ }
+ break;
+ case MP_TRACK_BY_GENRE:
+ media_filter_set_order(filter, MEDIA_CONTENT_ORDER_ASC,
+ MEDIA_TITLE, MEDIA_CONTENT_COLLATE_NOCASE);
+ if (type_string) {
+ strncat(cond, " AND MEDIA_GENRE='", STRNCAT_LEN(cond));
+ _mp_media_info_sql_strncat(cond, type_string,
+ STRNCAT_LEN(cond));
+ strncat(cond, "'", STRNCAT_LEN(cond));
+ } else {
+ strncat(cond, " AND MEDIA_GENRE is null", STRNCAT_LEN(cond));
+ }
+ break;
+ case MP_TRACK_BY_FOLDER:
+ media_filter_set_order(filter, MEDIA_CONTENT_ORDER_ASC,
+ MEDIA_DISPLAY_NAME,
+ MEDIA_CONTENT_COLLATE_NOCASE);
+ break;
+ case MP_TRACK_BY_YEAR:
+ media_filter_set_order(filter, MEDIA_CONTENT_ORDER_ASC,
+ MEDIA_TITLE, MEDIA_CONTENT_COLLATE_NOCASE);
+ if (type_string) {
+ strncat(cond, " AND MEDIA_YEAR='", STRNCAT_LEN(cond));
+ _mp_media_info_sql_strncat(cond, type_string,
+ STRNCAT_LEN(cond));
+ strncat(cond, "'", STRNCAT_LEN(cond));
+ } else {
+ strncat(cond, " AND MEDIA_YEAR is null", STRNCAT_LEN(cond));
+ }
+ break;
+ case MP_TRACK_BY_COMPOSER:
+ media_filter_set_order(filter, MEDIA_CONTENT_ORDER_ASC,
+ MEDIA_TITLE, MEDIA_CONTENT_COLLATE_NOCASE);
+ if (type_string) {
+ strncat(cond, " AND MEDIA_COMPOSER='", STRNCAT_LEN(cond));
+ _mp_media_info_sql_strncat(cond, type_string,
+ STRNCAT_LEN(cond));
+ strncat(cond, "'", STRNCAT_LEN(cond));
+ } else {
+ strncat(cond, " AND MEDIA_COMPOSER is null",
+ STRNCAT_LEN(cond));
+ }
+ break;
+ case MP_TRACK_BY_ARTIST_ALBUM:
+ if (type_string) {
+ strncat(cond, " AND MEDIA_ALBUM='", STRNCAT_LEN(cond));
+ _mp_media_info_sql_strncat(cond, type_string,
+ STRNCAT_LEN(cond));
+ strncat(cond, "'", STRNCAT_LEN(cond));
+ } else {
+ strncat(cond, " AND MEDIA_ALBUM is null", STRNCAT_LEN(cond));
+ }
+ if (type_string2) {
+ strncat(cond, " AND MEDIA_ARTIST='", STRNCAT_LEN(cond));
+ _mp_media_info_sql_strncat(cond, type_string2,
+ STRNCAT_LEN(cond));
+ strncat(cond, "'", STRNCAT_LEN(cond));
+ } else {
+ strncat(cond, " AND MEDIA_ARTIST is null", STRNCAT_LEN(cond));
+ }
+ //strncat(cond, " ORDER BY CAST(MEDIA_TRACK_NUM as integer)", STRNCAT_LEN(cond));
+ break;
+ case MP_TRACK_BY_FAVORITE:
+ media_filter_set_order(filter, MEDIA_CONTENT_ORDER_DESC,
+ MEDIA_FAVOURITE,
+ MEDIA_CONTENT_COLLATE_NOCASE);
+ strncat(cond, " AND MEDIA_FAVOURITE>0", STRNCAT_LEN(cond));
+ break;
+ case MP_TRACK_BY_PLAYED_TIME:
+ media_filter_set_order(filter, MEDIA_CONTENT_ORDER_DESC,
+ MEDIA_LAST_PLAYED_TIME,
+ MEDIA_CONTENT_COLLATE_NOCASE);
+ strncat(cond, " AND MEDIA_LAST_PLAYED_TIME>0", STRNCAT_LEN(cond));
+ break;
+ case MP_TRACK_BY_ADDED_TIME:
+ media_filter_set_order(filter, MEDIA_CONTENT_ORDER_DESC,
+ MEDIA_ADDED_TIME,
+ MEDIA_CONTENT_COLLATE_NOCASE);
+ strncat(cond, " AND MEDIA_ADDED_TIME>0", STRNCAT_LEN(cond));
+ break;
+ case MP_TRACK_BY_PLAYED_COUNT:
+ media_filter_set_order(filter, MEDIA_CONTENT_ORDER_DESC,
+ MEDIA_PLAYED_COUNT,
+ MEDIA_CONTENT_COLLATE_NOCASE);
+ strncat(cond, " AND MEDIA_PLAYED_COUNT>0", STRNCAT_LEN(cond));
+ break;
+ case MP_TRACK_BY_PLAYLIST:
+ media_filter_set_order(filter, MEDIA_CONTENT_ORDER_DESC,
+ PLAYLIST_MEMBER_ORDER,
+ MEDIA_CONTENT_COLLATE_NOCASE);
+ break;
+ case MP_TRACK_BY_VOICE_CLIP:
+ media_filter_set_order(filter, MEDIA_CONTENT_ORDER_ASC,
+ MEDIA_TITLE, MEDIA_CONTENT_COLLATE_NOCASE);
+ strncat(cond,
+ " AND MEDIA_MIME_TYPE=\"audio/AMR\" OR MEDIA_MIME_TYPE=\"audio/mp4\" OR MEDIA_MIME_TYPE=\"audio/3gpp\"",
+ STRNCAT_LEN(cond));
+ break;
+ case MP_TRACK_BY_GROUP_PLAY:
+ media_filter_set_order(filter, MEDIA_CONTENT_ORDER_ASC,
+ MEDIA_TITLE, MEDIA_CONTENT_COLLATE_NOCASE);
+ strncat(cond,
+ " AND MEDIA_MIME_TYPE=\"audio/x-wav\" OR MEDIA_MIME_TYPE=\"audio/mpeg\"",
+ STRNCAT_LEN(cond));
+ break;
+ default:
+ WARN_TRACE("Unhandled type: %d", track_type);
+ break;
+ }
+
+ if (filter_string && strlen(filter_string)) {
+ strncat(cond, " AND MEDIA_TITLE like '\%", STRNCAT_LEN(cond));
+ _mp_media_info_sql_strncat(cond, filter_string, STRNCAT_LEN(cond));
+ strncat(cond, "\%'", STRNCAT_LEN(cond));
+ }
+ //DEBUG_TRACE("cond: %s", cond);
+ media_filter_set_condition(filter, cond, MEDIA_CONTENT_COLLATE_NOCASE);
+
+}
+
+
+int mp_media_info_connect(void)
+{
+ int res = media_content_connect();
+ if (res != MEDIA_CONTENT_ERROR_NONE) {
+ ERROR_TRACE("Error: media_content_connect");
+ }
+
+ return res;
+}
+
+int mp_media_info_disconnect(void)
+{
+ int res = media_content_disconnect();
+ if (res != MEDIA_CONTENT_ERROR_NONE) {
+ ERROR_TRACE("Error: media_content_disconnect");
+ }
+
+ return res;
+}
+
+/*filter*/
+int mp_media_filter_create(mp_filter_h * filter)
+{
+ int res = media_filter_create(filter);
+ if (res != MEDIA_CONTENT_ERROR_NONE) {
+ ERROR_TRACE("Error code 0x%x", res);
+ }
+ return res;
+}
+
+int mp_media_filter_destory(mp_filter_h filter)
+{
+ int res = media_filter_destroy(filter);
+ if (res != MEDIA_CONTENT_ERROR_NONE) {
+ ERROR_TRACE("Error code 0x%x", res);
+ }
+ return res;
+}
+
+int mp_media_filter_set_offset(mp_filter_h filter, int offset, int count)
+{
+ int res = media_filter_set_offset(filter, offset, count);
+ if (res != MEDIA_CONTENT_ERROR_NONE) {
+ ERROR_TRACE("Error code 0x%x", res);
+ }
+ return res;
+}
+
+int mp_media_filter_set_order(mp_filter_h filter, bool descending,
+ const char *order_keyword,
+ mp_media_content_collation_e collation)
+{
+ int res =
+ media_filter_set_order(filter, descending, order_keyword,
+ (media_content_collation_e) collation);
+ if (res != MEDIA_CONTENT_ERROR_NONE) {
+ ERROR_TRACE("Error code 0x%x", res);
+ }
+ return res;
+}
+
+int mp_media_filter_set_condition(mp_filter_h filter,
+ const char *condition,
+ mp_media_content_collation_e collation)
+{
+ int res =
+ media_filter_set_condition(filter, condition,
+ (media_content_collation_e) collation);
+ if (res != MEDIA_CONTENT_ERROR_NONE) {
+ ERROR_TRACE("Error code 0x%x", res);
+ }
+ return res;
+}
+
+/*media infomation*/
+int mp_media_info_list_count_w_filter(mp_track_type_e track_type,
+ const char *folder_id,
+ int playlist_id, mp_filter_h filter,
+ int *count)
+{
+ int res = MEDIA_CONTENT_ERROR_NONE;
+ if (track_type == MP_TRACK_BY_FOLDER) {
+ res =
+ media_folder_get_media_count_from_db(folder_id, filter, count);
+ } else if (track_type == MP_TRACK_BY_PLAYLIST) {
+ res =
+ media_playlist_get_media_count_from_db(playlist_id, filter,
+ count);
+ } else {
+ res = media_info_get_media_count_from_db(filter, count);
+ }
+ if (res != MEDIA_CONTENT_ERROR_NONE) {
+ ERROR_TRACE("Error code 0x%x", res);
+ }
+
+ if (track_type == MP_TRACK_BY_PLAYED_TIME
+ || track_type == MP_TRACK_BY_ADDED_TIME
+ || track_type == MP_TRACK_BY_PLAYED_COUNT) {
+ if (*count > MP_AUTO_PLAYLIST_ITEM_MAX) {
+ *count = MP_AUTO_PLAYLIST_ITEM_MAX;
+ }
+ } else if (track_type == MP_TRACK_BY_PLAYLIST) {
+ if (*count > MP_PLAYLIST_MAX_ITEM_COUNT) {
+ *count = MP_PLAYLIST_MAX_ITEM_COUNT;
+ }
+ }
+
+ return res;
+}
+
+int mp_media_info_list_count(mp_track_type_e track_type,
+ const char *type_string,
+ const char *type_string2,
+ const char *filter_string, int playlist_id,
+ int *count)
+{
+ int res = MEDIA_CONTENT_ERROR_NONE;
+ filter_h filter = NULL;
+
+
+ res = media_filter_create(&filter);
+ MP_CHECK_VAL(res == MEDIA_CONTENT_ERROR_NONE, res);
+ __mp_media_info_set_filter(filter, track_type, type_string,
+ type_string2, filter_string);
+
+ res =
+ mp_media_info_list_count_w_filter(track_type, type_string,
+ playlist_id, filter, count);
+ media_filter_destroy(filter);
+ return res;
+}
+
+int mp_media_info_list_create_w_filter(mp_track_type_e track_type,
+ const char *folder_id,
+ int playlist_id, mp_filter_h filter,
+ mp_media_list_h * media_list)
+{
+ int res = MEDIA_CONTENT_ERROR_NONE;
+
+ MP_CHECK_VAL(media_list, -1);
+
+ *media_list = calloc(1, sizeof(struct mp_media_list_s));
+ MP_CHECK_VAL(*media_list, -1);
+ (*media_list)->group_type = MP_GROUP_NONE;
+
+ if (track_type == MP_TRACK_BY_FOLDER) {
+ res =
+ media_folder_foreach_media_from_db(folder_id, filter,
+ __mp_media_info_cb,
+ *media_list);
+ } else if (track_type == MP_TRACK_BY_PLAYLIST) {
+ media_filter_set_order(filter, MEDIA_CONTENT_ORDER_ASC,
+ PLAYLIST_MEMBER_ORDER,
+ MEDIA_CONTENT_COLLATE_NOCASE);
+ res =
+ media_playlist_foreach_media_from_db(playlist_id, filter,
+ __mp_playlist_media_info_cb,
+ *media_list);
+ } else if (track_type == MP_TRACK_BY_ALBUM
+ || track_type == MP_TRACK_BY_ARTIST_ALBUM) {
+ res =
+ media_info_foreach_media_from_db(filter,
+ __mp_media_info_of_album_cb,
+ *media_list);
+ } else {
+ res =
+ media_info_foreach_media_from_db(filter, __mp_media_info_cb,
+ *media_list);
+ }
+
+ if (res != MEDIA_CONTENT_ERROR_NONE) {
+ ERROR_TRACE("Error code 0x%x", res);
+ free(*media_list);
+ *media_list = NULL;
+ return res;
+ }
+
+ if ((*media_list)->list) {
+ (*media_list)->list = g_list_reverse((*media_list)->list);
+ (*media_list)->count = g_list_length((*media_list)->list);
+ }
+
+ return res;
+}
+
+int mp_media_info_list_create(mp_media_list_h * out_list,
+ mp_track_type_e track_type,
+ const char *type_string,
+ const char *type_string2,
+ const char *filter_string, int playlist_id,
+ int offset, int count)
+{
+ int res = MEDIA_CONTENT_ERROR_NONE;
+ filter_h filter = NULL;
+
+
+ res = media_filter_create(&filter);
+ MP_CHECK_VAL(res == MEDIA_CONTENT_ERROR_NONE, res);
+
+ res = media_filter_set_offset(filter, offset, count);
+ __mp_media_info_set_filter(filter, track_type, type_string,
+ type_string2, filter_string);
+
+ res =
+ mp_media_info_list_create_w_filter(track_type, type_string,
+ playlist_id, filter, out_list);
+ media_filter_destroy(filter);
+
+ return res;
+}
+
+#ifdef MP_SOUND_PLAYER
+int mp_media_info_sorted_track_list_create(mp_media_list_h * out_list,
+ char *sort_type)
+{
+ int res = MEDIA_CONTENT_ERROR_NONE;
+ filter_h filter = NULL;
+
+ res = media_filter_create(&filter);
+ MP_CHECK_VAL(res == MEDIA_CONTENT_ERROR_NONE, res);
+
+ char cond[MAX_FILTER_LEN] = { 0, };
+ strncat(cond, "(MEDIA_TYPE=3) OR (MEDIA_TYPE=2)", STRNCAT_LEN(cond));
+ media_filter_set_condition(filter, cond, MEDIA_CONTENT_COLLATE_NOCASE);
+
+ if (!g_strcmp0(sort_type, "MYFILE_SORT_BY_NAME_A2Z")) {
+ media_filter_set_order(filter, MEDIA_CONTENT_ORDER_DESC,
+ MEDIA_DISPLAY_NAME,
+ MEDIA_CONTENT_COLLATE_NOCASE);
+ } else if (!g_strcmp0(sort_type, "MYFILE_SORT_BY_NAME_Z2A")) {
+ media_filter_set_order(filter, MEDIA_CONTENT_ORDER_ASC,
+ MEDIA_DISPLAY_NAME,
+ MEDIA_CONTENT_COLLATE_NOCASE);
+ } else if (!g_strcmp0(sort_type, "MYFILE_SORT_BY_DATE_O2R")) {
+ media_filter_set_order(filter, MEDIA_CONTENT_ORDER_DESC,
+ MEDIA_MODIFIED_TIME,
+ MEDIA_CONTENT_COLLATE_NOCASE);
+ } else if (!g_strcmp0(sort_type, "MYFILE_SORT_BY_SIZE_L2S")) {
+ media_filter_set_order(filter, MEDIA_CONTENT_ORDER_ASC, MEDIA_SIZE,
+ MEDIA_CONTENT_COLLATE_NOCASE);
+ }
+
+ res =
+ mp_media_info_list_create_w_filter(MP_TRACK_ALL, NULL, 0, filter,
+ out_list);
+ media_filter_destroy(filter);
+
+ MP_CHECK_VAL(*out_list, -1);
+
+ (*out_list)->list = g_list_reverse((*out_list)->list);
+ (*out_list)->count = g_list_length((*out_list)->list);
+
+ return res;
+}
+#endif
+
+int mp_media_info_list_destroy(mp_media_list_h media_list)
+{
+ MP_CHECK_VAL(media_list, -1);
+
+ if (media_list->list) {
+ g_list_free_full(media_list->list, __mp_media_info_destory);
+ }
+ free(media_list);
+ media_list = NULL;
+ return 0;
+}
+
+mp_media_info_h mp_media_info_list_nth_item(mp_media_list_h media_list,
+ int index)
+{
+ MP_CHECK_NULL(media_list);
+ MP_CHECK_NULL(index < media_list->count);
+
+ return g_list_nth_data(media_list->list, index);
+}
+
+int mp_media_infor_list_get_count(mp_media_list_h media_list)
+{
+ MP_CHECK_VAL(media_list, -1);
+ return media_list->count;
+}
+
+int mp_media_info_create(mp_media_info_h * media_info,
+ const char *media_id)
+{
+ int res = MEDIA_CONTENT_ERROR_NONE;
+ *media_info = calloc(1, sizeof(struct mp_media_info_s));
+ MP_CHECK_VAL(*media_info, -1);
+
+ (*media_info)->i.minfo = calloc(1, sizeof(struct mp_minfo_s));
+ MP_CHECK_VAL((*media_info)->i.minfo, -1);
+ if (!(*media_info)->i.minfo) {
+ SAFE_FREE(*media_info);
+ return -1;
+ }
+
+ res = media_info_get_media_from_db(media_id, &(*media_info)->h.media);
+ if (res != MEDIA_CONTENT_ERROR_NONE) {
+ SAFE_FREE((*media_info)->i.minfo);
+ SAFE_FREE(*media_info);
+ return res;
+ }
+
+ res =
+ media_info_get_audio((*media_info)->h.media,
+ &(*media_info)->s.meta);
+ if (res != MEDIA_CONTENT_ERROR_NONE) {
+ SAFE_FREE((*media_info)->i.minfo);
+ SAFE_FREE(*media_info);
+ return res;
+ }
+
+ return res;
+}
+
+int mp_media_info_create_by_path(mp_media_info_h * media_info,
+ const char *file_path)
+{
+ int res = MEDIA_CONTENT_ERROR_NONE;
+ mp_filter_h filter = NULL;
+ char sql[MAX_NAM_LEN] = { 0, };
+ char *cond = NULL;
+ mp_media_list_h list = NULL;
+
+ res = media_filter_create(&filter);
+ MP_CHECK_VAL(res == MEDIA_CONTENT_ERROR_NONE, res);
+ _mp_media_info_sql_strncat(sql, file_path, STRNCAT_LEN(sql));
+ cond = g_strdup_printf("MEDIA_PATH = '%s'", sql);
+
+ media_filter_set_condition(filter, cond, MEDIA_CONTENT_COLLATE_NOCASE);
+ IF_FREE(cond);
+
+ media_filter_set_offset(filter, 0, 1);
+
+ res =
+ mp_media_info_list_create_w_filter(MP_TRACK_ALL, NULL, 0, filter,
+ &list);
+ media_filter_destroy(filter);
+ MP_CHECK_VAL(res == MEDIA_CONTENT_ERROR_NONE, res);
+ MP_CHECK_VAL(list, -1);
+ if (list->count <= 0) {
+ DEBUG_TRACE("list count 0");
+ mp_media_info_list_destroy(list);
+ return -1;
+ }
+
+ list->list = g_list_nth(list->list, 0);
+ if (list->list == NULL) {
+ mp_media_info_list_destroy(list);
+ return res;
+ }
+ *media_info = list->list->data;
+ list->list = g_list_delete_link(list->list, list->list);
+
+ mp_media_info_list_destroy(list);
+
+ return res;
+}
+
+int mp_media_info_destroy(mp_media_info_h media_info)
+{
+ MP_CHECK_VAL(media_info, -1);
+
+ audio_meta_destroy(media_info->s.meta);
+ media_info_destroy(media_info->h.media);
+
+ if (media_info->i.minfo) {
+ IF_FREE(media_info->i.minfo->media_id);
+ IF_FREE(media_info->i.minfo->title);
+ IF_FREE(media_info->i.minfo->album);
+ IF_FREE(media_info->i.minfo->artist);
+ IF_FREE(media_info->i.minfo->genre);
+ IF_FREE(media_info->i.minfo->date);
+ IF_FREE(media_info->i.minfo->composer);
+ IF_FREE(media_info->i.minfo->year);
+ IF_FREE(media_info->i.minfo->copyright);
+ IF_FREE(media_info->i.minfo->track_num);
+ IF_FREE(media_info->i.minfo->format);
+ IF_FREE(media_info->i.minfo->file_path);
+ IF_FREE(media_info->i.minfo->thumbnail_path);
+ IF_FREE(media_info->i.minfo->display_name);
+ free(media_info->i.minfo);
+ }
+
+ free(media_info);
+ return 0;
+}
+
+bool mp_media_info_uri_is_exist_in_db(const char *file_path)
+{
+ startfunc;
+ int res = MEDIA_CONTENT_ERROR_NONE;
+ mp_filter_h filter = NULL;
+ char sql[MAX_NAM_LEN] = { 0, };
+ char *cond = NULL;
+ bool exist = false;
+ int count = 0;
+
+ res = media_filter_create(&filter);
+ MP_CHECK_VAL(res == MEDIA_CONTENT_ERROR_NONE, res);
+ _mp_media_info_sql_strncat(sql, file_path, STRNCAT_LEN(sql));
+ cond = g_strdup_printf("MEDIA_PATH = '%s'", sql);
+
+ media_filter_set_condition(filter, cond, MEDIA_CONTENT_COLLATE_NOCASE);
+ IF_FREE(cond);
+
+ media_filter_set_offset(filter, 0, 1);
+
+ res = media_info_get_media_count_from_db(filter, &count);
+ media_filter_destroy(filter);
+
+ MP_CHECK_FALSE(res == MEDIA_CONTENT_ERROR_NONE);
+
+ if (count > 0) {
+ exist = true;
+ }
+
+ return exist;
+}
+
+int mp_media_info_get_media_id(mp_media_info_h media, char **media_id)
+{
+ MP_CHECK_VAL(media, -1);
+ MP_CHECK_VAL(media->i.minfo, -1);
+ int res = MEDIA_CONTENT_ERROR_NONE;
+
+ if (!media->i.minfo->media_id) {
+ res =
+ media_info_get_media_id(media->h.media,
+ &media->i.minfo->media_id);
+ if (res != MEDIA_CONTENT_ERROR_NONE) {
+ ERROR_TRACE("Error code 0x%x", res);
+ }
+ }
+ *media_id = media->i.minfo->media_id;
+ PRINT_STR(*media_id);
+
+ return res;
+}
+
+int mp_media_info_get_file_path(mp_media_info_h media, char **path)
+{
+ MP_CHECK_VAL(media, -1);
+ MP_CHECK_VAL(media->i.minfo, -1);
+ int res = MEDIA_CONTENT_ERROR_NONE;
+
+ if (!media->i.minfo->file_path) {
+ res =
+ media_info_get_file_path(media->h.media,
+ &media->i.minfo->file_path);
+ if (res != MEDIA_CONTENT_ERROR_NONE) {
+ ERROR_TRACE("Error code 0x%x", res);
+ }
+ }
+ *path = media->i.minfo->file_path;
+ PRINT_STR(*path);
+ return res;
+}
+
+int mp_media_info_get_thumbnail_path(mp_media_info_h media, char **path)
+{
+ MP_CHECK_VAL(media, -1);
+ MP_CHECK_VAL(media->i.minfo, -1);
+ int res = MEDIA_CONTENT_ERROR_NONE;
+
+ if (media->i.minfo->thumbnail_path) {
+ IF_FREE(media->i.minfo->thumbnail_path);
+ }
+ res =
+ __mp_media_info_get_thumbnail_path(media->h.media,
+ &media->i.minfo->
+ thumbnail_path);
+ *path = media->i.minfo->thumbnail_path;
+ PRINT_STR(*path);
+ return res;
+}
+
+int mp_media_info_get_favorite(mp_media_info_h media, bool * favorite)
+{
+ MP_CHECK_VAL(media, -1);
+
+ int res = media_info_get_favorite(media->h.media, favorite);
+ if (res != MEDIA_CONTENT_ERROR_NONE) {
+ ERROR_TRACE("Error code 0x%x", res);
+ }
+ return res;
+}
+
+int mp_media_info_is_drm(mp_media_info_h media, bool * drm)
+{
+ MP_CHECK_VAL(media, -1);
+ int res = media_info_is_drm(media->h.media, drm);
+ if (res != MEDIA_CONTENT_ERROR_NONE) {
+ ERROR_TRACE("Error code 0x%x", res);
+ }
+ return res;
+}
+
+int mp_media_info_get_media_type(mp_media_info_h media, int *media_type)
+{
+ int res = MEDIA_CONTENT_ERROR_NONE;
+ MP_CHECK_VAL(media, -1);
+ MP_CHECK_VAL(media->h.media, -1);
+
+ media_content_type_e mtype;
+
+ res = media_info_get_media_type(media->h.media, &mtype);
+ if (res != MEDIA_CONTENT_ERROR_NONE) {
+ ERROR_TRACE("Error code 0x%x", res);
+ }
+
+ if (mtype == MEDIA_CONTENT_TYPE_SOUND) {
+ *media_type = MP_MEDIA_TYPE_SOUND;
+ } else {
+ *media_type = MP_MEDIA_TYPE_MUSIC;
+ }
+
+ return res;
+}
+
+int mp_media_info_get_display_name(mp_media_info_h media,
+ char **display_name)
+{
+ MP_CHECK_VAL(media, -1);
+ MP_CHECK_VAL(media->i.minfo, -1);
+ int res = MEDIA_CONTENT_ERROR_NONE;
+
+ if (!media->i.minfo->display_name) {
+ res =
+ media_info_get_display_name(media->h.media,
+ &media->i.minfo->display_name);
+ if (res != MEDIA_CONTENT_ERROR_NONE) {
+ ERROR_TRACE("Error code 0x%x", res);
+ }
+ }
+ *display_name = media->i.minfo->display_name;
+ PRINT_STR(*display_name);
+ return res;
+}
+
+int mp_media_info_get_title(mp_media_info_h media, char **title)
+{
+ int res = MEDIA_CONTENT_ERROR_NONE;
+ MP_CHECK_VAL(media, -1);
+ MP_CHECK_VAL(media->h.media, -1);
+ MP_CHECK_VAL(media->i.minfo, -1);
+
+ if (!media->i.minfo->title) {
+ res = media_info_get_title(media->h.media, &media->i.minfo->title);
+ if (res != MEDIA_CONTENT_ERROR_NONE) {
+ ERROR_TRACE("Error code 0x%x", res);
+ }
+ }
+ *title = media->i.minfo->title;
+ PRINT_STR(*title);
+ return res;
+}
+
+int mp_media_info_get_album(mp_media_info_h media, char **album)
+{
+ int res = MEDIA_CONTENT_ERROR_NONE;
+ MP_CHECK_VAL(media, -1);
+ MP_CHECK_VAL(media->s.meta, -1);
+ MP_CHECK_VAL(media->i.minfo, -1);
+
+ if (!media->i.minfo->album) {
+ res = audio_meta_get_album(media->s.meta, &media->i.minfo->album);
+ if (res != MEDIA_CONTENT_ERROR_NONE) {
+ ERROR_TRACE("Error code 0x%x", res);
+ }
+ }
+ *album = media->i.minfo->album;
+ PRINT_STR(*album);
+ return res;
+}
+
+int mp_media_info_get_artist(mp_media_info_h media, char **artist)
+{
+ int res = MEDIA_CONTENT_ERROR_NONE;
+ MP_CHECK_VAL(media, -1);
+ MP_CHECK_VAL(media->s.meta, -1);
+ MP_CHECK_VAL(media->i.minfo, -1);
+
+ if (!media->i.minfo->artist) {
+ res =
+ audio_meta_get_artist(media->s.meta, &media->i.minfo->artist);
+ if (res != MEDIA_CONTENT_ERROR_NONE) {
+ ERROR_TRACE("Error code 0x%x", res);
+ }
+ }
+ *artist = media->i.minfo->artist;
+ PRINT_STR(*artist);
+ return res;
+}
+
+int mp_media_info_get_recorded_date(mp_media_info_h media, char **date)
+{
+ int res = MEDIA_CONTENT_ERROR_NONE;
+ MP_CHECK_VAL(media, -1);
+ MP_CHECK_VAL(media->s.meta, -1);
+ MP_CHECK_VAL(media->i.minfo, -1);
+
+ if (!media->i.minfo->date) {
+ res =
+ audio_meta_get_recorded_date(media->s.meta,
+ &media->i.minfo->date);
+ if (res != MEDIA_CONTENT_ERROR_NONE) {
+ ERROR_TRACE("Error code 0x%x", res);
+ }
+ }
+ if (!(media->i.minfo->date)) {
+ char default_date[] = "Unknown";
+ *date = strdup(default_date);
+ } else {
+ *date = strdup(media->i.minfo->date);
+ }
+ PRINT_STR(*date);
+ return res;
+}
+
+int mp_media_info_get_genre(mp_media_info_h media, char **genre)
+{
+ int res = MEDIA_CONTENT_ERROR_NONE;
+ MP_CHECK_VAL(media, -1);
+ MP_CHECK_VAL(media->s.meta, -1);
+ MP_CHECK_VAL(media->i.minfo, -1);
+
+ if (!media->i.minfo->genre) {
+ res = audio_meta_get_genre(media->s.meta, &media->i.minfo->genre);
+ if (res != MEDIA_CONTENT_ERROR_NONE) {
+ ERROR_TRACE("Error code 0x%x", res);
+ }
+ }
+ *genre = media->i.minfo->genre;
+ PRINT_STR(*genre);
+ return res;
+}
+
+int mp_media_playlist_get_playlist_count_from_db()
+{
+ mp_filter_h filter = NULL;
+ int res = media_filter_create(&filter);
+ ERROR_TRACE("media filter %d", res);
+ int count = 0;
+ res = media_playlist_get_playlist_count_from_db(filter, &count);
+ if (res == 0) {
+ ERROR_TRACE("successful");
+ }
+ media_filter_destroy(filter);
+ ERROR_TRACE("%d the count is", count);
+ return count;
+}
+
+int mp_media_info_get_composer(mp_media_info_h media, char **composer)
+{
+ int res = MEDIA_CONTENT_ERROR_NONE;
+ MP_CHECK_VAL(media, -1);
+ MP_CHECK_VAL(media->s.meta, -1);
+ MP_CHECK_VAL(media->i.minfo, -1);
+
+ if (!media->i.minfo->composer) {
+ res =
+ audio_meta_get_composer(media->s.meta,
+ &media->i.minfo->composer);
+ if (res != MEDIA_CONTENT_ERROR_NONE) {
+ ERROR_TRACE("Error code 0x%x", res);
+ }
+ }
+ *composer = media->i.minfo->composer;
+ PRINT_STR(*composer);
+ return res;
+}
+
+int mp_media_info_get_year(mp_media_info_h media, char **year)
+{
+ int res = MEDIA_CONTENT_ERROR_NONE;
+ MP_CHECK_VAL(media, -1);
+ MP_CHECK_VAL(media->s.meta, -1);
+ MP_CHECK_VAL(media->i.minfo, -1);
+
+ if (!media->i.minfo->year) {
+ res = audio_meta_get_year(media->s.meta, &media->i.minfo->year);
+ if (res != MEDIA_CONTENT_ERROR_NONE) {
+ ERROR_TRACE("Error code 0x%x", res);
+ return res;
+ }
+ }
+ if (!g_strcmp0(media->i.minfo->year, "Unknown")) {
+ char *default_year = g_strdup("2014");
+ strncpy(media->i.minfo->year, default_year, (strlen(default_year) + 1));
+ IF_G_FREE(default_year);
+ }
+ if (media->i.minfo->year) {
+ *year = media->i.minfo->year;
+ PRINT_STR(*year);
+ }
+ return res;
+}
+
+int mp_media_info_get_copyright(mp_media_info_h media, char **copyright)
+{
+ int res = MEDIA_CONTENT_ERROR_NONE;
+ MP_CHECK_VAL(media, -1);
+ MP_CHECK_VAL(media->s.meta, -1);
+ MP_CHECK_VAL(media->i.minfo, -1);
+
+ if (!media->i.minfo->copyright) {
+ res =
+ audio_meta_get_copyright(media->s.meta,
+ &media->i.minfo->copyright);
+ if (res != MEDIA_CONTENT_ERROR_NONE) {
+ ERROR_TRACE("Error code 0x%x", res);
+ }
+ }
+ *copyright = media->i.minfo->copyright;
+ PRINT_STR(*copyright);
+ return res;
+}
+
+int mp_media_info_get_track_num(mp_media_info_h media, char **track_num)
+{
+ int res = MEDIA_CONTENT_ERROR_NONE;
+ MP_CHECK_VAL(media, -1);
+ MP_CHECK_VAL(media->s.meta, -1);
+ MP_CHECK_VAL(media->i.minfo, -1);
+
+ if (!media->i.minfo->track_num) {
+ res =
+ audio_meta_get_track_num(media->s.meta,
+ &media->i.minfo->track_num);
+ if (res != MEDIA_CONTENT_ERROR_NONE) {
+ ERROR_TRACE("Error code 0x%x", res);
+ }
+ }
+ *track_num = media->i.minfo->track_num;
+ PRINT_STR(*track_num);
+ return res;
+}
+
+int mp_media_info_get_format(mp_media_info_h media, char **format)
+{
+ int res = MEDIA_CONTENT_ERROR_NONE;
+ MP_CHECK_VAL(media, -1);
+ MP_CHECK_VAL(media->s.meta, -1);
+ MP_CHECK_VAL(media->i.minfo, -1);
+
+ int bit_rate = 0;
+ int sample_rate = 0;
+ int channel = 0;
+
+ if (!media->i.minfo->format) {
+ res = audio_meta_get_sample_rate(media->s.meta, &sample_rate);
+ if (res != MEDIA_CONTENT_ERROR_NONE) {
+ ERROR_TRACE("Error code 0x%x", res);
+ }
+ res = audio_meta_get_bit_rate(media->s.meta, &bit_rate);
+ if (res != MEDIA_CONTENT_ERROR_NONE) {
+ ERROR_TRACE("Error code 0x%x", res);
+ }
+ res = audio_meta_get_channel(media->s.meta, &channel);
+ if (res != MEDIA_CONTENT_ERROR_NONE) {
+ ERROR_TRACE("Error code 0x%x", res);
+ }
+
+ media->i.minfo->format =
+ g_strdup_printf("%dKbps %.1fKHz %dch", bit_rate / 1000,
+ sample_rate / 1000.0, channel);
+ }
+ *format = media->i.minfo->format;
+ PRINT_STR(*format);
+ return res;
+}
+
+int mp_media_info_get_bit_rate(mp_media_info_h media, int *bitrate)
+{
+ int res = MEDIA_CONTENT_ERROR_NONE;
+ MP_CHECK_VAL(media, -1);
+ MP_CHECK_VAL(media->s.meta, -1);
+
+ res = audio_meta_get_bit_rate(media->s.meta, bitrate);
+ if (res != MEDIA_CONTENT_ERROR_NONE) {
+ ERROR_TRACE("Error code 0x%x", res);
+ }
+ return res;
+}
+
+int mp_media_info_get_bitpersample(mp_media_info_h media,
+ int *bitpersample)
+{
+ int res = MEDIA_CONTENT_ERROR_NONE;
+ MP_CHECK_VAL(media, -1);
+ MP_CHECK_VAL(media->s.meta, -1);
+ MP_CHECK_VAL(bitpersample, -1);
+
+ res = audio_meta_get_bitpersample(media->s.meta, bitpersample);
+ if (res != MEDIA_CONTENT_ERROR_NONE) {
+ ERROR_TRACE("Error code 0x%x", res);
+ }
+ if (*bitpersample == 0) { //get 0 except wav/flac, show 16
+ *bitpersample = 16;
+ }
+ return res;
+}
+
+int mp_media_info_get_sample_rate(mp_media_info_h media, int *sample_rate)
+{
+ int res = MEDIA_CONTENT_ERROR_NONE;
+ MP_CHECK_VAL(media, -1);
+ MP_CHECK_VAL(media->s.meta, -1);
+
+ res = audio_meta_get_sample_rate(media->s.meta, sample_rate);
+ if (res != MEDIA_CONTENT_ERROR_NONE) {
+ ERROR_TRACE("Error code 0x%x", res);
+ }
+ return res;
+}
+
+int mp_media_info_get_duration(mp_media_info_h media, int *duration)
+{
+ int res = MEDIA_CONTENT_ERROR_NONE;
+ MP_CHECK_VAL(media, -1);
+ MP_CHECK_VAL(media->s.meta, -1);
+
+ res = audio_meta_get_duration(media->s.meta, duration);
+ if (res != MEDIA_CONTENT_ERROR_NONE) {
+ ERROR_TRACE("Error code 0x%x", res);
+ }
+
+ if (*duration < 0) {
+ *duration = 0;
+ }
+
+ return res;
+}
+
+int mp_media_info_get_added_time(mp_media_info_h media, time_t * time)
+{
+ int res = MEDIA_CONTENT_ERROR_NONE;
+ MP_CHECK_VAL(media, -1);
+ MP_CHECK_VAL(media->h.media, -1);
+
+ res = media_info_get_added_time(media->h.media, time);
+ if (res != MEDIA_CONTENT_ERROR_NONE) {
+ ERROR_TRACE("Error code 0x%x", res);
+ return res;
+ }
+
+ return res;
+}
+
+int mp_media_info_get_playlist_member_id(mp_media_info_h media,
+ int *member_id)
+{
+ int res = MEDIA_CONTENT_ERROR_NONE;
+ MP_CHECK_VAL(media, -1);
+ MP_CHECK_VAL(media->i.minfo, -1);
+
+ *member_id = media->i.minfo->playlist_member_id;
+ return res;
+}
+
+int mp_media_info_get_storage_type(mp_media_info_h media,
+ mp_storage_type_e * storage_type)
+{
+ int res = MEDIA_CONTENT_ERROR_NONE;
+
+ MP_CHECK_VAL(media, -1);
+ MP_CHECK_VAL(media->h.media, -1);
+
+ *storage_type = MP_STORAGE_INTERNAL_EX;
+ return res;
+}
+
+int mp_media_info_set_favorite_media_db_only(mp_media_info_h media,
+ bool favorite)
+{
+ int res = MEDIA_CONTENT_ERROR_NONE;
+ MP_CHECK_VAL(media, -1);
+ MP_CHECK_VAL(media->h.media, -1);
+
+ res = media_info_set_favorite(media->h.media, favorite);
+ if (res != MEDIA_CONTENT_ERROR_NONE) {
+ ERROR_TRACE("Error code 0x%x", res);
+ return res;
+ }
+
+ res = media_info_update_to_db(media->h.media);
+ if (res != MEDIA_CONTENT_ERROR_NONE) {
+ ERROR_TRACE("Error code 0x%x", res);
+ }
+
+ return res;
+}
+
+int mp_media_info_set_favorite(mp_media_info_h media, bool favorite)
+{
+ MP_CHECK_VAL(media, -1);
+ MP_CHECK_VAL(media->h.media, -1);
+
+ int res = mp_media_info_set_favorite_media_db_only(media, favorite);
+
+ return res;
+}
+
+/*int mp_media_info_set_added_time(mp_media_info_h media, time_t time)
+{
+ int res = MEDIA_CONTENT_ERROR_NONE;
+ MP_CHECK_VAL(media, -1);
+ MP_CHECK_VAL(media->h.media, -1);
+
+ res = media_info_set_added_time(media->h.media, time); // API depricated
+ if (res != MEDIA_CONTENT_ERROR_NONE) {
+ ERROR_TRACE("Error code 0x%x", res);
+ return res;
+ }
+ res = media_info_update_to_db(media->h.media);
+ if (res != MEDIA_CONTENT_ERROR_NONE) {
+ ERROR_TRACE("Error code 0x%x", res);
+ }
+ return res;
+}*/
+
+int mp_media_info_group_list_count(mp_group_type_e group_type,
+ const char *type_string,
+ const char *filter_string, int *count)
+{
+ mp_filter_h filter = NULL;
+ int res = MEDIA_CONTENT_ERROR_NONE;
+
+ res = media_filter_create(&filter);
+ MP_CHECK_VAL(res == MEDIA_CONTENT_ERROR_NONE, res);
+ DEBUG_TRACE("group_type: %d, type_string:%s, filter_string:%s",
+ group_type, type_string, filter_string);
+
+ __mp_media_info_set_group_filter(filter, group_type, type_string,
+ filter_string);
+
+ res =
+ mp_media_info_group_list_count_w_filter(group_type, filter, count);
+ if (res != MEDIA_CONTENT_ERROR_NONE) {
+ media_filter_destroy(filter);
+ return res;
+ }
+
+ media_filter_destroy(filter);
+
+ return res;
+}
+
+int mp_media_info_group_list_count_w_filter(mp_group_type_e group_type,
+ mp_filter_h filter, int *count)
+{
+ int res = MEDIA_CONTENT_ERROR_NONE;
+ MP_CHECK_VAL(filter, -1);
+ switch (group_type) {
+ case MP_GROUP_BY_ALBUM:
+ case MP_GROUP_BY_ARTIST_ALBUM:
+ res = media_album_get_album_count_from_db(filter, count);
+ break;
+ case MP_GROUP_BY_ARTIST:
+ res =
+ media_group_get_group_count_from_db(filter,
+ MEDIA_CONTENT_GROUP_ARTIST,
+ count);
+ break;
+ case MP_GROUP_BY_GENRE:
+ res =
+ media_group_get_group_count_from_db(filter,
+ MEDIA_CONTENT_GROUP_GENRE,
+ count);
+ break;
+ case MP_GROUP_BY_FOLDER:
+ res = media_folder_get_folder_count_from_db(filter, count);
+ break;
+ case MP_GROUP_BY_YEAR:
+ res =
+ media_group_get_group_count_from_db(filter,
+ MEDIA_CONTENT_GROUP_YEAR,
+ count);
+ break;
+ case MP_GROUP_BY_COMPOSER:
+ res =
+ media_group_get_group_count_from_db(filter,
+ MEDIA_CONTENT_GROUP_COMPOSER,
+ count);
+ break;
+ case MP_GROUP_BY_PLAYLIST:
+ res = media_playlist_get_playlist_count_from_db(filter, count);
+ break;
+ default:
+ WARN_TRACE("Unhandled type: %d", group_type);
+ res = -1;
+ break;
+ }
+ if (res != MEDIA_CONTENT_ERROR_NONE) {
+ ERROR_TRACE("Error code 0x%x", res);
+ }
+
+ return res;
+}
+
+typedef struct {
+ char *info; //album, artist, folder name
+ char *album; //album name for artist list
+ int count; //track_count
+ char *thumb_path; //thumbnail of first track
+ char **album_thumnails; //thumbnail list of albums
+ int thumb_count; //album thumbnail count
+ int track_num; //tracknumber for album
+} MpCountData_t;
+
+static inline bool _folder_track_foreach_cb(media_info_h media,
+ void *user_data)
+{
+ char *path = NULL;
+ char *folder = NULL;
+ MpCountData_t *data = NULL;
+
+ media_info_get_file_path(media, &path);
+ folder = mp_file_dir_get(path);
+ IF_FREE(path);
+
+ GList **list = user_data;
+ if (!*list) {
+ data = calloc(1, sizeof(MpCountData_t));
+ if (data == NULL) {
+ IF_FREE(folder);
+ return false;
+ }
+ data->info = folder;
+ __mp_media_info_get_thumbnail_path(media, &data->thumb_path);
+
+ data->count++;
+ *list = g_list_append(*list, data);
+ //DEBUG_TRACE("folder: %s", folder);
+ return true;
+ }
+
+ *list = g_list_last(*list);
+ data = (*list)->data;
+ if (!g_strcmp0(data->info, folder)) {
+ IF_FREE(folder);
+ data->count++;
+ } else {
+ data = calloc(1, sizeof(MpCountData_t));
+ if (data == NULL) {
+ IF_FREE(folder);
+ return false;
+ }
+ data->info = folder;
+ __mp_media_info_get_thumbnail_path(media, &data->thumb_path);
+
+ data->count++;
+ *list = g_list_append(*list, data);
+ }
+ IF_FREE(folder);
+ return true;
+}
+
+static inline bool _album_track_foreach_cb(media_info_h media,
+ void *user_data)
+{
+ char *album = NULL;
+ MpCountData_t *data = NULL;
+ int res = MEDIA_CONTENT_ERROR_NONE;
+ char *track_num;
+
+ audio_meta_h audio;
+
+ res = media_info_get_audio(media, &audio);
+ if (res != MEDIA_CONTENT_ERROR_NONE) {
+ audio_meta_destroy(audio);
+ IF_FREE(album);
+ return false;
+ }
+
+ res = audio_meta_get_album(audio, &album);
+ if (res != MEDIA_CONTENT_ERROR_NONE) {
+ audio_meta_destroy(audio);
+ IF_FREE(album);
+ return false;
+ }
+
+ res = audio_meta_get_track_num(audio, &track_num);
+ if (res != MEDIA_CONTENT_ERROR_NONE) {
+ audio_meta_destroy(audio);
+ IF_FREE(album);
+ IF_FREE(track_num)
+ return false;
+ }
+
+ GList **list = user_data;
+ if (!*list) {
+ data = calloc(1, sizeof(MpCountData_t));
+ audio_meta_destroy(audio);
+ IF_FREE(track_num);
+
+ if (!data) {
+ IF_FREE(album);
+ return true;
+ }
+
+ if (data->info != NULL) {
+ free(data->info);
+ }
+ data->info = strdup(album);
+ __mp_media_info_get_thumbnail_path(media, &data->thumb_path);
+
+ data->count++;
+ *list = g_list_append(*list, data);
+ //DEBUG_TRACE("info: %s", album);
+ IF_FREE(album);
+ return true;
+ }
+
+ *list = g_list_last(*list);
+ data = (*list)->data;
+ if (data == NULL) {
+ ERROR_TRACE("data is null, audio destroyed");
+ IF_FREE(track_num);
+ IF_FREE(album);
+ audio_meta_destroy(audio);
+ return EINA_TRUE;
+ }
+ if (!g_strcmp0(data->info, album)) {
+ data->count++;
+ IF_FREE(album);
+ int track = 0;
+ if (track_num) {
+ track = atoi(track_num);
+ if (track < data->track_num) {
+ IF_FREE(data->thumb_path);
+ __mp_media_info_get_thumbnail_path(media,
+ &data->thumb_path);
+ }
+ free(track_num);
+ }
+ } else {
+ data = calloc(1, sizeof(MpCountData_t));
+ if (data == NULL) {
+ ERROR_TRACE("data is null, audio destroyed");
+ IF_FREE(track_num);
+ IF_FREE(album);
+ audio_meta_destroy(audio);
+ return EINA_TRUE;
+ }
+
+ if (data->info != NULL) {
+ free(data->info);
+ }
+ data->info = strdup(album);
+ __mp_media_info_get_thumbnail_path(media, &data->thumb_path);
+
+ data->count++;
+ *list = g_list_append(*list, data);
+
+ if (track_num) {
+ data->track_num = atoi(track_num);
+ free(track_num);
+ }
+ }
+ IF_FREE(album);
+ audio_meta_destroy(audio);
+ return true;
+}
+
+static inline bool _artist_track_foreach_cb(media_info_h media,
+ void *user_data)
+{
+ char *album = NULL, *artist = NULL;
+ MpCountData_t *data = NULL;
+ int res = MEDIA_CONTENT_ERROR_NONE;
+
+ audio_meta_h audio;
+
+ res = media_info_get_audio(media, &audio);
+ if (res != MEDIA_CONTENT_ERROR_NONE) {
+ audio_meta_destroy(audio);
+ return false;
+ }
+
+ res = audio_meta_get_album(audio, &album);
+ if (res != MEDIA_CONTENT_ERROR_NONE) {
+ audio_meta_destroy(audio);
+ IF_FREE(album);
+ return false;
+ }
+
+ res = audio_meta_get_artist(audio, &artist);
+ if (res != MEDIA_CONTENT_ERROR_NONE) {
+ audio_meta_destroy(audio);
+ IF_FREE(artist);
+ IF_FREE(album);
+ return false;
+ }
+
+ GList **list = user_data;
+ if (!*list) {
+ audio_meta_destroy(audio);
+ data = calloc(1, sizeof(MpCountData_t));
+ if (data == NULL) {
+ IF_FREE(album);
+ IF_FREE(artist);
+ return EINA_TRUE;
+ }
+ if (data->info != NULL) {
+ free(data->info);
+ }
+ if (data->album != NULL) {
+ free(data->album);
+ }
+ data->info = strdup(artist);
+ data->album = strdup(album);
+ data->album_thumnails = calloc(1, sizeof(char *));
+ __mp_media_info_get_thumbnail_path(media,
+ &(data->
+ album_thumnails[data->
+ thumb_count]));
+ data->thumb_count++;
+
+ data->count++;
+ *list = g_list_append(*list, data);
+
+ IF_FREE(artist);
+ IF_FREE(album);
+ return true;
+ }
+
+ *list = g_list_last(*list);
+ data = (*list)->data;
+ if (data == NULL) {
+ ERROR_TRACE("data is null, audio destroyed");
+ IF_FREE(album);
+ IF_FREE(artist);
+ audio_meta_destroy(audio);
+ return EINA_TRUE;
+ }
+ if (!g_strcmp0(data->info, artist)) {
+ data->count++;
+ if (g_strcmp0(data->album, album)) {
+ if (data->album != NULL) {
+ free(data->album);
+ }
+ data->album = strdup(album);
+ data->album_thumnails =
+ realloc(data->album_thumnails,
+ sizeof(char *) * (data->thumb_count + 1));
+ __mp_media_info_get_thumbnail_path(media,
+ &(data->
+ album_thumnails[data->
+ thumb_count]));
+ data->thumb_count++;
+ IF_FREE(album);
+ } else {
+ IF_FREE(album);
+ }
+
+ IF_FREE(artist);
+ } else {
+ data = calloc(1, sizeof(MpCountData_t));
+ if (data == NULL) {
+ IF_FREE(album);
+ IF_FREE(artist);
+ audio_meta_destroy(audio);
+ return EINA_TRUE;
+ };
+ if (data->info != NULL) {
+ free(data->info);
+ }
+ if (data->album != NULL) {
+ free(data->album);
+ }
+ data->info = strdup(artist);
+ data->album = strdup(album);
+ data->album_thumnails = calloc(1, sizeof(char *));
+ __mp_media_info_get_thumbnail_path(media,
+ &(data->
+ album_thumnails[data->
+ thumb_count]));
+ data->thumb_count++;
+
+ data->count++;
+ *list = g_list_append(*list, data);
+ IF_FREE(artist);
+ IF_FREE(album);
+ }
+
+ audio_meta_destroy(audio);
+ return true;
+}
+
+static void
+_mp_media_info_set_group_extra_info(mp_media_list_h media_list,
+ mp_group_type_e group_type,
+ const char *type_string,
+ const char *filter_string)
+{
+ mp_filter_h filter = NULL;
+ char cond[MAX_FILTER_LEN] = { 0, };
+
+ GList *list = NULL;
+ GList *node = NULL;
+ int res = MEDIA_CONTENT_ERROR_NONE;
+
+ media_info_cb media_foreach_cb = NULL;
+
+ res = media_filter_create(&filter);
+ MP_CHECK(res == MEDIA_CONTENT_ERROR_NONE);
+
+ strncat(cond, MP_MEDIA_TYPE, STRNCAT_LEN(cond));
+
+ //create track list
+ switch (group_type) {
+ case MP_GROUP_BY_ALBUM:
+ media_filter_set_order(filter, MEDIA_CONTENT_ORDER_ASC,
+ MEDIA_ALBUM, MEDIA_CONTENT_COLLATE_NOCASE);
+ media_foreach_cb = _album_track_foreach_cb;
+ break;
+ case MP_GROUP_BY_ARTIST:
+ media_filter_set_order(filter, MEDIA_CONTENT_ORDER_ASC,
+ "MEDIA_ARTIST, MEDIA_ALBUM",
+ MEDIA_CONTENT_COLLATE_NOCASE);
+ media_foreach_cb = _artist_track_foreach_cb;
+ break;
+ case MP_GROUP_BY_GENRE:
+ break;
+ case MP_GROUP_BY_FOLDER:
+ media_filter_set_order(filter, MEDIA_CONTENT_ORDER_ASC,
+ "folder_uuid",
+ MEDIA_CONTENT_COLLATE_NOCASE);
+ media_foreach_cb = _folder_track_foreach_cb;
+ break;
+ default:
+ WARN_TRACE("Unsupported type: %d", group_type);
+ media_filter_destroy(filter);
+ return;
+ }
+ media_filter_set_condition(filter, cond, MEDIA_CONTENT_COLLATE_NOCASE);
+ res =
+ media_info_foreach_media_from_db(filter, media_foreach_cb, &list);
+ media_filter_destroy(filter);
+ MP_CHECK(res == MEDIA_CONTENT_ERROR_NONE);
+
+ int i = 0;
+ mp_media_info_h media = NULL;
+ MpCountData_t *data;
+ do {
+ list = node = g_list_first(list);
+ media = mp_media_info_group_list_nth_item(media_list, i++);
+ if (media) {
+ char *info = NULL;
+ int ret = MEDIA_CONTENT_ERROR_NONE;
+ if (group_type != MP_GROUP_BY_FOLDER) {
+ ret = mp_media_info_group_get_main_info(media, &info);
+ } else {
+ ret = mp_media_info_group_get_sub_info(media, &info);
+ }
+ if (ret != MEDIA_CONTENT_ERROR_NONE) {
+ ERROR_TRACE("Get group info error");
+ }
+ while (node) {
+ data = node->data;
+ if (!g_strcmp0(data->info, info)) {
+ media->i.ginfo->track_count = data->count;
+ if (data->thumb_path) {
+ media->i.ginfo->thumb_path = data->thumb_path;
+ } else if (data->album_thumnails && data->thumb_count) {
+ media->i.ginfo->thumb_path =
+ g_strdup(data->album_thumnails[0]);
+ }
+
+ media->i.ginfo->album_thumb_paths =
+ data->album_thumnails;
+ media->i.ginfo->album_count = data->thumb_count;
+
+ IF_FREE(data->info);
+ IF_FREE(data->album);
+ free(data);
+ list = g_list_delete_link(list, node);
+ break;
+ }
+ node = g_list_next(node);
+ }
+
+ }
+ } while (media);
+
+ if (list) {
+ ERROR_TRACE("Shouldn't be here...");
+ while (list) {
+ data = list->data;
+ ERROR_TRACE("This item not matched...: %s", data->info);
+ IF_FREE(data->info);
+ IF_FREE(data->album);
+ IF_FREE(data->thumb_path);
+
+ while (data->thumb_count) {
+ data->thumb_count--;
+ IF_FREE(data->album_thumnails[data->thumb_count]);
+ }
+ IF_FREE(data->album_thumnails);
+
+ free(data);
+ list = g_list_next(list);
+ }
+
+ g_list_free(list);
+ }
+
+}
+
+static int
+_mp_media_info_set_extra_info(mp_media_list_h media_list,
+ mp_group_type_e group_type,
+ const char *type_string,
+ const char *filter_string)
+{
+ _mp_media_info_set_group_extra_info(media_list, group_type,
+ type_string, filter_string);
+ return 0;
+}
+
+int mp_media_info_group_list_create(mp_media_list_h * media_list,
+ mp_group_type_e group_type,
+ const char *type_string,
+ const char *filter_string, int offset,
+ int count)
+{
+ mp_filter_h filter = NULL;
+ int res = MEDIA_CONTENT_ERROR_NONE;
+
+ if (group_type != MP_GROUP_BY_SYS_PLAYLIST) {
+ res = media_filter_create(&filter);
+ MP_CHECK_VAL(res == MEDIA_CONTENT_ERROR_NONE, res);
+ media_filter_set_offset(filter, offset, count);
+
+ __mp_media_info_set_group_filter(filter, group_type, type_string,
+ filter_string);
+
+ res =
+ mp_media_info_group_list_create_w_filter(filter, group_type,
+ media_list);
+ media_filter_destroy(filter);
+ MP_CHECK_VAL(res == MEDIA_CONTENT_ERROR_NONE, res);
+
+ _mp_media_info_set_extra_info(*media_list, group_type, type_string,
+ filter_string);
+ } else {
+
+ int i;
+ mp_media_info_h media_info = NULL;
+ *media_list = calloc(1, sizeof(struct mp_media_list_s));
+ MP_CHECK_VAL(*media_list, -1);
+ (*media_list)->group_type = group_type;
+
+ char names[][50] = { STR_MP_FAVOURITES, STR_MP_RECENTLY_ADDED, STR_MP_MOST_PLAYED,
+ STR_MP_RECENTLY_PLAYED };
+
+ char thumb[][4096] = { THUMBNAIL_QUICK_LIST, THUMBNAIL_RECENTLY_ADDED,
+ THUMBNAIL_MOST_PLAYED, THUMBNAIL_RECENTLY_PLAYED };
+
+ for (i = 0; i < 4; i++) {
+ media_info = calloc(1, sizeof(struct mp_media_info_s));
+ MP_CHECK_FALSE(media_info);
+
+ media_info->i.ginfo = calloc(1, sizeof(struct mp_ginfo_s));
+ if (!media_info->i.ginfo) {
+ SAFE_FREE(media_info);
+ return FALSE;
+ }
+
+ media_info->i.ginfo->main_info = g_strdup(names[i]);
+ media_info->i.ginfo->thumb_path = g_strdup(thumb[i]);
+ media_info->s.group_type = group_type;
+ (*media_list)->list =
+ g_list_append((*media_list)->list, media_info);
+ }
+ (*media_list)->count = g_list_length((*media_list)->list);
+
+ }
+ return res;
+}
+
+int mp_media_info_group_list_create_w_filter(mp_filter_h filter,
+ mp_group_type_e group_type,
+ mp_media_list_h * media_list)
+{
+ MP_CHECK_VAL(media_list, -1);
+
+ *media_list = calloc(1, sizeof(struct mp_media_list_s));
+ MP_CHECK_VAL(*media_list, -1);
+ (*media_list)->group_type = group_type;
+
+ int res = MEDIA_CONTENT_ERROR_NONE;
+ switch (group_type) {
+ case MP_GROUP_BY_ALBUM:
+ case MP_GROUP_BY_ARTIST_ALBUM:
+ res =
+ media_album_foreach_album_from_db(filter, __mp_media_album_cb,
+ *media_list);
+ break;
+ case MP_GROUP_BY_ARTIST:
+ res =
+ media_group_foreach_group_from_db(filter,
+ MEDIA_CONTENT_GROUP_ARTIST,
+ __mp_media_group_cb,
+ *media_list);
+ break;
+ case MP_GROUP_BY_GENRE:
+ res =
+ media_group_foreach_group_from_db(filter,
+ MEDIA_CONTENT_GROUP_GENRE,
+ __mp_media_group_cb,
+ *media_list);
+ break;
+ case MP_GROUP_BY_FOLDER:
+ res =
+ media_folder_foreach_folder_from_db(filter,
+ __mp_media_folder_cb,
+ *media_list);
+ break;
+ case MP_GROUP_BY_YEAR:
+ res =
+ media_group_foreach_group_from_db(filter,
+ MEDIA_CONTENT_GROUP_YEAR,
+ __mp_media_group_cb,
+ *media_list);
+ break;
+ case MP_GROUP_BY_COMPOSER:
+ res =
+ media_group_foreach_group_from_db(filter,
+ MEDIA_CONTENT_GROUP_COMPOSER,
+ __mp_media_group_cb,
+ *media_list);
+ break;
+ case MP_GROUP_BY_PLAYLIST:
+ res =
+ media_playlist_foreach_playlist_from_db(filter,
+ __mp_media_playlist_cb,
+ *media_list);
+ break;
+ default:
+ WARN_TRACE("Unhandled type: %d", group_type);
+ res = -1;
+ break;
+ }
+ if (res != MEDIA_CONTENT_ERROR_NONE) {
+ ERROR_TRACE("Error code 0x%x", res);
+ free(*media_list);
+ *media_list = NULL;
+ } else {
+ (*media_list)->list = g_list_reverse((*media_list)->list);
+ (*media_list)->count = g_list_length((*media_list)->list);
+ }
+
+ return res;
+}
+
+int mp_media_info_group_list_destroy(mp_media_list_h media_list)
+{
+ MP_CHECK_VAL(media_list, -1);
+ g_list_free_full(media_list->list, __mp_media_group_destory);
+ IF_FREE(media_list->distinct_check);
+ free(media_list);
+ return 0;
+}
+
+mp_media_info_h mp_media_info_group_list_nth_item(mp_media_list_h
+ media_list, int index)
+{
+ MP_CHECK_NULL(media_list);
+ MP_CHECK_NULL(index < media_list->count);
+
+ return g_list_nth_data(media_list->list, index);
+}
+
+
+int mp_media_info_group_get_type(mp_media_info_h media,
+ mp_group_type_e * group_type)
+{
+ MP_CHECK_VAL(media, -1);
+ MP_CHECK_VAL(group_type, -1);
+
+ *group_type = media->s.group_type;
+ return MEDIA_CONTENT_ERROR_NONE;
+}
+
+int mp_media_info_group_get_main_info(mp_media_info_h media,
+ char **main_info)
+{
+ int res = MEDIA_CONTENT_ERROR_NONE;
+
+ MP_CHECK_VAL(main_info, -1);
+ MP_CHECK_VAL(media, -1);
+ MP_CHECK_VAL(media->i.ginfo, -1);
+ if (!media->i.ginfo->main_info
+ && media->s.group_type != MP_GROUP_BY_SYS_PLAYLIST) {
+ if (media->s.group_type == MP_GROUP_BY_FOLDER) {
+ res =
+ media_folder_get_name(media->h.group,
+ &media->i.ginfo->main_info);
+ } else if (media->s.group_type == MP_GROUP_BY_ALBUM
+ || media->s.group_type == MP_GROUP_BY_ARTIST_ALBUM) {
+ res =
+ media_album_get_name(media->h.group,
+ &media->i.ginfo->main_info);
+ } else if (media->s.group_type == MP_GROUP_BY_PLAYLIST) {
+ res =
+ media_playlist_get_name(media->h.group,
+ &media->i.ginfo->main_info);
+ } else {
+ media->i.ginfo->main_info = g_strdup(media->h.group);
+ }
+ }
+ *main_info = g_strdup(media->i.ginfo->main_info);
+ PRINT_STR(*main_info);
+ return res;
+}
+
+int mp_media_info_group_get_sub_info(mp_media_info_h media,
+ char **sub_info)
+{
+ int res = MEDIA_CONTENT_ERROR_NONE;
+
+ MP_CHECK_VAL(sub_info, -1);
+ MP_CHECK_VAL(media, -1);
+ MP_CHECK_VAL(media->i.ginfo, -1);
+ if (!media->i.ginfo->sub_info
+ && media->s.group_type != MP_GROUP_BY_SYS_PLAYLIST) {
+ if (media->s.group_type == MP_GROUP_BY_FOLDER) {
+ res =
+ media_folder_get_path(media->h.group,
+ &media->i.ginfo->sub_info);
+ } else if (media->s.group_type == MP_GROUP_BY_ALBUM
+ || media->s.group_type == MP_GROUP_BY_ARTIST_ALBUM) {
+ res =
+ media_album_get_artist(media->h.group,
+ &media->i.ginfo->sub_info);
+ }
+ }
+ *sub_info = media->i.ginfo->sub_info;
+ PRINT_STR(*sub_info);
+ return res;
+}
+
+int mp_media_info_group_get_playlist_id(mp_media_info_h media,
+ int *playlist_id)
+{
+ int res = MEDIA_CONTENT_ERROR_NONE;
+
+ MP_CHECK_VAL(playlist_id, -1);
+ MP_CHECK_VAL(media, -1);
+ MP_CHECK_VAL(media->s.group_type == MP_GROUP_BY_PLAYLIST
+ || media->s.group_type == MP_GROUP_BY_SYS_PLAYLIST, -1);
+
+ if (media->s.group_type == MP_GROUP_BY_SYS_PLAYLIST) {
+ *playlist_id =
+ mp_media_info_get_auto_playlist_id_by_name(media->i.ginfo->
+ main_info);
+ } else {
+ res = media_playlist_get_playlist_id(media->h.group, playlist_id);
+ }
+ PRINT_INT(*playlist_id);
+ return res;
+}
+
+int mp_media_info_group_get_folder_id(mp_media_info_h media,
+ char **folder_id)
+{
+ int res = MEDIA_CONTENT_ERROR_NONE;
+
+ MP_CHECK_VAL(folder_id, -1);
+ MP_CHECK_VAL(media, -1);
+ MP_CHECK_VAL(media->s.group_type == MP_GROUP_BY_FOLDER, -1);
+
+ res = media_folder_get_folder_id(media->h.group, folder_id);
+ PRINT_INT(*folder_id);
+ return res;
+}
+
+int mp_media_info_group_get_thumbnail_path(mp_media_info_h media,
+ char **path)
+{
+ int res = MEDIA_CONTENT_ERROR_NONE;
+
+ MP_CHECK_VAL(path, -1);
+ MP_CHECK_VAL(media, -1);
+ MP_CHECK_VAL(media->i.ginfo, -1);
+ char *folde_id = NULL;
+ if (!media->i.ginfo->thumb_path) {
+
+ filter_h filter;
+ mp_media_list_h list = NULL;
+ mp_media_info_h minfo = NULL;
+ char *type_string = NULL;
+ char cond[MAX_FILTER_LEN] = { 0, };
+ int count = 0;
+
+ mp_media_info_group_get_main_info(media, &type_string);
+
+ res = media_filter_create(&filter);
+ if (res != MEDIA_CONTENT_ERROR_NONE) {
+ mp_error("media_filter_create:error=%d", res);
+ IF_FREE(folde_id);
+ IF_FREE(type_string);
+ return res;
+ }
+
+ strncat(cond, MP_MEDIA_TYPE, STRNCAT_LEN(cond));
+ if (media->s.group_type == MP_GROUP_BY_PLAYLIST) {
+ media_filter_set_order(filter, MEDIA_CONTENT_ORDER_ASC,
+ PLAYLIST_MEMBER_ORDER,
+ MEDIA_CONTENT_COLLATE_NOCASE);
+ } else {
+ media_filter_set_order(filter, MEDIA_CONTENT_ORDER_ASC,
+ MEDIA_TITLE,
+ MEDIA_CONTENT_COLLATE_NOCASE);
+ }
+
+ if (media->s.group_type == MP_GROUP_BY_ALBUM
+ || media->s.group_type == MP_GROUP_BY_ARTIST_ALBUM) {
+ strncat(cond, " AND MEDIA_ALBUM='", STRNCAT_LEN(cond));
+ _mp_media_info_sql_strncat(cond, type_string,
+ STRNCAT_LEN(cond));
+ strncat(cond, "' AND MEDIA_THUMBNAIL_PATH is not null",
+ STRNCAT_LEN(cond));
+ media_filter_set_condition(filter, cond,
+ MEDIA_CONTENT_COLLATE_NOCASE);
+
+ mp_media_info_list_count_w_filter(MP_TRACK_ALL, NULL, 0,
+ filter, &count);
+ if (count > 0) {
+ media_filter_set_offset(filter, 0, 1);
+ mp_media_info_list_create_w_filter(MP_TRACK_ALL, NULL, 0,
+ filter, &list);
+ }
+
+ } else if (media->s.group_type == MP_GROUP_BY_ARTIST
+ && type_string) {
+ strncat(cond, " AND MEDIA_ARTIST='", STRNCAT_LEN(cond));
+ _mp_media_info_sql_strncat(cond, type_string,
+ STRNCAT_LEN(cond));
+ strncat(cond, "' AND MEDIA_THUMBNAIL_PATH is not null",
+ STRNCAT_LEN(cond));
+ media_filter_set_condition(filter, cond,
+ MEDIA_CONTENT_COLLATE_NOCASE);
+
+ mp_media_info_list_count_w_filter(MP_TRACK_ALL, NULL, 0,
+ filter, &count);
+ if (count > 0) {
+ media_filter_set_offset(filter, 0, 1);
+ mp_media_info_list_create_w_filter(MP_TRACK_ALL, NULL, 0,
+ filter, &list);
+ }
+
+ } else if (media->s.group_type == MP_GROUP_BY_GENRE && type_string) {
+ strncat(cond, " AND MEDIA_GENRE='", STRNCAT_LEN(cond));
+ _mp_media_info_sql_strncat(cond, type_string,
+ STRNCAT_LEN(cond));
+ strncat(cond, "' AND MEDIA_THUMBNAIL_PATH is not NULL",
+ STRNCAT_LEN(cond));
+ media_filter_set_condition(filter, cond,
+ MEDIA_CONTENT_COLLATE_NOCASE);
+
+ mp_media_info_list_count_w_filter(MP_TRACK_ALL, NULL, 0,
+ filter, &count);
+ if (count > 0) {
+ media_filter_set_offset(filter, 0, 1);
+ mp_media_info_list_create_w_filter(MP_TRACK_ALL, NULL, 0,
+ filter, &list);
+ }
+ } else if (media->s.group_type == MP_GROUP_BY_FOLDER) {
+ mp_media_info_group_get_folder_id(media, &folde_id);
+
+ strncat(cond, " AND MEDIA_THUMBNAIL_PATH is not NULL",
+ STRNCAT_LEN(cond));
+
+ media_filter_set_condition(filter, cond,
+ MEDIA_CONTENT_COLLATE_NOCASE);
+ mp_media_info_list_count_w_filter(MP_TRACK_BY_FOLDER, folde_id,
+ 0, filter, &count);
+ if (count > 0) {
+ media_filter_set_offset(filter, 0, 1);
+ mp_media_info_list_create_w_filter(MP_TRACK_BY_FOLDER,
+ folde_id, 0, filter,
+ &list);
+ }
+ } else if (media->s.group_type == MP_GROUP_BY_YEAR && type_string) {
+ strncat(cond, " AND MEDIA_YEAR='", STRNCAT_LEN(cond));
+ _mp_media_info_sql_strncat(cond, type_string,
+ STRNCAT_LEN(cond));
+ strncat(cond, "' AND MEDIA_THUMBNAIL_PATH is not NULL",
+ STRNCAT_LEN(cond));
+ media_filter_set_condition(filter, cond,
+ MEDIA_CONTENT_COLLATE_NOCASE);
+
+ mp_media_info_list_count_w_filter(MP_TRACK_ALL, NULL, 0,
+ filter, &count);
+ if (count > 0) {
+ media_filter_set_offset(filter, 0, 1);
+ mp_media_info_list_create_w_filter(MP_TRACK_ALL, NULL, 0,
+ filter, &list);
+ }
+ } else if (media->s.group_type == MP_GROUP_BY_COMPOSER
+ && type_string) {
+ strncat(cond, " AND MEDIA_COMPOSER='", STRNCAT_LEN(cond));
+ _mp_media_info_sql_strncat(cond, type_string,
+ STRNCAT_LEN(cond));
+ strncat(cond, "' AND MEDIA_THUMBNAIL_PATH is not NULL",
+ STRNCAT_LEN(cond));
+ media_filter_set_condition(filter, cond,
+ MEDIA_CONTENT_COLLATE_NOCASE);
+
+ mp_media_info_list_count_w_filter(MP_TRACK_ALL, NULL, 0,
+ filter, &count);
+ if (count > 0) {
+ media_filter_set_offset(filter, 0, 1);
+ mp_media_info_list_create_w_filter(MP_TRACK_ALL, NULL, 0,
+ filter, &list);
+ }
+ } else if (media->s.group_type == MP_GROUP_BY_PLAYLIST) {
+ int playlist_id = 0;
+ mp_media_info_group_get_playlist_id(media, &playlist_id);
+
+ strncat(cond, " AND MEDIA_THUMBNAIL_PATH is not NULL",
+ STRNCAT_LEN(cond));
+
+ media_filter_set_condition(filter, cond,
+ MEDIA_CONTENT_COLLATE_NOCASE);
+ mp_media_info_list_count_w_filter(MP_TRACK_BY_PLAYLIST, NULL,
+ playlist_id, filter, &count);
+ if (count > 0) {
+ media_filter_set_offset(filter, 0, 1);
+ mp_media_info_list_create_w_filter(MP_TRACK_BY_PLAYLIST,
+ NULL, playlist_id,
+ filter, &list);
+ }
+ } else {
+ WARN_TRACE("Unhandled type: %d", media->s.group_type);
+ media_filter_destroy(filter);
+ goto END;
+ }
+ WARN_TRACE("count: %d", count);
+
+ if (list) {
+ char *thumb_path = NULL;
+ minfo = mp_media_info_list_nth_item(list, 0);
+ if (!minfo) {
+ media_filter_destroy(filter);
+ IF_FREE(type_string);
+ return -1;
+ }
+ mp_media_info_get_thumbnail_path(minfo, &thumb_path);
+ media->i.ginfo->thumb_path = g_strdup(thumb_path);
+ mp_media_info_list_destroy(list);
+ }
+ media_filter_destroy(filter);
+ }
+ END:
+ IF_FREE(folde_id);
+ *path = media->i.ginfo->thumb_path;
+ PRINT_STR(*path);
+ return res;
+}
+
+int mp_media_info_group_get_track_count(mp_media_info_h media, int *count)
+{
+ MP_CHECK_VAL(media, -1);
+ if (count) {
+ *count = media->i.ginfo->track_count;
+ }
+ return 0;
+}
+
+int mp_media_info_group_get_album_thumnail_paths(mp_media_info_h media,
+ char ***thumbs,
+ int *count)
+{
+ MP_CHECK_VAL(media, -1);
+ if (thumbs) {
+ *thumbs = media->i.ginfo->album_thumb_paths;
+ }
+ if (count) {
+ *count = media->i.ginfo->album_count;
+ }
+ return 0;
+}
+
+int mp_media_info_playlist_get_thumbnail_path(mp_media_info_h media,
+ char **path)
+{
+ /*currently, it only works for playlist thumbnail update */
+ int res = MEDIA_CONTENT_ERROR_NONE;
+
+ MP_CHECK_VAL(path, -1);
+ MP_CHECK_VAL(media, -1);
+ MP_CHECK_VAL(media->i.ginfo, -1);
+
+ *path = media->i.ginfo->thumb_path;
+
+ return res;
+}
+
+int mp_media_info_playlist_set_thumbnail_path(mp_media_info_h media,
+ const char *path)
+{
+ /*currently, it only works for playlist thumbnail update */
+ int res = MEDIA_CONTENT_ERROR_NONE;
+
+ MP_CHECK_VAL(path, -1);
+ MP_CHECK_VAL(media, -1);
+ MP_CHECK_VAL(media->i.ginfo, -1);
+
+ res = media_playlist_set_thumbnail_path(media->h.group, path);
+ if (res != 0) {
+ media_playlist_destroy(media->h.group);
+ return res;
+ }
+
+ media_playlist_update_to_db(media->h.group);
+
+ IF_FREE(media->i.ginfo->thumb_path);
+ media->i.ginfo->thumb_path = g_strdup(path);
+ return res;
+}
+
+int mp_media_info_playlist_get_id_by_name(const char *playlist_name,
+ int *playlist_id)
+{
+ mp_filter_h filter = NULL;
+ mp_media_list_h list;
+ mp_media_info_h media;
+ char *cond = NULL;
+ char sql[MAX_FILTER_LEN] = { 0, };
+ int res = MEDIA_CONTENT_ERROR_NONE;
+
+ res = mp_media_filter_create(&filter);
+ MP_CHECK_VAL(res == 0, res);
+
+ _mp_media_info_sql_strncat(sql, playlist_name, STRNCAT_LEN(sql));
+ cond = g_strdup_printf("PLAYLIST_NAME = '%s'", sql);
+ if (!cond) {
+ media_filter_destroy(filter);
+ return -1;
+ }
+ res =
+ mp_media_filter_set_condition(filter, cond,
+ MP_MEDIA_CONTENT_COLLATE_DEFAULT);
+ free(cond);
+ if (res != 0) {
+ media_filter_destroy(filter);
+ return res;
+ }
+ res = mp_media_filter_set_offset(filter, 0, 1);
+ if (res != 0) {
+ media_filter_destroy(filter);
+ return res;
+ }
+
+ res =
+ mp_media_info_group_list_create_w_filter(filter,
+ MP_GROUP_BY_PLAYLIST,
+ &list);
+ mp_media_filter_destory(filter);
+ MP_CHECK_VAL(res == 0, res);
+ MP_CHECK_VAL(list, -1);
+
+ media = mp_media_info_group_list_nth_item(list, 0);
+ if (!media) {
+ mp_media_info_group_list_destroy(list);
+ return -1;
+ }
+
+ res = mp_media_info_group_get_playlist_id(media, playlist_id);
+ mp_media_info_group_list_destroy(list);
+
+ return res;
+}
+
+int mp_media_info_playlist_delete_from_db(int playlist_id)
+{
+ int res = MEDIA_CONTENT_ERROR_NONE;
+ res = media_playlist_delete_from_db(playlist_id);
+ return res;
+}
+
+int mp_media_info_playlist_handle_create(mp_playlist_h * playlist_h,
+ int playlist_id)
+{
+ int res = MEDIA_CONTENT_ERROR_NONE;
+ media_playlist_h playlist = NULL;
+ res = media_playlist_get_playlist_from_db(playlist_id, &playlist);
+ *playlist_h = (mp_playlist_h) playlist;
+ return res;
+}
+
+int mp_media_info_playlist_add_media(int playlist_id, const char *media_id)
+{
+ int res = MEDIA_CONTENT_ERROR_NONE;
+ media_playlist_h playlist = NULL;
+
+ res = media_playlist_get_playlist_from_db(playlist_id, &playlist);
+ if (res != 0) {
+ media_playlist_destroy(playlist);
+ return res;
+ }
+
+ res = media_playlist_add_media(playlist, media_id);
+ if (res != 0) {
+ media_playlist_destroy(playlist);
+ return res;
+ }
+
+ res = media_playlist_update_to_db(playlist);
+ if (res != 0) {
+ media_playlist_destroy(playlist);
+ return res;
+ }
+
+ media_playlist_destroy(playlist);
+
+ return res;
+}
+
+int mp_media_info_playlist_remove_media(mp_media_info_h playlist,
+ int memeber_id)
+{
+ int res = MEDIA_CONTENT_ERROR_NONE;
+
+ MP_CHECK_VAL(playlist, -1);
+
+ res = media_playlist_remove_media(playlist->h.group, memeber_id);
+ MP_CHECK_VAL(res == 0, res);
+ media_playlist_update_to_db(playlist->h.group);
+
+ return res;
+}
+
+int mp_media_info_playlist_is_exist(const char *playlist_name,
+ bool * exist)
+{
+ int res = MEDIA_CONTENT_ERROR_NONE;
+ filter_h filter = NULL;
+ char cond[MAX_FILTER_LEN] = { 0, };
+ int count = 0;
+ res = media_filter_create(&filter);
+ MP_CHECK_VAL(res == 0, res);
+ strncat(cond,
+ "((MEDIA_TYPE=3 and PLAYLIST_MEDIA_COUNT>0) or PLAYLIST_MEDIA_COUNT=0) and PLAYLIST_NAME = '",
+ STRNCAT_LEN(cond));
+ _mp_media_info_sql_strncat(cond, playlist_name, STRNCAT_LEN(cond));
+ strncat(cond, "'", STRNCAT_LEN(cond));
+ media_filter_set_condition(filter, cond, MEDIA_CONTENT_COLLATE_NOCASE);
+ res =
+ mp_media_info_group_list_count_w_filter(MP_GROUP_BY_PLAYLIST,
+ filter, &count);
+ media_filter_destroy(filter);
+ if (count == 0) {
+ *exist = false;
+ } else {
+ *exist = true;
+ }
+ return res;
+}
+
+int mp_media_info_playlist_unique_name(const char *orig_name,
+ char *unique_name,
+ size_t max_unique_name_length)
+{
+ bool exist = false;
+ int i = 1;
+
+ snprintf(unique_name, max_unique_name_length, orig_name, "001");
+ mp_media_info_playlist_is_exist(unique_name, &exist);
+
+ if (exist) {
+ while (i < 1000) {
+ char id_str[4] = { 0 };
+ snprintf(id_str, 4, "%.3d", i + 1);
+ snprintf(unique_name, max_unique_name_length, orig_name,
+ id_str);
+ mp_media_info_playlist_is_exist(unique_name, &exist);
+ if (!exist) {
+ return 0;
+ } else {
+ i++;
+ }
+ }
+ MP_CHECK_VAL(i < 1000, -1);
+ }
+ return 0;
+}
+
+int mp_media_info_playlist_rename(mp_media_info_h playlist,
+ const char *new_name)
+{
+ int res = MEDIA_CONTENT_ERROR_NONE;
+
+ MP_CHECK_VAL(playlist, -1);
+ MP_CHECK_VAL(playlist->h.group, -1);
+ MP_CHECK_VAL(playlist->i.ginfo, -1);
+ MP_CHECK_VAL(new_name, -1);
+ MP_CHECK_VAL(playlist->s.group_type == MP_GROUP_BY_PLAYLIST, -1);
+
+ res =
+ media_playlist_set_name((media_playlist_h) playlist->h.group,
+ new_name);
+ MP_CHECK_VAL(res == 0, res);
+
+ res = media_playlist_update_to_db(playlist->h.group);
+ MP_CHECK_VAL(res == 0, res);
+
+ IF_FREE(playlist->i.ginfo->main_info);
+ playlist->i.ginfo->main_info = g_strdup(new_name);
+
+ return res;
+}
+
+int mp_media_info_playlist_db_update(mp_playlist_h playlist_handle)
+{
+ int res = MEDIA_CONTENT_ERROR_NONE;
+
+ MP_CHECK_VAL(playlist_handle, -1);
+
+ res = media_playlist_update_to_db((media_playlist_h) playlist_handle);
+ MP_CHECK_VAL(res == 0, res);
+
+ return res;
+}
+
+int mp_media_info_playlist_get_play_order(mp_media_info_h playlist,
+ int playlist_member_id,
+ int *play_order)
+{
+ int res = MEDIA_CONTENT_ERROR_NONE;
+
+ MP_CHECK_VAL(playlist, -1);
+ MP_CHECK_VAL(playlist->h.group, -1);
+ MP_CHECK_VAL(playlist->s.group_type == MP_GROUP_BY_PLAYLIST, -1);
+
+ res =
+ media_playlist_get_play_order(playlist->h.group,
+ playlist_member_id, play_order);
+ MP_CHECK_VAL(res == 0, res);
+
+ return res;
+}
+
+int mp_media_info_playlist_set_play_order(mp_media_info_h playlist,
+ int playlist_member_id,
+ int play_order)
+{
+ int res = MEDIA_CONTENT_ERROR_NONE;
+
+ MP_CHECK_VAL(playlist, -1);
+ MP_CHECK_VAL(playlist->h.group, -1);
+ MP_CHECK_VAL(playlist->s.group_type == MP_GROUP_BY_PLAYLIST, -1);
+
+ res =
+ media_playlist_set_play_order(playlist->h.group,
+ playlist_member_id, play_order);
+ MP_CHECK_VAL(res == 0, res);
+
+ return res;
+}
+
+int mp_media_info_playlist_update_db(mp_media_info_h playlist)
+{
+ int res = MEDIA_CONTENT_ERROR_NONE;
+
+ MP_CHECK_VAL(playlist, -1);
+ MP_CHECK_VAL(playlist->h.group, -1);
+ MP_CHECK_VAL(playlist->s.group_type == MP_GROUP_BY_PLAYLIST, -1);
+
+ res = media_playlist_update_to_db(playlist->h.group);
+ MP_CHECK_VAL(res == 0, res);
+
+ return res;
+}
+
+int mp_media_info_delete_from_db(const char *path)
+{
+ int res = MEDIA_CONTENT_ERROR_NONE;
+ res = media_content_scan_file(path);
+ MP_CHECK_VAL(res == MEDIA_CONTENT_ERROR_NONE, res);
+ return res;
+}
+
+int mp_media_info_playlist_add_item(mp_playlist_h playlist_handle,
+ const char *media_id,
+ const char *thumbnail_path)
+{
+ MP_CHECK_VAL(playlist_handle, -1);
+ MP_CHECK_VAL(media_id, -1);
+
+ if (thumbnail_path) {
+ media_playlist_set_thumbnail_path((media_playlist_h)
+ playlist_handle, thumbnail_path);
+ }
+
+ return media_playlist_add_media((media_playlist_h) playlist_handle,
+ media_id);;
+}
+
+int mp_media_info_dup_playlist_handle_from_list_item(mp_media_info_h
+ playlist,
+ mp_playlist_h *
+ playlist_handle)
+{
+ int res = 0;
+ MP_CHECK_VAL(playlist, -1);
+ MP_CHECK_VAL(playlist_handle, -1);
+
+ res =
+ media_playlist_clone((media_playlist_h *) playlist_handle,
+ playlist->h.group);
+ MP_CHECK_VAL(res == 0, res);
+
+ return res;
+}
+
+int mp_media_info_playlist_insert_to_db(const char *name, int *playlist_id,
+ mp_playlist_h * playlist_handle)
+{
+ int res = MEDIA_CONTENT_ERROR_NONE;
+ media_playlist_h playlist = NULL;
+
+ res = media_playlist_insert_to_db(name, &playlist);
+ MP_CHECK_VAL(res == 0, res);
+
+ res = media_playlist_get_playlist_id(playlist, playlist_id);
+
+ if (playlist_handle) {
+ *playlist_handle = (mp_playlist_h) playlist;
+ } else {
+ media_playlist_destroy(playlist);
+ }
+ return res;
+}
+
+int mp_media_info_playlist_get_name_by_id(int playlist_id,
+ char **playlist_name)
+{
+ mp_filter_h filter = NULL;
+ mp_media_list_h list;
+ mp_media_info_h media = NULL;
+ int index = 0;
+ int id = 0;
+
+ int res = MEDIA_CONTENT_ERROR_NONE;
+
+ MP_CHECK_VAL(playlist_name, -1);
+
+ switch (playlist_id) {
+ case MP_SYS_PLST_QUICK_LIST:
+ *playlist_name = g_strdup(STR_MP_FAVOURITES);
+ return 0;
+ case MP_SYS_PLST_RECENTELY_PLAYED:
+ *playlist_name = g_strdup(STR_MP_RECENTLY_PLAYED);
+ return 0;
+ case MP_SYS_PLST_RECENTELY_ADDED:
+ *playlist_name = g_strdup(STR_MP_RECENTLY_ADDED);
+ return 0;
+ case MP_SYS_PLST_MOST_PLAYED:
+ *playlist_name = g_strdup(STR_MP_MOST_PLAYED);
+ return 0;
+ default:
+ break;
+ }
+
+ res = mp_media_filter_create(&filter);
+ if (res != 0) {
+ if (filter) {
+ media_filter_destroy(filter);
+ }
+ return res;
+ }
+
+ res =
+ mp_media_info_group_list_create_w_filter(filter,
+ MP_GROUP_BY_PLAYLIST,
+ &list);
+ mp_media_filter_destory(filter);
+ MP_CHECK_VAL(res == 0, res);
+ if (list == NULL) {
+ mp_media_info_group_list_destroy(list);
+ return -1;
+ }
+
+ do {
+ media = mp_media_info_group_list_nth_item(list, index);
+ mp_media_info_group_get_playlist_id(media, &id);
+ if (playlist_id == id) {
+ break;
+ }
+ index++;
+ } while (media);
+
+ if (!media) {
+ WARN_TRACE("No such playlist.. ID: %d", playlist_id);
+ return -1;
+ }
+
+ char *main_info = NULL;
+ mp_media_info_group_get_main_info(media, &main_info);
+ *playlist_name = g_strdup(main_info);
+
+ media = mp_media_info_group_list_nth_item(list, 0);
+ if (!media) {
+ mp_media_info_group_list_destroy(list);
+ IF_FREE(main_info);
+ return -1;
+ }
+
+ mp_media_info_group_list_destroy(list);
+ IF_FREE(main_info);
+ return res;
+}
+
+static bool _mp_media_info_playlist_foreach_cb_by_media_id(int
+ playlist_member_id,
+ media_info_h
+ media,
+ void *user_data)
+{
+ GList **list = (GList **) user_data;
+ MP_CHECK_FALSE(list);
+ *list = g_list_append(*list, (void *) playlist_member_id);
+ return true;
+}
+
+int mp_media_info_playlist_prepend_media(mp_playlist_h playlist_handle,
+ const char *media_id)
+{
+ int res = MEDIA_CONTENT_ERROR_NONE;
+ media_playlist_h playlist = (media_playlist_h) playlist_handle;
+ MP_CHECK_VAL(playlist, -1);
+ MP_CHECK_VAL(media_id, -1);
+
+ int playlist_id = 0;
+
+ res = media_playlist_add_media(playlist, media_id);
+ if (res) {
+ mp_error("media_playlist_add_media() .. [0x%x]", res);
+ return res;
+ }
+
+ res = media_playlist_update_to_db(playlist);
+ if (res) {
+ mp_error("media_playlist_update_to_db() .. [0x%x]", res);
+ return res;
+ }
+
+ res = media_playlist_get_playlist_id(playlist, &playlist_id);
+ if (res) {
+ mp_error("media_playlist_get_playlist_id() .. [0x%x]", res);
+ return res;
+ }
+
+ GList *member_id_list = NULL;
+ filter_h filter = NULL;
+ res = media_filter_create(&filter);
+ if (res) {
+ mp_error("media_filter_create() .. [0x%x]", res);
+ return res;
+ }
+ media_filter_set_order(filter, MEDIA_CONTENT_ORDER_ASC,
+ PLAYLIST_MEMBER_ORDER,
+ MEDIA_CONTENT_COLLATE_NOCASE);
+ res =
+ media_playlist_foreach_media_from_db(playlist_id, filter,
+ _mp_media_info_playlist_foreach_cb_by_media_id,
+ &member_id_list);
+ media_filter_destroy(filter);
+ filter = NULL;
+ if (res) {
+ mp_error("media_playlist_foreach_media_from_db() .. [0x%x]", res);
+ return res;
+ }
+
+ GList *list = member_id_list;
+ int index = 0;
+ while (list) {
+ int order = ++index;
+ int member_id = (int) list->data;
+ if (list == g_list_last(member_id_list)) {
+ order = 0;
+ }
+
+ res = media_playlist_set_play_order(playlist, member_id, order);
+ if (res) {
+ mp_error("media_playlist_set_play_order() .. [0x%x]", res);
+ return res;
+ }
+
+ list = list->next;
+ }
+ g_list_free(member_id_list);
+ member_id_list = NULL;
+
+ res = media_playlist_update_to_db(playlist);
+ if (res) {
+ mp_error("media_playlist_update_to_db() .. [0x%x]", res);
+ return res;
+ }
+
+ return res;
+}
+
+int mp_media_info_playlist_handle_destroy(mp_playlist_h playlist_handle)
+{
+ MP_CHECK_VAL(playlist_handle, -1);
+ media_playlist_update_to_db((media_playlist_h) playlist_handle);
+ return media_playlist_destroy((media_playlist_h) playlist_handle);
+}
+
+int mp_media_info_get_folder_path_by_folder_id(const char *folder_id,
+ char **path)
+{
+ MP_CHECK_VAL(folder_id, -1);
+ MP_CHECK_VAL(path, -1);
+
+ media_folder_h folder = NULL;
+ int ret = media_folder_get_folder_from_db(folder_id, &folder);
+ if (ret != MEDIA_CONTENT_ERROR_NONE) {
+ mp_error("media_folder_get_folder_from_db().. [0x%x]", ret);
+ goto END;
+ }
+
+ ret = media_folder_get_path(folder, path);
+ if (ret != MEDIA_CONTENT_ERROR_NONE) {
+ mp_error("media_folder_get_path().. [0x%x]", ret);
+ goto END;
+ }
+
+ END:
+ if (folder) {
+ media_folder_destroy(folder);
+ }
+ return ret;
+}
+
+int mp_media_info_get_auto_playlist_id_by_name(const char *name)
+{
+ MP_CHECK_VAL(name, 0);
+
+ int playlist_id = 0;
+
+ if (!g_strcmp0(name, STR_MP_FAVOURITES)) {
+ playlist_id = MP_SYS_PLST_QUICK_LIST;
+ } else if (!g_strcmp0(name, STR_MP_RECENTLY_PLAYED)) {
+ playlist_id = MP_SYS_PLST_RECENTELY_PLAYED;
+ } else if (!g_strcmp0(name, STR_MP_RECENTLY_ADDED)) {
+ playlist_id = MP_SYS_PLST_RECENTELY_ADDED;
+ } else if (!g_strcmp0(name, STR_MP_MOST_PLAYED)) {
+ playlist_id = MP_SYS_PLST_MOST_PLAYED;
+ }
+
+ return playlist_id;
+}
+
+static db_update_cb g_db_update_cb;
+static void *g_db_update_data;
+static Ecore_Timer *g_db_update_timer;
+
+static Eina_Bool _mp_media_content_db_update_timer_cb(void *data)
+{
+ DEBUG_TRACE("Trigger Update list");
+
+ if (g_db_update_cb) {
+ g_db_update_cb(g_db_update_data);
+ }
+
+ g_db_update_timer = NULL;
+ return false;
+}
+
+void
+mp_media_content_db_update_cb(media_content_error_e error, int pid,
+ media_content_db_update_item_type_e
+ update_item,
+ media_content_db_update_type_e update_type,
+ media_content_type_e media_type, char *uuid,
+ char *path, char *mime_type, void *user_data)
+{
+
+ //if music-player update db, do not update views
+ if (pid == getpid()) {
+ return;
+ }
+
+ DEBUG_TRACE("url: %s, media_type: %d, update_type: %d, item_type: %d",
+ path, media_type, update_type, update_item);
+ /*
+ if (update_type == MEDIA_CONTENT_UPDATE)
+ {
+ DEBUG_TRACE("don't update list when some item is just updated");
+ return;
+ }
+ */
+
+ if ((media_type != MEDIA_CONTENT_TYPE_MUSIC)
+ && (media_type != MEDIA_CONTENT_TYPE_SOUND)
+ && (update_item == MEDIA_ITEM_FILE)) {
+ DEBUG_TRACE("ignore not music file type");
+ return;
+ }
+
+ mp_ecore_timer_del(g_db_update_timer);
+ g_db_update_timer =
+ ecore_timer_add(1, _mp_media_content_db_update_timer_cb, NULL);
+}
+
+int mp_media_info_set_db_update_cb(db_update_cb cb, void *data)
+{
+ MP_CHECK_VAL(cb, -1);
+ if (g_db_update_cb) {
+ WARN_TRACE("registering multiple callback not supported!!");
+ }
+
+ g_db_update_cb = cb;
+ g_db_update_data = data;
+
+ return media_content_add_db_updated_cb(mp_media_content_db_update_cb,
+ NULL, ¬i_handle);
+}
+
+int mp_media_info_unset_db_update_cb(void)
+{
+ mp_ecore_timer_del(g_db_update_timer);
+ g_db_update_cb = NULL;
+ g_db_update_data = NULL;
+ return media_content_remove_db_updated_cb(noti_handle);
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include "music.h"
+#include <stdio.h>
+#include <glib.h>
+#include <system_settings.h>
+
+#include "mp-player-debug.h"
+#include "mp-menu.h"
+#include "mp-util.h"
+#include "mp-popup.h"
+#include "mp-playlist-mgr.h"
+#include "mp-ug-launch.h"
+#include "mp-item.h"
+#include "mp-widget.h"
+#include "mp-ctxpopup.h"
+
+#include "mp-setting-ctrl.h"
+
+#ifndef MP_SOUND_PLAYER
+#include "mp-common.h"
+#endif
+
+enum {
+ MP_SHARE_BLUETOOTH,
+ MP_SHARE_EMAIL,
+#ifndef MP_FEATURE_DISABLE_MMS
+ MP_SHARE_MESSAGE,
+#endif
+ MP_SHARE_WIFI,
+};
+
+
+#include "mp-list.h"
+#include "mp-list-view.h"
+
+#define MP_MENU_FID "mp_menu_fid"
+#define MP_MENU_PLAY_LIST_FID "mp_menu_playlist_id"
+#define MP_MENU_GROUP_ITEM_HANDLER "mp_menu_group_item_handler"
+
+mp_track_type_e mp_menu_get_track_type_by_group(mp_group_type_e group_type)
+{
+ mp_track_type_e item_type = MP_TRACK_ALL;
+
+ if (group_type == MP_GROUP_BY_ALBUM) {
+ item_type = MP_TRACK_BY_ALBUM;
+ } else if (group_type == MP_GROUP_BY_ARTIST) {
+ item_type = MP_TRACK_BY_ARTIST;
+ } else if (group_type == MP_GROUP_BY_ARTIST_ALBUM) {
+ item_type = MP_TRACK_BY_ALBUM;
+ } else if (group_type == MP_GROUP_BY_GENRE) {
+ item_type = MP_TRACK_BY_GENRE;
+ } else if (group_type == MP_GROUP_BY_YEAR) {
+ item_type = MP_TRACK_BY_YEAR;
+ } else if (group_type == MP_GROUP_BY_COMPOSER) {
+ item_type = MP_TRACK_BY_COMPOSER;
+ } else if (group_type == MP_GROUP_BY_FOLDER) {
+ item_type = MP_TRACK_BY_FOLDER;
+ }
+
+ return item_type;
+}
+
+static int _mp_menu_get_share_type(const char *label)
+{
+ MP_CHECK_VAL(label, -1);
+ int share_type = -1;
+ DEBUG_TRACE("%s selected", label);
+ if (g_strcmp0(label, BLUETOOTH_SYS) == 0) {
+ share_type = MP_SHARE_BLUETOOTH;
+ } else if (g_strcmp0(label, EMAIL_SYS) == 0) {
+ share_type = MP_SHARE_EMAIL;
+ }
+#ifndef MP_FEATURE_DISABLE_MMS
+ else if (g_strcmp0(label, MESSAGE_SYS) == 0) {
+ share_type = MP_SHARE_MESSAGE;
+ }
+#endif
+ return share_type;
+}
+
+void _mp_menu_share_file(GList * sel_list, const char *label)
+{
+ startfunc;
+ MP_CHECK(sel_list);
+ int share_type = 0;
+ GString *path = NULL;
+ char *fmt = NULL;
+ share_type = _mp_menu_get_share_type(label);
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ if (share_type == MP_SHARE_BLUETOOTH) {
+ fmt = "?%s";
+ } else if (share_type == MP_SHARE_EMAIL) {
+ fmt = "\n%s";
+ }
+#ifndef MP_FEATURE_DISABLE_MMS
+ else if (share_type == MP_SHARE_MESSAGE) {
+ fmt = "\n%s";
+ }
+#endif
+ else {
+ fmt = ";%s";
+ }
+
+ GList *list = g_list_first(sel_list);
+ while (list) {
+ if (list->data) {
+ if (path == NULL) {
+ path = g_string_new(list->data);
+ } else {
+ g_string_append_printf(path, fmt, list->data);
+ }
+ } else {
+ WARN_TRACE("path name is NULL");
+ }
+
+ list = g_list_next(list);
+ }
+
+ if (path && path->str) {
+ DEBUG_TRACE("path is [%s]", path->str);
+
+ if (share_type == MP_SHARE_EMAIL) {
+ mp_ug_email_attatch_file(path->str, ad);
+ } else {
+ WARN_TRACE("unsupported type");
+ }
+ g_string_free(path, TRUE);
+ } else {
+ ERROR_TRACE("path is NULL");
+ }
+}
+
+
+//ctx popup single select
+void
+mp_menu_ctxpopup_share_select_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ startfunc;
+ GList *list = g_list_append(NULL, data);
+ const char *label =
+ elm_object_item_text_get((Elm_Object_Item *) event_info);
+ _mp_menu_share_file(list, label);
+ mp_ctxpopup_destroy(obj);
+ g_list_free(list);
+}
+
+//genlist popup single select
+void
+mp_menu_genlist_popup_share_select_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ startfunc;
+ GList *list = g_list_append(NULL, data);
+ const char *label =
+ elm_object_item_data_get((Elm_Object_Item *) event_info);
+ _mp_menu_share_file(list, label);
+ mp_popup_destroy(mp_util_get_appdata());
+ g_list_free(list);
+}
+
+//genlist popup single select
+void
+mp_menu_genlist_popup_list_share_select_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ startfunc;
+ GList *list = (GList *) data;
+ const char *label =
+ elm_object_item_data_get((Elm_Object_Item *) event_info);
+ _mp_menu_share_file(list, label);
+ mp_popup_destroy(mp_util_get_appdata());
+ g_list_free(list);
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include <sound_manager.h>
+
+#include "music.h"
+#include "mp-ta.h"
+#include "mp-player-control.h"
+#include "mp-player-mgr.h"
+#include "mp-player-view.h"
+#include "mp-item.h"
+#include "mp-playlist-mgr.h"
+#include "mp-widget.h"
+#include "mp-app.h"
+#include "mp-util.h"
+#include "mp-player-debug.h"
+#include "mp-minicontroller.h"
+#include "mp-lockscreenmini.h"
+#include "mp-play.h"
+#include "mp-setting-ctrl.h"
+
+#define PAUSE_OFF_TIMEOUT (2 * 60) // sec
+
+#ifndef MP_SOUND_PLAYER
+#include "mp-common.h"
+#endif
+
+extern bool track_deleted;
+
+static Eina_Bool _mp_play_set_pos(void *data)
+{
+ TIMER_TRACE();
+ struct appdata *ad = (struct appdata *) data;
+ MP_CHECK_FALSE(ad);
+
+ if (ad->is_lcd_off) {
+ MP_TIMER_FREEZE(ad->live_pos_timer);
+ return EINA_TRUE;
+ }
+ mp_setting_save_playing_info(ad);
+
+ return EINA_TRUE;
+}
+
+//this function should be called in player ready state.
+bool mp_play_start_in_ready_state(void *data)
+{
+ startfunc;
+ struct appdata *ad = data;
+ MP_CHECK_FALSE(ad);
+ MP_CHECK_FALSE(ad->player_state == PLAY_STATE_READY);
+
+ mp_plst_item *current_item =
+ mp_playlist_mgr_get_current(ad->playlist_mgr);
+ MP_CHECK_FALSE(current_item);
+
+ if (!ad->paused_by_user) {
+ int error = mp_player_mgr_play(ad);
+ if (error) {
+ mp_play_control_on_error(ad, error, true);
+ //Don't destory player if play return error because of seek
+ if (error != PLAYER_ERROR_INVALID_OPERATION) {
+ mp_play_destory(ad);
+ }
+ return FALSE;
+ }
+ } else {
+ DEBUG_TRACE("stay in pause state..");
+ if (track_deleted) {
+ mp_play_start(ad);
+ }
+ ad->freeze_indicator_icon = true;
+ mp_play_stop(ad);
+ ad->freeze_indicator_icon = false;
+
+ return false;
+ }
+
+ if (!ad->win_minicon) {
+ mp_minicontroller_create(ad);
+ } else if (!ad->b_minicontroller_show) {
+ mp_minicontroller_show(ad);
+ }
+#ifdef MP_FEATURE_LOCKSCREEN
+ if (!ad->win_lockmini) {
+ mp_lockscreenmini_create(ad);
+ } else if (!ad->b_lockmini_show) {
+ mp_lockscreenmini_show(ad);
+ }
+#endif
+
+#ifndef MP_SOUND_PLAYER
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_PLAY_TIME_COUNT_UPDATED);
+#endif
+ mp_setting_set_nowplaying_id(getpid());
+
+ return TRUE;
+}
+
+int mp_play_new_file(void *data, bool check_drm)
+{
+ startfunc;
+ struct appdata *ad = data;
+ mp_retvm_if(ad == NULL, -1, "appdata is NULL");
+ PROFILE_IN("mp_playlist_mgr_get_current");
+ mp_plst_item *current_item = mp_playlist_mgr_get_current(ad->playlist_mgr);
+ PROFILE_OUT("mp_playlist_mgr_get_current");
+ MP_CHECK_VAL(current_item, -1);
+ int res = 0;
+
+ PROFILE_IN("mp_player_control_ready_new_file");
+ res = mp_player_control_ready_new_file(ad, check_drm);
+ PROFILE_OUT("mp_player_control_ready_new_file");
+
+ return res;
+}
+
+bool mp_play_item_play_current_item(void *data)
+{
+ startfunc;
+
+ MP_CHECK_FALSE(data);
+
+ struct appdata *ad = (struct appdata *) data;
+ MP_CHECK_FALSE(ad);
+
+ mp_plst_item *current_item =
+ mp_playlist_mgr_get_current(ad->playlist_mgr);
+ MP_CHECK_FALSE(current_item);
+
+ mp_play_destory(ad);
+ int ret = mp_play_new_file(ad, TRUE);
+ if (ret) {
+ ERROR_TRACE("Fail to play new file");
+ ad->freeze_indicator_icon = false;
+ return FALSE;
+ }
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_PLAYING_TRACK_CHANGED);
+ endfunc;
+
+ return TRUE;
+}
+
+
+void mp_play_prev_file(void *data)
+{
+ struct appdata *ad = data;
+ mp_retm_if(ad == NULL, "appdata is NULL");
+
+ mp_plst_item *item = mp_playlist_mgr_get_prev(ad->playlist_mgr);
+ if (item) {
+ ad->freeze_indicator_icon = TRUE;
+
+ mp_playlist_mgr_set_current(ad->playlist_mgr, item);
+ mp_play_item_play_current_item(ad);
+ } else {
+ mp_error("mp_play_list_get_prev_item return false");
+#ifdef MP_SOUND_PLAYER
+ if (ad->is_focus_out)
+ //mp_app_exit(ad);
+ {
+ DEBUG_TRACE("No playlist and windows focus out");
+ } else
+#endif
+ {
+ mp_widget_text_popup(data,
+ GET_SYS_STR
+ ("IDS_COM_POP_FILE_NOT_FOUND"));
+ mp_play_stop_and_updateview(data, FALSE);
+ }
+ }
+}
+
+void mp_play_next_file(void *data, bool forced)
+{
+ struct appdata *ad = data;
+ mp_plst_item *item = NULL;
+
+ mp_retm_if(ad == NULL, "appdata is NULL");
+ MP_CHECK(ad->playlist_mgr);
+
+ int repeat = mp_playlist_mgr_get_repeat(ad->playlist_mgr);
+
+ if (!forced) {
+ ad->auto_next = true;
+ if (repeat == MP_PLST_REPEAT_ONE
+ || (repeat == MP_PLST_REPEAT_ALL
+ && mp_playlist_mgr_count(ad->playlist_mgr) == 1)) {
+ DEBUG_TRACE("play same track");
+ if (ad->camcoder_start) {
+ WARN_TRACE("Camera is camcording. unable to play next");
+ mp_player_mgr_stop(ad);
+ return;
+ }
+ ad->freeze_indicator_icon = true;
+ mp_play_item_play_current_item(ad);
+ return;
+ }
+ } else {
+ ad->auto_next = false;
+ }
+ item = mp_playlist_mgr_get_next(ad->playlist_mgr, forced, true);
+#ifdef MP_SOUND_PLAYER
+ if (ad->is_focus_out) {
+ DEBUG_TRACE("No playlist and windows focus out");
+ }
+#endif
+ MpPlayerView_t *player_view = (MpPlayerView_t *) GET_PLAYER_VIEW;
+
+ if (item) {
+ mp_playlist_mgr_set_current(ad->playlist_mgr, item);
+
+ ad->freeze_indicator_icon = TRUE;
+
+ mp_play_item_play_current_item(ad);
+ } else {
+ WARN_TRACE("mp_play_list_get_next_item return false");
+ ad->auto_next = false;
+ ad->auto_resume = false;
+ ad->paused_by_user = true;
+ ad->freeze_indicator_icon = true;
+ mp_player_mgr_stop(ad);
+ mp_player_mgr_destroy(ad);
+ ad->freeze_indicator_icon = false;
+ mp_setting_set_player_state(MP_PLAY_STATE_PAUSED);
+ ad->music_pos = 0;
+ mp_player_view_update_progressbar(player_view);
+ mp_play_item_play_current_item(ad);
+
+#ifdef MP_SOUND_PLAYER
+ if (ad->is_focus_out) {
+ //if (!mp_minicontroller_visible_get(ad))
+ // mp_app_exit(ad);
+ DEBUG_TRACE("End of playlist and windows focus out");
+ } else
+#endif
+ {
+ DEBUG_TRACE("End of playlist");
+#ifdef MP_FEATURE_AUTO_OFF
+ if (mp_playlist_mgr_get_repeat(ad->playlist_mgr) ==
+ MP_PLST_REPEAT_NONE && ad->auto_off_timer) {
+ mp_ecore_timer_del(ad->auto_off_timer);
+ mp_setting_reset_auto_off_time();
+ mp_app_exit(ad);
+ }
+#endif
+ }
+ }
+
+}
+
+void mp_play_prepare(void *data)
+{
+ startfunc;
+ struct appdata *ad = data;
+
+ //get duration here for streaming
+ ad->music_length = mp_player_mgr_get_duration() / 1000.0;
+
+ //if (ad->is_focus_out)
+ //{
+ if (!ad->prepare_by_init) {
+ if (!ad->win_minicon) {
+ mp_minicontroller_create(ad);
+ } else if (!ad->b_minicontroller_show) {
+ mp_minicontroller_show(ad);
+ }
+#ifdef MP_FEATURE_LOCKSCREEN
+ if (!ad->win_lockmini) {
+ mp_lockscreenmini_create(ad);
+ } else if (!ad->b_lockmini_show) {
+ mp_lockscreenmini_show(ad);
+ }
+#endif
+ }
+
+ ad->prepare_by_init = false;
+
+#ifndef MP_SOUND_PLAYER
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_UPDATE_PLAYING_LIST);
+ mp_setting_save_now_playing(ad);
+ _mp_play_set_pos(ad);
+#else
+ mp_setting_save_playing_info(ad);
+#endif
+ /*if (ad->current_track_info)
+ mp_setting_write_playing_status(ad->current_track_info->uri, "paused"); */
+
+ if (ad->create_view_on_play) {
+ mp_view_mgr_push_view_with_effect(GET_VIEW_MGR,
+ (MpView_t *) ad->
+ preload_player_view, NULL,
+ false);
+ mp_view_update((MpView_t *) ad->preload_player_view);
+ ad->create_view_on_play = false;
+ ad->preload_player_view = NULL;
+ }
+}
+
+static void _mp_play_start_lazy(void *data)
+{
+ eventfunc;
+ struct appdata *ad = data;
+ MP_CHECK(ad);
+
+#ifdef MP_FEATURE_PLAY_SPEED
+ mp_player_mgr_set_play_speed(mp_setting_get_play_speed());
+#endif
+
+#ifndef MP_SOUND_PLAYER
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_UPDATE_PLAYING_LIST);
+ mp_setting_save_now_playing(ad);
+ _mp_play_set_pos(ad);
+#endif
+
+ mp_plst_item *item = mp_playlist_mgr_get_current(ad->playlist_mgr);
+ MP_CHECK(item);
+
+ if (!item->uid && !mp_check_file_exist(item->uri)) {
+ char *title = NULL, *album = NULL, *artist = NULL, *genre = NULL;
+
+ mp_player_mgr_get_content_info(&title, &album, &artist, NULL,
+ &genre, NULL);
+
+ if (ad->current_track_info) {
+ if (ad->current_track_info->title == 0
+ || strlen(ad->current_track_info->title) == 0) {
+ if (title == NULL || strlen(title) == 0) {
+ title = mp_util_get_title_from_path(item->uri);
+ DEBUG_TRACE("title from path: %s", title);
+ }
+ IF_FREE(ad->current_track_info->title);
+ ad->current_track_info->title = title;
+ } else {
+ IF_FREE(title);
+ }
+
+ if (ad->current_track_info->artist == NULL
+ || strlen(ad->current_track_info->artist) == 0) {
+ IF_FREE(ad->current_track_info->artist);
+ ad->current_track_info->artist = artist;
+ } else {
+ IF_FREE(artist);
+ }
+
+ IF_FREE(ad->current_track_info->album);
+ ad->current_track_info->album = album;
+ IF_FREE(ad->current_track_info->genre);
+ ad->current_track_info->genre = genre;
+ }
+
+ mp_player_view_set_title(GET_PLAYER_VIEW);
+ //update minicontrol title if title info gotten for streaming play
+ mp_minicontroller_update(ad, true);
+ }
+
+ if (!ad->live_pos_timer) {
+ ad->live_pos_timer = ecore_timer_add(1, _mp_play_set_pos, ad);
+ }
+ mp_util_set_livebox_update_timer();
+ mp_util_sleep_lock_set(TRUE, FALSE);
+
+ if (!ad->win_minicon) {
+ mp_minicontroller_create(ad);
+ } else {
+ mp_minicontroller_show(ad);
+ }
+
+#ifdef MP_FEATURE_LOCKSCREEN
+ if (!ad->win_lockmini) {
+ mp_lockscreenmini_create(ad);
+ } else {
+ mp_lockscreenmini_show(ad);
+ }
+ mp_setting_save_playing_info(ad);
+#endif
+
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_START_PLAYBACK);
+
+ if (ad->current_track_info) {
+ if (mp_setting_read_playing_status
+ (ad->current_track_info->uri, "playing") != 1) {
+ mp_setting_write_playing_status(ad->current_track_info->uri,
+ "playing");
+ }
+ }
+ mp_setting_set_player_state(MP_PLAY_STATE_PLAYING);
+ mp_app_grab_mm_keys(ad);
+
+#ifdef MP_FEATURE_AUTO_OFF
+ mp_ecore_timer_del(ad->pause_off_timer);
+#endif
+ endfunc;
+}
+
+void mp_play_start(void *data)
+{
+ startfunc;
+ struct appdata *ad = data;
+ mp_retm_if(ad == NULL, "appdata is NULL");
+
+ if (!ad->hide_player_view) {
+ DEBUG_TRACE("Show player view.");
+ mp_common_show_player_view_after_play();
+ }
+
+ ad->music_length = mp_player_mgr_get_duration() / 1000.0;
+ if (ad->paused_by_user == FALSE) {
+ ad->player_state = PLAY_STATE_PLAYING;
+ } else {
+ ad->player_state = PLAY_STATE_PAUSED;
+ }
+
+ if (!ad->noti) {
+ DEBUG_TRACE("notification create");
+
+ int applist = NOTIFICATION_DISPLAY_APP_INDICATOR;
+ notification_type_e noti_type = NOTIFICATION_TYPE_NOTI;
+ notification_image_type_e img_type =
+ NOTIFICATION_IMAGE_TYPE_ICON_FOR_INDICATOR;
+ int ret = NOTIFICATION_ERROR_NONE;
+
+ char *shared_path = app_get_shared_resource_path();
+ if (!shared_path) {
+ ERROR_TRACE("Shared Resource Path is NULL");
+ }
+
+ char icon_path[1024] = { 0 };
+ snprintf(icon_path, 1024,
+ "%sshared_images/T02_control_circle_icon_play.png",
+ shared_path);
+ free(shared_path);
+
+#ifdef MP_SOUND_PLAYER
+ notification_delete_all_by_type("org.tizen.music-player",
+ NOTIFICATION_TYPE_NOTI);
+#else
+ notification_delete_all_by_type("org.tizen.sound-player",
+ NOTIFICATION_TYPE_NOTI);
+#endif
+ ad->noti = notification_create(noti_type);
+#ifdef MP_SOUND_PLAYER
+ const char *tag = "minicontrol_sound";
+#else
+ const char *tag = "minicontrol_music";
+#endif
+ ret = notification_set_tag(ad->noti, tag);
+ if (ret != NOTIFICATION_ERROR_NONE) {
+ DEBUG_TRACE("Unable to set tag [%d]", ret);
+ }
+ ret =
+ notification_set_property(ad->noti,
+ NOTIFICATION_PROP_VOLATILE_DISPLAY);
+ if (ret != NOTIFICATION_ERROR_NONE) {
+ DEBUG_TRACE("Cannot set the notification property [%d]", ret);
+ }
+ ret = notification_set_image(ad->noti, img_type, icon_path);
+ if (ret != NOTIFICATION_ERROR_NONE) {
+ DEBUG_TRACE("Cannot set the notification image [%d]", ret);
+ }
+ ret = notification_set_display_applist(ad->noti, applist);
+ if (ret != NOTIFICATION_ERROR_NONE) {
+ DEBUG_TRACE("Cannot set the display applist [%d]", ret);
+ notification_free(ad->noti);
+ }
+ notification_post(ad->noti);
+
+ char *data_path = app_get_data_path();
+ DEBUG_TRACE("Path is: %s", data_path);
+ char playing_status[1024] = { 0 };
+ if (data_path == NULL) {
+ ERROR_TRACE("unable to get data path");
+ }
+ snprintf(playing_status, 1024, "%s%s", data_path,
+ "NowPlayingStatus");
+ free(data_path);
+
+ if (ad->monitor == NULL) {
+ ad->monitor =
+ ecore_file_monitor_add(playing_status,
+ mp_noti_read_ini_file, NULL);
+ }
+ }
+
+ if (mp_view_mgr_count_view(GET_VIEW_MGR) == 0) {
+ mp_common_create_initial_view(ad, NULL, NULL);
+ evas_object_show(ad->win_main);
+ }
+
+ if (ad->create_view_on_play) {
+ mp_view_mgr_push_view_with_effect(GET_VIEW_MGR,
+ (MpView_t *) ad->
+ preload_player_view, NULL,
+ false);
+ mp_view_update((MpView_t *) ad->preload_player_view);
+ ad->create_view_on_play = false;
+ ad->preload_player_view = NULL;
+ }
+ mp_ecore_idler_del(ad->create_on_play_lay_idler);
+
+ _mp_play_start_lazy(ad);
+
+ endfunc;
+}
+
+#ifdef MP_FEATURE_AUTO_OFF
+static Eina_Bool _mp_play_control_paused_off_timer_cb(void *data)
+{
+ TIMER_TRACE();
+ struct appdata *ad = data;
+ MP_CHECK_VAL(ad, ECORE_CALLBACK_CANCEL);
+
+ if (ad->player_state == PLAY_STATE_PLAYING) {
+ ad->pause_off_timer = NULL;
+ return ECORE_CALLBACK_CANCEL;
+ }
+
+ if (ad->is_focus_out && !ad->app_is_foreground) {
+ ad->pause_off_timer = NULL;
+ WARN_TRACE("exit by pause timer");
+ if (!mp_util_is_other_player_playing()) {
+ if (preference_set_int(PREF_MUSIC_STATE, PREF_MUSIC_OFF) != 0) {
+ ERROR_TRACE("set Preference failed");
+ }
+ }
+ elm_exit();
+ } else {
+ WARN_TRACE("pause off timer but foreground");
+ return ECORE_CALLBACK_RENEW;
+ }
+
+ return ECORE_CALLBACK_DONE;
+}
+#endif
+
+void mp_play_pause(void *data)
+{
+ startfunc;
+ struct appdata *ad = data;
+ mp_retm_if(ad == NULL, "appdata is NULL");
+
+ MP_TIMER_FREEZE(ad->live_pos_timer);
+
+ ad->player_state = PLAY_STATE_PAUSED;
+
+ if (ad->b_minicontroller_show) {
+ mp_minicontroller_update_control(ad);
+ }
+#ifdef MP_FEATURE_LOCKSCREEN
+ if (ad->b_lockmini_show) {
+ mp_lockscreenmini_update_control(ad);
+ }
+#endif
+
+
+ if (!ad->paused_by_other_player) {
+ preference_set_int(PREF_MUSIC_STATE, PREF_MUSIC_PAUSE);
+ }
+
+ mp_util_sleep_lock_set(FALSE, FALSE);
+
+ if (ad->win_minicon) {
+ mp_minicontroller_update_control(ad);
+ }
+#ifdef MP_FEATURE_LOCKSCREEN
+ if (ad->win_lockmini) {
+ mp_lockscreenmini_update_control(ad);
+ }
+ mp_setting_save_playing_info(ad);
+#endif
+
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_PAUSE_PLAYBACK);
+
+ if (ad->current_track_info) {
+ if (mp_setting_read_playing_status
+ (ad->current_track_info->uri, "paused") != 1) {
+ mp_setting_write_playing_status(ad->current_track_info->uri,
+ "paused");
+ }
+ }
+ mp_setting_set_player_state(MP_PLAY_STATE_PAUSED);
+
+ ad->player_state = PLAY_STATE_PAUSED;
+ ad->paused_by_other_player = FALSE;
+
+#ifdef MP_FEATURE_AUTO_OFF
+ mp_ecore_timer_del(ad->pause_off_timer);
+ mp_debug("pause off timer set");
+ ad->pause_off_timer =
+ ecore_timer_add(PAUSE_OFF_TIMEOUT,
+ _mp_play_control_paused_off_timer_cb, ad);
+#endif
+ endfunc;
+}
+
+void mp_play_stop(void *data)
+{
+ startfunc;
+ struct appdata *ad = data;
+ mp_retm_if(ad == NULL, "appdata is NULL");
+
+ MP_TIMER_FREEZE(ad->live_pos_timer);
+
+ ad->player_state = PLAY_STATE_READY;
+ ad->music_pos = 0;
+
+ if (!ad->freeze_indicator_icon) {
+ if (!mp_util_is_other_player_playing()) {
+ preference_set_int(PREF_MUSIC_STATE, PREF_MUSIC_STOP);
+ }
+
+ mp_setting_set_player_state(MP_PLAY_STATE_STOP);
+ }
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_STOP_PLAYBACK);
+
+ if (mp_minicontroller_visible_get(ad)) {
+ mp_minicontroller_update_control(ad);
+ }
+#ifdef MP_FEATURE_LOCKSCREEN
+ if (mp_lockscreenmini_visible_get(ad)) {
+ mp_lockscreenmini_update_control(ad);
+ }
+ mp_setting_save_playing_info(ad);
+#endif
+
+ mp_util_sleep_lock_set(FALSE, FALSE);
+
+ if (ad->current_track_info) {
+ if (mp_setting_read_playing_status
+ (ad->current_track_info->uri, "stop") != 1) {
+ mp_setting_write_playing_status(ad->current_track_info->uri,
+ "stop");
+ }
+ }
+ mp_setting_set_player_state(MP_PLAY_STATE_STOP);
+ mp_player_view_update_buffering_progress(GET_PLAYER_VIEW, -1);
+
+ endfunc;
+}
+
+void mp_play_resume(void *data)
+{
+ startfunc;
+ struct appdata *ad = data;
+ mp_retm_if(ad == NULL, "appdata is NULL");
+
+ if (!ad->live_pos_timer) {
+ ad->live_pos_timer = ecore_timer_add(1, _mp_play_set_pos, ad);
+ }
+ mp_util_set_livebox_update_timer();
+
+ ad->player_state = PLAY_STATE_PLAYING;
+
+ preference_set_int(PREF_MUSIC_STATE, PREF_MUSIC_PLAY);
+
+ mp_util_sleep_lock_set(TRUE, FALSE);
+
+ if (!ad->win_minicon) {
+ mp_minicontroller_create(ad);
+ } else {
+ mp_minicontroller_show(ad);
+ }
+
+ if (ad->b_minicontroller_show) {
+ mp_minicontroller_update_control(ad);
+ }
+#ifdef MP_FEATURE_LOCKSCREEN
+ if (!ad->win_lockmini) {
+ mp_lockscreenmini_create(ad);
+ } else {
+ mp_lockscreenmini_show(ad);
+ }
+
+ if (ad->b_lockmini_show) {
+ mp_lockscreenmini_update_control(ad);
+ }
+ mp_setting_save_playing_info(ad);
+#endif
+
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_RESUME_PLAYBACK);
+ mp_app_grab_mm_keys(ad);
+
+ if (ad->current_track_info) {
+ if (mp_setting_read_playing_status
+ (ad->current_track_info->uri, "playing") != 1) {
+ mp_setting_write_playing_status(ad->current_track_info->uri,
+ "playing");
+ }
+ }
+ ad->freeze_indicator_icon = false;
+ mp_setting_set_player_state(MP_PLAY_STATE_PLAYING);
+
+ ad->auto_resume = false;
+
+#ifdef MP_FEATURE_AUTO_OFF
+ mp_ecore_timer_del(ad->pause_off_timer);
+#endif
+ endfunc;
+}
+
+bool mp_play_destory(void *data)
+{
+ startfunc;
+ struct appdata *ad = data;
+ mp_retvm_if(ad == NULL, FALSE, "appdata is NULL");
+
+ if (ad->current_track_info) {
+ if (mp_setting_read_playing_status
+ (ad->current_track_info->uri, "stop") != 1) {
+ mp_setting_write_playing_status(ad->current_track_info->uri,
+ "stop");
+ }
+ }
+
+ mp_player_mgr_stop(ad);
+ mp_player_mgr_unrealize(ad);
+ mp_player_mgr_destroy(ad);
+
+ ad->music_pos = 0.;
+ ad->music_length = 0.;
+ endfunc;
+ return TRUE;
+}
+
+bool mp_play_fast_destory(void *data)
+{
+ startfunc;
+ struct appdata *ad = data;
+ mp_retvm_if(ad == NULL, FALSE, "appdata is NULL");
+
+ mp_player_mgr_destroy(ad);
+
+ ad->music_pos = 0.;
+ ad->music_length = 0.;
+ endfunc;
+ return TRUE;
+}
+
+void mp_play_stop_and_updateview(void *data, bool mmc_removed)
+{
+ startfunc;
+
+ struct appdata *ad = data;
+ mp_retm_if(ad == NULL, "appdata is NULL");
+
+ if (ad->player_state != PLAY_STATE_NONE) {
+ DEBUG_TRACE("mp_play_stop_and_updateview");
+ ad->freeze_indicator_icon = false;
+ mp_play_destory(ad);
+ }
+#ifndef MP_SOUND_PLAYER
+ mp_view_mgr_pop_to_view(GET_VIEW_MGR, MP_VIEW_ALL);
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_UNSET_NOW_PLAYING);
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_PAUSE_PLAYBACK);
+ mp_view_update(mp_view_mgr_get_view(GET_VIEW_MGR, MP_VIEW_ALL));
+#endif
+
+ if (ad->b_minicontroller_show) {
+ mp_minicontroller_hide(ad);
+ }
+#ifdef MP_FEATURE_LOCKSCREEN
+ if (ad->b_lockmini_show) {
+ mp_lockscreenmini_hide(ad);
+ }
+#endif
+
+ return;
+}
+
+void mp_play_next_and_updateview(void *data)
+{
+ startfunc;
+
+ struct appdata *ad = data;
+ mp_retm_if(ad == NULL, "appdata is NULL");
+
+ mp_play_next_file(ad, true);
+#ifdef MP_SOUND_PLAYER
+ mp_view_mgr_pop_to_view(GET_VIEW_MGR, MP_VIEW_ALL);
+#endif
+ if (ad->b_minicontroller_show) {
+ mp_minicontroller_hide(ad);
+ }
+#ifdef MP_FEATURE_LOCKSCREEN
+ if (ad->b_lockmini_show) {
+ mp_lockscreenmini_hide(ad);
+ }
+#endif
+
+ return;
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+
+#include <stdio.h>
+#include <malloc.h>
+#include <string.h>
+#include <assert.h>
+#include <time.h>
+#include <sys/time.h>
+#include <sys/utsname.h>
+#include <sys/resource.h>
+#include <unistd.h>
+#include <stdarg.h>
+
+#include "mp-ta.h"
+
+#define MP_TA_BUFF_SIZE 256
+
+#ifdef ENABLE_MP_TA
+// internal func.
+static void __free_cps(void);
+static int __get_cp_index(char *name);
+
+static void __free_accums(void);
+static int __get_accum_index(char *name);
+
+// global var.
+mp_ta_checkpoint **mm_g_cps = NULL;
+static int mm_g_cp_index = 0;
+
+mp_ta_accum_item **mm_g_accums = NULL;
+static int mm_g_accum_index = 0;
+static int mm_g_accum_longest_name = 0;
+static unsigned long mm_g_accum_first_time = 0xFFFFFFFF; // jmlee
+static int mm_g_enable = 1;
+
+int mp_ta_init(void)
+{
+ if (mm_g_accums) {
+ return 0;
+ }
+
+ mm_g_cps =
+ (mp_ta_checkpoint **) malloc(MP_TA_MAX_CHECKPOINT *
+ sizeof(mp_ta_checkpoint *));
+ if (!mm_g_cps) {
+ return -1;
+ }
+
+ mm_g_accums =
+ (mp_ta_accum_item **) malloc(MP_TA_MAX_CHECKPOINT *
+ sizeof(mp_ta_accum_item *));
+ if (!mm_g_accums) {
+ return -1;
+ }
+
+ mm_g_accum_first_time = 0xFFFFFFFF;
+
+ return 0;
+}
+
+int mp_ta_release(void)
+{
+ if (!mm_g_accums) {
+ return 0;
+ }
+
+ __free_cps();
+ __free_accums();
+
+ mm_g_accum_first_time = 0xFFFFFFFF;
+
+ return 0;
+}
+
+void mp_ta_set_enable(int enable)
+{
+ mm_g_enable = enable;
+}
+
+int mp_ta_get_numof_checkpoints()
+{
+ return mm_g_cp_index;
+}
+
+char *mp_ta_fmt(const char *fmt, ...)
+{
+ static char ta_buf[512];
+ va_list args;
+
+ memset(ta_buf, '\0', 512);
+
+ va_start(args, fmt);
+ vsnprintf(ta_buf, 512, fmt, args);
+ va_end(args);
+
+ return ta_buf;
+}
+
+
+int mp_ta_add_checkpoint(char *name, int show, char *filename, int line)
+{
+ mp_ta_checkpoint *cp = NULL;
+ struct timeval t;
+
+ if (!mm_g_enable) {
+ return -1;
+ }
+
+ if (!mm_g_accums) {
+ return 0;
+ }
+
+ if (mm_g_cp_index == MP_TA_MAX_CHECKPOINT) {
+ return -1;
+ }
+
+ if (!name) {
+ return -1;
+ }
+
+ if (strlen(name) == 0) {
+ return -1;
+ }
+
+ cp = (mp_ta_checkpoint *) malloc(sizeof(mp_ta_checkpoint));
+ if (!cp) {
+ return -1;
+ }
+
+ int name_len = strlen(name);
+ cp->name = (char *) malloc(name_len + 1);
+ if (!cp->name) {
+ free(cp);
+ return -1;
+ }
+ strncpy(cp->name, name, name_len);
+ cp->name[name_len] = 0;
+ if (show) {
+ gettimeofday(&t, NULL);
+ }
+ cp->timestamp = t.tv_sec * 1000000L + t.tv_usec;
+#ifdef MP_TA_UNIT_MSEC
+ cp->timestamp = (cp->timestamp >= 1000) ? cp->timestamp / 1000 : 0;
+#endif
+
+ mm_g_cps[mm_g_cp_index] = cp;
+
+ mm_g_cp_index++;
+
+ return 0;
+}
+
+void mp_ta_show_checkpoints(void)
+{
+ int i = 0;
+ if (!mm_g_accums) {
+ return;
+ }
+
+ DEBUG_TRACE("BEGIN RESULT ============================");
+ for (i = 0; i < mm_g_cp_index; i++) {
+ }
+ DEBUG_TRACE("END RESULT ============================");
+}
+
+void mp_ta_show_diff(char *name1, char *name2)
+{
+ if (!mm_g_accums) {
+ return;
+ }
+
+
+}
+
+unsigned long mp_ta_get_diff(char *name1, char *name2)
+{
+ int cp1, cp2;
+
+ if (!mm_g_accums) {
+ return 0;
+ }
+
+ // fail if bad param.
+ if (!name1 || !name2) {
+ return -1;
+ }
+ // fail if same.
+ if (strcmp(name1, name2) == 0) {
+ return -1;
+ }
+ // get index
+ if ((cp1 = __get_cp_index(name1)) == -1) {
+ return -1;
+ }
+
+ if ((cp2 = __get_cp_index(name2)) == -1) {
+ return -1;
+ }
+ // NOTE :
+ // return value must be positive value.
+ // bcz the value of higher index of mm_g_cps always higher than lower one.
+ return mm_g_cps[cp2]->timestamp - mm_g_cps[cp1]->timestamp;
+
+}
+
+static int __get_cp_index(char *name)
+{
+ int i;
+
+ assert(name);
+
+ // find index
+ for (i = 0; i < mm_g_cp_index; i++) {
+ if (strcmp(name, mm_g_cps[i]->name) == 0) {
+ return i;
+ }
+ }
+
+ return -1;
+}
+
+static int __get_accum_index(char *name)
+{
+ int i;
+
+ assert(name);
+
+ // find index
+ for (i = 0; i < mm_g_accum_index; i++) {
+ if (strcmp(name, mm_g_accums[i]->name) == 0) {
+ return i;
+ }
+ }
+
+ return -1;
+}
+
+static void __free_cps(void)
+{
+ int i = 0;
+
+ if (!mm_g_cps) {
+ return;
+ }
+
+ for (i = 0; i < mm_g_cp_index; i++) {
+ if (mm_g_cps[i]) {
+ if (mm_g_cps[i]->name) {
+ free(mm_g_cps[i]->name);
+ }
+
+ free(mm_g_cps[i]);
+
+ mm_g_cps[i] = NULL;
+ }
+ }
+
+ free(mm_g_cps);
+ mm_g_cps = NULL;
+
+ mm_g_cp_index = 0;
+}
+
+static void __free_accums(void)
+{
+ int i = 0;
+
+ if (!mm_g_accums) {
+ return;
+ }
+
+ for (i = 0; i < mm_g_accum_index; i++) {
+ if (mm_g_accums[i]) {
+ if (mm_g_accums[i]->name) {
+ free(mm_g_accums[i]->name);
+ }
+
+ free(mm_g_accums[i]);
+
+ mm_g_accums[i] = NULL;
+ }
+ }
+
+ mm_g_accum_index = 0;
+ mm_g_accum_longest_name = 0;
+
+ free(mm_g_accums);
+ mm_g_accums = NULL;
+}
+
+
+int mp_ta_accum_item_begin(char *name, int show, char *filename, int line)
+{
+ mp_ta_accum_item *accum = NULL;
+ int index = 0;
+ int name_len = 0;
+ struct timeval t;
+
+ if (!mm_g_enable) {
+ return -1;
+ }
+
+ if (!mm_g_accums) {
+ return 0;
+ }
+
+
+
+ if (mm_g_accum_index == MP_TA_MAX_ACCUM) {
+ return -1;
+ }
+
+ if (!name) {
+ return -1;
+ }
+
+ name_len = strlen(name);
+ if (name_len == 0) {
+ return -1;
+ }
+ // if 'name' is new one. create new item.
+ if ((index = __get_accum_index(name)) == -1) {
+ accum = (mp_ta_accum_item *) malloc(sizeof(mp_ta_accum_item));
+ if (!accum) {
+ return -1;
+ }
+ // clear first.
+ memset(accum, 0, sizeof(mp_ta_accum_item));
+ accum->elapsed_min = 0xFFFFFFFF;
+
+ accum->name = (char *) malloc(name_len + 1);
+ if (!accum->name) {
+ free(accum);
+ return -1;
+ }
+ strncpy(accum->name, name, name_len);
+ accum->name[name_len] = 0;
+ // add it to list.
+ mm_g_accums[mm_g_accum_index] = accum;
+ mm_g_accum_index++;
+
+ if (mm_g_accum_longest_name < name_len) {
+ mm_g_accum_longest_name = name_len;
+ }
+
+ } else {
+ accum = mm_g_accums[index];
+ }
+
+ // verify pairs of begin, end.
+ if (accum->on_estimate) {
+ accum->num_unpair++;
+ return -1;
+ }
+ // get timestamp
+ gettimeofday(&t, NULL);
+ accum->timestamp = t.tv_sec * 1000000L + t.tv_usec;
+#ifdef MP_TA_UNIT_MSEC
+ accum->timestamp =
+ (accum->timestamp >= 1000) ? accum->timestamp / 1000 : 0;
+#endif
+ accum->on_estimate = 1;
+
+ if (accum->first_start == 0) {
+ // assum that timestamp never could be zero.
+ accum->first_start = accum->timestamp;
+
+ if (mm_g_accum_first_time > accum->first_start) {
+ mm_g_accum_first_time = accum->first_start;
+ }
+ }
+
+ accum->num_calls++;
+
+ return 0;
+}
+
+int mp_ta_accum_item_end(char *name, int show, char *filename, int line)
+{
+ mp_ta_accum_item *accum = NULL;
+ unsigned int tval = 0;
+ int index = 0;
+ struct timeval t;
+
+ if (!mm_g_enable) {
+ return -1;
+ }
+
+ if (!mm_g_accums) {
+ return 0;
+ }
+
+ // get time first for more accuracy.
+ gettimeofday(&t, NULL);
+
+ if (mm_g_accum_index == MP_TA_MAX_ACCUM) {
+ return -1;
+ }
+
+ if (!name) {
+ return -1;
+ }
+
+ if (strlen(name) == 0) {
+ return -1;
+ }
+ // varify the 'name' is already exist.
+ if ((index = __get_accum_index(name)) == -1) {
+ return -1;
+ }
+
+ accum = mm_g_accums[index];
+
+ // verify pairs of begin, end.
+ if (!accum->on_estimate) {
+ accum->num_unpair++;
+ return -1;
+ }
+ // get current timestamp.
+ tval = t.tv_sec * 1000000L + t.tv_usec;
+#ifdef MP_TA_UNIT_MSEC
+ tval = (tval >= 1000) ? tval / 1000 : 0;
+#endif
+
+ // update last_end
+ accum->last_end = tval;
+
+ // make get elapsed time.
+ tval = tval - accum->timestamp;
+
+ // update min/max
+ accum->elapsed_max =
+ tval > accum->elapsed_max ? tval : accum->elapsed_max;
+ accum->elapsed_min =
+ tval < accum->elapsed_min ? tval : accum->elapsed_min;
+
+ // add elapsed time
+ accum->elapsed_accum += tval;
+ accum->on_estimate = 0;
+
+ return 0;
+}
+
+void __print_some_info(FILE * fp)
+{
+ if (!fp) {
+ return;
+ }
+ // comment
+ {
+ fprintf(fp, "\nb~ b~ b~\n\n");
+ }
+
+ // General infomation
+ {
+ time_t t_val;
+ char hostname[MP_TA_BUFF_SIZE] = { '\0', };
+ char buf[MP_TA_BUFF_SIZE] = { '\0', };
+ struct utsname uts;
+ struct rusage r_usage;
+
+ fprintf(fp, "\n[[ General info ]]\n");
+
+ // time and date
+ time(&t_val);
+ ctime_r(&t_val, buf);
+ fprintf(fp, "Date : %s", buf);
+
+ // system
+ if (gethostname(hostname, 255) == 0 && uname(&uts) >= 0) {
+ fprintf(fp, "Hostname : %s\n", hostname);
+ fprintf(fp, "System : %s\n", uts.sysname);
+ fprintf(fp, "Machine : %s\n", uts.machine);
+ fprintf(fp, "Nodename : %s\n", uts.nodename);
+ fprintf(fp, "Release : %s \n", uts.release);
+ fprintf(fp, "Version : %s \n", uts.version);
+ }
+ // process info.
+ fprintf(fp, "Process priority : %d\n",
+ getpriority(PRIO_PROCESS, getpid()));
+ getrusage(RUSAGE_SELF, &r_usage);
+ fprintf(fp, "CPU usage : User = %ld.%06ld, System = %ld.%06ld\n",
+ r_usage.ru_utime.tv_sec, r_usage.ru_utime.tv_usec,
+ r_usage.ru_stime.tv_sec, r_usage.ru_stime.tv_usec);
+
+
+ }
+
+ // host environment variables
+ {
+ extern char **environ;
+ char **env = environ;
+
+ fprintf(fp, "\n[[ Host environment variables ]]\n");
+ while (*env) {
+ fprintf(fp, "%s\n", *env);
+ env++;
+ }
+ }
+}
+
+void mp_ta_accum_show_result(int direction)
+{
+ int i = 0;
+ char format[MP_TA_BUFF_SIZE];
+ FILE *fp = stderr;
+
+ if (!mm_g_accums) {
+ return;
+ }
+
+ switch (direction) {
+ case MP_TA_SHOW_STDOUT:
+ fp = stdout;
+ break;
+ case MP_TA_SHOW_STDERR:
+ fp = stderr;
+ break;
+ case MP_TA_SHOW_FILE:{
+ fp = fopen(MP_TA_RESULT_FILE, "wt");
+ if (!fp) {
+ return;
+ }
+ }
+ }
+ __print_some_info(fp);
+
+#ifdef MP_TA_UNIT_MSEC
+ snprintf(format, sizeof(format),
+ "[%%3d]| %%-%ds | \tavg : %%7ld\tcalls : %%7ld\ttotal : %%9ld\tmin : %%9ld\tmax : %%9ld\tstart : %%9lu\tend : %%9lu\tunpair : %%3ld\n",
+ mm_g_accum_longest_name);
+ fprintf(fp,
+ "BEGIN RESULT ACCUM============================ : NumOfItems : %d, unit(msec)\n",
+ mm_g_accum_index);
+#else
+ snprintf(format, sizeof(format),
+ "[%%3d]%%-%ds\t|avg:\t%%7ld\tcalls:%%3ld total: %%7ld min:%%7ld max:%%7ld\n",
+ mm_g_accum_longest_name);
+ fprintf(fp,
+ "BEGIN RESULT ACCUM============================ : NumOfItems : %d, unit(usec)\n",
+ mm_g_accum_index);
+#endif
+
+ for (i = 0; i < mm_g_accum_index; i++) {
+ // prevent 'devide by zero' error
+ if (mm_g_accums[i]->num_calls == 0) {
+ mm_g_accums[i]->num_calls = 1;
+ }
+
+ fprintf(fp, format, i, mm_g_accums[i]->name, (mm_g_accums[i]->elapsed_accum == 0) ? 0 : (int) (mm_g_accums[i]->elapsed_accum / mm_g_accums[i]->num_calls), mm_g_accums[i]->num_calls, mm_g_accums[i]->elapsed_accum, // Fix it! : devide by zero.
+ mm_g_accums[i]->elapsed_min,
+ mm_g_accums[i]->elapsed_max,
+ mm_g_accums[i]->first_start - mm_g_accum_first_time,
+ mm_g_accums[i]->last_end - mm_g_accum_first_time,
+ mm_g_accums[i]->num_unpair);
+ }
+ fprintf(fp, "END RESULT ACCUM ============================\n");
+
+ if (direction == MP_TA_SHOW_FILE) {
+ fclose(fp);
+ }
+}
+
+bool mp_ta_is_init(void)
+{
+ return (bool) mm_g_accums;
+}
+
+static int g_level;
+static int g_max_level = 20;
+
+int mp_ta_increase_level(void)
+{
+ g_level++;
+
+ if (g_level > g_max_level) {
+ return g_max_level;
+ } else {
+ return g_level - 1;
+ }
+}
+
+int mp_ta_decrease_level(void)
+{
+ g_level--;
+ if (g_level > g_max_level) {
+ return g_max_level;
+ } else {
+ return g_level;
+ }
+}
+
+#endif
+//#endif //_MM_TA_C_
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <glib.h>
+
+#include <sys/time.h>
+#include <glib.h>
+#include <fcntl.h>
+#include <app.h>
+#include <media_content.h>
+
+#include "music.h"
+#include "mp-item.h"
+#include "mp-menu.h"
+#include "mp-ug-launch.h"
+#include "mp-define.h"
+
+#include "music.h"
+#include "mp-item.h"
+#include "mp-player-debug.h"
+#include "mp-widget.h"
+#include "mp-volume.h"
+
+
+#ifndef MP_SOUND_PLAYER
+#include "mp-common.h"
+#include "mp-list.h"
+#include "mp-media-info.h"
+#endif
+#include "mp-util.h"
+
+#define UG_EMAIL_NAME "email-composer-efl"
+#define UG_BT_NAME "setting-bluetooth-efl"
+#define MP_UG_INFO_PATH "path"
+#define MP_UG_INFO_ALBUMART "albumart"
+#define MP_UG_INFO_ARTIST "artist"
+#define MP_UG_INFO_ID "id"
+#define MP_UG_INFO_DESTROY "destroy"
+#define MP_UG_INFO_BACK "back"
+#define MP_UG_INFO_LOAD "load"
+#define MP_UG_INFO_ALBUMART_CLICKED "albumart_clicked"
+#define MP_UG_INFO_MEDIA_SVC_HANDLE "media_app_control_handle"
+#ifdef MP_FEATURE_INNER_SETTINGS
+#define MP_UG_MESSAGE_VAL_BACK "back"
+#endif
+
+/* for contact ug */
+#define CT_UG_REQUEST_SAVE_RINGTONE 42
+#define CT_UG_BUNDLE_TYPE "type"
+#define CT_UG_BUNDLE_PATH "ct_path"
+#define UG_CONTACTS_LIST "contacts-list-efl"
+
+int mp_ug_email_attatch_file(const char *filepath, void *user_data)
+{
+ bool ret =
+ mp_send_via_appcontrol(user_data, MP_SEND_TYPE_EMAIL, filepath);
+ return (ret) ? 0 : -1;
+}
+
+#ifndef MP_SOUND_PLAYER
+static void __mp_ug_gallery_result_cb(app_control_h request,
+ app_control_h reply,
+ app_control_result_e result,
+ void *data)
+{
+ startfunc;
+ int ret = 0;
+ DEBUG_TRACE("result : %d", result);
+
+ MP_CHECK(data);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ if (result == APP_CONTROL_RESULT_SUCCEEDED) {
+ char *result_filename;
+ ret = app_control_get_extra_data(reply, "path", &result_filename);
+ if (ret != APP_CONTROL_ERROR_NONE) {
+ ERROR_TRACE("app_control_get_extra_data() is failed : %d",
+ ret);
+ return;
+ }
+
+ if (result_filename) {
+ /*update thumbnail in db */
+ ret =
+ mp_media_info_playlist_set_thumbnail_path(data,
+ result_filename);
+ ERROR_TRACE("ret from set thumbnail is %d", ret);
+ mp_view_mgr_post_event(GET_VIEW_MGR,
+ MP_PLAYLIST_IMAGE_UPDATED);
+ char *popup_txt = NULL;
+ if (!ret) {
+ popup_txt = GET_SYS_STR("IDS_COM_POP_SUCCESS");
+ } else {
+ popup_txt = GET_SYS_STR("IDS_COM_POP_FAILED");
+ }
+
+ mp_widget_text_popup(ad, popup_txt);
+ } else {
+ ERROR_TRACE("No result");
+ }
+ }
+
+ endfunc;
+}
+
+int mp_ug_gallery_get_picture(void *data)
+{
+ startfunc;
+
+ int ret;
+ app_control_h svc_handle = NULL;
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_VAL(ad, -1);
+
+ if (app_control_create(&svc_handle) < 0 || svc_handle == NULL) {
+ ERROR_TRACE("app_control_create() is failed !!");
+ return -1;
+ }
+ int a, b;
+
+ evas_object_geometry_get(ad->win_main, NULL, NULL, &a, &b);
+ ERROR_TRACE("main window ----- win_width, win_height: [%d, %d]", a, b);
+
+ app_control_set_operation(svc_handle, APP_CONTROL_OPERATION_PICK);
+ app_control_set_app_id(svc_handle, "gallery-efl");
+ app_control_add_extra_data(svc_handle, "launch-type", "select-one");
+ app_control_add_extra_data(svc_handle, "file-type", "image");
+
+ ret =
+ app_control_send_launch_request(svc_handle,
+ __mp_ug_gallery_result_cb, data);
+ if (ret != APP_CONTROL_ERROR_NONE) {
+ ERROR_TRACE("app_control_send_launch_request is failed ret = %d",
+ ret);
+ app_control_destroy(svc_handle);
+ return -1;
+ }
+
+ app_control_destroy(svc_handle);
+
+ endfunc;
+ return 0;
+}
+
+
+static void __mp_ug_camera_result_cb(app_control_h request,
+ app_control_h reply,
+ app_control_result_e result,
+ void *data)
+{
+ startfunc;
+ int ret = 0;
+ DEBUG_TRACE("result : %d", result);
+ MP_CHECK(data);
+
+ if (result == APP_CONTROL_RESULT_SUCCEEDED) {
+ char *result_filename;
+ ret =
+ app_control_get_extra_data(reply, APP_CONTROL_DATA_SELECTED,
+ &result_filename);
+ if (ret != APP_CONTROL_ERROR_NONE) {
+ ERROR_TRACE("app_control_get_extra_data() is failed : %d",
+ ret);
+ return;
+ }
+
+ if (result_filename) {
+ ret =
+ mp_media_info_playlist_set_thumbnail_path(data,
+ result_filename);
+ mp_view_mgr_post_event(GET_VIEW_MGR,
+ MP_PLAYLIST_IMAGE_UPDATED);
+
+ } else {
+ ERROR_TRACE("No result");
+ }
+ }
+
+ endfunc;
+}
+
+int mp_ug_camera_take_picture(void *data)
+{
+ startfunc;
+
+ int ret;
+ app_control_h svc_handle = NULL;
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_VAL(ad, -1);
+
+ if (app_control_create(&svc_handle) < 0 || svc_handle == NULL) {
+ ERROR_TRACE("app_control_create() is failed !!");
+ return -1;
+ }
+ int a, b;
+
+ evas_object_geometry_get(ad->win_main, NULL, NULL, &a, &b);
+ ERROR_TRACE("main window ----- win_width, win_height: [%d, %d]", a, b);
+
+
+
+ app_control_set_operation(svc_handle,
+ APP_CONTROL_OPERATION_CREATE_CONTENT);
+ app_control_set_mime(svc_handle, "image/jpg");
+ app_control_add_extra_data(svc_handle, "CALLER", "music-player");
+ app_control_add_extra_data(svc_handle, "RESOLUTION", "VGA");
+
+ ret =
+ app_control_send_launch_request(svc_handle,
+ __mp_ug_camera_result_cb, data);
+ if (ret != APP_CONTROL_ERROR_NONE) {
+ ERROR_TRACE("app_control_send_launch_request is failed ret = %d",
+ ret);
+ app_control_destroy(svc_handle);
+ return -1;
+ }
+
+ app_control_destroy(svc_handle);
+
+ endfunc;
+ return 0;
+}
+#endif
+
+static void _mp_ug_contact_reply_cb(app_control_h request,
+ app_control_h reply,
+ app_control_result_e result,
+ void *user_data)
+{
+ startfunc;
+ char *value = NULL;
+ app_control_get_extra_data(reply, "is_success", &value);
+ DEBUG_TRACE("is_success: %s", value);
+
+ if (!g_strcmp0(value, "1")) {
+ mp_util_post_status_message(NULL,
+ GET_STR
+ (STR_MP_POP_CALLER_RINGTONE_SAVED));
+ }
+
+ IF_FREE(value);
+}
+
+int mp_ug_contact_user_sel(const char *filepath, void *user_data)
+{
+ startfunc;
+ app_control_h service = NULL;
+ int err = 0;
+
+ mp_retvm_if(filepath == NULL, -1, "file path is NULL");
+
+ if (app_control_create(&service) != APP_CONTROL_ERROR_NONE) {
+ ERROR_TRACE("Error: app_control_create");
+ return -1;
+ }
+
+ char buf[16];
+ snprintf(buf, sizeof(buf), "%d", CT_UG_REQUEST_SAVE_RINGTONE);
+ app_control_add_extra_data(service, CT_UG_BUNDLE_TYPE, buf);
+ app_control_add_extra_data(service, CT_UG_BUNDLE_PATH, filepath);
+
+ err = app_control_add_extra_data(service, "tone", filepath);
+ if (err != APP_CONTROL_ERROR_NONE) {
+ ERROR_TRACE("Error: app_control_add_extra_data().. [0x%x]", err);
+ app_control_destroy(service);
+ return -1;
+ }
+
+ err =
+ app_control_set_operation(service, APP_CONTROL_OPERATION_DEFAULT);
+ if (err != APP_CONTROL_ERROR_NONE) {
+ ERROR_TRACE("Error: app_control_set_operation().. [0x%x]", err);
+ app_control_destroy(service);
+ return -1;
+ }
+
+ err = app_control_set_app_id(service, UG_CONTACTS_LIST);
+ if (err != APP_CONTROL_ERROR_NONE) {
+ ERROR_TRACE("Error: app_control_set_app_id().. [0x%x]", err);
+ app_control_destroy(service);
+ return -1;
+ }
+ err =
+ app_control_send_launch_request(service, _mp_ug_contact_reply_cb,
+ NULL);
+ if (err != APP_CONTROL_ERROR_NONE) {
+ ERROR_TRACE("Error: app_control_send_launch_request().. [0x%x]",
+ err);
+ app_control_destroy(service);
+ return -1;
+ }
+
+ err = app_control_destroy(service);
+ if (err != APP_CONTROL_ERROR_NONE) {
+ ERROR_TRACE("Error: app_control_set_operation().. [0x%x]", err);
+ }
+
+ return 0;
+}
+
+int mp_ug_set_as_alarm_tone(const char *filepath, int position)
+{
+ startfunc;
+ app_control_h service = NULL;
+ int err = 0;
+ char *pos = NULL;
+
+ mp_retvm_if(filepath == NULL, -1, "file path is NULL");
+
+ if (app_control_create(&service) != APP_CONTROL_ERROR_NONE) {
+ ERROR_TRACE("Error: app_control_create");
+ return -1;
+ }
+
+ err = app_control_add_extra_data(service, "tone", filepath);
+ if (err != APP_CONTROL_ERROR_NONE) {
+ ERROR_TRACE("Error: app_control_add_extra_data().. [0x%x]", err);
+ app_control_destroy(service);
+ return -1;
+ }
+
+ if (position > 0) {
+ pos = g_strdup_printf("%d", position);
+ DEBUG_TRACE("pos: %s", pos);
+ err = app_control_add_extra_data(service, "position", pos);
+ IF_FREE(pos);
+ if (err != APP_CONTROL_ERROR_NONE) {
+ ERROR_TRACE("Error: app_control_add_extra_data().. [0x%x]",
+ err);
+ app_control_destroy(service);
+ return -1;
+ }
+ }
+
+ err = app_control_set_operation(service, APP_CONTROL_OPERATION_SEND);
+ if (err != APP_CONTROL_ERROR_NONE) {
+ ERROR_TRACE("Error: app_control_set_operation().. [0x%x]", err);
+ app_control_destroy(service);
+ return -1;
+ }
+
+ err = app_control_set_uri(service, filepath);
+ if (err != APP_CONTROL_ERROR_NONE) {
+ ERROR_TRACE("Error: app_control_set_uri().. [0x%x]", err);
+ app_control_destroy(service);
+ return -1;
+ }
+
+ err = app_control_set_app_id(service, "alarm-efl");
+ if (err != APP_CONTROL_ERROR_NONE) {
+ ERROR_TRACE("Error: app_control_set_app_id().. [0x%x]", err);
+ app_control_destroy(service);
+ return -1;
+ }
+ err = app_control_send_launch_request(service, NULL, NULL);
+ if (err != APP_CONTROL_ERROR_NONE) {
+ ERROR_TRACE("Error: app_control_send_launch_request().. [0x%x]",
+ err);
+ app_control_destroy(service);
+ return -1;
+ }
+
+ err = app_control_destroy(service);
+ if (err != APP_CONTROL_ERROR_NONE) {
+ ERROR_TRACE("Error: app_control_set_operation().. [0x%x]", err);
+ }
+
+ return 0;
+}
+
+bool
+mp_send_via_appcontrol(struct appdata * ad, mp_send_type_e send_type,
+ const char *files)
+{
+ startfunc;
+ MP_CHECK_FALSE(ad);
+
+ bool result = false;
+ const char *ug_name = NULL;
+
+ app_control_h service = NULL;
+ int ret = app_control_create(&service);
+ if (ret != APP_CONTROL_ERROR_NONE) {
+ mp_error("app_control_create()... [0x%x]", ret);
+ goto END;
+ }
+
+ ret = app_control_set_operation(service, APP_CONTROL_OPERATION_SEND);
+ if (ret != APP_CONTROL_ERROR_NONE) {
+ mp_error("app_control_set_operation()... [0x%x]", ret);
+ goto END;
+ }
+
+ ret = app_control_set_uri(service, files);
+ if (ret != APP_CONTROL_ERROR_NONE) {
+ mp_error("app_control_set_uri()... [0x%x]", ret);
+ goto END;
+ }
+
+ switch (send_type) {
+ case MP_SEND_TYPE_EMAIL:
+ ug_name = UG_EMAIL_NAME;
+ ret = app_control_add_extra_data(service, "RUN_TYPE", "5");
+ if (ret != APP_CONTROL_ERROR_NONE) {
+ mp_error("app_control_add_extra_data()... [0x%x]", ret);
+ goto END;
+ }
+ break;
+
+ default:
+ WARN_TRACE("Not supported type.. [%d]", send_type);
+ goto END;
+ }
+
+ ret = app_control_set_app_id(service, ug_name);
+ if (ret != APP_CONTROL_ERROR_NONE) {
+ mp_error("app_control_set_app_id()... [0x%x]", ret);
+ goto END;
+ }
+
+ ret = app_control_send_launch_request(service, NULL, NULL);
+ if (ret != APP_CONTROL_ERROR_NONE) {
+ mp_error("app_control_send_launch_request()... [0x%x]", ret);
+ goto END;
+ }
+
+ result = true;
+
+ END:
+ if (service) {
+ app_control_destroy(service);
+ service = NULL;
+ }
+
+ return result;
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include "music.h"
+#include "mp-util.h"
+#include <telephony.h>
+#include "mp-list.h"
+#include "mp-list-view.h"
+#include "mp-file-tag-info.h"
+#include "mp-playlist-mgr.h"
+#include "mp-ug-launch.h"
+#include "mp-widget.h"
+#include "mp-player-mgr.h"
+#include <app.h>
+#include <sound_manager.h>
+#include <player.h>
+#include <system_settings.h>
+#include <mime_type.h>
+#include <mp-file-util.h>
+#include <runtime_info.h>
+#include <storage/storage.h>
+#include <device/display.h>
+#include <device/callback.h>
+#include <device/power.h>
+#include <notification.h>
+#include "metadata_extractor.h"
+#ifndef MP_SOUND_PLAYER
+#include "mp-common.h"
+#endif
+
+bool track_deleted = false;
+#define SINGLE_BYTE_MAX 0x7F
+#define PATH_MAX 4096
+static int external_mmc_id = -1;
+static int internal_device_id = -1;
+
+struct index_s {
+ const char *index;
+ unsigned short start;
+ unsigned short end;
+};
+
+static struct index_s multi_index[] = {
+ {"\xE3\x84\xB1", 0xAC00, 0xB098}, /* Kiyeok + A */
+ {"\xE3\x84\xB4", 0xB098, 0xB2E4}, /* Nieun + A */
+ {"\xE3\x84\xB7", 0xB2E4, 0xB77C},
+ {"\xE3\x84\xB9", 0xB77C, 0xB9C8},
+ {"\xE3\x85\x81", 0xB9C8, 0xBC14},
+ {"\xE3\x85\x82", 0xBC14, 0xC0AC},
+ {"\xE3\x85\x85", 0xC0AC, 0xC544},
+ {"\xE3\x85\x87", 0xC544, 0xC790},
+ {"\xE3\x85\x88", 0xC790, 0xCC28},
+ {"\xE3\x85\x8A", 0xCC28, 0xCE74},
+ {"\xE3\x85\x8B", 0xCE74, 0xD0C0},
+ {"\xE3\x85\x8C", 0xD0C0, 0xD30C},
+ {"\xE3\x85\x8D", 0xD30C, 0xD558},
+ {"\xE3\x85\x8E", 0xD558, 0xD7A4}, /* Hieuh + A */
+
+ {"\xE3\x84\xB1", 0x3131, 0x3134}, /* Kiyeok */
+ {"\xE3\x84\xB4", 0x3134, 0x3137}, /* Nieun */
+ {"\xE3\x84\xB7", 0x3137, 0x3139},
+ {"\xE3\x84\xB9", 0x3139, 0x3141},
+ {"\xE3\x85\x81", 0x3141, 0x3142},
+ {"\xE3\x85\x82", 0x3142, 0x3145},
+ {"\xE3\x85\x85", 0x3145, 0x3147},
+ {"\xE3\x85\x87", 0x3147, 0x3148},
+ {"\xE3\x85\x88", 0x3148, 0x314A},
+ {"\xE3\x85\x8A", 0x314A, 0x314B},
+ {"\xE3\x85\x8B", 0x314B, 0x314C},
+ {"\xE3\x85\x8C", 0x314C, 0x314D},
+ {"\xE3\x85\x8D", 0x314D, 0x314E},
+ {"\xE3\x85\x8E", 0x314E, 0x314F}, /* Hieuh */
+};
+
+static char *single_upper_index[] = {
+ "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N",
+ "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"
+};
+
+static char *single_lower_index[] = {
+ "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n",
+ "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"
+};
+
+
+static char *single_numeric_index[] = {
+ "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "."
+};
+
+static const char *kor_sec[] = {
+ "\xe3\x85\x8f", /* A */
+ "\xe3\x85\x90", /* AE */
+ "\xe3\x85\x91", /* YA */
+ "\xe3\x85\x92",
+ "\xe3\x85\x93",
+ "\xe3\x85\x94",
+ "\xe3\x85\x95",
+ "\xe3\x85\x96",
+ "\xe3\x85\x97",
+ "\xe3\x85\x98",
+ "\xe3\x85\x99",
+ "\xe3\x85\x9a",
+ "\xe3\x85\x9b",
+ "\xe3\x85\x9c",
+ "\xe3\x85\x9d",
+ "\xe3\x85\x9e",
+ "\xe3\x85\x9f",
+ "\xe3\x85\xa0",
+ "\xe3\x85\xa1",
+ "\xe3\x85\xa2",
+ "\xe3\x85\xa3",
+};
+
+extern struct appdata *g_ad;
+
+EXPORT_API struct appdata *mp_util_get_appdata(void)
+{
+ return g_ad;
+}
+
+static int _mp_util_get_len(const char *p)
+{
+ int r = -1;
+
+ return r;
+}
+
+static unsigned short _mp_util_utf8_to_ucs2(const char *p)
+{
+ unsigned short r = 0;
+ int len;
+
+ len = _mp_util_get_len(p);
+ if (len == -1 || len > 3) {
+ return r;
+ }
+
+ switch (len) {
+ case 1:{
+ r = *p & 0x7F;
+ break;
+ }
+ case 2:{
+ r = *p & 0x1F;
+ break;
+ }
+ case 3:{
+ r = *p & 0x0F;
+ break;
+ }
+ default:{
+ break;
+ }
+ }
+
+ while (len > 1) {
+ r = r << 6;
+ p++;
+ r |= *p & 0x3F;
+ len--;
+ }
+
+ return r;
+}
+
+static const char *_mp_util_get_single(const char *p)
+{
+ int c = (int) *p;
+
+ if (islower(c) != 0) {
+ return single_lower_index[c - 'a'];
+ } else if (isupper(c) != 0) {
+ return single_upper_index[c - 'A'];
+ } else if (48 <= c && 57 >= c) {
+ return single_numeric_index[c - '0'];
+ } else {
+ return single_numeric_index[10];
+ }
+
+ return NULL;
+}
+
+static const char *_mp_util_get_multi(unsigned short u)
+{
+ int i;
+
+ for (i = 0; i < sizeof(multi_index) / sizeof(struct index_s); i++) {
+ if (u >= multi_index[i].start && u < multi_index[i].end) {
+ return multi_index[i].index;
+ }
+ }
+ return NULL;
+}
+
+static char *_mp_util_get_next_char(const char *p)
+{
+ int n;
+
+ MP_CHECK_NULL(p);
+
+ n = _mp_util_get_len(p);
+ if (n == -1) {
+ return NULL;
+ }
+
+ if (strlen(p) < n) {
+ return NULL;
+ }
+
+ DEBUG_TRACE("%s", &p[n]);
+
+ return (char *) &p[n];
+}
+
+
+static const char *_mp_util_get_second_kor(unsigned short u)
+{
+ unsigned short t;
+
+ t = u - 0xAC00;
+ t = (t / 28) % 21;
+
+ return kor_sec[t];
+}
+
+void mp_util_format_duration(char *time, int ms)
+{
+ int sec = (ms) / 1000;
+ int min = sec / 60;
+
+ int hour = min / 60;
+ snprintf(time, TIME_FORMAT_LEN, "%02u:%02u:%02u", hour, min % 60,
+ sec % 60);
+}
+
+void mp_util_song_format_duration(char *time, int ms)
+{
+ int sec = (ms) / 1000;
+ int min = sec / 60;
+
+ if (min >= 10) {
+ int hour = min / 60;
+ snprintf(time, TIME_FORMAT_LEN, "%02u:%02u:%02u", hour, min % 60,
+ sec % 60);
+ } else {
+ snprintf(time, TIME_FORMAT_LEN, "%02u:%02u", min, sec % 60);
+ }
+}
+
+const char *mp_util_get_index(const char *p)
+{
+ if (p == NULL) {
+ return NULL;
+ }
+
+ if ((unsigned char) *p < SINGLE_BYTE_MAX) {
+ return _mp_util_get_single(p);
+ }
+
+ return _mp_util_get_multi(_mp_util_utf8_to_ucs2(p));
+}
+
+const char *mp_util_get_second_index(const char *p)
+{
+ unsigned short u2;
+
+ if (p == NULL) {
+ return NULL;
+ }
+
+ if ((unsigned char) *p < SINGLE_BYTE_MAX) {
+ return mp_util_get_index(_mp_util_get_next_char(p));
+ }
+
+ u2 = _mp_util_utf8_to_ucs2(p);
+ if (u2 >= 0xAC00 && u2 < 0xD7A4) {
+ return _mp_util_get_second_kor(u2);
+ }
+
+ return mp_util_get_index(_mp_util_get_next_char(p));
+}
+
+bool mp_util_add_to_playlist_by_key(int playlist_id, char *key_id)
+{
+ int err;
+ {
+ err = mp_media_info_playlist_add_media(playlist_id, key_id);
+ if (err != 0) {
+ ERROR_TRACE("Error in mp_media_info_playlist_add_media (%d)\n",
+ err);
+ return FALSE;
+ }
+ }
+ return TRUE;
+}
+
+Evas_Object *mp_util_create_image(Evas_Object * obj, const char *path,
+ const char *group, int w, int h)
+{
+ MP_CHECK_NULL(obj);
+
+ Evas_Object *image = elm_image_add(obj);
+ if (w == h) {
+ elm_image_prescale_set(image, w);
+ elm_image_fill_outside_set(image, true);
+ }
+
+ elm_image_smooth_set(image, EINA_TRUE);
+ elm_image_aspect_fixed_set(image, EINA_TRUE);
+
+ int path_allocated = 0;
+ if (!path) {
+ char default_thumbnail[1024] = { 0 };
+ char *shared_path = app_get_shared_resource_path();
+ snprintf(default_thumbnail, 1024, "%s%s/%s", shared_path,
+ "shared_images", DEFAULT_THUMBNAIL);
+ free(shared_path);
+ path = g_strdup(default_thumbnail);
+ path_allocated = 1;
+ }
+
+ char mp_image_path[1024] = { 0 };
+ char *shared_path = app_get_shared_resource_path();
+ if (shared_path) {
+ snprintf(mp_image_path, 1024, "%s%s", shared_path,
+ "shared_images/play_icon_shuffle.png");
+ free(shared_path);
+ DEBUG_TRACE("Shuffle Icon path is: %s", mp_image_path);
+ elm_image_file_set(image, mp_image_path, NULL);
+ } else {
+ elm_image_file_set(image, path, group);
+ }
+
+ if (path_allocated) {
+ free(path);
+ }
+
+ elm_image_resizable_set(image, EINA_TRUE, EINA_TRUE);
+ evas_object_size_hint_align_set(image, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_size_hint_weight_set(image, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ evas_object_show(image);
+
+ return image;
+}
+
+Evas_Object *mp_util_create_thumb_icon(Evas_Object * obj, const char *path,
+ int w, int h)
+{
+ Evas_Object *thumbnail = elm_image_add(obj);
+ if (w == h) {
+ elm_image_prescale_set(thumbnail, w);
+ elm_image_fill_outside_set(thumbnail, EINA_FALSE);
+ elm_image_aspect_fixed_set(thumbnail, EINA_TRUE);
+ }
+
+ if ((!path)
+ || !g_file_test(path, G_FILE_TEST_EXISTS | G_FILE_TEST_IS_REGULAR)
+ || !strcmp(BROKEN_ALBUMART_IMAGE_PATH, path)) {
+ char default_thumbnail[1024] = { 0 };
+ char *shared_path = app_get_shared_resource_path();
+ snprintf(default_thumbnail, 1024, "%s%s/%s", shared_path,
+ "shared_images", DEFAULT_THUMBNAIL);
+ free(shared_path);
+ path = g_strdup(default_thumbnail);
+ }
+ elm_image_file_set(thumbnail, path, NULL);
+
+ evas_object_size_hint_align_set(thumbnail, EVAS_HINT_FILL,
+ EVAS_HINT_FILL);
+ evas_object_size_hint_weight_set(thumbnail, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ evas_object_show(thumbnail);
+
+ return thumbnail;
+}
+
+Evas_Object *mp_util_create_lazy_update_thumb_icon(Evas_Object * obj,
+ const char *path, int w,
+ int h)
+{
+ return mp_util_create_thumb_icon(obj, path, w, h);
+}
+
+
+Evas_Object *mp_util_create_selectioninfo_with_count(void *data, int count)
+{
+ startfunc;
+ MpView_t *view = data;
+ MP_CHECK_NULL(view);
+ if (count > 0) {
+ char *text = g_strdup_printf(GET_STR(STR_MP_SELECT_ITEMS), count);
+ mp_view_set_title(view, text);
+ IF_FREE(text);
+ } else {
+ mp_view_set_title(view, STR_MP_TILTE_SELECT_ITEM);
+ }
+
+ return NULL;
+
+}
+
+void mp_util_post_status_message(struct appdata *ad, const char *text)
+{
+ int ret = notification_status_message_post(text);
+ if (ret != 0) {
+ ERROR_TRACE("notification_status_message_post()... [0x%x]", ret);
+ } else {
+ mp_debug("message: [%s]", text);
+ }
+}
+
+void mp_util_post_add_to_playlist_popup_message(int count)
+{
+ MP_CHECK(count > 0);
+ int ret = 0;
+ char *message = NULL;
+ if (count > 1) {
+ message =
+ g_strdup_printf(GET_STR(STR_MP_POP_ADDED_TO_PLAYLIST), count);
+ ret = notification_status_message_post(message);
+ IF_FREE(message);
+ } else if (count == 1) {
+ ret =
+ notification_status_message_post(GET_STR
+ (STR_MP_POP_ADDED_1_TO_PLAYLIST));
+ }
+ if (ret != 0) {
+ ERROR_TRACE("notification_status_message_post()... [0x%x]", ret);
+ }
+}
+
+int mp_util_share_via_email(const char *formed_path, void *data)
+{
+ if (mp_ug_email_attatch_file(formed_path, data)) {
+ return -1;
+ }
+
+ return 0;
+}
+
+char *mp_util_get_new_playlist_name(void)
+{
+ char unique_name[MP_PLAYLIST_NAME_SIZE] = "\0";
+ int ret = 0;
+ ret =
+ mp_media_info_playlist_unique_name(GET_STR(STR_MP_MY_PLAYLIST),
+ unique_name,
+ MP_PLAYLIST_NAME_SIZE);
+ if (ret == 0) {
+ if (strlen(unique_name) <= 0) {
+ ERROR_TRACE("playlist name is NULL");
+ return NULL;
+ } else {
+ return g_strdup(unique_name);
+ }
+ } else {
+ ERROR_TRACE
+ ("fail to mp_media_info_playlist_unique_name() : error code [%x] ",
+ ret);
+ return NULL;
+ }
+
+ return NULL;
+}
+
+//Note: This function can be called from delete thread.
+//Do not call any function that is not thread safty!! especially UIFW functions
+mp_file_delete_err_t
+mp_util_delete_track(void *data, char *fid, char *file_path)
+{
+ int ret = 0;
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_FALSE(ad);
+
+ ad->is_sdcard_removed = true;
+
+ MP_CHECK_VAL(fid, MP_FILE_DELETE_ERR_INVALID_FID);
+
+ char *path = NULL;
+ mp_media_info_h item = NULL;
+ if (!file_path) {
+ mp_media_info_create(&item, fid);
+ if (item) {
+ mp_media_info_get_file_path(item, &path);
+ if (!path) {
+ mp_media_info_destroy(item);
+ }
+ }
+ MP_CHECK_VAL(path, MP_FILE_DELETE_ERR_INVALID_FID);
+ } else {
+ path = file_path;
+ }
+
+ DEBUG_TRACE("path: %s", path);
+ ret = remove(path);
+ mp_media_info_delete_from_db(path);
+ track_deleted = true;
+
+ if (item) {
+ mp_media_info_destroy(item);
+ }
+
+ if (ret < 0) {
+ ERROR_TRACE("fail to remove file, ret: %d", ret);
+ return MP_FILE_DELETE_ERR_REMOVE_FAIL;
+ }
+
+ return MP_FILE_DELETE_ERR_NONE;
+}
+
+int mp_util_file_is_in_phone_memory(const char *path)
+{
+ MP_CHECK_VAL(path, 0);
+ int phone_len = 0;
+ char *phone_path = MP_PHONE_ROOT_PATH;
+
+ if (!phone_path) {
+ return 1;
+ }
+
+ phone_len = strlen(phone_path);
+
+ if (!strncmp(phone_path, path, phone_len)) {
+ IF_FREE(phone_path);
+ return 1;
+ } else {
+ IF_FREE(phone_path);
+ return 0;
+ }
+}
+
+// return value must be freed.
+char *mp_util_isf_get_edited_str(Evas_Object * isf_entry,
+ bool permit_first_blank)
+{
+
+ const char *buf = NULL;
+ char *strip_msg = NULL;
+ int strip_len = 0;
+
+ if (!isf_entry) {
+ return strdup("");
+ }
+ buf = elm_entry_entry_get(isf_entry);
+ if (!buf) {
+ return strdup("");
+ }
+
+ strip_msg = elm_entry_markup_to_utf8(buf);
+
+ if (strip_msg != NULL) {
+ strip_len = strlen(strip_msg);
+
+ if (strip_len > 0) {
+ if (strip_msg[0] == ' ' && !permit_first_blank) { //start with space
+ DEBUG_TRACE("Filename should not be started with blank");
+ free(strip_msg);
+ return strdup("");
+ }
+
+ if (strip_msg[strip_len - 1] == '\n'
+ || strip_msg[strip_len - 1] == '\r') {
+ strip_msg[strip_len - 1] = '\0';
+ }
+ DEBUG_TRACE("===== The new edited str = %s", strip_msg);
+ return strip_msg;
+ } else {
+ DEBUG_TRACE(" strip_msg length is [%d], strip_msg [%s]",
+ strip_len, strip_msg);
+ return strip_msg;
+ }
+ } else {
+ DEBUG_TRACE("strip_msg is NULL");
+ return strdup("");
+ }
+}
+
+bool mp_util_set_screen_mode(void *data, int mode)
+{
+ struct appdata *ad = data;
+
+ ad->current_appcore_rm = mode; //set current appcore rm
+ elm_win_screen_size_get(ad->win_main, NULL, NULL, &ad->screen_width,
+ &ad->screen_height);
+
+ if (mode == APP_DEVICE_ORIENTATION_270
+ || mode == APP_DEVICE_ORIENTATION_90) {
+ ad->screen_mode = MP_SCREEN_MODE_LANDSCAPE;
+ mp_debug("Set MP_SCREEN_MODE_LANDSCAPE");
+ } else if (mode == APP_DEVICE_ORIENTATION_0
+ || mode == APP_DEVICE_ORIENTATION_180) {
+ ad->screen_mode = MP_SCREEN_MODE_PORTRAIT;
+ mp_debug("Set MP_SCREEN_MODE_PORTRAIT");
+ }
+ return true;
+}
+
+void mp_to_lower(char *str)
+{
+ int i = 0;
+ while (str[i] != '\0') {
+ if (str[i] >= 'A' && str[i] <= 'Z') {
+ str[i] = str[i] + 32;
+ }
+ i++;
+ }
+}
+
+bool mp_check_file_exist(const char *path)
+{
+ if (path == NULL || strlen(path) == 0) {
+ return FALSE;
+ }
+
+ bool mmc_removed = mp_util_is_mmc_removed();
+
+ char *temp_path = g_strdup(path);
+ mp_to_lower(temp_path);
+ if (mmc_removed && strstr(temp_path, "sdcard") == path) {
+ IF_G_FREE(temp_path);
+ return false;
+ }
+
+ IF_G_FREE(temp_path);
+ if (strstr(path, MP_FILE_PREFIX)) {
+ if (!g_file_test
+ (path + strlen(MP_FILE_PREFIX),
+ G_FILE_TEST_EXISTS | G_FILE_TEST_IS_REGULAR)) {
+ ERROR_TRACE("file not exist: %s", path);
+ return FALSE;
+ }
+ return TRUE;
+ } else {
+ if (!g_file_test
+ (path, G_FILE_TEST_EXISTS | G_FILE_TEST_IS_REGULAR)) {
+ ERROR_TRACE("file not exist: %s", path);
+ return FALSE;
+ }
+ return TRUE;
+ }
+ return TRUE;
+}
+
+bool mp_util_text_multiline_check(Evas_Object * obj, const char *text,
+ const char *textstyle, int text_width,
+ int text_height)
+{
+ MP_CHECK_FALSE(obj);
+ Evas_Object *tb;
+ Evas_Coord ww = 0;
+ Evas_Coord hh = 0;
+ Evas_Textblock_Style *st = NULL;
+ Evas_Textblock_Cursor *cur = NULL;
+ char *strbuf = NULL;
+
+ tb = evas_object_textblock_add(evas_object_evas_get(obj));
+ if (!tb) {
+ goto END;
+ }
+ evas_object_textblock_legacy_newline_set(tb, EINA_FALSE);
+ st = evas_textblock_style_new();
+ if (!st) {
+ goto END;
+ }
+ evas_textblock_style_set(st, textstyle);
+ evas_object_textblock_style_set(tb, st);
+ cur = evas_object_textblock_cursor_new(tb);
+ strbuf = elm_entry_markup_to_utf8(text);
+ if (!strbuf) {
+ goto END;
+ }
+ evas_object_textblock_text_markup_set(tb, strbuf);
+ evas_textblock_cursor_format_prepend(cur, "+ wrap=mixed");
+ evas_object_resize(tb, text_width, 1000);
+ evas_object_textblock_size_formatted_get(tb, &ww, &hh);
+
+ END:
+ IF_FREE(strbuf);
+ mp_evas_object_del(tb);
+
+ if (st) {
+ evas_textblock_style_free(st);
+ st = NULL;
+ }
+ if (cur) {
+ evas_textblock_cursor_free(cur);
+ cur = NULL;
+ }
+ if (hh > text_height) {
+ return TRUE;
+ } else {
+ return FALSE;
+ }
+}
+
+
+bool mp_util_file_playable(const char *uri)
+{
+ metadata_extractor_h metadata = NULL;
+ char *value = NULL;
+ bool res = false;
+ int ret = METADATA_EXTRACTOR_ERROR_NONE;
+
+ if (!mp_check_file_exist(uri)) {
+ return false;
+ }
+
+ ret = metadata_extractor_create(&metadata);
+ MP_CHECK_FALSE(metadata);
+ if (ret != METADATA_EXTRACTOR_ERROR_NONE) {
+ ERROR_TRACE("create error");
+ }
+
+ ret = metadata_extractor_set_path(metadata, uri);
+ if (ret != METADATA_EXTRACTOR_ERROR_NONE) {
+ ERROR_TRACE("set path error");
+ }
+
+ metadata_extractor_get_metadata(metadata, METADATA_HAS_AUDIO, &value);
+
+ if (value && g_strcmp0(value, "0")) {
+ res = true;
+ }
+
+ IF_FREE(value);
+ metadata_extractor_destroy(metadata);
+ DEBUG_TRACE("playable[%d]", res);
+ return res;
+}
+
+char *mp_util_file_mime_type_get(const char *uri)
+{
+ int retcode = -1;
+ char *mime = NULL;
+
+ if (!mp_check_file_exist(uri)) {
+ return NULL;
+ }
+
+ char *extension = strrchr(uri, '.');
+ char *file_ext = g_strdup(extension + 1);
+ retcode = mime_type_get_mime_type(file_ext, &mime);
+ if ((mime == NULL) || (retcode != MIME_TYPE_ERROR_NONE)) {
+ free(file_ext);
+ WARN_TRACE("Fail to get mime type with return value [%d]",
+ retcode);
+ return NULL;
+ }
+ if (file_ext) {
+ free(file_ext);
+ }
+ return mime;
+}
+
+bool mp_util_launch_browser(const char *url, struct appdata * ad)
+{
+
+ app_control_h service;
+ bool res;
+ app_control_create(&service);
+ app_control_set_operation(service, APP_CONTROL_OPERATION_DEFAULT);
+ app_control_set_app_id(service, "com.samsung.browser");
+ app_control_set_uri(service, url);
+
+ if (app_control_send_launch_request(service, NULL, NULL) ==
+ APP_CONTROL_ERROR_NONE) {
+ DEBUG_TRACE("Succeeded to launch a calculator app.");
+ res = true;
+ } else {
+ DEBUG_TRACE("Failed to launch a calculator app.");
+ res = false;
+ }
+ app_control_destroy(service);
+
+ return res;
+}
+
+
+//korean initial consonant
+gunichar mp_util_get_utf8_initial_value(const char *name)
+{
+ gunichar first;
+ char *next = NULL;
+ MP_CHECK_VAL(name, 0);
+
+ if (g_utf8_strlen(name, -1) <= 0) {
+ return 0;
+ }
+
+ first = g_utf8_get_char_validated(name, g_utf8_strlen(name, -1));
+ if (first == (gunichar) - 1 || first == (gunichar) - 2) {
+ DEBUG_TRACE
+ ("failed to convert a sequence of bytes encoded as UTF-8 to a Unicode character.");
+ return 0;
+ }
+
+ next = (char *) name;
+
+ while (!g_unichar_isgraph(first)) {
+ next = g_utf8_next_char(next);
+ first = g_utf8_get_char_validated(next, g_utf8_strlen(name, -1));
+ if (first == (gunichar) - 1 || first == (gunichar) - 2) {
+ DEBUG_TRACE
+ ("failed to convert a sequence of bytes encoded as UTF-8 to a Unicode character.");
+ return 0;
+ }
+ }
+
+ if (first >= 0xAC00 && first <= 0xD7A3) {
+ //korean
+ int index = 0;
+ index = ((((first - 0xAC00) - ((first - 0xAC00) % 28)) / 28) / 21);
+ if (index < 20 && index >= 0) {
+ const gunichar chosung[20] = {
+ 0x3131, 0x3132, 0x3134, 0x3137, 0x3138,
+ 0x3139, 0x3141, 0x3142, 0x3143, 0x3145,
+ 0x3146, 0x3147, 0x3148, 0x3149, 0x314a,
+ 0x314b, 0x314c, 0x314d, 0x314e, 0
+ };
+
+ return chosung[index];
+ }
+ } else {
+ return first;
+ }
+ return 0;
+}
+
+
+char *mp_util_get_title_from_path(const char *path)
+{
+ gchar *file_ext = NULL, *file_name = NULL, *title = NULL;
+
+ if (path == NULL || strlen(path) == 0) {
+ return NULL;
+ }
+
+ file_name = g_path_get_basename(path);
+ if (file_name) {
+ file_ext = g_strrstr(file_name, ".");
+ if (file_ext) {
+ title =
+ g_strndup(file_name, strlen(file_name) - strlen(file_ext));
+ }
+ free(file_name);
+ }
+ DEBUG_TRACE("title = %s", title);
+ return title;
+}
+
+bool mp_util_is_playlist_name_valid(char *name)
+{
+ MP_CHECK_FALSE(name);
+
+ char *test_space = strdup(name);
+ if (strlen(g_strchug(test_space)) == 0) {
+ IF_FREE(test_space);
+ return FALSE;
+ }
+ IF_FREE(test_space);
+ return TRUE;
+}
+
+int
+mp_util_create_playlist(struct appdata *ad, char *name,
+ mp_playlist_h * playlist_handle)
+{
+ MP_CHECK_VAL(ad, -1);
+ MP_CHECK_VAL(name, -1);
+
+ int plst_uid = -1;
+
+ if (!mp_util_is_playlist_name_valid(name)) {
+ mp_widget_text_popup(ad,
+ GET_STR
+ ("IDS_MUSIC_POP_UNABLE_CREATE_PLAYLIST"));
+ return -1;
+ }
+
+ bool exist = false;
+ int ret = mp_media_info_playlist_is_exist(name, &exist);
+ if (ret != 0) {
+ ERROR_TRACE("Fail to get playlist count by name: %d", ret);
+ mp_widget_text_popup(ad,
+ GET_STR
+ ("IDS_MUSIC_POP_UNABLE_CREATE_PLAYLIST"));
+ return -1;
+ }
+
+ if (exist) {
+ char *text =
+ g_strdup_printf(GET_STR(STR_MP_POP_PLAYLIST_EXISTS), name);
+ mp_widget_text_popup(ad, text);
+ IF_FREE(text);
+ return -1;
+ }
+
+ ret =
+ mp_media_info_playlist_insert_to_db(name, &plst_uid,
+ playlist_handle);
+ if (ret != 0) {
+ ERROR_TRACE("Fail to get playlist count by name: %d", ret);
+ mp_widget_text_popup(ad,
+ GET_SYS_STR("IDS_COM_BODY_UNABLE_TO_ADD"));
+ *playlist_handle = NULL;
+ return -1;
+ }
+
+ return plst_uid;
+}
+
+void mp_util_reset_genlist_mode_item(Evas_Object * genlist)
+{
+ MP_CHECK(genlist);
+ Elm_Object_Item *gl_item =
+ (Elm_Object_Item *) elm_genlist_decorated_item_get(genlist);
+ if (gl_item) {
+ elm_genlist_item_decorate_mode_set(gl_item, "slide", EINA_FALSE);
+ elm_genlist_item_select_mode_set(gl_item,
+ ELM_OBJECT_SELECT_MODE_DEFAULT);
+ mp_list_item_data_t *item_data = elm_object_item_data_get(gl_item);
+ MP_CHECK(item_data);
+ item_data->checked = true;
+ }
+}
+
+bool mp_util_is_image_valid(Evas * evas, const char *path)
+{
+ if (!path) {
+ return false;
+ }
+ MP_CHECK_FALSE(evas);
+
+ if (!mp_file_exists(path)) {
+ return false;
+ }
+
+ Evas_Object *image = NULL;
+ int width = 0;
+ int height = 0;
+
+ image = evas_object_image_add(evas);
+ MP_CHECK_FALSE(image);
+ evas_object_image_file_set(image, path, NULL);
+ evas_object_image_size_get(image, &width, &height);
+ evas_object_del(image);
+
+ if (width <= 0 || height <= 0) {
+ return false;
+ }
+ return true;
+}
+
+#define MP_PATH_INFO_MAX_LENGTH 30
+#define MP_PATH_INFO_TRANS_OMIT ".."
+#define MP_PATH_INFO_LEVEL_BOUNDARY 3
+#define MP_PATH_INFO_LEN_THRESHOLD 3
+#define MP_PATH_INFO_SEP "/"
+#define MP_PATH_INFO_RETRENCH 128
+
+bool mp_util_is_string_elipsized(char *path)
+{
+ MP_CHECK_FALSE(path);
+ if (strlen(path) < MP_PATH_INFO_MAX_LENGTH) {
+ return false;
+ } else {
+ return true;
+ }
+}
+
+char *mp_util_path_info_retrench(const char *string)
+{
+ mp_retvm_if(string == NULL, g_strdup(MP_PATH_INFO_TRANS_OMIT),
+ "input path is NULL");
+ char *retrench = NULL;
+ if (strlen(string) > MP_PATH_INFO_LEN_THRESHOLD) {
+ char *utf8_string = elm_entry_utf8_to_markup(string);
+ MP_CHECK_NULL(utf8_string);
+ if (g_utf8_strlen(utf8_string, -1) > 2) {
+ retrench = calloc(1, MP_PATH_INFO_RETRENCH);
+ if (retrench) {
+ g_utf8_strncpy(retrench, utf8_string, 2);
+ char *temp = retrench;
+ retrench =
+ g_strconcat(retrench, MP_PATH_INFO_TRANS_OMIT, NULL);
+ free(utf8_string);
+ free(temp);
+ } else {
+ free(utf8_string);
+ }
+
+ } else {
+ retrench = utf8_string;
+ }
+ } else {
+ retrench = elm_entry_utf8_to_markup(string);
+ }
+ return retrench;
+}
+
+char *mp_util_shorten_path(char *path_info)
+{
+ int start = 0;
+ gchar **params = NULL;
+ int count = 0;
+ int i = 0;
+ int j = 0;
+ char *output = NULL;
+ char *temp = NULL;
+ char *base = NULL;
+ bool exception = true;
+
+ MP_CHECK_EXCEP(path_info);
+
+ if (!mp_util_is_string_elipsized(path_info)) {
+ return g_strdup(path_info);
+ }
+
+ params = g_strsplit(path_info, "/", 0);
+ MP_CHECK_EXCEP(params);
+
+ count = g_strv_length(params);
+
+ if (count > MP_PATH_INFO_LEVEL_BOUNDARY) {
+ start = count - MP_PATH_INFO_LEVEL_BOUNDARY;
+ output = g_strdup("..");
+ } else {
+ output = g_strdup("");
+ }
+ MP_CHECK_EXCEP(output);
+
+ for (i = start; i < count; i++) {
+ base = g_strdup(output);
+ MP_CHECK_EXCEP(base);
+ for (j = i; j < count; j++) {
+ temp = g_strconcat(base, MP_PATH_INFO_SEP, params[j], NULL);
+ IF_FREE(base);
+ base = temp;
+ temp = NULL;
+ }
+
+ if (i == (count - 1) || !mp_util_is_string_elipsized(base)) {
+ IF_FREE(output);
+ output = base;
+ base = NULL;
+ break;
+ } else {
+ char *retrench = mp_util_path_info_retrench(params[i]);
+ MP_CHECK_EXCEP(retrench);
+ IF_FREE(base);
+ base = g_strconcat(output, MP_PATH_INFO_SEP, retrench, NULL);
+ IF_FREE(output);
+ free(retrench);
+ output = base;
+ base = NULL;
+ }
+ }
+
+ exception = false;
+
+ mp_exception:
+
+
+ if (params) {
+ g_strfreev(params);
+ }
+
+ if (exception) {
+ IF_FREE(output);
+ IF_FREE(base);
+ return g_strdup(GET_SYS_STR("IDS_COM_BODY_UNKNOWN"));
+ } else {
+ return output;
+ }
+}
+
+bool mp_util_is_earjack_inserted(void)
+{
+ int value;
+ if (runtime_info_get_value_int
+ (RUNTIME_INFO_KEY_AUDIO_JACK_STATUS, &value)) {
+ DEBUG_TRACE("Failed to get ear jack status");
+ return false;
+ }
+
+ if (value == RUNTIME_INFO_AUDIO_JACK_STATUS_UNCONNECTED) {
+ return false;
+ } else {
+ return true;
+ }
+}
+
+void mp_util_get_sound_path(mp_snd_path * snd_path)
+{
+ //Replaced for _prod dependency start
+ sound_device_h device;
+ sound_device_type_e type = SOUND_DEVICE_BUILTIN_SPEAKER;
+ sound_device_list_h g_device_list = NULL;
+ sound_device_mask_e g_device_mask = SOUND_DEVICE_IO_DIRECTION_OUT_MASK;
+ WARN_TRACE("Enter sound_manager_get_active_device");
+ int ret = SOUND_MANAGER_ERROR_NONE;
+ if ((ret =
+ sound_manager_get_device_list(g_device_mask,
+ &g_device_list))) {
+ ERROR_TRACE("sound_manager_get_active_device()... [0x%x]", ret);
+ }
+
+ if (!(ret = sound_manager_get_next_device(g_device_list, &device))) {
+ ERROR_TRACE("success to get next device\n");
+ if ((ret = sound_manager_get_device_type(device, &type))) {
+ ERROR_TRACE("failed to get device type, ret[0x%x]\n", ret);
+ }
+ }
+
+ switch (type) {
+ case SOUND_DEVICE_BUILTIN_SPEAKER:
+ *snd_path = MP_SND_PATH_SPEAKER;
+ break;
+ case SOUND_DEVICE_AUDIO_JACK:
+ *snd_path = MP_SND_PATH_EARPHONE;
+ break;
+ case SOUND_DEVICE_BLUETOOTH_MEDIA:
+ *snd_path = MP_SND_PATH_BT;
+ break;
+ case SOUND_DEVICE_HDMI:
+ *snd_path = MP_SND_PATH_HDMI;
+ break;
+ case SOUND_DEVICE_FORWARDING:
+ *snd_path = MP_SND_PATH_MIRRORING;
+ break;
+ case SOUND_DEVICE_USB_AUDIO:
+ *snd_path = MP_SND_PATH_USB_AUDIO;
+ break;
+ default:
+ *snd_path = MP_SND_PATH_SPEAKER;
+ break;
+ }
+ //Replaced for _prod dependency end
+}
+
+#define DEF_BUF_LEN (512)
+const char *mp_util_search_markup_keyword(const char *string,
+ char *searchword, bool * result)
+{
+ char pstr[DEF_BUF_LEN + 1] = { 0, };
+ static char return_string[DEF_BUF_LEN + 1] = { 0, };
+ int word_len = 0;
+ int search_len = 0;
+ int i = 0;
+ bool found = false;
+ gchar *markup_text_start = NULL;
+ gchar *markup_text_end = NULL;
+ gchar *markup_text = NULL;
+
+ MP_CHECK_NULL(string && strlen(string));
+ MP_CHECK_NULL(searchword && strlen(searchword));
+ MP_CHECK_NULL(result);
+
+ if (g_utf8_validate(string, -1, NULL)) {
+
+ word_len = strlen(string);
+ if (word_len > DEF_BUF_LEN) {
+ char *temp = (char *) calloc((word_len + 1), sizeof(char));
+ MP_CHECK_NULL(temp);
+ strncpy(temp, string, strlen(string) + 1);
+ i = 0;
+ while (word_len > DEF_BUF_LEN) {
+ /*truncate uft8 to byte_size DEF_BUF_LEN */
+ gchar *pre_ch =
+ g_utf8_find_prev_char(temp,
+ (temp + DEF_BUF_LEN - 1 -
+ i * 3));
+ if (!pre_ch) {
+ break;
+ }
+ gchar *next_ch = g_utf8_find_next_char(pre_ch, NULL);
+ if (!next_ch) {
+ break;
+ }
+ /*truncate position */
+ *next_ch = '\0';
+ word_len = strlen(temp);
+ i++;
+ }
+ if (strlen(temp) <= DEF_BUF_LEN) {
+ strncpy(pstr, temp, strlen(temp) + 1);
+ }
+ IF_FREE(temp);
+ } else {
+ if (strlen(string) <= DEF_BUF_LEN) {
+ strncpy(pstr, string, strlen(string) + 1);
+ }
+ }
+
+ word_len = strlen(pstr);
+ search_len = strlen(searchword);
+
+ for (i = 0; i < word_len; i++) {
+ if (!strncasecmp(searchword, &pstr[i], search_len)) {
+ found = true;
+ break;
+ }
+ }
+
+ *result = found;
+ memset(return_string, 0x00, DEF_BUF_LEN + 1);
+
+ if (found) {
+ int r = 222;
+ int g = 111;
+ int b = 31;
+ int a = 255;
+
+ if (i == 0) {
+ markup_text = g_markup_escape_text(&pstr[0], search_len);
+ MP_CHECK_NULL(markup_text);
+ markup_text_end =
+ g_markup_escape_text(&pstr[search_len],
+ word_len - search_len);
+ if (!markup_text_end) {
+ IF_FREE(markup_text);
+ ERROR_TRACE("markup_text_end NULL !!!");
+ return NULL;
+ }
+ snprintf(return_string,
+ DEF_BUF_LEN,
+ "<color=#%02x%02x%02x%02x>%s</color>%s", r, g, b,
+ a, markup_text, (char *) markup_text_end);
+ IF_FREE(markup_text);
+ IF_FREE(markup_text_end);
+ } else {
+ markup_text_start = g_markup_escape_text(&pstr[0], i);
+ MP_CHECK_NULL(markup_text_start);
+ markup_text = g_markup_escape_text(&pstr[i], search_len);
+ if (!markup_text) {
+ IF_FREE(markup_text_start);
+ ERROR_TRACE("markup_text NULL !!!");
+ return NULL;
+ }
+ markup_text_end =
+ g_markup_escape_text(&pstr[i + search_len],
+ word_len - (i + search_len));
+ if (!markup_text_end) {
+ IF_FREE(markup_text_start);
+ IF_FREE(markup_text);
+ ERROR_TRACE("markup_text_end NULL !!!");
+ return NULL;
+ }
+
+ snprintf(return_string,
+ DEF_BUF_LEN,
+ "%s<color=#%02x%02x%02x%02x>%s</color>%s",
+ (char *) markup_text_start,
+ r, g, b, a,
+ markup_text, (char *) markup_text_end);
+ IF_FREE(markup_text);
+ IF_FREE(markup_text_start);
+ IF_FREE(markup_text_end);
+ }
+ } else {
+ snprintf(return_string, DEF_BUF_LEN, "%s", pstr);
+ }
+ }
+
+ return return_string;
+}
+
+
+bool mp_util_is_other_player_playing(void)
+{
+ bool ret = FALSE;
+
+ int state = 0;
+ if (preference_get_int(PREF_MUSIC_STATE, &state) == 0) {
+ if (state == PREF_MUSIC_PLAY) {
+ int pid = mp_setting_get_nowplaying_id();
+ if (pid != -1) {
+ if (pid > 0 && pid != getpid()) {
+ mp_debug("## other player is playing some music ##");
+ ret = TRUE;
+ }
+ } else {
+ mp_error("mp_setting_get_nowplaying_id() error");
+ }
+ }
+ } else {
+ mp_error("preference_get_int() error");
+ }
+
+ return ret;
+}
+
+bool mp_util_is_now_active_player(void)
+{
+ bool ret = FALSE;
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_FALSE(ad);
+
+ if (ad->player_state == PLAY_STATE_PLAYING
+ || ad->player_state == PLAY_STATE_PAUSED) {
+ int pid = mp_setting_get_nowplaying_id();
+ if (pid != -1) {
+ if (pid == 0 || pid == getpid()) {
+ ret = TRUE;
+ }
+ } else {
+ mp_error("mp_setting_get_nowplaying_id() error");
+ }
+ }
+
+ return ret;
+}
+
+int mp_commmon_check_rotate_lock(void)
+{
+ bool lock = FALSE;
+ int retcode = -1;
+ retcode =
+ system_settings_get_value_bool
+ (SYSTEM_SETTINGS_KEY_DISPLAY_SCREEN_ROTATION_AUTO, &lock);
+ if (retcode == SYSTEM_SETTINGS_ERROR_NONE) {
+ mp_debug("lock state: %d", lock);
+ return (int) lock;
+ } else {
+ ERROR_TRACE
+ ("Could not get the lock state.Invalid parameter return [%d]",
+ retcode);
+ return -1;
+ }
+}
+
+int mp_check_mass_storage_mode(void)
+{
+ return 0;
+}
+
+bool mp_util_sleep_lock_set(bool lock, bool force_unlock)
+{
+ return TRUE;
+}
+
+bool mp_util_is_nfc_feature_on(void)
+{
+ return false;
+}
+
+void mp_util_strncpy_safe(char *x_dst, const char *x_src, int max_len)
+{
+ if (!x_src || strlen(x_src) == 0) {
+ mp_error("x_src is NULL");
+ return;
+ }
+
+ if (max_len < 1) {
+ mp_error("length is Wrong");
+ return;
+ }
+
+ strncpy(x_dst, x_src, max_len - 1);
+ x_dst[max_len - 1] = '\0';
+}
+
+void mp_util_free_track_info(mp_track_info_t * track_info)
+{
+ if (!track_info) {
+ return;
+ }
+
+ IF_FREE(track_info->uri);
+ IF_FREE(track_info->title);
+ IF_FREE(track_info->artist);
+ IF_FREE(track_info->album);
+ IF_FREE(track_info->genre);
+ IF_FREE(track_info->date);
+ IF_FREE(track_info->location);
+ IF_FREE(track_info->format);
+ IF_FREE(track_info->media_id);
+
+ IF_FREE(track_info->thumbnail_path);
+ IF_FREE(track_info->copyright);
+
+ IF_FREE(track_info->author);
+ IF_FREE(track_info->track_num);
+ IF_FREE(track_info->year);
+
+ free(track_info);
+}
+
+void
+mp_util_load_track_info(struct appdata *ad, mp_plst_item * cur_item,
+ mp_track_info_t ** info)
+{
+ MP_CHECK(ad);
+ MP_CHECK(cur_item);
+ MP_CHECK(info);
+
+ int ret = 0;
+ mp_media_info_h svc_audio_item = NULL;
+ mp_track_info_t *track_info = NULL;
+
+ *info = track_info = calloc(1, sizeof(mp_track_info_t));
+ MP_CHECK(track_info);
+
+ track_info->track_type = cur_item->track_type;
+ track_info->uri = g_strdup(cur_item->uri);
+ track_info->playlist_member_id = cur_item->playlist_memeber_id;
+ if (!cur_item->uid) {
+ char *media_id = NULL;
+
+ ret =
+ mp_media_info_create_by_path(&svc_audio_item, track_info->uri);
+ if (ret == 0) {
+ mp_media_info_get_media_id(svc_audio_item, &media_id);
+ cur_item->uid = g_strdup(media_id);
+ }
+ }
+
+ if (cur_item->uid) {
+ if (!svc_audio_item) {
+ ret = mp_media_info_create(&svc_audio_item, cur_item->uid);
+ }
+
+ mp_media_info_get_title(svc_audio_item, &track_info->title);
+ mp_media_info_get_album(svc_audio_item, &track_info->album);
+ mp_media_info_get_artist(svc_audio_item, &track_info->artist);
+ mp_media_info_get_thumbnail_path(svc_audio_item,
+ &track_info->thumbnail_path);
+ mp_media_info_get_genre(svc_audio_item, &track_info->genre);
+ mp_media_info_get_recorded_date(svc_audio_item, &track_info->date);
+ mp_media_info_get_copyright(svc_audio_item,
+ &track_info->copyright);
+ mp_media_info_get_composer(svc_audio_item, &track_info->author);
+ mp_media_info_get_duration(svc_audio_item, &track_info->duration);
+ mp_media_info_get_track_num(svc_audio_item,
+ &track_info->track_num);
+ mp_media_info_get_format(svc_audio_item, &track_info->format);
+ mp_media_info_get_favorite(svc_audio_item, &track_info->favorite);
+ mp_media_info_get_year(svc_audio_item, &track_info->year);
+
+ track_info->media_id = g_strdup(cur_item->uid);
+
+ track_info->title = g_strdup(track_info->title);
+ track_info->album = g_strdup(track_info->album);
+ track_info->artist = g_strdup(track_info->artist);
+ track_info->thumbnail_path = g_strdup(track_info->thumbnail_path);
+ track_info->genre = g_strdup(track_info->genre);
+ //track_info->date = g_strdup(track_info->date);
+ track_info->copyright = g_strdup(track_info->copyright);
+ track_info->author = g_strdup(track_info->author);
+ track_info->track_num = g_strdup(track_info->track_num);
+ track_info->format = g_strdup(track_info->format);
+ track_info->location = g_strdup(track_info->location);
+ track_info->year = g_strdup(track_info->year);
+
+ } else if (mp_check_file_exist(cur_item->uri)) {
+ mp_tag_info_t tag_info;
+ mp_file_tag_info_get_all_tag(cur_item->uri, &tag_info);
+
+
+ track_info->title = g_strdup(tag_info.title);
+ track_info->album = g_strdup(tag_info.album);
+ track_info->artist = g_strdup(tag_info.artist);
+ track_info->thumbnail_path = g_strdup(tag_info.albumart_path);
+ track_info->genre = g_strdup(tag_info.genre);
+ track_info->date = g_strdup(tag_info.date);
+ track_info->copyright = g_strdup(tag_info.copyright);
+ track_info->author = g_strdup(tag_info.author);
+ track_info->track_num = g_strdup(tag_info.track);
+
+ track_info->duration = tag_info.duration;
+
+ GString *format = g_string_new("");
+ if (format) {
+ if (tag_info.audio_bitrate > 0) {
+ g_string_append_printf(format, "%dbps ",
+ tag_info.audio_bitrate);
+ }
+
+ if (tag_info.audio_samplerate > 0) {
+ g_string_append_printf(format, "%.1fHz ",
+ (double) tag_info.audio_samplerate);
+ }
+
+ if (tag_info.audio_channel > 0) {
+ g_string_append_printf(format, "%dch",
+ tag_info.audio_channel);
+ }
+
+ track_info->format = g_strdup(format->str);
+ g_string_free(format, TRUE);
+ }
+
+ mp_file_tag_free(&tag_info);
+ } else {
+ track_info->title = g_strdup(cur_item->title);
+ track_info->artist = g_strdup(cur_item->artist);
+ track_info->thumbnail_path = g_strdup(cur_item->thumbnail_path);
+ }
+
+ track_info->isDiffAP = cur_item->isDiffAP;
+
+ if (track_info->duration < 0) {
+ track_info->duration = 0;
+ }
+
+ if (svc_audio_item) {
+ mp_media_info_destroy(svc_audio_item);
+ }
+}
+
+void
+mp_util_append_media_list_item_to_playlist(mp_plst_mgr * playlist_mgr,
+ mp_media_list_h media_list,
+ int count, int current_index,
+ const char *path)
+{
+ int i;
+ char *uid = NULL;
+ char *uri = NULL;
+ char *title = NULL;
+ char *artist = NULL;
+ mp_plst_item *cur_item = NULL;
+
+ for (i = 0; i < count; i++) {
+ mp_plst_item *plst_item;
+ mp_track_type track_type = MP_TRACK_URI;
+ mp_media_info_h item = mp_media_info_list_nth_item(media_list, i);
+ mp_media_info_get_media_id(item, &uid);
+ mp_media_info_get_file_path(item, &uri);
+ mp_media_info_get_title(item, &title);
+ mp_media_info_get_artist(item, &artist);
+ plst_item =
+ mp_playlist_mgr_item_append(playlist_mgr, uri, uid, title,
+ artist, track_type);
+ if (i == current_index || !g_strcmp0(uri, path)) {
+ cur_item = plst_item;
+ }
+ }
+ mp_playlist_mgr_set_current(playlist_mgr, cur_item);
+
+}
+
+char *mp_util_get_fid_by_full_path(const char *full_path, char **title,
+ char **artist)
+{
+ startfunc;
+
+ char *uid = NULL;
+ char *val = NULL;
+
+ MP_CHECK_NULL(full_path);
+
+ int ret = 0;
+ mp_media_info_h record = NULL;
+ if (mp_check_file_exist(full_path)) {
+ ret = mp_media_info_create_by_path(&record, full_path);
+ if (ret == 0) {
+ ret = mp_media_info_get_media_id(record, &uid);
+ uid = g_strdup(uid);
+
+ if (title) {
+ mp_media_info_get_title(record, &val);
+ *title = g_strdup(val);
+ }
+ if (artist) {
+ mp_media_info_get_artist(record, &val);
+ *artist = g_strdup(val);
+ }
+ mp_media_info_destroy(record);
+ }
+ }
+ return uid;
+}
+
+static inline const char *_mp_util_get_text_domain(const char *string_id)
+{
+ const char *domain = DOMAIN_NAME;
+
+ return domain;
+}
+
+EXPORT_API char *mp_util_get_text(const char *str)
+{
+ MP_CHECK_NULL(str);
+
+ const char *domain_name = _mp_util_get_text_domain(str);
+ return dgettext(domain_name, str);
+}
+
+void mp_util_more_btn_move_ctxpopup(Evas_Object * ctxpopup,
+ Evas_Object * btn)
+{
+ MP_CHECK(ctxpopup);
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ Evas_Object *win;
+ Evas_Coord w, h;
+ int pos = -1;
+
+ win = elm_object_top_widget_get(ctxpopup);
+ elm_win_screen_size_get(win, NULL, NULL, &w, &h);
+ pos = elm_win_rotation_get(win);
+
+ switch (pos) {
+ case 0:
+ case 180:
+ evas_object_move(ctxpopup, (w / 2), h);
+ break;
+ case 90:
+ evas_object_move(ctxpopup, 0, w);
+ break;
+ case 270:
+ evas_object_move(ctxpopup, (h / 2), w);
+ break;
+
+ }
+}
+
+void mp_util_object_item_translate_set(Elm_Object_Item * item,
+ const char *ID)
+{
+ MP_CHECK(ID);
+ MP_CHECK(item);
+ const char *domain = _mp_util_get_text_domain(ID);
+ elm_object_item_domain_text_translatable_set(item, domain, EINA_TRUE);
+}
+
+Elm_Object_Item *mp_util_ctxpopup_item_append_ext(Evas_Object * obj,
+ const char *label,
+ const char *file,
+ const char *group,
+ Evas_Smart_Cb func,
+ const void *data)
+{
+ Elm_Object_Item *item =
+ elm_ctxpopup_item_append(obj, label, NULL, func, data);
+ MP_CHECK_NULL(item);
+ mp_util_object_item_translate_set(item, label);
+ return item;
+}
+
+Elm_Object_Item *mp_util_ctxpopup_item_append(Evas_Object * obj,
+ const char *label,
+ const char *group,
+ Evas_Smart_Cb func,
+ const void *data)
+{
+ return mp_util_ctxpopup_item_append_ext(obj, label, NULL, group, func,
+ data);
+}
+
+Elm_Object_Item *mp_util_toolbar_item_append(Evas_Object * obj,
+ const char *icon,
+ const char *label,
+ Evas_Smart_Cb func,
+ const void *data)
+{
+ Elm_Object_Item *item =
+ elm_toolbar_item_append(obj, icon, label, func, data);
+ MP_CHECK_NULL(item);
+
+ const char *domain = _mp_util_get_text_domain(label);
+ elm_object_item_domain_text_translatable_set(item, domain, EINA_TRUE);
+ return item;
+}
+
+Elm_Object_Item *mp_util_toolbar_nth_item(Evas_Object * obj, int n)
+{
+ MP_CHECK_NULL(obj);
+ Elm_Object_Item *it = elm_toolbar_first_item_get(obj);
+ int i = 0;
+ for (i = 0; i < n; i++) {
+ it = elm_toolbar_item_next_get(it);
+ }
+ return it;
+}
+
+bool mp_util_get_sip_state(void)
+{
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_FALSE(ad);
+
+ return ad->sip_state;
+}
+
+bool mp_util_is_landscape(void)
+{
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_FALSE(ad);
+
+ return (ad->win_angle == 90 || ad->win_angle == -90) ? true : false;
+}
+
+int mp_util_parse_device_type(const char *name)
+{
+ MP_CHECK_VAL(name, MP_DEVICE_TYPE_UNKNOWN);
+
+ char *p = strstr(name, "[");
+ if (p) {
+ p++;
+ } else {
+ return MP_DEVICE_TYPE_UNKNOWN;
+ }
+ char *str = NULL;
+ p = g_strdup(p); /* strtok make string dirty */
+ char *device = strtok_r(p, "]", &str);
+ int type = MP_DEVICE_TYPE_UNKNOWN;
+ if (!g_strcmp0(device, "TV")) {
+ type = MP_DEVICE_TYPE_TV;
+ }
+ if (!g_strcmp0(device, "PC")) {
+ type = MP_DEVICE_TYPE_DESKTOP_PC;
+ } else {
+ type = MP_DEVICE_TYPE_UNKNOWN;
+ }
+
+ SAFE_FREE(str);
+ SAFE_FREE(p);
+ return type;
+}
+
+void mp_util_set_livebox_update_timer(void)
+{
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ DEBUG_TRACE
+ ("ad->is_lcd_off[%d] ad->is_focus_out[%d] ad->app_is_foreground[%d] ",
+ ad->is_lcd_off, ad->is_focus_out, ad->app_is_foreground);
+
+ if (ad->live_pos_timer) {
+ if (ad->is_focus_out && !ad->app_is_foreground) {
+ if (!ad->is_lcd_off
+ && mp_player_mgr_get_state() == PLAYER_STATE_PLAYING) {
+ WARN_TRACE("thaw livebox pos timer");
+ MP_TIMER_THAW(ad->live_pos_timer);
+ return;
+ }
+ }
+ WARN_TRACE("freeze livebox pos timer");
+ MP_TIMER_FREEZE(ad->live_pos_timer);
+ }
+}
+
+static Eina_Bool _print_geometry_cb(void *data)
+{
+ int x, y, w, h;
+ Evas_Object *obj = data;
+
+ evas_object_geometry_get(obj, &x, &y, &w, &h);
+
+ return false;
+}
+
+void mp_util_print_geometry(Evas_Object * obj, const char *name)
+{
+ ecore_timer_add(3, _print_geometry_cb, obj);
+ evas_object_data_set(obj, "obj_name", name);
+}
+
+void mp_util_lock_cpu()
+{
+ int ret = device_power_request_lock(POWER_LOCK_CPU, 0);
+
+ if (ret) {
+ ERROR_TRACE("device_power_request_lock()...[0x%x]", ret);
+ }
+}
+
+void mp_util_release_cpu()
+{
+ int ret = device_power_release_lock(POWER_LOCK_CPU);
+
+ if (ret) {
+ ERROR_TRACE("device_power_release_lock()...[0x%x]", ret);
+ }
+}
+
+void mp_util_hide_lock_screen()
+{
+ display_state_e lock_state;
+ int ret = device_display_get_state(&lock_state);
+ if (ret == DEVICE_ERROR_NONE) {
+ ERROR_TRACE("[successful] Return value is %d", ret);
+ } else {
+ ERROR_TRACE("[ERROR] Return value is %d", ret);
+ }
+
+ if (lock_state == DISPLAY_STATE_NORMAL) {
+ WARN_TRACE("already unlocked");
+ return;
+ }
+
+ int result = device_display_change_state(DISPLAY_STATE_NORMAL);
+ if (result < 0) {
+ printf("[ERROR] return value result =%d", result);
+ } else {
+ printf("[SUCCESS] return value result =%d", result);
+ }
+}
+
+bool mp_util_app_resume(void)
+{
+ char *app_id = NULL;
+ int ret = app_get_id(&app_id);
+ if (ret != APP_ERROR_NONE || !app_id) {
+ SECURE_ERROR("app_get_id().. [0x%x], app_id[%s]", ret, app_id);
+ return false;
+ }
+
+ app_context_h context = NULL;
+ ret = app_manager_get_app_context(app_id, &context);
+ if (ret != APP_MANAGER_ERROR_NONE) {
+ mp_error("app_manager_get_app_context().. [0x%x]", ret);
+ SAFE_FREE(app_id);
+ return false;
+ }
+
+ ret = app_manager_resume_app(context);
+ if (ret != APP_MANAGER_ERROR_NONE) {
+ mp_error("app_manager_resume_app().. [0x%x]", ret);
+ SAFE_FREE(app_id);
+ return false;
+ }
+
+ SAFE_FREE(app_id);
+ app_context_destroy(context);
+
+ mp_util_hide_lock_screen();
+
+ return true;
+}
+
+bool mp_util_system_volume_popup_show(void)
+{
+ bool ret = false;
+ app_control_h service = NULL;
+
+ int err = app_control_create(&service);
+ if (err != APP_CONTROL_ERROR_NONE) {
+ ERROR_TRACE("app_control_create().. [0x%x]", err);
+ return false;
+ }
+ MP_CHECK_FALSE(service);
+
+ err = app_control_set_app_id(service, "org.tizen.volume");
+ if (err != APP_CONTROL_ERROR_NONE) {
+ ERROR_TRACE("app_control_set_package().. [0x%x]", err);
+ goto END;
+ }
+
+ err = app_control_add_extra_data(service, "show_volume", "TRUE");
+ if (err != APP_CONTROL_ERROR_NONE) {
+ ERROR_TRACE("app_control_add_extra_data().. [0x%x]", err);
+ goto END;
+ }
+
+ err = app_control_send_launch_request(service, NULL, NULL);
+ if (err != APP_CONTROL_ERROR_NONE) {
+ ERROR_TRACE("app_control_send_launch_request().. [0x%x]", err);
+ goto END;
+ }
+
+ ret = true;
+
+ END:
+ if (service) {
+ app_control_destroy(service);
+ }
+
+ return ret;
+}
+
+bool mp_util_is_call_connected(void)
+{
+ telephony_call_h *call_list_sim;
+ telephony_handle_list_s tel_list;
+ telephony_error_e ret_sim;
+ unsigned int count_sim[2] = {0};
+
+ int tel_valid = telephony_init(&tel_list);
+ if (tel_valid != 0) {
+ ERROR_TRACE("telephony is not initialized. ERROR Code is %d",
+ tel_valid);
+ return false;
+ }
+
+ for (int i = 0; i < tel_list.count; i++) {
+ ret_sim =
+ telephony_call_get_call_list(tel_list.handle[i], &count_sim[i],
+ &call_list_sim);
+ if (ret_sim != TELEPHONY_ERROR_NONE) {
+ ERROR_TRACE("Cannot get call list information for primary sim");
+ }
+
+ telephony_call_release_call_list(count_sim[i], &call_list_sim);
+ }
+
+ telephony_deinit(&tel_list);
+
+ if (count_sim[0] > 0) {
+ DEBUG_TRACE("Call connected from SIM 1");
+ return true;
+ }
+
+ if (count_sim[1] > 0) {
+ DEBUG_TRACE("Call connected from SIM 2");
+ return true;
+ }
+
+ return false;
+}
+
+void mp_util_domain_translatable_text_set(Evas_Object * obj,
+ const char *text)
+{
+ const char *domain = _mp_util_get_text_domain(text);
+ elm_object_domain_translatable_text_set(obj, domain, text);
+}
+
+void mp_util_domain_translatable_part_text_set(Evas_Object * obj,
+ const char *part,
+ const char *text)
+{
+ const char *domain = _mp_util_get_text_domain(text);
+ elm_object_domain_translatable_part_text_set(obj, part, domain, text);
+}
+
+void mp_util_item_domain_translatable_part_text_set(Elm_Object_Item * item,
+ const char *part,
+ const char *text)
+{
+ const char *domain = _mp_util_get_text_domain(text);
+ char *text_id = elm_entry_utf8_to_markup(text);
+ elm_object_item_domain_translatable_part_text_set(item, part, domain,
+ text_id);
+ IF_FREE(text_id);
+}
+
+bool mp_util_get_supported_storages_callback(int storageId,
+ storage_type_e type,
+ storage_state_e state,
+ const char *path,
+ void *userData)
+{
+ if (type == STORAGE_TYPE_EXTERNAL) {
+ external_mmc_id = storageId;
+ return false;
+ }
+ return true;
+}
+
+bool mp_util_is_mmc_removed(void)
+{
+ int error =
+ storage_foreach_device_supported
+ (mp_util_get_supported_storages_callback, NULL);
+ if (error == STORAGE_ERROR_NONE) {
+ storage_state_e state;
+ storage_get_state(external_mmc_id, &state);
+ if (state == STORAGE_STATE_REMOVED
+ || state == STORAGE_STATE_UNMOUNTABLE) {
+ return true;
+ }
+ }
+ return false;
+}
+
+
+#define ELM_INTERNAL_API_ARGESFSDFEFC
+
+EXPORT_API void dump_win(Evas_Object * obj, int max_depth)
+{
+
+ if (evas_object_smart_type_check(obj, "elm_win") == false) {
+ ERROR_TRACE("Obj(0x%08x) is not elm_win Object", obj);
+ return;
+ }
+
+ void *pData = evas_object_smart_data_get(obj);
+ MP_CHECK(pData);
+ volatile int Diff;
+
+ Diff = 0xC4;
+
+ Eina_List **ppList =
+ (Eina_List **) ((char *) pData + ((Diff)) /* B - A */);
+ Eina_List *subobjs = *ppList;
+
+ DEBUG_TRACE("pData=0x%08x SubObj=0x%08x pData+C4=0x%08x SubObjCnt=%d",
+ pData, subobjs, (unsigned int) (pData) + (Diff),
+ eina_list_count(subobjs));
+
+ {
+ int x, y, w, h;
+
+ evas_object_geometry_get(obj, &x, &y, &w, &h);
+ Eina_Bool repeat = evas_object_repeat_events_get(obj);
+ Eina_Bool pass = evas_object_pass_events_get(obj);
+ Eina_Bool visible = evas_object_visible_get(obj);
+ Eina_Bool propagate = evas_object_propagate_events_get(obj);
+
+ DEBUG_TRACE("Win=%s(%s,0x%08x) %s(%d,%d,%d,%d) P%d|R%d|V%d|E%d",
+ evas_object_name_get(obj),
+ elm_object_widget_type_get(obj), obj,
+ evas_object_type_get(obj), x, y, w, h, pass, repeat,
+ visible, propagate);
+ }
+
+ const Eina_List *l;
+ Evas_Object *child;
+
+ void *MyData = NULL;
+
+ EINA_LIST_FOREACH(subobjs, l, MyData) {
+ child = (Evas_Object *) MyData;
+
+ dump_obj(child, 0, max_depth - 1);
+ }
+
+}
+
+EXPORT_API void dump_obj(Evas_Object * obj, int lvl, int max_depth)
+{
+ Eina_List *list = evas_object_smart_members_get(obj);
+
+ if (max_depth <= 0) {
+ return;
+ }
+
+ if (lvl == 0) {
+ int x, y, w, h;
+
+ evas_object_geometry_get(obj, &x, &y, &w, &h);
+ Eina_Bool repeat = evas_object_repeat_events_get(obj);
+ Eina_Bool pass = evas_object_pass_events_get(obj);
+ Eina_Bool visible = evas_object_visible_get(obj);
+ Eina_Bool propagate = evas_object_propagate_events_get(obj);
+
+ int mW, mH, MW, MH;
+
+ evas_object_size_hint_min_get(obj, &mW, &mH);
+ evas_object_size_hint_max_get(obj, &MW, &MH);
+
+ DEBUG_TRACE
+ ("Obj=%s(%s,0x%08x) (%d,%d,%d,%d) m(%d,%d) M(%d,%d) P%d|R%d|V%d|E%d",
+ evas_object_name_get(obj), evas_object_type_get(obj), obj, x,
+ y, w, h, mW, mH, MW, MH, pass, repeat, visible, propagate);
+ lvl++;
+ }
+
+ Evas_Object *data;
+ Eina_List *l;
+
+ for (l = list, data = (Evas_Object *) eina_list_data_get(l); l;
+ l = eina_list_next(l), data =
+ (Evas_Object *) eina_list_data_get(l)) {
+ int x, y, w, h;
+
+ evas_object_geometry_get(data, &x, &y, &w, &h);
+ Eina_Bool repeat = evas_object_repeat_events_get(data);
+ Eina_Bool pass = evas_object_pass_events_get(data);
+ Eina_Bool visible = evas_object_visible_get(data);
+ Eina_Bool propagate = evas_object_propagate_events_get(data);
+
+ int mW, mH, MW, MH;
+
+ evas_object_size_hint_min_get(data, &mW, &mH);
+ evas_object_size_hint_max_get(data, &MW, &MH);
+
+ char *space = calloc(sizeof(char), (lvl * 2 + 1));
+ if (space) {
+ int i;
+ for (i = 0; i < lvl * 2; i++) {
+ space[i] = ' ';
+ }
+
+ space[lvl * 2] = '\0';
+
+ DEBUG_TRACE
+ ("%sObj=%s(%s,0x%08x) (%d,%d,%d,%d) m(%d,%d) M(%d,%d) P%d|R%d|V%d|E%d",
+ space, evas_object_name_get(data),
+ evas_object_type_get(data), data, x, y, w, h, mW, mH, MW,
+ MH, pass, repeat, visible, propagate);
+ }
+
+ IF_FREE(space);
+
+ dump_obj(data, lvl + 1, max_depth - 1);
+
+ }
+}
+
+EXPORT_API void dump_widget(Evas_Object * obj, int lvl, int max_depth)
+{
+ Eina_List *list = evas_object_smart_members_get(obj);
+
+ if (max_depth <= 0) {
+ return;
+ }
+
+ if (lvl == 0) {
+ int x, y, w, h;
+
+ evas_object_geometry_get(obj, &x, &y, &w, &h);
+ Eina_Bool repeat = evas_object_repeat_events_get(obj);
+ Eina_Bool pass = evas_object_pass_events_get(obj);
+ Eina_Bool visible = evas_object_visible_get(obj);
+ Eina_Bool propagate = evas_object_propagate_events_get(obj);
+
+ SECURE_DEBUG("Obj=%s(%s,0x%08x) (%d,%d,%d,%d) P%d|R%d|V%d|E%d",
+ evas_object_name_get(obj),
+ elm_object_widget_type_get(obj), obj, x, y, w, h,
+ pass, repeat, visible, propagate);
+ lvl++;
+ }
+
+ Evas_Object *data;
+ Eina_List *l;
+
+ for (l = list, data = (Evas_Object *) eina_list_data_get(l); l;
+ l = eina_list_next(l), data =
+ (Evas_Object *) eina_list_data_get(l)) {
+ int x, y, w, h;
+
+ evas_object_geometry_get(data, &x, &y, &w, &h);
+ Eina_Bool repeat = evas_object_repeat_events_get(data);
+ Eina_Bool pass = evas_object_pass_events_get(data);
+ Eina_Bool visible = evas_object_visible_get(data);
+ Eina_Bool propagate = evas_object_propagate_events_get(data);
+
+ if (elm_object_widget_type_get(data) != NULL
+ || evas_object_name_get(data) != NULL) {
+ char *space = calloc(sizeof(char), (lvl * 2 + 1));
+ if (space) {
+ int i;
+ for (i = 0; i < lvl * 2; i++) {
+ space[i] = ' ';
+ }
+
+ space[lvl * 2] = '\0';
+
+ SECURE_DEBUG
+ ("%sObj=%s(%s,0x%08x) (%d,%d,%d,%d) P%d|R%d|V%d|E%d",
+ space, evas_object_name_get(data),
+ elm_object_widget_type_get(data), data, x, y, w, h,
+ pass, repeat, visible, propagate);
+ }
+ IF_FREE(space);
+ }
+
+ dump_widget(data, lvl + 1, max_depth - 1);
+
+ }
+}
+
+#ifdef MP_FEATURE_PERSONAL_PAGE
+int mp_util_get_file_ext(const char *filename, char **file_ext)
+{
+ assert(filename);
+ assert(file_ext);
+
+ char *pdot = strrchr(filename, '.');
+
+ if (!pdot) {
+ return -1;
+ } else if (pdot != filename) {
+ *file_ext = g_strdup(pdot + 1);
+ return 0;
+ } else {
+ return -1;
+ }
+}
+
+int mp_util_is_duplicated_name(const char *dir, const char *name)
+{
+ MP_CHECK_VAL(dir, -1);
+ MP_CHECK_VAL(name, -1);
+ char *file_path = g_strconcat(dir, "/", name, NULL);
+ if (mp_file_exists(file_path)) {
+ IF_FREE(file_path);
+ return -1;
+ } else {
+ IF_FREE(file_path);
+ return 0;
+ }
+}
+
+static int _mp_util_get_next_number(char *file_name_without_ext)
+{
+ int nCount = 0;
+ int nLength = 0;
+ int nUnderline = 0;
+ bool bAllDigits = true;
+ int i;
+
+ /* check _02d format */
+ nLength = strlen(file_name_without_ext);
+
+ if (nLength < 3) { /*4 means the # of minimum characters (*_n) */
+ return 1; /*doesn't match */
+ } else { /* input is more than 3 bytes */
+ /* find '_' */
+ for (nUnderline = nLength - 1; nUnderline >= 0; nUnderline--) {
+ if (file_name_without_ext[nUnderline] == '_') {
+ break;
+ }
+ }
+
+ if (nUnderline == 0 && file_name_without_ext[0] != '_') {
+ return 1; /* doesn't match */
+ }
+ /* check the right characters are all digits */
+ for (i = nUnderline + 1; i < nLength; i++) {
+ if (file_name_without_ext[i] < '0'
+ || file_name_without_ext[i] > '9') {
+ bAllDigits = false;
+ break;
+ }
+ }
+
+ if (bAllDigits) {
+ for (i = nUnderline + 1; i < nLength; i++) {
+ nCount *= 10;
+ nCount += file_name_without_ext[i] - '0';
+ }
+
+ file_name_without_ext[nUnderline] = '\0'; /* truncate the last '_dd' */
+ }
+ }
+
+ /* increase nCount by 1 */
+ nCount++;
+
+ return nCount;
+}
+
+void mp_util_get_unique_name(char *original_file_name,
+ char **unique_file_name)
+{
+ assert(unique_file_name);
+
+ char *file_name_without_ext = NULL;
+ char *file_ext = NULL;
+ char *new_file_name = NULL;
+ int nCount = 0;
+ bool bExt = false;
+
+ if (original_file_name == NULL) {
+ mp_error("original file is NULL");
+ goto Exception;
+ }
+
+ bExt = mp_util_get_file_ext(original_file_name, &file_ext);
+ file_name_without_ext = g_strdup(original_file_name);
+
+ if (file_name_without_ext == NULL) {
+ goto Exception;
+ }
+
+ /* add a condition, whether extention is or not. */
+ if (bExt == 0) {
+ file_name_without_ext[strlen(file_name_without_ext) -
+ strlen(file_ext) - 1] = '\0';
+ }
+
+ nCount = _mp_util_get_next_number(file_name_without_ext);
+ if (nCount == 1) {
+ char *file_name_with_space =
+ g_strconcat(file_name_without_ext, " ", NULL);
+ if (file_name_with_space) {
+ IF_FREE(file_name_without_ext);
+ file_name_without_ext = file_name_with_space;
+ file_name_with_space = NULL;
+ }
+ }
+
+ if (bExt == 0) {
+ new_file_name =
+ g_strdup_printf("%s_%d.%s", file_name_without_ext, nCount,
+ file_ext);
+ } else {
+ new_file_name =
+ g_strdup_printf("%s_%d", file_name_without_ext, nCount);
+ }
+ mp_debug("new_file_name [%s]", new_file_name);
+ IF_FREE(file_name_without_ext);
+
+ *unique_file_name = g_strdup(new_file_name);
+
+ Exception:
+ IF_FREE(file_ext);
+ IF_FREE(new_file_name);
+
+}
+
+bool mp_util_is_in_personal_page(const char *path)
+{
+ MP_CHECK_FALSE(path);
+ return g_str_has_prefix(path, MP_PERSONAL_PAGE_DIR);
+}
+
+bool mp_util_is_personal_page_on()
+{
+ bool status = FALSE;
+ if (preference_get_boolean(KEY_MP_PERSONAL_PAGE, &status) != 0) {
+ mp_error("preference_get_int() fail!!");
+ status = FALSE;
+ }
+ if (status) {
+ return true;
+ } else {
+ return false;
+ }
+}
+#endif
+
+bool mp_util_mirroring_is_connected(void)
+{
+ return false;
+}
+
+bool mp_util_is_scan_nearby_available()
+{
+ return false;
+}
+
+bool mp_util_is_store_enable(void)
+{
+ struct appdata *ad = g_ad;
+ MP_CHECK_FALSE(ad);
+ return ad->store_enable;
+}
+
+bool mp_util_free_space_check(double size)
+{
+ struct statvfs s;
+ memset(&s, 0, sizeof(struct statvfs));
+ int r;
+
+ r = storage_get_internal_memory_size(&s);
+ if (r < 0) {
+ mp_error("get free space failed");
+ return false;
+ } else {
+ if ((double) s.f_bsize * s.f_bavail >= size) {
+ return true;
+ } else {
+ struct appdata *ad = mp_util_get_appdata();
+ if (ad) {
+ Evas_Object *popup =
+ mp_popup_create(ad->win_main, MP_POPUP_NORMAL, NULL,
+ NULL, NULL, ad);
+ mp_util_domain_translatable_text_set(popup,
+ STR_MP_NOT_ENOUGH_SPACE_ERROR_MSG);
+ mp_popup_button_set(popup, MP_POPUP_BTN_1, STR_MP_OK,
+ MP_POPUP_YES);
+ evas_object_show(popup);
+ }
+ return false;
+ }
+ }
+}
+
+bool mp_util_media_is_uhqa(const char *media_id)
+{
+ MP_CHECK_FALSE(media_id);
+
+ mp_media_info_h media_info = NULL;
+ mp_media_info_create(&media_info, media_id);
+ MP_CHECK_FALSE(media_info);
+
+ int sample_rate = 0;
+
+ mp_media_info_get_sample_rate(media_info, &sample_rate);
+
+ mp_media_info_destroy(media_info);
+ media_info = NULL;
+
+ DEBUG_TRACE("sample_rate = %d", sample_rate);
+ return (bool) (sample_rate >= 192000);
+}
+/*
+* gets the path of the storage type
+* @param storageId storageId
+* @param type storage_type e.g external/internal
+* @param state state
+* @param path path
+* @param userData User data
+* @return bool
+*/
+static bool __mp_get_all_supported_storageids_cb(int storageId,
+ storage_type_e type,
+ storage_state_e state,
+ const char *path,
+ void *userData)
+{
+ if (type == STORAGE_TYPE_EXTERNAL) {
+ external_mmc_id = storageId;
+ }
+ if (type == STORAGE_TYPE_INTERNAL) {
+ internal_device_id = storageId;
+ }
+
+ return true;
+}
+
+/*
+* gets the path of the storage type
+* @param storage_type storage_type e.g external/internal
+* @return path
+*/
+char *mp_get_media_directory(storage_type_e storage_type)
+{
+ char *path = NULL;
+ int error_code =
+ storage_foreach_device_supported
+ (__mp_get_all_supported_storageids_cb, NULL);
+ if (error_code != STORAGE_ERROR_NONE) {
+ ERROR_TRACE("Failed to get Storage Id");
+ return NULL;
+ }
+ if (storage_type == STORAGE_TYPE_INTERNAL && internal_device_id != -1) {
+ storage_get_root_directory(internal_device_id, &path);
+ } else if (storage_type == STORAGE_TYPE_EXTERNAL
+ && external_mmc_id != -1) {
+ storage_get_root_directory(external_mmc_id, &path);
+ } else {
+ ERROR_TRACE("Invalid Storage Id");
+ return NULL;
+ }
+ return path;
+}
+
+/*
+* checks the location of the file
+* @param uri path of the file
+* @return file directory
+*/
+mp_dir_e mp_util_get_file_location(const char *uri)
+{
+ int len_phone = 0;
+ int len_memory = 0;
+
+ char *externalPath = NULL;
+ char *internalPath = NULL;
+ if (!mp_get_media_directory(STORAGE_TYPE_INTERNAL)) {
+ ERROR_TRACE("Internal Storage Path cannot be determined");
+ } else {
+ internalPath =
+ g_strdup(mp_get_media_directory(STORAGE_TYPE_INTERNAL));
+ if (!internalPath) {
+ return MP_DIR_NONE;
+ }
+ len_phone = strlen(internalPath);
+ DEBUG_TRACE("Internal Storage Path is: %s", internalPath);
+ }
+
+ if (!mp_get_media_directory(STORAGE_TYPE_EXTERNAL)) {
+ ERROR_TRACE("External Storage Path cannot be determined");
+ } else {
+ externalPath =
+ g_strdup(mp_get_media_directory(STORAGE_TYPE_EXTERNAL));
+ if (!externalPath) {
+ return MP_DIR_NONE;
+ }
+ len_memory = strlen(externalPath);
+ DEBUG_TRACE("External Storage Path is: %s", externalPath);
+ }
+
+ if (internalPath && strncmp(uri, internalPath, len_phone) == 0) {
+ IF_FREE(internalPath);
+ IF_FREE(externalPath);
+ return MP_DIR_PHONE;
+ } else if (externalPath && strncmp(uri, externalPath, len_memory) == 0) {
+ IF_FREE(internalPath);
+ IF_FREE(externalPath);
+ return MP_DIR_MMC;
+ } else {
+ IF_FREE(internalPath);
+ IF_FREE(externalPath);
+ return MP_DIR_NONE;
+ }
+}
+
+/*
+* Update notification indicator according to status
+* @param status status playing/Pause
+* @return void
+*/
+void mp_post_notification_indicator(char *status)
+{
+ startfunc;
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ int ret = NOTIFICATION_ERROR_NONE;
+
+ notification_image_type_e img_type =
+ NOTIFICATION_IMAGE_TYPE_ICON_FOR_INDICATOR;
+ char *path = app_get_shared_resource_path();
+ if (!path) {
+ ERROR_TRACE("Shared Resource Path is NULL");
+ return;
+ }
+
+ char icon_path[1024] = { 0 };
+
+ if (!strcmp(status, "playing")) {
+ snprintf(icon_path, 1024,
+ "%sshared_images/T02_control_circle_icon_play.png", path);
+ } else {
+ snprintf(icon_path, 1024,
+ "%sshared_images/T02_control_circle_icon_pause.png",
+ path);
+ }
+ free(path);
+
+ if (ad->noti) {
+ ret = notification_set_image(ad->noti, img_type, icon_path);
+ if (ret != NOTIFICATION_ERROR_NONE) {
+ DEBUG_TRACE("Cannot set the notification image");
+ }
+ notification_update(ad->noti);
+ }
+ DEBUG_TRACE("Icon Path is: %s", icon_path);
+ endfunc;
+}
+/*
+* Read from file
+* @param data App data
+* @param em Ecore file monitor
+* @param event Ecore file event
+* @param path Path of file monitor
+* @return void
+*/
+void mp_noti_read_ini_file(void *data, Ecore_File_Monitor * em,
+ Ecore_File_Event event, const char *path)
+{
+ startfunc;
+ DEBUG_TRACE("Path of file monitor is: %s", path);
+ if (!path) {
+ DEBUG_TRACE("Invalid path information");
+ return;
+ }
+ char str[1000] = { 0, };
+ FILE *file = fopen(path, "r");
+ if (!file) {
+ ERROR_TRACE("File doesn't exists");
+ return;
+ }
+
+ char *sptr = NULL;
+ while (fgets(str, sizeof(str), file)) {
+ DEBUG_TRACE("inside while");
+ char *key = NULL;
+ char *value = NULL;
+ key = strtok_r(str, "=", &sptr);
+ value = strtok_r(NULL, "=", &sptr);
+ DEBUG_TRACE("key is: %s and value is: %s", key, value);
+ if (value != NULL) {
+ value[strlen(value) - 1] = '\0';
+ } else {
+ DEBUG_TRACE("value is NULL");
+ continue;
+ }
+
+ if (key == NULL) {
+ continue;
+ }
+
+ if (!strcmp(key, "status")) {
+ mp_post_notification_indicator(value);
+ break;
+ }
+ }
+
+ fclose(file);
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include "mp-widget.h"
+#include "mp-player-debug.h"
+#include "mp-util.h"
+#include "mp-popup.h"
+#ifndef MP_SOUND_PLAYER
+#include "mp-common.h"
+#endif
+#include "mp-file-util.h"
+#include "mp-define.h"
+
+#define MAX_LEN_VIB_DURATION 0.5
+#define DEF_BUF_LEN (512)
+
+/*
+* Creates New naviframe
+* @param parent parent
+* @return Naviframe created
+*/
+Evas_Object *mp_widget_navigation_new(Evas_Object * parent)
+{
+ Evas_Object *navi_bar;
+ mp_retv_if(parent == NULL, NULL);
+ navi_bar = elm_naviframe_add(parent);
+ mp_retvm_if(navi_bar == NULL, NULL, "Fail to create navigation bar");
+ elm_naviframe_event_enabled_set(navi_bar, EINA_FALSE);
+
+ evas_object_show(navi_bar);
+ return navi_bar;
+}
+/*
+* Language changed callback
+* @param data Appdata
+* @param obj Genlist
+* @param event_info event_info
+* @return void
+*/
+static void mp_language_changed(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ elm_genlist_realized_items_update(obj);
+}
+/*
+* Creates widget genlist
+* @param parent parent
+* @return genlist created
+*/
+EXPORT_API Evas_Object *mp_widget_genlist_create(Evas_Object * parent)
+{
+ Evas_Object *list = NULL;
+
+ list = elm_genlist_add(parent);
+ MP_CHECK_NULL(list);
+
+ evas_object_smart_callback_add(list, "language,changed",
+ mp_language_changed, list);
+ elm_scroller_bounce_set(list, EINA_FALSE, EINA_TRUE);
+ return list;
+}
+
+/*
+* Deletes the popup after time out
+* @param data Appdata
+* @param obj popup to be deleted
+* @param event_info event_info
+* @return void
+*/
+
+static void
+_mp_widget_text_popup_timeout_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ startfunc;
+ mp_evas_object_del(obj);
+}
+
+/*
+* Creates widget text popup
+* @param data Appdata
+* @param message text message on the popup
+* @return popup created
+*/
+
+EXPORT_API Evas_Object *mp_widget_text_popup(void *data,
+ const char *message)
+{
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_NULL(ad);
+ Evas_Object *popup = NULL;
+ popup =
+ mp_popup_create(ad->win_main, MP_POPUP_NOTIFY, NULL, ad,
+ _mp_widget_text_popup_timeout_cb, ad);
+
+ evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+
+ char *text = g_strconcat("<align=center>", message, "</align>", NULL);
+ elm_object_text_set(popup, elm_entry_utf8_to_markup(GET_STR((const char *) message)));
+ mp_popup_timeout_set(popup, MP_POPUP_TIMEOUT);
+ evas_object_show(popup);
+ IF_FREE(text);
+ return popup;
+}
+
+/*
+* Creates notify popup
+* @param data Appdata
+* @param message Message to be displayed on popup
+* @param cb Smart callback to be deleted
+* @param cb_data Data to be passed in smart callback
+* @return popup created
+*/
+
+EXPORT_API Evas_Object *mp_widget_notify_cb_popup(void *data,
+ const char *message,
+ Evas_Smart_Cb cb,
+ void *cb_data)
+{
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_NULL(ad);
+ Evas_Object *popup = NULL;
+ popup =
+ mp_popup_create(ad->win_main, MP_POPUP_NOTIFY, NULL, cb_data, cb,
+ ad);
+
+ evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ char *text = g_strconcat("<align=center>", message, "</align>", NULL);
+ elm_object_text_set(popup, (const char *) text);
+ mp_popup_timeout_set(popup, MP_POPUP_TIMEOUT);
+ evas_object_show(popup);
+ IF_FREE(text);
+ return popup;
+}
+
+/*
+* Unable to play error popup
+* @param data Appdata
+* @param message Message to be displayed on popup
+* @param cb Smart callback to be deleted
+* @return popup created
+*/
+EXPORT_API Evas_Object *mp_widget_text_cb_popup(void *data,
+ const char *message,
+ Evas_Smart_Cb cb)
+{
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_NULL(ad);
+ Evas_Object *popup = NULL;
+ popup =
+ mp_popup_create(ad->win_main, MP_POPUP_NOTIFY, NULL, ad, cb, ad);
+
+ evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+
+ char *text = g_strconcat("<align=center>", message, "</align>", NULL);
+ elm_object_text_set(popup, (const char *) text);
+ mp_popup_timeout_set(popup, MP_POPUP_TIMEOUT);
+ evas_object_show(popup);
+ IF_FREE(text);
+ return popup;
+}
+
+/*
+* Creates tool bar
+* @param obj parent of tool bar
+* @return tool bar created
+*/
+
+Evas_Object *mp_widget_create_tabbar(Evas_Object * obj)
+{
+ Evas_Object *tabbar;
+
+ /* create controlbar */
+ PROFILE_IN("elm_toolbar_add");
+ tabbar = elm_toolbar_add(obj);
+ PROFILE_OUT("elm_toolbar_add");
+ elm_toolbar_shrink_mode_set(tabbar, ELM_TOOLBAR_SHRINK_SCROLL);
+ elm_toolbar_reorder_mode_set(tabbar, EINA_FALSE);
+ elm_toolbar_transverse_expanded_set(tabbar, EINA_TRUE);
+ elm_toolbar_select_mode_set(tabbar, ELM_OBJECT_SELECT_MODE_ALWAYS);
+
+ PROFILE_IN("elm_object_style_set: toolbar");
+ elm_object_style_set(tabbar, "scroll/tabbar_with_title");
+ PROFILE_OUT("elm_object_style_set: toolbar");
+
+ return tabbar;
+}
+
+/*
+* utility function to creates the button
+* @param parent parent of the button
+* @param style button style
+* @param caption caption
+* @param icon icon to be content set
+* @param func smart callback function
+* @param data data to be passed to smart callback
+* @return button created
+*/
+
+Evas_Object *mp_widget_create_button(Evas_Object * parent, char *style,
+ char *caption, Evas_Object * icon,
+ void (*func) (void *, Evas_Object *,
+ void *), void *data)
+{
+ if (!parent) {
+ return NULL;
+ }
+
+ Evas_Object *btn;
+
+ btn = elm_button_add(parent);
+
+ if (style) {
+ elm_object_style_set(btn, style);
+ }
+
+ if (caption) {
+ mp_util_domain_translatable_text_set(btn, caption);
+ }
+
+ if (icon) {
+ elm_object_content_set(btn, icon);
+ }
+
+ elm_object_focus_allow_set(btn, EINA_TRUE);
+ evas_object_propagate_events_set(btn, EINA_FALSE);
+
+ evas_object_smart_callback_add(btn, "clicked", func, (void *) data);
+
+ return btn;
+}
+
+/*
+* utility function to creates the layout
+* @param parent parent of the layout
+* @param file file path of edc
+* @param group group in edc
+* @return layout created
+*/
+
+EXPORT_API Evas_Object *mp_common_load_edj(Evas_Object * parent,
+ const char *file,
+ const char *group)
+{
+ Evas_Object *eo = NULL;
+ int r = -1;
+
+ eo = elm_layout_add(parent);
+ if (eo) {
+ char edje_path[1024] = { 0 };
+ char *path = app_get_resource_path();
+
+ MP_CHECK_NULL(path);
+ snprintf(edje_path, 1024, "%s%s/%s", path, "edje", file);
+ r = elm_layout_file_set(eo, edje_path, group);
+ free(path);
+ if (!r) {
+ evas_object_del(eo);
+ return NULL;
+ }
+ evas_object_size_hint_weight_set(eo, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ evas_object_show(eo);
+ }
+ evas_object_name_set(eo, group);
+
+ return eo;
+}
+/*
+* Window delete callback
+* @param data Appdata
+* @param obj Evas object on which callback is registered
+* @param event event info
+* @return void
+*/
+static void _mp_common_win_del(void *data, Evas_Object * obj, void *event)
+{
+ elm_exit();
+}
+
+/*
+* Utility function to Creates window
+* @param name name of the window
+* @return window created
+*/
+Evas_Object *mp_create_win(const char *name)
+{
+ startfunc;
+ Evas_Object *eo;
+ int w, h;
+
+ eo = elm_win_add(NULL, name, ELM_WIN_BASIC);
+ if (eo) {
+ elm_win_title_set(eo, name);
+ evas_object_smart_callback_add(eo, "delete,request",
+ _mp_common_win_del, NULL);
+ elm_win_screen_size_get(eo, NULL, NULL, &w, &h);
+ evas_object_resize(eo, w, h);
+ //set indicator as transparent
+ elm_win_indicator_mode_set(eo, ELM_WIN_INDICATOR_SHOW);
+ elm_win_indicator_opacity_set(eo, ELM_WIN_INDICATOR_TRANSPARENT);
+ elm_win_conformant_set(eo, EINA_TRUE);
+ }
+ return eo;
+}
+
+/*
+* Creates button
+* @param parent parent of the button
+* @param style style of the button
+* @param text text on the button
+* @param func Smart callback
+* @param data data to be passed
+* @return Button created
+*/
+
+Evas_Object *mp_widget_create_toolbar_btn(Evas_Object * parent,
+ const char *style,
+ const char *text,
+ Evas_Smart_Cb func, void *data)
+{
+ startfunc;
+ Evas_Object *btn = elm_button_add(parent);
+ MP_CHECK_NULL(btn);
+
+ elm_object_style_set(btn, style);
+ elm_object_text_set(btn, text);
+ evas_object_smart_callback_add(btn, "clicked", func, data);
+
+ return btn;
+}
+
+/*
+* Creates toolbar
+* @param navi_it Naviframe item
+* @return Toolbar created
+*/
+
+Evas_Object *mp_widget_create_naviframe_toolbar(Elm_Object_Item * navi_it)
+{
+ startfunc;
+ Evas_Object *toolbar =
+ elm_object_item_part_content_get(navi_it, "toolbar");
+ if (!toolbar) {
+ toolbar = elm_toolbar_add(GET_NAVIFRAME);
+ MP_CHECK_NULL(toolbar);
+
+ elm_object_style_set(toolbar, "default");
+ elm_toolbar_shrink_mode_set(toolbar, ELM_TOOLBAR_SHRINK_EXPAND);
+ elm_toolbar_transverse_expanded_set(toolbar, EINA_TRUE);
+ elm_object_item_part_content_set(navi_it, "toolbar", toolbar);
+ }
+
+ Elm_Object_Item *item = elm_toolbar_first_item_get(toolbar);
+ while (item) {
+ elm_object_item_del(item);
+ item = elm_toolbar_first_item_get(toolbar);
+ };
+
+ return toolbar;
+}
+
+/*
+* Appends items in toolbar
+* @param parent toolbar
+* @param style style of the toolbar
+* @param text text on the button
+* @param func Smart callback
+* @param data data to be passed
+* @return toolbar item
+*/
+Elm_Object_Item *mp_widget_create_toolbar_item_btn(Evas_Object * parent,
+ const char *style,
+ const char *text,
+ Evas_Smart_Cb func,
+ void *data)
+{
+ startfunc;
+ Evas_Object *toolbar = parent;
+ MP_CHECK_NULL(toolbar);
+
+ Elm_Object_Item *toolbar_item = NULL;
+ //Evas_Object *toolbar_obj_item = NULL;
+
+ toolbar_item =
+ elm_toolbar_item_append(toolbar, NULL, NULL, func, data);
+ //toolbar_obj_item = elm_toolbar_item_object_get(toolbar_item);
+ mp_util_item_domain_translatable_part_text_set(toolbar_item,
+ "elm.text", text);
+ return toolbar_item;
+}
+
+/*
+* Creates title text button
+* @param parent parent of the button
+* @param text text on the button
+* @param func Smart callback
+* @param data data to be passed
+* @return Button created
+*/
+Evas_Object *mp_create_title_text_btn(Evas_Object * parent,
+ const char *text, Evas_Smart_Cb func,
+ void *data)
+{
+ startfunc;
+ Evas_Object *btn = elm_button_add(parent);
+ if (!btn) {
+ return NULL;
+ }
+ elm_object_style_set(btn, "naviframe/title_text");
+ mp_util_domain_translatable_text_set(btn, text);
+ evas_object_smart_callback_add(btn, "clicked", func, data);
+ return btn;
+}
+
+/*
+* Add left button in naviframe
+* @param pParent parent of the button
+* @param pNaviItem Naviframe
+* @param pFunc Smart callback
+* @param pUserData data to be passed
+* @return Button created
+*/
+Evas_Object *mp_widget_create_navi_left_btn(Evas_Object * pParent,
+ Elm_Object_Item * pNaviItem,
+ Evas_Smart_Cb pFunc,
+ void *pUserData)
+{
+ startfunc;
+
+ if (!pParent || !pNaviItem) {
+ ERROR_TRACE("parent is NULL.");
+ return NULL;
+ }
+ Evas_Object *pLeftbtn = NULL;
+ pLeftbtn = elm_button_add(pParent);
+ elm_object_style_set(pLeftbtn, "naviframe/title_left");
+ evas_object_smart_callback_add(pLeftbtn, "clicked", pFunc, pUserData);
+ mp_util_domain_translatable_text_set(pLeftbtn, STR_MP_NAVI_CANCEL);
+
+ if (!pLeftbtn) {
+ ERROR_TRACE("[ERR] Fail to create pLeftbtn");
+ return NULL;
+ }
+
+ elm_object_item_part_content_set(pNaviItem, "title_left_btn",
+ pLeftbtn);
+
+ evas_object_show(pLeftbtn);
+
+ return pLeftbtn;
+}
+
+/*
+* Add right button in naviframe
+* @param pParent parent of the button
+* @param pNaviItem Naviframe
+* @param pFunc Smart callback
+* @param pUserData data to be passed
+* @return Button created
+*/
+Evas_Object *mp_widget_create_navi_right_btn(Evas_Object * pParent,
+ Elm_Object_Item * pNaviItem,
+ Evas_Smart_Cb pFunc,
+ void *pUserData)
+{
+ startfunc;
+
+ if (!pParent || !pNaviItem) {
+ ERROR_TRACE("parent is NULL.");
+ return NULL;
+ }
+
+ Evas_Object *pRightbtn = NULL;
+
+ pRightbtn = elm_button_add(pParent);
+ elm_object_style_set(pRightbtn, "naviframe/title_right");
+ evas_object_smart_callback_add(pRightbtn, "clicked", pFunc, pUserData);
+ mp_util_domain_translatable_text_set(pRightbtn, STR_MP_NAVI_DONE);
+
+ if (!pRightbtn) {
+ ERROR_TRACE("[ERR] Fail to create pRightbtn");
+ return NULL;
+ }
+
+ elm_object_item_part_content_set(pNaviItem, "title_right_btn",
+ pRightbtn);
+
+ evas_object_show(pRightbtn);
+
+ return pRightbtn;
+
+}
+
+/*
+* Utility function to add icon on top of parent
+* @param Parent parent of the icon
+* @param file Path of the icon
+* @param group group in edc
+* @return Icon created
+*/
+
+Evas_Object *mp_widget_create_title_icon(Evas_Object * parent,
+ const char *file,
+ const char *group)
+{
+ startfunc;
+ Evas_Object *pIcon = elm_icon_add(parent);
+ elm_image_file_set(pIcon, file, group);
+ evas_object_size_hint_aspect_set(pIcon, EVAS_ASPECT_CONTROL_VERTICAL,
+ 1, 1);
+ elm_image_resizable_set(pIcon, EINA_TRUE, EINA_TRUE);
+
+ return pIcon;
+}
+/*
+* Utility function to add rectangle
+* @param pParent parent of the rectangle
+* @return rectangle created
+*/
+Evas_Object *mp_widget_create_bg(Evas_Object * parent)
+{
+ startfunc;
+ Evas_Object *bg = NULL;
+ bg = evas_object_rectangle_add(evas_object_evas_get(parent));
+ evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ evas_object_repeat_events_set(bg, EINA_FALSE);
+ evas_object_color_set(bg, 248, 246, 239, 255);
+ evas_object_show(bg);
+ return bg;
+}
+/*
+* Creates No content help layout
+* @param Parent Parent of layout
+* @param text text to be displayed
+* @param helptext helptext
+* @param btntext Text on the button
+* @param cb smart callback on button
+* @param data data to be passed to callback
+* @return layout
+*/
+Evas_Object *_mp_widget_no_content_w_help_add(Evas_Object * parent,
+ char *text, char *helptext,
+ char *btntext, void *cb,
+ void *data)
+{
+ Evas_Object *lay = NULL, *btn = NULL;
+
+ /* Full view layout */
+ lay = elm_layout_add(parent);
+ elm_layout_theme_set(lay, "layout", "nocontents", "default");
+ evas_object_size_hint_weight_set(lay, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(lay, EVAS_HINT_FILL, EVAS_HINT_FILL);
+
+ mp_util_domain_translatable_part_text_set(lay, "elm.text", text);
+ elm_layout_signal_emit(lay, "text,disabled", "");
+ elm_layout_signal_emit(lay, "align.center", "elm");
+
+ if (helptext) {
+ mp_util_domain_translatable_part_text_set(lay, "elm.help.text",
+ helptext);
+ }
+
+ if (cb) {
+ btn = elm_button_add(lay);
+ elm_object_style_set(btn, "style1");
+ mp_util_domain_translatable_text_set(btn, btntext);
+ evas_object_smart_callback_add(btn, "clicked", cb, data);
+
+ elm_object_part_content_set(lay, "swallow_area", btn);
+ }
+ evas_object_show(lay);
+
+ return lay;
+
+}
+/*
+* Creates select all layout
+* @param Parent Parent of No content layout
+* @param type Nocontent type
+* @param callback Event callback
+* @param data User data passed to the callback
+* @param obj passed to the callback
+* @param event_info event_info passed to the callback
+* @param user_data User data
+* @return no content layout
+*/
+Evas_Object *mp_widget_create_no_contents(Evas_Object * parent,
+ MpNocontent_e type,
+ void (*callback) (void *data,
+ Evas_Object *
+ obj,
+ void
+ *event_info),
+ void *user_data)
+{
+ MP_CHECK_NULL(parent);
+ startfunc;
+
+ Evas_Object *content = NULL;
+
+ if (type == MP_NOCONTENT_NORMAL || type == MP_NOCONTENT_PLAYLIST
+ || type == MP_NOCONTENT_DEVICE) {
+ content = elm_layout_add(parent);
+ elm_layout_theme_set(content, "layout", "nocontents", "default");
+ evas_object_size_hint_weight_set(content, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(content, EVAS_HINT_FILL,
+ EVAS_HINT_FILL);
+ const char *text = NULL;
+ if (type == MP_NOCONTENT_PLAYLIST) {
+ text = STR_MP_NO_PLAYLISTS;
+ } else if (type == MP_NOCONTENT_DEVICE) {
+ text = STR_MP_NO_DEVICES;
+ } else {
+ text = STR_MP_NO_TRACKS;
+ }
+ mp_util_domain_translatable_text_set(content, text);
+ evas_object_show(content);
+ } else if (type == MP_NOCONTENT_ARTISTS || type == MP_NOCONTENT_ALBUMS) {
+ char *text =
+ (type ==
+ MP_NOCONTENT_ARTISTS) ? STR_MP_NO_ARTISTS : STR_MP_NO_ALBUMS;
+ content =
+ _mp_widget_no_content_w_help_add(parent, text,
+ STR_MP_AFTER_ADD_TRACKS_HELP,
+ NULL, NULL, NULL);
+ }
+
+ else {
+ content =
+ _mp_widget_no_content_w_help_add(parent, STR_MP_NO_TRACKS,
+ STR_MP_AFTER_YOU_ADD_TRACKS,
+ NULL, NULL, NULL);
+ }
+
+ return content;
+}
+
+/*
+* Add image on parent layout
+* @param Parent of label
+* @param style style of the label
+* @param text text of the label
+* @return label
+*/
+Evas_Object *mp_widget_create_no_content_playlist(Evas_Object * parent,
+ char *helptext,
+ void (*callback) (void
+ *data,
+ Evas_Object
+ *obj,
+ void
+ *event_info),
+ void *user_data)
+{
+ MP_CHECK_NULL(parent);
+ startfunc;
+
+ Evas_Object *lay = NULL, *btn = NULL;
+ lay = elm_layout_add(parent);
+ elm_layout_theme_set(lay, "layout", "nocontents", "default");
+ evas_object_size_hint_weight_set(lay, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(lay, EVAS_HINT_FILL, EVAS_HINT_FILL);
+
+ //elm_object_part_text_set(lay, "elm.text", GET_STR(STR_MP_NO_TRACKS));
+ mp_util_domain_translatable_part_text_set(lay, "elm.text",
+ STR_MP_NO_TRACKS);
+ elm_layout_signal_emit(lay, "text,disabled", "");
+ elm_layout_signal_emit(lay, "align.center", "elm");
+
+ if (helptext) {
+ mp_util_domain_translatable_part_text_set(lay, "elm.help.text",
+ (const char *) helptext);
+ //avoid text skip
+ edje_object_message_signal_process(elm_layout_edje_get(lay));
+ }
+
+ if (callback) {
+ btn = elm_button_add(lay);
+ elm_object_style_set(btn, "style1");
+ mp_util_domain_translatable_text_set(btn, STR_MP_ADD_TRACKS);
+ evas_object_smart_callback_add(btn, "clicked", callback,
+ user_data);
+ //elm_object_part_content_set(lay, "swallow_area", btn);
+ }
+ evas_object_show(lay);
+ return lay;
+}
+
+/*
+* Add image on parent layout
+* @param Parent of label
+* @param style style of the label
+* @param text text of the label
+* @return label
+*/
+
+Evas_Object *mp_widget_shorcut_box_add(Evas_Object * parent,
+ const char *title, const char *file,
+ const char *group, int w, int h,
+ Edje_Signal_Cb func, void *data)
+{
+ Evas_Object *layout = NULL;
+ layout = mp_common_load_edj(parent, MP_EDJ_NAME, "shortcut_box");
+ MP_CHECK_NULL(layout);
+ Evas_Object *image = NULL;
+
+ if (group) {
+ image = mp_util_create_thumb_icon(layout, NULL, w, h);
+ elm_bg_file_set(image, file, group);
+ } else {
+ image = mp_util_create_thumb_icon(layout, file, w, h);
+ }
+
+ elm_object_part_content_set(layout, "bg", image);
+ if (title) {
+ elm_object_part_text_set(layout, "label", GET_STR(title));
+ mp_language_mgr_register_object(layout, OBJ_TYPE_EDJE_OBJECT,
+ "label", title);
+ }
+
+ if (func) {
+ elm_object_signal_callback_add(layout, "clicked", "*", func, data);
+ }
+
+ return layout;
+}
+
+/*
+* Add label
+* @param Parent of label
+* @param style style of the label
+* @param text text of the label
+* @return label
+*/
+Evas_Object *mp_widget_slide_title_create(Evas_Object * parent,
+ const char *style,
+ const char *text)
+{
+ Evas_Object *label = elm_label_add(parent);
+
+ // set the label style
+ elm_object_style_set(label, style);
+
+ // set the label for the title slide mode
+ elm_label_slide_mode_set(label, ELM_LABEL_SLIDE_MODE_AUTO);
+ elm_label_wrap_width_set(label, 1);
+ // set the label text
+ elm_object_text_set(label, text);
+ evas_object_show(label);
+ /*
+ double duration = strlen(text) / (double)10;
+ if (duration < 1.0)
+ duration = 1.0;
+ elm_label_slide_duration_set(label, duration);
+ */
+
+ //elm_label_ellipsis_set(label, EINA_TRUE);
+
+ return label;
+}
+
+/*
+* Add loading progressbar
+* @param Parent of progressbar
+* @param size of the loading icon
+* @return layout
+*/
+
+Evas_Object *mp_widget_loading_icon_add(Evas_Object * parent,
+ mp_loading_icon_size_e size)
+{
+ Evas_Object *progressbar = NULL;
+ progressbar = elm_progressbar_add(parent);
+
+ const char *style = NULL;
+ if (size == MP_LOADING_ICON_SIZE_MEDIUM) {
+ style = "process_medium";
+ } else if (size == MP_LOADING_ICON_SIZE_SMALL) {
+ style = "process_small";
+ } else {
+ style = "process_large";
+ }
+ elm_object_style_set(progressbar, style);
+ evas_object_size_hint_align_set(progressbar, EVAS_HINT_FILL, 0.5);
+ evas_object_size_hint_weight_set(progressbar, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ evas_object_show(progressbar);
+ elm_progressbar_pulse(progressbar, EINA_TRUE);
+
+ return progressbar;
+}
+
+/*
+* Add image on top of layout
+* @param obj parent of lock icon
+* @param thumbpath image path
+* @return layout
+*/
+
+#ifdef MP_FEATURE_PERSONAL_PAGE
+Evas_Object *mp_widget_lock_icon_create(Evas_Object * obj,
+ const char *thumbpath)
+{
+ MP_CHECK_NULL(obj);
+ /*create layout */
+ Evas_Object *layout = NULL;
+ layout = mp_common_load_edj(obj, MP_EDJ_NAME, "thumbnail_only");
+ if (layout == NULL) {
+ mp_error("layout create failed");
+ }
+ /*create thumbnail */
+ Evas_Object *thumb = elm_image_add(layout);
+ elm_object_focus_set(thumb, EINA_FALSE);
+ if (thumbpath != NULL) {
+ elm_image_file_set(thumb, thumbpath, NULL);
+ } else {
+ char default_thumbnail[1024] = { 0 };
+ char *shared_path = app_get_shared_resource_path();
+ snprintf(default_thumbnail, 1024, "%s%s/%s", shared_path,
+ "shared_images", DEFAULT_THUMBNAIL);
+ free(shared_path);
+ elm_image_file_set(thumb, default_thumbnail, NULL);
+ }
+
+ elm_object_part_content_set(layout, "default_thumbnail", thumb);
+ /*check if it is in personal page */
+ Evas_Object *personal_page = NULL;
+ personal_page = elm_image_add(layout);
+ elm_object_focus_set(personal_page, EINA_FALSE);
+ elm_image_file_set(personal_page, IMAGE_EDJ_NAME, MP_ICON_LOCK);
+ evas_object_show(personal_page);
+ elm_object_part_content_set(layout, "lock.sub", personal_page);
+
+ return layout;
+}
+#endif
+
+/*
+* Creates select all layout
+* @param pParent Parent of select all layout
+* @param pChangeFunc Smart callback
+* @param pMouseDownFunc Event callback
+* @param pUserData User data
+* @param pCheckBox Checkbox
+* @param pSelectLayout select all layout
+* @return bool
+*/
+
+bool mp_widget_create_select_all_layout(Evas_Object * pParent,
+ Evas_Smart_Cb pChangeFunc,
+ Evas_Object_Event_Cb
+ pMouseDownFunc, void *pUserData,
+ Evas_Object ** pCheckBox,
+ Evas_Object ** pSelectLayout)
+{
+ if (!pParent) {
+ ERROR_TRACE("parent is NULL.");
+ return FALSE;
+ }
+
+ Evas_Object *pSelectAllLayout = elm_layout_add(pParent);
+ elm_layout_theme_set(pSelectAllLayout, "genlist", "item",
+ "group_index/default");
+ evas_object_size_hint_weight_set(pSelectAllLayout, EVAS_HINT_EXPAND,
+ EVAS_HINT_FILL);
+ evas_object_size_hint_align_set(pSelectAllLayout, EVAS_HINT_FILL,
+ EVAS_HINT_FILL);
+ evas_object_event_callback_add(pSelectAllLayout,
+ EVAS_CALLBACK_MOUSE_DOWN,
+ pMouseDownFunc, pUserData);
+ *pSelectLayout = pSelectAllLayout;
+
+ Evas_Object *pSelectAllCheckbox = elm_check_add(pSelectAllLayout);
+ evas_object_smart_callback_add(pSelectAllCheckbox, "changed",
+ pChangeFunc, pUserData);
+ evas_object_propagate_events_set(pSelectAllCheckbox, EINA_FALSE);
+ elm_object_part_content_set(pSelectAllLayout, "elm.swallow.end",
+ pSelectAllCheckbox);
+ mp_util_domain_translatable_part_text_set(pSelectAllLayout, "elm.text",
+ MP_SCREEN_READER_SELECT_ALL);
+ evas_object_show(pSelectAllLayout);
+ *pCheckBox = pSelectAllCheckbox;
+ return TRUE;
+
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __mp_file_tag_info_H__
+#define __mp_file_tag_info_H__
+
+typedef struct _tag_info_t {
+ char *album;
+ char *genre;
+ char *author;
+ char *artist;
+ char *title;
+ char *copyright;
+ char *date;
+ char *desc;
+ char *albumart_path;
+ char *track;
+ char *rating;
+ int duration;
+ int audio_samplerate;
+ int audio_bitrate;
+ int audio_channel;
+} mp_tag_info_t;
+
+/* tag_info which must be freed with mp_file_tag_free() after use. */
+int mp_file_tag_info_get_all_tag(const char *filename,
+ mp_tag_info_t * tag_info);
+
+char *mp_file_tag_info_get_genre(const char *filename);
+int mp_file_tag_info_get_albumart(const char *filename,
+ char **albumart_path);
+
+void mp_file_tag_free(mp_tag_info_t * tag_info);
+#endif //__mp_file_tag_info_H__
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MP_LANGUAGE_CHANGER_H
+#define __MP_LANGUAGE_CHANGER_H
+
+#include <Elementary.h>
+
+typedef enum {
+ OBJ_TYPE_ELM_OBJECT, //elm_object_text_set(obj, text)
+ OBJ_TYPE_EDJE_OBJECT, //edje_object_part_text_set(obj, part, text)
+ OBJ_TYPE_MAX,
+} obj_type;
+
+typedef void (*Mp_Language_Update_Func) (Evas_Object * obj,
+ const char *part,
+ const char *ids);
+
+int mp_language_mgr_create();
+int mp_language_mgr_destroy();
+
+/*part and string_id must be static*/
+void mp_language_mgr_register_object(Evas_Object * obj, obj_type type,
+ const char *part,
+ const char *string_id);
+void mp_language_mgr_register_object_func_set(Evas_Object * obj,
+ const char *part,
+ const char *text_id,
+ Mp_Language_Update_Func
+ func);
+void mp_language_mgr_unregister_object_item(Elm_Object_Item * object_item);
+void mp_language_mgr_object_item_text_ID_set(Elm_Object_Item * object_item,
+ const char *text_ID);
+
+void mp_language_mgr_unregister_genlist_item(Elm_Object_Item * item);
+
+void mp_language_mgr_register_gengrid_item(Elm_Object_Item * item);
+void mp_language_mgr_unregister_gengrid_item(Elm_Object_Item * item);
+
+void mp_language_mgr_update();
+
+#endif
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MP_LYRIC_MGR_H__
+#define __MP_LYRIC_MGR_H__
+
+#include "mp-define.h"
+
+#define MP_LRC_LINE_BUF_LEN (int)255 /* The max length of one line string buffer */
+
+
+typedef enum {
+ MP_LYRIC_SOURCE_BUFFER = 0,
+ MP_LYRIC_SOURCE_LIST,
+ MP_LYRIC_SOURCE_FILE,
+} mp_lyric_source_type;
+
+typedef struct {
+ long time;
+ char *lyric;
+} mp_lrc_node_t;
+
+typedef struct {
+ char *title;
+ char *artist;
+ char *album;
+ long offset; /* The offset of all time tags */
+ Eina_List *synclrc_list;
+ Eina_List *unsynclrc_list;
+} mp_lyric_mgr_t;
+
+mp_lyric_mgr_t *mp_lyric_mgr_create(const char *path);
+void mp_lyric_mgr_destory(mp_lyric_mgr_t * lyric_mgr);
+
+#endif /* __MP_LYRIC_MGR_H__ */
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __DEF_music_player_contro_H_
+#define __DEF_music_player_contro_H_
+
+#include <Elementary.h>
+#include "music.h"
+#include "mp-player-view.h"
+
+void mp_play_control_play_pause(struct appdata *ad, bool play);
+void mp_play_control_resume_via_media_key(struct appdata *ad);
+void mp_player_control_stop(struct appdata *ad);
+void mp_play_control_ff(int press, bool event_by_mediakey, bool clicked);
+void mp_play_control_rew(int press, bool event_by_mediakey, bool clicked);
+void mp_play_control_reset_ff_rew(void);
+void mp_play_control_menu_cb(void *data, Evas_Object * o,
+ const char *emission, const char *source);
+void mp_play_control_end_of_stream(void *data);
+int mp_player_control_ready_new_file(void *data, bool check_drm);
+void mp_play_control_on_error(struct appdata *ad, int ret, bool add_watch);
+
+void mp_play_stop_and_updateview(void *data, bool mmc_removed);
+void mp_play_control_shuffle_set(void *data, bool shuffle_enable);
+
+void mp_play_control_next(void);
+void mp_play_control_prev(void);
+
+#endif /*__DEF_music_player_contro_H_*/
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+
+#ifndef __MP_player_mgr_H_
+#define __MP_player_mgr_H_
+
+#include <sound_manager.h>
+#include <player.h>
+#include "ms-key-ctrl.h"
+
+typedef enum {
+ MP_PLAYER_TYPE_MMFW,
+} mp_player_type_e;
+
+typedef void (*Seek_Done_Cb) (void *data);
+typedef void (*mp_player_started_cb) (void *user_data);
+typedef void (*mp_player_paused_cb) (void *user_data);
+typedef void (*mp_player_duration_changed_cb) (void *user_data);
+
+player_h mp_player_mgr_get_player(void);
+bool mp_player_mgr_is_active(void);
+void mp_player_mgr_set_started_db(mp_player_started_cb callback,
+ void *user_data);
+void mp_player_mgr_set_completed_cb(player_completed_cb callback,
+ void *user_data);
+void mp_player_mgr_set_interrupted_cb(player_interrupted_cb callback,
+ void *user_data);
+void mp_player_mgr_set_error_cb(player_error_cb callback, void *user_data);
+void mp_player_mgr_set_buffering_cb(player_buffering_cb callback,
+ void *user_data);
+void mp_player_mgr_set_prepare_cb(player_prepared_cb callback,
+ void *user_data);
+void mp_player_mgr_set_paused_cb(mp_player_paused_cb callback,
+ void *user_data);
+void mp_player_mgr_set_duration_changed_cb(mp_player_duration_changed_cb
+ callback, void *user_data);
+void mp_player_mgr_unset_completed_cb(void);
+void mp_player_mgr_unset_interrupted_cb(void);
+void mp_player_mgr_unset_error_cb(void);
+void mp_player_mgr_unset_buffering_cb(void);
+
+int mp_player_mgr_create(void *data, const char *path,
+ mp_player_type_e type, void *extra_data);
+int mp_player_mgr_create_with_buffer(void *data, void *buffer, int size); // buffer will be managed by player_mgr
+bool mp_player_mgr_destroy(void *data);
+int mp_player_mgr_realize(void *data);
+bool mp_player_mgr_unrealize(void *data);
+int mp_player_mgr_play(void *data);
+bool mp_player_mgr_stop(void *data);
+int mp_player_mgr_resume(void *data);
+bool mp_player_mgr_pause(void *data);
+void mp_player_mgr_set_mute(bool bMuteEnable);
+bool mp_player_mgr_is_seeking(void);
+bool mp_player_mgr_set_position(unsigned int pos, Seek_Done_Cb done_cb,
+ void *data);
+Eina_Bool mp_player_mgr_seek_done(void *data);
+void mp_player_mgr_unset_seek_done_cb();
+bool mp_player_mgr_set_play_speed(double speed);
+int mp_player_mgr_get_position(void);
+int mp_player_mgr_get_duration(void);
+bool mp_player_mgr_session_init(void);
+bool mp_player_mgr_session_finish(void);
+
+player_state_e mp_player_mgr_get_state(void);
+bool mp_player_mgr_change_player(mp_player_type_e player_type);
+mp_player_type_e mp_player_mgr_get_player_type(void);
+
+int mp_player_mgr_volume_get_max();
+int mp_player_mgr_volume_get_current();
+bool mp_player_mgr_volume_set(int volume);
+bool mp_player_mgr_volume_up();
+bool mp_player_mgr_volume_down();
+int mp_player_mgr_safety_volume_set(int foreground);
+bool mp_player_mgr_get_content_info(char **title, char **album,
+ char **artist, char **author,
+ char **genre, char **year);
+void mp_playlist_mgr_item_remove_deleted_item(mp_plst_mgr * playlist_mgr);
+
+int _mp_player_mgr_create_common(struct appdata *ad,
+ mp_player_type_e type);
+int mp_player_mgr_prepare(void *data);
+
+#endif //__MP_player_mgr_H_
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MP_PLAY_LIST_H_
+#define __MP_PLAY_LIST_H_
+
+#include <glib.h>
+#include <Eina.h>
+#include "mp-define.h"
+
+typedef enum {
+ MP_TRACK_URI,
+} mp_track_type;
+
+typedef enum {
+ MP_PLST_TYPE_NONE,
+ MP_PLST_TYPE_MUSIC_SQUARE,
+} mp_plst_type;
+
+typedef enum _mp_plst_repeat_state {
+ MP_PLST_REPEAT_ALL,
+ MP_PLST_REPEAT_NONE,
+ MP_PLST_REPEAT_ONE,
+} mp_plst_repeat_state;
+
+typedef struct {
+ FILE *fp;
+ Ecore_Timer *timer;
+ int index_of_first;
+ int cur_index;
+ int skip_count;
+ int add_remained;
+} mp_plst_lazy_appender_s;
+
+typedef struct _mp_list_item {
+ mp_track_type track_type;
+ char *uri; //local track uri..
+ char *uid; //unique id (media_id or allshare item id)
+ char *title;
+ char *artist;
+ char *thumbnail_path;
+ int playlist_memeber_id;
+ Eina_Bool isDiffAP;
+ bool out_of_list;
+} mp_plst_item;
+
+typedef void (*mp_playlist_item_change_callback) (mp_plst_item * item,
+ void *userdata);
+
+typedef struct _mp_plst_mgr {
+ int current_index;
+ Eina_Bool shuffle_state; //shuffle on/off
+ mp_plst_repeat_state repeat_state; //off:0/one:1/all:2
+ GList *list; //normal list do not free, just refer normal_list or shuffle_list
+ GList *normal_list;
+ GList *shuffle_list;
+ void *item_change_userdata;
+ mp_playlist_item_change_callback item_change_cb;
+
+ Ecore_Timer *save_timer;
+
+ mp_plst_type list_type;
+
+ int playlist_id;
+
+ mp_plst_lazy_appender_s *lazy_appender;
+} mp_plst_mgr;
+
+
+mp_plst_mgr *mp_playlist_mgr_create(void);
+void mp_playlist_mgr_destroy(mp_plst_mgr * playlist_mgr);
+
+mp_plst_item *mp_playlist_mgr_item_append(mp_plst_mgr * playlist_mgr,
+ const char *uri, const char *uid,
+ const char *title,
+ const char *artist,
+ mp_track_type type);
+mp_plst_item *mp_playlist_mgr_item_insert(mp_plst_mgr * playlist_mgr,
+ const char *uri, const char *uid,
+ const char *title,
+ const char *artist,
+ mp_track_type type, int index);
+void mp_playlist_mgr_item_set_playlist_memeber_id(mp_plst_item * item,
+ int memeber_id);
+void mp_playlist_mgr_item_remove_item(mp_plst_mgr * playlist_mgr,
+ mp_plst_item * item);
+void mp_playlist_mgr_item_remove_nth(mp_plst_mgr * playlist_mgr,
+ int index);
+void mp_playlist_mgr_clear(mp_plst_mgr * playlist_mgr);
+
+int mp_playlist_mgr_count(mp_plst_mgr * playlist_mgr);
+mp_plst_item *mp_playlist_mgr_get_current(mp_plst_mgr * playlist_mgr);
+mp_plst_item *mp_playlist_mgr_get_next(mp_plst_mgr * playlist_mgr,
+ Eina_Bool force,
+ Eina_Bool refresh_shuffle);
+mp_plst_item *mp_playlist_mgr_get_prev(mp_plst_mgr * playlist_mgr);
+mp_plst_item *mp_playlist_mgr_get_nth(mp_plst_mgr * playlist_mgr,
+ int index);
+mp_plst_item *mp_playlist_mgr_normal_list_get_nth(mp_plst_mgr *
+ playlist_mgr, int index);
+mp_plst_item *mp_playlist_mgr_get_item_by_uid(mp_plst_mgr * playlist_mgr,
+ const char *uid);
+mp_plst_item *mp_playlist_mgr_get_item_by_playlist_memeber_id(mp_plst_mgr *
+ playlist_mgr,
+ int
+ member_id);
+
+void mp_playlist_mgr_set_shuffle_first_item(mp_plst_mgr * playlist_mgr,
+ mp_plst_item * first);
+void mp_playlist_mgr_set_current(mp_plst_mgr * playlist_mgr,
+ mp_plst_item * cur);
+
+void mp_playlist_mgr_set_shuffle(mp_plst_mgr * playlist_mgr,
+ Eina_Bool shuffle);
+bool mp_playlist_mgr_get_shuffle(mp_plst_mgr * playlist_mgr);
+
+Eina_Bool mp_playlist_mgr_is_shuffle(mp_plst_mgr * playlist_mgr);
+void mp_playlist_mgr_set_repeat(mp_plst_mgr * playlist_mgr,
+ mp_plst_repeat_state repeat);
+int mp_playlist_mgr_get_repeat(mp_plst_mgr * playlist_mgr);
+int mp_playlist_mgr_set_item_change_callback(mp_plst_mgr * playlist_mgr,
+ mp_playlist_item_change_callback
+ cb, void *userdata);
+
+void mp_playlist_mgr_set_list_type(mp_plst_mgr * playlist_mgr,
+ mp_plst_type type);
+mp_plst_type mp_playlist_mgr_get_list_type(mp_plst_mgr * playlist_mgr);
+
+void mp_playlist_mgr_item_reorder(mp_plst_mgr * playlist_mgr,
+ mp_plst_item * item, int new_index);
+void mp_playlist_mgr_check_existance_and_refresh(mp_plst_mgr *
+ playlist_mgr,
+ bool * current_removed);
+
+void mp_playlist_mgr_set_playlist_id(mp_plst_mgr * playlist_mgr,
+ int playlist_id);
+int mp_playlist_mgr_get_playlist_id(mp_plst_mgr * playlist_mgr);
+
+mp_plst_item *mp_playlist_mgr_lazy_append_with_file(mp_plst_mgr *
+ playlist_mgr,
+ const char *list_file,
+ const char
+ *cur_file_path,
+ int start_index);
+
+mp_plst_item *mp_playlist_mgr_custom_item_new(const char *uri);
+void mp_playlist_mgr_custom_item_free(mp_plst_item * item);
+int mp_playlist_mgr_get_index(mp_plst_mgr * playlist_mgr);
+int mp_playlist_mgr_get_normal_index(mp_plst_mgr * playlist_mgr);
+#endif
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MP_SETTING_CTRL_H_
+#define __MP_SETTING_CTRL_H_
+
+typedef void (*MpSettingPlaylist_Cb) (int state, void *data);
+typedef void (*MpSettingSaChange_Cb) (int state, void *data);
+typedef void (*MpSettingAutoOff_Cb) (int min, void *data);
+typedef void (*MpSettingPlaySpeed_Cb) (double speed, void *data);
+
+int mp_setting_init(struct appdata *ad);
+int mp_setting_deinit(struct appdata *ad);
+int mp_setting_set_shuffle_state(int b_val);
+int mp_setting_get_shuffle_state(int *b_val);
+int mp_setting_set_repeat_state(int val);
+int mp_setting_get_repeat_state(int *val);
+void mp_setting_set_nowplaying_id(int val);
+int mp_setting_get_nowplaying_id(void);
+int mp_setting_playlist_get_state(int *state);
+int mp_setting_playlist_set_callback(MpSettingPlaylist_Cb func,
+ void *data);
+void mp_setting_set_player_state(int val);
+void mp_setting_save_now_playing(void *ad);
+void mp_setting_save_playing_info(void *ad);
+void mp_setting_get_now_playing_path_from_file(char **path);
+void mp_setting_save_shortcut(char *shortcut_title, char *artist,
+ char *shortcut_description,
+ char *shortcut_image_path);
+
+void mp_setting_remove_now_playing_shared_status(void);
+void mp_setting_remove_now_playing(void);
+int mp_setting_read_playing_status(char *uri, char *status);
+void mp_setting_write_playing_status(char *uri, char *status);
+
+#ifdef MP_FEATURE_AUTO_OFF
+int mp_setting_auto_off_set_callback(MpSettingAutoOff_Cb func, void *data);
+void mp_setting_reset_auto_off_time();
+int mp_setting_get_auto_off_time();
+#endif
+
+#ifdef MP_FEATURE_PLAY_SPEED
+int mp_setting_set_play_speed_change_callback(MpSettingPlaySpeed_Cb func,
+ void *data);
+int mp_setting_reset_play_speed();
+double mp_setting_get_play_speed();
+#endif
+
+int mp_setting_get_side_sync_status(void);
+
+void mp_setting_update_active_device();
+#ifdef MP_FEATURE_PERSONAL_PAGE
+bool mp_setting_set_personal_dont_ask_again(bool bAsked);
+bool mp_setting_get_personal_dont_ask_again(bool * bAsked);
+#endif
+
+#endif // __MP_SETTING_CTRL_H_
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MP_VIEW_MGR_H__
+#define __MP_VIEW_MGR_H__
+
+#include <Elementary.h>
+#include <glib.h>
+#include "mp-view.h"
+
+typedef struct {
+ Evas_Object *navi;
+} MpViewMgr_t;
+
+#define GET_VIEW_MGR mp_view_mgr_get_view_manager()
+#define GET_PLAYER_VIEW mp_view_mgr_get_view(GET_VIEW_MGR, MP_VIEW_PLAYER)
+#define GET_ALL_VIEW mp_view_mgr_get_view(GET_VIEW_MGR, MP_VIEW_ALL)
+#define GET_NAVIFRAME ((mp_view_mgr_get_view_manager()) ? mp_view_mgr_get_view_manager()->navi : NULL)
+
+MpViewMgr_t *mp_view_mgr_create(Evas_Object * parent);
+int mp_view_mgr_destory(MpViewMgr_t * view_mgr);
+EXPORT_API MpViewMgr_t *mp_view_mgr_get_view_manager();
+
+MpView_t *mp_view_mgr_get_top_view(MpViewMgr_t * view_mgr);
+EXPORT_API MpView_t *mp_view_mgr_get_view(MpViewMgr_t * view_mgr,
+ MpViewType_e type);
+EXPORT_API MpView_t *mp_view_mgr_get_view_prev(MpViewMgr_t * view_mgr,
+ MpViewType_e type);
+
+EXPORT_API int mp_view_mgr_push_view_with_effect(MpViewMgr_t * view_mgr,
+ MpView_t * view,
+ const char *item_style,
+ bool disable_effect);
+EXPORT_API int mp_view_mgr_push_view(MpViewMgr_t * view_mgr,
+ MpView_t * view,
+ const char *item_style);
+int mp_view_mgr_pop_view(MpViewMgr_t * view_mgr, bool pop_view);
+int mp_view_mgr_pop_to_view(MpViewMgr_t * view_mgr, MpViewType_e type);
+int mp_view_mgr_delete_view(MpViewMgr_t * view_mgr, MpViewType_e type);
+int mp_view_mgr_count_view(MpViewMgr_t * view_mgr);
+int mp_view_mgr_pop_a_view(MpViewMgr_t * view_mgr, MpView_t * view);
+
+void mp_view_mgr_post_event(MpViewMgr_t * view_mgr, MpViewEvent_e event);
+
+#endif
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MP_VOLMUE_H__
+#define __MP_VOLMUE_H__
+
+#include <stdbool.h>
+
+typedef enum {
+ MP_VOLUME_KEY_DOWN,
+ MP_VOLUME_KEY_UP,
+ MP_VOLUME_KEY_MUTE,
+} mp_volume_key_e;
+
+typedef enum {
+ MP_VOLUME_KEY_GRAB_COND_WINDOW_FOCUS,
+ MP_VOLUME_KEY_GRAB_COND_VIEW_VISIBLE,
+ MP_VOLUME_KEY_GRAB_COND_MAX,
+} mp_volume_key_grab_condition_e;
+
+
+typedef void (*Mp_Volume_Key_Event_Cb) (void *user_data,
+ mp_volume_key_e key,
+ bool released);
+typedef void (*Mp_Volume_Change_Cb) (int volume, void *user_data);
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+ void mp_volume_init(void *win);
+ void mp_volume_finalize(void);
+ void mp_volume_key_grab_condition_set(mp_volume_key_grab_condition_e
+ condition, bool enabled);
+ bool mp_volume_key_grab_start();
+ void mp_volume_key_grab_end();
+ bool mp_volume_key_is_grabed();
+ void mp_volume_key_event_send(mp_volume_key_e type, bool released);
+ void mp_volume_key_event_callback_add(Mp_Volume_Key_Event_Cb event_cb,
+ void *user_data);
+ void mp_volume_key_event_callback_del();
+ void mp_volume_key_event_timer_del();
+ void mp_volume_add_change_cb(Mp_Volume_Change_Cb cb, void *user_data);
+ void _mp_volume_handle_change(unsigned int volume);
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* __MP_VOLMUE_H__ */
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <glib.h>
+#include <metadata_extractor.h>
+#include "mp-file-tag-info.h"
+#include "mp-player-debug.h"
+#include "mp-file-util.h"
+
+#define SAFE_FREE(x) if (x) {free(x); x = NULL; }
+
+/* tag_info which must be freed with mp_file_tag_free() after use. */
+int
+mp_file_tag_info_get_all_tag(const char *filename,
+ mp_tag_info_t * tag_info)
+{
+ int ret = 0;
+ metadata_extractor_h handle = NULL;
+
+ if (!filename || !tag_info) {
+ goto CATCH_ERROR;
+ }
+
+ memset(tag_info, 0x00, sizeof(mp_tag_info_t));
+
+ ret = metadata_extractor_create(&handle);
+ if (ret != METADATA_EXTRACTOR_ERROR_NONE) {
+ mp_error("metadata_extractor_create().. %d", ret);
+ goto CATCH_ERROR;
+ }
+
+ ret = metadata_extractor_set_path(handle, filename);
+ if (ret != METADATA_EXTRACTOR_ERROR_NONE) {
+ mp_error("metadata_extractor_set_path().. %d", ret);
+ goto CATCH_ERROR;
+ }
+
+ char *value = NULL;
+ ret =
+ metadata_extractor_get_metadata(handle, METADATA_DURATION, &value);
+ if (ret == METADATA_EXTRACTOR_ERROR_NONE && value) {
+ tag_info->duration = atoi(value);
+ }
+ SAFE_FREE(value);
+
+ ret =
+ metadata_extractor_get_metadata(handle, METADATA_AUDIO_SAMPLERATE,
+ &value);
+ if (ret == METADATA_EXTRACTOR_ERROR_NONE && value) {
+ tag_info->audio_samplerate = atoi(value);
+ }
+ SAFE_FREE(value);
+
+ ret =
+ metadata_extractor_get_metadata(handle, METADATA_AUDIO_BITRATE,
+ &value);
+ if (ret == METADATA_EXTRACTOR_ERROR_NONE && value) {
+ tag_info->audio_bitrate = atoi(value);
+ }
+ SAFE_FREE(value);
+
+ value = NULL;
+ ret =
+ metadata_extractor_get_metadata(handle, METADATA_AUDIO_CHANNELS,
+ &value);
+ if (ret == METADATA_EXTRACTOR_ERROR_NONE && value) {
+ tag_info->audio_channel = atoi(value);
+ }
+ SAFE_FREE(value);
+
+ metadata_extractor_get_metadata(handle, METADATA_ARTIST,
+ &tag_info->artist);
+ metadata_extractor_get_metadata(handle, METADATA_ALBUM,
+ &tag_info->album);
+ metadata_extractor_get_metadata(handle, METADATA_TITLE,
+ &tag_info->title);
+ metadata_extractor_get_metadata(handle, METADATA_GENRE,
+ &tag_info->genre);
+ metadata_extractor_get_metadata(handle, METADATA_COMPOSER,
+ &tag_info->author);
+ metadata_extractor_get_metadata(handle, METADATA_COPYRIGHT,
+ &tag_info->copyright);
+ metadata_extractor_get_metadata(handle, METADATA_DATE,
+ &tag_info->date);
+ metadata_extractor_get_metadata(handle, METADATA_DESCRIPTION,
+ &tag_info->desc);
+ metadata_extractor_get_metadata(handle, METADATA_TRACK_NUM,
+ &tag_info->track);
+ metadata_extractor_get_metadata(handle, METADATA_RATING,
+ &tag_info->rating);
+
+ if (!tag_info->title) {
+ const char *name = mp_file_file_get((char *) filename);
+ tag_info->title = mp_file_strip_ext(name);
+ }
+
+ void *albumart = NULL;
+ int albumart_size = 0;
+ char *mime = NULL;
+ ret =
+ metadata_extractor_get_artwork(handle, &albumart, &albumart_size,
+ &mime);
+ if (ret == METADATA_EXTRACTOR_ERROR_NONE && albumart) {
+ gchar *path = NULL;
+ int fd = g_file_open_tmp(NULL, &path, NULL);
+
+ if (fd != -1) {
+ FILE *fp = fdopen(fd, "w");
+ if (fp == NULL) {
+ ERROR_TRACE("fail to fdopen()");
+ close(fd);
+ } else {
+ int n =
+ fwrite((unsigned char *) albumart, 1, albumart_size,
+ fp);
+ if (n != albumart_size) {
+ ERROR_TRACE("fail to fwrite()");
+ fclose(fp);
+ close(fd);
+ } else {
+ fflush(fp);
+ fclose(fp);
+ close(fd);
+ }
+ }
+ }
+ tag_info->albumart_path = path;
+ }
+ SAFE_FREE(mime);
+ SAFE_FREE(albumart);
+
+ DEBUG_TRACE
+ ("file : %s\n duration: %d \n album: %s\n artist: %s\n title: %s\n genre: %s\n copyright:%s\n date: %s\n desc : %s\n author: %s\n albumart : %s",
+ filename, tag_info->duration, tag_info->album, tag_info->artist,
+ tag_info->title, tag_info->genre, tag_info->copyright,
+ tag_info->date, tag_info->desc, tag_info->author,
+ tag_info->albumart_path);
+
+ if (handle) {
+ metadata_extractor_destroy(handle);
+ }
+
+ return 0;
+
+ CATCH_ERROR:
+ if (handle) {
+ metadata_extractor_destroy(handle);
+ }
+
+ return -1;
+}
+
+char *mp_file_tag_info_get_genre(const char *filename)
+{
+ /* return value shold be freed */
+ MP_CHECK_NULL(filename);
+
+ int ret = METADATA_EXTRACTOR_ERROR_NONE;
+
+ metadata_extractor_h handle = NULL;
+ ret = metadata_extractor_create(&handle);
+ if (ret != METADATA_EXTRACTOR_ERROR_NONE) {
+ mp_error("metadata_extractor_create().. %d", ret);
+ goto CATCH_ERROR;
+ }
+
+ ret = metadata_extractor_set_path(handle, filename);
+ if (ret != METADATA_EXTRACTOR_ERROR_NONE) {
+ mp_error("metadata_extractor_set_path().. %d", ret);
+ goto CATCH_ERROR;
+ }
+
+ char *genre = NULL;
+ ret = metadata_extractor_get_metadata(handle, METADATA_GENRE, &genre);
+ if (ret != METADATA_EXTRACTOR_ERROR_NONE) {
+ mp_error("metadata_extractor_get_metadata().. %d", ret);
+ SAFE_FREE(genre);
+ goto CATCH_ERROR;
+ }
+
+ mp_debug("METADATA_GENRE = [%s]", genre);
+ metadata_extractor_destroy(handle);
+ return genre;
+
+ CATCH_ERROR:
+ if (handle) {
+ metadata_extractor_destroy(handle);
+ }
+
+ return NULL;
+}
+
+
+void mp_file_tag_free(mp_tag_info_t * tag_info)
+{
+ if (tag_info == NULL) {
+ return;
+ }
+
+ SAFE_FREE(tag_info->album);
+ SAFE_FREE(tag_info->genre);
+ SAFE_FREE(tag_info->author);
+ SAFE_FREE(tag_info->artist);
+ SAFE_FREE(tag_info->title);
+ SAFE_FREE(tag_info->copyright);
+ SAFE_FREE(tag_info->date);
+ SAFE_FREE(tag_info->desc);
+ SAFE_FREE(tag_info->albumart_path);
+ SAFE_FREE(tag_info->track);
+ SAFE_FREE(tag_info->rating);
+ return;
+}
+
+/* albumart_path as a string which should be freed after use */
+int
+mp_file_tag_info_get_albumart(const char *filename, char **albumart_path)
+{
+ /* return value shold be freed */
+ MP_CHECK_VAL(filename, -1);
+ MP_CHECK_VAL(albumart_path, -1);
+
+ int ret = METADATA_EXTRACTOR_ERROR_NONE;
+
+ metadata_extractor_h handle = NULL;
+ ret = metadata_extractor_create(&handle);
+ if (ret != METADATA_EXTRACTOR_ERROR_NONE) {
+ mp_error("metadata_extractor_create().. %d", ret);
+ goto CATCH_ERROR;
+ }
+
+ void *albumart = NULL;
+ int albumart_size = 0;
+ char *mime = NULL;
+ ret =
+ metadata_extractor_get_artwork(handle, &albumart, &albumart_size,
+ &mime);
+ if (ret == METADATA_EXTRACTOR_ERROR_NONE && albumart) {
+ gchar *path = NULL;
+ int fd = g_file_open_tmp(NULL, &path, NULL);
+
+ if (fd != -1) {
+ FILE *fp = fdopen(fd, "w");
+ if (fp == NULL) {
+ ERROR_TRACE("fail to fdopen()");
+ close(fd);
+ } else {
+ int n =
+ fwrite((unsigned char *) albumart, 1, albumart_size,
+ fp);
+ if (n != albumart_size) {
+ ERROR_TRACE("fail to fwrite()");
+ fclose(fp);
+ close(fd);
+ } else {
+ fflush(fp);
+ fclose(fp);
+ close(fd);
+ }
+ }
+ }
+ *albumart_path = path;
+ }
+ SAFE_FREE(mime);
+ SAFE_FREE(albumart);
+
+ if (handle) {
+ metadata_extractor_destroy(handle);
+ handle = NULL;
+ }
+
+ return 0;
+
+ CATCH_ERROR:
+ if (handle) {
+ metadata_extractor_destroy(handle);
+ }
+
+ *albumart_path = NULL;
+ return -1;
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+#include <libintl.h>
+
+#include "mp-language-mgr.h"
+#include "glib.h"
+#include "mp-player-debug.h"
+
+typedef struct {
+ Evas_Object *obj;
+ obj_type type;
+ const char *text_id;
+ const char *part;
+ Mp_Language_Update_Func update_func;
+} obj_data;
+
+typedef struct {
+ Elm_Object_Item *obj_item;
+ const char *text_id;
+} obj_item_data;
+
+typedef struct _lang_mgr *lang_mgr;
+struct _lang_mgr {
+ GList *objs;
+ GList *obj_items;
+ GList *glist_items;
+ GList *grid_items;
+} _lang_mgr;
+
+
+static lang_mgr g_lang_mgr;
+
+#define G_LIST_FOREACH(list, l, data) \
+ for (l = list, \
+ data = g_list_nth_data(l, 0); \
+ l; \
+ l = g_list_next(l), \
+ data = g_list_nth_data(l, 0))
+
+static void __glist_free(void *data)
+{
+ obj_data *item = data;
+ MP_CHECK(item);
+ free(item);
+}
+
+static char *__get_text(const char *ID)
+{
+ MP_CHECK_NULL(ID);
+ char *str;
+
+ str = gettext(ID);
+
+ return str;
+}
+
+static void __update_obj(void *data, void *userdata)
+{
+ char *text;
+ obj_data *item = data;
+ MP_CHECK(item);
+
+ if (item->update_func) {
+ DEBUG_TRACE("update with func");
+ item->update_func(item->obj, item->part, item->text_id);
+ return;
+ }
+
+ text = __get_text(item->text_id);
+
+ if (item->type == OBJ_TYPE_ELM_OBJECT) {
+ elm_object_text_set(item->obj, text);
+ } else if (item->type == OBJ_TYPE_EDJE_OBJECT) {
+ elm_object_part_text_set(item->obj, item->part, text);
+ } else {
+ WARN_TRACE("Unhandled case");
+ }
+}
+
+static void __update_obj_item(void *data, void *userdata)
+{
+ DEBUG_TRACE("__update_obj_item ----in-----");
+ char *text;
+ obj_item_data *item_data = data;
+ DEBUG_TRACE("__update_obj_item ----1-----");
+ MP_CHECK(item_data);
+ DEBUG_TRACE("__update_obj_item ----2-----");
+ text = __get_text(item_data->text_id);
+ DEBUG_TRACE("__update_obj_item ----3-----");
+ elm_object_item_text_set(item_data->obj_item, text);
+ DEBUG_TRACE("__update_obj_item ----out-----");
+}
+
+static void __update_list(void *data, void *userdata)
+{
+ Elm_Object_Item *item = data;
+ MP_CHECK(item);
+ DEBUG_TRACE("handle: 0x%x", item);
+ elm_genlist_item_update(item);
+}
+
+static void __update_grid(void *data, void *userdata)
+{
+ Elm_Object_Item *item = data;
+ MP_CHECK(item);
+ DEBUG_TRACE("handle: 0x%x", item);
+ elm_gengrid_item_update(item);
+}
+
+static void __obj_del_cb(void *data, Evas * e, Evas_Object * eo,
+ void *event_info)
+{
+ obj_data *item = data;
+ MP_CHECK(g_lang_mgr);
+ MP_CHECK(item);
+
+ g_lang_mgr->objs =
+ g_list_delete_link(g_lang_mgr->objs,
+ g_list_find(g_lang_mgr->objs, item));
+
+ free(item);
+}
+
+int mp_language_mgr_create(void)
+{
+ DEBUG_TRACE("");
+ if (!g_lang_mgr) {
+ lang_mgr mgr = calloc(1, sizeof(_lang_mgr));
+ if (!mgr) {
+ WARN_TRACE("Error: calloc");
+ return -1;
+ }
+ g_lang_mgr = mgr;
+ }
+ return 0;
+}
+
+int mp_language_mgr_destroy(void)
+{
+ MP_CHECK_VAL(g_lang_mgr, -1);
+ g_list_free_full(g_lang_mgr->objs, __glist_free);
+ g_lang_mgr->objs = NULL;
+
+ g_list_free(g_lang_mgr->glist_items);
+ g_lang_mgr->glist_items = NULL;
+
+ g_list_free(g_lang_mgr->grid_items);
+ g_lang_mgr->grid_items = NULL;
+
+ free(g_lang_mgr);
+ g_lang_mgr = NULL;
+
+ return 0;
+}
+
+void mp_language_mgr_register_object(Evas_Object * obj, obj_type type,
+ const char *part, const char *text_id)
+{
+ MP_CHECK(g_lang_mgr);
+ obj_data *item = calloc(1, sizeof(obj_data));
+ MP_CHECK(item);
+
+ item->type = type;
+ item->part = part;
+ item->text_id = text_id;
+ item->obj = obj;
+
+ evas_object_event_callback_add(obj, EVAS_CALLBACK_DEL, __obj_del_cb,
+ item);
+
+ g_lang_mgr->objs = g_list_append(g_lang_mgr->objs, item);
+}
+
+void mp_language_mgr_register_object_func_set(Evas_Object * obj,
+ const char *part,
+ const char *text_id,
+ Mp_Language_Update_Func func)
+{
+ MP_CHECK(g_lang_mgr);
+ obj_data *item = calloc(1, sizeof(obj_data));
+ MP_CHECK(item);
+
+ item->type = OBJ_TYPE_ELM_OBJECT;
+ item->part = part;
+ item->text_id = text_id;
+ item->obj = obj;
+ item->update_func = func;
+
+ evas_object_event_callback_add(obj, EVAS_CALLBACK_DEL, __obj_del_cb,
+ item);
+
+ g_lang_mgr->objs = g_list_append(g_lang_mgr->objs, item);
+}
+
+void mp_language_mgr_unregister_object_item(Elm_Object_Item * object_item)
+{
+ MP_CHECK(g_lang_mgr);
+ GList *l;
+ obj_item_data *data;
+
+ G_LIST_FOREACH(g_lang_mgr->obj_items, l, data) {
+ if (data && data->obj_item == object_item) {
+ g_lang_mgr->obj_items =
+ g_list_delete_link(g_lang_mgr->obj_items, l);
+ if (data) {
+ free(data);
+ }
+ break;
+ }
+ }
+}
+
+void mp_language_mgr_object_item_text_ID_set(Elm_Object_Item * object_item,
+ const char *text_ID)
+{
+ MP_CHECK(g_lang_mgr);
+ GList *l;
+ obj_item_data *data;
+
+ G_LIST_FOREACH(g_lang_mgr->obj_items, l, data) {
+ if (data && data->obj_item == object_item) {
+ data->text_id = text_ID;
+ break;
+ }
+ }
+
+}
+
+void mp_language_mgr_unregister_genlist_item(Elm_Object_Item * item)
+{
+ MP_CHECK(g_lang_mgr);
+ g_lang_mgr->glist_items =
+ g_list_delete_link(g_lang_mgr->glist_items,
+ g_list_find(g_lang_mgr->glist_items, item));
+}
+
+void mp_language_mgr_register_gengrid_item(Elm_Object_Item * item)
+{
+ MP_CHECK(g_lang_mgr);
+ g_lang_mgr->grid_items = g_list_append(g_lang_mgr->grid_items, item);
+}
+
+void mp_language_mgr_unregister_gengrid_item(Elm_Object_Item * item)
+{
+ MP_CHECK(g_lang_mgr);
+ g_lang_mgr->grid_items =
+ g_list_delete_link(g_lang_mgr->grid_items,
+ g_list_find(g_lang_mgr->grid_items, item));
+}
+
+void mp_language_mgr_update()
+{
+ DEBUG_TRACE("language changed. update text");
+ MP_CHECK(g_lang_mgr);
+ g_list_foreach(g_lang_mgr->objs, __update_obj, NULL);
+ g_list_foreach(g_lang_mgr->obj_items, __update_obj_item, NULL);
+ g_list_foreach(g_lang_mgr->glist_items, __update_list, NULL);
+ g_list_foreach(g_lang_mgr->grid_items, __update_grid, NULL);
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include "mp-lyric-mgr.h"
+#include "regex.h"
+#include "mp-player-debug.h"
+#include "music.h"
+#include <metadata_extractor.h>
+
+#define MP_LRC_LINE_COUNT_MAX (int)100 /* The max count of line */
+#define MP_LRC_LINE_COUNT_INC (int)50 /* The size increased when exceed the max count */
+#define MP_LRC_SUBS_COUNT_MAX (int)10 /* The max count of sub string */
+#define MP_LRC_ERROR_BUF_LEN (int)128 /* The max length of error buffer */
+
+#define MP_LYRIC_PARSE_TIME_PATTERN "\\[[0-9]{2}:[0-9]{2}((\\.|:)[0-9]{2})?\\]"
+#define MP_LYRIC_PARSE_ITEM_TITLE "[ti:"
+#define MP_LYRIC_PARSE_ITEM_ARTIST "[ar:"
+#define MP_LYRIC_PARSE_ITEM_ALBUM "[al:"
+#define MP_LYRIC_PARSE_ITEM_OFFSET "[offset:"
+#define MP_LYRIC_PARSE_START_INDEX "["
+#define MP_LYRIC_PARSE_END_INDEX "]"
+#define MP_LYRIC_PARSE_START_CHAR '['
+#define MP_LYRIC_PARSE_END_CHAR ']'
+#define SYNC_MAX_LEN 9999
+
+static long _mp_lyric_mgr_str2time(const char *text);
+static void _mp_lyric_mgr_data_free(mp_lyric_mgr_t ** data);
+static void _mp_lyric_mgr_parse_line(mp_lyric_mgr_t ** data,
+ const char *line);
+static char *_mp_lyric_mgr_extract_lyric(const char *line);
+static mp_lrc_node_t *_mp_lyric_mgr_node_new();
+
+static int _mp_lyric_mgr_node_sort(const void *data1, const void *data2)
+{
+ MP_CHECK_VAL(data1, 0);
+ MP_CHECK_VAL(data2, 0);
+
+ return (((mp_lrc_node_t *) data1)->time >
+ ((mp_lrc_node_t *) data2)->time) ? 1 : -1;
+}
+
+static long _mp_lyric_mgr_str2time(const char *text)
+{
+ startfunc;
+
+ MP_CHECK_VAL(text, 0);
+
+ int len = strlen(text);
+ long time = 0;
+ char buf[10] = { '0' };
+
+ memcpy(buf, text, 2);
+ buf[2] = '\0';
+ time = atoi(buf) * 60 * 1000;
+
+ if (len == 5) {
+ memcpy(buf, &text[3], 2);
+ buf[2] = '\0';
+ time += atoi(buf) * 1000;
+ } else if (len == 8) {
+ if (text[5] == ':') {
+ memcpy(buf, &text[3], 2);
+ buf[2] = '\0';
+ time += atoi(buf) * 1000;
+
+ memcpy(buf, &text[6], 2);
+ buf[2] = '\0';
+ time += atoi(buf) * 10;
+ } else if (text[5] == '.') {
+ memcpy(buf, &text[3], 5);
+ buf[5] = '\0';
+ time += atof(buf) * 1000;
+ }
+ }
+
+ endfunc;
+
+ return time;
+}
+
+static void _mp_lryic_mgr_list_free(Eina_List ** list)
+{
+ mp_lrc_node_t *node = NULL;
+ Eina_List *next = NULL;
+ EINA_LIST_FOREACH(*list, next, node) {
+ if (node) {
+ if (node->lyric != NULL) {
+ free(node->lyric);
+ }
+ free(node);
+ }
+ }
+
+ eina_list_free(*list);
+ *list = NULL;
+}
+
+static void _mp_lyric_mgr_data_free(mp_lyric_mgr_t ** data)
+{
+ startfunc;
+
+ MP_CHECK(data);
+ mp_lyric_mgr_t **lrc_data = data;
+ if (*lrc_data != NULL) {
+ if ((*lrc_data)->title != NULL) {
+ free((*lrc_data)->title);
+ }
+
+ if ((*lrc_data)->artist != NULL) {
+ free((*lrc_data)->artist);
+ }
+
+ if ((*lrc_data)->album != NULL) {
+ free((*lrc_data)->album);
+ }
+
+ if ((*lrc_data)->synclrc_list != NULL) {
+ _mp_lryic_mgr_list_free(&(*lrc_data)->synclrc_list);
+ }
+
+ if ((*lrc_data)->unsynclrc_list != NULL) {
+ _mp_lryic_mgr_list_free(&(*lrc_data)->unsynclrc_list);
+ }
+
+ free(*lrc_data);
+ *lrc_data = NULL;
+ }
+
+ endfunc;
+}
+
+static char *_mp_lyric_mgr_extract_lyric(const char *line)
+{
+ MP_CHECK_NULL(line);
+
+ char *lyric = (char *) malloc(sizeof(char) * strlen(line));
+ MP_CHECK_NULL(line);
+ MP_CHECK_NULL(lyric);
+ memset(lyric, 0, sizeof(char) * strlen(line));
+
+ int i = 0;
+ const char *p = line;
+ bool bTag = false;
+ while ((*p != '\0') && (*p != '\n')) {
+ if (bTag) {
+ if (*p == MP_LYRIC_PARSE_END_CHAR) {
+ bTag = false;
+ }
+ } else {
+ if (*p == MP_LYRIC_PARSE_START_CHAR) {
+ bTag = true;
+ } else {
+ lyric[i++] = *p;
+ }
+ }
+
+ p++;
+ }
+
+ return lyric;
+}
+
+static void
+_mp_lyric_mgr_parse_line(mp_lyric_mgr_t ** data, const char *line)
+{
+ MP_CHECK(data);
+ MP_CHECK(line);
+ /* DEBUG_TRACE("line=%s\n", line); */
+
+ mp_lyric_mgr_t **lrc_data = data;
+ MP_CHECK(*lrc_data);
+
+ regex_t regex;
+ regmatch_t subs[MP_LRC_SUBS_COUNT_MAX];
+ const size_t nmatch = MP_LRC_SUBS_COUNT_MAX;
+ char errbuf[MP_LRC_ERROR_BUF_LEN];
+ const char *start = NULL, *end = NULL, *head = NULL;
+ char *pattern_lyric = MP_LYRIC_PARSE_TIME_PATTERN; /* [mm:ss.ff],[mm:ss:ff],[mm:ss] */
+ char *lyric = NULL;
+
+ /* Get title */
+ head = line;
+ start = strstr(head, MP_LYRIC_PARSE_ITEM_TITLE);
+ int ti_len = strlen(MP_LYRIC_PARSE_ITEM_TITLE);
+ if (start != NULL) {
+ end = strstr(start, MP_LYRIC_PARSE_END_INDEX);
+ if (end != NULL) {
+ (*lrc_data)->title =
+ malloc(sizeof(char) * (end - start - ti_len + 1));
+ MP_CHECK((*lrc_data)->title);
+ mp_assert((*lrc_data)->title);
+ strncpy((*lrc_data)->title, start + ti_len,
+ end - start - ti_len);
+ (*lrc_data)->title[end - start - ti_len] = '\0';
+ /* DEBUG_TRACE("title: %s\n", (*lrc_data)->title); */
+ }
+ }
+
+ /* Get artist */
+ start = strstr(head, MP_LYRIC_PARSE_ITEM_ARTIST);
+ int ar_len = strlen(MP_LYRIC_PARSE_ITEM_ARTIST);
+ if (start != NULL) {
+ end = strstr(start, MP_LYRIC_PARSE_END_INDEX);
+ if (end != NULL) {
+ (*lrc_data)->artist =
+ malloc(sizeof(char) * (end - start - ar_len + 1));
+ MP_CHECK((*lrc_data)->artist);
+ mp_assert((*lrc_data)->artist);
+ strncpy((*lrc_data)->artist, start + ar_len,
+ end - start - ar_len);
+ (*lrc_data)->artist[end - start - ar_len] = '\0';
+ /* DEBUG_TRACE("title: %s\n", (*lrc_data)->artist); */
+ }
+ }
+
+ /* Get album */
+ start = strstr(head, MP_LYRIC_PARSE_ITEM_ALBUM);
+ int al_len = strlen(MP_LYRIC_PARSE_ITEM_ALBUM);
+ if (start != NULL) {
+ end = strstr(start, MP_LYRIC_PARSE_END_INDEX);
+ if (end != NULL) {
+ (*lrc_data)->album =
+ malloc(sizeof(char) * (end - start - al_len + 1));
+ MP_CHECK((*lrc_data)->album);
+ mp_assert((*lrc_data)->album);
+ strncpy((*lrc_data)->album, start + al_len,
+ end - start - al_len);
+ (*lrc_data)->album[end - start - al_len] = '\0';
+ /* DEBUG_TRACE("title: %s\n", (*lrc_data)->album); */
+ }
+ }
+
+ /* Get offset */
+ start = strstr(head, MP_LYRIC_PARSE_ITEM_OFFSET);
+ int offset_len = strlen(MP_LYRIC_PARSE_ITEM_OFFSET);
+ if (start != NULL) {
+ end = strstr(start, MP_LYRIC_PARSE_END_INDEX);
+ if (end != NULL) {
+ char buf[MP_LRC_LINE_BUF_LEN] = { '0' };
+ memcpy(buf, start + offset_len, end - start - offset_len);
+ buf[end - start - offset_len] = '\0';
+ (*lrc_data)->offset = atoi(buf);
+ /* DEBUG_TRACE("offset: %d\n", (*lrc_data)->offset); */
+ }
+ }
+
+ /* Get lyric */
+ size_t len;
+ int err;
+
+ err = regcomp(®ex, pattern_lyric, REG_EXTENDED);
+ if (err != 0) {
+ len = regerror(err, ®ex, errbuf, sizeof(errbuf));
+ /* DEBUG_TRACE("errinfo: regcomp: %s\n", errbuf); */
+ goto FAIL_GET_PARSE_LINE;
+ }
+
+ /* DEBUG_TRACE("Total has subexpression: %d\n", regex.re_nsub); */
+
+ lyric = _mp_lyric_mgr_extract_lyric(head);
+
+ while (!(err = regexec(®ex, head, nmatch, subs, 0))) {
+ /* DEBUG_TRACE("\nOK, has matched ...\n\n"); */
+
+ len = subs[0].rm_eo - subs[0].rm_so - 2;
+
+ /* DEBUG_TRACE("begin: %d, len = %d ", subs[0].rm_so, len); */
+
+ char buf[MP_LRC_LINE_BUF_LEN] = { '0' };
+ memcpy(buf, head + subs[0].rm_so + 1, len);
+ buf[len] = '\0';
+
+ long time = _mp_lyric_mgr_str2time(buf);
+ /* Add the new node */
+ if (lyric != NULL) {
+ mp_lrc_node_t *new_node = _mp_lyric_mgr_node_new();
+
+ if (new_node == NULL) {
+ IF_FREE(lyric);
+ return;
+ }
+ new_node->time = time;
+ new_node->lyric = strdup(lyric);
+ (*lrc_data)->synclrc_list =
+ eina_list_append((*lrc_data)->synclrc_list,
+ (gpointer) new_node);
+
+ DEBUG_TRACE("time%d: %d\n",
+ eina_list_count((*lrc_data)->synclrc_list),
+ new_node->time);
+ DEBUG_TRACE("lyric%d: %s\n",
+ eina_list_count((*lrc_data)->synclrc_list),
+ new_node->lyric);
+ } else {
+ goto FAIL_GET_PARSE_LINE;
+ }
+
+ head += subs[0].rm_eo;
+ }
+
+ if (head != NULL) {
+ len = regerror(err, ®ex, errbuf, sizeof(errbuf));
+ /* DEBUG_TRACE("error: regexec: %s\n", errbuf); */
+ }
+
+ regfree(®ex);
+ IF_FREE(lyric);
+ return;
+
+ FAIL_GET_PARSE_LINE:
+
+ regfree(®ex);
+ IF_FREE(lyric);
+ return;
+}
+
+static int _mp_lyric_mgr_get_line(const char *buffer, char **line)
+{
+ MP_CHECK_VAL(buffer, -1);
+ MP_CHECK_VAL(line, -1);
+
+ int i = 0;
+ const char *p = buffer;
+
+ while ((*p != '\0') && (*p != '\n')) {
+ i++;
+ p++;
+ }
+
+ i++;
+
+ *line = malloc(sizeof(char) * i);
+ MP_CHECK_VAL(line, -1);
+ memset(*line, 0, sizeof(char) * i);
+ strncpy(*line, buffer, i - 1);
+
+ /* DEBUG_TRACE("line=%s\n",*line);
+ DEBUG_TRACE("i=%d\n",i); */
+
+ return i;
+}
+
+static mp_lrc_node_t *_mp_lyric_mgr_node_new()
+{
+ mp_lrc_node_t *lrc_node = NULL;
+
+ lrc_node = (mp_lrc_node_t *) malloc(sizeof(mp_lrc_node_t));
+ if (lrc_node != NULL) {
+ memset(lrc_node, 0, sizeof(mp_lrc_node_t));
+ }
+ return lrc_node;
+}
+
+mp_lyric_mgr_t *mp_lyric_mgr_parse_buffer(mp_lyric_mgr_t * lyric_mgr,
+ const char *lrcBuffer)
+{
+ startfunc;
+
+ MP_CHECK_NULL(lrcBuffer);
+ mp_lyric_mgr_t *lrc_data = lyric_mgr;
+ MP_CHECK_NULL(lrc_data);
+
+ /* Parse lyric data line by line */
+ char *line = NULL;
+ const char *p = lrcBuffer;
+ int len = strlen(p);
+ int pos = 0;
+ do {
+ pos += _mp_lyric_mgr_get_line(&p[pos], &line);
+
+ /* Save the lyric */
+ mp_lrc_node_t *new_node = _mp_lyric_mgr_node_new();
+ if (new_node == NULL) {
+ IF_FREE(line);
+ return NULL;
+ }
+ new_node->time = 0;
+ if (new_node->lyric != NULL) {
+ free(new_node->lyric);
+ }
+ new_node->lyric = strdup(line);
+
+ lrc_data->unsynclrc_list =
+ eina_list_append(lrc_data->unsynclrc_list,
+ (gpointer) new_node);
+
+ /* Parse and sort the lyric by time tag */
+ _mp_lyric_mgr_parse_line(&lrc_data, line);
+ } while (pos <= len);
+ DEBUG_TRACE("unsync count=%d\n",
+ eina_list_count(lrc_data->unsynclrc_list));
+
+ endfunc;
+ IF_FREE(line);
+ return lrc_data;
+}
+
+static bool
+_mp_parse_lyric(mp_lyric_mgr_t * lyric_mgr, const char *musicPath)
+{
+ Eina_List *synclrc_list = NULL;
+ char *unsynclrc_buffer = NULL;
+ int sync = 0;
+ bool ret = false;
+
+ metadata_extractor_h handle = NULL;
+ int mmf_error = -1;
+ MP_CHECK_FALSE(musicPath);
+
+ mmf_error = metadata_extractor_create(&handle);
+ MP_CHECK_FALSE(mmf_error == METADATA_EXTRACTOR_ERROR_NONE);
+
+ mmf_error = metadata_extractor_set_path(handle, musicPath);
+ if (mmf_error == METADATA_EXTRACTOR_ERROR_NONE) {
+ int sync_len = 0;
+ char *unsynclyrics = NULL;
+ int unsync_len = 0;
+
+ char *value = NULL;
+ mmf_error =
+ metadata_extractor_get_metadata(handle,
+ METADATA_SYNCLYRICS_NUM,
+ &value);
+ if (mmf_error == METADATA_EXTRACTOR_ERROR_NONE && value) {
+ sync_len = atoi(value);
+ }
+ SAFE_FREE(value);
+
+ mmf_error =
+ metadata_extractor_get_metadata(handle, METADATA_UNSYNCLYRICS,
+ &unsynclyrics);
+ if (mmf_error == METADATA_EXTRACTOR_ERROR_NONE && unsynclyrics) {
+ unsync_len = strlen(unsynclyrics);
+ } else {
+ DEBUG_TRACE("fail to metadata_extractor_get_metadata() %x",
+ mmf_error);
+ }
+ /* unsynclyrics must be freed */
+
+ if (sync_len || unsync_len) {
+ DEBUG_TRACE("sync_len=%d", sync_len);
+
+ if (sync_len > 0 && sync_len <= SYNC_MAX_LEN) {
+ int ret = 0;
+ int idx = 0;
+ unsigned long time_info = 0;
+ char *lyrics_info = NULL;
+
+ sync = 1;
+
+ for (idx = 0; idx < sync_len; idx++) {
+ /*Get one time and lyrics info. */
+ ret =
+ metadata_extractor_get_synclyrics(handle, idx,
+ &time_info,
+ &lyrics_info);
+ if (ret == METADATA_EXTRACTOR_ERROR_NONE
+ && lyrics_info != NULL
+ && strlen(lyrics_info) > 0) {
+ mp_lrc_node_t *new_node =
+ malloc(sizeof(mp_lrc_node_t));
+ if (new_node == NULL) {
+ if (handle) {
+ metadata_extractor_destroy(handle);
+ handle = NULL;
+ }
+ IF_FREE(lyrics_info);
+ return false;
+ }
+ new_node->time = time_info;
+ new_node->lyric = g_strdup(lyrics_info);
+
+ synclrc_list =
+ eina_list_append(synclrc_list,
+ (gpointer) new_node);
+
+ DEBUG_TRACE("[%2d][%6d][%s]", idx, time_info,
+ lyrics_info);
+ } else {
+ ERROR_TRACE("Error when get lyrics");
+ sync = 0;
+ mp_lrc_node_t *node = NULL;
+ Eina_List *next = NULL;
+ EINA_LIST_FOREACH(synclrc_list, next, node) {
+ if (node) {
+ if (node->lyric != NULL) {
+ free(node->lyric);
+ }
+ free(node);
+ }
+ }
+ eina_list_free(synclrc_list);
+ synclrc_list = NULL;
+ break;
+ }
+ }
+ IF_FREE(lyrics_info);
+ } else {
+ unsynclrc_buffer = unsynclyrics;
+ }
+ ret = true;
+ } else {
+ DEBUG_TRACE("No lyric infomation");
+ IF_FREE(unsynclyrics);
+ }
+ }
+
+ if (handle) {
+ metadata_extractor_destroy(handle);
+ handle = NULL;
+ }
+
+ if (sync) {
+ lyric_mgr->synclrc_list = synclrc_list;
+ } else {
+ mp_lyric_mgr_parse_buffer(lyric_mgr, unsynclrc_buffer);
+ IF_FREE(unsynclrc_buffer);
+ }
+
+ return ret;
+}
+
+mp_lyric_mgr_t *mp_lyric_mgr_create(const char *path)
+{
+ startfunc;
+ mp_lyric_mgr_t *lyric_mgr = calloc(1, sizeof(mp_lyric_mgr_t));
+ MP_CHECK_NULL(lyric_mgr);
+ if (!_mp_parse_lyric(lyric_mgr, path)) {
+ IF_FREE(lyric_mgr);
+ return NULL;
+ }
+
+
+ /* Sort lyric line */
+ Eina_List *list = lyric_mgr->synclrc_list;
+ int count = eina_list_count(list);
+
+ if (count <= 0) {
+ list = lyric_mgr->unsynclrc_list;
+ count = eina_list_count(list);
+ }
+
+ list = eina_list_sort(list, count, _mp_lyric_mgr_node_sort);
+
+ return lyric_mgr;
+}
+
+
+void mp_lyric_mgr_destory(mp_lyric_mgr_t * lyric_mgr)
+{
+ MP_CHECK(lyric_mgr);
+ _mp_lyric_mgr_data_free(&lyric_mgr);
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include <sound_manager.h>
+#include <player.h>
+
+#include "music.h"
+#include "mp-ta.h"
+#include "mp-player-control.h"
+#include "mp-player-mgr.h"
+#include "mp-item.h"
+#include "mp-playlist-mgr.h"
+#include "mp-play.h"
+#include "mp-util.h"
+#include "mp-setting-ctrl.h"
+#include "mp-player-mgr.h"
+#include "mp-app.h"
+#include "mp-player-debug.h"
+#include "mp-minicontroller.h"
+#include "mp-lockscreenmini.h"
+#include "mp-widget.h"
+#include "mp-ug-launch.h"
+
+
+#ifndef MP_SOUND_PLAYER
+#include "mp-common.h"
+#endif
+
+#include "mp-view-mgr.h"
+
+#include "mp-player-view.h"
+
+#include "mp-file-tag-info.h"
+
+#define CTR_EDJ_SIG_SRC "ctrl_edj"
+#define CTR_PROG_SIG_SRC "ctrl_prog"
+
+#define LONG_PRESS_INTERVAL 1.0 /* sec */
+#define MEDIA_KEY_LONG_PRESS_INTERVAL 1.0 /* sec */
+#define FF_REW_INTERVAL 0.5 /* sec */
+#define LONG_PRESS_TIME_INCREASE 3.0 /* sec */
+#define SEEK_DIFF 10
+
+/* static Eina_Bool _mp_play_mute_popup_cb(void *data); */
+
+#define HW_ISSUE_TEMP /* temporary for DV */
+
+#ifndef MP_SOUND_PLAYER
+static void _mp_play_control_play_next_on_error(void *data)
+{
+ startfunc;
+ struct appdata *ad = data;
+ MP_CHECK(ad);
+ mp_plst_item *current = mp_playlist_mgr_get_current(ad->playlist_mgr);
+ mp_plst_item *next =
+ mp_playlist_mgr_get_next(ad->playlist_mgr, false, false);
+
+ if (next == current) {
+ WARN_TRACE("There is no playable track.. ");
+ return;
+ }
+
+ mp_playlist_mgr_item_remove_item(ad->playlist_mgr, current);
+ if (next) {
+ mp_playlist_mgr_set_current(ad->playlist_mgr, next);
+ mp_play_new_file(ad, true);
+ } else {
+#ifdef MP_SOUND_PLAYER
+ mp_app_exit(ad);
+#endif
+ next = mp_playlist_mgr_get_nth(ad->playlist_mgr, 0);
+ if (next) {
+ mp_playlist_mgr_set_current(ad->playlist_mgr, next);
+ mp_play_new_file(ad, true);
+ } else {
+ mp_player_control_stop(ad);
+ mp_view_mgr_pop_a_view(GET_VIEW_MGR, GET_PLAYER_VIEW);
+ }
+ }
+
+ if (GET_PLAYER_VIEW) {
+ mp_player_view_refresh(GET_PLAYER_VIEW);
+ }
+
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_PLAYLIST_MGR_ITEM_CHANGED);
+}
+#endif
+
+static void _mp_play_error_handler(struct appdata *ad, const char *msg)
+{
+ startfunc;
+ mp_play_destory(ad);
+
+ mp_util_post_status_message(ad, msg);
+#ifndef MP_SOUND_PLAYER
+ _mp_play_control_play_next_on_error(ad);
+#endif
+}
+
+static void _mp_play_control_long_press_seek_done_cb(void *data)
+{
+ MpView_t *view = mp_view_mgr_get_view(GET_VIEW_MGR, MP_VIEW_PLAYER);
+ if (view) {
+ mp_player_view_progress_timer_thaw(view);
+ }
+}
+
+static void _mp_player_control_move_position(int diff)
+{
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ double pos = 0, duration = 0, new_pos = 0, music_pos = 0;;
+
+ duration = mp_player_mgr_get_duration();
+ pos = mp_player_mgr_get_position();
+
+ ad->music_length = duration / 1000;
+ music_pos = pos / 1000;
+
+ new_pos = music_pos + diff;
+
+ int req_seek_pos = 0;
+ if (new_pos < 0.) {
+ music_pos = 0;
+ req_seek_pos = 0;
+ } else if (new_pos > ad->music_length) {
+ music_pos = ad->music_length;
+ req_seek_pos = duration;
+ } else {
+ music_pos = new_pos;
+ req_seek_pos = new_pos * 1000;
+ }
+
+ if (mp_player_mgr_set_position
+ (req_seek_pos, _mp_play_control_long_press_seek_done_cb, ad)) {
+ double get_pos = mp_player_mgr_get_position() / 1000.0;
+ MpView_t *view =
+ mp_view_mgr_get_view(GET_VIEW_MGR, MP_VIEW_PLAYER);
+ if (view) {
+ mp_player_view_progress_timer_freeze(view);
+
+ if (get_pos != music_pos) {
+ music_pos = get_pos;
+ }
+ ad->music_pos = music_pos;
+ mp_player_view_update_progressbar(view);
+ }
+ }
+#ifndef MP_SOUND_PLAYER
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_UPDATE_NOW_PLAYING);
+ /* mp_setting_save_now_playing(ad); */
+#endif
+
+
+}
+
+static Eina_Bool _mp_play_control_long_press_timer_cb(void *data)
+{
+ startfunc;
+ struct appdata *ad = data;
+
+ int error = 0;
+
+ mp_retvm_if(ad == NULL, ECORE_CALLBACK_CANCEL, "appdata is NULL");
+ if (ad->player_state != PLAY_STATE_PAUSED
+ && ad->player_state != PLAY_STATE_PLAYING
+ && ad->player_state != PLAY_STATE_READY) {
+ return ECORE_CALLBACK_RENEW;
+ }
+
+ if (ad->is_ff) {
+ ad->ff_rew_distance += LONG_PRESS_TIME_INCREASE;
+ } else {
+ ad->ff_rew_distance -= LONG_PRESS_TIME_INCREASE;
+ }
+
+ ad->is_Longpress = true;
+ if (!mp_player_mgr_is_active()) {
+ error = mp_player_mgr_prepare(ad);
+ if (error) {
+ DEBUG_TRACE("failed to prepare _player");
+ }
+ }
+ _mp_player_control_move_position(ad->ff_rew_distance);
+
+ if (ad->longpress_timer) {
+ ecore_timer_interval_set(ad->longpress_timer, FF_REW_INTERVAL);
+ }
+
+ endfunc;
+
+ return ECORE_CALLBACK_RENEW;
+
+}
+
+static void
+_mp_play_control_add_longpressed_timer(void *data, double interval)
+{
+ struct appdata *ad = data;
+ mp_retm_if(ad == NULL, "appdata is NULL");
+ MP_CHECK(!ad->longpress_timer);
+
+ ad->longpress_timer =
+ ecore_timer_add(interval, _mp_play_control_long_press_timer_cb,
+ ad);
+}
+
+void _mp_play_control_del_longpressed_timer(void *data)
+{
+ struct appdata *ad = data;
+ mp_retm_if(ad == NULL, "appdata is NULL");
+
+ ad->ff_rew_distance = 0;
+ mp_ecore_timer_del(ad->longpress_timer);
+}
+
+static void _mp_play_control_completed_cb(void *userdata)
+{
+ eventfunc;
+ struct appdata *ad = userdata;
+ MP_CHECK(ad);
+
+ mp_play_control_end_of_stream(ad);
+}
+
+static void
+_mp_play_control_interrupted_cb(player_interrupted_code_e code,
+ void *userdata)
+{
+ eventfunc;
+ struct appdata *ad = userdata;
+ MP_CHECK(ad);
+
+ switch (code) {
+ case PLAYER_INTERRUPTED_BY_RESOURCE_CONFLICT:
+ WARN_TRACE("receive MM_MSG_CODE_INTERRUPTED_BY_RESOURCE_CONFLICT");
+ break;
+ default:
+ ERROR_TRACE("Unhandled code: %d", code);
+ break;
+ }
+
+ /* if playback interrupted while seeking, seek complete callback will not be invoked. */
+ mp_player_mgr_seek_done(ad);
+
+ ad->paused_by_user = true;
+ ad->is_sdcard_removed = true;
+ mp_play_pause(ad);
+ if (ad->mirror_to_local) {
+ ad->mirror_to_local = false;
+ mp_play_control_play_pause(ad, true);
+ }
+
+}
+
+static void _mp_play_control_error_cb(int error_code, void *userdata)
+{
+ eventfunc;
+ struct appdata *ad = userdata;
+ MP_CHECK(ad);
+
+ ERROR_TRACE("Error from player");
+
+ char *error_msg = NULL;
+
+ switch (error_code) {
+ case PLAYER_ERROR_NOT_SUPPORTED_FILE: /* can receive error msg while playing. */
+ ERROR_TRACE("receive PLAYER_ERROR_NOT_SUPPORTED_FILE");
+ _mp_play_error_handler(ad,
+ GET_STR
+ ("IDS_MUSIC_POP_UNABLE_TO_PLAY_UNSUPPORTED_FILETYPE"));
+#ifdef MP_SOUND_PLAYER
+ if (ad->b_minicontroller_show) {
+ mp_minicontroller_hide(ad);
+ }
+#ifdef MP_FEATURE_LOCKSCREEN
+ if (ad->b_lockmini_show) {
+ mp_lockscreenmini_hide(ad);
+ }
+#endif
+#endif
+ break;
+ case PLAYER_ERROR_CONNECTION_FAILED:
+ ERROR_TRACE("MM_ERROR_PLAYER_STREAMING_CONNECTION_FAIL");
+ _mp_play_error_handler(ad,
+ GET_SYS_STR
+ ("IDS_COM_POP_CONNECTION_FAILED"));
+ break;
+ default:
+ ERROR_TRACE("error_code: 0x%x", error_code);
+ error_msg = GET_STR("IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED");
+ _mp_play_error_handler(ad, error_msg);
+ break;
+ }
+
+ mp_player_view_update_buffering_progress(GET_PLAYER_VIEW, -1);
+
+}
+
+static void _mp_play_control_buffering_cb(int percent, void *userdata)
+{
+ startfunc;
+ struct appdata *ad = userdata;
+ MP_CHECK(ad);
+
+ mp_debug("Buffering : %d%%", percent);
+ mp_player_view_update_buffering_progress(GET_PLAYER_VIEW, percent);
+}
+
+static void _mp_play_control_prepare_cb(void *userdata)
+{
+ eventfunc;
+ struct appdata *ad = userdata;
+ MP_CHECK(ad);
+
+ if ((mp_player_mgr_get_player_type() == MP_PLAYER_TYPE_MMFW)
+ && (mp_player_mgr_get_state() != PLAYER_STATE_READY)) {
+ WARN_TRACE("player state is not PLAYER_STATE_READY");
+ return;
+ }
+ /* reset if track changed */
+ ad->ff_rew_distance = 0;
+ mp_play_prepare(ad);
+ ad->player_state = PLAY_STATE_READY;
+ if (!ad->camcoder_start || !ad->auto_next || !ad->paused_by_user) {
+ mp_play_start_in_ready_state(ad);
+ } else {
+ WARN_TRACE
+ ("Stay in ready state because of camcorder.ad->camcoder_start [%d], ad->auto_next [%d], ad->paused_by_user [%d]",
+ ad->camcoder_start, ad->auto_next, ad->paused_by_user);
+ ad->freeze_indicator_icon = false;
+ ad->resume_on_cam_end = true;
+ mp_util_sleep_lock_set(FALSE, FALSE);
+ }
+
+}
+
+#ifdef MP_SOUND_PLAYER
+static void
+_mp_play_text_popup_exit_timeout_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ startfunc;
+ mp_evas_object_del(obj);
+ elm_exit();
+}
+#endif
+
+/*error handler in case of failure on player create, realize, start, resume */
+void mp_play_control_on_error(struct appdata *ad, int ret, bool add_watch)
+{
+ const char *message = NULL;
+
+ if (ret == PLAYER_ERROR_SOUND_POLICY) {
+ WARN_TRACE("PLAYER_ERROR_SOUND_POLICY");
+
+ if (mp_util_is_call_connected()) {
+ message = STR_MP_UNABLE_TO_PLAY_DURING_CALL;
+#ifndef MP_SOUND_PLAYER
+ MpView_t *view =
+ mp_view_mgr_get_view(GET_VIEW_MGR, MP_VIEW_ALL);
+ MP_CHECK(view);
+ if (mp_player_mgr_get_state() == PLAYER_STATE_READY) {
+ mp_play_destory(ad);
+ }
+#endif
+ } else if (!ad->auto_resume) {
+ message = STR_MP_UNABLE_TO_PLAY_ERROR_OCCURED;
+ }
+
+ if (add_watch && (ad->auto_next || ad->auto_resume)) {
+ WARN_TRACE
+ ("Enter add watch callback to resume after call or alarm");
+ WARN_TRACE
+ ("Leave add watch callback to resume after call or alarm");
+ }
+ } else if (ret == PLAYER_ERROR_INVALID_OPERATION
+ && mp_player_mgr_is_seeking()) {
+ WARN_TRACE
+ ("Trying to resume while seeking. Do not show error msg");
+ } else {
+ message = STR_MP_UNABLE_TO_PLAY_ERROR_OCCURED;
+ }
+
+ if (message) {
+ if (ad->is_focus_out) {
+ mp_util_post_status_message(ad, GET_STR(message));
+ } else
+#ifndef MP_SOUND_PLAYER
+ mp_widget_text_popup(ad, GET_STR(message));
+#else
+ mp_widget_text_cb_popup(ad, GET_STR(message),
+ _mp_play_text_popup_exit_timeout_cb);
+#endif
+ }
+}
+
+static void _mp_play_control_duration_changed_cb(void *data)
+{
+ struct appdata *ad = data;
+ MP_CHECK(ad);
+
+ ad->music_length = mp_player_mgr_get_duration() / 1000.0;
+ if (ad->music_length <= 0) {
+ mp_track_info_t *track_info = ad->current_track_info;
+ if (track_info) {
+ ad->music_length = track_info->duration / 1000.0;
+ }
+ }
+}
+
+int mp_player_control_ready_new_file(void *data, bool check_drm)
+{
+ startfunc;
+ struct appdata *ad = data;
+ MP_CHECK_FALSE(ad);
+
+ mp_plst_item *item = mp_playlist_mgr_get_current(ad->playlist_mgr);
+ MP_CHECK_FALSE(item);
+
+ int error = 0;
+ char *uri = NULL;
+ uri = item->uri;
+
+ SECURE_DEBUG("current item pathname : [%s]", uri);
+ if (!mp_check_file_exist(uri)) {
+ ERROR_TRACE("There is no such file\n");
+ _mp_play_error_handler(ad,
+ GET_SYS_STR("IDS_COM_POP_FILE_NOT_EXIST"));
+ return -1;
+ }
+
+ ad->player_state = PLAY_STATE_NONE;
+
+ mp_player_type_e player_type = MP_PLAYER_TYPE_MMFW;
+ void *extra_data = NULL;
+
+ /* lock wake up */
+ mp_util_sleep_lock_set(TRUE, FALSE);
+ PROFILE_IN("mp_player_mgr_create");
+ error = mp_player_mgr_create(ad, uri, player_type, extra_data);
+ PROFILE_OUT("mp_player_mgr_create");
+
+ if (ad->b_minicontroller_show) {
+ mp_minicontroller_update(ad, true);
+ }
+#ifdef MP_FEATURE_LOCKSCREEN
+ if (ad->b_lockmini_show) {
+ mp_lockscreenmini_update(ad);
+ }
+#endif
+ if (error) {
+ _mp_play_error_handler(ad,
+ GET_STR
+ ("IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"));
+ return error;
+ }
+
+ mp_player_mgr_set_started_db(mp_play_start, ad);
+ mp_player_mgr_set_completed_cb(_mp_play_control_completed_cb, ad);
+ mp_player_mgr_set_interrupted_cb(_mp_play_control_interrupted_cb, ad);
+ mp_player_mgr_set_error_cb(_mp_play_control_error_cb, ad);
+ mp_player_mgr_set_buffering_cb(_mp_play_control_buffering_cb, ad);
+ mp_player_mgr_set_prepare_cb(_mp_play_control_prepare_cb, ad);
+ mp_player_mgr_set_paused_cb(mp_play_pause, ad);
+ mp_player_mgr_set_duration_changed_cb(_mp_play_control_duration_changed_cb, ad);
+
+ ad->prepare_by_init = false;
+ PROFILE_IN("mp_player_mgr_realize");
+ error = mp_player_mgr_realize(ad);
+ PROFILE_OUT("mp_player_mgr_realize");
+ if (error) {
+ _mp_play_error_handler(ad,
+ GET_STR
+ ("IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"));
+ return error;
+ }
+
+ return error;
+}
+
+
+void mp_play_control_play_pause(struct appdata *ad, bool play)
+{
+ mp_retm_if(ad == NULL, "appdata is NULL");
+
+ SECURE_DEBUG("play [%d], ad->player_state: %d", play,
+ ad->player_state);
+
+ _mp_play_control_del_longpressed_timer(ad);
+
+ if (play) {
+ ad->paused_by_user = FALSE;
+ ad->idle_unlocked = false;
+
+ if (ad->player_state == PLAY_STATE_PAUSED) {
+ int error = mp_player_mgr_resume(ad);
+ if (!error) {
+ mp_setting_set_nowplaying_id(getpid());
+ if (ad->player_state == PLAY_STATE_PAUSED) {
+ mp_play_resume(ad);
+ }
+ ad->player_state = PLAY_STATE_PLAYING;
+ } else {
+ mp_play_control_on_error(ad, error, FALSE);
+ if (mp_setting_read_playing_status
+ (ad->current_track_info->uri, "paused") != 1) {
+ mp_setting_write_playing_status(ad->
+ current_track_info->
+ uri, "paused");
+ }
+ return;
+ }
+ if (ad->win_minicon) {
+ mp_minicontroller_update_control(ad);
+ }
+#ifdef MP_FEATURE_LOCKSCREEN
+ if (ad->win_lockmini) {
+ mp_lockscreenmini_update_control(ad);
+ }
+#endif
+ } else if (ad->player_state == PLAY_STATE_READY) {
+ mp_play_start_in_ready_state(ad);
+ } else if (ad->player_state == PLAY_STATE_PLAYING) {
+ WARN_TRACE
+ ("player_state is already playing. Update view state");
+ if (ad->win_minicon) {
+ mp_minicontroller_update(ad, false);
+ }
+#ifdef MP_FEATURE_LOCKSCREEN
+ if (ad->win_lockmini) {
+ mp_lockscreenmini_update(ad);
+ }
+#endif
+ mp_player_view_update_state(GET_PLAYER_VIEW);
+
+ } else if (ad->player_state == PLAY_STATE_PREPARING) {
+ WARN_TRACE("player_state is preparing. Skip event");
+ } else {
+ /* silentmode -> go to listview -> click one track -> silent mode play no -> go to playing view -> click play icon */
+ mp_play_new_file(ad, TRUE);
+ }
+
+#ifdef MP_FEATURE_AUTO_OFF
+ mp_ecore_timer_del(ad->pause_off_timer);
+#endif
+ } else {
+ /* invoke player_pause() to prevent auto resume if user pause playback in pause state */
+ if (ad->player_state == PLAY_STATE_PLAYING
+ || ad->player_state == PLAY_STATE_PAUSED) {
+ if (mp_player_mgr_pause(ad)) {
+ ad->paused_by_user = TRUE;
+ }
+ } else if (ad->player_state == PLAY_STATE_PREPARING) {
+ WARN_TRACE
+ ("player_state is prepareing. set paused_by_user!!!");
+ ad->paused_by_user = TRUE;
+ ad->freeze_indicator_icon = false;
+ if (ad->win_minicon) {
+ mp_minicontroller_update_control(ad);
+ }
+#ifdef MP_FEATURE_LOCKSCREEN
+ if (ad->win_lockmini) {
+ mp_lockscreenmini_update_control(ad);
+ }
+#endif
+ mp_player_view_update_state(GET_PLAYER_VIEW);
+ }
+ }
+ if (play) {
+ if (ad->current_track_info) {
+ if (mp_setting_read_playing_status
+ (ad->current_track_info->uri, "playing") != 1) {
+ mp_setting_write_playing_status(ad->current_track_info->
+ uri, "playing");
+ }
+ }
+ } else {
+ if (ad->current_track_info) {
+ if (mp_setting_read_playing_status
+ (ad->current_track_info->uri, "paused") != 1) {
+ mp_setting_write_playing_status(ad->current_track_info->
+ uri, "paused");
+ }
+ }
+ }
+}
+
+void mp_play_control_resume_via_media_key(struct appdata *ad)
+{
+ mp_retm_if(ad == NULL, "appdata is NULL");
+
+ SECURE_DEBUG("ad->player_state: %d", ad->player_state);
+
+ MP_CHECK(ad->player_state == PLAY_STATE_PAUSED);
+
+ _mp_play_control_del_longpressed_timer(ad);
+
+ ad->paused_by_user = FALSE;
+
+ int error = 0;
+ error = mp_player_mgr_resume(ad);
+ if (error) {
+ if (error == PLAYER_ERROR_SOUND_POLICY) {
+ WARN_TRACE
+ ("resume error by sound policy error. retry 1 more only");
+ sleep(1);
+ mp_play_control_play_pause(ad, true);
+ return;
+ } else {
+ mp_play_control_on_error(ad, error, FALSE);
+ }
+ } else {
+ if (ad->player_state == PLAY_STATE_PAUSED) {
+ mp_play_resume(ad);
+ }
+ ad->player_state = PLAY_STATE_PLAYING;
+
+ if (ad->win_minicon) {
+ mp_minicontroller_update_control(ad);
+ }
+#ifdef MP_FEATURE_LOCKSCREEN
+ if (ad->win_lockmini) {
+ mp_lockscreenmini_update_control(ad);
+ }
+#endif
+ }
+
+#ifdef MP_FEATURE_AUTO_OFF
+ mp_ecore_timer_del(ad->pause_off_timer);
+#endif
+}
+
+void mp_player_control_stop(struct appdata *ad)
+{
+ startfunc;
+ mp_player_mgr_stop(ad);
+ mp_player_mgr_destroy(ad);
+
+ mp_playlist_mgr_clear(ad->playlist_mgr);
+ if (ad->current_track_info) {
+ mp_util_free_track_info(ad->current_track_info);
+ ad->current_track_info = NULL;
+ }
+
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_UNSET_NOW_PLAYING);
+ if (ad->b_minicontroller_show) {
+ mp_minicontroller_hide(ad);
+ }
+#ifdef MP_FEATURE_LOCKSCREEN
+ if (ad->b_lockmini_show) {
+ mp_lockscreenmini_hide(ad);
+ }
+#endif
+}
+
+void mp_play_control_next(void)
+{
+ eventfunc;
+ struct appdata *ad = mp_util_get_appdata();
+ mp_retm_if(ad == NULL, "appdata is NULL");
+ mp_play_next_file(ad, TRUE);
+}
+
+static void mp_play_control_set_position_cb(void *data)
+{
+ startfunc;
+ struct appdata *ad = mp_util_get_appdata();
+ mp_retm_if(ad == NULL, "appdata is NULL");
+
+ MpView_t *view = mp_view_mgr_get_view(GET_VIEW_MGR, MP_VIEW_PLAYER);
+ mp_player_view_update_progressbar(view);
+
+ mp_minicontroller_update(ad, false);
+}
+
+void mp_play_control_prev(void)
+{
+ eventfunc;
+ struct appdata *ad = mp_util_get_appdata();
+ mp_retm_if(ad == NULL, "appdata is NULL");
+ int pos = mp_player_mgr_get_position();
+
+ if (pos > 3000) { /* mp_playlist_mgr_count(ad->playlist_mgr) == 1 */
+ if (mp_player_mgr_set_position
+ (0, mp_play_control_set_position_cb, NULL)) {
+ double get_pos = mp_player_mgr_get_position() / 1000.0;
+
+ ad->music_pos = 0;
+
+ if (get_pos != ad->music_pos) {
+ ad->music_pos = get_pos;
+ }
+ }
+
+ return;
+ }
+ mp_play_prev_file(ad);
+}
+
+void mp_play_control_ff(int press, bool event_by_mediakey, bool clicked)
+{
+ struct appdata *ad = mp_util_get_appdata();
+ mp_retm_if(ad == NULL, "appdata is NULL");
+ EVENT_TRACE("Next button press[%d]\n", press);
+
+ ad->is_ff = TRUE;
+
+ double interval = LONG_PRESS_INTERVAL;
+ if (event_by_mediakey) {
+ interval = MEDIA_KEY_LONG_PRESS_INTERVAL;
+ }
+
+ if (press) {
+ _mp_play_control_add_longpressed_timer(ad, interval);
+ } else {
+ _mp_play_control_del_longpressed_timer(ad);
+
+ if (ad->is_Longpress) {
+ mp_play_control_reset_ff_rew();
+ } else if (clicked) {
+ EVENT_TRACE("Click operation");
+ if (!event_by_mediakey) {
+ EVENT_TRACE("play next");
+ ad->hide_player_view = true;
+ mp_play_control_next();
+ } else {
+ /* if media key event is MEDIA_KEY_FASTFORWARD, move position even if short press */
+ _mp_player_control_move_position(SEEK_DIFF);
+ }
+ }
+ }
+
+
+}
+
+void mp_play_control_rew(int press, bool event_by_mediakey, bool clicked)
+{
+ struct appdata *ad = mp_util_get_appdata();
+ mp_retm_if(ad == NULL, "appdata is NULL");
+ EVENT_TRACE("Previous button press[%d]\n", press);
+
+ ad->is_ff = FALSE;
+
+ double interval = LONG_PRESS_INTERVAL;
+ if (event_by_mediakey) {
+ interval = MEDIA_KEY_LONG_PRESS_INTERVAL;
+ }
+
+ if (press) {
+ _mp_play_control_add_longpressed_timer(ad, interval);
+ } else {
+ _mp_play_control_del_longpressed_timer(ad);
+
+ if (ad->is_Longpress) {
+ mp_play_control_reset_ff_rew();
+ } else if (clicked) {
+ if (!event_by_mediakey) {
+ ad->hide_player_view = true;
+ mp_play_control_prev();
+ } else {
+ /* if media key event is MEDIA_KEY_REWIND, move position even if short press */
+ _mp_player_control_move_position(-SEEK_DIFF);
+ }
+ }
+ }
+
+}
+
+void mp_play_control_reset_ff_rew(void)
+{
+ struct appdata *ad = mp_util_get_appdata();
+ mp_retm_if(ad == NULL, "appdata is NULL");
+
+ _mp_play_control_del_longpressed_timer(ad);
+
+ if (ad->is_Longpress) {
+ ad->is_Longpress = false;
+ }
+}
+
+void
+mp_play_control_menu_cb(void *data, Evas_Object * o, const char *emission,
+ const char *source)
+{
+ eventfunc;
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ EVENT_TRACE("mp_play_control_menu_cb with[%s]\n", emission);
+
+ if (!strcmp(emission, SIGNAL_SHUFFLE_ON)) { /* TURN OFF SHUFFLE */
+ mp_play_control_shuffle_set(ad, FALSE);
+ } else if (!strcmp(emission, SIGNAL_SHUFFLE_OFF)) { /* TURN ON SHUFFE */
+ mp_play_control_shuffle_set(ad, TRUE);
+ } else if (!strcmp(emission, SIGNAL_REP_ALL)) { /* off -1 - all - off //off - all - 1 */
+ /* repeat 1 */
+ mp_setting_set_repeat_state(MP_SETTING_REP_1);
+ mp_playlist_mgr_set_repeat(ad->playlist_mgr, MP_PLST_REPEAT_ONE);
+ } else if (!strcmp(emission, SIGNAL_REP_OFF)) {
+ mp_setting_set_repeat_state(MP_SETTING_REP_ALL);
+ mp_playlist_mgr_set_repeat(ad->playlist_mgr, MP_PLST_REPEAT_ALL);
+ } else if (!strcmp(emission, SIGNAL_REP_1)) {
+ mp_setting_set_repeat_state(MP_SETTING_REP_NON);
+ mp_playlist_mgr_set_repeat(ad->playlist_mgr, MP_PLST_REPEAT_NONE);
+ }
+}
+
+
+void mp_play_control_end_of_stream(void *data)
+{
+ eventfunc;
+ struct appdata *ad = data;
+ mp_retm_if(ad == NULL, "appdata is NULL");
+
+ ad->music_pos = ad->music_length;
+ mp_player_view_update_progressbar(GET_PLAYER_VIEW);
+#ifdef MP_SOUND_PLAYER
+ mp_plst_item *plst_item = NULL;
+
+ plst_item = mp_playlist_mgr_get_current(ad->playlist_mgr);
+ if (plst_item) {
+ mp_playlist_mgr_set_current(ad->playlist_mgr, plst_item);
+ ad->music_pos = 0;
+ mp_play_item_play_current_item(ad);
+ mp_play_control_play_pause(ad, false);
+ }
+#else
+ mp_play_next_file(ad, FALSE);
+#endif
+}
+
+void mp_play_control_shuffle_set(void *data, bool shuffle_enable)
+{
+ struct appdata *ad = mp_util_get_appdata();
+ mp_retm_if(ad == NULL, "appdata is NULL");
+ mp_playlist_mgr_set_shuffle(ad->playlist_mgr, shuffle_enable);
+ mp_player_view_update_state(GET_PLAYER_VIEW);
+ mp_setting_set_shuffle_state(shuffle_enable);
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include <glib.h>
+#include <string.h>
+#include "music.h"
+#include "mp-player-mgr.h"
+#include "mp-player-control.h"
+#include "mp-play.h"
+#include <player.h>
+#include <recorder.h>
+
+#include "mp-ta.h"
+#include "mp-player-debug.h"
+#include "mp-widget.h"
+#include "mp-util.h"
+#include "mp-volume.h"
+#include "mp-minicontroller.h"
+#include "mp-setting-ctrl.h"
+#include "mp-lockscreenmini.h"
+#include "mp-player-view.h"
+
+#define MAX_PATH_LEN 1024
+
+static player_h _player = 0;
+static mp_player_type_e _player_type = MP_PLAYER_TYPE_MMFW;
+static void *_player_buffer;
+
+static bool is_seeking = false;
+static bool resume_on_seek_done = false;
+static bool pause_on_seek_done = false;
+static int g_reserved_seek_pos = -1;
+bool reacquire_state;
+
+static Seek_Done_Cb g_requesting_cb = NULL;
+static void *g_requesting_cb_data = NULL;
+
+static Seek_Done_Cb g_reserved_cb = NULL;
+static void *g_reserved_cb_data = NULL;
+
+static Ecore_Pipe *g_player_pipe = NULL;
+
+#define PLAYER_ENTER_LOG(LABEL) WARN_TRACE("ENTER:"LABEL)
+#define PLAYER_LEAVE_LOG(LABEL) WARN_TRACE("LEAVE:"LABEL)
+
+typedef enum {
+ MP_PLAYER_CB_TYPE_STARTED,
+ MP_PLAYER_CB_TYPE_COMPLETED,
+ MP_PLAYER_CB_TYPE_INTURRUPTED,
+ MP_PLAYER_CB_TYPE_ERROR,
+ MP_PLAYER_CB_TYPE_BUFFERING,
+ MP_PLAYER_CB_TYPE_PREPARE,
+ MP_PLAYER_CB_TYPE_PAUSED,
+ MP_PLAYER_CB_TYPE_DURATION_CHANGED,
+ MP_PLAYER_CB_TYPE_PROGRESSIVE_DOWNLOAD_MESSAGE,
+ MP_PLAYER_CB_TYPE_NUM,
+} mp_player_cb_type;
+
+typedef struct {
+ /* player callbacks */
+ mp_player_started_cb started_cb;
+ player_completed_cb completed_cb;
+ player_interrupted_cb interrupted_cb;
+ player_error_cb error_cb;
+ player_buffering_cb buffering_cb;
+ player_prepared_cb prepare_cb;
+ mp_player_paused_cb paused_cb;
+ mp_player_duration_changed_cb duration_changed_cb;
+
+ /* callback user data */
+ void *user_data[MP_PLAYER_CB_TYPE_NUM];
+} mp_player_cbs;
+
+typedef struct {
+ mp_player_cb_type cb_type;
+
+ union {
+ player_interrupted_code_e interrupted_code;
+ int error_code;
+ int percent;
+ } param;
+} mp_player_cb_extra_data;
+
+typedef struct {
+ int (*create) (player_h *);
+ int (*destroy) (player_h);
+ int (*prepare) (player_h);
+ int (*prepare_async) (player_h, player_prepared_cb, void *);
+ int (*unprepare) (player_h);
+ int (*set_uri) (player_h, const char *);
+ int (*get_state) (player_h, player_state_e *);
+ int (*set_sound_type) (player_h, sound_stream_info_h);
+ int (*set_audio_latency_mode) (player_h, audio_latency_mode_e);
+ int (*get_audio_latency_mode) (player_h, audio_latency_mode_e *);
+ int (*start) (player_h);
+ int (*pause) (player_h);
+ int (*stop) (player_h);
+ int (*set_started_cb) (player_h, mp_player_started_cb, void *);
+ int (*set_completed_cb) (player_h, player_completed_cb, void *);
+ int (*set_interrupted_cb) (player_h, player_interrupted_cb, void *);
+ int (*set_error_cb) (player_h, player_error_cb, void *);
+ int (*set_buffering_cb) (player_h, player_buffering_cb, void *);
+ int (*set_paused_cb) (player_h, mp_player_paused_cb, void *);
+ int (*set_position) (player_h, int, bool, player_seek_completed_cb,
+ void *);
+ int (*set_play_rate) (player_h, float);
+ int (*get_position) (player_h, int *);
+ int (*get_duration) (player_h, int *);
+ int (*set_mute) (player_h, bool);
+ int (*get_content_info) (player_h, player_content_info_e, char * *);
+} mp_player_api_s;
+static mp_player_api_s g_player_apis;
+#define CHECK_MMFW_PLAYER() ((_player_type == MP_PLAYER_TYPE_MMFW) ? true : false)
+
+static mp_player_cbs *g_player_cbs = NULL;
+
+player_h mp_player_mgr_get_player(void)
+{
+ return _player;
+}
+
+bool mp_player_mgr_is_active(void)
+{
+ return _player ? TRUE : FALSE;
+}
+
+void mp_player_mgr_set_started_db(mp_player_started_cb callback,
+ void *user_data)
+{
+ if (!mp_player_mgr_is_active()) {
+ return;
+ }
+
+ MP_CHECK(g_player_cbs);
+
+ g_player_cbs->started_cb = callback;
+ g_player_cbs->user_data[MP_PLAYER_CB_TYPE_STARTED] = user_data;
+}
+
+void mp_player_mgr_set_completed_cb(player_completed_cb callback,
+ void *user_data)
+{
+ if (!mp_player_mgr_is_active()) {
+ return;
+ }
+
+ MP_CHECK(g_player_cbs);
+
+ g_player_cbs->completed_cb = callback;
+ g_player_cbs->user_data[MP_PLAYER_CB_TYPE_COMPLETED] = user_data;
+}
+
+void mp_player_mgr_set_interrupted_cb(player_interrupted_cb callback,
+ void *user_data)
+{
+ if (!mp_player_mgr_is_active()) {
+ return;
+ }
+
+ MP_CHECK(g_player_cbs);
+
+ g_player_cbs->interrupted_cb = callback;
+ g_player_cbs->user_data[MP_PLAYER_CB_TYPE_INTURRUPTED] = user_data;
+}
+
+void mp_player_mgr_set_error_cb(player_error_cb callback, void *user_data)
+{
+ if (!mp_player_mgr_is_active()) {
+ return;
+ }
+
+ MP_CHECK(g_player_cbs);
+
+ g_player_cbs->error_cb = callback;
+ g_player_cbs->user_data[MP_PLAYER_CB_TYPE_ERROR] = user_data;
+}
+
+void mp_player_mgr_set_buffering_cb(player_buffering_cb callback,
+ void *user_data)
+{
+ if (!mp_player_mgr_is_active()) {
+ return;
+ }
+
+ MP_CHECK(g_player_cbs);
+
+ g_player_cbs->buffering_cb = callback;
+ g_player_cbs->user_data[MP_PLAYER_CB_TYPE_BUFFERING] = user_data;
+}
+
+void mp_player_mgr_set_prepare_cb(player_prepared_cb callback,
+ void *user_data)
+{
+ if (!mp_player_mgr_is_active()) {
+ return;
+ }
+
+ MP_CHECK(g_player_cbs);
+
+ g_player_cbs->prepare_cb = callback;
+ g_player_cbs->user_data[MP_PLAYER_CB_TYPE_PREPARE] = user_data;
+}
+
+void mp_player_mgr_unset_completed_cb(void)
+{
+ if (!mp_player_mgr_is_active()) {
+ return;
+ }
+
+ MP_CHECK(g_player_cbs);
+
+ g_player_cbs->completed_cb = NULL;
+ g_player_cbs->user_data[MP_PLAYER_CB_TYPE_COMPLETED] = NULL;
+}
+
+void mp_player_mgr_unset_interrupted_cb(void)
+{
+ if (!mp_player_mgr_is_active()) {
+ return;
+ }
+
+ MP_CHECK(g_player_cbs);
+
+ g_player_cbs->interrupted_cb = NULL;
+ g_player_cbs->user_data[MP_PLAYER_CB_TYPE_INTURRUPTED] = NULL;
+}
+
+void mp_player_mgr_unset_error_cb(void)
+{
+ if (!mp_player_mgr_is_active()) {
+ return;
+ }
+
+ MP_CHECK(g_player_cbs);
+
+ g_player_cbs->error_cb = NULL;
+ g_player_cbs->user_data[MP_PLAYER_CB_TYPE_ERROR] = NULL;
+}
+
+void mp_player_mgr_unset_buffering_cb(void)
+{
+ if (!mp_player_mgr_is_active()) {
+ return;
+ }
+
+ MP_CHECK(g_player_cbs);
+
+ g_player_cbs->buffering_cb = NULL;
+ g_player_cbs->user_data[MP_PLAYER_CB_TYPE_BUFFERING] = NULL;
+}
+
+void mp_player_mgr_set_paused_cb(mp_player_paused_cb callback,
+ void *user_data)
+{
+ if (!mp_player_mgr_is_active()) {
+ return;
+ }
+
+ MP_CHECK(g_player_cbs);
+
+ g_player_cbs->paused_cb = callback;
+ g_player_cbs->user_data[MP_PLAYER_CB_TYPE_PAUSED] = user_data;
+}
+
+static Eina_Bool _mp_player_mgr_duration_timer_cb(void *data)
+{
+ TIMER_TRACE();
+ mp_player_cbs *cb_info = data;
+ MP_CHECK_VAL(cb_info, ECORE_CALLBACK_CANCEL);
+
+ if (cb_info->duration_changed_cb) {
+ cb_info->duration_changed_cb(cb_info->
+ user_data
+ [MP_PLAYER_CB_TYPE_DURATION_CHANGED]);
+ }
+
+ return ECORE_CALLBACK_RENEW;
+}
+
+void mp_player_mgr_set_duration_changed_cb(mp_player_duration_changed_cb
+ callback, void *user_data)
+{
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ if (!mp_player_mgr_is_active()) {
+ return;
+ }
+
+ MP_CHECK(g_player_cbs);
+
+ g_player_cbs->duration_changed_cb = callback;
+ g_player_cbs->user_data[MP_PLAYER_CB_TYPE_DURATION_CHANGED] =
+ user_data;
+
+ mp_ecore_timer_del(ad->duration_change_timer);
+ ad->duration_change_timer =
+ ecore_timer_add(5.0, _mp_player_mgr_duration_timer_cb,
+ g_player_cbs);
+
+ if (mp_player_mgr_get_state() == PLAYER_STATE_PLAYING
+ && !ad->is_lcd_off) {
+ MP_TIMER_THAW(ad->duration_change_timer);
+ } else {
+ MP_TIMER_FREEZE(ad->duration_change_timer);
+ }
+}
+
+player_state_e mp_player_mgr_get_state(void)
+{
+ player_state_e state_now = PLAYER_STATE_NONE;
+
+ if (!_player) {
+ return state_now;
+ }
+
+ g_player_apis.get_state(_player, &state_now);
+ return state_now;
+}
+
+mp_player_type_e mp_player_mgr_get_player_type(void)
+{
+ mp_debug("player type = %d", _player_type);
+ return _player_type;
+}
+
+static void
+_mp_player_mgr_callback_pipe_handler(void *data, void *buffer,
+ unsigned int nbyte)
+{
+ mp_player_cb_extra_data *extra_data = buffer;
+ MP_CHECK(extra_data);
+ MP_CHECK(g_player_cbs);
+
+ switch (extra_data->cb_type) {
+ case MP_PLAYER_CB_TYPE_STARTED:
+ if (g_player_cbs->started_cb) {
+ g_player_cbs->started_cb(g_player_cbs->
+ user_data[MP_PLAYER_CB_TYPE_STARTED]);
+ }
+ break;
+
+ case MP_PLAYER_CB_TYPE_COMPLETED:
+ if (g_player_cbs->completed_cb) {
+ g_player_cbs->completed_cb(g_player_cbs->
+ user_data
+ [MP_PLAYER_CB_TYPE_COMPLETED]);
+ }
+ break;
+
+ case MP_PLAYER_CB_TYPE_INTURRUPTED:
+ if (g_player_cbs->interrupted_cb) {
+ g_player_cbs->interrupted_cb(extra_data->param.
+ interrupted_code,
+ g_player_cbs->
+ user_data
+ [MP_PLAYER_CB_TYPE_INTURRUPTED]);
+ }
+ break;
+
+ case MP_PLAYER_CB_TYPE_ERROR:
+ if (g_player_cbs->error_cb) {
+ g_player_cbs->error_cb(extra_data->param.error_code,
+ g_player_cbs->
+ user_data[MP_PLAYER_CB_TYPE_ERROR]);
+ }
+ break;
+
+ case MP_PLAYER_CB_TYPE_BUFFERING:
+ if (g_player_cbs->buffering_cb) {
+ g_player_cbs->buffering_cb(extra_data->param.percent,
+ g_player_cbs->
+ user_data
+ [MP_PLAYER_CB_TYPE_BUFFERING]);
+ }
+ break;
+
+ case MP_PLAYER_CB_TYPE_PREPARE:
+ if (g_player_cbs->prepare_cb) {
+ g_player_cbs->prepare_cb(g_player_cbs->
+ user_data[MP_PLAYER_CB_TYPE_PREPARE]);
+ }
+ break;
+
+ case MP_PLAYER_CB_TYPE_PAUSED:
+ if (g_player_cbs->paused_cb) {
+ g_player_cbs->paused_cb(g_player_cbs->
+ user_data[MP_PLAYER_CB_TYPE_PAUSED]);
+ }
+ break;
+
+ case MP_PLAYER_CB_TYPE_PROGRESSIVE_DOWNLOAD_MESSAGE:
+ break;
+
+ default:
+ WARN_TRACE("Not suppoted callback type [%d]", extra_data->cb_type);
+ }
+}
+
+static void _mp_player_mgr_started_cb(void *userdata)
+{
+ MP_CHECK(g_player_pipe);
+
+ mp_player_cb_extra_data extra_data;
+ memset(&extra_data, 0, sizeof(mp_player_cb_extra_data));
+ extra_data.cb_type = MP_PLAYER_CB_TYPE_STARTED;
+
+ ecore_pipe_write(g_player_pipe, &extra_data,
+ sizeof(mp_player_cb_extra_data));
+}
+
+static void _mp_player_mgr_completed_cb(void *userdata)
+{
+ MP_CHECK(g_player_pipe);
+
+ mp_player_cb_extra_data extra_data;
+ memset(&extra_data, 0, sizeof(mp_player_cb_extra_data));
+ extra_data.cb_type = MP_PLAYER_CB_TYPE_COMPLETED;
+
+ ecore_pipe_write(g_player_pipe, &extra_data,
+ sizeof(mp_player_cb_extra_data));
+}
+
+static void
+_mp_player_mgr_interrupted_cb(player_interrupted_code_e code,
+ void *userdata)
+{
+ startfunc;
+ MP_CHECK(g_player_pipe);
+
+ mp_player_cb_extra_data extra_data;
+ memset(&extra_data, 0, sizeof(mp_player_cb_extra_data));
+ extra_data.cb_type = MP_PLAYER_CB_TYPE_INTURRUPTED;
+ extra_data.param.interrupted_code = code;
+
+ ecore_pipe_write(g_player_pipe, &extra_data,
+ sizeof(mp_player_cb_extra_data));
+}
+
+
+static void _mp_player_mgr_error_cb(int error_code, void *userdata)
+{
+ MP_CHECK(g_player_pipe);
+
+ mp_player_cb_extra_data extra_data;
+ memset(&extra_data, 0, sizeof(mp_player_cb_extra_data));
+ extra_data.cb_type = MP_PLAYER_CB_TYPE_ERROR;
+ extra_data.param.error_code = error_code;
+
+ ecore_pipe_write(g_player_pipe, &extra_data,
+ sizeof(mp_player_cb_extra_data));
+}
+
+static void _mp_player_mgr_buffering_cb(int percent, void *userdata)
+{
+ MP_CHECK(g_player_pipe);
+
+ mp_player_cb_extra_data extra_data;
+ memset(&extra_data, 0, sizeof(mp_player_cb_extra_data));
+ extra_data.cb_type = MP_PLAYER_CB_TYPE_BUFFERING;
+ extra_data.param.percent = percent;
+
+ ecore_pipe_write(g_player_pipe, &extra_data,
+ sizeof(mp_player_cb_extra_data));
+}
+
+static void _mp_player_mgr_prepare_cb(void *userdata)
+{
+ MP_CHECK(g_player_pipe);
+ struct appdata *ad = (struct appdata *) userdata;
+ MP_CHECK(ad);
+ ad->player_state = PLAY_STATE_READY;
+
+ mp_player_cb_extra_data extra_data;
+ memset(&extra_data, 0, sizeof(mp_player_cb_extra_data));
+ extra_data.cb_type = MP_PLAYER_CB_TYPE_PREPARE;
+
+ ecore_pipe_write(g_player_pipe, &extra_data,
+ sizeof(mp_player_cb_extra_data));
+}
+
+static void _mp_player_mgr_paused_cb(void *userdata)
+{
+ MP_CHECK(g_player_pipe);
+
+ mp_player_cb_extra_data extra_data;
+ memset(&extra_data, 0, sizeof(mp_player_cb_extra_data));
+ extra_data.cb_type = MP_PLAYER_CB_TYPE_PAUSED;
+
+ ecore_pipe_write(g_player_pipe, &extra_data,
+ sizeof(mp_player_cb_extra_data));
+}
+
+static void _mp_player_mgr_change_player(mp_player_type_e player_type)
+{
+ _player_type = player_type;
+
+ WARN_TRACE("player type = [%d]", _player_type);
+
+ memset(&g_player_apis, 0x0, sizeof(mp_player_api_s));
+
+ { /* MP_PLAYER_TYPE_MMFW */
+ g_player_apis.create = player_create;
+ g_player_apis.destroy = player_destroy;
+ g_player_apis.prepare = player_prepare;
+ g_player_apis.prepare_async = player_prepare_async;
+ g_player_apis.unprepare = player_unprepare;
+ g_player_apis.set_uri = player_set_uri;
+ g_player_apis.get_state = player_get_state;
+ g_player_apis.set_sound_type = player_set_sound_stream_info;
+ g_player_apis.set_audio_latency_mode =
+ player_set_audio_latency_mode;
+ g_player_apis.get_audio_latency_mode =
+ player_get_audio_latency_mode;
+ g_player_apis.start = player_start;
+ g_player_apis.pause = player_pause;
+ g_player_apis.stop = player_stop;
+ g_player_apis.set_started_cb = NULL;
+ g_player_apis.set_completed_cb = player_set_completed_cb;
+ g_player_apis.set_interrupted_cb = player_set_interrupted_cb;
+ g_player_apis.set_error_cb = player_set_error_cb;
+ g_player_apis.set_buffering_cb = player_set_buffering_cb;
+ g_player_apis.set_paused_cb = NULL;
+ g_player_apis.set_position = player_set_play_position;
+ g_player_apis.get_position = player_get_play_position;
+ g_player_apis.get_duration = player_get_duration;
+ g_player_apis.set_mute = player_set_mute;
+ g_player_apis.set_play_rate = player_set_playback_rate;
+ g_player_apis.get_content_info = player_get_content_info;
+ }
+}
+
+int _mp_player_mgr_create_common(struct appdata *ad, mp_player_type_e type)
+{
+ MP_CHECK_VAL(ad, -1);
+ int ret = PLAYER_ERROR_NONE;
+
+ if (mp_player_mgr_is_active()) {
+ WARN_TRACE("Destroy previous player");
+ mp_player_mgr_destroy(ad);
+ }
+
+ IF_FREE(_player_buffer);
+
+ /* change player for playing in DMR */
+ _mp_player_mgr_change_player(type);
+
+ PLAYER_ENTER_LOG("create");
+ ret = g_player_apis.create(&_player);
+ PLAYER_LEAVE_LOG("create");
+ if (ret != PLAYER_ERROR_NONE) {
+ ERROR_TRACE("Error when mp_player_mgr_create");
+ return ret;
+ }
+
+ if (_player_type == MP_PLAYER_TYPE_MMFW) {
+
+#ifdef MP_SOUND_PLAYER
+ if (ad->cookie) {
+ player_set_streaming_cookie(_player, ad->cookie,
+ strlen(ad->cookie));
+ }
+#endif
+ }
+
+ //if (g_player_apis.set_sound_type) { // SVACE issue, Suspicious comparison with NULL of address of procedure
+ PLAYER_ENTER_LOG("set_sound_type");
+ g_player_apis.set_sound_type(_player, ad->stream_info);
+ PLAYER_LEAVE_LOG("set_sound_type");
+ //}
+ //if (g_player_apis.set_audio_latency_mode) { // SVACE issue, Suspicious comparison with NULL of address of procedure
+ g_player_apis.set_audio_latency_mode(_player,
+ AUDIO_LATENCY_MODE_HIGH);
+ //}
+
+ is_seeking = false;
+ resume_on_seek_done = false;
+ g_reserved_seek_pos = -1;
+
+ if (!g_player_cbs) {
+ g_player_cbs = calloc(1, sizeof(mp_player_cbs));
+ mp_assert(g_player_cbs);
+ }
+
+ if (g_player_apis.set_started_cb) {
+ g_player_apis.set_started_cb(_player, _mp_player_mgr_started_cb,
+ NULL);
+ }
+ //if (g_player_apis.set_completed_cb) { // SVACE issue, Suspicious comparison with NULL of address of procedure
+ g_player_apis.set_completed_cb(_player,
+ _mp_player_mgr_completed_cb, NULL);
+ //}
+ //if (g_player_apis.set_interrupted_cb) { // SVACE issue, Suspicious comparison with NULL of address of procedure
+ g_player_apis.set_interrupted_cb(_player,
+ _mp_player_mgr_interrupted_cb,
+ NULL);
+ //}
+ //if (g_player_apis.set_error_cb) { // SVACE issue, Suspicious comparison with NULL of address of procedure
+ g_player_apis.set_error_cb(_player, _mp_player_mgr_error_cb, NULL);
+ //}
+ //if (g_player_apis.set_buffering_cb) { // SVACE issue, Suspicious comparison with NULL of address of procedure
+ g_player_apis.set_buffering_cb(_player,
+ _mp_player_mgr_buffering_cb, NULL);
+ //}
+ if (g_player_apis.set_paused_cb) {
+ g_player_apis.set_paused_cb(_player, _mp_player_mgr_paused_cb,
+ NULL);
+ }
+
+ if (!g_player_pipe) {
+ g_player_pipe =
+ ecore_pipe_add(_mp_player_mgr_callback_pipe_handler, ad);
+ }
+
+ ad->player_state = PLAY_STATE_CREATED;
+
+
+ return ret;
+}
+
+int mp_player_mgr_prepare(void *data)
+{
+ mp_plst_item *item = NULL;
+ struct appdata *ad = data;
+ item = mp_playlist_mgr_get_current(ad->playlist_mgr);
+ MP_CHECK_FALSE(item);
+ char *uri = NULL;
+ uri = item->uri;
+ void *extra_data = NULL;
+ int error;
+ error = mp_player_mgr_create(ad, uri, MP_PLAYER_TYPE_MMFW, extra_data);
+ mp_player_mgr_realize(ad);
+ return error;
+}
+
+int
+mp_player_mgr_create(void *data, const char *path, mp_player_type_e type,
+ void *extra_data)
+{
+ struct appdata *ad = (struct appdata *) data;
+ MP_CHECK_VAL(ad, -1);
+ MP_CHECK_VAL(path, -1);
+
+ DEBUG_TRACE("path: %s", path);
+
+ int path_len = strlen(path);
+ if (path_len <= 0 || path_len > MAX_PATH_LEN) {
+ mp_error("invlaid path");
+ return -1;
+ }
+
+ int ret = _mp_player_mgr_create_common(ad, type);
+ MP_CHECK_VAL(ret == 0, -1);
+
+ ret = g_player_apis.set_uri(_player, path);
+ if (ret != PLAYER_ERROR_NONE) {
+ mp_error("player_set_uri() .. [0x%x]", ret);
+ goto exception;
+ }
+
+ return 0;
+
+ exception:
+ mp_player_mgr_destroy(ad);
+ return ret;
+}
+
+int mp_player_mgr_create_with_buffer(void *data, void *buffer, int size)
+{
+ struct appdata *ad = data;
+ MP_CHECK_VAL(ad, -1);
+
+ int ret = _mp_player_mgr_create_common(ad, MP_PLAYER_TYPE_MMFW);
+ MP_CHECK_VAL(ret == 0, -1);
+
+ IF_FREE(_player_buffer);
+ _player_buffer = buffer;
+ ret = player_set_memory_buffer(_player, _player_buffer, size);
+ if (ret != PLAYER_ERROR_NONE) {
+ mp_error("player_set_memory_buffer() .. [0x%x]", ret);
+ mp_player_mgr_destroy(ad);
+ return ret;
+ }
+
+ return 0;
+}
+
+bool mp_player_mgr_destroy(void *data)
+{
+ struct appdata *ad = data;
+ MP_CHECK_FALSE(ad);
+ int res = true;
+ if (ad->current_track_info) {
+ if (mp_setting_read_playing_status
+ (ad->current_track_info->uri, "paused") != 1) {
+ mp_setting_write_playing_status(ad->current_track_info->uri,
+ "paused");
+ }
+ }
+
+ if (!mp_player_mgr_is_active()) {
+ return FALSE;
+ }
+
+ mp_ecore_timer_del(ad->duration_change_timer);
+
+ if (g_player_apis.destroy) {
+ PLAYER_ENTER_LOG("destroy");
+ res = g_player_apis.destroy(_player);
+ PLAYER_LEAVE_LOG("destroy");
+ }
+ if (res != PLAYER_ERROR_NONE) {
+ ERROR_TRACE("Error when mp_player_mgr_destroy");
+ res = false;
+ }
+
+ IF_FREE(_player_buffer);
+ _player = 0;
+ ad->player_state = PLAY_STATE_PAUSED;
+ if (!ad->freeze_indicator_icon && !mp_util_is_other_player_playing()) {
+ preference_set_int(PREF_MUSIC_STATE, PREF_MUSIC_OFF);
+ mp_setting_set_player_state(MP_PLAY_STATE_NONE);
+ }
+
+ is_seeking = false;
+ g_reserved_seek_pos = -1;
+ g_reserved_cb = NULL;
+ g_reserved_cb_data = NULL;
+ g_requesting_cb = NULL;
+ g_requesting_cb_data = NULL;
+
+ memset(&g_player_apis, 0x0, sizeof(mp_player_api_s));
+
+ WARN_TRACE("player handle is destroyed..");
+ mp_util_release_cpu();
+ return res;
+}
+
+int mp_player_mgr_realize(void *data)
+{
+ struct appdata *ad = data;
+ int error = PLAYER_ERROR_NONE;
+
+ if (!mp_player_mgr_is_active()) {
+ return -1;
+ }
+ PLAYER_ENTER_LOG("prepare_async");
+ error =
+ g_player_apis.prepare_async(_player, _mp_player_mgr_prepare_cb,
+ ad);
+ PLAYER_LEAVE_LOG("prepare_async");
+ if (error != PLAYER_ERROR_NONE) {
+ ERROR_TRACE("Error when mp_player_mgr_realize .. [0x%x]", error);
+ return error;
+ }
+
+ ad->player_state = PLAY_STATE_PREPARING;
+ return error;
+}
+
+bool mp_player_mgr_unrealize(void *data)
+{
+ if (!mp_player_mgr_is_active()) {
+ return FALSE;
+ }
+ PLAYER_ENTER_LOG("unprepare");
+ int res = g_player_apis.unprepare(_player);
+ PLAYER_LEAVE_LOG("unprepare");
+ if (res != PLAYER_ERROR_NONE) {
+ ERROR_TRACE("Error when mp_player_mgr_unrealize");
+ return FALSE;
+ }
+ return TRUE;
+}
+
+int mp_player_mgr_play(void *data)
+{
+ startfunc;
+ struct appdata *ad = data;
+ MP_CHECK_FALSE(ad);
+ int err = -1;
+ int error = SOUND_MANAGER_ERROR_NONE;
+
+ MP_CHECK_VAL(mp_player_mgr_is_active(), -1);
+
+ mp_util_lock_cpu();
+
+ if (ad->start_pos > 0) {
+ WARN_TRACE("start position = %d", ad->start_pos);
+ ad->start_pos = 0;
+ }
+
+ if (is_seeking) {
+ resume_on_seek_done = true;
+ /* mp_allshare_player_destroy_loading_popup(); */
+ return PLAYER_ERROR_INVALID_OPERATION;
+ }
+
+ PLAYER_ENTER_LOG("start");
+ if (ad->stream_info) {
+ error =
+ sound_manager_acquire_focus(ad->stream_info,
+ SOUND_STREAM_FOCUS_FOR_PLAYBACK,
+ SOUND_BEHAVIOR_NONE, NULL);
+ if (error != SOUND_MANAGER_ERROR_NONE) {
+ ERROR_TRACE("failed to acquire focus [%x]", error);
+ }
+ }
+ err = g_player_apis.start(_player);
+ PLAYER_LEAVE_LOG("start");
+
+ if (err != PLAYER_ERROR_NONE) {
+ ERROR_TRACE("Error when mp_player_mgr_play. err[%x]", err);
+ /* mp_allshare_player_destroy_loading_popup(); */
+ return err;
+ }
+
+ is_seeking = false;
+ resume_on_seek_done = false;
+ pause_on_seek_done = false;
+ g_reserved_seek_pos = -1;
+
+ if (!g_player_apis.set_started_cb && g_player_cbs->started_cb) { /* sync */
+ g_player_cbs->started_cb(g_player_cbs->
+ user_data[MP_PLAYER_CB_TYPE_STARTED]);
+ }
+
+ if (!ad->is_lcd_off) {
+ MP_TIMER_THAW(ad->duration_change_timer);
+ }
+
+ return err;
+}
+
+
+bool mp_player_mgr_stop(void *data)
+{
+ startfunc;
+ struct appdata *ad = data;
+ MP_CHECK_FALSE(ad);
+
+ if (!mp_player_mgr_is_active()) {
+ return FALSE;
+ }
+ PLAYER_ENTER_LOG("stop");
+ int res = g_player_apis.stop(_player);
+ if (ad->stream_info) {
+ int error =
+ sound_manager_release_focus(ad->stream_info,
+ SOUND_STREAM_FOCUS_FOR_PLAYBACK,
+ SOUND_BEHAVIOR_NONE, NULL);
+ if (error != SOUND_MANAGER_ERROR_NONE) {
+ ERROR_TRACE("failed to release focus error[%x]", error);
+ }
+ }
+ PLAYER_LEAVE_LOG("stop");
+
+ if (res != PLAYER_ERROR_NONE) {
+ ERROR_TRACE("Error when mp_player_mgr_stop");
+ }
+
+ is_seeking = false;
+ g_reserved_seek_pos = -1;
+ resume_on_seek_done = false;
+ pause_on_seek_done = false;
+
+ if (ad->duration_change_timer) {
+ MP_TIMER_FREEZE(ad->duration_change_timer);
+ }
+
+ mp_play_stop(ad);
+ return TRUE;
+}
+
+int mp_player_mgr_resume(void *data)
+{
+ startfunc;
+ struct appdata *ad = data;
+ MP_CHECK_FALSE(ad);
+ int err = -1;
+ int error = SOUND_MANAGER_ERROR_NONE;
+ sound_stream_focus_state_e state_for_playback;
+ sound_stream_focus_state_e state_for_recording;
+ int ret = -1;
+
+ mp_util_lock_cpu();
+ if (!mp_player_mgr_is_active()) {
+ DEBUG_TRACE("player is not active");
+ err = mp_player_mgr_prepare(ad);
+ if (err) {
+ DEBUG_TRACE("failed to prepare _player");
+ return err;
+ }
+ }
+
+ if (ad->stream_info) {
+ ret =
+ sound_manager_get_focus_state(ad->stream_info,
+ &state_for_playback,
+ &state_for_recording);
+ if (ret != SOUND_MANAGER_ERROR_NONE) {
+ ERROR_TRACE("failed in sound_manager_get_focus_state");
+ }
+ if (state_for_playback != SOUND_STREAM_FOCUS_STATE_ACQUIRED) {
+ error =
+ sound_manager_acquire_focus(ad->stream_info,
+ SOUND_STREAM_FOCUS_FOR_PLAYBACK,
+ SOUND_BEHAVIOR_NONE, NULL);
+ if (error != SOUND_MANAGER_ERROR_NONE) {
+ ERROR_TRACE("failed to acquire focus [%x]", error);
+ return error;
+ }
+ }
+ }
+
+ if (mp_player_mgr_get_state() != PLAYER_STATE_IDLE) {
+ DEBUG_TRACE("player state is ready");
+ PLAYER_ENTER_LOG("start");
+ err = g_player_apis.start(_player);
+ PLAYER_LEAVE_LOG("start");
+
+ if (err != PLAYER_ERROR_NONE) {
+ ERROR_TRACE("Error when mp_player_mgr_resume. err[%x]", err);
+ return err;
+ }
+ }
+
+ is_seeking = false;
+ g_reserved_seek_pos = -1;
+
+ if (!ad->is_lcd_off) {
+ MP_TIMER_THAW(ad->duration_change_timer);
+ }
+
+ mp_player_view_update_progressbar(GET_PLAYER_VIEW);
+ mp_player_view_progress_timer_thaw(GET_PLAYER_VIEW);
+
+ return err;
+}
+
+bool mp_player_mgr_pause(void *data)
+{
+ startfunc;
+ struct appdata *ad = data;
+ MP_CHECK_FALSE(ad);
+ int err = -1;
+ int error = SOUND_MANAGER_ERROR_NONE;
+
+ mp_util_release_cpu();
+
+ if (!mp_player_mgr_is_active()) {
+ return FALSE;
+ }
+
+ PLAYER_ENTER_LOG("pause");
+ err = g_player_apis.pause(_player);
+ if (ad->stream_info) {
+ error =
+ sound_manager_release_focus(ad->stream_info,
+ SOUND_STREAM_FOCUS_FOR_PLAYBACK,
+ SOUND_BEHAVIOR_NONE, NULL);
+ if (error != SOUND_MANAGER_ERROR_NONE) {
+ ERROR_TRACE("failed to release focus error[%x]", error);
+ }
+ }
+ PLAYER_LEAVE_LOG("pause");
+
+ if (err != PLAYER_ERROR_NONE) {
+ ERROR_TRACE("Error when mp_player_mgr_pause. err[%x]", err);
+ if (is_seeking) {
+ pause_on_seek_done = true;
+ }
+ if (ad->win_minicon) {
+ mp_minicontroller_update_control(ad);
+ }
+#ifdef MP_FEATURE_LOCKSCREEN
+ if (ad->win_lockmini) {
+ mp_lockscreenmini_update_control(ad);
+ }
+#endif
+ return FALSE;
+ }
+
+ MP_TIMER_FREEZE(ad->duration_change_timer);
+
+ if (!g_player_apis.set_paused_cb && g_player_cbs->paused_cb) {
+ g_player_cbs->paused_cb(g_player_cbs->
+ user_data[MP_PLAYER_CB_TYPE_PAUSED]);
+ }
+
+ return TRUE;
+}
+
+Eina_Bool mp_player_mgr_seek_done(void *data)
+{
+ if (!is_seeking) {
+ return ECORE_CALLBACK_DONE;
+ }
+
+ is_seeking = false;
+
+ if (g_requesting_cb) {
+ /* invoke seek done callback */
+ g_requesting_cb(g_requesting_cb_data);
+
+ g_requesting_cb = NULL;
+ g_requesting_cb_data = NULL;
+ }
+
+ if (g_reserved_seek_pos >= 0) {
+ g_reserved_seek_pos = -1;
+ g_reserved_cb = NULL;
+ g_reserved_cb_data = NULL;
+ }
+
+ if (resume_on_seek_done) {
+ mp_player_mgr_play(mp_util_get_appdata());
+ resume_on_seek_done = false;
+ } else if (pause_on_seek_done) {
+ mp_player_mgr_pause(mp_util_get_appdata());
+ pause_on_seek_done = false;
+ }
+
+ return ECORE_CALLBACK_DONE;
+}
+
+static void _mp_player_mgr_seek_done_cb(void *data)
+{
+ if (is_seeking) {
+ ecore_main_loop_thread_safe_call_async(mp_player_mgr_seek_done, data);
+ }
+}
+
+bool mp_player_mgr_is_seeking(void)
+{
+ return is_seeking;
+}
+
+bool
+mp_player_mgr_set_position(unsigned int pos, Seek_Done_Cb done_cb,
+ void *data)
+{
+ if (!mp_player_mgr_is_active()) {
+ return FALSE;
+ }
+
+ if (is_seeking) {
+ g_reserved_seek_pos = pos;
+ g_reserved_cb = done_cb;
+ g_reserved_cb_data = data;
+ return TRUE;
+ }
+
+ PLAYER_ENTER_LOG("set_position");
+ int err =
+ g_player_apis.set_position(_player, (int) pos, TRUE,
+ _mp_player_mgr_seek_done_cb,
+ (void *) pos);
+ PLAYER_LEAVE_LOG("set_position");
+ if (err != PLAYER_ERROR_NONE) {
+ ERROR_TRACE("Error [0x%x] when mp_player_mgr_set_position(%d)",
+ err, pos);
+ return FALSE;
+ }
+
+ is_seeking = true;
+ g_requesting_cb = done_cb;
+ g_requesting_cb_data = data;
+
+ return TRUE;
+}
+
+void mp_player_mgr_unset_seek_done_cb()
+{
+ g_requesting_cb = NULL;
+ g_requesting_cb_data = NULL;
+ g_reserved_cb = NULL;
+ g_reserved_cb_data = NULL;
+}
+
+bool mp_player_mgr_set_play_speed(double rate)
+{
+ int err = PLAYER_ERROR_NONE;
+ if (!mp_player_mgr_is_active()) {
+ return FALSE;
+ }
+
+ if (g_player_apis.set_play_rate) {
+ err = g_player_apis.set_play_rate(_player, rate);
+ } else {
+ WARN_TRACE("Unsupported function");
+ }
+
+ if (err != PLAYER_ERROR_NONE) {
+ ERROR_TRACE("Error [0x%x] when set_playback_rate(%f)", err, rate);
+ return FALSE;
+ }
+ return TRUE;
+}
+
+int mp_player_mgr_get_position(void)
+{
+ int pos = 0;
+
+ if (!mp_player_mgr_is_active()) {
+ return 0;
+ }
+
+ if (g_player_apis.get_position(_player, &pos) != PLAYER_ERROR_NONE) {
+ ERROR_TRACE("Error when mp_player_mgr_get_position");
+ return 0;
+ }
+
+ return pos;
+}
+
+int mp_player_mgr_get_duration(void)
+{
+ if (!mp_player_mgr_is_active()) {
+ return 0;
+ }
+
+ int duration = 0;
+
+ if (g_player_apis.get_duration(_player, &duration) !=
+ PLAYER_ERROR_NONE) {
+ ERROR_TRACE("Error when mp_player_mgr_get_position");
+ return 0;
+ }
+
+ return duration;
+}
+
+
+int mp_player_mgr_safety_volume_set(int foreground)
+{
+ int set = false;
+ player_state_e state = mp_player_mgr_get_state();
+
+ if (foreground) {
+ set = true;
+ } else {
+ if (state == PLAYER_STATE_PLAYING) {
+ set = true;
+ } else {
+ set = false;
+ }
+ }
+ EVENT_TRACE("Foreground[%d], PlayerState[%d], set[%d]", foreground,
+ state, set);
+
+ return 0;
+}
+
+void mp_player_focus_callback(sound_stream_info_h stream_info,
+ sound_stream_focus_mask_e focus_mask,
+ sound_stream_focus_state_e focus_state,
+ sound_stream_focus_change_reason_e
+ reason_for_change, int sound_behaviors,
+ const char *extra_info, void *user_data)
+{
+ startfunc;
+ struct appdata *ad = user_data;
+
+ if (focus_mask == SOUND_STREAM_FOCUS_FOR_PLAYBACK
+ && focus_state == SOUND_STREAM_FOCUS_STATE_RELEASED) {
+ mp_player_mgr_pause(ad);
+
+ sound_manager_get_focus_reacquisition(ad->stream_info,
+ &reacquire_state);
+ DEBUG_TRACE("reason for change is %d", reason_for_change);
+ if (reason_for_change == SOUND_STREAM_FOCUS_CHANGED_BY_VOIP ||
+ reason_for_change == SOUND_STREAM_FOCUS_CHANGED_BY_CALL ||
+ reason_for_change == SOUND_STREAM_FOCUS_CHANGED_BY_RINGTONE ||
+ reason_for_change ==
+ SOUND_STREAM_FOCUS_CHANGED_BY_VOICE_RECOGNITION) {
+ sound_manager_set_focus_reacquisition(ad->stream_info,
+ EINA_TRUE);
+ } else if (reason_for_change != SOUND_STREAM_FOCUS_CHANGED_BY_ALARM
+ && reason_for_change !=
+ SOUND_STREAM_FOCUS_CHANGED_BY_NOTIFICATION) {
+ if (reacquire_state == EINA_TRUE) {
+ sound_manager_set_focus_reacquisition(ad->stream_info,
+ EINA_FALSE);
+ }
+ } else if (sound_behaviors & SOUND_BEHAVIOR_NO_RESUME) {
+ sound_manager_set_focus_reacquisition(ad->stream_info,
+ EINA_FALSE);
+ }
+ } else {
+ mp_play_control_play_pause(ad, true);
+ }
+}
+
+
+bool mp_player_mgr_session_init(void)
+{
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_FALSE(ad);
+ int ret = SOUND_MANAGER_ERROR_NONE;
+ if (!ad->stream_info) {
+ ret =
+ sound_manager_create_stream_information
+ (SOUND_STREAM_TYPE_MEDIA, mp_player_focus_callback, ad,
+ &ad->stream_info);
+
+ if (ret != SOUND_MANAGER_ERROR_NONE) {
+ EVENT_TRACE("failed to create_stream_information [%x]", ret);
+ return FALSE;
+ }
+ }
+ return TRUE;
+}
+
+bool mp_player_mgr_session_finish(void)
+{
+ return TRUE;
+}
+
+void mp_player_mgr_set_mute(bool bMuteEnable)
+{
+
+ if (!mp_player_mgr_is_active()) {
+ return;
+ }
+
+ if (g_player_apis.set_mute(_player, bMuteEnable) != PLAYER_ERROR_NONE) {
+ ERROR_TRACE("[ERR] mm_player_set_mute");
+ }
+}
+
+int mp_player_mgr_volume_get_max()
+{
+ int max_vol = 0;
+
+ static int max = -1;
+ if (max < 0) {
+ PLAYER_ENTER_LOG("sound_manager_get_max_volume");
+ int ret = sound_manager_get_max_volume(SOUND_TYPE_MEDIA, &max_vol);
+ PLAYER_LEAVE_LOG("sound_manager_get_max_volume");
+ if (ret != SOUND_MANAGER_ERROR_NONE) {
+ mp_error("sound_manager_get_max_volume().. [0x%x]", ret);
+ return -1;
+ }
+ max = max_vol;
+ } else {
+ max_vol = max;
+ }
+
+ return max_vol;
+}
+
+int mp_player_mgr_volume_get_current()
+{
+ int current = 0;
+ int ret = 0;
+
+
+ PLAYER_ENTER_LOG("sound_manager_get_volume");
+ ret = sound_manager_get_volume(SOUND_TYPE_MEDIA, ¤t);
+ PLAYER_LEAVE_LOG("sound_manager_get_volume");
+ if (ret != SOUND_MANAGER_ERROR_NONE) {
+ mp_error("sound_manager_get_max_volume().. [0x%x]", ret);
+ return -1;
+ }
+
+ return current;
+}
+
+bool mp_player_mgr_volume_set(int volume)
+{
+ int ret = 0;
+
+ PLAYER_ENTER_LOG("sound_manager_set_volume_with_safety");
+ ret = sound_manager_set_volume(SOUND_TYPE_MEDIA, volume);
+ PLAYER_LEAVE_LOG("sound_manager_set_volume_with_safety");
+ if (ret != SOUND_MANAGER_ERROR_NONE) {
+ mp_error("sound_manager_set_volume_with_safety().. [0x%x]", ret);
+ mp_volume_key_event_timer_del();
+ return false;
+ }
+
+ WARN_TRACE("set volue [%d]", volume);
+ return true;
+}
+
+bool mp_player_mgr_volume_up()
+{
+ int current = mp_player_mgr_volume_get_current();
+ int max = mp_player_mgr_volume_get_max();
+
+ int step = 1;
+
+ int new_vol = current + step;
+ if (new_vol > max) {
+ new_vol = max;
+ }
+
+ bool ret = true;
+ if (current < max) {
+ ret = mp_player_mgr_volume_set(new_vol);
+ _mp_volume_handle_change(new_vol);
+ }
+
+ return ret;
+}
+
+bool mp_player_mgr_volume_down()
+{
+ int current = mp_player_mgr_volume_get_current();
+
+ int step = 1;
+
+ int new_vol = current - step;
+ if (new_vol < 0) {
+ new_vol = 0;
+ }
+
+ bool ret = true;
+ if (current > 0) {
+ ret = mp_player_mgr_volume_set(new_vol);
+ _mp_volume_handle_change(new_vol);
+ }
+
+ return ret;
+}
+
+bool
+mp_player_mgr_get_content_info(char **title, char **album, char **artist,
+ char **author, char **genre, char **year)
+{
+ if (!mp_player_mgr_is_active()) {
+ return false;
+ }
+
+ MP_CHECK_FALSE(g_player_apis.get_content_info);
+
+ if (album
+ && g_player_apis.get_content_info(_player,
+ PLAYER_CONTENT_INFO_ALBUM,
+ album) != PLAYER_ERROR_NONE) {
+ ERROR_TRACE("[ERR] mm_player_get_content_info");
+ }
+ if (artist
+ && g_player_apis.get_content_info(_player,
+ PLAYER_CONTENT_INFO_ARTIST,
+ artist) != PLAYER_ERROR_NONE) {
+ ERROR_TRACE("[ERR] mm_player_get_content_info");
+ }
+ if (author
+ && g_player_apis.get_content_info(_player,
+ PLAYER_CONTENT_INFO_AUTHOR,
+ author) != PLAYER_ERROR_NONE) {
+ ERROR_TRACE("[ERR] mm_player_get_content_info");
+ }
+ if (genre
+ && g_player_apis.get_content_info(_player,
+ PLAYER_CONTENT_INFO_GENRE,
+ genre) != PLAYER_ERROR_NONE) {
+ ERROR_TRACE("[ERR] mm_player_get_content_info");
+ }
+ if (title
+ && g_player_apis.get_content_info(_player,
+ PLAYER_CONTENT_INFO_TITLE,
+ title) != PLAYER_ERROR_NONE) {
+ ERROR_TRACE("[ERR] mm_player_get_content_info");
+ }
+ if (year
+ && g_player_apis.get_content_info(_player,
+ PLAYER_CONTENT_INFO_YEAR,
+ year) != PLAYER_ERROR_NONE) {
+ ERROR_TRACE("[ERR] mm_player_get_content_info");
+ }
+ return true;
+}
+
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include "mp-playlist-mgr.h"
+#include "mp-player-debug.h"
+#include "mp-define.h"
+#include "mp-util.h"
+#include "mp-file-util.h"
+
+#define MP_PLST_LAZY_APPENDER_TEMP_FILE "/tmp/mp_plst_lazy_appender_temp"
+#define MP_PLST_LAZY_APPENDER_MAX_COUNT (500)
+
+static void _mp_playlist_mgr_reset_lazy_appender(mp_plst_mgr *
+ playlist_mgr);
+
+#ifndef MP_SOUND_PLAYER
+#include "mp-setting-ctrl.h"
+/* static void __mp_playlist_mgr_remove_list(void); */
+#endif
+
+void __mp_playlist_mgr_item_free(void *data)
+{
+ mp_plst_item *node = (mp_plst_item *) data;
+ MP_CHECK(node);
+ IF_FREE(node->uri);
+ IF_FREE(node->uid);
+ IF_FREE(node->title);
+ IF_FREE(node->artist);
+ IF_FREE(node);
+}
+
+mp_plst_mgr *mp_playlist_mgr_create(void)
+{
+ startfunc;
+ mp_plst_mgr *playlist_mgr = calloc(1, sizeof(mp_plst_mgr));
+ srand((unsigned int) time(NULL));
+#ifndef MP_SOUND_PLAYER
+ /* __mp_playlist_mgr_remove_list(); */
+#endif
+ endfunc;
+ return playlist_mgr;
+
+}
+
+void mp_playlist_mgr_destroy(mp_plst_mgr * playlist_mgr)
+{
+ startfunc;
+ MP_CHECK(playlist_mgr);
+ mp_playlist_mgr_clear(playlist_mgr);
+ mp_ecore_timer_del(playlist_mgr->save_timer);
+ free(playlist_mgr);
+ endfunc;
+}
+
+static int __mp_playlist_mgr_rand_position(int length, int queue_lenth)
+{
+ unsigned int seed = (unsigned int) time(NULL);
+ unsigned int rand = 0;
+ int pos = 0;
+
+ if (length > 0) {
+ rand = rand_r(&seed);
+ pos = rand % (length - queue_lenth + 1);
+ }
+
+ return pos;
+}
+
+static void __mp_playlist_mgr_select_list(mp_plst_mgr * playlist_mgr)
+{
+ if (playlist_mgr->shuffle_state) {
+ playlist_mgr->list = playlist_mgr->shuffle_list;
+ } else {
+ playlist_mgr->list = playlist_mgr->normal_list;
+ }
+}
+
+#ifndef MP_SOUND_PLAYER
+void __save_playing_list(mp_plst_mgr * playlist_mgr)
+{
+ startfunc;
+
+ FILE *fp = NULL;
+ mp_plst_item *item = NULL;
+
+ int i;
+
+ char *data_path = app_get_data_path();
+ char nowplaying_list_data[1024] = { 0 };
+ snprintf(nowplaying_list_data, 1024, "%s%s", data_path,
+ MP_NOWPLAYING_LIST_DATA);
+ free(data_path);
+ fp = fopen(nowplaying_list_data, "w");
+
+ if (fp == NULL) {
+ SECURE_ERROR("Failed to open ini files. : %s",
+ nowplaying_list_data);
+ return;
+ }
+
+ for (i = 0; i < mp_playlist_mgr_count(playlist_mgr); i++) {
+ item = mp_playlist_mgr_normal_list_get_nth(playlist_mgr, i);
+ if (item == NULL) {
+ fclose(fp);
+ return;
+ }
+ if (item->title) {
+ fprintf(fp, "%s\n", item->title);
+ } else {
+ fprintf(fp, "%s\n", "");
+ }
+
+ if (item->artist) {
+ fprintf(fp, "%s\n", item->artist);
+ } else {
+ fprintf(fp, "%s\n", "");
+ }
+
+ fprintf(fp, "%s\n", item->uri);
+ }
+
+ fclose(fp);
+
+ endfunc;
+}
+
+static Eina_Bool _playlist_save_timer_cb(void *data)
+{
+ mp_plst_mgr *playlist_mgr = data;
+
+ if (playlist_mgr->lazy_appender) {
+ /* item is still appending by lazy appender; */
+ return EINA_TRUE;
+ }
+
+ DEBUG_TRACE("save playing list for livebox");
+ __save_playing_list(playlist_mgr);
+
+ playlist_mgr->save_timer = NULL;
+ return EINA_FALSE;
+}
+
+static void __mp_playlist_mgr_save_list(mp_plst_mgr * playlist_mgr)
+{
+ if (!playlist_mgr->save_timer) {
+ playlist_mgr->save_timer =
+ ecore_timer_add(0.1, _playlist_save_timer_cb, playlist_mgr);
+ }
+}
+#endif
+
+static inline void _mp_playlist_mgr_item_append_common(mp_plst_mgr *
+ playlist_mgr,
+ mp_plst_item * node,
+ int position)
+{
+ MP_CHECK(playlist_mgr);
+ MP_CHECK(node);
+
+ int pos = 0;
+ mp_plst_item *cur = NULL;
+
+ if (position > g_list_length(playlist_mgr->normal_list)) {
+ position = -1;
+ }
+ /*insert to normal list */
+ if (position < 0) {
+ playlist_mgr->normal_list =
+ g_list_append(playlist_mgr->normal_list, node);
+ } else {
+ playlist_mgr->normal_list =
+ g_list_insert(playlist_mgr->normal_list, node, position);
+ }
+
+ /*insert to shuffle list */
+ pos =
+ __mp_playlist_mgr_rand_position(g_list_length
+ (playlist_mgr->normal_list), 0);
+
+ if (playlist_mgr->shuffle_state) {
+ cur = mp_playlist_mgr_get_current(playlist_mgr);
+ }
+
+ playlist_mgr->shuffle_list =
+ g_list_insert(playlist_mgr->shuffle_list, node, pos);
+
+ if (cur) {
+ int index = g_list_index(playlist_mgr->list, cur);
+ playlist_mgr->current_index = index;
+ }
+
+ /*select list */
+ __mp_playlist_mgr_select_list(playlist_mgr);
+#ifndef MP_SOUND_PLAYER
+ __mp_playlist_mgr_save_list(playlist_mgr);
+#endif
+}
+
+static mp_plst_item *_mp_playlist_mgr_create_node(const char *uri,
+ const char *uid,
+ const char *title,
+ const char *artist,
+ mp_track_type type)
+{
+ MP_CHECK_NULL(uri);
+
+ mp_plst_item *node = NULL;
+
+ /*create data */
+ node = calloc(1, sizeof(mp_plst_item));
+ MP_CHECK_NULL(node);
+
+ node->track_type = type;
+ node->uid = g_strdup(uid);
+ node->uri = g_strdup(uri);
+ node->title = g_strdup(title);
+ node->artist = g_strdup(artist);
+
+ return node;
+}
+
+mp_plst_item *mp_playlist_mgr_item_append(mp_plst_mgr * playlist_mgr,
+ const char *uri, const char *uid,
+ const char *title,
+ const char *artist,
+ mp_track_type type)
+{
+ MP_CHECK_VAL(playlist_mgr, NULL);
+ MP_CHECK_VAL(uri, NULL);
+
+ mp_plst_item *node =
+ _mp_playlist_mgr_create_node(uri, uid, title, artist, type);
+
+ _mp_playlist_mgr_item_append_common(playlist_mgr, node, -1);
+
+ return node;
+}
+
+mp_plst_item *mp_playlist_mgr_item_insert(mp_plst_mgr * playlist_mgr,
+ const char *uri, const char *uid,
+ const char *title,
+ const char *artist,
+ mp_track_type type, int index)
+{
+ MP_CHECK_NULL(playlist_mgr);
+ MP_CHECK_NULL(uri);
+
+ mp_plst_item *node =
+ _mp_playlist_mgr_create_node(uri, uid, title, artist, type);
+
+ _mp_playlist_mgr_item_append_common(playlist_mgr, node, index);
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_PLAYLIST_MGR_ITEM_CHANGED);
+
+ return node;
+}
+
+void mp_playlist_mgr_item_set_playlist_memeber_id(mp_plst_item * item,
+ int memeber_id)
+{
+ MP_CHECK(item);
+ item->playlist_memeber_id = memeber_id;
+}
+
+void mp_playlist_mgr_item_remove_item(mp_plst_mgr * playlist_mgr,
+ mp_plst_item * item)
+{
+ startfunc;
+ GList *remove;
+ MP_CHECK(playlist_mgr);
+ MP_CHECK(item);
+
+ MP_CHECK(playlist_mgr->shuffle_list);
+ MP_CHECK(playlist_mgr->normal_list);
+
+ /*remove from shuffle_list */
+ remove = g_list_find(playlist_mgr->shuffle_list, item);
+ MP_CHECK(remove);
+
+ mp_plst_item *cur = mp_playlist_mgr_get_current(playlist_mgr);
+
+ playlist_mgr->shuffle_list =
+ g_list_remove_link(playlist_mgr->shuffle_list, remove);
+ g_list_free(remove);
+
+ /*remove from normal_list */
+ remove = g_list_find(playlist_mgr->normal_list, item);
+ MP_CHECK(remove);
+ playlist_mgr->normal_list =
+ g_list_remove_link(playlist_mgr->normal_list, remove);
+ g_list_free_full(remove, __mp_playlist_mgr_item_free);
+
+ /*select list */
+ __mp_playlist_mgr_select_list(playlist_mgr);
+
+ if (cur && cur != item) {
+ playlist_mgr->current_index =
+ g_list_index(playlist_mgr->list, cur);
+ }
+
+ if (playlist_mgr->current_index < 0
+ || playlist_mgr->current_index >=
+ mp_playlist_mgr_count(playlist_mgr)) {
+ playlist_mgr->current_index = 0;
+ }
+
+ if (cur == item) {
+ mp_playlist_mgr_set_current(playlist_mgr,
+ mp_playlist_mgr_get_nth(playlist_mgr,
+ playlist_mgr->
+ current_index));
+ }
+#ifndef MP_SOUND_PLAYER
+ __mp_playlist_mgr_save_list(playlist_mgr);
+
+ if (mp_playlist_mgr_count(playlist_mgr) <= 0) {
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_UNSET_NOW_PLAYING);
+ mp_setting_remove_now_playing();
+ }
+#endif
+ endfunc;
+}
+
+void mp_playlist_mgr_item_remove_deleted_item(mp_plst_mgr * playlist_mgr)
+{
+ startfunc;
+ MP_CHECK(playlist_mgr);
+ MP_CHECK(playlist_mgr->list);
+ mp_plst_item *item = NULL;
+
+ GList *list = playlist_mgr->list;
+
+ while (list) {
+ item = list->data;
+ list = g_list_next(list);
+ if (item) {
+ if (item->uri && item->track_type == MP_TRACK_URI) {
+ if (!mp_check_file_exist(item->uri)) {
+ SECURE_DEBUG("uri = %s", item->uri);
+ mp_playlist_mgr_item_remove_item(playlist_mgr, item);
+ }
+ }
+ }
+ }
+
+}
+
+void mp_playlist_mgr_item_remove_nth(mp_plst_mgr * playlist_mgr, int index)
+{
+ startfunc;
+ MP_CHECK(playlist_mgr);
+ MP_CHECK(playlist_mgr->list);
+
+ mp_playlist_mgr_item_remove_item(playlist_mgr,
+ mp_playlist_mgr_get_nth(playlist_mgr,
+ index));
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_PLAYLIST_MGR_ITEM_CHANGED);
+ endfunc;
+}
+
+void mp_playlist_mgr_clear(mp_plst_mgr * playlist_mgr)
+{
+ startfunc;
+ MP_CHECK(playlist_mgr);
+
+ mp_playlist_mgr_set_playlist_id(playlist_mgr, 0);
+
+ if (playlist_mgr->normal_list) {
+ g_list_free_full(playlist_mgr->normal_list,
+ __mp_playlist_mgr_item_free);
+ }
+ if (playlist_mgr->shuffle_list) {
+ g_list_free(playlist_mgr->shuffle_list);
+ }
+
+ playlist_mgr->normal_list = NULL;
+ playlist_mgr->shuffle_list = NULL;
+ playlist_mgr->list = NULL;
+
+ mp_playlist_mgr_set_list_type(playlist_mgr, MP_PLST_TYPE_NONE);
+
+ playlist_mgr->current_index = 0;
+
+ if (playlist_mgr->item_change_cb) {
+ playlist_mgr->item_change_cb(NULL,
+ playlist_mgr->item_change_userdata);
+ }
+
+ if (playlist_mgr->lazy_appender) {
+ _mp_playlist_mgr_reset_lazy_appender(playlist_mgr);
+ }
+#ifndef MP_SOUND_PLAYER
+ /* __mp_playlist_mgr_remove_list(); */
+#endif
+ endfunc;
+}
+
+int mp_playlist_mgr_count(mp_plst_mgr * playlist_mgr)
+{
+ MP_CHECK_VAL(playlist_mgr, 0);
+ MP_CHECK_VAL(playlist_mgr->list, 0);
+ return g_list_length(playlist_mgr->list);
+}
+
+mp_plst_item *mp_playlist_mgr_get_current(mp_plst_mgr * playlist_mgr)
+{
+ MP_CHECK_VAL(playlist_mgr, 0);
+ mp_plst_item *cur = NULL;
+
+ if (playlist_mgr->list) {
+ cur =
+ g_list_nth_data(playlist_mgr->list,
+ playlist_mgr->current_index);
+ }
+
+ if (!cur) {
+ WARN_TRACE("no current!!!");
+ cur = mp_playlist_mgr_get_nth(playlist_mgr, 0);
+ mp_playlist_mgr_set_current(playlist_mgr, cur);
+ }
+
+ return cur;
+}
+
+static void __mp_playlist_list_foreach(gpointer data, gpointer user_data)
+{
+ int pos;
+ mp_plst_mgr *playlist_mgr = user_data;
+ MP_CHECK(playlist_mgr);
+
+ pos =
+ __mp_playlist_mgr_rand_position(g_list_length
+ (playlist_mgr->shuffle_list), 0);
+ playlist_mgr->shuffle_list =
+ g_list_insert(playlist_mgr->shuffle_list, data, pos);
+}
+
+static void __mp_playlist_mgr_refresh_shuffle(mp_plst_mgr * playlist_mgr)
+{
+ DEBUG_TRACE("Shuffle list refreshed!");
+ MP_CHECK(playlist_mgr);
+
+ g_list_free(playlist_mgr->shuffle_list);
+ playlist_mgr->shuffle_list = NULL;
+
+ g_list_foreach(playlist_mgr->normal_list, __mp_playlist_list_foreach,
+ playlist_mgr);
+ playlist_mgr->list = playlist_mgr->shuffle_list;
+}
+
+mp_plst_item *mp_playlist_mgr_get_next(mp_plst_mgr * playlist_mgr,
+ Eina_Bool force,
+ Eina_Bool refresh_shuffle)
+{
+ startfunc;
+ MP_CHECK_VAL(playlist_mgr, NULL);
+ MP_CHECK_VAL(playlist_mgr->list, NULL);
+ int index = 0;
+ int count = 0;
+
+ count = mp_playlist_mgr_count(playlist_mgr);
+
+ if (playlist_mgr->repeat_state == MP_PLST_REPEAT_ONE && !force) {
+ index = playlist_mgr->current_index;
+ } else {
+ index = playlist_mgr->current_index + 1;
+ }
+
+ if (count <= index) {
+ if (playlist_mgr->repeat_state == MP_PLST_REPEAT_ALL || force) {
+ if (playlist_mgr->shuffle_state && refresh_shuffle) {
+ __mp_playlist_mgr_refresh_shuffle(playlist_mgr);
+ }
+ index = 0;
+ } else {
+ return NULL;
+ }
+ }
+
+ if (index >= count) {
+ DEBUG_TRACE("End of playlist");
+ index = 0;
+ }
+ return (mp_plst_item *) g_list_nth_data(playlist_mgr->list, index);
+}
+
+mp_plst_item *mp_playlist_mgr_get_prev(mp_plst_mgr * playlist_mgr)
+{
+ startfunc;
+ MP_CHECK_VAL(playlist_mgr, NULL);
+ MP_CHECK_VAL(playlist_mgr->list, NULL);
+ int index = 0;
+
+ index = playlist_mgr->current_index;
+ index--;
+ if (index < 0) {
+ DEBUG_TRACE("Begin of playlist. ");
+ index = mp_playlist_mgr_count(playlist_mgr) - 1;
+ }
+
+ return (mp_plst_item *) g_list_nth_data(playlist_mgr->list, index);
+}
+
+mp_plst_item *mp_playlist_mgr_get_nth(mp_plst_mgr * playlist_mgr,
+ int index)
+{
+ MP_CHECK_VAL(playlist_mgr, NULL);
+ MP_CHECK_VAL(playlist_mgr->list, NULL);
+ return (mp_plst_item *) g_list_nth_data(playlist_mgr->list, index);
+}
+
+mp_plst_item *mp_playlist_mgr_normal_list_get_nth(mp_plst_mgr *
+ playlist_mgr, int index)
+{
+ MP_CHECK_VAL(playlist_mgr, NULL);
+ MP_CHECK_VAL(playlist_mgr->normal_list, NULL);
+ return (mp_plst_item *) g_list_nth_data(playlist_mgr->normal_list,
+ index);
+}
+
+mp_plst_item *mp_playlist_mgr_get_item_by_uid(mp_plst_mgr * playlist_mgr,
+ const char *uid)
+{
+ MP_CHECK_VAL(playlist_mgr, NULL);
+ MP_CHECK_VAL(playlist_mgr->list, NULL);
+ MP_CHECK_VAL(uid, NULL);
+
+ GList *current = playlist_mgr->list;
+ while (current) {
+ mp_plst_item *item = current->data;
+ if (item) {
+ if (!g_strcmp0(uid, item->uid)) {
+ return item;
+ }
+ }
+ current = current->next;
+ }
+
+ return NULL;
+}
+
+mp_plst_item *mp_playlist_mgr_get_item_by_playlist_memeber_id(mp_plst_mgr *
+ playlist_mgr,
+ int
+ member_id)
+{
+ MP_CHECK_VAL(playlist_mgr, NULL);
+ MP_CHECK_VAL(playlist_mgr->list, NULL);
+ MP_CHECK_VAL(member_id, NULL);
+
+ GList *current = playlist_mgr->list;
+ while (current) {
+ mp_plst_item *item = current->data;
+ if (item) {
+ if (item->playlist_memeber_id == member_id) {
+ return item;
+ }
+ }
+ current = current->next;
+ }
+
+ return NULL;
+}
+
+void mp_playlist_mgr_set_shuffle_first_item(mp_plst_mgr * playlist_mgr,
+ mp_plst_item * first)
+{
+ MP_CHECK(playlist_mgr);
+ MP_CHECK(playlist_mgr->shuffle_list);
+ MP_CHECK(first);
+
+ GList *node = g_list_find(playlist_mgr->shuffle_list, first);
+ MP_CHECK(node);
+ void *data = node->data;
+
+ playlist_mgr->shuffle_list =
+ g_list_delete_link(playlist_mgr->shuffle_list, node);
+ playlist_mgr->shuffle_list =
+ g_list_prepend(playlist_mgr->shuffle_list, data);
+
+ __mp_playlist_mgr_select_list(playlist_mgr);
+}
+
+void mp_playlist_mgr_set_current(mp_plst_mgr * playlist_mgr,
+ mp_plst_item * cur)
+{
+ MP_CHECK(playlist_mgr);
+ MP_CHECK(playlist_mgr->list);
+
+ int index;
+
+ if (!cur) {
+ cur = mp_playlist_mgr_get_nth(playlist_mgr, 0);
+ }
+ MP_CHECK(cur);
+ /*set current */
+ index = g_list_index(playlist_mgr->list, cur);
+ if (index < 0) {
+ WARN_TRACE("No such item!! cur: %x", cur);
+ goto finish;
+ }
+ playlist_mgr->current_index = index;
+
+ DEBUG_TRACE("cur: %s, index: %d", cur->uri,
+ playlist_mgr->current_index);
+
+ finish:
+ if (playlist_mgr->item_change_cb) {
+ playlist_mgr->item_change_cb(cur,
+ playlist_mgr->item_change_userdata);
+ }
+
+ return;
+}
+
+void mp_playlist_mgr_set_shuffle(mp_plst_mgr * playlist_mgr,
+ Eina_Bool shuffle)
+{
+ DEBUG_TRACE("Shuffle: %d", shuffle);
+ MP_CHECK(playlist_mgr);
+
+ playlist_mgr->shuffle_state = shuffle;
+
+ if (playlist_mgr->list) {
+ mp_plst_item *cur;
+ cur = mp_playlist_mgr_get_current(playlist_mgr);
+
+ __mp_playlist_mgr_select_list(playlist_mgr);
+
+ int index = g_list_index(playlist_mgr->list, cur);
+ playlist_mgr->current_index = index;
+ }
+ endfunc;
+}
+
+bool mp_playlist_mgr_get_shuffle(mp_plst_mgr * playlist_mgr)
+{
+ MP_CHECK_FALSE(playlist_mgr);
+ return playlist_mgr->shuffle_state;
+}
+
+Eina_Bool mp_playlist_mgr_is_shuffle(mp_plst_mgr * playlist_mgr)
+{
+ MP_CHECK_VAL(playlist_mgr, 0);
+ return playlist_mgr->shuffle_state;
+}
+
+void mp_playlist_mgr_set_repeat(mp_plst_mgr * playlist_mgr,
+ mp_plst_repeat_state repeat)
+{
+ DEBUG_TRACE("repeat: %d", repeat);
+ MP_CHECK(playlist_mgr);
+ playlist_mgr->repeat_state = repeat;
+}
+
+int mp_playlist_mgr_get_repeat(mp_plst_mgr * playlist_mgr)
+{
+ startfunc;
+ MP_CHECK_VAL(playlist_mgr, 0);
+
+ endfunc;
+ return playlist_mgr->repeat_state;
+}
+
+int mp_playlist_mgr_set_item_change_callback(mp_plst_mgr * playlist_mgr,
+ mp_playlist_item_change_callback
+ cb, void *userdata)
+{
+ MP_CHECK_VAL(playlist_mgr, 0);
+
+ playlist_mgr->item_change_userdata = userdata;
+ playlist_mgr->item_change_cb = cb;
+
+ return 0;
+}
+
+void mp_playlist_mgr_set_list_type(mp_plst_mgr * playlist_mgr,
+ mp_plst_type type)
+{
+ MP_CHECK(playlist_mgr);
+
+ playlist_mgr->list_type = type;
+}
+
+mp_plst_type mp_playlist_mgr_get_list_type(mp_plst_mgr * playlist_mgr)
+{
+ MP_CHECK_VAL(playlist_mgr, MP_PLST_TYPE_NONE);
+ return playlist_mgr->list_type;
+}
+
+void mp_playlist_mgr_item_reorder(mp_plst_mgr * playlist_mgr,
+ mp_plst_item * item, int new_index)
+{
+ MP_CHECK(playlist_mgr);
+ MP_CHECK(item);
+ MP_CHECK(playlist_mgr->list);
+ MP_CHECK(new_index >= 0);
+
+ mp_plst_item *current = mp_playlist_mgr_get_current(playlist_mgr);
+
+ GList *target = g_list_find(playlist_mgr->list, item);
+ MP_CHECK(target);
+ playlist_mgr->list = g_list_delete_link(playlist_mgr->list, target);
+ playlist_mgr->list =
+ g_list_insert(playlist_mgr->list, item, new_index);
+
+ if (current) {
+ playlist_mgr->current_index =
+ g_list_index(playlist_mgr->list, current);
+ }
+
+ if (playlist_mgr->shuffle_state) {
+ playlist_mgr->shuffle_list = playlist_mgr->list;
+ } else {
+ playlist_mgr->normal_list = playlist_mgr->list;
+ }
+}
+
+void mp_playlist_mgr_check_existance_and_refresh(mp_plst_mgr *
+ playlist_mgr,
+ bool * current_removed)
+{
+ MP_CHECK(playlist_mgr);
+ MP_CHECK(playlist_mgr->normal_list);
+
+ bool mmc_removed = mp_util_is_mmc_removed();
+
+ mp_plst_item *cur = mp_playlist_mgr_get_current(playlist_mgr);
+
+ GList *full_list = g_list_copy(playlist_mgr->normal_list);
+ GList *list = full_list;
+
+ while (list) {
+ mp_plst_item *item = list->data;
+ if (item) {
+ if (item->uri && item->track_type == MP_TRACK_URI) {
+ SECURE_DEBUG("uri = %s", item->uri);
+ char *temp_uri = g_strdup(item->uri);
+ mp_to_lower(temp_uri);
+ if (!mp_file_exists(item->uri)
+ || (temp_uri && mmc_removed
+ && strstr(temp_uri, "sdcard") == item->uri)) {
+ SECURE_DEBUG("removed uri = %s", item->uri);
+ mp_playlist_mgr_item_remove_item(playlist_mgr, item);
+ if (current_removed && cur == item) {
+ WARN_TRACE("current track does NOT exist");
+ *current_removed = true;
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_DB_UPDATED);
+ }
+ }
+ IF_G_FREE(temp_uri);
+ }
+ }
+ list = list->next;
+ }
+
+ if (full_list) {
+ g_list_free(full_list);
+ full_list = NULL;
+ }
+
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_PLAYLIST_MGR_ITEM_CHANGED);
+}
+
+void mp_playlist_mgr_set_playlist_id(mp_plst_mgr * playlist_mgr,
+ int playlist_id)
+{
+ MP_CHECK(playlist_mgr);
+ playlist_mgr->playlist_id = playlist_id;
+}
+
+int mp_playlist_mgr_get_playlist_id(mp_plst_mgr * playlist_mgr)
+{
+ MP_CHECK_VAL(playlist_mgr, 0);
+ return playlist_mgr->playlist_id;
+}
+
+static void _mp_playlist_mgr_reset_lazy_appender(mp_plst_mgr *
+ playlist_mgr)
+{
+ MP_CHECK(playlist_mgr);
+ MP_CHECK(playlist_mgr->lazy_appender);
+
+ mp_plst_lazy_appender_s *appender = playlist_mgr->lazy_appender;
+
+ if (appender->fp) {
+ fclose(appender->fp);
+ appender->fp = NULL;
+ }
+
+ mp_ecore_timer_del(appender->timer);
+ mp_file_remove(MP_PLST_LAZY_APPENDER_TEMP_FILE);
+
+ free(playlist_mgr->lazy_appender);
+ playlist_mgr->lazy_appender = NULL;
+}
+
+static Eina_Bool _mp_playlist_mgr_lazy_appender_timer_cb(void *data)
+{
+ mp_plst_mgr *playlist_mgr = data;
+ MP_CHECK_VAL(playlist_mgr, ECORE_CALLBACK_CANCEL);
+ MP_CHECK_VAL(playlist_mgr->lazy_appender, ECORE_CALLBACK_CANCEL);
+
+ mp_plst_lazy_appender_s *appender = playlist_mgr->lazy_appender;
+ if (!appender->fp) {
+ _mp_playlist_mgr_reset_lazy_appender(playlist_mgr);
+ return ECORE_CALLBACK_CANCEL;
+ }
+
+ int added = 0;
+ char line[MAX_NAM_LEN + 1];
+
+ START:
+ while (fgets(line, MAX_NAM_LEN, appender->fp)) {
+ /* artist */
+ if (!fgets(line, MAX_NAM_LEN, appender->fp)) {
+ break;
+ }
+
+ /* uri */
+ if (fgets(line, MAX_NAM_LEN, appender->fp)) {
+ line[MAX_NAM_LEN] = 0;
+ int length = strlen(line);
+ if (length > 1)
+ line[length - 1] = 0;
+ else
+ line[0] = 0;
+ } else {
+ break;
+ }
+
+ if (mp_check_file_exist(line)) {
+ mp_plst_item *item =
+ mp_playlist_mgr_item_append(playlist_mgr, line, NULL, NULL,
+ NULL, MP_TRACK_URI);
+ if (item) {
+ ++added;
+ }
+ }
+
+ if (appender->add_remained) {
+ appender->skip_count--;
+ if (appender->skip_count == 0) {
+ break;
+ }
+ }
+
+ if (added >= MP_PLST_LAZY_APPENDER_MAX_COUNT) {
+ WARN_TRACE("renew");
+ ecore_timer_interval_set(appender->timer, 0.1);
+ return ECORE_CALLBACK_RENEW;
+ }
+ }
+
+ if (appender->skip_count > 0) {
+ appender->add_remained = 1;
+ fseek(appender->fp, SEEK_SET, 0);
+ goto START;
+ }
+
+ WARN_TRACE("lazy appender done");
+ _mp_playlist_mgr_reset_lazy_appender(playlist_mgr);
+
+ return ECORE_CALLBACK_DONE;
+}
+
+mp_plst_item *mp_playlist_mgr_lazy_append_with_file(mp_plst_mgr *
+ playlist_mgr,
+ const char *list_file,
+ const char
+ *cur_file_path,
+ int start_index)
+{
+ startfunc;
+ MP_CHECK_NULL(playlist_mgr);
+ MP_CHECK_NULL(list_file);
+
+ DEBUG_TRACE("cur_file_path[%s] start_index[%d]", cur_file_path,
+ start_index);
+
+ mp_plst_item *cur_item = NULL;
+
+ if (!mp_check_file_exist(cur_file_path)) {
+ cur_file_path = NULL;
+ }
+
+ _mp_playlist_mgr_reset_lazy_appender(playlist_mgr);
+
+ mp_file_cp(list_file, MP_PLST_LAZY_APPENDER_TEMP_FILE);
+
+ FILE *fp = fopen(MP_PLST_LAZY_APPENDER_TEMP_FILE, "r");
+ if (fp) {
+ char line[MAX_NAM_LEN + 1];
+
+ int added = 0;
+ int index_of_first = -1;
+ int index = 0;
+ int skip_count = 0;
+ int add_remained = 0;
+
+ START:
+ while (fgets(line, MAX_NAM_LEN, fp)) { /*title */
+ /*artist */
+ if (!fgets(line, MAX_NAM_LEN, fp)) {
+ break;
+ }
+
+ /* uri */
+ if (fgets(line, MAX_NAM_LEN, fp)) {
+ line[MAX_NAM_LEN] = 0;
+ int length = strlen(line);
+ if (length > 1)
+ line[length - 1] = 0;
+ else
+ line[0] = 0;
+ } else {
+ break;
+ }
+
+ /* find first index */
+ if (index_of_first == -1 && /*first track not found */
+ (g_strcmp0(cur_file_path, line)) && start_index != index) {
+ skip_count++;
+ } else if (index_of_first < 0) {
+ DEBUG_TRACE("Find first track: %d", index);
+ index_of_first = index; /*set first index if first index not found */
+ }
+ index++;
+ if (index_of_first < 0) {
+ continue; /* continue to find first */
+ }
+
+ /* append item */
+ if (mp_check_file_exist(line)) {
+ mp_plst_item *item =
+ mp_playlist_mgr_item_append(playlist_mgr, line, NULL,
+ NULL, NULL, MP_TRACK_URI);
+ ++added;
+ if (!cur_item) {
+ cur_item = item;
+ }
+ }
+
+ /* append remaining mode */
+ if (add_remained) {
+ skip_count--;
+ if (skip_count == 0) {
+ break;
+ }
+ }
+
+ /* create lazy appender */
+ if (added >= MP_PLST_LAZY_APPENDER_MAX_COUNT) {
+ WARN_TRACE("lazy appender started");
+ playlist_mgr->lazy_appender =
+ calloc(1, sizeof(mp_plst_lazy_appender_s));
+ playlist_mgr->lazy_appender->index_of_first =
+ index_of_first;
+ playlist_mgr->lazy_appender->cur_index = index;
+ playlist_mgr->lazy_appender->skip_count = skip_count;
+ playlist_mgr->lazy_appender->fp = fp;
+ playlist_mgr->lazy_appender->add_remained = add_remained;
+ playlist_mgr->lazy_appender->timer =
+ ecore_timer_add(0.5,
+ _mp_playlist_mgr_lazy_appender_timer_cb,
+ playlist_mgr);
+ goto END;
+ }
+
+ }
+
+ /* append remained items */
+ if (skip_count > 0) {
+ index = 0; /* reset index; */
+ add_remained = 1; /* append remaining mode */
+ index_of_first = 0; /* set first index as 0 */
+ fseek(fp, SEEK_SET, 0);
+ goto START;
+ }
+
+ fclose(fp);
+ fp = NULL;
+ }
+
+ mp_file_remove(MP_PLST_LAZY_APPENDER_TEMP_FILE);
+
+ endfunc;
+ END:
+ mp_playlist_mgr_set_current(playlist_mgr, cur_item);
+ return cur_item;
+}
+
+mp_plst_item *mp_playlist_mgr_custom_item_new(const char *uri)
+{
+ MP_CHECK_NULL(uri);
+
+ mp_plst_item *item =
+ _mp_playlist_mgr_create_node(uri, NULL, NULL, NULL, MP_TRACK_URI);
+ MP_CHECK_NULL(item);
+ item->out_of_list = true;
+ return item;
+}
+
+void mp_playlist_mgr_custom_item_free(mp_plst_item * item)
+{
+ MP_CHECK(item);
+
+ if (!item->out_of_list) {
+ WARN_TRACE("This item is NOT custom item");
+ mp_assert(1);
+ return;
+ }
+
+ __mp_playlist_mgr_item_free(item);
+}
+
+int mp_playlist_mgr_get_index(mp_plst_mgr * playlist_mgr)
+{
+ MP_CHECK_VAL(playlist_mgr, 0);
+ return playlist_mgr->current_index;
+}
+
+int mp_playlist_mgr_get_normal_index(mp_plst_mgr * playlist_mgr)
+{
+ MP_CHECK_VAL(playlist_mgr, 0);
+ mp_plst_item *item = mp_playlist_mgr_get_current(playlist_mgr);
+ return g_list_index(playlist_mgr->normal_list, item);
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include <string.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <sound_manager.h>
+#include "mp-media-info.h"
+
+#include "music.h"
+
+#include "mp-setting-ctrl.h"
+#include "mp-player-debug.h"
+#include "mp-file-tag-info.h"
+#include "mp-player-mgr.h"
+#include "mp-widget.h"
+#include "mp-util.h"
+#include "mp-vconf-private-keys.h"
+#include "mp-player-view.h"
+#include "mp-minicontroller.h"
+#include <system_settings.h>
+#include <mp-file-util.h>
+
+enum _mp_menu_item {
+ MP_MENU_ALBUMS,
+ MP_MENU_ARTISTS,
+ MP_MENU_GENRES,
+ MP_MEMU_COMPOSER,
+ MP_MENU_YEARS,
+ MP_MENU_FOLDERS,
+ MP_MENU_NUMS,
+};
+
+typedef struct _mp_setting_t {
+#ifdef MP_FEATURE_AUTO_OFF
+ MpSettingAutoOff_Cb auto_off_cb;
+ void *auto_off_udata;
+#endif
+#ifdef MP_FEATURE_PLAY_SPEED
+ MpSettingPlaySpeed_Cb play_speed_cb;
+ void *play_speed_udata;
+#endif
+
+ int side_sync_status;
+
+} mp_setting_t;
+
+static mp_setting_t *g_setting = NULL;
+
+
+static Eina_Bool _mp_setting_init_idler_cb(void *data);
+
+static void
+_mp_setting_playlist_changed_cb(const char *key, void *user_data)
+{
+ startfunc;
+
+ mp_retm_if(key == NULL, "keymode is NULL");
+ mp_retm_if(user_data == NULL, "user_date is NULL");
+
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_SETTING_PLAYLIST_CHANGED);
+
+ return;
+}
+
+#ifdef MP_FEATURE_AUTO_OFF
+static void
+_mp_setting_auto_off_changed_cb(const char *key, void *user_data)
+{
+ mp_setting_t *sd = NULL;
+ mp_retm_if(user_data == NULL, "user_date is NULL");
+ sd = (mp_setting_t *) user_data;
+
+ int min = 0;
+ if (preference_get_int(KEY_MUSIC_AUTO_OFF_TIME_VAL, &min)) {
+ ERROR_TRACE("Fail to get %s", KEY_MUSIC_AUTO_OFF_TIME_VAL);
+ return;
+ }
+
+ mp_debug("auto off time changed [%d] miniute", min);
+ if (sd->auto_off_cb) {
+ sd->auto_off_cb(min, sd->auto_off_udata);
+ }
+
+ return;
+}
+#endif
+
+#ifdef MP_FEATURE_PLAY_SPEED
+static void
+_mp_setting_play_speed_changed_cb(const char *key, void *user_data)
+{
+ mp_setting_t *sd = NULL;
+ mp_retm_if(user_data == NULL, "user_date is NULL");
+ sd = (mp_setting_t *) user_data;
+
+ double speed = 0;
+ if (preference_get_double(PREFKEY_MUSIC_PLAY_SPEED, &speed)) {
+ ERROR_TRACE("Fail to get %s", PREFKEY_MUSIC_PLAY_SPEED);
+ return;
+ }
+
+ mp_debug("play speed changed [%f]", speed);
+ if (sd->play_speed_cb) {
+ sd->play_speed_cb(speed, sd->play_speed_udata);
+ }
+
+ return;
+}
+#endif
+
+static void _mp_setting_lyric_changed_cb(const char *key, void *user_data)
+{
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ bool show_lyrics = (bool) (ad->b_show_lyric);
+ if (preference_get_boolean(KEY_MUSIC_LYRICS, &show_lyrics)) {
+ ERROR_TRACE("Fail to get %s", KEY_MUSIC_LYRICS);
+ }
+ ad->b_show_lyric = (int) (ad->b_show_lyric);
+}
+
+static void
+_mp_setting_shuffle_changed_cb(const char *key, void *user_data)
+{
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ MP_CHECK(ad->playlist_mgr);
+ int val = 0;
+ mp_setting_get_shuffle_state(&val);
+ mp_playlist_mgr_set_shuffle(ad->playlist_mgr, val);
+
+ mp_player_view_update_state(GET_PLAYER_VIEW);
+}
+
+static void _mp_setting_repeat_changed_cb(const char *key, void *user_data)
+{
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ MP_CHECK(ad->playlist_mgr);
+ int val = 0;
+ mp_setting_get_repeat_state(&val);
+ mp_playlist_mgr_set_repeat(ad->playlist_mgr, val);
+
+ mp_player_view_update_state(GET_PLAYER_VIEW);
+}
+
+static int mp_setting_key_cb_init(void)
+{
+ int ret = 0;
+
+ mp_retvm_if(g_setting == NULL, -1,
+ "setting data is not initialized, init first!!!!!");
+
+ if (preference_set_changed_cb
+ (MP_PREFKEY_PLAYLIST_VAL_INT, _mp_setting_playlist_changed_cb,
+ g_setting) < 0) {
+ ERROR_TRACE
+ ("Fail to register MP_PREFKEY_PLAYLIST_VAL_INT key callback");
+ ret = -1;
+ }
+
+ if (preference_set_changed_cb
+ (MP_KEY_MUSIC_SHUFFLE, _mp_setting_shuffle_changed_cb,
+ g_setting) < 0) {
+ ERROR_TRACE("Fail to register MP_KEY_MUSIC_SHUFFLE key callback");
+ ret = -1;
+ }
+
+ if (preference_set_changed_cb
+ (MP_KEY_MUSIC_REPEAT, _mp_setting_repeat_changed_cb,
+ g_setting) < 0) {
+ ERROR_TRACE("Fail to register MP_KEY_MUSIC_REPEAT key callback");
+ ret = -1;
+ }
+#ifdef MP_FEATURE_AUTO_OFF
+ if (preference_set_changed_cb
+ (KEY_MUSIC_AUTO_OFF_TIME_VAL, _mp_setting_auto_off_changed_cb,
+ g_setting) < 0) {
+ ERROR_TRACE
+ ("Fail to register KEY_MUSIC_AUTO_OFF_TIME_VAL key callback");
+ ret = -1;
+ }
+#endif
+
+#ifdef MP_FEATURE_PLAY_SPEED
+ if (preference_set_changed_cb
+ (PREFKEY_MUSIC_PLAY_SPEED, _mp_setting_play_speed_changed_cb,
+ g_setting) < 0) {
+ ERROR_TRACE
+ ("Fail to register PREFKEY_MUSIC_PLAY_SPEED key callback");
+ ret = -1;
+ }
+#endif
+ if (preference_set_changed_cb
+ (KEY_MUSIC_LYRICS, _mp_setting_lyric_changed_cb, g_setting) < 0) {
+ ERROR_TRACE("Fail to register KEY_MUSIC_LYRICS key callback");
+ ret = -1;
+ }
+
+ return ret;
+}
+
+static void mp_setting_key_cb_deinit(void)
+{
+ preference_unset_changed_cb(MP_PREFKEY_PLAYLIST_VAL_INT);
+#ifdef MP_FEATURE_AUTO_OFF
+ preference_unset_changed_cb(KEY_MUSIC_AUTO_OFF_TIME_VAL);
+#endif
+
+#ifdef MP_FEATURE_PLAY_SPEED
+ int retcode = preference_unset_changed_cb(PREFKEY_MUSIC_PLAY_SPEED);
+ if (retcode != PREFERENCE_ERROR_NONE) {
+ ERROR_TRACE
+ ("Unable to unset key assigned for speed play in Music Player [%d]",
+ retcode);
+ }
+#endif
+ return;
+}
+
+static void _mp_setting_init_preference_key(void)
+{
+ startfunc;
+
+ bool exist;
+ preference_is_existing(KEY_MP_PERSONAL_PAGE, &exist);
+ if (!exist) {
+ WARN_TRACE("[%s] not exist", KEY_MP_PERSONAL_PAGE);
+ preference_set_boolean(KEY_MP_PERSONAL_PAGE, false);
+ }
+ preference_is_existing(KEY_MUSIC_SE_CHANGE, &exist);
+ if (!exist) {
+ WARN_TRACE("[%s] not exist", KEY_MUSIC_SE_CHANGE);
+ preference_set_boolean(KEY_MUSIC_SE_CHANGE, true);
+ }
+ preference_is_existing(KEY_MUSIC_SA_USER_CHANGE, &exist);
+ if (!exist) {
+ WARN_TRACE("[%s] not exist", KEY_MUSIC_SA_USER_CHANGE);
+ preference_set_boolean(KEY_MUSIC_SA_USER_CHANGE, false);
+ }
+ preference_is_existing(KEY_MUSIC_MENU_CHANGE, &exist);
+ if (!exist) {
+ WARN_TRACE("[%s] not exist", KEY_MUSIC_MENU_CHANGE);
+ preference_set_boolean(KEY_MUSIC_MENU_CHANGE, true);
+ }
+ preference_is_existing(KEY_MUSIC_EQUALISER_CUSTOM_1, &exist);
+ if (!exist) {
+ WARN_TRACE("[%s] not exist", KEY_MUSIC_EQUALISER_CUSTOM_1);
+ preference_set_double(KEY_MUSIC_EQUALISER_CUSTOM_1, 0.5);
+ }
+ preference_is_existing(KEY_MUSIC_EQUALISER_CUSTOM_2, &exist);
+ if (!exist) {
+ WARN_TRACE("[%s] not exist", KEY_MUSIC_EQUALISER_CUSTOM_2);
+ preference_set_double(KEY_MUSIC_EQUALISER_CUSTOM_2, 0.5);
+ }
+ preference_is_existing(KEY_MUSIC_EQUALISER_CUSTOM_3, &exist);
+ if (!exist) {
+ WARN_TRACE("[%s] not exist", KEY_MUSIC_EQUALISER_CUSTOM_3);
+ preference_set_double(KEY_MUSIC_EQUALISER_CUSTOM_3, 0.5);
+ }
+ preference_is_existing(KEY_MUSIC_EQUALISER_CUSTOM_4, &exist);
+ if (!exist) {
+ WARN_TRACE("[%s] not exist", KEY_MUSIC_EQUALISER_CUSTOM_4);
+ preference_set_double(KEY_MUSIC_EQUALISER_CUSTOM_4, 0.5);
+ }
+ preference_is_existing(KEY_MUSIC_EQUALISER_CUSTOM_5, &exist);
+ if (!exist) {
+ WARN_TRACE("[%s] not exist", KEY_MUSIC_EQUALISER_CUSTOM_5);
+ preference_set_double(KEY_MUSIC_EQUALISER_CUSTOM_5, 0.5);
+ }
+ preference_is_existing(KEY_MUSIC_EQUALISER_CUSTOM_6, &exist);
+ if (!exist) {
+ WARN_TRACE("[%s] not exist", KEY_MUSIC_EQUALISER_CUSTOM_6);
+ preference_set_double(KEY_MUSIC_EQUALISER_CUSTOM_6, 0.5);
+ }
+ preference_is_existing(KEY_MUSIC_EQUALISER_CUSTOM_7, &exist);
+ if (!exist) {
+ WARN_TRACE("[%s] not exist", KEY_MUSIC_EQUALISER_CUSTOM_7);
+ preference_set_double(KEY_MUSIC_EQUALISER_CUSTOM_7, 0.5);
+ }
+ preference_is_existing(KEY_MUSIC_EQUALISER_CUSTOM_8, &exist);
+ if (!exist) {
+ WARN_TRACE("[%s] not exist", KEY_MUSIC_EQUALISER_CUSTOM_8);
+ preference_set_double(KEY_MUSIC_EQUALISER_CUSTOM_8, 0.5);
+ }
+ preference_is_existing(KEY_MUSIC_USER_AUDIO_EFFECT_3D, &exist);
+ if (!exist) {
+ WARN_TRACE("[%s] not exist", KEY_MUSIC_USER_AUDIO_EFFECT_3D);
+ preference_set_double(KEY_MUSIC_USER_AUDIO_EFFECT_3D, 0.0);
+ }
+ preference_is_existing(KEY_MUSIC_USER_AUDIO_EFFECT_BASS, &exist);
+ if (!exist) {
+ WARN_TRACE("[%s] not exist", KEY_MUSIC_USER_AUDIO_EFFECT_BASS);
+ preference_set_double(KEY_MUSIC_USER_AUDIO_EFFECT_BASS, 0.0);
+ }
+ preference_is_existing(KEY_MUSIC_USER_AUDIO_EFFECT_ROOM, &exist);
+ if (!exist) {
+ WARN_TRACE("[%s] not exist", KEY_MUSIC_USER_AUDIO_EFFECT_ROOM);
+ preference_set_double(KEY_MUSIC_USER_AUDIO_EFFECT_ROOM, 0.0);
+ }
+ preference_is_existing(KEY_MUSIC_USER_AUDIO_EFFECT_REVERB, &exist);
+ if (!exist) {
+ WARN_TRACE("[%s] not exist", KEY_MUSIC_USER_AUDIO_EFFECT_REVERB);
+ preference_set_double(KEY_MUSIC_USER_AUDIO_EFFECT_REVERB, 0.0);
+ }
+ preference_is_existing(KEY_MUSIC_USER_AUDIO_EFFECT_CLARITY, &exist);
+ if (!exist) {
+ WARN_TRACE("[%s] not exist", KEY_MUSIC_USER_AUDIO_EFFECT_CLARITY);
+ preference_set_double(KEY_MUSIC_USER_AUDIO_EFFECT_CLARITY, 0.0);
+ }
+ preference_is_existing(KEY_MUSIC_AUTO_OFF_TIME_VAL, &exist);
+ if (!exist) {
+ WARN_TRACE("[%s] not exist", KEY_MUSIC_AUTO_OFF_TIME_VAL);
+ preference_set_int(KEY_MUSIC_AUTO_OFF_TIME_VAL, 0.0);
+ }
+ preference_is_existing(KEY_MUSIC_AUTO_OFF_TYPE_VAL, &exist);
+ if (!exist) {
+ WARN_TRACE("[%s] not exist", KEY_MUSIC_AUTO_OFF_TYPE_VAL);
+ preference_set_double(KEY_MUSIC_AUTO_OFF_TYPE_VAL, 0.0);
+ }
+ preference_is_existing(KEY_MUSIC_AUTO_OFF_CUSTOM_TIME, &exist);
+ if (!exist) {
+ WARN_TRACE("[%s] not exist", KEY_MUSIC_AUTO_OFF_CUSTOM_TIME);
+ preference_set_int(KEY_MUSIC_AUTO_OFF_CUSTOM_TIME, 0.0);
+ }
+ preference_is_existing(MP_KEY_MUSIC_SQUARE_AXIS_VAL, &exist);
+ if (!exist) {
+ WARN_TRACE("[%s] not exist", MP_KEY_MUSIC_SQUARE_AXIS_VAL);
+ preference_set_int(MP_KEY_MUSIC_SQUARE_AXIS_VAL, 0.0);
+ }
+ preference_is_existing(MP_PREFKEY_PLAYLIST_VAL_INT, &exist);
+ if (!exist) {
+ WARN_TRACE("[%s] not exist", MP_PREFKEY_PLAYLIST_VAL_INT);
+ preference_set_int(MP_PREFKEY_PLAYLIST_VAL_INT, 15);
+ }
+ preference_is_existing(MP_PREFKEY_PLAYLIST_VAL_STR, &exist);
+ if (!exist) {
+ WARN_TRACE("[%s] not exist", MP_PREFKEY_PLAYLIST_VAL_STR);
+ preference_set_string(MP_PREFKEY_PLAYLIST_VAL_STR, "1342");
+ }
+ preference_is_existing(MP_PREFKEY_TABS_VAL_STR, &exist);
+ if (!exist) {
+ WARN_TRACE("[%s] not exist", MP_PREFKEY_TABS_VAL_STR);
+ preference_set_string(MP_PREFKEY_TABS_VAL_STR, "1234567");
+ }
+ preference_is_existing(MP_PREFKEY_TABS_VAL_INT, &exist);
+ if (!exist) {
+ WARN_TRACE("[%s] not exist", MP_PREFKEY_TABS_VAL_INT);
+ preference_set_int(MP_PREFKEY_TABS_VAL_INT, 63);
+ }
+ preference_is_existing(PREFKEY_MUSIC_PLAY_SPEED, &exist);
+ if (!exist) {
+ WARN_TRACE("[%s] not exist", PREFKEY_MUSIC_PLAY_SPEED);
+ preference_set_double(PREFKEY_MUSIC_PLAY_SPEED, 1.0);
+ }
+ preference_is_existing(KEY_MUSIC_MOTION_ASKED, &exist);
+ if (!exist) {
+ WARN_TRACE("[%s] not exist", KEY_MUSIC_MOTION_ASKED);
+ preference_set_boolean(KEY_MUSIC_MOTION_ASKED, false);
+ }
+ preference_is_existing(KEY_MUSIC_SQUARE_ASKED, &exist);
+ if (!exist) {
+ WARN_TRACE("[%s] not exist", KEY_MUSIC_SQUARE_ASKED);
+ preference_set_boolean(KEY_MUSIC_SQUARE_ASKED, false);
+ }
+ preference_is_existing(KEY_MUSIC_SMART_VOLUME, &exist);
+ if (!exist) {
+ WARN_TRACE("[%s] not exist", KEY_MUSIC_SMART_VOLUME);
+ preference_set_boolean(KEY_MUSIC_SMART_VOLUME, false);
+ }
+ preference_is_existing(KEY_MUSIC_LYRICS, &exist);
+ if (!exist) {
+ WARN_TRACE("[%s] not exist", KEY_MUSIC_LYRICS);
+ preference_set_boolean(KEY_MUSIC_LYRICS, true);
+ }
+}
+
+
+static Eina_Bool _mp_setting_init_idler_cb(void *data)
+{
+ startfunc;
+ TIMER_TRACE();
+ struct appdata *ad = (struct appdata *) data;
+ MP_CHECK_FALSE(ad);
+
+ bool show_lyric = (bool) (ad->b_show_lyric);
+ if (preference_get_boolean(KEY_MUSIC_LYRICS, &show_lyric)) {
+ WARN_TRACE("Fail to get %s", KEY_MUSIC_LYRICS);
+ }
+ ad->b_show_lyric = (int) show_lyric;
+
+ _mp_setting_init_preference_key();
+ mp_setting_key_cb_init();
+
+ ad->setting_idler = NULL;
+
+ int shuffle;
+ mp_setting_get_shuffle_state(&shuffle);
+ mp_playlist_mgr_set_shuffle(ad->playlist_mgr, shuffle);
+
+ return EINA_FALSE;
+}
+
+int mp_setting_init(struct appdata *ad)
+{
+ int ret = 0;
+ MP_CHECK_VAL(!g_setting, -1);
+ g_setting = malloc(sizeof(mp_setting_t));
+ if (!g_setting) {
+ ERROR_TRACE("Fail to alloc memory");
+ return -1;
+ }
+ memset(g_setting, 0x00, sizeof(mp_setting_t));
+
+ _mp_setting_init_idler_cb(ad);
+
+ return ret;
+}
+
+
+int mp_setting_deinit(struct appdata *ad)
+{
+ mp_ecore_idler_del(ad->setting_idler);
+ mp_setting_key_cb_deinit();
+
+ if (g_setting) {
+ free(g_setting);
+ g_setting = NULL;
+ }
+
+ return 0;
+}
+
+void mp_setting_set_nowplaying_id(int val)
+{
+ startfunc;
+
+ char *path = app_get_data_path();
+ char now_playing_id[1024] = { 0 };
+
+ snprintf(now_playing_id, 1024, "%s%s", path, MP_NOW_PLAYING_ID_INI);
+ free(path);
+ FILE *fp = fopen(now_playing_id, "w"); /* make new file. */
+
+ if (fp == NULL) {
+ SECURE_ERROR("Failed to open ini files. : %s", now_playing_id);
+ return;
+ }
+
+ fprintf(fp, "#Nowplaying\n");
+ fprintf(fp, "%d\n", val);
+
+ fsync((int) fp);
+ fclose(fp);
+
+ return;
+}
+
+int mp_setting_get_nowplaying_id(void)
+{
+ startfunc;
+
+ FILE *fp = NULL;
+ char line[MAX_NAM_LEN + 1];
+ int pid = -1;
+ char *path = app_get_data_path();
+ char now_playing_id[1024] = { 0 };
+
+ snprintf(now_playing_id, 1024, "%s%s", path, MP_NOW_PLAYING_ID_INI);
+ free(path);
+ if ((fp = fopen(now_playing_id, "r")) == NULL) {
+ DEBUG_TRACE("unable to open %s", now_playing_id);
+ return -1;
+ }
+ if (fgets(line, MAX_NAM_LEN, fp)) { /* #Nowplaying */
+ /* skip */
+ }
+ if (fgets(line, MAX_NAM_LEN, fp)) { /* pid */
+ line[MAX_NAM_LEN] = 0;
+ int length = strlen(line);
+ if (length > 1)
+ line[length - 1] = 0;
+ else
+ line[0] = 0;
+ pid = atoi(line);
+ }
+ fclose(fp);
+
+ return pid;
+}
+
+void mp_setting_set_player_state(int val)
+{
+ startfunc;
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ DEBUG_TRACE("Freeze Indicator Icon : %d", ad->freeze_indicator_icon);
+ if (val == MP_PLAY_STATE_PLAYING) {
+ ad->freeze_indicator_icon = false;
+ }
+
+ if (ad->freeze_indicator_icon) {
+ WARN_TRACE("icon freezed.. skip state changes [%d]", val);
+ return;
+ }
+
+ char *path = app_get_data_path();
+ char play_state[1024] = { 0 };
+ snprintf(play_state, 1024, "%s%s", path, MP_PLAY_STATE);
+ free(path);
+ FILE *fp = fopen(play_state, "w"); /* make new file. */
+
+ if (fp == NULL) {
+ SECURE_ERROR("Failed to open ini files. : %s", play_state);
+ return;
+ }
+
+ char *state = "off";
+
+ if (val == MP_PLAY_STATE_NONE) {
+ state = "off";
+ } else if (val == MP_PLAY_STATE_PLAYING) {
+ state = "play";
+ } else if (val == MP_PLAY_STATE_PAUSED) {
+ state = "pause";
+ } else if (val == MP_PLAY_STATE_STOP) {
+ state = "stop";
+ }
+ fprintf(fp, "%s\n", state);
+
+ fsync((int) fp);
+ fclose(fp);
+
+ return;
+}
+
+int mp_setting_set_shuffle_state(int b_val)
+{
+ if (preference_set_boolean(MP_KEY_MUSIC_SHUFFLE, b_val)) {
+ WARN_TRACE("Fail to set MP_KEY_MUSIC_SHUFFLE");
+ return -1;
+ }
+
+ return 0;
+}
+
+int mp_setting_get_shuffle_state(int *b_val)
+{
+ if (preference_get_boolean(MP_KEY_MUSIC_SHUFFLE, (bool *) b_val)) {
+ WARN_TRACE("Fail to get MP_KEY_MUSIC_SHUFFLE");
+
+ if (preference_set_boolean(MP_KEY_MUSIC_SHUFFLE, FALSE)) {
+ ERROR_TRACE("Fail to set MP_KEY_MUSIC_SHUFFLE");
+ return -1;
+ }
+ *b_val = FALSE;
+ }
+ return 0;
+}
+
+int mp_setting_set_repeat_state(int val)
+{
+ if (preference_set_int(MP_KEY_MUSIC_REPEAT, val)) {
+ ERROR_TRACE("Fail to set MP_KEY_MUSIC_REPEAT");
+ return -1;
+ }
+
+ return 0;
+}
+
+int mp_setting_get_repeat_state(int *val)
+{
+ if (preference_get_int(MP_KEY_MUSIC_REPEAT, val)) {
+ WARN_TRACE("Fail to get MP_KEY_MUSIC_REPEAT");
+ if (preference_set_int(MP_KEY_MUSIC_REPEAT, MP_SETTING_REP_NON)) {
+ ERROR_TRACE("Fail to set MP_KEY_MUSIC_REPEAT");
+ return -1;
+ }
+ *val = MP_SETTING_REP_NON;
+ }
+
+ return 0;
+}
+
+int mp_setting_playlist_get_state(int *state)
+{
+ int res = preference_get_int(MP_PREFKEY_PLAYLIST_VAL_INT, state);
+ return res;
+}
+
+/* This fuction save current track data for homescreen. */
+void mp_setting_save_playing_info(void *data)
+{
+ struct appdata *ad = data;
+ FILE *fp = NULL;
+ mp_plst_item *item = NULL;
+
+ MP_CHECK(ad);
+ MP_CHECK(ad->playlist_mgr);
+
+ item = mp_playlist_mgr_get_current(ad->playlist_mgr);
+ MP_CHECK(item);
+ MP_CHECK(ad->current_track_info);
+
+ char *data_path = app_get_data_path();
+ char playing_ini[1024] = { 0 };
+#ifndef MP_SOUND_PLAYER
+ snprintf(playing_ini, 1024, "%s%s", data_path,
+ MP_PLAYING_INI_FILE_NAME_MUSIC);
+ free(data_path);
+ fp = fopen(playing_ini, "w"); /* make new file. */
+#else
+ snprintf(playing_ini, 1024, "%s%s", data_path,
+ MP_PLAYING_INI_FILE_NAME_SOUND);
+ free(data_path);
+ fp = fopen(playing_ini, "w"); /* make new file. */
+#endif
+
+ if (fp == NULL) {
+#ifndef MP_SOUND_PLAYER
+ ERROR_TRACE("Failed to open ini files. : %s", playing_ini);
+#else
+ ERROR_TRACE("Failed to open ini files. : %s", playing_ini);
+#endif
+ return;
+ }
+
+
+ char total_time[16] = { 0, };
+ char position[16] = { 0, };
+ char *playing = "false";
+
+ if (ad->music_length > 3600.) {
+ snprintf(total_time, sizeof(total_time), "%" MUSIC_TIME_FORMAT,
+ MUSIC_TIME_ARGS(ad->music_length + 0.5));
+ snprintf(position, sizeof(position), "%" MUSIC_TIME_FORMAT,
+ MUSIC_TIME_ARGS(ad->music_pos + 0.5));
+ } else {
+ snprintf(total_time, sizeof(total_time), "%" PLAY_TIME_FORMAT,
+ PLAY_TIME_ARGS(ad->music_length + 0.5));
+ snprintf(position, sizeof(position), "%" PLAY_TIME_FORMAT,
+ PLAY_TIME_ARGS(ad->music_pos + 0.5));
+ }
+
+ if (mp_player_mgr_get_state() == PLAYER_STATE_PLAYING) {
+ playing = "true";
+ }
+
+ fprintf(fp, "%s\n", ad->current_track_info->title);
+ fprintf(fp, "%s\n", ad->current_track_info->artist);
+ fprintf(fp, "%s\n", ad->current_track_info->thumbnail_path);
+ fprintf(fp, "%s\n", total_time);
+ fprintf(fp, "%s\n", position);
+ fprintf(fp, "%s\n", playing);
+ fprintf(fp, "\n");
+
+ fclose(fp);
+
+}
+
+void mp_setting_remove_now_playing_shared_status(void)
+{
+ startfunc;
+ char *path = app_get_data_path();
+ char playing_status[1024] = { 0 };
+ if (path == NULL) {
+ return;
+ }
+ snprintf(playing_status, 1024, "%s%s", path,
+ MP_SHARED_PLAYING_STATUS_INI);
+ free(path);
+
+ FILE *fp = fopen(playing_status, "w"); /* make new file. */
+
+ if (fp == NULL) {
+ ERROR_TRACE("Failed to open ini files. : %s", playing_status);
+ return;
+ }
+ fprintf(fp, " \n");
+
+ fclose(fp);
+
+ endfunc;
+}
+
+void mp_setting_remove_now_playing(void)
+{
+ startfunc;
+ FILE *fp = NULL;
+
+ char *data_path = app_get_data_path();
+ char nowplaying_ini[1024] = { 0 };
+ snprintf(nowplaying_ini, 1024, "%s%s", data_path,
+ MP_NOWPLAYING_INI_FILE_NAME);
+ free(data_path);
+ fp = fopen(nowplaying_ini, "w"); /* make new file. */
+
+ if (fp == NULL) {
+ SECURE_ERROR("Failed to open ini files. : %s", nowplaying_ini);
+ return;
+ }
+ fprintf(fp, " \n");
+
+ fclose(fp);
+
+ endfunc;
+}
+
+void mp_setting_get_now_playing_path_from_file(char **path)
+{
+ MP_CHECK(path);
+
+ char line[MAX_NAM_LEN + 1];
+ FILE *fp = NULL;
+
+ char *data_path = app_get_data_path();
+ char nowplaying_ini[1024] = { 0 };
+ snprintf(nowplaying_ini, 1024, "%s%s", data_path,
+ MP_NOWPLAYING_INI_FILE_NAME);
+ free(data_path);
+ if (access(nowplaying_ini, F_OK) != -1) {
+ fp = fopen(nowplaying_ini, "r");
+ if (!fp) {
+ SECURE_ERROR("unable to open %s...", nowplaying_ini);
+ return;
+ }
+ if (fgets(line, MAX_NAM_LEN, fp)) { /* audio id */
+ /* skip */
+ }
+ if (fgets(line, MAX_NAM_LEN, fp)) { /* uri */
+ line[MAX_NAM_LEN] = 0;
+ int length = strlen(line);
+ if (length > 1)
+ line[length - 1] = 0;
+ else
+ line[0] = 0;
+ *path = g_strdup(line);
+ }
+ fclose(fp);
+ }
+}
+
+#ifndef MP_SOUND_PLAYER
+void mp_setting_save_now_playing(void *data)
+{
+ startfunc;
+ struct appdata *ad = data;
+ FILE *fp = NULL;
+ mp_plst_item *item = NULL;
+
+ MP_CHECK(ad);
+ MP_CHECK(ad->playlist_mgr);
+
+ item = mp_playlist_mgr_get_current(ad->playlist_mgr);
+ MP_CHECK(item);
+ MP_CHECK(ad->current_track_info);
+
+ char *data_path = app_get_data_path();
+ char nowplaying_ini[1024] = { 0 };
+ snprintf(nowplaying_ini, 1024, "%s%s", data_path,
+ MP_NOWPLAYING_INI_FILE_NAME);
+ free(data_path);
+ fp = fopen(nowplaying_ini, "w"); /* make new file. */
+
+ if (fp == NULL) {
+ SECURE_ERROR("Failed to open ini files. : %s", nowplaying_ini);
+ return;
+ }
+
+ char total_time[16] = { 0, };
+ char music_length[16] = { 0, };
+ if (ad->music_length > 3600.) {
+ snprintf(total_time, sizeof(total_time), "%" MUSIC_TIME_FORMAT,
+ MUSIC_TIME_ARGS(ad->music_length));
+ } else {
+ snprintf(total_time, sizeof(total_time), "%" PLAY_TIME_FORMAT,
+ PLAY_TIME_ARGS(ad->music_length));
+ }
+ snprintf(music_length, sizeof(music_length), "%f", ad->music_length);
+
+ fprintf(fp, "%s\n", item->uid);
+ fprintf(fp, "%s\n", item->uri);
+ fprintf(fp, "%s\n", ad->current_track_info->title);
+ fprintf(fp, "%s\n", ad->current_track_info->artist);
+ fprintf(fp, "%s\n", ad->current_track_info->album);
+ fprintf(fp, "%s\n", ad->current_track_info->thumbnail_path);
+ fprintf(fp, "%s\n", total_time);
+ fprintf(fp, "%s\n", music_length);
+ fprintf(fp, "\n");
+
+ fclose(fp);
+
+ endfunc;
+}
+
+#define MP_SHORTCUT_COUNT 4
+
+void
+mp_setting_save_shortcut(char *shortcut_title, char *artist,
+ char *shortcut_description,
+ char *shortcut_image_path)
+{
+ startfunc;
+ FILE *fp = NULL;
+ int ret = 0;
+
+ char *path = app_get_data_path();
+ char shortcut_path_0[1024] = { 0 };
+ char shortcut_path_1[1024] = { 0 };
+ char shortcut_path_2[1024] = { 0 };
+ char shortcut_path_3[1024] = { 0 };
+ if (path == NULL) {
+ return;
+ }
+
+ snprintf(shortcut_path_0, 1024, "%s%s", path,
+ MP_SHORTCUT_INI_FILE_NAME_0);
+ snprintf(shortcut_path_1, 1024, "%s%s", path,
+ MP_SHORTCUT_INI_FILE_NAME_1);
+ snprintf(shortcut_path_2, 1024, "%s%s", path,
+ MP_SHORTCUT_INI_FILE_NAME_2);
+ snprintf(shortcut_path_3, 1024, "%s%s", path,
+ MP_SHORTCUT_INI_FILE_NAME_3);
+
+ free(path);
+ if (mp_file_exists(shortcut_path_2)) {
+ ret = rename(shortcut_path_2, shortcut_path_3);
+ if (ret != 0) {
+ ERROR_TRACE("Failed to rename file:error=%d", ret);
+ return;
+ }
+ }
+ if (mp_file_exists(shortcut_path_1)) {
+ ret = rename(shortcut_path_1, shortcut_path_2);
+ if (ret != 0) {
+ ERROR_TRACE("Failed to rename file:error=%d", ret);
+ return;
+ }
+ }
+ if (mp_file_exists(shortcut_path_0)) {
+ ret = rename(shortcut_path_0, shortcut_path_1);
+ if (ret != 0) {
+ ERROR_TRACE("Failed to rename file:error=%d", ret);
+ return;
+ }
+ }
+
+ fp = fopen(shortcut_path_0, "w"); /* make new file. */
+
+ if (fp == NULL) {
+ SECURE_ERROR("Failed to open ini files. : %s", shortcut_path_0);
+ return;
+ }
+
+ fprintf(fp, "[ShortCut]\n");
+ fprintf(fp, "title=%s\n", shortcut_title);
+ if (artist) {
+ fprintf(fp, "artist=%s\n", artist);
+ }
+ fprintf(fp, "desc=%s\n", shortcut_description);
+ fprintf(fp, "artwork=%s\n", shortcut_image_path);
+ fprintf(fp, "\n");
+
+ fclose(fp);
+
+ endfunc;
+}
+#endif
+
+int mp_setting_read_playing_status(char *uri, char *status)
+{
+ startfunc;
+ char str[1000] = { 0, };
+ int valid_uri = 0;
+ int valid_status = 0;
+ char *path = app_get_data_path();
+ if (!path) {
+ return -1;
+ }
+ DEBUG_TRACE("Data Path is: %s", path);
+ char playing_status[1024] = { 0 };
+ snprintf(playing_status, 1024, "%s%s", path,
+ MP_SHARED_PLAYING_STATUS_INI);
+ free(path);
+
+ FILE *fp = fopen(playing_status, "r"); /* read MP_SHARED_PLAYING_STATUS_INI file. */
+
+ if (fp == NULL) {
+ ERROR_TRACE("Failed to open ini files. : %s", playing_status);
+ return -1;
+ }
+ char *sptr = NULL;
+ while (fgets(str, sizeof(str), fp)) {
+ char *key = NULL;
+ char *value = NULL;
+ key = strtok_r(str, "=", &sptr);
+ value = strtok_r(NULL, "=", &sptr);
+ DEBUG_TRACE("key is: %s and value is: %s", key, value);
+ if (value != NULL) {
+ if (strlen(value) >= 1) {
+ value[strlen(value) - 1] = '\0';
+ }
+ } else {
+ DEBUG_TRACE("value is NULL");
+ continue;
+ }
+ if (key != NULL) {
+ if (!strcmp(key, " ")) {
+ fclose(fp);
+ return 0;
+ }
+
+ if (!strcmp(key, "status")) {
+ DEBUG_TRACE("status: %s", status);
+ if (!strcmp(value, status)) {
+ valid_status = 1;
+ }
+ }
+
+ if (!strcmp(key, "uri")) {
+ DEBUG_TRACE("uri: %s", uri);
+ if (!strcmp(value, uri)) {
+ valid_uri = 1;
+ }
+ }
+ }
+ }
+ if ((valid_uri == 1) && (valid_status == 1)) {
+ if (fp) {
+ fclose(fp);
+ }
+ return 1;
+ }
+ if (fp) {
+ fclose(fp);
+ }
+ return 0;
+}
+
+void mp_setting_write_playing_status(char *uri, char *status)
+{
+ startfunc;
+ int count = 0;
+ mp_media_info_list_count(MP_TRACK_ALL, NULL, NULL, NULL, 0, &count);
+ if (count <= 0) {
+ mp_setting_remove_now_playing_shared_status();
+ } else {
+ char *path = app_get_data_path();
+ char *shared_path = app_get_shared_resource_path();
+
+ DEBUG_TRACE("Data Path is: %s", path);
+ DEBUG_TRACE("Shared Resource Path is: %s", shared_path);
+
+ char playing_status[1024] = { 0 };
+ if (path == NULL) {
+ return;
+ }
+ snprintf(playing_status, 1024, "%s%s", path,
+ MP_SHARED_PLAYING_STATUS_INI);
+ free(path);
+
+ FILE *fp = fopen(playing_status, "w"); /* make new file. */
+
+ if (fp == NULL) {
+ ERROR_TRACE("Failed to open ini files. : %s", playing_status);
+ return;
+ }
+
+ fprintf(fp, "#Nowplaying\n");
+ fprintf(fp, "uri=%s\n", uri);
+ fprintf(fp, "status=%s\n", status);
+#ifndef MP_SOUND_PLAYER
+ struct appdata *ad = mp_util_get_appdata();
+ if (ad && ad->current_track_info) {
+ fprintf(fp, "title=%s\n", ad->current_track_info->title);
+ fprintf(fp, "artist=%s\n", ad->current_track_info->artist);
+ fprintf(fp, "album=%s\n", ad->current_track_info->album);
+ if (ad->current_track_info->thumbnail_path) {
+ fprintf(fp, "thumbnail=%s\n",
+ ad->current_track_info->thumbnail_path);
+ } else {
+ fprintf(fp,
+ "thumbnail=%sshared_images/default_albumart.png\n",
+ shared_path);
+ }
+ }
+#endif
+
+ fprintf(fp, "changePlayer=%s\n", "false");
+ fsync((int) fp);
+ fclose(fp);
+ }
+
+ endfunc;
+}
+
+#ifdef MP_FEATURE_AUTO_OFF
+int mp_setting_auto_off_set_callback(MpSettingAutoOff_Cb func, void *data)
+{
+ mp_retvm_if(g_setting == NULL, -1,
+ "setting data is not initialized, init first!!!!!");
+
+ g_setting->auto_off_cb = func;
+ g_setting->auto_off_udata = data;
+
+ return 0;
+}
+
+void mp_setting_reset_auto_off_time()
+{
+ int ret = preference_set_int(KEY_MUSIC_AUTO_OFF_TIME_VAL, 0);
+ if (ret) {
+ mp_error("preference_set_int().. err[%d]", ret);
+ }
+ ret = preference_set_int(KEY_MUSIC_AUTO_OFF_TYPE_VAL, 0);
+ if (ret) {
+ mp_error("preference_set_int().. err[%d]", ret);
+ }
+}
+
+int mp_setting_get_auto_off_time()
+{
+ int min = 0;
+
+ if (preference_get_int(KEY_MUSIC_AUTO_OFF_TIME_VAL, &min)) {
+ mp_error("preference_get_int()");
+ min = 0;
+ }
+
+ return min;
+}
+#endif
+
+#ifdef MP_FEATURE_PLAY_SPEED
+int mp_setting_set_play_speed_change_callback(MpSettingPlaySpeed_Cb func,
+ void *data)
+{
+ mp_retvm_if(g_setting == NULL, -1,
+ "setting data is not initialized, init first!!!!!");
+
+ g_setting->play_speed_cb = func;
+ g_setting->play_speed_udata = data;
+
+ return 0;
+}
+
+int mp_setting_reset_play_speed(void)
+{
+ int ret = preference_set_double(PREFKEY_MUSIC_PLAY_SPEED, 1.0);
+ if (ret) {
+ mp_error("preference_set_dbl().. err[%d]", ret);
+ }
+ return ret;
+}
+
+double mp_setting_get_play_speed(void)
+{
+ double speed = 1.0;
+ if (preference_get_double(PREFKEY_MUSIC_PLAY_SPEED, &speed)) {
+ mp_error("preference_get_int()");
+ }
+
+ if (speed > (double) 2.0) {
+ ERROR_TRACE("inavlid speed: %f", speed);
+ speed = 2.0;
+ } else if (speed < (double) 0.5) {
+ ERROR_TRACE("inavlid speed: %f", speed);
+ speed = 0.5;
+ }
+
+ return speed;
+}
+
+#endif
+
+void mp_setting_update_active_device()
+{
+}
+
+int mp_setting_get_side_sync_status(void)
+{
+ int ret = -1;
+ if (!g_setting) {
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_VAL(ad, -1);
+ ret = mp_setting_init(ad);
+ if (ret == -1) {
+ return ret;
+ }
+ }
+
+ return g_setting->side_sync_status;
+
+}
+
+#ifdef MP_FEATURE_PERSONAL_PAGE
+bool mp_setting_set_personal_dont_ask_again(bool bAsked)
+{
+ int err = 0;
+ err = preference_set_boolean(KEY_PERSONAL_NO_ASK_AGAIN, bAsked);
+ if (err != 0) {
+ ERROR_TRACE("SET KEY_PERSONAL_NO_ASK_AGAIN is fail [0x%x]", err);
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+bool mp_setting_get_personal_dont_ask_again(bool * bAsked)
+{
+ int err = 0;
+ bool val = FALSE;
+
+ err = preference_get_boolean(KEY_PERSONAL_NO_ASK_AGAIN, &val);
+ if (err != 0) {
+ ERROR_TRACE("GET KEY_PERSONAL_NO_ASK_AGAIN is fail [0x%x]", err);
+ return FALSE;
+ }
+
+ *bAsked = (val == FALSE) ? FALSE : TRUE;
+
+ return TRUE;
+}
+
+#endif
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include "mp-view-mgr.h"
+#include "music.h"
+#include "mp-widget.h"
+#include "mp-list-view.h"
+#include "mp-player-mgr.h"
+#include "mp-util.h"
+#include "mp-common.h"
+#include "mp-now-playing.h"
+#include "mp-minicontroller.h"
+#include "mp-lockscreenmini.h"
+#include <efl_extension.h>
+
+static MpViewMgr_t *g_view_mgr;
+#define MP_PRINT_VIEW_STACK
+/* #define MP_EVENT_BLOCKER */
+
+#ifdef MP_PRINT_VIEW_STACK
+static void _print_view_stack()
+{
+ Eina_List *list = elm_naviframe_items_get(g_view_mgr->navi);
+ MP_CHECK(list);
+
+ Eina_List *l = NULL;
+ int i = 0;
+ Elm_Object_Item *data = NULL;
+ EINA_LIST_FOREACH(list, l, data) {
+ MpView_t *view = elm_object_item_data_get(data);
+ if (!view) {
+ continue;
+ }
+ WARN_TRACE("view[0x%x], depth[%d], type[%d]", view, i,
+ view->view_type);
+ i++;
+ }
+
+ eina_list_free(list);
+ list = NULL;
+}
+#endif
+
+#ifdef MP_EVENT_BLOCKER
+
+static Evas_Object *g_rect;
+static Ecore_Timer *g_blocker_timer;
+
+static Eina_Bool _bloker_hide_timer(void *data)
+{
+ TIMER_TRACE();
+ mp_evas_object_del(g_rect);
+ g_blocker_timer = NULL;
+ return EINA_FALSE;
+}
+
+static void _mp_view_mgr_hide_event_blocker(void)
+{
+ mp_evas_object_del(g_rect);
+ mp_ecore_timer_del(g_blocker_timer);
+}
+
+static void _mp_view_mgr_show_event_blocker(void)
+{
+ int x, y, w, h;
+ struct appdata *ad = mp_util_get_appdata();
+
+ mp_ecore_timer_del(g_blocker_timer);
+
+ evas_object_geometry_get(ad->conformant, &x, &y, &w, &h);
+
+ if (!g_rect) {
+ g_rect =
+ evas_object_rectangle_add(evas_object_evas_get(ad->win_main));
+ }
+
+ evas_object_repeat_events_set(g_rect, 0);
+ evas_object_color_set(g_rect, 0, 0, 0, 0);
+ evas_object_resize(g_rect, w, h);
+ evas_object_move(g_rect, x, y);
+ evas_object_show(g_rect);
+
+ g_blocker_timer = ecore_timer_add(0.5, _bloker_hide_timer, NULL);
+}
+#endif
+void
+_mp_view_mg_transition_finish_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+#ifdef MP_EVENT_BLOCKER
+ _mp_view_mgr_hide_event_blocker();
+#endif
+ mp_view_mgr_post_event(data, MP_VIEW_TRANSITION_FINISHED);
+}
+
+static void
+_mp_view_mgr_win_resize_cb(void *data, Evas * e, Evas_Object * obj,
+ void *event_info)
+{
+ Evas_Object *navi = data;
+ Evas_Coord w, h, win_w, win_h;
+ evas_object_geometry_get(obj, NULL, NULL, &win_w, &win_h);
+ evas_object_geometry_get(navi, NULL, NULL, &w, &h);
+
+ DEBUG_TRACE("window size: [%d]x[%d]", win_w, win_h);
+ if (w != win_w) {
+ DEBUG_TRACE("Resize naviframe");
+ evas_object_resize(navi, win_w, h);
+ }
+
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_WIN_RESIZED);
+}
+
+static void
+_layout_del_cb(void *data, Evas * e, Evas_Object * obj, void *event_info)
+{
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ evas_object_event_callback_del(ad->win_main, EVAS_CALLBACK_RESIZE,
+ _mp_view_mgr_win_resize_cb);
+}
+
+MpViewMgr_t *mp_view_mgr_create(Evas_Object * parent)
+{
+ startfunc;
+ MP_CHECK_NULL(parent);
+ MpViewMgr_t *view_mgr = calloc(1, sizeof(MpViewMgr_t));
+ MP_CHECK_NULL(view_mgr);
+ g_view_mgr = view_mgr;
+
+ view_mgr->navi = mp_widget_navigation_new(parent);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_NULL(ad);
+ evas_object_event_callback_add(ad->win_main, EVAS_CALLBACK_RESIZE,
+ _mp_view_mgr_win_resize_cb,
+ view_mgr->navi);
+
+ eext_object_event_callback_add(view_mgr->navi, EEXT_CALLBACK_BACK,
+ eext_naviframe_back_cb, NULL);
+ eext_object_event_callback_add(view_mgr->navi, EEXT_CALLBACK_MORE,
+ eext_naviframe_more_cb, NULL);
+
+ evas_object_event_callback_add(view_mgr->navi, EVAS_CALLBACK_DEL,
+ _layout_del_cb, NULL);
+
+ evas_object_smart_callback_add(view_mgr->navi, "transition,finished",
+ _mp_view_mg_transition_finish_cb,
+ view_mgr);
+
+ return view_mgr;
+}
+
+int mp_view_mgr_destory(MpViewMgr_t * view_mgr)
+{
+ startfunc;
+ MP_CHECK_VAL(view_mgr, -1);
+ free(view_mgr);
+ g_view_mgr = NULL;
+ return 0;
+}
+
+EXPORT_API MpViewMgr_t *mp_view_mgr_get_view_manager()
+{
+ return g_view_mgr;
+}
+
+MpView_t *mp_view_mgr_get_top_view(MpViewMgr_t * view_mgr)
+{
+ MP_CHECK_NULL(view_mgr);
+ Elm_Object_Item *navi_it = elm_naviframe_top_item_get(view_mgr->navi);
+ MP_CHECK_NULL(navi_it);
+ return elm_object_item_data_get(navi_it);
+}
+
+EXPORT_API MpView_t *mp_view_mgr_get_view(MpViewMgr_t * view_mgr,
+ MpViewType_e type)
+{
+ MpView_t *view = NULL;
+ MP_CHECK_NULL(view_mgr);
+ Eina_List *list = elm_naviframe_items_get(view_mgr->navi);
+
+ Eina_List *l = NULL;
+ Elm_Object_Item *data = NULL;
+ EINA_LIST_FOREACH(list, l, data) {
+ view = elm_object_item_data_get(data);
+ if (!view) {
+ continue;
+ }
+ if (view->view_type == type) {
+ break;
+ }
+ view = NULL;
+ }
+ eina_list_free(list);
+
+ return view;
+}
+
+EXPORT_API MpView_t *mp_view_mgr_get_view_prev(MpViewMgr_t * view_mgr,
+ MpViewType_e type)
+{
+ MpView_t *view = NULL;
+ MP_CHECK_NULL(view_mgr);
+ Eina_List *list = elm_naviframe_items_get(view_mgr->navi);
+
+ Eina_List *l = NULL;
+ Elm_Object_Item *data = NULL;
+ MpView_t *prev_view = NULL;
+ EINA_LIST_FOREACH(list, l, data) {
+ view = elm_object_item_data_get(data);
+ if (!view) {
+ return NULL;
+ }
+ if (view->view_type == type) {
+ break;
+ }
+ prev_view = view;
+ view = NULL;
+ }
+ eina_list_free(list);
+
+ return prev_view;
+}
+
+EXPORT_API int mp_view_mgr_push_view_with_effect(MpViewMgr_t * view_mgr,
+ MpView_t * view,
+ const char *item_style,
+ bool disable_effect)
+{
+ startfunc;
+ MP_CHECK_VAL(view_mgr, -1);
+ MP_CHECK_VAL(view, -1);
+ Elm_Object_Item *navi_it = NULL;
+
+ Elm_Object_Item *last_item = NULL;
+ last_item = elm_naviframe_top_item_get(view_mgr->navi);
+
+#ifdef MP_EVENT_BLOCKER
+ if (list && eina_list_count(list)) {
+ _mp_view_mgr_show_event_blocker();
+ }
+#endif
+
+
+ elm_naviframe_prev_btn_auto_pushed_set(view_mgr->navi, EINA_FALSE);
+ /* if (item_style == NULL)
+ item_style = MP_NAVI_ITEM_STYLE_TOPLINE; */
+
+ bool request_transition_effect = false;
+ Elm_Object_Item *after = elm_naviframe_top_item_get(view_mgr->navi);
+ if (disable_effect && after) {
+ navi_it =
+ elm_naviframe_item_insert_after(view_mgr->navi, after, NULL,
+ NULL, NULL,
+ mp_view_get_base_obj(view),
+ item_style);
+ } else {
+ navi_it =
+ elm_naviframe_item_push(view_mgr->navi, NULL, NULL, NULL,
+ mp_view_get_base_obj(view),
+ item_style);
+ if (navi_it != elm_naviframe_bottom_item_get(view_mgr->navi)) {
+ request_transition_effect = true;
+ }
+ }
+
+ view->navi_it = navi_it;
+ elm_object_item_data_set(navi_it, view);
+
+ if (request_transition_effect) {
+ mp_view_mgr_post_event(view_mgr, MP_VIEW_TRANSITION_REQUESTED);
+ }
+
+ mp_view_view_resume(view);
+
+ if (!request_transition_effect && last_item) {
+ mp_view_view_pause(elm_object_item_data_get(last_item));
+ }
+
+ _print_view_stack();
+
+#ifndef MP_SOUND_PLAYER
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_VAL(ad, -1);
+ if (ad->current_track_info) {
+ mp_view_set_nowplaying(view);
+ mp_view_update_nowplaying(view, true);
+ }
+#endif
+ return 0;
+}
+
+EXPORT_API int mp_view_mgr_push_view(MpViewMgr_t * view_mgr,
+ MpView_t * view,
+ const char *item_style)
+{
+ return mp_view_mgr_push_view_with_effect(view_mgr, view, item_style,
+ false);
+}
+
+static Eina_Bool _create_main_view_cb(void *data)
+{
+ startfunc;
+ mp_common_create_initial_view(data, NULL, NULL);
+ return FALSE;
+}
+
+/*this function is called in backkey callback. it should not be called in other case.
+ use elm_naviframe_item_pop() instead.. */
+int mp_view_mgr_pop_view(MpViewMgr_t * view_mgr, bool pop_view)
+{
+ startfunc;
+ MP_CHECK_VAL(view_mgr, -1);
+ Eina_List *list = elm_naviframe_items_get(view_mgr->navi);
+
+#ifdef MP_EVENT_BLOCKER
+ if (eina_list_count(list) > 1) {
+ _mp_view_mgr_show_event_blocker();
+ }
+#endif
+
+ list = eina_list_last(list);
+ list = eina_list_prev(list);
+ if (!list) {
+ DEBUG_TRACE("There is no previous view..");
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_VAL(ad, -1);
+ elm_win_lower(ad->win_main);
+ ecore_idler_add(_create_main_view_cb, ad);
+ goto END;
+ }
+
+ mp_view_view_resume(elm_object_item_data_get(list->data));
+ END:
+ eina_list_free(list);
+ return 0;
+}
+
+int mp_view_mgr_pop_a_view(MpViewMgr_t * view_mgr, MpView_t * view)
+{
+ startfunc;
+ MP_CHECK_VAL(view_mgr, -1);
+ MP_CHECK_VAL(view, -1);
+
+ if (mp_view_mgr_get_top_view(view_mgr) == view) {
+ elm_naviframe_item_pop(view_mgr->navi);
+ } else {
+ elm_object_item_del(view->navi_it);
+ }
+
+ return 0;
+}
+
+int mp_view_mgr_pop_to_view(MpViewMgr_t * view_mgr, MpViewType_e type)
+{
+ MpView_t *view = NULL;
+ MP_CHECK_VAL(view_mgr, -1);
+
+ MpView_t *pop_to = mp_view_mgr_get_view(view_mgr, type);
+ MP_CHECK_VAL(pop_to, -1);
+
+ if (pop_to == mp_view_mgr_get_top_view(view_mgr)) {
+ return 0;
+ }
+#ifdef MP_EVENT_BLOCKER
+ _mp_view_mgr_show_event_blocker();
+#endif
+ Eina_List *list = elm_naviframe_items_get(view_mgr->navi);
+ Eina_List *l = NULL;
+ Elm_Object_Item *data = NULL;
+ EINA_LIST_FOREACH(list, l, data) {
+ view = elm_object_item_data_get(data);
+ if (view == pop_to) {
+ break;
+ }
+ }
+
+ if (l) {
+ mp_view_view_resume(elm_object_item_data_get(l->data));
+ }
+
+ eina_list_free(list);
+ MP_CHECK_VAL(view, -1);
+
+ elm_naviframe_item_pop_to(view->navi_it);
+
+ return 0;
+}
+
+int mp_view_mgr_delete_view(MpViewMgr_t * view_mgr, MpViewType_e type)
+{
+ MP_CHECK_VAL(view_mgr, -1);
+
+ MpView_t *view = mp_view_mgr_get_view(view_mgr, type);
+ MP_CHECK_VAL(view, -1);
+
+ bool need_to_resume = false;
+ MpView_t *top_view = mp_view_mgr_get_top_view(view_mgr);
+ if (top_view == view) {
+ need_to_resume = true;
+ }
+
+ elm_object_item_del(view->navi_it);
+ view = NULL;
+ top_view = NULL;
+
+ if (need_to_resume) {
+ top_view = mp_view_mgr_get_top_view(view_mgr);
+ mp_view_view_resume(top_view);
+ }
+
+ return 0;
+}
+
+int mp_view_mgr_count_view(MpViewMgr_t * view_mgr)
+{
+ MP_CHECK_VAL(view_mgr, 0);
+ Eina_List *list = elm_naviframe_items_get(view_mgr->navi);
+ int count = eina_list_count(list);
+ eina_list_free(list);
+ return count;
+}
+
+static void _view_foreach_cb(void *data, void *user_data)
+{
+ MpView_t *view = data;
+ MP_CHECK(view);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ MpViewEvent_e event = (int) user_data;
+
+ if (ad->is_lcd_off) {
+ switch (event) {
+ case MP_UPDATE_NOW_PLAYING:
+ case MP_START_PLAYBACK:
+ case MP_RESUME_PLAYBACK:
+ case MP_PAUSE_PLAYBACK:
+ case MP_STOP_PLAYBACK:
+ case MP_UPDATE_PLAYING_LIST:
+ case MP_UPDATE:
+ DEBUG_TRACE("Lcd off event exit:%d", event);
+ return;
+ default:
+ break;
+ }
+ }
+
+ switch (event) {
+ case MP_PLAYING_TRACK_CHANGED:
+ mp_view_update_nowplaying(view, true);
+ mp_view_on_event(view, event);
+ break;
+ case MP_UPDATE_NOW_PLAYING:
+ mp_view_update_nowplaying(view, true);
+ break;
+ case MP_UNSET_NOW_PLAYING:
+ if ((view->view_type == MP_VIEW_DETAIL) || (view->view_type == MP_VIEW_PLAYER)) { /*if detail view, it need to do view pop */
+ mp_view_on_event(view, event);
+ } else {
+ mp_view_unset_nowplaying(view);
+ }
+ break;
+ case MP_START_PLAYBACK:
+ mp_view_update_nowplaying(view, true);
+ mp_view_start_playback(view);
+ mp_view_on_event(view, event);
+ break;
+ case MP_RESUME_PLAYBACK:
+ mp_view_update_nowplaying(view, false);
+ mp_view_start_playback(view);
+ mp_view_on_event(view, event);
+ break;
+ case MP_PAUSE_PLAYBACK:
+ mp_view_update_nowplaying(view, false);
+ mp_view_pause_playback(view);
+ mp_view_on_event(view, event);
+ break;
+ case MP_STOP_PLAYBACK:
+ mp_view_update_nowplaying(view, true);
+ mp_view_stop_playback(view);
+ mp_view_on_event(view, event);
+ break;
+ case MP_DOUBLE_TAP:
+#ifndef MP_SOUND_PLAYER
+ mp_list_view_double_tap((MpListView_t *) view);
+#endif
+ break;
+ case MP_LCD_OFF:
+ mp_view_view_lcd_off(view);
+ break;
+ case MP_LCD_ON:
+ mp_view_view_lcd_on(view);
+ break;
+ case MP_UPDATE:
+ mp_view_update(view);
+ break;
+ case MP_DB_UPDATED:
+ if ((view->view_type == MP_VIEW_ADD_TRACK)
+ || (view->view_type == MP_VIEW_SET_AS)) {
+ mp_view_on_event(view, event);
+ } else {
+ mp_view_update(view);
+ }
+ break;
+ case MP_DELETE_DONE:
+ if (view->nowplaying_bar && ad && ad->playlist_mgr) {
+ if (mp_playlist_mgr_count(ad->playlist_mgr) == 0) {
+ mp_view_unset_nowplaying(view);
+ if (ad && ad->current_track_info) {
+ mp_util_free_track_info(ad->current_track_info);
+ ad->current_track_info = NULL;
+ }
+ if (ad->b_minicontroller_show) {
+ mp_minicontroller_hide(ad);
+ }
+#ifdef MP_FEATURE_LOCKSCREEN
+ if (ad->b_lockmini_show) {
+ mp_lockscreenmini_hide(ad);
+ }
+#endif
+ }
+ }
+ mp_view_on_event(view, event);
+ break;
+ case MP_POPUP_DELETE_DONE:{
+ /*check if to unset now-playing */
+ int count = 0;
+ mp_media_info_list_count(MP_TRACK_ALL, NULL, NULL, NULL, 0,
+ &count);
+
+ if (count == 0) {
+ mp_view_unset_nowplaying(view);
+ if (ad && ad->current_track_info) {
+ mp_util_free_track_info(ad->current_track_info);
+ ad->current_track_info = NULL;
+ }
+ if (ad->b_minicontroller_show) {
+ mp_minicontroller_hide(ad);
+ }
+#ifdef MP_FEATURE_LOCKSCREEN
+ if (ad->b_lockmini_show) {
+ mp_lockscreenmini_hide(ad);
+ }
+#endif
+ }
+ mp_view_on_event(view, event);
+ break;
+ }
+#ifndef MP_SOUND_PLAYER
+ case MP_WIN_RESIZED:{
+ if (view->nowplaying_bar) {
+ mp_now_playing_set_layout(view->nowplaying_bar);
+ }
+ mp_view_on_event(view, event);
+ break;
+ }
+#endif
+ default:
+ mp_view_on_event(view, event);
+ break;
+ }
+
+}
+
+void mp_view_mgr_post_event(MpViewMgr_t * view_mgr, MpViewEvent_e event)
+{
+ MP_CHECK(view_mgr);
+
+ Eina_List *list = elm_naviframe_items_get(view_mgr->navi);
+ Eina_List *l = NULL;
+ Elm_Object_Item *data = NULL;
+ MP_CHECK(list);
+
+ l = eina_list_last(list);
+
+ if (event == MP_SIP_STATE_CHANGED) {
+ /* top view only */
+ _view_foreach_cb(elm_object_item_data_get(l->data),
+ (void *) event);
+ } else if (event == MP_VIEW_TRANSITION_REQUESTED) {
+ /* top view only */
+ MpView_t *view = elm_object_item_data_get(l->data);
+ if (view) {
+ view->push_transition = true;
+ _view_foreach_cb(view, (void *) event);
+ }
+ } else if (event == MP_VIEW_TRANSITION_FINISHED) {
+ /* top view only */
+ MpView_t *view = elm_object_item_data_get(l->data);
+ bool pushed = false;
+ if (view) {
+ pushed = view->push_transition;
+ view->push_transition = false;
+ _view_foreach_cb(view, (void *) event);
+ }
+
+ l = l->prev;
+ if (pushed && l) {
+ MpView_t *second_view = elm_object_item_data_get(l->data);
+ mp_view_view_pause(second_view);
+ }
+ } else {
+ EINA_LIST_FOREACH(list, l, data) {
+ if (data) {
+ _view_foreach_cb(elm_object_item_data_get(data),
+ (void *) event);
+ }
+ }
+ }
+
+ eina_list_free(list);
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include <Ecore.h>
+#include <Ecore_Evas.h>
+#include <sound_manager.h>
+#include <efl_extension.h>
+#include "mp-define.h"
+#include "mp-volume.h"
+
+typedef struct {
+ void *xwin;
+ Elm_Win *win;
+ bool condition[MP_VOLUME_KEY_GRAB_COND_MAX];
+ bool grabbed;
+
+ /* key event callback */
+ Mp_Volume_Key_Event_Cb key_event_cb;
+ void *key_event_user_data;
+
+ /* volume change callback */
+ Mp_Volume_Change_Cb volume_change_cb;
+ void *user_data;
+
+ Ecore_Timer *pressed_timer;
+} MpVolumeKeyMgr_t;
+
+static MpVolumeKeyMgr_t g_volume_key_mgr;
+
+#define MP_VOLUME_KEY_LONG_PRESS_TRIGGER_TIME (0.2) /* sec */
+#define MP_VOLUME_KEY_LONG_PRESS_INTEVAL_TIME (0.07)
+
+void _mp_volume_changed_cb(sound_type_e type, unsigned int volume,
+ void *user_data);
+
+void mp_volume_init(void *win)
+{
+ startfunc;
+ g_volume_key_mgr.xwin = win;
+ g_volume_key_mgr.win = win;
+
+ endfunc;
+}
+
+void mp_volume_finalize(void)
+{
+ startfunc;
+ if (!g_volume_key_mgr.xwin) {
+ return;
+ }
+
+ endfunc;
+}
+
+static void _mp_volume_key_grab_check_condition()
+{
+ bool start = true;
+ int condition = 0;
+ while (condition < MP_VOLUME_KEY_GRAB_COND_MAX) {
+ if (!g_volume_key_mgr.condition[condition]) {
+ /* do NOT start */
+ start = false;
+ break;
+ }
+ condition++;
+ }
+
+ /* start key grab */
+ if (start) {
+ mp_volume_key_grab_start();
+ } else {
+ mp_volume_key_grab_end();
+ }
+}
+
+void
+mp_volume_key_grab_condition_set(mp_volume_key_grab_condition_e condition,
+ bool enabled)
+{
+ MP_CHECK(condition < MP_VOLUME_KEY_GRAB_COND_MAX);
+
+ /* set condition */
+ g_volume_key_mgr.condition[condition] = enabled;
+ WARN_TRACE("VOL key grab condition(%d) changed => [%d]", condition,
+ enabled);
+
+ _mp_volume_key_grab_check_condition();
+}
+
+bool mp_volume_key_grab_start()
+{
+ MP_CHECK_FALSE(g_volume_key_mgr.xwin);
+
+ Eina_Bool error = EINA_FALSE;
+
+ error =
+ eext_win_keygrab_set(g_volume_key_mgr.win, "XF86AudioRaiseVolume");
+ if (error != EINA_TRUE) {
+ mp_error("(KEY_VOLUMEUP)... [%d]", error);
+ return false;
+ }
+
+ error =
+ eext_win_keygrab_set(g_volume_key_mgr.win, "XF86AudioLowerVolume");
+ if (error != EINA_TRUE) {
+ mp_error("(KEY_VOLUMEDOWN)... [%d]", error);
+ eext_win_keygrab_unset(g_volume_key_mgr.win,
+ "XF86AudioRaiseVolume");
+ return false;
+ }
+
+ error = eext_win_keygrab_set(g_volume_key_mgr.win, "XF86AudioMute");
+ if (error != EINA_TRUE) {
+ mp_error("(KEY_MUTE)... [0x%d]", error);
+ eext_win_keygrab_unset(g_volume_key_mgr.win,
+ "XF86AudioRaiseVolume");
+ eext_win_keygrab_unset(g_volume_key_mgr.win,
+ "XF86AudioLowerVolume");
+ return false;
+ }
+
+ WARN_TRACE("START_volume_key_grab");
+ g_volume_key_mgr.grabbed = true;
+ return true;
+}
+
+void mp_volume_key_grab_end()
+{
+ eext_win_keygrab_unset(g_volume_key_mgr.win, "XF86AudioRaiseVolume");
+ eext_win_keygrab_unset(g_volume_key_mgr.win, "XF86AudioLowerVolume");
+ eext_win_keygrab_unset(g_volume_key_mgr.win, "XF86AudioMute");
+
+ if (g_volume_key_mgr.pressed_timer && g_volume_key_mgr.key_event_cb) {
+ g_volume_key_mgr.key_event_cb(g_volume_key_mgr.key_event_user_data,
+ MP_VOLUME_KEY_DOWN, true);
+ }
+ mp_ecore_timer_del(g_volume_key_mgr.pressed_timer);
+
+ WARN_TRACE("STOP_volume_key_grab");
+ g_volume_key_mgr.grabbed = false;
+}
+
+bool mp_volume_key_is_grabed()
+{
+ return g_volume_key_mgr.grabbed;
+}
+
+static Eina_Bool _mp_volume_key_pressed_timer(void *data)
+{
+ TIMER_TRACE();
+ mp_volume_key_e type = (int) data;
+
+ if (g_volume_key_mgr.key_event_cb) {
+ g_volume_key_mgr.key_event_cb(g_volume_key_mgr.key_event_user_data,
+ type, false);
+ }
+
+ MP_CHECK_VAL(g_volume_key_mgr.pressed_timer, ECORE_CALLBACK_CANCEL);
+ ecore_timer_interval_set(g_volume_key_mgr.pressed_timer,
+ MP_VOLUME_KEY_LONG_PRESS_INTEVAL_TIME);
+
+ return ECORE_CALLBACK_RENEW;
+}
+
+void _mp_volume_handle_change(unsigned int volume)
+{
+ if (g_volume_key_mgr.volume_change_cb) {
+ g_volume_key_mgr.volume_change_cb(volume,
+ g_volume_key_mgr.user_data);
+ }
+}
+
+
+void mp_volume_key_event_send(mp_volume_key_e type, bool released)
+{
+ WARN_TRACE("volume key[%d], released[%d]", type, released);
+
+ if (!g_volume_key_mgr.grabbed) {
+ WARN_TRACE("already ungrabbed.. ignore this event");
+ return;
+ }
+
+ if (!released && g_volume_key_mgr.pressed_timer) {
+ /* long press timer is working */
+ return;
+ }
+
+ mp_ecore_timer_del(g_volume_key_mgr.pressed_timer);
+
+ if (g_volume_key_mgr.key_event_cb) {
+ /* send callback */
+ g_volume_key_mgr.key_event_cb(g_volume_key_mgr.key_event_user_data,
+ type, released);
+ }
+
+ if (!released) {
+ g_volume_key_mgr.pressed_timer =
+ ecore_timer_add(MP_VOLUME_KEY_LONG_PRESS_TRIGGER_TIME,
+ _mp_volume_key_pressed_timer, (void *) type);
+ }
+}
+
+void
+mp_volume_key_event_callback_add(Mp_Volume_Key_Event_Cb event_cb,
+ void *user_data)
+{
+ g_volume_key_mgr.key_event_cb = event_cb;
+ g_volume_key_mgr.key_event_user_data = user_data;
+}
+
+void mp_volume_key_event_callback_del()
+{
+ g_volume_key_mgr.key_event_cb = NULL;
+ g_volume_key_mgr.key_event_user_data = NULL;
+ mp_ecore_timer_del(g_volume_key_mgr.pressed_timer);
+}
+
+void mp_volume_key_event_timer_del()
+{
+ mp_ecore_timer_del(g_volume_key_mgr.pressed_timer);
+ g_volume_key_mgr.pressed_timer = NULL;
+}
+
+void mp_volume_add_change_cb(Mp_Volume_Change_Cb cb, void *user_data)
+{
+ /* if (g_volume_key_mgr.volume_change_cb) return; */
+
+ if (cb) {
+ EVENT_TRACE("Add volume change callback");
+ } else {
+ EVENT_TRACE("Del volume change callback");
+ }
+ /* int res = SOUND_MANAGER_ERROR_NONE; */
+ g_volume_key_mgr.volume_change_cb = cb;
+ g_volume_key_mgr.user_data = user_data;
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MP_DEFINE_H_
+#define __MP_DEFINE_H_
+
+#include <Elementary.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdbool.h>
+#include <unistd.h>
+#include <glib.h>
+#include <Ecore_IMF.h>
+#include <Edje.h>
+#include <errno.h>
+#include <libintl.h>
+#include <libxml/tree.h>
+#include <libxml/parser.h>
+#include <libxml/xpath.h>
+#include <libxml/xpathInternals.h>
+#include <sys/times.h>
+#include <app.h>
+
+#ifndef EXPORT_API
+#define EXPORT_API __attribute__((__visibility__("default")))
+#endif
+
+#ifdef LOG_TAG
+#undef LOG_TAG
+#endif
+
+#ifdef MP_SOUND_PLAYER
+#define LOG_TAG "SOUND_PLAYER"
+#else
+#define LOG_TAG "MUSIC_PLAYER"
+#endif
+
+#ifndef bool
+#define bool Eina_Bool
+#endif
+
+#ifndef GET_SYS_STR
+#define GET_SYS_STR(str) (char *)mp_util_get_text(str)
+#endif
+
+#define DOMAIN_NAME "music-player"
+#define SYS_DOMAIN_NAME "sys_string"
+#define LOCALE_DIR "locale"
+#ifndef GET_STR
+#define GET_STR(str) (char *)mp_util_get_text(str)
+#endif
+
+#ifndef PACKAGE
+#define PACKAGE "music-player"
+#endif
+
+#define DATA_DIR DATA_PREFIX"/data"
+
+#define PKGNAME_FOR_SHORTCUT PKG_NAME
+
+#define EDJ_PATH EDJDIR
+#define EDJ_NAME "mp-library.edj"
+#define MP_EDJ_NAME "music.edj"
+#define MINICON_EDJ_NAME "mp-minicontroller.edj"
+#define LOCKSCREENMINI_EDJ_NAME "mp-lockscreenmini.edj"
+#define IMAGE_EDJ_NAME "mp-images.edj"
+#define GRP_MAIN "main"
+
+#define THEME_NAME "mp-custom-winset-style.edj"
+
+#define TITLE_H 90
+#define START_Y_POSITION 94
+
+#define MP_THUMB_DOWNLOAD_TEMP_DIR DATA_DIR"/.thumb"
+
+#ifdef MP_FEATURE_PERSONAL_PAGE
+#define MP_PERSONAL_PAGE_DIR "/opt/storage/PersonalStorage"
+#endif
+#define MP_MMC_DIR "/opt/storage/sdcard"
+#define MP_MUSIC_DIR "/opt/usr/media"
+
+#ifdef PATH_MAX
+# define MAX_NAM_LEN PATH_MAX
+#else
+# define MAX_NAM_LEN 4096
+#endif
+
+
+#ifndef FALSE
+#define FALSE 0
+#endif
+#ifndef TRUE
+#define TRUE 1
+#endif
+
+#define SIGNAL_MAIN_MUTE_SHOW "signal.main.mute.show"
+#define SIGNAL_MAIN_MUTE_HIDE "signal.main.mute.hide"
+
+#define CHECK(x) if (!x) ERROR_TRACE("RETURN NULL!!\n", x);
+#define SAFE_FREE(x) if (x) {free(x); x = NULL; }
+#define SAFE_STRDUP(destptr, sourceptr)\
+ do {\
+ if (destptr != NULL) {\
+ free(destptr);\
+ destptr = NULL;\
+ } \
+ if (sourceptr == NULL)\
+ destptr = NULL; \
+ else \
+ destptr = strdup(sourceptr); \
+ } while (0);
+
+#define MAX_STR_LEN MAX_NAM_LEN
+#define MAX_URL_LEN MAX_NAM_LEN
+#define DEF_STR_LEN 512
+
+#define PLAY_VIEW_EDJ_NAME "music.edj"
+
+//2 EVAS_OBJECT_TYPE define
+#define MP_FAST_SCROLLER_TYPE "mp_data_fast_scroller_type"
+
+/* options */
+#define SIGNAL_NOW_PLAYING_CLICKED "now_playing_clicked"
+#define SIGNAL_VOLUME "volume"
+#define SIGNAL_SHUFFLE_ON "shuffle_on"
+#define SIGNAL_SHUFFLE_OFF "shuffle_off"
+#define SIGNAL_REP_ALL "rep_all"
+#define SIGNAL_FAVORITE "options_favorite"
+//add favourite begin
+#define SIGNAL_FAVOURITE_ON "favourite_on"
+#define SIGNAL_FAVOURITE_OFF "favourite_off"
+//add favourite end
+#define SIGNAL_REP_OFF "rep_A"
+#define SIGNAL_REP_1 "rep_1"
+
+#define SIGNAL_LIKE_ON "like_on"
+#define SIGNAL_LIKE_OFF "like_off"
+#define SIGNAL_BLOCK_ON "block_on"
+#define SIGNAL_BLOCK_OFF "block_off"
+
+#define SIGNAL_INFO "info"
+#define SIGNAL_PAUSE "control_pause"
+#define SIGNAL_PLAY "control_play"
+#define SIGNAL_PREVIOUS "control_previous_clicked"
+#define SIGNAL_NP_PAUSE "control_pause_clicked"
+#define SIGNAL_NP_PLAY "control_play_clicked"
+#define SIGNAL_NEXT "control_next_clicked"
+#define SIGNAL_MOUSE_DOWN "mouse,down,1"
+#define SIGNAL_MOUSE_UP "mouse,up,1"
+#define SIGNAL_MOUSE_CLICK "mouse,clicked,1"
+#define SIGNAL_CONTROL_VOLUME "control_volume"
+#define SIGNAL_CONTROL_VOLUME_MUTE "control_volume_mute"
+#define SIGNAL_CONTROL_QUEUE "control_playlist_queue"
+
+
+// Defining Music Player Features
+#define MP_FEATURE_SUPPORT_ID3_TAG
+
+#define MP_FEATURE_PLAY_SPEED
+
+#ifndef MP_SOUND_PLAYER
+#define MP_FEATURE_AUTO_OFF
+#endif
+
+#ifdef MP_SOUND_PLAYER
+#define MP_FEATURE_EXIT_ON_BACK
+#define MP_FEATURE_USB_OTG
+#endif
+
+#define MP_POPUP_YES 1
+#define MP_POPUP_NO 0
+#define MP_POPUP_TIMEOUT (2.0)
+
+#define MP_STR_UNKNOWN "Unknown"
+#define MP_YEAR_S "%03u0s"
+
+#define HIGHLIGHT_COLOR "2A71E7FF"
+
+typedef int SLP_Bool;
+typedef void (*MpHttpOpenRspCb) (gpointer user_data);
+typedef void (*MpGetShazamSigCb) (char *signature, int size, void *data);
+
+#define TIME_FORMAT_LEN 15
+
+#undef FREE
+#define FREE(ptr) free(ptr); ptr = NULL;
+
+#undef IF_FREE
+#define IF_FREE(ptr) if (ptr) {free(ptr); ptr = NULL; }
+
+#undef IF_G_FREE
+#define IF_G_FREE(p) ({g_free(p); p = NULL; })
+
+#define mp_evas_object_del(object) do { \
+ if (object) { \
+ evas_object_del(object); \
+ object = NULL; \
+ } \
+} while (0)
+
+#define mp_elm_object_item_del(object) do { \
+ if (object) { \
+ elm_object_item_del(object); \
+ object = NULL; \
+ } \
+} while (0)
+
+#define mp_elm_genlist_del(list) do { \
+ if (list) { \
+ elm_genlist_clear(list);\
+ evas_object_del(list); \
+ list = NULL; \
+ } \
+} while (0)
+
+#define mp_ecore_timer_del(timer) do { \
+ if (timer) { \
+ ecore_timer_del(timer);\
+ timer = NULL; \
+ } \
+} while (0)
+
+#define mp_ecore_animator_del(animator) do { \
+ if (animator) { \
+ ecore_animator_del(animator);\
+ animator = NULL; \
+ } \
+} while (0)
+
+#define mp_ecore_idler_del(idler) do { \
+ if (idler) { \
+ ecore_idler_del(idler);\
+ idler = NULL; \
+ } \
+} while (0)
+
+#define MP_TIMER_FREEZE(timer) do { \
+ if (timer) { \
+ ecore_timer_freeze(timer);\
+ } \
+} while (0)
+
+#define MP_TIMER_THAW(timer) do { \
+ if (timer) { \
+ ecore_timer_thaw(timer);\
+ } \
+} while (0)
+
+
+#define SAFE_STRCPY(dest, src) \
+ do {if (!dest || !src)break;\
+ strncpy(dest , src, sizeof(dest)-1);\
+ dest[sizeof(dest)-1] = 0; } while (0)
+
+#define mp_evas_object_response_set(obj, response) do { \
+ if (obj) { \
+ evas_object_data_set((obj), "response", (void *)(response)); \
+ } \
+} while (0)
+
+#define mp_evas_object_response_get(obj) (int)evas_object_data_get((obj), "response")
+
+#define SCALED_SIZE(x) ((x) * elm_config_scale_get())
+
+typedef enum {
+ MP_SCREEN_MODE_PORTRAIT = 0,
+ MP_SCREEN_MODE_LANDSCAPE,
+} mp_screen_mode;
+
+
+typedef enum {
+ MP_SND_PATH_SPEAKER = 0x01,
+ MP_SND_PATH_EARPHONE = 0x02,
+ MP_SND_PATH_BT = 0x04,
+ MP_SND_PATH_HDMI = 0x10,
+ MP_SND_PATH_MIRRORING = 0x20, //WIFI display
+ MP_SND_PATH_USB_AUDIO = 0x40,
+ MP_SND_PATH_MAX,
+} mp_snd_path;
+
+typedef enum {
+ MP_VIEW_MODE_DEFAULT,
+ MP_VIEW_MODE_EDIT,
+ MP_VIEW_MODE_SEARCH,
+} mp_view_mode_t;
+
+typedef enum {
+ MP_VIEW_TYPE_SONGS,
+ MP_VIEW_TYPE_PLAYLIST,
+ MP_VIEW_TYPE_ALBUM,
+ MP_VIEW_TYPE_GENRE,
+ MP_VIEW_TYPE_ARTIST,
+ MP_VIEW_TYPE_YEAR,
+ MP_VIEW_TYPE_COMPOSER,
+ MP_VIEW_TYPE_FOLDER,
+ MP_VIEW_TYPE_ALLSHARE,
+ MP_VIEW_TYPE_PLAYVIEW,
+
+ MP_VIEW_TYPE_MAX,
+} mp_view_type_t;
+
+typedef enum {
+ MP_DONE_DELETE_TYPE = 0x01,
+ MP_DONE_REMOVED_TYPE,
+ MP_DONE_ADD_TO_TYPE,
+ MP_DONE_REORDER_TYPE,
+ MP_DONE_ADD_TRACK_TYPE,
+ MP_DONE_SELECT_ADD_TRACK_TYPE,
+ MP_DONE_MAX,
+} mp_done_operator_type_t;
+
+typedef enum {
+ MP_PLAY_STATE_NONE,
+ MP_PLAY_STATE_PLAYING,
+ MP_PLAY_STATE_PAUSED,
+ MP_PLAY_STATE_STOP,
+ MP_PLAY_STATE_MAX,
+} mp_play_state;
+
+typedef enum {
+ MP_TAB_PLAYLISTS,
+ MP_TAB_SONGS,
+ MP_TAB_ALBUMS,
+ MP_TAB_ARTISTS,
+ MP_TAB_MAX,
+} MpTab_e;
+
+
+#define MP_GENLIST_CHECK_FOREACH_SAFE(first, current, next, data) \
+ for (current = first, \
+ next = elm_genlist_item_next_get(current), \
+ data = elm_object_item_data_get(current); \
+ current; \
+ current = next, \
+ next = elm_genlist_item_next_get(current), \
+ data = elm_object_item_data_get(current))
+
+#define MP_PLAYLIST_MAX_ITEM_COUNT 1000
+#define MP_NOW_PLAYING_ICON_SIZE 74 * elm_config_scale_get()
+#define MP_LIST_ICON_SIZE 90 * elm_config_scale_get()
+#define MP_LIST_ALBUM_ICON_SIZE 120 * elm_config_scale_get()
+#define MP_ALBUM_LIST_ICON_SIZE 48 * elm_config_scale_get()
+#define MP_ARTIST_ALBUM_LIST_ICON_SIZE (64 * elm_config_scale_get())
+#define MP_PLAY_VIEW_ARTWORK_SIZE 480 * elm_config_scale_get()
+#define MP_LIST_SHUFFLE_ICON_SIZE (36 * elm_config_scale_get())
+
+#define MP_ARTIST_THUMB_ICON_SIZE 162
+#define MP_LANDSCAPE_ARTIST_THUMB_ICON_SIZE 166
+#define MP_ALBUM_THUMB_ICON_SIZE 312
+#define MP_LANDSCAPE_ALBUM_THUMB_ICON_SIZE 230
+
+#define MP_FILE_PREFIX "file://"
+
+#define MP_NOW_PLAYING_ID_INI "NowPlayingId.ini" //playing thread id
+#ifdef MP_SOUND_PLAYER
+#define MP_SHARED_PLAYING_STATUS_INI "nowplaying.ini" //share track info of sound-player
+#else
+#define MP_SHARED_PLAYING_STATUS_INI "NowPlayingStatus" //share track info of music-player
+#endif
+//@@ MP_PLAYING_INI_FILE_NAME
+//this hard corded value is used for music player & sound player.
+//if this is need to be changed, you need to inform about it to lockscreen.
+#define MP_PLAYING_INI_FILE_NAME_MUSIC "playing_track_music.ini"
+#define MP_PLAYING_INI_FILE_NAME_SOUND "playing_track_sound.ini"
+
+/* music play state for livebox and music player and sound player */
+#define MP_PLAY_STATE "MusicPlayStatus.ini" //player state
+
+
+#ifndef MP_SOUND_PLAYER
+#define MP_LSCR_CONTROL "lock_music_ctrl"
+#else
+#define MP_LSCR_CONTROL "lock_sound_ctrl"
+#endif
+
+
+#define MP_SHORTCUT_INI_FILE_NAME_0 "shortcut_0.ini"
+#define MP_SHORTCUT_INI_FILE_NAME_1 "shortcut_1.ini"
+#define MP_SHORTCUT_INI_FILE_NAME_2 "shortcut_2.ini"
+#define MP_SHORTCUT_INI_FILE_NAME_3 "shortcut_3.ini"
+
+#define SINGLE_BYTE_MAX 0x7F
+
+typedef enum {
+ MP_UG_MESSAGE_BACK,
+ MP_UG_MESSAGE_DEL,
+ MP_UG_MESSAGE_LOAD,
+#ifdef MP_FEATURE_INNER_SETTINGS
+ MP_UG_MESSAGE_SETTINGS_BACK,
+#endif
+} mp_ug_message_t;
+
+#define MP_POPUP_TITLE_H 72
+#define MP_POPUP_MAX_H 752
+#define MP_POPUP_MAX_H_LD 432
+#define MP_POPUP_GENLIST_ITEM_H 82
+#define MP_POPUP_GENLIST_ITEM_H_MAX_LD (MP_POPUP_MAX_H_LD-MP_POPUP_TITLE_H)
+#define MP_POPUP_GENLIST_ITEM_H_MAX 4*MP_POPUP_GENLIST_ITEM_H
+#define MP_POPUP_GENLIST_ITEM_W 614
+
+#define ELM_NAVIFRAME_ITEM_CONTENT "default"
+#define ELM_NAVIFRAME_ITEM_ICON "icon"
+#define ELM_NAVIFRAME_ITEM_OPTIONHEADER "optionheader"
+#define ELM_NAVIFRAME_ITEM_TITLE_LABEL "title"
+#define ELM_NAVIFRAME_ITEM_PREV_BTN "prev_btn"
+#define ELM_NAVIFRAME_ITEM_TITLE_LEFT_BTN "title_left_btn"
+#define ELM_NAVIFRAME_ITEM_TITLE_RIGHT_BTN "title_right_btn"
+#define ELM_NAVIFRAME_ITEM_TITLE_MORE_BTN "title_more_btn"
+#define ELM_NAVIFRAME_ITEM_CONTROLBAR "controlbar"
+#define ELM_NAVIFRAME_ITEM_SIGNAL_OPTIONHEADER_CLOSE "elm,state,optionheader,close", ""
+#define ELM_NAVIFRAME_ITEM_SIGNAL_OPTIONHEADER_OPEN "elm,state,optionheader,open", ""
+
+#define MP_PLAYLIST_NAME_SIZE 50
+#define MP_METADATA_LEN_MAX 193
+#define MP_SEARCH_MAX_CHAR_COUNT 50
+
+//#define MP_NAVI_ITEM_STYLE_TOPLINE "music/topline"
+#define MP_NAVI_ITEM_STYLE_TOPLINE NULL
+
+#include "mp-player-debug.h"
+#include "mp-ta.h"
+#include "mp-vconf-private-keys.h"
+#include "mp-images.h"
+#include "mp-common-defs.h"
+#include "mp-resource.h"
+
+#define USER_AGENT_KEY "db/browser/UserAgent"
+#define MP_FEATURE_ALWAYS_ON
+
+#endif /* __MP_DEFINE_H_ */
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MP_PLAYER_DEBUG_H_
+#define __MP_PLAYER_DEBUG_H_
+
+
+#include <stdio.h>
+#include <unistd.h>
+#include "assert.h"
+#include <linux/unistd.h>
+#include <mp-file-util.h>
+
+#define ENABLE_CHECK_START_END_FUNCTION // support enter leave debug message
+
+#define ENABLE_LOG_SYSTEM
+
+#ifdef ENABLE_LOG_SYSTEM
+
+#define USE_DLOG_SYSTEM
+
+#define gettid() syscall(__NR_gettid)
+
+#ifdef USE_DLOG_SYSTEM
+#include <dlog.h>
+
+#ifndef TRUE
+#define TRUE 1
+#endif
+
+#ifndef FALSE
+#define FALSE 0
+#endif
+
+#define mp_debug(fmt, arg...) dlog_print(DLOG_DEBUG, LOG_TAG, "[%s : %05d %lu]" fmt "\n", __func__, __LINE__, gettid(), ##arg)
+#define mp_error(fmt, arg...) dlog_print(DLOG_ERROR, LOG_TAG, "[%s : %05d %lu]" fmt "\n", __func__, __LINE__, gettid(), ##arg)
+
+#define VER_TRACE(fmt, arg...) dlog_print(DLOG_INFO, LOG_TAG, "[%s : %05d %lu]" fmt "\n", __func__, __LINE__, gettid(), ##arg)
+#define DEBUG_TRACE(fmt, arg...) dlog_print(DLOG_DEBUG, LOG_TAG, "[%s : %05d %lu]" fmt "\n", __func__, __LINE__, gettid(), ##arg)
+#define INFO_TRACE(fmt, arg...) dlog_print(DLOG_INFO, LOG_TAG, "[%s : %05d %lu]" fmt "\n", __func__, __LINE__, gettid(), ##arg)
+#define WARN_TRACE(fmt, arg...) dlog_print(DLOG_WARN, LOG_TAG, "[%s : %05d %lu]" fmt "\n", __func__, __LINE__, gettid(), ##arg)
+#define EVENT_TRACE(fmt, arg...) dlog_print(DLOG_INFO, LOG_TAG, "[%s : %05d %lu]" fmt "\n", __func__, __LINE__, gettid(), ##arg)
+#define ERROR_TRACE(fmt, arg...) dlog_print(DLOG_ERROR, LOG_TAG, "[%s : %05d %lu]" fmt "\n", __func__, __LINE__, gettid(), ##arg)
+#define mp_debug_temp(fmt, arg...)
+#define TIMER_TRACE(fmt, arg...) do { if (mp_file_exists("/tmp/mp_show_timer_log")) dlog_print(DLOG_DEBUG, LOG_TAG, "[%s : %05d %lu]" fmt "\n", __func__, __LINE__, gettid(), ##arg); } while (0)
+
+#ifdef PARAM_CHECK
+#undef PARAM_CHECK
+#endif
+
+#define PARAM_CHECK(fmt, arg...) dlog_print(DLOG_DEBUG, LOG_TAG, "[%s : %05d %lu]" fmt "\n", __func__, __LINE__, gettid(), ##arg)
+
+#define PROFILE_IN(func) TA(1, func);
+#define PROFILE_OUT(func) TA(0, func);
+
+#define SECURE_DEBUG(fmt, args...) dlog_print(DLOG_DEBUG, LOG_TAG, "[%s : %05d %lu]" fmt "\n", __func__, __LINE__, gettid(), ##args)
+#define SECURE_INFO(fmt, args...) dlog_print(DLOG_INFO, LOG_TAG, "[%s : %05d %lu]" fmt "\n", __func__, __LINE__, gettid(), ##args)
+#define SECURE_ERROR(fmt, args...) dlog_print(DLOG_ERROR, LOG_TAG, "[%s : %05d %lu]" fmt "\n", __func__, __LINE__, gettid(), ##args)
+
+#define SM_ERROR_CHECK(err)\
+do {\
+ if (err != SM_ERROR_NONE)\
+ ERROR_TRACE("Error!! [%d]", err);\
+} while (0);\
+
+#else // use USE_DLOG_SYSTEM
+
+#define mp_debug(fmt, arg...) do {fprintf(stderr, "[%s : %s-%d]\t - \n", __FILE__, __func__, __LINE__);\
+ fprintf(stderr, __VA_ARGS__); } while (0)
+#define mp_error(fmt, arg...) do {fprintf(stderr, "[%s : %s-%d]\t - \n", __FILE__, __func__, __LINE__);\
+ fprintf(stderr, __VA_ARGS__); } while (0)
+#define VER_TRACE(fmt, arg...) do {fprintf(stderr, "[%s : %s-%d]\t - \n", __FILE__, __func__, __LINE__);\
+ fprintf(stderr, __VA_ARGS__); } while (0)
+#define DEBUG_TRACE(fmt, arg...) do {fprintf(stderr, "[%s : %s-%d]\t - \n", __FILE__, __func__, __LINE__);\
+ fprintf(stderr, __VA_ARGS__); } while (0)
+#define INFO_TRACE(fmt, arg...) do {fprintf(stderr, "[%s : %s-%d]\t - \n", __FILE__, __func__, __LINE__);\
+ fprintf(stderr, __VA_ARGS__); } while (0)
+#define WARN_TRACE(fmt, arg...) do {fprintf(stderr, "[%s : %s-%d]\t - \n", __FILE__, __func__, __LINE__);\
+ fprintf(stderr, __VA_ARGS__); } while (0)
+#define EVENT_TRACE(fmt, arg...) do {fprintf(stderr, "[%s : %s-%d]\t - \n", __FILE__, __func__, __LINE__);\
+ fprintf(stderr, __VA_ARGS__); } while (0)
+#define ERROR_TRACE(fmt, arg...) do {fprintf(stderr, "[%s : %s-%d]\t - \n", __FILE__, __func__, __LINE__);\
+ fprintf(stderr, __VA_ARGS__); } while (0)
+#define mp_debug_temp(fmt, arg...) do {fprintf(stderr, "[%s : %s-%d]\t - \n", __FILE__, __func__, __LINE__);\
+ fprintf(stderr, __VA_ARGS__); } while (0)
+#define TIMER_TRACE(fmt, arg...) do {fprintf(stderr, "[%s : %s-%d]\t - \n", __FILE__, __func__, __LINE__);\
+ fprintf(stderr, __VA_ARGS__); } while (0)
+#define PARAM_CHECK(fmt, arg...) do {fprintf(stderr, "[%s : %s-%d]\t - \n", __FILE__, __func__, __LINE__);\
+ fprintf(stderr, __VA_ARGS__); } while (0)
+
+#define PROFILE_IN(func)
+#define PROFILE_OUT(func)
+
+#define SM_ERROR_CHECK(err)
+
+#endif //USE_DLOG_SYSTEM
+
+#define DEBUG_TRACE_FUNC() DEBUG_TRACE("")
+
+#else //ENABLE_LOG_SYSTEM
+#define mp_debug(fmt, arg...) ;
+#define mp_error(fmt, arg...) ;
+#define VER_TRACE(fmt, arg...) ;
+#define DEBUG_TRACE(fmt, arg...) ;
+#define INFO_TRACE(fmt, arg...) ;
+#define WARN_TRACE(fmt, arg...) ;
+#define EVENT_TRACE(fmt, arg...) ;
+#define ERROR_TRACE(fmt, arg...) ;
+#define mp_debug_temp(fmt, arg...) ;
+#define PROFILE_IN(func) ;
+#define PROFILE_OUT(func) ;
+#define SM_ERROR_CHECK(err) ;
+#endif //ENABLE_LOG_SYSTEM
+
+#define eventfunc EVENT_TRACE("");
+
+#ifndef startfunc
+#define startfunc VER_TRACE("+- START -");
+#endif
+
+#ifndef endfunc
+#define endfunc VER_TRACE("+- END -");
+#endif
+
+#define mp_ret_if(expr) do { \
+ if (expr) { \
+ PARAM_CHECK("");\
+ return; \
+ } \
+} while (0)
+#define mp_retv_if(expr, val) do { \
+ if (expr) { \
+ PARAM_CHECK("");\
+ return (val); \
+ } \
+} while (0)
+
+#define mp_retm_if(expr, fmt, arg...) do { \
+ if (expr) { \
+ PARAM_CHECK(fmt, ##arg); \
+ return; \
+ } \
+} while (0)
+
+#define mp_retvm_if(expr, val, fmt, arg...) do { \
+ if (expr) { \
+ PARAM_CHECK(fmt, ##arg); \
+ return (val); \
+ } \
+} while (0)
+
+#define MP_CHECK_EXCEP(expr) do { \
+ if (!(expr)) { \
+ ERROR_TRACE("CRITICAL ERROR ## CHECK BELOW ITEM");\
+ goto mp_exception;\
+ } \
+} while (0)
+
+#define MP_CHECK_VAL(expr, val) mp_retvm_if(!(expr), val, "INVALID PARM RETURN VAL: 0x%x", val)
+#define MP_CHECK_NULL(expr) mp_retvm_if(!(expr), NULL, "INVALID PARM RETURN NULL")
+#define MP_CHECK_FALSE(expr) mp_retvm_if(!(expr), FALSE, "INVALID PARM RETURN FALSE")
+#define MP_CHECK_CANCEL(expr) mp_retvm_if(!(expr), ECORE_CALLBACK_CANCEL, "INVALID PARAM RETURN")
+#define MP_CHECK(expr) mp_retm_if(!(expr), "INVALID PARAM RETURN")
+
+#define mp_assert(expr) do { \
+ if (!(expr)) { \
+ ERROR_TRACE("CRITICAL ERROR ## CHECK BELOW ITEM");\
+ assert(FALSE); \
+ } \
+} while (0)
+
+
+#endif // __MP_PLAYER_DEBUG_H_
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __DEF_music_H_
+#define __DEF_music_H_
+
+#include <Elementary.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdbool.h>
+#include <unistd.h>
+#include <glib.h>
+#include <notification.h>
+#include <Ecore_IMF.h>
+#include <Edje.h>
+#include <errno.h>
+#include <libintl.h>
+#include <app.h>
+#include <recorder.h>
+
+#include <sys/times.h>
+#include <storage/storage.h>
+#include <sound_manager.h>
+#include "mp-define.h"
+#include "mp-resource.h"
+#include "mp-player-debug.h"
+
+#include "mp-playlist-mgr.h"
+
+typedef enum {
+ MP_HTTP_STATE_NONE = 0,
+ MP_HTTP_STATE_OFF = 0,
+ MP_HTTP_STATE_CELLULAR,
+ MP_HTTP_STATE_WIFI,
+} MpHttpState_t;
+
+typedef struct mp_http_mgr_t {
+ struct appdata *ad;
+ MpHttpState_t http_state; //the state of the http
+} mp_http_mgr_t;
+
+#include "mp-ta.h"
+#include "mp-language-mgr.h"
+#include "mp-media-info.h"
+
+#include "mp-lyric.h"
+#include "mp-widget.h"
+
+#include "mp-view-mgr.h"
+#include "mp-popup.h"
+
+typedef struct {
+
+ /* controlbar tab item */
+ Elm_Object_Item *ctltab_songs;
+ Elm_Object_Item *ctltab_plist;
+ Elm_Object_Item *ctltab_album;
+ Elm_Object_Item *ctltab_artist;
+ Elm_Object_Item *ctltab_genres;
+ Elm_Object_Item *ctltab_year;
+ Elm_Object_Item *ctltab_composer;
+ Elm_Object_Item *ctltab_folder;
+
+ bool allshare;
+
+ bool first_append;
+} mp_library;
+
+#define MP_VIEW_DATA_MAGIC 0x801211aa
+#define MP_SET_VIEW_DATA_MAGIC(view_data) ((view_data_t *)view_data)->magic = MP_VIEW_DATA_MAGIC
+#define MP_CHECK_VIEW_DATA(view_data) \
+do { \
+ if (((view_data_t *)view_data)->magic != MP_VIEW_DATA_MAGIC) { \
+ ERROR_TRACE("\n########### ERROR CHECK #############\nPARAM is not view_data\n########### ERROR CHECK #############\n"); \
+ mp_assert(FALSE); } \
+} while (0)
+
+
+typedef struct {
+ Evas_Object *layout;
+ void *EvasPlugin;
+ Evas_Object *box;
+ Evas_Object *dali_obj;
+
+ Ecore_Timer *mouse_up_timer;
+ Ecore_Timer *now_playing_timer;
+
+ Evas_Object *track_list;
+ Evas_Object *track_genlist;
+ bool show_track_list;
+
+ int track_count;
+
+ Evas_Object *now_playing;
+ Evas_Object *now_playing_icon;
+ Evas_Object *all_tracks;
+ bool all_tracks_click;
+ Evas_Object *ctxpopup;
+ int all_tracks_type;
+
+ Evas_Object *back_button;
+
+ int now_playing_album_seq;
+
+ char *cur_artist;
+ char *cur_album;
+
+ Ecore_Job *refresh_job;
+
+ struct appdata *ad;
+} mp_coverflow_view;
+
+typedef struct {
+ char *uri;
+ char *title;
+ char *artist;
+ char *album;
+ char *date;
+ char *genre;
+ char *location;
+ char *format;
+ char *media_id;
+
+ int duration;
+
+ char *thumbnail_path;
+ char *copyright;
+
+ char *author;
+ char *track_num;
+ char *year;
+ bool favorite;
+ int playlist_member_id;
+
+ bool isDiffAP;
+
+ mp_track_type track_type;
+} mp_track_info_t;
+
+enum {
+ MP_CREATE_PLAYLIST_MODE_NONE,
+ MP_CREATE_PLAYLIST_MODE_NEW,
+ MP_CREATE_PLAYLIST_MODE_WITHMUSICS,
+ MP_CREATE_PLAYLIST_MODE_SAVEAS,
+ MP_CREATE_PLAYLIST_MODE_SWEEP
+};
+
+typedef enum {
+ MP_LAUNCH_DEFAULT = 0, //normal case
+ MP_LAUNCH_BY_PATH, //ug case
+ MP_LAUNCH_ADD_TO_HOME, //add to home
+ MP_LAUNCH_PLAY_RECENT,
+ MP_LAUNCH_LIVE_BOX,
+
+ MP_LAUNCH_PLAY_FILES, //play recent
+ MP_LAUNCH_PLAY_PLAYLIST,
+
+} mp_launch_type;
+
+typedef enum {
+ LOAD_DEFAULT,
+ LOAD_TRACK, //load by path
+ LOAD_GROUP, //load by shortcut
+ LOAD_PLAYLIST, //load by shortcut
+ LOAD_REQUSET_TYPE,
+ LOAD_MM_KEY,
+
+} mp_load_type;
+
+typedef enum {
+ MP_SPLIT_VIEW_TYPE_NORMAL = 0,
+ MP_SPLIT_VIEW_TYPE_FULL,
+} mp_split_view_type;
+
+typedef struct mp_split_view {
+ Evas_Object *layout;
+ Evas_Object *left_layout;
+ Evas_Object *right_layout;
+ Evas_Object *list;
+ Evas_Object *fast_index;
+ mp_split_view_type current_split_view_type;
+ Ecore_Timer *idle_timer;
+ Ecore_Idler *idle_idler;
+} mp_split_view;
+
+typedef enum {
+ PLAY_STATE_NONE,
+ PLAY_STATE_CREATED,
+ PLAY_STATE_PREPARING,
+ PLAY_STATE_READY,
+ PLAY_STATE_PLAYING,
+ PLAY_STATE_PAUSED,
+} mp_player_state;
+
+typedef enum {
+ MP_SEND_TYPE_MESSAGE,
+ MP_SEND_TYPE_EMAIL,
+ MP_SEND_TYPE_BLUETOOTH,
+ MP_SEND_TYPE_WIFI,
+ MP_SEND_TYPE_NFC,
+ MP_SEND_TYPE_NUM,
+} mp_send_type_e;
+
+typedef enum {
+ MP_MORE_BUTTON_TYPE_DEFAULT,
+ MP_MORE_BUTTON_TYPE_TRACK_LIST,
+ MP_MORE_BUTTON_TYPE_MAX,
+} mp_more_button_type_e;
+
+typedef enum {
+ MP_DEVICE_TYPE_UNKNOWN,
+ MP_DEVICE_TYPE_MY_DEVICE,
+ MP_DEVICE_TYPE_PHONE,
+ MP_DEVICE_TYPE_DESKTOP_PC,
+ MP_DEVICE_TYPE_NOTE_PC,
+ MP_DEVICE_TYPE_TABLET,
+ MP_DEVICE_TYPE_TV,
+} mp_device_type_e;
+
+struct appdata {
+ Evas *evas;
+ Evas_Object *win_main;
+ Evas_Object *bg;
+ Evas_Object *popup[MP_POPUP_MAX];
+ int win_angle;
+
+ /* App control parameters */
+ bool exit_status;
+ bool disable_detail_view;
+
+ char *lockscreen_wallpaper;
+
+ void *xwin;
+ void *popup_data;
+
+#ifdef MP_FEATURE_EXIT_ON_BACK
+ Ecore_Event_Handler *callerWinEventHandler;
+ unsigned int caller_win_id;
+#endif
+
+ /* Maintaining checked list for selector screen */
+ GList *checkedList;
+ /* Asserted when selector view is initiated */
+ Eina_Bool selector_mode_bit;
+
+ /* For recorder API's */
+ int recorder_id;
+ recorder_type_e recorder_type;
+ recorder_device_state_e recorder_state;
+ int device_state_id;
+
+ /* Layout for each view */
+ Evas_Object *conformant;
+ Evas_Object *naviframe;
+ bool hide_player_view;
+ bool recentlyAddedGridView;
+
+ bool show_optional_menu;
+ double music_pos;
+ double music_length;
+ Ecore_Timer *progressbar_timer;
+ int start_pos;
+ bool is_sdcard_removed;
+
+ // for Plalying Control
+ bool can_play_drm_contents;
+ bool show_now_playing;
+ bool start_after_effect;
+
+ mp_player_state player_state;
+
+ mp_plst_mgr *playlist_mgr;
+
+ mp_track_type_e track_type; // Support voice ui
+ mp_group_type_e group_type; // Support voice ui
+
+ MpViewMgr_t *view_manager;
+
+ sound_stream_info_h stream_info; //support sound_manager
+
+ bool create_view_on_play;
+ Evas_Object *preload_player_view;
+ Ecore_Idler *create_on_play_lay_idler;
+ Ecore_Timer *play_after_transit_timer;
+ Ecore_File_Monitor *monitor;
+
+ notification_h noti;
+
+ Evas_Object *editfiled_new_playlist;
+ Evas_Object *editfiled_entry;
+ char *new_playlist_name;
+
+ struct {
+ bool downed;
+ bool moving;
+ Evas_Coord sx;
+ Evas_Coord sy;
+ } mouse;
+
+ Evas_Object *radio_group;
+
+ Evas_Object *popup_delete;
+
+ bool b_search_mode;
+ Evas_Object *isf_entry;
+ Evas_Object *editfield;
+
+ bool freeze_indicator_icon; //set it true to prevent flickering play icon of indicator.
+
+ int ear_key_press_cnt;
+ Ecore_Timer *ear_key_timer;
+ unsigned int press_time;
+
+#ifdef MP_FEATURE_LOCKSCREEN
+ Evas_Object *win_lockmini; //lockscreen mini
+ Evas_Object *lockmini_layout;
+ Evas_Object *lockmini_progress_box;
+ Evas_Object *lockmini_progress_layout;
+ Evas_Object *lockmini_progress_bar;
+ Ecore_Timer *lockmini_progress_timer;
+ Ecore_Timer *lockmini_button_timer;
+ Ecore_Timer *lockmini_idle_timer;
+ bool idle_unlocked;
+ bool lockmini_visible;
+ bool b_lockmini_show;
+ bool progress_dragging;
+#endif
+ Evas_Object *win_minicon;
+ Evas_Object *minicontroller_layout;
+ Evas_Object *progress_box;
+ Evas_Object *progress_layout;
+ Evas_Object *progress_bar;
+ Evas_Object *minicon_icon;
+ Ecore_Timer *minicon_progress_timer;
+ Ecore_Timer *minicon_button_timer;
+ bool b_minicontroller_show;
+ bool minicon_visible;
+ int quickpanel_angle;
+
+ mp_split_view *split_view;
+ double latest_moved_left_size;
+
+ int current_appcore_rm;
+ mp_screen_mode screen_mode;
+
+ int screen_height; //current screen height
+ int screen_width; //current screen width
+
+ bool paused_by_user;
+
+ bool app_is_foreground; // relaunch only available when music is in pause state
+ bool is_lcd_off;
+
+ bool is_focus_out; // update minicontroller in bgm mode.
+
+ mp_snd_path snd_path; // indicate sound path;
+
+ Ecore_Event_Handler *key_down;
+ Ecore_Event_Handler *key_up;
+ Ecore_Event_Handler *mouse_button_down;
+ Ecore_Event_Handler *focus_in;
+ Ecore_Event_Handler *focus_out;
+ Ecore_Event_Handler *visibility_change;
+ Ecore_Event_Handler *client_msg;
+ Ecore_Event_Handler *mouse_button_up;
+ Ecore_Event_Handler *mouse_move;
+ Ecore_Event_Handler *property;
+ Ecore_Event_Handler *hold;
+
+ int motion_handle;
+
+ Evas_Object *info_ug_base; //if thist is not null, info ug is visible. use this to determine info view is exist or not.
+ Evas_Object *info_ug_layout; //do not del this object. if it is deleted, info ug layout will not be displayed properly.
+ bool info_click_flag; //flag for click info button in play view
+ bool info_back_play_view_flag; //flag for info view back play view
+
+ bool edit_in_progress; // don't update view in inotify callback while delete operation.
+
+ Ecore_Timer *volume_down_timer;
+ Ecore_Timer *mute_popup_show_timer; //timer for showing mute popup
+ bool volume_long_pressed;
+ bool mute_flag; //flag for mute
+
+ double ff_rew_distance; // for ff and rew when there is no play view
+
+ bool music_setting_change_flag; //true for change music setting data, false for not
+
+ bool load_play_view; /*set it true if play view must be displayed directly when app is launching */
+
+ bool is_Longpress;
+ bool is_ff;
+
+ Ecore_Idler *setting_idler;
+ Ecore_Idler *app_init_idler;
+ Ecore_Idler *playview_show_idler;
+
+ Ecore_Timer *longpress_timer;
+ Ecore_Timer *live_pos_timer;
+ Ecore_Timer *duration_change_timer;
+
+ int b_show_lyric;
+ bool vertical_scroll;
+
+ char *shortcut_descrition;
+
+ bool direct_win_minimize;
+
+ int album_image_w;
+ int album_image_h;
+
+ bool isPlayBtn;
+ bool paused_by_other_player;
+
+ mp_track_info_t *current_track_info;
+
+#ifdef MP_FEATURE_AUTO_OFF
+ Ecore_Timer *auto_off_timer;
+ Ecore_Timer *pause_off_timer;
+#endif
+
+ Evas_Object *more_btn_popup;
+ mp_more_button_type_e more_btn_type;
+
+ bool sip_state;
+
+ //to check recording state before play next song
+ //0: stop
+ //1: start
+ bool auto_next;
+ bool auto_resume;
+ bool camcoder_start;
+ bool resume_on_cam_end;
+
+ Ecore_Timer *sleep_unlock_timer;
+ bool sleep_locked;
+
+#ifdef MP_SOUND_PLAYER
+ char *cookie;
+ char *proxy;
+#endif
+
+ Ecore_Job *exit_job;
+
+ bool store_enable;
+ bool mirror_to_local;
+
+ int samsung_link;
+ int disable_change_player;
+
+ Ecore_Timer *app_control_check_timer;
+
+ bool prepare_by_init; //to indicate if player created and prepared to ready state in init idler
+ int mmc_id;
+ app_event_low_battery_status_e low_battery_status;
+
+ int device_conn_changed_cb_id;
+};
+
+
+typedef void (*mpOptCallBack) (void *, Evas_Object *, void *);
+
+typedef struct {
+ const char *name;
+ mpOptCallBack cb;
+} MpOptItemType;
+
+typedef struct {
+ MpOptItemType *l_opt;
+ MpOptItemType *m_opt;
+ MpOptItemType *r_opt;
+} MpOptGroupType;
+
+#include "mp-util.h"
+
+#endif /* __DEF_music_H__ */
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include "music.h"
+#include "mp-ta.h"
+#include "mp-widget.h"
+#include "mp-util.h"
+#include "mp-setting-ctrl.h"
+#include "mp-item.h"
+#include "mp-player-control.h"
+#include "mp-playlist-mgr.h"
+#include "mp-ug-launch.h"
+#include "mp-popup.h"
+#include "mp-all-view.h"
+#include <message_port.h>
+#include "mp-player-view.h"
+
+#include <signal.h>
+#include <glib.h>
+#include <glib-object.h>
+#include <notification.h>
+#include "mp-player-mgr.h"
+#include "mp-player-debug.h"
+#include <device/display.h>
+#include <device/callback.h>
+#include <notification.h>
+#include "mp-minicontroller.h"
+#include "mp-lockscreenmini.h"
+#include "mp-app.h"
+#include "mp-play.h"
+#include "mp-volume.h"
+#include "mp-common-defs.h"
+
+#ifndef MP_SOUND_PLAYER
+#include "mp-common.h"
+#endif
+#include "mp-view-mgr.h"
+
+#include <system_settings.h>
+
+static char *test_uri;
+
+/* request type */
+#define MP_REQ_TYPE_FILES "files"
+#define MP_REQ_TYPE_USER_PLAYLIST "user-playlist"
+#define MP_REQ_TYPE_AUTO_PLAYLIST "auto-playlist"
+#define MP_REQ_TYPE_RECENTLY_PLAYED "recently-played"
+#define MP_REQ_TYPE_PLAY_NEXT "play-next"
+#define MP_REQ_TYPE_PLAY_PREV "play-prev"
+
+/* extra data key */
+#define MP_EXTRA_KEY_PLAY_FILES "files"
+#define MP_EXTRA_KEY_PLAY_FILE_DELIM ";"
+#define MP_EXTRA_KEY_PLAY_FILE_COUNT "filecount"
+#define MP_EXTRA_KEY_PLAY_PLAYLIST "playlist"
+
+/* playlist name for auto playlist type */
+#define MP_EXTRA_VAL_RECENTLY_ADDED "Recently added"
+#define MP_EXTRA_VAL_RECENTLY_PLAYED "Recently played"
+#define MP_EXTRA_VAL_MOST_PLAYED "Most played"
+#define MP_EXTRA_VAL_FAVORITE "Favorite"
+
+#define MP_LIVEBOX "livebox"
+#define MP_LIVEBOX_URI "uri"
+#ifdef MP_FEATURE_EXIT_ON_BACK
+#define MP_EXIT_ON_BACK "ExitOnBack"
+#endif
+#define COUNT_MAX_VALUE 9999
+
+struct appdata *g_ad;
+static bool g_normal_launched = false;
+
+static bool _mp_main_init(struct appdata *ad);
+int app_control_to_bundle(app_control_h, bundle **);
+static void _mp_main_win_visibility_withdrawn_cb(void *data,
+ Evas_Object * obj,
+ void *event);
+static void _mp_main_win_visibility_normal_cb(void *data,
+ Evas_Object * obj,
+ void *event);
+static void _mp_main_win_focus_in_cb(void *data, Evas_Object * obj,
+ void *event);
+static void _mp_main_win_focus_out_cb(void *data, Evas_Object * obj,
+ void *event);
+static Eina_Bool _mp_main_app_init_idler_cb(void *data);
+void mp_device_orientation_cb(app_device_orientation_e orientation,
+ void *user_data);
+
+static void
+_mp_main_exit_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ mp_evas_object_del(obj);
+
+ mp_app_exit(data);
+}
+
+void mp_recorder_state_cb(recorder_type_e type,
+ recorder_device_state_e state, void *user_data)
+{
+ struct appdata *ad = (struct appdata *) user_data;
+ ad->recorder_state = state;
+ ad->recorder_type = type;
+}
+
+void _mp_app_minicontroller_state_changed_cb(const char *key, void *data)
+{
+ int minictrl_state = PREF_NO_MINICONTROLLER;
+ int ret = preference_get_int(key, &minictrl_state);
+ if (ret != PREFERENCE_ERROR_NONE) {
+ ERROR_TRACE("Cannot get minicontroller state");
+ return;
+ }
+
+#ifdef MP_SOUND_PLAYER
+ if (minictrl_state == PREF_MUSIC_PLAYER_MINICONTROLLER) {
+#else
+ if (minictrl_state == PREF_SOUND_PLAYER_MINICONTROLLER) {
+#endif
+ DEBUG_TRACE("Some other player playing currently");
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ ad->paused_by_user = true;
+ if (ad->win_minicon) {
+ mp_minicontroller_hide(ad);
+ }
+ if (ad->win_lockmini) {
+ mp_lockscreenmini_hide(ad);
+ }
+ }
+}
+
+static bool _mp_main_init(struct appdata *ad)
+{
+ ad->music_setting_change_flag = false;
+ ad->paused_by_user = true;
+ ad->recentlyAddedGridView = false;
+
+ bool key_exists = FALSE;
+ int ret_p = preference_is_existing(PREF_MINICONTROLLER, &key_exists);
+ if (ret_p != PREFERENCE_ERROR_NONE) {
+ ERROR_TRACE("Could not find MiniController State Key");
+ }
+
+ if (!key_exists) {
+ preference_set_int(PREF_MINICONTROLLER, PREF_NO_MINICONTROLLER);
+ }
+
+ if (preference_set_changed_cb
+ (PREF_MINICONTROLLER, _mp_app_minicontroller_state_changed_cb, ad) < 0) {
+ ERROR_TRACE("Fail to register PREF_MINICONTROLLER key callback");
+ }
+
+#ifdef MP_SOUND_PLAYER
+ preference_set_int(PREF_SOUND_PLAYER_LAUNCH, PREF_PLAYER_ON);
+#else
+ preference_set_int(PREF_MUSIC_PLAYER_LAUNCH, PREF_PLAYER_ON);
+#endif
+
+ mp_media_info_connect();
+ recorder_device_state_e state = RECORDER_DEVICE_STATE_IDLE;
+ recorder_get_device_state(RECORDER_TYPE_VIDEO, &state);
+
+ int ret =
+ recorder_add_device_state_changed_cb(mp_recorder_state_cb, ad,
+ &ad->recorder_id);
+ if (ret != RECORDER_ERROR_NONE) {
+ ERROR_TRACE("Unable to register callback for recorder state");
+ }
+
+ /* window focus in/out event */
+ evas_object_smart_callback_add(ad->win_main, "focused",
+ _mp_main_win_focus_in_cb, ad);
+ evas_object_smart_callback_add(ad->win_main, "unfocused",
+ _mp_main_win_focus_out_cb, ad);
+ return TRUE;
+}
+
+static bool _mp_main_is_launching_available(struct appdata *ad)
+{
+ if (!ad) {
+ return false;
+ }
+
+ if (ad->low_battery_status == APP_EVENT_LOW_BATTERY_POWER_OFF) {
+ Evas_Object *popup =
+ mp_popup_create(ad->win_main, MP_POPUP_NORMAL, NULL, ad,
+ _mp_main_exit_cb, ad);
+ elm_object_text_set(popup,
+ GET_SYS_STR("IDS_COM_BODY_LOW_BATTERY"));
+ mp_popup_button_set(popup, MP_POPUP_BTN_1, "IDS_COM_SK_OK",
+ MP_POPUP_YES);
+ mp_popup_timeout_set(popup, MP_POPUP_TIMEOUT);
+ evas_object_show(ad->win_main);
+ evas_object_show(popup);
+ return false;
+ }
+
+ if (mp_check_mass_storage_mode()) {
+ Evas_Object *popup =
+ mp_popup_create(ad->win_main, MP_POPUP_NORMAL, NULL, ad,
+ _mp_main_exit_cb, ad);
+ elm_object_text_set(popup,
+ GET_SYS_STR
+ ("IDS_COM_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"));
+ mp_popup_button_set(popup, MP_POPUP_BTN_1, "IDS_COM_SK_OK",
+ MP_POPUP_YES);
+ mp_popup_timeout_set(popup, MP_POPUP_TIMEOUT);
+ evas_object_show(ad->win_main);
+ evas_object_show(popup);
+ return false;
+ }
+ return true;
+}
+
+static void _mp_main_win_visibility_withdrawn_cb(void *data,
+ Evas_Object * obj,
+ void *event)
+{
+ struct appdata *ad = (struct appdata *) data;
+ mp_retm_if(ad == NULL, "ad is null");
+ ad->app_is_foreground = false;
+ mp_player_mgr_safety_volume_set(ad->app_is_foreground);
+ mp_view_view_pause(mp_view_mgr_get_top_view(GET_VIEW_MGR));
+ DEBUG_TRACE("ad->app_is_foreground: %d", ad->app_is_foreground);
+}
+
+static void _mp_main_win_visibility_normal_cb(void *data,
+ Evas_Object * obj,
+ void *event)
+{
+ struct appdata *ad = (struct appdata *) data;
+ mp_retm_if(ad == NULL, "ad is null");
+
+ ad->app_is_foreground = true;
+ mp_player_mgr_safety_volume_set(ad->app_is_foreground);
+ mp_view_view_resume(mp_view_mgr_get_top_view(GET_VIEW_MGR));
+ DEBUG_TRACE("ad->app_is_foreground: %d", ad->app_is_foreground);
+}
+
+static void _mp_main_win_focus_in_cb(void *data, Evas_Object * obj,
+ void *event)
+{
+ struct appdata *ad = (struct appdata *) data;
+ mp_retm_if(ad == NULL, "ad is null");
+
+ ad->is_focus_out = false;
+
+ DEBUG_TRACE("ad->is_focus_out: %d", ad->is_focus_out);
+
+ MpPlayerView_t *player_view = (MpPlayerView_t *) GET_PLAYER_VIEW;
+ if (player_view) {
+ mp_player_view_refresh(player_view);
+ }
+
+ mp_volume_key_grab_condition_set(MP_VOLUME_KEY_GRAB_COND_WINDOW_FOCUS,
+ true);
+}
+
+static void _show_minicontroller(struct appdata *ad)
+{
+ ERROR_TRACE("");
+ int playing_pid = 0;
+ playing_pid = mp_setting_get_nowplaying_id();
+ if (playing_pid != -1) {
+ if (playing_pid && playing_pid != getpid()) {
+#ifdef MP_SOUND_PLAYER
+ DEBUG_TRACE("Music-player is may playing track");
+#else
+ DEBUG_TRACE("Sound-player is may playing track");
+#endif
+ return;
+ }
+ }
+
+ if (ad->player_state == PLAY_STATE_PAUSED
+ || ad->player_state == PLAY_STATE_PLAYING) {
+ if (!ad->win_minicon) {
+ mp_minicontroller_create(ad);
+ } else {
+ mp_minicontroller_show(ad);
+ }
+
+#ifdef MP_FEATURE_LOCKSCREEN
+ if (!ad->win_lockmini) {
+ mp_lockscreenmini_create(ad);
+ } else {
+ mp_lockscreenmini_show(ad);
+ }
+#endif
+ }
+}
+
+static void _mp_main_win_focus_out_cb(void *data, Evas_Object * obj,
+ void *event)
+{
+ startfunc;
+ struct appdata *ad = (struct appdata *) data;
+ mp_retm_if(ad == NULL, "ad is null");
+
+ ad->is_focus_out = true;
+ DEBUG_TRACE("ad->is_focus_out: %d", ad->is_focus_out);
+
+ /* If a track is getting played or paused,
+ the MiniController should be displayed as soon as the main window goes to back ground.
+ When again the Music ICon in Main menu is pressed, the mini controller will be hidden and
+ The Main Screen of the Music Application will be displayed. */
+ _show_minicontroller(ad);
+
+ mp_volume_key_grab_condition_set(MP_VOLUME_KEY_GRAB_COND_WINDOW_FOCUS,
+ false);
+}
+
+static void __mp_main_lcd_state_changed_cb(device_callback_e type,
+ void *state_data,
+ void *user_data)
+{
+ struct appdata *ad = user_data;
+ MP_CHECK(ad);
+ display_state_e state = (display_state_e) state_data;
+ DEBUG_TRACE("power_state: %d", state);
+
+ if (state == DISPLAY_STATE_SCREEN_OFF) {
+ ad->is_lcd_off = true;
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_LCD_OFF);
+ mp_view_view_pause(mp_view_mgr_get_top_view(GET_VIEW_MGR));
+
+ if (ad->duration_change_timer) {
+ ecore_timer_freeze(ad->duration_change_timer);
+ }
+#ifdef MP_FEATURE_LOCKSCREEN
+ mp_lockscreenmini_on_lcd_event(ad, false);
+#endif
+
+ } else {
+ /*POWER_STATE_SCREEN_DIM or POWER_STATE_NORMAL */
+ if (ad->is_lcd_off) {
+#ifdef MP_FEATURE_LOCKSCREEN
+ mp_lockscreenmini_update(ad);
+#endif
+ ad->is_lcd_off = false;
+ /* for refresh progressbar */
+ ad->music_pos = mp_player_mgr_get_position() / 1000.0;
+ ad->music_length = mp_player_mgr_get_duration() / 1000.0;
+
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_UPDATE_PLAYING_LIST);
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_LCD_ON);
+ mp_view_update(GET_PLAYER_VIEW);
+ mp_minicontroller_update(ad, true);
+
+ if (ad->duration_change_timer
+ && mp_player_mgr_get_state() == PLAYER_STATE_PLAYING) {
+ MP_TIMER_THAW(ad->duration_change_timer);
+ }
+#ifdef MP_FEATURE_LOCKSCREEN
+ mp_lockscreenmini_on_lcd_event(ad, true);
+#endif
+
+ }
+ }
+}
+
+static bool _parse_widget_event(bundle * b, bool * activate_window)
+{
+ startfunc;
+ MP_CHECK_FALSE(b);
+ MP_CHECK_FALSE(activate_window);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_FALSE(ad);
+
+ char *value = NULL;
+ bundle_get_str(b, MP_LB_EVENT_KEY, &value);
+ if (value && strlen(value) > 0) {
+ *activate_window = false;
+ EVENT_TRACE("event: %s", value);
+
+ if (mp_playlist_mgr_count(ad->playlist_mgr) <= 0) {
+ mp_common_create_default_playlist();
+ }
+
+
+ bool prepare_by_init = !mp_player_mgr_is_active();
+
+ if (!g_strcmp0(value, MP_LB_EVENT_NEXT_PRESSED)) {
+ mp_play_control_ff(1, 0, 1);
+ } else if (!g_strcmp0(value, MP_LB_EVENT_NEXT_RELEASED)) {
+ mp_play_control_ff(0, 0, 1);
+ if (prepare_by_init) {
+ ad->prepare_by_init = true;
+ }
+ } else if (!g_strcmp0(value, MP_LB_EVENT_PREV_PRESSED)) {
+ mp_play_control_rew(1, 0, 1);
+ } else if (!g_strcmp0(value, MP_LB_EVENT_PREV_RELEASED)) {
+ mp_play_control_rew(0, 0, 1);
+ if (prepare_by_init) {
+ ad->prepare_by_init = true;
+ }
+ } else if (!g_strcmp0(value, MP_LB_EVENT_PLAY_CLICKED)) {
+ ad->freeze_indicator_icon = false;
+ ad->music_pos = mp_player_mgr_get_position() / 1000.0;
+ mp_play_control_play_pause(ad, true);
+ } else if (!g_strcmp0(value, MP_LB_EVENT_PAUSE_CLICKED)) {
+ ad->freeze_indicator_icon = false;
+ ad->music_pos = mp_player_mgr_get_position() / 1000.0;
+ mp_play_control_play_pause(ad, false);
+ }
+ return true;
+ }
+
+ value = NULL;
+ bundle_get_str(b, MP_NOWPLAYING_LIST_INDEX, &value);
+ if (value && strlen(value) > 0) {
+ EVENT_TRACE("index: %s", value);
+
+ *activate_window = false;
+ int index = 0;
+ if (value) {
+ index = atoi(value);
+ }
+
+ mp_play_destory(ad);
+
+ mp_common_create_playlist_mgr();
+ mp_playlist_mgr_clear(ad->playlist_mgr);
+
+ char *data_path = app_get_data_path();
+ char group_list_data[1024] = { 0 };
+ snprintf(group_list_data, 1024, "%s%s", data_path,
+ MP_GROUP_LIST_DATA);
+ free(data_path);
+ mp_playlist_mgr_lazy_append_with_file(ad->playlist_mgr,
+ group_list_data, NULL,
+ index);
+ return true;
+ }
+
+ return false;
+}
+
+static void
+_mp_main_message_port_cb(int local_port_id, const char *remote_app_id,
+ const char *remote_port, bool trusted_remote_port,
+ bundle * message, void *user_data)
+{
+ eventfunc;
+ MP_CHECK(message);
+
+ bool ret = false;
+ bool active_window = false;
+
+ ret = _parse_widget_event(message, &active_window);
+ if (ret) {
+ DEBUG_TRACE("message port done");
+ if (active_window) {
+ struct appdata *ad = mp_util_get_appdata();
+ if (ad && ad->win_main) {
+ elm_win_inwin_activate(ad->win_main);
+ }
+ }
+ }
+}
+
+static void _mp_main_conformant_sip_on_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ eventfunc;
+ struct appdata *ad = data;
+ MP_CHECK(ad);
+ MP_CHECK(ad->view_manager);
+
+ ad->sip_state = true;
+ mp_view_mgr_post_event(ad->view_manager, MP_SIP_STATE_CHANGED);
+}
+
+static void _mp_main_conformant_sip_off_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ eventfunc;
+ struct appdata *ad = data;
+ MP_CHECK(ad);
+ MP_CHECK(ad->view_manager);
+
+ ad->sip_state = false;
+ mp_view_mgr_post_event(ad->view_manager, MP_SIP_STATE_CHANGED);
+}
+
+static Eina_Bool _mp_main_app_init_idler_cb(void *data)
+{
+ startfunc;
+
+ struct appdata *ad = data;
+ MP_CHECK_FALSE(ad);
+
+ mp_player_mgr_safety_volume_set(ad->app_is_foreground);
+ if (!mp_app_noti_init(ad)) {
+ ERROR_TRACE("Error when noti init");
+ }
+ ad->key_down =
+ ecore_event_handler_add(ECORE_EVENT_KEY_DOWN, mp_app_key_down_cb,
+ ad);
+ ad->key_up =
+ ecore_event_handler_add(ECORE_EVENT_KEY_UP, mp_app_key_up_cb, ad);
+ evas_object_smart_callback_add(ad->win_main, "withdrawn",
+ _mp_main_win_visibility_withdrawn_cb,
+ ad);
+ evas_object_smart_callback_add(ad->win_main, "normal",
+ _mp_main_win_visibility_normal_cb, ad);
+
+ int port_id =
+ message_port_register_local_port(MP_MESSAGE_PORT_LIVEBOX,
+ _mp_main_message_port_cb, NULL);
+ DEBUG_TRACE("message port id = %d", port_id);
+
+#ifdef MP_FEATURE_AUTO_OFF
+ mp_setting_auto_off_set_callback(mp_app_auto_off_changed_cb, ad);
+#endif
+
+#ifdef MP_FEATURE_PLAY_SPEED
+ mp_setting_set_play_speed_change_callback(mp_app_play_speed_changed_cb,
+ ad);
+#endif
+
+ device_add_callback(DEVICE_CALLBACK_DISPLAY_STATE,
+ __mp_main_lcd_state_changed_cb, ad);
+
+ if (!ad->playlist_mgr) {
+ mp_common_create_playlist_mgr();
+
+ if (ad->playlist_mgr && ad->current_track_info) {
+ if (ad->current_track_info->uri) {
+ char *data_path = app_get_data_path();
+ char nowplaying_list_data[1024] = { 0 };
+ snprintf(nowplaying_list_data, 1024, "%s%s", data_path,
+ MP_NOWPLAYING_LIST_DATA);
+ free(data_path);
+ mp_playlist_mgr_lazy_append_with_file(ad->playlist_mgr,
+ nowplaying_list_data,
+ ad->
+ current_track_info->
+ uri, -1);
+ }
+ }
+ }
+
+ if (ad->conformant) {
+ evas_object_smart_callback_add(ad->conformant,
+ "virtualkeypad,state,on",
+ _mp_main_conformant_sip_on_cb, ad);
+ evas_object_smart_callback_add(ad->conformant,
+ "virtualkeypad,state,off",
+ _mp_main_conformant_sip_off_cb, ad);
+ }
+ mp_volume_init(ad->win_main);
+#ifdef MP_SOUND_PLAYER
+ mp_volume_key_grab_condition_set(MP_VOLUME_KEY_GRAB_COND_VIEW_VISIBLE,
+ true);
+#endif
+
+ if (mp_view_get_nowplaying_show_flag(GET_ALL_VIEW)
+ && ad->player_state == PLAY_STATE_NONE) {
+ ad->paused_by_user = true;
+ mp_play_new_file(ad, true);
+ ad->prepare_by_init = true;
+ }
+
+ ad->app_init_idler = NULL;
+
+ endfunc;
+ return ECORE_CALLBACK_CANCEL;
+}
+
+static bool __mp_main_app_control_extra_data_cb(app_control_h app_control,
+ const char *key,
+ void *user_data)
+{
+ MP_CHECK_FALSE(app_control);
+ char *value = NULL;
+ app_control_get_extra_data(app_control, key, &value);
+ SECURE_DEBUG("key: %s, value: %s", key, value);
+ IF_FREE(value);
+
+ return true;
+}
+
+static void _mp_main_parse_get_playlist(struct appdata *ad)
+{
+ mp_media_list_h media = NULL;
+ int count = 0;
+ int track_type = MP_TRACK_BY_PLAYED_TIME;
+
+ mp_media_info_list_count(track_type, NULL, NULL, NULL, 0, &count);
+
+ if (count == 0) {
+ DEBUG_TRACE("No recently played music.. Play All tracks");
+ track_type = MP_TRACK_ALL;
+ mp_media_info_list_count(track_type, NULL, NULL, NULL, 0, &count);
+ } else if (count > 100) {
+ count = 100;
+ }
+
+ mp_media_info_list_create(&media, track_type, NULL, NULL, NULL, 0, 0,
+ count);
+ mp_common_create_playlist_mgr();
+ mp_playlist_mgr_clear(ad->playlist_mgr);
+ mp_util_append_media_list_item_to_playlist(ad->playlist_mgr, media,
+ count, 0, NULL);
+ mp_media_info_list_destroy(media);
+}
+
+static int
+_mp_main_parse_request_type(struct appdata *ad, app_control_h app_control,
+ const char *request, bool * start_playback)
+{
+ int ret = 0;
+
+ char *val = NULL;
+ char **path_array = NULL;
+ int count = 0;
+
+ if (!g_strcmp0(request, MP_REQ_TYPE_FILES)) {
+ char *str = val;
+ char *save_ptr = NULL;
+ char *token = NULL;
+ int i = 0;
+
+ mp_common_create_playlist_mgr();
+
+ if (!app_control_get_extra_data_array
+ (app_control, MP_EXTRA_KEY_PLAY_FILES, &path_array, &count)) {
+ if (path_array == NULL) {
+ return -1;
+ }
+ if (count == 0) {
+ free(path_array);
+ return -1;
+ }
+
+ mp_playlist_mgr_clear(ad->playlist_mgr);
+ for (i = 0; i < count; i++) {
+ token = path_array[i];
+ mp_playlist_mgr_item_append(ad->playlist_mgr, token, NULL,
+ NULL, NULL, MP_TRACK_URI);
+ }
+ mp_playlist_mgr_set_current(ad->playlist_mgr,
+ mp_playlist_mgr_get_nth(ad->
+ playlist_mgr,
+ 0));
+ *start_playback = true;
+
+ free(path_array);
+ } else
+ if (!app_control_get_extra_data
+ (app_control, MP_EXTRA_KEY_PLAY_FILES, &val)) {
+
+ str = val;
+ char *title = NULL;
+ if (!app_control_get_extra_data
+ (app_control, MP_EXTRA_KEY_PLAY_FILE_COUNT, &val)) {
+ if (val) {
+ count = atoi(val);
+ }
+ }
+ IF_FREE(val);
+
+ if (!app_control_get_extra_data
+ (app_control, APP_CONTROL_DATA_TITLE, &title)) {
+ DEBUG_TRACE("Get title error");
+ }
+
+ mp_playlist_mgr_clear(ad->playlist_mgr);
+ if (count > 0 && count <= COUNT_MAX_VALUE) {
+ for (i = 0; i < count; i++, str = NULL) {
+ token =
+ strtok_r(str, MP_EXTRA_KEY_PLAY_FILE_DELIM, &save_ptr);
+ if (token == NULL) {
+ break;
+ }
+ if (count == 1) {
+ mp_playlist_mgr_item_append(ad->playlist_mgr, token,
+ NULL, title, NULL,
+ MP_TRACK_URI);
+ } else {
+ mp_playlist_mgr_item_append(ad->playlist_mgr, token,
+ NULL, NULL, NULL,
+ MP_TRACK_URI);
+ }
+ }
+ }
+ mp_playlist_mgr_set_current(ad->playlist_mgr,
+ mp_playlist_mgr_get_nth(ad->
+ playlist_mgr,
+ 0));
+ *start_playback = true;
+ }
+ IF_FREE(val);
+ } else if (!g_strcmp0(request, MP_REQ_TYPE_AUTO_PLAYLIST)) {
+ if (!app_control_get_extra_data
+ (app_control, MP_EXTRA_KEY_PLAY_PLAYLIST, &val)) {
+ mp_media_list_h media = NULL;
+ int count = 0;
+ mp_track_type_e type = 0;
+ if (!g_strcmp0(val, MP_EXTRA_VAL_RECENTLY_ADDED)) {
+ type = MP_TRACK_BY_ADDED_TIME;
+ } else if (!g_strcmp0(val, MP_EXTRA_VAL_RECENTLY_PLAYED)) {
+ type = MP_TRACK_BY_PLAYED_TIME;
+ } else if (!g_strcmp0(val, MP_EXTRA_VAL_MOST_PLAYED)) {
+ type = MP_TRACK_BY_PLAYED_COUNT;
+ } else if (!g_strcmp0(val, MP_EXTRA_VAL_FAVORITE)) {
+ type = MP_TRACK_BY_FAVORITE;
+ } else {
+ WARN_TRACE("invalid playlist : %s", val);
+ return -1;
+ }
+
+ mp_media_info_list_count(type, NULL, NULL, NULL, 0, &count);
+ if (count > 100) {
+ count = 100;
+ }
+ mp_media_info_list_create(&media, type, NULL, NULL, NULL, 0, 0,
+ count);
+ mp_common_create_playlist_mgr();
+ mp_playlist_mgr_clear(ad->playlist_mgr);
+ mp_util_append_media_list_item_to_playlist(ad->playlist_mgr,
+ media, count, 0,
+ NULL);
+ mp_media_info_list_destroy(media);
+ *start_playback = true;
+ }
+ IF_FREE(val);
+ } else if (!g_strcmp0(request, MP_REQ_TYPE_USER_PLAYLIST)) {
+ if (!app_control_get_extra_data
+ (app_control, MP_EXTRA_KEY_PLAY_PLAYLIST, &val)) {
+ mp_media_list_h media = NULL;
+ int count = 0;
+ int id = 0;
+
+ mp_media_info_playlist_get_id_by_name(val, &id);
+ mp_media_info_list_count(MP_TRACK_BY_PLAYLIST, NULL, NULL,
+ NULL, id, &count);
+ if (count > 100) {
+ count = 100;
+ }
+ mp_media_info_list_create(&media, MP_TRACK_BY_PLAYLIST, NULL,
+ NULL, NULL, id, 0, count);
+ mp_common_create_playlist_mgr();
+ mp_playlist_mgr_clear(ad->playlist_mgr);
+ mp_util_append_media_list_item_to_playlist(ad->playlist_mgr,
+ media, count, 0,
+ NULL);
+ mp_media_info_list_destroy(media);
+ *start_playback = true;
+ }
+ IF_FREE(val);
+ } else if (!g_strcmp0(request, MP_REQ_TYPE_PLAY_NEXT)) {
+ if (ad->playlist_mgr == NULL) {
+ _mp_main_parse_get_playlist(ad);
+ }
+ if (mp_playlist_mgr_count(ad->playlist_mgr)) {
+ mp_play_next_file(ad, true);
+ /* when player view is popped, we need to re-create it */
+ *start_playback = true;
+ } else {
+ ret = -1;
+ }
+ } else if (!g_strcmp0(request, MP_REQ_TYPE_PLAY_PREV)) {
+ if (ad->playlist_mgr == NULL) {
+ _mp_main_parse_get_playlist(ad);
+ }
+ if (mp_playlist_mgr_count(ad->playlist_mgr)) {
+ mp_play_prev_file(ad);
+ /* when player view is popped, we need to re-create it */
+ *start_playback = true;
+ } else {
+ ret = -1;
+ }
+ } else if (!g_strcmp0(request, MP_REQ_TYPE_RECENTLY_PLAYED)) {
+ _mp_main_parse_get_playlist(ad);
+ *start_playback = true;
+ } else if (!g_strcmp0(request, "livebox")) {
+ } else {
+ WARN_TRACE("Invalid request: %s", request);
+ ret = -1;
+ }
+
+ return ret;
+}
+
+#ifdef MP_SOUND_PLAYER
+static void
+_mp_main_set_transient(struct appdata *ad, app_control_h app_control)
+{
+#ifdef MP_FEATURE_EXIT_ON_BACK
+ if (ad->caller_win_id) {
+ DEBUG_TRACE("unset transient for win: 0x%x", ad->caller_win_id);
+ ad->caller_win_id = 0;
+ ad->callerWinEventHandler = NULL;
+ }
+#endif
+}
+#endif
+
+#ifndef MP_SOUND_PLAYER
+static void
+_mp_main_parse_playback_control(struct appdata *ad,
+ app_control_h app_control)
+{
+ MP_CHECK(ad);
+ MP_CHECK(app_control);
+ MP_CHECK(ad->playlist_mgr);
+
+ char *control = NULL;
+ app_control_get_extra_data(app_control, "control", &control);
+ if (control) {
+ WARN_TRACE("control = %s", control);
+ mp_plst_item *current = NULL;
+ if (!g_strcmp0(control, "PREV")) {
+ current = mp_playlist_mgr_get_prev(ad->playlist_mgr);
+ } else if (!g_strcmp0(control, "NEXT")) {
+ current =
+ mp_playlist_mgr_get_next(ad->playlist_mgr, true, false);
+ }
+
+ if (current) {
+ mp_playlist_mgr_set_current(ad->playlist_mgr, current);
+ }
+ }
+ IF_FREE(control);
+}
+
+static void
+_mp_main_create_default_playing_list(struct appdata *ad, int index)
+{
+ startfunc;
+
+ int count;
+ mp_media_list_h all = NULL;
+ char *path = NULL;
+
+ char *last_played_path = NULL;
+ mp_setting_get_now_playing_path_from_file(&last_played_path);
+ SECURE_DEBUG("last played path = %s", last_played_path);
+
+ mp_common_create_playlist_mgr();
+ mp_playlist_mgr_clear(ad->playlist_mgr);
+
+ char *data_path = app_get_data_path();
+ char nowplaying_list_data[1024] = { 0 };
+ snprintf(nowplaying_list_data, 1024, "%s%s", data_path,
+ MP_NOWPLAYING_LIST_DATA);
+ free(data_path);
+ mp_playlist_mgr_lazy_append_with_file(ad->playlist_mgr,
+ nowplaying_list_data,
+ last_played_path, -1);
+
+ if (mp_playlist_mgr_count(ad->playlist_mgr) == 0) {
+ mp_media_info_list_count(MP_TRACK_ALL, NULL, NULL, NULL, 0,
+ &count);
+ mp_media_info_list_create(&all, MP_TRACK_ALL, NULL, NULL, NULL, 0,
+ 0, count);
+ mp_util_append_media_list_item_to_playlist(ad->playlist_mgr, all,
+ count, index, path);
+ mp_media_info_list_destroy(all);
+ }
+ IF_FREE(last_played_path);
+}
+#endif
+
+static int
+_mp_main_parse_livebox_event(app_control_h app_control,
+ bool * activate_window, bool * start_playback)
+{
+#ifndef MP_SOUND_PLAYER
+ startfunc;
+ char *value = NULL;
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_VAL(ad, -1);
+
+ if (!app_control_get_extra_data(app_control, MP_LB_EVENT_KEY, &value)) {
+ *activate_window = false;
+ EVENT_TRACE("event: %s", value);
+ if (mp_playlist_mgr_count(ad->playlist_mgr)) {
+ *start_playback = false;
+ if (!g_strcmp0(value, MP_LB_EVENT_NEXT_PRESSED)) {
+ mp_play_control_ff(1, 0, 1);
+ } else if (!g_strcmp0(value, MP_LB_EVENT_NEXT_RELEASED)) {
+ mp_play_control_ff(0, 0, 1);
+ } else if (!g_strcmp0(value, MP_LB_EVENT_PREV_PRESSED)) {
+ mp_play_control_rew(1, 0, 1);
+ } else if (!g_strcmp0(value, MP_LB_EVENT_PREV_RELEASED)) {
+ mp_play_control_rew(0, 0, 1);
+ } else if (!g_strcmp0(value, MP_LB_EVENT_PLAY_CLICKED)) {
+ ad->music_pos = mp_player_mgr_get_position() / 1000.0;
+ mp_play_control_play_pause(ad, true);
+ } else if (!g_strcmp0(value, MP_LB_EVENT_PAUSE_CLICKED)) {
+ ad->music_pos = mp_player_mgr_get_position() / 1000.0;
+ mp_play_control_play_pause(ad, false);
+ } else if (!g_strcmp0(value, MP_LB_EVENT_SHUFFLE_ON_CLICKED)) {
+ mp_play_control_shuffle_set(ad, FALSE);
+ } else if (!g_strcmp0(value, MP_LB_EVENT_SHUFFLE_OFF_CLICKED)) {
+ mp_play_control_shuffle_set(ad, TRUE);
+ } else if (!g_strcmp0(value, MP_LB_EVENT_REPEAT_ALL_CLICKED)) {
+ mp_setting_set_repeat_state(MP_SETTING_REP_1);
+ mp_playlist_mgr_set_repeat(ad->playlist_mgr,
+ MP_PLST_REPEAT_ONE);
+ } else if (!g_strcmp0(value, MP_LB_EVENT_REPEAT_1_CLICKED)) {
+ mp_setting_set_repeat_state(MP_SETTING_REP_NON);
+ mp_playlist_mgr_set_repeat(ad->playlist_mgr,
+ MP_PLST_REPEAT_NONE);
+ } else if (!g_strcmp0(value, MP_LB_EVENT_REPEAT_A_CLICKED)) {
+ mp_setting_set_repeat_state(MP_SETTING_REP_ALL);
+ mp_playlist_mgr_set_repeat(ad->playlist_mgr,
+ MP_PLST_REPEAT_ALL);
+ }
+ IF_FREE(value);
+
+ return TRUE;
+ } else {
+ _mp_main_create_default_playing_list(ad, 0);
+ if (g_strcmp0(value, MP_LB_EVENT_NEXT_PRESSED) &&
+ g_strcmp0(value, MP_LB_EVENT_NEXT_RELEASED) &&
+ g_strcmp0(value, MP_LB_EVENT_PREV_PRESSED) &&
+ g_strcmp0(value, MP_LB_EVENT_PREV_RELEASED) &&
+ g_strcmp0(value, MP_LB_EVENT_PLAY_CLICKED) &&
+ g_strcmp0(value, MP_LB_EVENT_PAUSE_CLICKED)) {
+ *start_playback = false;
+ } else {
+ *start_playback = true;
+ if (!g_strcmp0(value, MP_LB_EVENT_NEXT_PRESSED)) {
+ mp_play_control_ff(1, 0, 1);
+ } else if (!g_strcmp0(value, MP_LB_EVENT_NEXT_RELEASED)) {
+ mp_play_control_ff(0, 0, 1);
+ } else if (!g_strcmp0(value, MP_LB_EVENT_PREV_PRESSED)) {
+ mp_play_control_rew(1, 0, 1);
+ } else if (!g_strcmp0(value, MP_LB_EVENT_PREV_RELEASED)) {
+ mp_play_control_rew(0, 0, 1);
+ }
+ }
+ }
+
+ } else
+ if (!app_control_get_extra_data
+ (app_control, MP_NOWPLAYING_LIST_INDEX, &value)) {
+ *activate_window = false;
+ int index = 0;
+ if (value) {
+ index = atoi(value);
+ }
+ IF_FREE(value);
+
+ app_control_get_extra_data(app_control, MP_REFRESH_PLAYLIST,
+ &value);
+
+ mp_play_destory(ad);
+
+ mp_common_create_playlist_mgr();
+ mp_playlist_mgr_clear(ad->playlist_mgr);
+
+ char *data_path = app_get_data_path();
+ char group_list_data[1024] = { 0 };
+ snprintf(group_list_data, 1024, "%s%s", data_path,
+ MP_GROUP_LIST_DATA);
+ free(data_path);
+ mp_playlist_mgr_lazy_append_with_file(ad->playlist_mgr,
+ group_list_data, NULL,
+ index);
+ *start_playback = true;
+ return true;
+ }
+ int ret = 0;
+ bundle *b = NULL;
+ DEBUG_TRACE("ready to call _parse_widget_event");
+ int err = app_control_to_bundle(app_control, &b);
+ if (err) {
+ ERROR_TRACE("app_control_to_bundle() .. [0x%x]", err);
+ }
+
+ if (b) {
+ DEBUG_TRACE("calling _parse_widget_event");
+ ret = _parse_widget_event(b, activate_window);
+ }
+
+ return ret;
+
+ //IF_FREE(value);
+#endif
+ return 0;
+}
+
+static bool _mp_main_check_servic_type(struct appdata *ad,
+ app_control_h app_control)
+{
+ startfunc;
+ MP_CHECK_FALSE(app_control);
+ MP_CHECK_FALSE(ad);
+
+ bool ret = false;
+ char *val = NULL;
+ app_control_get_extra_data(app_control, "signal", &val);
+ if (!g_strcmp0(val, "serviceType")) {
+ const char *type = (CHECK_STORE) ? "store" : "native";
+ DEBUG_TRACE("Samsung hub request service type [%s]", type);
+ app_control_h reply = NULL;
+ app_control_create(&reply);
+ app_control_add_extra_data(reply, "resultCode", "RESULT_OK");
+ app_control_add_extra_data(reply, "serviceType", type);
+ app_control_reply_to_launch_request(reply, app_control,
+ APP_CONTROL_RESULT_SUCCEEDED);
+ app_control_destroy(reply);
+
+ ret = true;
+ }
+ IF_FREE(val);
+
+ return ret;
+}
+
+static int
+_mp_main_parse_service(struct appdata *ad, app_control_h app_control,
+ bool * activate_window, bool * start_playback)
+{
+ startfunc;
+ int ret = 0;
+ MP_CHECK_VAL(app_control, -1);
+
+ app_control_foreach_extra_data(app_control,
+ __mp_main_app_control_extra_data_cb,
+ NULL);
+
+ char *value = NULL;
+#ifdef MP_SOUND_PLAYER
+ mp_setting_set_nowplaying_id(getpid());
+
+ /* create playlist mgr before parse service */
+ mp_common_create_playlist_mgr();
+
+ if (!app_control_get_extra_data(app_control, IS_TEMP_FILE, &value)) {
+ DEBUG_TRACE
+ ("This is a temporary file.... Do not display detail view");
+ ad->disable_detail_view = true;
+ } else {
+ ERROR_TRACE("Menu State cannot be determined");
+ ad->disable_detail_view = false;
+ }
+
+ if (!app_control_get_extra_data(app_control, APP_EXIT_STATUS, &value)) {
+ DEBUG_TRACE("Application Exit Status is %s", value);
+ ad->exit_status = false;
+ } else {
+ ERROR_TRACE("Application Exit Status cannot be determined");
+ ad->exit_status = true;
+ }
+
+ if (!app_control_get_extra_data(app_control, MP_REQ_TYPE, &value)) {
+ DEBUG_TRACE("request_type: %s", value);
+ if (_mp_main_parse_request_type
+ (ad, app_control, value, start_playback)) {
+ WARN_TRACE("Error: _mp_main_parse_request_type");
+ ret = -1;
+ }
+ IF_FREE(value);
+ } else if (mp_common_parse_view_operation(app_control)) {
+ *start_playback = TRUE;
+ } else {
+ ERROR_TRACE("No uri...");
+ }
+
+ IF_FREE(ad->cookie);
+ IF_FREE(ad->proxy);
+
+ char *cookie = NULL;
+ if (!app_control_get_extra_data(app_control, "cookie", &cookie)) {
+ ad->cookie = cookie;
+ cookie = NULL;
+ }
+ char *proxy = NULL;
+ if (!app_control_get_extra_data(app_control, "proxy", &proxy)) {
+ ad->proxy = proxy;
+ proxy = NULL;
+ }
+ _mp_main_set_transient(ad, app_control);
+
+#else /* MP_SOUND_PLAYER */
+ if (!app_control_get_extra_data(app_control, "Launch By", &value)) {
+ if (!g_strcmp0(value, "By Sfinder")) {
+ DEBUG_TRACE("Launch by Sfinder");
+ mp_media_list_h media = NULL;
+ int count;
+ char *uri = NULL;
+ app_control_get_uri(app_control, &uri);
+ mp_common_create_playlist_mgr();
+
+ mp_media_info_list_count(MP_TRACK_ALL, NULL, NULL, NULL, 0,
+ &count);
+ mp_media_info_list_create(&media, MP_TRACK_ALL, NULL, NULL,
+ NULL, 0, 0, count);
+ mp_util_append_media_list_item_to_playlist(ad->playlist_mgr,
+ media, count, 0,
+ uri);
+ mp_media_info_list_destroy(media);
+ IF_FREE(uri);
+
+ *start_playback = true;
+
+ goto END;
+ }
+
+ IF_FREE(value);
+ }
+
+ if (!app_control_get_extra_data(app_control, MP_REQ_TYPE, &value)) {
+ DEBUG_TRACE("request_type: %s", value);
+ if (_mp_main_parse_request_type
+ (ad, app_control, value, start_playback)) {
+ WARN_TRACE("Error: _mp_main_parse_request_type");
+ ret = -1;
+ } else if (!g_strcmp0(value, MP_LIVEBOX)) {
+ int count;
+ mp_media_list_h media = NULL;
+ char *uri = NULL;
+
+ *activate_window = false;
+
+ mp_common_create_playlist_mgr();
+ app_control_get_extra_data(app_control, MP_LIVEBOX_URI, &uri);
+
+ mp_media_info_list_count(MP_TRACK_ALL, NULL, NULL, NULL, 0,
+ &count);
+ mp_media_info_list_create(&media, MP_TRACK_ALL, NULL, NULL,
+ NULL, 0, 0, count);
+ mp_util_append_media_list_item_to_playlist(ad->playlist_mgr,
+ media, count, 0,
+ uri);
+ mp_media_info_list_destroy(media);
+
+ *start_playback = true;
+
+ _mp_main_parse_playback_control(ad, app_control);
+
+ IF_FREE(uri);
+ }
+ IF_FREE(value);
+ } else {
+ if (!app_control_get_extra_data(app_control, MP_MM_KEY, &value)) {
+ DEBUG_TRACE("mm key event, ad->player_state : %d",
+ ad->player_state);
+ *activate_window = false;
+
+ /* Do not start playback on pause cd. */
+ if (g_strcmp0(value, "XF86AudioPause")) {
+ if (ad->player_state == PLAY_STATE_PAUSED) {
+ mp_play_control_play_pause(ad, true);
+ } else {
+
+ _mp_main_create_default_playing_list(ad, 0);
+ *start_playback = true;
+ }
+ }
+
+ IF_FREE(value);
+ }
+
+ _mp_main_parse_playback_control(ad, app_control);
+ }
+ END:
+
+#endif
+ IF_FREE(value);
+ return ret;
+}
+
+static void _mp_atexit_cb(void)
+{
+ ERROR_TRACE("#exit() invoked. music-player is exiting");
+}
+
+static void _mp_csc_feature_init(struct appdata *ad)
+{
+ MP_CHECK(ad);
+}
+
+/**< Called before main loop */
+static bool mp_create(void *data)
+{
+ eventfunc;
+ PROFILE_IN("mp_create");
+ struct appdata *ad = data;
+ g_ad = (struct appdata *) data;
+ atexit(_mp_atexit_cb);
+
+ PROFILE_IN("_mp_csc_feature_get");
+ _mp_csc_feature_init(ad);
+ PROFILE_OUT("_mp_csc_feature_get");
+
+ MP_CHECK_VAL(ad, EINA_FALSE);
+
+ PROFILE_IN("elm_theme_extension_add");
+ /* do extension add before add elm object. */
+ char edje_path[1024] = { 0 };
+ char *path = app_get_resource_path();
+ if (path == NULL) {
+ return false;
+ }
+ MP_CHECK_VAL(path, EINA_FALSE);
+ snprintf(edje_path, 1024, "%s%s/%s", path, "edje", THEME_NAME);
+
+ elm_theme_extension_add(NULL, edje_path);
+ PROFILE_OUT("elm_theme_extension_add");
+
+ char locale_path[1024] = { 0 };
+ snprintf(locale_path, 1024, "%s%s", path, LOCALE_DIR);
+ free(path);
+ PROFILE_IN("bindtextdomain");
+ bindtextdomain(DOMAIN_NAME, locale_path);
+ PROFILE_OUT("bindtextdomain");
+
+#ifdef MP_SOUND_PLAYER
+ ad->isPlayBtn = true;
+ if (_mp_is_current_focus_available(ad) != 0) {
+ ERROR_TRACE
+ ("Some other application has the focus currently... Returning...");
+ return false;
+ }
+#endif
+
+ PROFILE_IN("mp_create_win");
+ ad->win_main = mp_create_win("music-player");
+ mp_retv_if(ad->win_main == NULL, EINA_FALSE);
+
+ elm_win_wm_rotation_preferred_rotation_set(ad->win_main, 0);
+ PROFILE_OUT("mp_create_win");
+
+ ad->evas = evas_object_evas_get(ad->win_main);
+
+ if (!_mp_main_init(ad)) {
+ ERROR_TRACE("Fail when init music");
+ return EINA_FALSE;
+ }
+
+ mp_setting_init(ad);
+ mp_language_mgr_create();
+#ifdef MP_FEATURE_GL
+ Evas_Object *bg = mp_widget_create_bg(ad->win_main);
+ elm_win_resize_object_add(ad->win_main, bg);
+#endif
+ PROFILE_IN("elm_conformant_add");
+ Evas_Object *conformant = NULL;
+ conformant = elm_conformant_add(ad->win_main);
+ MP_CHECK_FALSE(conformant);
+
+ elm_object_signal_emit(conformant, "elm,state,indicator,overlap", "");
+ evas_object_data_set(conformant, "overlap", (void *) EINA_TRUE);
+
+ evas_object_size_hint_weight_set(conformant, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ evas_object_show(conformant);
+ elm_win_resize_object_add(ad->win_main, conformant);
+
+ ad->conformant = conformant;
+ PROFILE_OUT("elm_conformant_add");
+
+ ad->view_manager = mp_view_mgr_create(ad->conformant);
+ MP_CHECK_FALSE(ad->view_manager);
+
+ elm_object_content_set(ad->conformant, ad->view_manager->navi);
+
+ /* bluetooth control when launch app */
+ mp_app_grab_mm_keys(ad);
+
+ PROFILE_OUT("mp_create");
+ return EINA_TRUE;
+}
+
+/**< Called after main loop */
+static void mp_terminate(void *data)
+{
+ eventfunc;
+ struct appdata *ad = data;
+ DEBUG_TRACE_FUNC();
+ mp_retm_if(ad == NULL, "ad is null");
+
+#ifdef MP_SOUND_PLAYER
+ preference_set_int(PREF_SOUND_PLAYER_LAUNCH, PREF_PLAYER_OFF);
+#else
+ preference_set_int(PREF_MUSIC_PLAYER_LAUNCH, PREF_PLAYER_OFF);
+#endif
+
+ mp_volume_finalize();
+
+ int ret = RECORDER_ERROR_NONE;
+ ret = recorder_remove_device_state_changed_cb(ad->recorder_id);
+ if (ret != RECORDER_ERROR_NONE) {
+ ERROR_TRACE("Unable to remove callback for recorder state");
+ }
+
+ int error = SOUND_MANAGER_ERROR_NONE;
+ error = sound_manager_remove_device_state_changed_cb(ad->device_state_id);
+ if (error != SOUND_MANAGER_ERROR_NONE) {
+ ERROR_TRACE("Cannot remove device state changed callback");
+ }
+
+ if (ad->stream_info) {
+ error =
+ sound_manager_destroy_stream_information(ad->stream_info);
+ if (error != SOUND_MANAGER_ERROR_NONE) {
+ ERROR_TRACE("unable to destroy stream. error code [%x]",
+ error);
+ }
+ }
+#ifdef MP_SOUND_PLAYER
+ mp_setting_set_nowplaying_id(0);
+#endif
+
+ if (ad->monitor) {
+ ecore_file_monitor_del(ad->monitor);
+ }
+ mp_language_mgr_destroy();
+ mp_ecore_idler_del(ad->app_init_idler);
+ mp_ecore_timer_del(ad->longpress_timer);
+ mp_ecore_timer_del(ad->live_pos_timer);
+
+#ifdef MP_FEATURE_AUTO_OFF
+ mp_ecore_timer_del(ad->auto_off_timer);
+ mp_ecore_timer_del(ad->pause_off_timer);
+#endif
+
+ if (ad->sleep_unlock_timer) {
+ mp_util_sleep_lock_set(FALSE, TRUE);
+ }
+
+ mp_app_ungrab_mm_keys(ad);
+
+ if (ad->key_down) {
+ ecore_event_handler_del(ad->key_down);
+ }
+ if (ad->key_up) {
+ ecore_event_handler_del(ad->key_up);
+ }
+ if (ad->mouse_button_down) {
+ ecore_event_handler_del(ad->mouse_button_down);
+ }
+ if (ad->visibility_change) {
+ ecore_event_handler_del(ad->visibility_change);
+ ad->visibility_change = NULL;
+ }
+ if (ad->focus_in) {
+ ecore_event_handler_del(ad->focus_in);
+ ad->focus_in = NULL;
+ }
+ if (ad->focus_out) {
+ ecore_event_handler_del(ad->focus_out);
+ ad->focus_out = NULL;
+ }
+ if (ad->player_state != PLAY_STATE_NONE) {
+ mp_player_mgr_stop(ad);
+ mp_player_mgr_destroy(ad);
+ }
+
+ if (!mp_util_is_other_player_playing()) {
+ int ret_set = 0;
+ ret_set = preference_set_int(PREF_MUSIC_STATE, PREF_MUSIC_OFF);
+ if (ret_set) {
+ ERROR_TRACE("set preference failed");
+ }
+ }
+ ad->freeze_indicator_icon = false;
+ mp_setting_set_player_state(MP_PLAY_STATE_NONE);
+ mp_minicontroller_destroy(ad);
+#ifdef MP_FEATURE_LOCKSCREEN
+ mp_lockscreenmini_destroy(ad);
+#endif
+
+ GList *list = ad->checkedList;
+ if (list) {
+ while (list) {
+ char *data = list->data;
+ IF_FREE(data);
+ list = g_list_next(list);
+ }
+ g_list_free(list);
+ list = NULL;
+ }
+
+ mp_player_mgr_safety_volume_set(0);
+
+ if (!mp_player_mgr_session_finish()) {
+ ERROR_TRACE("Error when set session");
+ }
+ mp_playlist_mgr_destroy(ad->playlist_mgr);
+ ad->playlist_mgr = NULL;
+
+ mp_util_free_track_info(ad->current_track_info);
+ ad->current_track_info = NULL;
+
+ mp_media_info_disconnect();
+ mp_setting_deinit(ad);
+ if (!mp_app_noti_ignore(ad)) {
+ ERROR_TRACE("Error when ignore noti");
+ }
+
+ mp_view_mgr_destory(GET_VIEW_MGR);
+
+ MP_TA_ACUM_ITEM_SHOW_RESULT_TO(MP_TA_SHOW_FILE);
+ MP_TA_RELEASE();
+
+ int music_state = PREF_PLAYER_OFF;
+ int sound_state = PREF_PLAYER_OFF;
+ ret = PREFERENCE_ERROR_NONE;
+ ret = preference_get_int(PREF_MUSIC_PLAYER_LAUNCH, &music_state);
+ if (ret != PREFERENCE_ERROR_NONE) {
+ ERROR_TRACE("Cannot determine PREF_MUSIC_PLAYER_LAUNCH key value");
+ music_state = PREF_PLAYER_OFF;
+ }
+ ret = PREFERENCE_ERROR_NONE;
+ ret = preference_get_int(PREF_SOUND_PLAYER_LAUNCH, &sound_state);
+ if (ret != PREFERENCE_ERROR_NONE) {
+ ERROR_TRACE("Cannot determine PREF_SOUND_PLAYER_LAUNCH key value");
+ sound_state = PREF_PLAYER_OFF;
+ }
+ if (music_state == PREF_PLAYER_OFF && sound_state == PREF_PLAYER_OFF) {
+ DEBUG_TRACE("Removing indicator icon from notification panel");
+ if (ad->noti) {
+ notification_delete_all_by_type("org.tizen.music-player",
+ NOTIFICATION_TYPE_NOTI);
+ notification_delete_all_by_type("org.tizen.sound-player",
+ NOTIFICATION_TYPE_NOTI);
+ notification_free(ad->noti);
+ }
+ }
+
+ /* Clearing the shared file to destroy play information */
+ mp_setting_remove_now_playing_shared_status();
+ return;
+}
+
+/**< Called when every window goes back */
+static void mp_pause(void *data)
+{
+ eventfunc;
+ return;
+}
+
+/**< Called when any window comes on top */
+static void mp_resume(void *data)
+{
+ eventfunc;
+
+ return;
+}
+
+static Eina_Bool _check_app_control_timer_cb(void *data)
+{
+ struct appdata *ad = data;
+ MP_CHECK_FALSE(ad);
+
+ ad->app_control_check_timer = NULL;
+
+ if (g_normal_launched == false) {
+ DEBUG_TRACE
+ ("It's launched to check store available. terminate App");
+ elm_exit();
+ }
+ return false;
+}
+
+/**< Called at the first idler and relaunched by AUL*/
+static void app_control(app_control_h app_control, void *data)
+{
+ eventfunc;
+ PROFILE_IN("mp_service");
+
+ char *operation = NULL;
+ struct appdata *ad = data;
+ mp_ret_if(ad == NULL);
+
+ bool activate_window = true;
+ bool start_playback = false;
+
+ if (ad->exit_job) {
+ ecore_job_del(ad->exit_job);
+ ad->exit_job = NULL;
+ }
+
+ if (!app_control_get_operation(app_control, &operation)) {
+ DEBUG_TRACE("operation: %s", operation);
+ }
+ IF_FREE(operation);
+
+ /* @@ initialize session type @@ */
+ /* @@ important session init should be set before play @@ */
+ if (!mp_player_mgr_session_init()) {
+ ERROR_TRACE("Error when set session");
+ }
+
+ if (_mp_main_check_servic_type(ad, app_control)) {
+ /* check service type by samsung hub */
+ if (g_normal_launched == false) {
+ evas_object_show(ad->win_main);
+ elm_win_iconified_set(ad->win_main, EINA_TRUE);
+ elm_win_lower(ad->win_main);
+ ad->app_control_check_timer =
+ ecore_timer_add(0.1, _check_app_control_timer_cb, ad);
+ WARN_TRACE("Samsung hub checked service type before launched");
+ }
+ return;
+ }
+
+ PROFILE_IN("_mp_main_parse_service");
+ if (_mp_main_parse_service
+ (ad, app_control, &activate_window, &start_playback)) {
+ ERROR_TRACE("Error: _mp_main_parse_service");
+ elm_exit();
+ return;
+ }
+ PROFILE_OUT("_mp_main_parse_service");
+
+ if (_mp_main_parse_livebox_event
+ (app_control, &activate_window, &start_playback)) {
+ DEBUG_TRACE
+ ("Livebox event: activate_window[%d], start_playback[%d]",
+ activate_window, start_playback);
+ }
+
+ if (test_uri) {
+ ERROR_TRACE("Test url [%s]", test_uri);
+ start_playback = true;
+ activate_window = true;
+ mp_common_create_playlist_mgr();
+ mp_playlist_mgr_item_append(ad->playlist_mgr, test_uri, NULL, NULL,
+ NULL, MP_TRACK_URI);
+ }
+
+ int launch_by_shortcut = false;
+#ifdef MP_FEATURE_OPTIMIZATION_LAUNCH_TIME
+ int early_show_main_win = true;
+#ifdef MP_SOUND_PLAYER
+ if (!start_playback) {
+ early_show_main_win = false;
+ }
+#else
+ if (activate_window) {
+ MpTab_e tab = MP_TAB_SONGS;
+ char *shortcut_main_info = NULL;
+ _mp_common_parse_open_shortcut(app_control, &tab,
+ &shortcut_main_info);
+ if (shortcut_main_info) {
+ launch_by_shortcut = true;
+ }
+ }
+#endif
+ if (activate_window && !launch_by_shortcut && early_show_main_win) {
+ evas_object_show(ad->win_main);
+ }
+#endif
+ if (start_playback) {
+ mp_play_destory(ad);
+ ad->paused_by_user = FALSE;
+#ifdef MP_SOUND_PLAYER
+ ad->app_is_foreground = true; /* for error popup */
+#endif
+ int ret = mp_play_new_file(ad, TRUE);
+ if (ret) {
+ ERROR_TRACE("Error: mp_play_new_file..");
+ }
+#ifndef MP_SOUND_PLAYER
+ ad->app_is_foreground = false;
+ ad->is_focus_out = true;
+ _show_minicontroller(ad);
+#endif
+ }
+#ifndef MP_SOUND_PLAYER
+ if (start_playback) {
+ DEBUG_TRACE("Start playback");
+ if (activate_window) {
+ mp_common_create_initial_view(ad, NULL, NULL);
+ mp_common_show_player_view(0, true, false, true);
+ } else {
+ DEBUG_TRACE("View will be created on player_start");
+ goto END; /* view should be created after player started... */
+ }
+ }
+#else
+ if (!start_playback) {
+ ERROR_TRACE("check service key, start_playback is false");
+ mp_app_exit(ad);
+ return;
+ }
+#endif
+
+ if (activate_window) {
+ mp_common_create_initial_view(ad, app_control,
+ &launch_by_shortcut);
+ } else {
+ DEBUG_TRACE("unactivate window");
+ goto END;
+ }
+ if (launch_by_shortcut) {
+ /* window activate should be done in idler.. */
+ goto END;
+ }
+
+
+ evas_object_show(ad->win_main);
+
+ if (activate_window) {
+ DEBUG_TRACE("activate window");
+ elm_win_activate(ad->win_main);
+ ad->app_is_foreground = true;
+ } else {
+ DEBUG_TRACE("lower window");
+ elm_win_iconified_set(ad->win_main, EINA_TRUE);
+ elm_win_lower(ad->win_main);
+ ad->app_is_foreground = false;
+ ad->is_focus_out = true;
+ _show_minicontroller(ad);
+ }
+
+ display_state_e state;
+ if (device_display_get_state(&state) == DISPLAY_STATE_SCREEN_OFF) {
+ ad->is_lcd_off = true;
+ }
+ bool reply_requested = false;
+ app_control_is_reply_requested(app_control, &reply_requested);
+ if (reply_requested) {
+ DEBUG_TRACE("send reply to caller");
+ app_control_h reply = NULL;
+ app_control_create(&reply);
+ app_control_reply_to_launch_request(reply, app_control,
+ APP_CONTROL_RESULT_SUCCEEDED);
+ app_control_destroy(reply);
+ }
+ PROFILE_OUT("mp_service");
+
+ END:
+ if (!g_normal_launched) {
+ if (!_mp_main_is_launching_available(ad)) {
+ return;
+ }
+ ad->app_init_idler =
+ ecore_idler_add(_mp_main_app_init_idler_cb, ad);
+ g_normal_launched = true;
+ }
+
+ endfunc;
+ return;
+}
+
+static void mp_low_battery(app_event_info_h event_info, void *data)
+{
+ eventfunc;
+ struct appdata *ad = (struct appdata *) data;
+ MP_CHECK(ad);
+
+ app_event_low_battery_status_e status = -1;
+
+ int ret = app_event_get_low_battery_status(event_info, &status);
+ if (ret == APP_ERROR_NONE) {
+ ad->low_battery_status = status;
+ if (status <= APP_EVENT_LOW_BATTERY_POWER_OFF) {
+ mp_app_exit(ad);
+ }
+ } else {
+ DEBUG_TRACE("Failed to get battery status. ret %d", ret);
+ }
+ return;
+}
+
+/*
+** this is register in app_event_callback_s for catch event of device rotate
+** in the case, we want to get when rotation start.
+** MP_VIEW_ROTATE_START event to indicate rotation start
+** also see MP_VIEW_ROTATE event which indicates rotation done
+*/
+
+static void mp_device_orientation(app_event_info_h event_info, void *data)
+{
+ eventfunc;
+ struct appdata *ad = (struct appdata *) data;
+ MP_CHECK(ad);
+ app_device_orientation_e orientation;
+ app_event_get_device_orientation(event_info, &orientation);
+ ad->quickpanel_angle = orientation;
+ return;
+}
+
+void
+mp_device_orientation_cb(app_device_orientation_e orientation,
+ void *user_data)
+{
+ eventfunc;
+ struct appdata *ad = user_data;
+ MP_CHECK(ad);
+
+ ERROR_TRACE("Device Rotation unsupported");
+ return;
+}
+
+static void
+__mp_language_changed_cb(app_event_info_h event_info, void *user_data)
+{
+ eventfunc;
+ struct appdata *ad = user_data;
+ mp_popup_destroy(ad);
+
+ char *locale = NULL;
+ int retcode =
+ system_settings_get_value_string
+ (SYSTEM_SETTINGS_KEY_LOCALE_LANGUAGE, &locale);
+ if (retcode != SYSTEM_SETTINGS_ERROR_NONE) {
+ ERROR_TRACE
+ ("Unable to fetch the current language setting with return value %d",
+ retcode);
+ }
+ if (locale) {
+ mp_error("locale is [%s]", locale);
+ elm_language_set(locale);
+ free(locale);
+ locale = NULL;
+ }
+
+ mp_language_mgr_update();
+
+#ifndef MP_SOUND_PLAYER
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_LANG_CHANGED);
+#endif
+}
+
+EXPORT_API int main(int argc, char *argv[])
+{
+ startfunc;
+ struct appdata ad;
+
+ ui_app_lifecycle_callback_s event_callbacks;
+
+ int nRet = APP_ERROR_NONE;
+ app_event_handler_h hLowMemoryHandle;
+ app_event_handler_h hLowBatteryHandle;
+ app_event_handler_h hLanguageChangedHandle;
+ app_event_handler_h hDeviceOrientationChangedHandle;
+ app_event_handler_h hRegionFormatChangedHandle;
+
+ ad.low_battery_status = 0;
+
+ event_callbacks.create = mp_create;
+ event_callbacks.terminate = mp_terminate;
+ event_callbacks.pause = mp_pause;
+ event_callbacks.resume = mp_resume;
+ event_callbacks.app_control = app_control;
+
+ nRet =
+ ui_app_add_event_handler(&hLowMemoryHandle, APP_EVENT_LOW_MEMORY,
+ NULL, (void *) &ad);
+ if (nRet != APP_ERROR_NONE) {
+ WARN_TRACE
+ ("APP_EVENT_LOW_MEMORY ui_app_add_event_handler failed : [%d]!!!",
+ nRet);
+ }
+
+ nRet =
+ ui_app_add_event_handler(&hLowBatteryHandle, APP_EVENT_LOW_BATTERY,
+ mp_low_battery, (void *) &ad);
+ if (nRet != APP_ERROR_NONE) {
+ ERROR_TRACE
+ ("APP_EVENT_LOW_BATTERY ui_app_add_event_handler failed : [%d]!!!",
+ nRet);
+ return -1;
+ }
+
+ nRet =
+ ui_app_add_event_handler(&hLanguageChangedHandle,
+ APP_EVENT_LANGUAGE_CHANGED,
+ __mp_language_changed_cb, (void *) &ad);
+ if (nRet != APP_ERROR_NONE) {
+ ERROR_TRACE
+ ("APP_EVENT_LANGUAGE_CHANGED ui_app_add_event_handler failed : [%d]!!!",
+ nRet);
+ return -1;
+ }
+
+ nRet =
+ ui_app_add_event_handler(&hDeviceOrientationChangedHandle,
+ APP_EVENT_DEVICE_ORIENTATION_CHANGED,
+ mp_device_orientation, (void *) &ad);
+ if (nRet != APP_ERROR_NONE) {
+ ERROR_TRACE
+ ("APP_EVENT_LANGUAGE_CHANGED ui_app_add_event_handler failed : [%d]!!!",
+ nRet);
+ return -1;
+ }
+
+ nRet =
+ ui_app_add_event_handler(&hRegionFormatChangedHandle,
+ APP_EVENT_REGION_FORMAT_CHANGED, NULL,
+ (void *) &ad);
+ if (nRet != APP_ERROR_NONE) {
+ WARN_TRACE
+ ("APP_EVENT_REGION_FORMAT_CHANGED ui_app_add_event_handler failed : [%d]!!!",
+ nRet);
+ }
+
+ MP_TA_INIT();
+ TA_S_L(0, "RENDER_FLUSH_POST(main to render)");
+ /* Enable OpenGL */
+#ifdef MP_FEATURE_GL
+ setenv("ELM_ENGINE", "gl", 1);
+#endif
+ memset(&ad, 0x0, sizeof(struct appdata));
+
+ if (argc == 1) {
+ DEBUG_TRACE("%s", argv[0]);
+ if (g_file_test
+ (argv[0], G_FILE_TEST_EXISTS | G_FILE_TEST_IS_REGULAR)) {
+ test_uri = g_strdup(argv[0]);
+ }
+ }
+
+ return ui_app_main(argc, argv, &event_callbacks, &ad);
+}
--- /dev/null
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+PROJECT(setting-music-player C)
+
+SET(PREFIX ${CMAKE_INSTALL_PREFIX})
+SET(LIBDIR "\${prefix}/lib")
+
+SET(SRCS
+ src/ms-key-ctrl.c
+ src/ms-playlist.c
+)
+
+INCLUDE_DIRECTORIES(
+ ${CMAKE_CURRENT_SOURCE_DIR}/include
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/include
+)
+
+INCLUDE(FindPkgConfig)
+pkg_check_modules(pkgs REQUIRED
+ elementary
+ dlog
+ vconf
+ capi-media-sound-manager
+ storage
+)
+
+FOREACH(flag ${pkgs_CFLAGS})
+ SET(EXTRA_CXXFLAGS "${EXTRA_CXXFLAGS} ${flag}")
+ENDFOREACH(flag)
+
+SET(EXTRA_CXXFLAGS "${EXTRA_CXXFLAGS} -fvisibility=hidden -Wall")
+SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CXXFLAGS}")
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_CXX_FLAGS}")
+SET(CMAKE_LDFLAGS "-Wl,-zdefs" )
+ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
+
+ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS})
+SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES SOVERSION 0.1.0)
+TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS})
+
+
+# set extra defines
+SET(IMAGES_DIR "${CMAKE_INSTALL_PREFIX}/res/images/${PROJECT_NAME}")
+SET(EDJ_DIR "${CMAKE_INSTALL_PREFIX}/res/edje")
+ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
+ADD_DEFINITIONS("-DIMAGES_DIR=\"${IMAGES_DIR}\"")
+ADD_DEFINITIONS("-DEDJ_DIR=\"${EDJ_DIR}\"")
+
+INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
\ No newline at end of file
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __ms_key_ctrl_H__
+#define __ms_key_ctrl_H__
+
+#include "mp-vconf-private-keys.h"
+#include "mp-util.h"
+
+enum {
+ MS_MENU_ALBUMS = 0,
+ MS_MENU_ARTISTS,
+ MS_MENU_GENRES,
+ MS_MENU_COMPOSERS,
+ MS_MENU_YEARS,
+ MS_MENU_FOLDERS,
+ MS_MENU_SQUARE,
+ MS_MENU_NUMS,
+};
+
+typedef struct _ms_eq_custom_t {
+ double band_1;
+ double band_2;
+ double band_3;
+ double band_4;
+ double band_5;
+ double band_6;
+ double band_7;
+ double band_8;
+} ms_eq_custom_t;
+
+typedef struct {
+ double three_d;
+ double bass;
+ double room_size;
+ double reverb_level;
+ double clarity;
+} ms_extended_effect_t;
+
+int ms_key_set_tabs_val(int b_val);
+int ms_key_get_tabs_val(int *b_val);
+
+
+int ms_key_set_playlist_val(int b_val);
+int ms_key_get_playlist_val(int *b_val);
+int ms_key_set_menu_changed(void);
+int ms_key_set_eq_custom(ms_eq_custom_t custom_val);
+
+int ms_key_set_extended_effect(ms_extended_effect_t * extended_val);
+
+void ms_key_set_user_effect(int value);
+
+int ms_key_set_auto_off_time(int min);
+int ms_key_get_auto_off_time(void);
+int ms_key_set_auto_off_custom_time(int min);
+int ms_key_get_auto_off_custom_time(void);
+int ms_key_get_auto_off_val(void);
+int ms_key_set_auto_off_val(int type);
+
+char *ms_key_get_auto_off_time_text(int index);
+
+double ms_key_get_play_speed(void);
+void ms_key_set_play_speed(double speed);
+
+EXPORT_API int ms_key_get_playlist_str(char **b_str);
+EXPORT_API int ms_key_get_tabs_str(char **b_str);
+EXPORT_API int ms_key_set_tabs_str(char *b_str);
+EXPORT_API int ms_key_set_playlist_str(char *b_str);
+
+#endif //__ms_key_ctrl_H__
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MS_PLAYLIST_H__
+#define __MS_PLAYLIST_H__
+
+#include <Elementary.h>
+#include "mp-setting-view.h"
+
+
+EXPORT_API Evas_Object *ms_playlist_list_create(MpSettingView_t * view,
+ Evas_Object * parent);
+EXPORT_API Evas_Object *_ms_playlist_append_pop_genlist(Evas_Object *
+ genlist,
+ Evas_Object *
+ parent);
+EXPORT_API int ms_playlist_check_state_get_val(int *b_val);
+EXPORT_API int ms_playlist_check_state_set_val(int b_val);
+
+
+
+#endif
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include <stdio.h>
+#include <stdbool.h>
+
+#include "ms-key-ctrl.h"
+#include "mp-player-mgr.h"
+
+#ifndef EXPORT_API
+#define EXPORT_API __attribute__ ((visibility("default")))
+#endif
+
+#define dgettext_noop(s) (s)
+#define N_(s) dgettext_noop(s)
+
+#define MP_SETTING_INIT "db/setting/music-player/initialization" //boolean
+
+#define DEFAULT_ALBUMS true
+#define DEFAULT_ARTISTS true
+#define DEFAULT_GENRES true
+#define DEFAULT_COMPOSERS false
+#define DEFAULT_YEARS false
+#define DEFAULT_FOLDERS false
+#define DEFAULT_SQUARE false
+
+#define DEFAULT_MENU_VAL 0x7
+
+#define DEFAULT_EQ_CUSTOM_VAL (0)
+
+static char *auto_off_time_text[KEY_MUSIC_AUTO_OFF_TIME_MAX] = {
+ N_(STR_MP_NOT_USED),
+ N_("IDS_MUSIC_OPT_AFTER_15_MIN_ABB"),
+ N_("IDS_MUSIC_BODY_AFTER_30_MIN"),
+ N_("IDS_MUSIC_BODY_AFTER_1_HOUR"),
+ N_("IDS_MUSIC_POP_AFTER_1_HOUR_30_MIN"),
+ N_("IDS_MUSIC_BODY_AFTER_2_HOURS"),
+ N_("IDS_MUSIC_BODY_CUSTOM"),
+};
+
+EXPORT_API int ms_key_set_menu_changed(void)
+{
+ if (preference_set_boolean(KEY_MUSIC_MENU_CHANGE, true)) {
+ ERROR_TRACE("Fail to set KEY_MUSIC_MENU_CHANGE");
+ return -1;
+ }
+
+ return 0;
+}
+
+EXPORT_API int ms_key_set_playlist_val(int b_val)
+{
+ if (preference_set_int(MP_PREFKEY_PLAYLIST_VAL_INT, b_val)) {
+ ERROR_TRACE("Fail to set %s : %d", MP_PREFKEY_PLAYLIST_VAL_INT,
+ b_val);
+ return -1;
+ }
+
+
+ return 0;
+}
+
+EXPORT_API int ms_key_get_playlist_val(int *b_val)
+{
+ if (preference_get_int(MP_PREFKEY_PLAYLIST_VAL_INT, b_val)) {
+ ERROR_TRACE("Fail to get %s ", MP_PREFKEY_PLAYLIST_VAL_INT);
+ return -1;
+ }
+ return 0;
+}
+
+EXPORT_API int ms_key_set_playlist_str(char *b_str)
+{
+ if (preference_set_string(MP_PREFKEY_PLAYLIST_VAL_STR, b_str)) {
+ ERROR_TRACE("Fail to set %s : %s", MP_PREFKEY_PLAYLIST_VAL_STR,
+ b_str);
+ return -1;
+ }
+
+
+ return 0;
+}
+
+EXPORT_API int ms_key_get_playlist_str(char **b_str)
+{
+ MP_CHECK_VAL(b_str, -1);
+ int ret = 0;
+ ret = preference_get_string(MP_PREFKEY_PLAYLIST_VAL_STR, b_str);
+ if (ret != PREFERENCE_ERROR_NONE) {
+ ERROR_TRACE("Error in preference_get_string() [%d]", ret);
+ return -1;
+ }
+ if (*b_str == NULL) {
+ ERROR_TRACE("Fail to get %d ", ret);
+ return -1;
+ }
+ return 0;
+}
+
+
+EXPORT_API int ms_key_set_tabs_str(char *b_str)
+{
+ if (preference_set_string(MP_PREFKEY_TABS_VAL_STR, b_str)) {
+ ERROR_TRACE("Fail to set %s : %s", MP_PREFKEY_TABS_VAL_STR, b_str);
+ return -1;
+ }
+
+
+ return 0;
+}
+
+EXPORT_API int ms_key_get_tabs_str(char **b_str)
+{
+ MP_CHECK_VAL(b_str, -1);
+ int ret = 0;
+ ret = preference_get_string(MP_PREFKEY_TABS_VAL_STR, b_str);
+ if (*b_str == NULL) {
+ ERROR_TRACE("Fail to get %d ", ret);
+ return -1;
+ }
+ return 0;
+}
+
+EXPORT_API int ms_key_set_tabs_val(int b_val)
+{
+ if (preference_set_int(MP_PREFKEY_TABS_VAL_INT, b_val)) {
+ ERROR_TRACE("Fail to set %s : %d", MP_PREFKEY_TABS_VAL_INT, b_val);
+ return -1;
+ }
+
+
+ return 0;
+}
+
+EXPORT_API int ms_key_get_tabs_val(int *b_val)
+{
+ if (preference_get_int(MP_PREFKEY_TABS_VAL_INT, b_val)) {
+ ERROR_TRACE("Fail to get %s ", MP_PREFKEY_TABS_VAL_INT);
+ return -1;
+ }
+ return 0;
+}
+
+EXPORT_API int ms_key_set_eq_custom(ms_eq_custom_t custom_val)
+{
+ int ret = 0;
+
+ if (preference_set_double
+ (KEY_MUSIC_EQUALISER_CUSTOM_1, custom_val.band_1)) {
+ ERROR_TRACE("fail to set KEY_MUSIC_EQUALISER_CUSTOM_1");
+ ret = -1;
+ }
+
+ if (preference_set_double
+ (KEY_MUSIC_EQUALISER_CUSTOM_2, custom_val.band_2)) {
+ ERROR_TRACE("fail to set KEY_MUSIC_EQUALISER_CUSTOM_2");
+ ret = -1;
+ }
+
+ if (preference_set_double
+ (KEY_MUSIC_EQUALISER_CUSTOM_3, custom_val.band_3)) {
+ ERROR_TRACE("fail to set KEY_MUSIC_EQUALISER_CUSTOM_3");
+ ret = -1;
+ }
+
+ if (preference_set_double
+ (KEY_MUSIC_EQUALISER_CUSTOM_4, custom_val.band_4)) {
+ ERROR_TRACE("fail to set KEY_MUSIC_EQUALISER_CUSTOM_4");
+ ret = -1;
+ }
+
+ if (preference_set_double
+ (KEY_MUSIC_EQUALISER_CUSTOM_5, custom_val.band_5)) {
+ ERROR_TRACE("fail to set KEY_MUSIC_EQUALISER_CUSTOM_5");
+ ret = -1;
+ }
+
+ if (preference_set_double
+ (KEY_MUSIC_EQUALISER_CUSTOM_6, custom_val.band_6)) {
+ ERROR_TRACE("fail to set KEY_MUSIC_EQUALISER_CUSTOM_6");
+ ret = -1;
+ }
+
+ if (preference_set_double
+ (KEY_MUSIC_EQUALISER_CUSTOM_7, custom_val.band_7)) {
+ ERROR_TRACE("fail to set KEY_MUSIC_EQUALISER_CUSTOM_7");
+ ret = -1;
+ }
+
+ if (preference_set_double
+ (KEY_MUSIC_EQUALISER_CUSTOM_8, custom_val.band_8)) {
+ ERROR_TRACE("fail to set KEY_MUSIC_EQUALISER_CUSTOM_8");
+ ret = -1;
+ }
+
+ return ret;
+}
+
+EXPORT_API int
+ms_key_set_extended_effect(ms_extended_effect_t * extended_val)
+{
+ mp_retv_if(!extended_val, -1);
+
+ int ret = 0;
+
+ if (preference_set_double
+ (KEY_MUSIC_USER_AUDIO_EFFECT_3D, extended_val->three_d)) {
+ ERROR_TRACE("fail to set KEY_MUSIC_USER_AUDIO_EFFECT_3D");
+ ret = -1;
+ }
+
+ if (preference_set_double
+ (KEY_MUSIC_USER_AUDIO_EFFECT_BASS, extended_val->bass)) {
+ ERROR_TRACE("fail to set KEY_MUSIC_USER_AUDIO_EFFECT_BASS");
+ ret = -1;
+ }
+
+ if (preference_set_double
+ (KEY_MUSIC_USER_AUDIO_EFFECT_CLARITY, extended_val->clarity)) {
+ ERROR_TRACE("fail to set KEY_MUSIC_USER_AUDIO_EFFECT_CLARITY");
+ ret = -1;
+ }
+
+ return ret;
+}
+
+EXPORT_API void ms_key_set_user_effect(int value)
+{
+ DEBUG_TRACE("value = [0x%x]", value);
+ if (preference_set_int(KEY_MUSIC_SA_USER_CHANGE, value) != 0) {
+ ERROR_TRACE("preference_set_int() failed");
+ }
+}
+
+EXPORT_API int ms_key_set_auto_off_time(int min)
+{
+ int ret = preference_set_int(KEY_MUSIC_AUTO_OFF_TIME_VAL, min);
+ if (ret != 0) {
+ ERROR_TRACE("preference_set_int() failed");
+ }
+
+ return ret;
+}
+
+EXPORT_API int ms_key_get_auto_off_time(void)
+{
+ int min = 0;
+ int ret = preference_get_int(KEY_MUSIC_AUTO_OFF_TIME_VAL, &min);
+ if (ret != 0) {
+ ERROR_TRACE("preference_set_int() failed");
+ }
+
+ return min;
+}
+
+EXPORT_API int ms_key_set_auto_off_custom_time(int min)
+{
+ int ret = preference_set_int(KEY_MUSIC_AUTO_OFF_CUSTOM_TIME, min);
+ if (ret != 0) {
+ ERROR_TRACE("preference_set_int() failed");
+ }
+
+ return ret;
+}
+
+EXPORT_API int ms_key_get_auto_off_custom_time(void)
+{
+ int min = 0;
+ int ret = preference_get_int(KEY_MUSIC_AUTO_OFF_CUSTOM_TIME, &min);
+ if (ret != 0) {
+ ERROR_TRACE("preference_set_int() failed");
+ }
+
+ return min;
+}
+
+EXPORT_API int ms_key_set_auto_off_val(int type)
+{
+ int ret = preference_set_int(KEY_MUSIC_AUTO_OFF_TYPE_VAL, type);
+ if (ret != 0) {
+ ERROR_TRACE("preference_set_int() failed");
+ }
+
+ return ret;
+}
+
+EXPORT_API int ms_key_get_auto_off_val(void)
+{
+ int type = 0;
+ if (preference_get_int(KEY_MUSIC_AUTO_OFF_TYPE_VAL, &type) != 0) {
+ ERROR_TRACE("preference_get_int() failed");
+ return KEY_MUSIC_AUTO_OFF_TIME_OFF; // 0
+ }
+
+ return type;
+}
+
+EXPORT_API char *ms_key_get_auto_off_time_text(int index)
+{
+ if (index < 0 || index >= KEY_MUSIC_AUTO_OFF_TIME_MAX) {
+ ERROR_TRACE("invalid index : %d", index);
+ return NULL;
+ }
+
+ char *text = NULL;
+ if (index == 0) {
+ text = GET_SYS_STR(auto_off_time_text[index]);
+ } else {
+ text = GET_STR(auto_off_time_text[index]);
+ }
+
+ return text;
+}
+
+EXPORT_API double ms_key_get_play_speed(void)
+{
+ double speed = 0.0;
+ if (preference_get_double(PREFKEY_MUSIC_PLAY_SPEED, &speed) != 0) {
+ ERROR_TRACE("preference_get_dbl failed");
+ return 1.0;
+ }
+ return speed;
+}
+
+EXPORT_API void ms_key_set_play_speed(double speed)
+{
+ if (preference_set_double(PREFKEY_MUSIC_PLAY_SPEED, speed) != 0) {
+ ERROR_TRACE("preference_set_dbl() failed");
+ }
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include "ms-playlist.h"
+#include "ms-key-ctrl.h"
+
+enum {
+ MS_PLAYLIST_QUICK_LIST,
+ MS_PLAYLIST_RECENTLEY_ADDED,
+ MS_PLAYLIST_MOST_PLAYED,
+ MS_PLAYLIST_RECENTLEY_PLAYED,
+
+ MS_PLAYLIST_MAX,
+};
+
+static int playlist_state = 0;
+
+static char *playlist_names[MS_PLAYLIST_MAX] = {
+ "IDS_IV_BODY_FAVOURITE",
+ "IDS_MH_MBODY_RECENTLY_ADDED_M_SONG",
+ "IDS_MUSIC_BODY_MOST_PLAYED",
+ "IDS_MUSIC_BODY_RECENTLY_PLAYED",
+};
+
+static Evas_Object *check_boxs[MS_PLAYLIST_MAX];
+
+/*static void
+_ms_playlist_set_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ DEBUG_TRACE("");
+ ms_key_set_playlist_val(playlist_state);
+ return;
+}*/
+
+EXPORT_API int ms_playlist_check_state_get_val(int *b_val)
+{
+ *b_val = playlist_state;
+
+ return 0;
+}
+
+EXPORT_API int ms_playlist_check_state_set_val(int b_val)
+{
+ playlist_state = b_val;
+
+ return 0;
+}
+
+static void
+_ms_playlist_view_check_changed_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ int index = (int) evas_object_data_get(obj, "index");
+ DEBUG_TRACE("index:%d", index);
+
+ if (playlist_state & (1 << index)) {
+ playlist_state &= ~(1 << index);
+ } else {
+ playlist_state |= (1 << index);
+ }
+
+ DEBUG_TRACE("set to 0x%x", playlist_state);
+ //_ms_playlist_set_cb(data, obj, event_info);
+
+ return;
+}
+
+static char *_ms_playlist_view_gl_label_get(void *data, Evas_Object * obj,
+ const char *part)
+{
+ mp_setting_genlist_item_data_t *item_data = data;
+
+ char *txt = NULL;
+
+ if (strcmp(part, "elm.text.main.left") == 0) {
+ txt = GET_STR(playlist_names[item_data->index - 1]);
+ if (txt) {
+ return strdup(txt);
+ }
+ }
+ return NULL;
+}
+
+static Evas_Object *_ms_playlist_view_gl_icon_get(void *data,
+ Evas_Object * obj,
+ const char *part)
+{
+ mp_setting_genlist_item_data_t *item_data = data;
+ int param = item_data->index - 1;
+
+
+
+ if (strcmp(part, "elm.icon.2") == 0) {
+ Evas_Object *content = NULL;
+ content = elm_layout_add(obj);
+
+ Evas_Object *check_box = elm_check_add(obj);
+ elm_object_style_set(check_box, "default");
+ evas_object_data_set(check_box, "index", (void *) param);
+
+ evas_object_repeat_events_set(check_box, EINA_TRUE);
+ evas_object_propagate_events_set(check_box, FALSE);
+ elm_check_state_set(check_box, playlist_state & (1 << param));
+
+ evas_object_smart_callback_add(check_box, "changed",
+ _ms_playlist_view_check_changed_cb,
+ NULL);
+ evas_object_show(check_box);
+
+ check_boxs[param] = check_box;
+
+ elm_layout_theme_set(content, "layout", "list/C/type.2",
+ "default");
+ elm_layout_content_set(content, "elm.swallow.content", check_box);
+ return content;
+ }
+
+
+
+ return NULL;
+}
+
+static void
+_ms_playlist_view_gl_sel_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ mp_setting_genlist_item_data_t *item_data = data;
+ int param = item_data->index - 1;
+ DEBUG_TRACE("data: %d", param);
+
+ Elm_Object_Item *item = (Elm_Object_Item *) event_info;
+
+ elm_genlist_item_selected_set(item, EINA_FALSE);
+
+ if (elm_check_state_get(check_boxs[param])) {
+ elm_check_state_set(check_boxs[param], FALSE);
+ } else {
+ elm_check_state_set(check_boxs[param], TRUE);
+ }
+
+ evas_object_smart_callback_call(check_boxs[param], "changed", NULL);
+
+}
+
+
+static void
+_ms_playlist_view_gl_sel_item_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ int param = (int) data;
+ DEBUG_TRACE("data: %d", param);
+ Elm_Object_Item *item = (Elm_Object_Item *) event_info;
+ elm_genlist_item_selected_set(item, EINA_FALSE);
+}
+
+
+static void _mp_playlist_item_del_cb(void *data, Evas_Object * obj)
+{
+ mp_setting_genlist_item_data_t *item_data = data;
+ MP_CHECK(item_data);
+ IF_FREE(item_data->str);
+ IF_FREE(item_data);
+}
+
+static Evas_Object *_ms_playlist_create_genlist(MpSettingView_t * view,
+ Evas_Object * parent)
+{
+
+ MP_CHECK_VAL(view, NULL);
+ Evas_Object *genlist = mp_widget_genlist_create(parent);
+ int index = 0;
+
+ static Elm_Genlist_Item_Class itc;
+ if (view->setting_type == MP_SETTING_VIEW_PLAYLISTS) {
+ itc.item_style = "dialogue/1text.1icon/expandable2";
+ } else if (view->setting_type == MP_SETTING_VIEW_REORDERS) {
+ itc.item_style = "dialogue/1text";
+ evas_object_smart_callback_add(genlist, "moved",
+ mp_setting_items_reorder_cb, view);
+ }
+
+
+ char *str = NULL;
+ ms_key_get_playlist_str(&str);
+ DEBUG_TRACE("str is %s", str);
+
+
+ int value = atoi(str);
+ int playlist[MS_PLAYLIST_MAX] = { 0 };
+ DEBUG_TRACE("value %d", value);
+ int j = 0;
+ for (j = MS_PLAYLIST_MAX - 1; j >= 0; j--) {
+ playlist[j] = value % 10;
+ value = value / 10;
+ DEBUG_TRACE("index %d %d", j, playlist[j]);
+ }
+
+ itc.func.text_get = _ms_playlist_view_gl_label_get;
+ itc.func.content_get = _ms_playlist_view_gl_icon_get;
+ itc.func.del = _mp_playlist_item_del_cb;
+
+ itc.version = ELM_GENGRID_ITEM_CLASS_VERSION;
+ itc.refcount = 0;
+ itc.delete_me = EINA_FALSE;
+
+ for (index = 0; index < MS_PLAYLIST_MAX; index++) {
+ int m = playlist[index];
+ mp_setting_genlist_item_data_t *item_data =
+ calloc(1, sizeof(mp_setting_genlist_item_data_t));
+ if (item_data) {
+ item_data->index = m;
+ item_data->seq = index;
+ if (view->setting_type == MP_SETTING_VIEW_PLAYLISTS) {
+ item_data->it =
+ elm_genlist_item_append(genlist, &itc,
+ (void *) item_data, NULL,
+ ELM_GENLIST_ITEM_NONE,
+ _ms_playlist_view_gl_sel_cb,
+ (void *) item_data);
+ } else if (view->setting_type == MP_SETTING_VIEW_REORDERS) {
+
+ item_data->it =
+ elm_genlist_item_append(genlist, &itc,
+ (void *) item_data, NULL,
+ ELM_GENLIST_ITEM_NONE,
+ _ms_playlist_view_gl_sel_item_cb,
+ (void *) item_data);
+ }
+ elm_object_item_data_set(item_data->it, item_data);
+ }
+ }
+ return genlist;
+}
+
+EXPORT_API Evas_Object *_ms_playlist_append_pop_genlist(Evas_Object *
+ genlist,
+ Evas_Object *
+ parent)
+{
+
+ MP_CHECK_VAL(genlist, NULL);
+ mp_retvm_if(parent == NULL, NULL, "parent is NULL");
+ ms_key_get_playlist_val(&playlist_state);
+
+ int index = 0;
+
+ static Elm_Genlist_Item_Class itc;
+ itc.item_style = "1line";
+
+
+ char *str = NULL;
+ ms_key_get_playlist_str(&str);
+
+
+ int value = atoi(str);
+ int playlist[MS_PLAYLIST_MAX] = { 0 };
+ DEBUG_TRACE("playlist display order value %d", value);
+
+ int j = 0;
+ for (j = MS_PLAYLIST_MAX - 1; j >= 0; j--) {
+ playlist[j] = value % 10;
+ value = value / 10;
+ DEBUG_TRACE("playlist display order index %d %d", j,
+ playlist[j]);
+ }
+
+ itc.func.text_get = _ms_playlist_view_gl_label_get;
+ itc.func.content_get = _ms_playlist_view_gl_icon_get;
+ itc.func.del = _mp_playlist_item_del_cb;
+
+ itc.version = ELM_GENGRID_ITEM_CLASS_VERSION;
+ itc.refcount = 0;
+ itc.delete_me = EINA_FALSE;
+
+ for (index = 0; index < MS_PLAYLIST_MAX; index++) {
+ int m = playlist[index];
+ mp_setting_genlist_item_data_t *item_data =
+ calloc(1, sizeof(mp_setting_genlist_item_data_t));
+ if (item_data) {
+ item_data->index = m;
+ item_data->seq = index;
+ item_data->it =
+ elm_genlist_item_append(genlist, &itc, (void *) item_data,
+ NULL, ELM_GENLIST_ITEM_NONE,
+ _ms_playlist_view_gl_sel_cb,
+ (void *) item_data);
+ elm_object_item_data_set(item_data->it, item_data);
+ }
+ }
+ return genlist;
+}
+
+
+EXPORT_API Evas_Object *ms_playlist_list_create(MpSettingView_t * view,
+ Evas_Object * parent)
+{
+ mp_retvm_if(parent == NULL, NULL, "parent is NULL");
+ ms_key_get_playlist_val(&playlist_state);
+ return _ms_playlist_create_genlist(view, parent);
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MP_ADD_TRACK_VIEW_H__
+#define __MP_ADD_TRACK_VIEW_H__
+
+#include "mp-list-view.h"
+#include "mp-track-list.h"
+#include "mp-playlist-list.h"
+#include "mp-album-list.h"
+#include "mp-artist-list.h"
+#include "mp-edit-callback.h"
+
+#include "music.h"
+
+typedef enum {
+ MP_ADD_TRACK_VIEW_TAB_ALL,
+ MP_ADD_TRACK_VIEW_TAB_PLAYLIST,
+ MP_ADD_TRACK_VIEW_TAB_SONGS,
+ MP_ADD_TRACK_VIEW_TAB_ALBUMS,
+ MP_ADD_TRACK_VIEW_TAB_ARTIST,
+} MpAddTrackViewTab_e;
+
+typedef struct {
+ INHERIT_MP_LIST_VIEW;
+ /* extention variables */
+ Evas_Object *add_track_view_layout;
+ Evas_Object *add_track_view_tabbar_layout;
+ Evas_Object *add_track_view_tabbar;
+
+ /* controlbar tab item */
+ Elm_Object_Item *ctltab_songs;
+ Elm_Object_Item *ctltab_album;
+ Elm_Object_Item *ctltab_artist;
+
+ /* useful flags */
+ MpAddTrackViewTab_e content_tab;
+ bool first_start;
+ int playlist_id;
+ //char *playlist_name;
+
+ /* extention functions */
+} MpAddTrackView_t;
+
+MpAddTrackView_t *mp_add_track_view_create(Evas_Object * parent,
+ int playlist_id);
+int mp_add_track_view_destory(MpAddTrackView_t * view);
+int mp_add_track_view_select_tab(MpAddTrackView_t * view,
+ MpAddTrackViewTab_e tab);
+void mp_add_track_view_add_to_playlist_cb(void *data, Evas_Object * obj,
+ void *event_info);
+
+#endif
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MP_ALBUM_DETAILVIEW_H__
+#define __MP_ALBUM_DETAILVIEW_H__
+
+#include "mp-list-view.h"
+#include "mp-album-detail-list.h"
+#include "mp-edit-callback.h"
+#include "music.h"
+
+typedef struct {
+ INHERIT_MP_LIST_VIEW;
+
+ Evas_Object *album_detail_view_layout;
+ Evas_Object *album_index;
+
+ /* external objects */
+
+ /* album name */
+ char *name;
+ /* artist name */
+ char *artist;
+ /* thumbnail */
+ char *thumbnail;
+
+ /* extention functions */
+ void (*content_set) (void *view);
+} MpAlbumDetailView_t;
+
+MpAlbumDetailView_t *mp_album_detail_view_create(Evas_Object * parent,
+ char *album, char *artist,
+ char *thumbnail);
+int mp_album_detail_view_destory(MpAlbumDetailView_t * view);
+
+#endif
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MP_ALL_VIEW_H__
+#define __MP_ALL_VIEW_H__
+
+#include "mp-list-view.h"
+#include "mp-track-list.h"
+#include "mp-playlist-list.h"
+#include "mp-album-list.h"
+#include "mp-artist-list.h"
+#include "mp-genre-list.h"
+#include "mp-search-view.h"
+#include "mp-edit-callback.h"
+
+#include "music.h"
+
+typedef struct {
+ INHERIT_MP_LIST_VIEW;
+ /* extention variables */
+ Evas_Object *all_view_layout;
+ Evas_Object *all_view_tabbar;
+ Evas_Object *all_view_genlist;
+
+ MpTab_e tab_status;
+ int history;
+ bool reorder_flag;
+
+ /* external objects */
+ Evas_Object *radio_main;
+
+ /* useful flags */
+#ifdef MP_FEATURE_PERSONAL_PAGE
+ bool personal_page_status;
+#endif
+ MpListDisplayMode_e display_mode[MP_TAB_MAX + 1];
+
+ Ecore_Idler *show_last_idler;
+ Ecore_Timer *bringin_timer;
+
+ /* extention functions */
+} MpAllView_t;
+
+MpAllView_t *mp_all_view_create(Evas_Object * parent, MpTab_e init_tab);
+int mp_all_view_destory(MpAllView_t * view);
+int mp_all_view_select_tab(MpAllView_t * view, MpTab_e tab);
+
+#endif
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MP_ARTIST_DETAILVIEW_H__
+#define __MP_ARTIST_DETAILVIEW_H__
+
+#include "mp-list-view.h"
+#include "mp-track-list.h"
+#include "mp-edit-callback.h"
+#include "music.h"
+
+typedef struct {
+ INHERIT_MP_LIST_VIEW;
+
+ Evas_Object *artist_detail_view_layout;
+ Evas_Object *artist_index;
+
+ /* external objects */
+
+ char *name;
+ /* thumbnail */
+ char *thumbnail;
+ /* extention functions */
+} MpArtistDetailView_t;
+
+MpArtistDetailView_t *mp_artist_detail_view_create(Evas_Object * parent,
+ char *name,
+ char *thumbnail);
+int mp_artist_detail_view_destory(MpArtistDetailView_t * view);
+#endif
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MP_CREATE_PLAYLIST_VIEW_H__
+#define __MP_CREATE_PLAYLIST_VIEW_H__
+
+#include "music.h"
+#include "mp-list-view.h"
+
+typedef enum {
+ MP_PLST_CREATION_TYPE_NORMAL,
+} mp_plst_creation_type_e;
+
+typedef enum {
+ MP_PLST_PARENT_NORMAL,
+ MP_PLST_PARENT_ALL_VIEW,
+ MP_PLST_PARENT_DETAIL_VIEW,
+ MP_PLST_PARENT_SQUARE_VIEW
+} mp_plst_parent_type_e;
+
+
+typedef struct {
+ INHERIT_MP_VIEW;
+ /* extention variables */
+ Evas_Object *create_plst_layout;
+
+ /* additional variables */
+ Evas_Object *editfiled_new_playlist;
+ Evas_Object *editfiled_entry;
+ char *new_playlist_name;
+ mp_plst_parent_type_e parent_view;
+ mp_media_info_h playlist_handle;
+ char *name;
+ MpList_t *adding_list;
+ char *adding_media_id;
+ mp_plst_creation_type_e creation_type;
+} MpCreatePlstView_t;
+
+MpCreatePlstView_t *mp_create_plst_view_create(Evas_Object * parent);
+int mp_create_plst_view_set_edit_list(MpCreatePlstView_t * view,
+ MpList_t * adding_list);
+int mp_create_plst_view_set_media_id(MpCreatePlstView_t * view,
+ const char *adding_media_id);
+int mp_create_plst_view_set_creation_type(MpCreatePlstView_t * view,
+ mp_plst_creation_type_e type);
+int mp_create_plst_view_destory(MpCreatePlstView_t * view);
+#endif
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+#ifndef __MP_DETAIL_VIEW__
+#define __MP_DETAIL_VIEW__
+
+#include "mp-view.h"
+#include <glib.h>
+//#include <libsoup/soup.h>
+//#include "mp-info-popup.h"
+
+enum {
+ DETAIL_VIEW_MOVE_NONE,
+ DETAIL_VIEW_MOVE_LEFT,
+ DETAIL_VIEW_MOVE_RIGHT,
+};
+
+enum {
+ DETAIL_VIEW_PAGE_VIDEO = 1,
+ DETAIL_VIEW_PAGE_CREDIT,
+ DETAIL_VIEW_PAGE_META,
+};
+
+typedef enum {
+ DETAIL_VIEW_ITC_NO_META,
+ DETAIL_VIEW_ITC_VIDEO,
+ DETAIL_VIEW_ITC_CREDIT,
+ DETAIL_VIEW_ITC_META_INFO,
+} mp_detail_view_itc;
+
+typedef struct {
+ INHERIT_MP_VIEW;
+ Elm_Object_Item *inner_navi_it;
+ //add pagecontrol begin
+ Evas_Object *title_index;
+ Evas_Object *index_layout;
+ //add pagecontrol end
+ Evas_Object *content;
+ Evas_Object *current_song_title;
+ Evas_Object *current_page;
+ Evas_Object *current_page_content;
+ Evas_Object *next_page_content;
+
+ Evas_Object *album_booklet;
+ Evas_Object *artist_booklet;
+
+ Evas_Object *waiting_popup; //add waiting popup
+ Evas_Object *info_list_popup; //add waiting popup
+ Evas_Object *popup; //add popup
+
+ /*data part related */
+ char *xml_path;
+
+ int mp_info_file_count; //the sequence of file which is used as the identification of the file
+ //used when xml exists
+ bool transition_state;
+ unsigned int page_total;
+ int page_num;
+ Elm_Genlist_Item_Class *video_itc;
+ Evas_Object *video_genlist;
+ bool page1_enabled; //flag of page1 exists or not
+ bool fail_to_get_related_vided; // prohibit infinite loop
+ Elm_Genlist_Item_Class *credit_itc;
+ Evas_Object *credit_genlist;
+ bool page2_enabled; //flag of page2 exists or not
+ Elm_Genlist_Item_Class *meta_itc;
+ Evas_Object *meta_genlist;
+ bool page3_enabled; //flag of page3 exists or not
+ //used when xml does not exist
+ //Elm_Genlist_Item_Class *minfo_itc;
+ Evas_Object *minfo_genlist;
+
+ char *title;
+ char *uri;
+ char *albumart;
+ char *artist;
+ char *album;
+ char *id;
+ char *thumb;
+} MpDetailView_t;
+
+MpDetailView_t *mp_detail_view_create(Evas_Object * parent);
+int mp_detail_view_destory(MpDetailView_t * view);
+bool mp_player_mgr_is_active(void);
+player_h mp_player_mgr_get_player(void);
+
+#endif
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MP_EDIT_VIEW_H__
+#define __MP_EDIT_VIEW_H__
+
+#include "mp-list-view.h"
+#ifdef MP_FEATURE_PERSONAL_PAGE
+enum {
+ MP_EDIT_VIEW_PERSONAL_PAGE,
+};
+
+typedef enum {
+ MP_EDIT_VIEW_PERSONAL_PAGE_NONE = 0,
+ MP_EDIT_VIEW_PERSONAL_PAGE_ADD,
+ MP_EDIT_VIEW_PERSONAL_PAGE_REMOVE,
+} MpEditViewPersonalPageType;
+#endif
+
+typedef enum {
+ MP_EDIT_VIEW_NORMAL = 0,
+ MP_EDIT_VIEW_EDIT,
+ MP_EDIT_VIEW_REORDER,
+} MpEditViewList_Mode;
+
+typedef struct {
+ INHERIT_MP_LIST_VIEW;
+ MpList_t *ref_list;
+ bool share;
+ bool create_playlist;
+ Ecore_Timer *back_timer;
+ MpEditViewList_Mode list_mode;
+ bool reorder;
+#ifdef MP_FEATURE_PERSONAL_PAGE
+ MpEditViewPersonalPageType person_page_sel;
+#endif
+} MpEditView_t;
+
+#ifdef MP_FEATURE_PERSONAL_PAGE
+MpEditView_t *mp_edit_view_create(Evas_Object * parent, MpList_t * list,
+ bool share,
+ MpEditViewPersonalPageType
+ person_page_sel);
+void mp_edit_view_notify_popup(void *data);
+#else
+MpEditView_t *mp_edit_view_create(Evas_Object * parent, MpList_t * list,
+ bool share);
+#endif
+void mp_edit_view_delete_cb(void *data, Evas_Object * obj,
+ void *event_info);
+void mp_edit_view_remove_cb(void *data, Evas_Object * obj,
+ void *event_info);
+void mp_edit_view_list_item_reorder_update_cb(void *data,
+ Evas_Object * obj,
+ void *event_info);
+void mp_edit_view_add_to_playlist_cb(void *data, Evas_Object * obj,
+ void *event_info);
+#endif
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MP_GENRE_DETAILVIEW_H__
+#define __MP_GENRE_DETAILVIEW_H__
+
+#include "mp-list-view.h"
+#include "mp-track-list.h"
+#include "mp-edit-callback.h"
+#include "music.h"
+
+typedef struct {
+ INHERIT_MP_LIST_VIEW;
+
+ Evas_Object *genre_detail_view_layout;
+ Evas_Object *genre_index;
+
+ /* external objects */
+
+ /* genre name */
+ char *name;
+ /* artist name */
+ char *artist;
+ /* thumbnail */
+ char *thumbnail;
+
+ /* extention functions */
+ void (*content_set) (void *view);
+} MpGenreDetailView_t;
+
+MpGenreDetailView_t *mp_genre_detail_view_create(Evas_Object * parent,
+ char *genre, char *artist,
+ char *thumbnail);
+int mp_genre_detail_view_destory(MpGenreDetailView_t * view);
+
+#endif
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MP_LIST_VIEW__
+#define __MP_LIST_VIEW__
+
+#include "mp-view.h"
+#include "mp-list.h"
+
+#define INHERIT_MP_LIST_VIEW \
+ INHERIT_MP_VIEW\
+ int list_view_magic;\
+ MpList_t *content_to_show;\
+ Evas_Object *select_all_btn;\
+ Evas_Object *done_btn;\
+ Evas_Object *cancel_btn;\
+ Evas_Object *index;\
+ Evas_Object *select_all_layout;\
+ int (*double_tap)(void *view);\
+ int (*set_edit_mode)(void *view, bool edit);\
+ Evas_Object* (*set_select_all)(void *view, bool flag);\
+ Evas_Object* (*set_done_button)(void *view, bool flag);\
+ Evas_Object* (*set_cancel_button)(void *view, bool flag);\
+
+typedef struct {
+ INHERIT_MP_VIEW;
+ int list_view_magic;
+
+ /* selected content */
+ MpList_t *content_to_show;
+
+ Evas_Object *select_all_btn;
+ Evas_Object *done_btn;
+ Evas_Object *cancel_btn;
+ Evas_Object *index;
+ Evas_Object *select_all_layout;
+
+ int (*double_tap) (void *view);
+ int (*set_edit_mode) (void *view, bool edit);
+ Evas_Object *(*set_select_all) (void *view, bool flag);
+ Evas_Object *(*set_done_button) (void *view, bool flag,
+ mp_done_operator_type_t type);
+ Evas_Object *(*set_cancel_button) (void *view, bool flag);
+
+} MpListView_t;
+
+int mp_list_view_init(Evas_Object * parent, MpListView_t * view,
+ MpViewType_e view_type, ...);
+int mp_list_view_fini(MpListView_t * view);
+int mp_list_view_is_list_view(MpListView_t * view, bool * val);
+int mp_list_view_set_edit_mode(MpListView_t * view, bool edit);
+Evas_Object *mp_list_view_set_select_all(MpListView_t * view, bool flag);
+int mp_list_view_double_tap(MpListView_t * view);
+Evas_Object *mp_list_view_set_cancel_btn(MpListView_t * view, bool flag);
+Evas_Object *mp_list_view_set_done_btn(MpListView_t * view, bool flag,
+ mp_done_operator_type_t type);
+#endif
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MP_LYRIC_VIEW_H__
+#define __MP_LYRIC_VIEW_H__
+
+#include "mp-define.h"
+
+typedef struct {
+ struct appdata *ad;
+ int win_w;
+ int win_h;
+
+ Evas_Object *layout;
+ Evas_Object *scroller;
+ Evas_Object *box;
+ Evas_Object *cur_line;
+ Evas_Object *prev_line;
+
+ int cur_line_index;
+ int prev_line_index;
+
+#ifdef MP_FEATURE_SUPPORT_ID3_TAG
+ char *lyric_buffer;
+ Eina_List *synclrc_list;
+#else
+ char *lyric_path;
+#endif
+
+ char *music_path;
+ bool b_drag;
+ bool b_show;
+} mp_lyric_view_t;
+
+void mp_lyric_view_create(void *data);
+void mp_lyric_view_destroy(void *data);
+void mp_lyric_view_show(void *data);
+void mp_lyric_view_hide(void *data);
+void mp_lyric_view_refresh(void *data);
+
+#endif /* __MP_LYRIC_VIEW_H__ */
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MP_NOW_PLAYING_LIST_VIEW_H__
+#define __MP_NOW_PLAYING_LIST_VIEW_H__
+
+#include "mp-list-view.h"
+#include "music.h"
+
+typedef struct {
+ INHERIT_MP_LIST_VIEW;
+
+ Evas_Object *now_playing_list_layout;
+
+ /* external objects */
+
+} MpNowPlayingListiew_t;
+
+MpNowPlayingListiew_t *mp_now_playing_list_view_create(Evas_Object *
+ parent);
+int mp_now_playihng_list_view_destory(MpNowPlayingListiew_t * view);
+
+#endif
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MP_PLAYER_VIEW_H_
+#define __MP_PLAYER_VIEW_H_
+
+#include "music.h"
+
+enum {
+ PLAYER_VIEW_MOVE_NONE,
+ PLAYER_VIEW_MOVE_LEFT,
+ PLAYER_VIEW_MOVE_RIGHT,
+};
+
+/*OPTION_VOLUME,*/
+/*OPTION_INFO,*/
+enum {
+ OPTION_VOLUME,
+ OPTION_VOLUME_MUTE,
+ OPTION_FAVO_ON,
+ OPTION_FAVO_OFF,
+ OPTION_QUEUE,
+
+ OPTION_MAX
+};
+
+enum {
+
+ CONTROL_SHUFFLE_ON,
+ CONTROL_SHUFFLE_OFF,
+ CONTROL_PREVIOUS,
+ CONTROL_PLAY,
+ CONTROL_PAUSE,
+ CONTROL_NEXT,
+ CONTROL_REP_A,
+ CONTROL_REP_1,
+ CONTROL_REP_ALL,
+
+ CONTROL_MAX
+};
+
+enum {
+ MP_PLAYER_NORMAL,
+ MP_PLAYER_RADIO_PLAY,
+ MP_PLAYER_ARTIST_PLAY
+};
+
+enum {
+ MP_PLAYER_VIEW_LAUNCH_TYPE
+};
+
+#define PLAYER_VIEW_MAGIC 0x7877
+
+typedef struct {
+ INHERIT_MP_VIEW;
+ int player_view_magic;
+ bool start_on_transition_finish;
+ /* extention variables */
+ Evas_Object *player_view_layout;
+ Elm_Object_Item *inner_navi_it;
+ /* title button */
+ Evas_Object *dmr_button;
+ Evas_Object *snd_button;
+ Evas_Object *queue_button;
+ /* progress */
+ Evas_Object *progress_box;
+ Evas_Object *progress_bar;
+ Evas_Object *buffering_progress;
+ Ecore_Timer *progressbar_timer;
+ bool update_flag; //to indicate if we are in rotation open state. when rotation starts, we will block update_pos for long press case
+ double update_pos; //the position before rotation. used to update rotated view for long pressed case. rotation will do same action as progress up
+ /* option */
+ Evas_Object *player_view_option_layout;
+ Evas_Object *option_button[OPTION_MAX];
+ /* control */
+ Evas_Object *player_view_control_layout;
+ /* start to play new file */
+ bool start_new_file;
+
+ Evas_Object *control_button[CONTROL_MAX];
+ Evas_Object *volume_popup;
+ Ecore_Timer *volume_popup_timer;
+ bool volume_popup_now_dragging;
+ /* more button */
+ mp_media_info_h set_as_handle;
+ mp_media_info_h add_to_plst_handle;
+ /* other */
+ /* focus object */
+ Evas_Object *current_focus_btn;
+ Evas_Object *pre_focus_btn;
+ /* lyric */
+ Evas_Object *lyric;
+ /* queue list */
+ void *queue_list;
+ bool queue_status;
+ /* screen mode */
+ mp_screen_mode play_view_screen_mode;
+ /*move direction */
+ int move_direction;
+ bool transition_state;
+ bool loaded;
+
+ /* launch type: music file / radio / artist */
+ int launch_type;
+ int available_route;
+ int available_route_count;
+
+ int progressbar_dragging;
+
+ Ecore_Timer *stop_update_timer;
+ Ecore_Timer *transit_done_timer;
+
+ int unmute_vol;
+
+ Elm_Transit *trans_queue_list;
+ Ecore_Idler *queue_title_idler;
+ Ecore_Idler *queue_list_update_idler;
+ Ecore_Idler *del_old_detail_handle;
+
+ bool show_lyric;
+} MpPlayerView_t;
+
+MpPlayerView_t *mp_player_view_create(Evas_Object * parent,
+ int launch_type,
+ bool start_new_file);
+void mp_player_view_update_progressbar(void *data);
+bool mp_player_view_refresh(void *data);
+void mp_player_view_progress_timer_freeze(void *data);
+void mp_player_view_progress_timer_thaw(void *data);
+void mp_player_view_set_snd_path_sensitivity(void *data);
+void mp_player_view_update_state(void *data);
+void mp_player_view_set_album_playing(void *thiz, bool playing);
+void mp_player_view_set_play_image(void *data, bool playing);
+void mp_player_view_set_title(void *thiz);
+void mp_player_view_volume_popup_control(void *data, bool force_show);
+void mp_player_view_update_buffering_progress(void *data, int percent);
+void mp_player_view_set_data(MpPlayerView_t * view, ...);
+void mp_player_view_update_dmr_icon(MpPlayerView_t * view);
+#endif
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MP_PLAYLIST_DETAILVIEW_H__
+#define __MP_PLAYLIST_DETAILVIEW_H__
+
+#include "mp-list-view.h"
+#include "mp-track-list.h"
+#include "mp-edit-callback.h"
+
+#include "music.h"
+
+typedef struct {
+ INHERIT_MP_LIST_VIEW;
+
+ Evas_Object *playlist_detail_view_layout;
+
+ /* external objects */
+
+ /* selected content */
+ mp_track_type_e list_type;
+ char *name;
+ int p_id;
+
+ /* extention functions */
+ void (*content_set) (void *view);
+} MpPlaylistDetailView_t;
+
+MpPlaylistDetailView_t *mp_playlist_detail_view_create(Evas_Object *
+ parent,
+ mp_track_type_e
+ list_type,
+ char *name,
+ int p_id);
+int mp_playlist_detail_view_destory(MpPlaylistDetailView_t * view);
+void mp_playlist_detail_view_tracklist_edit_cb(void *data,
+ Evas_Object * obj,
+ void *event_info);
+#endif
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MP_SEARCH_VIEW_H__
+#define __MP_SEARCH_VIEW_H__
+
+#include "mp-list-view.h"
+#include "mp-track-list.h"
+#include "mp-search-list.h"
+#include "music.h"
+
+#define MP_SEARCH_VIEW_STYLE_EMPTY NULL //"empty/music"
+
+typedef struct {
+ INHERIT_MP_LIST_VIEW;
+
+ Evas_Object *search_view_layout;
+ Evas_Object *search_bar;
+ Evas_Object *search_base_layout;
+
+ char *needle;
+ bool needle_change;
+ bool first_called;
+ bool transition;
+
+ Ecore_Timer *search_timer;
+ /* extention functions */
+ void (*content_set) (void *view);
+} MpSearchView_t;
+
+MpSearchView_t *mp_search_view_create(Evas_Object * parent,
+ const char *keyword);
+void mp_search_view_set_keyword(MpSearchView_t * view,
+ const char *keyword);
+int mp_search_view_destory(MpSearchView_t * view);
+#endif
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MP_SELECT_TRACK_VIEW_H__
+#define __MP_SELECT_TRACK_VIEW_H__
+
+#include "mp-list-view.h"
+#include "mp-track-list.h"
+#include "mp-edit-callback.h"
+
+#include "music.h"
+
+typedef struct {
+ INHERIT_MP_LIST_VIEW;
+
+ /* extention functions */
+ void (*content_set) (void *view);
+} MpSelectTrackView_t;
+
+MpSelectTrackView_t *mp_select_track_view_create(Evas_Object * parent);
+int mp_select_track_view_destory(MpSelectTrackView_t * view);
+void mp_select_track_view_add_to_playlist_cb(void *data, Evas_Object * obj,
+ void *event_info);
+#endif
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MP_SET_AS_VIEW__
+#define __MP_SET_AS_VIEW__
+
+#include "mp-view.h"
+#include "mp-media-info.h"
+#include <player.h>
+
+typedef enum {
+ MP_SET_AS_FROM_START = 0,
+ MP_SET_AS_RECOMMEND,
+ MP_SET_AS_RECOMMEND_PRE_LISTEN,
+ MP_SET_AS_TITLE,
+ MP_SET_AS_PHONE_RINGTONE,
+ MP_SET_AS_CALLER_RINGTONE,
+ MP_SET_AS_ALARM_TONE,
+ MP_SET_AS_MAX,
+} set_as_item_type;
+
+
+typedef struct {
+ INHERIT_MP_VIEW;
+ Evas_Object *content;
+ Evas_Object *progress_popup;
+ Elm_Genlist_Item_Class *radio_itc;
+ Elm_Genlist_Item_Class *title_itc;
+ Elm_Genlist_Item_Class *recommend_itc_full;
+ Elm_Genlist_Item_Class *recommend_itc_text;
+ char *path;
+ bool button_enable;
+
+ int recommended;
+ int set_as_type;
+
+ int duration;
+ int position;
+ player_h player;
+ bool need_to_resume;
+ Ecore_Pipe *smat_pipe;
+
+ Ecore_Idler *move_idler;
+} MpSetAsView_t;
+
+EXPORT_API MpSetAsView_t *mp_set_as_view_create(Evas_Object * parent,
+ char *path);
+int mp_set_as_view_destory(MpSetAsView_t * view);
+#endif
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MP_SETTING_VIEW__
+#define __MP_SETTING_VIEW__
+
+#include "mp-view.h"
+#include "ms-key-ctrl.h"
+
+typedef enum {
+ MP_SETTING_VIEW_DEFAULT,
+ //MP_SETTING_VIEW_SA,
+ //MP_SETTING_VIEW_CUSTOM_EQ,
+ MP_SETTING_VIEW_TABS,
+ MP_SETTING_VIEW_REORDERS,
+ MP_SETTING_VIEW_PLAYLISTS,
+} MpSettingViewType_e;
+
+
+typedef enum {
+ MP_SETTING_TABS_TRACKS,
+ MP_SETTING_TABS_PLAYLISTS,
+ MP_SETTING_TABS_ALBUMS,
+ MP_SETTING_TABS_ARTISTS,
+ MP_SETTING_TABS_GENRES,
+ MP_SETTING_TABS_FOLDERS,
+ MP_SETTING_TABS_MUSIC_SQUARE,
+ MP_SETTING_TABS_ITEM_MAX,
+} MpSettingViewTabs_e;
+
+typedef enum {
+ MP_SETTING_REORDER_TABS,
+ MP_SETTING_REORDER_PLAYLISTS,
+} MpSettingReorderType_e;
+
+typedef enum {
+ MS_MAIN_MENU_PLAYLIST,
+ MS_MAIN_MENU_LYRICS,
+ MS_MAIN_MENU_ITEM_MAX,
+} ms_main_menu_item_t;
+
+typedef enum {
+ MS_ITC_TYPE_SEPERATER,
+ MS_ITC_TYPE_1TEXT_NO_EXP,
+ MS_ITC_TYPE_1TEXT,
+ MS_ITC_TYPE_2TEXT,
+ MS_ITC_TYPE_2TEXT_NORMAL,
+ MS_ITC_TYPE_1TEXT_1ICON,
+ MS_ITC_TYPE_NUM,
+} ms_itc_type;
+
+typedef enum {
+ MS_EFFECT_THREE_D,
+ MS_EFFECT_BASS,
+ MS_EFFECT_CLARITY,
+ MS_EFFECT_MAX,
+} ms_effect_tab_type;
+
+enum {
+ MS_EF_NONE,
+ MS_EF_TUBE,
+ MS_EF_VIRTUAL,
+ MS_EF_SMALL_ROOM,
+ MS_EF_LARGE_ROOM,
+ MS_EF_CONCER_HALL,
+
+ MS_EF_MAX,
+};
+
+enum {
+ MS_TAB_BASIC,
+ MS_TAB_ADVANCED,
+
+ MS_TAB_MAX,
+};
+
+
+typedef struct {
+ INHERIT_MP_VIEW;
+ MpSettingViewType_e setting_type;
+ Evas_Object *content;
+ Elm_Object_Item *gl_it[MS_MAIN_MENU_ITEM_MAX];
+ Elm_Genlist_Item_Class *itc[MS_ITC_TYPE_NUM];
+ bool reorder;
+ Elm_Genlist_Item_Class *tabs_itc[2];
+ Ecore_Timer *back_timer;
+
+ Evas_Object *effect_layout;
+ Evas_Object *tabbar;
+ Evas_Object *basic_layout;
+ Evas_Object *gengrid;
+ Evas_Object *effect_gengrid;
+ ms_effect_tab_type effcet_tab_status;
+ Evas_Object *parent;
+ MpSettingReorderType_e reorder_type;
+ bool landscape_mode;
+
+ Evas_Object *advanced_layout;
+ Evas_Object *progress_layout;
+ Evas_Object *effect_toolbar;
+ Evas_Object *effect_check[MS_EFFECT_MAX];
+
+ Ecore_Idler *set_effect_idler;
+ int current_effect_val;
+ int tabbar_status;
+
+ Evas_Object *user_layout;
+ Evas_Object *eq_layout;
+ Evas_Object *extended_layout;
+ Evas_Object *popup;
+
+ int c_eq_val;
+ int c_effect_val;
+ int c_surround_state;
+
+ Evas_Object *eq_custom_popup;
+
+ ms_eq_custom_t eq_custom_values;
+ Evas_Object *eq_valuebar;
+
+ Evas_Object *auto_off_radio_grp;
+ bool b_mouse_down;
+ Evas_Object *auto_check;
+ int init_square;
+ int init_effect;
+ ms_extended_effect_t init_extended_value;
+ ms_eq_custom_t init_custom_values;
+} MpSettingView_t;
+
+typedef struct {
+ int x:8;
+ int y:8;
+} ms_effect_position_t;
+
+typedef struct {
+ Elm_Object_Item *it;
+ int index;
+ MpSettingView_t *view;
+ ms_effect_position_t position;
+ bool b_seleted;
+} ms_effect_gengrid_item_data_t;
+
+typedef struct {
+ Elm_Object_Item *it;
+ int index;
+ bool b_seleted;
+} ms_effect_ef_gengrid_item_data_t;
+
+typedef struct {
+ Elm_Object_Item *it;
+ int index;
+ char *str;
+ int seq;
+} mp_setting_genlist_item_data_t;
+
+typedef struct {
+ Evas_Object *popup;
+ Evas_Object *group_radio;
+ int show_lyrics;
+ int hide_lyrics;
+} mp_setting_lyric_popup;
+
+EXPORT_API MpSettingView_t *mp_setting_view_create(Evas_Object * parent,
+ MpSettingViewType_e
+ type, void *data);
+void mp_music_viewas_pop_cb();
+int mp_setting_view_destory(MpSettingView_t * view);
+EXPORT_API void mp_setting_items_reorder_cb(void *data, Evas_Object * obj,
+ void *event_info);
+#endif
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MP_VIEW_H__
+#define __MP_VIEW_H__
+
+#include <Elementary.h>
+#include <stdbool.h>
+#include "mp-define.h"
+#include "mp-menu.h"
+
+enum {
+ MP_VIEW_MOVE_NONE,
+ MP_VIEW_MOVE_LEFT,
+ MP_VIEW_MOVE_RIGHT,
+};
+
+typedef enum {
+ MP_VIEW_ALL,
+ MP_VIEW_ALBUM_DETAIL,
+ MP_VIEW_ARTIST_DETAIL,
+ MP_VIEW_FOLDER_DETAIL,
+ MP_VIEW_PLAYLIST_DETAIL,
+ MP_VIEW_GENRE_DETAIL,
+ MP_VIEW_ALLSHARE_SEVER,
+ MP_VIEW_ALLSHARE_DETAIL,
+ MP_VIEW_SEARCH,
+ MP_VIEW_SQUARE,
+ MP_VIEW_FOLDER,
+ MP_VIEW_SETTING,
+ MP_VIEW_SET_AS,
+ MP_VIEW_DETAIL,
+ MP_VIEW_ALBUM_BOOKLET,
+ MP_VIEW_ARTIST_BOOKLET,
+ MP_VIEW_PLAYER,
+ MP_VIEW_CREATE_PLAYLIT,
+ MP_VIEW_NOW_PLAYING_LIST,
+ MP_VIEW_ADD_TRACK,
+ MP_VIEW_SELECT_TRACK,
+ MP_VIEW_MAKE_OFFLINE,
+ MP_VIEW_EDIT,
+ MP_VIEW_MAX,
+} MpViewType_e;
+
+typedef enum {
+ MP_UPDATE_NOW_PLAYING = 0, //0
+ MP_UNSET_NOW_PLAYING,
+ MP_START_PLAYBACK,
+ MP_RESUME_PLAYBACK,
+ MP_PAUSE_PLAYBACK,
+ MP_PLAYING_TRACK_CHANGED,
+ MP_STOP_PLAYBACK,
+ MP_PLAYLIST_CREATED,
+ MP_PLAYLIST_MODIFIED,
+ MP_PLAYLIST_REORDER_DONE,
+ MP_DOUBLE_TAP,
+ MP_LCD_OFF,
+ MP_LCD_ON,
+
+ MP_UPDATE = 50,
+ MP_ADD_TO_PLAYLIST_DONE,
+ MP_DELETE_DONE,
+ MP_POPUP_DELETE_DONE,
+ MP_UPDATE_PLAYING_LIST,
+ MP_SETTING_PLAYLIST_CHANGED,
+ MP_PLAY_TIME_COUNT_UPDATED,
+ MP_ROUTE_CHANGED,
+ MP_DB_UPDATED,
+ MP_MMC_MOUNTED,
+ MP_MMC_REMOVED,
+ MP_LANG_CHANGED,
+ MP_WIN_RESIZED,
+
+
+ MP_SIP_STATE_CHANGED = 100,
+ MP_VIEW_TRANSITION_REQUESTED,
+ MP_VIEW_TRANSITION_FINISHED,
+ MP_PLAYLIST_RENAMED,
+ MP_PLAYLIST_IMAGE_UPDATED,
+ MP_POPUP_CANCEL,
+ MP_NETWORK_STATE_CHANGED,
+ MP_UPDATE_FAVORITE_LIST,
+ MP_PLAYLIST_MGR_ITEM_CHANGED,
+#ifdef MP_FEATURE_PERSONAL_PAGE
+ MP_PERSONAL_PAGE_OFF,
+ MP_PERSONAL_PAGE_ON,
+#endif
+ MP_SIDE_SYNC_STATUS_CHANGED,
+ MP_VIEW_EVENT_ALBUMART_CHANGED,
+
+ MP_TABS_REORDER_DONE,
+ MP_TABS_ITEM_CHANGED,
+ MP_PLAYLISTS_REORDER_DONE,
+ MP_REORDER_ENABLE,
+ MP_REORDER_DISABLE,
+ MP_LYRIC_UPDATE,
+ MP_QUICKPANNEL_SHOW,
+ MP_QUICKPANNEL_HIDE,
+
+} MpViewEvent_e;
+
+typedef enum {
+ MP_OPTION_LEFT,
+ MP_OPTION_MIDDLE,
+ MP_OPTION_RIGHT,
+ MP_OPTION_MORE,
+ MP_OPTION_BACK,
+ MP_OPTION_MAX,
+} MpOptionType_e;
+
+typedef enum {
+ MP_TITLE_OPTION_SAVE,
+ MP_TITLE_OPTION_MAX,
+} MpTitleOption_e;
+
+#define VIEW_MAGIC 0x37373700
+#define LIST_VIEW_MAGIC 0x37373701
+
+#define MP_STORE_MEMBER
+
+#define INHERIT_MP_VIEW \
+ int view_magic;\
+ Elm_Object_Item * navi_it;\
+ Evas_Object *layout;\
+ Evas_Object *inner_naviframe;\
+ Evas_Object *nowplaying_bar;\
+ Evas_Object *more_btn_ctxpopup; \
+ Elm_Object_Item *toolbar_options[MP_OPTION_MAX];\
+ Evas_Object *title_options[MP_TITLE_OPTION_MAX];\
+ Evas_Object *selection_info;\
+ Evas_Object *radio_btn;\
+ MpViewType_e view_type;\
+ Evas_Object *scroller;\
+ bool disable_scroller;\
+ bool paused;\
+ bool rotate_flag;\
+ bool disable_title_icon; \
+ bool push_transition; \
+ int cloud_view;\
+ int (*update)(void *view);\
+ int (*clear_options)(void *view);\
+ int (*update_options)(void *view);\
+ int (*update_options_edit)(void *view);\
+ int (*set_title)(void *view, char *text_id);\
+ int (*set_subtitle)(void *view, char *title);\
+ int (*title_slide_go)(void *view);\
+ int (*set_nowplaying)(void *view);\
+ int (*unset_nowplaying)(void *view);\
+ int (*update_nowplaying)(void *view, bool with_title);\
+ int (*freeze_nowplaying)(void *view, int freeze);\
+ int (*start_playback)(void *view);\
+ int (*pause_playback)(void *view);\
+ int (*stop_playback)(void *view);\
+ void (*view_destroy_cb)(void *view); \
+ void (*view_pause)(void *view);\
+ void (*view_resume)(void *view);\
+ void (*view_lcd_off)(void *view);\
+ void (*view_lcd_on)(void *view);\
+ void (*on_event)(void *view, MpViewEvent_e event);\
+ int (*is_rotate_available)(void *view);\
+ void (*rotate)(void *view, int randscape);\
+ MP_STORE_MEMBER
+
+typedef struct _mp_view {
+INHERIT_MP_VIEW} MpView_t;
+
+int mp_view_init(Evas_Object * parent, MpView_t * view,
+ MpViewType_e view_type, ...);
+int mp_view_fini(MpView_t * view);
+EXPORT_API int mp_view_update(MpView_t * view);
+int mp_view_update_options(MpView_t * view);
+int mp_view_update_options_edit(MpView_t * view);
+EXPORT_API int mp_view_set_title(MpView_t * view, char *title);
+int mp_view_set_sub_title(MpView_t * view, char *title);
+int mp_view_set_title_visible(MpView_t * view, int visible);
+int mp_view_title_slide_go(MpView_t * view);
+int mp_view_set_nowplaying(MpView_t * view);
+int mp_view_unset_nowplaying(MpView_t * view);
+int mp_view_update_nowplaying(MpView_t * view, bool with_title);
+int mp_view_freeze_nowplaying(MpView_t * view, int freeze);
+int mp_view_get_nowplaying_show_flag(MpView_t * view);
+int mp_view_start_playback(MpView_t * view);
+int mp_view_pause_playback(MpView_t * view);
+int mp_view_stop_playback(MpView_t * view);
+int mp_view_view_lcd_off(MpView_t * view);
+int mp_view_view_lcd_on(MpView_t * view);
+int mp_view_view_pause(MpView_t * view);
+int mp_view_view_resume(MpView_t * view);
+int mp_view_clear_options(MpView_t * view);
+Evas_Object *mp_view_get_base_obj(MpView_t * view);
+EXPORT_API int mp_view_on_event(MpView_t * view, MpViewEvent_e event);
+int mp_view_is_now_push_transit(MpView_t * view, bool * now_transit);
+#endif
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include "mp-add-track-view.h"
+#include "mp-widget.h"
+#include "mp-create-playlist-view.h"
+#include "mp-select-track-view.h"
+#include "mp-common.h"
+#include "mp-util.h"
+
+static void _mp_add_track_view_change_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ eventfunc;
+ MpAddTrackView_t *view = (MpAddTrackView_t *) data;
+ Elm_Object_Item *it;
+ MpAddTrackViewTab_e tab = MP_ADD_TRACK_VIEW_TAB_ALL;
+
+ it = elm_toolbar_selected_item_get(obj);
+ DEBUG_TRACE("selected toolbar item: 0x%x", it);
+ mp_retm_if(it == NULL, "tab item is NULL");
+
+ if (it == view->ctltab_album) {
+ tab = MP_ADD_TRACK_VIEW_TAB_ALBUMS;
+ } else if (it == view->ctltab_artist) {
+ tab = MP_ADD_TRACK_VIEW_TAB_ARTIST;
+ } else if (it == view->ctltab_songs) {
+ tab = MP_ADD_TRACK_VIEW_TAB_SONGS;
+ } else {
+ DEBUG_TRACE("selected item out of control");
+ return;
+ }
+
+ if (view->content_tab == tab) {
+ DEBUG_TRACE("same tab is selected");
+ return;
+ }
+
+ view->content_tab = tab;
+ mp_add_track_view_select_tab(view, tab);
+}
+
+static void _mp_add_track_view_destory_cb(void *thiz)
+{
+ eventfunc;
+ MpAddTrackView_t *view = thiz;
+ MP_CHECK(view);
+
+ mp_language_mgr_unregister_object_item(view->ctltab_songs);
+ mp_language_mgr_unregister_object_item(view->ctltab_album);
+ mp_language_mgr_unregister_object_item(view->ctltab_artist);
+
+ mp_list_view_fini((MpListView_t *) view);
+
+ /* TODO: release resource.. */
+
+ free(view);
+}
+
+Eina_Bool _mp_add_track_view_tracklist_back_cb(void *data,
+ Elm_Object_Item * it)
+{
+ eventfunc;
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_VAL(ad, EINA_TRUE);
+
+ /* Selector View is destroyed */
+ ad->selector_mode_bit = EINA_FALSE;
+
+ MpViewMgr_t *view_mgr = mp_view_mgr_get_view_manager();
+ mp_view_mgr_pop_view(view_mgr, false);
+
+ MpView_t *prev_view = mp_view_mgr_get_top_view(view_mgr);
+ mp_view_update(prev_view);
+
+ MpView_t *all_view = mp_view_mgr_get_view(view_mgr, MP_VIEW_ALL);
+ mp_view_update_options(all_view);
+
+ return EINA_TRUE;
+}
+
+void mp_add_track_view_add_to_playlist_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ eventfunc;
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ MpAddTrackView_t *view = (MpAddTrackView_t *) data;
+ MP_CHECK(view);
+
+ mp_evas_object_del(view->more_btn_ctxpopup);
+
+ MpTrackList_t *list = (MpTrackList_t *) view->content_to_show;
+ MP_CHECK(list);
+
+ mp_edit_cb_excute_add_to_playlist(list, view->playlist_id, NULL, true);
+}
+
+static int _mp_add_track_view_update_option(void *thiz)
+{
+ startfunc;
+ MpAddTrackView_t *view = (MpAddTrackView_t *) thiz;
+ MP_CHECK_VAL(view, -1);
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_VAL(ad, -1);
+
+ /*mp_view_clear_options((MpView_t *)view); */
+ if (view->content_tab == MP_ADD_TRACK_VIEW_TAB_SONGS) {
+ mp_util_create_selectioninfo_with_count((MpView_t *) view,
+ g_list_length(ad->checkedList));
+
+ if (mp_list_get_checked_count((MpList_t *) view->content_to_show) == mp_list_get_editable_count((MpList_t *) view->content_to_show,
+ mp_list_get_edit_type(view->content_to_show))) {
+ elm_check_state_set(view->select_all_btn, EINA_TRUE);
+ } else {
+ elm_check_state_set(view->select_all_btn, EINA_FALSE);
+ }
+
+ unsigned int count =
+ mp_list_get_editable_count((MpList_t *) view->content_to_show,
+ MP_LIST_EDIT_TYPE_NORMAL);
+ if (count <= 0) {
+ mp_view_mgr_pop_a_view((MpViewMgr_t *) GET_VIEW_MGR,
+ (MpView_t *) view);
+
+ }
+
+ if (view->done_btn) {
+ if (mp_list_get_checked_count
+ ((MpList_t *) view->content_to_show)) {
+ elm_object_disabled_set(view->done_btn, EINA_FALSE);
+ } else {
+ elm_object_disabled_set(view->done_btn, EINA_TRUE);
+ }
+ }
+ } else {
+ Evas_Object *more_btn = NULL;
+ more_btn =
+ elm_object_item_part_content_get(view->navi_it, "toolbar");
+ if (more_btn) {
+ elm_object_item_part_content_unset(view->navi_it, "toolbar");
+ mp_evas_object_del(more_btn);
+ }
+ }
+
+ elm_naviframe_item_pop_cb_set(view->navi_it,
+ _mp_add_track_view_tracklist_back_cb,
+ view);
+
+ endfunc;
+ return 0;
+}
+
+static int _mp_add_track_view_content_load(void *view)
+{
+ DEBUG_TRACE_FUNC();
+ MP_CHECK_VAL(view, -1);
+ MpAddTrackView_t *add_track_view = (MpAddTrackView_t *) view;
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_VAL(ad, -1);
+
+ /* Selector View is launched. Checked Items list is initially freed */
+ ad->selector_mode_bit = EINA_TRUE;
+ GList *list = ad->checkedList;
+ while(list != NULL){
+ GList *next = list->next;
+ char *data = list->data;
+ IF_FREE(data);
+ ad->checkedList = g_list_delete_link(ad->checkedList, list);
+ list = next;
+ }
+
+ Evas_Object *obj;
+
+ obj = add_track_view->add_track_view_tabbar;
+
+ add_track_view->ctltab_songs =
+ mp_util_toolbar_item_append(obj, NULL, (STR_MP_TRACKS),
+ _mp_add_track_view_change_cb,
+ add_track_view);
+
+ add_track_view->ctltab_album =
+ mp_util_toolbar_item_append(obj, NULL, (STR_MP_ALBUMS),
+ _mp_add_track_view_change_cb,
+ add_track_view);
+
+ add_track_view->ctltab_artist =
+ mp_util_toolbar_item_append(obj, NULL, (STR_MP_ARTISTS),
+ _mp_add_track_view_change_cb,
+ add_track_view);
+
+ elm_toolbar_item_selected_set(add_track_view->ctltab_songs, EINA_TRUE);
+
+ evas_object_show(obj);
+ endfunc;
+ return 0;
+}
+
+static void _mp_add_track_view_on_event(void *thiz, MpViewEvent_e event)
+{
+ MpAddTrackView_t *view = (MpAddTrackView_t *) thiz;
+ switch (event) {
+ case MP_ADD_TO_PLAYLIST_DONE:
+ mp_add_track_view_destory(thiz);
+ break;
+ case MP_DB_UPDATED:
+ mp_add_track_view_select_tab(view, view->content_tab);
+ break;
+
+ default:
+ break;
+ }
+}
+
+int _mp_add_track_view_update(void *thiz)
+{
+ MpAddTrackView_t *view = thiz;
+
+ mp_list_update(view->content_to_show);
+ if (view->content_tab == MP_ADD_TRACK_VIEW_TAB_SONGS
+ && mp_list_get_editable_count((MpList_t *) view->content_to_show,
+ mp_list_get_edit_type(view->
+ content_to_show))) {
+ mp_list_show_fast_scroll(view->content_to_show);
+ }
+
+ if (view->content_tab == MP_ADD_TRACK_VIEW_TAB_SONGS
+ && mp_list_get_editable_count((MpList_t *) view->content_to_show,
+ mp_list_get_edit_type(view->
+ content_to_show))
+ == 0) {
+ mp_list_hide_fast_scroll(view->content_to_show);
+ }
+
+ return 0;
+}
+
+static int
+_mp_add_track_view_init(Evas_Object * parent, MpAddTrackView_t * view)
+{
+ startfunc;
+ int ret = 0;
+ ret =
+ mp_list_view_init(parent, (MpListView_t *) view,
+ MP_VIEW_ADD_TRACK);
+ MP_CHECK_VAL(ret == 0, -1);
+
+ view->update = _mp_add_track_view_update;
+ view->update_options = _mp_add_track_view_update_option;
+ view->update_options_edit = _mp_add_track_view_update_option;
+ view->view_destroy_cb = _mp_add_track_view_destory_cb;
+ view->on_event = _mp_add_track_view_on_event;
+ view->set_nowplaying = NULL;
+ view->unset_nowplaying = NULL;
+ view->update_nowplaying = NULL;
+
+ view->add_track_view_layout = view->layout; /*mp_common_load_edj(view->layout, MP_EDJ_NAME, "common_view_layout"); */
+ MP_CHECK_VAL(view->add_track_view_layout, -1);
+
+ view->add_track_view_tabbar =
+ mp_widget_create_tabbar(view->add_track_view_layout);
+ MP_CHECK_VAL(view->add_track_view_tabbar, -1);
+
+ elm_object_part_content_set(view->add_track_view_layout, "tabbar",
+ view->add_track_view_tabbar);
+ edje_object_signal_emit(_EDJ(view->add_track_view_layout),
+ "SHOW_TABBAR", "*");
+ return ret;
+}
+
+MpAddTrackView_t *mp_add_track_view_create(Evas_Object * parent,
+ int playlist_id)
+{
+ eventfunc;
+ int ret;
+ MP_CHECK_NULL(parent);
+
+ MpAddTrackView_t *view = calloc(1, sizeof(MpAddTrackView_t));
+ MP_CHECK_NULL(view);
+ view->first_start = TRUE;
+ view->playlist_id = playlist_id;
+
+ ret = _mp_add_track_view_init(parent, view);
+ if (ret) {
+ goto Error;
+ }
+
+ _mp_add_track_view_content_load(view);
+ return view;
+
+ Error:
+ ERROR_TRACE("Error: mp_add_track_view_create()");
+ IF_FREE(view);
+ return NULL;
+}
+
+
+int mp_add_track_view_destory(MpAddTrackView_t * view)
+{
+ startfunc;
+ MP_CHECK_VAL(view, -1);
+
+ mp_view_mgr_pop_a_view(GET_VIEW_MGR, (MpView_t *) view);
+
+ return 0;
+}
+
+int mp_add_track_view_select_tab(MpAddTrackView_t * view,
+ MpAddTrackViewTab_e tab)
+{
+ startfunc;
+ MP_CHECK_VAL(view, -1);
+
+ Evas_Object *content = NULL;
+ Evas_Object *save_btn = NULL;
+ GList *checked_list = NULL;
+
+ DEBUG_TRACE("selected view: %d", tab);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_VAL(ad, -1);
+
+ if (tab == MP_ADD_TRACK_VIEW_TAB_SONGS) {
+ checked_list =
+ mp_list_get_checked_path_list(view->content_to_show);
+ }
+ content =
+ elm_object_part_content_unset(view->add_track_view_layout,
+ "list_content");
+ evas_object_del(content);
+ mp_evas_object_del(view->selection_info);
+
+ if (tab == MP_ADD_TRACK_VIEW_TAB_ALBUMS) {
+ view->content_to_show =
+ (MpList_t *) mp_album_list_create(view->add_track_view_layout);
+ MP_CHECK_VAL(view->content_to_show, -1);
+ mp_album_list_set_data((MpAlbumList_t *) view->content_to_show,
+ MP_ALBUM_LIST_FUNC, MP_LIST_FUNC_ADD_TRACK,
+ -1);
+ mp_list_update(view->content_to_show);
+ content = ((MpAlbumList_t *) view->content_to_show)->layout;
+ mp_list_view_set_select_all((MpListView_t *) view, FALSE);
+ save_btn =
+ elm_object_item_part_content_get(view->navi_it,
+ "title_right_btn");
+ elm_object_disabled_set(save_btn, EINA_TRUE);
+ } else if (tab == MP_ADD_TRACK_VIEW_TAB_ARTIST) {
+ view->content_to_show =
+ (MpList_t *) mp_artist_list_create(view->
+ add_track_view_layout);
+ MP_CHECK_VAL(view->content_to_show, -1);
+ mp_artist_list_set_data((MpArtistList_t *) view->content_to_show,
+ MP_ARTIST_LIST_TYPE, MP_GROUP_BY_ARTIST,
+ MP_ARTIST_LIST_FUNC,
+ MP_LIST_FUNC_ADD_TRACK, -1);
+ mp_list_update(view->content_to_show);
+ content = ((MpArtistList_t *) view->content_to_show)->layout;
+ mp_list_view_set_select_all((MpListView_t *) view, FALSE);
+ save_btn =
+ elm_object_item_part_content_get(view->navi_it,
+ "title_right_btn");
+ elm_object_disabled_set(save_btn, EINA_TRUE);
+ } else if (tab == MP_ADD_TRACK_VIEW_TAB_SONGS) {
+ view->content_to_show =
+ (MpList_t *) mp_track_list_create(view->add_track_view_layout);
+ MP_CHECK_VAL(view->content_to_show, -1);
+ mp_track_list_set_data((MpTrackList_t *) view->content_to_show,
+ MP_TRACK_LIST_TYPE, MP_TRACK_ALL,
+ MP_TRACK_LIST_PLAYLIT_ID, view->playlist_id,
+ MP_TRACK_LIST_CHECKED_LIST, checked_list,
+ -1);
+ mp_list_update(view->content_to_show);
+ mp_list_set_edit(view->content_to_show, TRUE);
+ mp_list_view_set_select_all((MpListView_t *) view, TRUE);
+ edje_object_signal_emit(_EDJ(view->add_track_view_layout),
+ "SHOW_SELECT_ALL_PADDING", "*");
+ content = ((MpTrackList_t *) view->content_to_show)->layout;
+ save_btn =
+ elm_object_item_part_content_get(view->navi_it,
+ "title_right_btn");
+ if (save_btn) {
+ elm_object_disabled_set(save_btn, EINA_TRUE);
+ }
+ } else {
+ DEBUG_TRACE("tab out of control");
+ return -1;
+ }
+
+ mp_list_show_fast_scroll(view->content_to_show);
+
+ view->content_tab = tab;
+ elm_object_part_content_set(view->add_track_view_layout,
+ "list_content", content);
+ evas_object_show(content);
+
+ mp_view_update_options((MpView_t *) view);
+ /*update title */
+ int count = 0;
+ if (ad->checkedList) {
+ count = g_list_length(ad->checkedList);
+ }
+
+ if (count > 0) {
+ char *text = g_strdup_printf(GET_STR(STR_MP_SELECT_ITEMS), count);
+ mp_view_set_title((MpView_t *) view, text);
+ IF_FREE(text);
+ } else {
+ mp_view_set_title((MpView_t *) view, STR_MP_TILTE_SELECT_ITEM);
+ }
+ return 0;
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include "mp-album-detail-view.h"
+#include "mp-widget.h"
+#include "mp-common.h"
+#include "mp-util.h"
+
+#define MP_MAX_TEXT_PRE_FORMAT_LEN 256
+#define MP_MAX_ARTIST_NAME_WIDTH 320
+#define MP_LABEL_SLIDE_DURATION 5
+#define MP_ALBUM_INDEX_ICON_SIZE (202 * elm_config_scale_get())
+
+#define MP_ALBUM_TITLE_TEXT_STYLE \
+ "DEFAULT='font=tizen;style=Bold font_size=45 wrap=mixed '\
+ newline='br' \
+b='+ font=tizen style=Bold'"
+#define MP_ALBUM_TITLE_TEXT_WIDTH 446
+#define MP_ALBUM_TITLE_TEXT_WIDTH_LD 1006
+#define MP_ALBUM_TITLE_TEXT_HEIGHT 54
+
+static void _mp_album_detail_view_tracklist_edit_cb(void *data,
+ Evas_Object * obj,
+ void *event_info);
+
+static void _mp_album_detail_view_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ elm_naviframe_item_pop(GET_NAVIFRAME);
+}
+
+static void _mp_album_detail_view_destory_cb(void *thiz)
+{
+ startfunc;
+ MpAlbumDetailView_t *view = thiz;
+ MP_CHECK(view);
+ mp_list_view_fini((MpListView_t *) view);
+
+ /* TODO: release resource.. */
+ mp_album_detail_view_destory(view);
+
+ free(view);
+}
+
+int _mp_album_detail_view_update(void *thiz)
+{
+ startfunc;
+ MpAlbumDetailView_t *view = thiz;
+ MP_CHECK_VAL(view, -1);
+ int edit_flag = view->content_to_show->edit_mode;
+ view->content_set(view);
+ if (edit_flag) {
+ mp_list_set_edit(view->content_to_show, true);
+ mp_view_update_options_edit((MpView_t *) view);
+ mp_list_view_set_select_all((MpListView_t *) view, true);
+ } else {
+ mp_view_update_options((MpView_t *) view);
+ mp_list_view_set_select_all((MpListView_t *) view, false);
+ }
+
+ return 0;
+}
+
+static void _mp_album_detail_view_add_to_playlist_cb(void *data,
+ Evas_Object * obj,
+ void *event_info)
+{
+ eventfunc;
+ MpAlbumDetailView_t *view = (MpAlbumDetailView_t *) data;
+ MP_CHECK(view);
+
+ mp_evas_object_del(view->more_btn_ctxpopup);
+ mp_common_add_to_playlsit_view((MpListView_t *) view);
+
+}
+
+static void _mp_album_detail_view_normal_more_btn_cb(void *data,
+ Evas_Object * obj,
+ void *event_info)
+{
+ eventfunc;
+ MpAlbumDetailView_t *view = (MpAlbumDetailView_t *) data;
+ MP_CHECK(view);
+
+ mp_evas_object_del(view->more_btn_ctxpopup);
+
+ view->more_btn_ctxpopup = mp_common_create_more_ctxpopup(view);
+ MP_CHECK(view->more_btn_ctxpopup);
+
+ if (mp_list_get_editable_count
+ (view->content_to_show, MP_LIST_EDIT_TYPE_NORMAL)) {
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_ADD_TO_PLAYLIST,
+ MP_PLAYER_MORE_BTN_ADD_TO_PLAYLSIT_IMAGE,
+ _mp_album_detail_view_add_to_playlist_cb,
+ view);
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_DELETE,
+ MP_PLAYER_MORE_BTN_DELETE_IMAGE,
+ _mp_album_detail_view_tracklist_edit_cb,
+ view);
+ }
+#ifdef MP_FEATURE_PERSONAL_PAGE
+ if (mp_util_is_personal_page_on()) {
+ all_in_personal_e status =
+ mp_common_is_all_in_personal_page(((MpList_t *) view->
+ content_to_show)->genlist);
+ /*add */
+ if (status != MP_COMMON_ALL_IN && status != MP_COMMON_ALL_ERROR)
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_ADD_TO_PERSONAL_PAGE,
+ MP_PLAYER_MORE_BTN_ADD_TO_PERSONAL_PAGE,
+ mp_common_add_to_personal_page_cb,
+ view);
+
+ /*remove */
+ if (status != MP_COMMON_ALL_OUT && status != MP_COMMON_ALL_ERROR)
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_REMOVE_FROM_PERSONAL_PAGE,
+ MP_PLAYER_MORE_BTN_REMOVE_FROM_PERSONAL_PAGE,
+ mp_common_remove_from_personal_page_cb,
+ view);
+ }
+#endif
+ /*search */
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_SEARCH, NULL,
+ mp_common_create_search_view_cb, view);
+
+
+ /*mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_SETTINGS, MP_PLAYER_MORE_BTN_SETTING, mp_common_ctxpopup_setting_cb, view); */
+#ifndef MP_FEATURE_NO_END
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_END, MP_PLAYER_MORE_BTN_VIEW_END,
+ mp_common_ctxpopup_end_cb, view);
+#endif
+ mp_util_more_btn_move_ctxpopup(view->more_btn_ctxpopup, obj);
+
+ evas_object_show(view->more_btn_ctxpopup);
+}
+
+/*************** functions for track list update *******************/
+static void _mp_album_detail_view_tracklist_edit_cb(void *data,
+ Evas_Object * obj,
+ void *event_info)
+{
+ eventfunc;
+ MpAlbumDetailView_t *view = (MpAlbumDetailView_t *) data;
+ MP_CHECK(view);
+
+ mp_evas_object_del(view->more_btn_ctxpopup);
+ mp_common_show_edit_view((MpListView_t *) view, MP_DONE_DELETE_TYPE);
+}
+
+Eina_Bool _mp_album_detail_view_tracklist_back_cb(void *data,
+ Elm_Object_Item * it)
+{
+ eventfunc;
+ MpAlbumDetailView_t *view = (MpAlbumDetailView_t *) data;
+ MP_CHECK_VAL(view, EINA_TRUE);
+
+ MpAlbumDetailList_t *track_list =
+ (MpAlbumDetailList_t *) view->content_to_show;
+ MP_CHECK_VAL(track_list, EINA_TRUE);
+ if (track_list->edit_mode == 1) {
+ mp_list_set_edit((MpList_t *) track_list, FALSE);
+ mp_list_view_set_select_all((MpListView_t *) view, FALSE);
+ mp_view_update_options((MpView_t *) view);
+ mp_evas_object_del(view->selection_info);
+ return EINA_FALSE;
+ } else {
+ DEBUG_TRACE("");
+ MpViewMgr_t *view_mgr = mp_view_mgr_get_view_manager();
+ mp_view_mgr_pop_view(view_mgr, false);
+ }
+ return EINA_TRUE;
+}
+
+static int _mp_album_detail_view_update_options(void *thiz)
+{
+ startfunc;
+ MpAlbumDetailView_t *view = (MpAlbumDetailView_t *) thiz;
+ MP_CHECK_VAL(view, -1);
+
+ mp_view_clear_options((MpView_t *) view);
+
+ Evas_Object *btn = NULL;
+
+ btn =
+ mp_widget_create_toolbar_btn(view->album_detail_view_layout,
+ MP_TOOLBAR_BTN_MORE, NULL,
+ _mp_album_detail_view_normal_more_btn_cb,
+ view);
+ elm_object_item_part_content_set(view->navi_it, "toolbar_more_btn",
+ btn);
+
+ Evas_Object *back_button =
+ elm_button_add(view->album_detail_view_layout);
+ elm_object_style_set(back_button, "naviframe/end_btn/default");
+ elm_object_item_part_content_set(view->navi_it, "prev_btn",
+ back_button);
+ evas_object_smart_callback_add(back_button, "clicked",
+ _mp_album_detail_view_cb, view);
+ /* view->toolbar_options[MP_OPTION_MORE] = btn; */
+
+ /* update the first controlba item */
+ /*mp_view_manager_update_first_controlbar_item(layout_data); */
+ endfunc;
+ return 0;
+}
+
+/*
+static char *
+_mp_album_detail_view_album_list_label_get(void *data, Evas_Object * obj, const char *part)
+{
+ MP_CHECK_NULL(data);
+ char *name = NULL;
+ int ret = 0;
+ mp_layout_data_t *layout_data = (mp_layout_data_t *) data;
+ mp_media_info_h svc_item = mp_media_info_list_nth_item(layout_data->svc_handle, 0);
+ MP_CHECK_NULL(svc_item);
+
+ if (!g_strcmp0(part, "elm.text.1")) {
+ ret = mp_media_info_get_album(svc_item, &name);
+ if (!name || !strlen(name))
+ name = GET_SYS_STR("IDS_COM_BODY_UNKNOWN");
+ return strdup(name);
+
+ } else if (!g_strcmp0(part, "elm.text.3")) {
+ return g_strdup_printf("%d %s", layout_data->item_count, GET_STR("IDS_MUSIC_HEADER_SONGS"));
+ }
+
+ DEBUG_TRACE("Unusing part: %s", part);
+ return NULL;
+}
+*/
+
+/*static char *_mp_album_detail_view_get_year(void *thiz)
+{
+ MpAlbumDetailView_t *view = (MpAlbumDetailView_t *)thiz;
+ MP_CHECK_NULL(view);
+
+ int ret = 0;
+
+ mp_media_list_h svc_handle = NULL;
+ ret = mp_media_info_list_create(&svc_handle, MP_TRACK_BY_ALBUM, view->name, NULL, NULL, -1, 0, 1);
+ MP_CHECK_NULL(ret == 0);
+
+ mp_media_info_h item = NULL;
+ char *year = NULL;
+ char *get_year = NULL;
+ item = mp_media_info_list_nth_item(svc_handle, 0);
+ if (item)
+ {
+ ret = mp_media_info_get_year(item, &year);
+ }
+ DEBUG_TRACE("year=%s", year);
+ get_year = year ? g_strdup(year) : g_strdup("1990");
+
+ mp_media_info_list_destroy(svc_handle);
+
+ return get_year;
+}*/
+
+static void _mp_album_detail_view_content_load(void *thiz)
+{
+ startfunc;
+ MpAlbumDetailView_t *view = (MpAlbumDetailView_t *) thiz;
+ MP_CHECK(view);
+ MP_CHECK(view->layout);
+ MP_CHECK(view->album_detail_view_layout);
+
+ view->content_to_show =
+ (MpList_t *) mp_album_detail_list_create(view->layout);
+ MP_CHECK(view->content_to_show);
+ mp_album_detail_list_set_data((MpAlbumDetailList_t *) view->
+ content_to_show,
+ MP_ALBUM_DETAIL_LIST_TYPE,
+ MP_TRACK_BY_ALBUM,
+ MP_ALBUM_DETAIL_TYPE_STR, view->name,
+ MP_ALBUM_DETAIL_ARTIST, view->artist,
+ MP_ALBUM_DETAIL_THUMBNAIL,
+ view->thumbnail, -1);
+ mp_list_update(view->content_to_show);
+ elm_object_part_content_set(view->album_detail_view_layout,
+ "list_content",
+ view->content_to_show->layout);
+
+}
+
+static void
+_mp_album_detaill_view_on_event(void *thiz, MpViewEvent_e event)
+{
+ DEBUG_TRACE("event; %d", event);
+ MpAlbumDetailView_t *view = thiz;
+ switch (event) {
+ case MP_DELETE_DONE:
+ mp_list_update(view->content_to_show);
+ if (!mp_list_get_editable_count
+ (view->content_to_show,
+ mp_list_get_edit_type(view->content_to_show))) {
+ /* mp_view_mgr_pop_to_view(GET_VIEW_MGR, MP_VIEW_ALL); */
+ elm_object_item_del(view->navi_it);
+ }
+ break;
+ case MP_POPUP_DELETE_DONE:
+ mp_album_detail_list_popup_delete_genlist_item(view->
+ content_to_show);
+ mp_album_detail_list_update_genlist(view->content_to_show);
+ break;
+#ifndef MP_SOUND_PLAYER
+ case MP_UPDATE_PLAYING_LIST:
+ mp_list_realized_item_part_update(view->content_to_show,
+ "elm.text.main.left",
+ ELM_GENLIST_ITEM_FIELD_TEXT);
+ mp_list_realized_item_part_update(view->content_to_show,
+ "elm.text.sub.right",
+ ELM_GENLIST_ITEM_FIELD_TEXT);
+ break;
+#endif
+ case MP_VIEW_EVENT_ALBUMART_CHANGED:{
+ mp_media_list_h media_list = NULL;
+ mp_media_info_h media = NULL;
+ mp_media_info_list_create(&media_list, MP_TRACK_BY_ALBUM,
+ view->name, NULL, NULL, 0, 0, 1);
+ media = mp_media_info_list_nth_item(media_list, 0);
+
+ char *path = NULL;
+ mp_media_info_get_thumbnail_path(media, &path);
+
+ IF_FREE(view->thumbnail);
+ view->thumbnail = g_strdup(path);
+
+ MpAlbumDetailList_t *list =
+ (MpAlbumDetailList_t *) view->content_to_show;
+ MP_CHECK(list);
+ mp_album_detail_list_set_data(list, MP_ALBUM_DETAIL_THUMBNAIL,
+ view->thumbnail, -1);
+ if (list->shuffle_it) {
+ elm_genlist_item_fields_update(list->shuffle_it,
+ "elm.icon.1",
+ ELM_GENLIST_ITEM_FIELD_CONTENT);
+ }
+
+ mp_media_info_list_destroy(media_list);
+ }
+ break;
+
+ case MP_UPDATE_FAVORITE_LIST:{
+ mp_list_update(view->content_to_show);
+ break;
+ }
+ default:
+ break;
+ }
+}
+
+static int
+_mp_album_detail_view_init(Evas_Object * parent,
+ MpAlbumDetailView_t * view)
+{
+ startfunc;
+ int ret = 0;
+ ret =
+ mp_list_view_init(parent, (MpListView_t *) view,
+ MP_VIEW_ALBUM_DETAIL);
+ MP_CHECK_VAL(ret == 0, -1);
+
+ view->update = _mp_album_detail_view_update;
+ view->update_options = _mp_album_detail_view_update_options;
+ /*view->update_options_edit = _mp_album_detail_view_update_options_edit; */
+ view->view_destroy_cb = _mp_album_detail_view_destory_cb;
+ view->content_set = _mp_album_detail_view_content_load;
+ view->on_event = _mp_album_detaill_view_on_event;
+ view->album_detail_view_layout = view->layout;
+
+ MP_CHECK_VAL(view->album_detail_view_layout, -1);
+ return ret;
+}
+
+MpAlbumDetailView_t *mp_album_detail_view_create(Evas_Object * parent,
+ char *album, char *artist,
+ char *thumbnail)
+{
+ startfunc;
+ int ret;
+ MP_CHECK_NULL(parent);
+
+ MpAlbumDetailView_t *view = calloc(1, sizeof(MpAlbumDetailView_t));
+ MP_CHECK_NULL(view);
+
+ ret = _mp_album_detail_view_init(parent, view);
+ if (ret) {
+ goto Error;
+ }
+
+ IF_G_FREE(view->name);
+ IF_G_FREE(view->artist);
+ IF_G_FREE(view->thumbnail);
+ view->name = g_strdup(album);
+ view->artist = g_strdup(artist);
+ view->thumbnail = g_strdup(thumbnail);
+ _mp_album_detail_view_content_load(view);
+ return view;
+
+ Error:
+ ERROR_TRACE("Error: mp_album_detail_view_create()");
+ IF_FREE(view);
+ return NULL;
+}
+
+int mp_album_detail_view_destory(MpAlbumDetailView_t * view)
+{
+ startfunc;
+ MP_CHECK_VAL(view, -1);
+ IF_G_FREE(view->name);
+ IF_G_FREE(view->artist);
+ IF_G_FREE(view->thumbnail);
+ return 0;
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include "mp-all-view.h"
+#include "mp-widget.h"
+#include "mp-create-playlist-view.h"
+#include "mp-common.h"
+#include "mp-popup.h"
+#include "mp-util.h"
+#include "mp-player-view.h"
+#include "mp-play.h"
+#include "mp-smart-event-box.h"
+#include "mp-edit-view.h"
+#include "mp-player-mgr.h"
+#include "mp-edit-playlist.h"
+#include "ms-key-ctrl.h"
+
+static void _mp_all_view_playlist_list_create_playlist_cb(void *data,
+ Evas_Object *
+ obj,
+ void
+ *event_info);
+static void _mp_all_view_edit_cb(void *data, Evas_Object * obj,
+ void *event_info);
+static void _mp_all_view_content_load(void *thiz, MpTab_e tab);
+
+#define TAB_COUNT 4
+#define MP_INIT_VALUE -2
+static char *tab_str[TAB_COUNT] = { STR_MP_PLAYLISTS, STR_MP_TRACKS, STR_MP_ALBUMS, STR_MP_ARTISTS };
+static int tab_index[TAB_COUNT] = { 0 };
+static int tab_index_exist[TAB_COUNT] = { 0 };
+
+static void _mp_all_view_tabs_sequence_get();
+
+static int _mp_all_view_tab_index_get(MpAllView_t * view)
+{
+ MP_CHECK_VAL(view, 0);
+ int index = 0;
+ if (view->tab_status < TAB_COUNT) {
+ index = tab_index_exist[view->tab_status];
+ }
+
+ return index;
+
+}
+
+
+static void _mp_all_view_destory_cb(void *thiz)
+{
+ eventfunc;
+ MpAllView_t *view = thiz;
+ MP_CHECK(view);
+ mp_list_view_fini((MpListView_t *) view);
+
+ /* TODO: release resource.. */
+
+ mp_ecore_timer_del(view->bringin_timer);
+ mp_ecore_idler_del(view->show_last_idler);
+
+ free(view);
+}
+
+int _mp_all_view_update(void *thiz)
+{
+ startfunc;
+ MpAllView_t *view = thiz;
+
+ mp_list_update(view->content_to_show);
+ if (_mp_all_view_tab_index_get(view) == MP_TAB_SONGS
+ && mp_list_get_editable_count(view->content_to_show,
+ mp_list_get_edit_type(view->
+ content_to_show))) {
+ mp_list_show_fast_scroll(view->content_to_show);
+ }
+
+ if (_mp_all_view_tab_index_get(view) == MP_TAB_SONGS
+ && mp_list_get_editable_count(view->content_to_show,
+ mp_list_get_edit_type(view->
+ content_to_show))
+ == 0) {
+ mp_list_hide_fast_scroll(view->content_to_show);
+ }
+ return 0;
+}
+
+static void _mp_all_view_add_to_playlist_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ eventfunc;
+ MpAllView_t *view = (MpAllView_t *) data;
+ MP_CHECK(view);
+
+ mp_evas_object_del(view->more_btn_ctxpopup);
+ mp_common_add_to_playlsit_view((MpListView_t *) view);
+
+}
+
+static void _mp_all_view_normal_more_btn_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ eventfunc;
+ MpAllView_t *view = (MpAllView_t *) data;
+ MP_CHECK(view);
+
+ mp_evas_object_del(view->more_btn_ctxpopup);
+
+ view->more_btn_ctxpopup = mp_common_create_more_ctxpopup(view);
+ MP_CHECK(view->more_btn_ctxpopup);
+
+ int index = _mp_all_view_tab_index_get(view);
+ int count = 0;
+ int playlistcount = mp_media_playlist_get_playlist_count_from_db();
+ mp_media_info_list_count(MP_TRACK_ALL, NULL, NULL, NULL, 0, &count);
+
+ /*create playlist */
+ if (index == MP_TAB_PLAYLISTS) {
+ if (playlistcount < 100) {
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_CREATE_PLAYLIST,
+ MP_PLAYER_MORE_BTN_CREATE_PLAYLIST_IMAGE,
+ _mp_all_view_playlist_list_create_playlist_cb,
+ view);
+ mp_util_more_btn_move_ctxpopup(view->more_btn_ctxpopup, obj);
+ evas_object_show(view->more_btn_ctxpopup);
+ }
+ }
+
+ /*edit button */
+ if (mp_list_get_editable_count
+ (view->content_to_show, MP_LIST_EDIT_TYPE_NORMAL)) {
+ if (index != MP_TAB_PLAYLISTS) {
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_ADD_TO_PLAYLIST,
+ MP_PLAYER_MORE_BTN_ADD_TO_PLAYLSIT_IMAGE,
+ _mp_all_view_add_to_playlist_cb,
+ view);
+ }
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_DELETE,
+ MP_PLAYER_MORE_BTN_DELETE_IMAGE,
+ _mp_all_view_edit_cb, view);
+ /*search */
+ if (count > 0) {
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_SEARCH, NULL,
+ mp_common_create_search_view_cb,
+ view);
+ }
+#ifdef MP_FEATURE_PERSONAL_PAGE
+ if (index == MP_TAB_SONGS) {
+ if (mp_util_is_personal_page_on()) {
+ all_in_personal_e status =
+ mp_common_is_all_in_personal_page(((MpList_t *) view->
+ content_to_show)->
+ genlist);
+ /*add */
+ if (status != MP_COMMON_ALL_IN
+ && status != MP_COMMON_ALL_ERROR)
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_ADD_TO_PERSONAL_PAGE,
+ MP_PLAYER_MORE_BTN_ADD_TO_PERSONAL_PAGE,
+ mp_common_add_to_personal_page_cb,
+ view);
+
+ /*remove */
+ if (status != MP_COMMON_ALL_OUT
+ && status != MP_COMMON_ALL_ERROR)
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_REMOVE_FROM_PERSONAL_PAGE,
+ MP_PLAYER_MORE_BTN_REMOVE_FROM_PERSONAL_PAGE,
+ mp_common_remove_from_personal_page_cb,
+ view);
+ }
+ }
+#endif
+
+
+#ifndef MP_FEATURE_NO_END
+ /*End */
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_END,
+ MP_PLAYER_MORE_BTN_VIEW_END,
+ mp_common_ctxpopup_end_cb, view);
+#endif
+ mp_util_more_btn_move_ctxpopup(view->more_btn_ctxpopup, obj);
+ evas_object_show(view->more_btn_ctxpopup);
+ }
+}
+
+
+/*************** functions for track list update *******************/
+static void _mp_all_view_edit_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ eventfunc;
+ MpAllView_t *view = (MpAllView_t *) data;
+ MP_CHECK(view);
+
+ mp_evas_object_del(view->more_btn_ctxpopup);
+ mp_common_show_edit_view((MpListView_t *) view, MP_DONE_DELETE_TYPE);
+}
+
+Eina_Bool _mp_all_view_pop_cb(void *data, Elm_Object_Item * it)
+{
+ startfunc;
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_FALSE(ad);
+ elm_win_lower(ad->win_main);
+ return FALSE;
+}
+
+static void _mp_all_view_update_toolbar_option(void *thiz)
+{
+ startfunc;
+ MpAllView_t *view = (MpAllView_t *) thiz;
+ MP_CHECK(view);
+
+ Evas_Object *btn = NULL;
+ btn =
+ mp_widget_create_toolbar_btn(view->all_view_layout,
+ MP_TOOLBAR_BTN_MORE, NULL,
+ _mp_all_view_normal_more_btn_cb,
+ view);
+ elm_object_item_part_content_set(view->navi_it, "toolbar_more_btn",
+ btn);
+ elm_naviframe_item_pop_cb_set(view->navi_it, _mp_all_view_pop_cb,
+ view);
+
+ endfunc;
+ return;
+}
+
+/*************** functions for playlist list update *******************/
+static void _mp_all_view_playlist_list_create_playlist_cb(void *data,
+ Evas_Object *
+ obj,
+ void *event_info)
+{
+ eventfunc;
+ MpAllView_t *view = (MpAllView_t *) data;
+ MP_CHECK(view);
+
+ mp_evas_object_del(view->more_btn_ctxpopup);
+
+ Mp_Playlist_Data *mp_playlist_data =
+ mp_edit_playlist_create(MP_PLST_CREATE_TO_ADD_TRACK);
+ mp_edit_playlist_content_create(mp_playlist_data);
+}
+
+int _mp_all_view_update_options(void *thiz)
+{
+ startfunc;
+ MpAllView_t *view = (MpAllView_t *) thiz;
+ MP_CHECK_VAL(view->navi_it, -1);
+
+ PROFILE_IN("mp_view_clear_options");
+ mp_view_clear_options((MpView_t *) view);
+ PROFILE_OUT("mp_view_clear_options");
+ /*add search btn */
+
+ mp_view_set_title_visible((MpView_t *) view, true);
+
+ PROFILE_IN("_mp_all_view_update_toolbar_option");
+ _mp_all_view_update_toolbar_option(thiz);
+ PROFILE_OUT("_mp_all_view_update_toolbar_option");
+
+ return 0;
+}
+
+static int _mp_all_view_playlist_update(void *thiz)
+{
+ MpAllView_t *view = (MpAllView_t *) thiz;
+ MP_CHECK_VAL(view, -1);
+ if (_mp_all_view_tab_index_get(view) == MP_TAB_PLAYLISTS) {
+ mp_view_update((MpView_t *) view);
+ mp_view_update_options((MpView_t *) view);
+ }
+ return 0;
+}
+
+static void _all_view_tab_change_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ MpAllView_t *view = data;
+ Evas_Object *content = NULL;
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ ad->recentlyAddedGridView = true;
+ /*the normal case */
+ if (!view->reorder_flag) {
+ Elm_Object_Item *it = NULL;
+ Elm_Object_Item *it2 = NULL;
+
+ it = elm_toolbar_selected_item_get(obj);
+ mp_retm_if(it == NULL, "tab item is NULL");
+
+ it2 = elm_toolbar_first_item_get(obj);
+
+ int i = 0;
+ for (i = 0; i < MP_TAB_MAX; i++) {
+ if (it == it2) {
+ break;
+ }
+ it2 = elm_toolbar_item_next_get(it2);
+ if (!it2) {
+ break;
+ }
+ }
+
+ if (view->tab_status == i) {
+ return;
+ }
+
+ view->tab_status = i;
+ }
+
+
+ MpList_t *list = NULL;
+ DEBUG_TRACE("view->tab_status %d", view->tab_status);
+ /*record the tab status for reorder */
+ int index = _mp_all_view_tab_index_get(view);
+
+ view->history = _mp_all_view_tab_index_get(view);
+
+ switch (index) {
+ case MP_TAB_PLAYLISTS:
+ list = (void *) mp_playlist_list_create(view->all_view_layout);
+ if (view->tab_status < MP_TAB_MAX) {
+ mp_playlist_list_set_data((MpPlaylistList_t *) list,
+ MP_PLAYLIST_LIST_DISPLAY_MODE,
+ view->display_mode[view->tab_status],
+ -1);
+ }
+ mp_list_update(list);
+ break;
+ case MP_TAB_ALBUMS:
+ list = (void *) mp_album_list_create(view->all_view_layout);
+ mp_album_list_set_data((MpAlbumList_t *) list,
+ MP_ALBUM_LIST_DISPLAY_MODE,
+ view->display_mode[view->tab_status], -1);
+ mp_list_update(list);
+ if (view->display_mode[view->tab_status] ==
+ MP_LIST_DISPLAY_MODE_NORMAL) {
+ mp_list_show_fast_scroll(list);
+ }
+ break;
+ case MP_TAB_ARTISTS:
+ list = (void *) mp_artist_list_create(view->all_view_layout);
+ mp_artist_list_set_data((MpArtistList_t *) list,
+ MP_ARTIST_LIST_DISPLAY_MODE,
+ view->display_mode[view->tab_status], -1);
+ mp_list_update(list);
+ if (view->display_mode[view->tab_status] ==
+ MP_LIST_DISPLAY_MODE_NORMAL) {
+ mp_list_show_fast_scroll(list);
+ }
+ break;
+ case MP_TAB_SONGS:
+ default:
+ PROFILE_IN("mp_track_list_create");
+ list = (void *) mp_track_list_create(view->all_view_layout);
+ PROFILE_OUT("mp_track_list_create");
+ PROFILE_IN("mp_list_update");
+ mp_list_update(list);
+ PROFILE_OUT("mp_list_update");
+ PROFILE_IN("mp_list_show_fast_scroll");
+ mp_list_show_fast_scroll(list);
+ PROFILE_OUT("mp_list_show_fast_scroll");
+ break;
+ }
+
+ ad->recentlyAddedGridView = false;
+ view->content_to_show = list;
+ content = mp_list_get_layout(list);
+ if (content != NULL) {
+ elm_object_part_content_set(view->all_view_layout, "list-content",
+ content);
+ }
+
+ /*reset the flag */
+ view->reorder_flag = FALSE;
+}
+
+static Eina_Bool _item_bring_in_first(void *data)
+{
+ MpAllView_t *view = data;
+ MP_CHECK_FALSE(view);
+
+ Elm_Object_Item *it = NULL;
+ it = elm_toolbar_first_item_get(view->all_view_tabbar);
+
+ elm_toolbar_item_bring_in(it, ELM_TOOLBAR_ITEM_SCROLLTO_FIRST);
+
+ view->bringin_timer = NULL;
+ return ECORE_CALLBACK_CANCEL;
+}
+
+static Eina_Bool _item_show_last(void *data)
+{
+ MpAllView_t *view = data;
+ MP_CHECK_FALSE(view);
+
+ Elm_Object_Item *it = NULL;
+ it = elm_toolbar_last_item_get(view->all_view_tabbar);
+
+ elm_toolbar_item_show(it, ELM_TOOLBAR_ITEM_SCROLLTO_IN);
+
+ view->show_last_idler = NULL;
+ view->bringin_timer = ecore_timer_add(0.3, _item_bring_in_first, view);
+ return ECORE_CALLBACK_CANCEL;
+}
+
+static void _mp_all_view_tabs_sequence_get()
+{
+ char *get_str = NULL;
+ ms_key_get_tabs_str(&get_str);
+ int value = atoi(get_str);
+ int j = 0;
+ for (j = TAB_COUNT - 1; j >= 0; j--) {
+ tab_index[j] = value % 10;
+ value = value / 10;
+ }
+
+}
+
+static Evas_Object *_all_view_create_tabbar(Evas_Object * parent,
+ MpAllView_t * view)
+{
+ MP_CHECK_NULL(parent);
+ MP_CHECK_NULL(view);
+
+ Evas_Object *obj = mp_widget_create_tabbar(parent);
+
+ int i = 0;
+
+ memset(tab_index_exist, 0, sizeof(tab_index_exist));
+
+ /*append the exists tab */
+ for (i = 0; i < TAB_COUNT; i++) {
+ mp_util_toolbar_item_append(obj, NULL, tab_str[i],
+ _all_view_tab_change_cb, view);
+ tab_index_exist[i] = i;
+ }
+
+ elm_toolbar_item_selected_set(mp_util_toolbar_nth_item
+ (obj, view->tab_status), EINA_TRUE);
+ DEBUG_TRACE("select tab is %d", view->tab_status);
+
+ view->show_last_idler = ecore_idler_add(_item_show_last, view);
+ evas_object_show(obj);
+
+ return obj;
+}
+
+
+static void _mp_all_view_content_load(void *thiz, MpTab_e tab)
+{
+ startfunc;
+ MP_CHECK(thiz);
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ MpAllView_t *view = (MpAllView_t *) thiz;
+ view->reorder_flag = TRUE;
+ view->tab_status = 0;
+ /*we set the removed tab -1,so should set other value */
+ view->history = MP_INIT_VALUE;
+
+ PROFILE_IN("_all_view_create_tabbar");
+ Evas_Object *tabbar =
+ _all_view_create_tabbar(view->all_view_layout, view);
+ PROFILE_OUT("_all_view_create_tabbar");
+
+ elm_object_part_content_set(view->all_view_layout, "tabbar", tabbar);
+ view->all_view_tabbar = tabbar;
+ endfunc;
+}
+
+static void _mp_all_view_popup_delete_update_genlist(void *thiz)
+{
+ startfunc;
+
+ MP_CHECK(thiz);
+ MpList_t *list = thiz;
+ MP_CHECK(list->genlist);
+
+ int count = 0;
+ mp_media_info_list_count(MP_TRACK_ALL, NULL, NULL, NULL, 0, &count);
+
+ if (count <= 0) {
+ mp_list_update(thiz);
+ mp_list_hide_fast_scroll((MpList_t *) list);
+ } else {
+ elm_genlist_realized_items_update(list->genlist);
+ }
+}
+
+static void _mp_all_view_tabs_refresh(void *thiz)
+{
+ startfunc;
+ MP_CHECK(thiz);
+ MpAllView_t *view = (MpAllView_t *) thiz;
+
+ Evas_Object *content =
+ elm_object_part_content_get(view->all_view_layout, "tabbar");
+ if (content) {
+ mp_evas_object_del(content);
+ view->all_view_tabbar = NULL;
+ }
+ _mp_all_view_tabs_sequence_get();
+
+ view->reorder_flag = TRUE;
+ Evas_Object *tabbar =
+ _all_view_create_tabbar(view->all_view_layout, view);
+ PROFILE_OUT("_all_view_create_tabbar");
+
+ elm_object_part_content_set(view->all_view_layout, "tabbar", tabbar);
+ view->all_view_tabbar = tabbar;
+ endfunc;
+}
+
+static void _mp_all_view_on_event(void *thiz, MpViewEvent_e event)
+{
+ DEBUG_TRACE("event; %d", event);
+ MpAllView_t *view = thiz;
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ MpList_t *list = view->content_to_show;
+ int index = _mp_all_view_tab_index_get(view);
+
+ switch (event) {
+ case MP_SETTING_PLAYLIST_CHANGED:
+ if (index == MP_TAB_PLAYLISTS) {
+ mp_view_update(thiz);
+ }
+ break;
+ /*case MP_PLAY_TIME_COUNT_UPDATED: */
+ case MP_ADD_TO_PLAYLIST_DONE:
+ if (index == MP_TAB_PLAYLISTS) {
+ mp_view_update(thiz);
+ }
+ break;
+ case MP_LANG_CHANGED:{
+ MpListDisplayMode_e current = mp_list_get_display_mode(list);
+ if (index == MP_TAB_ARTISTS
+ && MP_LIST_DISPLAY_MODE_NORMAL == current) {
+ mp_list_realized_item_part_update(list, "elm.icon",
+ ELM_GENLIST_ITEM_FIELD_CONTENT);
+ }
+ }
+ break;
+ case MP_POPUP_DELETE_DONE:
+ if (index == MP_TAB_PLAYLISTS) {
+ mp_view_update(thiz);
+ } else {
+ _mp_all_view_popup_delete_update_genlist(list);
+ }
+ break;
+ case MP_DELETE_DONE:
+ mp_list_update(list);
+ if (index != MP_TAB_PLAYLISTS) {
+ if (list->genlist) {
+ int count = 0;
+ count = elm_genlist_items_count(list->genlist);
+ if (count <= 0) {
+ mp_list_hide_fast_scroll((MpList_t *) list);
+ }
+ } else {
+ mp_list_hide_fast_scroll((MpList_t *) list);
+ }
+ }
+ break;
+ case MP_PLAYLIST_RENAMED:
+ mp_list_update(list);
+ break;
+ case MP_PLAYLIST_MGR_ITEM_CHANGED:
+ mp_view_update_nowplaying((MpView_t *) view, true);
+ if (ad->popup_data) {
+ Mp_Playlist_Data *mp_playlist_data =
+ (Mp_Playlist_Data *) ad->popup_data;
+ mp_evas_object_del(mp_playlist_data->popup);
+ }
+ break;
+ case MP_PLAYLIST_CREATED:
+ _mp_all_view_playlist_update(view);
+ break;
+ case MP_SIP_STATE_CHANGED:
+ break;
+#ifndef MP_SOUND_PLAYER
+ case MP_UPDATE_PLAYING_LIST:
+ mp_list_realized_item_part_update(list, "elm.text.main.left.top",
+ ELM_GENLIST_ITEM_FIELD_TEXT);
+ mp_list_realized_item_part_update(list, "elm.text.sub.left.bottom",
+ ELM_GENLIST_ITEM_FIELD_TEXT);
+ break;
+#endif
+ case MP_PLAYLIST_IMAGE_UPDATED:
+ mp_list_update(list);
+ break;
+#ifdef MP_FEATURE_PERSONAL_PAGE
+ case MP_PERSONAL_PAGE_ON:
+ view->personal_page_status = true;
+ mp_list_update(list);
+ break;
+ case MP_PERSONAL_PAGE_OFF:
+ view->personal_page_status = false;
+ mp_list_update(list);
+ break;
+#endif
+ case MP_VIEW_EVENT_ALBUMART_CHANGED:
+ if (index == MP_TAB_SONGS) {
+ mp_list_realized_item_part_update(list, "elm.icon",
+ ELM_GENLIST_ITEM_FIELD_CONTENT);
+ } else {
+ mp_list_update(list);
+ }
+ break;
+ case MP_UPDATE_FAVORITE_LIST:{
+ if (index == MP_TAB_PLAYLISTS) {
+ mp_list_update(list);
+ }
+ break;
+ }
+ case MP_TABS_ITEM_CHANGED:
+ case MP_TABS_REORDER_DONE:{
+ _mp_all_view_tabs_refresh(view);
+ break;
+ }
+ case MP_PLAYLISTS_REORDER_DONE:{
+ _mp_all_view_tabs_sequence_get();
+ if (tab_index[view->tab_status] - 1 == MP_TAB_PLAYLISTS) {
+ mp_view_update(thiz);
+ }
+ break;
+ }
+ case MP_START_PLAYBACK:
+ case MP_RESUME_PLAYBACK:
+ case MP_PAUSE_PLAYBACK:
+ case MP_PLAYING_TRACK_CHANGED:
+ case MP_STOP_PLAYBACK:{
+ if (index == MP_TAB_SONGS) {
+ mp_list_realized_item_part_update(list, "elm.icon.left",
+ ELM_GENLIST_ITEM_FIELD_CONTENT);
+ }
+ break;
+ }
+ default:
+ break;
+ }
+}
+
+static int _mp_all_view_init(Evas_Object * parent, MpAllView_t * view)
+{
+ startfunc;
+ int ret = 0;
+ ret = mp_list_view_init(parent, (MpListView_t *) view, MP_VIEW_ALL);
+ MP_CHECK_VAL(ret == 0, -1);
+
+ view->update = _mp_all_view_update;
+ view->update_options = _mp_all_view_update_options;
+ view->view_destroy_cb = _mp_all_view_destory_cb;
+ view->on_event = _mp_all_view_on_event;
+
+ view->all_view_layout =
+ mp_common_load_edj(view->layout, MP_EDJ_NAME,
+ "common_view_layout");
+ MP_CHECK_VAL(view->all_view_layout, -1);
+
+ elm_object_part_content_set(view->layout, "list_content",
+ view->all_view_layout);
+
+ return ret;
+}
+
+MpAllView_t *mp_all_view_create(Evas_Object * parent, MpTab_e init_tab)
+{
+ eventfunc;
+ int ret;
+ MP_CHECK_NULL(parent);
+
+ MpAllView_t *view = calloc(1, sizeof(MpAllView_t));
+ MP_CHECK_NULL(view);
+
+ PROFILE_IN("_mp_all_view_init");
+ ret = _mp_all_view_init(parent, view);
+ PROFILE_OUT("_mp_all_view_init");
+ if (ret) {
+ goto Error;
+ }
+#ifdef MP_FEATURE_PERSONAL_PAGE
+ view->personal_page_status = mp_util_is_personal_page_on();
+#endif
+ PROFILE_IN("_mp_all_view_content_load");
+ _mp_all_view_content_load(view, init_tab);
+ PROFILE_OUT("_mp_all_view_content_load");
+ return view;
+
+ Error:
+ ERROR_TRACE("Error: mp_all_view_create()");
+ IF_FREE(view);
+ return NULL;
+}
+
+int mp_all_view_destory(MpAllView_t * view)
+{
+ startfunc;
+ MP_CHECK_VAL(view, -1);
+ return 0;
+}
+
+int mp_all_view_select_tab(MpAllView_t * view, MpTab_e tab)
+{
+ startfunc;
+ MP_CHECK_VAL(view, -1);
+
+ elm_toolbar_item_selected_set(mp_util_toolbar_nth_item
+ (view->all_view_tabbar, tab), EINA_TRUE);
+ mp_view_update_options((MpView_t *) view);
+ return 0;
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include "mp-artist-detail-view.h"
+#include "mp-artist-detail-list.h"
+#include "mp-widget.h"
+#include "mp-common.h"
+#include "mp-util.h"
+
+#define MP_ARTIST_INDEX_ICON_SIZE (202 * elm_config_scale_get())
+
+static void _mp_artist_detail_view_tracklist_edit_cb(void *data,
+ Evas_Object * obj,
+ void *event_info);
+static void _mp_artist_detail_view_content_load(void *thiz);
+
+static void _mp_artist_detail_view_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ elm_naviframe_item_pop(GET_NAVIFRAME);
+}
+
+static void _mp_artist_detail_view_destory_cb(void *thiz)
+{
+ eventfunc;
+ MpArtistDetailView_t *view = thiz;
+ MP_CHECK(view);
+ mp_list_view_fini((MpListView_t *) view);
+
+ /* TODO: release resource.. */
+ mp_artist_detail_view_destory(view);
+
+ free(view);
+}
+
+int _mp_artist_detail_view_update(void *thiz)
+{
+ startfunc;
+ MpArtistDetailView_t *view = thiz;
+ MP_CHECK_VAL(view, -1);
+
+ int edit_flag = view->content_to_show->edit_mode;
+ _mp_artist_detail_view_content_load(view);
+ if (edit_flag) {
+ mp_list_set_edit(view->content_to_show, true);
+ mp_view_update_options_edit((MpView_t *) view);
+ mp_list_view_set_select_all((MpListView_t *) view, true);
+ } else {
+ mp_view_update_options((MpView_t *) view);
+ mp_list_view_set_select_all((MpListView_t *) view, false);
+ }
+ return 0;
+}
+
+static void _mp_artist_detail_view_add_to_playlist_cb(void *data,
+ Evas_Object * obj,
+ void *event_info)
+{
+ eventfunc;
+ MpArtistDetailView_t *view = (MpArtistDetailView_t *) data;
+ MP_CHECK(view);
+
+ mp_evas_object_del(view->more_btn_ctxpopup);
+ mp_common_add_to_playlsit_view((MpListView_t *) view);
+
+}
+
+static void _mp_artist_detail_view_normal_more_btn_cb(void *data,
+ Evas_Object * obj,
+ void *event_info)
+{
+ eventfunc;
+ MpArtistDetailView_t *view = (MpArtistDetailView_t *) data;
+ MP_CHECK(view);
+
+ mp_evas_object_del(view->more_btn_ctxpopup);
+
+ view->more_btn_ctxpopup = mp_common_create_more_ctxpopup(view);
+ MP_CHECK(view->more_btn_ctxpopup);
+
+ if (mp_list_get_editable_count
+ (view->content_to_show, MP_LIST_EDIT_TYPE_NORMAL)) {
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_ADD_TO_PLAYLIST,
+ MP_PLAYER_MORE_BTN_ADD_TO_PLAYLSIT_IMAGE,
+ _mp_artist_detail_view_add_to_playlist_cb,
+ view);
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_DELETE,
+ MP_PLAYER_MORE_BTN_DELETE_IMAGE,
+ _mp_artist_detail_view_tracklist_edit_cb,
+ view);
+ }
+#ifdef MP_FEATURE_PERSONAL_PAGE
+ if (mp_util_is_personal_page_on()) {
+ all_in_personal_e status =
+ mp_common_is_all_in_personal_page(((MpList_t *) view->
+ content_to_show)->genlist);
+ /*add */
+ if (status != MP_COMMON_ALL_IN && status != MP_COMMON_ALL_ERROR)
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_ADD_TO_PERSONAL_PAGE,
+ MP_PLAYER_MORE_BTN_ADD_TO_PERSONAL_PAGE,
+ mp_common_add_to_personal_page_cb,
+ view);
+
+ /*remove */
+ if (status != MP_COMMON_ALL_OUT && status != MP_COMMON_ALL_ERROR)
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_REMOVE_FROM_PERSONAL_PAGE,
+ MP_PLAYER_MORE_BTN_REMOVE_FROM_PERSONAL_PAGE,
+ mp_common_remove_from_personal_page_cb,
+ view);
+ }
+#endif
+
+ /*search */
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_SEARCH, NULL,
+ mp_common_create_search_view_cb, view);
+
+ /*mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_SETTINGS, MP_PLAYER_MORE_BTN_SETTING, mp_common_ctxpopup_setting_cb, view); */
+#ifndef MP_FEATURE_NO_END
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_END, MP_PLAYER_MORE_BTN_VIEW_END,
+ mp_common_ctxpopup_end_cb, view);
+#endif
+ mp_util_more_btn_move_ctxpopup(view->more_btn_ctxpopup, obj);
+
+ evas_object_show(view->more_btn_ctxpopup);
+}
+
+/*************** functions for track list update *******************/
+static void _mp_artist_detail_view_tracklist_edit_cb(void *data,
+ Evas_Object * obj,
+ void *event_info)
+{
+ eventfunc;
+ MpArtistDetailView_t *view = (MpArtistDetailView_t *) data;
+ MP_CHECK(view);
+
+ mp_evas_object_del(view->more_btn_ctxpopup);
+
+ mp_common_show_edit_view((MpListView_t *) view, MP_DONE_DELETE_TYPE);
+}
+
+/*static Eina_Bool _mp_artist_detail_view_tracklist_back_cb(void *data, Elm_Object_Item *it)
+{
+ eventfunc;
+ MpArtistDetailView_t *view = (MpArtistDetailView_t *) data;
+ MP_CHECK_VAL(view, EINA_TRUE);
+
+ MpArtistDetailList_t *artist_detail_list = (MpArtistDetailList_t *)view->content_to_show;
+ MP_CHECK_VAL(artist_detail_list, EINA_TRUE);
+ if (artist_detail_list->edit_mode == 1)
+ {
+ mp_list_set_edit((MpList_t *)artist_detail_list, FALSE);
+ mp_list_view_set_select_all((MpListView_t *)view, FALSE);
+ mp_view_update_options((MpView_t *)view);
+ mp_evas_object_del(view->selection_info);
+ return EINA_FALSE;
+ }
+ else
+ {
+ DEBUG_TRACE("");
+ MpViewMgr_t *view_mgr = mp_view_mgr_get_view_manager();
+ mp_view_mgr_pop_view(view_mgr, false);
+ }
+ return EINA_TRUE;
+}*/
+
+static int _mp_artist_detail_view_update_options(void *thiz)
+{
+ startfunc;
+ MpArtistDetailView_t *view = (MpArtistDetailView_t *) thiz;
+ MP_CHECK_VAL(view, -1);
+
+ mp_view_clear_options((MpView_t *) view);
+
+ Evas_Object *btn = NULL;
+ btn =
+ mp_widget_create_toolbar_btn(view->artist_detail_view_layout,
+ MP_TOOLBAR_BTN_MORE, NULL,
+ _mp_artist_detail_view_normal_more_btn_cb,
+ view);
+
+ elm_object_item_part_content_set(view->navi_it, "toolbar_more_btn",
+ btn);
+
+ Evas_Object *back_button =
+ elm_button_add(view->artist_detail_view_layout);
+ elm_object_style_set(back_button, "naviframe/end_btn/default");
+ elm_object_item_part_content_set(view->navi_it, "prev_btn",
+ back_button);
+ evas_object_smart_callback_add(back_button, "clicked",
+ _mp_artist_detail_view_cb, view);
+
+ /* update the first controlba item */
+ /* mp_view_manager_update_first_controlbar_item(layout_data); */
+ endfunc;
+ return 0;
+}
+
+static void _mp_artist_detail_view_content_load(void *thiz)
+{
+ startfunc;
+ MpArtistDetailView_t *view = (MpArtistDetailView_t *) thiz;
+ MP_CHECK(view);
+ MP_CHECK(view->artist_detail_view_layout);
+ /*elm_object_part_content_set(view->layout, "list_content", view->artist_detail_view_layout); */
+
+ view->content_to_show =
+ (MpList_t *) mp_artist_detail_list_create(view->layout);
+ MP_CHECK(view->content_to_show);
+ mp_artist_detail_list_set_data((MpArtistDetailList_t *) view->
+ content_to_show,
+ MP_ARTIST_DETAIL_LIST_TYPE,
+ MP_TRACK_BY_ARTIST_ALBUM,
+ MP_ARTIST_DETAIL_LIST_TYPE_STR,
+ view->name, -1);
+ mp_list_update(view->content_to_show);
+ elm_object_part_content_set(view->artist_detail_view_layout,
+ "list_content",
+ view->content_to_show->layout);
+
+ /* artist index */
+ /*remove index part in artist detail view according to UI 3.6 */
+ /* mp_evas_object_del(view->artist_index);
+
+ if (mp_list_get_editable_count(view->content_to_show, mp_list_get_edit_type(view->content_to_show))) {
+ view->artist_index = _mp_artist_detail_view_append_artist_index(view);
+ elm_object_part_content_set(view->artist_detail_view_layout, "tabbar", view->artist_index);
+ } */
+}
+
+static void
+_mp_artist_detaill_view_on_event(void *thiz, MpViewEvent_e event)
+{
+ DEBUG_TRACE("event; %d", event);
+ MpArtistDetailView_t *view = thiz;
+ switch (event) {
+ case MP_DELETE_DONE:
+ mp_list_update(view->content_to_show);
+ if (!mp_list_get_editable_count
+ (view->content_to_show,
+ mp_list_get_edit_type(view->content_to_show))) {
+ /* mp_view_mgr_pop_to_view(GET_VIEW_MGR, MP_VIEW_ALL); */
+ elm_object_item_del(view->navi_it);
+ }
+ /*mp_evas_object_del(view->artist_index);
+ if (mp_list_get_editable_count(view->content_to_show, mp_list_get_edit_type(view->content_to_show))) {
+ view->artist_index = _mp_artist_detail_view_append_artist_index(view);
+ elm_object_part_content_set(view->artist_detail_view_layout, "tabbar", view->artist_index);
+ } */
+ break;
+ case MP_POPUP_DELETE_DONE:
+ mp_artist_detail_list_update_genlist(view->content_to_show);
+ break;
+ case MP_VIEW_EVENT_ALBUMART_CHANGED:
+ mp_list_realized_item_part_update(view->content_to_show,
+ "elm.icon",
+ ELM_GENLIST_ITEM_FIELD_CONTENT);
+ break;
+
+#ifndef MP_SOUND_PLAYER
+ case MP_UPDATE_PLAYING_LIST:
+ mp_list_realized_item_part_update(view->content_to_show,
+ "elm.text.main.left",
+ ELM_GENLIST_ITEM_FIELD_TEXT);
+ mp_list_realized_item_part_update(view->content_to_show,
+ "elm.text.sub.right",
+ ELM_GENLIST_ITEM_FIELD_TEXT);
+ break;
+#endif
+ case MP_UPDATE_FAVORITE_LIST:{
+ mp_list_update(view->content_to_show);
+ break;
+ }
+
+ default:
+ break;
+ }
+}
+
+static int
+_mp_artist_detail_view_init(Evas_Object * parent,
+ MpArtistDetailView_t * view)
+{
+ startfunc;
+ int ret = 0;
+ ret =
+ mp_list_view_init(parent, (MpListView_t *) view,
+ MP_VIEW_ARTIST_DETAIL);
+ MP_CHECK_VAL(ret == 0, -1);
+
+ view->update = _mp_artist_detail_view_update;
+ view->update_options = _mp_artist_detail_view_update_options;
+ /*view->update_options_edit = _mp_artist_detail_view_update_options_edit; */
+ view->view_destroy_cb = _mp_artist_detail_view_destory_cb;
+ view->on_event = _mp_artist_detaill_view_on_event;
+
+ view->artist_detail_view_layout = view->layout; /*mp_common_load_edj(parent, MP_EDJ_NAME, "common_view_layout"); */
+ MP_CHECK_VAL(view->artist_detail_view_layout, -1);
+ return ret;
+}
+
+MpArtistDetailView_t *mp_artist_detail_view_create(Evas_Object * parent,
+ char *name,
+ char *thumbnail)
+{
+ startfunc;
+ int ret;
+ MP_CHECK_NULL(parent);
+
+ MpArtistDetailView_t *view = calloc(1, sizeof(MpArtistDetailView_t));
+ MP_CHECK_NULL(view);
+
+ ret = _mp_artist_detail_view_init(parent, view);
+ if (ret) {
+ goto Error;
+ }
+
+ IF_G_FREE(view->name);
+ IF_G_FREE(view->thumbnail);
+ view->name = g_strdup(name);
+ view->thumbnail = g_strdup(thumbnail);
+ _mp_artist_detail_view_content_load(view);
+ return view;
+
+ Error:
+ ERROR_TRACE("Error: mp_artist_detail_view_create()");
+ IF_FREE(view);
+ return NULL;
+}
+
+int mp_artist_detail_view_destory(MpArtistDetailView_t * view)
+{
+ startfunc;
+ MP_CHECK_VAL(view, -1);
+ IF_G_FREE(view->name);
+ IF_G_FREE(view->thumbnail);
+ return 0;
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include "mp-create-playlist-view.h"
+#include "mp-widget.h"
+#include "mp-list-view.h"
+#include "mp-util.h"
+#include "mp-edit-callback.h"
+#include "mp-add-track-view.h"
+#include "mp-common.h"
+
+typedef struct _Item_Data {
+ Elm_Object_Item *item;
+ int dial;
+ int title;
+ MpCreatePlstView_t *view;
+} Item_Data;
+
+static void
+mp_create_plst_view_rename_done_cb(void *data, Evas_Object * obj,
+ void *event_info);
+
+static void _mp_create_plst_view_destory_cb(void *thiz)
+{
+ eventfunc;
+ MpCreatePlstView_t *view = thiz;
+ MP_CHECK(view);
+ mp_view_fini((MpView_t *) view);
+
+ /*TODO: release resource.. */
+ IF_FREE(view->adding_media_id);
+
+ free(view);
+}
+
+static Eina_Bool
+_mp_create_playlist_view_create_new_cancel_cb(void *data,
+ Elm_Object_Item * it)
+{
+ eventfunc;
+ MpCreatePlstView_t *view = (MpCreatePlstView_t *) data;
+ MP_CHECK_VAL(view, EINA_TRUE);
+
+ {
+ MpViewMgr_t *view_mgr = mp_view_mgr_get_view_manager();
+ MP_CHECK_VAL(view_mgr, EINA_TRUE);
+ mp_view_mgr_pop_view(view_mgr, false);
+ }
+ return EINA_TRUE;
+}
+
+static void
+_mp_create_playlist_view_create_new_done_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ eventfunc;
+ MpCreatePlstView_t *view = (MpCreatePlstView_t *) data;
+
+ int plst_uid = -1;
+
+ char *converted_name = NULL;
+ /*Evas_Object *entry = mp_widget_editfield_entry_get(view->editfiled_new_playlist);
+ const char *name = elm_entry_entry_get(entry); */
+
+ const char *name = elm_entry_entry_get(view->editfiled_entry);
+
+ if (name == NULL || strlen(name) == 0) {
+ /*name = elm_object_part_text_get(view->editfiled_new_playlist, "elm.guidetext"); */
+ name =
+ elm_object_part_text_get(view->editfiled_entry, "elm.guide");
+ }
+ converted_name = elm_entry_markup_to_utf8(name);
+
+ struct appdata *ad = mp_util_get_appdata();
+ mp_playlist_h playlist = NULL;
+ plst_uid = mp_util_create_playlist(ad, converted_name, &playlist);
+ if (plst_uid < 0) {
+ mp_media_info_playlist_handle_destroy(playlist);
+ IF_FREE(converted_name);
+ return;
+ }
+
+ if (view->adding_list) {
+ WARN_TRACE("adding list = %p", view->adding_list);
+ mp_edit_cb_excute_add_to_playlist(view->adding_list, plst_uid,
+ converted_name, true);
+ }
+
+ IF_FREE(converted_name);
+
+ if (view->adding_media_id) {
+ mp_media_info_h media_info = NULL;
+ char *path = NULL;
+ mp_media_info_create(&media_info, view->adding_media_id);
+ mp_media_info_get_thumbnail_path(media_info, &path);
+ if (mp_media_info_playlist_add_item
+ (playlist, view->adding_media_id, path) == 0) {
+ mp_media_info_playlist_db_update(playlist);
+ }
+
+ mp_media_info_destroy(media_info);
+ }
+
+ mp_media_info_playlist_handle_destroy(playlist);
+
+
+ MpViewMgr_t *view_mgr = mp_view_mgr_get_view_manager();
+ elm_naviframe_item_pop(view_mgr->navi);
+ mp_view_mgr_post_event(view_mgr, MP_PLAYLIST_CREATED);
+
+ if (view->parent_view == MP_PLST_PARENT_ALL_VIEW) {
+ MpViewMgr_t *view_manager = mp_view_mgr_get_view_manager();
+ MpAddTrackView_t *view_addtrack =
+ mp_add_track_view_create(view_manager->navi, plst_uid);
+ MP_CHECK(view_addtrack);
+ mp_view_mgr_push_view(view_manager, (MpView_t *) view_addtrack,
+ NULL);
+
+ mp_view_update_options((MpView_t *) view_addtrack);
+ mp_list_set_edit((MpList_t *) view_addtrack->content_to_show,
+ TRUE);
+ mp_list_view_set_select_all((MpListView_t *) view_addtrack, TRUE);
+ mp_view_set_title((MpView_t *) view_addtrack,
+ STR_MP_TILTE_SELECT_ITEM);
+
+ mp_add_track_view_select_tab(view_addtrack,
+ MP_ADD_TRACK_VIEW_TAB_SONGS);
+ }
+}
+
+
+static void _mp_create_playlist_view_realized_cb(void *data,
+ Evas_Object * obj,
+ void *ei)
+{
+ eventfunc;
+ Item_Data *id = elm_object_item_data_get(ei);
+ if (!id) {
+ return;
+ } else {
+ /* if dialogue styles */
+ if (id->dial == 1) {
+ elm_object_item_signal_emit(ei, "elm,state,top", "");
+ } else if (id->dial == 2) {
+ elm_object_item_signal_emit(ei, "elm,state,center", "");
+ } else if (id->dial == 3) {
+ elm_object_item_signal_emit(ei, "elm,state,bottom", "");
+ }
+ }
+}
+
+
+static void
+_mp_create_playlist_view_entry_eraser_clicked_cb(void *data,
+ Evas_Object * obj,
+ const char *emission,
+ const char *source)
+{ /* When X marked button is clicked, empty entry's contents. */
+ eventfunc;
+
+ Evas_Object *entry = (Evas_Object *) data;
+ MP_CHECK(entry);
+
+ elm_entry_entry_set(entry, "");
+}
+
+static void
+_mp_create_playlist_view_entry_changed_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ eventfunc;
+
+ /*MpCreatePlstView_t *view = (MpCreatePlstView_t *)data;
+ Evas_Object *editfield = view->editfiled_new_playlist;
+ MP_CHECK(editfield);
+
+ Evas_Object *entry = obj;
+ MP_CHECK(entry);
+
+ Eina_Bool entry_empty = elm_entry_is_empty(entry);
+ const char *eraser_signal = NULL;
+ const char *guidetext_signal = NULL;
+ if (entry_empty) {
+ DEBUG_TRACE("NULL");
+ eraser_signal = "elm,state,eraser,hide";
+ guidetext_signal = "elm,state,guidetext,show";
+ } else {
+ DEBUG_TRACE("NULL");
+ eraser_signal = "elm,state,eraser,show";
+ guidetext_signal = "elm,state,guidetext,hide";
+ }
+ elm_object_signal_emit(editfield, eraser_signal, "elm");
+ //elm_object_signal_emit(editfield, guidetext_signal, "elm");
+ */
+
+ Item_Data *id = data;
+ MP_CHECK(id);
+ MP_CHECK(id->item);
+ Evas_Object *editfield =
+ elm_object_item_part_content_get(id->item, "elm.icon.entry");
+ MP_CHECK(editfield);
+
+ if (elm_object_focus_get(obj)) {
+ if (elm_entry_is_empty(obj)) {
+ elm_object_signal_emit(editfield, "elm,state,eraser,hide",
+ "elm");
+ } else {
+ elm_object_signal_emit(editfield, "elm,state,eraser,show",
+ "elm");
+ }
+ }
+}
+
+static char *_mp_create_plst_view_get_new_playlist_name(void)
+{
+ char unique_name[MP_PLAYLIST_NAME_SIZE] = "\0";
+ int ret = 0;
+ ret =
+ mp_media_info_playlist_unique_name(GET_STR(STR_MP_MY_PLAYLIST),
+ unique_name,
+ MP_PLAYLIST_NAME_SIZE);
+ if (ret == 0) {
+ if (strlen(unique_name) <= 0) {
+ ERROR_TRACE("playlist name is NULL");
+ return NULL;
+ } else {
+ return g_strdup(unique_name);
+ }
+ } else {
+ ERROR_TRACE
+ ("fail to mp_media_info_playlist_unique_name() : error code [%x] ",
+ ret);
+ return NULL;
+ }
+
+ return NULL;
+}
+
+
+
+static void _mp_create_playlist_view_entry_focused_cb(void *data,
+ Evas_Object * obj,
+ void *event_info)
+{ /* Focused callback will show X marked button and hide rename icon. */
+ eventfunc;
+ /*MpCreatePlstView_t *view = (MpCreatePlstView_t *)data;
+ Evas_Object *editfield = view->editfiled_new_playlist;
+ MP_CHECK(editfield);
+
+ Evas_Object *entry = obj;
+ MP_CHECK(entry);
+
+ Eina_Bool entry_empty = elm_entry_is_empty(entry);
+
+ if (!entry_empty)
+ elm_object_signal_emit(editfield, "elm,state,eraser,show", "elm");
+ elm_object_signal_emit(editfield, "elm,state,rename,hide", "elm");
+ */
+
+ Item_Data *id = data;
+ MP_CHECK(id);
+ MP_CHECK(id->item);
+ Evas_Object *editfield =
+ elm_object_item_part_content_get(id->item, "elm.icon.entry");
+ MP_CHECK(editfield);
+
+ if (!elm_entry_is_empty(obj)) {
+ elm_object_signal_emit(editfield, "elm,state,eraser,show", "elm");
+ }
+
+ elm_object_item_signal_emit(id->item, "elm,state,rename,hide", "");
+
+ if (id->view->parent_view == MP_PLST_PARENT_DETAIL_VIEW) {
+ elm_object_signal_emit(editfield, "elm,state,eraser,hide", "elm");
+ elm_entry_entry_set(id->view->editfiled_entry, id->view->name);
+ elm_entry_cursor_end_set(id->view->editfiled_entry);
+ } else if (id->view->new_playlist_name) {
+ elm_entry_entry_set(id->view->editfiled_entry,
+ id->view->new_playlist_name);
+ elm_entry_cursor_end_set(id->view->editfiled_entry);
+ }
+}
+
+static void _mp_create_playlist_view_entry_unfocused_cb(void *data,
+ Evas_Object * obj,
+ void *event_info)
+{ /* Unfocused callback will show rename icon and hide X marked button. */
+ eventfunc;
+ /*MpCreatePlstView_t *view = (MpCreatePlstView_t *)data;
+ Evas_Object *editfield = view->editfiled_new_playlist;
+ MP_CHECK(editfield);
+
+ Evas_Object *entry = obj;
+ MP_CHECK(entry);
+
+ elm_object_signal_emit(editfield, "elm,state,eraser,hide", "elm");
+ elm_object_signal_emit(editfield, "elm,state,rename,show", "elm");
+ */
+
+ Item_Data *id = data;
+ MP_CHECK(id);
+ MP_CHECK(id->item);
+ Evas_Object *editfield =
+ elm_object_item_part_content_get(id->item, "elm.icon.entry");
+ MP_CHECK(editfield);
+
+ elm_object_signal_emit(editfield, "elm,state,eraser,hide", "elm");
+ elm_object_item_signal_emit(id->item, "elm,state,rename,show", "");
+}
+
+static void
+_mp_create_plst_entry_maxlength_reached_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ eventfunc;
+ MpCreatePlstView_t *view = (MpCreatePlstView_t *) data;
+ MP_CHECK(view);
+
+ Evas_Object *editfiled_entry = view->editfiled_entry;
+ MP_CHECK(editfiled_entry);
+ char *text = NULL;
+ text = mp_util_isf_get_edited_str(editfiled_entry, TRUE);
+ MP_CHECK(text);
+ view->name = text;
+ elm_object_focus_set(editfiled_entry, EINA_TRUE);
+ elm_entry_entry_set(editfiled_entry, text);
+
+ mp_popup_max_length(obj, STR_NH_COM_POPUP_CHARACTERS_MAXNUM_REACHED);
+}
+
+
+static Evas_Object *_mp_create_plst_gl_icon_get(void *data,
+ Evas_Object * obj,
+ const char *part)
+{
+ Item_Data *id = (Item_Data *) data;
+ MpCreatePlstView_t *view = (MpCreatePlstView_t *) id->view;
+ MP_CHECK_NULL(view);
+ MP_CHECK_NULL(obj);
+
+ if (!strcmp(part, "elm.icon.entry")) { /* Add elm_entry to current editfield genlist item. */
+ Evas_Object *entry = elm_entry_add(obj);
+ elm_entry_scrollable_set(entry, EINA_TRUE);
+ elm_scroller_policy_set(entry, ELM_SCROLLER_POLICY_OFF,
+ ELM_SCROLLER_POLICY_AUTO);
+ elm_entry_single_line_set(entry, EINA_TRUE);
+
+ evas_object_smart_callback_add(entry, "changed",
+ _mp_create_playlist_view_entry_changed_cb,
+ id);
+ evas_object_smart_callback_add(entry, "preedit,changed",
+ _mp_create_playlist_view_entry_changed_cb,
+ id);
+ evas_object_smart_callback_add(entry, "focused",
+ _mp_create_playlist_view_entry_focused_cb,
+ id);
+ evas_object_smart_callback_add(entry, "unfocused",
+ _mp_create_playlist_view_entry_unfocused_cb,
+ id);
+
+ static Elm_Entry_Filter_Limit_Size limit_filter_data;
+ limit_filter_data.max_char_count = 0;
+ limit_filter_data.max_byte_count = MP_PLAYLIST_NAME_SIZE;
+ elm_entry_markup_filter_append(entry, elm_entry_filter_limit_size,
+ &limit_filter_data);
+ evas_object_smart_callback_add(entry, "maxlength,reached",
+ _mp_create_plst_entry_maxlength_reached_cb,
+ view);
+
+ elm_entry_input_panel_return_key_type_set(entry,
+ ELM_INPUT_PANEL_RETURN_KEY_TYPE_DONE);
+
+ if (view->new_playlist_name
+ && (view->parent_view != MP_PLST_PARENT_DETAIL_VIEW)) {
+ /*elm_object_part_text_set(entry, "elm.guide", view->new_playlist_name); */
+ elm_entry_entry_set(entry, view->new_playlist_name);
+ elm_entry_cursor_end_set(entry);
+ }
+
+ view->editfiled_entry = entry;
+ if (view->parent_view == MP_PLST_PARENT_DETAIL_VIEW) {
+ evas_object_smart_callback_add(entry, "activated",
+ mp_create_plst_view_rename_done_cb,
+ view);
+
+ if (view->name) {
+ elm_entry_entry_set(view->editfiled_entry, view->name);
+ elm_entry_cursor_end_set(view->editfiled_entry);
+ }
+ } else {
+ evas_object_smart_callback_add(entry, "activated",
+ _mp_create_playlist_view_create_new_done_cb,
+ view);
+ }
+ elm_object_signal_callback_add(entry, "elm,eraser,clicked", "elm",
+ _mp_create_playlist_view_entry_eraser_clicked_cb,
+ entry);
+ return entry;
+ }
+ return NULL;
+
+}
+
+static void _mp_create_plst_item_del(void *data, Evas_Object * obj)
+{
+ Item_Data *item_data = (Item_Data *) data;
+ MP_CHECK(item_data);
+ IF_FREE(item_data);
+}
+
+Evas_Object *_mp_create_plst_view_create_editfield_layout(void *thiz)
+{
+ startfunc;
+ Evas_Object *genlist = NULL;
+ Elm_Object_Item *item = NULL;
+ static Elm_Genlist_Item_Class itc;
+ Item_Data *id = NULL;
+
+ MpCreatePlstView_t *view = (MpCreatePlstView_t *) thiz;
+ MP_CHECK_NULL(view);
+
+ view->create_plst_layout = elm_layout_add(view->layout);
+ MP_CHECK_NULL(view->create_plst_layout);
+
+ char edje_path[1024] = { 0 };
+ char *path = app_get_resource_path();
+
+ MP_CHECK_NULL(path);
+ snprintf(edje_path, 1024, "%s%s/%s", path, "edje", EDJ_NAME);
+ elm_layout_file_set(view->create_plst_layout, edje_path,
+ "create_playlist");
+ free(path);
+
+ genlist = mp_widget_genlist_create(view->create_plst_layout);
+ elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);
+ evas_object_smart_callback_add(genlist, "realized",
+ _mp_create_playlist_view_realized_cb,
+ NULL);
+
+ itc.version = ELM_GENGRID_ITEM_CLASS_VERSION;
+ itc.refcount = 0;
+ itc.delete_me = EINA_FALSE;
+ itc.item_style = "editfield";
+ itc.func.text_get = NULL;
+ itc.func.content_get = _mp_create_plst_gl_icon_get;
+ itc.func.state_get = NULL;
+ itc.func.del = _mp_create_plst_item_del;
+
+ id = calloc(sizeof(Item_Data), 1);
+ MP_CHECK_NULL(id);
+ id->view = view;
+ item = elm_genlist_item_append(genlist, &itc, id, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); /*id replace view */
+ elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_NONE);
+ elm_object_scroll_freeze_push(genlist);
+ id->item = item;
+
+ elm_object_part_content_set(view->create_plst_layout,
+ "elm.swallow.content", genlist);
+ evas_object_show(view->create_plst_layout);
+
+ return view->create_plst_layout;
+}
+
+static Evas_Object *_mp_create_plst_view_content_create(void *thiz)
+{
+ startfunc;
+ char *new_playlist_name = NULL;
+ MpCreatePlstView_t *view = (MpCreatePlstView_t *) thiz;
+ MP_CHECK_NULL(view);
+
+ Evas_Object *create_plst_layout = NULL;
+ view->new_playlist_name = _mp_create_plst_view_get_new_playlist_name();
+ create_plst_layout =
+ _mp_create_plst_view_create_editfield_layout(view);
+ IF_FREE(new_playlist_name);
+ MP_CHECK_NULL(create_plst_layout);
+
+ /*elm_object_item_text_set(it, GET_STR("IDS_MUSIC_BODY_CREATE_PLAYLIST"));
+ mp_language_mgr_register_object_item(it, "IDS_MUSIC_BODY_CREATE_PLAYLIST"); */
+
+ evas_object_show(create_plst_layout);
+ return create_plst_layout;
+}
+
+static void
+mp_create_plst_view_rename_done_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ eventfunc;
+ MpCreatePlstView_t *view = (MpCreatePlstView_t *) data;
+ MP_CHECK(view);
+
+ Evas_Object *editfiled_entry = view->editfiled_entry;
+ MP_CHECK(editfiled_entry);
+
+ char *text = NULL;
+ int ret = -1;
+ mp_media_info_h playlist = view->playlist_handle;
+ MP_CHECK(playlist);
+
+ struct appdata *ad = mp_util_get_appdata();
+ text = mp_util_isf_get_edited_str(editfiled_entry, TRUE);
+
+ if (!mp_util_is_playlist_name_valid((char *) text)) {
+ mp_widget_text_popup(ad,
+ GET_STR
+ ("IDS_MUSIC_POP_UNABLE_RENAME_PLAYLIST"));
+ } else {
+ bool exist = false;
+ ret = mp_media_info_playlist_is_exist(text, &exist);
+ if (ret != 0) {
+ ERROR_TRACE("Fail to get playlist count by name: %d", ret);
+ mp_widget_text_popup(ad,
+ GET_STR
+ ("IDS_MUSIC_POP_UNABLE_RENAME_PLAYLIST"));
+ } else if (exist) {
+ mp_widget_text_popup(ad, GET_STR(STR_MP_POP_EXISTS));
+ return;
+ } else {
+ ret = mp_media_info_playlist_rename(playlist, text);
+ if (ret == 0) {
+ mp_debug("mp_media_info_playlist_rename().. OK");
+ MpView_t *create_playlist_detail_view =
+ mp_view_mgr_get_view(GET_VIEW_MGR,
+ MP_VIEW_PLAYLIST_DETAIL);
+ mp_view_set_title(create_playlist_detail_view, text);
+
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_PLAYLIST_RENAMED);
+ }
+ }
+ }
+ MpViewMgr_t *view_mgr = mp_view_mgr_get_view_manager();
+ elm_naviframe_item_pop(view_mgr->navi);
+
+ IF_FREE(text);
+}
+
+static int _mp_create_plst_view_create_title_buttons(void *thiz)
+{
+ startfunc;
+ MpCreatePlstView_t *view = (MpCreatePlstView_t *) thiz;
+
+ Evas_Object *cancel_btn =
+ mp_create_title_text_btn(view->create_plst_layout, STR_MP_CANCEL,
+ mp_common_view_cancel_cb, view);
+ Evas_Object *save_btn =
+ mp_create_title_text_btn(view->create_plst_layout,
+ "IDS_COM_SK_SAVE", NULL, view);
+
+ elm_object_item_part_content_set(view->navi_it, "title_left_btn",
+ cancel_btn);
+ elm_object_item_part_content_set(view->navi_it, "title_right_btn",
+ save_btn);
+
+ if (view->parent_view == MP_PLST_PARENT_DETAIL_VIEW) {
+ mp_media_info_group_get_main_info(view->playlist_handle,
+ &view->name);
+ if (view->name) {
+ elm_entry_entry_set(view->editfiled_entry, view->name);
+ elm_entry_cursor_end_set(view->editfiled_entry);
+ }
+ evas_object_smart_callback_add(save_btn, "clicked",
+ mp_create_plst_view_rename_done_cb,
+ view);
+ } else {
+ evas_object_smart_callback_add(save_btn, "clicked",
+ _mp_create_playlist_view_create_new_done_cb,
+ view);
+ }
+
+ return 0;
+}
+
+static int _mp_create_plst_view_update_options(void *thiz)
+{
+ startfunc;
+ MpCreatePlstView_t *view = (MpCreatePlstView_t *) thiz;
+
+ /*_mp_create_plst_view_update_option_clear(view);*/
+ /* add buttons */
+ /*
+ Evas_Object *toolbar = mp_widget_create_naviframe_toolbar(view->navi_it);
+ Elm_Object_Item *toolbar_item = NULL;
+
+ toolbar_item = mp_widget_create_toolbar_item_btn(toolbar, MP_TOOLBAR_BTN_DEFAULT, GET_SYS_STR("IDS_COM_SK_SAVE"), _mp_create_playlist_view_create_new_done_cb, view);
+ view->toolbar_options[MP_OPTION_LEFT] = toolbar_item;
+ */
+
+ _mp_create_plst_view_create_title_buttons(thiz);
+
+ elm_naviframe_item_pop_cb_set(view->navi_it,
+ _mp_create_playlist_view_create_new_cancel_cb,
+ view);
+
+ evas_object_show(view->editfiled_entry);
+ elm_object_focus_set(view->editfiled_entry, EINA_TRUE);
+
+ return 0;
+}
+
+static void _mp_create_plst_view_on_event(void *thiz, MpViewEvent_e event)
+{
+ DEBUG_TRACE("event; %d", event);
+ MpCreatePlstView_t *view = thiz;
+ MP_CHECK(view);
+
+ switch (event) {
+ case MP_SIP_STATE_CHANGED:
+ /*
+ if (view->navi_it) {
+ bool title_visible = (mp_util_get_sip_state() && mp_util_is_landscape()) ? false : true;
+ mp_view_set_title_visible(view, title_visible);
+ } */
+ break;
+ case MP_VIEW_TRANSITION_FINISHED:
+ elm_object_focus_set(view->editfiled_entry, EINA_TRUE);
+ break;
+ default:
+ break;
+ }
+
+}
+
+static int
+_mp_create_plst_view_init(Evas_Object * parent, MpCreatePlstView_t * view)
+{
+ startfunc;
+ int ret = 0;
+ ret = mp_view_init(parent, (MpView_t *) view, MP_VIEW_CREATE_PLAYLIT);
+ MP_CHECK_VAL(ret == 0, -1);
+
+ view->update = NULL;
+ view->update_options = _mp_create_plst_view_update_options;
+ view->update_options_edit = NULL;
+ view->view_destroy_cb = _mp_create_plst_view_destory_cb;
+ view->set_nowplaying = NULL;
+ view->unset_nowplaying = NULL;
+ view->update_nowplaying = NULL;
+ view->start_playback = NULL;
+ view->pause_playback = NULL;
+ view->stop_playback = NULL;
+ view->on_event = _mp_create_plst_view_on_event;
+
+ view->create_plst_layout = _mp_create_plst_view_content_create(view);
+ MP_CHECK_VAL(view->create_plst_layout, -1);
+
+ elm_object_part_content_set(view->layout, "list_content",
+ view->create_plst_layout);
+
+ return ret;
+}
+
+MpCreatePlstView_t *mp_create_plst_view_create(Evas_Object * parent)
+{
+ eventfunc;
+ int ret;
+ MP_CHECK_NULL(parent);
+
+ MpCreatePlstView_t *view = calloc(1, sizeof(MpCreatePlstView_t));
+ MP_CHECK_NULL(view);
+
+ ret = _mp_create_plst_view_init(parent, view);
+ elm_object_focus_set(view->editfiled_entry, EINA_TRUE);
+ if (ret) {
+ goto Error;
+ }
+
+ return view;
+
+ Error:
+ ERROR_TRACE("Error: mp_create_plst_view_create()");
+ IF_FREE(view);
+ return NULL;
+}
+
+int mp_create_plst_view_set_edit_list(MpCreatePlstView_t * view,
+ MpList_t * adding_list)
+{
+ startfunc;
+ MP_CHECK_VAL(view, -1);
+ view->adding_list = adding_list;
+ return 0;
+}
+
+int mp_create_plst_view_set_media_id(MpCreatePlstView_t * view,
+ const char *adding_media_id)
+{
+ startfunc;
+ MP_CHECK_VAL(view, -1);
+ view->adding_media_id = g_strdup(adding_media_id);
+ return 0;
+}
+
+int mp_create_plst_view_set_creation_type(MpCreatePlstView_t * view,
+ mp_plst_creation_type_e type)
+{
+ MP_CHECK_VAL(view, -1);
+ view->creation_type = type;
+ return 0;
+}
+
+int mp_create_plst_view_destory(MpCreatePlstView_t * view)
+{
+ startfunc;
+ MP_CHECK_VAL(view, -1);
+
+ return 0;
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include <media_content.h>
+#include <player.h>
+
+#include "mp-detail-view.h"
+#include "mp-file-tag-info.h"
+#include "music.h"
+#include "mp-widget.h"
+#include "mp-popup.h"
+#include "mp-common.h"
+#include "mp-search-view.h"
+#include "mp-util.h"
+#include "mp-player-mgr.h"
+
+#ifndef _EDJ
+#define _EDJ(obj) elm_layout_edje_get(obj) /**< get evas object from elm layout */
+#endif
+
+typedef struct {
+ char *header;
+ char *detail;
+} mp_media_info_t;
+
+#define NAVIFRAME_DETAIL_STYLE NULL /*"music/player_view" */
+#define MP_ALBUM_INDEX_ICON_SIZE (360 * elm_config_scale_get())
+#define MP_ALBUM_INDEX_ICON_SIZE_W_LD (280 * elm_config_scale_get())
+#define MP_ALBUM_INDEX_ICON_SIZE_H_LD (272 * elm_config_scale_get())
+
+static void _mp_detail_view_pop_on_back_button(void *data,
+ Evas_Object * obj,
+ void *event_info);
+
+static char *_mp_detail_view_get_location_info_from_file_path(char
+ *file_path)
+{
+ mp_retvm_if(!file_path, NULL, "File path is null...");
+
+ int prefix_pos;
+ int phone_len = 0;
+ int mmc_len = 0;
+ char *phone_path = MP_PHONE_ROOT_PATH;
+ char *mmc_path = MP_MMC_ROOT_PATH;
+ if (!strncmp(file_path, phone_path, phone_len)) {
+ prefix_pos = phone_len;
+ IF_FREE(phone_path);
+ IF_FREE(mmc_path);
+ return g_strdup_printf("Device memory%s", file_path + prefix_pos);
+ } else if (!strncmp(file_path, mmc_path, mmc_len)) {
+ prefix_pos = mmc_len;
+ IF_FREE(phone_path);
+ IF_FREE(mmc_path);
+ return g_strdup_printf("SD card%s", file_path + prefix_pos);
+ } else if (!strncmp(file_path, "/mnt/mmc", strlen("/mnt/mmc"))) {
+ prefix_pos = strlen("/mnt/mmc");
+ IF_FREE(phone_path);
+ IF_FREE(mmc_path);
+ return g_strdup_printf("Memory%s", file_path + prefix_pos);
+ } else {
+ WARN_TRACE("Unable to get proper location...");
+ IF_FREE(phone_path);
+ IF_FREE(mmc_path);
+ return strdup(file_path);
+ }
+}
+
+static void
+_mp_detail_view_append_media_info_item(Evas_Object * genlist, char *header,
+ char *detail)
+{
+ MpDetailView_t *view = NULL;
+ mp_media_info_t *info = NULL;
+
+ MP_CHECK(genlist);
+
+ view = (MpDetailView_t *) evas_object_data_get(genlist, "view");
+ MP_CHECK(view);
+ MP_CHECK(view->meta_itc);
+
+ info = calloc(1, sizeof(mp_media_info_t));
+ MP_CHECK(info);
+ info->header = g_strdup(header);
+ info->detail = g_strdup(detail);
+
+ Elm_Object_Item *item =
+ elm_genlist_item_append(genlist, view->meta_itc,
+ info,
+ NULL,
+ ELM_GENLIST_ITEM_NONE,
+ NULL, NULL);
+ if (item) {
+ elm_genlist_item_select_mode_set(item,
+ ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+ }
+}
+
+static void _mp_detail_info_gl_item_del(void *data, Evas_Object * obj)
+{
+ mp_media_info_t *info = data;
+ MP_CHECK(info);
+ IF_FREE(info->header);
+ IF_FREE(info->detail);
+ IF_FREE(info);
+}
+
+
+static char *_mp_detail_view_info_gl_text_get(void *data,
+ Evas_Object * obj,
+ const char *part)
+{
+ mp_media_info_t *info = data;
+ MP_CHECK_NULL(info);
+
+ if (!strcmp(part, "elm.text")) {
+ char *title = GET_STR(info->header);
+
+ return g_strdup(title);
+
+ } else if (!strcmp(part, "elm.text.sub")) {
+ char *sub_title = info->detail;
+
+ MP_CHECK_NULL(sub_title);
+ return elm_entry_utf8_to_markup(sub_title);
+ }
+
+ return NULL;
+}
+
+static void _mp_detail_view_set_itc(void *thiz, mp_detail_view_itc type)
+{
+ startfunc;
+ MpDetailView_t *view = thiz;
+ MP_CHECK(view);
+
+ switch (type) {
+ case DETAIL_VIEW_ITC_NO_META:
+ case DETAIL_VIEW_ITC_META_INFO:
+ view->meta_itc = elm_genlist_item_class_new();
+ MP_CHECK(view->meta_itc);
+ view->meta_itc->item_style = "type1";
+ view->meta_itc->func.text_get = _mp_detail_view_info_gl_text_get;
+ view->meta_itc->func.content_get = NULL;
+ view->meta_itc->func.del = _mp_detail_info_gl_item_del;
+ break;
+ default:
+ ERROR_TRACE("itc type out of bound");
+ break;
+ }
+}
+
+static Evas_Object *_mp_detail_view_create_genlist(Evas_Object * parent)
+{
+ startfunc;
+ Evas_Object *genlist = NULL;
+ genlist = mp_widget_genlist_create(parent);
+ evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL,
+ EVAS_HINT_FILL);
+ elm_genlist_homogeneous_set(genlist, EINA_FALSE);
+
+ endfunc;
+ return genlist;
+}
+
+#define MP_ROUND_D(x, dig) (floor((x) * pow(10, dig+1) + 0.5) / pow(10, dig+1))
+
+int _mp_detail_view_get_file_size(const char *filename, off_t * size)
+{
+ MP_CHECK_VAL(filename, -1);
+ struct stat statbuf;
+ if (stat(filename, &statbuf) == -1) {
+ return -1;
+ }
+ *size = statbuf.st_size;
+ return 0;
+
+}
+
+void _mp_detail_view_get_file_size_info(char **file_size, off_t src_size)
+{
+ MP_CHECK(file_size);
+ unsigned long long original_size = 0;
+ double size = 0;
+ int index = 0;
+ int len = 0;
+
+ original_size = (unsigned long long) src_size;
+ size = (double) original_size;
+
+ while (size >= 1024) {
+ size /= 1024;
+ index++;
+ }
+
+ if (index == 0) {
+ snprintf(NULL, 0, "%llu B%n", original_size, &len);
+ } else {
+ size = MP_ROUND_D(size, 1);
+ snprintf(NULL, 0, "%0.1lf XB%n", size, &len);
+ }
+
+ if (len <= 0) {
+ *file_size = NULL;
+ return;
+ }
+ len += 1;
+ *file_size = (char *) calloc(len, sizeof(char));
+ if (*file_size == NULL) {
+ return;
+
+ }
+
+ if (index == 0) {
+ snprintf(*file_size, len, "%llu B", original_size);
+ } else {
+ if (index == 1) {
+ snprintf(*file_size, len, "%0.1lf KB", size);
+ } else if (index == 2) {
+ snprintf(*file_size, len, "%0.1lf MB", size);
+ } else if (index == 3) {
+ snprintf(*file_size, len, "%0.1lf GB", size);
+ } else {
+ free(*file_size);
+ *file_size = NULL;
+ }
+ }
+ return;
+}
+
+static Evas_Object *_mp_detail_view_create_local_without_metadata(void
+ *thiz)
+{
+ startfunc;
+ MpDetailView_t *view = thiz;
+ MP_CHECK_NULL(thiz);
+
+ int ret = 0;
+ Evas_Object *genlist = view->minfo_genlist;
+
+ mp_media_info_h svc_item = NULL;
+
+ bool get_item = false;
+
+
+ char *pathname = NULL, *title = NULL, *album = NULL, *artist =
+ NULL, *thumbname = NULL, *date = NULL;
+ char *author = NULL, *copyright = NULL, *track = NULL, *sample =
+ NULL, *mime_type = NULL;
+
+ int duration = 0;
+ char *location = NULL;
+ int sample_rate = 0;
+ int channel = 0;
+ int bitpersample = 0;
+ char *size_string = NULL;
+ char *bitdepth = NULL;
+
+ genlist = _mp_detail_view_create_genlist(view->content);
+ MP_CHECK_NULL(genlist);
+ elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);
+ evas_object_data_set(genlist, "view", view);
+ _mp_detail_view_set_itc(view, DETAIL_VIEW_ITC_NO_META);
+
+ if (view->id) {
+ ret = mp_media_info_create(&svc_item, view->id);
+ DEBUG_TRACE("svc_item is %p", svc_item);
+ if (ret == MEDIA_CONTENT_ERROR_NONE && svc_item) {
+ mp_media_info_get_file_path(svc_item, &pathname);
+ mp_media_info_get_thumbnail_path(svc_item, &thumbname);
+ mp_media_info_get_title(svc_item, &title);
+ mp_media_info_get_album(svc_item, &album);
+ mp_media_info_get_artist(svc_item, &artist);
+ mp_media_info_get_recorded_date(svc_item, &date);
+ mp_media_info_get_copyright(svc_item, ©right);
+ mp_media_info_get_composer(svc_item, &author);
+ mp_media_info_get_duration(svc_item, &duration);
+ mp_media_info_get_track_num(svc_item, &track);
+ mp_media_info_get_sample_rate(svc_item, &sample_rate);
+ location =
+ _mp_detail_view_get_location_info_from_file_path(view->
+ uri);
+ mime_type = mp_util_file_mime_type_get(view->uri);
+ mp_media_info_get_bitpersample(svc_item, &bitpersample);
+ off_t size = 0;
+ _mp_detail_view_get_file_size(pathname, &size);
+ _mp_detail_view_get_file_size_info(&size_string, size);
+ get_item = true;
+ }
+ }
+
+ if (get_item) {
+ _mp_detail_view_append_media_info_item(genlist,
+ MP_DETAIL_TITLE_STR, title);
+
+ if (artist && strlen(artist)) {
+ _mp_detail_view_append_media_info_item(genlist,
+ MP_DETAIL_ARTIST_STR,
+ artist);
+ }
+
+ if (album && strlen(album)) {
+ _mp_detail_view_append_media_info_item(genlist,
+ MP_DETAIL_ALBUM_STR,
+ album);
+
+ }
+
+ char duration_format[10] = { 0, };
+ int dur_sec = duration / 1000;
+ int sec = dur_sec % 60;
+ int min = dur_sec / 60;
+ snprintf(duration_format, sizeof(duration_format), "%02u:%02u",
+ min, sec);
+
+
+ _mp_detail_view_append_media_info_item(genlist,
+ MP_DETAIL_LENGTH_STR,
+ duration_format);
+
+
+ if (date && strlen(date)) {
+ _mp_detail_view_append_media_info_item(genlist,
+ MP_DETAIL_RECORDED_DATE_STR,
+ date);
+
+ }
+
+ if (author && strlen(author)) {
+ _mp_detail_view_append_media_info_item(genlist,
+ MP_DETAIL_AUTHOR_STR,
+ author);
+
+ }
+
+ if (copyright && strlen(copyright)) {
+ _mp_detail_view_append_media_info_item(genlist,
+ MP_DETAIL_COPYRIGHT_STR,
+ copyright);
+
+ }
+
+ if (track && strlen(track)) {
+ _mp_detail_view_append_media_info_item(genlist,
+ MP_DETAIL_NUMBER_STR,
+ track);
+ }
+ _mp_detail_view_append_media_info_item(genlist,
+ MP_DETAIL_FORMAT_STR,
+ mime_type);
+
+ bitdepth = g_strdup_printf("%d bit", bitpersample);
+ _mp_detail_view_append_media_info_item(genlist,
+ MP_DETAIL_BITDEPTH_STR,
+ bitdepth);
+ SAFE_FREE(bitdepth);
+
+ sample = g_strdup_printf("%dKHz", sample_rate / 1000);
+ _mp_detail_view_append_media_info_item(genlist,
+ MP_DETAIL_SAMPLING_STR,
+ sample);
+ SAFE_FREE(sample);
+
+ _mp_detail_view_append_media_info_item(genlist, MP_DETAIL_SIZE_STR,
+ size_string);
+ SAFE_FREE(size_string);
+
+ _mp_detail_view_append_media_info_item(genlist,
+ MP_DETAIL_LOCATION_STR,
+ location);
+ SAFE_FREE(location);
+
+ if (svc_item) {
+ mp_media_info_destroy(svc_item);
+ }
+ } else {
+ /*
+ ** There are 2 kinds of URI to play streaming and local
+ ** detail view is created from player view, it is to say player already exists.
+ ** in the precondition, we can use player to get info.
+ ** use metadata_extractor to get detail information of local files case
+ ** use player to get information of streaming case
+ */
+ mp_dir_e located = mp_util_get_file_location(view->uri);
+ if (located == MP_DIR_PHONE || located == MP_DIR_MMC) { /*local file case */
+ mp_tag_info_t tag_info;
+ mp_file_tag_info_get_all_tag(view->uri, &tag_info);
+
+
+ if (tag_info.artist && strlen(tag_info.artist)) {
+
+ _mp_detail_view_append_media_info_item(genlist,
+ "IDS_MUSIC_BODY_ARTIST",
+ tag_info.artist);
+
+ }
+
+ if (tag_info.title && strlen(tag_info.title)) {
+
+ _mp_detail_view_append_media_info_item(genlist,
+ "IDS_COM_BODY_DETAILS_TITLE",
+ tag_info.title);
+
+ }
+
+ if (tag_info.album && strlen(tag_info.album)) {
+
+ _mp_detail_view_append_media_info_item(genlist,
+ "IDS_MUSIC_BODY_ALBUM",
+ tag_info.album);
+
+ }
+
+ char duration_format[10] = { 0, };
+ int dur_sec = tag_info.duration / 1000;
+ int sec = dur_sec % 60;
+ int min = dur_sec / 60;
+ snprintf(duration_format, sizeof(duration_format), "%02u:%02u",
+ min, sec);
+
+
+ _mp_detail_view_append_media_info_item(genlist,
+ "IDS_MUSIC_BODY_TRACK_LENGTH",
+ duration_format);
+
+
+ if (tag_info.date && strlen(tag_info.date)) {
+ _mp_detail_view_append_media_info_item(genlist,
+ "IDS_MUSIC_BODY_RECORDED_DATE",
+ tag_info.date);
+ }
+
+ if (tag_info.author && strlen(tag_info.author)) {
+ _mp_detail_view_append_media_info_item(genlist,
+ "IDS_MUSIC_BODY_AUTHOR",
+ tag_info.author);
+ }
+
+ if (tag_info.copyright && strlen(tag_info.copyright)) {
+ _mp_detail_view_append_media_info_item(genlist,
+ "IDS_MUSIC_BODY_COPYRIGHT",
+ tag_info.copyright);
+ }
+
+ if (tag_info.track && strlen(tag_info.track)) {
+ if (!strstr(tag_info.track, "-")
+ && strcmp(tag_info.track, "0")) {
+ _mp_detail_view_append_media_info_item(genlist,
+ "IDS_MUSIC_BODY_TRACK_NUMBER",
+ tag_info.track);
+ }
+ }
+
+ if (tag_info.rating && strlen(tag_info.rating)) {
+
+ _mp_detail_view_append_media_info_item(genlist,
+ "IDS_MF_BODY_PARENT_RATING",
+ tag_info.rating);
+ }
+
+ GString *format = g_string_new("");
+ if (tag_info.audio_bitrate > 0) {
+ g_string_append_printf(format, "%dbps ",
+ tag_info.audio_bitrate);
+ }
+
+ if (tag_info.audio_samplerate > 0) {
+ g_string_append_printf(format, "%.1fHz ",
+ (double) tag_info.audio_samplerate);
+ }
+
+ if (tag_info.audio_channel > 0) {
+ g_string_append_printf(format, "%dch",
+ tag_info.audio_channel);
+ }
+
+ if (format) {
+
+ _mp_detail_view_append_media_info_item(genlist,
+ "IDS_MUSIC_BODY_FORMAT",
+ format->str);
+ g_string_free(format, TRUE);
+ }
+
+ location =
+ _mp_detail_view_get_location_info_from_file_path(view->
+ uri);
+
+ _mp_detail_view_append_media_info_item(genlist,
+ "IDS_MUSIC_BODY_MUSIC_LOCATION",
+ location);
+ SAFE_FREE(location);
+
+
+ mp_file_tag_free(&tag_info);
+ } else if (located != MP_DIR_NONE) { /*streaming case */
+ player_h current_player = mp_player_mgr_get_player();
+ int error_code = PLAYER_ERROR_NONE;
+ char *temp_string = NULL;
+ if (mp_player_mgr_is_active() == false) {
+ ERROR_TRACE("Player is not actived");
+ }
+
+ player_state_e player_state = mp_player_mgr_get_state();
+ if (player_state != PLAYER_STATE_PLAYING
+ && player_state != PLAYER_STATE_PAUSED) {
+ ERROR_TRACE
+ ("Player is not in playing/pause status, unable to get infor from player");
+ }
+
+ /*get title */
+ error_code =
+ player_get_content_info(current_player,
+ PLAYER_CONTENT_INFO_TITLE, &title);
+ if (!title || strlen(title) == 0
+ || error_code != PLAYER_ERROR_NONE) {
+ IF_FREE(title);
+ title = g_strdup(GET_SYS_STR("IDS_COM_BODY_UNKNOWN"));
+ }
+
+ _mp_detail_view_append_media_info_item(genlist,
+ MP_DETAIL_TITLE_STR,
+ title);
+ IF_FREE(title);
+
+ /*get artist */
+ error_code =
+ player_get_content_info(current_player,
+ PLAYER_CONTENT_INFO_ARTIST,
+ &artist);
+ if (!artist || strlen(artist) == 0
+ || error_code != PLAYER_ERROR_NONE) {
+ IF_FREE(artist);
+ artist = g_strdup(GET_SYS_STR("IDS_COM_BODY_UNKNOWN"));
+ }
+ _mp_detail_view_append_media_info_item(genlist,
+ MP_DETAIL_ARTIST_STR,
+ artist);
+ IF_FREE(artist);
+
+ /*get album */
+ error_code =
+ player_get_content_info(current_player,
+ PLAYER_CONTENT_INFO_ALBUM, &album);
+ if (!album || strlen(album) == 0
+ || error_code != PLAYER_ERROR_NONE) {
+ IF_FREE(album);
+ album = g_strdup(GET_SYS_STR("IDS_COM_BODY_UNKNOWN"));
+ }
+ _mp_detail_view_append_media_info_item(genlist,
+ MP_DETAIL_ALBUM_STR,
+ album);
+ IF_FREE(album);
+
+ /*get length(duration) */
+ error_code = player_get_duration(current_player, &duration);
+ if (error_code != PLAYER_ERROR_NONE) {
+ IF_FREE(temp_string);
+// temp_string = g_strdup(GET_SYS_STR("IDS_COM_BODY_UNKNOWN"));
+ }
+
+ int dur_sec = duration / 1000;
+ int sec = dur_sec % 60;
+ int min = dur_sec / 60;
+ temp_string = g_strdup_printf("%02u:%02u", min, sec);
+
+ _mp_detail_view_append_media_info_item(genlist,
+ MP_DETAIL_LENGTH_STR,
+ temp_string);
+
+ /*get track number */
+ IF_FREE(temp_string);
+ temp_string = g_strdup(GET_SYS_STR("IDS_COM_BODY_UNKNOWN"));
+ _mp_detail_view_append_media_info_item(genlist,
+ MP_DETAIL_NUMBER_STR,
+ temp_string);
+
+ /*get format ------->need capi to get format */
+ IF_FREE(temp_string);
+ temp_string = g_strdup(GET_SYS_STR("IDS_COM_BODY_UNKNOWN"));
+ _mp_detail_view_append_media_info_item(genlist,
+ MP_DETAIL_FORMAT_STR,
+ temp_string);
+
+ /*get bit rate */
+ /*get sample rate */
+ error_code =
+ player_get_audio_stream_info(current_player, &sample_rate,
+ &channel, &bitpersample);
+
+ bitdepth = g_strdup_printf("%d bit", bitpersample);
+ _mp_detail_view_append_media_info_item(genlist,
+ MP_DETAIL_BITDEPTH_STR,
+ bitdepth);
+ SAFE_FREE(bitdepth);
+
+ sample = g_strdup_printf("%dKHz", sample_rate / 1000);
+ _mp_detail_view_append_media_info_item(genlist,
+ MP_DETAIL_SAMPLING_STR,
+ sample);
+ SAFE_FREE(sample);
+
+ /*get size ------->need capi to get sizet */
+ IF_FREE(temp_string);
+ temp_string = g_strdup(GET_SYS_STR("IDS_COM_BODY_UNKNOWN"));
+ _mp_detail_view_append_media_info_item(genlist,
+ MP_DETAIL_SIZE_STR,
+ temp_string);
+
+ /*get location ------->need capi to get location */
+ IF_FREE(temp_string);
+ temp_string = g_strdup(view->uri);
+ _mp_detail_view_append_media_info_item(genlist,
+ MP_DETAIL_LOCATION_STR,
+ temp_string);
+
+ IF_FREE(temp_string);
+ }
+ if (svc_item) {
+ mp_media_info_destroy(svc_item);
+ }
+ }
+
+ evas_object_show(genlist);
+ SAFE_FREE(mime_type);
+ SAFE_FREE(date);
+ DEBUG_TRACE("");
+ return genlist;
+}
+
+static void _mp_detail_view_create_default_layout(MpDetailView_t * view)
+{
+ MP_CHECK(view);
+ view->content =
+ mp_common_load_edj(view->layout, MP_EDJ_NAME,
+ "local_media_info_layout");
+ MP_CHECK(view->content);
+
+ view->minfo_genlist =
+ _mp_detail_view_create_local_without_metadata(view);
+ elm_object_part_content_set(view->content, "list-content",
+ view->minfo_genlist);
+ elm_object_part_content_set(view->layout, "list_content",
+ view->content);
+}
+
+static void _mp_detail_view_create_content(void *thiz)
+{
+ startfunc;
+ MpDetailView_t *view = (MpDetailView_t *) thiz;
+ MP_CHECK(view);
+ _mp_detail_view_create_default_layout(view);
+}
+
+static void _mp_detail_view_destory_cb(void *thiz)
+{
+ eventfunc;
+ MpDetailView_t *view = thiz;
+ MP_CHECK(view);
+
+ IF_FREE(view->title);
+ IF_FREE(view->uri);
+ IF_FREE(view->artist);
+ IF_FREE(view->album);
+ IF_FREE(view->albumart);
+ IF_FREE(view->id);
+ IF_FREE(view->thumb);
+
+ if (view->meta_itc) {
+ elm_genlist_item_class_free(view->meta_itc);
+ }
+ if (view->credit_itc) {
+ elm_genlist_item_class_free(view->credit_itc);
+ }
+ if (view->video_itc) {
+ elm_genlist_item_class_free(view->video_itc);
+ }
+
+ mp_view_fini((MpView_t *) view);
+
+ free(view);
+}
+
+static void _mp_detail_view_get_playing_track_data(MpDetailView_t * view)
+{
+ MP_CHECK(view);
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ mp_track_info_t *info = ad->current_track_info;
+ MP_CHECK(info);
+
+ char *uid = NULL;
+
+ uid = mp_util_get_fid_by_full_path(info->uri, NULL, NULL);
+
+ view->title = g_strdup(info->title);
+ view->uri = g_strdup(info->uri);
+ view->albumart = g_strdup(info->title);
+ if (info->artist != NULL) {
+ view->artist = g_strdup(info->artist);
+ } else {
+ view->artist = g_strdup(GET_SYS_STR("IDS_COM_BODY_UNKNOWN"));
+ }
+ view->album = g_strdup(info->album);
+ view->id = g_strdup(uid);
+ view->thumb = g_strdup(info->thumbnail_path);
+
+}
+
+static int _mp_detail_view_update(void *thiz)
+{
+ startfunc;
+ MpDetailView_t *view = thiz;
+ MP_CHECK_VAL(view, -1);
+
+ _mp_detail_view_get_playing_track_data(view);
+ _mp_detail_view_create_content(view);
+
+ return 0;
+}
+
+static Eina_Bool _mp_detail_view_pop_cb(void *data, Elm_Object_Item * it)
+{
+ startfunc;
+ MpDetailView_t *view = (MpDetailView_t *) data;
+ MP_CHECK_VAL(view, EINA_TRUE);
+
+ mp_view_mgr_pop_view(GET_VIEW_MGR, true);
+ endfunc;
+ return EINA_TRUE;
+}
+
+static void _mp_detail_view_pop_on_back_button(void *data,
+ Evas_Object * obj,
+ void *event_info)
+{
+ elm_naviframe_item_pop(GET_NAVIFRAME);
+}
+
+int _mp_detail_view_update_options(void *thiz)
+{
+
+ startfunc;
+ MpDetailView_t *view = (MpDetailView_t *) thiz;
+ MP_CHECK_VAL(view, -1);
+
+ Evas_Object *btn1 = elm_button_add(view->layout);
+ elm_object_style_set(btn1, "naviframe/end_btn/default");
+ elm_object_item_part_content_set(view->navi_it, "prev_btn", btn1);
+ evas_object_smart_callback_add(btn1, "clicked",
+ _mp_detail_view_pop_on_back_button,
+ view);
+ mp_view_set_title((MpView_t *) view, STR_MP_DETAILS);
+ elm_naviframe_item_pop_cb_set(view->navi_it, _mp_detail_view_pop_cb,
+ view);
+ endfunc;
+ return 0;
+}
+
+static void _mp_detail_view_on_event(void *thiz, MpViewEvent_e event)
+{
+ DEBUG_TRACE("event; %d", event);
+ switch (event) {
+ case MP_NETWORK_STATE_CHANGED:
+ _mp_detail_view_update_options(thiz);
+ break;
+ case MP_UNSET_NOW_PLAYING: /*unset now playing means there is no track in playlist */
+ mp_view_mgr_pop_a_view(GET_VIEW_MGR, (MpView_t *) thiz);
+ break;
+ default:
+ break;
+ }
+}
+
+static int
+_mp_detail_view_init(Evas_Object * parent, MpDetailView_t * view,
+ const char *uri)
+{
+ startfunc;
+ int ret = 0;
+
+ ret = mp_view_init(parent, (MpView_t *) view, MP_VIEW_DETAIL);
+ MP_CHECK_VAL(ret == 0, -1);
+
+ view->disable_title_icon = true;
+
+ view->update = _mp_detail_view_update;
+ view->update_options = _mp_detail_view_update_options;
+ view->update_options_edit = NULL;
+ view->view_destroy_cb = _mp_detail_view_destory_cb;
+ view->on_event = _mp_detail_view_on_event;
+
+ return ret;
+}
+
+MpDetailView_t *mp_detail_view_create(Evas_Object * parent)
+{
+ eventfunc;
+ int ret;
+ MP_CHECK_NULL(parent);
+
+ MpDetailView_t *view = calloc(1, sizeof(MpDetailView_t));
+ MP_CHECK_NULL(view);
+
+ _mp_detail_view_get_playing_track_data(view);
+ ret = _mp_detail_view_init(parent, view, view->uri);
+ if (ret) {
+ goto Error;
+ }
+
+ return view;
+
+ Error:
+ ERROR_TRACE("Error: mp_detail_view_create()");
+ IF_FREE(view);
+ return NULL;
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include <media_content.h>
+
+#include "mp-edit-view.h"
+#include "mp-all-view.h"
+#include "mp-widget.h"
+#include "mp-util.h"
+#include "mp-edit-callback.h"
+#include "mp-track-list.h"
+#include "mp-album-list.h"
+#include "mp-artist-list.h"
+#include "mp-album-detail-list.h"
+#include "mp-artist-detail-list.h"
+#include "mp-playlist-list.h"
+#include "mp-lockscreenmini.h"
+#include "mp-minicontroller.h"
+#include "mp-create-playlist-view.h"
+#include "mp-common.h"
+#include "mp-setting-ctrl.h"
+#include "mp-edit-playlist.h"
+
+static void _mp_edit_view_destory_cb(void *thiz)
+{
+ eventfunc;
+ MpEditView_t *view = thiz;
+ MP_CHECK(view);
+
+ mp_ecore_timer_del(view->back_timer);
+ mp_list_view_fini((MpListView_t *) view);
+
+ /* TODO: release resource.. */
+
+ free(view);
+}
+
+
+int _mp_edit_view_update(void *thiz)
+{
+ startfunc;
+ MpEditView_t *view = thiz;
+ MP_CHECK_VAL(view, -1);
+
+ mp_list_update(view->content_to_show);
+ if (view->list_mode == MP_EDIT_VIEW_REORDER) {
+ view->reorder = false;
+ mp_list_set_edit(view->content_to_show, EINA_FALSE);
+ mp_list_set_reorder(view->content_to_show, EINA_TRUE);
+ } else {
+ mp_list_set_edit(view->content_to_show, EINA_TRUE);
+ }
+
+ unsigned int count =
+ mp_list_get_editable_count((MpList_t *) view->content_to_show,
+ MP_LIST_EDIT_TYPE_NORMAL);
+ if (count <= 0) {
+ mp_list_view_set_select_all((MpListView_t *) view, FALSE);
+ }
+
+ return 0;
+}
+
+/*************** functions for track list update *******************/
+
+static Eina_Bool _mp_edit_view_back_cb(void *data, Elm_Object_Item * it)
+{
+ eventfunc;
+
+ MpEditView_t *view = data;
+ MP_CHECK_VAL(view, EINA_TRUE);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_FALSE(ad);
+
+ MpViewMgr_t *view_mgr = mp_view_mgr_get_view_manager();
+ mp_view_mgr_pop_view(view_mgr, false);
+
+ MP_CHECK_FALSE(ad);
+ mp_evas_object_del(ad->popup_delete);
+
+ return EINA_TRUE;
+}
+
+void
+mp_edit_view_add_to_playlist_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ eventfunc;
+ MpEditView_t *view = data;
+ MP_CHECK(view);
+ mp_edit_create_add_to_playlist_popup(view->content_to_show);
+}
+
+void
+mp_edit_view_delete_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ eventfunc;
+ MpEditView_t *view = data;
+ MP_CHECK(view);
+ mp_edit_create_delete_popup(view->content_to_show);
+}
+
+void mp_edit_view_remove_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ eventfunc;
+ MP_CHECK(data);
+ MpEditView_t *view = data;
+ MP_CHECK(view);
+ MP_CHECK(view->content_to_show);
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ int list_count =
+ _mp_list_get_count(view->content_to_show,
+ MP_LIST_EDIT_TYPE_NORMAL);
+
+ if (list_count == mp_list_get_checked_count(view->content_to_show)) {
+ ad->is_sdcard_removed = true;
+ mp_lockscreenmini_destroy(ad);
+ mp_minicontroller_destroy(ad);
+ }
+ if (mp_list_get_checked_count(view->content_to_show) <= 0) {
+ mp_widget_text_popup(ad,
+ GET_STR("IDS_MUSIC_POP_NOTHING_SELECTED"));
+ return;
+ }
+ mp_edit_cb_excute_delete(view->content_to_show);
+ return;
+}
+
+
+#ifdef MP_FEATURE_PERSONAL_PAGE
+static void
+_mp_edit_view_move_execute_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ eventfunc;
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ MpList_t *list = data;
+ MP_CHECK(list);
+
+ bool flag_dont_ask = false;
+ Evas_Object *layout =
+ elm_object_content_get(ad->popup[MP_POPUP_CHECK_INFO_PERSONAL]);
+ if (layout != NULL) {
+ Evas_Object *checkbox =
+ elm_object_part_content_get(layout, "elm.swallow.end");
+ flag_dont_ask = elm_check_state_get(checkbox);
+ }
+ mp_evas_object_del(ad->popup[MP_POPUP_CHECK_INFO_PERSONAL]);
+
+ if (flag_dont_ask) {
+ mp_setting_set_personal_dont_ask_again(flag_dont_ask);
+ }
+
+ mp_edit_cb_excute_move(list);
+}
+
+static void _mp_edit_view_notify_cancel_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ eventfunc;
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_POPUP_CANCEL);
+ mp_evas_object_del(ad->popup[MP_POPUP_CHECK_INFO_PERSONAL]);
+}
+
+void mp_edit_view_notify_popup(void *data)
+{
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ MpList_t *list = data;
+ MP_CHECK(list);
+
+ Evas_Object *popup = NULL;
+ popup =
+ mp_popup_create(ad->win_main, MP_POPUP_CHECK_INFO_PERSONAL, NULL,
+ NULL, NULL, ad);
+ evas_object_show(popup);
+
+ Evas_Object *btn1 =
+ mp_widget_create_button(popup, "popup", STR_MP_CANCEL, NULL,
+ _mp_edit_view_notify_cancel_cb, NULL);
+ Evas_Object *btn2 =
+ mp_widget_create_button(popup, "popup", STR_MP_OK, NULL,
+ _mp_edit_view_move_execute_cb, list);
+ elm_object_part_content_set(popup, "button1", btn1);
+ elm_object_part_content_set(popup, "button2", btn2);
+
+ Evas_Object *layout = elm_object_content_get(popup);
+ if (layout != NULL) {
+ /*set lable */
+ Evas_Object *lable =
+ elm_object_part_content_get(layout, "elm.swallow.content");
+ if (lable != NULL) {
+ int count = mp_list_get_checked_count(list);
+ char *lable_text = NULL;
+ if (count > 1) {
+ lable_text =
+ g_strdup_printf(GET_STR(MP_PERSONAL_ITEMS_MOVE_TO),
+ MP_MUSIC_DIR);
+ } else {
+ lable_text =
+ g_strdup_printf(GET_STR(MP_PERSONAL_ITEM_MOVE_TO),
+ MP_MUSIC_DIR);
+ }
+
+ mp_util_domain_translatable_text_set(lable, lable_text);
+ IF_FREE(lable_text);
+ }
+ }
+}
+
+/*static void
+_mp_edit_view_move_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ eventfunc;
+ MpEditView_t *view = data;
+ MP_CHECK(view);
+ //0. check if is remove from personal page
+ if (view->person_page_sel == MP_EDIT_VIEW_PERSONAL_PAGE_ADD)
+ mp_edit_cb_excute_move(view->content_to_show);
+ else
+ {
+ //1. get personal don't ask again
+ bool no_ask_flag = false;
+ mp_setting_get_personal_dont_ask_again(&no_ask_flag);
+ if (no_ask_flag)
+ mp_edit_cb_excute_move(view->content_to_show);
+ else
+ mp_edit_view_notify_popup(view->content_to_show);
+ }
+}*/
+
+#endif
+
+static Eina_Bool _mp_edit_view_reorder_back_cb(void *thiz)
+{
+ startfunc;
+ MpEditView_t *view = thiz;
+ MP_CHECK_FALSE(view);
+
+ MpViewMgr_t *view_mgr = mp_view_mgr_get_view_manager();
+ elm_naviframe_item_pop(view_mgr->navi);
+
+ view->back_timer = NULL;
+ return EINA_FALSE;
+}
+
+
+void
+mp_edit_view_list_item_reorder_update_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ startfunc;
+ MpEditView_t *view = (MpEditView_t *) data;
+ MP_CHECK(view);
+
+ MpTrackList_t *list = (MpTrackList_t *) view->content_to_show;
+ MP_CHECK(list);
+
+ int index = -1;
+ int ret = 0;
+ int member_id = 0;
+
+ void *playlist_handle = mp_list_get_playlist_handle((MpList_t *) list);
+ Elm_Object_Item *temp = elm_genlist_first_item_get(list->genlist);
+ while (temp) {
+ index = elm_genlist_item_index_get(temp);
+ mp_list_item_data_t *item_data = elm_object_item_data_get(temp);
+ MP_CHECK(item_data);
+
+ ret =
+ mp_media_info_get_playlist_member_id(item_data->handle,
+ &member_id);
+ MP_CHECK(ret == MEDIA_CONTENT_ERROR_NONE);
+
+ ret =
+ mp_media_info_playlist_set_play_order(playlist_handle,
+ member_id, index);
+ MP_CHECK(ret == MEDIA_CONTENT_ERROR_NONE);
+ temp = elm_genlist_item_next_get(temp);
+ /*DEBUG_TRACE("member_id: %d, index: %d", member_id, index); */
+ }
+
+ ret = mp_media_info_playlist_update_db(playlist_handle);
+ MP_CHECK(ret == MEDIA_CONTENT_ERROR_NONE);
+
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_PLAYLIST_REORDER_DONE);
+
+ view->back_timer =
+ ecore_timer_add(0.1, _mp_edit_view_reorder_back_cb, view);
+}
+
+static int _mp_edit_view_update_options(void *thiz)
+{
+ startfunc;
+ MpEditView_t *view = (MpEditView_t *) thiz;
+ MP_CHECK_VAL(view, -1);
+
+ MpList_t *list = view->content_to_show;
+ MP_CHECK_VAL(list, -1);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_VAL(ad, -1);
+
+ mp_track_type_e track_type = mp_list_get_track_type(list);
+
+ if (mp_list_get_checked_count((MpList_t *) view->content_to_show) == 0
+ && view->list_mode != MP_EDIT_VIEW_REORDER) {
+ if (list->list_type == MP_LIST_TYPE_TRACK
+ && MP_TRACK_BY_SQUARE != track_type) {
+ MpTrackList_t *track_list = (MpTrackList_t *) list;
+ if (track_list->load_timer == NULL) {
+ mp_evas_object_del(ad->popup_delete);
+ }
+ } else {
+ mp_evas_object_del(ad->popup_delete);
+ }
+ }
+ mp_util_create_selectioninfo_with_count((MpView_t *) view,
+ mp_list_get_checked_count((MpList_t *) view->content_to_show));
+ if (mp_list_get_checked_count((MpList_t *) view->content_to_show) ==
+ mp_list_get_editable_count((MpList_t *) view->content_to_show,
+ MP_LIST_EDIT_TYPE_NORMAL)) {
+ elm_check_state_set(view->select_all_btn, EINA_TRUE);
+ } else {
+ elm_check_state_set(view->select_all_btn, EINA_FALSE);
+ }
+
+ if (view->list_mode == MP_EDIT_VIEW_REORDER) {
+ mp_view_set_title((MpView_t *) view, STR_MP_REORDER);
+ }
+
+ if (view->done_btn) {
+ if (mp_list_get_checked_count((MpList_t *) view->content_to_show)) {
+ elm_object_disabled_set(view->done_btn, EINA_FALSE);
+ } else {
+ elm_object_disabled_set(view->done_btn, EINA_TRUE);
+ }
+ }
+
+ elm_naviframe_item_pop_cb_set(view->navi_it, _mp_edit_view_back_cb,
+ view);
+
+ unsigned int count =
+ mp_list_get_editable_count(list, MP_LIST_EDIT_TYPE_NORMAL);
+
+ if (count == 0) {
+ mp_popup_destroy(ad);
+ /*playlist detail view should not back to all view */
+ if (mp_view_mgr_get_view(GET_VIEW_MGR, MP_VIEW_PLAYLIST_DETAIL)) {
+ mp_view_mgr_pop_a_view(GET_VIEW_MGR, thiz);
+ } else {
+ mp_view_mgr_pop_to_view(GET_VIEW_MGR, MP_VIEW_ALL);
+ }
+ }
+
+ endfunc;
+ return 0;
+}
+
+static MpList_t *_create_group_list(MpEditView_t * view)
+{
+ startfunc;
+ mp_group_type_e group_type = mp_list_get_group_type(view->ref_list);
+ void *list = NULL;
+ MP_CHECK_NULL(view);
+ switch (group_type) {
+ case MP_GROUP_BY_ALBUM:
+ case MP_GROUP_BY_ARTIST_ALBUM:
+ list = mp_album_list_create(view->layout);
+ MP_CHECK_NULL(list);
+ mp_album_list_copy_data((MpAlbumList_t *) view->ref_list, list);
+ break;
+ case MP_GROUP_BY_ARTIST:
+ list = mp_artist_list_create(view->layout);
+ MP_CHECK_NULL(list);
+ mp_artist_list_copy_data((MpArtistList_t *) view->ref_list, list);
+ mp_artist_list_set_data(list, MP_ARTIST_LIST_TYPE,
+ MP_GROUP_BY_ARTIST, -1);
+ break;
+ case MP_GROUP_BY_PLAYLIST:
+ list = mp_playlist_list_create(view->layout);
+ MP_CHECK_NULL(list);
+ mp_playlist_list_copy_data((MpPlaylistList_t *) view->ref_list,
+ list);
+ break;
+ case MP_GROUP_BY_GENRE:
+ list = mp_genre_list_create(view->layout);
+ MP_CHECK_NULL(list);
+ mp_genre_list_copy_data((MpGenreList_t *) view->ref_list, list);
+ break;
+ default:
+ ERROR_TRACE("Inavlid type: %d", group_type);
+ break;
+ }
+
+ return list;
+
+}
+
+static int _mp_edit_view_content_load(void *thiz)
+{
+ startfunc;
+ MpEditView_t *view = (MpEditView_t *) thiz;
+ MP_CHECK_VAL(view, -1);
+
+ MpList_t *ref_list = view->ref_list;
+
+ DEBUG_TRACE("------------------------>list type is %d",
+ ref_list->list_type);
+ switch (ref_list->list_type) {
+ case MP_LIST_TYPE_TRACK:{
+ view->content_to_show =
+ (MpList_t *) mp_track_list_create(view->layout);
+
+ if (view->content_to_show == NULL) {
+ ERROR_TRACE("Unable to create track list");
+ break;
+ }
+#ifdef MP_FEATURE_PERSONAL_PAGE
+ MpTrackList_t *list = (MpTrackList_t *) view->content_to_show;
+ list->personal_page_type = view->person_page_sel;
+#endif
+ if (view->ref_list->reorderable) {
+ mp_list_set_reorder((MpList_t *) view->content_to_show,
+ TRUE);
+ }
+ mp_track_list_copy_data((MpTrackList_t *) ref_list,
+ (MpTrackList_t *) view->
+ content_to_show);
+ edje_object_signal_emit(_EDJ(view->layout),
+ "SHOW_SELECT_ALL_PADDING", "*");
+ break;
+ }
+ case MP_LIST_TYPE_GROUP:
+ view->content_to_show = _create_group_list(view);
+ MP_CHECK_VAL(view->content_to_show, -1);
+ edje_object_signal_emit(_EDJ(view->layout),
+ "SHOW_SELECT_ALL_PADDING", "*");
+#ifdef MP_FEATURE_PERSONAL_PAGE
+ view->content_to_show->personal_page_type = view->person_page_sel;
+#endif
+
+ break;
+ case MP_LIST_TYPE_PLAYLIST:
+ view->content_to_show =
+ (MpList_t *) mp_playlist_list_create(view->layout);
+ if (view->content_to_show == NULL) {
+ ERROR_TRACE("Unable to create music playlist");
+ break;
+ }
+ mp_playlist_list_copy_data((MpPlaylistList_t *) ref_list,
+ (MpPlaylistList_t *) view->
+ content_to_show);
+ break;
+ case MP_LIST_TYPE_ALBUM_DETAIL:
+ view->content_to_show =
+ (MpList_t *) mp_album_detail_list_create(view->layout);
+ if (view->content_to_show == NULL) {
+ ERROR_TRACE("Unable to create album deatil list");
+ break;
+ }
+ mp_album_detail_list_copy_data((MpAlbumDetailList_t *) ref_list,
+ (MpAlbumDetailList_t *) view->
+ content_to_show);
+#ifdef MP_FEATURE_PERSONAL_PAGE
+ view->content_to_show->personal_page_type = view->person_page_sel;
+#endif
+ break;
+ case MP_LIST_TYPE_ARTIST_DETAIL:
+ view->content_to_show =
+ (MpList_t *) mp_artist_detail_list_create(view->layout);
+ if (view->content_to_show == NULL) {
+ ERROR_TRACE("Unable to create artist deatil list");
+ break;
+ }
+ mp_artist_detail_list_copy_data((MpArtistDetailList_t *) ref_list,
+ (MpArtistDetailList_t *) view->
+ content_to_show);
+#ifdef MP_FEATURE_PERSONAL_PAGE
+ view->content_to_show->personal_page_type = view->person_page_sel;
+#endif
+ break;
+ case MP_LIST_TYPE_ALL:{
+ MpView_t *all_view = mp_common_get_all_view();
+
+ if (all_view == NULL) {
+ ERROR_TRACE("all view is NULL");
+ break;
+ }
+
+ MpTab_e tab = ((MpAllView_t *) all_view)->tab_status;
+
+ if (tab == MP_TAB_SONGS) {
+ MpTrackList_t *list = mp_track_list_create(view->layout);
+
+ if (list == NULL) {
+ ERROR_TRACE("Cannot create track list");
+ break;
+ }
+
+ list->cloud_view_type = ref_list->cloud_view_type;
+#ifdef MP_FEATURE_PERSONAL_PAGE
+ list->personal_page_type = view->person_page_sel;
+#endif
+ view->content_to_show = (MpList_t *) list;
+ } else if (tab == MP_TAB_PLAYLISTS) {
+ MpPlaylistList_t *list =
+ mp_playlist_list_create(view->layout);
+ if (list == NULL) {
+ ERROR_TRACE("Cannot create Playlist list");
+ break;
+ }
+ list->group_type = MP_GROUP_BY_PLAYLIST;
+ view->content_to_show = (MpList_t *) list;
+ } else if (tab == MP_TAB_ALBUMS) {
+ MpAlbumList_t *list = mp_album_list_create(view->layout);
+ if (list == NULL) {
+ ERROR_TRACE("Cannot create Album list");
+ break;
+ }
+ list->group_type = MP_GROUP_BY_ALBUM;
+ list->display_mode = ref_list->display_mode;
+ view->content_to_show = (MpList_t *) list;
+ } else if (tab == MP_TAB_ARTISTS) {
+ MpArtistList_t *list = mp_artist_list_create(view->layout);
+ if (list == NULL) {
+ ERROR_TRACE("Cannot create Artist list");
+ break;
+ }
+ list->group_type = MP_GROUP_BY_ARTIST;
+ list->display_mode = ref_list->display_mode;
+ view->content_to_show = (MpList_t *) list;
+ } else {
+ ERROR_TRACE("Never should be here");
+ }
+
+ break;
+ }
+ default:
+ ERROR_TRACE("Inavlid type: %d", ref_list->list_type);
+ break;
+ }
+ MP_CHECK_VAL(view->content_to_show, -1);
+
+ if (view->share) {
+ mp_list_set_edit_type(view->content_to_show,
+ MP_LIST_EDIT_TYPE_SHARE);
+ }
+
+ elm_object_part_content_set(view->layout, "list_content",
+ view->content_to_show->layout);
+
+ return 0;
+}
+
+static void _mp_edit_view_on_event(void *thiz, MpViewEvent_e event)
+{
+ DEBUG_TRACE("event; %d", event);
+ MpEditView_t *view = thiz;
+ switch (event) {
+ case MP_DELETE_DONE:
+ mp_view_mgr_pop_a_view(GET_VIEW_MGR, thiz);
+ break;
+ case MP_ADD_TO_PLAYLIST_DONE:
+ mp_view_mgr_pop_a_view(GET_VIEW_MGR, thiz);
+ break;
+ case MP_POPUP_CANCEL:
+ mp_view_update_options((MpView_t *) view);
+ break;
+ case MP_LANG_CHANGED:{
+ int count = 0;
+ if (view->content_to_show) {
+ count =
+ mp_list_get_checked_count((MpList_t *) view->
+ content_to_show);
+ }
+ mp_util_create_selectioninfo_with_count((MpView_t *) view,
+ count);
+ break;
+ }
+ case MP_PERSONAL_PAGE_OFF:
+ if (view->person_page_sel != MP_EDIT_VIEW_PERSONAL_PAGE_NONE) {
+ mp_view_mgr_pop_a_view(GET_VIEW_MGR, thiz);
+ }
+ break;
+
+ case MP_REORDER_DISABLE:
+ view->reorder = false;
+ if (view->done_btn) {
+ elm_object_disabled_set(view->done_btn, EINA_TRUE);
+ }
+ break;
+#ifndef MP_SOUND_PLAYER
+ case MP_UPDATE_PLAYING_LIST:
+ if (view->list_mode == MP_EDIT_VIEW_REORDER) {
+ mp_list_realized_item_part_update((MpList_t *) view->
+ content_to_show,
+ "elm.text.main.left.top",
+ ELM_GENLIST_ITEM_FIELD_TEXT);
+ mp_list_realized_item_part_update((MpList_t *) view->
+ content_to_show,
+ "elm.text.sub.left.bottom",
+ ELM_GENLIST_ITEM_FIELD_TEXT);
+ mp_list_realized_item_part_update((MpList_t *) view->
+ content_to_show,
+ "elm.icon.left",
+ ELM_GENLIST_ITEM_FIELD_CONTENT);
+ }
+ break;
+#endif
+ case MP_REORDER_ENABLE:
+ view->reorder = TRUE;
+ if (view->done_btn) {
+ elm_object_disabled_set(view->done_btn, EINA_FALSE);
+ }
+ break;
+ default:
+ break;
+ }
+}
+
+static int _mp_edit_view_init(Evas_Object * parent, MpEditView_t * view)
+{
+ startfunc;
+ int ret = 0;
+ ret = mp_list_view_init(parent, (MpListView_t *) view, MP_VIEW_EDIT);
+ MP_CHECK_VAL(ret == 0, -1);
+
+ view->update = _mp_edit_view_update;
+ view->update_options = _mp_edit_view_update_options;
+ view->update_options_edit = _mp_edit_view_update_options;
+ view->view_destroy_cb = _mp_edit_view_destory_cb;
+ view->set_nowplaying = NULL;
+ view->unset_nowplaying = NULL;
+ view->update_nowplaying = NULL;
+ view->on_event = _mp_edit_view_on_event;
+
+ return ret;
+}
+
+#ifdef MP_FEATURE_PERSONAL_PAGE
+MpEditView_t *mp_edit_view_create(Evas_Object * parent, MpList_t * list,
+ bool share,
+ MpEditViewPersonalPageType
+ person_page_sel)
+#else
+MpEditView_t *mp_edit_view_create(Evas_Object * parent, MpList_t * list,
+ bool share)
+#endif
+{
+ eventfunc;
+ int ret;
+ MP_CHECK_NULL(parent);
+ MP_CHECK_NULL(list);
+
+ MpEditView_t *view = calloc(1, sizeof(MpEditView_t));
+ MP_CHECK_NULL(view);
+
+ view->ref_list = list;
+ view->share = share;
+#ifdef MP_FEATURE_PERSONAL_PAGE
+ view->person_page_sel = person_page_sel;
+#endif
+
+ ret = _mp_edit_view_init(parent, view);
+ if (ret) {
+ goto Error;
+ }
+
+ _mp_edit_view_content_load(view);
+ return view;
+
+ Error:
+ ERROR_TRACE("Error: mp_edit_view_create()");
+ IF_FREE(view);
+ return NULL;
+}
+
+int mp_edit_view_destory(MpEditView_t * view)
+{
+ startfunc;
+ MP_CHECK_VAL(view, -1);
+
+ return 0;
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include "mp-genre-detail-view.h"
+#include "mp-widget.h"
+#include "mp-common.h"
+#include "mp-util.h"
+
+#define MP_MAX_TEXT_PRE_FORMAT_LEN 256
+#define MP_MAX_ARTIST_NAME_WIDTH 320
+#define MP_LABEL_SLIDE_DURATION 5
+#define MP_GENRE_INDEX_ICON_SIZE (202 * elm_config_scale_get())
+
+static void _mp_genre_detail_view_tracklist_edit_cb(void *data,
+ Evas_Object * obj,
+ void *event_info);
+
+static void _mp_genre_detail_view_destory_cb(void *thiz)
+{
+ startfunc;
+ MpGenreDetailView_t *view = thiz;
+ MP_CHECK(view);
+ mp_list_view_fini((MpListView_t *) view);
+
+ /* TODO: release resource.. */
+ mp_genre_detail_view_destory(view);
+
+ free(view);
+}
+
+int _mp_genre_detail_view_update(void *thiz)
+{
+ startfunc;
+ MpGenreDetailView_t *view = thiz;
+ MP_CHECK_VAL(view, -1);
+ int edit_flag = view->content_to_show->edit_mode;
+ view->content_set(view);
+ if (edit_flag) {
+ mp_list_set_edit(view->content_to_show, true);
+ mp_view_update_options_edit((MpView_t *) view);
+ mp_list_view_set_select_all((MpListView_t *) view, true);
+ } else {
+ mp_view_update_options((MpView_t *) view);
+ mp_list_view_set_select_all((MpListView_t *) view, false);
+ }
+
+ return 0;
+}
+
+static void _mp_genre_detail_view_add_to_playlist_cb(void *data,
+ Evas_Object * obj,
+ void *event_info)
+{
+ eventfunc;
+ MpGenreDetailView_t *view = (MpGenreDetailView_t *) data;
+ MP_CHECK(view);
+
+ mp_evas_object_del(view->more_btn_ctxpopup);
+ mp_common_add_to_playlsit_view((MpListView_t *) view);
+
+}
+
+static void _mp_genre_detail_view_normal_more_btn_cb(void *data,
+ Evas_Object * obj,
+ void *event_info)
+{
+ eventfunc;
+ MpGenreDetailView_t *view = (MpGenreDetailView_t *) data;
+ MP_CHECK(view);
+
+ mp_evas_object_del(view->more_btn_ctxpopup);
+
+ view->more_btn_ctxpopup = mp_common_create_more_ctxpopup(view);
+ MP_CHECK(view->more_btn_ctxpopup);
+
+ if (mp_list_get_editable_count
+ (view->content_to_show, MP_LIST_EDIT_TYPE_NORMAL)) {
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_ADD_TO_PLAYLIST,
+ MP_PLAYER_MORE_BTN_ADD_TO_PLAYLSIT_IMAGE,
+ _mp_genre_detail_view_add_to_playlist_cb,
+ view);
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_DELETE,
+ MP_PLAYER_MORE_BTN_DELETE_IMAGE,
+ _mp_genre_detail_view_tracklist_edit_cb,
+ view);
+ }
+
+ /*search */
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_SEARCH, NULL,
+ mp_common_create_search_view_cb, view);
+
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_SETTINGS,
+ MP_PLAYER_MORE_BTN_SETTING,
+ mp_common_ctxpopup_setting_cb, view);
+#ifndef MP_FEATURE_NO_END
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_END, MP_PLAYER_MORE_BTN_VIEW_END,
+ mp_common_ctxpopup_end_cb, view);
+#endif
+ mp_util_more_btn_move_ctxpopup(view->more_btn_ctxpopup, obj);
+
+ evas_object_show(view->more_btn_ctxpopup);
+}
+
+/*************** functions for track list update *******************/
+static void _mp_genre_detail_view_tracklist_edit_cb(void *data,
+ Evas_Object * obj,
+ void *event_info)
+{
+ eventfunc;
+ MpGenreDetailView_t *view = (MpGenreDetailView_t *) data;
+ MP_CHECK(view);
+
+ mp_evas_object_del(view->more_btn_ctxpopup);
+ mp_common_show_edit_view((MpListView_t *) view, MP_DONE_DELETE_TYPE);
+
+}
+
+Eina_Bool _mp_genre_detail_view_tracklist_back_cb(void *data,
+ Elm_Object_Item * it)
+{
+ eventfunc;
+ MpGenreDetailView_t *view = (MpGenreDetailView_t *) data;
+ MP_CHECK_VAL(view, EINA_TRUE);
+
+ MpList_t *track_list = view->content_to_show;
+ MP_CHECK_VAL(track_list, EINA_TRUE);
+ if (track_list->edit_mode == 1) {
+ mp_list_set_edit((MpList_t *) track_list, FALSE);
+ mp_list_view_set_select_all((MpListView_t *) view, FALSE);
+ mp_view_update_options((MpView_t *) view);
+ mp_evas_object_del(view->selection_info);
+ return EINA_FALSE;
+ } else {
+ DEBUG_TRACE("");
+ MpViewMgr_t *view_mgr = mp_view_mgr_get_view_manager();
+ mp_view_mgr_pop_view(view_mgr, false);
+ }
+ return EINA_TRUE;
+}
+
+static int _mp_genre_detail_view_update_options(void *thiz)
+{
+ startfunc;
+ MpGenreDetailView_t *view = (MpGenreDetailView_t *) thiz;
+ MP_CHECK_VAL(view, -1);
+
+ mp_view_clear_options((MpView_t *) view);
+
+ Evas_Object *btn = NULL;
+
+ btn =
+ mp_widget_create_toolbar_btn(view->genre_detail_view_layout,
+ MP_TOOLBAR_BTN_MORE, NULL,
+ _mp_genre_detail_view_normal_more_btn_cb,
+ view);
+ elm_object_item_part_content_set(view->navi_it, "toolbar_more_btn",
+ btn);
+
+ elm_naviframe_item_pop_cb_set(view->navi_it,
+ _mp_genre_detail_view_tracklist_back_cb,
+ view);
+ /*view->toolbar_options[MP_OPTION_MORE] = btn; */
+
+ /* update the first controlba item */
+ /*mp_view_manager_update_first_controlbar_item(layout_data); */
+ endfunc;
+ return 0;
+}
+
+static void _mp_genre_detail_view_content_load(void *thiz)
+{
+ startfunc;
+ MP_CHECK(thiz);
+ MpGenreDetailView_t *view = (MpGenreDetailView_t *) thiz;
+ MP_CHECK(view);
+ MP_CHECK(view->layout);
+ MP_CHECK(view->genre_detail_view_layout);
+ elm_object_part_content_set(view->layout, "list_content",
+ view->genre_detail_view_layout);
+ /* genre index */
+
+ view->content_to_show =
+ (MpList_t *) mp_track_list_create(view->layout);
+ MP_CHECK(view->content_to_show);
+ mp_track_list_set_data((MpTrackList_t *) view->content_to_show,
+ MP_TRACK_LIST_TYPE, MP_TRACK_BY_GENRE,
+ MP_TRACK_LIST_TYPE_STR, view->name, -1);
+ mp_list_update(view->content_to_show);
+ elm_object_part_content_set(view->genre_detail_view_layout,
+ "list-content",
+ view->content_to_show->layout);
+}
+
+static void
+_mp_genre_detaill_view_on_event(void *thiz, MpViewEvent_e event)
+{
+ DEBUG_TRACE("event; %d", event);
+ MpGenreDetailView_t *view = thiz;
+ switch (event) {
+ case MP_DELETE_DONE:
+ mp_list_update(view->content_to_show);
+ if (!mp_list_get_editable_count
+ (view->content_to_show,
+ mp_list_get_edit_type(view->content_to_show))) {
+ mp_view_mgr_pop_to_view(GET_VIEW_MGR, MP_VIEW_ALL);
+ }
+ break;
+#ifndef MP_SOUND_PLAYER
+ case MP_UPDATE_PLAYING_LIST:
+ mp_list_realized_item_part_update(view->content_to_show,
+ "elm.text.main.left.top",
+ ELM_GENLIST_ITEM_FIELD_TEXT);
+ mp_list_realized_item_part_update(view->content_to_show,
+ "elm.text.sub.left.bottom",
+ ELM_GENLIST_ITEM_FIELD_TEXT);
+ break;
+#endif
+ case MP_VIEW_EVENT_ALBUMART_CHANGED:{
+ mp_media_list_h media_list = NULL;
+ mp_media_info_h media = NULL;
+ mp_media_info_list_create(&media_list, MP_TRACK_BY_GENRE,
+ view->name, NULL, NULL, 0, 0, 1);
+ media = mp_media_info_list_nth_item(media_list, 0);
+
+ char *path = NULL;
+ mp_media_info_get_thumbnail_path(media, &path);
+
+ IF_FREE(view->thumbnail);
+ view->thumbnail = g_strdup(path);
+ Evas_Object *icon =
+ mp_util_create_thumb_icon(view->genre_index,
+ view->thumbnail,
+ MP_GENRE_INDEX_ICON_SIZE,
+ MP_GENRE_INDEX_ICON_SIZE);
+ elm_object_part_content_set(view->genre_index, "elm.icon",
+ icon);
+
+ mp_media_info_list_destroy(media_list);
+
+ }
+ break;
+
+ case MP_UPDATE_FAVORITE_LIST:{
+ mp_list_update(view->content_to_show);
+ break;
+ }
+ default:
+ break;
+ }
+}
+
+static int
+_mp_genre_detail_view_init(Evas_Object * parent,
+ MpGenreDetailView_t * view)
+{
+ startfunc;
+ int ret = 0;
+ ret =
+ mp_list_view_init(parent, (MpListView_t *) view,
+ MP_VIEW_GENRE_DETAIL);
+ MP_CHECK_VAL(ret == 0, -1);
+
+ view->update = _mp_genre_detail_view_update;
+ view->update_options = _mp_genre_detail_view_update_options;
+ /*view->update_options_edit = _mp_genre_detail_view_update_options_edit; */
+ view->view_destroy_cb = _mp_genre_detail_view_destory_cb;
+ view->content_set = _mp_genre_detail_view_content_load;
+ view->on_event = _mp_genre_detaill_view_on_event;
+
+ view->genre_detail_view_layout =
+ mp_common_load_edj(parent, MP_EDJ_NAME, "genre_view_layout");
+
+ MP_CHECK_VAL(view->genre_detail_view_layout, -1);
+ return ret;
+}
+
+MpGenreDetailView_t *mp_genre_detail_view_create(Evas_Object * parent,
+ char *genre, char *artist,
+ char *thumbnail)
+{
+ startfunc;
+ int ret;
+ MP_CHECK_NULL(parent);
+
+ MpGenreDetailView_t *view = calloc(1, sizeof(MpGenreDetailView_t));
+ MP_CHECK_NULL(view);
+
+ ret = _mp_genre_detail_view_init(parent, view);
+ if (ret) {
+ goto Error;
+ }
+
+ IF_G_FREE(view->name);
+ IF_G_FREE(view->artist);
+ IF_G_FREE(view->thumbnail);
+ view->name = g_strdup(genre);
+ view->artist = g_strdup(artist);
+ view->thumbnail = g_strdup(thumbnail);
+ _mp_genre_detail_view_content_load(view);
+ return view;
+
+ Error:
+ ERROR_TRACE("Error: mp_genre_detail_view_create()");
+ IF_FREE(view);
+ return NULL;
+}
+
+int mp_genre_detail_view_destory(MpGenreDetailView_t * view)
+{
+ startfunc;
+ MP_CHECK_VAL(view, -1);
+ IF_G_FREE(view->name);
+ IF_G_FREE(view->artist);
+ IF_G_FREE(view->thumbnail);
+ return 0;
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include "mp-list-view.h"
+#include "music.h"
+#include "mp-util.h"
+#include "mp-widget.h"
+#include "mp-common.h"
+#include "mp-edit-view.h"
+#include "mp-add-track-view.h"
+#include "mp-playlist-detail-view.h"
+#include "mp-select-track-view.h"
+
+#define CHECK_LIST_VIEW(view, val) \
+ do {\
+ MP_CHECK_VAL(view, val);\
+ mp_retvm_if(view->list_view_magic != LIST_VIEW_MAGIC, val,\
+ "Error: param is not view object!!!", view->list_view_magic);\
+ } while (0);
+
+
+static int _mp_list_view_set_edit_mode(void *thiz, bool edit)
+{
+ startfunc;
+
+ MpListView_t *view = (MpListView_t *) thiz;
+ MP_CHECK_VAL(view, -1);
+ mp_evas_object_del(view->selection_info);
+
+ MpList_t *list = view->content_to_show;
+ MP_CHECK_VAL(list, -1);
+ mp_list_set_edit(list, edit);
+ mp_list_view_set_select_all(view, edit);
+
+ return 0;
+}
+
+static void _mp_list_select_all_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ startfunc;
+ MpListView_t *view = (MpListView_t *) data;
+ mp_retm_if(view == NULL, "view is NULL");
+
+ mp_list_item_data_t *it_data;
+ Elm_Object_Item *it;
+
+ MP_CHECK(view->content_to_show);
+ Evas_Object *genlist = view->content_to_show->genlist;
+ MP_CHECK(genlist);
+
+ it = mp_list_first_item_get(genlist);
+ /* check if all the item selected */
+ bool all_selected_flag = TRUE;
+ while (it) {
+ if (mp_list_item_select_mode_get(it) ==
+ ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY
+ || elm_object_item_disabled_get(it) == TRUE) {
+ it = mp_list_item_next_get(it);
+ continue;
+ }
+
+ it_data = elm_object_item_data_get(it);
+ if (it_data) {
+ if (it_data->checked == FALSE) {
+ all_selected_flag = FALSE;
+ break;
+ }
+ }
+ it = mp_list_item_next_get(it);
+ }
+ /* set items */
+ Eina_Bool value = EINA_FALSE;
+ value = all_selected_flag ? EINA_FALSE : EINA_TRUE;
+
+ DEBUG_TRACE("all_selected_flag is %d\tvalue is %d", all_selected_flag,
+ value);
+ it = mp_list_first_item_get(genlist);
+ MpList_t *list = view->content_to_show;
+ while (it) {
+ if (mp_list_item_select_mode_get(it) ==
+ ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY
+ || elm_object_item_disabled_get(it) == TRUE) {
+ it = mp_list_item_next_get(it);
+ continue;
+ }
+ mp_list_item_check_set(it, value);
+ it = mp_list_item_next_get(it);
+ }
+ /* view->selection_info = mp_util_create_selectioninfo_with_count(view, mp_list_get_checked_count(list)); */
+
+ mp_util_create_selectioninfo_with_count(view,
+ mp_list_get_checked_count
+ (list));
+ mp_view_update_options_edit((MpView_t *) view);
+
+ endfunc;
+}
+
+static void _mp_list_select_all_layout_down_cb(void *data, Evas * evas,
+ Evas_Object * obj,
+ void *event_info)
+{
+ MP_CHECK(obj);
+ Evas_Object *check = elm_object_part_content_get(obj, "elm.icon");
+ Eina_Bool state = elm_check_state_get(check);
+ elm_check_state_set(check, !state);
+ _mp_list_select_all_cb(data, check, NULL);
+}
+
+static Evas_Object *_mp_list_view_set_select_all(void *thiz, bool edit)
+{
+
+ MpListView_t *view = (MpListView_t *) thiz;
+
+ if (view->select_all_btn) {
+ evas_object_del(view->select_all_btn);
+ view->select_all_btn = NULL;
+ }
+
+ if (edit == TRUE) {
+ mp_widget_create_select_all_layout(view->layout,
+ _mp_list_select_all_cb,
+ _mp_list_select_all_layout_down_cb,
+ view, &view->select_all_btn,
+ &view->select_all_layout);
+ elm_object_part_content_set(view->layout, "select_all_bg",
+ view->select_all_layout);
+ elm_object_signal_emit(view->layout, "SHOW_INFO_TEXT_BAR", "");
+ } else {
+ elm_object_signal_emit(view->layout, "HIDE_INFO_TEXT_BAR", "");
+ }
+
+ return view->select_all_btn;
+}
+
+static int _mp_list_view_double_tap(void *thiz)
+{
+ startfunc;
+ MpListView_t *view = (MpListView_t *) thiz;
+ mp_list_double_tap(view->content_to_show);
+ return 0;
+}
+
+static Evas_Object *_mp_list_view_set_done_button(void *thiz, bool edit,
+ mp_done_operator_type_t
+ type)
+{
+
+ MpListView_t *view = (MpListView_t *) thiz;
+ Evas_Object *done_button = NULL;
+
+ if (view->done_btn) {
+ evas_object_del(view->done_btn);
+ view->done_btn = NULL;
+ }
+
+ if (edit == TRUE) {
+ if (type == MP_DONE_DELETE_TYPE) {
+ done_button =
+ mp_widget_create_navi_right_btn(view->layout,
+ view->navi_it,
+ mp_edit_view_delete_cb,
+ view);
+ } else if (type == MP_DONE_ADD_TO_TYPE) {
+ done_button =
+ mp_widget_create_navi_right_btn(view->layout,
+ view->navi_it,
+ mp_edit_view_add_to_playlist_cb,
+ view);
+ } else if (type == MP_DONE_ADD_TRACK_TYPE) {
+ done_button =
+ mp_widget_create_navi_right_btn(view->layout,
+ view->navi_it,
+ mp_add_track_view_add_to_playlist_cb,
+ view);
+ } else if (type == MP_DONE_REMOVED_TYPE) {
+ done_button =
+ mp_widget_create_navi_right_btn(view->layout,
+ view->navi_it,
+ mp_edit_view_remove_cb,
+ view);
+ } else if (type == MP_DONE_REORDER_TYPE) {
+ done_button =
+ mp_widget_create_navi_right_btn(view->layout,
+ view->navi_it,
+ mp_edit_view_list_item_reorder_update_cb,
+ view);
+ } else if (type == MP_DONE_SELECT_ADD_TRACK_TYPE) {
+ done_button =
+ mp_widget_create_navi_right_btn(view->layout,
+ view->navi_it,
+ mp_select_track_view_add_to_playlist_cb,
+ view->content_to_show);
+ }
+ MP_CHECK_NULL(done_button);
+ view->done_btn = done_button;
+ elm_object_disabled_set(view->done_btn, EINA_TRUE);
+ }
+
+ return done_button;
+}
+
+static Evas_Object *_mp_list_view_set_cancel_button(void *thiz, bool edit)
+{
+
+ MpListView_t *view = (MpListView_t *) thiz;
+ Evas_Object *cancel_button = NULL;
+
+ if (view->cancel_btn) {
+ evas_object_del(view->cancel_btn);
+ view->cancel_btn = NULL;
+ }
+
+ if (edit == TRUE) {
+ cancel_button =
+ mp_widget_create_navi_left_btn(view->layout, view->navi_it,
+ mp_common_view_cancel_cb, view);
+ MP_CHECK_NULL(cancel_button);
+ view->cancel_btn = cancel_button;
+ }
+
+ return cancel_button;
+}
+
+
+int mp_list_view_init(Evas_Object * parent, MpListView_t * view,
+ MpViewType_e view_type, ...)
+{
+ startfunc;
+ int ret = 0;
+ MP_CHECK_VAL(view, -1);
+
+ /*initalize parent class */
+ ret = mp_view_init(parent, (MpView_t *) view, view_type);
+ MP_CHECK_VAL(ret == 0, -1);
+
+ /*initialize data */
+ view->list_view_magic = LIST_VIEW_MAGIC;
+
+ /*parent's function overriding.
+ view->update = _mp_list_view_update;
+
+ initialize functions */
+ view->set_edit_mode = _mp_list_view_set_edit_mode;
+ view->set_select_all = _mp_list_view_set_select_all;
+ view->double_tap = _mp_list_view_double_tap;
+ view->set_done_button = _mp_list_view_set_done_button;
+ view->set_cancel_button = _mp_list_view_set_cancel_button;
+
+ return 0;
+}
+
+int mp_list_view_fini(MpListView_t * view)
+{
+ startfunc;
+ int ret = 0;
+ CHECK_LIST_VIEW(view, -1);
+
+ view->list_view_magic = 0;
+
+ ret = mp_view_fini((MpView_t *) view);
+ MP_CHECK_VAL(ret == 0, -1);
+
+ return 0;
+}
+
+int mp_list_view_is_list_view(MpListView_t * view, bool * val)
+{
+ MP_CHECK_VAL(val, -1);
+ *val = false;
+ CHECK_LIST_VIEW(view, -1);
+ *val = true;
+ return 0;
+}
+
+int mp_list_view_set_edit_mode(MpListView_t * view, bool edit)
+{
+ CHECK_LIST_VIEW(view, -1);
+ MP_CHECK_VAL(view->set_edit_mode, -1);
+ view->set_edit_mode(view, edit);
+
+ return 0;
+}
+
+Evas_Object *mp_list_view_set_select_all(MpListView_t * view, bool flag)
+{
+ CHECK_LIST_VIEW(view, NULL);
+ MP_CHECK_VAL(view->set_select_all, NULL);
+ return view->set_select_all(view, flag);
+}
+
+int mp_list_view_double_tap(MpListView_t * view)
+{
+ CHECK_LIST_VIEW(view, -1);
+ MP_CHECK_VAL(view->double_tap, -1);
+ view->double_tap(view);
+ return 0;
+}
+
+Evas_Object *mp_list_view_set_done_btn(MpListView_t * view, bool flag,
+ mp_done_operator_type_t type)
+{
+ CHECK_LIST_VIEW(view, NULL);
+ MP_CHECK_VAL(view->set_done_button, NULL);
+ return view->set_done_button(view, flag, type);
+}
+
+Evas_Object *mp_list_view_set_cancel_btn(MpListView_t * view, bool flag)
+{
+ CHECK_LIST_VIEW(view, NULL);
+ MP_CHECK_VAL(view->set_cancel_button, NULL);
+ return view->set_cancel_button(view, flag);
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include "mp-now-playing-list-view.h"
+#include "mp-now-playing-list.h"
+#include "mp-widget.h"
+#include "mp-util.h"
+#include "mp-common.h"
+#include "mp-popup.h"
+
+static void _mp_now_playing_view_open_playlist_btn_edit_cb(void *data,
+ Evas_Object *
+ obj,
+ void
+ *event_info)
+{
+ eventfunc;
+ MpNowPlayingListiew_t *view = (MpNowPlayingListiew_t *) data;
+ MP_CHECK(view);
+
+ mp_evas_object_del(view->more_btn_ctxpopup);
+ /*mp_common_show_edit_view((MpNowPlayingListiew_t *)view); */
+ mp_list_set_edit(view->content_to_show, true);
+ mp_view_update_options_edit((MpView_t *) view);
+}
+
+
+static void
+_mp_now_playing_list_view_normal_more_btn_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ DEBUG_TRACE("");
+ MpNowPlayingListiew_t *view = (MpNowPlayingListiew_t *) data;
+ MP_CHECK(view);
+
+ mp_evas_object_del(view->more_btn_ctxpopup);
+
+ view->more_btn_ctxpopup = mp_common_create_more_ctxpopup(view);
+ MP_CHECK(view->more_btn_ctxpopup);
+
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_EDIT, MP_PLAYER_MORE_BTN_EDIT,
+ _mp_now_playing_view_open_playlist_btn_edit_cb,
+ view);
+
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_SETTINGS,
+ MP_PLAYER_MORE_BTN_SETTING,
+ mp_common_ctxpopup_setting_cb, view);
+#ifndef MP_FEATURE_NO_END
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_END, MP_PLAYER_MORE_BTN_VIEW_END,
+ mp_common_ctxpopup_end_cb, view);
+#endif
+ mp_util_more_btn_move_ctxpopup(view->more_btn_ctxpopup, obj);
+
+ evas_object_show(view->more_btn_ctxpopup);
+}
+
+static void
+_mp_now_playing_list_view_remove_popup_response_cb(void *data,
+ Evas_Object * obj,
+ void *event_info)
+{
+ startfunc;
+ DEBUG_TRACE("");
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ ad->popup_delete = NULL;
+ mp_evas_object_del(obj);
+
+ int response = (int) event_info;
+ if (response == MP_POPUP_NO) {
+ return;
+ }
+
+ MpNowPlayingListiew_t *view = data;
+ MP_CHECK(view);
+
+ mp_now_playing_list_remove_selected_item((MpNowPlayingList_t *) view->
+ content_to_show);
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_PLAYLIST_MODIFIED);
+
+ mp_util_create_selectioninfo_with_count(view,
+ mp_list_get_checked_count
+ (view->content_to_show));
+ mp_view_update_options_edit((MpView_t *) view);
+ if (mp_list_get_editable_count
+ (view->content_to_show,
+ mp_list_get_edit_type(view->content_to_show)) == 0) {
+ mp_list_update((MpList_t *) view->content_to_show);
+ mp_view_mgr_pop_a_view(GET_VIEW_MGR, GET_PLAYER_VIEW);
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_UNSET_NOW_PLAYING);
+ }
+}
+
+static void
+_mp_now_playing_list_view_remove_popup_show(MpNowPlayingListiew_t * view)
+{
+ DEBUG_TRACE("");
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ MpList_t *list = view->content_to_show;
+ MP_CHECK(list);
+
+ if (mp_list_get_checked_count(list) <= 0) {
+ mp_widget_text_popup(ad,
+ GET_STR("IDS_MUSIC_POP_NOTHING_SELECTED"));
+ return;
+ }
+
+ Evas_Object *popup =
+ mp_popup_create(ad->win_main, MP_POPUP_NORMAL, NULL, view,
+ _mp_now_playing_list_view_remove_popup_response_cb,
+ ad);
+ ad->popup_delete = popup;
+
+ evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ elm_object_text_set(popup, GET_STR("IDS_MUSIC_POP_REMOVE_Q"));
+
+ mp_popup_button_set(popup, MP_POPUP_BTN_1, STR_MP_REMOVE,
+ MP_POPUP_YES);
+
+ evas_object_show(popup);
+
+}
+
+static void
+_mp_now_playing_list_view_remove_btn_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ DEBUG_TRACE("");
+ MpNowPlayingListiew_t *view = (MpNowPlayingListiew_t *) data;
+ MP_CHECK(view);
+
+ _mp_now_playing_list_view_remove_popup_show(view);
+}
+
+static Eina_Bool
+_mp_now_playing_list_view_back_cb(void *data, Elm_Object_Item * it)
+{
+ DEBUG_TRACE("");
+ MpNowPlayingListiew_t *view = (MpNowPlayingListiew_t *) data;
+ MP_CHECK_VAL(view, EINA_TRUE);
+
+ /*MpNowPlayingListiew_t *now_playing_list = (MpNowPlayingListiew_t *)view->content_to_show;
+ MP_CHECK(now_playing_list);
+ if (now_playing_list->edit_mode == 1) */
+ {
+ /* mp_list_set_edit((MpList_t *)now_playing_list, FALSE);
+ view->update_options(view); */
+ }
+ /* else */
+ {
+ MpViewMgr_t *view_manager = mp_view_mgr_get_view_manager();
+ mp_view_mgr_pop_view(view_manager, false);
+ }
+ return EINA_TRUE;
+
+}
+
+static int _mp_now_playing_list_view_update_options(void *thiz)
+{
+ startfunc;
+ MpNowPlayingListiew_t *view = (MpNowPlayingListiew_t *) thiz;
+ MP_CHECK_VAL(view, -1);
+
+ mp_view_clear_options((MpView_t *) view);
+
+ Evas_Object *btn = NULL;
+
+ btn =
+ mp_widget_create_toolbar_btn(view->now_playing_list_layout,
+ MP_TOOLBAR_BTN_MORE, NULL,
+ _mp_now_playing_list_view_normal_more_btn_cb,
+ view);
+ elm_object_item_part_content_set(view->navi_it, "toolbar_more_btn",
+ btn);
+ /*view->toolbar_options[MP_OPTION_MORE] = btn; */
+
+ elm_naviframe_item_pop_cb_set(view->navi_it,
+ _mp_now_playing_list_view_back_cb, view);
+
+ endfunc;
+ return 0;
+}
+
+static int _mp_now_playing_list_view_update_options_edit(void *thiz)
+{
+ startfunc;
+ MpNowPlayingListiew_t *view = (MpNowPlayingListiew_t *) thiz;
+ MP_CHECK_VAL(view, -1);
+
+ mp_view_clear_options((MpView_t *) view);
+ mp_view_unset_nowplaying((MpView_t *) view);
+
+ Evas_Object *toolbar =
+ mp_widget_create_naviframe_toolbar(view->navi_it);
+ Elm_Object_Item *toolbar_item = NULL;
+
+ toolbar_item = mp_widget_create_toolbar_item_btn(toolbar,
+ MP_TOOLBAR_BTN_LEFT,
+ STR_MP_ADD_TO,
+ mp_common_button_add_to_playlist_cb,
+ view->
+ content_to_show);
+ view->toolbar_options[MP_OPTION_LEFT] = toolbar_item;
+
+ toolbar_item = mp_widget_create_toolbar_item_btn(toolbar,
+ MP_TOOLBAR_BTN_RIGHT,
+ STR_MP_REMOVE,
+ _mp_now_playing_list_view_remove_btn_cb,
+ view);
+ view->toolbar_options[MP_OPTION_RIGHT] = toolbar_item;
+
+ Eina_Bool disabled =
+ (mp_list_get_checked_count(view->content_to_show) ==
+ 0) ? EINA_TRUE : EINA_FALSE;
+ elm_object_item_disabled_set(view->toolbar_options[MP_OPTION_LEFT],
+ disabled);
+ elm_object_item_disabled_set(view->toolbar_options[MP_OPTION_RIGHT],
+ disabled);
+ if (disabled) {
+ mp_evas_object_del(view->selection_info);
+ }
+
+ if (view->select_all_btn) {
+ elm_object_disabled_set(view->select_all_btn,
+ !((Eina_Bool)
+ mp_list_get_editable_count(view->
+ content_to_show,
+ mp_list_get_edit_type
+ (view->
+ content_to_show))));
+ }
+
+ elm_naviframe_item_pop_cb_set(view->navi_it,
+ _mp_now_playing_list_view_back_cb, view);
+
+ endfunc;
+ return 0;
+}
+
+static void _mp_now_playing_list_view_content_set(void *thiz)
+{
+ startfunc;
+ MpNowPlayingListiew_t *view = (MpNowPlayingListiew_t *) thiz;
+ MP_CHECK(view);
+
+ elm_object_part_content_set(view->layout, "list_content",
+ view->now_playing_list_layout);
+
+ view->content_to_show =
+ (MpList_t *) mp_now_playing_list_create(view->
+ now_playing_list_layout);
+ MP_CHECK(view->content_to_show);
+ elm_object_part_content_set(view->now_playing_list_layout,
+ "list_content",
+ view->content_to_show->layout);
+
+ mp_list_update(view->content_to_show);
+}
+
+static int _mp_now_playing_list_view_update(void *thiz)
+{
+ startfunc;
+ MpNowPlayingListiew_t *view = thiz;
+
+ if (view->content_to_show) {
+ mp_list_update((MpList_t *) view->content_to_show);
+ }
+
+ if (mp_list_get_edit(view->content_to_show)) {
+ mp_list_set_edit(view->content_to_show, true);
+ }
+
+ endfunc;
+ return 0;
+}
+
+
+static void _mp_now_playing_list_view_destory_cb(void *thiz)
+{
+ startfunc;
+ MpNowPlayingListiew_t *view = thiz;
+ MP_CHECK(view);
+ mp_list_view_fini((MpListView_t *) view);
+
+ /* TODO: release resource.. */
+
+ free(view);
+}
+
+
+static int
+_mp_now_playing_list_view_init(Evas_Object * parent,
+ MpNowPlayingListiew_t * view)
+{
+ startfunc;
+ int ret = 0;
+ ret =
+ mp_list_view_init(parent, (MpListView_t *) view,
+ MP_VIEW_NOW_PLAYING_LIST);
+ MP_CHECK_VAL(ret == 0, -1);
+
+ view->update = _mp_now_playing_list_view_update;
+ view->update_options = _mp_now_playing_list_view_update_options;
+ view->update_options_edit =
+ _mp_now_playing_list_view_update_options_edit;
+ view->view_destroy_cb = _mp_now_playing_list_view_destory_cb;
+
+ view->now_playing_list_layout = view->layout;
+
+ MP_CHECK_VAL(view->now_playing_list_layout, -1);
+ return ret;
+}
+
+
+MpNowPlayingListiew_t *mp_now_playing_list_view_create(Evas_Object *
+ parent)
+{
+ startfunc;
+ int ret;
+ MP_CHECK_NULL(parent);
+
+ MpNowPlayingListiew_t *view = calloc(1, sizeof(MpNowPlayingListiew_t));
+ MP_CHECK_NULL(view);
+
+ ret = _mp_now_playing_list_view_init(parent, view);
+ if (ret) {
+ goto Error;
+ }
+
+ _mp_now_playing_list_view_content_set(view);
+
+ return view;
+
+ Error:
+ ERROR_TRACE("Error: mp_now_playing_list_view_create()");
+ IF_FREE(view);
+ return NULL;
+}
+
+int mp_now_playihng_list_view_destory(MpNowPlayingListiew_t * view)
+{
+ MP_CHECK_VAL(view, -1);
+
+ return 0;
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include <glib.h>
+#include "mp-player-view.h"
+#include "mp-widget.h"
+#include "mp-util.h"
+#include "mp-player-mgr.h"
+#include "mp-playlist-mgr.h"
+#include "mp-player-volume-widget.h"
+#include "mp-setting-view.h"
+#include "mp-ctxpopup.h"
+#include "mp-popup.h"
+#include "mp-volume.h"
+#include "mp-now-playing-list.h"
+#include "mp-player-control.h"
+#include "mp-play.h"
+#include "mp-menu.h"
+#include "mp-common.h"
+#include "mp-detail-view.h"
+#include "mp-smart-event-box.h"
+#include "mp-create-playlist-view.h"
+#include "mp-lockscreenmini.h"
+#include "mp-edit-playlist.h"
+#include "mp-edit-callback.h"
+#include "mp-setting-ctrl.h"
+#include "mp-edit-view.h"
+#include "mp-playlist-detail-view.h"
+#include <runtime_info.h>
+#ifndef MP_SOUND_PLAYER
+#include "mp-now-playing-list-view.h"
+#include "mp-resource.h"
+
+#endif
+
+#include "mp-minicontroller.h"
+#define CHECK_VIEW(view) \
+ do {\
+ MpPlayerView_t *player_view = view;\
+ if (player_view && player_view->player_view_magic != PLAYER_VIEW_MAGIC) {\
+ ERROR_TRACE("Error: param is not player_view object!!!magic: %d", player_view->player_view_magic);\
+ mp_assert(0); } \
+ } while (0);
+
+#define NAVIFRAME_PLAYER_VIEW NULL /*"music/player_view" */
+#define PLAYER_VIEW_REW_SOURCE "control_previous"
+#define PLAYER_VIEW_FF_SOURCE "control_next"
+#define PLAYER_VIEW_DETAULT_ALBUM_IMAGE DEFAULT_PLAYER_THUMBNAIL
+#define PLAYER_VIEW_ALBUM_SIZE 720 * elm_config_scale_get()
+#define PLAYER_VIEW_QUEUE_BG_SIZE 68 * elm_config_scale_get()
+#define PLAYER_VIEW_VOLUME_WIDGET_HIDE_TIME 3.0
+#define PLAYER_VIEW_LONG_PRESS_INTERVAL 1.0
+#define PLAYER_VIEW_FF_REW_INTERVAL 0.3
+#define PLAYER_VIEW_TRANSIT_INTERVAL 0.3
+#define PLAYER_VIEW_ZOOM_FROM 0.6
+#define PLAYER_VIEW_ZOOM_TO 1.0
+
+#define PLAYER_VIEW_LONG_PRESS_TIME_INCREASE 1.0 /*sec */
+#define ROTATE_TIMEOUT 0.2
+
+#define MP_PORTRAIT_H 635
+#define MP_MULTI_WIDGET_W 116
+#define MP_MULTI_WIDGET_H 509
+#define MP_MULTI_WIDGET_PADDING_W 12
+#define MP_MULTI_WIDGET_START_H 20
+#define MP_MULTI_WIDGET_END_H 400
+#define MP_MULTI_WIDGET_SCALE 0.5
+#define MP_MULTI_WINDOW_NO_PROGRESS_HEIGHT 421
+#define MP_MULTI_WINDOW_NO_OPTION_HEIGHT 505
+#define MP_MULTI_WINDOW_NO_ALBUMART_WIDTH 560
+
+static bool _mp_player_view_init_progress_bar(void *data);
+static void _mp_player_view_volume_popup_hide(void *data);
+static bool _mp_player_view_show_lyric(void *data);
+static Eina_Bool _mp_player_view_update_progressbar_cb(void *data);
+static void _mp_player_view_show_detail_view(MpPlayerView_t * view);
+
+void _mp_player_view_set_focused_UI(void *this);
+
+#ifndef MP_SOUND_PLAYER
+static void _mp_player_view_set_queue_list_btn_icon(void *data);
+#endif
+
+static Evas_Object *_mp_player_view_create_album_image(Evas_Object * obj,
+ const char *path,
+ int w, int h);
+static void _mp_player_view_transit_by_item(void *data,
+ int move_direction);
+
+#ifndef MP_SOUND_PLAYER
+/* static void _mp_player_view_create_queue_list_btn(void *data);*/
+static void _mp_player_view_update_control_queue_list_btn(void *data);
+
+static void _mp_player_view_destroy_queue_list_transit_del_cb(void *data,
+ Elm_Transit *
+ transit)
+{
+ startfunc;
+ MpPlayerView_t *view = (MpPlayerView_t *) data;
+ MP_CHECK(view);
+ CHECK_VIEW(view);
+ MP_CHECK(view->queue_list);
+
+ view->queue_status = false;
+ Evas_Object *queue_title_list =
+ elm_object_part_content_get(view->player_view_layout,
+ "queue_list_area");
+ MP_CHECK(queue_title_list);
+ Evas_Object *layout = ((MpList_t *) view->queue_list)->layout;
+ MP_CHECK(layout);
+
+ elm_object_part_content_unset(queue_title_list, "queue_list_content");
+ elm_object_part_content_unset(view->player_view_layout,
+ "queue_list_area");
+
+ evas_object_del(layout);
+ evas_object_del(queue_title_list);
+
+ view->queue_list = NULL;
+ view->trans_queue_list = NULL;
+
+ _mp_player_view_update_control_queue_list_btn(view);
+}
+
+static void _mp_player_view_destroy_queue_list(void *data)
+{
+ startfunc;
+ MpPlayerView_t *view = (MpPlayerView_t *) data;
+ MP_CHECK(view);
+ CHECK_VIEW(view);
+ MP_CHECK(view->queue_list);
+
+ Evas_Object *queue_title_list =
+ elm_object_part_content_get(view->player_view_layout,
+ "queue_list_area");
+ MP_CHECK(queue_title_list);
+ int p_y, y, w, h;
+ evas_object_geometry_get(view->player_view_layout, NULL, &p_y, NULL,
+ NULL);
+ edje_object_part_geometry_get(_EDJ(view->player_view_layout),
+ "queue_list_area", NULL, &y, &w, &h);
+ y += p_y;
+
+ edje_object_signal_emit(_EDJ(view->player_view_layout),
+ "HIDE_QUEUE_LIST", "music_app");
+ Elm_Transit *trans;
+ trans = elm_transit_add();
+ elm_transit_object_add(trans, queue_title_list);
+
+ elm_transit_effect_translation_add(trans, 0, y, 0, y + h);
+ elm_transit_tween_mode_set(trans, ELM_TRANSIT_TWEEN_MODE_ACCELERATE);
+ elm_transit_duration_set(trans, PLAYER_VIEW_TRANSIT_INTERVAL);
+ elm_transit_smooth_set(trans, EINA_FALSE);
+ elm_transit_go(trans);
+ elm_transit_del_cb_set(trans,
+ _mp_player_view_destroy_queue_list_transit_del_cb,
+ data);
+
+ view->trans_queue_list = trans;
+}
+
+static Eina_Bool _mp_player_view_queue_list_update_idler_cb(void *data)
+{
+ MpPlayerView_t *view = (MpPlayerView_t *) data;
+ MP_CHECK_FALSE(view);
+ view->queue_list_update_idler = NULL;
+
+ MP_CHECK_FALSE(view->queue_list);
+ mp_list_update((MpList_t *) view->queue_list);
+ mp_now_playing_list_current_item_show((MpNowPlayingList_t *) view->
+ queue_list);
+
+ return ECORE_CALLBACK_DONE;
+}
+
+static void _mp_player_view_create_queue_list_transit_del_cb(void *data,
+ Elm_Transit *
+ transit)
+{
+ startfunc;
+ MpPlayerView_t *view = (MpPlayerView_t *) data;
+ MP_CHECK(view);
+ CHECK_VIEW(view);
+
+ view->trans_queue_list = NULL;
+
+
+ mp_ecore_idler_del(view->queue_list_update_idler);
+ view->queue_list_update_idler =
+ ecore_idler_add(_mp_player_view_queue_list_update_idler_cb, view);
+}
+
+static Eina_Bool _mp_player_view_queue_list_show_title_idler(void *data)
+{
+ startfunc;
+ MpPlayerView_t *view = (MpPlayerView_t *) data;
+ MP_CHECK_FALSE(view);
+ MP_CHECK_FALSE(view->player_view_layout);
+
+ Evas_Object *queue_title_list =
+ elm_object_part_content_get(view->player_view_layout,
+ "queue_list_area");
+ MP_CHECK_FALSE(queue_title_list);
+ edje_object_signal_emit(_EDJ(queue_title_list), "SHOW_QUEUE_TITLE",
+ "music_app");
+
+ view->queue_title_idler = NULL;
+ return ECORE_CALLBACK_DONE;
+}
+
+static void _mp_player_view_create_queue_list_transit(void *data)
+{
+ startfunc;
+ MpPlayerView_t *view = (MpPlayerView_t *) data;
+ MP_CHECK(view);
+ CHECK_VIEW(view);
+
+ mp_ecore_idler_del(view->queue_list_update_idler);
+
+ Evas_Object *queue_title_list =
+ elm_object_part_content_get(view->player_view_layout,
+ "queue_list_area");
+ MP_CHECK(queue_title_list);
+ /*hide temporarily to avoid title blink when zooming, show title in idler */
+ edje_object_signal_emit(_EDJ(queue_title_list), "HIDE_QUEUE_TITLE",
+ "music_app");
+
+ int p_y, y, w, h;
+ evas_object_geometry_get(view->player_view_layout, NULL, &p_y, NULL,
+ NULL);
+ edje_object_part_geometry_get(_EDJ(view->player_view_layout),
+ "queue_list_area", NULL, &y, &w, &h);
+ y += p_y;
+
+ Elm_Transit *trans;
+ trans = elm_transit_add();
+ elm_transit_object_add(trans, queue_title_list);
+ elm_transit_effect_translation_add(trans, 0, y + h, 0, y);
+ elm_transit_objects_final_state_keep_set(trans, EINA_TRUE);
+ elm_transit_tween_mode_set(trans, ELM_TRANSIT_TWEEN_MODE_ACCELERATE);
+ elm_transit_duration_set(trans, PLAYER_VIEW_TRANSIT_INTERVAL);
+ elm_transit_smooth_set(trans, EINA_TRUE);
+ elm_transit_go(trans);
+ elm_transit_del_cb_set(trans,
+ _mp_player_view_create_queue_list_transit_del_cb,
+ data);
+
+ view->trans_queue_list = trans;
+ view->queue_title_idler =
+ ecore_idler_add(_mp_player_view_queue_list_show_title_idler, view);
+}
+
+static void _mp_player_view_refresh_current_count_info(Evas_Object *
+ layout)
+{
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ MP_CHECK(ad->playlist_mgr);
+ int track_count = 0;
+ int current_index = 0;
+ char *str_count = NULL;
+ char *str_current = NULL;
+
+ track_count = mp_playlist_mgr_count(ad->playlist_mgr);
+ current_index = mp_playlist_mgr_get_normal_index(ad->playlist_mgr);
+ if (track_count == 1) {
+ str_count = g_strdup(GET_STR(STR_MP_1_SONG));
+ } else {
+ str_count = g_strdup_printf(GET_STR(STR_MP_PD_SONGS), track_count);
+ }
+
+ str_current =
+ g_strdup_printf("%d / %d", (current_index + 1), track_count);
+
+ elm_object_part_text_set(layout, "track_count", str_current);
+ elm_object_part_text_set(layout, "track_current", str_count);
+
+ IF_FREE(str_count);
+ IF_FREE(str_current);
+ return;
+}
+
+static void _mp_player_view_refresh_queue_list(void *data)
+{
+ startfunc;
+ MpPlayerView_t *view = (MpPlayerView_t *) data;
+ MP_CHECK(view);
+ CHECK_VIEW(view);
+ MP_CHECK(view->player_view_layout);
+ Evas_Object *queue_title_list = NULL;
+ if (!view->queue_list) {
+ queue_title_list =
+ mp_common_load_edj(view->player_view_layout,
+ PLAY_VIEW_EDJ_NAME, "queue_title_list");
+ MP_CHECK(queue_title_list);
+ MpNowPlayingList_t *list =
+ mp_now_playing_list_create(view->player_view_layout);
+ MP_CHECK(list);
+ mp_now_playing_list_set_data(list,
+ MP_NOW_PLAYING_LIST_ATTR_HIGHLIGHT_CURRENT,
+ true, -1);
+ view->queue_list = (void *) list;
+ elm_object_part_content_set(queue_title_list, "queue_list_content",
+ ((MpList_t *) view->queue_list)->
+ layout);
+ elm_object_part_content_set(view->player_view_layout,
+ "queue_list_area", queue_title_list);
+ evas_object_show(((MpList_t *) view->queue_list)->layout);
+ mp_list_update((MpList_t *) view->queue_list);
+ mp_now_playing_list_current_item_show((MpNowPlayingList_t *) view->
+ queue_list);
+ } else {
+ queue_title_list =
+ elm_object_part_content_get(view->player_view_layout,
+ "queue_list_area");
+ MP_CHECK(queue_title_list);
+ }
+ view->queue_status = true;
+ _mp_player_view_set_queue_list_btn_icon(view);
+ _mp_player_view_refresh_current_count_info(queue_title_list);
+ edje_object_signal_emit(_EDJ(view->player_view_layout),
+ "SHOW_QUEUE_LIST", "music_app");
+ endfunc;
+}
+
+static void _mp_player_view_create_queue_list(void *data)
+{
+ startfunc;
+ MpPlayerView_t *view = (MpPlayerView_t *) data;
+ MP_CHECK(view);
+ CHECK_VIEW(view);
+ MP_CHECK(view->player_view_layout);
+
+ Evas_Object *queue_title_list =
+ mp_common_load_edj(view->player_view_layout, PLAY_VIEW_EDJ_NAME,
+ "queue_title_list");
+ MP_CHECK(queue_title_list);
+
+ if (!view->queue_list) {
+ MpNowPlayingList_t *list =
+ mp_now_playing_list_create(view->player_view_layout);
+ MP_CHECK(list);
+ mp_now_playing_list_set_data(list,
+ MP_NOW_PLAYING_LIST_ATTR_HIGHLIGHT_CURRENT,
+ true, -1);
+ view->queue_list = (void *) list;
+ }
+ view->queue_status = true;
+ elm_object_part_content_set(queue_title_list, "queue_list_content",
+ ((MpList_t *) view->queue_list)->layout);
+ elm_object_part_content_set(view->player_view_layout,
+ "queue_list_area", queue_title_list);
+ _mp_player_view_refresh_current_count_info(queue_title_list);
+ evas_object_show(((MpList_t *) view->queue_list)->layout);
+ /*mp_list_update((MpList_t *)view->queue_list); */
+ edje_object_signal_emit(_EDJ(view->player_view_layout),
+ "SHOW_QUEUE_LIST", "music_app");
+ /*mp_now_playing_list_current_item_show((MpNowPlayingList_t *)view->queue_list); */
+
+ _mp_player_view_create_queue_list_transit(view);
+
+ endfunc;
+}
+
+static void _mp_player_view_set_queue_list_btn_icon(void *data)
+{
+ startfunc;
+ MpPlayerView_t *view = (MpPlayerView_t *) data;
+ const char *path = NULL;
+ const char *group = NULL;
+
+ MP_CHECK(view);
+ CHECK_VIEW(view);
+ MP_CHECK(view->option_button[OPTION_QUEUE]); /*view->queue_button */
+ MP_CHECK(view->queue_list);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ Evas_Object *image = elm_object_part_content_get(view->option_button[OPTION_QUEUE], "icon"); /*view->queue_button */
+ elm_object_style_set(view->option_button[OPTION_QUEUE],
+ "music/control_queue_thumbnail");
+ MP_CHECK(image);
+ elm_image_fill_outside_set(image, EINA_TRUE);
+ elm_image_file_get(image, &path, &group);
+
+ char default_thumbnail[1024] = { 0 };
+ char *shared_path = app_get_shared_resource_path();
+ snprintf(default_thumbnail, 1024, "%s%s/%s", shared_path,
+ "shared_images", PLAYER_VIEW_DETAULT_ALBUM_IMAGE);
+ free(shared_path);
+
+ if (ad->current_track_info && mp_util_is_image_valid(ad->evas,
+ ad->
+ current_track_info->
+ thumbnail_path)
+ && strcmp(ad->current_track_info->thumbnail_path,
+ BROKEN_ALBUMART_IMAGE_PATH)) {
+ if (!g_strcmp0(path, ad->current_track_info->thumbnail_path)) {
+ return;
+ }
+ elm_image_file_set(image, ad->current_track_info->thumbnail_path,
+ NULL);
+ } else {
+ if (!g_strcmp0(path, default_thumbnail)) {
+ return;
+ }
+ elm_image_file_set(image, default_thumbnail, NULL);
+ }
+
+ endfunc;
+}
+
+static void _mp_player_view_update_control_queue_list_btn(void *data)
+{
+ startfunc;
+ MpPlayerView_t *view = (MpPlayerView_t *) data;
+ MP_CHECK(view);
+ CHECK_VIEW(view);
+ MP_CHECK(view->navi_it);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ Evas_Object *image =
+ elm_object_content_get(view->option_button[OPTION_QUEUE]);
+
+ char mp_image_path[1024] = { 0 };
+ char *path = app_get_resource_path();
+ if (path == NULL) {
+ return;
+ }
+ snprintf(mp_image_path, 1024, "%s%s/%s", path, "edje", IMAGE_EDJ_NAME);
+ free(path);
+
+ if (view->queue_list) {
+ DEBUG_TRACE("queue list create");
+ elm_object_style_set(view->option_button[OPTION_QUEUE],
+ "music/control_queue_thumbnail");
+ if (ad->current_track_info
+ && mp_util_is_image_valid(ad->evas,
+ ad->current_track_info->
+ thumbnail_path)
+ && strcmp(ad->current_track_info->thumbnail_path,
+ BROKEN_ALBUMART_IMAGE_PATH)) {
+ elm_image_file_set(image,
+ ad->current_track_info->thumbnail_path,
+ NULL);
+ } else {
+ char default_thumbnail[1024] = { 0 };
+ char *shared_path = app_get_shared_resource_path();
+ snprintf(default_thumbnail, 1024, "%s%s/%s", shared_path,
+ "shared_images", PLAYER_VIEW_DETAULT_ALBUM_IMAGE);
+ free(shared_path);
+ elm_image_file_set(image, default_thumbnail, NULL);
+ }
+ elm_image_fill_outside_set(image, EINA_TRUE);
+ } else {
+ DEBUG_TRACE("no queue list");
+ elm_object_style_set(view->option_button[OPTION_QUEUE],
+ "music/control_queue");
+ elm_image_file_set(image, mp_image_path, MP_ICON_PLAY_LIST_PATH);
+ }
+ endfunc;
+}
+
+static void _mp_player_view_control_queue_list_btn_clicked(void *data,
+ Evas_Object *
+ obj,
+ void
+ *event_info)
+{
+ startfunc;
+ MpPlayerView_t *view = (MpPlayerView_t *) data;
+ MP_CHECK(view);
+ CHECK_VIEW(view);
+ MP_CHECK(!view->trans_queue_list);
+
+ if (!view->queue_list) {
+ _mp_player_view_create_queue_list(view);
+ } else {
+ _mp_player_view_destroy_queue_list(view);
+ }
+ _mp_player_view_update_control_queue_list_btn(view);
+
+ endfunc;
+}
+
+Evas_Object *_mp_player_view_create_control_queue_icon_btn(Evas_Object *
+ parent,
+ const char
+ *file,
+ const char
+ *group,
+ Evas_Smart_Cb
+ func,
+ void *data)
+{
+ Evas_Object *ic;
+ Evas_Object *btn = elm_button_add(parent);
+ if (!btn) {
+ return NULL;
+ }
+ elm_object_style_set(btn, "music/control_queue");
+
+ ic = elm_icon_add(parent);
+ char mp_image_path[1024] = { 0 };
+ char *path = app_get_resource_path();
+ if (path == NULL) {
+ return NULL;
+ }
+ snprintf(mp_image_path, 1024, "%s%s/%s", path, "edje", file);
+ EVENT_TRACE("path of IMAGE_EDJ_NAME is %s", file);
+ free(path);
+ elm_image_file_set(ic, mp_image_path, group);
+
+ evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1,
+ 1);
+ elm_image_resizable_set(ic, EINA_TRUE, EINA_TRUE);
+ elm_object_content_set(btn, ic);
+
+ evas_object_smart_callback_add(btn, "clicked", func, data);
+
+ evas_object_show(btn);
+ return btn;
+}
+
+static void _mp_player_view_create_control_queue_btn(void *data)
+{
+ startfunc;
+ MpPlayerView_t *view = (MpPlayerView_t *) data;
+ MP_CHECK(view);
+ MP_CHECK(view->layout);
+ view->option_button[OPTION_QUEUE] =
+ _mp_player_view_create_control_queue_icon_btn(view->
+ player_view_option_layout,
+ IMAGE_EDJ_NAME,
+ MP_ICON_PLAY_LIST_PATH,
+ _mp_player_view_control_queue_list_btn_clicked,
+ view);
+ MP_CHECK(view->option_button[OPTION_QUEUE]);
+
+ evas_object_show(view->option_button[OPTION_QUEUE]);
+ elm_object_part_content_set(view->player_view_option_layout,
+ "options_queue",
+ view->option_button[OPTION_QUEUE]);
+
+ mp_util_domain_translatable_part_text_set(view->
+ player_view_option_layout,
+ "queue_text",
+ STR_PLAYER_VIEW_QUEUE);
+ endfunc;
+}
+#endif
+
+static void _mp_player_view_update_snd_button_state(void *data)
+{
+ MpPlayerView_t *view = data;
+ if (!view) {
+ return;
+ }
+
+ MP_CHECK(view->snd_button);
+ if (mp_util_mirroring_is_connected()) {
+ elm_object_disabled_set(view->snd_button, EINA_TRUE);
+ } else {
+ elm_object_disabled_set(view->snd_button, EINA_FALSE);
+ }
+}
+
+/*Replaced for _prod dependency*/
+void mp_player_view_set_snd_path_sensitivity(void *data)
+{
+ startfunc;
+ MpPlayerView_t *view = data;
+ MP_CHECK(view);
+ CHECK_VIEW(view);
+
+ if (view->snd_button) {
+ elm_object_item_part_content_unset(view->inner_navi_it,
+ "title_right_btn");
+ mp_evas_object_del(view->snd_button);
+ }
+
+ view->available_route = 0;
+ view->available_route_count = 1; /*speaker or headphone */
+ WARN_TRACE("Enter sound_manager_foreach_available_route");
+
+ sound_device_h device;
+ sound_device_type_e type;
+ sound_device_list_h g_device_list = NULL;
+ sound_device_mask_e g_device_mask = SOUND_DEVICE_IO_DIRECTION_OUT_MASK;
+ WARN_TRACE("Enter sound_manager_get_active_device");
+ int ret = SOUND_MANAGER_ERROR_NONE;
+ if ((ret =
+ sound_manager_get_device_list(g_device_mask,
+ &g_device_list))) {
+ ERROR_TRACE("sound_manager_get_active_device()... [0x%x]", ret);
+ }
+
+ while (!(ret = sound_manager_get_next_device(g_device_list, &device))) {
+ ERROR_TRACE("success to get next device\n");
+ if ((ret = sound_manager_get_device_type(device, &type))) {
+ ERROR_TRACE("failed to get device type, ret[0x%x]\n", ret);
+ }
+ switch (type) {
+ case SOUND_DEVICE_BUILTIN_SPEAKER:
+ DEBUG_TRACE("SOUND_DEVICE_BUILTIN_SPEAKER");
+ view->available_route |= MP_SND_PATH_SPEAKER;
+ break;
+ case SOUND_DEVICE_AUDIO_JACK:
+ DEBUG_TRACE("SOUND_DEVICE_AUDIO_JACK");
+ view->available_route |= MP_SND_PATH_EARPHONE;
+ break;
+ case SOUND_DEVICE_BLUETOOTH_MEDIA:
+ DEBUG_TRACE("SOUND_DEVICE_BLUETOOTH");
+ view->available_route |= MP_SND_PATH_BT;
+ view->available_route_count++;
+ break;
+ case SOUND_DEVICE_HDMI:
+ DEBUG_TRACE("SOUND_DEVICE_HDMI");
+ view->available_route |= MP_SND_PATH_HDMI;
+ view->available_route_count++;
+ break;
+ case SOUND_DEVICE_FORWARDING:
+ DEBUG_TRACE("SOUND_DEVICE_MIRRORING");
+ view->available_route |= MP_SND_PATH_MIRRORING;
+ view->available_route_count++;
+ break;
+ case SOUND_DEVICE_USB_AUDIO:
+ DEBUG_TRACE("SOUND_DEVICE_USB_AUDIO");
+ view->available_route |= MP_SND_PATH_USB_AUDIO;
+ view->available_route_count++;
+ break;
+ default:
+ break;
+ }
+ }
+ WARN_TRACE("Leave sound_manager_foreach_available_route");
+
+ if (view->available_route_count < 2) {
+ return;
+ }
+
+ mp_snd_path snd_path;
+ mp_util_get_sound_path(&snd_path);
+ DEBUG_TRACE("snd_path=%d", snd_path);
+ MP_CHECK(view->snd_button);
+ evas_object_show(view->snd_button);
+ elm_object_item_part_content_set(view->inner_navi_it,
+ "title_right_btn", view->snd_button);
+ _mp_player_view_update_snd_button_state(view);
+}
+
+/*Replaced for _prod dependency end*/
+
+#ifndef MP_SOUND_PLAYER
+static char *_mp_player_view_get_fid_by_handle(mp_media_info_h record)
+{
+ MP_CHECK_NULL(record);
+
+ char *fid = NULL;
+
+ mp_media_info_get_media_id(record, &fid);
+
+ return fid;
+}
+
+static void
+_mp_player_view_add_playlist_create_select_cb(void *data,
+ Evas_Object * obj,
+ void *event_info)
+{
+ startfunc;
+
+ MpPlayerView_t *view = (MpPlayerView_t *) data;
+ MP_CHECK(view);
+ CHECK_VIEW(view);
+
+ mp_evas_object_del(obj);
+
+ int response = (int) event_info;
+ MP_CHECK(response);
+
+ Mp_Playlist_Data *mp_playlist_data =
+ mp_edit_playlist_create(MP_PLST_CREATE);
+ MP_CHECK(mp_playlist_data);
+ mp_edit_playlist_set_media_id(mp_playlist_data,
+ _mp_player_view_get_fid_by_handle(view->
+ add_to_plst_handle));
+ mp_edit_playlist_content_create(mp_playlist_data);
+
+ endfunc;
+}
+
+static void
+_mp_player_view_add_playlist_select_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ EVENT_TRACE();
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ int ret = 0;
+ int playlist_id = -1;
+
+ MP_CHECK(data);
+
+ mp_media_info_h item_handler = data;
+
+ Popup_genlist_item *gli_data = elm_object_item_data_get(event_info);
+ if (!gli_data) {
+ return;
+ }
+ mp_media_info_h plst = gli_data->item_data;
+
+ char *playlist_name = NULL;
+ int item_count = 0;
+ ret = mp_media_info_group_get_main_info(plst, &playlist_name);
+ ret = mp_media_info_group_get_playlist_id(plst, &playlist_id);
+
+ mp_media_info_list_count(MP_TRACK_BY_PLAYLIST, NULL, NULL, NULL,
+ playlist_id, &item_count);
+
+#ifdef MP_PLAYLIST_MAX_ITEM_COUNT
+ if (item_count > MP_PLAYLIST_MAX_ITEM_COUNT) {
+ char *fmt_str =
+ GET_STR("IDS_MUSIC_POP_UNABLE_TO_ADD_MORE_THAN_PD_MUSIC_FILE");
+ char *noti_str =
+ g_strdup_printf(fmt_str, MP_PLAYLIST_MAX_ITEM_COUNT);
+ mp_util_post_status_message(ad, noti_str);
+ IF_FREE(noti_str);
+ goto END;
+ }
+#endif
+
+ mp_retm_if(ret != 0, "Fail to get value");
+
+ bool result = false;
+
+ char *fid = _mp_player_view_get_fid_by_handle(item_handler);
+ result = mp_util_add_to_playlist_by_key(playlist_id, fid);
+
+ if (result) {
+ mp_debug("sucess add to play list");
+
+ MpView_t *view = NULL;
+ view = (MpView_t *) mp_playlist_detail_view_create(GET_NAVIFRAME,
+ MP_TRACK_BY_PLAYLIST,
+ playlist_name,
+ playlist_id);
+ mp_view_mgr_push_view(GET_VIEW_MGR, view, NULL);
+ mp_view_update_options(view);
+ mp_view_set_title(view, playlist_name);
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_ADD_TO_PLAYLIST_DONE);
+
+ } else {
+ mp_debug("fail add to play list");
+#ifdef MP_PLAYLIST_MAX_ITEM_COUNT
+ char *fmt_str =
+ GET_STR("IDS_MUSIC_POP_UNABLE_TO_ADD_MORE_THAN_PD_MUSIC_FILE");
+ char *noti_str =
+ g_strdup_printf(fmt_str, MP_PLAYLIST_MAX_ITEM_COUNT);
+ mp_util_post_status_message(ad, noti_str);
+ IF_FREE(noti_str);
+#else
+ mp_util_post_status_message(ad,
+ GET_STR
+ ("IDS_MUSIC_POP_UNABLE_TO_ADD"));
+#endif
+ }
+
+#ifdef MP_PLAYLIST_MAX_ITEM_COUNT
+ END:
+#endif
+
+ mp_popup_destroy(ad);
+ return;
+}
+
+static void _mp_player_view_popup_del_cb(void *data, Evas * e,
+ Evas_Object * eo,
+ void *event_info)
+{
+ mp_media_list_h list = data;
+ mp_media_info_group_list_destroy(list);
+}
+
+static void _ctxpopup_add_to_playlist_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ EVENT_TRACE();
+
+ MpPlayerView_t *view = (MpPlayerView_t *) data;
+ MP_CHECK(view);
+ CHECK_VIEW(view);
+ mp_evas_object_del(view->more_btn_ctxpopup);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ mp_plst_item *item = mp_playlist_mgr_get_current(ad->playlist_mgr);
+ MP_CHECK(item);
+
+ if (view->add_to_plst_handle) {
+ mp_media_info_destroy(view->add_to_plst_handle);
+ view->add_to_plst_handle = NULL;
+ }
+ mp_media_info_create(&view->add_to_plst_handle, item->uid);
+
+
+ mp_media_info_h handle = view->add_to_plst_handle;
+
+ Evas_Object *popup = NULL;
+
+ popup = mp_genlist_popup_create(obj, MP_POPUP_ADD_TO_PLST, ad, ad);
+ MP_CHECK(popup);
+
+ int ret = 0;
+ int i = 0, count = -1, err = -1;
+
+ /*mp_genlist_popup_item_append(popup, GET_STR("IDS_MUSIC_OPT_CREATE_PLAYLIST"), NULL, NULL, NULL, _mp_player_view_add_playlist_create_select_cb, handle); */
+ mp_popup_response_callback_set(popup,
+ _mp_player_view_add_playlist_create_select_cb,
+ view);
+
+ err =
+ mp_media_info_group_list_count(MP_GROUP_BY_PLAYLIST, NULL, NULL,
+ &count);
+
+ if ((err != 0) || (count < 0)) {
+ ERROR_TRACE("Error in mp_media_info_group_list_count (%d)\n", err);
+ return;
+ }
+
+ if (count) {
+ mp_media_list_h playlists = NULL; /*must be free */
+
+ ret =
+ mp_media_info_group_list_create(&playlists,
+ MP_GROUP_BY_PLAYLIST, NULL,
+ NULL, 0, count);
+ mp_retm_if(ret != 0, "Fail to get playlist");
+ evas_object_event_callback_add(popup, EVAS_CALLBACK_DEL,
+ _mp_player_view_popup_del_cb,
+ playlists);
+
+ for (i = 0; i < count; i++) {
+ /* it should be released in a proper place */
+ mp_media_info_h plst = NULL;
+ char *name = NULL;
+ plst = mp_media_info_group_list_nth_item(playlists, i);
+ mp_retm_if(!plst, "Fail to get item");
+
+ ret = mp_media_info_group_get_main_info(plst, &name);
+ mp_retm_if(ret != 0, "Fail to get value");
+
+ mp_genlist_popup_item_append(popup, name, NULL, NULL, plst,
+ _mp_player_view_add_playlist_select_cb,
+ handle);
+ }
+
+ } else {
+ Elm_Object_Item *it =
+ mp_genlist_popup_item_append(popup,
+ GET_STR(STR_MP_NO_PLAYLISTS),
+ NULL, NULL, NULL, NULL, ad);
+ elm_genlist_item_select_mode_set(it,
+ ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+ }
+
+ evas_object_show(popup);
+
+ return;
+}
+#endif
+
+static void _ctxpopup_detail_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ EVENT_TRACE();
+ MpPlayerView_t *view = (MpPlayerView_t *) data;
+ MP_CHECK(view);
+ CHECK_VIEW(view);
+ mp_evas_object_del(view->more_btn_ctxpopup);
+
+ _mp_player_view_volume_popup_hide(view);
+ _mp_player_view_show_detail_view(view);
+}
+
+
+#ifndef MP_SOUND_PLAYER
+static void _ctxpopup_setting_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ EVENT_TRACE();
+ MpPlayerView_t *view = (MpPlayerView_t *) data;
+ MP_CHECK(view);
+ CHECK_VIEW(view);
+ mp_evas_object_del(view->more_btn_ctxpopup);
+
+ _mp_player_view_volume_popup_hide(view);
+ mp_music_viewas_pop_cb();
+}
+
+static void _mp_player_view_queue_add_to_playlist_cb(void *data,
+ Evas_Object * obj,
+ void *event_info)
+{
+ eventfunc;
+
+ MpPlayerView_t *view = (MpPlayerView_t *) data;
+ MP_CHECK(view);
+
+ mp_evas_object_del(view->more_btn_ctxpopup);
+
+#ifdef MP_FEATURE_PERSONAL_PAGE
+ MpEditView_t *edit_view =
+ mp_edit_view_create(GET_NAVIFRAME, (MpList_t *) (view->queue_list),
+ false,
+ MP_EDIT_VIEW_PERSONAL_PAGE_NONE);
+ if (edit_view == NULL) {
+ return;
+ }
+#else
+ MpEditView_t *edit_view =
+ mp_edit_view_create(GET_NAVIFRAME, (MpList_t *) (view->queue_list),
+ false);
+#endif
+ MP_CHECK(edit_view);
+ edit_view->list_mode = MP_EDIT_VIEW_EDIT;
+ edit_view->content_to_show->reorderable = 0;
+ edit_view->create_playlist = true;
+ mp_view_mgr_push_view(GET_VIEW_MGR, (MpView_t *) edit_view, NULL);
+ mp_view_update((MpView_t *) edit_view);
+ mp_view_update_options((MpView_t *) edit_view);
+ mp_view_set_title((MpView_t *) edit_view, STR_MP_TILTE_SELECT_ITEM);
+ mp_list_view_set_select_all((MpListView_t *) edit_view, true);
+ mp_list_view_set_done_btn((MpListView_t *) edit_view, true,
+ MP_DONE_ADD_TO_TYPE);
+ mp_list_view_set_cancel_btn((MpListView_t *) edit_view, true);
+}
+
+static void
+_mp_player_view_add_cover_view_options(MpPlayerView_t * view,
+ mp_track_info_t * track_info,
+ bool playable)
+{
+ /*enable set as only it's local file */
+
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_ADD_TO_PLAYLIST,
+ MP_PLAYER_MORE_BTN_ADD_TO_PLAYLSIT_IMAGE,
+ _ctxpopup_add_to_playlist_cb, view);
+
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_DELETE,
+ MP_PLAYER_MORE_BTN_DELETE_IMAGE,
+ mp_common_track_delete_cb, view);
+
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_DETAILS,
+ MP_PLAYER_MORE_BTN_DETAIL_IMAGE,
+ _ctxpopup_detail_cb, view);
+
+#ifndef MP_FEATURE_NO_END
+ /*End */
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_END, MP_PLAYER_MORE_BTN_VIEW_END,
+ mp_common_ctxpopup_end_cb, view);
+#endif
+}
+
+static void _mp_player_view_add_radio_view_options(MpPlayerView_t * view)
+{
+
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_DETAILS,
+ MP_PLAYER_MORE_BTN_CONN_INFO,
+ _ctxpopup_detail_cb, view);
+}
+
+static void
+_mp_player_view_add_queue_list_options(MpPlayerView_t * view,
+ bool playable)
+{
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ mp_track_info_t *track_info = ad->current_track_info;
+ MP_CHECK(track_info);
+
+ if (mp_list_get_editable_count
+ ((MpList_t *) view->queue_list, MP_LIST_EDIT_TYPE_NORMAL)) {
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_ADD_TO_PLAYLIST,
+ MP_PLAYER_MORE_BTN_ADD_TO_PLAYLSIT_IMAGE,
+ _mp_player_view_queue_add_to_playlist_cb,
+ view);
+ }
+
+ /*_append_group_play_option(view, track_info, playable);*/
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_DELETE,
+ MP_PLAYER_MORE_BTN_DELETE_IMAGE,
+ mp_common_track_delete_cb, view);
+
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_DETAILS,
+ MP_PLAYER_MORE_BTN_CONN_INFO,
+ _ctxpopup_detail_cb, view);
+
+ /*mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_SETTINGS, MP_PLAYER_MORE_BTN_SETTING, _ctxpopup_setting_cb, view); */
+
+#ifndef MP_FEATURE_NO_END
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_END, MP_PLAYER_MORE_BTN_VIEW_END,
+ mp_common_ctxpopup_end_cb, view);
+#endif
+}
+#endif
+
+void _mp_player_view_ctxpopup_end_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ eventfunc;
+ MP_CHECK(data);
+ MpView_t *view = data;
+ MP_CHECK(view);
+ mp_evas_object_del(view->more_btn_ctxpopup);
+ elm_exit();
+}
+
+static void _mp_player_view_more_button_clicked_cb(void *data,
+ Evas_Object * obj,
+ void *event_info)
+{
+ startfunc;
+ MpPlayerView_t *view = (MpPlayerView_t *) data;
+ MP_CHECK(view);
+ CHECK_VIEW(view);
+
+ mp_evas_object_del(view->more_btn_ctxpopup);
+
+ view->more_btn_ctxpopup = mp_common_create_more_ctxpopup(view);
+ MP_CHECK(view->more_btn_ctxpopup);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ mp_track_info_t *track_info = ad->current_track_info;
+ MP_CHECK(track_info);
+
+
+
+#ifndef MP_SOUND_PLAYER
+ /*music player more option */
+ bool playable = mp_util_file_playable(track_info->uri);
+ if (view->queue_list) {
+ _mp_player_view_add_queue_list_options(view, playable);
+ } else {
+ if (view->launch_type == MP_PLAYER_NORMAL) {
+ _mp_player_view_add_cover_view_options(view, track_info,
+ playable);
+ } else if (view->launch_type == MP_PLAYER_RADIO_PLAY) {
+ _mp_player_view_add_radio_view_options(view);
+ }
+ }
+#else
+ int count = 0;
+
+ if (!ad->samsung_link) {
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_DETAILS,
+ MP_PLAYER_MORE_BTN_CONN_INFO,
+ _ctxpopup_detail_cb, view);
+ count++;
+ }
+#ifndef MP_FEATURE_NO_END
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_END, MP_PLAYER_MORE_BTN_VIEW_END,
+ _mp_player_view_ctxpopup_end_cb, view);
+ count++;
+#endif
+
+ if (count == 0) {
+ mp_evas_object_del(view->more_btn_ctxpopup);
+ return;
+ }
+#endif
+ mp_util_more_btn_move_ctxpopup(view->more_btn_ctxpopup, obj);
+
+ evas_object_show(view->more_btn_ctxpopup);
+}
+
+
+static Evas_Object *_mp_player_view_create_toolbar_more_btn(Evas_Object *
+ parent,
+ Evas_Smart_Cb
+ func,
+ void *data)
+{
+ Evas_Object *btn = elm_button_add(parent);
+ if (!btn) {
+ return NULL;
+ }
+ evas_object_smart_callback_add(btn, "clicked", func, data);
+ return btn;
+}
+
+static Eina_Bool _mp_player_view_back_button_clicked_cb(void *data,
+ Elm_Object_Item *
+ it)
+{
+ startfunc;
+ MpPlayerView_t *view = (MpPlayerView_t *) data;
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_FALSE(ad);
+
+ ad->hide_player_view = true;
+
+ mp_evas_object_del(view->volume_popup);
+ CHECK_VIEW(view);
+#ifdef MP_SOUND_PLAYER
+ MP_CHECK_FALSE(view);
+
+ if (ad->exit_status == true) {
+ elm_exit();
+ }
+
+ if (ad->caller_win_id || ad->player_state == PLAY_STATE_NONE) {
+ elm_exit();
+ } else {
+ elm_win_lower(ad->win_main);
+ }
+
+ endfunc;
+ return EINA_FALSE;
+#else
+ MP_CHECK_VAL(view, EINA_TRUE);
+ mp_view_mgr_pop_view(GET_VIEW_MGR, false);
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_UPDATE_FAVORITE_LIST);
+ endfunc;
+ return EINA_TRUE;
+#endif
+}
+
+void mp_player_view_set_title(void *thiz)
+{
+ startfunc;
+ MpPlayerView_t *view = (MpPlayerView_t *) thiz;
+ MP_CHECK(view);
+ CHECK_VIEW(view);
+ MP_CHECK(view->navi_it);
+ MP_CHECK(view->inner_navi_it);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ /* set title and sub title */
+ char *title = NULL;
+ char *artist = NULL;
+
+ elm_naviframe_item_title_enabled_set(view->navi_it, EINA_FALSE,
+ EINA_FALSE);
+
+ if (ad->is_lcd_off) {
+ title = g_strdup("");
+ artist = g_strdup("");
+ } else {
+ title =
+ g_strdup_printf("%s",
+ (ad->current_track_info
+ && ad->current_track_info->title ? ad->
+ current_track_info->title : ""));
+ artist =
+ g_strdup_printf("%s",
+ (ad->current_track_info
+ && ad->current_track_info->artist ? ad->
+ current_track_info->
+ artist : GET_STR("IDS_COM_BODY_UNKNOWN")));
+ }
+
+
+ char *newtitle = elm_entry_utf8_to_markup(title);
+ char *newartist = elm_entry_utf8_to_markup(artist);
+
+ elm_object_part_text_set(view->player_view_layout,
+ "player_view_title_main", newtitle);
+ elm_object_part_text_set(view->player_view_layout,
+ "player_view_title_subtitle", newartist);
+
+ IF_G_FREE(newtitle);
+ IF_G_FREE(newartist);
+ IF_G_FREE(title);
+ IF_G_FREE(artist);
+}
+
+static void mp_player_view_set_title_and_buttons(void *thiz)
+{
+ startfunc;
+ MpPlayerView_t *view = (MpPlayerView_t *) thiz;
+ MP_CHECK(view);
+ CHECK_VIEW(view);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ /* set title and sub title */
+ mp_player_view_set_title(view);
+
+ if (view->launch_type == MP_PLAYER_NORMAL) {
+ /* Add Title Sound Path Button */
+ mp_player_view_set_snd_path_sensitivity(view);
+
+ /* Add Title Queue list Button */
+#ifndef MP_SOUND_PLAYER
+ /*_mp_player_view_create_queue_list_btn(view);*/
+#endif
+
+ /*int i = 0;
+ for (i = 0; i < MP_OPTION_MORE; i++)
+ mp_evas_object_del(view->toolbar_options[i]); */
+ Evas_Object *btn = NULL;
+ btn =
+ elm_object_item_part_content_unset(view->navi_it,
+ "toolbar_button1");
+ mp_evas_object_del(btn);
+ btn =
+ elm_object_item_part_content_unset(view->navi_it,
+ "toolbar_button2");
+ mp_evas_object_del(btn);
+ }
+
+ /* Add Title More Button */
+ bool playable = true;
+
+ if (ad->disable_detail_view) {
+ playable = false;
+ }
+
+ if (playable) {
+ Evas_Object *btn =
+ _mp_player_view_create_toolbar_more_btn(view->layout,
+ _mp_player_view_more_button_clicked_cb,
+ view);
+ elm_object_item_part_content_set(view->navi_it, "toolbar_more_btn",
+ btn);
+ }
+
+ /* Add back button */
+ elm_naviframe_item_pop_cb_set(view->navi_it,
+ _mp_player_view_back_button_clicked_cb,
+ view);
+
+
+ endfunc;
+}
+
+static void _mp_player_view_destory_cb(void *thiz)
+{
+ eventfunc;
+ MpPlayerView_t *view = thiz;
+ MP_CHECK(view);
+ CHECK_VIEW(view);
+
+ mp_evas_object_del(view->more_btn_ctxpopup);
+ mp_player_mgr_unset_seek_done_cb();
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ elm_object_signal_emit(ad->conformant,
+ "elm,state,virtualkeypad,enable", "");
+ MP_CHECK(ad->win_main);
+
+ if (view->start_on_transition_finish) {
+ DEBUG_TRACE("view destoryed before transition effect");
+ ad->paused_by_user = FALSE;
+ mp_play_new_file(ad, TRUE);
+ }
+
+ mp_popup_destroy(ad);
+ mp_view_fini((MpView_t *) view);
+
+ mp_ecore_timer_del(view->progressbar_timer);
+ mp_ecore_timer_del(view->volume_popup_timer);
+ /*mp_ecore_timer_del(view->asf_volume_popup_timer); */
+ mp_ecore_timer_del(view->stop_update_timer);
+ mp_ecore_idler_del(view->queue_title_idler);
+ mp_ecore_idler_del(view->queue_list_update_idler);
+
+ if (view->trans_queue_list) {
+ elm_transit_del(view->trans_queue_list);
+ view->trans_queue_list = NULL;
+ }
+ if (view->transit_done_timer) {
+ mp_play_item_play_current_item(ad);
+ mp_ecore_timer_del(view->transit_done_timer);
+ }
+ if (view->set_as_handle) {
+ mp_media_info_destroy(view->set_as_handle);
+ view->set_as_handle = NULL;
+ }
+ if (view->add_to_plst_handle) {
+ mp_media_info_destroy(view->add_to_plst_handle);
+ view->add_to_plst_handle = NULL;
+ }
+
+ view->player_view_magic = 0;
+ free(view);
+
+ mp_volume_key_event_callback_del();
+ mp_volume_key_grab_condition_set(MP_VOLUME_KEY_GRAB_COND_VIEW_VISIBLE,
+ false);
+}
+
+static int _mp_player_view_update_options(void *thiz)
+{
+ startfunc;
+
+ MpPlayerView_t *playing_view = (MpPlayerView_t *) thiz;
+ MP_CHECK_FALSE(playing_view);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_VAL(ad, -1);
+ mp_plst_item *item = mp_playlist_mgr_get_current(ad->playlist_mgr);
+ if (item == NULL) {
+ if (ad->current_track_info) {
+ mp_util_free_track_info(ad->current_track_info);
+ ad->current_track_info = NULL;
+ }
+ mp_view_mgr_pop_a_view(GET_VIEW_MGR, GET_PLAYER_VIEW);
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_UNSET_NOW_PLAYING);
+ if (ad->b_minicontroller_show) {
+ mp_minicontroller_hide(ad);
+ }
+#ifdef MP_FEATURE_LOCKSCREEN
+ if (ad->b_lockmini_show) {
+ mp_lockscreenmini_hide(ad);
+ }
+#endif
+ }
+ endfunc;
+ return TRUE;
+}
+
+#ifdef MP_IMAGE_ROTATE_FEATURE
+static void _mp_player_view_animation_set(MpPlayerView_t * playing_view,
+ bool playing)
+{
+ MP_CHECK(playing_view);
+ DEBUG_TRACE("view paused: %d, state: %d", playing_view->paused,
+ playing);
+
+ playing_view->imgId = 0;
+ if (NULL == playing_view->rotation_image) {
+ playing_view->rotation_image =
+ elm_image_add(playing_view->player_view_layout);
+ elm_image_file_set(playing_view->rotation_image, IMAGE_EDJ_NAME,
+ rotateimg[0]);
+ elm_object_part_content_set(playing_view->player_view_layout,
+ "album_turn_table",
+ playing_view->rotation_image);
+ }
+}
+#endif
+
+void mp_player_view_set_album_playing(void *thiz, bool playing)
+{
+ startfunc;
+ MpPlayerView_t *playing_view = (MpPlayerView_t *) thiz;
+ MP_CHECK(playing_view);
+ CHECK_VIEW(playing_view);
+ MP_CHECK(playing_view->player_view_layout);
+ if (playing_view->transition_state) {
+ DEBUG_TRACE("It is in transition status, do nothing");
+ return;
+ }
+ DEBUG_TRACE("playing=%d", playing);
+ if (playing) {
+ /*edje_object_signal_emit(_EDJ(playing_view->player_view_layout), "ALBUM_PLAING", "music_app"); */
+ edje_object_signal_emit(_EDJ(playing_view->player_view_layout),
+ "ALBUM_STOP", "music_app");
+ } else {
+ edje_object_signal_emit(_EDJ(playing_view->player_view_layout),
+ "ALBUM_STOP", "music_app");
+ }
+ /*p_player_view_animation_set(playing_view, playing); */
+ endfunc;
+}
+
+static void _mp_player_view_set_album_image(void *thiz)
+{
+ startfunc;
+ MpPlayerView_t *playing_view = (MpPlayerView_t *) thiz;
+ MP_CHECK(playing_view);
+ CHECK_VIEW(playing_view);
+ MP_CHECK(playing_view->player_view_layout);
+ int h = PLAYER_VIEW_ALBUM_SIZE, w = PLAYER_VIEW_ALBUM_SIZE;
+
+ Evas_Object *album_image =
+ elm_object_part_content_unset(playing_view->player_view_layout,
+ "album_image_temp");
+
+ if (!album_image) {
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ MP_CHECK(ad->current_track_info);
+ album_image =
+ _mp_player_view_create_album_image(playing_view->
+ player_view_layout,
+ ad->current_track_info->
+ thumbnail_path, h, w);
+ }
+
+ elm_object_part_content_set(playing_view->player_view_layout,
+ "album_image", album_image);
+
+ /* hide temp album area */
+ edje_object_signal_emit(elm_layout_edje_get
+ (playing_view->player_view_layout),
+ "set_temp_invsible", "album_area_temp");
+ endfunc;
+}
+
+static void _mp_player_view_set_content_info_icon(void *thiz)
+{
+ startfunc;
+ MpPlayerView_t *playing_view = (MpPlayerView_t *) thiz;
+ MP_CHECK(playing_view);
+ CHECK_VIEW(playing_view);
+ MP_CHECK(playing_view->player_view_layout);
+
+ Evas_Object *uha_icon =
+ elm_object_part_content_unset(playing_view->player_view_layout,
+ "uhq_icon_area");
+ mp_evas_object_del(uha_icon);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ MP_CHECK(ad->current_track_info);
+
+ bool uhqa = mp_util_media_is_uhqa(ad->current_track_info->media_id);
+ if (uhqa) {
+ uha_icon = elm_icon_add(playing_view->player_view_layout);
+ elm_image_file_set(uha_icon, IMAGE_EDJ_NAME, MP_PLAY_UHA_ICON);
+ elm_image_resizable_set(uha_icon, EINA_TRUE, EINA_TRUE);
+ elm_object_part_content_set(playing_view->player_view_layout,
+ "uhq_icon_area", uha_icon);
+ }
+}
+
+/* volume popup */
+static void _mp_player_view_volume_popup_hide(void *data)
+{
+ MpPlayerView_t *view = (MpPlayerView_t *) data;
+ MP_CHECK(view);
+ CHECK_VIEW(view);
+
+ mp_ecore_timer_del(view->volume_popup_timer);
+ mp_evas_object_del(view->volume_popup);
+}
+
+static Eina_Bool _mp_player_view_volume_widget_timer_cb(void *data)
+{
+ TIMER_TRACE();
+
+ startfunc;
+ MpPlayerView_t *view = data;
+ MP_CHECK_FALSE(view);
+ CHECK_VIEW(view);
+
+ _mp_player_view_volume_popup_hide(view);
+
+ return ECORE_CALLBACK_DONE;
+}
+
+static inline void
+_mp_player_view_volume_widget_hide_timer_start(MpPlayerView_t * view)
+{
+ startfunc;
+ MP_CHECK(view);
+ CHECK_VIEW(view);
+ mp_ecore_timer_del(view->volume_popup_timer);
+ view->volume_popup_timer =
+ ecore_timer_add(PLAYER_VIEW_VOLUME_WIDGET_HIDE_TIME,
+ _mp_player_view_volume_widget_timer_cb, view);
+}
+
+static void
+__mp_player_view_volume_popup_del_cb(void *data, Evas * e,
+ Evas_Object * obj, void *event_info)
+{
+ MpPlayerView_t *view = data;
+ MP_CHECK(view);
+ CHECK_VIEW(view);
+
+ view->volume_popup = NULL;
+ mp_ecore_timer_del(view->volume_popup_timer);
+ mp_volume_add_change_cb(NULL, NULL);
+ view->volume_popup_now_dragging = false;
+}
+
+static void _mp_player_view_volume_update(void *data)
+{
+ MpPlayerView_t *view = (MpPlayerView_t *) data;
+ MP_CHECK(view);
+ CHECK_VIEW(view);
+ int volume = mp_player_mgr_volume_get_current();
+ DEBUG_TRACE("volume:%d", volume);
+
+ if (volume > 0) {
+ edje_object_signal_emit(_EDJ(view->player_view_option_layout),
+ "options_volume_visible",
+ "options_volume");
+ edje_object_signal_emit(_EDJ(view->player_view_option_layout),
+ "options_volume_mute_invisible",
+ "options_volume_mute");
+ } else {
+ edje_object_signal_emit(_EDJ(view->player_view_option_layout),
+ "options_volume_invisible",
+ "options_volume");
+ edje_object_signal_emit(_EDJ(view->player_view_option_layout),
+ "options_volume_mute_visible",
+ "options_volume_mute");
+ }
+ mp_util_domain_translatable_part_text_set(view->
+ player_view_option_layout,
+ "volume_text",
+ STR_PLAYER_VIEW_VOLUME);
+}
+
+static void
+__mp_player_view_volume_widget_event_cb(void *data, Evas_Object * obj,
+ volume_widget_event_e event)
+{
+ startfunc;
+ MpPlayerView_t *view = data;
+ MP_CHECK(view);
+ CHECK_VIEW(view);
+
+ if (event == VOLUME_WIDGET_EVENT_DRAG_START) {
+ view->volume_popup_now_dragging = true;
+ mp_ecore_timer_del(view->volume_popup_timer);
+ } else if (event == VOLUME_WIDGET_EVENT_DRAG_STOP) {
+ view->volume_popup_now_dragging = false;
+ _mp_player_view_volume_widget_hide_timer_start(view);
+ }
+
+ _mp_player_view_volume_update(view);
+}
+
+static void _mp_player_view_volume_change_cb(int volume, void *user_data)
+{
+ MpPlayerView_t *view = user_data;
+ MP_CHECK(view);
+ CHECK_VIEW(view);
+
+ if (!view->volume_popup || view->volume_popup_now_dragging) {
+ return;
+ }
+
+ mp_debug("volume = %d", volume);
+ mp_player_volume_widget_set_val(view->volume_popup, volume);
+ _mp_player_view_volume_update(view);
+
+ if (volume != 0) {
+ view->unmute_vol = 0;
+ }
+
+ if (view->volume_popup_timer) {
+ /* re-start timer for voice control */
+ mp_ecore_timer_del(view->volume_popup_timer);
+ _mp_player_view_volume_widget_hide_timer_start(view);
+ }
+}
+
+static void _mp_player_view_volume_route_change(void *user_data)
+{
+ MpPlayerView_t *view = user_data;
+ MP_CHECK(view);
+ CHECK_VIEW(view);
+
+ int volume = mp_player_mgr_volume_get_current();
+
+ _mp_player_view_volume_change_cb(volume, user_data);
+}
+
+
+static void _mp_player_view_volume_popup_show(MpPlayerView_t * view)
+{
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ MP_CHECK(view);
+ CHECK_VIEW(view);
+ MP_CHECK(view->player_view_layout);
+
+ view->volume_popup_now_dragging = false;
+
+ view->volume_popup =
+ mp_player_volume_widget_add(view->player_view_layout);
+ elm_object_part_content_set(view->player_view_layout, "volume_popup",
+ view->volume_popup);
+ evas_object_event_callback_add(view->volume_popup, EVAS_CALLBACK_DEL,
+ __mp_player_view_volume_popup_del_cb,
+ view);
+ mp_player_volume_widget_event_callback_add(view->volume_popup,
+ __mp_player_view_volume_widget_event_cb,
+ view);
+
+ mp_volume_add_change_cb(_mp_player_view_volume_change_cb, view);
+
+ endfunc;
+}
+
+void mp_player_view_volume_popup_control(void *data, bool force_show)
+{
+ MpPlayerView_t *view = (MpPlayerView_t *) data;
+ MP_CHECK(view);
+ CHECK_VIEW(view);
+
+ if (view->volume_popup) {
+ if (force_show) {
+ _mp_player_view_volume_widget_hide_timer_start(view); /* restart timer */
+ } else {
+ _mp_player_view_volume_popup_hide(view);
+ }
+ } else {
+ _mp_player_view_volume_popup_show(view);
+ _mp_player_view_volume_widget_hide_timer_start(view);
+ }
+}
+
+static void
+_mp_player_view_volume_hw_key_cb(void *user_data, mp_volume_key_e key,
+ bool released)
+{
+ MpPlayerView_t *view = (MpPlayerView_t *) user_data;
+ MP_CHECK(view);
+ CHECK_VIEW(view);
+
+ mp_ecore_timer_del(view->volume_popup_timer);
+
+ if (released) {
+ _mp_player_view_volume_widget_hide_timer_start(view);
+ return;
+ }
+ if (!view->volume_popup) {
+ _mp_player_view_volume_popup_show(view);
+ }
+
+ if (view->volume_popup && !released) {
+ if (key == MP_VOLUME_KEY_DOWN) {
+ view->unmute_vol = 0;
+ mp_player_mgr_volume_down();
+ } else if (key == MP_VOLUME_KEY_UP) {
+ view->unmute_vol = 0;
+ mp_player_mgr_volume_up();
+ } else if (key == MP_VOLUME_KEY_MUTE) {
+ if (view->unmute_vol == 0) {
+ /*mute */
+ view->unmute_vol = mp_player_mgr_volume_get_current();
+ mp_player_mgr_volume_set(0);
+ } else {
+ /*unmute */
+ mp_player_mgr_volume_set(view->unmute_vol);
+ view->unmute_vol = 0;
+ }
+ }
+ }
+}
+
+#ifndef MP_SOUND_PLAYER
+static void _mp_player_view_set_shuffle_image(void *data,
+ int shuffle_state)
+{
+ MpPlayerView_t *view = (MpPlayerView_t *) data;
+ MP_CHECK(view);
+ CHECK_VIEW(view);
+ /*MP_CHECK(view->player_view_option_layout); */
+ MP_CHECK(view->player_view_control_layout);
+ if (shuffle_state) {
+ edje_object_signal_emit(_EDJ(view->player_view_control_layout),
+ "control_shuffle_on_visible",
+ "control_shuffle_on");
+ edje_object_signal_emit(_EDJ(view->player_view_control_layout),
+ "control_shuffle_off_invisible",
+ "control_shuffle_off");
+ } else {
+ edje_object_signal_emit(_EDJ(view->player_view_control_layout),
+ "control_shuffle_on_invisible",
+ "control_shuffle_on");
+ edje_object_signal_emit(_EDJ(view->player_view_control_layout),
+ "control_shuffle_off_visible",
+ "control_shuffle_off");
+ }
+ mp_util_domain_translatable_part_text_set(view->
+ player_view_control_layout,
+ "shuffle_text",
+ STR_PLAYER_VIEW_SHUFFLE);
+}
+#endif
+
+/*add favourite begin*/
+static void _mp_player_view_set_favourite_image(void *data,
+ int favourite_state)
+{
+ DEBUG_TRACE("favourite_state=%d", favourite_state);
+ MpPlayerView_t *view = (MpPlayerView_t *) data;
+ MP_CHECK(view);
+ CHECK_VIEW(view);
+
+ /*favourite button not exist in sound player */
+ Evas_Object *layout = view->player_view_layout;
+ MP_CHECK(layout);
+
+ if (favourite_state) {
+ edje_object_signal_emit(_EDJ(layout),
+ "options_favourite_on_visible",
+ "options_favourite_on");
+ edje_object_signal_emit(_EDJ(layout),
+ "options_favourite_off_invisible",
+ "options_favourite_off");
+ } else {
+ edje_object_signal_emit(_EDJ(layout),
+ "options_favourite_on_invisible",
+ "options_favourite_on");
+ edje_object_signal_emit(_EDJ(layout),
+ "options_favourite_off_visible",
+ "options_favourite_off");
+ }
+}
+
+/*add favourite end*/
+
+#ifndef MP_SOUND_PLAYER
+static void _mp_player_view_set_rep_image(void *data, int repeat_state)
+{
+ MpPlayerView_t *view = (MpPlayerView_t *) data;
+ MP_CHECK(view);
+ CHECK_VIEW(view);
+ MP_CHECK(view->player_view_control_layout);
+
+ if (repeat_state == MP_PLST_REPEAT_NONE) {
+ evas_object_show(view->control_button[CONTROL_REP_A]);
+ evas_object_hide(view->control_button[CONTROL_REP_1]);
+ evas_object_hide(view->control_button[CONTROL_REP_ALL]);
+
+ edje_object_signal_emit(_EDJ(view->player_view_control_layout),
+ "control_rep_A_visible", "control_rep_A");
+ edje_object_signal_emit(_EDJ(view->player_view_control_layout),
+ "control_rep_1_invisible",
+ "control_rep_1");
+ edje_object_signal_emit(_EDJ(view->player_view_control_layout),
+ "control_rep_all_invisible",
+ "control_rep_all");
+ } else if (repeat_state == MP_PLST_REPEAT_ONE) {
+ evas_object_hide(view->control_button[CONTROL_REP_A]);
+ evas_object_show(view->control_button[CONTROL_REP_1]);
+ evas_object_hide(view->control_button[CONTROL_REP_ALL]);
+ edje_object_signal_emit(_EDJ(view->player_view_control_layout),
+ "control_rep_A_invisible",
+ "control_rep_A");
+ edje_object_signal_emit(_EDJ(view->player_view_control_layout),
+ "control_rep_1_visible", "control_rep_1");
+ edje_object_signal_emit(_EDJ(view->player_view_control_layout),
+ "control_rep_all_invisible",
+ "control_rep_all");
+ } else if (repeat_state == MP_PLST_REPEAT_ALL) {
+ evas_object_hide(view->control_button[CONTROL_REP_A]);
+ evas_object_hide(view->control_button[CONTROL_REP_1]);
+ evas_object_show(view->control_button[CONTROL_REP_ALL]);
+ edje_object_signal_emit(_EDJ(view->player_view_control_layout),
+ "control_rep_A_invisible",
+ "control_rep_A");
+ edje_object_signal_emit(_EDJ(view->player_view_control_layout),
+ "control_rep_1_invisible",
+ "control_rep_1");
+ edje_object_signal_emit(_EDJ(view->player_view_control_layout),
+ "control_rep_all_visible",
+ "control_rep_all");
+ } else {
+ ERROR_TRACE("Error when set repeat\n");
+ }
+ mp_util_domain_translatable_part_text_set(view->
+ player_view_control_layout,
+ "repeat_text",
+ STR_PLAYER_VIEW_REPEAT);
+}
+#endif
+
+void mp_player_view_set_play_image(void *data, bool playing)
+{
+ MpPlayerView_t *view = (MpPlayerView_t *) data;
+ MP_CHECK(view);
+ CHECK_VIEW(view);
+ MP_CHECK(view->player_view_control_layout);
+
+ if (playing || view->start_on_transition_finish) {
+ edje_object_signal_emit(_EDJ(view->player_view_control_layout),
+ "control_play_visible", "control_play");
+ edje_object_signal_emit(_EDJ(view->player_view_control_layout),
+ "control_pause_invisible",
+ "control_pause");
+
+ } else {
+ edje_object_signal_emit(_EDJ(view->player_view_control_layout),
+ "control_play_invisible", "control_play");
+ edje_object_signal_emit(_EDJ(view->player_view_control_layout),
+ "control_pause_visible", "control_pause");
+ }
+}
+
+static void _mp_player_view_show_detail_view(MpPlayerView_t * view)
+{
+ MpViewMgr_t *view_mgr = GET_VIEW_MGR;
+ MP_CHECK(view_mgr);
+ MpView_t *detail_view =
+ (MpView_t *) mp_detail_view_create(view_mgr->navi);
+ mp_view_mgr_push_view_with_effect(view_mgr, detail_view, NULL, true);
+
+ mp_view_update(detail_view);
+}
+
+static void
+_mp_player_view_option_btn_click_cb(void *data, Evas_Object * obj,
+ const char *emission,
+ const char *source)
+{
+ startfunc;
+ mp_setting_set_nowplaying_id(getpid());
+ return;
+}
+
+static void _mp_player_view_progress_val_set(void *data, double position)
+{
+ MpPlayerView_t *view = (MpPlayerView_t *) data;
+ MP_CHECK(view);
+ CHECK_VIEW(view);
+ MP_CHECK(view->progress_box);
+ MP_CHECK(view->progress_bar);
+ edje_object_part_drag_value_set(_EDJ(view->progress_bar),
+ "progressbar_playing", position, 0.0);
+ return;
+}
+
+void mp_player_view_update_progressbar(void *data)
+{
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ MP_CHECK(!ad->is_lcd_off);
+
+ MpPlayerView_t *playing_view = data;
+ MP_CHECK(playing_view);
+ CHECK_VIEW(playing_view);
+ MP_CHECK(playing_view->progress_box);
+ MP_CHECK(playing_view->progress_bar);
+
+ /*INFO_TRACE("\npos = %f / length = %f\n", ad->music_pos, ad->music_length); */
+
+ char play_time[16] = { 0, };
+ char total_time[16] = { 0, };
+
+ double duration = ad->music_length;
+
+ if (duration > 0.) {
+ if (duration > 3600.) {
+ snprintf(total_time, sizeof(total_time), "%" MUSIC_TIME_FORMAT,
+ MUSIC_TIME_ARGS(duration));
+ snprintf(play_time, sizeof(play_time), "%" MUSIC_TIME_FORMAT,
+ MUSIC_TIME_ARGS(ad->music_pos));
+ } else {
+ snprintf(total_time, sizeof(total_time), "%" PLAY_TIME_FORMAT,
+ PLAY_TIME_ARGS(duration));
+ snprintf(play_time, sizeof(play_time), "%" PLAY_TIME_FORMAT,
+ PLAY_TIME_ARGS(ad->music_pos));
+ }
+ } else {
+ if (ad->current_track_info)
+ snprintf(total_time, sizeof(total_time), "%" PLAY_TIME_FORMAT,
+ PLAY_TIME_ARGS(ad->current_track_info->duration /
+ 1000.));
+ snprintf(play_time, sizeof(play_time), "%" PLAY_TIME_FORMAT,
+ PLAY_TIME_ARGS(ad->music_pos));
+ }
+
+ double played_ratio = 0.;
+ if (duration > 0. && ad->music_pos > 0.) {
+ played_ratio = ad->music_pos / duration;
+ }
+ if (played_ratio == 0) {
+ DEBUG_TRACE("ad->music_pos=%f, duration=%f", ad->music_pos,
+ duration);
+ }
+ _mp_player_view_progress_val_set(playing_view, played_ratio);
+
+ edje_object_part_text_set(_EDJ(playing_view->progress_box),
+ "progress_text_total", total_time);
+ edje_object_part_text_set(_EDJ(playing_view->progress_box),
+ "progress_text_playing", play_time);
+}
+
+void mp_player_view_progress_timer_thaw(void *data)
+{
+ startfunc;
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ MpPlayerView_t *playing_view = (MpPlayerView_t *) data;
+ MP_CHECK(playing_view);
+ CHECK_VIEW(playing_view);
+
+ if (ad->player_state == PLAY_STATE_PLAYING) {
+ if (playing_view->progressbar_timer) {
+ MP_TIMER_THAW(playing_view->progressbar_timer);
+ } else {
+ playing_view->progressbar_timer =
+ ecore_timer_add(0.1, _mp_player_view_update_progressbar_cb,
+ playing_view);
+ }
+
+ } else if (ad->player_state == PLAY_STATE_PAUSED) {
+ mp_player_view_update_progressbar(playing_view);
+ }
+}
+
+void mp_player_view_progress_timer_freeze(void *data)
+{
+ startfunc;
+ MpPlayerView_t *playing_view = (MpPlayerView_t *) data;
+ MP_CHECK(playing_view);
+ CHECK_VIEW(playing_view);
+
+ MP_TIMER_FREEZE(playing_view->progressbar_timer);
+}
+
+static void
+_mp_player_view_progressbar_down_cb(void *data, Evas * e,
+ Evas_Object * obj, void *event_info)
+{
+ startfunc;
+ if (data == NULL && obj == NULL && event_info == NULL) {
+ return;
+ }
+
+ evas_object_data_set(obj, "pressed", (void *) 1);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ DEBUG_TRACE("ad->player_state=%d", ad->player_state);
+
+ MpPlayerView_t *playing_view = (MpPlayerView_t *) data;
+ MP_CHECK(playing_view);
+ CHECK_VIEW(playing_view);
+
+ Evas_Event_Mouse_Down *ev = event_info;
+ Evas_Object *progressbar = obj;
+ int duration = 0, w = 0, current = 0, x = 0;
+ double ratio = 0.0;
+
+ playing_view->progressbar_dragging = true;
+
+ mp_player_view_progress_timer_freeze(playing_view);
+ evas_object_geometry_get(progressbar, &x, NULL, &w, NULL);
+ current = ev->canvas.x - x;
+
+ if (current < 0) {
+ current = 0;
+ } else if (current > w) {
+ current = w;
+ }
+
+ ratio = (double) current / w;
+
+ duration = mp_player_mgr_get_duration();
+
+ if (duration <= 0) {
+ mp_track_info_t *track_info = ad->current_track_info;
+ if (track_info) {
+ duration = track_info->duration;
+ }
+ }
+ ad->music_length = duration / 1000.;
+
+
+ ad->music_pos = ratio * ad->music_length;
+
+ if (playing_view->update_flag == true) { /* only collect position data when rotation does not start */
+ playing_view->update_pos = ad->music_pos;
+ }
+
+ mp_player_view_update_progressbar(playing_view);
+ endfunc;
+}
+
+static Eina_Bool _mp_player_view_update_progressbar_cb(void *data)
+{
+ TIMER_TRACE();
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_FALSE(ad);
+
+ MpPlayerView_t *playing_view = (MpPlayerView_t *) data;
+ MP_CHECK_FALSE(playing_view);
+
+ if (playing_view->progressbar_dragging) {
+ return ECORE_CALLBACK_RENEW;
+ }
+
+ if (ad->is_lcd_off
+ || mp_player_mgr_get_state() != PLAYER_STATE_PLAYING) {
+ playing_view->progressbar_timer = NULL;
+ return ECORE_CALLBACK_CANCEL;
+ }
+
+ static double prev_length = 0.;
+ double get_pos = 0.;
+
+ if (ad->player_state == PLAY_STATE_PLAYING
+ || ad->player_state == PLAY_STATE_PAUSED) {
+ if (ad->music_length <= 0) {
+ mp_track_info_t *track_info = ad->current_track_info;
+ ad->music_length = track_info->duration / 1000.0;
+ }
+
+ /*even if duration is 0, we need to update position for some streaming case
+ if ((ad->music_length) > 0) */
+ {
+ get_pos = mp_player_mgr_get_position() / 1000.0;
+ }
+
+ if (prev_length != ad->music_length || get_pos != ad->music_pos) {
+ prev_length = ad->music_length;
+ ad->music_pos = get_pos;
+
+ mp_player_view_update_progressbar(playing_view);
+ }
+ }
+
+ if (playing_view->progressbar_timer) {
+ ecore_timer_interval_set(playing_view->progressbar_timer, 0.5);
+ }
+
+ if (playing_view->lyric && ad->b_show_lyric) {
+ mp_lyric_sync_update(playing_view->lyric);
+ }
+
+ return ECORE_CALLBACK_RENEW;
+}
+
+void _mp_player_view_add_progress_timer(void *data)
+{
+ MpPlayerView_t *playing_view = (MpPlayerView_t *) data;
+ MP_CHECK(playing_view);
+ CHECK_VIEW(playing_view);
+
+ mp_ecore_timer_del(playing_view->progressbar_timer);
+
+ playing_view->progressbar_timer =
+ ecore_timer_add(0.1, _mp_player_view_update_progressbar_cb,
+ playing_view);
+ return;
+}
+
+static bool _mp_player_view_init_progress_bar(void *data)
+{
+ startfunc;
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_FALSE(ad);
+
+ MpPlayerView_t *playing_view = (MpPlayerView_t *) data;
+ MP_CHECK_FALSE(playing_view);
+
+ int pos = 0, duration = 0;
+ if (ad->start_pos > 0) {
+ pos = ad->start_pos;
+ DEBUG_TRACE("ad->start_pos %d", ad->start_pos);
+ } else {
+ pos = mp_player_mgr_get_position();
+ }
+ duration = mp_player_mgr_get_duration();
+ if (duration <= 0) {
+ mp_track_info_t *track_info = ad->current_track_info;
+ if (track_info) {
+ duration = track_info->duration;
+ }
+ }
+ ad->music_pos = pos / 1000.;
+ ad->music_length = duration / 1000.;
+ mp_player_view_update_progressbar(playing_view);
+ _mp_player_view_add_progress_timer(playing_view);
+
+ return true;
+}
+
+static void _mp_player_view_progressbar_seek_done_cb(void *data)
+{
+ startfunc;
+ MpPlayerView_t *playing_view = (MpPlayerView_t *) data;
+ MP_CHECK(playing_view);
+ CHECK_VIEW(playing_view);
+ MP_CHECK((int) playing_view == (int) GET_PLAYER_VIEW);
+
+ int pressed = 0;
+ if (playing_view->progress_bar) {
+ pressed =
+ (int) evas_object_data_get(playing_view->progress_bar,
+ "pressed");
+ }
+ if (!pressed) {
+ mp_player_view_progress_timer_thaw(playing_view);
+ }
+
+ mp_player_view_update_buffering_progress(playing_view, 100);
+}
+
+
+static void
+_mp_player_view_progressbar_up_cb(void *data, Evas * e, Evas_Object * obj,
+ void *event_info)
+{
+ startfunc;
+ if (data == NULL && obj == NULL && event_info == NULL) {
+ return;
+ }
+
+ evas_object_data_set(obj, "pressed", (void *) 0);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ DEBUG_TRACE("ad->player_state=%d", ad->player_state);
+
+ MpPlayerView_t *playing_view = (MpPlayerView_t *) data;
+ MP_CHECK(playing_view);
+ CHECK_VIEW(playing_view);
+
+ Evas_Event_Mouse_Up *ev = event_info;
+ Evas_Object *progressbar = obj;
+ int w = 0, current = 0, x = 0;
+ double ratio = 0.0;
+
+ playing_view->progressbar_dragging = false;
+ playing_view->update_pos = -1;
+
+ if (!
+ (ad->player_state == PLAY_STATE_PLAYING
+ || ad->player_state == PLAY_STATE_PAUSED
+ || ad->player_state == PLAY_STATE_READY)) {
+ ERROR_TRACE("Invaild player_state : %d", ad->player_state);
+ return;
+ }
+
+ evas_object_geometry_get(progressbar, &x, NULL, &w, NULL);
+
+ current = ev->canvas.x - x;
+
+ if (current < 0) {
+ current = 0;
+ } else if (current > w) {
+ current = w;
+ }
+
+ ratio = (double) current / w;
+
+ ad->music_pos = ratio * ad->music_length;
+ DEBUG_TRACE("ad->music_pos=%lf", ad->music_pos);
+ if (mp_player_mgr_set_position
+ (ad->music_pos * 1000, _mp_player_view_progressbar_seek_done_cb,
+ playing_view)) {
+ mp_player_view_update_progressbar(playing_view);
+ } else {
+ mp_player_view_progress_timer_thaw(playing_view);
+ }
+
+ endfunc;
+}
+
+static void
+_mp_player_view_progressbar_move_cb(void *data, Evas * e,
+ Evas_Object * obj, void *event_info)
+{
+ if (data == NULL && obj == NULL && event_info == NULL) {
+ return;
+ }
+
+ int pressed = (int) evas_object_data_get(obj, "pressed");
+ if (!pressed) {
+ mp_debug("-_- progressbar is not pressed yet!");
+ return;
+ }
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ MpPlayerView_t *playing_view = (MpPlayerView_t *) data;
+ MP_CHECK(playing_view);
+ CHECK_VIEW(playing_view);
+
+ Evas_Event_Mouse_Move *ev = event_info;
+ Evas_Object *progressbar = obj;
+ int w = 0, current = 0;
+ int x;
+ double ratio = 0.0;
+ double new_pos;
+
+ evas_object_geometry_get(progressbar, &x, NULL, &w, NULL);
+
+ current = ev->cur.canvas.x - x;
+
+ if (current < 0) {
+ current = 0;
+ } else if (current > w) {
+ current = w;
+ }
+
+ ratio = (double) current / w;
+
+ new_pos = ratio * ad->music_length;
+ ad->music_pos = new_pos;
+ if (playing_view->update_flag == true) { /* only collect position data when rotation does not start */
+ playing_view->update_pos = new_pos;
+ }
+ mp_player_view_update_progressbar(playing_view);
+}
+
+static void
+_mp_player_view_progess_box_del_cb(void *data, Evas * e, Evas_Object * obj,
+ void *event_info)
+{
+ startfunc;
+
+ MpPlayerView_t *view = (MpPlayerView_t *) data;
+ MP_CHECK(view);
+ CHECK_VIEW(view);
+
+ view->progress_box = NULL;
+}
+
+static void _mp_player_view_create_progress_layout(void *thiz)
+{
+ startfunc;
+ MpPlayerView_t *view = (MpPlayerView_t *) thiz;
+ MP_CHECK(view);
+ CHECK_VIEW(view);
+ MP_CHECK(view->player_view_layout);
+
+ view->progress_box =
+ mp_common_load_edj(view->player_view_layout, PLAY_VIEW_EDJ_NAME,
+ "player_view_progress_box");
+ MP_CHECK(view->progress_box);
+ if (mp_util_is_landscape()) {
+ elm_object_signal_emit(view->progress_box, "elm,state,landscape",
+ "");
+ }
+ evas_object_event_callback_add(view->progress_box, EVAS_CALLBACK_DEL,
+ _mp_player_view_progess_box_del_cb,
+ view);
+ elm_object_part_content_set(view->player_view_layout, "progress_box",
+ view->progress_box);
+
+ view->progress_bar =
+ mp_common_load_edj(view->progress_box, PLAY_VIEW_EDJ_NAME,
+ "player_progressbar");
+ MP_CHECK(view->progress_bar);
+ elm_object_part_content_set(view->progress_box, "progress_bar",
+ view->progress_bar);
+ _mp_player_view_progress_val_set(view, 0.0);
+
+ evas_object_event_callback_add(view->progress_bar,
+ EVAS_CALLBACK_MOUSE_DOWN,
+ _mp_player_view_progressbar_down_cb,
+ view);
+ evas_object_event_callback_add(view->progress_bar,
+ EVAS_CALLBACK_MOUSE_UP,
+ _mp_player_view_progressbar_up_cb,
+ view);
+ evas_object_event_callback_add(view->progress_bar,
+ EVAS_CALLBACK_MOUSE_MOVE,
+ _mp_player_view_progressbar_move_cb,
+ view);
+
+ endfunc;
+}
+
+static void
+_mp_player_view_play_btn_down_cb(void *data, Evas_Object * obj,
+ const char *emission, const char *source)
+{
+ startfunc;
+ return;
+}
+
+static void
+_mp_player_view_play_btn_up_cb(void *data, Evas_Object * obj,
+ const char *emission, const char *source)
+{
+ startfunc;
+ return;
+}
+
+static void
+_mp_player_view_lyric_del_cb(void *data, Evas * e, Evas_Object * obj,
+ void *event_info)
+{
+ startfunc;
+ MpPlayerView_t *view = data;
+ MP_CHECK(view);
+ view->lyric = NULL;
+}
+
+static bool _mp_player_view_show_lyric(void *data)
+{
+ MpPlayerView_t *view = (MpPlayerView_t *) data;
+ MP_CHECK_FALSE(view);
+ CHECK_VIEW(view);
+
+ if (view->loaded == false) {
+ DEBUG_TRACE("view is not loaded yet");
+ return false;
+ }
+
+ /*lyric not exist in side cast */
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_FALSE(ad);
+ MP_CHECK_FALSE(ad->current_track_info);
+
+ if (!ad->b_show_lyric || !view->show_lyric) {
+ mp_debug("set hide state");
+ edje_object_signal_emit(_EDJ(view->player_view_layout),
+ "lrc_invisible", "lrc");
+ } else {
+ mp_debug("set show state");
+ if (g_strcmp0
+ (mp_lyric_get_path(view->lyric),
+ ad->current_track_info->uri)) {
+ evas_object_del(view->lyric);
+ }
+
+ if (!view->lyric) {
+ view->lyric =
+ mp_lyric_create(view->layout, ad->current_track_info->uri);
+
+ if (view->lyric) {
+ elm_object_part_content_set(view->player_view_layout,
+ "lrc", view->lyric);
+ evas_object_event_callback_add(view->lyric,
+ EVAS_CALLBACK_FREE,
+ _mp_player_view_lyric_del_cb,
+ view);
+ edje_object_signal_emit(_EDJ(view->player_view_layout),
+ "lrc_visible", "lrc");
+ } else {
+ edje_object_signal_emit(_EDJ(view->player_view_layout),
+ "lrc_invisible", "lrc");
+ }
+ } else {
+ edje_object_signal_emit(_EDJ(view->player_view_layout),
+ "lrc_visible", "lrc");
+ }
+ }
+
+ return true;
+}
+
+void mp_player_view_update_dmr_icon(MpPlayerView_t * view)
+{
+ startfunc;
+ MP_CHECK(view);
+ CHECK_VIEW(view);
+ MP_CHECK(view->inner_navi_it);
+ MP_CHECK(view->dmr_button);
+ Evas_Object *ic =
+ elm_object_part_content_get(view->dmr_button, "icon");
+ MP_CHECK(ic);
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ bool button_disabled = elm_object_disabled_get(view->dmr_button);
+ if (button_disabled) {
+ return;
+ }
+
+ if (mp_util_mirroring_is_connected()) {
+ elm_image_file_set(ic, IMAGE_EDJ_NAME, MP_ICON_NEARBY_DMR_PRESS);
+ } else {
+ elm_image_file_set(ic, IMAGE_EDJ_NAME, MP_ICON_NEARBY_DMR);
+ }
+}
+
+static void
+_mp_player_view_ff_rew_btn_del_cb(void *data, Evas * e, Evas_Object * obj,
+ void *event_info)
+{
+ startfunc;
+ mp_play_control_reset_ff_rew();
+}
+
+static void _mp_player_view_volume_btn_clicked_cb(void *data,
+ Evas_Object * obj,
+ void *event_info)
+{
+ DEBUG_TRACE("volume button clicked");
+ MpPlayerView_t *view = (MpPlayerView_t *) data;
+ MP_CHECK(view);
+ mp_player_view_volume_popup_control(view, false);
+}
+
+static void _mp_player_view_play_pause_btn_clicked_cb(void *data,
+ Evas_Object * obj,
+ void *event_info)
+{
+ DEBUG_TRACE("play_pause button clicked");
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ ad->isPlayBtn = true;
+ if (_mp_is_current_focus_available(ad) != 0) {
+ ERROR_TRACE
+ ("Some other application has the focus currently... Returning...");
+ return;
+ }
+
+ MpPlayerView_t *view = (MpPlayerView_t *) data;
+ MP_CHECK(view);
+
+ if (ad->player_state == PLAY_STATE_NONE && ad->music_pos > 0) {
+ DEBUG_TRACE("ad->music_pos = %f", ad->music_pos);
+ ad->start_pos = ad->music_pos * 1000;
+ mp_play_control_play_pause(ad, true);
+ mp_player_view_set_play_image(view, true);
+ } else if (ad->player_state == PLAY_STATE_PLAYING) {
+ mp_play_control_play_pause(ad, false);
+ mp_player_view_set_play_image(view, false);
+ } else {
+ mp_play_control_play_pause(ad, true);
+ /*when player mgr resume failed */
+ if (ad->player_state != PLAY_STATE_PLAYING) {
+ mp_player_view_set_play_image(view, false);
+ } else {
+ mp_player_view_set_play_image(view, true);
+ }
+ }
+}
+
+#ifndef MP_SOUND_PLAYER
+static void _mp_player_view_shuffle_btn_clicked_cb(void *data,
+ Evas_Object * obj,
+ void *event_info)
+{
+ DEBUG_TRACE("shuffle button clicked");
+ MpPlayerView_t *view = (MpPlayerView_t *) data;
+ MP_CHECK(view);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ int shuffle_state = 0;
+ mp_setting_get_shuffle_state(&shuffle_state);
+ shuffle_state = !shuffle_state;
+ _mp_player_view_set_shuffle_image(data, shuffle_state);
+ mp_play_control_shuffle_set(ad, shuffle_state);
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_UPDATE_NOW_PLAYING);
+}
+
+static void _mp_player_view_favor_btn_clicked_cb(void *data,
+ Evas_Object * obj,
+ void *event_info)
+{
+ DEBUG_TRACE("favor button clicked");
+ MpPlayerView_t *view = (MpPlayerView_t *) data;
+ MP_CHECK(view);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ mp_plst_item *item = mp_playlist_mgr_get_current(ad->playlist_mgr);
+ MP_CHECK(item);
+ mp_media_info_h favourite_handle = NULL;
+ mp_media_info_create(&favourite_handle, item->uid);
+ bool favorite = false;
+ mp_media_info_get_favorite(favourite_handle, &favorite);
+ favorite = !favorite;
+ mp_media_info_set_favorite(favourite_handle, favorite);
+ _mp_player_view_set_favourite_image(view, favorite);
+ mp_media_info_destroy(favourite_handle);
+}
+
+static void _mp_player_view_repeat_btn_clicked_cb(void *data,
+ Evas_Object * obj,
+ void *event_info)
+{
+ DEBUG_TRACE("repeat button clicked");
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ MpPlayerView_t *view = (MpPlayerView_t *) data;
+ MP_CHECK(view);
+
+ int repeat_state = 0;
+ mp_setting_get_repeat_state(&repeat_state);
+ repeat_state++;
+ repeat_state %= 3;
+ mp_setting_set_repeat_state(repeat_state);
+ _mp_player_view_set_rep_image(view, repeat_state);
+ mp_playlist_mgr_set_repeat(ad->playlist_mgr, repeat_state);
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_UPDATE_NOW_PLAYING);
+}
+
+static void _mp_player_view_prev_btn_pressed_cb(void *data,
+ Evas_Object * obj,
+ void *event_info)
+{
+ DEBUG_TRACE("prev button pressed");
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ ad->isPlayBtn = false;
+ if (_mp_is_current_focus_available(ad) != 0) {
+ ERROR_TRACE
+ ("Some other application has the focus currently... Changing state in paused state...");
+ ad->paused_by_user = TRUE;
+ }
+
+ mp_play_control_rew(true, false, true);
+}
+
+static void _mp_player_view_prev_btn_unpressed_cb(void *data,
+ Evas_Object * obj,
+ void *event_info)
+{
+ DEBUG_TRACE("prev button unpressed");
+ mp_play_control_rew(false, false, true);
+}
+
+static void _mp_player_view_prev_btn_clicked_cb(void *data,
+ Evas_Object * obj,
+ void *event_info)
+{
+ DEBUG_TRACE("prev button clicked");
+ if (elm_config_access_get()) {
+ mp_play_control_rew(false, false, true);
+ }
+}
+
+static void _mp_player_view_next_btn_pressed_cb(void *data,
+ Evas_Object * obj,
+ void *event_info)
+{
+ DEBUG_TRACE("next button pressed");
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ ad->isPlayBtn = false;
+ if (_mp_is_current_focus_available(ad) != 0) {
+ ERROR_TRACE
+ ("Some other application has the focus currently... Changing state in paused state...");
+ ad->paused_by_user = TRUE;
+ }
+
+ mp_play_control_ff(true, false, true);
+
+}
+
+static void _mp_player_view_next_btn_unpressed_cb(void *data,
+ Evas_Object * obj,
+ void *event_info)
+{
+ DEBUG_TRACE("next button unpressed");
+ mp_play_control_ff(false, false, true);
+}
+
+static void _mp_player_view_next_btn_clicked_cb(void *data,
+ Evas_Object * obj,
+ void *event_info)
+{
+ DEBUG_TRACE("next button clicked");
+ if (elm_config_access_get()) {
+ mp_play_control_ff(false, false, true);
+ }
+}
+
+static void _mp_player_view_queue_btn_clicked_cb(void *data,
+ Evas_Object * obj,
+ void *event_info)
+{
+ DEBUG_TRACE("queue button clicked");
+ MpPlayerView_t *view = (MpPlayerView_t *) data;
+ MP_CHECK(view);
+ MP_CHECK(!view->trans_queue_list);
+
+ if (!view->queue_list) {
+ _mp_player_view_create_queue_list(view);
+ } else {
+ _mp_player_view_destroy_queue_list(view);
+ }
+ _mp_player_view_update_control_queue_list_btn(view);
+
+ endfunc;
+}
+#endif
+
+static Evas_Object *_mp_player_add_btn(void *data, Evas_Object * parent,
+ Evas_Object * btn,
+ char *button_style, char *part,
+ Edje_Signal_Cb func)
+{
+ MpPlayerView_t *view = (MpPlayerView_t *) data;
+ MP_CHECK_NULL(view);
+ MP_CHECK_NULL(parent);
+
+ btn = elm_button_add(parent);
+ MP_CHECK_NULL(btn);
+ elm_object_focus_allow_set(btn, EINA_FALSE);
+
+ elm_object_style_set(btn, button_style);
+ evas_object_show(btn);
+ if (!g_strcmp0(part, "control_previous")
+ || !g_strcmp0(part, "control_next")) {
+ elm_object_signal_callback_add(btn, SIGNAL_MOUSE_DOWN, "*",
+ _mp_player_view_play_btn_down_cb,
+ view);
+ elm_object_signal_callback_add(btn, SIGNAL_MOUSE_UP, "*",
+ _mp_player_view_play_btn_up_cb,
+ view);
+ evas_object_event_callback_add(btn, EVAS_CALLBACK_DEL,
+ _mp_player_view_ff_rew_btn_del_cb,
+ view);
+ } else {
+ elm_object_signal_callback_add(btn, SIGNAL_MOUSE_CLICK, "*", func,
+ data);
+ }
+ elm_object_part_content_set(parent, part, btn);
+ return btn;
+}
+
+static void _mp_player_view_add_callbacks(void *data)
+{
+ startfunc;
+ MpPlayerView_t *view = (MpPlayerView_t *) data;
+ MP_CHECK(view);
+ CHECK_VIEW(view);
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ view->player_view_option_layout =
+ mp_common_load_edj(view->player_view_layout, PLAY_VIEW_EDJ_NAME,
+ "player_view_option_area");
+ evas_object_size_hint_align_set(view->player_view_option_layout,
+ EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_size_hint_weight_set(view->player_view_option_layout,
+ EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_object_part_content_set(view->player_view_layout, "options_area",
+ view->player_view_option_layout);
+ evas_object_show(view->player_view_option_layout);
+ MP_CHECK(view->player_view_option_layout);
+
+ view->player_view_control_layout =
+ mp_common_load_edj(view->player_view_layout, PLAY_VIEW_EDJ_NAME,
+ "player_view_control_area");
+ evas_object_size_hint_align_set(view->player_view_control_layout,
+ EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_size_hint_weight_set(view->player_view_control_layout,
+ EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_object_part_content_set(view->player_view_layout, "control_area",
+ view->player_view_control_layout);
+ evas_object_show(view->player_view_control_layout);
+ mp_util_domain_translatable_part_text_set(view->
+ player_view_option_layout,
+ "volume_text",
+ STR_PLAYER_VIEW_VOLUME);
+ MP_CHECK(view->player_view_control_layout);
+
+#ifndef MP_SOUND_PLAYER
+ if (view->launch_type == MP_PLAYER_NORMAL) {
+ view->control_button[CONTROL_SHUFFLE_ON] =
+ _mp_player_add_btn(data, view->player_view_control_layout,
+ view->control_button[CONTROL_SHUFFLE_ON],
+ "music/shuffle_on", "control_shuffle_on",
+ _mp_player_view_option_btn_click_cb);
+ view->control_button[CONTROL_SHUFFLE_OFF] =
+ _mp_player_add_btn(data, view->player_view_control_layout,
+ view->control_button[CONTROL_SHUFFLE_OFF],
+ "music/shuffle_off", "control_shuffle_off",
+ _mp_player_view_option_btn_click_cb);
+
+ view->control_button[CONTROL_REP_A] =
+ _mp_player_add_btn(data, view->player_view_control_layout,
+ view->control_button[CONTROL_REP_A],
+ "music/rep_A", "control_rep_A",
+ _mp_player_view_option_btn_click_cb);
+ view->control_button[CONTROL_REP_1] =
+ _mp_player_add_btn(data, view->player_view_control_layout,
+ view->control_button[CONTROL_REP_1],
+ "music/rep_1", "control_rep_1",
+ _mp_player_view_option_btn_click_cb);
+ view->control_button[CONTROL_REP_ALL] =
+ _mp_player_add_btn(data, view->player_view_control_layout,
+ view->control_button[CONTROL_REP_ALL],
+ "music/rep_all", "control_rep_all",
+ _mp_player_view_option_btn_click_cb);
+ }
+
+ view->option_button[OPTION_FAVO_ON] =
+ _mp_player_add_btn(data, view->player_view_layout,
+ view->option_button[OPTION_FAVO_ON],
+ "music/favourite_on", "options_favourite_on",
+ _mp_player_view_option_btn_click_cb);
+ view->option_button[OPTION_FAVO_OFF] =
+ _mp_player_add_btn(data, view->player_view_layout,
+ view->option_button[OPTION_FAVO_OFF],
+ "music/favourite_off", "options_favourite_off",
+ _mp_player_view_option_btn_click_cb);
+
+#else
+ if (ad->samsung_link) {
+ view->control_button[CONTROL_SHUFFLE_ON] =
+ _mp_player_add_btn(data, view->player_view_control_layout,
+ view->control_button[CONTROL_SHUFFLE_ON],
+ "music/shuffle_on", "control_shuffle_on",
+ _mp_player_view_option_btn_click_cb);
+ view->control_button[CONTROL_SHUFFLE_OFF] =
+ _mp_player_add_btn(data, view->player_view_control_layout,
+ view->control_button[CONTROL_SHUFFLE_OFF],
+ "music/shuffle_off", "control_shuffle_off",
+ _mp_player_view_option_btn_click_cb);
+ view->control_button[CONTROL_REP_A] =
+ _mp_player_add_btn(data, view->player_view_control_layout,
+ view->control_button[CONTROL_REP_A],
+ "music/rep_A", "control_rep_A",
+ _mp_player_view_option_btn_click_cb);
+ view->control_button[CONTROL_REP_1] =
+ _mp_player_add_btn(data, view->player_view_control_layout,
+ view->control_button[CONTROL_REP_1],
+ "music/rep_1", "control_rep_1",
+ _mp_player_view_option_btn_click_cb);
+ view->control_button[CONTROL_REP_ALL] =
+ _mp_player_add_btn(data, view->player_view_control_layout,
+ view->control_button[CONTROL_REP_ALL],
+ "music/rep_all", "control_rep_all",
+ _mp_player_view_option_btn_click_cb);
+ }
+#endif
+
+ view->option_button[OPTION_VOLUME] =
+ _mp_player_add_btn(data, view->player_view_option_layout,
+ view->option_button[OPTION_VOLUME],
+ "music/control_volume", "options_volume",
+ _mp_player_view_option_btn_click_cb);
+ view->option_button[OPTION_VOLUME_MUTE] =
+ _mp_player_add_btn(data, view->player_view_option_layout,
+ view->option_button[OPTION_VOLUME],
+ "music/control_volume_mute",
+ "options_volume_mute",
+ _mp_player_view_option_btn_click_cb);
+
+#ifndef MP_SOUND_PLAYER
+ if (view->launch_type == MP_PLAYER_NORMAL) {
+ view->control_button[CONTROL_PREVIOUS] =
+ _mp_player_add_btn(data, view->player_view_control_layout,
+ view->control_button[CONTROL_PREVIOUS],
+ "music/control_previous",
+ "control_previous", NULL);
+ }
+#endif
+
+ view->control_button[CONTROL_PLAY] =
+ _mp_player_add_btn(data, view->player_view_control_layout,
+ view->control_button[CONTROL_PLAY],
+ "music/control_play", "control_play",
+ _mp_player_view_option_btn_click_cb);
+ view->control_button[CONTROL_PAUSE] =
+ _mp_player_add_btn(data, view->player_view_control_layout,
+ view->control_button[CONTROL_PAUSE],
+ "music/control_pause", "control_pause",
+ _mp_player_view_option_btn_click_cb);
+
+#ifndef MP_SOUND_PLAYER
+ if (view->launch_type == MP_PLAYER_NORMAL
+ || view->launch_type == MP_PLAYER_ARTIST_PLAY) {
+ view->control_button[CONTROL_NEXT] =
+ _mp_player_add_btn(data, view->player_view_control_layout,
+ view->control_button[CONTROL_NEXT],
+ "music/control_next", "control_next", NULL);
+ }
+#endif
+
+#ifndef MP_SOUND_PLAYER
+ _mp_player_view_create_control_queue_btn(view);
+#endif
+
+#ifndef MP_SOUND_PLAYER
+ if (view->launch_type == MP_PLAYER_NORMAL) {
+ _mp_player_view_set_rep_image(view,
+ mp_playlist_mgr_get_repeat(ad->
+ playlist_mgr));
+ _mp_player_view_set_shuffle_image(view,
+ mp_playlist_mgr_get_shuffle(ad->
+ playlist_mgr));
+ }
+#endif
+
+ _mp_player_view_volume_update(view);
+
+ if (ad->player_state == PLAY_STATE_PLAYING) {
+ mp_player_view_set_play_image(view, true);
+ } else {
+ mp_player_view_set_play_image(view, false);
+ }
+ endfunc;
+}
+
+static void _mp_player_view_resume_view_status(void *data)
+{
+
+ startfunc;
+ MpPlayerView_t *view = (MpPlayerView_t *) data;
+ MP_CHECK(view);
+ mp_player_view_update_progressbar(view);
+ mp_volume_key_grab_condition_set(MP_VOLUME_KEY_GRAB_COND_VIEW_VISIBLE,
+ true);
+ mp_player_view_update_state(view);
+
+ int volume = mp_player_mgr_volume_get_current();
+ if (volume != 0) {
+ view->unmute_vol = 0;
+ }
+}
+
+static void _mp_player_view_start_request(void *data)
+{
+ startfunc;
+ MpPlayerView_t *view = (MpPlayerView_t *) data;
+ MP_CHECK(view);
+ CHECK_VIEW(view);
+
+ if (view->start_on_transition_finish) {
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ ad->paused_by_user = FALSE;
+ /*_mp_player_view_init_progress_bar(data);*/
+ if (view->start_new_file) {
+ /*start to play from start of the file */
+ ad->start_after_effect = TRUE;
+ int ret = mp_play_new_file(ad, TRUE);
+ if (ret) {
+ ERROR_TRACE("Error: mp_play_new_file..");
+ }
+ } else {
+ /*resume play here */
+ _mp_player_view_resume_view_status(view);
+ mp_play_control_play_pause(ad, true);
+ }
+ view->start_on_transition_finish = false;
+ }
+
+ endfunc;
+
+ return;
+}
+
+static void _mp_player_view_eventbox_clicked_cb(void *data)
+{
+ startfunc;
+ MpPlayerView_t *view = (MpPlayerView_t *) data;
+ MP_CHECK(view);
+ CHECK_VIEW(view);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ DEBUG_TRACE("[%d]", ad->b_show_lyric);
+
+ if (ad->b_show_lyric == 0) {
+ return;
+ }
+ view->show_lyric = !view->show_lyric;
+ _mp_player_view_show_lyric(view);
+}
+
+static void _mp_player_view_eventbox_flick_left_cb(void *data)
+{
+ startfunc;
+ MpPlayerView_t *view = (MpPlayerView_t *) data;
+ MP_CHECK(view);
+ CHECK_VIEW(view);
+
+ _mp_player_view_transit_by_item(view, PLAYER_VIEW_MOVE_LEFT);
+}
+
+static void _mp_player_view_eventbox_flick_right_cb(void *data)
+{
+ startfunc;
+ MpPlayerView_t *view = (MpPlayerView_t *) data;
+ MP_CHECK(view);
+ CHECK_VIEW(view);
+
+ _mp_player_view_transit_by_item(view, PLAYER_VIEW_MOVE_RIGHT);
+}
+
+static void _mp_player_view_add_event_box(void *data)
+{
+ startfunc;
+ MpPlayerView_t *view = (MpPlayerView_t *) data;
+ MP_CHECK(view);
+ CHECK_VIEW(view);
+ MP_CHECK(view->player_view_layout);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ Evas_Object *event_box =
+ mp_smart_event_box_add(view->player_view_layout);
+ MP_CHECK(event_box);
+ evas_object_size_hint_weight_set(event_box, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(event_box, EVAS_HINT_FILL,
+ EVAS_HINT_FILL);
+
+ mp_smart_event_box_callback_add(event_box, MP_EVENT_CLICK,
+ _mp_player_view_eventbox_clicked_cb,
+ view);
+ mp_smart_event_box_callback_add(event_box, MP_EVENT_LEFT,
+ _mp_player_view_eventbox_flick_left_cb,
+ view);
+ mp_smart_event_box_callback_add(event_box, MP_EVENT_RIGHT,
+ _mp_player_view_eventbox_flick_right_cb,
+ view);
+
+ evas_object_show(event_box);
+ elm_object_part_content_set(view->player_view_layout, "event_box",
+ event_box);
+ endfunc;
+}
+
+
+#define PLAYER_LD_RIGHT_W 560
+
+static void _ld_layout_resize_cb(void *data, Evas * e, Evas_Object * obj,
+ void *event_info)
+{
+ MP_CHECK(obj);
+ int w, h;
+ evas_object_geometry_get(obj, NULL, NULL, &w, &h);
+
+ if (w <= SCALED_SIZE(PLAYER_LD_RIGHT_W)) {
+ DEBUG_TRACE("hide albumart");
+ elm_object_signal_emit(obj, "hide_album", "*");
+ } else {
+ DEBUG_TRACE("default");
+ elm_object_signal_emit(obj, "set_default", "*");
+ }
+}
+
+static void _mp_player_view_content_layout_load(void *thiz)
+{
+ startfunc;
+ MpPlayerView_t *view = (MpPlayerView_t *) thiz;
+ MP_CHECK(view);
+ CHECK_VIEW(view);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ MP_CHECK(ad->win_main);
+
+ bool landscape = mp_util_is_landscape();
+ Evas_Object *lyric = NULL;
+ /*To reuse lyric */
+ if (view->player_view_layout) {
+ lyric =
+ elm_object_part_content_unset(view->player_view_layout, "lrc");
+ }
+
+ if (landscape) {
+ DEBUG_TRACE("mode orientation 270 or 90");
+ /*
+ -naviframe
+ - layout
+ - player_view_ld
+ - albumart
+ - inner naviframe
+ - options
+ - controls
+ */
+
+ view->player_view_layout =
+ mp_common_load_edj(view->layout, PLAY_VIEW_EDJ_NAME,
+ "player_view_ld");
+ evas_object_event_callback_add(view->player_view_layout,
+ EVAS_CALLBACK_RESIZE,
+ _ld_layout_resize_cb, view);
+ elm_object_part_content_set(view->layout, "list_content",
+ view->player_view_layout);
+ view->inner_naviframe =
+ mp_widget_navigation_new(view->player_view_layout);
+ MP_CHECK(view->inner_naviframe);
+ evas_object_size_hint_min_set(view->inner_naviframe,
+ SCALED_SIZE(PLAYER_LD_RIGHT_W), 0);
+
+ elm_object_focus_set(view->inner_naviframe, FALSE);
+ elm_object_focus_allow_set(view->inner_naviframe, FALSE);
+ view->inner_navi_it =
+ elm_naviframe_item_push(view->inner_naviframe, NULL, NULL,
+ NULL, NULL, NAVIFRAME_PLAYER_VIEW);
+
+ MP_CHECK(view->player_view_layout);
+ elm_object_part_content_set(view->layout, "list_content",
+ view->player_view_layout);
+
+ /*cast side has not right title */
+ elm_object_part_content_set(view->player_view_layout,
+ "right_title", view->inner_naviframe);
+
+ view->progress_box =
+ mp_common_load_edj(view->player_view_layout,
+ PLAY_VIEW_EDJ_NAME,
+ "player_view_progress_box_ld");
+ MP_CHECK(view->progress_box);
+ elm_object_part_content_set(view->player_view_layout,
+ "progress_box", view->progress_box);
+ view->progress_bar =
+ mp_common_load_edj(view->progress_box, PLAY_VIEW_EDJ_NAME,
+ "player_progressbar");
+ MP_CHECK(view->progress_bar);
+ elm_object_part_content_set(view->progress_box, "progress_bar",
+ view->progress_bar);
+ } else {
+ DEBUG_TRACE("mode orientation 0");
+ /*
+ -naviframe
+ - inner_naviframe
+ - player_view_portrait_base
+ - albumart
+ - options
+ - controls
+ */
+ view->inner_naviframe = mp_widget_navigation_new(view->layout);
+ MP_CHECK(view->inner_naviframe);
+
+ elm_object_focus_set(view->inner_naviframe, FALSE);
+ elm_object_focus_allow_set(view->inner_naviframe, FALSE);
+
+ view->player_view_layout =
+ mp_common_load_edj(view->inner_naviframe, PLAY_VIEW_EDJ_NAME,
+ "player_view_portrait_base");
+ MP_CHECK(view->player_view_layout);
+ view->inner_navi_it =
+ elm_naviframe_item_push(view->inner_naviframe, NULL, NULL,
+ NULL, view->player_view_layout,
+ NAVIFRAME_PLAYER_VIEW);
+ elm_naviframe_item_title_enabled_set(view->inner_navi_it, FALSE,
+ FALSE);
+
+ Evas_Object *content =
+ elm_object_part_content_unset(view->layout, "list_content");
+ mp_evas_object_del(content);
+
+ elm_object_part_content_set(view->layout, "list_content",
+ view->inner_naviframe);
+ }
+
+ elm_object_focus_allow_set(view->inner_naviframe, TRUE);
+
+ /* reuse lyric */
+ if (lyric) {
+ elm_object_part_content_set(view->player_view_layout, "lrc",
+ lyric);
+ }
+
+ /* album image */
+ _mp_player_view_set_album_image(view);
+
+
+ /* content info icon */
+ _mp_player_view_set_content_info_icon(view);
+
+ /* event box */
+ _mp_player_view_add_event_box(view);
+
+ /* process layout */
+ _mp_player_view_create_progress_layout(view);
+
+ /* options and control */
+ _mp_player_view_add_callbacks(view);
+
+ /* set TTS fous frame order */
+ elm_object_focus_custom_chain_append(view->player_view_layout,
+ view->player_view_option_layout,
+ NULL);
+ elm_object_focus_custom_chain_append(view->player_view_layout,
+ view->player_view_control_layout,
+ NULL);
+
+ _mp_player_view_set_focused_UI(view);
+ endfunc;
+}
+
+static int _mp_player_view_start_playback(void *thiz)
+{
+ startfunc;
+ mp_player_view_progress_timer_thaw(thiz);
+ mp_player_view_update_state(thiz);
+ return 0;
+}
+
+static int _mp_player_view_pause_playback(void *thiz)
+{
+ startfunc;
+ mp_player_view_update_progressbar(thiz);
+ mp_player_view_progress_timer_freeze(thiz);
+ mp_player_view_update_state(thiz);
+ return 0;
+}
+
+static Eina_Bool _mp_player_view_stop_timer_cb(void *data)
+{
+ MpPlayerView_t *view = data;
+ mp_player_view_update_state(view);
+ view->stop_update_timer = NULL;
+ return EINA_FALSE;
+}
+
+static int _mp_player_view_stop_playback(void *thiz)
+{
+ startfunc;
+ mp_player_view_update_progressbar(thiz);
+ mp_player_view_progress_timer_freeze(thiz);
+ MpPlayerView_t *view = thiz;
+ mp_ecore_timer_del(view->stop_update_timer);
+
+ view->stop_update_timer =
+ ecore_timer_add(1.0, _mp_player_view_stop_timer_cb, view);
+
+ return 0;
+}
+
+static void _mp_player_view_resume(void *thiz)
+{
+ startfunc;
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ ad->hide_player_view = false;
+
+ mp_volume_key_grab_condition_set(MP_VOLUME_KEY_GRAB_COND_VIEW_VISIBLE,
+ true);
+ mp_player_view_progress_timer_thaw(thiz);
+
+ _mp_player_view_show_lyric(thiz);
+ mp_player_view_update_state(thiz);
+
+ MpPlayerView_t *view = thiz;
+ int volume = mp_player_mgr_volume_get_current();
+ if (volume != 0) {
+ view->unmute_vol = 0;
+ }
+
+ endfunc;
+}
+
+static void _mp_player_view_pause(void *thiz)
+{
+ startfunc;
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ if (ad->is_lcd_off) {
+ mp_player_view_set_title(thiz);
+ }
+
+ mp_volume_key_grab_condition_set(MP_VOLUME_KEY_GRAB_COND_VIEW_VISIBLE,
+ false);
+ mp_player_view_progress_timer_freeze(thiz);
+ endfunc;
+}
+
+static Eina_Bool _transit_complete_timer(void *data)
+{
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_FALSE(ad);
+
+ MpPlayerView_t *view = (MpPlayerView_t *) data;
+ MP_CHECK_FALSE(view);
+ MP_CHECK_FALSE(view->player_view_layout);
+
+ view->transit_done_timer = NULL;
+ ad->freeze_indicator_icon = true;
+ mp_play_item_play_current_item(mp_util_get_appdata());
+ return EINA_FALSE;
+}
+
+static void
+_mp_player_view_transit_by_item_complete_cb(void *data,
+ Elm_Transit * transit)
+{
+ startfunc;
+ MpPlayerView_t *view = (MpPlayerView_t *) data;
+ MP_CHECK(view);
+
+ view->transition_state = false;
+
+ /* TODO: create image and set as default */
+ Evas_Object *image = NULL;
+ if (view->move_direction == PLAYER_VIEW_MOVE_LEFT) {
+ image =
+ elm_object_part_content_unset(view->player_view_layout,
+ "album_image_right");
+ } else {
+ image =
+ elm_object_part_content_unset(view->player_view_layout,
+ "album_image_left");
+ }
+
+ elm_object_part_content_set(view->player_view_layout, "album_image",
+ image);
+
+ mp_ecore_timer_del(view->transit_done_timer);
+ mp_player_view_refresh(view);
+ view->transit_done_timer =
+ ecore_timer_add(0.5, _transit_complete_timer, view);
+}
+
+static Evas_Object *_mp_player_view_create_album_image(Evas_Object * obj,
+ const char *path,
+ int w, int h)
+{
+ int width, height;
+ Evas_Object *thumbnail =
+ evas_object_image_add(evas_object_evas_get(obj));
+ MP_CHECK_FALSE(thumbnail);
+
+ evas_object_size_hint_align_set(thumbnail, EVAS_HINT_FILL,
+ EVAS_HINT_FILL);
+ evas_object_size_hint_weight_set(thumbnail, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+
+ evas_object_image_load_size_set(thumbnail, w, h);
+ if (path && strcmp(BROKEN_ALBUMART_IMAGE_PATH, path)) {
+ evas_object_image_file_set(thumbnail, path, NULL);
+ } else {
+ char default_thumbnail[1024] = { 0 };
+ char *shared_path = app_get_shared_resource_path();
+ snprintf(default_thumbnail, 1024, "%s%s/%s", shared_path,
+ "shared_images", DEFAULT_PLAYER_THUMBNAIL);
+ free(shared_path);
+ evas_object_image_file_set(thumbnail, default_thumbnail, NULL);
+ }
+
+ evas_object_image_size_get(thumbnail, &width, &height);
+ evas_object_image_filled_set(thumbnail, true);
+
+ if (width <= 0 || height <= 0) {
+ char default_thumbnail[1024] = { 0 };
+ char *shared_path = app_get_shared_resource_path();
+ snprintf(default_thumbnail, 1024, "%s%s/%s", shared_path,
+ "shared_images", DEFAULT_PLAYER_THUMBNAIL);
+ free(shared_path);
+ evas_object_image_file_set(thumbnail, default_thumbnail, NULL);
+ }
+ evas_object_image_preload(thumbnail, EINA_TRUE);
+
+ evas_object_show(thumbnail);
+ /*endfunc; */
+ return thumbnail;
+}
+
+static Evas_Object *_get_image_by_playlist_item(Evas_Object * parent,
+ mp_plst_item * item)
+{
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_NULL(ad);
+ char *path = NULL;
+ mp_track_info_t *track_info = NULL;
+
+ if (item == NULL) {
+ if (ad->current_track_info) {
+ path = ad->current_track_info->thumbnail_path;
+ }
+ } else {
+ mp_util_load_track_info(ad, item, &track_info);
+ path = track_info->thumbnail_path;
+ }
+
+ Evas_Object *image = _mp_player_view_create_album_image(parent,
+ path,
+ PLAYER_VIEW_ALBUM_SIZE,
+ PLAYER_VIEW_ALBUM_SIZE);
+
+ mp_util_free_track_info(track_info);
+
+ return image;
+}
+
+static void _mp_player_view_create_next_album_image(void *thiz,
+ int move_direction)
+{
+ startfunc;
+ MpPlayerView_t *playing_view = (MpPlayerView_t *) thiz;
+ MP_CHECK(playing_view);
+ CHECK_VIEW(playing_view);
+ MP_CHECK(playing_view->player_view_layout);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ Evas_Object *image =
+ _get_image_by_playlist_item(playing_view->player_view_layout,
+ mp_playlist_mgr_get_next(ad->
+ playlist_mgr,
+ true, false));
+ elm_object_part_content_set(playing_view->player_view_layout,
+ "album_image_right", image);
+
+ image = _get_image_by_playlist_item(playing_view->player_view_layout,
+ mp_playlist_mgr_get_prev(ad->
+ playlist_mgr));
+ elm_object_part_content_set(playing_view->player_view_layout,
+ "album_image_left", image);
+
+ endfunc;
+}
+
+static void _mp_player_view_transit_by_item(void *data, int move_direction)
+{
+ startfunc;
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ MpPlayerView_t *view = (MpPlayerView_t *) data;
+ MP_CHECK(view);
+ CHECK_VIEW(view);
+ MP_CHECK(view->player_view_layout);
+
+ if (view->transition_state) { /* transiton(transition_state) should be transiit callback */
+ mp_debug("skip_by transiton effect");
+ return;
+ }
+ view->transition_state = true;
+
+ mp_ecore_timer_del(view->transit_done_timer);
+
+ /*mp_player_mgr_pause(ad); */
+ view->move_direction = move_direction;
+
+ /*mp_player_mgr_destroy(mp_util_get_appdata()); */
+
+ mp_plst_item *it = NULL;
+ if (view->move_direction == PLAYER_VIEW_MOVE_LEFT) {
+ it = mp_playlist_mgr_get_next(ad->playlist_mgr, true, false);
+ } else {
+ it = mp_playlist_mgr_get_prev(ad->playlist_mgr);
+ }
+
+ mp_playlist_mgr_set_current(ad->playlist_mgr, it);
+
+ if (view->queue_list != NULL) {
+ _mp_player_view_transit_by_item_complete_cb(view, NULL);
+ return;
+ }
+
+ Evas_Object *cur =
+ elm_object_part_content_get(view->player_view_layout,
+ "album_image");
+ Evas_Object *fav_off =
+ elm_object_part_content_get(view->player_view_layout,
+ "options_favourite_off");
+ Evas_Object *fav_on =
+ elm_object_part_content_get(view->player_view_layout,
+ "options_favourite_on");
+ Evas_Object *next = NULL;
+
+ Evas_Coord w, width, h;
+ evas_object_geometry_get(cur, NULL, NULL, &width, &h);
+ if (view->move_direction == PLAYER_VIEW_MOVE_RIGHT) {
+
+ next =
+ elm_object_part_content_get(view->player_view_layout,
+ "album_image_left");
+ w = width;
+ } else {
+ next =
+ elm_object_part_content_get(view->player_view_layout,
+ "album_image_right");
+ w = -width;
+ }
+
+ Elm_Transit *transit = elm_transit_add();
+ elm_transit_object_add(transit, next);
+ elm_transit_effect_translation_add(transit, 0, 80, w, 0);
+ elm_transit_duration_set(transit, PLAYER_VIEW_TRANSIT_INTERVAL);
+ elm_transit_tween_mode_set(transit, ELM_TRANSIT_TWEEN_MODE_DECELERATE);
+ elm_transit_objects_final_state_keep_get(transit);
+ elm_transit_del_cb_set(transit,
+ _mp_player_view_transit_by_item_complete_cb,
+ view);
+ elm_transit_go(transit);
+
+ Elm_Transit *transit1 = elm_transit_add();
+ elm_transit_object_add(transit1, fav_off);
+ elm_transit_effect_translation_add(transit1, 0, 0, w, 80);
+ elm_transit_duration_set(transit1, PLAYER_VIEW_TRANSIT_INTERVAL);
+ elm_transit_tween_mode_set(transit1,
+ ELM_TRANSIT_TWEEN_MODE_DECELERATE);
+ elm_transit_objects_final_state_keep_get(transit1);
+ elm_transit_del_cb_set(transit1,
+ _mp_player_view_transit_by_item_complete_cb,
+ view);
+ elm_transit_go(transit1);
+
+ Elm_Transit *transit2 = elm_transit_add();
+ elm_transit_object_add(transit2, cur);
+ elm_transit_effect_translation_add(transit2, 0, 0, w, 80);
+ elm_transit_duration_set(transit2, PLAYER_VIEW_TRANSIT_INTERVAL);
+ elm_transit_tween_mode_set(transit2,
+ ELM_TRANSIT_TWEEN_MODE_DECELERATE);
+ elm_transit_objects_final_state_keep_get(transit2);
+ elm_transit_go(transit2);
+
+ Elm_Transit *transit3 = elm_transit_add();
+ elm_transit_object_add(transit3, fav_on);
+ elm_transit_effect_translation_add(transit3, 0, 0, w, 80);
+ elm_transit_duration_set(transit3, PLAYER_VIEW_TRANSIT_INTERVAL);
+ elm_transit_tween_mode_set(transit3,
+ ELM_TRANSIT_TWEEN_MODE_DECELERATE);
+ elm_transit_objects_final_state_keep_get(transit3);
+ elm_transit_del_cb_set(transit3,
+ _mp_player_view_transit_by_item_complete_cb,
+ view);
+ elm_transit_go(transit3);
+
+ endfunc;
+}
+
+static void _mp_player_view_lcd_off(void *thiz)
+{
+ startfunc;
+ mp_player_view_progress_timer_freeze(thiz);
+}
+
+static void _mp_player_view_lcd_on(void *thiz)
+{
+ startfunc;
+ mp_player_view_progress_timer_thaw(thiz);
+ mp_player_view_refresh(thiz);
+}
+
+static void _mp_player_view_on_event(void *thiz, MpViewEvent_e event)
+{
+ MpPlayerView_t *view = (MpPlayerView_t *) thiz;
+ MP_CHECK(view);
+ CHECK_VIEW(view);
+ DEBUG_TRACE("event [%d]", event);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ switch (event) {
+ case MP_PLAYLIST_MODIFIED:
+#ifndef MP_SOUND_PLAYER
+ if (view->queue_list) {
+ mp_list_update((MpList_t *) view->queue_list);
+ }
+#endif
+ mp_player_view_refresh(view);
+ break;
+ case MP_VIEW_TRANSITION_FINISHED:
+ elm_object_signal_emit(ad->conformant,
+ "elm,state,virtualkeypad,enable", "");
+ mp_player_view_refresh(view);
+ /*_mp_player_view_start_request(view);*/
+ _mp_player_view_show_lyric(view);
+ break;
+ case MP_ROUTE_CHANGED:{
+ ERROR_TRACE("MP_ROUTE_CHANGED");
+
+#ifndef MP_SOUND_PLAYER
+ /*ms_effect_view_radio_val_set(); */
+#endif
+
+ _mp_player_view_volume_route_change(view);
+
+ mp_player_view_set_snd_path_sensitivity(view);
+ break;
+ }
+ case MP_PLAYLIST_MGR_ITEM_CHANGED:{
+#ifndef MP_SOUND_PLAYER
+ if (view->queue_list) {
+ mp_list_update((MpList_t *) view->queue_list);
+ }
+#endif
+ break;
+ }
+ case MP_QUICKPANNEL_SHOW:{
+ if (view == (MpPlayerView_t *) mp_view_mgr_get_top_view(GET_VIEW_MGR)) {
+ DEBUG_TRACE("MP_QUICKPANNEL_SHOW");
+ mp_volume_key_grab_condition_set
+ (MP_VOLUME_KEY_GRAB_COND_VIEW_VISIBLE, false);
+ }
+ break;
+ }
+ case MP_QUICKPANNEL_HIDE:{
+ if (view == (MpPlayerView_t *) mp_view_mgr_get_top_view(GET_VIEW_MGR)) {
+ DEBUG_TRACE("MP_QUICKPANNEL_HIDE");
+ mp_volume_key_grab_condition_set
+ (MP_VOLUME_KEY_GRAB_COND_VIEW_VISIBLE, true);
+ }
+ break;
+ }
+ case MP_SIDE_SYNC_STATUS_CHANGED:{
+ mp_player_view_set_snd_path_sensitivity(view);
+ break;
+ }
+ case MP_PLAYING_TRACK_CHANGED:{
+ if (!view->transition_state) {
+ mp_player_view_refresh(view);
+ }
+
+ /* update dmr icon
+ if (ad->samsung_link)
+ _mp_player_view_update_dmr_icon_state(view); */
+ break;
+ }
+ case MP_VIEW_EVENT_ALBUMART_CHANGED:{
+ mp_player_view_refresh(view);
+ break;
+ }
+ case MP_UPDATE_PLAYING_LIST:{
+
+ //Enable Lyrics settings
+ _mp_player_view_show_lyric(view);
+ break;
+ }
+
+ case MP_LYRIC_UPDATE:{
+ _mp_player_view_show_lyric(view);
+ break;
+ }
+ case MP_UNSET_NOW_PLAYING:{
+ MpViewMgr_t *view_mgr = GET_VIEW_MGR;
+ MP_CHECK(view_mgr);
+ mp_view_mgr_pop_a_view(view_mgr, (MpView_t *) view);
+ break;
+ }
+ case MP_START_PLAYBACK:{
+#ifndef MP_SOUND_PLAYER
+ mp_player_view_refresh(view);
+ if (view->queue_list) {
+ mp_list_realized_item_part_update((MpList_t *) view->
+ queue_list,
+ "elm.icon.left",
+ ELM_GENLIST_ITEM_FIELD_CONTENT);
+
+ }
+#endif
+ break;
+ }
+ case MP_RESUME_PLAYBACK:
+ case MP_PAUSE_PLAYBACK:
+ case MP_STOP_PLAYBACK:{
+#ifndef MP_SOUND_PLAYER
+ if (view->queue_list) {
+ mp_list_realized_item_part_update((MpList_t *) view->
+ queue_list,
+ "elm.icon.left",
+ ELM_GENLIST_ITEM_FIELD_CONTENT);
+
+ }
+#endif
+ break;
+ }
+ default:
+ /* Not defined */
+ break;
+ }
+}
+
+
+static int _mp_player_view_update_layout(void *data)
+{
+ startfunc;
+
+ MpPlayerView_t *view = data;
+ MP_CHECK_VAL(view, -1);
+ /*elm_naviframe_item_title_enabled_set(view->navi_it, FALSE, FALSE); */
+
+ mp_player_view_set_title_and_buttons(view);
+ mp_player_view_refresh(view);
+
+ _mp_player_view_start_request(view);
+
+ view->loaded = true;
+ return 0;
+
+}
+
+static int
+_mp_player_view_init(Evas_Object * parent, MpPlayerView_t * view)
+{
+ startfunc;
+ int ret = 0;
+ view->disable_scroller = true;
+ view->update_flag = true;
+ view->update_pos = -1;
+ view->show_lyric = true;
+
+ ret = mp_view_init(parent, (MpView_t *) view, MP_VIEW_PLAYER);
+ MP_CHECK_VAL(ret == 0, -1);
+
+ view->player_view_magic = PLAYER_VIEW_MAGIC;
+
+ view->update = _mp_player_view_update_layout;
+ view->update_options = _mp_player_view_update_options;
+ view->view_destroy_cb = _mp_player_view_destory_cb;
+
+ view->set_nowplaying = NULL;
+ view->unset_nowplaying = NULL;
+ view->update_nowplaying = NULL;
+
+ view->start_playback = _mp_player_view_start_playback;
+ view->pause_playback = _mp_player_view_pause_playback;
+ view->stop_playback = _mp_player_view_stop_playback;
+
+ view->view_resume = _mp_player_view_resume;
+ view->view_pause = _mp_player_view_pause;
+
+ view->view_lcd_off = _mp_player_view_lcd_off;
+ view->view_lcd_on = _mp_player_view_lcd_on;
+
+ view->on_event = _mp_player_view_on_event;
+
+ return ret;
+}
+
+void _mp_player_view_set_focused_UI(void *this)
+{
+ MpPlayerView_t *view = (MpPlayerView_t *) this;
+ Evas_Object *favor_layout = NULL;
+ if (!mp_util_is_landscape()) {
+ favor_layout = view->player_view_layout; /*favor_layout = view->player_view_option_layout; */
+ } else {
+ favor_layout = view->player_view_option_layout;
+ }
+ MP_CHECK(favor_layout);
+
+ /*add focused UI */
+ Evas_Object *volume_focus_btn =
+ elm_button_add(view->player_view_option_layout);
+ elm_object_style_set(volume_focus_btn, "focus");
+ elm_object_part_content_set(view->player_view_option_layout,
+ "volume_focus", volume_focus_btn);
+ elm_object_focus_custom_chain_append(view->player_view_option_layout,
+ volume_focus_btn, NULL);
+ evas_object_smart_callback_add(volume_focus_btn, "clicked",
+ _mp_player_view_volume_btn_clicked_cb,
+ view);
+ elm_object_focus_set(volume_focus_btn, true);
+#ifndef MP_SOUND_PLAYER
+ Evas_Object *favor_focus_btn = elm_button_add(favor_layout);
+ evas_object_repeat_events_set(favor_focus_btn, EINA_FALSE);
+ elm_object_style_set(favor_focus_btn, "focus");
+ elm_object_part_content_set(favor_layout, "favourite_focus",
+ favor_focus_btn);
+ elm_object_focus_custom_chain_append(favor_layout, favor_focus_btn,
+ NULL);
+ evas_object_smart_callback_add(favor_focus_btn, "clicked",
+ _mp_player_view_favor_btn_clicked_cb,
+ view);
+
+ Evas_Object *repeat_focus_btn =
+ elm_button_add(view->player_view_control_layout);
+ elm_object_style_set(repeat_focus_btn, "focus");
+ elm_object_part_content_set(view->player_view_control_layout,
+ "repeat_focus", repeat_focus_btn);
+ elm_object_focus_custom_chain_append(view->player_view_control_layout,
+ repeat_focus_btn, NULL);
+ evas_object_smart_callback_add(repeat_focus_btn, "clicked",
+ _mp_player_view_repeat_btn_clicked_cb,
+ view);
+
+ Evas_Object *shuffle_focus_btn =
+ elm_button_add(view->player_view_control_layout);
+ elm_object_style_set(shuffle_focus_btn, "focus");
+ elm_object_part_content_set(view->player_view_control_layout,
+ "shuffle_focus", shuffle_focus_btn);
+ elm_object_focus_custom_chain_append(view->player_view_control_layout,
+ shuffle_focus_btn, NULL);
+ evas_object_smart_callback_add(shuffle_focus_btn, "clicked",
+ _mp_player_view_shuffle_btn_clicked_cb,
+ view);
+
+ Evas_Object *prev_focus_btn =
+ elm_button_add(view->player_view_control_layout);
+ elm_object_style_set(prev_focus_btn, "focus");
+ elm_object_part_content_set(view->player_view_control_layout,
+ "previous_focus", prev_focus_btn);
+ elm_object_focus_custom_chain_append(view->player_view_control_layout,
+ prev_focus_btn, NULL);
+ evas_object_smart_callback_add(prev_focus_btn, "pressed",
+ _mp_player_view_prev_btn_pressed_cb,
+ view);
+ evas_object_smart_callback_add(prev_focus_btn, "unpressed",
+ _mp_player_view_prev_btn_unpressed_cb,
+ view);
+ evas_object_smart_callback_add(prev_focus_btn, "clicked",
+ _mp_player_view_prev_btn_clicked_cb,
+ view);
+#endif
+
+ Evas_Object *play_pause_focus_btn =
+ elm_button_add(view->player_view_control_layout);
+ elm_object_style_set(play_pause_focus_btn, "focus");
+ elm_object_part_content_set(view->player_view_control_layout,
+ "play_pause_focus", play_pause_focus_btn);
+ /*elm_object_focus_custom_chain_append(view->player_view_control_layout, play_pause_focus_btn, NULL); */
+ evas_object_smart_callback_add(play_pause_focus_btn, "clicked",
+ _mp_player_view_play_pause_btn_clicked_cb,
+ view);
+
+#ifndef MP_SOUND_PLAYER
+ Evas_Object *next_focus_btn =
+ elm_button_add(view->player_view_control_layout);
+ elm_object_style_set(next_focus_btn, "focus");
+ elm_object_part_content_set(view->player_view_control_layout,
+ "next_focus", next_focus_btn);
+ elm_object_focus_custom_chain_append(view->player_view_control_layout,
+ next_focus_btn, NULL);
+ evas_object_smart_callback_add(next_focus_btn, "pressed",
+ _mp_player_view_next_btn_pressed_cb,
+ view);
+ evas_object_smart_callback_add(next_focus_btn, "unpressed",
+ _mp_player_view_next_btn_unpressed_cb,
+ view);
+ evas_object_smart_callback_add(next_focus_btn, "clicked",
+ _mp_player_view_next_btn_clicked_cb,
+ view);
+
+ Evas_Object *queue_focus_btn =
+ elm_button_add(view->player_view_option_layout);
+ elm_object_style_set(queue_focus_btn, "focus");
+ elm_object_part_content_set(view->player_view_option_layout,
+ "queue_focus", queue_focus_btn);
+ elm_object_focus_custom_chain_append(view->player_view_option_layout,
+ queue_focus_btn, NULL);
+ evas_object_smart_callback_add(queue_focus_btn, "clicked",
+ _mp_player_view_queue_btn_clicked_cb,
+ view);
+
+ /*set sequence */
+ elm_object_focus_next_object_set(shuffle_focus_btn, favor_focus_btn,
+ ELM_FOCUS_RIGHT);
+ elm_object_focus_next_object_set(favor_focus_btn, repeat_focus_btn,
+ ELM_FOCUS_RIGHT);
+
+ elm_object_focus_next_object_set(repeat_focus_btn, favor_focus_btn,
+ ELM_FOCUS_LEFT);
+ elm_object_focus_next_object_set(favor_focus_btn, shuffle_focus_btn,
+ ELM_FOCUS_LEFT);
+
+ elm_object_focus_next_object_set(shuffle_focus_btn, volume_focus_btn,
+ ELM_FOCUS_DOWN);
+
+ elm_object_focus_next_object_set(repeat_focus_btn, queue_focus_btn,
+ ELM_FOCUS_DOWN);
+#endif
+}
+
+MpPlayerView_t *mp_player_view_create(Evas_Object * parent,
+ int launch_type, bool start_new_file)
+{
+ eventfunc;
+ int ret;
+ MP_CHECK_NULL(parent);
+
+ MpPlayerView_t *view = calloc(1, sizeof(MpPlayerView_t));
+ MP_CHECK_NULL(view);
+
+ ret = _mp_player_view_init(parent, view);
+ if (ret) {
+ goto Error;
+ }
+
+ view->launch_type = launch_type;
+ view->start_new_file = start_new_file;
+ _mp_player_view_content_layout_load(view);
+
+ mp_volume_key_event_callback_add(_mp_player_view_volume_hw_key_cb,
+ view);
+
+ return view;
+
+ Error:
+ ERROR_TRACE("Error: mp_player_view_create()");
+ IF_FREE(view);
+ return NULL;
+}
+
+bool mp_player_view_refresh(void *data)
+{
+ startfunc;
+
+ MpPlayerView_t *playing_view = (MpPlayerView_t *) data;
+ MP_CHECK_FALSE(playing_view);
+ CHECK_VIEW(playing_view);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_FALSE(ad);
+ MP_CHECK_FALSE(!ad->is_lcd_off);
+
+ if (playing_view->transition_state) {
+ ERROR_TRACE("transition state");
+ return false;
+ }
+ mp_player_view_set_title_and_buttons(playing_view);
+#ifndef MP_SOUND_PLAYER
+ if (playing_view->queue_list) {
+ mp_now_playing_list_refresh((MpNowPlayingList_t *) playing_view->
+ queue_list);
+ }
+ if (playing_view->queue_status) {
+ _mp_player_view_refresh_queue_list(playing_view);
+ }
+ /*_mp_player_view_create_queue_list(playing_view);*/
+#endif
+ _mp_player_view_set_album_image(playing_view);
+ _mp_player_view_set_content_info_icon(playing_view);
+ _mp_player_view_init_progress_bar(playing_view);
+
+ _mp_player_view_show_lyric(playing_view);
+
+ if (ad->player_state == PLAY_STATE_PLAYING
+ || ad->player_state == PLAY_STATE_PAUSED) {
+ mp_player_view_update_state(playing_view);
+ }
+
+ /*add favourite begin */
+ bool favourite = FALSE;
+ mp_plst_item *item = mp_playlist_mgr_get_current(ad->playlist_mgr);
+ MP_CHECK_FALSE(item);
+ mp_media_info_h favourite_handle = NULL;
+ mp_media_info_create(&favourite_handle, item->uid);
+ mp_media_info_get_favorite(favourite_handle, &favourite);
+ _mp_player_view_set_favourite_image(playing_view, favourite);
+ mp_media_info_destroy(favourite_handle);
+ favourite_handle = NULL;
+ /*add favourite end */
+
+ _mp_player_view_create_next_album_image(playing_view, 0);
+
+ endfunc;
+ return true;
+}
+
+void mp_player_view_update_state(void *data)
+{
+ startfunc;
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ if (ad->is_lcd_off) {
+ return;
+ }
+
+ MpPlayerView_t *view = data;
+ if (!view) {
+ return;
+ }
+
+ CHECK_VIEW(view);
+
+ if (view->transition_state) {
+ return;
+ }
+
+ if ((int) mp_player_mgr_get_state() == (int) PLAYER_STATE_PLAYING) {
+ mp_player_view_update_buffering_progress(view, 100);
+ mp_player_view_set_play_image(view, true);
+ /*mp_player_view_set_album_playing(view, true); */
+ } else if ((int) mp_player_mgr_get_state() == (int) PLAYER_STATE_READY) {
+ /*don't update play/puase button if next track exist. */
+ if (!ad->auto_next) {
+ mp_player_view_set_play_image(view, false);
+ /*mp_player_view_set_album_playing(view, false); */
+ }
+ } else {
+ mp_player_view_set_play_image(view, false);
+ /*mp_player_view_set_album_playing(view, false); */
+ }
+
+#ifndef MP_SOUND_PLAYER
+ _mp_player_view_set_rep_image(view,
+ mp_playlist_mgr_get_repeat(ad->
+ playlist_mgr));
+ _mp_player_view_set_shuffle_image(view,
+ mp_playlist_mgr_get_shuffle(ad->
+ playlist_mgr));
+#endif
+ _mp_player_view_volume_update(view);
+
+ _mp_player_view_update_snd_button_state(view);
+
+ endfunc;
+}
+
+void mp_player_view_update_buffering_progress(void *data, int percent)
+{
+ startfunc;
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ MP_CHECK(!ad->is_lcd_off);
+
+ MpPlayerView_t *view = data;
+ MP_CHECK(view);
+ CHECK_VIEW(view);
+
+ if (percent < 0 || percent >= 100) {
+ mp_evas_object_del(view->buffering_progress);
+ return;
+ }
+
+ if (!view->buffering_progress) {
+ view->buffering_progress =
+ mp_widget_loading_icon_add(view->player_view_layout,
+ MP_LOADING_ICON_SIZE_LARGE);
+ elm_object_part_content_set(view->player_view_layout,
+ "buffering_area",
+ view->buffering_progress);
+ }
+
+ evas_object_show(view->buffering_progress);
+}
+
+void mp_player_view_set_data(MpPlayerView_t * view, ...)
+{
+ startfunc;
+ MP_CHECK(view);
+
+ va_list var_args;
+ int field;
+
+ va_start(var_args, view);
+ do {
+ field = va_arg(var_args, int);
+ switch (field) {
+
+ case MP_PLAYER_VIEW_LAUNCH_TYPE:{
+ int val = va_arg((var_args), int);
+
+ view->launch_type = val;
+ DEBUG_TRACE("view->launch_type = %d", view->launch_type);
+ break;
+ }
+ default:
+ DEBUG_TRACE("Invalid arguments");
+ }
+
+ } while (field >= 0);
+
+ va_end(var_args);
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include "mp-playlist-detail-view.h"
+#include "mp-create-playlist-view.h"
+#include "mp-add-track-view.h"
+#include "mp-common.h"
+#include "mp-widget.h"
+#include "mp-util.h"
+#include "mp-popup.h"
+#include "mp-ug-launch.h"
+#include "mp-edit-playlist.h"
+#include <efl_extension.h>
+
+static void _mp_playlist_detail_view_tracklist_add_cb(void *data,
+ Evas_Object * obj,
+ void *event_info);
+static void _mp_playlist_detail_view_tracklist_reorder_cb(void *data,
+ Evas_Object *
+ obj,
+ void
+ *event_info);
+
+static void _mp_playlist_detail_view_cb(void *data, Evas_Object * obj,
+ void *event_info) {
+ elm_naviframe_item_pop(GET_NAVIFRAME);
+}
+
+static void _mp_playlist_detail_view_destory_cb(void *thiz) {
+ eventfunc;
+ MpPlaylistDetailView_t *view = thiz;
+ MP_CHECK(view);
+ mp_list_view_fini((MpListView_t *) view);
+
+ /* TODO: release resource.. */
+ mp_playlist_detail_view_destory(view);
+
+ free(view);
+}
+
+int _mp_playlist_detail_view_update(void *thiz) {
+ startfunc;
+ MpPlaylistDetailView_t *view = thiz;
+ MP_CHECK_VAL(view, -1);
+
+ view->content_set(view);
+ mp_view_update_options((MpView_t *) view);
+
+ return 0;
+}
+
+static void
+_mp_playlist_detail_rename_cb(void *data, Evas_Object * obj,
+ void *event_info) {
+ eventfunc;
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ MpPlaylistDetailView_t *view = (MpPlaylistDetailView_t *) data;
+ MP_CHECK(view);
+
+ mp_evas_object_del(view->more_btn_ctxpopup);
+
+ Mp_Playlist_Data *mp_playlist_data =
+ mp_edit_playlist_create(MP_PLST_RENAME);
+ MP_CHECK(mp_playlist_data);
+
+ ad->popup_data = (Mp_Playlist_Data *) mp_playlist_data;
+
+ MpTrackList_t *track_list = (MpTrackList_t *) view->content_to_show;
+ if (track_list != NULL) {
+ mp_playlist_data->playlist_handle = track_list->playlist_handle;
+ }
+ mp_edit_playlist_content_create(mp_playlist_data);
+}
+
+static void _mp_playlist_detail_view_normal_more_btn_cb(void *data,
+ Evas_Object * obj,
+ void *event_info) {
+ eventfunc;
+ MpPlaylistDetailView_t *view = (MpPlaylistDetailView_t *) data;
+ MP_CHECK(view);
+
+ mp_evas_object_del(view->more_btn_ctxpopup);
+
+
+ view->more_btn_ctxpopup = mp_common_create_more_ctxpopup(view);
+ MP_CHECK(view->more_btn_ctxpopup);
+
+ int count = 0;
+ mp_media_info_list_count(MP_TRACK_ALL, NULL, NULL, NULL, 0, &count);
+ if (count > 0) {
+ if ((view->list_type == MP_TRACK_BY_PLAYLIST)
+ || !strcmp((STR_MP_FAVOURITES), view->name)
+ || !strcmp(GET_STR(STR_MP_FAVOURITES), view->name)) {
+ /*add tracks */
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_ADD_TRACKS,
+ MP_PLAYER_MORE_BTN_ADD,
+ _mp_playlist_detail_view_tracklist_add_cb,
+ view);
+ }
+
+ if (view->list_type == MP_TRACK_BY_PLAYLIST) {
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_RENAME,
+ MP_PLAYER_MORE_BTN_RENAME_IMAGE,
+ _mp_playlist_detail_rename_cb,
+ view);
+ }
+
+ if ((mp_list_get_editable_count
+ (view->content_to_show, MP_LIST_EDIT_TYPE_NORMAL) > 1)
+ && view->list_type == MP_TRACK_BY_PLAYLIST) {
+ /*reorder */
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_REORDER,
+ MP_PLAYER_MORE_BTN_SET_REORDER,
+ _mp_playlist_detail_view_tracklist_reorder_cb,
+ view);
+ }
+
+ if (mp_list_get_editable_count
+ (view->content_to_show, MP_LIST_EDIT_TYPE_NORMAL)) {
+ /*remove */
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_REMOVE,
+ MP_PLAYER_MORE_BTN_EDIT,
+ mp_playlist_detail_view_tracklist_edit_cb,
+ view);
+ }
+
+ if (count) {
+ /*search */
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_SEARCH, NULL,
+ mp_common_create_search_view_cb,
+ view);
+ }
+
+#ifndef MP_FEATURE_NO_END
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_END,
+ MP_PLAYER_MORE_BTN_VIEW_END,
+ mp_common_ctxpopup_end_cb, view);
+#endif
+
+ mp_util_more_btn_move_ctxpopup(view->more_btn_ctxpopup, obj);
+
+ evas_object_show(view->more_btn_ctxpopup);
+ } else {
+ if (view->list_type == MP_TRACK_BY_PLAYLIST) {
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_RENAME,
+ MP_PLAYER_MORE_BTN_RENAME_IMAGE,
+ _mp_playlist_detail_rename_cb,
+ view);
+ mp_util_more_btn_move_ctxpopup(view->more_btn_ctxpopup, obj);
+
+ evas_object_show(view->more_btn_ctxpopup);
+ }
+ }
+}
+
+/*************** functions for track list update *******************/
+void mp_playlist_detail_view_tracklist_edit_cb(void *data,
+ Evas_Object * obj,
+ void *event_info) {
+ eventfunc;
+ MpPlaylistDetailView_t *view = (MpPlaylistDetailView_t *) data;
+ MP_CHECK(view);
+
+ view->content_to_show->reorderable = 0;
+
+ mp_evas_object_del(view->more_btn_ctxpopup);
+ mp_common_show_edit_view((MpListView_t *) view, MP_DONE_REMOVED_TYPE);
+}
+
+static void _mp_playlist_detail_view_tracklist_reorder_cb(void *data,
+ Evas_Object *
+ obj,
+ void *event_info) {
+ eventfunc;
+ MpPlaylistDetailView_t *view = (MpPlaylistDetailView_t *) data;
+ MP_CHECK(view);
+
+ mp_evas_object_del(view->more_btn_ctxpopup);
+
+ mp_common_set_list_to_reorder_view((MpListView_t *) view);
+}
+
+static void _mp_playlist_detail_view_tracklist_add_cb(void *data,
+ Evas_Object * obj,
+ void *event_info) {
+ eventfunc;
+ MpPlaylistDetailView_t *parent_view = (MpPlaylistDetailView_t *) data;
+ MP_CHECK(parent_view);
+ mp_common_show_add_tracks_view(parent_view->p_id);
+}
+
+static Eina_Bool _mp_playlist_detail_view_pop_cb(void *data,
+ Elm_Object_Item * it) {
+ startfunc;
+ MpPlaylistDetailView_t *view = (MpPlaylistDetailView_t *) data;
+ MP_CHECK_VAL(view, EINA_TRUE);
+
+ mp_view_mgr_pop_view(GET_VIEW_MGR, true);
+ endfunc;
+ return EINA_TRUE;
+}
+
+static int _mp_playlist_detail_view_update_options(void *thiz) {
+ startfunc;
+ MpPlaylistDetailView_t *view = (MpPlaylistDetailView_t *) thiz;
+ MP_CHECK_VAL(view, -1);
+
+ Evas_Object *btn = NULL;
+
+ btn =
+ mp_widget_create_toolbar_btn(view->playlist_detail_view_layout,
+ MP_TOOLBAR_BTN_MORE, NULL,
+ _mp_playlist_detail_view_normal_more_btn_cb,
+ view);
+ elm_object_item_part_content_set(view->navi_it, "toolbar_more_btn",
+ btn);
+ /*view->toolbar_options[MP_OPTION_MORE] = btn;
+
+ elm_naviframe_item_pop_cb_set(view->navi_it, _mp_playlist_detail_view_back_cb, view); */
+
+ Evas_Object *back_button =
+ elm_button_add(view->playlist_detail_view_layout);
+ elm_object_style_set(back_button, "naviframe/end_btn/default");
+ elm_object_item_part_content_set(view->navi_it, "prev_btn",
+ back_button);
+ evas_object_smart_callback_add(back_button, "clicked",
+ _mp_playlist_detail_view_cb, view);
+ elm_naviframe_item_pop_cb_set(view->navi_it,
+ _mp_playlist_detail_view_pop_cb, view);
+
+ endfunc;
+ return 0;
+}
+
+static void _mp_playlist_detail_view_content_load(void *thiz) {
+ startfunc;
+ Evas_Object *content = NULL;
+ MpPlaylistDetailView_t *view = (MpPlaylistDetailView_t *) thiz;
+ MP_CHECK(view);
+
+ view->content_to_show =
+ (MpList_t *) mp_track_list_create(view->layout);
+
+ if (view->list_type == MP_TRACK_BY_PLAYLIST) {
+ DEBUG_TRACE("playlist id: %d", view->p_id);
+ mp_track_list_set_data((MpTrackList_t *) view->content_to_show,
+ MP_TRACK_LIST_TYPE, view->list_type,
+ MP_TRACK_LIST_PLAYLIT_ID, view->p_id, -1);
+ } else {
+ mp_track_list_set_data((MpTrackList_t *) view->content_to_show,
+ MP_TRACK_LIST_TYPE, view->list_type, -1);
+ }
+
+ mp_list_update(view->content_to_show);
+ content = mp_list_get_layout(view->content_to_show);
+ if (content != NULL) {
+ elm_object_part_content_set(view->playlist_detail_view_layout,
+ "list_content", content);
+ }
+}
+
+static void
+_mp_playlist_detail_view_on_event_cb(void *thiz, MpViewEvent_e event) {
+ MpPlaylistDetailView_t *view = thiz;
+ MP_CHECK(view);
+
+ mp_debug("event = %d", event);
+ switch (event) {
+ case MP_ADD_TO_PLAYLIST_DONE:{
+ int count =
+ mp_list_get_editable_count((MpList_t *) view->
+ content_to_show,
+ mp_list_get_edit_type(view->
+ content_to_show));
+ if (count != 0) {
+ mp_track_list_update_albumart_index((MpTrackList_t *)
+ view->content_to_show);
+ }
+ break;
+ }
+ case MP_DELETE_DONE:
+ case MP_PLAYLIST_REORDER_DONE:
+ mp_list_update(view->content_to_show);
+ break;
+ case MP_POPUP_DELETE_DONE:
+ mp_track_list_popup_delete_genlist_item(view->content_to_show);
+ mp_track_list_update_genlist(view->content_to_show);
+ break;
+ case MP_UPDATE_FAVORITE_LIST:{
+ mp_list_update(view->content_to_show);
+ break;
+ }
+#ifndef MP_SOUND_PLAYER
+ case MP_UPDATE_PLAYING_LIST:
+ mp_list_realized_item_part_update(view->content_to_show,
+ "elm.text.main.left.top",
+ ELM_GENLIST_ITEM_FIELD_TEXT);
+ mp_list_realized_item_part_update(view->content_to_show,
+ "elm.text.sub.left.bottom",
+ ELM_GENLIST_ITEM_FIELD_TEXT);
+ break;
+#endif
+ case MP_PLAY_TIME_COUNT_UPDATED:{
+ if (view->p_id == MP_SYS_PLST_RECENTELY_PLAYED ||
+ view->p_id == MP_SYS_PLST_MOST_PLAYED) {
+ Evas_Object *content = NULL;
+ content =
+ elm_object_part_content_unset(view->
+ playlist_detail_view_layout,
+ "list-content");
+ evas_object_del(content);
+ mp_list_update(view->content_to_show);
+ int count =
+ mp_list_get_editable_count((MpList_t *) view->
+ content_to_show,
+ mp_list_get_edit_type(view->
+ content_to_show));
+ if (count != 0) {
+ mp_track_list_update_albumart_index((MpTrackList_t *)
+ view->
+ content_to_show);
+ }
+ }
+ break;
+ }
+ case MP_VIEW_EVENT_ALBUMART_CHANGED:
+ mp_list_realized_item_part_update(view->content_to_show,
+ "elm.icon",
+ ELM_GENLIST_ITEM_FIELD_CONTENT);
+ break;
+ case MP_VIEW_TRANSITION_FINISHED:
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_PLAYLIST_CREATED);
+ // eext_object_event_callback_add(GET_VIEW_MGR->navi, EEXT_CALLBACK_BACK, eext_naviframe_back_cb, NULL);
+ break;
+ case MP_START_PLAYBACK:
+ case MP_RESUME_PLAYBACK:
+ case MP_PAUSE_PLAYBACK:
+ case MP_PLAYING_TRACK_CHANGED:
+ case MP_STOP_PLAYBACK:{
+ mp_list_realized_item_part_update(view->content_to_show,
+ "elm.icon.left",
+ ELM_GENLIST_ITEM_FIELD_CONTENT);
+ break;
+ }
+ default:
+ break;
+ }
+
+ endfunc;
+}
+
+static void _mp_playlist_detail_view_resume(void *thiz) {
+ startfunc;
+ MpPlaylistDetailView_t *view = (MpPlaylistDetailView_t *) thiz;
+ mp_view_freeze_nowplaying((MpView_t *) thiz, 0);
+
+ /*check is no content */
+ MpTrackList_t *track_list = (MpTrackList_t *) view->content_to_show;
+ if (track_list->no_content != NULL) {
+ mp_list_update((MpList_t *) track_list);
+ }
+}
+
+static int
+_mp_playlist_detail_view_init(Evas_Object * parent,
+ MpPlaylistDetailView_t * view) {
+ startfunc;
+ int ret = 0;
+ ret =
+ mp_list_view_init(parent, (MpListView_t *) view,
+ MP_VIEW_PLAYLIST_DETAIL);
+ MP_CHECK_VAL(ret == 0, -1);
+
+ view->update = _mp_playlist_detail_view_update;
+ view->update_options = _mp_playlist_detail_view_update_options;
+ /*view->update_options_edit = _mp_playlist_detail_view_update_options_edit; */
+ view->view_destroy_cb = _mp_playlist_detail_view_destory_cb;
+ view->content_set = _mp_playlist_detail_view_content_load;
+ view->on_event = _mp_playlist_detail_view_on_event_cb;
+ view->view_resume = _mp_playlist_detail_view_resume;
+
+ /*Todo: we need to add a new layout style */
+ view->playlist_detail_view_layout = view->layout;
+ MP_CHECK_VAL(view->playlist_detail_view_layout, -1);
+ return ret;
+}
+
+MpPlaylistDetailView_t *mp_playlist_detail_view_create(Evas_Object *
+ parent,
+ mp_track_type_e
+ list_type,
+ char *name,
+ int p_id) {
+ eventfunc;
+ int ret;
+ MP_CHECK_NULL(parent);
+
+ MpPlaylistDetailView_t *view =
+ calloc(1, sizeof(MpPlaylistDetailView_t));
+ MP_CHECK_NULL(view);
+
+ ret = _mp_playlist_detail_view_init(parent, view);
+ if (ret) {
+ goto Error;
+ }
+
+ view->list_type = list_type;
+ view->name = g_strdup(name);
+ view->p_id = p_id;
+ view->content_set(view);
+ return view;
+
+ Error:
+ ERROR_TRACE("Error: mp_playlist_detail_view_create()");
+ IF_FREE(view);
+ return NULL;
+}
+
+int mp_playlist_detail_view_destory(MpPlaylistDetailView_t * view) {
+ startfunc;
+ MP_CHECK_VAL(view, -1);
+
+ IF_G_FREE(view->name);
+
+ return 0;
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include "mp-search-view.h"
+#include "mp-search-list.h"
+#include "mp-widget.h"
+#include "music.h"
+#include "mp-search.h"
+#include "mp-util.h"
+
+#define MP_SEARCHBAR_W 400*elm_config_scale_get()
+
+static void _mp_search_view_destory_cb(void *thiz)
+{
+ eventfunc;
+ MpSearchView_t *view = thiz;
+ MP_CHECK(view);
+ mp_list_view_fini((MpListView_t *) view);
+
+ /* TODO: release resource.. */
+ mp_search_view_destory(view);
+ mp_ecore_timer_del(view->search_timer);
+
+ free(view);
+}
+
+int _mp_search_view_update(void *thiz)
+{
+ startfunc;
+ MpSearchView_t *view = thiz;
+ MP_CHECK_VAL(view, -1);
+
+ view->content_set(view);
+ return 0;
+}
+
+static void _mp_search_view_update_option_clear(void *thiz)
+{
+ startfunc;
+ MpSearchView_t *view = (MpSearchView_t *) thiz;
+ MP_CHECK(view);
+
+ /* destroy back button */
+ Evas_Object *btn = NULL;
+ btn = elm_object_item_part_content_unset(view->navi_it,
+ "toolbar_more_btn");
+ mp_evas_object_del(btn);
+endfunc}
+
+/*************** functions for track list update *******************/
+static Eina_Bool _mp_search_view_back_cb(void *data, Elm_Object_Item * it)
+{
+ eventfunc;
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_VAL(ad, EINA_TRUE);
+
+ MpSearchView_t *view = (MpSearchView_t *) data;
+ MP_CHECK_VAL(view, EINA_TRUE);
+
+ {
+ MpViewMgr_t *view_mgr = mp_view_mgr_get_view_manager();
+ mp_view_mgr_pop_view(view_mgr, false);
+
+ }
+ return EINA_TRUE;
+}
+
+static int _mp_search_view_update_options(void *thiz)
+{
+ startfunc;
+ MpSearchView_t *view = (MpSearchView_t *) thiz;
+ MP_CHECK_VAL(view, -1);
+
+ _mp_search_view_update_option_clear(view);
+
+ elm_naviframe_item_title_enabled_set(view->navi_it,
+ (Eina_Bool) EINA_FALSE, false);
+ elm_naviframe_item_pop_cb_set(view->navi_it,
+ _mp_search_view_back_cb, view);
+
+ /* update the first controlba item */
+ /* mp_view_manager_update_first_controlbar_item(layout_data); */
+ endfunc;
+ return 0;
+}
+
+static Eina_Bool _mp_search_view_update_list_timer_cb(void *data)
+{
+ eventfunc;
+ MpSearchView_t *view = (MpSearchView_t *) data;
+ MP_CHECK_FALSE(view);
+
+ if (view->transition) {
+ WARN_TRACE("transition");
+ return EINA_TRUE;
+ }
+
+ view->content_set(view);
+
+ DEBUG_TRACE("view->needle: %s", view->needle);
+ /* if (!view->needle || !strlen(view->needle))
+ mp_search_show_imf_pannel(view->search_bar); */
+
+ view->search_timer = NULL;
+ return EINA_FALSE;
+}
+
+
+static void
+_mp_search_view_keyword_changed_cb(void *data,
+ Evas_Object * obj, void *event_info)
+{
+ MpSearchView_t *view = (MpSearchView_t *) data;
+ MP_CHECK(view);
+ char *search_str = NULL;
+
+ search_str = mp_search_text_get(view->search_bar);
+
+ EVENT_TRACE("search_str: %s", search_str);
+ if (search_str) {
+ int length = strlen(search_str);
+ if (length > 0) {
+ elm_object_signal_emit(view->search_bar,
+ "image,enable,1", "*");
+ } else {
+ elm_object_signal_emit(view->search_bar,
+ "image,disable,1", "*");
+ }
+ }
+ if (search_str) {
+ if (view->needle) {
+ free(view->needle);
+ }
+ view->needle = search_str;
+ /* signal = "hide.screen"; */
+ } else {
+ if (view->needle) {
+ free(view->needle);
+ }
+ /* signal = "show.screen"; */
+ }
+ /*when create search view, we use this first_called flag to load genlsit
+ ,then change key word, refresh the genlist */
+ /*if (view->first_called) {
+ view->first_called = FALSE;
+ return;
+ } else {
+ view->needle_change = TRUE;
+ } */
+ view->needle_change = TRUE;
+ mp_ecore_timer_del(view->search_timer);
+ view->search_timer = ecore_timer_add(0.1,
+ _mp_search_view_update_list_timer_cb,
+ view);
+}
+
+
+static void _mp_search_view_create_search_bar(void *thiz)
+{
+ startfunc;
+ MpSearchView_t *view = (MpSearchView_t *) thiz;
+ MP_CHECK(view);
+ MP_CHECK(view->search_base_layout);
+
+ view->search_bar = mp_search_create_new(view->search_base_layout,
+ _mp_search_view_keyword_changed_cb,
+ view, NULL, NULL, NULL, view,
+ NULL, view);
+ MP_CHECK(view->search_base_layout);
+ evas_object_show(mp_search_entry_get(view->search_bar));
+ /*elm_object_focus_set(mp_search_entry_get(view->search_bar), TRUE);
+
+ elm_object_signal_callback_add(view->search_view_layout,
+ SIGNAL_MOUSE_CLICK, "elm.rect.screen", _mp_search_view_screen_
+ clicked_cb, view); */
+ endfunc;
+}
+
+static void _mp_search_view_content_load(void *thiz)
+{
+ startfunc;
+ Evas_Object *layout = NULL;
+ MpSearchView_t *view = (MpSearchView_t *) thiz;
+ MP_CHECK(view);
+
+ /* when keyword change, we hide items,
+ do not need create genlist again */
+ if (view->needle_change) {
+ MpSearchList_t *list = (MpSearchList_t *) view->content_to_show;
+ mp_search_list_set_data(list,
+ MP_SEARCH_LIST_FILTER_STR, view->needle,
+ -1);
+ list->refresh(list);
+ } else {
+ Evas_Object *content =
+ elm_object_part_content_unset(view->search_view_layout,
+ "elm.swallow.content");
+ evas_object_del(content);
+
+ view->content_to_show =
+ (MpList_t *) mp_search_list_create(view->layout);
+ mp_search_list_set_data((MpSearchList_t *) view->content_to_show,
+ MP_SEARCH_LIST_FILTER_STR, view->needle,
+ -1);
+
+ mp_list_update(view->content_to_show);
+ layout = mp_list_get_layout(view->content_to_show);
+ if (layout != NULL) {
+ elm_object_part_content_set(view->search_view_layout,
+ "elm.swallow.content", layout);
+ }
+ }
+}
+
+static void _mp_search_view_on_event_cb(void *thiz, MpViewEvent_e event)
+{
+ DEBUG_TRACE("event; %d", event);
+ MpSearchView_t *view = thiz;
+ MP_CHECK(view);
+
+ switch (event) {
+ case MP_VIEW_TRANSITION_FINISHED:
+ view->transition = false;
+ if ((int) mp_view_mgr_get_top_view(GET_VIEW_MGR) == (int) view) {
+ elm_object_focus_allow_set(mp_search_entry_get
+ (view->search_bar), EINA_TRUE);
+ elm_object_focus_set(mp_search_entry_get(view->search_bar),
+ EINA_TRUE);
+ }
+ break;
+ case MP_SIP_STATE_CHANGED:{
+ if ((int) mp_view_mgr_get_top_view(GET_VIEW_MGR) == (int) view) {
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ elm_object_focus_allow_set(mp_search_entry_get
+ (view->search_bar), EINA_TRUE);
+ }
+ }
+ break;
+ default:
+ break;
+ }
+}
+
+static void
+_mp_search_view_back_button_clicked(void *data, Evas_Object * o,
+ const char *emission,
+ const char *source)
+{
+ MpViewMgr_t *view_mgr = mp_view_mgr_get_view_manager();
+ MP_CHECK(view_mgr);
+ elm_naviframe_item_pop(view_mgr->navi);
+}
+
+static void _mp_search_view_create_back_button(Evas_Object * parent,
+ MpSearchView_t * view)
+{
+ MP_CHECK(parent);
+ MP_CHECK(view);
+
+ Evas_Object *back_button = NULL;
+ back_button = elm_button_add(parent);
+ elm_object_style_set(back_button, "naviframe/end_btn/default");
+ elm_object_part_content_set(parent, "back_button", back_button);
+ evas_object_smart_callback_add(back_button, "clicked",
+ _mp_search_view_back_button_clicked,
+ view);
+ evas_object_show(back_button);
+}
+
+static int
+_mp_search_view_init(Evas_Object * parent, MpSearchView_t * view)
+{
+ startfunc;
+ int ret = 0;
+ ret = mp_list_view_init(parent, (MpListView_t *) view, MP_VIEW_SEARCH);
+ MP_CHECK_VAL(ret == 0, -1);
+
+ view->update = _mp_search_view_update;
+ view->update_options = _mp_search_view_update_options;
+ view->update_options_edit = NULL;
+ view->view_destroy_cb = _mp_search_view_destory_cb;
+ view->content_set = _mp_search_view_content_load;
+ view->set_nowplaying = NULL;
+ view->unset_nowplaying = NULL;
+ view->update_nowplaying = NULL;
+ view->start_playback = NULL;
+ view->pause_playback = NULL;
+ view->stop_playback = NULL;
+ view->on_event = _mp_search_view_on_event_cb;
+ view->transition = true;
+ Elm_Theme *th = elm_theme_new();
+ elm_theme_extension_add(th, THEME_NAME);
+
+ view->search_view_layout = elm_layout_add(view->layout);
+ MP_CHECK_VAL(view->search_view_layout, -1);
+
+ double scale = elm_config_scale_get();
+ if ((scale - 1.8) < 0.0001) {
+ elm_layout_theme_set(view->search_view_layout,
+ "layout", "application",
+ "search_view_layout_wvga");
+ } else if ((scale - 2.6) < 0.0001) {
+ elm_layout_theme_set(view->search_view_layout,
+ "layout", "application",
+ "search_view_layout_hd");
+ } else {
+ elm_layout_theme_set(view->search_view_layout,
+ "layout", "application",
+ "search_view_layout_qhd");
+ }
+ elm_object_part_content_set(view->layout,
+ "list_content", view->search_view_layout);
+
+ /* search bar Base Layout */
+ Elm_Theme *th1 = elm_theme_new();
+ elm_theme_extension_add(th1, THEME_NAME);
+
+ view->search_base_layout = elm_layout_add(view->search_view_layout);
+ elm_layout_theme_set(view->search_base_layout,
+ "layout", "application", "searches");
+ elm_object_part_content_set(view->search_view_layout,
+ "search_bar", view->search_base_layout);
+
+ _mp_search_view_create_search_bar(view);
+ elm_object_part_content_set(view->search_base_layout,
+ "searching", view->search_bar);
+
+ _mp_search_view_create_back_button(view->search_base_layout, view);
+
+ return ret;
+}
+
+MpSearchView_t *mp_search_view_create(Evas_Object * parent,
+ const char *keyword)
+{
+ eventfunc;
+ int ret;
+ MP_CHECK_NULL(parent);
+
+ MpSearchView_t *view = calloc(1, sizeof(MpSearchView_t));
+ MP_CHECK_NULL(view);
+
+ ret = _mp_search_view_init(parent, view);
+ if (ret) {
+ goto Error;
+ }
+
+ view->needle = g_strdup(keyword);
+
+ view->first_called = TRUE;
+ mp_search_text_set(view->search_bar, keyword);
+
+ view->content_set(view);
+
+ return view;
+
+ Error:
+ ERROR_TRACE("Error: mp_search_view_create()");
+ IF_FREE(view);
+ return NULL;
+}
+
+void mp_search_view_set_keyword(MpSearchView_t * view, const char *keyword)
+{
+ MP_CHECK(view);
+ IF_FREE(view->needle);
+ view->needle = g_strdup(keyword);
+ mp_search_text_set(view->search_bar, keyword);
+}
+
+int mp_search_view_destory(MpSearchView_t * view)
+{
+ startfunc;
+ MP_CHECK_VAL(view, -1);
+ IF_G_FREE(view->needle);
+ return 0;
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include "mp-select-track-view.h"
+#include "mp-widget.h"
+#include "mp-common.h"
+#include "mp-util.h"
+#include "mp-add-track-view.h"
+
+#define MP_MAX_TEXT_PRE_FORMAT_LEN 256
+#define MP_MAX_ARTIST_NAME_WIDTH 320
+#define MP_LABEL_SLIDE_DURATION 5
+
+
+static void _mp_select_track_view_destory_cb(void *thiz)
+{
+ eventfunc;
+ MpSelectTrackView_t *view = thiz;
+ MP_CHECK(view);
+ mp_list_view_fini((MpListView_t *) view);
+
+ /* TODO: release resource.. */
+
+ free(view);
+}
+
+int _mp_select_track_view_update(void *thiz)
+{
+ startfunc;
+ MpSelectTrackView_t *view = thiz;
+
+ mp_list_update(view->content_to_show);
+ mp_list_set_edit(view->content_to_show, TRUE);
+
+ return 0;
+}
+
+/*************** functions for track list update *******************/
+
+static Eina_Bool _mp_select_track_view_back_cb(void *data,
+ Elm_Object_Item * it)
+{
+ eventfunc;
+
+ MpViewMgr_t *view_mgr = mp_view_mgr_get_view_manager();
+ mp_view_mgr_pop_view(view_mgr, false);
+
+ return EINA_TRUE;
+}
+
+void
+mp_select_track_view_add_to_playlist_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ eventfunc;
+ MpAddTrackView_t *view =
+ (MpAddTrackView_t *) mp_view_mgr_get_view(GET_VIEW_MGR,
+ MP_VIEW_ADD_TRACK);
+ MP_CHECK(view);
+
+ mp_edit_cb_excute_add_to_playlist(data, view->playlist_id, NULL, true);
+}
+
+static int _mp_select_track_view_update_options(void *thiz)
+{
+ startfunc;
+ MpSelectTrackView_t *view = (MpSelectTrackView_t *) thiz;
+ MP_CHECK_VAL(view, -1);
+ struct appdata * ad = mp_util_get_appdata();
+ MP_CHECK_VAL(ad, -1);
+ mp_util_create_selectioninfo_with_count((MpView_t *) view,
+ g_list_length(ad->checkedList));
+
+ unsigned int count =
+ mp_list_get_editable_count((MpList_t *) view->content_to_show,
+ MP_LIST_EDIT_TYPE_NORMAL);
+ if (count <= 0) {
+ mp_view_mgr_pop_a_view((MpViewMgr_t *) GET_VIEW_MGR,
+ (MpView_t *) view);
+ }
+
+ elm_naviframe_item_pop_cb_set(view->navi_it,
+ _mp_select_track_view_back_cb, view);
+
+ if (mp_list_get_checked_count((MpList_t *) view->content_to_show) ==
+ count) {
+ elm_check_state_set(view->select_all_btn, EINA_TRUE);
+ } else {
+ elm_check_state_set(view->select_all_btn, EINA_FALSE);
+ }
+ if (view->done_btn) {
+ if (mp_list_get_checked_count((MpList_t *) view->content_to_show)) {
+ elm_object_disabled_set(view->done_btn, EINA_FALSE);
+ } else {
+ elm_object_disabled_set(view->done_btn, EINA_TRUE);
+ }
+ }
+
+ /* update the first controlba item */
+ /*mp_view_manager_update_first_controlbar_item(layout_data); */
+ endfunc;
+ return 0;
+}
+
+static void _mp_select_track_view_content_load(void *thiz)
+{
+ startfunc;
+ MpSelectTrackView_t *view = (MpSelectTrackView_t *) thiz;
+ MP_CHECK(view);
+ MP_CHECK(view->layout);
+
+ view->content_to_show =
+ (MpList_t *) mp_track_list_create(view->layout);
+ MP_CHECK(view->content_to_show);
+ /*Todo: move the followed outside */
+ /* mp_track_list_set_data(view->content_to_show, MP_TRACK_LIST_TYPE, MP_TRACK_BY_ALBUM, MP_TRACK_LIST_TYPE_STR, view->name, -1);
+ view->content_to_show->update(view->content_to_show); */
+ MP_CHECK(view->content_to_show->layout);
+ elm_object_part_content_set(view->layout, "list_content",
+ view->content_to_show->layout);
+ edje_object_signal_emit(_EDJ(view->layout), "SHOW_SELECT_ALL_PADDING",
+ "*");
+}
+
+static void _mp_select_track_view_on_event(void *thiz, MpViewEvent_e event)
+{
+ switch (event) {
+ case MP_ADD_TO_PLAYLIST_DONE:
+ mp_view_mgr_pop_a_view(GET_VIEW_MGR, thiz);
+ break;
+
+ default:
+ break;
+ }
+}
+
+static int
+_mp_select_track_view_init(Evas_Object * parent,
+ MpSelectTrackView_t * view)
+{
+ startfunc;
+ int ret = 0;
+ ret =
+ mp_list_view_init(parent, (MpListView_t *) view,
+ MP_VIEW_SELECT_TRACK);
+ MP_CHECK_VAL(ret == 0, -1);
+
+ view->update = _mp_select_track_view_update;
+ view->update_options = _mp_select_track_view_update_options;
+ view->update_options_edit = _mp_select_track_view_update_options;
+ view->view_destroy_cb = _mp_select_track_view_destory_cb;
+ view->content_set = _mp_select_track_view_content_load;
+ view->on_event = _mp_select_track_view_on_event;
+ view->set_nowplaying = NULL;
+ view->unset_nowplaying = NULL;
+ view->update_nowplaying = NULL;
+
+ return ret;
+}
+
+MpSelectTrackView_t *mp_select_track_view_create(Evas_Object * parent)
+{
+ eventfunc;
+ int ret;
+ MP_CHECK_NULL(parent);
+
+ MpSelectTrackView_t *view = calloc(1, sizeof(MpSelectTrackView_t));
+ MP_CHECK_NULL(view);
+
+ ret = _mp_select_track_view_init(parent, view);
+ if (ret) {
+ goto Error;
+ }
+
+ _mp_select_track_view_content_load(view);
+ return view;
+
+ Error:
+ ERROR_TRACE("Error: mp_select_track_view_create()");
+ IF_FREE(view);
+ return NULL;
+}
+
+int mp_select_track_view_destory(MpSelectTrackView_t * view)
+{
+ startfunc;
+ MP_CHECK_VAL(view, -1);
+
+ return 0;
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+/* #include "smat.h" */
+#include "mp-set-as-view.h"
+#include "music.h"
+#include "mp-player-debug.h"
+#include "mp-player-mgr.h"
+#include "mp-play.h"
+#include "mp-minicontroller.h"
+#include "app_manager.h"
+#include "mp-popup.h"
+#include "mp-util.h"
+#include <system_settings.h>
+#include "mp-ug-launch.h"
+
+static Evas_Object *g_radio_recommend = NULL;
+static Evas_Object *g_radio_set_as_type = NULL;
+
+typedef struct {
+ Elm_Object_Item *item;
+ int index;
+} item_data_s;
+
+static void _mp_set_as_view_moved_recommended_time(void *data);
+static void _mp_set_as_view_enable_done_btn(MpSetAsView_t * view);
+
+
+/*SMAT id;
+SMAT_STAT nowstat = SMAT_ERR; */
+
+pthread_mutex_t smat_mutex;
+pthread_cond_t smat_cond;
+
+static char *_mp_set_as_view_time_to_string(int time)
+{
+ int minutes = (time / 1000) / 60;
+ int seconds = (time / 1000) % 60;
+ char *seconds_fmt = NULL;
+ char *minutes_fmt = NULL;
+ DEBUG_TRACE("minute is %d\tseconds is %d", minutes, seconds);
+ if (seconds < 10) {
+ seconds_fmt = "0%d";
+ } else {
+ seconds_fmt = "%d";
+ }
+
+ if (minutes < 10) {
+ minutes_fmt = "0%d";
+ } else {
+ minutes_fmt = "%d";
+ }
+ char *format = g_strconcat(minutes_fmt, ":", seconds_fmt, NULL);
+ if (!format) {
+ return NULL;
+ }
+ char *total_txt = g_strdup_printf(format, minutes, seconds);
+ IF_FREE(format);
+ return total_txt;
+}
+
+/****Pre-listen related****/
+static void _mp_set_as_view_create_player(void *data)
+{
+ MpSetAsView_t *view = (MpSetAsView_t *) data;
+ MP_CHECK(view);
+
+ /*1. create player */
+ int ret = 0;
+ ret = player_create(&(view->player));
+ if (PLAYER_ERROR_NONE != ret) {
+ DEBUG_TRACE("create player error %s", ret);
+ }
+}
+
+static void _mp_set_as_view_destroy_player(void *data)
+{
+ MpSetAsView_t *view = (MpSetAsView_t *) data;
+ MP_CHECK(view);
+
+ /*1. create player */
+ int ret = 0;
+ ret = player_destroy(view->player);
+ if (PLAYER_ERROR_NONE != ret) {
+ DEBUG_TRACE("destroy player error %s", ret);
+ }
+ view->player = NULL;
+}
+
+static int _mp_set_as_view_get_duration(void *data)
+{
+ MpSetAsView_t *view = (MpSetAsView_t *) data;
+ MP_CHECK_VAL(view, 0);
+ MP_CHECK_VAL(view->player, 0);
+
+ int duration = 0;
+ int ret = player_get_duration(view->player, &duration);
+ if (ret) {
+ mp_error("player_get_duration() .. [0x%x]", ret);
+ duration = 0;
+ }
+
+ return duration;
+}
+
+static void _mp_set_as_view_prelisten_set_uri(void *data)
+{
+ MpSetAsView_t *view = (MpSetAsView_t *) data;
+ MP_CHECK(view);
+ MP_CHECK(view->player);
+
+ char *path = NULL; /* do not free */
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ path = view->path;
+ MP_CHECK(path);
+
+ int ret = PLAYER_ERROR_NONE;
+ ret = player_set_uri(view->player, path);
+ if (ret != PLAYER_ERROR_NONE) {
+ ERROR_TRACE("Set URI failed");
+ }
+}
+
+static void _mp_set_as_view_prelisten_prepare(void *data)
+{
+ MpSetAsView_t *view = (MpSetAsView_t *) data;
+ MP_CHECK(view);
+ MP_CHECK(view->player);
+
+ int ret = PLAYER_ERROR_NONE;
+ ret = player_prepare(view->player);
+ if (ret != PLAYER_ERROR_NONE) {
+ ERROR_TRACE("prepare player failed");
+ }
+}
+
+static void _mp_set_as_view_prelisten_start(void *data)
+{
+ MpSetAsView_t *view = (MpSetAsView_t *) data;
+ MP_CHECK(view);
+ MP_CHECK(view->player);
+
+ int ret = PLAYER_ERROR_NONE;
+ ret = player_start(view->player);
+ if (ret != PLAYER_ERROR_NONE) {
+ ERROR_TRACE("start player failed");
+ }
+}
+
+static void _mp_set_as_view_prelisten_stop(void *data)
+{
+ MpSetAsView_t *view = (MpSetAsView_t *) data;
+ MP_CHECK(view);
+ MP_CHECK(view->player);
+
+ int ret = PLAYER_ERROR_NONE;
+ ret = player_stop(view->player);
+ if (ret != PLAYER_ERROR_NONE) {
+ ERROR_TRACE("stop player failed");
+ }
+}
+
+static void _mp_set_as_view_prelisten_pause(void *data)
+{
+ MpSetAsView_t *view = (MpSetAsView_t *) data;
+ MP_CHECK(view);
+ MP_CHECK(view->player);
+
+ int ret = PLAYER_ERROR_NONE;
+ ret = player_pause(view->player);
+ if (ret != PLAYER_ERROR_NONE) {
+ ERROR_TRACE("pause player failed");
+ }
+}
+
+static player_state_e _mp_set_as_view_prelisten_get_state(void *data)
+{
+ MpSetAsView_t *view = (MpSetAsView_t *) data;
+ MP_CHECK_VAL(view, PLAYER_STATE_NONE);
+ MP_CHECK_VAL(view->player, PLAYER_STATE_NONE);
+
+ int ret = PLAYER_ERROR_NONE;
+ player_state_e state = PLAYER_STATE_NONE;
+ ret = player_get_state(view->player, &state);
+ if (ret != PLAYER_ERROR_NONE) {
+ ERROR_TRACE("get player state failed");
+ }
+ return state;
+}
+
+static void __mp_set_as_view_player_seek_completed_cb(void *data)
+{
+ MpSetAsView_t *view = (MpSetAsView_t *) data;
+ MP_CHECK(view);
+ MP_CHECK(view->player);
+
+ ERROR_TRACE("seek done");
+ int millisecond = 0;
+ player_get_play_position(view->player, &millisecond);
+ DEBUG_TRACE("position is %d", millisecond);
+ _mp_set_as_view_prelisten_start(data);
+
+ _mp_set_as_view_moved_recommended_time(view);
+}
+
+static void _mp_set_as_view_prelisten_set_position(void *data,
+ player_seek_completed_cb
+ callback, void *cb_data,
+ bool flag_position)
+{
+ MpSetAsView_t *view = (MpSetAsView_t *) data;
+ MP_CHECK(view);
+ MP_CHECK(view->player);
+
+ DEBUG_TRACE("seek postion is %d", view->position);
+ int position = flag_position ? view->position : 0;
+ int ret = PLAYER_ERROR_NONE;
+ ret =
+ player_set_play_position(view->player, position, TRUE, callback,
+ cb_data);
+ if (ret != PLAYER_ERROR_NONE) {
+ ERROR_TRACE("set position failed");
+ }
+}
+
+/**************************/
+
+/************SMAT related*****************/
+void *observer(void *data)
+{
+ MpSetAsView_t *view = (MpSetAsView_t *) data;
+ MP_CHECK_NULL(view);
+
+ long int pos = 0;
+ /*SMAT id = param;
+ SMAT_INFO info;
+ info.seg_infos = NULL;
+
+ while (1) */
+ {
+ /*nowstat = smat_get_stat(id);
+ if (nowstat == SMAT_CLST_DONE) */
+ {
+ /*smat_get_info(id,&info);
+ pos = info.time / 1000;
+ DEBUG_TRACE("*Selected Pos : [%ld:%ld]", (((pos)%3600)/60),(((pos)%3600)%60));
+ view->position = info.time;
+ break; */
+ }
+ /*else if (nowstat == SMAT_QUIT ) */
+ {
+ /*break; */
+ }
+ }
+
+ ecore_pipe_write(view->smat_pipe, &pos, sizeof(pos));
+ return NULL;
+}
+
+void _mp_set_as_view_smat_pipe_cb(void *data, void *buffer,
+ unsigned int nbyte)
+{
+ startfunc;
+ MpSetAsView_t *view = (MpSetAsView_t *) data;
+ MP_CHECK(view);
+
+ long int message = (long int) buffer;
+
+ DEBUG_TRACE("Position is %ld", message);
+
+ /* smat_deinit(id); */
+
+ /*set recommended text */
+ Evas_Object *genlist = view->content;
+ Evas_Object *layout =
+ elm_object_item_part_content_get(elm_genlist_nth_item_get
+ (genlist,
+ MP_SET_AS_RECOMMEND_PRE_LISTEN),
+ "elm.icon");
+ Evas_Object *recommended_txt =
+ elm_object_part_content_get(layout, "recommended_text_play");
+ char *recommended_time =
+ _mp_set_as_view_time_to_string(view->position);
+ mp_util_domain_translatable_text_set(recommended_txt,
+ recommended_time);
+ IF_FREE(recommended_time);
+ /* evas_object_show(recommended_txt); */
+ Evas_Object *progressbar =
+ elm_object_part_content_get(layout, "progress_bar");
+ elm_progressbar_value_set(progressbar,
+ (double) (1.0 -
+ (double) view->position /
+ (double) view->duration));
+
+ _mp_set_as_view_prelisten_set_position(view,
+ __mp_set_as_view_player_seek_completed_cb,
+ view, true);
+}
+
+void
+_mp_set_as_view_smat_popup_back_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ return;
+}
+
+/**************************/
+static void _mp_set_as_view_moved_recommended_time(void *data)
+{
+ MpSetAsView_t *view = (MpSetAsView_t *) data;
+ MP_CHECK(view);
+ MP_CHECK(view->player);
+
+ double ratio = 0;
+ Evas_Coord px = 0, py = 0, pw = 0, ph = 0;
+ Evas_Coord rx = 0, ry = 0, rw = 0, rh = 0;
+ Evas_Object *genlist = view->content;
+ Evas_Object *layout =
+ elm_object_item_part_content_get(elm_genlist_nth_item_get
+ (genlist,
+ MP_SET_AS_RECOMMEND_PRE_LISTEN),
+ "elm.icon");
+ Evas_Object *recommended_layout =
+ elm_object_part_content_get(layout, "recommended_text_play");
+ Evas_Object *recommended_txt =
+ elm_object_part_content_get(recommended_layout,
+ "progressbar_playing");
+ Evas_Object *progressbar =
+ elm_object_part_content_get(layout, "progress_bar");
+
+ char *recommended_time =
+ _mp_set_as_view_time_to_string(view->position);
+ mp_util_domain_translatable_text_set(recommended_txt,
+ recommended_time);
+ IF_FREE(recommended_time);
+
+ if (progressbar == NULL) {
+ DEBUG_TRACE("recommended_txt is NULL");
+ } else {
+ evas_object_geometry_get(progressbar, &px, &py, &pw, &ph);
+ }
+ if ((double) view->duration != 0) {
+ ratio = (double) view->position / (double) view->duration;
+ }
+ int position = pw * ratio + px;
+ if (recommended_txt == NULL) {
+ DEBUG_TRACE("recommended_txt is NULL");
+ } else {
+
+ evas_object_geometry_get(recommended_txt, &rx, &ry, &rw, &rh);
+
+ if (pw != 0) {
+ edje_object_part_drag_value_set(elm_layout_edje_get
+ (recommended_layout),
+ "progressbar_playing",
+ (double) (position -
+ rw / 2) /
+ (double) pw, 0.0);
+ }
+ }
+ evas_object_show(recommended_txt);
+ mp_evas_object_del(view->progress_popup);
+}
+
+static Eina_Bool _move_idler(void *data)
+{
+ MpSetAsView_t *view = (MpSetAsView_t *) data;
+ MP_CHECK_FALSE(view);
+
+ _mp_set_as_view_moved_recommended_time(view);
+
+ view->move_idler = NULL;
+ return ECORE_CALLBACK_CANCEL;
+}
+
+static Evas_Object *_mp_set_as_view_gl_contents_get(void *data,
+ Evas_Object * obj,
+ const char *part)
+{
+ MpSetAsView_t *view = evas_object_data_get(obj, "view");
+ MP_CHECK_VAL(view, NULL);
+
+ Evas_Object *content = NULL;
+ item_data_s *item_data = (item_data_s *) data;
+ MP_CHECK_NULL(item_data);
+ const Elm_Genlist_Item_Class *item_class = NULL;
+ int index = item_data->index;
+
+ DEBUG_TRACE("index is %d", index);
+ /* if edit mode */
+ if (!strcmp(part, "elm.icon")) {
+ switch (index) {
+ case MP_SET_AS_FROM_START:
+ case MP_SET_AS_RECOMMEND:
+ case MP_SET_AS_PHONE_RINGTONE:
+ case MP_SET_AS_CALLER_RINGTONE:
+ case MP_SET_AS_ALARM_TONE:
+ /* swallow checkbox or radio button */
+ content = elm_radio_add(obj);
+ elm_radio_state_value_set(content, index);
+ if (index == MP_SET_AS_FROM_START
+ || index == MP_SET_AS_RECOMMEND) {
+ elm_radio_group_add(content, g_radio_recommend);
+ } else if (index >= MP_SET_AS_PHONE_RINGTONE
+ && index <= MP_SET_AS_ALARM_TONE) {
+ elm_radio_group_add(content, g_radio_set_as_type);
+ }
+
+ evas_object_size_hint_weight_set(content, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(content, EVAS_HINT_FILL,
+ EVAS_HINT_FILL);
+ evas_object_propagate_events_set(content, TRUE);
+ /* evas_object_smart_callback_add(content, "changed", _radio_cb, view); */
+ break;
+ case MP_SET_AS_RECOMMEND_PRE_LISTEN:
+ item_class = elm_genlist_item_item_class_get(item_data->item);
+ if (!g_strcmp0
+ (item_class->item_style, "music/1icon/set_as_full")) {
+ if (!mp_util_is_landscape()) {
+ content =
+ mp_common_load_edj(obj, MP_EDJ_NAME,
+ "music/set_as/prelisten");
+ } else {
+ content =
+ mp_common_load_edj(obj, MP_EDJ_NAME,
+ "music/set_as/prelisten_ld");
+ }
+ mp_util_domain_translatable_part_text_set(content,
+ "recommended_text",
+ STR_MP_SET_AS_RECOMMENDED_TXT);
+ Evas_Object *progressbar = elm_progressbar_add(content);
+ elm_object_style_set(progressbar, "list_progress");
+ elm_progressbar_inverted_set(progressbar, EINA_TRUE);
+ elm_progressbar_horizontal_set(progressbar, EINA_TRUE);
+ evas_object_size_hint_align_set(progressbar,
+ EVAS_HINT_FILL,
+ EVAS_HINT_FILL);
+ evas_object_size_hint_weight_set(progressbar,
+ EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ elm_progressbar_value_set(progressbar,
+ (double) (1.0 -
+ (double) view->
+ position /
+ (double) view->
+ duration));
+ evas_object_show(progressbar);
+ elm_object_part_content_set(content, "progress_bar",
+ progressbar);
+
+ Evas_Object *recommended_layout =
+ mp_common_load_edj(content, MP_EDJ_NAME,
+ "movable_text");
+ elm_object_part_content_set(content,
+ "recommended_text_play",
+ recommended_layout);
+ Evas_Object *recommended_txt =
+ elm_label_add(recommended_layout);
+ elm_object_part_content_set(recommended_layout,
+ "progressbar_playing",
+ recommended_txt);
+ if (view->position != -1) {
+ char *recommended_time =
+ _mp_set_as_view_time_to_string(view->position);
+ mp_util_domain_translatable_text_set(recommended_txt,
+ recommended_time);
+ IF_FREE(recommended_time);
+
+ if (view->move_idler == NULL) {
+ view->move_idler =
+ ecore_idler_add(_move_idler, view);
+ }
+ } else {
+ evas_object_hide(recommended_layout);
+ }
+
+ /*set duration */
+ char *total_time =
+ _mp_set_as_view_time_to_string(view->duration);
+ mp_util_domain_translatable_part_text_set(content,
+ "progress_text_total",
+ total_time);
+ IF_FREE(total_time);
+ } else
+ if (!g_strcmp0
+ (item_class->item_style, "music/1icon/set_as_text")) {
+ content =
+ mp_common_load_edj(obj, MP_EDJ_NAME,
+ "music/set_as/prelisten_text");
+ mp_util_domain_translatable_part_text_set(content,
+ "recommended_text",
+ STR_MP_SET_AS_RECOMMENDED_TXT);
+ }
+ break;
+ }
+ }
+
+ return content;
+}
+
+
+static char *_mp_set_as_view_gl_label_get(void *data, Evas_Object * obj,
+ const char *part)
+{
+ item_data_s *item_data = (item_data_s *) data;
+ MP_CHECK_NULL(item_data);
+ int index = item_data->index;
+
+ char *txt = NULL;
+
+ if (strcmp(part, "elm.text") == 0) {
+ switch (index) {
+ case MP_SET_AS_FROM_START:
+ txt = STR_MP_SET_AS_FROM_BEGIN;
+ break;
+ case MP_SET_AS_RECOMMEND:
+ txt = STR_MP_SET_AS_AUTO_RECOMMEND;
+ break;
+ case MP_SET_AS_RECOMMEND_PRE_LISTEN:
+ txt = STR_MP_SET_AS_RECOMMENDED_TXT;
+ break;
+ case MP_SET_AS_TITLE:
+ txt = STR_MP_SET_AS;
+ break;
+ case MP_SET_AS_PHONE_RINGTONE:
+ txt = STR_MP_SET_AS_PHONE_RINGTONG;
+ break;
+ case MP_SET_AS_CALLER_RINGTONE:
+ txt = STR_MP_SET_AS_CALLER_RINGTONG;
+ break;
+ case MP_SET_AS_ALARM_TONE:
+ txt = STR_MP_SET_AS_ALARM_TONE;
+ break;
+ default:
+ break;
+ }
+ }
+ return g_strdup(GET_STR(txt));
+}
+
+static void _mp_set_as_view_enable_done_btn(MpSetAsView_t * view)
+{
+ MP_CHECK(view);
+
+ Evas_Object *left_btn =
+ elm_object_item_part_content_get(view->navi_it, "title_right_btn");
+ elm_object_disabled_set(left_btn, false);
+}
+
+static void _gl_sel(void *data, Evas_Object * obj, void *event_info)
+{
+ startfunc;
+ MpSetAsView_t *view = evas_object_data_get(obj, "view");
+ MP_CHECK(view);
+
+ item_data_s *item_data = (item_data_s *) data;
+ MP_CHECK(item_data);
+ int index = item_data->index;
+ int old_index = -1;
+
+ elm_genlist_item_selected_set(event_info, EINA_FALSE);
+
+ Evas_Object *radio_group = NULL;
+ if (index == MP_SET_AS_FROM_START || index == MP_SET_AS_RECOMMEND) {
+ radio_group = g_radio_recommend;
+ old_index = view->recommended;
+ view->recommended = index;
+
+ /*pause the main player */
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ if (ad->player_state == PLAY_STATE_PLAYING) {
+ view->need_to_resume = TRUE;
+ mp_play_control_play_pause(ad, FALSE);
+ }
+
+ } else if (index >= MP_SET_AS_PHONE_RINGTONE
+ && index <= MP_SET_AS_ALARM_TONE) {
+ radio_group = g_radio_set_as_type;
+ old_index = view->set_as_type;
+ view->set_as_type = index;
+ }
+
+ if (view->set_as_type != -1 && view->recommended != -1) { /*enable left_button */
+ _mp_set_as_view_enable_done_btn(view);
+ view->button_enable = TRUE;
+ }
+
+ elm_radio_value_set(radio_group, index);
+ evas_object_smart_callback_call(radio_group, "changed", NULL);
+
+ if (!mp_media_info_uri_is_exist_in_db(view->path)) {
+ /*the popup followed S5 */
+ if (index == MP_SET_AS_FROM_START) {
+ mp_widget_text_popup(NULL, GET_STR(STR_MP_PLAYER_UNSUPPORT));
+ } else if (index == MP_SET_AS_RECOMMEND) {
+ mp_widget_text_popup(NULL,
+ GET_STR(STR_MP_RECOMMENDATION_UNSUPPORT));
+ }
+ return;
+ }
+
+ player_state_e state = _mp_set_as_view_prelisten_get_state(view);
+ if (old_index == index) {
+ DEBUG_TRACE("-------->same item clicked");
+ if (index == MP_SET_AS_FROM_START || index == MP_SET_AS_RECOMMEND) {
+ if (state == PLAYER_STATE_PLAYING) {
+ _mp_set_as_view_prelisten_pause(view);
+ if (index == MP_SET_AS_FROM_START) {
+ _mp_set_as_view_prelisten_set_position(view, NULL,
+ NULL, false);
+ }
+ if (index == MP_SET_AS_RECOMMEND) {
+ _mp_set_as_view_prelisten_set_position(view, NULL,
+ NULL, true);
+ }
+ } else if (state == PLAYER_STATE_PAUSED) {
+ _mp_set_as_view_prelisten_start(view);
+ }
+ }
+ } else {
+ if (old_index == MP_SET_AS_RECOMMEND) {
+ /*get item */
+ Elm_Object_Item *recommended_item =
+ elm_genlist_nth_item_get(obj,
+ MP_SET_AS_RECOMMEND_PRE_LISTEN);
+ /*update item class to text */
+ elm_genlist_item_item_class_update(recommended_item,
+ view->recommend_itc_text);
+ elm_genlist_item_update(recommended_item);
+
+ /* view->position = 0; */
+ } else {
+ if (index == MP_SET_AS_RECOMMEND) {
+ /*get item */
+ Elm_Object_Item *recommended_item =
+ elm_genlist_nth_item_get(obj,
+ MP_SET_AS_RECOMMEND_PRE_LISTEN);
+ /*update item class to full */
+ elm_genlist_item_item_class_update(recommended_item,
+ view->
+ recommend_itc_full);
+ elm_genlist_item_update(recommended_item);
+
+ /*get smat
+ SMAT_INFO infos;
+ memset(&infos, 0, sizeof(SMAT_INFO));
+ if (view->position == -1)
+ _mp_set_as_view_get_recommend(view, &infos); */
+ }
+ }
+
+ if (index == MP_SET_AS_FROM_START) {
+ _mp_set_as_view_prelisten_set_position(view,
+ __mp_set_as_view_player_seek_completed_cb,
+ view, false);
+ }
+
+ if (index == MP_SET_AS_RECOMMEND && view->position != -1) {
+ _mp_set_as_view_prelisten_set_position(view,
+ __mp_set_as_view_player_seek_completed_cb,
+ view, true);
+ }
+ }
+ return;
+
+}
+
+static void _mp_set_as_list_item_del(void *data, Evas_Object * obj)
+{
+ startfunc;
+ item_data_s *item_data = data;
+ MP_CHECK(item_data);
+ free(item_data);
+}
+
+static void _mp_set_as_view_load_genlist_itc(MpSetAsView_t * view)
+{
+ startfunc;
+ mp_retm_if(!view, "INVALID param");
+
+ if (view->radio_itc == NULL) {
+ view->radio_itc = elm_genlist_item_class_new();
+ MP_CHECK(view->radio_itc);
+ view->radio_itc->item_style = "1text.1icon.3";
+ view->radio_itc->func.text_get = _mp_set_as_view_gl_label_get;
+ view->radio_itc->func.content_get =
+ _mp_set_as_view_gl_contents_get;
+ view->radio_itc->func.del = _mp_set_as_list_item_del;
+ }
+
+ if (view->title_itc == NULL) {
+ view->title_itc = elm_genlist_item_class_new();
+ MP_CHECK(view->title_itc);
+ view->title_itc->func.text_get = _mp_set_as_view_gl_label_get;
+ view->title_itc->func.content_get = NULL;
+ view->title_itc->item_style = "1text";
+ view->title_itc->func.del = _mp_set_as_list_item_del;
+ }
+
+ if (view->recommend_itc_full == NULL) {
+ view->recommend_itc_full = elm_genlist_item_class_new();
+ MP_CHECK(view->recommend_itc_full);
+ view->recommend_itc_full->item_style = "music/1icon/set_as_full";
+ view->recommend_itc_full->func.content_get =
+ _mp_set_as_view_gl_contents_get;
+ view->recommend_itc_full->func.del = _mp_set_as_list_item_del;
+ }
+ if (view->recommend_itc_text == NULL) {
+ view->recommend_itc_text = elm_genlist_item_class_new();
+ MP_CHECK(view->recommend_itc_text);
+ view->recommend_itc_text->item_style = "music/1icon/set_as_text";
+ view->recommend_itc_text->func.content_get =
+ _mp_set_as_view_gl_contents_get;
+ view->recommend_itc_text->func.del = _mp_set_as_list_item_del;
+ }
+}
+
+
+static void
+_mp_set_as_view_append_genlist_items(Evas_Object * genlist,
+ MpSetAsView_t * view)
+{
+ startfunc;
+ int i;
+ Elm_Genlist_Item_Class *itc = NULL;
+ /*Elm_Object_Item *item; */
+ Elm_Genlist_Item_Type flag = ELM_GENLIST_ITEM_NONE;
+ mp_retm_if(!view, "INVALID param");
+
+ _mp_set_as_view_load_genlist_itc(view);
+
+ for (i = MP_SET_AS_FROM_START; i < MP_SET_AS_MAX; i++) {
+ switch (i) {
+ case MP_SET_AS_FROM_START:
+ case MP_SET_AS_RECOMMEND:
+ case MP_SET_AS_PHONE_RINGTONE:
+ case MP_SET_AS_CALLER_RINGTONE:
+ case MP_SET_AS_ALARM_TONE:
+ itc = view->radio_itc;
+ break;
+ case MP_SET_AS_TITLE:
+ itc = view->title_itc;
+ break;
+ case MP_SET_AS_RECOMMEND_PRE_LISTEN:
+ itc = view->recommend_itc_text;
+ break;
+ }
+
+ item_data_s *item_data = calloc(1, sizeof(item_data_s));
+ MP_CHECK(item_data);
+ item_data->index = i;
+
+ item_data->item =
+ elm_genlist_item_append(genlist, itc, (void *) item_data, NULL,
+ flag, _gl_sel, (void *) item_data);
+ if (i == MP_SET_AS_TITLE || i == MP_SET_AS_RECOMMEND_PRE_LISTEN) {
+ elm_genlist_item_select_mode_set(item_data->item,
+ ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+ }
+ }
+}
+
+static Evas_Object *_mp_set_as_view_create_list(MpSetAsView_t * view,
+ Evas_Object * parent)
+{
+ startfunc;
+ MP_CHECK_VAL(view, NULL);
+
+ Evas_Object *genlist = mp_widget_genlist_create(parent);
+ elm_scroller_policy_set(genlist, ELM_SCROLLER_POLICY_OFF,
+ ELM_SCROLLER_POLICY_AUTO);
+ evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL,
+ EVAS_HINT_FILL);
+ view->content = genlist;
+
+ g_radio_recommend = elm_radio_add(genlist);
+ elm_radio_state_value_set(g_radio_recommend, -1);
+ elm_radio_value_set(g_radio_recommend, -1);
+
+ g_radio_set_as_type = elm_radio_add(genlist);
+ elm_radio_state_value_set(g_radio_set_as_type, -1);
+ elm_radio_value_set(g_radio_set_as_type, -1);
+
+ _mp_set_as_view_append_genlist_items(genlist, view);
+
+ evas_object_show(genlist);
+ evas_object_data_set(genlist, "view", view);
+ return genlist;
+}
+
+static Eina_Bool _mp_set_as_view_pop_cb(void *data, Elm_Object_Item * it)
+{
+ startfunc;
+
+ MpSetAsView_t *view = (MpSetAsView_t *) data;
+ MP_CHECK_VAL(view, EINA_TRUE);
+ mp_view_mgr_pop_view(GET_VIEW_MGR, true);
+
+ endfunc;
+ return EINA_TRUE;
+}
+
+static int _mp_set_as_view_update(void *thiz)
+{
+ startfunc;
+ MpSetAsView_t *view = thiz;
+ MP_CHECK_VAL(view, -1);
+ MP_CHECK_VAL(view->navi_it, -1);
+
+
+ endfunc;
+ return 0;
+}
+
+static int _mp_set_as_view_set_caller_rington(char *path)
+{
+ int ret = -1;
+ ret =
+ system_settings_set_value_string
+ (SYSTEM_SETTINGS_KEY_INCOMING_CALL_RINGTONE, path);
+ if (ret != SYSTEM_SETTINGS_ERROR_NONE) {
+ mp_error("system_settings_set_value_string()... [0x%x]", ret);
+ return -1;
+ }
+ return ret;
+
+}
+
+static void _done_button_clicked_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ MpSetAsView_t *view = (MpSetAsView_t *) data;
+ MP_CHECK(view);
+ /*1. get selected item
+ 1.1 get from start or recommended */
+ int recommend = elm_radio_value_get(g_radio_recommend);
+ /*1.2 get what to set as */
+ int type = elm_radio_value_get(g_radio_set_as_type);
+ int position = 0;
+
+ DEBUG_TRACE("Auto recommand %d, pos: %d", recommend, view->position);
+ DEBUG_TRACE("type %d", type);
+
+ if (recommend == 1) {
+ position = view->position;
+ }
+
+ int ret = 0;
+ char *path = NULL; /* do not free */
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ path = view->path;
+ MP_CHECK(path);
+ if (!mp_media_info_uri_is_exist_in_db(view->path)) {
+ /*delete set as view */
+ MpViewMgr_t *view_mgr = GET_VIEW_MGR;
+ mp_view_mgr_delete_view(view_mgr, MP_VIEW_SET_AS);
+ return;
+ }
+
+
+ switch (type) {
+ case MP_SET_AS_PHONE_RINGTONE:{
+ char *popup_txt = NULL;
+ ret = _mp_set_as_view_set_caller_rington(path);
+
+ if (!ret) {
+ popup_txt = GET_SYS_STR("IDS_COM_POP_SUCCESS");
+ } else {
+ popup_txt = GET_SYS_STR("IDS_COM_POP_FAILED");
+ }
+
+ mp_widget_text_popup(ad, popup_txt);
+ break;
+ }
+ case MP_SET_AS_CALLER_RINGTONE:
+ mp_ug_contact_user_sel(path, ad);
+ break;
+ case MP_SET_AS_ALARM_TONE:
+ mp_ug_set_as_alarm_tone(path, position);
+ break;
+ default:
+ break;
+ }
+
+ /*delete set as view */
+ MpViewMgr_t *view_mgr = GET_VIEW_MGR;
+ mp_view_mgr_delete_view(view_mgr, MP_VIEW_SET_AS);
+}
+
+static void _cancel_button_clicked_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ MpSetAsView_t *view = (MpSetAsView_t *) data;
+ MP_CHECK(view);
+
+ MpViewMgr_t *view_mgr = GET_VIEW_MGR;
+ mp_view_mgr_delete_view(view_mgr, MP_VIEW_SET_AS);
+}
+
+static int _mp_set_as_view_update_option_cb(void *thiz)
+{
+ startfunc;
+ MpSetAsView_t *view = thiz;
+ MP_CHECK_VAL(view, -1);
+ MP_CHECK_VAL(view->navi_it, -1);
+
+ elm_naviframe_item_pop_cb_set(view->navi_it, _mp_set_as_view_pop_cb,
+ view);
+
+ Evas_Object *left_btn =
+ elm_object_item_part_content_unset(view->navi_it,
+ "title_left_btn");
+ Evas_Object *right_btn =
+ elm_object_item_part_content_unset(view->navi_it,
+ "title_right_btn");
+ mp_evas_object_del(left_btn);
+ mp_evas_object_del(right_btn);
+
+ left_btn =
+ mp_create_title_text_btn(view->layout, STR_MP_CANCEL, NULL, NULL);
+ elm_object_item_part_content_set(view->navi_it, "title_left_btn",
+ left_btn);
+ evas_object_smart_callback_add(left_btn, "clicked",
+ _cancel_button_clicked_cb, view);
+
+ right_btn =
+ mp_create_title_text_btn(view->layout, STR_MP_DONE, NULL, NULL);
+ elm_object_item_part_content_set(view->navi_it, "title_right_btn",
+ right_btn);
+ evas_object_smart_callback_add(right_btn, "clicked",
+ _done_button_clicked_cb, view);
+ if (!view->button_enable) {
+ elm_object_disabled_set(right_btn, true);
+ }
+
+ endfunc;
+ return 0;
+}
+
+static void _mp_set_as_view_destory_cb(void *thiz)
+{
+ startfunc;
+ MpSetAsView_t *view = thiz;
+ MP_CHECK(view);
+ mp_set_as_view_destory(view);
+
+ mp_view_fini((MpView_t *) view);
+
+ free(view);
+}
+
+static void _mp_set_as_view_on_event(void *thiz, MpViewEvent_e event)
+{
+ startfunc;
+ MpSetAsView_t *view = thiz;
+ DEBUG_TRACE("event is %d", event);
+ switch (event) {
+ /* when the track rename/move/delete should destroy the player */
+ case MP_DB_UPDATED:
+ if (!mp_media_info_uri_is_exist_in_db(view->path)) {
+ player_state_e state =
+ _mp_set_as_view_prelisten_get_state(view);
+ if (state <= PLAYER_STATE_PAUSED
+ && state >= PLAYER_STATE_READY) {
+ _mp_set_as_view_prelisten_stop(view);
+ _mp_set_as_view_destroy_player(view);
+ }
+ }
+ break;
+ default:
+ break;
+ }
+ MP_CHECK(view);
+
+}
+
+static void _mp_set_as_view_resume(void *thiz)
+{
+ startfunc;
+ MpSetAsView_t *view = (MpSetAsView_t *) thiz;
+ _mp_set_as_view_update((void *) view);
+}
+
+static int
+_mp_set_as_view_init(Evas_Object * parent, MpSetAsView_t * view,
+ void *data)
+{
+ startfunc;
+ int ret = 0;
+
+ ret = mp_view_init(parent, (MpView_t *) view, MP_VIEW_SET_AS);
+ MP_CHECK_VAL(ret == 0, -1);
+
+ view->update = _mp_set_as_view_update;
+ view->update_options = _mp_set_as_view_update_option_cb;
+ view->update_options_edit = NULL;
+ view->view_destroy_cb = _mp_set_as_view_destory_cb;
+ view->set_nowplaying = NULL;
+ view->unset_nowplaying = NULL;
+ view->update_nowplaying = NULL;
+ view->start_playback = NULL;
+ view->pause_playback = NULL;
+ view->on_event = _mp_set_as_view_on_event;
+ view->view_resume = _mp_set_as_view_resume;
+
+ view->content = _mp_set_as_view_create_list(view, parent);
+
+ MP_CHECK_VAL(view->content, -1);
+ elm_object_part_content_set(view->layout, "list_content",
+ view->content);
+
+ view->path = (char *) data;
+ _mp_set_as_view_create_player(view);
+ _mp_set_as_view_prelisten_set_uri(view);
+ _mp_set_as_view_prelisten_prepare(view);
+
+ view->duration = _mp_set_as_view_get_duration(view);
+
+ view->set_as_type = -1;
+ view->recommended = -1;
+ view->position = -1;
+
+ return ret;
+}
+
+/*param void *data is used to update previous view..
+ change mp_media_info_h to path,becacuse path can deal with exception(rename...)*/
+EXPORT_API MpSetAsView_t *mp_set_as_view_create(Evas_Object * parent,
+ char *path)
+{
+ startfunc;
+ int ret;
+ MP_CHECK_NULL(parent);
+
+ MpSetAsView_t *view = calloc(1, sizeof(MpSetAsView_t));
+ MP_CHECK_NULL(view);
+
+ ret = _mp_set_as_view_init(parent, view, (void *) path);
+ if (ret) {
+ goto Error;
+ }
+
+ return view;
+
+ Error:
+ ERROR_TRACE("Error: mp_set_as_view_create()");
+ IF_FREE(view);
+ return NULL;
+}
+
+int mp_set_as_view_destory(MpSetAsView_t * view)
+{
+ startfunc;
+ MP_CHECK_VAL(view, -1);
+
+ if (view->radio_itc) {
+ elm_genlist_item_class_free(view->radio_itc);
+ }
+ if (view->recommend_itc_full) {
+ elm_genlist_item_class_free(view->recommend_itc_full);
+ }
+ if (view->recommend_itc_text) {
+ elm_genlist_item_class_free(view->recommend_itc_text);
+ }
+ if (view->title_itc) {
+ elm_genlist_item_class_free(view->title_itc);
+ }
+
+
+ player_state_e state = _mp_set_as_view_prelisten_get_state(view);
+ if (state <= PLAYER_STATE_PAUSED && state >= PLAYER_STATE_READY) { /*player is active */
+ _mp_set_as_view_prelisten_stop(view);
+ _mp_set_as_view_destroy_player(view);
+ }
+
+ if (view->need_to_resume == TRUE) {
+ struct appdata *ad = mp_util_get_appdata();
+ mp_play_control_play_pause(ad, TRUE);
+ }
+
+ if (view->smat_pipe) {
+ ecore_pipe_del(view->smat_pipe);
+ view->smat_pipe = NULL;
+ }
+
+ return 0;
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include "mp-setting-view.h"
+#include "music.h"
+#include "mp-player-debug.h"
+#include "mp-player-mgr.h"
+#include "app_manager.h"
+#include "mp-popup.h"
+#include "mp-ctxpopup.h"
+#include "ms-playlist.h"
+#include "mp-util.h"
+#include "mp-list.h"
+#include "mp-common.h"
+#include <runtime_info.h>
+#include <efl_extension.h>
+#include "mp-player-view.h"
+
+#define GL_POPUP_GENLIST_HEIGHT_HD 230
+#define GL_POPUP_GENLIST_WIDTH_HD 500
+#define GL_POPUP_GENLIST_HEIGHT_QHD 185
+#define GL_POPUP_GENLIST_WIDTH_QHD 450
+#define GL_POPUP_GENLIST_HEIGHT_WVGA 202
+#define GL_POPUP_GENLIST_WIDTH_WVGA 480
+#define ELMEMTARY_SCALE_SIZE(x) (int)(((double)(x) * elm_config_scale_get()) / elm_app_base_scale_get())
+#define MP_POPUP_MENUSTYLE_HEIGHT(x) (50*x)
+
+#define GL_STR_SCREEN_WIDTH_HD 720
+#define GL_STR_SCREEN_HEIGHT_HD 1280
+#define GL_STR_SCREEN_WIDTH_QHD 540
+#define GL_STR_SCREEN_HEIGHT_QHD 960
+#define GL_STR_SCREEN_WIDTH_WVGA 480
+#define GL_STR_SCREEN_HEIGHT_WVGA 800
+
+#define TAB_COUNT 7
+
+static Evas_Object *group_radio;
+static char *tab_str[TAB_COUNT] = { STR_MP_PLAYLISTS, STR_MP_TRACKS,
+ STR_MP_ALBUMS, STR_MP_ARTISTS,
+ STR_MP_GENRES, STR_MP_FOLDERS, STR_MP_SQUARE
+};
+static int tab_index[TAB_COUNT] = { 0 };
+
+static Evas_Object *check_boxs[MP_SETTING_TABS_ITEM_MAX];
+static int tab_state = 0;
+static Evas_Object *_mp_setting_view_tabs_list_create(MpSettingView_t *
+ view,
+ Evas_Object *
+ parent);
+
+static int _ms_se_state_set(MpSettingView_t * data)
+{
+ MpSettingView_t *view = data;
+
+ mp_retvm_if(view == NULL, -1, "ug_data is NULL");
+ /* ms_effect_view_update_radio_button(); */
+ return 0;
+}
+
+static void _ms_key_change_cb(const char *key, void *user_data)
+{
+ MpSettingView_t *view = NULL;
+ view = (MpSettingView_t *) user_data;
+ if (strcmp(key, KEY_MUSIC_SE_CHANGE) == 0) {
+ _ms_se_state_set(view);
+ }
+ return;
+}
+
+static void _ms_key_change_cb_init(void *data)
+{
+ MpSettingView_t *view = NULL;
+ view = (MpSettingView_t *) data;
+ if (preference_set_changed_cb(KEY_MUSIC_SE_CHANGE,
+ _ms_key_change_cb, view)) {
+ ERROR_TRACE("Error when register callback");
+ }
+}
+
+static void _ms_key_change_cb_deinit(void)
+{
+ preference_unset_changed_cb(KEY_MUSIC_SE_CHANGE);
+ runtime_info_unset_changed_cb(RUNTIME_INFO_KEY_AUDIO_JACK_STATUS);
+}
+
+static void _lyrics_check_clicked_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+
+ Eina_Bool state = elm_check_state_get(obj);
+
+ WARN_TRACE("lyrics state changed [%d]", state);
+
+ preference_set_boolean(KEY_MUSIC_LYRICS, state);
+}
+
+
+static Evas_Object *_ms_gl_contents_get(void *data, Evas_Object * obj,
+ const char *part)
+{
+ Evas_Object *content = NULL;
+
+ if (!strcmp(part, "elm.icon.2")) {
+ content = elm_check_add(obj);
+ elm_check_state_set(content, EINA_TRUE);
+ elm_object_style_set(content, "on&off");
+ evas_object_smart_callback_add(content, "changed",
+ _lyrics_check_clicked_cb, NULL);
+
+ bool lyrics_state = FALSE;
+ preference_get_boolean(KEY_MUSIC_LYRICS, &lyrics_state);
+
+ elm_check_state_set(content, (int) lyrics_state);
+ evas_object_propagate_events_set(content, EINA_FALSE);
+ }
+
+ return content;
+}
+
+static char *_ms_gl_lyrics_label_get(void *data, Evas_Object * obj,
+ const char *part)
+{
+ /* DEBUG_TRACE("part name = [%s]", part); */
+
+ char *txt = NULL;
+
+ if (strcmp(part, "elm.text.main.left") == 0) {
+ txt = GET_STR(STR_MP_SHOW_LYRICS);
+ }
+ if (txt) {
+ return strdup(txt);
+ } else {
+ return NULL;
+ }
+}
+
+/*static char *
+_ms_gl_label_get(void *data, Evas_Object * obj, const char *part)
+{
+ //DEBUG_TRACE("part name = [%s]", part);
+
+ char *txt = NULL;
+
+ if (strcmp(part, "elm.text.main.left") == 0)
+ {
+ txt = GET_STR("IDS_MUSIC_BODY_PLAYLISTS");
+ }
+ if (txt)
+ return strdup(txt);
+ else
+ return NULL;
+
+}*/
+
+/*static void
+_ms_gl_expand(void *data, Evas_Object * obj, void *event_info)
+{
+ int param = (int)data;
+ DEBUG_TRACE("data: %d", param);
+}
+
+static void _gl_exp(void *data, Evas_Object *obj, void *event_info)
+{
+ DEBUG_TRACE("");
+ mp_retm_if (!event_info, "INVALID param");
+
+ Elm_Object_Item *item = (Elm_Object_Item *)event_info;
+ int main_menu = (int)elm_object_item_data_get(item);
+
+ _ms_gl_expand((void *)main_menu, obj, event_info);
+}
+
+static void _gl_con(void *data, Evas_Object *obj, void *event_info)
+{
+ DEBUG_TRACE("");
+
+ mp_retm_if (!event_info, "INVALID param");
+
+ Elm_Object_Item *item = event_info;
+ elm_genlist_item_subitems_clear(item);
+ elm_genlist_realized_items_update(obj);
+}*/
+
+static void
+_ms_setting_playlist_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ startfunc;
+ mp_evas_object_del(obj);
+ int response = (int) event_info;
+ int temp_playlist_state, playlist_state;
+
+ if (response == MP_POPUP_NO) {
+ DEBUG_TRACE("cancel btn click");
+
+ ms_playlist_check_state_get_val(&playlist_state);
+ ms_key_get_playlist_val(&temp_playlist_state);
+
+ if (temp_playlist_state != playlist_state) {
+ ms_playlist_check_state_set_val(temp_playlist_state);
+ }
+
+ return;
+ }
+
+ ms_playlist_check_state_get_val(&playlist_state);
+ ms_key_set_playlist_val(playlist_state);
+
+ return;
+
+}
+
+static void _gl_sel(void *data, Evas_Object * obj, void *event_info)
+{
+ mp_retm_if(!obj, "INVALID param");
+ mp_retm_if(!event_info, "INVALID param");
+
+ Elm_Object_Item *item = event_info;
+ elm_genlist_item_selected_set(item, EINA_FALSE);
+
+ ms_main_menu_item_t menu_item = (ms_main_menu_item_t) data;
+ if (menu_item == MS_MAIN_MENU_LYRICS) {
+ bool lyrics_state = false;
+ preference_get_boolean(KEY_MUSIC_LYRICS, &lyrics_state);
+ preference_set_boolean(KEY_MUSIC_LYRICS, !lyrics_state);
+ elm_genlist_item_update(event_info);
+ } else if (menu_item == MS_MAIN_MENU_PLAYLIST) {
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ MpViewMgr_t *view_mgr = mp_view_mgr_get_view_manager();
+ MP_CHECK(view_mgr);
+
+ Evas_Object *popup = NULL;
+ popup = mp_genlist_popup_create(ad->win_main,
+ MP_POPUP_SETTING_PLAYLIST, NULL,
+ ad);
+ mp_retm_if(!popup, "popup is NULL !!!");
+ mp_popup_response_callback_set(popup, _ms_setting_playlist_cb,
+ NULL);
+
+ Evas_Object *genlist = evas_object_data_get(popup, "genlist");
+ _ms_playlist_append_pop_genlist(genlist, view_mgr->navi);
+
+ evas_object_show(popup);
+
+ } else {
+ Eina_Bool expanded = EINA_FALSE;
+ expanded = elm_genlist_item_expanded_get(event_info);
+ elm_genlist_item_expanded_set(event_info, !expanded);
+ }
+}
+
+static void _ms_load_genlist_itc(MpSettingView_t * view)
+{
+ mp_retm_if(!view, "INVALID param");
+
+ /*if (view->itc[MS_ITC_TYPE_1TEXT_NO_EXP] == NULL) {
+ view->itc[MS_ITC_TYPE_1TEXT_NO_EXP] =
+ elm_genlist_item_class_new();
+ mp_assert(view->itc[MS_ITC_TYPE_1TEXT_NO_EXP]);
+ view->itc[MS_ITC_TYPE_1TEXT_NO_EXP]->func.text_get =
+ _ms_gl_label_get;
+ view->itc[MS_ITC_TYPE_1TEXT_NO_EXP]->item_style = "1line";
+ } */
+
+ if (view->itc[MS_ITC_TYPE_1TEXT_1ICON] == NULL) {
+ view->itc[MS_ITC_TYPE_1TEXT_1ICON] = elm_genlist_item_class_new();
+ mp_assert(view->itc[MS_ITC_TYPE_1TEXT_1ICON]);
+ view->itc[MS_ITC_TYPE_1TEXT_1ICON]->func.text_get =
+ _ms_gl_lyrics_label_get;
+ view->itc[MS_ITC_TYPE_1TEXT_1ICON]->func.content_get =
+ _ms_gl_contents_get;
+ view->itc[MS_ITC_TYPE_1TEXT_1ICON]->item_style = "1line";
+ }
+}
+
+
+static void
+_ms_append_genlist_items(Evas_Object * genlist, MpSettingView_t * view)
+{
+ int i;
+ Elm_Genlist_Item_Class *itc;
+ /* Elm_Object_Item *item; */
+ Elm_Genlist_Item_Type flag = ELM_GENLIST_ITEM_NONE;
+ mp_retm_if(!view, "INVALID param");
+
+ _ms_load_genlist_itc(view);
+
+ for (i = 0; i < MS_MAIN_MENU_ITEM_MAX; i++) {
+ if (i == MS_MAIN_MENU_LYRICS) {
+ flag = ELM_GENLIST_ITEM_NONE;
+ itc = view->itc[MS_ITC_TYPE_1TEXT_1ICON];
+ } else if (i == MS_MAIN_MENU_PLAYLIST) {
+ flag = ELM_GENLIST_ITEM_NONE;
+ itc = view->itc[MS_ITC_TYPE_1TEXT_NO_EXP];
+ }
+
+ view->gl_it[i] = elm_genlist_item_append(genlist, itc,
+ (void *) i, NULL, flag,
+ _gl_sel, (void *) i);
+ }
+}
+
+static void
+_mp_setting_view_gl_realized_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ Elm_Object_Item *gl_item = event_info;
+ MP_CHECK(gl_item);
+
+ const char *signal = NULL;
+
+ if (gl_item == elm_genlist_first_item_get(obj)) {
+ signal = "elm,state,top";
+ } else if (gl_item == elm_genlist_last_item_get(obj)) {
+ signal = "elm,state,bottom";
+ } else {
+ signal = "elm,state,center";
+ }
+
+ elm_object_item_signal_emit(gl_item, signal, "");
+}
+
+static void _mp_setting_view_gl_resize_cb(void *data, Evas * e,
+ Evas_Object * obj,
+ void *event_info)
+{
+ MpSettingView_t *view = (MpSettingView_t *) data;
+ MP_CHECK(view);
+
+ Elm_Object_Item *customized_item =
+ (Elm_Object_Item *) evas_object_data_get(obj, "customized_item");
+ int customized_on =
+ (int) evas_object_data_get(view->content, "customized_on");
+
+ if (customized_on)
+ elm_genlist_item_show(customized_item,
+ ELM_GENLIST_ITEM_SCROLLTO_IN);
+}
+
+static Evas_Object *_mp_setting_view_create_list(MpSettingView_t * view,
+ Evas_Object * parent)
+{
+ MP_CHECK_VAL(view, NULL);
+
+ Evas_Object *genlist = mp_widget_genlist_create(parent);
+ elm_scroller_policy_set(genlist,
+ ELM_SCROLLER_POLICY_OFF,
+ ELM_SCROLLER_POLICY_AUTO);
+ evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL,
+ EVAS_HINT_FILL);
+ view->content = genlist;
+ elm_object_style_set(genlist, "dialogue");
+ evas_object_smart_callback_add(genlist, "realized",
+ _mp_setting_view_gl_realized_cb, view);
+ evas_object_event_callback_add(genlist, EVAS_CALLBACK_RESIZE,
+ _mp_setting_view_gl_resize_cb, view);
+
+ _ms_append_genlist_items(genlist, view);
+
+ _ms_key_change_cb_init(view);
+
+ evas_object_show(genlist);
+ return genlist;
+}
+
+static Eina_Bool _mp_setting_view_pop_cb(void *data, Elm_Object_Item * it)
+{
+ startfunc;
+
+ MpSettingView_t *view = (MpSettingView_t *) data;
+ MP_CHECK_VAL(view, EINA_TRUE);
+ mp_view_mgr_pop_view(GET_VIEW_MGR, true);
+
+ endfunc;
+ return EINA_TRUE;
+}
+
+static int _mp_setting_view_update(void *thiz)
+{
+ startfunc;
+ MpSettingView_t *view = thiz;
+ MP_CHECK_VAL(view, -1);
+ MP_CHECK_VAL(view->navi_it, -1);
+
+ if (view->setting_type == MP_SETTING_VIEW_DEFAULT && view->content) {
+ elm_genlist_realized_items_update(view->content);
+ }
+ endfunc;
+ return 0;
+}
+
+static void _mp_setting_view_refresh(void *thiz)
+{
+ startfunc;
+ MpSettingView_t *view = thiz;
+ MP_CHECK(view);
+ MP_CHECK(view->navi_it);
+
+ Evas_Object *content =
+ elm_object_part_content_get(view->layout, "list_content");
+ if (content) {
+ mp_evas_object_del(content);
+ view->content = NULL;
+ }
+ if (view->setting_type == MP_SETTING_VIEW_TABS) {
+ ms_key_get_tabs_val(&tab_state);
+ view->content = _mp_setting_view_tabs_list_create(view,
+ view->parent);
+ } else if (view->setting_type == MP_SETTING_VIEW_PLAYLISTS) {
+ view->content = ms_playlist_list_create(view, view->parent);
+ }
+
+ MP_CHECK(view->content);
+ elm_object_part_content_set(view->layout,
+ "list_content", view->content);
+ /* elm_object_signal_emit(view->layout,
+ "SHOW_INFO_TEXT_PADDING", ""); */
+}
+
+static Eina_Bool _mp_setting_view_reorder_back_cb(void *thiz)
+{
+ startfunc;
+ MpSettingView_t *view = thiz;
+ MP_CHECK_FALSE(view);
+
+ MpViewMgr_t *view_mgr = mp_view_mgr_get_view_manager();
+ elm_naviframe_item_pop(view_mgr->navi);
+
+ view->back_timer = NULL;
+ return EINA_FALSE;
+}
+
+
+void _mp_setting_view_tabs_reorder_update_cb(void *data,
+ Evas_Object * obj,
+ void *event_info)
+{
+ eventfunc;
+ MpSettingView_t *view = (MpSettingView_t *) data;
+ MP_CHECK(view);
+ char str[TAB_COUNT + 1] = { 0 };
+ int i = 0;
+ Elm_Object_Item *temp = elm_genlist_first_item_get(view->content);
+ while (temp) {
+ mp_setting_genlist_item_data_t *item_data =
+ elm_object_item_data_get(temp);
+ MP_CHECK(item_data);
+ str[i++] = (item_data->index + 0x30);
+ temp = elm_genlist_item_next_get(temp);
+ }
+ str[TAB_COUNT] = '\0';
+ /* preference_set_string(MP_PREFKEY_TABS_VAL_STR,str); */
+ ms_key_set_tabs_str(str);
+
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_TABS_REORDER_DONE);
+
+ view->back_timer = ecore_timer_add(0.1,
+ _mp_setting_view_reorder_back_cb,
+ view);
+
+}
+
+static void _mp_setting_reorder_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ eventfunc;
+ MpSettingView_t *view = (MpSettingView_t *) data;
+ MP_CHECK(view);
+
+ mp_evas_object_del(view->more_btn_ctxpopup);
+
+ MpViewMgr_t *view_mgr = mp_view_mgr_get_view_manager();
+ MP_CHECK(view_mgr);
+ MpSettingView_t *reorder_view = mp_setting_view_create(view_mgr->navi,
+ MP_SETTING_VIEW_REORDERS,
+ (void *) view->
+ setting_type);
+ mp_view_mgr_push_view(view_mgr, (MpView_t *) reorder_view, NULL);
+ mp_view_update_options((MpView_t *) reorder_view);
+ mp_view_set_title((MpView_t *) reorder_view, STR_MP_REORDER);
+}
+
+
+static void _mp_tab_view_normal_more_btn_cb(void *data,
+ Evas_Object * obj,
+ void *event_info)
+{
+ eventfunc;
+ MpSettingView_t *view = (MpSettingView_t *) data;
+ MP_CHECK(view);
+
+ mp_evas_object_del(view->more_btn_ctxpopup);
+
+ view->more_btn_ctxpopup = mp_common_create_more_ctxpopup(view);
+ MP_CHECK(view->more_btn_ctxpopup);
+
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_REORDER,
+ MP_PLAYER_MORE_BTN_SET_REORDER,
+ _mp_setting_reorder_cb, view);
+
+
+ mp_util_more_btn_move_ctxpopup(view->more_btn_ctxpopup, obj);
+
+ evas_object_show(view->more_btn_ctxpopup);
+}
+
+void _mp_setting_view_playlists_reorder_update_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ eventfunc;
+ MpSettingView_t *view = (MpSettingView_t *) data;
+ MP_CHECK(view);
+ /* int index = 0; */
+ char str[5] = { 0 };
+ int i = 0;
+ Elm_Object_Item *temp = elm_genlist_first_item_get(view->content);
+ while (temp) {
+ /* index = elm_genlist_item_index_get(temp); */
+ mp_setting_genlist_item_data_t *item_data =
+ elm_object_item_data_get(temp);
+ MP_CHECK(item_data);
+ str[i++] = (item_data->index + 0x30);
+ temp = elm_genlist_item_next_get(temp);
+ }
+ str[4] = '\0';
+ ms_key_set_playlist_str(str);
+ /* preference_set_string(MP_PREFKEY_TABS_VAL_STR,str); */
+
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_PLAYLISTS_REORDER_DONE);
+
+ view->back_timer = ecore_timer_add(0.1,
+ _mp_setting_view_reorder_back_cb,
+ view);
+
+}
+
+static Eina_Bool _mp_setting_view_back_cb(void *data, Elm_Object_Item * it)
+{
+ eventfunc;
+ MpSettingView_t *view = (MpSettingView_t *) data;
+ MP_CHECK_VAL(view, EINA_TRUE);
+
+ MpViewMgr_t *view_mgr = mp_view_mgr_get_view_manager();
+ mp_view_mgr_pop_view(view_mgr, false);
+ if (view->setting_type == MP_SETTING_VIEW_TABS) {
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_TABS_ITEM_CHANGED);
+ } else if (view->setting_type == MP_SETTING_VIEW_DEFAULT) {
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_LYRIC_UPDATE);
+ }
+
+ return EINA_TRUE;
+}
+
+
+static int _mp_setting_view_update_option_cb(void *thiz)
+{
+ startfunc;
+ MpSettingView_t *view = thiz;
+ MP_CHECK_VAL(view, -1);
+ MP_CHECK_VAL(view->navi_it, -1);
+
+ elm_naviframe_item_pop_cb_set(view->navi_it, _mp_setting_view_pop_cb,
+ view);
+
+ Evas_Object *right_btn =
+ elm_object_item_part_content_unset(view->navi_it,
+ "title_right_btn");
+ mp_evas_object_del(right_btn);
+
+ Evas_Object *left_btn =
+ elm_object_item_part_content_unset(view->navi_it,
+ "title_left_btn");
+ mp_evas_object_del(left_btn);
+
+ if (view->setting_type == MP_SETTING_VIEW_TABS || view->setting_type
+ == MP_SETTING_VIEW_PLAYLISTS) {
+ Evas_Object *btn = NULL;
+ btn = mp_widget_create_toolbar_btn(view->layout,
+ MP_TOOLBAR_BTN_MORE, NULL,
+ _mp_tab_view_normal_more_btn_cb,
+ view);
+ elm_object_item_part_content_set(view->navi_it, "toolbar_more_btn",
+ btn);
+
+ } else if (view->setting_type == MP_SETTING_VIEW_REORDERS) {
+ Evas_Object *toolbar =
+ mp_widget_create_naviframe_toolbar(view->navi_it);
+ Elm_Object_Item *toolbar_item = NULL;
+
+ if (view->reorder_type == MP_SETTING_REORDER_TABS) {
+ toolbar_item =
+ mp_widget_create_toolbar_item_btn(toolbar,
+ MP_TOOLBAR_BTN_LEFT,
+ STR_MP_DONE,
+ _mp_setting_view_tabs_reorder_update_cb,
+ view);
+ } else if (view->reorder_type == MP_SETTING_REORDER_PLAYLISTS) {
+ toolbar_item =
+ mp_widget_create_toolbar_item_btn(toolbar,
+ MP_TOOLBAR_BTN_LEFT,
+ STR_MP_DONE,
+ _mp_setting_view_playlists_reorder_update_cb,
+ view);
+ }
+ view->toolbar_options[MP_OPTION_LEFT] = toolbar_item;
+ if (!view->reorder) {
+ elm_object_item_disabled_set(view->
+ toolbar_options[MP_OPTION_LEFT],
+ EINA_TRUE);
+ }
+ }
+ elm_naviframe_item_pop_cb_set(view->navi_it,
+ _mp_setting_view_back_cb, view);
+
+ endfunc;
+ return 0;
+}
+
+static void _mp_setting_view_destory_cb(void *thiz)
+{
+ startfunc;
+ MpSettingView_t *view = thiz;
+ MP_CHECK(view);
+ mp_setting_view_destory(view);
+
+ mp_view_fini((MpView_t *) view);
+
+ free(view);
+}
+
+static void _mp_setting_view_on_event(void *thiz, MpViewEvent_e event)
+{
+ MpSettingView_t *view = thiz;
+ DEBUG_TRACE("event is %d", event);
+ switch (event) {
+ case MP_PLAYLISTS_REORDER_DONE:
+ case MP_TABS_REORDER_DONE:{
+ if ((view->setting_type == MP_SETTING_VIEW_TABS
+ || view->setting_type == MP_SETTING_VIEW_PLAYLISTS)
+ && view->content) {
+ _mp_setting_view_refresh(view);
+ }
+ }
+ break;
+ default:
+ break;
+ }
+
+}
+
+static void _mp_setting_view_resume(void *thiz)
+{
+ startfunc;
+ MpSettingView_t *view = (MpSettingView_t *) thiz;
+ _mp_setting_view_update((void *) view);
+}
+
+static void _mp_tabs_reorder_gl_sel(void *data,
+ Evas_Object * obj, void *event_info)
+{
+ mp_retm_if(!obj, "INVALID param");
+ mp_retm_if(!event_info, "INVALID param");
+
+ Elm_Object_Item *item = event_info;
+ elm_genlist_item_selected_set(item, EINA_FALSE);
+
+}
+
+static void _mp_tabs_gl_sel(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ mp_retm_if(!obj, "INVALID param");
+ mp_retm_if(!event_info, "INVALID param");
+ mp_setting_genlist_item_data_t *item_data =
+ (mp_setting_genlist_item_data_t *) data;
+ MP_CHECK(item_data);
+
+ Elm_Object_Item *item = event_info;
+ elm_genlist_item_selected_set(item, EINA_FALSE);
+
+ if (elm_check_state_get(check_boxs[item_data->index - 1])) {
+ elm_check_state_set(check_boxs[item_data->index - 1], FALSE);
+ } else {
+ elm_check_state_set(check_boxs[item_data->index - 1], TRUE);
+ }
+
+ evas_object_smart_callback_call(check_boxs[item_data->index - 1],
+ "changed", NULL);
+}
+
+static char *_mp_tabs_gl_label_get(void *data, Evas_Object * obj,
+ const char *part)
+{
+
+ mp_setting_genlist_item_data_t *item_data =
+ (mp_setting_genlist_item_data_t *) data;
+ MP_CHECK_NULL(item_data);
+
+ if (strcmp(part, "elm.text") == 0) {
+ return g_strdup(GET_STR(item_data->str));
+ }
+ return NULL;
+
+
+}
+
+static void _mp_setting_tabs_check_changed_cb(void *data,
+ Evas_Object * obj,
+ void *event_info)
+{
+ int index = (int) evas_object_data_get(obj, "index");
+ DEBUG_TRACE("index:%d", index);
+
+ if (tab_state & (1 << index)) {
+ tab_state &= ~(1 << index);
+ } else {
+ tab_state |= (1 << index);
+ }
+
+ DEBUG_TRACE("set to 0x%x", tab_state);
+ ms_key_set_tabs_val(tab_state);
+
+ return;
+}
+
+
+static Evas_Object *_mp_tabs_gl_icon_get(void *data, Evas_Object * obj,
+ const char *part)
+{
+
+ mp_setting_genlist_item_data_t *item_data =
+ (mp_setting_genlist_item_data_t *) data;
+ MP_CHECK_NULL(item_data);
+ int param = item_data->index - 1;
+
+ if (param == 0 || param == 1) {
+ elm_object_item_disabled_set(item_data->it, EINA_TRUE);
+ }
+
+ if (strcmp(part, "elm.icon") == 0) {
+ Evas_Object *check_box = elm_check_add(obj);
+ elm_object_style_set(check_box, "default/genlist");
+ evas_object_data_set(check_box, "index", (void *) param);
+ DEBUG_TRACE("%d", param);
+ evas_object_repeat_events_set(check_box, EINA_TRUE);
+ evas_object_propagate_events_set(check_box, FALSE);
+ elm_check_state_set(check_box, tab_state & (1 << param));
+ evas_object_smart_callback_add(check_box, "changed",
+ _mp_setting_tabs_check_changed_cb,
+ NULL);
+
+ evas_object_show(check_box);
+
+ check_boxs[param] = check_box;
+ return check_box;
+ }
+ return NULL;
+}
+
+void _mp_tabs_sequence_get()
+{
+ char *get_str = NULL;
+ ms_key_get_tabs_str(&get_str);
+ int value = atoi(get_str);
+ int j = 0;
+ for (j = TAB_COUNT - 1; j >= 0; j--) {
+ tab_index[j] = value % 10;
+ value = value / 10;
+ }
+
+}
+
+static void _mp_tabs_list_item_del_cb(void *data, Evas_Object * obj)
+{
+ mp_setting_genlist_item_data_t *item_data = data;
+ MP_CHECK(item_data);
+ IF_FREE(item_data->str);
+ IF_FREE(item_data);
+}
+
+EXPORT_API void mp_setting_items_reorder_cb(void *data,
+ Evas_Object * obj,
+ void *event_info)
+{
+ startfunc;
+ MpSettingView_t *view = (MpSettingView_t *) data;
+ MP_CHECK(view);
+ MP_CHECK(view->content);
+ Evas_Object *genlist = view->content;
+
+ int cur_sequence = 0;
+ Elm_Object_Item *temp = elm_genlist_first_item_get(genlist);
+ while (temp) {
+ mp_setting_genlist_item_data_t *item_data =
+ (mp_setting_genlist_item_data_t *)
+ elm_object_item_data_get(temp);
+ MP_CHECK(item_data);
+ if (cur_sequence != item_data->seq) {
+ elm_object_item_disabled_set(view->
+ toolbar_options[MP_OPTION_LEFT],
+ EINA_FALSE);
+ view->reorder = TRUE;
+ return;
+ }
+ temp = elm_genlist_item_next_get(temp);
+ cur_sequence++;
+ }
+ elm_object_item_disabled_set(view->toolbar_options[MP_OPTION_LEFT],
+ EINA_TRUE);
+ view->reorder = FALSE;
+}
+
+
+static void
+_mp_tabs_append_genlist_items(Evas_Object * genlist,
+ MpSettingView_t * view)
+{
+ int i;
+ mp_retm_if(!view, "INVALID param");
+ MP_CHECK(view);
+ Elm_Genlist_Item_Class *itc = NULL;
+ if (view->setting_type == MP_SETTING_VIEW_TABS) {
+ if (!view->tabs_itc[0]) {
+ view->tabs_itc[0] = elm_genlist_item_class_new();
+ MP_CHECK(view->tabs_itc[0]);
+ view->tabs_itc[0]->func.text_get = _mp_tabs_gl_label_get;
+ view->tabs_itc[0]->func.content_get = _mp_tabs_gl_icon_get;
+ view->tabs_itc[0]->item_style =
+ "dialogue/1text.1icon/expandable2";
+ view->tabs_itc[0]->func.del = _mp_tabs_list_item_del_cb;
+ }
+ itc = view->tabs_itc[0];
+ } else if (view->setting_type == MP_SETTING_VIEW_REORDERS) {
+ if (!view->tabs_itc[1]) {
+ view->tabs_itc[1] = elm_genlist_item_class_new();
+ MP_CHECK(view->tabs_itc[1]);
+ view->tabs_itc[1]->func.text_get = _mp_tabs_gl_label_get;
+ view->tabs_itc[1]->func.content_get = _mp_tabs_gl_icon_get;
+ view->tabs_itc[1]->func.del = _mp_tabs_list_item_del_cb;
+ view->tabs_itc[1]->item_style = "dialogue/1text";
+ }
+ itc = view->tabs_itc[1];
+ evas_object_smart_callback_add(genlist, "moved",
+ mp_setting_items_reorder_cb, view);
+ }
+
+
+ /*get tab sequence */
+ _mp_tabs_sequence_get();
+
+ for (i = 0; i < TAB_COUNT; i++) {
+ int m = tab_index[i];
+
+ if (m <= 0) {
+ m = 0;
+ } else if (m >= TAB_COUNT) {
+ m = TAB_COUNT;
+ }
+ DEBUG_TRACE("m %d %s", m, tab_str[m - 1]);
+ mp_setting_genlist_item_data_t *item_data = calloc(1,
+ sizeof
+ (mp_setting_genlist_item_data_t));
+ MP_CHECK(item_data);
+ item_data->index = m;
+ item_data->seq = i;
+ item_data->str = g_strdup(tab_str[m - 1]);
+ if (view->setting_type == MP_SETTING_VIEW_TABS) {
+ item_data->it = elm_genlist_item_append(genlist, itc,
+ (void *) item_data,
+ NULL,
+ ELM_GENLIST_ITEM_NONE,
+ _mp_tabs_gl_sel,
+ (void *) item_data);
+ } else if (view->setting_type == MP_SETTING_VIEW_REORDERS) {
+ item_data->it = elm_genlist_item_append(genlist, itc,
+ (void *) item_data,
+ NULL,
+ ELM_GENLIST_ITEM_NONE,
+ _mp_tabs_reorder_gl_sel,
+ (void *) item_data);
+ }
+ elm_object_item_data_set(item_data->it, item_data);
+ }
+}
+
+
+static Evas_Object *_mp_setting_view_tabs_list_create(MpSettingView_t *
+ view,
+ Evas_Object * parent)
+{
+ MP_CHECK_VAL(view, NULL);
+
+ Evas_Object *genlist = mp_widget_genlist_create(parent);
+ elm_scroller_policy_set(genlist, ELM_SCROLLER_POLICY_OFF,
+ ELM_SCROLLER_POLICY_AUTO);
+ evas_object_size_hint_weight_set(genlist,
+ EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(genlist,
+ EVAS_HINT_FILL, EVAS_HINT_FILL);
+
+ elm_object_style_set(genlist, "dialogue");
+ evas_object_smart_callback_add(genlist, "realized",
+ _mp_setting_view_gl_realized_cb, view);
+ evas_object_event_callback_add(genlist, EVAS_CALLBACK_RESIZE,
+ _mp_setting_view_gl_resize_cb, view);
+
+ _mp_tabs_append_genlist_items(genlist, view);
+
+ evas_object_show(genlist);
+ return genlist;
+}
+
+void mp_lyrics_lang_changed(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ elm_genlist_realized_items_update(obj);
+}
+
+static void _lyrics_state_on_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ mp_setting_lyric_popup *ly_popup = (mp_setting_lyric_popup *) data;
+ Elm_Object_Item *item = (Elm_Object_Item *) event_info;
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ if (item != NULL) {
+ elm_genlist_item_selected_set(item, FALSE);
+ }
+
+ if (ad->b_show_lyric == 0) {
+ preference_set_boolean(KEY_MUSIC_LYRICS, 1);
+ elm_radio_value_set(group_radio, 0);
+ ad->b_show_lyric = 1;
+ }
+
+ evas_object_del(ly_popup->popup);
+ MpPlayerView_t *player_view = (MpPlayerView_t *) GET_PLAYER_VIEW;
+ if (player_view) {
+ mp_player_view_refresh(player_view);
+ }
+}
+
+static void _lyrics_state_off_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ mp_setting_lyric_popup *ly_popup = (mp_setting_lyric_popup *) data;
+ Elm_Object_Item *item = (Elm_Object_Item *) event_info;
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ if (item != NULL) {
+ elm_genlist_item_selected_set(item, FALSE);
+ }
+
+ if (ad->b_show_lyric == 1) {
+ preference_set_boolean(KEY_MUSIC_LYRICS, 0);
+ elm_radio_value_set(group_radio, 1);
+ ad->b_show_lyric = 0;
+ }
+
+ evas_object_del(ly_popup->popup);
+ MpPlayerView_t *player_view = (MpPlayerView_t *) GET_PLAYER_VIEW;
+ if (player_view) {
+ mp_player_view_refresh(player_view);
+ }
+}
+
+static char *_lyrics_view_label_get(void *data, Evas_Object * obj,
+ const char *part)
+{
+ int *index = (int *) data;
+ DEBUG_TRACE("inddex : %d:", *index);
+ if (*index == 0) {
+ return g_strdup(GET_STR(STR_MP_SHOW_LYRICS));
+ } else {
+ return g_strdup(GET_STR(STR_MP_HIDE_LYRICS));
+ }
+ return NULL;
+}
+
+static Evas_Object *_lyrics_view_content_get(void *data, Evas_Object * obj,
+ const char *part)
+{
+ int *index = (int *) data;
+ if (!strcmp(part, "elm.swallow.end")) {
+
+ bool lyrics_state;
+ preference_get_boolean(KEY_MUSIC_LYRICS, &lyrics_state);
+ DEBUG_TRACE("state : %d", lyrics_state);
+ if (lyrics_state) {
+ elm_radio_value_set(group_radio, 0);
+ } else {
+ elm_radio_value_set(group_radio, 1);
+ }
+
+ Evas_Object *radio = elm_radio_add(obj);
+ elm_radio_group_add(radio, group_radio);
+ elm_radio_state_value_set(radio, *index);
+ evas_object_size_hint_weight_set(radio, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(radio, EVAS_HINT_FILL,
+ EVAS_HINT_FILL);
+ evas_object_propagate_events_set(radio, EINA_TRUE);
+ evas_object_show(radio);
+ return radio;
+ }
+ return NULL;
+}
+
+void mp_music_viewas_pop_cb(void)
+{
+ startfunc;
+
+ Evas_Object *box = NULL;
+ Evas_Object *popup = elm_popup_add(GET_WINDOW());
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ Evas_Object *genlist = NULL;
+ Elm_Genlist_Item_Class *itc = NULL;
+ /* elm_object_style_set(popup, "content/default"); */
+ elm_popup_orient_set(popup, ELM_POPUP_ORIENT_CENTER);
+ evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ mp_util_domain_translatable_part_text_set(popup, "title,text",
+ STR_MP_LYRICS);
+ eext_object_event_callback_add(popup, EEXT_CALLBACK_BACK,
+ eext_popup_back_cb, NULL);
+ evas_object_repeat_events_set(popup, EINA_FALSE);
+
+ genlist = elm_genlist_add(popup);
+ elm_object_focus_set(genlist, EINA_FALSE);
+ evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL,
+ EVAS_HINT_FILL);
+ evas_object_smart_callback_add(genlist, "language,changed",
+ mp_lyrics_lang_changed, NULL);
+
+ box = elm_box_add(popup);
+ evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ evas_object_size_hint_min_set(box, -1,
+ ELMEMTARY_SCALE_SIZE
+ (MP_POPUP_MENUSTYLE_HEIGHT(2)));
+ elm_box_pack_end(box, genlist);
+ evas_object_show(popup);
+ evas_object_show(genlist);
+ elm_object_content_set(popup, box);
+
+
+ group_radio = elm_radio_add(genlist);
+ elm_radio_state_value_set(group_radio, -1);
+ elm_radio_value_set(group_radio, -1);
+
+ mp_setting_lyric_popup *ly_popup =
+ (mp_setting_lyric_popup *) malloc(sizeof(mp_setting_lyric_popup));
+ MP_CHECK(ly_popup);
+
+ ly_popup->popup = popup;
+ ly_popup->group_radio = group_radio;
+ ly_popup->show_lyrics = 0;
+ ly_popup->hide_lyrics = 1;
+
+ itc = elm_genlist_item_class_new();
+ if (itc) {
+ itc->item_style = "default";
+ itc->func.text_get = _lyrics_view_label_get;
+ itc->func.content_get = _lyrics_view_content_get;
+ itc->func.del = NULL;
+ }
+ elm_genlist_item_append(genlist, itc, &(ly_popup->show_lyrics), NULL,
+ ELM_GENLIST_ITEM_NONE, _lyrics_state_on_cb,
+ (mp_setting_lyric_popup *) ly_popup);
+// data = 1;
+ elm_genlist_item_append(genlist, itc, &(ly_popup->hide_lyrics), NULL,
+ ELM_GENLIST_ITEM_NONE, _lyrics_state_off_cb,
+ (mp_setting_lyric_popup *) ly_popup);
+}
+
+static int
+_mp_setting_view_init(Evas_Object * parent, MpSettingView_t * view,
+ MpSettingViewType_e type, void *data)
+{
+ startfunc;
+ int ret = 0;
+
+ ret = mp_view_init(parent, (MpView_t *) view, MP_VIEW_SETTING);
+ MP_CHECK_VAL(ret == 0, -1);
+
+ view->update = _mp_setting_view_update;
+ view->update_options = _mp_setting_view_update_option_cb;
+ view->update_options_edit = NULL;
+ view->view_destroy_cb = _mp_setting_view_destory_cb;
+ view->set_nowplaying = NULL;
+ view->unset_nowplaying = NULL;
+ view->update_nowplaying = NULL;
+ view->start_playback = NULL;
+ view->pause_playback = NULL;
+ view->on_event = _mp_setting_view_on_event;
+ view->view_resume = _mp_setting_view_resume;
+ view->setting_type = type;
+
+ if (type == MP_SETTING_VIEW_DEFAULT) {
+ view->content = _mp_setting_view_create_list(view, parent);
+ } else if (type == MP_SETTING_VIEW_TABS) {
+ ms_key_get_tabs_val(&tab_state);
+ view->content = _mp_setting_view_tabs_list_create(view, parent);
+ } else if (type == MP_SETTING_VIEW_REORDERS) {
+ int parent_type = (int) data;
+ if (parent_type == MP_SETTING_VIEW_TABS) {
+ view->content =
+ _mp_setting_view_tabs_list_create(view, parent);
+ view->reorder_type = MP_SETTING_REORDER_TABS;
+ } else if (parent_type == MP_SETTING_VIEW_PLAYLISTS) {
+ view->content = ms_playlist_list_create(view, parent);
+ view->reorder_type = MP_SETTING_REORDER_PLAYLISTS;
+ }
+ mp_list_reorder_mode_set(view->content, EINA_TRUE);
+ mp_list_select_mode_set(view->content,
+ ELM_OBJECT_SELECT_MODE_ALWAYS);
+ } else if (type == MP_SETTING_VIEW_PLAYLISTS) {
+ view->content = ms_playlist_list_create(view, parent);
+ } else {
+ return -1;
+ }
+ MP_CHECK_VAL(view->content, -1);
+ elm_object_part_content_set(view->layout, "list_content",
+ view->content);
+ /*elm_object_signal_emit(view->layout, "SHOW_INFO_TEXT_PADDING", ""); */
+
+ return ret;
+}
+
+/* param void *data is used to update previous view.. */
+EXPORT_API MpSettingView_t *mp_setting_view_create(Evas_Object * parent,
+ MpSettingViewType_e
+ type, void *data)
+{
+ startfunc;
+ int ret;
+ MP_CHECK_NULL(parent);
+
+ MpSettingView_t *view = calloc(1, sizeof(MpSettingView_t));
+ MP_CHECK_NULL(view);
+ view->parent = parent;
+ ret = _mp_setting_view_init(parent, view, type, data);
+ if (ret) {
+ goto Error;
+ }
+
+ return view;
+
+ Error:
+ ERROR_TRACE("Error: mp_setting_view_create()");
+ IF_FREE(view);
+ return NULL;
+}
+
+int mp_setting_view_destory(MpSettingView_t * view)
+{
+ startfunc;
+ MP_CHECK_VAL(view, -1);
+ _ms_key_change_cb_deinit();
+
+ /* free item classes */
+ int i = 0;
+ for (; i < MS_ITC_TYPE_NUM; i++) {
+ if (view->itc[i]) {
+ elm_genlist_item_class_free(view->itc[i]);
+ view->itc[i] = NULL;
+ }
+ }
+ int j = 0;
+ for (; j < 2; j++) {
+ if (view->tabs_itc[j]) {
+ elm_genlist_item_class_free(view->tabs_itc[j]);
+ view->tabs_itc[j] = NULL;
+ }
+ }
+ return 0;
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include "mp-view.h"
+#include "music.h"
+#include "mp-common.h"
+#include "mp-widget.h"
+#include "mp-now-playing.h"
+#include "mp-player-view.h"
+#include "mp-util.h"
+#include "mp-player-control.h"
+#include "mp-player-mgr.h"
+#include "mp-list-view.h"
+
+#define CHECK_VIEW(view, val) \
+ do {\
+ MP_CHECK_VAL(view, val);\
+ mp_retvm_if(view->view_magic != VIEW_MAGIC, val,\
+ "Error: param is not view object!!!magic: %d", view->view_magic);\
+ } while (0);
+
+
+#ifndef MP_SOUND_PLAYER
+static void _mp_view_show_now_playing(void *thiz, int show);
+#endif
+
+static int _mp_view_set_title(void *thiz, char *text_id)
+{
+ startfunc;
+ MpView_t *view = thiz;
+ MP_CHECK_VAL(view, -1);
+
+ mp_util_item_domain_translatable_part_text_set(view->navi_it,
+ "elm.text.title",
+ (const char *) text_id);
+
+ if (!view->disable_title_icon && view->layout) {
+ Evas_Object *title_icon =
+ mp_widget_create_title_icon(view->layout, IMAGE_EDJ_NAME,
+ MP_ICON_APP_MUSIC);
+ elm_object_item_part_content_set(view->navi_it, "icon",
+ title_icon);
+ }
+
+ return 0;
+}
+
+static int _mp_view_set_sub_title(void *thiz, char *title)
+{
+ startfunc;
+ MpView_t *view = thiz;
+ MP_CHECK_VAL(view, -1);
+
+ /*Evas_Object *label = _get_sub_title_label(view->layout, title);
+ elm_object_style_set(label, "music/naviframe_subtitle"); */
+ elm_object_item_part_text_set(view->navi_it, "subtitle", title);
+
+ return 0;
+}
+
+static int _mp_view_title_slide_go(void *thiz)
+{
+ startfunc;
+ MpView_t *view = thiz;
+ MP_CHECK_VAL(view, -1);
+
+ Elm_Object_Item *nf_it = view->navi_it;
+ Evas_Object *label =
+ elm_object_item_part_content_get(nf_it, "elm.swallow.title");
+ if (label) {
+ elm_label_slide_go(label);
+ }
+
+ label =
+ elm_object_item_part_content_get(nf_it, "elm.swallow.subtitle");
+ if (label) {
+ elm_label_slide_go(label);
+ }
+
+ return 0;
+}
+
+#ifndef MP_SOUND_PLAYER
+static void _mp_view_now_playing_cb(void *data)
+{
+ startfunc;
+ MpViewMgr_t *view_mgr = GET_VIEW_MGR;
+ MpView_t *player_view = mp_view_mgr_get_view(view_mgr, MP_VIEW_PLAYER);
+ if (player_view) {
+ mp_view_mgr_pop_to_view(view_mgr, MP_VIEW_PLAYER);
+ } else {
+ mp_common_show_player_view(MP_PLAYER_NORMAL, false, false, true);
+ }
+}
+
+static void _mp_view_now_playing_play_pause_cb(void *data)
+{
+ startfunc;
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ if (ad->player_state == PLAY_STATE_PLAYING) {
+ mp_play_control_play_pause(ad, false);
+ } else {
+ mp_play_control_play_pause(ad, true);
+ }
+}
+
+static int _mp_view_update_nowplaying(void *thiz, bool with_title)
+{
+ startfunc;
+ char *thumbpath = NULL;
+ MpView_t *view = thiz;
+ MP_CHECK_VAL(view, -1);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_VAL(ad, -1);
+
+ mp_track_info_t *info = ad->current_track_info;
+ MP_CHECK_VAL(info, -1);
+
+ if (mp_util_is_image_valid(ad->evas, info->thumbnail_path)) {
+ thumbpath = info->thumbnail_path;
+ } else {
+ char default_thumbnail[1024] = { 0 };
+ char *shared_path = app_get_shared_resource_path();
+ snprintf(default_thumbnail, 1024, "%s%s/%s", shared_path,
+ "shared_images", DEFAULT_THUMBNAIL);
+ free(shared_path);
+ thumbpath = g_strdup(default_thumbnail);
+ }
+
+ if (!view->nowplaying_bar) {
+ mp_view_set_nowplaying(thiz);
+ }
+
+ mp_now_playing_update(view->nowplaying_bar, info->title, info->artist,
+ thumbpath, with_title);
+
+ return 0;
+}
+
+static int _mp_view_freeze_nowplaying(void *thiz, int freeze)
+{
+ startfunc;
+ MpView_t *view = thiz;
+ MP_CHECK_VAL(view, -1);
+
+ int count = 0;
+ mp_media_info_list_count(MP_TRACK_ALL, NULL, NULL, NULL, 0, &count);
+ if (count <= 0) {
+ DEBUG_TRACE("no songs");
+ _mp_view_show_now_playing(thiz, FALSE);
+ mp_now_playing_freeze_timer(view->nowplaying_bar);
+ mp_evas_object_del(view->nowplaying_bar);
+ return 0;
+ }
+
+ if (view->nowplaying_bar) {
+ if (freeze) {
+ mp_now_playing_freeze_timer(view->nowplaying_bar);
+ } else {
+ mp_now_playing_thaw_timer(view->nowplaying_bar);
+ }
+ }
+
+ return 0;
+}
+
+static void _mp_view_show_now_playing(void *thiz, int show)
+{
+ MpView_t *view = thiz;
+ MP_CHECK(view);
+ MP_CHECK(view->layout);
+ MP_CHECK(view->nowplaying_bar);
+ if (show) {
+ edje_object_signal_emit(_EDJ(view->layout), "SHOW_NOW_PLAING",
+ "music_app");
+ } else {
+ edje_object_signal_emit(_EDJ(view->layout), "HIDE_NOW_PLAING",
+ "music_app");
+ }
+ evas_object_data_set(view->nowplaying_bar, "NOW_PLAYING_SHOW_FLAG",
+ (void *) show);
+}
+
+static int _mp_view_set_nowplaying(void *thiz)
+{
+ startfunc;
+ MpView_t *view = thiz;
+#ifndef MP_SOUND_PLAYER
+ bool val = false;
+ mp_list_view_is_list_view((MpListView_t *) view, &val);
+
+ MpList_t *list = ((MpListView_t *) view)->content_to_show;
+ if (val && mp_list_get_edit(list) && mp_list_get_reorder(list)) {
+ return 0;
+ }
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_VAL(ad, -1);
+ if (!ad->current_track_info) {
+ return 0;
+ }
+#endif
+ if (!view->nowplaying_bar) {
+ view->rotate_flag = FALSE;
+ view->nowplaying_bar =
+ mp_now_playing_create(view->layout,
+ _mp_view_now_playing_play_pause_cb,
+ _mp_view_now_playing_cb, view);
+ elm_object_part_content_set(view->layout, "now_playing",
+ view->nowplaying_bar);
+ mp_view_update_nowplaying(view, true);
+ } else {
+ mp_view_update_nowplaying(view, true);
+ }
+ _mp_view_show_now_playing(thiz, TRUE);
+
+ if (view == mp_view_mgr_get_top_view(GET_VIEW_MGR)) {
+ mp_view_freeze_nowplaying(view, 0);
+ }
+
+ return 0;
+}
+
+static int _mp_view_unset_nowplaying(void *thiz)
+{
+ startfunc;
+ MpView_t *view = thiz;
+
+ _mp_view_show_now_playing(thiz, FALSE);
+ mp_view_freeze_nowplaying(view, 1);
+ mp_evas_object_del(view->nowplaying_bar);
+ return 0;
+}
+
+static int _mp_view_start_playback(void *thiz)
+{
+ startfunc;
+ MpView_t *view = thiz;
+
+ if (view == mp_view_mgr_get_top_view(GET_VIEW_MGR)) {
+ mp_view_freeze_nowplaying(view, 0);
+ }
+
+ return 0;
+}
+
+static int _mp_view_pause_playback(void *thiz)
+{
+ startfunc;
+ MpView_t *view = thiz;
+ mp_view_freeze_nowplaying(view, 1);
+
+ return 0;
+}
+
+static int _mp_view_stop_playback(void *thiz)
+{
+ startfunc;
+ MpView_t *view = thiz;
+ mp_view_freeze_nowplaying(view, 1);
+
+ return 0;
+}
+
+static int _mp_view_clear_options(void *thiz)
+{
+ startfunc;
+ MpView_t *view = thiz;
+ MP_CHECK_VAL(view, -1);
+
+ int i = 0;
+ for (i = 0; i < MP_OPTION_MAX; i++) {
+ if (view->toolbar_options[i]) {
+ elm_object_item_del(view->toolbar_options[i]);
+ view->toolbar_options[i] = NULL;
+ }
+ }
+
+ Evas_Object *btn = NULL;
+ btn =
+ elm_object_item_part_content_unset(view->navi_it,
+ "toolbar_button1");
+ mp_evas_object_del(btn);
+ btn =
+ elm_object_item_part_content_unset(view->navi_it,
+ "toolbar_button2");
+ mp_evas_object_del(btn);
+ btn =
+ elm_object_item_part_content_unset(view->navi_it,
+ "toolbar_more_btn");
+ mp_evas_object_del(btn);
+
+ Evas_Object *toolbar =
+ elm_object_item_part_content_unset(view->navi_it, "toolbar");
+ mp_evas_object_del(toolbar);
+
+ endfunc return 0;
+}
+#endif
+
+static void
+_mp_view_layout_del_cb(void *data, Evas * e, Evas_Object * obj,
+ void *event_info)
+{
+ MpView_t *view = data;
+ MP_CHECK(view);
+ MP_CHECK(view->view_destroy_cb);
+ view->view_destroy_cb(view);
+}
+
+static void _mp_view_view_lcd_off(void *thiz)
+{
+ startfunc;
+
+#ifndef MP_SOUND_PLAYER
+ MpView_t *view = thiz;
+ mp_view_freeze_nowplaying(view, 1);
+#endif
+}
+
+static void _mp_view_view_lcd_on(void *thiz)
+{
+ startfunc;
+
+#ifndef MP_SOUND_PLAYER
+ MpView_t *view = thiz;
+ if (mp_view_mgr_get_top_view(GET_VIEW_MGR) == view) {
+ mp_view_freeze_nowplaying(view, 0);
+ }
+ mp_view_update_nowplaying(view, true);
+#endif
+
+}
+
+static void _mp_view_view_pause(void *thiz)
+{
+ startfunc;
+#ifndef MP_SOUND_PLAYER
+ MpView_t *view = thiz;
+ mp_view_freeze_nowplaying(view, 1);
+ mp_evas_object_del(view->more_btn_ctxpopup);
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ mp_longpress_popup_destroy(ad);
+#endif
+}
+
+static void _mp_view_view_resume(void *thiz)
+{
+ startfunc;
+#ifndef MP_SOUND_PLAYER
+ MpView_t *view = thiz;
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ if (mp_playlist_mgr_get_current(ad->playlist_mgr) != NULL) {
+ mp_view_set_nowplaying(view);
+ }
+ if (ad->selector_mode_bit) {
+ int count = g_list_length(ad->checkedList);
+ if (count > 0) {
+ char *text = g_strdup_printf(GET_STR(STR_MP_SELECT_ITEMS), count);
+ mp_view_set_title((MpView_t *) view, text);
+ IF_FREE(text);
+ } else {
+ mp_view_set_title((MpView_t *) view, STR_MP_TILTE_SELECT_ITEM);
+ }
+ }
+ mp_view_freeze_nowplaying(view, 0);
+#endif
+}
+
+static void _mp_view_on_event(void *thiz, MpViewEvent_e event)
+{
+ DEBUG_TRACE("event; %d", event);
+}
+
+int mp_view_init(Evas_Object * parent, MpView_t * view,
+ MpViewType_e view_type, ...)
+{
+ startfunc;
+ MP_CHECK_VAL(view, -1);
+
+ view->view_magic = VIEW_MAGIC;
+
+ view->view_type = view_type;
+ view->rotate_flag = FALSE;
+
+ view->set_title = _mp_view_set_title;
+ view->set_subtitle = _mp_view_set_sub_title;
+ view->title_slide_go = _mp_view_title_slide_go;
+#ifndef MP_SOUND_PLAYER
+ view->set_nowplaying = _mp_view_set_nowplaying;
+ view->unset_nowplaying = _mp_view_unset_nowplaying;
+ view->update_nowplaying = _mp_view_update_nowplaying;
+ view->freeze_nowplaying = _mp_view_freeze_nowplaying;
+ view->start_playback = _mp_view_start_playback;
+ view->pause_playback = _mp_view_pause_playback;
+ view->stop_playback = _mp_view_stop_playback;
+ view->clear_options = _mp_view_clear_options;
+#endif
+ view->view_lcd_off = _mp_view_view_lcd_off;
+ view->view_lcd_on = _mp_view_view_lcd_on;
+ view->view_pause = _mp_view_view_pause;
+ view->view_resume = _mp_view_view_resume;
+ view->on_event = _mp_view_on_event;
+ view->layout = mp_common_load_edj(parent, MP_EDJ_NAME, "main_layout");
+
+ MP_CHECK_VAL(view->layout, -1);
+
+ evas_object_data_set(view->layout, "view_data", view);
+
+ evas_object_event_callback_add(view->layout, EVAS_CALLBACK_FREE,
+ _mp_view_layout_del_cb, view);
+
+ if (view_type == MP_VIEW_PLAYER
+ || view_type == MP_VIEW_SEARCH
+ || view_type == MP_VIEW_EDIT
+ || view_type == MP_VIEW_ADD_TRACK
+ || view_type == MP_VIEW_SELECT_TRACK
+ || view_type == MP_VIEW_MAKE_OFFLINE) {
+ view->disable_title_icon = true;
+ }
+
+ return 0;
+}
+
+int mp_view_fini(MpView_t * view)
+{
+ startfunc;
+ CHECK_VIEW(view, -1);
+ view->view_magic = 0;
+
+ return 0;
+}
+
+EXPORT_API int mp_view_update(MpView_t * view)
+{
+ startfunc;
+ CHECK_VIEW(view, -1);
+ MP_CHECK_VAL(view->update, -1);
+ view->update(view);
+#ifndef MP_SOUND_PLAYER
+ bool val = false;
+ mp_list_view_is_list_view((MpListView_t *) view, &val);
+
+ if (val && mp_list_get_edit(((MpListView_t *) view)->content_to_show)) {
+ mp_view_update_options_edit(view);
+ } else
+#endif
+ mp_view_update_options(view);
+
+ return 0;
+}
+
+EXPORT_API int mp_view_update_options(MpView_t * view)
+{
+ startfunc;
+ CHECK_VIEW(view, -1);
+ MP_CHECK_VAL(view->update_options, -1);
+
+ int ret = view->update_options(view);
+ endfunc;
+ return ret;
+}
+
+int mp_view_update_options_edit(MpView_t * view)
+{
+ startfunc;
+ CHECK_VIEW(view, -1);
+ MP_CHECK_VAL(view->update_options_edit, -1);
+
+ mp_view_unset_nowplaying(view);
+
+ int ret = view->update_options_edit(view);
+
+ return ret;
+}
+
+int mp_view_clear_options(MpView_t * view)
+{
+ startfunc;
+ CHECK_VIEW(view, -1);
+ MP_CHECK_VAL(view->clear_options, -1);
+ return view->clear_options(view);
+}
+
+Evas_Object *mp_view_get_base_obj(MpView_t * view)
+{
+ startfunc;
+ CHECK_VIEW(view, NULL);
+
+ if (view->scroller) {
+ return view->scroller;
+ } else {
+ return view->layout;
+ }
+
+}
+
+EXPORT_API int mp_view_set_title(MpView_t * view, char *title)
+{
+ startfunc;
+ CHECK_VIEW(view, -1);
+ MP_CHECK_VAL(view->set_title, -1);
+ return view->set_title(view, title);
+}
+
+int mp_view_set_sub_title(MpView_t * view, char *title)
+{
+ startfunc;
+ CHECK_VIEW(view, -1);
+ MP_CHECK_VAL(view->set_subtitle, -1);
+ return view->set_subtitle(view, title);
+}
+
+int mp_view_set_title_visible(MpView_t * view, int visible)
+{
+ startfunc;
+ CHECK_VIEW(view, -1);
+ MP_CHECK_VAL(view->navi_it, -1);
+ elm_naviframe_item_title_enabled_set(view->navi_it,
+ (Eina_Bool) visible, false);
+ return 0;
+}
+
+int mp_view_title_slide_go(MpView_t * view)
+{
+ startfunc;
+ CHECK_VIEW(view, -1);
+ MP_CHECK_VAL(view->navi_it, -1);
+ return view->title_slide_go(view);
+
+}
+
+int mp_view_set_nowplaying(MpView_t * view)
+{
+ startfunc;
+ CHECK_VIEW(view, -1);
+ if (view->set_nowplaying) {
+ view->set_nowplaying(view);
+ }
+ return 0;
+}
+
+int mp_view_unset_nowplaying(MpView_t * view)
+{
+ startfunc;
+ CHECK_VIEW(view, -1);
+ if (view->unset_nowplaying) {
+ view->unset_nowplaying(view);
+ }
+ return 0;
+}
+
+int mp_view_update_nowplaying(MpView_t * view, bool with_title)
+{
+ startfunc;
+ CHECK_VIEW(view, -1);
+ if (view->update_nowplaying) {
+ view->update_nowplaying(view, with_title);
+ }
+ return 0;
+}
+
+int mp_view_freeze_nowplaying(MpView_t * view, int freeze)
+{
+ startfunc;
+ CHECK_VIEW(view, -1);
+ if (view->freeze_nowplaying) {
+ view->freeze_nowplaying(view, freeze);
+ }
+ return 0;
+}
+
+int mp_view_get_nowplaying_show_flag(MpView_t * view)
+{
+ startfunc;
+ CHECK_VIEW(view, 0);
+ MP_CHECK_VAL(view->update_nowplaying, 0);
+ return ((int)
+ evas_object_data_get(view->nowplaying_bar,
+ "NOW_PLAYING_SHOW_FLAG"));
+}
+
+int mp_view_start_playback(MpView_t * view)
+{
+ startfunc;
+ CHECK_VIEW(view, -1);
+ MP_CHECK_VAL(view->start_playback, -1);
+ return view->start_playback(view);
+}
+
+int mp_view_pause_playback(MpView_t * view)
+{
+ startfunc;
+ CHECK_VIEW(view, -1);
+ MP_CHECK_VAL(view->pause_playback, -1);
+ return view->pause_playback(view);
+}
+
+int mp_view_stop_playback(MpView_t * view)
+{
+ startfunc;
+ CHECK_VIEW(view, -1);
+ MP_CHECK_VAL(view->stop_playback, -1);
+ return view->stop_playback(view);
+}
+
+int mp_view_view_lcd_off(MpView_t * view)
+{
+ CHECK_VIEW(view, -1);
+ MP_CHECK_VAL(view->view_lcd_off, -1);
+ view->view_lcd_off(view);
+ return 0;
+}
+
+int mp_view_view_lcd_on(MpView_t * view)
+{
+ CHECK_VIEW(view, -1);
+ MP_CHECK_VAL(view->view_lcd_on, -1);
+ view->view_lcd_on(view);
+ mp_view_update_nowplaying(view, true);
+ return 0;
+}
+
+int mp_view_view_pause(MpView_t * view)
+{
+ CHECK_VIEW(view, -1);
+ view->paused = true;
+ MP_CHECK_VAL(view->view_pause, -1);
+ view->view_pause(view);
+ return 0;
+}
+
+int mp_view_view_resume(MpView_t * view)
+{
+ CHECK_VIEW(view, -1);
+ view->paused = false;
+ MP_CHECK_VAL(view->view_resume, -1);
+ view->view_resume(view);
+ return 0;
+}
+
+EXPORT_API int mp_view_on_event(MpView_t * view, MpViewEvent_e event)
+{
+ CHECK_VIEW(view, -1);
+
+ if (view->on_event) {
+ view->on_event(view, event);
+ }
+ return 0;
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MP_ALBUM_DETAIL_LIST_LIST_H__
+#define __MP_ALBUM_DETAIL_LIST_LIST_H__
+
+#include "mp-list.h"
+#include "mp-media-info.h"
+
+enum {
+ MP_ALBUM_DETAIL_LIST_TYPE, //mp_track_type_e
+ MP_ALBUM_DETAIL_TYPE_STR, //type_str for db query
+ MP_ALBUM_DETAIL_ARTIST,
+ MP_ALBUM_DETAIL_THUMBNAIL,
+};
+
+
+typedef struct __MpAlbumDetailList {
+ INHERIT_MP_LIST void (*set_edit_default) (void *thiz, bool edit);
+
+ Elm_Genlist_Item_Class *itc;
+ Elm_Genlist_Item_Class *itc_album;
+ Elm_Genlist_Item_Class *itc_shuffle;
+
+ mp_media_list_h track_list[2];
+ Ecore_Timer *load_timer;
+
+ Elm_Object_Item *shuffle_it;
+
+ int track_count;
+ bool various_name;
+ int total_duration;
+ char *artist;
+ char *thumbnail;
+
+} MpAlbumDetailList_t;
+
+MpAlbumDetailList_t *mp_album_detail_list_create(Evas_Object * parent);
+void mp_album_detail_list_set_data(MpAlbumDetailList_t * list, ...);
+void mp_album_detail_list_set_reorder(MpAlbumDetailList_t * list,
+ bool reorder);
+void mp_album_detail_list_show_shuffle(void *thiz, bool show);
+void mp_album_detail_list_update_genlist(void *thiz);
+void mp_album_detail_list_popup_delete_genlist_item(void *thiz);
+void mp_album_detail_list_copy_data(MpAlbumDetailList_t * src,
+ MpAlbumDetailList_t * dest);
+#endif
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MP_ALBUM_LIST_H__
+#define __MP_ALBUM_LIST_H__
+
+#include "mp-list.h"
+#include "mp-media-info.h"
+
+enum {
+ MP_ALBUM_LIST_FUNC, //indicate in all-view or add-track-view
+ MP_ALBUM_LIST_DISPLAY_MODE,
+};
+
+typedef struct __MpAlbumList {
+ INHERIT_MP_LIST Elm_Genlist_Item_Class * itc;
+ Elm_Gengrid_Item_Class *gengrid_itc;
+ Elm_Genlist_Item_Class *itc_group_index;
+ Elm_Object_Item *group_it;
+ void (*set_edit_default) (void *thiz, bool edit);
+
+ mp_media_list_h album_list;
+ int album_list_count;
+} MpAlbumList_t;
+
+MpAlbumList_t *mp_album_list_create(Evas_Object * parent);
+void mp_album_list_set_data(MpAlbumList_t * list, ...);
+void mp_album_list_copy_data(MpAlbumList_t * src, MpAlbumList_t * dest);
+void mp_album_list_set_reorder(MpAlbumList_t * list, bool reorder);
+
+#endif
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MP_ARTIST_DETAIL_LIST_H__
+#define __MP_ARTIST_DETAIL_LIST_H__
+
+#include "mp-list.h"
+#include "mp-media-info.h"
+
+enum {
+ MP_ARTIST_DETAIL_LIST_TYPE, //mp_track_type_e
+ MP_ARTIST_DETAIL_LIST_TYPE_STR, //type_str for db query
+ MP_ARTIST_DETAIL_LIST_FILTER_STR,
+};
+
+typedef struct __MpArtistDetailList {
+ INHERIT_MP_LIST void (*set_edit_default) (void *thiz, bool edit);
+
+ Elm_Genlist_Item_Class *itc_track;
+ Elm_Genlist_Item_Class *itc_album;
+ Elm_Genlist_Item_Class *itc_shuffle;
+ Elm_Object_Item *shuffle_it;
+
+ int album_list_count;
+ mp_media_list_h album_list;
+ GList *track_lists;
+ int count_album;
+ //int edit_mode;
+
+} MpArtistDetailList_t;
+
+MpArtistDetailList_t *mp_artist_detail_list_create(Evas_Object * parent);
+void mp_artist_detail_list_set_data(MpArtistDetailList_t * list, ...);
+void mp_artist_detail_list_set_reorder(MpArtistDetailList_t * list,
+ bool reorder);
+void mp_artist_detail_list_copy_data(MpArtistDetailList_t * src,
+ MpArtistDetailList_t * dest);
+void mp_artist_detail_list_update_genlist(void *thiz);
+
+#endif
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MP_ARTIST_LIST_H__
+#define __MP_ARTIST_LIST_H__
+
+#include "mp-list.h"
+#include "mp-media-info.h"
+
+enum {
+ MP_ARTIST_LIST_TYPE, //mp_track_type_e
+ MP_ARTIST_LIST_FUNC,
+ MP_ARTIST_LIST_PLAYLIT_ID,
+ MP_ARTIST_LIST_TYPE_STR, //type_str for db query
+ MP_ARTIST_LIST_FILTER_STR,
+ MP_ARTIST_LIST_DISPLAY_MODE,
+};
+
+typedef struct __MpArtistList {
+ INHERIT_MP_LIST Elm_Genlist_Item_Class * itc;
+ Elm_Gengrid_Item_Class *gengrid_itc;
+ Elm_Genlist_Item_Class *itc_group_index;
+ Elm_Object_Item *group_it;
+ void (*set_edit_default) (void *thiz, bool edit);
+
+ mp_media_list_h artist_list;
+ int artist_list_count;
+} MpArtistList_t;
+
+MpArtistList_t *mp_artist_list_create(Evas_Object * parent);
+void mp_artist_list_set_data(MpArtistList_t * list, ...);
+void mp_artist_list_copy_data(MpArtistList_t * src, MpArtistList_t * dest);
+void mp_artist_list_set_reorder(MpArtistList_t * list, bool reorder);
+
+
+#endif
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MP_ctxpopup_H_
+#define __MP_ctxpopup_H_
+
+#include <Elementary.h>
+
+typedef enum _mp_ctxpopup_t {
+ MP_CTXPOPUP_PV_SET_AS = 0,
+ MP_CTXPOPUP_PV_SET_AS_INCLUDE_ADD_TO_HOME,
+ MP_CTXPOPUP_PV_SHARE,
+ MP_CTXPOPUP_LIST_SHARE,
+ MP_CTXPOPUP_CHANGE_AXIS,
+} mp_ctxpopup_t;
+
+Evas_Object *mp_ctxpopup_create(Evas_Object * parent, int type,
+ void *user_data, void *ad);
+void mp_ctxpopup_clear(Evas_Object * popup);
+void mp_ctxpopup_destroy(Evas_Object * popup);
+
+#endif // __MP_ctxpopup_H_
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MP_EDIT_PLAYLIST_H__
+#define __MP_EDIT_PLAYLIST_H__
+
+#include "music.h"
+#include "mp-list-view.h"
+
+typedef enum {
+ MP_PLST_CREATIE_TYPE_NORMAL,
+} mp_plst_create_type_e;
+
+typedef enum {
+ MP_PLST_NORMAL,
+ MP_PLST_CREATE,
+ MP_PLST_CREATE_TO_ADD_TRACK,
+ MP_PLST_RENAME,
+ MP_PLST_SAVE_AS,
+} mp_plst_operation_type;
+
+
+typedef struct {
+ struct appdata *ad;
+ mp_plst_operation_type type;
+
+ char *new_playlist_name;
+ char *name;
+ char *oldname;
+
+ Evas_Object *popup;
+ Evas_Object *layout;
+ Evas_Object *editfiled_entry;
+ Evas_Object *btn_ok;
+
+ bool add_to_selected;
+ mp_media_info_h playlist_handle;
+ MpList_t *adding_list;
+
+ char *adding_media_id;
+ mp_plst_create_type_e creation_type;
+
+ Ecore_Timer *entry_show_timer;
+ Ecore_Idler *set_line_end_idler;
+ bool set_to_end;
+} Mp_Playlist_Data;
+
+void *mp_edit_playlist_create(mp_plst_operation_type type);
+void mp_edit_playlist_content_create(void *thiz);
+void mp_edit_playlist_add_to_selected_mode(void *data, bool selected);
+int mp_edit_playlist_set_edit_list(Mp_Playlist_Data * mp_playlist_data,
+ MpList_t * adding_list);
+int mp_edit_playlist_set_media_id(Mp_Playlist_Data * mp_playlist_data,
+ const char *adding_media_id);
+int mp_edit_playlist_set_create_type(Mp_Playlist_Data * mp_playlist_data,
+ mp_plst_create_type_e type);
+
+#endif
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MP_GENRE_LIST_H__
+#define __MP_GENRE_LIST_H__
+
+#include "mp-list.h"
+#include "mp-media-info.h"
+
+enum {
+ MP_GENRE_LIST_FUNC, //indicate in all-view or add-track-view
+ MP_GENRE_LIST_DISPLAY_MODE,
+};
+
+typedef struct __MpGenreList {
+ INHERIT_MP_LIST Elm_Genlist_Item_Class * itc;
+ Elm_Gengrid_Item_Class *gengrid_itc;
+
+ mp_media_list_h genre_list;
+ int genre_list_count;
+
+} MpGenreList_t;
+
+MpGenreList_t *mp_genre_list_create(Evas_Object * parent);
+void mp_genre_list_set_data(MpGenreList_t * list, ...);
+void mp_genre_list_copy_data(MpGenreList_t * src, MpGenreList_t * dest);
+void mp_genre_list_set_reorder(MpGenreList_t * list, bool reorder);
+
+#endif
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MP_INDEX_H__
+#define __MP_INDEX_H__
+
+#include <Elementary.h>
+#include <mp-list.h>
+
+typedef void (*MpIndexCb) (void *data);
+
+
+Evas_Object *mp_index_create(Evas_Object * parent, int group_type,
+ void *data);
+void mp_index_append_item(Evas_Object * index, MpList_t * list);
+
+#endif
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MP_LIST_H__
+#define __MP_LIST_H__
+
+#include <Elementary.h>
+#include "music.h"
+#include "mp-player-debug.h"
+#include "mp-popup.h"
+
+typedef enum {
+ MP_LIST_TYPE_TRACK,
+ MP_LIST_TYPE_GROUP,
+ MP_LIST_TYPE_PLAYLIST,
+ MP_LIST_TYPE_ALBUM_DETAIL,
+ MP_LIST_TYPE_ARTIST_DETAIL,
+ MP_LIST_TYPE_ALL,
+ MP_LIST_TYPE_SQUARE,
+ MP_LIST_TYPE_MAX,
+} MpListType_e;
+
+typedef enum {
+ MP_LIST_FUNC_NORMAL, //in all-view
+ MP_LIST_FUNC_ADD_TRACK, //in add-track-view
+ MP_LIST_FUNC_MAX,
+} MpListFunction_e;
+
+typedef enum {
+ MP_LIST_DISPLAY_MODE_NORMAL,
+ MP_LIST_DISPLAY_MODE_THUMBNAIL,
+ MP_LIST_DISPLAY_MODE_MAX,
+} MpListDisplayMode_e; // view as
+
+typedef enum {
+ MP_LIST_EDIT_TYPE_NORMAL,
+ MP_LIST_EDIT_TYPE_SHARE,
+} MpListEditType_e;
+
+typedef enum {
+ MP_LIST_ITEM_TYPE_NORMAL = 0,
+ MP_LIST_ITEM_TYPE_SHUFFLE,
+ MP_LIST_ITEM_TYPE_GROUP_TITLE,
+ MP_LIST_ITEM_TYPE_SELECTABLE_GROUP_TITLE,
+ MP_LIST_ITEM_TYPE_ALBUMART_INDEX,
+ MP_LIST_ITEM_TYPE_BOTTOM_COUNTER,
+} MpListItemType_e;
+
+typedef enum {
+ MP_TRACK_LIST_VIEW_ALL,
+ MP_TRACK_LIST_VIEW_LOCAL,
+ MP_TRACK_LIST_VIEW_CLOUD,
+ MP_TRACK_LIST_VIEW_MAX,
+} MpCloudView_e;
+
+typedef enum {
+ MP_TRACK_LIST_INDEX_NONE,
+ MP_TRACK_LIST_INDEX_ALBUM_ART_LIST,
+} MpTrackListIndex_t;
+
+#ifdef MP_FEATURE_PERSONAL_PAGE
+typedef enum {
+ MP_LIST_PERSONAL_PAGE_NONE,
+ MP_LIST_PERSONAL_PAGE_ADD,
+ MP_LIST_PERSONAL_PAGE_REMOVE,
+} MpListPersonalPage_t;
+
+typedef enum {
+ MP_LIST_PERSONAL_PAGE_NORMAL,
+ MP_LIST_PERSONAL_PAGE_PRIVATE,
+} MpListPersonalPageLocation_t;
+
+
+typedef enum {
+ MP_LIST_PERSONAL_ALL_ERROR = -1,
+ MP_LIST_PERSONAL_ALL_IN,
+ MP_LIST_PERSONAL_ALL_OUT,
+ MP_LIST_PERSONAL_PART
+} MpListPersonalStatus_e;
+#endif
+
+#define INHERIT_MP_LIST \
+ MpListType_e list_type;\
+ Evas_Object *layout;\
+ Evas_Object *box;\
+ Evas_Object *genlist;\
+ Evas_Object *no_content;\
+ Evas_Object *fast_scroll;\
+ Elm_Object_Item *bottom_counter_item; \
+ char *(*bottom_counter_text_get_cb)(void *thiz); \
+ mp_popup_t popup_type;\
+ Ecore_Timer *pop_delay_timer;\
+ int edit_mode;\
+ MpListEditType_e edit_type;\
+ int reorderable;\
+ bool scroll_drag_status;\
+ bool display_mode_changable;\
+ MpListDisplayMode_e display_mode; \
+ MpCloudView_e cloud_view_type; \
+ MpListPersonalPage_t personal_page_type; \
+ MpListPersonalPageLocation_t personal_page_storage; \
+ void (*update)(void *thiz);\
+ void (*realized_item_update)(void *thiz, const char *part, int field);\
+ void (*set_edit)(void *thiz, bool edit);\
+ void (*set_reorder)(void *thiz, bool reorder);\
+ void (*rotate)(void *thiz);\
+ int (*show_fastscroll)(void *thiz);\
+ int (*hide_fastscroll)(void *thiz);\
+ void (*edit_mode_sel)(void *list, void *data);\
+ mp_group_type_e(*get_group_type)(void *thiz);\
+ mp_track_type_e(*get_track_type)(void *thiz);\
+ void *(*get_playlist_handle)(void *thiz);\
+ void (*destory_cb)(void *thiz);\
+ unsigned int (*get_count)(void *thiz, MpListEditType_e type);\
+ unsigned int (*get_select_count)(void *thiz);\
+ void (*flick_left_cb)(void *thiz, Evas_Object * obj, void *event_info);\
+ void (*flick_right_cb)(void *thiz, Evas_Object * obj, void *event_info);\
+ void (*flick_stop_cb)(void *thiz, Evas_Object * obj, void *event_info);\
+ void (*mode_left_cb)(void *thiz, Evas_Object * obj, void *event_info);\
+ void (*mode_right_cb)(void *thiz, Evas_Object * obj, void *event_info);\
+ void (*mode_cancel_cb)(void *thiz, Evas_Object * obj, void *event_info);\
+ void (*longpressed_cb)(void *data, Evas_Object *obj, void *event_info);\
+ void (*drag_start_cb)(void *data, Evas_Object *obj, void *event_info);\
+ void (*drag_stop_cb)(void *data, Evas_Object *obj, void *event_info);\
+ void (*change_display_mode)(void *thiz, MpListDisplayMode_e mode); \
+ void (*selected_item_data_get)(void *thiz, GList **selected);\
+ void (*all_item_data_get)(void *thiz, GList **selected);\
+ const char *(*get_label)(void *thiz, void *event_info);\
+ mp_group_type_e group_type; \
+ char *type_str; \
+ char *type_str2; \
+ char *filter_str; \
+ int playlist_id; \
+ mp_track_type_e track_type; \
+ MpTrackListIndex_t index_type; \
+ MpListFunction_e function_type; \
+ GList *checked_path_list; \
+ Elm_Genlist_Item_Class *itc_group_index_recently_added; \
+ Elm_Genlist_Item_Class *itc_genlist_recently_added; \
+ Evas_Object *recently_added_genlist; \
+
+typedef struct __MpList {
+INHERIT_MP_LIST} MpList_t;
+
+#define INHERIT_MP_LIST_ITEM_DATA \
+ int index; \
+ MpListItemType_e item_type; \
+ Elm_Object_Item *it; \
+ Eina_Bool checked; \
+ mp_group_type_e group_type; \
+ mp_media_info_h handle; \
+ bool unregister_lang_mgr; \
+ MpListDisplayMode_e display_mode; \
+ int artist_album_page; \
+ void *plst_item;
+
+typedef struct {
+ // for mh_list_item_data;
+ INHERIT_MP_LIST_ITEM_DATA;
+
+} mp_list_item_data_t;
+
+typedef struct {
+ int item_count;
+ mp_list_item_data_t **item_data;
+} mp_grid_item_data_t;
+
+#define MP_LIST_OBJ_SET_AS_GENGRID(obj) (evas_object_data_set(obj, "is_gengrid", (void *)1))
+#define MP_LIST_OBJ_IS_GENGRID(obj) ((int)evas_object_data_get(obj, "is_gengrid"))
+
+void mp_list_init(MpList_t * list, Evas_Object * parent,
+ MpListType_e list_type);
+Evas_Object *mp_list_get_layout(MpList_t * list);
+int mp_list_hide_fast_scroll(MpList_t * list);
+int mp_list_show_fast_scroll(MpList_t * list);
+void mp_list_update(MpList_t * list);
+void mp_list_realized_item_part_update(MpList_t * list, const char *part,
+ int field);
+void mp_list_set_edit(MpList_t * list, bool edit);
+bool mp_list_get_edit(MpList_t * list);
+void mp_list_set_reorder(MpList_t * list, bool reorder);
+bool mp_list_get_reorder(MpList_t * list);
+void mp_list_set_edit_type(MpList_t * list, MpListEditType_e type);
+MpListEditType_e mp_list_get_edit_type(MpList_t * list);
+void mp_list_edit_mode_sel(MpList_t * list, void *data);
+mp_group_type_e mp_list_get_group_type(MpList_t * list);
+mp_track_type_e mp_list_get_track_type(MpList_t * list);
+void *mp_list_get_playlist_handle(MpList_t * list);
+unsigned int mp_list_get_editable_count(MpList_t * list,
+ MpListEditType_e type);
+unsigned int _mp_list_get_count(void *thiz, MpListEditType_e type);
+unsigned int mp_list_get_checked_count(MpList_t * list);
+bool mp_list_is_display_mode_changable(MpList_t * list);
+MpListDisplayMode_e mp_list_get_display_mode(MpList_t * list);
+void mp_list_change_display_mode(MpList_t * list,
+ MpListDisplayMode_e mode);
+void mp_list_selected_item_data_get(MpList_t * list, GList ** selected);
+void mp_list_all_item_data_get(MpList_t * list, GList ** selected);
+Elm_Object_Item *mp_list_first_item_get(Evas_Object * obj);
+Elm_Object_Item *mp_list_item_next_get(Elm_Object_Item * item);
+void mp_list_select_mode_set(Evas_Object * obj,
+ Elm_Object_Select_Mode select_mode);
+Elm_Object_Select_Mode mp_list_select_mode_get(Evas_Object * obj);
+void mp_list_item_select_mode_set(Elm_Object_Item * item,
+ Elm_Object_Select_Mode select_mode);
+Elm_Object_Select_Mode mp_list_item_select_mode_get(Elm_Object_Item *
+ item);
+void mp_list_reorder_mode_set(Evas_Object * obj, Eina_Bool reorder_mode);
+void mp_list_item_selected_set(Elm_Object_Item * item, Eina_Bool selected);
+Eina_Bool mp_list_item_selected_get(Elm_Object_Item * item);
+const char *mp_list_get_list_item_label(MpList_t * list,
+ Elm_Object_Item * item);
+void mp_list_double_tap(MpList_t * list);
+void mp_list_rotate(MpList_t * list);
+
+mp_list_item_data_t *mp_list_item_data_create(MpListItemType_e item_type);
+void mp_list_item_check_set(Elm_Object_Item * item, Eina_Bool checked);
+Elm_Object_Item *mp_list_bottom_counter_item_append(MpList_t * list);
+
+GList *mp_list_get_checked_path_list(MpList_t * list);
+bool mp_list_is_in_checked_path_list(GList * path_list, char *file_path);
+void mp_list_free_checked_path_list(GList * path_list);
+
+void mp_list_item_reorder_moved_cb(void *data, Evas_Object * obj,
+ void *event_info);
+int _mp_list_set_fastscroll(void *thiz);
+
+#endif
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MP_LOCKSCREENMINI_H__
+#define __MP_LOCKSCREENMINI_H__
+
+#include "mp-ta.h"
+#include "music.h"
+#include "mp-item.h"
+#include "mp-player-control.h"
+#include "mp-common.h"
+#include "mp-player-mgr.h"
+#include "mp-player-debug.h"
+
+#ifdef MP_FEATURE_LOCKSCREEN
+
+int mp_lockscreenmini_create(struct appdata *ad);
+int mp_lockscreenmini_hide(struct appdata *ad);
+int mp_lockscreenmini_show(struct appdata *ad);
+int mp_lockscreenmini_destroy(struct appdata *ad);
+void mp_lockscreenmini_update_control(struct appdata *ad);
+void mp_lockscreenmini_update(struct appdata *ad);
+void mp_lockscreenmini_visible_set(struct appdata *ad, bool visible);
+bool mp_lockscreenmini_visible_get(struct appdata *ad);
+void mp_lockscreenmini_on_lcd_event(struct appdata *ad, bool lcd_on);
+Eina_Bool _mp_lockscreenmini_hide_music_controller(void *data);
+
+#endif
+
+#endif
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MP_LYRIC_H__
+#define __MP_LYRIC_H__
+
+#include <Elementary.h>
+
+Evas_Object *mp_lyric_create(Evas_Object * parent, const char *path);
+void mp_lyric_sync_update(Evas_Object * lyric);
+const char *mp_lyric_get_path(Evas_Object * lyric);
+
+#endif
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MP_MINICONTROLLER_H__
+#define __MP_MINICONTROLLER_H__
+
+#include "mp-ta.h"
+#include "music.h"
+#include "mp-item.h"
+#include "mp-player-control.h"
+#include "mp-common.h"
+#include "mp-minicontroller.h"
+#include "mp-player-mgr.h"
+#include "mp-player-debug.h"
+
+int mp_minicontroller_create(struct appdata *ad);
+int mp_minicontroller_hide(struct appdata *ad);
+int mp_minicontroller_show(struct appdata *ad);
+int mp_minicontroller_destroy(struct appdata *ad);
+void mp_minicontroller_update_control(struct appdata *ad);
+void mp_minicontroller_update(struct appdata *ad, bool with_title);
+void mp_minicontroller_rotate(struct appdata *ad, int angle);
+void mp_minicontroller_visible_set(struct appdata *ad, bool visible);
+bool mp_minicontroller_visible_get(struct appdata *ad);
+void mp_minicontroller_on_lcd_event(struct appdata *ad, bool lcd_on);
+int _mp_is_current_focus_available(struct appdata *ad);
+
+#endif
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MP_NOTIFICATION_H__
+#define __MP_NOTIFICATION_H__
+
+#include <stdbool.h>
+
+typedef void *mp_noti_h;
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+//mp_noti_h mp_noti_on_going_create(const char *title, const char *extra_data);
+ void mp_noti_destroy(mp_noti_h noti);
+ bool mp_noti_update_size(mp_noti_h noti, unsigned long long total,
+ unsigned long long byte);
+//mp_noti_h mp_noti_box_create(const char *title, const char *extra_data);
+//void mp_noti_box_update(mp_noti_h noti, const char *title, const char *info, time_t time);
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* __MP_NOTIFICATION_H__ */
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MP_NOW_PLAYING_LIST_H__
+#define __MP_NOW_PLAYING_LIST_H__
+
+#include "mp-list.h"
+
+enum {
+ MP_NOW_PLAYING_LIST_ATTR_HIGHLIGHT_CURRENT,
+};
+
+typedef struct {
+ INHERIT_MP_LIST Elm_Genlist_Item_Class * itc;
+
+ bool highlight_current;
+
+ Ecore_Timer *loading_timer;
+ Evas_Object *loading_progress;
+ Ecore_Idler *sel_idler;
+} MpNowPlayingList_t;
+
+MpNowPlayingList_t *mp_now_playing_list_create(Evas_Object * parent);
+void mp_now_playing_list_set_data(MpNowPlayingList_t * list, ...);
+void mp_now_playing_list_remove_selected_item(MpNowPlayingList_t * list);
+void mp_now_playing_list_refresh(MpNowPlayingList_t * list);
+void mp_now_playing_list_current_item_show(MpNowPlayingList_t * list);
+
+#endif
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MP_NOW_PLAYING_H__
+#define __MP_NOW_PLAYING_H__
+
+#include <Elementary.h>
+#include <stdbool.h>
+
+typedef void (*MpNowplayingCb) (void *data);
+
+Evas_Object *mp_now_playing_create(Evas_Object * parent,
+ MpNowplayingCb play_bt_clicked,
+ MpNowplayingCb clicked, void *data);
+void mp_now_playing_thaw_timer(Evas_Object * now_playing);
+void mp_now_playing_freeze_timer(Evas_Object * now_playing);
+void mp_now_playing_update(Evas_Object * now_playing, const char *title,
+ const char *artist, const char *thumbnail,
+ bool with_title);
+bool mp_now_playing_is_landscape(Evas_Object * now_playing);
+void mp_now_playing_set_layout(Evas_Object * now_playing);
+
+#endif
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MP_PLAYER_VOLUME_WIDGET_H__
+#define __MP_PLAYER_VOLUME_WIDGET_H__
+
+#include <Elementary.h>
+
+typedef enum {
+ VOLUME_WIDGET_EVENT_DRAG_START,
+ VOLUME_WIDGET_EVENT_DRAG_STOP,
+
+ VOLUME_WIDGET_EVENT_DRAG_MAX,
+} volume_widget_event_e;
+
+typedef void (*Volume_Widget_Cb) (void *user_data, Evas_Object * obj,
+ volume_widget_event_e event);
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+ Evas_Object *mp_player_volume_widget_add(Evas_Object * parent);
+ void mp_player_volume_widget_event_callback_add(Evas_Object * obj,
+ Volume_Widget_Cb
+ event_cb,
+ void *user_data);
+ int mp_player_volume_widget_set_val(Evas_Object * obj, int val);
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* __MP_PLAYER_VOLUME_WIDGET_H__ */
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MP_PLAYLIST_LIST_H__
+#define __MP_PLAYLIST_LIST_H__
+
+#include "mp-list.h"
+#include "mp-media-info.h"
+
+enum {
+ MP_PLAYLIST_LIST_TYPE, //mp_track_type_e
+ MP_PLAYLIST_LIST_FUNC, //indicate in all-view or add-track-view
+ MP_PLAYLIST_LIST_PLAYLIT_ID,
+ MP_PLAYLIST_LIST_TYPE_STR, //type_str for db query
+ MP_PLAYLIST_LIST_FILTER_STR,
+ MP_PLAYLIST_LIST_DISPLAY_MODE,
+};
+
+enum {
+ MP_PLAYLIST_GROUP_INDEX_DEFAULT,
+ MP_PLAYLIST_GROUP_INDEX_MY_PLAYLIST,
+ MP_PLAYLIST_GROUP_INDEX_NUM,
+};
+
+typedef struct __MpPlaylistList {
+ INHERIT_MP_LIST Elm_Genlist_Item_Class * itc_group_index_default;
+ Elm_Genlist_Item_Class *itc_group_index_user;
+ Elm_Genlist_Item_Class *itc_auto;
+ Elm_Genlist_Item_Class *itc_user;
+ Elm_Gengrid_Item_Class *gengrid_itc;
+ Elm_Gengrid_Item_Class *gengrid_add_itc;
+
+ int auto_playlist_count;
+
+ mp_media_list_h playlists_user;
+ mp_media_list_h playlists_auto;
+ mp_media_info_h playlist_handle;
+
+ Elm_Object_Item *group_index[MP_PLAYLIST_GROUP_INDEX_NUM + 1];
+ //int edit_mode;
+
+} MpPlaylistList_t;
+
+MpPlaylistList_t *mp_playlist_list_create(Evas_Object * parent);
+void mp_playlist_list_set_data(MpPlaylistList_t * list, ...);
+void mp_playlist_list_copy_data(MpPlaylistList_t * src,
+ MpPlaylistList_t * dest);
+void mp_playlist_list_set_reorder(MpPlaylistList_t * list, bool reorder);
+int mp_playlist_list_set_playlist(mp_plst_mgr * plst_mgr, int playlist_id);
+
+
+#endif
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+
+#ifndef __MP_popup_H_
+#define __MP_popup_H_
+
+#include <Elementary.h>
+#include "music.h"
+
+typedef enum _mp_popup_t {
+ MP_POPUP_PV_SET_AS = 0,
+ MP_POPUP_PV_SET_AS_INCLUDE_ADD_TO_HOME,
+ MP_POPUP_PV_SHARE,
+ MP_POPUP_LIST_SHARE,
+ MP_POPUP_SOUND_PATH,
+ MP_POPUP_ADD_TO_PLST,
+ MP_POPUP_SETTING_PLAYLIST,
+ MP_POPUP_LIST_LONGPRESSED,
+ MP_POPUP_MORE_INFO,
+ MP_POPUP_CHANGE_LIST_DISPLAY_MODE,
+ MP_POPUP_EDIT_IMAGE,
+ MP_POPUP_INFO_LIST,
+ MP_POPUP_UPDATE_ALBUM_ART,
+ MP_POPUP_SEARCH,
+ MP_POPUP_DELETE_TRACK,
+} mp_popup_t;
+
+typedef enum {
+ MP_POPUP_BTN_1,
+ MP_POPUP_BTN_2,
+ MP_POPUP_BTN_3,
+ MP_POPUP_BTN_MAX,
+} popup_button_t;
+
+typedef enum {
+ MP_POPUP_NORMAL = 0,
+ MP_POPUP_GENLIST,
+ MP_POPUP_CTX,
+ MP_POPUP_PROGRESS,
+ MP_POPUP_PROGRESS_NO_BUTTON,
+ MP_POPUP_NOTIFY, // NOT destroyed by mp_popup_destroy()
+ MP_POPUP_CONTENT_EXPAND,
+ MP_POPUP_ENTRY,
+ MP_POPUP_PRIVACY,
+ MP_POPUP_PROGRESS_WITH_CANCEL,
+ MP_POPUP_PROGRESS_WITHOUT_CANCEL,
+ MP_POPUP_OPERATION_PROGRESS,
+#ifdef MP_FEATURE_PERSONAL_PAGE
+ MP_POPUP_CHECK_INFO_PERSONAL,
+#endif
+
+ MP_POPUP_MAX,
+} mp_popup_type;
+
+typedef struct {
+ char *label; /*label for String ID */
+ char *content; /*real content get from db */
+ void *item_data;
+} Popup_genlist_item;
+
+#define mp_popup_desc_set(obj, desc) elm_object_text_set((obj), (desc))
+
+Elm_Object_Item *mp_genlist_popup_item_append(Evas_Object * popup,
+ char *label, char *content,
+ Evas_Object * icon,
+ void *item_data, void *cb,
+ void *data);
+Evas_Object *mp_genlist_popup_create(Evas_Object * parent, mp_popup_t type,
+ void *user_data, struct appdata *ad);
+Evas_Object *mp_entry_popup_create(char *title);
+Evas_Object *mp_popup_create(Evas_Object * parent, mp_popup_type type,
+ char *title, void *user_data,
+ Evas_Smart_Cb response_cb, void *ad);
+void mp_popup_destroy(struct appdata *ad);
+void mp_longpress_popup_destroy(struct appdata *ad);
+
+void mp_popup_response_callback_set(Evas_Object * popup, Evas_Smart_Cb cb,
+ void *user_data);
+void mp_popup_response(Evas_Object * popup, int response);
+bool mp_popup_button_set(Evas_Object * popup, popup_button_t btn_index,
+ const char *text, int response);
+void mp_popup_timeout_set(Evas_Object * popup, double timeout);
+bool mp_popup_max_length(Evas_Object * entry, const char *text);
+void mp_popup_back_cb(void *data, Evas_Object * obj, void *event_info);
+
+Evas_Object *mp_popup_multi_window_center_add(Evas_Object * parent);
+Evas_Object *elm_popup_win_get(Evas_Object * popup);
+Evas_Object *mp_popup_message_create(Evas_Object * parent,
+ mp_popup_type type, char *title,
+ char *message, void *user_data,
+ Evas_Smart_Cb response_cb, void *ad);
+
+
+#endif // __MP_contextpopup_H_
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MP_SEARCH_LIST_H__
+#define __MP_SEARCH_LIST_H__
+
+#include "mp-list.h"
+#include "mp-media-info.h"
+
+enum {
+ MP_SEARCH_LIST_FILTER_STR,
+};
+
+enum {
+ MP_SEARCH_ARTIST_GROUP,
+ MP_SEARCH_ALBUM_GROUP,
+ MP_SEARCH_TRACK_GROUP,
+ MP_SEARCH_MAX_GROUP,
+};
+
+
+typedef struct __MpSearchList {
+ INHERIT_MP_LIST Elm_Genlist_Item_Class * itc_track;
+ Elm_Genlist_Item_Class *itc_album;
+ Elm_Genlist_Item_Class *itc_artist;
+ Elm_Genlist_Item_Class *itc_group_title;
+
+ Elm_Object_Item *search_group_git[MP_SEARCH_MAX_GROUP];
+ int track_count;
+
+ mp_media_list_h track_handle; //for search
+ mp_media_list_h artist_handle; //for search
+ mp_media_list_h album_handle; //for search
+ void (*refresh) (void *thiz);
+ GList *artist_list;
+ GList *album_list;
+ GList *track_list;
+} MpSearchList_t;
+
+MpSearchList_t *mp_search_list_create(Evas_Object * parent);
+void mp_search_list_set_data(MpSearchList_t * list, ...);
+void mp_search_list_set_reorder(MpSearchList_t * list, bool reorder);
+
+#endif
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MP_SEARCH_H_
+#define __MP_SEARCH_H_
+#include <Elementary.h>
+
+Evas_Object *mp_search_create_new(Evas_Object * parent,
+ Evas_Smart_Cb change_cb,
+ void *change_cb_data,
+ Evas_Smart_Cb cancel_cb,
+ void *cancel_cb_data,
+ Evas_Smart_Cb focus_cb,
+ void *focus_cb_data,
+ Evas_Smart_Cb unfocus_cb,
+ void *unfocus_cb_data);
+void mp_search_hide_imf_pannel(Evas_Object * search);
+void mp_search_show_imf_pannel(Evas_Object * search);
+Evas_Object *mp_search_entry_get(Evas_Object * search);
+char *mp_search_text_get(Evas_Object * search);
+void mp_search_text_set(Evas_Object * search, const char *text);
+
+#endif //__MP_SEARCH_H_
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+
+#ifndef __MP_SMART_EVENT_BOX_H_
+#define __MP_SMART_EVENT_BOX_H_
+
+typedef enum {
+ MP_EVENT_CLICK,
+ MP_EVENT_LEFT,
+ MP_EVENT_RIGHT,
+ MP_EVENT_MAX,
+} MpEventCallback_e;
+
+Evas_Object *mp_smart_event_box_add(Evas_Object * parent);
+void mp_smart_event_box_callback_add(Evas_Object * event_box,
+ MpEventCallback_e event,
+ void (*event_cb) (void *),
+ void *user_data);
+
+#endif //__MP_SMART_EVENT_BOX_H_
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef __MP_TRACK_LIST_H__
+#define __MP_TRACK_LIST_H__
+
+#include "mp-list.h"
+#include "mp-media-info.h"
+
+enum {
+ MP_TRACK_LIST_TYPE, //mp_track_type_e
+ MP_TRACK_LIST_PLAYLIT_ID,
+ MP_TRACK_LIST_TYPE_STR, //type_str for db query
+ MP_TRACK_LIST_TYPE_STR2, //type_str for db query
+ MP_TRACK_LIST_FILTER_STR,
+ MP_TRACK_LIST_INDEX_TYPE, // album art list, ....
+ MP_TRACK_LIST_CLOUD_TYPE,
+ MP_TRACK_LIST_CHECKED_LIST,
+};
+
+typedef struct __MpTrackList {
+ INHERIT_MP_LIST void (*set_edit_default) (void *thiz, bool edit);
+
+ Elm_Genlist_Item_Class *itc;
+ Elm_Genlist_Item_Class *itc_shuffle;
+
+ mp_media_list_h track_list[2];
+ Ecore_Timer *load_timer;
+
+ Elm_Object_Item *albumart_index_item;
+ Elm_Object_Item *shuffle_it;
+ GList *albumart_index_list;
+
+ mp_media_list_h playlists;
+ mp_media_info_h playlist_handle;
+
+ int track_count;
+ bool get_by_view;
+} MpTrackList_t;
+
+MpTrackList_t *mp_track_list_create(Evas_Object * parent);
+void mp_track_list_set_data(MpTrackList_t * list, ...);
+void mp_track_list_set_reorder(MpTrackList_t * list, bool reorder);
+void mp_track_list_update_albumart_index(MpTrackList_t * list);
+void mp_track_list_show_shuffle(void *thiz, bool show);
+MpCloudView_e mp_track_list_get_cloud_view(MpTrackList_t * list);
+void mp_track_list_update_genlist(void *thiz);
+void mp_track_list_popup_delete_genlist_item(void *thiz);
+void mp_track_list_copy_data(MpTrackList_t * src, MpTrackList_t * dest);
+#endif
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include "mp-album-detail-list.h"
+#include "mp-player-view.h"
+#include "mp-create-playlist-view.h"
+#include "mp-ctxpopup.h"
+#include "mp-popup.h"
+#include "mp-util.h"
+#include "mp-common.h"
+#include "mp-widget.h"
+#include "mp-play.h"
+#include "mp-minicontroller.h"
+#include "mp-edit-callback.h"
+#include "mp-album-detail-view.h"
+
+#include <media_content.h>
+
+
+static bool _mp_ablum_detail_list_check_artist_name(mp_media_list_h thiz,
+ int count)
+{
+ startfunc;
+ MP_CHECK_FALSE(thiz);
+ mp_media_list_h svc_handle = thiz;
+ MP_CHECK_FALSE(svc_handle);
+ int i = 0;
+ int j = 0;
+ if (count > 1) {
+ for (i = 0; i < count - 1; i++) {
+ mp_media_info_h item = NULL;
+ char *artist = NULL;
+ item = mp_media_info_list_nth_item(svc_handle, i);
+ MP_CHECK_FALSE(item);
+ mp_media_info_get_artist(item, &artist);
+ MP_CHECK_FALSE(artist);
+
+ for (j = i + 1; j < count; j++) {
+ mp_media_info_h item_temp = NULL;
+ char *artist_temp = NULL;
+ item_temp = mp_media_info_list_nth_item(svc_handle, j);
+ MP_CHECK_FALSE(item_temp);
+ mp_media_info_get_artist(item_temp, &artist_temp);
+ MP_CHECK_FALSE(artist_temp);
+ if (!g_strcmp0(artist, artist_temp)) {
+ continue;
+ } else {
+ return TRUE;
+ }
+ }
+ }
+ } else if (count == 1) {
+ return FALSE;
+ }
+ return FALSE;
+}
+
+static char *_mp_album_detail_list_label_get(void *data, Evas_Object * obj,
+ const char *part)
+{
+ mp_list_item_data_t *item = (mp_list_item_data_t *) data;
+ MP_CHECK_NULL(item);
+ mp_media_info_h track = (mp_media_info_h) (item->handle);
+ mp_retvm_if(!track, NULL, "data is null");
+
+ MpAlbumDetailList_t *list = evas_object_data_get(obj, "list_data");
+ MP_CHECK_NULL(list);
+
+ static char result[DEF_STR_LEN + 1] = { 0, };
+
+ if (!strcmp(part, "elm.text")) {
+ char *title = NULL;
+ bool match = mp_common_track_is_current(track, (MpList_t *) list);
+
+
+ if (list->track_type == MP_TRACK_BY_FOLDER) {
+ mp_media_info_get_display_name(track, &title);
+ } else {
+ mp_media_info_get_title(track, &title);
+ }
+
+ mp_retv_if(!title, NULL);
+
+ char *markup = NULL;
+ if (match) {
+ char *info = elm_entry_utf8_to_markup(title);
+
+ int r = 21;
+ int g = 108;
+ int b = 148;
+ int a = 255;
+
+ memset(result, 0x00, DEF_STR_LEN + 1);
+ snprintf(result, DEF_STR_LEN,
+ "<color=#%02x%02x%02x%02x>%s</color>", r, g, b, a,
+ info);
+ IF_FREE(info);
+
+ return g_strdup(result);
+
+ } else {
+ markup = elm_entry_utf8_to_markup(title);
+ }
+ return markup;
+ }
+ if (!list->edit_mode) {
+ if (!strcmp(part, "elm.text.end")) {
+ int duration;
+ char time[16] = "";
+ bool match =
+ mp_common_track_is_current(track, (MpList_t *) list);
+
+ mp_media_info_get_duration(track, &duration);
+
+ mp_util_song_format_duration(time, duration);
+ time[15] = '\0';
+ if (match) {
+ int r = 21;
+ int g = 108;
+ int b = 148;
+ int a = 255;
+
+ memset(result, 0x00, DEF_STR_LEN + 1);
+ snprintf(result, DEF_STR_LEN,
+ "<color=#%02x%02x%02x%02x>%s</color>", r, g, b, a,
+ time);
+
+ return g_strdup(result);
+ }
+ return g_strdup(time);
+ }
+ }
+ return NULL;
+}
+
+
+Evas_Object *_mp_album_detail_list_icon_get(void *data, Evas_Object * obj,
+ const char *part)
+{
+ mp_list_item_data_t *item = (mp_list_item_data_t *) data;
+ MP_CHECK_NULL(item);
+ mp_media_info_h track = item->handle;
+ mp_retvm_if(!track, NULL, "data is null");
+
+ if (!strcmp(part, "elm.icon")) {
+ return NULL;
+ }
+
+ MpAlbumDetailList_t *list = evas_object_data_get(obj, "list_data");
+ MP_CHECK_NULL(list);
+
+ if (list->edit_mode) {
+ // if edit mode
+ if (!strcmp(part, "elm.swallow.end")) {
+ // swallow checkbox or radio button
+ Evas_Object *icon = NULL;
+
+ icon = elm_check_add(obj);
+ elm_object_style_set(icon, "default");
+ evas_object_propagate_events_set(icon, EINA_FALSE);
+ evas_object_smart_callback_add(icon, "changed",
+ mp_common_view_check_changed_cb,
+ NULL);
+ elm_check_state_pointer_set(icon, &item->checked);
+
+ return icon;
+ }
+ }
+
+ return NULL;
+}
+
+static void
+_mp_album_detail_list_item_del_cb(void *data, Evas_Object * obj)
+{
+ mp_list_item_data_t *item_data = data;
+ MP_CHECK(item_data);
+ SAFE_FREE(item_data);
+}
+
+static void
+_mp_album_detail_genlist_sel_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ eventfunc;
+ Elm_Object_Item *gli = (Elm_Object_Item *) event_info;
+ elm_genlist_item_selected_set(gli, FALSE);
+
+ MP_LIST_ITEM_IGNORE_SELECT(obj);
+
+ MpList_t *list = data;
+ MP_CHECK(list);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ ad->isPlayBtn = true;
+ if (_mp_is_current_focus_available(ad) != 0) {
+ ERROR_TRACE
+ ("Some other application has the focus currently... Returning...");
+ return;
+ }
+
+ mp_list_item_data_t *item =
+ (mp_list_item_data_t *) elm_object_item_data_get(gli);
+ MP_CHECK(item);
+
+ if (list->edit_mode) {
+ mp_list_edit_mode_sel(list, item);
+ MpViewMgr_t *view_mgr = mp_view_mgr_get_view_manager();
+ MpView_t *view = mp_view_mgr_get_top_view(view_mgr);
+ mp_view_update_options_edit(view);
+ return;
+ }
+
+ mp_common_play_track_list(item, obj);
+
+ return;
+}
+
+static void _mp_album_detail_list_append_item(MpAlbumDetailList_t * list,
+ mp_media_list_h svc_handle,
+ int count)
+{
+
+ int index = 0;
+ for (index = 0; index < count; index++) {
+ mp_media_info_h item = NULL;
+ char *title = NULL;
+ mp_list_item_data_t *item_data;
+
+ item = mp_media_info_list_nth_item(svc_handle, index);
+ if (!item) {
+ DEBUG_TRACE
+ ("Fail to mp_media_info_group_list_nth_item, index[%d]", index);
+ goto END;
+ }
+ mp_media_info_get_file_path(item, &title);
+
+#ifdef MP_FEATURE_PERSONAL_PAGE
+ char *path = NULL;
+ mp_media_info_get_file_path(item, &path);
+ if (list->personal_page_type == MP_LIST_PERSONAL_PAGE_NONE) {
+ goto append_album_items;
+ }
+
+ if (mp_util_is_in_personal_page((const char *) path)) {
+ if (list->personal_page_type == MP_LIST_PERSONAL_PAGE_ADD) {
+ continue;
+ }
+ } else {
+ if (list->personal_page_type == MP_LIST_PERSONAL_PAGE_REMOVE) {
+ continue;
+ }
+ }
+append_album_items:
+#endif
+
+ item_data = calloc(1, sizeof(mp_list_item_data_t));
+ MP_CHECK(item_data);
+ item_data->handle = item;
+ item_data->index = index;
+ item_data->group_type = MP_GROUP_NONE;
+ if (list->edit_mode) {
+ item_data->checked =
+ mp_list_is_in_checked_path_list(list->checked_path_list,
+ title);
+ }
+
+ item_data->it =
+ elm_genlist_item_append(list->genlist, list->itc, item_data,
+ NULL, ELM_GENLIST_ITEM_NONE,
+ _mp_album_detail_genlist_sel_cb, list);
+ elm_object_item_data_set(item_data->it, item_data);
+ }
+
+ END:
+ endfunc;
+}
+
+static char *_mp_album_detail_list_album_text_get(void *data,
+ Evas_Object * obj,
+ const char *part)
+{
+ startfunc;
+
+ MpAlbumDetailList_t *list = evas_object_data_get(obj, "list_data");
+ MP_CHECK_NULL(list);
+
+ if (!strcmp(part, "elm.text")) {
+ return g_strdup(elm_entry_utf8_to_markup(list->artist));
+ } else if (!strcmp(part, "elm.text.sub")) {
+ char *text = NULL;
+ char *tmp = NULL;
+ char time[16] = "";
+ char make_up[DEF_STR_LEN + 1] = { 0, };
+
+ mp_util_format_duration(time, list->total_duration);
+ time[15] = '\0';
+ tmp =
+ (list->track_count ==
+ 1) ? g_strdup(GET_STR(STR_MP_1_SONG)) :
+ g_strdup_printf(GET_STR(STR_MP_PD_SONGS), list->track_count);
+ text = g_strdup_printf("%s / %s", tmp, time);
+
+ memset(make_up, 0x00, DEF_STR_LEN + 1);
+ snprintf(make_up, DEF_STR_LEN, "%s", text);
+ IF_FREE(text);
+ IF_FREE(tmp);
+
+ return g_strdup(make_up);
+ }
+ return NULL;
+
+}
+
+static char *_mp_album_detail_list_shuffle_text_get(void *data,
+ Evas_Object * obj,
+ const char *part)
+{
+ startfunc;
+ int res = -1;
+ int count = 0;
+ char *markup = NULL;
+ static char result[DEF_STR_LEN + 1] = { 0, };
+
+ if (!strcmp(part, "elm.text")) {
+ MpAlbumDetailList_t *list = evas_object_data_get(obj, "list_data");
+ MP_CHECK_NULL(list);
+
+ int r = 21;
+ int g = 108;
+ int b = 148;
+ int a = 255;
+
+ res =
+ mp_media_info_list_count(MP_TRACK_BY_ALBUM, list->type_str,
+ NULL, NULL, 0, &count);
+ MP_CHECK_NULL(res == 0);
+
+ markup =
+ (count ==
+ 1) ? g_strdup(GET_STR(STR_MP_SHUFFLE_1_TRACK)) :
+ g_strdup_printf(GET_STR(STR_MP_SHUFFLE_PD_TRACKS), count);
+
+ memset(result, 0x00, DEF_STR_LEN + 1);
+ snprintf(result, DEF_STR_LEN,
+ "<color=#%02x%02x%02x%02x>%s</color>", r, g, b, a,
+ markup);
+ IF_FREE(markup);
+
+ return g_strdup(result);
+ }
+ return NULL;
+
+}
+
+Evas_Object *_mp_album_detail_list_album_icon_get(void *data,
+ Evas_Object * obj,
+ const char *part)
+{
+ if (!strcmp(part, "elm.swallow.icon")) {
+ MpAlbumDetailList_t *list = evas_object_data_get(obj, "list_data");
+ MP_CHECK_NULL(list);
+
+ Evas_Object *icon = NULL;
+ Evas_Object *content = NULL;
+ content = elm_layout_add(obj);
+
+ icon =
+ mp_util_create_thumb_icon(obj, list->thumbnail,
+ MP_LIST_ALBUM_ICON_SIZE,
+ MP_LIST_ALBUM_ICON_SIZE);
+
+ elm_layout_theme_set(content, "layout", "list/B/music.type.1",
+ "default");
+ elm_layout_content_set(content, "elm.swallow.content", icon);
+
+ return content;
+ }
+ return NULL;
+}
+
+Evas_Object *_mp_album_detail_list_shuffle_icon_get(void *data,
+ Evas_Object * obj,
+ const char *part)
+{
+ if (!strcmp(part, "elm.swallow.icon")) {
+ Evas_Object *content = NULL;
+ content = elm_layout_add(obj);
+
+ Evas_Object *icon;
+ char edje_path[1024] = { 0 };
+ char *path = app_get_resource_path();
+
+ MP_CHECK_NULL(path);
+ snprintf(edje_path, 1024, "%s%s/%s", path, "edje", IMAGE_EDJ_NAME);
+
+ icon =
+ mp_util_create_image(obj, edje_path, MP_LITE_SHUFFLE_ICON,
+ MP_LIST_SHUFFLE_ICON_SIZE,
+ MP_LIST_SHUFFLE_ICON_SIZE);
+ evas_object_color_set(icon, 21, 108, 148, 255);
+ free(path);
+
+ elm_layout_theme_set(content, "layout", "list/B/music.type.3",
+ "default");
+ elm_layout_content_set(content, "elm.swallow.content", icon);
+
+ return content;
+ }
+ return NULL;
+
+}
+
+
+static void
+_mp_album_detail_list_shuffle_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ eventfunc;
+ Elm_Object_Item *gli = (Elm_Object_Item *) event_info;
+ elm_genlist_item_selected_set(gli, FALSE);
+
+ MP_LIST_ITEM_IGNORE_SELECT(obj);
+
+ MpList_t *list = data;
+ MP_CHECK(list);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ ad->isPlayBtn = true;
+ if (_mp_is_current_focus_available(ad) != 0) {
+ ERROR_TRACE
+ ("Some other application has the focus currently... Returning...");
+ return;
+ }
+
+ mp_list_item_data_t *item =
+ (mp_list_item_data_t *) elm_object_item_data_get(gli);
+ MP_CHECK(item);
+ mp_play_control_shuffle_set(NULL, true);
+ mp_common_play_track_list_with_playlist_id(item, obj, 0);
+
+ return;
+}
+
+static void
+_mp_album_detail_list_shuffle_item_del_cb(void *data, Evas_Object * obj)
+{
+ mp_list_item_data_t *item_data = data;
+ SAFE_FREE(item_data);
+}
+
+static int _mp_album_detail_list_get_total_duration(MpAlbumDetailList_t *
+ list,
+ mp_media_list_h
+ svc_handle, int count)
+{
+ int total_duration = 0;
+ int duration = 0;
+ int index = 0;
+ for (index = 0; index < count; index++) {
+ mp_media_info_h item = NULL;
+ item = mp_media_info_list_nth_item(svc_handle, index);
+#ifdef MP_FEATURE_PERSONAL_PAGE
+ char *path = NULL;
+ mp_media_info_get_file_path(item, &path);
+ if (list->personal_page_type == MP_LIST_PERSONAL_PAGE_NONE) {
+ goto calc_total_duration;
+ }
+
+ if (mp_util_is_in_personal_page((const char *) path)) {
+ if (list->personal_page_type == MP_LIST_PERSONAL_PAGE_ADD) {
+ continue;
+ }
+ } else {
+ if (list->personal_page_type == MP_LIST_PERSONAL_PAGE_REMOVE) {
+ continue;
+ }
+ }
+ calc_total_duration:
+#endif
+ mp_media_info_get_duration(item, &duration);
+ duration /= 1000;
+ duration *= 1000;
+ total_duration += duration;
+ }
+ DEBUG_TRACE("total_duration %d", total_duration);
+ return total_duration;
+}
+
+static void _mp_album_detail_list_append_album_item(MpAlbumDetailList_t *
+ list)
+{
+ startfunc;
+ MP_CHECK(list);
+ Elm_Object_Item *list_item = NULL;
+
+ list->itc_album = elm_genlist_item_class_new();
+ MP_CHECK(list->itc_album);
+ list->itc_album->item_style = "type1"; //"music/1text.2icon.3";//"music/3text.1icon.2"
+ list->itc_album->func.text_get = _mp_album_detail_list_album_text_get;
+ list->itc_album->decorate_all_item_style = NULL;
+ list->itc_album->func.content_get =
+ _mp_album_detail_list_album_icon_get;
+ list->itc_album->func.del = _mp_album_detail_list_shuffle_item_del_cb;
+
+ mp_list_item_data_t *item_data;
+ item_data = calloc(1, sizeof(mp_list_item_data_t));
+ MP_CHECK(item_data);
+ item_data->item_type = MP_LIST_ITEM_TYPE_SELECTABLE_GROUP_TITLE;
+
+ item_data->it = list_item =
+ elm_genlist_item_append(list->genlist, list->itc_album, item_data,
+ NULL, ELM_GENLIST_ITEM_NONE,
+ _mp_album_detail_list_shuffle_cb, list);
+
+ if (!list->edit_mode) {
+ elm_genlist_item_select_mode_set(list_item,
+ ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+ }
+ endfunc;
+}
+
+void mp_album_detail_list_show_shuffle(void *thiz, bool show)
+{
+ startfunc;
+ MP_CHECK(thiz);
+ MpAlbumDetailList_t *list = thiz;
+ MP_CHECK(list->genlist);
+
+ DEBUG_TRACE("show shuffle: %d list->shuffle_it: %0x", show,
+ list->shuffle_it);
+ if (show) {
+ _mp_album_detail_list_append_album_item(list);
+
+ list->itc_shuffle = elm_genlist_item_class_new();
+ MP_CHECK(list->itc_shuffle);
+ list->itc_shuffle->item_style = "default";
+ list->itc_shuffle->func.text_get =
+ _mp_album_detail_list_shuffle_text_get;
+ list->itc_shuffle->decorate_all_item_style = NULL;
+ list->itc_shuffle->func.content_get =
+ _mp_album_detail_list_shuffle_icon_get;
+ list->itc_shuffle->func.del =
+ _mp_album_detail_list_shuffle_item_del_cb;
+
+ mp_list_item_data_t *item_data;
+ item_data = mp_list_item_data_create(MP_LIST_ITEM_TYPE_SHUFFLE);
+ MP_CHECK(item_data);
+
+ item_data->it = list->shuffle_it =
+ elm_genlist_item_append(list->genlist, list->itc_shuffle,
+ item_data, NULL, ELM_GENLIST_ITEM_NONE,
+ _mp_album_detail_list_shuffle_cb,
+ list);
+ elm_object_item_data_set(item_data->it, item_data);
+ } else if (list->shuffle_it) {
+ elm_object_item_del(list->shuffle_it);
+ list->shuffle_it = NULL;
+ }
+}
+
+void mp_album_detail_list_popup_delete_genlist_item(void *thiz)
+{
+ startfunc;
+
+ MP_CHECK(thiz);
+ MpAlbumDetailList_t *list = thiz;
+ MP_CHECK(list->genlist);
+
+ if (list->track_count > 0) {
+ list->track_count--;
+ }
+}
+
+void mp_album_detail_list_update_genlist(void *thiz)
+{
+ startfunc;
+
+ MP_CHECK(thiz);
+ MpAlbumDetailList_t *list = thiz;
+ MP_CHECK(list->genlist);
+
+ if (list->track_count <= 0) {
+ mp_list_update(thiz);
+ } else {
+ elm_genlist_realized_items_update(list->genlist);
+ }
+}
+
+static void _mp_album_detail_list_load_list(void *thiz, int count)
+{
+ startfunc;
+ MpAlbumDetailList_t *list = thiz;
+ MP_CHECK(list);
+
+ /*media-svc related */
+ mp_media_list_h svc_handle = NULL;
+
+ /*clear genlist */
+ Elm_Object_Item *item = elm_genlist_first_item_get(list->genlist);
+ if (item) {
+ elm_genlist_item_bring_in(item, ELM_GENLIST_ITEM_SCROLLTO_IN);
+ elm_genlist_clear(list->genlist);
+ }
+
+ mp_ecore_timer_del(list->load_timer);
+
+ /*get data from DB */
+ PROFILE_IN("mp_media_info_list_create");
+ mp_media_info_list_create(&svc_handle, list->track_type,
+ list->type_str, list->type_str2,
+ list->filter_str, list->playlist_id, 0,
+ count);
+ PROFILE_OUT("mp_media_info_list_create");
+
+ mp_album_detail_list_show_shuffle(list, true);
+
+ list->total_duration =
+ _mp_album_detail_list_get_total_duration(list, svc_handle,
+ list->track_count);
+
+ list->various_name =
+ _mp_ablum_detail_list_check_artist_name(svc_handle, count);
+
+ PROFILE_IN("_mp_album_detail_list_append_item");
+ _mp_album_detail_list_append_item(list, svc_handle, count);
+ PROFILE_OUT("_mp_album_detail_list_append_item");
+
+ if (list->track_list[0]) {
+ mp_media_info_list_destroy(list->track_list[0]);
+ }
+ list->track_list[0] = svc_handle;
+
+}
+
+static void _mp_album_detail_list_destory_cb(void *thiz)
+{
+ eventfunc;
+ MpAlbumDetailList_t *list = thiz;
+ MP_CHECK(list);
+
+ mp_ecore_timer_del(list->load_timer);
+
+ if (list->track_list[0]) {
+ mp_media_info_list_destroy(list->track_list[0]);
+ list->track_list[0] = NULL;
+ }
+ if (list->track_list[1]) {
+ mp_media_info_list_destroy(list->track_list[1]);
+ list->track_list[1] = NULL;
+ }
+
+ if (list->itc) {
+ elm_genlist_item_class_free(list->itc);
+ list->itc = NULL;
+ }
+ if (list->itc_album) {
+ elm_genlist_item_class_free(list->itc_album);
+ list->itc_album = NULL;
+ }
+ if (list->itc_shuffle) {
+ elm_genlist_item_class_free(list->itc_shuffle);
+ list->itc_shuffle = NULL;
+ }
+
+ mp_list_free_checked_path_list(list->checked_path_list);
+
+ IF_FREE(list->type_str);
+ IF_FREE(list->type_str2);
+ IF_FREE(list->filter_str);
+ IF_FREE(list->artist);
+ IF_FREE(list->thumbnail);
+ free(list);
+}
+
+static void _mp_album_detail_list_item_highlighted(void *data,
+ Evas_Object * obj,
+ void *event_info)
+{
+ MpAlbumDetailList_t *list = data;
+ MP_CHECK(list);
+
+ Elm_Object_Item *it = event_info;
+ MP_CHECK(it);
+
+ if (list->shuffle_it == it) {
+ Evas_Object *icon =
+ elm_object_item_part_content_get(it, "elm.icon.2");
+ if (icon) {
+ elm_image_file_set(icon, IMAGE_EDJ_NAME,
+ MP_ICON_SHUFFLE_PRESS);
+ }
+ }
+}
+
+static void _mp_album_detail_list_item_unhighlighted(void *data,
+ Evas_Object * obj,
+ void *event_info)
+{
+ MpAlbumDetailList_t *list = data;
+ MP_CHECK(list);
+
+ Elm_Object_Item *it = event_info;
+ MP_CHECK(it);
+
+ if (list->shuffle_it == it) {
+ Evas_Object *icon =
+ elm_object_item_part_content_get(it, "elm.icon.2");
+ if (icon) {
+ elm_image_file_set(icon, IMAGE_EDJ_NAME, MP_ICON_SHUFFLE);
+ }
+ }
+}
+
+static void _mp_album_detail_list_update(void *thiz)
+{
+ startfunc;
+ int count = 0, res = 0;
+ MpAlbumDetailList_t *list = thiz;
+ MP_CHECK(list);
+
+ PROFILE_IN("mp_media_info_list_count");
+ res =
+ mp_media_info_list_count(list->track_type, list->type_str,
+ list->type_str2, list->filter_str,
+ list->playlist_id, &count);
+ PROFILE_OUT("mp_media_info_list_count");
+ MP_CHECK(res == 0);
+ list->track_count = count;
+
+ mp_list_free_checked_path_list(list->checked_path_list);
+ list->checked_path_list =
+ mp_list_get_checked_path_list((MpList_t *) list);
+
+ mp_evas_object_del(list->no_content);
+ mp_evas_object_del(list->genlist);
+
+ if (count) {
+ /*create new genlist */
+ PROFILE_IN("elm_genlist_add");
+ list->genlist = mp_widget_genlist_create(list->box);
+ elm_scroller_policy_set(list->genlist, ELM_SCROLLER_POLICY_OFF,
+ ELM_SCROLLER_POLICY_AUTO);
+ evas_object_size_hint_weight_set(list->genlist, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(list->genlist, EVAS_HINT_FILL,
+ EVAS_HINT_FILL);
+ elm_genlist_homogeneous_set(list->genlist, EINA_TRUE);
+ elm_genlist_mode_set(list->genlist, ELM_LIST_COMPRESS);
+ evas_object_show(list->genlist);
+ /*packet genlist to box */
+ elm_box_pack_end(list->box, list->genlist);
+ evas_object_data_set(list->genlist, "list_data", list);
+
+ if (!list->itc) {
+ list->itc = elm_genlist_item_class_new();
+ if (list->itc) {
+ list->itc->item_style = "type1";
+ list->itc->func.text_get = _mp_album_detail_list_label_get;
+ list->itc->func.content_get =
+ _mp_album_detail_list_icon_get;
+ list->itc->func.del = _mp_album_detail_list_item_del_cb;
+ }
+ }
+
+ evas_object_smart_callback_add(list->genlist, "scroll,drag,start",
+ list->drag_start_cb, list);
+ evas_object_smart_callback_add(list->genlist, "scroll,drag,stop",
+ list->drag_stop_cb, list);
+ evas_object_smart_callback_add(list->genlist, "highlighted",
+ _mp_album_detail_list_item_highlighted,
+ list);
+ evas_object_smart_callback_add(list->genlist, "unhighlighted",
+ _mp_album_detail_list_item_unhighlighted,
+ list);
+
+ PROFILE_OUT("elm_genlist_add");
+ /* load list */
+ PROFILE_IN("_mp_album_detail_list_load_list");
+ _mp_album_detail_list_load_list(thiz, count);
+ PROFILE_OUT("_mp_album_detail_list_load_list");
+
+ if (!mp_list_get_editable_count(thiz, mp_list_get_edit_type(thiz))) {
+ goto NoContents;
+ }
+
+ return;
+ }
+
+ NoContents:
+ mp_evas_object_del(list->genlist);
+ if (!list->no_content) {
+ list->no_content =
+ mp_widget_create_no_contents(list->box, MP_NOCONTENT_TRACKS,
+ NULL, list);
+ elm_box_pack_end(list->box, list->no_content);
+ }
+}
+
+static mp_track_type_e _mp_album_detail_list_get_track_type(void *thiz)
+{
+ MpAlbumDetailList_t *list = thiz;
+ MP_CHECK_VAL(list, MP_TRACK_ALL);
+ return list->track_type;
+}
+
+static const char *_get_label(void *thiz, void *event_info)
+{
+ MpAlbumDetailList_t *list = thiz;
+ MP_CHECK_NULL(list);
+ char *title = NULL;
+
+ mp_list_item_data_t *track = elm_object_item_data_get(event_info);
+ MP_CHECK_NULL(track);
+
+ mp_media_info_get_title(track->handle, &title);
+ return title;
+}
+
+static void _mp_album_detail_list_set_edit(void *thiz, bool edit)
+{
+ startfunc;
+ MpAlbumDetailList_t *list = thiz;
+ MP_CHECK(list);
+
+ mp_album_detail_list_show_shuffle(list, false);
+
+ /* check DRM FL */
+ if (mp_list_get_edit_type((MpList_t *) list) ==
+ MP_LIST_EDIT_TYPE_SHARE) {
+ _mp_album_detail_list_update(list);
+ }
+
+ if (list->set_edit_default) {
+ list->set_edit_default(list, edit);
+ }
+}
+
+static unsigned int
+_mp_album_detail_list_get_editable_count(void *thiz, MpListEditType_e type)
+{
+ MpAlbumDetailList_t *list = thiz;
+ MP_CHECK_VAL(list->genlist, 0);
+
+ int count = elm_genlist_items_count(list->genlist);
+
+ if (type == MP_LIST_EDIT_TYPE_SHARE) {
+ Elm_Object_Item *gl_item =
+ elm_genlist_first_item_get(list->genlist);
+ while (gl_item) {
+ mp_list_item_data_t *item_data =
+ elm_object_item_data_get(gl_item);
+ if (item_data && item_data->handle) {
+ char *path = NULL;
+ mp_media_info_get_file_path(item_data->handle, &path);
+ }
+
+ gl_item = elm_genlist_item_next_get(gl_item);
+ }
+ }
+
+ if (list->shuffle_it) {
+ --count;
+ }
+
+ if (list->bottom_counter_item) {
+ --count;
+ }
+
+ return count - 1;
+}
+
+static char *_mp_album_detail_list_bottom_counter_text_cb(void *thiz)
+{
+ MpAlbumDetailList_t *list = thiz;
+ MP_CHECK_NULL(list);
+
+ unsigned int count =
+ mp_list_get_editable_count((MpList_t *) list,
+ mp_list_get_edit_type((MpList_t *)
+ list));
+
+ char *text = NULL;
+ if (count == 1) {
+ text = g_strdup(GET_STR(STR_MP_1_SONG));
+ } else {
+ text = g_strdup_printf(GET_STR(STR_MP_PD_SONGS), count);
+ }
+
+ return text;
+}
+
+static mp_group_type_e _mp_album_detail_list_get_group_type(void *thiz)
+{
+ MpAlbumDetailList_t *list = thiz;
+ MP_CHECK_VAL(list, MP_GROUP_NONE);
+ return MP_GROUP_NONE;
+}
+
+MpAlbumDetailList_t *mp_album_detail_list_create(Evas_Object * parent)
+{
+ eventfunc;
+ MP_CHECK_NULL(parent);
+
+ MpAlbumDetailList_t *list = calloc(1, sizeof(MpAlbumDetailList_t));
+ MP_CHECK_NULL(list);
+
+ mp_list_init((MpList_t *) list, parent, MP_LIST_TYPE_ALBUM_DETAIL);
+
+ list->update = _mp_album_detail_list_update;
+ list->destory_cb = _mp_album_detail_list_destory_cb;
+ list->get_track_type = _mp_album_detail_list_get_track_type;
+ list->get_group_type = _mp_album_detail_list_get_group_type;
+ //list->get_playlist_handle = _mp_album_detail_list_get_handle;
+ list->get_label = _get_label;
+
+ list->set_edit_default = list->set_edit;
+ list->set_edit = _mp_album_detail_list_set_edit;
+ list->get_count = _mp_album_detail_list_get_editable_count;
+ list->bottom_counter_text_get_cb =
+ _mp_album_detail_list_bottom_counter_text_cb;
+
+ return list;
+}
+
+void mp_album_detail_list_set_data(MpAlbumDetailList_t * list, ...)
+{
+ startfunc;
+ MP_CHECK(list);
+
+ va_list var_args;
+ int field;
+
+ va_start(var_args, list);
+ do {
+ field = va_arg(var_args, int);
+ DEBUG_TRACE("field is %d", field);
+
+ switch (field) {
+ case MP_ALBUM_DETAIL_LIST_TYPE:{
+ int val = va_arg((var_args), int);
+
+ list->track_type = val;
+ DEBUG_TRACE("list->track_type = %d", list->track_type);
+ break;
+ }
+
+ case MP_ALBUM_DETAIL_TYPE_STR:{
+ char *val = va_arg((var_args), char *);
+ SAFE_FREE(list->type_str);
+ list->type_str = g_strdup(val);
+ DEBUG_TRACE("list->type_str = %s", list->type_str);
+
+ break;
+ }
+
+ case MP_ALBUM_DETAIL_ARTIST:{
+ char *val = va_arg((var_args), char *);
+ SAFE_FREE(list->artist);
+ list->artist = g_strdup(val);
+ DEBUG_TRACE("list->artist = %s", list->artist);
+
+ break;
+ }
+
+ case MP_ALBUM_DETAIL_THUMBNAIL:{
+ char *val = va_arg((var_args), char *);
+ SAFE_FREE(list->thumbnail);
+ list->thumbnail = g_strdup(val);
+ DEBUG_TRACE("list->thumbnail = %s", list->thumbnail);
+
+ break;
+ }
+ default:
+ DEBUG_TRACE("Invalid arguments");
+ }
+
+ } while (field >= 0);
+
+ va_end(var_args);
+}
+
+void mp_album_detail_list_copy_data(MpAlbumDetailList_t * src,
+ MpAlbumDetailList_t * dest)
+{
+ MP_CHECK(src);
+ MP_CHECK(dest);
+
+ dest->track_type = src->track_type;
+
+ SAFE_FREE(dest->type_str);
+ dest->type_str = g_strdup(src->type_str);
+ SAFE_FREE(dest->artist);
+ dest->artist = g_strdup(src->artist);
+ SAFE_FREE(dest->thumbnail);
+ dest->thumbnail = g_strdup(src->thumbnail);
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include <stdio.h>
+
+#include "mp-album-list.h"
+#include "mp-track-list.h"
+#include "mp-album-detail-view.h"
+#include "mp-create-playlist-view.h"
+#include "mp-select-track-view.h"
+#include "mp-popup.h"
+#include "mp-menu.h"
+#include "mp-util.h"
+#include "mp-widget.h"
+#include "mp-common.h"
+#include "mp-play.h"
+
+#define ALBUM_GRID_W 233
+#define ALBUM_GRID_H 319
+#define ALBUM_GRID_LAND_W 252
+#define ALBUM_GRID_LAND_H 320
+#define ALBUM_ICON_SIZE 70
+
+static mp_list_item_data_t* g_item_data = NULL;
+
+static void
+_mp_album_select_cb(void *data, Evas_Object * obj, void *event_info);
+
+static char *_mp_album_list_group_index_text_get(void *data,
+ Evas_Object * obj,
+ const char *part)
+{
+ mp_list_item_data_t *item_data = data;
+ MP_CHECK_NULL(item_data);
+
+ char *text = NULL;
+ if (!strcmp(part, "elm.text.sub")) {
+ MpAlbumList_t *list = evas_object_data_get(obj, "list_data");
+ MP_CHECK_NULL(list);
+
+ unsigned int count =
+ mp_list_get_editable_count((MpList_t *) list,
+ mp_list_get_edit_type((MpList_t *)
+ list));
+
+ if (count == 1) {
+ text = g_strdup(GET_STR(STR_MP_1_ALBUM));
+ } else {
+ text = g_strdup_printf(GET_STR(STR_MP_PD_ALBUMS), count);
+ }
+ }
+
+ return text;
+}
+
+static char *_mp_album_list_label_get(void *data, Evas_Object * obj,
+ const char *part)
+{
+ char *name = NULL;
+ int ret = 0;
+
+ mp_list_item_data_t *item = (mp_list_item_data_t *) data;
+ MP_CHECK_NULL(item);
+ mp_media_info_h svc_item = (item->handle);
+
+ mp_retv_if(svc_item == NULL, NULL);
+
+ if (!strcmp(part, "elm.text")) {
+ ret = mp_media_info_group_get_main_info(svc_item, &name);
+ mp_retvm_if((ret != 0), NULL, "Fail to get value");
+ if (!name || !strlen(name)) {
+ name = GET_SYS_STR("IDS_COM_BODY_UNKNOWN");
+ }
+
+ return elm_entry_utf8_to_markup(name);
+
+ } else if (!strcmp(part, "elm.text.sub")) {
+ ret = mp_media_info_group_get_sub_info(svc_item, &name);
+ mp_retvm_if((ret != 0), NULL, "Fail to get value");
+ if (!name || !strlen(name)) {
+ name = GET_SYS_STR("IDS_COM_BODY_UNKNOWN");
+ }
+ return g_strdup(elm_entry_utf8_to_markup(name));
+ }
+
+ return NULL;
+}
+
+
+
+Evas_Object *_mp_album_list_icon_get(void *data, Evas_Object * obj,
+ const char *part)
+{
+ Evas_Object *icon = NULL;
+
+ mp_list_item_data_t *item = (mp_list_item_data_t *) data;
+ MP_CHECK_NULL(item);
+ mp_media_info_h svc_item = (item->handle);
+ mp_retv_if(svc_item == NULL, NULL);
+
+
+ Evas_Object *content = NULL;
+ content = elm_layout_add(obj);
+
+ if (!strcmp(part, "elm.swallow.icon")) {
+ char *thumb_name = NULL;
+ mp_media_info_group_get_thumbnail_path(svc_item, &thumb_name);
+ int w, h;
+ if (item->display_mode == MP_LIST_DISPLAY_MODE_THUMBNAIL) {
+ w = ALBUM_ICON_SIZE * elm_config_scale_get();
+ } else {
+ w = ALBUM_ICON_SIZE;
+ }
+ h = w;
+ icon =
+ mp_util_create_lazy_update_thumb_icon(obj, thumb_name, w, h);
+
+ elm_layout_theme_set(content, "layout", "list/B/music.type.1",
+ "default");
+ evas_object_resize(content, w, h);
+ elm_layout_content_set(content, "elm.swallow.content", icon);
+ return content;
+ }
+
+ MpAlbumList_t *list = evas_object_data_get(obj, "list_handle");
+ MP_CHECK_NULL(list);
+
+ Evas_Object *check = NULL;
+
+ if (list->edit_mode) {
+ // if edit mode
+ if (!strcmp(part, "elm.swallow.end")) {
+ // swallow checkbox or radio button
+ check = elm_check_add(obj);
+ elm_object_style_set(check, "default");
+ evas_object_propagate_events_set(check, EINA_FALSE);
+ evas_object_smart_callback_add(check, "changed",
+ mp_common_view_check_changed_cb,
+ NULL);
+ elm_check_state_pointer_set(check, &item->checked);
+ return check;
+ }
+ }
+
+ return NULL;
+}
+
+static void _mp_album_list_item_del_cb(void *data, Evas_Object * obj)
+{
+ mp_list_item_data_t *item_data = data;
+ MP_CHECK(item_data);
+
+ free(item_data);
+}
+
+static void
+_mp_album_select_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ eventfunc;
+ MpAlbumList_t *list = (MpAlbumList_t *) data;
+ int ret = 0;
+ int index = 0; //(int)data;
+ char *name = NULL;
+ char *artist = NULL;
+ char *title = NULL;
+ char *thumbnail = NULL;
+ MP_CHECK(list);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ Elm_Object_Item *gli = (Elm_Object_Item *) event_info;
+ MP_CHECK(gli);
+ if (list->display_mode == MP_LIST_DISPLAY_MODE_THUMBNAIL) {
+ elm_gengrid_item_selected_set(gli, EINA_FALSE);
+ } else {
+ elm_genlist_item_selected_set(gli, EINA_FALSE);
+ }
+
+ mp_list_item_data_t *gli_data = elm_object_item_data_get(gli);
+ MP_CHECK(gli_data);
+
+ index = gli_data->index;
+
+ DEBUG_TRACE("index is %d", index);
+ if (index >= 0) {
+ //item_handle = mp_media_info_group_list_nth_item(gli_data->handle, index);
+ DEBUG_TRACE("");
+ ret = mp_media_info_group_get_main_info(gli_data->handle, &name);
+ DEBUG_TRACE("");
+ ret = mp_media_info_group_get_sub_info(gli_data->handle, &artist);
+ DEBUG_TRACE("");
+ mp_media_info_group_get_thumbnail_path(gli_data->handle,
+ &thumbnail);
+ DEBUG_TRACE("thumbnail=%s", thumbnail);
+ mp_retm_if(ret != 0, "Fail to get value");
+ mp_retm_if(name == NULL, "Fail to get value");
+
+ title = name;
+ }
+
+
+ if (list->function_type == MP_LIST_FUNC_ADD_TRACK) {
+ MpViewMgr_t *view_manager = mp_view_mgr_get_view_manager();
+ MP_CHECK(view_manager);
+ MpSelectTrackView_t *view_select_track =
+ mp_select_track_view_create(view_manager->navi);
+ MP_CHECK(view_select_track);
+ mp_view_mgr_push_view(view_manager, (MpView_t *) view_select_track,
+ NULL);
+
+ int count = g_list_length(ad->checkedList);
+ if (count > 0) {
+ char *text = g_strdup_printf(GET_STR(STR_MP_SELECT_ITEMS), count);
+ mp_view_set_title((MpView_t *) view_select_track, text);
+ IF_FREE(text);
+ } else {
+ mp_view_set_title((MpView_t *) view_select_track, STR_MP_TILTE_SELECT_ITEM);
+ }
+ mp_track_list_set_data((MpTrackList_t *) view_select_track->
+ content_to_show, MP_TRACK_LIST_TYPE,
+ MP_TRACK_BY_ALBUM, MP_TRACK_LIST_TYPE_STR,
+ name, -1);
+ mp_list_view_set_cancel_btn((MpListView_t *) view_select_track,
+ true);
+ mp_list_view_set_done_btn((MpListView_t *) view_select_track, true,
+ MP_DONE_SELECT_ADD_TRACK_TYPE);
+ mp_list_view_set_select_all((MpListView_t *) view_select_track,
+ TRUE);
+ mp_list_update(view_select_track->content_to_show);
+ mp_view_update_options((MpView_t *) view_select_track);
+ mp_list_set_edit(view_select_track->content_to_show, TRUE);
+ return;
+ }
+
+ if (list->edit_mode) {
+ //mp_edit_view_genlist_sel_cb(data, obj, event_info);
+ mp_list_edit_mode_sel((MpList_t *) list, gli_data);
+ MpViewMgr_t *view_mgr = mp_view_mgr_get_view_manager();
+ MpView_t *view = mp_view_mgr_get_top_view(view_mgr);
+ mp_view_update_options_edit(view);
+ return;
+ }
+
+ /* create the view of album detail */
+ MpViewMgr_t *view_manager = mp_view_mgr_get_view_manager();
+ MP_CHECK(view_manager);
+ MpAlbumDetailView_t *view_album_detail =
+ mp_album_detail_view_create(view_manager->navi, name, artist,
+ thumbnail);
+ mp_view_mgr_push_view(view_manager, (MpView_t *) view_album_detail,
+ NULL);
+
+ mp_view_update_options((MpView_t *) view_album_detail);
+ mp_view_set_title((MpView_t *) view_album_detail, name);
+}
+
+static void _mp_album_list_append_group_index_item(void *thiz)
+{
+ MpAlbumList_t *list = (MpAlbumList_t *) thiz;
+ MP_CHECK(list);
+ MP_CHECK(list->genlist);
+
+ if (!list->itc_group_index) {
+ list->itc_group_index = elm_genlist_item_class_new();
+
+ if (list->itc_group_index == NULL) {
+ ERROR_TRACE("Cannot create album genlist");
+ return;
+ }
+
+ list->itc_group_index->item_style = "music/groupindex.sub";
+ list->itc_group_index->func.text_get =
+ _mp_album_list_group_index_text_get;
+ list->itc_group_index->func.del = _mp_album_list_item_del_cb;
+ }
+
+ mp_list_item_data_t *item_data =
+ mp_list_item_data_create(MP_LIST_ITEM_TYPE_GROUP_TITLE);
+ if (item_data == NULL) {
+ ERROR_TRACE("list item data is not found");
+ return;
+ }
+ item_data->it = list->group_it =
+ elm_genlist_item_append(list->genlist, list->itc_group_index,
+ item_data, NULL, ELM_GENLIST_ITEM_GROUP,
+ NULL, NULL);
+ elm_genlist_item_select_mode_set(list->group_it,
+ ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+}
+
+void mp_album_list_show_group_index(void *thiz, bool show)
+{
+ startfunc;
+ MP_CHECK(thiz);
+ MpAlbumList_t *list = thiz;
+ MP_CHECK(list->genlist);
+
+ DEBUG_TRACE("show group index: %d list->group_it: %0x", show,
+ list->group_it);
+ if (show) {
+ _mp_album_list_append_group_index_item(list);
+ } else if (list->group_it) {
+ elm_object_item_del(list->group_it);
+ list->group_it = NULL;
+ }
+}
+
+static void _mp_album_list_load_list(void *thiz, int count)
+{
+ MpAlbumList_t *list = thiz;
+ MP_CHECK(list);
+
+ /*media-svc related */
+ mp_media_list_h svc_handle;
+ gint index = 0;
+ int ret = 0;
+
+ DEBUG_TRACE("count: %d", count);
+
+ if (count < 0) {
+ goto END;
+ }
+
+ if (list->album_list) {
+ mp_media_info_group_list_destroy(list->album_list);
+ list->album_list = NULL;
+ }
+
+ ret =
+ mp_media_info_group_list_create(&list->album_list,
+ MP_GROUP_BY_ALBUM, NULL, NULL, 0,
+ count);
+
+ if (ret != 0) {
+ DEBUG_TRACE("Fail to get items");
+ goto END;
+ }
+
+ svc_handle = list->album_list;
+
+ mp_album_list_show_group_index(list, false);
+
+ for (index = 0; index < count; index++) {
+ mp_media_info_h item = NULL;
+ Elm_Object_Item *list_item = NULL;
+ char *title = NULL;
+
+ item = mp_media_info_group_list_nth_item(svc_handle, index);
+ if (!item) {
+ DEBUG_TRACE
+ ("Fail to mp_media_info_group_list_nth_item, ret[%d], index[%d]",
+ ret, index);
+ goto END;
+ }
+ mp_media_info_group_get_main_info(item, &title);
+
+ mp_list_item_data_t *item_data;
+ item_data = calloc(1, sizeof(mp_list_item_data_t));
+ MP_CHECK(item_data);
+ item_data->handle = item;
+ item_data->index = index;
+ item_data->checked =
+ mp_list_is_in_checked_path_list(list->checked_path_list,
+ title);
+
+ if (MP_LIST_OBJ_IS_GENGRID(list->genlist)) {
+ list_item =
+ elm_gengrid_item_append(list->genlist, list->gengrid_itc,
+ item_data, _mp_album_select_cb,
+ (void *) list);
+ } else {
+ Elm_Object_Item *parent_group = NULL;
+ list_item =
+ elm_genlist_item_append(list->genlist, list->itc,
+ item_data, parent_group,
+ ELM_GENLIST_ITEM_NONE,
+ _mp_album_select_cb,
+ (void *) list);
+ }
+ item_data->it = list_item;
+ elm_object_item_data_set(item_data->it, item_data);
+ }
+
+ END:
+ endfunc;
+}
+
+void _mp_album_list_destory_cb(void *thiz)
+{
+ eventfunc;
+ MpAlbumList_t *list = thiz;
+ MP_CHECK(list);
+
+ if (list->album_list) {
+ mp_media_info_group_list_destroy(list->album_list);
+ }
+
+
+ if (list->itc) {
+ elm_genlist_item_class_free(list->itc);
+ list->itc = NULL;
+ }
+ if (list->itc_group_index) {
+ elm_genlist_item_class_free(list->itc_group_index);
+ list->itc_group_index = NULL;
+ }
+
+ if (list->gengrid_itc) {
+ elm_gengrid_item_class_free(list->gengrid_itc);
+ list->gengrid_itc = NULL;
+ }
+
+ mp_list_free_checked_path_list(list->checked_path_list);
+
+ free(list);
+}
+
+static mp_group_type_e _mp_album_list_get_group_type(void *thiz)
+{
+ MpAlbumList_t *list = thiz;
+ MP_CHECK_VAL(list, MP_GROUP_NONE);
+ return MP_GROUP_BY_ALBUM;
+}
+
+static void _mp_album_list_genlist_create(MpAlbumList_t * list)
+{
+ MP_CHECK(list);
+
+ /*create new genlist */
+ list->genlist = mp_widget_genlist_create(list->box);
+ elm_scroller_policy_set(list->genlist, ELM_SCROLLER_POLICY_OFF,
+ ELM_SCROLLER_POLICY_AUTO);
+ evas_object_size_hint_weight_set(list->genlist, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(list->genlist, EVAS_HINT_FILL,
+ EVAS_HINT_FILL);
+ elm_genlist_homogeneous_set(list->genlist, EINA_TRUE);
+ evas_object_show(list->genlist);
+ /*packet genlist to box */
+ elm_box_pack_end(list->box, list->genlist);
+ /*add long press callback */
+ //evas_object_smart_callback_add(list->genlist, "longpressed", _mp_album_list_item_longpressed_cb, list);
+ elm_genlist_mode_set(list->genlist, ELM_LIST_COMPRESS);
+
+ evas_object_data_set(list->genlist, "list_data", list);
+
+ if (!list->itc) {
+ list->itc = elm_genlist_item_class_new();
+ MP_CHECK(list->itc);
+ list->itc->item_style = "type1";
+ list->itc->func.text_get = _mp_album_list_label_get;
+ list->itc->func.content_get = _mp_album_list_icon_get;
+ list->itc->func.del = _mp_album_list_item_del_cb;
+ }
+
+ endfunc;
+}
+
+static void _mp_album_list_set_grid_style(MpAlbumList_t * list)
+{
+ bool landscape = mp_util_is_landscape();
+
+ MP_CHECK(list->gengrid_itc);
+
+ if (landscape) {
+ list->gengrid_itc->item_style = "music/landscape/album_grid";
+ } else {
+ list->gengrid_itc->item_style = "music/album_grid2";
+ }
+
+ double scale = elm_config_scale_get();
+ int w;
+ int h;
+ if (landscape) {
+ w = (int) (ALBUM_GRID_LAND_W * scale);
+ h = (int) (ALBUM_GRID_LAND_H * scale);
+ } else {
+ w = (int) (ALBUM_GRID_W * scale);
+ h = (int) (ALBUM_GRID_H * scale);
+ }
+ elm_gengrid_item_size_set(list->genlist, w, h);
+}
+
+static void _mp_album_list_gengrid_create(MpAlbumList_t * list)
+{
+ startfunc;
+ MP_CHECK(list);
+
+ /*create new genlist */
+ mp_evas_object_del(list->genlist);
+
+ list->genlist = elm_gengrid_add(list->box);
+ evas_object_size_hint_weight_set(list->genlist, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(list->genlist, EVAS_HINT_FILL,
+ EVAS_HINT_FILL);
+ evas_object_show(list->genlist);
+ MP_LIST_OBJ_SET_AS_GENGRID(list->genlist);
+ /*packet genlist to box */
+ elm_box_pack_end(list->box, list->genlist);
+
+ if (!list->gengrid_itc) {
+ list->gengrid_itc = elm_gengrid_item_class_new();
+ MP_CHECK(list->gengrid_itc);
+ list->gengrid_itc->func.text_get = _mp_album_list_label_get;
+ list->gengrid_itc->func.content_get = _mp_album_list_icon_get;
+ list->gengrid_itc->func.del = _mp_album_list_item_del_cb;
+ }
+ _mp_album_list_set_grid_style(list);
+
+ elm_gengrid_align_set(list->genlist, 0.5, 0.0);
+ endfunc;
+}
+
+static void mp_album_list_initialize_recently_added(MpAlbumList_t *list)
+{
+ MP_CHECK(list);
+
+ mp_evas_object_del(list->recently_added_genlist);
+ list->recently_added_genlist = mp_widget_genlist_create(list->box);
+ MP_CHECK(list->recently_added_genlist);
+ elm_scroller_policy_set(list->recently_added_genlist, ELM_SCROLLER_POLICY_OFF,
+ ELM_SCROLLER_POLICY_AUTO);
+ evas_object_size_hint_weight_set(list->recently_added_genlist, EVAS_HINT_EXPAND,
+ 0.5);
+ evas_object_size_hint_align_set(list->recently_added_genlist, EVAS_HINT_FILL,
+ EVAS_HINT_FILL);
+ elm_genlist_mode_set(list->recently_added_genlist, ELM_LIST_COMPRESS);
+ evas_object_show(list->recently_added_genlist);
+ /*packet genlist to box */
+ elm_box_pack_end(list->box, list->recently_added_genlist);
+
+ evas_object_data_set(list->recently_added_genlist, "list_data", list);
+}
+
+void _mp_album_list_recently_added_del_cb(void *data, Evas_Object * obj)
+{
+ mp_media_list_h *svc_handle = (mp_media_list_h *) data;
+ MP_CHECK(svc_handle);
+ IF_FREE(svc_handle);
+ IF_FREE(g_item_data);
+}
+
+char *_mp_album_list_group_index_recently_added_text_get(void *data,
+ Evas_Object *obj,
+ const char *part)
+{
+ char *text = NULL;
+ if (!g_strcmp0(part, "elm.text")) {
+ int len = strlen(GET_STR(STR_RECENTLY_ADDED)) + strlen(GET_STR(STR_MP_ARTISTS)) + 2;
+ text = (char *)malloc(len);
+ MP_CHECK_NULL(text);
+ snprintf(text, len, "%s %s", GET_STR(STR_RECENTLY_ADDED), GET_STR(STR_MP_ALBUMS));
+ }
+
+ return text;
+}
+
+static void _mp_album_list_recently_added_play_icon_clicked_cb(void *data,
+ Evas_Object * obj, const char *emission, const char *source)
+{
+ startfunc;
+ int count = 0, res = 0;
+ mp_list_item_data_t *item_data = (mp_list_item_data_t *)data;
+ MP_CHECK(item_data);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ mp_media_info_h track = item_data->handle;
+ MP_CHECK(track);
+
+ MpAlbumDetailList_t *list = calloc(1, sizeof(MpAlbumDetailList_t));
+ MP_CHECK(list);
+
+ mp_media_list_h svc_handle;
+ mp_plst_item *plst_item = NULL;
+ char *title = NULL;
+ char *artist = NULL;
+ char *thumbnail = NULL;
+ mp_media_info_group_get_main_info(track, &title);
+ mp_media_info_group_get_sub_info(track, &artist);
+ mp_media_info_group_get_thumbnail_path(track, &thumbnail);
+ DEBUG_TRACE("thumbnail = %s", thumbnail);
+
+ list->list_type = MP_LIST_TYPE_ALBUM_DETAIL;
+ list->track_type = MP_TRACK_BY_ALBUM;
+ list->type_str = title;
+ list->artist = artist;
+ list->thumbnail = thumbnail;
+
+ PROFILE_IN("mp_media_info_list_count");
+ res =
+ mp_media_info_list_count(list->track_type, list->type_str,
+ list->type_str2, list->filter_str,
+ list->playlist_id, &count);
+ PROFILE_OUT("mp_media_info_list_count");
+
+ PROFILE_IN("mp_media_info_list_create");
+ mp_media_info_list_create(&svc_handle, list->track_type,
+ list->type_str, list->type_str2,
+ list->filter_str, list->playlist_id, 0,
+ count);
+ PROFILE_OUT("mp_media_info_list_create");
+ IF_FREE(list);
+
+ for (int index = 0; index < count; index++) {
+ mp_media_info_h item = NULL;
+
+ char *uri = NULL;
+ char *uid = NULL;
+ item = mp_media_info_list_nth_item(svc_handle, index);
+ if (!item) {
+ DEBUG_TRACE
+ ("Fail to mp_media_info_group_list_nth_item, index[%d]", index);
+ continue;
+ }
+ mp_track_type track_type = MP_TRACK_URI;
+ mp_media_info_get_media_id(item, &uid);
+ mp_media_info_get_file_path(item, &uri);
+ mp_media_info_get_title(item, &title);
+ mp_media_info_get_artist(item, &artist);
+
+ if (!ad->playlist_mgr) {
+ mp_common_create_playlist_mgr();
+ }
+ MP_CHECK(ad->playlist_mgr);
+
+ PROFILE_IN("mp_playlist_mgr_clear");
+ mp_playlist_mgr_clear(ad->playlist_mgr);
+ PROFILE_OUT("mp_playlist_mgr_clear");
+
+ if (!index) {
+ plst_item =
+ mp_playlist_mgr_item_append(ad->playlist_mgr, uri,
+ uid, title, artist,
+ track_type);
+ } else {
+ mp_playlist_mgr_item_append(ad->playlist_mgr, uri,
+ uid, title, artist,
+ track_type);
+ }
+ }
+
+ ad->hide_player_view = true;
+ ad->paused_by_user = false;
+
+ if (ad->playlist_mgr->shuffle_state) {
+ ad->playlist_mgr->list = ad->playlist_mgr->shuffle_list;
+ } else {
+ ad->playlist_mgr->list = ad->playlist_mgr->normal_list;
+ }
+
+ mp_playlist_mgr_set_current(ad->playlist_mgr, plst_item);
+
+ PROFILE_IN("mp_play_destory");
+ mp_play_fast_destory(ad);
+ PROFILE_OUT("mp_play_destory");
+
+ mp_play_new_file(ad, TRUE);
+}
+
+static void _mp_album_list_recently_added_thumbpath_clicked_cb(void *data,
+ Evas_Object * obj, const char *emission, const char *source)
+{
+ startfunc;
+ mp_list_item_data_t *item = (mp_list_item_data_t *)data;
+ MP_CHECK(item);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ Evas_Object* genlist = evas_object_data_get(obj, "genlist_obj");
+ MP_CHECK(genlist);
+
+ MpAlbumList_t *list = evas_object_data_get(genlist, "list_data");
+ MP_CHECK(list);
+
+ mp_media_info_h track = item->handle;
+ MP_CHECK(track);
+
+ int ret = 0;
+ int index = 0;
+ char *name = NULL;
+ char *artist = NULL;
+ char *default_artist = NULL;
+ char *title = NULL;
+ char *thumbnail = NULL;
+
+ index = item->index;
+
+ DEBUG_TRACE("index is %d", index);
+ if (index >= 0) {
+ DEBUG_TRACE("");
+ ret = mp_media_info_group_get_main_info(track, &name);
+ DEBUG_TRACE("");
+ ret = mp_media_info_group_get_sub_info(track, &artist);
+ DEBUG_TRACE("");
+ mp_media_info_group_get_thumbnail_path(track,
+ &thumbnail);
+ DEBUG_TRACE("thumbnail=%s", thumbnail);
+ mp_retm_if(ret != 0, "Fail to get value");
+ mp_retm_if(name == NULL, "Fail to get value");
+
+ if (!name || !strlen(name)) {
+ name = g_strdup(GET_SYS_STR("IDS_COM_BODY_UNKNOWN"));
+ }
+ if (!artist || !strlen(artist)) {
+ artist = g_strdup(GET_SYS_STR("IDS_COM_BODY_UNKNOWN"));
+ default_artist = artist;
+ }
+ title = name;
+ }
+
+
+ if (list->function_type == MP_LIST_FUNC_ADD_TRACK) {
+ MpViewMgr_t *view_manager = mp_view_mgr_get_view_manager();
+ if (!view_manager) {
+ if (name) {
+ free(name);
+ name = NULL;
+ }
+ if (default_artist) {
+ free(default_artist);
+ default_artist = NULL;
+ }
+ return;
+ }
+ MpSelectTrackView_t *view_select_track =
+ mp_select_track_view_create(view_manager->navi);
+ if (!view_select_track) {
+ if (name) {
+ free(name);
+ name = NULL;
+ }
+ if (default_artist) {
+ free(default_artist);
+ default_artist = NULL;
+ }
+ return;
+ }
+ mp_view_mgr_push_view(view_manager, (MpView_t *) view_select_track,
+ NULL);
+
+ int count = g_list_length(ad->checkedList);
+ if (count > 0) {
+ char *text = g_strdup_printf(GET_STR(STR_MP_SELECT_ITEMS), count);
+ mp_view_set_title((MpView_t *) view_select_track, text);
+ IF_FREE(text);
+ } else {
+ mp_view_set_title((MpView_t *) view_select_track, STR_MP_TILTE_SELECT_ITEM);
+ }
+ mp_track_list_set_data((MpTrackList_t *) view_select_track->
+ content_to_show, MP_TRACK_LIST_TYPE,
+ MP_TRACK_BY_ALBUM, MP_TRACK_LIST_TYPE_STR,
+ name, -1);
+ mp_list_view_set_cancel_btn((MpListView_t *) view_select_track,
+ true);
+ mp_list_view_set_done_btn((MpListView_t *) view_select_track, true,
+ MP_DONE_SELECT_ADD_TRACK_TYPE);
+ mp_list_view_set_select_all((MpListView_t *) view_select_track,
+ TRUE);
+ mp_list_update(view_select_track->content_to_show);
+ mp_view_update_options((MpView_t *) view_select_track);
+ mp_list_set_edit(view_select_track->content_to_show, TRUE);
+ if (name) {
+ free(name);
+ name = NULL;
+ }
+ if (default_artist) {
+ free(default_artist);
+ default_artist = NULL;
+ }
+ return;
+ }
+
+ if (list->edit_mode) {
+ mp_list_edit_mode_sel((MpList_t *) list, item);
+ MpViewMgr_t *view_mgr = mp_view_mgr_get_view_manager();
+ MpView_t *view = mp_view_mgr_get_top_view(view_mgr);
+ mp_view_update_options_edit(view);
+ if (name) {
+ free(name);
+ name = NULL;
+ }
+ if (default_artist) {
+ free(default_artist);
+ default_artist = NULL;
+ }
+ return;
+ }
+
+
+ /* create the view of album detail */
+ MpViewMgr_t *view_manager = mp_view_mgr_get_view_manager();
+ if (!view_manager) {
+ if (name) {
+ free(name);
+ name = NULL;
+ }
+ if (default_artist) {
+ free(default_artist);
+ default_artist = NULL;
+ }
+ return;
+ }
+ MpAlbumDetailView_t *view_album_detail =
+ mp_album_detail_view_create(view_manager->navi, name, artist,
+ thumbnail);
+ mp_view_mgr_push_view(view_manager, (MpView_t *) view_album_detail,
+ NULL);
+
+ mp_view_update_options((MpView_t *) view_album_detail);
+ mp_view_set_title((MpView_t *) view_album_detail, name);
+ if (name) {
+ free(name);
+ name = NULL;
+ }
+ if (default_artist) {
+ free(default_artist);
+ default_artist = NULL;
+ }
+}
+
+char *_mp_album_list_recently_added_text_get(void *data, Evas_Object * obj, const char *part)
+{
+ mp_media_list_h svc_handle = (mp_media_list_h) data;
+ MP_CHECK_NULL(svc_handle);
+
+ MpAlbumList_t *list = evas_object_data_get(obj, "list_data");
+ MP_CHECK_NULL(list);
+
+ int count = (list->album_list_count < RECENTLY_ADDED_TRACKS_MAX_COUNT) ? list->album_list_count : RECENTLY_ADDED_TRACKS_MAX_COUNT;
+ for (int index = 0; index < count; index++) {
+ mp_media_info_h item = NULL;
+ char *title = NULL;
+ char *artist = NULL;
+ char part_name[RECENTLY_ADDED_PART_NAME_MAX_SIZE] = {0, };
+
+ item = mp_media_info_group_list_nth_item(svc_handle, index);
+ if (!item) {
+ DEBUG_TRACE
+ ("Fail to mp_media_info_group_list_nth_item, index[%d]", index);
+ return NULL;
+ }
+
+ snprintf(part_name, RECENTLY_ADDED_PART_NAME_MAX_SIZE, "%s%d", "elm.text.main.", (index+1));
+ if (!g_strcmp0(part, part_name)) {
+ mp_media_info_group_get_main_info(item, &title);
+ if (!title || !strlen(title)) {
+ title = GET_SYS_STR("IDS_COM_BODY_UNKNOWN");
+ }
+ return g_strdup(title);
+ }
+ part_name[0] = '\0';
+ snprintf(part_name, RECENTLY_ADDED_PART_NAME_MAX_SIZE, "%s%d", "elm.text.sub.", (index+1));
+ if (!g_strcmp0(part, part_name)) {
+ mp_media_info_group_get_sub_info(item, &artist);
+ if (!artist || !strlen(artist)) {
+ artist = GET_SYS_STR("IDS_COM_BODY_UNKNOWN");
+ }
+ return g_strdup(artist);
+ }
+ }
+ return NULL;
+}
+
+Evas_Object *_mp_album_list_recently_added_content_get(void *data, Evas_Object * obj, const char *part)
+{
+ mp_media_list_h svc_handle = (mp_media_list_h) data;
+ MP_CHECK_NULL(svc_handle);
+
+ MpAlbumList_t *list = evas_object_data_get(obj, "list_data");
+ MP_CHECK_NULL(list);
+ int count = (list->album_list_count < RECENTLY_ADDED_TRACKS_MAX_COUNT) ? list->album_list_count : RECENTLY_ADDED_TRACKS_MAX_COUNT;
+ for (int index = 0; index < count; index++) {
+ mp_media_info_h item = NULL;
+ char *thumb_path = NULL;
+ char *default_thumb_path = NULL;
+ char part_name[RECENTLY_ADDED_PART_NAME_MAX_SIZE] = {0, };
+
+ item = mp_media_info_group_list_nth_item(svc_handle, index);
+ if (!item) {
+ DEBUG_TRACE
+ ("Fail to mp_media_info_group_list_nth_item, index[%d]", index);
+ return NULL;
+ }
+ mp_media_info_group_get_thumbnail_path(item, &thumb_path);
+ if (!thumb_path) {
+ char default_thumbnail[1024] = { 0 };
+ char *shared_path = app_get_shared_resource_path();
+ snprintf(default_thumbnail, 1024, "%s%s/%s", shared_path,
+ "shared_images", DEFAULT_THUMBNAIL);
+ free(shared_path);
+ thumb_path = g_strdup(default_thumbnail);
+ default_thumb_path = thumb_path;
+ }
+
+ mp_list_item_data_t *item_data = calloc(1, sizeof(mp_list_item_data_t));
+ if (!item_data) {
+ if (default_thumb_path) {
+ free(default_thumb_path);
+ default_thumb_path = NULL;
+ }
+ return NULL;
+ }
+ item_data->handle = item;
+ item_data->index = index;
+ item_data->group_type = MP_GROUP_BY_ALBUM;
+ if (g_item_data) {
+ free(g_item_data);
+ }
+ g_item_data = item_data;
+ snprintf(part_name, RECENTLY_ADDED_PART_NAME_MAX_SIZE, "%s%d",
+ "elm.swallow.", (index+1));
+ if (!g_strcmp0(part, part_name)) {
+ Evas_Object *content = NULL;
+ content = elm_layout_add(obj);
+ evas_object_size_hint_align_set(content, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_size_hint_weight_set(content, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ Evas_Object* image = elm_image_add(obj);
+ elm_image_file_set(image, thumb_path, NULL);
+ elm_image_fill_outside_set(image, true);
+ elm_image_resizable_set(image, EINA_TRUE, EINA_TRUE);
+ evas_object_size_hint_align_set(image, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_size_hint_weight_set(image, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ evas_object_show(image);
+ elm_layout_theme_set(content, "layout", "list/B/music.type.1",
+ "default");
+ elm_layout_content_set(content, "elm.swallow.content", image);
+ evas_object_data_set(content, "genlist_obj", list->genlist);
+ elm_object_signal_callback_add(content, "mouse,clicked,1", "*",
+ _mp_album_list_recently_added_thumbpath_clicked_cb, item_data);
+ if (default_thumb_path) {
+ free(default_thumb_path);
+ default_thumb_path = NULL;
+ }
+ return content;
+ }
+ part_name[0] = '\0';
+ snprintf(part_name, RECENTLY_ADDED_PART_NAME_MAX_SIZE, "%s%d%s", "elm.swallow.", (index+1), ".play");
+ if (!g_strcmp0(part, part_name)) {
+ Evas_Object *content = NULL;
+ content = elm_layout_add(obj);
+ evas_object_size_hint_align_set(content, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_size_hint_weight_set(content, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ char play_thumbnail[1024] = { 0 };
+ char *shared_path = app_get_shared_resource_path();
+ snprintf(play_thumbnail, 1024, "%s%s/%s", shared_path,
+ "shared_images", RECENTLY_ADDED_PLAY_ICON);
+ free(shared_path);
+ thumb_path = g_strdup(play_thumbnail);
+ Evas_Object* image = elm_image_add(obj);
+ elm_image_file_set(image, thumb_path, NULL);
+ elm_image_resizable_set(image, EINA_TRUE, EINA_TRUE);
+ evas_object_size_hint_align_set(image, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_size_hint_weight_set(image, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ evas_object_show(image);
+ elm_layout_theme_set(content, "layout", "list/B/music.type.3",
+ "default");
+ elm_layout_content_set(content, "elm.swallow.content", image);
+ evas_object_data_set(content, "genlist_obj", list->genlist);
+ elm_object_signal_callback_add(content, "mouse,clicked,1", "*",
+ _mp_album_list_recently_added_play_icon_clicked_cb, item_data);
+ if (default_thumb_path) {
+ free(default_thumb_path);
+ default_thumb_path = NULL;
+ }
+ return content;
+ }
+ if (default_thumb_path) {
+ free(default_thumb_path);
+ default_thumb_path = NULL;
+ }
+ }
+ return NULL;
+}
+
+static Elm_Object_Item *_mp_album_list_append_group_index(void *thiz)
+{
+ startfunc;
+ MpAlbumList_t *list = thiz;
+ MP_CHECK_NULL(list);
+ MP_CHECK_NULL(list->recently_added_genlist);
+
+ Elm_Object_Item *group_index = NULL;
+ mp_list_item_data_t *item_data =
+ mp_list_item_data_create(MP_LIST_ITEM_TYPE_GROUP_TITLE);
+ MP_CHECK_NULL(item_data);
+ item_data->it =
+ elm_genlist_item_append(list->recently_added_genlist, list->itc_group_index_recently_added, item_data,
+ NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ group_index = item_data->it;
+ elm_genlist_item_select_mode_set(group_index,
+ ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+
+ return group_index;
+}
+
+static void _mp_album_list_append_recently_added(void *thiz, mp_media_list_h svc_handle)
+{
+ startfunc;
+ MpAlbumList_t *list = thiz;
+ MP_CHECK(list);
+ MP_CHECK(list->recently_added_genlist);
+
+ elm_genlist_item_append(list->recently_added_genlist, list->itc_genlist_recently_added, svc_handle,
+ NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+}
+
+static void mp_album_list_show_recently_added_tracks(void *thiz)
+{
+ startfunc;
+ MP_CHECK(thiz);
+ MpAlbumList_t *list = thiz;
+ int count = 0, res = 0;
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ if (!list->itc_group_index_recently_added) {
+ list->itc_group_index_recently_added = elm_genlist_item_class_new();
+ MP_CHECK(list->itc_group_index_recently_added);
+ list->itc_group_index_recently_added->item_style = "group_index";
+ list->itc_group_index_recently_added->func.text_get =
+ _mp_album_list_group_index_recently_added_text_get;
+ list->itc_group_index_recently_added->func.content_get =
+ NULL;
+ list->itc_group_index_recently_added->func.del =
+ _mp_album_list_recently_added_del_cb;
+ }
+
+ _mp_album_list_append_group_index(list);
+
+ if (!list->itc_genlist_recently_added) {
+ list->itc_genlist_recently_added = elm_genlist_item_class_new();
+ MP_CHECK(list->itc_genlist_recently_added);
+ list->itc_genlist_recently_added->item_style = "recently_added";
+ list->itc_genlist_recently_added->func.text_get =
+ _mp_album_list_recently_added_text_get;
+ list->itc_genlist_recently_added->func.content_get =
+ _mp_album_list_recently_added_content_get;
+ list->itc_genlist_recently_added->func.del =
+ _mp_album_list_recently_added_del_cb;
+ }
+
+ mp_media_list_h svc_handle = NULL;
+
+ list->track_type = MP_TRACK_BY_ADDED_TIME;
+ list->playlist_id = 0;
+
+ PROFILE_IN("mp_media_info_list_count");
+ res =
+ mp_media_info_group_list_count(MP_GROUP_BY_ALBUM, NULL, NULL,
+ &count);
+ PROFILE_OUT("mp_media_info_list_count");
+ MP_CHECK(res == 0);
+ list->album_list_count = count;
+
+ PROFILE_IN("mp_media_info_list_create");
+ res =
+ mp_media_info_group_list_create(&svc_handle,
+ MP_GROUP_BY_ALBUM, NULL, NULL, 0,
+ count);
+ PROFILE_OUT("mp_media_info_list_create");
+ MP_CHECK(svc_handle);
+
+ PROFILE_IN("_mp_album_list_append_recently_added");
+ _mp_album_list_append_recently_added(list, svc_handle);
+ PROFILE_OUT("_mp_album_list_append_recently_added");
+}
+
+static void _mp_album_list_update(void *thiz)
+{
+ startfunc;
+ int count = 0, res = 0;
+ MpAlbumList_t *list = thiz;
+ MP_CHECK(list);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ res =
+ mp_media_info_group_list_count(MP_GROUP_BY_ALBUM, NULL, NULL,
+ &count);
+ MP_CHECK(res == 0);
+
+ mp_list_free_checked_path_list(list->checked_path_list);
+ list->checked_path_list =
+ mp_list_get_checked_path_list((MpList_t *) list);
+
+ mp_evas_object_del(list->genlist);
+ mp_evas_object_del(list->no_content);
+
+ if (count) {
+ // Place Recently Added Grid View only when there are some items in genlist
+ if (ad->recentlyAddedGridView) {
+ mp_album_list_initialize_recently_added(list);
+ }
+
+ /*create new genlist */
+ if (list->display_mode == MP_LIST_DISPLAY_MODE_THUMBNAIL) {
+ _mp_album_list_gengrid_create(list);
+ } else {
+ _mp_album_list_genlist_create(list);
+ }
+
+ evas_object_data_set(list->genlist, "list_handle", list);
+
+ if (!list->edit_mode) {
+ if (ad->recentlyAddedGridView) {
+ mp_album_list_show_recently_added_tracks(list);
+ ad->recentlyAddedGridView = false;
+ }
+ mp_list_bottom_counter_item_append((MpList_t *) list);
+ }
+
+ /* load list */
+ _mp_album_list_load_list(thiz, count);
+ list->show_fastscroll(list);
+ } else {
+ DEBUG_TRACE("count is 0");
+
+ list->no_content =
+ mp_widget_create_no_contents(list->box, MP_NOCONTENT_ALBUMS,
+ NULL, NULL);
+ list->hide_fastscroll(list);
+ elm_box_pack_end(list->box, list->no_content);
+ }
+
+}
+
+void _mp_album_list_rotate(void *thiz)
+{
+ MpAlbumList_t *list = thiz;
+ if (mp_list_get_display_mode((MpList_t *) list) ==
+ MP_LIST_DISPLAY_MODE_THUMBNAIL) {
+ _mp_album_list_set_grid_style(list);
+ }
+}
+
+static const char *_get_label(void *thiz, void *event_info)
+{
+ MpAlbumList_t *list = thiz;
+ MP_CHECK_NULL(list);
+ char *title = NULL;
+
+ mp_list_item_data_t *album = elm_object_item_data_get(event_info);
+ MP_CHECK_NULL(album);
+
+ mp_media_info_group_get_main_info(album->handle, &title);
+ return title;
+}
+
+static char *_mp_album_list_bottom_counter_text_cb(void *thiz)
+{
+ MpAlbumList_t *list = thiz;
+ MP_CHECK_NULL(list);
+
+ unsigned int count =
+ mp_list_get_editable_count((MpList_t *) list,
+ mp_list_get_edit_type((MpList_t *)
+ list));
+
+ char *text = NULL;
+ if (count == 1) {
+ text = g_strdup(GET_STR(STR_MP_1_ALBUM));
+ } else {
+ text = g_strdup_printf(GET_STR(STR_MP_PD_ALBUMS), count);
+ }
+
+ return text;
+}
+
+static void _mp_album_list_set_edit(void *thiz, bool edit)
+{
+ startfunc;
+ MpAlbumList_t *list = thiz;
+ MP_CHECK(list);
+
+ mp_album_list_show_group_index(list, false);
+
+ if (list->set_edit_default) {
+ list->set_edit_default(list, edit);
+ }
+}
+
+
+static unsigned int
+_mp_album_list_get_count(void *thiz, MpListEditType_e type)
+{
+ MpAlbumList_t *list = thiz;
+ MP_CHECK_VAL(list->genlist, 0);
+
+ int count =
+ MP_LIST_OBJ_IS_GENGRID(list->
+ genlist) ? elm_gengrid_items_count(list->
+ genlist)
+ : elm_genlist_items_count(list->genlist);
+
+ if (list->group_it) { //group index
+ --count;
+ }
+
+ if (list->bottom_counter_item) {
+ --count;
+ }
+
+ return count;
+}
+
+MpAlbumList_t *mp_album_list_create(Evas_Object * parent)
+{
+ eventfunc;
+ MP_CHECK_NULL(parent);
+
+ MpAlbumList_t *list = calloc(1, sizeof(MpAlbumList_t));
+ MP_CHECK_NULL(list);
+
+ mp_list_init((MpList_t *) list, parent, MP_LIST_TYPE_GROUP);
+
+ list->update = _mp_album_list_update;
+ list->destory_cb = _mp_album_list_destory_cb;
+ list->get_group_type = _mp_album_list_get_group_type;
+ list->rotate = _mp_album_list_rotate;
+ list->get_label = _get_label;
+
+ list->display_mode_changable = true;
+
+ list->bottom_counter_text_get_cb =
+ _mp_album_list_bottom_counter_text_cb;
+
+ list->set_edit_default = list->set_edit;
+ list->set_edit = _mp_album_list_set_edit;
+ list->get_count = _mp_album_list_get_count;
+
+ return list;
+}
+
+void mp_album_list_set_data(MpAlbumList_t * list, ...)
+{
+ startfunc;
+ MP_CHECK(list);
+
+ va_list var_args;
+ int field;
+
+ va_start(var_args, list);
+ do {
+ field = va_arg(var_args, int);
+ switch (field) {
+
+ case MP_ALBUM_LIST_FUNC:{
+ int val = va_arg((var_args), int);
+
+ list->function_type = val;
+ DEBUG_TRACE("list->function_type = %d",
+ list->function_type);
+ break;
+ }
+ case MP_ALBUM_LIST_DISPLAY_MODE:{
+ int val = va_arg((var_args), int);
+ list->display_mode = val;
+ DEBUG_TRACE("list->display_mode = %d", list->display_mode);
+
+ break;
+ }
+
+ default:
+ DEBUG_TRACE("Invalid arguments");
+ }
+
+ } while (field >= 0);
+
+ va_end(var_args);
+}
+
+void mp_album_list_copy_data(MpAlbumList_t * src, MpAlbumList_t * dest)
+{
+ MP_CHECK(src);
+ MP_CHECK(dest);
+
+ dest->function_type = src->function_type;
+ dest->display_mode = src->display_mode;
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include "mp-artist-detail-list.h"
+#include "mp-create-playlist-view.h"
+#include "mp-player-view.h"
+#include "mp-popup.h"
+#include "mp-ctxpopup.h"
+#include "mp-util.h"
+#include "mp-common.h"
+#include "mp-widget.h"
+#include "mp-play.h"
+#include "mp-minicontroller.h"
+#include "mp-common.h"
+
+int selected_tracks_count;
+
+static char *_mp_artist_detail_list_album_label_get(void *data,
+ Evas_Object * obj,
+ const char *part)
+{
+ char *name = NULL;
+ int ret = 0;
+ MpArtistDetailList_t *list = NULL;
+
+ mp_list_item_data_t *item = (mp_list_item_data_t *) data;
+ MP_CHECK_NULL(item);
+ mp_media_info_h svc_item = (item->handle);
+ list = evas_object_data_get(obj, "list_data");
+ MP_CHECK_NULL(list);
+
+ mp_retv_if(svc_item == NULL, NULL);
+
+ if (!g_strcmp0(part, "elm.text")) {
+ ret = mp_media_info_group_get_main_info(svc_item, &name);
+ mp_retvm_if((ret != 0), NULL, "Fail to get value");
+ if (!name || !strlen(name)) {
+ name = GET_SYS_STR("IDS_COM_BODY_UNKNOWN");
+ }
+ return g_strdup(elm_entry_utf8_to_markup(name));
+ }
+ DEBUG_TRACE("Unusing part: %s", part);
+ return NULL;
+}
+
+static void _mp_aritst_detail_list_update_check(mp_list_item_data_t *
+ it_data)
+{
+ MP_CHECK(it_data);
+ Elm_Object_Item *gli = (Elm_Object_Item *) it_data->it;
+
+ if (it_data->item_type == MP_LIST_ITEM_TYPE_SELECTABLE_GROUP_TITLE) {
+ Eina_Bool checked = it_data->checked;
+
+ Elm_Object_Item *item = elm_genlist_item_next_get(gli);
+ while (item) {
+ mp_list_item_data_t *item_data =
+ elm_object_item_data_get(item);
+ if (item_data
+ && item_data->item_type == MP_LIST_ITEM_TYPE_NORMAL) {
+ mp_list_item_check_set(item, checked);
+ } else {
+ break;
+ }
+
+ item = elm_genlist_item_next_get(item);
+ }
+ } else if (it_data->item_type == MP_LIST_ITEM_TYPE_NORMAL) {
+ Elm_Object_Item *parent_item = elm_genlist_item_parent_get(gli);
+ if (parent_item) {
+ Eina_Bool checked_all = EINA_TRUE;
+ Elm_Object_Item *item = elm_genlist_item_next_get(parent_item);
+ while (item) {
+ mp_list_item_data_t *item_data =
+ elm_object_item_data_get(item);
+ if (item_data
+ && item_data->item_type == MP_LIST_ITEM_TYPE_NORMAL) {
+ if (!item_data->checked) {
+ checked_all = EINA_FALSE;
+ break;
+ }
+ } else {
+ break;
+ }
+
+ item = elm_genlist_item_next_get(item);
+ }
+
+ mp_list_item_check_set(parent_item, checked_all);
+ }
+ }
+}
+
+static void _mp_artist_detail_list_check_changed_cb(void *data,
+ Evas_Object * obj,
+ void *event_info)
+{
+ mp_list_item_data_t *item = (mp_list_item_data_t *) data;
+ MP_CHECK(item);
+ _mp_aritst_detail_list_update_check(item);
+
+ MpViewMgr_t *view_mgr = mp_view_mgr_get_view_manager();
+ MP_CHECK(view_mgr);
+ MpView_t *view = mp_view_mgr_get_top_view(view_mgr);
+ MP_CHECK(view);
+ mp_view_update_options_edit(view);
+}
+
+Evas_Object *_mp_artist_detail_list_album_icon_get(void *data,
+ Evas_Object * obj,
+ const char *part)
+{
+ mp_list_item_data_t *item = (mp_list_item_data_t *) data;
+ MP_CHECK_NULL(item);
+ mp_media_info_h svc_item = (item->handle);
+ mp_retv_if(svc_item == NULL, NULL);
+ Evas_Object *content = NULL;
+ Evas_Object *icon = NULL;
+
+ MpArtistDetailList_t *list = evas_object_data_get(obj, "list_data");
+ MP_CHECK_NULL(list);
+
+ if (!strcmp(part, "elm.swallow.icon")) {
+ content = elm_layout_add(obj);
+
+ char *thumb_name = NULL;
+ mp_media_info_group_get_thumbnail_path(svc_item, &thumb_name);
+ icon =
+ mp_util_create_lazy_update_thumb_icon(obj, thumb_name,
+ MP_LIST_ICON_SIZE,
+ MP_LIST_ICON_SIZE);
+
+ elm_layout_theme_set(content, "layout", "list/B/music.type.1",
+ "default");
+ elm_layout_content_set(content, "elm.swallow.content", icon);
+
+ return content;
+ }
+ if (list->edit_mode) {
+ if (!strcmp(part, "elm.swallow.end")) {
+ icon = elm_check_add(obj);
+ elm_object_style_set(icon, "default");
+ evas_object_propagate_events_set(icon, EINA_FALSE);
+ elm_check_state_pointer_set(icon, &item->checked);
+ evas_object_smart_callback_add(icon, "changed",
+ _mp_artist_detail_list_check_changed_cb,
+ item);
+
+ return icon;
+ }
+ }
+ return NULL;
+}
+
+/*sweep button callbacks*/
+static void
+_mp_artist_detail_list_set_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ eventfunc;
+
+ if (data == NULL) {
+ return;
+ }
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ mp_ctxpopup_create(obj, MP_CTXPOPUP_PV_SET_AS, data, ad);
+
+ return;
+}
+
+/*end of sweep button callbacks*/
+
+static char *_mp_artist_detail_list_track_label_get(void *data,
+ Evas_Object * obj,
+ const char *part)
+{
+ mp_list_item_data_t *item = (mp_list_item_data_t *) data;
+ MP_CHECK_NULL(item);
+ mp_media_info_h track = (mp_media_info_h) (item->handle);
+ mp_retvm_if(!track, NULL, "data is null");
+
+ MpArtistDetailList_t *list = evas_object_data_get(obj, "list_data");
+ MP_CHECK_NULL(list);
+
+
+ static char result[DEF_STR_LEN + 1] = { 0, };
+
+ if (!strcmp(part, "elm.text")) {
+
+ bool match = mp_common_track_is_current(track, (MpList_t *) list);
+ char *title = NULL;
+
+ mp_media_info_get_title(track, &title);
+
+ mp_retv_if(!title, NULL);
+ char *markup = NULL;
+
+ if (match) {
+ char *info = elm_entry_utf8_to_markup(title);
+
+ int r = 21;
+ int g = 108;
+ int b = 148;
+ int a = 255;
+
+ memset(result, 0x00, DEF_STR_LEN + 1);
+ snprintf(result, DEF_STR_LEN,
+ "<color=#%02x%02x%02x%02x>%s</color>", r, g, b, a,
+ info);
+ IF_FREE(info);
+
+ return g_strdup(result);
+ } else {
+ markup = elm_entry_utf8_to_markup(title);
+ }
+
+ return markup;
+ }
+ if (!list->edit_mode) {
+ if (!strcmp(part, "elm.text.end")) {
+ int duration;
+ char time[16] = "";
+ bool match =
+ mp_common_track_is_current(track, (MpList_t *) list);
+
+ mp_media_info_get_duration(track, &duration);
+ mp_util_format_duration(time, duration);
+ time[15] = '\0';
+ if (match) {
+ int r = 21;
+ int g = 108;
+ int b = 148;
+ int a = 255;
+
+ memset(result, 0x00, DEF_STR_LEN + 1);
+ snprintf(result, DEF_STR_LEN,
+ "<color=#%02x%02x%02x%02x>%s</color>", r, g, b, a,
+ time);
+
+ return g_strdup(result);
+ }
+ return g_strdup(time);
+ }
+ }
+ return NULL;
+}
+
+Evas_Object *_mp_artist_detail_list_track_icon_get(void *data,
+ Evas_Object * obj,
+ const char *part)
+{
+ mp_list_item_data_t *item = (mp_list_item_data_t *) data;
+ MP_CHECK_NULL(item);
+ mp_media_info_h track = item->handle;
+ mp_retvm_if(!track, NULL, "data is null");
+
+ MpArtistDetailList_t *list = evas_object_data_get(obj, "list_data");
+ MP_CHECK_NULL(list);
+ /*
+ if (!strcmp(part, "elm.icon"))
+ {
+ char *thumbpath = NULL;
+ Evas_Object *icon;
+
+ mp_media_info_get_thumbnail_path(track, &thumbpath);
+ icon = mp_util_create_thumb_icon(obj, thumbpath, MP_LIST_ICON_SIZE, MP_LIST_ICON_SIZE);
+ return icon;
+ }
+ */
+ Evas_Object *button;
+
+ if (!strcmp(part, "elm.slide.swallow.3")) {
+ button = elm_button_add(obj);
+ elm_object_style_set(button, "sweep");
+ //elm_object_text_set(button, GET_STR(STR_MP_ADD_TO));
+ //mp_language_mgr_register_object(button, OBJ_TYPE_ELM_OBJECT, NULL, STR_MP_ADD_TO);
+ mp_util_domain_translatable_text_set(button, STR_MP_ADD_TO);
+ evas_object_smart_callback_add(button, "clicked",
+ mp_common_button_add_to_playlist_cb,
+ evas_object_data_get(obj,
+ "list_data"));
+ return button;
+ } else if (!strcmp(part, "elm.slide.swallow.1")) {
+ button = elm_button_add(obj);
+ elm_object_style_set(button, "sweep");
+ //elm_object_text_set(button, GET_SYS_STR("IDS_COM_BUTTON_SHARE"));
+ //mp_language_mgr_register_object(button, OBJ_TYPE_ELM_OBJECT, NULL, "IDS_COM_BUTTON_SHARE");
+ mp_util_domain_translatable_text_set(button,
+ "IDS_COM_BUTTON_SHARE");
+ evas_object_smart_callback_add(button, "clicked",
+ mp_common_sweep_share_cb, track);
+ return button;
+ } else if (!strcmp(part, "elm.slide.swallow.2")) {
+ button = elm_button_add(obj);
+ elm_object_style_set(button, "sweep");
+ //elm_object_text_set(button, GET_SYS_STR("IDS_COM_SK_SET"));
+ //mp_language_mgr_register_object(button, OBJ_TYPE_ELM_OBJECT, NULL, "IDS_COM_SK_SET");
+ mp_util_domain_translatable_text_set(button, "IDS_COM_SK_SET");
+ evas_object_smart_callback_add(button, "clicked",
+ _mp_artist_detail_list_set_cb,
+ track);
+ return button;
+ } else if (!strcmp(part, "elm.slide.swallow.4")) {
+ button = elm_button_add(obj);
+ elm_object_style_set(button, "style1/delete");
+
+ //elm_object_text_set(button, GET_SYS_STR("IDS_COM_OPT_DELETE"));
+ //mp_language_mgr_register_object(button, OBJ_TYPE_ELM_OBJECT, NULL, "IDS_COM_OPT_DELETE");
+ mp_util_domain_translatable_text_set(button, "IDS_COM_OPT_DELETE");
+ evas_object_smart_callback_add(button, "clicked",
+ mp_common_button_delete_list_cb,
+ evas_object_data_get(obj,
+ "list_data"));
+ return button;
+ }
+
+ if (list->edit_mode) {
+ // if edit mode
+ DEBUG_TRACE("edit mode starts");
+ if (!strcmp(part, "elm.swallow.end")) { // swallow checkbox or radio button
+ Evas_Object *icon = NULL;
+
+ icon = elm_check_add(obj);
+ elm_object_style_set(icon, "default");
+ evas_object_propagate_events_set(icon, EINA_FALSE);
+ elm_check_state_pointer_set(icon, &item->checked);
+ evas_object_smart_callback_add(icon, "changed",
+ _mp_artist_detail_list_check_changed_cb,
+ item);
+
+ return icon;
+ }
+ }
+ return NULL;
+}
+
+
+
+static void
+_mp_artist_detail_list_select_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ eventfunc;
+ Elm_Object_Item *gli = (Elm_Object_Item *) event_info;
+
+ MP_LIST_ITEM_IGNORE_SELECT(obj);
+
+ elm_genlist_item_selected_set(gli, FALSE);
+
+ MpArtistDetailList_t *list = (MpArtistDetailList_t *) data;
+ MP_CHECK(list);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ ad->isPlayBtn = true;
+ if (_mp_is_current_focus_available(ad) != 0) {
+ ERROR_TRACE
+ ("Some other application has the focus currently... Returning...");
+ return;
+ }
+
+ mp_list_item_data_t *item =
+ (mp_list_item_data_t *) elm_object_item_data_get(gli);
+ MP_CHECK(item);
+
+ DEBUG_TRACE("item selected");
+
+ if (list->edit_mode) {
+ mp_list_edit_mode_sel((MpList_t *) list, item);
+
+ MpViewMgr_t *view_mgr = mp_view_mgr_get_view_manager();
+ MpView_t *view = mp_view_mgr_get_top_view(view_mgr);
+ ERROR_TRACE("update options of edit view");
+ mp_view_update_options_edit(view);
+ ERROR_TRACE("set selected count");
+ return;
+ }
+
+ mp_common_play_track_list(item, obj);
+
+ return;
+}
+
+static void _mp_artist_detail_list_album_title_select_cb(void *data,
+ Evas_Object * obj,
+ void *event_info)
+{
+ eventfunc;
+ Elm_Object_Item *gli = (Elm_Object_Item *) event_info;
+ MP_LIST_ITEM_IGNORE_SELECT(obj);
+ elm_genlist_item_selected_set(gli, FALSE);
+
+ MpArtistDetailList_t *list = data;
+ MP_CHECK(list);
+
+ mp_list_item_data_t *item =
+ (mp_list_item_data_t *) elm_object_item_data_get(gli);
+ MP_CHECK(item);
+
+ if (list->edit_mode) {
+ mp_list_edit_mode_sel((MpList_t *) list, item);
+
+ MpViewMgr_t *view_mgr = mp_view_mgr_get_view_manager();
+ MpView_t *view = mp_view_mgr_get_top_view(view_mgr);
+ ERROR_TRACE("update options of edit view");
+ mp_util_create_selectioninfo_with_count(view,
+ mp_list_get_checked_count((MpList_t *) list));
+ mp_view_update_options_edit(view);
+ ERROR_TRACE("set selected count");
+ return;
+ }
+}
+
+static int _mp_artist_detail_list_append_album_tracks(void *thiz,
+ char *name,
+ Elm_Object_Item *
+ parent_group)
+{
+ MpArtistDetailList_t *list = thiz;
+ MP_CHECK_VAL(list, 0);
+
+
+ /*media-svc related */
+ mp_media_list_h svc_handle;
+
+ /*clear genlist */
+ /*get data from DB */
+ int ret = 0;
+ int count = 0;
+ int real_count = 0;
+ ret =
+ mp_media_info_list_count(MP_TRACK_BY_ARTIST_ALBUM, name,
+ list->type_str, NULL, 0, &count);
+ MP_CHECK_VAL(ret == 0, 0);
+ ret =
+ mp_media_info_list_create(&svc_handle, MP_TRACK_BY_ARTIST_ALBUM,
+ name, list->type_str, NULL, -1, 0,
+ count);
+ MP_CHECK_VAL(ret == 0, 0);
+
+ DEBUG_TRACE("count is %d", count);
+ real_count = count;
+ int index = 0;
+ for (index = 0; index < count; index++) {
+ mp_media_info_h item = NULL;
+ char *title = NULL;
+
+ item = mp_media_info_list_nth_item(svc_handle, index);
+ ret = mp_media_info_get_title(item, &title);
+ if (ret != 0) {
+ DEBUG_TRACE
+ ("Fail to mp_media_info_get_title, ret[%d], index[%d]",
+ ret, index);
+ goto END;
+ }
+
+ /* check DRM FL */
+ mp_list_item_data_t *item_data;
+#ifdef MP_FEATURE_PERSONAL_PAGE
+ char *path = NULL;
+ mp_media_info_get_file_path(item, &path);
+ if (list->personal_page_type == MP_LIST_PERSONAL_PAGE_NONE) {
+ goto append_artist_items;
+ }
+
+ if (mp_util_is_in_personal_page((const char *) path)) {
+ if (list->personal_page_type == MP_LIST_PERSONAL_PAGE_ADD) {
+ real_count--;
+ continue;
+ }
+ } else {
+ if (list->personal_page_type == MP_LIST_PERSONAL_PAGE_REMOVE) {
+ real_count--;
+ continue;
+ }
+ }
+ append_artist_items:
+#endif
+ item_data = mp_list_item_data_create(MP_LIST_ITEM_TYPE_NORMAL);
+ MP_CHECK_VAL(item_data, real_count);
+ item_data->handle = item;
+ item_data->index = index;
+ if (list->edit_mode) {
+ item_data->checked =
+ mp_list_is_in_checked_path_list(list->checked_path_list,
+ path);
+ if (item_data->checked) {
+ selected_tracks_count++;
+ }
+ }
+
+ item_data->it =
+ elm_genlist_item_append(list->genlist, list->itc_track,
+ item_data, parent_group,
+ ELM_GENLIST_ITEM_NONE,
+ _mp_artist_detail_list_select_cb,
+ list);
+ }
+
+ list->track_lists = g_list_append(list->track_lists, svc_handle);
+ return real_count;
+ END:
+ endfunc;
+ return 0;
+}
+
+static void _free_track_lists(void *data)
+{
+ mp_media_info_list_destroy(data);
+}
+
+
+static char *_mp_artist_detail_list_shuffle_text_get(void *data,
+ Evas_Object * obj,
+ const char *part)
+{
+ startfunc;
+ int res = -1;
+ int count = 0;
+ char *markup = NULL;
+ static char result[DEF_STR_LEN + 1] = { 0, };
+
+ if (!strcmp(part, "elm.text")) {
+ MpArtistDetailList_t *list =
+ evas_object_data_get(obj, "list_data");
+ MP_CHECK_NULL(list);
+
+ int r = 21;
+ int g = 108;
+ int b = 148;
+ int a = 255;
+
+ res =
+ mp_media_info_list_count(MP_TRACK_BY_ARTIST, list->type_str,
+ NULL, NULL, 0, &count);
+ MP_CHECK_NULL(res == 0);
+
+ markup =
+ (count ==
+ 1) ? g_strdup(GET_STR(STR_MP_SHUFFLE_1_TRACK)) :
+ g_strdup_printf(GET_STR(STR_MP_SHUFFLE_PD_TRACKS), count);
+
+ memset(result, 0x00, DEF_STR_LEN + 1);
+ snprintf(result, DEF_STR_LEN,
+ "<color=#%02x%02x%02x%02x>%s</color>", r, g, b, a,
+ markup);
+ IF_FREE(markup);
+
+ return g_strdup(result);
+ }
+ return NULL;
+}
+
+Evas_Object *_mp_artist_detail_list_shuffle_icon_get(void *data,
+ Evas_Object * obj,
+ const char *part)
+{
+ if (!strcmp(part, "elm.swallow.icon")) {
+ Evas_Object *content = NULL;
+ content = elm_layout_add(obj);
+
+ Evas_Object *icon = NULL;
+ char edje_path[1024] = { 0 };
+ char *path = app_get_resource_path();
+
+ MP_CHECK_NULL(path);
+ snprintf(edje_path, 1024, "%s%s/%s", path, "edje", IMAGE_EDJ_NAME);
+
+ icon =
+ mp_util_create_image(obj, edje_path, MP_LITE_SHUFFLE_ICON,
+ MP_LIST_SHUFFLE_ICON_SIZE,
+ MP_LIST_SHUFFLE_ICON_SIZE);
+ evas_object_color_set(icon, 21, 108, 148, 255);
+ free(path);
+
+ elm_layout_theme_set(content, "layout", "list/B/music.type.3",
+ "default");
+ elm_layout_content_set(content, "elm.swallow.content", icon);
+
+ return content;
+ }
+ return NULL;
+}
+
+
+static void
+_mp_artist_detail_list_shuffle_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ eventfunc;
+ Elm_Object_Item *gli = (Elm_Object_Item *) event_info;
+
+ MP_LIST_ITEM_IGNORE_SELECT(obj);
+
+ elm_genlist_item_selected_set(gli, FALSE);
+
+ MpList_t *list = data;
+ MP_CHECK(list);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ ad->isPlayBtn = true;
+ if (_mp_is_current_focus_available(ad) != 0) {
+ ERROR_TRACE
+ ("Some other application has the focus currently... Returning...");
+ return;
+ }
+
+ mp_list_item_data_t *item =
+ (mp_list_item_data_t *) elm_object_item_data_get(gli);
+ MP_CHECK(item);
+
+ mp_play_control_shuffle_set(NULL, true);
+ mp_common_play_track_list(item, obj);
+
+ return;
+}
+
+void mp_artist_detail_list_update_genlist(void *thiz)
+{
+ startfunc;
+
+ MP_CHECK(thiz);
+ MpArtistDetailList_t *list = thiz;
+ MP_CHECK(list->genlist);
+
+ int count = 0;
+ mp_media_info_list_count(MP_TRACK_BY_ARTIST, list->type_str, NULL,
+ NULL, 0, &count);
+
+ if (count <= 0) {
+ mp_list_update(thiz);
+ } else {
+ elm_genlist_realized_items_update(list->genlist);
+ }
+}
+
+static void
+_mp_artist_detail_list_item_del_cb(void *data, Evas_Object * obj)
+{
+ mp_list_item_data_t *item_data = data;
+ SAFE_FREE(item_data);
+}
+
+static void _mp_artist_detail_list_append_shuffle_item(MpArtistDetailList_t
+ *list)
+{
+ startfunc;
+ MP_CHECK(list);
+
+ list->itc_shuffle = elm_genlist_item_class_new();
+
+ if (list->itc_shuffle == NULL) {
+ ERROR_TRACE("Cannot create artist detail list");
+ return;
+ }
+ //list->itc_shuffle->item_style = "music/1line";//"music/1text.2icon.3";//"music/3text.1icon.2"
+ list->itc_shuffle->item_style = "default"; //"music/1text.2icon.3";//"music/3text.1icon.2"
+ list->itc_shuffle->func.text_get =
+ _mp_artist_detail_list_shuffle_text_get;
+ list->itc_shuffle->decorate_all_item_style = NULL;
+ list->itc_shuffle->func.content_get =
+ _mp_artist_detail_list_shuffle_icon_get;
+ list->itc_shuffle->func.del = _mp_artist_detail_list_item_del_cb;
+
+ mp_list_item_data_t *item_data;
+ item_data = mp_list_item_data_create(MP_LIST_ITEM_TYPE_SHUFFLE);
+ MP_CHECK(item_data);
+ item_data->it = list->shuffle_it =
+ elm_genlist_item_append(list->genlist, list->itc_shuffle,
+ item_data, NULL, ELM_GENLIST_ITEM_NONE,
+ _mp_artist_detail_list_shuffle_cb, list);
+ elm_object_item_data_set(item_data->it, item_data);
+
+ endfunc;
+}
+
+static void _mp_artist_detail_list_load_list(void *thiz, int count)
+{
+ MpArtistDetailList_t *list = thiz;
+ MP_CHECK(list);
+
+ /*media-svc related */
+ mp_media_list_h svc_handle;
+
+ /*clear genlist */
+ Elm_Object_Item *item = elm_genlist_first_item_get(list->genlist);
+ if (item) {
+ elm_genlist_item_bring_in(item, ELM_GENLIST_ITEM_SCROLLTO_IN);
+ elm_genlist_clear(list->genlist);
+ }
+
+ gint index = 0;
+ int ret = 0;
+
+ DEBUG_TRACE("count: %d", count);
+
+ if (count < 0) {
+ goto END;
+ }
+
+ if (list->album_list) {
+ mp_media_info_group_list_destroy(list->album_list);
+ g_list_free_full(list->track_lists, _free_track_lists);
+ list->track_lists = NULL;
+ }
+
+ ret =
+ mp_media_info_group_list_create(&list->album_list,
+ MP_GROUP_BY_ARTIST_ALBUM,
+ list->type_str, list->filter_str,
+ 0, count);
+
+ if (ret != 0) {
+ ERROR_TRACE("Fail to get items");
+ goto END;
+ }
+
+
+ svc_handle = list->album_list;
+
+ _mp_artist_detail_list_append_shuffle_item(list);
+
+ for (index = 0; index < count; index++) {
+ mp_media_info_h item = NULL;
+ Elm_Object_Item *list_item = NULL;
+ char *title = NULL;
+ char *full_path = NULL;
+ Elm_Object_Item *item_track;
+
+ item = mp_media_info_group_list_nth_item(svc_handle, index);
+ if (!item) {
+ DEBUG_TRACE
+ ("Fail to mp_media_info_group_list_nth_item, ret[%d], index[%d]",
+ ret, index);
+ goto END;
+ }
+ mp_media_info_group_get_main_info(item, &title);
+
+ mp_list_item_data_t *item_data;
+ item_data =
+ mp_list_item_data_create
+ (MP_LIST_ITEM_TYPE_SELECTABLE_GROUP_TITLE);
+ MP_CHECK(item_data);
+ item_data->handle = item;
+ item_data->group_type = list->group_type;
+ item_data->index = index;
+
+ item_data->it = list_item =
+ elm_genlist_item_append(list->genlist, list->itc_album,
+ item_data, NULL, ELM_GENLIST_ITEM_NONE,
+ _mp_artist_detail_list_album_title_select_cb,
+ (void *) list);
+
+ if (!list->edit_mode) {
+ elm_genlist_item_select_mode_set(list_item,
+ ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+ }
+
+ /* append tracks of the album */
+ selected_tracks_count = 0; // Getting the number of tracks selected within an album
+ int appended_track_num =
+ _mp_artist_detail_list_append_album_tracks(list, title,
+ list_item);
+ if (!appended_track_num) {
+ elm_object_item_del(list_item);
+ list->count_album--;
+ } else {
+ if (list->edit_mode && (appended_track_num == selected_tracks_count)) {
+ item_data->checked = true;
+ } else {
+ item_data->checked = false;
+ }
+ }
+ }
+
+ END:
+ endfunc;
+}
+
+void _mp_artist_detail_list_destory_cb(void *thiz)
+{
+ eventfunc;
+ MpArtistDetailList_t *list = thiz;
+ MP_CHECK(list);
+
+ if (list->album_list) {
+ mp_media_info_group_list_destroy(list->album_list);
+ g_list_free_full(list->track_lists, _free_track_lists);
+ list->track_lists = NULL;
+ }
+
+ if (list->itc_track) {
+ elm_genlist_item_class_free(list->itc_track);
+ list->itc_track = NULL;
+ }
+ if (list->itc_album) {
+ elm_genlist_item_class_free(list->itc_album);
+ list->itc_album = NULL;
+ }
+ if (list->itc_shuffle) {
+ elm_genlist_item_class_free(list->itc_shuffle);
+ list->itc_shuffle = NULL;
+ }
+
+ mp_list_free_checked_path_list(list->checked_path_list);
+
+ IF_FREE(list->type_str);
+ IF_FREE(list->filter_str);
+
+ free(list);
+}
+
+static void _mp_artist_detail_list_item_highlighted(void *data,
+ Evas_Object * obj,
+ void *event_info)
+{
+ MpArtistDetailList_t *list = data;
+ MP_CHECK(list);
+
+ Elm_Object_Item *it = event_info;
+ MP_CHECK(it);
+
+ if (list->shuffle_it == it) {
+ Evas_Object *icon =
+ elm_object_item_part_content_get(it, "elm.icon.2");
+ if (icon) {
+ elm_image_file_set(icon, IMAGE_EDJ_NAME,
+ MP_ICON_SHUFFLE_PRESS);
+ }
+ }
+}
+
+static void _mp_artist_detail_list_item_unhighlighted(void *data,
+ Evas_Object * obj,
+ void *event_info)
+{
+ MpArtistDetailList_t *list = data;
+ MP_CHECK(list);
+
+ Elm_Object_Item *it = event_info;
+ MP_CHECK(it);
+
+ if (list->shuffle_it == it) {
+ Evas_Object *icon =
+ elm_object_item_part_content_get(it, "elm.icon.2");
+ if (icon) {
+ elm_image_file_set(icon, IMAGE_EDJ_NAME, MP_ICON_SHUFFLE);
+ }
+ }
+}
+
+static void _mp_artist_detail_list_set_edit(void *thiz, bool edit)
+{
+ startfunc;
+ MpArtistDetailList_t *list = thiz;
+ MP_CHECK(list);
+
+ if (edit) {
+ mp_elm_object_item_del(list->shuffle_it);
+
+ Elm_Object_Item *item = mp_list_first_item_get(list->genlist);
+ while (item) {
+ mp_list_item_data_t *item_data =
+ (mp_list_item_data_t *) elm_object_item_data_get(item);
+ if (item_data
+ && item_data->item_type ==
+ MP_LIST_ITEM_TYPE_SELECTABLE_GROUP_TITLE) {
+ mp_list_item_select_mode_set(item,
+ ELM_OBJECT_SELECT_MODE_DEFAULT);
+ }
+ item = mp_list_item_next_get(item);
+ }
+
+ mp_list_select_mode_set(list->genlist,
+ ELM_OBJECT_SELECT_MODE_ALWAYS);
+ } else {
+ mp_list_select_mode_set(list->genlist,
+ ELM_OBJECT_SELECT_MODE_DEFAULT);
+
+ Elm_Object_Item *item = mp_list_first_item_get(list->genlist);
+ while (item) {
+ mp_list_item_data_t *item_data =
+ (mp_list_item_data_t *) elm_object_item_data_get(item);
+ if (item_data) {
+ item_data->checked = EINA_FALSE;
+ if (item_data->item_type ==
+ MP_LIST_ITEM_TYPE_SELECTABLE_GROUP_TITLE) {
+ mp_list_item_select_mode_set(item,
+ ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+ }
+ }
+ item = mp_list_item_next_get(item);
+ }
+
+ // TODO: restore shuffle item
+ }
+
+ elm_genlist_realized_items_update(list->genlist);
+}
+
+void _mp_artist_detail_list_update(void *thiz)
+{
+ startfunc;
+ int res = 0;
+ int count_album = 0;
+ MpArtistDetailList_t *list = thiz;
+ MP_CHECK(list);
+
+ res =
+ mp_media_info_group_list_count(MP_GROUP_BY_ARTIST_ALBUM,
+ list->type_str, list->filter_str,
+ &count_album);
+ MP_CHECK(res == 0);
+ DEBUG_TRACE("count is %d", count_album);
+ list->count_album = count_album;
+
+ mp_list_free_checked_path_list(list->checked_path_list);
+ list->checked_path_list =
+ mp_list_get_checked_path_list((MpList_t *) list);
+
+ mp_evas_object_del(list->no_content);
+ mp_evas_object_del(list->genlist);
+
+
+ if (count_album) {
+ /*create new genlist */
+ list->genlist = mp_widget_genlist_create(list->box);
+ evas_object_size_hint_weight_set(list->genlist, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(list->genlist, EVAS_HINT_FILL,
+ EVAS_HINT_FILL);
+ elm_genlist_mode_set(list->genlist, ELM_LIST_COMPRESS);
+ evas_object_show(list->genlist);
+ /*packet genlist to box */
+ elm_box_pack_end(list->box, list->genlist);
+
+ evas_object_data_set(list->genlist, "list_data", list);
+ list->itc_album = elm_genlist_item_class_new();
+ if (list->itc_album) {
+ list->itc_album->item_style = "default";
+ list->itc_album->func.text_get =
+ _mp_artist_detail_list_album_label_get;
+ list->itc_album->func.content_get =
+ _mp_artist_detail_list_album_icon_get;
+ list->itc_album->func.del = _mp_artist_detail_list_item_del_cb;
+
+ list->itc_track = elm_genlist_item_class_new();
+ if (list->itc_track) {
+ list->itc_track->item_style = "type1";
+ list->itc_track->func.text_get =
+ _mp_artist_detail_list_track_label_get;
+ list->itc_track->func.content_get =
+ _mp_artist_detail_list_track_icon_get;
+ list->itc_track->func.del =
+ _mp_artist_detail_list_item_del_cb;
+ }
+ }
+ evas_object_smart_callback_add(list->genlist, "drag,start,left",
+ list->flick_left_cb, NULL);
+ evas_object_smart_callback_add(list->genlist, "drag,start,right",
+ list->flick_right_cb, NULL);
+ evas_object_smart_callback_add(list->genlist, "drag,stop",
+ list->flick_stop_cb, NULL);
+
+ evas_object_smart_callback_add(list->genlist, "drag,start,right",
+ list->mode_right_cb, NULL);
+ evas_object_smart_callback_add(list->genlist, "drag,start,left",
+ list->mode_left_cb, NULL);
+ evas_object_smart_callback_add(list->genlist, "drag,start,up",
+ list->mode_cancel_cb, NULL);
+ evas_object_smart_callback_add(list->genlist, "drag,start,down",
+ list->mode_cancel_cb, NULL);
+
+ evas_object_smart_callback_add(list->genlist, "scroll,drag,start",
+ list->drag_start_cb, list);
+ evas_object_smart_callback_add(list->genlist, "scroll,drag,stop",
+ list->drag_stop_cb, list);
+ evas_object_smart_callback_add(list->genlist, "highlighted",
+ _mp_artist_detail_list_item_highlighted,
+ list);
+ evas_object_smart_callback_add(list->genlist, "unhighlighted",
+ _mp_artist_detail_list_item_unhighlighted,
+ list);
+
+ /* load list */
+ _mp_artist_detail_list_load_list(thiz, count_album);
+
+ } else {
+ DEBUG_TRACE("count is 0");
+ list->no_content =
+ mp_widget_create_no_contents(list->box, MP_NOCONTENT_NORMAL,
+ NULL, NULL);
+ elm_box_pack_end(list->box, list->no_content);
+ }
+
+}
+
+static mp_track_type_e _mp_artist_detail_list_get_track_type(void *thiz)
+{
+ MpArtistDetailList_t *list = thiz;
+ MP_CHECK_VAL(list, MP_TRACK_ALL);
+ return MP_TRACK_BY_ARTIST;
+}
+
+static unsigned int
+_mp_artist_detail_list_get_count(void *thiz, MpListEditType_e type)
+{
+ MpArtistDetailList_t *list = thiz;
+ MP_CHECK_VAL(list->genlist, 0);
+
+ int count = elm_genlist_items_count(list->genlist);
+
+ if (list->shuffle_it) {
+ --count;
+ }
+
+ if (list->bottom_counter_item) {
+ --count;
+ }
+ count = count - list->count_album;
+
+ return count;
+}
+
+static void _mp_aritst_detail_list_edit_mode_sel(void *thiz, void *data)
+{
+ startfunc;
+ MpList_t *list = (MpList_t *) thiz;
+ mp_list_item_data_t *it_data = (mp_list_item_data_t *) data;
+ Elm_Object_Item *gli = (Elm_Object_Item *) it_data->it;
+ mp_list_item_selected_set(gli, EINA_FALSE);
+
+
+ if (elm_genlist_item_flip_get(gli)
+ || elm_genlist_item_select_mode_get(gli) ==
+ ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY) {
+ return;
+ }
+
+ mp_list_item_check_set(gli, !it_data->checked);
+
+ _mp_aritst_detail_list_update_check(it_data);
+
+ MpViewMgr_t *view_mgr = mp_view_mgr_get_view_manager();
+ MpView_t *view = mp_view_mgr_get_top_view(view_mgr);
+ if (view) {
+ mp_util_create_selectioninfo_with_count(view,
+ mp_list_get_checked_count
+ (list));
+ }
+}
+
+static void
+_mp_artist_detail_list_selected_item_data_get(void *thiz,
+ GList ** selected)
+{
+ startfunc;
+ MpList_t *list = (MpList_t *) thiz;
+ GList *sel_list = NULL;
+
+ if (!list->genlist) {
+ goto END;
+ }
+
+ Elm_Object_Item *item = mp_list_first_item_get(list->genlist);
+
+ if (!item) {
+ goto END;
+ }
+
+ while (item) {
+ mp_list_item_data_t *item_data = elm_object_item_data_get(item);
+ if (item_data && item_data->item_type == MP_LIST_ITEM_TYPE_NORMAL) {
+ if (item_data->checked) {
+ sel_list = g_list_append(sel_list, item_data);
+ }
+ }
+
+ item = mp_list_item_next_get(item);
+ }
+ *selected = sel_list;
+ return;
+
+ END:
+ *selected = sel_list;
+}
+
+static char *_mp_artist_detail_list_bottom_counter_text_cb(void *thiz)
+{
+ MpArtistDetailList_t *list = thiz;
+ MP_CHECK_NULL(list);
+
+ unsigned int count =
+ mp_list_get_editable_count((MpList_t *) list,
+ mp_list_get_edit_type((MpList_t *)
+ list));
+ char *text = NULL;
+ if (count == 1) {
+ text = g_strdup(GET_STR(STR_MP_1_SONG));
+ } else {
+ text = g_strdup_printf(GET_STR(STR_MP_PD_SONGS), count);
+ }
+
+ return text;
+}
+
+static mp_group_type_e _mp_artist_detail_list_get_group_type(void *thiz)
+{
+ MpArtistDetailList_t *list = thiz;
+ MP_CHECK_VAL(list, MP_GROUP_NONE);
+ return MP_GROUP_NONE;
+}
+
+
+MpArtistDetailList_t *mp_artist_detail_list_create(Evas_Object * parent)
+{
+ eventfunc;
+ MP_CHECK_NULL(parent);
+
+ MpArtistDetailList_t *list = calloc(1, sizeof(MpArtistDetailList_t));
+ MP_CHECK_NULL(list);
+
+ mp_list_init((MpList_t *) list, parent, MP_LIST_TYPE_ARTIST_DETAIL);
+
+ list->update = _mp_artist_detail_list_update;
+ list->destory_cb = _mp_artist_detail_list_destory_cb;
+ list->get_track_type = _mp_artist_detail_list_get_track_type;
+ list->get_group_type = _mp_artist_detail_list_get_group_type;
+ list->get_count = _mp_artist_detail_list_get_count;
+ list->set_edit_default = list->set_edit;
+ list->set_edit = _mp_artist_detail_list_set_edit;
+ list->edit_mode_sel = _mp_aritst_detail_list_edit_mode_sel;
+ list->selected_item_data_get =
+ _mp_artist_detail_list_selected_item_data_get;
+ list->set_reorder = NULL;
+ list->bottom_counter_text_get_cb =
+ _mp_artist_detail_list_bottom_counter_text_cb;
+
+
+ return list;
+}
+
+void mp_artist_detail_list_set_data(MpArtistDetailList_t * list, ...)
+{
+ startfunc;
+ MP_CHECK(list);
+
+ va_list var_args;
+ int field;
+
+ va_start(var_args, list);
+ do {
+ field = va_arg(var_args, int);
+ switch (field) {
+ case MP_ARTIST_DETAIL_LIST_TYPE:{
+ int val = va_arg((var_args), int);
+
+ list->group_type = val;
+ DEBUG_TRACE("list->group_type = %d", list->group_type);
+ break;
+ }
+
+ case MP_ARTIST_DETAIL_LIST_TYPE_STR:{
+ char *val = va_arg((var_args), char *);
+ SAFE_FREE(list->type_str);
+ list->type_str = g_strdup(val);
+ DEBUG_TRACE("list->type_str = %s", list->type_str);
+
+ break;
+ }
+ case MP_ARTIST_DETAIL_LIST_FILTER_STR:{
+ char *val = va_arg((var_args), char *);
+ SAFE_FREE(list->filter_str);
+ list->filter_str = g_strdup(val);
+ DEBUG_TRACE("list->filter_str = %s", list->filter_str);
+
+ break;
+ }
+
+ default:
+ DEBUG_TRACE("Invalid arguments");
+ }
+
+ } while (field >= 0);
+
+ va_end(var_args);
+}
+
+void mp_artist_detail_list_copy_data(MpArtistDetailList_t * src,
+ MpArtistDetailList_t * dest)
+{
+ MP_CHECK(src);
+ MP_CHECK(dest);
+
+ dest->group_type = src->group_type;
+ SAFE_FREE(dest->type_str);
+ dest->type_str = g_strdup(src->type_str);
+ SAFE_FREE(dest->filter_str);
+ dest->filter_str = g_strdup(src->filter_str);
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include "mp-artist-list.h"
+#include "mp-artist-detail-view.h"
+#include "mp-artist-detail-list.h"
+#include "mp-create-playlist-view.h"
+#include "mp-select-track-view.h"
+#include "mp-popup.h"
+#include "mp-menu.h"
+#include "mp-util.h"
+#include "mp-widget.h"
+#include "mp-common.h"
+#include "mp-play.h"
+
+#define ARTIST_GRID_W 175
+#define ARTIST_GRID_H 222
+#define ARTIST_GRID_LAND_W 179
+#define ARTIST_GRID_LAND_H 240
+
+static mp_list_item_data_t* g_item_data = NULL;
+
+static char *_mp_artist_list_group_index_text_get(void *data,
+ Evas_Object * obj,
+ const char *part)
+{
+ mp_list_item_data_t *item_data = data;
+ MP_CHECK_NULL(item_data);
+
+ char *text = NULL;
+ if (!strcmp(part, "elm.text.sub")) {
+ MpArtistList_t *list = evas_object_data_get(obj, "list_data");
+ MP_CHECK_NULL(list);
+
+ unsigned int count =
+ mp_list_get_editable_count((MpList_t *) list,
+ mp_list_get_edit_type((MpList_t *)
+ list));
+
+ if (count == 1) {
+ text = g_strdup(GET_STR(STR_MP_1_ARTIST));
+ } else {
+ text = g_strdup_printf(GET_STR(STR_MP_PD_ARTISTS), count);
+ }
+ }
+
+ return text;
+}
+
+static void
+_mp_artist_list_add_to_playlist_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ eventfunc;
+ mp_edit_create_add_to_playlist_popup(data);
+ return;
+}
+
+static char *_mp_artist_list_label_get(void *data, Evas_Object * obj,
+ const char *part)
+{
+ char *name = NULL;
+ int ret = 0;
+
+ mp_list_item_data_t *item = (mp_list_item_data_t *) data;
+ MP_CHECK_NULL(item);
+ mp_media_info_h svc_item = (item->handle);
+ mp_retv_if(svc_item == NULL, NULL);
+
+ if (!strcmp(part, "elm.text")) {
+ ret = mp_media_info_group_get_main_info(svc_item, &name);
+ mp_retvm_if((ret != 0), NULL, "Fail to get value");
+ if (!name || !strlen(name)) {
+ name = GET_SYS_STR("IDS_COM_BODY_UNKNOWN");
+ }
+ return elm_entry_utf8_to_markup(name);
+ } else if (!strcmp(part, "elm.text.sub")) {
+ char **album_thumbs = NULL;
+ int album_count = 0;
+ int song_count = 0;
+
+ mp_media_info_group_get_album_thumnail_paths(item->handle,
+ &album_thumbs,
+ &album_count);
+ mp_media_info_group_get_track_count(item->handle, &song_count);
+
+ char *sub_text = NULL;
+ if (album_count == 1 && song_count == 1) {
+ sub_text = g_strdup(GET_STR(STR_MP_1_ALBUM_1_SONG));
+ } else if (album_count == 1 && song_count > 1) {
+ sub_text =
+ g_strdup_printf(GET_STR(STR_MP_1_ALBUM_PD_SONGS),
+ song_count);
+ } else {
+ sub_text =
+ g_strdup_printf(GET_STR(STR_MP_PD_ALBUMS_PD_SONGS),
+ album_count, song_count);
+ }
+ return sub_text;
+ }
+
+ return NULL;
+}
+
+static Evas_Object *_mp_artist_list_album_icon_get(Evas_Object * obj,
+ mp_list_item_data_t *
+ item)
+{
+ MP_CHECK_NULL(item);
+ MP_CHECK_NULL(item->handle);
+
+ char *artist_name = NULL;
+ mp_media_info_group_get_main_info(item->handle, &artist_name);
+
+ char **album_thumbs = NULL;
+ int album_count = 0;
+ int song_count = 0;
+ int i = 0;
+ int icon_area_w = 78;
+ int image_size = 68;
+ int thumnail_max = 8;
+ char *path = NULL;
+
+ mp_media_info_group_get_album_thumnail_paths(item->handle,
+ &album_thumbs,
+ &album_count);
+ mp_media_info_group_get_track_count(item->handle, &song_count);
+
+ for (i = 0; i < album_count; i++) {
+ icon_area_w += 24;
+ if (i >= (thumnail_max - 1)) {
+ break;
+ }
+ }
+
+ for (i = 0; i < album_count; i++) {
+ path = album_thumbs[i];
+ }
+ Evas_Object *icon =
+ mp_util_create_lazy_update_thumb_icon(obj, path, image_size,
+ image_size);
+ return icon;
+}
+
+
+Evas_Object *_mp_artist_list_icon_get(void *data, Evas_Object * obj,
+ const char *part)
+{
+ Evas_Object *icon = NULL;
+
+ mp_list_item_data_t *item = (mp_list_item_data_t *) data;
+ MP_CHECK_NULL(item);
+ mp_media_info_h svc_item = (item->handle);
+ mp_retv_if(svc_item == NULL, NULL);
+
+
+ Evas_Object *content = NULL;
+
+ if (item->display_mode == MP_LIST_DISPLAY_MODE_NORMAL) {
+ if (!strcmp(part, "elm.icon.1")
+ || !strcmp(part, "elm.swallow.icon")) {
+ content = elm_layout_add(obj);
+ Evas_Object *icon = _mp_artist_list_album_icon_get(obj, item);
+ elm_layout_theme_set(content, "layout", "list/B/music.type.1",
+ "default");
+ elm_layout_content_set(content, "elm.swallow.content", icon);
+
+ return content;
+ }
+ }
+ MpArtistList_t *list = evas_object_data_get(obj, "list_handle");
+ MP_CHECK_NULL(list);
+
+ Evas_Object *button = NULL;
+ if (!strcmp(part, "elm.slide.swallow.1")) {
+ button = elm_button_add(obj);
+ elm_object_style_set(button, "sweep");
+ /*elm_object_text_set(button, GET_STR(STR_MP_ADD_TO));
+ mp_language_mgr_register_object(button, OBJ_TYPE_ELM_OBJECT, NULL, STR_MP_ADD_TO); */
+ mp_util_domain_translatable_text_set(button, STR_MP_ADD_TO);
+ evas_object_smart_callback_add(button, "clicked",
+ _mp_artist_list_add_to_playlist_cb,
+ list);
+ return button;
+ }
+
+ Evas_Object *check = NULL;
+ if (list->edit_mode) {
+ if (!strcmp(part, "elm.swallow.end")) {
+ check = elm_check_add(obj);
+ elm_object_style_set(check, "default");
+ evas_object_propagate_events_set(check, EINA_FALSE);
+ evas_object_smart_callback_add(check, "changed",
+ mp_common_view_check_changed_cb,
+ NULL);
+ elm_check_state_pointer_set(check, &item->checked);
+
+ return check;
+ }
+ }
+ return icon;
+}
+
+static void _mp_artist_list_item_del_cb(void *data, Evas_Object * obj)
+{
+ mp_list_item_data_t *item_data = data;
+ MP_CHECK(item_data);
+
+ free(item_data);
+}
+
+
+static void
+_mp_artist_select_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ MpArtistList_t *list = (MpArtistList_t *) data;
+ eventfunc;
+ int ret = 0;
+ int index = 0; /*(int)data; */
+ char *name = NULL;
+ char *thumbnail = NULL;
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ Elm_Object_Item *gli = (Elm_Object_Item *) event_info;
+ MP_CHECK(gli);
+ MP_CHECK(list);
+ if (list->display_mode == MP_LIST_DISPLAY_MODE_THUMBNAIL) {
+ elm_gengrid_item_selected_set(gli, EINA_FALSE);
+ /*temp update item to avoid blue check in checkbox */
+ elm_gengrid_item_update(gli);
+ } else {
+ elm_genlist_item_selected_set(gli, EINA_FALSE);
+ }
+
+ mp_list_item_data_t *gli_data = elm_object_item_data_get(gli);
+ MP_CHECK(gli_data);
+
+ index = gli_data->index;
+ if (index >= 0) {
+ /*item_handle = mp_media_info_group_list_nth_item(gli_data->handle, index); */
+ ret = mp_media_info_group_get_main_info(gli_data->handle, &name);
+ mp_media_info_group_get_thumbnail_path(gli_data->handle,
+ &thumbnail);
+ mp_retm_if(ret != 0, "Fail to get value");
+ mp_retm_if(name == NULL, "Fail to get value");
+ }
+
+ if (list->function_type == MP_LIST_FUNC_ADD_TRACK) {
+ MpViewMgr_t *view_manager = mp_view_mgr_get_view_manager();
+ MP_CHECK(view_manager);
+ MpSelectTrackView_t *view_select_track =
+ mp_select_track_view_create(view_manager->navi);
+ MP_CHECK(view_select_track);
+ mp_view_mgr_push_view(view_manager, (MpView_t *) view_select_track,
+ NULL);
+
+ int count = g_list_length(ad->checkedList);
+ if (count > 0) {
+ char *text = g_strdup_printf(GET_STR(STR_MP_SELECT_ITEMS), count);
+ mp_view_set_title((MpView_t *) view_select_track, text);
+ IF_FREE(text);
+ } else {
+ mp_view_set_title((MpView_t *) view_select_track, STR_MP_TILTE_SELECT_ITEM);
+ }
+ mp_track_list_set_data((MpTrackList_t *) view_select_track->
+ content_to_show, MP_TRACK_LIST_TYPE,
+ MP_TRACK_BY_ARTIST, MP_TRACK_LIST_TYPE_STR,
+ name, -1);
+ mp_list_view_set_cancel_btn((MpListView_t *) view_select_track,
+ true);
+ mp_list_view_set_done_btn((MpListView_t *) view_select_track, true,
+ MP_DONE_SELECT_ADD_TRACK_TYPE);
+ mp_list_view_set_select_all((MpListView_t *) view_select_track,
+ TRUE);
+ mp_list_update(view_select_track->content_to_show);
+ mp_view_update_options((MpView_t *) view_select_track);
+ mp_list_set_edit(view_select_track->content_to_show, TRUE);
+ return;
+ }
+
+ if (list->edit_mode) {
+ mp_list_edit_mode_sel((MpList_t *) list, gli_data);
+
+ MpViewMgr_t *view_mgr = mp_view_mgr_get_view_manager();
+ MpView_t *view = mp_view_mgr_get_top_view(view_mgr);
+ ERROR_TRACE("update options of edit view");
+ mp_view_update_options_edit((MpView_t *) view);
+ return;
+ }
+
+ /* create the view of artist detail */
+ MpViewMgr_t *view_manager = mp_view_mgr_get_view_manager();
+ MP_CHECK(view_manager);
+ MpArtistDetailView_t *view_artist_detail =
+ mp_artist_detail_view_create(view_manager->navi, name, thumbnail);
+ MP_CHECK(view_artist_detail);
+ mp_view_mgr_push_view(view_manager, (MpView_t *) view_artist_detail,
+ NULL);
+ mp_view_update_options((MpView_t *) view_artist_detail);
+ mp_view_set_title((MpView_t *) view_artist_detail, name);
+}
+
+static void _mp_artist_list_append_group_index_item(void *thiz)
+{
+ MpArtistList_t *list = (MpArtistList_t *) thiz;
+ MP_CHECK(list);
+ MP_CHECK(list->genlist);
+
+ if (!list->itc_group_index) {
+ list->itc_group_index = elm_genlist_item_class_new();
+ MP_CHECK(list->itc_group_index);
+ list->itc_group_index->item_style = "music/groupindex.sub";
+ list->itc_group_index->func.text_get =
+ _mp_artist_list_group_index_text_get;
+ list->itc_group_index->func.del = _mp_artist_list_item_del_cb;
+ }
+
+ mp_list_item_data_t *item_data =
+ mp_list_item_data_create(MP_LIST_ITEM_TYPE_GROUP_TITLE);
+ MP_CHECK(item_data);
+ item_data->it = list->group_it =
+ elm_genlist_item_append(list->genlist, list->itc_group_index,
+ item_data, NULL, ELM_GENLIST_ITEM_GROUP,
+ NULL, NULL);
+ elm_genlist_item_select_mode_set(list->group_it,
+ ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+}
+
+void mp_artist_list_show_group_index(void *thiz, bool show)
+{
+ startfunc;
+ MP_CHECK(thiz);
+ MpArtistList_t *list = thiz;
+ MP_CHECK(list->genlist);
+
+ DEBUG_TRACE("show group index: %d list->group_it: %0x", show,
+ list->group_it);
+ if (show) {
+ _mp_artist_list_append_group_index_item(list);
+ } else if (list->group_it) {
+ elm_object_item_del(list->group_it);
+ list->group_it = NULL;
+ }
+}
+
+static void _mp_artist_list_load_list(void *thiz, int count)
+{
+ MpArtistList_t *list = thiz;
+ MP_CHECK(list);
+
+ /*media-svc related */
+ mp_media_list_h svc_handle;
+ gint index = 0;
+ int ret = 0;
+
+ DEBUG_TRACE("count: %d", count);
+
+ if (count < 0) {
+ goto END;
+ }
+
+ ret =
+ mp_media_info_group_list_create(&svc_handle, MP_GROUP_BY_ARTIST,
+ list->type_str, list->filter_str,
+ 0, count);
+
+ if (ret != 0) {
+ DEBUG_TRACE("Fail to get items");
+ goto END;
+ }
+
+ if (list->artist_list) {
+ mp_media_info_group_list_destroy(list->artist_list);
+ }
+ list->artist_list = svc_handle;
+
+ mp_artist_list_show_group_index(list, false);
+
+ for (index = 0; index < count; index++) {
+ mp_media_info_h item = NULL;
+ Elm_Object_Item *list_item = NULL;
+ char *title = NULL;
+
+
+ item = mp_media_info_group_list_nth_item(svc_handle, index);
+ if (!item) {
+ DEBUG_TRACE
+ ("Fail to mp_media_info_group_list_nth_item, ret[%d], index[%d]",
+ ret, index);
+ goto END;
+ }
+ mp_media_info_group_get_main_info(item, &title);
+
+ mp_list_item_data_t *item_data;
+ item_data = calloc(1, sizeof(mp_list_item_data_t));
+ MP_CHECK(item_data);
+ item_data->handle = item;
+ item_data->group_type = list->group_type;
+ item_data->index = index;
+ item_data->display_mode = list->display_mode;
+ item_data->checked =
+ mp_list_is_in_checked_path_list(list->checked_path_list,
+ title);
+
+ Elm_Object_Item *parent_group = NULL;
+ if (MP_LIST_OBJ_IS_GENGRID(list->genlist)) {
+ list_item =
+ elm_gengrid_item_append(list->genlist, list->gengrid_itc,
+ item_data, _mp_artist_select_cb,
+ (void *) list);
+ } else {
+ list_item =
+ elm_genlist_item_append(list->genlist, list->itc,
+ item_data, parent_group,
+ ELM_GENLIST_ITEM_NONE,
+ _mp_artist_select_cb, list);
+ }
+
+ item_data->it = list_item;
+ }
+
+ END:
+ endfunc;
+}
+
+void _mp_artist_list_destory_cb(void *thiz)
+{
+ eventfunc;
+ MpArtistList_t *list = thiz;
+ MP_CHECK(list);
+
+ if (list->artist_list) {
+ mp_media_info_group_list_destroy(list->artist_list);
+ }
+
+ IF_FREE(list->type_str);
+ IF_FREE(list->filter_str);
+
+ if (list->itc) {
+ elm_genlist_item_class_free(list->itc);
+ list->itc = NULL;
+ }
+
+ if (list->itc_group_index) {
+ elm_genlist_item_class_free(list->itc_group_index);
+ list->itc_group_index = NULL;
+ }
+
+ if (list->gengrid_itc) {
+ elm_gengrid_item_class_free(list->gengrid_itc);
+ list->gengrid_itc = NULL;
+ }
+ mp_list_free_checked_path_list(list->checked_path_list);
+
+ free(list);
+}
+
+static mp_group_type_e _mp_artist_list_get_group_type(void *thiz)
+{
+ MpArtistList_t *list = thiz;
+ MP_CHECK_VAL(list, MP_GROUP_NONE);
+ return MP_GROUP_BY_ARTIST;
+}
+
+static void
+_mp_artist_list_item_highlighted_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ MpArtistList_t *list = data;
+ MP_CHECK(list);
+ MP_CHECK(!MP_LIST_OBJ_IS_GENGRID(obj));
+
+ Elm_Object_Item *item = event_info;
+ MP_CHECK(item);
+
+ Evas_Object *layout =
+ elm_object_item_part_content_get(item, "elm.icon");
+ if (layout) {
+ elm_object_signal_emit(layout, "elm,state,selected", "elm");
+ }
+}
+
+static void
+_mp_artist_list_item_unhighlighted_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ MpArtistList_t *list = data;
+ MP_CHECK(list);
+ MP_CHECK(!MP_LIST_OBJ_IS_GENGRID(obj));
+
+ Elm_Object_Item *item = event_info;
+ MP_CHECK(item);
+
+ Evas_Object *layout =
+ elm_object_item_part_content_get(item, "elm.icon");
+ if (layout) {
+ elm_object_signal_emit(layout, "elm,state,unselected", "elm");
+ }
+}
+
+static void _mp_artist_list_genlist_create(MpArtistList_t * list)
+{
+ startfunc;
+ MP_CHECK(list);
+
+ /*create new genlist */
+ mp_evas_object_del(list->genlist);
+
+ /*create new genlist */
+ list->genlist = mp_widget_genlist_create(list->box);
+ MP_CHECK(list->genlist);
+ elm_scroller_policy_set(list->genlist, ELM_SCROLLER_POLICY_OFF,
+ ELM_SCROLLER_POLICY_AUTO);
+ evas_object_size_hint_weight_set(list->genlist, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(list->genlist, EVAS_HINT_FILL,
+ EVAS_HINT_FILL);
+ elm_genlist_homogeneous_set(list->genlist, EINA_TRUE);
+ elm_genlist_mode_set(list->genlist, ELM_LIST_COMPRESS);
+ evas_object_show(list->genlist);
+ /*packet genlist to box */
+ elm_box_pack_end(list->box, list->genlist);
+ /*add long press callback */
+ /*evas_object_smart_callback_add(list->genlist, "longpressed", _mp_artist_list_item_longpressed_cb, list); */
+ evas_object_data_set(list->genlist, "list_data", list);
+
+ if (!list->itc) {
+ list->itc = elm_genlist_item_class_new();
+ if (list->itc == NULL) {
+ ERROR_TRACE("Unable to create artist list genlist");
+ return;
+ }
+ list->itc->item_style = "type1";
+ list->itc->func.text_get = _mp_artist_list_label_get;
+ list->itc->func.content_get = _mp_artist_list_icon_get;
+ list->itc->func.del = _mp_artist_list_item_del_cb;
+ }
+
+ evas_object_smart_callback_add(list->genlist, "drag,start,left",
+ list->flick_left_cb, NULL);
+ evas_object_smart_callback_add(list->genlist, "drag,start,right",
+ list->flick_right_cb, NULL);
+ evas_object_smart_callback_add(list->genlist, "drag,stop",
+ list->flick_stop_cb, NULL);
+
+ evas_object_smart_callback_add(list->genlist, "drag,start,right",
+ list->mode_right_cb, NULL);
+ evas_object_smart_callback_add(list->genlist, "drag,start,left",
+ list->mode_left_cb, NULL);
+ evas_object_smart_callback_add(list->genlist, "drag,start,up",
+ list->mode_cancel_cb, NULL);
+ evas_object_smart_callback_add(list->genlist, "drag,start,down",
+ list->mode_cancel_cb, NULL);
+
+ evas_object_smart_callback_add(list->genlist, "highlighted",
+ _mp_artist_list_item_highlighted_cb,
+ list);
+ evas_object_smart_callback_add(list->genlist, "unhighlighted",
+ _mp_artist_list_item_unhighlighted_cb,
+ list);
+
+ endfunc;
+}
+
+static void _mp_artist_list_set_grid_style(MpArtistList_t * list)
+{
+ bool landscape = mp_util_is_landscape();
+
+ MP_CHECK(list->gengrid_itc);
+
+ list->gengrid_itc->item_style = "music/artist_grid";
+
+ double scale = elm_config_scale_get();
+ int w;
+ int h;
+ if (landscape) {
+ w = (int) (ARTIST_GRID_LAND_W * scale);
+ h = (int) (ARTIST_GRID_LAND_H * scale);
+ } else {
+ w = (int) (ARTIST_GRID_W * scale);
+ h = (int) (ARTIST_GRID_H * scale);
+ }
+ elm_gengrid_item_size_set(list->genlist, w, h);
+}
+
+static void _mp_artist_list_gengrid_create(MpArtistList_t * list)
+{
+ startfunc;
+ MP_CHECK(list);
+
+ /*create new genlist */
+ list->genlist = elm_gengrid_add(list->box);
+ MP_CHECK(list->genlist);
+ evas_object_size_hint_weight_set(list->genlist, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(list->genlist, EVAS_HINT_FILL,
+ EVAS_HINT_FILL);
+ evas_object_show(list->genlist);
+ MP_LIST_OBJ_SET_AS_GENGRID(list->genlist);
+ /*packet genlist to box */
+ elm_box_pack_end(list->box, list->genlist);
+
+ if (!list->gengrid_itc) {
+ list->gengrid_itc = elm_gengrid_item_class_new();
+ MP_CHECK(list->gengrid_itc);
+ list->gengrid_itc->func.text_get = _mp_artist_list_label_get;
+ list->gengrid_itc->func.content_get = _mp_artist_list_icon_get;
+ list->gengrid_itc->func.del = _mp_artist_list_item_del_cb;
+ }
+
+ _mp_artist_list_set_grid_style(list);
+ elm_gengrid_align_set(list->genlist, 0.5, 0.0);
+
+ evas_object_smart_callback_add(list->genlist, "highlighted",
+ _mp_artist_list_item_highlighted_cb,
+ list);
+ evas_object_smart_callback_add(list->genlist, "unhighlighted",
+ _mp_artist_list_item_unhighlighted_cb,
+ list);
+
+ endfunc;
+}
+
+static void mp_artist_list_initialize_recently_added(MpArtistList_t *list)
+{
+ MP_CHECK(list);
+
+ mp_evas_object_del(list->recently_added_genlist);
+ list->recently_added_genlist = mp_widget_genlist_create(list->box);
+ MP_CHECK(list->recently_added_genlist);
+ elm_scroller_policy_set(list->recently_added_genlist, ELM_SCROLLER_POLICY_OFF,
+ ELM_SCROLLER_POLICY_AUTO);
+ evas_object_size_hint_weight_set(list->recently_added_genlist, EVAS_HINT_EXPAND,
+ 0.5);
+ evas_object_size_hint_align_set(list->recently_added_genlist, EVAS_HINT_FILL,
+ EVAS_HINT_FILL);
+ elm_genlist_mode_set(list->recently_added_genlist, ELM_LIST_COMPRESS);
+ evas_object_show(list->recently_added_genlist);
+ /*packet genlist to box */
+ elm_box_pack_end(list->box, list->recently_added_genlist);
+
+ evas_object_data_set(list->recently_added_genlist, "list_data", list);
+}
+
+static void _mp_artist_list_recently_added_del_cb(void *data, Evas_Object * obj)
+{
+ mp_media_list_h *svc_handle = (mp_media_list_h *) data;
+ MP_CHECK(svc_handle);
+ IF_FREE(svc_handle);
+ IF_FREE(g_item_data);
+}
+
+static char *_mp_artist_list_group_index_recently_added_text_get(void *data,
+ Evas_Object *obj,
+ const char *part)
+{
+ char *text = NULL;
+ if (!g_strcmp0(part, "elm.text")) {
+ int len = strlen(GET_STR(STR_RECENTLY_ADDED)) + strlen(GET_STR(STR_MP_ARTISTS)) + 2;
+ text = (char *)malloc(len);
+ MP_CHECK_NULL(text);
+ snprintf(text, len, "%s %s", GET_STR(STR_RECENTLY_ADDED), GET_STR(STR_MP_ARTISTS));
+ }
+
+ return text;
+}
+
+static void _mp_artist_list_recently_added_play_icon_clicked_cb(void *data,
+ Evas_Object * obj, const char *emission, const char *source)
+{
+ startfunc;
+ int count = 0, res = 0;
+ mp_list_item_data_t *item_data = (mp_list_item_data_t *)data;
+ MP_CHECK(item_data);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ mp_media_info_h track = item_data->handle;
+ MP_CHECK(track);
+
+ MpArtistDetailList_t *list = calloc(1, sizeof(MpArtistDetailList_t));
+ MP_CHECK(list);
+
+ mp_media_list_h svc_handle;
+ mp_plst_item *plst_item = NULL;
+ char *title = NULL;
+ char *artist = NULL;
+ char *thumbnail = NULL;
+ mp_media_info_group_get_main_info(track, &title);
+ mp_media_info_group_get_thumbnail_path(track, &thumbnail);
+ DEBUG_TRACE("thumbnail = %s", thumbnail);
+
+ list->list_type = MP_LIST_TYPE_ARTIST_DETAIL;
+ list->track_type = MP_GROUP_BY_ARTIST_ALBUM;
+ list->group_type = MP_TRACK_BY_ARTIST_ALBUM;
+ list->type_str = title;
+
+ PROFILE_IN("mp_media_info_list_count");
+ res =
+ mp_media_info_list_count(list->track_type, list->type_str,
+ list->type_str2, list->filter_str,
+ list->playlist_id, &count);
+ PROFILE_OUT("mp_media_info_list_count");
+
+ PROFILE_IN("mp_media_info_list_create");
+ mp_media_info_list_create(&svc_handle, list->track_type,
+ list->type_str, list->type_str2,
+ list->filter_str, list->playlist_id, 0,
+ count);
+ PROFILE_OUT("mp_media_info_list_create");
+ IF_FREE(list);
+
+ for (int index = 0; index < count; index++) {
+ mp_media_info_h item = NULL;
+
+ char *uri = NULL;
+ char *uid = NULL;
+ item = mp_media_info_list_nth_item(svc_handle, index);
+ if (!item) {
+ DEBUG_TRACE
+ ("Fail to mp_media_info_list_nth_item, index[%d]", index);
+ continue;
+ }
+ mp_track_type track_type = MP_TRACK_URI;
+ mp_media_info_get_media_id(item, &uid);
+ mp_media_info_get_file_path(item, &uri);
+ mp_media_info_get_title(item, &title);
+ mp_media_info_get_artist(item, &artist);
+
+ if (!ad->playlist_mgr) {
+ mp_common_create_playlist_mgr();
+ }
+ MP_CHECK(ad->playlist_mgr);
+
+ PROFILE_IN("mp_playlist_mgr_clear");
+ mp_playlist_mgr_clear(ad->playlist_mgr);
+ PROFILE_OUT("mp_playlist_mgr_clear");
+
+ if (!index) {
+ plst_item =
+ mp_playlist_mgr_item_append(ad->playlist_mgr, uri,
+ uid, title, artist,
+ track_type);
+ } else {
+ mp_playlist_mgr_item_append(ad->playlist_mgr, uri,
+ uid, title, artist,
+ track_type);
+ }
+ }
+
+ ad->hide_player_view = true;
+ ad->paused_by_user = false;
+
+ if (ad->playlist_mgr->shuffle_state) {
+ ad->playlist_mgr->list = ad->playlist_mgr->shuffle_list;
+ } else {
+ ad->playlist_mgr->list = ad->playlist_mgr->normal_list;
+ }
+
+ mp_playlist_mgr_set_current(ad->playlist_mgr, plst_item);
+
+ PROFILE_IN("mp_play_destory");
+ mp_play_fast_destory(ad);
+ PROFILE_OUT("mp_play_destory");
+
+ mp_play_new_file(ad, TRUE);
+}
+
+static void _mp_artist_list_recently_added_thumbpath_clicked_cb(void *data,
+ Evas_Object * obj, const char *emission, const char *source)
+{
+ startfunc;
+ mp_list_item_data_t *item = (mp_list_item_data_t *)data;
+ MP_CHECK(item);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ Evas_Object* genlist = evas_object_data_get(obj, "genlist_obj");
+ MP_CHECK(genlist);
+
+ MpArtistList_t *list = evas_object_data_get(genlist, "list_data");
+ MP_CHECK(list);
+
+ mp_media_info_h track = item->handle;
+ MP_CHECK(track);
+
+ int ret = 0;
+ int index = 0;
+ char *name = NULL;
+ char *thumbnail = NULL;
+
+ index = item->index;
+
+ if (index >= 0) {
+ ret = mp_media_info_group_get_main_info(track, &name);
+ mp_media_info_group_get_thumbnail_path(track,
+ &thumbnail);
+ mp_retm_if(ret != 0, "Fail to get value");
+ mp_retm_if(name == NULL, "Fail to get value");
+ }
+
+ if (list->function_type == MP_LIST_FUNC_ADD_TRACK) {
+ MpViewMgr_t *view_manager = mp_view_mgr_get_view_manager();
+ MP_CHECK(view_manager);
+ MpSelectTrackView_t *view_select_track =
+ mp_select_track_view_create(view_manager->navi);
+ MP_CHECK(view_select_track);
+ mp_view_mgr_push_view(view_manager, (MpView_t *) view_select_track,
+ NULL);
+
+ int count = g_list_length(ad->checkedList);
+ if (count > 0) {
+ char *text = g_strdup_printf(GET_STR(STR_MP_SELECT_ITEMS), count);
+ mp_view_set_title((MpView_t *) view_select_track, text);
+ IF_FREE(text);
+ } else {
+ mp_view_set_title((MpView_t *) view_select_track, STR_MP_TILTE_SELECT_ITEM);
+ }
+ mp_track_list_set_data((MpTrackList_t *) view_select_track->
+ content_to_show, MP_TRACK_LIST_TYPE,
+ MP_TRACK_BY_ARTIST, MP_TRACK_LIST_TYPE_STR,
+ name, -1);
+ mp_list_view_set_cancel_btn((MpListView_t *) view_select_track,
+ true);
+ mp_list_view_set_done_btn((MpListView_t *) view_select_track, true,
+ MP_DONE_SELECT_ADD_TRACK_TYPE);
+ mp_list_view_set_select_all((MpListView_t *) view_select_track,
+ TRUE);
+ mp_list_update(view_select_track->content_to_show);
+ mp_view_update_options((MpView_t *) view_select_track);
+ mp_list_set_edit(view_select_track->content_to_show, TRUE);
+ return;
+ }
+
+ if (list->edit_mode) {
+ mp_list_edit_mode_sel((MpList_t *) list, item);
+
+ MpViewMgr_t *view_mgr = mp_view_mgr_get_view_manager();
+ MpView_t *view = mp_view_mgr_get_top_view(view_mgr);
+ ERROR_TRACE("update options of edit view");
+ mp_view_update_options_edit((MpView_t *) view);
+ return;
+ }
+
+ /* create the view of artist detail */
+ MpViewMgr_t *view_manager = mp_view_mgr_get_view_manager();
+ MP_CHECK(view_manager);
+ MpArtistDetailView_t *view_artist_detail =
+ mp_artist_detail_view_create(view_manager->navi, name, thumbnail);
+ MP_CHECK(view_artist_detail);
+ mp_view_mgr_push_view(view_manager, (MpView_t *) view_artist_detail,
+ NULL);
+ mp_view_update_options((MpView_t *) view_artist_detail);
+ mp_view_set_title((MpView_t *) view_artist_detail, name);
+}
+
+static char *_mp_artist_list_recently_added_text_get(void *data, Evas_Object * obj, const char *part)
+{
+ mp_media_list_h *svc_handle = (mp_media_list_h *) data;
+ MP_CHECK_NULL(svc_handle);
+
+ MpArtistList_t *list = evas_object_data_get(obj, "list_data");
+ MP_CHECK_NULL(list);
+
+ int count = (list->artist_list_count < RECENTLY_ADDED_TRACKS_MAX_COUNT) ? list->artist_list_count : RECENTLY_ADDED_TRACKS_MAX_COUNT;
+ for (int index = 0; index < count; index++) {
+ mp_media_info_h item = NULL;
+ char *title = NULL;
+ char *artist = NULL;
+ char part_name[RECENTLY_ADDED_PART_NAME_MAX_SIZE] = {0, };
+
+ item = mp_media_info_group_list_nth_item(svc_handle, index);
+ if (!item) {
+ DEBUG_TRACE
+ ("Fail to mp_media_info_group_list_nth_item, index[%d]", index);
+ return NULL;
+ }
+
+ snprintf(part_name, RECENTLY_ADDED_PART_NAME_MAX_SIZE, "%s%d", "elm.text.main.", (index+1));
+ if (!g_strcmp0(part, part_name)) {
+ mp_media_info_group_get_main_info(item, &title);
+ if (!title || !strlen(title)) {
+ title = GET_SYS_STR("IDS_COM_BODY_UNKNOWN");
+ }
+ return g_strdup(title);
+ }
+ }
+ return NULL;
+}
+
+static Evas_Object *_mp_artist_list_recently_added_content_get(void *data, Evas_Object * obj, const char *part)
+{
+ mp_media_list_h *svc_handle = (mp_media_list_h *) data;
+ MP_CHECK_NULL(svc_handle);
+
+ MpArtistList_t *list = evas_object_data_get(obj, "list_data");
+ MP_CHECK_NULL(list);
+ int count = (list->artist_list_count < RECENTLY_ADDED_TRACKS_MAX_COUNT) ? list->artist_list_count : RECENTLY_ADDED_TRACKS_MAX_COUNT;
+ for (int index = 0; index < count; index++) {
+ mp_media_info_h item = NULL;
+ char *thumb_path = NULL;
+ char default_thumbnail[1024] = { 0 };
+ char part_name[RECENTLY_ADDED_PART_NAME_MAX_SIZE] = {0, };
+
+ item = mp_media_info_group_list_nth_item(svc_handle, index);
+ if (!item) {
+ DEBUG_TRACE
+ ("Fail to mp_media_info_group_list_nth_item, index[%d]", index);
+ return NULL;
+ }
+ mp_media_info_group_get_thumbnail_path(item, &thumb_path);
+ if (!thumb_path) {
+ char *shared_path = app_get_shared_resource_path();
+ snprintf(default_thumbnail, 1024, "%s%s/%s", shared_path,
+ "shared_images", DEFAULT_THUMBNAIL);
+ free(shared_path);
+ thumb_path = default_thumbnail;
+ }
+
+ mp_list_item_data_t *item_data = calloc(1, sizeof(mp_list_item_data_t));
+ MP_CHECK_NULL(item_data);
+ item_data->handle = item;
+ item_data->index = index;
+ item_data->group_type = MP_GROUP_NONE;
+ if (g_item_data) {
+ free(g_item_data);
+ }
+ g_item_data = item_data;
+ snprintf(part_name, RECENTLY_ADDED_PART_NAME_MAX_SIZE, "%s%d",
+ "elm.swallow.", (index+1));
+ if (!g_strcmp0(part, part_name)) {
+ Evas_Object *content = NULL;
+ content = elm_layout_add(obj);
+ evas_object_size_hint_align_set(content, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_size_hint_weight_set(content, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ Evas_Object* image = elm_image_add(obj);
+ elm_image_file_set(image, thumb_path, NULL);
+ elm_image_fill_outside_set(image, true);
+ elm_image_resizable_set(image, EINA_TRUE, EINA_TRUE);
+ evas_object_size_hint_align_set(image, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_size_hint_weight_set(image, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ evas_object_show(image);
+ elm_layout_theme_set(content, "layout", "list/B/music.type.1",
+ "default");
+ elm_layout_content_set(content, "elm.swallow.content", image);
+ evas_object_data_set(content, "genlist_obj", list->genlist);
+ elm_object_signal_callback_add(content, "mouse,clicked,1", "*",
+ _mp_artist_list_recently_added_thumbpath_clicked_cb, NULL);
+ return content;
+ }
+ part_name[0] = '\0';
+ snprintf(part_name, RECENTLY_ADDED_PART_NAME_MAX_SIZE, "%s%d%s", "elm.swallow.", (index+1), ".play");
+ if (!g_strcmp0(part, part_name)) {
+ Evas_Object *content = NULL;
+ content = elm_layout_add(obj);
+ evas_object_size_hint_align_set(content, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_size_hint_weight_set(content, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ char play_thumbnail[1024] = { 0 };
+ char *shared_path = app_get_shared_resource_path();
+ snprintf(play_thumbnail, 1024, "%s%s/%s", shared_path,
+ "shared_images", RECENTLY_ADDED_PLAY_ICON);
+ free(shared_path);
+ Evas_Object* image = elm_image_add(obj);
+ elm_image_file_set(image, play_thumbnail, NULL);
+ elm_image_resizable_set(image, EINA_TRUE, EINA_TRUE);
+ evas_object_size_hint_align_set(image, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_size_hint_weight_set(image, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ evas_object_show(image);
+ elm_layout_theme_set(content, "layout", "list/B/music.type.3",
+ "default");
+ elm_layout_content_set(content, "elm.swallow.content", image);
+ evas_object_data_set(content, "genlist_obj", list->genlist);
+ elm_object_signal_callback_add(content, "mouse,clicked,1", "*",
+ _mp_artist_list_recently_added_play_icon_clicked_cb, item_data);
+ return content;
+ }
+ }
+ return NULL;
+}
+
+static Elm_Object_Item *_mp_artist_list_append_group_index(void *thiz)
+{
+ startfunc;
+ MpArtistList_t *list = thiz;
+ MP_CHECK_NULL(list);
+ MP_CHECK_NULL(list->recently_added_genlist);
+
+ Elm_Object_Item *group_index = NULL;
+ mp_list_item_data_t *item_data =
+ mp_list_item_data_create(MP_LIST_ITEM_TYPE_GROUP_TITLE);
+ MP_CHECK_NULL(item_data);
+ item_data->it =
+ elm_genlist_item_append(list->recently_added_genlist, list->itc_group_index_recently_added, item_data,
+ NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ group_index = item_data->it;
+ elm_genlist_item_select_mode_set(group_index,
+ ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+
+ return group_index;
+}
+
+static void _mp_artist_list_append_recently_added(void *thiz, mp_media_list_h svc_handle)
+{
+ startfunc;
+ MpArtistList_t *list = thiz;
+ MP_CHECK(list);
+ MP_CHECK(list->recently_added_genlist);
+
+ elm_genlist_item_append(list->recently_added_genlist, list->itc_genlist_recently_added, svc_handle,
+ NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+}
+
+static void mp_artist_list_show_recently_added_tracks(void *thiz)
+{
+ startfunc;
+ MP_CHECK(thiz);
+ MpArtistList_t *list = thiz;
+ int count = 0, res = 0;
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ if (!list->itc_group_index_recently_added) {
+ list->itc_group_index_recently_added = elm_genlist_item_class_new();
+ MP_CHECK(list->itc_group_index_recently_added);
+ list->itc_group_index_recently_added->item_style = "group_index";
+ list->itc_group_index_recently_added->func.text_get =
+ _mp_artist_list_group_index_recently_added_text_get;
+ list->itc_group_index_recently_added->func.content_get =
+ NULL;
+ list->itc_group_index_recently_added->func.del =
+ _mp_artist_list_recently_added_del_cb;
+ }
+
+ _mp_artist_list_append_group_index(list);
+
+ if (!list->itc_genlist_recently_added) {
+ list->itc_genlist_recently_added = elm_genlist_item_class_new();
+ MP_CHECK(list->itc_genlist_recently_added);
+ list->itc_genlist_recently_added->item_style = "recently_added";
+ list->itc_genlist_recently_added->func.text_get =
+ _mp_artist_list_recently_added_text_get;
+ list->itc_genlist_recently_added->func.content_get =
+ _mp_artist_list_recently_added_content_get;
+ list->itc_genlist_recently_added->func.del =
+ _mp_artist_list_recently_added_del_cb;
+ }
+
+ mp_media_list_h svc_handle = NULL;
+
+ list->track_type = MP_TRACK_BY_ADDED_TIME;
+ list->playlist_id = 0;
+
+ PROFILE_IN("mp_media_info_group_list_count");
+ res =
+ mp_media_info_group_list_count(MP_GROUP_BY_ARTIST, NULL,
+ list->filter_str, &count);
+ PROFILE_OUT("mp_media_info_group_list_count");
+ MP_CHECK(res == 0);
+ list->artist_list_count = count;
+
+ PROFILE_IN("mp_media_info_group_list_create");
+ res =
+ mp_media_info_group_list_create(&svc_handle, MP_GROUP_BY_ARTIST,
+ list->type_str, list->filter_str,
+ 0, count);
+ PROFILE_OUT("mp_media_info_group_list_create");
+ MP_CHECK(svc_handle);
+
+ PROFILE_IN("_mp_artist_list_append_recently_added");
+ _mp_artist_list_append_recently_added(list, svc_handle);
+ PROFILE_OUT("_mp_artist_list_append_recently_added");
+}
+
+void _mp_artist_list_update(void *thiz)
+{
+ startfunc;
+ int count = 0, res = 0;
+ MpArtistList_t *list = thiz;
+ MP_CHECK(list);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ res =
+ mp_media_info_group_list_count(MP_GROUP_BY_ARTIST, NULL,
+ list->filter_str, &count);
+ MP_CHECK(res == 0);
+
+ mp_list_free_checked_path_list(list->checked_path_list);
+ list->checked_path_list =
+ mp_list_get_checked_path_list((MpList_t *) list);
+
+ mp_evas_object_del(list->genlist);
+ mp_evas_object_del(list->no_content);
+
+ if (count) {
+ // Place Recently Added Grid View only when there are some items in genlist
+ if (ad->recentlyAddedGridView) {
+ mp_artist_list_initialize_recently_added(list);
+ }
+
+ /*create new genlist */
+ if (list->display_mode == MP_LIST_DISPLAY_MODE_THUMBNAIL) {
+ _mp_artist_list_gengrid_create(list);
+ } else {
+ _mp_artist_list_genlist_create(list);
+ }
+
+ evas_object_data_set(list->genlist, "list_handle", list);
+
+ if (!list->edit_mode) {
+ if (ad->recentlyAddedGridView) {
+ mp_artist_list_show_recently_added_tracks(list);
+ ad->recentlyAddedGridView = false;
+ }
+ mp_list_bottom_counter_item_append((MpList_t *) list);
+ }
+
+ /* load list */
+ _mp_artist_list_load_list(thiz, count);
+ list->show_fastscroll(list);
+ } else {
+ list->no_content =
+ mp_widget_create_no_contents(list->box, MP_NOCONTENT_ARTISTS,
+ NULL, list);
+ list->hide_fastscroll(list);
+
+ elm_box_pack_end(list->box, list->no_content);
+ }
+
+}
+
+void _mp_artist_list_rotate(void *thiz)
+{
+ MpArtistList_t *list = thiz;
+ if (mp_list_get_display_mode((MpList_t *) list) ==
+ MP_LIST_DISPLAY_MODE_THUMBNAIL) {
+ _mp_artist_list_set_grid_style(list);
+ }
+ if (list->genlist) {
+ elm_genlist_realized_items_update(list->genlist);
+ }
+}
+
+static const char *_get_label(void *thiz, void *event_info)
+{
+ MpArtistList_t *list = thiz;
+ MP_CHECK_NULL(list);
+ char *title = NULL;
+
+ mp_list_item_data_t *artist = elm_object_item_data_get(event_info);
+ MP_CHECK_NULL(artist);
+
+ mp_media_info_group_get_main_info(artist->handle, &title);
+ return title;
+}
+
+static char *_mp_artist_list_bottom_counter_text_cb(void *thiz)
+{
+ MpArtistList_t *list = thiz;
+ MP_CHECK_NULL(list);
+
+ unsigned int count =
+ mp_list_get_editable_count((MpList_t *) list,
+ mp_list_get_edit_type((MpList_t *)
+ list));
+
+ char *text = NULL;
+ if (count == 1) {
+ text = g_strdup(GET_STR(STR_MP_1_ARTIST));
+ } else {
+ text = g_strdup_printf(GET_STR(STR_MP_PD_ARTISTS), count);
+ }
+
+ return text;
+}
+
+static void _mp_artist_list_set_edit(void *thiz, bool edit)
+{
+ startfunc;
+ MpArtistList_t *list = thiz;
+ MP_CHECK(list);
+
+ mp_artist_list_show_group_index(list, false);
+
+ if (list->set_edit_default) {
+ list->set_edit_default(list, edit);
+ }
+}
+
+static unsigned int
+_mp_artist_list_get_count(void *thiz, MpListEditType_e type)
+{
+ MpArtistList_t *list = thiz;
+ MP_CHECK_VAL(list->genlist, 0);
+
+ int count =
+ MP_LIST_OBJ_IS_GENGRID(list->
+ genlist) ? elm_gengrid_items_count(list->
+ genlist)
+ : elm_genlist_items_count(list->genlist);
+
+ if (list->group_it) { /*group index */
+ --count;
+ }
+
+ if (list->bottom_counter_item) {
+ --count;
+ }
+
+ return count;
+}
+
+MpArtistList_t *mp_artist_list_create(Evas_Object * parent)
+{
+ eventfunc;
+ MP_CHECK_NULL(parent);
+
+ MpArtistList_t *list = calloc(1, sizeof(MpArtistList_t));
+ MP_CHECK_NULL(list);
+
+ mp_list_init((MpList_t *) list, parent, MP_LIST_TYPE_GROUP);
+
+ list->update = _mp_artist_list_update;
+ list->destory_cb = _mp_artist_list_destory_cb;
+ list->get_group_type = _mp_artist_list_get_group_type;
+ list->rotate = _mp_artist_list_rotate;
+ list->get_label = _get_label;
+
+ list->display_mode_changable = true;
+
+ list->bottom_counter_text_get_cb =
+ _mp_artist_list_bottom_counter_text_cb;
+
+ list->set_edit_default = list->set_edit;
+ list->set_edit = _mp_artist_list_set_edit;
+ list->get_count = _mp_artist_list_get_count;
+
+ endfunc;
+ return list;
+}
+
+void mp_artist_list_set_data(MpArtistList_t * list, ...)
+{
+ startfunc;
+ MP_CHECK(list);
+
+ va_list var_args;
+ int field;
+
+ va_start(var_args, list);
+ do {
+ field = va_arg(var_args, int);
+
+ switch (field) {
+ case MP_ARTIST_LIST_TYPE:{
+ int val = va_arg((var_args), int);
+
+ list->group_type = val;
+ DEBUG_TRACE("list->group_type = %d", list->group_type);
+ break;
+ }
+
+ case MP_ARTIST_LIST_FUNC:{
+ int val = va_arg((var_args), int);
+
+ list->function_type = val;
+ DEBUG_TRACE("list->function_type = %d",
+ list->function_type);
+ break;
+ }
+
+ case MP_ARTIST_LIST_TYPE_STR:{
+ char *val = va_arg((var_args), char *);
+ SAFE_FREE(list->type_str);
+ list->type_str = g_strdup(val);
+ DEBUG_TRACE("list->type_str = %s", list->type_str);
+
+ break;
+ }
+ case MP_ARTIST_LIST_FILTER_STR:{
+ char *val = va_arg((var_args), char *);
+ SAFE_FREE(list->filter_str);
+ list->filter_str = g_strdup(val);
+ DEBUG_TRACE("list->filter_str = %s", list->filter_str);
+
+ break;
+ }
+
+ case MP_ARTIST_LIST_DISPLAY_MODE:{
+ int val = va_arg((var_args), int);
+ list->display_mode = val;
+ DEBUG_TRACE("list->display_mode = %d", list->display_mode);
+ break;
+ }
+
+ default:
+ DEBUG_TRACE("Invalid arguments");
+ }
+
+ } while (field >= 0);
+
+ va_end(var_args);
+}
+
+void mp_artist_list_copy_data(MpArtistList_t * src, MpArtistList_t * dest)
+{
+ MP_CHECK(src);
+ MP_CHECK(dest);
+
+ dest->group_type = src->group_type;
+ dest->function_type = src->function_type;
+ SAFE_FREE(dest->type_str);
+ dest->type_str = g_strdup(src->type_str);
+ SAFE_FREE(dest->filter_str);
+ dest->filter_str = g_strdup(src->filter_str);
+ dest->display_mode = src->display_mode;
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include "mp-ctxpopup.h"
+#include <bundle.h>
+#include <stdio.h>
+#include "music.h"
+#include "mp-menu.h"
+#include "mp-item.h"
+#include "mp-player-debug.h"
+#include "mp-playlist-mgr.h"
+#include "mp-common.h"
+#include <sound_manager.h>
+#include "mp-util.h"
+
+#include "mp-widget.h"
+
+static void _dismissed_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ DEBUG_TRACE("");
+
+ MP_CHECK(data);
+
+ evas_object_del(data);
+ evas_object_smart_callback_del(data, "dismissed", _dismissed_cb);
+}
+
+static void _move_ctxpopup(Evas_Object * ctxpopup, Evas_Object * btn)
+{
+ DEBUG_TRACE("");
+
+ Evas_Coord x, y, w, h;
+ evas_object_geometry_get(btn, &x, &y, &w, &h);
+ evas_object_move(ctxpopup, x + (w / 2), y + (h / 2));
+}
+
+Evas_Object *_mp_ctxpopup_pv_share_create(Evas_Object * parent,
+ void *user_data,
+ struct appdata *ad)
+{
+ DEBUG_TRACE("");
+
+ MP_CHECK_NULL(ad);
+ MP_CHECK_NULL(parent);
+
+ Evas_Object *popup = elm_ctxpopup_add(GET_WINDOW());
+ evas_object_smart_callback_add(popup, "dismissed", _dismissed_cb,
+ popup);
+ elm_ctxpopup_direction_priority_set(popup, ELM_CTXPOPUP_DIRECTION_DOWN,
+ ELM_CTXPOPUP_DIRECTION_LEFT,
+ ELM_CTXPOPUP_DIRECTION_UP,
+ ELM_CTXPOPUP_DIRECTION_RIGHT);
+
+#ifndef MP_FEATURE_DISABLE_MMS
+ mp_util_ctxpopup_item_append(popup, "IDS_COM_BODY_MESSAGE", NULL,
+ mp_menu_ctxpopup_share_select_cb,
+ user_data);
+#endif
+ mp_util_ctxpopup_item_append(popup, "IDS_COM_BODY_EMAIL", NULL,
+ mp_menu_ctxpopup_share_select_cb,
+ user_data);
+ mp_util_ctxpopup_item_append(popup, "IDS_COM_BODY_BLUETOOTH", NULL,
+ mp_menu_ctxpopup_share_select_cb,
+ user_data);
+ _move_ctxpopup(popup, parent);
+ evas_object_show(popup);
+
+ return popup;
+}
+
+Evas_Object *_mp_ctxpopup_list_share_create(Evas_Object * parent,
+ void *user_data,
+ struct appdata * ad)
+{
+ DEBUG_TRACE("");
+
+ MP_CHECK_NULL(ad);
+ MP_CHECK_NULL(parent);
+
+ Evas_Object *popup = elm_ctxpopup_add(GET_WINDOW());
+ evas_object_smart_callback_add(popup, "dismissed", _dismissed_cb,
+ popup);
+ elm_ctxpopup_direction_priority_set(popup, ELM_CTXPOPUP_DIRECTION_DOWN,
+ ELM_CTXPOPUP_DIRECTION_LEFT,
+ ELM_CTXPOPUP_DIRECTION_UP,
+ ELM_CTXPOPUP_DIRECTION_RIGHT);
+
+ mp_util_ctxpopup_item_append(popup, "IDS_COM_BODY_BLUETOOTH", NULL,
+ mp_menu_ctxpopup_share_select_cb,
+ user_data);
+ mp_util_ctxpopup_item_append(popup, "IDS_COM_BODY_EMAIL", NULL,
+ mp_menu_ctxpopup_share_select_cb,
+ user_data);
+#ifndef MP_FEATURE_DISABLE_MMS
+ mp_util_ctxpopup_item_append(popup, "IDS_COM_BODY_MESSAGE", NULL,
+ mp_menu_ctxpopup_share_select_cb,
+ user_data);
+#endif
+ _move_ctxpopup(popup, parent);
+ evas_object_show(popup);
+
+ return popup;
+}
+
+void mp_ctxpopup_destroy(Evas_Object * popup)
+{
+ mp_evas_object_del(popup);
+}
+
+void mp_ctxpopup_clear(Evas_Object * popup)
+{
+ DEBUG_TRACE("");
+
+ MP_CHECK(popup);
+ elm_ctxpopup_clear(popup);
+}
+
+Evas_Object *mp_ctxpopup_create(Evas_Object * parent, int type,
+ void *user_data, void *ad)
+{
+ DEBUG_TRACE("");
+
+ MP_CHECK_NULL(parent);
+ MP_CHECK_NULL(ad);
+
+ Evas_Object *popup = NULL;
+
+ switch (type) {
+ case MP_CTXPOPUP_PV_SHARE:
+ popup = _mp_ctxpopup_pv_share_create(parent, user_data, ad);
+ break;
+ case MP_CTXPOPUP_LIST_SHARE:
+ popup = _mp_ctxpopup_list_share_create(parent, user_data, ad);
+ break;
+ default:
+ break;
+ }
+
+ return popup;
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include "mp-edit-playlist.h"
+#include "mp-widget.h"
+#include "mp-util.h"
+#include "mp-edit-callback.h"
+#include "mp-add-track-view.h"
+#include "mp-common.h"
+#include "mp-playlist-detail-view.h"
+#include <efl_extension.h>
+
+typedef struct _Item_Data {
+ Elm_Object_Item *item;
+ int dial;
+ int title;
+ Mp_Playlist_Data *mp_playlist_data;
+} Item_Data;
+
+#define mp_edit_popup_set_popup_data(obj, data) evas_object_data_set((obj), "popup_data", (data))
+
+static void
+mp_edit_playlist_rename_done_cb(void *data, Evas_Object * obj,
+ void *event_info);
+
+static void _mp_edit_playlist_destory(void *thiz)
+{
+ eventfunc;
+ Mp_Playlist_Data *mp_playlist_data = thiz;
+ MP_CHECK(mp_playlist_data);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ // TODO: release resource..
+ IF_FREE(mp_playlist_data->adding_media_id);
+
+ mp_evas_object_del(mp_playlist_data->popup);
+ IF_FREE(mp_playlist_data->name);
+ mp_ecore_timer_del(mp_playlist_data->entry_show_timer);
+ mp_ecore_idler_del(mp_playlist_data->set_line_end_idler);
+
+ free(mp_playlist_data);
+}
+
+static void
+_mp_edit_playlist_create_new_done_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ eventfunc;
+ Mp_Playlist_Data *mp_playlist_data = data;
+ IF_FREE(mp_playlist_data->oldname);
+
+ int plst_uid = -1;
+ char *converted_name = NULL;
+ const char *name =
+ elm_entry_entry_get(mp_playlist_data->editfiled_entry);
+
+ if (name == NULL || strlen(name) == 0) {
+ name =
+ elm_object_part_text_get(mp_playlist_data->editfiled_entry,
+ "elm.guide");
+ }
+ converted_name = elm_entry_markup_to_utf8(name);
+
+ struct appdata *ad = mp_util_get_appdata();
+ mp_playlist_h playlist = NULL;
+ plst_uid = mp_util_create_playlist(ad, converted_name, &playlist);
+ if (plst_uid < 0) {
+ mp_media_info_playlist_handle_destroy(playlist);
+ IF_FREE(converted_name);
+ MpView_t *view = mp_view_mgr_get_view(GET_VIEW_MGR, MP_VIEW_EDIT);
+ if (view) {
+ mp_view_update_options(view);
+ }
+ elm_object_focus_set(mp_playlist_data->editfiled_entry, EINA_TRUE);
+
+ return;
+ }
+
+ if (mp_playlist_data->adding_list) {
+ WARN_TRACE("adding list = %p", mp_playlist_data->adding_list);
+ mp_edit_cb_excute_add_to_playlist(mp_playlist_data->adding_list,
+ plst_uid, converted_name,
+ mp_playlist_data->
+ add_to_selected);
+ goto END;
+ }
+
+ if (mp_playlist_data->adding_media_id) {
+ mp_media_info_h media_info = NULL;
+ char *path = NULL;
+ mp_media_info_create(&media_info,
+ mp_playlist_data->adding_media_id);
+ mp_media_info_get_thumbnail_path(media_info, &path);
+ if (mp_media_info_playlist_add_item
+ (playlist, mp_playlist_data->adding_media_id, path) == 0) {
+ mp_media_info_playlist_db_update(playlist);
+ }
+ mp_media_info_destroy(media_info);
+ }
+
+ //create playlist view
+ MpViewMgr_t *view_mgr = mp_view_mgr_get_view_manager();
+
+ MpPlaylistDetailView_t *view_plst_detail =
+ mp_playlist_detail_view_create(view_mgr->navi,
+ MP_TRACK_BY_PLAYLIST,
+ converted_name, plst_uid);
+ mp_view_mgr_push_view(view_mgr, (MpView_t *) view_plst_detail, NULL);
+
+ /*post event to update all-view in playlist detail view transition finished
+ A.push playlist detail view will give the zoom out effect
+ B.update all view will delete the gengrid and create new
+ since zoom out will cover the screen little by little,
+ there will give a phase of all view is blank which is called blink
+ temparory remove back key callback, to avoid quick back which transaction is not done case
+ back key callback will be added in playlist detail view transaction finished event handle routine
+ */
+ eext_object_event_callback_del(view_mgr->navi, EEXT_CALLBACK_BACK,
+ eext_naviframe_back_cb);
+
+ mp_view_update_options((MpView_t *) view_plst_detail);
+ mp_view_set_title((MpView_t *) view_plst_detail, converted_name);
+
+ END:
+
+ mp_media_info_playlist_handle_destroy(playlist);
+ IF_FREE(converted_name);
+
+ _mp_edit_playlist_destory(mp_playlist_data);
+}
+
+static void _mp_edit_playlist_entry_eraser_clicked_cb(void *data, Evas_Object * obj, const char *emission, const char *source) // When X marked button is clicked, empty entry's contents.
+{
+ eventfunc;
+
+ Evas_Object *entry = (Evas_Object *) data;
+ MP_CHECK(entry);
+
+ elm_entry_entry_set(entry, "");
+}
+
+static void
+_mp_edit_playlist_entry_eraser_status_set(void *obj, void *data)
+{
+ eventfunc;
+ Mp_Playlist_Data *mp_playlist_data = data;
+ MP_CHECK(mp_playlist_data);
+
+ Evas_Object *editfield = obj;
+ MP_CHECK(editfield);
+
+ if (elm_object_focus_get(editfield)) {
+ if (elm_entry_is_empty(editfield)) {
+ elm_object_signal_emit(editfield, "elm,state,eraser,hide",
+ "elm");
+ if (mp_playlist_data->btn_ok) {
+ elm_object_disabled_set(mp_playlist_data->btn_ok,
+ EINA_TRUE);
+ }
+ } else {
+ elm_object_signal_emit(editfield, "elm,state,eraser,show",
+ "elm");
+ if (mp_playlist_data->btn_ok) {
+ elm_object_disabled_set(mp_playlist_data->btn_ok,
+ EINA_FALSE);
+ }
+ }
+ }
+}
+
+static Eina_Bool _mp_edit_playlist_entry_set_line_end(void *data)
+{
+ Mp_Playlist_Data *mp_playlist_data = data;
+ MP_CHECK_FALSE(mp_playlist_data);
+ MP_CHECK_FALSE(mp_playlist_data->editfiled_entry);
+
+ elm_entry_cursor_line_end_set(mp_playlist_data->editfiled_entry);
+ mp_playlist_data->set_line_end_idler = NULL;
+ mp_playlist_data->set_to_end = false;
+
+ return ECORE_CALLBACK_CANCEL;
+}
+
+static bool __mp_rename_ctrl_check_valid_text(const char *text, int *nLen)
+{
+ if (!text) {
+ return FALSE;
+ }
+ if (text[0] == '.') {
+ ERROR_TRACE("Invalid starting dot character");
+ return FALSE;
+ }
+
+ char invalid_chars[] = { '/', '\\', ':', '*', '?', '"', '<', '>', '|', '\0' };
+ char *ptr = invalid_chars;
+
+ while (*ptr != '\0') {
+ if (strchr(text, (*ptr)) != NULL) {
+ ERROR_TRACE("Invalid text=%s char=%c", text, *ptr);
+ return false;
+ }
+ ++ptr;
+ }
+
+ return true;
+}
+
+static void
+_mp_edit_playlist_entry_changed_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ eventfunc;
+ struct appdata *ad = mp_util_get_appdata();
+
+ Evas_Object *editfield = obj;
+ MP_CHECK(editfield);
+ Mp_Playlist_Data *mp_playlist_data = data;
+
+ char *text = NULL;
+ text = mp_util_isf_get_edited_str(editfield, TRUE);
+
+ if (text) {
+ int length = strlen(text);
+ if (length > 0) {
+ elm_object_signal_emit(mp_playlist_data->layout,
+ "image,enable,1", "*");
+ } else {
+ elm_object_signal_emit(mp_playlist_data->layout,
+ "image,disable,1", "*");
+ }
+ }
+ _mp_edit_playlist_entry_eraser_status_set(editfield, data);
+
+ char *name =
+ (char *) elm_entry_entry_get(mp_playlist_data->editfiled_entry);
+ char *szFileName = elm_entry_markup_to_utf8(name);
+ if (!szFileName) {
+ return;
+ }
+
+ int nDstLen = 0;
+ if (!mp_util_is_playlist_name_valid(szFileName)) {
+ elm_object_disabled_set(mp_playlist_data->btn_ok, TRUE);
+ IF_FREE(text);
+ IF_FREE(szFileName);
+ return;
+ }
+
+ char *popup_txt = "Invalid Character";
+ if (!__mp_rename_ctrl_check_valid_text(szFileName, &nDstLen)) {
+ elm_object_disabled_set(mp_playlist_data->btn_ok, TRUE);
+ if (strlen(szFileName) == 1) {
+ elm_entry_entry_set(mp_playlist_data->editfiled_entry, "");
+ mp_playlist_data->oldname = "";
+ mp_util_post_status_message(ad, popup_txt);
+ IF_FREE(szFileName);
+ IF_FREE(text);
+ return;
+ } else {
+ int position =
+ elm_entry_cursor_pos_get(mp_playlist_data->
+ editfiled_entry);
+ ERROR_TRACE("The cursor position is %d", position);
+ elm_entry_cursor_begin_set(mp_playlist_data->editfiled_entry);
+ elm_entry_entry_set(mp_playlist_data->editfiled_entry,
+ elm_entry_utf8_to_markup(mp_playlist_data->
+ oldname));
+ elm_entry_cursor_begin_set(mp_playlist_data->editfiled_entry);
+ elm_entry_cursor_pos_set(mp_playlist_data->editfiled_entry,
+ position - 1);
+ mp_util_post_status_message(ad, popup_txt);
+ IF_FREE(text);
+ IF_FREE(szFileName);
+ return;
+ }
+ }
+ if (!strlen(szFileName) == 1) {
+ IF_FREE(mp_playlist_data->oldname);
+ }
+ mp_playlist_data->oldname = strdup(szFileName);
+
+ if (mp_playlist_data->type == MP_PLST_RENAME) {
+ if (mp_playlist_data->editfiled_entry != NULL) {
+ IF_FREE(mp_playlist_data->name);
+ mp_playlist_data->name = elm_entry_markup_to_utf8(name);
+ }
+ } else {
+ if (mp_playlist_data->editfiled_entry != NULL) {
+ IF_FREE(mp_playlist_data->new_playlist_name);
+ mp_playlist_data->new_playlist_name =
+ elm_entry_markup_to_utf8(name);
+ }
+ }
+
+ bool exist = false;
+ mp_media_info_playlist_is_exist(text, &exist);
+ elm_entry_input_panel_return_key_disabled_set(editfield, exist);
+
+ if (mp_playlist_data->set_to_end) {
+ mp_ecore_idler_del(mp_playlist_data->set_line_end_idler);
+ mp_playlist_data->set_line_end_idler =
+ ecore_idler_add(_mp_edit_playlist_entry_set_line_end, data);
+ }
+ IF_FREE(szFileName);
+ IF_FREE(text);
+}
+
+static char *_mp_edit_playlist_get_new_playlist_name(void)
+{
+ char unique_name[MP_PLAYLIST_NAME_SIZE] = "\0";
+ int ret = 0;
+ ret =
+ mp_media_info_playlist_unique_name(GET_STR(STR_MP_MY_PLAYLIST),
+ unique_name,
+ MP_PLAYLIST_NAME_SIZE);
+ if (ret == 0) {
+ if (strlen(unique_name) <= 0) {
+ ERROR_TRACE("playlist name is NULL");
+ return NULL;
+ } else {
+ return g_strdup(unique_name);
+ }
+ } else {
+ ERROR_TRACE
+ ("fail to mp_media_info_playlist_unique_name() : error code [%x] ",
+ ret);
+ return NULL;
+ }
+
+ return NULL;
+}
+
+static void _mp_edit_playlist_entry_focused_cb(void *data, Evas_Object * obj, void *event_info) // Focused callback will show X marked button and hide rename icon.
+{
+ eventfunc;
+
+ Evas_Object *editfield = obj;
+ MP_CHECK(editfield);
+
+ Mp_Playlist_Data *mp_playlist_data = data;
+ MP_CHECK(mp_playlist_data);
+
+ _mp_edit_playlist_entry_eraser_status_set(editfield, data);
+
+ if (mp_playlist_data->type == MP_PLST_RENAME) {
+ elm_object_signal_emit(editfield, "elm,state,eraser,hide", "elm");
+ elm_entry_cursor_end_set(mp_playlist_data->editfiled_entry);
+ }
+}
+
+static void _mp_edit_playlist_entry_unfocused_cb(void *data, Evas_Object * obj, void *event_info) // Unfocused callback will show rename icon and hide X marked button.
+{
+ eventfunc;
+
+ Evas_Object *editfield = obj;
+ MP_CHECK(editfield);
+
+ elm_object_signal_emit(editfield, "elm,state,eraser,hide", "elm");
+}
+
+static void
+_mp_create_plst_entry_maxlength_reached_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ eventfunc;
+ mp_popup_max_length(obj, STR_NH_COM_POPUP_CHARACTERS_MAXNUM_REACHED);
+}
+
+static void
+_mp_search_edit_cancel_button_clicked(void *data, Evas_Object * o,
+ const char *emission,
+ const char *source)
+{
+ Evas_Object *en = (Evas_Object *) data;
+ elm_object_text_set(en, "");
+}
+
+Evas_Object *_mp_edit_playlist_create_editfield(void *thiz)
+{
+ startfunc;
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_NULL(ad);
+
+ Mp_Playlist_Data *mp_playlist_data = (Mp_Playlist_Data *) thiz;
+ MP_CHECK_NULL(mp_playlist_data);
+ MP_CHECK_NULL(mp_playlist_data->popup);
+
+ mp_playlist_data->set_to_end = true;
+
+ Evas_Object *entry = elm_entry_add(mp_playlist_data->layout);
+ MP_CHECK_NULL(entry);
+ elm_entry_scrollable_set(entry, EINA_TRUE);
+ elm_scroller_policy_set(entry, ELM_SCROLLER_POLICY_OFF,
+ ELM_SCROLLER_POLICY_AUTO);
+ elm_entry_single_line_set(entry, EINA_TRUE);
+
+ elm_entry_cnp_mode_set(entry, ELM_CNP_MODE_PLAINTEXT);
+ elm_entry_input_panel_layout_set(entry, ELM_INPUT_PANEL_LAYOUT_NORMAL);
+ elm_entry_editable_set(entry, TRUE);
+ elm_entry_input_panel_return_key_type_set(entry,
+ ELM_INPUT_PANEL_RETURN_KEY_TYPE_DONE);
+ elm_entry_input_panel_return_key_disabled_set(entry, EINA_FALSE);
+
+ evas_object_smart_callback_add(entry, "changed",
+ _mp_edit_playlist_entry_changed_cb,
+ mp_playlist_data);
+ evas_object_smart_callback_add(entry, "preedit,changed",
+ _mp_edit_playlist_entry_changed_cb,
+ mp_playlist_data);
+ evas_object_smart_callback_add(entry, "focused",
+ _mp_edit_playlist_entry_focused_cb,
+ mp_playlist_data);
+ evas_object_smart_callback_add(entry, "unfocused",
+ _mp_edit_playlist_entry_unfocused_cb,
+ mp_playlist_data);
+
+ static Elm_Entry_Filter_Limit_Size limit_filter_data;
+ limit_filter_data.max_char_count = MP_PLAYLIST_NAME_SIZE;
+ limit_filter_data.max_byte_count = 0;
+ elm_entry_markup_filter_append(entry, elm_entry_filter_limit_size,
+ &limit_filter_data);
+ evas_object_smart_callback_add(entry, "maxlength,reached",
+ _mp_create_plst_entry_maxlength_reached_cb,
+ mp_playlist_data);
+ edje_object_signal_callback_add(_EDJ(mp_playlist_data->layout),
+ "elm,action,click", "cancel_image",
+ _mp_search_edit_cancel_button_clicked,
+ entry);
+ evas_object_show(entry);
+
+ if (mp_playlist_data->new_playlist_name
+ && (mp_playlist_data->type != MP_PLST_RENAME)) {
+ char *text =
+ elm_entry_utf8_to_markup(mp_playlist_data->new_playlist_name);
+ elm_entry_entry_set(entry, text);
+ IF_FREE(text);
+ elm_entry_cursor_end_set(entry);
+ }
+
+ if (mp_playlist_data->type == MP_PLST_RENAME) {
+ evas_object_smart_callback_add(entry, "activated",
+ mp_edit_playlist_rename_done_cb,
+ mp_playlist_data);
+ char *name = NULL;
+ mp_media_info_group_get_main_info(mp_playlist_data->
+ playlist_handle, &name);
+
+ IF_FREE(mp_playlist_data->name);
+ mp_playlist_data->name = g_strdup(name);
+ if (mp_playlist_data->name) {
+ char *text = elm_entry_utf8_to_markup(mp_playlist_data->name);
+ elm_entry_entry_set(entry, text);
+ IF_FREE(text);
+ elm_entry_cursor_end_set(entry);
+ }
+ } else {
+ evas_object_smart_callback_add(entry, "activated",
+ _mp_edit_playlist_create_new_done_cb,
+ mp_playlist_data);
+ }
+
+ elm_object_signal_callback_add(entry, "elm,eraser,clicked", "elm",
+ _mp_edit_playlist_entry_eraser_clicked_cb,
+ entry);
+
+ return entry;
+}
+
+static void _mp_edit_playlist_cancel_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ eventfunc;
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_POPUP_CANCEL);
+
+ Mp_Playlist_Data *mp_playlist_data = (Mp_Playlist_Data *) data;
+ MP_CHECK(mp_playlist_data);
+ IF_FREE(mp_playlist_data->oldname);
+
+ _mp_edit_playlist_destory(mp_playlist_data);
+}
+
+void mp_edit_playlist_add_to_selected_mode(void *data, bool selected)
+{
+ eventfunc;
+
+ Mp_Playlist_Data *mp_playlist_data = (Mp_Playlist_Data *) data;
+ MP_CHECK(mp_playlist_data);
+
+ mp_playlist_data->add_to_selected = selected;
+}
+
+static Eina_Bool _entry_focus_timer_cb(void *data)
+{
+ Mp_Playlist_Data *mp_playlist_data = data;
+ elm_object_focus_set(mp_playlist_data->editfiled_entry, EINA_TRUE);
+ mp_playlist_data->entry_show_timer = NULL;
+ return false;
+}
+
+void mp_edit_playlist_content_create(void *thiz)
+{
+ startfunc;
+ char *new_playlist_name = NULL;
+ Mp_Playlist_Data *mp_playlist_data = (Mp_Playlist_Data *) thiz;
+ MP_CHECK(mp_playlist_data);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ Evas_Object *layout = NULL;
+ char *btn_str = NULL;
+
+ mp_playlist_data->add_to_selected = true;
+
+ layout = elm_layout_add(mp_playlist_data->popup);
+ char edje_path[1024] = { 0 };
+ char *path = app_get_resource_path();
+
+ MP_CHECK(path);
+ snprintf(edje_path, 1024, "%s%s/%s", path, "edje", PLAY_VIEW_EDJ_NAME);
+
+ elm_layout_file_set(layout, edje_path, "popup_entryview");
+ free(path);
+ evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ elm_object_focus_set(layout, EINA_FALSE);
+
+ mp_playlist_data->layout = layout;
+
+ mp_playlist_data->new_playlist_name =
+ _mp_edit_playlist_get_new_playlist_name();
+ mp_playlist_data->editfiled_entry =
+ _mp_edit_playlist_create_editfield(mp_playlist_data);
+ IF_FREE(new_playlist_name);
+
+ mp_popup_response_callback_set(mp_playlist_data->popup,
+ _mp_edit_playlist_cancel_cb,
+ mp_playlist_data);
+ Evas_Object *btn1 =
+ mp_widget_create_button(mp_playlist_data->popup, "popup",
+ STR_MP_CANCEL, NULL,
+ _mp_edit_playlist_cancel_cb,
+ mp_playlist_data);
+
+ if (mp_playlist_data->type == MP_PLST_CREATE
+ || mp_playlist_data->type == MP_PLST_CREATE_TO_ADD_TRACK) {
+ btn_str = STR_MP_CREATE;
+ } else if (mp_playlist_data->type == MP_PLST_RENAME) {
+ btn_str = STR_MP_RENAME;
+ } else {
+ btn_str = STR_MP_OK;
+ }
+
+ Evas_Object *btn2 =
+ mp_widget_create_button(mp_playlist_data->popup, "popup", btn_str,
+ NULL, NULL, NULL);
+
+ mp_playlist_data->btn_ok = btn2;
+ elm_object_part_content_set(mp_playlist_data->popup, "button1", btn1);
+ elm_object_part_content_set(mp_playlist_data->popup, "button2", btn2);
+
+ elm_object_part_content_set(layout, "elm.swallow.content",
+ mp_playlist_data->editfiled_entry);
+ elm_object_content_set(mp_playlist_data->popup, layout);
+
+ if (mp_playlist_data->type == MP_PLST_RENAME) {
+ evas_object_smart_callback_add(btn2, "clicked",
+ mp_edit_playlist_rename_done_cb,
+ mp_playlist_data);
+ } else {
+ evas_object_smart_callback_add(btn2, "clicked",
+ _mp_edit_playlist_create_new_done_cb,
+ mp_playlist_data);
+ }
+
+ if (mp_playlist_data->editfiled_entry && !ad->popup[MP_POPUP_NOTIFY]) {
+ mp_playlist_data->entry_show_timer =
+ ecore_timer_add(0.1, _entry_focus_timer_cb, mp_playlist_data);
+ }
+
+ return;
+}
+
+static void
+_mp_edit_playlist_popup_timeout_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ startfunc;
+ mp_evas_object_del(obj);
+ Evas_Object *editfiled_entry = (Evas_Object *) data;
+ MP_CHECK(editfiled_entry);
+ elm_entry_cursor_end_set(editfiled_entry);
+ elm_object_focus_set(editfiled_entry, EINA_TRUE);
+ elm_entry_input_panel_show(editfiled_entry);
+}
+
+
+static void
+mp_edit_playlist_rename_done_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ eventfunc;
+ Mp_Playlist_Data *mp_playlist_data = data;
+ MP_CHECK(mp_playlist_data);
+
+ Evas_Object *editfiled_entry = mp_playlist_data->editfiled_entry;
+ MP_CHECK(editfiled_entry);
+
+ char *text = NULL;
+ int ret = -1;
+ mp_media_info_h playlist = mp_playlist_data->playlist_handle;
+ MP_CHECK(playlist);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ text = mp_util_isf_get_edited_str(editfiled_entry, TRUE);
+
+ if (!mp_util_is_playlist_name_valid((char *) text)) {
+ mp_widget_notify_cb_popup(ad,
+ GET_STR
+ ("IDS_MUSIC_POP_UNABLE_RENAME_PLAYLIST"),
+ _mp_edit_playlist_popup_timeout_cb,
+ (void *) editfiled_entry);
+ IF_FREE(text);
+ return;
+ } else {
+ bool exist = false;
+ ret = mp_media_info_playlist_is_exist(text, &exist);
+ if (ret != 0) {
+ ERROR_TRACE("Fail to get playlist count by name: %d", ret);
+ mp_widget_text_popup(ad,
+ GET_STR
+ ("IDS_MUSIC_POP_UNABLE_RENAME_PLAYLIST"));
+ } else if (exist) {
+ char *message = NULL;
+ message =
+ g_strdup_printf(GET_STR(STR_MP_POP_PLAYLIST_EXISTS), text);
+ mp_widget_text_popup(ad, message);
+ IF_FREE(message);
+ mp_edit_playlist_content_create(mp_playlist_data);
+ return;
+ } else {
+ ret = mp_media_info_playlist_rename(playlist, text);
+ if (ret == 0) {
+ mp_debug("mp_media_info_playlist_rename().. OK");
+ MpView_t *create_playlist_detail_view =
+ mp_view_mgr_get_view(GET_VIEW_MGR,
+ MP_VIEW_PLAYLIST_DETAIL);
+ if (create_playlist_detail_view != NULL) {
+ mp_view_set_title(create_playlist_detail_view, text);
+ ((MpPlaylistDetailView_t *)
+ create_playlist_detail_view)->
+ content_set(create_playlist_detail_view);
+ }
+
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_PLAYLIST_RENAMED);
+ }
+ }
+ }
+
+ _mp_edit_playlist_destory(mp_playlist_data);
+
+ IF_FREE(text);
+}
+
+void *mp_edit_playlist_create(mp_plst_operation_type type)
+{
+ eventfunc;
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_NULL(ad);
+
+ Evas_Object *popup = NULL;
+
+ Mp_Playlist_Data *mp_playlist_data =
+ (Mp_Playlist_Data *) calloc(1, sizeof(Mp_Playlist_Data));
+ MP_CHECK_NULL(mp_playlist_data);
+ mp_playlist_data->type = type;
+
+ char *title = NULL;
+ if (type == MP_PLST_CREATE || type == MP_PLST_CREATE_TO_ADD_TRACK) {
+ title = STR_MP_CREATE_PLAYLIST;
+ } else if (type == MP_PLST_RENAME) {
+ title = STR_MP_RENAME;
+ } else if (type == MP_PLST_SAVE_AS) {
+ title = STR_MP_TITLE_SAVE_AS_PLAYLIST;
+ }
+
+ popup = mp_entry_popup_create(title);
+
+ if (!popup) {
+ IF_FREE(mp_playlist_data);
+ ERROR_TRACE("mp_entry_popup_create fail");
+ return NULL;
+ }
+ mp_playlist_data->popup = popup;
+
+ return mp_playlist_data;
+}
+
+int mp_edit_playlist_set_edit_list(Mp_Playlist_Data * mp_playlist_data,
+ MpList_t * adding_list)
+{
+ startfunc;
+ MP_CHECK_VAL(mp_playlist_data, -1);
+ mp_playlist_data->adding_list = adding_list;
+ return 0;
+}
+
+int mp_edit_playlist_set_media_id(Mp_Playlist_Data * mp_playlist_data,
+ const char *adding_media_id)
+{
+ startfunc;
+ MP_CHECK_VAL(mp_playlist_data, -1);
+ mp_playlist_data->adding_media_id = g_strdup(adding_media_id);
+ return 0;
+}
+
+int mp_edit_playlist_set_create_type(Mp_Playlist_Data * mp_playlist_data,
+ mp_plst_create_type_e type)
+{
+ MP_CHECK_VAL(mp_playlist_data, -1);
+ mp_playlist_data->creation_type = type;
+ return 0;
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include <stdio.h>
+
+#include "mp-genre-list.h"
+#include "mp-track-list.h"
+#include "mp-genre-detail-view.h"
+#include "mp-create-playlist-view.h"
+#include "mp-select-track-view.h"
+#include "mp-popup.h"
+/*#include "shortcut.h"*/
+#include "mp-menu.h"
+#include "mp-util.h"
+#include "mp-widget.h"
+#include "mp-common.h"
+
+#define GENRE_GRID_W 175
+#define GENRE_GRID_H 222
+#define GENRE_GRID_LAND_W 179
+#define GENRE_GRID_LAND_H 240
+
+static void
+_mp_genre_select_cb(void *data, Evas_Object * obj, void *event_info);
+
+static char *_mp_genre_list_label_get(void *data, Evas_Object * obj,
+ const char *part)
+{
+ char *name = NULL;
+ int ret = 0;
+
+ mp_list_item_data_t *item = (mp_list_item_data_t *) data;
+ MP_CHECK_NULL(item);
+ mp_media_info_h svc_item = (item->handle);
+
+ mp_retv_if(svc_item == NULL, NULL);
+
+ if (!strcmp(part, "elm.text.main.left")
+ || !strcmp(part, "elm.slide.text.1")
+ || !strcmp(part, "elm.text")) {
+ ret = mp_media_info_group_get_main_info(svc_item, &name);
+ mp_retvm_if((ret != 0), NULL, "Fail to get value");
+ if (!name || !strlen(name)) {
+ name = GET_SYS_STR("IDS_COM_BODY_UNKNOWN");
+ }
+
+ if (!strcmp(part, "elm.text.1")) {
+ return elm_entry_utf8_to_markup(name);
+ } else {
+ return g_strdup(name);
+ }
+
+ }
+ /*
+ else if (!strcmp(part, "elm.text.2"))
+ {
+ int count = 0;
+ char *sub_text = NULL;
+ mp_media_info_group_get_track_count(svc_item, &count);
+
+ if (count == 1)
+ sub_text = g_strdup(GET_STR(STR_MP_1_SONG));
+ else
+ sub_text = g_strdup_printf(GET_STR(STR_MP_PD_SONGS), count);
+
+ return sub_text;
+ } */
+
+ /*DEBUG_TRACE("Unusing part: %s", part); */
+ return NULL;
+}
+
+
+
+Evas_Object *_mp_genre_list_icon_get(void *data, Evas_Object * obj,
+ const char *part)
+{
+ Evas_Object *icon = NULL;
+
+ mp_list_item_data_t *item = (mp_list_item_data_t *) data;
+ MP_CHECK_NULL(item);
+ mp_media_info_h svc_item = (item->handle);
+ mp_retv_if(svc_item == NULL, NULL);
+
+ bool landscape = mp_util_is_landscape();
+
+ Evas_Object *content = NULL;
+ content = elm_layout_add(obj);
+
+ if (!strcmp(part, "elm.icon.1") || !strcmp(part, "elm.swallow.icon")) {
+ char *thumb_name = NULL;
+ mp_media_info_group_get_thumbnail_path(svc_item, &thumb_name);
+ int w, h;
+ if (item->display_mode == MP_LIST_DISPLAY_MODE_THUMBNAIL) {
+ if (landscape) {
+ w = MP_LANDSCAPE_ALBUM_THUMB_ICON_SIZE *
+ elm_config_scale_get();
+ } else {
+ w = MP_ALBUM_THUMB_ICON_SIZE * elm_config_scale_get();
+ }
+ } else {
+ w = MP_LIST_ICON_SIZE;
+ }
+ h = w;
+ icon =
+ mp_util_create_lazy_update_thumb_icon(obj, thumb_name, w, h);
+
+ elm_layout_theme_set(content, "layout", "list/B/type.1",
+ "default");
+ elm_layout_content_set(content, "elm.swallow.content", icon);
+ }
+
+ MpGenreList_t *list = evas_object_data_get(obj, "list_handle");
+ MP_CHECK_NULL(list);
+
+ Evas_Object *check = NULL;
+ DEBUG_TRACE("list->edit_mode = %d", list->edit_mode);
+
+ if (list->edit_mode) { /* if edit mode */
+ if (!strcmp(part, "elm.edit.icon.1") || !strcmp(part, "elm.swallow.end")) { /* swallow checkbox or radio button */
+ check = elm_check_add(obj);
+ if (MP_LIST_OBJ_IS_GENGRID(obj)) {
+ elm_object_style_set(check, "grid");
+ } else {
+ elm_object_style_set(check, "default/genlist");
+ }
+ elm_check_state_pointer_set(check, &item->checked);
+ return check;
+ }
+ }
+ return content;
+}
+
+static void _mp_genre_list_item_del_cb(void *data, Evas_Object * obj)
+{
+ mp_list_item_data_t *item_data = data;
+ MP_CHECK(item_data);
+
+ free(item_data);
+}
+
+static void
+_mp_genre_select_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ eventfunc;
+ MpGenreList_t *list = (MpGenreList_t *) data;
+ MP_CHECK(list);
+ int ret = 0;
+ int index = 0; /*(int)data; */
+ char *name = NULL;
+ char *artist = NULL;
+ char *title = NULL;
+ char *thumbnail = NULL;
+
+ Elm_Object_Item *gli = (Elm_Object_Item *) event_info;
+ MP_CHECK(gli);
+ if (list->display_mode == MP_LIST_DISPLAY_MODE_THUMBNAIL) {
+ elm_gengrid_item_selected_set(gli, EINA_FALSE);
+ } else {
+ elm_genlist_item_selected_set(gli, EINA_FALSE);
+ }
+
+ mp_list_item_data_t *gli_data = elm_object_item_data_get(gli);
+ MP_CHECK(gli_data);
+
+ index = gli_data->index;
+
+ DEBUG_TRACE("index is %d", index);
+ if (index >= 0) {
+ /*item_handle = mp_media_info_group_list_nth_item(gli_data->handle, index); */
+ DEBUG_TRACE("");
+ ret = mp_media_info_group_get_main_info(gli_data->handle, &name);
+ DEBUG_TRACE("");
+ ret = mp_media_info_group_get_sub_info(gli_data->handle, &artist);
+ DEBUG_TRACE("");
+ mp_media_info_group_get_thumbnail_path(gli_data->handle,
+ &thumbnail);
+ DEBUG_TRACE("thumbnail=%s", thumbnail);
+ mp_retm_if(ret != 0, "Fail to get value");
+ mp_retm_if(name == NULL, "Fail to get value");
+
+ title = name;
+ }
+
+
+ if (list->function_type == MP_LIST_FUNC_ADD_TRACK) {
+ MpViewMgr_t *view_manager = mp_view_mgr_get_view_manager();
+ MP_CHECK(view_manager);
+ MpSelectTrackView_t *view_select_track =
+ mp_select_track_view_create(view_manager->navi);
+ MP_CHECK(view_select_track);
+ mp_view_mgr_push_view(view_manager, (MpView_t *) view_select_track,
+ NULL);
+
+ mp_view_set_title((MpView_t *) view_select_track,
+ STR_MP_TILTE_SELECT_ITEM);
+ mp_track_list_set_data((MpTrackList_t *) view_select_track->
+ content_to_show, MP_TRACK_LIST_TYPE,
+ MP_TRACK_BY_GENRE, MP_TRACK_LIST_TYPE_STR,
+ name, -1);
+ mp_list_update(view_select_track->content_to_show);
+ mp_view_update_options((MpView_t *) view_select_track);
+ mp_list_set_edit(view_select_track->content_to_show, TRUE);
+ mp_list_view_set_select_all((MpListView_t *) view_select_track,
+ TRUE);
+ return;
+ }
+
+ if (list->edit_mode) {
+ /*mp_edit_view_genlist_sel_cb(data, obj, event_info); */
+ mp_list_edit_mode_sel((MpList_t *) list, gli_data);
+ MpViewMgr_t *view_mgr = mp_view_mgr_get_view_manager();
+ MpView_t *view = mp_view_mgr_get_top_view(view_mgr);
+ mp_view_update_options_edit(view);
+ return;
+ }
+
+ /* create the view of genre detail */
+
+ MpGenreDetailView_t *view_genre_detail =
+ mp_genre_detail_view_create(GET_NAVIFRAME, name, artist,
+ thumbnail);
+ mp_view_mgr_push_view(GET_VIEW_MGR, (MpView_t *) view_genre_detail,
+ NULL);
+
+ mp_view_update_options((MpView_t *) view_genre_detail);
+ mp_view_set_title((MpView_t *) view_genre_detail, title);
+
+}
+
+void _mp_genre_list_load_list(void *thiz, int count)
+{
+ MpGenreList_t *list = thiz;
+ MP_CHECK(list);
+
+ /*media-svc related */
+ mp_media_list_h svc_handle;
+ gint index = 0;
+ int ret = 0;
+
+ DEBUG_TRACE("count: %d", count);
+
+ if (count < 0) {
+ goto END;
+ }
+
+ if (list->genre_list) {
+ mp_media_info_group_list_destroy(list->genre_list);
+ list->genre_list = NULL;
+ }
+
+ ret =
+ mp_media_info_group_list_create(&list->genre_list,
+ MP_GROUP_BY_GENRE, NULL, NULL, 0,
+ count);
+
+ if (ret != 0) {
+ DEBUG_TRACE("Fail to get items");
+ goto END;
+ }
+
+ svc_handle = list->genre_list;
+
+ for (index = 0; index < count; index++) {
+ mp_media_info_h item = NULL;
+ Elm_Object_Item *list_item = NULL;
+ char *title = NULL;
+
+ item = mp_media_info_group_list_nth_item(svc_handle, index);
+ if (!item) {
+ DEBUG_TRACE
+ ("Fail to mp_media_info_group_list_nth_item, ret[%d], index[%d]",
+ ret, index);
+ goto END;
+ }
+ mp_media_info_group_get_main_info(item, &title);
+
+ mp_list_item_data_t *item_data;
+ item_data = calloc(1, sizeof(mp_list_item_data_t));
+ MP_CHECK(item_data);
+ item_data->handle = item;
+ item_data->index = index;
+ item_data->checked =
+ mp_list_is_in_checked_path_list(list->checked_path_list,
+ title);
+
+ if (MP_LIST_OBJ_IS_GENGRID(list->genlist)) {
+ list_item =
+ elm_gengrid_item_append(list->genlist, list->gengrid_itc,
+ item_data, _mp_genre_select_cb,
+ (void *) list);
+ } else {
+ Elm_Object_Item *parent_group = NULL;
+ list_item =
+ elm_genlist_item_append(list->genlist, list->itc,
+ item_data, parent_group,
+ ELM_GENLIST_ITEM_NONE,
+ _mp_genre_select_cb,
+ (void *) list);
+ }
+ item_data->it = list_item;
+ elm_object_item_data_set(item_data->it, item_data);
+ }
+
+ END:
+ endfunc;
+}
+
+void _mp_genre_list_destory_cb(void *thiz)
+{
+ eventfunc;
+ MpGenreList_t *list = thiz;
+ MP_CHECK(list);
+
+ if (list->genre_list) {
+ mp_media_info_group_list_destroy(list->genre_list);
+ }
+
+
+ if (list->itc) {
+ elm_genlist_item_class_free(list->itc);
+ list->itc = NULL;
+ }
+
+ if (list->gengrid_itc) {
+ elm_gengrid_item_class_free(list->gengrid_itc);
+ list->gengrid_itc = NULL;
+ }
+ mp_list_free_checked_path_list(list->checked_path_list);
+
+ free(list);
+}
+
+static mp_group_type_e _mp_genre_list_get_group_type(void *thiz)
+{
+ MpGenreList_t *list = thiz;
+ MP_CHECK_VAL(list, MP_GROUP_NONE);
+ return MP_GROUP_BY_GENRE;
+}
+
+static void
+_mp_genre_list_item_longpressed_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ startfunc;
+
+ MpGenreList_t *list = (MpGenreList_t *) data;
+ MP_CHECK(list);
+
+ if (list->edit_mode) {
+ return;
+ }
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ Elm_Object_Item *item = event_info;
+ MP_CHECK(item);
+
+ int pop_item_count = 5;
+ char *title = NULL;
+ Evas_Object *popup = NULL;
+ mp_list_item_data_t *item_data = NULL;
+
+ if (list->scroll_drag_status) {
+ return;
+ }
+
+ Elm_Object_Item *temp = NULL;
+ if (MP_LIST_OBJ_IS_GENGRID(list->genlist)) {
+ temp = elm_gengrid_first_item_get(list->genlist);
+ while (temp) {
+ item_data = elm_object_item_data_get(temp);
+ if (!item_data) {
+ continue;
+ }
+ item_data->checked = false;
+ temp = elm_gengrid_item_next_get(temp);
+ }
+ } else {
+ temp = elm_genlist_first_item_get(list->genlist);
+ while (temp) {
+ item_data = elm_object_item_data_get(temp);
+ if (!item_data) {
+ continue;
+ }
+ item_data->checked = false;
+ temp = elm_genlist_item_next_get(temp);
+ }
+ }
+
+ item_data = elm_object_item_data_get(item);
+ MP_CHECK(item_data);
+ item_data->checked = true;
+
+ pop_item_count = 4;
+ mp_media_info_group_get_main_info(item_data->handle, &title);
+
+ popup =
+ mp_genlist_popup_create(obj, MP_POPUP_LIST_LONGPRESSED,
+ &pop_item_count, ad);
+ MP_CHECK(popup);
+
+ char *up_title = g_strdup(title);
+
+ elm_object_part_text_set(popup, "title,text", up_title);
+ IF_FREE(up_title);
+
+ mp_genlist_popup_item_append(popup, STR_MP_PLAY_ALL, NULL, NULL, NULL,
+ mp_common_playall_cb, list);
+
+ mp_genlist_popup_item_append(popup, STR_MP_ADD_TO_PLAYLIST, NULL, NULL,
+ NULL, mp_common_list_add_to_playlist_cb,
+ list);
+
+ mp_genlist_popup_item_append(popup, STR_MP_DELETE, NULL, NULL, NULL,
+ mp_common_list_delete_cb, list);
+
+ if (MP_LIST_OBJ_IS_GENGRID(list->genlist)) {
+ MP_GENGRID_ITEM_LONG_PRESSED(obj, popup, event_info);
+ } else {
+ MP_GENLIST_ITEM_LONG_PRESSED(obj, popup, event_info);
+ }
+}
+
+static void _mp_genre_list_genlist_create(MpGenreList_t * list)
+{
+ MP_CHECK(list);
+
+ /*create new genlist */
+ list->genlist = mp_widget_genlist_create(list->box);
+ MP_CHECK(list->genlist);
+ elm_scroller_policy_set(list->genlist, ELM_SCROLLER_POLICY_OFF,
+ ELM_SCROLLER_POLICY_AUTO);
+ evas_object_size_hint_weight_set(list->genlist, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(list->genlist, EVAS_HINT_FILL,
+ EVAS_HINT_FILL);
+ elm_genlist_homogeneous_set(list->genlist, EINA_TRUE);
+ evas_object_show(list->genlist);
+ /*packet genlist to box */
+ elm_box_pack_end(list->box, list->genlist);
+ /*add long press callback */
+ evas_object_smart_callback_add(list->genlist, "longpressed",
+ _mp_genre_list_item_longpressed_cb,
+ list);
+
+ const char *group_slide_style = "mode/slide";
+ if (!list->itc) {
+ list->itc = elm_genlist_item_class_new();
+ MP_CHECK(list->itc);
+ list->itc->item_style = "1line";
+ list->itc->decorate_all_item_style = "musiclist/edit_default";
+ list->itc->decorate_item_style = group_slide_style;
+ list->itc->func.text_get = _mp_genre_list_label_get;
+ list->itc->func.content_get = _mp_genre_list_icon_get;
+ list->itc->func.del = _mp_genre_list_item_del_cb;
+ }
+
+ endfunc;
+}
+
+static void _mp_genre_list_set_grid_style(MpGenreList_t * list)
+{
+ bool landscape = mp_util_is_landscape();
+
+ MP_CHECK(list->gengrid_itc);
+
+ /*if (landscape)
+ list->gengrid_itc->item_style = "music/artist_grid";
+ else */
+ list->gengrid_itc->item_style = "music/artist_grid";
+
+ double scale = elm_config_scale_get();
+ int w;
+ int h;
+ if (landscape) {
+ w = (int) (GENRE_GRID_LAND_W * scale);
+ h = (int) (GENRE_GRID_LAND_H * scale);
+ } else {
+ w = (int) (GENRE_GRID_W * scale);
+ h = (int) (GENRE_GRID_H * scale);
+ }
+ elm_gengrid_item_size_set(list->genlist, w, h);
+}
+
+static void _mp_genre_list_gengrid_create(MpGenreList_t * list)
+{
+ startfunc;
+ MP_CHECK(list);
+
+ /*create new genlist */
+ mp_evas_object_del(list->genlist);
+
+ list->genlist = elm_gengrid_add(list->box);
+ MP_CHECK(list->genlist);
+ evas_object_size_hint_weight_set(list->genlist, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(list->genlist, EVAS_HINT_FILL,
+ EVAS_HINT_FILL);
+ evas_object_show(list->genlist);
+ MP_LIST_OBJ_SET_AS_GENGRID(list->genlist);
+ /*packet genlist to box */
+ elm_box_pack_end(list->box, list->genlist);
+
+ if (!list->gengrid_itc) {
+ list->gengrid_itc = elm_gengrid_item_class_new();
+ MP_CHECK(list->gengrid_itc);
+ list->gengrid_itc->func.text_get = _mp_genre_list_label_get;
+ list->gengrid_itc->func.content_get = _mp_genre_list_icon_get;
+ list->gengrid_itc->func.del = _mp_genre_list_item_del_cb;
+ }
+ _mp_genre_list_set_grid_style(list);
+
+ elm_gengrid_align_set(list->genlist, 0.5, 0.0);
+ endfunc;
+}
+
+static void _mp_genre_list_update(void *thiz)
+{
+ startfunc;
+ int count = 0, res = 0;
+ MpGenreList_t *list = thiz;
+ MP_CHECK(list);
+
+ res =
+ mp_media_info_group_list_count(MP_GROUP_BY_GENRE, NULL, NULL,
+ &count);
+ MP_CHECK(res == 0);
+
+ mp_list_free_checked_path_list(list->checked_path_list);
+ list->checked_path_list =
+ mp_list_get_checked_path_list((MpList_t *) list);
+
+ mp_evas_object_del(list->genlist);
+ mp_evas_object_del(list->no_content);
+
+ if (count) {
+ if (list->display_mode == MP_LIST_DISPLAY_MODE_THUMBNAIL) {
+ _mp_genre_list_gengrid_create(list);
+ } else {
+ _mp_genre_list_genlist_create(list);
+ }
+
+ evas_object_data_set(list->genlist, "list_handle", list);
+
+ /* load list */
+ _mp_genre_list_load_list(thiz, count);
+
+ /*mp_list_bottom_counter_item_append((MpList_t *)list); */
+ } else {
+ DEBUG_TRACE("count is 0");
+
+ list->no_content =
+ mp_widget_create_no_contents(list->box, MP_NOCONTENT_GENRES,
+ NULL, NULL);
+ elm_box_pack_end(list->box, list->no_content);
+ }
+
+}
+
+void _mp_genre_list_rotate(void *thiz)
+{
+ MpGenreList_t *list = thiz;
+ if (mp_list_get_display_mode((MpList_t *) list) ==
+ MP_LIST_DISPLAY_MODE_THUMBNAIL) {
+ _mp_genre_list_set_grid_style(list);
+ }
+}
+
+static const char *_get_label(void *thiz, void *event_info)
+{
+ MpGenreList_t *list = thiz;
+ MP_CHECK_NULL(list);
+ char *title = NULL;
+
+ mp_list_item_data_t *genre = elm_object_item_data_get(event_info);
+ MP_CHECK_NULL(genre);
+
+ mp_media_info_group_get_main_info(genre->handle, &title);
+ return title;
+}
+
+static char *_mp_genre_list_bottom_counter_text_cb(void *thiz)
+{
+ MpGenreList_t *list = thiz;
+ MP_CHECK_NULL(list);
+
+ unsigned int count =
+ mp_list_get_editable_count((MpList_t *) list,
+ mp_list_get_edit_type((MpList_t *)
+ list));
+
+ char *text = NULL;
+ if (count == 1) {
+ text = g_strdup(GET_STR(STR_MP_1_GENRE));
+ } else {
+ text = g_strdup_printf(GET_STR(STR_MP_PD_GENRE), count);
+ }
+
+ return text;
+}
+
+MpGenreList_t *mp_genre_list_create(Evas_Object * parent)
+{
+ eventfunc;
+ MP_CHECK_NULL(parent);
+
+ MpGenreList_t *list = calloc(1, sizeof(MpGenreList_t));
+ MP_CHECK_NULL(list);
+
+ mp_list_init((MpList_t *) list, parent, MP_LIST_TYPE_GROUP);
+
+ list->update = _mp_genre_list_update;
+ list->destory_cb = _mp_genre_list_destory_cb;
+ list->get_group_type = _mp_genre_list_get_group_type;
+ list->rotate = _mp_genre_list_rotate;
+ list->get_label = _get_label;
+
+ list->display_mode_changable = true;
+ list->bottom_counter_text_get_cb =
+ _mp_genre_list_bottom_counter_text_cb;
+
+ return list;
+}
+
+void mp_genre_list_set_data(MpGenreList_t * list, ...)
+{
+ startfunc;
+ MP_CHECK(list);
+
+ va_list var_args;
+ int field;
+
+ va_start(var_args, list);
+ do {
+ field = va_arg(var_args, int);
+ switch (field) {
+
+ case MP_GENRE_LIST_FUNC:{
+ int val = va_arg((var_args), int);
+
+ list->function_type = val;
+ DEBUG_TRACE("list->function_type = %d",
+ list->function_type);
+ break;
+ }
+ case MP_GENRE_LIST_DISPLAY_MODE:{
+ int val = va_arg((var_args), int);
+ list->display_mode = val;
+ DEBUG_TRACE("list->display_mode = %d", list->display_mode);
+
+ break;
+ }
+
+ default:
+ DEBUG_TRACE("Invalid arguments");
+ }
+
+ } while (field >= 0);
+
+ va_end(var_args);
+}
+
+void mp_genre_list_copy_data(MpGenreList_t * src, MpGenreList_t * dest)
+{
+ MP_CHECK(src);
+ MP_CHECK(dest);
+
+ dest->function_type = src->function_type;
+ dest->display_mode = src->display_mode;
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include "mp-index.h"
+#include "mp-player-debug.h"
+#include "mp-util.h"
+#include <system_settings.h>
+
+typedef struct {
+ char *first;
+
+} MpIndexData_t;
+
+static char *non_latin_lan[] = {
+ "ar_AE.UTF-8",
+ "as_IN.UTF-8",
+ "bg_BG.UTF-8",
+ "bn_IN.UTF-8",
+ "el_GR.UTF-8",
+ "fa_IR.UTF-8",
+ "gu_IN.UTF-8",
+ "he_IL.UTF-8",
+ "hi_IN.UTF-8",
+ "hy_AM.UTF-8",
+ "ja_JP.UTF-8",
+ "ka_GE.UTF-8",
+ "kk_KZ.UTF-8",
+ "km_KH.UTF-8",
+ "kn_IN.UTF-8",
+ "ko_KR.UTF-8",
+ "lo_LA.UTF-8",
+ "mk_MK.UTF-8",
+ "ml_IN.UTF-8",
+ "mn_MN.UTF-8",
+ "mr_IN.UTF-8",
+ "ne_NP.UTF-8",
+ "or_IN.UTF-8",
+ "pa_IN.UTF-8",
+ "ru_RU.UTF-8",
+ "si_LK.UTF-8",
+ "ta_IN.UTF-8",
+ "te_IN.UTF-8",
+ "th_TH.UTF-8",
+ "uk_UA.UTF-8",
+ "ur_PK.UTF-8",
+ "zh_TW.UTF-8",
+ NULL
+};
+
+#define GET_WIDGET_DATA(o) evas_object_data_get(o, "widget_d");
+
+static void
+_index_selected_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ Elm_Object_Item *item = (Elm_Object_Item *) event_info;
+
+ elm_index_item_selected_set(item, EINA_FALSE);
+}
+
+static void
+_mp_index_item_selected_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ const char *index_letter = NULL, *label = NULL;
+ MpList_t *list = data;
+ MP_CHECK(list);
+ Evas_Object *genlist = list->genlist;
+ MP_CHECK(genlist);
+ MP_CHECK(mp_list_get_display_mode(list) ==
+ MP_LIST_DISPLAY_MODE_NORMAL);
+
+ MpIndexData_t *wd = GET_WIDGET_DATA(obj);
+ MP_CHECK(wd);
+
+ index_letter = elm_index_item_letter_get(event_info);
+ MP_CHECK(index_letter);
+
+ Elm_Object_Item *matched = NULL;
+ Elm_Object_Item *closed = NULL;
+
+ Elm_Object_Item *gl_item = elm_genlist_first_item_get(genlist);
+
+ if (!g_strcmp0(index_letter, wd->first)) {
+ DEBUG_TRACE("%s selected", wd->first); //"#" case
+ matched = gl_item;
+ goto END;
+ }
+
+ gunichar uni_index =
+ g_utf8_get_char_validated(index_letter,
+ g_utf8_strlen(index_letter, -1));
+ if (uni_index == (gunichar) - 1 || uni_index == (gunichar) - 2) {
+ DEBUG_TRACE
+ ("failed to convert a sequence of bytes encoded as UTF-8 to a Unicode character.");
+ return;
+ }
+
+ while (gl_item) {
+ gunichar uni = 0;
+ label = mp_list_get_list_item_label(list, gl_item);
+
+ if (label) {
+ char *capital = g_utf8_strup(label, -1);
+ uni = mp_util_get_utf8_initial_value(capital);
+
+ if (uni == uni_index) {
+ matched = gl_item;
+ break;
+ } else if (closed == NULL
+ && (g_unichar_isalpha(uni) || uni > 0x0400)) {
+ /*
+ char first[10] = {0,}, index[10]= {0,};
+ g_unichar_to_utf8(uni, first);
+ g_unichar_to_utf8(uni, index);
+ DEBUG_TRACE("uni[0x%x, %s], uni_index[0x%x, %s]", uni, first, uni_index, index);
+ */
+ if (capital && uni > uni_index) { //move to most close item
+ closed = gl_item;
+ }
+ IF_FREE(capital);
+ }
+ }
+ gl_item = elm_genlist_item_next_get(gl_item);
+ }
+
+ END:
+ if (matched) {
+ elm_genlist_item_show(matched, ELM_GENLIST_ITEM_SCROLLTO_TOP);
+ } else if (closed) {
+ elm_genlist_item_show(closed, ELM_GENLIST_ITEM_SCROLLTO_TOP);
+ }
+}
+
+Eina_Bool ea_locale_latin_get(const char *locale)
+{
+ if (!locale) {
+ return EINA_FALSE;
+ }
+
+ int i = 0;
+
+ while (non_latin_lan[i]) {
+ if (!strcmp(non_latin_lan[i], locale)) {
+ return EINA_FALSE;
+ }
+ i++;
+ }
+ return EINA_TRUE;
+}
+
+
+static void _mp_fastscoller_append_item(void *data, Evas_Object * obj)
+{
+ int i = 0, j, len;
+ char *str = NULL;
+ char buf[PATH_MAX] = { 0, };
+ Eina_Unicode uni;
+ char *locale = NULL;
+ MpList_t *list = (MpList_t *) data;
+ MP_CHECK(obj);
+ elm_index_item_clear(obj);
+
+ MpIndexData_t *wd = GET_WIDGET_DATA(obj);
+ MP_CHECK(wd);
+ //1. Special character & Numbers
+ elm_index_item_append(obj, "#", _mp_index_item_selected_cb, list);
+ if (!wd->first) {
+ wd->first = g_strdup("#");
+ }
+ //2. Local language
+ str =
+ dgettext("efl-extension",
+ "IDS_EA_BODY_ABCDEFGHIJKLMNOPQRSTUVWXYZ");
+ MP_CHECK(str);
+ len = strlen(str);
+ if (len == 0) {
+ return;
+ }
+ while (i < len) {
+ j = i;
+ uni = eina_unicode_utf8_next_get(str, &i);
+ MP_CHECK(uni);
+ snprintf(buf, i - j + 1, "%s", str + j);
+ buf[i - j + 1] = 0;
+
+ elm_index_item_append(obj, buf, _mp_index_item_selected_cb, list);
+ //elm_index_item_priority_set(it, 0);
+ }
+
+ //3. English - in case of non-latin
+ int retcode =
+ system_settings_get_value_string
+ (SYSTEM_SETTINGS_KEY_LOCALE_LANGUAGE, &locale);
+ if (retcode != SYSTEM_SETTINGS_ERROR_NONE) {
+ ERROR_TRACE
+ ("Unable to fetch the current language setting with return value %d",
+ retcode);
+ }
+ MP_CHECK(locale);
+ if (!ea_locale_latin_get(locale)) {
+ str =
+ dgettext("efl-extension",
+ "IDS_EA_BODY_ABCDEFGHIJKLMNOPQRSTUVWXYZ_SECOND");
+ MP_CHECK(str);
+ len = strlen(str);
+
+ i = 0;
+ while (i < len) {
+ j = i;
+ uni = eina_unicode_utf8_next_get(str, &i);
+ MP_CHECK(uni);
+ snprintf(buf, i - j + 1, "%s", str + j);
+ buf[i - j + 1] = 0;
+
+ elm_index_item_append(obj, buf, _mp_index_item_selected_cb,
+ list);
+ //elm_index_item_priority_set(it, 1);
+ }
+
+ setlocale(LC_MESSAGES, locale);
+ }
+ IF_FREE(locale);
+
+}
+
+static void _append_item(Evas_Object * index, MpList_t * list)
+{
+ _mp_fastscoller_append_item((void *) list, index);
+ evas_object_smart_callback_add(index, "changed",
+ _mp_index_item_selected_cb, list);
+ evas_object_smart_callback_add(index, "selected", _index_selected_cb,
+ NULL);
+}
+
+static Evas_Object *_create_fastscroll(Evas_Object * parent)
+{
+ Evas_Object *index;
+ index = elm_index_add(parent);
+ elm_index_omit_enabled_set(index, EINA_TRUE);
+ return index;
+}
+
+static void
+_widget_del_cb(void *data, Evas * e, Evas_Object * obj, void *event_info)
+{
+ startfunc;
+ MpIndexData_t *wd = data;
+ MP_CHECK(wd);
+ IF_G_FREE(wd->first);
+ IF_FREE(wd);
+}
+
+void _language_changed(void *data, Evas_Object * obj, void *event_info)
+{
+ MP_CHECK(data);
+ MP_CHECK(obj);
+ _mp_fastscoller_append_item(data, obj);
+ elm_index_level_go(obj, 0);
+ evas_object_smart_callback_add(obj, "changed",
+ _mp_index_item_selected_cb,
+ (MpList_t *) data);
+ evas_object_smart_callback_add(obj, "selected", _index_selected_cb,
+ NULL);
+}
+
+Evas_Object *mp_index_create(Evas_Object * parent, int group_type,
+ void *data)
+{
+ Evas_Object *index = NULL;
+ MpIndexData_t *wd = NULL;
+ MpList_t *list = (MpList_t *) data;
+ MP_CHECK_NULL(list);
+ // Create index
+ index = _create_fastscroll(parent);
+ elm_index_autohide_disabled_set(index, EINA_TRUE);
+
+ wd = calloc(1, sizeof(MpIndexData_t));
+ if (!wd) {
+ ERROR_TRACE("Error: memory alloc failed");
+ evas_object_del(index);
+ return NULL;
+ }
+
+ evas_object_data_set(index, "widget_d", wd);
+
+ evas_object_event_callback_add(index, EVAS_CALLBACK_FREE,
+ _widget_del_cb, wd);
+ //language change the fast scroll language will change too
+ evas_object_smart_callback_add(index, "language,changed",
+ _language_changed, list);
+ return index;
+}
+
+void mp_index_append_item(Evas_Object * index, MpList_t * list)
+{
+ MP_CHECK(list);
+ _append_item(index, list);
+ elm_index_level_go(index, 0);
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include "mp-list.h"
+#include "mp-util.h"
+#include "mp-index.h"
+#include "mp-widget.h"
+
+#ifdef MP_FEATURE_SWEEP
+static void
+_mp_list_gl_flick_left_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ //struct appdata *ad = (struct appdata *)data;
+ //MP_CHECK(ad);
+ //if (ad->vertical_scroll)
+ // return;
+ elm_object_scroll_freeze_push(obj);
+}
+
+static void
+_mp_list_gl_flick_right_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ //struct appdata *ad = (struct appdata *)data;
+ //MP_CHECK(ad);
+ //if (ad->vertical_scroll)
+ // return;
+ elm_object_scroll_freeze_push(obj);
+}
+
+static void
+_mp_list_gl_flick_stop_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ //struct appdata *ad = (struct appdata *)data;
+ //MP_CHECK(ad);
+ //ad->vertical_scroll = false;
+ elm_object_scroll_freeze_pop(obj);
+}
+
+static void
+_mp_list_gl_mode_left(void *data, Evas_Object * obj, void *event_info)
+{
+ MP_CHECK(obj);
+ MP_CHECK(event_info);
+ MP_CHECK(elm_genlist_item_select_mode_get(event_info) !=
+ ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+ //MP_CHECK(elm_genlist_item_select_mode_get(event_info) != ELM_OBJECT_SELECT_MODE_NONE);
+ // disable sweep if edit mode.
+ MP_CHECK(elm_genlist_item_flip_get(event_info) == EINA_FALSE);
+ // Finish genlist sweep
+ elm_genlist_item_decorate_mode_set(event_info, "slide", EINA_FALSE);
+ elm_genlist_item_select_mode_set(event_info,
+ ELM_OBJECT_SELECT_MODE_DEFAULT);
+ mp_list_item_data_t *item_data = elm_object_item_data_get(event_info);
+ item_data->checked = false;
+}
+
+static void
+_mp_list_gl_mode_right(void *data, Evas_Object * obj, void *event_info)
+{
+ MP_CHECK(obj);
+ MP_CHECK(event_info);
+ MP_CHECK(elm_genlist_item_select_mode_get(event_info) !=
+ ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+ /* reset old sweep item mode */
+ Elm_Object_Item *it =
+ (Elm_Object_Item *) elm_genlist_decorated_item_get(obj);
+ if (it && (it != event_info)) {
+ elm_genlist_item_decorate_mode_set(it, "slide", EINA_FALSE);
+ elm_genlist_item_select_mode_set(it,
+ ELM_OBJECT_SELECT_MODE_DEFAULT);
+ mp_list_item_data_t *item_data = elm_object_item_data_get(it);
+ item_data->checked = false;
+ }
+ // disable sweep if edit mode.
+ MP_CHECK(elm_genlist_item_flip_get(event_info) == EINA_FALSE);
+ // Start genlist sweep
+ elm_genlist_item_decorate_mode_set(event_info, "slide", EINA_TRUE);
+ elm_genlist_item_select_mode_set(event_info,
+ ELM_OBJECT_SELECT_MODE_NONE);
+
+ mp_list_item_data_t *item_data = elm_object_item_data_get(event_info);
+ item_data->checked = true;
+}
+
+
+static void
+_mp_list_gl_mode_cancel(void *data, Evas_Object * obj, void *event_info)
+{
+ //struct appdata *ad = (struct appdata *)data;
+ //MP_CHECK(ad);
+ MP_CHECK(obj);
+
+ mp_util_reset_genlist_mode_item(obj);
+
+ //ad->vertical_scroll = true;
+}
+#endif
+
+static void
+_mp_list_drag_start_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ startfunc;
+
+ MpList_t *list = (MpList_t *) data;
+ MP_CHECK(list);
+
+ list->scroll_drag_status = true;
+}
+
+static void
+_mp_list_drag_stop_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ startfunc;
+
+ MpList_t *list = (MpList_t *) data;
+ MP_CHECK(list);
+
+ list->scroll_drag_status = false;
+}
+
+
+unsigned int _mp_list_get_count(void *thiz, MpListEditType_e type)
+{
+ MpList_t *list = thiz;
+ MP_CHECK_VAL(list->genlist, 0);
+
+ unsigned int count =
+ MP_LIST_OBJ_IS_GENGRID(list->
+ genlist) ? elm_gengrid_items_count(list->
+ genlist)
+ : elm_genlist_items_count(list->genlist);
+
+ if (list->bottom_counter_item) {
+ --count;
+ }
+
+ return count;
+}
+
+static unsigned int _mp_list_get_select_count(void *thiz)
+{
+ MpList_t *list = thiz;
+ MP_CHECK_VAL(list->genlist, 0);
+ unsigned int count = 0;
+ Elm_Object_Item *item;
+ mp_list_item_data_t *data = NULL;
+
+ item = mp_list_first_item_get(list->genlist);
+ while (item) {
+ data = elm_object_item_data_get(item);
+ item = mp_list_item_next_get(item);
+ if (data && data->item_type == MP_LIST_ITEM_TYPE_NORMAL
+ && data->checked) {
+ count++;
+ }
+ }
+ return count;
+}
+
+static void
+_mp_list_layout_del_cb(void *data, Evas * e, Evas_Object * obj,
+ void *event_info)
+{
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ MpList_t *list = data;
+ MP_CHECK(list);
+
+ MP_CHECK(list->destory_cb);
+ list->destory_cb(list);
+
+ endfunc;
+}
+
+static Evas_Object *_mp_list_view_create_box(MpList_t * list)
+{
+ startfunc;
+ Evas_Object *box = elm_box_add(list->layout);
+ evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ evas_object_show(box);
+
+ return box;
+}
+
+int _mp_list_set_fastscroll(void *thiz)
+{
+ startfunc;
+ MpList_t *list = thiz;
+ MP_CHECK_VAL(list, -1);
+ MP_CHECK_VAL(list->layout, -1);
+
+ if (mp_list_get_editable_count(list, MP_LIST_EDIT_TYPE_NORMAL)) {
+ if (!list->fast_scroll) {
+ list->fast_scroll = mp_index_create(list->layout, 0, list);
+ if (list->fast_scroll == NULL) {
+ ERROR_TRACE("list->fast_scroll create failed");
+ }
+ elm_object_part_content_set(list->layout,
+ "elm.swallow.content.index",
+ list->fast_scroll);
+ mp_index_append_item(list->fast_scroll, list);
+ }
+ elm_object_signal_emit(list->layout, "show.fastscroll", "*");
+ if (list->genlist) {
+ elm_scroller_policy_set(list->genlist, ELM_SCROLLER_POLICY_OFF,
+ ELM_SCROLLER_POLICY_OFF);
+ }
+ } else {
+ elm_object_signal_emit(list->layout, "hide.fastscroll", "*");
+ }
+
+ return 0;
+}
+
+static int _mp_list_show_fastscroll(void *thiz)
+{
+ startfunc;
+ MpList_t *list = thiz;
+ MP_CHECK_VAL(list, -1);
+
+ _mp_list_set_fastscroll(list);
+ return 0;
+}
+
+static int _mp_list_hide_fastscroll(void *thiz)
+{
+ startfunc;
+ MpList_t *list = thiz;
+ MP_CHECK_VAL(list, -1);
+
+ elm_object_signal_emit(list->layout, "hide.fastscroll", "*");
+ return 0;
+}
+
+static void _mp_list_set_reorder(void *thiz, bool reorder)
+{
+ DEBUG_TRACE("");
+ MpList_t *list = thiz;
+ MP_CHECK(list);
+
+ if (reorder) {
+ mp_list_reorder_mode_set(list->genlist, EINA_TRUE);
+
+ mp_list_select_mode_set(list->genlist,
+ ELM_OBJECT_SELECT_MODE_ALWAYS);
+ } else {
+
+ mp_list_select_mode_set(list->genlist,
+ ELM_OBJECT_SELECT_MODE_DEFAULT);
+ mp_list_reorder_mode_set(list->genlist, EINA_FALSE);
+
+ }
+
+}
+
+static void _mp_list_realized_item_update(void *thiz, const char *part,
+ int field)
+{
+ DEBUG_TRACE("");
+ MpList_t *list = thiz;
+ MP_CHECK(list);
+ MP_CHECK(list->genlist);
+ Elm_Object_Item *it = NULL;
+
+ if (MP_LIST_OBJ_IS_GENGRID(list->genlist)) {
+ it = elm_gengrid_first_item_get(list->genlist);
+ while (it) {
+ elm_gengrid_item_update(it);
+ it = elm_gengrid_item_next_get(it);
+ }
+ } else {
+ it = elm_genlist_first_item_get(list->genlist);
+ while (it) {
+ elm_genlist_item_update(it);
+ it = elm_genlist_item_next_get(it);
+ }
+
+ }
+}
+
+static void _mp_list_set_edit(void *thiz, bool edit)
+{
+ DEBUG_TRACE("");
+ MpList_t *list = thiz;
+ MP_CHECK(list);
+
+ if (edit) {
+ if (!MP_LIST_OBJ_IS_GENGRID(list->genlist)) {
+ Elm_Object_Item *sweeped_item =
+ (Elm_Object_Item *) elm_genlist_decorated_item_get(list->
+ genlist);
+ if (sweeped_item) {
+ mp_list_item_data_t *data =
+ elm_object_item_data_get(sweeped_item);
+ if (data) {
+ data->checked = false;
+ }
+ elm_genlist_item_decorate_mode_set(sweeped_item, "slide",
+ EINA_FALSE);
+ elm_genlist_item_select_mode_set(sweeped_item,
+ ELM_OBJECT_SELECT_MODE_DEFAULT);
+ elm_genlist_item_update(sweeped_item);
+ }
+
+ }
+
+ if (list->reorderable) {
+ mp_list_reorder_mode_set(list->genlist, EINA_TRUE);
+ }
+
+ mp_list_select_mode_set(list->genlist,
+ ELM_OBJECT_SELECT_MODE_ALWAYS);
+ } else {
+ if (!MP_LIST_OBJ_IS_GENGRID(list->genlist)) {
+ }
+ mp_list_select_mode_set(list->genlist,
+ ELM_OBJECT_SELECT_MODE_DEFAULT);
+ mp_list_reorder_mode_set(list->genlist, EINA_FALSE);
+
+ if (mp_list_get_checked_count(list)) {
+ Elm_Object_Item *item = mp_list_first_item_get(list->genlist);
+ while (item) {
+ if (mp_list_item_select_mode_get(item) !=
+ ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY) {
+ mp_list_item_data_t *item_data =
+ (mp_list_item_data_t *)
+ elm_object_item_data_get(item);
+ MP_CHECK(item_data);
+ item_data->checked = EINA_FALSE;
+ }
+ item = mp_list_item_next_get(item);
+ }
+ }
+ }
+
+ if (MP_LIST_OBJ_IS_GENGRID(list->genlist)) {
+ elm_gengrid_realized_items_update(list->genlist);
+ }
+ //char *title = NULL;
+ //title = _mp_edit_view_get_view_title(list);
+ //mp_common_set_toolbar_button_sensitivity(layout_data, 0);
+}
+
+
+static void _mp_list_edit_mode_sel(void *thiz, void *data)
+{
+ startfunc;
+ MpList_t *list = (MpList_t *) thiz;
+ mp_list_item_data_t *it_data = (mp_list_item_data_t *) data;
+ Elm_Object_Item *gli = (Elm_Object_Item *) it_data->it;
+ mp_list_item_selected_set(gli, EINA_FALSE);
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ if (!MP_LIST_OBJ_IS_GENGRID(list->genlist)) {
+ if (elm_genlist_item_flip_get(gli)
+ || elm_genlist_item_select_mode_get(gli) ==
+ ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY) {
+ return;
+ }
+ }
+
+ mp_list_item_check_set(gli, !it_data->checked);
+ if (ad->selector_mode_bit) {
+ char *uri = NULL;
+ mp_media_info_get_file_path(it_data->handle, &uri);
+ if (it_data->checked) {
+ ad->checkedList = g_list_append(ad->checkedList, g_strdup(uri));
+ } else {
+ GList *list;
+ for (list = ad->checkedList; list != NULL; list = list->next) {
+ if (!g_strcmp0(uri, list->data)) {
+ ad->checkedList = g_list_delete_link(ad->checkedList, list);
+ }
+ }
+ }
+ }
+
+ MpViewMgr_t *view_mgr = mp_view_mgr_get_view_manager();
+ MpView_t *view = mp_view_mgr_get_top_view(view_mgr);
+ MP_CHECK(view);
+
+ if (!ad->selector_mode_bit) {
+ mp_util_create_selectioninfo_with_count(view,
+ mp_list_get_checked_count
+ (list));
+ }
+}
+
+static void
+_mp_list_change_display_mode(void *thiz, MpListDisplayMode_e mode)
+{
+ MpList_t *list = (MpList_t *) thiz;
+ MP_CHECK(list);
+
+ list->display_mode = mode;
+
+ if (mode == MP_LIST_DISPLAY_MODE_THUMBNAIL) {
+ elm_object_signal_emit(list->layout, "hide.fastscroll", "*");
+ } else {
+ if (list->fast_scroll) {
+ elm_object_signal_emit(list->layout, "show.fastscroll", "*");
+ }
+ }
+ if (list->update) {
+ list->update(list);
+ }
+}
+
+static void _mp_list_selected_item_data_get(void *thiz, GList ** selected)
+{
+ startfunc;
+ MpList_t *list = (MpList_t *) thiz;
+ GList *sel_list = NULL;
+
+ if (!list->genlist) {
+ goto END;
+ }
+
+ Elm_Object_Item *item = mp_list_first_item_get(list->genlist);
+ mp_list_item_data_t *gl_item = NULL;
+
+ if (!item) {
+ goto END;
+ }
+
+ while (item) {
+ if (mp_list_item_select_mode_get(item) !=
+ ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY) {
+ gl_item = elm_object_item_data_get(item);
+ if (gl_item && gl_item->checked) {
+ sel_list = g_list_append(sel_list, gl_item);
+ }
+ }
+ item = mp_list_item_next_get(item);
+ }
+ *selected = sel_list;
+ return;
+
+ END:
+ *selected = sel_list;
+}
+
+static void _mp_list_all_item_data_get(void *thiz, GList ** selected)
+{
+ startfunc;
+ MpList_t *list = (MpList_t *) thiz;
+ GList *sel_list = NULL;
+
+ if (!list->genlist) {
+ goto END;
+ }
+
+ Elm_Object_Item *item = mp_list_first_item_get(list->genlist);
+ mp_list_item_data_t *gl_item = NULL;
+
+ if (!item) {
+ goto END;
+ }
+
+ while (item) {
+ gl_item = elm_object_item_data_get(item);
+ if (gl_item) {
+ sel_list = g_list_append(sel_list, gl_item);
+ }
+ item = mp_list_item_next_get(item);
+ }
+ END:
+ if (selected) {
+ *selected = sel_list;
+ }
+}
+
+void mp_list_init(MpList_t * list, Evas_Object * parent,
+ MpListType_e list_type)
+{
+ startfunc;
+ MP_CHECK(list);
+ MP_CHECK(parent);
+
+ //initialize attribute
+ list->list_type = list_type;
+
+ list->layout = mp_common_load_edj(parent, MP_EDJ_NAME, "list_layout");
+ MP_CHECK(list->layout);
+
+ list->box = _mp_list_view_create_box(list);
+ MP_CHECK(list->box);
+ evas_object_size_hint_weight_set(list->box, EVAS_HINT_EXPAND,
+ EVAS_HINT_FILL);
+ evas_object_size_hint_align_set(list->box, EVAS_HINT_FILL,
+ EVAS_HINT_FILL);
+ elm_object_part_content_set(list->layout, "list_content", list->box);
+ evas_object_show(list->box);
+
+ //initialize method
+ list->get_count = _mp_list_get_count;
+ list->get_select_count = _mp_list_get_select_count;
+#ifdef MP_FEATURE_SWEEP
+ list->flick_left_cb = _mp_list_gl_flick_left_cb;
+ list->flick_right_cb = _mp_list_gl_flick_right_cb;
+ list->flick_stop_cb = _mp_list_gl_flick_stop_cb;
+ list->mode_left_cb = _mp_list_gl_mode_left;
+ list->mode_right_cb = _mp_list_gl_mode_right;
+ list->mode_cancel_cb = _mp_list_gl_mode_cancel;
+#endif
+ list->set_edit = _mp_list_set_edit;
+ list->set_reorder = _mp_list_set_reorder;
+ list->show_fastscroll = _mp_list_show_fastscroll;
+ list->hide_fastscroll = _mp_list_hide_fastscroll;
+ list->edit_mode_sel = _mp_list_edit_mode_sel;
+ list->change_display_mode = _mp_list_change_display_mode;
+ list->selected_item_data_get = _mp_list_selected_item_data_get;
+ list->all_item_data_get = _mp_list_all_item_data_get;
+ list->drag_start_cb = _mp_list_drag_start_cb;
+ list->drag_stop_cb = _mp_list_drag_stop_cb;
+ list->realized_item_update = _mp_list_realized_item_update;
+ //add free callback
+ evas_object_event_callback_add(list->layout, EVAS_CALLBACK_FREE,
+ _mp_list_layout_del_cb, list);
+}
+
+Evas_Object *mp_list_get_layout(MpList_t * list)
+{
+ startfunc;
+ MP_CHECK_NULL(list);
+ MP_CHECK_NULL(list->layout);
+ return list->layout;
+}
+
+int mp_list_hide_fast_scroll(MpList_t * list)
+{
+ startfunc;
+ MP_CHECK_VAL(list, -1);
+ MP_CHECK_VAL(list->hide_fastscroll, -1);
+ return list->hide_fastscroll(list);
+}
+
+int mp_list_show_fast_scroll(MpList_t * list)
+{
+ startfunc;
+ MP_CHECK_VAL(list, -1);
+ MP_CHECK_VAL(list->show_fastscroll, -1);
+ return list->show_fastscroll(list);
+}
+
+void mp_list_update(MpList_t * list)
+{
+ startfunc;
+ MP_CHECK(list);
+ MP_CHECK(list->update);
+ list->update(list);
+}
+
+void mp_list_realized_item_part_update(MpList_t * list, const char *part,
+ int field)
+{
+ startfunc;
+ MP_CHECK(list);
+ MP_CHECK(list->realized_item_update);
+ list->realized_item_update(list, part, field);
+}
+
+void mp_list_set_reorder(MpList_t * list, bool reorder)
+{
+ startfunc;
+ MP_CHECK(list);
+ list->reorderable = reorder;
+ MP_CHECK(list->set_reorder);
+ list->set_reorder(list, reorder);
+}
+
+bool mp_list_get_reorder(MpList_t * list)
+{
+ startfunc;
+ MP_CHECK_FALSE(list);
+ return list->reorderable;
+}
+
+void mp_list_set_edit(MpList_t * list, bool edit)
+{
+ startfunc;
+ MP_CHECK(list);
+ list->edit_mode = edit;
+ MP_CHECK(list->set_edit);
+ list->set_edit(list, edit);
+ if (!edit) {
+ MpView_t *view = mp_view_mgr_get_top_view(GET_VIEW_MGR);
+ MP_CHECK(view);
+ view->selection_info =
+ mp_util_create_selectioninfo_with_count(view, 0);
+ }
+}
+
+bool mp_list_get_edit(MpList_t * list)
+{
+ MP_CHECK_FALSE(list);
+ return list->edit_mode;
+}
+
+void mp_list_set_edit_type(MpList_t * list, MpListEditType_e type)
+{
+ MP_CHECK(list);
+ list->edit_type = type;
+ mp_debug("list edit type set as [%d]", list->edit_type);
+}
+
+MpListEditType_e mp_list_get_edit_type(MpList_t * list)
+{
+ MP_CHECK_VAL(list, 0);
+ return list->edit_type;
+}
+
+void mp_list_edit_mode_sel(MpList_t * list, void *data)
+{
+ startfunc;
+ MP_CHECK(list);
+ MP_CHECK(list->edit_mode_sel);
+ list->edit_mode_sel(list, data);
+}
+
+mp_group_type_e mp_list_get_group_type(MpList_t * list)
+{
+ startfunc;
+ MP_CHECK_VAL(list, -1);
+ MP_CHECK_VAL(list->get_group_type, -1);
+ return list->get_group_type(list);
+}
+
+mp_track_type_e mp_list_get_track_type(MpList_t * list)
+{
+ startfunc;
+ MP_CHECK_VAL(list, -1);
+ MP_CHECK_VAL(list->get_track_type, -1);
+ return list->get_track_type(list);
+}
+
+void *mp_list_get_playlist_handle(MpList_t * list)
+{
+ startfunc;
+ MP_CHECK_NULL(list);
+ MP_CHECK_NULL(list->get_playlist_handle);
+ return list->get_playlist_handle(list);
+}
+
+unsigned int mp_list_get_editable_count(MpList_t * list,
+ MpListEditType_e type)
+{
+ startfunc;
+ MP_CHECK_VAL(list, 0);
+ MP_CHECK_VAL(list->get_count, 0);
+ return list->get_count(list, type);
+}
+
+unsigned int mp_list_get_checked_count(MpList_t * list)
+{
+ startfunc;
+ MP_CHECK_VAL(list, 0);
+ MP_CHECK_VAL(list->get_select_count, 0);
+ return list->get_select_count(list);
+}
+
+bool mp_list_is_display_mode_changable(MpList_t * list)
+{
+ MP_CHECK_FALSE(list);
+ return list->display_mode_changable;
+}
+
+MpListDisplayMode_e mp_list_get_display_mode(MpList_t * list)
+{
+ MP_CHECK_VAL(list, 0);
+ return list->display_mode;
+}
+
+void mp_list_change_display_mode(MpList_t * list, MpListDisplayMode_e mode)
+{
+ startfunc;
+ MP_CHECK(list);
+ MP_CHECK(list->display_mode_changable);
+ MP_CHECK(list->change_display_mode);
+
+ list->change_display_mode(list, mode);
+}
+
+Elm_Object_Item *mp_list_first_item_get(Evas_Object * obj)
+{
+ MP_CHECK_NULL(obj);
+ return MP_LIST_OBJ_IS_GENGRID(obj) ? elm_gengrid_first_item_get(obj) :
+ elm_genlist_first_item_get(obj);
+}
+
+Elm_Object_Item *mp_list_item_next_get(Elm_Object_Item * item)
+{
+ MP_CHECK_NULL(item);
+ Evas_Object *obj = elm_object_item_widget_get(item);
+ MP_CHECK_NULL(obj);
+ return MP_LIST_OBJ_IS_GENGRID(obj) ? elm_gengrid_item_next_get(item) :
+ elm_genlist_item_next_get(item);
+}
+
+void
+mp_list_select_mode_set(Evas_Object * obj,
+ Elm_Object_Select_Mode select_mode)
+{
+ MP_CHECK(obj);
+
+ if (MP_LIST_OBJ_IS_GENGRID(obj)) {
+ elm_gengrid_select_mode_set(obj, select_mode);
+ } else {
+ elm_genlist_select_mode_set(obj, select_mode);
+ }
+}
+
+Elm_Object_Select_Mode mp_list_select_mode_get(Evas_Object * obj)
+{
+ MP_CHECK_VAL(obj, ELM_OBJECT_SELECT_MODE_DEFAULT);
+ return MP_LIST_OBJ_IS_GENGRID(obj) ? elm_gengrid_select_mode_get(obj) :
+ elm_genlist_select_mode_get(obj);
+}
+
+void
+mp_list_item_select_mode_set(Elm_Object_Item * item,
+ Elm_Object_Select_Mode select_mode)
+{
+ MP_CHECK(item);
+ Evas_Object *obj = elm_object_item_widget_get(item);
+ MP_CHECK(obj);
+
+ if (MP_LIST_OBJ_IS_GENGRID(obj)) {
+ elm_gengrid_item_select_mode_set(item, select_mode);
+ } else {
+ elm_genlist_item_select_mode_set(item, select_mode);
+ }
+}
+
+Elm_Object_Select_Mode mp_list_item_select_mode_get(Elm_Object_Item * item)
+{
+ MP_CHECK_VAL(item, ELM_OBJECT_SELECT_MODE_DEFAULT);
+ Evas_Object *obj = elm_object_item_widget_get(item);
+ MP_CHECK_VAL(obj, ELM_OBJECT_SELECT_MODE_DEFAULT);
+ return MP_LIST_OBJ_IS_GENGRID(obj) ?
+ elm_gengrid_item_select_mode_get(item) :
+ elm_genlist_item_select_mode_get(item);
+}
+
+void mp_list_reorder_mode_set(Evas_Object * obj, Eina_Bool reorder_mode)
+{
+ MP_CHECK(obj);
+ if (MP_LIST_OBJ_IS_GENGRID(obj)) {
+ elm_gengrid_reorder_mode_set(obj, reorder_mode);
+ } else {
+ elm_genlist_reorder_mode_set(obj, reorder_mode);
+ }
+}
+
+void mp_list_item_selected_set(Elm_Object_Item * item, Eina_Bool selected)
+{
+ MP_CHECK(item);
+ Evas_Object *obj = elm_object_item_widget_get(item);
+ MP_CHECK(obj);
+
+ if (MP_LIST_OBJ_IS_GENGRID(obj)) {
+ elm_gengrid_item_selected_set(item, selected);
+ } else {
+ elm_genlist_item_selected_set(item, selected);
+ }
+}
+
+Eina_Bool mp_list_item_selected_get(Elm_Object_Item * item)
+{
+ MP_CHECK_FALSE(item);
+ Evas_Object *obj = elm_object_item_widget_get(item);
+ MP_CHECK_FALSE(obj);
+ return MP_LIST_OBJ_IS_GENGRID(obj) ?
+ elm_gengrid_item_selected_get(item) :
+ elm_genlist_item_selected_get(item);
+}
+
+void mp_list_selected_item_data_get(MpList_t * list, GList ** selected)
+{
+ startfunc;
+ MP_CHECK(list);
+
+ if (list->selected_item_data_get) {
+ list->selected_item_data_get(list, selected);
+ }
+
+ return;
+}
+
+void mp_list_all_item_data_get(MpList_t * list, GList ** selected)
+{
+ startfunc;
+ MP_CHECK(list);
+
+ if (list->all_item_data_get) {
+ list->all_item_data_get(list, selected);
+ }
+
+ return;
+}
+
+
+//this is for fastscroll index
+const char *mp_list_get_list_item_label(MpList_t * list,
+ Elm_Object_Item * item)
+{
+ MP_CHECK_NULL(list);
+ if (list->get_label) {
+ return list->get_label(list, item);
+ }
+
+ return NULL;
+}
+
+void mp_list_double_tap(MpList_t * list)
+{
+ startfunc;
+ MP_CHECK(list);
+ MP_CHECK(list->genlist);
+ MP_LIST_OBJ_IS_GENGRID(list->genlist) ?
+ elm_gengrid_item_bring_in(elm_gengrid_first_item_get
+ (list->genlist),
+ ELM_GENGRID_ITEM_SCROLLTO_TOP) :
+ elm_genlist_item_bring_in(elm_genlist_first_item_get
+ (list->genlist),
+ ELM_GENLIST_ITEM_SCROLLTO_TOP);
+}
+
+void mp_list_rotate(MpList_t * list)
+{
+ startfunc;
+ MP_CHECK(list);
+ if (list->rotate) {
+ list->rotate(list);
+ }
+}
+
+mp_list_item_data_t *mp_list_item_data_create(MpListItemType_e item_type)
+{
+ mp_list_item_data_t *item_data =
+ calloc(1, sizeof(mp_list_item_data_t));
+ if (item_data) {
+ item_data->item_type = item_type;
+ }
+
+ return item_data;
+}
+
+void mp_list_item_check_set(Elm_Object_Item * item, Eina_Bool checked)
+{
+ MP_CHECK(item);
+ mp_list_item_data_t *item_data = elm_object_item_data_get(item);
+ MP_CHECK(item_data);
+
+ item_data->checked = checked;
+ Evas_Object *check_box_layout =
+ elm_object_item_part_content_get(item, "elm.icon.2");
+ Evas_Object *chk =
+ elm_object_part_content_get(check_box_layout,
+ "elm.swallow.content");
+ if (chk) {
+ elm_check_state_set(chk, checked);
+ } else {
+ chk = elm_object_item_part_content_get(item, "elm.swallow.end"); // gengrid
+ if (chk) {
+ elm_check_state_set(chk, checked);
+ }
+ }
+}
+
+static char *_mp_list_bottom_counter_item_text_get_cb(void *data,
+ Evas_Object * obj,
+ const char *part)
+{
+ mp_list_item_data_t *item_data = data;
+ MP_CHECK_NULL(item_data);
+
+ MpList_t *list = (MpList_t *) evas_object_data_get(obj, "list_data");
+ MP_CHECK_NULL(list);
+ MP_CHECK_NULL(list->bottom_counter_text_get_cb);
+ if (!strcmp(part, "elm.text.end")) {
+ return list->bottom_counter_text_get_cb(list);
+ } else {
+ return NULL;
+ }
+}
+
+static void _mp_list_bottom_counter_item_del_cb(void *data,
+ Evas_Object * obj)
+{
+ mp_list_item_data_t *item_data = data;
+ IF_FREE(item_data);
+
+ MpList_t *list = (MpList_t *) evas_object_data_get(obj, "list_data");
+ MP_CHECK(list);
+ list->bottom_counter_item = NULL;
+}
+
+Elm_Object_Item *mp_list_bottom_counter_item_append(MpList_t * list)
+{
+ MP_CHECK_NULL(list);
+ MP_CHECK_NULL(list->genlist);
+ MP_CHECK_NULL(list->bottom_counter_text_get_cb);
+
+ if (list->bottom_counter_item) {
+ elm_object_item_del(list->bottom_counter_item);
+ list->bottom_counter_item = NULL;
+ }
+
+ evas_object_data_set(list->genlist, "list_data", list);
+
+ static Elm_Genlist_Item_Class itc = { 0, };
+ itc.item_style = "group_index";
+ itc.func.text_get = _mp_list_bottom_counter_item_text_get_cb;
+ itc.func.del = _mp_list_bottom_counter_item_del_cb;
+
+ mp_list_item_data_t *item_data =
+ mp_list_item_data_create(MP_LIST_ITEM_TYPE_BOTTOM_COUNTER);
+ MP_CHECK_NULL(item_data);
+ Elm_Object_Item *item =
+ elm_genlist_item_append(list->genlist, &itc, item_data, NULL,
+ ELM_GENLIST_ITEM_GROUP, NULL, NULL);
+ elm_genlist_item_select_mode_set(item,
+ ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+
+ list->bottom_counter_item = item;
+ return item;
+}
+
+GList *mp_list_get_checked_path_list(MpList_t * list)
+{
+ MP_CHECK_NULL(list);
+ GList *sel_list = NULL;
+ GList *path_list = NULL;
+ GList *node = NULL;
+
+ mp_list_selected_item_data_get(list, &sel_list);
+ MP_CHECK_NULL(sel_list);
+
+ node = g_list_first(sel_list);
+ while (node) {
+ mp_list_item_data_t *item = node->data;
+ if (item && item->handle) {
+ char *file_path = NULL;
+ if (list->list_type == MP_LIST_TYPE_GROUP) {
+ mp_media_info_group_get_main_info(item->handle,
+ &file_path);
+ } else {
+ mp_media_info_get_file_path(item->handle, &file_path);
+ }
+ char *path = g_strdup(file_path);
+ path_list = g_list_append(path_list, path);
+ }
+
+ node = g_list_next(node);
+ }
+ g_list_free(sel_list);
+ return path_list;
+}
+
+bool mp_list_is_in_checked_path_list(GList * path_list, char *file_path)
+{
+ MP_CHECK_FALSE(path_list);
+ MP_CHECK_FALSE(file_path);
+ GList *node = NULL;
+
+ node = g_list_first(path_list);
+ while (node) {
+ char *path = node->data;
+ if (!g_strcmp0(path, file_path)) {
+ return true;
+ }
+ node = g_list_next(node);
+ }
+
+ return false;
+}
+
+void mp_list_free_checked_path_list(GList * path_list)
+{
+ MP_CHECK(path_list);
+ GList *node = NULL;
+
+ node = g_list_first(path_list);
+ while (node) {
+ char *path = node->data;
+ SAFE_FREE(path);
+ node = g_list_next(node);
+ }
+ g_list_free(path_list);
+}
+
+void mp_list_item_reorder_moved_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ startfunc;
+
+ MpList_t *list = data;
+ MP_CHECK(list);
+ MP_CHECK(list->genlist);
+
+ int cur_sequence = 0;
+ Elm_Object_Item *temp = elm_genlist_first_item_get(list->genlist);
+ while (temp) {
+ mp_list_item_data_t *item_data =
+ (mp_list_item_data_t *) elm_object_item_data_get(temp);
+ MP_CHECK(item_data);
+ if (cur_sequence != item_data->index) {
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_REORDER_ENABLE);
+ return;
+ }
+ temp = elm_genlist_item_next_get(temp);
+ cur_sequence++;
+ }
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_REORDER_DISABLE);
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include <sys/time.h>
+#include <minicontrol-provider.h>
+#include <minicontrol-type.h>
+#include "mp-lockscreenmini.h"
+#include "mp-player-control.h"
+#include "mp-play.h"
+#include "Ecore.h"
+#include "mp-player-mgr.h"
+#include "mp-util.h"
+#include "mp-widget.h"
+#include "mp-setting-ctrl.h"
+#include "mp-player-view.h"
+#include <device/display.h>
+#include <device/callback.h>
+#include <system_settings.h>
+#include <message_port.h>
+
+#ifdef MP_FEATURE_LOCKSCREEN
+
+int LOCKSCREEN_MINI_CONTROLLER_WIDTH;
+#define LOCKSCREEN_MINI_CONTROLLER_HEIGHT (93)
+
+/*lockscreen wallpaper length*/
+#define WALLPAPER_LENGTH 1024
+
+//#define LOCKSCREEN_MSG_DOMAIN_CONTROL_ACCESS (int)ECORE_X_ATOM_E_ILLUME_ACCESS_CONTROL
+
+
+enum {
+ LOCKSCREEN_FF_PRESSED = 1,
+ LOCKSCREEN_REW_PRESSED = 2,
+};
+
+static time_t press_time;
+static time_t release_time;
+static Evas_Object *_load_edj(Evas_Object * parent, const char *file,
+ const char *group);
+static void _load_lockscreenmini(struct appdata *ad);
+static void _mp_lockscreenmini_update_layout(struct appdata *ad,
+ bool landscape);
+static int port_id;
+
+static void lockscreen_message_port_cb(int trusted_local_port_id,
+ const char *remote_app_id,
+ const char *remote_port,
+ bool trusted_remote_port,
+ bundle * message, void *data)
+{
+ //do nothing
+}
+
+void register_port()
+{
+ port_id =
+ message_port_register_trusted_local_port
+ ("local/port/id/to/specify", lockscreen_message_port_cb, NULL);
+ if (port_id < 0) {
+ DEBUG_TRACE("unable to register port");
+ }
+}
+
+void deregister_port()
+{
+ int ret;
+ ret = message_port_unregister_trusted_local_port(port_id);
+ if (ret != MESSAGE_PORT_ERROR_NONE) {
+ DEBUG_TRACE("unable to deregister");
+ }
+}
+
+static bool _mp_lockscreenmini_is_long_press()
+{
+ bool result = false;
+ DEBUG_TRACE("press time is %s", ctime(&press_time));
+ DEBUG_TRACE("release time is %s", ctime(&release_time));
+ if (difftime(release_time, press_time) > 1.0) {
+ result = true;
+ }
+
+ memset(&release_time, 0, sizeof(time_t));
+ memset(&press_time, 0, sizeof(time_t));
+
+ DEBUG_TRACE("is %s long press", result ? "" : "not");
+ return result;
+}
+
+static Evas_Object *_load_edj(Evas_Object * parent, const char *file,
+ const char *group)
+{
+ Evas_Object *eo;
+ int r;
+
+ eo = elm_layout_add(parent);
+ if (eo) {
+ char edje_path[1024] = { 0 };
+ char *path = app_get_resource_path();
+
+ MP_CHECK_NULL(path);
+ snprintf(edje_path, 1024, "%s%s/%s", path, "edje", file);
+
+ r = elm_layout_file_set(eo, edje_path, group);
+ free(path);
+
+ if (!r) {
+ evas_object_del(eo);
+ return NULL;
+ }
+ evas_object_size_hint_weight_set(eo, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ elm_win_resize_object_add(parent, eo);
+ evas_object_show(eo);
+ }
+
+ return eo;
+}
+
+static void _lockscreen_cb(minicontrol_viewer_event_e event_type,
+ bundle * event_arg)
+{
+ /*Need to handle events */
+}
+
+static void _load_lockscreenmini(struct appdata *ad)
+{
+ DEBUG_TRACE_FUNC();
+ MP_CHECK(ad);
+ Evas_Object *win = NULL;
+
+#ifndef MP_SOUND_PLAYER
+ win =
+ minicontrol_create_window("music-minicontrol.LOCKSCREEN",
+ MINICONTROL_TARGET_VIEWER_STOCK_LOCK_SCREEN,
+ _lockscreen_cb);
+#else
+ win =
+ minicontrol_create_window("sound-minicontrol.LOCKSCREEN",
+ MINICONTROL_TARGET_VIEWER_STOCK_LOCK_SCREEN,
+ _lockscreen_cb);
+#endif
+
+ if (!win) {
+ return;
+ }
+ elm_win_alpha_set(win, EINA_TRUE);
+
+ ad->win_lockmini = win;
+
+ int ret = -1;
+ register_port();
+ bundle *b = bundle_create();
+ if (b == NULL) {
+ ERROR_TRACE("Unable to add data to bundle");
+ return;
+ }
+
+ ad->lockscreen_wallpaper =
+ (char *) malloc(WALLPAPER_LENGTH * sizeof(char));
+ ret =
+ system_settings_get_value_string
+ (SYSTEM_SETTINGS_KEY_WALLPAPER_LOCK_SCREEN,
+ &ad->lockscreen_wallpaper);
+ if (ret != SYSTEM_SETTINGS_ERROR_NONE) {
+ ERROR_TRACE("Failed to get locksreen wallpaper");
+ }
+
+ /* load edje */
+ _mp_lockscreenmini_update_layout(ad, false);
+
+ /*evas_object_show(eo); */
+ bundle_free(b);
+ return;
+}
+
+void mp_lockscreenmini_update_winmini_size(struct appdata *ad)
+{
+ DEBUG_TRACE_FUNC();
+ MP_CHECK(ad);
+
+ double scale = elm_config_scale_get();
+ DEBUG_TRACE("scale: %f", scale);
+
+ if ((scale - 1.7) < 0.0001) {
+ LOCKSCREEN_MINI_CONTROLLER_WIDTH = 318;
+ } else if ((scale - 1.8) < 0.0001) {
+ LOCKSCREEN_MINI_CONTROLLER_WIDTH = 267;
+ } else if ((scale - 2.4) < 0.0001) {
+ LOCKSCREEN_MINI_CONTROLLER_WIDTH = 300;
+ } else if ((scale - 2.6) < 0.0001) {
+ LOCKSCREEN_MINI_CONTROLLER_WIDTH = 300;
+ } else if ((scale - 2.8) < 0.0001) {
+ LOCKSCREEN_MINI_CONTROLLER_WIDTH = 300;
+ }
+
+ evas_object_resize(ad->win_lockmini,
+ LOCKSCREEN_MINI_CONTROLLER_WIDTH * scale,
+ LOCKSCREEN_MINI_CONTROLLER_HEIGHT * scale);
+
+ return;
+}
+
+int mp_lockscreenmini_create(struct appdata *ad)
+{
+ DEBUG_TRACE_FUNC();
+ mp_retvm_if(ad == NULL, -1, "appdata is NULL");
+
+ if (!(ad->lockmini_layout && ad->win_lockmini)) {
+
+ _load_lockscreenmini(ad);
+ if (ad->lockmini_layout == NULL) {
+ DEBUG_TRACE("ERROR");
+ return -1;
+ }
+ }
+
+ mp_lockscreenmini_update_winmini_size(ad);
+
+ mp_lockscreenmini_show(ad);
+ return 0;
+}
+
+
+int mp_lockscreenmini_show(struct appdata *ad)
+{
+ DEBUG_TRACE("minicontroller view show!!");
+ mp_retvm_if(ad == NULL, -1, "appdata is NULL");
+ MP_CHECK_VAL(ad->win_lockmini, -1);
+ MP_CHECK_VAL(!ad->is_lcd_off, -1);
+ /* Not show minicontrol when current track not exsit */
+ MP_CHECK_VAL(ad->current_track_info, -1);
+
+ if (ad->idle_unlocked) {
+ /* Lockscreen Music Control in Pause State... Returning... */
+ return 0;
+ }
+
+ ad->b_lockmini_show = TRUE;
+ mp_lockscreenmini_update(ad);
+
+ char *path = app_get_data_path();
+ char lscr_state[1024] = { 0 };
+ snprintf(lscr_state, 1024, "%s%s", path, MP_LSCR_CONTROL);
+ free(path);
+ FILE *fp = fopen(lscr_state, "w");
+ if (fp) {
+ fclose(fp);
+ }
+
+ evas_object_show(ad->win_lockmini);
+ return 0;
+}
+
+static void _mp_lockscreenmini_update_btn(struct appdata *ad)
+{
+ startfunc;
+ mp_retm_if(ad == NULL, "appdata is NULL");
+ MP_CHECK(ad->win_lockmini);
+ MP_CHECK(ad->lockmini_layout);
+ MP_CHECK(!ad->is_lcd_off);
+
+ if (ad->player_state == PLAY_STATE_PLAYING) {
+ edje_object_signal_emit(elm_layout_edje_get(ad->lockmini_layout),
+ "play_btn_visible", "play_btn");
+ edje_object_signal_emit(elm_layout_edje_get(ad->lockmini_layout),
+ "pause_btn_invisible", "pause_btn");
+ } else {
+ edje_object_signal_emit(elm_layout_edje_get(ad->lockmini_layout),
+ "play_btn_invisible", "play_btn");
+ edje_object_signal_emit(elm_layout_edje_get(ad->lockmini_layout),
+ "pause_btn_visible", "pause_btn");
+ }
+}
+
+static Eina_Bool _mp_lockscreenmini_btn_update_timer(void *data)
+{
+ struct appdata *ad = data;
+ MP_CHECK_FALSE(ad);
+
+ _mp_lockscreenmini_update_btn(data);
+
+ ad->lockmini_button_timer = NULL;
+ return EINA_FALSE;
+}
+
+static void _mp_lockscreenmini_update_playpause_btn(struct appdata *ad)
+{
+ mp_ecore_timer_del(ad->lockmini_button_timer);
+
+ if (ad->player_state == PLAY_STATE_PLAYING
+ || ad->player_state == PLAY_STATE_PAUSED) {
+ _mp_lockscreenmini_update_btn(ad);
+ } else {
+ ad->lockmini_button_timer =
+ ecore_timer_add(1.0, _mp_lockscreenmini_btn_update_timer, ad);
+ }
+}
+
+void mp_lockscreenmini_update_control(struct appdata *ad)
+{
+ startfunc;
+ mp_retm_if(ad == NULL, "appdata is NULL");
+ MP_CHECK(ad->win_lockmini);
+ MP_CHECK(!ad->is_lcd_off);
+
+ _mp_lockscreenmini_update_playpause_btn(ad);
+}
+
+Eina_Bool _mp_lockscreenmini_hide_music_controller(void *data)
+{
+ struct appdata *ad = data;
+ MP_CHECK_FALSE(ad);
+
+ if (ad->b_lockmini_show) {
+ DEBUG_TRACE("timeout... hiding lockscreen music control.");
+ mp_lockscreenmini_hide(ad);
+ }
+ ad->lockmini_idle_timer = NULL;
+ return EINA_FALSE;
+}
+
+static void _mp_lockscreenmini_play_pause_btn_clicked_cb(void *data,
+ Evas_Object * obj,
+ void *event_info)
+{
+ DEBUG_TRACE("play/pause button clicked");
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ int lock_state = SYSTEM_SETTINGS_LOCK_STATE_UNLOCK;
+
+ if (ad->player_state == PLAY_STATE_PLAYING) {
+ ad->idle_unlocked = true;
+ system_settings_get_value_int(SYSTEM_SETTINGS_KEY_LOCK_STATE,
+ &lock_state);
+ DEBUG_TRACE("lock state : %d", lock_state);
+ if (lock_state == SYSTEM_SETTINGS_LOCK_STATE_LOCK) {
+ ad->lockmini_idle_timer =
+ ecore_timer_add((2 * 60),
+ _mp_lockscreenmini_hide_music_controller,
+ ad);
+ }
+ mp_play_control_play_pause(ad, false);
+ } else {
+ ad->idle_unlocked = false;
+ if (ad->lockmini_idle_timer) {
+ mp_ecore_timer_del(ad->lockmini_idle_timer);
+ }
+ mp_play_control_play_pause(ad, true);
+ }
+}
+
+static void _mp_lockscreenmini_ff_rew_btn_pressed_cb(void *data,
+ Evas_Object * obj,
+ void *event_info)
+{
+ DEBUG_TRACE("button pressed");
+ time(&press_time);
+ char *source = (char *) data;
+ if (!g_strcmp0(source, CONTROLLER_FF_SOURCE)) {
+ mp_play_control_ff(true, false, false);
+ } else {
+ mp_play_control_rew(true, false, false);
+ }
+}
+
+static void _mp_lockscreenmini_ff_rew_btn_unpressed_cb(void *data,
+ Evas_Object * obj,
+ void *event_info)
+{
+ DEBUG_TRACE("button unpressed");
+ time(&release_time);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ MP_CHECK(ad->lockmini_layout);
+
+ char *source = (char *) data;
+ if (!g_strcmp0(source, CONTROLLER_FF_SOURCE)) {
+ elm_object_signal_emit(ad->lockmini_layout,
+ "signal.button.unpressed", "ff_btn");
+ mp_play_control_ff(false, false, false);
+ } else {
+ elm_object_signal_emit(ad->lockmini_layout,
+ "signal.button.unpressed", "rew_btn");
+ mp_play_control_rew(false, false, false);
+ }
+}
+
+static void _mp_lockscreenmini_ff_rew_btn_clicked_cb(void *data,
+ Evas_Object * obj,
+ void *event_info)
+{
+ DEBUG_TRACE("button clicked");
+ if (_mp_lockscreenmini_is_long_press()) {
+ return;
+ }
+
+ char *source = (char *) data;
+ if (!g_strcmp0(source, CONTROLLER_FF_SOURCE)) {
+ mp_play_control_ff(false, false, true);
+ } else {
+ mp_play_control_rew(false, false, true);
+ }
+}
+
+/*end of focused UI callbacks*/
+
+static void
+_mp_lockscreenmini_update_layout(struct appdata *ad, bool landscape)
+{
+ MP_CHECK(ad);
+
+ if (ad->lockmini_progress_timer) {
+ ecore_timer_del(ad->lockmini_progress_timer);
+ ad->lockmini_progress_timer = NULL;
+ }
+ mp_ecore_timer_del(ad->lockmini_button_timer);
+
+ mp_evas_object_del(ad->lockmini_layout);
+ ad->lockmini_layout =
+ _load_edj(ad->win_lockmini, LOCKSCREENMINI_EDJ_NAME,
+ "music-lockscreenmini");
+ if (!ad->lockmini_layout) {
+ return;
+ }
+
+ elm_win_resize_object_add(ad->win_lockmini, ad->lockmini_layout);
+
+ /*add focused UI related */
+ /*-------> REW button ------->*/
+ Evas_Object *rew_focus_btn = elm_button_add(ad->lockmini_layout);
+ elm_object_style_set(rew_focus_btn, "focus");
+ elm_object_part_content_set(ad->lockmini_layout, "rew_focus",
+ rew_focus_btn);
+ elm_object_focus_custom_chain_append(ad->lockmini_layout,
+ rew_focus_btn, NULL);
+ evas_object_smart_callback_add(rew_focus_btn, "clicked",
+ _mp_lockscreenmini_ff_rew_btn_clicked_cb,
+ CONTROLLER_REW_SOURCE);
+ evas_object_smart_callback_add(rew_focus_btn, "pressed",
+ _mp_lockscreenmini_ff_rew_btn_pressed_cb,
+ CONTROLLER_REW_SOURCE);
+ evas_object_smart_callback_add(rew_focus_btn, "unpressed",
+ _mp_lockscreenmini_ff_rew_btn_unpressed_cb,
+ CONTROLLER_REW_SOURCE);
+
+ /*-------> play/pause button ------->*/
+ Evas_Object *play_pause_focus_btn =
+ elm_button_add(ad->lockmini_layout);
+ elm_object_style_set(play_pause_focus_btn, "focus");
+ elm_object_part_content_set(ad->lockmini_layout, "play_pause_focus",
+ play_pause_focus_btn);
+ elm_object_focus_custom_chain_append(ad->lockmini_layout,
+ play_pause_focus_btn, NULL);
+ evas_object_smart_callback_add(play_pause_focus_btn, "clicked",
+ _mp_lockscreenmini_play_pause_btn_clicked_cb,
+ NULL);
+
+ /*------->FF button ------->*/
+ Evas_Object *ff_focus_btn = elm_button_add(ad->lockmini_layout);
+ elm_object_style_set(ff_focus_btn, "focus");
+ elm_object_part_content_set(ad->lockmini_layout, "ff_focus",
+ ff_focus_btn);
+ elm_object_focus_custom_chain_append(ad->lockmini_layout, ff_focus_btn,
+ NULL);
+ evas_object_smart_callback_add(ff_focus_btn, "clicked",
+ _mp_lockscreenmini_ff_rew_btn_clicked_cb,
+ CONTROLLER_FF_SOURCE);
+ evas_object_smart_callback_add(ff_focus_btn, "pressed",
+ _mp_lockscreenmini_ff_rew_btn_pressed_cb,
+ CONTROLLER_FF_SOURCE);
+ evas_object_smart_callback_add(ff_focus_btn, "unpressed",
+ _mp_lockscreenmini_ff_rew_btn_unpressed_cb,
+ CONTROLLER_FF_SOURCE);
+
+ _mp_lockscreenmini_update_btn(ad);
+}
+
+static void _mp_lockscreenmini_title_set(struct appdata *ad)
+{
+ DEBUG_TRACE("title set");
+
+ MP_CHECK(ad);
+ Evas_Object *label = NULL;
+
+ label = elm_object_part_content_get(ad->lockmini_layout, "elm.text");
+
+ mp_track_info_t *current_item = ad->current_track_info;
+ MP_CHECK(current_item);
+
+ char *markup_title = elm_entry_utf8_to_markup(current_item->title);
+ char *markup_artist = elm_entry_utf8_to_markup(current_item->artist);
+
+ char *title_shadow =
+ g_strdup_printf("far_shadow,bottom shadow_color=#00000080");
+ char *title_format =
+ "<align=center><style=%s><font_size=%d><color=#%s><color_class=%s>%s - %s</font></color_class></font_size></style></align>";
+ char *title = NULL;
+ char *title_format_left =
+ "<align=left><style=%s><font_size=%d><color=#%s><color_class=%s>%s - %s</font></color_class></font_size></style></align>";
+
+ if (markup_title && markup_artist) {
+ if (strlen(markup_artist) + strlen(markup_title) + 3 <= 50) {
+ title =
+ g_strdup_printf(title_format, title_shadow, 30, "FFFFFFFF",
+ "ATO003", markup_title, markup_artist);
+ } else {
+ title =
+ g_strdup_printf(title_format_left, title_shadow, 30,
+ "FFFFFFFF", "ATO003", markup_title,
+ markup_artist);
+ }
+ }
+
+ edje_object_part_text_set(_EDJ(ad->lockmini_layout), "artist.text",
+ markup_artist);
+ if (!label) {
+ label =
+ mp_widget_slide_title_create(ad->lockmini_layout, "slide_roll",
+ title);
+ elm_object_part_content_set(ad->lockmini_layout, "elm.text",
+ label);
+ } else {
+ elm_object_text_set(label, title);
+ }
+
+ elm_label_slide_mode_set(label, ELM_LABEL_SLIDE_MODE_ALWAYS);
+ elm_label_slide_go(label);
+
+ SAFE_FREE(title_shadow);
+ SAFE_FREE(title);
+ SAFE_FREE(markup_title);
+ SAFE_FREE(markup_artist);
+ evas_object_show(label);
+}
+
+void mp_lockscreenmini_update(struct appdata *ad)
+{
+
+ DEBUG_TRACE();
+ mp_retm_if(ad == NULL, "appdata is NULL");
+ MP_CHECK(ad->win_lockmini);
+ MP_CHECK(!ad->is_lcd_off);
+ MP_CHECK(ad->current_track_info);
+
+ int ret = -1;
+
+ bundle *b = bundle_create();
+ if (b == NULL) {
+ ERROR_TRACE("Unable to add data to bundle");
+ bundle_free(b);
+ return;
+ }
+
+ if (ad->current_track_info->thumbnail_path) {
+ DEBUG_TRACE("Thumbnail Location: %s",
+ ad->current_track_info->thumbnail_path);
+ ret =
+ bundle_add_str(b, "lockscreen/background/file_path",
+ ad->current_track_info->thumbnail_path);
+ if (ret != BUNDLE_ERROR_NONE) {
+ ERROR_TRACE
+ ("failed bundle_add_str in ad->current_track_info->thumbnail_path");
+ bundle_free(b);
+ return;
+ }
+ } else {
+ if (ad->lockscreen_wallpaper) {
+ ret =
+ bundle_add_str(b, "lockscreen/background/file_path",
+ ad->lockscreen_wallpaper);
+ if (ret != BUNDLE_ERROR_NONE) {
+ ERROR_TRACE
+ ("failed bundle_add_str in ad->lockscreen_wallpaper");
+ bundle_free(b);
+ }
+ } else {
+ DEBUG_TRACE("wallpaper is empty");
+ }
+ }
+ ret =
+ message_port_send_trusted_message_with_local_port
+ ("org.tizen.lockscreen", "lockscreen/port/background/ondemand", b,
+ port_id);
+ if (ret != MESSAGE_PORT_ERROR_NONE) {
+ ERROR_TRACE("Failed to send message via port, value = %s ",
+ get_error_message(ret));
+ bundle_free(b);
+ return;
+ }
+ bundle_free(b);
+ mp_lockscreenmini_update_control(ad);
+
+ mp_track_info_t *current_item = ad->current_track_info;
+ if (current_item) {
+ _mp_lockscreenmini_title_set(ad);
+
+ evas_object_show(ad->lockmini_layout);
+ }
+}
+
+int mp_lockscreenmini_hide(struct appdata *ad)
+{
+ DEBUG_TRACE("lockscreenmini view hide!!\n");
+ mp_retvm_if(ad == NULL, -1, "appdata is NULL");
+ MP_CHECK_VAL(ad->win_lockmini, -1);
+
+ evas_object_hide(ad->win_lockmini);
+ ad->b_lockmini_show = FALSE;
+
+ mp_ecore_timer_del(ad->lockmini_progress_timer);
+ mp_ecore_timer_del(ad->lockmini_button_timer);
+
+ return 0;
+}
+
+int mp_lockscreenmini_destroy(struct appdata *ad)
+{
+ DEBUG_TRACE("lockscreenmini view destroy!!");
+ mp_retvm_if(ad == NULL, -1, "appdata is NULL");
+ MP_CHECK_VAL(ad->win_lockmini, -1);
+
+ if (ad->lockmini_layout != NULL) {
+ ad->b_lockmini_show = FALSE;
+ }
+
+ evas_object_hide(ad->win_lockmini);
+ mp_ecore_timer_del(ad->lockmini_progress_timer);
+ mp_ecore_timer_del(ad->lockmini_button_timer);
+ ad->lockmini_visible = false;
+ deregister_port();
+
+ int ret =
+ system_settings_set_value_string
+ (SYSTEM_SETTINGS_KEY_WALLPAPER_LOCK_SCREEN,
+ ad->lockscreen_wallpaper);
+ if (ret != SYSTEM_SETTINGS_ERROR_NONE) {
+ ERROR_TRACE("Failed to set original locksreen wallpaper");
+ }
+ char *path = app_get_data_path();
+ char lscr_state[1024] = { 0 };
+ snprintf(lscr_state, 1024, "%s%s", path, MP_LSCR_CONTROL);
+ free(path);
+ ecore_file_remove(lscr_state);
+ return 0;
+}
+
+void mp_lockscreenmini_visible_set(struct appdata *ad, bool visible)
+{
+ DEBUG_TRACE("visible: %d", visible);
+ MP_CHECK(ad);
+ MP_CHECK(ad->win_lockmini);
+
+ ad->lockmini_visible = visible;
+ _mp_lockscreenmini_title_set(ad);
+ mp_lockscreenmini_update_control(ad);
+
+ display_state_e lock_state;
+ int ret = device_display_get_state(&lock_state);
+ if (ret == DEVICE_ERROR_NONE) {
+ ERROR_TRACE("[SUCCESSFULL] Return value is %d", ret);
+ } else {
+ ERROR_TRACE("[ERROR] Return value is %d", ret);
+ }
+ if (lock_state == DISPLAY_STATE_SCREEN_OFF
+ || lock_state == DISPLAY_STATE_SCREEN_DIM) {
+ ERROR_TRACE("timer locks deleted");
+ mp_ecore_timer_del(ad->lockmini_progress_timer);
+ }
+}
+
+bool mp_lockscreenmini_visible_get(struct appdata *ad)
+{
+ MP_CHECK_FALSE(ad);
+ MP_CHECK_FALSE(ad->win_lockmini);
+
+ return ad->lockmini_visible;
+}
+
+void mp_lockscreenmini_on_lcd_event(struct appdata *ad, bool lcd_on)
+{
+ DEBUG_TRACE("lcd_on [%d]", lcd_on);
+ MP_CHECK(ad);
+
+ if (lcd_on && mp_util_is_now_active_player()) {
+ if (ad->player_state == PLAY_STATE_PLAYING) {
+ mp_lockscreenmini_show(ad);
+ }
+ }
+
+ mp_lockscreenmini_visible_set(ad, lcd_on);
+}
+
+#endif
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include "music.h"
+#include "mp-lyric.h"
+#include "mp-lyric-mgr.h"
+#include "mp-common.h"
+#include "mp-player-mgr.h"
+#include "mp-player-view.h"
+#include "mp-widget.h"
+#include "mp-util.h"
+#include <metadata_extractor.h>
+
+typedef struct {
+ bool b_drag;
+ int win_w;
+ int win_h;
+ mp_lyric_mgr_t *lyric_mgr;
+ Evas_Object *layout;
+ Evas_Object *scroller;
+ Evas_Object *box;
+ Evas_Object *cur_line;
+ Evas_Object *prev_line;
+ int prev_line_index;
+ int cur_line_index;
+ char *path;
+} MpLyricData_t;
+
+#define MP_LRC_STR_NO_LYRIC ("IDS_MUSIC_SK3_NO_LYRICS")
+#define MP_LRC_FOLDER_PATH "/opt/usr/media/Sounds/Lyric/"
+#define MP_LRC_SIFFIX_NAME ".lrc"
+#define MP_LRC_FILE_PATH_LEN (int)255 /* The max length of file path */
+
+#define MP_LRC_LINE_COLOR_DEFAULT "#FFFFFF" /* 62:62:62 -> 707070 */
+#define MP_LRC_LINE_COLOR_PLAYING "#277EE6" /* 0:0:0 -> #3b7352 */
+#define MP_LRC_FONT_CURRENT_SIZE (int)30 /* The size of current playing line */
+#define MP_LRC_FONT_NORMAL_SIZE (int)30 /* The size of normal line */
+
+#define HD_MAIN_W 720
+#define HD_MAIN_H 1280
+
+/* Portrait mode */
+#define MP_LRC_VIEW_H_SCALE 720/HD_MAIN_H /* The hight of lyric view */
+#define MP_LRC_VIEW_W_SCALE 608/HD_MAIN_W /* The wigth of lyric view */
+
+/* Landscape mode */
+#define MP_LRC_VIEW_H_SCALE_LS 104/HD_MAIN_W
+#define MP_LRC_VIEW_W_SCALE_LS 400/HD_MAIN_W
+
+#define MP_LRC_HEAD_H_SCALE 15/HD_MAIN_H
+#define MP_LRC_HEAD_H_SCALE_LS 10/HD_MAIN_W
+
+static void
+_mp_lyric_view_drag_start(void *data, Evas * e, Evas_Object * obj,
+ void *event_info)
+{
+ startfunc;
+ MpLyricData_t *wd = data;
+ MP_CHECK(wd);
+
+ wd->b_drag = true;
+}
+
+static void
+_mp_lyric_view_drag_stop(void *data, Evas * e, Evas_Object * obj,
+ void *event_info)
+{
+ startfunc;
+ MpLyricData_t *wd = data;
+ MP_CHECK(wd);
+
+ wd->b_drag = false;
+}
+
+static void
+_mp_lyric_view_layout_del_cb(void *data, Evas * e, Evas_Object * obj,
+ void *event_info)
+{
+ startfunc;
+ MpLyricData_t *wd = data;
+ MP_CHECK(wd);
+ mp_lyric_mgr_destory(wd->lyric_mgr);
+ IF_FREE(wd->path);
+ IF_FREE(wd);
+}
+
+static Evas_Object *_create_lyric(Evas_Object * parent, MpLyricData_t * wd)
+{
+ startfunc;
+ Evas_Object *layout = NULL;
+
+ /* Create layout */
+ layout =
+ mp_common_load_edj(parent, PLAY_VIEW_EDJ_NAME, "mp_lrc_layout");
+ MP_CHECK_NULL(layout);
+ evas_object_event_callback_add(layout, EVAS_CALLBACK_FREE,
+ _mp_lyric_view_layout_del_cb, wd);
+ wd->layout = layout;
+
+ /* Create scroller */
+ Evas_Object *scroller = elm_scroller_add(layout);
+ elm_scroller_bounce_set(scroller, EINA_FALSE, EINA_TRUE);
+ elm_scroller_policy_set(scroller, ELM_SCROLLER_POLICY_OFF,
+ ELM_SCROLLER_POLICY_AUTO);
+ evas_object_show(scroller);
+ wd->scroller = scroller;
+
+ /* Create box */
+ Evas_Object *box = elm_box_add(scroller);
+ evas_object_show(box);
+ evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ wd->box = box;
+
+ /* Set layout content */
+ elm_object_content_set(scroller, box);
+ elm_object_part_content_set(layout, "lyric", scroller);
+
+ /* Set event callback */
+ evas_object_event_callback_add(scroller, EVAS_CALLBACK_MOUSE_DOWN,
+ _mp_lyric_view_drag_start, wd);
+ evas_object_event_callback_add(scroller, EVAS_CALLBACK_MOUSE_UP,
+ _mp_lyric_view_drag_stop, wd);
+
+ elm_win_screen_size_get(parent, NULL, NULL, &wd->win_w, &wd->win_h);
+ evas_object_data_set(layout, "wd", wd);
+
+ return layout;
+}
+
+static void _mp_lyric_view_load_lyric(MpLyricData_t * wd)
+{
+ startfunc;
+ MP_CHECK(wd);
+ MP_CHECK(wd->box);
+
+ MP_CHECK(wd->lyric_mgr);
+
+ /* Create lyric line */
+ int index = 0;
+ Eina_List *list = wd->lyric_mgr->synclrc_list;
+ int count = eina_list_count(list);
+
+ if (count <= 0) {
+ list = wd->lyric_mgr->unsynclrc_list;
+ count = eina_list_count(list);
+ }
+
+ elm_box_clear(wd->box);
+ for (index = 0; index < count; index++) {
+ mp_lrc_node_t *lrc_node =
+ (mp_lrc_node_t *) eina_list_nth(list, index);
+ MP_CHECK(lrc_node);
+ Evas_Object *label = elm_label_add(wd->box);
+ MP_CHECK(label);
+ evas_object_size_hint_fill_set(label, EVAS_HINT_FILL, 0.5);
+ elm_label_line_wrap_set(label, ELM_WRAP_MIXED);
+ char *label_text =
+ g_strdup_printf
+ ("<font_size=30><color=#FFFFFF><align=center>%s</align></color></font_size>",
+ lrc_node->lyric);
+ elm_object_text_set(label, label_text);
+ IF_FREE(label_text);
+ evas_object_show(label);
+ evas_object_data_set(label, "time", &lrc_node->time);
+ elm_box_pack_end(wd->box, label);
+ }
+
+ /* Add gap for head and tail */
+ Evas_Object *head =
+ mp_common_load_edj(wd->box, PLAY_VIEW_EDJ_NAME, "mp_lrc_head");
+ elm_box_pack_start(wd->box, head);
+}
+
+static void
+_mp_lyric_set_line_color(MpLyricData_t * wd, Evas_Object * obj, int index,
+ const char *color)
+{
+ MP_CHECK(obj);
+ MP_CHECK(color);
+ MP_CHECK(index >= 0);
+ MP_CHECK(wd->lyric_mgr);
+
+ Eina_List *list = wd->lyric_mgr->synclrc_list;
+ MP_CHECK(list);
+ int count = eina_list_count(list);
+
+ if (count <= 0) {
+ list = wd->lyric_mgr->unsynclrc_list;
+ }
+
+ mp_lrc_node_t *lrc_node = (mp_lrc_node_t *) eina_list_nth(list, index);
+ MP_CHECK(lrc_node);
+ char *text_old = lrc_node->lyric;
+ MP_CHECK(text_old);
+
+ char *text_new =
+ (char *) malloc(sizeof(char) * (strlen(text_old) + 50));
+ MP_CHECK(text_new);
+ char *text = g_strdup("<color=");
+ strncpy(text_new, text, (strlen(text) + 1));
+ IF_G_FREE(text);
+ strncat(text_new, color, (strlen(color) + 1));
+ text = g_strdup(">");
+ strncat(text_new, text, (strlen(text) + 1));
+ IF_G_FREE(text);
+ strncat(text_new, text_old, (strlen(text_old) + 1));
+ text = g_strdup("</color>");
+ strncat(text_new, text, (strlen(text) + 1));
+ IF_G_FREE(text);
+
+ edje_object_part_text_set(_EDJ(obj), "txt", text_new);
+
+ IF_FREE(text_new);
+
+}
+
+static Eina_List *_mp_lyric_get_line_list(MpLyricData_t * wd)
+{
+ MP_CHECK_NULL(wd);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_NULL(ad);
+
+ Eina_List *list = NULL;
+ MpLyricData_t *lyric = wd;
+
+ Evas_Object *scroller = lyric->scroller;
+ Evas_Object *content = elm_object_content_get(scroller);
+ list = elm_box_children_get(content);
+ return list;
+}
+
+static Evas_Object *_mp_lyric_get_line(MpLyricData_t * wd, int index)
+{
+ MP_CHECK_NULL(index >= 0);
+ Eina_List *list = _mp_lyric_get_line_list(wd);
+ Evas_Object *line = NULL;
+ if (list) {
+ line = eina_list_nth(list, index + 1);
+
+ eina_list_free(list);
+ list = NULL;
+ }
+ return line;
+}
+
+static void _mp_lyric_set_current_line(MpLyricData_t * wd, int index)
+{
+ MP_CHECK(index >= 0);
+ MP_CHECK(wd);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ Evas_Object *line = _mp_lyric_get_line(wd, index);
+ MP_CHECK(line);
+
+ /* No change */
+ if (wd->cur_line == line) {
+ return;
+ }
+
+ /* Update current line */
+ wd->prev_line = wd->cur_line;
+ wd->cur_line = line;
+
+ wd->prev_line_index = wd->cur_line_index;
+ wd->cur_line_index = index;
+
+ int x0, y0, w0, h0;
+ Evas_Object *head = _mp_lyric_get_line(wd, 0);
+
+ evas_object_geometry_get(head, &x0, &y0, &w0, &h0);
+ int head_gap = y0 + h0;
+
+ //DEBUG_TRACE("===Get current line====i =%d, x=%d, y=%d, w=%d, h=%d\n",index, x0, y0, w0, h0);
+ int x, y, w, h;
+ evas_object_geometry_get(wd->cur_line, &x, &y, &w, &h);
+ //DEBUG_TRACE("===Get current line====i =%d, x=%d, y=%d, w=%d, h=%d\n",index, x, y, w, h);
+
+ int new_y = 0;
+ if (ad->screen_mode == MP_SCREEN_MODE_LANDSCAPE) {
+ int scale_h_ls = wd->win_w * MP_LRC_VIEW_H_SCALE_LS;
+ int scale_w_ls = wd->win_h * MP_LRC_VIEW_W_SCALE_LS;
+ int scale_head_h_ls = wd->win_w * MP_LRC_HEAD_H_SCALE_LS;
+
+ if ((y - y0) > (scale_h_ls / 2 - scale_head_h_ls)) {
+ new_y =
+ y - head_gap + (h) - (scale_h_ls / 2 - scale_head_h_ls);
+ } else {
+ new_y = y - head_gap + (h / 2) - (y - y0);
+ }
+
+ elm_scroller_region_bring_in(wd->scroller, x, new_y, scale_w_ls,
+ scale_h_ls);
+ } else {
+ int scale_h = wd->win_h * MP_LRC_VIEW_H_SCALE;
+ int scale_w = wd->win_w * MP_LRC_VIEW_W_SCALE;
+ int scale_head_h = wd->win_h * MP_LRC_HEAD_H_SCALE;
+
+ if ((y - y0) > (scale_h / 2 - scale_head_h)) {
+ new_y = y - head_gap + (h) - (scale_h / 2 - scale_head_h);
+ } else {
+ new_y = y - head_gap + (h / 2) - (y - y0);
+ }
+
+ elm_scroller_region_bring_in(wd->scroller, x, new_y, scale_w,
+ scale_h);
+ }
+
+ _mp_lyric_set_line_color(wd, wd->cur_line, wd->cur_line_index,
+ MP_LRC_LINE_COLOR_PLAYING);
+
+ if (wd->prev_line != NULL) {
+ _mp_lyric_set_line_color(wd, wd->prev_line, wd->prev_line_index,
+ MP_LRC_LINE_COLOR_DEFAULT);
+ }
+
+ evas_object_show(wd->scroller);
+
+}
+
+Evas_Object *mp_lyric_create(Evas_Object * parent, const char *path)
+{
+ startfunc;
+ MP_CHECK_NULL(parent);
+ MP_CHECK_NULL(path);
+
+ Evas_Object *lyric_layout = NULL;
+ MpLyricData_t *wd = NULL;
+
+ int sync_num = 0;
+ DEBUG_TRACE("sync_num=%d", sync_num);
+
+ mp_lyric_mgr_t *lyric_mgr = mp_lyric_mgr_create(path);
+ MP_CHECK_NULL(lyric_mgr);
+
+ wd = calloc(1, sizeof(MpLyricData_t));
+ if (!wd) {
+ mp_lyric_mgr_destory(lyric_mgr);
+ return NULL;
+ }
+
+ lyric_layout = _create_lyric(parent, wd);
+ if (!lyric_layout) {
+ goto ERROR;
+ }
+
+ wd->lyric_mgr = lyric_mgr;
+
+ _mp_lyric_view_load_lyric(wd);
+
+ wd->path = strdup(path);
+
+ return lyric_layout;
+
+ ERROR:
+ ERROR_TRACE("Unable to create lyric");
+ IF_FREE(wd->path);
+ IF_FREE(wd);
+
+ mp_lyric_mgr_destory(lyric_mgr);
+ return NULL;
+}
+
+void mp_lyric_sync_update(Evas_Object * lyric)
+{
+ MP_CHECK(lyric);
+ MpLyricData_t *wd = evas_object_data_get(lyric, "wd");
+ MP_CHECK(wd);
+
+ if (wd->b_drag) {
+ return;
+ }
+
+ if (wd->lyric_mgr) {
+ Eina_List *list = wd->lyric_mgr->synclrc_list;
+ if (!list) {
+ return;
+ }
+
+ int count = eina_list_count(list);
+ int pos = mp_player_mgr_get_position();
+ int index = 0;
+ //DEBUG_TRACE("pos=%d, count=%d", pos, count);
+ /* Get the current playing line */
+ for (index = 0; index < count - 1; index++) {
+ mp_lrc_node_t *node1 =
+ (mp_lrc_node_t *) eina_list_nth(list, index);
+ //mp_lrc_node_t *node2 = (mp_lrc_node_t*)eina_list_nth(list, index+1);
+ MP_CHECK(node1);
+ //MP_CHECK(node2);
+ if ((pos <= node1->time)) {
+ //DEBUG_TRACE("node1->time=%ld", node1->time);
+ _mp_lyric_set_current_line(wd, index);
+ break;
+ }
+ }
+ }
+
+}
+
+const char *mp_lyric_get_path(Evas_Object * lyric)
+{
+ MP_CHECK_NULL(lyric);
+ MpLyricData_t *wd = evas_object_data_get(lyric, "wd");
+ MP_CHECK_NULL(wd);
+
+ return wd->path;
+
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include <sys/time.h>
+#include <minicontrol-provider.h>
+#include <minicontrol-type.h>
+#include "mp-minicontroller.h"
+#include "mp-player-control.h"
+#include "mp-play.h"
+#include "Ecore.h"
+#include "mp-player-mgr.h"
+#include "mp-util.h"
+#include "mp-widget.h"
+#include "mp-setting-ctrl.h"
+#include "mp-player-view.h"
+#include <device/display.h>
+#include <device/callback.h>
+#include <recorder.h>
+
+#define MINI_CONTROLLER_HEIGHT (93)
+#define WL_INDI_H 27 //Window Layout Indicator Height
+#define PAUSE_TIME_OUT 120.
+
+#define CTR_EDJ_SIG_SRC "ctrl_edj"
+#define CTR_PROG_SIG_SRC "ctrl_prog"
+
+#define BUFFER_MAX 256
+
+
+Evas_Coord xD, yD, xU, yU, xDMove, yDMove;
+
+static time_t press_time;
+static time_t release_time;
+int MINI_CONTROLLER_WIDTH;
+int MINI_CONTROLLER_WIDTH_LANDSCAPE;
+
+bool hide_from_mp = false;
+
+static void _minicontroller_action_cb(void *data, Evas_Object * obj,
+ const char *emission,
+ const char *source);
+static Evas_Object *_load_edj(Evas_Object * parent, const char *file,
+ const char *group);
+static void _load_minicontroller(struct appdata *ad);
+static void _mp_minicontroller_update_layout(struct appdata *ad,
+ bool landscape);
+static void _mp_minicontroller_title_set(struct appdata *ad);
+
+static bool _mp_minicontroller_is_long_press()
+{
+ bool result = false;
+ DEBUG_TRACE("press time is %s", ctime(&press_time));
+ DEBUG_TRACE("release time is %s", ctime(&release_time));
+ if (difftime(release_time, press_time) > 1.0) {
+ result = true;
+ }
+
+ memset(&release_time, 0, sizeof(time_t));
+ memset(&press_time, 0, sizeof(time_t));
+
+ DEBUG_TRACE("is %s long press", result ? "" : "not");
+ return result;
+}
+
+static bool _mp_minicontroller_landscape_is(struct appdata *ad, int angle)
+{
+ startfunc;
+ MP_CHECK_FALSE(ad);
+ MP_CHECK_FALSE(ad->win_minicon);
+
+ bool landscape = false;
+ if (angle == 90 || angle == 270) {
+ landscape = true;
+ } else {
+ landscape = false;
+ }
+ return landscape;
+}
+
+static void _mp_minicontroller_action_show_player_view(struct appdata *ad)
+{
+ startfunc;
+ MP_CHECK(ad);
+#ifndef MP_SOUND_PLAYER
+ if (GET_PLAYER_VIEW != mp_view_mgr_get_top_view(GET_VIEW_MGR)) {
+ if (!ad->is_focus_out) {
+ minicontrol_send_event(ad->win_minicon,
+ MINICONTROL_EVENT_REQUEST_HIDE, NULL);
+ } else {
+ mp_util_app_resume();
+ }
+ mp_common_show_player_view(MP_PLAYER_NORMAL, true, false, true);
+ } else
+#endif
+ {
+ if (!ad->is_focus_out) {
+ minicontrol_send_event(ad->win_minicon,
+ MINICONTROL_EVENT_REQUEST_HIDE, NULL);
+ } else {
+ mp_util_app_resume();
+ }
+ }
+}
+
+static void
+_minicontroller_action_cb(void *data, Evas_Object * obj,
+ const char *emission, const char *source)
+{
+ struct appdata *ad = (struct appdata *) data;
+ mp_retm_if(ad == NULL, "appdata is NULL");
+ //EVENT_TRACE("emission: %s", emission);
+ if (emission) {
+ if (!g_strcmp0(emission, "close_btn_clicked")) {
+ EVENT_TRACE("CLOSE");
+ if (!mp_util_is_other_player_playing()) {
+ int ret_set = 0;
+ ret_set =
+ preference_set_int(PREF_MUSIC_STATE, PREF_MUSIC_OFF);
+ if (ret_set) {
+ ERROR_TRACE("set preference failed");
+ }
+ }
+ elm_exit();
+ } else if (!g_strcmp0(emission, "albumart_clicked")) {
+ EVENT_TRACE("albumart");
+ _mp_minicontroller_action_show_player_view(ad);
+ return;
+ }
+ }
+
+}
+
+static Evas_Object *_load_edj(Evas_Object * parent, const char *file,
+ const char *group)
+{
+ Evas_Object *eo;
+ int r;
+
+ eo = elm_layout_add(parent);
+ if (eo) {
+ char edje_path[1024] = { 0 };
+ char *path = app_get_resource_path();
+
+ MP_CHECK_NULL(path);
+ snprintf(edje_path, 1024, "%s%s/%s", path, "edje", file);
+
+ r = elm_layout_file_set(eo, edje_path, group);
+ free(path);
+ if (!r) {
+ evas_object_del(eo);
+ return NULL;
+ }
+ evas_object_size_hint_weight_set(eo, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ elm_win_resize_object_add(parent, eo);
+ evas_object_show(eo);
+ }
+
+ return eo;
+}
+
+static void _quick_panel_cb(minicontrol_viewer_event_e event_type,
+ bundle * event_arg)
+{
+ startfunc;
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ minicontrol_viewer_event_e event_hide =
+ (minicontrol_viewer_event_e) MINICONTROL_EVENT_REQUEST_HIDE;
+ if (event_type == event_hide) {
+ DEBUG_TRACE("CLOSE");
+ if (!mp_util_is_other_player_playing()) {
+ int ret_set = 0;
+ ret_set = preference_set_int(PREF_MUSIC_STATE, PREF_MUSIC_OFF);
+ if (ret_set) {
+ ERROR_TRACE("set preference failed");
+ }
+ }
+ mp_play_control_reset_ff_rew();
+ xD = 0;
+ yD = 0;
+ xDMove = 0;
+ yDMove = 0;
+ xU = 0;
+ yU = 0;
+ ad->is_sdcard_removed = false;
+ if (!hide_from_mp) {
+ elm_exit();
+ }
+ }
+ if (event_type ==
+ (minicontrol_viewer_event_e) MINICONTROL_VIEWER_EVENT_REPORT_ANGLE) {
+ char *value = NULL;
+ int angle = 0;
+ bundle_get_str(event_arg, "angle", &value);
+ if (value && strlen(value) > 0) {
+ angle = atoi(value);
+ DEBUG_TRACE("Angle is : %d", angle);
+ }
+ mp_minicontroller_rotate(ad, angle);
+ }
+ hide_from_mp = false;
+}
+
+static void _load_minicontroller(struct appdata *ad)
+{
+ DEBUG_TRACE_FUNC();
+ MP_CHECK(ad);
+ Evas_Object *win = NULL;
+
+#ifndef MP_SOUND_PLAYER
+ win =
+ minicontrol_create_window("musicplayer-mini",
+ MINICONTROL_TARGET_VIEWER_QUICK_PANEL,
+ _quick_panel_cb);
+
+#else
+ win =
+ minicontrol_create_window("soundplayer-mini",
+ MINICONTROL_TARGET_VIEWER_QUICK_PANEL,
+ _quick_panel_cb);
+#endif
+
+ if (!win) {
+ return;
+ }
+
+ elm_win_alpha_set(win, EINA_TRUE);
+
+ ad->win_minicon = win;
+
+ /* load edje */
+ bool landscape =
+ _mp_minicontroller_landscape_is(ad, ad->quickpanel_angle);
+ _mp_minicontroller_update_layout(ad, landscape);
+
+ //evas_object_show(eo);
+
+ return;
+}
+
+static void _mp_minicontroller_register_reader(void *data)
+{
+ struct appdata *ad = data;
+ MP_CHECK(ad);
+}
+
+void mp_minicontroller_update_winmini_size(struct appdata *ad)
+{
+ DEBUG_TRACE_FUNC();
+ MP_CHECK(ad);
+
+ int angle = ad->quickpanel_angle;
+ int w = 0;
+ if ((elm_config_scale_get() - 1.7) < 0.0001) {
+ MINI_CONTROLLER_WIDTH = 318;
+ MINI_CONTROLLER_WIDTH_LANDSCAPE = 564;
+ } else if ((elm_config_scale_get() - 1.8) < 0.0001) {
+ MINI_CONTROLLER_WIDTH = 267;
+ MINI_CONTROLLER_WIDTH_LANDSCAPE = 444;
+ } else if ((elm_config_scale_get() - 2.4) < 0.0001) {
+ MINI_CONTROLLER_WIDTH = 300;
+ MINI_CONTROLLER_WIDTH_LANDSCAPE = 533;
+ } else if ((elm_config_scale_get() - 2.6) < 0.0001) {
+ MINI_CONTROLLER_WIDTH = 277;
+ MINI_CONTROLLER_WIDTH_LANDSCAPE = 492;
+ } else if ((elm_config_scale_get() - 2.8) < 0.0001) {
+ MINI_CONTROLLER_WIDTH = 257;
+ MINI_CONTROLLER_WIDTH_LANDSCAPE = 457;
+ }
+
+ if (angle == 90 || angle == 270) {
+ w = MINI_CONTROLLER_WIDTH_LANDSCAPE;
+ } else {
+ w = MINI_CONTROLLER_WIDTH;
+ }
+
+ double scale = elm_config_scale_get();
+ DEBUG_TRACE("scale: %f and width: %d and height: %d", scale, w,
+ MINI_CONTROLLER_HEIGHT);
+ evas_object_resize(ad->win_minicon, w * scale,
+ MINI_CONTROLLER_HEIGHT * scale);
+
+ return;
+}
+
+int mp_minicontroller_create(struct appdata *ad)
+{
+ DEBUG_TRACE_FUNC();
+ mp_retvm_if(ad == NULL, -1, "appdata is NULL");
+ //MP_CHECK_VAL(!ad->is_lcd_off, -1);
+
+ if (!(ad->minicontroller_layout && ad->win_minicon)) {
+
+ _load_minicontroller(ad);
+ if (ad->minicontroller_layout == NULL) {
+ DEBUG_TRACE("ERROR");
+ return -1;
+ }
+ }
+
+ mp_minicontroller_update_winmini_size(ad);
+
+ mp_minicontroller_show(ad);
+ _mp_minicontroller_title_set(ad);
+
+ return 0;
+}
+
+
+int mp_minicontroller_show(struct appdata *ad)
+{
+ DEBUG_TRACE("minicontroller view show!!");
+ mp_retvm_if(ad == NULL, -1, "appdata is NULL");
+ MP_CHECK_VAL(ad->win_minicon, -1);
+ MP_CHECK_VAL(!ad->is_lcd_off, -1);
+ /* Not show minicontrol when current track not exsit */
+ MP_CHECK_VAL(ad->current_track_info, -1);
+
+#ifdef MP_SOUND_PLAYER
+ preference_set_int(PREF_MINICONTROLLER, PREF_SOUND_PLAYER_MINICONTROLLER);
+#else
+ preference_set_int(PREF_MINICONTROLLER, PREF_MUSIC_PLAYER_MINICONTROLLER);
+#endif
+
+ ad->b_minicontroller_show = TRUE;
+ mp_minicontroller_update(ad, false);
+ evas_object_show(ad->win_minicon);
+ return 0;
+
+}
+
+static void _mp_minicontroller_update_btn(struct appdata *ad)
+{
+ startfunc;
+ mp_retm_if(ad == NULL, "appdata is NULL");
+ MP_CHECK(ad->win_minicon);
+ MP_CHECK(!ad->is_lcd_off);
+
+ if (ad->player_state == PLAY_STATE_PLAYING) {
+ elm_object_signal_emit(ad->minicontroller_layout, "set_pause",
+ "c_source");
+ } else {
+ elm_object_signal_emit(ad->minicontroller_layout, "set_play",
+ "c_source");
+ }
+}
+
+static Eina_Bool _mp_minicontroller_btn_update_timer(void *data)
+{
+ struct appdata *ad = data;
+ MP_CHECK_FALSE(ad);
+
+ _mp_minicontroller_update_btn(data);
+
+ ad->minicon_button_timer = NULL;
+ return EINA_FALSE;
+}
+
+static void _mp_minicontroller_update_playpause_btn(struct appdata *ad)
+{
+ mp_ecore_timer_del(ad->minicon_button_timer);
+
+ if (ad->player_state == PLAY_STATE_PLAYING
+ || ad->player_state == PLAY_STATE_PAUSED) {
+ _mp_minicontroller_update_btn(ad);
+ } else {
+ ad->minicon_button_timer =
+ ecore_timer_add(1.0, _mp_minicontroller_btn_update_timer, ad);
+ }
+}
+
+void mp_minicontroller_update_control(struct appdata *ad)
+{
+ startfunc;
+ mp_retm_if(ad == NULL, "appdata is NULL");
+ MP_CHECK(ad->win_minicon);
+ MP_CHECK(!ad->is_lcd_off);
+
+ _mp_minicontroller_update_playpause_btn(ad);
+}
+
+int _mp_is_current_focus_available(struct appdata *ad)
+{
+ sound_stream_focus_change_reason_e changed_by =
+ SOUND_STREAM_FOCUS_CHANGED_BY_MEDIA;
+ int ret = SOUND_MANAGER_ERROR_NONE;
+ int rec_flag = SOUND_BEHAVIOR_NONE;
+ int playback_flag = SOUND_BEHAVIOR_NONE;
+ char *additional_info = NULL;
+
+ ret =
+ sound_manager_get_current_recording_focus(&changed_by, &rec_flag,
+ &additional_info);
+ if (ret != SOUND_MANAGER_ERROR_NONE) {
+ ERROR_TRACE("Cannot determine current recording focus");
+ }
+
+ if (!g_strcmp0(additional_info, "video_recorder")) {
+ DEBUG_TRACE
+ ("Video Recorder Timer is active. Cannot resume Music Player");
+ if (ad->isPlayBtn) {
+ char *message = STR_MP_UNABLE_TO_PLAY_DURING_RECORDING;
+ if (message) {
+ int ret =
+ notification_status_message_post(dgettext
+ ("music-player",
+ message));
+ if (ret != 0) {
+ ERROR_TRACE("notification_status_message_post()... [0x%x]",
+ ret);
+ } else {
+ DEBUG_TRACE("message: [%s]", message);
+ }
+ }
+ }
+ return -1;
+ }
+
+ DEBUG_TRACE("Recorder state changed by : %d", changed_by);
+ if (changed_by == SOUND_STREAM_FOCUS_CHANGED_BY_VOICE_RECOGNITION) {
+ DEBUG_TRACE("Cannot resume Music Player. Speak Mode is on");
+ return -1;
+ }
+
+ IF_FREE(additional_info);
+
+ changed_by = SOUND_STREAM_FOCUS_CHANGED_BY_MEDIA;
+ ret =
+ sound_manager_get_current_playback_focus(&changed_by,
+ &playback_flag,
+ &additional_info);
+ if (ret != SOUND_MANAGER_ERROR_NONE) {
+ ERROR_TRACE("Cannot determine current playback focus");
+ }
+
+ DEBUG_TRACE("Playback state changed by : %d", changed_by);
+ if (changed_by == SOUND_STREAM_FOCUS_CHANGED_BY_CALL
+ || changed_by == SOUND_STREAM_FOCUS_CHANGED_BY_VOIP
+ || changed_by == SOUND_STREAM_FOCUS_CHANGED_BY_RINGTONE) {
+ DEBUG_TRACE("Cannot resume Music Player due to call");
+ if (ad->isPlayBtn) {
+ char *message = STR_MP_UNABLE_TO_PLAY_DURING_CALL;
+ if (message) {
+ int ret =
+ notification_status_message_post(dgettext
+ ("music-player",
+ message));
+ if (ret != 0) {
+ ERROR_TRACE("notification_status_message_post()... [0x%x]",
+ ret);
+ } else {
+ DEBUG_TRACE("message: [%s]", message);
+ }
+ }
+ }
+ return -1;
+ }
+
+ if (ad->recorder_state == RECORDER_DEVICE_STATE_RECORDING
+ || ad->recorder_state == RECORDER_DEVICE_STATE_PAUSED) {
+ DEBUG_TRACE
+ ("Cannot resume Music Player. Video Recorder is in use");
+ if (ad->isPlayBtn) {
+ char *message = STR_MP_UNABLE_TO_PLAY_DURING_RECORDING;
+ if (message) {
+ int ret =
+ notification_status_message_post(dgettext
+ ("music-player",
+ message));
+ if (ret != 0) {
+ ERROR_TRACE("notification_status_message_post()... [0x%x]",
+ ret);
+ } else {
+ DEBUG_TRACE("message: [%s]", message);
+ }
+ }
+ }
+ return -1;
+ }
+
+ return 0;
+}
+
+static void _mp_minicontroller_play_pause_btn_clicked_cb(void *data,
+ Evas_Object * obj,
+ void *event_info)
+{
+ DEBUG_TRACE("play/pause button clicked");
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ ad->isPlayBtn = true;
+ if (_mp_is_current_focus_available(ad) != 0) {
+ ERROR_TRACE
+ ("Some other application has the focus currently... Returning...");
+ return;
+ }
+
+ if (ad->player_state == PLAY_STATE_PLAYING) {
+ mp_play_control_play_pause(ad, false);
+ } else {
+ mp_play_control_play_pause(ad, true);
+ }
+}
+
+static void _mp_minicontroller_ff_rew_btn_pressed_cb(void *data,
+ Evas_Object * obj,
+ void *event_info)
+{
+ DEBUG_TRACE("button pressed");
+ time(&press_time);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ ad->isPlayBtn = false;
+ if (_mp_is_current_focus_available(ad) != 0) {
+ ERROR_TRACE
+ ("Some other application has the focus currently... Changing to paused state...");
+ ad->paused_by_user = TRUE;
+ }
+
+ char *source = (char *) data;
+ if (!g_strcmp0(source, CONTROLLER_FF_SOURCE)) {
+ mp_play_control_ff(true, false, false);
+ } else {
+ mp_play_control_rew(true, false, false);
+ }
+}
+
+static void _mp_minicontroller_ff_rew_btn_unpressed_cb(void *data,
+ Evas_Object * obj,
+ void *event_info)
+{
+ DEBUG_TRACE("button unpressed");
+ time(&release_time);
+ char *source = (char *) data;
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ MP_CHECK(ad->minicontroller_layout);
+ if (!g_strcmp0(source, CONTROLLER_FF_SOURCE)) {
+ mp_play_control_ff(false, false, false);
+ elm_object_signal_emit(ad->minicontroller_layout,
+ "ff_btn_unpressed", "c_source");
+ } else {
+ mp_play_control_rew(false, false, false);
+ elm_object_signal_emit(ad->minicontroller_layout,
+ "rew_btn_unpressed", "c_source");
+ }
+}
+
+static void _mp_minicontroller_ff_rew_btn_clicked_cb(void *data,
+ Evas_Object * obj,
+ void *event_info)
+{
+ DEBUG_TRACE("button clicked");
+ if (_mp_minicontroller_is_long_press()) {
+ return;
+ }
+
+ char *source = (char *) data;
+ if (!g_strcmp0(source, CONTROLLER_FF_SOURCE)) {
+ mp_play_control_ff(false, false, true);
+ } else {
+ mp_play_control_rew(false, false, true);
+ }
+}
+
+/*end of focused UI callbacks*/
+
+static void
+_mp_minicontroller_ff_rew_btn_del_cb(void *data, Evas * e,
+ Evas_Object * obj, void *event_info)
+{
+ startfunc;
+ mp_play_control_reset_ff_rew();
+}
+
+static void
+_mp_minicontroller_update_layout(struct appdata *ad, bool landscape)
+{
+ MP_CHECK(ad);
+
+ if (ad->minicon_progress_timer) {
+ ecore_timer_del(ad->minicon_progress_timer);
+ ad->minicon_progress_timer = NULL;
+ }
+ mp_ecore_timer_del(ad->minicon_button_timer);
+
+ mp_evas_object_del(ad->minicontroller_layout);
+
+ if (landscape) {
+ DEBUG_TRACE("angle: 90 or 270");
+ ad->minicontroller_layout =
+ _load_edj(ad->win_minicon, MINICON_EDJ_NAME,
+ "music-minicontroller-ld");
+ } else {
+ DEBUG_TRACE("angle: 0");
+ ad->minicontroller_layout =
+ _load_edj(ad->win_minicon, MINICON_EDJ_NAME,
+ "music-minicontroller");
+ }
+
+ if (!ad->minicontroller_layout) {
+ return;
+ }
+
+ elm_win_resize_object_add(ad->win_minicon, ad->minicontroller_layout);
+
+ /*add focused UI related */
+ ad->minicon_icon = elm_image_add(ad->minicontroller_layout);
+ evas_object_size_hint_align_set(ad->minicon_icon, EVAS_HINT_FILL,
+ EVAS_HINT_FILL);
+ evas_object_size_hint_weight_set(ad->minicon_icon, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ elm_image_fill_outside_set(ad->minicon_icon, true);
+ elm_object_part_content_set(ad->minicontroller_layout,
+ "albumart_image", ad->minicon_icon);
+ elm_object_focus_custom_chain_append(ad->minicontroller_layout,
+ ad->minicon_icon, NULL);
+ elm_object_focus_allow_set(ad->minicon_icon, EINA_TRUE);
+
+ /*-------> REW button ------->*/
+ Evas_Object *rew_focus_btn = elm_button_add(ad->minicontroller_layout);
+ elm_object_style_set(rew_focus_btn, "focus");
+ elm_object_part_content_set(ad->minicontroller_layout, "rew_btn_focus",
+ rew_focus_btn);
+
+ elm_object_focus_custom_chain_append(ad->minicontroller_layout,
+ rew_focus_btn, NULL);
+ evas_object_smart_callback_add(rew_focus_btn, "clicked",
+ _mp_minicontroller_ff_rew_btn_clicked_cb,
+ CONTROLLER_REW_SOURCE);
+ evas_object_smart_callback_add(rew_focus_btn, "pressed",
+ _mp_minicontroller_ff_rew_btn_pressed_cb,
+ CONTROLLER_REW_SOURCE);
+ evas_object_smart_callback_add(rew_focus_btn, "unpressed",
+ _mp_minicontroller_ff_rew_btn_unpressed_cb,
+ CONTROLLER_REW_SOURCE);
+ evas_object_event_callback_add(rew_focus_btn, EVAS_CALLBACK_DEL,
+ _mp_minicontroller_ff_rew_btn_del_cb,
+ NULL);
+
+ /*-------> play/pause button ------->*/
+ Evas_Object *play_pause_focus_btn =
+ elm_button_add(ad->minicontroller_layout);
+ elm_object_style_set(play_pause_focus_btn, "focus");
+ elm_object_part_content_set(ad->minicontroller_layout,
+ "play_pause_focus", play_pause_focus_btn);
+ elm_object_focus_custom_chain_append(ad->minicontroller_layout,
+ play_pause_focus_btn, NULL);
+ evas_object_smart_callback_add(play_pause_focus_btn, "clicked",
+ _mp_minicontroller_play_pause_btn_clicked_cb,
+ NULL);
+
+ /*------->FF button ------->*/
+ Evas_Object *ff_focus_btn = elm_button_add(ad->minicontroller_layout);
+ elm_object_style_set(ff_focus_btn, "focus");
+ elm_object_part_content_set(ad->minicontroller_layout, "ff_btn_focus",
+ ff_focus_btn);
+
+ elm_object_focus_custom_chain_append(ad->minicontroller_layout,
+ ff_focus_btn, NULL);
+ evas_object_smart_callback_add(ff_focus_btn, "clicked",
+ _mp_minicontroller_ff_rew_btn_clicked_cb,
+ CONTROLLER_FF_SOURCE);
+ evas_object_smart_callback_add(ff_focus_btn, "pressed",
+ _mp_minicontroller_ff_rew_btn_pressed_cb,
+ CONTROLLER_FF_SOURCE);
+ evas_object_smart_callback_add(ff_focus_btn, "unpressed",
+ _mp_minicontroller_ff_rew_btn_unpressed_cb,
+ CONTROLLER_FF_SOURCE);
+ evas_object_event_callback_add(ff_focus_btn, EVAS_CALLBACK_DEL,
+ _mp_minicontroller_ff_rew_btn_del_cb,
+ NULL);
+
+ /*-------> close button ------->*/
+ edje_object_signal_callback_add(_EDJ(ad->minicontroller_layout), "*",
+ "*", _minicontroller_action_cb, ad);
+ _mp_minicontroller_update_btn(ad);
+ _mp_minicontroller_register_reader(ad);
+}
+
+static void _mp_minicontroller_title_set(struct appdata *ad)
+{
+ MP_CHECK(ad);
+ MP_CHECK(ad->minicontroller_layout);
+
+ Evas_Object *label =
+ elm_object_part_content_get(ad->minicontroller_layout, "elm.text");
+
+ mp_track_info_t *current_item = ad->current_track_info;
+ MP_CHECK(current_item);
+
+ int r = 0;
+ int g = 0;
+ int b = 0;
+ int a = 255;
+
+ char *markup_title = elm_entry_utf8_to_markup(current_item->title);
+ char *markup_artist = elm_entry_utf8_to_markup(current_item->artist);
+
+ char *title_format =
+ "<align=left><font_size=%d><color=#%02x%02x%02x%02x>%s - </color></font_size><font_size=%d><color=#%02x%02x%02x%02x>%s</color></font_size></align>";
+ char *title = NULL;
+ if ((markup_title == NULL || strlen(markup_title) == 0)
+ && (markup_artist == NULL || strlen(markup_artist) == 0)) {
+ title = NULL;
+ } else {
+ title =
+ g_strdup_printf(title_format, 24, r, g, b, a, markup_title, 24,
+ r, g, b, a, markup_artist);
+ }
+
+ if (!label) {
+ label =
+ mp_widget_slide_title_create(ad->minicontroller_layout,
+ "slide_roll", title);
+ elm_object_part_content_set(ad->minicontroller_layout, "elm.text",
+ label);
+ } else {
+ elm_object_text_set(label, title);
+ }
+
+ elm_label_slide_mode_set(label, ELM_LABEL_SLIDE_MODE_AUTO);
+ elm_label_slide_go(label);
+
+ SAFE_FREE(title);
+ SAFE_FREE(markup_title);
+ SAFE_FREE(markup_artist);
+ evas_object_show(label);
+
+}
+
+void mp_minicontroller_update(struct appdata *ad, bool with_title)
+{
+
+ DEBUG_TRACE();
+ mp_retm_if(ad == NULL, "appdata is NULL");
+ MP_CHECK(ad->win_minicon);
+ MP_CHECK(!ad->is_lcd_off);
+
+ _mp_minicontroller_update_playpause_btn(ad);
+
+ mp_track_info_t *current_item = ad->current_track_info;
+ if (current_item) {
+ SECURE_DEBUG("album art is %s", current_item->thumbnail_path);
+ if (mp_util_is_image_valid(ad->evas, current_item->thumbnail_path)
+ && strcmp(BROKEN_ALBUMART_IMAGE_PATH,
+ current_item->thumbnail_path)) {
+ elm_image_file_set(ad->minicon_icon,
+ current_item->thumbnail_path, NULL);
+ } else {
+ char default_thumbnail[1024] = { 0 };
+ char *shared_path = app_get_shared_resource_path();
+ snprintf(default_thumbnail, 1024, "%s%s/%s", shared_path,
+ "shared_images", DEFAULT_THUMBNAIL);
+ free(shared_path);
+ elm_image_file_set(ad->minicon_icon, default_thumbnail, NULL);
+ }
+
+ if (with_title) {
+ _mp_minicontroller_title_set(ad);
+ }
+
+ evas_object_show(ad->minicontroller_layout);
+ }
+}
+
+int mp_minicontroller_hide(struct appdata *ad)
+{
+ DEBUG_TRACE("minicontroller view hide!!\n");
+ mp_retvm_if(ad == NULL, -1, "appdata is NULL");
+ MP_CHECK_VAL(ad->win_minicon, -1);
+
+ hide_from_mp = true;
+ evas_object_hide(ad->win_minicon);
+ ad->b_minicontroller_show = FALSE;
+
+ mp_ecore_timer_del(ad->minicon_progress_timer);
+ mp_ecore_timer_del(ad->minicon_button_timer);
+
+ return 0;
+
+}
+
+int mp_minicontroller_destroy(struct appdata *ad)
+{
+ DEBUG_TRACE("minicontroller view destroy!!");
+ mp_retvm_if(ad == NULL, -1, "appdata is NULL");
+ MP_CHECK_VAL(ad->win_minicon, -1);
+
+ if (ad->minicontroller_layout != NULL) {
+ ad->b_minicontroller_show = FALSE;
+ }
+ hide_from_mp = true;
+ evas_object_hide(ad->win_minicon);
+ mp_ecore_timer_del(ad->minicon_progress_timer);
+ mp_ecore_timer_del(ad->minicon_button_timer);
+
+ ad->minicon_visible = false;
+
+ return 0;
+}
+
+void mp_minicontroller_rotate(struct appdata *ad, int angle)
+{
+ startfunc;
+ MP_CHECK(ad);
+ MP_CHECK(ad->win_minicon);
+ MP_CHECK(ad->minicontroller_layout);
+
+ int w = 0;
+ const char *signal = NULL;
+ bool landscape = _mp_minicontroller_landscape_is(ad, angle);
+ if (landscape) {
+ signal = "sig_set_landscape_mode";
+ w = MINI_CONTROLLER_WIDTH_LANDSCAPE;
+ landscape = true;
+ } else {
+ signal = "sig_set_portrait_mode";
+ w = MINI_CONTROLLER_WIDTH;
+ landscape = false;
+ }
+
+ elm_object_signal_emit(ad->minicontroller_layout, signal, "c_source");
+
+ double scale = elm_config_scale_get();
+ evas_object_resize(ad->win_minicon, w * scale,
+ MINI_CONTROLLER_HEIGHT * scale);
+ _mp_minicontroller_update_layout(ad, landscape);
+ mp_minicontroller_update(ad, true);
+}
+
+void mp_minicontroller_visible_set(struct appdata *ad, bool visible)
+{
+ DEBUG_TRACE("visible: %d", visible);
+ MP_CHECK(ad);
+ MP_CHECK(ad->win_minicon);
+ MP_CHECK(ad->minicontroller_layout);
+
+ ad->minicon_visible = visible;
+ _mp_minicontroller_title_set(ad);
+ mp_minicontroller_update_control(ad);
+
+ display_state_e lock_state;
+ int ret = device_display_get_state(&lock_state);
+ if (ret == DEVICE_ERROR_NONE) {
+ ERROR_TRACE("[SUCCESSFULL] return value %d", ret);
+ } else {
+ ERROR_TRACE("[ERROR] Return value is %d", ret);
+ }
+
+ DEBUG_TRACE("lock_state: %d", lock_state);
+ if (lock_state == DISPLAY_STATE_SCREEN_OFF
+ || lock_state == DISPLAY_STATE_SCREEN_DIM) {
+ ERROR_TRACE("Timer deleted");
+ mp_ecore_timer_del(ad->minicon_progress_timer);
+ }
+}
+
+bool mp_minicontroller_visible_get(struct appdata *ad)
+{
+ MP_CHECK_FALSE(ad);
+ MP_CHECK_FALSE(ad->win_minicon);
+
+ return ad->minicon_visible;
+}
+
+void mp_minicontroller_on_lcd_event(struct appdata *ad, bool lcd_on)
+{
+ DEBUG_TRACE("lcd_on [%d]", lcd_on);
+ MP_CHECK(ad);
+ MP_CHECK(ad->win_minicon);
+
+ if (lcd_on && mp_util_is_now_active_player()) {
+ mp_minicontroller_show(ad);
+ }
+
+ mp_minicontroller_visible_set(ad, lcd_on);
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+#include <notification.h>
+#include <app_control.h>
+#include "mp-define.h"
+#include "mp-player-debug.h"
+#include "mp-notification.h"
+#include "mp-util.h"
+
+typedef struct {
+ notification_h handle;
+ notification_type_e type;
+ int priv_id;
+ int count;
+ char *extra_data;
+} mp_noti_s;
+
+/*static app_control_h
+_mp_noti_make_excute_option(const char *key, const char *value)
+{
+ MP_CHECK_NULL(key);
+
+ app_control_h service = NULL;
+
+ int err = app_control_create(&service);
+ if (err) {
+ mp_error("app_control_create() .. [0x%x]", err);
+ return NULL;
+ }
+
+ err = app_control_set_app_id(service, "org.tizen.music-player");
+ if (err) {
+ mp_error("app_control_set_app_id() .. [0x%x]", err);
+ app_control_destroy(service);
+ service = NULL;
+ return NULL;
+ }
+
+ err = app_control_set_operation(service, APP_CONTROL_OPERATION_DEFAULT);
+ if (err) {
+ mp_error("app_control_set_operation() .. [0x%x]", err);
+ app_control_destroy(service);
+ service = NULL;
+ return NULL;
+ }
+
+ err = app_control_add_extra_data(service, key, value);
+ if (err) {
+ mp_error("app_control_add_extra_data() .. [0x%x]", err);
+ app_control_destroy(service);
+ service = NULL;
+ return NULL;
+ }
+
+ return service;
+}*/
+
+void mp_noti_destroy(mp_noti_h noti)
+{
+ startfunc;
+ mp_noti_s *noti_data = noti;
+ MP_CHECK(noti_data);
+
+ if (noti_data->handle) {
+ int err = 0;
+
+ err = notification_delete(noti_data->handle);
+ if (err != NOTIFICATION_ERROR_NONE) {
+ mp_error("notification_delete().. [0x%x]", err);
+ }
+
+ err = notification_free(noti_data->handle);
+ if (err != NOTIFICATION_ERROR_NONE) {
+ mp_error("notification_free().. [0x%x]", err);
+ }
+ }
+ noti_data->handle = NULL;
+
+ IF_FREE(noti_data->extra_data);
+
+ free(noti_data);
+}
+
+bool
+mp_noti_update_size(mp_noti_h noti, unsigned long long total,
+ unsigned long long byte)
+{
+ mp_noti_s *noti_data = noti;
+ MP_CHECK_FALSE(noti_data);
+ MP_CHECK_FALSE(noti_data->handle);
+
+ int err = 0;
+ if (total > 0) {
+ double progress = (double) byte / total;
+ err = notification_set_progress(noti_data->handle, progress);
+ if (err != NOTIFICATION_ERROR_NONE) {
+ mp_error("notification_set_progress().. [0x%x]", err);
+ }
+ } else {
+ err = notification_set_size(noti_data->handle, (double) byte);
+ if (err != NOTIFICATION_ERROR_NONE) {
+ mp_error("notification_set_size().. [0x%x]", err);
+ }
+ }
+
+ return (err == NOTIFICATION_ERROR_NONE) ? true : false;
+}
+
+
+/*static notification_h
+_mp_noti_box_create_real_notification(const char *extra_data)
+{
+ int err = 0;
+
+ notification_h handle = NULL;
+ handle = notification_create(NOTIFICATION_TYPE_NOTI);
+ if (!handle) {
+ mp_error("notification_create()");
+ goto exception;
+ }
+
+ if (extra_data) {
+ DEBUG_TRACE("extar_data = %s", extra_data);
+ app_control_h service = _mp_noti_make_excute_option(MP_DOWNLOAD_NOTIFICATION, extra_data);
+ if (service)
+ {
+ bundle *b = NULL;
+ app_control_to_bundle(service, &b);
+ err = notification_set_execute_option(handle, NOTIFICATION_EXECUTE_TYPE_MULTI_LAUNCH, NULL, NULL, b);
+ app_control_destroy(service);
+ service = NULL;
+ if (err != NOTIFICATION_ERROR_NONE) {
+ mp_error("notification_set_execute_option().. [0x%x]", err);
+ goto exception;
+ }
+ }
+ }
+
+ err = notification_set_layout(handle, NOTIFICATION_LY_NOTI_EVENT_SINGLE);
+ if (err != NOTIFICATION_ERROR_NONE) {
+ mp_error("notification_set_layout().. [0x%x]", err);
+ goto exception;
+ }
+
+ err = notification_set_display_applist(handle, NOTIFICATION_DISPLAY_APP_NOTIFICATION_TRAY);
+ if (err != NOTIFICATION_ERROR_NONE) {
+ mp_error("notification_set_display_applist().. [0x%x]", err);
+ goto exception;
+ }
+
+ return handle;
+
+exception:
+ if (handle) {
+ notification_delete(handle);
+ notification_free(handle);
+ handle = NULL;
+ }
+
+ return NULL;
+}
+
+mp_noti_h
+mp_noti_box_create(const char *title, const char *extra_data)
+{
+ MP_CHECK_NULL(title);
+
+ int err = 0;
+
+ notification_h handle = NULL;
+ handle = _mp_noti_box_create_real_notification(extra_data);
+
+ err = notification_set_text(handle, NOTIFICATION_TEXT_TYPE_TITLE, GET_STR(title), NULL, NOTIFICATION_TEXT_TYPE_NONE);
+ if (err != NOTIFICATION_ERROR_NONE) {
+ mp_error("notification_set_text().. [0x%x]", err);
+ goto exception;
+ }
+
+ int priv_id = 0;
+ err = notification_insert(handle, &priv_id);
+ if (err != NOTIFICATION_ERROR_NONE) {
+ mp_error("notification_insert().. [0x%x]", err);
+ goto exception;
+ }
+
+ mp_noti_s *noti_data = (mp_noti_s *)calloc(1, sizeof(mp_noti_s));
+ if (!noti_data)
+ goto exception;
+ noti_data->handle = handle;
+ noti_data->type = NOTIFICATION_TYPE_NOTI;
+ noti_data->extra_data = g_strdup(extra_data);
+
+ mp_debug("notification[%s] created", title);
+ return noti_data;
+
+exception:
+ if (handle) {
+ notification_delete(handle);
+ notification_free(handle);
+ handle = NULL;
+ }
+ return NULL;
+}
+
+void
+mp_noti_box_update(mp_noti_h noti, const char *title, const char *info, time_t time)
+{
+ mp_noti_s *noti_data = noti;
+ MP_CHECK(noti_data);
+ MP_CHECK(noti_data->type == NOTIFICATION_TYPE_NOTI);
+ MP_CHECK(noti_data->handle);
+
+ notification_h handle = notification_load(NULL, noti_data->priv_id);
+ if (handle == NULL)
+ {
+ DEBUG_TRACE("priv id [%d] :: notification is deleted", noti_data->priv_id);
+ notification_delete(noti_data->handle);
+ notification_free(noti_data->handle);
+ noti_data->handle = NULL;
+ noti_data->count = 0;
+ noti_data->priv_id = 0;
+ }
+
+ if (noti_data->handle == NULL)
+ noti_data->handle = _mp_noti_box_create_real_notification(noti_data->extra_data);
+
+ int err = 0;
+ handle = noti_data->handle;
+ MP_CHECK(handle);
+
+ noti_data->count++;
+ title = GET_STR(title);
+ char *new_title = NULL;
+ if (noti_data->count > 1)
+ {
+ new_title = g_strdup_printf("%s (%d)", title, noti_data->count);
+ title = new_title;
+ }
+
+ if (title)
+ {
+ err = notification_set_text(handle, NOTIFICATION_TEXT_TYPE_TITLE, title, NULL, NOTIFICATION_TEXT_TYPE_NONE);
+ if (err != NOTIFICATION_ERROR_NONE) {
+ mp_error("notification_set_text().. [0x%x]", err);
+ }
+ }
+
+ DEBUG_TRACE("box [%s][%d] update .. ", title, noti_data->count);
+ IF_FREE(new_title);
+
+ if (info)
+ {
+ err = notification_set_text(handle, NOTIFICATION_TEXT_TYPE_INFO_1, info, NULL, NOTIFICATION_TEXT_TYPE_NONE);
+ if (err != NOTIFICATION_ERROR_NONE) {
+ mp_error("notification_set_text().. [0x%x]", err);
+ }
+ }
+
+ if (time)
+ {
+ err = notification_set_time_to_text(handle, NOTIFICATION_TEXT_TYPE_INFO_2, time);
+ if (err != NOTIFICATION_ERROR_NONE) {
+ mp_error("notification_set_time_to_text().. [0x%x]", err);
+ }
+ }
+
+ if (noti_data->priv_id)
+ {
+ err = notification_update(handle);
+ if (err != NOTIFICATION_ERROR_NONE) {
+ mp_error("notification_update().. [0x%x]", err);
+ }
+ }
+ else
+ {
+ err = notification_insert(handle, ¬i_data->priv_id);
+ if (err != NOTIFICATION_ERROR_NONE) {
+ mp_error("notification_insert().. [0x%x]", err);
+ notification_delete(handle);
+ notification_free(handle);
+ noti_data->priv_id = 0;
+ noti_data->handle = NULL;
+ }
+ }
+}*/
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include "mp-now-playing-list.h"
+#include "mp-util.h"
+#include "mp-play.h"
+#include "mp-volume.h"
+#include "mp-player-view.h"
+#include "mp-playlist-mgr.h"
+#include "mp-widget.h"
+#include "mp-common.h"
+#include "mp-file-util.h"
+#include "mp-player-mgr.h"
+#include "mp-minicontroller.h"
+
+#include <player.h>
+
+static char *_mp_now_playing_list_label_get(void *data, Evas_Object * obj,
+ const char *part)
+{
+ mp_list_item_data_t *item = (mp_list_item_data_t *) data;
+ MP_CHECK_NULL(item);
+
+ MpNowPlayingList_t *list = evas_object_data_get(obj, "list_data");
+ MP_CHECK_NULL(list);
+
+ mp_media_info_h track = (mp_media_info_h) (item->handle);
+ mp_retvm_if(!track, NULL, "data is null");
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_NULL(ad);
+ mp_plst_item *current = mp_playlist_mgr_get_current(ad->playlist_mgr);
+
+ if (!strcmp(part, "elm.text") || !strcmp(part, "elm.text.sub")) {
+ char *title = NULL;
+ if (!strcmp(part, "elm.text")) {
+ mp_media_info_get_title(track, &title);
+ } else {
+ mp_media_info_get_artist(track, &title);
+ }
+ mp_retv_if(!title, NULL);
+
+ char *markup = NULL;
+ static char result[DEF_STR_LEN + 1] = { 0, };
+ if (list->highlight_current && current == item->plst_item) {
+ char *info = elm_entry_utf8_to_markup(title);
+
+ int r, g, b, a;
+ //Apply RGB equivalent of color
+ r = 21;
+ g = 108;
+ b = 148;
+ a = 255;
+ memset(result, 0x00, DEF_STR_LEN + 1);
+ snprintf(result, DEF_STR_LEN,
+ "<color=#%02x%02x%02x%02x>%s</color>", r, g, b, a,
+ info);
+ IF_FREE(info);
+
+ return g_strdup(result);
+ } else {
+ markup = elm_entry_utf8_to_markup(title);
+ }
+ return markup;
+ }
+ return NULL;
+}
+
+static Evas_Object *_mp_now_playing_list_content_get(void *data,
+ Evas_Object * obj,
+ const char *part)
+{
+ mp_list_item_data_t *item = (mp_list_item_data_t *) data;
+ MP_CHECK_NULL(item);
+
+ mp_media_info_h track = item->handle;
+ mp_retvm_if(!track, NULL, "data is null");
+
+ Evas_Object *content = NULL;
+ content = elm_layout_add(obj);
+
+ Evas_Object *icon = NULL;
+
+ //get player status
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_NULL(ad);
+ mp_plst_item *current = mp_playlist_mgr_get_current(ad->playlist_mgr);
+ MP_CHECK_NULL(current);
+ char *uri = NULL;
+ mp_media_info_get_file_path(track, &uri);
+ mp_retv_if(!uri, NULL);
+
+ Evas_Object *part_content =
+ elm_object_item_part_content_get(item->it, "elm.icon.1");
+
+ if (part_content) {
+ elm_object_signal_emit(part_content, "show_default", "*");
+ }
+
+ bool match = false;
+ if (current && (current == item->plst_item)) {
+ match = true;
+ }
+
+ if (match && part_content) {
+ ERROR_TRACE("set state: %d", (int) mp_player_mgr_get_state());
+ if ((int) mp_player_mgr_get_state() == (int) PLAYER_STATE_PLAYING) {
+ elm_object_signal_emit(part_content, "show_play", "*");
+ } else
+ if (((int) mp_player_mgr_get_state() ==
+ (int) PLAYER_STATE_PAUSED)
+ || ((int) mp_player_mgr_get_state() ==
+ (int) PLAYER_STATE_READY)) {
+ elm_object_signal_emit(part_content, "show_pause", "*");
+ }
+ }
+
+ if (!g_strcmp0(part, "elm.swallow.icon")) {
+ char *thumbpath = NULL;
+
+ mp_media_info_get_thumbnail_path(track, &thumbpath);
+ icon =
+ mp_util_create_lazy_update_thumb_icon(obj, thumbpath,
+ MP_LIST_ICON_SIZE,
+ MP_LIST_ICON_SIZE);
+
+ elm_layout_theme_set(content, "layout", "list/B/music.type.1",
+ "default");
+ elm_layout_content_set(content, "elm.swallow.content", icon);
+
+ if (match && content) {
+ if ((int) mp_player_mgr_get_state() ==
+ (int) PLAYER_STATE_PLAYING) {
+ elm_object_signal_emit(content, "show_play", "*");
+ } else {
+ elm_object_signal_emit(content, "show_pause", "*");
+ }
+ }
+ } else if (!g_strcmp0(part, "elm.edit.icon.1")) {
+ // swallow checkbox or radio button
+ content = elm_check_add(obj);
+ elm_object_style_set(content, "default/genlist");
+ elm_check_state_pointer_set(content, &item->checked);
+ //evas_object_smart_callback_add(content, "changed", mp_common_genlist_checkbox_sel_cb, item);
+
+ }
+
+ return content;
+}
+
+static void _mp_now_playing_list_item_del_cb(void *data, Evas_Object * obj)
+{
+ mp_list_item_data_t *item_data = data;
+ MP_CHECK(item_data);
+
+ if (item_data->handle) {
+ mp_media_info_destroy(item_data->handle);
+
+ item_data->handle = NULL;
+ }
+
+ free(item_data);
+}
+
+static Eina_Bool _mp_now_playing_genlist_sel_timer_cb(void *data)
+{
+ MpNowPlayingList_t *list = data;
+ MP_CHECK_FALSE(list);
+ MP_CHECK_FALSE(list->genlist);
+
+ list->sel_idler = NULL;
+
+ Elm_Object_Item *gl_item = elm_genlist_first_item_get(list->genlist);
+ while (gl_item) {
+ elm_genlist_item_select_mode_set(gl_item,
+ ELM_OBJECT_SELECT_MODE_DEFAULT);
+ gl_item = elm_genlist_item_next_get(gl_item);
+ }
+ return ECORE_CALLBACK_DONE;
+}
+
+
+static void
+_mp_now_playing_genlist_sel_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ startfunc;
+ Elm_Object_Item *gli = (Elm_Object_Item *) event_info;
+ MP_CHECK(gli);
+
+ elm_genlist_item_selected_set(gli, EINA_FALSE);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ MP_CHECK(ad->playlist_mgr);
+ MP_CHECK(ad->win_main);
+
+ /* Checking if user is on call */
+ ad->isPlayBtn = true;
+ if (_mp_is_current_focus_available(ad) != 0) {
+ ERROR_TRACE
+ ("Some other application has the focus currently... Returning...");
+ return;
+ }
+
+ mp_list_item_data_t *item_data = elm_object_item_data_get(gli);
+ MP_CHECK(item_data);
+
+ MpNowPlayingList_t *list = data;
+ MP_CHECK(list);
+ if (list->edit_mode) {
+ mp_list_edit_mode_sel((MpList_t *) list, item_data);
+ MpViewMgr_t *view_mgr = mp_view_mgr_get_view_manager();
+ MpView_t *view = mp_view_mgr_get_top_view(view_mgr);
+ mp_view_update_options_edit(view);
+ return;
+ }
+
+ mp_plst_item *select_plst_item = item_data->plst_item;
+ mp_plst_item *current_plst_item =
+ mp_playlist_mgr_get_current(ad->playlist_mgr);
+
+ if (select_plst_item != current_plst_item) {
+ mp_playlist_mgr_set_current(ad->playlist_mgr, select_plst_item);
+ mp_play_destory(ad);
+ ad->paused_by_user = FALSE;
+ int ret = mp_play_new_file(ad, TRUE);
+ if (ret) {
+ ERROR_TRACE("Error: mp_play_new_file..");
+ return;
+ }
+ } else {
+ /*if click the current track, it should chang the playing status.
+ If at the beginning, should play the song */
+ if (ad->player_state == PLAY_STATE_PLAYING) {
+ mp_play_control_play_pause(ad, false);
+ } else if (ad->player_state == PLAY_STATE_PAUSED) {
+ mp_play_control_play_pause(ad, true);
+ } else {
+ ad->paused_by_user = FALSE;
+ mp_play_new_file(ad, TRUE);
+ }
+ }
+
+ MpPlayerView_t *player_view = (MpPlayerView_t *) GET_PLAYER_VIEW;
+ if (player_view) {
+ mp_player_view_refresh(player_view);
+ }
+
+ Elm_Object_Item *gl_item = elm_genlist_first_item_get(list->genlist);
+ while (gl_item) {
+ elm_genlist_item_select_mode_set(gl_item,
+ ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+ gl_item = elm_genlist_item_next_get(gl_item);
+ }
+ mp_ecore_idler_del(list->sel_idler);
+ list->sel_idler =
+ ecore_idler_add(_mp_now_playing_genlist_sel_timer_cb, list);
+
+ return;
+}
+
+static void _mp_now_playing_list_load_list(void *thiz, int count)
+{
+ MpNowPlayingList_t *list = thiz;
+ MP_CHECK(list);
+
+ /*clear genlist */
+ Elm_Object_Item *item = elm_genlist_first_item_get(list->genlist);
+ if (item) {
+ elm_genlist_item_bring_in(item, ELM_GENLIST_ITEM_SCROLLTO_IN);
+ elm_genlist_clear(list->genlist);
+ }
+
+ /*get data from playlist mgr */
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ MP_CHECK(ad->playlist_mgr);
+
+ count = mp_playlist_mgr_count(ad->playlist_mgr);
+ mp_plst_item *plst_item = NULL;
+
+ int res = 0;
+ int index = 0;
+ for (index = 0; index < count; index++) {
+ plst_item =
+ mp_playlist_mgr_normal_list_get_nth(ad->playlist_mgr, index);
+ if (!plst_item) {
+ continue;
+ }
+
+ mp_list_item_data_t *item_data =
+ calloc(1, sizeof(mp_list_item_data_t));
+ mp_assert(item_data);
+
+ item_data->index = index;
+ item_data->plst_item = plst_item;
+
+ mp_media_info_h handle = NULL;
+ res = mp_media_info_create_by_path(&handle, plst_item->uri);
+ if (res != 0) {
+ mp_error("mp_media_info_create()... [0x%x]", res);
+ mp_media_info_destroy(handle);
+ IF_FREE(item_data);
+ continue;
+ }
+ item_data->handle = handle;
+
+ item_data->it =
+ elm_genlist_item_append(list->genlist, list->itc, item_data,
+ NULL, ELM_GENLIST_ITEM_NONE,
+ _mp_now_playing_genlist_sel_cb, list);
+ }
+
+ endfunc;
+}
+
+static void
+_mp_now_playing_list_item_moved_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ startfunc;
+ MpNowPlayingList_t *list = data;
+ MP_CHECK(list);
+
+ Elm_Object_Item *item = event_info;
+ MP_CHECK(item);
+
+ int index = -1;
+ Elm_Object_Item *temp = elm_genlist_first_item_get(obj);
+ while (temp) {
+ ++index;
+ if (temp == item) {
+ break;
+ }
+ temp = elm_genlist_item_next_get(temp);
+ }
+ mp_debug("reordered index = %d", index);
+ MP_CHECK(index >= 0);
+
+ mp_list_item_data_t *item_data = elm_object_item_data_get(item);
+ MP_CHECK(item_data);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ MP_CHECK(ad->playlist_mgr);
+
+ char *uid = NULL;
+ mp_media_info_h media = item_data->handle;
+ if (media) {
+ mp_media_info_get_media_id(media, &uid);
+ }
+
+ mp_plst_item *plst_item =
+ mp_playlist_mgr_get_item_by_uid(ad->playlist_mgr, uid);
+ if (plst_item) {
+ mp_playlist_mgr_item_reorder(ad->playlist_mgr, plst_item, index);
+
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_PLAYLIST_MODIFIED);
+ }
+}
+
+static void _mp_now_playing_list_destory_cb(void *thiz)
+{
+ startfunc;
+ MpNowPlayingList_t *list = thiz;
+ MP_CHECK(list);
+
+ if (list->itc) {
+ elm_genlist_item_class_free(list->itc);
+ list->itc = NULL;
+ }
+
+ mp_ecore_timer_del(list->loading_timer);
+ mp_ecore_idler_del(list->sel_idler);
+
+ free(list);
+}
+
+static void _mp_now_playing_list_update(void *thiz)
+{
+ startfunc;
+ MpNowPlayingList_t *list = thiz;
+ MP_CHECK(list);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ MP_CHECK(ad->playlist_mgr);
+
+ mp_ecore_timer_del(list->loading_timer);
+ mp_evas_object_del(list->loading_progress);
+
+ mp_evas_object_del(list->no_content);
+ mp_evas_object_del(list->genlist);
+
+ int count = mp_playlist_mgr_count(ad->playlist_mgr);
+ if (count) {
+ if (!list->genlist) {
+ /*create new genlist */
+ list->genlist = mp_widget_genlist_create(list->box);
+ MP_CHECK(list->genlist);
+ elm_scroller_policy_set(list->genlist, ELM_SCROLLER_POLICY_OFF,
+ ELM_SCROLLER_POLICY_AUTO);
+ evas_object_size_hint_weight_set(list->genlist,
+ EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(list->genlist, EVAS_HINT_FILL,
+ EVAS_HINT_FILL);
+ elm_genlist_homogeneous_set(list->genlist, EINA_TRUE);
+ elm_genlist_mode_set(list->genlist, ELM_LIST_COMPRESS);
+ evas_object_show(list->genlist);
+
+ evas_object_data_set(list->genlist, "list_data", list);
+
+ /*packet genlist to box */
+ elm_box_pack_end(list->box, list->genlist);
+
+ list->itc = elm_genlist_item_class_new();
+ MP_CHECK(list->itc);
+ list->itc->item_style = "type1";
+ list->itc->func.text_get = _mp_now_playing_list_label_get;
+ list->itc->func.content_get = _mp_now_playing_list_content_get;
+ list->itc->func.del = _mp_now_playing_list_item_del_cb;
+
+ evas_object_smart_callback_add(list->genlist, "moved",
+ _mp_now_playing_list_item_moved_cb,
+ list);
+
+ //evas_object_smart_callback_add(list->genlist, "drag,start,left", list->flick_left_cb, NULL);
+ //evas_object_smart_callback_add(list->genlist, "drag,start,right", list->flick_right_cb, NULL);
+ //evas_object_smart_callback_add(list->genlist, "drag,stop", list->flick_stop_cb, NULL);
+
+ //evas_object_smart_callback_add(list->genlist, "drag,start,right", list->mode_right_cb, NULL);
+ //evas_object_smart_callback_add(list->genlist, "drag,start,left", list->mode_left_cb, NULL);
+ //evas_object_smart_callback_add(list->genlist, "drag,start,up", list->mode_cancel_cb, NULL);
+ //evas_object_smart_callback_add(list->genlist, "drag,start,down", list->mode_cancel_cb, NULL);
+ }
+
+ /* load list */
+ _mp_now_playing_list_load_list(thiz, count);
+
+ } else {
+ DEBUG_TRACE("count is 0");
+ list->no_content =
+ mp_widget_create_no_contents(list->box, MP_NOCONTENT_NORMAL,
+ NULL, NULL);
+ elm_box_pack_end(list->box, list->no_content);
+ }
+
+}
+
+static Eina_Bool _mp_now_playing_list_loading_timer_cb(void *data)
+{
+ MpNowPlayingList_t *list = data;
+ MP_CHECK_FALSE(list);
+
+ list->loading_timer = NULL;
+
+ mp_evas_object_del(list->loading_progress);
+ list->loading_progress =
+ mp_widget_loading_icon_add(list->box, MP_LOADING_ICON_SIZE_XLARGE);
+ elm_box_pack_end(list->box, list->loading_progress);
+
+ return ECORE_CALLBACK_DONE;
+}
+
+MpNowPlayingList_t *mp_now_playing_list_create(Evas_Object * parent)
+{
+ startfunc;
+ MP_CHECK_NULL(parent);
+
+ MpNowPlayingList_t *list = calloc(1, sizeof(MpNowPlayingList_t));
+ MP_CHECK_NULL(list);
+
+ mp_list_init((MpList_t *) list, parent, MP_LIST_TYPE_TRACK);
+
+ list->update = _mp_now_playing_list_update;
+ list->destory_cb = _mp_now_playing_list_destory_cb;
+
+ list->reorderable = TRUE;
+
+ list->loading_timer =
+ ecore_timer_add(0.1, _mp_now_playing_list_loading_timer_cb, list);
+
+ return list;
+}
+
+void mp_now_playing_list_set_data(MpNowPlayingList_t * list, ...)
+{
+ MP_CHECK(list);
+
+ va_list var_args;
+ int field;
+
+ va_start(var_args, list);
+ do {
+ field = va_arg(var_args, int);
+ DEBUG_TRACE("field is %d", field);
+
+ switch (field) {
+ case MP_NOW_PLAYING_LIST_ATTR_HIGHLIGHT_CURRENT:{
+ int val = va_arg((var_args), int);
+
+ list->highlight_current = val;
+ DEBUG_TRACE("list->highlight_current = %d",
+ list->highlight_current);
+ break;
+ }
+ default:
+ DEBUG_TRACE("Invalid arguments");
+ }
+
+ } while (field >= 0);
+
+ va_end(var_args);
+}
+
+void mp_now_playing_list_remove_selected_item(MpNowPlayingList_t * list)
+{
+ startfunc;
+ MP_CHECK(list);
+ MP_CHECK(list->genlist);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ MP_CHECK(ad->playlist_mgr);
+
+ bool now_playing_changed = false;
+ mp_plst_item *current_plst =
+ mp_playlist_mgr_get_current(ad->playlist_mgr);
+ Elm_Object_Item *item = elm_genlist_first_item_get(list->genlist);
+ while (item) {
+ mp_list_item_data_t *item_data = elm_object_item_data_get(item);
+ item = elm_genlist_item_next_get(item);
+
+ if (item_data && item_data->checked && item_data->handle) {
+ char *uid = NULL;
+ mp_media_info_get_media_id(item_data->handle, &uid);
+ mp_plst_item *remove_item =
+ mp_playlist_mgr_get_item_by_uid(ad->playlist_mgr, uid);
+ if (remove_item == current_plst) {
+ WARN_TRACE("remove current play list item");
+ current_plst =
+ mp_playlist_mgr_get_next(ad->playlist_mgr, EINA_FALSE,
+ false);
+ now_playing_changed = true;
+ }
+ mp_playlist_mgr_item_remove_item(ad->playlist_mgr,
+ remove_item);
+ elm_object_item_del(item_data->it);
+ }
+ }
+
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_PLAYLIST_MGR_ITEM_CHANGED);
+
+ if (now_playing_changed) {
+ mp_play_destory(ad);
+ ad->paused_by_user = FALSE;
+ mp_playlist_mgr_set_current(ad->playlist_mgr, current_plst);
+ int ret = mp_play_new_file(ad, true);
+ if (ret) {
+ ERROR_TRACE("Fail to play new file");
+ }
+ }
+}
+
+void mp_now_playing_list_refresh(MpNowPlayingList_t * list)
+{
+ MP_CHECK(list);
+ MP_CHECK(list->genlist);
+
+ bool mmc_removed = mp_util_is_mmc_removed();
+ bool itemDeleted = false;
+
+ Elm_Object_Item *it = NULL, *next = NULL;
+ next = it = elm_genlist_first_item_get(list->genlist);;
+ while (next) {
+ next = elm_genlist_item_next_get(it);
+ mp_list_item_data_t *item_data = elm_object_item_data_get(it);
+ if (item_data) {
+ mp_plst_item *plst_item = item_data->plst_item;
+ if (plst_item && plst_item->uri
+ && plst_item->track_type == MP_TRACK_URI) {
+ if (!mp_file_exists(plst_item->uri)
+ || (mmc_removed
+ && strstr(plst_item->uri,
+ MP_MMC_ROOT_PATH) == plst_item->uri)) {
+ WARN_TRACE("removed uri %s", plst_item->uri);
+ elm_object_item_del(it);
+ itemDeleted = true;
+ }
+ }
+ }
+
+ if (!itemDeleted) {
+ elm_genlist_item_update(it);
+ }
+ itemDeleted = false;
+ it = next;
+ }
+ Eina_List *realized_items =
+ elm_genlist_realized_items_get(list->genlist);
+ Eina_List *l = NULL;
+ Elm_Object_Item *data_tmp = NULL;
+
+ EINA_LIST_FOREACH(realized_items, l, data_tmp)
+ elm_genlist_item_fields_update(data_tmp, "elm.text.*",
+ ELM_GENLIST_ITEM_FIELD_TEXT);
+ mp_now_playing_list_current_item_show(list);
+
+ if (realized_items) {
+ eina_list_free(realized_items);
+ }
+}
+
+void mp_now_playing_list_current_item_show(MpNowPlayingList_t * list)
+{
+ startfunc;
+ MP_CHECK(list);
+ MP_CHECK(list->genlist);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ MP_CHECK(ad->playlist_mgr);
+
+ mp_plst_item *current_plst =
+ mp_playlist_mgr_get_current(ad->playlist_mgr);
+ MP_CHECK(current_plst);
+ MP_CHECK(current_plst->uid);
+
+ Elm_Object_Item *item = elm_genlist_first_item_get(list->genlist);
+ while (item) {
+ mp_list_item_data_t *item_data = elm_object_item_data_get(item);
+ if (item_data && item_data->handle) {
+ char *uid = NULL;
+ mp_media_info_get_media_id(item_data->handle, &uid);
+
+ if (!g_strcmp0(uid, current_plst->uid)) {
+ elm_genlist_item_show(item,
+ ELM_GENLIST_ITEM_SCROLLTO_MIDDLE);
+ break;
+ }
+ }
+
+ item = elm_genlist_item_next_get(item);
+ }
+
+ endfunc;
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include "mp-now-playing.h"
+#include "mp-player-mgr.h"
+#include "mp-player-debug.h"
+#include "mp-player-control.h"
+#include "mp-widget.h"
+#include "mp-util.h"
+#include "mp-play.h"
+#include "mp-setting-ctrl.h"
+#include "mp-minicontroller.h"
+
+typedef struct {
+ Evas_Object *now_playing;
+ Evas_Object *thumbnail;
+ Evas_Object *progress;
+ Evas_Object *label;
+ Evas_Object *label_artist;
+ Evas_Object *spectrum;
+ //mini eq ani
+ Evas_Object *mini_eq;
+ Ecore_Timer *timer;
+ Ecore_Timer *stop_update_timer;
+ bool landscape;
+ bool dragging;
+ MpNowplayingCb play_bt_clicked;
+ MpNowplayingCb clicked;
+ void *userdata;
+ char *play_time;
+ Evas_Object *shuffle_focus_btn;
+ Evas_Object *repeate_focus_btn;
+} MpNpData_t;
+
+#define GET_WIDGET_DATA(o) evas_object_data_get(o, "widget_d");
+#define NOW_PLAYING_LABEL_LEN 524
+#define NOW_PLAYING_TITLE_SIZE 23
+#define NOW_PLAYING_TITLE_COLOR "FAFAFAFF"
+#define NOW_PLAYING_ARTIST_SIZE 16
+#define NOW_PLAYING_ARTIST_COLOR "FAFAFAFF"
+
+#define NOW_PLAYING_REW_SOURCE "control_previous"
+#define NOW_PLAYING_FF_SOURCE "control_next"
+#define NOW_PLAYING_LONG_PRESS_INTERVAL 1.0
+#define NOW_PLAYING_FF_REW_INTERVAL 0.3
+#define NOW_PLAYING_LONG_PRESS_TIME_INCREASE 1.0 //sec
+
+#ifdef MP_NOW_PLAYING_MINI_EQ
+#undef MP_NOW_PLAYING_MINI_EQ
+#endif
+
+static void _mp_now_playing_update_playpause_btn(Evas_Object * obj);
+static void _mp_now_playing_update_time(void *data);
+
+char *g_tts_located_part = NULL;
+
+#ifdef MP_NOW_PLAYING_MINI_EQ
+static Evas_Object *_mp_now_playing_create_thumb_icon(Evas_Object * obj,
+ const char *path,
+ int w, int h)
+{
+ Evas_Object *thumbnail = elm_image_add(obj);
+ elm_image_file_set(thumbnail, IMAGE_EDJ_NAME, path);
+ evas_object_size_hint_weight_set(thumbnail, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ evas_object_size_hint_fill_set(thumbnail, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ return thumbnail;
+}
+#endif
+
+void _progressbar_value_update_to_zero(void *data)
+{
+ startfunc;
+ MpNpData_t *wd = data;
+ MP_CHECK(wd);
+ MP_CHECK(wd->progress);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ double value = 0.0;
+
+ elm_progressbar_value_set(wd->progress, value);
+ endfunc;
+}
+
+static void _progressbar_value_set(void *data)
+{
+ MpNpData_t *wd = data;
+ MP_CHECK(wd);
+ MP_CHECK(wd->progress);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ double pos = ad->music_pos;
+ double duration = ad->music_length;
+ double value = 0.0;
+ if (duration > 0.0) {
+ value = pos / duration;
+ }
+
+ ERROR_TRACE("wishjox pos :%f, duration: %f, val: %f", pos, duration,
+ value);
+ elm_progressbar_value_set(wd->progress, value);
+}
+
+#ifdef MP_NOW_PLAYING_MINI_EQ
+static void _mini_eq_get_image(char **path1, char **path2, char **path3)
+{
+ int index1 = rand() % 8 + 1;
+ int index2 = rand() % 8 + 1;
+ int index3 = rand() % 8 + 1;
+
+ switch (index1) {
+ case 1:
+ *path1 = MP_MINI_EQ_ANI_01;
+ break;
+ case 2:
+ *path1 = MP_MINI_EQ_ANI_02;
+ break;
+ case 3:
+ *path1 = MP_MINI_EQ_ANI_03;
+ break;
+ case 4:
+ *path1 = MP_MINI_EQ_ANI_04;
+ break;
+ case 5:
+ *path1 = MP_MINI_EQ_ANI_05;
+ break;
+ case 6:
+ *path1 = MP_MINI_EQ_ANI_06;
+ break;
+ case 7:
+ *path1 = MP_MINI_EQ_ANI_07;
+ break;
+ case 8:
+ *path1 = MP_MINI_EQ_ANI_08;
+ break;
+ default:
+ *path1 = MP_MINI_EQ_ANI_01;
+
+ }
+ switch (index2) {
+ case 1:
+ *path2 = MP_MINI_EQ_ANI_01;
+ break;
+ case 2:
+ *path2 = MP_MINI_EQ_ANI_02;
+ break;
+ case 3:
+ *path2 = MP_MINI_EQ_ANI_03;
+ break;
+ case 4:
+ *path2 = MP_MINI_EQ_ANI_04;
+ break;
+ case 5:
+ *path2 = MP_MINI_EQ_ANI_05;
+ break;
+ case 6:
+ *path2 = MP_MINI_EQ_ANI_06;
+ break;
+ case 7:
+ *path2 = MP_MINI_EQ_ANI_07;
+ break;
+ case 8:
+ *path2 = MP_MINI_EQ_ANI_08;
+ break;
+ default:
+ *path2 = MP_MINI_EQ_ANI_02;
+
+ }
+ switch (index3) {
+ case 1:
+ *path3 = MP_MINI_EQ_ANI_01;
+ break;
+ case 2:
+ *path3 = MP_MINI_EQ_ANI_02;
+ break;
+ case 3:
+ *path3 = MP_MINI_EQ_ANI_03;
+ break;
+ case 4:
+ *path3 = MP_MINI_EQ_ANI_04;
+ break;
+ case 5:
+ *path3 = MP_MINI_EQ_ANI_05;
+ break;
+ case 6:
+ *path3 = MP_MINI_EQ_ANI_06;
+ break;
+ case 7:
+ *path3 = MP_MINI_EQ_ANI_07;
+ break;
+ case 8:
+ *path3 = MP_MINI_EQ_ANI_08;
+ break;
+ default:
+ *path3 = MP_MINI_EQ_ANI_03;
+
+ }
+}
+#endif
+
+static Eina_Bool _mp_nowplaying_timer_cb(void *data)
+{
+ TIMER_TRACE();
+ MpNpData_t *wd = data;
+ MP_CHECK_FALSE(wd);
+ MP_CHECK_FALSE(wd->now_playing);
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_FALSE(ad);
+
+ if (!ad->app_is_foreground) {
+ MP_TIMER_FREEZE(wd->timer);
+ }
+
+ if (wd->dragging) {
+ return EINA_TRUE;
+ }
+
+ ad->music_pos = mp_player_mgr_get_position() / 1000.0;
+ _mp_now_playing_update_time(wd);
+
+#ifdef MP_NOW_PLAYING_MINI_EQ
+ char *path1 = NULL;
+ char *path2 = NULL;
+ char *path3 = NULL;
+
+ _mini_eq_get_image(&path1, &path2, &path3);
+
+ Evas_Object *unused_image = NULL;
+ unused_image = elm_object_part_content_unset(wd->mini_eq, "image1");
+ evas_object_del(unused_image);
+ unused_image = elm_object_part_content_unset(wd->mini_eq, "image2");
+ evas_object_del(unused_image);
+ unused_image = elm_object_part_content_unset(wd->mini_eq, "image3");
+ evas_object_del(unused_image);
+
+ Evas_Object *image1 =
+ _mp_now_playing_create_thumb_icon(wd->mini_eq, path1, 11, 38);
+ Evas_Object *image2 =
+ _mp_now_playing_create_thumb_icon(wd->mini_eq, path2, 11, 38);
+ Evas_Object *image3 =
+ _mp_now_playing_create_thumb_icon(wd->mini_eq, path3, 11, 38);
+ elm_object_part_content_set(wd->mini_eq, "image1", image1);
+ elm_object_part_content_set(wd->mini_eq, "image2", image2);
+ elm_object_part_content_set(wd->mini_eq, "image3", image3);
+#endif
+ //int show = ((int)mp_player_mgr_get_state() == (int)PLAYER_STATE_PLAYING);
+ //_mp_now_playing_update_playpause_btn(wd->now_playing);
+
+ return ECORE_CALLBACK_RENEW;
+}
+
+static void
+_widget_del_cb(void *data, Evas * e, Evas_Object * obj, void *event_info)
+{
+ startfunc;
+ MpNpData_t *wd = data;
+ MP_CHECK(wd);
+
+ mp_ecore_timer_del(wd->timer);
+ mp_ecore_timer_del(wd->stop_update_timer);
+ mp_play_control_reset_ff_rew();
+ IF_FREE(wd->play_time);
+
+ IF_FREE(wd);
+}
+
+static void _mp_now_playing_update_btn(Evas_Object * obj)
+{
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ if (ad->player_state == PLAY_STATE_PLAYING) {
+ edje_object_signal_emit(elm_layout_edje_get(obj),
+ "control_play_visible", "control_play");
+ edje_object_signal_emit(elm_layout_edje_get(obj),
+ "control_pause_invisible",
+ "control_pause");
+ } else {
+ edje_object_signal_emit(elm_layout_edje_get(obj),
+ "control_play_invisible", "control_play");
+ edje_object_signal_emit(elm_layout_edje_get(obj),
+ "control_pause_visible", "control_pause");
+ }
+}
+
+static Eina_Bool _btn_update_timer(void *data)
+{
+ TIMER_TRACE("");
+ MpNpData_t *wd = GET_WIDGET_DATA(data);
+ MP_CHECK_FALSE(wd);
+
+ _mp_now_playing_update_btn(data);
+
+ wd->stop_update_timer = NULL;
+ return EINA_FALSE;
+}
+
+static void _mp_now_playing_update_playpause_btn(Evas_Object * obj)
+{
+ MP_CHECK(obj);
+ MpNpData_t *wd = GET_WIDGET_DATA(obj);
+ MP_CHECK(wd);
+
+ mp_ecore_timer_del(wd->stop_update_timer);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ if (ad->player_state == PLAY_STATE_PLAYING
+ || ad->player_state == PLAY_STATE_PAUSED) {
+ _mp_now_playing_update_btn(obj);
+ } else {
+ wd->stop_update_timer =
+ ecore_timer_add(1.0, _btn_update_timer, obj);
+ }
+}
+
+static void _mp_now_playing_update_time(void *data)
+{
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ MP_CHECK(!ad->is_lcd_off);
+
+ MpNpData_t *wd = data;
+ MP_CHECK(wd);
+ MP_CHECK(wd->progress);
+
+ char play_time[16] = { 0, };
+ char total_time[16] = { 0, };
+
+ double duration = ad->music_length;
+
+ if (duration > 0.) {
+ if (duration > 3600.) {
+ snprintf(total_time, sizeof(total_time), "%" MUSIC_TIME_FORMAT,
+ MUSIC_TIME_ARGS(duration));
+ snprintf(play_time, sizeof(play_time), "%" MUSIC_TIME_FORMAT,
+ MUSIC_TIME_ARGS(ad->music_pos));
+ } else {
+ snprintf(total_time, sizeof(total_time), "%" PLAY_TIME_FORMAT,
+ PLAY_TIME_ARGS(duration));
+ snprintf(play_time, sizeof(play_time), "%" PLAY_TIME_FORMAT,
+ PLAY_TIME_ARGS(ad->music_pos));
+ }
+ } else {
+ if (ad->current_track_info)
+ snprintf(total_time, sizeof(total_time), "%" PLAY_TIME_FORMAT,
+ PLAY_TIME_ARGS(ad->current_track_info->duration /
+ 1000.));
+ snprintf(play_time, sizeof(play_time), "%" PLAY_TIME_FORMAT,
+ PLAY_TIME_ARGS(ad->music_pos));
+ }
+
+ if (g_strcmp0(play_time, wd->play_time)) {
+ IF_FREE(wd->play_time);
+ wd->play_time = g_strdup(play_time);
+
+ edje_object_part_text_set(_EDJ(wd->now_playing),
+ "np_progress_text_total", total_time);
+ edje_object_part_text_set(_EDJ(wd->now_playing),
+ "np_progress_text_playing", play_time);
+
+ _progressbar_value_set(wd);
+ }
+
+}
+
+static void
+_mp_now_playing_progressarea_down_cb(void *data, Evas * e,
+ Evas_Object * obj, void *event_info)
+{
+ startfunc;
+
+ MpNpData_t *wd = data;
+ MP_CHECK(wd);
+ MP_CHECK(wd->progress);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ Evas_Event_Mouse_Down *ev = event_info;
+ Evas_Object *progressbar = obj;
+ int w = 0, current = 0, x = 0;
+ double ratio = 0.0;
+
+ MP_TIMER_FREEZE(wd->timer);
+
+ evas_object_geometry_get(progressbar, &x, NULL, &w, NULL);
+ current = ev->canvas.x - x;
+ if (current < 0) {
+ current = 0;
+ } else if (current > w) {
+ current = w;
+ }
+
+ ratio = (double) current / w;
+ DEBUG_TRACE("canvas.x:%d x:%d w:%d", ev->canvas.x, x, w);
+
+ int duration = mp_player_mgr_get_duration();
+ if (duration <= 0) {
+ mp_track_info_t *track_info = ad->current_track_info;
+ if (track_info) {
+ duration = track_info->duration;
+ }
+ }
+
+ ad->music_length = duration / 1000.;
+
+ ad->music_pos = ratio * ad->music_length;
+
+ wd->dragging = true;
+
+ ERROR_TRACE("wishjox pos :%f, duration: %f, val: %f", ad->music_pos,
+ ad->music_length, ratio);
+
+ elm_progressbar_value_set(wd->progress, ratio);
+ _mp_now_playing_update_time(wd);
+ endfunc;
+}
+
+static void
+_mp_now_playing_progressarea_move_cb(void *data, Evas * e,
+ Evas_Object * obj, void *event_info)
+{
+ startfunc;
+ MpNpData_t *wd = data;
+ MP_CHECK(wd);
+ MP_CHECK(wd->progress);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ Evas_Event_Mouse_Down *ev = event_info;
+ Evas_Object *progressbar = obj;
+ int w = 0, current = 0, x = 0;
+ double ratio = 0.0;
+ int new_pos;
+
+ evas_object_geometry_get(progressbar, &x, NULL, &w, NULL);
+ current = ev->canvas.x - x;
+ if (current < 0) {
+ current = 0;
+ } else if (current > w) {
+ current = w;
+ }
+
+ ratio = (double) current / w;
+
+ new_pos = ratio * ad->music_length;
+ ad->music_pos = new_pos;
+
+ elm_progressbar_value_set(wd->progress, ratio);
+ _mp_now_playing_update_time(wd);
+ endfunc;
+}
+
+static void
+_mp_now_playing_progressarea_up_cb(void *data, Evas * e, Evas_Object * obj,
+ void *event_info)
+{
+ startfunc;
+ MpNpData_t *wd = data;
+ MP_CHECK(wd);
+ MP_CHECK(wd->progress);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ Evas_Event_Mouse_Down *ev = event_info;
+ Evas_Object *progressbar = obj;
+ int w = 0, current = 0, x = 0;
+ double ratio = 0.0;
+
+ evas_object_geometry_get(progressbar, &x, NULL, &w, NULL);
+ current = ev->canvas.x - x;
+
+ DEBUG_TRACE("canvas.x:%d x:%d w:%d", ev->canvas.x, x, w);
+ if (current < 0) {
+ current = 0;
+ } else if (current > w) {
+ current = w;
+ }
+
+ ratio = (double) current / w;
+
+ ad->music_pos = ratio * ad->music_length;
+
+ DEBUG_TRACE("ad->music_pos=%lf", ad->music_pos);
+ if (mp_player_mgr_set_position(ad->music_pos * 1000, NULL, NULL)) {
+ mp_now_playing_thaw_timer(wd->now_playing);
+ }
+
+ wd->dragging = false;
+
+ elm_progressbar_value_set(wd->progress, ratio);
+ _mp_now_playing_update_time(wd);
+ endfunc;
+}
+
+/*static char* _mp_now_playing_progress_playing_text_tts_info_cb(void *data, Evas_Object *obj)
+{
+ MpNpData_t *wd = data;
+ MP_CHECK_NULL(wd);
+
+ const char *playing_text = edje_object_part_text_get(_EDJ(wd->now_playing), "np_progress_text_playing");
+ return g_strdup(playing_text);
+}
+
+static char* _mp_now_playing_progress_total_text_tts_info_cb(void *data, Evas_Object *obj)
+{
+ MpNpData_t *wd = data;
+ MP_CHECK_NULL(wd);
+
+ const char *playing_text = edje_object_part_text_get(_EDJ(wd->now_playing), "np_progress_text_total");
+ return g_strdup(playing_text);
+}*/
+
+#define CONTROL_W 450
+#define ALBUMART_W 195
+#define CENTER_MIN_W 160
+
+static void _set_layout(Evas_Object * obj)
+{
+ int w, h;
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ evas_object_geometry_get(ad->win_main, NULL, NULL, &w, &h);
+ DEBUG_TRACE("Nowplaying bar w: %d", w);
+ evas_object_size_hint_min_set(obj, w, 0);
+ evas_object_size_hint_max_set(obj, w, -1);
+
+ if (w < CONTROL_W * elm_config_scale_get()) {
+ DEBUG_TRACE("control_only mode");
+ elm_object_signal_emit(obj, "control_only", "*");
+ } else if (w < (CONTROL_W + ALBUMART_W) * elm_config_scale_get()) {
+ DEBUG_TRACE("hide_center");
+ elm_object_signal_emit(obj, "hide_center", "*");
+ } else if (w <
+ (CONTROL_W + ALBUMART_W +
+ CENTER_MIN_W) * elm_config_scale_get()) {
+ DEBUG_TRACE("center min mode");
+ elm_object_signal_emit(obj, "center_min", "*");
+ } else {
+ DEBUG_TRACE("default mode");
+ elm_object_signal_emit(obj, "set_default", "*");
+ }
+}
+
+static void _mp_now_left_area_clicked_cb(void *data, Evas_Object * o,
+ const char *emission,
+ const char *source)
+{
+ startfunc;
+ DEBUG_TRACE("album clicked");
+
+ MpNpData_t *wd = data;
+ MP_CHECK(wd);
+ if (wd->clicked) {
+ wd->clicked(wd->userdata);
+ }
+}
+
+static void _mp_now_playing_btn_clicked_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ DEBUG_TRACE("button clicked");
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ ad->isPlayBtn = true;
+ if (_mp_is_current_focus_available(ad) != 0) {
+ ERROR_TRACE
+ ("Some other application has the focus currently... Returning...");
+ return;
+ }
+
+ ad->hide_player_view = true;
+ mp_setting_set_nowplaying_id(getpid());
+
+ MpNpData_t *wd = data;
+ MP_CHECK(wd);
+ wd->play_bt_clicked(wd->userdata);
+ _mp_now_playing_update_playpause_btn(wd->now_playing);
+
+}
+
+static void _mp_now_playing_btn_pressed_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ DEBUG_TRACE("button pressed");
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ ad->isPlayBtn = false;
+ if (_mp_is_current_focus_available(ad) != 0) {
+ ERROR_TRACE
+ ("Some other application has the focus currently... Changing state in paused state...");
+ ad->paused_by_user = TRUE;
+ }
+
+ char *source = (char *) data;
+ if (!g_strcmp0(source, NOW_PLAYING_FF_SOURCE)) {
+ mp_play_control_ff(true, false, true);
+ } else {
+ mp_play_control_rew(true, false, true);
+ }
+}
+
+static void _mp_now_playing_btn_unpressed_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ DEBUG_TRACE("button unpressed");
+ char *source = (char *) data;
+ if (!g_strcmp0(source, NOW_PLAYING_FF_SOURCE)) {
+ mp_play_control_ff(false, false, true);
+ } else {
+ mp_play_control_rew(false, false, true);
+ }
+}
+
+Evas_Object *mp_now_playing_create(Evas_Object * parent,
+ MpNowplayingCb play_bt_clicked,
+ MpNowplayingCb clicked, void *data)
+{
+ startfunc;
+ Evas_Object *playing_pannel = NULL;
+ MpNpData_t *wd = NULL;
+
+ int r = -1;
+
+ playing_pannel = elm_layout_add(parent);
+ if (playing_pannel) {
+ char edje_path[1024] = { 0 };
+ char *path = app_get_resource_path();
+
+ MP_CHECK_NULL(path);
+ snprintf(edje_path, 1024, "%s%s/%s", path, "edje",
+ PLAY_VIEW_EDJ_NAME);
+
+ r = elm_layout_file_set(playing_pannel, edje_path,
+ "mp_now_playing");
+ free(path);
+
+ if (!r) {
+ ERROR_TRACE("Error: elm_layout_file_set");
+ evas_object_del(playing_pannel);
+ return NULL;
+ }
+ evas_object_size_hint_weight_set(playing_pannel, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ }
+
+ wd = calloc(1, sizeof(MpNpData_t));
+ if (!wd) {
+ ERROR_TRACE("Error: memory alloc failed");
+ evas_object_del(playing_pannel);
+ return NULL;
+ }
+
+ evas_object_data_set(playing_pannel, "widget_d", wd);
+
+ /* wd->landscape = landscape; */
+
+ Evas_Object *thumbnail = elm_image_add(playing_pannel);
+ evas_object_size_hint_align_set(thumbnail, EVAS_HINT_FILL,
+ EVAS_HINT_FILL);
+ evas_object_size_hint_weight_set(thumbnail, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ //elm_image_aspect_fixed_set(thumbnail, true);
+ elm_image_fill_outside_set(thumbnail, true);
+ elm_image_prescale_set(thumbnail, 100);
+ //elm_object_part_content_set(playing_pannel, "thumb_image", thumbnail);
+ wd->thumbnail = thumbnail;
+
+ Evas_Object *progress = elm_progressbar_add(playing_pannel);
+ elm_object_style_set(progress, "music/list_progress");
+ elm_progressbar_horizontal_set(progress, EINA_TRUE);
+ evas_object_size_hint_align_set(progress, EVAS_HINT_FILL,
+ EVAS_HINT_FILL);
+ evas_object_size_hint_weight_set(progress, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ elm_progressbar_value_set(progress, 0.0);
+ evas_object_show(progress);
+
+ Evas_Object *progress_focus_btn = elm_button_add(playing_pannel);
+ elm_object_style_set(progress_focus_btn, "focus");
+ elm_object_part_content_set(progress_focus_btn, "elm.swallow.content",
+ progress);
+ wd->progress = progress;
+
+ evas_object_event_callback_add(progress, EVAS_CALLBACK_MOUSE_DOWN,
+ _mp_now_playing_progressarea_down_cb,
+ wd);
+ evas_object_event_callback_add(progress, EVAS_CALLBACK_MOUSE_UP,
+ _mp_now_playing_progressarea_up_cb, wd);
+ evas_object_event_callback_add(progress, EVAS_CALLBACK_MOUSE_MOVE,
+ _mp_now_playing_progressarea_move_cb,
+ wd);
+
+#ifdef MP_NOW_PLAYING_MINI_EQ
+ Evas_Object *mini_eq_ani = NULL;
+ mini_eq_ani =
+ mp_common_load_edj(playing_pannel, PLAY_VIEW_EDJ_NAME,
+ "mini_eq_layout");
+ if (mini_eq_ani == NULL) {
+ ERROR_TRACE("create mini_eq_ani failed");
+ }
+ elm_object_part_content_set(playing_pannel, "mini_icon", mini_eq_ani);
+ char *path1 = NULL;
+ char *path2 = NULL;
+ char *path3 = NULL;
+ _mini_eq_get_image(&path1, &path2, &path3);
+ Evas_Object *image1 =
+ _mp_now_playing_create_thumb_icon(mini_eq_ani, path1, 11, 38);
+ Evas_Object *image2 =
+ _mp_now_playing_create_thumb_icon(mini_eq_ani, path2, 11, 38);
+ Evas_Object *image3 =
+ _mp_now_playing_create_thumb_icon(mini_eq_ani, path3, 11, 38);
+ elm_object_part_content_set(mini_eq_ani, "image1", image1);
+ elm_object_part_content_set(mini_eq_ani, "image2", image2);
+ elm_object_part_content_set(mini_eq_ani, "image3", image3);
+ wd->mini_eq = mini_eq_ani;
+#endif
+ mp_retvm_if(playing_pannel == NULL, NULL, "now playing view is NULL");
+
+ wd->clicked = clicked;
+ wd->play_bt_clicked = play_bt_clicked;
+ wd->userdata = data;
+ wd->now_playing = playing_pannel;
+
+ evas_object_show(playing_pannel);
+
+ wd->timer = ecore_timer_add(0.25, _mp_nowplaying_timer_cb, wd);
+ MP_TIMER_FREEZE(wd->timer);
+
+ evas_object_event_callback_add(playing_pannel, EVAS_CALLBACK_FREE,
+ _widget_del_cb, wd);
+
+ edje_object_signal_callback_add(_EDJ(playing_pannel),
+ "now_playing_clicked", "*",
+ _mp_now_left_area_clicked_cb, wd);
+
+ //elm_object_signal_callback_add(playing_pannel, SIGNAL_NOW_PLAYING_CLICKED, "*", _mp_now_playing_control_cb, wd);
+ //elm_object_signal_callback_add(playing_pannel, SIGNAL_PREVIOUS, "*", _mp_now_playing_control_cb, wd);
+ //elm_object_signal_callback_add(playing_pannel, SIGNAL_NP_PLAY, "*", _mp_now_playing_control_cb, wd);
+ //elm_object_signal_callback_add(playing_pannel, SIGNAL_NP_PAUSE, "*", _mp_now_playing_control_cb, wd);
+ //elm_object_signal_callback_add(playing_pannel, SIGNAL_NEXT, "*", _mp_now_playing_control_cb, wd);
+ //elm_object_signal_callback_add(playing_pannel, SIGNAL_MOUSE_DOWN, "control_previous",_mp_now_playing_seek_btn_down_cb, wd);
+ //elm_object_signal_callback_add(playing_pannel, SIGNAL_MOUSE_UP, "control_previous",_mp_now_playing_seek_btn_up_cb, wd);
+ //elm_object_signal_callback_add(playing_pannel, SIGNAL_MOUSE_DOWN, "control_next",_mp_now_playing_seek_btn_down_cb, wd);
+ //elm_object_signal_callback_add(playing_pannel, SIGNAL_MOUSE_UP, "control_next",_mp_now_playing_seek_btn_up_cb, wd);
+
+ elm_object_part_content_set(wd->now_playing, "now_playing_label",
+ wd->label);
+
+ /*set focused UI */
+ elm_object_focus_allow_set(playing_pannel, EINA_TRUE);
+ elm_object_focus_allow_set(progress, EINA_TRUE);
+ //elm_object_focus_custom_chain_append(playing_pannel, progress_focus_btn, NULL);
+
+ Evas_Object *prev_focus_btn = elm_button_add(playing_pannel);
+ elm_object_style_set(prev_focus_btn, "focus");
+ elm_object_part_content_set(playing_pannel, "previous_focus",
+ prev_focus_btn);
+ elm_object_focus_custom_chain_append(playing_pannel, prev_focus_btn,
+ NULL);
+ evas_object_smart_callback_add(prev_focus_btn, "pressed",
+ _mp_now_playing_btn_pressed_cb,
+ "control_previous");
+ evas_object_smart_callback_add(prev_focus_btn, "unpressed",
+ _mp_now_playing_btn_unpressed_cb,
+ "control_previous");
+
+ Evas_Object *play_pause_focus_btn = elm_button_add(playing_pannel);
+ elm_object_style_set(play_pause_focus_btn, "focus");
+ elm_object_part_content_set(playing_pannel, "play_pause_focus",
+ play_pause_focus_btn);
+ elm_object_focus_custom_chain_append(playing_pannel,
+ play_pause_focus_btn, NULL);
+ evas_object_smart_callback_add(play_pause_focus_btn, "clicked",
+ _mp_now_playing_btn_clicked_cb, wd);
+ Evas_Object *next_focus_btn = elm_button_add(playing_pannel);
+ elm_object_style_set(next_focus_btn, "focus");
+ elm_object_part_content_set(playing_pannel, "next_focus",
+ next_focus_btn);
+ elm_object_focus_custom_chain_append(playing_pannel, next_focus_btn,
+ NULL);
+ evas_object_smart_callback_add(next_focus_btn, "pressed",
+ _mp_now_playing_btn_pressed_cb,
+ "control_next");
+ evas_object_smart_callback_add(next_focus_btn, "unpressed",
+ _mp_now_playing_btn_unpressed_cb,
+ "control_next");
+
+ _mp_now_playing_update_btn(wd->now_playing);
+
+ return playing_pannel;
+}
+
+void mp_now_playing_thaw_timer(Evas_Object * now_playing)
+{
+ startfunc;
+ MpNpData_t *wd = GET_WIDGET_DATA(now_playing);
+ MP_CHECK(wd);
+
+ elm_label_slide_mode_set(wd->label, ELM_LABEL_SLIDE_MODE_AUTO);
+ elm_label_slide_go(wd->label);
+
+ if (mp_player_mgr_get_state() == PLAYER_STATE_PLAYING) {
+ MP_TIMER_THAW(wd->timer);
+ }
+}
+
+void mp_now_playing_freeze_timer(Evas_Object * now_playing)
+{
+ startfunc;
+ MpNpData_t *wd = GET_WIDGET_DATA(now_playing);
+ MP_CHECK(wd);
+
+#ifdef MP_NOW_PLAYING_MINI_EQ
+ elm_object_part_content_set(wd->mini_eq, "image1", NULL);
+ elm_object_part_content_set(wd->mini_eq, "image2", NULL);
+ elm_object_part_content_set(wd->mini_eq, "image3", NULL);
+#endif
+
+ elm_label_slide_mode_set(wd->label, ELM_LABEL_SLIDE_MODE_NONE);
+ elm_label_slide_go(wd->label);
+
+ MP_TIMER_FREEZE(wd->timer);
+}
+
+static void _mp_now_playing_set_title(Evas_Object * now_playing,
+ const char *title,
+ const char *artist)
+{
+ startfunc;
+ MpNpData_t *wd = GET_WIDGET_DATA(now_playing);
+ MP_CHECK(wd);
+
+ char *markup_title = elm_entry_utf8_to_markup(title);
+ char *markup_artist = elm_entry_utf8_to_markup(artist);
+ char *mtitle = NULL;
+ char *martist = NULL;
+
+ char *title_format =
+ "<align=left><font_size=%d>%s</font_size></align>";
+ mtitle = g_strdup_printf(title_format, 28, markup_title);
+
+ martist = g_strdup_printf(title_format, 25, markup_artist);
+ Evas_Object *label_title = elm_label_add(wd->now_playing);
+ elm_object_style_set(label_title, "slide_roll");
+ elm_label_slide_mode_set(label_title, ELM_LABEL_SLIDE_MODE_AUTO);
+ elm_label_wrap_width_set(label_title, 1);
+ elm_object_text_set(label_title, mtitle);
+ elm_label_slide_go(label_title);
+ elm_object_part_content_set(wd->now_playing, "now_playing_label",
+ label_title);
+
+ Evas_Object *label_artist = elm_label_add(wd->now_playing);
+
+ elm_object_style_set(label_artist, "slide_roll");
+ elm_label_slide_mode_set(label_artist, ELM_LABEL_SLIDE_MODE_AUTO);
+ elm_label_wrap_width_set(label_artist, 1);
+ elm_object_text_set(label_artist, martist);
+ elm_label_slide_go(label_artist);
+ elm_object_part_content_set(wd->now_playing, "now_playing_artist",
+ label_artist);
+
+ IF_FREE(mtitle);
+ IF_FREE(martist);
+ IF_FREE(markup_title);
+ IF_FREE(markup_artist);
+
+}
+
+void mp_now_playing_update(Evas_Object * now_playing, const char *title,
+ const char *artist, const char *thumbnail,
+ bool with_title)
+{
+ startfunc;
+ MpNpData_t *wd = GET_WIDGET_DATA(now_playing);
+ MP_CHECK(wd);
+ MP_CHECK(wd->thumbnail);
+ //MP_CHECK(wd->label_artist);
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ elm_image_file_set(wd->thumbnail, thumbnail, NULL);
+ if (with_title) {
+ _mp_now_playing_set_title(now_playing, title, artist);
+ }
+
+ ad->music_pos = mp_player_mgr_get_position() / 1000.0;
+
+ if (ad->player_state == PLAY_STATE_PAUSED && ad->is_Longpress) {
+ _progressbar_value_set(wd);
+ } else if (((MpView_t *) (wd->userdata))->rotate_flag) {
+ _progressbar_value_set(wd);
+#ifdef MP_NOW_PLAYING_MINI_EQ
+ elm_object_part_content_set(wd->mini_eq, "image1", NULL);
+ elm_object_part_content_set(wd->mini_eq, "image2", NULL);
+ elm_object_part_content_set(wd->mini_eq, "image3", NULL);
+#endif
+ }
+#ifndef MP_SOUND_PLAYER
+ mp_setting_save_now_playing(ad);
+#endif
+
+ _mp_now_playing_update_time(wd);
+ _mp_now_playing_update_playpause_btn(wd->now_playing);
+}
+
+bool mp_now_playing_is_landscape(Evas_Object * now_playing)
+{
+ MP_CHECK_FALSE(now_playing);
+ MpNpData_t *wd = GET_WIDGET_DATA(now_playing);
+ MP_CHECK_FALSE(wd);
+
+ return wd->landscape;
+}
+
+void mp_now_playing_set_layout(Evas_Object * now_playing)
+{
+ _set_layout(now_playing);
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include "mp-player-volume-widget.h"
+#include "mp-player-debug.h"
+#include "mp-define.h"
+#include "mp-volume.h"
+#include "mp-widget.h"
+#include "mp-player-mgr.h"
+#include "mp-util.h"
+#include "mp-common.h"
+
+#define VOLUME_WIDGET_GROUP_NAME "mp-volume-widget"
+#define VOLUME_WIDGET_GROUP_NAME_LD "mp-volume-widget-ld"
+#define VOLUME_WIDGET_SLIDER_HANDLE "volume_widget_slider_control_area"
+#define VOLUME_WIDGET_INDICATOR "volume_widget_indicator"
+
+
+#define VOLUME_WIDGET_SLIDER_LD_SIZE (233 * elm_config_scale_get())
+#define VOLUME_WIDGET_SLIDER_LD_START_POINT (94 * elm_config_scale_get())
+
+#define VOLUME_WIDGET_SLIDER_LEVEL_MAX 16
+#define VOLUME_WIDGET_SLIDER_LEVEL_MIN 0
+
+#define MP_VOLUME_WIDGET_W 64
+#define MP_VOLUME_WIDGET_H 348
+
+#define MP_VOLUME_WIDGET_LD_W 116
+#define MP_VOLUME_WIDGET_LD_H 438
+
+#define VOLUME_SLIDER_MUL_START_POINT 96
+
+#ifndef _EDJ
+#define _EDJ(obj) elm_layout_edje_get(obj) /**< get evas object from elm layout */
+#endif
+
+typedef struct {
+ Evas_Object *obj;
+ bool dragging;
+
+ Volume_Widget_Cb event_cb;
+ void *user_data;
+
+ int max;
+ int current;
+} Volume_Widget_Data;
+
+int VOLUME_WIDGET_SLIDER_SIZE;
+int VOLUME_WIDGET_SLIDER_START_POINT;
+
+static inline void
+_mp_player_volume_widget_set_indicator(Volume_Widget_Data * wd, int val)
+{
+ MP_CHECK(wd);
+
+ char *text = g_strdup_printf("%d", val);
+ elm_object_part_text_set(wd->obj, VOLUME_WIDGET_INDICATOR, text);
+ SAFE_FREE(text);
+
+ wd->current = val;
+}
+
+static inline int _mp_player_volume_widget_get_val(Volume_Widget_Data * wd)
+{
+ MP_CHECK_VAL(wd, 0);
+
+ double val = 0.0;
+ edje_object_part_drag_value_get(_EDJ(wd->obj),
+ VOLUME_WIDGET_SLIDER_HANDLE, NULL,
+ &val);
+ return (int) (val * wd->max);
+}
+
+static void
+_mp_player_volume_widget_drag_start_cb(void *data, Evas_Object * obj,
+ const char *emission,
+ const char *source)
+{
+ startfunc;
+ Volume_Widget_Data *wd = data;
+ MP_CHECK(wd);
+
+ if (wd->event_cb) {
+ wd->event_cb(wd->user_data, obj, VOLUME_WIDGET_EVENT_DRAG_START);
+ }
+}
+
+static void
+_mp_player_volume_widget_drag_stop_cb(void *data, Evas_Object * obj,
+ const char *emission,
+ const char *source)
+{
+ startfunc;
+ Volume_Widget_Data *wd = data;
+ MP_CHECK(wd);
+
+ if (wd->event_cb) {
+ wd->event_cb(wd->user_data, obj, VOLUME_WIDGET_EVENT_DRAG_STOP);
+ }
+}
+
+static void
+_mp_player_volume_widget_mousedown_cb(void *data, Evas * e,
+ Evas_Object * obj, void *event_info)
+{
+ startfunc;
+ if (data == NULL && obj == NULL && event_info == NULL) {
+ return;
+ }
+
+ if ((elm_config_scale_get() - 1.7) < 0.0001) {
+ VOLUME_WIDGET_SLIDER_SIZE = 274;
+ VOLUME_WIDGET_SLIDER_START_POINT = 506;
+ } else if ((elm_config_scale_get() - 1.8) < 0.0001) {
+ VOLUME_WIDGET_SLIDER_SIZE = 216;
+ VOLUME_WIDGET_SLIDER_START_POINT = 420;
+ } else if ((elm_config_scale_get() - 2.4) < 0.0001) {
+ VOLUME_WIDGET_SLIDER_SIZE = 376;
+ VOLUME_WIDGET_SLIDER_START_POINT = 689;
+ } else if ((elm_config_scale_get() - 2.6) < 0.0001) {
+ VOLUME_WIDGET_SLIDER_SIZE = 376;
+ VOLUME_WIDGET_SLIDER_START_POINT = 689;
+ } else if ((elm_config_scale_get() - 2.8) < 0.0001) {
+ VOLUME_WIDGET_SLIDER_SIZE = 376;
+ VOLUME_WIDGET_SLIDER_START_POINT = 689;
+ }
+ Volume_Widget_Data *wd = data;
+ MP_CHECK(wd);
+
+ Evas_Event_Mouse_Down *ev = event_info;
+ int current = 0;
+
+ int val = mp_player_mgr_volume_get_current();
+
+ int max_vol = VOLUME_WIDGET_SLIDER_LEVEL_MAX;
+
+ current = ev->canvas.y;
+ double dval =
+ (((VOLUME_WIDGET_SLIDER_START_POINT -
+ current) * max_vol) * 1.0) / VOLUME_WIDGET_SLIDER_SIZE;
+ val = dval;
+ DEBUG_TRACE("dval = %f, val = %d, dval-val=%f ", dval, val,
+ (dval - val));
+ if ((dval - val) > 0.5) {
+ val = val + 1;
+ }
+
+ if (val < VOLUME_WIDGET_SLIDER_LEVEL_MIN) {
+ val = VOLUME_WIDGET_SLIDER_LEVEL_MIN;
+ } else if (val > max_vol) {
+ val = max_vol;
+ }
+ //int val = _mp_player_volume_widget_get_val(wd);
+ DEBUG_TRACE("val = %d", val);
+ DEBUG_TRACE("wd->current = %d", wd->current);
+
+ if (val != wd->current) {
+ if (!mp_player_mgr_volume_set(val)) {
+ return;
+ }
+ _mp_player_volume_widget_set_indicator(wd, val);
+ }
+ if (wd->event_cb) {
+ wd->event_cb(wd->user_data, obj, VOLUME_WIDGET_EVENT_DRAG_STOP);
+ }
+
+ endfunc;
+}
+
+static void
+_mp_player_volume_widget_mouseup_cb(void *data, Evas * e,
+ Evas_Object * obj, void *event_info)
+{
+ startfunc;
+ if (data == NULL && obj == NULL && event_info == NULL) {
+ return;
+ }
+
+ Volume_Widget_Data *wd = data;
+ MP_CHECK(wd);
+
+ mp_player_volume_widget_set_val(wd->obj,
+ mp_player_mgr_volume_get_current());
+
+ if (wd->event_cb) {
+ wd->event_cb(wd->user_data, obj, VOLUME_WIDGET_EVENT_DRAG_STOP);
+ }
+ //when up ,the slider position is wrong cause by this code
+ endfunc;
+}
+
+
+static void
+_mp_player_volume_widget_changed_cb(void *data, Evas_Object * obj,
+ const char *emission,
+ const char *source)
+{
+ startfunc;
+ Volume_Widget_Data *wd = data;
+ MP_CHECK(wd);
+
+ int val = _mp_player_volume_widget_get_val(wd);
+ DEBUG_TRACE("val = %d", val);
+ DEBUG_TRACE("wd->current = %d", wd->current);
+ if (val != wd->current) {
+ if (!mp_player_mgr_volume_set(val)) {
+ mp_player_volume_widget_set_val(wd->obj, 9);
+ } else {
+ _mp_player_volume_widget_set_indicator(wd, val);
+ }
+ }
+
+ if (wd->event_cb) {
+ wd->event_cb(wd->user_data, obj, VOLUME_WIDGET_EVENT_DRAG_MAX);
+ }
+}
+
+static void
+_mp_player_volume_widget_del_cb(void *data, Evas * e, Evas_Object * obj,
+ void *event_info)
+{
+ Volume_Widget_Data *wd = data;
+ SAFE_FREE(wd);
+}
+
+Evas_Object *mp_player_volume_widget_add(Evas_Object * parent)
+{
+ startfunc;
+ MP_CHECK_NULL(parent);
+
+ Evas_Object *widget = NULL;
+ if (mp_util_is_landscape()) {
+ widget =
+ mp_common_load_edj(parent, PLAY_VIEW_EDJ_NAME,
+ VOLUME_WIDGET_GROUP_NAME_LD);
+ } else {
+ widget =
+ mp_common_load_edj(parent, PLAY_VIEW_EDJ_NAME,
+ VOLUME_WIDGET_GROUP_NAME);
+ }
+ evas_object_size_hint_weight_set(widget, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(widget, EVAS_HINT_FILL,
+ EVAS_HINT_FILL);
+
+ Volume_Widget_Data *wd = calloc(1, sizeof(Volume_Widget_Data));
+ MP_CHECK_NULL(wd);
+ wd->obj = widget;
+ wd->max = mp_player_mgr_volume_get_max();
+ evas_object_data_set(widget, "widget_data", wd);
+
+ mp_player_volume_widget_set_val(widget,
+ mp_player_mgr_volume_get_current());
+
+ Evas_Object *edj_obj = _EDJ(widget);
+ edje_object_signal_callback_add(edj_obj, "drag,start",
+ VOLUME_WIDGET_SLIDER_HANDLE,
+ _mp_player_volume_widget_drag_start_cb,
+ wd);
+ edje_object_signal_callback_add(edj_obj, "drag",
+ VOLUME_WIDGET_SLIDER_HANDLE,
+ _mp_player_volume_widget_changed_cb,
+ wd);
+ edje_object_signal_callback_add(edj_obj, "drag,stop",
+ VOLUME_WIDGET_SLIDER_HANDLE,
+ _mp_player_volume_widget_drag_stop_cb,
+ wd);
+
+ evas_object_event_callback_add(widget, EVAS_CALLBACK_MOUSE_DOWN,
+ _mp_player_volume_widget_mousedown_cb,
+ wd);
+ evas_object_event_callback_add(widget, EVAS_CALLBACK_MOUSE_UP,
+ _mp_player_volume_widget_mouseup_cb,
+ wd);
+ evas_object_event_callback_add(widget, EVAS_CALLBACK_FREE,
+ _mp_player_volume_widget_del_cb, wd);
+
+#ifdef MP_SOUND_PLAYER
+ edje_object_signal_emit(edj_obj, "hide,sound,alive", "*");
+#endif
+
+ return widget;
+}
+
+void
+mp_player_volume_widget_event_callback_add(Evas_Object * obj,
+ Volume_Widget_Cb event_cb,
+ void *user_data)
+{
+ MP_CHECK(obj);
+ Volume_Widget_Data *wd = evas_object_data_get(obj, "widget_data");
+ MP_CHECK(wd);
+
+ wd->event_cb = event_cb;
+ wd->user_data = user_data;
+}
+
+int mp_player_volume_widget_set_val(Evas_Object * obj, int val)
+{
+ MP_CHECK_VAL(obj, 0);
+ Volume_Widget_Data *wd = evas_object_data_get(obj, "widget_data");
+ MP_CHECK_VAL(wd, 0);
+
+ if (val < 0) {
+ val = 0;
+ }
+ if (val > wd->max) {
+ val = wd->max;
+ }
+ double ratio = (double) val / (double) wd->max;
+ edje_object_part_drag_value_set(_EDJ(wd->obj),
+ VOLUME_WIDGET_SLIDER_HANDLE, 1.0,
+ ratio);
+ _mp_player_volume_widget_set_indicator(wd, val);
+
+ return val;
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include "mp-playlist-list.h"
+#include "mp-playlist-detail-view.h"
+#include "mp-select-track-view.h"
+#include "mp-common.h"
+#include "mp-popup.h"
+#include "mp-widget.h"
+#include "mp-setting-ctrl.h"
+#include "mp-util.h"
+#include "mp-ug-launch.h"
+#include "mp-menu.h"
+#include "mp-player-view.h"
+#include "mp-play.h"
+#include "mp-edit-playlist.h"
+#include "ms-key-ctrl.h"
+
+#define ALBUM_GRID_W 233
+#define ALBUM_GRID_H 319
+#define ALBUM_GRID_LAND_W 252
+#define ALBUM_GRID_LAND_H 320
+
+static void _mp_playlist_list_update(void *thiz);
+static void _mp_playlist_append_user_playlists(void *thiz,
+ Elm_Object_Item *
+ parent_item);
+static void _mp_playlist_list_set_grid_style(MpPlaylistList_t * list);
+
+static int _mp_playlist_list_get_track_type_by_playlist_id(int playlist_id)
+{
+ int track_type;
+ if (playlist_id == MP_SYS_PLST_MOST_PLAYED) {
+ track_type = MP_TRACK_BY_PLAYED_COUNT;
+ } else if (playlist_id == MP_SYS_PLST_RECENTELY_ADDED) {
+ track_type = MP_TRACK_BY_ADDED_TIME;
+ } else if (playlist_id == MP_SYS_PLST_RECENTELY_PLAYED) {
+ track_type = MP_TRACK_BY_PLAYED_TIME;
+ } else if (playlist_id == MP_SYS_PLST_QUICK_LIST) {
+ track_type = MP_TRACK_BY_FAVORITE;
+ } else {
+ track_type = MP_TRACK_BY_PLAYLIST;
+ }
+
+ return track_type;
+}
+
+static char *_mp_playlist_list_label_get(void *data, Evas_Object * obj,
+ const char *part)
+{
+ mp_list_item_data_t *item = (mp_list_item_data_t *) data;
+ MP_CHECK_NULL(item);
+ mp_media_info_h plst_item = (item->handle);
+ MP_CHECK_NULL(plst_item);
+
+ int ret = 0;
+ if (!strcmp(part, "elm.text")) {
+
+ char *name = NULL;
+ ret = mp_media_info_group_get_main_info(plst_item, &name);
+ mp_retvm_if(ret != 0, NULL, "Fail to get value");
+ mp_retvm_if(name == NULL, NULL, "Fail to get value");
+
+ return elm_entry_utf8_to_markup(GET_STR(name));
+ } else if (!strcmp(part, "elm.text.sub")) {
+ int count = -1;
+ int plst_id = -1;
+ int total_time = 0;
+ char time[20] = { 0, };
+ char *format_text = NULL;
+
+ // TODO: fix performance issue
+ ret = mp_media_info_group_get_playlist_id(plst_item, &plst_id);
+ mp_retvm_if((ret != 0), NULL, "Fail to get value");
+
+ char *text = NULL;
+ int track_type =
+ _mp_playlist_list_get_track_type_by_playlist_id(plst_id);
+ ret =
+ mp_media_info_list_count(track_type, NULL, NULL, NULL, plst_id,
+ &count);
+
+ total_time =
+ mp_common_get_playlist_totaltime(track_type, plst_id, count);
+ mp_util_format_duration(time, total_time);
+
+ if (count == 1) {
+ text = g_strdup(GET_STR(STR_MP_1_SONG));
+ } else {
+ text = g_strdup_printf(GET_STR(STR_MP_PD_SONGS), count);
+ }
+
+ format_text = g_strdup_printf("%s | %s", text, time);
+ IF_FREE(text);
+ return format_text;
+ }
+
+ return NULL;
+}
+
+/*static char *
+_mp_playlist_add_label_get(void *data, Evas_Object * obj, const char *part)
+{
+ return g_strdup(GET_STR(STR_MP_CREATE_PLAYLIST));
+}*/
+
+static mp_group_type_e _mp_playlist_list_get_group_type(void *thiz)
+{
+ MpPlaylistList_t *list = thiz;
+ MP_CHECK_VAL(list, MP_GROUP_NONE);
+ return MP_GROUP_BY_PLAYLIST;
+}
+
+static void
+_mp_playlist_list_item_longpressed_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ startfunc;
+
+ MpPlaylistList_t *list = (MpPlaylistList_t *) data;
+ MP_CHECK(list);
+ if (list->edit_mode) {
+ return;
+ }
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ Elm_Object_Item *item = event_info;
+ MP_CHECK(item);
+
+ bool pop_del_status = true;
+ int pop_item_count = 5;
+ int playlist_state = 0;
+ char *title = NULL;
+ Evas_Object *popup = NULL;
+ mp_list_item_data_t *item_data = NULL;
+
+ if (list->scroll_drag_status) {
+ return;
+ }
+
+ Elm_Object_Item *temp = NULL;
+ if (MP_LIST_OBJ_IS_GENGRID(list->genlist)) {
+ temp = elm_gengrid_first_item_get(list->genlist);
+ while (temp) {
+ item_data = elm_object_item_data_get(temp);
+ if (item_data) {
+ item_data->checked = false;
+ }
+ temp = elm_gengrid_item_next_get(temp);
+ }
+ } else {
+ temp = elm_genlist_first_item_get(list->genlist);
+ while (temp) {
+ item_data = elm_object_item_data_get(temp);
+ if (item_data) {
+ item_data->checked = false;
+ }
+ temp = elm_genlist_item_next_get(temp);
+ }
+ }
+
+ item_data = elm_object_item_data_get(item);
+ MP_CHECK(item_data);
+
+ item_data->checked = true;
+
+ int item_index = 0;
+ int playlist_auto_count = 0;
+ int i = 0;
+ pop_item_count = 2;
+
+ if (MP_LIST_OBJ_IS_GENGRID(list->genlist)) {
+ item_index = elm_gengrid_item_index_get(item);
+ } else {
+ item_index = elm_genlist_item_index_get(item);
+ }
+
+
+ mp_media_info_group_get_main_info(item_data->handle, &title);
+ mp_setting_playlist_get_state(&playlist_state);
+ for (i = 0; i < MP_SYS_PLST_COUNT; i++) {
+ if (playlist_state & (1 << i)) {
+ playlist_auto_count++;
+ }
+ }
+
+ if (MP_LIST_OBJ_IS_GENGRID(list->genlist)) {
+ if (item_index < (playlist_auto_count)) {
+ pop_item_count = 1;
+ pop_del_status = false;
+ title = GET_SYS_STR(title);
+ }
+ } else {
+ if (item_index <= (playlist_auto_count)) {
+ pop_item_count = 1;
+ pop_del_status = false;
+ title = GET_SYS_STR(title);
+ }
+ }
+
+ popup =
+ mp_genlist_popup_create(obj, MP_POPUP_LIST_LONGPRESSED,
+ &pop_item_count, ad);
+ MP_CHECK(popup);
+
+ char *up_title = elm_entry_utf8_to_markup(title);
+
+ elm_object_part_text_set(popup, "title,text", up_title);
+ IF_FREE(up_title);
+
+ mp_genlist_popup_item_append(popup, STR_MP_PLAY_ALL, NULL, NULL, NULL,
+ mp_common_playall_cb, list);
+
+ if (pop_del_status) {
+ mp_genlist_popup_item_append(popup, STR_MP_DELETE, NULL, NULL,
+ NULL, mp_common_list_delete_cb, list);
+ mp_genlist_popup_item_append(popup, STR_MP_RENAME, NULL, NULL,
+ NULL, mp_common_playlist_rename_cb,
+ list);
+
+ }
+
+ if (MP_LIST_OBJ_IS_GENGRID(list->genlist)) {
+ MP_GENGRID_ITEM_LONG_PRESSED(obj, popup, event_info);
+ } else {
+ MP_GENLIST_ITEM_LONG_PRESSED(obj, popup, event_info);
+ }
+
+}
+
+void
+mp_playlist_list_view_rename_done_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ eventfunc;
+ char *text = NULL;
+ mp_list_item_data_t *item = (mp_list_item_data_t *) data;
+ MP_CHECK(item);
+
+ Evas_Object *editfiled_entry = obj;
+ MP_CHECK(editfiled_entry);
+ /* save */
+
+ //mp_genlist_item_data_t *item = (mp_genlist_item_data_t *) elm_object_item_data_get(layout_data->rename_git);
+ //MP_CHECK(item);
+ mp_media_info_h plst = (item->handle);
+ MP_CHECK(plst);
+
+ bool rename_success = FALSE;
+ int ret = 0;
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ text = mp_util_isf_get_edited_str(editfiled_entry, TRUE);
+
+ if (!mp_util_is_playlist_name_valid((char *) text)) {
+ mp_widget_text_popup(ad,
+ GET_STR
+ ("IDS_MUSIC_POP_UNABLE_RENAME_PLAYLIST"));
+ } else {
+ bool exist = false;
+ ret = mp_media_info_playlist_is_exist(text, &exist);
+ if (ret != 0) {
+ ERROR_TRACE("Fail to get playlist count by name: %d", ret);
+ mp_widget_text_popup(ad,
+ GET_STR
+ ("IDS_MUSIC_POP_UNABLE_CREATE_PLAYLIST"));
+ } else {
+ char *origin_name = NULL;
+ mp_media_info_group_get_main_info(plst, &origin_name);
+
+ if (exist) {
+ if (origin_name && !g_strcmp0(origin_name, text)) {
+ mp_debug("Not edited.. rename OK");
+ rename_success = TRUE;
+ } else {
+ mp_widget_text_popup(ad, GET_STR(STR_MP_POP_EXISTS));
+ }
+ } else {
+ ret = mp_media_info_playlist_rename(plst, text);
+ if (ret == 0) {
+ mp_debug("mp_media_info_playlist_rename().. OK");
+ rename_success = TRUE;
+ }
+ }
+ }
+ }
+ IF_FREE(text);
+
+ if (rename_success) {
+ mp_debug("playlist rename success");
+ /* update content */
+ MpViewMgr_t *view_mgr = mp_view_mgr_get_view_manager();
+ MP_CHECK(view_mgr);
+ MpListView_t *view_to_update =
+ (MpListView_t *) mp_view_mgr_get_top_view(view_mgr);
+ MP_CHECK(view_to_update);
+ mp_list_update(view_to_update->content_to_show);
+ mp_list_set_edit(view_to_update->content_to_show, TRUE);
+ }
+
+ elm_genlist_item_update(item->it);
+
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_PLAYLIST_RENAMED);
+
+ //mp_view_manager_set_controlbar_visible(mp_view_manager_get_navi_item(layout_data->ad), true);
+
+ return;
+}
+
+int mp_playlist_list_set_playlist(mp_plst_mgr * plst_mgr, int playlist_id)
+{
+ MP_CHECK_VAL(plst_mgr, 0);
+ mp_media_list_h svc_handle = NULL;
+ int count = 0, track_type = 0;
+ int ret;
+
+ DEBUG_TRACE("playlist_id %d", playlist_id);
+
+ track_type =
+ _mp_playlist_list_get_track_type_by_playlist_id(playlist_id);
+ mp_media_info_list_count(track_type, NULL, NULL, NULL, playlist_id,
+ &count);
+
+ /* get music item data */
+ ret =
+ mp_media_info_list_create(&svc_handle, track_type, NULL, NULL,
+ NULL, playlist_id, 0, count);
+ if (ret != 0) {
+ DEBUG_TRACE("fail to get list item: %d", ret);
+ ret = mp_media_info_list_destroy(svc_handle);
+ svc_handle = NULL;
+ }
+
+ if (count) {
+ mp_playlist_mgr_clear(plst_mgr);
+ mp_util_append_media_list_item_to_playlist(plst_mgr, svc_handle,
+ count, 0, NULL);
+ }
+
+ if (svc_handle) {
+ mp_media_info_list_destroy(svc_handle);
+ }
+
+ return count;
+}
+
+Evas_Object *_mp_playlist_list_icon_get(void *data, Evas_Object * obj,
+ const char *part)
+{
+ mp_list_item_data_t *item = (mp_list_item_data_t *) data;
+ MP_CHECK_NULL(item);
+ mp_media_info_h plst = (item->handle);
+ MP_CHECK_NULL(plst);
+
+ Evas_Object *eo = NULL;
+ int ret = 0;
+
+ int playlist_id = 0;
+ char *thumb_path = NULL;
+
+ Evas_Object *content = NULL;
+ content = elm_layout_add(obj);
+
+ mp_media_info_group_get_playlist_id(plst, &playlist_id);
+
+ if (!strcmp(part, "elm.icon.1") || !strcmp(part, "elm.swallow.icon")) {
+ mp_common_playlist_album_update(plst);
+ ret = mp_media_info_playlist_get_thumbnail_path(plst, &thumb_path);
+ mp_retvm_if(ret != 0, NULL, "Fail to get value");
+ if (playlist_id >= 0) {
+ eo = mp_util_create_lazy_update_thumb_icon(obj, thumb_path,
+ MP_LIST_ICON_SIZE,
+ MP_LIST_ICON_SIZE);
+ } else {
+ eo = mp_util_create_thumb_icon(obj, thumb_path,
+ MP_LIST_ICON_SIZE,
+ MP_LIST_ICON_SIZE);
+ }
+
+ elm_layout_theme_set(content, "layout", "list/B/music.type.1",
+ "default");
+ elm_layout_content_set(content, "elm.swallow.content", eo);
+
+ return content;
+ }
+
+ Evas_Object *check = NULL;
+ MpPlaylistList_t *list = evas_object_data_get(obj, "list_handle");
+ MP_CHECK_NULL(list);
+ if (list->edit_mode) {
+ if (!strcmp(part, "elm.swallow.end")) {
+ // swallow checkbox or radio button
+ check = elm_check_add(obj);
+ if (MP_LIST_OBJ_IS_GENGRID(obj)) {
+ elm_object_style_set(check, "grid");
+ } else {
+ elm_object_style_set(check, "default");
+ }
+ evas_object_propagate_events_set(check, EINA_FALSE);
+ evas_object_smart_callback_add(check, "changed",
+ mp_common_view_check_changed_cb,
+ NULL);
+ elm_check_state_pointer_set(check, &item->checked);
+ return check;
+ }
+ }
+ return NULL;
+}
+
+Evas_Object *_mp_playlist_add_icon_get(void *data, Evas_Object * obj,
+ const char *part)
+{
+ if (!strcmp(part, "elm.icon.1") || !strcmp(part, "elm.swallow.icon")) {
+ Evas_Object *eo = NULL;
+ Evas_Object *content = NULL;
+ content = elm_layout_add(obj);
+
+ char image_path[1024] = { 0 };
+ char *path = app_get_resource_path();
+
+ MP_CHECK_NULL(path);
+ snprintf(image_path, 1024, "%s%s/%s", path, "images/music_player",
+ PLAYLIST_CREATE_THUMBNAIL);
+
+ eo = mp_util_create_thumb_icon(obj, image_path, MP_LIST_ICON_SIZE,
+ MP_LIST_ICON_SIZE);
+
+ elm_layout_theme_set(content, "layout", "list/B/music.type.1",
+ "default");
+ elm_layout_content_set(content, "elm.swallow.content", eo);
+
+ return content;
+ }
+
+ return NULL;
+}
+
+static void _mp_playlist_list_item_del_cb(void *data, Evas_Object * obj)
+{
+ startfunc;
+ mp_list_item_data_t *item_data = data;
+ MP_CHECK(item_data);
+ if (item_data->unregister_lang_mgr) {
+ mp_language_mgr_unregister_genlist_item(item_data->it);
+ }
+ free(item_data);
+}
+
+static void _mp_playlist_list_set_edit(void *thiz, bool edit)
+{
+ startfunc;
+ MpPlaylistList_t *list = thiz;
+ MP_CHECK(list);
+
+ if (edit) {
+ list->auto_playlist_count = 0;
+
+ if (!MP_LIST_OBJ_IS_GENGRID(list->genlist)) {
+ elm_genlist_clear(list->genlist);
+ } else {
+ elm_gengrid_clear(list->genlist);
+ }
+
+ if (list->reorderable) {
+ mp_list_reorder_mode_set(list->genlist, EINA_TRUE);
+ }
+
+ mp_list_select_mode_set(list->genlist,
+ ELM_OBJECT_SELECT_MODE_ALWAYS);
+
+ _mp_playlist_append_user_playlists(list, NULL);
+ }
+}
+
+static void
+_mp_playlist_user_playlist_select_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ eventfunc;
+ MpPlaylistList_t *list = (MpPlaylistList_t *) data;
+ MP_CHECK(list);
+
+ int ret = 0;
+ char *name = NULL;
+ int p_id = 0;
+ mp_list_item_data_t *item_data = NULL;
+
+ Elm_Object_Item *gli = (Elm_Object_Item *) event_info;
+ if (list->display_mode == MP_LIST_DISPLAY_MODE_THUMBNAIL) {
+ elm_gengrid_item_selected_set(gli, EINA_FALSE);
+ } else {
+ elm_genlist_item_selected_set(gli, EINA_FALSE);
+ }
+
+ item_data = elm_object_item_data_get(gli);
+ MP_CHECK(item_data);
+
+ ret = mp_media_info_group_get_playlist_id(item_data->handle, &p_id);
+ mp_retm_if(ret != 0, "Fail to get value");
+
+ ret = mp_media_info_group_get_main_info(item_data->handle, &name);
+ mp_retm_if(ret != 0, "Fail to get value");
+ mp_retm_if(name == NULL, "Fail to get value");
+
+
+ if (list->function_type == MP_LIST_FUNC_ADD_TRACK) {
+ MpViewMgr_t *view_manager = mp_view_mgr_get_view_manager();
+ MP_CHECK(view_manager);
+ MpSelectTrackView_t *view_select_track =
+ mp_select_track_view_create(view_manager->navi);
+ MP_CHECK(view_select_track);
+ mp_view_mgr_push_view(view_manager, (MpView_t *) view_select_track,
+ NULL);
+
+ mp_view_update_options((MpView_t *) view_select_track);
+ mp_view_set_title((MpView_t *) view_select_track,
+ STR_MP_TILTE_SELECT_ITEM);
+ mp_track_list_set_data((MpTrackList_t *) view_select_track->
+ content_to_show, MP_TRACK_LIST_TYPE,
+ MP_TRACK_BY_PLAYLIST,
+ MP_TRACK_LIST_PLAYLIT_ID, p_id, -1);
+ mp_list_update((MpList_t *) view_select_track->content_to_show);
+ mp_list_set_edit((MpList_t *) view_select_track->content_to_show,
+ TRUE);
+ mp_list_view_set_select_all((MpListView_t *) view_select_track,
+ TRUE);
+ return;
+ }
+
+ if (list->edit_mode) {
+ //mp_edit_view_genlist_sel_cb(data, obj, event_info);
+ mp_list_edit_mode_sel((MpList_t *) list, item_data);
+
+ MpViewMgr_t *view_mgr = mp_view_mgr_get_view_manager();
+ MpView_t *view = mp_view_mgr_get_top_view(view_mgr);
+ ERROR_TRACE("update options of edit view");
+ mp_view_update_options_edit(view);
+ ERROR_TRACE("set selected count");
+ return;
+ }
+
+ MpViewMgr_t *view_manager = mp_view_mgr_get_view_manager();
+ MP_CHECK(view_manager);
+ MpPlaylistDetailView_t *view_plst_detail =
+ mp_playlist_detail_view_create(view_manager->navi,
+ MP_TRACK_BY_PLAYLIST, name, p_id);
+ MP_CHECK(view_plst_detail);
+ mp_view_mgr_push_view(view_manager, (MpView_t *) view_plst_detail,
+ NULL);
+
+ mp_view_update_options((MpView_t *) view_plst_detail);
+ mp_view_set_title((MpView_t *) view_plst_detail, name);
+
+}
+
+static void
+_mp_playlist_create_auto_playlist(void *data,
+ mp_list_item_data_t * item_data,
+ char *name)
+{
+ MP_CHECK(item_data);
+ MpPlaylistList_t *list = (MpPlaylistList_t *) data;
+ MP_CHECK(list);
+
+ mp_track_type_e type = MP_TRACK_ALL;
+ if (!strcmp(STR_MP_MOST_PLAYED, name)) {
+ type = MP_TRACK_BY_PLAYED_COUNT;
+ } else if (!strcmp((STR_MP_RECENTLY_ADDED), name)) {
+ type = MP_TRACK_BY_ADDED_TIME;
+ } else if (!strcmp((STR_MP_RECENTLY_PLAYED), name)) {
+ type = MP_TRACK_BY_PLAYED_TIME;
+ } else if (!strcmp((STR_MP_FAVOURITES), name)) {
+ type = MP_TRACK_BY_FAVORITE;
+ } else {
+ SECURE_ERROR("Invalid type: %s", name);
+ }
+
+ ERROR_TRACE("type is %d", type);
+
+ if (list->function_type == MP_LIST_FUNC_ADD_TRACK) {
+ MpViewMgr_t *view_manager = mp_view_mgr_get_view_manager();
+ MP_CHECK(view_manager);
+ MpSelectTrackView_t *view_select_track =
+ mp_select_track_view_create(view_manager->navi);
+ MP_CHECK(view_select_track);
+ mp_view_mgr_push_view(view_manager, (MpView_t *) view_select_track,
+ NULL);
+
+ mp_view_update_options((MpView_t *) view_select_track);
+ mp_view_set_title((MpView_t *) view_select_track,
+ STR_MP_TILTE_SELECT_ITEM);
+ mp_track_list_set_data((MpTrackList_t *) view_select_track->
+ content_to_show, MP_TRACK_LIST_TYPE, type,
+ -1);
+ mp_list_update((MpList_t *) view_select_track->content_to_show);
+ mp_list_set_edit((MpList_t *) view_select_track->content_to_show,
+ TRUE);
+ return;
+ }
+
+ if (list->edit_mode) {
+ //mp_edit_view_genlist_sel_cb(data, obj, event_info);
+ mp_list_edit_mode_sel((MpList_t *) list, item_data);
+
+ MpViewMgr_t *view_mgr = mp_view_mgr_get_view_manager();
+ MP_CHECK(view_mgr);
+ MpView_t *view = mp_view_mgr_get_top_view(view_mgr);
+ MP_CHECK(view);
+ ERROR_TRACE("update options of edit view");
+ mp_view_update_options_edit((MpView_t *) view);
+ ERROR_TRACE("set selected count");
+ return;
+ }
+ MpViewMgr_t *view_manager = mp_view_mgr_get_view_manager();
+ MP_CHECK(view_manager);
+ MpPlaylistDetailView_t *view_plst_detail =
+ mp_playlist_detail_view_create(view_manager->navi, type, name, -1);
+ MP_CHECK(view_plst_detail);
+ mp_view_mgr_push_view(view_manager, (MpView_t *) view_plst_detail,
+ NULL);
+
+ mp_view_update_options((MpView_t *) view_plst_detail);
+ mp_view_set_title((MpView_t *) view_plst_detail, name);
+}
+
+static void
+_mp_playlist_auto_playlist_select_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ eventfunc;
+ int ret = 0;
+ char *name = NULL;
+ mp_list_item_data_t *item_data = NULL;
+ MpPlaylistList_t *list = (MpPlaylistList_t *) data;
+ MP_CHECK(list);
+
+ Elm_Object_Item *gli = (Elm_Object_Item *) event_info;
+
+ if (list->display_mode == MP_LIST_DISPLAY_MODE_THUMBNAIL) {
+ elm_gengrid_item_selected_set(gli, EINA_FALSE);
+ } else {
+ elm_genlist_item_selected_set(gli, EINA_FALSE);
+ }
+
+ item_data = elm_object_item_data_get(gli);
+ MP_CHECK(item_data);
+ ret = mp_media_info_group_get_main_info(item_data->handle, &name);
+ mp_retm_if(ret != 0, "Fail to get value");
+ mp_retm_if(name == NULL, "Fail to get value");
+
+ SECURE_DEBUG("playlist name: %s", name);
+
+ _mp_playlist_create_auto_playlist(data, item_data, name);
+}
+
+static void
+_mp_playlist_append_auto_playlists(void *thiz,
+ Elm_Object_Item * parent_item)
+{
+ int i;
+ int playlist_state = 0;
+
+ MpPlaylistList_t *plst = (MpPlaylistList_t *) thiz;
+ MP_CHECK(plst);
+
+ if (plst->playlists_auto) {
+ mp_media_info_group_list_destroy(plst->playlists_auto);
+ }
+
+ mp_setting_playlist_get_state(&playlist_state);
+
+ char *str = NULL;
+ ms_key_get_playlist_str(&str);
+
+ int value = atoi(str);
+ int playlist[4] = { 0 };
+ DEBUG_TRACE("value %d", value);
+ int j = 0;
+ for (j = 3; j >= 0; j--) {
+ playlist[j] = value % 10;
+ value = value / 10;
+ DEBUG_TRACE("index %d %d", j, playlist[j]);
+ }
+
+ mp_media_info_group_list_create(&(plst->playlists_auto),
+ MP_GROUP_BY_SYS_PLAYLIST, NULL, NULL,
+ 0, 0);
+ for (i = 0; i < MP_SYS_PLST_COUNT; i++) {
+ int enable = playlist_state & (1 << (playlist[i] - 1));
+ DEBUG_TRACE("index: %d, state: %d", i, enable);
+ if (!enable) {
+ continue;
+ }
+
+ mp_media_info_h item;
+ //item = mp_media_info_group_list_nth_item(plst->playlists_auto, i);
+ item =
+ mp_media_info_group_list_nth_item(plst->playlists_auto,
+ playlist[i] - 1);
+
+ mp_list_item_data_t *item_data;
+ item_data = calloc(1, sizeof(mp_list_item_data_t));
+ MP_CHECK(item_data);
+ item_data->handle = item;
+ item_data->unregister_lang_mgr = true;
+
+ plst->auto_playlist_count++;
+ if (MP_LIST_OBJ_IS_GENGRID(plst->genlist)) {
+ item_data->it =
+ elm_gengrid_item_append(plst->genlist, plst->gengrid_itc,
+ item_data,
+ _mp_playlist_auto_playlist_select_cb,
+ (void *) plst);
+ } else {
+ item_data->it =
+ elm_genlist_item_append(plst->genlist, plst->itc_auto,
+ item_data, parent_item,
+ ELM_GENLIST_ITEM_NONE,
+ _mp_playlist_auto_playlist_select_cb,
+ plst);
+ }
+ elm_object_item_data_set(item_data->it, item_data);
+ }
+}
+
+static void
+_mp_playlist_append_user_playlists(void *thiz,
+ Elm_Object_Item * parent_item)
+{
+ startfunc;
+ gint count = -1;
+ gint index = 0;
+ int ret = 0;
+
+ MpPlaylistList_t *plst = (MpPlaylistList_t *) thiz;
+ mp_retm_if(!plst, "plst is null");
+
+ mp_media_info_group_list_count(MP_GROUP_BY_PLAYLIST, plst->type_str,
+ plst->filter_str, &count);
+
+ if (count < 0) {
+ goto END;
+ }
+
+ if (plst->playlists_user) {
+ mp_media_info_group_list_destroy(plst->playlists_user);
+ plst->playlists_user = NULL;
+ }
+
+ ret =
+ mp_media_info_group_list_create(&plst->playlists_user,
+ MP_GROUP_BY_PLAYLIST,
+ plst->type_str, plst->filter_str,
+ 0, count);
+ if (ret != 0) {
+ DEBUG_TRACE("Fail to get items");
+ goto END;
+ }
+
+ for (index = 0; index < count; index++) {
+ mp_media_info_h item = NULL;
+ char *title = NULL;
+
+ item =
+ mp_media_info_group_list_nth_item(plst->playlists_user, index);
+ if (!item) {
+ DEBUG_TRACE
+ ("Fail to mp_media_info_group_list_nth_item, ret[%d], index[%d]",
+ ret, index);
+ goto END;
+ }
+ mp_media_info_group_get_main_info(item, &title);
+ mp_list_item_data_t *item_data;
+ item_data = calloc(1, sizeof(mp_list_item_data_t));
+ MP_CHECK(item_data);
+ item_data->handle = item;
+ item_data->group_type = plst->group_type;
+ item_data->index = index;
+
+ if (MP_LIST_OBJ_IS_GENGRID(plst->genlist)) {
+ item_data->it =
+ elm_gengrid_item_append(plst->genlist, plst->gengrid_itc,
+ item_data,
+ _mp_playlist_user_playlist_select_cb,
+ (void *) plst);
+ } else {
+ item_data->it =
+ elm_genlist_item_append(plst->genlist, plst->itc_auto,
+ item_data, parent_item,
+ ELM_GENLIST_ITEM_NONE,
+ _mp_playlist_user_playlist_select_cb,
+ plst);
+ }
+ elm_object_item_data_set(item_data->it, item_data);
+
+ }
+
+ END:
+ endfunc;
+}
+
+static Elm_Object_Item *_mp_playlist_append_group_index(void *thiz,
+ int index,
+ Elm_Genlist_Item_Class
+ *itc_group_index)
+{
+ MpPlaylistList_t *list = (MpPlaylistList_t *) thiz;
+ MP_CHECK_NULL(list);
+ MP_CHECK_NULL(list->genlist);
+
+ Elm_Object_Item *group_index = NULL;
+ mp_list_item_data_t *item_data =
+ mp_list_item_data_create(MP_LIST_ITEM_TYPE_GROUP_TITLE);
+ MP_CHECK_NULL(item_data);
+ item_data->index = index;
+ item_data->it =
+ elm_genlist_item_append(list->genlist, itc_group_index, item_data,
+ NULL, ELM_GENLIST_ITEM_GROUP, NULL, NULL);
+ group_index = item_data->it;
+ elm_genlist_item_select_mode_set(group_index,
+ ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+
+ list->group_index[index] = group_index;
+ return group_index;
+}
+
+static void _mp_playlist_list_load_list(void *thiz, int count_auto,
+ int count_user)
+{
+ MpPlaylistList_t *list = thiz;
+ MP_CHECK(list);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ list->auto_playlist_count = 0;
+
+ Elm_Object_Item *group_index = NULL;
+
+ if (count_auto) {
+ if (!list->edit_mode && !MP_LIST_OBJ_IS_GENGRID(list->genlist)) {
+ group_index =
+ _mp_playlist_append_group_index(list,
+ MP_PLAYLIST_GROUP_INDEX_DEFAULT,
+ list->
+ itc_group_index_default);
+ }
+ _mp_playlist_append_auto_playlists(list, group_index);
+ group_index = NULL;
+ }
+
+ if (!list->edit_mode && !MP_LIST_OBJ_IS_GENGRID(list->genlist)) {
+ group_index =
+ _mp_playlist_append_group_index(list,
+ MP_PLAYLIST_GROUP_INDEX_NUM,
+ list->itc_group_index_user);
+ }
+
+ if (count_user) {
+ _mp_playlist_append_user_playlists(list, group_index);
+ }
+
+ endfunc;
+}
+
+void _mp_playlist_list_destory_cb(void *thiz)
+{
+ eventfunc;
+ MpPlaylistList_t *list = thiz;
+ MP_CHECK(list);
+
+ if (list->playlists_auto) {
+ mp_media_info_group_list_destroy(list->playlists_auto);
+ }
+ if (list->playlists_user) {
+ mp_media_info_group_list_destroy(list->playlists_user);
+ }
+
+ if (list->itc_user) {
+ elm_genlist_item_class_free(list->itc_user);
+ list->itc_user = NULL;
+ }
+ if (list->itc_auto) {
+ elm_genlist_item_class_free(list->itc_auto);
+ list->itc_auto = NULL;
+ }
+ if (list->gengrid_add_itc) {
+ elm_genlist_item_class_free(list->gengrid_add_itc);
+ list->gengrid_add_itc = NULL;
+ }
+ if (list->gengrid_itc) {
+ elm_genlist_item_class_free(list->gengrid_itc);
+ list->gengrid_itc = NULL;
+ }
+
+ if (list->itc_group_index_default) {
+ elm_genlist_item_class_free(list->itc_group_index_default);
+ list->itc_group_index_default = NULL;
+ }
+
+ if (list->itc_group_index_user) {
+ elm_genlist_item_class_free(list->itc_group_index_user);
+ list->itc_group_index_user = NULL;
+ }
+
+ IF_FREE(list->type_str);
+ IF_FREE(list->filter_str);
+
+ free(list);
+}
+
+static void _mp_playlist_list_gengrid_create(MpPlaylistList_t * list)
+{
+ startfunc;
+ MP_CHECK(list);
+
+ /*create new genlist */
+ mp_evas_object_del(list->genlist);
+
+ list->genlist = elm_gengrid_add(list->box);
+ evas_object_size_hint_weight_set(list->genlist, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(list->genlist, EVAS_HINT_FILL,
+ EVAS_HINT_FILL);
+ evas_object_show(list->genlist);
+ MP_LIST_OBJ_SET_AS_GENGRID(list->genlist);
+ /*packet genlist to box */
+ elm_box_pack_end(list->box, list->genlist);
+
+ if (!list->gengrid_itc) {
+ list->gengrid_itc = elm_gengrid_item_class_new();
+ MP_CHECK(list->gengrid_itc);
+ list->gengrid_itc->func.text_get = _mp_playlist_list_label_get;
+ list->gengrid_itc->func.content_get = _mp_playlist_list_icon_get;
+ list->gengrid_itc->func.del = _mp_playlist_list_item_del_cb;
+ }
+ _mp_playlist_list_set_grid_style(list);
+ evas_object_smart_callback_add(list->genlist, "longpressed",
+ _mp_playlist_list_item_longpressed_cb,
+ list);
+
+ elm_gengrid_align_set(list->genlist, 0.5, 0.0);
+ endfunc;
+}
+
+static char *_mp_playlist_genlist_group_index_default_text_get(void *data,
+ Evas_Object
+ *obj,
+ const char
+ *part)
+{
+ mp_list_item_data_t *item_data = data;
+ MP_CHECK_NULL(item_data);
+ const char *text = NULL;
+ if (!strcmp(part, "elm.text")) {
+ if (item_data->index == 0) {
+ text = STR_MP_DEFAULT_PLAYLIST_GROUP_TITLE;
+ }
+ }
+ return g_strdup(GET_STR(text));
+}
+
+static char *_mp_playlist_genlist_group_index_user_text_get(void *data,
+ Evas_Object *
+ obj,
+ const char
+ *part)
+{
+ mp_list_item_data_t *item_data = data;
+ MP_CHECK_NULL(item_data);
+ const char *text = NULL;
+ if (!strcmp(part, "elm.text")) {
+ if (item_data->index != 0) {
+ text = g_strdup(GET_STR(STR_MP_MY_PLAYLIST_GROUP_TITLE));
+ }
+ } else if (!strcmp(part, "elm.text.end")) {
+ MpPlaylistList_t *list = evas_object_data_get(obj, "list_data");
+ MP_CHECK_NULL(list);
+ unsigned int count =
+ mp_list_get_editable_count((MpList_t *) list,
+ mp_list_get_edit_type((MpList_t *)
+ list));
+ if (item_data->index != 0) {
+ if (count <= 0) {
+ text = g_strdup(GET_STR(STR_MP_NO_PLAYLISTS));
+ } else if (count == 1) {
+ text = g_strdup(GET_STR(STR_MP_1_PLAYLIST));
+ } else {
+ text =
+ g_strdup_printf(GET_STR(STR_MP_PD_PLAYLISTS), count);
+ }
+ }
+ }
+ return text;
+}
+
+static void
+_mp_playlist_genlist_group_index_del_cb(void *data, Evas_Object * obj)
+{
+ mp_list_item_data_t *item_data = data;
+ MP_CHECK(item_data);
+
+ MpPlaylistList_t *list = evas_object_data_get(obj, "list_data");
+ MP_CHECK(list);
+
+ list->group_index[item_data->index] = NULL;
+
+ free(item_data);
+}
+
+static void _mp_playlist_list_genlist_create(MpPlaylistList_t * list)
+{
+ MP_CHECK(list);
+
+ /*create new genlist */
+ list->genlist = mp_widget_genlist_create(list->box);
+ elm_scroller_policy_set(list->genlist, ELM_SCROLLER_POLICY_OFF,
+ ELM_SCROLLER_POLICY_AUTO);
+ evas_object_size_hint_weight_set(list->genlist, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(list->genlist, EVAS_HINT_FILL,
+ EVAS_HINT_FILL);
+ elm_genlist_homogeneous_set(list->genlist, EINA_TRUE);
+ elm_genlist_mode_set(list->genlist, ELM_LIST_COMPRESS);
+ evas_object_show(list->genlist);
+ /*packet genlist to box */
+ elm_box_pack_end(list->box, list->genlist);
+
+ evas_object_data_set(list->genlist, "list_data", list);
+
+ if (!list->itc_auto) {
+ list->itc_auto = elm_genlist_item_class_new();
+ MP_CHECK(list->itc_auto);
+ list->itc_auto->item_style = "type1";
+ list->itc_auto->func.text_get = _mp_playlist_list_label_get;
+ list->itc_auto->func.content_get = _mp_playlist_list_icon_get;
+ list->itc_auto->func.del = _mp_playlist_list_item_del_cb;
+ }
+
+ if (!list->itc_group_index_default) {
+ list->itc_group_index_default = elm_genlist_item_class_new();
+ MP_CHECK(list->itc_group_index_default);
+ list->itc_group_index_default->item_style = "group_index";
+ list->itc_group_index_default->func.text_get =
+ _mp_playlist_genlist_group_index_default_text_get;
+ list->itc_group_index_default->func.del =
+ _mp_playlist_genlist_group_index_del_cb;
+ }
+
+ if (!list->itc_group_index_user) {
+ list->itc_group_index_user = elm_genlist_item_class_new();
+ MP_CHECK(list->itc_group_index_user);
+ list->itc_group_index_user->item_style = "group_index";
+ list->itc_group_index_user->func.text_get =
+ _mp_playlist_genlist_group_index_user_text_get;
+ list->itc_group_index_user->func.del =
+ _mp_playlist_genlist_group_index_del_cb;
+ }
+
+ endfunc;
+}
+
+
+static void _mp_playlist_list_update(void *thiz)
+{
+ startfunc;
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ int count_user = 0, count_auto = 0, res = 0, i, playlist_state = 0;
+ MpPlaylistList_t *list = thiz;
+ MP_CHECK(list);
+
+ res =
+ mp_media_info_group_list_count(MP_GROUP_BY_PLAYLIST, NULL,
+ list->filter_str, &count_user);
+ MP_CHECK(res == 0);
+
+ if (!list->edit_mode) {
+ mp_setting_playlist_get_state(&playlist_state);
+ for (i = 0; i < MP_SYS_PLST_COUNT; i++) {
+ if (playlist_state & (1 << i)) {
+ count_auto++;
+ }
+ }
+ }
+
+ mp_evas_object_del(list->no_content);
+ mp_evas_object_del(list->genlist);
+
+ if (list->display_mode == MP_LIST_DISPLAY_MODE_THUMBNAIL) {
+ _mp_playlist_list_gengrid_create(list);
+ } else {
+ _mp_playlist_list_genlist_create(list);
+ }
+ evas_object_data_set(list->genlist, "list_handle", list);
+
+ /* load list */
+ _mp_playlist_list_load_list(thiz, count_auto, count_user);
+}
+
+static unsigned int
+_mp_playlist_list_get_count(void *thiz, MpListEditType_e type)
+{
+ MpPlaylistList_t *list = thiz;
+ MP_CHECK_VAL(list->genlist, 0);
+
+ int count =
+ MP_LIST_OBJ_IS_GENGRID(list->
+ genlist) ? elm_gengrid_items_count(list->
+ genlist)
+ : elm_genlist_items_count(list->genlist);
+
+ int group_index_count = 0;
+ int i = 0;
+ while (i < MP_PLAYLIST_GROUP_INDEX_NUM) {
+ if (list->group_index[i]) {
+ ++group_index_count;
+ }
+
+ ++i;
+ }
+
+ count = count - list->auto_playlist_count - group_index_count;
+
+ if (!list->edit_mode) {
+ --count; /// create playlist item
+ }
+
+ if (list->bottom_counter_item) {
+ --count;
+ }
+
+ return count;
+}
+
+static void _mp_playlist_list_set_grid_style(MpPlaylistList_t * list)
+{
+ bool landscape = mp_util_is_landscape();
+
+ MP_CHECK(list->gengrid_itc);
+
+ if (landscape) {
+ list->gengrid_add_itc->item_style = list->gengrid_itc->item_style =
+ "music/landscape/album_grid";
+ } else {
+ list->gengrid_add_itc->item_style = list->gengrid_itc->item_style =
+ "music/album_grid2";
+ }
+
+ double scale = elm_config_scale_get();
+ int w;
+ int h;
+ if (landscape) {
+ w = (int) (ALBUM_GRID_LAND_W * scale);
+ h = (int) (ALBUM_GRID_LAND_H * scale);
+ } else {
+ w = (int) (ALBUM_GRID_W * scale);
+ h = (int) (ALBUM_GRID_H * scale);
+ }
+ elm_gengrid_item_size_set(list->genlist, w, h);
+}
+
+void _mp_playlist_list_rotate(void *thiz)
+{
+ MpPlaylistList_t *list = thiz;
+ if (mp_list_get_display_mode((MpList_t *) list) ==
+ MP_LIST_DISPLAY_MODE_THUMBNAIL) {
+ _mp_playlist_list_set_grid_style(list);
+ }
+}
+
+static char *_mp_playlist_list_bottom_counter_text_get_cb(void *thiz)
+{
+ MpPlaylistList_t *list = thiz;
+ MP_CHECK_NULL(list);
+
+ char *text = NULL;
+
+ unsigned int count =
+ mp_list_get_editable_count((MpList_t *) list,
+ mp_list_get_edit_type((MpList_t *)
+ list));
+ if (count == 1) {
+ text = g_strdup(GET_STR(STR_MP_1_PLAYLIST));
+ } else {
+ text = g_strdup_printf(GET_STR(STR_MP_PD_PLAYLISTS), count);
+ }
+ return text;
+}
+
+MpPlaylistList_t *mp_playlist_list_create(Evas_Object * parent)
+{
+ eventfunc;
+ MP_CHECK_NULL(parent);
+
+ MpPlaylistList_t *list = calloc(1, sizeof(MpPlaylistList_t));
+ MP_CHECK_NULL(list);
+
+ mp_list_init((MpList_t *) list, parent, MP_LIST_TYPE_PLAYLIST);
+
+ list->get_count = _mp_playlist_list_get_count;
+ list->update = _mp_playlist_list_update;
+ list->destory_cb = _mp_playlist_list_destory_cb;
+ list->set_edit = _mp_playlist_list_set_edit;
+ list->get_group_type = _mp_playlist_list_get_group_type;
+ list->rotate = _mp_playlist_list_rotate;
+ list->group_type = MP_GROUP_BY_PLAYLIST;
+
+ list->display_mode_changable = true;
+
+ list->bottom_counter_text_get_cb =
+ _mp_playlist_list_bottom_counter_text_get_cb;
+
+ list->update(list);
+ return list;
+}
+
+void mp_playlist_list_set_data(MpPlaylistList_t * list, ...)
+{
+ startfunc;
+ MP_CHECK(list);
+
+ va_list var_args;
+ int field;
+
+
+
+ va_start(var_args, list);
+ do {
+ field = va_arg(var_args, int);
+ if (field < 0) {
+ break;
+ }
+
+ switch (field) {
+ case MP_PLAYLIST_LIST_TYPE:{
+ int val = va_arg((var_args), int);
+
+ list->group_type = val;
+ DEBUG_TRACE("list->group_type = %d", list->group_type);
+ break;
+ }
+
+ case MP_PLAYLIST_LIST_FUNC:{
+ int val = va_arg((var_args), int);
+
+ list->function_type = val;
+ DEBUG_TRACE("list->function_type = %d",
+ list->function_type);
+ break;
+ }
+
+ case MP_PLAYLIST_LIST_TYPE_STR:{
+ char *val = va_arg((var_args), char *);
+ SAFE_FREE(list->type_str);
+ list->type_str = g_strdup(val);
+ DEBUG_TRACE("list->type_str = %s", list->type_str);
+
+ break;
+ }
+ case MP_PLAYLIST_LIST_FILTER_STR:{
+ char *val = va_arg((var_args), char *);
+ SAFE_FREE(list->filter_str);
+ list->filter_str = g_strdup(val);
+ DEBUG_TRACE("list->filter_str = %s", list->filter_str);
+
+ break;
+ }
+ case MP_PLAYLIST_LIST_DISPLAY_MODE:{
+ int val = va_arg((var_args), int);
+ list->display_mode = val;
+ DEBUG_TRACE("list->display_mode = %d", list->display_mode);
+
+ break;
+ }
+
+ default:
+ DEBUG_TRACE("Invalid arguments");
+ }
+
+ } while (field);
+
+ va_end(var_args);
+}
+
+void mp_playlist_list_copy_data(MpPlaylistList_t * src,
+ MpPlaylistList_t * dest)
+{
+ MP_CHECK(src);
+ MP_CHECK(dest);
+
+ dest->group_type = src->group_type;
+ dest->function_type = src->function_type;
+ SAFE_FREE(dest->type_str);
+ dest->type_str = g_strdup(src->type_str);
+ SAFE_FREE(dest->filter_str);
+ dest->filter_str = g_strdup(src->filter_str);
+ dest->display_mode = src->display_mode;
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+#include <bundle.h>
+#include <stdio.h>
+#include "music.h"
+#include "mp-menu.h"
+#include "mp-popup.h"
+#include "mp-item.h"
+#include "mp-player-debug.h"
+#include "mp-playlist-mgr.h"
+#include "mp-common.h"
+#include <sound_manager.h>
+#include "mp-util.h"
+#include "mp-widget.h"
+#include <efl_extension.h>
+
+static Elm_Genlist_Item_Class itc;
+
+typedef struct {
+ struct appdata *ad;
+ mp_popup_type type;
+
+ Evas_Smart_Cb response_cb;
+ void *cb_data;
+} Popup_Data;
+
+#define mp_popup_set_popup_data(obj, data) evas_object_data_set((obj), "popup_data", (data))
+#define mp_popup_get_popup_data(obj) evas_object_data_get((obj), "popup_data")
+
+static void __mp_popup_timeout_cb(void *data, Evas_Object * obj,
+ void *event_info);
+static void __mp_popup_block_cb(void *data, Evas_Object * obj,
+ void *event_info);
+
+static char *_mp_popup_gl_label_get2(void *data, Evas_Object * obj,
+ const char *part)
+{
+ if (!strcmp(part, "elm.text")) {
+ MP_CHECK_NULL(data);
+ Popup_genlist_item *gli_data = (Popup_genlist_item *) data;
+ DEBUG_TRACE("gli_data->lable is %s", gli_data->label);
+ DEBUG_TRACE("gli_data->content is %s", gli_data->content);
+ char *label = NULL;
+ if (gli_data->content != NULL) {
+ label =
+ g_strconcat(GET_STR(gli_data->label), " : ",
+ gli_data->content, NULL);
+ } else {
+ label = g_strdup(elm_entry_utf8_to_markup(gli_data->label));
+ }
+
+ return label;
+ }
+ return NULL;
+}
+
+static char *_mp_popup_gl_label_get(void *data, Evas_Object * obj,
+ const char *part)
+{
+ if (!strcmp(part, "elm.text.main.left")) {
+ return g_strdup(data);
+ }
+ return NULL;
+}
+
+static void _mp_popup_gl_del(void *data, Evas_Object * obj)
+{
+ Popup_genlist_item *gli_data = (Popup_genlist_item *) data;
+ MP_CHECK(gli_data);
+ IF_FREE(gli_data->label);
+ IF_FREE(gli_data->content);
+ IF_FREE(gli_data);
+}
+
+static Evas_Object *_mp_popup_gl_icon_get(void *data, Evas_Object * obj,
+ const char *part)
+{
+ MP_CHECK_NULL(data);
+ Popup_genlist_item *gli_data = (Popup_genlist_item *) data;
+
+ struct appdata *ad = evas_object_data_get(obj, "ad");
+ MP_CHECK_NULL(ad);
+
+ if (!g_strcmp0(part, "elm.icon.2")) {
+ Evas_Object *layout = NULL;
+ layout = elm_layout_add(obj);
+ Evas_Object *radio = elm_radio_add(layout);
+ elm_layout_theme_set(layout, "layout", "list/C/type.2", "default");
+ int index = 0;
+ index = (int) gli_data->item_data;
+ DEBUG_TRACE("index=%d,radio_group=%p,snd_path=%d", index,
+ ad->radio_group, ad->snd_path);
+
+ elm_radio_state_value_set(radio, index);
+ elm_radio_group_add(radio, ad->radio_group);
+ if (index == ad->snd_path) {
+ elm_radio_value_set(ad->radio_group, index);
+ }
+ evas_object_size_hint_weight_set(radio, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(radio, EVAS_HINT_FILL,
+ EVAS_HINT_FILL);
+ evas_object_data_set(radio, "idx", (void *) (index));
+ elm_object_part_content_set(layout, "elm.swallow.content", radio);
+ evas_object_show(radio);
+ evas_object_show(layout);
+
+ return layout;
+ }
+
+ return NULL;
+}
+
+static void mp_popup_set_min_size(Evas_Object * box, int cnt)
+{
+ int min_h = 0;
+ MP_CHECK(box);
+
+ if (mp_util_is_landscape()) {
+ if (MP_POPUP_GENLIST_ITEM_H * cnt > MP_POPUP_GENLIST_ITEM_H_MAX_LD
+ || cnt == 0) {
+ min_h = MP_POPUP_GENLIST_ITEM_H_MAX_LD;
+ } else {
+ min_h = MP_POPUP_GENLIST_ITEM_H * cnt;
+ }
+ } else {
+ if (MP_POPUP_GENLIST_ITEM_H * cnt > MP_POPUP_GENLIST_ITEM_H_MAX
+ || cnt == 0) {
+ min_h = MP_POPUP_GENLIST_ITEM_H_MAX;
+ } else {
+ min_h = MP_POPUP_GENLIST_ITEM_H * cnt;
+ }
+ }
+
+ ERROR_TRACE("wishjox cnt: %d, min_h: %d", cnt, min_h);
+ evas_object_size_hint_min_set(box, -1, min_h);
+
+}
+
+static void
+_mp_popup_cancel_button_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ evas_object_del(obj);
+}
+
+static void _mp_popup_genlist_gl_lang_changed(void *data,
+ Evas_Object * obj,
+ void *event_info)
+{
+ startfunc;
+ elm_genlist_realized_items_update(obj);
+}
+
+static void _mp_popup_gl_realized(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ startfunc;
+ if (!event_info || !obj) {
+ ERROR_TRACE("event or obj get error");
+ return;
+ }
+
+ Elm_Object_Item *current_item = event_info;
+ //genlist last item
+ Elm_Object_Item *last_item = elm_genlist_last_item_get(obj);
+ MP_CHECK(last_item);
+
+ if (current_item == last_item) {
+ elm_object_item_signal_emit(last_item, "elm,state,bottomline,hide", ""); //send this signal
+ }
+}
+
+Evas_Object *elm_popup_win_get(Evas_Object * popup)
+{
+ return evas_object_top_get(evas_object_evas_get(popup));
+}
+
+static Evas_Object *_mp_popup_create_min_style_popup(Evas_Object * parent,
+ char *title, int cnt,
+ void *user_data,
+ Evas_Smart_Cb cb,
+ struct appdata *ad)
+{
+ Evas_Object *genlist = NULL;
+ Evas_Object *box = NULL;
+ Evas_Object *popup =
+ mp_popup_create(parent, MP_POPUP_GENLIST, title, user_data, cb,
+ ad);
+ MP_CHECK_NULL(popup);
+
+ evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+
+ box = elm_box_add(popup);
+ MP_CHECK_NULL(box);
+ evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+
+ genlist = elm_genlist_add(box);
+ MP_CHECK_NULL(genlist);
+ //elm_object_style_set(genlist, "popup");
+ evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL,
+ EVAS_HINT_FILL);
+
+ evas_object_smart_callback_add(genlist, "language,changed",
+ _mp_popup_genlist_gl_lang_changed,
+ NULL);
+ evas_object_smart_callback_add(genlist, "realized",
+ _mp_popup_gl_realized, NULL);
+ evas_object_data_set(popup, "genlist", genlist);
+
+ elm_box_pack_end(box, genlist);
+ evas_object_show(genlist);
+ mp_popup_set_min_size(box, cnt);
+
+ elm_object_content_set(popup, box);
+ evas_object_show(popup);
+
+ return popup;
+}
+
+static Evas_Object *_mp_popup_list_share_create(Evas_Object * parent,
+ void *user_data,
+ struct appdata *ad)
+{
+ DEBUG_TRACE("");
+ MP_CHECK_NULL(ad);
+ Evas_Object *popup = NULL;
+ Evas_Object *genlist;
+ int option_count = 3;
+
+ popup =
+ _mp_popup_create_min_style_popup(parent,
+ GET_SYS_STR
+ ("IDS_COM_BUTTON_SHARE"),
+ option_count, NULL,
+ _mp_popup_cancel_button_cb, ad);
+ MP_CHECK_NULL(popup);
+
+ itc.item_style = "1text";
+ itc.func.text_get = _mp_popup_gl_label_get;
+ itc.func.content_get = NULL;
+ itc.func.state_get = NULL;
+ itc.func.del = NULL;
+
+ genlist = evas_object_data_get(popup, "genlist");
+ MP_CHECK_NULL(genlist);
+
+ elm_genlist_item_append(genlist, &itc, BLUETOOTH_SYS, NULL,
+ ELM_GENLIST_ITEM_NONE,
+ mp_menu_genlist_popup_list_share_select_cb,
+ user_data);
+ elm_genlist_item_append(genlist, &itc, EMAIL_SYS, NULL,
+ ELM_GENLIST_ITEM_NONE,
+ mp_menu_genlist_popup_list_share_select_cb,
+ user_data);
+#ifndef MP_FEATURE_DISABLE_MMS
+ elm_genlist_item_append(genlist, &itc, MESSAGE_SYS, NULL,
+ ELM_GENLIST_ITEM_NONE,
+ mp_menu_genlist_popup_list_share_select_cb,
+ user_data);
+#endif
+ return popup;
+}
+
+static Evas_Object *_mp_popup_sound_path_create(Evas_Object * parent,
+ void *data,
+ struct appdata *ad)
+{
+ //Replaced for _prod dependency start
+ DEBUG_TRACE_FUNC();
+ MP_CHECK_NULL(ad);
+ Evas_Object *popup = NULL;
+ int cnt = 1;
+ sound_device_h device;
+ sound_device_type_e type;
+ sound_device_list_h g_device_list = NULL;
+ sound_device_mask_e g_device_mask = SOUND_DEVICE_IO_DIRECTION_OUT_MASK;
+ WARN_TRACE("Enter sound_manager_get_active_device");
+ int ret = SOUND_MANAGER_ERROR_NONE;
+ if ((ret =
+ sound_manager_get_device_list(g_device_mask,
+ &g_device_list))) {
+ ERROR_TRACE("sound_manager_get_active_device()... [0x%x]", ret);
+ }
+
+ while (!(ret = sound_manager_get_next_device(g_device_list, &device))) {
+ ERROR_TRACE("success to get next device\n");
+ if ((ret = sound_manager_get_device_type(device, &type))) {
+ ERROR_TRACE("failed to get device type, ret[0x%x]\n", ret);
+ }
+ switch (type) {
+ case SOUND_DEVICE_BLUETOOTH_MEDIA:
+ case SOUND_DEVICE_HDMI:
+ case SOUND_DEVICE_FORWARDING:
+ case SOUND_DEVICE_USB_AUDIO:
+ cnt++;
+ break;
+ default:
+ break;
+ }
+ }
+
+ popup =
+ _mp_popup_create_min_style_popup(parent,
+ GET_SYS_STR
+ ("IDS_COM_HEADER_AUDIO_DEVICE_ABB"),
+ cnt, NULL,
+ _mp_popup_cancel_button_cb, ad);
+ MP_CHECK_NULL(popup);
+
+ return popup;
+ //Replaced for _prod dependency end
+}
+
+static Evas_Object *_mp_popup_tracklist_more_info(Evas_Object * parent,
+ void *data,
+ struct appdata *ad)
+{
+
+ DEBUG_TRACE_FUNC();
+ MP_CHECK_NULL(ad);
+ Evas_Object *popup = NULL;
+ int count = 5;
+
+ popup =
+ _mp_popup_create_min_style_popup(parent, STR_MP_POPUP_MORE_INFO,
+ count, NULL,
+ _mp_popup_cancel_button_cb, ad);
+ MP_CHECK_NULL(popup);
+ mp_popup_button_set(popup, MP_POPUP_BTN_1, STR_MP_OK, MP_POPUP_YES);
+
+ return popup;
+}
+
+
+static Evas_Object *_mp_popup_tracklist_longpressed_create(Evas_Object *
+ parent,
+ void *data,
+ struct appdata
+ *ad)
+{
+
+ DEBUG_TRACE_FUNC();
+ MP_CHECK_NULL(ad);
+ Evas_Object *popup = NULL;
+ int count = 0;
+
+ popup =
+ _mp_popup_create_min_style_popup(parent,
+ GET_STR
+ ("IDS_MUSIC_BODY_ADD_TO_PLAYLIST"),
+ count, NULL,
+ _mp_popup_cancel_button_cb, ad);
+ MP_CHECK_NULL(popup);
+
+ return popup;
+}
+
+static Evas_Object *_mp_popup_setting_playlist_create(Evas_Object * parent,
+ void *data,
+ struct appdata *ad)
+{
+ DEBUG_TRACE_FUNC();
+ MP_CHECK_NULL(ad);
+ Evas_Object *popup = NULL;
+ int count = 4;
+
+ popup =
+ _mp_popup_create_min_style_popup(parent, GET_STR(STR_MP_PLAYLISTS),
+ count, NULL,
+ _mp_popup_cancel_button_cb, ad);
+ MP_CHECK_NULL(popup);
+ mp_popup_button_set(popup, MP_POPUP_BTN_1, "IDS_COM_POP_CANCEL",
+ MP_POPUP_NO);
+ mp_popup_button_set(popup, MP_POPUP_BTN_2, "Done", MP_POPUP_YES);
+
+ return popup;
+}
+
+static void
+_mp_popup_button_clicked_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ startfunc;
+ Evas_Object *popup = data;
+ MP_CHECK(popup);
+
+ int response = mp_evas_object_response_get(obj);
+ mp_popup_response(popup, response);
+}
+
+bool
+mp_popup_button_set_add_to_palylist(Evas_Object * popup, const char *text,
+ int response)
+{
+ MP_CHECK_FALSE(popup);
+ MP_CHECK_FALSE(text);
+
+ bool ret = FALSE;
+ Evas_Object *button = elm_button_add(popup);
+
+ elm_object_style_set(button, "popup");
+ mp_util_domain_translatable_text_set(button, text);
+ evas_object_smart_callback_add(button, "clicked",
+ _mp_popup_button_clicked_cb, popup);
+ if (button) {
+ elm_object_part_content_set(popup, "button2", button);
+ mp_evas_object_response_set(button, response);
+ ret = TRUE;
+ }
+ int playlistcount = mp_media_playlist_get_playlist_count_from_db();
+ if (playlistcount < 100) {
+ elm_object_disabled_set(button, FALSE);
+ } else {
+ elm_object_disabled_set(button, TRUE);
+ }
+ return ret;
+}
+
+static Evas_Object *_mp_popup_add_to_playlist_create(Evas_Object * parent,
+ void *data,
+ struct appdata *ad)
+{
+ DEBUG_TRACE_FUNC();
+ MP_CHECK_NULL(ad);
+ Evas_Object *popup = NULL;
+ int count = 0;
+
+ mp_media_info_group_list_count(MP_GROUP_BY_PLAYLIST, NULL, NULL,
+ &count);
+ if (count <= 0) {
+ DEBUG_TRACE("temp playlist");
+ count = 1;
+ }
+ DEBUG_TRACE("count,%d", count);
+
+ popup =
+ _mp_popup_create_min_style_popup(parent,
+ GET_STR(STR_MP_ADD_TO_PLAYLIST),
+ count, NULL,
+ _mp_popup_cancel_button_cb, ad);
+ MP_CHECK_NULL(popup);
+ mp_popup_button_set(popup, MP_POPUP_BTN_1, STR_MP_CANCEL, MP_POPUP_NO);
+ mp_popup_button_set_add_to_palylist(popup, STR_MP_CREATE,
+ MP_POPUP_YES);
+
+ return popup;
+}
+
+static Evas_Object *_mp_popup_delete_track_create(Evas_Object * parent,
+ void *data,
+ struct appdata *ad)
+{
+ DEBUG_TRACE_FUNC();
+ MP_CHECK_NULL(ad);
+ Evas_Object *popup = NULL;
+ int count = -1;
+
+ popup =
+ _mp_popup_create_min_style_popup(parent,
+ GET_STR(STR_MP_ONE_TRACK_DETELED),
+ count, NULL,
+ _mp_popup_cancel_button_cb, ad);
+ MP_CHECK_NULL(popup);
+ mp_popup_button_set(popup, MP_POPUP_BTN_1, STR_MP_CANCEL, MP_POPUP_NO);
+ mp_popup_button_set(popup, MP_POPUP_BTN_2, STR_MP_DELETE,
+ MP_POPUP_YES);
+
+ return popup;
+}
+
+static Evas_Object *_mp_popup_info_list_create(Evas_Object * parent,
+ void *data,
+ struct appdata *ad)
+{
+ DEBUG_TRACE_FUNC();
+ MP_CHECK_NULL(ad);
+ Evas_Object *popup = NULL;
+ int count = *(int *) data;
+
+ popup =
+ _mp_popup_create_min_style_popup(parent,
+ GET_SYS_STR("IDS_COM_SK_SELECT"),
+ count, NULL,
+ _mp_popup_cancel_button_cb, ad);
+ MP_CHECK_NULL(popup);
+
+ return popup;
+}
+
+static Evas_Object *_mp_popup_edit_image_create(Evas_Object * parent,
+ void *data,
+ struct appdata *ad)
+{
+ DEBUG_TRACE_FUNC();
+ MP_CHECK_NULL(ad);
+ Evas_Object *popup = NULL;
+ popup =
+ _mp_popup_create_min_style_popup(parent,
+ GET_STR(STR_MP_EDIT_IMAGE), 2,
+ NULL, _mp_popup_cancel_button_cb,
+ ad);
+ MP_CHECK_NULL(popup);
+
+ return popup;
+}
+
+static Evas_Object *_mp_popup_search_create(Evas_Object * parent,
+ void *data, struct appdata *ad)
+{
+ DEBUG_TRACE_FUNC();
+ MP_CHECK_NULL(ad);
+ Evas_Object *popup = NULL;
+ popup =
+ _mp_popup_create_min_style_popup(parent, GET_STR(STR_MP_SEARCH_BY),
+ 2, NULL,
+ _mp_popup_cancel_button_cb, ad);
+ MP_CHECK_NULL(popup);
+
+ return popup;
+}
+
+static Evas_Object *_mp_popup_change_list_display_mode(Evas_Object *
+ parent, void *data,
+ struct appdata *ad)
+{
+ DEBUG_TRACE_FUNC();
+ MP_CHECK_NULL(ad);
+
+ Evas_Object *popup = NULL;
+
+ popup =
+ _mp_popup_create_min_style_popup(parent, GET_STR(STR_MP_VIEW_AS),
+ 2, NULL,
+ _mp_popup_cancel_button_cb, ad);
+ MP_CHECK_NULL(popup);
+
+ return popup;
+}
+
+static void
+_mp_popup_del_cb(void *data, Evas * e, Evas_Object * eo, void *event_info)
+{
+ DEBUG_TRACE("");
+ struct appdata *ad = (struct appdata *) data;
+ int type = (int) evas_object_data_get(eo, "type");
+ DEBUG_TRACE("type: %d", type);
+ if (type >= MP_POPUP_MAX) {
+ ERROR_TRACE("Never should be here!!!");
+ return;
+ }
+ ad->popup[type] = NULL;
+}
+
+static bool _mp_popup_popup_exist(struct appdata *ad, mp_popup_t type)
+{
+ MP_CHECK_FALSE(ad);
+ if (ad->popup[type]) {
+ return TRUE;
+ }
+ return FALSE;
+}
+
+Elm_Object_Item *mp_genlist_popup_item_append(Evas_Object * popup,
+ char *label, char *content,
+ Evas_Object * icon,
+ void *item_data, void *cb,
+ void *data)
+{
+ MP_CHECK_NULL(popup);
+ MP_CHECK_NULL(label);
+
+ Evas_Object *genlist = evas_object_data_get(popup, "genlist");
+ MP_CHECK_NULL(genlist);
+
+ Popup_genlist_item *gli_data = calloc(1, sizeof(Popup_genlist_item));
+ MP_CHECK_NULL(gli_data);
+ gli_data->label = g_strdup(label);
+ gli_data->content = g_strdup(content);
+ gli_data->item_data = item_data;
+
+ Elm_Object_Item *item = NULL;
+
+ if (!icon) {
+ itc.item_style = "type1"; //"default";
+ itc.func.text_get = _mp_popup_gl_label_get2;
+ itc.func.content_get = NULL;
+ itc.func.state_get = NULL;
+ itc.func.del = _mp_popup_gl_del;
+ } else {
+ itc.item_style = "type1"; //"default";
+ itc.func.text_get = _mp_popup_gl_label_get2;
+ itc.func.content_get = _mp_popup_gl_icon_get;
+ itc.func.state_get = NULL;
+ itc.func.del = _mp_popup_gl_del;
+ }
+
+ item =
+ elm_genlist_item_append(genlist, &itc, gli_data, NULL,
+ ELM_GENLIST_ITEM_NONE, cb, data);
+
+ Evas_Object *box = elm_object_part_content_get(popup, NULL);
+ if (box) {
+ int count = elm_genlist_items_count(genlist);
+ mp_popup_set_min_size(box, count);
+ }
+
+ return item;
+}
+
+Evas_Object *mp_genlist_popup_create(Evas_Object * parent, mp_popup_t type,
+ void *user_data, struct appdata * ad)
+{
+ mp_retvm_if(parent == NULL, NULL, "parent is NULL");
+ ad = mp_util_get_appdata();
+ MP_CHECK_NULL(ad);
+
+ if (_mp_popup_popup_exist(ad, MP_POPUP_GENLIST)) {
+ DEBUG_TRACE("popup already exist...");
+ return NULL;
+ }
+
+ Evas_Object *popup = NULL;
+
+ switch (type) {
+ case MP_POPUP_LIST_SHARE:
+ popup = _mp_popup_list_share_create(parent, user_data, ad);
+ break;
+ case MP_POPUP_ADD_TO_PLST:
+ popup = _mp_popup_add_to_playlist_create(parent, user_data, ad);
+ break;
+ case MP_POPUP_SETTING_PLAYLIST:
+ popup = _mp_popup_setting_playlist_create(parent, user_data, ad);
+ break;
+ case MP_POPUP_LIST_LONGPRESSED:
+ popup =
+ _mp_popup_tracklist_longpressed_create(parent, user_data, ad);
+ break;
+ case MP_POPUP_SOUND_PATH:
+ popup = _mp_popup_sound_path_create(parent, user_data, ad);
+ evas_object_data_set(popup, "sound_path", (char *) 1);
+ break;
+ case MP_POPUP_CHANGE_LIST_DISPLAY_MODE:
+ popup = _mp_popup_change_list_display_mode(parent, user_data, ad);
+ break;
+ case MP_POPUP_EDIT_IMAGE:
+ popup = _mp_popup_edit_image_create(parent, user_data, ad);
+ break;
+ case MP_POPUP_INFO_LIST:
+ case MP_POPUP_UPDATE_ALBUM_ART:
+ popup = _mp_popup_info_list_create(parent, user_data, ad);
+ break;
+ case MP_POPUP_SEARCH:
+ popup = _mp_popup_search_create(parent, user_data, ad);
+ break;
+ case MP_POPUP_MORE_INFO:
+ popup = _mp_popup_tracklist_more_info(parent, user_data, ad);
+ break;
+ case MP_POPUP_DELETE_TRACK:
+ popup = _mp_popup_delete_track_create(parent, user_data, ad);
+ break;
+ default:
+ break;
+ }
+
+ if (popup) {
+ evas_object_event_callback_add(popup, EVAS_CALLBACK_DEL,
+ _mp_popup_del_cb, ad);
+ evas_object_data_set(popup, "type", (void *) MP_POPUP_GENLIST);
+ ad->popup[MP_POPUP_GENLIST] = popup;
+ }
+
+ return popup;
+}
+
+static void _mp_popup_genlist_popup_del_idler(void *data)
+{
+ Evas_Object *genlist_popup = data;
+ MP_CHECK(genlist_popup);
+ evas_object_del(genlist_popup);
+}
+
+
+/*This is only for music pasue case*/
+static void _mp_popup_genlist_pause_del_idler(void *data)
+{
+ Evas_Object *genlist_popup = data;
+ MP_CHECK(genlist_popup);
+ mp_popup_response(genlist_popup, MP_POPUP_NO);
+}
+
+EXPORT_API void mp_popup_destroy(struct appdata *ad)
+{
+ MP_CHECK(ad);
+ int i = 0;
+ for (i = 0; i < MP_POPUP_MAX; i++) {
+ if (i == MP_POPUP_ENTRY) {
+ ERROR_TRACE("Not deleting Entry popup on language change");
+ continue;
+ } else if (ad->popup[i] && i != MP_POPUP_NOTIFY) {
+ if (i == MP_POPUP_GENLIST) {
+ /* do NOT destroy genlist in genlst select callback function */
+ evas_object_hide(ad->popup[i]);
+ ecore_job_add(_mp_popup_genlist_popup_del_idler,
+ ad->popup[i]);
+ } else {
+ mp_evas_object_del(ad->popup[i]);
+ }
+ ad->popup[i] = NULL;
+ }
+ }
+}
+
+EXPORT_API void mp_longpress_popup_destroy(struct appdata *ad)
+{
+ MP_CHECK(ad);
+
+ if (ad->popup[MP_POPUP_GENLIST]) {
+ /* do NOT destroy genlist in genlst select callback function */
+ evas_object_hide(ad->popup[MP_POPUP_GENLIST]);
+ ecore_job_add(_mp_popup_genlist_pause_del_idler,
+ ad->popup[MP_POPUP_GENLIST]);
+ ad->popup[MP_POPUP_GENLIST] = NULL;
+ }
+}
+
+
+static void _mouseup_cb(void *data, Evas * e, Evas_Object * obj,
+ void *event_info)
+{
+ EVENT_TRACE("");
+ Evas_Event_Mouse_Up *ev = event_info;
+ if (ev->button == 3) { // if mouse right button is up
+ mp_popup_response(data, MP_POPUP_NO); // you can call evas_object_del(obj); to remove popup if you want
+
+ }
+}
+
+void mp_popup_back_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ mp_popup_response(obj, MP_POPUP_NO);
+}
+
+static void
+_mp_popup_cancel_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ Evas_Object *popup = (Evas_Object *) data;
+ mp_popup_response(popup, MP_POPUP_NO);
+}
+
+static void _mp_popup_rotate_cb(void *data, Evas_Object * obj, void *ei)
+{
+ eventfunc;
+
+ Evas_Object *box = NULL;
+ Evas_Object *genlist = NULL;
+ int cnt = 0;
+ int min_h = 0;
+ Evas_Object *popup = (Evas_Object *) data;
+ MP_CHECK(popup);
+ box = elm_object_content_get(popup);
+ genlist = evas_object_data_get(popup, "genlist");
+ MP_CHECK(genlist);
+ cnt = elm_genlist_items_count(genlist);
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ int angle = elm_win_rotation_get(ad->win_main);
+ DEBUG_TRACE("angle = %d", angle);
+ if (angle == 90 || angle == 270) {
+ /*4 items here the landscape logic is reversed */
+ if (cnt > 4) {
+ min_h = MP_POPUP_GENLIST_ITEM_H_MAX_LD;
+ } else {
+ min_h = MP_POPUP_GENLIST_ITEM_H * cnt + cnt - 1;
+ }
+ } else {
+ /*6 items */
+ if (cnt > 6) {
+ min_h = MP_POPUP_GENLIST_ITEM_H_MAX;
+ } else {
+ min_h = MP_POPUP_GENLIST_ITEM_H * cnt + cnt - 1;
+ }
+ }
+
+ evas_object_size_hint_min_set(box,
+ MP_POPUP_GENLIST_ITEM_W *
+ elm_config_scale_get(),
+ min_h * elm_config_scale_get());
+ evas_object_size_hint_max_set(box, 0, min_h * elm_config_scale_get());
+
+ return;
+}
+
+static void
+_mp_popup_destroy_cb(void *data, Evas * e, Evas_Object * obj,
+ void *event_info)
+{
+ Evas_Object *top_widget =
+ (Evas_Object *) evas_object_data_get(obj, "top_widget");
+ if (top_widget) {
+ evas_object_smart_callback_del(top_widget, "rotation,changed",
+ _mp_popup_rotate_cb);
+ }
+
+ Popup_Data *popup_data = data;
+ MP_CHECK(popup_data);
+
+ if (popup_data->type < MP_POPUP_MAX && popup_data->ad) {
+ popup_data->ad->popup[popup_data->type] = NULL;
+ }
+
+ SAFE_FREE(popup_data);
+}
+
+
+Evas_Object *mp_popup_message_create(Evas_Object * parent,
+ mp_popup_type type, char *title,
+ char *message, void *user_data,
+ Evas_Smart_Cb response_cb, void *ad)
+{
+ Evas_Object *popup = NULL;
+ Evas_Object *progressbar = NULL;
+ struct appdata *p_ad = mp_util_get_appdata();
+ MP_CHECK_NULL(p_ad);
+
+ if (_mp_popup_popup_exist(p_ad, type)) {
+ DEBUG_TRACE("popup already exist...");
+ return NULL;
+ }
+
+ popup = elm_popup_add(p_ad->win_main);
+ MP_CHECK_NULL(popup);
+
+ Evas_Object *top_widget = elm_object_top_widget_get(popup);
+ if (top_widget) {
+ evas_object_smart_callback_add(top_widget, "rotation,changed",
+ _mp_popup_rotate_cb, popup);
+ evas_object_data_set(popup, "top_widget", (void *) top_widget);
+ }
+
+ evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+
+ Popup_Data *popup_data = (Popup_Data *) calloc(1, sizeof(Popup_Data));
+ mp_assert(popup_data);
+ mp_popup_set_popup_data(popup, popup_data);
+
+ evas_object_event_callback_add(popup, EVAS_CALLBACK_MOUSE_UP,
+ _mouseup_cb, popup);
+
+ popup_data->ad = p_ad;
+ popup_data->type = type;
+ mp_popup_response_callback_set(popup, response_cb, user_data);
+
+ evas_object_event_callback_add(popup, EVAS_CALLBACK_DEL,
+ _mp_popup_destroy_cb, popup_data);
+ eext_object_event_callback_add(popup, EEXT_CALLBACK_BACK,
+ mp_popup_back_cb, popup_data);
+
+ switch (type) {
+ case MP_POPUP_PROGRESS:
+ evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+
+ Evas_Object *layout = NULL;
+ layout = elm_layout_add(popup);
+ char edje_path[1024] = { 0 };
+ char *path = app_get_resource_path();
+
+ MP_CHECK_NULL(path);
+ snprintf(edje_path, 1024, "%s%s/%s", path, "edje",
+ PLAY_VIEW_EDJ_NAME);
+
+ elm_layout_file_set(layout, edje_path,
+ "popup_processingview_string");
+ free(path);
+ evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ progressbar =
+ mp_widget_loading_icon_add(popup, MP_LOADING_ICON_SIZE_SMALL);
+ elm_object_part_content_set(layout, "elm.swallow.content",
+ progressbar);
+ elm_object_part_text_set(layout, "elm.text", GET_SYS_STR(message));
+ elm_object_content_set(popup, layout);
+ break;
+
+ default:
+ DEBUG_TRACE("Unsupported type: %d", type);
+ }
+
+ if (title) {
+ mp_util_domain_translatable_part_text_set(popup, "title,text",
+ title);
+ }
+
+ p_ad->popup[type] = popup;
+ return popup;
+
+}
+
+Evas_Object *mp_popup_create(Evas_Object * parent, mp_popup_type type,
+ char *title, void *user_data,
+ Evas_Smart_Cb response_cb, void *ad)
+{
+ Evas_Object *popup = NULL;
+ Evas_Object *progressbar = NULL;
+ struct appdata *p_ad = mp_util_get_appdata();
+ MP_CHECK_NULL(p_ad);
+
+ if (_mp_popup_popup_exist(p_ad, type)) {
+ DEBUG_TRACE("popup already exist...");
+ return NULL;
+ }
+
+ popup = elm_popup_add(p_ad->win_main);
+ elm_popup_align_set(popup, ELM_NOTIFY_ALIGN_FILL, 0.5);
+
+ MP_CHECK_NULL(popup);
+
+ Evas_Object *top_widget = elm_object_top_widget_get(popup);
+ if (top_widget) {
+ evas_object_smart_callback_add(top_widget, "rotation,changed",
+ _mp_popup_rotate_cb, popup);
+ evas_object_data_set(popup, "top_widget", (void *) top_widget);
+ }
+
+ evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+
+ Popup_Data *popup_data = (Popup_Data *) calloc(1, sizeof(Popup_Data));
+ mp_assert(popup_data);
+ mp_popup_set_popup_data(popup, popup_data);
+
+ evas_object_event_callback_add(popup, EVAS_CALLBACK_MOUSE_UP,
+ _mouseup_cb, popup);
+
+ popup_data->ad = p_ad;
+ popup_data->type = type;
+ mp_popup_response_callback_set(popup, response_cb, user_data);
+
+ evas_object_event_callback_add(popup, EVAS_CALLBACK_DEL,
+ _mp_popup_destroy_cb, popup_data);
+ eext_object_event_callback_add(popup, EEXT_CALLBACK_BACK,
+ mp_popup_back_cb, popup_data);
+
+ switch (type) {
+ case MP_POPUP_NORMAL:
+ DEBUG_TRACE("MP_POPUP_NORMAL");
+ evas_object_smart_callback_add(popup, "block,clicked",
+ __mp_popup_block_cb,
+ (void *) MP_POPUP_NO);
+ break;
+
+ case MP_POPUP_GENLIST:
+ DEBUG_TRACE("MP_POPUP_GENLIST");
+ //to destory popup if outside of popup clicked.
+ evas_object_smart_callback_add(popup, "block,clicked",
+ __mp_popup_block_cb,
+ (void *) MP_POPUP_NO);
+ break;
+
+ case MP_POPUP_PROGRESS:
+ evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+
+ Evas_Object *layout = NULL;
+ layout = elm_layout_add(popup);
+ char edje_path[1024] = { 0 };
+ char *path = app_get_resource_path();
+
+ MP_CHECK_NULL(path);
+ snprintf(edje_path, 1024, "%s%s/%s", path, "edje",
+ PLAY_VIEW_EDJ_NAME);
+
+ elm_layout_file_set(layout, edje_path,
+ "popup_processingview_string");
+ free(path);
+ evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ progressbar =
+ mp_widget_loading_icon_add(popup, MP_LOADING_ICON_SIZE_SMALL);
+ elm_object_part_content_set(layout, "elm.swallow.content",
+ progressbar);
+ elm_object_part_text_set(layout, "elm.text",
+ GET_SYS_STR(MP_POPUP_LOADING));
+ elm_object_content_set(popup, layout);
+ break;
+
+ case MP_POPUP_PROGRESS_WITH_CANCEL:{
+ Evas_Object *layout;
+ Evas_Object *btn1;
+
+ layout = elm_layout_add(popup);
+ char edje_path[1024] = { 0 };
+ char *path = app_get_resource_path();
+
+ MP_CHECK_NULL(path);
+ snprintf(edje_path, 1024, "%s%s/%s", path, "edje",
+ PLAY_VIEW_EDJ_NAME);
+
+ elm_layout_file_set(layout, edje_path,
+ "popup_processingview_1button");
+ free(path);
+
+ progressbar =
+ mp_widget_loading_icon_add(popup,
+ MP_LOADING_ICON_SIZE_LARGE);
+
+ elm_object_part_content_set(layout, "elm.swallow.content",
+ progressbar);
+ elm_object_part_text_set(layout, "elm.text", title);
+
+ elm_object_content_set(popup, layout);
+ btn1 = elm_button_add(popup);
+ elm_object_style_set(btn1, "popup");
+ elm_object_text_set(btn1, GET_SYS_STR(STR_MP_CANCEL));
+ elm_object_part_content_set(popup, "button1", btn1);
+ evas_object_smart_callback_add(btn1, "clicked",
+ _mp_popup_cancel_cb, popup);
+ p_ad->popup[type] = popup;
+
+ return popup;
+ }
+ break;
+ case MP_POPUP_PROGRESS_WITHOUT_CANCEL:{
+ Evas_Object *layout;
+
+ layout = elm_layout_add(popup);
+ char edje_path[1024] = { 0 };
+ char *path = app_get_resource_path();
+
+ MP_CHECK_NULL(path);
+ snprintf(edje_path, 1024, "%s%s/%s", path, "edje",
+ PLAY_VIEW_EDJ_NAME);
+
+ elm_layout_file_set(layout, edje_path,
+ "popup_processingview_1button");
+ free(path);
+ progressbar =
+ mp_widget_loading_icon_add(popup,
+ MP_LOADING_ICON_SIZE_LARGE);
+ elm_object_part_content_set(layout, "elm.swallow.content",
+ progressbar);
+ elm_object_part_text_set(layout, "elm.text", title);
+ elm_object_content_set(popup, layout);
+ p_ad->popup[type] = popup;
+ return popup;
+ }
+ break;
+ case MP_POPUP_OPERATION_PROGRESS:{
+ Evas_Object *layout;
+ Evas_Object *btn1;
+
+ layout = elm_layout_add(popup);
+ char edje_path[1024] = { 0 };
+ char *path = app_get_resource_path();
+
+ MP_CHECK_NULL(path);
+ snprintf(edje_path, 1024, "%s%s/%s", path, "edje",
+ MP_EDJ_NAME);
+
+ elm_layout_file_set(layout, edje_path,
+ "popup_center_progressview");
+ free(path);
+
+ progressbar = elm_progressbar_add(popup);
+ elm_object_style_set(progressbar, "list_progress");
+ elm_progressbar_horizontal_set(progressbar, EINA_TRUE);
+ evas_object_size_hint_align_set(progressbar, EVAS_HINT_FILL,
+ EVAS_HINT_FILL);
+ evas_object_size_hint_weight_set(progressbar, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ elm_progressbar_value_set(progressbar, 0.0);
+
+ elm_object_part_content_set(layout, "elm.swallow.content",
+ progressbar);
+ elm_object_part_text_set(layout, "elm.text", title);
+
+ elm_object_content_set(popup, layout);
+ btn1 = elm_button_add(popup);
+ elm_object_style_set(btn1, "popup");
+ elm_object_text_set(btn1, GET_SYS_STR(STR_MP_CANCEL));
+ elm_object_part_content_set(popup, "button1", btn1);
+ evas_object_smart_callback_add(btn1, "clicked",
+ _mp_popup_cancel_cb, popup);
+ p_ad->popup[type] = popup;
+ }
+ break;
+
+ case MP_POPUP_PROGRESS_NO_BUTTON:
+ progressbar =
+ mp_widget_loading_icon_add(popup, MP_LOADING_ICON_SIZE_LARGE);
+ elm_object_content_set(popup, progressbar);
+ break;
+
+ case MP_POPUP_NOTIFY:
+ DEBUG_TRACE("MP_POPUP_NOTIFY");
+ break;
+
+ case MP_POPUP_CONTENT_EXPAND:
+ elm_object_style_set(popup, "content_expand");
+ break;
+#ifdef MP_FEATURE_PERSONAL_PAGE
+ case MP_POPUP_CHECK_INFO_PERSONAL:{
+ Evas_Object *layout;
+ Evas_Object *label;
+
+ layout = elm_layout_add(popup);
+ char edje_path[1024] = { 0 };
+ char *path = app_get_resource_path();
+
+ MP_CHECK_NULL(path);
+ snprintf(edje_path, 1024, "%s%s/%s", path, "edje",
+ MP_EDJ_NAME);
+
+ int ret =
+ elm_layout_file_set(layout, edje_path,
+ "popup_checkview_personal");
+ free(path);
+ if (!ret) {
+ ERROR_TRACE("Set layout style failed");
+ }
+ evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+
+ label = elm_label_add(popup);
+ elm_label_line_wrap_set(label, ELM_WRAP_MIXED);
+ evas_object_size_hint_weight_set(label, EVAS_HINT_EXPAND, 0.0);
+ evas_object_size_hint_align_set(label, EVAS_HINT_FILL,
+ EVAS_HINT_FILL);
+ evas_object_show(label);
+
+ Evas_Object *checkbox = elm_check_add(popup);
+ elm_object_style_set(checkbox, "multiline");
+ elm_check_state_set(checkbox, FALSE);
+ mp_util_domain_translatable_text_set(checkbox,
+ MP_PERSONAL_DONT_ASK_AGAIN);
+ evas_object_size_hint_align_set(checkbox, EVAS_HINT_FILL,
+ EVAS_HINT_FILL);
+ evas_object_size_hint_weight_set(checkbox, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ evas_object_show(checkbox);
+
+ elm_object_part_content_set(layout, "elm.swallow.content",
+ label);
+ elm_object_part_content_set(layout, "elm.swallow.end",
+ checkbox);
+
+ elm_object_content_set(popup, layout);
+ }
+ break;
+#endif
+ default:
+ DEBUG_TRACE("Unsupported type: %d", type);
+ }
+
+ if (title) {
+ mp_util_domain_translatable_part_text_set(popup, "title,text",
+ title);
+ }
+
+ p_ad->popup[type] = popup;
+
+ return popup;
+
+}
+
+static void _popup_show_cb(void *data)
+{
+ evas_object_show(data);
+}
+
+
+Evas_Object *mp_entry_popup_create(char *title)
+{
+ Evas_Object *popup = NULL;
+ mp_popup_type type = MP_POPUP_ENTRY;
+ struct appdata *p_ad = mp_util_get_appdata();
+ MP_CHECK_NULL(p_ad);
+
+ if (_mp_popup_popup_exist(p_ad, type)) {
+ DEBUG_TRACE("popup already exist...");
+ return NULL;
+ }
+
+ popup = elm_popup_add(GET_NAVIFRAME);
+
+ MP_CHECK_NULL(popup);
+ evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+
+ elm_object_focus_set(popup, EINA_FALSE);
+
+ Popup_Data *popup_data = (Popup_Data *) calloc(1, sizeof(Popup_Data));
+ mp_assert(popup_data);
+ mp_popup_set_popup_data(popup, popup_data);
+
+ eext_object_event_callback_add(popup, EEXT_CALLBACK_BACK,
+ mp_popup_back_cb, popup_data);
+
+ evas_object_event_callback_add(popup, EVAS_CALLBACK_MOUSE_UP,
+ _mouseup_cb, popup);
+
+ popup_data->ad = p_ad;
+ popup_data->type = type;
+
+ evas_object_event_callback_add(popup, EVAS_CALLBACK_DEL,
+ _mp_popup_destroy_cb, popup_data);
+
+ if (title) {
+ mp_util_domain_translatable_part_text_set(popup, "title,text",
+ title);
+ }
+
+ p_ad->popup[type] = popup;
+ ecore_job_add(_popup_show_cb, popup);
+ return popup;
+
+}
+
+void
+mp_popup_response_callback_set(Evas_Object * popup, Evas_Smart_Cb cb,
+ void *user_data)
+{
+ MP_CHECK(popup);
+
+ Popup_Data *popup_data = mp_popup_get_popup_data(popup);
+ MP_CHECK(popup_data);
+
+ popup_data->response_cb = cb;
+ popup_data->cb_data = user_data;
+}
+
+void mp_popup_response(Evas_Object * popup, int response)
+{
+ startfunc;
+ MP_CHECK(popup);
+
+ Popup_Data *popup_data = mp_popup_get_popup_data(popup);
+ MP_CHECK(popup_data);
+
+ if (popup_data->response_cb) {
+ popup_data->response_cb(popup_data->cb_data, popup,
+ (void *) response);
+ } else {
+ mp_evas_object_del(popup);
+ }
+}
+
+bool
+mp_popup_button_set(Evas_Object * popup, popup_button_t btn_index,
+ const char *text, int response)
+{
+ MP_CHECK_FALSE(popup);
+ MP_CHECK_FALSE(text);
+ if (btn_index == MP_POPUP_BTN_MAX) {
+ mp_error("invalid button type");
+ return FALSE;
+ }
+
+ bool ret = FALSE;
+
+ static char *part[MP_POPUP_BTN_MAX] = {
+ "button1",
+ "button2",
+ "button3",
+ };
+
+ Evas_Object *button = elm_button_add(popup);
+
+ elm_object_style_set(button, "popup");
+ mp_util_domain_translatable_text_set(button, text);
+ //elm_object_text_set(button, text);
+ evas_object_smart_callback_add(button, "clicked",
+ _mp_popup_button_clicked_cb, popup);
+
+ if (button) {
+ elm_object_part_content_set(popup, part[btn_index], button);
+ mp_evas_object_response_set(button, response);
+ ret = TRUE;
+ }
+
+ return ret;
+}
+
+
+static void
+__mp_popup_timeout_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ startfunc;
+
+ int response = (int) data;
+ mp_popup_response(obj, response);
+}
+
+static void
+__mp_popup_block_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ startfunc;
+
+ int i;
+ static char *part[MP_POPUP_BTN_MAX] = {
+ "button1",
+ "button2",
+ "button3",
+ };
+
+ for (i = 0; i < MP_POPUP_BTN_MAX; i++) {
+ Evas_Object *button_part =
+ elm_object_part_content_get(obj, part[i]);
+ if (button_part) {
+ DEBUG_TRACE("exist button in popup");
+ return;
+ }
+ }
+ int response = (int) data;
+ mp_popup_response(obj, response);
+
+}
+
+void mp_popup_timeout_set(Evas_Object * popup, double timeout)
+{
+ startfunc;
+ MP_CHECK(popup);
+
+ elm_popup_timeout_set(popup, timeout);
+ evas_object_smart_callback_add(popup, "timeout", __mp_popup_timeout_cb,
+ (void *) MP_POPUP_NO);
+}
+
+void _mp_popup_max_length_response_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ if (data) {
+ elm_object_focus_set(data, EINA_TRUE);
+ }
+ evas_object_del(obj);
+}
+
+bool mp_popup_max_length(Evas_Object * entry, const char *text)
+{
+ MP_CHECK_FALSE(entry);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_FALSE(ad);
+
+ char *message = GET_STR(text);
+ mp_util_post_status_message(ad, message);
+
+ return true;
+}
+
+Evas_Object *mp_popup_multi_window_center_add(Evas_Object * parent)
+{
+ MP_CHECK_NULL(parent);
+
+ Evas_Object *popup = elm_popup_add(parent);
+ MP_CHECK_NULL(popup);
+
+ Evas_Object *p_window = elm_popup_win_get(popup);
+ if (p_window) {
+ char edje_path[1024] = { 0 };
+ char *path = app_get_resource_path();
+
+ MP_CHECK_NULL(path);
+ snprintf(edje_path, 1024, "%s%s/%s", path, "edje", THEME_NAME);
+ elm_theme_extension_add(NULL, edje_path);
+ free(path);
+ }
+
+ return popup;
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include "mp-track-list.h"
+#include "mp-player-view.h"
+#include "mp-search-list.h"
+#include "mp-ctxpopup.h"
+#include "mp-popup.h"
+#include "mp-util.h"
+#include "mp-widget.h"
+#include "mp-artist-detail-view.h"
+#include "mp-album-detail-view.h"
+#include "mp-play.h"
+#include "mp-common.h"
+
+static Evas_Object *_mp_search_list_no_content_add(void *data)
+{
+ DEBUG_TRACE_FUNC();
+ MpSearchList_t *list = (MpSearchList_t *) data;
+ MP_CHECK_VAL(list, NULL);
+
+ Evas_Object *no_contents = NULL;
+
+ no_contents = elm_layout_add(list->box);
+ evas_object_size_hint_weight_set(no_contents, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(no_contents, EVAS_HINT_FILL,
+ EVAS_HINT_FILL);
+
+ elm_layout_theme_set(no_contents, "layout", "nocontents", "default");
+ mp_util_domain_translatable_part_text_set(no_contents, "elm.text",
+ "IDS_MUSIC_BODY_NO_RESULTS_FOUND");
+
+ if (list->genlist) {
+ elm_box_unpack(list->box, list->genlist);
+ evas_object_hide(list->genlist);
+ }
+
+ elm_box_pack_end(list->box, no_contents);
+ evas_object_show(no_contents);
+
+ return no_contents;
+}
+
+static int _mp_search_list_set_sentinel(void *thiz, int count)
+{
+ MpSearchList_t *list = (MpSearchList_t *) thiz;
+ MP_CHECK_VAL(list, -1);
+ if (0 >= count && (list->filter_str && strlen(list->filter_str))) {
+ ERROR_TRACE("no tracks");
+ if (!list->no_content) {
+ list->no_content = _mp_search_list_no_content_add(list);
+ }
+ return -1;
+ }
+
+ if (list->no_content) {
+ elm_box_unpack(list->box, list->no_content);
+ evas_object_del(list->no_content);
+ list->no_content = NULL;
+ elm_box_pack_end(list->box, list->genlist);
+ evas_object_show(list->genlist);
+ }
+
+ return 0;
+}
+
+static char *_mp_search_track_list_label_get(void *data, Evas_Object * obj,
+ const char *part)
+{
+ startfunc;
+ mp_list_item_data_t *item_data = data;
+ MP_CHECK_NULL(item_data);
+
+ mp_media_info_h track = item_data->handle;
+ mp_retvm_if(!track, NULL, "data is null");
+
+ MpSearchList_t *list = evas_object_data_get(obj, "list_handle");
+ MP_CHECK_NULL(list);
+ MP_CHECK_NULL(part);
+
+ if (!strcmp(part, "elm.text")) {
+ char *title = NULL;
+
+ mp_media_info_get_title(track, &title);
+
+ mp_retv_if(!title, NULL);
+ if (!strcmp(part, "elm.text")) {
+ bool res = false;
+ char *markup_name =
+ (char *) mp_util_search_markup_keyword(title,
+ list->filter_str,
+ &res);
+ return (res) ? g_strdup(markup_name) :
+ elm_entry_utf8_to_markup(title);
+ } else {
+ return g_strdup(title);
+ }
+ } else if (!strcmp(part, "elm.text.sub")) {
+ char *artist = NULL;
+
+ mp_media_info_get_artist(track, &artist);
+ mp_retv_if(!artist, NULL);
+ return g_strdup(artist);
+ }
+ return NULL;
+}
+
+Evas_Object *_mp_search_track_list_icon_get(void *data, Evas_Object * obj,
+ const char *part)
+{
+ startfunc;
+ mp_list_item_data_t *item_data = data;
+ MP_CHECK_NULL(item_data);
+
+ mp_media_info_h track = item_data->handle;
+ mp_retvm_if(!track, NULL, "data is null");
+
+ if (!strcmp(part, "elm.swallow.icon")) {
+ Evas_Object *content = NULL;
+ content = elm_layout_add(obj);
+ char *thumbpath = NULL;
+ Evas_Object *icon;
+
+ mp_media_info_get_thumbnail_path(track, &thumbpath);
+ icon =
+ mp_util_create_lazy_update_thumb_icon(obj, thumbpath,
+ MP_LIST_ICON_SIZE,
+ MP_LIST_ICON_SIZE);
+ elm_layout_theme_set(content, "layout", "list/B/music.type.1",
+ "default");
+ elm_layout_content_set(content, "elm.swallow.content", icon);
+ return content;
+ }
+ return NULL;
+}
+
+
+static void
+_mp_search_track_sel_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ Elm_Object_Item *gli = (Elm_Object_Item *) event_info;
+ Elm_Object_Item *gli2 = NULL;
+ elm_genlist_item_selected_set(gli, FALSE);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ MpSearchList_t *list = (MpSearchList_t *) data;
+ MP_CHECK(list);
+
+ mp_list_item_data_t *item =
+ (mp_list_item_data_t *) elm_object_item_data_get(gli);
+ MP_CHECK(item);
+
+ DEBUG_TRACE("item selected");
+
+ mp_plst_item *plst_item = NULL;
+ mp_plst_item *to_play = NULL;
+
+ plst_item = mp_playlist_mgr_get_current(ad->playlist_mgr);
+
+ if (!ad->playlist_mgr) {
+ mp_common_create_playlist_mgr();
+ }
+
+ mp_playlist_mgr_clear(ad->playlist_mgr);
+ gli2 = elm_genlist_first_item_get(obj);
+ while (gli2) {
+ if (elm_genlist_item_select_mode_get(gli2) !=
+ ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY) {
+ mp_list_item_data_t *item_data =
+ elm_object_item_data_get(gli2);
+ if (item_data
+ && item_data->item_type == MP_LIST_ITEM_TYPE_NORMAL
+ && item_data->handle) {
+ if (item_data->group_type == MP_GROUP_NONE
+ || item_data->group_type == MP_GROUP_BY_ALLSHARE) {
+ char *uri = NULL;
+ char *uid = NULL;
+ char *title = NULL;
+ char *artist = NULL;
+
+ mp_track_type track_type = MP_TRACK_URI;
+
+ mp_media_info_get_media_id(item_data->handle, &uid);
+ mp_media_info_get_file_path(item_data->handle, &uri);
+ mp_media_info_get_title(item_data->handle, &title);
+ mp_media_info_get_artist(item_data->handle, &artist);
+
+ plst_item =
+ mp_playlist_mgr_item_append(ad->playlist_mgr, uri,
+ uid, title, artist,
+ track_type);
+ if (gli2 == gli && plst_item) {
+ to_play = plst_item;
+ }
+ }
+ }
+ }
+ gli2 = elm_genlist_item_next_get(gli2);
+ }
+
+ MP_CHECK(to_play);
+ if (!ad->current_track_info
+ || g_strcmp0(ad->current_track_info->uri, to_play->uri)) {
+ mp_playlist_mgr_set_current(ad->playlist_mgr, to_play);
+ mp_play_destory(ad);
+ ad->paused_by_user = FALSE;
+ }
+ //disable conformant resizing in player view when the keypad is enabled
+ elm_object_signal_emit(ad->conformant,
+ "elm,state,virtualkeypad,disable", "");
+ mp_common_show_player_view(MP_PLAYER_NORMAL, false, true, true);
+
+ return;
+}
+
+static char *_mp_search_album_list_label_get(void *data, Evas_Object * obj,
+ const char *part)
+{
+ startfunc;
+ char *name = NULL;
+ int ret = 0;
+
+ mp_list_item_data_t *item_data = data;
+ MP_CHECK_NULL(item_data);
+
+ mp_media_info_h svc_item = item_data->handle;
+ mp_retv_if(svc_item == NULL, NULL);
+
+ MpSearchList_t *list = evas_object_data_get(obj, "list_handle");
+ MP_CHECK_NULL(list);
+ MP_CHECK_NULL(part);
+
+ if (!strcmp(part, "elm.text")) {
+ ret = mp_media_info_group_get_main_info(svc_item, &name);
+ mp_retvm_if((ret != 0), NULL, "Fail to get value");
+ if (!name || !strlen(name)) {
+ name = GET_SYS_STR("IDS_COM_BODY_UNKNOWN");
+ }
+
+ if (!strcmp(part, "elm.text")) {
+ bool res = false;
+ char *markup_name =
+ (char *) mp_util_search_markup_keyword(name,
+ list->filter_str,
+ &res);
+ return (res) ? g_strdup(markup_name) :
+ elm_entry_utf8_to_markup(name);
+ } else {
+ return g_strdup(name);
+ }
+
+ } else if (!strcmp(part, "elm.text.sub")) {
+ ret = mp_media_info_group_get_sub_info(svc_item, &name);
+ mp_retvm_if((ret != 0), NULL, "Fail to get value");
+ if (!name || !strlen(name)) {
+ name = GET_SYS_STR("IDS_COM_BODY_UNKNOWN");
+ }
+ return g_strdup(name);
+ }
+
+ return NULL;
+}
+
+Evas_Object *_mp_search_album_list_icon_get(void *data, Evas_Object * obj,
+ const char *part)
+{
+ startfunc;
+
+ mp_list_item_data_t *item_data = data;
+ MP_CHECK_NULL(item_data);
+
+ mp_media_info_h svc_item = item_data->handle;
+ mp_retv_if(svc_item == NULL, NULL);
+ MP_CHECK_NULL(part);
+
+ if (!strcmp(part, "elm.swallow.icon")) {
+ Evas_Object *content = NULL;
+ content = elm_layout_add(obj);
+ Evas_Object *icon = NULL;
+ char *thumb_name = NULL;
+ mp_media_info_group_get_thumbnail_path(svc_item, &thumb_name);
+ icon =
+ mp_util_create_lazy_update_thumb_icon(obj, thumb_name,
+ MP_LIST_ICON_SIZE,
+ MP_LIST_ICON_SIZE);
+ elm_layout_theme_set(content, "layout", "list/B/music.type.1",
+ "default");
+ elm_layout_content_set(content, "elm.swallow.content", icon);
+ return content;
+ }
+
+ return NULL;
+}
+
+static void
+_mp_search_album_select_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ //MpSearchList_t *list = (MpSearchList_t *)data;
+ DEBUG_TRACE("");
+ int ret = 0;
+ char *name = NULL;
+ char *artist = NULL;
+ char *title = NULL;
+ char *thumbnail = NULL;
+
+ Elm_Object_Item *gli = (Elm_Object_Item *) event_info;
+ MP_CHECK(gli);
+ elm_genlist_item_selected_set(gli, FALSE);
+
+ DEBUG_TRACE("");
+ mp_list_item_data_t *gli_data = elm_object_item_data_get(gli);
+ MP_CHECK(gli_data);
+
+ if (gli_data->handle) {
+ ret = mp_media_info_group_get_main_info(gli_data->handle, &name);
+ ret = mp_media_info_group_get_sub_info(gli_data->handle, &artist);
+ mp_media_info_group_get_thumbnail_path(gli_data->handle,
+ &thumbnail);
+ DEBUG_TRACE("thumbnail=%s", thumbnail);
+ mp_retm_if(ret != 0, "Fail to get value");
+ mp_retm_if(name == NULL, "Fail to get value");
+
+ title = name;
+ }
+
+
+ /* create the view of album detail */
+ MpViewMgr_t *view_manager = mp_view_mgr_get_view_manager();
+ MpAlbumDetailView_t *view_album_detail =
+ mp_album_detail_view_create(view_manager->navi, name, artist,
+ thumbnail);
+ mp_view_mgr_push_view(view_manager, (MpView_t *) view_album_detail,
+ NULL);
+
+ mp_view_update_options((MpView_t *) view_album_detail);
+ mp_view_set_title((MpView_t *) view_album_detail, title);
+}
+
+static char *_mp_search_artist_list_label_get(void *data,
+ Evas_Object * obj,
+ const char *part)
+{
+ startfunc;
+ char *name = NULL;
+ int ret = 0;
+
+ mp_list_item_data_t *item_data = (mp_list_item_data_t *) data;
+ MP_CHECK_NULL(item_data);
+ mp_media_info_h svc_item = (item_data->handle);
+ mp_retv_if(svc_item == NULL, NULL);
+ MpSearchList_t *list = evas_object_data_get(obj, "list_handle");
+ MP_CHECK_NULL(list);
+ MP_CHECK_NULL(part);
+
+ if (!strcmp(part, "elm.text")) {
+ ret = mp_media_info_group_get_main_info(svc_item, &name);
+ mp_retvm_if((ret != 0), NULL, "Fail to get value");
+ if (!name || !strlen(name)) {
+ name = GET_SYS_STR("IDS_COM_BODY_UNKNOWN");
+ }
+ if (!strcmp(part, "elm.text")) {
+ bool res = false;
+ char *markup_name =
+ (char *) mp_util_search_markup_keyword(name,
+ list->filter_str,
+ &res);
+ return (res) ? g_strdup(markup_name) :
+ elm_entry_utf8_to_markup(name);
+ } else {
+ return g_strdup(name);
+ }
+ }
+ return NULL;
+}
+
+Evas_Object *_mp_search_artist_list_icon_get(void *data, Evas_Object * obj,
+ const char *part)
+{
+ startfunc;
+ mp_list_item_data_t *item_data = data;
+ MP_CHECK_NULL(item_data);
+
+ mp_media_info_h svc_item = item_data->handle;
+ mp_retv_if(svc_item == NULL, NULL);
+
+ if (!strcmp(part, "elm.swallow.icon")) {
+ Evas_Object *content = NULL;
+ content = elm_layout_add(obj);
+ char *thumb_name = NULL;
+ Evas_Object *icon = NULL;
+ mp_media_info_group_get_thumbnail_path(svc_item, &thumb_name);
+ icon =
+ mp_util_create_lazy_update_thumb_icon(obj, thumb_name,
+ MP_LIST_ICON_SIZE,
+ MP_LIST_ICON_SIZE);
+ elm_layout_theme_set(content, "layout", "list/B/music.type.1",
+ "default");
+ elm_layout_content_set(content, "elm.swallow.content", icon);
+ return content;
+ }
+
+ return NULL;
+}
+
+static void
+_mp_search_artist_select_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ //MpSearchList_t *list = (MpSearchList_t *)data;
+ DEBUG_TRACE("");
+ int ret = 0;
+ char *name = NULL;
+ char *artist = NULL;
+ char *title = NULL;
+ char *thumbnail = NULL;
+
+ Elm_Object_Item *gli = (Elm_Object_Item *) event_info;
+ MP_CHECK(gli);
+ elm_genlist_item_selected_set(gli, FALSE);
+
+ DEBUG_TRACE("");
+ mp_list_item_data_t *gli_data = elm_object_item_data_get(gli);
+ MP_CHECK(gli_data);
+
+ if (gli_data->handle) {
+ ret = mp_media_info_group_get_main_info(gli_data->handle, &name);
+ ret = mp_media_info_group_get_sub_info(gli_data->handle, &artist);
+ mp_media_info_group_get_thumbnail_path(gli_data->handle,
+ &thumbnail);
+ DEBUG_TRACE("thumbnail=%s", thumbnail);
+ mp_retm_if(ret != 0, "Fail to get value");
+ mp_retm_if(name == NULL, "Fail to get value");
+
+ title = name;
+ }
+
+ /* create the view of album detail */
+ MpViewMgr_t *view_manager = mp_view_mgr_get_view_manager();
+ MpArtistDetailView_t *view_artist_detail =
+ mp_artist_detail_view_create(view_manager->navi, name, thumbnail);
+ mp_view_mgr_push_view(view_manager, (MpView_t *) view_artist_detail,
+ NULL);
+
+ mp_view_update_options((MpView_t *) view_artist_detail);
+ mp_view_set_title((MpView_t *) view_artist_detail, title);
+}
+
+char *_mp_search_list_gl_label_get_title(void *data, Evas_Object * obj,
+ const char *part)
+{
+ startfunc;
+ char *text = NULL;
+
+ if (!strcmp(part, "elm.text")) {
+ text = GET_STR(data);
+ return g_strdup(text);
+ }
+ return NULL;
+}
+
+static void _mp_search_list_item_del(void *data, Evas_Object * obj)
+{
+ startfunc;
+ mp_list_item_data_t *item_data = data;
+ MP_CHECK(item_data);
+ mp_language_mgr_unregister_genlist_item(item_data->it);
+ free(item_data);
+}
+
+static void _mp_search_list_set_itc(void *thiz)
+{
+ MpSearchList_t *list = thiz;
+ MP_CHECK(list);
+ if (!list->itc_track) {
+ list->itc_track = elm_genlist_item_class_new();
+ MP_CHECK(list->itc_track);
+ list->itc_track->item_style = "type1";
+ list->itc_track->func.text_get = _mp_search_track_list_label_get;
+ list->itc_track->func.content_get = _mp_search_track_list_icon_get;
+ list->itc_track->func.del = _mp_search_list_item_del;
+ }
+ if (!list->itc_album) {
+ list->itc_album = elm_genlist_item_class_new();
+ MP_CHECK(list->itc_album);
+ list->itc_album->item_style = "type1";
+ list->itc_album->func.text_get = _mp_search_album_list_label_get;
+ list->itc_album->func.content_get = _mp_search_album_list_icon_get;
+ list->itc_album->func.del = _mp_search_list_item_del;
+ }
+ if (!list->itc_artist) {
+ list->itc_artist = elm_genlist_item_class_new();
+ MP_CHECK(list->itc_artist);
+ list->itc_artist->item_style = "type1";
+ list->itc_artist->func.text_get = _mp_search_artist_list_label_get;
+ list->itc_artist->func.content_get =
+ _mp_search_artist_list_icon_get;
+ list->itc_artist->func.del = _mp_search_list_item_del;
+ }
+ if (!list->itc_group_title) {
+ list->itc_group_title = elm_genlist_item_class_new();
+ MP_CHECK(list->itc_group_title);
+ list->itc_group_title->item_style = "groupindex";
+ list->itc_group_title->func.text_get =
+ _mp_search_list_gl_label_get_title;
+ }
+}
+
+static void
+_mp_search_list_append_group_title(void *data, char *text_ID, int index)
+{
+ startfunc;
+ MpSearchList_t *list = (MpSearchList_t *) data;
+ MP_CHECK(list);
+ list->search_group_git[index] =
+ elm_genlist_item_append(list->genlist, list->itc_group_title,
+ text_ID, NULL, ELM_GENLIST_ITEM_GROUP,
+ NULL, NULL);
+ elm_genlist_item_select_mode_set(list->search_group_git[index],
+ ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+}
+
+static void _mp_search_list_refresh_list(void *thiz)
+{
+ startfunc;
+ MpSearchList_t *list = (MpSearchList_t *) thiz;
+ MP_CHECK(list);
+
+ int count = 0;
+ gint track_count = 0;
+ gint artist_count = 0;
+ gint album_count = 0;
+ gint index = 0;
+ int ret = 0;
+ mp_media_list_h svc_handle = NULL;
+
+ ret =
+ mp_media_info_group_list_count(MP_GROUP_BY_ARTIST, NULL,
+ list->filter_str, &artist_count);
+ if (ret != 0) {
+ DEBUG_TRACE("Fail to create structure");
+ goto END;
+ }
+ ret =
+ mp_media_info_group_list_count(MP_GROUP_BY_ALBUM, NULL,
+ list->filter_str, &album_count);
+ if (ret != 0) {
+ DEBUG_TRACE("Fail to create structure");
+ goto END;
+ }
+ ret =
+ mp_media_info_list_count(MP_TRACK_ALL, NULL, NULL,
+ list->filter_str, 0, &track_count);
+ if (ret != 0) {
+ DEBUG_TRACE("Fail to create structure");
+ goto END;
+ }
+ DEBUG_TRACE("artist %d album %d track %d", artist_count, album_count,
+ track_count);
+ count = artist_count + album_count + track_count;
+
+ if (_mp_search_list_set_sentinel(list, count)) {
+ goto END;
+ }
+ elm_genlist_clear(list->genlist);
+ if (artist_count) {
+ _mp_search_list_append_group_title(list,
+ ("IDS_MUSIC_TAB4_ARTISTS"),
+ MP_SEARCH_ARTIST_GROUP);
+ ret =
+ mp_media_info_group_list_create(&svc_handle,
+ MP_GROUP_BY_ARTIST, NULL,
+ list->filter_str, 0,
+ artist_count);
+ if (ret != 0) {
+ DEBUG_TRACE("Fail to get items");
+ if (svc_handle) {
+ mp_media_info_group_list_destroy(svc_handle);
+ }
+ goto END;
+ }
+
+ for (index = 0; index < artist_count; index++) {
+ mp_media_info_h item = NULL;
+ item = mp_media_info_group_list_nth_item(svc_handle, index);
+ if (item == NULL) {
+ DEBUG_TRACE
+ ("Fail to mp_media_info_group_list_nth_item, ret[%d], index[%d]",
+ ret, index);
+ continue;
+ }
+ mp_list_item_data_t *item_data =
+ calloc(1, sizeof(mp_list_item_data_t));
+ mp_assert(item_data);
+ item_data->handle = item;
+ item_data->group_type = MP_GROUP_BY_ARTIST;
+ item_data->it =
+ elm_genlist_item_append(list->genlist, list->itc_artist,
+ (void *) item_data, NULL,
+ ELM_GENLIST_ITEM_NONE,
+ _mp_search_artist_select_cb, list);
+ elm_object_item_data_set(item_data->it, item_data);
+
+ char *name = NULL;
+ mp_media_info_group_get_main_info(item, &name);
+ list->artist_list =
+ g_list_append(list->artist_list, g_strdup(name));
+ }
+
+ if (list->artist_handle) {
+ mp_media_info_group_list_destroy(list->artist_handle);
+ list->artist_handle = NULL;
+ }
+ list->artist_handle = svc_handle;
+ svc_handle = NULL;
+ }
+
+ if (album_count) {
+ _mp_search_list_append_group_title(list, ("IDS_MUSIC_TAB4_ALBUMS"),
+ MP_SEARCH_ALBUM_GROUP);
+ ret =
+ mp_media_info_group_list_create(&svc_handle, MP_GROUP_BY_ALBUM,
+ NULL, list->filter_str, 0,
+ album_count);
+ if (ret != 0) {
+ DEBUG_TRACE("Fail to get items");
+ if (svc_handle) {
+ mp_media_info_group_list_destroy(svc_handle);
+ }
+ goto END;
+ }
+
+ for (index = 0; index < album_count; index++) {
+ mp_media_info_h item = NULL;
+ char *title = NULL;
+ item = mp_media_info_group_list_nth_item(svc_handle, index);
+ if (item == NULL) {
+ DEBUG_TRACE
+ ("Fail to mp_media_info_group_list_nth_item, ret[%d], index[%d]",
+ ret, index);
+ continue;
+ }
+ ret = mp_media_info_group_get_main_info(item, &title);
+ mp_list_item_data_t *item_data;
+ item_data = calloc(1, sizeof(mp_list_item_data_t));
+ mp_assert(item_data);
+ item_data->handle = item;
+ item_data->group_type = MP_GROUP_BY_ALBUM;
+ item_data->it =
+ elm_genlist_item_append(list->genlist, list->itc_album,
+ (void *) item_data, NULL,
+ ELM_GENLIST_ITEM_NONE,
+ _mp_search_album_select_cb, list);
+ elm_object_item_data_set(item_data->it, item_data);
+ char *name = NULL;
+ mp_media_info_group_get_main_info(item, &name);
+ list->album_list =
+ g_list_append(list->album_list, g_strdup(name));
+ }
+ if (list->album_handle) {
+ mp_media_info_group_list_destroy(list->album_handle);
+ list->album_handle = NULL;
+ }
+ list->album_handle = svc_handle;
+ svc_handle = NULL;
+ }
+
+ if (track_count) {
+ _mp_search_list_append_group_title(list, (STR_MP_TRACKS),
+ MP_SEARCH_TRACK_GROUP);
+ ret =
+ mp_media_info_list_create(&svc_handle, MP_TRACK_ALL, NULL,
+ NULL, list->filter_str, 0, 0,
+ track_count);
+ if (ret != 0) {
+ DEBUG_TRACE("Fail to get items");
+ if (svc_handle) {
+ mp_media_info_list_destroy(svc_handle);
+ }
+ goto END;
+ }
+ for (index = 0; index < track_count; index++) {
+ mp_media_info_h item = NULL;
+ item = mp_media_info_list_nth_item(svc_handle, index);
+ if (item == NULL) {
+ DEBUG_TRACE
+ ("Fail to mp_media_info_group_list_nth_item, ret[%d], index[%d]",
+ ret, index);
+ continue;
+ }
+ mp_list_item_data_t *item_data;
+ item_data = calloc(1, sizeof(mp_list_item_data_t));
+ mp_assert(item_data);
+ item_data->handle = item;
+ item_data->group_type = MP_GROUP_NONE;
+ item_data->it =
+ elm_genlist_item_append(list->genlist, list->itc_track,
+ (void *) item_data, NULL,
+ ELM_GENLIST_ITEM_NONE,
+ _mp_search_track_sel_cb, list);
+ elm_object_item_data_set(item_data->it, item_data);
+ char *title = NULL;
+ mp_media_info_get_title(item, &title);
+ list->track_list =
+ g_list_append(list->track_list, g_strdup(title));
+ }
+ if (list->track_handle) {
+ mp_media_info_list_destroy(list->track_handle);
+ list->track_handle = NULL;
+ }
+ list->track_handle = svc_handle;
+ svc_handle = NULL;
+ }
+ evas_object_show(list->genlist);
+ END:
+ endfunc;
+}
+
+static void _mp_search_list_load_list(void *thiz)
+{
+ startfunc;
+ MpSearchList_t *list = (MpSearchList_t *) thiz;
+ MP_CHECK(list);
+
+ int count = 0;
+ gint track_count = 0;
+ gint artist_count = 0;
+ gint album_count = 0;
+
+ gint index = 0;
+ int ret = 0;
+ mp_media_list_h svc_handle = NULL;
+
+ ret =
+ mp_media_info_group_list_count(MP_GROUP_BY_ARTIST, NULL,
+ list->filter_str, &artist_count);
+ if (ret != 0) {
+ DEBUG_TRACE("Fail to create structure");
+ goto END;
+ }
+ ret =
+ mp_media_info_group_list_count(MP_GROUP_BY_ALBUM, NULL,
+ list->filter_str, &album_count);
+ if (ret != 0) {
+ DEBUG_TRACE("Fail to create structure");
+ goto END;
+ }
+ ret =
+ mp_media_info_list_count(MP_TRACK_ALL, NULL, NULL,
+ list->filter_str, 0, &track_count);
+ if (ret != 0) {
+ DEBUG_TRACE("Fail to create structure");
+ goto END;
+ }
+
+ count = artist_count + album_count + track_count;
+ list->track_count = track_count;
+
+ if (_mp_search_list_set_sentinel(list, count)) {
+ goto END;
+ }
+
+
+ /*create new genlist */
+ if (list->genlist != NULL) {
+ evas_object_del(list->genlist);
+ list->genlist = NULL;
+ }
+
+ list->genlist = mp_widget_genlist_create(list->box);
+ elm_scroller_policy_set(list->genlist, ELM_SCROLLER_POLICY_OFF,
+ ELM_SCROLLER_POLICY_AUTO);
+ evas_object_size_hint_weight_set(list->genlist, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(list->genlist, EVAS_HINT_FILL,
+ EVAS_HINT_FILL);
+ elm_genlist_homogeneous_set(list->genlist, EINA_FALSE);
+ elm_genlist_mode_set(list->genlist, ELM_LIST_COMPRESS);
+ evas_object_show(list->genlist);
+ /*packet genlist to box */
+ elm_box_pack_end(list->box, list->genlist);
+
+ evas_object_data_set(list->genlist, "list_handle", (void *) list);
+
+ _mp_search_list_set_itc(list);
+
+ if (artist_count) {
+ DEBUG_TRACE("append artist list items");
+ _mp_search_list_append_group_title(list,
+ ("IDS_MUSIC_TAB4_ARTISTS"),
+ MP_SEARCH_ARTIST_GROUP);
+ ret =
+ mp_media_info_group_list_create(&svc_handle,
+ MP_GROUP_BY_ARTIST, NULL,
+ list->filter_str, 0,
+ artist_count);
+ if (ret != 0) {
+ DEBUG_TRACE("Fail to get items");
+ if (svc_handle) {
+ mp_media_info_group_list_destroy(svc_handle);
+ }
+ goto END;
+ }
+
+ for (index = 0; index < artist_count; index++) {
+ mp_media_info_h item = NULL;
+
+ item = mp_media_info_group_list_nth_item(svc_handle, index);
+ if (item == NULL) {
+ DEBUG_TRACE
+ ("Fail to mp_media_info_group_list_nth_item, ret[%d], index[%d]",
+ ret, index);
+ continue;
+ }
+
+ mp_list_item_data_t *item_data =
+ calloc(1, sizeof(mp_list_item_data_t));
+ mp_assert(item_data);
+ item_data->handle = item;
+ item_data->group_type = MP_GROUP_BY_ARTIST;
+
+ item_data->it =
+ elm_genlist_item_append(list->genlist, list->itc_artist,
+ (void *) item_data, NULL,
+ ELM_GENLIST_ITEM_NONE,
+ _mp_search_artist_select_cb, list);
+ elm_object_item_data_set(item_data->it, item_data);
+
+ char *name = NULL;
+ mp_media_info_group_get_main_info(item, &name);
+ list->artist_list =
+ g_list_append(list->artist_list, g_strdup(name));
+ }
+
+ if (list->artist_handle) {
+ mp_media_info_group_list_destroy(list->artist_handle);
+ list->artist_handle = NULL;
+ }
+ list->artist_handle = svc_handle;
+ svc_handle = NULL;
+
+ }
+
+ if (album_count) {
+ DEBUG_TRACE("append album_count list items");
+ _mp_search_list_append_group_title(list, ("IDS_MUSIC_TAB4_ALBUMS"),
+ MP_SEARCH_ALBUM_GROUP);
+
+ ret =
+ mp_media_info_group_list_create(&svc_handle, MP_GROUP_BY_ALBUM,
+ NULL, list->filter_str, 0,
+ album_count);
+ if (ret != 0) {
+ DEBUG_TRACE("Fail to get items");
+ if (svc_handle) {
+ mp_media_info_group_list_destroy(svc_handle);
+ }
+ goto END;
+ }
+
+ for (index = 0; index < album_count; index++) {
+ mp_media_info_h item = NULL;
+ char *title = NULL;
+ item = mp_media_info_group_list_nth_item(svc_handle, index);
+ if (item == NULL) {
+ DEBUG_TRACE
+ ("Fail to mp_media_info_group_list_nth_item, ret[%d], index[%d]",
+ ret, index);
+ continue;
+ }
+ ret = mp_media_info_group_get_main_info(item, &title);
+
+ mp_list_item_data_t *item_data;
+ item_data = calloc(1, sizeof(mp_list_item_data_t));
+ mp_assert(item_data);
+ item_data->handle = item;
+ item_data->group_type = MP_GROUP_BY_ALBUM;
+
+ item_data->it =
+ elm_genlist_item_append(list->genlist, list->itc_album,
+ (void *) item_data, NULL,
+ ELM_GENLIST_ITEM_NONE,
+ _mp_search_album_select_cb, list);
+ elm_object_item_data_set(item_data->it, item_data);
+ char *name = NULL;
+ mp_media_info_group_get_main_info(item, &name);
+ list->album_list =
+ g_list_append(list->album_list, g_strdup(name));
+ }
+
+ if (list->album_handle) {
+ mp_media_info_group_list_destroy(list->album_handle);
+ list->album_handle = NULL;
+ }
+ list->album_handle = svc_handle;
+ svc_handle = NULL;
+
+ }
+
+ if (track_count) {
+ DEBUG_TRACE("append track_count list items");
+ _mp_search_list_append_group_title(list, (STR_MP_TRACKS),
+ MP_SEARCH_TRACK_GROUP);
+
+ ret =
+ mp_media_info_list_create(&svc_handle, MP_TRACK_ALL, NULL,
+ NULL, list->filter_str, 0, 0,
+ track_count);
+ if (ret != 0) {
+ DEBUG_TRACE("Fail to get items");
+ if (svc_handle) {
+ mp_media_info_list_destroy(svc_handle);
+ }
+ goto END;
+ }
+
+ for (index = 0; index < track_count; index++) {
+ mp_media_info_h item = NULL;
+ item = mp_media_info_list_nth_item(svc_handle, index);
+ if (!item) {
+ continue;
+ }
+
+ mp_list_item_data_t *item_data;
+ item_data = calloc(1, sizeof(mp_list_item_data_t));
+ mp_assert(item_data);
+ item_data->handle = item;
+ item_data->group_type = MP_GROUP_NONE;
+
+ item_data->it =
+ elm_genlist_item_append(list->genlist, list->itc_track,
+ (void *) item_data, NULL,
+ ELM_GENLIST_ITEM_NONE,
+ _mp_search_track_sel_cb, list);
+ elm_object_item_data_set(item_data->it, item_data);
+ char *title = NULL;
+ mp_media_info_get_title(item, &title);
+ list->track_list =
+ g_list_append(list->track_list, g_strdup(title));
+ }
+
+ if (list->track_handle) {
+ mp_media_info_list_destroy(list->track_handle);
+ list->track_handle = NULL;
+ }
+ list->track_handle = svc_handle;
+ svc_handle = NULL;
+
+ }
+ END:
+ endfunc;
+}
+
+void _mp_search_list_destory_cb(void *thiz)
+{
+ startfunc;
+ MpSearchList_t *list = thiz;
+ MP_CHECK(list);
+
+ IF_FREE(list->filter_str);
+ if (list->itc_track) {
+ elm_genlist_item_class_free(list->itc_track);
+ list->itc_track = NULL;
+ }
+ if (list->itc_album) {
+ elm_genlist_item_class_free(list->itc_album);
+ list->itc_album = NULL;
+ }
+ if (list->itc_artist) {
+ elm_genlist_item_class_free(list->itc_artist);
+ list->itc_artist = NULL;
+ }
+ if (list->itc_group_title) {
+ elm_genlist_item_class_free(list->itc_group_title);
+ list->itc_group_title = NULL;
+ }
+
+ mp_media_info_group_list_destroy(list->artist_handle);
+ mp_media_info_group_list_destroy(list->album_handle);
+ mp_media_info_list_destroy(list->track_handle);
+
+ g_list_free(list->artist_list);
+ list->artist_list = NULL;
+ g_list_free(list->album_list);
+ list->album_list = NULL;
+ g_list_free(list->track_list);
+ list->track_list = NULL;
+
+ free(list);
+}
+
+static void _mp_search_list_update(void *thiz)
+{
+ startfunc;
+ MpSearchList_t *list = thiz;
+ MP_CHECK(list);
+ _mp_search_list_load_list(list);
+}
+
+MpSearchList_t *mp_search_list_create(Evas_Object * parent)
+{
+ startfunc;
+ MP_CHECK_NULL(parent);
+
+ MpSearchList_t *list = calloc(1, sizeof(MpSearchList_t));
+ MP_CHECK_NULL(list);
+
+ mp_list_init((MpList_t *) list, parent, MP_LIST_TYPE_GROUP);
+
+ list->update = _mp_search_list_update;
+ list->destory_cb = _mp_search_list_destory_cb;
+ list->refresh = _mp_search_list_refresh_list;
+ return list;
+}
+
+void mp_search_list_set_data(MpSearchList_t * list, ...)
+{
+ startfunc;
+ MP_CHECK(list);
+
+ va_list var_args;
+ int field;
+
+ va_start(var_args, list);
+ do {
+ field = va_arg(var_args, int);
+ DEBUG_TRACE("field is %d", field);
+
+ switch (field) {
+ case MP_SEARCH_LIST_FILTER_STR:{
+ char *val = va_arg((var_args), char *);
+ SAFE_FREE(list->filter_str);
+ list->filter_str = g_strdup(val);
+ DEBUG_TRACE("list->filter_str = %s", list->filter_str);
+
+ break;
+ }
+
+ default:
+ DEBUG_TRACE("Invalid arguments");
+ }
+
+ } while (field >= 0);
+
+ va_end(var_args);
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include "music.h"
+#include "mp-search.h"
+#include "mp-player-debug.h"
+#include "mp-util.h"
+
+#define MP_SEARCHBAR_W 400*elm_config_scale_get()
+
+void
+_mp_search_view_activated_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ MP_CHECK(data);
+ elm_object_focus_set(obj, FALSE);
+}
+
+void
+_mp_search_view_clicked_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ MP_CHECK(data);
+ MP_CHECK(obj);
+ elm_object_focus_allow_set(obj, EINA_TRUE);
+ elm_object_focus_set(obj, EINA_TRUE);
+}
+
+static void
+_mp_search_eraser_clicked_cb(void *data, Evas_Object * obj,
+ const char *emission, const char *source)
+{
+ startfunc;
+ Evas_Object *entry = data;
+ MP_CHECK(entry);
+
+ elm_entry_entry_set(entry, "");
+ elm_object_focus_set(entry, TRUE);
+}
+
+static void
+_mp_search_entry_maxlength_reached_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ mp_popup_max_length(obj, STR_NH_COM_POPUP_CHARACTERS_MAXNUM_REACHED);
+}
+
+static void
+_mp_searchfield_changed_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ Evas_Object *editfield = (Evas_Object *) data;
+
+ if (!elm_entry_is_empty(obj) && elm_object_focus_get(obj)) {
+ elm_object_signal_emit(editfield, "elm,action,show,button", "");
+ } else {
+ elm_object_signal_emit(editfield, "elm,action,hide,button", "");
+ }
+}
+
+static void
+_mp_searchfield_focused_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ Evas_Object *editfield = (Evas_Object *) data;
+ elm_object_signal_emit(editfield, "elm,state,focused", "");
+
+ if (!elm_entry_is_empty(obj)) {
+ elm_object_signal_emit(editfield, "elm,action,show,button", "");
+ }
+}
+
+static void
+_mp_searchfield_unfocused_cb(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ Evas_Object *editfield = (Evas_Object *) data;
+ elm_object_signal_emit(editfield, "elm,state,unfocused", "");
+ elm_object_signal_emit(editfield, "elm,action,hide,button", "");
+}
+
+static void _mp_search_cancel_button_clicked(void *data, Evas_Object * o,
+ const char *emission,
+ const char *source)
+{
+ Evas_Object *en = (Evas_Object *) data;
+ elm_object_text_set(en, "");
+ elm_object_focus_allow_set(en, EINA_TRUE);
+ elm_object_focus_set(en, TRUE);
+}
+
+Evas_Object *mp_search_create_new(Evas_Object * parent,
+ Evas_Smart_Cb change_cb,
+ void *change_cb_data,
+ Evas_Smart_Cb cancel_cb,
+ void *cancel_cb_data,
+ Evas_Smart_Cb focus_cb,
+ void *focus_cb_data,
+ Evas_Smart_Cb unfocus_cb,
+ void *unfocus_cb_data)
+{
+ startfunc;
+
+ Evas_Object *en = NULL;
+ Evas_Object *searchfield = NULL;
+
+ searchfield = elm_layout_add(parent);
+ Elm_Theme *th = elm_theme_new();
+ char edje_path[1024] = { 0 };
+ char *path = app_get_resource_path();
+
+ MP_CHECK_NULL(path);
+ snprintf(edje_path, 1024, "%s%s/%s", path, "edje", THEME_NAME);
+
+ elm_theme_extension_add(th, edje_path);
+ free(path);
+ elm_layout_theme_set(searchfield, "layout", "searchbar",
+ "cancel_button_case");
+
+ en = elm_entry_add(searchfield);
+ elm_entry_scrollable_set(en, EINA_TRUE);
+ elm_entry_single_line_set(en, EINA_TRUE);
+ elm_entry_prediction_allow_set(en, EINA_FALSE);
+ elm_object_part_content_set(searchfield, "elm.swallow.content", en);
+ evas_object_data_set(searchfield, "entry", en);
+
+ elm_entry_input_panel_layout_set(en, ELM_INPUT_PANEL_LAYOUT_NORMAL);
+ elm_entry_input_panel_return_key_type_set(en,
+ ELM_INPUT_PANEL_RETURN_KEY_TYPE_SEARCH);
+
+ evas_object_size_hint_weight_set(searchfield, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(searchfield, EVAS_HINT_FILL,
+ EVAS_HINT_FILL);
+ mp_util_domain_translatable_part_text_set(en, "elm.guide",
+ STR_SEARCH_GUIDE);
+ evas_object_smart_callback_add(en, "changed",
+ _mp_searchfield_changed_cb,
+ searchfield);
+ elm_object_signal_callback_add(searchfield, "elm,eraser,clicked",
+ "elm", _mp_search_eraser_clicked_cb,
+ en);
+
+ evas_object_smart_callback_add(en, "changed", change_cb,
+ change_cb_data);
+ evas_object_smart_callback_add(en, "activated",
+ _mp_search_view_activated_cb,
+ searchfield);
+
+ evas_object_smart_callback_add(en, "focused",
+ _mp_searchfield_focused_cb,
+ focus_cb_data);
+ evas_object_smart_callback_add(en, "unfocused",
+ _mp_searchfield_unfocused_cb,
+ focus_cb_data);
+ evas_object_smart_callback_add(en, "preedit,changed", change_cb,
+ change_cb_data);
+ evas_object_smart_callback_add(en, "clicked",
+ _mp_search_view_clicked_cb,
+ searchfield);
+
+ edje_object_signal_callback_add(_EDJ(searchfield), "elm,action,click",
+ "button_cancel_image",
+ _mp_search_cancel_button_clicked, en);
+
+ static Elm_Entry_Filter_Limit_Size limit_filter_data;
+ limit_filter_data.max_char_count = MP_SEARCH_MAX_CHAR_COUNT;
+ limit_filter_data.max_byte_count = 0;
+ elm_entry_markup_filter_append(en, elm_entry_filter_limit_size,
+ &limit_filter_data);
+ evas_object_smart_callback_add(en, "maxlength,reached",
+ _mp_search_entry_maxlength_reached_cb,
+ NULL);
+ evas_object_show(searchfield);
+
+ return searchfield;
+}
+
+void mp_search_hide_imf_pannel(Evas_Object * search)
+{
+ MP_CHECK(search);
+ Evas_Object *en = mp_search_entry_get(search);
+ elm_object_focus_set(en, EINA_FALSE);
+}
+
+void mp_search_show_imf_pannel(Evas_Object * search)
+{
+ MP_CHECK(search);
+ Evas_Object *en = mp_search_entry_get(search);
+ elm_object_focus_set(en, EINA_TRUE);
+}
+
+Evas_Object *mp_search_entry_get(Evas_Object * search)
+{
+ MP_CHECK_NULL(search);
+
+ Evas_Object *entry = evas_object_data_get(search, "entry");
+
+ return entry;
+}
+
+char *mp_search_text_get(Evas_Object * search)
+{
+ MP_CHECK_NULL(search);
+ Evas_Object *entry = evas_object_data_get(search, "entry");
+ MP_CHECK_NULL(entry);
+
+ const char *text = elm_entry_entry_get(entry);
+ char *markup_text = elm_entry_markup_to_utf8(text);
+
+ return markup_text;
+}
+
+void mp_search_text_set(Evas_Object * search, const char *text)
+{
+ MP_CHECK(search);
+ Evas_Object *entry = evas_object_data_get(search, "entry");
+ MP_CHECK(entry);
+
+ if (text == NULL) {
+ text = "";
+ }
+
+ DEBUG_TRACE("Text: %s", text);
+ elm_entry_entry_set(entry, text);
+ elm_entry_cursor_end_set(entry);
+ //elm_object_text_set(entry, text);
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include <Elementary.h>
+#include "mp-smart-event-box.h"
+#include "mp-player-debug.h"
+#include "mp-define.h"
+
+#define SCROLL_THREASHOLD 20
+#define FLICK_THREASHOLD 5
+
+#ifndef ABS
+#define ABS(x) ((x) < 0 ? -(x) : (x))
+#endif
+
+typedef struct _EventCallbackData_t {
+ void (*func) (void *);
+ void *data;
+} EventCallbackData_t;
+
+typedef struct _MpSmartEventBoxData_t {
+ bool down;
+ bool move;
+
+ Evas_Coord x, y, w, h;
+ Evas_Coord down_x;
+ Evas_Coord down_y;
+
+ EventCallbackData_t cbs[MP_EVENT_MAX];
+
+} MpSmartEventBoxData_t;
+
+
+static void
+__mouse_down_cb(void *data, Evas * evas, Evas_Object * obj,
+ void *event_info)
+{
+ Evas_Event_Mouse_Down *ev = (Evas_Event_Mouse_Down *) event_info;
+ MpSmartEventBoxData_t *box_d = data;
+ MP_CHECK(box_d);
+
+ box_d->down_x = ev->canvas.x;
+ box_d->down_y = ev->canvas.y;
+
+ box_d->down = true;
+
+ return;
+}
+
+static void
+__mouse_up_cb(void *data, Evas * evas, Evas_Object * obj, void *event_info)
+{
+ MpSmartEventBoxData_t *box_d = data;
+ MP_CHECK(box_d);
+
+ box_d->down = false;
+
+ if (!box_d->move) {
+ box_d->cbs[MP_EVENT_CLICK].func(box_d->cbs[MP_EVENT_CLICK].data);
+ }
+
+ box_d->down_x = -1;
+
+ goto END;
+
+ END:
+ box_d->move = false;
+}
+
+static void
+__mouse_move_cb(void *data, Evas * evas, Evas_Object * obj,
+ void *event_info)
+{
+ Evas_Coord diff_x = 0, diff_y = 0;
+ Evas_Event_Mouse_Up *mu = (Evas_Event_Mouse_Up *) event_info;
+ MpSmartEventBoxData_t *box_d = data;
+ MP_CHECK(box_d);
+
+ if (box_d->move) {
+ return;
+ }
+ if (box_d->down_x < 0) {
+ return;
+ }
+
+ diff_x = box_d->down_x - mu->canvas.x;
+ diff_y = box_d->down_y - mu->canvas.y;
+
+ if ((ABS(diff_x) > SCROLL_THREASHOLD)
+ || (ABS(diff_y) > SCROLL_THREASHOLD)) {
+ // dragging
+ box_d->move = true;
+
+ if (ABS(diff_y) > SCROLL_THREASHOLD) {
+ if (diff_y < 0) { //down
+ goto flick_down;
+ } else { //up
+ goto flick_up;
+ }
+ } else {
+ if (diff_x < 0) {
+ //right
+ goto flick_right;
+ } else {
+ //left
+ goto flick_left;
+ }
+ }
+ }
+
+ flick_up:
+ goto END;
+
+ flick_down:
+ goto END;
+
+ flick_left:
+ box_d->cbs[MP_EVENT_LEFT].func(box_d->cbs[MP_EVENT_LEFT].data);
+ goto END;
+
+ flick_right:
+ box_d->cbs[MP_EVENT_RIGHT].func(box_d->cbs[MP_EVENT_RIGHT].data);
+ goto END;
+
+ END:
+
+ return;
+}
+
+
+static void
+_mp_smart_event_box_del_cb(void *data, Evas * e, Evas_Object * eo,
+ void *event_info)
+{
+ MpSmartEventBoxData_t *b_data = data;
+ IF_FREE(b_data);
+}
+
+Evas_Object *mp_smart_event_box_add(Evas_Object * parent)
+{
+ MpSmartEventBoxData_t *data = NULL;
+
+ Evas_Object *rect =
+ evas_object_rectangle_add(evas_object_evas_get(parent));
+ MP_CHECK_NULL(rect);
+
+ data = calloc(1, sizeof(MpSmartEventBoxData_t));
+ MP_CHECK_NULL(data);
+
+ evas_object_data_set(rect, "obj_data", data);
+
+ //evas_object_size_hint_min_set(rect, 0, 15);
+ evas_object_color_set(rect, 0, 0, 0, 0);
+ evas_object_size_hint_fill_set(rect, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_size_hint_weight_set(rect, EVAS_HINT_EXPAND, 0.0);
+ evas_object_size_hint_align_set(rect, EVAS_HINT_FILL, 0.0);
+
+
+ evas_object_event_callback_add(rect, EVAS_CALLBACK_DEL,
+ _mp_smart_event_box_del_cb, data);
+ evas_object_event_callback_add(rect, EVAS_CALLBACK_MOUSE_DOWN,
+ __mouse_down_cb, data);
+ evas_object_event_callback_add(rect, EVAS_CALLBACK_MOUSE_MOVE,
+ __mouse_move_cb, data);
+ evas_object_event_callback_add(rect, EVAS_CALLBACK_MOUSE_UP,
+ __mouse_up_cb, data);
+
+ data->down_x = -1;
+
+ return rect;
+}
+
+void mp_smart_event_box_callback_add(Evas_Object * event_box,
+ MpEventCallback_e event,
+ void (*event_cb) (void *),
+ void *user_data)
+{
+ MpSmartEventBoxData_t *data =
+ evas_object_data_get(event_box, "obj_data");
+ MP_CHECK(data);
+
+ data->cbs[event].func = event_cb;
+ data->cbs[event].data = user_data;
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include "mp-track-list.h"
+#include "mp-player-view.h"
+#include "mp-create-playlist-view.h"
+#include "mp-ctxpopup.h"
+#include "mp-popup.h"
+#include "mp-util.h"
+#include "mp-common.h"
+#include "mp-widget.h"
+#include "mp-play.h"
+#include "mp-edit-callback.h"
+#include "mp-player-mgr.h"
+#include "mp-minicontroller.h"
+#include "mp-playlist-detail-view.h"
+#include <media_content.h>
+#include <player.h>
+
+#define INITIAL_LOAD_COUNT 8
+#define ALBUMART_INDEX_SIZE (720 * elm_config_scale_get())
+
+static mp_list_item_data_t* g_item_data = NULL;
+
+typedef struct {
+ char *name;
+ char *path;
+ int count;
+} albumart_info_s;
+
+static char *_mp_track_list_label_get(void *data, Evas_Object * obj,
+ const char *part)
+{
+ mp_list_item_data_t *item = (mp_list_item_data_t *) data;
+ MP_CHECK_NULL(item);
+ mp_media_info_h track = (mp_media_info_h) (item->handle);
+ mp_retvm_if(!track, NULL, "data is null");
+
+ if (!strcmp(part, "elm.text") || !strcmp(part, "elm.text.sub")) {
+ MpTrackList_t *list = evas_object_data_get(obj, "list_data");
+ MP_CHECK_NULL(list);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_NULL(ad);
+ mp_track_info_t *current = ad->current_track_info;
+
+
+ char *title = NULL;
+
+ if (!strcmp(part, "elm.text")) {
+
+ if (list->track_type == MP_TRACK_BY_FOLDER) {
+ mp_media_info_get_display_name(track, &title);
+ } else {
+ mp_media_info_get_title(track, &title);
+ }
+ } else {
+ mp_media_info_get_artist(track, &title);
+ }
+
+ char *markup = NULL;
+ char *uri = NULL;
+ static char result[DEF_STR_LEN + 1] = { 0, };
+ mp_media_info_get_file_path(track, &uri);
+ mp_retv_if(!uri, NULL);
+
+ bool match = false;
+ if (current && !g_strcmp0(current->uri, uri)
+ && list->edit_mode == 0) {
+ match = true;
+ }
+
+ if (match && list->track_type == MP_TRACK_BY_PLAYLIST) {
+ int member_id = 0;
+ mp_media_info_get_playlist_member_id(track, &member_id);
+ if (member_id != current->playlist_member_id) {
+ match = false;
+ }
+ }
+
+ if (match) {
+ char *markup_title = elm_entry_utf8_to_markup(title);
+
+ int r, g, b, a;
+ //Apply RGB equivalent of color
+ r = 21;
+ g = 108;
+ b = 148;
+ a = 255;
+ memset(result, 0x00, DEF_STR_LEN + 1);
+ snprintf(result, DEF_STR_LEN,
+ "<color=#%02x%02x%02x%02x>%s</color>", r, g, b, a,
+ markup_title);
+ IF_FREE(markup_title);
+
+ return g_strdup(result);
+ } else {
+ markup = elm_entry_utf8_to_markup(title);
+ }
+
+ return markup;
+ }
+ return NULL;
+}
+
+Evas_Object *_mp_track_list_icon_get(void *data, Evas_Object * obj,
+ const char *part)
+{
+ mp_list_item_data_t *item = (mp_list_item_data_t *) data;
+ MP_CHECK_NULL(item);
+ mp_media_info_h track = item->handle;
+ mp_retvm_if(!track, NULL, "data is null");
+ MP_CHECK_NULL(obj);
+ MpTrackList_t *list = evas_object_data_get(obj, "list_data");
+ MP_CHECK_NULL(list);
+
+ Evas_Object *content = NULL;
+ content = elm_layout_add(obj);
+
+ //get player status
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_NULL(ad);
+ mp_track_info_t *current = ad->current_track_info;
+ char *uri = NULL;
+ mp_media_info_get_file_path(track, &uri);
+
+ Evas_Object *part_content =
+ elm_object_item_part_content_get(item->it, "elm.swallow.icon");
+ if (part_content) {
+ elm_object_signal_emit(part_content, "show_default", "*");
+ }
+
+ bool match = false;
+ if (current && !g_strcmp0(current->uri, uri) && list->edit_mode == 0) {
+ match = true;
+ }
+
+ /*It make the same tracks will not be matched in playlist using the condition */
+ if (match && list->track_type == MP_TRACK_BY_PLAYLIST) {
+ int member_id = 0;
+ mp_media_info_get_playlist_member_id(track, &member_id);
+ if (current && (member_id != current->playlist_member_id)) {
+ match = false;
+ }
+ }
+
+ if (match && part_content) {
+ if (((int) mp_player_mgr_get_state() ==
+ (int) PLAYER_STATE_PLAYING)) {
+ elm_object_signal_emit(part_content, "show_play", "*");
+ } else
+ if (((int) mp_player_mgr_get_state() ==
+ (int) PLAYER_STATE_PAUSED)
+ || ((int) mp_player_mgr_get_state() ==
+ (int) PLAYER_STATE_READY)) {
+ elm_object_signal_emit(part_content, "show_pause", "*");
+ }
+ }
+
+ if (!strcmp(part, "elm.swallow.icon")) {
+ char *thumbpath = NULL;
+ Evas_Object *icon;
+
+ PROFILE_IN("_mp_track_list_icon_get");
+ mp_media_info_get_thumbnail_path(track, &thumbpath);
+
+#ifdef MP_FEATURE_PERSONAL_PAGE
+ char *filepath = NULL;
+ mp_media_info_get_file_path(track, &filepath);
+ if (mp_util_is_in_personal_page(filepath)) {
+ icon =
+ mp_widget_lock_icon_create(obj, (const char *) thumbpath);
+ } else {
+ icon =
+ mp_util_create_lazy_update_thumb_icon(obj, thumbpath,
+ MP_LIST_ICON_SIZE,
+ MP_LIST_ICON_SIZE);
+ }
+#else
+ icon =
+ mp_util_create_lazy_update_thumb_icon(obj, thumbpath,
+ MP_LIST_ICON_SIZE,
+ MP_LIST_ICON_SIZE);
+#endif
+ elm_layout_theme_set(content, "layout", "list/B/music.type.1",
+ "default");
+ elm_layout_content_set(content, "elm.swallow.content", icon);
+ PROFILE_OUT("_mp_track_list_icon_get");
+
+ if (match && content) {
+ if ((int) mp_player_mgr_get_state() ==
+ (int) PLAYER_STATE_PLAYING) {
+ elm_object_signal_emit(content, "show_play", "*");
+ } else {
+ elm_object_signal_emit(content, "show_pause", "*");
+ }
+ }
+ return content;
+ }
+
+
+
+ if (list->edit_mode) {
+ // if edit mode
+ if (!strcmp(part, "elm.swallow.end")) {
+ // swallow checkbox or radio button
+ Evas_Object *check = NULL;
+ check = elm_check_add(obj);
+ elm_object_style_set(check, "default");
+ evas_object_propagate_events_set(check, EINA_FALSE);
+ evas_object_smart_callback_add(check, "changed",
+ mp_common_view_check_changed_cb,
+ item);
+ elm_check_state_pointer_set(check, &item->checked);
+
+ return check;
+ }
+ }
+
+ if (list->reorderable) {
+ if (!strcmp(part, "elm.swallow.end")) {
+ Evas_Object *reorder_btn = elm_button_add(obj);
+ elm_object_style_set(reorder_btn, "music/reorder_button");
+ evas_object_repeat_events_set(reorder_btn, EINA_TRUE);
+ evas_object_propagate_events_set(reorder_btn, EINA_FALSE);
+ evas_object_size_hint_align_set(reorder_btn, EVAS_HINT_FILL,
+ EVAS_HINT_FILL);
+ evas_object_size_hint_weight_set(reorder_btn, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+
+ return reorder_btn;
+ }
+
+ }
+
+ return NULL;
+}
+
+static void _mp_track_list_item_del_cb(void *data, Evas_Object * obj)
+{
+ mp_list_item_data_t *item_data = data;
+ MP_CHECK(item_data);
+ SAFE_FREE(item_data);
+}
+
+static void
+_mp_track_genlist_sel_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ eventfunc;
+ Elm_Object_Item *gli = (Elm_Object_Item *) event_info;
+ elm_genlist_item_selected_set(gli, FALSE);
+
+ MP_LIST_ITEM_IGNORE_SELECT(obj);
+
+ MpList_t *list = data;
+ MP_CHECK(list);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ ad->isPlayBtn = true;
+ if (_mp_is_current_focus_available(ad) != 0) {
+ ERROR_TRACE
+ ("Some other application has the focus currently... Returning...");
+ return;
+ }
+
+ mp_list_item_data_t *item =
+ (mp_list_item_data_t *) elm_object_item_data_get(gli);
+ MP_CHECK(item);
+
+ if (list->edit_mode) {
+ mp_list_edit_mode_sel(list, item);
+ MpViewMgr_t *view_mgr = mp_view_mgr_get_view_manager();
+ MpView_t *view = mp_view_mgr_get_top_view(view_mgr);
+ mp_view_update_options_edit(view);
+ return;
+ }
+
+ if (!list->reorderable) {
+ mp_common_play_track_list_with_playlist_id(item, obj,
+ list->playlist_id);
+ }
+
+ return;
+}
+
+static void
+_mp_track_list_albumart_index_list_destroy(MpTrackList_t * list)
+{
+ MP_CHECK(list);
+ MP_CHECK(list->albumart_index_list);
+
+ GList *info_list = list->albumart_index_list;
+ while (info_list) {
+
+ albumart_info_s *albumart = info_list->data;
+ if (albumart) {
+ IF_FREE(albumart->name);
+ IF_FREE(albumart->path);
+ }
+
+ info_list = info_list->next;
+ }
+
+ list->albumart_index_list = NULL;
+}
+
+static void
+_mp_track_list_albumart_index_shortcut_clicked_cb(void *data,
+ Evas_Object * obj,
+ const char *emission,
+ const char *source)
+{
+ MpTrackList_t *list = data;
+ MP_CHECK(list);
+ MP_CHECK(list->albumart_index_list);
+
+ int index = (int) evas_object_data_get(obj, "index");
+ EVENT_TRACE("shortcut index = %d", index);
+ albumart_info_s *albumart =
+ g_list_nth_data(list->albumart_index_list, index);
+ MP_CHECK(albumart);
+
+ MP_CHECK(list->genlist);
+
+ char *album = NULL;
+ Elm_Object_Item *item = mp_list_first_item_get(list->genlist);
+ while (item) {
+ mp_list_item_data_t *data = elm_object_item_data_get(item);
+ if (data && data->handle
+ && data->item_type == MP_LIST_ITEM_TYPE_NORMAL) {
+ mp_media_info_get_album(data->handle, &album);
+ if (!g_strcmp0(album, albumart->name)) {
+ mp_list_item_selected_set(item, EINA_TRUE);
+ return;
+ }
+ }
+ item = mp_list_item_next_get(item);
+ }
+}
+
+static Evas_Object *_mp_track_list_albumart_index_contnet_get_cb(void
+ *data,
+ Evas_Object
+ *obj,
+ const char
+ *part)
+{
+ mp_list_item_data_t *item_data = data;
+ MP_CHECK_NULL(item_data);
+ MpTrackList_t *list = (MpTrackList_t *) item_data->handle;
+ MP_CHECK_NULL(list);
+ MP_CHECK_NULL(list->albumart_index_list);
+
+ int albumart_count = g_list_length(list->albumart_index_list);
+
+ int shortcut_count = 1;
+ if (albumart_count >= 6) {
+ shortcut_count = 6;
+ } else if (albumart_count >= 4) {
+ shortcut_count = 4;
+ }
+
+ Evas_Object *layout = NULL;
+
+ char *group =
+ g_strdup_printf("playlist_shortcut_layout_%d", shortcut_count);
+ layout = mp_common_load_edj(obj, MP_EDJ_NAME, group);
+ IF_FREE(group);
+
+ evas_object_size_hint_min_set(layout, ALBUMART_INDEX_SIZE,
+ ALBUMART_INDEX_SIZE *
+ elm_config_scale_get());
+
+ int i = 0;
+ int size = 0;
+ for (; i < shortcut_count; i++) {
+ albumart_info_s *info =
+ g_list_nth_data(list->albumart_index_list, i);
+ if (info) {
+ if (shortcut_count == 1) {
+ size = ALBUMART_INDEX_SIZE;
+ } else if (shortcut_count == 4) {
+ size = ALBUMART_INDEX_SIZE / 2;
+ } else {
+ size = ALBUMART_INDEX_SIZE / 3;
+ if (i == 0) {
+ size = size * 2;
+ }
+ }
+ Evas_Object *shortcut =
+ mp_widget_shorcut_box_add(layout, NULL, info->path, NULL,
+ size, size,
+ _mp_track_list_albumart_index_shortcut_clicked_cb,
+ list);
+ evas_object_data_set(shortcut, "index", (void *) i);
+ char *part = g_strdup_printf("elm.icon.%d", i + 1);
+ elm_object_part_content_set(layout, part, shortcut);
+ IF_FREE(part);
+ }
+ }
+
+ return layout;
+}
+
+static void
+_mp_track_list_albumart_index_item_del_cb(void *data, Evas_Object * obj)
+{
+ mp_list_item_data_t *item_data = data;
+ MP_CHECK(item_data);
+
+ MpTrackList_t *list = evas_object_data_get(obj, "list_data");
+ MP_CHECK(list);
+
+ if (list->albumart_index_item == item_data->it) {
+ list->albumart_index_item = NULL;
+ }
+}
+
+static int
+_mp_track_list_album_index_list_with_sort(const void *a, const void *b)
+{
+ if (!a || !b) {
+ mp_error("Invalid parameter");
+ return -1;
+ }
+
+ albumart_info_s *a_album = (albumart_info_s *) a;
+ albumart_info_s *b_album = (albumart_info_s *) b;
+
+ return (b_album->count - a_album->count);
+}
+
+static void
+_mp_track_list_albumart_index_list_append(MpTrackList_t * list,
+ const mp_media_info_h media)
+{
+ MP_CHECK(list);
+ MP_CHECK(media);
+
+ char *name = NULL;
+ mp_media_info_get_album(media, &name);
+ MP_CHECK(name);
+
+ albumart_info_s *album = NULL;
+ GList *album_list = list->albumart_index_list;
+ while (album_list) {
+ album = album_list->data;
+ if (album) {
+ if (!g_strcmp0(name, album->name)) {
+ ++album->count;
+ return;
+ }
+ }
+
+ album_list = album_list->next;
+ }
+
+ char *path = NULL;
+ mp_media_info_get_thumbnail_path(media, &path);
+ if (path == NULL || strlen(path) == 0) {
+ char default_thumbnail[1024] = { 0 };
+ char *shared_path = app_get_shared_resource_path();
+ snprintf(default_thumbnail, 1024, "%s%s/%s", shared_path,
+ "shared_images", DEFAULT_THUMBNAIL);
+ free(shared_path);
+ path = default_thumbnail;
+ }
+ MP_CHECK(path);
+
+ album = calloc(1, sizeof(albumart_info_s));
+ MP_CHECK(album);
+ album->name = g_strdup(name);
+ album->path = g_strdup(path);
+ album->count = 1;
+
+ list->albumart_index_list =
+ g_list_append(list->albumart_index_list, album);
+}
+
+void mp_track_list_update_albumart_index(MpTrackList_t * list)
+{
+ startfunc;
+ MP_CHECK(list);
+ MP_CHECK(list->genlist);
+
+ if (list->albumart_index_item) {
+ elm_object_item_del(list->albumart_index_item);
+ list->albumart_index_item = NULL;
+ }
+ _mp_track_list_albumart_index_list_destroy(list);
+
+ MP_CHECK(!list->edit_mode);
+ MP_CHECK(list->index_type == MP_TRACK_LIST_INDEX_ALBUM_ART_LIST);
+
+ int count = 0;
+ mp_media_info_list_count(list->track_type, list->type_str,
+ list->type_str2, list->filter_str,
+ list->playlist_id, &count);
+ MP_CHECK(count);
+
+ static Elm_Genlist_Item_Class itc;
+ itc.item_style = "1icon/no_padding";
+ itc.func.content_get = _mp_track_list_albumart_index_contnet_get_cb;
+ itc.func.del = _mp_track_list_albumart_index_item_del_cb;
+
+ mp_media_list_h svc_handle = NULL;
+ mp_media_info_list_create(&svc_handle, list->track_type,
+ list->type_str, list->type_str2,
+ list->filter_str, list->playlist_id, 0,
+ count);
+ MP_CHECK(svc_handle);
+ int i = 0;
+ for (; i < count; i++) {
+ mp_media_info_h media = mp_media_info_list_nth_item(svc_handle, i);
+ _mp_track_list_albumart_index_list_append(list, media);
+ }
+ mp_media_info_list_destroy(svc_handle);
+
+ if (list->albumart_index_list) {
+ if (list->playlist_id > 0) {
+ list->albumart_index_list =
+ g_list_sort(list->albumart_index_list,
+ _mp_track_list_album_index_list_with_sort);
+ }
+
+ mp_list_item_data_t *item_data =
+ calloc(1, sizeof(mp_list_item_data_t));
+ MP_CHECK(item_data);
+ item_data->index = -1;
+ item_data->item_type = MP_LIST_ITEM_TYPE_ALBUMART_INDEX;
+ item_data->handle = (mp_media_info_h) list;
+
+ item_data->it =
+ elm_genlist_item_prepend(list->genlist, &itc, item_data, NULL,
+ ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ elm_genlist_item_select_mode_set(item_data->it,
+ ELM_OBJECT_SELECT_MODE_NONE);
+ list->albumart_index_item = item_data->it;
+ }
+ endfunc;
+}
+
+MpCloudView_e mp_track_list_get_cloud_view(MpTrackList_t * list)
+{
+ return list->cloud_view_type;
+}
+
+static void _mp_track_list_append_item(MpTrackList_t * list,
+ mp_media_list_h svc_handle,
+ int count)
+{
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ int index = 0;
+ for (index = 0; index < count; index++) {
+ mp_media_info_h item = NULL;
+ item = mp_media_info_list_nth_item(svc_handle, index);
+ mp_list_item_data_t *item_data;
+#ifdef MP_FEATURE_PERSONAL_PAGE
+ char *path = NULL;
+ mp_media_info_get_file_path(item, &path);
+
+ if (mp_util_is_in_personal_page((const char *) path)) {
+ if (list->personal_page_type == MP_LIST_PERSONAL_PAGE_ADD
+ || !mp_util_is_personal_page_on()) {
+ DEBUG_TRACE("ignore the items out of personal storage");
+ continue;
+ }
+ } else {
+ if (list->personal_page_type == MP_LIST_PERSONAL_PAGE_REMOVE) {
+ DEBUG_TRACE("ignore the items in personal storage");
+ continue;
+ }
+ }
+#endif
+ item_data = calloc(1, sizeof(mp_list_item_data_t));
+ MP_CHECK(item_data);
+ item_data->handle = item;
+ item_data->index = index;
+ item_data->group_type = MP_GROUP_NONE;
+
+ char *file_path = NULL;
+ mp_media_info_get_file_path(item, &file_path);
+ if (ad->selector_mode_bit) {
+ item_data->checked = EINA_FALSE;
+ if (ad->checkedList) {
+ ad->checkedList = g_list_first(ad->checkedList);
+ GList *l;
+ for (l = ad->checkedList ; l != NULL ; l = l->next) {
+ if (g_strcmp0(l->data, file_path) == 0) {
+ item_data->checked = EINA_TRUE;
+ break;
+ }
+ }
+ }
+ } else {
+ item_data->checked =
+ mp_list_is_in_checked_path_list(list->checked_path_list,
+ file_path);
+ }
+
+ item_data->it =
+ elm_genlist_item_append(list->genlist, list->itc, item_data,
+ NULL, ELM_GENLIST_ITEM_NONE,
+ _mp_track_genlist_sel_cb, list);
+ elm_object_item_data_set(item_data->it, item_data);
+ }
+ endfunc;
+
+}
+
+static Eina_Bool _mp_track_list_lazy_load(void *thiz)
+{
+ startfunc;
+ int count = 0, res = 0;
+ MpTrackList_t *list = thiz;
+ mp_media_list_h svc_handle = NULL;
+ MP_CHECK_FALSE(list);
+
+ res =
+ mp_media_info_list_count(list->track_type, list->type_str,
+ list->type_str2, list->filter_str,
+ list->playlist_id, &count);
+ MP_CHECK_FALSE(res == 0);
+
+ count = count - INITIAL_LOAD_COUNT;
+
+ mp_media_info_list_create(&svc_handle, list->track_type,
+ list->type_str, list->type_str2,
+ list->filter_str, list->playlist_id,
+ INITIAL_LOAD_COUNT, count);
+ _mp_track_list_append_item(list, svc_handle, count);
+
+// mp_list_bottom_counter_item_append((MpList_t *)list);
+
+ if (list->track_list[1]) {
+ mp_media_info_list_destroy(list->track_list[1]);
+ }
+ list->track_list[1] = svc_handle;
+
+ list->load_timer = NULL;
+ if (mp_list_get_edit((MpList_t *) list) || list->get_by_view) {
+ MpView_t *view = mp_view_mgr_get_top_view(GET_VIEW_MGR);
+ if (view) {
+ mp_view_update_options(view);
+ }
+ }
+ return EINA_FALSE;
+}
+
+
+static char *_mp_track_list_shuffle_text_get(void *data, Evas_Object * obj,
+ const char *part)
+{
+ char *markup = NULL;
+ static char result[DEF_STR_LEN + 1] = { 0, };
+ if (!strcmp(part, "elm.text")) {
+ MpTrackList_t *list = evas_object_data_get(obj, "list_data");
+ MP_CHECK_NULL(list);
+
+ int r = 21;
+ int g = 108;
+ int b = 148;
+ int a = 255;
+
+ markup =
+ (list->track_count ==
+ 1) ? g_strdup(GET_STR(STR_MP_SHUFFLE_1_TRACK)) :
+ g_strdup_printf(GET_STR(STR_MP_SHUFFLE_PD_TRACKS),
+ list->track_count);
+
+ memset(result, 0x00, DEF_STR_LEN + 1);
+ snprintf(result, DEF_STR_LEN,
+ "<color=#%02x%02x%02x%02x>%s</color>", r, g, b, a,
+ markup);
+ IF_FREE(markup);
+
+ return g_strdup(result);
+ }
+ return NULL;
+}
+
+Evas_Object *_mp_track_list_shuffle_icon_get(void *data, Evas_Object * obj,
+ const char *part)
+{
+ Evas_Object *content = NULL;
+ content = elm_layout_add(obj);
+
+ if (!strcmp(part, "elm.swallow.icon")) {
+ Evas_Object *icon;
+ icon =
+ mp_util_create_image(obj, IMAGE_EDJ_NAME, MP_LITE_SHUFFLE_ICON,
+ MP_LIST_SHUFFLE_ICON_SIZE,
+ MP_LIST_SHUFFLE_ICON_SIZE);
+ evas_object_color_set(icon, 21, 108, 148, 255);
+
+ elm_layout_theme_set(content, "layout", "list/B/music.type.3",
+ "default");
+ elm_layout_content_set(content, "elm.swallow.content", icon);
+
+ return content;
+ }
+ return NULL;
+}
+
+
+static void
+_mp_track_list_shuffle_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ eventfunc;
+ Elm_Object_Item *gli = (Elm_Object_Item *) event_info;
+ elm_genlist_item_selected_set(gli, FALSE);
+
+ MP_LIST_ITEM_IGNORE_SELECT(obj);
+
+ MpList_t *list = data;
+ MP_CHECK(list);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ ad->isPlayBtn = true;
+ if (_mp_is_current_focus_available(ad) != 0) {
+ ERROR_TRACE
+ ("Some other application has the focus currently... Returning...");
+ return;
+ }
+
+ mp_list_item_data_t *item =
+ (mp_list_item_data_t *) elm_object_item_data_get(gli);
+ MP_CHECK(item);
+ mp_play_control_shuffle_set(NULL, true);
+ mp_common_play_track_list_with_playlist_id(item, obj,
+ list->playlist_id);
+
+ return;
+}
+
+static void
+_mp_track_list_shuffle_item_del_cb(void *data, Evas_Object * obj)
+{
+ mp_list_item_data_t *item_data = data;
+ SAFE_FREE(item_data);
+}
+
+static void _mp_track_list_append_shuffle_item(MpTrackList_t * list)
+{
+ startfunc;
+ MP_CHECK(list);
+
+ if (list->itc_shuffle == NULL) {
+ list->itc_shuffle = elm_genlist_item_class_new();
+ MP_CHECK(list->itc_shuffle);
+ list->itc_shuffle->item_style = "default";
+ list->itc_shuffle->func.text_get = _mp_track_list_shuffle_text_get;
+ list->itc_shuffle->decorate_all_item_style = NULL;
+ list->itc_shuffle->func.content_get =
+ _mp_track_list_shuffle_icon_get;
+ list->itc_shuffle->func.del = _mp_track_list_shuffle_item_del_cb;
+ }
+
+ mp_list_item_data_t *item_data;
+ item_data = calloc(1, sizeof(mp_list_item_data_t));
+ MP_CHECK(item_data);
+ item_data->item_type = MP_LIST_ITEM_TYPE_SHUFFLE;
+
+ item_data->it = list->shuffle_it =
+ elm_genlist_item_append(list->genlist, list->itc_shuffle,
+ item_data, NULL, ELM_GENLIST_ITEM_NONE,
+ _mp_track_list_shuffle_cb, list);
+
+ elm_object_item_data_set(item_data->it, item_data);
+
+ endfunc;
+}
+
+void mp_track_list_show_shuffle(void *thiz, bool show)
+{
+ startfunc;
+ MP_CHECK(thiz);
+ MpTrackList_t *list = thiz;
+ MP_CHECK(list->genlist);
+
+ DEBUG_TRACE("show shuffle: %d list->shuffle_it: %0x", show,
+ list->shuffle_it);
+ if (show) {
+ _mp_track_list_append_shuffle_item(list);
+ } else if (list->shuffle_it) {
+ elm_object_item_del(list->shuffle_it);
+ list->shuffle_it = NULL;
+ }
+}
+
+void mp_track_list_popup_delete_genlist_item(void *thiz)
+{
+ startfunc;
+
+ MP_CHECK(thiz);
+ MpTrackList_t *list = thiz;
+ MP_CHECK(list->genlist);
+
+ if (list->track_count > 0) {
+ list->track_count--;
+ }
+}
+
+void mp_track_list_update_genlist(void *thiz)
+{
+ startfunc;
+
+ MP_CHECK(thiz);
+ MpTrackList_t *list = thiz;
+ MP_CHECK(list->genlist);
+
+ if (list->track_count <= 0) {
+ mp_list_update(thiz);
+ } else {
+ elm_genlist_realized_items_update(list->genlist);
+ }
+}
+
+static void mp_track_list_initialize_recently_added(MpTrackList_t *list)
+{
+ MP_CHECK(list);
+
+ mp_evas_object_del(list->recently_added_genlist);
+ list->recently_added_genlist = mp_widget_genlist_create(list->box);
+ MP_CHECK(list->recently_added_genlist);
+ elm_scroller_policy_set(list->recently_added_genlist, ELM_SCROLLER_POLICY_OFF,
+ ELM_SCROLLER_POLICY_AUTO);
+ evas_object_size_hint_weight_set(list->recently_added_genlist, EVAS_HINT_EXPAND,
+ 0.5);
+ evas_object_size_hint_align_set(list->recently_added_genlist, EVAS_HINT_FILL,
+ EVAS_HINT_FILL);
+ elm_genlist_mode_set(list->recently_added_genlist, ELM_LIST_COMPRESS);
+ evas_object_show(list->recently_added_genlist);
+ /*packet genlist to box */
+ elm_box_pack_end(list->box, list->recently_added_genlist);
+
+ evas_object_data_set(list->recently_added_genlist, "list_data", list);
+}
+
+void _mp_track_list_recently_added_del_cb(void *data, Evas_Object * obj)
+{
+ mp_media_list_h *svc_handle = (mp_media_list_h *) data;
+ MP_CHECK(svc_handle);
+ IF_FREE(svc_handle);
+ IF_FREE(g_item_data);
+}
+
+char *_mp_track_list_group_index_recently_added_text_get(void *data,
+ Evas_Object *obj,
+ const char *part)
+{
+ char *text = NULL;
+ if (!g_strcmp0(part, "elm.text")) {
+ int len = strlen(GET_STR(STR_RECENTLY_ADDED)) + strlen(GET_STR(STR_MP_ARTISTS)) + 2;
+ text = (char *)malloc(len);
+ MP_CHECK_NULL(text);
+ snprintf(text, len, "%s %s", GET_STR(STR_RECENTLY_ADDED), GET_STR(STR_MP_TRACKS));
+ }
+
+ return text;
+}
+
+static void _mp_track_list_recently_added_play_icon_clicked_cb(void *data,
+ Evas_Object * obj, const char *emission, const char *source)
+{
+ startfunc;
+ mp_list_item_data_t *item = (mp_list_item_data_t *)data;
+ MP_CHECK(item);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ Evas_Object* genlist = evas_object_data_get(obj, "genlist_obj");
+ MP_CHECK(genlist);
+
+ mp_media_info_h track = item->handle;
+ MP_CHECK(track);
+
+ char *uri = NULL;
+ char *uid = NULL;
+ mp_media_info_get_file_path(track, &uri);
+ mp_media_info_get_media_id(track, &uid);
+
+ mp_common_play_track_list_with_song_uid(item, genlist, uid, uri);
+}
+
+static void _mp_track_list_recently_added_thumbpath_clicked_cb(void *data,
+ Evas_Object * obj, const char *emission, const char *source)
+{
+ startfunc;
+ mp_track_type_e type = MP_TRACK_BY_ADDED_TIME;
+ char *name = g_strdup(STR_MP_RECENTLY_ADDED);
+ MpViewMgr_t *view_manager = mp_view_mgr_get_view_manager();
+ MpPlaylistDetailView_t *view_plst_detail = mp_playlist_detail_view_create(view_manager->navi, type, name, mp_media_info_get_auto_playlist_id_by_name(name));
+ mp_view_mgr_push_view(view_manager, (MpView_t *)view_plst_detail, NULL);
+
+ mp_view_update_options((MpView_t *)view_plst_detail);
+ mp_view_set_title((MpView_t *)view_plst_detail, name);
+}
+
+char *_mp_track_list_recently_added_text_get(void *data, Evas_Object * obj, const char *part)
+{
+ mp_media_list_h svc_handle = (mp_media_list_h) data;
+ MP_CHECK_NULL(svc_handle);
+
+ MpTrackList_t *list = evas_object_data_get(obj, "list_data");
+ MP_CHECK_NULL(list);
+
+ int count = (list->track_count < RECENTLY_ADDED_TRACKS_MAX_COUNT) ? list->track_count : RECENTLY_ADDED_TRACKS_MAX_COUNT;
+ for (int index = 0; index < count; index++) {
+ mp_media_info_h item = NULL;
+ char *title = NULL;
+ char *artist = NULL;
+ char part_name[RECENTLY_ADDED_PART_NAME_MAX_SIZE] = {0, };
+
+ item = mp_media_info_list_nth_item(svc_handle, index);
+ if (!item) {
+ DEBUG_TRACE
+ ("Fail to mp_media_info_group_list_nth_item, index[%d]", index);
+ return NULL;
+ }
+
+ snprintf(part_name, RECENTLY_ADDED_PART_NAME_MAX_SIZE, "%s%d", "elm.text.main.", (index+1));
+ if (!g_strcmp0(part, part_name)) {
+ mp_media_info_get_title(item, &title);
+ if (!title || !strlen(title)) {
+ title = GET_SYS_STR("IDS_COM_BODY_UNKNOWN");
+ }
+ return g_strdup(title);
+ }
+ part_name[0] = '\0';
+ snprintf(part_name, RECENTLY_ADDED_PART_NAME_MAX_SIZE, "%s%d", "elm.text.sub.", (index+1));
+ if (!g_strcmp0(part, part_name)) {
+ mp_media_info_get_artist(item, &artist);
+ if (!artist || !strlen(artist)) {
+ artist = GET_SYS_STR("IDS_COM_BODY_UNKNOWN");
+ }
+ return g_strdup(artist);
+ }
+ }
+ return NULL;
+}
+
+Evas_Object *_mp_track_list_recently_added_content_get(void *data, Evas_Object * obj, const char *part)
+{
+ mp_media_list_h svc_handle = (mp_media_list_h) data;
+ MP_CHECK_NULL(svc_handle);
+
+ MpTrackList_t *list = evas_object_data_get(obj, "list_data");
+ MP_CHECK_NULL(list);
+ int count = (list->track_count < RECENTLY_ADDED_TRACKS_MAX_COUNT) ? list->track_count : RECENTLY_ADDED_TRACKS_MAX_COUNT;
+ for (int index = 0; index < count; index++) {
+ mp_media_info_h item = NULL;
+ char *thumb_path = NULL;
+ char *default_thumb_path = NULL;
+ char part_name[RECENTLY_ADDED_PART_NAME_MAX_SIZE] = {0, };
+
+ item = mp_media_info_list_nth_item(svc_handle, index);
+ if (!item) {
+ DEBUG_TRACE
+ ("Fail to mp_media_info_group_list_nth_item, index[%d]", index);
+ return NULL;
+ }
+ mp_media_info_get_thumbnail_path(item, &thumb_path);
+ if (!thumb_path) {
+ char default_thumbnail[1024] = { 0 };
+ char *shared_path = app_get_shared_resource_path();
+ snprintf(default_thumbnail, 1024, "%s%s/%s", shared_path,
+ "shared_images", DEFAULT_THUMBNAIL);
+ free(shared_path);
+ thumb_path = g_strdup(default_thumbnail);
+ default_thumb_path = thumb_path;
+ }
+
+ mp_list_item_data_t *item_data = calloc(1, sizeof(mp_list_item_data_t));
+ if (!item_data) {
+ if (default_thumb_path) {
+ free(default_thumb_path);
+ default_thumb_path = NULL;
+ }
+ return NULL;
+ }
+ item_data->handle = item;
+ item_data->index = index;
+ item_data->group_type = MP_GROUP_NONE;
+ if (g_item_data) {
+ free(g_item_data);
+ }
+ g_item_data = item_data;
+ snprintf(part_name, RECENTLY_ADDED_PART_NAME_MAX_SIZE, "%s%d",
+ "elm.swallow.", (index+1));
+ if (!g_strcmp0(part, part_name)) {
+ Evas_Object *content = NULL;
+ content = elm_layout_add(obj);
+ evas_object_size_hint_align_set(content, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_size_hint_weight_set(content, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ Evas_Object* image = elm_image_add(obj);
+ elm_image_file_set(image, thumb_path, NULL);
+ elm_image_fill_outside_set(image, true);
+ elm_image_resizable_set(image, EINA_TRUE, EINA_TRUE);
+ evas_object_size_hint_align_set(image, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_size_hint_weight_set(image, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ evas_object_show(image);
+ elm_layout_theme_set(content, "layout", "list/B/music.type.1",
+ "default");
+ elm_layout_content_set(content, "elm.swallow.content", image);
+ evas_object_data_set(content, "genlist_obj", list->genlist);
+ elm_object_signal_callback_add(content, "mouse,clicked,1", "*",
+ _mp_track_list_recently_added_thumbpath_clicked_cb, NULL);
+ if (default_thumb_path) {
+ free(default_thumb_path);
+ default_thumb_path = NULL;
+ }
+ return content;
+ }
+ part_name[0] = '\0';
+ snprintf(part_name, RECENTLY_ADDED_PART_NAME_MAX_SIZE, "%s%d%s", "elm.swallow.", (index+1), ".play");
+ if (!g_strcmp0(part, part_name)) {
+ Evas_Object *content = NULL;
+ content = elm_layout_add(obj);
+ evas_object_size_hint_align_set(content, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_size_hint_weight_set(content, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ char play_thumbnail[1024] = { 0 };
+ char *shared_path = app_get_shared_resource_path();
+ snprintf(play_thumbnail, 1024, "%s%s/%s", shared_path,
+ "shared_images", RECENTLY_ADDED_PLAY_ICON);
+ free(shared_path);
+ Evas_Object* image = elm_image_add(obj);
+ elm_image_file_set(image, play_thumbnail, NULL);
+ elm_image_resizable_set(image, EINA_TRUE, EINA_TRUE);
+ evas_object_size_hint_align_set(image, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_size_hint_weight_set(image, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ evas_object_show(image);
+ elm_layout_theme_set(content, "layout", "list/B/music.type.3",
+ "default");
+ elm_layout_content_set(content, "elm.swallow.content", image);
+ evas_object_data_set(content, "genlist_obj", list->genlist);
+ elm_object_signal_callback_add(content, "mouse,clicked,1", "*",
+ _mp_track_list_recently_added_play_icon_clicked_cb, item_data);
+ if (default_thumb_path) {
+ free(default_thumb_path);
+ default_thumb_path = NULL;
+ }
+ return content;
+ }
+ if (default_thumb_path) {
+ free(default_thumb_path);
+ default_thumb_path = NULL;
+ }
+ }
+ return NULL;
+}
+
+static Elm_Object_Item *_mp_track_list_append_group_index(void *thiz)
+{
+ startfunc;
+ MpTrackList_t *list = thiz;
+ MP_CHECK_NULL(list);
+ MP_CHECK_NULL(list->recently_added_genlist);
+
+ Elm_Object_Item *group_index = NULL;
+ mp_list_item_data_t *item_data =
+ mp_list_item_data_create(MP_LIST_ITEM_TYPE_GROUP_TITLE);
+ MP_CHECK_NULL(item_data);
+ item_data->it =
+ elm_genlist_item_append(list->recently_added_genlist, list->itc_group_index_recently_added, item_data,
+ NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ group_index = item_data->it;
+ elm_genlist_item_select_mode_set(group_index,
+ ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+
+ return group_index;
+}
+
+static void _mp_track_list_append_recently_added(void *thiz, mp_media_list_h svc_handle)
+{
+ startfunc;
+ MpTrackList_t *list = thiz;
+ MP_CHECK(list);
+ MP_CHECK(list->recently_added_genlist);
+
+ elm_genlist_item_append(list->recently_added_genlist, list->itc_genlist_recently_added, svc_handle,
+ NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+}
+
+static void mp_track_list_show_recently_added_tracks(void *thiz)
+{
+ startfunc;
+ MP_CHECK(thiz);
+ MpTrackList_t *list = thiz;
+ int count = 0, res = 0;
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ if (!list->itc_group_index_recently_added) {
+ list->itc_group_index_recently_added = elm_genlist_item_class_new();
+ MP_CHECK(list->itc_group_index_recently_added);
+ list->itc_group_index_recently_added->item_style = "group_index";
+ list->itc_group_index_recently_added->func.text_get =
+ _mp_track_list_group_index_recently_added_text_get;
+ list->itc_group_index_recently_added->func.content_get =
+ NULL;
+ list->itc_group_index_recently_added->func.del =
+ _mp_track_list_recently_added_del_cb;
+ }
+
+ _mp_track_list_append_group_index(list);
+
+ if (!list->itc_genlist_recently_added) {
+ list->itc_genlist_recently_added = elm_genlist_item_class_new();
+ MP_CHECK(list->itc_genlist_recently_added);
+ list->itc_genlist_recently_added->item_style = "recently_added";
+ list->itc_genlist_recently_added->func.text_get =
+ _mp_track_list_recently_added_text_get;
+ list->itc_genlist_recently_added->func.content_get =
+ _mp_track_list_recently_added_content_get;
+ list->itc_genlist_recently_added->func.del =
+ _mp_track_list_recently_added_del_cb;
+ }
+
+ mp_media_list_h svc_handle = NULL;
+
+ list->track_type = MP_TRACK_BY_ADDED_TIME;
+ list->playlist_id = 0;
+
+ PROFILE_IN("mp_media_info_list_count");
+ res =
+ mp_media_info_list_count(list->track_type, list->type_str,
+ list->type_str2, list->filter_str,
+ list->playlist_id, &count);
+ PROFILE_OUT("mp_media_info_list_count");
+ MP_CHECK(res == 0);
+ list->track_count = count;
+
+ PROFILE_IN("mp_media_info_list_create");
+ mp_media_info_list_create(&svc_handle, list->track_type,
+ list->type_str, list->type_str2,
+ list->filter_str, list->playlist_id, 0,
+ count);
+ PROFILE_OUT("mp_media_info_list_create");
+ MP_CHECK(svc_handle);
+
+ PROFILE_IN("_mp_track_list_append_recently_added");
+ _mp_track_list_append_recently_added(list, svc_handle);
+ PROFILE_OUT("_mp_track_list_append_recently_added");
+}
+
+static void _mp_track_list_load_list(void *thiz, int count)
+{
+ startfunc;
+ MpTrackList_t *list = thiz;
+ MP_CHECK(list);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ /*media-svc related */
+ mp_media_list_h svc_handle = NULL;
+
+ /*clear genlist */
+ Elm_Object_Item *item = elm_genlist_first_item_get(list->genlist);
+ if (item) {
+ elm_genlist_item_bring_in(item, ELM_GENLIST_ITEM_SCROLLTO_IN);
+ elm_genlist_clear(list->genlist);
+ }
+
+ mp_track_list_update_albumart_index(list);
+
+ mp_ecore_timer_del(list->load_timer);
+ if (list->track_type == MP_TRACK_ALL && count > INITIAL_LOAD_COUNT) {
+ count = INITIAL_LOAD_COUNT;
+ list->load_timer =
+ ecore_timer_add(0.4, _mp_track_list_lazy_load, list);
+ }
+
+ /*get data from DB */
+ PROFILE_IN("mp_media_info_list_create");
+ mp_media_info_list_create(&svc_handle, list->track_type,
+ list->type_str, list->type_str2,
+ list->filter_str, list->playlist_id, 0,
+ count);
+ PROFILE_OUT("mp_media_info_list_create");
+
+ if (!list->edit_mode) {
+ if (ad->recentlyAddedGridView) {
+ mp_track_list_show_recently_added_tracks(list);
+ ad->recentlyAddedGridView = false;
+ }
+ mp_track_list_show_shuffle(list, true);
+ }
+
+ PROFILE_IN("_mp_track_list_append_item");
+ _mp_track_list_append_item(list, svc_handle, count);
+ PROFILE_OUT("_mp_track_list_append_item");
+
+ if (list->track_list[0]) {
+ mp_media_info_list_destroy(list->track_list[0]);
+ }
+ list->track_list[0] = svc_handle;
+
+}
+
+static void _mp_track_list_destory_cb(void *thiz)
+{
+ eventfunc;
+ MpTrackList_t *list = thiz;
+ MP_CHECK(list);
+
+ mp_ecore_timer_del(list->load_timer);
+
+ if (list->playlists) {
+ mp_media_info_group_list_destroy(list->playlists);
+ list->playlists = NULL;
+ }
+
+ if (list->track_list[0]) {
+ mp_media_info_list_destroy(list->track_list[0]);
+ list->track_list[0] = NULL;
+ }
+ if (list->track_list[1]) {
+ mp_media_info_list_destroy(list->track_list[1]);
+ list->track_list[1] = NULL;
+ }
+
+ if (list->itc) {
+ elm_genlist_item_class_free(list->itc);
+ list->itc = NULL;
+ }
+
+ if (list->itc_shuffle) {
+ elm_genlist_item_class_free(list->itc_shuffle);
+ list->itc_shuffle = NULL;
+ }
+
+ if (list->itc_group_index_recently_added) {
+ elm_genlist_item_class_free(list->itc_group_index_recently_added);
+ list->itc_group_index_recently_added = NULL;
+ }
+
+ IF_FREE(list->type_str);
+ IF_FREE(list->type_str2);
+ IF_FREE(list->filter_str);
+
+ _mp_track_list_albumart_index_list_destroy(list);
+ mp_list_free_checked_path_list(list->checked_path_list);
+
+ free(list);
+}
+
+static void _mp_track_list_item_highlighted(void *data, Evas_Object * obj,
+ void *event_info)
+{
+ MpTrackList_t *list = data;
+ MP_CHECK(list);
+
+ Elm_Object_Item *it = event_info;
+ MP_CHECK(it);
+
+ if (list->shuffle_it == it) {
+ Evas_Object *icon =
+ elm_object_item_part_content_get(it, "elm.icon.2");
+ if (icon) {
+ elm_image_file_set(icon, IMAGE_EDJ_NAME,
+ MP_ICON_SHUFFLE_PRESS);
+ }
+ }
+}
+
+static void _mp_track_list_item_unhighlighted(void *data,
+ Evas_Object * obj,
+ void *event_info)
+{
+ MpTrackList_t *list = data;
+ MP_CHECK(list);
+
+ Elm_Object_Item *it = event_info;
+ MP_CHECK(it);
+
+ if (list->shuffle_it == it) {
+ Evas_Object *icon =
+ elm_object_item_part_content_get(it, "elm.icon.2");
+ if (icon) {
+ elm_image_file_set(icon, IMAGE_EDJ_NAME, MP_ICON_SHUFFLE);
+ }
+ }
+}
+
+static void _mp_track_list_update(void *thiz)
+{
+ startfunc;
+
+ int count = 0, res = 0;
+ MpTrackList_t *list = thiz;
+ MP_CHECK(list);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ PROFILE_IN("mp_media_info_list_count");
+ res =
+ mp_media_info_list_count(list->track_type, list->type_str,
+ list->type_str2, list->filter_str,
+ list->playlist_id, &count);
+ PROFILE_OUT("mp_media_info_list_count");
+ MP_CHECK(res == 0);
+ list->track_count = count;
+
+ if (list->get_by_view == false) {
+ mp_list_free_checked_path_list(list->checked_path_list);
+ list->checked_path_list =
+ mp_list_get_checked_path_list((MpList_t *) list);
+ }
+ mp_evas_object_del(list->no_content);
+ mp_evas_object_del(list->genlist);
+
+
+ if (count) {
+ // Place Recently Added Grid View only when there are some items in genlist
+ if (ad->recentlyAddedGridView) {
+ mp_track_list_initialize_recently_added(list);
+ }
+
+ /*create new genlist */
+ PROFILE_IN("elm_genlist_add");
+ list->genlist = mp_widget_genlist_create(list->box);
+ elm_scroller_policy_set(list->genlist, ELM_SCROLLER_POLICY_OFF,
+ ELM_SCROLLER_POLICY_AUTO);
+ evas_object_size_hint_weight_set(list->genlist, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(list->genlist, EVAS_HINT_FILL,
+ EVAS_HINT_FILL);
+ elm_genlist_homogeneous_set(list->genlist, EINA_TRUE);
+ elm_genlist_mode_set(list->genlist, ELM_LIST_COMPRESS);
+ evas_object_show(list->genlist);
+ /*packet genlist to box */
+ elm_box_pack_end(list->box, list->genlist);
+
+ evas_object_data_set(list->genlist, "list_data", list);
+
+ if (!list->itc) {
+ list->itc = elm_genlist_item_class_new();
+ if (list->itc) {
+ list->itc->item_style = "type1";
+ list->itc->func.text_get = _mp_track_list_label_get;
+ list->itc->func.content_get = _mp_track_list_icon_get;
+ list->itc->func.del = _mp_track_list_item_del_cb;
+ }
+ }
+
+ if (list->reorderable) {
+ evas_object_smart_callback_add(list->genlist, "moved",
+ mp_list_item_reorder_moved_cb,
+ list);
+ }
+
+ evas_object_smart_callback_add(list->genlist, "scroll,drag,start",
+ list->drag_start_cb, list);
+ evas_object_smart_callback_add(list->genlist, "scroll,drag,stop",
+ list->drag_stop_cb, list);
+ evas_object_smart_callback_add(list->genlist, "highlighted",
+ _mp_track_list_item_highlighted,
+ list);
+ evas_object_smart_callback_add(list->genlist, "unhighlighted",
+ _mp_track_list_item_unhighlighted,
+ list);
+
+ PROFILE_OUT("elm_genlist_add");
+ /* load list */
+ PROFILE_IN("_mp_track_list_load_list");
+ _mp_track_list_load_list(thiz, count);
+ list->show_fastscroll(list);
+ PROFILE_OUT("_mp_track_list_load_list");
+
+ if (!mp_list_get_editable_count(thiz, mp_list_get_edit_type(thiz))) {
+ goto NoContents;
+ }
+
+ return;
+ }
+
+ NoContents:
+ list->hide_fastscroll(list);
+ mp_evas_object_del(list->genlist);
+ if (!list->no_content) {
+ if (list->track_type > MP_TRACK_TYPE_PLAYLIST_MIN
+ && list->track_type < MP_TRACK_TYPE_PLAYLIST_MAX) {
+ char *helptext = NULL;
+ Evas_Smart_Cb callback = NULL;
+ void *cb_data = NULL;
+
+ if (list->track_type == MP_TRACK_BY_PLAYLIST) {
+ char *playlist_name = NULL;
+ mp_media_info_group_get_main_info(list->playlist_handle,
+ &playlist_name);
+ char *title = elm_entry_utf8_to_markup(playlist_name);
+ helptext =
+ g_strdup_printf(GET_STR
+ (STR_MP_YOU_CAN_ADD_TRACKS_THE_PLAYLIST_PD),
+ title);
+ IF_FREE(title);
+ } else if (list->track_type == MP_TRACK_BY_FAVORITE) {
+ helptext =
+ g_strdup(STR_MP_AFTER_YOU_ADD_TRACK_TO_FAVOURITE);
+ } else if (list->track_type == MP_TRACK_BY_PLAYED_COUNT
+ || list->track_type == MP_TRACK_BY_PLAYED_TIME) {
+ helptext =
+ g_strdup
+ (STR_MP_AFTER_YOU_PLAY_TRACKS_THEY_WILL_BE_SHOWN);
+ } else if (list->track_type == MP_TRACK_BY_ADDED_TIME) {
+ helptext = g_strdup(STR_MP_AFTER_YOU_DOWNLOAD_TRACKS);
+ }
+
+ list->no_content =
+ mp_widget_create_no_content_playlist(list->box, helptext,
+ callback, cb_data);
+ IF_FREE(helptext);
+ } else {
+ list->no_content =
+ mp_widget_create_no_contents(list->box,
+ MP_NOCONTENT_TRACKS, NULL,
+ list);
+ }
+ elm_box_pack_end(list->box, list->no_content);
+ }
+}
+
+static mp_track_type_e _mp_track_list_get_track_type(void *thiz)
+{
+ MpTrackList_t *list = thiz;
+ MP_CHECK_VAL(list, MP_TRACK_ALL);
+ return list->track_type;
+}
+
+static void *_mp_track_list_get_handle(void *thiz)
+{
+ MpTrackList_t *list = thiz;
+ MP_CHECK_NULL(list);
+ return list->playlist_handle;
+}
+
+static const char *_get_label(void *thiz, void *event_info)
+{
+ MpTrackList_t *list = thiz;
+ MP_CHECK_NULL(list);
+ char *title = NULL;
+
+ mp_list_item_data_t *track = elm_object_item_data_get(event_info);
+ MP_CHECK_NULL(track);
+
+ mp_media_info_get_title(track->handle, &title);
+ return title;
+}
+
+static void _mp_track_list_set_edit(void *thiz, bool edit)
+{
+ startfunc;
+ MpTrackList_t *list = thiz;
+ MP_CHECK(list);
+
+ mp_track_list_show_shuffle(list, false);
+
+ /* check DRM FL */
+ if (mp_list_get_edit_type((MpList_t *) list) ==
+ MP_LIST_EDIT_TYPE_SHARE) {
+ _mp_track_list_update(list);
+ }
+
+ if (edit && list->albumart_index_item) {
+ elm_object_item_del(list->albumart_index_item);
+ list->albumart_index_item = NULL;
+ }
+
+ if (list->set_edit_default) {
+ list->set_edit_default(list, edit);
+ }
+
+ if (!edit) {
+ mp_track_list_update_albumart_index(list);
+ }
+}
+
+static unsigned int
+_mp_track_list_get_editable_count(void *thiz, MpListEditType_e type)
+{
+ MpTrackList_t *list = thiz;
+ MP_CHECK_VAL(list->genlist, 0);
+
+ int count = elm_genlist_items_count(list->genlist);
+
+ if (type == MP_LIST_EDIT_TYPE_SHARE) {
+ Elm_Object_Item *gl_item =
+ elm_genlist_first_item_get(list->genlist);
+ while (gl_item) {
+ mp_list_item_data_t *item_data =
+ elm_object_item_data_get(gl_item);
+ if (item_data && item_data->handle) {
+ char *path = NULL;
+ mp_media_info_get_file_path(item_data->handle, &path);
+ }
+
+ gl_item = elm_genlist_item_next_get(gl_item);
+ }
+ }
+
+ if (list->shuffle_it) {
+ --count;
+ }
+
+ if (list->bottom_counter_item) {
+ --count;
+ }
+
+ return count;
+}
+
+static char *_mp_track_list_bottom_counter_text_cb(void *thiz)
+{
+ MpTrackList_t *list = thiz;
+ MP_CHECK_NULL(list);
+
+ unsigned int count =
+ mp_list_get_editable_count((MpList_t *) list,
+ mp_list_get_edit_type((MpList_t *)
+ list));
+
+ char *text = NULL;
+ if (count == 1) {
+ text = g_strdup(GET_STR(STR_MP_1_SONG));
+ } else {
+ text = g_strdup_printf(GET_STR(STR_MP_PD_SONGS), count);
+ }
+
+ return text;
+}
+
+static mp_group_type_e _mp_track_list_get_group_type(void *thiz)
+{
+ MpTrackList_t *list = thiz;
+ MP_CHECK_VAL(list, MP_GROUP_NONE);
+ return MP_GROUP_NONE;
+}
+
+
+MpTrackList_t *mp_track_list_create(Evas_Object * parent)
+{
+ eventfunc;
+ MP_CHECK_NULL(parent);
+
+ MpTrackList_t *list = calloc(1, sizeof(MpTrackList_t));
+ MP_CHECK_NULL(list);
+
+ mp_list_init((MpList_t *) list, parent, MP_LIST_TYPE_TRACK);
+
+ list->update = _mp_track_list_update;
+ list->destory_cb = _mp_track_list_destory_cb;
+ list->get_track_type = _mp_track_list_get_track_type;
+ list->get_group_type = _mp_track_list_get_group_type;
+ list->get_playlist_handle = _mp_track_list_get_handle;
+ list->get_label = _get_label;
+
+ list->set_edit_default = list->set_edit;
+ list->set_edit = _mp_track_list_set_edit;
+ list->get_count = _mp_track_list_get_editable_count;
+
+ list->bottom_counter_text_get_cb =
+ _mp_track_list_bottom_counter_text_cb;
+
+ return list;
+}
+
+static void _set_playlist_handle(MpTrackList_t * list)
+{
+ int res = 0;
+ int i, count = 0;
+ mp_media_list_h media_list = NULL;
+ mp_media_info_h media = NULL;
+
+ res =
+ mp_media_info_group_list_count(MP_GROUP_BY_PLAYLIST, NULL, NULL,
+ &count);
+ MP_CHECK(res == 0);
+
+ res =
+ mp_media_info_group_list_create(&media_list, MP_GROUP_BY_PLAYLIST,
+ NULL, NULL, 0, count);
+ MP_CHECK(res == 0);
+
+ for (i = 0; i < count; i++) {
+ int playlist_id;
+ media = mp_media_info_group_list_nth_item(media_list, i);
+ mp_media_info_group_get_playlist_id(media, &playlist_id);
+ if (playlist_id == list->playlist_id) {
+ break;
+ }
+ }
+ if (list->playlists) {
+ mp_media_info_group_list_destroy(list->playlists);
+ }
+
+ list->playlists = media_list;
+ list->playlist_handle = media;
+}
+
+
+void mp_track_list_set_data(MpTrackList_t * list, ...)
+{
+ startfunc;
+ MP_CHECK(list);
+
+ va_list var_args;
+ int field;
+
+ va_start(var_args, list);
+ do {
+ field = va_arg(var_args, int);
+ DEBUG_TRACE("field is %d", field);
+
+ switch (field) {
+ case MP_TRACK_LIST_TYPE:{
+ int val = va_arg((var_args), int);
+
+ list->track_type = val;
+ DEBUG_TRACE("list->track_type = %d", list->track_type);
+ break;
+ }
+
+ case MP_TRACK_LIST_PLAYLIT_ID:{
+ int val = va_arg((var_args), int);
+ list->playlist_id = val;
+ DEBUG_TRACE("list->playlist_id = %d", list->playlist_id);
+
+ _set_playlist_handle(list);
+
+ break;
+ }
+
+ case MP_TRACK_LIST_TYPE_STR:{
+ char *val = va_arg((var_args), char *);
+ SAFE_FREE(list->type_str);
+ list->type_str = g_strdup(val);
+ DEBUG_TRACE("list->type_str = %s", list->type_str);
+
+ break;
+ }
+ case MP_TRACK_LIST_TYPE_STR2:{
+ char *val = va_arg((var_args), char *);
+ SAFE_FREE(list->type_str2);
+ list->type_str2 = g_strdup(val);
+ DEBUG_TRACE("list->type_str = %s", list->type_str2);
+
+ break;
+ }
+ case MP_TRACK_LIST_FILTER_STR:{
+ char *val = va_arg((var_args), char *);
+ SAFE_FREE(list->filter_str);
+ list->filter_str = g_strdup(val);
+ DEBUG_TRACE("list->filter_str = %s", list->filter_str);
+
+ break;
+ }
+ case MP_TRACK_LIST_INDEX_TYPE:{
+ int val = va_arg((var_args), int);
+ list->index_type = (MpTrackListIndex_t) val;
+ DEBUG_TRACE("list->index_type = %d", list->index_type);
+ break;
+ }
+ case MP_TRACK_LIST_CLOUD_TYPE:{
+ int val = va_arg((var_args), int);
+ list->cloud_view_type = val;
+ DEBUG_TRACE("list->index_type = %d", list->index_type);
+ break;
+ }
+ case MP_TRACK_LIST_CHECKED_LIST:{
+ GList *val = va_arg((var_args), GList *);
+ list->checked_path_list = val;
+ list->get_by_view = true;
+ break;
+ }
+
+ default:
+ DEBUG_TRACE("Invalid arguments");
+ }
+
+ } while (field >= 0);
+
+ va_end(var_args);
+}
+
+void mp_track_list_copy_data(MpTrackList_t * src, MpTrackList_t * dest)
+{
+ MP_CHECK(src);
+ MP_CHECK(dest);
+
+ dest->track_type = src->track_type;
+ dest->playlist_id = src->playlist_id;
+ _set_playlist_handle(dest);
+
+ SAFE_FREE(dest->type_str);
+ dest->type_str = g_strdup(src->type_str);
+
+ SAFE_FREE(dest->type_str2);
+ dest->type_str2 = g_strdup(src->type_str2);
+
+ SAFE_FREE(dest->filter_str);
+ dest->filter_str = g_strdup(src->filter_str);
+
+ dest->index_type = src->index_type;
+ dest->cloud_view_type = src->cloud_view_type;
+}
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<manifest xmlns="http://tizen.org/ns/packages" api-version="3.0" package="org.tizen.music-player" version="1.0.0">
+ <profile name="mobile"/>
+ <ui-application appid="org.tizen.music-player" exec="music-player" hw-acceleration="on" multiple="false" nodisplay="false" taskmanage="true" type="capp">
+ <label>Music</label>
+ <label xml:lang="hy-am">Երաժշտություն</label>
+ <label xml:lang="az-az">Musiqi</label>
+ <label xml:lang="eu-es">Musika</label>
+ <label xml:lang="bg-bg">Музика</label>
+ <label xml:lang="ca-es">Música</label>
+ <label xml:lang="zh-cn">音乐</label>
+ <label xml:lang="zh-hk">音樂</label>
+ <label xml:lang="zh-tw">音樂</label>
+ <label xml:lang="hr-hr">Glazba</label>
+ <label xml:lang="cs-cz">Hudba</label>
+ <label xml:lang="da-dk">Musik</label>
+ <label xml:lang="nl-nl">Muziek</label>
+ <label xml:lang="en-gb">Music</label>
+ <label xml:lang="en-us">Music</label>
+ <label xml:lang="et-ee">Muusika</label>
+ <label xml:lang="fi-fi">Musiikki</label>
+ <label xml:lang="fr-fr">Musique</label>
+ <label xml:lang="gl-es">Música</label>
+ <label xml:lang="ka-ge">მუსიკა</label>
+ <label xml:lang="de-de">Musik</label>
+ <label xml:lang="el-gr">Μουσική</label>
+ <label xml:lang="hu-hu">Zenék</label>
+ <label xml:lang="is-is">Tónlist</label>
+ <label xml:lang="ga-ie">Ceol</label>
+ <label xml:lang="it-it">Musica</label>
+ <label xml:lang="ja-jp">音楽</label>
+ <label xml:lang="kk-kz">Музыка</label>
+ <label xml:lang="ko-kr">음악</label>
+ <label xml:lang="lv-lv">Mūzika</label>
+ <label xml:lang="lt-lt">Muzika</label>
+ <label xml:lang="mk-mk">Музика</label>
+ <label xml:lang="nb-no">Musikk</label>
+ <label xml:lang="pl-pl">Muzyka</label>
+ <label xml:lang="pt-pt">Música</label>
+ <label xml:lang="pt-br">Músicas</label>
+ <label xml:lang="ro-ro">Muzică</label>
+ <label xml:lang="ru-ru">Музыка</label>
+ <label xml:lang="sr-rs">Muzika</label>
+ <label xml:lang="sk-sk">Hudba</label>
+ <label xml:lang="sl-si">Glasba</label>
+ <label xml:lang="es-es">Música</label>
+ <label xml:lang="es-us">Música</label>
+ <label xml:lang="sv-se">Musik</label>
+ <label xml:lang="tr-tr">Müzik</label>
+ <label xml:lang="uk-ua">Музика</label>
+ <label xml:lang="uz-uz">Musiqa</label>
+ <label xml:lang="ar-ae">الموسيقى</label>
+ <label xml:lang="zh-sg">音乐</label>
+ <label xml:lang="hi-in">संगीत</label>
+ <label xml:lang="en-ph">Music</label>
+ <label xml:lang="fr-ca">Musique</label>
+ <icon>org.tizen.music-player.png</icon>
+ <background-category value="media"/>
+ </ui-application>
+ <privileges>
+ <privilege>http://tizen.org/privilege/mediastorage</privilege>
+ <privilege>http://tizen.org/privilege/telephony</privilege>
+ <privilege>http://tizen.org/privilege/network.get</privilege>
+ <privilege>http://tizen.org/privilege/appmanager.launch</privilege>
+ <privilege>http://tizen.org/privilege/volume.set</privilege>
+ <privilege>http://tizen.org/privilege/notification</privilege>
+ <privilege>http://tizen.org/privilege/display</privilege>
+ <privilege>http://tizen.org/privilege/externalstorage.appdata</privilege>
+ <privilege>http://tizen.org/privilege/recorder</privilege>
+ <privilege>http://tizen.org/privilege/externalstorage</privilege>
+ <privilege>http://tizen.org/privilege/content.write</privilege>
+ </privileges>
+</manifest>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
+ <storageModule moduleId="org.eclipse.cdt.core.settings">
+ <cconfiguration id="org.tizen.nativecore.config.sbi.gcc45.app.debug.1829491638">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecore.config.sbi.gcc45.app.debug.1829491638" moduleId="org.eclipse.cdt.core.settings" name="Debug">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.tizen.nativecore.NativeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactName="music-player-widget" buildArtefactType="org.tizen.nativecore.buildArtefactType.app" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecore.buildArtefactType.app,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;" id="org.tizen.nativecore.config.sbi.gcc45.app.debug.1829491638" name="Debug" parent="org.tizen.nativecore.config.sbi.gcc45.app.debug">
+ <folderInfo id="org.tizen.nativecore.config.sbi.gcc45.app.debug.1829491638." name="/" resourcePath="">
+ <toolChain id="org.tizen.nativecore.toolchain.sbi.gcc45.app.debug.1288036338" name="Tizen Native Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.app.debug">
+ <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.725368284" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+ <builder autoBuildTarget="all" buildPath="${workspace_loc:/music-player/widget}/Debug" enableAutoBuild="true" id="org.tizen.nativecore.target.sbi.gnu.builder.345781274" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Tizen Application Builder" superClass="org.tizen.nativecore.target.sbi.gnu.builder"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.408557622" name="Archiver" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.1080407864" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler">
+ <option id="gnu.cpp.compiler.option.optimization.level.1512568014" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
+ <option defaultValue="gnu.cpp.compiler.debugging.level.max" id="sbi.gnu.cpp.compiler.option.debugging.level.core.1385509156" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core" valueType="enumerated"/>
+ <option id="sbi.gnu.cpp.compiler.option.154047987" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-3.0-device.core_llvm36.armel.core.app"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.1808311143" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/libxml2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appcore-agent""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appfw""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/attach-panel""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/badge""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/base""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/cairo""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/calendar-service2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/chromium-ewk""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ckm""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/contacts-svc""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/content""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/context-service""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dali""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dali-toolkit""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dbus-1.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/device""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dlog""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-buffer-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-con-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-file-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-imf-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-imf-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-input-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-input-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-ipc-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ector-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/e_dbus-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/edje-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eet-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efl-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efl-extension""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efreet-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eina-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eina-1/eina""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eio-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eldbus-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/elementary-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/embryo-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/emile-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eo-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eom""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ethumb-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ethumb-client-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/feedback""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/fontconfig""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/freetype2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/geofence""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/gio-unix-2.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/glib-2.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/harfbuzz""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/iotcon""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/json-glib-1.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/location""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/maps""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/media""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/media-content""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/messaging""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/metadata-editor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/minicontrol""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/minizip""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/network""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/notification""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/nsd/""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/phonenumber-utils""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/sensor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/service-adaptor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/shortcut""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/storage""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/system""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/telephony""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ui""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/web""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_service""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_viewer_evas""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/wifi-direct""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/dbus-1.0/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/glib-2.0/include""/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.1885805070" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="${TC_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value="${RS_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value=" -fPIE"/>
+ <listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
+ <listOptionValue builtIn="false" value="-mthumb"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.include.paths.2131358057" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/${ProjName}/inc}""/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks.core.1089699253" name="Tizen-Frameworks" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.126677445" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+ </tool>
+ <tool command="clang" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.2127430647" name="C Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.c.compiler">
+ <option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.option.optimization.level.1166494964" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
+ <option defaultValue="gnu.c.debugging.level.max" id="sbi.gnu.c.compiler.option.debugging.level.core.927872777" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core" valueType="enumerated"/>
+ <option id="sbi.gnu.c.compiler.option.1640498846" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-3.0-device.core_llvm36.armel.core.app"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.2120572038" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/libxml2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appcore-agent""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appfw""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/attach-panel""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/badge""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/base""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/cairo""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/calendar-service2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/chromium-ewk""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ckm""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/contacts-svc""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/content""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/context-service""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dali""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dali-toolkit""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dbus-1.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/device""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dlog""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-buffer-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-con-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-file-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-imf-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-imf-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-input-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-input-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-ipc-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ector-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/e_dbus-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/edje-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eet-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efl-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efl-extension""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efreet-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eina-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eina-1/eina""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eio-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eldbus-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/elementary-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/embryo-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/emile-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eo-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eom""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ethumb-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ethumb-client-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/feedback""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/fontconfig""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/freetype2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/geofence""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/gio-unix-2.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/glib-2.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/harfbuzz""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/iotcon""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/json-glib-1.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/location""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/maps""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/media""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/media-content""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/messaging""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/metadata-editor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/minicontrol""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/minizip""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/network""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/notification""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/nsd/""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/phonenumber-utils""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/sensor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/service-adaptor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/shortcut""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/storage""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/system""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/telephony""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ui""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/web""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_service""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_viewer_evas""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/wifi-direct""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/dbus-1.0/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/glib-2.0/include""/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.1591116850" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="${TC_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value="${RS_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value=" -fPIE"/>
+ <listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
+ <listOptionValue builtIn="false" value="-mthumb"/>
+ </option>
+ <option id="gnu.c.compiler.option.include.paths.927315446" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/${ProjName}/inc}""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/libxml2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appcore-agent""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appfw""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/attach-panel""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/badge""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/base""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/cairo""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/calendar-service2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ckm""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/contacts-svc""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/content""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/context-service""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dali""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dali-toolkit""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dbus-1.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/device""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dlog""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-buffer-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-con-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-file-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-imf-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-imf-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-input-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-input-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-ipc-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ector-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/e_dbus-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/edje-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eet-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efl-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efl-extension""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efreet-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eina-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eina-1/eina""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eio-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eldbus-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/elementary-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/embryo-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/emile-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eo-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eom""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ethumb-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ethumb-client-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/feedback""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/fontconfig""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/freetype2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/geofence""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/gio-unix-2.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/glib-2.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/harfbuzz""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/iotcon""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/json-glib-1.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/location""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/maps""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/media""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/media-content""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/messaging""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/metadata-editor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/minicontrol""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/minizip""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/network""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/notification""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/phonenumber-utils""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/sensor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/service-adaptor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/shortcut""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/storage""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/system""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/telephony""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ui""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/web""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_service""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_viewer_evas""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/wifi-direct""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/dbus-1.0/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/glib-2.0/include""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/inc}""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/src/common/include}""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/chromium-ewk""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/nsd/""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/src/include}""/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks.core.1407496227" name="Tizen-Frameworks" superClass="sbi.gnu.c.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <option id="gnu.c.compiler.option.include.files.1811090650" name="Include files (-include)" superClass="gnu.c.compiler.option.include.files" valueType="includeFiles">
+ <listOptionValue builtIn="false" value=""${workspace_loc:/widget/include/mp_widget_debug.h}""/>
+ <listOptionValue builtIn="false" value=""${workspace_loc:/widget/inc/mp_widget.h}""/>
+ </option>
+ <option id="gnu.c.compiler.option.preprocessor.def.symbols.1672570068" name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="DATA_PREFIX='"/opt/home/owner/apps_rw/org.tizen.music-player"'"/>
+ <listOptionValue builtIn="false" value="SHAREDDIR='"/opt/home/owner/apps_rw/org.tizen.music-player/shared"'"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1137670065" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+ </tool>
+ <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.325865117" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.linker.1182305635" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
+ <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.core.412068163" name="Tizen-Frameworks-Other-Lflags" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="${TC_LINKER_MISC}"/>
+ <listOptionValue builtIn="false" value="${RS_LINKER_MISC}"/>
+ <listOptionValue builtIn="false" value="-pie -lpthread "/>
+ <listOptionValue builtIn="false" value="-Xlinker -rpath="/home/developer/sdk_tools/lib""/>
+ <listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
+ <listOptionValue builtIn="false" value="-Xlinker --version-script="${PROJ_PATH}/.exportMap""/>
+ <listOptionValue builtIn="false" value="-L"${SBI_SYSROOT}/usr/lib""/>
+ <listOptionValue builtIn="false" value="$(RS_LIBRARIES)"/>
+ </option>
+ <option id="gnu.cpp.link.option.paths.1386992891" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/${ProjName}/lib}""/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.490715806" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+ <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+ <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+ </inputType>
+ </tool>
+ <tool command="arm-linux-gnueabi-as" id="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.2012372536" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.1899564598" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.1688332651" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.cpp.490209602" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp"/>
+ <tool id="org.tizen.nativecore.tool.ast.2052941354" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast"/>
+ <tool id="org.tizen.nativecore.tool.ast.cpp.735182515" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.mergelib.1053424394" name="Archive Generator" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver.mergelib"/>
+ <tool id="org.tizen.nativecore.tool.sbi.po.compiler.1400739787" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
+ <tool id="org.tizen.nativecore.tool.sbi.edc.compiler.1847464351" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler">
+ <option id="sbi.gnu.edc.compiler.option.misc.id.976480809" name="Image Path (-id)" superClass="sbi.gnu.edc.compiler.option.misc.id" valueType="stringList">
+ <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/res/images}""/>
+ </option>
+ </tool>
+ </toolChain>
+ </folderInfo>
+ <sourceEntries>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="inc"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="res"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="shared"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
+ </sourceEntries>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ </cconfiguration>
+ <cconfiguration id="org.tizen.nativecore.config.sbi.gcc45.app.release.229755905">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecore.config.sbi.gcc45.app.release.229755905" moduleId="org.eclipse.cdt.core.settings" name="Release">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.tizen.nativecore.NativeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactName="org.tizen.music-player-widget" buildArtefactType="org.tizen.nativecore.buildArtefactType.app" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecore.buildArtefactType.app,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;" id="org.tizen.nativecore.config.sbi.gcc45.app.release.229755905" name="Release" parent="org.tizen.nativecore.config.sbi.gcc45.app.release">
+ <folderInfo id="org.tizen.nativecore.config.sbi.gcc45.app.release.229755905." name="/" resourcePath="">
+ <toolChain id="org.tizen.nativecore.toolchain.sbi.gcc45.app.release.2120348280" name="Tizen Native Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.app.release">
+ <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.690440491" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+ <builder buildPath="${workspace_loc:/music-player/widget}/Release" id="org.tizen.nativecore.target.sbi.gnu.builder.216635179" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Tizen Application Builder" superClass="org.tizen.nativecore.target.sbi.gnu.builder"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.825808407" name="Archiver" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.1841891071" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler">
+ <option id="gnu.cpp.compiler.option.optimization.level.1449752105" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/>
+ <option defaultValue="gnu.cpp.compiler.debugging.level.default" id="sbi.gnu.cpp.compiler.option.debugging.level.core.1037085589" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core" valueType="enumerated"/>
+ <option id="sbi.gnu.cpp.compiler.option.442333686" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-3.0-emulator.core_llvm36.i386.core.app"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.1287045878" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/libxml2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appcore-agent""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appfw""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/attach-panel""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/badge""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/base""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/cairo""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/calendar-service2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/chromium-ewk""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ckm""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/contacts-svc""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/content""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/context-service""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dali""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dali-toolkit""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dbus-1.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/device""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dlog""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-buffer-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-con-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-file-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-imf-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-imf-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-input-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-input-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-ipc-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ector-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/e_dbus-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/edje-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eet-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efl-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efl-extension""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efreet-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eina-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eina-1/eina""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eio-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eldbus-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/elementary-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/embryo-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/emile-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eo-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eom""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ethumb-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ethumb-client-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/feedback""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/fontconfig""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/freetype2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/geofence""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/gio-unix-2.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/glib-2.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/harfbuzz""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/iotcon""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/json-glib-1.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/location""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/maps""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/media""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/media-content""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/messaging""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/metadata-editor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/minicontrol""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/minizip""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/network""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/notification""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/nsd/""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/phonenumber-utils""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/sensor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/service-adaptor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/shortcut""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/storage""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/system""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/telephony""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ui""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/web""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_service""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_viewer_evas""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/wifi-direct""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/dbus-1.0/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/glib-2.0/include""/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.1201744241" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="${TC_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value="${RS_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value=" -fPIE"/>
+ <listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
+ </option>
+ <option id="gnu.cpp.compiler.option.include.paths.1179135346" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/${ProjName}/inc}""/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks.core.657214250" name="Tizen-Frameworks" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.2083025634" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+ </tool>
+ <tool command="clang" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.416571211" name="C Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.c.compiler">
+ <option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.option.optimization.level.665441786" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
+ <option defaultValue="gnu.c.debugging.level.default" id="sbi.gnu.c.compiler.option.debugging.level.core.1790071454" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core" valueType="enumerated"/>
+ <option id="sbi.gnu.c.compiler.option.148653172" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-3.0-emulator.core_llvm36.i386.core.app"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.1165350249" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/libxml2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appcore-agent""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/appfw""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/attach-panel""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/badge""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/base""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/cairo""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/calendar-service2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/chromium-ewk""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ckm""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/contacts-svc""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/content""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/context-service""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dali""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dali-toolkit""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dbus-1.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/device""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/dlog""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-buffer-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-con-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-file-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-imf-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-imf-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-input-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-input-evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ecore-ipc-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ector-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/e_dbus-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/edje-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eet-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efl-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efl-extension""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/efreet-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eina-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eina-1/eina""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eio-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eldbus-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/elementary-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/embryo-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/emile-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eo-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/eom""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ethumb-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ethumb-client-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/evas-1""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/feedback""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/fontconfig""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/freetype2""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/geofence""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/gio-unix-2.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/glib-2.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/harfbuzz""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/iotcon""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/json-glib-1.0""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/location""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/maps""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/media""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/media-content""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/messaging""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/metadata-editor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/minicontrol""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/minizip""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/network""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/notification""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/nsd/""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/phonenumber-utils""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/sensor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/service-adaptor""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/shortcut""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/storage""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/system""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/telephony""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/ui""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/web""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_service""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/widget_viewer_evas""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/wifi-direct""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/dbus-1.0/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/glib-2.0/include""/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.639257949" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="${TC_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value="${RS_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value=" -fPIE"/>
+ <listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
+ </option>
+ <option id="gnu.c.compiler.option.include.paths.1899428530" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/${ProjName}/inc}""/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks.core.207621812" name="Tizen-Frameworks" superClass="sbi.gnu.c.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.267540840" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+ </tool>
+ <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.68283565" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.linker.1937391173" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
+ <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.core.1894937110" name="Tizen-Frameworks-Other-Lflags" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="${TC_LINKER_MISC}"/>
+ <listOptionValue builtIn="false" value="${RS_LINKER_MISC}"/>
+ <listOptionValue builtIn="false" value="-pie -lpthread "/>
+ <listOptionValue builtIn="false" value="-Xlinker -rpath="/home/developer/sdk_tools/lib""/>
+ <listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
+ <listOptionValue builtIn="false" value="-Xlinker --version-script="${PROJ_PATH}/.exportMap""/>
+ <listOptionValue builtIn="false" value="-L"${SBI_SYSROOT}/usr/lib""/>
+ <listOptionValue builtIn="false" value="$(RS_LIBRARIES)"/>
+ </option>
+ <option id="gnu.cpp.link.option.paths.976978533" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
+ <listOptionValue builtIn="false" value=""${workspace_loc:/music-player/${ProjName}/lib}""/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.2140580950" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+ <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+ <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+ </inputType>
+ </tool>
+ <tool command="i386-linux-gnueabi-as" id="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.638431143" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.924897736" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.1637515825" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.cpp.211043450" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp"/>
+ <tool id="org.tizen.nativecore.tool.ast.252666325" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast"/>
+ <tool id="org.tizen.nativecore.tool.ast.cpp.1107306808" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.mergelib.416412943" name="Archive Generator" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver.mergelib"/>
+ <tool id="org.tizen.nativecore.tool.sbi.po.compiler.1088742421" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
+ <tool id="org.tizen.nativecore.tool.sbi.edc.compiler.1129001746" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler"/>
+ </toolChain>
+ </folderInfo>
+ <sourceEntries>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="inc"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="res"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="shared"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
+ </sourceEntries>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ </cconfiguration>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <project id="widget.org.tizen.nativecore.target.sbi.gcc45.app.291763267" name="Tizen Native Application" projectType="org.tizen.nativecore.target.sbi.gcc45.app"/>
+ </storageModule>
+ <storageModule moduleId="scannerConfiguration">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+ <scannerConfigBuildInfo instanceId="org.tizen.nativecore.config.sbi.gcc45.app.release.229755905">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+ </scannerConfigBuildInfo>
+ <scannerConfigBuildInfo instanceId="org.tizen.nativecore.config.sbi.gcc45.app.debug.1829491638">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+ </scannerConfigBuildInfo>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
+ <storageModule moduleId="refreshScope"/>
+</cproject>
--- /dev/null
+{
+ global: main;
+ local: *;
+};
--- /dev/null
+/Debug
+/SA_Report
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>widget</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
+ <triggers>full,incremental,</triggers>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.cdt.core.cnature</nature>
+ <nature>org.eclipse.cdt.core.ccnature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
+ </natures>
+ <linkedResources>
+ <link>
+ <name>common</name>
+ <type>2</type>
+ <locationURI>PARENT-1-PROJECT_LOC/src/common</locationURI>
+ </link>
+ </linkedResources>
+ <filteredResources>
+ <filter>
+ <id>1460438799747</id>
+ <name></name>
+ <type>26</type>
+ <matcher>
+ <id>org.eclipse.ui.ide.multiFilter</id>
+ <arguments>1.0-projectRelativePath-matches-false-false-*/.tpk</arguments>
+ </matcher>
+ </filter>
+ <filter>
+ <id>1460438799750</id>
+ <name></name>
+ <type>6</type>
+ <matcher>
+ <id>org.eclipse.ui.ide.multiFilter</id>
+ <arguments>1.0-name-matches-false-false-project_def.prop</arguments>
+ </matcher>
+ </filter>
+ </filteredResources>
+</projectDescription>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<tproject xmlns="http://www.tizen.org/tproject">
+ <platforms>
+ <platform>
+ <name>mobile-3.0</name>
+ </platform>
+ </platforms>
+ <package>
+ <blacklist/>
+ <resFallback autoGen="true"/>
+ </package>
+</tproject>
--- /dev/null
+# Appendix\r
--- /dev/null
+# Add inputs and outputs from these tool invocations to the build variables
+
+
+OS_NAME := $(shell $(UNAME))
+
+
+#ifeq ($(origin BUILD_CONFIG), undefined)
+BUILD_CONFIG ?= Debug
+#endif
+
+#ifeq ($(origin ARCH), undefined)
+ARCH ?= i386
+#endif
+
+#ifeq ($(origin PROJPATH), undefined)
+PROJPATH ?= .
+#endif
+
+
+#ifeq ($(origin PROJ_PATH), undefined)
+PROJ_PATH ?= $(PROJPATH)
+#endif
+
+#ifeq ($(strip $(OUTPUT_DIR)),)
+#OUTPUT_DIR ?= $(PROJ_PATH)/$(BUILD_CONFIG)
+#endif
+
+#ifeq ($(strip $(BUILD_ARCH)),)
+BUILD_ARCH ?= $(ARCH)
+#endif
+
+#ifeq ($(strip $(ENVENTOR_PATH)),)
+ENVENTOR_PATH ?= $(SDK_TOOLPATH)/enventor
+#endif
--- /dev/null
+# C/C++ build script
+
+
+_FUNC_EXT2O = $(patsubst %.$(3),$(1)/%.o,$(2))
+_FUNC_C2O = $(call _FUNC_EXT2O,$(1),$(2),c)
+_FUNC_CPP2O = $(call _FUNC_EXT2O,$(1),$(2),cpp)
+
+
+# parameter :
+# $(1) - C/C++ soruce file
+# $(2) - output path
+# $(3) - .ext
+# $(4) - unique id
+CONVERT_ESC_EXT_TO_O = $(addprefix $(2)/,$(notdir $(patsubst %.$(3),%-$(4).o,$(1))))
+
+#CONVERT_ESC_C_TO_O = $(call CONVERT_ESC_EXT_TO_O,$(1),$(2),c)
+#CONVERT_ESC_CPP_TO_O = $(call CONVERT_ESC_EXT_TO_O,$(1),$(2),cpp)
+
+
+# parameter :
+# $(1) - encoded one C/C++ soruce file
+# $(2) - output path
+# $(3) - ext title (C/C++)
+# $(4) - ext (c/cpp)
+# $(5) - compiler ($(CC)/$(CXX))
+# $(6) - build opt
+# $(7) - build opt file
+# output :
+# $(8) - output files list
+define C_BUILD_PROC_RAW
+$(call CONVERT_ESC_EXT_TO_O,$(1),$(2),$(4),$(8)) : $(call DECODE_4MAKE,$(1)) $(7)
+ @echo ' Building file: $$<'
+ @echo ' Invoking: $(3) Compiler'
+ $$(call MAKEDIRS,$$(@D))
+ $(5) -c "$$<" -o "$$@" $(6) -Wp,@$(7)
+ @echo ' Finished building: $$<'
+$(9) += $(call CONVERT_ESC_EXT_TO_O,$(1),$(2),$(4),$(8))
+endef
+
+
+# parameter :
+# $(1) - output paths
+# $(2) - src paths
+# $(3) - inc paths
+# $(4) - inc files
+# $(5) - Defs
+# $(6) - UnDefs
+# $(7) - compiler opt
+# $(8) - compiler opt file
+# $(9) - ext title (C/C++)
+# $(10) - ext (c/cpp)
+# $(11) - compiler ($(CC)/$(CXX))
+# output :
+# $(12) - OBJS
+# return :
+# none
+define C_PROC_RAW
+
+_OUTPUT_DIR := $$(strip $(1))#
+_SRCS := $(2)#
+_INCS := $(3)#
+_INC_FILES := $(4)#
+_DEFS := $(5)#
+_UNDEFS := $(6)#
+
+_OPT := $(7)
+_OPT_FILE := $(8)
+
+_EXT_TITLE := $(9)
+_EXT := $(10)
+_COMPILER := $(11)
+
+#_OUTPUT_FILES := $(12)
+
+_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_SRCS))
+_ENC_SRCS := $$(filter %.$$(_EXT),$$(_ENC_SRCS))
+
+ifneq ($$(strip $$(_SRCS)),)
+
+_NORMAL_SRCS := $$(filter-out %*.$$(_EXT),$$(_ENC_SRCS))
+_WIDLCARD_SRCS := $$(filter %*.$$(_EXT),$$(_ENC_SRCS))
+
+_ALL_SRCS := $$(call DECODE_4MAKE,$$(_NORMAL_SRCS)) \
+ $$(foreach var,$$(_WIDLCARD_SRCS),$$(call FIND_FILES_4MAKE,$$(call DECODE_4MAKE,$$(var))))
+
+ifneq ($$(strip $$(_ALL_SRCS)),)
+
+_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_ALL_SRCS))
+
+_CDEFS := $$(CDEFS)
+_CDEFS += $$(addprefix -D,$$(_DEFS))
+_CDEFS += $$(addprefix -U,$$(_UNDEFS))
+
+_ENC_C_INCS := $$(call ENCODE_4MAKE,$$(_INCS))
+_ENC_C_INCS := $$(addprefix -I,$$(_ENC_C_INCS))
+
+_ENC_INC_FILES := $$(call ENCODE_4MAKE,$$(_INC_FILES))
+_ENC_INC_FILES += $$(addprefix -include,$$(_ENC_INC_FILES))
+
+_C_INCS := $$(call DECODE_4MAKE,$$(_ENC_C_INCS) $$(_ENC_C_INC_FILES))
+
+_DEFS := $$(_CDEFS) $$(_C_INCS) -I"pch" $$(_OPT)
+
+_UNIQUE_ID = $$(firstword $$(shell echo $$(var) | $$(CKSUM)))
+
+$$(foreach var,$$(_ENC_SRCS),$$(eval $$(call C_BUILD_PROC_RAW,$$(var),$$(_OUTPUT_DIR),$$(_EXT_TITLE),$$(_EXT),$$(_COMPILER),$$(_DEFS),$$(_OPT_FILE),$$(_UNIQUE_ID),$(12))))
+
+endif # (_(strip _(_ALL_SRCS)),)
+
+endif # (_(strip _(_SRCS)),)
+
+
+endef
--- /dev/null
+# EDC build script
+
+
+FUNC_EDC2EDJ = $(patsubst %.edc,$(2)/%.edj,$(1))
+
+# parameter :
+# $(1) - C/C++ soruce file
+# $(2) - output path
+CONVERT_ESC_EDC_TO_EDJ = $(call CONVERT_4MAKE_TO_OUT,$(call FUNC_EDC2EDJ,$(1),$(2)))
+
+
+# parameter :
+# $(1) - encoded one C/C++ soruce file
+# $(2) - output path
+# $(3) - build opt
+# output :
+# $(4) - output files list
+define EDJ_BUILD_PROC_RAW
+$(call CONVERT_ESC_EDC_TO_EDJ,$(1),$(2)) : $(call DECODE_4MAKE,$(1))
+ @echo ' Building file: $$<'
+ @echo ' Invoking: EDC Resource Compiler'
+ $$(call MAKEDIRS,$$(@D))
+ $$(EDJE_CC) $(3) "$$<" "$$@"
+ @echo ' Finished building: $$<'
+$(4) += $(call CONVERT_ESC_EDC_TO_EDJ,$(1),$(2))
+endef
+
+
+# parameter :
+# $(1) - output paths
+# $(2) - src paths
+# $(3) - image inc paths
+# $(4) - sound inc paths
+# $(5) - font inc paths
+# output :
+# $(6) - OBJS
+# return :
+# none
+define EDJ_PROC_RAW
+
+_OUTPUT_DIR := $$(strip $(1))#
+_SRCS := $(2)#
+_IMAGE_DIRS := $(3)#
+_SOUND_DIRS := $(4)#
+_FONT_DIRS := $(5)#
+
+ifneq ($$(strip $$(_SRCS)),)
+
+_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_SRCS))
+
+_NORMAL_SRCS := $$(filter-out %*.edc,$$(_ENC_SRCS))
+_WIDLCARD_SRCS := $$(filter %*.edc,$$(_ENC_SRCS))
+
+_ALL_SRCS := $$(call DECODE_4MAKE,$$(_NORMAL_SRCS)) \
+ $$(foreach var,$$(_WIDLCARD_SRCS),$$(call FIND_FILES_4MAKE,$$(call DECODE_4MAKE,$$(var))))
+
+ifneq ($$(strip $$(_ALL_SRCS)),)
+
+_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_ALL_SRCS))
+
+_COMPILER_FLAGS := -id "$$(ENVENTOR_SHARED_RES_PATH)/images"
+_COMPILER_FLAGS += -sd "$$(ENVENTOR_SHARED_RES_PATH)/sounds"
+_COMPILER_FLAGS += -fd "$$(ENVENTOR_SHARED_RES_PATH)/fonts"
+
+ifneq ($$(strip $$(_IMAGE_DIRS)),)
+_COMPILER_FLAGS += $$(addprefix -id ,$$(_IMAGE_DIRS))
+endif
+ifneq ($$(strip $$(_SOUND_DIRS)),)
+_COMPILER_FLAGS += $$(addprefix -sd ,$$(_SOUND_DIRS))
+endif
+ifneq ($$(strip $$(_FONT_DIRS)),)
+_COMPILER_FLAGS += $$(addprefix -fd ,$$(_FONT_DIRS))
+endif
+
+$$(foreach var,$$(_ENC_SRCS),$$(eval $$(call EDJ_BUILD_PROC_RAW,$$(var),$$(_OUTPUT_DIR),$$(_COMPILER_FLAGS),$(6))))
+
+endif # (_(strip _(_ALL_SRCS)),)
+
+endif # (_(strip _(_SRCS)),)
+
+endef
--- /dev/null
+# PO build script
+
+
+_FUNC_PO2MO = $(patsubst %.po,$(2)/res/locale/%/LC_MESSAGES/$(3).mo,$(notdir $(1)))
+
+
+# parameter :
+# $(1) - C/C++ soruce file
+# $(2) - output path
+# $(3) - app name
+CONVERT_ESC_PO_TO_MO = $(call CONVERT_4MAKE_TO_OUT,$(call _FUNC_PO2MO,$(1),$(2),$(3)))
+
+
+# parameter :
+# $(1) - encoded one C/C++ soruce file
+# $(2) - output path
+# $(3) - app name
+# output :
+# $(4) - output files list
+define MO_BUILD_PROC_RAW
+$(call CONVERT_ESC_PO_TO_MO,$(1),$(2),$(3)) : $(call DECODE_4MAKE,$(1))
+ @echo ' Building file: $$<'
+ @echo ' Invoking: msgfmt String Formatter'
+ $$(call MAKEDIRS,$$(@D))
+ $$(MSGFMT) -o "$$@" "$$<"
+ @echo ' Finished building: $$<'
+$(4) += $(call CONVERT_ESC_PO_TO_MO,$(1),$(2),$(3))
+endef
+
+
+# parameter :
+# $(1) - output dir
+# $(2) - src paths
+# $(3) - app name
+# output :
+# $(4) - OBJS
+
+define MO_PROC_RAW
+
+_OUTPUT_DIR := $(1)
+_SRCS := $(2)
+_APPNAME := $(3)
+
+ifneq ($$(strip $$(_SRCS)),)
+
+_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_SRCS))
+
+_NORMAL_SRCS := $$(filter-out %*.po,$$(_ENC_SRCS))
+_WIDLCARD_SRCS := $$(filter %*.po,$$(_ENC_SRCS))
+
+_ALL_SRCS := $$(call DECODE_4MAKE,$$(_NORMAL_SRCS)) \
+ $$(foreach var,$$(_WIDLCARD_SRCS),$$(call FIND_FILES_4MAKE,$$(call DECODE_4MAKE,$$(var))))
+
+ifneq ($$(strip $$(_ALL_SRCS)),)
+
+_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_ALL_SRCS))
+
+$$(foreach var,$$(_ENC_SRCS),$$(eval $$(call MO_BUILD_PROC_RAW,$$(var),$$(_OUTPUT_DIR),$$(_APPNAME),$(4))))
+
+endif # (_(strip _(_ALL_SRCS)),)
+
+endif # (_(strip _(_SRCS)),)
+
+endef
--- /dev/null
+
+DEBUG_OP = -g3
+CPP_DEBUG_OP =
+
+OPTIMIZATION_OP = -O0
+CPP_OPTIMIZATION_OP =
+
+COMPILE_FLAGS = $(DEBUG_OP) $(OPTIMIZATION_OP) -Wall -c -fmessage-length=0 -fPIC
+
+CPP_COMPILE_FLAGS = $(CPP_DEBUG_OP) $(CPP_OPTIMIZATION_OP)
+
+LINK_FLAGS = -shared -Wl,--no-undefined
+
+AR_FLAGS =
+
+EDC_COMPILE_FLAGS =
\ No newline at end of file
--- /dev/null
+
+BSLASH := \\#
+NULL_CHAR := #
+SPACE := \ #
+COLON := :#
+DOTDOT := ..#
+SPACE_ESC := &sp;#
+COLON_ESC := &co;#
+SPACE_OUT := ~sp~#
+COLON_OUT := ~co~#
+DOTDOT_OUT := ~dtdt~#
+
+BSLASH2SLASH = $(subst $(BSLASH),/,$(1))
+
+REMOVE_TAIL = $(patsubst %/,%,$(1))
+
+#LOWER_CASE = $(shell echo translit($(1),[A-Z],[a-z])|$(M4))
+LOWER_CASE = $(shell echo $(1)|$(TR) [A-Z] [a-z])
+
+#ifneq ($(findstring Windows,$(OS)),)
+# ...
+#endif
+
+FIND_FILES = $(shell $(FIND) $(1)/$(2) | $(SED) 's/^$(subst /,$(BSLASH)/,$(1))$(BSLASH)///')
+FIND_FILES_ESC = $(shell $(FIND) $(1)/$(2) | $(SED) 's/^$(subst /,$(BSLASH)/,$(1))$(BSLASH)///' -e 's/:/$(BSLASH)&co;/g' -e 's/$(BSLASH) /$(BSLASH)&sp;/g')
+FIND_FILES_4MAKE = $(shell $(FIND) $(1)/$(2) | $(SED) 's/^$(subst /,$(BSLASH)/,$(1))$(BSLASH)///')
+
+FIND_FILES_ABS = $(shell $(FIND) $(1))
+FIND_FILES_ABS_4MAKE = $(shell $(FIND) $(1) -e 's/$(BSLASH) /$(BSLASH)&sp;/g')
+FIND_FILES_ABS_ESC = $(shell $(FIND) $(1) -e 's/:/$(BSLASH)&co;/g' -e 's/$(BSLASH) /$(BSLASH)&sp;/g')
+
+FIND_FILES_4MAKE = $(shell $(FIND) $(1) | $(SED) 's/ /\\\ /g')
+
+#ENCODE_ESC = $(shell echo $(1) | $(SED) -e 's/:/$(BSLASH)&co;/g' -e 's/$(BSLASH) /$(BSLASH)&sp;/g')
+#DECODE_ESC = $(shell echo $(1) | $(SED) -e 's/$(BSLASH)&co;/:/g' -e 's/$(BSLASH)&sp;/$(BSLASH) / g')
+ENCODE_ESC = $(subst $(SPACE),$(SPACE_ESC),$(subst $(COLON),$(COLON_ESC),$(1)))
+DECODE_ESC = $(subst $(COLON_ESC),$(COLON),$(subst $(SPACE_ESC),$(SPACE),$(1)))
+ENCODE_4MAKE = $(subst $(SPACE),$(SPACE_ESC),$(1))
+DECODE_4MAKE = $(subst $(SPACE_ESC),$(SPACE),$(1))
+
+CONVERT_TO_OUT = $(subst $(DOTDOT),$(DOTDOT_OUT),$(subst $(COLON),$(COLON_OUT),$(subst $(SPACE),$(SPACE_OUT),$(1))))
+CONVERT_ESC_TO_OUT = $(subst $(DOTDOT),$(DOTDOT_OUT),$(subst $(COLON_ESC),$(COLON_OUT),$(subst $(SPACE_ESC),$(SPACE_OUT),$(1))))
+CONVERT_4MAKE_TO_OUT = $(subst $(DOTDOT),$(DOTDOT_OUT),$(subst $(COLON),$(COLON_OUT),$(subst $(SPACE_ESC),$(SPACE_OUT),$(1))))
+
+PROC_NO_EXIST = $(if $(wildcard $(1)),,$(call $(2),$(1)))
+define MAKEDIRS0
+ @echo ' Building directory: $(1)'
+ @$(MKDIR) $(MKDIR_OP) $(subst $(BSLASH),/,$(1))
+endef
+MAKEDIRS = $(call PROC_NO_EXIST,$(1),MAKEDIRS0)
--- /dev/null
+#
+# Usege : make -f <proj_root>/Build/makefile -C <proj_root>
+#
+
+BUILD_SCRIPT_VERSION := 1.1.0
+
+.PHONY : app_version app_build app_clean build_version
+
+
+all : app_build
+
+clean : app_clean
+
+version : build_version
+
+#PROJ_ROOT = .
+BUILD_ROOT := $(PROJ_PATH)/Build#
+
+ifeq ($(MAKE_NAME),mingw32-make)
+ifneq ($(SHELL),)
+OPTIONS += --eval="SHELL=$(SHELL)"
+endif
+endif
+
+app_build :
+ @echo $(MAKE) -f "$(BUILD_ROOT)/makefile.mk"
+ @$(MAKE_BIN) -f "$(BUILD_ROOT)/makefile.mk" -C "$(PROJ_PATH)" $(OPTIONS)
+
+app_clean :
+ @$(MAKE) -f "$(BUILD_ROOT)/makefile.mk" -C "$(PROJ_PATH)" $(OPTIONS) clean
+
+build_version :
+ @echo makefile : $(BUILD_SCRIPT_VERSION)
+ @$(MAKE) -f "$(BUILD_ROOT)/makefile.mk" -C "$(PROJ_PATH)" $(OPTIONS) version
--- /dev/null
+#
+# Usege : make -f <proj_root>/Build/makefile -C <proj_root>
+#
+
+BUILD_SCRIPT_VERSION := 1.2.3
+
+.PHONY : app_version app_clean build_version
+
+
+all : app_build
+
+clean : app_clean
+
+version : build_version
+
+
+#PROJ_ROOT := $(call BSLASH2SLASH,$(PROJ_PATH))
+PROJ_ROOT := .
+BUILD_ROOT := $(PROJ_ROOT)/Build
+
+include $(BUILD_ROOT)/basedef.mk
+
+include $(PROJ_ROOT)/project_def.prop
+-include $(PROJ_ROOT)/build_def.prop
+
+include $(BUILD_ROOT)/funcs.mk
+
+-include $(BUILD_ROOT)/tooldef.mk
+-include $(BUILD_ROOT)/flags.mk
+-include $(BUILD_ROOT)/platform.mk
+
+
+APPTYPE := $(type)
+
+OUTPUT_DIR := $(PROJ_ROOT)/$(BUILD_CONFIG)
+OBJ_OUTPUT := $(OUTPUT_DIR)/objs
+
+LOWER_APPNAME := $(call LOWER_CASE,$(APPNAME))
+APPID2 := $(subst $(basename $(APPID)).,,$(APPID))
+
+ifeq ($(strip $(APPTYPE)),app)
+APPFILE := $(OUTPUT_DIR)/$(LOWER_APPNAME)
+endif
+ifeq ($(strip $(APPTYPE)),staticLib)
+APPFILE := $(OUTPUT_DIR)/lib$(LOWER_APPNAME).a
+endif
+ifeq ($(strip $(APPTYPE)),sharedLib)
+APPFILE := $(OUTPUT_DIR)/lib$(LOWER_APPNAME).so
+endif
+
+ifneq ($(strip $(PLATFORM_INCS)),)
+PLATFORM_INCS_FILE := $(OBJ_OUTPUT)/platform_incs_file.inc
+endif
+
+include $(BUILD_ROOT)/build_c.mk
+
+
+ifeq ($(strip $(APPTYPE)),app)
+EXT_OP := -fPIE
+endif
+ifeq ($(strip $(APPTYPE)),staticLib)
+EXT_OP := -fPIE
+endif
+ifeq ($(strip $(APPTYPE)),sharedLib)
+EXT_OP := -fPIC
+endif
+
+C_OPT := $(COMPILE_FLAGS) $(TC_COMPILER_MISC) $(RS_COMPILER_MISC) $(EXT_OP) --sysroot="$(SYSROOT)" -Werror-implicit-function-declaration $(M_OPT) $(USER_C_OPTS)
+CPP_OPT := $(CPP_COMPILE_FLAGS) $(TC_COMPILER_MISC) $(RS_COMPILER_MISC) $(EXT_OP) --sysroot="$(SYSROOT)" -Werror-implicit-function-declaration $(M_OPT) $(USER_CPP_OPTS)
+C_OPT_FILE := $(PLATFORM_INCS_FILE)
+
+OBJS := #
+
+# Global C/C++
+ifeq ($(strip $(USER_ROOT)),)
+USER_ROOT := $(PROJ_ROOT)
+endif
+$(eval $(call C_PROC_RAW,$(OBJ_OUTPUT),$(USER_SRCS),$(USER_INC_DIRS),$(USER_INC_FILES),$(USER_DEFS),$(USER_UNDEFS),$(C_OPT),$(C_OPT_FILE),C,c,$(CC),OBJS))
+$(foreach ext,cpp cxx cc c++ C,$(eval $(call C_PROC_RAW,$(OBJ_OUTPUT),$(USER_SRCS),$(USER_INC_DIRS),$(USER_CPP_INC_FILES),$(USER_CPP_DEFS),$(USER_CPP_UNDEFS),$(CPP_OPT),$(C_OPT_FILE),C++,$(ext),$(CXX),OBJS)))
+
+# Individual C/C++
+ifneq ($(strip $(USER_EXT_C_KEYS)),)
+$(foreach var,$(USER_EXT_C_KEYS),$(eval $(call C_PROC_RAW,$(OBJ_OUTPUT),$(USER_EXT_$(var)_SRCS),$(USER_EXT_$(var)_INC_DIRS),$(USER_EXT_$(var)_INC_FILES),$(USER_EXT_$(var)_DEFS),$(USER_EXT_$(var)_UNDEFS),$(C_OPT),$(C_OPT_FILE),C,c,$(CC),OBJS)))
+$(foreach ext,cpp cxx cc c++ C,$(foreach var,$(USER_EXT_C_KEYS),$(eval $(call C_PROC_RAW,$(OBJ_OUTPUT),$(USER_EXT_$(var)_SRCS),$(USER_EXT_$(var)_INC_DIRS),$(USER_EXT_$(var)_CPP_INC_FILES),$(USER_EXT_$(var)_CPP_DEFS),$(USER_EXT_$(var)_CPP_UNDEFS),$(CPP_OPT),$(C_OPT_FILE),C++,$(ext),$(CXX),OBJS))))
+endif
+
+
+ifneq ($(strip $(USER_LIB_DIRS)),)
+_ENC_USER_LIB_DIRS := $(call ENCODE_4MAKE,$(USER_LIB_DIRS))
+_ENC_USER_LIB_DIRS := $(addprefix -L,$(_ENC_USER_LIB_DIRS))
+LIBPATHS := $(call DECODE_4MAKE,$(_ENC_USER_LIB_DIRS))
+endif
+
+LIBS += $(addprefix -l,$(USER_LIBS))
+
+UOBJS += $(USER_OBJS)
+
+M_OPT = -MMD -MP -MF"$(@:%.o=%.d)"
+
+DEPS := $(OBJS:.o=.d)
+
+ifneq ($(strip $(DEPS)),)
+-include $(PROJ_ROOT)/Build/$(DEPS)
+endif
+
+
+ifeq ($(strip $(APPTYPE)),app)
+$(APPFILE) : $(OBJS) $(UOBJS)
+ @echo ' Building target: $@'
+ @echo ' Invoking: C/C++ Linker'
+ $(call MAKEDIRS,$(@D))
+ $(CXX) -o $(APPFILE) $(OBJS) $(UOBJS) $(LIBPATHS) -Xlinker --as-needed $(LIBS) $(LINK_FLAGS) $(TC_LINKER_MISC) $(RS_LINKER_MISC) -pie -lpthread --sysroot="$(SYSROOT)" -Xlinker --version-script="$(PROJ_ROOT)/.exportMap" $(RS_LIB_PATHS) $(RS_LIBRARIES) -Xlinker -rpath="/opt/usr/apps/$(APPID)/lib" -Werror-implicit-function-declaration $(USER_LINK_OPTS)
+ @echo ' Finished building target: $@'
+endif
+ifeq ($(strip $(APPTYPE)),staticLib)
+$(APPFILE) : $(OBJS) $(UOBJS)
+ @echo ' Building target: $@'
+ @echo ' Invoking: Archive utility'
+ $(call MAKEDIRS,$(@D))
+ $(AR) -r $(APPFILE) $(OBJS) $(UOBJS) $(AR_FLAGS) $(USER_LINK_OPTS)
+ @echo ' Finished building target: $@'
+endif
+ifeq ($(strip $(APPTYPE)),sharedLib)
+$(APPFILE) : $(OBJS) $(UOBJS)
+ @echo ' Building target: $@'
+ @echo ' Invoking: C/C++ Linker'
+ $(call MAKEDIRS,$(@D))
+ $(CXX) -o $(APPFILE) $(OBJS) $(UOBJS) $(LIBPATHS) -Xlinker --as-needed $(LIBS) $(LINK_FLAGS) $(TC_LINKER_MISC) $(RS_LINKER_MISC) -shared -lpthread --sysroot="$(SYSROOT)" $(RS_LIB_PATHS) $(RS_LIBRARIES) $(USER_LINK_OPTS)
+ @echo ' Finished building target: $@'
+endif
+
+
+$(OBJ_OUTPUT) :
+ $(call MAKEDIRS,$@)
+
+$(OUTPUT_DIR) :
+ $(call MAKEDIRS,$@)
+
+
+ifneq ($(strip $(PLATFORM_INCS)),)
+$(PLATFORM_INCS_FILE) : $(OBJ_OUTPUT)
+ @echo ' Building inc file: $@'
+ifneq ($(findstring Windows,$(OS)),)
+ifneq ($(findstring 3.82,$(MAKE_VERSION)),)
+ $(file > $@,$(PLATFORM_INCS))
+else
+ @echo $(PLATFORM_INCS) > $@
+endif
+else
+ @echo $(PLATFORM_INCS) > $@
+endif
+endif
+
+
+include $(BUILD_ROOT)/build_edc.mk
+
+#ifeq ($(strip $(ENVENTOR_SHARED_RES_PATH)),)
+ENVENTOR_SHARED_RES_PATH ?= $(ENVENTOR_PATH)/share/enventor
+#endif
+
+EDJ_FILES :=
+
+# Global EDCs
+ifneq ($(strip $(USER_EDCS)),)
+$(eval $(call EDJ_PROC_RAW,$(OUTPUT_DIR),$(USER_EDCS),$(USER_EDCS_IMAGE_DIRS),$(USER_EDCS_SOUND_DIRS),$(USER_EDCS_FONT_DIRS),EDJ_FILES))
+endif
+
+# Individual EDCs
+ifneq ($(strip $(USER_EXT_EDC_KEYS)),)
+$(foreach var,$(USER_EXT_EDC_KEYS),$(eval $(call EDJ_PROC_RAW,$(OUTPUT_DIR),$(USER_EXT_$(var)_EDCS),$(USER_EXT_$(var)_EDCS_IMAGE_DIRS),$(USER_EXT_$(var)_EDCS_SOUND_DIRS),$(USER_EXT_$(var)_EDCS_FONT_DIRS),EDJ_FILES)))
+endif
+
+
+include $(BUILD_ROOT)/build_po.mk
+
+MO_FILES :=
+
+# Global POs
+ifneq ($(strip $(USER_POS)),)
+$(eval $(call MO_PROC_RAW,$(OUTPUT_DIR),$(USER_POS),$(APPID2),MO_FILES))
+endif
+
+
+secondary-outputs : $(EDJ_FILES) $(MO_FILES)
+
+-include appendix.mk
+
+app_build : $(OUTPUT_DIR) $(APPFILE) secondary-outputs
+ @echo ========= done =========
+
+
+app_clean :
+ rm -f $(APPFILE)
+ rm -rf $(OUTPUT_DIR)
+
+build_version :
+ @echo makefile.mk : $(BUILD_SCRIPT_VERSION)
--- /dev/null
+# Add inputs and outputs from these tool invocations to the build variables
+
+SYSROOT = $(SBI_SYSROOT)
+
+USR_INCS := $(addprefix -I $(SYSROOT),$(PLATFORM_INCS_EX))
+
+ifeq ($(strip $(PLATFORM_LIB_PATHS)),)
+RS_LIB_PATHS := "$(SYSROOT)/usr/lib"
+else
+RS_LIB_PATHS := $(addprefix -L$(SYSROOT),$(PLATFORM_LIB_PATHS))
+endif
+
+RS_LIBRARIES := $(addprefix -l,$(RS_LIBRARIES_EX))
+
+PLATFORM_INCS = $(USR_INCS) -I"$(SDK_PATH)/library"
--- /dev/null
+# Add inputs and outputs from these tool invocations to the build variables
+
+ifneq ($(strip $(SHELL_BIN)),)
+SHELL = $(SHELL_BIN)
+else
+SHELL = sh
+endif
+
+ifneq ($(strip $(MKDIR_BIN)),)
+MKDIR = $(MKDIR_BIN)
+MKDIR_OP = -p
+else
+MKDIR = mkdir
+MKDIR_OP = -p
+endif
+
+ifneq ($(strip $(UNAME_BIN)),)
+UNAME = $(UNAME_BIN)
+else
+UNAME = uname
+endif
+
+ifneq ($(strip $(M4_BIN)),)
+M4 = $(M4_BIN)
+else
+M4 = m4
+endif
+
+ifneq ($(strip $(TR_BIN)),)
+TR = $(TR_BIN)
+else
+TR = tr
+endif
+
+ifneq ($(strip $(FIND_BIN)),)
+FIND = $(FIND_BIN)
+else
+FIND = find
+endif
+
+ifneq ($(strip $(SED_BIN)),)
+SED = $(SED_BIN)
+else
+SED = sed
+endif
+
+ifneq ($(strip $(GREP_BIN)),)
+GREP = $(GREP_BIN)
+else
+GREP = grep
+endif
+
+ifneq ($(strip $(EDJE_CC_BIN)),)
+EDJE_CC = $(EDJE_CC_BIN)
+else
+EDJE_CC = edje_cc
+endif
+
+ifneq ($(strip $(MSGFMT_BIN)),)
+MSGFMT = $(MSGFMT_BIN)
+else
+MSGFMT = msgfmt
+endif
+
+ifneq ($(strip $(CKSUM_BIN)),)
+CKSUM = $(CKSUM_BIN)
+else
+CKSUM = cksum
+endif
+
--- /dev/null
+SET(MUSIC_PLAYER_WIDGET music-player-widget)
+
+SET(SRCS
+ src/mp-widget-main.c
+ src/mp-widget-create.c
+)
+
+INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR})
+INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/inc)
+
+message("CMAKE_SOURCE_DIR ${CMAKE_SOURCE_DIR}")
+
+INCLUDE(FindPkgConfig)
+pkg_check_modules(app_pkgs REQUIRED
+ capi-appfw-application
+ vconf
+ elementary
+ edje
+ evas
+ appcore-efl
+ #ecore-x
+ dlog
+ widget_service
+ capi-message-port
+ notification
+ capi-telephony
+ capi-appfw-widget-application
+)
+
+FOREACH(flag ${app_pkgs_CFLAGS})
+ SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
+ SET(EXTRA_CXXFLAGS "${EXTRA_CXXFLAGS} ${flag}")
+ENDFOREACH(flag)
+
+ADD_DEFINITIONS(${app_pkgs_CFLAGS})
+FIND_PROGRAM(UNAME NAMES uname)
+EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH")
+IF("${ARCH}" STREQUAL "arm")
+ ADD_DEFINITIONS("-DTARGET")
+ MESSAGE("add -DTARGET")
+ENDIF("${ARCH}" STREQUAL "arm")
+
+ADD_DEFINITIONS("-DLOG_TAG=\"WIDGET_APP\"")
+INCLUDE_DIRECTORIES("${CMAKE_CURRENT_SOURCE_DIR}/inc")
+
+SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie -Wl,-z,noexecstack")
+
+ADD_EXECUTABLE(${MUSIC_PLAYER_WIDGET} ${SRCS})
+TARGET_LINK_LIBRARIES(${MUSIC_PLAYER_WIDGET} ${app_pkgs_LDFLAGS} "-pie -lm")
+
+#edj compile
+
+INSTALL(TARGETS ${MUSIC_PLAYER_WIDGET} DESTINATION ${BINDIR})
+
+#install application HOME directory
+INSTALL(DIRECTORY DESTINATION ${DATADIR})
+ADD_SUBDIRECTORY(res)
--- /dev/null
+
+# Add pre/post build process
+PREBUILD_DESC =
+PREBUILD_COMMAND =
+POSTBUILD_DESC =
+POSTBUILD_COMMAND =
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef MP_WIDGET_H
+#define MP_WIDGET_H
+
+#include <Elementary.h>
+
+typedef struct _widget_data {
+ Evas_Object *win;
+ Evas_Object *layout;
+ char *file_path;
+ Ecore_File_Monitor *em;
+} WidgetData;
+
+int mp_widget_create(WidgetData * data, int w, int h);
+
+#endif // MP_WIDGET_H
+/* End of a file */
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#ifndef MP_WIDGET_DEBUG_H
+#define MP_WIDGET_DEBUG_H
+
+#include <stdio.h>
+#include <unistd.h>
+#include "assert.h"
+#include <linux/unistd.h>
+#define LOG_TAG "MUSIC_WIDGET"
+
+
+#define gettid() syscall(__NR_gettid)
+
+#include <dlog.h>
+
+#if !defined(FLOG)
+
+#define DbgPrint(format, arg...) dlog_print(DLOG_DEBUG, LOG_TAG, ##arg)
+#define ErrPrint(format, arg...) dlog_print(DLOG_ERROR, LOG_TAG, ##arg)
+#define WarnPrint(format, arg...) dlog_print(DLOG_INFO, LOG_TAG, ##arg)
+
+#ifndef TRUE
+#define TRUE 1
+#endif
+
+#ifndef FALSE
+#define FALSE 0
+#endif
+
+#define DEBUG_TRACE(fmt, arg...) dlog_print(DLOG_DEBUG, LOG_TAG, "[%s : %05d %lu]" fmt "\n", __func__, __LINE__, gettid(), ##arg)
+#define INFO_TRACE(fmt, arg...) dlog_print(DLOG_INFO, LOG_TAG, "[%s : %05d %lu]" fmt "\n", __func__, __LINE__, gettid(), ##arg)
+#define WARN_TRACE(fmt, arg...) dlog_print(DLOG_WARN, LOG_TAG, "[%s : %05d %lu]" fmt "\n", __func__, __LINE__, gettid(), ##arg)
+#define ERROR_TRACE(fmt, arg...) dlog_print(DLOG_ERROR, LOG_TAG, "[%s : %05d %lu]" fmt "\n", __func__, __LINE__, gettid(), ##arg)
+#define PARAM_CHECK(fmt, arg...) dlog_print(DLOG_WARN, LOG_TAG, "[%s : %05d %lu]" fmt "\n", __func__, __LINE__, gettid(), ##arg)
+#define EVENT_TRACE(fmt, arg...) dlog_print(DLOG_INFO, LOG_TAG, "[%s : %05d %lu]" fmt "\n", __func__, __LINE__, gettid(), ##arg)
+
+#define SECURE_DEBUG(fmt, args...) dlog_print(DLOG_DEBUG, LOG_TAG, "[%s : %05d %lu]" fmt "\n", __func__, __LINE__, gettid(), ##args)
+#define SECURE_INFO(fmt, args...) dlog_print(DLOG_INFO, LOG_TAG, "[%s : %05d %lu]" fmt "\n", __func__, __LINE__, gettid(), ##args)
+#define SECURE_ERROR(fmt, args...) dlog_print(DLOG_ERROR, LOG_TAG, "[%s : %05d %lu]" fmt "\n", __func__, __LINE__, gettid(), ##args)
+
+#else
+extern FILE *__file_log_fp;
+#define DbgPrint(format, arg...) do { fprintf(__file_log_fp, "[LOG] [\e[32m%s/%s\e[0m:%d] " format, util_basename(__FILE__), __func__, __LINE__, ##arg); fflush(__file_log_fp); } while (0)
+#define ErrPrint(format, arg...) do { fprintf(__file_log_fp, "[ERR] [\e[32m%s/%s\e[0m:%d] " format, util_basename(__FILE__), __func__, __LINE__, ##arg); fflush(__file_log_fp); } while (0)
+#define WarnPrint(format, arg...) do { fprintf(__file_log_fp, "[WRN] [\e[32m%s/%s\e[0m:%d] " format, util_basename(__FILE__), __func__, __LINE__, ##arg); fflush(__file_log_fp); } while (0)
+#endif
+
+// DbgPrint("FREE\n");
+#define DbgFree(a) do { \
+ free(a); \
+} while (0)
+
+#define DbgXFree(a) do { \
+ DbgPrint("XFree\n"); \
+ XFree(a); \
+} while (0)
+
+#define mp_retvm_if(expr, val, fmt, arg...) do { \
+ if (expr) { \
+ PARAM_CHECK(fmt, ##arg); \
+ return (val); \
+ } \
+} while (0)
+
+#if defined(_ENABLE_PERF)
+#define PERF_INIT() \
+ struct timeval __stv; \
+ struct timeval __etv; \
+ struct timeval __rtv
+
+#define PERF_BEGIN() do { \
+ if (gettimeofday(&__stv, NULL) < 0) { \
+ ErrPrint("gettimeofday: %s\n", strerror(errno)); \
+ } \
+} while (0)
+
+#define PERF_MARK(tag) do { \
+ if (gettimeofday(&__etv, NULL) < 0) { \
+ ErrPrint("gettimeofday: %s\n", strerror(errno)); \
+ } \
+ timersub(&__etv, &__stv, &__rtv); \
+ DbgPrint("[%s] %u.%06u\n", tag, __rtv.tv_sec, __rtv.tv_usec); \
+} while (0)
+#else
+#define PERF_INIT()
+#define PERF_BEGIN()
+#define PERF_MARK(tag)
+#endif
+
+#endif // MP_WIDGET_DEBUG_H
+/* End of a file */
--- /dev/null
+
+# Project Name
+APPNAME = music-player-widget
+
+# Project Type
+type = app
+
+# Project Profile
+profile = mobile-3.0
+
+# C Sources
+USER_SRCS = src/mp-widget-create.c src/mp-widget-main.c
+
+# EDC Sources
+USER_EDCS =
+
+# PO Sources
+USER_POS =
+
+# User Defines
+USER_DEFS = DATA_PREFIX='"/opt/home/owner/apps_rw/org.tizen.music-player"' SHAREDDIR='"/opt/home/owner/apps_rw/org.tizen.music-player/shared"'
+USER_CPP_DEFS =
+
+# User Undefines
+USER_UNDEFS =
+USER_CPP_UNDEFS =
+
+# User Libraries
+USER_LIBS =
+
+# User Objects
+USER_OBJS =
+USER_OBJS_ABS =
+
+# User Includes
+## C Compiler
+USER_INC_DIRS = inc $(workspace_loc)/src/common/include $(workspace_loc)/src/include $(workspace_loc)/inc
+USER_INC_DIRS_ABS = inc $(workspace_loc)/src/common/include $(workspace_loc)/src/include $(workspace_loc)/inc
+USER_INC_FILES = inc/mp_widget.h
+USER_INC_FILES_ABS =
+## C++ Compiler
+USER_CPP_INC_DIRS =
+USER_CPP_INC_DIRS_ABS =
+USER_CPP_INC_FILES =
+USER_CPP_INC_FILES_ABS =
+
+# User Library Path
+USER_LIB_DIRS =
+USER_LIB_DIRS_ABS =
+
+# EDC Resource Path
+USER_EDCS_IMAGE_DIRS = res/images
+USER_EDCS_IMAGE_DIRS_ABS =
+USER_EDCS_SOUND_DIRS = edje/sounds
+USER_EDCS_SOUND_DIRS_ABS =
+USER_EDCS_FONT_DIRS = edje/fonts
+USER_EDCS_FONT_DIRS_ABS =
+
+# EDC Flags
+USER_EXT_EDC_KEYS = EDC0
+
+USER_EXT_EDC0_EDCS = res/music_widget.edc
+USER_EXT_EDC0_EDCS_IMAGE_DIRS = res/images
+USER_EXT_EDC0_EDCS_IMAGE_DIRS_ABS =
+USER_EXT_EDC0_EDCS_SOUND_DIRS = edje/sounds
+USER_EXT_EDC0_EDCS_SOUND_DIRS_ABS =
+USER_EXT_EDC0_EDCS_FONT_DIRS = edje/fonts
+USER_EXT_EDC0_EDCS_FONT_DIRS_ABS =
+
+# Resource Filter
+USER_RES_INCLUDE =
+USER_RES_EXCLUDE =
+
--- /dev/null
+# install edj
+ADD_CUSTOM_TARGET(music_widget.edj
+ COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/images ${EDJE_CFLAGS}
+ ${CMAKE_CURRENT_SOURCE_DIR}/music_widget.edc music_widget.edj
+ DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/music_widget.edc
+)
+ADD_DEPENDENCIES(${PROJECT_NAME} music_widget.edj)
+INSTALL(FILES music_widget.edj DESTINATION ${PREFIX}/res)
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+collections {
+ base_scale: 2.4;
+ group {
+ name:"mp_widget_main";
+ images {
+ image: "box_image_shadow.#.png" COMP;
+ image: "music_btn_player_next_dim.png" COMP;
+ image: "music_btn_player_next_nor.png" COMP;
+ image: "music_btn_player_next_press.png" COMP;
+ image: "music_btn_player_pause_dim.png" COMP;
+ image: "music_btn_player_pause_nor.png" COMP;
+ image: "music_btn_player_pause_press.png" COMP;
+ image: "music_btn_player_play_dim.png" COMP;
+ image: "music_btn_player_play_nor.png" COMP;
+ image: "music_btn_player_play_press.png" COMP;
+ image: "music_btn_player_prev_dim.png" COMP;
+ image: "music_btn_player_prev_nor.png" COMP;
+ image: "music_btn_player_prev_press.png" COMP;
+ image: "music_btn_player_stop_dim.png" COMP;
+ image: "music_btn_player_stop_nor.png" COMP;
+ image: "music_btn_player_stop_press.png" COMP;
+ }
+ parts {
+ part {
+ name: "bg";
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1.relative: 0.0 0.0;
+ rel2.relative: 1.0 1.0;
+ color: 0 0 0 0;
+ }
+ description {
+ state: "no_music";
+ inherit: "default" 0.0;
+ color: 0 0 0 20;
+ }
+ }//end bg
+
+ part {
+ name:"track_image";
+ type:SWALLOW;
+ scale: 1;
+ mouse_events : 1;
+ repeat_events : 1;
+ description {
+ state : "default" 0.0;
+ rel1 {
+ relative : 0.031 0.174;
+ to : "bg";
+ }
+ rel2 {
+ relative : 0.374 0.783;
+ to : "bg";
+ }
+ visible : 1;
+ }
+ description {
+ state:"no_music" 0.0;
+ inherit : "default" 0.0;
+ visible : 0;
+ }
+ }//end track_image
+
+ part {
+ name:"track_title";
+ type:TEXT;
+ scale: 1;
+ mouse_events : 1;
+ repeat_events : 1;
+ description {
+ state : "default" 0.0;
+ rel1 {
+ relative : 0.424 0.174;
+ to : "bg";
+ }
+ rel2 {
+ relative : 0.956 0.332;
+ to : "bg";
+ }
+ text {
+ font:"Tizen";
+ size:35;
+ min:0 1;
+ align:0.0 0.5;
+ }
+ color : 255 255 255 255;
+ visible : 1;
+ }
+ description {
+ state:"no_music" 0.0;
+ inherit : "default" 0.0;
+ visible : 0;
+ }
+ }//end track_title
+
+ part {
+ name:"track_artist_title";
+ type:TEXT;
+ scale: 1;
+ //effect: TIZEN_GLOW_SHADOW;
+ mouse_events : 1;
+ repeat_events : 1;
+ description {
+ state : "default" 0.0;
+ rel1 {
+ relative : 0.424 0.332;
+ to : "bg";
+ }
+ rel2 {
+ relative : 0.956 0.461;
+ to : "bg";
+ }
+ text {
+ font:"Tizen";
+ size:35;
+ min:0 1;
+ align:0.0 0.5;
+ }
+ color: 255 255 255 255;
+ visible : 1;
+ }
+ description {
+ state:"no_music" 0.0;
+ inherit : "default" 0.0;
+ visible : 0;
+ }
+ }//end track_title
+
+ part {
+ name:"track_prev_image";
+ type: IMAGE;
+ scale: 1;
+ mouse_events : 1;
+ repeat_events : 1;
+ description {
+ state : "default" 0.0;
+ rel1 {
+ relative : 0.46 0.533;
+ to : "bg";
+ }
+ rel2 {
+ relative : 0.6 0.783;
+ to : "bg";
+ }
+ image.normal : "music_btn_player_prev_nor.png";
+ align:0.0 0.5;
+ visible : 1;
+ }
+ description {
+ state:"no_music" 0.0;
+ inherit : "default" 0.0;
+ visible : 0;
+ }
+ description {
+ state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "music_btn_player_prev_press.png";
+ visible : 1;
+ }
+ description {
+ state: "dim" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "music_btn_player_prev_dim.png";
+ visible : 1;
+ }
+ }//end track_prev_image
+
+ part {
+ name:"track_play_image";
+ type:IMAGE;
+ scale: 1;
+ mouse_events : 1;
+ repeat_events : 1;
+ description {
+ state : "default" 0.0;
+ rel1 {
+ relative : 0.637 0.533;
+ to : "bg";
+ }
+ rel2 {
+ relative : 0.778 0.783;
+ to : "bg";
+ }
+ image.normal : "music_btn_player_pause_nor.png";
+ align:0.0 0.5;
+ }
+ description {
+ state: "play_pressed" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "music_btn_player_pause_press.png";
+ visible : 1;
+ }
+ description {
+ state: "play_dim" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "music_btn_player_pause_dim.png";
+ visible : 1;
+ }
+ description {
+ state:"paused" 0.0;
+ inherit:"default" 0.0;
+ image.normal : "music_btn_player_play_nor.png";
+ visible : 1;
+ }
+ description {
+ state: "pause_pressed" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "music_btn_player_play_press.png";
+ visible : 1;
+ }
+ description {
+ state: "pause_dim" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "music_btn_player_play_dim.png";
+ visible : 1;
+ }
+ description {
+ state: "stopped" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "music_btn_player_stop_nor.png";
+ visible : 1;
+ }
+ description {
+ state: "stop_pressed" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "music_btn_player_stop_press.png";
+ visible : 1;
+ }
+ description {
+ state: "stop_dim" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "music_btn_player_stop_dim.png";
+ visible : 1;
+ }
+ description {
+ state:"no_music" 0.0;
+ inherit : "default" 0.0;
+ visible : 0;
+ }
+ }//end track_play_image
+
+ part {
+ name:"track_next_image";
+ type:IMAGE;
+ scale: 1;
+ mouse_events : 1;
+ repeat_events : 1;
+ description {
+ state : "default" 0.0;
+ rel1 {
+ relative : 0.815 0.533;
+ to : "bg";
+ }
+ rel2 {
+ relative : 0.956 0.783;
+ to : "bg";
+ }
+ image.normal : "music_btn_player_next_nor.png";
+ align:0.0 0.5;
+ visible : 1;
+ }
+ description {
+ state:"no_music" 0.0;
+ inherit : "default" 0.0;
+ visible : 0;
+ }
+ description {
+ state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "music_btn_player_next_press.png";
+ visible : 1;
+ }
+ description {
+ state: "dim" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "music_btn_player_next_dim.png";
+ visible : 1;
+ }
+ }//end track_next_image
+
+ part {
+ name: "noitems_title_bg";
+ type: RECT;
+ scale: 1;
+ mouse_events:1;
+ repeat_events:1;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.30 0.21;
+ to: "bg";
+ }
+ rel2 {
+ relative: 0.75 0.51;
+ to: "bg";
+ }
+ color: 0 0 0 0;
+ visible: 0;
+ }
+ description {
+ state: "no_music" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }//end noitems_title_bg
+
+ part {
+ name:"noitems_title";
+ type:TEXT;
+ scale: 1;
+ mouse_events:1;
+ repeat_events:1;
+ description {
+ state:"default" 0.0;
+ rel1 {
+ relative: 0.044 0.263;
+ to:"bg";
+ }
+ rel2 {
+ relative: 0.956 0.493;
+ to:"bg";
+ }
+ text {
+ font:"Tizen";
+ size:43;
+ elipsis: -1;
+ min:1 1;
+ align:0.5 0.5;
+ }
+ color: 255 255 255 255;
+ visible: 0;
+ }
+ description {
+ state:"no_music" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }//end noitems_title
+
+ part {
+ name: "noitems_subtitle_bg";
+ type: RECT;
+ scale: 1;
+ mouse_events:1;
+ repeat_events:1;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.20 0.55;
+ to: "bg";
+ }
+ rel2 {
+ relative: 0.80 0.75;
+ to: "bg";
+ }
+ color: 0 0 0 0;
+ visible: 0;
+ }
+ description {
+ state: "no_music" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }//end noitems_subtitle_bg
+
+ part {
+ name:"noitems_subtitle";
+ type:TEXT;
+ scale: 1;
+ mouse_events:1;
+ repeat_events:1;
+ description {
+ state:"default" 0.0;
+ rel1 {
+ relative: 0.044 0.513;
+ to:"bg";
+ }
+ rel2 {
+ relative: 0.956 0.655;
+ to:"bg";
+ }
+ text {
+ font:"Tizen";
+ size:38;
+ elipsis: -1;
+ min:1 1;
+ align:0.5 0.5;
+ }
+ color: 255 255 255 255;
+ visible : 0;
+ }
+ description {
+ state:"no_music" 0.0;
+ inherit : "default" 0.0;
+ visible : 1;
+ }
+ }//end noitems_subtitle
+
+ }//end parts
+
+ programs {
+ program {
+ name : "change_to_play";
+ signal : "play_music";
+ source : "elm";
+ action : STATE_SET "default" 0.0;
+ target : "track_play_image";
+ }//end change_to_play
+
+ program {
+ name : "change_to_pause";
+ signal : "pause_music";
+ source : "elm";
+ action : STATE_SET "paused" 0.0;
+ target : "track_play_image";
+ }//end change_to_pause
+
+ program {
+ name : "change_to_stop";
+ signal : "stop_music";
+ source : "elm";
+ action : STATE_SET "stopped" 0.0;
+ target : "track_play_image";
+ }//end change_to_stop
+
+ program {
+ name: "on_press";
+ signal: "mouse,down,1";
+ source: "track_play_image";
+ script {
+ new st[31];
+ new Float:vl;
+ get_state(PART:"track_play_image", st, 30, vl);
+ if (!strcmp(st, "default")) {
+ set_state(PART:"track_play_image", "play_pressed", 0.0);
+ }
+ if (!strcmp(st, "paused")) {
+ set_state(PART:"track_play_image", "pause_pressed", 0.0);
+ }
+ if (!strcmp(st, "stopped")) {
+ set_state(PART:"track_play_image", "stop_pressed", 0.0);
+ }
+
+ }
+ }//end on_press
+
+ program {
+ name: "on_press_next";
+ signal: "mouse,down,1";
+ source: "track_next_image";
+ script {
+ new st[31];
+ new Float:vl;
+ get_state(PART:"track_next_image", st, 30, vl);
+ if (!strcmp(st, "default")) {
+ set_state(PART:"track_next_image", "pressed", 0.0);
+ }
+ }
+ }//end on_press_next
+
+ program {
+ name: "on_press_prev";
+ signal: "mouse,down,1";
+ source: "track_prev_image";
+ script {
+ new st[31];
+ new Float:vl;
+ get_state(PART:"track_prev_image", st, 30, vl);
+ if (!strcmp(st, "default")) {
+ set_state(PART:"track_prev_image", "pressed", 0.0);
+ }
+ }
+ }//end on_press_prev
+
+ program {
+ name: "on_release";
+ signal: "mouse,up,1";
+ source: "track_play_image";
+ script {
+ new st[31];
+ new Float:vl;
+ get_state(PART:"track_play_image", st, 30, vl);
+ if (!strcmp(st, "pause_pressed")) {
+ set_state(PART:"track_play_image", "paused", 0.0);
+ }
+ if (!strcmp(st, "play_pressed")) {
+ set_state(PART:"track_play_image", "default", 0.0);
+ }
+ if (!strcmp(st, "stop_pressed")) {
+ set_state(PART:"track_play_image", "default", 0.0);
+ }
+
+ }
+ }//end on_release
+
+ program {
+ name: "on_release_next";
+ signal: "mouse,up,1";
+ source: "track_next_image";
+ script {
+ new st[31];
+ new Float:vl;
+ get_state(PART:"track_next_image", st, 30, vl);
+ if (!strcmp(st, "pressed")) {
+ set_state(PART:"track_next_image", "default", 0.0);
+ }
+ }
+ }//end on_release_next
+
+ program {
+ name: "on_release_prev";
+ signal: "mouse,up,1";
+ source: "track_prev_image";
+ script {
+ new st[31];
+ new Float:vl;
+ get_state(PART:"track_prev_image", st, 30, vl);
+ if (!strcmp(st, "pressed")) {
+ set_state(PART:"track_prev_image", "default", 0.0);
+ }
+ }
+ }//end on_release_prev
+
+ program {
+ name : "show_no_music_view";
+ signal : "no_music";
+ source : "elm";
+ action : STATE_SET "no_music" 0.0;
+ target : "bg";
+ target : "track_image";
+ target : "track_title";
+ target : "track_artist_title";
+ target : "track_prev_image";
+ target : "track_play_image";
+ target : "track_next_image";
+ target : "noitems_title_bg";
+ target : "noitems_title";
+ target : "noitems_subtitle_bg";
+ target : "noitems_subtitle";
+ }//end show_no_music_view
+
+ program {
+ name : "show_music_view";
+ signal : "music_present";
+ source : "elm";
+ action : STATE_SET "default" 0.0;
+ target : "bg";
+ target : "track_image";
+ target : "track_title";
+ target : "track_artist_title";
+ target : "track_prev_image";
+ target : "track_play_image";
+ target : "track_next_image";
+ target : "noitems_title_bg";
+ target : "noitems_title";
+ target : "noitems_subtitle_bg";
+ target : "noitems_subtitle";
+ }//end show_music_view
+ }
+ }//end group
+}//end collections
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include <Elementary.h>
+#include <tizen.h>
+#include <Eet.h>
+#include <app.h>
+#include <stdlib.h>
+#include <bundle.h>
+#include <telephony.h>
+#include <message_port.h>
+#include <linux/inotify.h>
+#include <notification.h>
+#include <dirent.h>
+#include <unistd.h>
+#include "mp-common-defs.h"
+#include "mp-resource.h"
+#include "mp-define.h"
+#include "mp_widget.h"
+#include "mp_widget_debug.h"
+
+#define WIDGET_HEIGHT 500
+#define WIDGET_WIDTH 712
+#define EDJE_FILE "music_widget.edj"
+#define APP_ID "org.tizen.music-player"
+#define MP_LB_EVENT_KEY "LiveboxEvent"
+#define MP_LB_EVENT_PLAY_CLICKED "OnLBPlayClicked"
+#define MP_LB_EVENT_PAUSE_CLICKED "OnLBPauseClicked"
+#define MP_LB_EVENT_NEXT_RELEASED "OnLBNextRelease"
+#define MP_LB_EVENT_PREV_RELEASED "OnLBPreviousRelease"
+#define EVENT_SIZE (sizeof(struct inotify_event))
+#define EVENT_BUF_LEN (1024 * (EVENT_SIZE + 16))
+#define domain_name "music-player"
+
+#define BROKEN_ALBUMART_IMAGE_PATH "/opt/usr/share/media/.thumb/thumb_default.png"
+#define DEFAULT_ALBUM_ART_ICON "default_albumart.png"
+#define NOW_PLAYING_INI_PATH "NowPlayingStatus"
+
+static Eina_Bool is_play = EINA_FALSE;
+Eina_List *widget_list = NULL;
+
+void mp_widget_win_del_cb(void *data, Evas * evas, Evas_Object * obj,
+ void *event_info)
+{
+ ecore_timer_del(data);
+}
+
+void mp_widget_key_down_cb(void *data, Evas * evas, Evas_Object * obj,
+ void *event_info)
+{
+ elm_exit();
+}
+
+static void mp_widget_read_ini_file_ecore(void *data, char *path)
+{
+ if (!data) {
+ DEBUG_TRACE("Invalid data");
+ return;
+ }
+ if (!path) {
+ DEBUG_TRACE("Invalid path information");
+ return;
+ }
+ WidgetData *wgtdata = (WidgetData *) data;
+ Evas_Object *layout = (Evas_Object *) wgtdata->layout;
+ if (!layout) {
+ DEBUG_TRACE("Invalid layout");
+ return;
+ }
+
+ Evas_Object *image_object = NULL;
+ int line_count = 0;
+ char str[1000] = { 0, };
+ char *image_path = NULL;
+ FILE *file = fopen(path, "r");
+
+ if (!file) {
+ ERROR_TRACE("Failed to open file(%s)", path);
+ return;
+ }
+
+ char *sptr = NULL;
+ while (fgets(str, sizeof(str), file)) {
+ char *key = NULL;
+ char *value = NULL;
+ key = strtok_r(str, "=", &sptr);
+ value = strtok_r(NULL, "=", &sptr);
+
+ if (key == NULL) {
+ DEBUG_TRACE("key is NULL");
+ continue;
+ }
+
+ if (value == NULL) {
+ DEBUG_TRACE("value is NULL");
+ continue;
+ }
+
+ DEBUG_TRACE("key is: %s and value is: %s", key, value);
+
+ if (!strcmp(key, " \n")) {
+ ERROR_TRACE("Current File is removed. No contents.");
+ line_count++;
+ continue;
+ }
+
+ value[strlen(value) - 1] = '\0';
+
+ if (!strcmp(key, " ")) {
+ ERROR_TRACE("Cannot determine key");
+ fclose(file);
+ return;
+ }
+
+ if (!strcmp(key, "status")) {
+ if (!strcmp(value, "playing")) {
+ elm_object_signal_emit(layout, "music_present", "elm");
+ elm_object_signal_emit(layout, "play_music", "elm");
+ is_play = EINA_TRUE;
+ } else {
+ elm_object_signal_emit(layout, "music_present", "elm");
+ elm_object_signal_emit(layout, "pause_music", "elm");
+ is_play = EINA_FALSE;
+ }
+ }
+ if ((char *) wgtdata->file_path) {
+ free((char *) wgtdata->file_path);
+ wgtdata->file_path = NULL;
+ }
+ if (!strcmp(key, "uri")) {
+ wgtdata->file_path =
+ (char *) malloc((strlen(value) + 1) * sizeof(char));
+ if (wgtdata->file_path) {
+ strncpy(wgtdata->file_path, value, (strlen(value) + 1));
+ wgtdata->file_path[strlen(value)] = '\0';
+ }
+ }
+ if (!strcmp(key, "title")) {
+ elm_object_part_text_set(layout, "track_title", value);
+ }
+ if (!strcmp(key, "artist")) {
+ elm_object_part_text_set(layout, "track_artist_title", value);
+ }
+ if (!strcmp(key, "thumbnail")) {
+ if (value) {
+ image_path =
+ (char *) malloc((strlen(value) + 1) * sizeof(char));
+
+ if (image_path != NULL) {
+ strncpy(image_path, value, (strlen(value) + 1));
+ image_path[strlen(value)] = '\0';
+
+ if (!strcmp(BROKEN_ALBUMART_IMAGE_PATH, image_path)) {
+ free(image_path);
+ image_path = NULL;
+ char *shared_path = app_get_shared_resource_path();
+ char default_icon[1024] = { 0 };
+ snprintf(default_icon, 1024, "%s%s/%s",
+ shared_path, "shared_images",
+ DEFAULT_ALBUM_ART_ICON);
+ free(shared_path);
+ image_path = g_strdup(default_icon);
+ }
+ }
+ }
+ }
+ line_count++;
+ }
+
+ if (line_count == 1) {
+ elm_object_signal_emit(layout, "no_music", "elm");
+ is_play = EINA_FALSE;
+ }
+
+ if (image_path != NULL) {
+ image_object = elm_image_add(layout);
+
+ if (!elm_image_file_set(image_object, image_path, NULL)) {
+ free(image_path);
+ image_path = NULL;
+ char *shared_path = app_get_shared_resource_path();
+ char default_icon[1024] = { 0 };
+ snprintf(default_icon, 1024, "%s%s/%s", shared_path,
+ "shared_images", DEFAULT_ALBUM_ART_ICON);
+ free(shared_path);
+ image_path = g_strdup(default_icon);
+ elm_image_file_set(image_object, image_path, NULL);
+ }
+
+ elm_image_aspect_fixed_set(image_object, EINA_FALSE);
+ elm_object_part_content_set(layout, "track_image", image_object);
+ if (image_path) {
+ free(image_path);
+ }
+ }
+
+ fclose(file);
+}
+
+void __create_read_ini_file(void)
+{
+ char *path = app_get_data_path();
+ char playing_status[1024] = { 0 };
+ if (path == NULL) {
+ return;
+ }
+ snprintf(playing_status, 1024, "%s%s", path, NOW_PLAYING_INI_PATH);
+ free(path);
+
+ FILE *fp = fopen(playing_status, "w"); /* make new file. */
+
+ if (fp == NULL) {
+ ERROR_TRACE("Failed to open ini files. : %s", playing_status);
+ return;
+ }
+ fprintf(fp, " \n");
+
+ fclose(fp);
+}
+
+static void mp_widget_read_ini_file(char *path, void *data)
+{
+ if (!data) {
+ DEBUG_TRACE("Invalid data");
+ return;
+ }
+ if (!path) {
+ DEBUG_TRACE("Invalid path information");
+ return;
+ }
+ WidgetData *wgtdata = (WidgetData *) data;
+ Evas_Object *layout = (Evas_Object *) wgtdata->layout;
+ if (!layout) {
+ DEBUG_TRACE("Invalid layout");
+ return;
+ }
+
+ char buffer[1000 + 1] = { '\0' };
+ Evas_Object *image_object = NULL;
+ int line_count = 0;
+ char str[1000] = { 0, };
+ char *image_path = NULL;
+ FILE *file = fopen(path, "r");
+
+ if (!file) {
+ __create_read_ini_file();
+ ERROR_TRACE("ERROR VAlUE is (%d)",
+ strerror_r(errno, buffer, 1000));
+ ERROR_TRACE("Failed to open %s file", path);
+ elm_object_signal_emit(layout, "no_music", "elm");
+ return;
+ }
+
+ char *sptr = NULL;
+ while (fgets(str, sizeof(str), file)) {
+ char *key = NULL;
+ char *value = NULL;
+ key = strtok_r(str, "=", &sptr);
+ value = strtok_r(NULL, "=", &sptr);
+ DEBUG_TRACE("key is: %s and value is: %s", key, value);
+ if (value != NULL) {
+ value[strlen(value) - 1] = '\0';
+ } else {
+ DEBUG_TRACE("value is NULL");
+ continue;
+ }
+ if (!key) {
+ fclose(file);
+ if (image_path) {
+ free(image_path);
+ }
+ return;
+ }
+
+ if (!strcmp(key, " ")) {
+ elm_object_signal_emit(layout, "no_music", "elm");
+ fclose(file);
+ if (image_path) {
+ free(image_path);
+ }
+ return;
+ }
+ if (!strcmp(key, "status")) {
+ if (!strcmp(value, "playing")) {
+ elm_object_signal_emit(layout, "music_present", "elm");
+ elm_object_signal_emit(layout, "play_music", "elm");
+ is_play = EINA_TRUE;
+ } else {
+ elm_object_signal_emit(layout, "music_present", "elm");
+ elm_object_signal_emit(layout, "pause_music", "elm");
+ is_play = EINA_FALSE;
+ }
+ }
+ if ((char *) wgtdata->file_path) {
+ free((char *) wgtdata->file_path);
+ wgtdata->file_path = NULL;
+ }
+ if (!strcmp(key, "uri")) {
+ wgtdata->file_path =
+ (char *) malloc((strlen(value) + 1) * sizeof(char));
+
+ if (wgtdata->file_path) {
+ strncpy(wgtdata->file_path, value, (strlen(value) + 1));
+ wgtdata->file_path[strlen(value)] = '\0';
+ }
+ }
+ if (!strcmp(key, "title")) {
+ elm_object_part_text_set(layout, "track_title", value);
+ }
+ if (!strcmp(key, "artist")) {
+ elm_object_part_text_set(layout, "track_artist_title", value);
+ }
+ if (!strcmp(key, "thumbnail")) {
+ if (value) {
+ image_path =
+ (char *) malloc((strlen(value) + 1) * sizeof(char));
+ if (image_path) {
+ strncpy(image_path, value, (strlen(value) + 1));
+ image_path[strlen(value)] = '\0';
+
+ if (!strcmp(BROKEN_ALBUMART_IMAGE_PATH, image_path)) {
+ free(image_path);
+ image_path = NULL;
+ }
+ }
+ }
+ }
+ line_count++;
+ }
+
+ if (line_count <= 1) {
+ elm_object_signal_emit(layout, "no_music", "elm");
+ is_play = EINA_FALSE;
+ }
+
+ image_object = elm_image_add(layout);
+ if (!elm_image_file_set(image_object, image_path, NULL)) {
+ char *shared_path = app_get_shared_resource_path();
+ char default_icon[1024] = { 0 };
+ snprintf(default_icon, 1024, "%s%s/%s", shared_path,
+ "shared_images", DEFAULT_ALBUM_ART_ICON);
+ free(shared_path);
+ image_path = g_strdup(default_icon);
+ elm_image_file_set(image_object, image_path, NULL);
+ }
+
+ elm_image_aspect_fixed_set(image_object, EINA_FALSE);
+ elm_object_part_content_set(layout, "track_image", image_object);
+ if (image_path) {
+ free(image_path);
+ }
+ fclose(file);
+}
+
+static void mp_widget_music_player_result_callback(app_control_h request,
+ app_control_h reply,
+ app_control_result_e
+ result, void *user_data)
+{
+ if (!user_data) {
+ return;
+ }
+}
+
+
+static void mp_widget_music_player_result(void *user_data)
+{
+ if (!user_data) {
+ return;
+ }
+}
+
+static int message_port_send_event_message(const char *event)
+{
+ int ret;
+ bundle *b = bundle_create();
+ if (b == NULL) {
+ ERROR_TRACE("Unable to add data to bundle");
+ return -1;
+ }
+ bundle_add_str(b, MP_LB_EVENT_KEY, event);
+ ret = message_port_send_message(APP_ID, MP_MESSAGE_PORT_LIVEBOX, b);
+ if (ret != MESSAGE_PORT_ERROR_NONE) {
+ ERROR_TRACE("Message remote port error: %d", ret);
+ }
+ bundle_free(b);
+ return ret;
+}
+
+bool check_remote_message_port(void)
+{
+ int ret = -1;
+ bool found = false;
+
+ ret =
+ message_port_check_remote_port(APP_ID, MP_MESSAGE_PORT_LIVEBOX,
+ &found);
+ if (ret != MESSAGE_PORT_ERROR_NONE) {
+ ERROR_TRACE("message_port_check_remote_port error : %d", ret);
+ }
+ return found;
+}
+
+static int message_port_init(const char *event)
+{
+ int ret = -1;
+ check_remote_message_port();
+ ret = message_port_send_event_message(event);
+ return ret;
+}
+
+static int mp_widget_music_player_launch(void *data,
+ char **extra_data_keys,
+ char **extra_data_values,
+ int extra_data_length,
+ Eina_Bool show_player,
+ char *filepath)
+{
+ Evas_Object *layout = (Evas_Object *) data;
+ if (layout == NULL) {
+ return -1;
+ }
+ app_control_h service = NULL;
+ int ret = -1;
+ int i = 0;
+
+ ret = app_control_create(&service);
+ if (ret != APP_CONTROL_ERROR_NONE) {
+ ERROR_TRACE("Failed to create appcontrol");
+ } else {
+ app_control_set_app_id(service, "org.tizen.music-player");
+ app_control_set_operation(service, APP_CONTROL_OPERATION_DEFAULT);
+
+ for (i = 0; i < extra_data_length; ++i) {
+ app_control_add_extra_data(service, extra_data_keys[i],
+ extra_data_values[i]);
+ }
+
+ if (!show_player) {
+ app_control_add_extra_data(service, "request_type", "livebox");
+ } else {
+ app_control_add_extra_data(service, "host_type", "hide");
+ }
+ app_control_add_extra_data(service, "uri", filepath);
+
+ ret = app_control_send_launch_request(service,
+ mp_widget_music_player_result_callback,
+ layout);
+ if (ret != APP_CONTROL_ERROR_NONE) {
+ ERROR_TRACE("Failed to send launch request");
+ }
+
+ app_control_destroy(service);
+ }
+ return ret;
+}
+
+static void mp_widget_click_on_add_tracks_cb(void *data, Evas_Object * obj,
+ const char *emission,
+ const char *source)
+{
+ if (!data) {
+ DEBUG_TRACE("Invalid data");
+ return;
+ }
+ WidgetData *wgtdata = (WidgetData *) data;
+ Evas_Object *layout = (Evas_Object *) wgtdata->layout;
+ if (!layout) {
+ DEBUG_TRACE("Invalid layout");
+ return;
+ }
+ int extra_data_len = 1;
+ int i = 0;
+ char **extra_data_keys = NULL;
+ char **extra_data_values = NULL;
+
+ extra_data_keys = (char **) malloc(extra_data_len * sizeof(char *));
+ if (!extra_data_keys) {
+ return;
+ }
+
+ extra_data_values = (char **) malloc(extra_data_len * sizeof(char *));
+ if (!extra_data_values) {
+ free(extra_data_keys);
+ return;
+ }
+
+ for (i = 0; i < extra_data_len; ++i) {
+ extra_data_keys[i] = (char *) malloc(50);
+ extra_data_values[i] = (char *) malloc(50);
+ }
+
+ mp_widget_music_player_launch(layout, extra_data_keys,
+ extra_data_values, extra_data_len,
+ EINA_TRUE, NULL);
+ mp_widget_music_player_result(layout);
+
+ for (i = 0; i < extra_data_len; ++i) {
+ free(extra_data_keys[i]);
+ free(extra_data_values[i]);
+ }
+
+ free(extra_data_keys);
+ free(extra_data_values);
+}
+
+static void mp_widget_click_on_track_image_cb(void *data,
+ Evas_Object * obj,
+ const char *emission,
+ const char *source)
+{
+ if (!data) {
+ DEBUG_TRACE("Invalid data");
+ return;
+ }
+ WidgetData *wgtdata = (WidgetData *) data;
+ Evas_Object *layout = (Evas_Object *) wgtdata->layout;
+ if (!layout) {
+ DEBUG_TRACE("Invalid layout");
+ return;
+ }
+ int extra_data_len = 1;
+ int i = 0;
+ char **extra_data_keys = NULL;
+ char **extra_data_values = NULL;
+
+ extra_data_keys = (char **) malloc(extra_data_len * sizeof(char *));
+ if (!extra_data_keys) {
+ return;
+ }
+
+ extra_data_values = (char **) malloc(extra_data_len * sizeof(char *));
+ if (!extra_data_values) {
+ free(extra_data_keys);
+ return;
+ }
+
+ for (i = 0; i < extra_data_len; ++i) {
+ extra_data_keys[i] = (char *) malloc(50);
+ extra_data_values[i] = (char *) malloc(50);
+ }
+
+ mp_widget_music_player_launch(layout, extra_data_keys,
+ extra_data_values, extra_data_len,
+ EINA_TRUE, wgtdata->file_path);
+ mp_widget_music_player_result(layout);
+
+ for (i = 0; i < extra_data_len; ++i) {
+ free(extra_data_keys[i]);
+ free(extra_data_values[i]);
+ }
+
+ free(extra_data_keys);
+ free(extra_data_values);
+}
+
+static bool telephony_is_call_connected(void)
+{
+ DEBUG_TRACE("Gathering Telephony Information");
+ telephony_call_h *call_list_sim;
+ telephony_handle_list_s tel_list;
+ telephony_error_e ret_sim;
+ unsigned int count_sim[2];
+ count_sim[0] = 0;
+ count_sim[1] = 0;
+
+ int tel_valid = telephony_init(&tel_list);
+ if (tel_valid != 0) {
+ ERROR_TRACE("telephony is not initialized. ERROR Code is %d",
+ tel_valid);
+ return false;
+ }
+
+ for (int i = 0; i < tel_list.count; i++) {
+ ret_sim =
+ telephony_call_get_call_list(tel_list.handle[i], &count_sim[i],
+ &call_list_sim);
+ if (ret_sim != TELEPHONY_ERROR_NONE) {
+ ERROR_TRACE("Cannot get call list information for primary sim");
+ }
+
+ telephony_call_release_call_list(count_sim[i], &call_list_sim);
+ }
+
+ telephony_deinit(&tel_list);
+
+ if (count_sim[0] > 0) {
+ DEBUG_TRACE("Call connected from SIM 1");
+ return true;
+ }
+
+ if (count_sim[1] > 0) {
+ DEBUG_TRACE("Call connected from SIM 2");
+ return true;
+ }
+
+ return false;
+}
+
+static void mp_widget_click_on_play_cb(void *data, Evas_Object * obj,
+ const char *emission,
+ const char *source)
+{
+ if (!data) {
+ DEBUG_TRACE("Invalid data");
+ return;
+ }
+
+ bool call_state = telephony_is_call_connected();
+ const char *message = NULL;
+ if (call_state) {
+ message = STR_MP_UNABLE_TO_PLAY_DURING_CALL;
+ WARN_TRACE("receive PLAYER_INTERRUPTED_BY_CALL");
+ if (message) {
+ int ret =
+ notification_status_message_post(dgettext
+ (domain_name, message));
+ if (ret != 0) {
+ ERROR_TRACE("notification_status_message_post()... [0x%x]",
+ ret);
+ } else {
+ DEBUG_TRACE("message: [%s]", message);
+ }
+ }
+ return;
+ }
+
+ WidgetData *wgtdata = (WidgetData *) data;
+ Evas_Object *layout = (Evas_Object *) wgtdata->layout;
+ if (!layout) {
+ DEBUG_TRACE("Invalid layout");
+ return;
+ }
+
+ int extra_data_len = 1;
+ int i = 0;
+ char **extra_data_keys = NULL;
+ char **extra_data_values = NULL;
+
+ extra_data_keys = (char **) malloc(extra_data_len * sizeof(char *));
+ if (!extra_data_keys) {
+ return;
+ }
+
+ extra_data_values = (char **) malloc(extra_data_len * sizeof(char *));
+ if (!extra_data_values) {
+ free(extra_data_keys);
+ return;
+ }
+
+ for (i = 0; i < extra_data_len; ++i) {
+ extra_data_keys[i] = (char *) malloc(50);
+ extra_data_values[i] = (char *) malloc(50);
+ }
+
+ strncpy(extra_data_keys[0], MP_LB_EVENT_KEY, (strlen(MP_LB_EVENT_KEY) + 1));
+ extra_data_keys[0][strlen(MP_LB_EVENT_KEY)] = '\0';
+
+ if (!is_play) {
+ strncpy(extra_data_values[0], MP_LB_EVENT_PLAY_CLICKED,
+ (strlen(MP_LB_EVENT_PLAY_CLICKED) + 1));
+ extra_data_values[0][strlen(MP_LB_EVENT_PLAY_CLICKED)] = '\0';
+ } else {
+ strncpy(extra_data_values[0], MP_LB_EVENT_PAUSE_CLICKED,
+ (strlen(MP_LB_EVENT_PAUSE_CLICKED) + 1));
+ extra_data_values[0][strlen(MP_LB_EVENT_PAUSE_CLICKED)] = '\0';
+ }
+
+ if (message_port_init(extra_data_values[0]) != MESSAGE_PORT_ERROR_NONE) {
+ mp_widget_music_player_launch(layout, extra_data_keys,
+ extra_data_values, extra_data_len,
+ EINA_FALSE, wgtdata->file_path);
+ mp_widget_music_player_result(layout);
+ }
+ for (i = 0; i < extra_data_len; ++i) {
+ free(extra_data_keys[i]);
+ free(extra_data_values[i]);
+ }
+
+ free(extra_data_keys);
+ free(extra_data_values);
+}
+
+static void mp_widget_click_on_previous_cb(void *data, Evas_Object * obj,
+ const char *emission,
+ const char *source)
+{
+ if (!data) {
+ DEBUG_TRACE("Invalid data");
+ return;
+ }
+
+ bool call_state = telephony_is_call_connected();
+ if (call_state) {
+ WARN_TRACE("receive PLAYER_INTERRUPTED_BY_CALL");
+ return;
+ }
+
+ WidgetData *wgtdata = (WidgetData *) data;
+ Evas_Object *layout = (Evas_Object *) wgtdata->layout;
+ if (!layout) {
+ DEBUG_TRACE("Invalid layout");
+ return;
+ }
+
+ int extra_data_len = 1;
+ int i = 0;
+ char **extra_data_keys = NULL;
+ char **extra_data_values = NULL;
+
+ extra_data_keys = (char **) malloc(extra_data_len * sizeof(char *));
+ if (!extra_data_keys) {
+ return;
+ }
+
+ extra_data_values = (char **) malloc(extra_data_len * sizeof(char *));
+ if (!extra_data_values) {
+ free(extra_data_keys);
+ return;
+ }
+
+ for (i = 0; i < extra_data_len; ++i) {
+ extra_data_keys[i] = (char *) malloc(50);
+ extra_data_values[i] = (char *) malloc(50);
+ }
+
+ strncpy(extra_data_keys[0], MP_LB_EVENT_KEY, (strlen(MP_LB_EVENT_KEY) + 1));
+ extra_data_keys[0][strlen(MP_LB_EVENT_KEY)] = '\0';
+
+ strncpy(extra_data_values[0], MP_LB_EVENT_PREV_RELEASED,
+ (strlen(MP_LB_EVENT_PREV_RELEASED) + 1));
+ extra_data_values[0][strlen(MP_LB_EVENT_PREV_RELEASED)] = '\0';
+
+ if (message_port_init(extra_data_values[0]) != MESSAGE_PORT_ERROR_NONE) {
+ mp_widget_music_player_launch(layout, extra_data_keys,
+ extra_data_values, extra_data_len,
+ EINA_FALSE, wgtdata->file_path);
+ mp_widget_music_player_result(layout);
+ }
+
+ for (i = 0; i < extra_data_len; ++i) {
+ free(extra_data_keys[i]);
+ free(extra_data_values[i]);
+ }
+
+ free(extra_data_keys);
+ free(extra_data_values);
+}
+
+static void mp_widget_click_on_next_cb(void *data, Evas_Object * obj,
+ const char *emission,
+ const char *source)
+{
+ if (!data) {
+ DEBUG_TRACE("Invalid data");
+ return;
+ }
+
+ bool call_state = telephony_is_call_connected();
+ if (call_state) {
+ WARN_TRACE("receive PLAYER_INTERRUPTED_BY_CALL");
+ return;
+ }
+
+ WidgetData *wgtdata = (WidgetData *) data;
+ Evas_Object *layout = (Evas_Object *) wgtdata->layout;
+ if (!layout) {
+ DEBUG_TRACE("Invalid layout");
+ return;
+ }
+
+ int extra_data_len = 1;
+ int i = 0;
+ char **extra_data_keys = NULL;
+ char **extra_data_values = NULL;
+
+ extra_data_keys = (char **) malloc(extra_data_len * sizeof(char *));
+ if (!extra_data_keys) {
+ return;
+ }
+
+ extra_data_values = (char **) malloc(extra_data_len * sizeof(char *));
+ if (!extra_data_values) {
+ free(extra_data_keys);
+ return;
+ }
+
+ for (i = 0; i < extra_data_len; ++i) {
+ extra_data_keys[i] = (char *) malloc(50);
+ extra_data_values[i] = (char *) malloc(50);
+ }
+
+ strncpy(extra_data_keys[0], MP_LB_EVENT_KEY, (strlen(MP_LB_EVENT_KEY) + 1));
+ extra_data_keys[0][strlen(MP_LB_EVENT_KEY)] = '\0';
+
+ strncpy(extra_data_values[0], MP_LB_EVENT_NEXT_RELEASED,
+ (strlen(MP_LB_EVENT_NEXT_RELEASED) + 1));
+ extra_data_values[0][strlen(MP_LB_EVENT_NEXT_RELEASED)] = '\0';
+
+ if (message_port_init(extra_data_values[0]) != MESSAGE_PORT_ERROR_NONE) {
+ mp_widget_music_player_launch(layout, extra_data_keys,
+ extra_data_values, extra_data_len,
+ EINA_FALSE, wgtdata->file_path);
+ mp_widget_music_player_result(layout);
+ }
+
+ for (i = 0; i < extra_data_len; ++i) {
+ free(extra_data_keys[i]);
+ free(extra_data_values[i]);
+ }
+
+ free(extra_data_keys);
+ free(extra_data_values);
+}
+
+static void __mp_change_multiple_widgets(void *data,
+ Ecore_File_Monitor * em,
+ Ecore_File_Event event,
+ const char *path)
+{
+ Eina_List *temp_list = NULL;
+ WidgetData *wgtdata = NULL;
+ if (event == ECORE_FILE_EVENT_MODIFIED
+ || event == ECORE_FILE_EVENT_CREATED_FILE) {
+ DEBUG_TRACE("The monitored file path is: %s",
+ ecore_file_monitor_path_get(em));
+ EINA_LIST_FOREACH(widget_list, temp_list, wgtdata) {
+ char *path = app_get_data_path();
+ char playing_status[1024] = { 0 };
+ if (path == NULL) {
+ return;
+ }
+ snprintf(playing_status, 1024, "%s%s", path,
+ NOW_PLAYING_INI_PATH);
+ free(path);
+ mp_widget_read_ini_file_ecore(wgtdata, playing_status);
+ }
+ }
+ free(temp_list);
+}
+
+int mp_widget_create(WidgetData * data, int w, int h)
+{
+ if (!data) {
+ DEBUG_TRACE("Invalid data");
+ return -1;
+ }
+ char edj_path[PATH_MAX] = { 0, };
+ Evas_Object *layout = NULL;
+
+ layout = elm_layout_add(data->win);
+ if (!layout) {
+ DEBUG_TRACE("Failed to add layout");
+ return -1;
+ }
+ data->layout = layout;
+
+ char *res_path = app_get_resource_path();
+ DEBUG_TRACE("Resource Path is: %s", res_path);
+ if (res_path == NULL) {
+ return -1;
+ }
+ snprintf(edj_path, PATH_MAX, "%s%s", res_path, EDJE_FILE);
+ free(res_path);
+
+ Eina_Bool fileSet =
+ elm_layout_file_set(layout, edj_path, "mp_widget_main");
+ DEBUG_TRACE("Widget Layout File Set: %d", fileSet);
+ evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+
+ if ((elm_config_scale_get() - 1.7) < 0.0001) {
+ h = 304;
+ } else if ((elm_config_scale_get() - 1.8) < 0.0001) {
+ h = 253;
+ } else if ((elm_config_scale_get() - 2.4) < 0.0001) {
+ h = 405;
+ } else if ((elm_config_scale_get() - 2.6) < 0.0001) {
+ h = 405;
+ } else if ((elm_config_scale_get() - 2.8) < 0.0001) {
+ h = 405;
+ }
+
+ evas_object_resize(layout, w, h);
+ evas_object_show(layout);
+
+ widget_list = eina_list_append(widget_list, data);
+ DEBUG_TRACE("Number of widgets: %d", eina_list_count(widget_list));
+
+ elm_object_domain_translatable_part_text_set(layout, "noitems_title",
+ "music-player",
+ "IDS_MUSIC_BODY_MUSIC");
+ elm_object_domain_translatable_part_text_set(layout,
+ "noitems_subtitle",
+ "music-player",
+ "IDS_MUSIC_SK3_ADD_TRACKS");
+ char *path = app_get_data_path();
+ DEBUG_TRACE("Path is: %s", path);
+ char playing_status[1024] = { 0 };
+ if (path == NULL) {
+ return -1;
+ }
+ snprintf(playing_status, 1024, "%s%s", path, NOW_PLAYING_INI_PATH);
+ free(path);
+ mp_widget_read_ini_file(playing_status, data);
+
+ if (data->em == NULL) {
+ data->em =
+ ecore_file_monitor_add(playing_status,
+ __mp_change_multiple_widgets, NULL);
+ }
+
+ elm_object_signal_callback_add(layout, "mouse,down,1",
+ "noitems_title_bg",
+ mp_widget_click_on_add_tracks_cb,
+ (void *) data);
+ elm_object_signal_callback_add(layout, "mouse,down,1",
+ "noitems_subtitle_bg",
+ mp_widget_click_on_add_tracks_cb,
+ (void *) data);
+ elm_object_signal_callback_add(layout, "mouse,down,1", "track_image",
+ mp_widget_click_on_track_image_cb,
+ (void *) data);
+ elm_object_signal_callback_add(layout, "mouse,down,1",
+ "track_play_image",
+ mp_widget_click_on_play_cb,
+ (void *) data);
+ elm_object_signal_callback_add(layout, "mouse,down,1",
+ "track_prev_image",
+ mp_widget_click_on_previous_cb,
+ (void *) data);
+ elm_object_signal_callback_add(layout, "mouse,down,1",
+ "track_next_image",
+ mp_widget_click_on_next_cb,
+ (void *) data);
+
+
+ return 0;
+}
+
+/* End of a file */
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * 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.
+ */
+
+#include <Elementary.h>
+#include <tizen.h>
+#include <app.h>
+#include <dlog.h>
+
+#include <widget_errno.h>
+#include <widget_service.h>
+#include <widget_app.h>
+#include <widget_app_efl.h>
+
+#include "mp_widget.h"
+#include "mp_widget_debug.h"
+
+extern Eina_List *widget_list;
+
+void *getWidgetData(widget_context_h context)
+{
+ void *data = NULL;
+ widget_app_context_get_tag(context, &data);
+ return data;
+}
+
+int widget_Create(widget_context_h context, bundle * content, int w, int h,
+ void *data)
+{
+ Evas_Object *win = NULL;
+ int ret = widget_app_get_elm_win(context, &win);
+ if (ret != WIDGET_ERROR_NONE) {
+ DbgPrint("failed to get window. err = %d", ret);
+ }
+ elm_config_accel_preference_set("3d");
+
+ WidgetData *widget_data = NULL;
+
+ widget_data = calloc(1, sizeof(WidgetData));
+ if (!widget_data) {
+ DEBUG_TRACE("failed to create instance");
+ return WIDGET_ERROR_OUT_OF_MEMORY;
+ }
+
+ char edje_path[1024] = { 0 };
+ char *path = app_get_resource_path();
+ snprintf(edje_path, 1024, "%s%s", path, "locale");
+ bindtextdomain("music-player", edje_path);
+ free(path);
+
+ widget_data->win = win;
+ widget_data->em = NULL;
+
+ evas_object_resize(widget_data->win, w, h);
+ evas_object_color_set(widget_data->win, 0, 0, 0, 0);
+ evas_object_show(widget_data->win);
+
+ if (mp_widget_create(widget_data, w, h) != 0) {
+ DEBUG_TRACE("failed to create layout");
+ return WIDGET_ERROR_INVALID_PARAMETER;
+ }
+
+ widget_app_context_set_tag(context, widget_data);
+
+ return WIDGET_ERROR_NONE;
+}
+
+int widget_Destroy(widget_context_h context,
+ widget_app_destroy_type_e reason, bundle * content,
+ void *data)
+{
+ DEBUG_TRACE("Widget Destroy");
+ WidgetData *widget_data = NULL;
+
+ widget_data = (WidgetData *) getWidgetData(context);
+ if (!widget_data) {
+ return WIDGET_ERROR_INVALID_PARAMETER;
+ }
+ widget_app_context_set_tag(context, NULL);
+
+ if (widget_data->file_path) {
+ free((char *) widget_data->file_path);
+ widget_data->file_path = NULL;
+ }
+
+ widget_list = eina_list_remove(widget_list, widget_data);
+ if (eina_list_count(widget_list) == 0) {
+ free(widget_list);
+ }
+
+ ecore_file_monitor_del(widget_data->em);
+ evas_object_del(widget_data->win);
+ free(widget_data);
+
+ return WIDGET_ERROR_NONE;
+}
+
+int widget_Pause(widget_context_h context, void *data)
+{
+ DEBUG_TRACE("Widget Pause");
+ return WIDGET_ERROR_NONE;
+}
+
+int widget_Resume(widget_context_h context, void *data)
+{
+ DEBUG_TRACE("Widget Resume");
+ return WIDGET_ERROR_NONE;
+}
+
+int widget_Resize(widget_context_h context, int w, int h, void *data)
+{
+ DEBUG_TRACE("Widget Resize");
+ WidgetData *widget_data = NULL;
+
+ widget_data = (WidgetData *) getWidgetData(context);
+ if (!widget_data) {
+ return WIDGET_ERROR_INVALID_PARAMETER;
+ }
+
+ evas_object_resize(widget_data->win, w, h);
+
+ return WIDGET_ERROR_NONE;
+}
+
+int widget_Update(widget_context_h context, bundle * content, int force,
+ void *data)
+{
+ DEBUG_TRACE("Widget Update");
+ return WIDGET_ERROR_NONE;
+}
+
+static void app_language_changed(app_event_info_h event_info, void *data)
+{
+ DEBUG_TRACE("language change triggered");
+ char *lang = NULL;
+ app_event_get_language(event_info, &lang);
+ if (lang) {
+ elm_language_set(lang);
+ free(lang);
+ }
+}
+
+static void app_region_changed(app_event_info_h event_info, void *data)
+{
+ DEBUG_TRACE("region change triggered");
+}
+
+widget_class_h app_create(void *data)
+{
+ app_event_handler_h lang_changed_handler;
+ app_event_handler_h region_changed_handler;
+
+ widget_app_add_event_handler(&lang_changed_handler,
+ APP_EVENT_LANGUAGE_CHANGED,
+ &app_language_changed, data);
+ widget_app_add_event_handler(®ion_changed_handler,
+ APP_EVENT_REGION_FORMAT_CHANGED,
+ &app_region_changed, data);
+
+ widget_instance_lifecycle_callback_s ops;
+ ops.create = widget_Create;
+ ops.destroy = widget_Destroy;
+ ops.pause = widget_Pause;
+ ops.resume = widget_Resume;
+ ops.resize = widget_Resize;
+ ops.update = widget_Update;
+
+ return widget_app_class_create(ops, data);
+}
+
+void app_terminate(void *data)
+{
+ /**
+ * @TODO:
+ */
+}
+
+int main(int argc, char *argv[])
+{
+ int result = WIDGET_ERROR_NONE;
+
+ widget_app_lifecycle_callback_s ops = { 0, };
+ ops.create = app_create;
+ ops.terminate = app_terminate;
+
+ result = widget_app_main(argc, argv, &ops, NULL);
+ if (result != WIDGET_ERROR_NONE) {
+ DbgPrint("widget_app_main() is failed. err = %d", result);
+ }
+
+ return result;
+}
+
+/* End of a file */
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<manifest xmlns="http://tizen.org/ns/packages" api-version="3.0" package="org.tizen.music-player" version="1.0.0">
+ <profile name="mobile"/>
+ <widget-application appid="org.tizen.music-player.widget" exec="music-player-widget" main="false" update-period="60">
+ <label>Music player</label>
+ <label xml:lang="hy-am">Նվագարկիչ</label>
+ <label xml:lang="az-az">Pleyer</label>
+ <label xml:lang="eu-es">Musika Jogailua</label>
+ <label xml:lang="bg-bg">Музикален плейър</label>
+ <label xml:lang="ca-es">Reproductor de música</label>
+ <label xml:lang="zh-cn">音乐播放器</label>
+ <label xml:lang="zh-hk">音樂播放器</label>
+ <label xml:lang="zh-tw">音樂播放器</label>
+ <label xml:lang="hr-hr">Music Player</label>
+ <label xml:lang="cs-cz">Hudební přehrávač</label>
+ <label xml:lang="da-dk">Musikafspiller</label>
+ <label xml:lang="nl-nl">MP3-speler</label>
+ <label xml:lang="en-gb">Music Player</label>
+ <label xml:lang="en-us">Music Player</label>
+ <label xml:lang="et-ee">MP3-mängija</label>
+ <label xml:lang="fi-fi">Musiikki</label>
+ <label xml:lang="fr-fr">Lecteur MP3</label>
+ <label xml:lang="gl-es">Reprodutor de Música</label>
+ <label xml:lang="ka-ge">პლეერი</label>
+ <label xml:lang="de-de">MP3-Player</label>
+ <label xml:lang="el-gr">Μουσική</label>
+ <label xml:lang="hu-hu">Zenelejátszó</label>
+ <label xml:lang="is-is">Tónlistarspilari</label>
+ <label xml:lang="ga-ie">Seinnteoir Ceoil</label>
+ <label xml:lang="it-it">Lettore musicale</label>
+ <label xml:lang="ja-jp">音楽</label>
+ <label xml:lang="kk-kz">Музыкалық плейер</label>
+ <label xml:lang="ko-kr">뮤직</label>
+ <label xml:lang="lv-lv">Mūzikas Atskaņotājs</label>
+ <label xml:lang="lt-lt">Muzikos grotuvas</label>
+ <label xml:lang="mk-mk">Плеер за музика</label>
+ <label xml:lang="nb-no">Musikk-spiller</label>
+ <label xml:lang="pl-pl">Odtwarzacz muzyki</label>
+ <label xml:lang="pt-pt">Leitor de Música</label>
+ <label xml:lang="pt-br">Music Player</label>
+ <label xml:lang="ro-ro">Player muzical</label>
+ <label xml:lang="ru-ru">Музыка</label>
+ <label xml:lang="sr-rs">Muzički plejer</label>
+ <label xml:lang="sk-sk">Prehrávač hudby</label>
+ <label xml:lang="sl-si">Predvajalnik glasbe</label>
+ <label xml:lang="es-es">Música</label>
+ <label xml:lang="es-us">Música</label>
+ <label xml:lang="sv-se">Musikspelare</label>
+ <label xml:lang="tr-tr">Müzik Çalar</label>
+ <label xml:lang="uk-ua">Музичний плеєр</label>
+ <label xml:lang="uz-uz">Musiqa pleyeri</label>
+ <label xml:lang="ar-ae">مشغل الموسيقى</label>
+ <label xml:lang="zh-sg">音樂播放器</label>
+ <label xml:lang="hi-in">संगीत प्लेयर</label>
+ <label xml:lang="en-ph">Music Player</label>
+ <label xml:lang="fr-ca">Lecteur de musique</label>
+ <icon>widget.png</icon>
+ <support-size preview="preview_music_4x2.png">4x2</support-size>
+ </widget-application>
+</manifest>