--- /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="0.970288608">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="0.970288608" moduleId="org.eclipse.cdt.core.settings" name="Default">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.VCErrorParser" 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.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration buildProperties="" description="" id="0.970288608" name="Default" parent="org.eclipse.cdt.build.core.prefbase.cfg">
+ <folderInfo id="0.970288608." name="/" resourcePath="">
+ <toolChain id="org.eclipse.cdt.build.core.prefbase.toolchain.1010882345" name="No ToolChain" resourceTypeBasedDiscovery="false" superClass="org.eclipse.cdt.build.core.prefbase.toolchain">
+ <targetPlatform id="org.eclipse.cdt.build.core.prefbase.toolchain.1010882345.919103283" name=""/>
+ <builder id="org.eclipse.cdt.build.core.settings.default.builder.1944184882" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="org.eclipse.cdt.build.core.settings.default.builder"/>
+ <tool id="org.eclipse.cdt.build.core.settings.holder.libs.1893821514" name="holder for library settings" superClass="org.eclipse.cdt.build.core.settings.holder.libs"/>
+ <tool id="org.eclipse.cdt.build.core.settings.holder.25008213" name="Assembly" superClass="org.eclipse.cdt.build.core.settings.holder">
+ <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.1217267686" languageId="org.eclipse.cdt.core.assembly" languageName="Assembly" sourceContentType="org.eclipse.cdt.core.asmSource" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
+ </tool>
+ <tool id="org.eclipse.cdt.build.core.settings.holder.1083005398" name="GNU C++" superClass="org.eclipse.cdt.build.core.settings.holder">
+ <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.1888860529" languageId="org.eclipse.cdt.core.g++" languageName="GNU C++" sourceContentType="org.eclipse.cdt.core.cxxSource,org.eclipse.cdt.core.cxxHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
+ </tool>
+ <tool id="org.eclipse.cdt.build.core.settings.holder.628428999" name="GNU C" superClass="org.eclipse.cdt.build.core.settings.holder">
+ <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.687469324" languageId="org.eclipse.cdt.core.gcc" languageName="GNU C" sourceContentType="org.eclipse.cdt.core.cSource,org.eclipse.cdt.core.cHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
+ </tool>
+ </toolChain>
+ </folderInfo>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ </cconfiguration>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <project id="music-player.null.1753846418" name="music-player"/>
+ </storageModule>
+ <storageModule moduleId="scannerConfiguration">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+ <scannerConfigBuildInfo instanceId="0.970288608">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+ </scannerConfigBuildInfo>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
+</cproject>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>music-player</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
+ <triggers>clean,full,incremental,</triggers>
+ <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
+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 "${DATA_PREFIX}/data")
+SET(SHAREDDIR "${PREFIX}/shared")
+SET(LOCALEDIR "${RESDIR}/locale")
+SET(ICONDIR "${RESDIR}/icons/default/small")
+SET(EDJDIR "${RESDIR}/edje")
+#SET(RICH_INFO_DIR "${CMAKE_CURRENT_SOURCE_DIR}/src/rich_info")
+
+message("CMAKE_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}")
+message("PREFIX ${PREFIX}")
+message("BINDIR ${BINDIR}")
+message("DATADIR ${DATADIR}")
+
+#START_PUBLIC_DISABLE_FEATURE
+#MP_FEATURE_ADD_TO_HOME
+#MP_FEATURE_LANDSCAPE
+#MP_FEATURE_CONTEXT_ENGINE
+#MP_FEATURE_APP_IN_APP
+#MP_3D_FEATURE
+#MP_FEATURE_INNER_SETTINGS
+#MP_FEATURE_DESKTOP_MODE
+#MP_FEATURE_SHORTCUT
+#MP_FEATURE_VOICE_CONTROL
+#MP_FEATURE_LOCKSCREEN
+#END_START_PUBLIC_DISABLE_FEATURE
+
+
+# Build features
+#ADD_DEFINITIONS("-DMP_FEATURE_APP_IN_APP")
+#ADD_DEFINITIONS("-DMP_FEATURE_ALBUM_COVER_BG")
+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")
+ADD_DEFINITIONS("-DGBSBUILD")
+
+# USE VARIABLE DEFINE SERVICE MACRO
+#SET(OPTION_MP_FEATURE_SUGGEST_FOR_YOU TRUE)
+#IF(OPTION_MP_FEATURE_SUGGEST_FOR_YOU)
+# ADD_DEFINITIONS("-DMP_FEATURE_SUGGEST_FOR_YOU")
+# MESSAGE("### Add service process ###")
+#ENDIF(OPTION_MP_FEATURE_SUGGEST_FOR_YOU)
+
+IF (CMAKE_DISABLE_FEATURE_MMS)
+ message("##Disable mms##")
+ ADD_DEFINITIONS("-DMP_FEATURE_DISABLE_MMS")
+# ADD_DEFINITIONS("-DMP_FEATURE_ALBUMART_UPDATE")
+ENDIF (CMAKE_DISABLE_FEATURE_MMS)
+IF (CMAKE_ENABLE_FEATURE_DROPBOX)
+ message("##enable dropbox##")
+ ADD_DEFINITIONS("-DMP_FEATURE_ENABLE_DROPBOX")
+ENDIF (CMAKE_ENABLE_FEATURE_DROPBOX)
+#ADD_DEFINITIONS("-DMP_FEATURE_LANDSCAPE")
+
+#IF (CMAKE_ENABLE_MULTIWINDOW)
+# message("##enable multiwindow##")
+# ADD_DEFINITIONS("-DMP_FEATURE_MULTIWINDOW")
+#ENDIF (CMAKE_ENABLE_MULTIWINDOW)
+
+IF (CMAKE_DEBUG_MODE)
+ ADD_DEFINITIONS("-DMP_DEBUG_MODE")
+# ADD_DEFINITIONS("-DMP_FEATURE_ALBUMART_UPDATE")
+ 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-player-drm.c
+ src/core/mp-setting-ctrl.c
+ src/core/mp-streaming-mgr.c
+ src/core/mp-music-view-mgr.c
+ src/core/mp-lyric-mgr.c
+ src/core/mp-avrcp.c
+ src/core/mp-volume.c
+ src/core/mp-http-mgr.c
+ src/core/mp-language-mgr.c
+ src/core/mp-playlist-mgr.c
+ src/core/mp-view-mgr.c
+# src/core/mp-cloud.c
+ src/core/mp-floating-widget-mgr.c
+ src/core/mp-watch-dog.c
+ src/common/mp-common.c
+ src/common/mp-edit-callback.c
+ src/common/mp-item.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-recommend.c
+# src/common/mp-albumart.c
+ src/common/mp-db-client.c
+ src/common/mp-file-util.c
+# src/view/mp-lyric-view.c
+# src/view/mp-mw-lyric-view.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-scroll-page.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-folder-view.c
+ src/view/mp-folder-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-square-playlist-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/view/mp-square-layout.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-folder-list.c
+ src/widget/mp-now-playing-list.c
+# src/widget/mp-square-list.c
+
+
+#START_PUBLIC_REMOVED_STRING
+# src/core/mp-wifidirect-mgr.c
+# src/core/mp-music-view-mgr.c
+# src/core/mp-s-beam.c
+# src/core/mp-context.c
+# src/core/mp-voice-control-mgr.c
+# src/core/mp-crypto.c
+ src/core/mp-collect-color-sort.c
+ src/core/mp-collect-color.c
+ src/view/mp-setting-view.c
+ src/view/mp-detail-view.c
+# src/view/mp-album-booklet-view.c
+# src/view/mp-artist-booklet-view.c
+ src/widget/mp-mini-player.c
+ src/widget/mp-notification.c
+# src/view/mp-square-view-new.c
+# src/view/mp-make-offline-view.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/dali/include
+ src/dmc-player/include
+ src/setting/src/include
+ #src/rich_info/src/include
+ #src/rich_info/src/core/include
+ src/lib/include
+#END_START_PUBLIC_REMOVED_STRING
+)
+
+INCLUDE_DIRECTORIES(${COMMON_INCLUDE})
+
+#SET(SRCS ${COMMON_SRCS} ${RICH_INFO_SRCS})
+SET(SRCS ${COMMON_SRCS})
+
+SET(REQUIRED_PKGS
+ elementary
+ cairo
+ dlog
+ vconf
+ libxml-2.0
+ #ecore-x
+ efl-extension
+ edje
+ evas
+ capi-appfw-application
+ 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
+#START_PUBLIC_REMOVED_STRING
+ capi-web-url-download
+ notification
+ libcore-context-manager
+ capi-network-wifi-direct
+ capi-system-info
+ capi-system-runtime-info
+ capi-network-wifi
+ 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=\"${DATA_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__")
+#ADD_DEFINITIONS("-DMP_3D_FEATURE")
+TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} -lstdc++ -lm -ldl)
+#TARGET_LINK_LIBRARIES(${PROJECT_NAME} -ldali-adaptor -ldali-core -ldali-toolkit dali)
+
+else()
+#END_START_PUBLIC_REMOVED_STRING
+TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} -lm -ldl)
+#START_PUBLIC_REMOVED_STRING
+#TARGET_LINK_LIBRARIES(${PROJECT_NAME} -L${CMAKE_SOURCE_DIR}/src/lib -lMusicSquare_Tizen_SL)
+endif()
+#TARGET_LINK_LIBRARIES(${PROJECT_NAME} -L${CMAKE_SOURCE_DIR}/src/lib -lsmat)
+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/layout/mp-custom-winset-style.edc ${CMAKE_BINARY_DIR}/res/edje/layout/mp-custom-winset-style.edj
+ DEPENDS ${CMAKE_SOURCE_DIR}/res/edje/layout/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/layout/mp-library.edc ${CMAKE_BINARY_DIR}/res/edje/layout/mp-library.edj
+ DEPENDS ${CMAKE_SOURCE_DIR}/res/edje/layout/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/layout/music.edc ${CMAKE_BINARY_DIR}/res/edje/layout/music.edj
+ DEPENDS ${CMAKE_SOURCE_DIR}/res/edje/layout/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/layout/mp-minicontroller.edc ${CMAKE_BINARY_DIR}/res/edje/layout/mp-minicontroller.edj
+ DEPENDS ${CMAKE_SOURCE_DIR}/res/edje/layout/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/layout/mp-lockscreenmini.edc ${CMAKE_BINARY_DIR}/res/edje/layout/mp-lockscreenmini.edj
+ DEPENDS ${CMAKE_SOURCE_DIR}/res/edje/layout/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/layout/mp-images.edc ${CMAKE_BINARY_DIR}/res/edje/layout/mp-images.edj
+ DEPENDS ${CMAKE_SOURCE_DIR}/res/edje/layout/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/layout/mp-fake-effect.edc ${CMAKE_BINARY_DIR}/res/edje/layout/mp-fake-effect.edj
+ DEPENDS ${CMAKE_SOURCE_DIR}/res/edje/layout/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 ${DATA_PREFIX}/shared/data)
+INSTALL(FILES ${CMAKE_BINARY_DIR}/res/edje/layout/mp-custom-winset-style.edj DESTINATION ${EDJDIR})
+INSTALL(FILES ${CMAKE_BINARY_DIR}/res/edje/layout/music.edj DESTINATION ${EDJDIR})
+INSTALL(FILES ${CMAKE_BINARY_DIR}/res/edje/layout/mp-library.edj DESTINATION ${EDJDIR})
+INSTALL(FILES ${CMAKE_BINARY_DIR}/res/edje/layout/mp-minicontroller.edj DESTINATION ${EDJDIR})
+INSTALL(FILES ${CMAKE_BINARY_DIR}/res/edje/layout/mp-lockscreenmini.edj DESTINATION ${EDJDIR})
+INSTALL(FILES ${CMAKE_BINARY_DIR}/res/edje/layout/mp-images.edj DESTINATION ${EDJDIR})
+INSTALL(FILES ${CMAKE_BINARY_DIR}/res/edje/layout/mp-library.edj DESTINATION ${EDJDIR})
+INSTALL(FILES ${CMAKE_BINARY_DIR}/res/edje/layout/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 ${DESKTOP_DIR}/packages)
+
+# Share APP mo files with music chooser
+SET(MC_MUSIC_PROJECT_NAME org.tizen.music-chooser)
+
+# i18n
+ADD_SUBDIRECTORY(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)
+
+#install smack rule file
+INSTALL(FILES ${CMAKE_SOURCE_DIR}/${PKG_NAME}.efl DESTINATION /etc/smack/accesses.d)
+#END_START_PUBLIC_REMOVED_STRING
+
+# music-player widget
+ADD_SUBDIRECTORY(widget)
+
+# log dump script
+INSTALL(FILES ${CMAKE_SOURCE_DIR}/dump_${PKG_NAME}.sh DESTINATION ${CMAKE_LOG_DUMP_SCRIPT_DIR})
+
--- /dev/null
+Copyright (c) 2000 - 2015 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.
+
+
--- /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
+#!/bin/sh
+
+#--------------------------------------
+# com.samsung.music-player
+#--------------------------------------
+
+
+PKG_NAME=org.tizen.music-player
+
+DUMP_DIR=$1/$PKG_NAME
+/bin/mkdir -p $DUMP_DIR
+
+# app data
+APP_DATA_DIR=/opt/usr/apps/$PKG_NAME/data
+if [ -d "$APP_DATA_DIR" ]
+then
+ /bin/echo "copy ${APP_DATA_DIR}"
+ /bin/cp -a $APP_DATA_DIR $DUMP_DIR
+fi
+
+# media DB
+MEDIA_DB=/opt/usr/dbspace/.media.db
+if [ "$MEDIA_DB" ]
+then
+ /bin/echo "copy media DB ..."
+ /bin/cp ${MEDIA_DB}* $DUMP_DIR
+fi
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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__
+
+#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"
+
+#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"
+
+
+
+//1 Do not change default thumbnail path. it's shared by other apps
+#define DEFAULT_THUMBNAIL "/usr/apps/org.tizen.music-player/shared/res/shared_images/default_album_art_120.png"
+#define DEFAULT_THUMBNAIL_MIDDLE "/usr/apps/org.tizen.music-player/shared/res/shared_images/default_albumart_middle.png"
+#define DEFAULT_THUMBNAIL_SMALL "/usr/apps/org.tizen.music-player/shared/res/shared_images/default_albumart_small.png"
+#define DEFAULT_PLAYER_THUMBNAIL "/usr/apps/org.tizen.music-player/shared/res/shared_images/default_album_art_480.png"
+#define BROKEN_ALBUMART_IMAGE_PATH "/opt/usr/share/media/.thumb/thumb_default.png"
+
+#define PLAYLIST_CREATE_THUMBNAIL "/usr/apps/org.tizen.music-player/res/images/music_player/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 MP_INI_DIR"/MpPlayingList.dat"
+
+//for supprot group list in PD
+#define MP_GROUP_LIST_DATA MP_INI_DIR"/MpGroupList.dat"
+
+#define MP_NOWPLAYING_INI_FILE_NAME MP_INI_DIR"/now_playing.ini"
+
+#define MP_AUTO_PLAYLIST_ITEM_MAX 50
+
+#define FACTORY_MUSIC "/opt/usr/media/Sounds/Over the horizon.mp3"
+
+#define MP_PHONE_ROOT_PATH "/opt/usr/media"
+#define MP_MMC_ROOT_PATH "/opt/storage/sdcard"
+
+#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) 2000-2015 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 MP_LITE_REORDER_ICON "lite/core_button_reorder.png"
+
+#define NOCONTENT_MULTIMEDIA ICON_DIRECTORY"/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 ICON_DIRECTORY"/2x2_music_yellow.png"
+#define LIVE_THUMBNAIL_RECENTLY_PLAYED ICON_DIRECTORY"/2x2_music_green.png"
+#define LIVE_THUMBNAIL_RECENTLY_ADDED ICON_DIRECTORY"/2x2_music_blue.png"
+#define LIVE_THUMBNAIL_QUICK_LIST ICON_DIRECTORY"/2x2_music_red.png"
+
+#define LIVE_ICON_MOST_PLAYED ICON_DIRECTORY"/music_icon_most.png"
+#define LIVE_ICON_RECENTLY_PLAYED ICON_DIRECTORY"/music_icon_recently_play.png"
+#define LIVE_ICON_RECENTLY_ADDED ICON_DIRECTORY"/music_icon_recently_add.png"
+#define LIVE_ICON_QUICK_LIST ICON_DIRECTORY"/music_icon_favourites.png"
+
+#define MP_ICON_ALLSHARE_FOLDER ICON_DIRECTORY"/allshare/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) 2000-2015 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_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 "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) 2000-2015 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__
+
+#ifdef GBS_BUILD
+#include <vconf-keys.h>
+#endif
+#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
+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
+ elementary
+ efl-extension
+ dlog
+ vconf
+ capi-appfw-application
+ capi-appfw-preference
+ capi-appfw-app-manager
+)
+
+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}")
+SET(CMAKE_LDFLAGS "-Wl,-zdefs" )
+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}/shared/trusted/music-chooser")
+SET(MC_EDJ_NAME "${MC_PREFIX}/shared/trusted/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}/layout/music-chooser.edc
+ ${CMAKE_BINARY_DIR}/res/edje/layout/music-chooser.edj
+ DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/layout/music-chooser.edc
+)
+ADD_DEPENDENCIES(${PROJECT_NAME} music-chooser.edj)
+
+INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${BINDIR})
+INSTALL(DIRECTORY DESTINATION ${DATADIR})
+INSTALL(FILES ${CMAKE_BINARY_DIR}/res/edje/layout/music-chooser.edj DESTINATION ${MC_PREFIX}/shared/trusted)
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/org.tizen.music-chooser.xml DESTINATION ${DESKTOP_DIR}/packages)
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/music-chooser.png DESTINATION /usr/share/icons/default/small)
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/org.tizen.music-chooser.efl DESTINATION /etc/smack/accesses.d)
--- /dev/null
+Copyright (c) 2000 - 2015 Samsung Electronics Co., Ltd. All rights reserved.
+
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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) 2000-2015 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) 2000-2015 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; \
+
+
+//**************************************************************************//
+//**********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; \
+ }
+
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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) 2000-2015 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) 2000-2015 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;
+ }
+ 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";}
+ 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";}
+ 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;
+ }
+ 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;
+ }
+ 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";}
+ 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";}
+ 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";}
+ 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;
+ }
+ 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;
+ }
+ 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) 2000-2015 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) 2000-2015 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;
+ }
+ }
+
+ }
+ }
+}
+
+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;
+ }
+ }
+ }
+
+ 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"; }
+ }
+ }
+
+ 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;
+ }
+ 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) 2000-2015 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/item/ntabbar";
+ alias: "elm/toolbar/item/default";
+ images {
+ image: "core_tabs_fade_out_ef_r.#.png" COMP;
+ image: "core_tabs_fade_out_ef_l.#.png" COMP;
+ }
+ data {
+ item: "transition_animation_on" "0";
+ item: "widget_style" "Toolbar Item";
+ }
+ 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;
+ public sliding_timer;
+ public end_timer;
+ public check_timer;
+ public text_w;
+ public org_text_w;
+ public bg_w;
+ public loop_count = 0;
+ public sliding = 0;
+
+ public get_width() {
+ new x, y, w, h;
+ if (get_int(selected))
+ {
+ set_state(PART:"elm.text", "text_selected", 0.0);
+ }
+ else
+ {
+ set_state(PART:"elm.text", "text", 0.0);
+ }
+ get_geometry(PART:"elm.text", x, y, w, h);
+ set_int(org_text_w, w);
+
+ set_state(PART:"elm.text", "sliding", 0.0);
+ get_geometry(PART:"elm.text", x, y, w, h);
+ set_int(text_w, w);
+ }
+ public get_width_landscape() {
+ new x, y, w, h;
+ get_geometry(PART:"bg", x, y, w, h);
+ set_int(bg_w, w);
+
+ set_state(PART:"elm.text", "sliding", 0.0);
+ get_geometry(PART:"elm.text", x, y, w, h);
+ set_int(text_w, w);
+ }
+
+ public ender(val) {
+ set_int(loop_count, 0);
+ if (get_int(sliding_timer)) cancel_timer(get_int(sliding_timer));
+ set_int(sliding_timer, 0);
+ if (get_int(end_timer)) cancel_timer(get_int(end_timer));
+ set_int(end_timer, 0);
+ set_state(PART:"elm.text.dim.left", "default", 0.0);
+ set_state(PART:"elm.text_new.clipper", "default", 0.0);
+ if (val == 1) {
+ set_int(sliding, TOOLBAR_SLIDING_END);
+ custom_state(PART:"elm.text", "sliding", 0.0);
+ set_state_val(PART:"elm.text", STATE_REL1_OFFSET, TOOLBAR_SLIDING_TEXT_OFFSET, 0);
+ set_state_val(PART:"elm.text", STATE_REL2_OFFSET, TOOLBAR_SLIDING_TEXT_OFFSET, -1);
+ set_state(PART:"elm.text", "custom", 0.0);
+ } else {
+ set_int(sliding, TOOLBAR_SLIDING_NO_EFFECT);
+ if(get_int(pressed))
+ {
+ set_state(PART:"elm.text", "text_pressed", 0.0);
+ }
+ else if (get_int(selected))
+ {
+ set_state(PART:"elm.text", "text_selected", 0.0);
+ set_state(PART:"selected_line", "selected", 0.0);
+ }
+ else
+ {
+ set_state(PART:"elm.text", "text", 0.0);
+ }
+ set_state(PART:"elm.text.dim.right", "default", 0.0);
+ }
+ }
+ public check_text(val) {
+ if (get_int(landscape))
+ {
+ get_width_landscape();
+ if (get_int(text_w) <= get_int(bg_w)) {
+ ender(0);
+ return;
+ }
+ }
+ }
+ public slide_text(val) {
+ new buf[1024];
+ if (val == TOOLBAR_SLIDING_TEXT_OFFSET) {
+ set_int(loop_count, get_int(loop_count) + 1);
+ if (get_int(landscape))
+ {
+ get_width_landscape();
+ if (get_int(text_w) <= get_int(bg_w)) {
+ ender(0);
+ return;
+ }
+ }
+ else
+ {
+ get_width();
+ if (get_int(text_w) <= get_int(org_text_w)) {
+ ender(0);
+ return;
+ }
+ }
+ }
+ val -= TOOLBAR_SLIDING_PER_FPS;
+
+ set_int(sliding, TOOLBAR_SLIDING_DOING);
+
+ if (val <= -get_int(text_w) - TOOLBAR_SLIDING_TEXT_GAP + TOOLBAR_SLIDING_TEXT_OFFSET)
+ val = TOOLBAR_SLIDING_TEXT_OFFSET;
+
+ set_state(PART:"selected_line", "sliding", 0.0);
+ custom_state(PART:"elm.text", "sliding", 0.0);
+ set_state_val(PART:"elm.text", STATE_REL1_OFFSET, val, 0);
+ set_state_val(PART:"elm.text", STATE_REL2_OFFSET, val, -1);
+ if (!get_int(pressed))
+ set_state_val(PART:"elm.text", STATE_TEXT_STYLE, "tabbar_text_style_T1117S");
+ else
+ set_state_val(PART:"elm.text", STATE_TEXT_STYLE, "tabbar_text_style_T1117P");
+ set_state(PART:"elm.text", "custom", 0.0);
+
+ set_state(PART:"elm.text_new.clipper", "animation", 0.0);
+ get_text(PART:"elm.text", buf, 1024);
+ set_text(PART:"elm.text_new", buf);
+
+ custom_state(PART:"elm.text_new", "sliding", 0.0);
+ set_state_val(PART:"elm.text_new", STATE_REL1_OFFSET,
+ val + get_int(text_w) + TOOLBAR_SLIDING_TEXT_GAP, 0);
+ set_state_val(PART:"elm.text_new", STATE_REL2_OFFSET,
+ val + get_int(text_w) + TOOLBAR_SLIDING_TEXT_GAP, 0);
+ if (!get_int(pressed))
+ set_state_val(PART:"elm.text_new", STATE_TEXT_STYLE, "tabbar_text_style_T1117S");
+ else
+ set_state_val(PART:"elm.text_new", STATE_TEXT_STYLE, "tabbar_text_style_T1117P");
+ set_state(PART:"elm.text_new", "custom", 0.0);
+
+ if (!get_int(pressed))
+ {
+ set_state(PART:"elm.text.dim.left", "show", 0.0);
+ set_state(PART:"elm.text.dim.right", "show", 0.0);
+ }
+ else
+ {
+ set_state(PART:"elm.text.dim.left", "show_pressed", 0.0);
+ set_state(PART:"elm.text.dim.right", "show_pressed", 0.0);
+ }
+
+ if (val == TOOLBAR_SLIDING_TEXT_OFFSET || val <= -get_int(text_w))
+ {
+ set_state(PART:"elm.text.dim.left", "default", 0.0);
+ set_int(sliding, TOOLBAR_SLIDING_END);
+ }
+ else
+ set_int(sliding, TOOLBAR_SLIDING_DOING);
+
+
+ if (val == TOOLBAR_SLIDING_TEXT_OFFSET) {
+ if (get_int(loop_count) < 3)
+ set_int(sliding_timer, timer(TOOLBAR_SLIDING_WAIT_TIME, "slide_text", TOOLBAR_SLIDING_TEXT_OFFSET));
+ else
+ set_int(end_timer, timer(0.5, "ender", 0));
+ } else
+ set_int(sliding_timer, timer(1.0/TOOLBAR_SLIDING_FPS, "slide_text", val));
+ }
+
+ /*icon text part*/
+ public icon_text_get_width() {
+ new x, y, w, h;
+ if (get_int(selected))
+ {
+ set_state(PART:"elm.text", "icon_text_selected", 0.0);
+ }
+ else
+ {
+ set_state(PART:"elm.text", "icon_text", 0.0);
+ }
+ get_geometry(PART:"elm.text", x, y, w, h);
+ set_int(org_text_w, w);
+
+ set_state(PART:"elm.text", "icon_text_sliding", 0.0);
+ get_geometry(PART:"elm.text", x, y, w, h);
+ set_int(text_w, w);
+ }
+ public icon_text_get_width_landscape() {
+ new x, y, w, h;
+ get_geometry(PART:"bg", x, y, w, h);
+ set_int(bg_w, w);
+
+ set_state(PART:"elm.text", "icon_text_sliding", 0.0);
+ get_geometry(PART:"elm.text", x, y, w, h);
+ set_int(text_w, w);
+ }
+
+ public icon_text_ender(val) {
+ set_int(loop_count, 0);
+ if (get_int(sliding_timer)) cancel_timer(get_int(sliding_timer));
+ set_int(sliding_timer, 0);
+ if (get_int(end_timer)) cancel_timer(get_int(end_timer));
+ set_int(end_timer, 0);
+ set_state(PART:"elm.text.dim.left", "default", 0.0);
+ set_state(PART:"elm.text_new.clipper", "default", 0.0);
+ if (val == 1) {
+ set_int(sliding, TOOLBAR_SLIDING_END);
+ custom_state(PART:"elm.text", "icon_text_sliding", 0.0);
+ set_state_val(PART:"elm.text", STATE_REL1_OFFSET, TOOLBAR_SLIDING_TEXT_OFFSET, 0);
+ set_state_val(PART:"elm.text", STATE_REL2_OFFSET, TOOLBAR_SLIDING_TEXT_OFFSET, -1);
+ set_state(PART:"elm.text", "custom", 0.0);
+ } else {
+ set_int(sliding, TOOLBAR_SLIDING_NO_EFFECT);
+ if(get_int(pressed))
+ {
+ set_state(PART:"elm.text", "icon_text_pressed", 0.0);
+ }
+ else if (get_int(selected))
+ {
+ set_state(PART:"elm.text", "icon_text_selected", 0.0);
+ set_state(PART:"selected_line", "selected", 0.0);
+ }
+ else
+ {
+ set_state(PART:"elm.text", "icon_text", 0.0);
+ }
+ set_state(PART:"elm.text.dim.right", "default", 0.0);
+ }
+ }
+ public icon_text_check_text(val) {
+ if (get_int(landscape))
+ {
+ icon_text_get_width_landscape();
+ if (get_int(text_w) <= get_int(bg_w)) {
+ icon_text_ender(0);
+ return;
+ }
+ }
+ }
+ public icon_text_slide(val) {
+ new buf[1024];
+ if (val == TOOLBAR_SLIDING_TEXT_OFFSET) {
+ set_int(loop_count, get_int(loop_count) + 1);
+ if (get_int(landscape))
+ {
+ icon_text_get_width_landscape();
+ if (get_int(text_w) <= get_int(bg_w)) {
+ icon_text_ender(0);
+ return;
+ }
+ }
+ else
+ {
+ icon_text_get_width();
+ if (get_int(text_w) <= get_int(org_text_w)) {
+ icon_text_ender(0);
+ return;
+ }
+ }
+ }
+ val -= TOOLBAR_SLIDING_PER_FPS;
+
+ set_int(sliding, TOOLBAR_SLIDING_DOING);
+
+ if (val <= -get_int(text_w) - TOOLBAR_SLIDING_TEXT_GAP + TOOLBAR_SLIDING_TEXT_OFFSET)
+ val = TOOLBAR_SLIDING_TEXT_OFFSET;
+
+ custom_state(PART:"elm.text", "icon_text_sliding", 0.0);
+ set_state(PART:"selected_line", "sliding", 0.0);
+ set_state_val(PART:"elm.text", STATE_REL1_OFFSET, val, 0);
+ set_state_val(PART:"elm.text", STATE_REL2_OFFSET, val, -1);
+ if (!get_int(pressed))
+ set_state_val(PART:"elm.text", STATE_TEXT_STYLE, "tabbar_icon_text_style_T111S");
+ else
+ set_state_val(PART:"elm.text", STATE_TEXT_STYLE, "tabbar_icon_text_style_T111P");
+ set_state(PART:"elm.text", "custom", 0.0);
+
+ set_state(PART:"elm.text_new.clipper", "animation", 0.0);
+ get_text(PART:"elm.text", buf, 1024);
+ set_text(PART:"elm.text_new", buf);
+
+ custom_state(PART:"elm.text_new", "icon_text_sliding", 0.0);
+ set_state_val(PART:"elm.text_new", STATE_REL1_OFFSET,
+ val + get_int(text_w) + TOOLBAR_SLIDING_TEXT_GAP, 0);
+ set_state_val(PART:"elm.text_new", STATE_REL2_OFFSET,
+ val + get_int(text_w) + TOOLBAR_SLIDING_TEXT_GAP, 0);
+ if (!get_int(pressed))
+ set_state_val(PART:"elm.text_new", STATE_TEXT_STYLE, "tabbar_icon_text_style_T111S");
+ else
+ set_state_val(PART:"elm.text_new", STATE_TEXT_STYLE, "tabbar_icon_text_style_T111P");
+ set_state(PART:"elm.text_new", "custom", 0.0);
+
+ if (!get_int(pressed))
+ {
+ set_state(PART:"elm.text.dim.left", "show", 0.0);
+ set_state(PART:"elm.text.dim.right", "show", 0.0);
+ }
+ else
+ {
+ set_state(PART:"elm.text.dim.left", "show_pressed", 0.0);
+ set_state(PART:"elm.text.dim.right", "show_pressed", 0.0);
+ }
+
+ if (val == TOOLBAR_SLIDING_TEXT_OFFSET || val <= -get_int(text_w))
+ {
+ set_state(PART:"elm.text.dim.left", "default", 0.0);
+ set_int(sliding, TOOLBAR_SLIDING_END);
+ }
+ else
+ set_int(sliding, TOOLBAR_SLIDING_DOING);
+
+
+ if (val == TOOLBAR_SLIDING_TEXT_OFFSET) {
+ if (get_int(loop_count) < 3)
+ set_int(sliding_timer, timer(TOOLBAR_SLIDING_WAIT_TIME, "icon_text_slide", TOOLBAR_SLIDING_TEXT_OFFSET));
+ else
+ set_int(end_timer, timer(0.5, "icon_text_ender", 0));
+ } else
+ set_int(sliding_timer, timer(1.0/TOOLBAR_SLIDING_FPS, "icon_text_slide", val));
+ }
+ }
+ 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: "4items" 0.0;
+ inherit: "default" 0.0;
+ min: TABBAR_FOUR_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: "padding_center";
+ type: SPACER;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "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_TEXT_CENTER_PADDING_SIZE_INC;
+ align: 0.5 0.0;
+ }
+ }
+ part { name: "selected_line";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 {
+ to: "padding_center";
+ relative: 0.5 1.0;
+ }
+ rel2 {
+ to: "padding_center";
+ 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: "padding_center";
+ relative: 0.0 1.0;
+ }
+ rel2 {
+ to: "padding_center";
+ relative: 1.0 1.0;
+ }
+ fixed: 0 1;
+ min: TABBAR_SELECTED_LINE_SIZE_INC;
+ align: 0.5 0.0;
+ visible: 1;
+ }
+ description { state: "sliding" 0.0;
+ inherit: "selected" 0.0;
+ rel1 {
+ to_y: "padding_center";
+ to_x: "padding_left_top";
+ relative: 1.0 1.0;
+ }
+ rel2 {
+ to_y: "padding_center";
+ to_x: "padding_right_bottom";
+ relative: 0.0 1.0;
+ }
+ }
+ }
+ part { name: "bg_cover";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ visible: 0;
+ color_class: "B0514";
+ }
+ description { state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color_class: "B0514P";
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ 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_LEFT_TOP_PADDING_SIZE_INC;
+ }
+ description { state: "icon_text_land" 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_RIGHT_BOTTOM_PADDING_SIZE_INC;
+ }
+ description { state: "icon_text_land" 0.0;
+ inherit: "default" 0.0;
+ min: TABBAR_ICON_TEXT_LAND_RIGHT_BOTTOM_PADDING_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_land" 0.0;
+ inherit: "default" 0.0;
+ min: TABBAR_ICON_TEXT_PAD_INC;
+ }
+ }
+ part {
+ name: "icon_rect";
+ type: SPACER;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ min: 0 0;
+ fixed: 0 1;
+ rel1 {
+ to_y: "padding_left_top";
+ relative: 0.0 1.0;
+ }
+ rel2 {
+ to_y: "padding_left_top";
+ relative: 1.0 1.0;
+ }
+ align: 0.5 0.0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ min: TABBAR_ICON_SIZE_INC;
+ }
+ description { state: "visible_land" 0.0;
+ min: TABBAR_ICON_SIZE_INC;
+ fixed: 1 0;
+ rel2 {
+ relative: 0.0 1.0;
+ }
+ align: 0.0 0.5;
+ }
+ }
+ 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: 0.5 1.0;
+ fixed: 1 1;
+ rel1 {
+ to_y: "elm.text";
+ relative: 0.0 0.0;
+ }
+ rel2 {
+ to_y: "elm.text";
+ relative: 1.0 0.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;
+ }
+ }
+ description { state: "visible_land" 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;
+ }
+ }
+ }
+ 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;
+ }
+ }
+ 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: "sliding" 0.0;
+ inherit: "text_selected" 0.0;
+ rel1.offset: TOOLBAR_SLIDING_TEXT_OFFSET 0;
+ rel2.offset: TOOLBAR_SLIDING_TEXT_OFFSET 0;
+ text.min: 1 1;
+ align: 0.0 0.5;
+ }
+ description { state: "icon_text" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ rel1 {
+ to_x: "padding_left_top";
+ to_y: "icon_rect";
+ relative: 1.0 1.0;
+ }
+ rel2 {
+ to: "padding_right_bottom";
+ relative: 0.0 0.0;
+ }
+ fixed: 1 1;
+ text {
+ style: "tabbar_icon_text_style_T111";
+ min: 0 1;
+ max: 1 0;
+ }
+ }
+ description { state:"icon_text_pressed" 0.0;
+ inherit: "icon_text" 0.0;
+ text.style: "tabbar_icon_text_style_T111P";
+ }
+ description { state:"icon_text_selected" 0.0;
+ inherit: "icon_text" 0.0;
+ text.style: "tabbar_icon_text_style_T111S";
+ }
+ description { state:"icon_text_disabled" 0.0;
+ inherit: "icon_text" 0.0;
+ text.style: "tabbar_icon_text_style_T111D";
+ }
+ description { state: "icon_text_sliding" 0.0;
+ inherit: "icon_text_selected" 0.0;
+ rel1.offset: TOOLBAR_SLIDING_TEXT_OFFSET 0;
+ rel2.offset: TOOLBAR_SLIDING_TEXT_OFFSET 0;
+ text.min: 1 1;
+ align: 0.0 0.5;
+ }
+ description { state: "icon_text_land" 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;
+ }
+ }
+ description { state:"icon_text_land_pressed" 0.0;
+ inherit: "icon_text_land" 0.0;
+ text.style: "tabbar_text_style_T1117P";
+ }
+ description { state:"icon_text_land_selected" 0.0;
+ inherit: "icon_text_land" 0.0;
+ text.style: "tabbar_text_style_T1117S";
+ }
+ description { state:"icon_text_land_disabled" 0.0;
+ inherit: "icon_text_land" 0.0;
+ text.style: "tabbar_text_style_T1117D";
+ }
+ }
+ part { name: "elm.text_new";
+ type: TEXTBLOCK;
+ mouse_events: 0;
+ scale: 1;
+ clip_to: "elm.text_new.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;
+ }
+ }
+ 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: "sliding" 0.0;
+ inherit: "text_selected" 0.0;
+ rel1.offset: TOOLBAR_SLIDING_TEXT_OFFSET 0;
+ rel2.offset: TOOLBAR_SLIDING_TEXT_OFFSET 0;
+ text.min: 1 1;
+ align: 0.0 0.5;
+ }
+ description { state: "icon_text" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ rel1 {
+ to_x: "padding_left_top";
+ to_y: "icon_rect";
+ relative: 1.0 1.0;
+ }
+ rel2 {
+ to: "padding_right_bottom";
+ relative: 0.0 0.0;
+ }
+ fixed: 1 1;
+ text {
+ style: "tabbar_icon_text_style_T111";
+ min: 0 1;
+ max: 1 0;
+ }
+ }
+ description { state:"icon_text_pressed" 0.0;
+ inherit: "icon_text" 0.0;
+ text.style: "tabbar_icon_text_style_T111P";
+ }
+ description { state:"icon_text_selected" 0.0;
+ inherit: "icon_text" 0.0;
+ text.style: "tabbar_icon_text_style_T111S";
+ }
+ description { state:"icon_text_disabled" 0.0;
+ inherit: "icon_text" 0.0;
+ text.style: "tabbar_icon_text_style_T111D";
+ }
+ description { state: "icon_text_sliding" 0.0;
+ inherit: "icon_text_selected" 0.0;
+ rel1.offset: TOOLBAR_SLIDING_TEXT_OFFSET 0;
+ rel2.offset: TOOLBAR_SLIDING_TEXT_OFFSET 0;
+ text.min: 1 1;
+ align: 0.0 0.5;
+ }
+ description { state: "icon_text_land" 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_icon_text_style_T111";
+ min: 0 1;
+ max: 1 0;
+ }
+ }
+ description { state:"icon_text_land_pressed" 0.0;
+ inherit: "icon_text_land" 0.0;
+ text.style: "tabbar_icon_text_style_T111P";
+ }
+ description { state:"icon_text_land_selected" 0.0;
+ inherit: "icon_text_land" 0.0;
+ text.style: "tabbar_icon_text_style_T111S";
+ }
+ description { state:"icon_text_land_disabled" 0.0;
+ inherit: "icon_text_land" 0.0;
+ text.style: "tabbar_icon_text_style_T111D";
+ }
+ }
+ 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: "animation" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 0;
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 255;
+ }
+ }
+ part { name: "elm.text_new.clipper";
+ type: RECT;
+ description { state: "default" 0.0;
+ color: 255 255 255 0;
+ }
+ description { state: "animation" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 255;
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 0;
+ }
+ }
+ part { name: "elm.text.dim.left";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: "core_tabs_fade_out_ef_l.#.png";
+ fixed: 1 1;
+ align: 0.0 0.5;
+ visible: 0;
+ min: 20 0;
+ color_class: "B0514";
+ rel1 {
+ to_x: "padding_left_top";
+ to_y: "elm.text";
+ relative: 1.0 0.0;
+ }
+ rel2 {
+ to_x: "padding_left_top";
+ to_y: "elm.text";
+ relative: 1.0 1.0;
+ }
+ }
+ description { state: "show" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ description { state: "show_pressed" 0.0;
+ inherit: "show" 0.0;
+ color_class: "B0514P";
+ }
+ }
+ part { name: "elm.text.dim.right";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: "core_tabs_fade_out_ef_r.#.png";
+ fixed: 1 1;
+ align: 1.0 0.5;
+ visible: 0;
+ min: 20 28;
+ color_class: "B0514";
+ rel1 {
+ to_x: "padding_right_bottom";
+ to_y: "elm.text";
+ relative: 0.0 0.0;
+ }
+ rel2 {
+ to_x: "padding_right_bottom";
+ to_y: "elm.text";
+ relative: 0.0 1.0;
+ }
+ }
+ description { state: "show" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ description { state: "show_pressed" 0.0;
+ inherit: "show" 0.0;
+ color_class: "B0514P";
+ }
+ }
+ part { name: "padding_left";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ visible: 1;
+ align: 0.0 0.5;
+ rel1 {
+ to_x: "bg";
+ to_y: "elm.text";
+ relative: 0.0 0.0;
+ }
+ rel2 {
+ to_x: "bg";
+ to_y: "elm.text";
+ relative: 0.0 1.0;
+ }
+ fixed: 1 1;
+ min: TABBAR_TEXT_LEFT_RIGHT_PADDING_SIZE_INC;
+ color_class: "B0514";
+ }
+ description { state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color_class: "B0514P";
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "padding_right";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ visible: 1;
+ align: 1.0 0.5;
+ rel1 {
+ to_x: "bg";
+ to_y: "elm.text";
+ relative: 1.0 0.0;
+ }
+ rel2 {
+ to_x: "bg";
+ to_y: "elm.text";
+ relative: 1.0 1.0;
+ }
+ fixed: 1 1;
+ min: TABBAR_TEXT_LEFT_RIGHT_PADDING_SIZE_INC;
+ color_class: "B0514";
+ }
+ description { state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color_class: "B0514P";
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ 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{
+ new st[31];
+ new Float:vl;
+ set_int(selected, 1);
+ get_state(PART:"elm.text", st, 30, vl);
+ if (!get_int(icon_text))
+ {
+ if (!strcmp(st, "text"))
+ set_state(PART:"elm.text", "text_selected", 0.0);
+ if (strcmp(st, "default"))
+ run_program(PROGRAM:"slide_start");
+ }
+ else if (!get_int(landscape))
+ {
+ if (!strcmp(st, "icon_text"))
+ set_state(PART:"elm.text", "icon_text_selected", 0.0);
+ if (strcmp(st, "default"))
+ run_program(PROGRAM:"slide_start");
+ }
+ else
+ set_state(PART:"elm.text", "icon_text_land_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{
+ new st[31];
+ new Float:vl;
+ set_int(selected, 0);
+ set_int(sliding, TOOLBAR_SLIDING_NO_EFFECT);
+ get_state(PART:"elm.text", st, 30, vl);
+ if (!get_int(icon_text))
+ {
+ if (!strcmp(st, "text_selected"))
+ set_state(PART:"elm.text", "text", 0.0);
+ if (strcmp(st, "default"))
+ run_program(PROGRAM:"slide_stop");
+ }
+ else if (!get_int(landscape))
+ {
+ if (!strcmp(st, "icon_text_selected"))
+ set_state(PART:"elm.text", "icon_text", 0.0);
+ if (strcmp(st, "default"))
+ run_program(PROGRAM:"slide_stop");
+ }
+ else
+ set_state(PART:"elm.text", "icon_text_land", 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);
+ set_state(PART:"padding_right", "pressed", 0.0);
+ set_state(PART:"padding_left", "pressed", 0.0);
+ if (!get_int(icon_text))
+ {
+ if (!get_int(sliding))
+ set_state(PART:"elm.text", "text_pressed", 0.0);
+ else if (get_int(sliding) == TOOLBAR_SLIDING_END)
+ {
+ set_state_val(PART:"elm.text", STATE_TEXT_STYLE, "tabbar_text_style_T1117P");
+ set_state(PART:"elm.text", "custom", 0.0);
+ set_state_val(PART:"elm.text_new", STATE_TEXT_STYLE, "tabbar_text_style_T1117P");
+ set_state(PART:"elm.text_new", "custom", 0.0);
+ set_state(PART:"elm.text.dim.right", "show_pressed", 0.0);
+ }
+ else
+ {
+ set_state(PART:"elm.text.dim.left", "show_pressed", 0.0);
+ set_state(PART:"elm.text.dim.right", "show_pressed", 0.0);
+ }
+ }
+ else if (!get_int(landscape))
+ {
+ if (!get_int(sliding))
+ set_state(PART:"elm.text", "icon_text_pressed", 0.0);
+ else if (get_int(sliding) == TOOLBAR_SLIDING_END)
+ {
+ set_state_val(PART:"elm.text", STATE_TEXT_STYLE, "tabbar_icon_text_style_T111P");
+ set_state(PART:"elm.text", "custom", 0.0);
+ set_state_val(PART:"elm.text_new", STATE_TEXT_STYLE, "tabbar_icon_text_style_T111P");
+ set_state(PART:"elm.text_new", "custom", 0.0);
+ set_state(PART:"elm.text.dim.right", "show_pressed", 0.0);
+ }
+ else
+ {
+ set_state(PART:"elm.text.dim.left", "show_pressed", 0.0);
+ set_state(PART:"elm.text.dim.right", "show_pressed", 0.0);
+ }
+ }
+ else
+ set_state(PART:"elm.text", "icon_text_land_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);
+ set_state(PART:"padding_right", "default", 0.0);
+ set_state(PART:"padding_left", "default", 0.0);
+ if (get_int(selected))
+ {
+ if (!get_int(icon_text))
+ {
+ if (!get_int(sliding))
+ set_state(PART:"elm.text", "text_selected", 0.0);
+ else if (get_int(sliding) == TOOLBAR_SLIDING_END)
+ {
+ set_state_val(PART:"elm.text", STATE_TEXT_STYLE, "tabbar_text_style_T1117S");
+ set_state(PART:"elm.text", "custom", 0.0);
+ set_state_val(PART:"elm.text_new", STATE_TEXT_STYLE, "tabbar_text_style_T1117S");
+ set_state(PART:"elm.text_new", "custom", 0.0);
+ set_state(PART:"elm.text.dim.right", "show", 0.0);
+ }
+ else
+ {
+ set_state(PART:"elm.text.dim.left", "show", 0.0);
+ set_state(PART:"elm.text.dim.right", "show", 0.0);
+ }
+ }
+ else if (!get_int(landscape))
+ {
+ if (!get_int(sliding))
+ set_state(PART:"elm.text", "icon_text_selected", 0.0);
+ else if (get_int(sliding) == TOOLBAR_SLIDING_END)
+ {
+ set_state_val(PART:"elm.text", STATE_TEXT_STYLE, "tabbar_icon_text_style_T111S");
+ set_state(PART:"elm.text", "custom", 0.0);
+ set_state_val(PART:"elm.text_new", STATE_TEXT_STYLE, "tabbar_icon_text_style_T111S");
+ set_state(PART:"elm.text_new", "custom", 0.0);
+ set_state(PART:"elm.text.dim.right", "show", 0.0);
+ }
+ else
+ {
+ set_state(PART:"elm.text.dim.left", "show", 0.0);
+ set_state(PART:"elm.text.dim.right", "show", 0.0);
+ }
+ }
+ else
+ set_state(PART:"elm.text", "icon_text_land_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 if (!get_int(landscape))
+ set_state(PART:"elm.text", "icon_text", 0.0);
+ else
+ set_state(PART:"elm.text", "icon_text_land", 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);
+ set_state(PART:"padding_right", "default", 0.0);
+ set_state(PART:"padding_left", "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(landscape))
+ {
+ if (!get_int(selected))
+ set_state(PART:"elm.text", "icon_text", 0.0);
+ else
+ set_state(PART:"elm.text", "icon_text_selected", 0.0);
+ }
+ else
+ {
+ if (!get_int(selected))
+ set_state(PART:"elm.text", "icon_text_land", 0.0);
+ else
+ set_state(PART:"elm.text", "icon_text_land_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);
+ set_state(PART:"padding_right", "disabled", 0.0);
+ set_state(PART:"padding_left", "disabled", 0.0);
+ if (!get_int(icon_text))
+ set_state(PART:"elm.text", "text_disabled", 0.0);
+ else if (!get_int(landscape))
+ set_state(PART:"elm.text", "icon_text_disabled", 0.0);
+ else
+ set_state(PART:"elm.text", "icon_text_land_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))
+ {
+ if (get_int(selected))
+ set_state(PART:"elm.text", "text_selected", 0.0);
+ else
+ 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);
+ if (!get_int(landscape))
+ {
+ if (get_int(selected))
+ set_state(PART:"elm.text", "icon_text_selected", 0.0);
+ else
+ set_state(PART:"elm.text", "icon_text", 0.0);
+ set_state(PART:"padding_left_top", "icon_text", 0.0);
+ set_state(PART:"padding_right_bottom", "icon_text", 0.0);
+ }
+ else
+ {
+ if (get_int(selected))
+ set_state(PART:"elm.text", "icon_text_land_selected", 0.0);
+ else
+ set_state(PART:"elm.text", "icon_text_land", 0.0);
+ set_state(PART:"padding_icon_text", "visible_land", 0.0);
+ set_state(PART:"padding_left_top", "icon_text_land", 0.0);
+ set_state(PART:"padding_right_bottom", "icon_text_land", 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(landscape))
+ {
+ if (get_int(item_text))
+ {
+ 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);
+ }
+ 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);
+ }
+ else
+ {
+ if (get_int(item_text))
+ {
+ set_state(PART:"elm.swallow.icon", "visible_land", 0.0);
+ set_state(PART:"padding_icon_text", "visible_land", 0.0);
+ set_state(PART:"icon_rect", "visible_land", 0.0);
+ set_state(PART:"elm.text", "icon_text_land", 0.0);
+ }
+ else
+ set_state(PART:"elm.swallow.icon", "visible_icon_only", 0.0);
+ set_state(PART:"padding_left_top", "icon_text_land", 0.0);
+ set_state(PART:"padding_right_bottom", "icon_text_land", 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:"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: "slide_start";
+ script {
+ new st[31];
+ new Float:vl;
+ get_state(PART:"elm.text", st, 30, vl);
+ if (!get_int(sliding_timer) && !get_int(end_timer)) {
+ if (!strcmp(st, "text_selected"))
+ set_int(sliding_timer, timer(TOOLBAR_SLIDING_WAIT_TIME, "slide_text", TOOLBAR_SLIDING_TEXT_OFFSET));
+ else if (!strcmp(st, "icon_text_selected"))
+ set_int(sliding_timer, timer(TOOLBAR_SLIDING_WAIT_TIME, "icon_text_slide", TOOLBAR_SLIDING_TEXT_OFFSET));
+ }
+ }
+ }
+ program { name: "slide_stop";
+ script {
+ if (get_int(icon_text))
+ icon_text_ender(0);
+ else
+ ender(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);
+
+ if (get_int(icon_text)) {
+ set_state(PART:"padding_left_top", "icon_text_land", 0.0);
+ set_state(PART:"padding_right_bottom", "icon_text_land", 0.0);
+ set_state(PART:"icon_rect", "visible_land", 0.0);
+ set_state(PART:"elm.swallow.icon", "visible_land", 0.0);
+ set_state(PART:"padding_icon_text", "visible_land", 0.0);
+ if (get_int(selected))
+ {
+ set_state(PART:"elm.text", "icon_text_land_selected", 0.0);
+ set_state(PART:"elm.icon.clipper", "selected", 0.0);
+ }
+ else if (get_int(pressed))
+ {
+ set_state(PART:"elm.text", "icon_text_land_pressed", 0.0);
+ set_state(PART:"elm.icon.clipper", "pressed", 0.0);
+ }
+ else if (get_int(item_state))
+ {
+ set_state(PART:"elm.text", "icon_text_land", 0.0);
+ set_state(PART:"elm.icon.clipper", "disabled", 0.0);
+ }
+ else
+ {
+ set_state(PART:"elm.text", "icon_text_land", 0.0);
+ set_state(PART:"elm.icon.clipper", "default", 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);
+
+ if (get_int(icon_text)) {
+ set_state(PART:"padding_left_top", "icon_text", 0.0);
+ set_state(PART:"padding_right_bottom", "icon_text", 0.0);
+ set_state(PART:"icon_rect", "visible", 0.0);
+ set_state(PART:"elm.swallow.icon", "visible", 0.0);
+ set_state(PART:"padding_icon_text", "default", 0.0);
+ if (get_int(selected))
+ {
+ set_state(PART:"elm.text", "icon_text_selected", 0.0);
+ set_state(PART:"elm.icon.clipper", "selected", 0.0);
+ }
+ else if (get_int(pressed))
+ {
+ set_state(PART:"elm.text", "icon_text_pressed", 0.0);
+ set_state(PART:"elm.icon.clipper", "pressed", 0.0);
+ }
+ else if (get_int(item_state))
+ {
+ set_state(PART:"elm.text", "icon_text", 0.0);
+ set_state(PART:"elm.icon.clipper", "disabled", 0.0);
+ }
+ else
+ {
+ set_state(PART:"elm.text", "icon_text", 0.0);
+ set_state(PART:"elm.icon.clipper", "default", 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/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;
+ }
+ }
+ 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;
+ }
+ }
+ 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
+org.tizen.music-chooser system::home rwxat- ------
+org.tizen.music-chooser system::media rwxat- ------
+org.tizen.music-chooser system::homedir rwxat- ------
+org.tizen.music-chooser system::ext_storage rwx--- ------
+org.tizen.music-chooser pulseaudio rwxat- ------
+org.tizen.music-chooser system::app_logging -w---- ------
+org.tizen.music-chooser com.samsung.indicator -w---- ------
+org.tizen.music-chooser media-data::db rw---- ------
+org.tizen.music-chooser csc-manager --x--- ------
+org.tizen.music-chooser system::use_internet r----- ------
+org.tizen.music-chooser xorg -w---- ------
+org.tizen.music-chooser org.tizen.music-player rwxat- ------
+org.tizen.music-chooser tizen::vconf::volume::set rw---- ------
+org.tizen.music-chooser tizen::vconf::public::r::platform::rw r----l ------
+org.tizen.music-chooser device::camera rw---- ------
+dbus org.tizen.music-chooser rwx--- ------
--- /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">
+ <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" 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>
+ <application-service>
+ <operation name="http://tizen.org/appcontrol/operation/pick" />
+ <mime name="audio/*" />
+ </application-service>
+ </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
+/*
+* Copyright (c) 2000-2015 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);
+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) 2000-2015 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) 2000-2015 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>
+
+#ifdef MP_DEBUG_MODE
+#define ENABLE_CHECK_START_END_FUNCTION // support enter leave debug message
+#endif
+
+#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 LOG_COLOR_RESET "\033[0m"
+#define LOG_COLOR_RED "\033[31m"
+#define LOG_COLOR_YELLOW "\033[33m"
+#define LOG_COLOR_GREEN "\033[32m"
+#define LOG_COLOR_BLUE "\033[36m"
+
+#define DEBUG_TRACE(fmt, arg...) LOGD_IF(TRUE, LOG_COLOR_GREEN"[TID:%d] "fmt""LOG_COLOR_RESET, gettid(), ##arg)
+#define INFO_TRACE(fmt, arg...) LOGI_IF(TRUE, LOG_COLOR_GREEN"[TID:%d] "fmt""LOG_COLOR_RESET, gettid(), ##arg)
+#define WARN_TRACE(fmt, arg...) LOGW_IF(TRUE, LOG_COLOR_YELLOW"[TID:%d] "fmt""LOG_COLOR_RESET, gettid(), ##arg)
+#define ERROR_TRACE(fmt, arg...) LOGW_IF(TRUE, LOG_COLOR_RED"[TID:%d] "fmt""LOG_COLOR_RESET, gettid(), ##arg)
+#define PARAM_CHECK(fmt, arg...) LOGD_IF(TRUE, LOG_COLOR_YELLOW"[TID:%d] "fmt""LOG_COLOR_RESET, gettid(), ##arg)
+#define EVENT_TRACE(fmt, arg...) LOGW_IF(TRUE, LOG_COLOR_BLUE"[TID:%d] [MUSIC_PLAYER_EVENT]"fmt""LOG_COLOR_RESET, gettid(), ##arg)
+
+#define SECURE_DEBUG(fmt, args...) SECURE_LOGD("[T:%d] " fmt, gettid(), ##args)
+#define SECURE_INFO(fmt, args...) SECURE_LOGI("[T:%d] " fmt, gettid(), ##args)
+#define SECURE_ERROR(fmt, args...) SECURE_LOGD("[T:%d] " fmt, 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) 2000-2015 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) 2000-2015 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) 2000-2015 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);
+
+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
+};
+
+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) 2000-2015 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) 2000-2015 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);
+void mc_vol_reset_default_value(void* data);
+void mc_vol_type_set(sound_type_e type);
+int mc_get_volume(sound_type_e type);
+
+
+
+#endif /* __DEF_MC_LIST_PLAY_H_ */
+
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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) 2000-2015 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) 2000-2015 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) 2000-2015 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) 2000-2015 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) 2000-2015 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 "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);
+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);
+static void _mc_popup_view(void *data);
+static void _mc_track_list_select_cb(void *data, Evas_Object *obj, void *event_info);
+static 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);
+static unsigned int _get_select_count(void *data);
+
+#endif
+
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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) 2000-2015 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) 2000-2015 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 "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 PKGNAME "music-chooser"
+#define DOMAIN_NAME "org.tizen.music-chooser"
+//#define LOCALE_DIR PREFIX"/res/locale"
+#define LOCALE_DIR "/usr/apps/org.tizen.music-chooser/res/locale"
+#define IMAGE_EDJ_NAME "/usr/apps/org.tizen.music-lite/res/edje/mp-images.edj"
+#define SYS_DOMAIN_NAME "sys_string"
+#define MC_EDJ_FILE "/usr/apps/org.tizen.music-chooser/shared/trusted/music-chooser.edj"
+
+#define _EDJ(o) elm_layout_edje_get(o)
+#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 IF_FREE(p) ({if(p){free(p);p=NULL;}})
+
+#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;
+
+ 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) 2000-2015 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-index.h"
+#include "mc-track-list.h"
+#include "mc-list-play.h"
+#include <telephony.h>
+#include <notification.h>
+#include <efl_extension.h>
+#include <mp-file-util.h>
+#include <storage.h>
+
+#define MC_FILE_PREFIX "file://"
+
+static int externalStorageId = -1;
+bool detail_view = false;
+
+static Eina_Bool
+_back_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ 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;
+
+ Evas_Object *navi_layout = mc_common_load_edj(ad->navi_bar, MC_EDJ_FILE, "view_layout_tabbar");
+ g_navi_it = elm_naviframe_top_item_get(ad->navi_bar);
+// g_ly = elm_object_item_part_content_get(g_navi_it, "elm.swallow.content");
+ tabbar = _create_tabbar(ad->navi_bar, ad);
+
+ elm_object_part_content_set(navi_layout, "tabbar", tabbar);
+// sub_view = elm_object_part_content_unset(g_ly, "list-content");
+
+ 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_state_e state;
+ telephony_handle_list_s tel_list;
+ 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;
+ }
+
+ telephony_h *newhandle = tel_list.handle;
+
+ int error = telephony_call_get_voice_call_state(*newhandle , &state );
+
+ telephony_deinit(&tel_list);
+
+ if (error == TELEPHONY_ERROR_NONE) {
+ if (state == TELEPHONY_CALL_STATE_IDLE) {
+ return false; /*There exists no calls*/
+ }
+ /* There exists at least one call that is dialing, alerting or incoming*/
+ return true;
+ } else {
+ ERROR_TRACE("ERROR: state error is %d",error);
+ }
+ 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) {
+ externalStorageId = 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(externalStorageId, &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.main.left.top") == 0) {
+ mp_media_info_group_get_main_info(handle, &text);
+ return g_strdup(text);
+ } else if (strcmp(part, "elm.text.sub.left.bottom") == 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.main.left.top") == 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.left.bottom") == 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.icon.1"))
+ {
+ 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
+ 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;
+}
+
+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);
+ Evas_Object *layout = elm_layout_add(popup);
+ elm_layout_file_set(layout, MC_EDJ_FILE, "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));
+ }
+ 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));
+ }
+ IF_FREE(temp);
+ }
+ else {
+ if (strlen(string) <= DEF_BUF_LEN) {
+ strncpy(pstr, string, strlen(string));
+ }
+ }
+
+ 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)
+{
+ 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))
+ path = 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);
+ //endfunc;
+
+ return thumbnail;
+}
+
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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_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);
+ }
+ free(folder);
+}
+
+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_FREE(ld->type_str);
+
+ free(ld);
+}
+
+static void _mc_group_list_gl_del(void *data, Evas_Object *obj)
+{
+ list_item_data_t *it_data = data;
+ IF_FREE(it_data);
+}
+
+
+static void
+_mc_itc_init(int type, group_list_data_t *ld)
+{
+ MP_CHECK(ld);
+
+ ld->itc.func.content_get = mc_group_content_get;
+ ld->itc.func.del = _mc_group_list_gl_del;
+ switch (type)
+ {
+ case MP_GROUP_BY_ALBUM:
+ ld->itc.item_style = "2line.top";
+ 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 = "2line.top";
+ 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 = "2line.top";
+ 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 = "2line.top";
+ 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);
+
+ layout = mc_common_load_edj(parent, MC_EDJ_FILE, "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;
+ ld->type_str = g_strdup(type_str);
+
+ _mc_itc_init(group_type, ld);
+
+ return 0;
+}
+
+
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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
+ elm_bg_file_set(content, DEFAULT_THUMBNAIL, NULL);
+ }
+
+ if (elm_genlist_decorate_mode_get(obj) )
+ { // if edit mode
+ if (!strcmp(part, "elm.edit.icon.1"))
+ { // swallow checkbox or radio button
+ content = elm_check_add(obj);
+ elm_check_state_pointer_set(content, &it_data->checked);
+ elm_object_style_set(content, "default/genlist");
+ evas_object_repeat_events_set(content, EINA_TRUE);
+ evas_object_propagate_events_set(content, FALSE);
+ return content;
+ }
+ }
+
+ 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++;
+ }
+ }
+ return count;
+
+ endfunc;
+}
+
+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);
+
+ if (elm_genlist_decorate_mode_get(obj) )
+ {
+ it_data->checked = !it_data->checked;
+ elm_genlist_item_fields_update(event_info, "elm.edit.icon.1", ELM_GENLIST_ITEM_FIELD_CONTENT);
+
+ if (ld->btn_done)
+ {
+ if (_get_select_count(ld))
+ elm_object_item_disabled_set(ld->btn_done, false);
+ else
+ elm_object_item_disabled_set(ld->btn_done, true);
+ }
+ DEBUG_TRACE("_get_select_count = %d", _get_select_count(ld));
+ return;
+ }
+
+ 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->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);
+
+ 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);
+ elm_image_file_set(ic, IMAGE_EDJ_NAME, "00_icon_edit.png");
+ 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);
+ }
+ }
+
+ elm_genlist_decorate_mode_set(content, true);
+ }
+ 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) 2000-2015 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"
+#ifdef GBSBUILD
+#include <vconf.h>
+#endif
+#include "mc-track-list.h"
+#include <system_settings.h>
+
+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_TRACK || 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 0 //print code
+ char *text = NULL;
+ char code[16] = {0,};
+ text = g_strconcat("0x", NULL);
+ for (i= 0; i<strlen(uni) ; i++)
+ {
+ snprintf(code, 16, "%x", uni[i]);
+ code[15] = 0;
+ text = g_strconcat(text, code, NULL);
+ }
+ DEBUG_TRACE("uni: %s, code: %s, A: 0x%x", uni, code, 'A');
+#endif
+ 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;
+ Elm_Object_Item *it = NULL;
+ 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;
+
+ it = 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;
+
+ it = 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_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) 2000-2015 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,
+#ifdef MC_ENABLE_PLAYLIST
+ TAB_PLAYLIST,
+#endif
+ 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);
+ 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_NULL(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_quit_cb, ad);
+ endfunc;
+}
+#ifdef MC_ENABLE_PLAYLIST
+static void _playlist_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ startfunc;
+ struct app_data *ad = data;
+ MP_CHECK(ad);
+ Evas_Object *sub_view;
+ if (detail_view) {
+ elm_naviframe_item_pop(ad->navi_bar);
+ ad->track_type = MP_TRACK_BY_PLAYLIST;
+ 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_PLAYLIST, 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(ad->navi_bar, EEXT_CALLBACK_BACK, mc_quit_cb, ad);
+ endfunc;
+}
+#endif
+
+#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);
+ 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_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);
+ 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_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);
+
+ Elm_Theme* th = NULL;
+ th = elm_theme_new();
+ elm_theme_extension_add(NULL, MC_EDJ_FILE);
+ 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);
+#ifdef MC_ENABLE_PLAYLIST
+ g_tab_item[TAB_PLAYLIST] = mc_common_toolbar_item_append(obj, NULL, MC_TEXT_PLAYLISTS, _playlist_cb, ad);
+#endif
+ 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");
+ g_ly = mc_common_load_edj(ad->navi_bar, MC_EDJ_FILE, "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_FILE, "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) 2000-2015 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;
+
+sound_type_e g_init_current_type;
+int g_init_volume = -1;
+
+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;
+
+sound_type_e mc_get_sound_type()
+{
+ startfunc;
+ sound_type_e type = SOUND_TYPE_SYSTEM;
+ int ret = 0;
+ ret = sound_manager_get_current_sound_type(&type);
+ DEBUG_TRACE("ret is [%d]", ret);
+ endfunc;
+ return type;
+}
+
+int mc_get_volume(sound_type_e type)
+{
+ startfunc;
+ int volume = 0;
+ sound_manager_get_volume(type, &volume);
+ endfunc;
+ return volume;
+}
+
+void mc_vol_type_set(sound_type_e type)
+{
+ startfunc;
+ sound_type_e current_type;
+ int volume = 0;
+ current_type = mc_get_sound_type();
+ volume = mc_get_volume(current_type);
+ if (g_init_volume == -1) {
+ g_init_current_type = current_type;
+ g_init_volume = volume;
+ }
+ sound_manager_set_current_sound_type(type);
+}
+
+void mc_vol_reset_default_value(void* data)
+{
+ startfunc;
+ MP_CHECK(data);
+ struct app_data *ad = data;
+
+ sound_type_e current_type;
+ current_type = mc_get_sound_type();
+ DEBUG_TRACE("current type is %d",current_type);
+ if (ad->select_type == MC_SELECT_SINGLE_RINGTONE) {
+ if (g_init_current_type != current_type) {
+ mc_vol_type_set(g_init_current_type);
+ }
+ }
+}
+
+
+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_MEDIA:
+ DEBUG_TRACE("Interrupt :: PLAYER_INTERRUPTED_BY_MEDIA");
+ break;
+
+ case PLAYER_INTERRUPTED_BY_CALL:
+ DEBUG_TRACE("Interrupt :: PLAYER_INTERRUPTED_BY_CALL_START");
+ break;
+
+ case PLAYER_INTERRUPTED_BY_RESOURCE_CONFLICT:
+ DEBUG_TRACE("Interrupt :: PLAYER_INTERRUPTED_BY_RESOURCE_CONFLICT");
+ break;
+
+ case PLAYER_INTERRUPTED_BY_ALARM:
+ DEBUG_TRACE("Interrupt :: PLAYER_INTERRUPTED_BY_ALARM_START");
+ break;
+
+ case PLAYER_INTERRUPTED_BY_EARJACK_UNPLUG:
+ DEBUG_TRACE("Interrupt :: PLAYER_INTERRUPTED_BY_EARJACK_UNPLUG");
+ break;
+
+ case PLAYER_INTERRUPTED_COMPLETED:
+ DEBUG_TRACE("PLAYER_INTERRUPTED_COMPLETED");
+ 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) {
+ /*note: start callback and paused callback for player have been removed*/
+ /*case MC_PLAYER_CB_TYPE_STARTED:
+ if (g_player_cbs->started_cb)
+ g_player_cbs->started_cb(g_player_cbs->user_data[MF_PLAYER_CB_TYPE_STARTED]);
+ break;
+
+ case MC_PLAYER_CB_TYPE_PAUSED:
+ if (g_player_cbs->paused_cb)
+ g_player_cbs->paused_cb(g_player_cbs->user_data[MC_PLAYER_CB_TYPE_PAUSED]);
+ break; */
+
+ 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) 2000-2015 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);
+
+ elm_layout_file_set(no_contents, MC_EDJ_FILE, "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;
+
+ list->layout = mc_common_load_edj(parent, MC_EDJ_FILE, "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) 2000-2015 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;
+
+ Evas_Object *layout = mc_common_load_edj(parent, MC_EDJ_FILE, "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) 2000-2015 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) 2000-2015 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();
+ 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) 2000-2015 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"
+#include "mc-index.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 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_NULL(it_data);
+
+ it_data->checked = !it_data->checked;
+ it_data->checkbox_cb = EINA_TRUE;
+}
+
+static Evas_Object *_gl_select_all_content_get(void *data, Evas_Object *obj, const char *part)
+{
+ if (!strcmp(part, "elm.icon")) {
+ Evas_Object *content = elm_check_add(obj);
+ elm_object_style_set(content, "default/genlist");
+ 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;
+}
+
+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 *check = NULL;
+ Evas_Object *prev_part_content;
+ Evas_Object *part_content;
+
+ list_item_data_t *it_data = data;
+ MP_CHECK_NULL(it_data);
+
+ 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.icon.1");
+ DEBUG_TRACE("Previous URI: %s", prev_uri);
+ if (prev_part_content) {
+ elm_object_signal_emit(prev_part_content, "show_default", "*");
+ //elm_object_item_signal_emit(previous_item_data->it, "hide_color", "*");
+ }
+ }
+
+ 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.icon.1");
+ 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", "*");
+
+ //elm_object_item_signal_emit(cur_item_data->it, "show_color" ,"*");
+ }
+ }
+
+ if (!strcmp(part, "elm.icon.1")) {
+ 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 {
+ 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.icon.2") && (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_uri == 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_layout_add(obj);
+ check = elm_radio_add(obj);
+ elm_radio_state_value_set(check, it_data->index);
+ elm_radio_group_add(check, g_radio_main);
+ evas_object_size_hint_weight_set(check, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(check, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_propagate_events_set(check, EINA_TRUE);
+ elm_layout_theme_set(content, "layout", "list/C/type.2", "default");
+ elm_layout_content_set(content, "elm.swallow.content", check);
+ } else if ((!strcmp(part, "elm.icon.right") && (it_data->ad->select_type == MC_SELECT_MULTI))) {
+ content = elm_check_add(obj);
+ elm_check_state_pointer_set(content, &it_data->checked);
+ elm_object_style_set(content, "default/genlist");
+ evas_object_smart_callback_add(content, "changed", _check_changed_cb, it_data);
+ evas_object_repeat_events_set(content, EINA_TRUE);
+ 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 = GET_STR(MC_TEXT_SELECT);
+ }
+ return g_strdup(name);
+}
+
+static char *_gl_select_all_text_get(void *data, Evas_Object *obj, const char *part)
+{
+ startfunc;
+ if (!strcmp(part, "elm.text.main")) {
+ 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 *prev_uri = NULL;
+ char *cur_uri = NULL;
+ char *uri = NULL;
+ Evas_Object *prev_part_content;
+ Evas_Object *part_content;
+ 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.main.left.top")) || (!strcmp(part, "elm.text.sub.left.bottom"))) {
+ if (!strcmp(part, "elm.text.main.left.top")) {
+ 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);
+ 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);
+ }
+ return item_size;
+
+ endfunc;
+}
+
+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);
+ item = elm_genlist_item_next_get(item);
+ if (it_data) {
+ count++;
+ }
+ }
+ if (count > 0) {
+ count = count - 1;
+ return count;
+ } else {
+ return -1;
+ }
+
+ endfunc;
+}
+
+static 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);
+ 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);
+ 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.icon.2");
+ 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);
+ }
+// elm_genlist_realized_items_update(ld->genlist);
+ }
+ } 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 {
+ it_data->checked = !it_data->checked;
+ }
+
+ if (ld->ad->select_type == MC_SELECT_MULTI && !it_data->checkbox_cb) {
+ Evas_Object *check = elm_object_item_part_content_get(item, "elm.icon.right");
+ Eina_Bool check_state = elm_check_state_get(check);
+ elm_check_state_set(check, !check_state);
+ }
+
+ elm_genlist_item_fields_update(event_info, "elm.icon.2", 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;
+ if(!it_data->checkbox_cb) {
+ Evas_Object *check = elm_object_item_part_content_get(item, "elm.icon.right");
+ Eina_Bool check_state = elm_check_state_get(check);
+ elm_check_state_set(check, !check_state);
+ }
+ 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;
+ if(!it_data->checkbox_cb) {
+ Evas_Object *check = elm_object_item_part_content_get(item, "elm.icon.right");
+ Eina_Bool check_state = elm_check_state_get(check);
+ elm_check_state_set(check, !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);
+ }
+ 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.icon");
+ 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);
+// elm_object_disabled_set(ld->btn_cancel, 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);
+
+ 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);
+ }
+
+// elm_genlist_realized_items_update(ld->genlist);
+}
+
+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_FREE(ld->type_str);
+
+ mc_pre_play_mgr_destroy_play();
+ mc_pre_play_control_clear_pre_item_data();
+
+ free(ld);
+}
+
+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;
+ }
+
+}
+
+
+static Eina_Bool
+_back_cb(void *data, Elm_Object_Item *it)
+{
+ startfunc;
+ track_list_data_t *ld = (track_list_data_t *)data;
+ MP_CHECK_FALSE(ld);
+
+ if (ld->t_type == MP_TRACK_ALL) {
+
+ Elm_Object_Item *selected_item = _get_select_radio(ld);
+
+ if (selected_item != NULL) {
+ _set_cb(ld, NULL, NULL);
+ } else {
+ _cancel_cb(ld, NULL, NULL);
+ }
+ } else {
+ _mc_popup_view(ld);
+ }
+
+ return EINA_FALSE;
+}
+
+static 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);
+}
+
+static 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.icon");
+ 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);
+ it_data->checked = all_selected;
+ elm_genlist_item_fields_update(item, "elm.icon.right", ELM_GENLIST_ITEM_FIELD_CONTENT);
+ 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);
+ }
+ }
+}
+
+static 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.icon");
+ Eina_Bool state = elm_check_state_get(check);
+ if (state == EINA_FALSE && ld->ad->max_count<=0) {
+ elm_check_state_set(check, !state);
+ }
+
+ if((ld->ad->limitsize>0) && (_get_total_size(ld) > ld->ad->limitsize)) {
+ 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)) {
+ 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;
+ }
+
+ _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);
+
+ layout = mc_common_load_edj(parent, MC_EDJ_FILE, "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 = "2line.top";
+ 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 = "select_all";
+ 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 0
+ 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);
+ elm_image_file_set(ic, IMAGE_EDJ_NAME, "00_icon_edit.png");
+ 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_cb, ld);
+ evas_object_show(select_btn);
+ elm_object_item_part_content_set(ld->win_navi_it, "title_right_btn", select_btn);
+#endif
+
+ 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);
+ 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);
+ }
+
+ if (ld->multiple || ld->single) {
+ elm_genlist_decorate_mode_set(content, true);
+ }
+
+ 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_FREE(ld->type_str);
+ ld->type_str = g_strdup(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) 2000-2015 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) 2000-2015 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);
+ elm_image_file_set(icon, NOCONTENT_MULTIMEDIA, 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) 2000-2015 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"
+
+extern Evas_Object *mc_tabbar;
+
+#define MC_SELECT_URI_KEY "select_uri"
+
+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;
+ int ret = 0;
+
+ app_control_get_operation(service, &operation);
+ DEBUG_TRACE("operation: %s", operation);
+
+ if (!g_strcmp0(operation, APP_CONTROL_OPERATION_PICK))
+ {
+ ad->max_count = 0;
+#if 0
+ ret = app_control_get_extra_data(service, APP_CONTROL_DATA_TOTAL_COUNT, &value);
+ if (value) {
+ ad->max_count = atoi(value);
+ DEBUG_TRACE("Maximum Count is: %d", ad->max_count);
+ IF_FREE(value);
+ }
+#endif
+ ad->limitsize = -1;
+#if 0
+ ret = app_control_get_extra_data(service, APP_CONTROL_DATA_TOTAL_SIZE, &value);
+ if (value) {
+ ad->limitsize = atoi(value);
+ DEBUG_TRACE("Maximum Size is: %lld", ad->limitsize);
+ IF_FREE(value);
+ }
+#endif
+ ret = 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
+ elm_theme_extension_add(NULL,"/usr/apps/org.tizen.music-player/res/edje/mp-custom-winset-style.edj");
+
+
+ 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);
+
+ bindtextdomain(DOMAIN_NAME, LOCALE_DIR);
+
+ 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);
+
+ if (ad->select_type == MC_SELECT_SINGLE_RINGTONE)
+ {
+ mc_vol_type_set(SOUND_TYPE_MEDIA);
+ }
+
+ 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();
+ struct app_data *ad = NULL;
+ ad = (struct app_data *)data;
+ MP_CHECK(ad);
+ mc_vol_reset_default_value(ad);
+
+ return;
+}
+
+static void
+mc_resume(void *data)
+{
+ DEBUG_TRACE("");
+ struct app_data *ad = NULL;
+ ad = (struct app_data *)data;
+ MP_CHECK(ad);
+
+ if (ad->select_type == MC_SELECT_SINGLE_RINGTONE) {
+ mc_vol_type_set(SOUND_TYPE_MEDIA);
+ }
+
+ return;
+}
+
+static void
+mc_device_orientation(app_event_info_h event_info, void *data)
+{
+ struct app_data *ad = data;
+
+ int angle;
+
+ app_device_orientation_e orientation = APP_DEVICE_ORIENTATION_0;
+ app_event_get_device_orientation(event_info, &orientation);
+
+ switch (orientation)
+ {
+ case APP_DEVICE_ORIENTATION_270:
+ angle = -90;
+ break;
+
+ case APP_DEVICE_ORIENTATION_90:
+ angle = 90;
+ break;
+
+ case APP_DEVICE_ORIENTATION_180:
+ angle = 180;
+ break;
+
+ case APP_DEVICE_ORIENTATION_0:
+ default:
+ angle = 0;
+ break;
+ }
+
+ ad->win_angle = angle;
+
+ DEBUG_TRACE("window angle: %d", ad->win_angle);
+}
+
+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);
+ mc_vol_reset_default_value(ad);
+
+ 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");
+ struct appdata *ad = user_data;
+
+ 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
+<manifest>
+ <define>
+ <domain name="org.tizen.music-chooser" />
+ </define>
+ <request>
+ <domain name="org.tizen.music-chooser" />
+ </request>
+ <assign>
+ <filesystem path="/usr/share/icons/default/small/music-chooser.png" label="_" />
+ <filesystem path="/usr/share/icons/default/small/preview_music_4x2.png" label="_" />
+ </assign>
+</manifest>
--- /dev/null
+org.tizen.music-player system::homedir rwxat- ------
+org.tizen.music-player system::media rwxat- ------
+org.tizen.music-player system::share rwxat- ------
+org.tizen.music-player system::ext_storage rwxat- ------
+org.tizen.music-player pulseaudio rwxat- ------
+e17 org.tizen.music-player -w---- ------
+org.tizen.music-player device::app_logging -w---- ------
+org.tizen.music-player sys-assert::core rwxat- ------
+org.tizen.music-player privacy-manager::db r----l ------
+org.tizen.music-player pkgmgr::db r----l ------
+org.tizen.music-player ecore::lock rwxat- ------
+org.tizen.music-player allshare::svc rwx--- ------
+org.tizen.music-player aul::launch --x--- ------
+org.tizen.music-player contacts-service rwx--- ------
+org.tizen.music-player data-provider-master rw---- ------
+org.tizen.music-player data-provider-master::share --x--- ------
+org.tizen.music-player data-provider-master::notification rw---- ------
+org.tizen.music-player data-provider-master::notification.client rw---- ------
+org.tizen.music-player download-provider rw---- ------
+org.tizen.music-player drmfw rw---- ------
+org.tizen.music-player isf rwx--- ------
+org.tizen.music-player mdm-server -w---- ------
+org.tizen.music-player media-data::db rw---- ------
+org.tizen.music-player media-server rwx--- ------
+org.tizen.music-player osp-channel-service -w---- ------
+org.tizen.music-player power_manager -w---- ------
+org.tizen.music-player sound_server rw---- ------
+org.tizen.music-player stest-service -w---- ------
+org.tizen.music-player system::use_internet rw---- ------
+org.tizen.music-player xorg rw---- ------
+org.tizen.music-player csc-feature r-x--- ------
+org.tizen.music-player cbhm r----- ------
+org.tizen.music-player ims-service::db rw---- ------
+org.tizen.music-player nfc-manager -w---- ------
+org.tizen.music-player live-magazine::data --x--- ------
+org.tizen.music-player org.tizen.indicator rwx--- ------
+org.tizen.music-player com.samsung.message r-x--- ------
+org.tizen.music-player com.samsung.allshare-popup r-x--- ------
+org.tizen.music-player org.tizen.setting rwx--- ------
+org.tizen.music-player com.samsung.browser --x--- ------
+org.tizen.music-player com.samsung.camera-app rw---- ------
+org.tizen.music-player com.samsung.cluster-home -w---- ------
+org.tizen.music-player com.samsung.contacts rw---- ------
+org.tizen.music-player org.tizen.gallery r----- ------
+org.tizen.music-player com.samsung.voicerecorder r-x--- ------
+org.tizen.music-player msg-service r----- ------
+org.tizen.music-player cloud-content-sync::db rw---- ------
+org.tizen.music-player cloud-content-sync -w---- ------
+org.tizen.music-player org.tizen.download-manager rw---- ------
+org.tizen.music-player deviced rwx--- ------
+org.tizen.music-player deviced::display rw---- ------
+org.tizen.music-player vcs-server rwx--- ------
+org.tizen.music-player systemd-journal --x--- ------
+org.tizen.music-player telephony_framework::api_manager r----- ------
+org.tizen.music-player telephony_framework::api_sim r----- ------
+org.tizen.music-player eas-engine r-x--- ------
+org.tizen.music-player wifi-direct rw---- ------
+org.tizen.music-player wifi-direct::admin rw---- ------
+org.tizen.music-player wifi-direct::discover -w---- ------
+org.tizen.music-player wifi-direct::native rw---- ------
+org.tizen.music-player wifi-direct::info r----- ------
+org.tizen.music-player bt-service::public -w---- ------
+org.tizen.music-player bt-service::platform -w---- ------
+org.tizen.music-player svi-data rwx--- ------
+org.tizen.music-player com.samsung.magazine r-x--- ------
+org.tizen.music-player libaccounts-svc::db rw---- ------
+org.tizen.music-player samsung-account-front rw---- ------
+org.tizen.music-player webkit2-efl r-x--- ------
+org.tizen.music-player tts-server rwx--- ------
+org.tizen.music-player email-service r-x--- ------
+org.tizen.music-player com.samsung.email r-x--- ------
+org.tizen.music-player data-provider-master::shortcut rw---- ------
+org.tizen.music-player data-provider-master::shortcut.shortcut -w---- ------
+org.tizen.music-player data-provider-master::shortcut.livebox -w---- ------
+org.tizen.music-player efreet r-x--- ------
+org.tizen.music-player 3yROd9haVh r-x--- ------
+com.samsung.windicator aul::launch ------ ------
+com.samsung.windicator syspopup::db r----l ------
+org.tizen.music-player com.samsung.safetyvolume-syspopup rw---- ------
+org.tizen.music-player syspopup::db rw---- ------
+org.tizen.quickpanel org.tizen.music-player rwx--- ------
+org.tizen.setting org.tizen.music-player rw---- ------
+com.samsung.app-tray org.tizen.music-player r-x--- ------
+com.samsung.cluster-home org.tizen.music-player r-x--- ------
+system::use_internet org.tizen.music-player -w---- ------
+context-service org.tizen.music-player r-x--- ------
+media-server org.tizen.music-player -w---- ------
+isf org.tizen.music-player rw---- ------
+pulseaudio org.tizen.music-player rwxat- ------
+org.tizen.indicator org.tizen.music-player rwx--- ------
+org.tizen.lockscreen org.tizen.music-player rwx--- ------
+stest-service org.tizen.music-player r-x--- ------
+org.tizen.download-manager org.tizen.music-player rw---- ------
+com.samsung.myfile org.tizen.music-player rw---- ------
+com.samsung.browser org.tizen.music-player rw---- ------
+samsung-account-front org.tizen.music-player rw---- ------
+com.samsung.data-provider-slave org.tizen.music-player rwx--- ------
+org.tizen.data-provider-slave org.tizen.music-player rwx--- ------
+com.samsung.data-provider-slave media-server rwx--- ------
+com.samsung.data-provider-slave media-data::db rw---- ------
+com.samsung.add-viewer org.tizen.music-player rwx--- ------
+org.tizen.music-player tizen::vconf::public::r::platform::rw r----l ------
+org.tizen.music-player tizen::vconf::public::rw rwxatl ------
+org.tizen.music-player tizen::vconf::setting::admin rwxatl ------
+org.tizen.music-player device::camera rw---- ------
+dbus org.tizen.music-player rwx--- ------
+org.tizen.volume org.tizen.music-player r----- ------
+org.tizen.music-player org.tizen.volume rw----- ------
--- /dev/null
+<manifest>
+ <define>
+ <domain name="org.tizen.music-player" />
+ </define>
+ <request>
+ <domain name="org.tizen.music-player" />
+ </request>
+ <assign>
+ <filesystem path="/opt/usr/apps/org.tizen.music-player/data" label="org.tizen.music-player" type="transmutable" />
+ <filesystem path="/opt/usr/apps/org.tizen.sound-player/data" label="org.tizen.music-playe-lite" type="transmutable" />
+ <filesystem path="/usr/share/applications/org.tizen.music-player.desktop" label="_" />
+ <filesystem path="/usr/share/icons/default/small/org.tizen.music-player.png" label="_" />
+ <filesystem path="/usr/share/icons/default/small/preview_music_4x2.png" label="_" />
+ <filesystem path="/usr/share/applications/org.tizen.sound-player.desktop" label="_" />
+ <filesystem path="/usr/share/icons/default/small/org.tizen.sound-player.png" label="_" />
+ <filesystem path="/usr/apps/org.tizen.music-player/res/*" label="_" />
+ <filesystem path="/opt/etc/dump.d/module.d/dump_org.tizen.music-player.sh" label="_" />
+ <filesystem path="/usr/apps/org.tizen.music-player/author-signature.xml" label="_" />
+ <filesystem path="/usr/apps/org.tizen.music-player/signature1.xml" label="_" />
+ <filesystem path="/usr/apps/org.tizen.music-player/res/locale/*" label="_" />
+ </assign>
+</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" 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"/>
+ <application-service>
+ <mime name="music-player.uri" />
+ </application-service>
+ </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"/>
+ <application-service>
+ <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" />
+ </application-service>
+ <application-service>
+ <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" />
+
+ </application-service>
+ </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/systemsettings</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>
+ </privileges>
+
+ <livebox appid="org.tizen.music-player.livebox" primary='true' script="edje" pinup="FALSE" secured="FALSE" auto_launch="true" network="FALSE" abi="c" timeouot="10" period="30" libexec="/usr/apps/org.tizen.music-player/lib/liblive-org.tizen.music-player.so">
+ <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>/usr/share/icons/default/small/org.tizen.music-player.png</icon>
+ <box type="buffer" mouse_event="true" touch_effect="false">
+ <size need_frame="true" touch_effect="false" preview="/usr/apps/org.tizen.music-player/shared/res/livebox/Music_4x2.png">4x2</size>
+ <script src="/usr/apps/org.tizen.music-player/res/edje/org.tizen.music-player.edj" group="disclosure" />
+ </box>
+
+ <pd type="buffer"><!--pd type="SCRIPT"-->
+ <size>720x607</size>
+ <!--<script src="/usr/apps/org.tizen.music-player/res/edje/org.tizen.music-player.edj" group="disclosure" />-->
+ </pd>
+
+ <group>
+ <cluster name="music">
+ <category name="Recently played" context="music_recently"/>
+ <option key="data_provider" value="org.tizen.music-player"/>
+ <option key="time_span" value="00-03-00"/>
+ <option key="result_size" value="10"/>
+ </cluster>
+ </group>
+
+ </livebox>
+ <livebox appid="org.tizen.music-player.easymode.livebox" primary='true' script="edje" pinup="FALSE" secured="FALSE" auto_launch="false" network="FALSE" abi="c" timeouot="10" period="0.0" libexec="/usr/apps/org.tizen.music-player/lib/liblive-org.tizen.music-player.so">
+ <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>/usr/share/icons/default/small/org.tizen.music-player.png</icon>
+ <box type="script" touch_effect="false" mouse_event="true">
+ <size mode="easy" need_frame="true" preview="/usr/apps/org.tizen.music-player/shared/res/livebox/dummy_sel_livebox_04.png">3x1</size>
+ <script src="/usr/apps/org.tizen.music-player/res/edje/org.tizen.music-player.edj" group="livebox" />
+ </box>
+
+ </livebox>
+
+ <widget-application appid="org.tizen.music-player.widget" exec="/usr/apps/org.tizen.music-player/bin/music-player-widget" main="false" update-period="60" nodisplay="false">
+ <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: Apache-2.0
+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(ecore-x)
+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: prelink
+BuildRequires: edje-tools
+BuildRequires: gettext-tools
+#BuildRequires: hash-signer
+#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)
+BuildRequires: pkgconfig(capi-network-wifi-direct)
+BuildRequires: pkgconfig(capi-system-device)
+#widget relevant
+BuildRequires: pkgconfig(appcore-efl)
+BuildRequires: pkgconfig(widget)
+BuildRequires: pkgconfig(widget_service)
+BuildRequires: pkgconfig(widget_provider_app)
+BuildRequires: pkgconfig(widget_provider)
+BuildRequires: pkgconfig(capi-appfw-widget-application)
+
+%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
+#Requires(post): signing-client
+
+%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
+#Requires: %{name} = %{version}-%{release}
+
+%description -n %{PKG_PREFIX}.music-chooser
+Description: music-chooser chooser
+#END_START_PUBLIC_REMOVED_STRING
+
+%prep
+%setup -q
+
+%define DESKTOP_DIR /usr/share
+%define INSTALL_DIR /usr/apps
+%define DATA_DIR /opt/usr/apps
+
+%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 %{DATA_DIR}/%{PKG_NAME}
+
+%define SP_PKG_NAME %{PKG_PREFIX}.sound-player
+%define SP_PREFIX %{INSTALL_DIR}/%{SP_PKG_NAME}
+%define SP_DATA_PREFIX %{DATA_DIR}/%{SP_PKG_NAME}
+
+%define _storage_phone /opt/usr/media
+%define _storage_sdcard /opt/storage/sdcard
+
+%define _log_dump_script_dir /opt/etc/dump.d/module.d
+
+%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="%{DESKTOP_DIR}/icons/default/small" \
+ -DDESKTOP_DIR="%{DESKTOP_DIR}" \
+ -DPKG_NAME="%{PKG_NAME}" \
+ -DSP_PKG_NAME="%{SP_PKG_NAME}" \
+ -DDATA_PREFIX="%{DATA_PREFIX}" \
+ -DSP_DATA_PREFIX="%{SP_DATA_PREFIX}" \
+ -DCMAKE_LOG_DUMP_SCRIPT_DIR="%{_log_dump_script_dir}" \
+%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}/usr/share/license
+cp LICENSE %{buildroot}/usr/share/license/%{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
+
+execstack -c %{buildroot}%{PREFIX}/bin/music-player
+
+%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
+#/usr/bin/vconftool set -t int memory/music/state 0 -i -f -g 5000 -s org.tizen.music-player
+
+#/usr/bin/vconftool set -t string memory/private/org.tizen.music-player/pos "00:00" -i -f -g 5000 -s org.tizen.music-player
+#/usr/bin/vconftool set -t double memory/private/org.tizen.music-player/progress_pos 0.0 -i -f -g 5000 -s org.tizen.music-player
+#/usr/bin/vconftool set -t double memory/private/org.tizen.music-player/position_changed 0.0 -i -f -g 5000 -s org.tizen.music-player
+#/usr/bin/vconftool set -t int memory/private/org.tizen.music-player/player_state 0 -i -f -g 5000 -s org.tizen.music-player
+#/usr/bin/vconftool set -t int memory/private/org.tizen.music-player/pd_genlist_clear 0 -i -f -g 5000 -s org.tizen.music-player
+
+#/usr/bin/vconftool set -t bool db/private/org.tizen.music-player/shuffle 0 -i -f -g 5000 -s org.tizen.music-player
+#/usr/bin/vconftool set -t int db/private/org.tizen.music-player/repeat 1 -i -f -g 5000 -s org.tizen.music-player
+#/usr/bin/vconftool set -t int db/private/org.tizen.music-player/square_axis_val 0 -i -f -g 5000 -s org.tizen.music-player
+#/usr/bin/vconftool set -t int db/private/org.tizen.music-player/playlist 15 -i -f -g 5000 -s org.tizen.music-player
+#/usr/bin/vconftool set -t bool db/private/org.tizen.music-player/motion_asked 0 -g 5000 -s org.tizen.music-player
+#/usr/bin/vconftool set -t bool db/private/org.tizen.music-player/square_asked 0 -f -g 5000 -s org.tizen.music-player
+#/usr/bin/vconftool set -t bool db/private/org.tizen.music-player/smart_volume 0 -f -g 5000 -s org.tizen.music-player
+#/usr/bin/vconftool set -t bool db/private/org.tizen.music-player/show_lyrics 1 -f -g 5000 -s org.tizen.music-player
+
+#/usr/bin/vconftool set -t string db/private/org.tizen.music-player/tabs_order "1234567" -i -f -g 5000 -s org.tizen.music-player
+#/usr/bin/vconftool set -t int db/private/org.tizen.music-player/tabs_select 63 -i -f -g 5000 -s org.tizen.music-player
+#/usr/bin/vconftool set -t string db/private/org.tizen.music-player/playlist_order "1234" -i -f -g 5000 -s org.tizen.music-player
+
+#/usr/bin/vconftool set -t int memory/private/org.tizen.music-player/playing_pid 0 -i -f -g 5000 -s org.tizen.music-player
+
+#vconftool set -t int db/private/org.tizen.music-player/se_change 1 -g 5000 -s org.tizen.music-player
+#vconftool set -t bool db/private/org.tizen.music-player/menu_change 1 -g 5000 -s org.tizen.music-player
+#vconftool set -t double db/private/org.tizen.music-player/eq_custom_1 0.5 -g 5000 -s org.tizen.music-player
+#vconftool set -t double db/private/org.tizen.music-player/eq_custom_2 0.5 -g 5000 -s org.tizen.music-player
+#vconftool set -t double db/private/org.tizen.music-player/eq_custom_3 0.5 -g 5000 -s org.tizen.music-player
+#vconftool set -t double db/private/org.tizen.music-player/eq_custom_4 0.5 -g 5000 -s org.tizen.music-player
+#vconftool set -t double db/private/org.tizen.music-player/eq_custom_5 0.5 -g 5000 -s org.tizen.music-player
+#vconftool set -t double db/private/org.tizen.music-player/eq_custom_6 0.5 -g 5000 -s org.tizen.music-player
+#vconftool set -t double db/private/org.tizen.music-player/eq_custom_7 0.5 -g 5000 -s org.tizen.music-player
+#vconftool set -t double db/private/org.tizen.music-player/eq_custom_8 0.5 -g 5000 -s org.tizen.music-player
+#vconftool set -t double db/private/org.tizen.music-player/user_audio_effect_3d 0.0 -g 5000 -s org.tizen.music-player
+#vconftool set -t double db/private/org.tizen.music-player/user_audio_effect_bass 0.0 -g 5000 -s org.tizen.music-player
+#vconftool set -t double db/private/org.tizen.music-player/user_audio_effect_room 0.0 -g 5000 -s org.tizen.music-player
+#vconftool set -t double db/private/org.tizen.music-player/user_audio_effect_reverb 0.0 -g 5000 -s org.tizen.music-player
+#vconftool set -t double db/private/org.tizen.music-player/user_audio_effect_clarity 0.0 -g 5000 -s org.tizen.music-player
+#vconftool set -t int memory/private/org.tizen.music-player/auto_off_time_val 0 -i -f -g 5000 -s org.tizen.music-player
+#vconftool set -t int memory/private/org.tizen.music-player/auto_off_custom_time 0 -i -f -g 5000 -s org.tizen.music-player
+#vconftool set -t int memory/private/org.tizen.music-player/auto_off_type_val 0 -i -f -g 5000 -s org.tizen.music-player
+#vconftool set -t int memory/private/org.tizen.music-player/sa_user_change 0 -i -f -g 5000 -s org.tizen.music-player
+#vconftool set -t double db/private/org.tizen.music-player/playspeed 1.0 -i -f -g 5000 -s org.tizen.music-player
+
+#vconftool set -t bool db/private/org.tizen.music-player/personal_no_ask_again 0 -i -f -g 5000 -s org.tizen.music-player
+
+#/usr/bin/signing-client/hash-signer-client.sh -a -d -p platform %{PREFIX}
+
+touch /opt/usr/apps/org.tizen.music-player/shared/data/MusicPlayStatus.ini
+chown 5000:5000 /opt/usr/apps/org.tizen.music-player/shared/data/MusicPlayStatus.ini
+
+touch /opt/usr/apps/org.tizen.music-player/shared/data/NowPlayingId.ini
+chown 5000:5000 /opt/usr/apps/org.tizen.music-player/shared/data/NowPlayingId.ini
+
+%files
+%manifest %{name}.manifest
+%{DESKTOP_DIR}/packages/%{name}.xml
+%{DESKTOP_DIR}/icons/default/small/%{name}.png
+%{DESKTOP_DIR}/icons/default/small/preview_music_4x2.png
+%{PREFIX}/bin/*
+%{PREFIX}/res/locale/*/LC_MESSAGES/*.mo
+%{PREFIX}/res/images/*
+%{PREFIX}/res/edje/*.edj
+%{PREFIX}/shared/res/*
+%attr(-,app,app) %dir %{DATA_PREFIX}/data
+%{PREFIX}/lib/*.so*
+#/opt/usr/share/sstream-plugins/*.so
+/etc/smack/accesses.d/org.tizen.music-player.efl
+/usr/share/license/%{name}
+%attr(-,app,app) %dir %{DATA_PREFIX}/shared/data
+%attr(0744,root,root) %{_log_dump_script_dir}/dump_%{name}.sh
+
+%{DESKTOP_DIR}/icons/default/small/%{SP_PKG_NAME}.png
+%{SP_PREFIX}/bin/sound-player
+%attr(-,app,app) %dir %{SP_DATA_PREFIX}/data
+%attr(-,app,app) %dir %{SP_DATA_PREFIX}/shared/data
+
+#%{PREFIX}/author-signature.xml
+#%{PREFIX}/signature1.xml
+
+#START_PUBLIC_REMOVED_STRING
+
+%files -n org.tizen.music-chooser
+%manifest org.tizen.music-chooser.manifest
+%{DESKTOP_DIR}/packages/org.tizen.music-chooser.xml
+%{MC_PREFIX}/res/locale/*/LC_MESSAGES/*.mo
+%defattr(-,root,root,-)
+#%attr(-,app,app) %dir %{MC_PREFIX}/res/etc/music-chooser
+%{MC_PREFIX}/bin/*
+%{MC_PREFIX}/shared/trusted/music-chooser.edj
+/usr/share/icons/default/small/music-chooser.png
+/etc/smack/accesses.d/org.tizen.music-chooser.efl
+
+#END_START_PUBLIC_REMOVED_STRING
+
+/usr/apps/org.tizen.music-player/shared/res/*
--- /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 bn.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.po fr_CA.po ga.po gl.po gu.po hi.po hr.po hu.po hy.po is.po it_IT.po ja_JP.po ka.po kk.po kn.po ko_KR.po lt.po lv.po mk.po ml.po nb.po nl.po pl.po pt_BR.po pt_PT.po ro.po ru_RU.po si.po sk.po sl.po sr.po sv.po ta.po te.po tr_TR.po uk.po ur.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 "تم تجاوز الحد الأقصى لحجم الملفات."
+
--- /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."
+
--- /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 "Максималният размер на файловете е надхвърлен."
+
--- /dev/null
+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_MUSIC_POP_RINGTONE_ADDED"
+msgstr "রিংটোন যোগ করা হয়েছে।"
+
+msgid "IDS_COM_BODY_CLOSE"
+msgstr "বন্ধ করুন"
+
+msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "অক্ষর সর্বাধিক সংখ্যায় পৌঁছেছে।"
+
+msgid "IDS_CAM_BODY_BUTTON_T_TTS"
+msgstr "বোতাম"
+
+msgid "IDS_COM_SK_STOP"
+msgstr "বন্ধ"
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "বার্তা"
+
+msgid "IDS_COM_SK_OK"
+msgstr "ওকে"
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "বাতিল"
+
+msgid "IDS_COM_SK_REFRESH"
+msgstr "রিফ্রেশ"
+
+msgid "IDS_COM_BODY_SELECT_ALL"
+msgstr "সমস্ত নির্বাচন করুন"
+
+msgid "IDS_COM_BODY_SETTINGS"
+msgstr "সেটিংস"
+
+msgid "IDS_COM_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_COM_BUTTON_SHARE"
+msgstr "শেয়ার"
+
+msgid "IDS_COM_SK_REMOVE"
+msgstr "অপসারণ"
+
+msgid "IDS_COM_BODY_PD_SELECTED"
+msgstr "%dটি নির্বাচিত।"
+
+msgid "IDS_MUSIC_HEADER_SELECT_ITEMS"
+msgstr "আইটেমগুলি নির্বাচন করুন"
+
+msgid "IDS_ST_BODY_ADVANCED"
+msgstr "অগ্রণী"
+
+msgid "IDS_COM_SK_DELETE"
+msgstr "মুছুন"
+
+msgid "IDS_COM_POP_DELETED"
+msgstr "মোছা হয়েছে।"
+
+msgid "IDS_COM_POP_FAILED"
+msgstr "ব্যর্থ।"
+
+msgid "IDS_COM_BODY_LOADING"
+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_IV_BODY_FAVOURITE"
+msgstr "প্রিয়"
+
+msgid "IDS_MH_OPT_MORE_INFO_ABB"
+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_COM_SK_SET"
+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_COM_SK_NEXT"
+msgstr "পরে"
+
+msgid "IDS_COM_BODY_GALLERY"
+msgstr "গ্যালারি"
+
+msgid "IDS_ST_BODY_NONE"
+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_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "কল করার সময় প্লে করতে অক্ষম।"
+
+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_RENAME"
+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 ch"
+
+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 "আপনি সঙ্গীত থেকে ট্র্যাকগুলি ডাউনলোড করার পরে সেগুলি এখানে দেখানো হবে।"
+
+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 "মেমরি কার্ড লোড করা হয়েছে।"
+
+msgid "IDS_MUSIC_POP_DEVICE_SETTINGS_ERROR"
+msgstr "ডিভাইস Settings ত্রুটি।"
+
+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 "ড্রপবক্স সামগ্রী"
+
+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 "ড্রপবক্স তথ্য মুছুন"
+
+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_MH_BODY_THE_PLAYLIST_NAME_PS_IS_ALREADY_IN_USE"
+msgstr "প্লেতালিকার নাম %s ইতিমধ্যে ব্যবহার হচ্ছে।"
+
+msgid "IDS_MH_TPOP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "প্লেতালিকাতে %dটি ট্র্যাক যোগ করা হয়েছে।"
+
+msgid "IDS_MH_MBODY_RECENTLY_ADDED_M_SONG"
+msgstr "সম্প্রতি যোগ করা হয়েছে"
+
+msgid "IDS_MH_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "প্লেতালিকাতে 1টি ট্র্যাক যোগ করা হয়েছে৷"
+
+msgid "IDS_MH_BODY_TOTAL"
+msgstr "মোট"
+
+msgid "IDS_DLNA_OPT2_CHANGE_PLAYER"
+msgstr "প্লেয়ার পরিবর্তন"
+
+msgid "IDS_BR_SK_TABS"
+msgstr "ট্যাবগুলি"
+
+msgid "IDS_MF_BODY_DROPBOX_ABB"
+msgstr "ড্রপবক্স"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "স্বতঃ প্রস্তাবনাগুলি ধ্বনির ফাইলগুলি থেকে হাইলাইটগুলি নিষ্কাশন করতে পারে।"
+
+msgid "IDS_MF_BODY_PARENT_RATING"
+msgstr "পেরেন্ট রেটিং"
+
+msgid "IDS_COM_BODY_MUSIC"
+msgstr "সঙ্গীত"
+
+msgid "IDS_COM_BODY_NO_CONTENTS"
+msgstr "কোনও সামগ্রী নেই"
+
+msgid "IDS_COM_BODY_UNKNOWN"
+msgstr "অজানা"
+
+msgid "IDS_COM_POP_ERROR"
+msgstr "ত্রুটি।"
+
+msgid "IDS_COM_SK_DOWNLOAD"
+msgstr "ডাউনলোড"
+
+msgid "IDS_COM_OPT_DELETE"
+msgstr "মুছুন"
+
+msgid "IDS_COM_BODY_DETAILS_TITLE"
+msgstr "শিরোনাম"
+
+msgid "IDS_COM_SK_SAVE"
+msgstr "সংরক্ষণ"
+
+msgid "IDS_COM_BODY_EMAIL"
+msgstr "ইমেল"
+
+msgid "IDS_COM_BODY_BLUETOOTH"
+msgstr "ব্লুটুথ"
+
+msgid "IDS_COM_BODY_NFC"
+msgstr "NFC"
+
+msgid "IDS_COM_POP_DELETE_Q"
+msgstr "মুছবেন?"
+
+msgid "IDS_COM_SK_SELECT"
+msgstr "নির্বাচন"
+
+msgid "IDS_COM_BODY_LOW_BATTERY"
+msgstr "ব্যাটারী কম।"
+
+msgid "IDS_COM_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "মাস স্টোরেজ প্রণালী ব্যবহার করতে অক্ষম।"
+
+msgid "IDS_COM_BODY_ALLSHARE"
+msgstr "AllShare"
+
+msgid "IDS_COM_POP_FILE_NOT_FOUND"
+msgstr "ফাইল খুঁজে পাওয়া যায়নি।"
+
+msgid "IDS_COM_POP_CONNECTION_FAILED"
+msgstr "সংযোগ ব্যর্থ।"
+
+msgid "IDS_COM_POP_FILE_NOT_EXIST"
+msgstr "ফাইলটি বিদ্যমান নেই।"
+
+msgid "IDS_COM_HEADER_AUDIO_DEVICE_ABB"
+msgstr "অডিও ডিভাইস"
+
+msgid "IDS_COM_POP_CANCEL"
+msgstr "বাতিল"
+
+msgid "IDS_COM_BODY_FOLDERS"
+msgstr "ফোল্ডারগুলি"
+
+msgid "IDS_COM_BODY_DETAILS"
+msgstr "বিশদ"
+
+msgid "IDS_COM_BODY_END"
+msgstr "সমাপ্ত করুন"
+
+msgid "IDS_COM_BODY_EDIT"
+msgstr "সম্পাদনা করুন"
+
+msgid "IDS_COM_POP_UPDATED"
+msgstr "আপডেট হয়েছে।"
+
+msgid "IDS_COM_POP_DOWNLOADING"
+msgstr "ডাউনলোড হচ্ছে…"
+
+msgid "IDS_COM_POP_DONE"
+msgstr "সম্পন্ন"
+
+msgid "IDS_COM_POP_REMOVED"
+msgstr "অপসারিত।"
+
+msgid "IDS_COM_BODY_CREATE"
+msgstr "তৈরি করুন"
+
+msgid "IDS_COM_BODY_INTERNET"
+msgstr "ইন্টারনেট"
+
+msgid "IDS_COM_OPT_ADDED"
+msgstr "যোগ করা হয়েছে।"
+
+msgid "IDS_COM_BODY_TIME"
+msgstr "সময়"
+
+msgid "IDS_COM_SK_NEW"
+msgstr "নতুন"
+
+msgid "IDS_COM_BODY_RESET_A"
+msgstr "রিসেট করুন"
+
+msgid "IDS_COM_POP_MEMORY_FULL"
+msgstr "মেমোরি পূর্ণ।"
+
+msgid "IDS_COM_BUTTON_SCAN"
+msgstr "স্ক্যান করুন"
+
+msgid "IDS_COM_BODY_SELECTED"
+msgstr "নির্বাচিত"
+
+msgid "IDS_COM_BODY_PREVIOUS"
+msgstr "আগে"
+
+msgid "IDS_COM_BODY_UNABLE_TO_ADD"
+msgstr "যুক্ত করা যায়নি।"
+
+msgid "IDS_COM_BODY_PAUSE"
+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_MH_POP_ALARM_TONE_SET"
+msgstr "অ্যালার্ম টোন সেট আছে।"
+
+msgid "IDS_MUSIC_TMBODY_LENGTH"
+msgstr "দৈর্ঘ্য"
+
+msgid "IDS_MUSIC_ITAB4_FOLDERS"
+msgstr "ফোল্ডার"
+
+msgid "IDS_MUSIC_HEADER_MY_PLAYLISTS_ABB"
+msgstr "My playlists"
+
+msgid "IDS_MP_BODY_SOUND_PLAYER"
+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_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+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_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"
+
+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_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"
+
--- /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ů."
+
--- /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."
+
--- /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"
+
--- /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 "Υπέρβαση μέγιστου μεγέθους αρχείων."
+
--- /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."
+
--- /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."
+
--- /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."
+
--- /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"
+
--- /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."
+
--- /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."
+
--- /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"
+
--- /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."
+
--- /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"
+
--- /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."
+
--- /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."
+
--- /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"
+
--- /dev/null
+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_MUSIC_POP_RINGTONE_ADDED"
+msgstr "રિંગટોન ઉમેર્યુ."
+
+msgid "IDS_COM_BODY_CLOSE"
+msgstr "બંધ કરો"
+
+msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "વર્ણોની મહત્તમ સંખ્યાએ પહોંચ્યા."
+
+msgid "IDS_CAM_BODY_BUTTON_T_TTS"
+msgstr "બટન"
+
+msgid "IDS_COM_SK_STOP"
+msgstr "રોકો"
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "સંદેશ"
+
+msgid "IDS_COM_SK_OK"
+msgstr "ઓકે"
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "રદ કરો"
+
+msgid "IDS_COM_SK_REFRESH"
+msgstr "તાજું કરવું"
+
+msgid "IDS_COM_BODY_SELECT_ALL"
+msgstr "બધું પસંદ કરો"
+
+msgid "IDS_COM_BODY_SETTINGS"
+msgstr "સેટિંગ્સ"
+
+msgid "IDS_COM_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_COM_BUTTON_SHARE"
+msgstr "શેર"
+
+msgid "IDS_COM_SK_REMOVE"
+msgstr "દૂર કરો"
+
+msgid "IDS_COM_BODY_PD_SELECTED"
+msgstr "%d પસંદ કર્યા"
+
+msgid "IDS_MUSIC_HEADER_SELECT_ITEMS"
+msgstr "વસ્તુઓ પસંદ કરો"
+
+msgid "IDS_ST_BODY_ADVANCED"
+msgstr "પ્રગત"
+
+msgid "IDS_COM_SK_DELETE"
+msgstr "કાઢી નાખો"
+
+msgid "IDS_COM_POP_DELETED"
+msgstr "ભૂસાઇ ગયું."
+
+msgid "IDS_COM_POP_FAILED"
+msgstr "નિષ્ફળ."
+
+msgid "IDS_COM_BODY_LOADING"
+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_IV_BODY_FAVOURITE"
+msgstr "મનપસંદ"
+
+msgid "IDS_MH_OPT_MORE_INFO_ABB"
+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_COM_SK_SET"
+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_COM_SK_NEXT"
+msgstr "પછીનું"
+
+msgid "IDS_COM_BODY_GALLERY"
+msgstr "ગેલેરી"
+
+msgid "IDS_ST_BODY_NONE"
+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_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "કૉલ દરમ્યાન ચલાવવામાં અક્ષમ."
+
+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_RENAME"
+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 ch"
+
+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 "તમે સંગીતથી ટ્રૅક ડાઉનલોડ કરી લો, પછી તે અહીં બતાવાશે."
+
+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 "સ્મૃતિ કાર્ડ લોડ કરાયુ."
+
+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 ચેનલ ધ્વનિ પ્રભાવ ફક્ત ઇયરફોન અને બ્લ્યુટુથ હેડસેટ મોડ્સમાં કામ કરે છે."
+
+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 "ડ્રોપબોક્સ સામગ્રી"
+
+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 "ડ્રોપબોક્સનો ડેટા હટાવો"
+
+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_MH_BODY_THE_PLAYLIST_NAME_PS_IS_ALREADY_IN_USE"
+msgstr "પ્લેલિસ્ટ નામ %s પહેલેથી ઉપયોગમાં છે."
+
+msgid "IDS_MH_TPOP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d ટ્રેક્સને પ્લેલિસ્ટમાં ઉમેરવામાં આવ્યા છે."
+
+msgid "IDS_MH_MBODY_RECENTLY_ADDED_M_SONG"
+msgstr "હાલમાં ઉમેર્યુ"
+
+msgid "IDS_MH_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 ટ્રેક પ્લેલિસ્ટમાં ઉમેર્યુ"
+
+msgid "IDS_MH_BODY_TOTAL"
+msgstr "કુલ"
+
+msgid "IDS_DLNA_OPT2_CHANGE_PLAYER"
+msgstr "પ્લેઅર બદલો"
+
+msgid "IDS_BR_SK_TABS"
+msgstr "ટેબ્સ"
+
+msgid "IDS_MF_BODY_DROPBOX_ABB"
+msgstr "ડ્રોપબોક્સ"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "સ્વતઃ ભલામણો ધ્વનિ ફાઇલો પરના હાઇલાઇટ્સને બહાર કાઢી શકે છે."
+
+msgid "IDS_MF_BODY_PARENT_RATING"
+msgstr "પેરેંટ રેટિંગ"
+
+msgid "IDS_COM_BODY_MUSIC"
+msgstr "સંગીત"
+
+msgid "IDS_COM_BODY_NO_CONTENTS"
+msgstr "કોઈ સામગ્રીઓ નથી"
+
+msgid "IDS_COM_BODY_UNKNOWN"
+msgstr "અજ્ઞાત"
+
+msgid "IDS_COM_POP_ERROR"
+msgstr "ભૂલ."
+
+msgid "IDS_COM_SK_DOWNLOAD"
+msgstr "ડાઉનલોડ"
+
+msgid "IDS_COM_OPT_DELETE"
+msgstr "કાઢી નાખો"
+
+msgid "IDS_COM_BODY_DETAILS_TITLE"
+msgstr "શીર્ષક"
+
+msgid "IDS_COM_SK_SAVE"
+msgstr "સાચવો"
+
+msgid "IDS_COM_BODY_EMAIL"
+msgstr "ઇમેલ"
+
+msgid "IDS_COM_BODY_BLUETOOTH"
+msgstr "બ્લ્યુટુથ"
+
+msgid "IDS_COM_BODY_NFC"
+msgstr "NFC"
+
+msgid "IDS_COM_POP_DELETE_Q"
+msgstr "કાઢી નાખવું?"
+
+msgid "IDS_COM_SK_SELECT"
+msgstr "પસંદ કરો"
+
+msgid "IDS_COM_BODY_LOW_BATTERY"
+msgstr "બેટરી લો."
+
+msgid "IDS_COM_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "સમૂહ સંગ્રહ મોડ દરમિયાન ઉપયોગ કરવામાં અસમર્થ."
+
+msgid "IDS_COM_BODY_ALLSHARE"
+msgstr "AllShare"
+
+msgid "IDS_COM_POP_FILE_NOT_FOUND"
+msgstr "ફાઇલ જડતી નથી."
+
+msgid "IDS_COM_POP_CONNECTION_FAILED"
+msgstr "જોડાણ નિષ્ફળ."
+
+msgid "IDS_COM_POP_FILE_NOT_EXIST"
+msgstr "આ ફાઇલ હાજર નથી."
+
+msgid "IDS_COM_HEADER_AUDIO_DEVICE_ABB"
+msgstr "ઓડિયો ઉપકરણ"
+
+msgid "IDS_COM_POP_CANCEL"
+msgstr "રદ કરો"
+
+msgid "IDS_COM_BODY_FOLDERS"
+msgstr "ફોલ્ડર્સ"
+
+msgid "IDS_COM_BODY_DETAILS"
+msgstr "વિગતો"
+
+msgid "IDS_COM_BODY_END"
+msgstr "અંત"
+
+msgid "IDS_COM_BODY_EDIT"
+msgstr "સંપાદિત કરો"
+
+msgid "IDS_COM_POP_UPDATED"
+msgstr "અપડેટ થયેલું."
+
+msgid "IDS_COM_POP_DOWNLOADING"
+msgstr "ડાઉનલોડિંગ..."
+
+msgid "IDS_COM_POP_DONE"
+msgstr "થઇ ગયું"
+
+msgid "IDS_COM_POP_REMOVED"
+msgstr "હટાવાયા."
+
+msgid "IDS_COM_BODY_CREATE"
+msgstr "બનાવો"
+
+msgid "IDS_COM_BODY_INTERNET"
+msgstr "ઇન્ટરનેટ"
+
+msgid "IDS_COM_OPT_ADDED"
+msgstr "ઉમેર્યુ."
+
+msgid "IDS_COM_BODY_TIME"
+msgstr "સમય"
+
+msgid "IDS_COM_SK_NEW"
+msgstr "નવું"
+
+msgid "IDS_COM_BODY_RESET_A"
+msgstr "રીસેટ"
+
+msgid "IDS_COM_POP_MEMORY_FULL"
+msgstr "સ્મૃતિ છલોછલ."
+
+msgid "IDS_COM_BUTTON_SCAN"
+msgstr "સ્કેન કરો"
+
+msgid "IDS_COM_BODY_SELECTED"
+msgstr "પસંદ કરાયેલું"
+
+msgid "IDS_COM_BODY_PREVIOUS"
+msgstr "પહેલાનું"
+
+msgid "IDS_COM_BODY_UNABLE_TO_ADD"
+msgstr "જોડવામાં અક્ષમ."
+
+msgid "IDS_COM_BODY_PAUSE"
+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_MH_POP_ALARM_TONE_SET"
+msgstr "ઍલાર્મનો ધ્વનિ ગોઠવ્યો."
+
+msgid "IDS_MUSIC_TMBODY_LENGTH"
+msgstr "લંબાઈ"
+
+msgid "IDS_MUSIC_ITAB4_FOLDERS"
+msgstr "ફોલ્ડર્સ"
+
+msgid "IDS_MUSIC_HEADER_MY_PLAYLISTS_ABB"
+msgstr "My playlists"
+
+msgid "IDS_MP_BODY_SOUND_PLAYER"
+msgstr "ધ્વનિ પ્લેઅર"
+
+msgid "IDS_MUSIC_OPT_SETTINGS"
+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_TPLATFORM_MBODY_STORAGE_LOCATION"
+msgstr "સંગ્રહ સ્થાન"
+
+msgid "IDS_MUSIC_OPT_REMOVE_M_PLAYLIST"
+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_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+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 ch"
+
+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 "आपके द्वारा संगीत से ट्रैक्स डाउनलोड करने पर, वे यहाँ दिखाए जाएँगे।"
+
+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 "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 चैनल ध्वनि प्रभाव केवल इयरफ़ोन और ब्लूटूथ हेडसेट मोड में काम करता है"
+
+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 "ड्रॉपबॉक्स सामग्री"
+
+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 "ड्रॉपबॉक्स डाटा हटाएँ"
+
+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 "ड्रॉपबॉक्स"
+
+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 "फाइलों का अधिकतम आकार पार कर गया है।"
+
--- /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."
+
--- /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."
+
--- /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 "Ֆայլերի առավելագույն քանակը գերազանցվել է:"
+
--- /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áð."
+
--- /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."
+
--- /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 "ファイルの最大サイズを超えました。"
+
--- /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 "გადაჭარბებულია ფაილების მაქსიმალური ზომა."
+
--- /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 "Файлдардың ең үлкен өлшемінен асып кетті."
+
--- /dev/null
+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_MUSIC_POP_RINGTONE_ADDED"
+msgstr "ರಿಂಗ್ಟೋನ್ ಸೇರಿಸಿದೆ."
+
+msgid "IDS_COM_BODY_CLOSE"
+msgstr "ಮುಚ್ಚಿ"
+
+msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "ಅಕ್ಷರಗಳ ಗರಿಷ್ಠ ಸಂಖ್ಯೆ ತಲುಪಿದೆ."
+
+msgid "IDS_CAM_BODY_BUTTON_T_TTS"
+msgstr "ಬಟನ್"
+
+msgid "IDS_COM_SK_STOP"
+msgstr "ನಿಲ್ಲಿಸು"
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "ಸಂದೇಶ"
+
+msgid "IDS_COM_SK_OK"
+msgstr "ಸರಿ"
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "ರದ್ದು"
+
+msgid "IDS_COM_SK_REFRESH"
+msgstr "ರಿಫ್ರೇಶ್"
+
+msgid "IDS_COM_BODY_SELECT_ALL"
+msgstr "ಎಲ್ಲಾ ಆಯ್ಕೆಮಾಡಿ"
+
+msgid "IDS_COM_BODY_SETTINGS"
+msgstr "ಸಂಯೋಜನೆಗಳು"
+
+msgid "IDS_COM_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_COM_BUTTON_SHARE"
+msgstr "ಹಂಚಿ"
+
+msgid "IDS_COM_SK_REMOVE"
+msgstr "ತೆಗೆಯಿರಿ"
+
+msgid "IDS_COM_BODY_PD_SELECTED"
+msgstr "%d ಆರಿಸಿದೆ."
+
+msgid "IDS_MUSIC_HEADER_SELECT_ITEMS"
+msgstr "ಅಂಶಗಳನ್ನು ಆರಿಸಿ"
+
+msgid "IDS_ST_BODY_ADVANCED"
+msgstr "ಮುಂದುವರೆದ"
+
+msgid "IDS_COM_SK_DELETE"
+msgstr "ಅಳಿಸು"
+
+msgid "IDS_COM_POP_DELETED"
+msgstr "ತೆಗೆದುಹಾಕಲಾಗಿದೆ."
+
+msgid "IDS_COM_POP_FAILED"
+msgstr "ವಿಫಲವಾಗಿದೆ."
+
+msgid "IDS_COM_BODY_LOADING"
+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_IV_BODY_FAVOURITE"
+msgstr "ಅಚ್ಚುಮೆಚ್ಚಿನದ್ದು"
+
+msgid "IDS_MH_OPT_MORE_INFO_ABB"
+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_COM_SK_SET"
+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_COM_SK_NEXT"
+msgstr "ನಂತರ"
+
+msgid "IDS_COM_BODY_GALLERY"
+msgstr "ಗ್ಯಾಲರಿ"
+
+msgid "IDS_ST_BODY_NONE"
+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_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "ಕರೆಯ ಸಮಯದಲ್ಲಿ ಪ್ಲೇ ಮಾಡಲಾಗುತ್ತಿಲ್ಲ."
+
+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_RENAME"
+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 ch"
+
+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 "ನೀವು ಸಂಗೀತದಿಂದ ಹಾಡುಗಳನ್ನು ಡೌನ್ಲೋಡ್ ಮಾಡಿದ ನಂತರ, ಅವನ್ನು ಇಲ್ಲಿ ತೋರಿಸಲಾಗುವುದು."
+
+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 "ಸ್ಮರಣೆ ಕಾರ್ಡ್ ಲೋಡ್ ಆಗಿದೆ."
+
+msgid "IDS_MUSIC_POP_DEVICE_SETTINGS_ERROR"
+msgstr "ಸಾಧನ Settings ದೋಷ."
+
+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 ಚಾನೆಲ್ ಶಬ್ದ ಪರಿಣಾಮ ಕೆಲಸ ಮಾಡುತ್ತದೆ."
+
+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 "ಡ್ರಾಪ್ಬಾಕ್ಸ್ ಒಳಾಂಶ"
+
+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 "ಡ್ರಾಪ್ಬಾಕ್ಸ್ ಡೇಟಾ ಅಳಿಸಿ"
+
+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_MH_BODY_THE_PLAYLIST_NAME_PS_IS_ALREADY_IN_USE"
+msgstr "ಪ್ಲೇಲಿಸ್ಟ್ ಹೆಸರು %s ಈಗಾಗಲೇ ಬಳಕೆಯಲ್ಲಿದೆ."
+
+msgid "IDS_MH_TPOP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d ಹಾಡುಗಳನ್ನು ಪ್ಲೇಲಿಸ್ಟ್ಗೆ ಸೇರಿಸಲಾಗಿದೆ."
+
+msgid "IDS_MH_MBODY_RECENTLY_ADDED_M_SONG"
+msgstr "ಇತ್ತೀಚೆಗೆ ಸೇರಿಸಲಾಗಿದೆ"
+
+msgid "IDS_MH_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "ಪ್ಲೇಲಿಸ್ಟ್ಗೆ 1 ಹಾಡನ್ನು ಸೇರಿಸಲಾಗಿದೆ."
+
+msgid "IDS_MH_BODY_TOTAL"
+msgstr "ಒಟ್ಟು"
+
+msgid "IDS_DLNA_OPT2_CHANGE_PLAYER"
+msgstr "ಪ್ಲೇಯರ್ ಬದಲಿಸಿ"
+
+msgid "IDS_BR_SK_TABS"
+msgstr "ಟ್ಯಾಬ್ಗಳು"
+
+msgid "IDS_MF_BODY_DROPBOX_ABB"
+msgstr "ಡ್ರಾಪ್ಬಾಕ್ಸ್"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "ಸ್ವಯಂ ಶಿಫಾರಸುಗಳು ಹೈಲೈಟ್ಗಳನ್ನು ಧ್ವನಿ ಫೈಲ್ಗಳಿಂದ ಎಕ್ಸ್ಟ್ರ್ಯಾಕ್ಟ ಮಾಡುತ್ತದೆ."
+
+msgid "IDS_MF_BODY_PARENT_RATING"
+msgstr "ಪೇರೆಂಟ್ ರೇಟಿಂಗ್"
+
+msgid "IDS_COM_BODY_MUSIC"
+msgstr "ಸಂಗೀತ"
+
+msgid "IDS_COM_BODY_NO_CONTENTS"
+msgstr "ಯಾವುದೇ ವಿಷಯಗಳಿಲ್ಲ"
+
+msgid "IDS_COM_BODY_UNKNOWN"
+msgstr "ತಿಳಿಯದ"
+
+msgid "IDS_COM_POP_ERROR"
+msgstr "ದೋಷ."
+
+msgid "IDS_COM_SK_DOWNLOAD"
+msgstr "ಡೌನ್ಲೋಡ್"
+
+msgid "IDS_COM_OPT_DELETE"
+msgstr "ಅಳಿಸು"
+
+msgid "IDS_COM_BODY_DETAILS_TITLE"
+msgstr "ಶೀರ್ಷಿಕೆ"
+
+msgid "IDS_COM_SK_SAVE"
+msgstr "ಉಳಿಸು"
+
+msgid "IDS_COM_BODY_EMAIL"
+msgstr "ಇಮೇಲ್"
+
+msgid "IDS_COM_BODY_BLUETOOTH"
+msgstr "ಬ್ಲೂಟೂತ್"
+
+msgid "IDS_COM_BODY_NFC"
+msgstr "NFC"
+
+msgid "IDS_COM_POP_DELETE_Q"
+msgstr "ಅಳಿಸಲೇ?"
+
+msgid "IDS_COM_SK_SELECT"
+msgstr "ಆಯ್ಕೆ"
+
+msgid "IDS_COM_BODY_LOW_BATTERY"
+msgstr "ಬ್ಯಾಟರಿ ಕಡಿಮೆಯಿದೆ."
+
+msgid "IDS_COM_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "ಸಮೂಹ ಸಂಗ್ರಹಣೆ ಮೋಡ್ ಸಮಯದಲ್ಲಿ ಬಳಸಲು ಅಸಮರ್ಥ."
+
+msgid "IDS_COM_BODY_ALLSHARE"
+msgstr "ಆಲ್ಶೇರ್"
+
+msgid "IDS_COM_POP_FILE_NOT_FOUND"
+msgstr "ಫೈಲ್ ಪತ್ತೆಯಿಲ್ಲ."
+
+msgid "IDS_COM_POP_CONNECTION_FAILED"
+msgstr "ಸಂಪರ್ಕ ವಿಫಲಗೊಂಡಿದೆ."
+
+msgid "IDS_COM_POP_FILE_NOT_EXIST"
+msgstr "ಈ ಫೈಲ್ ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲ."
+
+msgid "IDS_COM_HEADER_AUDIO_DEVICE_ABB"
+msgstr "ಆಡಿಯೊ ಸಾಧನ"
+
+msgid "IDS_COM_POP_CANCEL"
+msgstr "ರದ್ದು"
+
+msgid "IDS_COM_BODY_FOLDERS"
+msgstr "ಫೋಲ್ಡರ್ಗಳು"
+
+msgid "IDS_COM_BODY_DETAILS"
+msgstr "ವಿವರಗಳು"
+
+msgid "IDS_COM_BODY_END"
+msgstr "ಮುಕ್ತಾಯ"
+
+msgid "IDS_COM_BODY_EDIT"
+msgstr "ತಿದ್ದು"
+
+msgid "IDS_COM_POP_UPDATED"
+msgstr "ನವೀಕರಿಸಲಾಗಿದೆ."
+
+msgid "IDS_COM_POP_DOWNLOADING"
+msgstr "ಡೌನ್ಲೋಡಾಗುತ್ತಿದೆ..."
+
+msgid "IDS_COM_POP_DONE"
+msgstr "ಮಾಡಲಾಗಿದೆ"
+
+msgid "IDS_COM_POP_REMOVED"
+msgstr "ತೆಗೆಯಲಾಗಿದೆ."
+
+msgid "IDS_COM_BODY_CREATE"
+msgstr "ರಚಿಸಿರಿ"
+
+msgid "IDS_COM_BODY_INTERNET"
+msgstr "ಇಂಟರ್ನೆಟ್"
+
+msgid "IDS_COM_OPT_ADDED"
+msgstr "ಸೇರಿಸಲಾಗಿದೆ."
+
+msgid "IDS_COM_BODY_TIME"
+msgstr "ಸಮಯ"
+
+msgid "IDS_COM_SK_NEW"
+msgstr "ಹೊಸ"
+
+msgid "IDS_COM_BODY_RESET_A"
+msgstr "ಮರುಹೊಂದಿಸು"
+
+msgid "IDS_COM_POP_MEMORY_FULL"
+msgstr "ಸ್ಮರಣೆ ಪೂರ್ತಿಗೊಂಡಿದೆ."
+
+msgid "IDS_COM_BUTTON_SCAN"
+msgstr "ಸ್ಕ್ಯಾನ್"
+
+msgid "IDS_COM_BODY_SELECTED"
+msgstr "ಆಯ್ಕೆಮಾಡಲಾಗಿದೆ"
+
+msgid "IDS_COM_BODY_PREVIOUS"
+msgstr "ಹಿಂದಿನ"
+
+msgid "IDS_COM_BODY_UNABLE_TO_ADD"
+msgstr "ಸೇರಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತಿಲ್ಲ."
+
+msgid "IDS_COM_BODY_PAUSE"
+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_MH_POP_ALARM_TONE_SET"
+msgstr "ಎಚ್ಚರಗಂಟೆ ಟೋನ್ ನಿಗದಿಪಡಿಸಲಾಗಿದೆ."
+
+msgid "IDS_MUSIC_TMBODY_LENGTH"
+msgstr "ಉದ್ದ"
+
+msgid "IDS_MUSIC_ITAB4_FOLDERS"
+msgstr "ಫೋಲ್ಡರ್ಗಳು"
+
+msgid "IDS_MUSIC_HEADER_MY_PLAYLISTS_ABB"
+msgstr "My playlists"
+
+msgid "IDS_MP_BODY_SOUND_PLAYER"
+msgstr "ಧ್ವನಿ ಪ್ಲೇಯರ್"
+
+msgid "IDS_MUSIC_OPT_SETTINGS"
+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_TPLATFORM_MBODY_STORAGE_LOCATION"
+msgstr "ಸಂಗ್ರಹಣೆ ಸ್ಥಾನ"
+
+msgid "IDS_MUSIC_OPT_REMOVE_M_PLAYLIST"
+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_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+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 "Remove"
+
+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 "최대 파일 크기를 초과하였습니다."
+
--- /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."
+
--- /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."
+
--- /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 "Надмината е максималната големина за фајловите."
+
--- /dev/null
+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_MUSIC_POP_RINGTONE_ADDED"
+msgstr "റിംഗടോണ് ചേര്ത്തു."
+
+msgid "IDS_COM_BODY_CLOSE"
+msgstr "അടയ്ക്കുക"
+
+msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "അക്ഷരങ്ങളുടെ പരമാവധിയെണ്ണത്തിലെത്തി."
+
+msgid "IDS_CAM_BODY_BUTTON_T_TTS"
+msgstr "ബട്ടണ്"
+
+msgid "IDS_COM_SK_STOP"
+msgstr "നിര്ത്തു."
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "സന്ദേശം"
+
+msgid "IDS_COM_SK_OK"
+msgstr "ശരി"
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "റദ്ദാക്കു."
+
+msgid "IDS_COM_SK_REFRESH"
+msgstr "പുതുക്കു"
+
+msgid "IDS_COM_BODY_SELECT_ALL"
+msgstr "എല്ലാം തിരഞ്ഞെടുക്കുക"
+
+msgid "IDS_COM_BODY_SETTINGS"
+msgstr "ക്രമീകരണങ്ങള്"
+
+msgid "IDS_COM_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_COM_BUTTON_SHARE"
+msgstr "പങ്കിടുക"
+
+msgid "IDS_COM_SK_REMOVE"
+msgstr "നീക്കുക"
+
+msgid "IDS_COM_BODY_PD_SELECTED"
+msgstr "%d തിരഞ്ഞെടുത്തു"
+
+msgid "IDS_MUSIC_HEADER_SELECT_ITEMS"
+msgstr "ഇനങ്ങള് തിരഞ്ഞെടുക്കുക"
+
+msgid "IDS_ST_BODY_ADVANCED"
+msgstr "വിപുലമായ"
+
+msgid "IDS_COM_SK_DELETE"
+msgstr "ഇല്ലാതാ."
+
+msgid "IDS_COM_POP_DELETED"
+msgstr "ഇല്ലാതാക്കി."
+
+msgid "IDS_COM_POP_FAILED"
+msgstr "പരാജയപ്പെട്ടു."
+
+msgid "IDS_COM_BODY_LOADING"
+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_IV_BODY_FAVOURITE"
+msgstr "പ്രിയപ്പെട്ട"
+
+msgid "IDS_MH_OPT_MORE_INFO_ABB"
+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_COM_SK_SET"
+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_COM_SK_NEXT"
+msgstr "അടുത്ത"
+
+msgid "IDS_COM_BODY_GALLERY"
+msgstr "ഗാലറി"
+
+msgid "IDS_ST_BODY_NONE"
+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_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "കോളിനിടെ പ്ലേചെയ്യാന് ആവുന്നില്ല."
+
+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_RENAME"
+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 "ഈ ശബ്ദ ഇഫക്ട് ഇയര്ഫോണ്, ബ്ലുടൂത്ത് headset മോഡുകളില് മാത്രമെ പ്രവര്ത്തിക്കുകയുള്ളൂ."
+
+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 "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 "മെമ്മറി കാര്ഡ് ലോഡ് ചെയ്തു."
+
+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 Headset സാധാരണ ഇഫക്ടുകളുടെ Setting മാത്രമെ പിന്തുണയ്ക്കുന്നുള്ളു."
+
+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 ചാനല് ശബ്ദ ഇഫക്ട് ഇയര് ഫോണ്, ബ്ലുടൂത്ത് Headset മോഡുകളില് മാത്രമെ പ്രവര് ത്തിക്കുകയുള്ളൂ."
+
+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 "ഡ്രോപ്ബോക്സ് ഉള്ളടക്കം"
+
+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 "ഡ്രോപ്ബോക്സ് ഡാറ്റ ഇല്ലാതാക്കുക"
+
+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_MH_BODY_THE_PLAYLIST_NAME_PS_IS_ALREADY_IN_USE"
+msgstr "%s എന്ന പ്ലേലിസ്റ്റ് പേര് ഇതിനകം ഉപയോഗത്തിലുണ്ട്."
+
+msgid "IDS_MH_TPOP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d ഗാനങ്ങൾ പ്ലേലിസ്റ്റിൽ ചേർത്തു."
+
+msgid "IDS_MH_MBODY_RECENTLY_ADDED_M_SONG"
+msgstr "അടുത്തിടെ ചേര്ത്തത്"
+
+msgid "IDS_MH_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "പ്ലേലിസ്റ്റിലേക്ക് 1 ഗാനം ചേർത്തു"
+
+msgid "IDS_MH_BODY_TOTAL"
+msgstr "ആകെ"
+
+msgid "IDS_DLNA_OPT2_CHANGE_PLAYER"
+msgstr "പ്ലെയര് മാറ്റുക"
+
+msgid "IDS_BR_SK_TABS"
+msgstr "ടാബുകള്"
+
+msgid "IDS_MF_BODY_DROPBOX_ABB"
+msgstr "ഡ്രോപ്പ്ബോക്സ്"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "ശബ്ദ ഫയലില് നിന്ന് യാന്ത്രിക ശുപാര്ശകള്ക്ക് ഹൈലൈറ്റുകള് എടുക്കാനാകും."
+
+msgid "IDS_MF_BODY_PARENT_RATING"
+msgstr "പാരന്റ് റേറ്റിംഗ്"
+
+msgid "IDS_COM_BODY_MUSIC"
+msgstr "സംഗീതം"
+
+msgid "IDS_COM_BODY_NO_CONTENTS"
+msgstr "ഉള്ളടക്കങ്ങളില്ല"
+
+msgid "IDS_COM_BODY_UNKNOWN"
+msgstr "അജ്ഞാതം"
+
+msgid "IDS_COM_POP_ERROR"
+msgstr "പിശക്."
+
+msgid "IDS_COM_SK_DOWNLOAD"
+msgstr "ഡൌണ്ലോ."
+
+msgid "IDS_COM_OPT_DELETE"
+msgstr "ഇല്ലാതാക്കുക"
+
+msgid "IDS_COM_BODY_DETAILS_TITLE"
+msgstr "ശീര്ഷകം"
+
+msgid "IDS_COM_SK_SAVE"
+msgstr "സേവ്"
+
+msgid "IDS_COM_BODY_EMAIL"
+msgstr "ഈമെയില്"
+
+msgid "IDS_COM_BODY_BLUETOOTH"
+msgstr "ബ്ലുടൂത്ത്"
+
+msgid "IDS_COM_BODY_NFC"
+msgstr "NFC"
+
+msgid "IDS_COM_POP_DELETE_Q"
+msgstr "ഇല്ലാതാക്കണോ?"
+
+msgid "IDS_COM_SK_SELECT"
+msgstr "തിരഞ്ഞെ."
+
+msgid "IDS_COM_BODY_LOW_BATTERY"
+msgstr "ലോ ബാറ്ററി."
+
+msgid "IDS_COM_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "മാസ് സംഭരണ വിധത്തില് ഇരിക്കുമ്പോള് ഉപയോഗിക്കാന് ആവുന്നില്ല."
+
+msgid "IDS_COM_BODY_ALLSHARE"
+msgstr "AllShare"
+
+msgid "IDS_COM_POP_FILE_NOT_FOUND"
+msgstr "ഫയല് കണ്ടെത്തിയില്ല."
+
+msgid "IDS_COM_POP_CONNECTION_FAILED"
+msgstr "കണക്ഷന് പരാജയപ്പെട്ടു."
+
+msgid "IDS_COM_POP_FILE_NOT_EXIST"
+msgstr "ഈ ഫയല് നിലവിലില്ല."
+
+msgid "IDS_COM_HEADER_AUDIO_DEVICE_ABB"
+msgstr "ഓഡിയോ ഉപകരണം"
+
+msgid "IDS_COM_POP_CANCEL"
+msgstr "റദ്ദാക്കുക"
+
+msgid "IDS_COM_BODY_FOLDERS"
+msgstr "ഫോള്ഡറുകള്"
+
+msgid "IDS_COM_BODY_DETAILS"
+msgstr "വിശദാംശങ്ങള്"
+
+msgid "IDS_COM_BODY_END"
+msgstr "അവസാനിപ്പിക്കുക"
+
+msgid "IDS_COM_BODY_EDIT"
+msgstr "എഡിറ്റുചെയ്യുക"
+
+msgid "IDS_COM_POP_UPDATED"
+msgstr "അപ്ഡേറ്റ് ചെയ്തവ."
+
+msgid "IDS_COM_POP_DOWNLOADING"
+msgstr "ഡൌണ്ലോഡിംഗ്..."
+
+msgid "IDS_COM_POP_DONE"
+msgstr "ചെയ്തു"
+
+msgid "IDS_COM_POP_REMOVED"
+msgstr "നീക്കംചെയ്തു."
+
+msgid "IDS_COM_BODY_CREATE"
+msgstr "സൃഷ്ടിക്കുക"
+
+msgid "IDS_COM_BODY_INTERNET"
+msgstr "ഇന്റര്നെറ്റ്"
+
+msgid "IDS_COM_OPT_ADDED"
+msgstr "ചേര്ത്തു."
+
+msgid "IDS_COM_BODY_TIME"
+msgstr "സമയം"
+
+msgid "IDS_COM_SK_NEW"
+msgstr "പുതിയ"
+
+msgid "IDS_COM_BODY_RESET_A"
+msgstr "റീസെറ്റ്"
+
+msgid "IDS_COM_POP_MEMORY_FULL"
+msgstr "മെമ്മറി നിറഞ്ഞു."
+
+msgid "IDS_COM_BUTTON_SCAN"
+msgstr "സ്കാന് ചെയ്യുക"
+
+msgid "IDS_COM_BODY_SELECTED"
+msgstr "തിരഞ്ഞെടുത്തു"
+
+msgid "IDS_COM_BODY_PREVIOUS"
+msgstr "മുമ്പത്തെ"
+
+msgid "IDS_COM_BODY_UNABLE_TO_ADD"
+msgstr "ചേര്ക്കാനാവില്ല."
+
+msgid "IDS_COM_BODY_PAUSE"
+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_MH_POP_ALARM_TONE_SET"
+msgstr "അലാറം ടോണ് ക്രമീകരിച്ചു."
+
+msgid "IDS_MUSIC_TMBODY_LENGTH"
+msgstr "ദൈർഘ്യം"
+
+msgid "IDS_MUSIC_ITAB4_FOLDERS"
+msgstr "ഫോള്ഡറുകള്"
+
+msgid "IDS_MUSIC_HEADER_MY_PLAYLISTS_ABB"
+msgstr "My playlists"
+
+msgid "IDS_MP_BODY_SOUND_PLAYER"
+msgstr "സൌണ്ട് പ്ലെയര്"
+
+msgid "IDS_MUSIC_OPT_SETTINGS"
+msgstr "ക്രമീകരണങ്ങള്"
+
+msgid "IDS_ST_BUTTON_SCAN"
+msgstr "സ്കാന് ചെയ്യുക"
+
+msgid "IDS_MF_POP_ERROR"
+msgstr "പിശക്."
+
+msgid "IDS_MF_POP_MEMORY_FULL"
+msgstr "മെമ്മറി നിറഞ്ഞു."
+
+msgid "IDS_TPLATFORM_MBODY_STORAGE_LOCATION"
+msgstr "സംഭരണ ലൊക്കേഷന്"
+
+msgid "IDS_MUSIC_OPT_REMOVE_M_PLAYLIST"
+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_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+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."
+
--- /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."
+
--- /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."
+
--- /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."
+
--- /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."
+
--- /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ă"
+
--- /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 "Превышен максимальный размер файлов."
+
--- /dev/null
+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_MUSIC_POP_RINGTONE_ADDED"
+msgstr "රිංග්ටෝනය එක් කෙරිණ."
+
+msgid "IDS_COM_BODY_CLOSE"
+msgstr "වසන්න"
+
+msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "උපරිම අක්ෂර ගණනට ලඟා විය."
+
+msgid "IDS_CAM_BODY_BUTTON_T_TTS"
+msgstr "බොත්තම"
+
+msgid "IDS_COM_SK_STOP"
+msgstr "නවත්"
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "පණිවිඩය"
+
+msgid "IDS_COM_SK_OK"
+msgstr "හරි"
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "අව. කර"
+
+msgid "IDS_COM_SK_REFRESH"
+msgstr "නැවුම් කර"
+
+msgid "IDS_COM_BODY_SELECT_ALL"
+msgstr "සියල්ල තෝරන්න"
+
+msgid "IDS_COM_BODY_SETTINGS"
+msgstr "සැකසුම්"
+
+msgid "IDS_COM_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_COM_BUTTON_SHARE"
+msgstr "බෙදා."
+
+msgid "IDS_COM_SK_REMOVE"
+msgstr "ඉවත් කර."
+
+msgid "IDS_COM_BODY_PD_SELECTED"
+msgstr "%d ක් තෝරා ඇත."
+
+msgid "IDS_MUSIC_HEADER_SELECT_ITEMS"
+msgstr "අයිතම තෝරන්න"
+
+msgid "IDS_ST_BODY_ADVANCED"
+msgstr "උසස්"
+
+msgid "IDS_COM_SK_DELETE"
+msgstr "මකන්න"
+
+msgid "IDS_COM_POP_DELETED"
+msgstr "මැකිණි."
+
+msgid "IDS_COM_POP_FAILED"
+msgstr "අසාර්ථකයි."
+
+msgid "IDS_COM_BODY_LOADING"
+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_IV_BODY_FAVOURITE"
+msgstr "ප්රියතම"
+
+msgid "IDS_MH_OPT_MORE_INFO_ABB"
+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_COM_SK_SET"
+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_COM_SK_NEXT"
+msgstr "ඊලඟ"
+
+msgid "IDS_COM_BODY_GALLERY"
+msgstr "ගැලරි"
+
+msgid "IDS_ST_BODY_NONE"
+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_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "ඇමතුම අතරතුර වාදනය කළ නොහැක."
+
+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_RENAME"
+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 ch"
+
+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 "ඔබ සංගීතය වෙතින් ඛණ්ඩ බාගත් පසු, ඒවා මෙහි පෙන්වනු ඇත."
+
+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 "මතක කාඩ්පත පටවා ඇත."
+
+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 නාලිකා ශබ්ද සැරසිලි ක්රියා කරනුයේ ඉයර්ෆෝන් හා බ්ලූටූත් හෙඩ්සෙට් ප්රකාර වලදී පමණි."
+
+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 "BT හරහා ගීතය හුවමාරු කරගන්න"
+
+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 "පතන මෙනු අන්ත."
+
+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 "පතන මෙනු දත්ත මකන්න"
+
+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_MH_BODY_THE_PLAYLIST_NAME_PS_IS_ALREADY_IN_USE"
+msgstr "%s ගීත ලැයිස්තු නම දැනටමත් භාවිතයේය."
+
+msgid "IDS_MH_TPOP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "ඛණ්ඩ %d ක් ධාවන ලැයිස්තුව වෙත එක් කරන ලදී."
+
+msgid "IDS_MH_MBODY_RECENTLY_ADDED_M_SONG"
+msgstr "මෑතකාලීනව එකතු කළ"
+
+msgid "IDS_MH_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "ධාවන ලැයිස්තුව වෙත 1 ඛණ්ඩයක් එක් කෙරිණි."
+
+msgid "IDS_MH_BODY_TOTAL"
+msgstr "මුළු"
+
+msgid "IDS_DLNA_OPT2_CHANGE_PLAYER"
+msgstr "වාදකය වෙනස් කරන්න"
+
+msgid "IDS_BR_SK_TABS"
+msgstr "ටැබ"
+
+msgid "IDS_MF_BODY_DROPBOX_ABB"
+msgstr "ඩ්රොප්බොක්ස්"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "ස්වයං නිර්දේශය මගින් ශබ්ද ගොනුවලින් වැදගත් කරුණු උපටා දැක්වෙනු ඇත."
+
+msgid "IDS_MF_BODY_PARENT_RATING"
+msgstr "මවිපිය ඇගයුම"
+
+msgid "IDS_COM_BODY_MUSIC"
+msgstr "සංගීතය"
+
+msgid "IDS_COM_BODY_NO_CONTENTS"
+msgstr "අන්තර්ගත නැත"
+
+msgid "IDS_COM_BODY_UNKNOWN"
+msgstr "නොදන්නා"
+
+msgid "IDS_COM_POP_ERROR"
+msgstr "දෝෂය."
+
+msgid "IDS_COM_SK_DOWNLOAD"
+msgstr "බාගන්න"
+
+msgid "IDS_COM_OPT_DELETE"
+msgstr "මකන්න"
+
+msgid "IDS_COM_BODY_DETAILS_TITLE"
+msgstr "මාතෘකාව"
+
+msgid "IDS_COM_SK_SAVE"
+msgstr "සුරකින්න"
+
+msgid "IDS_COM_BODY_EMAIL"
+msgstr "ඊමේල්"
+
+msgid "IDS_COM_BODY_BLUETOOTH"
+msgstr "බ්ලූටූත්"
+
+msgid "IDS_COM_BODY_NFC"
+msgstr "NFC"
+
+msgid "IDS_COM_POP_DELETE_Q"
+msgstr "මකන්නද?"
+
+msgid "IDS_COM_SK_SELECT"
+msgstr "තෝරන්න"
+
+msgid "IDS_COM_BODY_LOW_BATTERY"
+msgstr "බැටරිය අවමයි."
+
+msgid "IDS_COM_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "ගබඩා ප්රකාරය අතරතුර භාවිත කල නොහැක."
+
+msgid "IDS_COM_BODY_ALLSHARE"
+msgstr "AllShare"
+
+msgid "IDS_COM_POP_FILE_NOT_FOUND"
+msgstr "ගොනුව සොයාගත නොහැක."
+
+msgid "IDS_COM_POP_CONNECTION_FAILED"
+msgstr "සම්බන්ධතාවය අසමත් විය."
+
+msgid "IDS_COM_POP_FILE_NOT_EXIST"
+msgstr "ගොනුව නොපවතී."
+
+msgid "IDS_COM_HEADER_AUDIO_DEVICE_ABB"
+msgstr "ස්වයං උපාංගය"
+
+msgid "IDS_COM_POP_CANCEL"
+msgstr "අවලංගු කරන්න"
+
+msgid "IDS_COM_BODY_FOLDERS"
+msgstr "ෆෝල්ඩර"
+
+msgid "IDS_COM_BODY_DETAILS"
+msgstr "විස්තර"
+
+msgid "IDS_COM_BODY_END"
+msgstr "අවසන් කරන්න"
+
+msgid "IDS_COM_BODY_EDIT"
+msgstr "සංස්කරණය කරන්න"
+
+msgid "IDS_COM_POP_UPDATED"
+msgstr "යාවත්කාලීන විය."
+
+msgid "IDS_COM_POP_DOWNLOADING"
+msgstr "බාගනිමින්..."
+
+msgid "IDS_COM_POP_DONE"
+msgstr "නිමයි"
+
+msgid "IDS_COM_POP_REMOVED"
+msgstr "ඉවත් කෙරිණී."
+
+msgid "IDS_COM_BODY_CREATE"
+msgstr "සාදන්න"
+
+msgid "IDS_COM_BODY_INTERNET"
+msgstr "අන්තර්ජාලය"
+
+msgid "IDS_COM_OPT_ADDED"
+msgstr "එක් කෙරිණි."
+
+msgid "IDS_COM_BODY_TIME"
+msgstr "වේලාව"
+
+msgid "IDS_COM_SK_NEW"
+msgstr "නව"
+
+msgid "IDS_COM_BODY_RESET_A"
+msgstr "නැවත සකසන්න"
+
+msgid "IDS_COM_POP_MEMORY_FULL"
+msgstr "මතකය සම්පූර්ණයි."
+
+msgid "IDS_COM_BUTTON_SCAN"
+msgstr "පිරික්සන්න"
+
+msgid "IDS_COM_BODY_SELECTED"
+msgstr "තෝරන ලදි"
+
+msgid "IDS_COM_BODY_PREVIOUS"
+msgstr "පෙර"
+
+msgid "IDS_COM_BODY_UNABLE_TO_ADD"
+msgstr "එක් කළ නොහැක."
+
+msgid "IDS_COM_BODY_PAUSE"
+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_MH_POP_ALARM_TONE_SET"
+msgstr "එලාම් නාදය සකසා තිබේ."
+
+msgid "IDS_MUSIC_TMBODY_LENGTH"
+msgstr "දිග"
+
+msgid "IDS_MUSIC_ITAB4_FOLDERS"
+msgstr "ෆෝල්ඩර"
+
+msgid "IDS_MUSIC_HEADER_MY_PLAYLISTS_ABB"
+msgstr "My playlists"
+
+msgid "IDS_MP_BODY_SOUND_PLAYER"
+msgstr "ශබ්ද වාදකය"
+
+msgid "IDS_MUSIC_OPT_SETTINGS"
+msgstr "සැකසුම්"
+
+msgid "IDS_ST_BUTTON_SCAN"
+msgstr "පිරික්සන්න"
+
+msgid "IDS_MF_POP_ERROR"
+msgstr "දෝෂය."
+
+msgid "IDS_MF_POP_MEMORY_FULL"
+msgstr "මතකය සම්පූර්ණයි."
+
+msgid "IDS_TPLATFORM_MBODY_STORAGE_LOCATION"
+msgstr "ගබඩා ස්ථානය"
+
+msgid "IDS_MUSIC_OPT_REMOVE_M_PLAYLIST"
+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_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+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."
+
--- /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."
+
--- /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."
+
--- /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."
+
--- /dev/null
+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_MUSIC_POP_RINGTONE_ADDED"
+msgstr "ரிங்டோன் சேர்க்கப்பட்டது."
+
+msgid "IDS_COM_BODY_CLOSE"
+msgstr "மூடவும்"
+
+msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "அதிகபட்ச எழுத்துக்களின் எண்ணிக்கையை அடைந்தது."
+
+msgid "IDS_CAM_BODY_BUTTON_T_TTS"
+msgstr "பொத்தான்"
+
+msgid "IDS_COM_SK_STOP"
+msgstr "நிறுத்துக"
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "தகவல்"
+
+msgid "IDS_COM_SK_OK"
+msgstr "சரி"
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "ரத்து"
+
+msgid "IDS_COM_SK_REFRESH"
+msgstr "புத்துணர்"
+
+msgid "IDS_COM_BODY_SELECT_ALL"
+msgstr "எல்லாம் தேர்வு"
+
+msgid "IDS_COM_BODY_SETTINGS"
+msgstr "அமைவுகள்"
+
+msgid "IDS_COM_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_COM_BUTTON_SHARE"
+msgstr "பகிர்"
+
+msgid "IDS_COM_SK_REMOVE"
+msgstr "நீக்கு"
+
+msgid "IDS_COM_BODY_PD_SELECTED"
+msgstr "%d தேர்வுசெய்யப்பட்டது"
+
+msgid "IDS_MUSIC_HEADER_SELECT_ITEMS"
+msgstr "உருப்படிகளை தேர்க்கவும்"
+
+msgid "IDS_ST_BODY_ADVANCED"
+msgstr "மேம்பட்ட"
+
+msgid "IDS_COM_SK_DELETE"
+msgstr "நீக்கு"
+
+msgid "IDS_COM_POP_DELETED"
+msgstr "நீக்கப்பட்டது."
+
+msgid "IDS_COM_POP_FAILED"
+msgstr "தோல்வியுற்றது."
+
+msgid "IDS_COM_BODY_LOADING"
+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_IV_BODY_FAVOURITE"
+msgstr "பிடித்தவை"
+
+msgid "IDS_MH_OPT_MORE_INFO_ABB"
+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_COM_SK_SET"
+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_COM_SK_NEXT"
+msgstr "அடுத்து"
+
+msgid "IDS_COM_BODY_GALLERY"
+msgstr "கேலரி"
+
+msgid "IDS_ST_BODY_NONE"
+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_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "அழைப்பின்போது இயக்க இயலாது."
+
+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 "Credits"
+
+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_RENAME"
+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 ch"
+
+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 "இசையிலிருந்து பாடல்களை பதிவிறக்கிய பிறகு அவை இங்கே காட்டப்படும்."
+
+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 "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 "சாதன Settings பிழை."
+
+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 சேனல் ஒலிவிளைவு இயர்ஃபோன் மற்றும் ப்ளூடூத் ஹெட்செட் முறைகளில் மட்டுமே வேலை செய்யும்."
+
+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 "டிராப்பாக்ஸ் உ.கம்"
+
+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 "டிராப்பாக்ஸ் தரவு நீக்கு"
+
+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_MH_BODY_THE_PLAYLIST_NAME_PS_IS_ALREADY_IN_USE"
+msgstr "ப்ளேலிஸ்ட் பெயர் %s ஏற்கனவே உபயோகத்திலிருக்கிறது."
+
+msgid "IDS_MH_TPOP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d ட்ராக்குகள் ப்ளேலிஸ்ட்டில் சேர்க்கப்பட்டன."
+
+msgid "IDS_MH_MBODY_RECENTLY_ADDED_M_SONG"
+msgstr "சமீப. சேர்க்கப்பட்டவை"
+
+msgid "IDS_MH_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 டிராக் ப்ளேலிஸ்டில் சேர்க்கப்பட்டது."
+
+msgid "IDS_MH_BODY_TOTAL"
+msgstr "மொத்தம்"
+
+msgid "IDS_DLNA_OPT2_CHANGE_PLAYER"
+msgstr "இயக்கியை மாற்று"
+
+msgid "IDS_BR_SK_TABS"
+msgstr "டேப்கள்"
+
+msgid "IDS_MF_BODY_DROPBOX_ABB"
+msgstr "ட்ராப்பாக்ஸ்"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "தானியக்க பரிந்துரைகள் ஒலிக் கோப்புகளில் இருந்து முக்கியமானவற்றை பிரித்தெடுக்ககூடும்."
+
+msgid "IDS_MF_BODY_PARENT_RATING"
+msgstr "முதல் மதிப்பீடு"
+
+msgid "IDS_COM_BODY_MUSIC"
+msgstr "இசை"
+
+msgid "IDS_COM_BODY_NO_CONTENTS"
+msgstr "உள்ளடக்கம் இல்லை"
+
+msgid "IDS_COM_BODY_UNKNOWN"
+msgstr "தெரியாத"
+
+msgid "IDS_COM_POP_ERROR"
+msgstr "பிழை"
+
+msgid "IDS_COM_SK_DOWNLOAD"
+msgstr "பதிவிற."
+
+msgid "IDS_COM_OPT_DELETE"
+msgstr "நீக்கு"
+
+msgid "IDS_COM_BODY_DETAILS_TITLE"
+msgstr "தலைப்பு"
+
+msgid "IDS_COM_SK_SAVE"
+msgstr "சேமி"
+
+msgid "IDS_COM_BODY_EMAIL"
+msgstr "மின்னஞ்சல்"
+
+msgid "IDS_COM_BODY_BLUETOOTH"
+msgstr "ப்ளூடூத்"
+
+msgid "IDS_COM_BODY_NFC"
+msgstr "NFC"
+
+msgid "IDS_COM_POP_DELETE_Q"
+msgstr "நீக்கவா?"
+
+msgid "IDS_COM_SK_SELECT"
+msgstr "தேர்வு"
+
+msgid "IDS_COM_BODY_LOW_BATTERY"
+msgstr "மின்கலம் திறன் குறைந்தது."
+
+msgid "IDS_COM_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "திரள் சேகரிப்பு முறையின் போது பயன்படுத்த இயலாது."
+
+msgid "IDS_COM_BODY_ALLSHARE"
+msgstr "ஆல்ஷேர்"
+
+msgid "IDS_COM_POP_FILE_NOT_FOUND"
+msgstr "கோப்பு இல்லை."
+
+msgid "IDS_COM_POP_CONNECTION_FAILED"
+msgstr "இணைப்பு தோல்வி."
+
+msgid "IDS_COM_POP_FILE_NOT_EXIST"
+msgstr "இந்த கோப்பு கிடைக்கவில்லை."
+
+msgid "IDS_COM_HEADER_AUDIO_DEVICE_ABB"
+msgstr "கேட்பொலி சாதனம்"
+
+msgid "IDS_COM_POP_CANCEL"
+msgstr "ரத்து"
+
+msgid "IDS_COM_BODY_FOLDERS"
+msgstr "உறைகள்"
+
+msgid "IDS_COM_BODY_DETAILS"
+msgstr "விபரங்கள்"
+
+msgid "IDS_COM_BODY_END"
+msgstr "முடிவு"
+
+msgid "IDS_COM_BODY_EDIT"
+msgstr "திருத்துக"
+
+msgid "IDS_COM_POP_UPDATED"
+msgstr "புதுப்பிக்கப்பட்டது."
+
+msgid "IDS_COM_POP_DOWNLOADING"
+msgstr "பதிவிறக்குகிறது..."
+
+msgid "IDS_COM_POP_DONE"
+msgstr "முடிந்தது"
+
+msgid "IDS_COM_POP_REMOVED"
+msgstr "நீக்கப்பட்டது."
+
+msgid "IDS_COM_BODY_CREATE"
+msgstr "உருவாக்குக"
+
+msgid "IDS_COM_BODY_INTERNET"
+msgstr "இணையம்"
+
+msgid "IDS_COM_OPT_ADDED"
+msgstr "சேர்க்கப்பட்டது."
+
+msgid "IDS_COM_BODY_TIME"
+msgstr "நேரம்"
+
+msgid "IDS_COM_SK_NEW"
+msgstr "புதிய"
+
+msgid "IDS_COM_BODY_RESET_A"
+msgstr "ரீசெட்"
+
+msgid "IDS_COM_POP_MEMORY_FULL"
+msgstr "நினைவகம் நிரம்பியது."
+
+msgid "IDS_COM_BUTTON_SCAN"
+msgstr "ஸ்கேன்"
+
+msgid "IDS_COM_BODY_SELECTED"
+msgstr "தேர்வு செய்யப்பட்டது"
+
+msgid "IDS_COM_BODY_PREVIOUS"
+msgstr "முந்தையது"
+
+msgid "IDS_COM_BODY_UNABLE_TO_ADD"
+msgstr "சேர்க்க இயலாது."
+
+msgid "IDS_COM_BODY_PAUSE"
+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_MH_POP_ALARM_TONE_SET"
+msgstr "அலாரம் டோன் அமைவு."
+
+msgid "IDS_MUSIC_TMBODY_LENGTH"
+msgstr "நீளம்"
+
+msgid "IDS_MUSIC_ITAB4_FOLDERS"
+msgstr "கோப்புறைகள்"
+
+msgid "IDS_MUSIC_HEADER_MY_PLAYLISTS_ABB"
+msgstr "My playlists"
+
+msgid "IDS_MP_BODY_SOUND_PLAYER"
+msgstr "ஒலி இயக்கி"
+
+msgid "IDS_MUSIC_OPT_SETTINGS"
+msgstr "அமைவுகள்"
+
+msgid "IDS_ST_BUTTON_SCAN"
+msgstr "ஸ்கேன்"
+
+msgid "IDS_MF_POP_ERROR"
+msgstr "பிழை"
+
+msgid "IDS_MF_POP_MEMORY_FULL"
+msgstr "நினைவகம் நிரம்பியது."
+
+msgid "IDS_TPLATFORM_MBODY_STORAGE_LOCATION"
+msgstr "சேமிப்பக இருப்பிடம்"
+
+msgid "IDS_MUSIC_OPT_REMOVE_M_PLAYLIST"
+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_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "அதிகபட்ச கோப்புகளின் அளவை தாண்டியது."
+
--- /dev/null
+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_MUSIC_POP_RINGTONE_ADDED"
+msgstr "రింగ్టోన్ జోడించబడింది."
+
+msgid "IDS_COM_BODY_CLOSE"
+msgstr "మూసివేయి"
+
+msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "అక్షరాల గరిష్ఠ సంఖ్యకు చేరుకున్నారు."
+
+msgid "IDS_CAM_BODY_BUTTON_T_TTS"
+msgstr "బటన్"
+
+msgid "IDS_COM_SK_STOP"
+msgstr "ఆపు"
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "సందేశం"
+
+msgid "IDS_COM_SK_OK"
+msgstr "సరే"
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "రద్దు"
+
+msgid "IDS_COM_SK_REFRESH"
+msgstr "రిఫ్రెష్"
+
+msgid "IDS_COM_BODY_SELECT_ALL"
+msgstr "అన్నీ ఎంచుకోండి"
+
+msgid "IDS_COM_BODY_SETTINGS"
+msgstr "సెట్టింగులు"
+
+msgid "IDS_COM_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_COM_BUTTON_SHARE"
+msgstr "పంచుకో"
+
+msgid "IDS_COM_SK_REMOVE"
+msgstr "తొలగించు"
+
+msgid "IDS_COM_BODY_PD_SELECTED"
+msgstr "%d ఎన్నుకోబడింది."
+
+msgid "IDS_MUSIC_HEADER_SELECT_ITEMS"
+msgstr "ఐటమ్లను ఎంచుకోండి"
+
+msgid "IDS_ST_BODY_ADVANCED"
+msgstr "ఆధునిక"
+
+msgid "IDS_COM_SK_DELETE"
+msgstr "తొలగించు"
+
+msgid "IDS_COM_POP_DELETED"
+msgstr "తొలగించబడింది."
+
+msgid "IDS_COM_POP_FAILED"
+msgstr "విఫలమైనది."
+
+msgid "IDS_COM_BODY_LOADING"
+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_IV_BODY_FAVOURITE"
+msgstr "ఇష్టమైనది"
+
+msgid "IDS_MH_OPT_MORE_INFO_ABB"
+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_COM_SK_SET"
+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_COM_SK_NEXT"
+msgstr "తదుపరి"
+
+msgid "IDS_COM_BODY_GALLERY"
+msgstr "గేలరీ"
+
+msgid "IDS_ST_BODY_NONE"
+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_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "కాల్ సమయంలో ప్లే చేయడం సాధ్యం కాదు."
+
+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_RENAME"
+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 ch"
+
+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 "గ్రూప్ ప్లే ద్వారా ప్లే చేయి"
+
+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 "అన్ని ట్రాక్ల వాల్యూమ్ $ స్థాయికి సర్దుబాటు చేయబడుతుంది."
+
+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 "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 "Bluetooth headset కనెక్ట్ చేస్తున్నప్పుడు వాల్యూమ్ ను సరి చెయ్యడం కుదరడంలేదు."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADJUST_VOLUME_WHILE_CONNECTED_TO_BLUETOOTH_HEADSET"
+msgstr "Bluetooth Headset కనెక్ట్ చేస్తున్నప్పుడు వాల్యూమ్ ను సరి చెయ్యడం కుదరడంలేదు."
+
+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 "పరికరం Settings లోపం."
+
+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 ఛానెల్ ధ్వని ప్రభావము ఇయర్ఫోన్ మరియు Bluetooth Headset మోడ్లో మాత్రమే పనిచేస్తుంది."
+
+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 "మీరు ఆల్షేర్ ను ఉపయోగిస్తూ పరికరాలకు మీ మ్యూజిక్ కు ప్రవాహించవచ్చు."
+
+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_MH_BODY_THE_PLAYLIST_NAME_PS_IS_ALREADY_IN_USE"
+msgstr "ప్లేజాబితా పేరు %s ఇప్పటికే ఉపయోగంలో ఉంది."
+
+msgid "IDS_MH_TPOP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "%d ట్రాక్లు ప్లేజాబితాకు జోడించబడ్డాయి."
+
+msgid "IDS_MH_MBODY_RECENTLY_ADDED_M_SONG"
+msgstr "ఇటీవల జోడించబడింది"
+
+msgid "IDS_MH_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "1 ట్రాక్ ప్లేజాబితాకు జోడించబడింది."
+
+msgid "IDS_MH_BODY_TOTAL"
+msgstr "మొత్తం"
+
+msgid "IDS_DLNA_OPT2_CHANGE_PLAYER"
+msgstr "ప్లేయర్ ను మార్చండి"
+
+msgid "IDS_BR_SK_TABS"
+msgstr "ట్యాబ్లు"
+
+msgid "IDS_MF_BODY_DROPBOX_ABB"
+msgstr "డ్రాప్బాక్స్"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "స్వీయ సిఫార్సులు ధ్వని ఫైళ్ల నుండి హైలైట్లను సంగ్రహించగలవు."
+
+msgid "IDS_MF_BODY_PARENT_RATING"
+msgstr "పేరెంట్ రేటింగ్"
+
+msgid "IDS_COM_BODY_MUSIC"
+msgstr "మ్యూజిక్"
+
+msgid "IDS_COM_BODY_NO_CONTENTS"
+msgstr "కంటెంట్లు లేవు"
+
+msgid "IDS_COM_BODY_UNKNOWN"
+msgstr "తెలియని"
+
+msgid "IDS_COM_POP_ERROR"
+msgstr "లోపం."
+
+msgid "IDS_COM_SK_DOWNLOAD"
+msgstr "డౌన్లోడ్"
+
+msgid "IDS_COM_OPT_DELETE"
+msgstr "తొలగించు"
+
+msgid "IDS_COM_BODY_DETAILS_TITLE"
+msgstr "శీర్షిక"
+
+msgid "IDS_COM_SK_SAVE"
+msgstr "సేవ్ చేయి"
+
+msgid "IDS_COM_BODY_EMAIL"
+msgstr "ఈమెయిల్"
+
+msgid "IDS_COM_BODY_BLUETOOTH"
+msgstr "బ్లూటూత్"
+
+msgid "IDS_COM_BODY_NFC"
+msgstr "NFC"
+
+msgid "IDS_COM_POP_DELETE_Q"
+msgstr "తొలగించాలా?"
+
+msgid "IDS_COM_SK_SELECT"
+msgstr "ఎంచు."
+
+msgid "IDS_COM_BODY_LOW_BATTERY"
+msgstr "బ్యాటరీ తక్కువగా ఉంది."
+
+msgid "IDS_COM_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "అధిక నిల్వ మోడ్ సమయంలో ఉపయోగించడం సాధ్యం కాదు."
+
+msgid "IDS_COM_BODY_ALLSHARE"
+msgstr "AllShare"
+
+msgid "IDS_COM_POP_FILE_NOT_FOUND"
+msgstr "ఫైల్ దొరకలేదు."
+
+msgid "IDS_COM_POP_CONNECTION_FAILED"
+msgstr "కనెక్షన్ విఫలమైంది."
+
+msgid "IDS_COM_POP_FILE_NOT_EXIST"
+msgstr "ఈ ఫైల్ ఉనికిలో లేదు."
+
+msgid "IDS_COM_HEADER_AUDIO_DEVICE_ABB"
+msgstr "ఆడియో పరికరం"
+
+msgid "IDS_COM_POP_CANCEL"
+msgstr "రద్దు"
+
+msgid "IDS_COM_BODY_FOLDERS"
+msgstr "ఫోల్డర్లు"
+
+msgid "IDS_COM_BODY_DETAILS"
+msgstr "వివరాలు"
+
+msgid "IDS_COM_BODY_END"
+msgstr "ముగింపు"
+
+msgid "IDS_COM_BODY_EDIT"
+msgstr "సవరించు"
+
+msgid "IDS_COM_POP_UPDATED"
+msgstr "అప్డేట్ చేయబడింది."
+
+msgid "IDS_COM_POP_DOWNLOADING"
+msgstr "డౌన్లోడ్ అవుతోంది..."
+
+msgid "IDS_COM_POP_DONE"
+msgstr "పూర్తయింది"
+
+msgid "IDS_COM_POP_REMOVED"
+msgstr "తొలగించబడినది."
+
+msgid "IDS_COM_BODY_CREATE"
+msgstr "రూపొందించు"
+
+msgid "IDS_COM_BODY_INTERNET"
+msgstr "ఇంటర్నెట్"
+
+msgid "IDS_COM_OPT_ADDED"
+msgstr "జోడించబడింది."
+
+msgid "IDS_COM_BODY_TIME"
+msgstr "సమయం"
+
+msgid "IDS_COM_SK_NEW"
+msgstr "కొత్త"
+
+msgid "IDS_COM_BODY_RESET_A"
+msgstr "రీసెట్"
+
+msgid "IDS_COM_POP_MEMORY_FULL"
+msgstr "మెమరీ నిండింది."
+
+msgid "IDS_COM_BUTTON_SCAN"
+msgstr "స్కాన్"
+
+msgid "IDS_COM_BODY_SELECTED"
+msgstr "ఎంపికైంది"
+
+msgid "IDS_COM_BODY_PREVIOUS"
+msgstr "మునుపటి"
+
+msgid "IDS_COM_BODY_UNABLE_TO_ADD"
+msgstr "జోడించడం సాధ్యం కాదు."
+
+msgid "IDS_COM_BODY_PAUSE"
+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_MH_POP_ALARM_TONE_SET"
+msgstr "అలారమ్ టోన్ సెట్ చేయబడింది."
+
+msgid "IDS_MUSIC_TMBODY_LENGTH"
+msgstr "పొడవు"
+
+msgid "IDS_MUSIC_ITAB4_FOLDERS"
+msgstr "ఫోల్డర్లు"
+
+msgid "IDS_MUSIC_HEADER_MY_PLAYLISTS_ABB"
+msgstr "My playlists"
+
+msgid "IDS_MP_BODY_SOUND_PLAYER"
+msgstr "సౌండ్ ప్లేయర్"
+
+msgid "IDS_MUSIC_OPT_SETTINGS"
+msgstr "సెట్టింగులు"
+
+msgid "IDS_ST_BUTTON_SCAN"
+msgstr "స్కాన్"
+
+msgid "IDS_MF_POP_ERROR"
+msgstr "లోపం."
+
+msgid "IDS_MF_POP_MEMORY_FULL"
+msgstr "మెమరీ నిండింది."
+
+msgid "IDS_TPLATFORM_MBODY_STORAGE_LOCATION"
+msgstr "నిల్వ స్థానం"
+
+msgid "IDS_MUSIC_OPT_REMOVE_M_PLAYLIST"
+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_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "ఫైళ్ల యొక్క గరిష్ట సంఖ్యను మించిపోయారు."
+
--- /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ı."
+
--- /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 "Перевищено максимальний розмір файлів."
+
--- /dev/null
+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_MUSIC_POP_RINGTONE_ADDED"
+msgstr "گھنٹی ٹون کا اضافہ ہوگیا۔"
+
+msgid "IDS_COM_BODY_CLOSE"
+msgstr "بند کرنا"
+
+msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "کریکٹر کی حد ہو گئی۔"
+
+msgid "IDS_CAM_BODY_BUTTON_T_TTS"
+msgstr "بٹن"
+
+msgid "IDS_COM_SK_STOP"
+msgstr "رکیں"
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "پیغام"
+
+msgid "IDS_COM_SK_OK"
+msgstr "ٹھیک ہے"
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "منسوخ"
+
+msgid "IDS_COM_SK_REFRESH"
+msgstr "ریفریش کریں"
+
+msgid "IDS_COM_BODY_SELECT_ALL"
+msgstr "تمام منتخب کریں"
+
+msgid "IDS_COM_BODY_SETTINGS"
+msgstr "سیٹنگز"
+
+msgid "IDS_COM_BODY_WI_FI"
+msgstr "Wi-Fi"
+
+msgid "IDS_COM_BUTTON_SHARE"
+msgstr "شراکت"
+
+msgid "IDS_COM_SK_REMOVE"
+msgstr "ہٹانا"
+
+msgid "IDS_COM_BODY_PD_SELECTED"
+msgstr "%d منتخب ہوگیا"
+
+msgid "IDS_MUSIC_HEADER_SELECT_ITEMS"
+msgstr "اشیا منتخب کریں"
+
+msgid "IDS_ST_BODY_ADVANCED"
+msgstr "ایڈوانس"
+
+msgid "IDS_COM_SK_DELETE"
+msgstr "مٹانا"
+
+msgid "IDS_COM_POP_DELETED"
+msgstr "مٹ گیا۔"
+
+msgid "IDS_COM_POP_FAILED"
+msgstr "ناکام ہوا۔"
+
+msgid "IDS_COM_BODY_LOADING"
+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_IV_BODY_FAVOURITE"
+msgstr "پسندیدہ"
+
+msgid "IDS_MH_OPT_MORE_INFO_ABB"
+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_COM_SK_SET"
+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_COM_SK_NEXT"
+msgstr "اگلا"
+
+msgid "IDS_COM_BODY_GALLERY"
+msgstr "گیلری"
+
+msgid "IDS_ST_BODY_NONE"
+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_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "کال کے دوران چلانے سے قاصر۔"
+
+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_RENAME"
+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 "پلے کریں براستہ گروپ پلے"
+
+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 "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 "Bluetooth ہیڈ سیٹ کا کنکشن کرنے کے دوران والیوم مطابق کرنے سے قاصر۔"
+
+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 "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 چینل صوتی تاثر کام کرتا ہے"
+
+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 "Buy now"
+
+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_MH_BODY_THE_PLAYLIST_NAME_PS_IS_ALREADY_IN_USE"
+msgstr "پلے فہرست نام %s پہلے سے استعمال میں ہے"
+
+msgid "IDS_MH_TPOP_PD_TRACKS_ADDED_TO_PLAYLIST"
+msgstr "پلے فہرست میں %d ٹریکس اضافہ کئے گئے۔"
+
+msgid "IDS_MH_MBODY_RECENTLY_ADDED_M_SONG"
+msgstr "حالیہ طور پر شامل کیا گيا"
+
+msgid "IDS_MH_TPOP_1_TRACK_ADDED_TO_PLAYLIST"
+msgstr "پلے فہرست پر 1 ٹریک اضافہ کیا گیا"
+
+msgid "IDS_MH_BODY_TOTAL"
+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_COM_BODY_MUSIC"
+msgstr "میوزک"
+
+msgid "IDS_COM_BODY_NO_CONTENTS"
+msgstr "کوئی اجزا نہيں"
+
+msgid "IDS_COM_BODY_UNKNOWN"
+msgstr "نامعلوم"
+
+msgid "IDS_COM_POP_ERROR"
+msgstr "غلطی"
+
+msgid "IDS_COM_SK_DOWNLOAD"
+msgstr "ڈاؤن لوڈ"
+
+msgid "IDS_COM_OPT_DELETE"
+msgstr "مٹانا"
+
+msgid "IDS_COM_BODY_DETAILS_TITLE"
+msgstr "موضوع"
+
+msgid "IDS_COM_SK_SAVE"
+msgstr "محفوظ"
+
+msgid "IDS_COM_BODY_EMAIL"
+msgstr "ای میل"
+
+msgid "IDS_COM_BODY_BLUETOOTH"
+msgstr "بلیو ٹوتھ"
+
+msgid "IDS_COM_BODY_NFC"
+msgstr "NFC"
+
+msgid "IDS_COM_POP_DELETE_Q"
+msgstr "مٹانا؟"
+
+msgid "IDS_COM_SK_SELECT"
+msgstr "انتخاب"
+
+msgid "IDS_COM_BODY_LOW_BATTERY"
+msgstr "بیٹری لو۔"
+
+msgid "IDS_COM_POP_UNABLE_TO_USE_DURING_MASS_STORAGE_MODE"
+msgstr "انبار ذخیرہ کرنے کے موڈ میں استعمال کرنے سے قاصر۔"
+
+msgid "IDS_COM_BODY_ALLSHARE"
+msgstr "AllShare"
+
+msgid "IDS_COM_POP_FILE_NOT_FOUND"
+msgstr "فائل نہیں ملی۔"
+
+msgid "IDS_COM_POP_CONNECTION_FAILED"
+msgstr "کنکشن ناکام۔"
+
+msgid "IDS_COM_POP_FILE_NOT_EXIST"
+msgstr "فائیل موجود نہیں"
+
+msgid "IDS_COM_HEADER_AUDIO_DEVICE_ABB"
+msgstr "آڈیو آلہ"
+
+msgid "IDS_COM_POP_CANCEL"
+msgstr "منسوخ"
+
+msgid "IDS_COM_BODY_FOLDERS"
+msgstr "فولڈر"
+
+msgid "IDS_COM_BODY_DETAILS"
+msgstr "تفصیل"
+
+msgid "IDS_COM_BODY_END"
+msgstr "ختم"
+
+msgid "IDS_COM_BODY_EDIT"
+msgstr "تبدیلی"
+
+msgid "IDS_COM_POP_UPDATED"
+msgstr "اپڈیٹیڈ۔"
+
+msgid "IDS_COM_POP_DOWNLOADING"
+msgstr "ڈاونلوڈ کر رہا ہے۔۔۔"
+
+msgid "IDS_COM_POP_DONE"
+msgstr "ٹھیک ہے"
+
+msgid "IDS_COM_POP_REMOVED"
+msgstr "ہٹا دیا۔"
+
+msgid "IDS_COM_BODY_CREATE"
+msgstr "تخلیق"
+
+msgid "IDS_COM_BODY_INTERNET"
+msgstr "انٹرنیٹ"
+
+msgid "IDS_COM_OPT_ADDED"
+msgstr "اضافہ ہو گیا۔"
+
+msgid "IDS_COM_BODY_TIME"
+msgstr "وقت"
+
+msgid "IDS_COM_SK_NEW"
+msgstr "نیا"
+
+msgid "IDS_COM_BODY_RESET_A"
+msgstr "دوبارہ سیٹ"
+
+msgid "IDS_COM_POP_MEMORY_FULL"
+msgstr "میموری فل۔"
+
+msgid "IDS_COM_BUTTON_SCAN"
+msgstr "اسکین کریں"
+
+msgid "IDS_COM_BODY_SELECTED"
+msgstr "انتخاب ہوگیا"
+
+msgid "IDS_COM_BODY_PREVIOUS"
+msgstr "پچھلا"
+
+msgid "IDS_COM_BODY_UNABLE_TO_ADD"
+msgstr "اضافہ کرنے سے قاصر۔"
+
+msgid "IDS_COM_BODY_PAUSE"
+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_MH_POP_ALARM_TONE_SET"
+msgstr "الارم ٹون سیٹ۔"
+
+msgid "IDS_MUSIC_TMBODY_LENGTH"
+msgstr "لمبائی"
+
+msgid "IDS_MUSIC_ITAB4_FOLDERS"
+msgstr "فولڈرز"
+
+msgid "IDS_MUSIC_HEADER_MY_PLAYLISTS_ABB"
+msgstr "My playlists"
+
+msgid "IDS_MP_BODY_SOUND_PLAYER"
+msgstr "ساؤنڈ پلیئر"
+
+msgid "IDS_MUSIC_OPT_SETTINGS"
+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_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+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."
+
--- /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 "已达到文件最大尺寸。"
+
--- /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 "超出檔案大小上限。"
+
--- /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 "檔案最大的大小已超過。"
+
--- /dev/null
+APPNAME = musicplayer
+
+type = app
+profile = mobile-2.4
+
+USER_SRCS = src/musicplayer.c
+USER_DEFS =
+USER_INC_DIRS = inc
+USER_OBJS =
+USER_LIBS =
+USER_EDCS =
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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) 2000-2015 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 SEARCHBAR_BASE_HEIGHT_INC 58
+#define SEARCHBAR_TOP_PADDING_INC 55
+#define SEARCHBAR_LEFT_PADDING_INC 2
+#define SEARCHBAR_RIGHT_PADDING_INC 3
+#define SEARCHBAR_HEIGHT_INC 30
+#define SEARCHBAR_CANCEL_BUTTON_W_INC 15
+#define SEARCHBAR_BACKGROUND_COLOR 34 44 71 255
+#define SEARCHBAR_BG_COLOR 5 90 118 255
+#define SEARCHBAR_CANCEL_BUTTON_LEFT_PADDING_INC 10
+#define SEARCHBAR_WIDTH_INC 110
+#define SEARCHBAR_BOTTOM_PADDING_INC 35;
+
+
+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: "right_btn_padding_rect";
+ type: SPACER;
+ //scale: 1;
+ description { state: "default" 0.0;
+ min: 0 0;
+ //fixed: 1 0;
+ align: 1.0 0.0;
+ rel1.relative: 0.0 0.0;
+ rel1.to: "right_padding_rect";
+ rel2.relative: 0.0 1.0;
+ rel2.to: "right_padding_rect";
+ }
+ description { state: "in" 0.0;
+ inherit: "default" 0.0;
+ min: SEARCHBAR_CANCEL_BUTTON_LEFT_PADDING_INC 0;
+ rel1.to: "button_cancel";
+ rel2.to: "button_cancel";
+ }
+ }
+ 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) 2000-2015 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) 2000-2015 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; \
+
+
+//**************************************************************************//
+//**********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) 2000-2015 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 {name : "elm/genlist/item/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";
+ }
+ }
+ }
+ }
+}
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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) 2000-2015 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.
+*
+*/
+
+#ifdef MP_3D_FEATURE
+#define COVER_FLOW_VOLUME_W 626
+#define COVER_FLOW_VOLUME_H 112
+#define COVER_FLOW_VOLUME_START_Y 400
+#define COVER_FLOW_INDICATOR_H 50
+#define COVER_FLOW_W 1280
+#define COVER_FLOW_H (720-COVER_FLOW_INDICATOR_H)
+#define COVER_FLOW_VOLUME_SX (((COVER_FLOW_W-COVER_FLOW_VOLUME_W)/2)/COVER_FLOW_VOLUME_W)
+#define COVER_FLOW_VOLUME_SY (COVER_FLOW_VOLUME_START_Y/COVER_FLOW_H)
+#define COVER_FLOW_VOLUME_EX (1-COVER_FLOW_VOLUME_SX)
+#define COVER_FLOW_VOLUME_EY ((COVER_FLOW_VOLUME_START_Y+COVER_FLOW_VOLUME_H)/COVER_FLOW_H)
+
+#define COVER_FLOW_PAD_W 8
+#define COVER_FLOW_BACK_BUTTON_W 104
+#define COVER_FLOW_BACK_BUTTON_H 74
+#define COVER_FLOW_TAP 10
+#define COVER_FLOW_ALL_TRACKS_PAD_W 20
+
+#define COVER_FLOW_CIRCLE_BACK_BT_BG "Cover_flow/T02_music_player_back_button.png"
+
+/* for now playing */
+#define COVER_FLOW_CIRCLE_BG "T02_music_player_circle_bg.png"
+#define COVER_FLOW_CIRCLE_PLAY "T02_music_player_circle_play.png"
+#define COVER_FLOW_CIRCLE_PAUSE "T02_music_player_circle_pause.png"
+#define COVER_FLOW_NOW_PLAYING_H 88
+#define COVER_FLOW_THUMB_SIZE COVER_FLOW_NOW_PLAYING_H
+#define COVER_FLOW_CIRCLE_BG_SIZE 64
+#define COVER_FLOW_CIRCLE_BG_SX ((COVER_FLOW_THUMB_SIZE-COVER_FLOW_CIRCLE_BG_SIZE)/2)
+#define COVER_FLOW_CIRCLE_BG_EX (COVER_FLOW_CIRCLE_BG_SIZE+COVER_FLOW_CIRCLE_BG_SX)
+#define COVER_FLOW_CIRCLE_BG_SY ((COVER_FLOW_THUMB_SIZE-COVER_FLOW_CIRCLE_BG_SIZE)/2)
+#define COVER_FLOW_CIRCLE_BG_EY (COVER_FLOW_CIRCLE_BG_SIZE+COVER_FLOW_CIRCLE_BG_SY)
+
+/* for all tracks */
+#define COVER_FLOW_EXPAND_CIRCLE_BG "Cover_flow/T02_music_expand_circle_bg.png"
+#define COVER_FLOW_EXPAND_CIRCLE_OPEN "Cover_flow/T02_music_expand_circle_open.png"
+#define COVER_FLOW_EXPAND_CIRCLE_CLOSE "Cover_flow/T02_music_expand_circle_close.png"
+#define COVER_FLOW_EXPAND_CIRCLE_BG_SIZE COVER_FLOW_CIRCLE_BG_SIZE
+#define COVER_FLOW_EXPAND_CIRCLE_CLICK_OFFSET 25
+#define COVER_FLOW_ALL_TRACKS_PAD_W 20
+
+#define COVER_FLOW_DIM_COLOR 0 0 0 100
+group {
+ name: "3d-layout";
+
+ images {
+ image: COVER_FLOW_CIRCLE_BACK_BT_BG COMP;
+ }
+
+ 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: 0 0 0 0;
+ }
+ }
+
+ part {
+ name : "content";
+ type: SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: 0.0 0.0;to: "background";}
+ rel2 { relative: 1.0 1.0;to: "background";}
+ }
+ }
+
+ part {
+ name : "genlist_ly";
+ type: SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ description {
+ visible:0;
+ state: "default" 0.0;
+ rel1 { relative: 0.3 1.0;to: "content";}
+ rel2 { relative: 0.7 2.0;to: "content";}
+ }
+ description {
+ visible:1;
+ state: "normal" 0.0;
+ rel1 { relative: 0.3 0.0;to: "content";}
+ rel2 { relative: 0.7 1.0;to: "content";}
+ }
+ description {
+ visible:1;
+ state: "bottom" 0.0;
+ rel1 { relative: 0.3 1.0;to: "content";}
+ rel2 { relative: 0.7 2.0;to: "content";}
+ }
+ }
+
+ part {
+ name : "now_playing";
+ type: SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 0 COVER_FLOW_NOW_PLAYING_H;
+ fixed: 0 1;
+ visible: 1;
+ align: 0 0;
+ rel1 { relative: 0.02 0.02;to: "content";}
+ rel2 { relative: 0.27 0.02;to: "content";}
+ }
+ }
+
+ part {
+ name : "all_tracks";
+ type: SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 0 COVER_FLOW_EXPAND_CIRCLE_BG_SIZE;
+ fixed: 0 1;
+ visible: 1;
+ align: 1 0;
+ rel1 { relative: 0.8 0.02; to: "content";}
+ rel2 { relative: 1.0 0.02; offset: 0 COVER_FLOW_EXPAND_CIRCLE_BG_SIZE; to: "content";}
+ }
+ }
+
+ part { name: "back_button_bg";
+ type : IMAGE;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ min: COVER_FLOW_BACK_BUTTON_W COVER_FLOW_BACK_BUTTON_H;
+ fixed: 1 1;
+ align: 1.0 1.0;
+ rel1 { relative: 1.0 1.0;
+ offset: (-COVER_FLOW_TAP) (-COVER_FLOW_TAP);
+ to, "background";
+ }
+ rel2 { relative: 1.0 1.0;
+ offset: (-COVER_FLOW_TAP) (-COVER_FLOW_TAP);
+ to, "background";
+ }
+ image {
+ normal: COVER_FLOW_CIRCLE_BACK_BT_BG;
+ border : 6 6 0 0;
+ border_scale: 1;
+ }
+ }
+ }
+
+ part { name: "back_button";
+ type : SWALLOW;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ min: COVER_FLOW_BACK_BUTTON_W COVER_FLOW_BACK_BUTTON_H;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ rel1 { relative: 0.0 0.0;
+ offset: 0.0 0.0;
+ to, "back_button_bg";
+ }
+ rel2 { relative: 1.0 1.0;
+ offset: 0.0 0.0;
+ to, "back_button_bg";
+ }
+ }
+ }
+ part {
+ name : "dim_area1";
+ type: RECT;
+ mouse_events: 1;
+ scale: 1;
+ description {
+ visible:0;
+ state: "default" 0.0;
+ rel1 { relative: 0.0 0.0;to: "content";}
+ rel2 { relative: 0.3 1.0;to: "content";}
+ color: COVER_FLOW_DIM_COLOR;
+ }
+
+ description {
+ state: "dim" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+
+ part {
+ name : "dim_area2";
+ type: RECT;
+ mouse_events: 1;
+ scale: 1;
+ description {
+ visible:0;
+ state: "default" 0.0;
+ rel1 { relative: 0.7 0.0;to: "content";}
+ rel2 { relative: 1.0 1.0;to: "content";}
+ color: COVER_FLOW_DIM_COLOR;
+ }
+
+ description {
+ state: "dim" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+
+ part { name: "volume_layout";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: COVER_FLOW_VOLUME_SX COVER_FLOW_VOLUME_SY; to: "background"; }
+ rel2 { relative: COVER_FLOW_VOLUME_EX COVER_FLOW_VOLUME_EY; to: "background"; }
+ }
+ }
+ }
+
+ programs {
+ program { name: "show_track_list";
+ signal: "show_track_list";
+ source: "genlist_ly";
+ action: STATE_SET "bottom" 0.0;
+ target: "genlist_ly";
+ after :"set_normal";
+ }
+
+ program { name: "set_normal";
+ signal: "set_normal";
+ source: "genlist_ly";
+ action: STATE_SET "normal" 0.0;
+ target: "genlist_ly";
+ transition: LINEAR 0.5;
+ after :"show_dim";
+ }
+
+ program { name: "hide_track_list";
+ signal: "hide_track_list";
+ source: "genlist_ly";
+ action: STATE_SET "normal" 0.0;
+ target: "genlist_ly";
+ after :"set_bottom";
+ }
+
+ program { name: "set_bottom";
+ signal: "set_bottom";
+ source: "genlist_ly";
+ action: STATE_SET "bottom" 0.0;
+ target: "genlist_ly";
+ transition: LINEAR 0.5;
+ after :"hide_dim";
+ }
+
+ program { name: "show_dim";
+ signal: "show_dim";
+ source: "dim_area1";
+ source: "dim_area2";
+ action: STATE_SET "dim" 0.0;
+ target: "dim_area1";
+ target: "dim_area2";
+ }
+
+ program { name: "hide_dim";
+ signal: "hide_dim";
+ source: "dim_area1";
+ source: "dim_area2";
+ action: STATE_SET "default" 0.0;
+ target: "dim_area1";
+ target: "dim_area2";
+ }
+
+ program {
+ name: "dim_area1_clicked";
+ source: "dim_area1";
+ signal: "mouse,up,1";
+ after: "hide_track_list";
+ }
+
+ program {
+ name: "dim_area2_clicked";
+ source: "dim_area2";
+ signal: "mouse,up,1";
+ after: "hide_track_list";
+ }
+ }
+}
+
+group {
+ name: "3d-genlist";
+ 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: 0 0 0 229;
+ }
+ }
+
+ part {
+ name : "list_content";
+ type: SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: 0.0 0.0;to: "background";}
+ rel2 { relative: 1.0 1.0;to: "background";}
+ }
+ }
+ }
+}
+
+group {
+ name: "3d-now-playing";
+
+ images {
+ image: COVER_FLOW_CIRCLE_BG COMP;
+ image: COVER_FLOW_CIRCLE_PLAY COMP;
+ image: COVER_FLOW_CIRCLE_PAUSE COMP;
+ }
+
+ parts {
+ part { name: "background";
+ type: RECT;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ min: 0 COVER_FLOW_NOW_PLAYING_H;
+ fixed: 0 1;
+ align: 0 0;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ color: 0 0 0 0;
+ }
+ }
+
+ part {
+ name : "thumb_image";
+ type: SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: COVER_FLOW_THUMB_SIZE COVER_FLOW_THUMB_SIZE;
+ max: COVER_FLOW_THUMB_SIZE COVER_FLOW_THUMB_SIZE;
+ visible: 1;
+ fixed: 1 1;
+ align: 0.0 0.5;
+ rel1 { relative: 0 0;to: "background";}
+ rel2 { relative: 1 1;to: "background";}
+ }
+ }
+
+ part { name: "innerline.top";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ visible: 1;
+ fixed: 1 1;
+ align: 0 0;
+ min: 1 1;
+ rel1 {relative: 0.0 0.0; to, "thumb_image";}
+ rel2 {relative: 1.0 0.0; to, "thumb_image";}
+ color: MP_COLOR_BG_BLACK;
+ }
+ }
+
+ part { name: "innerline.bottom";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ visible: 1;
+ fixed: 1 1;
+ align: 0 0;
+ min: 1 1;
+ rel1 {relative: 0.0 1.0; to, "thumb_image";}
+ rel2 {relative: 1.0 1.0; to, "thumb_image";}
+ color: MP_COLOR_BG_BLACK;
+ }
+ }
+
+ part { name: "innerline.left";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ visible: 1;
+ fixed: 1 1;
+ align: 0 0;
+ min: 1 1;
+ rel1 {relative: 0.0 0.0; to, "thumb_image";}
+ rel2 {relative: 0.0 1.0; to, "thumb_image";}
+ color: MP_COLOR_BG_BLACK;
+ }
+ }
+
+ part { name: "innerline.right";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ visible: 1;
+ fixed: 1 1;
+ align: 0 0;
+ min: 1 1;
+ rel1 {relative: 1.0 0.0; to, "thumb_image";}
+ rel2 {relative: 1.0 1.0; to, "thumb_image";}
+ color: MP_COLOR_BG_BLACK;
+ }
+ }
+
+ part { name, "now_playing_bg";
+ type, IMAGE;
+ scale: 1;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ image { normal: COVER_FLOW_CIRCLE_BG; }
+ //min: COVER_FLOW_CIRCLE_BG_SIZE COVER_FLOW_CIRCLE_BG_SIZE;
+ //max: COVER_FLOW_CIRCLE_BG_SIZE COVER_FLOW_CIRCLE_BG_SIZE;
+ visible: 1;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ rel1 {
+ relative: COVER_FLOW_CIRCLE_BG_SX/COVER_FLOW_THUMB_SIZE COVER_FLOW_CIRCLE_BG_SY/COVER_FLOW_THUMB_SIZE;
+ offset: 0 0;
+ to: "thumb_image";
+ }
+ rel2 {
+ relative: COVER_FLOW_CIRCLE_BG_EX/COVER_FLOW_THUMB_SIZE COVER_FLOW_CIRCLE_BG_EY/COVER_FLOW_THUMB_SIZE;
+ offset: 0 0;
+ to: "thumb_image";
+ }
+ }
+ }
+
+ part { name, "now_playing_arrow";
+ type, IMAGE;
+ scale: 1;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ image { normal: COVER_FLOW_CIRCLE_PLAY; }
+ visible: 1;
+ align: 0.5 0.5;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 0 0;
+ to: "now_playing_bg";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: 0 0;
+ to: "now_playing_bg";
+ }
+ }
+ description {
+ state: "pause" 0.0;
+ inherit: "default" 0.0;
+ image { normal: COVER_FLOW_CIRCLE_PAUSE; }
+ }
+ }
+
+ part { name: "track_name";
+ type: TEXT;
+ scale: 1;
+ description { state: "default" 0.0;
+ align: 0.0 0.5;
+ rel1 {
+ relative: 1.0 0.0;
+ offset: COVER_FLOW_PAD_W 0;
+ to: "thumb_image";
+ }
+ rel2 {
+ relative: 1.0 0.5;
+ offset: 0 0;
+ to: "background";
+ }
+ color: 7 180 211 255;
+ text {
+ font: FONT_STYLE_REGULAR;
+ size: 35;
+ min: 0 1;
+ align: 0.0 0.5;
+ }
+ }
+ }
+
+ part { name: "artist_name";
+ type: TEXT;
+ scale: 1;
+ description { state: "default" 0.0;
+ align: 0.0 0.0;
+ rel1 {
+ relative: 1.0 0.5;
+ offset: COVER_FLOW_PAD_W 0;
+ to: "thumb_image";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: 0 0;
+ to: "background";
+ }
+ color: 122 122 122 255;
+ text {
+ font: FONT_STYLE_REGULAR;
+ size: 28;
+ min: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+ }
+ }
+
+ programs {
+ program {
+ name: "now_playing_clicked";
+ source: "now_playing_bg";
+ signal: "mouse,clicked,1";
+ action: SIGNAL_EMIT "now_playing_clicked" 0.0;
+ }
+ program {
+ name: "pause";
+ source: "now_playing_arrow";
+ signal: "pause";
+ action: STATE_SET "pause" 0.0;
+ target: "now_playing_arrow";
+ }
+ program {
+ name: "play";
+ source: "now_playing_arrow";
+ signal: "play";
+ action: STATE_SET "default" 0.0;
+ target: "now_playing_arrow";
+ }
+
+ }
+}
+
+group {
+ name: "3d-all-tracks";
+ parts {
+
+ images {
+ image: COVER_FLOW_EXPAND_CIRCLE_BG COMP;
+ image: COVER_FLOW_EXPAND_CIRCLE_OPEN COMP;
+ image: COVER_FLOW_EXPAND_CIRCLE_CLOSE COMP;
+ }
+
+ part { name: "background";
+ type: RECT;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ min: COVER_FLOW_EXPAND_CIRCLE_BG_SIZE COVER_FLOW_EXPAND_CIRCLE_BG_SIZE;
+ fixed: 0 1;
+ align: 0 0;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ color: 0 0 0 0;
+ }
+ }
+
+ part { name, "expand_circle_bg";
+ type, IMAGE;
+ scale: 1;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ image { normal: COVER_FLOW_CIRCLE_BG; }
+ min: COVER_FLOW_EXPAND_CIRCLE_BG_SIZE COVER_FLOW_EXPAND_CIRCLE_BG_SIZE;
+ max: COVER_FLOW_EXPAND_CIRCLE_BG_SIZE COVER_FLOW_EXPAND_CIRCLE_BG_SIZE;
+ visible: 1;
+ fixed: 1 1;
+ align: 1.0 0.5;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 0 0;
+ to: "background";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -COVER_FLOW_ALL_TRACKS_PAD_W 0;
+ to: "background";
+ }
+ }
+ }
+
+ part { name, "expand_circle";
+ type, IMAGE;
+ scale: 1;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ image { normal: COVER_FLOW_EXPAND_CIRCLE_CLOSE; }
+ visible: 1;
+ align: 0.5 0.5;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 0 0;
+ to: "expand_circle_bg";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: 0 0;
+ to: "expand_circle_bg";
+ }
+ }
+ description {
+ state: "open" 0.0;
+ inherit: "default" 0.0;
+ image { normal: COVER_FLOW_EXPAND_CIRCLE_OPEN; }
+ }
+ }
+
+ part { name: "click_area";
+ type: RECT;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ fixed: 0 0;
+ align: 0 0;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: (-COVER_FLOW_EXPAND_CIRCLE_CLICK_OFFSET) (-COVER_FLOW_EXPAND_CIRCLE_CLICK_OFFSET);
+ to: "expand_circle";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: COVER_FLOW_EXPAND_CIRCLE_CLICK_OFFSET COVER_FLOW_EXPAND_CIRCLE_CLICK_OFFSET;
+ to: "expand_circle";
+ }
+ color: 0 0 0 0;
+ }
+ }
+
+ part { name: "all_tracks_text";
+ type: TEXT;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ align: 1.0 0.5;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 0 0;
+ to: "background";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ offset: -COVER_FLOW_ALL_TRACKS_PAD_W 0;
+ to_x: "expand_circle_bg";
+ to_y: "background";
+ }
+ color: 255 255 255 255;
+ text {
+ font: FONT_STYLE_REGULAR;
+ size: 32;
+ min: 0 1;
+ //text: "All Tracks";
+ text: "";
+ align: 1.0 0.5;
+ }
+ }
+ }
+ }
+
+ programs {
+ program {
+ name: "expand_circle_clicked";
+ source: "click_area";
+ signal: "mouse,clicked,1";
+ action: SIGNAL_EMIT "expand_circle_clicked" 0.0;
+ }
+ program {
+ name: "open";
+ source: "expand_circle";
+ signal: "open";
+ action: STATE_SET "open" 0.0;
+ target: "expand_circle";
+ }
+ program {
+ name: "close";
+ source: "expand_circle";
+ signal: "close";
+ action: STATE_SET "default" 0.0;
+ target: "expand_circle";
+ }
+ }
+}
+#endif
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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;
+ }
+ 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: "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) 2000-2015 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_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;
+}
+
+#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";
+ }
+ }
+ }
+
+
+
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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;
+ 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) 2000-2015 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-slider.edc"
+ #include "mp-label.edc"
+ #include "mp-nocontents.edc"
+ #include "search_bar.edc"
+}
+
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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
+//efine MP_IMAGE_ROTATE_FEATURE
+#endif
+
+//#define MP_FEATURE_APP_IN_APP
+
+/* main size */
+#define MAIN_W 480
+#define MAIN_H 800
+//#define PLAYVIEW_H 706
+#define PLAYVIEW_H 620
+#define MENUBOX_H /*90*/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" //should be replaced to FONT_CONTENT_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"
+
+/* 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 /*((714 -10)/MAIN_H)*/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 NAVIFRAME_TITLE_H_INC 100
+#define NAVIFRAME_SEGMENT_TITLE_H_INC 136
+#define NAVIFRAME_OH_OPENED_H_INC 106
+#define NAVIFRAME_OH_CONTENT_H_INC 74
+#define NAVIFRAME_OH_PADDING_INC 16
+#define NAVIFRAME_OH_ARROW_SIZE_INC 19 14
+#define NAVIFRAME_OH_OPENED_DOUBLE_H_INC 196
+#define NAVIFRAME_PREV_BTN_W_INC 124
+#define NAVIFRAME_TITLE_FUNC_BTN_PADDING_W_INC 10
+#define NAVIFRAME_TITLE_FUNC_BTN_SIZE_INC 124 80
+#define NAVIFRAME_TEXT_PADDING_INC 144
+#define NAVIFRAME_TEXT_PADDING_MORE_BUTTON_INC 278
+#define NAVIFRAME_TEXT_PADDING_ICON_VISIBLE_INC 186
+#define NAVIFRAME_TITLE_SEGMENT_H_INC 74
+#define NAVIFRAME_TITLE_SEGMENT_FONT_SIZE_INC 28
+#define NAVIFRAME_TITLE_SEGMENT_TEXT_H_INC 50
+#define NAVIFRAME_TITLE_FONT_SIZE_INC 36
+#define NAVIFRAME_ICON_SIZE_INC 32 32
+#define NAVIFRAME_ICON_PADDING_INC 16 0
+#define NAVIFRAME_CONTROLBAR_PADDING_INC 5
+*/
+
+#define CONTROLBAR_LARGE_HEIGHT_INC 122
+//#define CONTROLBAR_SMALL_HEIGHT_INC 102
+#define CONTROLBAR_WIDTH_INC 122
+
+#define MP_NAVIFRAME_CONTROLBAR_H 114
+
+#define MP_BUTTON_PRESSED_NAME "Tizen_touch.wav"
+
+#endif /* __MP_DEFINES_H__ */
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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) 2000-2015 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) 2000-2015 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) 2000-2015 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) 2000-2015 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) 2000-2015 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_LOSSY(MP_ICON_COVERFLOW_BG);
+//RESOURCE_IMAGE_LOSSY(MP_ICON_COVERFLOW_SHADOW_BG);
+RESOURCE_IMAGE(MP_ICON_STORAGE_PHONE);
+RESOURCE_IMAGE(MP_ICON_STORAGE_MEMORY);
+RESOURCE_IMAGE(MP_ICON_STORAGE_EXTERNAL);
+//RESOURCE_IMAGE(MP_ICON_SQUARE_CELL_NORMAL);
+//RESOURCE_IMAGE(MP_ICON_SQUARE_CELL_SELECTED);
+//RESOURCE_IMAGE(MP_ICON_SQUARE_CELL_NORMAL_LD);
+//RESOURCE_IMAGE(MP_ICON_SQUARE_CELL_SELECTED_LD);
+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_NEARBY_DMR);
+//RESOURCE_IMAGE(MP_ICON_NEARBY_DMR_PRESS);
+RESOURCE_IMAGE(MP_ICON_MINI_PLAYER);
+//RESOURCE_IMAGE(MP_ICON_VIDEO_PLAY);
+//RESOURCE_IMAGE_LOSSY(MP_ICON_TURNOVER_01);
+//RESOURCE_IMAGE_LOSSY(MP_ICON_TURNOVER_02);
+//RESOURCE_IMAGE_LOSSY(MP_ICON_TURNOVER_03);
+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_FIND_TAG);
+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_UPDATE_ALBUMART);
+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_HOMESYNC_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_MAKE_AVAILABLE_OFFLINE_IMAGE);
+//RESOURCE_IMAGE_RECT(MP_PLAYER_MORE_BTN_GROUP_PLAY_IMAGE);
+//RESOURCE_IMAGE_RECT(MP_PLAYER_MORE_BTN_EDIT_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_HIDE_MUSIC_VIEW);
+RESOURCE_IMAGE_RECT(MP_PLAYER_MORE_BTN_LIB_UPDATE);
+//RESOURCE_IMAGE_RECT(MP_PLAYER_MORE_BTN_MAKE_AVAILABLE_OFFICE);
+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_SHARE);
+//RESOURCE_IMAGE_RECT(MP_PLAYER_MORE_BTN_SHARE_VIA);
+//RESOURCE_IMAGE_RECT(MP_PLAYER_MORE_BTN_SHOW_MUSIC_VIEW);
+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);
+RESOURCE_IMAGE_RECT(MP_PLAYER_MORE_BTN_VIEW_END);
+RESOURCE_IMAGE_RECT(MP_PLAYER_MORE_BTN_VIEW_AS);
+//RESOURCE_IMAGE(MP_PLAYER_MORE_BTN_ADD_TO_PERSONAL_PAGE);
+//RESOURCE_IMAGE(MP_PLAYER_MORE_BTN_REMOVE_FROM_PERSONAL_PAGE);
+
+
+//RESOURCE_IMAGE_LOSSY(MP_ICON_CONNECTED_MY_DEVICE);
+//RESOURCE_IMAGE_LOSSY(MP_ICON_CONNECTED_TV);
+
+//RESOURCE_IMAGE(MP_PLAY_ALLSHARE_DEVICE_TV_ITEM);
+//RESOURCE_IMAGE(MP_PLAY_ALLSHARE_DEVICE_BD_ITEM);
+//RESOURCE_IMAGE(MP_PLAY_ALLSHARE_DEVICE_LFD_ITEM);
+//RESOURCE_IMAGE(MP_PLAY_ALLSHARE_DEVICE_STB_ITEM);
+/*RESOURCE_IMAGE(MP_PLAY_ALLSHARE_DEVICE_MOBILE_ITEM);
+RESOURCE_IMAGE(MP_PLAY_ALLSHARE_DEVICE_TABLET_ITEM);
+RESOURCE_IMAGE(MP_PLAY_ALLSHARE_DEVICE_DONGLE_ITEM);
+RESOURCE_IMAGE(MP_PLAY_ALLSHARE_DEVICE_CAMERA_ITEM);
+RESOURCE_IMAGE(MP_PLAY_ALLSHARE_DEVICE_CAMCORDER_ITEM);
+RESOURCE_IMAGE(MP_PLAY_ALLSHARE_DEVICE_REF_ITEM);
+RESOURCE_IMAGE(MP_PLAY_ALLSHARE_DEVICE_AC_WALL_ITEM);
+RESOURCE_IMAGE(MP_PLAY_ALLSHARE_DEVICE_WM_ITEM);
+RESOURCE_IMAGE(MP_PLAY_ALLSHARE_DEVICE_ROBOT_TV_ITEM);
+RESOURCE_IMAGE(MP_PLAY_ALLSHARE_DEVICE_PC_ITEM);
+RESOURCE_IMAGE(MP_PLAY_ALLSHARE_DEVICE_UNKNOWN_ITEM);
+RESOURCE_IMAGE_RECT(MP_PLAY_UHA_ICON);
+*/
+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);
+RESOURCE_IMAGE(MP_LITE_REORDER_ICON);
+
+}
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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) 2000-2015 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";
+ }
+ }
+
+ group { name: "elm/label/base/music/naviframe_title";
+ script {
+ public g_duration = 0, g_stopslide, g_timer_id, g_anim_id, g_landscape = 0;
+
+ public message(Msg_Type:type, id, ...) {
+ if (type == MSG_FLOAT_SET) {
+ new Float:duration;
+ duration = getfarg(2);
+ if (id == 0)
+ set_float(g_duration, duration);
+ else {
+ if (!get_int(g_landscape))
+ set_float(g_duration, duration / NAVIFRAME_TITLE_FONT_SIZE_INC * SLIDE_SPEED_WEIGHT);
+ else
+ set_float(g_duration, duration / NAVIFRAME_LANDSCAPE_TITLE_FONT_SIZE_INC * SLIDE_SPEED_WEIGHT);
+ }
+ }
+ }
+ public slide_end_pending(val, Float:pos) {
+ if (pos >= 1.0) {
+ stop_slide();
+ emit("elm,state,slide,end", "");
+ }
+ }
+ public slide_to_end_anim(val, Float:pos) {
+ new stopflag;
+ stopflag = get_int(g_stopslide);
+ if (stopflag == 1) return;
+ if (!get_int(g_landscape))
+ set_tween_state(PART:"elm.text", pos, "slide_begin", 0.0, "slide_end", 0.0);
+ else
+ set_tween_state(PART:"elm.text", pos, "slide_begin_landscape", 0.0, "slide_end_landscape", 0.0);
+ if (pos >= 1.0)
+ anim(1, "slide_end_pending", 1);
+ }
+ public slide_to_end() {
+ new stopflag;
+ new id;
+ new Float:duration;
+ stopflag = get_int(g_stopslide);
+ if (stopflag == 1) return;
+ duration = get_float(g_duration);
+ id = anim(duration, "slide_to_end_anim", 1);
+ set_int(g_anim_id, id);
+ }
+ public slide_to_begin() {
+ new stopflag;
+ new id;
+ stopflag = get_int(g_stopslide);
+ if (stopflag == 1) return;
+ if (!get_int(g_landscape))
+ set_state(PART:"elm.text", "slide_begin", 0.0);
+ else
+ set_state(PART:"elm.text", "slide_begin_landscape", 0.0);
+ id = timer(0.5, "slide_to_end", 1);
+ set_int(g_timer_id, id);
+ }
+ public start_slide() {
+ set_int(g_stopslide, 0);
+ if (!get_int(g_landscape))
+ set_state(PART:"elm.text", "slide_begin", 0.0);
+ else
+ set_state(PART:"elm.text", "slide_begin_landscape", 0.0);
+ slide_to_end();
+ }
+ public stop_slide() {
+ new id;
+ set_int(g_stopslide, 1);
+ id = get_int(g_anim_id);
+ cancel_anim(id);
+ id = get_int(g_timer_id);
+ cancel_timer(id);
+ if (!get_int(g_landscape))
+ set_state(PART:"elm.text", "default", 0.0);
+ else
+ set_state(PART:"elm.text", "default_landscape", 0.0);
+ }
+ }
+ parts {
+ part { name: "label.text.clip";
+ type: RECT;
+ description { state: "default" 0.0;
+ }
+ }
+ part { name: "elm.text";
+ type: TEXTBLOCK;
+ scale: 1;
+ clip_to: "label.text.clip";
+ description { state: "default" 0.0;
+ rel1.relative: 0.0 0.0;
+ rel2.relative: 1.0 1.0;
+ align: 0.0 0.0;
+ text {
+ style: "naviframe_title_style";
+ size: NAVIFRAME_TITLE_FONT_SIZE_INC;
+ size_range: NAVIFRAME_TITLE_FONT_MIN_SIZE_INC NAVIFRAME_TITLE_FONT_SIZE_INC;
+ fit: 1 0;
+ min: 0 1;
+ }
+ }
+ description { state: "slide_end" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: 1.0 0.0;
+ rel2.relative: 1.0 1.0;
+ align: 1.0 0.0;
+ text {
+ style: "naviframe_title_style";
+ size: NAVIFRAME_TITLE_FONT_SIZE_INC;
+ size_range: NAVIFRAME_TITLE_FONT_MIN_SIZE_INC NAVIFRAME_TITLE_FONT_SIZE_INC;
+ fit: 1 0;
+ min: 1 1;
+ }
+ }
+ description { state: "slide_begin" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: 0.0 0.0;
+ rel2.relative: 0.0 1.0;
+ align: 0.0 0.0;
+ text {
+ style: "naviframe_title_style";
+ size: NAVIFRAME_TITLE_FONT_SIZE_INC;
+ size_range: NAVIFRAME_TITLE_FONT_MIN_SIZE_INC NAVIFRAME_TITLE_FONT_SIZE_INC;
+ fit: 1 0;
+ min: 1 1;
+ }
+ }
+ description { state: "default_landscape" 0.0;
+ rel1.relative: 0.0 0.0;
+ rel2.relative: 1.0 1.0;
+ align: 0.0 0.0;
+ text {
+ style: "naviframe_landscape_title_style";
+ size: NAVIFRAME_LANDSCAPE_TITLE_FONT_SIZE_INC;
+ size_range: NAVIFRAME_TITLE_FONT_MIN_SIZE_INC NAVIFRAME_LANDSCAPE_TITLE_FONT_SIZE_INC;
+ fit: 1 0;
+ min: 0 1;
+ }
+ }
+ description { state: "slide_end_landscape" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: 1.0 0.0;
+ rel2.relative: 1.0 1.0;
+ align: 1.0 0.0;
+ text {
+ style: "naviframe_landscape_title_style";
+ size: NAVIFRAME_LANDSCAPE_TITLE_FONT_SIZE_INC;
+ size_range: NAVIFRAME_TITLE_FONT_MIN_SIZE_INC NAVIFRAME_LANDSCAPE_TITLE_FONT_SIZE_INC;
+ fit: 1 0;
+ min: 1 1;
+ }
+ }
+ description { state: "slide_begin_landscape" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: 0.0 0.0;
+ rel2.relative: 0.0 1.0;
+ align: 0.0 0.0;
+ text {
+ style: "naviframe_landscape_title_style";
+ size: NAVIFRAME_LANDSCAPE_TITLE_FONT_SIZE_INC;
+ size_range: NAVIFRAME_TITLE_FONT_MIN_SIZE_INC NAVIFRAME_LANDSCAPE_TITLE_FONT_SIZE_INC;
+ fit: 1 0;
+ min: 1 1;
+ }
+ }
+ }
+ }
+ programs {
+ program { name: "start_slide";
+ source: "elm";
+ signal: "elm,state,slide,start";
+ script {
+ start_slide();
+ }
+ }
+ program { name: "stop_slide";
+ source: "elm";
+ signal: "elm,state,slide,stop";
+ script {
+ stop_slide();
+ }
+ }
+ program { name: "landscape_mode";
+ source: "elm";
+ signal: "elm,state,orient,90";
+ script {
+ set_int(g_landscape, 1);
+ }
+ }
+ program { name: "landscape_mode2";
+ source: "elm";
+ signal: "elm,state,orient,270";
+ script {
+ set_int(g_landscape, 1);
+ }
+ }
+ program { name: "portrait_mode";
+ source: "elm";
+ signal: "elm,state,orient,0";
+ script {
+ set_int(g_landscape, 0);
+ }
+ }
+ program { name: "portrait_mode2";
+ source: "elm";
+ signal: "elm,state,orient,180";
+ script {
+ set_int(g_landscape, 0);
+ }
+ }
+ }
+ }
+
+ group { name: "elm/label/base/music/slide_roll";
+ script {
+ public g_duration = 0;
+ public g_stopslide = 0;
+ public g_timer_id = 0;
+ public g_anim_id = 0;
+ public g_tb_w = 0;
+ public g_tb_h = LABEL_FONT_SIZE_INC;
+ public org_text = 0;
+ public message(Msg_Type:type, id, ...) {
+ if (type == MSG_FLOAT_SET) {
+ new Float:duration;
+ duration = getfarg(2);
+ if (id == 0)
+ set_float(g_duration, duration);
+ else
+ set_float(g_duration, duration / get_int(g_tb_h) * SLIDE_SPEED_WEIGHT);
+ }
+ }
+ public get_tb_width() {
+ new x, y, w, h;
+ set_state(PART:"elm.text", "no_ellipsis", 0.0);
+ get_geometry(PART:"elm.text", x, y, w, h);
+ set_int(g_tb_w, w);
+ set_int(g_tb_h, h);
+ set_state(PART:"text_clip", "default", 0.0);
+ get_geometry(PART:"text_clip", x, y, w, h);
+ set_int(org_text, w);
+ }
+ public slide_to_end_anim(val, Float:pos) {
+ if (get_int(g_stopslide)) return;
+ set_tween_state(PART:"elm.text.slide", pos, "slide_begin", 0.0, "slide_end", 0.0);
+ set_tween_state(PART:"elm.text.slide2", pos, "slide_begin", 0.0, "slide_end", 0.0);
+ if (pos >= 1.0) {
+ set_int(g_timer_id, timer(1.5, "start_slide", 0));
+ }
+ }
+ public slide_to_end() {
+ if (get_int(g_stopslide)) return;
+ set_int(g_anim_id, anim(get_float(g_duration), "slide_to_end_anim", 0));
+ }
+ public start_slide(val) {
+ new Float:len;
+ new buf[1024];
+ set_int(g_stopslide, 0);
+ get_tb_width();
+ if (!get_float(g_duration)) {
+ len = get_int(g_tb_w) + SLIDE_TEXT_GAP;
+ set_float(g_duration, len / get_int(g_tb_h) * SLIDE_SPEED_WEIGHT);
+ }
+ if(get_int(g_tb_w) > get_int(org_text)) {
+ set_state(PART:"elm.text.slide", "slide_begin", 0.0);
+ set_state(PART:"elm.text.slide2", "slide_begin", 0.0);
+ get_text(PART:"elm.text", buf, 1024);
+ set_text(PART:"elm.text.slide", buf);
+ set_text(PART:"elm.text.slide2", buf);
+ set_state(PART:"text_clip", "hide", 0.0);
+ set_state(PART:"slide_text_clip", "show", 0.0);
+ slide_to_end();
+ }
+ }
+ public stop_slide() {
+ new slide_start_timer;
+ new slide_anim_id;
+ set_int(g_stopslide, 1);
+ set_float(g_duration, 0);
+ slide_start_timer = get_int(g_timer_id);
+ if (slide_start_timer) {
+ cancel_timer(slide_start_timer);
+ set_int(g_timer_id, 0);
+ }
+ slide_anim_id = get_int(g_anim_id);
+ if (slide_anim_id) {
+ cancel_anim(slide_anim_id);
+ set_int(g_anim_id, 0);
+ }
+ set_text(PART:"elm.text.slide", "");
+ set_text(PART:"elm.text.slide2", "");
+ set_state(PART:"elm.text", "default", 0.0);
+ set_state(PART:"elm.text.slide", "default", 0.0);
+ set_state(PART:"elm.text.slide2", "default", 0.0);
+ set_state(PART:"text_clip", "default", 0.0);
+ set_state(PART:"slide_text_clip", "default", 0.0);
+ }
+ }
+ parts {
+ part { name: "label.text.clip";
+ type: RECT;
+ description { state: "default" 0.0;
+ }
+ }
+ part { name: "text_clip";
+ type: RECT;
+ mouse_events: 0;
+ clip_to: "label.text.clip";
+ description { state: "default" 0.0;
+ }
+ description { state: "hide" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "elm.text";
+ type: TEXTBLOCK;
+ scale: 1;
+ clip_to: "text_clip";
+ description { state: "default" 0.0;
+ align: 0.0 0.5;
+ text {
+ style: "main_title_style";
+ min: 0 1;
+ }
+ }
+ description { state: "no_ellipsis" 0.0;
+ inherit: "default" 0.0;
+ text.min: 1 1;
+ }
+ }
+ part { name: "slide_text_clip";
+ type: RECT;
+ mouse_events: 0;
+ clip_to: "label.text.clip";
+ description { state: "default" 0.0;
+ visible: 0;
+ }
+ description { state: "show" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "slide_text_gap";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 0;
+ min: SLIDE_TEXT_GAP 0;
+ max: SLIDE_TEXT_GAP -1;
+ align: 1.0 0.5;
+ rel1.relative: 0.0 0.0;
+ rel2.relative: 0.0 1.0;
+ }
+ }
+ part { name: "elm.text.slide";
+ type: TEXTBLOCK;
+ scale: 1;
+ clip_to: "slide_text_clip";
+ description { state: "default" 0.0;
+ align: 0.0 0.5;
+ text {
+ style: "main_title_style";
+ min: 0 1;
+ }
+ }
+ description { state: "slide_begin" 0.0;
+ inherit: "default" 0.0;
+ text.min: 1 1;
+ rel1.relative: 0.0 0.0;
+ rel2.relative: 0.0 1.0;
+ }
+ description { state: "slide_end" 0.0;
+ inherit: "default" 0.0;
+ align: 1.0 0.5;
+ text.min: 1 1;
+ text.align: 1.0 0.5;
+ rel1 { relative: 0.0 0.0; to: "slide_text_gap"; }
+ rel2 { relative: 0.0 1.0; to: "slide_text_gap"; }
+ }
+ }
+ part { name: "slide_text_gap2";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 0;
+ min: SLIDE_TEXT_GAP 0;
+ max: SLIDE_TEXT_GAP -1;
+ align: 0.0 0.5;
+ rel1 { relative: 1.0 0.0; to: "elm.text"; }
+ rel2 { relative: 1.0 1.0; to: "elm.text"; }
+ }
+ }
+ part { name: "elm.text.slide2";
+ type: TEXTBLOCK;
+ scale: 1;
+ clip_to: "slide_text_clip";
+ description { state: "default" 0.0;
+ align: 0.0 0.5;
+ text {
+ style: "main_title_style";
+ min: 1 1;
+ }
+ }
+ description { state: "slide_begin" 0.0;
+ inherit: "default" 0.0;
+ rel1 { relative: 1.0 0.0; to: "slide_text_gap2"; }
+ rel2 { relative: 1.0 1.0; to: "slide_text_gap2"; }
+ }
+ description { state: "slide_end" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: 0.0 0.0;
+ rel2.relative: 0.0 1.0;
+ }
+ }
+ }
+ programs {
+ program { name: "start_slide";
+ source: "elm";
+ signal: "elm,state,slide,start";
+ script {
+ run_program(PROGRAM:"stop_slide");
+ set_int(g_timer_id, timer(1.5, "start_slide", 0));
+ }
+ }
+ program { name: "stop_slide";
+ source: "elm";
+ signal: "elm,state,slide,stop";
+ script {
+ stop_slide();
+ }
+ }
+ }
+ }
+ group { name: "elm/label/base/music/slide_short_minicontroller";
+ script {
+ public g_duration = 0, g_stopslide, g_timer_id, g_anim_id;
+
+ public message(Msg_Type:type, id, ...) {
+ if (type == MSG_FLOAT_SET) {
+ new Float:duration;
+ duration = getfarg(2);
+ if (id == 0)
+ set_float(g_duration, duration);
+ else
+ set_float(g_duration, duration / LABEL_FONT_SIZE_INC * SLIDE_SPEED_WEIGHT);
+ }
+ }
+ public slide_to_end_anim(val, Float:pos) {
+ new stopflag;
+ new id;
+ stopflag = get_int(g_stopslide);
+ if (stopflag == 1) return;
+ set_tween_state(PART:"elm.text", pos, "slide_begin", 0.0, "slide_end", 0.0);
+ if (pos >= 1.0) {
+ id = timer(0.5, "slide_to_begin", 1);
+ set_int(g_timer_id, id);
+ }
+ }
+ public slide_to_end() {
+ new stopflag;
+ new id;
+ new Float:duration;
+ stopflag = get_int(g_stopslide);
+ if (stopflag == 1) return;
+ duration = get_float(g_duration);
+ id = anim(duration, "slide_to_end_anim", 1);
+ set_int(g_anim_id, id);
+ }
+ public slide_to_begin() {
+ new stopflag;
+ new id;
+ stopflag = get_int(g_stopslide);
+ if (stopflag == 1) return;
+ set_state(PART:"elm.text", "slide_begin", 0.0);
+ id = timer(0.5, "slide_to_end", 1);
+ set_int(g_timer_id, id);
+ }
+ public start_slide() {
+ set_int(g_stopslide, 0);
+ set_state(PART:"elm.text", "slide_begin", 0.0);
+ slide_to_end();
+ }
+ public stop_slide() {
+ new id;
+ set_int(g_stopslide, 1);
+ id = get_int(g_anim_id);
+ cancel_anim(id);
+ id = get_int(g_timer_id);
+ cancel_timer(id);
+ set_state(PART:"elm.text", "default", 0.0);
+ }
+ }
+
+ parts {
+ part { name: "label.text.clip";
+ type: RECT;
+ description { state: "default" 0.0;
+ }
+ }
+ part { name: "elm.text";
+ type: TEXTBLOCK;
+ scale: 1;
+ clip_to: "label.text.clip";
+ description { state: "default" 0.0;
+ rel1.relative: 0.0 0.0;
+ rel2.relative: 1.0 1.0;
+ align: 0.0 0.0;
+ text {
+ style: "textblock_style";
+ min: 0 1;
+ align: 0.0 0.0;
+ }
+ }
+ description { state: "slide_end" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: 1.0 0.0;
+ rel2.relative: 1.0 1.0;
+ align: 1.0 0.0;
+ text {
+ style: "textblock_style";
+ min: 1 1;
+ align: 0.0 0.0;
+ }
+ }
+ description { state: "slide_begin" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: 0.0 0.0;
+ rel2.relative: 0.0 1.0;
+ align: 0.0 0.0;
+ text {
+ style: "textblock_style";
+ min: 1 1;
+ align: 0.0 0.0;
+ }
+ }
+ }
+ }
+ programs {
+ program { name: "start_slide";
+ source: "elm";
+ signal: "elm,state,slide,start";
+ script {
+ start_slide();
+ }
+ }
+ program { name: "stop_slide";
+ source: "elm";
+ signal: "elm,state,slide,stop";
+ script {
+ stop_slide();
+ }
+ }
+ }
+ }
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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;
+ }
+ }
+ 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;
+ }
+ 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;
+ }
+ }
+ 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;
+ }
+ }
+ 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) 2000-2015 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) 2000-2015 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) 2000-2015 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) 2000-2015 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.27 0.45; to_x: "control_area"; to_y: "control_area";}
+ rel2 { relative: 0.27 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) 2000-2015 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) 2000-2015 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) 2000-2015 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;
+ 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;
+ }
+ 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_PROCESSINGVIEW1BUTTON_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_PROCESSINGVIEW1BUTTON_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_PROCESSINGVIEW1BUTTON_CONTENT_MIN
+}
+
+
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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
+
+
+ group { name: "elm/naviframe/item/music/basic/default";
+ data.item: "tizen_zoom" 1;
+ images {
+ image: "00_title_bg.png" COMP;
+ image: "00_badge_bg.png" COMP;
+ image: "00_effect_title_text_dim_left.png" COMP;
+ image: "00_effect_title_text_dim_right.png" COMP;
+ }
+ script {
+ public tbar_bg = 0; //Toolbar BG Show call count
+ public tbar_close = 0; //Toolbar lastest Open/Close status
+ public title_badge_visible = 0; //Title badge visible/hidden status
+ public landscape = 0; //Landscape mode status
+ public subtitle = 0; //Subtitle on/off status
+
+ public title_duration = 0;
+ public subtitle_duration = 0;
+ public title_slide_stop;
+ public subtitle_slide_stop;
+ public title_slide_anim_id;
+ public subtitle_slide_anim_id;
+ public title_text_w;
+ public subtitle_text_w;
+ public org_title_text_w;
+ public org_subtitle_text_w;
+ public title_slide_count = 0;
+ public subtitle_slide_count = 0;
+
+ public get_width(val) {
+ new x, y, w, h;
+ new buf[128];
+ new st[31];
+ new Float:vl;
+
+ // Title Text
+ if (val == 0) {
+ get_geometry(PART:"elm.text.title", x, y, w, h);
+ set_int(org_title_text_w, w);
+
+ get_text(PART:"elm.text.title", buf, 127);
+ set_text(PART:"elm.text.full_title", buf);
+ get_state(PART:"elm.text.title", st, 30, vl);
+ set_state(PART:"elm.text.full_title", st, 0.0);
+ get_geometry(PART:"elm.text.full_title", x, y, w, h);
+ set_int(title_text_w, w);
+ }
+ // Subtitle Text
+ else {
+ get_geometry(PART:"elm.text.subtitle", x, y, w, h);
+ set_int(org_subtitle_text_w, w);
+
+ get_text(PART:"elm.text.subtitle", buf, 127);
+ set_text(PART:"elm.text.full_subtitle", buf);
+ get_state(PART:"elm.text.subtitle", st, 30, vl);
+ set_state(PART:"elm.text.full_subtitle", st, 0.0);
+ get_geometry(PART:"elm.text.full_subtitle", x, y, w, h);
+ set_int(subtitle_text_w, w);
+ }
+ }
+
+ public slide_end_pending(val, Float:pos) {
+ if (pos >= 1.0) {
+ // Title Text
+ if (val == 0) {
+ if (get_int(title_slide_count) < MP_NAVIFRAME_TITLE_SLIDE_MAX_COUNT)
+ start_slide(0);
+ else
+ stop_slide(0);
+ }
+ // Subtitle Text
+ else{
+ if (get_int(subtitle_slide_count) < MP_NAVIFRAME_TITLE_SLIDE_MAX_COUNT)
+ start_slide(1);
+ else
+ stop_slide(1);
+ }
+ }
+ }
+
+ public slide_to_end_anim(val, Float:pos) {
+ // Title Text
+ if (val == 0) {
+ if (get_int(title_slide_stop)) return;
+
+ if (!get_int(subtitle)) {
+ set_tween_state(PART:"elm.text.slide_begin_title", pos, "title_slide_begin", 0.0, "title_slide_end", 0.0);
+ set_tween_state(PART:"elm.text.slide_end_title", pos, "title_slide_begin", 0.0, "title_slide_end", 0.0);
+ }
+ else {
+ if (!get_int(landscape)) {
+ set_tween_state(PART:"elm.text.slide_begin_title", pos, "maintitle_slide_begin", 0.0, "maintitle_slide_end", 0.0);
+ set_tween_state(PART:"elm.text.slide_end_title", pos, "maintitle_slide_begin", 0.0, "maintitle_slide_end", 0.0);
+ }
+ else {
+ set_tween_state(PART:"elm.text.slide_begin_title", pos, "maintitle_slide_begin_landscape", 0.0, "maintitle_slide_end_landscape", 0.0);
+ set_tween_state(PART:"elm.text.slide_end_title", pos, "maintitle_slide_begin_landscape", 0.0, "maintitle_slide_end_landscape", 0.0);
+ }
+ }
+
+ if (pos >= 1.0)
+ anim(1, "slide_end_pending", 0);
+ }
+ // Subtitle Text
+ else {
+ if (get_int(subtitle_slide_stop)) return;
+
+ if (!get_int(landscape)) {
+ set_tween_state(PART:"elm.text.slide_begin_subtitle", pos, "slide_begin", 0.0, "slide_end", 0.0);
+ set_tween_state(PART:"elm.text.slide_end_subtitle", pos, "slide_begin", 0.0, "slide_end", 0.0);
+ }
+ else {
+ set_tween_state(PART:"elm.text.slide_begin_subtitle", pos, "slide_begin_landscape", 0.0, "slide_end_landscape", 0.0);
+ set_tween_state(PART:"elm.text.slide_end_subtitle", pos, "slide_begin_landscape", 0.0, "slide_end_landscape", 0.0);
+ }
+
+ if (pos >= 1.0)
+ anim(1, "slide_end_pending", 1);
+ }
+ }
+
+ public slide_to_end(val) {
+ new slide_anim_id;
+ new Float:duration;
+
+ // Title Text
+ if (val == 0) {
+ if (get_int(title_slide_stop)) return;
+
+ duration = get_float(title_duration);
+ slide_anim_id = anim(duration, "slide_to_end_anim", 0);
+ set_int(title_slide_anim_id, slide_anim_id);
+ }
+ // Subtitle Text
+ else {
+ if (get_int(subtitle_slide_stop)) return;
+
+ duration = get_float(subtitle_duration);
+ slide_anim_id = anim(duration, "slide_to_end_anim", 1);
+ set_int(subtitle_slide_anim_id, slide_anim_id);
+ }
+ }
+
+ public start_slide(val) {
+ new Float:len;
+ new buf[128];
+ new st[31];
+ new Float:vl;
+ get_state(PART:"title_bg", st, 30, vl);
+ if (!strcmp(st, "hide"))
+ return;
+
+ // Title Text
+ if (val == 0) {
+ set_int(title_slide_count, get_int(title_slide_count) + 1);
+
+ if (get_int(title_slide_count) == 1) {
+ get_width(0);
+
+ if (get_int(title_text_w) <= get_int(org_title_text_w)) {
+ set_int(title_slide_count, 0);
+ return;
+ }
+
+ set_state(PART:"title_text_slide_effect_left", "visible", 0.0);
+ set_state(PART:"title_text_slide_effect_right", "visible", 0.0);
+
+ len = get_int(title_text_w) + MP_NAVIFRAME_TITLE_SLIDE_TEXT_GAP;
+ set_float(title_duration, len / MP_BASIC_NAVIFRAME_TITLE_FONT_SIZE_INC * MP_NAVIFRAME_TITLE_SLIDE_SPEED_WEIGHT);
+
+ set_int(title_slide_stop, 0);
+
+ get_text(PART:"elm.text.title", buf, 127);
+ set_text(PART:"elm.text.slide_begin_title", buf);
+ set_text(PART:"elm.text.slide_end_title", buf);
+ }
+
+ if (!get_int(subtitle)) {
+ set_state(PART:"elm.text.slide_begin_title", "title_slide_begin", 0.0);
+ set_state(PART:"elm.text.slide_end_title", "title_slide_begin", 0.0);
+ }
+ else {
+ set_state(PART:"elm.text.slide_begin_title", "maintitle_slide_begin", 0.0);
+ set_state(PART:"elm.text.slide_end_title", "maintitle_slide_begin", 0.0);
+ }
+
+ if (get_int(title_slide_count) == 1) {
+ set_state(PART:"title_text_clip", "slide", 0.0);
+ set_state(PART:"slide_title_text_clip", "slide", 0.0);
+ }
+
+ slide_to_end(0);
+ }
+ // Subtitle Text
+ else {
+ set_int(subtitle_slide_count, get_int(subtitle_slide_count) + 1);
+
+ if (get_int(subtitle_slide_count) == 1) {
+ get_width(1);
+
+ if (get_int(subtitle_text_w) <= get_int(org_subtitle_text_w)) {
+ set_int(subtitle_slide_count, 0);
+ return;
+ }
+
+ set_state(PART:"subtitle_text_slide_effect_left", "visible", 0.0);
+ set_state(PART:"subtitle_text_slide_effect_right", "visible", 0.0);
+
+ len = get_int(subtitle_text_w) + MP_NAVIFRAME_SUBTITLE_SLIDE_TEXT_GAP;
+ if (!get_int(landscape))
+ set_float(subtitle_duration, len / MP_BASIC_NAVIFRAME_SUBTITLE_FONT_SIZE_INC * MP_NAVIFRAME_TITLE_SLIDE_SPEED_WEIGHT);
+ else
+ set_float(subtitle_duration, len / MP_BASIC_NAVIFRAME_LANDSCAPE_SUBTITLE_FONT_SIZE_INC * MP_NAVIFRAME_TITLE_SLIDE_SPEED_WEIGHT);
+
+ set_int(subtitle_slide_stop, 0);
+
+ get_text(PART:"elm.text.subtitle", buf, 127);
+ set_text(PART:"elm.text.slide_begin_subtitle", buf);
+ set_text(PART:"elm.text.slide_end_subtitle", buf);
+ }
+
+ if (!get_int(landscape)) {
+ set_state(PART:"elm.text.slide_begin_subtitle", "slide_begin", 0.0);
+ set_state(PART:"elm.text.slide_end_subtitle", "slide_begin", 0.0);
+ }
+ else {
+ set_state(PART:"elm.text.slide_begin_subtitle", "slide_begin_landscape", 0.0);
+ set_state(PART:"elm.text.slide_end_subtitle", "slide_begin_landscape", 0.0);
+ }
+
+ if (get_int(subtitle_slide_count) == 1) {
+ set_state(PART:"subtitle_text_clip", "slide", 0.0);
+ set_state(PART:"slide_subtitle_text_clip", "slide", 0.0);
+ }
+
+ slide_to_end(1);
+ }
+ }
+
+ public stop_slide(val) {
+ new slide_anim_id;
+
+ // Title Text
+ if (val == 0) {
+ set_int(title_slide_stop, 1);
+ set_int(title_slide_count, 0);
+
+ slide_anim_id = get_int(title_slide_anim_id);
+ cancel_anim(slide_anim_id);
+ set_int(title_slide_anim_id, 0);
+
+ set_text(PART:"elm.text.slide_begin_title", "");
+ set_text(PART:"elm.text.slide_end_title", "");
+
+ set_state(PART:"elm.text.slide_begin_title", "default", 0.0);
+ set_state(PART:"elm.text.slide_end_title", "default", 0.0);
+
+ set_state(PART:"title_text_clip", "default", 0.0);
+ set_state(PART:"slide_title_text_clip", "default", 0.0);
+
+ set_state(PART:"title_text_slide_effect_left", "default", 0.0);
+ set_state(PART:"title_text_slide_effect_right", "default", 0.0);
+ }
+ // Subtitle Text
+ else {
+ set_int(subtitle_slide_stop, 1);
+ set_int(subtitle_slide_count, 0);
+
+ slide_anim_id = get_int(subtitle_slide_anim_id);
+ cancel_anim(slide_anim_id);
+ set_int(subtitle_slide_anim_id, 0);
+
+ set_text(PART:"elm.text.slide_begin_subtitle", "");
+ set_text(PART:"elm.text.slide_end_subtitle", "");
+
+ set_state(PART:"elm.text.slide_begin_subtitle", "default", 0.0);
+ set_state(PART:"elm.text.slide_end_subtitle", "default", 0.0);
+
+ set_state(PART:"subtitle_text_clip", "default", 0.0);
+ set_state(PART:"slide_subtitle_text_clip", "default", 0.0);
+
+ set_state(PART:"subtitle_text_slide_effect_left", "default", 0.0);
+ set_state(PART:"subtitle_text_slide_effect_right", "default", 0.0);
+ }
+ }
+ }
+
+ 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;
+ visible: 0;
+ }
+ }
+ part { name: "title_bg";
+ type: IMAGE;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 MP_BASIC_NAVIFRAME_TITLE_H_INC;
+ max: -1 MP_BASIC_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"; }
+ image {
+ normal: "00_title_bg.png";
+ border: MP_BASIC_NAVIFRAME_TITLE_BG_IMAGE_BORDER_INC;
+ border_scale: 1;
+ }
+ }
+ description { state: "landscape" 0.0;
+ inherit: "default" 0.0;
+ min: 0 MP_BASIC_NAVIFRAME_LANDSCAPE_TITLE_H_INC;
+ max: -1 MP_BASIC_NAVIFRAME_LANDSCAPE_TITLE_H_INC;
+ }
+ description { state: "hide" 0.0;
+ inherit: "default" 0.0;
+ min: 0 0;
+ max: -1 0;
+ }
+ }
+ part { name: "title_clip";
+ type: RECT;
+ mouse_events: 0;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ rel1 { to_y: "title_bg"; }
+ rel2 { to_y: "title_bg"; }
+ }
+ }
+ part { name: "title_right_padding";
+ type: RECT;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: MP_BASIC_NAVIFRAME_PADDING_INC;
+ fixed: 1 1;
+ align: 1.0 0.0;
+ rel1 { relative: 1.0 0.0; to: "divider2"; }
+ rel2 { relative: 1.0 1.0; to: "divider2"; }
+ visible: 0;
+ }
+ description { state: "title_left_btn_set" 0.0;
+ inherit: "default" 0.0;
+ rel1 { relative: 1.0 0.0; to: "divider1"; }
+ rel2 { relative: 1.0 1.0; to: "divider1"; }
+ }
+ }
+ part { name: "title_left_padding";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ min: MP_BASIC_NAVIFRAME_PADDING_INC;
+ fixed: 1 1;
+ 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_BASIC_NAVIFRAME_ICON_PADDING_INC;
+ }
+ }
+ 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 0.0;
+ rel2.to_x: "base";
+ rel2.to_y: "toolbar";
+ }
+ }
+ part { name: "content_clip";
+ 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: "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: "title_right_padding"; }
+ rel2 { relative: 0.0 1.0; to: "title_right_padding"; }
+ visible: 0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ min: MP_BASIC_NAVIFRAME_BADGE_PADDING_INC;
+ }
+ }
+ part { name: "title_text_bg";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ visible: 0;
+ min: 0 MP_BASIC_NAVIFRAME_TITLE_TEXT_BG_H_INC;
+ max: -1 MP_BASIC_NAVIFRAME_TITLE_TEXT_BG_H_INC;
+ fixed: 0 1;
+ rel1 { relative: 1.0 0.0; to_x: "title_left_padding"; to_y: "title_bg"; }
+ rel2 { relative: 0.0 1.0; to_x: "title_right_padding"; to_y: "title_bg"; }
+ }
+ description { state: "subtitle_is_set" 0.0;
+ inherit: "default" 0.0;
+ min: 0 MP_BASIC_NAVIFRAME_LANDSCAPE_TITLE_TEXT_BG_H_INC;
+ max: -1 MP_BASIC_NAVIFRAME_LANDSCAPE_TITLE_TEXT_BG_H_INC;
+ }
+ }
+ part { name: "maintitle_text_bg";
+ type: RECT;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ visible: 0;
+ rel1 { relative: 0.0 0.0; to: "title_text_bg"; }
+ rel2 { relative: 0.0 1.0; to_x: "badge_padding"; to_y: "title_text_bg"; }
+ }
+ description { state: "subtitle_is_set" 0.0;
+ inherit: "default" 0.0;
+ rel1 { relative: 0.0 0.0; to: "title_text_bg"; }
+ rel2 { relative: 0.0 0.0; to_x: "badge_padding"; to_y: "subtitle_top_padding"; }
+ }
+ }
+ part { name: "title_text_clip";
+ type: RECT;
+ mouse_events: 0;
+ clip_to: "title_clip";
+ description { state: "default" 0.0;
+ rel1.to: "maintitle_text_bg";
+ rel2.to: "maintitle_text_bg";
+ }
+ description { state: "slide" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "elm.text.title";
+ type: TEXT;
+ effect: FAR_SHADOW BOTTOM;
+ scale: 1;
+ clip_to: "title_text_clip";
+ description { state: "default" 0.0;
+ text { font: "Tizen:style=Bold";
+ size: MP_BASIC_NAVIFRAME_TITLE_FONT_SIZE_INC;
+ size_range: MP_BASIC_NAVIFRAME_TITLE_FONT_MIN_SIZE_INC MP_BASIC_NAVIFRAME_TITLE_FONT_SIZE_INC;
+ fit: 1 0;
+ min: 0 0;
+ max: 1 0;
+ align: 0.0 0.5;
+ }
+ color: MP_BASIC_NAVIFRAME_TITLE_TEXT_COLOR_INC;
+ color3: MP_BASIC_NAVIFRAME_TITLE_TEXT_SHADOW_COLOR_INC;
+ align: 0.0 0.5;
+ rel1.to: "maintitle_text_bg";
+ rel2.to: "maintitle_text_bg";
+ }
+ description { state: "subtitle_is_set" 0.0;
+ text { font: "Tizen:style=Bold";
+ size: MP_BASIC_NAVIFRAME_TITLE_SMALL_FONT_SIZE_INC;
+ min: 0 0;
+ max: 1 0;
+ align: 0.0 0.5;
+ }
+ color: MP_BASIC_NAVIFRAME_TITLE_TEXT_COLOR_INC;
+ color3: MP_BASIC_NAVIFRAME_TITLE_TEXT_SHADOW_COLOR_INC;
+ align: 0.0 0.5;
+ rel1.to: "maintitle_text_bg";
+ rel2.to: "maintitle_text_bg";
+ }
+ description { state: "subtitle_is_set_landscape" 0.0;
+ inherit: "subtitle_is_set" 0.0;
+ text.size: MP_BASIC_NAVIFRAME_LANDSCAPE_TITLE_SMALL_FONT_SIZE_INC;
+ }
+ }
+ part { name: "slide_title_text_clip";
+ type: RECT;
+ mouse_events: 0;
+ clip_to: "title_clip";
+ description { state: "default" 0.0;
+ visible: 0;
+ rel1.to: "elm.text.title";
+ rel2.to: "elm.text.title";
+ }
+ description { state: "slide" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "slide_text_gap1";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ visible: 0;
+ fixed: 1 0;
+ min: MP_NAVIFRAME_TITLE_SLIDE_TEXT_GAP 0;
+ max: MP_NAVIFRAME_TITLE_SLIDE_TEXT_GAP -1;
+ align: 1.0 0.5;
+ rel1 { relative: 0.0 0.0; to: "maintitle_text_bg"; }
+ rel2 { relative: 0.0 1.0; to: "maintitle_text_bg"; }
+ }
+ }
+ part { name: "elm.text.slide_begin_title";
+ type: TEXT;
+ effect: FAR_SHADOW BOTTOM;
+ scale: 1;
+ clip_to: "slide_title_text_clip";
+ description { state: "default" 0.0;
+ text { font: "Tizen:style=Bold";
+ size: MP_BASIC_NAVIFRAME_TITLE_FONT_SIZE_INC;
+ size_range: MP_BASIC_NAVIFRAME_TITLE_FONT_MIN_SIZE_INC MP_BASIC_NAVIFRAME_TITLE_FONT_SIZE_INC;
+ fit: 1 0;
+ min: 1 0;
+ max: 1 0;
+ align: 0.0 0.5;
+ }
+ color: MP_BASIC_NAVIFRAME_TITLE_TEXT_COLOR_INC;
+ color3: MP_BASIC_NAVIFRAME_TITLE_TEXT_SHADOW_COLOR_INC;
+ fixed: 1 0;
+ align: 0.0 0.5;
+ rel1.to: "maintitle_text_bg";
+ rel2.to: "maintitle_text_bg";
+ }
+ description { state: "title_slide_begin" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: 0.0 0.0;
+ rel2.relative: 0.0 1.0;
+ }
+ description { state: "title_slide_end" 0.0;
+ inherit: "default" 0.0;
+ text.align: 1.0 0.5;
+ align: 1.0 0.5;
+ rel1 { relative: 0.0 0.0; to: "slide_text_gap1"; }
+ rel2 { relative: 0.0 1.0; to: "slide_text_gap1"; }
+ }
+ description { state: "maintitle_slide_begin" 0.0;
+ text { font: "Tizen:style=Bold";
+ size: MP_BASIC_NAVIFRAME_TITLE_SMALL_FONT_SIZE_INC;
+ min: 1 0;
+ max: 1 0;
+ align: 0.0 0.5;
+ }
+ color: MP_BASIC_NAVIFRAME_TITLE_TEXT_COLOR_INC;
+ color3: MP_BASIC_NAVIFRAME_TITLE_TEXT_SHADOW_COLOR_INC;
+ fixed: 1 0;
+ align: 0.0 0.5;
+ rel1 { relative: 0.0 0.0; to: "maintitle_text_bg"; }
+ rel2 { relative: 0.0 1.0; to: "maintitle_text_bg"; }
+ }
+ description { state: "maintitle_slide_end" 0.0;
+ inherit: "maintitle_slide_begin" 0.0;
+ text.align: 1.0 0.5;
+ align: 1.0 0.5;
+ rel1 { relative: 0.0 0.0; to: "slide_text_gap1"; }
+ rel2 { relative: 0.0 1.0; to: "slide_text_gap1"; }
+ }
+ description { state: "maintitle_slide_begin_landscape" 0.0;
+ inherit: "maintitle_slide_begin" 0.0;
+ text.size: MP_BASIC_NAVIFRAME_LANDSCAPE_TITLE_SMALL_FONT_SIZE_INC;
+ }
+ description { state: "maintitle_slide_end_landscape" 0.0;
+ inherit: "maintitle_slide_end" 0.0;
+ text.size: MP_BASIC_NAVIFRAME_LANDSCAPE_TITLE_SMALL_FONT_SIZE_INC;
+ }
+ }
+ part { name: "title_text_slide_effect_left_bg";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ min: MP_BASIC_NAVIFRAME_PADDING_INC;
+ align: 1.0 0.5;
+ fixed: 1 1;
+ visible: 0;
+ rel1 { relative: 0.0 0.0; to: "elm.text.title"; }
+ rel2 { relative: 0.0 1.0; to: "elm.text.title"; }
+ }
+ }
+ part { name: "title_text_slide_effect_left";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ min: MP_BASIC_NAVIFRAME_TITLE_TEXT_SLIDE_EFFECT_IMAGE_SIZE_INC;
+ align: 0.0 0.5;
+ fixed: 1 1;
+ visible: 0;
+ rel1 { relative: 0.0 0.0; to: "title_text_slide_effect_left_bg"; }
+ rel2 { relative: 0.0 1.0; to: "title_text_slide_effect_left_bg"; }
+ image {
+ normal: "00_effect_title_text_dim_left.png";
+ border: MP_BASIC_NAVIFRAME_TITLE_TEXT_SLIDE_EFFECT_IMAGE_BORDER_INC;
+ border_scale: 1;
+ }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "elm.text.full_title";
+ type: TEXT;
+ scale: 1;
+ clip_to: "slide_title_text_clip";
+ description { state: "default" 0.0;
+ visible: 0;
+ text { font: "Tizen:style=Bold";
+ size: MP_BASIC_NAVIFRAME_TITLE_FONT_SIZE_INC;
+ size_range: MP_BASIC_NAVIFRAME_TITLE_FONT_MIN_SIZE_INC MP_BASIC_NAVIFRAME_TITLE_FONT_SIZE_INC;
+ fit: 1 0;
+ min: 1 0;
+ max: 1 0;
+ align: 0.0 0.5;
+ }
+ fixed: 1 0;
+ align: 0.0 0.5;
+ rel1.to: "maintitle_text_bg";
+ rel2.to: "maintitle_text_bg";
+ }
+ description { state: "subtitle_is_set" 0.0;
+ visible: 0;
+ text { font: "Tizen:style=Bold";
+ size: MP_BASIC_NAVIFRAME_TITLE_SMALL_FONT_SIZE_INC;
+ min: 1 0;
+ max: 1 0;
+ align: 0.0 0.5;
+ }
+ fixed: 1 0;
+ align: 0.0 0.5;
+ rel1.to: "maintitle_text_bg";
+ rel2.to: "maintitle_text_bg";
+ }
+ description { state: "subtitle_is_set_landscape" 0.0;
+ inherit: "subtitle_is_set" 0.0;
+ text.size: MP_BASIC_NAVIFRAME_LANDSCAPE_TITLE_SMALL_FONT_SIZE_INC;
+ }
+ }
+ part { name: "slide_text_gap2";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ visible: 0;
+ fixed: 1 0;
+ min: MP_NAVIFRAME_TITLE_SLIDE_TEXT_GAP 0;
+ max: MP_NAVIFRAME_TITLE_SLIDE_TEXT_GAP -1;
+ align: 0.0 0.5;
+ rel1 { relative: 1.0 0.0; to: "elm.text.full_title"; }
+ rel2 { relative: 1.0 1.0; to: "elm.text.full_title"; }
+ }
+ }
+ part { name: "elm.text.slide_end_title";
+ type: TEXT;
+ effect: FAR_SHADOW BOTTOM;
+ scale: 1;
+ clip_to: "slide_title_text_clip";
+ description { state: "default" 0.0;
+ text { font: "Tizen:style=Bold";
+ size: MP_BASIC_NAVIFRAME_TITLE_FONT_SIZE_INC;
+ size_range: MP_BASIC_NAVIFRAME_TITLE_FONT_MIN_SIZE_INC MP_BASIC_NAVIFRAME_TITLE_FONT_SIZE_INC;
+ fit: 1 0;
+ min: 1 0;
+ max: 1 0;
+ align: 0.0 0.5;
+ }
+ color: MP_BASIC_NAVIFRAME_TITLE_TEXT_COLOR_INC;
+ color3: MP_BASIC_NAVIFRAME_TITLE_TEXT_SHADOW_COLOR_INC;
+ fixed: 1 0;
+ align: 0.0 0.5;
+ rel1.to: "maintitle_text_bg";
+ rel2.to: "maintitle_text_bg";
+ }
+ description { state: "title_slide_begin" 0.0;
+ inherit: "default" 0.0;
+ rel1 { relative: 1.0 0.0; to: "slide_text_gap2"; }
+ rel2 { relative: 1.0 1.0; to: "slide_text_gap2"; }
+ }
+ description { state: "title_slide_end" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: 0.0 0.0;
+ rel2.relative: 0.0 1.0;
+ }
+ description { state: "maintitle_slide_begin" 0.0;
+ text { font: "Tizen:style=Bold";
+ size: MP_BASIC_NAVIFRAME_TITLE_SMALL_FONT_SIZE_INC;
+ min: 1 0;
+ max: 1 0;
+ align: 0.0 0.5;
+ }
+ color: MP_BASIC_NAVIFRAME_TITLE_TEXT_COLOR_INC;
+ color3: MP_BASIC_NAVIFRAME_TITLE_TEXT_SHADOW_COLOR_INC;
+ fixed: 1 0;
+ align: 0.0 0.5;
+ rel1 { relative: 1.0 0.0; to: "slide_text_gap2"; }
+ rel2 { relative: 1.0 1.0; to: "slide_text_gap2"; }
+ }
+ description { state: "maintitle_slide_end" 0.0;
+ inherit: "maintitle_slide_begin" 0.0;
+ rel1 { relative: 0.0 0.0; to: "maintitle_text_bg"; }
+ rel2 { relative: 0.0 1.0; to: "maintitle_text_bg"; }
+ }
+ description { state: "maintitle_slide_begin_landscape" 0.0;
+ inherit: "maintitle_slide_begin" 0.0;
+ text.size: MP_BASIC_NAVIFRAME_LANDSCAPE_TITLE_SMALL_FONT_SIZE_INC;
+ }
+ description { state: "maintitle_slide_end_landscape" 0.0;
+ inherit: "maintitle_slide_end" 0.0;
+ text.size: MP_BASIC_NAVIFRAME_LANDSCAPE_TITLE_SMALL_FONT_SIZE_INC;
+ }
+ }
+ part { name: "title_text_slide_effect_right_bg";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ min: MP_BASIC_NAVIFRAME_PADDING_INC;
+ align: 0.0 0.5;
+ fixed: 1 1;
+ visible: 0;
+ rel1 { relative: 1.0 0.0; to: "elm.text.title"; }
+ rel2 { relative: 1.0 1.0; to: "elm.text.title"; }
+ }
+ }
+ part { name: "title_text_slide_effect_right";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ min: MP_BASIC_NAVIFRAME_TITLE_TEXT_SLIDE_EFFECT_IMAGE_SIZE_INC;
+ align: 1.0 0.5;
+ fixed: 1 1;
+ visible: 0;
+ rel1 { relative: 1.0 0.0; to: "title_text_slide_effect_right_bg"; }
+ rel2 { relative: 1.0 1.0; to: "title_text_slide_effect_right_bg"; }
+ image {
+ normal: "00_effect_title_text_dim_right.png";
+ border: MP_BASIC_NAVIFRAME_TITLE_TEXT_SLIDE_EFFECT_IMAGE_BORDER_INC;
+ border_scale: 1;
+ }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "subtitle_top_padding";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ visible: 0;
+ min: 0 0;
+ max: -1 0;
+ fixed: 0 1;
+ align: 0.5 1.0;
+ rel1 { relative: 0.0 0.0; to: "subtitle_text_bg"; }
+ rel2 { relative: 1.0 0.0; to: "subtitle_text_bg"; }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ min: 0 MP_BASIC_NAVIFRAME_SUBTITLE_TOP_PADDING_H_INC;
+ max: -1 MP_BASIC_NAVIFRAME_SUBTITLE_TOP_PADDING_H_INC;
+ }
+ description { state: "visible_landscape" 0.0;
+ inherit: "default" 0.0;
+ min: 0 MP_BASIC_NAVIFRAME_LANDSCAPE_SUBTITLE_TOP_PADDING_H_INC;
+ max: -1 MP_BASIC_NAVIFRAME_LANDSCAPE_SUBTITLE_TOP_PADDING_H_INC;
+ }
+ }
+ part { name: "subtitle_text_bg";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ visible: 0;
+ min: 0 0;
+ max: -1 0;
+ fixed: 0 1;
+ align: 0.5 1.0;
+ rel1 { relative: 0.0 1.0; to: "title_text_bg"; }
+ rel2 { relative: 1.0 1.0; to: "title_text_bg"; }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ min: 0 MP_BASIC_NAVIFRAME_SUBTITLE_H_INC;
+ max: -1 MP_BASIC_NAVIFRAME_SUBTITLE_H_INC;
+ }
+ description { state: "visible_landscape" 0.0;
+ inherit: "default" 0.0;
+ min: 0 MP_BASIC_NAVIFRAME_LANDSCAPE_SUBTITLE_H_INC;
+ max: -1 MP_BASIC_NAVIFRAME_LANDSCAPE_SUBTITLE_H_INC;
+ }
+ }
+ part { name: "subtitle_text_clip";
+ type: RECT;
+ mouse_events: 0;
+ clip_to: "title_clip";
+ description { state: "default" 0.0;
+ rel1.to: "subtitle_text_bg";
+ rel2.to: "subtitle_text_bg";
+ }
+ description { state: "slide" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "elm.text.subtitle";
+ type: TEXT;
+ effect: FAR_SHADOW BOTTOM;
+ scale: 1;
+ clip_to: "subtitle_text_clip";
+ description { state: "default" 0.0;
+ text { font: "Tizen:style=Bold";
+ size: MP_BASIC_NAVIFRAME_SUBTITLE_FONT_SIZE_INC;
+ min: 0 0;
+ max: 1 0;
+ align: 0.0 0.5;
+ }
+ color: MP_BASIC_NAVIFRAME_SUBTITLE_TEXT_COLOR_INC;
+ color3: MP_BASIC_NAVIFRAME_SUBTITLE_TEXT_SHADOW_COLOR_INC;
+ align: 0.0 0.5;
+ rel1.to: "subtitle_text_bg";
+ rel2.to: "subtitle_text_bg";
+ }
+ description { state: "landscape" 0.0;
+ inherit: "default" 0.0;
+ text { font: "Tizen:style=Bold";
+ size: MP_BASIC_NAVIFRAME_LANDSCAPE_SUBTITLE_FONT_SIZE_INC;
+ min: 0 0;
+ max: 1 0;
+ align: 0.0 0.5;
+ }
+ }
+ }
+ part { name: "slide_subtitle_text_clip";
+ type: RECT;
+ mouse_events: 0;
+ clip_to: "title_clip";
+ description { state: "default" 0.0;
+ visible: 0;
+ rel1.to: "elm.text.subtitle";
+ rel2.to: "elm.text.subtitle";
+ }
+ description { state: "slide" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "slide_subtitle_divider1";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ visible: 0;
+ fixed: 1 0;
+ min: MP_NAVIFRAME_SUBTITLE_SLIDE_TEXT_GAP 0;
+ max: MP_NAVIFRAME_SUBTITLE_SLIDE_TEXT_GAP -1;
+ align: 1.0 0.5;
+ rel1 { relative: 0.0 0.0; to: "subtitle_text_bg"; }
+ rel2 { relative: 0.0 1.0; to: "subtitle_text_bg"; }
+ }
+ }
+ part { name: "elm.text.slide_begin_subtitle";
+ type: TEXT;
+ effect: FAR_SHADOW BOTTOM;
+ scale: 1;
+ clip_to: "slide_subtitle_text_clip";
+ description { state: "default" 0.0;
+ text { font: "Tizen:style=Bold";
+ size: MP_BASIC_NAVIFRAME_SUBTITLE_FONT_SIZE_INC;
+ min: 1 0;
+ max: 1 0;
+ align: 0.0 0.5;
+ }
+ color: MP_BASIC_NAVIFRAME_SUBTITLE_TEXT_COLOR_INC;
+ color3: MP_BASIC_NAVIFRAME_SUBTITLE_TEXT_SHADOW_COLOR_INC;
+ fixed: 1 0;
+ align: 0.0 0.5;
+ rel1.to: "subtitle_text_bg";
+ rel2.to: "subtitle_text_bg";
+ }
+ description { state: "slide_begin" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: 0.0 0.0;
+ rel2.relative: 0.0 1.0;
+ }
+ description { state: "slide_end" 0.0;
+ inherit: "default" 0.0;
+ text.align: 1.0 0.5;
+ align: 1.0 0.5;
+ rel1 { relative: 0.0 0.0; to: "slide_subtitle_divider1"; }
+ rel2 { relative: 0.0 1.0; to: "slide_subtitle_divider1"; }
+ }
+ description { state: "slide_begin_landscape" 0.0;
+ inherit: "default" 0.0;
+ text.size: MP_BASIC_NAVIFRAME_LANDSCAPE_SUBTITLE_FONT_SIZE_INC;
+ rel1 { relative: 0.0 0.0; to: "subtitle_text_bg"; }
+ rel2 { relative: 0.0 1.0; to: "subtitle_text_bg"; }
+ }
+ description { state: "slide_end_landscape" 0.0;
+ inherit: "slide_begin_landscape" 0.0;
+ text.align: 1.0 0.5;
+ align: 1.0 0.5;
+ rel1 { relative: 0.0 0.0; to: "slide_subtitle_divider1"; }
+ rel2 { relative: 0.0 1.0; to: "slide_subtitle_divider1"; }
+ }
+ }
+ part { name: "subtitle_text_slide_effect_left";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ min: MP_BASIC_NAVIFRAME_TITLE_TEXT_SLIDE_EFFECT_IMAGE_SIZE_INC;
+ align: 0.0 0.5;
+ fixed: 1 1;
+ visible: 0;
+ rel1 { relative: 0.0 0.0; to_x: "title_text_slide_effect_left_bg"; to_y: "subtitle_text_bg"; }
+ rel2 { relative: 0.0 1.0; to_x: "title_text_slide_effect_left_bg"; to_y: "subtitle_text_bg"; }
+ image {
+ normal: "00_effect_title_text_dim_left.png";
+ border: MP_BASIC_NAVIFRAME_TITLE_TEXT_SLIDE_EFFECT_IMAGE_BORDER_INC;
+ border_scale: 1;
+ }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "elm.text.full_subtitle";
+ type: TEXT;
+ scale: 1;
+ clip_to: "slide_subtitle_text_clip";
+ description { state: "default" 0.0;
+ visible: 0;
+ text { font: "Tizen:style=Bold";
+ size: MP_BASIC_NAVIFRAME_SUBTITLE_FONT_SIZE_INC;
+ min: 1 0;
+ max: 1 0;
+ align: 0.0 0.5;
+ }
+ fixed: 1 0;
+ align: 0.0 0.5;
+ rel1.to: "subtitle_text_bg";
+ rel2.to: "subtitle_text_bg";
+ }
+ description { state: "landscape" 0.0;
+ inherit: "default" 0.0;
+ text.size: MP_BASIC_NAVIFRAME_LANDSCAPE_SUBTITLE_FONT_SIZE_INC;
+ }
+ }
+ part { name: "slide_subtitle_divider2";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ visible: 0;
+ fixed: 1 0;
+ min: MP_NAVIFRAME_SUBTITLE_SLIDE_TEXT_GAP 0;
+ max: MP_NAVIFRAME_SUBTITLE_SLIDE_TEXT_GAP -1;
+ align: 0.0 0.5;
+ rel1 { relative: 1.0 0.0; to: "elm.text.full_subtitle"; }
+ rel2 { relative: 1.0 1.0; to: "elm.text.full_subtitle"; }
+ }
+ }
+ part { name: "elm.text.slide_end_subtitle";
+ type: TEXT;
+ effect: FAR_SHADOW BOTTOM;
+ scale: 1;
+ clip_to: "slide_subtitle_text_clip";
+ description { state: "default" 0.0;
+ text { font: "Tizen:style=Bold";
+ size: MP_BASIC_NAVIFRAME_SUBTITLE_FONT_SIZE_INC;
+ min: 1 0;
+ max: 1 0;
+ align: 0.0 0.5;
+ }
+ color: MP_BASIC_NAVIFRAME_SUBTITLE_TEXT_COLOR_INC;
+ color3: MP_BASIC_NAVIFRAME_SUBTITLE_TEXT_SHADOW_COLOR_INC;
+ fixed: 1 0;
+ align: 0.0 0.5;
+ rel1.to: "subtitle_text_bg";
+ rel2.to: "subtitle_text_bg";
+ }
+ description { state: "slide_begin" 0.0;
+ inherit: "default" 0.0;
+ rel1 { relative: 1.0 0.0; to: "slide_subtitle_divider2"; }
+ rel2 { relative: 1.0 1.0; to: "slide_subtitle_divider2"; }
+ }
+ description { state: "slide_end" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: 0.0 0.0;
+ rel2.relative: 0.0 1.0;
+ }
+ description { state: "slide_begin_landscape" 0.0;
+ inherit: "default" 0.0;
+ text.size: MP_BASIC_NAVIFRAME_LANDSCAPE_SUBTITLE_FONT_SIZE_INC;
+ rel1 { relative: 1.0 0.0; to: "slide_subtitle_divider2"; }
+ rel2 { relative: 1.0 1.0; to: "slide_subtitle_divider2"; }
+ }
+ description { state: "slide_end_landscape" 0.0;
+ inherit: "slide_begin_landscape" 0.0;
+ rel1.relative: 0.0 0.0;
+ rel2.relative: 0.0 1.0;
+ }
+ }
+ part { name: "subtitle_text_slide_effect_right_bg";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ min: MP_BASIC_NAVIFRAME_PADDING_INC;
+ align: 0.0 0.5;
+ fixed: 1 1;
+ visible: 0;
+ rel1 { relative: 1.0 0.0; to: "elm.text.subtitle"; }
+ rel2 { relative: 1.0 1.0; to: "elm.text.subtitle"; }
+ }
+ }
+ part { name: "subtitle_text_slide_effect_right";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ min: MP_BASIC_NAVIFRAME_TITLE_TEXT_SLIDE_EFFECT_IMAGE_SIZE_INC;
+ align: 1.0 0.5;
+ fixed: 1 1;
+ visible: 0;
+ rel1 { relative: 1.0 0.0; to: "subtitle_text_slide_effect_right_bg"; }
+ rel2 { relative: 1.0 1.0; to: "subtitle_text_slide_effect_right_bg"; }
+ image {
+ normal: "00_effect_title_text_dim_right.png";
+ border: MP_BASIC_NAVIFRAME_TITLE_TEXT_SLIDE_EFFECT_IMAGE_BORDER_INC;
+ border_scale: 1;
+ }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ 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: "title_text_bg"; }
+ rel2 { relative: 0.0 1.0; to: "title_text_bg"; }
+ fixed: 1 0;
+ min: MP_BASIC_NAVIFRAME_PADDING2_INC;
+ visible: 0;
+ }
+ }
+ part { name: "badge_top_padding";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ min: MP_BASIC_NAVIFRAME_BADGE_TOP_PADDING_INC;
+ fixed: 0 1;
+ rel1 { relative: 0.0 0.0; to: "title_bg"; }
+ rel2 { relative: 1.0 0.0; to: "title_bg"; }
+ align: 0.0 0.0;
+ }
+ description { state: "subtitle_is_set" 0.0;
+ inherit: "default" 0.0;
+ min: 0 0;
+ fixed: 0 1;
+ }
+ }
+ part { name: "badge_left_padding";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ min: 0 0;
+ fixed: 1 1;
+ rel1 { relative: 1.0 1.0; to_x: "elm.text.title"; to_y: "badge_top_padding"; }
+ rel2 { relative: 1.0 1.0; to_x: "elm.text.title"; to_y: "badge_top_padding"; }
+ align: 0.0 0.0;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ min: MP_BASIC_NAVIFRAME_BADGE_LEFT_PADDING_INC;
+ }
+ }
+ part { name: "left.padding.text";
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ fixed: 1 1;
+ min: 0 0;
+ rel1 {
+ to: "badge_left_padding";
+ relative: 1.0 0.0;
+ }
+ rel2 {
+ to: "badge_left_padding";
+ relative: 1.0 1.0;
+ }
+ align: 0.0 0.0;
+ }
+ description {
+ state: "visible" 0.0;
+ inherit: "default" 0.0;
+ min: MP_BASIC_NAVIFRAME_BADGE_TEXT_LEFT_PADDING_INC;
+ }
+ }
+ part { name: "right.padding.text";
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ fixed: 1 1;
+ min: 0 0;
+ rel1 {
+ to: "title_badge";
+ relative: 1.0 0.0;
+ }
+ rel2 {
+ to: "title_badge";
+ relative: 1.0 1.0;
+ }
+ align: 0.0 0.0;
+ }
+ description {
+ state: "visible" 0.0;
+ inherit: "default" 0.0;
+ min: MP_BASIC_NAVIFRAME_BADGE_TEXT_LEFT_PADDING_INC;
+ }
+ }
+ 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 {
+ to: "left.padding.text";
+ relative: 0.0 0.0;
+ }
+ rel2 {
+ to: "right.padding.text";
+ relative: 1.0 1.0;
+ }
+ image {
+ normal: "00_badge_bg.png";
+ border: MP_BASIC_NAVIFRAME_BADGE_BG_IMAGE_BORDER_INC;
+ border_scale: 1;
+ }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ min: MP_BASIC_NAVIFRAME_BADGE_BG_IMAGE_SIZE_INC;
+ }
+ }
+ part { name: "title_badge";
+ type: TEXT;
+ mouse_events: 0;
+ scale: 1;
+ clip_to: "title_clip";
+ description { state: "default" 0.0;
+ visible: 0;
+ min: MP_BASIC_NAVIFRAME_BADGE_TEXT_MIN_W_INC 0;
+ max: MP_BASIC_NAVIFRAME_BADGE_TEXT_MAX_W_INC -1;
+ fixed: 1 1;
+ rel1 { relative: 1.0 0.0; to: "left.padding.text"; }
+ rel2 { relative: 1.0 1.0; to_y: "left.padding.text"; to_x: "badge_padding"; }
+ align: 0.0 0.5;
+ color: MP_BASIC_NAVIFRAME_BADGE_TEXT_COLOR_INC;
+ text {
+ font: "Tizen:style=Bold";
+ size: MP_BASIC_NAVIFRAME_BADGE_TEXT_H_INC;
+ min: 0 0;
+ max: 1 0;
+ }
+ }
+ description { state: "visible" 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: "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: "divider1";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ min: 0 0;
+ max: 0 -1;
+ fixed: 1 1;
+ color: MP_BASIC_NAVIFRAME_TITLE_BUTTON_DIVIDER_COLOR_INC;
+ rel1 { relative: 0.0 0.0; to: "title_left_btn"; }
+ rel2 { relative: 0.0 1.0; to: "title_left_btn"; }
+ align: 1.0 0.5;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ min: 2 48;
+ max: 2 48;
+ }
+ }
+ part { name: "title_left_btn";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "title_clip";
+ description { state: "default" 0.0;
+ max: MP_BASIC_NAVIFRAME_TITLE_FUNC_BTN_SIZE_INC;
+ fixed: 1 1;
+ align: 1.0 0.5;
+ rel1 { relative: 0.0 0.0; to: "divider2"; }
+ rel2 { relative: 0.0 1.0; to: "divider2"; }
+ }
+ description { state: "landscape" 0.0;
+ inherit: "default" 0.0;
+ max: MP_BASIC_NAVIFRAME_LANDSCAPE_TITLE_FUNC_BTN_SIZE_INC;
+ }
+ }
+ part { name: "divider2";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ min: 0 0;
+ max: 0 -1;
+ fixed: 1 1;
+ color: MP_BASIC_NAVIFRAME_TITLE_BUTTON_DIVIDER_COLOR_INC;
+ rel1 { relative: 0.0 0.0; to: "title_right_btn"; }
+ rel2 { relative: 0.0 1.0; to: "title_right_btn"; }
+ align: 1.0 0.5;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ min: 2 48;
+ max: 2 48;
+ }
+ }
+ part { name: "elm.swallow.icon";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "title_clip";
+ description { state: "default" 0.0;
+ max: MP_BASIC_NAVIFRAME_ICON_SIZE_INC;
+ fixed: 1 1;
+ rel1 { relative: 0.0 0.0; to: "padding_before_text"; offset: 10 0;}
+ rel2 { relative: 0.0 1.0; to: "padding_before_text"; offset: 10 0;}
+ aspect: 1.0 1.0;
+ aspect_preference: VERTICAL;
+ align: 1.0 0.5;
+ }
+ }
+ part { name: "title_right_btn";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "title_clip";
+ description { state: "default" 0.0;
+ max: MP_BASIC_NAVIFRAME_TITLE_FUNC_BTN_SIZE_INC;
+ fixed: 1 1;
+ align: 1.0 0.5;
+ rel1 { relative: 1.0 0.0; to: "title_bg"; }
+ rel2 { relative: 1.0 1.0; to: "title_bg"; }
+ }
+ description { state: "landscape" 0.0;
+ inherit: "default" 0.0;
+ max: MP_BASIC_NAVIFRAME_LANDSCAPE_TITLE_FUNC_BTN_SIZE_INC;
+ }
+ }
+ part { name: "toolbar";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "toolbar_clip";
+ 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"; }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ min: 0 MP_BASIC_NAVIFRAME_TOOLBAR_HEIGHT_INC;
+ max: 999999 MP_BASIC_NAVIFRAME_TOOLBAR_HEIGHT_INC;
+ visible: 1;
+ }
+ description { state: "visible_landscape" 0.0;
+ inherit: "default" 0.0;
+ min: 0 MP_BASIC_NAVIFRAME_LANDSCAPE_TOOLBAR_HEIGHT_INC;
+ max: 999999 MP_BASIC_NAVIFRAME_LANDSCAPE_TOOLBAR_HEIGHT_INC;
+ visible: 1;
+ }
+ }
+ part { name: "more_btn_bg";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ min: MP_BASIC_NAVIFRAME_TOOLBAR_BUTTON_BG_PADDING_INC;
+ fixed: 1 0;
+ align: 0.0 0.0;
+ rel1 { relative: 0.0 0.0; to: "toolbar"; }
+ rel2 { relative: 0.0 1.0; to: "toolbar"; }
+ visible: 0;
+ }
+ }
+ part { name: "toolbar_more_btn";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "toolbar_clip";
+ description { state: "default" 0.0;
+ max: MP_BASIC_NAVIFRAME_PREV_FUNC_BTN_SIZE_INC;
+ fixed: 1 1;
+ rel1.to: "more_btn_bg";
+ rel2.to: "more_btn_bg";
+ visible: 0;
+ }
+ description { state: "landscape" 0.0;
+ inherit: "default" 0.0;
+ max: MP_BASIC_NAVIFRAME_LANDSCAPE_PREV_FUNC_BTN_SIZE_INC;
+ }
+ }
+ part { name: "prev_btn_bg";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ min: MP_BASIC_NAVIFRAME_TOOLBAR_BUTTON_BG_PADDING_INC;
+ fixed: 1 0;
+ align: 1.0 0.0;
+ rel1 { relative: 1.0 0.0; to: "toolbar"; }
+ rel2.to: "toolbar";
+ visible: 0;
+ }
+ }
+ part { name: "elm.swallow.prev_btn";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "toolbar_clip";
+ description { state: "default" 0.0;
+ max: MP_BASIC_NAVIFRAME_PREV_FUNC_BTN_SIZE_INC;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ rel1.to: "prev_btn_bg";
+ rel2.to: "prev_btn_bg";
+ visible: 0;
+ }
+ description { state: "landscape" 0.0;
+ inherit: "default" 0.0;
+ max: MP_BASIC_NAVIFRAME_LANDSCAPE_PREV_FUNC_BTN_SIZE_INC;
+ }
+ }
+ part { name: "toolbar_clip";
+ type: RECT;
+ mouse_events: 0;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ rel1 { to: "toolbar"; }
+ rel2 { to: "toolbar"; }
+ }
+ }
+ }
+ 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";
+ script {
+ set_state(PART:"clipper", "default", 0.0);
+ run_program(PROGRAM:"start_title_slide");
+ }
+ }
+ program { name: "invisible";
+ signal: "elm,state,invisible";
+ source: "elm";
+ script {
+ run_program(PROGRAM:"stop_title_slide");
+ set_state(PART:"clipper", "hide", 0.0);
+ }
+ }
+ program { name: "start_title_slide";
+ signal: "elm,action,title,slide,start";
+ source: "";
+ script {
+ run_program(PROGRAM:"stop_title_slide");
+ set_int(title_slide_anim_id, timer(1.5, "start_slide", 0));
+ if (get_int(subtitle))
+ set_int(subtitle_slide_anim_id, timer(1.5, "start_slide", 1));
+ }
+ }
+ program { name: "stop_title_slide";
+ signal: "elm,action,title,slide,stop";
+ source: "";
+ script {
+ if (!get_int(title_slide_stop) || get_int(title_slide_anim_id))
+ stop_slide(0);
+ if (get_int(subtitle))
+ if (!get_int(subtitle_slide_stop) || get_int(subtitle_slide_anim_id))
+ stop_slide(1);
+ }
+ }
+ program { name: "title_show";
+ signal: "elm,state,title,show";
+ source: "elm";
+ script {
+ if (!get_int(landscape))
+ set_state(PART:"title_bg", "default", 0.0);
+ else
+ set_state(PART:"title_bg", "landscape", 0.0);
+ }
+ }
+ program { name: "title_hide";
+ signal: "elm,state,title,hide";
+ source: "elm";
+ script {
+ set_state(PART:"title_bg", "hide", 0.0);
+ }
+ }
+ program { name: "subtitle_show";
+ signal: "elm,state,subtitle,show";
+ source: "elm";
+ script {
+ set_state(PART:"badge_top_padding", "subtitle_is_set", 0.0);
+ set_state(PART:"maintitle_text_bg", "subtitle_is_set", 0.0);
+ if (!get_int(landscape)) {
+ set_state(PART:"elm.text.title", "subtitle_is_set", 0.0);
+ set_state(PART:"subtitle_top_padding", "visible", 0.0);
+ set_state(PART:"subtitle_text_bg", "visible", 0.0);
+ }
+ else {
+ set_state(PART:"elm.text.title", "subtitle_is_set_landscape", 0.0);
+ set_state(PART:"subtitle_top_padding", "visible_landscape", 0.0);
+ set_state(PART:"subtitle_text_bg", "visible_landscape", 0.0);
+ }
+ set_int(subtitle, 1);
+ }
+ }
+ program { name: "subtitle_hide";
+ signal: "elm,state,subtitle,hide";
+ source: "elm";
+ script {
+ set_state(PART:"badge_top_padding", "default", 0.0);
+ set_state(PART:"maintitle_text_bg", "default", 0.0);
+ set_state(PART:"subtitle_top_padding", "default", 0.0);
+ set_state(PART:"subtitle_text_bg", "default", 0.0);
+ set_state(PART:"elm.text.title", "default", 0.0);
+ set_int(subtitle, 0);
+ }
+ }
+ program { name: "icon_show";
+ signal: "elm,state,icon,show";
+ source: "elm";
+ action: STATE_SET "icon" 0.0;
+ target: "title_left_padding";
+ }
+ program { name: "icon_hide";
+ signal: "elm,state,icon,hide";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "title_left_padding";
+ }
+ program { name: "title_left_btn_show";
+ signal: "elm,state,title_left_btn,show";
+ source: "elm";
+ script {
+ set_state(PART:"divider1", "visible", 0.0);
+ set_state(PART:"title_right_padding", "title_left_btn_set", 0.0);
+ }
+ }
+ program { name: "title_left_btn_hide";
+ signal: "elm,state,title_left_btn,hide";
+ source: "elm";
+ script {
+ set_state(PART:"divider1", "default", 0.0);
+ set_state(PART:"title_right_padding", "default", 0.0);
+ }
+ }
+ program { name: "title_right_btn_show";
+ signal: "elm,state,title_right_btn,show";
+ source: "elm";
+ action: STATE_SET "visible" 0.0;
+ target: "divider2";
+ }
+ program { name: "title_right_btn_hide";
+ signal: "elm,state,title_right_btn,hide";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "divider2";
+ }
+ program { name: "toolbar_show";
+ signal: "elm,state,toolbar,show";
+ source: "elm";
+ script {
+ if (!get_int(landscape))
+ set_state(PART:"toolbar", "visible", 0.0);
+ else
+ set_state(PART:"toolbar", "visible_landscape", 0.0);
+ set_int(tbar_bg, get_int(tbar_bg) + 1);
+ }
+ }
+ program { name: "toolbar_hide";
+ signal: "elm,state,toolbar,hide";
+ source: "elm";
+ script {
+ set_int(tbar_bg, get_int(tbar_bg) - 1);
+ if (get_int(tbar_bg) <= 0)
+ set_state(PART:"toolbar", "default", 0.0);
+ }
+ }
+ program { name: "toolbar_open_internal";
+ signal: "elm,state,toolbar,open,internal";
+ source: "elm";
+ script {
+ set_int(tbar_close, 0);
+ if (!get_int(landscape))
+ set_state(PART:"toolbar", "visible", 0.0);
+ else
+ set_state(PART:"toolbar", "visible_landscape", 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", "default", 0.0);
+ }
+ }
+ program { name: "toolbar_open";
+ signal: "elm,state,toolbar,open";
+ source: "";
+ script {
+ if (!get_int(landscape))
+ set_state(PART:"toolbar", "visible", 0.0);
+ else
+ set_state(PART:"toolbar", "visible_landscape", 0.0);
+ }
+ 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";
+ 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";
+ script {
+ run_program(PROGRAM:"stop_title_slide");
+ emit("elm,action,pushed,finished", "");
+ }
+ }
+ program { name: "popped_finished";
+ script {
+ run_program(PROGRAM:"stop_title_slide");
+ emit("elm,action,popped,finished", "");
+ }
+ }
+ program {
+ name: "title_clicked";
+ signal: "mouse,clicked,1";
+ source: "click_event_area";
+ script {
+ emit("elm,action,title,clicked", "");
+ }
+ }
+ program {
+ name: "title_badge_show";
+ signal: "elm,state,title_badge,show";
+ source: "elm";
+ script {
+ set_state(PART:"badge_left_padding", "visible", 0.0);
+ set_state(PART:"badge_padding", "visible", 0.0);
+ set_state(PART:"left.padding.text", "visible", 0.0);
+ set_state(PART:"right.padding.text", "visible", 0.0);
+ set_state(PART:"badge_bg", "visible", 0.0);
+ set_state(PART:"title_badge", "visible", 0.0);
+ set_int(title_badge_visible, 1);
+ }
+ }
+ program {
+ name: "title_badge_hide";
+ signal: "elm,state,title_badge,hide";
+ source: "elm";
+ script {
+ set_state(PART:"badge_left_padding", "default", 0.0);
+ set_state(PART:"badge_padding", "default", 0.0);
+ set_state(PART:"left.padding.text", "default", 0.0);
+ set_state(PART:"right.padding.text", "default", 0.0);
+ set_state(PART:"badge_bg", "default", 0.0);
+ set_state(PART:"title_badge", "default", 0.0);
+ set_int(title_badge_visible, 0);
+ }
+ }
+ program {
+ name: "change_to_landscape";
+ signal: "elm,state,landscape";
+ source: "elm";
+ script {
+ if (!get_int(landscape)) {
+ set_state(PART:"title_text_bg", "landscape", 0.0);
+ set_state(PART:"elm.text.subtitle", "landscape", 0.0);
+ set_state(PART:"title_left_btn", "landscape", 0.0);
+ set_state(PART:"title_right_btn", "landscape", 0.0);
+ set_state(PART:"toolbar_more_btn", "landscape", 0.0);
+ set_state(PART:"elm.swallow.prev_btn", "landscape", 0.0);
+
+ new st[31];
+ new Float:vl;
+ get_state(PART:"title_bg", st, 30, vl);
+ if (!strcmp(st, "default"))
+ set_state(PART:"title_bg", "landscape", 0.0);
+
+ get_state(PART:"elm.text.title", st, 30, vl);
+ if (!strcmp(st, "subtitle_is_set"))
+ set_state(PART:"elm.text.title", "subtitle_is_set_landscape", 0.0);
+
+ get_state(PART:"subtitle_top_padding", st, 30, vl);
+ if (!strcmp(st, "visible"))
+ set_state(PART:"subtitle_top_padding", "visible_landscape", 0.0);
+
+ get_state(PART:"subtitle_text_bg", st, 30, vl);
+ if (!strcmp(st, "visible"))
+ set_state(PART:"subtitle_text_bg", "visible_landscape", 0.0);
+
+ get_state(PART:"toolbar", st, 30, vl);
+ if (!strcmp(st, "visible"))
+ set_state(PART:"toolbar", "visible_landscape", 0.0);
+
+ set_int(landscape, 1);
+ }
+ }
+ }
+ program {
+ name: "change_to_portrait";
+ signal: "elm,state,portrait";
+ source: "elm";
+ script {
+ if (get_int(landscape)) {
+ set_state(PART:"title_text_bg", "default", 0.0);
+ set_state(PART:"elm.text.subtitle", "default", 0.0);
+ set_state(PART:"title_left_btn", "default", 0.0);
+ set_state(PART:"title_right_btn", "default", 0.0);
+ set_state(PART:"toolbar_more_btn", "default", 0.0);
+ set_state(PART:"elm.swallow.prev_btn", "default", 0.0);
+
+ new st[31];
+ new Float:vl;
+ get_state(PART:"title_bg", st, 30, vl);
+ if (!strcmp(st, "landscape"))
+ set_state(PART:"title_bg", "default", 0.0);
+
+ get_state(PART:"elm.text.title", st, 30, vl);
+ if (!strcmp(st, "subtitle_is_set_landscape"))
+ set_state(PART:"elm.text.title", "subtitle_is_set", 0.0);
+
+ get_state(PART:"subtitle_top_padding", st, 30, vl);
+ if (!strcmp(st, "visible_landscape"))
+ set_state(PART:"subtitle_top_padding", "visible", 0.0);
+
+ get_state(PART:"subtitle_text_bg", st, 30, vl);
+ if (!strcmp(st, "visible_landscape"))
+ set_state(PART:"subtitle_text_bg", "visible", 0.0);
+
+ get_state(PART:"toolbar", st, 30, vl);
+ if (!strcmp(st, "visible_landscape"))
+ set_state(PART:"toolbar", "visible", 0.0);
+
+ set_int(landscape, 0);
+ }
+ }
+ }
+ program { name: "landscape_mode";
+ source: "elm";
+ signal: "elm,state,orient,90";
+ action: SIGNAL_EMIT "elm,state,landscape" "elm";
+ }
+ program { name: "landscape_mode2";
+ source: "elm";
+ signal: "elm,state,orient,270";
+ action: SIGNAL_EMIT "elm,state,landscape" "elm";
+ }
+ program { name: "portrait_mode";
+ source: "elm";
+ signal: "elm,state,orient,0";
+ action: SIGNAL_EMIT "elm,state,portrait" "elm";
+ }
+ program { name: "portrait_mode2";
+ source: "elm";
+ signal: "elm,state,orient,180";
+ action: SIGNAL_EMIT "elm,state,portrait" "elm";
+ }
+ }
+ }
+
+#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" "";
+ }
+ }
+ }
+
+#define NAVIFRAME_VIEW_TRANS_TIME 0.3
+#define NAVIFRAME_TITLE_TRANS_TIME 0.5
+#define NAVIFRAME_TITLE_SLIDE_TEXT_GAP 60
+#define NAVIFRAME_SUBTITLE_SLIDE_TEXT_GAP 40
+#define NAVIFRAME_TITLE_SLIDE_MAX_COUNT 3
+#define NAVIFRAME_TITLE_SLIDE_SPEED_WEIGHT 0.5
+
+
+ group { name: "elm/naviframe/item/music/topline/default";
+ data.item: "tizen_zoom" 1;
+ images {
+ image: "00_title_bg.png" COMP;
+ image: "00_badge_bg.png" COMP;
+ image: "00_effect_title_text_dim_left.png" COMP;
+ image: "00_effect_title_text_dim_right.png" COMP;
+ }
+ script {
+ public tbar_bg = 0; //Toolbar BG Show call count
+ public tbar_close = 0; //Toolbar lastest Open/Close status
+ public title_badge_visible = 0; //Title badge visible/hidden status
+ public landscape = 0; //Landscape mode status
+ public subtitle = 0; //Subtitle on/off status
+ public drawers_visible = 0; //Drawers on/off status //Used only for "drawers" style
+ public icon_visible = 0; //Icon on/off status
+
+ public title_duration = 0;
+ public subtitle_duration = 0;
+ public title_slide_stop;
+ public subtitle_slide_stop;
+ public title_slide_start_timer;
+ public subtitle_slide_start_timer;
+ public title_slide_anim_id;
+ public subtitle_slide_anim_id;
+ public title_text_w;
+ public subtitle_text_w;
+ public org_title_text_w;
+ public org_subtitle_text_w;
+ public title_slide_count = 0;
+ public subtitle_slide_count = 0;
+
+ public get_width(val) {
+ new x, y, w, h;
+ new buf[1024];
+ new st[31];
+ new Float:vl;
+
+ // Title Text
+ if (val == 0) {
+ get_geometry(PART:"elm.text.title", x, y, w, h);
+ set_int(org_title_text_w, w);
+ get_text(PART:"elm.text.title", buf, 1024);
+ set_text(PART:"elm.text.full_title", buf);
+ get_state(PART:"elm.text.title", st, 30, vl);
+ set_state(PART:"elm.text.full_title", st, 0.0);
+ get_geometry(PART:"elm.text.full_title", x, y, w, h);
+ set_int(title_text_w, w);
+ }
+ // Subtitle Text
+ else {
+ get_geometry(PART:"elm.text.subtitle", x, y, w, h);
+ set_int(org_subtitle_text_w, w);
+ get_text(PART:"elm.text.subtitle", buf, 1024);
+ set_text(PART:"elm.text.full_subtitle", buf);
+ get_state(PART:"elm.text.subtitle", st, 30, vl);
+ set_state(PART:"elm.text.full_subtitle", st, 0.0);
+ get_geometry(PART:"elm.text.full_subtitle", x, y, w, h);
+ set_int(subtitle_text_w, w);
+ }
+ }
+
+ public slide_to_end_anim(val, Float:pos) {
+ // Title Text
+ if (val == 0) {
+ if (get_int(title_slide_stop)) return;
+
+ if (!get_int(subtitle)) {
+ set_tween_state(PART:"elm.text.slide_begin_title", pos, "title_slide_begin", 0.0, "title_slide_end", 0.0);
+ set_tween_state(PART:"elm.text.slide_end_title", pos, "title_slide_begin", 0.0, "title_slide_end", 0.0);
+ }
+ else {
+ if (!get_int(landscape)) {
+ set_tween_state(PART:"elm.text.slide_begin_title", pos, "maintitle_slide_begin", 0.0, "maintitle_slide_end", 0.0);
+ set_tween_state(PART:"elm.text.slide_end_title", pos, "maintitle_slide_begin", 0.0, "maintitle_slide_end", 0.0);
+ }
+ else {
+ set_tween_state(PART:"elm.text.slide_begin_title", pos, "maintitle_slide_begin_landscape", 0.0, "maintitle_slide_end_landscape", 0.0);
+ set_tween_state(PART:"elm.text.slide_end_title", pos, "maintitle_slide_begin_landscape", 0.0, "maintitle_slide_end_landscape", 0.0);
+ }
+ }
+
+ if (pos >= 1.0) {
+ if (get_int(title_slide_count) < NAVIFRAME_TITLE_SLIDE_MAX_COUNT)
+ set_int(title_slide_start_timer, timer(1.0, "start_slide", 0));
+ else
+ stop_slide(0);
+ }
+ }
+ // Subtitle Text
+ else {
+ if (get_int(subtitle_slide_stop)) return;
+
+ if (!get_int(landscape)) {
+ set_tween_state(PART:"elm.text.slide_begin_subtitle", pos, "slide_begin", 0.0, "slide_end", 0.0);
+ set_tween_state(PART:"elm.text.slide_end_subtitle", pos, "slide_begin", 0.0, "slide_end", 0.0);
+ }
+ else {
+ set_tween_state(PART:"elm.text.slide_begin_subtitle", pos, "slide_begin_landscape", 0.0, "slide_end_landscape", 0.0);
+ set_tween_state(PART:"elm.text.slide_end_subtitle", pos, "slide_begin_landscape", 0.0, "slide_end_landscape", 0.0);
+ }
+
+ if (pos >= 1.0) {
+ if (get_int(subtitle_slide_count) < NAVIFRAME_TITLE_SLIDE_MAX_COUNT)
+ set_int(subtitle_slide_start_timer ,timer(1.0, "start_slide", 1));
+ else
+ stop_slide(1);
+ }
+ }
+ }
+
+ public slide_to_end(val) {
+ // Title Text
+ if (val == 0) {
+ if (get_int(title_slide_stop)) return;
+ set_int(title_slide_anim_id, anim(get_float(title_duration), "slide_to_end_anim", 0));
+ }
+ // Subtitle Text
+ else {
+ if (get_int(subtitle_slide_stop)) return;
+ set_int(subtitle_slide_anim_id, anim(get_float(subtitle_duration), "slide_to_end_anim", 1));
+ }
+ }
+
+ public start_slide(val) {
+ new Float:len;
+ new buf[1024];
+ new st[31];
+ new Float:vl;
+ get_state(PART:"title_bg", st, 30, vl);
+ if (!strcmp(st, "hide"))
+ return;
+
+ // Title Text
+ if (val == 0) {
+ set_int(title_slide_count, get_int(title_slide_count) + 1);
+
+ if (get_int(title_slide_count) == 1) {
+ get_width(0);
+
+ if (get_int(title_text_w) <= get_int(org_title_text_w)) {
+ set_int(title_slide_count, 0);
+ return;
+ }
+
+ set_state(PART:"title_text_slide_effect_left", "visible", 0.0);
+ set_state(PART:"title_text_slide_effect_right", "visible", 0.0);
+
+ len = get_int(title_text_w) + NAVIFRAME_TITLE_SLIDE_TEXT_GAP;
+ set_float(title_duration, len / NAVIFRAME_TITLE_FONT_SIZE_INC * NAVIFRAME_TITLE_SLIDE_SPEED_WEIGHT);
+
+ set_int(title_slide_stop, 0);
+
+ get_text(PART:"elm.text.title", buf, 1024);
+ set_text(PART:"elm.text.slide_begin_title", buf);
+ set_text(PART:"elm.text.slide_end_title", buf);
+ }
+
+ if (!get_int(subtitle)) {
+ set_state(PART:"elm.text.slide_begin_title", "title_slide_begin", 0.0);
+ set_state(PART:"elm.text.slide_end_title", "title_slide_begin", 0.0);
+ }
+ else {
+ set_state(PART:"elm.text.slide_begin_title", "maintitle_slide_begin", 0.0);
+ set_state(PART:"elm.text.slide_end_title", "maintitle_slide_begin", 0.0);
+ }
+
+ if (get_int(title_slide_count) == 1) {
+ set_state(PART:"title_text_clip", "slide", 0.0);
+ set_state(PART:"slide_title_text_clip", "slide", 0.0);
+ }
+
+ slide_to_end(0);
+ }
+ // Subtitle Text
+ else {
+ set_int(subtitle_slide_count, get_int(subtitle_slide_count) + 1);
+
+ if (get_int(subtitle_slide_count) == 1) {
+ get_width(1);
+
+ if (get_int(subtitle_text_w) <= get_int(org_subtitle_text_w)) {
+ set_int(subtitle_slide_count, 0);
+ return;
+ }
+
+ set_state(PART:"subtitle_text_slide_effect_left", "visible", 0.0);
+ set_state(PART:"subtitle_text_slide_effect_right", "visible", 0.0);
+
+ len = get_int(subtitle_text_w) + NAVIFRAME_SUBTITLE_SLIDE_TEXT_GAP;
+ if (!get_int(landscape))
+ set_float(subtitle_duration, len / NAVIFRAME_SUBTITLE_FONT_SIZE_INC * NAVIFRAME_TITLE_SLIDE_SPEED_WEIGHT);
+ else
+ set_float(subtitle_duration, len / NAVIFRAME_LANDSCAPE_SUBTITLE_FONT_SIZE_INC * NAVIFRAME_TITLE_SLIDE_SPEED_WEIGHT);
+
+ set_int(subtitle_slide_stop, 0);
+
+ get_text(PART:"elm.text.subtitle", buf, 1024);
+ set_text(PART:"elm.text.slide_begin_subtitle", buf);
+ set_text(PART:"elm.text.slide_end_subtitle", buf);
+ }
+
+ if (!get_int(landscape)) {
+ set_state(PART:"elm.text.slide_begin_subtitle", "slide_begin", 0.0);
+ set_state(PART:"elm.text.slide_end_subtitle", "slide_begin", 0.0);
+ }
+ else {
+ set_state(PART:"elm.text.slide_begin_subtitle", "slide_begin_landscape", 0.0);
+ set_state(PART:"elm.text.slide_end_subtitle", "slide_begin_landscape", 0.0);
+ }
+
+ if (get_int(subtitle_slide_count) == 1) {
+ set_state(PART:"subtitle_text_clip", "slide", 0.0);
+ set_state(PART:"slide_subtitle_text_clip", "slide", 0.0);
+ }
+
+ slide_to_end(1);
+ }
+ }
+
+ public stop_slide(val) {
+ new slide_start_timer;
+ new slide_anim_id;
+
+ // Title Text
+ if (val == 0) {
+ set_int(title_slide_stop, 1);
+ set_int(title_slide_count, 0);
+
+ slide_start_timer = get_int(title_slide_start_timer);
+ if (slide_start_timer) {
+ cancel_timer(slide_start_timer);
+ set_int(title_slide_start_timer, 0);
+ }
+ slide_anim_id = get_int(title_slide_anim_id);
+ if (slide_anim_id) {
+ cancel_anim(slide_anim_id);
+ set_int(title_slide_anim_id, 0);
+ }
+
+ set_text(PART:"elm.text.slide_begin_title", "");
+ set_text(PART:"elm.text.slide_end_title", "");
+ set_state(PART:"elm.text.slide_begin_title", "default", 0.0);
+ set_state(PART:"elm.text.slide_end_title", "default", 0.0);
+ set_state(PART:"title_text_clip", "default", 0.0);
+ set_state(PART:"slide_title_text_clip", "default", 0.0);
+ set_state(PART:"title_text_slide_effect_left", "default", 0.0);
+ set_state(PART:"title_text_slide_effect_right", "default", 0.0);
+ }
+ // Subtitle Text
+ else {
+ set_int(subtitle_slide_stop, 1);
+ set_int(subtitle_slide_count, 0);
+
+ slide_start_timer = get_int(subtitle_slide_start_timer);
+ if (slide_start_timer) {
+ cancel_timer(slide_start_timer);
+ set_int(subtitle_slide_start_timer, 0);
+ }
+ slide_anim_id = get_int(subtitle_slide_anim_id);
+ if (slide_anim_id) {
+ cancel_anim(slide_anim_id);
+ set_int(subtitle_slide_anim_id, 0);
+ }
+
+ set_text(PART:"elm.text.slide_begin_subtitle", "");
+ set_text(PART:"elm.text.slide_end_subtitle", "");
+ set_state(PART:"elm.text.slide_begin_subtitle", "default", 0.0);
+ set_state(PART:"elm.text.slide_end_subtitle", "default", 0.0);
+ set_state(PART:"subtitle_text_clip", "default", 0.0);
+ set_state(PART:"slide_subtitle_text_clip", "default", 0.0);
+ set_state(PART:"subtitle_text_slide_effect_left", "default", 0.0);
+ set_state(PART:"subtitle_text_slide_effect_right", "default", 0.0);
+ }
+ }
+ }
+
+ 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: NAVIFRAME_BASE_COLOR_INC;
+ }
+ }
+ part { name: "title_bg";
+ type: IMAGE;
+ scale: 1;
+ clip_to: "title_clip";
+ description { state: "default" 0.0;
+ min: 0 NAVIFRAME_TITLE_H_INC;
+ max: -1 NAVIFRAME_TITLE_H_INC;
+ align: 0.0 0.0;
+ fixed: 0 1;
+ rel1 { relative: 0.0 0.0; to: "topline"; }
+ rel2 { relative: 1.0 0.0; to: "topline"; }
+ image {
+ normal: "00_title_bg.png";
+ border: NAVIFRAME_TITLE_BG_IMAGE_BORDER_INC;
+ border_scale: 1;
+ }
+ }
+ description { state: "landscape" 0.0;
+ inherit: "default" 0.0;
+ min: 0 NAVIFRAME_LANDSCAPE_TITLE_H_INC;
+ max: -1 NAVIFRAME_LANDSCAPE_TITLE_H_INC;
+ }
+ description { state: "hide_trans" 0.0;
+ inherit: "default" 0.0;
+ align: 0.0 1.0;
+ }
+ description { state: "hide_trans_landscape" 0.0;
+ inherit: "landscape" 0.0;
+ align: 0.0 1.0;
+ }
+ description { state: "hide" 0.0;
+ inherit: "default" 0.0;
+ min: 0 0;
+ max: -1 0;
+ }
+ }
+ part {name: "topline";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 6;
+ max: -1 6;
+ 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: 23 160 248 255;
+ }
+ description {state: "hide" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+
+ }
+ part { name: "title_clip";
+ type: RECT;
+ mouse_events: 0;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ rel1 { to_y: "title_bg"; }
+ rel2 { to_y: "title_bg"; }
+ }
+ }
+ part { name: "title_right_padding";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: NAVIFRAME_PADDING_INC;
+ fixed: 1 1;
+ align: 1.0 0.0;
+ rel1 { relative: 1.0 0.0; to: "divider2"; }
+ rel2 { relative: 1.0 1.0; to: "divider2"; }
+ }
+ description { state: "title_left_btn_set" 0.0;
+ inherit: "default" 0.0;
+ rel1 { relative: 1.0 0.0; to: "divider1"; }
+ rel2 { relative: 1.0 1.0; to: "divider1"; }
+ }
+ }
+ part { name: "title_left_padding";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 0;
+ fixed: 1 0;
+ align: 0.0 0.5;
+ rel1 { relative: 1.0 0.0; to_x: "elm.swallow.icon"; to_y: "title_bg"; }
+ rel2 { relative: 1.0 1.0; to_x: "elm.swallow.icon"; to_y: "title_bg"; }
+ }
+ description { state: "icon" 0.0;
+ inherit: "default" 0.0;
+ min: NAVIFRAME_ICON_RIGHT_PADDING_INC;
+ }
+ }
+ 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 0.0;
+ rel2.to_x: "base";
+ rel2.to_y: "toolbar";
+ }
+ }
+
+ part { name: "content_clip";
+ 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: "badge_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 { relative: 0.0 0.0; to: "title_right_padding"; }
+ rel2 { relative: 0.0 1.0; to: "title_right_padding"; }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ min: NAVIFRAME_BADGE_PADDING_W_INC 0;
+ max: NAVIFRAME_BADGE_PADDING_W_INC -1;
+ }
+ }
+ part { name: "title_text_bg";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 NAVIFRAME_TITLE_TEXT_BG_H_INC;
+ max: -1 NAVIFRAME_TITLE_TEXT_BG_H_INC;
+ fixed: 0 1;
+ rel1 { relative: 1.0 0.0; to_x: "title_left_padding"; to_y: "title_bg"; }
+ rel2 { relative: 0.0 1.0; to_x: "title_right_padding"; to_y: "title_bg"; }
+ }
+ description { state: "landscape" 0.0;
+ inherit: "default" 0.0;
+ min: 0 NAVIFRAME_LANDSCAPE_TITLE_TEXT_BG_H_INC;
+ max: -1 NAVIFRAME_LANDSCAPE_TITLE_TEXT_BG_H_INC;
+ }
+ }
+ part { name: "maintitle_text_bg";
+ type: SPACER;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; to: "title_text_bg"; }
+ rel2 { relative: 0.0 1.0; to_x: "badge_padding"; to_y: "title_text_bg"; }
+ }
+ description { state: "subtitle_is_set" 0.0;
+ inherit: "default" 0.0;
+ rel1 { relative: 0.0 0.0; to: "title_text_bg"; }
+ rel2 { relative: 0.0 0.0; to_x: "badge_padding"; to_y: "subtitle_top_padding"; }
+ }
+ }
+ part { name: "title_text_clip";
+ type: RECT;
+ mouse_events: 0;
+ clip_to: "title_clip";
+ description { state: "default" 0.0;
+ rel1.to: "maintitle_text_bg";
+ rel2.to: "maintitle_text_bg";
+ }
+ description { state: "slide" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "elm.text.title";
+ type: TEXT;
+ effect: FAR_SHADOW BOTTOM;
+ scale: 1;
+ clip_to: "title_text_clip";
+ description { state: "default" 0.0;
+ text { font: "Tizen:style=Regular";
+ size: NAVIFRAME_TITLE_FONT_SIZE_INC;
+ min: 0 0;
+ max: 1 0;
+ align: 0.0 0.5;
+ }
+ color: NAVIFRAME_BG_COLOR;
+ color3: NAVIFRAME_TITLE_TEXT_SHADOW_COLOR_INC;
+ align: 0.0 0.5;
+ rel1.to: "maintitle_text_bg";
+ rel2.to: "maintitle_text_bg";
+ }
+ description { state: "subtitle_is_set" 0.0;
+ text { font: "Tizen:style=Regular";
+ size: NAVIFRAME_TITLE_SMALL_FONT_SIZE_INC;
+ min: 0 0;
+ max: 1 0;
+ align: 0.0 0.5;
+ }
+ color: NAVIFRAME_BG_COLOR;
+ color3: NAVIFRAME_TITLE_TEXT_SHADOW_COLOR_INC;
+ align: 0.0 0.5;
+ rel1.to: "maintitle_text_bg";
+ rel2.to: "maintitle_text_bg";
+ }
+ description { state: "subtitle_is_set_landscape" 0.0;
+ inherit: "subtitle_is_set" 0.0;
+ text.size: NAVIFRAME_LANDSCAPE_TITLE_SMALL_FONT_SIZE_INC;
+ }
+ }
+ part { name: "slide_title_text_clip";
+ type: RECT;
+ mouse_events: 0;
+ clip_to: "title_clip";
+ description { state: "default" 0.0;
+ visible: 0;
+ rel1.to: "elm.text.title";
+ rel2.to: "elm.text.title";
+ }
+ description { state: "slide" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "slide_text_gap1";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 0;
+ min: NAVIFRAME_TITLE_SLIDE_TEXT_GAP 0;
+ max: NAVIFRAME_TITLE_SLIDE_TEXT_GAP -1;
+ align: 1.0 0.5;
+ rel1 { relative: 0.0 0.0; to: "maintitle_text_bg"; }
+ rel2 { relative: 0.0 1.0; to: "maintitle_text_bg"; }
+ }
+ }
+ part { name: "elm.text.slide_begin_title";
+ type: TEXT;
+ effect: FAR_SHADOW BOTTOM;
+ scale: 1;
+ clip_to: "slide_title_text_clip";
+ description { state: "default" 0.0;
+ text { font: "Tizen:style=Regular";
+ size: NAVIFRAME_TITLE_FONT_SIZE_INC;
+ min: 1 0;
+ max: 1 0;
+ align: 0.0 0.5;
+ }
+ color: NAVIFRAME_BG_COLOR;
+ color3: NAVIFRAME_TITLE_TEXT_SHADOW_COLOR_INC;
+ fixed: 1 0;
+ align: 0.0 0.5;
+ rel1.to: "maintitle_text_bg";
+ rel2.to: "maintitle_text_bg";
+ }
+ description { state: "title_slide_begin" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: 0.0 0.0;
+ rel2.relative: 0.0 1.0;
+ }
+ description { state: "title_slide_end" 0.0;
+ inherit: "default" 0.0;
+ text.align: 1.0 0.5;
+ align: 1.0 0.5;
+ rel1 { relative: 0.0 0.0; to: "slide_text_gap1"; }
+ rel2 { relative: 0.0 1.0; to: "slide_text_gap1"; }
+ }
+ description { state: "maintitle_slide_begin" 0.0;
+ text { font: "Tizen:style=Regular";
+ size: NAVIFRAME_TITLE_SMALL_FONT_SIZE_INC;
+ min: 1 0;
+ max: 1 0;
+ align: 0.0 0.5;
+ }
+ color: NAVIFRAME_BG_COLOR;
+ color3: NAVIFRAME_TITLE_TEXT_SHADOW_COLOR_INC;
+ fixed: 1 0;
+ align: 0.0 0.5;
+ rel1 { relative: 0.0 0.0; to: "maintitle_text_bg"; }
+ rel2 { relative: 0.0 1.0; to: "maintitle_text_bg"; }
+ }
+ description { state: "maintitle_slide_end" 0.0;
+ inherit: "maintitle_slide_begin" 0.0;
+ text.align: 1.0 0.5;
+ align: 1.0 0.5;
+ rel1 { relative: 0.0 0.0; to: "slide_text_gap1"; }
+ rel2 { relative: 0.0 1.0; to: "slide_text_gap1"; }
+ }
+ description { state: "maintitle_slide_begin_landscape" 0.0;
+ inherit: "maintitle_slide_begin" 0.0;
+ text.size: NAVIFRAME_LANDSCAPE_TITLE_SMALL_FONT_SIZE_INC;
+ }
+ description { state: "maintitle_slide_end_landscape" 0.0;
+ inherit: "maintitle_slide_end" 0.0;
+ text.size: NAVIFRAME_LANDSCAPE_TITLE_SMALL_FONT_SIZE_INC;
+ }
+ }
+ part { name: "title_text_slide_effect_left_bg";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: NAVIFRAME_PADDING_INC;
+ align: 1.0 0.5;
+ fixed: 1 1;
+ rel1 { relative: 0.0 0.0; to_x: "elm.text.title"; to_y: "title_bg"; }
+ rel2 { relative: 0.0 1.0; to_x: "elm.text.title"; to_y: "title_bg"; }
+ }
+ }
+ part { name: "title_text_slide_effect_left";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 0;
+ clip_to :"slide_subtitle_text_clip";
+ description { state: "default" 0.0;
+ min: NAVIFRAME_TITLE_TEXT_SLIDE_EFFECT_IMAGE_SIZE_INC;
+ align: 0.0 0.5;
+ fixed: 1 1;
+ visible: 0;
+ rel1 { relative: 0.0 0.0; to: "title_text_slide_effect_left_bg"; }
+ rel2 { relative: 0.0 1.0; to: "title_text_slide_effect_left_bg"; }
+ image {
+ normal: "00_effect_title_text_dim_left.png";
+ border: NAVIFRAME_TITLE_TEXT_SLIDE_EFFECT_IMAGE_BORDER_INC;
+ border_scale: 1;
+ }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "elm.text.full_title";
+ type: TEXT;
+ effect: FAR_SHADOW BOTTOM;
+ scale: 1;
+ clip_to: "slide_title_text_clip";
+ description { state: "default" 0.0;
+ visible: 0;
+ text { font: "Tizen:style=Regular";
+ size: NAVIFRAME_TITLE_FONT_SIZE_INC;
+ min: 1 0;
+ max: 1 0;
+ align: 0.0 0.5;
+ }
+ fixed: 1 0;
+ align: 0.0 0.5;
+ rel1.to: "maintitle_text_bg";
+ rel2.to: "maintitle_text_bg";
+ }
+ description { state: "subtitle_is_set" 0.0;
+ visible: 0;
+ text { font: "Tizen:style=Regular";
+ size: NAVIFRAME_TITLE_SMALL_FONT_SIZE_INC;
+ min: 1 0;
+ max: 1 0;
+ align: 0.0 0.5;
+ }
+ fixed: 1 0;
+ align: 0.0 0.5;
+ rel1.to: "maintitle_text_bg";
+ rel2.to: "maintitle_text_bg";
+ }
+ description { state: "subtitle_is_set_landscape" 0.0;
+ inherit: "subtitle_is_set" 0.0;
+ text.size: NAVIFRAME_LANDSCAPE_TITLE_SMALL_FONT_SIZE_INC;
+ }
+ }
+ part { name: "slide_text_gap2";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 0;
+ min: NAVIFRAME_TITLE_SLIDE_TEXT_GAP 0;
+ max: NAVIFRAME_TITLE_SLIDE_TEXT_GAP -1;
+ align: 0.0 0.5;
+ rel1 { relative: 1.0 0.0; to: "elm.text.full_title"; }
+ rel2 { relative: 1.0 1.0; to: "elm.text.full_title"; }
+ }
+ }
+ part { name: "elm.text.slide_end_title";
+ type: TEXT;
+ effect: FAR_SHADOW BOTTOM;
+ scale: 1;
+ clip_to: "slide_title_text_clip";
+ description { state: "default" 0.0;
+ text { font: "Tizen:style=Regular";
+ size: NAVIFRAME_TITLE_FONT_SIZE_INC;
+ min: 1 0;
+ max: 1 0;
+ align: 0.0 0.5;
+ }
+ color: NAVIFRAME_BG_COLOR;
+ color3: NAVIFRAME_TITLE_TEXT_SHADOW_COLOR_INC;
+ fixed: 1 0;
+ align: 0.0 0.5;
+ rel1.to: "maintitle_text_bg";
+ rel2.to: "maintitle_text_bg";
+ }
+ description { state: "title_slide_begin" 0.0;
+ inherit: "default" 0.0;
+ rel1 { relative: 1.0 0.0; to: "slide_text_gap2"; }
+ rel2 { relative: 1.0 1.0; to: "slide_text_gap2"; }
+ }
+ description { state: "title_slide_end" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: 0.0 0.0;
+ rel2.relative: 0.0 1.0;
+ }
+ description { state: "maintitle_slide_begin" 0.0;
+ text { font: "Tizen:style=Regular";
+ size: NAVIFRAME_TITLE_SMALL_FONT_SIZE_INC;
+ min: 1 0;
+ max: 1 0;
+ align: 0.0 0.5;
+ }
+ color: NAVIFRAME_BG_COLOR;
+ color3: NAVIFRAME_TITLE_TEXT_SHADOW_COLOR_INC;
+ fixed: 1 0;
+ align: 0.0 0.5;
+ rel1 { relative: 1.0 0.0; to: "slide_text_gap2"; }
+ rel2 { relative: 1.0 1.0; to: "slide_text_gap2"; }
+ }
+ description { state: "maintitle_slide_end" 0.0;
+ inherit: "maintitle_slide_begin" 0.0;
+ rel1 { relative: 0.0 0.0; to: "maintitle_text_bg"; }
+ rel2 { relative: 0.0 1.0; to: "maintitle_text_bg"; }
+ }
+ description { state: "maintitle_slide_begin_landscape" 0.0;
+ inherit: "maintitle_slide_begin" 0.0;
+ text.size: NAVIFRAME_LANDSCAPE_TITLE_SMALL_FONT_SIZE_INC;
+ }
+ description { state: "maintitle_slide_end_landscape" 0.0;
+ inherit: "maintitle_slide_end" 0.0;
+ text.size: NAVIFRAME_LANDSCAPE_TITLE_SMALL_FONT_SIZE_INC;
+ }
+ }
+ part { name: "title_text_slide_effect_right_bg";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: NAVIFRAME_PADDING_INC;
+ align: 0.0 0.5;
+ fixed: 1 1;
+ rel1 { relative: 1.0 0.0; to_x: "elm.text.title"; to_y: "title_bg"; }
+ rel2 { relative: 1.0 1.0; to_x: "elm.text.title"; to_y: "title_bg"; }
+ }
+ }
+ part { name: "title_text_slide_effect_right";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 0;
+ clip_to: "slide_subtitle_text_clip";
+ description { state: "default" 0.0;
+ min: NAVIFRAME_TITLE_TEXT_SLIDE_EFFECT_IMAGE_SIZE_INC;
+ align: 1.0 0.5;
+ fixed: 1 1;
+ visible: 0;
+ rel1 { relative: 1.0 0.0; to: "title_text_slide_effect_right_bg"; }
+ rel2 { relative: 1.0 1.0; to: "title_text_slide_effect_right_bg"; }
+ image {
+ normal: "00_effect_title_text_dim_right.png";
+ border: NAVIFRAME_TITLE_TEXT_SLIDE_EFFECT_IMAGE_BORDER_INC;
+ border_scale: 1;
+ }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "subtitle_top_padding";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 0;
+ max: -1 0;
+ fixed: 0 1;
+ align: 0.5 1.0;
+ rel1 { relative: 0.0 0.0; to: "subtitle_text_bg"; }
+ rel2 { relative: 1.0 0.0; to: "subtitle_text_bg"; }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ min: 0 NAVIFRAME_SUBTITLE_TOP_PADDING_H_INC;
+ max: -1 NAVIFRAME_SUBTITLE_TOP_PADDING_H_INC;
+ }
+ description { state: "visible_landscape" 0.0;
+ inherit: "default" 0.0;
+ min: 0 NAVIFRAME_LANDSCAPE_SUBTITLE_TOP_PADDING_H_INC;
+ max: -1 NAVIFRAME_LANDSCAPE_SUBTITLE_TOP_PADDING_H_INC;
+ }
+ }
+ part { name: "subtitle_text_bg";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 0;
+ max: -1 0;
+ fixed: 0 1;
+ align: 0.5 1.0;
+ rel1 { relative: 0.0 1.0; to: "title_text_bg"; }
+ rel2 { relative: 1.0 1.0; to: "title_text_bg"; }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ min: 0 NAVIFRAME_SUBTITLE_H_INC;
+ max: -1 NAVIFRAME_SUBTITLE_H_INC;
+ }
+ description { state: "visible_landscape" 0.0;
+ inherit: "default" 0.0;
+ min: 0 NAVIFRAME_LANDSCAPE_SUBTITLE_H_INC;
+ max: -1 NAVIFRAME_LANDSCAPE_SUBTITLE_H_INC;
+ }
+ }
+ part { name: "subtitle_text_clip";
+ type: RECT;
+ mouse_events: 0;
+ clip_to: "title_clip";
+ description { state: "default" 0.0;
+ rel1.to: "subtitle_text_bg";
+ rel2.to: "subtitle_text_bg";
+ }
+ description { state: "slide" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "elm.text.subtitle";
+ type: TEXT;
+ effect: FAR_SHADOW BOTTOM;
+ scale: 1;
+ clip_to: "subtitle_text_clip";
+ description { state: "default" 0.0;
+ text { font: "Tizen:style=Regular";
+ size: NAVIFRAME_SUBTITLE_FONT_SIZE_INC;
+ min: 0 0;
+ max: 1 0;
+ align: 0.0 0.5;
+ }
+ color: NAVIFRAME_SUBTITLE_TEXT_COLOR_INC;
+ color3: NAVIFRAME_SUBTITLE_TEXT_SHADOW_COLOR_INC;
+ align: 0.0 0.5;
+ rel1.to: "subtitle_text_bg";
+ rel2.to: "subtitle_text_bg";
+ }
+ description { state: "landscape" 0.0;
+ inherit: "default" 0.0;
+ text { font: "Tizen:style=Regular";
+ size: NAVIFRAME_LANDSCAPE_SUBTITLE_FONT_SIZE_INC;
+ min: 0 0;
+ max: 1 0;
+ align: 0.0 0.5;
+ }
+ }
+ }
+ part { name: "slide_subtitle_text_clip";
+ type: RECT;
+ mouse_events: 0;
+ clip_to: "title_clip";
+ description { state: "default" 0.0;
+ visible: 0;
+ rel1.to: "elm.text.subtitle";
+ rel2.to: "elm.text.subtitle";
+ }
+ description { state: "slide" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "slide_subtitle_divider1";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 0;
+ min: NAVIFRAME_SUBTITLE_SLIDE_TEXT_GAP 0;
+ max: NAVIFRAME_SUBTITLE_SLIDE_TEXT_GAP -1;
+ align: 1.0 0.5;
+ rel1 { relative: 0.0 0.0; to: "subtitle_text_bg"; }
+ rel2 { relative: 0.0 1.0; to: "subtitle_text_bg"; }
+ }
+ }
+ part { name: "elm.text.slide_begin_subtitle";
+ type: TEXT;
+ effect: FAR_SHADOW BOTTOM;
+ scale: 1;
+ clip_to: "slide_subtitle_text_clip";
+ description { state: "default" 0.0;
+ text { font: "Tizen:style=Regular";
+ size: NAVIFRAME_SUBTITLE_FONT_SIZE_INC;
+ min: 1 0;
+ max: 1 0;
+ align: 0.0 0.5;
+ }
+ color: NAVIFRAME_SUBTITLE_TEXT_COLOR_INC;
+ color3: NAVIFRAME_SUBTITLE_TEXT_SHADOW_COLOR_INC;
+ fixed: 1 0;
+ align: 0.0 0.5;
+ rel1.to: "subtitle_text_bg";
+ rel2.to: "subtitle_text_bg";
+ }
+ description { state: "slide_begin" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: 0.0 0.0;
+ rel2.relative: 0.0 1.0;
+ }
+ description { state: "slide_end" 0.0;
+ inherit: "default" 0.0;
+ text.align: 1.0 0.5;
+ align: 1.0 0.5;
+ rel1 { relative: 0.0 0.0; to: "slide_subtitle_divider1"; }
+ rel2 { relative: 0.0 1.0; to: "slide_subtitle_divider1"; }
+ }
+ description { state: "slide_begin_landscape" 0.0;
+ inherit: "default" 0.0;
+ text.size: NAVIFRAME_LANDSCAPE_SUBTITLE_FONT_SIZE_INC;
+ rel1 { relative: 0.0 0.0; to: "subtitle_text_bg"; }
+ rel2 { relative: 0.0 1.0; to: "subtitle_text_bg"; }
+ }
+ description { state: "slide_end_landscape" 0.0;
+ inherit: "slide_begin_landscape" 0.0;
+ text.align: 1.0 0.5;
+ align: 1.0 0.5;
+ rel1 { relative: 0.0 0.0; to: "slide_subtitle_divider1"; }
+ rel2 { relative: 0.0 1.0; to: "slide_subtitle_divider1"; }
+ }
+ }
+ part { name: "subtitle_text_slide_effect_left";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 0;
+ clip_to: "slide_subtitle_text_clip";
+ description { state: "default" 0.0;
+ min: NAVIFRAME_TITLE_TEXT_SLIDE_EFFECT_IMAGE_SIZE_INC;
+ align: 0.0 0.5;
+ fixed: 1 1;
+ visible: 0;
+ rel1 { relative: 0.0 0.0; to: "title_text_slide_effect_left_bg"; }
+ rel2 { relative: 0.0 1.0; to: "title_text_slide_effect_left_bg"; }
+ image {
+ normal: "00_effect_title_text_dim_left.png";
+ border: NAVIFRAME_TITLE_TEXT_SLIDE_EFFECT_IMAGE_BORDER_INC;
+ border_scale: 1;
+ }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "elm.text.full_subtitle";
+ type: TEXT;
+ effect: FAR_SHADOW BOTTOM;
+ scale: 1;
+ clip_to: "slide_subtitle_text_clip";
+ description { state: "default" 0.0;
+ visible: 0;
+ text { font: "Tizen:style=Regular";
+ size: NAVIFRAME_SUBTITLE_FONT_SIZE_INC;
+ min: 1 0;
+ max: 1 0;
+ align: 0.0 0.5;
+ }
+ fixed: 1 0;
+ align: 0.0 0.5;
+ rel1.to: "subtitle_text_bg";
+ rel2.to: "subtitle_text_bg";
+ }
+ description { state: "landscape" 0.0;
+ inherit: "default" 0.0;
+ text.size: NAVIFRAME_LANDSCAPE_SUBTITLE_FONT_SIZE_INC;
+ }
+ }
+ part { name: "slide_subtitle_divider2";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 0;
+ min: NAVIFRAME_SUBTITLE_SLIDE_TEXT_GAP 0;
+ max: NAVIFRAME_SUBTITLE_SLIDE_TEXT_GAP -1;
+ align: 0.0 0.5;
+ rel1 { relative: 1.0 0.0; to: "elm.text.full_subtitle"; }
+ rel2 { relative: 1.0 1.0; to: "elm.text.full_subtitle"; }
+ }
+ }
+ part { name: "elm.text.slide_end_subtitle";
+ type: TEXT;
+ effect: FAR_SHADOW BOTTOM;
+ scale: 1;
+ clip_to: "slide_subtitle_text_clip";
+ description { state: "default" 0.0;
+ text { font: "Tizen:style=Regular";
+ size: NAVIFRAME_SUBTITLE_FONT_SIZE_INC;
+ min: 1 0;
+ max: 1 0;
+ align: 0.0 0.5;
+ }
+ color: NAVIFRAME_SUBTITLE_TEXT_COLOR_INC;
+ color3: NAVIFRAME_SUBTITLE_TEXT_SHADOW_COLOR_INC;
+ fixed: 1 0;
+ align: 0.0 0.5;
+ rel1.to: "subtitle_text_bg";
+ rel2.to: "subtitle_text_bg";
+ }
+ description { state: "slide_begin" 0.0;
+ inherit: "default" 0.0;
+ rel1 { relative: 1.0 0.0; to: "slide_subtitle_divider2"; }
+ rel2 { relative: 1.0 1.0; to: "slide_subtitle_divider2"; }
+ }
+ description { state: "slide_end" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: 0.0 0.0;
+ rel2.relative: 0.0 1.0;
+ }
+ description { state: "slide_begin_landscape" 0.0;
+ inherit: "default" 0.0;
+ text.size: NAVIFRAME_LANDSCAPE_SUBTITLE_FONT_SIZE_INC;
+ rel1 { relative: 1.0 0.0; to: "slide_subtitle_divider2"; }
+ rel2 { relative: 1.0 1.0; to: "slide_subtitle_divider2"; }
+ }
+ description { state: "slide_end_landscape" 0.0;
+ inherit: "slide_begin_landscape" 0.0;
+ rel1.relative: 0.0 0.0;
+ rel2.relative: 0.0 1.0;
+ }
+ }
+ part { name: "subtitle_text_slide_effect_right_bg";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: NAVIFRAME_PADDING_INC;
+ align: 0.0 0.5;
+ fixed: 1 1;
+ rel1 { relative: 1.0 0.0; to_x: "elm.text.subtitle"; to_y: "title_bg"; }
+ rel2 { relative: 1.0 1.0; to_x: "elm.text.subtitle"; to_y: "title_bg"; }
+ }
+ }
+ part { name: "subtitle_text_slide_effect_right";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 0;
+ clip_to: "slide_subtitle_text_clip";
+ description { state: "default" 0.0;
+ min: NAVIFRAME_TITLE_TEXT_SLIDE_EFFECT_IMAGE_SIZE_INC;
+ align: 1.0 0.5;
+ fixed: 1 1;
+ visible: 0;
+ rel1 { relative: 1.0 0.0; to: "subtitle_text_slide_effect_right_bg"; }
+ rel2 { relative: 1.0 1.0; to: "subtitle_text_slide_effect_right_bg"; }
+ image {
+ normal: "00_effect_title_text_dim_right.png";
+ border: NAVIFRAME_TITLE_TEXT_SLIDE_EFFECT_IMAGE_BORDER_INC;
+ border_scale: 1;
+ }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "badge_left_padding";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 0;
+ max: 0 0;
+ fixed: 1 1;
+ rel1 { relative: 1.0 0.0; to: "elm.text.title"; }
+ rel2 { relative: 1.0 1.0; to: "elm.text.title"; }
+ align: 0.0 0.5;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ min: NAVIFRAME_BADGE_LEFT_PADDING_INC;
+ max: NAVIFRAME_BADGE_LEFT_PADDING_INC;
+ }
+ }
+ part { name: "left.padding.text";
+ type: SPACER;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ fixed: 1 1;
+ min: 0 0;
+ max: 0 0;
+ rel1 {
+ to: "badge_left_padding";
+ relative: 1.0 0.0;
+ }
+ rel2 {
+ to: "badge_left_padding";
+ relative: 1.0 1.0;
+ }
+ align: 0.0 0.5;
+ }
+ description {
+ state: "visible" 0.0;
+ inherit: "default" 0.0;
+ min: NAVIFRAME_BADGE_TEXT_LEFT_PADDING_INC;
+ max: NAVIFRAME_BADGE_TEXT_LEFT_PADDING_INC;
+ }
+ }
+ part { name: "right.padding.text";
+ type: SPACER;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ fixed: 1 1;
+ min: 0 0;
+ max: 0 0;
+ rel1 {
+ to: "title_badge";
+ relative: 1.0 0.0;
+ }
+ rel2 {
+ to: "title_badge";
+ relative: 1.0 1.0;
+ }
+ align: 0.0 0.5;
+ }
+ description {
+ state: "visible" 0.0;
+ inherit: "default" 0.0;
+ min: NAVIFRAME_BADGE_TEXT_LEFT_PADDING_INC;
+ max: NAVIFRAME_BADGE_TEXT_LEFT_PADDING_INC;
+ }
+ }
+ 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 {
+ to: "left.padding.text";
+ relative: 0.0 0.0;
+ }
+ rel2 {
+ to: "right.padding.text";
+ relative: 1.0 1.0;
+ }
+ image {
+ normal: "00_badge_bg.png";
+ border: NAVIFRAME_BADGE_BG_IMAGE_BORDER_INC;
+ border_scale: 1;
+ }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ min: NAVIFRAME_BADGE_BG_IMAGE_SIZE_INC;
+ }
+ }
+ part { name: "title_badge";
+ type: TEXT;
+ mouse_events: 0;
+ scale: 1;
+ clip_to: "title_clip";
+ description { state: "default" 0.0;
+ visible: 0;
+ min: NAVIFRAME_BADGE_TEXT_MIN_W_INC 0;
+ fixed: 1 1;
+ rel1 { relative: 1.0 0.0; to: "left.padding.text"; }
+ rel2 { relative: 1.0 1.0; to_y: "left.padding.text"; to_x: "badge_padding"; }
+ align: 0.0 0.5;
+ color: NAVIFRAME_BADGE_TEXT_COLOR_INC;
+ text {
+ font: "Tizen:style=Bold";
+ size: NAVIFRAME_BADGE_TEXT_H_INC;
+ min: 1 0;
+ max: 1 0;
+ }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ 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;
+ fixed: 1 1;
+ rel1.to: "title_bg";
+ rel2.to: "title_bg";
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "divider1";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ clip_to: "title_clip";
+ description { state: "default" 0.0;
+ min: 0 0;
+ max: 0 -1;
+ fixed: 1 1;
+ color: NAVIFRAME_TITLE_BUTTON_DIVIDER_COLOR_INC;
+ rel1 { relative: 0.0 0.0; to: "title_left_btn"; }
+ rel2 { relative: 0.0 1.0; to: "title_left_btn"; }
+ align: 1.0 0.5;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ min: 2 48;
+ max: 2 48;
+ }
+ }
+ part { name: "title_left_btn";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "title_clip";
+ description { state: "default" 0.0;
+ max: NAVIFRAME_TITLE_FUNC_BTN_SIZE_INC;
+ fixed: 1 0;
+ align: 1.0 0.5;
+ rel1 { relative: 0.0 0.0; to_x: "divider2"; to_y: "title_bg"; }
+ rel2 { relative: 0.0 1.0; to_x: "divider2"; to_y: "title_bg"; }
+ }
+ description { state: "landscape" 0.0;
+ inherit: "default" 0.0;
+ max: NAVIFRAME_LANDSCAPE_TITLE_FUNC_BTN_SIZE_INC;
+ }
+ description { state: "hide" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "divider2";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ clip_to: "title_clip";
+ description { state: "default" 0.0;
+ min: 0 0;
+ max: 0 -1;
+ fixed: 1 1;
+ color: NAVIFRAME_TITLE_BUTTON_DIVIDER_COLOR_INC;
+ rel1 { relative: 0.0 0.0; to: "title_right_btn"; }
+ rel2 { relative: 0.0 1.0; to: "title_right_btn"; }
+ align: 1.0 0.5;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ min: 2 48;
+ max: 2 48;
+ }
+ }
+ part { name: "icon_left_padding";
+ type: SPACER;
+ scale: 1;
+ clip_to: "title_clip";
+ description { state: "default" 0.0;
+ min: NAVIFRAME_PADDING_INC;
+ fixed: 1 0;
+ align: 0.0 0.5;
+ rel1 { relative: 0.0 0.0; to: "title_bg"; }
+ rel2 { relative: 0.0 1.0; to: "title_bg"; }
+ }
+ }
+ part { name: "elm.swallow.icon";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "title_clip";
+ description { state: "default" 0.0;
+ max: NAVIFRAME_ICON_SIZE_INC;
+ fixed: 1 0;
+ align: 0.0 0.5;
+ rel1 { relative: 1.0 0.0; to: "icon_left_padding"; }
+ rel2 { relative: 1.0 1.0; to: "icon_left_padding"; }
+ }
+ description { state: "hide" 0.0;
+ inherit: "default" 0.0;
+ max: 0 -1;
+ visible: 0;
+ }
+ }
+ part { name: "title_right_btn";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "title_clip";
+ description { state: "default" 0.0;
+ max: NAVIFRAME_TITLE_FUNC_BTN_SIZE_INC;
+ fixed: 1 0;
+ align: 1.0 0.5;
+ rel1 { relative: 1.0 0.0; to: "title_bg"; }
+ rel2 { relative: 1.0 1.0; to: "title_bg"; }
+ }
+ description { state: "landscape" 0.0;
+ inherit: "default" 0.0;
+ max: NAVIFRAME_LANDSCAPE_TITLE_FUNC_BTN_SIZE_INC;
+ }
+ description { state: "hide" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "toolbar";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "toolbar_clip";
+ 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"; }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ min: 0 NAVIFRAME_TOOLBAR_HEIGHT_INC;
+ max: 999999 NAVIFRAME_TOOLBAR_HEIGHT_INC;
+ visible: 1;
+ }
+ description { state: "visible_landscape" 0.0;
+ inherit: "default" 0.0;
+ min: 0 NAVIFRAME_LANDSCAPE_TOOLBAR_HEIGHT_INC;
+ max: 999999 NAVIFRAME_LANDSCAPE_TOOLBAR_HEIGHT_INC;
+ visible: 1;
+ }
+ }
+ part { name: "more_btn_bg";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: NAVIFRAME_TOOLBAR_BUTTON_BG_PADDING_INC;
+ fixed: 1 0;
+ align: 0.0 0.0;
+ rel1 { relative: 0.0 0.0; to: "toolbar"; }
+ rel2 { relative: 0.0 1.0; to: "toolbar"; }
+ }
+ }
+ part { name: "toolbar_more_btn";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "toolbar_clip";
+ description { state: "default" 0.0;
+ max: NAVIFRAME_PREV_FUNC_BTN_SIZE_INC;
+ fixed: 1 1;
+ rel1.to: "more_btn_bg";
+ rel2.to: "more_btn_bg";
+ visible: 0;
+ }
+ description { state: "landscape" 0.0;
+ inherit: "default" 0.0;
+ max: NAVIFRAME_LANDSCAPE_PREV_FUNC_BTN_SIZE_INC;
+ }
+ }
+ part { name: "prev_btn_bg";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: NAVIFRAME_TOOLBAR_BUTTON_BG_PADDING_INC;
+ fixed: 1 0;
+ align: 1.0 0.0;
+ rel1 { relative: 1.0 0.0; to: "toolbar"; }
+ rel2.to: "toolbar";
+ }
+ }
+ part { name: "elm.swallow.prev_btn";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "toolbar_clip";
+ description { state: "default" 0.0;
+ max: NAVIFRAME_PREV_FUNC_BTN_SIZE_INC;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ rel1.to: "prev_btn_bg";
+ rel2.to: "prev_btn_bg";
+ visible: 0;
+ }
+ description { state: "landscape" 0.0;
+ inherit: "default" 0.0;
+ max: NAVIFRAME_LANDSCAPE_PREV_FUNC_BTN_SIZE_INC;
+ }
+ }
+ part { name: "toolbar_clip";
+ type: RECT;
+ mouse_events: 0;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ rel1 { to: "toolbar"; }
+ rel2 { to: "toolbar"; }
+ }
+ }
+ }
+ 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";
+ script {
+ set_state(PART:"clipper", "default", 0.0);
+ run_program(PROGRAM:"start_title_slide");
+ }
+ }
+ program { name: "invisible";
+ signal: "elm,state,invisible";
+ source: "elm";
+ script {
+ run_program(PROGRAM:"stop_title_slide");
+ set_state(PART:"clipper", "hide", 0.0);
+ }
+ }
+ program { name: "start_title_slide";
+ signal: "elm,action,title,slide,start";
+ source: "";
+ script {
+ run_program(PROGRAM:"stop_title_slide");
+ set_int(title_slide_start_timer, timer(1.5, "start_slide", 0));
+ if (get_int(subtitle))
+ set_int(subtitle_slide_start_timer, timer(1.5, "start_slide", 1));
+ }
+ }
+ program { name: "stop_title_slide";
+ signal: "elm,action,title,slide,stop";
+ source: "";
+ script {
+ if (!get_int(title_slide_stop) || get_int(title_slide_start_timer))
+ stop_slide(0);
+ if (get_int(subtitle))
+ if (!get_int(subtitle_slide_stop) || get_int(subtitle_slide_start_timer))
+ stop_slide(1);
+ }
+ }
+ program { name: "title_show";
+ signal: "elm,state,title,show";
+ source: "elm";
+ script {
+ if (!get_int(landscape)) {
+ set_state(PART:"title_bg", "default", 0.0);
+ set_state(PART:"title_right_btn", "default", 0.0);
+ set_state(PART:"title_left_btn", "default", 0.0);
+ }
+ else {
+ set_state(PART:"title_bg", "landscape", 0.0);
+ set_state(PART:"title_right_btn", "landscape", 0.0);
+ set_state(PART:"title_left_btn", "landscape", 0.0);
+ }
+ set_state(PART:"elm.swallow.icon", "default", 0.0);
+ run_program(PROGRAM:"start_title_slide");
+ }
+ }
+ program { name: "title_hide";
+ signal: "elm,state,title,hide";
+ source: "elm";
+ script {
+ run_program(PROGRAM:"stop_title_slide");
+ set_state(PART:"title_bg", "hide", 0.0);
+ set_state(PART:"title_right_btn", "hide", 0.0);
+ set_state(PART:"title_left_btn", "hide", 0.0);
+ set_state(PART:"elm.swallow.icon", "hide", 0.0);
+ }
+ }
+ program { name: "title_show_anim";
+ signal: "elm,action,title,show";
+ source: "elm";
+ script {
+ set_state(PART:"elm.swallow.icon", "default", 0.0);
+ if (!get_int(landscape)) {
+ set_state(PART:"title_bg", "hide_trans", 0.0);
+ set_state(PART:"title_right_btn", "default", 0.0);
+ set_state(PART:"title_left_btn", "default", 0.0);
+ run_program(PROGRAM:"title_show_anim_start_default");
+ }
+ else {
+ set_state(PART:"title_bg", "hide_trans_landscape", 0.0);
+ set_state(PART:"title_right_btn", "landscape", 0.0);
+ set_state(PART:"title_left_btn", "landscape", 0.0);
+ run_program(PROGRAM:"title_show_anim_start_landscape");
+ }
+ }
+ }
+ program { name: "title_show_anim_start_default";
+ action: STATE_SET "default" 0.0;
+ target: "title_bg";
+ transition: SIN_FAC NAVIFRAME_TITLE_TRANS_TIME 1.7;
+ after: "title_show_anim_finished";
+ }
+ program { name: "title_show_anim_start_landscape";
+ action: STATE_SET "landscape" 0.0;
+ target: "title_bg";
+ transition: SIN_FAC NAVIFRAME_TITLE_TRANS_TIME 1.7;
+ after: "title_show_anim_finished";
+ }
+ program { name: "title_show_anim_finished";
+ script {
+ emit("elm,action,title,transition,finished", "");
+ run_program(PROGRAM:"start_title_slide");
+ }
+ }
+ program { name: "title_hide_trans";
+ signal: "elm,action,title,hide";
+ source: "elm";
+ script {
+ run_program(PROGRAM:"stop_title_slide");
+
+ if (!get_int(landscape)) {
+ set_state(PART:"title_bg", "default", 0.0);
+ run_program(PROGRAM:"title_hide_trans_start_default");
+ }
+ else {
+ set_state(PART:"title_bg", "landscape", 0.0);
+ run_program(PROGRAM:"title_hide_trans_start_landscape");
+ }
+ }
+ }
+ program { name: "title_hide_trans_start_default";
+ action: STATE_SET "hide_trans" 0.0;
+ target: "title_bg";
+ transition: SIN_FAC NAVIFRAME_TITLE_TRANS_TIME 1.7;
+ after: "title_hide_trans_finished";
+ }
+ program { name: "title_hide_trans_start_landscape";
+ action: STATE_SET "hide_trans_landscape" 0.0;
+ target: "title_bg";
+ transition: SIN_FAC NAVIFRAME_TITLE_TRANS_TIME 1.7;
+ after: "title_hide_trans_finished";
+ }
+ program { name: "title_hide_trans_finished";
+ script {
+ set_state(PART:"title_bg", "hide", 0.0);
+ set_state(PART:"title_right_btn", "hide", 0.0);
+ set_state(PART:"title_left_btn", "hide", 0.0);
+ set_state(PART:"elm.swallow.icon", "hide", 0.0);
+ emit("elm,action,title,transition,finished", "");
+ }
+ }
+ program { name: "title_label_show";
+ signal: "elm,state,title_label,show";
+ source: "elm";
+ script {
+ run_program(PROGRAM:"start_title_slide");
+ }
+ }
+ program { name: "title_label_hide";
+ signal: "elm,state,title_label,hide";
+ source: "elm";
+ script {
+ run_program(PROGRAM:"stop_title_slide");
+ }
+ }
+ program { name: "subtitle_show";
+ signal: "elm,state,subtitle,show";
+ source: "elm";
+ script {
+ set_state(PART:"maintitle_text_bg", "subtitle_is_set", 0.0);
+ if (!get_int(landscape)) {
+ set_state(PART:"elm.text.title", "subtitle_is_set", 0.0);
+ set_state(PART:"subtitle_top_padding", "visible", 0.0);
+ set_state(PART:"subtitle_text_bg", "visible", 0.0);
+ }
+ else {
+ set_state(PART:"elm.text.title", "subtitle_is_set_landscape", 0.0);
+ set_state(PART:"subtitle_top_padding", "visible_landscape", 0.0);
+ set_state(PART:"subtitle_text_bg", "visible_landscape", 0.0);
+ }
+ set_int(subtitle, 1);
+ run_program(PROGRAM:"start_title_slide");
+ }
+ }
+ program { name: "subtitle_hide";
+ signal: "elm,state,subtitle,hide";
+ source: "elm";
+ script {
+ set_state(PART:"maintitle_text_bg", "default", 0.0);
+ set_state(PART:"subtitle_top_padding", "default", 0.0);
+ set_state(PART:"subtitle_text_bg", "default", 0.0);
+ set_state(PART:"elm.text.title", "default", 0.0);
+ set_int(subtitle, 0);
+ run_program(PROGRAM:"stop_title_slide");
+ }
+ }
+ program { name: "icon_show";
+ signal: "elm,state,icon,show";
+ source: "elm";
+ script {
+ set_state(PART:"elm.swallow.icon", "default", 0.0);
+ set_state(PART:"title_left_padding", "icon", 0.0);
+ }
+ }
+ program { name: "icon_hide";
+ signal: "elm,state,icon,hide";
+ source: "elm";
+ script {
+ set_state(PART:"elm.swallow.icon", "hide", 0.0);
+ set_state(PART:"title_left_padding", "default", 0.0);
+ }
+ }
+ program { name: "title_left_btn_show";
+ signal: "elm,state,title_left_btn,show";
+ source: "elm";
+ script {
+ set_state(PART:"divider1", "visible", 0.0);
+ set_state(PART:"title_right_padding", "title_left_btn_set", 0.0);
+ }
+ }
+ program { name: "title_left_btn_hide";
+ signal: "elm,state,title_left_btn,hide";
+ source: "elm";
+ script {
+ set_state(PART:"divider1", "default", 0.0);
+ set_state(PART:"title_right_padding", "default", 0.0);
+ }
+ }
+ program { name: "title_right_btn_show";
+ signal: "elm,state,title_right_btn,show";
+ source: "elm";
+ action: STATE_SET "visible" 0.0;
+ target: "divider2";
+ }
+ program { name: "title_right_btn_hide";
+ signal: "elm,state,title_right_btn,hide";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "divider2";
+ }
+ program { name: "toolbar_show";
+ signal: "elm,state,toolbar,show";
+ source: "elm";
+ script {
+ if (!get_int(landscape))
+ set_state(PART:"toolbar", "visible", 0.0);
+ else
+ set_state(PART:"toolbar", "visible_landscape", 0.0);
+ }
+ }
+ program { name: "toolbar_hide";
+ signal: "elm,state,toolbar,hide";
+ source: "elm";
+ script {
+ set_state(PART:"toolbar", "default", 0.0);
+ }
+ }
+ program { name: "toolbar_open_internal";
+ signal: "elm,state,toolbar,open,internal";
+ source: "elm";
+ script {
+ set_int(tbar_close, 0);
+ if (!get_int(landscape))
+ set_state(PART:"toolbar", "visible", 0.0);
+ else
+ set_state(PART:"toolbar", "visible_landscape", 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", "default", 0.0);
+ }
+ }
+ program { name: "toolbar_open";
+ signal: "elm,state,toolbar,open";
+ source: "";
+ script {
+ if (!get_int(landscape))
+ set_state(PART:"toolbar", "visible", 0.0);
+ else
+ set_state(PART:"toolbar", "visible_landscape", 0.0);
+ }
+ 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";
+ 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";
+ script {
+ run_program(PROGRAM:"stop_title_slide");
+ emit("elm,action,pushed,finished", "");
+ }
+ }
+ program { name: "popped_finished";
+ script {
+ run_program(PROGRAM:"stop_title_slide");
+ emit("elm,action,popped,finished", "");
+ }
+ }
+ program {
+ name: "title_clicked";
+ signal: "mouse,clicked,1";
+ source: "click_event_area";
+ script {
+ emit("elm,action,title,clicked", "");
+ }
+ }
+ program {
+ name: "title_badge_show";
+ signal: "elm,state,title_badge,show";
+ source: "elm";
+ script {
+ set_state(PART:"badge_left_padding", "visible", 0.0);
+ set_state(PART:"badge_padding", "visible", 0.0);
+ set_state(PART:"left.padding.text", "visible", 0.0);
+ set_state(PART:"right.padding.text", "visible", 0.0);
+ set_state(PART:"badge_bg", "visible", 0.0);
+ set_state(PART:"title_badge", "visible", 0.0);
+ set_int(title_badge_visible, 1);
+ run_program(PROGRAM:"start_title_slide");
+ }
+ }
+ program {
+ name: "title_badge_hide";
+ signal: "elm,state,title_badge,hide";
+ source: "elm";
+ script {
+ set_state(PART:"badge_left_padding", "default", 0.0);
+ set_state(PART:"badge_padding", "default", 0.0);
+ set_state(PART:"left.padding.text", "default", 0.0);
+ set_state(PART:"right.padding.text", "default", 0.0);
+ set_state(PART:"badge_bg", "default", 0.0);
+ set_state(PART:"title_badge", "default", 0.0);
+ set_int(title_badge_visible, 0);
+ run_program(PROGRAM:"start_title_slide");
+ }
+ }
+ program {
+ name: "change_to_landscape";
+ script {
+ if (!get_int(landscape)) {
+ set_state(PART:"title_text_bg", "landscape", 0.0);
+ set_state(PART:"elm.text.subtitle", "landscape", 0.0);
+ set_state(PART:"title_right_btn", "landscape", 0.0);
+ set_state(PART:"title_left_btn", "landscape", 0.0);
+ set_state(PART:"toolbar_more_btn", "landscape", 0.0);
+ set_state(PART:"elm.swallow.prev_btn", "landscape", 0.0);
+
+ new st[31];
+ new Float:vl;
+ get_state(PART:"title_bg", st, 30, vl);
+ if (!strcmp(st, "default"))
+ set_state(PART:"title_bg", "landscape", 0.0);
+
+ get_state(PART:"elm.text.title", st, 30, vl);
+ if (!strcmp(st, "subtitle_is_set"))
+ set_state(PART:"elm.text.title", "subtitle_is_set_landscape", 0.0);
+
+ get_state(PART:"subtitle_top_padding", st, 30, vl);
+ if (!strcmp(st, "visible"))
+ set_state(PART:"subtitle_top_padding", "visible_landscape", 0.0);
+
+ get_state(PART:"subtitle_text_bg", st, 30, vl);
+ if (!strcmp(st, "visible"))
+ set_state(PART:"subtitle_text_bg", "visible_landscape", 0.0);
+
+ get_state(PART:"toolbar", st, 30, vl);
+ if (!strcmp(st, "visible"))
+ set_state(PART:"toolbar", "visible_landscape", 0.0);
+
+ set_int(landscape, 1);
+ run_program(PROGRAM:"start_title_slide");
+ }
+ }
+ }
+ program {
+ name: "change_to_portrait";
+ script {
+ if (get_int(landscape)) {
+ set_state(PART:"title_text_bg", "default", 0.0);
+ set_state(PART:"elm.text.subtitle", "default", 0.0);
+ set_state(PART:"title_right_btn", "default", 0.0);
+ set_state(PART:"title_left_btn", "default", 0.0);
+ set_state(PART:"toolbar_more_btn", "default", 0.0);
+ set_state(PART:"elm.swallow.prev_btn", "default", 0.0);
+
+ new st[31];
+ new Float:vl;
+ get_state(PART:"title_bg", st, 30, vl);
+ if (!strcmp(st, "landscape"))
+ set_state(PART:"title_bg", "default", 0.0);
+
+ get_state(PART:"elm.text.title", st, 30, vl);
+ if (!strcmp(st, "subtitle_is_set_landscape"))
+ set_state(PART:"elm.text.title", "subtitle_is_set", 0.0);
+
+ get_state(PART:"subtitle_top_padding", st, 30, vl);
+ if (!strcmp(st, "visible_landscape"))
+ set_state(PART:"subtitle_top_padding", "visible", 0.0);
+
+ get_state(PART:"subtitle_text_bg", st, 30, vl);
+ if (!strcmp(st, "visible_landscape"))
+ set_state(PART:"subtitle_text_bg", "visible", 0.0);
+
+ get_state(PART:"toolbar", st, 30, vl);
+ if (!strcmp(st, "visible_landscape"))
+ set_state(PART:"toolbar", "visible", 0.0);
+
+ set_int(landscape, 0);
+ run_program(PROGRAM:"start_title_slide");
+ }
+ }
+ }
+ 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: "hide_top_line";
+ source: "*";
+ signal: "hide.topline";
+ script {
+ set_state(PART:"topline", "hide", 0.0);
+ }
+ }
+ program { name: "show_top_line";
+ source: "*";
+ signal: "show.topline";
+ script {
+ set_state(PART:"topline", "default", 0.0);
+ }
+ }
+ }
+ }
+
+
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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) 2000-2015 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) 2000-2015 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 PV_OPTION_SHUFFLE_ON_SX (0.05)
+#define PV_OPTION_SHUFFLE_ON_EX (0.15)
+
+
+#define PV_OPTION_REP_SX (0.85)
+#define PV_OPTION_REP_EX (0.95)
+
+#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_REP_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_FOCUSED_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_REP_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_FOCUSED_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_FOCUSED_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_FOCUSED_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) 2000-2015 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) 2000-2015 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) 2000-2015 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) 2000-2015 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) 2000-2015 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) 2000-2015 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) 2000-2015 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) 2000-2015 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;\
+ }
+
+#ifdef MP_3D_FEATURE
+group {
+ name: "mp_play_view_base";
+
+ 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 : "now_playing";
+ type: SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0 0;
+ min: 0 100;
+ fixed: 0 1;
+ visible: 0;
+ rel1 { relative: 0.0 0.0;}
+ rel2 { relative: 1.0 0.0;}
+
+ }
+ description {
+ state: "show" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+
+ part {
+ name : "content";
+ type: SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: 0.0 0.0;}
+ rel2 { relative: 1.0 1.0;}
+ }
+ description {
+ state: "show" 0.0;
+ rel1 { relative: 0.0 1.0; to_y: "now_playing"; offset: 0 1;}
+ rel2 { relative: 1.0 1.0;}
+ }
+ }
+
+ part {
+ name: "elm.swallow.content.selectioninfo";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ align: 0.0 1.0;
+ min: 0 PLAYVIEW_SELECTINFO_H;
+ fixed: 0 1;
+ visible: 1;
+ rel1 {
+ relative: 0.0 PLAYVIEW_CONTROLBAR_SY;
+ }
+ rel2 {
+ relative: 1.0 PLAYVIEW_CONTROLBAR_SY;
+ }
+ }
+ description { state: "hide" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ }
+
+ programs {
+ program {
+ name : "show_now_playng";
+ signal : "SHOW_NOW_PLAING";
+ source : "music_app";
+ action : STATE_SET "show" 0.0;
+ target : "now_playing";
+ target : "content";
+ }
+ program {
+ name : "hide_now_playng";
+ signal : "HIDE_NOW_PLAING";
+ source : "music_app";
+ action : STATE_SET "default" 0.0;
+ target : "now_playing";
+ target : "content";
+ }
+ 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";
+ }
+ }
+}
+#endif
+
+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
+
+#ifdef MP_FEATURE_APP_IN_APP
+#define TITILE_ICON_PAD 5
+#define TITILE_ICON_W 100
+
+#define TITLE_MINI_PLAYER_SX ((TITLE_BOX_W-TITILE_ICON_W)/TITLE_BOX_W)
+#define TITLE_MINI_PLAYER_SY (TITILE_PAD/TITLE_BOX_H)
+#define TITLE_MINI_PLAYER_EX 1.0
+#define TITLE_MINI_PLAYER_EY ((TITLE_BOX_H-TITILE_PAD)/TITLE_BOX_H)
+
+#define TITLE_SOUND_PATH_BG_SX ((TITLE_BOX_W-TITILE_ICON_W*2-TITILE_ICON_PAD)/TITLE_BOX_W)
+#define TITLE_SOUND_PATH_BG_SY TITLE_MINI_PLAYER_SY
+#define TITLE_SOUND_PATH_BG_EX (TITLE_MINI_PLAYER_SX-TITILE_ICON_PAD/TITLE_BOX_W)
+#define TITLE_SOUND_PATH_BG_EY TITLE_MINI_PLAYER_EY
+
+#define TITLE_NEARBY_DEVICE_BG_SX ((TITLE_BOX_W-TITILE_ICON_W*3-TITILE_ICON_PAD*2)/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
+
+#else
+#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
+#endif
+
+#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;
+ }
+ }
+
+#ifdef MP_FEATURE_APP_IN_APP
+ part { name: "mini_player";
+ mouse_events: 1;
+ type : SWALLOW;
+ description { state: "default" 0.0;
+ rel1 { relative: TITLE_MINI_PLAYER_SX TITLE_MINI_PLAYER_SY; to: "bg";}
+ rel2 { relative: TITLE_MINI_PLAYER_EX TITLE_MINI_PLAYER_EY; to: "bg";}
+ }
+ }
+#endif
+ 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) 2000-2015 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) 2000-2015 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;
+ 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;
+ }
+ 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) 2000-2015 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: 690/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: "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: "options_favourite_on";
+ type: SWALLOW;
+ scale: 1;
+ 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: "visible" 0.0;
+ inherit: "default";
+ visible: 1;
+ }
+ }
+ part {
+ name: "options_favourite_off";
+ type: SWALLOW;
+ scale: 1;
+ 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: "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: "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 10;
+ 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;
+ 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;
+ 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) 2000-2015 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;
+ 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;
+ }
+ 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;
+ 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;
+ }
+ }
+ 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;
+ }
+ 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;
+ }
+ 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) 2000-2015 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) 2000-2015 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;
+ }
+ 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;
+ }
+ 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;
+ }
+ 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;
+ }
+ 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) 2000-2015 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
+
+group { name: "elm/slider/horizontal/music/tap_to_drag";
+ images {
+ image: "00_progress_bg.png" COMP;
+ image: "00_progress_bar.png" COMP;
+ }
+ script {
+ public invert_on = 0;
+ public set_invert_on() {
+ set_state(PART:"level", "inverted", 0.0);
+ set_state(PART:"level2", "inverted", 0.0);
+ set_int(invert_on, 1);
+ }
+ public set_invert_off() {
+ set_state(PART:"level", "default", 0.0);
+ set_state(PART:"level2", "default", 0.0);
+ set_int(invert_on, 0);
+ }
+ public thumb_down() {
+ if(get_int(invert_on) == 0)
+ set_state(PART:"level", "pressed", 0.0);
+ else if(get_int(invert_on) == 1)
+ set_state(PART:"level2", "pressed", 0.0);
+ }
+ public thumb_up() {
+ if(get_int(invert_on) == 0)
+ set_state(PART:"level", "default", 0.0);
+ else if(get_int(invert_on) == 1)
+ set_state(PART:"level2", "inverted", 0.0);
+ }
+ }
+ parts {
+ part { name: "access";
+ type: RECT;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "base";
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 30 SLIDER_BASE_HEIGHT_INC;
+ max: 99999 SLIDER_BASE_HEIGHT_INC;
+ rel1 { to: "bg";
+ offset: 1 0;
+ }
+ rel2 { to: "bg";
+ offset: -5 -1;
+ }
+ image.normal: "00_progress_bg.png";
+ image.border: PROGRESS_BG_IMAGE_BORDER_INC;
+ image.border_scale: 1;
+ }
+ }
+ part {
+ name: "bar_image_left_padding";
+ type: SPACER;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: PROGRESS_BAR_IMAGE_PADDING_SIZE_INC;
+ max: PROGRESS_BAR_IMAGE_PADDING_SIZE_INC;
+ fixed: 1 0;
+ rel1.to: "base";
+ rel2 {
+ relative: 0.0 1.0;
+ to: "base";
+ }
+ align: 0.0 0.5;
+ }
+ }
+ part {
+ name: "bar_image_right_padding";
+ type: SPACER;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: PROGRESS_BAR_IMAGE_PADDING_SIZE_INC;
+ max: PROGRESS_BAR_IMAGE_PADDING_SIZE_INC;
+ fixed: 1 0;
+ rel1 {
+ relative: 1.0 0.0;
+ to: "base";
+ }
+ rel2.to: "base";
+ align: 1.0 0.5;
+ }
+ }
+ part { name: "level";
+ mouse_events: 0;
+ scale: 1;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1 {
+ to_x: "bar_image_left_padding";
+ to_y: "base";
+ relative: 1.0 0.0;
+ }
+ rel2 {
+ to_y: "base";
+ to_x: "elm.dragable.slider";
+ offset: -5 -1;
+ relative: 0.5 1.0;
+ }
+ image.normal: "00_progress_bar.png";
+ image.border: PROGRESS_BAR_IMAGE_BORDER_INC;
+ image.border_scale: 1;
+ }
+ description { state: "inverted" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ description { state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ }
+ }
+ part { name: "level2";
+ mouse_events: 0;
+ scale: 1;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ visible: 0;
+ rel1 {
+ to_y: "base";
+ to_x: "elm.dragable.slider";
+ relative: 0.5 0.0;
+ }
+ rel1 {
+ to_x: "bar_image_right_padding";
+ to_y: "base";
+ relative: 0.0 1.0;
+ }
+ image.normal: "00_progress_bg.png";
+ image.border: PROGRESS_BG_IMAGE_BORDER_INC;
+ image.border_scale: 1;
+ }
+ description { state: "inverted" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ description { state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "bg";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.to: "elm.swallow.bar";
+ rel2.to: "elm.swallow.bar";
+ rel2.offset: 3 0;
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "drag_base";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 {
+ to_x: "bar_left_padding";
+ relative: 0.0 0.0;
+ }
+ rel2 {
+ to_x: "bar_right_padding";
+ relative: 1.0 1.0;
+ }
+ }
+ }
+ part { name: "elm.swallow.bar";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 20 SLIDER_SWALLOW_BAR_HEIGHT_INC;
+ max: 99999 SLIDER_SWALLOW_BAR_HEIGHT_INC;
+ align: 1.0 0.5;
+ rel1 {
+ to_x: "bar_left_padding";
+ relative: 1.0 0.0;
+ }
+ rel2 {
+ to_x: "bar_right_padding";
+ relative: 0.0 1.0;
+ }
+ }
+ }
+ part {
+ name: "bar_left_padding";
+ type: SWALLOW;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ min: 10 0;
+ fixed: 1 1;
+ rel1 {
+ relative: 1.0 0.5;
+ to_x: "elm.text";
+ }
+ rel2 {
+ relative: 1.0 0.5;
+ to_x: "elm.text";
+ }
+ align: 0.0 0.5;
+ }
+ }
+ part {
+ name: "bar_right_padding";
+ type: SWALLOW;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ min: 10 0;
+ fixed: 1 1;
+ rel1 {
+ relative: 0.0 0.5;
+ to_x: "elm.units";
+ }
+ rel2 {
+ relative: 0.0 0.5;
+ to_x: "elm.units";
+ }
+ align: 1.0 0.5;
+ }
+ }
+ part { name: "elm.swallow.icon";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ align: 0.0 0.5;
+ rel1 {
+ to_y: "elm.swallow.bar";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ to_y: "elm.swallow.bar";
+ }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ aspect: 1.0 1.0;
+ aspect_preference: VERTICAL;
+ }
+ }
+ 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.icon";
+ rel1.relative: 1.0 0.0;
+ rel1.offset: -1 4;
+ rel2.to_x: "elm.swallow.icon";
+ rel2.relative: 1.0 1.0;
+ rel2.offset: -1 -5;
+ color: SLIDER_UNITS_TEXT_COLOR_INC;
+ text {
+ font: "Tizen:style=Medium";
+ size: SLIDER_UNITS_TEXT_SIZE_INC;
+ min: 0 0;
+ align: 0.0 0.5;
+ }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ text.min: 1 1;
+ rel1.offset: 0 4;
+ rel2.offset: 0 -5;
+ }
+ }
+ part { name: "elm.swallow.end";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ align: 1.0 0.5;
+ rel1 {
+ relative: 1.0 0.0;
+ to_y: "elm.swallow.bar";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to_y: "elm.swallow.bar";
+ }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ aspect: 1.0 1.0;
+ aspect_preference: VERTICAL;
+ }
+ }
+ part { name: "elm.units";
+ type: TEXT;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ fixed: 1 1;
+ align: 1.0 0.5;
+ rel1.relative: 0.0 0.0;
+ rel1.offset: 0 8;
+ rel1.to_x: "elm.swallow.end";
+ rel2.relative: 0.0 1.0;
+ rel2.offset: 0 -9;
+ rel2.to_x: "elm.swallow.end";
+ color: SLIDER_UNITS_TEXT_COLOR_INC;
+ text {
+ font: "Tizen:style=Bold";
+ size: SLIDER_UNITS_TEXT_SIZE_INC;
+ min: 0 0;
+ align: 0.0 0.5;
+ }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ fixed: 1 1;
+ visible: 1;
+ text.min: 1 1;
+ rel1.offset: -5 0;
+ rel2.offset: -5 -1;
+ }
+ }
+ part { name: "elm.dragable.slider";
+ type: GROUP;
+ source: "elm/slider/horizontal/music/indicator/tap_to_drag";
+ mouse_events: 1;
+ scale: 1;
+ dragable {
+ x: 1 1 0;
+ y: 0 0 0;
+ confine: "drag_base";
+ }
+ description { state: "default" 0.0;
+ min: SLIDER_INDICATOR_WIDTH_INC SLIDER_INDICATOR_HEIGHT_INC;
+ fixed: 1 1;
+ rel1 {
+ relative: 0.5 0.0;
+ to_x: "drag_base";
+ to_y: "bg";
+ }
+ rel2 {
+ relative: 0.5 1.0;
+ to_x: "drag_base";
+ to_y: "bg";
+ }
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "disabler";
+ type: RECT;
+ mouse_events: 1;
+ repeat_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ min: 1 1;
+ color: 0 0 0 0;
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "clipper";
+ type: RECT;
+ description { state: "default" 0.0;
+ color: 255 255 255 255;
+ }
+ description { state: "disabled" 0.0;
+ color: 255 255 255 102;
+ }
+ }
+ }
+ programs {
+ program { name: "text_show";
+ signal: "elm,state,text,visible";
+ source: "elm";
+ action: STATE_SET "visible" 0.0;
+ target: "elm.text";
+ }
+ program { name: "text_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.icon";
+ }
+ program { name: "icon_hide";
+ signal: "elm,state,icon,hidden";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "elm.swallow.icon";
+ }
+ program { name: "end_show";
+ signal: "elm,state,end,visible";
+ source: "elm";
+ action: STATE_SET "visible" 0.0;
+ target: "elm.swallow.end";
+ }
+ program { name: "end_hide";
+ signal: "elm,state,end,hidden";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "elm.swallow.end";
+ }
+ program { name: "units_show";
+ signal: "elm,state,units,visible";
+ source: "elm";
+ action: STATE_SET "visible" 0.0;
+ target: "elm.units";
+ }
+ program { name: "units_hide";
+ signal: "elm,state,units,hidden";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "elm.units";
+ }
+ program { name: "invert_on";
+ signal: "elm,state,inverted,on";
+ source: "elm";
+ script {
+ set_invert_on();
+ }
+ }
+ program { name: "invert_off";
+ signal: "elm,state,inverted,off";
+ source: "elm";
+ script {
+ set_invert_off();
+ }
+ }
+ program { name: "val_show";
+ signal: "mouse,down,*";
+ source: "elm.dragable.slider";
+ script {
+ thumb_down();
+ }
+ }
+ program { name: "val_hide";
+ signal: "mouse,up,*";
+ source: "elm.dragable.slider";
+ script {
+ thumb_up();
+ }
+ }
+ program { name: "slider_disable";
+ signal: "elm,state,disabled";
+ source: "elm";
+ action: STATE_SET "disabled" 0.0;
+ target: "disabler";
+ target: "clipper";
+ }
+ program { name: "slider_enable";
+ signal: "elm,state,enabled";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "disabler";
+ target: "clipper";
+ }
+ }
+}
+
+group { name: "elm/slider/horizontal/music/indicator/default";
+ alias: "elm/slider/horizontal/music/indicator/disabled";
+ alias: "elm/slider/horizontal/music/indicator/tap_to_drag";
+ alias: "elm/slider/horizontal/music/indicator/textstyle";
+ alias: "elm/slider/horizontal/music/indicator/numberstyle";
+ images {
+ image: "00_slider_handle.png" COMP;
+ image: "00_slider_handle_dim.png" COMP;
+ image: "00_slider_handle_press.png" COMP;
+ }
+ styles{
+ style { name: "indicator_default";
+ base: "font=Tizen:style=Medium font_size="MP_SLIDER_INDICATOR_TEXT_SIZE_INC" align=center color="SLIDER_INDICATOR_TEXT_COLOR_INC" style=shadow,bottom shadow_color="SLIDER_INDICATOR_TEXT_SHADOW_TEXTBLOCK_NORMAL_COLOR_INC" ellipsis=1.0 wrap=none";
+ tag: "br" "\n";
+ tag: "ps" "ps";
+ tag: "tab" "\t";
+ }
+ style { name: "indicator_pressed";
+ base: "font=Tizen:style=Medium font_size="MP_SLIDER_INDICATOR_TEXT_SIZE_INC" align=center color="SLIDER_INDICATOR_TEXT_PRESSED_COLOR_INC" style=shadow,top shadow_color="SLIDER_INDICATOR_TEXT_SHADOW_TEXTBLOCK_PRESSED_COLOR_INC" ellipsis=1.0 wrap=none";
+ tag: "br" "\n";
+ tag: "ps" "ps";
+ tag: "tab" "\t";
+ }
+ style { name: "indicator_dim";
+ base: "font=Tizen:style=Medium font_size="MP_SLIDER_INDICATOR_TEXT_SIZE_INC" align=center color="SLIDER_INDICATOR_TEXT_DIM_COLOR_INC" style=shadow,bottom shadow_color="SLIDER_INDICATOR_TEXT_SHADOW_TEXTBLOCK_DIM_COLOR_INC" ellipsis=1.0 wrap=none";
+ tag: "br" "\n";
+ tag: "ps" "ps";
+ tag: "tab" "\t";
+ }
+ }
+ parts {
+ part { name: "access";
+ type: RECT;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "button_events";
+ type: RECT;
+ mouse_events: 1;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ min: 2*SLIDER_INDICATOR_WIDTH_INC 1.5*SLIDER_INDICATOR_HEIGHT_INC;
+ aspect: 1.0 1.0;
+ aspect_preference: VERTICAL;
+ color: 0 0 0 0;
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "image_left_padding";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ min: SLIDER_INDICATOR_IMAGE_PADDING_SIZE_INC;
+ max: SLIDER_INDICATOR_IMAGE_PADDING_SIZE_INC;
+ rel1 {
+ to_x: "elm.indicator";
+ relative: -1.0 0.0;
+ }
+ rel2 {
+ to_x: "elm.indicator";
+ relative: 0.0 1.0;
+ }
+ align: 1.0 0.5;
+ }
+ }
+ part { name: "image_right_padding";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ min: SLIDER_INDICATOR_IMAGE_PADDING_SIZE_INC;
+ max: SLIDER_INDICATOR_IMAGE_PADDING_SIZE_INC;
+ rel1 {
+ to_x: "elm.indicator";
+ relative: 1.0 0.0;
+ }
+ rel2 {
+ to_x: "elm.indicator";
+ relative: 2.0 1.0;
+ }
+ align: 0.0 0.5;
+ }
+ }
+ part { name: "button0";
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ min: SLIDER_INDICATOR_WIDTH_INC SLIDER_INDICATOR_HEIGHT_INC;
+ max: SLIDER_INDICATOR_WIDTH_INC SLIDER_INDICATOR_HEIGHT_INC;
+ rel1.to: "image_left_padding";
+ rel2.to: "image_right_padding";
+ image {
+ normal: "00_slider_handle.png";
+ border: SLIDER_INDICATOR_IMAGE_BORDER_INC;
+ border_scale: 1;
+ }
+ }
+ description { state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ image {
+ normal: "00_slider_handle_press.png";
+ }
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ image {
+ normal: "00_slider_handle_dim.png";
+ }
+ }
+ }
+ part { name: "elm.indicator";
+ type: TEXTBLOCK;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ text {
+ style: "indicator_default";
+ min: 1 1;
+ }
+ }
+ description { state: "hide" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ description { state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ text {
+ style: "indicator_pressed";
+ min: 1 1;
+ }
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ text {
+ style: "indicator_dim";
+ min: 1 1;
+ }
+ }
+ }
+ }
+ programs {
+ program { name: "set_val_show";
+ signal: "elm,state,val,show";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "elm.indicator";
+ }
+ program { name: "set_val_hide";
+ signal: "elm,state,val,hide";
+ source: "elm";
+ action: STATE_SET "hide" 0.0;
+ target: "elm.indicator";
+ }
+ program { name: "slider_disable";
+ signal: "elm,state,disabled";
+ source: "elm";
+ action: STATE_SET "disabled" 0.0;
+ target: "button0";
+ target: "elm.indicator";
+ target: "button_events";
+ }
+ program { name: "slider_enable";
+ signal: "elm,state,enabled";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "button0";
+ target: "elm.indicator";
+ target: "button_events";
+ }
+ program { name: "mouse_down";
+ signal: "mouse,down,*";
+ source: "button_events";
+ action: STATE_SET "pressed" 0.0;
+ target: "button0";
+ after: "text_pressed";
+ }
+ program { name: "mouse_up";
+ signal: "mouse,up,*";
+ source: "button_events";
+ action: STATE_SET "default" 0.0;
+ target: "button0";
+ after: "text_unpressed";
+ }
+ program { name: "text_pressed";
+ script {
+ new st[31];
+ new Float:vl;
+ get_state(PART:"elm.indicator", st, 30, vl);
+ if (!strcmp(st, "default"))
+ set_state(PART:"elm.indicator", "pressed", 0.0);
+ }
+ }
+ program { name: "text_unpressed";
+ script {
+ new st[31];
+ new Float:vl;
+ get_state(PART:"elm.indicator", st, 30, vl);
+ if (!strcmp(st, "pressed"))
+ set_state(PART:"elm.indicator", "default", 0.0);
+ }
+ }
+ }
+}
+
+
+group { name: "elm/slider/horizontal/music-player/default";
+ alias: "elm/slider/horizontal/music-player/disabled";
+ images {
+ image: "00_winset_list_progress_bg.png" COMP;
+ image: "00_winset_list_progress_bar.png" COMP;
+ image: "00_slider_popup_bg.png" COMP;
+ }
+ script {
+ public invert_on = 0;
+ public set_invert_on() {
+ set_state(PART:"level", "inverted", 0.0);
+ set_state(PART:"level2", "inverted", 0.0);
+ set_int(invert_on, 1);
+ }
+ public set_invert_off() {
+ set_state(PART:"level", "default", 0.0);
+ set_state(PART:"level2", "default", 0.0);
+ set_int(invert_on, 0);
+ }
+ public thumb_down() {
+ if(get_int(invert_on) == 0)
+ set_state(PART:"level", "pressed", 0.0);
+ else if(get_int(invert_on) == 1)
+ set_state(PART:"level2", "pressed", 0.0);
+ }
+ public thumb_up() {
+ if(get_int(invert_on) == 0)
+ set_state(PART:"level", "default", 0.0);
+ else if(get_int(invert_on) == 1)
+ set_state(PART:"level2", "inverted", 0.0);
+ }
+ }
+ parts {
+ part { name: "slider_bg_area";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 0; to_x: "elm.swallow.icon"; offset: -16 0; }
+ rel2 { relative: 1 1; to_x: "elm.swallow.end"; offset: 16 0; }
+ visible: 0;
+ }
+ }
+ part { name: "bg_image";
+ type: IMAGE;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.to: "slider_bg_area";
+ rel2.to: "slider_bg_area";
+ image { normal: "00_slider_popup_bg.png"; border: 7 7 5 12; }
+ }
+ }
+
+ part { name: "base";
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: SLIDER_BASE_MIN_WIDTH_INC SLIDER_BASE_HEIGHT_INC;
+ max: 99999 SLIDER_BASE_HEIGHT_INC;
+ rel1.to: "bg";
+ rel2.to: "bg";
+ image.normal: "00_winset_list_progress_bg.png";
+ image.border: 0 0 4 4;
+ image.border_scale: 1;
+ }
+ }
+ part { name: "level";
+ mouse_events: 0;
+ scale: 1;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1.to: "base";
+ rel2 {
+ to_y: "base";
+ to_x: "elm.dragable.slider";
+ relative: 0.5 1.0;
+ }
+ image.normal: "00_winset_list_progress_bar.png";
+ image.border: 0 0 4 4;
+ image.border_scale: 1;
+ }
+ description { state: "inverted" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ description { state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "00_winset_list_progress_bar.png";
+ }
+ }
+ part { name: "level2";
+ mouse_events: 0;
+ scale: 1;
+ clip_to: "clipper";
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ visible: 0;
+ rel1 {
+ to_y: "base";
+ to_x: "elm.dragable.slider";
+ relative: 0.5 0.0;
+ }
+ rel2.to: "base";
+ image.normal: "00_winset_list_progress_bg.png";
+ image.border: 0 0 4 4;
+ image.border_scale: 1;
+ }
+ description { state: "inverted" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ description { state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ image.normal: "00_winset_list_progress_bg.png";
+ }
+ }
+ part { name: "bg";
+ type: RECT;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ rel1.to: "elm.swallow.bar";
+ rel2.to: "elm.swallow.bar";
+ }
+ }
+ part { name: "elm.swallow.bar";
+ type: SWALLOW;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: SLIDER_SWALLOW_BAR_MIN_WIDTH_INC SLIDER_SWALLOW_BAR_HEIGHT_INC;
+ max: 99999 SLIDER_SWALLOW_BAR_HEIGHT_INC;
+ align: 1.0 0.5;
+ rel1 {
+ to_x: "bar_left_padding";
+ relative: 1.0 0.0;
+ }
+ rel2 {
+ to_x: "bar_right_padding";
+ relative: 0.0 1.0;
+ }
+ }
+ }
+ part {
+ name: "bar_left_padding";
+ type: SWALLOW;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ min: 10 0;
+ fixed: 1 1;
+ rel1 {
+ relative: 1.0 0.5;
+ to_x: "elm.text";
+ }
+ rel2 {
+ relative: 1.0 0.5;
+ to_x: "elm.text";
+ }
+ align: 0.0 0.5;
+ }
+ }
+ part {
+ name: "bar_right_padding";
+ type: SWALLOW;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ min: 10 0;
+ fixed: 1 1;
+ rel1 {
+ relative: 0.0 0.5;
+ to_x: "elm.units";
+ }
+ rel2 {
+ relative: 0.0 0.5;
+ to_x: "elm.units";
+ }
+ align: 1.0 0.5;
+ }
+ }
+ part { name: "elm.swallow.icon";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ align: 0.0 0.5;
+ rel1 {
+ to_y: "elm.swallow.bar";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ to_y: "elm.swallow.bar";
+ }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ aspect: 1.0 1.0;
+ aspect_preference: VERTICAL;
+ }
+ }
+ 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.icon";
+ rel1.relative: 1.0 0.0;
+ rel2.to_x: "elm.swallow.icon";
+ color: SLIDER_UNITS_TEXT_COLOR_INC;
+ text {
+ font: "TIZEN:style=Medium";
+ size: SLIDER_UNITS_TEXT_SIZE_INC;
+ min: 0 0;
+ align: 0.0 0.5;
+ }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ text.min: 1 1;
+ }
+ }
+ part { name: "elm.swallow.end";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ align: 1.0 0.5;
+ rel1 {
+ relative: 1.0 0.0;
+ to_y: "elm.swallow.bar";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to_y: "elm.swallow.bar";
+ }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ aspect: 1.0 1.0;
+ aspect_preference: VERTICAL;
+ }
+ }
+ part { name: "units";
+ mouse_events: 0;
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ rel1 {
+ to_x: "elm.units";
+ }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "elm.units";
+ type: TEXT;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ fixed: 1 1;
+ align: 1.0 0.5;
+ rel1.to_x: "elm.swallow.end";
+ rel2.relative: 0.0 1.0;
+ rel2.to_x: "elm.swallow.end";
+ color: SLIDER_UNITS_TEXT_COLOR_INC;
+ text {
+ font: "TIZEN:style=Bold";
+ size: SLIDER_UNITS_TEXT_SIZE_INC;
+ min: 0 0;
+ align: 0.0 0.5;
+ }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ fixed: 1 1;
+ visible: 1;
+ text.min: 1 1;
+ }
+ }
+ part { name: "elm.dragable.slider";
+ type: GROUP;
+ source: "elm/slider/horizontal/music/indicator/default";
+ mouse_events: 1;
+ scale: 1;
+ dragable {
+ x: 1 1 0;
+ y: 0 0 0;
+ confine: "bg";
+ }
+ description { state: "default" 0.0;
+ min: SLIDER_INDICATOR_WIDTH_INC SLIDER_INDICATOR_HEIGHT_INC;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "disabler";
+ type: RECT;
+ mouse_events: 1;
+ repeat_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ color: 0 0 0 0;
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "clipper";
+ type: RECT;
+ description { state: "default" 0.0;
+ color: 255 255 255 255;
+ }
+ description { state: "disabled" 0.0;
+ color: 255 255 255 102;
+ }
+ }
+ }
+ programs {
+ program { name: "text_show";
+ signal: "elm,state,text,visible";
+ source: "elm";
+ action: STATE_SET "visible" 0.0;
+ target: "elm.text";
+ }
+ program { name: "text_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.icon";
+ }
+ program { name: "icon_hide";
+ signal: "elm,state,icon,hidden";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "elm.swallow.icon";
+ }
+ program { name: "end_show";
+ signal: "elm,state,end,visible";
+ source: "elm";
+ action: STATE_SET "visible" 0.0;
+ target: "elm.swallow.end";
+ }
+ program { name: "end_hide";
+ signal: "elm,state,end,hidden";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "elm.swallow.end";
+ }
+ program { name: "units_show";
+ signal: "elm,state,units,visible";
+ source: "elm";
+ action: STATE_SET "visible" 0.0;
+ target: "elm.units";
+ target: "units";
+ }
+ program { name: "units_hide";
+ signal: "elm,state,units,hidden";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "elm.units";
+ target: "units";
+ }
+ program { name: "invert_on";
+ signal: "elm,state,inverted,on";
+ source: "elm";
+ script {
+ set_invert_on();
+ }
+ }
+ program { name: "invert_off";
+ signal: "elm,state,inverted,off";
+ source: "elm";
+ script {
+ set_invert_off();
+ }
+ }
+ program { name: "val_show";
+ signal: "mouse,down,*";
+ source: "elm.dragable.slider";
+ script {
+ thumb_down();
+ }
+ }
+ program { name: "val_hide";
+ signal: "mouse,up,*";
+ source: "elm.dragable.slider";
+ script {
+ thumb_up();
+ }
+ }
+ program { name: "slider_disable";
+ signal: "elm,state,disabled";
+ source: "elm";
+ action: STATE_SET "disabled" 0.0;
+ target: "disabler";
+ target: "clipper";
+ }
+ program { name: "slider_enable";
+ signal: "elm,state,enabled";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "disabler";
+ target: "clipper";
+ }
+ }
+}
+
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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) 2000-2015 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) 2000-2015 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_class:"B0216";
+ }
+ }
+ 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";
+ 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: 255 0 0 50;
+ }
+ 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) 2000-2015 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;
+ }
+ 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;
+ }
+ 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) 2000-2015 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) 2000-2015 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) 2000-2015 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_3D_FEATURE
+ #include "mp-3d-view.edc"
+#endif
+
+#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) 2000-2015 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;
+ max: 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;
+ 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_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;
+ fixed: 0 1;
+ 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: IMAGE;
+ 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";
+ }
+ image.normal: "core_icon_back.png";
+ }
+ }
+ 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;
+ fixed: 1 1;
+ 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";
+ }
+ }
+
+ }
+}
+programs {
+ program { name: "back_clicked";
+ signal: "mouse,clicked,1";
+ source: "back_button";
+ action: SIGNAL_EMIT "elm,action,click" "back_button";
+ }
+ program {
+ name: "back_clicked_sound";
+ signal: "mouse,clicked,1";
+ source: "back_button";
+ action: RUN_PLUGIN "touch_sound_plugin";
+ }
+ program { name: "back_clicked_dim";
+ signal: "mouse,down,1";
+ source: "back_button";
+ action: STATE_SET "pressed" 0.0;
+ transition: ACCELERATE 0.5;
+ target: "back_button_bg_image";
+ }
+ program { name: "back_clicked_normal";
+ signal: "mouse,up,1";
+ source: "back_button";
+ action: STATE_SET "default" 0.0;
+ target: "back_button_bg_image";
+ }
+}
+}
+
+
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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 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_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
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<res xmlns="http://tizen.org/ns/rm"/>
--- /dev/null
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+PROJECT(music-player-service C)
+
+#LINK_DIRECTORIES(${CMAKE_BINARY_DIR})
+#LINK_DIRECTORIES(${CMAKE_SOURCE_DIR}/server)
+
+SET(DAEMON music-player-service)
+
+INCLUDE(FindPkgConfig)
+pkg_check_modules(music-player-app_control_pkgs REQUIRED
+ capi-appfw-service-application
+ dlog
+ elementary
+ storage
+)
+
+FOREACH(flag ${music-player-app_control_pkgs_CFLAGS})
+ SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
+ENDFOREACH(flag)
+
+INCLUDE_DIRECTORIES(
+ ${CMAKE_CURRENT_SOURCE_DIR}/include
+ ${CMAKE_SOURCE_DIR}/src/common/include
+)
+
+SET(SRCS
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/mp-service-main.c
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/mp-service-square.c
+ ${CMAKE_SOURCE_DIR}/src/common/mp-media-info.c
+)
+
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
+SET(music-player-app_control_pkgs_LDFLAGS "${pkgs_LDFLAGS} ${music-player-app_control_pkgs_LDFLAGS}")
+
+ADD_EXECUTABLE(${DAEMON} ${SRCS})
+SET_TARGET_PROPERTIES(${DAEMON} PROPERTIES COMPILE_FLAGS ${EXTRA_CFLAGS})
+TARGET_LINK_LIBRARIES(${DAEMON} ${music-player-app_control_pkgs_LDFLAGS})
+
+TARGET_LINK_LIBRARIES(${DAEMON} -L${CMAKE_SOURCE_DIR}/src/lib -l_MusicSquare_TIZEN)
+
+
+INSTALL(TARGETS ${DAEMON} DESTINATION ${BINDIR})
+
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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_CONTROL_DEBUG_H__
+#define __MP_APP_CONTROL_DEBUG_H__
+
+
+#include <stdio.h>
+#include <unistd.h>
+#include "assert.h"
+#include <linux/unistd.h>
+#include "mp-file-util.h"
+
+//#ifdef MP_DEBUG_MODE
+#define ENABLE_CHECK_START_END_FUNCTION //101219 aramie.kim support enter leave debug message
+//#endif
+
+#define LOG_COLOR_RESET "\033[0m"
+#define LOG_COLOR_RED "\033[31m"
+#define LOG_COLOR_YELLOW "\033[33m"
+#define LOG_COLOR_GREEN "\033[32m"
+#define LOG_COLOR_BLUE "\033[36m"
+#define LOG_COLOR_PURPLE "\033[35m"
+
+
+#define ENABLE_LOG_SYSTEM
+
+#ifdef ENABLE_LOG_SYSTEM
+
+#define USE_DLOG_SYSTEM
+
+#define gettid() syscall(__NR_gettid)
+
+#define DATA_DIR DATA_PREFIX"/data"
+
+#ifdef USE_DLOG_SYSTEM
+#include <dlog.h>
+
+#ifdef LOG_TAG
+#undef LOG_TAG
+#endif //LOG_TAG
+
+#define LOG_TAG "SVC_MUSIC_PLAYER"
+
+#ifndef TRUE
+#define TRUE 1
+#endif
+
+#define DEBUG_TRACE(fmt, arg...) LOGD_IF(TRUE, "[TID:%d] "fmt"\n", gettid(), ##arg)
+#define INFO_TRACE(fmt, arg...) LOGI_IF(TRUE, "[TID:%d] "fmt"\n", gettid(), ##arg)
+#define WARN_TRACE(fmt, arg...) LOGW_IF(TRUE, "[TID:%d] "fmt"\n", gettid(), ##arg)
+#define ERROR_TRACE(fmt, arg...) LOGW_IF(TRUE, "[TID:%d] "fmt"\n", gettid(), ##arg)
+#define mp_debug_temp(fmt, arg...) LOGD_IF(TRUE, "[TID:%d] "fmt"\n", gettid(), ##arg)
+
+#define SECURE_DEBUG(fmt, args...) SECURE_LOGD("[T:%d] " fmt, gettid(), ##args)
+#define SECURE_INFO(fmt, args...) SECURE_LOGI("[T:%d] " fmt, gettid(), ##args)
+#define SECURE_ERROR(fmt, args...) SECURE_LOGD("[T:%d] " fmt, 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 mp_debug_temp(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 mp_debug(fmt, arg...)
+#define DEBUG_TRACE(fmt, arg...)
+#define INFO_TRACE(fmt, arg...)
+#define WARN_TRACE(fmt, arg...)
+#define ERROR_TRACE(fmt, arg...)
+#define mp_debug_temp(fmt, arg...)
+#endif //ENABLE_LOG_SYSTEM
+
+#ifdef ENABLE_CHECK_START_END_FUNCTION
+#define startfunc DEBUG_TRACE("+- START -------------------------");
+#define endfunc DEBUG_TRACE("+- END --------------------------");
+#define exceptionfunc ERROR_TRACE("################################# CRITICAL ERROR #####################################");
+#else
+#define startfunc
+#define endfunc
+#define exceptionfunc
+#endif
+
+#define mp_debug(fmt, arg...) LOGD_IF(TRUE, LOG_COLOR_GREEN"[TID:%d] "fmt""LOG_COLOR_RESET, gettid(), ##arg)
+#define mp_error(fmt, arg...) LOGW_IF(TRUE, LOG_COLOR_RED"[TID:%d]# ERROR CHECK # "fmt""LOG_COLOR_RESET, gettid(), ##arg)
+
+#define TIMER_TRACE(fmt, arg...) do { if (mp_file_exists("/tmp/mp_show_timer_log")) LOGD_IF(TRUE, LOG_COLOR_PURPLE"[TID:%d] "fmt""LOG_COLOR_RESET, gettid(), ##arg); } while (0)
+
+#undef FREE
+#define FREE(ptr) free(ptr); ptr = NULL;
+
+#undef SAFE_FREE
+#define SAFE_FREE(x) if(x) {free(x); x = NULL;}
+
+#undef IF_FREE
+#define IF_FREE(ptr) if (ptr) {free(ptr); ptr = NULL;}
+
+#define mp_ret_if(expr) do { \
+ if(expr) { \
+ DEBUG_TRACE("");\
+ return; \
+ } \
+} while (0)
+#define mp_retv_if(expr, val) do { \
+ if(expr) { \
+ DEBUG_TRACE("");\
+ return (val); \
+ } \
+} while (0)
+
+#define mp_retm_if(expr, fmt, arg...) do { \
+ if(expr) { \
+ DEBUG_TRACE(fmt, ##arg); \
+ return; \
+ } \
+} while (0)
+
+#define mp_retvm_if(expr, val, fmt, arg...) do { \
+ if(expr) { \
+ DEBUG_TRACE(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_APP_CONTROL_DEBUG_H__
+
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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_CONTROL_SQUARE_H_
+#define __MP_APP_CONTROL_SQUARE_H_
+
+#include "mp-service-debug.h"
+
+mp_square_mgr_t *mp_app_control_square_mgr_create(void);
+bool mp_app_control_square_mgr_destory(mp_square_mgr_t *square_mgr);
+int mp_app_control_square_mgr_update(mp_square_mgr_t *square_mgr);
+int mp_app_control_square_mgr_update_diff_only(mp_square_mgr_t *square_mgr);
+int mp_app_control_square_mgr_reset(mp_square_mgr_t *square_mgr);
+int mp_app_control_square_mgr_records_count_get(mp_square_mgr_t *square_mgr, int *count);
+
+#endif /* __MP_SQUARE_MGR_H_ */
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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_app_control_H_
+#define __DEF_music_app_control_H_
+
+struct appdata
+{
+ mp_square_mgr_t *square_mgr;
+};
+
+
+
+#endif /* __DEF_music_app_control_H_ */
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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 <stdbool.h>
+#include <service_app.h>
+
+#include "music-service.h"
+#include "mp-service-square.h"
+#include "mp-service-debug.h"
+
+struct appdata *g_ad;
+
+static bool
+_app_control_app_create(void *data)
+{
+ startfunc;
+
+ struct appdata *ad = data;
+ g_ad = (struct appdata *)data;
+ MP_CHECK_VAL(ad, EINA_FALSE);
+
+ ad->square_mgr = mp_app_control_square_mgr_create();
+ MP_CHECK_FALSE(ad->square_mgr);
+
+ return true;
+}
+
+
+static void
+_app_control_app_terminate(void *data)
+{
+ startfunc;
+
+ struct appdata *ad = data;
+ MP_CHECK(ad);
+
+ mp_app_control_square_mgr_destory(ad->square_mgr);
+}
+
+
+static void
+app_control_app_control(app_control_h app_control, void *data)
+{
+ startfunc;
+
+ struct appdata *ad = data;
+ MP_CHECK(ad);
+
+ int ret = mp_app_control_square_mgr_update_diff_only(ad->square_mgr);
+
+ if (ret != 0) {
+ ERROR_TRACE("square mgr update diff error");
+ }
+}
+
+
+int
+main(int argc, char *argv[])
+{
+ startfunc;
+
+ struct appdata ad;
+ service_app_event_callback_s ops;
+
+ memset(&ops, 0x0, sizeof(service_app_event_callback_s));
+ ops.create = _app_control_app_create;
+ ops.terminate = _app_control_app_terminate;
+ ops..app_control = app_control_app_control;
+ ops.low_memory = NULL;
+ ops.low_battery = NULL;
+
+ memset(&ad, 0x0, sizeof(struct appdata));
+
+ return service_app_main(argc, argv, &ops, &ad);
+}
+
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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 <util-func.h>
+#include "mp-media-info.h"
+#include "mp-service-square.h"
+/*#include "mp-file-tag-info.h" */
+#include <dlfcn.h>
+#include "mp-file-util.h"
+
+#define MP_SQUARE_ARM_LIB_PATH
+ "/usr/apps/org.tizen.music-player/lib/lib_MusicSquare_TIZEN.so"
+#define MP_SQUARE_I386_LIB_PATH
+ "/usr/apps/org.tizen.music-player/lib/libMusicSquare_Tizen_SL.so"
+
+#define MP_SQUARE_DB_NAME DATA_DIR"/.music_square.db"
+#define MP_SQUARE_DB_TABLE_NAME "music_square"
+
+/* query string */
+#define MP_SQUARE_DB_TABLE_EXIST_QUERY_STRING
+ "select name from sqlite_master WHERE name='%q';"
+#define MP_SQUARE_DB_DELETE_TABLE_QUERY_STRING "DELETE FROM %q ;"
+#define MP_SQUARE_DB_DROP_TABLE_QUERY_STRING "DROP TABLE %q ;"
+
+#define MP_SQUARE_DB_TABLE_RECORD_INSERT "INSERT INTO music_square (path, \
+ "score_excite, score_cheerful, score_violent, year, title) VALUES \
+ "('%q', %f, %f, %f, %d, '%q');"
+
+#define MP_SQUARE_DB_TABLE_RECORD_COUNT_ALL
+ "select count(*) FROM music_square;"
+
+#define MP_SQUARE_DB_RAND_MAX 5
+#define MP_SQUARE_DB_QUERY_STR_LEN_MAX 512
+#define MP_SQUARE_DB_FILE_PATH_LEN_MAX 512
+
+#define SQL_SAFE_FREE(sql_string)
+ if (sql_string) sqlite3_free(sql_string)
+
+typedef struct {
+ int id;
+ char path[MP_SQUARE_MUSIC_FILE_PATH_LEN_MAX+1]; /* music path */
+ mp_square_position_t pos_mood;
+ mp_square_position_t pos_year;
+ mp_square_position_t pos_added;
+ mp_square_position_t pos_time;
+ char title[MP_SQUARE_MUSIC_FILE_PATH_LEN_MAX+1]; /* music title */
+ int year;
+ time_t added_time;
+ time_t played_time;
+ double scores[3];
+} mp_square_record_t;
+
+static int _mp_app_control_square_mgr_db_sql_query(mp_square_mgr_t
+ *square_mgr, const char *sql_str);
+static int _mp_app_control_square_mgr_db_table_create(mp_square_mgr_t
+ *square_mgrconst, const char *table_name);
+static int _mp_app_control_square_mgr_db_table_exist(mp_square_mgr_t
+ *square_mgrconst, const char *table_name);
+static int _mp_app_control_square_mgr_db_table_drop(mp_square_mgr_t
+ *square_mgrconst, const char *table_name);
+static int _mp_app_control_square_mgr_db_clear(mp_square_mgr_t *square_mgr);
+static int _mp_app_control_square_mgr_db_busy_handler(void *pData, int count);
+static int _mp_app_control_square_mgr_db_disconnect(sqlite3 *handle);
+static int _mp_app_control_square_mgr_db_connect(sqlite3 **handle);
+static int _mp_app_control_square_mgr_db_table_record_insert(
+ mp_square_mgr_t *square_mgr, mp_square_record_t *record);
+static int _mp_app_control_square_mgr_db_table_media_append(
+ mp_square_mgr_t *square_mgrconst);
+static int _mp_app_control_square_mgr_MpWitchMoodEngineInit(
+ mp_square_mgr_t *square_mgr);
+static double* _mp_app_control_square_mgr_MpWitchMoodEngineEXE(
+ mp_square_mgr_t *square_mgr, const char *path);
+static int _mp_app_control_square_mgr_MpWitchMoodEngineRelease
+ (mp_square_mgr_t *square_mgr);
+
+int WitchMoodEngineInit(void)
+{
+}
+int WitchMoodEngineRelease(void)
+{
+}
+double *WitchMoodEngineEXE(const char *path)
+{
+}
+
+static int _mp_app_control_square_mgr_MpWitchMoodEngineInit(
+ mp_square_mgr_t *square_mgr)
+{
+ DEBUG_TRACE_FUNC();
+ int ret = WitchMoodEngineInit();
+ return ret;
+}
+
+static double* _mp_app_control_square_mgr_MpWitchMoodEngineEXE(
+ mp_square_mgr_t *square_mgr, const char *path)
+{
+ /* DEBUG_TRACE_FUNC(); */
+ return WitchMoodEngineEXE((char *)path);
+}
+
+static int _mp_app_control_square_mgr_MpWitchMoodEngineRelease
+ (mp_square_mgr_t *square_mgr)
+{
+ DEBUG_TRACE_FUNC();
+ return WitchMoodEngineRelease();
+}
+
+static int _mp_app_control_square_mgr_db_sql_query(mp_square_mgr_t *square_mgr
+ , const char *sql_str)
+{
+ /* DEBUG_TRACE_FUNC(); */
+ MP_CHECK_VAL(square_mgr, -1);
+ MP_CHECK_VAL(square_mgr->sqlite_handle, -1);
+ MP_CHECK_VAL(sql_str, -1);
+
+ int err = -1;
+ char *zErrMsg = NULL;
+
+ /* mp_debug("SQL = [%s]", sql_str); */
+
+ err = sqlite3_exec(square_mgr->sqlite_handle, sql_str, NULL,
+ NULL, &zErrMsg);
+
+ if (SQLITE_OK != err) {
+ mp_error("failed to execute [%s], err[%d]", zErrMsg, err);
+ }
+
+ if (zErrMsg)
+ sqlite3_free(zErrMsg);
+
+ return err;
+}
+
+static int _mp_app_control_square_mgr_db_table_create(mp_square_mgr_t
+ *square_mgr, const char *table_name)
+{
+ DEBUG_TRACE_FUNC();
+
+ MP_CHECK_VAL(square_mgr, -1);
+ MP_CHECK_VAL(square_mgr->sqlite_handle, -1);
+ MP_CHECK_VAL(table_name, -1);
+
+ int err = -1;
+ MP_CHECK_VAL(table_name, MP_SQUARE_DB_ERROR_INVALID_PARAMETER);
+
+ char *sql = sqlite3_mprintf("create table if not exists %s (\
+ _id
+ INTEGER PRIMARY KEY AUTOINCREMENT,\
+ path TEXT NOT NULL,\
+ pos_mood INTEGER,\
+ pos_year INTEGER,\
+ pos_added INTEGER,\
+ pos_time INTEGER,\
+ score_excite DOUBLE,\
+ score_cheerful DOUBLE,\
+ score_violent DOUBLE,\
+ year INTEGER,\
+ title TEXT NOT NULL\
+ );"
+ , table_name);
+ err = _mp_app_control_square_mgr_db_sql_query(square_mgr, sql);
+ sqlite3_free(sql);
+ if (err != SQLITE_OK) {
+ mp_error("It failed to create square table (%d)", err);
+ if (err == MP_SQUARE_DB_ERROR_CONNECT) {
+ return err;
+ }
+ return MP_SQUARE_DB_ERROR_INTERNAL;
+ }
+
+ return MP_SQUARE_DB_ERROR_NONE;
+}
+
+static int _mp_app_control_square_mgr_db_table_exist(
+ mp_square_mgr_t *square_mgr, const char *table_name)
+{
+ DEBUG_TRACE_FUNC();
+
+ MP_CHECK_VAL(square_mgr, -1);
+ MP_CHECK_VAL(square_mgr->sqlite_handle, -1);
+ MP_CHECK_VAL(table_name, -1);
+
+ int ret = -1;
+ char szTableName[MP_SQUARE_DB_FILE_PATH_LEN_MAX + 1] = { '0', };
+ char *pszTempName = NULL;
+ sqlite3_stmt *pstStmt_pb = NULL;
+ int len = 0;
+
+ sqlite3 *handle = square_mgr->sqlite_handle;
+ MP_CHECK_VAL(handle, MP_SQUARE_DB_ERROR_INTERNAL);
+
+ char *szQuery = sqlite3_mprintf(MP_SQUARE_DB_TABLE_EXIST_QUERY_STRING,
+ table_name);
+ MP_CHECK_VAL(szQuery, MP_SQUARE_DB_ERROR_INTERNAL);
+ len = strlen(szQuery);
+ ret =
+ sqlite3_prepare_v2(handle, szQuery, len, &pstStmt_pb,
+ NULL);
+ SQL_SAFE_FREE(szQuery);
+ if (SQLITE_OK != ret) {
+ mp_debug("prepare error [%s]\n", sqlite3_errmsg(handle));
+ mp_debug("query string is %s\n", szQuery);
+ return MP_SQUARE_DB_ERROR_INTERNAL;
+ }
+
+ ret = sqlite3_step(pstStmt_pb);
+ if (SQLITE_ROW != ret) {
+ mp_debug("end of row [%s]\n", sqlite3_errmsg(handle));
+ mp_debug("query string is %s\n", szQuery);
+ sqlite3_finalize(pstStmt_pb);
+ return MP_SQUARE_DB_ERROR_INTERNAL;
+ }
+
+ pszTempName = (char *)sqlite3_column_text(pstStmt_pb, 0);
+ if (NULL != pszTempName) {
+ len = strlen(szQuery);
+ strncpy(szTableName, pszTempName, len);
+ }
+ sqlite3_finalize(pstStmt_pb);
+
+ ret = !(strcmp(table_name, szTableName));
+
+ return ret;
+}
+
+static int _mp_app_control_square_mgr_db_table_drop(mp_square_mgr_t
+ *square_mgr, const char *table_name)
+{
+ DEBUG_TRACE_FUNC();
+
+ MP_CHECK_VAL(square_mgr, -1);
+ MP_CHECK_VAL(square_mgr->sqlite_handle, -1);
+ MP_CHECK_VAL(table_name, -1);
+
+ int err;
+
+ mp_debug("_table_drop--enter\n");
+
+ err = _mp_app_control_square_mgr_db_table_exist(square_mgr, table_name);
+ if (err > 0) {
+ char *query_string = sqlite3_mprintf(
+ MP_SQUARE_DB_DROP_TABLE_QUERY_STRING, table_name);
+ MP_CHECK_VAL(query_string, MP_SQUARE_NORMAL_ERROR);
+ err = _mp_app_control_square_mgr_db_sql_query(
+ square_mgr, query_string);
+ SQL_SAFE_FREE(query_string);
+ if (err < 0) {
+ mp_debug("truncate table failed\n");
+ mp_debug("query string is %s\n",
+ query_string);
+
+ return MP_SQUARE_DB_ERROR_INTERNAL;
+ }
+ }
+
+ mp_debug("_table_drop--leave\n");
+ return MP_SQUARE_DB_ERROR_NONE;
+}
+
+static int _mp_app_control_square_mgr_db_clear(mp_square_mgr_t *square_mgr)
+{
+ DEBUG_TRACE_FUNC();
+
+ int ret = 0;
+
+ ret = _mp_app_control_square_mgr_db_table_drop(square_mgr,
+ MP_SQUARE_DB_TABLE_NAME);
+
+ return ret;
+}
+
+static int _mp_app_control_square_mgr_db_busy_handler(void *pData, int count)
+{
+ DEBUG_TRACE_FUNC();
+
+ usleep(50000);
+
+ mp_debug("_square_db_busy_handler called : %d\n", count);
+
+ return 100 - count;
+}
+
+static int _mp_app_control_square_mgr_db_disconnect(sqlite3 *handle)
+{
+ DEBUG_TRACE_FUNC();
+
+ /* disconnect from database-server */
+ if (handle == NULL)
+ return 0;
+
+ int ret = 0;
+
+ ret = sqlite3_close(handle);
+
+ if (SQLITE_OK != ret) {
+ mp_debug("can not disconnect database\n");
+ mp_debug("[sqlite] %s\n", sqlite3_errmsg(handle));
+
+ return MP_SQUARE_DB_ERROR_DISCONNECT;
+ }
+ handle = NULL;
+
+ mp_debug("Disconnected successfully\n");
+ return 0;
+}
+
+static int _mp_app_control_square_mgr_db_connect(sqlite3 **handle)
+{
+ DEBUG_TRACE_FUNC();
+
+ if (handle == NULL) {
+ mp_debug("Invalid input parameter error");
+ return MP_SQUARE_DB_ERROR_INVALID_PARAMETER;
+ }
+
+ int ret = 0;
+ ret = sqlite3_open(MP_SQUARE_DB_NAME, handle);
+
+ if (SQLITE_OK != ret) {
+ mp_debug("can not connect to db-server\n");
+ if (*handle)
+ mp_debug("[sqlite] %s\n", sqlite3_errmsg(*handle));
+ *handle = NULL;
+
+ return MP_SQUARE_DB_ERROR_CONNECT;
+ }
+
+ /* Register Busy handler */
+ ret = sqlite3_busy_handler(*handle,
+ _mp_app_control_square_mgr_db_busy_handler, NULL);
+ if (SQLITE_OK != ret) {
+ mp_debug("Fail to register busy handler\n");
+ if (*handle)
+ mp_debug("[sqlite] %s\n", sqlite3_errmsg(*handle));
+
+ sqlite3_close(*handle);
+ if (SQLITE_OK != ret) {
+ mp_debug("can not disconnect database\n");
+ return MP_SQUARE_DB_ERROR_DISCONNECT;
+ }
+ *handle = NULL;
+
+ return MP_SQUARE_DB_ERROR_CONNECT;
+ }
+
+ mp_debug("connected to db-server\n");
+
+ return 0;
+}
+
+static int _mp_app_control_square_mgr_db_table_record_insert(mp_square_mgr_t
+ *square_mgr, mp_square_record_t *record)
+{
+ DEBUG_TRACE_FUNC();
+
+ MP_CHECK_VAL(square_mgr, -1);
+ MP_CHECK_VAL(square_mgr->sqlite_handle, -1);
+ MP_CHECK_VAL(record, -1);
+
+ if (record == NULL) {
+ ERROR_TRACE("record pointer is null");
+ return MP_SQUARE_DB_ERROR_INVALID_PARAMETER;
+ }
+
+ int err = -1;
+ char *query_string = NULL;
+
+ query_string =
+ sqlite3_mprintf(MP_SQUARE_DB_TABLE_RECORD_INSERT,
+ record->path,
+ record->scores[0],
+ record->scores[1],
+ record->scores[2],
+ record->year,
+ record->title);
+
+ SECURE_DEBUG("[%s]", query_string);
+
+ err = _mp_app_control_square_mgr_db_sql_query(square_mgr, query_string);
+ sqlite3_free(query_string);
+
+ if (err < 0) {
+ mp_debug("Inserting record failed\n");
+ mp_debug("query string is %s\n", query_string);
+ return MP_SQUARE_DB_ERROR_INTERNAL;
+ }
+
+ return err;
+}
+
+static gint _mp_app_control_square_mgr_record_excite_score_sort_func(
+ gconstpointer a, gconstpointer b)
+{
+ if (!a || !b)
+ return 1;
+
+ mp_square_record_t *a_record = (mp_square_record_t *)a;
+ mp_square_record_t *b_record = (mp_square_record_t *)b;
+
+ return (gint)((b_record->scores[0] - a_record->scores[0]) * 100);
+}
+
+
+static int _mp_app_control_square_mgr_db_load(mp_square_mgr_t *square_mgr)
+{
+ startfunc;
+
+ MP_CHECK_VAL(square_mgr, -1);
+ MP_CHECK_VAL(square_mgr->sqlite_handle, -1);
+
+ int err = -1;
+
+ int count = 0;
+ err = mp_app_control_square_mgr_records_count_get(square_mgr, &count);
+ MP_CHECK_VAL(count, -1);
+ DEBUG_TRACE("record count = %d", count);
+
+ sqlite3 *handle = square_mgr->sqlite_handle;
+ sqlite3_stmt *stmt = NULL;
+
+ const char *q_string =
+ "SELECT _id, score_excite, score_cheerful, score_violent, \
+ year FROM music_square";
+ err = sqlite3_prepare_v2(handle, q_string,
+ strlen(q_string), &stmt, NULL);
+ if (SQLITE_OK != err) {
+ mp_debug("prepare error [%s]\n", sqlite3_errmsg(handle));
+ mp_debug("query string is %s\n", q_string);
+ return MP_SQUARE_DB_ERROR_INTERNAL;
+ }
+
+ while (sqlite3_step(stmt) == SQLITE_ROW) {
+ mp_square_record_t *record = calloc(1,
+ sizeof(mp_square_record_t));
+ record->id = (int)sqlite3_column_int(stmt, 0);
+ record->scores[0] = (double)sqlite3_column_double(stmt, 1);
+ record->scores[1] = (double)sqlite3_column_double(stmt, 2);
+ record->scores[2] = (double)sqlite3_column_double(stmt, 3);
+ record->year = (int)sqlite3_column_int(stmt, 4);
+
+ DEBUG_TRACE("[%d] %f, %f, %f, %d", record->id, record->
+ scores[0], record->scores[1], record->scores[2],
+ record->year);
+ square_mgr->base_list = g_list_insert_sorted(square_mgr->
+ base_list, record, _mp_app_control_square_mgr_record_
+ excite_score_sort_func);
+ }
+
+ sqlite3_finalize(stmt);
+ endfunc;
+ return 0;
+}
+
+static inline int _get_cell_num(int *cell, int index)
+{
+ int i = 0;
+ int j = 0;
+ while (i < 5) {
+ j += cell[i];
+ /* DEBUG_TRACE("i = %d, j= %d index = %d", i, j, index); */
+ if (j > index)
+ return i;
+
+ ++i;
+ }
+
+ return 0;
+}
+
+static int _mp_app_control_square_mgr_db_update(mp_square_mgr_t *square_mgr)
+{
+ startfunc;
+
+ MP_CHECK_VAL(square_mgr, -1);
+ MP_CHECK_VAL(square_mgr->sqlite_handle, -1);
+ MP_CHECK_VAL(square_mgr->base_list, -1);
+
+ GList *list = square_mgr->base_list;
+
+ int ret = 0;
+ ret = _mp_app_control_square_mgr_db_sql_query(square_mgr, "BEGIN");
+ if (ret) {
+ mp_error("transaction BEGIN failed");
+ return ret;
+ }
+
+ int cell[MP_SQUARE_CELL_MAX][MP_SQUARE_CELL_MAX];
+ int i = 0;
+ int j = 0;
+ for (i = 0; i < MP_SQUARE_CELL_MAX; i++) {
+ int total = g_list_length(square_mgr->mood_x[i]);
+ int item_per_cell = total / MP_SQUARE_CELL_MAX;
+ int remain = total % MP_SQUARE_CELL_MAX;
+
+ for (j = 0; j < MP_SQUARE_CELL_MAX; j++) {
+ cell[i][j] = item_per_cell;
+ if (j < remain)
+ cell[i][j]++;
+
+ /* DEBUG_TRACE("sell[%d][%d] = [%d]", i, j,
+ cell[i][j]); */
+ }
+ }
+
+ for (i = 0; i < g_list_length(list) ; i++) {
+ mp_square_record_t *record = g_list_nth_data(list, i);
+ int y = record->pos_mood.y;
+ record->pos_mood.y = y + 1;
+ record->pos_mood.x = _get_cell_num(cell[y],
+ g_list_index(square_mgr->mood_x[y], record)) + 1;
+
+ record->pos_year.y = y + 1;
+ record->pos_year.x = _get_cell_num(cell[y], g_list_index(
+ square_mgr->year_x[y], record)) + 1;
+
+ char *query = sqlite3_mprintf(
+ "UPDATE music_square SET pos_mood=%d, pos_year=%d WHERE _id=%d"
+ , record->pos_mood, record->pos_year, record->id);
+ DEBUG_TRACE("MOOD[%d, %d] => %f", record->pos_mood.x,
+ record->pos_mood.y, record->scores[0]);
+ DEBUG_TRACE("YEAR[%d, %d] => %d", record->pos_mood.x,
+ record->pos_mood.y, record->year);
+ ret = _mp_app_control_square_mgr_db_sql_query
+ (square_mgr, query);
+ SQL_SAFE_FREE(query);
+ if (ret) {
+ mp_error("Inserting record failed");
+ _mp_app_control_square_mgr_db_sql_query
+ (square_mgr, "ROLLBACK");
+ return ret;
+ }
+ }
+
+ ret = _mp_app_control_square_mgr_db_sql_query(square_mgr, "COMMIT");
+ if (ret) {
+ mp_error("transaction COMMIT failed");
+ return ret;
+ }
+
+ endfunc;
+ return 0;
+}
+
+static int _mp_app_control_square_mgr_db_update_track_less_than_25
+ (mp_square_mgr_t *square_mgr)
+{
+ startfunc;
+
+ MP_CHECK_VAL(square_mgr, -1);
+ MP_CHECK_VAL(square_mgr->sqlite_handle, -1);
+ MP_CHECK_VAL(square_mgr->base_list, -1);
+
+ GList *list = square_mgr->base_list;
+
+ int ret = 0;
+ ret = _mp_app_control_square_mgr_db_sql_query(square_mgr, "BEGIN");
+ if (ret) {
+ mp_error("transaction BEGIN failed");
+ return ret;
+ }
+
+ int i = 0;
+
+ for (i = 0; i < g_list_length(list) ; i++) {
+ mp_square_record_t *record = g_list_nth_data(list, i);
+ record->pos_mood.y = MP_SQUARE_CELL_MAX - i%MP_SQUARE_CELL_MAX;
+ record->pos_mood.x = MP_SQUARE_CELL_MAX -
+ (int)(i/MP_SQUARE_CELL_MAX);
+
+ record->pos_year.y = MP_SQUARE_CELL_MAX - i%MP_SQUARE_CELL_MAX;
+ record->pos_year.x = MP_SQUARE_CELL_MAX -
+ (int)(i/MP_SQUARE_CELL_MAX);
+
+ char *query = sqlite3_mprintf(
+ "UPDATE music_square SET pos_mood=%d, pos_year=%d WHERE _id=%d"
+ , record->pos_mood, record->pos_year, record->id);
+ DEBUG_TRACE("MOOD[%d, %d] => %f", record->pos_mood.x,
+ record->pos_mood.y, record->scores[0]);
+ DEBUG_TRACE("YEAR[%d, %d] => %d", record->pos_mood.x,
+ record->pos_mood.y, record->year);
+ ret = _mp_app_control_square_mgr_db_sql_query(
+ square_mgr, query);
+ SQL_SAFE_FREE(query);
+ if (ret) {
+ mp_error("Inserting record failed");
+ _mp_app_control_square_mgr_db_sql_query(
+ square_mgr, "ROLLBACK");
+ return ret;
+ }
+ }
+
+ ret = _mp_app_control_square_mgr_db_sql_query(square_mgr, "COMMIT");
+ if (ret) {
+ mp_error("transaction COMMIT failed");
+ return ret;
+ }
+
+ endfunc;
+ return 0;
+}
+
+static gint _mp_app_control_square_mgr_mood_sort_func(gconstpointer a,
+ gconstpointer b)
+{
+ if (!a || !b)
+ return 1;
+
+ mp_square_record_t *a_record = (mp_square_record_t *)a;
+ mp_square_record_t *b_record = (mp_square_record_t *)b;
+
+ double a_mood = a_record->scores[1] - a_record->scores[2];
+ double b_mood = b_record->scores[1] - b_record->scores[2];
+
+ return (gint)((b_mood - a_mood) * 100);
+}
+
+static gint _mp_app_control_square_mgr_year_sort_func(gconstpointer a,
+ gconstpointer b)
+{
+ if (!a || !b)
+ return 1;
+
+ mp_square_record_t *a_record = (mp_square_record_t *)a;
+ mp_square_record_t *b_record = (mp_square_record_t *)b;
+
+ return (a_record->year - b_record->year);
+}
+
+static void
+_mp_app_control_square_mgr_position_recalculate(mp_square_mgr_t *square_mgr)
+{
+ MP_CHECK(square_mgr);
+ GList *list = square_mgr->base_list;
+ MP_CHECK(list);
+
+ int total_count = g_list_length(list);
+
+ int i = 0;
+ int item_per_cell = total_count / MP_SQUARE_CELL_MAX;
+ int current_item_count = 0;
+ int remain = total_count % MP_SQUARE_CELL_MAX;
+
+ int cell = 0;
+ for (i = 0; i < total_count; i++) {
+ mp_square_record_t *record = g_list_nth_data(list, i);
+ record->pos_mood.y = cell;
+
+ square_mgr->mood_x[cell] = g_list_insert_sorted(
+ square_mgr->mood_x[cell], record,
+ _mp_app_control_square_mgr_mood_sort_func);
+ square_mgr->year_x[cell] = g_list_insert_sorted(
+ square_mgr->year_x[cell], record,
+ _mp_app_control_square_mgr_year_sort_func);
+ ++current_item_count;
+
+ if (current_item_count == item_per_cell) {
+ if (remain > 0) {
+ ++i;
+ record = g_list_nth_data(list, i);
+ record->pos_mood.y = cell;
+ square_mgr->mood_x[cell] = g_list_insert_sorted
+ (square_mgr->mood_x[cell], record,
+ _mp_app_control_square_mgr_mood_sort_func);
+ square_mgr->year_x[cell] = g_list_insert_sorted
+ (square_mgr->year_x[cell], record,
+ _mp_app_control_square_mgr_year_sort_func);
+ --remain;
+ }
+
+ ++cell;
+ current_item_count = 0;
+ }
+ }
+}
+
+static void _mp_app_control_square_mgr_db_table_records_update(
+ mp_square_mgr_t *square_mgr)
+{
+ startfunc;
+ MP_CHECK(square_mgr);
+
+ int i = 0;
+
+ /* load all data from DB */
+ _mp_app_control_square_mgr_db_load(square_mgr);
+ MP_CHECK(square_mgr->base_list);
+
+ if (square_mgr->media_count >= 25) {
+ /* recalculate pos */
+ _mp_app_control_square_mgr_position_recalculate(square_mgr);
+
+ /* update db */
+ _mp_app_control_square_mgr_db_update(square_mgr);
+
+ /* free list data */
+ for (i = 0; i < MP_SQUARE_CELL_MAX; i++) {
+ if (square_mgr->mood_x[i]) {
+ g_list_free(square_mgr->mood_x[i]);
+ square_mgr->mood_x[i] = NULL;
+ }
+
+ if (square_mgr->year_x[i]) {
+ g_list_free(square_mgr->year_x[i]);
+ square_mgr->year_x[i] = NULL;
+ }
+ }
+ } else {
+ _mp_app_control_square_mgr_db_update_track_less_than_25(
+ square_mgr);
+ }
+
+ for (i = 0; i < g_list_length(square_mgr->base_list); i++) {
+ mp_square_record_t *record = g_list_nth_data(square_mgr->
+ base_list, i);
+ IF_FREE(record);
+ }
+
+ g_list_free(square_mgr->base_list);
+ square_mgr->base_list = NULL;
+
+
+
+ endfunc;
+}
+
+static void _mp_app_control_square_mgr_db_table_records_append_timer_cb
+ (void *data)
+{
+ DEBUG_TRACE_FUNC();
+
+ TIMER_TRACE();
+ mp_square_mgr_t *square_mgr = data;
+ MP_CHECK(square_mgr);
+
+ int index = square_mgr->current_index;
+ int count = square_mgr->media_count;
+ bool exit_flag = true;
+
+ ERROR_TRACE("COUNT:%d", count);
+ while (exit_flag) {
+ ERROR_TRACE("go");
+ if (square_mgr->current_index < count && square_mgr->
+ total_count && !square_mgr->terminal_status) {
+ ERROR_TRACE("id: %d", square_mgr->current_index);
+ mp_square_record_t *record = (mp_square_record_t *)
+ square_mgr->record;
+ MP_CHECK(record);
+
+ if (square_mgr->added_media_array[square_mgr->
+ current_index] == false) {
+ /* mp_debug("index=%d,count=%d\n",
+ index, count); */
+ char *path = NULL;
+ char *title = NULL;
+ char *fid = NULL;
+ char *year = NULL;
+ time_t added_time;
+ memset(&added_time, 0, sizeof(time_t));
+ time_t played_time;
+ memset(&played_time, 0, sizeof(time_t));
+
+ mp_media_info_h audio_handle = NULL;
+ audio_handle = mp_media_info_list_nth_item(
+ square_mgr->svc_handle,
+ square_mgr->current_index);
+ mp_media_info_get_file_path(audio_handle,
+ &path);
+ MP_CHECK(path);
+
+ mp_media_info_get_title(audio_handle, &title);
+ mp_media_info_get_media_id(audio_handle, &fid);
+ mp_media_info_get_year(audio_handle, &year);
+ mp_media_info_get_added_time(audio_handle,
+ &added_time);
+ mp_media_info_get_played_time(audio_handle,
+ &played_time);
+ DEBUG_TRACE("year=%s", year);
+ /* DEBUG_TRACE("added_time=%ld", added_time);
+ DEBUG_TRACE("played_time=%ld", played_time);
+ DEBUG_TRACE("path=%s", path); */
+
+ if (path != NULL)
+ strncpy(record[square_mgr->record_
+ count].path, path, sizeof(
+ record[square_mgr->record_
+ count].path)-1);
+ if (title != NULL)
+ strncpy(record[square_mgr->record_
+ count].title, title, sizeof(
+ record[square_mgr->record_
+ count].title)-1);
+ if (year != NULL)
+ /* strncpy(record[square_mgr->record_
+ count].year, year, sizeof(
+ record[square_mgr->record_
+ count].year)-1); */
+ record[square_mgr->record_count].year
+ = atoi(year);
+ record[square_mgr->record_count].added_time =
+ added_time;
+ record[square_mgr->record_count].added_time =
+ played_time;
+
+ double *scores = NULL;
+ struct stat s_stat;
+ int result = stat(path, &s_stat);
+ if (result == -1) {
+ ERROR_TRACE("stat:error=%d", result);
+ }
+
+ if (mp_file_exists(path) && result != -1 &&
+ s_stat.st_size > 0) {
+ scores = _mp_app_control_square_mgr_
+ MpWitchMoodEngineEXE(
+ square_mgr, path);
+ /* mp_debug("scores=%p", scores); */
+ if (scores) {
+ /* mp_debug("scores[0]=%lf,
+ scores[1]=%lf,
+ scores[2]=%lf"
+ , scores[0],
+ scores[1],
+ scores[2]); */
+ record[square_mgr->record_
+ count].scores[0] =
+ scores[0];
+ record[square_mgr->record_
+ count].scores[1] =
+ scores[1];
+ record[square_mgr->record
+ _count].scores[2] =
+ scores[2];
+ }
+ }
+
+ _mp_app_control_square_mgr_db_table_record_
+ insert(square_mgr,
+ &record[square_mgr->record_count]);
+ square_mgr->record_count++;
+ }
+ square_mgr->current_index++;
+ } else {
+ ERROR_TRACE("else");
+ square_mgr->terminal_status = false;
+ IF_FREE(square_mgr->record);
+
+ square_mgr->current_index = -1;
+ square_mgr->record_count = -1;
+ square_mgr->total_count = -1;
+
+ if (square_mgr->svc_handle)
+ mp_media_info_list_destroy
+ (square_mgr->svc_handle);
+ square_mgr->svc_handle = NULL;
+
+ SAFE_FREE(square_mgr->added_media_array);
+
+ /* release music square engine */
+ _mp_app_control_square_mgr_
+ MpWitchMoodEngineRelease(square_mgr);
+
+ /* update db */
+ _mp_app_control_square_mgr_db_table_records_update
+ (square_mgr);
+
+ /* update square list
+ _mp_app_control_square_mgr_list_destroy(square_mgr);
+ _mp_app_control_square_mgr_list_create(square_mgr); */
+
+ exit_flag = false;
+
+ }
+ }
+
+ }
+
+static int _mp_app_control_square_mgr_db_table_media_append
+ (mp_square_mgr_t *square_mgr)
+{
+ DEBUG_TRACE_FUNC();
+
+ MP_CHECK_VAL(square_mgr, -1);
+ MP_CHECK_VAL(square_mgr->svc_handle, -1);
+
+ int ret = 0;
+ int count = 0;
+ int index = 0;
+
+ if (_mp_app_control_square_mgr_db_table_exist(square_mgr,
+ MP_SQUARE_DB_TABLE_NAME) != 1) {
+ if (_mp_app_control_square_mgr_db_table_create(square_mgr,
+ MP_SQUARE_DB_TABLE_NAME) !=
+ MP_SQUARE_DB_ERROR_NONE)
+ return -1;
+ }
+
+ while (index < square_mgr->media_count) {
+ if (square_mgr->added_media_array[index] == false)
+ ++count;
+
+ ++index;
+ }
+ WARN_TRACE("Not added media count = %d", count);
+
+ mp_square_record_t *record = calloc(count, sizeof(mp_square_record_t));
+ MP_CHECK_VAL(record, -1);
+ IF_FREE(square_mgr->record);
+ square_mgr->record = record;
+
+ square_mgr->total_count = count;
+ square_mgr->record_count = 0;
+ square_mgr->current_index = 0;
+
+ if (square_mgr->total_count == 0) {
+ IF_FREE(square_mgr->record);
+ } else {
+ /* init music square engine */
+ ret = _mp_app_control_square_mgr_MpWitchMoodEngineInit
+ (square_mgr);
+ }
+
+ ERROR_TRACE("Add timer");
+ _mp_app_control_square_mgr_db_table_records_append_timer_cb(square_mgr);
+ /* square_mgr->create_record_timer = ecore_timer_add(0.005,
+ _mp_app_control_square_mgr_db_table_records_append_timer_cb,
+ square_mgr);*/
+
+ return ret;
+}
+
+int _mp_app_control_square_mgr_db_table_records_list_get(
+ mp_square_mgr_t *square_mgr,
+ const char *q_string,
+ GList **list_records)
+{
+ DEBUG_TRACE_FUNC();
+
+ MP_CHECK_VAL(square_mgr, -1);
+ MP_CHECK_VAL(square_mgr->sqlite_handle, -1);
+ MP_CHECK_VAL(list_records, -1);
+ MP_CHECK_VAL(q_string, -1);
+
+ sqlite3 *handle = square_mgr->sqlite_handle;
+ sqlite3_stmt *stmt = NULL;
+ int err = -1;
+
+ err =
+ sqlite3_prepare_v2(handle, q_string, strlen(q_string), &stmt, NULL);
+ if (SQLITE_OK != err) {
+ mp_debug("prepare error [%s]\n", sqlite3_errmsg(handle));
+ mp_debug("query string is %s\n", q_string);
+ return MP_SQUARE_DB_ERROR_INTERNAL;
+ }
+
+ int i = 0;
+ int position = 0;
+ while (sqlite3_step(stmt) == SQLITE_ROW) {
+ mp_square_item_t *item = calloc(1, sizeof(mp_square_item_t));
+
+ char *path = (char *)sqlite3_column_text(stmt, 0);
+ mp_debug("====path=%s====", path);
+ if (!mp_check_file_exist(path)) {
+ IF_FREE(item);
+ continue;
+ }
+ if (path != NULL)
+ strncpy(item->path, path,
+ MP_SQUARE_MUSIC_FILE_PATH_LEN_MAX);
+
+ position = sqlite3_column_int(stmt, 1);
+ item->pos.x = position&0xFF;
+ item->pos.y = position>>8;
+
+ *list_records = g_list_append(*list_records, item);
+/*
+ char *title = (char*)sqlite3_column_text(stmt, 2);
+ mp_debug("====title=%s====", title);
+*/
+ i++;
+ }
+
+ sqlite3_finalize(stmt);
+
+ return 0;
+}
+
+
+
+int mp_app_control_square_mgr_records_count_get(mp_square_mgr_t *square_mgr,
+ int *count)
+{
+ /* DEBUG_TRACE_FUNC();*/
+
+ MP_CHECK_VAL(square_mgr, -1);
+ MP_CHECK_VAL(square_mgr->sqlite_handle, -1);
+
+ sqlite3 *handle = square_mgr->sqlite_handle;
+ sqlite3_stmt *stmt = NULL;
+
+ int err = -1;
+ char query[MP_SQUARE_DB_QUERY_STR_LEN_MAX] = {0};
+
+ snprintf(query, sizeof(query), MP_SQUARE_DB_TABLE_RECORD_COUNT_ALL);
+
+ err = sqlite3_prepare_v2(handle, query, -1, &stmt, NULL);
+ if (err != SQLITE_OK) {
+ mp_error("prepare error [%s]", sqlite3_errmsg(handle));
+ return MP_SQUARE_DB_ERROR_INTERNAL;
+ }
+
+ /* mp_debug("[SQL query] : %s", query);*/
+
+ err = sqlite3_step(stmt);
+ if (err != SQLITE_ROW) {
+ mp_error("end of row [%s]", sqlite3_errmsg(handle));
+ sqlite3_finalize(stmt);
+ return MP_SQUARE_DB_ERROR_INTERNAL;
+ }
+ *count = sqlite3_column_int(stmt, 0);
+
+ sqlite3_finalize(stmt);
+
+ return MP_SQUARE_DB_ERROR_NONE;
+}
+
+int mp_app_control_square_mgr_reset(mp_square_mgr_t *square_mgr)
+{
+ DEBUG_TRACE_FUNC();
+
+ MP_CHECK_FALSE(square_mgr);
+ MP_CHECK_FALSE(square_mgr->sqlite_handle);
+
+ int ret = 0;
+
+ /* clear square db */
+ ret = _mp_app_control_square_mgr_db_clear(square_mgr);
+ if (ret != MP_SQUARE_DB_ERROR_NONE) {
+ return ret;
+ }
+
+ return 0;
+}
+
+int mp_app_control_square_mgr_update(mp_square_mgr_t *square_mgr)
+{
+ DEBUG_TRACE_FUNC();
+
+ MP_CHECK_FALSE(square_mgr);
+ MP_CHECK_FALSE(square_mgr->sqlite_handle);
+
+ int ret = 0;
+
+ /* update square db */
+ ret = _mp_app_control_square_mgr_db_clear(square_mgr);
+ if (ret != MP_SQUARE_DB_ERROR_NONE) {
+ return ret;
+ }
+
+ ret = _mp_app_control_square_mgr_db_table_create
+ (square_mgr, MP_SQUARE_DB_TABLE_NAME);
+ if (ret != MP_SQUARE_DB_ERROR_NONE) {
+ return ret;
+ }
+
+ int count = 0;
+ ret = mp_media_info_list_count(MP_TRACK_ALL,
+ NULL, NULL, NULL, 0, &count);
+ MP_CHECK_VAL(ret == 0, -1);
+ MP_CHECK_VAL(count > 0, -1);
+ mp_debug("track_count: %d", count);
+
+ if (square_mgr->svc_handle)
+ mp_media_info_list_destroy(square_mgr->svc_handle);
+ square_mgr->svc_handle = NULL;
+ ret = mp_media_info_list_create(&square_mgr->svc_handle, MP_TRACK_ALL,
+ NULL, NULL, NULL, 0, 0, count);
+ MP_CHECK_VAL(ret == 0, -1);
+
+ square_mgr->media_count = count;
+ SAFE_FREE(square_mgr->added_media_array);
+ square_mgr->added_media_array = calloc(count, sizeof(bool));
+ mp_assert(square_mgr->added_media_array);
+
+ ret = _mp_app_control_square_mgr_db_table_media_append(square_mgr);
+
+ return ret;
+}
+
+static int
+_mp_app_control_square_mgr_find_path_from_media_list(mp_media_list_h media_list
+ , int count, bool *added_media_array, const char *finding_path)
+{
+ MP_CHECK_VAL(media_list, -1);
+ MP_CHECK_VAL(count > 0, -1);
+ MP_CHECK_VAL(added_media_array, -1);
+ MP_CHECK_VAL(finding_path, -1);
+
+ int index = 0;
+ mp_media_info_h media = NULL;
+ char *path = NULL;
+ while (index < count) {
+ if (added_media_array[index] == false) {
+ media = mp_media_info_list_nth_item(media_list, index);
+ if (media) {
+ mp_media_info_get_file_path(media, &path);
+ if (!g_strcmp0(path, finding_path)) {
+ /*mp_debug("index of [%s] is [%d]",
+ path, index);*/
+ return index;
+ }
+ }
+ }
+
+ ++index;
+ }
+
+ return -1;
+}
+
+static void
+_mp_app_control_square_mgr_compare_list(mp_square_mgr_t *square_mgr,
+ GList *path_list, bool *record_check_list)
+{
+ startfunc;
+ MP_CHECK(square_mgr);
+
+ mp_media_list_h media_list = square_mgr->svc_handle;
+ MP_CHECK(media_list);
+
+ bool *added_media_array = square_mgr->added_media_array;
+ MP_CHECK(added_media_array);
+
+ int media_count = square_mgr->media_count;
+ MP_CHECK(media_count > 0);
+
+ MP_CHECK(path_list);
+ MP_CHECK(record_check_list);
+
+ int record_index = 0;
+ int media_index = -1;
+ int record_count = g_list_length(path_list);
+ while (record_index < record_count) {
+ char *path = g_list_nth_data(path_list, record_index);
+ if (path) {
+ media_index = _mp_app_control_square_mgr_find_path_from
+ _media_list(media_list, media_count,
+ added_media_array, path);
+ if (media_index >= 0) {
+ added_media_array[media_index] = true;
+ record_check_list[record_index] = true;
+ }
+ }
+
+ ++record_index;
+ }
+}
+
+static void
+_mp_app_control_square_mgr_remove_record_from_square_db(mp_square_mgr_t
+ *square_mgr, GList *path_list, bool *exist_path_list_array)
+{
+ startfunc;
+ MP_CHECK(square_mgr);
+ MP_CHECK(path_list);
+ MP_CHECK(exist_path_list_array);
+
+ int index = 0;
+ int record_count = g_list_length(path_list);
+ int max_rec = (record_count > 20) ? 20 : record_count;
+
+ while (index < record_count) {
+ int loop_cnt = 0;
+ char *where = NULL;
+ char *path = NULL;
+ while (loop_cnt < max_rec && index < record_count) {
+ if (exist_path_list_array[index] == false) {
+ path = g_list_nth_data(path_list, index);
+ if (path && strlen(path)) {
+ mp_debug("remove path : %s, index %d",
+ path, index);
+ char *cond = sqlite3_mprintf(
+ "path=\'%q\'", path);
+ if (where) {
+ char *old = where;
+ where = sqlite3_mprintf(
+ "%s OR %s",
+ old, cond);
+ sqlite3_free(cond);
+ sqlite3_free(old);
+ } else {
+ where = cond;
+ }
+ loop_cnt++;
+ }
+ }
+
+ ++index;
+
+ }
+
+ if (where == NULL) {
+ mp_debug("no remove record");
+ return;
+ }
+
+ char *query_string = sqlite3_mprintf(
+ "DELETE FROM music_square WHERE ( %s )", where);
+ sqlite3_free(where);
+ mp_debug("Query : %s", query_string);
+ _mp_app_control_square_mgr_db_sql_query(square_mgr,
+ query_string);
+ sqlite3_free(query_string);
+ }
+ endfunc;
+}
+
+int _mp_app_control_square_mgr_db_table_path_list_get(
+ mp_square_mgr_t *square_mgr, GList **path_list)
+{
+ startfunc;
+
+ MP_CHECK_VAL(square_mgr, -1);
+ MP_CHECK_VAL(square_mgr->sqlite_handle, -1);
+ MP_CHECK_VAL(path_list, -1);
+
+ sqlite3 *handle = square_mgr->sqlite_handle;
+ sqlite3_stmt *stmt = NULL;
+ int err = -1;
+
+ const char *q_string = "SELECT path FROM music_square";
+ err = sqlite3_prepare_v2
+ (handle, q_string, strlen(q_string), &stmt, NULL);
+ if (SQLITE_OK != err) {
+ mp_debug("prepare error [%s]\n", sqlite3_errmsg(handle));
+ mp_debug("query string is %s\n", q_string);
+ return MP_SQUARE_DB_ERROR_INTERNAL;
+ }
+
+ int i = 0;
+ while (sqlite3_step(stmt) == SQLITE_ROW) {
+ char *path = (char *)sqlite3_column_text(stmt, 0);
+ if (path) {
+ mp_debug("[path : %s]", path);
+ *path_list = g_list_append(*path_list, g_strdup(path));
+ }
+ i++;
+ }
+
+ sqlite3_finalize(stmt);
+ endfunc;
+ return 0;
+}
+
+
+int mp_app_control_square_mgr_update_diff_only(mp_square_mgr_t *square_mgr)
+{
+ DEBUG_TRACE_FUNC();
+
+ MP_CHECK_FALSE(square_mgr);
+ MP_CHECK_FALSE(square_mgr->sqlite_handle);
+
+ int ret = 0;
+
+ ret = mp_media_info_connect();
+ MP_CHECK_VAL(ret == 0, -1);
+
+ GList *path_list = NULL;
+ int path_count = 0;
+ bool *exist_path_list_array = NULL;
+
+ if (_mp_app_control_square_mgr_db_table_exist
+ (square_mgr, MP_SQUARE_DB_TABLE_NAME) != 1) {
+ if (_mp_app_control_square_mgr_db_table_create
+ (square_mgr, MP_SQUARE_DB_TABLE_NAME) !=
+ MP_SQUARE_DB_ERROR_NONE) {
+ ret = -1;
+ goto exception;
+ }
+ }
+
+ if (square_mgr->svc_handle) {
+ mp_media_info_list_destroy(square_mgr->svc_handle);
+ square_mgr->svc_handle = NULL;
+ }
+ SAFE_FREE(square_mgr->added_media_array);
+ square_mgr->media_count = 0;
+
+ /* get media list */
+ ret = mp_media_info_list_count(
+ MP_TRACK_ALL, NULL, NULL, NULL, 0, &square_mgr->media_count);
+ MP_CHECK_VAL(ret == 0, -1);
+
+ mp_debug("track_count: %d", square_mgr->media_count);
+ if (square_mgr->media_count > 0) {
+ square_mgr->added_media_array =
+ calloc(square_mgr->media_count, sizeof(bool));
+ mp_assert(square_mgr->added_media_array);
+
+ ret = mp_media_info_list_create(&square_mgr->svc_handle,
+ MP_TRACK_ALL, NULL, NULL, NULL, 0, 0, square_mgr->media_count);
+ if (ret != 0) {
+ mp_error("mp_media_info_list_create().. [0x%x]", ret);
+ goto exception;
+ }
+ } else {
+ _mp_app_control_square_mgr_db_clear(square_mgr);
+ return -1;
+ }
+
+ /* get list from Square DB */
+ if (_mp_app_control_square_mgr_db_table_path_list_get
+ (square_mgr, &path_list) != 0) {
+ mp_error(
+ "_mp_app_control_square_mgr_db_table_records_list_get()");
+ ret = -1;
+ goto exception;
+ }
+
+ path_count = g_list_length(path_list);
+ mp_debug("square DB count = %d", path_count);
+ if (path_count > 0) {
+ exist_path_list_array = calloc(path_count, sizeof(bool));
+ mp_assert(exist_path_list_array);
+ }
+
+ /* compare */
+ _mp_app_control_square_mgr_compare_list(square_mgr,
+ path_list, exist_path_list_array);
+
+ /* remove records from Sqaure DB */
+ _mp_app_control_square_mgr_remove_record_from_square_db(square_mgr,
+ path_list, exist_path_list_array);
+ SAFE_FREE(exist_path_list_array);
+ GList *temp = path_list;
+ while (temp) {
+ char *path = temp->data;
+ SAFE_FREE(path);
+ temp = temp->next;
+ }
+ g_list_free(path_list);
+ path_list = NULL;
+
+ /* append new media to Sqaure DB */
+ ret = _mp_app_control_square_mgr_db_table_media_append(square_mgr);
+ if (ret != 0) {
+ mp_error(
+ "_mp_app_control_square_mgr_db_table_media_append() ... [0x%x]", ret);
+ goto exception;
+ }
+
+ mp_media_info_disconnect();
+
+ return 0;
+
+exception:
+ if (square_mgr->svc_handle) {
+ mp_media_info_list_destroy(square_mgr->svc_handle);
+ square_mgr->svc_handle = NULL;
+ }
+ square_mgr->media_count = 0;
+ SAFE_FREE(square_mgr->added_media_array);
+ SAFE_FREE(exist_path_list_array);
+
+ return ret;
+}
+
+bool mp_app_control_square_mgr_destory(mp_square_mgr_t *square_mgr)
+{
+ DEBUG_TRACE_FUNC();
+
+ MP_CHECK_FALSE(square_mgr);
+ MP_CHECK_FALSE(square_mgr->sqlite_handle);
+
+ if (square_mgr->svc_handle) {
+ mp_media_info_list_destroy(square_mgr->svc_handle);
+ square_mgr->svc_handle = NULL;
+ }
+ SAFE_FREE(square_mgr->added_media_array);
+
+ /* disconnect db */
+ if (square_mgr->sqlite_handle != NULL)
+ _mp_app_control_square_mgr_db_disconnect(
+ square_mgr->sqlite_handle);
+
+ /* free square mgr */
+ free(square_mgr);
+ square_mgr = NULL;
+
+ return true;
+}
+
+mp_square_mgr_t *mp_app_control_square_mgr_create(void)
+{
+ startfunc;
+ DEBUG_TRACE_FUNC();
+
+ mp_square_mgr_t *square_mgr = NULL;
+ square_mgr = calloc(1, sizeof(mp_square_mgr_t));
+ MP_CHECK_NULL(square_mgr);
+ square_mgr->record_count = -1;
+ square_mgr->total_count = -1;
+
+ int ret = 0;
+
+ ret = _mp_app_control_square_mgr_db_connect(&square_mgr->sqlite_handle);
+
+ if (ret == 0) {
+ if (_mp_app_control_square_mgr_db_table_exist(square_mgr,
+ MP_SQUARE_DB_TABLE_NAME) != 1) {
+ ERROR_TRACE("Db not exist");
+ }
+ }
+
+ return square_mgr;
+}
+
--- /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
+ # ecore-x
+ 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-network-bluetooth
+ capi-message-port
+ capi-system-system-settings
+ notification
+# appcore-common
+
+#START_PUBLIC_REMOVED_STRING
+# shortcut
+# capi-system-sensor
+ libcore-context-manager
+# capi-context
+# capi-network-nfc
+# capi-telephony-sim
+ #libsoup-2.4
+# voice-control-static
+ capi-system-info
+ capi-system-runtime-info
+ capi-network-wifi
+ #liballshare
+ #liballshare-core
+ capi-network-wifi-direct
+ 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-player-drm.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-streaming-mgr.c
+ ${CMAKE_SOURCE_DIR}/src/core/mp-lyric-mgr.c
+ ${CMAKE_SOURCE_DIR}/src/core/mp-http-mgr.c
+ ${CMAKE_SOURCE_DIR}/src/core/mp-avrcp.c
+ ${CMAKE_SOURCE_DIR}/src/core/mp-volume.c
+ ${CMAKE_SOURCE_DIR}/src/core/mp-view-mgr.c
+# ${CMAKE_SOURCE_DIR}/src/core/mp-voice-control-mgr.c
+ ${CMAKE_SOURCE_DIR}/src/core/mp-watch-dog.c
+
+ ${CMAKE_SOURCE_DIR}/src/common/mp-item.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/common/mp-albumart.c
+
+ ${CMAKE_SOURCE_DIR}/src/view/mp-view.c
+ ${CMAKE_SOURCE_DIR}/src/view/mp-player-view.c
+ #${CMAKE_SOURCE_DIR}/src/view/mp-lyric-view.c
+ ${CMAKE_SOURCE_DIR}/src/view/mp-detail-view.c
+ #${CMAKE_SOURCE_DIR}/src/view/mp-set-as-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-scroll-page.c
+ ${CMAKE_SOURCE_DIR}/src/widget/mp-lyric.c
+ ${CMAKE_SOURCE_DIR}/src/core/mp-language-mgr.c
+ ${CMAKE_SOURCE_DIR}/src/widget/mp-mini-player.c
+ ${CMAKE_SOURCE_DIR}/src/widget/mp-lockscreenmini.c
+ ${CMAKE_SOURCE_DIR}/src/core/mp-collect-color-sort.c
+ ${CMAKE_SOURCE_DIR}/src/core/mp-collect-color.c
+# ${CMAKE_SOURCE_DIR}/src/common/mp-url-downloader.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
+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
+/*
+* Copyright (c) 2000-2015 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
+/*
+* Copyright (c) 2000-2015 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_ALBUMART_H__
+#define __MP_ALBUMART_H__
+
+void mp_albumart_update(const char *uri, const char *media_id);
+char *mp_albumart_path_get(const char *media_id);
+
+#endif
+
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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);
+
+#ifdef MP_ENABLE_INOTIFY
+int mp_app_inotify_init(void *data);
+void mp_app_inotify_finalize(struct appdata *ad);
+int mp_app_inotify_add_watch(const char *path, mp_inotify_cb callback, void *user_data);
+int mp_app_inotify_rm_watch(int index);
+#endif
+
+#ifdef MP_FEATURE_LANDSCAPE
+int mp_app_rotate(app_device_orientation_e mode, void *data);
+#endif
+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) 2000-2015 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"
+
+#ifdef MP_FEATURE_STORE
+#include "mh-common.h"
+#endif
+
+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_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(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);
+
+#ifdef MP_FEATURE_STORE
+MpView_t *mp_common_get_scroll_view(MpViewMgr_t *view_mgr);
+void mp_common_go_to_store_cb(void *data, Evas_Object *obj, void *event_info);
+#endif
+#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) 2000-2015 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_DB_CLIENT_H__
+#define __MP_DB_CLIENT_H__
+
+#include <glib.h>
+#include <sqlite3.h>
+#include "mp-square-mgr.h"
+
+typedef struct
+{
+ struct appdata *ad;
+
+ sqlite3 *sqlite_handle;
+
+ GList *path_list;
+
+} mp_dbc_mgr_t;
+
+
+bool mp_db_client_get_mood_by_path(mp_dbc_mgr_t *dbc_mgr, int *mood, char *path);
+int mp_db_client_get_paths_by_mood(mp_dbc_mgr_t *dbc_mgr, int mood);
+int mp_db_client_mgr_create(struct appdata *ad);
+bool mp_db_client_mgr_destory(mp_dbc_mgr_t *dbc_mgr);
+
+#endif
+
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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) 2000-2015 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) 2000-2015 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_INFO_DEFINE_H_
+#define __MP_INFO_DEFINE_H_
+
+#include <Elementary.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdbool.h>
+#include <unistd.h>
+#include <glib.h>
+#ifdef GBSBUILD
+#include <vconf.h>
+#endif
+#include <Ecore_IMF.h>
+#include <app.h>
+#include <Edje.h>
+#include <errno.h>
+#include <libintl.h>
+//#include <libsoup/soup.h>
+#include <libxml/tree.h>
+#include <libxml/parser.h>
+#include <libxml/xpath.h>
+#include <libxml/xpathInternals.h>
+//#include <libsoup/soup.h>
+#include <sys/times.h>
+#include "openssl/aes.h"
+#include "mp-define.h"
+
+#include "mp-player-debug.h"
+
+#define STR_DOMAIN_NAME "music-player"
+
+#define TITLE_H 90
+#define START_Y_POSITION 94
+
+#define MP_PHONE_ROOT_PATH "/opt/usr/media"
+#define MP_MMC_ROOT_PATH "/opt/storage/sdcard"
+
+#ifndef FALSE
+#define FALSE 0
+#endif
+#ifndef TRUE
+#define TRUE 1
+#endif
+
+#define PLAY_TIME_FORMAT "02u:%02u"
+#define MUSIC_TIME_FORMAT "02u:%02u:%02u"
+
+#undef FREE
+#define FREE(ptr) free(ptr); ptr = NULL;
+
+#undef IF_FREE
+#define IF_FREE(ptr) if (ptr) {free(ptr); ptr = NULL;}
+
+#undef SAFE_FREE
+#define SAFE_FREE(x) if(x) {free(x); x = NULL;}
+
+#define mp_evas_object_del(object) do { \
+ if(object) { \
+ evas_object_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_elm_genlist_item_class_free(itc) do { \
+ if(itc) { \
+ elm_genlist_item_class_free(itc); \
+ itc = NULL; \
+ } \
+} while (0)
+
+#define mp_ecore_timer_del(timer) do { \
+ if(timer) { \
+ ecore_timer_del(timer);\
+ timer = NULL; \
+ } \
+} while (0)
+
+#ifdef MUSICDIR
+#undef MUSICDIR
+#endif
+#define MUSICDIR DATA_PREFIX
+#define MP_RESDIR MUSICDIR"/res"
+#ifdef EDJDIR
+#undef EDJDIR
+#endif
+#define EDJDIR MP_RESDIR"/edje"
+#ifdef RICH_INFO_EDJ
+#undef RICH_INFO_EDJ
+#endif
+#define RICH_INFO_EDJ EDJDIR"/music.edj"
+#ifdef EDJ_NAME
+#undef EDJ_NAME
+#endif
+
+#define INFO_VIEW_VIDEO_PLAY_IMAGE "T02_Video_play.png"
+
+#define MP_ICON_RATING_PD ICON_DIRECTORY"/music_player/34_rating_0%d.png"
+
+#define MP_STAR_ICON_ON ICON_DIRECTORY"/music_player/T02_star_on.png"
+#define MP_STAR_ICON_OFF ICON_DIRECTORY"/music_player/T02_star_off.png"
+
+
+#define MP_UG_INFO_ALBUMART_CLICKED "albumart_clicked"
+
+#define MP_METADATA_LEN_MAX 193
+
+#endif /* __MP_INFO_DEFINE_H_ */
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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>
+bool mp_item_update_db(char *fid);
+
+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) 2000-2015 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
+
+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_played_time(mp_media_info_h media, time_t *time);
+int mp_media_info_get_played_count(mp_media_info_h media, int *count);
+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_played_time(mp_media_info_h media, time_t time);
+int mp_media_info_set_played_count(mp_media_info_h media, int count);
+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) 2000-2015 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);
+
+#ifdef MP_FEATURE_ADD_TO_HOME
+void mp_menu_add_to_home(int type, void *main_info, void *extra_info1, void *extra_info2);
+#endif
+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
+
+#define ADD_TO_HOME ("IDS_MUSIC_SK2_ADD_TO_HOME")
+#define CALLER_RINGTONE ("IDS_MUSIC_OPT_SETAS_CALLER_RINGTONE")
+#define ALARM_TONE ("IDS_MUSIC_OPT_SETAS_ALARM_TONE")
+#define CALL_RINGTONE ("IDS_MUSIC_POP_PHONE_RINGTONE")
+
+//system string
+#define BLUETOOTH_SYS GET_SYS_STR("IDS_COM_BODY_BLUETOOTH")
+#define ALLSHARE_SYS GET_SYS_STR("IDS_COM_BODY_ALLSHARE")
+#define EMAIL_SYS GET_SYS_STR("IDS_COM_BODY_EMAIL")
+#define MESSAGE_SYS GET_SYS_STR("IDS_COM_BODY_MESSAGE")
+#define WIFI_SYS GET_SYS_STR("IDS_COM_BODY_WI_FI")
+#define NFC_SYS GET_SYS_STR("IDS_COM_BODY_NFC")
+
+#endif // __MP_MENU_H_
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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 "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) 2000-2015 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_MUSIC_RECOMMEND_H__
+#define __MP_MUSIC_RECOMMEND_H__
+
+typedef struct _MpRcmd MpRcmd;
+
+typedef void(*MpRcmdCb)(int position, void *userdata);
+
+MpRcmd *
+mp_recommend_create(const char *path);
+
+int
+mp_recommend_extractable(MpRcmd *rcmd);
+
+void
+mp_recommend_extract(MpRcmd *rcmd, MpRcmdCb cb, void *user_data);
+
+void
+mp_recommend_destory(MpRcmd *rcmd);
+
+
+#endif
+
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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 MP_DEBUG_MODE
+#ifndef MP_SOUND_PLAYER
+#define ENABLE_MP_TA
+#endif
+#endif
+
+#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) )
+//#define MP_TA_GET_NAME(idx) ( mp_ta_get_name(idx) )
+
+// 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 __mp_ta__(name, x) \
+MP_TA_ACUM_ITEM_BEGIN(name, 0); \
+x \
+MP_TA_ACUM_ITEM_END(name, 0);
+
+#define __mm_tafmt__(fmt, args...) ( mp_ta_fmt(fmt, ##args) )
+*/
+
+#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) 2000-2015 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);
+int mp_ug_bt_attatch_file(const char *filepath, int count, void *user_data);
+//int mp_ug_wifi_setting();
+#ifndef MP_SOUND_PLAYER
+int mp_ug_camera_take_picture(void *data);
+int mp_ug_gallery_get_picture(void *data);
+#endif
+int mp_ug_message_attatch_file(const char *filepath, void *user_data);
+int mp_ug_contact_user_sel(const char *filepath, void *user_data);
+int mp_ug_set_as_alarm_tone(const char *filepath, int position);
+int mp_ug_show_info(struct appdata *ad);
+void mp_ug_send_message(struct appdata *ad, mp_ug_message_t message);
+#ifdef MP_FEATURE_WIFI_SHARE
+int mp_ug_wifi_attatch_file(const char *filepath, int count, void *user_data);
+#endif
+#ifdef MP_FEATURE_CLOUD
+int mp_ug_dropbox_attatch_file(const char *filepath, int count, void *user_data);
+#endif
+void mp_ug_destory_current(struct appdata *ad);
+
+bool mp_send_via_appcontrol(struct appdata *ad, mp_send_type_e send_type, const char *files);
+bool mp_setting_privacy_launch(void);
+bool mp_setting_wifi_launch(void);
+bool mp_setting_network_launch(void);
+
+#endif // __MP_ug_launch_H_
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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_MUSIC_OFF = 0x00,
+ PREF_MUSIC_PLAY,
+ PREF_MUSIC_PAUSE,
+ PREF_MUSIC_STOP,
+ PREF_MUSIC_STATE_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"
+
+int mp_setting_get_nowplaying_id(void);
+bool mp_util_is_streaming(const char *uri);
+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);
+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);
+
+bool mp_util_launch_browser(const char *url, struct appdata *ad);
+
+
+#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);
+#ifdef MP_IMAGE_EFFECT
+bool mp_util_edit_image(Evas *evas, Evas_Object *src_image, const char *path, int mode);
+#endif
+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) 2000-2015 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"
+#include "mp-scroll-page.h"
+#include "mp-floating-widget-mgr.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) 2000-2015 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>
+
+#ifdef IDEBUILD
+#include "idebuild.h"
+#endif
+
+#include <signal.h>
+// TEMP_BLOCK
+//#include <power.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"
+#ifdef MP_FEATURE_S_BEAM
+#include "mp-s-beam.h"
+#endif
+#include "mp-volume.h"
+
+#ifndef MP_SOUND_PLAYER
+#include "mp-common.h"
+#endif
+
+#ifdef MP_FEATURE_APP_IN_APP
+#include "mp-mini-player.h"
+#include <math.h>
+#endif
+
+#ifdef MP_3D_FEATURE
+#include "dali-music.h"
+#endif
+
+#ifdef MP_FEATURE_AVRCP_13
+#include "mp-avrcp.h"
+#endif
+
+#ifdef MP_FEATURE_VOICE_CONTROL
+#include "mp-voice-control-mgr.h"
+#endif
+#include <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_changed_info_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
+
+#ifdef MP_ENABLE_INOTIFY
+static void _mp_add_inofity_refresh_watch(struct appdata *ad);
+#endif
+
+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..");
+#ifdef MP_FEATURE_CLOUD
+ if (ret == MP_PLAY_ERROR_NETWORK)
+ mp_widget_text_popup(NULL, GET_STR(STR_MP_THIS_FILE_IS_UNABAILABLE));
+#endif
+ }
+ }
+ }
+ 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;
+}
+
+void
+_mp_app_noti_key_changed_cb(const char *key, void *data)
+{
+ EVENT_TRACE("");
+
+ struct appdata *ad = (struct appdata *)data;
+ MP_CHECK(ad);
+
+ if (strcmp(key, MP_PREFKEY_PLAYING_PID) == 0)
+ {
+ int playing_pid = 0;
+ preference_get_int(key, &playing_pid);
+#ifndef MP_SOUND_PLAYER
+ if (!playing_pid)
+ {
+ if (ad->player_state == PLAY_STATE_PAUSED) {
+ DEBUG_TRACE("sound-player terminated.. show minicontroller");
+
+ if (!ad->win_minicon)
+ mp_minicontroller_create(ad);
+ if (ad->win_minicon)
+ mp_minicontroller_show(ad);
+#ifdef MP_FEATURE_LOCKSCREEN
+ if (!ad->win_lockmini)
+ {
+ mp_lockscreenmini_create(ad);
+ }
+ if (ad->win_lockmini)
+ {
+ mp_lockscreenmini_show(ad);
+ }
+#endif
+ mp_setting_save_playing_info(ad);
+ }
+ } else
+#endif
+ if (playing_pid != getpid())
+ {
+ DEBUG_TRACE("other player activated : [pid:%d]", playing_pid);
+ if (ad->player_state == PLAY_STATE_PLAYING) {
+ ad->paused_by_other_player = TRUE;
+ mp_play_control_play_pause(ad, false);
+ }
+ mp_minicontroller_destroy(ad);
+#ifdef MP_FEATURE_LOCKSCREEN
+ mp_lockscreenmini_destroy(ad);
+#endif
+ }
+ }
+
+}
+
+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_common_force_close_delete();
+#endif
+ } else if (state == STORAGE_STATE_UNMOUNTABLE) {
+ if (strstr(ad->current_track_info->uri, MP_MMC_ROOT_PATH)
+ == ad->current_track_info->uri) {
+ mp_play_next_and_updateview(ad);
+ } else {
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_MMC_REMOVED);
+#ifndef MP_SOUND_PLAYER
+ mp_common_force_close_delete();
+#endif
+ }
+ }
+}
+
+void
+_mp_app_system_settings_changed_cb(system_settings_key_e key, void *user_data)
+{
+ EVENT_TRACE("");
+}
+
+void
+_mp_app_noti_changed_cb(keynode_t * node, void *data)
+{
+ EVENT_TRACE("");
+
+ struct appdata *ad = (struct appdata *)data;
+ MP_CHECK(ad);
+
+#ifdef GBSBUILD
+ char *keyname = vconf_keynode_get_name(node);
+#endif
+#ifdef IDEBUILD
+ char * keyname = "";
+#endif
+
+ SECURE_DEBUG("%s changed", keyname);
+
+ if (keyname == NULL)
+ return;
+
+ if (strcmp(keyname, MP_PREFKEY_PLAYING_PID) == 0)
+ {
+#ifdef GBSBUILD
+ int playing_pid = vconf_keynode_get_int(node);
+#endif
+#ifdef IDEBUILD
+ int playing_pid = 0;
+#endif
+#ifndef MP_SOUND_PLAYER
+ if (!playing_pid)
+ {
+ if (ad->player_state == PLAY_STATE_PAUSED) {
+ DEBUG_TRACE("sound-player terminated.. show minicontroller");
+
+ if (!ad->win_minicon)
+ mp_minicontroller_create(ad);
+ if (ad->win_minicon)
+ mp_minicontroller_show(ad);
+#ifdef MP_FEATURE_LOCKSCREEN
+ if (!ad->win_lockmini)
+ {
+ mp_lockscreenmini_create(ad);
+ }
+ if (ad->win_lockmini)
+ {
+ mp_lockscreenmini_show(ad);
+ }
+#endif
+ mp_setting_save_playing_info(ad);
+ }
+ } else
+#endif
+ if (playing_pid != getpid())
+ {
+ DEBUG_TRACE("other player activated : [pid:%d]", playing_pid);
+ if (ad->player_state == PLAY_STATE_PLAYING) {
+ ad->paused_by_other_player = TRUE;
+ mp_play_control_play_pause(ad, false);
+ }
+ mp_minicontroller_destroy(ad);
+#ifdef MP_FEATURE_LOCKSCREEN
+ mp_lockscreenmini_destroy(ad);
+#endif
+ }
+ }
+}
+
+#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
+
+//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));
+}
+static void
+_mp_app_active_device_chaged_cb(sound_device_h in, sound_device_changed_info_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));
+}
+
+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);
+#ifdef MP_FEATURE_AVRCP_13
+ mp_avrcp_noti_track_position(mp_player_mgr_get_position());
+#endif
+ break;
+
+ default:
+ WARN_TRACE("Not defined.. [%d]", pipe_data->type);
+ }
+
+}
+
+#ifdef MP_FEATURE_VOICE_CONTROL
+static void
+_mp_app_voice_control_volume_popup_show(void *data)
+{
+ struct appdata *ad = data;
+ MP_CHECK(ad);
+
+ MpView_t *playing_view = GET_PLAYER_VIEW;
+ MpView_t *top_vew = mp_view_mgr_get_top_view(GET_VIEW_MGR);
+ if ((playing_view == top_vew) && mp_volume_key_is_grabed()) {
+ mp_player_view_volume_popup_control(playing_view, true);
+ }
+ else {
+ mp_util_system_volume_popup_show();
+ }
+}
+
+static void
+_mp_app_voice_control_action_cb(mp_voice_ctrl_action_e action, void *data)
+{
+ struct appdata *ad = data;
+ MP_CHECK(ad);
+
+ mp_debug("voic control action = [%d]", action);
+ switch (action) {
+ case MP_VOICE_CTRL_ACTION_NEXT:
+ mp_play_next_file(ad, true);
+ break;
+
+ case MP_VOICE_CTRL_ACTION_PREVIOUS:
+ mp_play_prev_file(ad);
+ break;
+
+ case MP_VOICE_CTRL_ACTION_PAUSE:
+ mp_play_control_play_pause(ad, false);
+ break;
+
+ case MP_VOICE_CTRL_ACTION_PLAY:
+ if (ad->player_state != PLAY_STATE_PLAYING)
+ {
+ if (!mp_playlist_mgr_count(ad->playlist_mgr))
+ {
+ mp_media_list_h media = NULL;
+ int count = 0;
+
+ mp_media_info_list_count(MP_TRACK_BY_PLAYED_TIME, NULL, NULL, NULL, 0, &count);
+ if (count > 100)
+ count = 100;
+ if (count > 0)
+ mp_media_info_list_create(&media, MP_TRACK_BY_PLAYED_TIME, NULL, NULL, NULL, 0, 0, count);
+ else
+ mp_media_info_list_create(&media, MP_TRACK_ALL, NULL, NULL, NULL, 0, 0, 100);
+
+ 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);
+
+ int ret = mp_play_new_file(ad, TRUE);
+ if (ret)
+ {
+ ERROR_TRACE("Error: mp_play_new_file..");
+#ifdef MP_FEATURE_CLOUD
+ if (ret == MP_PLAY_ERROR_NETWORK)
+ mp_widget_text_popup(NULL, GET_STR(STR_MP_THIS_FILE_IS_UNABAILABLE));
+#endif
+ }
+ }
+ else
+ mp_play_control_play_pause(ad, true);
+ }
+ break;
+
+ case MP_VOICE_CTRL_ACTION_VOLUME_UP:
+ _mp_app_voice_control_volume_popup_show(ad);
+ mp_player_mgr_volume_up();
+ break;
+
+ case MP_VOICE_CTRL_ACTION_VOLUME_DOWN:
+ _mp_app_voice_control_volume_popup_show(ad);
+ mp_player_mgr_volume_down();
+ break;
+
+ default:
+ mp_debug("Not defined");
+ break;
+ }
+
+ power_wakeup(false);
+
+}
+#endif
+
+void _mp_app_db_update_cb(void *data)
+{
+ EVENT_TRACE("Post DB Update event");
+
+ struct appdata *ad = mp_util_get_appdata();
+ //mp_plst_item *item = mp_playlist_mgr_get_current(ad->playlist_mgr);
+
+ 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*/
+ mp_file_remove(MP_NOWPLAYING_INI_FILE_NAME);
+ /* remove playing_track.ini to avoid lockscreen still using the file content*/
+#ifndef MP_SOUND_PLAYER
+ mp_file_remove(MP_PLAYING_INI_FILE_NAME_MUSIC);
+#else
+ mp_file_remove(MP_PLAYING_INI_FILE_NAME_SOUND);
+#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
+
+#ifdef MP_ENABLE_INOTIFY
+ _mp_add_inofity_refresh_watch(ad);
+#endif
+ MpView_t *view = mp_view_mgr_get_view(GET_VIEW_MGR, MP_VIEW_PLAYER);
+ if (view)
+ mp_view_update_options((MpView_t *)view);
+
+}
+
+#ifdef MP_FEATURE_AVRCP_13
+void _mp_app_privacy_popup_resp_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ mp_popup_destroy(ad);
+
+ int response = (int)event_info;
+ if (response == MP_POPUP_YES) {
+ //show settings
+ mp_setting_privacy_launch();
+ }
+}
+#endif
+
+
+
+static void mp_app_now_playing_id_changed_cb(void *data, Ecore_File_Monitor *em, Ecore_File_Event event, const char *path)
+{
+ startfunc;
+
+ struct appdata *ad = data;
+ MP_CHECK(ad);
+
+ int playing_pid = mp_setting_get_nowplaying_id();
+ ERROR_TRACE("wishjox playing_pid:%d", playing_pid);
+#ifndef MP_SOUND_PLAYER
+ if (!playing_pid)
+ {
+ if (ad->player_state == PLAY_STATE_PAUSED) {
+ DEBUG_TRACE("sound-player terminated.. show minicontroller");
+
+ if (!ad->win_minicon)
+ mp_minicontroller_create(ad);
+ if (ad->win_minicon)
+ mp_minicontroller_show(ad);
+#ifdef MP_FEATURE_LOCKSCREEN
+ if (!ad->win_lockmini)
+ {
+ mp_lockscreenmini_create(ad);
+ }
+ if (ad->win_lockmini)
+ {
+ mp_lockscreenmini_show(ad);
+ }
+#endif
+ mp_setting_save_playing_info(ad);
+ }
+ } else
+#endif
+ if (playing_pid != getpid())
+ {
+ DEBUG_TRACE("other player activated : [pid:%d]", playing_pid);
+ if (ad->player_state == PLAY_STATE_PLAYING) {
+ ad->paused_by_other_player = TRUE;
+ mp_play_control_play_pause(ad, false);
+ }
+ mp_minicontroller_destroy(ad);
+#ifdef MP_FEATURE_LOCKSCREEN
+ mp_lockscreenmini_destroy(ad);
+#endif
+ }
+
+}
+
+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->externalStorageId = storageId;
+ return false;
+ }
+ return true;
+}
+
+bool
+mp_app_noti_init(void *data)
+{
+ startfunc;
+ int retcode = -1;
+ struct appdata *ad = 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->externalStorageId, &state);
+ }
+
+ 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 KEY_MUSIC_MENU_CHANGE key callback [%d]", retcode);
+ res = FALSE;
+ }
+ ecore_file_monitor_add(MP_NOW_PLAYING_ID_INI, mp_app_now_playing_id_changed_cb, ad);
+
+ if (storage_set_state_changed_cb(ad->externalStorageId, _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);
+#ifdef MP_FEATURE_AVRCP_13
+ int error = mp_avrcp_target_initialize();
+ if (!error)
+ {
+ if (ad->current_track_info)
+ {
+ mp_track_info_t *info = ad->current_track_info;
+ mp_avrcp_noti_track(info->title, info->artist, info->album, info->genre, info->duration);
+ }
+ error = _mp_app_set_avrcp_mode(ad);
+ }
+
+ if (error == MP_AVRCP_ERROR_PERMISSION_DENIED)
+ {
+ Evas_Object *popup = mp_popup_create(ad->win_main, MP_POPUP_NORMAL, NULL, NULL, _mp_app_privacy_popup_resp_cb, ad);
+ mp_popup_desc_set(popup, GET_STR(STR_MP_THE_APP_CONTROL_IS_DISABLED));
+ 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_SETTINGS, MP_POPUP_YES);
+ evas_object_show(popup);
+ }
+
+ mp_avrcp_set_mode_change_cb(_mp_app_avrcp_connection_state_changed_cb, _mp_app_avrcp_shuffle_changed_cb,
+ _mp_app_avrcp_repeat_changed_cb, _mp_app_avrcp_eq_changed_cb, NULL);
+#endif
+ //Replaced for _prod dependency start
+ WARN_TRACE("Enter sound_manager_set_available_route_changed_cb");
+ int ret = sound_manager_set_device_connected_cb (SOUND_DEVICE_ALL_MASK, _mp_add_available_route_changed_cb, ad);
+
+ 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_set_device_information_changed_cb (SOUND_DEVICE_ALL_MASK, _mp_app_active_device_chaged_cb, ad);
+
+ 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");
+
+
+#ifdef MP_FEATURE_VOICE_CONTROL
+ mp_voice_ctrl_mgr_initialize((int)ad->xwin);
+ mp_voice_ctrl_mgr_set_action_callback(_mp_app_voice_control_action_cb, ad);
+ if (!ad->is_focus_out)
+ mp_voice_ctrl_mgr_start_listening();
+#endif
+
+ ret = mp_media_info_set_db_update_cb(_mp_app_db_update_cb, NULL);
+ if (ret)
+ ERROR_TRACE("Unable to set db update cb [0x%x]", ret);
+
+ return res;
+}
+
+bool
+mp_app_noti_ignore(void *data)
+{
+ struct appdata *ad = (struct appdata *)data;
+ int retcode = -1;
+ // TEMP_BLOCK
+ //sound_manager_unset_available_route_changed_cb();
+ //sound_manager_unset_active_device_changed_cb();
+
+ mp_media_info_unset_db_update_cb();
+ 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->externalStorageId, _mp_app_storage_state_changed_cb) != STORAGE_ERROR_NONE)
+ {
+ ERROR_TRACE("Error when ignore callback");
+ return FALSE;
+ }
+ //mp_file_monitor_del(ECORE_FILE_MONITOR_TYPE_INOTIFY);
+
+#ifdef MP_FEATURE_AVRCP_13
+ mp_avrcp_target_finalize();
+#endif
+
+ if (gNotiPipe)
+ {
+ ecore_pipe_del(gNotiPipe);
+ gNotiPipe = NULL;
+ }
+
+#ifdef MP_FEATURE_VOICE_CONTROL
+ mp_voice_ctrl_mgr_set_action_callback(NULL, NULL);
+ mp_voice_ctrl_mgr_finalize();
+#endif
+
+ mp_media_info_unset_db_update_cb();
+
+ return TRUE;
+}
+
+#ifdef MP_FEATURE_LANDSCAPE
+int
+mp_app_rotate(app_device_orientation_e mode, void *data)
+{
+ struct appdata *ad = (struct appdata *)data;
+ MP_CHECK_VAL(ad, 0);
+
+ int angle;
+ DEBUG_TRACE("Enum Rotation is %d", mode);
+ DEBUG_TRACE("Rotation b is %d", elm_win_rotation_get(ad->win_main));
+
+ switch (mode)
+ {
+ case APP_DEVICE_ORIENTATION_270:
+ angle = -90;
+ break;
+
+ case APP_DEVICE_ORIENTATION_90:
+ angle = 90;
+ break;
+
+ case APP_DEVICE_ORIENTATION_180:
+ angle = 180;
+ break;
+
+ case APP_DEVICE_ORIENTATION_0:
+ default:
+ angle = 0;
+ break;
+ }
+ DEBUG_TRACE("Angle Rotation is %d", angle);
+
+ if (angle == ad->win_angle) {
+ WARN_TRACE("Not rotated.. skip!!");
+ return 0;
+ }
+
+ MpView_t *top_view = mp_view_mgr_get_top_view(GET_VIEW_MGR);
+ if (!mp_view_is_rotate_available(top_view))
+ {
+ WARN_TRACE("top view is not rotatable");
+ return 0;
+ }
+ ad->win_angle = angle;
+
+ mp_view_set_nowplaying(top_view);
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_VIEW_ROTATE);
+
+ return 0;
+}
+#endif
+
+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;
+}
+
+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;
+}
+
+
+Eina_Bool
+mp_app_mouse_event_cb(void *data, int type, void *event)
+{
+ struct appdata *ad = data;
+
+ //static unsigned int buttons = 0;
+
+ if (type == ECORE_EVENT_MOUSE_BUTTON_DOWN) {
+ Ecore_Event_Mouse_Button *ev = event;
+ if (!ad->mouse.downed) {
+ ad->mouse.downed = TRUE;
+ ad->mouse.sx = ev->root.x;
+ ad->mouse.sy = ev->root.y;
+ // buttons = ev->buttons;
+ }
+ }
+ else if (type == ECORE_EVENT_MOUSE_BUTTON_UP) {
+ ad->mouse.sx = 0;
+ ad->mouse.sy = 0;
+ ad->mouse.downed = FALSE;
+ ad->mouse.moving = FALSE;
+ }
+ else if (type == ECORE_EVENT_MOUSE_MOVE) {
+#ifdef MP_FEATURE_APP_IN_APP
+ Ecore_Event_Mouse_Move *ev = event;
+ if (ad->mini_player_mode && ad->mouse.downed && !ad->mouse.moving) {
+ double l = sqrt(pow((float)(ad->mouse.sx - ev->root.x), 2) + pow((float)(ad->mouse.sy - ev->root.y), 2));
+ if (l >= 30.0f) {
+ int x, y;
+ ecore_x_pointer_last_xy_get(&x, &y);
+ ecore_x_mouse_up_send(ad->xwin, x, y, buttons);
+ ecore_x_pointer_ungrab();
+ //mp_mini_player_window_drag_start(ad, x, y, buttons);
+
+ ad->mouse.moving = TRUE;
+ }
+ }
+#endif
+ }
+
+ return ECORE_CALLBACK_PASS_ON;
+}
+
+void mp_exit_job_cb(void *data)
+{
+ struct appdata *ad = data;
+ ad->exit_job = NULL;
+ elm_exit();
+}
+
+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"
+
+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);
+}
+
+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;
+ }
+
+ 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;
+ }
+}
+
+bool
+mp_app_grab_mm_keys(struct appdata *ad)
+{
+ WARN_TRACE("");
+
+ Eina_Bool ret = eext_win_keygrab_set(ad->xwin, "XF86AudioMedia");
+ 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;
+}
+
+void
+mp_app_ungrab_mm_keys(struct appdata *ad)
+{
+ WARN_TRACE("");
+ media_key_release();
+ Eina_Bool ret = eext_win_keygrab_unset(ad->xwin, "XF86AudioMedia");
+
+ mp_ecore_timer_del(ad->ear_key_timer);
+}
+
+#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;
+}
+
+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
+#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) 2000-2015 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-make-offline-view.h"
+#include "mp-avrcp.h"
+#include "mp-setting-ctrl.h"
+#include "mp-ug-launch.h"
+#include "mp-edit-playlist.h"
+#include "mp-file-util.h"
+
+#ifdef IDEBUILD
+#include "idebuild.h"
+#endif
+
+#ifdef MP_3D_FEATURE
+#endif
+
+#define MP_POPUP_DETAIL_ITEM_W 568
+#define MP_POPUP_DETAIL_ITEM_H 50
+#define MP_STR_LEN_MAX 4096
+
+#ifndef MP_SOUND_PLAYER
+
+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);
+}
+
+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);
+ //mp_view_mgr_pop_view(view_mgr, false);
+ //MpView_t *top_view = mp_view_mgr_get_top_view(GET_VIEW_MGR);
+ //mp_view_mgr_pop_a_view(GET_VIEW_MGR, top_view);
+}
+
+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
+ if (edit_view == NULL) {
+ ERROR_TRACE("Unable to create edit view");
+ return;
+ }
+ 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);
+}
+
+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);
+}
+
+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);
+}
+
+
+
+void mp_common_genlist_checkbox_sel_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ eventfunc;
+
+ mp_list_item_data_t *it_data = (mp_list_item_data_t *)data;
+ MP_CHECK(it_data);
+ Elm_Object_Item *gli = (Elm_Object_Item *)it_data->it;
+ mp_list_item_selected_set(gli, EINA_FALSE);
+
+ it_data->checked = !it_data->checked;
+
+ elm_genlist_item_fields_update(gli, "elm.edit.icon.1", ELM_GENLIST_ITEM_FIELD_CONTENT);
+
+ return;
+}
+
+//ctx popup callback (popup should be center) and ctx popup need to be destoryed
+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();
+
+}
+
+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();
+}
+
+#ifdef MP_FEATURE_CLOUD
+static char *
+_mp_common_cloud_popup_label_get(void *data, Evas_Object * obj, const char *part)
+{
+ int mode = (int)data;
+
+ char *label = NULL;
+ if (mode == MP_TRACK_LIST_VIEW_ALL)
+ label = STR_MP_ALL_CONTENTS;
+ else if (mode == MP_TRACK_LIST_VIEW_LOCAL)
+ label = STR_MP_CONTENTS_IN_PHONE;
+ else
+ label = STR_MP_CONTENTS_IN_CLOUD;
+
+ return g_strdup(GET_STR(label));
+}
+
+static Evas_Object *
+_mp_common_cloud_popup_content_get(void *data, Evas_Object * obj, const char *part)
+{
+ Evas_Object *radio = elm_radio_add(obj);
+ elm_radio_state_value_set(radio, (int)data);
+
+ MpListView_t *view = evas_object_data_get(obj, "view");
+ if (view) {
+ elm_radio_group_add(radio, view->radio_btn);
+ MpCloudView_e mode = mp_track_list_get_cloud_view((MpTrackList_t *)view->content_to_show);
+ elm_radio_value_set(view->radio_btn, mode);
+ }
+ evas_object_show(radio);
+ return radio;
+}
+
+static void
+_mp_common_view_as_popup_radio_changed_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ MpListView_t *view = data;
+ MP_CHECK(view);
+ MP_CHECK(view->radio_btn);
+ MP_CHECK(view->content_to_show);
+
+ MpCloudView_e request = elm_radio_value_get(view->radio_btn);
+ MpCloudView_e current = view->content_to_show->cloud_view_type;
+ EVENT_TRACE("cloud view change request [%d => %d]", current, request);
+
+ if (request != current) {
+ view->content_to_show->cloud_view_type = request;
+ mp_list_update(view->content_to_show);
+ view->cloud_view = request;
+ }
+}
+
+static void
+_mp_common_cloud_radio_del_cb(void *data, Evas * evas, Evas_Object * obj, void *event_info)
+{
+ startfunc;
+ MpView_t *view = (MpView_t *)data;
+ MP_CHECK(view);
+ view->radio_btn = NULL;
+}
+
+static void
+_mp_common_cloud_view_popup_item_sel(void *data, Evas_Object *obj, void *event_info)
+{
+ DEBUG_TRACE_FUNC();
+
+ MpView_t *view = (MpView_t *)data;
+ MP_CHECK(view);
+ MP_CHECK(view->radio_btn);
+
+ Elm_Object_Item *item = event_info;
+ MP_CHECK(item);
+
+ MpListDisplayMode_e mode = (int)elm_object_item_data_get(item);
+ elm_radio_value_set(view->radio_btn, mode);
+ evas_object_smart_callback_call(view->radio_btn, "changed", NULL);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ mp_popup_destroy(ad);
+}
+
+void mp_common_cloud_view_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ eventfunc;
+
+ struct appdata *ad = mp_util_get_appdata();
+ MpView_t *view = data;
+ mp_evas_object_del(view->more_btn_ctxpopup);
+
+ Evas_Object *popup = mp_genlist_popup_create(ad->win_main, MP_POPUP_CLOUD_VIEW, view, ad);
+ MP_CHECK(popup);
+
+ mp_evas_object_del(view->radio_btn);
+ view->radio_btn = elm_radio_add(popup);
+ elm_radio_state_value_set(view->radio_btn, -1);
+ evas_object_smart_callback_add(view->radio_btn, "changed", _mp_common_view_as_popup_radio_changed_cb, view);
+ evas_object_event_callback_add(view->radio_btn, EVAS_CALLBACK_DEL, _mp_common_cloud_radio_del_cb, view);
+ evas_object_hide(view->radio_btn);
+ Evas_Object *genlist = evas_object_data_get(popup, "genlist");
+ MP_CHECK(genlist);
+
+ evas_object_data_set(genlist, "view", (void *)view);
+
+ static Elm_Genlist_Item_Class itc;
+ itc.item_style = "1text.1icon.3";
+ itc.func.text_get = _mp_common_cloud_popup_label_get;
+ itc.func.content_get = _mp_common_cloud_popup_content_get;
+ itc.func.state_get = NULL;
+ itc.func.del = NULL;
+
+ int i = 0;
+ while (i < MP_TRACK_LIST_VIEW_MAX) {
+ elm_genlist_item_append(genlist, &itc, (void *)i, NULL, ELM_GENLIST_ITEM_NONE,
+ _mp_common_cloud_view_popup_item_sel, view);
+
+ ++i;
+ }
+
+}
+
+void mp_common_ctxpopup_make_offline_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ eventfunc;
+ MpView_t *view = data;
+ mp_evas_object_del(view->more_btn_ctxpopup);
+
+ view = (MpView_t*)mp_make_offline_view_create(GET_NAVIFRAME);
+ mp_view_mgr_push_view(GET_VIEW_MGR, view, NULL);
+ mp_view_update(view);
+ mp_view_set_title(view, STR_MP_MAKE_AVAILABLE_OFFLINE);
+}
+#endif
+
+void mp_common_go_to_library_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ eventfunc;
+ MpView_t *view = data;
+ mp_evas_object_del(view->more_btn_ctxpopup);
+
+ mp_view_mgr_pop_to_view(GET_VIEW_MGR, MP_VIEW_ALL);
+}
+
+void mp_common_ctxpopup_add_to_playlist_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ startfunc;
+ MpListView_t *view = data;
+ if (view->more_btn_ctxpopup)
+ {
+ mp_evas_object_del(view->more_btn_ctxpopup);
+ return;
+ }
+
+ mp_edit_create_add_to_playlist_popup(view->content_to_show);
+}
+
+//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 (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);
+}
+
+void
+mp_common_share_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ eventfunc;
+ MpListView_t *view = (MpListView_t *)data;
+ MP_CHECK(view);
+ MpList_t *list = view->content_to_show;
+ MP_CHECK(list);
+
+ mp_evas_object_del(view->more_btn_ctxpopup);
+
+
+#ifdef MP_FEATURE_PERSONAL_PAGE
+ MpEditView_t *edit_view = mp_edit_view_create(GET_NAVIFRAME, view->content_to_show, true, MP_EDIT_VIEW_PERSONAL_PAGE_NONE);
+#else
+ MpEditView_t *edit_view = mp_edit_view_create(GET_NAVIFRAME, view->content_to_show, true);
+#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_SHARE);
+ mp_list_view_set_select_all((MpListView_t*)edit_view, true);
+}
+
+void
+mp_common_button_share_list_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ eventfunc;
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ MpListView_t *view = (MpListView_t *)data;
+ MP_CHECK(view);
+ MpList_t *list = view->content_to_show;
+ MP_CHECK(list);
+
+ GList *sel_list = 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;
+ }
+
+ mp_list_item_data_t *item_data = NULL;
+ char *path = NULL;
+
+ GList *node = g_list_first(sel_list);
+ while (node)
+ {
+ if (node->data)
+ {
+ item_data = node->data;
+ mp_media_info_get_file_path(item_data->handle, &path);
+ DEBUG_TRACE("path:%s", path);
+ node->data = path;
+ }
+ else
+ WARN_TRACE("path name is NULL");
+ node = g_list_next(node);
+ }
+
+ mp_genlist_popup_create(view->layout, MP_POPUP_LIST_SHARE, sel_list, ad);
+ //evas_object_event_callback_add(popup, EVAS_CALLBACK_DEL, _popup_del_free_resource_cb, sel_list);
+ return;
+}
+
+void
+mp_common_button_delete_list_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ eventfunc;
+ mp_edit_create_delete_popup(data);
+ return;
+}
+
+#endif
+
+static void
+_ctx_popup_dismissed_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ startfunc;
+ MP_CHECK(data);
+ mp_evas_object_del(data);
+}
+
+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;
+}
+
+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);
+}
+
+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);
+
+ ad->del_cb_invoked = 1;
+
+ 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;
+}
+
+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;
+}
+
+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)
+ 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);
+ /*
+ else if (MP_POPUP_LIST_SHARE == list->popup_type)
+ {
+ mp_genlist_popup_create(list->genlist, MP_POPUP_LIST_SHARE, sel_list, ad);
+ }
+ */
+
+ if (list->pop_delay_timer)
+ ecore_timer_del(list->pop_delay_timer);
+
+ return ECORE_CALLBACK_DONE;
+}
+
+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_style_set(pLabel, "popup/default");
+ elm_object_text_set(pLabel, szString);
+ //mp_util_domain_translatable_text_set(pLabel, szString);
+ //elm_label_ellipsis_set(pLabel, EINA_TRUE);
+ elm_label_line_wrap_set(pLabel, ELM_WRAP_MIXED);
+ //elm_label_wrap_width_set(pLabel, 700 * elm_config_scale_get());
+ 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);
+
+}
+
+
+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);
+
+ elm_layout_file_set(pop_layout, MP_EDJ_NAME, "popup_detail");
+
+ 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 = 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;
+ }
+}
+
+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;
+}
+
+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);
+ }
+}
+
+void
+mp_common_show_set_as_view(char* path)
+{
+ startfunc;
+ MpViewMgr_t *view_mgr = mp_view_mgr_get_view_manager();
+ MP_CHECK(view_mgr);
+ MpSetAsView_t *view = mp_set_as_view_create(view_mgr->navi, path);
+ MP_CHECK(view);
+ mp_view_mgr_push_view(view_mgr, (MpView_t *)view, NULL);
+ mp_view_set_title((MpView_t *) view, STR_MP_SET_AS);
+ mp_view_update_options((MpView_t *)view);
+
+ endfunc;
+}
+
+void mp_common_list_set_as_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ EVENT_TRACE();
+
+ 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_list_selected_item_data_get(list, &sel_list);
+
+ GList *node = g_list_first(sel_list);
+ while (node)
+ {
+ item_data = node->data;
+ node = g_list_next(node);
+ }
+ char* path = NULL;
+ mp_media_info_get_file_path(item_data->handle,&path);
+ MP_CHECK(path);
+ mp_common_show_set_as_view(path);
+
+}
+
+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);
+}
+
+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;
+}
+
+void mp_common_list_remove_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ eventfunc;
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ mp_popup_destroy(ad);
+
+ MpList_t *list = data;
+ MP_CHECK(list);
+
+ if (mp_list_get_checked_count(list) <= 0)
+ {
+ mp_widget_text_popup(ad, GET_STR("IDS_MUSIC_POP_NOTHING_SELECTED"));
+ return;
+ }
+ mp_edit_cb_excute_delete(data);
+ return;
+}
+
+static void _mp_common_list_set_same_id_favorite(void *data, mp_media_info_h media, bool favorite)
+{
+ MpList_t *list = data;
+ MP_CHECK(list);
+ MP_CHECK(media);
+
+ GList *all_list = NULL;
+ mp_list_item_data_t *item_data = NULL;
+ char *media_id = NULL;
+ char *tmp_media_id = NULL;
+
+ mp_media_info_get_media_id(media, &media_id);
+ MP_CHECK(media_id);
+ mp_list_all_item_data_get(list, &all_list);
+ MP_CHECK(all_list);
+ GList *node = g_list_first(all_list);
+ {
+ while (node)
+ {
+ item_data = node->data;
+ if (item_data && (!item_data->checked) && item_data->handle) {
+ mp_media_info_get_media_id(item_data->handle, &tmp_media_id);
+ if (g_strcmp0(tmp_media_id, media_id) == 0) {
+ mp_media_info_set_favorite(item_data->handle, favorite);
+ }
+ }
+ node = g_list_next(node);
+ }
+ }
+ g_list_free(all_list);
+ all_list = NULL;
+}
+
+void mp_common_list_add_to_favorite_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ EVENT_TRACE();
+
+ 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_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;
+ if (item_data && item_data->handle) {
+ mp_media_info_set_favorite(item_data->handle, true);
+ _mp_common_list_set_same_id_favorite(list, item_data->handle, true);
+ }
+ node = g_list_next(node);
+ }
+
+ char *fmt_str = GET_STR(STR_MP_POPUP_ADD_TO_FAVORITE);
+ char *noti_str = g_strdup_printf(fmt_str, MP_PLAYLIST_MAX_ITEM_COUNT);
+ mp_util_post_status_message(ad, noti_str);
+
+ if (sel_list) {
+ g_list_free(sel_list);
+ sel_list = NULL;
+ }
+}
+
+void mp_common_list_unfavorite_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ EVENT_TRACE();
+ 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_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;
+ if (item_data && item_data->handle) {
+ mp_media_info_set_favorite(item_data->handle, false);
+ _mp_common_list_set_same_id_favorite(list, item_data->handle, false);
+ }
+
+ node = g_list_next(node);
+ }
+
+ mp_util_post_status_message(ad, GET_STR(STR_MP_POPUP_REMOVE_FROM_FAVORITE));
+
+ if (sel_list) {
+ g_list_free(sel_list);
+ sel_list = NULL;
+ }
+}
+
+void mp_common_list_more_info_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ EVENT_TRACE();
+
+ MpList_t *list = data;
+ MP_CHECK(list);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ mp_popup_destroy(ad);
+
+ Evas_Object *popup = mp_popup_create(ad->win_main, MP_POPUP_NORMAL, STR_MP_POPUP_MORE_INFO, NULL, NULL, ad);
+ MP_CHECK(popup);
+
+ mp_popup_button_set(popup, MP_POPUP_BTN_1, STR_MP_OK, MP_POPUP_YES);
+
+ evas_object_show(popup);
+
+ _mp_common_list_track_more_detail(popup, list);
+}
+
+void mp_common_list_update_albumart_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ MpList_t *list = data;
+ GList *sel_list = NULL;
+ mp_list_item_data_t *item_data = NULL;
+ char *uri = NULL;
+ char *media_id = NULL;
+
+ mp_popup_destroy(ad);
+
+ MP_CHECK(list);
+
+ 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);
+ MP_CHECK(node);
+ item_data = node->data;
+
+ mp_media_info_h svc_item = item_data->handle;
+
+ mp_media_info_get_file_path(svc_item, &uri);
+ mp_media_info_get_media_id(svc_item, &media_id);
+
+ //mp_albumart_update(uri, media_id);
+
+ if (sel_list) {
+ g_list_free(sel_list);
+ sel_list = NULL;
+ }
+}
+
+/*
+** 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
+*/
+void
+mp_common_show_player_view(int launch_type, bool disable_effect, bool start_playback, bool start_new_file)
+{
+ startfunc;
+ 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)
+ {
+ struct appdata *ad = mp_util_get_appdata();
+ 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;
+}
+
+
+#ifdef MP_DEBUG_MODE
+static void
+_mp_common_window_flush_pre(void *data, Evas * e, void *event_info)
+{
+ DEBUG_TRACE("");
+ TA_E_L(0, "EVAS_CALLBACK_RENDER_FLUSH_PRE");
+ evas_event_callback_del(e, EVAS_CALLBACK_RENDER_FLUSH_PRE, _mp_common_window_flush_pre);
+}
+#endif
+
+#ifdef MP_DEBUG_MODE
+//#define TEST_PLAYER_ONLY
+#endif
+
+#ifdef TEST_PLAYER_ONLY
+#include <player.h>
+
+#define RICH_AUDIO "/tmp/RA"
+#define ALH "/tmp/ALH"
+
+void _player_prepared_cb(void *user_data);
+void _player_complete_cb(void *user_data);
+
+static player_h g_tmp_player;
+
+void _play_uri(char *path)
+{
+ player_create(&g_tmp_player);
+#if 0 /*rich audio is used for change play speed. as the feature is removed, we block it for avoid potential issue*/
+ if (mp_check_file_exist(RICH_AUDIO))
+ player_set_rich_audio(g_tmp_player);
+#endif
+ player_set_sound_type(g_tmp_player, SOUND_TYPE_MEDIA);
+
+ if (mp_check_file_exist(ALH))
+ player_set_audio_latency_mode(g_tmp_player, AUDIO_LATENCY_MODE_HIGH);
+ player_set_uri(g_tmp_player, path);
+
+ player_set_completed_cb(g_tmp_player, _player_complete_cb, NULL);
+ player_prepare_async(g_tmp_player, _player_prepared_cb, NULL);
+}
+
+Eina_Bool _prepared(void *data)
+{
+ startfunc;
+ player_start(g_tmp_player);
+ mp_util_sleep_lock_set(TRUE, FALSE);
+ return false;
+}
+
+Eina_Bool _complete(void *data)
+{
+ startfunc;
+ player_stop(g_tmp_player);
+ player_unprepare(g_tmp_player);
+ player_destroy(g_tmp_player);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_FALSE(ad);
+
+ mp_util_sleep_lock_set(FALSE, FALSE);
+
+ mp_plst_item *item = mp_playlist_mgr_get_next(ad->playlist_mgr, true, false);
+ mp_playlist_mgr_set_current(ad->playlist_mgr, item);
+
+ _play_uri(item->uri);
+
+ return false;
+}
+
+void _player_prepared_cb(void *user_data)
+{
+ startfunc;
+ ecore_idler_add(_prepared, NULL);
+}
+
+void _player_complete_cb(void *user_data)
+{
+ startfunc;
+ ecore_idler_add(_complete, NULL);
+}
+
+static void
+_test_player(void)
+{
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ mp_plst_item *item = mp_playlist_mgr_get_current(ad->playlist_mgr);
+
+ _play_uri(item->uri);
+
+}
+#endif
+
+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_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);
+ 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;
+
+ if (track_update == false && playlist_update == false)
+ start_new_file = 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);
+#ifdef MP_FEATURE_CLOUD
+ if (storage == MP_STORAGE_CLOUD)
+ track_type = MP_TRACK_CLOUD;
+#endif
+#ifdef MP_FEATURE_STORE
+ if (storage == MP_STORAGE_MUSICHUB)
+ track_type = MP_TRACK_STORE;
+#endif
+
+ 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);
+ mp_common_show_player_view_after_play();
+
+#ifdef TEST_PLAYER_ONLY
+ _test_player();
+ return;
+#endif
+ }
+ else
+ {
+ mp_player_mgr_play(ad);
+ mp_common_show_player_view(MP_PLAYER_NORMAL, false, false, false);
+ }
+
+#ifdef MP_DEBUG_MODE
+ TA_S_L(0, "EVAS_CALLBACK_RENDER_FLUSH_PRE");
+ evas_event_callback_add(evas_object_evas_get(ad->win_main), EVAS_CALLBACK_RENDER_FLUSH_PRE, _mp_common_window_flush_pre, NULL);
+#endif
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_PLAYLIST_MGR_ITEM_CHANGED);
+
+ return;
+
+}
+
+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);
+}
+
+enum
+{
+ MP_SEARCH_BY_MUSIC,
+ MP_SEARCH_BY_INTERNET,
+ MP_SEARCH_BY_MAX,
+};
+
+static char *
+_popup_label_get(void *data, Evas_Object * obj, const char *part)
+{
+ int mode = (int)data;
+
+ char *label = NULL;
+ if (mode == MP_SEARCH_BY_INTERNET)
+ label = STR_MP_INTERNET;
+ else
+ label = STR_MP_MUSIC;
+
+ return g_strdup(GET_STR(label));
+}
+
+static void _search_by_internet(const char *keyword)
+{
+ startfunc;
+ app_control_h app_control = NULL;
+ app_control_create(&app_control);
+ MP_CHECK(app_control);
+
+ app_control_set_app_id(app_control, "com.samsung.browser");
+ app_control_add_extra_data(app_control, "search", keyword);
+ app_control_send_launch_request(app_control, NULL, NULL);
+
+ app_control_destroy(app_control);
+}
+
+static void _searcy_by_music_app(const char *keyword)
+{
+ startfunc;
+ MpView_t *search_view = (MpView_t *)mp_search_view_create(GET_NAVIFRAME, keyword);
+ mp_view_mgr_push_view(GET_VIEW_MGR, search_view, MP_SEARCH_VIEW_STYLE_EMPTY);
+ mp_view_update_options(search_view);
+}
+
+static void
+_popup_item_sel(void *data, Evas_Object *obj, void *event_info)
+{
+ int type = (int)elm_object_item_data_get(event_info);
+ EVENT_TRACE("Search by Selected. Search type: %d", type);
+
+ if (type == MP_SEARCH_BY_INTERNET)
+ _search_by_internet(data);
+ else
+ _searcy_by_music_app(data);
+
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ mp_popup_destroy(ad);
+}
+
+void
+mp_common_search_by(const char *keyword)
+{
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ Evas_Object *popup = mp_genlist_popup_create(ad->win_main, MP_POPUP_SEARCH, NULL, ad);
+ MP_CHECK(popup);
+
+ Evas_Object *genlist = evas_object_data_get(popup, "genlist");
+ MP_CHECK(genlist);
+
+ static Elm_Genlist_Item_Class itc;
+ itc.item_style = "1text";
+ itc.func.text_get = _popup_label_get;
+ itc.func.state_get = NULL;
+ itc.func.del = NULL;
+
+ int i = 0;
+ while (i < MP_SEARCH_BY_MAX) {
+ elm_genlist_item_append(genlist, &itc, (void *)i, NULL, ELM_GENLIST_ITEM_NONE,
+ _popup_item_sel, keyword);
+
+ ++i;
+ }
+}
+
+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;
+}
+
+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);
+
+}
+
+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);
+#ifdef MP_FEATURE_AVRCP_13
+ mp_avrcp_noti_track(ad->current_track_info->title,
+ ad->current_track_info->artist, ad->current_track_info->album,
+ ad->current_track_info->date, ad->current_track_info->duration);
+#endif
+ }
+
+}
+
+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);
+}
+
+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);
+
+ mp_playlist_mgr_lazy_append_with_file(ad->playlist_mgr, MP_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);
+}
+
+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))
+ path = DEFAULT_THUMBNAIL;
+
+ mp_media_info_playlist_set_thumbnail_path(playlist_handle, path);
+ mp_media_info_list_destroy(svc_handle);
+}
+
+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);
+ 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);
+ }
+ 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);
+ else
+ IF_FREE(path);
+ IF_FREE(mime);
+ }
+ }
+
+ 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;
+
+ MP_CHECK_FALSE(ad);
+
+ 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);
+ 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;
+ IF_FREE(file_path);
+ }
+ eina_list_free(file_list);
+ file_list = NULL;
+ }
+ }
+
+ 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();
+ char *value = NULL;
+
+ 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
+
+#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;
+}
+
+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;
+}
+
+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;
+}
+
+
+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;
+}
+
+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;
+ }
+}
+
+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;
+}
+
+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");
+
+#ifndef MP_CREATE_FAKE_IMAGE
+ 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");
+#endif
+
+ 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");
+
+ }
+}
+
+
+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);
+ SECURE_DEBUG("last played path = %s", 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
+
+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
+
+}
+
+/*used for long press playall*/
+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;
+}
+
+void mp_common_playall_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ eventfunc;
+
+ struct appdata *ad = mp_util_get_appdata();
+
+ 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 */
+ 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 */
+ 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 */
+ 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 */
+ 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));
+ }
+#ifdef MP_FEATURE_CLOUD
+ if (ret == MP_PLAY_ERROR_NETWORK)
+ mp_widget_text_popup(NULL, GET_STR(STR_MP_THIS_FILE_IS_UNABAILABLE));
+#endif
+ }
+
+ if (svc_handle)
+ {
+ mp_media_info_list_destroy(svc_handle);
+ }
+
+ endfunc;
+}
+
+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_playlist_data->playlist_handle = item_data->handle;
+ mp_edit_playlist_content_create(mp_playlist_data);
+ }
+}
+
+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;
+}
+
+#ifdef MP_FEATURE_ADD_TO_HOME
+static char *_mp_media_info_get_live_auto_playlist_thumbnail_by_name(const char *name)
+{
+ MP_CHECK_VAL(name, NULL);
+
+ char *thumb_path = NULL;
+
+ if (!g_strcmp0(name, STR_MP_FAVOURITES))
+ thumb_path = LIVE_THUMBNAIL_QUICK_LIST;
+ else if (!g_strcmp0(name, STR_MP_RECENTLY_PLAYED))
+ thumb_path = LIVE_THUMBNAIL_RECENTLY_PLAYED;
+ else if (!g_strcmp0(name, STR_MP_RECENTLY_ADDED))
+ thumb_path = LIVE_THUMBNAIL_RECENTLY_ADDED;
+ else if (!g_strcmp0(name, STR_MP_MOST_PLAYED))
+ thumb_path = LIVE_THUMBNAIL_MOST_PLAYED;
+
+ return thumb_path;
+}
+
+static char *_mp_media_info_get_live_auto_playlist_icon_by_name(const char *name)
+{
+ MP_CHECK_VAL(name, NULL);
+
+ char *icon_path = NULL;
+
+ if (!g_strcmp0(name, STR_MP_FAVOURITES))
+ icon_path = LIVE_ICON_QUICK_LIST;
+ else if (!g_strcmp0(name, STR_MP_RECENTLY_PLAYED))
+ icon_path = LIVE_ICON_RECENTLY_PLAYED;
+ else if (!g_strcmp0(name, STR_MP_RECENTLY_ADDED))
+ icon_path = LIVE_ICON_RECENTLY_ADDED;
+ else if (!g_strcmp0(name, STR_MP_MOST_PLAYED))
+ icon_path = LIVE_ICON_MOST_PLAYED;
+
+ return icon_path;
+}
+
+void mp_common_add_to_home_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ eventfunc;
+
+ struct appdata *ad = mp_util_get_appdata();
+
+ MpList_t *list = data;
+ MP_CHECK(list);
+
+ GList *sel_list = NULL;
+ char *name = NULL;
+ char *thumbnail = NULL;
+ int ret = 0;
+ int p_id = -1;
+ mp_list_item_data_t *item_data = NULL;
+
+ mp_popup_destroy(ad);
+
+ mp_list_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);
+ }
+
+ 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");
+ mp_media_info_group_get_thumbnail_path(item_data->handle, &thumbnail);
+
+ int type = 0;
+ const char *extra1 = NULL;
+ const char *extra2 = NULL;
+ mp_group_type_e group_type = mp_list_get_group_type((MpList_t*)list);
+ if (group_type == MP_GROUP_BY_PLAYLIST)
+ {
+ ret = mp_media_info_group_get_playlist_id(item_data->handle, &p_id);
+ mp_retm_if (ret != 0, "Fail to get value");
+ DEBUG_TRACE("p_id: %d", p_id);
+ if (p_id < 0) {
+ type = MP_ADD_TO_HOME_SHORTCUT_TYPE_SYS_PLAYLIST;
+ extra1 = _mp_media_info_get_live_auto_playlist_thumbnail_by_name(name);
+ extra2 = _mp_media_info_get_live_auto_playlist_icon_by_name(name);
+ }
+ else {
+ type = MP_ADD_TO_HOME_SHORTCUT_TYPE_USER_PLAYLIST;
+ name = (void *)p_id;
+ }
+ mp_menu_add_to_home(type, name, (void *)extra1, (void *)extra2);
+ }
+ else if (group_type == MP_GROUP_BY_ALBUM)
+ {
+ mp_menu_add_to_home(MP_ADD_TO_HOME_SHORTCUT_TYPE_ALBUM, name, thumbnail, NULL);
+ }
+
+ if (sel_list) {
+ g_list_free(sel_list);
+ sel_list = NULL;
+ }
+}
+#endif
+
+#ifdef MP_FEATURE_PERSONAL_PAGE
+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;
+}
+
+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);
+}
+
+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);
+}
+
+all_in_personal_e mp_common_personal_status(void *thiz)
+{
+ MpList_t *list = (MpList_t *)thiz;
+ return mp_common_is_all_in_personal_page(list->genlist);
+}
+
+void
+mp_common_longpress_private_move_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ eventfunc;
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ mp_popup_destroy(ad);
+
+ MpList_t *list = data;
+ MP_CHECK(list);
+ DEBUG_TRACE("list->personal_page_storage is %d", list->personal_page_storage);
+ /*0. check if is remove from personal page*/
+ if (list->personal_page_storage == MP_LIST_PERSONAL_PAGE_NORMAL)
+ mp_edit_cb_excute_move(list);
+ else
+ {
+ /*1. get personal don't ask again */
+ bool no_ask_flag = false;
+ mp_setting_get_personal_dont_ask_again(&no_ask_flag);
+ DEBUG_TRACE("no_ask_flag is %d", no_ask_flag);
+ if (no_ask_flag)
+ mp_edit_cb_excute_move(list);
+ else
+ mp_edit_view_notify_popup(list);
+ }
+}
+
+#endif
+
+#ifndef MP_SOUND_PLAYER
+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
+
+void mp_common_view_check_changed_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ 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);
+}
+
+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) 2000-2015 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.
+*
+*/
+
+#ifdef GBSBUILD
+#include <util-func.h>
+#endif
+#include <dlfcn.h>
+#include "music.h"
+#include "mp-util.h"
+#include "mp-db-client.h"
+
+#define SQL_SAFE_FREE(sql_string)\
+if (sql_string) {\
+ sqlite3_free(sql_string);\
+ sql_string = NULL;\
+}
+
+#define MP_SQUARE_ARM_LIB_PATH DATA_PREFIX"/lib/lib_MusicSquare_TIZEN.so"
+#define MP_SQUARE_I386_LIB_PATH DATA_PREFIX"/lib/libMusicSquare_Tizen_SL.so"
+
+#define MP_SQUARE_DB_NAME DATA_DIR"/.music_square.db"
+#define MP_SQUARE_DB_TABLE_NAME "music_square"
+
+#define MP_SQUARE_DB_RAND_MAX 5
+#define MP_SQUARE_DB_QUERY_STR_LEN_MAX 512
+#define MP_SQUARE_DB_FILE_PATH_LEN_MAX 512
+
+/* query string */
+#define MP_SQUARE_DB_TABLE_EXIST_QUERY_STRING "select name from sqlite_master WHERE name='%q';"
+#define MP_SQUARE_DB_DELETE_TABLE_QUERY_STRING "DELETE FROM %q ;"
+#define MP_SQUARE_DB_DROP_TABLE_QUERY_STRING "DROP TABLE %q ;"
+
+static int _mp_db_client_disconnect(sqlite3 *handle)
+{
+ startfunc;
+
+ /* disconnect from database-server */
+ if (handle == NULL)
+ return 0;
+
+ int ret = 0;
+
+ ret = sqlite3_close(handle);
+
+ if (SQLITE_OK != ret) {
+ mp_debug("can not disconnect database\n");
+ mp_debug("[sqlite] %s\n", sqlite3_errmsg(handle));
+
+ return MP_SQUARE_DB_ERROR_DISCONNECT;
+ }
+ handle = NULL;
+
+ mp_debug("Disconnected successfully\n");
+ return 0;
+}
+
+static int _mp_db_client_busy_handler(void *pData, int count)
+{
+ startfunc;
+
+ sleep(1);
+
+ mp_debug("_square_db_busy_handler called : %d\n", count);
+
+ return 100 - count;
+}
+
+static int _mp_db_client_connect(sqlite3 **handle)
+{
+ startfunc;
+
+ if (handle == NULL) {
+ mp_debug("Invalid input parameter error");
+ return MP_SQUARE_DB_ERROR_INVALID_PARAMETER;
+ }
+
+ int ret = 0;
+ ret = sqlite3_open(MP_SQUARE_DB_NAME, handle);
+
+ if (SQLITE_OK != ret) {
+ mp_debug("can not connect to db-server\n");
+ if (*handle)
+ mp_debug("[sqlite] %s\n", sqlite3_errmsg(*handle));
+ *handle = NULL;
+
+ return MP_SQUARE_DB_ERROR_CONNECT;
+ }
+
+ /* Register Busy handler */
+ MP_CHECK_VAL(*handle, -1);
+ ret = sqlite3_busy_handler(*handle, _mp_db_client_busy_handler, NULL);
+ if (SQLITE_OK != ret) {
+ mp_debug("Fail to register busy handler\n");
+ if (*handle)
+ mp_debug("[sqlite] %s\n", sqlite3_errmsg(*handle));
+
+ sqlite3_close(*handle);
+ *handle = NULL;
+
+ return MP_SQUARE_DB_ERROR_CONNECT;
+ }
+
+ mp_debug("connected to db-server\n");
+
+ return 0;
+}
+
+static int _mp_db_client_table_exist(mp_dbc_mgr_t *dbc_mgr, const char *table_name)
+{
+ startfunc;
+
+ MP_CHECK_VAL(dbc_mgr, -1);
+ MP_CHECK_VAL(dbc_mgr->sqlite_handle, -1);
+ MP_CHECK_VAL(table_name, -1);
+
+ int ret = -1;
+ char szTableName[MP_SQUARE_DB_FILE_PATH_LEN_MAX + 1] = { '0', };
+ char *pszTempName = NULL;
+ sqlite3_stmt *pstStmt_pb = NULL;
+ int len = 0;
+
+ sqlite3 *handle = dbc_mgr->sqlite_handle;
+ MP_CHECK_VAL(handle, MP_SQUARE_DB_ERROR_INTERNAL);
+
+ char *szQuery = sqlite3_mprintf(MP_SQUARE_DB_TABLE_EXIST_QUERY_STRING, table_name);
+ MP_CHECK_VAL(szQuery, MP_SQUARE_DB_ERROR_INTERNAL);
+ len = strlen(szQuery);
+ ret =
+ sqlite3_prepare_v2(handle, szQuery, len, &pstStmt_pb,
+ NULL);
+ if (SQLITE_OK != ret) {
+ mp_debug("prepare error [%s]\n", sqlite3_errmsg(handle));
+ SQL_SAFE_FREE(szQuery);
+ return MP_SQUARE_DB_ERROR_INTERNAL;
+ }
+
+ ret = sqlite3_step(pstStmt_pb);
+ if (SQLITE_ROW != ret) {
+ mp_debug("end of row [%s]\n", sqlite3_errmsg(handle));
+ sqlite3_finalize(pstStmt_pb);
+ SQL_SAFE_FREE(szQuery);
+ return MP_SQUARE_DB_ERROR_INTERNAL;
+ }
+
+ pszTempName = (char *)sqlite3_column_text(pstStmt_pb, 0);
+ if (NULL != pszTempName) {
+ len = strlen(szQuery);
+ strncpy(szTableName, pszTempName, len);
+ }
+ sqlite3_finalize(pstStmt_pb);
+
+ ret = !(strcmp(table_name, szTableName));
+
+ SQL_SAFE_FREE(szQuery);
+
+ return ret;
+}
+
+
+bool mp_db_client_get_mood_by_path(mp_dbc_mgr_t *dbc_mgr, int *mood, char *path)
+{
+ MP_CHECK_FALSE(dbc_mgr);
+ MP_CHECK_FALSE(dbc_mgr->sqlite_handle);
+ MP_CHECK_FALSE(path);
+
+ bool ret = false;
+
+ char *query = g_strdup_printf("SELECT %s FROM music_square WHERE path=\"%s\"", "pos_mood", path);
+ MP_CHECK_FALSE(query);
+
+ sqlite3_stmt *stmt = NULL;
+ int err = sqlite3_prepare_v2(dbc_mgr->sqlite_handle, query, strlen(query), &stmt, NULL);
+ if (SQLITE_OK != err) {
+ mp_debug("prepare error [%s]\n", sqlite3_errmsg(dbc_mgr->sqlite_handle));
+ mp_debug("query string is %s\n", query);
+
+ SAFE_FREE(query);
+ return false;
+ }
+
+ if (sqlite3_step(stmt) == SQLITE_ROW) {
+ *mood = sqlite3_column_int(stmt, 0);
+ DEBUG_TRACE("mood: %d path: %s", *mood, path);
+ ret = true;
+ }
+ sqlite3_finalize(stmt);
+
+ SAFE_FREE(query);
+ return ret;
+}
+
+int mp_db_client_get_paths_by_mood(mp_dbc_mgr_t *dbc_mgr, int mood)
+{
+ startfunc;
+
+ MP_CHECK_FALSE(dbc_mgr);
+ MP_CHECK_FALSE(dbc_mgr->sqlite_handle);
+
+ bool ret = false;
+
+ dbc_mgr->path_list = NULL;
+
+ char *query = g_strdup_printf("SELECT %s FROM music_square WHERE pos_mood=\"%d\"", "path", mood);
+ MP_CHECK_FALSE(query);
+
+ sqlite3_stmt *stmt = NULL;
+ int err = sqlite3_prepare_v2(dbc_mgr->sqlite_handle, query, strlen(query), &stmt, NULL);
+ if (SQLITE_OK != err) {
+ mp_debug("prepare error [%s]\n", sqlite3_errmsg(dbc_mgr->sqlite_handle));
+ mp_debug("query string is %s\n", query);
+
+ SAFE_FREE(query);
+ return false;
+ }
+
+ while (sqlite3_step(stmt) == SQLITE_ROW) {
+ char *path = (char*)sqlite3_column_text(stmt, 0);
+ dbc_mgr->path_list = g_list_append(dbc_mgr->path_list, g_strdup(path));
+ ret = true;
+ }
+ sqlite3_finalize(stmt);
+
+ SAFE_FREE(query);
+
+
+ return ret;
+}
+
+
+int mp_db_client_mgr_create(struct appdata *ad)
+{
+ startfunc;
+
+ MP_CHECK_VAL(ad, -1);
+ //MP_CHECK_VAL(!ad->dbc_mgr, -1);
+
+ mp_dbc_mgr_t *dbc_mgr = NULL;
+ dbc_mgr = calloc(1, sizeof(mp_dbc_mgr_t));
+ MP_CHECK_VAL(dbc_mgr, -1);
+
+ ad->dbc_mgr = dbc_mgr;
+ //ad->dbc_mgr->ad = ad;
+
+ int ret = 0;
+ ret = _mp_db_client_connect(&(ad->dbc_mgr->sqlite_handle));
+
+ if (ret == 0) {
+ if (_mp_db_client_table_exist(ad->dbc_mgr, MP_SQUARE_DB_TABLE_NAME) != 1) {
+ ERROR_TRACE("table not exsit");
+ }
+ }
+
+ return ret;
+}
+
+bool mp_db_client_mgr_destory(mp_dbc_mgr_t *dbc_mgr)
+{
+ DEBUG_TRACE_FUNC();
+
+ MP_CHECK_FALSE(dbc_mgr);
+ MP_CHECK_FALSE(dbc_mgr->sqlite_handle);
+
+ /* disconnect db */
+ if (dbc_mgr->sqlite_handle != NULL)
+ _mp_db_client_disconnect(dbc_mgr->sqlite_handle);
+
+ //g_list_free(dbc_mgr->path_list);
+
+ /* free square mgr */
+ free(dbc_mgr);
+ dbc_mgr = NULL;
+
+ return true;
+}
+
+
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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);
+
+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;
+}
+
+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;
+}
+
+void mp_edit_create_track_delete_popup(void *data)
+{
+ DEBUG_TRACE("");
+ struct appdata *ad = mp_util_get_appdata();
+ 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);
+}
+
+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);
+
+ 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);
+}
+
+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);
+}
+
+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_genlist_popup_item_append(popup, GET_STR("IDS_MUSIC_OPT_CREATE_PLAYLIST"), NULL, NULL, NULL, _mp_edit_cb_create_playlist_cb, data);
+ 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);
+}
+
+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_util_post_add_to_playlist_popup_message(g_selected_tracklist_count);*/
+
+ 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"));
+ /* notification was removed from UX
+ else
+ {
+ if (g_track_type > MP_TRACK_TYPE_PLAYLIST_MIN && g_track_type < MP_TRACK_TYPE_PLAYLIST_MAX)
+ mp_util_post_status_message(ad, GET_SYS_STR(STR_MP_REMOVED));
+ else
+ mp_util_post_status_message(ad, GET_SYS_STR(STR_MP_DELETED));
+ }
+ */
+ 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);
+ 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));
+ }
+
+ //if (mp_list_get_edit(view->content_to_show))
+ {
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_DELETE_DONE);
+ }
+ /*
+ else
+ {
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_POPUP_DELETE_DONE);
+ }*/
+ }
+
+ ad->edit_in_progress = false;
+
+}
+
+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);
+}
+
+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:
+ {
+ ret = mp_media_info_set_added_time(item_handle, 0);
+ MP_CHECK_VAL(ret == 0, -1);
+ break;
+ }
+ case MP_TRACK_BY_PLAYED_TIME:
+ {
+ ret = mp_media_info_set_played_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;
+ }
+ case MP_TRACK_BY_PLAYED_COUNT:
+ {
+ ret = mp_media_info_set_played_count(item_handle, 0);
+ MP_CHECK_VAL(ret == 0, -1);
+ break;
+ }
+ default:
+ {
+#ifdef MP_FEATURE_CLOUD
+ mp_storage_type_e storage;
+ ret = mp_media_info_get_media_id(item_handle, &fid);
+ ret = mp_media_info_get_storage_type(item_handle, &storage);
+ if (storage == MP_STORAGE_CLOUD)
+ {
+ return mp_cloud_delete_content(fid, true);
+ }
+ else
+ {
+ 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;
+ }
+ }
+#else
+ 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;
+ }
+#endif
+ ecore_thread_feedback(g_edit_thread, (void *)MP_EDIT_THREAD_FEEDBACK_TRACK_DELETED);
+ break;
+ }
+ }
+ return 0;
+}
+
+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;
+}
+
+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_view_mgr_post_event(GET_VIEW_MGR, MP_DELETE_DONE);
+ mp_media_info_list_destroy(group_track_handle);
+ return ret;
+}
+
+
+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();
+}
+
+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
+
+ /*as all the items are removed, remove now-playing.ini to avoid copy the same track but in DB, they are different*/
+ mp_file_remove(MP_NOWPLAYING_INI_FILE_NAME);
+ /* remove playing_track.ini to avoid lockscreen still using the file content*/
+#ifndef MP_SOUND_PLAYER
+ mp_file_remove(MP_PLAYING_INI_FILE_NAME_MUSIC);
+#else
+ mp_file_remove(MP_PLAYING_INI_FILE_NAME_SOUND);
+#endif
+ }
+ else if (next_play)
+ {
+ mp_play_new_file(ad, true);
+ }
+ }
+}
+
+
+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_pop_a_view(GET_VIEW_MGR, view);
+ }
+
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_ADD_TO_PLAYLIST_DONE);
+ return FALSE;
+}
+
+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();
+
+ 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
+
+#ifdef MP_FEATURE_CLOUD
+
+static void
+_mp_edit_cb_offline_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;
+ int ret = 0;
+ char *fid = NULL;
+
+ 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:
+ {
+ ret = mp_media_info_get_media_id(item_handle, &fid);
+ MP_CHECK_EXCEP(ret == 0);
+
+ ret = mp_cloud_make_offline_available(fid);
+ MP_CHECK_EXCEP(ret == 0);
+
+ break;
+ }
+ default:
+ ecore_thread_feedback(thread, (void *)MP_EDIT_THREAD_FEEDBACK_CANCEL_BY_EXCEPTION);
+ WARN_TRACE("unexpected case...");
+ goto mp_exception;
+ }
+ }
+mp_exception:
+ mp_media_info_disconnect();
+}
+
+void
+mp_edit_cb_excute_make_offline_available(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(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;
+
+ 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_offline_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;
+}
+#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.
+// usleep(1000000);
+ 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);
+
+ //mp_play_new_file(ad, true);
+ 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;
+
+ 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.99);
+ 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);
+
+ *path = g_strdup(full_path);
+ if (*path == NULL) {
+ return -1;
+ }
+
+ memset(*path, 0, strlen(*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:
+ 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);
+ //DEBUG_TRACE("------------>path is %s", 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);
+ //DEBUG_TRACE("------------>root_path is %s", 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);
+ 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);
+ //DEBUG_TRACE("------------>related_path is %s", related_path);
+
+ char **dir_levels = g_strsplit(related_path+1, "/", 0);
+ char *dir_name = g_strdup(dir_levels[0]);
+ //DEBUG_TRACE("------------>dir_name is %s", dir_name);
+ char *semi_path = NULL;
+ semi_path = g_strjoinv ("/", dir_levels+1);
+ //DEBUG_TRACE("------------>semi_path is %s", semi_path);
+ /*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);
+ 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);
+ 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);
+ //DEBUG_TRACE("------------>related_path is %s", related_path);
+
+ char **dir_levels = g_strsplit(related_path+1, "/", 0);
+ char *dir_name = g_strdup(dir_levels[0]);
+ //DEBUG_TRACE("------------>dir_name is %s", dir_name);
+ char *semi_path = NULL;
+ semi_path = g_strjoinv ("/", dir_levels+1);
+ //DEBUG_TRACE("------------>semi_path is %s", semi_path);
+ /*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);
+ 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);
+ }
+ }
+
+ 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;
+
+ //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);
+ 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);
+ }
+ //DEBUG_TRACE("dest path is %s", dest_path);
+ char *dest_dir = mp_file_dir_get(dest_path);
+ //DEBUG_TRACE("dest dir is %s", dest_dir);
+
+ /*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;
+ //g_track_type = mp_list_get_track_type((MpList_t *)list);
+ //g_playlist_handle = mp_list_get_playlist_handle((MpList_t *)list);
+
+ 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
+#ifdef MP_FEATURE_CLOUD
+
+static void
+_mp_edit_delete_cloud_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;
+ }
+
+ mp_edit_cb_excute_delete(data);
+
+ endfunc;
+ return;
+}
+
+void
+mp_edit_create_delete_cloud_confirm_popup(void *data)
+{
+ DEBUG_TRACE("");
+ struct appdata *ad = mp_util_get_appdata();
+
+ MpList_t *list = data;
+ MP_CHECK(list);
+
+ Evas_Object *popup = mp_popup_create(ad->win_main, MP_POPUP_NORMAL, NULL, data, _mp_edit_delete_cloud_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, STR_MP_THIS_WILL_BE_DELETE_FORM_SERVER);
+
+ mp_popup_button_set(popup, MP_POPUP_BTN_1, STR_MP_DELETE, MP_POPUP_YES);
+
+ evas_object_show(popup);
+
+}
+#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;
+ ad->del_cb_invoked = 0;
+ 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;
+ }
+
+#ifdef MP_FEATURE_CLOUD
+ MpList_t *list = data;
+ GList *sel_list = NULL;
+ GList *node = NULL;
+ bool cloud_data = 0;
+
+ if (list->list_type == MP_LIST_TYPE_TRACK || list->list_type == MP_LIST_TYPE_ARTIST_DETAIL || list->list_type == MP_LIST_TYPE_ALBUM_DETAIL)
+ {
+ int track_type = mp_list_get_track_type(list);
+ if (track_type != MP_TRACK_BY_PLAYLIST && track_type != MP_TRACK_BY_ADDED_TIME &&
+ track_type != MP_TRACK_BY_PLAYED_TIME && track_type != MP_TRACK_BY_FAVORITE &&
+ track_type != MP_TRACK_BY_PLAYED_COUNT)
+ {
+ mp_list_selected_item_data_get(list, &sel_list);
+ MP_CHECK(sel_list);
+
+ node = g_list_first(sel_list);
+ while (node)
+ {
+ mp_list_item_data_t *item = sel_list->data;
+ mp_media_info_h media = item->handle;
+ mp_storage_type_e storage_type;
+ mp_media_info_get_storage_type(media, &storage_type);
+ if (storage_type == MP_STORAGE_CLOUD)
+ {
+ cloud_data = 1;
+ break;
+ }
+
+ node = g_list_next(node);
+ }
+ g_list_free(sel_list);
+
+ if (cloud_data)
+ {
+ mp_edit_create_delete_cloud_confirm_popup(data);
+ return;
+ }
+ }
+ }
+#endif
+ 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();
+
+ 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)
+ {
+ //elm_object_text_set(popup, GET_STR("IDS_MUSIC_POP_REMOVE_Q"));
+ btn_txt = STR_MP_REMOVE;
+ title = STR_MP_REMOVE;
+ }
+ else
+ {
+ //elm_object_text_set(popup, GET_SYS_STR("IDS_COM_POP_DELETE_Q"));
+ 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) 2000-2015 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 NULL;
+
+ 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;
+ }
+
+ if (!realpath(src, realpath1)) {
+ DEBUG_TRACE("realpath check failed");
+ return 0;
+ }
+
+ if (realpath(dst, realpath2) && !strcmp(realpath1, realpath2)) {
+ DEBUG_TRACE("realpath check failed");
+ return 0;
+ }
+
+ 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) 2000-2015 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 <glib.h>
+#include <fcntl.h>
+
+#include "music.h"
+#include "mp-item.h"
+#include "mp-menu.h"
+#include "mp-ug-launch.h"
+#include "mp-player-debug.h"
+
+bool
+mp_item_update_db(char *fid)
+{
+
+ mp_media_info_h media;
+ int count = 0;
+ bool ret = FALSE;
+
+ ret = mp_media_info_create(&media, fid);
+ if (ret != 0)
+ {
+ mp_media_info_destroy(media);
+ return false;
+ }
+
+ time_t current_time = time(NULL);
+ mp_media_info_get_played_count(media, &count);
+
+ mp_media_info_set_played_count(media, ++count);
+ mp_media_info_set_played_time(media, current_time);
+
+ mp_media_info_destroy(media);
+
+ return TRUE;
+}
+
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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);
+
+#ifdef MP_FEATURE_CLOUD
+#define MP_MEDIA_COND_COMMON ""
+#else
+#define MP_MEDIA_COND_COMMON "(MEDIA_STORAGE_TYPE IS NOT 101)" // exclude dropbox
+#endif
+
+#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))
+
+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;
+#ifdef MP_FEATURE_ALBUMART_UPDATE
+ char *media_id = NULL;
+ char *albumart_path = NULL;
+ media_info_get_media_id(media, &media_id);
+ albumart_path = mp_albumart_path_get(media_id);
+
+ IF_FREE(media_id);
+ if (albumart_path)
+ *path = albumart_path;
+ else
+#endif
+ {
+ 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)
+{
+ //startfunc;
+ 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)
+{
+ //startfunc;
+ 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)
+{
+ //startfunc;
+ 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)
+{
+ //startfunc;
+ int res = media_filter_set_order(filter, descending, order_keyword, 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 )
+{
+ //startfunc;
+ int res = media_filter_set_condition(filter, condition, 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)
+{
+ //startfunc;
+ 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)
+{
+ //startfunc;
+ 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);
+ //endfunc;
+ 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)
+{
+ //startfunc;
+ 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;
+ }
+
+ (*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)
+{
+ //startfunc;
+ 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);
+ //DEBUG_TRACE("offset: %d, count: %d", 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)
+{
+ //startfunc;
+ 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)
+{
+ //startfunc;
+ 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)
+{
+ //startfunc;
+ 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)
+{
+ //startfunc;
+ 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_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);
+ }
+ if (!g_strcmp0(media->i.minfo->year, "Unknown"))
+ {
+ char *default_year = "2014";
+ strncpy(media->i.minfo->year, default_year, strlen(default_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_played_time(mp_media_info_h media, time_t *time)
+{
+ int res = MEDIA_CONTENT_ERROR_NONE;
+ MP_CHECK_VAL(media, -1);
+ MP_CHECK_VAL(media->s.meta, -1);
+
+ res = audio_meta_get_played_time(media->s.meta, time);
+ if (res != MEDIA_CONTENT_ERROR_NONE)
+ ERROR_TRACE("Error code 0x%x", res);
+ return res;
+}
+
+int mp_media_info_get_played_count(mp_media_info_h media, int *count)
+{
+ int res = MEDIA_CONTENT_ERROR_NONE;
+ MP_CHECK_VAL(media, -1);
+ MP_CHECK_VAL(media->s.meta, -1);
+
+ res = audio_meta_get_played_count(media->s.meta, count);
+ if (res != MEDIA_CONTENT_ERROR_NONE)
+ ERROR_TRACE("Error code 0x%x", res);
+ 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);
+ if (res != MEDIA_CONTENT_ERROR_NONE)
+ {
+ ERROR_TRACE("Error code 0x%x", res);
+ return res;
+ }
+
+ 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_played_time(mp_media_info_h media, time_t time)
+{
+ int res = MEDIA_CONTENT_ERROR_NONE;
+ MP_CHECK_VAL(media, -1);
+ MP_CHECK_VAL(media->s.meta, -1);
+
+ res = audio_meta_set_played_time(media->s.meta, time);
+ if (res != MEDIA_CONTENT_ERROR_NONE)
+ {
+ ERROR_TRACE("Error code 0x%x", res);
+ return res;
+ }
+ res = audio_meta_update_to_db(media->s.meta);
+ if (res != MEDIA_CONTENT_ERROR_NONE)
+ ERROR_TRACE("Error code 0x%x", res);
+ return res;
+}
+int mp_media_info_set_played_count(mp_media_info_h media, int count)
+{
+ int res = MEDIA_CONTENT_ERROR_NONE;
+ MP_CHECK_VAL(media, -1);
+ MP_CHECK_VAL(media->s.meta, -1);
+
+ res = audio_meta_set_played_count(media->s.meta, count);
+ if (res != MEDIA_CONTENT_ERROR_NONE)
+ {
+ ERROR_TRACE("Error code 0x%x", res);
+ return res;
+ }
+ res = audio_meta_update_to_db(media->s.meta);
+ if (res != MEDIA_CONTENT_ERROR_NONE)
+ ERROR_TRACE("Error code 0x%x", res);
+ 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);
+ 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_cloud_thumbnail_path(mp_media_info_h media, const char *path)
+{
+ MP_CHECK_VAL(media, -1);
+ MP_CHECK_VAL(media->i.minfo, -1);
+
+ char *current_thumbnail = NULL;
+ mp_media_info_get_thumbnail_path(media, ¤t_thumbnail);
+ if (!g_strcmp0(path, current_thumbnail)) {
+ // already updated
+ return 0;
+ }
+
+ mp_storage_type_e storage = MP_STORAGE_INTERNAL_EX;
+ mp_media_info_get_storage_type(media, &storage);
+
+ if (storage != MP_STORAGE_CLOUD_EX && storage != MP_STORAGE_MUSICHUB_EX) {
+ WARN_TRACE("media is not cloud item [storage type = %d]", storage);
+ return -1;
+ }
+
+ IF_FREE(media->i.minfo->thumbnail_path);
+ media->i.minfo->thumbnail_path = g_strdup(path);
+
+ int res = MEDIA_CONTENT_ERROR_NONE;
+ char *media_id = NULL;
+ mp_media_info_get_media_id(media, &media_id);
+ res = media_cloud_info_update_thumbnail_path_to_db(media_id, path);
+ if (res != MEDIA_CONTENT_ERROR_NONE)
+ ERROR_TRACE("Error code 0x%x", res);
+
+ PRINT_STR(path);
+ 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)
+{
+ //startfunc;
+ 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)
+{
+ //startfunc;
+ 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);
+ 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);
+ audio_meta_destroy(audio);
+ 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)
+ audio_meta_destroy(audio);
+ 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;
+ }
+
+ //DEBUG_TRACE("info: %s, artist: %s", album, artist);
+
+ 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++;
+ //DEBUG_TRACE("artist: %s, album: %s", artist, album);
+ 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_ALBUM:
+ //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;
+ //case MP_GROUP_BY_YEAR:
+ // break;
+ //case MP_GROUP_BY_COMPOSER:
+ // break;
+ //case MP_GROUP_BY_PLAYLIST:
+ // 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);
+ //DEBUG_TRACE("find folder from glist: %s", folder);
+ //DEBUG_TRACE("list count: %d", g_list_length(node));
+ 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);
+ //DEBUG_TRACE("Found data!! count: %d, thumb: %s", media->i.ginfo->track_count, media->i.ginfo->thumb_path);
+ 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)
+{
+ //startfunc;
+ _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)
+{
+ //startfunc;
+ 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)
+{
+ //startfunc;
+ 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)
+{
+// startfunc;
+ 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)
+ {
+
+ /*if (media->s.group_type == MP_GROUP_BY_ALBUM || media->s.group_type == MP_GROUP_BY_ARTIST_ALBUM)
+ res = media_album_get_album_art(media->h.group, &media->i.ginfo->thumb_path);
+ else*/{
+ 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);
+ 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);
+ 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*/
+ //startfunc;
+ 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)
+{
+ //startfunc;
+ 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)
+{
+ //startfunc;
+ 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)
+{
+ //startfunc;
+ 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)
+{
+ //startfunc;
+ 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)
+{
+ //startfunc;
+ 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)
+{
+ //startfunc;
+ 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)
+{
+ //startfunc;
+ 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)
+{
+ //startfunc;
+ 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)
+{
+ //startfunc;
+ 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)
+{
+ //startfunc;
+ 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)
+{
+ //startfunc;
+ 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)
+{
+ //startfunc;
+ 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)
+{
+ //startfunc;
+ 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)
+{
+ //startfunc;
+ 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);
+ return -1;
+ }
+
+ mp_media_info_group_list_destroy(list);
+
+ 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");
+
+#ifdef MP_FEATURE_SUGGEST_FOR_YOU
+ app_control_h service = NULL;
+
+ app_control_create(&service);
+ app_control_set_app_id(service, "org.tizen.music-player.service");
+ //char *type_str = g_strdup_printf("%d", update_type);
+ //app_control_add_extra_data(service, "update_type", type_str);
+ //app_control_add_extra_data(service, "url", path);
+ app_control_send_launch_request(service, NULL, NULL);
+ app_control_destroy(service);
+ //SAFE_FREE(type_str);
+#endif
+ 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_set_db_updated_cb(mp_media_content_db_update_cb, NULL);
+}
+
+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_unset_db_updated_cb();
+}
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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-player-drm.h"
+#include "mp-widget.h"
+#include "mp-ctxpopup.h"
+
+#include "mp-setting-ctrl.h"
+#ifdef MP_FEATURE_ADD_TO_HOME
+//#include "shortcut.h"
+#endif
+
+#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,
+#ifdef MP_FEATURE_CLOUD
+ MP_SHARE_DROPBOX,
+#endif
+};
+
+
+#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
+#ifdef MP_FEATURE_WIFI_SHARE
+ else if (g_strcmp0(label, WIFI_SYS) == 0)
+ share_type = MP_SHARE_WIFI;
+#endif
+#ifdef MP_FEATURE_CLOUD
+ else if (g_strcmp0(label, STR_MP_DROPBOX) == 0)
+ share_type = MP_SHARE_DROPBOX;
+#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
+#ifdef MP_FEATURE_WIFI_SHARE
+ else if (share_type == MP_SHARE_WIFI)
+ fmt = "|%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);
+#ifdef MP_FEATURE_WIFI_SHARE
+ else if (share_type == MP_SHARE_WIFI)
+ mp_ug_wifi_attatch_file(path->str, g_list_length(sel_list), ad);
+#endif
+#ifdef MP_FEATURE_CLOUD
+ else if (share_type == MP_SHARE_DROPBOX)
+ mp_ug_dropbox_attatch_file(path->str, g_list_length(sel_list), ad);
+#endif
+ 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);
+}
+
+
+static int
+_mp_menu_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 char *
+_mp_menu_get_path_by_handle(void *record)
+{
+ MP_CHECK_NULL(record);
+
+ char *path = NULL;
+
+ mp_media_info_get_file_path(record, &path);
+
+ return path;
+}
+
+#ifdef MP_FEATURE_ADD_TO_HOME
+static int
+_mp_menu_shortcut_res_cb(int ret, int pid, void *data)
+{
+ startfunc;
+ struct appdata *ad = NULL;
+ char *msg = NULL;
+
+ ad = data;
+ MP_CHECK_VAL(ad, -1);
+
+ if (ret == 0)
+ {
+ msg = GET_STR("IDS_MUSIC_POP_ADDED");
+ }
+ else
+ {
+ msg = GET_STR("IDS_MUSIC_POP_UNABLE_TO_ADD");
+ }
+ mp_util_post_status_message(ad, msg);
+
+ IF_FREE(ad->shortcut_descrition);
+
+ return 0;
+}
+#endif
+
+#ifdef MP_FEATURE_ADD_TO_HOME
+void
+mp_menu_add_to_home(int type, void *main_info, void *extra_info1, void *extra_info2)
+{
+ startfunc;
+
+ if (type >= MP_ADD_TO_HOME_SHORTCUT_TYPE_NUM) {
+ mp_assert(1);
+ }
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ char *shortcut_descrition = NULL;
+ if (type == MP_ADD_TO_HOME_SHORTCUT_TYPE_USER_PLAYLIST)
+ shortcut_descrition = g_strdup_printf("%s%d|%d|%d", MP_ADD_TO_HOME_SHORTCUT_PREFIX, type, (int)main_info, 0);
+ else
+ shortcut_descrition = g_strdup_printf("%s%d|%s|%s|%s", MP_ADD_TO_HOME_SHORTCUT_PREFIX, type, (char *)main_info, (char *)extra_info1, (char *)extra_info2);
+
+ mp_debug("description = %s", shortcut_descrition);
+ int ret = add_to_home_livebox(PKGNAME_FOR_SHORTCUT, NULL, LIVEBOX_TYPE_1x1, shortcut_descrition, NULL, -1.0f, true, _mp_menu_shortcut_res_cb, ad);
+ if (ret < 0)
+ {
+ char *msg = NULL;
+ ERROR_TRACE("ret: %d", ret);
+ msg = GET_STR("IDS_MUSIC_POP_UNABLE_TO_ADD");
+ mp_util_post_status_message(ad, msg);
+ }
+ IF_FREE(shortcut_descrition);
+
+ endfunc;
+}
+#endif
+
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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-drm.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-streaming-mgr.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"
+
+#ifdef MP_FEATURE_AVRCP_13
+#include "mp-avrcp.h"
+#endif
+
+#ifdef MP_FEATURE_CLOUD
+#include "mp-cloud.h"
+#endif
+
+#define PAUSE_OFF_TIMEOUT (2 * 60) // sec
+
+#ifndef MP_SOUND_PLAYER
+#include "mp-common.h"
+#endif
+
+#ifdef MP_FEATURE_APP_IN_APP
+#include "mp-mini-player.h"
+#endif
+
+#ifdef MP_FEATURE_CONTEXT_ENGINE
+#include "mp-context.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;
+}
+
+static Eina_Bool _mp_item_update_db_idler(void *data)
+{
+ if (!mp_item_update_db(data))
+ {
+ WARN_TRACE("Error when update db");
+ }
+ return ECORE_CALLBACK_CANCEL;
+}
+
+//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->is_focus_out)
+ //{
+ 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
+ //}
+
+#ifdef MP_FEATURE_APP_IN_APP
+ if (ad->mini_player_mode)
+ mp_mini_player_refresh(ad);
+#endif
+
+ if (current_item->uid) {
+
+ if (current_item->track_type == MP_TRACK_URI)
+ {
+ ecore_idler_add(_mp_item_update_db_idler, current_item->uid);
+ }
+ }
+
+#ifndef MP_SOUND_PLAYER
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_PLAY_TIME_COUNT_UPDATED);
+#endif
+ mp_setting_set_nowplaying_id(getpid());
+
+#ifdef MP_3D_FEATURE
+ /* Get latest playing info */
+ mp_coverflow_view_update(ad, MP_CF_VIEW_UPDATE_NOWPLAYING);
+ /* Get latest album */
+ mp_coverflow_view_update(ad, MP_CF_VIEW_UPDATE_SELECTED_ALBUM);
+#endif
+ endfunc;
+ 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;
+
+#ifdef MP_FEATURE_CLOUD
+ if (current_item->track_type == MP_TRACK_CLOUD)
+ {
+ char *uri = NULL;
+ int ret = mp_cloud_play_available(current_item->uid, current_item);
+ if (ret == MP_CLOUD_PLAY_UNAVAILABLE)
+ {
+ return MP_PLAY_ERROR_NETWORK;
+ }
+ else if (ret == MP_CLOUD_PLAY_STREAMING)
+ {
+ return MP_PLAY_ERROR_STREAMING;
+ }
+ else
+ {
+ //play offline
+ IF_FREE(current_item->uri);
+ current_item->uri = uri;
+ }
+ }
+#endif
+
+ PROFILE_IN("mp_player_control_ready_new_file");
+ if (mp_util_is_streaming(current_item->uri))
+ res = mp_streaming_mgr_play_new_streaming(ad);
+ else
+ 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;
+#ifdef MP_FEATURE_CLOUD
+ if (ret == MP_PLAY_ERROR_NETWORK)
+ mp_widget_text_popup(NULL, GET_STR(STR_MP_THIS_FILE_IS_UNABAILABLE));
+#endif
+ 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;
+#ifdef MP_FEATURE_CLOUD
+ int i;
+ for (i=0; i< mp_playlist_mgr_count(ad->playlist_mgr); i++)
+ {
+ item = mp_playlist_mgr_get_next(ad->playlist_mgr, forced, true);
+ if (item && item->track_type == MP_TRACK_CLOUD)
+ {
+ if (mp_cloud_play_available(item->uid, NULL) != MP_CLOUD_PLAY_UNAVAILABLE)
+ break;
+ }
+ else
+ break;
+ }
+#else
+ item = mp_playlist_mgr_get_next(ad->playlist_mgr, forced, true);
+#endif
+#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;
+
+#ifdef MP_FEATURE_APP_IN_APP
+ if (ad->mini_player_mode)
+ mp_mini_player_refresh(ad);
+#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);
+#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();
+
+#ifdef MP_FEATURE_DRM_CONSUMPTION
+ mp_drm_start_consumption(item->uri);
+#endif
+ mp_util_sleep_lock_set(TRUE, FALSE);
+
+ //if (ad->is_focus_out)
+ //{
+ 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
+ //}
+
+#ifdef MP_FEATURE_APP_IN_APP
+ if (ad->mini_player_mode)
+ mp_mini_player_refresh(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_AVRCP_13
+ mp_avrcp_noti_player_state(MP_AVRCP_STATE_PLAYING);
+#endif
+
+#ifdef MP_FEATURE_CONTEXT_ENGINE
+ mp_context_log_insert(ad, true);
+ mp_context_notify_playback(true, item->uri);
+#endif
+
+#ifdef MP_FEATURE_AUTO_OFF
+ mp_ecore_timer_del(ad->pause_off_timer);
+#endif
+ endfunc;
+}
+
+/*static Eina_Bool
+_mp_play_start_lazy_idler(void *data)
+{
+ eventfunc;
+ struct appdata *ad = data;
+ MP_CHECK_FALSE(ad);
+
+ MpView_t *player_view = GET_PLAYER_VIEW;
+ if (player_view)
+ {
+ bool is_transit = false;
+ mp_view_is_now_push_transit(player_view, &is_transit);
+ if (is_transit)
+ {
+ WARN_TRACE("now transition.. wait next idle");
+ return ECORE_CALLBACK_RENEW;
+ }
+ }
+
+ ad->create_on_play_lay_idler = NULL;
+ _mp_play_start_lazy(ad);
+
+ return ECORE_CALLBACK_DONE;
+}*/
+
+
+void
+mp_play_start(void *data)
+{
+ startfunc;
+ struct appdata *ad = data;
+ mp_retm_if (ad == NULL, "appdata is NULL");
+
+ ad->music_length = mp_player_mgr_get_duration() / 1000.0;
+ ad->player_state = PLAY_STATE_PLAYING;
+
+
+#ifndef MP_SOUND_PLAYER
+ if (mp_view_mgr_count_view(GET_VIEW_MGR) == 0)
+ {
+ mp_common_create_initial_view(ad, NULL, NULL);
+ evas_object_show(ad->win_main);
+ 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;
+ }
+
+ 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;
+ }
+#endif
+ 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);
+
+#ifdef MP_FEATURE_DRM_CONSUMPTION
+ mp_drm_pause_consumption();
+#endif
+ 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
+
+#ifdef MP_FEATURE_APP_IN_APP
+ if (ad->mini_player_mode)
+ mp_mini_player_refresh(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
+
+#ifdef MP_FEATURE_AVRCP_13
+ mp_avrcp_noti_player_state(MP_AVRCP_STATE_PAUSED);
+#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
+#ifdef MP_FEATURE_APP_IN_APP
+ if (ad->mini_player_mode)
+ mp_mini_player_refresh(ad);
+#endif
+
+#ifdef MP_FEATURE_DRM_CONSUMPTION
+ mp_drm_stop_consumption();
+ mp_drm_set_consumption(FALSE);
+#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);
+
+#ifdef MP_FEATURE_AVRCP_13
+ mp_avrcp_noti_player_state(MP_AVRCP_STATE_STOPPED);
+#endif
+
+#ifdef MP_FEATURE_CONTEXT_ENGINE
+ mp_context_log_insert(ad, false);
+ mp_context_notify_playback(false, NULL);
+#endif
+
+ 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);
+
+#ifdef MP_FEATURE_DRM_CONSUMPTION
+ mp_drm_resume_consumption();
+#endif
+ 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
+
+#ifdef MP_FEATURE_APP_IN_APP
+ if (ad->mini_player_mode)
+ mp_mini_player_refresh(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);
+
+#ifdef MP_FEATURE_AVRCP_13
+ mp_avrcp_noti_player_state(MP_AVRCP_STATE_PLAYING);
+#endif
+
+ 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));
+#ifdef MP_3D_FEATURE
+ if (ad->coverflow_view && ad->coverflow_view->back_button)
+ mp_coverflow_view_back_2d_view(ad);
+#endif
+
+#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) 2000-2015 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) 2000-2015 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"
+
+#ifdef IDEBUILD
+#include "idebuild.h"
+#endif
+
+#include "music.h"
+#include "mp-item.h"
+#include "mp-player-debug.h"
+#include "mp-widget.h"
+#include "mp-volume.h"
+
+
+#ifdef MP_SOUND_PLAYER
+
+#else
+#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 UG_MSG_NAME "msg-composer-efl"
+#define UG_WIFI_NAME "wifi-efl-UG"
+#ifdef MP_FEATURE_WIFI_SHARE
+#define UG_FTM_NAME "fileshare-efl"
+#endif
+#ifdef MP_FEATURE_CLOUD
+#define DROPBOX_PKG_NAME "dropbox-efl"
+#endif
+
+#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;
+}
+
+#ifdef MP_FEATURE_CLOUD
+int
+mp_ug_dropbox_attatch_file(const char *filepath, int count, void *user_data)
+{
+ startfunc;
+ struct appdata *ad = NULL;
+ app_control_h service = NULL;
+
+ mp_retvm_if (filepath == NULL, -1, "file path is NULL");
+ mp_retvm_if (user_data == NULL, -1, "appdata is NULL");
+
+ ad = user_data;
+ int err = 0;
+
+ err = app_control_create(&service);
+ if (err != APP_CONTROL_ERROR_NONE)
+ {
+ ERROR_TRACE("Error: app_control_create");
+ 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, DROPBOX_PKG_NAME);
+ 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_set_window(service, elm_win_xwindow_get(ad->win_main));
+ if (err != APP_CONTROL_ERROR_NONE)
+ {
+ ERROR_TRACE("Error: app_control_set_window().. [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;
+}
+#endif
+
+#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;
+ }
+
+ app_control_set_window(svc_handle, elm_win_xwindow_get(ad->win_main));
+
+ 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) {
+ /*update thumbnail in db*/
+ 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;
+ }
+
+ app_control_set_window(svc_handle, elm_win_xwindow_get(ad->win_main));
+
+ 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;
+ struct appdata *ad = NULL;
+ app_control_h service = NULL;
+ int err = 0;
+
+ mp_retvm_if (filepath == NULL, -1, "file path is NULL");
+ ad = mp_util_get_appdata();
+
+ 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_set_window(service, ad->xwin);
+ if (err != APP_CONTROL_ERROR_NONE)
+ {
+ ERROR_TRACE("Error: app_control_set_window().. [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;
+ struct appdata *ad = NULL;
+ app_control_h service = NULL;
+ int err = 0;
+ char *pos = NULL;
+
+ mp_retvm_if (filepath == NULL, -1, "file path is NULL");
+ ad = mp_util_get_appdata();
+
+ 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_set_window(service, ad->xwin);
+ if (err != APP_CONTROL_ERROR_NONE)
+ {
+ ERROR_TRACE("Error: app_control_set_window().. [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;
+ }
+
+ /* appcontrol name */
+ 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;
+ }
+
+ /* set window */
+ ret = app_control_set_window(service, ad->xwin);
+ if (ret != APP_CONTROL_ERROR_NONE) {
+ mp_error("app_control_set_window()... [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;
+}
+
+bool
+mp_setting_privacy_launch(void)
+{
+ startfunc;
+
+ struct appdata *ad = mp_util_get_appdata();
+
+ bool result = false;
+
+ 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, "http://tizen.org/appcontrol/operation/configure/privacy");
+ if (ret != APP_CONTROL_ERROR_NONE) {
+ mp_error("app_control_set_operation()... [0x%x]", ret);
+ goto END;
+ }
+
+ /* set window */
+ ret = app_control_set_window(service, ad->xwin);
+ if (ret != APP_CONTROL_ERROR_NONE) {
+ mp_error("app_control_set_window()... [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;
+}
+
+static bool
+_mp_ug_launch_as_appcontrol(const char *ug_name)
+{
+ MP_CHECK_FALSE(ug_name);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_FALSE(ad);
+
+ bool result = false;
+
+ 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_app_id(service, ug_name);
+ if (ret != APP_CONTROL_ERROR_NONE) {
+ mp_error("app_control_set_app_id()... [0x%x]", ret);
+ goto END;
+ }
+
+ /* set window */
+ ret = app_control_set_window(service, ad->xwin);
+ if (ret != APP_CONTROL_ERROR_NONE) {
+ mp_error("app_control_set_window()... [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;
+}
+
+bool
+mp_setting_wifi_launch(void)
+{
+ return _mp_ug_launch_as_appcontrol("wifi-efl-ug");
+}
+
+bool
+mp_setting_network_launch(void)
+{
+ return _mp_ug_launch_as_appcontrol("setting-network-efl");
+}
+
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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.h>
+#include <device/display.h>
+#include <device/callback.h>
+#include <device/power.h>
+//TEMP_BLOCK
+//#include <power.h>
+#include <notification.h>
+#include "metadata_extractor.h"
+#ifdef MP_SOUND_PLAYER
+#else
+#include "mp-common.h"
+#endif
+
+bool track_deleted = false;
+#define SINGLE_BYTE_MAX 0x7F
+
+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",
+};
+
+static unsigned char mask_len[] = {
+ 0x80, /* 1000 0000 */ 0x00, /* 0xxx xxxx */
+ 0xE0, /* 1110 0000 */ 0xC0, /* 110x xxxx */
+ 0xF0, /* 1111 0000 */ 0xE0, /* 1110 xxxx */
+ 0xF8, /* 1111 1000 */ 0xF0, /* 1111 0xxx */
+ 0xFC, /* 1111 1100 */ 0xF8, /* 1111 10xx */
+ 0xFE, /* 1111 1110 */ 0xFC, /* 1111 110x */
+};
+
+static int externalStorageId = -1;
+
+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 i, r = -1;
+ unsigned char c;
+
+ if (p)
+ {
+ c = *p;
+ for (i = 0; i < sizeof(mask_len) / sizeof(char); i = i + 2)
+ {
+ if ((c & mask_len[i]) == mask_len[i + 1])
+ {
+ r = (i >> 1) + 1;
+ break;
+ }
+ }
+ }
+
+ 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);
+ }
+
+ if (!path)
+ path = DEFAULT_THUMBNAIL;
+ elm_image_file_set(image, path, group);
+
+ 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)
+{
+ //startfunc;
+ 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))
+ path = 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);
+ //endfunc;
+
+ 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);
+ //if (show_popup)
+ //mp_widget_text_popup(ad, GET_SYS_STR("IDS_COM_POP_FAILED"));
+ 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);
+ if (!strncmp(MP_PHONE_ROOT_PATH, path, strlen(MP_PHONE_ROOT_PATH)))
+ return 1;
+ else
+ 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;
+}
+
+bool
+mp_util_is_streaming(const char *uri)
+{
+ if (uri == NULL || strlen(uri) == 0)
+ {
+ return FALSE;
+ }
+
+ if (uri == strstr(uri, "http://") || uri == strstr(uri, "https://")
+ || uri == strstr(uri, "rtp://") || uri == strstr(uri, "rtsp://")) {
+ DEBUG_TRACE("Streaming URI... OK");
+ return TRUE;
+ }
+ else
+ {
+ //DEBUG_TRACE("uri check failed : [%s]", uri);
+ return FALSE;
+ }
+}
+
+bool
+mp_check_file_exist(const char *path)
+{
+ if (path == NULL || strlen(path) == 0)
+ {
+ return FALSE;
+ }
+
+ bool mmc_removed = mp_util_is_mmc_removed();
+
+ if (mmc_removed && strstr(path, MP_MMC_ROOT_PATH) == path)
+ {
+ return false;
+ }
+
+ 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)) {
+ WARN_TRACE("Fail to get mime type with return value [%d]", retcode);
+ return NULL;
+ }
+ 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_NULL(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);
+ 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)) {
+ //VER_TRACE("file not exitst, path: %s", 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) {
+ //mp_debug("Cannot load file : %s", path);
+ 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 len;
+ 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);
+ //len = strlen(params[i]);
+ 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;
+ if ((ret= sound_manager_get_current_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:
+ *snd_path = MP_SND_PATH_BT;
+ break;
+ case SOUND_DEVICE_HDMI:
+ *snd_path = MP_SND_PATH_HDMI;
+ break;
+ case SOUND_DEVICE_MIRRORING:
+ *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));
+ 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));
+ IF_FREE(temp);
+ } else {
+ if (strlen(string) <= DEF_BUF_LEN)
+ strncpy(pstr, string, strlen(string));
+ }
+
+ 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;
+}
+
+/*static Eina_Bool
+_sleep_timer_cb(void *data)
+{
+ TIMER_TRACE();
+ struct appdata * ad = g_ad;
+ MP_CHECK_FALSE(ad);
+
+ EVENT_TRACE("sleep_unlock");
+ // TEMP_BLOCK
+ //power_unlock_state(POWER_STATE_SCREEN_OFF);
+ mp_player_mgr_safety_volume_set(ad->app_is_foreground);
+ ad->sleep_locked = false;
+ ad->sleep_unlock_timer = NULL;
+ return false;
+}*/
+
+bool
+mp_util_sleep_lock_set(bool lock, bool force_unlock)
+{
+// TEMP_BLOCK #if 0
+#if 0
+ int ret = POWER_ERROR_NONE;
+ struct appdata * ad = mp_util_get_appdata();
+
+ MP_CHECK_FALSE(ad);
+ mp_ecore_timer_del(ad->sleep_unlock_timer);
+
+ if (ad->sleep_locked == lock)
+ {
+ return true;
+ }
+
+ if (lock) {
+ EVENT_TRACE("sleep_lock");
+ ret = power_lock_state(POWER_STATE_SCREEN_OFF, 0);
+ mp_player_mgr_safety_volume_set(ad->app_is_foreground);
+ } else {
+ if (!force_unlock)
+ ad->sleep_unlock_timer = ecore_timer_add(30, _sleep_timer_cb, ad);
+ else
+ {
+ //unlock power state immediately
+ _sleep_timer_cb(ad);
+ }
+ }
+ ad->sleep_locked = lock;
+
+ if (ret != POWER_ERROR_NONE) {
+ mp_error("pm_lock(un_lock) error.. [%d]", ret);
+ return FALSE;
+ }
+#endif
+ 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';
+}
+#ifdef MP_IMAGE_EFFECT
+static const double gaussian_template[7][7] =
+{
+ {0.00000067, 0.00002292, 0.00019117, 0.00038771, 0.00019117, 0.00002292, 0.00000067},
+ {0.00002292, 0.00078633, 0.00655965, 0.01330373, 0.00655965, 0.00078633, 0.00002292},
+ {0.00019117, 0.00655965, 0.05472157, 0.11098164, 0.05472157, 0.00655965, 0.00019117},
+ {0.00038771, 0.01330373, 0.11098164, 0.22508352, 0.11098164, 0.01330373, 0.00038771},
+ {0.00019117, 0.00655965, 0.05472157, 0.11098164, 0.05472157, 0.00655965, 0.00019117},
+ {0.00002292, 0.00078633, 0.00655965, 0.01330373, 0.00655965, 0.00078633, 0.00002292},
+ {0.00000067, 0.00002292, 0.00019117, 0.00038771, 0.00019117, 0.00002292, 0.00000067}
+};
+
+#define DARK_SCALE 0.6
+
+static void __mp_util_gaussian_blur(unsigned char *src, unsigned char *dest, int w, int h)
+{
+ MP_CHECK(src);
+ MP_CHECK(dest);
+
+ int x, y, i, j, idx, idx2, xx, yy;
+ for (y = 0; y < h; y++) {
+ for (x = 0; x < w; x++) {
+ idx = (y*w+x)*4;
+ double v1 = 0, v2 = 0, v3 = 0;
+
+ for (i = 0; i < 7; i++) {
+ for (j = 0; j < 7; j++) {
+ yy = y + j;
+ xx = x + i;
+ if (xx >= w)
+ xx = w - 1;
+ if (yy >= h)
+ yy = h - 1;
+ idx2 = (yy*w+xx)*4;
+ v1 += (*(src+idx2))*gaussian_template[i][j];
+ v2 += (*(src+idx2+1))*gaussian_template[i][j];
+ v3 += (*(src+idx2+2))*gaussian_template[i][j];
+ }
+ }
+ *(dest+idx) = v1 * DARK_SCALE;
+ *(dest+idx+1) = v2 * DARK_SCALE;
+ *(dest+idx+2) = v3 * DARK_SCALE;
+ *(dest+idx+3) = (*(src+idx+3));
+ }
+ }
+}
+
+
+bool mp_util_edit_image(Evas *evas, Evas_Object *src_image, const char *path, int mode)
+{
+ startfunc;
+ MP_CHECK_FALSE(evas);
+ MP_CHECK_FALSE(src_image);
+ MP_CHECK_FALSE(path);
+ MP_CHECK_FALSE(mode >= MP_PLAYING_VIEW_TOP_LEFT);
+ MP_CHECK_FALSE(mode <= MP_PLAYING_VIEW_BOTTOM_RIGHT);
+
+ float rate_w = 720.0/1500.0;
+ float rate_h = 1280.0/1500.0;
+
+ DEBUG_TRACE("rate_w=%f, rate_h=%f", rate_w, rate_h);
+
+ Evas_Object *image = evas_object_image_add(evas);
+ evas_object_image_file_set(image, path, NULL);
+
+ int w, h, dest_w, dest_h, x, y;
+ evas_object_image_size_get(image, &w, &h);
+ unsigned char *src = NULL;
+ src = (unsigned char *)evas_object_image_data_get(image, EINA_FALSE);
+
+ MP_CHECK_FALSE(src);
+ DEBUG_TRACE("path=%s, w=%d, h=%d", path, w, h);
+ dest_w = (int)(rate_w * w);
+ dest_h = (int)(rate_h * h);
+ DEBUG_TRACE("rate_w=%f, rate_h=%f, dest_w=%d, dest_h=%d", rate_w, rate_h, dest_w, dest_h);
+
+ int start_x, start_y, end_x, end_y;
+
+ switch (mode) {
+ case MP_PLAYING_VIEW_TOP_LEFT:
+ start_x = 0;
+ start_y = 0;
+ break;
+
+ case MP_PLAYING_VIEW_TOP_CENTER:
+ start_x = (w - dest_w)/2;
+ start_y = 0;
+ break;
+
+ case MP_PLAYING_VIEW_TOP_RIGHT:
+ start_x = w - dest_w;
+ start_y = 0;
+ break;
+
+ case MP_PLAYING_VIEW_BOTTOM_LEFT:
+ start_x = 0;
+ start_y = h - dest_h;
+ break;
+
+ case MP_PLAYING_VIEW_BOTTOM_CENTER:
+ start_x = (w - dest_w)/2;
+ start_y = h - dest_h;
+ break;
+
+ case MP_PLAYING_VIEW_BOTTOM_RIGHT:
+ start_x = w - dest_w;
+ start_y = h - dest_h;
+ break;
+
+ default:
+ return false;
+ }
+
+ unsigned char *dest = NULL;
+ dest = (unsigned char *)malloc(dest_w * dest_h * 4);
+ MP_CHECK_EXCEP(dest);
+ memset(dest, 0, dest_w * dest_h * 4);
+
+ end_x = start_x + dest_w;
+ end_y = start_y + dest_h;
+ DEBUG_TRACE("(%d, %d), (%d, %d)", start_x, start_y, end_x, end_y);
+
+ int dest_idx = 0;
+ int src_idx = 0;
+ unsigned char gray = 0;
+ for (y = start_y; y < end_y; y++) {
+ for (x = start_x; x < end_x; x++) {
+ dest_idx = ((y-start_y)*dest_w+(x-start_x))*4;
+ src_idx = (y*w+x)*4;
+
+ gray = (*(src+src_idx))*0.3+(*(src+src_idx+1))*0.59+(*(src+src_idx+2))*0.11;
+ *(dest+dest_idx) = gray;
+ *(dest+dest_idx+1) = gray;
+ *(dest+dest_idx+2) = gray;
+ *(dest+dest_idx+3) = 0;
+ //*(dest+dest_idx+3) = (*(src+src_idx+3));
+ }
+ }
+
+ unsigned char *dest_data = NULL;
+ dest_data = (unsigned char *)malloc(dest_w * dest_h * 4);
+ MP_CHECK_EXCEP(dest_data);
+ memset(dest_data, 0, dest_w * dest_h * 4);
+ __mp_util_gaussian_blur(dest, dest_data, dest_w, dest_h);
+ IF_FREE(dest);
+
+ evas_object_image_data_set(src_image, NULL);
+ evas_object_image_size_set(src_image, dest_w, dest_h);
+ evas_object_image_smooth_scale_set(src_image, EINA_TRUE);
+ evas_object_image_data_copy_set(src_image, dest_data);
+ evas_object_image_data_update_add(src_image, 0, 0, dest_w, dest_h);
+ IF_FREE(dest_data);
+
+ mp_evas_object_del(image);
+
+ endfunc;
+ return true;
+
+ mp_exception:
+ mp_evas_object_del(image);
+ IF_FREE(dest);
+ IF_FREE(dest_data);
+ return false;
+}
+#endif
+
+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);
+#ifdef MP_FEATURE_CLOUD
+ mp_storage_type_e storage;
+ mp_media_info_get_storage_type(item, &storage);
+ if (storage == MP_STORAGE_CLOUD)
+ track_type = MP_TRACK_CLOUD;
+#endif
+ 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;
+
+ if (string_id) {
+#ifdef STORE_DOMAIN_NAME
+ else if (strstr(string_id, "IDS_MH") || strstr(string_id, "IDS_IS"))
+ domain = STORE_DOMAIN_NAME;
+#endif
+ }
+
+ 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;
+
+ //mp_debug("type = %d [%s]", type, device);
+
+ 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);
+}
+
+static inline void _mp_util_launch_unlock_password()
+{
+ eventfunc;
+
+ app_control_h service = NULL;
+ int ret = APP_CONTROL_ERROR_NONE;
+
+ ret = app_control_create(&service);
+ if (ret != APP_CONTROL_ERROR_NONE) {
+ mp_error("app_control_create() .. [0x%x]", ret);
+ return;
+ }
+
+ ret = app_control_set_operation(service, APP_CONTROL_OPERATION_DEFAULT);
+ if (ret != APP_CONTROL_ERROR_NONE) {
+ mp_error("app_control_set_operation() .. [0x%x]", ret);
+ app_control_destroy(service);
+ return;
+ }
+
+ ret = app_control_add_extra_data(service, "lock_type", "go_to_password");
+ if (ret != APP_CONTROL_ERROR_NONE) {
+ mp_error("app_control_add_extra_data() .. [0x%x]", ret);
+ app_control_destroy(service);
+ return;
+ }
+
+ 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);
+ app_control_destroy(service);
+ return;
+ }
+
+ app_control_destroy(service);
+}
+
+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_state_e state;
+ telephony_handle_list_s tel_list;
+ 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;
+ }
+
+ telephony_h *newhandle = tel_list.handle;
+
+ int error = telephony_call_get_voice_call_state(*newhandle , &state );
+
+ telephony_deinit(&tel_list);
+
+ if (error == TELEPHONY_ERROR_NONE) {
+ if (state == TELEPHONY_CALL_STATE_IDLE) {
+ return false; /*There exists no calls*/
+ }
+ /* There exists at least one call that is dialing, alerting or incoming*/
+ return true;
+ } else {
+ ERROR_TRACE("ERROR: state error is %d",error);
+ }
+
+ 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) {
+ externalStorageId = 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(externalStorageId, &state);
+ if (state == STORAGE_STATE_REMOVED || state == STORAGE_STATE_UNMOUNTABLE) {
+ return true;
+ }
+ }
+ return false;
+}
+
+
+#define ELM_INTERNAL_API_ARGESFSDFEFC
+#include <elm_widget.h>
+
+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);
+ 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);
+}
+
+mp_dir_e mp_util_get_file_location(const char *uri)
+{
+
+ int len_phone = strlen(MP_MUSIC_DIR);
+ int len_memory = strlen(MP_MMC_DIR);
+ int len_http = strlen(MP_HTTP_DIR);
+
+ if (strncmp(uri, MP_MUSIC_DIR, len_phone) == 0) {
+ return MP_DIR_PHONE;
+ } else if (strncmp(uri, MP_MMC_DIR, len_memory) == 0) {
+ return MP_DIR_MMC;
+ }
+ else if (strncmp(uri, MP_HTTP_DIR, len_http) == 0) {
+ return MP_DIR_HTTP;
+ } else {
+ return MP_DIR_NONE;
+ }
+}
+
+
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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)
+
+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;
+}
+
+#ifdef MP_WATCH_DOG
+#include "mp-watch-dog.h"
+static void _unrealized_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ mp_watch_dog_reset();
+}
+#endif
+
+EXPORT_API Evas_Object *
+mp_widget_genlist_create(Evas_Object * parent)
+{
+ Evas_Object *list = NULL;
+
+ list = elm_genlist_add(parent);
+ MP_CHECK_NULL(list);
+#ifdef MP_WATCH_DOG
+ evas_object_smart_callback_add(list, "unrealized", _unrealized_cb, list);
+#endif
+ elm_scroller_bounce_set(list, EINA_FALSE,EINA_TRUE);
+ return list;
+}
+
+static void
+_mp_widget_lowbattery_del_cb(void *data, Evas * e, Evas_Object * eo, void *event_info)
+{
+ struct appdata *ad = (struct appdata *)data;
+ ad->popup[MP_POPUP_NORMAL] = NULL;
+}
+
+static void
+_mp_widget_lowbattery_res_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ mp_evas_object_del(obj);
+}
+
+static void
+_mp_widget_text_popup_timeout_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ startfunc;
+ mp_evas_object_del(obj);
+}
+
+EXPORT_API Evas_Object *
+mp_widget_text_popup(void *data, const char *message)
+{
+ struct appdata *ad = mp_util_get_appdata();
+ 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, (const char *)text);
+ mp_popup_timeout_set(popup, MP_POPUP_TIMEOUT);
+ evas_object_show(popup);
+ IF_FREE(text);
+ return popup;
+}
+
+EXPORT_API Evas_Object *
+mp_widget_text_popup_show(void *data, const char *message, bool show)
+{
+ struct appdata *ad = mp_util_get_appdata();
+ 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, (const char *)text);
+ mp_popup_timeout_set(popup, MP_POPUP_TIMEOUT);
+ if (show)
+ evas_object_show(popup);
+ IF_FREE(text);
+ return popup;
+}
+
+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;
+}
+
+
+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();
+ 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;
+}
+
+EXPORT_API Evas_Object* mp_widget_text_button_popup(void *data, const char *message)
+{
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_NULL(ad);
+ ad->popup[MP_POPUP_NORMAL] = mp_popup_create(ad->win_main, MP_POPUP_NORMAL, NULL, NULL, NULL, ad);
+ MP_CHECK_NULL(ad->popup[MP_POPUP_NORMAL]);
+
+ mp_popup_desc_set(ad->popup[MP_POPUP_NORMAL], message);
+ mp_popup_button_set(ad->popup[MP_POPUP_NORMAL], MP_POPUP_BTN_1, STR_MP_OK, MP_POPUP_YES);
+ evas_object_show(ad->popup[MP_POPUP_NORMAL]);
+ return ad->popup[MP_POPUP_NORMAL];
+}
+
+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;
+}
+
+char *
+mp_widget_set_text_theme_color(const char *text, const char *color)
+{
+ ERROR_TRACE("");
+ MP_CHECK_NULL(text);
+ MP_CHECK_NULL(color);
+
+ int r = 0;
+ int g = 0;
+ int b = 0;
+ int a = 0;
+ static char return_str[DEF_BUF_LEN + 1] = { 0, };
+
+ memset(return_str, 0x00, DEF_BUF_LEN+1);
+
+ snprintf(return_str, DEF_BUF_LEN,
+ "<color=#%02x%02x%02x%02x>%s</color>", r, g, b, a, text);
+
+ ERROR_TRACE("return_str %s", return_str);
+
+ return return_str;
+}
+
+
+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;
+}
+
+static void
+_mp_widget_entry_maxlength_reached_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ struct appdata *ad = data;
+ MP_CHECK(ad);
+ mp_popup_max_length(obj, STR_NH_COM_POPUP_CHARACTERS_MAXNUM_REACHED);
+}
+
+static void
+_mp_widget_entry_changed_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ struct appdata *ad = data;
+ MP_CHECK(ad);
+
+ Evas_Object *editfield = data;
+ 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) {
+ eraser_signal = "elm,state,eraser,hide";
+ guidetext_signal = "elm,state,guidetext,show";
+ } else {
+ 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");
+}
+
+static void
+_mp_widget_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.
+{
+ Evas_Object *entry = data;
+ MP_CHECK(entry);
+
+ elm_entry_entry_set(entry, "");
+}
+
+
+Evas_Object *
+mp_widget_create_editfield(Evas_Object * parent, int limit_size, char *guide_txt, struct appdata *ad)
+{
+ startfunc;
+ Evas_Object *editfield = NULL;
+ Evas_Object *entry = NULL;
+ editfield = elm_layout_add(parent);
+ elm_layout_theme_set(editfield, "layout", "editfield", "default");
+ MP_CHECK_NULL(editfield);
+ evas_object_size_hint_weight_set(editfield, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(editfield, EVAS_HINT_FILL,
+ EVAS_HINT_FILL);
+
+ entry = elm_entry_add(editfield);
+ MP_CHECK_NULL(entry);
+ elm_object_style_set(entry, "default");
+ elm_entry_single_line_set(entry, EINA_TRUE);
+ elm_entry_scrollable_set(entry, EINA_TRUE);
+ elm_entry_autocapital_type_set(entry, ELM_AUTOCAPITAL_TYPE_NONE);
+ elm_entry_input_panel_layout_set(entry, ELM_INPUT_PANEL_LAYOUT_NORMAL);
+
+ evas_object_data_set(editfield, "entry", entry);
+ elm_object_part_content_set(editfield, "elm.swallow.content", entry);
+
+ evas_object_smart_callback_add(entry, "changed", _mp_widget_entry_changed_cb, editfield);
+ elm_object_signal_callback_add(editfield, "elm,eraser,clicked", "elm", _mp_widget_entry_eraser_clicked_cb, entry);
+
+ if (limit_size > 0)
+ {
+ static Elm_Entry_Filter_Limit_Size limit_filter_data;
+
+ limit_filter_data.max_char_count = 0;
+ limit_filter_data.max_byte_count = limit_size;
+ elm_entry_markup_filter_append(entry, elm_entry_filter_limit_size, &limit_filter_data);
+ evas_object_smart_callback_add(entry, "maxlength,reached", _mp_widget_entry_maxlength_reached_cb,
+ ad);
+ }
+
+ if (guide_txt)
+ elm_object_part_text_set(editfield, "elm.guidetext", guide_txt);
+
+ return editfield;
+
+}
+
+Evas_Object *
+mp_widget_editfield_entry_get(Evas_Object *editfield)
+{
+ MP_CHECK_NULL(editfield);
+
+ Evas_Object *entry = evas_object_data_get(editfield, "entry");
+
+ return entry;
+}
+
+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 *btn = elm_button_add(parent);
+ Evas_Object * icon = NULL;
+ MP_CHECK_NULL(btn);
+
+ if (text)
+ elm_object_text_set(btn, text);
+ else if (icon_path)
+ {
+ icon = elm_icon_add(btn);
+ MP_CHECK_NULL(icon);
+ elm_image_file_set(icon, IMAGE_EDJ_NAME, icon_path);
+ elm_object_content_set(btn, icon);
+ elm_object_style_set(btn, "title_button");
+ }
+ evas_object_smart_callback_add(btn, "clicked", func, data);
+ return btn;
+}
+
+Evas_Object *
+mp_widget_create_layout_main(Evas_Object * parent)
+{
+ Evas_Object *layout;
+
+ mp_retv_if (parent == NULL, NULL);
+ layout = elm_layout_add(parent);
+ mp_retvm_if (layout == NULL, NULL, "Failed elm_layout_add.");
+
+ elm_layout_theme_set(layout, "layout", "application", "default");
+ evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_win_resize_object_add(parent, layout);
+
+ evas_object_show(layout);
+
+ return layout;
+}
+
+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)
+ {
+ 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;
+}
+
+static void
+_mp_common_win_del(void *data, Evas_Object * obj, void *event)
+{
+ elm_exit();
+}
+
+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;
+}
+
+Evas_Object *
+mp_common_create_naviframe_title_button(Evas_Object *parent, const char * text_id, void *save_cb, void *user_data)
+{
+ Evas_Object *btn_save = NULL;
+ btn_save = elm_button_add(parent);
+ elm_object_style_set(btn_save, "naviframe/title1/default");
+ evas_object_size_hint_align_set(btn_save, EVAS_HINT_FILL, EVAS_HINT_FILL);
+
+ evas_object_smart_callback_add(btn_save, "clicked", save_cb, user_data);
+
+ elm_object_text_set(btn_save, GET_SYS_STR(text_id));
+ mp_language_mgr_register_object(btn_save, OBJ_TYPE_ELM_OBJECT, NULL, text_id);
+ evas_object_show(btn_save);
+
+ return btn_save;
+
+}
+
+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;
+}
+
+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;
+}
+
+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;
+}
+
+Evas_Object *mp_widget_create_title_icon_btn_black(Evas_Object *parent, const char *file, const char *group, Evas_Smart_Cb func, void *data)
+{
+ startfunc;
+ Evas_Object *ic;
+ Evas_Object *btn = elm_button_add(parent);
+ if (!btn) return NULL;
+ elm_object_style_set(btn, "music/naviframe/title_icon_black");
+
+ ic = elm_icon_add(parent);
+ elm_image_file_set(ic, file, 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_part_content_set(btn, "icon", ic);
+
+ evas_object_smart_callback_add(btn, "clicked", func, data);
+ evas_object_show(btn);
+ return btn;
+}
+
+Evas_Object *mp_widget_create_title_icon_btn_second(Evas_Object *parent, const char *file, const char *group, Evas_Smart_Cb func, void *data)
+{
+ startfunc;
+ Evas_Object *ic;
+ Evas_Object *btn = elm_button_add(parent);
+ if (!btn) return NULL;
+ elm_object_style_set(btn, "music/naviframe/title_icon_second");
+
+ ic = elm_icon_add(parent);
+ elm_image_file_set(ic, file, 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_part_content_set(btn, "icon", ic);
+
+ evas_object_smart_callback_add(btn, "clicked", func, data);
+ evas_object_show(btn);
+ return btn;
+}
+
+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;
+}
+Evas_Object *mp_widget_create_title_icon_btn(Evas_Object *parent, const char *file, const char *group, Evas_Smart_Cb func, void *data)
+{
+ startfunc;
+ 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* 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;
+}
+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;
+
+}
+
+
+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;
+}
+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;
+}
+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;
+
+}
+
+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;
+}
+
+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;
+}
+
+Evas_Object *mp_widget_no_contents_default_add(Evas_Object *parent, const char *text, const char *help_text)
+{
+ MP_CHECK_NULL(parent);
+
+ Evas_Object *content = _mp_widget_no_content_w_help_add(parent, (char *)text, (char *)help_text, NULL, NULL, NULL);
+ return content;
+}
+
+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;
+}
+
+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;
+}
+
+Evas_Object *mp_widget_device_icon_add(Evas_Object *parent, int device_type)
+{
+ MP_CHECK_NULL(parent);
+
+ const char *group = NULL;
+ if (device_type == MP_DEVICE_TYPE_MY_DEVICE)
+ group = MP_ICON_CONNECTED_MY_DEVICE;
+ else
+ group = MP_ICON_CONNECTED_TV;
+
+ Evas_Object *icon = mp_common_load_edj(parent, IMAGE_EDJ_NAME, group);
+ evas_object_size_hint_weight_set(icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(icon, EVAS_HINT_FILL, EVAS_HINT_FILL);
+
+ return icon;
+}
+
+static Eina_Bool
+_mp_widget_connection_info_timer_cb(void *data)
+{
+ TIMER_TRACE();
+ Evas_Object *layout = data;
+ MP_CHECK_VAL(layout, ECORE_CALLBACK_CANCEL);
+
+ elm_object_signal_emit(layout, "sig_update_progress_image", "");
+
+ return ECORE_CALLBACK_RENEW;
+}
+
+static void
+_mp_widget_connection_info_del_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+ Ecore_Timer *timer = data;
+ MP_CHECK(timer);
+
+ ecore_timer_del(timer);
+}
+
+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)
+{
+ MP_CHECK_NULL(parent);
+
+ Evas_Object *layout = mp_common_load_edj(parent, MP_EDJ_NAME, "connection_info_layout");
+ evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
+
+ /* from */
+ elm_object_part_content_set(layout, "elm.icon.source", src_icon);
+ elm_object_part_text_set(layout, "elm.text.source", src_name);
+
+ /* to */
+ elm_object_part_content_set(layout, "elm.icon.destination", dest_icon);
+ elm_object_part_text_set(layout, "elm.text.destination", dest_name);
+
+ Ecore_Timer *progress_timer = ecore_timer_add(0.5, _mp_widget_connection_info_timer_cb, layout);
+ evas_object_data_set(layout, "timer", progress_timer);
+
+ evas_object_event_callback_add(layout, EVAS_CALLBACK_DEL, _mp_widget_connection_info_del_cb, progress_timer);
+
+ 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 if (size == MP_LOADING_ICON_SIZE_XLARGE)
+ style = "process_large";
+ 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;
+}
+#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
+ 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
+
+Evas_Object *mp_widget_rich_info_text_add(Evas_Object *parent, const char *text)
+{
+ MP_CHECK_NULL(parent);
+
+ Evas_Object *obj = mp_common_load_edj(parent, MP_EDJ_NAME, "rich_info_label_layout");
+ MP_CHECK_NULL(obj);
+
+ Evas_Object *label = elm_label_add(obj);
+ elm_label_line_wrap_set(label, ELM_WRAP_WORD);
+
+ char *label_text = g_strdup_printf("<font_size=32><color=#444444FF><align=left>%s</align></color></font_size>", text);
+ elm_object_text_set(label, label_text);
+ IF_FREE(label_text);
+
+ elm_object_part_content_set(obj, "elm.label", label);
+ return obj;
+}
+
+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", "select_all/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.icon", pSelectAllCheckbox);
+ mp_util_domain_translatable_part_text_set(pSelectAllLayout, "elm.text.main", MP_SCREEN_READER_SELECT_ALL);
+ evas_object_show(pSelectAllLayout);
+ *pCheckBox = pSelectAllCheckbox;
+ return TRUE;
+
+}
+
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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_AVRCP_H__
+#define __MP_AVRCP_H__
+
+#include <stdbool.h>
+
+typedef enum{
+ MP_AVRCP_STATE_STOPPED,
+ MP_AVRCP_STATE_PLAYING,
+ MP_AVRCP_STATE_PAUSED,
+ MP_AVRCP_STATE_FF,
+ MP_AVRCP_STATE_REW,
+}mp_avrcp_player_state_e;
+
+typedef enum{
+ MP_AVRCP_REPEAT_OFF,
+ MP_AVRCP_REPEAT_ONE,
+ MP_AVRCP_REPEAT_ALL,
+}mp_avrcp_repeat_mode_e;
+
+typedef enum{
+ MP_AVRCP_SHUFFLE_OFF,
+ MP_AVRCP_SHUFFLE_ON,
+}mp_avrcp_shuffle_mode_e;
+
+typedef enum{
+ MP_AVRCP_EQ_OFF,
+ MP_AVRCP_EQ_ON,
+}mp_avrcp_eq_state_e;
+
+typedef enum{
+ MP_AVRCP_ERROR_NONE,
+ MP_AVRCP_ERROR,
+ MP_AVRCP_ERROR_PERMISSION_DENIED,
+}MpAvrcpErr_e;
+
+typedef void (*mp_avrcp_connection_state_changed_cb) (bool connected, const char *remote_address, void *user_data);
+typedef void (*mp_avrcp_shuffle_changed_cb)(mp_avrcp_shuffle_mode_e mode, void *user_data);
+typedef void (*mp_avrcp_repeat_changed_cb)(mp_avrcp_repeat_mode_e mode, void *user_data);
+typedef void (*mp_avrcp_eq_changed_cb)(mp_avrcp_eq_state_e state, void *user_data);
+
+MpAvrcpErr_e mp_avrcp_target_initialize(void);
+int mp_avrcp_target_finalize(void);
+
+MpAvrcpErr_e mp_avrcp_noti_player_state(mp_avrcp_player_state_e state);
+MpAvrcpErr_e mp_avrcp_noti_eq_state(mp_avrcp_eq_state_e eq);
+MpAvrcpErr_e mp_avrcp_noti_repeat_mode(mp_avrcp_repeat_mode_e repeat);
+MpAvrcpErr_e mp_avrcp_noti_shuffle_mode(mp_avrcp_shuffle_mode_e shuffle);
+MpAvrcpErr_e mp_avrcp_noti_track(const char *title, const char *artist, const char *album, const char *genre, unsigned int duration);
+MpAvrcpErr_e mp_avrcp_noti_track_position(unsigned int position);
+
+MpAvrcpErr_e mp_avrcp_set_mode_change_cb(mp_avrcp_connection_state_changed_cb connection_cb, mp_avrcp_shuffle_changed_cb s_cb,
+ mp_avrcp_repeat_changed_cb r_cb, mp_avrcp_eq_changed_cb e_cb, void *user_data);
+
+#endif
+
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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_CLOUD_H__
+#define __MP_CLOUD_H__
+
+#include "mp-playlist-mgr.h"
+
+typedef enum
+{
+ MP_CLOUD_PLAY_OFFLINE = 0,
+ MP_CLOUD_PLAY_STREAMING = 1,
+ MP_CLOUD_PLAY_UNAVAILABLE = 2,
+}mp_cloud_playable_e;
+
+int mp_cloud_create(void);
+int mp_cloud_destroy(void);
+mp_cloud_playable_e mp_cloud_play_available(const char *uuid, mp_plst_item *plst_item);
+int mp_cloud_delete_content(const char *uuid, int delete_server);
+int mp_cloud_is_on(int *is_on);
+int mp_cloud_cancel_request(int cancel_id);
+int mp_cloud_make_offline_available(const char *uuid);
+
+#endif
+
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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.
+*
+*/
+
+
+#ifdef MP_FEATURE_ALBUM_COVER_BG
+
+#ifndef __MP_COLLECT_COLOR_SORT_H__
+#define __MP_COLLECT_COLOR_SORT_H__
+
+#include "music.h"
+
+
+typedef struct
+{
+ int key;
+ int value;
+}CollectColorNode_t;
+
+
+void mp_collect_color_sort(GList *node_list);
+void mp_collect_color_make_tree(GList *node_list);
+void mp_collect_color_check_tree(GList *node_list);
+
+#endif
+
+#endif
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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.
+*
+*/
+
+#ifdef MP_FEATURE_ALBUM_COVER_BG
+
+#ifndef __MP_COLLECT_COLOR_H__
+#define __MP_COLLECT_COLOR_H__
+
+#include "music.h"
+
+/**
+ * @brief collect specified count highest frequency colors of specified image file.
+ * @param path [IN] path of image file.
+ * @param resultCount [IN] color count need to collect.
+ * @return rgb of colors, need to free by caller.
+ */
+int* mp_collect_color_set_image(const char *path, int resultCount);
+int* mp_collect_color_get_RGB(int* color, int length);
+
+#endif
+
+#endif
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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_CONTEXT_H__
+#define __MP_CONTEXT_H__
+
+#include "music.h"
+#include <stdbool.h>
+
+int mp_context_log_connect(void);
+int mp_context_log_disconnect(void);
+int mp_context_log_insert(struct appdata *ad, bool start);
+void mp_context_notify_playback(bool start, const char *uri);
+
+
+#endif
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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) 2000-2015 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_FLOATING_WIDGET_MGR__
+#define __MP_FLOATING_WIDGET_MGR__
+
+#include "music.h"
+
+typedef void (*mp_floaing_widget_cb)(bool show, int x, int y, int w, int h, void *data);
+
+typedef struct MpFWMgr_t *MpFwMgr;
+
+MpFwMgr mp_floating_widget_mgr_create(Evas_Object *genlist);
+void mp_floating_widget_mgr_destroy(MpFwMgr FwMgr);
+/**
+* position - position in list
+* order - order between floating widgets
+**/
+void mp_floating_widget_callback_add(MpFwMgr FwMgr,
+ int content_h, int position, int index, mp_floaing_widget_cb cb , void *data);
+
+void mp_floating_widget_mgr_widget_deleted(MpFwMgr FwMgr, int index);
+bool mp_floating_widget_mgr_visible_get(MpFwMgr FwMgr, int index);
+
+#endif
+
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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_HTTP_MGR_H__
+#define __MP_HTTP_MGR_H__
+
+#include "mp-define.h"
+
+#define HTTP_ADDR_LEN_MAX 64
+typedef enum
+{
+ MP_HTTP_SVC_DEFAULT,
+ MP_HTTP_SVC_SHAZAM,
+ MP_HTTP_SVC_STREAMING,
+ MP_HTTP_SVC_MAX,
+} mp_http_svc_type;
+
+typedef enum
+{
+ MP_HTTP_RESPONSE_NORMAL,
+ MP_HTTP_RESPONSE_DISCONNECT,
+} mp_http_response_type;
+
+typedef enum
+{
+ MP_HTTP_RESP_FAIL,
+ MP_HTTP_RESP_SUCCESS,
+} MpHttpRespResultType_t;
+
+typedef void (*MpHttpOpenCb) (gpointer user_data);
+typedef bool (*MpHttpRespExcuteCb)(gpointer user_data, mp_http_response_type response_type);
+typedef bool(*MpHttpOpenExcuteCb) (gpointer user_data);
+
+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;
+
+bool mp_http_mgr_create(void *data);
+bool mp_http_mgr_destory(void *data);
+MpHttpState_t mp_http_mgr_get_state(void *data);
+inline bool mp_http_mgr_is_connected(void *data);
+
+#define TOKEN "025B58C0"
+#endif //__MP_HTTP_MGR_H__
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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) 2000-2015 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) 2000-2015 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_MUSIC_VIEW_MGR_H_
+#define __MP_MUSIC_VIEW_MGR_H_
+
+
+int mp_music_view_mgr_init(void);
+int mp_music_view_mgr_release(void);
+//#ifdef MP_FEATURE_MUSIC_VIEW
+char * mp_music_view_mgr_exe(char *filename, int *length);
+
+//#endif
+
+#endif
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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) 2000-2015 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_DRM_H_
+#define __MP_PLAYER_DRM_H_
+
+typedef struct
+{
+ bool forward;
+ int version;
+ int constraint_type;
+ char validity[256];
+ char description[256];
+} mp_drm;
+
+typedef struct
+{
+ char *type;
+ char *validity;
+} mp_drm_right_status_t;
+
+typedef enum
+{
+ SETAS_REQUEST_CHECK_STATUS,
+ SETAS_REQUEST_REGISTER,
+ SETAS_REQUEST_UNREGISTER,
+} mp_drm_setas_request_type_e;
+
+typedef enum {
+ DRM_CONTENT_INFO_NULL = -1,
+ DRM_CONTENT_INFO_AUTHOR,
+ DRM_CONTENT_INFO_RIGHTS_URL,
+ DRM_CONTENT_INFO_DESCRIPTION,
+} drm_content_info_e;
+
+enum {
+ MP_DRM_CONSTRAINT_UNLIMITED = 0x0,
+ MP_DRM_CONSTRAINT_COUNT = 0x01,
+ MP_DRM_CONSTRAINT_DATE_TIME = 0x02,
+ MP_DRM_CONSTRAINT_INTERVAL = 0x04,
+ MP_DRM_CONSTRAINT_TIMED_COUNT = 0x08,
+ MP_DRM_CONSTRAINT_ACCUMLATED_TIME = 0x10,
+};
+
+typedef struct {
+ int constraints;
+
+ int remaining_count;
+ bool date_time_expired;
+ int remaining_interval_sec;
+ int remaining_timed_count;
+ int remaining_acc_sec;
+} mp_constraints_info_s;
+
+bool mp_drm_get_content_info(const char *path, drm_content_info_e first_info, ...);
+void mp_drm_set_notify(void *data, char *message);
+#ifdef MP_FEATURE_DRM_CONSUMPTION
+void mp_drm_set_consumption(bool enabled);
+bool mp_drm_get_consumption(void);
+void mp_drm_start_consumption(char *path);
+void mp_drm_pause_consumption(void);
+void mp_drm_resume_consumption(void);
+void mp_drm_stop_consumption(void);
+#endif
+bool mp_drm_file_right(char *path);
+bool mp_drm_is_initialized(char *path);
+bool mp_drm_has_valid_ro(char *path);
+EXPORT_API bool mp_drm_get_description(void *data, char *path);
+bool mp_drm_check_forward(void *data, char *path);
+bool mp_drm_get_left_ro_info(const char *path, mp_constraints_info_s *info, bool *has_valid_ro);
+bool mp_drm_check_left_ro(void *data, char *path);
+bool mp_drm_check_expiration(char *path, bool expired);
+bool mp_drm_check_foward_lock(char *path);
+bool mp_drm_check_oma_cd_sd(const char *path);
+GList* mp_drm_get_right_status(const char *path);
+void mp_drm_free_right_status(GList *list);
+bool mp_drm_request_setas_ringtone(const char *path, mp_drm_setas_request_type_e type);
+bool mp_drm_oma_is_setas_ringtone_possible(const char *path, bool *oma);
+
+#endif /*__MP_PLAYER_DRM_H_*/
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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>
+#ifdef GBSBUILD
+#include <vconf.h>
+#endif
+#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);
+int mp_player_mgr_vol_type_set(void);
+int mp_player_mgr_vol_type_unset(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_set_progressive_download(const char *path, player_pd_message_cb callback, void *user_data);
+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) 2000-2015 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,
+#ifdef MP_FEATURE_CLOUD
+ MP_TRACK_CLOUD,
+#endif
+}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;
+
+#ifdef MP_FEATURE_PLST_QUEUE
+typedef enum{
+ MP_PLAYLIST_QUEUE_ADDED,
+ MP_PLSYLIST_QUEUE_REMOVED,
+ MP_PLSYLIST_QUEUE_MOVED,
+}mp_playlist_queue_cmd_type;
+typedef void (*mp_queue_item_removed_cb)(mp_playlist_queue_cmd_type cmd_type, int index,void *userdata);
+#endif
+
+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;
+#ifdef MP_FEATURE_PLST_QUEUE
+ Eina_Bool is_queue;
+#endif
+ char *uri; //local track uri..
+ char *uid; //unique id (media_id or allshare item id)
+ char *title;
+ char *artist;
+ char *thumbnail_path;
+#ifdef MP_FEATURE_CLOUD
+ char *streaming_uri;
+ unsigned int cancel_id;
+#endif
+ 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;
+#ifdef MP_FEATURE_PLST_QUEUE
+ GList *queue_list;
+
+ void *userdata;
+ void(*queue_item_cb)(mp_playlist_queue_cmd_type cmd_type, int index,void *userdata);
+#endif
+ 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);
+#ifdef MP_FEATURE_PLST_QUEUE
+mp_plst_item * mp_playlist_mgr_item_queue(mp_plst_mgr *playlist_mgr, const char *uri, const char *uid, mp_track_type type);
+#endif
+
+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);
+#ifdef MP_FEATURE_PLST_QUEUE
+Eina_Bool mp_playlist_mgr_set_queue_cb(mp_plst_mgr* playlist_mgr, mp_queue_item_removed_cb queue_item_removed, void *userdata);
+#endif
+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) 2000-2015 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_
+
+#ifdef GBSBUILD
+#include <vconf.h>
+#endif
+
+#ifdef IDEBUILD
+#include "idebuild.h"
+#endif
+
+
+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) 2000-2015 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_SQUARE_MGR_H_
+#define __MP_SQUARE_MGR_H_
+
+#include <glib.h>
+#include <sqlite3.h>
+#include "mp-media-info.h"
+
+#include <Elementary.h>
+
+
+//#include "mp-define.h"
+#ifdef PATH_MAX
+# define SQUARE_MAX_NAM_LEN PATH_MAX
+#else
+# define SQUARE_MAX_NAM_LEN 4096
+#endif
+
+#define MP_SQUARE_METADATA_LEN_MAX 193
+
+#define MP_SQUARE_MUSIC_FILE_PATH_LEN_MAX 1024
+
+#define MP_SQUARE_DB_ERROR_CONNECT -201 /**< connect DB error */
+#define MP_SQUARE_DB_ERROR_DISCONNECT -202 /**< disconnect DB error */
+#define MP_SQUARE_DB_ERROR_CREATE_TABLE -203 /**< create table error */
+#define MP_SQUARE_DB_ERROR_NO_RECORD -204 /**< No record */
+#define MP_SQUARE_DB_ERROR_OUT_OF_RANGE -205 /**< DB out of table records range*/
+#define MP_SQUARE_DB_ERROR_INTERNAL -206 /**< internal db error */
+#define MP_SQUARE_DB_ERROR_INVALID_PARAMETER -1
+#define MP_SQUARE_NORMAL_ERROR -1
+#define MP_SQUARE_DB_ERROR_NONE 0
+
+#define MP_SQUARE_AXIS_X_LEN 5
+#define MP_SQUARE_AXIS_Y_LEN 5
+#define MP_SQUARE_CELLS_COUNT MP_SQUARE_AXIS_X_LEN*MP_SQUARE_AXIS_Y_LEN*4
+
+#define MP_SQUARE_POSITION_TO_INT(position, pos) do { \
+ *pos = (int)position;\
+} while (0)
+
+#define MP_SQUARE_INT_TO_POSITION(pos, position) do { \
+ *position.x = pos&0xFF;\
+ *position.y = pos>>8;\
+} while (0)
+
+#define MP_SQUARE_POSITION_TO_INDEX(position, index) do { \
+ *index = (position.y*MP_SQUARE_AXIS_X_LEN - (MP_SQUARE_AXIS_Y_LEN - position.x)) - 1;\
+} while (0)
+
+#define MP_SQUARE_INDEX_TO_POSITION(index, position) do { \
+ *position.x = index%MP_SQUARE_AXIS_Y_LEN+1;\
+ *position.y = index/MP_SQUARE_AXIS_X_LEN+1;\
+} while (0)
+
+typedef enum
+{
+ MP_SQUARE_TYPE_MOOD,
+ MP_SQUARE_TYPE_YEAR,
+ MP_SQUARE_TYPE_ADDED,
+ MP_SQUARE_TYPE_TIME,
+ MP_SQUARE_TYPE_MAX,
+} mp_square_type_t;
+
+enum
+{
+ MP_SQUARE_CELL_0,
+ MP_SQUARE_CELL_1,
+ MP_SQUARE_CELL_2,
+ MP_SQUARE_CELL_3,
+ MP_SQUARE_CELL_4,
+ MP_SQUARE_CELL_MAX
+};
+
+typedef struct
+{
+ int x:8;
+ int y:8;
+} mp_square_position_t;
+
+typedef struct
+{
+ char path[MP_SQUARE_MUSIC_FILE_PATH_LEN_MAX+1];
+ mp_square_position_t pos;
+ mp_square_type_t type;
+} mp_square_item_t;
+
+typedef struct
+{
+ struct appdata *ad;
+
+ sqlite3 *sqlite_handle;
+ //void *square_lib_handle;
+ //void *smp123_lib_handle;
+
+ Ecore_Timer *create_record_timer;
+ int record_count; /* current inserted record count */
+ int total_count; /* total record counts */
+
+ GList *list[MP_SQUARE_TYPE_MAX][MP_SQUARE_CELLS_COUNT]; /* mp_square_item_t */
+
+ GList *selected_list_item; /* mp_square_item_info_t */
+ int selected_type;
+
+ /*all tracks svc handle*/
+ mp_media_list_h svc_handle;
+ int media_count;
+ bool *added_media_array;
+ bool terminal_status;
+ int current_index;
+ void *record;
+
+ GList *base_list;
+ GList *mood_x[MP_SQUARE_CELL_MAX];
+ GList *year_x[MP_SQUARE_CELL_MAX];
+} mp_square_mgr_t;
+
+typedef struct{
+ char audio_id[SQUARE_MAX_NAM_LEN+1]; /**< Unique ID of item */
+ char pathname[SQUARE_MAX_NAM_LEN]; /**< Full path and file name of media file */
+ char title[MP_SQUARE_METADATA_LEN_MAX]; /**< title of track */
+ char artist[MP_SQUARE_METADATA_LEN_MAX]; /**< artist of track */
+ char thumbnail_path[SQUARE_MAX_NAM_LEN]; /**< Thumbnail image file path */
+ int duration; /**< track duration*/
+ int rating; /**< track rating*/
+} mp_square_list_item_t;
+
+typedef enum
+{
+ MP_SQUARE_LIST_ITEM_AUDIO_ID, /**< Unique media file index*/
+ MP_SQUARE_LIST_ITEM_PATHNAME, /**< Full path and file name of media file*/
+ MP_SQUARE_LIST_ITEM_THUMBNAIL_PATH, /**< Thumbnail path of first item in the group */
+ MP_SQUARE_LIST_ITEM_TITLE, /**< Title of media file */
+ MP_SQUARE_LIST_ITEM_ARTIST, /**< Artist of media file */
+ MP_SQUARE_LIST_ITEM_DURATION, /**< Duration of media file*/
+ MP_SQUARE_LIST_ITEM_RATING, /**< The rating used in mtp*/
+ MP_SQUARE_LIST_ITEM_ALBUM, /**< Album of media file*/
+} mp_square_list_item_type_t;
+
+bool mp_square_mgr_records_get_by_type_and_positions(
+ mp_square_mgr_t *square_mgr,
+ mp_square_type_t type,
+ GList *list_pos,
+ GList **list_record);
+bool mp_square_mgr_get_positon_by_type_and_path(
+ mp_square_mgr_t *square_mgr,
+ mp_square_type_t type,
+ const char *path,
+ mp_square_position_t *pos);
+int mp_square_mgr_create(struct appdata *ad);
+bool mp_square_mgr_destory(struct appdata *ad);
+int mp_square_mgr_update(struct appdata *ad);
+int mp_square_mgr_update_diff_only(struct appdata * ad);
+int mp_square_mgr_reset(struct appdata *ad);
+int mp_square_mgr_records_count_get(mp_square_mgr_t *square_mgr, int *count);
+void mp_square_mgr_selected_list_items_clear(mp_square_mgr_t *square_mgr);
+int mp_square_mgr_selected_list_items_get(mp_square_mgr_t *square_mgr, int *type, GList **item_list);
+
+/* for cell list view */
+int mp_square_mgr_list_items_count_get(mp_square_mgr_t *square_mgr);
+int mp_square_mgr_list_item_new(mp_media_list_h *list_handle, int count);
+int mp_square_mgr_list_item_free(mp_media_list_h list_handle);
+int mp_square_mgr_list_items_get(mp_square_mgr_t *square_mgr, int count, mp_media_list_h list_handle);
+int mp_square_mgr_list_item_get(mp_media_list_h list_handle, int index, mp_media_info_h *item);
+int mp_square_mgr_list_item_val_get(mp_media_info_h item_handle, int index, mp_square_list_item_type_t first_field_name, ...);
+bool mp_square_mgr_square_item_update_position_by_type(mp_square_mgr_t *square_mgr, mp_square_item_t *item, mp_square_type_t type);
+
+#endif /* __MP_SQUARE_MGR_H_ */
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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_STREAMING_MGR_H__
+#define __MP_STREAMING_MGR_H__
+
+#include <player.h>
+
+bool mp_streaming_mgr_check_streaming(struct appdata *ad, const char *path);
+bool mp_streaming_mgr_set_attribute(struct appdata *ad, player_h player);
+bool mp_streaming_mgr_play_new_streaming(struct appdata *ad);
+
+#endif /* __MP_STREAMING_MGR_H__ */
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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) 2000-2015 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_VOICE_CONTROL_MANAGER_H__
+#define __MP_VOICE_CONTROL_MANAGER_H__
+
+#include <stdbool.h>
+
+typedef enum {
+ MP_VOICE_CTRL_ACTION_NONE,
+ MP_VOICE_CTRL_ACTION_NEXT,
+ MP_VOICE_CTRL_ACTION_PREVIOUS,
+ MP_VOICE_CTRL_ACTION_PAUSE,
+ MP_VOICE_CTRL_ACTION_PLAY,
+ MP_VOICE_CTRL_ACTION_VOLUME_UP,
+ MP_VOICE_CTRL_ACTION_VOLUME_DOWN,
+} mp_voice_ctrl_action_e;
+
+typedef void (*Mp_Voice_Ctrl_Action_Cb)(mp_voice_ctrl_action_e action, void *user_data);
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void mp_voice_ctrl_mgr_set_action_callback(Mp_Voice_Ctrl_Action_Cb action_cb, void *user_data);
+bool mp_voice_ctrl_mgr_start_listening();
+void mp_voice_ctrl_mgr_stop_listening();
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /*__MP_VOICE_CONTROL_MANAGER_H__ */
+
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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
+
+#if 0
+void mp_volume_init(Ecore_X_Window xwin, Elm_Win *Win);
+#else
+void mp_volume_init(void *xwin, Elm_Win *Win);
+#endif
+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) 2000-2015 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_WATCH_DOG_H__
+#define __MP_WATCH_DOG_H__
+
+void mp_watch_dog_init(void);
+void mp_watch_dog_finalize(void);
+void mp_watch_dog_reset(void);
+
+#endif
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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.
+*
+*/
+
+
+#pragma once
+
+
+#include <stdbool.h>
+#include <glib.h>
+
+
+typedef void *mp_wifidirect_mgr_h;
+
+typedef enum {
+ MP_WIFI_DIRECT_DEVICE_TV = 0x00,
+ MP_WIFI_DIRECT_DEVICE_BD,
+ MP_WIFI_DIRECT_DEVICE_LFD,
+ MP_WIFI_DIRECT_DEVICE_STB,
+ MP_WIFI_DIRECT_DEVICE_MOBILE,
+ MP_WIFI_DIRECT_DEVICE_TABLET,
+ MP_WIFI_DIRECT_DEVICE_DONGLE,
+ MP_WIFI_DIRECT_DEVICE_CAMERA,
+ MP_WIFI_DIRECT_DEVICE_CAMCORDER,
+ MP_WIFI_DIRECT_DEVICE_REF,
+ MP_WIFI_DIRECT_DEVICE_AC_WALL,
+ MP_WIFI_DIRECT_DEVICE_WM,
+ MP_WIFI_DIRECT_DEVICE_ROBOT_TV,
+ MP_WIFI_DIRECT_DEVICE_PC,
+ MP_WIFI_DIRECT_DEVICE_DMR,
+ MP_WIFI_DIRECT_DEVICE_HOME_THEATER,
+ MP_WIFI_DIRECT_DEVICE_UNKNOWN,
+}mp_wifidirect_mgr_device_type_t;
+
+
+typedef enum{
+ MP_WIFI_DIRECT_DISCOVERY_STATE_NONE = 0x00,
+ MP_WIFI_DIRECT_DISCOVERY_STATE_STARTED,
+ MP_WIFI_DIRECT_DISCOVERY_STATE_FOUND,
+ MP_WIFI_DIRECT_DISCOVERY_STATE_FINISHED,
+}mp_wifidirect_mgr_discovery_status_t;
+
+typedef enum{
+ MP_WIFI_DIRECT_DISCOVERY_STATE_ACTIVE = 0x00,
+ MP_WIFI_DIRECT_DISCOVERY_STATE_DEACTIVE,
+}mp_wifidirect_mgr_active_status_t;
+
+
+
+typedef void (*mp_wifi_discovery_cb)(mp_wifidirect_mgr_device_type_t nDeviceType, char *szDeviceName, void *pDeviceInfo, bool bIsConnect, void *pUserData);
+typedef void (*mp_wifi_state_change_cb)(mp_wifidirect_mgr_active_status_t nStatus, void *pUserData);
+
+
+
+bool mp_wifidirect_mgr_app_control_init();
+bool mp_wifidirect_mgr_app_control_deinit();
+
+mp_wifidirect_mgr_h mp_wifidirect_mgr_create(mp_wifi_discovery_cb pDiscoveryCb, mp_wifi_state_change_cb pActiveCb);
+void mp_wifidirect_mgr_destroy(mp_wifidirect_mgr_h pWifiDirectHandle);
+bool mp_wifidirect_mgr_set_user_data(mp_wifidirect_mgr_h pWifiDirectHandle, void *pUserData);
+bool mp_wifidirect_mgr_realize(mp_wifidirect_mgr_h pWifiDirectHandle);
+bool mp_wifidirect_mgr_unrealize(mp_wifidirect_mgr_h pWifiDirectHandle);
+bool mp_wifidirect_mgr_init_miracast(bool enable);
+bool mp_wifidirect_mgr_start_scan(mp_wifidirect_mgr_h pWifiDirectHandle);
+bool mp_wifidirect_mgr_stop_scan(mp_wifidirect_mgr_h pWifiDirectHandle);
+bool mp_wifidirect_mgr_connected_device_scan(mp_wifidirect_mgr_h pWifiDirectHandle);
+bool mp_wifidirect_mgr_activate(mp_wifidirect_mgr_h pWifiDirectHandle);
+bool mp_wifidirect_mgr_connect(mp_wifidirect_mgr_h pWifiDirectHandle, char *szMacAddr);
+bool mp_wifidirect_mgr_disconnect(mp_wifidirect_mgr_h pWifiDirectHandle);
+bool mp_wifidirect_mgr_launch_allshare_cast(Evas_Object *pWin, const char *szMacAddr, void *pUserData);
+bool mp_wifidirect_mgr_deactivate(mp_wifidirect_mgr_h pWifiDirectHandle);
+
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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-avrcp.h"
+#include "mp-player-debug.h"
+#include <bluetooth.h>
+#include "mp-define.h"
+#include "mp-player-mgr.h"
+
+#ifdef MP_FEATURE_AVRCP_13
+
+typedef struct {
+ mp_avrcp_connection_state_changed_cb connection_cb;
+ mp_avrcp_shuffle_changed_cb s_cb;
+ mp_avrcp_repeat_changed_cb r_cb;
+ mp_avrcp_eq_changed_cb e_cb;
+ void *user_data;
+} MpAvrcpCb_t;
+
+static bool gMpAvrcpInitialized;
+static MpAvrcpCb_t *gMpAvrcpCb;
+
+static void _mp_avrcp_equalizer_state_changed_cb (bt_avrcp_equalizer_state_e equalizer, void *user_data)
+{
+ eventfunc;
+ MP_CHECK(gMpAvrcpCb);
+ mp_avrcp_eq_state_e mode ;
+ if (equalizer == BT_AVRCP_EQUALIZER_STATE_OFF) {
+ mode = MP_AVRCP_EQ_OFF;
+ } else {
+ mode = MP_AVRCP_EQ_ON;
+ }
+ if (gMpAvrcpCb->e_cb)
+ gMpAvrcpCb->e_cb(mode, gMpAvrcpCb->user_data);
+}
+
+static void _mp_avrcp_shuffle_mode_changed_cb (bt_avrcp_shuffle_mode_e shuffle, void *user_data)
+{
+ eventfunc;
+ MP_CHECK(gMpAvrcpCb);
+ mp_avrcp_shuffle_mode_e mode ;
+ if (shuffle == BT_AVRCP_SHUFFLE_MODE_OFF) {
+ mode = MP_AVRCP_SHUFFLE_OFF;
+ } else {
+ mode = MP_AVRCP_SHUFFLE_ON;
+ }
+
+ if (gMpAvrcpCb->s_cb)
+ gMpAvrcpCb->s_cb(mode, gMpAvrcpCb->user_data);
+}
+
+static void _mp_avrcp_repeat_mode_changed_cb (bt_avrcp_repeat_mode_e repeat, void *user_data)
+{
+ eventfunc;
+ MP_CHECK(gMpAvrcpCb);
+ mp_avrcp_repeat_mode_e mode ;
+ if (repeat == BT_AVRCP_REPEAT_MODE_OFF) {
+ mode = MP_AVRCP_REPEAT_OFF;
+ } else if (repeat == BT_AVRCP_REPEAT_MODE_SINGLE_TRACK) {
+ mode = MP_AVRCP_REPEAT_ONE;
+ } else {
+ mode = MP_AVRCP_REPEAT_ALL;
+ }
+
+ if (gMpAvrcpCb->r_cb)
+ gMpAvrcpCb->r_cb(mode, gMpAvrcpCb->user_data);
+}
+
+void _mp_avrcp_connection_state_changed_cb(bool connected, const char *remote_address, void *user_data)
+{
+ eventfunc;
+ MP_CHECK(gMpAvrcpCb);
+ if (gMpAvrcpCb->connection_cb)
+ gMpAvrcpCb->connection_cb(connected, remote_address, gMpAvrcpCb->user_data);
+}
+
+MpAvrcpErr_e mp_avrcp_target_initialize(void)
+{
+ startfunc;
+ int res = BT_ERROR_NONE;
+
+ if (gMpAvrcpInitialized)
+ return 0;
+
+ res = bt_initialize();
+ mp_retv_if (res == BT_ERROR_PERMISSION_DENIED, MP_AVRCP_ERROR_PERMISSION_DENIED);
+ MP_CHECK_VAL(res == BT_ERROR_NONE, res);
+
+ res = bt_avrcp_target_initialize(_mp_avrcp_connection_state_changed_cb, NULL);
+ mp_retv_if (res == BT_ERROR_PERMISSION_DENIED, MP_AVRCP_ERROR_PERMISSION_DENIED);
+ MP_CHECK_VAL(res == BT_ERROR_NONE, res);
+
+ res = bt_avrcp_set_equalizer_state_changed_cb(_mp_avrcp_equalizer_state_changed_cb, NULL);
+ mp_retv_if (res == BT_ERROR_PERMISSION_DENIED, MP_AVRCP_ERROR_PERMISSION_DENIED);
+ res = bt_avrcp_set_shuffle_mode_changed_cb(_mp_avrcp_shuffle_mode_changed_cb, NULL);
+ mp_retv_if (res == BT_ERROR_PERMISSION_DENIED, MP_AVRCP_ERROR_PERMISSION_DENIED);
+ res = bt_avrcp_set_repeat_mode_changed_cb(_mp_avrcp_repeat_mode_changed_cb, NULL);
+ mp_retv_if (res == BT_ERROR_PERMISSION_DENIED, MP_AVRCP_ERROR_PERMISSION_DENIED);
+
+ gMpAvrcpInitialized = true;
+
+ return res;
+}
+
+int mp_avrcp_target_finalize(void)
+{
+ startfunc;
+ int res = BT_ERROR_NONE;
+
+ if (!gMpAvrcpInitialized)
+ return -1;
+
+ res = bt_avrcp_target_deinitialize();
+ MP_CHECK_VAL(res == BT_ERROR_NONE, res);
+
+ res = bt_deinitialize();
+ MP_CHECK_VAL(res == BT_ERROR_NONE, res);
+
+ bt_avrcp_unset_shuffle_mode_changed_cb();
+ bt_avrcp_unset_equalizer_state_changed_cb();
+ bt_avrcp_unset_repeat_mode_changed_cb();
+
+ gMpAvrcpInitialized = false;
+
+ IF_FREE(gMpAvrcpCb);
+ return res;
+}
+
+MpAvrcpErr_e mp_avrcp_set_mode_change_cb(mp_avrcp_connection_state_changed_cb connection_cb, mp_avrcp_shuffle_changed_cb s_cb,
+ mp_avrcp_repeat_changed_cb r_cb, mp_avrcp_eq_changed_cb e_cb, void *user_data)
+{
+ startfunc;
+ gMpAvrcpCb = calloc(1, sizeof(MpAvrcpCb_t));
+ MP_CHECK_VAL(gMpAvrcpCb, MP_AVRCP_ERROR);
+ gMpAvrcpCb->connection_cb = connection_cb;
+ gMpAvrcpCb->s_cb = s_cb;
+ gMpAvrcpCb->r_cb = r_cb;
+ gMpAvrcpCb->e_cb = e_cb;
+ gMpAvrcpCb->user_data = user_data;
+ return 0;
+}
+
+MpAvrcpErr_e mp_avrcp_noti_player_state(mp_avrcp_player_state_e state)
+{
+ mp_avrcp_target_initialize();
+ MP_CHECK_VAL(gMpAvrcpInitialized, MP_AVRCP_ERROR);
+
+ bt_avrcp_player_state_e player_state = BT_AVRCP_PLAYER_STATE_STOPPED;
+ switch (state) {
+ case MP_AVRCP_STATE_STOPPED:
+ player_state = BT_AVRCP_PLAYER_STATE_STOPPED;
+ break;
+ case MP_AVRCP_STATE_PLAYING:
+ player_state = BT_AVRCP_PLAYER_STATE_PLAYING;
+ break;
+ case MP_AVRCP_STATE_PAUSED:
+ player_state = BT_AVRCP_PLAYER_STATE_PAUSED;
+ break;
+ case MP_AVRCP_STATE_REW:
+ player_state = BT_AVRCP_PLAYER_STATE_REWIND_SEEK;
+ break;
+ case MP_AVRCP_STATE_FF:
+ player_state = BT_AVRCP_PLAYER_STATE_FORWARD_SEEK;
+ break;
+ default:
+ break;
+ }
+ mp_avrcp_noti_track_position(mp_player_mgr_get_position());
+
+ int res = bt_avrcp_target_notify_player_state(player_state);
+ mp_retv_if (res == BT_ERROR_PERMISSION_DENIED, MP_AVRCP_ERROR_PERMISSION_DENIED);
+
+ return res;
+}
+MpAvrcpErr_e mp_avrcp_noti_eq_state(mp_avrcp_eq_state_e eq)
+{
+ mp_avrcp_target_initialize();
+ MP_CHECK_VAL(gMpAvrcpInitialized, MP_AVRCP_ERROR);
+ bt_avrcp_equalizer_state_e state = BT_AVRCP_EQUALIZER_STATE_OFF;
+ if (eq == MP_AVRCP_EQ_ON)
+ state = BT_AVRCP_EQUALIZER_STATE_ON;
+
+ int res = bt_avrcp_target_notify_equalizer_state(state);
+ mp_retv_if (res == BT_ERROR_PERMISSION_DENIED, MP_AVRCP_ERROR_PERMISSION_DENIED);
+ return res;
+}
+
+MpAvrcpErr_e mp_avrcp_noti_repeat_mode(mp_avrcp_repeat_mode_e repeat)
+{
+ mp_avrcp_target_initialize();
+ MP_CHECK_VAL(gMpAvrcpInitialized, MP_AVRCP_ERROR);
+ bt_avrcp_repeat_mode_e state = BT_AVRCP_REPEAT_MODE_OFF;
+ switch (repeat) {
+ case MP_AVRCP_REPEAT_OFF:
+ state = BT_AVRCP_REPEAT_MODE_OFF;
+ break;
+ case MP_AVRCP_REPEAT_ONE:
+ state = BT_AVRCP_REPEAT_MODE_SINGLE_TRACK;
+ break;
+ case MP_AVRCP_REPEAT_ALL:
+ state = BT_AVRCP_REPEAT_MODE_ALL_TRACK;
+ break;
+ default:
+ break;
+ }
+ int res = bt_avrcp_target_notify_repeat_mode(state);
+ mp_retv_if (res == BT_ERROR_PERMISSION_DENIED, MP_AVRCP_ERROR_PERMISSION_DENIED);
+ return res;
+}
+
+MpAvrcpErr_e mp_avrcp_noti_shuffle_mode(mp_avrcp_shuffle_mode_e shuffle)
+{
+ mp_avrcp_target_initialize();
+ MP_CHECK_VAL(gMpAvrcpInitialized, MP_AVRCP_ERROR);
+ bt_avrcp_shuffle_mode_e state = BT_AVRCP_SHUFFLE_MODE_OFF;
+ switch (shuffle) {
+ case MP_AVRCP_SHUFFLE_OFF:
+ state = BT_AVRCP_SHUFFLE_MODE_OFF;
+ break;
+ case MP_AVRCP_SHUFFLE_ON:
+ state = BT_AVRCP_SHUFFLE_MODE_ALL_TRACK;
+ break;
+ default:
+ break;
+ }
+
+ int res = bt_avrcp_target_notify_shuffle_mode(state);
+ mp_retv_if (res == BT_ERROR_PERMISSION_DENIED, MP_AVRCP_ERROR_PERMISSION_DENIED);
+ return res;
+
+}
+
+MpAvrcpErr_e mp_avrcp_noti_track_position(unsigned int position)
+{
+ mp_avrcp_target_initialize();
+ MP_CHECK_VAL(gMpAvrcpInitialized, MP_AVRCP_ERROR);
+ int res = bt_avrcp_target_notify_position(position);
+ mp_retv_if (res == BT_ERROR_PERMISSION_DENIED, MP_AVRCP_ERROR_PERMISSION_DENIED);
+ return res;
+}
+
+MpAvrcpErr_e mp_avrcp_noti_track(const char *title, const char *artist, const char *album, const char *genre, unsigned int duration)
+{
+ mp_avrcp_target_initialize();
+ MP_CHECK_VAL(gMpAvrcpInitialized, MP_AVRCP_ERROR);
+ int res = bt_avrcp_target_notify_track(title, artist, album, genre, 0, 0, duration);
+ mp_retv_if(res == BT_ERROR_PERMISSION_DENIED, MP_AVRCP_ERROR_PERMISSION_DENIED);
+ return res;
+}
+
+#endif
+
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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.
+*
+*/
+
+#ifdef MP_FEATURE_ALBUM_COVER_BG
+
+#include "mp-collect-color-sort.h"
+
+static void _mp_collect_color_swap(CollectColorNode_t *node_1, CollectColorNode_t *node_2)
+{
+ int temp;
+
+ temp = node_1->key;
+ node_1->key = node_2->key;
+ node_2->key = temp;
+
+ temp = node_1->value;
+ node_1->value = node_2->value;
+ node_2->value = temp;
+}
+
+static bool _mp_collect_color_sift_down(GList *node_list, int start, int end)
+{
+ MP_CHECK_FALSE(node_list);
+
+ int root = start;
+ int child;
+ int swap;
+
+ while (root * 2 + 1 <= end) {
+ child = root * 2 + 1;
+ swap = root;
+ CollectColorNode_t *node_1 = g_list_nth_data(node_list, swap);
+ CollectColorNode_t *node_2 = g_list_nth_data(node_list, child);
+ if (node_1->value > node_2->value) {
+ swap = child;
+ }
+ CollectColorNode_t *node_3 = g_list_nth_data(node_list, swap);
+ CollectColorNode_t *node_4 = g_list_nth_data(node_list, child+1);
+ if (child+1 <= end && node_3->value > node_4->value) {
+ swap = child + 1;
+ }
+ if (swap != root) {
+ CollectColorNode_t *node_5 = g_list_nth_data(node_list, swap);
+ CollectColorNode_t *node_6 = g_list_nth_data(node_list, root);
+ _mp_collect_color_swap(node_5, node_6);
+
+ root = swap;
+ } else
+ return true;
+ }
+ return false;
+}
+
+void mp_collect_color_sort(GList *node_list)
+{
+ startfunc;
+
+ MP_CHECK(node_list);
+
+ int length = g_list_length(node_list);
+ int end = length - 1;
+ while (end > 0) {
+ _mp_collect_color_swap((CollectColorNode_t *)(g_list_nth_data(node_list, 0)), (CollectColorNode_t *)(g_list_nth_data(node_list, end)));
+ end--;
+ _mp_collect_color_sift_down(node_list, 0, end);
+ }
+}
+
+void mp_collect_color_make_tree(GList *node_list)
+{
+ startfunc;
+
+ MP_CHECK(node_list);
+
+ int length = g_list_length(node_list);
+ int start = (length - 2) / 2;
+ while (start >= 0) {
+ _mp_collect_color_sift_down(node_list, start, length - 1);
+ start--;
+ }
+}
+
+void mp_collect_color_check_tree(GList *node_list)
+{
+ MP_CHECK(node_list);
+
+ _mp_collect_color_sift_down(node_list, 0, g_list_length(node_list)-1);
+}
+
+#endif
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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.
+*
+*/
+
+#ifdef MP_FEATURE_ALBUM_COVER_BG
+
+#include "mp-collect-color-sort.h"
+#ifdef MP_COLLECT_COLOR_TIME_DEBUG
+#include <time.h>
+#endif
+
+#define MP_COLOR_MASK (0xFFE0E0E0)
+#define MP_TARGET_SIZE (60)
+typedef struct {
+ const char *path;
+ int result_count;
+ int find_result_index;
+ int width;
+ int height;
+ unsigned char *img_target;
+ GHashTable *hash_table;
+ GList *node_list;
+
+} CollectColor_t;
+
+typedef unsigned char uchar;
+typedef struct _rgb888 {
+ uchar r;
+ uchar g;
+ uchar b;
+} rgb888;
+typedef struct _rgba8888 {
+ uchar r;
+ uchar g;
+ uchar b;
+ uchar a;
+} rgba8888;
+static const int RGBA_BPP = 4;
+static const int RGB_BPP = 3;
+
+int *mp_collect_color_get_RGB(int *color, int length)
+{
+ int* result = (int *)calloc(length*3, sizeof(int));
+ mp_assert(result);
+
+ int index = 0;
+ int i = 0;
+ for (; i < length; i++) {
+ result[index++] = (color[i] & 0x00FF0000) >> 16;
+ result[index++] = (color[i] & 0x0000FF00) >> 8;
+ result[index++] = color[i] & 0x000000FF;
+ }
+ return result;
+}
+
+static int _mp_collect_color_get_int(int r, int g, int b)
+{
+ int result = (0xFF000000) | (r << 16) | (g << 8) | b;
+ return result;
+}
+
+
+static int _mp_collect_color_get_sim_average(int color)
+{
+ startfunc;
+
+ int multi = 8;
+ int r = (color & 0x00FF0000) >> 16;
+ int g = (color & 0x0000FF00) >> 8;
+ int b = color & 0x000000FF;
+ int average = (r + g + b) / 3 / 2 / multi;
+
+ if (rand() % 2 == true)
+ r = r + (rand() % average) * multi;
+ else
+ r = r - (rand() % average) * multi;
+ if (r > 255)
+ r = 255;
+ else if (r < 0)
+ r = 0;
+
+ if (rand() % 2 == true)
+ g = g + (rand() % average) * multi;
+ else
+ g = g - (rand() % average) * multi;
+ if (g > 255)
+ g = 255;
+ else if (g < 0)
+ g = 0;
+
+ if (rand() % 2 == true)
+ b = b + (rand() % average) * multi;
+ else
+ b = b - (rand() % average) * multi;
+ if (b > 255)
+ b = 255;
+ else if (b < 0)
+ b = 0;
+ int result = _mp_collect_color_get_int(r, g, b);
+ return result;
+}
+
+
+static int *_mp_collect_color_get_result(CollectColor_t *collect_color)
+{
+ startfunc;
+
+ MP_CHECK_NULL(collect_color);
+ GList *node_list = collect_color->node_list;
+ MP_CHECK_NULL(node_list);
+
+ int* result = (int *)calloc(collect_color->result_count, sizeof(int));
+ mp_assert(result);
+
+ DEBUG_TRACE("result_count %d, find_result_index %d", collect_color->result_count, collect_color->find_result_index);
+ int i = 0;
+ for (; i < collect_color->result_count; i++) {
+ if (collect_color->find_result_index <= i) {
+ result[i] = _mp_collect_color_get_sim_average(result[0]);
+ continue;
+ }
+ CollectColorNode_t *node = g_list_nth_data(node_list, i);
+ result[i] = node->key;
+ DEBUG_TRACE("key=0x%x, val=%d", node->key, node->value);
+}
+ return result;
+}
+
+static bool _mp_collect_color_insert(int key, int value, GList *node_list)
+{
+ CollectColorNode_t *node = g_list_nth_data(node_list, 0);
+ if (node->value < value) {
+ node->key = key;
+ node->value = value;
+ mp_collect_color_check_tree(node_list);
+ return true;
+ }
+ return false;
+}
+
+static GList *_mp_collect_color_copy_to_array(CollectColor_t *collect_color)
+{
+ startfunc;
+
+ MP_CHECK_NULL(collect_color);
+
+ GList *node_list = NULL;
+ int nodes_index = 0;
+ int temp_key;
+ int temp_val;
+ bool nodesIsFull = false;
+ GHashTableIter iter;
+ gpointer key, value;
+
+ g_hash_table_iter_init (&iter, collect_color->hash_table);
+ while (g_hash_table_iter_next (&iter, &key, &value)) {
+ temp_key = *((int *)key);
+ temp_val = *((int *)value);
+ if (nodesIsFull) {
+ _mp_collect_color_insert(temp_key, temp_val, node_list);
+ } else {
+ CollectColorNode_t *node = (CollectColorNode_t *)calloc(1, sizeof(CollectColorNode_t));
+ mp_assert(node);
+ node->key = temp_key;
+ node->value = temp_val;
+ node_list = g_list_append(node_list, node);
+ nodes_index++;
+ if (nodes_index == collect_color->result_count) {
+ nodesIsFull = true;
+ mp_collect_color_make_tree(node_list);
+ }
+ }
+ }
+
+ collect_color->find_result_index = nodes_index;
+ mp_collect_color_make_tree(node_list);
+ return node_list;
+}
+static void _mp_collect_color_add_hash(GHashTable *hash_table, int pixel)
+{
+ MP_CHECK(hash_table);
+
+ pixel &= MP_COLOR_MASK;
+
+ int *ret = (int *)g_hash_table_lookup(hash_table, &pixel);
+ gint *key = g_new(gint, 1);
+ *key = pixel;
+ gint *value = g_new(gint, 1);
+ if (ret) {
+ *value = *ret+1;
+ g_hash_table_replace(hash_table, key, value);
+ } else {
+ *value = 1;
+ g_hash_table_insert(hash_table, key, value);
+ }
+}
+
+static void _mp_collect_color_run_detail(CollectColor_t *collect_color)
+{
+ startfunc;
+
+ MP_CHECK(collect_color);
+
+ int key = 0;
+ int i = 0;
+ int j = 0;
+ int src_idx = 0;
+ unsigned char *src = (unsigned char *)collect_color->img_target;
+ for (i = 0; i < collect_color->height; i++) {
+ for (j = 0; j < collect_color->width; j++) {
+ src_idx = (i * collect_color->width+j) * 3;
+ key = _mp_collect_color_get_int(*(src+src_idx), *(src+src_idx+1), *(src+src_idx+2));
+ _mp_collect_color_add_hash(collect_color->hash_table, key);
+ }
+ }
+}
+static int _mp_collect_color_image_util_resize(unsigned char *dest, int *dest_width , int *dest_height, const unsigned char *src, int src_width, int src_height, const image_util_colorspace_e colorspace)
+{
+ if (!dest || !dest_width || !dest_height || !src)
+ return IMAGE_UTIL_ERROR_INVALID_PARAMETER;
+ int src_w = src_width;
+ int src_h = src_height;
+ int dest_w = *dest_width;
+ int dest_h = *dest_height;
+ if ((IMAGE_UTIL_COLORSPACE_RGB888 != colorspace && IMAGE_UTIL_COLORSPACE_RGBA8888 != colorspace) || src_w <= 0 || src_h <= 0 || dest_w <= 0 || dest_h <= 0) 775
+ return IMAGE_UTIL_ERROR_INVALID_PARAMETER;
+ const unsigned int bpp = (IMAGE_UTIL_COLORSPACE_RGBA8888 == colorspace ? RGBA_BPP : RGB_BPP);
+ unsigned int src_stride = bpp * src_w;
+ unsigned int dest_stride = bpp * dest_w;
+ int h = 0, w = 0;
+ float t, u, coef;
+ t = u = coef = 0.0;
+ float c1, c2, c3, c4;
+ c1 = c2 = c3 = c4 = 0.0;
+ u_int32_t red, green, blue, alpha;
+ red = green = blue = alpha = 0;
+ int i = 0, j = 0;
+ for (j = 0; j < dest_h; j++) {
+ coef = (float) (j) / (float) (dest_h - 1) * (src_h - 1);
+ h = (int) floor(coef);
+ if (h < 0) {
+ h = 0;
+ } else {
+ if (h >= src_h - 1) {
+ h = src_h - 2;
+ }
+ }
+ u = coef - h;
+ for (i = 0; i < dest_w; i++) {
+ coef = (float) (i) / (float) (dest_w - 1) * (src_w - 1);
+ w = (int) floor(coef);
+ if (w < 0) {
+ w = 0;
+ } else {
+ if (w >= src_w - 1) {
+ w = src_w - 2;
+ }
+ }
+ t = coef - w;
+ c1 = (1 - t) * (1 - u);
+ c2 = t * (1 - u);
+ c3 = t * u;
+ c4 = (1 - t) * u;
+ if (IMAGE_UTIL_COLORSPACE_RGBA8888 == colorspace) {
+ rgba8888 pixel1 = *((rgba8888 *) (src + h * src_stride + bpp * w));
+ rgba8888 pixel2 = *((rgba8888 *) (src + h * src_stride + bpp * (w + 1)));
+ rgba8888 pixel3 = *((rgba8888 *) (src + (h + 1) * src_stride + bpp * (w + 1)));
+ rgba8888 pixel4 = *((rgba8888 *) (src + (h + 1) * src_stride + bpp * w));
+ red = pixel1.r * c1 + pixel2.r * c2 + pixel3.r * c3 + pixel4.r * c4;
+ green = pixel1.g * c1 + pixel2.g * c2 + pixel3.g * c3 + pixel4.g * c4;
+ blue = pixel1.b * c1 + pixel2.b * c2 + pixel3.b * c3 + pixel4.b * c4;
+ alpha = pixel1.a * c1 + pixel2.a * c2 + pixel3.a * c3 + pixel4.a * c4;
+ rgba8888 *pixel_res = (rgba8888 *)(dest + bpp * i + j * dest_stride);
+ pixel_res->r = red;
+ pixel_res->g = green;
+ pixel_res->b = blue;
+ pixel_res->a = alpha;
+ } else /* (IMAGE_UTIL_COLORSPACE_RGB888 == colorspace) 853 */{
+ rgb888 pixel1 = *((rgb888 *) (src + h * src_stride + bpp * w));
+ rgb888 pixel2 = *((rgb888 *) (src + h * src_stride + bpp * (w + 1)));
+ rgb888 pixel3 = *((rgb888 *) (src + (h + 1) * src_stride + bpp * (w + 1)));
+ rgb888 pixel4 = *((rgb888 *) (src + (h + 1) * src_stride + bpp * w));
+ red = pixel1.r * c1 + pixel2.r * c2 + pixel3.r * c3 + pixel4.r * c4;
+ green = pixel1.g * c1 + pixel2.g * c2 + pixel3.g * c3 + pixel4.g * c4;
+ blue = pixel1.b * c1 + pixel2.b * c2 + pixel3.b * c3 + pixel4.b * c4;
+ rgb888 *pixel_res = (rgb888 *)(dest + bpp * i + j * dest_stride);
+ pixel_res->r = red;
+ pixel_res->g = green;
+ pixel_res->b = blue;
+ }
+ }
+ }
+ return IMAGE_UTIL_ERROR_NONE;
+}
+
+static void _mp_collect_color_decode_image(CollectColor_t *collect_color)
+{
+ startfunc;
+
+ MP_CHECK(collect_color);
+
+ int width = 0;
+ int height = 0;
+ int resized_width = MP_TARGET_SIZE;
+ int resized_height = MP_TARGET_SIZE;
+ unsigned int size_decode = 0;
+ unsigned char *img_source = 0;
+ const image_util_colorspace_e colorspace = IMAGE_UTIL_COLORSPACE_RGB888;
+
+ image_util_decode_jpeg(collect_color->path, colorspace, &img_source, &width, &height, &size_decode);
+ DEBUG_TRACE("image_util_decode_jpeg path %s, orig width %d, orig height %d", collect_color->path, width, height);
+
+ image_util_calculate_buffer_size(resized_width, resized_height, colorspace, &size_decode);
+ collect_color->img_target = malloc(size_decode);
+
+ int ret = _mp_collect_color_image_util_resize(collect_color->img_target, &resized_width, &resized_height,
+ img_source, width, height, colorspace);
+ DEBUG_TRACE("_mp_collect_color_image_util_resize ret %d", ret);
+ SAFE_FREE(img_source);
+ collect_color->width = resized_width;
+ collect_color->height = resized_height;
+ DEBUG_TRACE("resize width %d, resize height %d, size_decode %d", collect_color->width, collect_color->height, size_decode);
+}
+
+void _mp_collect_color_table_value_destory(gpointer data)
+{
+ SAFE_FREE(data);
+}
+
+void _mp_collect_color_table_key_destory(gpointer data)
+{
+ SAFE_FREE(data);
+}
+
+static GHashTable *_mp_collect_color_table_init()
+{
+ GHashTable *hash_table = NULL;
+
+ hash_table = g_hash_table_new_full(g_int_hash, g_int_equal, _mp_collect_color_table_key_destory, _mp_collect_color_table_value_destory);
+ return hash_table;
+}
+
+static CollectColor_t *_mp_collect_color_create()
+{
+ startfunc;
+
+ CollectColor_t *collect_color = (CollectColor_t *)calloc(1, sizeof(CollectColor_t));
+ mp_assert(collect_color);
+
+ collect_color->hash_table = _mp_collect_color_table_init();
+ MP_CHECK_NULL(collect_color->hash_table);
+ g_hash_table_remove_all(collect_color->hash_table);
+ srand(time(0));
+
+ return collect_color;
+}
+
+static void _mp_collect_color_list_free_cb(gpointer data)
+{
+ CollectColorNode_t *node = (CollectColorNode_t *)data;
+
+ SAFE_FREE(node);
+}
+
+static void _mp_collect_color_destroy(CollectColor_t *collect_color)
+{
+ startfunc;
+
+ MP_CHECK(collect_color);
+
+ if (collect_color->hash_table) {
+ g_hash_table_remove_all(collect_color->hash_table);
+ g_hash_table_destroy(collect_color->hash_table);
+ }
+ SAFE_FREE(collect_color->img_target);
+ if (collect_color->node_list) {
+ g_list_free_full(collect_color->node_list, _mp_collect_color_list_free_cb);
+ }
+ SAFE_FREE(collect_color);
+}
+
+#ifdef MP_COLLECT_COLOR_TIME_DEBUG
+static int _mp_collect_color_get_time()
+{
+ struct timeval t;
+ unsigned int tval = 0;
+ gettimeofday(&t, NULL);
+
+ tval = t.tv_usec;/* t.tv_sec * 1000000L + */
+ return tval;
+}
+#endif
+
+int *mp_collect_color_set_image(const char *path, int resultCount)
+{
+ startfunc;
+ if (resultCount < 1)
+ return NULL;
+#ifdef MP_COLLECT_COLOR_TIME_DEBUG
+ int time_1 = _mp_collect_color_get_time();
+#endif
+ CollectColor_t *collect_color = _mp_collect_color_create();
+ MP_CHECK_NULL(collect_color);
+
+ collect_color->find_result_index = 0;
+ collect_color->path = path;
+ collect_color->result_count = resultCount;
+
+ _mp_collect_color_decode_image(collect_color);
+#ifdef MP_COLLECT_COLOR_TIME_DEBUG
+ time_t time_2 = _mp_collect_color_get_time();
+ DEBUG_TRACE("time_2-time_1 %ld, time_2 %ld, time_1 %ld", time_2-time_1, time_2, time_1);
+#endif
+ _mp_collect_color_run_detail(collect_color);
+#ifdef MP_COLLECT_COLOR_TIME_DEBUG
+ time_t time_3 = _mp_collect_color_get_time();
+ DEBUG_TRACE("time_3-time_1 %ld", time_3-time_1);
+#endif
+ collect_color->node_list = _mp_collect_color_copy_to_array(collect_color);
+ mp_collect_color_sort(collect_color->node_list);
+
+ int *colors = _mp_collect_color_get_result(collect_color);
+ _mp_collect_color_destroy(collect_color);
+#ifdef MP_COLLECT_COLOR_TIME_DEBUG
+ time_t time_4 = _mp_collect_color_get_time();
+ DEBUG_TRACE("time_4-time_1 %ld", time_4-time_1);
+#endif
+ return colors;
+}
+
+#endif
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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_AUTHOR, &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) 2000-2015 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-floating-widget-mgr.h"
+
+#define FLOATING_WIDGET_MAX 3
+
+typedef struct _FwItemData {
+ int content_h;
+ int positon;
+ mp_floaing_widget_cb cb;
+ void *data;
+ bool visible;
+} MpFwItemData;
+
+struct MpFWMgr_t {
+ Evas_Object *genlist;
+ MpFwItemData Item[FLOATING_WIDGET_MAX];
+} MpFWMgr_t;
+
+
+static inline void __mp_floating_widget_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ MpFwMgr FwMgr = data;
+ int posret;
+ Elm_Object_Item *item = NULL;
+ int index, x, y, w;
+
+ evas_object_geometry_get(FwMgr->genlist, &x, &y, &w, NULL);
+
+ /* First widget */
+ item = elm_genlist_at_xy_item_get(FwMgr->genlist, x, y, &posret);
+ index = elm_genlist_item_index_get(item);
+
+ /* first widget */
+ if (FwMgr->Item[0].cb) {
+ if (index < FwMgr->Item[0].positon) {
+ /* need to hide floating obj; */
+ if (FwMgr->Item[0].visible) {
+ FwMgr->Item[0].cb(false, x, y, w, FwMgr->Item[0].content_h, FwMgr->Item[0].data);
+ FwMgr->Item[0].visible = false;
+ }
+ } else {
+ /* need to show floating obj; */
+ if (!FwMgr->Item[0].visible) {
+ FwMgr->Item[0].cb(true, x, y, w, FwMgr->Item[0].content_h, FwMgr->Item[0].data);
+ FwMgr->Item[0].visible = true;
+ }
+ }
+ }
+
+ /* Second widget */
+ if (FwMgr->Item[1].cb) {
+
+ /* height of second object; */
+ int rel_h = y+FwMgr->Item[0].content_h;
+
+ item = elm_genlist_at_xy_item_get(FwMgr->genlist, x, rel_h, &posret);
+ if (elm_genlist_item_index_get(item) < FwMgr->Item[1].positon) {
+ /* need to hide floating obj; */
+ if (FwMgr->Item[1].visible) {
+ FwMgr->Item[1].cb(false, x, rel_h, w, FwMgr->Item[1].content_h, FwMgr->Item[1].data);
+ FwMgr->Item[1].visible = false;
+ }
+ } else {
+ /* need to show floating obj; */
+ if (!FwMgr->Item[1].visible) {
+ FwMgr->Item[1].cb(true, x, rel_h, w, FwMgr->Item[1].content_h, FwMgr->Item[1].data);
+ FwMgr->Item[1].visible = true;
+ }
+ }
+ }
+
+ /* Third widget */
+ if (FwMgr->Item[2].cb) {
+ if (index < FwMgr->Item[2].positon) {
+ /* need to hide floating obj; */
+ if (FwMgr->Item[2].visible) {
+ FwMgr->Item[2].cb(false, x, y, w, FwMgr->Item[2].content_h, FwMgr->Item[2].data);
+ FwMgr->Item[2].visible = false;
+ }
+ } else {
+ /* need to show floating obj; */
+ if (!FwMgr->Item[2].visible) {
+ FwMgr->Item[2].cb(true, x, y, w, FwMgr->Item[2].content_h, FwMgr->Item[2].data);
+ FwMgr->Item[2].visible = true;
+ }
+ }
+ }
+
+
+}
+
+MpFwMgr mp_floating_widget_mgr_create(Evas_Object *genlist)
+{
+ MP_CHECK_NULL(genlist);
+ MpFwMgr FwMgr = calloc(1, sizeof(MpFWMgr_t));
+ MP_CHECK_NULL(FwMgr);
+
+ DEBUG_TRACE("size: %d", sizeof(MpFWMgr_t));
+
+ FwMgr->genlist = genlist;
+ evas_object_smart_callback_add(genlist, "scroll", __mp_floating_widget_cb, FwMgr);
+ evas_object_smart_callback_add(genlist, "realized", __mp_floating_widget_cb, FwMgr);
+
+ return FwMgr;
+}
+
+void mp_floating_widget_mgr_destroy(MpFwMgr FwMgr)
+{
+ MP_CHECK(FwMgr);
+
+ int index = 0;
+ for (; index < FLOATING_WIDGET_MAX; index++)
+ mp_floating_widget_mgr_widget_deleted(FwMgr, index);
+
+ free(FwMgr);
+}
+/**
+* position - position in list
+* index - index between floating widgets
+**/
+void mp_floating_widget_callback_add(MpFwMgr FwMgr,
+ int content_h, int position, int index, mp_floaing_widget_cb cb , void *data)
+{
+ MP_CHECK(FwMgr);
+ if (index >= FLOATING_WIDGET_MAX) {
+ ERROR_TRACE("Only 2 items are supported");
+ return;
+ }
+
+ FwMgr->Item[index].positon = position;
+ FwMgr->Item[index].content_h = content_h;
+ FwMgr->Item[index].cb = cb;
+ FwMgr->Item[index].data = data;
+
+}
+
+void mp_floating_widget_mgr_widget_deleted(MpFwMgr FwMgr, int index)
+{
+ MP_CHECK(FwMgr);
+ if (index >= FLOATING_WIDGET_MAX) {
+ ERROR_TRACE("Only 2 items are supported");
+ return;
+ }
+
+ int x, y, w;
+ evas_object_geometry_get(FwMgr->genlist, &x, &y, &w, NULL);
+ /* DEBUG_TRACE("Genlist x[%d] y[%d]", x, y); */
+
+ if (FwMgr->Item[index].cb)
+ FwMgr->Item[index].cb(false, x, y, w, FwMgr->Item[index].content_h, FwMgr->Item[index].data);
+ FwMgr->Item[index].visible = false;
+}
+
+bool mp_floating_widget_mgr_visible_get(MpFwMgr FwMgr, int index)
+{
+ MP_CHECK_FALSE(FwMgr);
+ if (index >= FLOATING_WIDGET_MAX) {
+ ERROR_TRACE("Only 2 items are supported");
+ return false;
+ }
+ return FwMgr->Item[index].visible;
+}
+
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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-debug.h"
+#include "music.h"
+#include "mp-http-mgr.h"
+#include <runtime_info.h>
+#include <wifi.h>
+
+static MpHttpState_t _mp_http_mgr_get_network_status();
+static void _mp_http_mgr_refresh_network_info(mp_http_mgr_t *http_mgr);
+static bool _mp_http_mgr_register_runtime_info_change_cb(mp_http_mgr_t *http_mgr);
+static void _mp_http_mgr_ignore_runtime_info_change_cb();
+static void _mp_http_mgr_network_config_changed_cb(runtime_info_key_e key, void *user_data);
+static void _mp_wifi_network_config_changed_cb(wifi_connection_state_e state, wifi_ap_h ap, void *user_data);
+
+bool mp_http_mgr_create(void *data)
+{
+ struct appdata *ad = (struct appdata *)data;
+
+ MP_CHECK_FALSE(ad);
+ MP_CHECK_FALSE((!ad->http_mgr));
+
+ ad->http_mgr = calloc(1, sizeof(mp_http_mgr_t));
+ MP_CHECK_FALSE(ad->http_mgr);
+ ad->http_mgr->ad = ad;
+
+ if (!_mp_http_mgr_register_runtime_info_change_cb(ad->http_mgr))
+ goto mp_exception;
+
+ _mp_http_mgr_refresh_network_info(ad->http_mgr);
+
+ return true;
+
+mp_exception:
+ mp_http_mgr_destory(ad);
+ return false;
+}
+
+bool mp_http_mgr_destory(void *data)
+{
+ struct appdata *ad = (struct appdata *)data;
+
+ MP_CHECK_FALSE(ad);
+
+ if (!ad->http_mgr)
+ mp_http_mgr_create(ad);
+ MP_CHECK_FALSE(ad->http_mgr);
+
+ _mp_http_mgr_ignore_runtime_info_change_cb();
+
+ IF_FREE(ad->http_mgr);
+
+ return TRUE;
+}
+
+static MpHttpState_t _mp_http_mgr_get_network_status()
+{
+ startfunc;
+ MpHttpState_t state = MP_HTTP_STATE_OFF;
+ wifi_connection_state_e state_wifi;
+ int err = 0;
+ bool bwifi_on_off = true;
+ bool b3g_on_off = true;
+
+ err = wifi_get_connection_state(&state_wifi);
+ if (err != WIFI_ERROR_NONE) {
+ WARN_TRACE("wifi_is_activated error. err is [%d]", err);
+ bwifi_on_off = false;
+ }
+
+ if (state_wifi == WIFI_CONNECTION_STATE_FAILURE
+ || state_wifi == WIFI_CONNECTION_STATE_DISCONNECTED) {
+ WARN_TRACE("WIFI_CONNECTION_STATE DISABLED");
+ bwifi_on_off = false;
+ }
+
+ err = runtime_info_get_value_bool(RUNTIME_INFO_KEY_PACKET_DATA_ENABLED, &b3g_on_off);
+ if (err != RUNTIME_INFO_ERROR_NONE) {
+ WARN_TRACE("runtime_info_get_value_bool error. err is [%d]", err);
+ b3g_on_off = false;
+ }
+
+ DEBUG_TRACE("3g flag is %d", b3g_on_off);
+ DEBUG_TRACE("wifi flag is %d", bwifi_on_off);
+ /*decide status*/
+ if (bwifi_on_off == true)
+ state = MP_HTTP_STATE_WIFI;
+#if 0 /* 3g has issue when getting runtime_info despite SIM is not inserted, it also returns 1 */
+ else if (b3g_on_off == true)
+ state = MP_HTTP_STATE_CELLULAR;
+#endif
+ else
+ state = MP_HTTP_STATE_OFF;
+
+ mp_debug("network state is %d", state);
+ return state;
+}
+
+static bool _mp_http_mgr_register_runtime_info_change_cb(mp_http_mgr_t *http_mgr)
+{
+ startfunc;
+ MP_CHECK_FALSE(http_mgr);
+
+ if (runtime_info_set_changed_cb(RUNTIME_INFO_KEY_PACKET_DATA_ENABLED,
+ _mp_http_mgr_network_config_changed_cb, http_mgr) != 0) {
+ mp_error("runtime_info_set_changed_cb() fail");
+ return FALSE;
+ }
+
+ if (wifi_set_connection_state_changed_cb(_mp_wifi_network_config_changed_cb, http_mgr)) {
+ mp_error("wifi_set_connection_state_changed_cb() fail");
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+static void _mp_http_mgr_ignore_runtime_info_change_cb()
+{
+ startfunc;
+
+ if (runtime_info_unset_changed_cb(RUNTIME_INFO_KEY_PACKET_DATA_ENABLED) != 0) {
+ mp_error("runtime_info_unset_changed_cb(RUNTIME_INFO_KEY_PACKET_DATA_ENABLED) fail");
+ }
+
+ if (wifi_unset_connection_state_changed_cb() != 0) {
+ mp_error("wifi_unset_connection_state_changed_cb fail");
+ }
+}
+
+static void _mp_http_mgr_refresh_network_info(mp_http_mgr_t *http_mgr)
+{
+ startfunc;
+ MP_CHECK(http_mgr);
+
+ http_mgr->http_state = _mp_http_mgr_get_network_status();
+}
+
+static void _mp_http_mgr_network_config_changed_cb(runtime_info_key_e key, void *user_data)
+{
+ startfunc;
+ mp_http_mgr_t *http_mgr = (mp_http_mgr_t *)user_data;
+ MP_CHECK(http_mgr);
+
+ _mp_http_mgr_refresh_network_info(http_mgr);
+
+ /*post network changed event to each view*/
+ mp_view_mgr_post_event(mp_view_mgr_get_view_manager(), MP_NETWORK_STATE_CHANGED);
+}
+
+static void _mp_wifi_network_config_changed_cb(wifi_connection_state_e state, wifi_ap_h ap, void *user_data)
+{
+ startfunc;
+ mp_http_mgr_t *http_mgr = (mp_http_mgr_t *)user_data;
+ MP_CHECK(http_mgr);
+
+ _mp_http_mgr_refresh_network_info(http_mgr);
+
+ /*post network changed event to each view*/
+ mp_view_mgr_post_event(mp_view_mgr_get_view_manager(), MP_NETWORK_STATE_CHANGED);
+}
+
+MpHttpState_t
+mp_http_mgr_get_state(void *data)
+{
+ struct appdata *ad = (struct appdata *)data;
+
+ MP_CHECK_FALSE(ad);
+ if (!ad->http_mgr)
+ mp_http_mgr_create(ad);
+
+ mp_http_mgr_t *http_mgr = ad->http_mgr;
+
+ return http_mgr->http_state;
+}
+
+inline bool mp_http_mgr_is_connected(void *data)
+{
+ struct appdata *ad = data;
+ MP_CHECK_FALSE(ad);
+ if (!ad->http_mgr)
+ mp_http_mgr_create(ad);
+
+ MpHttpState_t state = mp_http_mgr_get_state(data);
+ return (state > MP_HTTP_STATE_OFF) ? true : false;
+}
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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.
+*
+*/
+
+#ifdef MP_ENABLE_INOTIFY
+/* #define MP_WATCH_FLAGS IN_CREATE | IN_DELETE | IN_CLOSE_WRITE | IN_MODIFY */
+#define MP_WATCH_FLAGS IN_CREATE | IN_DELETE | IN_DELETE_SELF | IN_CLOSE_WRITE | IN_MOVED_TO
+
+#define MP_EVENT_SIZE (sizeof (struct inotify_event))
+/** reasonable guess as to size of 1024 events */
+#define MP_EVENT_BUF_LEN (1024 * (MP_EVENT_SIZE + 16))
+#define INOTI_FOLDER_COUNT_MAX 1024
+
+typedef struct _mp_inotify_t {
+ int fd;
+ GList *wd_list;
+ unsigned int prev_event;
+ pthread_t monitor;
+ mp_inotify_cb callback;
+ void *u_data;
+} mp_inotify_t;
+
+static pthread_mutex_t mp_noti_lock;
+static mp_inotify_t *g_handle;
+
+static void
+_mp_app_inotify_handle_free(void)
+{
+ pthread_mutex_destroy(&mp_noti_lock);
+
+ if (g_handle) {
+ if (g_handle->fd >= 0) {
+ close(g_handle->fd);
+ g_handle->fd = -1;
+ }
+ g_free(g_handle);
+ g_handle = NULL;
+ }
+
+ return;
+}
+
+static mp_inotify_t *
+_mp_app_inotify_handle_init(void)
+{
+ _mp_app_inotify_handle_free();
+ g_handle = g_new0(mp_inotify_t, 1);
+
+ if (g_handle) {
+ g_handle->fd = -1;
+ pthread_mutex_init(&mp_noti_lock, NULL);
+ }
+
+ return g_handle;
+}
+
+static void
+_mp_app_inotify_thread_clean_up(void *data)
+{
+ pthread_mutex_t *lock = (pthread_mutex_t *) data;
+ DEBUG_TRACE("Thread cancel Clean_up function");
+ if (lock) {
+ pthread_mutex_unlock(lock);
+ }
+ return;
+}
+
+
+static gpointer
+_mp_app_inotify_watch_thread(gpointer user_data)
+{
+ mp_inotify_t *handle = (mp_inotify_t *) user_data;
+ int oldtype = 0;
+
+ mp_retvm_if (handle == NULL, NULL, "handle is NULL");
+ DEBUG_TRACE("Create _mp_app_inotify_watch_thread!!! ");
+
+ pthread_setcanceltype(PTHREAD_CANCEL_DEFERRED, &oldtype);
+
+ while (1) {
+ ssize_t len = 0;
+ ssize_t i = 0;
+ char event_buff[MP_EVENT_BUF_LEN] = { 0, };
+
+ if (handle->fd < 0) {
+ ERROR_TRACE("fd is not a vaild one");
+ pthread_exit(NULL);
+ }
+
+ len = read(handle->fd, event_buff, sizeof(event_buff) - 1);
+ if (len <= 0 || len > sizeof(event_buff) - 1) {
+
+ }
+
+ while (i < len) {
+ struct inotify_event *pevent = (struct inotify_event *)&event_buff[i];
+ mp_inotify_event s_event = MP_INOTI_NONE;
+
+ if (pevent->len && strncmp(pevent->name, ".", 1) == 0) {
+ s_event = MP_INOTI_NONE;
+ } else if (pevent->mask & IN_ISDIR) /* directory */{
+ /*
+ if (pevent->mask & IN_DELETE_SELF)
+ s_event = MP_INOTI_DELETE_SELF;
+
+ if (pevent->mask & IN_MOVE_SELF)
+ s_event = MP_INOTI_MOVE_SELF;
+
+ if (pevent->mask & IN_CREATE)
+ s_event = MP_INOTI_CREATE;
+
+ if (pevent->mask & IN_DELETE)
+ s_event = MP_INOTI_DELETE;
+
+ if (pevent->mask & IN_MOVED_FROM)
+ s_event = MP_INOTI_MOVE_OUT;
+
+ if (pevent->mask & IN_MOVED_TO)
+ s_event = MP_INOTI_MOVE_IN;
+ */
+ } else /* file */{
+ if (pevent->mask & IN_CREATE) {
+ s_event = MP_INOTI_NONE;
+ handle->prev_event = IN_CREATE;
+ }
+
+ if (pevent->mask & IN_CLOSE_WRITE) {
+ if (handle->prev_event == IN_CREATE) {
+ s_event = MP_INOTI_CREATE;
+ }
+ handle->prev_event = MP_INOTI_NONE;
+ }
+
+ if (pevent->mask & IN_DELETE)
+ s_event = MP_INOTI_DELETE;
+
+ if (pevent->mask & IN_MODIFY) {
+ s_event = MP_INOTI_MODIFY;
+ }
+
+ if (pevent->mask & IN_MOVED_TO) {
+ s_event = MP_INOTI_MOVE_OUT;
+ }
+ }
+
+ if (s_event != MP_INOTI_NONE) {
+ pthread_cleanup_push(_mp_app_inotify_thread_clean_up, (void *)&mp_noti_lock);
+ pthread_mutex_lock(&mp_noti_lock);
+ if (handle->callback) {
+ handle->callback(s_event, (pevent->len) ? pevent->name : NULL, handle->u_data);
+ }
+ pthread_mutex_unlock(&mp_noti_lock);
+ pthread_cleanup_pop(0);
+ }
+
+ i += sizeof(struct inotify_event) + pevent->len;
+
+ if (i >= MP_EVENT_BUF_LEN)
+ break;
+ }
+ }
+
+ DEBUG_TRACE("end _mp_app_inotify_watch_thread!!! ");
+
+ return NULL;
+}
+
+Ecore_Timer *_g_inotyfy_timer = NULL;
+
+static Eina_Bool
+_mp_app_inotify_timer_cb(void *data)
+{
+ TIMER_TRACE();
+ bool b_invalid_playing_file = false;
+ struct appdata *ad = (struct appdata *)data;
+ MP_CHECK_FALSE(ad);
+
+ if (ad->edit_in_progress) {
+ DEBUG_TRACE("editing in progress. not refresh list...");
+ return false;
+ }
+
+ DEBUG_TRACE("update view");
+
+ mp_plst_item *current_item = mp_playlist_mgr_get_current(ad->playlist_mgr);
+
+ if (current_item) {
+ if (mp_util_is_streaming(current_item->uri)) {
+ mp_debug("http uri path");
+ } else if (!g_file_test(current_item->uri, G_FILE_TEST_EXISTS)) {
+ mp_play_stop_and_updateview(ad, FALSE);
+ b_invalid_playing_file = true;
+ }
+ }
+
+#ifndef MP_SOUND_PLAYER
+ mp_library_update_view(ad);
+#endif
+ _g_inotyfy_timer = NULL;
+ return EINA_FALSE;
+}
+
+static void
+_mp_app_inotify_cb(mp_inotify_event event, char *path, void *data)
+{
+ DEBUG_TRACE("file operation occured...");
+
+ struct appdata *ad = (struct appdata *)data;
+
+ MP_CHECK(path);
+
+ ecore_pipe_write(ad->inotify_pipe, path, strlen(path));
+}
+
+void
+_mp_app_inotify_add_recursive_watch(const char *path, void *ad)
+{
+
+ DIR *dp = NULL;
+ struct dirent *entry = NULL;
+ char *sub_path = NULL;
+ sub_path = strdup(path);
+ if (mp_app_inotify_add_watch(sub_path, _mp_app_inotify_cb, ad) < 0) {
+ IF_FREE(sub_path);
+ return;
+ }
+
+ dp = opendir(sub_path);
+ if (dp == NULL)
+ return;
+
+ while ((entry = (struct dirent *)readdir(dp)) != NULL) {
+ if (entry->d_name[0] == '.')
+ continue;
+
+ IF_FREE(sub_path);
+ sub_path = g_strdup_printf("%s/%s", path, entry->d_name);
+ if (entry->d_type == DT_DIR)
+ _mp_app_inotify_add_recursive_watch(sub_path, ad);
+ }
+ IF_FREE(sub_path);
+
+ closedir(dp);
+
+}
+
+static void
+_mp_app_pipe_cb(void *data, void *path, unsigned int nbyte)
+{
+ struct appdata *ad = (struct appdata *)data;
+ mp_retm_if (ad == NULL, "appdata is NULL");
+
+ DEBUG_TRACE("%s modified..", path);
+ mp_retm_if (ad->app_is_foreground, "Do not refresh list");
+
+ if (_g_inotyfy_timer)
+ ecore_timer_del(_g_inotyfy_timer);
+ _g_inotyfy_timer = ecore_timer_add(0.5, _mp_app_inotify_timer_cb, data);
+
+
+}
+
+static void
+_mp_add_inofity_refresh_watch(struct appdata *ad)
+{
+ mp_inotify_t *handle = NULL;
+ handle = g_handle;
+
+ MP_CHECK(handle);
+
+ GList *wd_list = handle->wd_list;
+ while (wd_list) {
+ if (wd_list->data >= 0)
+ mp_app_inotify_rm_watch((int)wd_list->data);
+ wd_list = g_list_delete_link(wd_list, wd_list);
+ }
+
+ _mp_app_inotify_add_recursive_watch(MP_MMC_ROOT_PATH, ad);
+ _mp_app_inotify_add_recursive_watch(MP_PHONE_ROOT_PATH, ad);
+
+}
+
+int
+mp_app_inotify_init(void *data)
+{
+
+ struct appdata *ad = data;
+
+ mp_inotify_t *handle = NULL;
+ handle = _mp_app_inotify_handle_init();
+ mp_retvm_if (handle == NULL, -1, "fail to _mp_app_inotify_handle_init()");
+
+ handle->fd = inotify_init();
+
+ if (handle->fd < 0) {
+ switch (errno) {
+ case EMFILE:
+ ERROR_TRACE("The user limit on the total number of inotify instances has been reached.\n");
+ break;
+ case ENFILE:
+ ERROR_TRACE("The system limit on the total number of file descriptors has been reached.\n");
+ break;
+ case ENOMEM:
+ ERROR_TRACE("Insufficient kernel memory is available.\n");
+ break;
+ default:
+ ERROR_TRACE("Fail to inotify_init(), Unknown error.\n");
+ break;
+ }
+ return -1;
+ }
+ pthread_create(&handle->monitor, NULL, _mp_app_inotify_watch_thread, handle);
+
+ _mp_app_inotify_add_recursive_watch(MP_MMC_ROOT_PATH, ad);
+ _mp_app_inotify_add_recursive_watch(MP_PHONE_ROOT_PATH, ad);
+
+ ad->inotify_pipe = ecore_pipe_add(_mp_app_pipe_cb, (const void *)ad);
+
+ return 0;
+}
+
+int
+mp_app_inotify_add_watch(const char *path, mp_inotify_cb callback, void *user_data)
+{
+ mp_inotify_t *handle = NULL;
+ GList *wd_list;
+ int wd;
+
+ handle = g_handle;
+ MP_CHECK_VAL(handle, -1);
+
+ pthread_mutex_lock(&mp_noti_lock);
+
+ wd_list = handle->wd_list;
+ wd = inotify_add_watch(handle->fd, path, MP_WATCH_FLAGS);
+ if (wd < 0) {
+ switch (errno) {
+ case EACCES:
+ ERROR_TRACE("Read access to the given file is not permitted.\n");
+ break;
+ case EBADF:
+ ERROR_TRACE("The given file descriptor is not valid.\n");
+ handle->fd = -1;
+ break;
+ case EFAULT:
+ ERROR_TRACE("pathname points outside of the process's accessible address space.\n");
+ break;
+ case EINVAL:
+ ERROR_TRACE
+ ("The given event mask contains no legal events; or fd is not an inotify file descriptor.\n");
+ break;
+ case ENOMEM:
+ ERROR_TRACE("Insufficient kernel memory is available.\n");
+ break;
+ case ENOSPC:
+ ERROR_TRACE
+ ("The user limit on the total number of inotify watches was reached or the kernel failed to allocate a needed resource.\n");
+ break;
+ default:
+ ERROR_TRACE("Fail to mp_inotify_add_watch(), Unknown error.\n");
+ break;
+ }
+ pthread_mutex_unlock(&mp_noti_lock);
+ return -1;
+ }
+
+ wd_list = g_list_append(wd_list, (gpointer)wd);
+ if (!wd_list) {
+ DEBUG_TRACE("g_list_append failed");
+ pthread_mutex_unlock(&mp_noti_lock);
+ return -1;
+ }
+
+ handle->callback = callback;
+ handle->u_data = user_data;
+ pthread_mutex_unlock(&mp_noti_lock);
+
+ return 0;
+}
+
+int
+mp_app_inotify_rm_watch(int wd)
+{
+ int ret = -1;
+ mp_inotify_t *handle = NULL;
+
+ handle = g_handle;
+ mp_retvm_if (handle == NULL, -1, "handle is NULL");
+
+ if (handle->fd < 0 || wd < 0) {
+ WARN_TRACE
+ ("inotify is not initialized or has no watching dir - fd [%d] wd [%d]",
+ handle->fd, wd);
+ return 0;
+ }
+
+ pthread_mutex_lock(&mp_noti_lock);
+
+ ret = inotify_rm_watch(handle->fd, wd);
+ if (ret < 0) {
+ switch (errno) {
+ case EBADF:
+ ERROR_TRACE("fd is not a valid file descriptor\n");
+ handle->fd = -1;
+ break;
+ case EINVAL:
+ ERROR_TRACE("The watch descriptor wd is not valid; or fd is not an inotify file descriptor.\n");
+ break;
+ default:
+ ERROR_TRACE("Fail to mp_inotify_add_watch(), Unknown error.\n");
+ break;
+ }
+ pthread_mutex_unlock(&mp_noti_lock);
+ return -1;
+ }
+ pthread_mutex_unlock(&mp_noti_lock);
+
+ return 0;
+}
+
+static void
+_mp_app_inotify_wd_list_destroy(gpointer data)
+{
+ mp_app_inotify_rm_watch((int)data);
+}
+
+void
+mp_app_inotify_finalize(struct appdata *ad)
+{
+ mp_inotify_t *handle = NULL;
+ handle = g_handle;
+
+ mp_retm_if (handle == NULL, "handle is NULL");
+
+ if (ad->inotify_pipe) {
+ ecore_pipe_del(ad->inotify_pipe);
+ ad->inotify_pipe = NULL;
+ }
+
+ g_list_free_full(handle->wd_list, _mp_app_inotify_wd_list_destroy);
+ handle->wd_list = NULL;
+
+ pthread_cancel(handle->monitor);
+ pthread_join(handle->monitor, NULL);
+
+ _mp_app_inotify_handle_free();
+
+ return;
+}
+#endif
+
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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->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) 2000-2015 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 ']'
+
+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) {
+ 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) 2000-2015 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-music-view-mgr.h"
+
+#include "mp-player-debug.h"
+#include "MusicView.h"
+#include "SmartVolume.h"
+#include "stdbool.h"
+
+#ifdef MP_FEATURE_MUSIC_VIEW
+static bool g_music_view_init;
+
+int mp_music_view_mgr_init(void)
+{
+ startfunc;
+ int res = MusicViewInit();
+
+ if (res)
+ WARN_TRACE("Fail to init music view res: 0x%x", res);
+ else
+ g_music_view_init = 1;
+
+ return res;
+}
+
+int mp_music_view_mgr_release(void)
+{
+ startfunc;
+ MP_CHECK_VAL(g_music_view_init, -1);
+ int res = MusicViewRelease();
+
+ if (res)
+ WARN_TRACE("Fail to init music view");
+
+ g_music_view_init = 0;
+
+ return res;
+}
+
+char *mp_music_view_mgr_exe(char *filename, int *length)
+{
+ MP_CHECK_NULL(g_music_view_init);
+
+ char *wave_pcm = MusicViewEXE(filename, length);
+ MP_CHECK_NULL(wave_pcm);
+
+ return wave_pcm;
+}
+#endif
+
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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-player-drm.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-streaming-mgr.h"
+#include "mp-ug-launch.h"
+
+#ifdef MP_SOUND_PLAYER
+
+#else
+#include "mp-common.h"
+#endif
+#include "mp-view-mgr.h"
+
+#ifdef MP_3D_FEATURE
+#endif
+#ifdef MP_FEATURE_AVRCP_13
+#include "mp-avrcp.h"
+#endif
+#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);
+#ifdef MP_FEATURE_CLOUD
+ if (ret == MP_PLAY_ERROR_NETWORK)
+ mp_play_next_file(ad, true);
+#endif
+ } 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);
+ } 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);
+ }
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ mp_minicontroller_update_progressbar(ad);
+#ifdef MP_FEATURE_LOCKSCREEN
+ mp_lockscreenmini_update_progressbar(ad);
+#endif
+}
+
+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");
+ int res = true;
+ 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;
+#ifdef MP_FEATURE_AVRCP_13
+ if (!ad->is_Longpress)
+ mp_avrcp_noti_player_state(MP_AVRCP_STATE_FF);
+#endif
+ } else {
+ ad->ff_rew_distance -= LONG_PRESS_TIME_INCREASE;
+#ifdef MP_FEATURE_AVRCP_13
+ if (!ad->is_Longpress)
+ mp_avrcp_noti_player_state(MP_AVRCP_STATE_FF);
+#endif
+ }
+
+ 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_MEDIA:
+ WARN_TRACE("receive MM_MSG_CODE_INTERRUPTED_BY_OTHER_APP");
+ break;
+ case PLAYER_INTERRUPTED_BY_CALL:
+ WARN_TRACE("receive PLAYER_INTERRUPTED_BY_CALL");
+ break;
+ case PLAYER_INTERRUPTED_BY_EARJACK_UNPLUG:
+ WARN_TRACE("receive MM_MSG_CODE_INTERRUPTED_BY_EARJACK_UNPLUG");
+ break;
+ case PLAYER_INTERRUPTED_BY_RESOURCE_CONFLICT:
+ WARN_TRACE("receive MM_MSG_CODE_INTERRUPTED_BY_RESOURCE_CONFLICT");
+ break;
+ case PLAYER_INTERRUPTED_BY_ALARM:
+ WARN_TRACE("receive MM_MSG_CODE_INTERRUPTED_BY_ALARM_START");
+ break;
+ case PLAYER_INTERRUPTED_COMPLETED:
+ WARN_TRACE("PLAYER_INTERRUPTED_COMPLETED");
+ /* ready to resume */
+ if (ad->player_state == PLAY_STATE_PAUSED) {
+ ad->paused_by_user = false;
+ 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 {
+ ad->auto_resume = true;
+ mp_play_control_on_error(ad, error, true);
+ }
+ }
+ return;
+ break;
+ default:
+ ERROR_TRACE("Unhandled code: %d", code);
+ break;
+ }
+
+ /* if playback interrupted while seeking, seek complete callback will not be ivoked. */
+ 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"));
+ 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_util_is_streaming(uri)) {
+
+ } else 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);
+
+/* int ret = 0; */
+
+ _mp_play_control_del_longpressed_timer(ad);
+ int status = 0;
+
+ if (play) {
+ ad->paused_by_user = FALSE;
+
+ if (ad->player_state == PLAY_STATE_PAUSED) {
+ int error = mp_player_mgr_resume(ad);
+ status = error;
+ 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");
+ 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)
+ 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;
+
+#ifdef MP_FEATURE_AVRCP_13
+ if (ad->player_state == PLAY_STATE_PLAYING)
+ mp_avrcp_noti_player_state(MP_AVRCP_STATE_PLAYING);
+ else if (ad->player_state == PLAY_STATE_PAUSED)
+ mp_avrcp_noti_player_state(MP_AVRCP_STATE_PAUSED);
+ else
+ mp_avrcp_noti_player_state(MP_AVRCP_STATE_STOPPED);
+#endif
+ }
+}
+
+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();
+ 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);
+#ifdef MP_FEATURE_AVRCP_13
+ mp_avrcp_noti_repeat_mode(MP_AVRCP_REPEAT_ONE);
+#endif
+ } 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);
+#ifdef MP_FEATURE_AVRCP_13
+ mp_avrcp_noti_repeat_mode(MP_AVRCP_REPEAT_ALL);
+#endif
+ } 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);
+#ifdef MP_FEATURE_AVRCP_13
+ mp_avrcp_noti_repeat_mode(MP_AVRCP_REPEAT_OFF);
+#endif
+ }
+ if (ad->win_minicon) {
+ mp_minicontroller_update_shuffle_and_repeat_btn(ad);
+ }
+
+#ifdef MP_FEATURE_LOCKSCREEN
+ if (ad->win_lockmini) {
+ mp_lockscreenmini_update_shuffle_and_repeat_btn(ad);
+ }
+#endif
+}
+
+
+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);
+ mp_minicontroller_update_progressbar(ad);
+#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");
+
+#ifdef MP_FEATURE_AVRCP_13
+ if (shuffle_enable)
+ mp_avrcp_noti_shuffle_mode(MP_AVRCP_SHUFFLE_ON);
+ else
+ mp_avrcp_noti_shuffle_mode(MP_AVRCP_SHUFFLE_OFF);
+#endif
+
+ 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) 2000-2015 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) 2000-2015 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 "music.h"
+#include "mp-player-mgr.h"
+#include "mp-player-control.h"
+#include "mp-play.h"
+/* #include "mp-player-drm.h" */
+#include <player.h>
+
+#include "mp-ta.h"
+#include "mp-player-debug.h"
+#include "mp-widget.h"
+#include "mp-streaming-mgr.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"
+#include <sound_manager.h>
+
+#ifdef MP_FEATURE_AVRCP_13
+#include "mp-avrcp.h"
+#endif
+
+#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;
+
+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;
+ player_pd_message_cb pd_message_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;
+ player_pd_message_type_e pd_message_type;
+ } 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_type_e);
+ 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:
+ if (g_player_cbs->pd_message_cb)
+ g_player_cbs->pd_message_cb(extra_data->param.pd_message_type, g_player_cbs->user_data[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_type;
+ 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) {
+ PLAYER_ENTER_LOG("set_sound_type");
+ g_player_apis.set_sound_type(_player, SOUND_TYPE_MEDIA);
+ PLAYER_LEAVE_LOG("set_sound_type");
+ }
+ if (g_player_apis.set_audio_latency_mode)
+ 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)
+ g_player_apis.set_completed_cb(_player, _mp_player_mgr_completed_cb, NULL);
+ if (g_player_apis.set_interrupted_cb)
+ g_player_apis.set_interrupted_cb(_player, _mp_player_mgr_interrupted_cb, NULL);
+ if (g_player_apis.set_error_cb)
+ g_player_apis.set_error_cb(_player, _mp_player_mgr_error_cb, NULL);
+ if (g_player_apis.set_buffering_cb)
+ 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);
+
+ 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;
+
+ 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;
+
+ 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);
+ mp_player_mgr_set_position(ad->start_pos, NULL, NULL);
+ 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");
+ 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);
+ 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;
+
+ 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 (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;
+
+ mp_util_release_cpu();
+
+ if (!mp_player_mgr_is_active())
+ return FALSE;
+
+ PLAYER_ENTER_LOG("pause");
+ err = g_player_apis.pause(_player);
+ 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;
+
+#ifdef MP_FEATURE_AVRCP_13
+ mp_avrcp_noti_track_position((unsigned int)data);
+#endif
+
+ 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) {
+ mp_player_mgr_set_position(g_reserved_seek_pos, g_reserved_cb, g_reserved_cb_data);
+ 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)
+ 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_vol_type_set(void)
+{
+ return sound_manager_set_current_sound_type(SOUND_TYPE_MEDIA);
+}
+
+int
+mp_player_mgr_vol_type_unset(void)
+{
+ return sound_manager_unset_current_sound_type();
+}
+
+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;
+}
+
+bool
+mp_player_mgr_session_init(void)
+{
+ int ret = SOUND_MANAGER_ERROR_NONE;
+
+ PLAYER_ENTER_LOG("sound_manager_set_session_type");
+ ret = sound_manager_set_session_type(SOUND_SESSION_TYPE_MEDIA);
+ PLAYER_LEAVE_LOG("sound_manager_set_session_type");
+
+ PLAYER_ENTER_LOG("sound_manager_set_media_session_option");
+ ret = sound_manager_set_media_session_option(SOUND_SESSION_OPTION_PAUSE_OTHERS_WHEN_START,
+ SOUND_SESSION_OPTION_INTERRUPTIBLE_DURING_PLAY);
+ PLAYER_LEAVE_LOG("sound_manager_set_media_session_option");
+
+ if (ret != SOUND_MANAGER_ERROR_NONE)
+ 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;
+}
+
+static void
+_mp_player_mgr_pd_message_cb(player_pd_message_type_e type, void *user_data)
+{
+ 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_PROGRESSIVE_DOWNLOAD_MESSAGE;
+ extra_data.param.pd_message_type = type;
+
+ ecore_pipe_write(g_player_pipe, &extra_data, sizeof(mp_player_cb_extra_data));
+}
+
+int
+mp_player_mgr_set_progressive_download(const char *path, player_pd_message_cb callback, void *user_data)
+{
+ startfunc;
+
+ if (!mp_player_mgr_is_active())
+ return -1;
+
+ int err = player_set_progressive_download_path(_player, path);
+ if (err != PLAYER_ERROR_NONE) {
+ mp_error("player_set_progressive_download_path() .. [0x%x]", err);
+ return -1;
+ }
+
+ if (callback) {
+ MP_CHECK_VAL(g_player_cbs, -1);
+ err = player_set_progressive_download_message_cb(_player, _mp_player_mgr_pd_message_cb, NULL);
+ if (err != PLAYER_ERROR_NONE) {
+ mp_error("player_set_progressive_download_path() .. [0x%x]", err);
+ }
+
+ g_player_cbs->pd_message_cb = callback;
+ g_player_cbs->user_data[MP_PLAYER_CB_TYPE_PROGRESSIVE_DOWNLOAD_MESSAGE] = user_data;
+ }
+
+ return err;
+}
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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);
+#ifdef MP_FEATURE_PLST_QUEUE
+ if (node->is_queue) {
+ DEBUG_TRACE("queued item will be remained");
+ return;
+ }
+#endif
+ IF_FREE(node->uri);
+ IF_FREE(node->uid);
+ IF_FREE(node->title);
+ IF_FREE(node->artist);
+
+#ifdef MP_FEATURE_CLOUD
+ IF_FREE(node->streaming_uri);
+ if (node->cancel_id)
+ mp_cloud_cancel_request(node->cancel_id);
+#endif
+ 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;
+
+ fp = fopen(MP_NOWPLAYING_LIST_DATA, "w");
+
+ if (fp == NULL) {
+ SECURE_ERROR("Failed to open ini files. : %s", MP_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*/
+#ifdef MP_FEATURE_PLST_QUEUE
+ int queue_lenth;
+ queue_lenth = g_list_length(playlist_mgr->queue_list);
+ pos = __mp_playlist_mgr_rand_position(g_list_length(playlist_mgr->normal_list), queue_lenth);
+
+ int queue_start = g_list_index(playlist_mgr->shuffle_list, g_list_nth_data(playlist_mgr->queue_list, 0));
+ if (pos >= queue_start-1)
+ pos += queue_lenth;
+#else
+ pos = __mp_playlist_mgr_rand_position(g_list_length(playlist_mgr->normal_list), 0);
+#endif
+
+ 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;
+}
+
+#ifdef __PRINT_PLAYLIST_ITEMS__
+static void
+__playlist_print_list(void *data, void *user_data)
+{
+ mp_plst_item *cur = data;
+ WARN_TRACE("%s", cur->uri);
+}
+#endif
+
+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);
+
+#ifdef __PRINT_PLAYLIST_ITEMS__
+ DEBUG_TRACE("list");
+ g_list_foreach(playlist_mgr->list, __playlist_print_list, playlist_mgr->list);
+ DEBUG_TRACE("normal list");
+ g_list_foreach(playlist_mgr->normal_list, __playlist_print_list, playlist_mgr->normal_list);
+ DEBUG_TRACE("shuffle list");
+ g_list_foreach(playlist_mgr->shuffle_list, __playlist_print_list, playlist_mgr->shuffle_list);
+#endif
+
+ 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;
+}
+
+#ifdef MP_FEATURE_PLST_QUEUE
+static GList *__mp_playlist_mgr_delete_queue_link(GList *list)
+{
+ startfunc;
+ mp_plst_item *item;
+ GList *new_list, *remove;
+ int idx = 0;
+
+ new_list = list;
+ remove = g_list_nth(new_list, idx);
+ MP_CHECK_NULL(remove);
+
+ while (remove) {
+ item = remove->data;
+
+ if (item->is_queue) {
+ DEBUG_TRACE("delete : %s", item->uid);
+ new_list = g_list_remove_link(new_list, remove);
+ g_list_free(remove);
+ } else
+ idx++;
+
+ remove = g_list_nth(new_list, idx);
+ }
+
+ return new_list;
+}
+
+static void __mp_playlist_mgr_index(mp_plst_mgr *playlist_mgr, int *pos, int *shuffle_pos)
+{
+ MP_CHECK(playlist_mgr);
+ int idx, s_idx;
+ if (playlist_mgr->shuffle_state) {
+ s_idx = playlist_mgr->current_index;
+ idx = g_list_index(playlist_mgr->normal_list, g_list_nth_data(playlist_mgr->shuffle_list, s_idx));
+ } else {
+ idx = playlist_mgr->current_index;
+ s_idx = g_list_index(playlist_mgr->shuffle_list, g_list_nth_data(playlist_mgr->normal_list, idx));
+ }
+
+ *pos = idx;
+ *shuffle_pos = s_idx;
+}
+
+static void __mp_playlist_mgr_clear_queue(mp_plst_mgr *playlist_mgr)
+{
+ startfunc;
+ int idx, s_idx;
+
+ MP_CHECK(playlist_mgr);
+
+ __mp_playlist_mgr_index(playlist_mgr, &idx, &s_idx);
+ DEBUG_TRACE("idx: %d, s_idx: %d", idx, s_idx);
+
+ playlist_mgr->normal_list = __mp_playlist_mgr_delete_queue_link(playlist_mgr->normal_list);
+ playlist_mgr->shuffle_list = __mp_playlist_mgr_delete_queue_link(playlist_mgr->shuffle_list);
+
+ __mp_playlist_mgr_select_list(playlist_mgr);
+
+ endfunc;
+}
+
+static void
+__mp_playlist_mgr_insert_queue_links(mp_plst_mgr *playlist_mgr)
+{
+ GList *list;
+ int idx, s_idx;
+
+ MP_CHECK(playlist_mgr);
+
+ __mp_playlist_mgr_index(playlist_mgr, &idx, &s_idx);
+
+ list = g_list_last(playlist_mgr->queue_list);
+ MP_CHECK(list);
+
+ idx++;
+ s_idx++;
+
+ do {
+ playlist_mgr->normal_list = g_list_insert(playlist_mgr->normal_list, list->data, idx);
+ playlist_mgr->shuffle_list = g_list_insert(playlist_mgr->shuffle_list, list->data, s_idx);
+ list = g_list_previous(list);
+ } while (list);
+
+ if (playlist_mgr->queue_item_cb)
+ playlist_mgr->queue_item_cb(MP_PLSYLIST_QUEUE_MOVED, playlist_mgr->shuffle_state ? s_idx : idx, playlist_mgr->userdata);
+}
+
+mp_plst_item *mp_playlist_mgr_item_queue(mp_plst_mgr *playlist_mgr, const char *uri, const char *uid, mp_track_type type)
+{
+ DEBUG_TRACE("uri: %s, uid:%s", uri, uid);
+ MP_CHECK_VAL(playlist_mgr, NULL);
+
+ mp_plst_item *p_data = NULL;
+ GList *last;
+ int pos, s_pos;
+
+ if (playlist_mgr->queue_list) {
+ last = g_list_last(playlist_mgr->queue_list);
+ if (last)
+ p_data = last->data;
+ }
+ /*create data*/
+ mp_plst_item *node = calloc(1, sizeof(mp_plst_item));
+ MP_CHECK_VAL(node, NULL);
+
+ if (uri) {
+ node->track_type = EINA_TRUE;
+ node->uri = g_strdup(uri);
+ }
+ node->uid = g_strdup(uid);
+ node->is_queue = EINA_TRUE;
+
+ /*append item*/
+ playlist_mgr->queue_list = g_list_append(playlist_mgr->queue_list, node);
+
+ /*insert queue items to list*/
+ if (p_data) {
+ pos = g_list_index(playlist_mgr->normal_list, p_data)+1;
+ s_pos = g_list_index(playlist_mgr->shuffle_list, p_data)+1;
+ } else {
+ __mp_playlist_mgr_index(playlist_mgr, &pos, &s_pos);
+ pos++; s_pos++;
+ }
+ playlist_mgr->normal_list = g_list_insert(playlist_mgr->normal_list, node, pos);
+ playlist_mgr->shuffle_list = g_list_insert(playlist_mgr->shuffle_list, node, s_pos);
+
+ /*select list */
+ __mp_playlist_mgr_select_list(playlist_mgr);
+
+ if (playlist_mgr->queue_item_cb)
+ playlist_mgr->queue_item_cb(MP_PLAYLIST_QUEUE_ADDED, playlist_mgr->shuffle_state ? s_pos : pos, playlist_mgr->userdata);
+
+ return node;
+}
+#endif
+
+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);
+#ifdef MP_FEATURE_PLST_QUEUE
+ item->is_queue = EINA_FALSE;
+#endif
+ playlist_mgr->normal_list = g_list_remove_link(playlist_mgr->normal_list, remove);
+ g_list_free_full(remove, __mp_playlist_mgr_item_free);
+
+#ifdef MP_FEATURE_PLST_QUEUE
+ /*remove from queue list*/
+ if (playlist_mgr->queue_list) {
+ remove = g_list_find(playlist_mgr->queue_list, item);
+ if (remove) {
+ playlist_mgr->queue_list = g_list_remove_link(playlist_mgr->queue_list, remove);
+ g_list_free(remove);
+ }
+ }
+#endif
+
+ /*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 && !mp_util_is_streaming(item->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);
+
+#ifdef MP_FEATURE_PLST_QUEUE
+ if (playlist_mgr->queue_list) {
+ playlist_mgr->normal_list = g_list_copy(playlist_mgr->queue_list);
+ playlist_mgr->shuffle_list = g_list_copy(playlist_mgr->queue_list);
+
+ __mp_playlist_mgr_select_list(playlist_mgr);
+ } else
+#endif
+ {
+ 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)
+{
+ /* startfunc; */
+ 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)
+{
+ /* startfunc; */
+ 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)
+{
+ /* startfunc; */
+ 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)
+{
+ /* startfunc; */
+ 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);
+#ifdef __PRINT_PLAYLIST_ITEMS__
+ DEBUG_TRACE("shuffle list");
+ g_list_foreach(playlist_mgr->shuffle_list, __playlist_print_list, playlist_mgr->shuffle_list);
+#endif
+}
+
+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);
+#ifdef __PRINT_PLAYLIST_ITEMS__
+ DEBUG_TRACE("normal list");
+ g_list_foreach(playlist_mgr->normal_list, __playlist_print_list, playlist_mgr->normal_list);
+ DEBUG_TRACE("shuffle list");
+ g_list_foreach(playlist_mgr->shuffle_list, __playlist_print_list, playlist_mgr->shuffle_list);
+#endif
+#ifdef MP_FEATURE_PLST_QUEUE
+ bool insert_queue = false;
+ /*remove queue item*/
+ before = mp_playlist_mgr_get_current(playlist_mgr);
+ if (before && before->is_queue) {
+ DEBUG_TRACE("queue spent");
+ before_index = playlist_mgr->current_index;
+
+ call_remove_item_callback = true;
+
+ mp_playlist_mgr_item_remove_item(playlist_mgr, before);
+ }
+
+ /*clear queue item if needed*/
+ if (!cur->is_queue && playlist_mgr->queue_list) {
+ __mp_playlist_mgr_clear_queue(playlist_mgr);
+ insert_queue = true;
+ }
+#endif
+ /*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);
+
+#ifdef MP_FEATURE_PLST_QUEUE
+ /*insert queue item after cur*/
+ if (insert_queue)
+ __mp_playlist_mgr_insert_queue_links(playlist_mgr);
+#endif
+finish:
+#ifdef MP_FEATURE_PLST_QUEUE
+ if (call_remove_item_callback && playlist_mgr->queue_item_cb)
+ playlist_mgr->queue_item_cb(MP_PLSYLIST_QUEUE_REMOVED, before_index, playlist_mgr->userdata);
+#endif
+ 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)
+{
+ /* startfunc; */
+ 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);
+
+ return playlist_mgr->repeat_state;
+ endfunc;
+}
+
+#ifdef MP_FEATURE_PLST_QUEUE
+Eina_Bool mp_playlist_mgr_set_queue_cb(mp_plst_mgr *playlist_mgr, mp_queue_item_removed_cb cb, void *userdata)
+{
+ MP_CHECK_VAL(playlist_mgr, 0);
+
+ playlist_mgr->userdata = userdata;
+ playlist_mgr->queue_item_cb = cb;
+
+ return true;
+}
+#endif
+
+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 && !mp_util_is_streaming(item->uri)) {
+ SECURE_DEBUG("uri = %s", item->uri);
+ if (!mp_file_exists(item->uri) || (mmc_removed && strstr(item->uri, MP_MMC_ROOT_PATH) == 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;
+ }
+ }
+ }
+ }
+ 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;
+ line[strlen(line)-1] = 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;
+ line[strlen(line)-1] = 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) 2000-2015 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 <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>
+
+#ifdef MP_FEATURE_AVRCP_13
+#include "mp-avrcp.h"
+#endif
+
+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;
+ keynode_t *node = (keynode_t *) key;
+ mp_retm_if (node == NULL, "keymode is 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;
+ keynode_t * node = (keynode_t *) key;
+ mp_retm_if (node == NULL, "keymode is 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_side_sync_changed_cb(keynode_t * node, void *user_data)
+{
+
+ g_setting->side_sync_status = vconf_keynode_get_int(node);
+ EVENT_TRACE("Side sync activated[%d]", g_setting->side_sync_status);
+
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_SIDE_SYNC_STATUS_CHANGED);
+}*/
+
+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);
+ mp_minicontroller_update_shuffle_and_repeat_btn(ad);
+}
+
+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);
+ mp_minicontroller_update_shuffle_and_repeat_btn(ad);
+}
+
+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);
+
+#ifdef MP_FEATURE_AUTO_OFF
+ /* reset auto off in music player only */
+ /* mp_setting_reset_auto_off_time(); */
+#endif
+
+ 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));
+
+ /*if (!ad->setting_idler)
+ ad->setting_idler = ecore_idler_add(_mp_setting_init_idler_cb, ad); */
+
+ _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;
+
+ FILE *fp = fopen(MP_NOW_PLAYING_ID_INI, "w"); /* make new file. */
+
+ if (fp == NULL) {
+ SECURE_ERROR("Failed to open ini files. : %s", MP_NOW_PLAYING_ID_INI);
+ 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;
+ if ((fp = fopen(MP_NOW_PLAYING_ID_INI, "r")) == NULL) {
+ DEBUG_TRACE("unable to open %s/shared/data/NowPlayingStatus", DATA_PREFIX);
+ return -1;
+ }
+ if (fgets(line, MAX_NAM_LEN, fp))/* #Nowplaying */ {
+ /* skip */
+ }
+ if (fgets(line, MAX_NAM_LEN, fp))/* pid */ {
+ line[MAX_NAM_LEN] = 0;
+ line[strlen(line)-1] = 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("%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;
+ }
+
+ FILE *fp = fopen(MP_PLAY_STATE, "w"); /* make new file. */
+
+ if (fp == NULL) {
+ SECURE_ERROR("Failed to open ini files. : %s", MP_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);
+
+#ifndef MP_SOUND_PLAYER
+ fp = fopen(MP_PLAYING_INI_FILE_NAME_MUSIC, "w"); /* make new file. */
+#else
+ fp = fopen(MP_PLAYING_INI_FILE_NAME_SOUND, "w"); /* make new file. */
+#endif
+
+ if (fp == NULL) {
+#ifndef MP_SOUND_PLAYER
+ ERROR_TRACE("Failed to open ini files. : %s", MP_PLAYING_INI_FILE_NAME_MUSIC);
+#else
+ ERROR_TRACE("Failed to open ini files. : %s", MP_PLAYING_INI_FILE_NAME_SOUND);
+#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;
+
+ FILE *fp = fopen(MP_SHARED_PLAYING_STATUS_INI, "w"); /* make new file. */
+
+ if (fp == NULL) {
+ SECURE_ERROR("Failed to open ini files. : %s", MP_NOWPLAYING_INI_FILE_NAME);
+ return;
+ }
+ fprintf(fp, " \n");
+
+ fclose(fp);
+
+ endfunc;
+}
+
+void
+mp_setting_remove_now_playing(void)
+{
+ startfunc;
+ FILE *fp = NULL;
+
+ fp = fopen(MP_NOWPLAYING_INI_FILE_NAME, "w"); /* make new file. */
+
+ if (fp == NULL) {
+ SECURE_ERROR("Failed to open ini files. : %s", MP_NOWPLAYING_INI_FILE_NAME);
+ 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;
+
+ if ((fp = fopen(MP_NOWPLAYING_INI_FILE_NAME, "r")) == NULL) {
+ SECURE_ERROR("unable to open %s...", MP_NOWPLAYING_INI_FILE_NAME);
+ return;
+ }
+ if (fgets(line, MAX_NAM_LEN, fp))/* audio id */ {
+ /* skip */
+ }
+ if (fgets(line, MAX_NAM_LEN, fp))/* uri */ {
+ line[MAX_NAM_LEN] = 0;
+ line[strlen(line)-1] = 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);
+
+ fp = fopen(MP_NOWPLAYING_INI_FILE_NAME, "w"); /* make new file. */
+
+ if (fp == NULL) {
+ SECURE_ERROR("Failed to open ini files. : %s", MP_NOWPLAYING_INI_FILE_NAME);
+ 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;
+
+ if (mp_file_exists(MP_SHORTCUT_INI_FILE_NAME_2)) {
+ ret = rename(MP_SHORTCUT_INI_FILE_NAME_2, MP_SHORTCUT_INI_FILE_NAME_3);
+ if (ret != 0) {
+ ERROR_TRACE("Failed to rename file:error=%d", ret);
+ return;
+ }
+ }
+ if (mp_file_exists(MP_SHORTCUT_INI_FILE_NAME_1)) {
+ rename(MP_SHORTCUT_INI_FILE_NAME_1, MP_SHORTCUT_INI_FILE_NAME_2);
+ if (ret != 0) {
+ ERROR_TRACE("Failed to rename file:error=%d", ret);
+ return;
+ }
+ }
+ if (mp_file_exists(MP_SHORTCUT_INI_FILE_NAME_0)) {
+ rename(MP_SHORTCUT_INI_FILE_NAME_0, MP_SHORTCUT_INI_FILE_NAME_1);
+ if (ret != 0) {
+ ERROR_TRACE("Failed to rename file:error=%d", ret);
+ return;
+ }
+ }
+
+ fp = fopen(MP_SHORTCUT_INI_FILE_NAME_0, "w"); /* make new file. */
+
+ if (fp == NULL) {
+ SECURE_ERROR("Failed to open ini files. : %s", MP_SHORTCUT_INI_FILE_NAME_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;
+ FILE *fp = fopen(MP_SHARED_PLAYING_STATUS_INI, "r"); /* read MP_SHARED_PLAYING_STATUS_INI file. */
+
+ if (fp == NULL) {
+ SECURE_ERROR("Failed to open ini files. : %s", MP_SHARED_PLAYING_STATUS_INI);
+ 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) {
+ 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 {
+ FILE *fp = fopen(MP_SHARED_PLAYING_STATUS_INI, "w"); /* make new file. */
+
+ if (fp == NULL) {
+ SECURE_ERROR("Failed to open ini files. : %s", MP_SHARED_PLAYING_STATUS_INI);
+ 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=/usr/apps/org.tizen.music-player/shared/res/shared_images/default_albumart.png\n");
+ }
+ #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)
+{
+ if (!g_setting)
+ mp_setting_init(mp_util_get_appdata());
+ 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) 2000-2015 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-streaming-mgr.h"
+#include "mp-http-mgr.h"
+#include "mp-player-debug.h"
+#include "mp-play.h"
+#include "mp-widget.h"
+#include "mp-player-mgr.h"
+#include "mp-util.h"
+#include "mp-player-view.h"
+#include "mp-player-control.h"
+
+static bool _mp_streaming_mgr_play_streaming_real(struct appdata *ad);
+
+bool mp_streaming_mgr_check_streaming(struct appdata *ad, const char *path)
+{
+ MP_CHECK_FALSE(path);
+
+ if (!mp_check_file_exist(path) && mp_util_is_streaming(path)) {
+ mp_debug("streaming....");
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+bool mp_streaming_mgr_set_attribute(struct appdata *ad, player_h player)
+{
+ startfunc;
+
+ return TRUE;
+}
+
+bool mp_streaming_mgr_play_new_streaming(struct appdata *ad)
+{
+ startfunc;
+ MP_CHECK_FALSE(ad);
+
+ bool ret = FALSE;
+ { /* connected */
+ ret = _mp_streaming_mgr_play_streaming_real(ad);
+ if (ret == 0)
+ mp_player_view_update_buffering_progress(GET_PLAYER_VIEW, 0);
+ }
+
+ return ret;
+}
+
+static bool _mp_streaming_mgr_play_streaming_real(struct appdata *ad)
+{
+ startfunc;
+ MP_CHECK_FALSE(ad);
+
+ return mp_player_control_ready_new_file(ad, TRUE);
+}
+
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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);
+ 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);
+
+ view_mgr->navi = mp_widget_navigation_new(parent);
+
+ struct appdata *ad = mp_util_get_appdata();
+ 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);
+ /* evas_object_smart_callback_add(view_mgr->navi, "title,clicked", _title_clicked_cb, view_mgr); */
+
+ g_view_mgr = 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->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->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
+ if (mp_util_get_appdata()->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();
+ 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;
+#ifdef MP_FEATURE_LANDSCAPE
+ case MP_VIEW_ROTATE:
+ mp_view_rotate(view);
+ break;
+#endif
+ 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)
+ {
+ _view_foreach_cb(elm_object_item_data_get(data), (void *)event);
+ }
+ }
+
+ eina_list_free(list);
+}
+
+
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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 {
+#if 0
+ Ecore_X_Window xwin;
+#else
+ void *xwin;
+#endif
+ 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);
+
+#if 0
+void
+mp_volume_init(Ecore_X_Window xwin, Elm_Win *win)
+#else
+mp_volume_init(void *xwin, Elm_Win *win)
+#endif
+{
+ startfunc;
+ g_volume_key_mgr.xwin = xwin;
+ g_volume_key_mgr.win = win;
+
+#if 0
+ int res;
+ res = sound_manager_set_volume_changed_cb(_mp_volume_changed_cb, &g_volume_key_mgr);
+ if (res != SOUND_MANAGER_ERROR_NONE) {
+ ERROR_TRACE("Error: sound_manager_set_volume_changed_cb");
+ }
+#endif
+ endfunc;
+}
+
+void mp_volume_finalize(void)
+{
+ startfunc;
+ if (!g_volume_key_mgr.xwin)
+ return;
+
+/* sound_manager_unset_volume_changed_cb(); */
+ 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;
+}
+
+#if 0
+void _mp_volume_changed_cb(sound_type_e type, unsigned int volume, void *user_data)
+{
+ EVENT_TRACE("type: %d, volume changed: %d", type, volume);
+ if (type == SOUND_TYPE_MEDIA) {
+ if (g_volume_key_mgr.volume_change_cb)
+ g_volume_key_mgr.volume_change_cb(volume, g_volume_key_mgr.user_data);
+ }
+}
+#endif
+
+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) 2000-2015 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-watch-dog.h"
+#include <Elementary.h>
+#include "mp-player-debug.h"
+#include "mp-define.h"
+#include "mp-file-util.h"
+
+#ifdef MP_WATCH_DOG
+
+Ecore_Thread *g_WathDogThread;
+static int g_MainThreadLockup;
+static int g_write_lock;
+
+#define LOCKUP_TIMEOUT 60
+
+static void
+__mp_watchdog_thread_function(void *data, Ecore_Thread *thread)
+{
+ startfunc;
+ while (1) {
+ if (ecore_thread_check(thread)) { /* pending cancellation */
+ WARN_TRACE("Thread canceled");
+ goto END;
+ }
+
+ if (g_MainThreadLockup) {
+ ERROR_TRACE("Main thread does not response for %d sec.", LOCKUP_TIMEOUT);
+ ERROR_TRACE("Make coredump");
+ assert(0);
+ }
+
+ if (!g_write_lock)
+ g_MainThreadLockup = 1;
+ DEBUG_TRACE("Send Notify to Main thread");
+ ecore_thread_feedback(thread, NULL);
+
+ struct timeval tv;
+ tv.tv_sec = LOCKUP_TIMEOUT;
+ tv.tv_usec = 0;
+ select(0, NULL, NULL, NULL, &tv);
+
+ }
+
+ END:
+ endfunc;
+}
+
+static void
+_mp_watch_dog_thread_end_cb(void *data, Ecore_Thread *thread)
+{
+ DEBUG_TRACE("Watch dog thread end");
+ g_WathDogThread = NULL;
+}
+
+static void
+_mp_watch_dog_thread_cancel_cb(void *data, Ecore_Thread *thread)
+{
+ DEBUG_TRACE("");
+}
+
+void _mp_watch_dog_thread_notify_cb(void *data, Ecore_Thread *thread, void *msg_data)
+{
+ DEBUG_TRACE("");
+ g_write_lock = 1;
+ g_MainThreadLockup = 0;
+ g_write_lock = 0;
+}
+
+void mp_watch_dog_init(void)
+{
+#ifdef MP_DEBUG_MODE
+ return;
+#endif
+
+ if (mp_file_exists("/tmp/mp_disable_watchdog"))
+ return;
+
+ if (g_WathDogThread)
+ return;
+
+ g_WathDogThread = ecore_thread_feedback_run(__mp_watchdog_thread_function,
+ _mp_watch_dog_thread_notify_cb,
+ _mp_watch_dog_thread_end_cb,
+ _mp_watch_dog_thread_cancel_cb, NULL, EINA_TRUE);
+}
+
+void mp_watch_dog_finalize(void)
+{
+ if (g_WathDogThread)
+ ecore_thread_cancel(g_WathDogThread);
+}
+
+void mp_watch_dog_reset(void)
+{
+ g_write_lock = 1;
+ if (g_MainThreadLockup)
+ g_MainThreadLockup = EINA_TRUE;
+ g_write_lock = 0;
+}
+
+#endif
+
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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_IDEBUILD_H_
+#define __MP_IDEBUILD_H_
+
+typedef struct _keynode_t {
+ char *keyname; /**< Keyname for keynode */
+ int type; /**< Keynode type */
+ union {
+ int i; /**< Integer type */
+ int b; /**< Bool type */
+ double d; /**< Double type */
+ char *s; /**< String type */
+ } value; /**< Value for keynode */
+ struct _keynode_t *next; /**< Next keynode */
+} keynode_t;
+
+#define MH_SCROLL_MAX 3
+//int app_control_set_window(app_control_h, Ecore_X_Window);
+
+#endif
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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>
+#ifdef GBSBUILD
+#include <vconf.h>
+#endif
+#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>
+
+#ifndef EXPORT_API
+#define EXPORT_API __attribute__((__visibility__("default")))
+#endif
+
+#ifndef MP_IMAGE_ROTATE_FEATURE
+//efine MP_IMAGE_ROTATE_FEATURE
+#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"
+#ifndef LOCALE_DIR
+#define LOCALE_DIR LOCALEDIR
+#endif
+#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"
+
+#ifndef MP_INI_DIR
+#define MP_INI_DIR DATA_DIR
+#endif
+
+#define PKGNAME_FOR_SHORTCUT PKG_NAME
+
+#define EDJ_PATH EDJDIR
+#define EDJ_NAME EDJ_PATH"/mp-library.edj"
+#define MP_EDJ_NAME EDJ_PATH"/music.edj"
+#define MINICON_EDJ_NAME EDJ_PATH"/mp-minicontroller.edj"
+#define LOCKSCREENMINI_EDJ_NAME EDJ_PATH"/mp-lockscreenmini.edj"
+#define IMAGE_EDJ_NAME EDJ_PATH"/mp-images.edj"
+#define GRP_MAIN "main"
+
+#define THEME_NAME EDJ_PATH"/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"
+#define MP_HTTP_DIR "http://"
+
+#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 EDJ_PATH"/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"
+
+
+//2 FEATURE define
+#define MP_FEATURE_SUPPORT_ID3_TAG
+
+#define MP_FEATURE_PLAY_SPEED
+#undef MP_ALLSHARE_DISCONNECT_WHEN_MIRRORING
+
+#ifndef MP_SOUND_PLAYER /* music player only*/
+//#define MP_FEATURE_ADD_TO_INCLUDE_PLAYLIST_TAB
+//#define MP_FEATURE_ADD_TO_HOME
+#define MP_FEATURE_AUTO_OFF
+//#define MP_FEATURE_AVRCP_13
+//#define MP_FEATURE_SPLIT_WINDOW
+#endif //MP_SOUND_PLAYER
+
+#ifdef MP_SOUND_PLAYER
+#undef MP_3D_FEATURE
+#define MP_FEATURE_EXIT_ON_BACK
+#define MP_FEATURE_USB_OTG
+#endif
+//#define MP_FEATURE_WIFI_SHARE
+//#define MP_FEATURE_VOICE_CONTROL
+//#define MP_FEATURE_PALM_TOUCH
+
+#ifdef MP_DEBUG_MODE
+//#define MP_CREATE_FAKE_IMAGE
+#endif
+
+#define MP_FUNC_ALLSHARE_PLAYLIST "music-player:allshare_"
+
+#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;
+
+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 DATA_PREFIX"/shared/data/NowPlayingId.ini" //playing thread id
+#ifdef MP_SOUND_PLAYER
+#define MP_SHARED_PLAYING_STATUS_INI DATA_PREFIX"/shared/data/nowplaying.ini" //share track info of sound-player
+#else
+#define MP_SHARED_PLAYING_STATUS_INI DATA_PREFIX"/shared/data/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 DATA_PREFIX"/data/playing_track_music.ini"
+#define MP_PLAYING_INI_FILE_NAME_SOUND DATA_PREFIX"/data/playing_track_sound.ini"
+
+/* music play state for livebox and music player and sound player */
+#define MP_PLAY_STATE DATA_PREFIX"/shared/data/MusicPlayStatus.ini" //player state
+
+
+#ifndef MP_SOUND_PLAYER
+#define MP_LSCR_CONTROL DATA_PREFIX"/data/lock_music_ctrl"
+#else
+#define MP_LSCR_CONTROL DATA_PREFIX"/data/lock_sound_ctrl"
+#endif
+
+
+#define MP_SHORTCUT_INI_FILE_NAME_0 MP_INI_DIR"/shortcut_0.ini"
+#define MP_SHORTCUT_INI_FILE_NAME_1 MP_INI_DIR"/shortcut_1.ini"
+#define MP_SHORTCUT_INI_FILE_NAME_2 MP_INI_DIR"/shortcut_2.ini"
+#define MP_SHORTCUT_INI_FILE_NAME_3 MP_INI_DIR"/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) 2000-2015 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>
+
+//#ifdef MP_DEBUG_MODE
+#define ENABLE_CHECK_START_END_FUNCTION // support enter leave debug message
+//#endif
+
+#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
+
+#ifdef MP_SOUND_PLAYER
+#define LOG_TAG "SOUND_PLAYER"
+#else
+#define LOG_TAG "MUSIC_PLAYER"
+#endif
+
+#define LOG_COLOR_RESET "\033[0m"
+#define LOG_COLOR_RED "\033[31m"
+#define LOG_COLOR_YELLOW "\033[33m"
+#define LOG_COLOR_GREEN "\033[32m"
+#define LOG_COLOR_BLUE "\033[36m"
+#define LOG_COLOR_PURPLE "\033[35m"
+
+#ifndef TRUE
+#define TRUE 1
+#endif
+
+#ifndef FALSE
+#define FALSE 0
+#endif
+
+#define mp_debug(fmt, arg...) LOGD_IF(TRUE, LOG_COLOR_GREEN"[TID:%d] "fmt""LOG_COLOR_RESET, gettid(), ##arg)
+#define mp_error(fmt, arg...) LOGW_IF(TRUE, LOG_COLOR_RED"[TID:%d]# ERROR CHECK # "fmt""LOG_COLOR_RESET, gettid(), ##arg)
+
+#define VER_TRACE(fmt, arg...) LOGD_IF(TRUE, LOG_COLOR_RESET"[TID:%d] "fmt""LOG_COLOR_RESET, gettid(), ##arg)
+#define DEBUG_TRACE(fmt, arg...) LOGD_IF(TRUE, LOG_COLOR_GREEN"[TID:%d] "fmt""LOG_COLOR_RESET, gettid(), ##arg)
+#define INFO_TRACE(fmt, arg...) LOGI_IF(TRUE, LOG_COLOR_GREEN"[TID:%d] "fmt""LOG_COLOR_RESET, gettid(), ##arg)
+#define WARN_TRACE(fmt, arg...) LOGW_IF(TRUE, LOG_COLOR_YELLOW"[TID:%d] "fmt""LOG_COLOR_RESET, gettid(), ##arg)
+#define EVENT_TRACE(fmt, arg...) LOGW_IF(TRUE, LOG_COLOR_BLUE"[TID:%d] [MUSIC_PLAYER_EVENT]"fmt""LOG_COLOR_RESET, gettid(), ##arg)
+#define ERROR_TRACE(fmt, arg...) LOGW_IF(TRUE, LOG_COLOR_RED"[TID:%d] "fmt""LOG_COLOR_RESET, gettid(), ##arg)
+#ifdef MP_DEBUG_MODE
+#define mp_debug_temp(fmt, arg...) LOGD_IF(TRUE, LOG_COLOR_GREEN"[TID:%d] "fmt""LOG_COLOR_RESET, gettid(), ##arg)
+#else
+#define mp_debug_temp(fmt, arg...)
+#endif
+#define TIMER_TRACE(fmt, arg...) do { if (mp_file_exists("/tmp/mp_show_timer_log")) LOGD_IF(TRUE, LOG_COLOR_PURPLE"[TID:%d] "fmt""LOG_COLOR_RESET, gettid(), ##arg); } while (0)
+#define PARAM_CHECK(fmt, arg...) LOGD_IF(TRUE, LOG_COLOR_YELLOW"[TID:%d] "fmt""LOG_COLOR_RESET, gettid(), ##arg)
+
+//#define PROFILE_IN(func) LOG(LOG_DEBUG, "LAUNCH","[music-player:Application:"func":IN]"); TA(1, func);
+//#define PROFILE_OUT(func) LOG(LOG_DEBUG, "LAUNCH","[music-player:Application:"func":OUT]"); TA(0, func);
+#define PROFILE_IN(func) TA(1, func);
+#define PROFILE_OUT(func) TA(0, func);
+
+#define SECURE_DEBUG(fmt, args...) SECURE_LOGD("[T:%d] " fmt, gettid(), ##args)
+#define SECURE_INFO(fmt, args...) SECURE_LOGI("[T:%d] " fmt, gettid(), ##args)
+#define SECURE_ERROR(fmt, args...) SECURE_LOGD("[T:%d] " fmt, 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("");
+
+#ifdef ENABLE_CHECK_START_END_FUNCTION
+#ifndef startfunc
+#define startfunc VER_TRACE("+- START -");
+#endif
+#ifndef endfunc
+#define endfunc VER_TRACE("+- END -");
+#endif
+#else
+#define startfunc
+#define endfunc
+#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) 2000-2015 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>
+#ifdef GBSBUILD
+#include <vconf.h>
+#endif
+#include <Ecore_IMF.h>
+//#include <Ecore_X.h>
+#include <Edje.h>
+#include <errno.h>
+#include <libintl.h>
+#include <app.h>
+
+#include <sys/times.h>
+#include <storage.h>
+#include "mp-define.h"
+#include "mp-resource.h"
+#include "mp-player-debug.h"
+
+#include "mp-define.h"
+#include "mp-playlist-mgr.h"
+
+#include "mp-http-mgr.h"
+#include "mp-ta.h"
+#include "mp-language-mgr.h"
+#include "mp-media-info.h"
+
+#include "mp-lyric.h"
+#include "mp-widget.h"
+#include "mp-db-client.h"
+
+#include "mp-view-mgr.h"
+#include "mp-popup.h"
+
+//E_DBus_Connection *EDBusHandle;
+
+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;
+ int del_cb_invoked;
+
+#if 0
+ Ecore_X_Window xwin;
+#else
+ void *xwin;
+#endif
+
+#ifdef MP_FEATURE_EXIT_ON_BACK
+ Ecore_Event_Handler *callerWinEventHandler;
+ unsigned int caller_win_id;
+#endif
+
+ /* Layout for each view */
+ Evas_Object *conformant;
+ Evas_Object *naviframe;
+
+ 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_drm drm_info;
+
+ 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;
+
+ bool create_view_on_play;
+ Evas_Object *preload_player_view;
+ Ecore_Idler *create_on_play_lay_idler;
+ Ecore_Timer *play_after_transit_timer;
+
+ 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;
+ 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;
+
+ mp_http_mgr_t *http_mgr;
+
+ 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;
+
+ Ecore_Animator *minfo_ani;
+ GList *minfo_list;
+ Evas_Object *minfo_genlist;
+
+ bool direct_win_minimize;
+
+ int album_image_w;
+ int album_image_h;
+
+ bool paused_by_other_player;
+
+ mp_track_info_t *current_track_info;
+
+#ifdef MP_FEATURE_APP_IN_APP
+ bool mini_player_mode;
+ int mini_player_current_size;
+ Evas_Object *win_mini;
+ Evas_Object *mini_layout;
+ Evas_Object *title;
+ Evas_Object *event_box;
+
+ int click_count;
+ Ecore_Timer *click_timer;
+ Ecore_Timer *switch_timer;
+#endif
+
+#ifdef MP_3D_FEATURE
+ mp_coverflow_view *coverflow_view;
+#endif
+
+#ifdef MP_FEATURE_AUTO_OFF
+ Ecore_Timer *auto_off_timer;
+ Ecore_Timer *pause_off_timer;
+#endif
+
+#ifdef MP_FEATURE_DESKTOP_MODE
+ bool desktop_mode;
+#endif
+
+ mp_dbc_mgr_t *dbc_mgr;
+
+ 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 externalStorageId;
+ app_event_low_battery_status_e low_battery_status;
+};
+
+
+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) 2000-2015 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 __MUSICVIEW_H__
+#define __MUSICVIEW_H__
+int MusicViewInit(void);
+
+int MusicViewRelease(void);
+
+char* MusicViewEXE (const char* filename, int *length);
+#endif
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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 __SMARTVOLUME_H__
+#define __SMARTVOLUME_H__
+int SmartVolumeInit(void);
+
+int SmartVolumeRelease(void);
+
+int SmartVolumeEXE (char* filename);
+#endif
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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-widget.h"
+#include "mp-util.h"
+#include "mp-setting-ctrl.h"
+#include "mp-item.h"
+#include "mp-player-control.h"
+#include "mp-http-mgr.h"
+#include "mp-playlist-mgr.h"
+#include "mp-ug-launch.h"
+#include "mp-popup.h"
+/* TEMP_BLOCK */
+/* #include "csc-feature.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 "mp-player-mgr.h"
+#include "mp-player-debug.h"
+/* TEMP_BLOCK */
+/* #include <power.h> */
+#include <device/display.h>
+#include <device/callback.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"
+#ifdef MP_WATCH_DOG
+#include "mp-watch-dog.h"
+#endif
+
+#ifndef MP_SOUND_PLAYER
+#include "mp-common.h"
+#endif
+#include "mp-view-mgr.h"
+
+#ifdef MP_FEATURE_APP_IN_APP
+#include "mp-mini-player.h"
+#endif
+
+#ifdef MP_3D_FEATURE
+#include "dali-music.h"
+#endif
+
+#ifdef MP_FEATURE_AVRCP_13
+#include "mp-avrcp.h"
+#endif
+
+#ifdef MP_FEATURE_CONTEXT_ENGINE
+#include "mp-context.h"
+#endif
+
+#ifdef MP_FEATURE_VOICE_CONTROL
+#include "mp-voice-control-mgr.h"
+#endif
+
+#include <system_settings.h>
+/* #include <appcore-common.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
+
+#ifdef MP_FEATURE_DESKTOP_MODE
+#define ELM_PROFILE_DESKTOP "desktop"
+#endif
+
+struct appdata *g_ad;
+static bool g_normal_launched = false;
+
+#ifdef MP_FEATURE_SPLIT_WINDOW
+static int __is_relaunch = 0;
+#endif
+
+static bool _mp_main_init(struct appdata *ad);
+//char *bundle_get_val(bundle *, char *);
+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);
+#ifdef MP_FEATURE_PALM_TOUCH
+static Eina_Bool _mp_main_win_hold_cb(void *data, int type, void *event);
+#endif
+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);
+}
+
+static bool
+_mp_main_init(struct appdata *ad)
+{
+ ad->music_setting_change_flag = false;
+ ad->paused_by_user = true;
+
+ mp_media_info_connect();
+
+ /* 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);
+
+#ifdef MP_FEATURE_PALM_TOUCH
+// ad->hold = ecore_event_handler_add (ECORE_X_EVENT_GESTURE_NOTIFY_HOLD, _mp_main_win_hold_cb, ad);
+//
+// Ecore_Evas *ee;
+// ee = ecore_evas_ecore_evas_get(evas_object_evas_get(ad->win_main));
+// if (!ecore_x_gesture_events_select((Ecore_X_Window)ecore_evas_window_get(ee), ECORE_X_GESTURE_EVENT_MASK_HOLD))
+// ERROR_TRACE("Fail to add gesture event");
+#endif
+ 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");
+#if 0
+ Ecore_X_Event_Window_Visibility_Change* ev = (Ecore_X_Event_Window_Visibility_Change *)event;
+
+ if (ev->win == ad->xwin) {
+ main window
+ if (ev->fully_obscured == 1) {
+ ad->app_is_foreground = false;
+ mp_player_mgr_vol_type_unset();
+ mp_player_mgr_safety_volume_set(ad->app_is_foreground);
+ mp_view_view_pause(mp_view_mgr_get_top_view(GET_VIEW_MGR));
+ } else {
+
+ ad->app_is_foreground = true;
+ mp_player_mgr_vol_type_set();
+ 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);
+ }
+#endif
+ ad->app_is_foreground = false;
+ mp_player_mgr_vol_type_unset();
+ 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);
+
+ /* return ECORE_CALLBACK_PASS_ON; */
+}
+
+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_vol_type_set();
+ 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);
+
+ /* return ECORE_CALLBACK_PASS_ON; */
+}
+
+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");
+
+#ifdef MP_FEATURE_APP_IN_APP
+ if (ad->mini_player_mode) {
+ WARN_TRACE("floating window");
+ return ECORE_CALLBACK_PASS_ON;
+ }
+#endif
+/* TODO Know about the event */
+ /*Ecore_X_Event_Window_Focus_In *ev = (Ecore_X_Event_Window_Focus_In *)event;
+ if (ev->win != ad->xwin)
+ return ECORE_CALLBACK_PASS_ON;*/
+/* TODO */
+ ad->is_focus_out = false;
+ /*if (ad->win_minicon && ad->b_minicontroller_show)
+ mp_minicontroller_destroy(ad); */
+
+ 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);
+
+#ifdef MP_FEATURE_VOICE_CONTROL
+ mp_voice_ctrl_mgr_start_listening();
+#endif
+
+ /* return ECORE_CALLBACK_PASS_ON; */
+}
+
+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);
+
+#ifdef MP_FEATURE_APP_IN_APP
+ if (ad->mini_player_mode) {
+ WARN_TRACE("floating window");
+ return ECORE_CALLBACK_PASS_ON;
+ }
+#endif
+ /* TODO know about the event */
+ /*Ecore_X_Event_Window_Focus_Out *ev = (Ecore_X_Event_Window_Focus_Out *)event;
+ if (ev->win != ad->xwin)
+ return ECORE_CALLBACK_PASS_ON;*/
+
+ /* Testing Code. 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);
+
+#ifdef MP_FEATURE_VOICE_CONTROL
+ mp_voice_ctrl_mgr_stop_listening();
+#endif
+
+ /* return ECORE_CALLBACK_PASS_ON; */
+}
+
+/*static Eina_Bool _mp_main_client_message_cb(void *data, int type, void *event)
+{
+ startfunc;
+
+ struct appdata *ad = data;
+ MP_CHECK_FALSE(ad);
+
+ Ecore_X_Event_Client_Message *ev =
+ (Ecore_X_Event_Client_Message *) event;
+
+ if (ev->message_type == ECORE_X_ATOM_E_ILLUME_ROTATE_ROOT_ANGLE) {
+ ad->quickpanel_angle = ev->data.l[0];
+ DEBUG_TRACE("ROTATION: %d", ad->quickpanel_angle);
+ mp_minicontroller_rotate(ad, ad->quickpanel_angle);
+ } else if (ev->message_type == ECORE_X_ATOM_E_ILLUME_QUICKPANEL_STATE) {
+ bool visible = false;
+ if (ev->data.l[0] == ECORE_X_ATOM_E_ILLUME_QUICKPANEL_ON) {
+ mp_debug("quickpanel show");
+ visible = true;
+ } else {
+ mp_debug("quickpanel hide");
+ visible = false;
+ }
+// mp_minicontroller_visible_set(ad, visible);
+ if (visible)
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_QUICKPANNEL_SHOW);
+ else
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_QUICKPANNEL_HIDE);
+
+#ifdef MP_SOUND_PLAYER
+ if (!visible && ad->player_state == PLAY_STATE_NONE) {
+ mp_app_exit(ad);
+ }
+#endif
+
+ }
+
+ return ECORE_CALLBACK_PASS_ON;
+}*/
+/* TEMP_BLOCK #if 0 */
+#if 1 /* start */
+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) {
+ 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);
+
+#ifdef MP_FEATURE_LOCKSCREEN
+ mp_lockscreenmini_update(ad);
+#endif
+
+#ifdef MP_FEATURE_APP_IN_APP
+ if (ad->mini_player_mode)
+ mp_mini_player_refresh(ad);
+#endif
+
+ 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
+
+ }
+ }
+}
+#endif /* end */
+
+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);
+
+ const char *value = bundle_get_val(b, MP_LB_EVENT_KEY);
+ 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 = bundle_get_val(b, MP_NOWPLAYING_LIST_INDEX);
+ 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);
+
+ mp_playlist_mgr_lazy_append_with_file(ad->playlist_mgr, MP_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_setting_init(ad); */
+
+ mp_player_mgr_vol_type_set();
+ 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);
+ /*ad->mouse_button_down = ecore_event_handler_add(ECORE_EVENT_MOUSE_BUTTON_DOWN, mp_app_mouse_event_cb, ad);
+ ad->mouse_button_up = ecore_event_handler_add(ECORE_EVENT_MOUSE_BUTTON_UP, mp_app_mouse_event_cb, ad);
+ ad->mouse_move = ecore_event_handler_add(ECORE_EVENT_MOUSE_MOVE, mp_app_mouse_event_cb, ad);*/
+ /* window visibility change event */
+ /* for event->fully_obscured==1, event is withdrawn otherwise normal */
+ 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);
+// ad->client_msg = ecore_event_handler_add(ECORE_X_EVENT_CLIENT_MESSAGE, _mp_main_client_message_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_ENABLE_INOTIFY
+ mp_app_inotify_init(ad);
+#endif
+
+#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
+
+ /* TEMP_BLOCK
+ power_set_changed_cb(__mp_main_lcd_state_changed_cb, ad);*/
+ device_add_callback(DEVICE_CALLBACK_DISPLAY_STATE, __mp_main_lcd_state_changed_cb, ad);
+
+#ifdef MP_FEATURE_CONTEXT_ENGINE
+ mp_context_log_connect();
+#endif
+
+#ifdef MP_FEATURE_MUSIC_VIEW
+ mp_music_view_mgr_init();
+#endif
+
+#ifdef MP_FEATURE_CLOUD
+ mp_cloud_create();
+#endif
+
+ if (!ad->playlist_mgr) {
+ mp_common_create_playlist_mgr();
+
+ if (ad->playlist_mgr && ad->current_track_info) {
+ if (ad->current_track_info->uri)
+ mp_playlist_mgr_lazy_append_with_file(ad->playlist_mgr, MP_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);
+ }
+
+#ifdef MP_WATCH_DOG
+ mp_watch_dog_init();
+#endif
+
+ /*initialize session type */
+/*
+ if (!mp_player_mgr_session_init())
+ {
+ ERROR_TRACE("Error when set session");
+ }
+*/
+ mp_volume_init(ad->xwin,ad->win_main);
+#ifdef MP_SOUND_PLAYER
+ mp_volume_key_grab_condition_set(MP_VOLUME_KEY_GRAB_COND_VIEW_VISIBLE, true);
+#endif
+
+ mp_http_mgr_create(ad);
+
+ 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);
+ 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("Inavlid request: %s", request);
+ ret = -1;
+ }
+
+ return ret;
+}
+
+#ifdef MP_FEATURE_EXIT_ON_BACK
+static Eina_Bool
+_mp_main_caller_win_destroy_cb(void *data, int type, void *event)
+{
+ startfunc;
+ /*Ecore_X_Event_Window_Hide *ev;
+ struct appdata *ad = data;
+ MP_CHECK_VAL(ad, ECORE_CALLBACK_RENEW);
+
+ ev = event;
+ if (ev == NULL) {
+ DEBUG_TRACE("ev is NULL");
+ return ECORE_CALLBACK_RENEW;
+ }
+ DEBUG_TRACE("win: %d, caller_win: %d", ev->win ,ad->caller_win_id);
+ if (ev->win == ad->caller_win_id) {
+ elm_exit();
+ }*/
+
+ return ECORE_CALLBACK_RENEW;
+}
+#endif
+
+#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);
+// ecore_x_icccm_transient_for_unset(elm_win_xwindow_get(ad->win_main));
+// ecore_event_handler_del(ad->callerWinEventHandler);
+ ad->caller_win_id = 0;
+ ad->callerWinEventHandler = NULL;
+ }
+
+#if 0
+ unsigned int id = 0;
+ app_control_get_window(app_control, &id);
+ app_control_get_extra_data(app_control, MP_EXIT_ON_BACK, &value);
+
+ if (id && value && !strcasecmp(value, "true")) {
+// ecore_x_icccm_transient_for_set(elm_win_xwindow_get(ad->win_main), id);
+// ecore_x_window_client_manage(id);
+
+ /*ad->callerWinEventHandler =
+ ecore_event_handler_add(ECORE_X_EVENT_WINDOW_DESTROY,
+ _mp_main_caller_win_destroy_cb, ad);
+ ad->caller_win_id = id;*/
+ }
+ IF_FREE(value);
+#endif
+
+#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);
+
+ mp_playlist_mgr_lazy_append_with_file(ad->playlist_mgr, MP_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();
+
+ 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);
+
+ mp_playlist_mgr_lazy_append_with_file(ad->playlist_mgr, MP_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
+ /* create playlist mgr before parse service */
+ mp_common_create_playlist_mgr();
+
+ 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;
+}
+
+#ifdef MP_FEATURE_DESKTOP_MODE
+static void
+_mp_main_win_profile_changed_cb(void *data, Evas_Object *obj, void *event)
+{
+ struct appdata *ad = data;
+ MP_CHECK(ad);
+
+ const char *profile = elm_config_profile_get();
+ if (!g_strcmp0(profile, ELM_PROFILE_DESKTOP)) {
+ /* desktop mode */
+ DEBUG_TRACE("profile = [%s]", profile);
+ ad->desktop_mode = true;
+
+ elm_win_indicator_mode_set(ad->win_main, ELM_WIN_INDICATOR_HIDE);
+
+ /* set win icon */
+ Evas_Object *o = evas_object_image_add(evas_object_evas_get(ad->win_main));
+ evas_object_image_file_set(o, DESKTOP_ICON, NULL);
+ elm_win_icon_object_set(ad->win_main, o);
+ } else {
+ /* mobile mode */
+ ad->desktop_mode = false;
+
+ elm_win_indicator_mode_set(ad->win_main, ELM_WIN_INDICATOR_SHOW);
+ }
+
+#ifdef MP_SOUND_PLAYER
+
+#else
+ /*MpView_t *view = mp_view_mgr_get_view(GET_VIEW_MGR, MP_VIEW_ALL);
+ TODO: unset back button if desktop mode supported */
+#endif
+}
+#endif
+
+#ifdef MP_FEATURE_LANDSCAPE
+static void
+_win_rotation_changed_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ struct appdata *ad = data;
+ MP_CHECK(ad);
+
+ static int current_angle = 0;
+ int changed_angle = elm_win_rotation_get(obj);
+
+ WARN_TRACE("window rotated [%d] => [%d]", current_angle, changed_angle);
+ if (current_angle != changed_angle) {
+ current_angle = changed_angle;
+ mp_device_orientation_cb(changed_angle, data);
+ }
+}
+#endif
+
+static void
+_mp_atexit_cb(void)
+{
+ ERROR_TRACE("#exit() invoked. music-player is exiting");
+}
+
+#ifdef MP_DEBUG_MODE
+static void
+_mp_main_window_flush_pre(void *data, Evas * e, void *event_info)
+{
+ DEBUG_TRACE("");
+
+ static int first;
+ if (!first) {
+ TA_E_L(0, "RENDER_FLUSH_POST(service to render)");
+ TA_E_L(0, "RENDER_FLUSH_POST(main to render)");
+ first = true;
+ }
+ evas_event_callback_del(e, EVAS_CALLBACK_RENDER_FLUSH_POST, _mp_main_window_flush_pre);
+}
+#endif
+
+static void
+_mp_csc_feature_init(struct appdata *ad)
+{
+ MP_CHECK(ad);
+}
+
+#ifdef MP_FEATURE_SPLIT_WINDOW
+static int
+_mp_main_multi_window(struct appdata *ad, app_control_h app_control)
+{
+ char *val_startup = NULL;
+ char *val_layout = NULL;
+ int id = -1;
+
+ int id_startup_by = (int)evas_object_data_get(ad->win_main, "id_startup_by");
+ int id_layout_pos = (int)evas_object_data_get(ad->win_main, "id_layout_pos");
+
+ if (app_control_get_extra_data(app_control, "window_startup_type", &val_startup) != APP_CONTROL_ERROR_NONE)
+ val_startup = strdup("0");
+ if (app_control_get_extra_data(app_control, "window_layout_id", &val_layout) != APP_CONTROL_ERROR_NONE)
+ val_layout = strdup("-1");
+ EVENT_TRACE("id_startup_by is [%d] id_layout_pos is [%d]", id_startup_by, id_layout_pos);
+
+ if (id_startup_by == -1) {
+ id = elm_win_aux_hint_add(ad->win_main, "wm.policy.win.startup.by", val_startup);
+ evas_object_data_set(ad->win_main, "id_startup_by", (void *)id);
+ EVENT_TRACE("It is launched by split launcher but full window mode");
+ } else {
+ elm_win_aux_hint_val_set(ad->win_main, id_startup_by, val_startup);
+ EVENT_TRACE("Split window mode");
+ }
+
+ if (id_layout_pos == -1) {
+ id = elm_win_aux_hint_add(ad->win_main, "wm.policy.win.zone.desk.layout.pos", val_layout);
+ evas_object_data_set(ad->win_main, "id_layout_pos", (void *)id);
+ } else
+ elm_win_aux_hint_val_set(ad->win_main, id_layout_pos, val_layout);
+
+ IF_FREE(val_startup);
+ IF_FREE(val_layout);
+
+ int relaunch = false;
+ char *operation = NULL;
+ if (app_control_get_operation(app_control, &operation) == APP_CONTROL_ERROR_NONE && strcmp(operation, "http://tizen.org/appcontrol/operation/main") == 0) {
+ if (__is_relaunch == 1) {
+ EVENT_TRACE("relaunch event");
+ relaunch = true;
+ }
+ }
+ IF_FREE(operation);
+
+ if (relaunch)
+ elm_win_activate(ad->win_main);
+
+ __is_relaunch = 1;
+
+ return relaunch;
+}
+
+#endif
+
+/**< 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);
+
+#ifdef MP_FEATURE_SPLIT_WINDOW
+ __is_relaunch = 0;
+#endif
+
+ 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.*/
+ elm_theme_extension_add(NULL, THEME_NAME);
+ PROFILE_OUT("elm_theme_extension_add");
+
+ PROFILE_IN("bindtextdomain");
+ bindtextdomain(DOMAIN_NAME, LOCALE_DIR);
+
+ PROFILE_OUT("bindtextdomain");
+
+ PROFILE_IN("mp_create_win");
+ ad->win_main = mp_create_win("music-player");
+ mp_retv_if (ad->win_main == NULL, EINA_FALSE);
+
+#ifdef MP_FEATURE_SPLIT_WINDOW
+ elm_win_wm_desktop_layout_support_set(ad->win_main, EINA_TRUE);
+ evas_object_data_set(ad->win_main, "id_startup_by", (void *)-1);
+ evas_object_data_set(ad->win_main, "id_layout_pos", (void *)-1);
+#endif
+
+#ifdef MP_FEATURE_LANDSCAPE
+ if (elm_win_wm_rotation_supported_get(ad->win_main)) {
+ const int rots[4] = { 0, 90, 180, 270 };
+ elm_win_wm_rotation_available_rotations_set(ad->win_main, rots, 4);
+ evas_object_smart_callback_add(ad->win_main, "wm,rotation,changed", _win_rotation_changed_cb, ad);
+ }
+#else
+ elm_win_wm_rotation_preferred_rotation_set(ad->win_main, 0);
+#endif
+ PROFILE_OUT("mp_create_win");
+
+#ifdef MP_FEATURE_DESKTOP_MODE
+ evas_object_smart_callback_add(ad->win_main, "profile,changed", _mp_main_win_profile_changed_cb, ad);
+
+#endif
+// ad->xwin = elm_win_xwindow_get(ad->win_main);
+
+ 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_WATCH_DOG
+ mp_watch_dog_finalize();
+#endif
+
+ mp_volume_finalize();
+
+#ifdef MP_SOUND_PLAYER
+ mp_setting_set_nowplaying_id(0);
+#endif
+
+ 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);
+ }
+
+#ifdef MP_FEATURE_CLOUD
+ mp_cloud_destroy();
+#endif
+
+ 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;
+ }
+#ifdef MP_FEATURE_PALM_TOUCH
+ if (ad->hold) {
+ ecore_event_handler_del(ad->hold);
+ ad->hold = NULL;
+ }
+#endif
+ 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
+
+ mp_player_mgr_vol_type_unset();
+ mp_player_mgr_safety_volume_set(0);
+
+ if (!mp_player_mgr_session_finish()) {
+ ERROR_TRACE("Error when set session");
+ }
+#ifdef MP_ENABLE_INOTIFY
+ mp_app_inotify_finalize(ad);
+#endif
+ mp_http_mgr_destory(ad);
+
+ 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);
+
+#ifdef MP_3D_FEATURE
+ mp_coverflow_view_destroy(ad);
+#endif
+
+ MP_TA_ACUM_ITEM_SHOW_RESULT_TO(MP_TA_SHOW_FILE);
+ MP_TA_RELEASE();
+
+#ifdef MP_FEATURE_CONTEXT_ENGINE
+ mp_context_log_disconnect();
+#endif
+
+#ifdef MP_FEATURE_MUSIC_VIEW
+ mp_music_view_mgr_release();
+#endif
+
+ return;
+}
+
+/**< Called when every window goes back */
+static void
+mp_pause(void *data)
+{
+ eventfunc;
+ int ret = 0;
+ ret = mp_player_mgr_vol_type_unset();
+ DEBUG_TRACE("sound_manager_unset_current_sound_type = %d", ret);
+ 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;
+ }
+
+#ifdef MP_FEATURE_SPLIT_WINDOW
+ if (_mp_main_multi_window(ad, app_control)) {
+ return;
+ }
+#endif
+
+ 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..");
+#ifdef MP_FEATURE_CLOUD
+ if (ret == MP_PLAY_ERROR_NETWORK)
+ mp_play_next_file(ad, true);
+#endif
+ }
+#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;
+ }
+
+
+#ifdef MP_FEATURE_LANDSCAPE
+ #ifndef defined (MP_3D_FEATURE)
+ if (ad->screen_mode == MP_SCREEN_MODE_LANDSCAPE)
+ evas_object_hide(ad->conformant);
+ #endif
+#endif
+
+ 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);
+ }
+
+ /* TEMP_BLOCK */
+ /*
+ if (power_get_state() == POWER_STATE_SCREEN_OFF)
+ ad->is_lcd_off = true;
+ */
+ 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");
+
+
+#ifdef MP_DEBUG_MODE
+ TA_S_L(0, "RENDER_FLUSH_POST(service to render)");
+ evas_event_callback_add(evas_object_evas_get(ad->win_main), EVAS_CALLBACK_RENDER_FLUSH_POST, _mp_main_window_flush_pre, NULL);
+#endif
+
+ 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;
+ }
+
+#ifdef MP_FEATURE_SUGGEST_FOR_YOU
+ app_control_h db_service = NULL;
+
+ int ret = 0;
+ app_control_create(&db_service);
+ app_control_set_app_id(db_service, "org.tizen.music-player.service");
+ ret = app_control_send_launch_request(db_service, NULL, NULL);
+ if (ret == APP_CONTROL_ERROR_NONE) {
+ DEBUG_TRACE("Succeeded to launch app.");
+ } else {
+ DEBUG_TRACE("Failed to launch a app. ret %d", ret);
+ }
+
+ app_control_destroy(db_service);
+ db_service = NULL;
+#endif
+ 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);
+
+#ifdef MP_FEATURE_LANDSCAPE
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_VIEW_ROTATE_START);
+#endif
+
+ return;
+}
+
+void
+mp_device_orientation_cb(app_device_orientation_e orientation, void *user_data)
+{
+ eventfunc;
+ struct appdata *ad = user_data;
+ MP_CHECK(ad);
+
+
+#ifdef MP_FEATURE_DESKTOP_MODE
+ if (ad->desktop_mode) {
+ return;
+ }
+#endif
+
+#ifdef MP_FEATURE_APP_IN_APP
+ if (ad->mini_player_mode) {
+ mp_mini_player_rotation_cb(orientation, ad);
+ return;
+ }
+#endif
+
+#ifdef MP_FEATURE_LANDSCAPE
+ mp_app_rotate(orientation, user_data);
+#else
+ ERROR_TRACE("Temporary unsupported");
+ return;
+#endif
+}
+
+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 (mp_util_is_streaming(argv[0]) || 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-util.c
+ src/ms-playlist.c
+ src/ms-play-speed.c
+ src/ms-auto-off.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}\"")
+ADD_CUSTOM_TARGET(ms-sound-alive.edj
+ COMMAND edje_cc -no-save -id ${CMAKE_CURRENT_SOURCE_DIR}/images -sd ${CMAKE_CURRENT_SOURCE_DIR}/images/sounds
+ ${CMAKE_CURRENT_SOURCE_DIR}/layout/ms-sound-alive.edc ${CMAKE_BINARY_DIR}/res/edje/layout/ms-sound-alive.edj
+ DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/layout/ms-sound-alive.edc
+)
+
+ADD_DEPENDENCIES(${PROJECT_NAME} ms-sound-alive.edj)
+
+INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
+
+INSTALL(FILES ${CMAKE_BINARY_DIR}/res/edje/layout/ms-sound-alive.edj DESTINATION ${EDJ_DIR})
+
+#INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/images/ DESTINATION ${IMAGES_DIR}
+# FILES_MATCHING
+# PATTERN "*.png"
+#)
+#ADD_SUBDIRECTORY(po)
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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 "../../../res/edje/layout/mp-defines.h"
+
+#define MP_EQ_CUSTOM_SEGMENT_W 532
+#define MP_EQ_CUSTOM_SEGMENT_H 62
+
+#define MP_EQ_CUSTOM_POPUP_W 440
+#define MP_EQ_CUSTOM_POPUP_H 507
+
+#define MP_EQ_CUSTOM_POPUP_VALUE_BAR_BG_H 621
+#define MP_EQ_CUSTOM_POPUP_VALUE_BAR_BG_W 13
+#define MP_EQ_CUSTOM_POPUP_VALUE_BAR_PAD_TOP 126
+#define MP_EQ_CUSTOM_POPUP_VALUE_BAR_PAD_LEFT 0
+#define MP_EQ_CUSTOM_POPUP_VALUE_BAR_PAD_MIDDLE 14
+#define MP_EQ_CUSTOM_POPUP_VALUE_BAR_PAD_RIGHT 11
+
+#define MP_EQ_CUSTOM_POPUP_VALUE_BAR_HANDLER_H 90
+#define MP_EQ_CUSTOM_POPUP_VALUE_BAR_HANDLER_W 48
+
+#define MP_EQ_CUSTOM_POPUP_VALUE_BAR_HANDLER_BUBBLE_H 64
+#define MP_EQ_CUSTOM_POPUP_VALUE_BAR_HANDLER_BUBBLE_W 54
+
+#define MP_EQ_CUSTOM_POPUP_VALUE_BAR_PROGRESS_H 20
+#define MP_EQ_CUSTOM_POPUP_VALUE_BAR_PROGRESS_W 16
+
+#define MP_EQ_CUSTOM_POPUP_VALUE_BAR_PROGRESS_BG_H 20
+#define MP_EQ_CUSTOM_POPUP_VALUE_BAR_PROGRESS_BG_W 16
+
+#define MP_EQ_CUSTOM_POPUP_VALUE_TEXT_H 24
+#define MP_EQ_CUSTOM_POPUP_VALUE_TEXT_W 40
+#define MP_EQ_CUSTOM_POPUP_VALUE_TEXT_PAD_BAR 50
+#define MP_EQ_CUSTOM_POPUP_VALUE_TEXT_PAD_TOP (MP_EQ_CUSTOM_POPUP_VALUE_BAR_PAD_TOP+MP_EQ_CUSTOM_POPUP_VALUE_BAR_BG_H+MP_EQ_CUSTOM_POPUP_VALUE_TEXT_PAD_BAR)
+#define MP_EQ_CUSTOM_POPUP_VALUE_TEXT_PAD_LEFT 11
+#define MP_EQ_CUSTOM_POPUP_VALUE_TEXT_PAD_MIDDLE 14
+#define MP_EQ_CUSTOM_POPUP_VALUE_TEXT_PAD_RIGHT 11
+
+#define MP_EQ_CUSTOM_POPUP_BUTTON_BG_H 58
+#define MP_EQ_CUSTOM_POPUP_BUTTON_BG_W 436
+#define MP_EQ_CUSTOM_POPUP_BUTTON_BG_PAD_TEXT 5
+#define MP_EQ_CUSTOM_POPUP_BUTTON_BG_PAD_TOP (MP_EQ_CUSTOM_POPUP_VALUE_TEXT_PAD_TOP+MP_EQ_CUSTOM_POPUP_VALUE_TEXT_H+MP_EQ_CUSTOM_POPUP_BUTTON_BG_PAD_TEXT)
+#define MP_EQ_CUSTOM_POPUP_BUTTON_BG_PAD_LEFT 2
+#define MP_EQ_CUSTOM_POPUP_BUTTON_BG_PAD_RIGHT 2
+
+#define MP_EQ_CUSTOM_POPUP_BUTTON_LEFT_H 46
+#define MP_EQ_CUSTOM_POPUP_BUTTON_LEFT_W 194
+#define MP_EQ_CUSTOM_POPUP_BUTTON_LEFT_PAD_BUTTONBG 5
+#define MP_EQ_CUSTOM_POPUP_BUTTON_LEFT_PAD_TOP (MP_EQ_CUSTOM_POPUP_BUTTON_BG_PAD_TOP+MP_EQ_CUSTOM_POPUP_BUTTON_LEFT_PAD_BUTTONBG)
+#define MP_EQ_CUSTOM_POPUP_BUTTON_LEFT_PAD_LEFT (2+15)
+#define MP_EQ_CUSTOM_POPUP_BUTTON_LEFT_PAD_RIGHT (2+15)
+
+#define MP_EQ_CUSTOM_POPUP_BUTTON_RIGHT_H 46
+#define MP_EQ_CUSTOM_POPUP_BUTTON_RIGHT_W 194
+#define MP_EQ_CUSTOM_POPUP_BUTTON_RIGHT_PAD_BUTTONBG 5
+#define MP_EQ_CUSTOM_POPUP_BUTTON_RIGHT_PAD_TOP (MP_EQ_CUSTOM_POPUP_BUTTON_BG_PAD_TOP+MP_EQ_CUSTOM_POPUP_BUTTON_RIGHT_PAD_BUTTONBG)
+#define MP_EQ_CUSTOM_POPUP_BUTTON_RIGHT_PAD_LEFT (2+15+194+18)
+#define MP_EQ_CUSTOM_POPUP_BUTTON_RIGHT_PAD_RIGHT (2+15)
+
+#define MP_EQ_CUSTOM_POPUP_VALUE_BAR_H (MP_EQ_CUSTOM_POPUP_VALUE_BAR_BG_H+MP_EQ_CUSTOM_POPUP_VALUE_BAR_HANDLER_H)
+#define MP_EQ_CUSTOM_POPUP_VALUE_BAR_W MP_EQ_CUSTOM_POPUP_VALUE_BAR_BG_W
+
+#define MP_EQ_CUSTOM_POPUP_VALUE_BAR_OFFSET_SX (MP_EQ_CUSTOM_POPUP_VALUE_BAR_PAD_MIDDLE/MP_EQ_CUSTOM_POPUP_W)
+#define MP_EQ_CUSTOM_POPUP_VALUE_BAR_OFFSET_EX (MP_EQ_CUSTOM_POPUP_VALUE_BAR_BG_W/MP_EQ_CUSTOM_POPUP_W)
+#define MP_EQ_CUSTOM_POPUP_VALUE_TEXT_OFFSET_SX (MP_EQ_CUSTOM_POPUP_VALUE_TEXT_PAD_MIDDLE/MP_EQ_CUSTOM_POPUP_W)
+#define MP_EQ_CUSTOM_POPUP_VALUE_TEXT_OFFSET_EX (MP_EQ_CUSTOM_POPUP_VALUE_TEXT_W/MP_EQ_CUSTOM_POPUP_W)
+
+#define MP_EQ_CUSTOM_POPUP_VALUE_BAR1_SX (MP_EQ_CUSTOM_POPUP_VALUE_BAR_PAD_LEFT/MP_EQ_CUSTOM_POPUP_W)
+#define MP_EQ_CUSTOM_POPUP_VALUE_BAR1_EX (MP_EQ_CUSTOM_POPUP_VALUE_BAR_PAD_LEFT+MP_EQ_CUSTOM_POPUP_VALUE_BAR_BG_W)/MP_EQ_CUSTOM_POPUP_W
+#define MP_EQ_CUSTOM_POPUP_VALUE_BAR2_SX (MP_EQ_CUSTOM_POPUP_VALUE_BAR1_EX+MP_EQ_CUSTOM_POPUP_VALUE_BAR_OFFSET_SX)
+#define MP_EQ_CUSTOM_POPUP_VALUE_BAR2_EX (MP_EQ_CUSTOM_POPUP_VALUE_BAR2_SX+MP_EQ_CUSTOM_POPUP_VALUE_BAR_OFFSET_EX)
+#define MP_EQ_CUSTOM_POPUP_VALUE_BAR3_SX (MP_EQ_CUSTOM_POPUP_VALUE_BAR2_EX+MP_EQ_CUSTOM_POPUP_VALUE_BAR_OFFSET_SX)
+#define MP_EQ_CUSTOM_POPUP_VALUE_BAR3_EX (MP_EQ_CUSTOM_POPUP_VALUE_BAR3_SX+MP_EQ_CUSTOM_POPUP_VALUE_BAR_OFFSET_EX)
+#define MP_EQ_CUSTOM_POPUP_VALUE_BAR4_SX (MP_EQ_CUSTOM_POPUP_VALUE_BAR3_EX+MP_EQ_CUSTOM_POPUP_VALUE_BAR_OFFSET_SX)
+#define MP_EQ_CUSTOM_POPUP_VALUE_BAR4_EX (MP_EQ_CUSTOM_POPUP_VALUE_BAR4_SX+MP_EQ_CUSTOM_POPUP_VALUE_BAR_OFFSET_EX)
+#define MP_EQ_CUSTOM_POPUP_VALUE_BAR5_SX (MP_EQ_CUSTOM_POPUP_VALUE_BAR4_EX+MP_EQ_CUSTOM_POPUP_VALUE_BAR_OFFSET_SX)
+#define MP_EQ_CUSTOM_POPUP_VALUE_BAR5_EX (MP_EQ_CUSTOM_POPUP_VALUE_BAR5_SX+MP_EQ_CUSTOM_POPUP_VALUE_BAR_OFFSET_EX)
+#define MP_EQ_CUSTOM_POPUP_VALUE_BAR6_SX (MP_EQ_CUSTOM_POPUP_VALUE_BAR5_EX+MP_EQ_CUSTOM_POPUP_VALUE_BAR_OFFSET_SX)
+#define MP_EQ_CUSTOM_POPUP_VALUE_BAR6_EX (MP_EQ_CUSTOM_POPUP_VALUE_BAR6_SX+MP_EQ_CUSTOM_POPUP_VALUE_BAR_OFFSET_EX)
+#define MP_EQ_CUSTOM_POPUP_VALUE_BAR7_SX (MP_EQ_CUSTOM_POPUP_VALUE_BAR6_EX+MP_EQ_CUSTOM_POPUP_VALUE_BAR_OFFSET_SX)
+#define MP_EQ_CUSTOM_POPUP_VALUE_BAR7_EX (MP_EQ_CUSTOM_POPUP_VALUE_BAR7_SX+MP_EQ_CUSTOM_POPUP_VALUE_BAR_OFFSET_EX)
+#define MP_EQ_CUSTOM_POPUP_VALUE_BAR8_SX (MP_EQ_CUSTOM_POPUP_VALUE_BAR7_EX+MP_EQ_CUSTOM_POPUP_VALUE_BAR_OFFSET_SX)
+#define MP_EQ_CUSTOM_POPUP_VALUE_BAR8_EX (MP_EQ_CUSTOM_POPUP_VALUE_BAR8_SX+MP_EQ_CUSTOM_POPUP_VALUE_BAR_OFFSET_EX)
+
+#define MP_EQ_CUSTOM_POPUP_VALUE_BAR_SY (MP_EQ_CUSTOM_POPUP_VALUE_BAR_PAD_TOP/MP_EQ_CUSTOM_POPUP_H)
+#define MP_EQ_CUSTOM_POPUP_VALUE_BAR_EY (MP_EQ_CUSTOM_POPUP_VALUE_BAR_PAD_TOP+MP_EQ_CUSTOM_POPUP_VALUE_BAR_BG_H)/MP_EQ_CUSTOM_POPUP_H
+
+#define MP_EQ_CUSTOM_POPUP_VALUE_TEXT_SY (MP_EQ_CUSTOM_POPUP_VALUE_TEXT_PAD_TOP/MP_EQ_CUSTOM_POPUP_H)
+#define MP_EQ_CUSTOM_POPUP_VALUE_TEXT_EY (MP_EQ_CUSTOM_POPUP_VALUE_TEXT_PAD_TOP+MP_EQ_CUSTOM_POPUP_VALUE_TEXT_H)/MP_EQ_CUSTOM_POPUP_H
+
+#define MP_EQ_CUSTOM_POPUP_BUTTON_BG_SX (MP_EQ_CUSTOM_POPUP_BUTTON_BG_PAD_LEFT/MP_EQ_CUSTOM_POPUP_W)
+#define MP_EQ_CUSTOM_POPUP_BUTTON_BG_SY (MP_EQ_CUSTOM_POPUP_BUTTON_BG_PAD_TOP/MP_EQ_CUSTOM_POPUP_H)
+#define MP_EQ_CUSTOM_POPUP_BUTTON_BG_EX (MP_EQ_CUSTOM_POPUP_BUTTON_BG_PAD_LEFT+MP_EQ_CUSTOM_POPUP_BUTTON_BG_W)/MP_EQ_CUSTOM_POPUP_W
+#define MP_EQ_CUSTOM_POPUP_BUTTON_BG_EY (MP_EQ_CUSTOM_POPUP_BUTTON_BG_PAD_TOP+MP_EQ_CUSTOM_POPUP_BUTTON_BG_H)/MP_EQ_CUSTOM_POPUP_H
+
+#define MP_EQ_CUSTOM_POPUP_BUTTON_LEFT_SX (MP_EQ_CUSTOM_POPUP_BUTTON_LEFT_PAD_LEFT/MP_EQ_CUSTOM_POPUP_W)
+#define MP_EQ_CUSTOM_POPUP_BUTTON_LEFT_SY (MP_EQ_CUSTOM_POPUP_BUTTON_LEFT_PAD_TOP/MP_EQ_CUSTOM_POPUP_H)
+#define MP_EQ_CUSTOM_POPUP_BUTTON_LEFT_EX (MP_EQ_CUSTOM_POPUP_BUTTON_LEFT_PAD_LEFT+MP_EQ_CUSTOM_POPUP_BUTTON_LEFT_W)/MP_EQ_CUSTOM_POPUP_W
+#define MP_EQ_CUSTOM_POPUP_BUTTON_LEFT_EY (MP_EQ_CUSTOM_POPUP_BUTTON_LEFT_PAD_TOP+MP_EQ_CUSTOM_POPUP_BUTTON_LEFT_H)/MP_EQ_CUSTOM_POPUP_H
+
+#define MP_EQ_CUSTOM_POPUP_BUTTON_RIGHT_SX (MP_EQ_CUSTOM_POPUP_BUTTON_RIGHT_PAD_LEFT/MP_EQ_CUSTOM_POPUP_W)
+#define MP_EQ_CUSTOM_POPUP_BUTTON_RIGHT_SY (MP_EQ_CUSTOM_POPUP_BUTTON_RIGHT_PAD_TOP/MP_EQ_CUSTOM_POPUP_H)
+#define MP_EQ_CUSTOM_POPUP_BUTTON_RIGHT_EX (MP_EQ_CUSTOM_POPUP_BUTTON_RIGHT_PAD_LEFT+MP_EQ_CUSTOM_POPUP_BUTTON_RIGHT_W)/MP_EQ_CUSTOM_POPUP_W
+#define MP_EQ_CUSTOM_POPUP_BUTTON_RIGHT_EY (MP_EQ_CUSTOM_POPUP_BUTTON_RIGHT_PAD_TOP+MP_EQ_CUSTOM_POPUP_BUTTON_RIGHT_H)/MP_EQ_CUSTOM_POPUP_H
+
+collections {
+
+group { name: "mp_eq_custom_popup_layout";
+ parts{
+ part{ name:"content";
+ type: SWALLOW;
+ scale : 1;
+ description { state: "default" 0.0;
+ min: MP_EQ_CUSTOM_POPUP_W MP_EQ_CUSTOM_POPUP_H;
+ align: 0.5 0.5;
+ fixed: 1 0;
+ rel1 {
+ relative: 0.0 0.0;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ }
+ }
+ }
+ }
+}
+
+group {
+ name: "mp_eq_custom_popup";
+ min: MP_EQ_CUSTOM_POPUP_W MP_EQ_CUSTOM_POPUP_H;
+
+ images {
+ image: "T02_popup_bg.png" COMP;
+ image: "T02_popup_bottom_bg.png" COMP;
+ image: "T02_popup_button_normal.png" COMP;
+ image: "T02_popup_button_press.png" COMP;
+ image: "T02_progress_bar.png" COMP;
+ }
+
+ parts {
+ part {
+ name: "eq_custom_popup_bg";
+ type: IMAGE;
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ image { normal: "T02_popup_bg.png";
+ border: 5 5 5 5;}
+ rel1 { relative: 0.0 0.0;}
+ rel2 { relative: 1.0 1.0;}
+ }
+ }
+
+ part {
+ name: "eq_custom_popup_value_bar1";
+ type: SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: MP_EQ_CUSTOM_POPUP_VALUE_BAR_W MP_EQ_CUSTOM_POPUP_VALUE_BAR_H;
+ fixed: 1 1;
+ rel1 { relative: MP_EQ_CUSTOM_POPUP_VALUE_BAR1_SX MP_EQ_CUSTOM_POPUP_VALUE_BAR_SY; to, "eq_custom_popup_bg";}
+ rel2 { relative: MP_EQ_CUSTOM_POPUP_VALUE_BAR1_EX MP_EQ_CUSTOM_POPUP_VALUE_BAR_EY; to, "eq_custom_popup_bg";}
+ }
+ }
+ part {
+ name: "eq_custom_popup_value_bar2";
+ type: SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: MP_EQ_CUSTOM_POPUP_VALUE_BAR_W MP_EQ_CUSTOM_POPUP_VALUE_BAR_H;
+ fixed: 1 1;
+ rel1 { relative: MP_EQ_CUSTOM_POPUP_VALUE_BAR2_SX MP_EQ_CUSTOM_POPUP_VALUE_BAR_SY; to, "eq_custom_popup_bg";}
+ rel2 { relative: MP_EQ_CUSTOM_POPUP_VALUE_BAR2_EX MP_EQ_CUSTOM_POPUP_VALUE_BAR_EY; to, "eq_custom_popup_bg";}
+ }
+ }
+ part {
+ name: "eq_custom_popup_value_bar3";
+ type: SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: MP_EQ_CUSTOM_POPUP_VALUE_BAR_W MP_EQ_CUSTOM_POPUP_VALUE_BAR_H;
+ fixed: 1 1;
+ rel1 { relative: MP_EQ_CUSTOM_POPUP_VALUE_BAR3_SX MP_EQ_CUSTOM_POPUP_VALUE_BAR_SY; to, "eq_custom_popup_bg";}
+ rel2 { relative: MP_EQ_CUSTOM_POPUP_VALUE_BAR3_EX MP_EQ_CUSTOM_POPUP_VALUE_BAR_EY; to, "eq_custom_popup_bg";}
+ }
+ }
+ part {
+ name: "eq_custom_popup_value_bar4";
+ type: SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: MP_EQ_CUSTOM_POPUP_VALUE_BAR_W MP_EQ_CUSTOM_POPUP_VALUE_BAR_H;
+ fixed: 1 1;
+ rel1 { relative: MP_EQ_CUSTOM_POPUP_VALUE_BAR4_SX MP_EQ_CUSTOM_POPUP_VALUE_BAR_SY; to, "eq_custom_popup_bg";}
+ rel2 { relative: MP_EQ_CUSTOM_POPUP_VALUE_BAR4_EX MP_EQ_CUSTOM_POPUP_VALUE_BAR_EY; to, "eq_custom_popup_bg";}
+ }
+ }
+ part {
+ name: "eq_custom_popup_value_bar5";
+ type: SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: MP_EQ_CUSTOM_POPUP_VALUE_BAR_W MP_EQ_CUSTOM_POPUP_VALUE_BAR_H;
+ fixed: 1 1;
+ rel1 { relative: MP_EQ_CUSTOM_POPUP_VALUE_BAR5_SX MP_EQ_CUSTOM_POPUP_VALUE_BAR_SY; to, "eq_custom_popup_bg";}
+ rel2 { relative: MP_EQ_CUSTOM_POPUP_VALUE_BAR5_EX MP_EQ_CUSTOM_POPUP_VALUE_BAR_EY; to, "eq_custom_popup_bg";}
+ }
+ }
+ part {
+ name: "eq_custom_popup_value_bar6";
+ type: SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: MP_EQ_CUSTOM_POPUP_VALUE_BAR_W MP_EQ_CUSTOM_POPUP_VALUE_BAR_H;
+ fixed: 1 1;
+ rel1 { relative: MP_EQ_CUSTOM_POPUP_VALUE_BAR6_SX MP_EQ_CUSTOM_POPUP_VALUE_BAR_SY; to, "eq_custom_popup_bg";}
+ rel2 { relative: MP_EQ_CUSTOM_POPUP_VALUE_BAR6_EX MP_EQ_CUSTOM_POPUP_VALUE_BAR_EY; to, "eq_custom_popup_bg";}
+ }
+ }
+ part {
+ name: "eq_custom_popup_value_bar7";
+ type: SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: MP_EQ_CUSTOM_POPUP_VALUE_BAR_W MP_EQ_CUSTOM_POPUP_VALUE_BAR_H;
+ fixed: 1 1;
+ rel1 { relative: MP_EQ_CUSTOM_POPUP_VALUE_BAR7_SX MP_EQ_CUSTOM_POPUP_VALUE_BAR_SY; to, "eq_custom_popup_bg";}
+ rel2 { relative: MP_EQ_CUSTOM_POPUP_VALUE_BAR7_EX MP_EQ_CUSTOM_POPUP_VALUE_BAR_EY; to, "eq_custom_popup_bg";}
+ }
+ }
+ part {
+ name: "eq_custom_popup_value_bar8";
+ type: SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: MP_EQ_CUSTOM_POPUP_VALUE_BAR_W MP_EQ_CUSTOM_POPUP_VALUE_BAR_H;
+ fixed: 1 1;
+ rel1 { relative: MP_EQ_CUSTOM_POPUP_VALUE_BAR8_SX MP_EQ_CUSTOM_POPUP_VALUE_BAR_SY; to, "eq_custom_popup_bg";}
+ rel2 { relative: MP_EQ_CUSTOM_POPUP_VALUE_BAR8_EX MP_EQ_CUSTOM_POPUP_VALUE_BAR_EY; to, "eq_custom_popup_bg";}
+ }
+ }
+
+ part {
+ name: "eq_custom_popup_value1_text1";
+ type: TEXT;
+ mouse_events: 1;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: MP_EQ_CUSTOM_POPUP_VALUE_TEXT_W MP_EQ_CUSTOM_POPUP_VALUE_TEXT_H;
+ rel1 { relative: 0.0 MP_EQ_CUSTOM_POPUP_VALUE_TEXT_SY; to_x: "eq_custom_popup_value_bar1"; to_y: "eq_custom_popup_bg";}
+ rel2 { relative: 1.0 MP_EQ_CUSTOM_POPUP_VALUE_TEXT_EY; to_x: "eq_custom_popup_value_bar1"; to_y: "eq_custom_popup_bg";}
+ text {
+ font: FONT_STYLE_ROMAN;
+ size: 20;
+ align: 0.5 0.5;
+ text: "125";
+ }
+ color: 171 171 171 255;
+ }
+ }
+ part {
+ name: "eq_custom_popup_value1_text2";
+ type: TEXT;
+ mouse_events: 1;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: MP_EQ_CUSTOM_POPUP_VALUE_TEXT_W MP_EQ_CUSTOM_POPUP_VALUE_TEXT_H;
+ fixed: 1 1;
+ rel1 { relative: 0.0 MP_EQ_CUSTOM_POPUP_VALUE_TEXT_SY; to_x: "eq_custom_popup_value_bar2"; to_y: "eq_custom_popup_bg";}
+ rel2 { relative: 1.0 MP_EQ_CUSTOM_POPUP_VALUE_TEXT_EY; to_x: "eq_custom_popup_value_bar2"; to_y: "eq_custom_popup_bg";}
+ text {
+ font: FONT_STYLE_ROMAN;
+ size: 20;
+ align: 0.5 0.5;
+ text: "250";
+ }
+ color: 171 171 171 255;
+ }
+ }
+ part {
+ name: "eq_custom_popup_value1_text3";
+ type: TEXT;
+ mouse_events: 1;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: MP_EQ_CUSTOM_POPUP_VALUE_TEXT_W MP_EQ_CUSTOM_POPUP_VALUE_TEXT_H;
+ fixed: 1 1;
+ rel1 { relative: 0.0 MP_EQ_CUSTOM_POPUP_VALUE_TEXT_SY; to_x: "eq_custom_popup_value_bar3"; to_y: "eq_custom_popup_bg";}
+ rel2 { relative: 1.0 MP_EQ_CUSTOM_POPUP_VALUE_TEXT_EY; to_x: "eq_custom_popup_value_bar3"; to_y: "eq_custom_popup_bg";}
+ text {
+ font: FONT_STYLE_ROMAN;
+ size: 20;
+ align: 0.5 0.5;
+ text: "500";
+ }
+ color: 171 171 171 255;
+ }
+ }
+ part {
+ name: "eq_custom_popup_value1_text4";
+ type: TEXT;
+ mouse_events: 1;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: MP_EQ_CUSTOM_POPUP_VALUE_TEXT_W MP_EQ_CUSTOM_POPUP_VALUE_TEXT_H;
+ fixed: 1 1;
+ rel1 { relative: 0.0 MP_EQ_CUSTOM_POPUP_VALUE_TEXT_SY; to_x: "eq_custom_popup_value_bar4"; to_y: "eq_custom_popup_bg";}
+ rel2 { relative: 1.0 MP_EQ_CUSTOM_POPUP_VALUE_TEXT_EY; to_x: "eq_custom_popup_value_bar4"; to_y: "eq_custom_popup_bg";}
+ text {
+ font: FONT_STYLE_ROMAN;
+ size: 20;
+ align: 0.5 0.5;
+ text: "1K";
+ }
+ color: 171 171 171 255;
+ }
+ }
+ part {
+ name: "eq_custom_popup_value1_text5";
+ type: TEXT;
+ mouse_events: 1;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: MP_EQ_CUSTOM_POPUP_VALUE_TEXT_W MP_EQ_CUSTOM_POPUP_VALUE_TEXT_H;
+ fixed: 1 1;
+ rel1 { relative: 0.0 MP_EQ_CUSTOM_POPUP_VALUE_TEXT_SY; to_x: "eq_custom_popup_value_bar5"; to_y: "eq_custom_popup_bg";}
+ rel2 { relative: 1.0 MP_EQ_CUSTOM_POPUP_VALUE_TEXT_EY; to_x: "eq_custom_popup_value_bar5"; to_y: "eq_custom_popup_bg";}
+ text {
+ font: FONT_STYLE_ROMAN;
+ size: 20;
+ align: 0.5 0.5;
+ text: "2k";
+ }
+ color: 171 171 171 255;
+ }
+ }
+ part {
+ name: "eq_custom_popup_value1_text6";
+ type: TEXT;
+ mouse_events: 1;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: MP_EQ_CUSTOM_POPUP_VALUE_TEXT_W MP_EQ_CUSTOM_POPUP_VALUE_TEXT_H;
+ fixed: 1 1;
+ rel1 { relative: 0.0 MP_EQ_CUSTOM_POPUP_VALUE_TEXT_SY; to_x: "eq_custom_popup_value_bar6"; to_y: "eq_custom_popup_bg";}
+ rel2 { relative: 1.0 MP_EQ_CUSTOM_POPUP_VALUE_TEXT_EY; to_x: "eq_custom_popup_value_bar6"; to_y: "eq_custom_popup_bg";}
+ text {
+ font: FONT_STYLE_ROMAN;
+ size: 20;
+ align: 0.5 0.5;
+ text: "4k";
+ }
+ color: 171 171 171 255;
+ }
+ }
+ part {
+ name: "eq_custom_popup_value1_text7";
+ type: TEXT;
+ mouse_events: 1;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: MP_EQ_CUSTOM_POPUP_VALUE_TEXT_W MP_EQ_CUSTOM_POPUP_VALUE_TEXT_H;
+ fixed: 1 1;
+ rel1 { relative: 0.0 MP_EQ_CUSTOM_POPUP_VALUE_TEXT_SY; to_x: "eq_custom_popup_value_bar7"; to_y: "eq_custom_popup_bg";}
+ rel2 { relative: 1.0 MP_EQ_CUSTOM_POPUP_VALUE_TEXT_EY; to_x: "eq_custom_popup_value_bar7"; to_y: "eq_custom_popup_bg";}
+ text {
+ font: FONT_STYLE_ROMAN;
+ size: 20;
+ align: 0.5 0.5;
+ text: "8k";
+ }
+ color: 171 171 171 255;
+ }
+ }
+ part {
+ name: "eq_custom_popup_value1_text8";
+ type: TEXT;
+ mouse_events: 1;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: MP_EQ_CUSTOM_POPUP_VALUE_TEXT_W MP_EQ_CUSTOM_POPUP_VALUE_TEXT_H;
+ fixed: 1 1;
+ rel1 { relative: 0.0 MP_EQ_CUSTOM_POPUP_VALUE_TEXT_SY; to_x: "eq_custom_popup_value_bar8"; to_y: "eq_custom_popup_bg";}
+ rel2 { relative: 1.0 MP_EQ_CUSTOM_POPUP_VALUE_TEXT_EY; to_x: "eq_custom_popup_value_bar8"; to_y: "eq_custom_popup_bg";}
+ text {
+ font: FONT_STYLE_ROMAN;
+ size: 20;
+ align: 0.5 0.5;
+ text: "12k";
+ }
+ color: 171 171 171 255;
+ }
+ }
+
+ part {
+ name: "eq_custom_popup_button_bg";
+ type: IMAGE;
+ mouse_events: 1;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ image { normal: "T02_popup_bottom_bg.png";
+ border: 3 3 0 0; }
+ rel1 { relative: MP_EQ_CUSTOM_POPUP_BUTTON_BG_SX MP_EQ_CUSTOM_POPUP_BUTTON_BG_SY; to, "eq_custom_popup_bg";}
+ rel2 { relative: MP_EQ_CUSTOM_POPUP_BUTTON_BG_EX MP_EQ_CUSTOM_POPUP_BUTTON_BG_EY; to, "eq_custom_popup_bg";}
+ }
+ }
+
+ part {
+ name: "eq_custom_popup_button_set_bg";
+ type: IMAGE;
+ mouse_events: 1;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ image { normal: "T02_popup_button_normal.png";
+ border: 4 4 0 0; }
+ rel1 { relative: MP_EQ_CUSTOM_POPUP_BUTTON_LEFT_SX MP_EQ_CUSTOM_POPUP_BUTTON_LEFT_SY; to, "eq_custom_popup_bg";}
+ rel2 { relative: MP_EQ_CUSTOM_POPUP_BUTTON_LEFT_EX MP_EQ_CUSTOM_POPUP_BUTTON_LEFT_EY; to, "eq_custom_popup_bg";}
+
+ }
+ description {
+ state: "press" 0.0;
+ inherit: "default" 0.0;
+ image { normal: "T02_popup_button_press.png";
+ border: 4 4 0 0;}
+ }
+ }
+ part {
+ name: "eq_custom_popup_button_set";
+ type: TEXT;
+ mouse_events: 1;
+ repeat_events: 1;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; to: "eq_custom_popup_button_set_bg";}
+ rel2 { relative: 1.0 1.0; to: "eq_custom_popup_button_set_bg";}
+ text {
+ font: FONT_STYLE_ROMAN;
+ size: 20;
+ align: 0.5 0.5;
+ text: "Set";
+ }
+ color: 78 73 69 255;
+ }
+ }
+
+ part {
+ name: "eq_custom_popup_button_cancel_bg";
+ type: IMAGE;
+ mouse_events: 1;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ image { normal: "T02_popup_button_normal.png";
+ border: 4 4 0 0; }
+ rel1 { relative: MP_EQ_CUSTOM_POPUP_BUTTON_RIGHT_SX MP_EQ_CUSTOM_POPUP_BUTTON_RIGHT_SY; to, "eq_custom_popup_bg";}
+ rel2 { relative: MP_EQ_CUSTOM_POPUP_BUTTON_RIGHT_EX MP_EQ_CUSTOM_POPUP_BUTTON_RIGHT_EY; to, "eq_custom_popup_bg";}
+ }
+ description {
+ state: "press" 0.0;
+ inherit: "default" 0.0;
+ image { normal: "T02_popup_button_press.png";
+ border: 4 4 0 0;}
+ }
+ }
+ part {
+ name: "eq_custom_popup_button_cancel";
+ type: TEXT;
+ mouse_events: 1;
+ repeat_events: 1;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; to: "eq_custom_popup_button_cancel_bg";}
+ rel2 { relative: 1.0 1.0; to: "eq_custom_popup_button_cancel_bg";}
+ text {
+ font: FONT_STYLE_ROMAN;
+ size: 20;
+ align: 0.5 0.5;
+ text: "Cancel";
+ }
+ color: 78 73 69 255;
+ }
+ }
+ }
+
+ programs {
+ program {
+ name: "button_set_down";
+ source: "eq_custom_popup_button_set_bg";
+ signal: "mouse,down,1";
+ action: STATE_SET "press" 0.0;
+ target: "eq_custom_popup_button_set_bg";
+ }
+ program {
+ name: "button_set_up";
+ source: "eq_custom_popup_button_set_bg";
+ signal: "mouse,up,1";
+ action: STATE_SET "default" 0.0;
+ target: "eq_custom_popup_button_set_bg";
+ }
+ program {
+ name: "button_cancel_down";
+ source: "eq_custom_popup_button_cancel_bg";
+ signal: "mouse,down,1";
+ action: STATE_SET "press" 0.0;
+ target: "eq_custom_popup_button_cancel_bg";
+ }
+ program {
+ name: "button_cancel_up";
+ source: "eq_custom_popup_button_cancel_bg";
+ signal: "mouse,up,1";
+ action: STATE_SET "default" 0.0;
+ target: "eq_custom_popup_button_cancel_bg";
+ }
+
+ program {
+ name: "button_set_clicked";
+ source: "eq_custom_popup_button_set_bg";
+ signal: "mouse,clicked,1";
+ action: SIGNAL_EMIT "button_set_clicked" 0.0;
+ }
+
+ program {
+ name: "button_cancel_clicked";
+ source: "eq_custom_popup_button_cancel_bg";
+ signal: "mouse,clicked,1";
+ action: SIGNAL_EMIT "button_cancel_clicked" 0.0;
+ }
+ }
+}
+
+
+#define EQ_PROGRESS_BG_W 13
+#define EQ_PROGRESS_BG_H 621
+#define EQ_HANDLER_W 54
+#define EQ_HANDLER_H 54
+#define IMG_EQ_PROGRESS_BG "T02_user_progress_bg.png"
+#define IMG_EQ_PROGRESS_BAR "T02_user_progress_bar.png"
+#define IMG_EQ_HANDLER_NORMAL "T02_user_progress_handler.png"
+#define IMG_EQ_HANDLER_PRESSED "T02_user_progress_handler_press.png"
+
+group { name: "mp_eq_custom_popup_value_bar";
+ images {
+ image: IMG_EQ_PROGRESS_BG COMP;
+ image: IMG_EQ_PROGRESS_BAR COMP;
+ image: IMG_EQ_HANDLER_NORMAL COMP;
+ image: IMG_EQ_HANDLER_PRESSED COMP;
+ }
+
+ parts {
+ part { name: "bg";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ visible: 0;
+ }
+ }
+
+ part { name: "progress_bg";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.5 0; to: "bg"; }
+ rel2 { relative: 0.5 1; to: "bg"; }
+ image { normal: IMG_EQ_PROGRESS_BG; border: 0 0 13 13; }
+ min: EQ_PROGRESS_BG_W 0;
+ fixed: 1 0;
+ align: 0.5 0.5;
+ }
+ }
+
+ part { name: "progress_bar";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 0.5; to_x: "progress_bg"; to_y: "progressbar_control"; }
+ rel2 { relative: 1 1; to: "progress_bg"; }
+ image { normal: IMG_EQ_PROGRESS_BAR; border: 0 0 13 13; }
+ min: EQ_PROGRESS_BG_W 0;
+ fixed: 1 0;
+ align: 0.5 0.5;
+ }
+ }
+
+ part { name: "progress_bar_confine";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.5 0.0; to: "progress_bg"; offset: 0 (EQ_HANDLER_H/-2); }
+ rel2 { relative: 0.5 1.0; to: "progress_bg"; offset: 0 (EQ_HANDLER_H/2); }
+ min: EQ_HANDLER_W 0;
+ fixed: 1 0;
+ align: 0.5 0.0;
+ visible: 0;
+ }
+ }
+
+ part { name: "progressbar_control";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: IMG_EQ_HANDLER_NORMAL;
+ min: EQ_HANDLER_W EQ_HANDLER_H;
+ fixed: 1 1;
+ }
+ description { state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ image.normal: IMG_EQ_HANDLER_PRESSED;
+ }
+ dragable { confine: "progress_bar_confine";
+ x: 0 0 0;
+ y: 1 1 0;
+ }
+ }
+
+ part { name: "touch_area";
+ type: RECT;
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 0;
+ description { state: "default" 0.0;
+ rel1 { to: "progress_bar_confine"; offset: -10 0; }
+ rel2 { to: "progress_bar_confine"; offset: 10 0; }
+ color: 0 0 0 0;
+ }
+ }
+
+ part { name: "disabler";
+ type: RECT;
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 0;
+ description { state: "default" 0.0;
+ rel1.to: "touch_area";
+ rel2.to: "touch_area";
+ color: 0 0 0 0;
+ visible: 0;
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ }
+
+ programs {
+ program { name: "progressbar_control_down";
+ source: "touch_area";
+ signal: "mouse,down,1";
+ action: STATE_SET "pressed" 0.0;
+ target: "progressbar_control";
+ }
+ program { name: "progressbar_control_up";
+ source: "touch_area";
+ signal: "mouse,up,1";
+ action: STATE_SET "default" 0.0;
+ target: "progressbar_control";
+ }
+ program { name: "progressbar_set_disabled";
+ source: "*";
+ signal: "sig_set_disabled";
+ action: STATE_SET "disabled" 0.0;
+ target: "disabler";
+ }
+ program { name: "progressbar_set_enabled";
+ source: "*";
+ signal: "sig_set_enabled";
+ action: STATE_SET "default" 0.0;
+ target: "disabler";
+ }
+ }
+}
+
+#define USER_LAYOUT_W 720
+#define USER_LAYOUT_H 1008
+#define _X(x) ((x)/USER_LAYOUT_W)
+#define _Y(y) (((y)-158)/USER_LAYOUT_H)
+#define USER_EFFECT_LAYOUT_BG_COLOR 248 246 239 255
+#define IMG_USER_BTN_PRESS_EQ_BG "T02_user_segment_01.png"
+#define IMG_USER_BTN_PRESS_EX_BG "T02_user_segment_02.png"
+
+sounds {
+ sample {
+ name: "button-pressed" AS_IS;
+ source: MP_BUTTON_PRESSED_NAME;
+ }
+}
+
+group { name: "user_audio_effect_layout";
+ images {
+ image: IMG_USER_BTN_PRESS_EQ_BG COMP;
+ image: IMG_USER_BTN_PRESS_EX_BG COMP;
+ }
+
+ parts {
+ part { name: "bg";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ visible: 1;
+ color: USER_EFFECT_LAYOUT_BG_COLOR;
+ }
+ }
+
+ part { name: "padding_top";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 0; to: "bg"; }
+ rel2 { relative: 1 0; to: "bg"; }
+ min: 0 96;
+ fixed: 0 1;
+ visible: 0;
+ }
+ }
+
+ part { name: "segment_area_bg";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.5 1; to: "padding_top"; }
+ rel2 { relative: 0.5 1; to: "padding_top"; }
+ min: MP_EQ_CUSTOM_SEGMENT_W MP_EQ_CUSTOM_SEGMENT_H;
+ fixed: 1 1;
+ align: 0.5 0.0;
+ visible: 1;
+ image.normal: IMG_USER_BTN_PRESS_EQ_BG;
+ }
+ description { state: "extended_pressed" 0.0;
+ rel1 { relative: 0.5 1; to: "padding_top"; }
+ rel2 { relative: 0.5 1; to: "padding_top"; }
+ min: MP_EQ_CUSTOM_SEGMENT_W MP_EQ_CUSTOM_SEGMENT_H;
+ fixed: 1 1;
+ align: 0.5 0.0;
+ visible: 1;
+ image.normal: IMG_USER_BTN_PRESS_EX_BG;
+ }
+ }
+
+
+ part { name: "segment_area";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.5 1; to: "padding_top"; }
+ rel2 { relative: 0.5 1; to: "padding_top"; }
+ min: MP_EQ_CUSTOM_SEGMENT_W MP_EQ_CUSTOM_SEGMENT_H;
+ fixed: 1 1;
+ align: 0.5 0.0;
+ }
+ description { state: "extended_pressed" 0.0;
+ rel1 { relative: 0.5 1; to: "padding_top"; }
+ rel2 { relative: 0.5 1; to: "padding_top"; }
+ min: MP_EQ_CUSTOM_SEGMENT_W MP_EQ_CUSTOM_SEGMENT_H;
+ fixed: 1 1;
+ align: 0.5 0.0;
+ color: MP_COLOR_BG_BLACK;
+ }
+ }
+
+ part { name: "segment_text_left";
+ type: TEXT;
+ scale: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 0; to: "segment_area_bg"; }
+ rel2 { relative: 0.5 1; to: "segment_area_bg"; }
+ min: 100 50;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ text { text: "EQ";
+ font: "Tizen:style=Regular";
+ size: "28";
+ }
+ visible: 1;
+ color: 248 246 239 255;
+ }
+ description { state: "extended_pressed" 0.0;
+ inherit: "default";
+ color: 68 68 68 255;
+ }
+
+ }
+
+ part { name: "segment_text_right";
+ type: TEXT;
+ scale: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.5 0; to: "segment_area_bg"; }
+ rel2 { relative: 1 1; to: "segment_area_bg"; }
+ min: 100 50;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ text { text: "Extended";
+ font: "Tizen:style=Regular";
+ size: "30";
+ }
+ visible: 1;
+ color: 68 68 68 255;
+ }
+ description { state: "extended_pressed" 0.0;
+ inherit: "default";
+ visible: 1;
+ color: 248 246 239 255;
+ }
+ }
+
+ part { name: "segment_left_event_layer";
+ type: RECT;
+ scale: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ rel1.to: "segment_area_bg";
+ rel2 { relative: 0.5 1.0; to: "segment_area_bg"; }
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "segment_right_event_layer";
+ type: RECT;
+ scale: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.5 0.0; to: "segment_area_bg"; }
+ rel2.to: "segment_area_bg";
+ color: 0 0 0 0;
+ }
+ }
+
+ part { name: "padding_middle";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 1; to_x: "bg"; to_y: "segment_area"; }
+ rel2 { relative: 1 1; to_x: "bg"; to_y: "segment_area"; }
+ min: 0 20;
+ fixed: 0 1;
+ visible: 0;
+ }
+ }
+
+ part { name: "padding_bottom";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 1; to: "bg"; }
+ rel2 { relative: 1 1; to: "bg"; }
+ min: 0 40;
+ align: 0.0 1.0;
+ fixed: 0 1;
+ visible: 0;
+ }
+ }
+
+ part { name: "equalizer_area_bg";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ visible: 0;
+ rel1 { relative: 0.0 1.0; to_x: "bg"; to_y: "padding_middle"; }
+ rel2 { relative: 1.0 0.0; to_x: "bg"; to_y: "padding_bottom"; }
+ }
+ }
+
+ part { name: "equalizer_area";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.to: "equalizer_area_bg";
+ rel2.to: "equalizer_area_bg";
+ }
+ }
+ }
+
+ programs {
+
+ program {
+ name : "eq_press";
+ signal: "mouse,clicked,1";
+ source : "segment_left_event_layer";
+ action: PLAY_SAMPLE "button-pressed" 1.0;
+ after : "after_eq_press";
+ }
+
+ program {
+ name : "ex_press";
+ signal : "mouse,clicked,1";
+ source : "segment_right_event_layer";
+ action: PLAY_SAMPLE "button-pressed" 1.0;
+ after : "after_ex_press";
+ }
+
+ program {
+ name : "after_eq_press";
+ source : "*";
+ signal : "EQ_PRESS1";
+ action : STATE_SET "default" 0.0;
+ target : "segment_area_bg";
+ target : "segment_area";
+ target : "segment_text_right";
+ target : "segment_text_left";
+
+ }
+ program {
+ name : "after_ex_press";
+ source : "*";
+ signal : "EX_PRESS2";
+ action : STATE_SET "extended_pressed" 0.0;
+ target : "segment_area_bg";
+ target : "segment_area";
+ target : "segment_text_right";
+ target : "segment_text_left";
+ }
+ }
+}
+
+#define EQ_TEXT_FONT "Tizen:style=Bold"
+#define EQ_TEXT_SIZE 23
+#define EQ_TEXT_COLOR 68 68 68 255
+#define EQ_LAYOUT_W 656
+#define EQ_LAYOUT_H 782
+
+#undef _X
+#undef _Y
+#define _X(x) ((x)/720)
+#define _Y(y) ((y)/782)
+#define MS_EQ_EQUALIZER_TEXT_SIZE 66 23
+
+group { name: "equalizer_layout";
+ parts {
+ part { name: "bg";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ //min: EQ_LAYOUT_W EQ_LAYOUT_H;
+ visible: 0;
+ }
+ }
+
+ part { name: "text_left_top";
+ type: TEXT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: _X(36) 0; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ rel2 { relative: _X(36+66) 0; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ min: MS_EQ_EQUALIZER_TEXT_SIZE;
+ fixed: 1 1;
+ align: 0.0 0.0;
+ text { text: "12 dB";
+ font: EQ_TEXT_FONT;
+ size: EQ_TEXT_SIZE;
+ align: 1.0 0.5;
+ }
+ color: EQ_TEXT_COLOR;
+ }
+ }
+
+ part { name: "text_mid1";
+ type: TEXT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: _X(36) 0.1; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ rel2 { relative: _X(36+66) 0.1; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ min: MS_EQ_EQUALIZER_TEXT_SIZE;
+ fixed: 1 1;
+ align: 0.0 0.0;
+ text { text: " - ";
+ font: EQ_TEXT_FONT;
+ size: EQ_TEXT_SIZE;
+ align: 1.0 0.5;
+ }
+ color: EQ_TEXT_COLOR;
+ }
+ }
+
+ part { name: "text_mid2";
+ type: TEXT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: _X(36) 0.2; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ rel2 { relative: _X(36+66) 0.2; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ min: MS_EQ_EQUALIZER_TEXT_SIZE;
+ fixed: 1 1;
+ align: 0.0 0.0;
+ text { text: " - ";
+ font: EQ_TEXT_FONT;
+ size: EQ_TEXT_SIZE;
+ align: 1.0 0.5;
+ }
+ color: EQ_TEXT_COLOR;
+ }
+ }
+ part { name: "text_mid3";
+ type: TEXT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: _X(36) 0.3; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ rel2 { relative: _X(36+66) 0.3; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ min: MS_EQ_EQUALIZER_TEXT_SIZE;
+ fixed: 1 1;
+ align: 0.0 0.0;
+ text { text: " - ";
+ font: EQ_TEXT_FONT;
+ size: EQ_TEXT_SIZE;
+ align: 1.0 0.5;
+ }
+ color: EQ_TEXT_COLOR;
+ }
+ }
+ part { name: "text_mid4";
+ type: TEXT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: _X(36) 0.4; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ rel2 { relative: _X(36+66) 0.4; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ min: MS_EQ_EQUALIZER_TEXT_SIZE;
+ fixed: 1 1;
+ align: 0.0 0.0;
+ text { text: " - ";
+ font: EQ_TEXT_FONT;
+ size: EQ_TEXT_SIZE;
+ align: 1.0 0.5;
+ }
+ color: EQ_TEXT_COLOR;
+ }
+ }
+
+ part { name: "text_left_middle";
+ type: TEXT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: _X(36) 0.5; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ rel2 { relative: _X(36+66) 0.5; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ min: MS_EQ_EQUALIZER_TEXT_SIZE;
+ fixed: 1 1;
+ align: 0.0 0.5;
+ text { text: "0 dB";
+ font: EQ_TEXT_FONT;
+ size: EQ_TEXT_SIZE;
+ align: 1.0 0.5;
+ }
+ color: EQ_TEXT_COLOR;
+ }
+ }
+
+ part { name: "text_mid6";
+ type: TEXT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: _X(36) 0.6; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ rel2 { relative: _X(36+66) 0.6; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ min: MS_EQ_EQUALIZER_TEXT_SIZE;
+ fixed: 1 1;
+ align: 0.0 0.0;
+ text { text: " - ";
+ font: EQ_TEXT_FONT;
+ size: EQ_TEXT_SIZE;
+ align: 1.0 0.5;
+ }
+ color: EQ_TEXT_COLOR;
+ }
+ }
+
+ part { name: "text_mid7";
+ type: TEXT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: _X(36) 0.7; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ rel2 { relative: _X(36+66) 0.7; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ min: MS_EQ_EQUALIZER_TEXT_SIZE;
+ fixed: 1 1;
+ align: 0.0 0.0;
+ text { text: " - ";
+ font: EQ_TEXT_FONT;
+ size: EQ_TEXT_SIZE;
+ align: 1.0 0.5;
+ }
+ color: EQ_TEXT_COLOR;
+ }
+ }
+ part { name: "text_mid8";
+ type: TEXT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: _X(36) 0.8; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ rel2 { relative: _X(36+66) 0.8; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ min: MS_EQ_EQUALIZER_TEXT_SIZE;
+ fixed: 1 1;
+ align: 0.0 0.0;
+ text { text: " - ";
+ font: EQ_TEXT_FONT;
+ size: EQ_TEXT_SIZE;
+ align: 1.0 0.5;
+ }
+ color: EQ_TEXT_COLOR;
+ }
+ }
+ part { name: "text_mid9";
+ type: TEXT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: _X(36) 0.9; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ rel2 { relative: _X(36+66) 0.9; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ min: MS_EQ_EQUALIZER_TEXT_SIZE;
+ fixed: 1 1;
+ align: 0.0 0.0;
+ text { text: " - ";
+ font: EQ_TEXT_FONT;
+ size: EQ_TEXT_SIZE;
+ align: 1.0 0.5;
+ }
+ color: EQ_TEXT_COLOR;
+ }
+ }
+
+ part { name: "text_left_bottom";
+ type: TEXT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: _X(0) 1.0; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ rel2 { relative: _X(36+66) 1.0; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ min: MS_EQ_EQUALIZER_TEXT_SIZE;
+ fixed: 1 1;
+ align: 1.0 1.0;
+ text { text: "-12 dB";
+ font: EQ_TEXT_FONT;
+ size: EQ_TEXT_SIZE;
+ align: 1.0 0.5;
+ }
+ color: EQ_TEXT_COLOR;
+ }
+ }
+
+ part { name: "eq_custom_popup_value_bar1";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: _X(138) _Y(92); to: "bg"; }
+ rel2 { relative: _X(138) 0.0 ; to_x: "bg"; to_y: "padding_center"; }
+ min: EQ_PROGRESS_BG_W 0;
+ fixed: 1 0;
+ align: 0.0 0.5;
+ }
+ }
+ part { name: "padding_center";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 0; to: "text_eq_bar1"; }
+ rel2 { relative: 1 0; to: "text_eq_bar1"; }
+ min: 0 50;
+ fixed: 0 1;
+ align: 0.0 1.0;
+ visible: 0;
+ }
+ }
+ part { name: "text_eq_bar1";
+ type: TEXT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.5 _Y(690); to_x: "eq_custom_popup_value_bar1"; to_y: "bg"; }
+ rel2 { relative: 0.5 _Y(690+21); to_x: "eq_custom_popup_value_bar1"; to_y: "bg"; }
+ min: 52 21;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ text { text: "50";
+ font: EQ_TEXT_FONT;
+ size: EQ_TEXT_SIZE;
+ align: 0.5 0.5;
+ }
+ color: EQ_TEXT_COLOR;
+ }
+ }
+ part { name: "eq_custom_popup_value_bar2";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: _X(222) 0.0; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ rel2 { relative: _X(222) 1.0; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ min: EQ_PROGRESS_BG_W 0;
+ fixed: 1 0;
+ align: 0.0 0.5;
+ }
+ }
+ part { name: "text_eq_bar2";
+ type: TEXT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.5 0; to_x: "eq_custom_popup_value_bar2"; to_y: "text_eq_bar1"; }
+ rel2 { relative: 0.5 1; to_x: "eq_custom_popup_value_bar2"; to_y: "text_eq_bar1"; }
+ min: 52 21;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ text { text: "150";
+ font: EQ_TEXT_FONT;
+ size: EQ_TEXT_SIZE;
+ align: 0.5 0.5;
+ }
+ color: EQ_TEXT_COLOR;
+ }
+ }
+ part { name: "eq_custom_popup_value_bar3";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: _X(306) 0.0; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ rel2 { relative: _X(306) 1.0; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ min: EQ_PROGRESS_BG_W 0;
+ fixed: 1 0;
+ align: 0.0 0.5;
+ }
+ }
+ part { name: "text_eq_bar3";
+ type: TEXT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.5 0; to_x: "eq_custom_popup_value_bar3"; to_y: "text_eq_bar1"; }
+ rel2 { relative: 0.5 1; to_x: "eq_custom_popup_value_bar3"; to_y: "text_eq_bar1"; }
+ min: 52 21;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ text { text: "400";
+ font: EQ_TEXT_FONT;
+ size: EQ_TEXT_SIZE;
+ align: 0.5 0.5;
+ }
+ color: EQ_TEXT_COLOR;
+ }
+ }
+ part { name: "eq_custom_popup_value_bar4";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: _X(390) 0.0; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ rel2 { relative: _X(390) 1.0; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ min: EQ_PROGRESS_BG_W 0;
+ fixed: 1 0;
+ align: 0.0 0.5;
+ }
+ }
+ part { name: "text_eq_bar4";
+ type: TEXT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.5 0; to_x: "eq_custom_popup_value_bar4"; to_y: "text_eq_bar1"; }
+ rel2 { relative: 0.5 1; to_x: "eq_custom_popup_value_bar4"; to_y: "text_eq_bar1"; }
+ min: 52 21;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ text { text: "1.1K";
+ font: EQ_TEXT_FONT;
+ size: EQ_TEXT_SIZE;
+ align: 0.5 0.5;
+ }
+ color: EQ_TEXT_COLOR;
+ }
+ }
+ part { name: "eq_custom_popup_value_bar5";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: _X(474) 0.0; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ rel2 { relative: _X(474) 1.0; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ min: EQ_PROGRESS_BG_W 0;
+ fixed: 1 0;
+ align: 0.0 0.5;
+ }
+ }
+ part { name: "text_eq_bar5";
+ type: TEXT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.5 0; to_x: "eq_custom_popup_value_bar5"; to_y: "text_eq_bar1"; }
+ rel2 { relative: 0.5 1; to_x: "eq_custom_popup_value_bar5"; to_y: "text_eq_bar1"; }
+ min: 52 21;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ text { text: "3.5K";
+ font: EQ_TEXT_FONT;
+ size: EQ_TEXT_SIZE;
+ align: 0.5 0.5;
+ }
+ color: EQ_TEXT_COLOR;
+ }
+ }
+ part { name: "eq_custom_popup_value_bar6";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: _X(558) 0.0; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ rel2 { relative: _X(558) 1.0; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ min: EQ_PROGRESS_BG_W 0;
+ fixed: 1 0;
+ align: 0.0 0.5;
+ }
+ }
+ part { name: "text_eq_bar6";
+ type: TEXT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.5 0; to_x: "eq_custom_popup_value_bar6"; to_y: "text_eq_bar1"; }
+ rel2 { relative: 0.5 1; to_x: "eq_custom_popup_value_bar6"; to_y: "text_eq_bar1"; }
+ min: 52 21;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ text { text: "8K";
+ font: EQ_TEXT_FONT;
+ size: EQ_TEXT_SIZE;
+ align: 0.5 0.5;
+ }
+ color: EQ_TEXT_COLOR;
+ }
+ }
+ part { name: "eq_custom_popup_value_bar7";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: _X(642) 0.0; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ rel2 { relative: _X(642) 1.0; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ min: EQ_PROGRESS_BG_W 0;
+ fixed: 1 0;
+ align: 0.0 0.5;
+ }
+ }
+ part { name: "text_eq_bar7";
+ type: TEXT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.5 0; to_x: "eq_custom_popup_value_bar7"; to_y: "text_eq_bar1"; }
+ rel2 { relative: 0.5 1; to_x: "eq_custom_popup_value_bar7"; to_y: "text_eq_bar1"; }
+ min: 52 21;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ text { text: "14K";
+ font: EQ_TEXT_FONT;
+ size: EQ_TEXT_SIZE;
+ align: 0.5 0.5;
+ }
+ color: EQ_TEXT_COLOR;
+ }
+ }
+ }
+}
+
+#define MS_EQ_EXTENDED_LEFT_TEXT_SIZE 20 23
+group { name: "extended_layout";
+ parts {
+ part { name: "bg";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ //min: EQ_LAYOUT_W EQ_LAYOUT_H;
+ visible: 0;
+ }
+ }
+
+ part { name: "text_left_1";
+ type: TEXT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: _X(0) 0; to: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ rel2 { relative: _X(100) 0; to: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ min: MS_EQ_EXTENDED_LEFT_TEXT_SIZE;
+ fixed: 1 1;
+ align: 0.0 0.0;
+ text { text: "3";
+ font: EQ_TEXT_FONT;
+ size: EQ_TEXT_SIZE;
+ align: 1.0 0.5;
+ }
+ color: EQ_TEXT_COLOR;
+ }
+ }
+ part { name: "text_left_2";
+ type: TEXT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 (1/3); to_x: "text_left_1"; to_y: "eq_custom_popup_value_bar1"; }
+ rel2 { relative: 1 (1/3); to_x: "text_left_1"; to_y: "eq_custom_popup_value_bar1"; }
+ min: MS_EQ_EXTENDED_LEFT_TEXT_SIZE;
+ fixed: 1 1;
+ align: 0.0 0.5;
+ text { text: "2";
+ font: EQ_TEXT_FONT;
+ size: EQ_TEXT_SIZE;
+ align: 1.0 0.5;
+ }
+ color: EQ_TEXT_COLOR;
+ }
+ }
+ part { name: "text_left_3";
+ type: TEXT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 (2/3); to_x: "text_left_1"; to_y: "eq_custom_popup_value_bar1"; }
+ rel2 { relative: 1 (2/3); to_x: "text_left_1"; to_y: "eq_custom_popup_value_bar1"; }
+ min: MS_EQ_EXTENDED_LEFT_TEXT_SIZE;
+ fixed: 1 1;
+ align: 0.0 0.5;
+ text { text: "1";
+ font: EQ_TEXT_FONT;
+ size: EQ_TEXT_SIZE;
+ align: 1.0 0.5;
+ }
+ color: EQ_TEXT_COLOR;
+ }
+ }
+ part { name: "text_left_4";
+ type: TEXT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 1.0; to_x: "text_left_1"; to_y: "eq_custom_popup_value_bar1"; }
+ rel2 { relative: 1 1.0; to_x: "text_left_1"; to_y: "eq_custom_popup_value_bar1"; }
+ min: MS_EQ_EXTENDED_LEFT_TEXT_SIZE;
+ fixed: 1 1;
+ align: 0.0 1.0;
+ text { text: "0";
+ font: EQ_TEXT_FONT;
+ size: EQ_TEXT_SIZE;
+ align: 1.0 0.5;
+ }
+ color: EQ_TEXT_COLOR;
+ }
+ }
+
+ part { name: "eq_custom_popup_value_bar1";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: _X(146) _Y(92); to: "bg"; }
+ rel2 { relative: _X(146) 0.0; to_x: "bg"; to_y: "padding_center";}
+ min: EQ_PROGRESS_BG_W 0;
+ fixed: 1 0;
+ align: 0.0 0.5;
+ }
+ }
+ part { name: "padding_center";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 0; to: "text_eq_bar1"; }
+ rel2 { relative: 1 0; to: "text_eq_bar1"; }
+ min: 0 50;
+ fixed: 0 1;
+ align: 0.0 1.0;
+ visible: 0;
+ }
+ }
+ part { name: "text_eq_bar1";
+ type: TEXT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.5 _Y(690); to_x: "eq_custom_popup_value_bar1"; to_y: "bg"; }
+ rel2 { relative: 0.5 _Y(690+21); to_x: "eq_custom_popup_value_bar1"; to_y: "bg"; }
+ min: 80 21;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ text { text: "3D";
+ font: EQ_TEXT_FONT;
+ size: EQ_TEXT_SIZE;
+ align: 0.5 0.5;
+ }
+ color: EQ_TEXT_COLOR;
+ }
+ }
+ part { name: "eq_custom_popup_value_bar2";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: _X(253) 0.0; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ rel2 { relative: _X(253) 1.0; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ min: EQ_PROGRESS_BG_W 0;
+ fixed: 1 0;
+ align: 0.0 0.5;
+ }
+ }
+ part { name: "text_eq_bar2";
+ type: TEXT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.5 0; to_x: "eq_custom_popup_value_bar2"; to_y: "text_eq_bar1"; }
+ rel2 { relative: 0.5 1; to_x: "eq_custom_popup_value_bar2"; to_y: "text_eq_bar1"; }
+ min: 80 21;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ text { text: "Bass";
+ font: EQ_TEXT_FONT;
+ size: EQ_TEXT_SIZE;
+ align: 0.5 0.5;
+ }
+ color: EQ_TEXT_COLOR;
+ }
+ }
+ part { name: "eq_custom_popup_value_bar3";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: _X(360) 0.0; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ rel2 { relative: _X(360) 1.0; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ min: EQ_PROGRESS_BG_W 0;
+ fixed: 1 0;
+ align: 0.0 0.5;
+ }
+ }
+ part { name: "text_eq_bar3";
+ type: TEXT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.5 0; to_x: "eq_custom_popup_value_bar3"; to_y: "text_eq_bar1"; }
+ rel2 { relative: 0.5 1; to_x: "eq_custom_popup_value_bar3"; to_y: "text_eq_bar1"; }
+ min: 80 21;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ text { text: "Room";
+ font: EQ_TEXT_FONT;
+ size: EQ_TEXT_SIZE;
+ align: 0.5 0.5;
+ }
+ color: EQ_TEXT_COLOR;
+ }
+ }
+ part { name: "text_eq_bar3_2";
+ type: TEXT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 1; to: "text_eq_bar3"; }
+ rel2 { relative: 1 1; to: "text_eq_bar3"; }
+ min: 0 21;
+ fixed: 0 1;
+ align: 0.5 0.0;
+ text { text: "Size";
+ font: EQ_TEXT_FONT;
+ size: EQ_TEXT_SIZE;
+ align: 0.5 0.0;
+ }
+ color: EQ_TEXT_COLOR;
+ }
+ }
+ part { name: "eq_custom_popup_value_bar4";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: _X(467) 0.0; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ rel2 { relative: _X(467) 1.0; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ min: EQ_PROGRESS_BG_W 0;
+ fixed: 1 0;
+ align: 0.0 0.5;
+ }
+ }
+ part { name: "text_eq_bar4";
+ type: TEXT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.5 0; to_x: "eq_custom_popup_value_bar4"; to_y: "text_eq_bar1"; }
+ rel2 { relative: 0.5 1; to_x: "eq_custom_popup_value_bar4"; to_y: "text_eq_bar1"; }
+ min: 80 21;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ text { text: "Reverb";
+ font: EQ_TEXT_FONT;
+ size: EQ_TEXT_SIZE;
+ align: 0.5 0.5;
+ }
+ color: EQ_TEXT_COLOR;
+ }
+ }
+ part { name: "text_eq_bar4_2";
+ type: TEXT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 1; to: "text_eq_bar4"; }
+ rel2 { relative: 1 1; to: "text_eq_bar4"; }
+ min: 0 21;
+ fixed: 0 1;
+ align: 0.5 0.0;
+ text { text: "Level";
+ font: EQ_TEXT_FONT;
+ size: EQ_TEXT_SIZE;
+ align: 0.5 0.5;
+ }
+ color: EQ_TEXT_COLOR;
+ }
+ }
+ part { name: "eq_custom_popup_value_bar5";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: _X(574) 0.0; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ rel2 { relative: _X(574) 1.0; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ min: EQ_PROGRESS_BG_W 0;
+ fixed: 1 0;
+ align: 0.0 0.5;
+ }
+ }
+ part { name: "text_eq_bar5";
+ type: TEXT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.5 0; to_x: "eq_custom_popup_value_bar5"; to_y: "text_eq_bar1"; }
+ rel2 { relative: 0.5 1; to_x: "eq_custom_popup_value_bar5"; to_y: "text_eq_bar1"; }
+ min: 80 21;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ text { text: "Clarity";
+ font: EQ_TEXT_FONT;
+ size: EQ_TEXT_SIZE;
+ align: 0.5 0.5;
+ }
+ color: EQ_TEXT_COLOR;
+ }
+ }
+ }
+}
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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 {
+
+styles {
+ style {
+ name: "ms_textblock_style_default";
+ base: "font=Tizen:style=Regular font_size=25 color=#FFFFFF align=left wrap=mixed linegap= -5";
+ tag: "br" "\n";
+ tag: "ps" "ps";
+ tag: "hilight" "+ font=Tizen:style=Regular";
+ tag: "b" "+ font=Tizen:style=Regular";
+ tag: "tab" "\t";
+ }
+}
+
+#define MS_SOUNDALIVE_GENGRID_ICON1_NORMAL_ON "T02_soundalive_effect_icon_01.png"
+#define MS_SOUNDALIVE_GENGRID_ICON1_NORMAL_OFF "T02_soundalive_effect_icon_01_off.png"
+#define MS_SOUNDALIVE_GENGRID_ICON2_NORMAL_ON "T02_soundalive_effect_icon_02.png"
+#define MS_SOUNDALIVE_GENGRID_ICON2_NORMAL_OFF "T02_soundalive_effect_icon_02_off.png"
+#define MS_SOUNDALIVE_GENGRID_ICON3_NORMAL_ON "T02_soundalive_effect_icon_03.png"
+#define MS_SOUNDALIVE_GENGRID_ICON3_NORMAL_OFF "T02_soundalive_effect_icon_03_off.png"
+#define MS_SOUNDALIVE_GENGRID_ICON4_NORMAL_ON "T02_soundalive_effect_icon_04.png"
+#define MS_SOUNDALIVE_GENGRID_ICON4_NORMAL_OFF "T02_soundalive_effect_icon_04_off.png"
+#define MS_SOUNDALIVE_GENGRID_ICON5_NORMAL_ON "T02_soundalive_effect_icon_05.png"
+#define MS_SOUNDALIVE_GENGRID_ICON5_NORMAL_OFF "T02_soundalive_effect_icon_05_off.png"
+#define MS_SOUNDALIVE_GENGRID_ICON6_NORMAL_ON "T02_soundalive_effect_icon_06.png"
+#define MS_SOUNDALIVE_GENGRID_ICON6_NORMAL_OFF "T02_soundalive_effect_icon_06_off.png"
+
+#define MS_SOUNDALIVE_GENGRID_ITEM_NORMAL "T02_soundalive_effect_bg.png"
+#define MS_SOUNDALIVE_GENGRID_ITEM_PRESSED "T02_soundalive_effect_bg_press.png"
+#define MS_SOUNDALIVE_GENGRID_ITEM_FOCUSED "T02_soundalive_effect_bg_focus.png"
+
+images {
+ image : MS_SOUNDALIVE_GENGRID_ICON1_NORMAL_ON COMP;
+ image : MS_SOUNDALIVE_GENGRID_ICON1_NORMAL_OFF COMP;
+ image : MS_SOUNDALIVE_GENGRID_ICON2_NORMAL_ON COMP;
+ image : MS_SOUNDALIVE_GENGRID_ICON2_NORMAL_OFF COMP;
+ image : MS_SOUNDALIVE_GENGRID_ICON3_NORMAL_ON COMP;
+ image : MS_SOUNDALIVE_GENGRID_ICON3_NORMAL_OFF COMP;
+ image : MS_SOUNDALIVE_GENGRID_ICON4_NORMAL_ON COMP;
+ image : MS_SOUNDALIVE_GENGRID_ICON4_NORMAL_OFF COMP;
+ image : MS_SOUNDALIVE_GENGRID_ICON5_NORMAL_ON COMP;
+ image : MS_SOUNDALIVE_GENGRID_ICON5_NORMAL_OFF COMP;
+ image : MS_SOUNDALIVE_GENGRID_ICON6_NORMAL_ON COMP;
+ image : MS_SOUNDALIVE_GENGRID_ICON6_NORMAL_OFF COMP;
+ image : MS_SOUNDALIVE_GENGRID_ITEM_NORMAL COMP;
+ image : MS_SOUNDALIVE_GENGRID_ITEM_PRESSED COMP;
+ image : MS_SOUNDALIVE_GENGRID_ITEM_FOCUSED COMP;
+
+}
+
+#define MS_SOUNDALIVE_ITEM_W 420
+#define MS_SOUNDALIVE_ITEM_H 176
+
+#define MS_EFFECT_GENGRID_ITEM_STYLE(__name,__icon_on,__icon_off) \
+ group { name: __name; \
+ script { \
+ public selected = 0; \
+ } \
+ parts { \
+ part { name: "bg"; \
+ type: RECT; \
+ description { state: "default" 0.0; \
+ visible: 0; \
+ rel1 { \
+ relative: 0.0 0.0; \
+ } \
+ rel2 { \
+ relative: 1.0 1.0; \
+ } \
+ } \
+ } \
+ part { name: "bg_image"; \
+ type: IMAGE; \
+ description { state: "default" 0.0; \
+ visible: 1; \
+ rel1 { \
+ relative: 0.0 0.0; \
+ } \
+ rel2 { \
+ relative: 1.0 1.0; \
+ } \
+ image.normal: MS_SOUNDALIVE_GENGRID_ITEM_NORMAL; \
+ image.border: 14 14 14 14; \
+ } \
+ description { state: "pressed" 0.0; \
+ inherit: "default"; \
+ image.normal: MS_SOUNDALIVE_GENGRID_ITEM_PRESSED; \
+ } \
+ description { state: "focused" 0.0; \
+ inherit: "default"; \
+ image.normal: MS_SOUNDALIVE_GENGRID_ITEM_FOCUSED; \
+ } \
+ } \
+ part { name: "padding_left"; \
+ type: RECT; \
+ description { state: "default" 0.0; \
+ visible: 0; \
+ min: 24 0; \
+ fixed: 1 0; \
+ align: 0 0; \
+ rel1 { \
+ relative: 0.0 0.0; \
+ } \
+ rel2 { \
+ relative: 0.0 1.0; \
+ } \
+ } \
+ } \
+ part { name: "padding_right"; \
+ type: RECT; \
+ description { state: "default" 0.0; \
+ visible: 0; \
+ min: 24 0; \
+ fixed: 1 0; \
+ align: 1 0; \
+ rel1 { \
+ relative: 1.0 0.0; \
+ } \
+ rel2 { \
+ relative: 1.0 1.0; \
+ } \
+ } \
+ } \
+ part { name: "padding_bottom"; \
+ type: RECT; \
+ description { state: "default" 0.0; \
+ visible: 0; \
+ min: 0 10; \
+ fixed: 0 1; \
+ align: 0 1; \
+ rel1 { \
+ relative: 0.0 1.0; \
+ } \
+ rel2 { \
+ relative: 1.0 1.0; \
+ } \
+ } \
+ } \
+ part { name: "text_area"; \
+ type: RECT; \
+ description { state: "default" 0.0; \
+ visible: 0; \
+ min: 240 133; \
+ max: 240 133; \
+ fixed: 1 1; \
+ align: 0 0; \
+ rel1 { \
+ relative: 1.0 15/MS_SOUNDALIVE_ITEM_H; \
+ to_x: "padding_left"; \
+ to_y: "bg"; \
+ } \
+ rel2 { \
+ relative: 1.0 148/MS_SOUNDALIVE_ITEM_H; \
+ to_x: "padding_left"; \
+ to_y: "bg"; \
+ } \
+ } \
+ } \
+ part { name: "title"; \
+ type : TEXT; \
+ mouse_events: 1; \
+ repeat_events: 1; \
+ scale: 1; \
+ description { state: "default" 0.0; \
+ min: 0 36; \
+ fixed: 0 1; \
+ align: 0.0 0.0; \
+ rel1 { \
+ relative: 0.0 0.0; \
+ to: "text_area"; \
+ } \
+ rel2 { \
+ relative: 1.0 0.0; \
+ to: "text_area"; \
+ } \
+ text { \
+ size: 32; \
+ align: 0.0 0.5; \
+ text: ""; \
+ } \
+ color: 255 255 255 255; \
+ } \
+ } \
+ part { name: "sub_title"; \
+ type : TEXTBLOCK; \
+ mouse_events: 1; \
+ scale: 1; \
+ description { state: "default" 0.0; \
+ min: 240 90; \
+ max: 240 90; \
+ fixed: 1 1; \
+ align: 0.0 1.0; \
+ rel1 { \
+ relative: 0.0 1.0; \
+ to: "title"; \
+ offset: 0 7; \
+ } \
+ rel2 { \
+ relative: 1.0 1.0; \
+ to: "text_area"; \
+ } \
+ text { \
+ style: "ms_textblock_style_default"; \
+ } \
+ } \
+ } \
+ part { name: "icon_left_margin"; \
+ type: RECT; \
+ description { state: "default" 0.0; \
+ visible: 0; \
+ min: 32 0; \
+ fixed: 1 0; \
+ align: 0 0; \
+ rel1 { \
+ relative: 1.0 0.0; \
+ to_x: "text_area"; \
+ to_y: "bg"; \
+ } \
+ rel2 { \
+ relative: 1.0 0.0; \
+ to_x: "text_area"; \
+ to_y: "bottom_line"; \
+ } \
+ } \
+ } \
+ part { name: "icon"; \
+ type: IMAGE; \
+ description { state: "default" 0.0; \
+ min: 110 110; \
+ max: 110 110; \
+ fixed: 1 1; \
+ align: 1 0.0; \
+ visible: 1; \
+ image.normal: __icon_off; \
+ rel1 { \
+ relative: 1.0 0.0; \
+ to: "icon_left_margin"; \
+ offset: 0 25; \
+ } \
+ rel2 { \
+ relative: 0.0 1.0; \
+ to_x: "padding_right"; \
+ to_y: "icon_left_margin"; \
+ } \
+ } \
+ description { state: "pressed" 0.0; \
+ inherit: "default"; \
+ image.normal: __icon_on; \
+ } \
+ description { state: "focused" 0.0; \
+ inherit: "default"; \
+ image.normal: __icon_on; \
+ } \
+ } \
+ part { name: "bottom_line"; \
+ type: RECT; \
+ description { state: "default" 0.0; \
+ min: 396 6; \
+ fixed: 1 1; \
+ align: 0.5 1.0; \
+ visible: 1; \
+ rel1 { \
+ relative: 0.0 0.0; \
+ to_x: "bg"; \
+ to_y: "padding_bottom"; \
+ offset: 12 0; \
+ } \
+ rel2 { \
+ relative: 1.0 0.0; \
+ to_x: "bg"; \
+ to_y: "padding_bottom"; \
+ offset: -12 0; \
+ } \
+ color: 52 125 158 255; \
+ } \
+ description { state: "pressed" 0.0; \
+ inherit: "default"; \
+ color_class: "AO044"; \
+ } \
+ description { state: "focused" 0.0; \
+ inherit: "default"; \
+ color: 255 255 255 255; \
+ } \
+ } \
+ } \
+ programs { \
+ program { \
+ name : "mouse_down"; \
+ signal : "set_selected"; \
+ source : "*"; \
+ action : STATE_SET "pressed" 0.0; \
+ target : "icon"; \
+ target : "bg_image"; \
+ target : "bottom_line"; \
+ } \
+ program { \
+ name : "mouse_up"; \
+ signal : "set_default"; \
+ source : "*"; \
+ action : STATE_SET "default" 0.0; \
+ target : "icon"; \
+ target : "bg_image"; \
+ target : "bottom_line"; \
+ } \
+ program { name: "selected"; \
+ signal: "elm,state,selected"; \
+ source: "elm"; \
+ script { \
+ if (!get_int(selected)) { \
+ set_int(selected, 1); \
+ set_state(PART:"bg_image", "pressed", 0.0); \
+ set_state(PART:"bottom_line", "pressed", 0.0); \
+ set_state(PART:"icon", "pressed", 0.0); \
+ } \
+ } \
+ } \
+ program { name: "unselected"; \
+ signal: "elm,state,unselected"; \
+ source: "elm"; \
+ script { \
+ if (get_int(selected)) { \
+ set_int(selected, 0); \
+ set_state(PART:"bg_image", "default", 0.0); \
+ set_state(PART:"bottom_line", "default", 0.0); \
+ set_state(PART:"icon", "default", 0.0); \
+ } \
+ } \
+ } \
+ } \
+}
+
+group { name: "ms-effect-layout";
+ parts {
+ part { name: "bg";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ min:0 1180;
+ }
+ description { state: "landscape" 0.0;
+ inherit: "default";
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ min:1280 0;
+ }
+ }
+ part { name: "sa_toolbar_box";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 0; to: "bg"; }
+ rel2 { relative: 1.0 0; to: "bg"; }
+ min: 0 75;
+ fixed: 0 1;
+ visible: 1;
+ align: 0.0 0.0;
+ }
+ description { state: "Advanced_pressed" 0.0;
+ inherit: "default";
+ }
+ }
+ part { name: "effect_area";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ align: 0 1;
+ min: 0 252;
+ fixed: 0 1;
+ visible: 0;
+ color: 0 0 0 0;
+ rel1 { relative: 0.0 1.0; to: "bg";}
+ rel2 { relative: 1.0 1.0; to: "bg";}
+ }
+ description { state: "landscape" 0.0;
+ inherit: "default";
+ rel1 { relative: 1.0 1.0; to_x: "bg"; to_y: "sa_toolbar_box"; offset: 0 20;}
+ rel2 { relative: 1.0 1.0; to: "bg";}
+ min: 436 0;
+ fixed: 1 0;
+ align: 1 0;
+ }
+ }
+ #if 0
+ part { name: "padding_top";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 1; to_x: "effect_area"; to_y: "sa_toolbar_box"; }
+ rel2 { relative: 1 1; to_x: "effect_area"; to_y: "sa_toolbar_box"; }
+ min: 0 0;
+ fixed: 0 1;
+ visible: 0;
+ }
+ }
+ part { name: "padding_bottom";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 1; to: "effect_area"; }
+ rel2 { relative: 1 1; to: "effect_area"; }
+ min: 0 40;
+ align: 0.0 1.0;
+ fixed: 0 1;
+ visible: 0;
+ }
+ }
+ #endif
+ part { name: "contain_area_bg";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ visible: 0;
+ rel1 { relative: 0.0 1.0; to_x: "bg"; to_y: "sa_toolbar_box"; }
+ rel2 { relative: 1.0 0.0; to_x: "bg"; to_y: "effect_area"; }
+ }
+ description { state: "landscape" 0.0;
+ inherit: "default";
+ rel1 { relative: 0.0 1.0; to_x: "bg"; to_y: "sa_toolbar_box";}
+ rel2 { relative: 0.0 1.0; to_x: "effect_area"; }
+ }
+ }
+ part { name: "contain_area";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.to: "contain_area_bg";
+ rel2.to: "contain_area_bg";
+ }
+ }
+ part { name: "effect_title";
+ type: TEXT;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ align: 0 0;
+ min: 0 52;
+ fixed: 0 1;
+ visible: 1;
+ text {
+ text: "";
+ size: 30;
+ align: 0.0 0.5;
+ min: 1 0;
+ }
+ color: 21 108 148 255;
+ rel1 { relative: 0.0 0.0; to: "effect_area"; offset: 32 0;}
+ rel2 { relative: 1.0 0.0; to: "effect_area";}
+ }
+ description { state: "landscape" 0.0;
+ inherit: "default";
+ min: 0 60;
+ }
+ }
+ part { name: "title_bottom_line";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ align: 0 0;
+ min: 0 4;
+ fixed: 0 1;
+ visible: 1;
+ color: 217 217 217 255;
+ rel1 { relative: 0.0 1.0; to_x: "effect_area"; to_y: "effect_title";}
+ rel2 { relative: 1.0 1.0; to_x: "effect_area"; to_y: "effect_title";}
+ }
+ }
+ part { name: "effect-content";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ align: 0 0.5;
+ fixed: 1 1;
+ visible: 1;
+ rel1 { relative: 0.0 1.0; to_x: "effect_area"; to_y: "title_bottom_line"; }
+ rel2 { relative: 1.0 1.0; to: "effect_area"; }
+ }
+ }
+ }
+
+ programs {
+ program {
+ name : "set_landscape_mode";
+ signal : "set_landscape_mode";
+ source : "*";
+ action : STATE_SET "landscape" 0.0;
+ target : "bg";
+ target : "effect_area";
+ target : "effect_title";
+ target : "contain_area_bg";
+ }
+ program {
+ name : "set_protial_mode";
+ signal : "set_protial_mode";
+ source : "*";
+ action : STATE_SET "default" 0.0;
+ target : "bg";
+ target : "effect_area";
+ target : "effect_title";
+ target : "contain_area_bg";
+ }
+ }
+}
+
+/************* gengrid effect custom layout ***************/
+MS_EFFECT_GENGRID_ITEM_STYLE("none_layout", MS_SOUNDALIVE_GENGRID_ICON5_NORMAL_ON, MS_SOUNDALIVE_GENGRID_ICON5_NORMAL_OFF);
+MS_EFFECT_GENGRID_ITEM_STYLE("tube_layout", MS_SOUNDALIVE_GENGRID_ICON4_NORMAL_ON, MS_SOUNDALIVE_GENGRID_ICON4_NORMAL_OFF);
+MS_EFFECT_GENGRID_ITEM_STYLE("virtual_layout", MS_SOUNDALIVE_GENGRID_ICON6_NORMAL_ON, MS_SOUNDALIVE_GENGRID_ICON6_NORMAL_OFF);
+MS_EFFECT_GENGRID_ITEM_STYLE("small_room_layout", MS_SOUNDALIVE_GENGRID_ICON1_NORMAL_ON, MS_SOUNDALIVE_GENGRID_ICON1_NORMAL_OFF);
+MS_EFFECT_GENGRID_ITEM_STYLE("large_room_layout", MS_SOUNDALIVE_GENGRID_ICON2_NORMAL_ON, MS_SOUNDALIVE_GENGRID_ICON2_NORMAL_OFF);
+MS_EFFECT_GENGRID_ITEM_STYLE("concert_layout", MS_SOUNDALIVE_GENGRID_ICON3_NORMAL_ON, MS_SOUNDALIVE_GENGRID_ICON3_NORMAL_OFF);
+
+
+group { name: "basic_layout";
+ parts {
+ part { name: "bg";
+ type: RECT;
+ 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: "padding_top";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ min: 0 26;
+ align: 0.0 0.0;
+ fixed: 1 1;
+ visible: 0;
+ color: 0 0 0 0;
+ rel1 { relative: 0.0 0.0; to: "bg";}
+ rel2 { relative: 1.0 0.0; to: "bg";}
+ }
+ }
+ part { name: "auto_box";
+ type: SWALLOW;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ visible: 1;
+ min: 63 63;
+ max: 63 63;
+ align: 0.0 0.0;
+ fixed: 1 1;
+ rel1 { relative: 0.0 1.0; to: "padding_top"; offset: 15 0; }
+ rel2 { relative: 0.0 1.0; to: "padding_top"; offset: 15 0; }
+ }
+ description { state: "landscape" 0.0;
+ visible: 1;
+ inherit: "default";
+ rel1 { relative: 0.0 0.0; to: "bg"; offset: 30 74; }
+ rel2 { relative: 0.0 0.0; to: "bg"; offset: 30 74; }
+ }
+ }
+ part { name: "reset_box";
+ type: SWALLOW;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ min: 186 74;
+ max: 186 74;
+ align: 1.0 0.0;
+ fixed: 1 1;
+ visible: 1;
+ rel1 { relative: 1.0 1.0; to: "padding_top"; offset:-74 0;}
+ rel2 { relative: 1.0 1.0; to: "padding_top";offset:-74 0; }
+ }
+ description { state: "landscape" 0.0;
+ inherit: "default";
+ min: 170 74;
+ max: 170 74;
+ align: 0.0 1.0;
+ rel1 { relative: 0.0 1.0; to: "bg"; offset:30 -55;}
+ rel2 { relative: 0.0 1.0; to: "bg";offset:30 -55; }
+ }
+ }
+ part { name: "auto_box_label";
+ type: TEXT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ visible: 1;
+ min: 100 50;
+ fixed: 1 1;
+ text {
+ size: 45;
+ text: "";
+ align: 0.0 0.5;
+ min: 1 0;
+ }
+ align: 0.0 0.5;
+ color: 0 0 0 255;
+ rel1 { relative: 1.0 0.0; to_x: "auto_box"; to_y: "auto_box"; offset: 15 0;}
+ rel2 { relative: 1.0 1.0; to_x: "bg"; to_y: "auto_box"; }
+ }
+ }
+ part {
+ name: "square_top";
+ mouse_events: 0;
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ min: 0 25;
+ align: 0.0 0.0;
+ color: 0 0 0 0;
+ fixed: 0 1;
+ rel1 { relative: 0.0 1.0; to_x: "bg"; to_y: "auto_box";}
+ rel2 { relative: 1.0 1.0; to_x: "bg"; to_y: "auto_box";}
+ }
+ }
+ part {
+ name: "square_bg";
+ mouse_events: 0;
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ min: 720 720;
+ max: 720 720;
+ fixed: 1 1;
+ align: 0 0;
+ color: 0 0 0 0;
+ rel1 { relative: 0.0 1.0; to_x: "bg"; to_y: "square_top";}
+ rel2 { relative: 1.0 1.0; to_x: "bg"; to_y: "square_top";}
+ }
+ description { state: "landscape" 0.0;
+ visible: 1;
+ inherit: "default";
+ min: 530 530;
+ max: 530 530;
+ rel1 { relative: 209/844 9/594; to: "bg";}
+ rel2 { relative: 1.0 1.0; to: "bg";}
+ }
+ }
+ part {
+ name: "gengrid";
+ mouse_events: 1;
+ type: SWALLOW;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ min: 610 610;
+ max: 610 610;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ rel1 { relative: 0.0 0.0; to: "square_bg"; }
+ rel2 { relative: 1.0 1.0; to: "square_bg"; }
+ }
+ description { state: "landscape" 0.0;
+ inherit: "default";
+ min: 460 460;
+ max: 460 460;
+ }
+ }
+ part {
+ name: "title_top";
+ mouse_events: 1;
+ type: TEXT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ min: 0 45;
+ fixed: 0 1;
+ align: 0 1;
+ rel1 { relative: 0.0 0.0; to: "gengrid";}
+ rel2 { relative: 1.0 0.0; to: "gengrid";}
+ color: 11 70 97 255;
+ text {
+ size: 28;
+ min: 0 1;
+ align: 0.5 0.0;
+ text: "";
+ }
+ }
+ description { state: "landscape" 0.0;
+ inherit: "default";
+ min: 0 35;
+ text {
+ size: 28;
+ min: 0 1;
+ align: 0.5 0.0;
+ text: "";
+ }
+ }
+ }
+ part {
+ name: "title_bottom";
+ mouse_events: 1;
+ type: TEXT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ min: 0 45;
+ fixed: 0 1;
+ align: 0 0;
+ rel1 { relative: 0.0 1.0; to: "gengrid";}
+ rel2 { relative: 1.0 1.0; to: "gengrid";}
+ color: 11 70 97 255;
+ text {
+ size: 28;
+ min: 0 1;
+ align: 0.5 1.0;
+ text: "";
+ }
+ }
+ description { state: "landscape" 0.0;
+ inherit: "default";
+ min: 0 35;
+ text {
+ size: 28;
+ min: 0 1;
+ align: 0.5 0.0;
+ text: "";
+ }
+ }
+ }
+ 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: 45 0;
+ fixed: 1 0;
+ align: 1.0 0.0;
+ visible: 0;
+ }
+ description { state: "landscape" 0.0;
+ inherit: "default";
+ min: 35 0;
+ }
+ }
+ part {
+ name: "title_left";
+ mouse_events: 1;
+ type: TEXT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ 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: 11 70 97 255;
+ text {
+ size: 28;
+ min: 1 1;
+ align: 0.5 0.0;
+ text: "";
+ }
+ }
+ description { state: "landscape" 0.0;
+ inherit: "default";
+ text {
+ size: 28;
+ min: 1 1;
+ align: 0.5 0.0;
+ text: "";
+ }
+ }
+ }
+ 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: 45 0;
+ fixed: 1 0;
+ align: 0.0 0.0;
+ visible: 0;
+ }
+ description { state: "landscape" 0.0;
+ inherit: "default";
+ min: 35 0;
+ }
+ }
+ part {
+ name: "title_right";
+ mouse_events: 1;
+ type: TEXT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ 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: 11 70 97 255;
+ text {
+ size: 28;
+ min: 1 1;
+ align: 0.5 1.0;
+ text: "";
+ }
+ }
+ description { state: "landscape" 0.0;
+ inherit: "default";
+ text {
+ size: 28;
+ min: 1 1;
+ align: 0.5 1.0;
+ text: "";
+ }
+ }
+ }
+ }
+ programs {
+ program {
+ name : "set_landscape_mode";
+ signal : "set_landscape_mode";
+ source : "*";
+ action : STATE_SET "landscape" 0.0;
+ target : "square_bg";
+ target : "gengrid";
+ target : "square_bg";
+ target : "auto_box";
+ target : "title_top";
+ target : "title_bottom";
+ target : "title_right";
+ target : "title_left";
+ target : "title_left_area";
+ target : "title_right_area";
+ target : "reset_box";
+ }
+ program {
+ name : "set_protial_mode";
+ signal : "set_protial_mode";
+ source : "*";
+ action : STATE_SET "default" 0.0;
+ target : "square_bg";
+ target : "gengrid";
+ target : "square_bg";
+ target : "auto_box";
+ target : "title_top";
+ target : "title_bottom";
+ target : "title_right";
+ target : "title_left";
+ target : "title_left_area";
+ target : "title_right_area";
+ target : "reset_box";
+ }
+ }
+}
+
+
+
+#define MS_EA_TEXT_COLOR 68 68 68 255
+
+#define MS_EA_PROGRESS_BG_W 12
+#define MS_EA_PROGRESS_BG_H 492
+#define MS_EA_HANDLER_W 60
+#define MS_EA_HANDLER_H 60
+#define IMG_EA_PROGRESS_BG "T02_soundalive_progress_bg.png"
+#define IMG_EA_PROGRESS_BAR "T02_soundalive_progress_bar.png"
+#define IMG_EA_HANDLER_NORMAL "T02_soundalive_progress_handler.png"
+#define IMG_EA_HANDLER_PRESSED "T02_soundalive_progress_handler_press.png"
+
+#define MS_ADVANCED_LEFT_EQ_W 720
+#define MS_ADVANCED_LEFT_EQ_H 550
+
+#define MS_ADVANCED_LEFT_EQ_LD_W 542
+#define MS_ADVANCED_LEFT_EQ_LD_H 452
+
+#undef _X
+#undef _Y
+#define _X(x) ((x)/MS_ADVANCED_LEFT_EQ_W)
+#define _Y(y) ((y)/MS_ADVANCED_LEFT_EQ_H)
+#define _X_LD(x) ((x)/MS_ADVANCED_LEFT_EQ_LD_W)
+#define _Y_LD(y) ((y)/MS_ADVANCED_LEFT_EQ_LD_H)
+
+#define MS_EA_TEXT_FIXED_SIZE 66 23
+
+group { name: "progress_layout";
+ parts {
+
+ part { name: "bg";
+ type: RECT;
+ 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: "text_left_top";
+ type: TEXT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: _X(48) 0; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ rel2 { relative: _X(48+66) 0; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ min: MS_EA_TEXT_FIXED_SIZE;
+ fixed: 1 1;
+ align: 0.0 0.0;
+ text {
+ text: "10 dB";
+ size: 23;
+ align: 1.0 0.5;
+ }
+ color: 59 59 59 255;
+ }
+ }
+ part { name: "text_left_middle";
+ type: TEXT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: _X(48) 0.5; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ rel2 { relative: _X(48+66) 0.5; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ min: MS_EA_TEXT_FIXED_SIZE;
+ fixed: 1 1;
+ align: 0.0 0.5;
+ text {
+ text: "0 dB";
+ size: 23;
+ align: 1.0 0.5;
+ }
+ color: 59 59 59 255;
+ }
+ }
+ part { name: "text_left_bottom";
+ type: TEXT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: _X(0) 1.0; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ rel2 { relative: _X(48+66) 1.0; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ min: MS_EA_TEXT_FIXED_SIZE;
+ fixed: 1 1;
+ align: 1.0 1.0;
+ text { text: "-10 dB";
+ size: 23;
+ align: 1.0 0.5;
+ }
+ color: 59 59 59 255;
+ }
+ }
+ part { name: "eq_custom_popup_value_bar1";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: _X(152) 0.0; to_y: "bg"; }
+ rel2 { relative: _X(152) 0.0 ; to_y: "progress_bottom"; }
+ min: MS_EA_PROGRESS_BG_W 0;
+ max: MS_EA_PROGRESS_BG_W MS_EA_PROGRESS_BG_H;
+ fixed: 1 1;
+ align: 0.0 0.0;
+ }
+ }
+ part { name: "progress_bottom";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 1; to: "bg"; }
+ rel2 { relative: 1 1; to: "bg"; }
+ min: 0 58;
+ fixed: 0 1;
+ align: 0.0 1.0;
+ visible: 0;
+ }
+ }
+ part { name: "text_eq_bar1";
+ type: TEXT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.5 1.0; to_x: "eq_custom_popup_value_bar1"; to_y: "bg"; }
+ rel2 { relative: 0.5 1.0; to_x: "eq_custom_popup_value_bar1"; to_y: "bg"; }
+ min: 60 30;
+ fixed: 1 1;
+ align: 0.5 1.0;
+ text {
+ text: "60";
+ size: 23;
+ align: 0.5 0.5;
+ }
+ color: 59 59 59 255;
+ }
+ }
+ part { name: "eq_custom_popup_value_bar2";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: _X(238) 0.0; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ rel2 { relative: _X(238) 1.0; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ min: MS_EA_PROGRESS_BG_W 0;
+ fixed: 1 0;
+ align: 0.0 0.5;
+ }
+ }
+ part { name: "text_eq_bar2";
+ type: TEXT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.5 1.0; to_x: "eq_custom_popup_value_bar2"; to_y: "bg"; }
+ rel2 { relative: 0.5 1.0; to_x: "eq_custom_popup_value_bar2"; to_y: "bg"; }
+ min: 52 21;
+ fixed: 1 1;
+ align: 0.5 1.0;
+ text {
+ text: "150";
+ size: 23;
+ align: 0.5 0.5;
+ }
+ color: 59 59 59 255;
+ }
+ }
+ part { name: "eq_custom_popup_value_bar3";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: _X(314) 0.0; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ rel2 { relative: _X(314) 1.0; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ min: MS_EA_PROGRESS_BG_W 0;
+ fixed: 1 0;
+ align: 0.0 0.5;
+ }
+ }
+ part { name: "text_eq_bar3";
+ type: TEXT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.5 1.0; to_x: "eq_custom_popup_value_bar3"; to_y: "bg"; }
+ rel2 { relative: 0.5 1.0; to_x: "eq_custom_popup_value_bar3"; to_y: "bg"; }
+ min: 52 21;
+ fixed: 1 1;
+ align: 0.5 1.0;
+ text {
+ text: "400";
+ size: 23;
+ align: 0.5 0.5;
+ }
+ color: 59 59 59 255;
+ }
+ }
+ part { name: "eq_custom_popup_value_bar4";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: _X(390) 0.0; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ rel2 { relative: _X(390) 1.0; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ min: MS_EA_PROGRESS_BG_W 0;
+ fixed: 1 0;
+ align: 0.0 0.5;
+ }
+ }
+ part { name: "text_eq_bar4";
+ type: TEXT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.5 1.0; to_x: "eq_custom_popup_value_bar4"; to_y: "bg"; }
+ rel2 { relative: 0.5 1.0; to_x: "eq_custom_popup_value_bar4"; to_y: "bg"; }
+ min: 52 21;
+ fixed: 1 1;
+ align: 0.5 1.0;
+ text {
+ text: "1.1K";
+ size: 23;
+ align: 0.5 0.5;
+ }
+ color: 59 59 59 255;
+ }
+ }
+ part { name: "eq_custom_popup_value_bar5";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: _X(466) 0.0; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ rel2 { relative: _X(466) 1.0; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ min: MS_EA_PROGRESS_BG_W 0;
+ fixed: 1 0;
+ align: 0.0 0.5;
+ }
+ }
+ part { name: "text_eq_bar5";
+ type: TEXT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.5 1.0; to_x: "eq_custom_popup_value_bar5"; to_y: "bg"; }
+ rel2 { relative: 0.5 1.0; to_x: "eq_custom_popup_value_bar5"; to_y: "bg"; }
+ min: 52 21;
+ fixed: 1 1;
+ align: 0.5 1.0;
+ text {
+ text: "3.5K";
+ size: 23;
+ align: 0.5 0.5;
+ }
+ color: 59 59 59 255;
+ }
+ }
+ part { name: "eq_custom_popup_value_bar6";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: _X(542) 0.0; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ rel2 { relative: _X(542) 1.0; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ min: MS_EA_PROGRESS_BG_W 0;
+ fixed: 1 0;
+ align: 0.0 0.5;
+ }
+ }
+ part { name: "text_eq_bar6";
+ type: TEXT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.5 1.0; to_x: "eq_custom_popup_value_bar6"; to_y: "bg"; }
+ rel2 { relative: 0.5 1.0; to_x: "eq_custom_popup_value_bar6"; to_y: "bg"; }
+ min: 52 21;
+ fixed: 1 1;
+ align: 0.5 1.0;
+ text {
+ text: "8K";
+ size: 23;
+ align: 0.5 0.5;
+ }
+ color: 59 59 59 255;
+ }
+ }
+ part { name: "eq_custom_popup_value_bar7";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: _X(618) 0.0; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ rel2 { relative: _X(618) 1.0; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ min: MS_EA_PROGRESS_BG_W 0;
+ fixed: 1 0;
+ align: 0.0 0.5;
+ }
+ }
+ part { name: "text_eq_bar7";
+ type: TEXT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.5 1.0; to_x: "eq_custom_popup_value_bar7"; to_y: "bg"; }
+ rel2 { relative: 0.5 1.0; to_x: "eq_custom_popup_value_bar7"; to_y: "bg"; }
+ min: 52 21;
+ fixed: 1 1;
+ align: 0.5 1.0;
+ text {
+ text: "14K";
+ size: 23;
+ align: 0.5 0.5;
+ }
+ color: 59 59 59 255;
+ }
+ }
+ }
+}
+
+group { name: "progress_layout_landscape";
+ parts {
+
+ part { name: "bg";
+ type: RECT;
+ 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: "text_left_top";
+ type: TEXT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: _X_LD(41) 0; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ rel2 { relative: _X_LD(41+66) 0; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ min: MS_EA_TEXT_FIXED_SIZE;
+ fixed: 1 1;
+ align: 0.0 0.0;
+ text {
+ text: "10 dB";
+ size: 23;
+ align: 1.0 0.5;
+ }
+ color: 59 59 59 255;
+ }
+ }
+
+ part { name: "text_left_middle";
+ type: TEXT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: _X_LD(41) 0.5; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ rel2 { relative: _X_LD(41+66) 0.5; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ min: MS_EA_TEXT_FIXED_SIZE;
+ fixed: 1 1;
+ align: 0.0 0.5;
+ text {
+ text: "0 dB";
+ size: 23;
+ align: 1.0 0.5;
+ }
+ color: 59 59 59 255;
+ }
+ }
+
+ part { name: "text_left_bottom";
+ type: TEXT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: _X_LD(0) 1.0; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ rel2 { relative: _X_LD(41+66) 1.0; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ min: MS_EA_TEXT_FIXED_SIZE;
+ fixed: 1 1;
+ align: 1.0 1.0;
+ text {
+ text: "-10 dB";
+ size: 23;
+ align: 1.0 0.5;
+ }
+ color: 59 59 59 255;
+ }
+ }
+
+ part { name: "eq_custom_popup_value_bar1";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: _X_LD(134) 0.0; to_y: "bg"; }
+ rel2 { relative: _X_LD(134) 0.0; to_y: "progress_bottom"; }
+ min: MS_EA_PROGRESS_BG_W 0;
+ max: MS_EA_PROGRESS_BG_W 406;
+ fixed: 1 1;
+ align: 0.0 0.0;
+ }
+ }
+ part { name: "progress_bottom";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 1; to: "bg"; }
+ rel2 { relative: 1 1; to: "bg"; }
+ min: 0 46;
+ fixed: 0 1;
+ align: 0.0 1.0;
+ visible: 0;
+ }
+ }
+ part { name: "text_eq_bar1";
+ type: TEXT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.5 0.0; to_x: "eq_custom_popup_value_bar1"; to_y: "progress_bottom"; }
+ rel2 { relative: 0.5 1.0; to_x: "eq_custom_popup_value_bar1"; to_y: "progress_bottom"; }
+ min: 60 30;
+ fixed: 1 1;
+ align: 0.5 1.0;
+ text {
+ text: "60";
+ size: 23;
+ align: 0.5 0.5;
+ }
+ color: 59 59 59 255;
+ }
+ }
+ part { name: "eq_custom_popup_value_bar2";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: _X_LD(196) 0.0; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ rel2 { relative: _X_LD(196) 1.0; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ min: MS_EA_PROGRESS_BG_W 0;
+ fixed: 1 0;
+ align: 0.0 0.5;
+ }
+ }
+ part { name: "text_eq_bar2";
+ type: TEXT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.5 0.0; to_x: "eq_custom_popup_value_bar2"; to_y: "progress_bottom"; }
+ rel2 { relative: 0.5 1.0; to_x: "eq_custom_popup_value_bar2"; to_y: "progress_bottom"; }
+ min: 52 21;
+ fixed: 1 1;
+ align: 0.5 1.0;
+ text {
+ text: "150";
+ size: 23;
+ align: 0.5 0.5;
+ }
+ color: 59 59 59 255;
+ }
+ }
+ part { name: "eq_custom_popup_value_bar3";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: _X_LD(258) 0.0; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ rel2 { relative: _X_LD(258) 1.0; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ min: MS_EA_PROGRESS_BG_W 0;
+ fixed: 1 0;
+ align: 0.0 0.5;
+ }
+ }
+ part { name: "text_eq_bar3";
+ type: TEXT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.5 0.0; to_x: "eq_custom_popup_value_bar3"; to_y: "progress_bottom"; }
+ rel2 { relative: 0.5 1.0; to_x: "eq_custom_popup_value_bar3"; to_y: "progress_bottom"; }
+ min: 52 21;
+ fixed: 1 1;
+ align: 0.5 1.0;
+ text {
+ text: "400";
+ size: 23;
+ align: 0.5 0.5;
+ }
+ color: 59 59 59 255;
+ }
+ }
+ part { name: "eq_custom_popup_value_bar4";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: _X_LD(320) 0.0; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ rel2 { relative: _X_LD(320) 1.0; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ min: MS_EA_PROGRESS_BG_W 0;
+ fixed: 1 0;
+ align: 0.0 0.5;
+ }
+ }
+ part { name: "text_eq_bar4";
+ type: TEXT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.5 0.0; to_x: "eq_custom_popup_value_bar4"; to_y: "progress_bottom"; }
+ rel2 { relative: 0.5 1.0; to_x: "eq_custom_popup_value_bar4"; to_y: "progress_bottom"; }
+ min: 52 21;
+ fixed: 1 1;
+ align: 0.5 1.0;
+ text {
+ text: "1.1K";
+ size: 23;
+ align: 0.5 0.5;
+ }
+ color: 59 59 59 255;
+ }
+ }
+ part { name: "eq_custom_popup_value_bar5";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: _X_LD(382) 0.0; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ rel2 { relative: _X_LD(382) 1.0; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ min: MS_EA_PROGRESS_BG_W 0;
+ fixed: 1 0;
+ align: 0.0 0.5;
+ }
+ }
+ part { name: "text_eq_bar5";
+ type: TEXT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.5 0.0; to_x: "eq_custom_popup_value_bar5"; to_y: "progress_bottom"; }
+ rel2 { relative: 0.5 1.0; to_x: "eq_custom_popup_value_bar5"; to_y: "progress_bottom"; }
+ min: 52 21;
+ fixed: 1 1;
+ align: 0.5 1.0;
+ text {
+ text: "3.5K";
+ size: 23;
+ align: 0.5 0.5;
+ }
+ color: 59 59 59 255;
+ }
+ }
+ part { name: "eq_custom_popup_value_bar6";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: _X_LD(444) 0.0; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ rel2 { relative: _X_LD(444) 1.0; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ min: MS_EA_PROGRESS_BG_W 0;
+ fixed: 1 0;
+ align: 0.0 0.5;
+ }
+ }
+ part { name: "text_eq_bar6";
+ type: TEXT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.5 0.0; to_x: "eq_custom_popup_value_bar6"; to_y: "progress_bottom"; }
+ rel2 { relative: 0.5 1.0; to_x: "eq_custom_popup_value_bar6"; to_y: "progress_bottom"; }
+ min: 52 21;
+ fixed: 1 1;
+ align: 0.5 1.0;
+ text {
+ text: "8K";
+ size: 23;
+ align: 0.5 0.5;
+ }
+ color: 59 59 59 255;
+ }
+ }
+ part { name: "eq_custom_popup_value_bar7";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: _X_LD(506) 0.0; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ rel2 { relative: _X_LD(506) 1.0; to_x: "bg"; to_y: "eq_custom_popup_value_bar1"; }
+ min: MS_EA_PROGRESS_BG_W 0;
+ fixed: 1 0;
+ align: 0.0 0.5;
+ }
+ }
+ part { name: "text_eq_bar7";
+ type: TEXT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.5 0.0; to_x: "eq_custom_popup_value_bar7"; to_y: "progress_bottom"; }
+ rel2 { relative: 0.5 1.0; to_x: "eq_custom_popup_value_bar7"; to_y: "progress_bottom"; }
+ min: 52 21;
+ fixed: 1 1;
+ align: 0.5 1.0;
+ text {
+ text: "14K";
+ size: 23;
+ align: 0.5 0.5;
+ }
+ color: 59 59 59 255;
+ }
+ }
+ }
+}
+
+
+group { name: "advanced_layout";
+ parts {
+ part { name: "bg";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "right_top";
+ type: RECT;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ min: 64 21;
+ align: 1.0 0.0;
+ fixed: 1 1;
+ visible: 0;
+ color: 0 0 0 0;
+ rel1 { relative: 1.0 0.0; to: "bg"; }
+ rel2 { relative: 1.0 0.0; to: "bg"; }
+ }
+ description { state: "landscape" 0.0;
+ inherit: "default";
+ min: 47 71;
+ max: 47 71;
+ }
+ }
+ part { name: "reset_box";
+ type: SWALLOW;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ min: 186 74;
+ max: 186 74;
+ align: 1.0 0.0;
+ fixed: 1 1;
+ visible: 1;
+ rel1 { relative: 0.0 1.0; to: "right_top"; }
+ rel2 { relative: 0.0 1.0; to: "right_top"; }
+ }
+ description { state: "landscape" 0.0;
+ inherit: "default";
+ min: 202 74;
+ max: 202 74;
+ }
+ }
+ part { name: "progress_top";
+ type: RECT;
+ scale: 1;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ min: 0 34;
+ align: 0.0 0.0;
+ fixed: 0 1;
+ visible: 0;
+ color: 0 0 0 0;
+ rel1 { relative: 0.0 1.0; to_x: "bg"; to_y: "reset_box"; }
+ rel2 { relative: 1.0 1.0; to_x: "bg"; to_y: "reset_box"; }
+ }
+ }
+ part { name: "progress_area";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: MS_ADVANCED_LEFT_EQ_W MS_ADVANCED_LEFT_EQ_H;
+ max: MS_ADVANCED_LEFT_EQ_W MS_ADVANCED_LEFT_EQ_H;
+ fixed: 1 1;
+ align: 0.0 0.0;
+ visible: 1;
+ rel1 { relative: 0.0 1.0; to: "progress_top"; }
+ rel2 { relative: 1.0 1.0; to: "progress_top"; }
+ }
+ description { state: "landscape" 0.0;
+ inherit: "default";
+ min: MS_ADVANCED_LEFT_EQ_LD_W MS_ADVANCED_LEFT_EQ_LD_H;
+ max: MS_ADVANCED_LEFT_EQ_LD_W MS_ADVANCED_LEFT_EQ_LD_H;
+ rel1 { relative: 0.0 1.0; to_x: "bg"; to_y: "right_top"; }
+ rel2 { relative: 1.0 1.0; to: "bg"; }
+ }
+ }
+ part { name: "advanced_effect_area";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ align: 0.0 0.0;
+ rel1 { relative: 0.0 1.0; to_x: "bg"; to_y: "progress_area";}
+ rel2 { relative: 1.0 1.0; to: "bg"; }
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "effect_box_top";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 52;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ visible: 0;
+ color: 0 0 0 0;
+ rel1 { relative: 0.0 1.0; to: "progress_area"; }
+ rel2 { relative: 1.0 1.0; to: "progress_area"; }
+ }
+ }
+ part { name: "effect_box";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 610 102;
+ max: 610 102;
+ fixed: 1 1;
+ align: 0.5 0.0;
+ visible: 0;
+ color: 0 0 0 0;
+ rel1 { relative: 0.0 1.0; to: "effect_box_top"; }
+ rel2 { relative: 1.0 1.0; to: "effect_box_top"; }
+ }
+ }
+ part { name: "threed_box";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 202 102;
+ max: 202 102;
+ fixed: 1 1;
+ align: 0.0 0.0;
+ visible: 1;
+ rel1 { relative: 0.0 0.0; to: "effect_box"; }
+ rel2 { relative: 0.0 1.0; to: "effect_box"; }
+ }
+ description { state: "landscape" 0.0;
+ inherit: "default";
+ rel1 { relative: 0.0 1.0; to: "reset_box"; offset: 0 20; }
+ rel2 { relative: 1.0 1.0; to: "reset_box"; offset: 0 20; }
+ }
+ }
+ part { name: "gap_1";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 2 86;
+ max: 2 86;
+ fixed: 1 1;
+ align: 0.0 0.5;
+ visible: 1;
+ color: 0 0 0 255;
+ rel1 { relative: 1.0 0.0; to: "threed_box"; }
+ rel2 { relative: 1.0 1.0; to: "threed_box"; }
+ }
+ description { state: "landscape" 0.0;
+ min: 0 20;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ visible: 0;
+ color: 0 0 0 0;
+ rel1 { relative: 0.0 1.0; to: "threed_box"; }
+ rel2 { relative: 1.0 1.0; to: "threed_box"; }
+ }
+ }
+ part { name: "bass_box";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 202 102;
+ max: 202 102;
+ fixed: 1 1;
+ align: 0.0 0.0;
+ visible: 1;
+ rel1 { relative: 1.0 0.0; to_x: "gap_1"; to_y: "effect_box"; }
+ rel2 { relative: 1.0 1.0; to_x: "gap_1"; to_y: "effect_box"; }
+ }
+ description { state: "landscape" 0.0;
+ inherit: "default";
+ rel1 { relative: 0.0 1.0; to: "gap_1"; }
+ rel2 { relative: 1.0 1.0; to: "gap_1"; }
+ }
+ }
+ part { name: "gap_2";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 2 86;
+ max: 2 86;
+ fixed: 1 1;
+ align: 0.0 0.5;
+ visible: 1;
+ color: 0 0 0 255;
+ rel1 { relative: 1.0 0.0; to: "bass_box"; }
+ rel2 { relative: 1.0 1.0; to: "bass_box"; }
+ }
+ description { state: "landscape" 0.0;
+ min: 0 20;
+ fixed: 0 1;
+ align: 0.0 0.0;
+ visible: 0;
+ color: 0 0 0 0;
+ rel1 { relative: 0.0 1.0; to: "bass_box"; }
+ rel2 { relative: 1.0 1.0; to: "bass_box"; }
+ }
+ }
+ part { name: "clarity_box";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 202 102;
+ max: 202 102;
+ fixed: 1 1;
+ align: 0.0 0.0;
+ visible: 1;
+ rel1 { relative: 1.0 0.0; to_x: "gap_2"; to_y: "effect_box"; }
+ rel2 { relative: 1.0 1.0; to_x: "gap_2"; to_y: "effect_box"; }
+ }
+ description { state: "landscape" 0.0;
+ inherit: "default";
+ rel1 { relative: 0.0 1.0; to: "gap_2"; }
+ rel2 { relative: 1.0 1.0; to: "gap_2"; }
+ }
+ }
+ }
+
+ programs {
+ program {
+ name : "set_landscape_mode";
+ signal : "set_landscape_mode";
+ source : "*";
+ action : STATE_SET "landscape" 0.0;
+ target : "right_top";
+ target : "reset_box";
+ target : "threed_box";
+ target : "gap_1";
+ target : "bass_box";
+ target : "gap_2";
+ target : "clarity_box";
+ target : "progress_area";
+ }
+ program {
+ name : "set_protial_mode";
+ signal : "set_protial_mode";
+ source : "*";
+ action : STATE_SET "default" 0.0;
+ target : "right_top";
+ target : "reset_box";
+ target : "threed_box";
+ target : "gap_1";
+ target : "bass_box";
+ target : "gap_2";
+ target : "clarity_box";
+ target : "progress_area";
+ }
+ }
+}
+
+
+group { name: "ms_effect_custom_popup_value_bar";
+ images {
+ image: IMG_EA_PROGRESS_BG COMP;
+ image: IMG_EA_PROGRESS_BAR COMP;
+ image: IMG_EA_HANDLER_NORMAL COMP;
+ image: IMG_EA_HANDLER_PRESSED COMP;
+ }
+
+ parts {
+ part { name: "bg";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "progress_bg";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.5 0; to: "bg"; }
+ rel2 { relative: 0.5 1; to: "bg"; }
+ image { normal: IMG_EA_PROGRESS_BG; border: 0 0 8 8; }
+ min: MS_EA_PROGRESS_BG_W 0;
+ fixed: 1 0;
+ align: 0.5 0.5;
+ }
+ }
+ part { name: "progress_bar";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 0 0.5; to_x: "progress_bg"; to_y: "progressbar_control"; }
+ rel2 { relative: 1 1; to: "progress_bg"; }
+ image { normal: IMG_EA_PROGRESS_BAR; border: 0 0 8 8; }
+ min: MS_EA_PROGRESS_BG_W 0;
+ fixed: 1 0;
+ align: 0.5 0.5;
+ }
+ }
+ part { name: "progress_bar_confine";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 { relative: 0.5 0.0; to: "progress_bg"; offset: 0 (MS_EA_HANDLER_H/-2); }
+ rel2 { relative: 0.5 1.0; to: "progress_bg"; offset: 0 (MS_EA_HANDLER_H/2); }
+ min: MS_EA_HANDLER_W 0;
+ fixed: 1 0;
+ align: 0.5 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "progressbar_control";
+ type: IMAGE;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: IMG_EA_HANDLER_NORMAL;
+ min: MS_EA_HANDLER_W MS_EA_HANDLER_H;
+ fixed: 1 1;
+ }
+ description { state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ image.normal: IMG_EA_HANDLER_PRESSED;
+ }
+ dragable { confine: "progress_bar_confine";
+ x: 0 0 0;
+ y: 1 1 0;
+ }
+ }
+ part { name: "touch_area";
+ type: RECT;
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 0;
+ description { state: "default" 0.0;
+ rel1 { to: "progress_bar_confine"; offset: -10 0; }
+ rel2 { to: "progress_bar_confine"; offset: 10 0; }
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "disabler";
+ type: RECT;
+ scale: 1;
+ mouse_events: 1;
+ repeat_events: 0;
+ description { state: "default" 0.0;
+ rel1.to: "touch_area";
+ rel2.to: "touch_area";
+ color: 0 0 0 0;
+ visible: 0;
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ }
+
+ programs {
+ program { name: "progressbar_control_down";
+ source: "touch_area";
+ signal: "mouse,down,1";
+ action: STATE_SET "pressed" 0.0;
+ target: "progressbar_control";
+ }
+ program { name: "progressbar_control_up";
+ source: "touch_area";
+ signal: "mouse,up,1";
+ action: STATE_SET "default" 0.0;
+ target: "progressbar_control";
+ }
+ program { name: "progressbar_set_disabled";
+ source: "*";
+ signal: "sig_set_disabled";
+ action: STATE_SET "disabled" 0.0;
+ target: "disabler";
+ }
+ program { name: "progressbar_set_enabled";
+ source: "*";
+ signal: "sig_set_enabled";
+ action: STATE_SET "default" 0.0;
+ target: "disabler";
+ }
+ }
+}
+
+
+} // end collection
+
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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_auto_off_H__
+#define __ms_auto_off_H__
+#include <Elementary.h>
+#include "ms-util.h"
+
+EXPORT_API void ms_auto_off_list_create(Elm_Object_Item *parent_item);
+
+#endif //__ms_effect_view_H__
+
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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_effect_view_H__
+#define __ms_effect_view_H__
+#include <Elementary.h>
+#include "ms-util.h"
+#include "mp-setting-view.h"
+
+typedef struct
+{
+
+ Elm_Object_Item *selected_item;
+ Evas_Object *layout;
+
+}MsEffectView_t;
+
+EXPORT_API Evas_Object * ms_effect_view_create(Evas_Object *parent, MpSettingView_t *view, Elm_Object_Item *parent_item);
+EXPORT_API void ms_effect_view_update_option(MpSettingView_t *view);
+EXPORT_API void ms_effect_view_cancel_btn_cb(void *data, Evas_Object *obj, void *event_info);
+EXPORT_API void ms_effect_view_save_btn_cb(void *data, Evas_Object *obj, void *event_info);
+EXPORT_API void ms_auto_check_refresh(MpSettingView_t *view);
+EXPORT_API void ms_effect_view_refresh(MpSettingView_t *data);
+#ifdef MP_FEATURE_LANDSCAPE
+EXPORT_API void ms_effect_view_rotate(MpSettingView_t *view, bool landscape_mode);
+#endif
+
+#endif //__ms_effect_view_H__
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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_eq_view_H__
+#define __ms_eq_view_H__
+#include <Elementary.h>
+#include "ms-util.h"
+#include "mp-widget.h"
+
+EXPORT_API void ms_eq_view_extended_layout_check_earjack(void *data);
+EXPORT_API void _mp_eq_view_reset_btn_cb(void *data, Evas_Object *obj, void *event_info);
+EXPORT_API Ecore_Idler *ms_eq_view_get_idler(void);
+
+
+#endif //__ms_eq_view_H__
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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 "ms-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) 2000-2015 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_PLAY_SPEED_H__
+#define __MS_PLAY_SPEED_H__
+
+#include <Elementary.h>
+#include "ms-util.h"
+
+typedef enum{
+ MS_PLAY_SPEED_PLUS,
+ MS_PLAY_SPEED_MINUS,
+}MsSpeedOption_e;
+
+#endif
+
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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 "ms-util.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) 2000-2015 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_utils_H__
+#define __ms_utils_H__
+#include <Elementary.h>
+#include <stdbool.h>
+#include "mp-player-debug.h"
+#include "mp-util.h"
+
+#ifndef EXPORT_API
+#define EXPORT_API __attribute__((__visibility__("default")))
+#endif
+
+#ifndef DOMAIN_NAME
+#define DOMAIN_NAME "music-player"
+#endif
+
+#ifndef GET_SYS_STR
+#define GET_SYS_STR(str) dgettext(DOMAIN_NAME, str)
+#endif
+
+
+Eina_Bool ms_util_is_earjack_connected(void);
+bool ms_util_is_sound_device_connected(void);
+void ms_util_domain_translatable_part_text_set(Evas_Object *obj, const char* part, const char* text);
+void ms_util_object_item_translate_set(Elm_Object_Item *item, const char *ID);
+void ms_util_domain_translatable_text_set(Evas_Object *obj, const char* text);
+Evas_Object *ms_screen_reader_set_sub_obj_info_full(Evas_Object *parent, Evas_Object *obj,
+ const char *part, const char *info,
+ const char *type, const char *context,
+ Elm_Access_Activate_Cb activate_callback, void *activate_data,
+ Elm_Access_Info_Cb info_callback, void *info_data);
+
+#endif //__ms_utils_H__
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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 "ms-effect-view.h"
+#include "ms-key-ctrl.h"
+#include "ms-util.h"
+#include "ms-eq-view.h"
+#include <efl_extension.h>
+
+int _g_auto_off_time[KEY_MUSIC_AUTO_OFF_TIME_MAX] = {
+ 0,
+ 15,
+ 30,
+ 60,
+ 90,
+ 120,
+ -1,
+};
+
+static Evas_Object *g_radio_grp;
+static Elm_Object_Item *g_auto_off_gl_it;
+static int g_hour, g_min;
+
+static void
+_ms_auto_off_radio_del_cb(void *data, Evas * evas, Evas_Object * obj, void *event_info)
+{
+ DEBUG_TRACE("radio group delected");
+ g_radio_grp = NULL;
+ return;
+}
+
+static void
+_ms_auto_off_radio_change_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ DEBUG_TRACE("");
+ mp_retm_if (!g_radio_grp, "radio group is null");
+
+ int type = elm_radio_value_get(g_radio_grp);
+ DEBUG_TRACE("selected radio val : %d type, %d min", type, _g_auto_off_time[type]);
+
+ ms_key_set_auto_off_val(type);
+
+ if (type == KEY_MUSIC_AUTO_OFF_TIME_CUSTOM)
+ ms_key_set_auto_off_time( 60*g_hour + g_min);
+ else
+ ms_key_set_auto_off_time(_g_auto_off_time[type]);
+
+ if (g_auto_off_gl_it)
+ elm_genlist_item_update(g_auto_off_gl_it);
+
+ elm_genlist_item_selected_set(g_auto_off_gl_it, EINA_FALSE);
+ bool status = !elm_genlist_item_expanded_get(g_auto_off_gl_it);
+ elm_genlist_item_expanded_set(g_auto_off_gl_it, status);
+ elm_genlist_item_subitems_clear(g_auto_off_gl_it);
+ elm_genlist_realized_items_update(obj);
+}
+
+static char *
+_ms_auto_off_gl_label_get(void *data, Evas_Object * obj, const char *part)
+{
+ int param = (int)data;
+
+ char *txt = ms_key_get_auto_off_time_text(param);
+ return (txt) ? strdup(txt) : NULL;
+}
+static inline void _picker_back_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
+{
+ elm_object_signal_emit(data, "picker,hide", "");
+}
+
+static void _ms_auto_off_customize_edit_start_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ Evas_Object *genlist = (Evas_Object *)data;
+ MP_CHECK(genlist);
+ eext_object_event_callback_add(genlist, EEXT_CALLBACK_BACK, (Eext_Event_Cb)_picker_back_cb, obj);
+ evas_object_data_set(genlist, "customized_on", (void *)1);
+}
+
+static void _ms_auto_off_customize_edit_end_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ Evas_Object *genlist = (Evas_Object *)data;
+ MP_CHECK(genlist);
+ eext_object_event_callback_del(genlist, EEXT_CALLBACK_BACK, (Eext_Event_Cb)_picker_back_cb);
+ evas_object_data_set(genlist, "customized_on", (void *)0);
+
+ elm_genlist_item_selected_set(g_auto_off_gl_it, EINA_FALSE);
+ bool status = !elm_genlist_item_expanded_get(g_auto_off_gl_it);
+ elm_genlist_item_expanded_set(g_auto_off_gl_it, status);
+ elm_genlist_item_subitems_clear(g_auto_off_gl_it);
+ elm_genlist_realized_items_update(genlist);
+ endfunc;
+}
+
+static void _set_clicked_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ DEBUG_TRACE("Set clicked");
+ Evas_Object *genlist = (Evas_Object *)data;
+ struct tm time1;
+
+ elm_datetime_value_get(obj, &time1);
+ DEBUG_TRACE("hour: %d, min: %d", time1.tm_hour, time1.tm_min);
+
+ int min = time1.tm_hour * 60 + time1.tm_min;
+ ms_key_set_auto_off_custom_time(min);
+
+ g_hour = time1.tm_hour;
+ g_min = time1.tm_min;
+
+ if (60*g_hour + g_min == 0)
+ {
+ ms_key_set_auto_off_val(KEY_MUSIC_AUTO_OFF_TIME_OFF);
+ elm_radio_value_set(g_radio_grp, KEY_MUSIC_AUTO_OFF_TIME_OFF);
+ }
+ else
+ {
+ ms_key_set_auto_off_val(KEY_MUSIC_AUTO_OFF_TIME_CUSTOM);
+ elm_radio_value_set(g_radio_grp, KEY_MUSIC_AUTO_OFF_TIME_CUSTOM);
+ }
+
+ ms_key_set_auto_off_time( 60*g_hour + g_min);
+
+ if (g_auto_off_gl_it)
+ elm_genlist_item_update(g_auto_off_gl_it);
+
+ elm_genlist_realized_items_update(genlist);
+}
+
+static Evas_Object *
+_ms_auto_off_gl_content_get(void *data, Evas_Object * obj, const char *part)
+{
+ int param = (int)data;
+
+ mp_retvm_if (param >= KEY_MUSIC_AUTO_OFF_TIME_MAX, NULL, "invalid param: %d", param);
+
+ if (!g_strcmp0(part, "elm.icon") || !g_strcmp0(part, "elm.icon.1"))
+ {
+ Evas_Object *radio_btn = elm_radio_add(obj);
+ evas_object_propagate_events_set(radio_btn, FALSE);
+
+ elm_radio_state_value_set(radio_btn, param);
+
+ elm_radio_group_add(radio_btn, g_radio_grp);
+
+ int type = ms_key_get_auto_off_val();
+ if (g_radio_grp)
+ {
+ elm_radio_value_set(g_radio_grp, type);
+ }
+
+ evas_object_smart_callback_add(radio_btn, "changed", _ms_auto_off_radio_change_cb, NULL);
+ evas_object_show(radio_btn);
+ return radio_btn;
+ }
+ return NULL;
+}
+
+static void
+_ms_auto_off_gl_sel_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);
+
+ if (param != KEY_MUSIC_AUTO_OFF_TIME_CUSTOM)
+ {
+ elm_radio_value_set(g_radio_grp, param);
+ evas_object_smart_callback_call(g_radio_grp, "changed", NULL);
+ }
+ else
+ { Evas_Object *datetime = elm_datetime_add(obj);
+ if (datetime != NULL)
+ {
+ elm_object_style_set(datetime, "pickerstyle");
+ elm_datetime_format_set(datetime, "%H:%M");
+
+ struct tm time1;
+ memset(&time1, 0, sizeof(time1));
+ time1.tm_year = 2;
+ time1.tm_mon = 1;
+ time1.tm_mday = 1;
+
+ int min = ms_key_get_auto_off_custom_time();
+ DEBUG_TRACE("min: %d", min);
+ time1.tm_hour = min/60;
+ time1.tm_min = min%60;
+ elm_datetime_value_set(datetime, &time1);
+
+ //evas_object_smart_callback_add(datetime, "changed", _ms_auto_off_time_changed_cb, NULL);
+ evas_object_smart_callback_add(datetime, "picker,value,set", _set_clicked_cb, obj);
+ evas_object_smart_callback_add(datetime, "edit,start", _ms_auto_off_customize_edit_start_cb, obj);
+ evas_object_smart_callback_add(datetime, "edit,end", _ms_auto_off_customize_edit_end_cb, obj);
+ elm_object_signal_emit(datetime, "timepicker,show", "");
+ }
+ }
+
+}
+
+EXPORT_API void
+ms_auto_off_list_create(Elm_Object_Item *parent_item)
+{
+ mp_retm_if (parent_item == NULL, "parent_item is null");
+
+ Evas_Object *genlist = elm_object_item_widget_get(parent_item);
+
+ g_auto_off_gl_it = parent_item;
+
+ //elm_genlist_tree_effect_enabled_set(genlist, EINA_TRUE);
+
+ g_radio_grp = elm_radio_add(genlist);
+ elm_radio_state_value_set(g_radio_grp, -1);
+ evas_object_smart_callback_add(g_radio_grp, "changed", _ms_auto_off_radio_change_cb, NULL);
+ evas_object_event_callback_add(g_radio_grp, EVAS_CALLBACK_DEL, _ms_auto_off_radio_del_cb, NULL);
+ evas_object_hide(g_radio_grp);
+
+ static Elm_Genlist_Item_Class itc, custom_itc;
+
+ itc.func.text_get = _ms_auto_off_gl_label_get;
+ itc.func.content_get = _ms_auto_off_gl_content_get;
+ itc.item_style = "dialogue/1text.1icon.3";
+ itc.version = ELM_GENGRID_ITEM_CLASS_VERSION;
+ itc.refcount = 0;
+ itc.delete_me = EINA_FALSE;
+
+ custom_itc.func.text_get = _ms_auto_off_gl_label_get;
+ custom_itc.func.content_get = _ms_auto_off_gl_content_get;
+ custom_itc.item_style = "dialogue/1text.1icon.3";
+ custom_itc.version = ELM_GENGRID_ITEM_CLASS_VERSION;
+ custom_itc.refcount = 0;
+ custom_itc.delete_me = EINA_FALSE;
+
+ int type = KEY_MUSIC_AUTO_OFF_TIME_OFF;
+ while (type < KEY_MUSIC_AUTO_OFF_TIME_CUSTOM)
+ {
+ elm_genlist_item_append(genlist, &itc, (void *)type, parent_item,
+ ELM_GENLIST_ITEM_NONE, _ms_auto_off_gl_sel_cb, (void *)type);
+ type ++;
+ }
+
+ //custom
+ Elm_Object_Item *item = elm_genlist_item_append(genlist, &custom_itc, (void *)type, parent_item,
+ ELM_GENLIST_ITEM_NONE, _ms_auto_off_gl_sel_cb, (void *)type);
+ evas_object_data_set(genlist, "customized_item", (void *)item);
+}
+
+
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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 "ms-util.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 (*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) 2000-2015 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-play-speed.h"
+#include "ms-key-ctrl.h"
+#include "ms-util.h"
+#include "mp-widget.h"
+
+static double g_slider_val;
+Elm_Object_Item *g_parent_it;
+Evas_Object *g_layout;
+static Ecore_Timer *longpress_timer = NULL;
+
+static void _slider_change_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ Evas_Object *slider = (Evas_Object*)data;
+ double val = elm_slider_value_get(slider);
+ int temp = 0;
+ temp = (val+0.05)*10;
+ val = (double)temp/10.;
+ if (g_slider_val != val) {
+ DEBUG_TRACE("%1.1f", val);
+ g_slider_val = val;
+ ms_key_set_play_speed(val);
+ elm_genlist_item_fields_update(g_parent_it, "elm.text.2", ELM_GENLIST_ITEM_FIELD_TEXT);
+ }
+}
+
+static Evas_Object *
+_ms_play_speed_create_slider(Evas_Object * parent)
+{
+ Evas_Object *slider = NULL;
+
+ slider = elm_slider_add(parent);
+ elm_object_style_set(slider, "music/tap_to_drag");
+ elm_slider_indicator_show_set(slider, EINA_TRUE);
+ evas_object_size_hint_weight_set(slider, EVAS_HINT_EXPAND, 0.0);
+ evas_object_size_hint_align_set(slider, EVAS_HINT_FILL, 0.5);
+ elm_slider_indicator_format_set(slider, "%1.1f");
+
+ elm_slider_min_max_set(slider, 0.5, 2.0);
+ elm_slider_value_set(slider, g_slider_val);
+
+ evas_object_smart_callback_add(slider, "changed", _slider_change_cb, slider);
+
+ return slider;
+}
+
+static void
+_ms_play_speed_slider_value(MsSpeedOption_e option)
+{
+ startfunc;
+
+ Evas_Object *slider = elm_object_part_content_get(g_layout, "ps_slider");
+ MP_CHECK(slider);
+
+ double val = elm_slider_value_get(slider);
+ int temp = 0;
+
+ if (option == MS_PLAY_SPEED_PLUS)
+ {
+ if (val >1.95 && val <= 2.0)
+ {
+ mp_ecore_timer_del(longpress_timer);
+ return;
+ }
+ val = val + 0.1;
+ temp = (int)(val * 10.0) / 10.0;
+ }
+ else if (option == MS_PLAY_SPEED_MINUS)
+ {
+ if (val == 0.5)
+ {
+ mp_ecore_timer_del(longpress_timer);
+ return;
+ }
+ temp = (val-0.05)*10;
+ val = (double)temp/10.;
+ }
+ g_slider_val = val;
+ ms_key_set_play_speed(val);
+ elm_slider_value_set(slider, val);
+ elm_genlist_item_fields_update(g_parent_it, "elm.text.2", ELM_GENLIST_ITEM_FIELD_TEXT);
+
+}
+
+static Eina_Bool
+_ms_play_speed_long_press_timer_cb(void *data)
+{
+ startfunc;
+
+ char *emission = NULL;
+ emission = data;
+
+ Evas_Object *slider = elm_object_part_content_get(g_layout, "ps_slider");
+ MP_CHECK_FALSE(slider);
+
+ if (!g_strcmp0(emission, "ps_minus_bt_press_down")) {
+ _ms_play_speed_slider_value(MS_PLAY_SPEED_MINUS);
+ } else if (!g_strcmp0(emission, "ps_plus_bt_press_down")) {
+ _ms_play_speed_slider_value(MS_PLAY_SPEED_PLUS);
+ }
+
+ if (longpress_timer)
+ ecore_timer_interval_set(longpress_timer, 0.5);
+
+ return ECORE_CALLBACK_RENEW;
+}
+
+static void _ms_play_speed_control_cb(void *data, Evas_Object * obj, const char *emission, const char *source)
+{
+ startfunc;
+ MP_CHECK(emission);
+ DEBUG_TRACE("emission=%s", emission);
+ DEBUG_TRACE("source=%s", source);
+
+ Evas_Object *slider = (Evas_Object*)data;
+ MP_CHECK(slider);
+ WARN_TRACE("slider=%p", slider);
+
+ if (!g_strcmp0(emission, "ps_minus_bt_press_down")) {
+ _ms_play_speed_slider_value(MS_PLAY_SPEED_MINUS);
+ if (!longpress_timer)
+ longpress_timer = ecore_timer_add(0.3, _ms_play_speed_long_press_timer_cb, emission);
+ } else if (!g_strcmp0(emission, "ps_plus_bt_press_down")) {
+ _ms_play_speed_slider_value(MS_PLAY_SPEED_PLUS);
+ if (!longpress_timer)
+ longpress_timer = ecore_timer_add(0.3, _ms_play_speed_long_press_timer_cb, emission);
+ } else if (!g_strcmp0(emission, "ps_minus_bt_up") || !g_strcmp0(emission, "ps_plus_bt_up")) {
+ mp_ecore_timer_del(longpress_timer);
+ }
+
+ endfunc;
+}
+
+static const char *g_play_speed_btn_part[]= {"ps_minus_bt", "ps_plus_bt", NULL};
+
+static const char *
+_ms_play_speed_screen_reader_find_button_part(const Evas_Object *edje_obj, const Evas_Object *part_obj)
+{
+ startfunc;
+
+ MP_CHECK_NULL(edje_obj);
+ MP_CHECK_NULL(part_obj);
+
+ WARN_TRACE("edje_obj:%p",edje_obj);
+ WARN_TRACE("part_obj:%p",part_obj);
+
+ Evas_Object *obj = NULL;
+ int index = 0;
+
+ while (g_play_speed_btn_part[index]) {
+ WARN_TRACE("g__now_playing_btn_part[index]:%s",g_play_speed_btn_part[index]);
+ obj = (Evas_Object *)edje_object_part_object_get(edje_obj, g_play_speed_btn_part[index]);
+ WARN_TRACE("obj:%p",obj);
+ if (obj == part_obj) return g_play_speed_btn_part[index];
+ ++index;
+ }
+
+ return NULL;
+ endfunc;
+}
+
+static void
+_ms_play_speed_tts_action_double_cb(void *data, Evas_Object *obj, Elm_Object_Item *item)
+{
+ startfunc;
+
+ Evas_Object *slider = (Evas_Object*)data;
+ MP_CHECK(slider);
+ WARN_TRACE("slider=%p", slider);
+
+ const char *part = _ms_play_speed_screen_reader_find_button_part(elm_layout_edje_get(g_layout), obj);
+ MP_CHECK(part);
+
+ WARN_TRACE("part is:%s",part);
+
+ if (!g_strcmp0(part, "ps_minus_bt")) {
+ double val = elm_slider_value_get(slider);
+ WARN_TRACE("val=%f", val);
+ WARN_TRACE("g_slider_val=%f", g_slider_val);
+ if (val == 0.5)
+ return;
+ int temp = 0;
+ temp = (val-0.05)*10;
+ val = (double)temp/10.;
+ DEBUG_TRACE("%1.1f", val);
+ g_slider_val = val;
+ ms_key_set_play_speed(val);
+ elm_slider_value_set(slider, val);
+ elm_genlist_item_fields_update(g_parent_it, "elm.text.2", ELM_GENLIST_ITEM_FIELD_TEXT);
+ }
+ else if (!g_strcmp0(part, "ps_plus_bt"))
+ {
+ double val = elm_slider_value_get(slider);
+ WARN_TRACE("val=%f", val);
+ WARN_TRACE("g_slider_val=%f", g_slider_val);
+ if (val >1.95 && val <= 2.0)
+ return;
+ val = val + 0.1;
+ DEBUG_TRACE("%1.1f", val);
+ g_slider_val = val;
+ ms_key_set_play_speed(val);
+ elm_slider_value_set(slider, val);
+ elm_genlist_item_fields_update(g_parent_it, "elm.text.2", ELM_GENLIST_ITEM_FIELD_TEXT);
+ }
+
+}
+
+static void _ms_play_speed__realized(void *data, Evas_Object *obj, void *ei)
+{
+
+ MP_CHECK(ei);
+ Elm_Object_Item *item = ei;
+
+ const Elm_Genlist_Item_Class *itc = elm_genlist_item_item_class_get(item);
+ if (!strcmp(itc->item_style, "dialogue/1icon")) {
+ /* unregister item itself */
+ elm_object_item_access_unregister(item);
+
+ /* convey highlight to its content */
+ Evas_Object *content;
+ content = elm_object_item_part_content_get(item, "elm.icon");
+ MP_CHECK(content);
+
+ //add accesss to layout
+ //Eina_List *items = NULL;
+ //Evas_Object * tmp_obj1 = (Evas_Object *)edje_object_part_object_get(elm_layout_edje_get(content), "ps_minus_bt");
+ //Evas_Object * tmp_obj2 = (Evas_Object *)edje_object_part_object_get(elm_layout_edje_get(content), "ps_plus_bt");
+ //Evas_Object * tmp_obj3 = (Evas_Object *)edje_object_part_object_get(elm_layout_edje_get(content), "ps_slider");
+ }
+}
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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"
+#include "ms-util.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) 2000-2015 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 "ms-util.h"
+#include "mp-vconf-private-keys.h"
+#include "mp-common.h"
+#include "mp-widget.h"
+#include <runtime_info.h>
+
+Eina_Bool
+ms_util_is_earjack_connected(void)
+{
+ int ear_jack;
+ if (runtime_info_get_value_int(RUNTIME_INFO_KEY_AUDIO_JACK_STATUS, &ear_jack))
+ {
+ DEBUG_TRACE("Failed to get ear jack status");
+ return FALSE;
+ }
+
+ if (ear_jack == RUNTIME_INFO_AUDIO_JACK_STATUS_UNCONNECTED)
+ return FALSE;
+ else
+ return TRUE;
+}
+
+bool
+ms_util_is_sound_device_connected(void)
+{
+ //Replaced for _prod dependency
+ 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;
+ if (!(ret= sound_manager_get_current_device_list(g_device_mask,&g_device_list)))
+ return true;
+ else
+ return false;
+ //Replaced for _prod dependency end
+}
+
+static inline const char *_ms_util_get_text_domain(const char *string_id)
+{
+ const char *domain = "music-player";
+
+ return domain;
+}
+
+void ms_util_domain_translatable_part_text_set(Evas_Object *obj, const char* part, const char* text)
+{
+ const char *domain = _ms_util_get_text_domain(text);
+ elm_object_domain_translatable_part_text_set(obj, part, domain, text);
+}
+
+void ms_util_domain_translatable_text_set(Evas_Object *obj, const char* text)
+{
+ const char *domain = _ms_util_get_text_domain(text);
+ elm_object_domain_translatable_text_set(obj, domain, text);
+}
+
+void ms_util_object_item_translate_set(Elm_Object_Item *item, const char *ID)
+{
+ MP_CHECK(ID);
+ MP_CHECK(item);
+ const char *domain = _ms_util_get_text_domain(ID);
+ elm_object_item_domain_text_translatable_set(item, domain, EINA_TRUE);
+}
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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-folder-view.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,
+ MP_ADD_TRACK_VIEW_TAB_FOLDERS,
+ /*
+ MP_ADD_TRACK_VIEW_TAB_GENRE,
+ MP_ADD_TRACK_VIEW_TAB_YEAR,
+ MP_ADD_TRACK_VIEW_TAB_COMPOSER,
+ MP_ADD_TRACK_VIEW_TAB_FOLDER,
+ MP_ADD_TRACK_VIEW_TAB_SQUARE,
+ MP_ADD_TRACK_VIEW_TAB_ALLSHARE,
+ */
+}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;
+ #ifdef MP_FEATURE_ADD_TO_INCLUDE_PLAYLIST_TAB
+ Elm_Object_Item *ctltab_plist;
+ #endif
+ Elm_Object_Item *ctltab_album;
+ Elm_Object_Item *ctltab_artist;
+ Elm_Object_Item *ctltab_folders;
+
+ /* 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) 2000-2015 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_BOOKLETVIEW_H__
+#define __MP_ALBUM_BOOKLETVIEW_H__
+
+
+#include "music.h"
+#include "mp-info-data.h"
+enum{
+ ALBUM_BOOKLET_VIEW_TRACK_LIST=0,
+ ALBUM_BOOKLET_VIEW_SIMILAR_ALBUM,
+ ALBUM_BOOKLET_VIEW_REVIEW,
+ ALBUM_BOOKLET_VIEW_MAX,
+};
+typedef struct
+{
+ INHERIT_MP_VIEW;
+
+ int page_index[ALBUM_BOOKLET_VIEW_MAX];
+ int page_count;
+
+ Evas_Object *title_layout;
+
+ Evas_Object *title_index;
+ Evas_Object *content;
+ Evas_Object *current_song_title;
+ Evas_Object *current_page;
+ Evas_Object *current_page_content;
+ Evas_Object *next_page_content;
+
+ /*page 1*/
+ Evas_Object *album_index;
+ Evas_Object *track_genlist;
+ Elm_Genlist_Item_Class *track_itc;
+ Elm_Genlist_Item_Class *info_itc;
+ Elm_Genlist_Item_Class *title_itc;
+ bool page1_enabled; //flag of page exists or not
+ /*page 2*/
+ Evas_Object *album_gengrid;
+ Elm_Gengrid_Item_Class *album_itc;
+ bool page2_enabled; //flag of page exists or not
+ /*page 3*/
+ Evas_Object *text;
+ bool page3_enabled; //flag of page exists or not
+ /* external objects*/
+ mp_info_data_t *info_data;
+ char *name;
+ char *artist;
+ char *thumbnail;
+
+ bool transition_state;
+ int page_num;
+ /* extention functions */
+}MpAlbumBookletView_t;
+
+MpAlbumBookletView_t *mp_album_booklet_view_create(Evas_Object *parent, mp_info_data_t *info_data, char *album, char *artist, char *thumbnail);
+#endif
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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) 2000-2015 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-folder-view.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 */
+ //MpAllViewTab_e content_tab;
+#ifdef MP_FEATURE_PERSONAL_PAGE
+ bool personal_page_status;
+#endif
+ MpListDisplayMode_e display_mode[MP_TAB_MAX];
+
+ 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) 2000-2015 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_BOOKLETVIEW_H__
+#define __MP_ARTIST_BOOKLETVIEW_H__
+
+
+#include "music.h"
+#include "mp-info-data.h"
+enum{
+ ARTIST_BOOKLET_VIEW_DISCOGRAPHY=0,
+ ARTIST_BOOKLET_VIEW_BIOGRAPHY,
+ ARTIST_BOOKLET_VIEW_SIMILAR_ARTIST,
+ ARTIST_BOOKLET_VIEW_MAX,
+};
+typedef struct
+{
+ INHERIT_MP_VIEW;
+
+ int page_index[ARTIST_BOOKLET_VIEW_MAX];
+ int page_count;
+
+ Evas_Object *title_layout;
+
+
+ Evas_Object *title_index;
+ Evas_Object *current_song_title;
+ Evas_Object *current_page;
+ Evas_Object *current_page_content;
+ Evas_Object *next_page_content;
+
+ Evas_Object *genlist[ARTIST_BOOKLET_VIEW_MAX];
+ Elm_Genlist_Item_Class *info_itc;
+ Elm_Genlist_Item_Class *title_itc;
+ Elm_Genlist_Item_Class *content_itc;
+
+ /*page 1*/
+ Evas_Object *artist_index;
+ Evas_Object *disco_gengrid;
+ Elm_Gengrid_Item_Class *disco_itc;
+ bool page1_enabled; //flag of page exists or not
+ /*page 2*/
+ Evas_Object *image;
+ Evas_Object *text;
+ bool page2_enabled; //flag of page exists or not
+ /*page 3*/
+ Evas_Object *artist_genlist;
+ Elm_Genlist_Item_Class *artist_itc;
+ bool page3_enabled; //flag of page exists or not
+ /* external objects*/
+ mp_info_data_t *info_data;
+ char *name;
+ char *artist;
+ char *thumbnail;
+
+ bool transition_state;
+ int page_num;
+
+ Elm_Object_Item *gengrid_item;
+}MpArtistBookletView_t;
+
+MpArtistBookletView_t *mp_artist_booklet_view_create(Evas_Object *parent, mp_info_data_t *info_data, char *album, char *artist, char *thumbnail);
+#endif
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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 "mp-folder-view.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) 2000-2015 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,
+#ifdef MP_FEATURE_STORE
+ MP_PLST_CREATION_TYPE_WITH_STORE,
+#endif
+} 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;
+#ifdef MP_FEATURE_STORE
+ GList *adding_song_list;
+#endif
+ 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);
+#ifdef MP_FEATURE_STORE
+int mp_create_plst_view_set_adding_song_list(MpCreatePlstView_t *view, GList *list);
+#endif
+
+#endif
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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) 2000-2015 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) 2000-2015 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_FOLDER_DETAILVIEW_H__
+#define __MP_FOLDER_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 *folder_detail_view_layout;
+ Evas_Object *title_layout;
+
+ /* external objects*/
+
+ /* album name */
+ char *name;
+ /* extention functions */
+ void (*content_set)(void *view);
+}MpFolderDetailView_t;
+
+MpFolderDetailView_t *mp_folder_detail_view_create(Evas_Object *parent, char *name);
+int mp_folder_detail_view_destory(MpFolderDetailView_t *view);
+#endif
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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_FOLDER_VIEW__
+#define __MP_FOLDER_VIEW__
+
+#include "mp-list-view.h"
+#include "mp-folder-list.h"
+#include "mp-edit-callback.h"
+
+#include "music.h"
+
+typedef struct
+{
+ INHERIT_MP_LIST_VIEW;
+ /* extention variables */
+ Evas_Object *folder_view_layout;
+
+ /* external objects*/
+
+ /* extention functions */
+ void (*content_set)(void *view);
+}MpFolderView_t;
+
+MpFolderView_t *mp_folder_view_create(Evas_Object *parent);
+int mp_folder_view_destory(MpFolderView_t *view);
+
+#endif
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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) 2000-2015 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) 2000-2015 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) 2000-2015 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_MAIN_VIEW_H__
+#define __MP_MAIN_VIEW_H__
+
+#include "mp-list-view.h"
+#include "mp-all-view.h"
+#include "mp-track-list.h"
+#include "mp-playlist-list.h"
+#include "mp-album-list.h"
+#include "mp-artist-list.h"
+#include "mp-folder-view.h"
+#include "mp-search-view.h"
+#include "mp-edit-callback.h"
+#include "mp-scroll-page.h"
+
+#include "music.h"
+
+#ifdef IDEBUILD
+#include "idebuild.h"
+#endif
+
+typedef struct
+{
+ INHERIT_MP_LIST_VIEW;
+
+ Evas_Object *scroll_page;
+#ifdef MP_FEATURE_BOTTOM_PAGE_CONTROL
+ Evas_Object *indicator;
+#endif
+
+ MpView_t *sub_views[MH_SCROLL_MAX];
+
+ bool store_initialized;
+ bool radio_initialized;
+
+ Ecore_Timer *load_timer;
+ Ecore_Timer *rotate_timer;
+
+ /* extention functions */
+}MpMainView_t;
+
+MpMainView_t *mp_main_view_create(Evas_Object *parent, MpTab_e inint_tab);
+int mp_main_view_select_tab(MpMainView_t *view, MpTab_e tab);
+
+#endif
+
+
+
+
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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_MAKE_AVAILABLE_OFFLINE_VIEW_H__
+#define __MP_MAKE_AVAILABLE_OFFLINE_VIEW_H__
+
+#include "mp-list-view.h"
+#include "music.h"
+
+typedef struct
+{
+ INHERIT_MP_LIST_VIEW;
+ /* extention functions */
+}MpMakeOfflineView_t;
+
+MpMakeOfflineView_t *mp_make_offline_view_create(Evas_Object *parent);
+
+#endif
+
+
+
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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_MW_LYRIC_VIEW_H__
+#define __MP_MW_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_mw_lyric_view_t;
+
+void mp_mw_lyric_view_create(void *data);
+void mp_mw_lyric_view_destroy(void *data);
+void mp_mw_lyric_view_show(void *data);
+void mp_mw_lyric_view_hide(void *data);
+void mp_test_lyric_view_hide(void *data);
+void mp_mw_lyric_view_refresh(void *data);
+
+#endif /* __MP_LYRIC_VIEW_H__ */
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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) 2000-2015 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"
+#ifdef MP_FEATURE_MUSIC_VIEW
+#include <cairo.h>
+#endif
+
+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;
+#ifdef MP_FEATURE_MUSIC_VIEW
+ /* wave view */
+ bool wave_view_status;
+ char *wave_data;
+ int wave_length;
+ void *pixels;
+ cairo_t *cr;
+ cairo_surface_t *surface;
+ Evas_Object *overlay;
+ Evas_Object *wave_progress_bar;
+ Evas_Object *wave_progress_bar_bg;
+ Ecore_Timer *wave_progressbar_timer;
+ Ecore_Timer *timer_wave;
+#endif
+#ifdef MP_IMAGE_ROTATE_FEATURE
+ /* rotate image & timer */
+ int imgId;
+ Evas_Object *rotation_image;
+ Ecore_Timer *timer_rotate;
+#endif
+
+#ifdef MP_FEATURE_SPLIT_WINDOW
+ Evas_Object *popup_win;
+ int nPosY;
+ int nHeight;
+ int nWidth;
+#endif
+
+ /* 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;
+
+#ifdef MP_FEATURE_ALBUM_COVER_BG
+ int cur_color;
+ char *cur_path;
+#endif
+ Elm_Transit *trans_queue_list;
+ Ecore_Idler *queue_title_idler;
+ Ecore_Idler *queue_list_update_idler;
+ Ecore_Idler * del_old_detail_handle;
+
+#ifdef MP_FEATURE_SUGGEST_FOR_YOU
+ Evas_Object* gengrid;
+ Elm_Gengrid_Item_Class *gic;
+ const char* genre_str;
+ int suggest_count;
+ GList* suggest_list;
+ Evas_Object* label;
+#endif
+ 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) 2000-2015 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) 2000-2015 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) 2000-2015 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) 2000-2015 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) 2000-2015 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;
+} 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) 2000-2015 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_SQUARE_LAYOUT_H__
+#define __MP_SQUARE_LAYOUT_H__
+
+#include "music.h"
+#include "mp-square-mgr.h"
+#include "mp-list.h"
+
+typedef struct
+{
+ INHERIT_MP_LIST
+
+ /* extention variables */
+ Evas_Object *square_layout;
+ Evas_Object *gengrid;
+
+ mp_square_item_t *current_item;
+
+ /* external objects*/
+ Evas_Object *radio_main;
+ Evas_Object *popup_update_library;
+ Evas_Object *popup_update_library_progress;
+ Evas_Object *layout_update_library_progress;
+ Evas_Object *update_library_progressbar;
+ Evas_Object *popup;
+
+ /* additional variables */
+ int screen_mode;
+ bool popup_status;
+ mp_square_type_t type;
+ mp_square_position_t now_playing_position;
+ int radio_index; /* for change axis popup */
+
+ Ecore_Timer *update_library_timer;
+ bool b_mouse_down;
+
+ Ecore_Timer *init_timer;
+
+ GList *pos_list;
+ GList *music_list;
+}MpSquareAllList_t;
+
+MpSquareAllList_t *mp_square_all_list_create(Evas_Object *parent);
+Evas_Object *mp_square_content_create(void *thiz);
+int mp_square_update(void *thiz);
+Eina_Bool mp_square_list_update_square(void *data);
+void mp_square_gengrid_title_set(MpSquareAllList_t *square);
+int mp_square_playlist_position_update(void *thiz);
+void mp_square_gengrid_items_state_reset(MpSquareAllList_t *square);
+void mp_square_list_gengrid_title_set(MpSquareAllList_t *list);
+void mp_square_destory(void * thiz);
+void mp_square_change_axis_popup(void *data);
+void mp_square_library_update(MpSquareAllList_t *square);
+Evas_Object *mp_square_list_get_content(void *thiz);
+
+#endif
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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_SQUARE_PLAYLIST_VIEW_H__
+#define __MP_SQUARE_PLAYLIST_VIEW_H__
+
+#include "mp-list-view.h"
+#include "music.h"
+
+typedef struct
+{
+ INHERIT_MP_LIST_VIEW;
+
+ Evas_Object *square_playlist_layout;
+
+ /* external objects*/
+
+}MpSquareListview_t;
+
+MpSquareListview_t *mp_square_playlist_view_create(Evas_Object *parent);
+int mp_square_playlist_view_destory(MpSquareListview_t *view);
+void mp_square_playlist_view_remove_popup_show(MpSquareListview_t *view);
+
+#endif
+
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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_SQUARE_VIEW_NEW_H__
+#define __MP_SQUARE_VIEW_NEW_H__
+
+#include "music.h"
+#include "mp-square-mgr.h"
+
+typedef struct
+{
+ INHERIT_MP_VIEW;
+ /* extention variables */
+ Evas_Object *square_layout;
+ Evas_Object *gengrid;
+
+ mp_square_item_t *current_item;
+
+ /* external objects*/
+ Evas_Object *radio_main;
+ Evas_Object *popup_update_library;
+ Evas_Object *popup_update_library_progress;
+ Evas_Object *layout_update_library_progress;
+ Evas_Object *update_library_progressbar;
+ Evas_Object *popup;
+
+ /* additional variables */
+ int screen_mode;
+ bool popup_status;
+ mp_square_type_t type;
+ mp_square_position_t now_playing_position;
+ int radio_index; /* for change axis popup */
+
+ Ecore_Timer *update_library_timer;
+ bool b_mouse_down;
+
+ GList *pos_list;
+ GList *music_list;
+}MpSquareView_t;
+
+MpSquareView_t *mp_square_view_new_create(Evas_Object *parent);
+int mp_square_view_new_destory(MpSquareView_t *view);
+
+#endif
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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,
+#ifdef MP_FEATURE_LANDSCAPE
+ MP_VIEW_ROTATE,
+ MP_VIEW_ROTATE_START, //to indicate rotation start
+#endif
+ 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);
+#ifdef MP_FEATURE_LANDSCAPE
+int mp_view_is_rotate_available(MpView_t *view);
+int mp_view_rotate(MpView_t *view);
+#endif
+int mp_view_is_now_push_transit(MpView_t *view, bool *now_transit);
+
+#endif
+
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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;
+ }
+#ifdef MP_FEATURE_ADD_TO_INCLUDE_PLAYLIST_TAB
+ else if (it == view->ctltab_plist) {
+ tab = MP_ADD_TRACK_VIEW_TAB_PLAYLIST;
+ }
+#endif
+ else if (it == view->ctltab_songs) {
+ tab = MP_ADD_TRACK_VIEW_TAB_SONGS;
+ } else if (it == view->ctltab_folders) {
+ tab = MP_ADD_TRACK_VIEW_TAB_FOLDERS;
+ } 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);
+#ifdef MP_FEATURE_ADD_TO_INCLUDE_PLAYLIST_TAB
+ mp_language_mgr_unregister_object_item(view->ctltab_plist);
+#endif
+ mp_language_mgr_unregister_object_item(view->ctltab_album);
+ mp_language_mgr_unregister_object_item(view->ctltab_artist);
+ mp_language_mgr_unregister_object_item(view->ctltab_folders);
+
+ 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);
+
+ ad->del_cb_invoked = 0;
+ 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);
+
+ /*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, 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_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;
+
+ 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);
+ /*mp_language_mgr_register_object_item(add_track_view->ctltab_songs, STR_MP_TRACKS);*/
+#ifdef MP_FEATURE_ADD_TO_INCLUDE_PLAYLIST_TAB
+ add_track_view->ctltab_plist =
+ mp_util_toolbar_item_append(obj, NULL, (STR_MP_PLAYLISTS), _mp_add_track_view_change_cb, add_track_view);
+#endif
+ /*mp_language_mgr_register_object_item(add_track_view->ctltab_plist,STR_MP_PLAYLISTS);*/
+
+ add_track_view->ctltab_album =
+ mp_util_toolbar_item_append(obj, NULL, (STR_MP_ALBUMS), _mp_add_track_view_change_cb, add_track_view);
+ /*mp_language_mgr_register_object_item(add_track_view->ctltab_album, STR_MP_ALBUMS);*/
+
+ add_track_view->ctltab_artist =
+ mp_util_toolbar_item_append(obj, NULL, (STR_MP_ARTISTS), _mp_add_track_view_change_cb, add_track_view);
+ /*mp_language_mgr_register_object_item(add_track_view->ctltab_artist, STR_MP_ARTISTS);*/
+
+ /*add_track_view->ctltab_folders =
+ mp_util_toolbar_item_append(obj, NULL, (STR_MP_FOLDERS), _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;
+ }
+}
+
+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 = NULL;
+ 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);
+
+ 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_FOLDERS) {
+ view->content_to_show = (MpList_t *)mp_folder_list_create(view->layout);
+ MP_CHECK_VAL(view->content_to_show, -1);
+ mp_folder_list_set_data((MpFolderList_t *)view->content_to_show, MP_FOLDER_LIST_FUNC, MP_LIST_FUNC_ADD_TRACK, -1);
+ mp_list_update(view->content_to_show);
+ content = mp_list_get_layout(view->content_to_show);
+ 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_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);
+ }
+#ifdef MP_FEATURE_ADD_TO_INCLUDE_PLAYLIST_TAB
+ else if (tab == MP_ADD_TRACK_VIEW_TAB_PLAYLIST) {
+ view->content_to_show = (MpList_t *)mp_playlist_list_create(view->add_track_view_layout);
+ MP_CHECK_VAL(view->content_to_show, -1);
+ mp_playlist_list_set_data((MpPlaylistList_t *)view->content_to_show, MP_PLAYLIST_LIST_FUNC, MP_LIST_FUNC_ADD_TRACK, -1);
+ content = ((MpPlaylistList_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);
+ }
+#endif
+ 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 = mp_list_get_checked_count(view->content_to_show);
+ 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) 2000-2015 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-booklet-view.h"
+#include "mp-widget.h"
+#include "mp-common.h"
+#include "mp-util.h"
+#include "mp-smart-event-box.h"
+#include "mp-scroll-page.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_BOOKLET_THUMB_ICON_SIZE 312
+#define HD_SCREEN_WIDTH 720.0
+#define HD_INFO_RIGHT_WIDTH 880.0
+
+
+typedef struct {
+ char *header;
+ char *detail;
+} mp_media_info_t;
+
+typedef struct {
+ char *name;
+ char *year;
+ char *thumb;
+} mp_album_info_t;
+
+static void
+_mp_album_booklet_view_destory_cb(void *thiz)
+{
+ eventfunc;
+ MpAlbumBookletView_t *view = thiz;
+ MP_CHECK(view);
+ mp_view_fini((MpView_t *)view);
+
+ /* TODO: release resource..*/
+ IF_G_FREE(view->name);
+ IF_G_FREE(view->artist);
+ IF_G_FREE(view->thumbnail);
+
+ mp_evas_object_del(view->more_btn_ctxpopup);
+ mp_evas_object_del(view->track_genlist);
+ mp_elm_genlist_item_class_free(view->info_itc);
+ mp_elm_genlist_item_class_free(view->title_itc);
+ mp_elm_genlist_item_class_free(view->track_itc);
+
+ free(view);
+}
+
+int _mp_album_booklet_view_update(void *thiz)
+{
+ startfunc;
+ MpAlbumBookletView_t *view = thiz;
+ MP_CHECK_VAL(view, -1);
+
+ mp_view_update_options((MpView_t *)view);
+ return 0;
+}
+
+static void _mp_album_booklet_view_search_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ eventfunc;
+ MpAlbumBookletView_t *view = data;
+ MP_CHECK(view);
+ mp_evas_object_del(view->more_btn_ctxpopup);
+ mp_common_search_by(view->name);
+}
+
+static void _mp_album_booklet_view_normal_more_btn_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ eventfunc;
+ MpAlbumBookletView_t *view = (MpAlbumBookletView_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);
+
+ /* Todo: supports multi-language */
+
+ /*Search */
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_SEARCH, MP_PLAYER_MORE_BTN_SEARCH, _mp_album_booklet_view_search_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 *******************/
+Eina_Bool _mp_album_booklet_view_tracklist_back_cb(void *data, Elm_Object_Item *it)
+{
+ eventfunc;
+ MpAlbumBookletView_t *view = (MpAlbumBookletView_t *) data;
+ MP_CHECK_VAL(view, EINA_TRUE);
+
+ 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_booklet_view_update_options(void *thiz)
+{
+ startfunc;
+ MpAlbumBookletView_t *view = (MpAlbumBookletView_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->layout, MP_TOOLBAR_BTN_MORE, NULL, _mp_album_booklet_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_title_enabled_set(view->navi_it, EINA_FALSE, EINA_FALSE);
+
+ elm_naviframe_item_pop_cb_set(view->navi_it, _mp_album_booklet_view_tracklist_back_cb, view);
+
+ endfunc;
+ return 0;
+}
+
+/***page 1***/
+static char *_mp_album_booklet_view_get_year(void *thiz)
+{
+ MpAlbumBookletView_t *view = (MpAlbumBookletView_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("");
+
+ mp_media_info_list_destroy(svc_handle);
+
+ return get_year;
+}
+
+static char*
+_mp_album_booklet_view_album_index_text_get(void *data, Evas_Object * obj, const char *part)
+{
+ MpAlbumBookletView_t *view = (MpAlbumBookletView_t *)evas_object_data_get(obj, "view");
+ MP_CHECK_NULL(view);
+
+ char *text = NULL;
+ if (!g_strcmp0(part, "elm.text.1")) {
+ if (view->info_data)
+ text = view->info_data->album_title;
+ } else if (!g_strcmp0(part, "elm.text.2")) {
+ return _mp_album_booklet_view_get_year(view);
+ } else if (!g_strcmp0(part, "elm.text.3")) {
+ text = view->artist;
+ }
+
+ return g_strdup(text);
+}
+
+static Evas_Object *
+_mp_album_booklet_view_album_index_content_get(void *data, Evas_Object *obj, const char *part)
+{
+ MpAlbumBookletView_t *view = (MpAlbumBookletView_t *)evas_object_data_get(obj, "view");
+ MP_CHECK_NULL(view);
+
+ Evas_Object *icon = mp_util_create_thumb_icon(obj, view->thumbnail, MP_ALBUM_INDEX_ICON_SIZE, MP_ALBUM_INDEX_ICON_SIZE);
+
+ return icon;
+}
+
+static char*
+_mp_album_booklet_view_title_text_get(void *data, Evas_Object * obj, const char *part)
+{
+ int type = (int)data;
+ MpAlbumBookletView_t *view = (MpAlbumBookletView_t *)evas_object_data_get(obj, "view");
+ MP_CHECK_NULL(view);
+
+ const char *title = NULL;
+ if (type == ALBUM_BOOKLET_VIEW_TRACK_LIST)
+ title = STR_MP_TRACK_LIST;
+ else if (type == ALBUM_BOOKLET_VIEW_REVIEW)
+ title = STR_MP_REVIEW;
+
+ char *text = GET_STR(title);
+ return g_strdup(text);
+}
+
+static Evas_Object *
+_mp_album_booklet_view_title_content_get(void *data, Evas_Object *obj, const char *part)
+{
+ int type = (int)data;
+ MpAlbumBookletView_t *view = (MpAlbumBookletView_t *)evas_object_data_get(obj, "view");
+ MP_CHECK_NULL(view);
+
+ Evas_Object *icon = mp_scroll_page_index_icon_add(obj, view->page_count, view->page_index[type]);
+ return icon;
+}
+
+static char*
+_mp_album_booklet_view_track_gl_text_get(void *data, Evas_Object * obj, const char *part)
+{
+ mp_media_info_t *info = data;
+ MP_CHECK_NULL(info);
+
+ if (!g_strcmp0(part, "elm.text.2")) {
+ return g_strdup(info->header);
+ } else if (!g_strcmp0(part, "elm.text.1")) {
+ return g_strdup(info->detail);
+ }
+ return NULL;
+}
+
+static void
+_mp_album_booklet_vew_list_item_del(void *data, Evas_Object *obj)
+{
+ mp_media_info_t *info = data;
+ MP_CHECK(info);
+
+ IF_FREE(info->header);
+ IF_FREE(info->detail);
+ free(info);
+}
+
+static void
+_mp_album_booklet_view_append_track_item(Evas_Object *genlist, char *header, char *detail)
+{
+ /*startfunc;*/
+ MpAlbumBookletView_t *view = NULL;
+ mp_media_info_t *info = NULL;
+
+ MP_CHECK(genlist);
+
+ view = (MpAlbumBookletView_t *)evas_object_data_get(genlist, "view");
+ MP_CHECK(view);
+ 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;
+
+ item = elm_genlist_item_append(view->track_genlist, view->track_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 Evas_Object *
+_mp_album_booklet_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;
+}
+
+static Evas_Object *
+_mp_album_booklet_view_create_track_list(Evas_Object *parent, MpAlbumBookletView_t *view)
+{
+ startfunc;
+ MP_CHECK_NULL(view);
+
+ Evas_Object *genlist = NULL;
+ genlist = _mp_album_booklet_view_create_genlist(parent);
+ MP_CHECK_NULL(genlist);
+ view->track_genlist = genlist;
+ /*elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);*/
+ evas_object_data_set(genlist, "view", view);
+
+ /* album info(index) */
+ Elm_Object_Item *item = elm_genlist_item_append(genlist, view->info_itc, (void *)ALBUM_BOOKLET_VIEW_TRACK_LIST, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+
+ /* title */
+ item = elm_genlist_item_append(genlist, view->title_itc, (void *)ALBUM_BOOKLET_VIEW_TRACK_LIST, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+
+ /*data part*/
+ mp_info_data_t *info_data = view->info_data;
+ int i = 0;
+ for (i = 0; i < info_data->track_list_count; i++) {
+ if (info_data->track_list[i].track_title) {
+ char duration_format[10] = { 0, };
+ int dur_sec = info_data->track_list[i].duration;
+ int sec = dur_sec % 60;
+ int min = dur_sec / 60;
+ snprintf(duration_format, sizeof(duration_format), "%02u:%02u", min, sec);
+ _mp_album_booklet_view_append_track_item(genlist, duration_format, info_data->track_list[i].track_title);
+ } else {
+ DEBUG_TRACE("credits have error");
+ }
+ }
+
+ return genlist;
+}
+/***page 2***/
+
+static char *
+_mp_album_booklet_album_label_get(void *data, Evas_Object * obj, const char *part)
+{
+ mp_album_info_t *item = (mp_album_info_t *) data;
+ MP_CHECK_NULL(item);
+
+ if (!strcmp(part, "elm.text")) {
+
+ return g_strdup(item->name);
+
+ } else if (!strcmp(part, "elm.text.2")) {
+ return g_strdup(item->year);
+ }
+
+ DEBUG_TRACE("Unusing part: %s", part);
+ return NULL;
+}
+
+
+
+Evas_Object *
+_mp_album_booklet_album_icon_get(void *data, Evas_Object * obj, const char *part)
+{
+ Evas_Object *icon = NULL;
+
+ mp_album_info_t *item = (mp_album_info_t *) data;
+ MP_CHECK_NULL(item);
+
+ if (!strcmp(part, "elm.icon") || !strcmp(part, "elm.swallow.icon")) {
+
+ icon = mp_util_create_thumb_icon(obj, item->thumb, MP_ALBUM_BOOKLET_THUMB_ICON_SIZE, MP_ALBUM_BOOKLET_THUMB_ICON_SIZE);
+ }
+ return icon;
+}
+
+static void
+_mp_album_booklet_album_item_del_cb(void *data, Evas_Object *obj)
+{
+ mp_album_info_t *info = data;
+ MP_CHECK(info);
+
+ IF_FREE(info->name);
+ IF_FREE(info->thumb);
+ IF_FREE(info->year);
+ free(info);
+}
+
+static void _mp_album_booklet_append_album_item(Evas_Object *gengrid, char *name, char *year, char *thumb)
+{
+ /*startfunc;*/
+ MpAlbumBookletView_t *view = NULL;
+ mp_album_info_t *info = NULL;
+
+ MP_CHECK(gengrid);
+
+ view = (MpAlbumBookletView_t *)evas_object_data_get(gengrid, "view");
+ MP_CHECK(view);
+ info = calloc(1, sizeof(mp_album_info_t));
+ MP_CHECK(info);
+ info->name = g_strdup(name);
+ info->year = g_strdup(year);
+ info->thumb = g_strdup(thumb);
+
+ elm_gengrid_item_append(view->album_gengrid, view->album_itc,
+ info,
+ NULL,
+ NULL);
+}
+
+
+static Evas_Object *
+_mp_album_booklet_view_gengrid_create(Evas_Object *parent, MpAlbumBookletView_t *view)
+{
+ startfunc;
+ MP_CHECK_NULL(view);
+ /*create new gengrid*/
+ mp_evas_object_del(view->album_gengrid);
+ view->album_gengrid = NULL;
+
+ mp_info_data_t *info_data = view->info_data;
+ if (info_data->discography_count > 0) {
+ view->album_gengrid = elm_gengrid_add(parent);
+ evas_object_data_set(view->album_gengrid, "view", view);
+ evas_object_size_hint_weight_set(view->album_gengrid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(view->album_gengrid, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_freeze_events_set(view->album_gengrid, EINA_TRUE);
+ evas_object_show(view->album_gengrid);
+
+ if (!view->album_itc) {
+ view->album_itc = elm_gengrid_item_class_new();
+ view->album_itc->item_style = "music/album_grid";
+ view->album_itc->func.text_get = _mp_album_booklet_album_label_get;
+ view->album_itc->func.content_get = _mp_album_booklet_album_icon_get;
+ view->album_itc->func.del = _mp_album_booklet_album_item_del_cb;
+ }
+
+ double scale = elm_config_scale_get();
+ int w = (int)((MP_ALBUM_BOOKLET_THUMB_ICON_SIZE + 33) * scale);
+ int h = (int)((MP_ALBUM_BOOKLET_THUMB_ICON_SIZE + 97) * scale);
+ elm_gengrid_item_size_set(view->album_gengrid, w, h);
+ elm_gengrid_align_set(view->album_gengrid, 0.5, 0.0);
+
+ int i = 0;
+ for (i = 0; i < info_data->discography_count; i++) {
+ if (info_data->discography[i].album_title && info_data->discography[i].thumbpath) {
+ _mp_album_booklet_append_album_item(view->album_gengrid, info_data->discography[i].album_title,
+ info_data->discography[i].year, info_data->discography[i].thumbpath);
+ } else {
+ DEBUG_TRACE("credits have error");
+ }
+ }
+ } else
+ view->album_gengrid = mp_widget_create_no_contents(view->current_page, MP_NOCONTENT_NORMAL, NULL, NULL);
+
+ endfunc;
+ return view->album_gengrid;
+}
+
+static Evas_Object *
+_mp_album_booklet_view_add_review(Evas_Object *parent, MpAlbumBookletView_t *view)
+{
+ startfunc;
+ MP_CHECK_NULL(parent);
+ MP_CHECK_NULL (view);
+
+ Evas_Object *scroller = elm_scroller_add(parent);
+ elm_scroller_bounce_set(scroller, EINA_FALSE, EINA_TRUE);
+ elm_scroller_policy_set(scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO);
+
+ Evas_Object *box = elm_box_add(scroller);
+ evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_FILL);
+ evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ elm_object_content_set(scroller, box);
+
+ /* title */
+ Evas_Object *title = mp_common_load_edj(box, THEME_NAME, "elm/genlist/item/music_player/rich_info/page_title/default");
+ evas_object_size_hint_weight_set(title, EVAS_HINT_EXPAND, EVAS_HINT_FILL);
+ evas_object_size_hint_align_set(title, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_data_set(title, "view", view);
+
+ char *text = _mp_album_booklet_view_title_text_get((void *)ALBUM_BOOKLET_VIEW_REVIEW, title, "elm.text");
+ elm_object_part_text_set(title, "elm.text", text);
+ IF_FREE(text);
+ Evas_Object *index = _mp_album_booklet_view_title_content_get((void *)ALBUM_BOOKLET_VIEW_REVIEW, title, "elm.icon");
+ elm_object_part_content_set(title, "elm.icon", index);
+ elm_box_pack_end(box, title);
+
+ /* review */
+ Evas_Object *review = mp_widget_rich_info_text_add(box, view->info_data->review);
+ evas_object_size_hint_weight_set(review, EVAS_HINT_EXPAND, EVAS_HINT_FILL);
+ evas_object_size_hint_align_set(review, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ elm_box_pack_end(box, review);
+
+ return scroller;
+}
+
+static Evas_Object *
+_mp_similar_album_create(Evas_Object *parent, MpAlbumBookletView_t *view)
+{
+ return _mp_album_booklet_view_gengrid_create(parent, view);
+}
+
+static Evas_Object *
+_mp_review_create(Evas_Object *parent, MpAlbumBookletView_t *view)
+{
+ return _mp_album_booklet_view_add_review(parent, view);
+}
+
+static void _mp_album_booklet_view_content_load(void *thiz)
+{
+ startfunc;
+ MpAlbumBookletView_t *view = (MpAlbumBookletView_t *)thiz;
+ MP_CHECK(view);
+
+ /*set itc*/
+ if (!view->info_itc) {
+ view->info_itc = elm_genlist_item_class_new();
+ view->info_itc->item_style = "music_player/album_index";
+ view->info_itc->func.text_get = _mp_album_booklet_view_album_index_text_get;
+ view->info_itc->func.content_get = _mp_album_booklet_view_album_index_content_get;
+ view->info_itc->func.del = NULL;
+ }
+
+ if (!view->title_itc) {
+ view->title_itc = elm_genlist_item_class_new();
+ view->title_itc->item_style = "music_player/rich_info/page_title";
+ view->title_itc->func.text_get = _mp_album_booklet_view_title_text_get;
+ view->title_itc->func.content_get = _mp_album_booklet_view_title_content_get;
+ view->title_itc->func.del = NULL;
+ }
+
+ if (!view->track_itc) {
+ view->track_itc = elm_genlist_item_class_new();
+ view->track_itc->item_style = "2text";
+ view->track_itc->func.text_get = _mp_album_booklet_view_track_gl_text_get;
+ view->track_itc->func.content_get = NULL;
+ view->track_itc->func.del = _mp_album_booklet_vew_list_item_del;
+ }
+
+ /*scroll page*/
+ Evas_Object *scroll_page = mp_scroll_page_add(view->layout);
+ mp_scroll_page_hide_scroll_bar(scroll_page);
+
+ /* calc page total becasue of title index */
+ if (view->info_data->track_list_count > 0)
+ ++view->page_count;
+ if (view->info_data->review)
+ ++view->page_count;
+
+ Evas_Object *page = NULL;
+ int page_count = 0;
+
+ if (view->info_data->track_list_count > 0) {
+ view->page_index[ALBUM_BOOKLET_VIEW_TRACK_LIST] = page_count;
+ page = _mp_album_booklet_view_create_track_list(scroll_page, view);
+ evas_object_show(page);
+ mp_scroll_page_content_append(scroll_page, page);
+ page_count++;
+ }
+
+ if (0) {
+ view->page_index[ALBUM_BOOKLET_VIEW_SIMILAR_ALBUM] = page_count;
+ page = _mp_similar_album_create(scroll_page, view);
+ evas_object_show(page);
+ mp_scroll_page_content_append(scroll_page, page);
+ page_count++;
+ }
+
+ if (view->info_data->review) {
+ view->page_index[ALBUM_BOOKLET_VIEW_REVIEW] = page_count;
+ page = _mp_review_create(scroll_page, view);
+ evas_object_show(page);
+ mp_scroll_page_content_append(scroll_page, page);
+ page_count++;
+ }
+
+ elm_object_part_content_set(view->layout, "list_content", scroll_page);
+
+}
+
+static int
+_mp_album_booklet_view_init(Evas_Object *parent, MpAlbumBookletView_t *view)
+{
+ startfunc;
+ int ret = 0;
+ ret = mp_view_init(parent, (MpView_t *)view, MP_VIEW_ALBUM_BOOKLET);
+ MP_CHECK_VAL(ret == 0, -1);
+
+ view->disable_title_icon = true;
+
+ view->update = _mp_album_booklet_view_update;
+ view->update_options = _mp_album_booklet_view_update_options;
+ view->update_options_edit = NULL;
+ view->view_destroy_cb = _mp_album_booklet_view_destory_cb;
+
+ return ret;
+}
+
+MpAlbumBookletView_t *mp_album_booklet_view_create(Evas_Object *parent, mp_info_data_t *info_data, char *album, char *artist, char *thumbnail)
+{
+ startfunc;
+ int ret;
+ MP_CHECK_NULL(parent);
+
+ MpAlbumBookletView_t *view = calloc(1, sizeof(MpAlbumBookletView_t));
+ MP_CHECK_NULL(view);
+
+ ret = _mp_album_booklet_view_init(parent, view);
+ if (ret) goto Error;
+
+ view->info_data = info_data;
+ view->name = g_strdup(album);
+ view->artist = g_strdup(artist);
+ view->thumbnail = g_strdup(thumbnail);
+
+ _mp_album_booklet_view_content_load(view);
+ return view;
+
+Error:
+ ERROR_TRACE("Error: mp_album_booklet_view_create()");
+ IF_FREE(view);
+ return NULL;
+}
+
+
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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)
+{
+ Evas_Object *ev_obj = 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;
+}
+
+#ifdef MP_FEATURE_ADD_TO_HOME
+static void
+_mp_album_detail_view_add_to_home_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_menu_add_to_home(MP_ADD_TO_HOME_SHORTCUT_TYPE_ALBUM, view->name, view->thumbnail, NULL);
+}
+#endif
+
+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);
+
+#ifdef MP_FEATURE_SHARE
+ if (mp_list_get_editable_count(view->content_to_show, MP_LIST_EDIT_TYPE_SHARE)) {
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_SHARE, MP_PLAYER_MORE_BTN_SHARE, mp_common_share_cb, view);
+ }
+#endif
+ 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_CLOUD
+ /*cloud */
+ int is_on = false;
+ mp_cloud_is_on(&is_on);
+ if (is_on) {
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_VIEW, MP_PLAYER_MORE_BTN_VIEW, mp_common_cloud_view_cb, view);
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_MAKE_AVAILABLE_OFFLINE, MP_PLAYER_MORE_BTN_MAKE_AVAILABLE_OFFICE, mp_common_ctxpopup_make_offline_cb, view);
+ }
+#endif
+
+#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) 2000-2015 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);
+#ifdef MP_FEATURE_SHORTCUT
+#ifndef MP_DEBUG_MODE
+static void _mp_all_view_update_favourite(MpAllView_t *view);
+#endif
+static void _mp_all_view_update_shortcut(MpAllView_t *view);
+#endif
+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;
+}
+
+#ifdef MP_LIST_THUMBNAIL
+static void _mp_all_view_view_as_select_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ eventfunc;
+ MpAllView_t *all_view = (MpAllView_t *)data;
+ MP_CHECK(all_view);
+ mp_evas_object_del(all_view->more_btn_ctxpopup);
+
+/* remove popup */
+/*
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ if (mp_list_is_display_mode_changable(all_view->content_to_show)) {
+ Evas_Object *popup = mp_genlist_popup_create(ad->win_main, MP_POPUP_CHANGE_LIST_DISPLAY_MODE, all_view, ad);
+ MP_CHECK(popup);
+
+ mp_evas_object_del(all_view->radio_main);
+ all_view->radio_main = elm_radio_add(popup);
+ elm_radio_state_value_set(all_view->radio_main, -1);
+ evas_object_smart_callback_add(all_view->radio_main, "changed", _mp_all_view_view_as_popup_radio_changed_cb, all_view);
+ evas_object_event_callback_add(all_view->radio_main, EVAS_CALLBACK_DEL, _mp_all_view_radio_main_del_cb, all_view);
+ evas_object_hide(all_view->radio_main);
+
+ Evas_Object *genlist = evas_object_data_get(popup, "genlist");
+ MP_CHECK(genlist);
+
+ evas_object_data_set(genlist, "all_view", (void *)all_view);
+
+ static Elm_Genlist_Item_Class itc;
+ itc.item_style = "1text.1icon.3";
+ itc.func.text_get = _mp_all_view_view_as_popup_label_get;
+ itc.func.content_get = _mp_all_view_view_as_popup_content_get;
+ itc.func.state_get = NULL;
+ itc.func.del = NULL;
+
+ int i = 0;
+ while (i < MP_LIST_DISPLAY_MODE_MAX) {
+ elm_genlist_item_append(genlist, &itc, (void *)i, NULL, ELM_GENLIST_ITEM_NONE,
+ _mp_all_view_view_as_popup_item_sel, all_view);
+
+ ++i;
+ }
+ }
+ */
+ MpListDisplayMode_e current = mp_list_get_display_mode(all_view->content_to_show);
+ mp_debug("List display change request [%d => %d]", current);
+
+ if (MP_LIST_DISPLAY_MODE_NORMAL == current)
+ current = MP_LIST_DISPLAY_MODE_THUMBNAIL;
+ else if (MP_LIST_DISPLAY_MODE_THUMBNAIL == current)
+ current = MP_LIST_DISPLAY_MODE_NORMAL;
+
+ all_view->display_mode[all_view->tab_status] = current;
+
+ if (all_view->content_to_show) {
+ mp_list_change_display_mode(all_view->content_to_show, current);
+ }
+}
+#endif
+
+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);
+ }
+ }
+
+#ifdef MP_FEATURE_SHARE
+ /* share via */
+ if (index == MP_TAB_SONGS) {
+ if (mp_list_get_editable_count(view->content_to_show, MP_LIST_EDIT_TYPE_SHARE))
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_SHARE, MP_PLAYER_MORE_BTN_SHARE, mp_common_share_cb, view);
+ }
+#endif
+
+ /*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);
+ }
+
+ /*view as*/
+#ifdef MP_LIST_THUMBNAIL
+ if (mp_list_is_display_mode_changable(view->content_to_show)) {
+ MpListDisplayMode_e current = mp_list_get_display_mode(view->content_to_show);
+ if (MP_LIST_DISPLAY_MODE_NORMAL == current)
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_ALL_THUMBNAIL_VIEW, MP_PLAYER_MORE_BTN_MORE_THUMBNAIL_VIEW_IMAGE, _mp_all_view_view_as_select_cb, view);
+ else if (MP_LIST_DISPLAY_MODE_THUMBNAIL == current)
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_ALL_LIST_VIEW, MP_PLAYER_MORE_BTN_MORE_LIST_VIEW_IMAGE, _mp_all_view_view_as_select_cb, view);
+
+ }
+#endif
+
+#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
+
+
+ /*settings*/
+ /*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
+ /*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;
+#ifdef MP_CREATE_FAKE_IMAGE
+ return 0;
+#endif
+ 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("elm_naviframe_item_title_enabled_set");
+ elm_naviframe_item_title_enabled_set(view->navi_it, EINA_TRUE, EINA_FALSE);
+ PROFILE_OUT("elm_naviframe_item_title_enabled_set");*/
+
+ PROFILE_IN("_mp_all_view_update_toolbar_option");
+ _mp_all_view_update_toolbar_option(thiz);
+ PROFILE_OUT("_mp_all_view_update_toolbar_option");
+
+ /*edje_object_signal_emit(_EDJ(view->all_view_layout), "show,tabbar", "*");*/
+ 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);
+
+ /*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);
+
+ ad->del_cb_invoked = 0;
+
+ 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_FOLDERS:
+ list = (void *)mp_folder_list_create(view->all_view_layout);
+ mp_folder_list_set_data((MpFolderList_t *)list, MP_FOLDER_LIST_TYPE, MP_GROUP_BY_FOLDER, -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;
+ }
+
+ 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);
+ /*elm_naviframe_item_style_set(view->navi_it, "tabbar/notitle");
+ elm_object_item_part_content_set(view->navi_it, "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;
+
+ 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:
+#ifdef MP_FEATURE_SHORTCUT
+ /*_mp_all_view_update_shortcut(view);*/
+#endif
+ 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);
+ break;
+ case MP_PLAYLIST_CREATED:
+ _mp_all_view_playlist_update(view);
+ break;
+ case MP_SIP_STATE_CHANGED:
+ /*
+ if (view->navi_it) {
+ const char *signal = mp_util_get_sip_state() ? "elm,state,toolbar,instant_close" : "elm,state,toolbar,instant_open";
+ elm_object_item_signal_emit(view->navi_it, signal, "");
+
+ bool title_visible = (mp_util_get_sip_state() && mp_util_is_landscape()) ? false : true;
+ mp_view_set_title_visible(thiz, title_visible);
+ }
+ */
+ 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
+#ifdef MP_FEATURE_LANDSCAPE
+ case MP_VIEW_ROTATE:
+ mp_list_rotate(list);
+ 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;
+ }
+}
+
+#ifdef MP_FEATURE_LANDSCAPE
+static void
+_mp_all_view_rotate_cb(void *thiz, int randscape)
+{
+ DEBUG_TRACE("allview rotated");
+ MpAllView_t *view = thiz;
+ MP_CHECK(view);
+
+ MpView_t *top_view = mp_view_mgr_get_top_view(GET_VIEW_MGR);
+
+ if (mp_util_get_sip_state() && (int)top_view == (int)view)
+ _mp_all_view_on_event(view, MP_SIP_STATE_CHANGED);
+
+ _mp_all_view_on_event(view, MP_VIEW_ROTATE);
+}
+#endif
+
+#ifdef MP_FEATURE_SHORTCUT
+#ifndef MP_DEBUG_MODE
+static void
+_mp_all_view_update_favourite(MpAllView_t *view)
+{
+ startfunc;
+ /*mp_all_list_update_favourite((MpAllList_t *)view->content_to_show);*/
+}
+#endif
+static void
+_mp_all_view_update_shortcut(MpAllView_t *view)
+{
+ startfunc;
+
+ /*mp_all_list_update_shortcut((MpAllList_t *)view->content_to_show);*/
+}
+
+
+/*#define SHORCUT_W 720*elm_config_scale_get()*/
+#define LARGE_BOX_SIZE 480*elm_config_scale_get()
+#define SMALL_BOX_SIZE 240*elm_config_scale_get()
+#define LANDSCAPE_BOX_SIZE 377*elm_config_scale_get()
+#define BOX_COUNT 3
+
+#endif
+
+
+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;
+#ifdef MP_FEATURE_LANDSCAPE
+ view->rotate = _mp_all_view_rotate_cb;
+#endif
+ 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);
+
+ /*mp_all_list_select_tab((MpAllList_t *)view->content_to_show, tab);*/
+ 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) 2000-2015 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-booklet-view.h"
+#include "mp-widget.h"
+#include "mp-common.h"
+#include "mp-util.h"
+#include "mp-smart-event-box.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_ARTIST_BOOKLET_THUMB_ICON_SIZE 312
+#define HD_SCREEN_WIDTH 720.0
+#define HD_INFO_RIGHT_WIDTH 880.0
+
+typedef struct {
+ char *header;
+ char *detail;
+} mp_media_info_t;
+
+typedef struct {
+ char *name;
+ char *year;
+ char *thumb;
+} mp_album_info_t;
+
+static void
+_mp_artist_booklet_view_destory_cb(void *thiz)
+{
+ eventfunc;
+ MpArtistBookletView_t *view = thiz;
+ MP_CHECK(view);
+ mp_view_fini((MpView_t *)view);
+
+ /* TODO: release resource.. */
+ IF_G_FREE(view->name);
+ IF_G_FREE(view->artist);
+ IF_G_FREE(view->thumbnail);
+
+ mp_evas_object_del(view->more_btn_ctxpopup);
+ mp_elm_genlist_item_class_free(view->info_itc);
+ mp_elm_genlist_item_class_free(view->title_itc);
+ mp_elm_genlist_item_class_free(view->content_itc);
+
+ free(view);
+}
+
+int _mp_artist_booklet_view_update(void *thiz)
+{
+ startfunc;
+ MpArtistBookletView_t *view = thiz;
+ MP_CHECK_VAL(view, -1);
+
+ return 0;
+}
+
+static void _mp_artist_booklet_view_search_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ eventfunc;
+ MpArtistBookletView_t *view = data;
+ MP_CHECK(view);
+ mp_evas_object_del(view->more_btn_ctxpopup);
+ mp_common_search_by(view->artist);
+}
+
+static void _mp_artist_booklet_view_normal_more_btn_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ eventfunc;
+ MpArtistBookletView_t *view = (MpArtistBookletView_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);
+
+ /* Todo: supports multi-language */
+
+ /*Search */
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_SEARCH, MP_PLAYER_MORE_BTN_SEARCH, _mp_artist_booklet_view_search_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 Eina_Bool _mp_artist_booklet_view_back_cb(void *data, Elm_Object_Item *it)
+{
+ eventfunc;
+ MpArtistBookletView_t *view = (MpArtistBookletView_t *) data;
+ MP_CHECK_VAL(view, EINA_TRUE);
+
+ 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_booklet_view_update_options(void *thiz)
+{
+ startfunc;
+ MpArtistBookletView_t *view = (MpArtistBookletView_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->layout, MP_TOOLBAR_BTN_MORE, NULL, _mp_artist_booklet_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_title_enabled_set(view->navi_it, EINA_FALSE, EINA_FALSE);
+ elm_naviframe_item_pop_cb_set(view->navi_it, _mp_artist_booklet_view_back_cb, view);
+
+ endfunc;
+ return 0;
+}
+
+
+/***page 2***/
+
+static char*
+_mp_artist_booklet_view_artist_index_text_get(void *data, Evas_Object *obj, const char *part)
+{
+ MpArtistBookletView_t *view = (MpArtistBookletView_t *)evas_object_data_get(obj, "view");
+ MP_CHECK_NULL(view);
+
+ char *text = NULL;
+ if (!g_strcmp0(part, "elm.text.1")) {
+ if (view->info_data)
+ text = view->artist;
+ } else if (!g_strcmp0(part, "elm.text.2")) {
+ text = g_strdup_printf("%d %s", view->info_data->discography_count, GET_STR(STR_MP_ALBUMS));
+ return text;
+ }
+
+ return g_strdup(text);
+}
+
+static Evas_Object *
+_mp_artist_booklet_view_artist_index_content_get(void *data, Evas_Object *obj, const char *part)
+{
+ MpArtistBookletView_t *view = (MpArtistBookletView_t *)evas_object_data_get(obj, "view");
+ MP_CHECK_NULL(view);
+
+ Evas_Object *icon = mp_util_create_thumb_icon(obj, view->thumbnail, MP_ALBUM_INDEX_ICON_SIZE, MP_ALBUM_INDEX_ICON_SIZE);
+
+ return icon;
+}
+
+static char*
+_mp_artist_booklet_view_title_text_get(void *data, Evas_Object *obj, const char *part)
+{
+ int type = (int)data;
+ MpArtistBookletView_t *view = (MpArtistBookletView_t *)evas_object_data_get(obj, "view");
+ MP_CHECK_NULL(view);
+
+ const char *title = NULL;
+ if (type == ARTIST_BOOKLET_VIEW_DISCOGRAPHY)
+ title = STR_MP_DISCOGRAPHY;
+ else if (type == ARTIST_BOOKLET_VIEW_BIOGRAPHY)
+ title = STR_MP_BIOGRAPHY;
+
+ char *text = GET_STR(title);
+ return g_strdup(text);
+}
+
+static Evas_Object *
+_mp_artist_booklet_view_title_content_get(void *data, Evas_Object *obj, const char *part)
+{
+ int type = (int)data;
+ MpArtistBookletView_t *view = (MpArtistBookletView_t *)evas_object_data_get(obj, "view");
+ MP_CHECK_NULL(view);
+
+ Evas_Object *icon = mp_scroll_page_index_icon_add(obj, view->page_count, view->page_index[type]);
+ return icon;
+}
+
+static char *
+_mp_artist_booklet_album_label_get(void *data, Evas_Object * obj, const char *part)
+{
+ mp_album_info_t *item = (mp_album_info_t *) data;
+ MP_CHECK_NULL(item);
+
+ if (!strcmp(part, "elm.text")) {
+
+ return g_strdup(item->name);
+
+ } else if (!strcmp(part, "elm.text.2")) {
+ return g_strdup(item->year);
+ }
+
+ DEBUG_TRACE("Unusing part: %s", part);
+ return NULL;
+}
+
+
+
+Evas_Object *
+_mp_artist_booklet_album_icon_get(void *data, Evas_Object * obj, const char *part)
+{
+ Evas_Object *icon = NULL;
+
+ mp_album_info_t *item = (mp_album_info_t *) data;
+ MP_CHECK_NULL(item);
+
+ if (!strcmp(part, "elm.icon") || !strcmp(part, "elm.swallow.icon")) {
+ icon = mp_util_create_thumb_icon(obj, item->thumb, MP_ALBUM_THUMB_ICON_SIZE, MP_ALBUM_THUMB_ICON_SIZE);
+ }
+ return icon;
+}
+
+static void
+_mp_artist_booklet_album_item_del_cb(void *data, Evas_Object *obj)
+{
+ mp_album_info_t *info = data;
+ MP_CHECK(info);
+
+ IF_FREE(info->name);
+ IF_FREE(info->thumb);
+ IF_FREE(info->year);
+ free(info);
+}
+
+static void _mp_artist_booklet_append_album_item(Evas_Object *gengrid, char *name, char *year, char *thumb, Elm_Gengrid_Item_Class *disco_itc)
+{
+ /* startfunc; */
+ mp_album_info_t *info = NULL;
+ MP_CHECK(gengrid);
+
+ info = calloc(1, sizeof(mp_album_info_t));
+ MP_CHECK(info);
+ info->name = g_strdup(name);
+ info->year = g_strdup(year);
+ info->thumb = g_strdup(thumb);
+
+ elm_gengrid_item_append(gengrid, disco_itc,
+ info,
+ NULL,
+ NULL);
+}
+
+static void
+_mp_aritst_booklet_view_gengrid_resize(MpArtistBookletView_t *view, Evas_Object *gengrid)
+{
+ MP_CHECK(view);
+ MP_CHECK(view->layout);
+ MP_CHECK(gengrid);
+
+ int layout_w = 0;
+ evas_object_geometry_get(view->layout, NULL, NULL, &layout_w, NULL);
+ if (layout_w) {
+ int item_count = elm_gengrid_items_count(gengrid);
+ int w = 0;
+ int h = 0;
+ elm_gengrid_item_size_get(gengrid, &w, &h);
+ MP_CHECK(w && h);
+
+ int item_per_line = layout_w / w;
+ int line = item_count / item_per_line;
+ if (item_count % item_per_line)
+ ++line;
+
+ int gengrid_h = line * h;
+ evas_object_size_hint_min_set(gengrid, layout_w, gengrid_h);
+ }
+}
+
+static void
+_mp_artist_booklet_view_gengrid_del_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+ MpArtistBookletView_t *view = data;
+ MP_CHECK(view);
+ view->disco_gengrid = NULL;
+}
+
+static Evas_Object *
+_mp_artist_booklet_view_gengrid_create(Evas_Object *parent, MpArtistBookletView_t *view)
+{
+ startfunc;
+ MP_CHECK_NULL(view);
+ Evas_Object *gengrid;
+
+ /*create new gengrid*/
+ mp_info_data_t *info_data = view->info_data;
+ if (info_data->discography_count > 0) {
+ gengrid = elm_gengrid_add(parent);
+ evas_object_data_set(gengrid, "view", view);
+ evas_object_size_hint_weight_set(gengrid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(gengrid, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_freeze_events_set(gengrid, EINA_TRUE);
+ evas_object_show(gengrid);
+
+ evas_object_event_callback_add(gengrid, EVAS_CALLBACK_DEL, _mp_artist_booklet_view_gengrid_del_cb, view);
+
+ if (!view->disco_itc) {
+ view->disco_itc = elm_gengrid_item_class_new();
+ view->disco_itc->item_style = "music/album_grid";
+ view->disco_itc->func.text_get = _mp_artist_booklet_album_label_get;
+ view->disco_itc->func.content_get = _mp_artist_booklet_album_icon_get;
+ view->disco_itc->func.del = _mp_artist_booklet_album_item_del_cb;
+ }
+
+ double scale = elm_config_scale_get();
+ int w = (int)((MP_ALBUM_THUMB_ICON_SIZE + 33) * scale);
+ int h = (int)((MP_ALBUM_THUMB_ICON_SIZE + 97) * scale);
+ elm_gengrid_item_size_set(gengrid, w, h);
+ elm_gengrid_align_set(gengrid, 0.5, 0.0);
+
+ int i = 0;
+ for (i = 0; i < info_data->discography_count; i++) {
+ SECURE_DEBUG("title = %s", info_data->discography[i].album_title);
+ SECURE_DEBUG("path = %s", info_data->discography[i].thumbpath);
+ SECURE_DEBUG("year = %s", info_data->discography[i].year);
+ if (info_data->discography[i].album_title) {
+ _mp_artist_booklet_append_album_item(gengrid, info_data->discography[i].album_title,
+ info_data->discography[i].year, info_data->discography[i].thumbpath, view->disco_itc);
+ } else {
+ DEBUG_TRACE("credits have error");
+ }
+ }
+
+ view->disco_gengrid = gengrid;
+ _mp_aritst_booklet_view_gengrid_resize(view, view->disco_gengrid);
+ } else
+ gengrid = mp_widget_create_no_contents(parent, MP_NOCONTENT_NORMAL, NULL, NULL);
+
+ return gengrid;
+}
+
+static Evas_Object *
+_mp_artist_booklet_view_1icon_content_get(void *data, Evas_Object *obj, const char *part)
+{
+ int type = (int)data;
+ MpArtistBookletView_t *view = (MpArtistBookletView_t *)evas_object_data_get(obj, "view");
+ MP_CHECK_NULL(view);
+
+ Evas_Object *content = NULL;
+ if (type == ARTIST_BOOKLET_VIEW_DISCOGRAPHY) {
+ content = _mp_artist_booklet_view_gengrid_create(obj, view);
+ } else if (type == ARTIST_BOOKLET_VIEW_BIOGRAPHY) {
+ int w = 0;
+ evas_object_geometry_get(view->layout, NULL, NULL, &w, NULL);
+ content = mp_common_load_edj(obj, MP_EDJ_NAME, "biography_layout");
+ evas_object_size_hint_min_set(content, w, 0);
+ 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 *image = mp_util_create_thumb_icon(content, view->info_data->artist_image, w, SCALED_SIZE(360));
+ elm_object_part_content_set(content, "image", image);
+
+ Evas_Object *label = mp_widget_rich_info_text_add(content, view->info_data->biography);
+ elm_object_part_content_set(content, "introduce", label);
+ }
+
+ return content;
+}
+
+static Evas_Object *
+_mp_artist_booklet_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;
+}
+
+static void
+_mp_artist_booklet_gl_resize_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+ MpArtistBookletView_t *view = data;
+ MP_CHECK(view);
+
+ int w, h;
+ evas_object_geometry_get(obj, NULL, NULL, &w, &h);
+ DEBUG_TRACE("genlist size = [%d x %d]", w, h);
+
+ if (view->genlist[ARTIST_BOOKLET_VIEW_DISCOGRAPHY] == obj && view->gengrid_item) {
+ /* gengrid */
+ elm_genlist_item_update(view->gengrid_item);
+ }
+}
+
+static Evas_Object *_mp_artist_booklet_create_content(Evas_Object *parent, MpArtistBookletView_t *view, int type)
+{
+ Evas_Object *genlist = NULL;
+ genlist = _mp_artist_booklet_view_create_genlist(parent);
+ MP_CHECK_NULL(genlist);
+ view->genlist[type] = genlist;
+ evas_object_data_set(genlist, "view", view);
+
+ evas_object_event_callback_add(genlist, EVAS_CALLBACK_RESIZE, _mp_artist_booklet_gl_resize_cb, view);
+
+ /* album info(index) */
+ Elm_Object_Item *item = elm_genlist_item_append(genlist, view->info_itc, (void *)type, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+
+ /* title */
+ item = elm_genlist_item_append(genlist, view->title_itc, (void *)type, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+
+ /* content */
+ view->gengrid_item = elm_genlist_item_append(genlist, view->content_itc, (void *)type, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ return genlist;
+}
+
+static Evas_Object *_mp_aritst_booklet_create_biograpy(Evas_Object *parent, MpArtistBookletView_t *view)
+{
+ MP_CHECK_NULL(parent);
+ MP_CHECK_NULL(view);
+
+ Evas_Object *scroller = elm_scroller_add(parent);
+ elm_scroller_bounce_set(scroller, EINA_FALSE, EINA_TRUE);
+ elm_scroller_policy_set(scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO);
+
+ Evas_Object *box = elm_box_add(scroller);
+ evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_FILL);
+ evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_data_set(box, "view", view);
+ elm_object_content_set(scroller, box);
+
+ char *text = NULL;
+ Evas_Object *icon = NULL;
+ /* index */
+ Evas_Object *info = mp_common_load_edj(box, THEME_NAME, "elm/genlist/item/music_player/artist_index/default");
+ evas_object_size_hint_weight_set(info, EVAS_HINT_EXPAND, EVAS_HINT_FILL);
+ evas_object_size_hint_align_set(info, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_data_set(info, "view", view);
+ text = _mp_artist_booklet_view_artist_index_text_get((void *)ARTIST_BOOKLET_VIEW_BIOGRAPHY, info, "elm.text.1");
+ elm_object_part_text_set(info, "elm.text.1", text);
+ IF_FREE(text);
+ text = _mp_artist_booklet_view_artist_index_text_get((void *)ARTIST_BOOKLET_VIEW_BIOGRAPHY, info, "elm.text.2");
+ elm_object_part_text_set(info, "elm.text.2", text);
+ IF_FREE(text);
+ icon = _mp_artist_booklet_view_artist_index_content_get((void *)ARTIST_BOOKLET_VIEW_BIOGRAPHY, info, "elm.icon");
+ elm_object_part_content_set(info, "elm.icon", icon);
+ elm_box_pack_end(box, info);
+
+ /* title */
+ Evas_Object *title = mp_common_load_edj(box, THEME_NAME, "elm/genlist/item/music_player/rich_info/page_title/default");
+ evas_object_size_hint_weight_set(title, EVAS_HINT_EXPAND, EVAS_HINT_FILL);
+ evas_object_size_hint_align_set(title, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_data_set(title, "view", view);
+ text = _mp_artist_booklet_view_title_text_get((void *)ARTIST_BOOKLET_VIEW_BIOGRAPHY, title, "elm.text");
+ elm_object_part_text_set(title, "elm.text", text);
+ IF_FREE(text);
+ icon = _mp_artist_booklet_view_title_content_get((void *)ARTIST_BOOKLET_VIEW_BIOGRAPHY, title, "elm.icon");
+ elm_object_part_content_set(title, "elm.icon", icon);
+ elm_box_pack_end(box, title);
+
+ /* content */
+ Evas_Object *biography = _mp_artist_booklet_view_1icon_content_get((void *)ARTIST_BOOKLET_VIEW_BIOGRAPHY, box, "elm.icon");
+ evas_object_size_hint_weight_set(biography, EVAS_HINT_EXPAND, EVAS_HINT_FILL);
+ evas_object_size_hint_align_set(biography, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ elm_box_pack_end(box, biography);
+
+ return scroller;
+}
+
+
+static void _mp_artist_booklet_view_content_load(void *thiz)
+{
+ startfunc;
+ MpArtistBookletView_t *view = (MpArtistBookletView_t *)thiz;
+ MP_CHECK(view);
+
+ /*set itc*/
+ if (!view->info_itc) {
+ view->info_itc = elm_genlist_item_class_new();
+ view->info_itc->item_style = "music_player/artist_index";
+ view->info_itc->func.text_get = _mp_artist_booklet_view_artist_index_text_get;
+ view->info_itc->func.content_get = _mp_artist_booklet_view_artist_index_content_get;
+ view->info_itc->func.del = NULL;
+ }
+
+ if (!view->title_itc) {
+ view->title_itc = elm_genlist_item_class_new();
+ view->title_itc->item_style = "music_player/rich_info/page_title";
+ view->title_itc->func.text_get = _mp_artist_booklet_view_title_text_get;
+ view->title_itc->func.content_get = _mp_artist_booklet_view_title_content_get;
+ view->title_itc->func.del = NULL;
+ }
+
+ if (!view->content_itc) {
+ view->content_itc = elm_genlist_item_class_new();
+ view->content_itc->item_style = "1icon";
+ view->content_itc->func.text_get = NULL;
+ view->content_itc->func.content_get = _mp_artist_booklet_view_1icon_content_get;
+ view->content_itc->func.del = NULL;
+ }
+
+ /*scroll page*/
+ Evas_Object *scroll_page = mp_scroll_page_add(view->layout);
+ mp_scroll_page_hide_scroll_bar(scroll_page);
+
+ /* calc page total becasue of title index */
+ if (view->info_data->discography_count > 0)
+ ++view->page_count;
+ if (view->info_data->biography)
+ ++view->page_count;
+
+ Evas_Object *page = NULL;
+ int page_count = 0;
+
+ if (view->info_data->discography_count > 0) {
+ view->page_index[ARTIST_BOOKLET_VIEW_DISCOGRAPHY] = page_count;
+ page = _mp_artist_booklet_create_content(scroll_page, view, ARTIST_BOOKLET_VIEW_DISCOGRAPHY);
+ evas_object_show(page);
+ mp_scroll_page_content_append(scroll_page, page);
+ page_count++;
+ }
+
+ if (view->info_data->biography) {
+ view->page_index[ARTIST_BOOKLET_VIEW_BIOGRAPHY] = page_count;
+ page = _mp_aritst_booklet_create_biograpy(scroll_page, view);
+ evas_object_show(page);
+ mp_scroll_page_content_append(scroll_page, page);
+ page_count++;
+ }
+ /*similar artist is not exist*/
+
+ elm_object_part_content_set(view->layout, "list_content", scroll_page);
+
+}
+
+#ifdef MP_FEATURE_LANDSCAPE
+static void
+_mp_artist_booklet_view_rotate(void *thiz, int landscape)
+{
+ MpArtistBookletView_t *view = thiz;
+ MP_CHECK(view);
+}
+#endif
+
+static int
+_mp_artist_booklet_view_init(Evas_Object *parent, MpArtistBookletView_t *view)
+{
+ startfunc;
+ int ret = 0;
+ ret = mp_view_init(parent, (MpView_t *)view, MP_VIEW_ALBUM_BOOKLET);
+ MP_CHECK_VAL(ret == 0, -1);
+
+ view->update = _mp_artist_booklet_view_update;
+ view->update_options = _mp_artist_booklet_view_update_options;
+ view->update_options_edit = NULL;
+ view->view_destroy_cb = _mp_artist_booklet_view_destory_cb;
+#ifdef MP_FEATURE_LANDSCAPE
+ view->rotate = _mp_artist_booklet_view_rotate;
+#endif
+
+ return ret;
+}
+
+MpArtistBookletView_t *mp_artist_booklet_view_create(Evas_Object *parent, mp_info_data_t *info_data, char *album, char *artist, char *thumbnail)
+{
+ eventfunc;
+ int ret;
+ MP_CHECK_NULL(parent);
+
+ MpArtistBookletView_t *view = calloc(1, sizeof(MpArtistBookletView_t));
+ MP_CHECK_NULL(view);
+
+ ret = _mp_artist_booklet_view_init(parent, view);
+ if (ret) goto Error;
+
+ IF_G_FREE(view->name);
+ IF_G_FREE(view->artist);
+ IF_G_FREE(view->thumbnail);
+ view->info_data = info_data;
+ view->name = g_strdup(album);
+ view->artist = g_strdup(artist);
+ view->thumbnail = g_strdup(thumbnail);
+
+ _mp_artist_booklet_view_content_load(view);
+ return view;
+
+Error:
+ ERROR_TRACE("Error: mp_artist_booklet_view_create()");
+ IF_FREE(view);
+ return NULL;
+}
+
+
+
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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)
+{
+ Evas_Object *ev_obj = 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);
+
+#ifdef MP_FEATURE_SHARE
+ if (mp_list_get_editable_count(view->content_to_show, MP_LIST_EDIT_TYPE_SHARE)) {
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_SHARE, MP_PLAYER_MORE_BTN_SHARE, mp_common_share_cb, view);
+ }
+#endif
+ 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_CLOUD
+ /*cloud */
+ int is_on = false;
+ mp_cloud_is_on(&is_on);
+ if (is_on) {
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_VIEW, MP_PLAYER_MORE_BTN_VIEW, mp_common_cloud_view_cb, view);
+
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_MAKE_AVAILABLE_OFFLINE, MP_PLAYER_MORE_BTN_MAKE_AVAILABLE_OFFICE, mp_common_ctxpopup_make_offline_cb, view);
+ }
+#endif
+
+#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) 2000-2015 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);
+ elm_layout_file_set(view->create_plst_layout, EDJ_NAME, "create_playlist");
+
+ 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;
+ }
+
+}
+
+#ifdef MP_FEATURE_LANDSCAPE
+static void
+_mp_create_plst_view_rotate_cb(void *thiz, int randscape)
+{
+ DEBUG_TRACE("create_plst view rotated");
+ MpCreatePlstView_t *view = thiz;
+ MP_CHECK(view);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ if (view->editfiled_entry && !ad->popup[MP_POPUP_NOTIFY]) {
+ elm_object_focus_set(view->editfiled_entry, EINA_TRUE);
+ }
+ if (mp_util_get_sip_state() && (int)mp_view_mgr_get_top_view(GET_VIEW_MGR) == (int)view)
+ _mp_create_plst_view_on_event(view, MP_SIP_STATE_CHANGED);
+}
+#endif
+
+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;
+#ifdef MP_FEATURE_LANDSCAPE
+ view->rotate = _mp_create_plst_view_rotate_cb;
+#endif
+ 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) 2000-2015 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-scroll-page.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;
+ if (!strncmp(file_path, MP_PHONE_ROOT_PATH, strlen(MP_PHONE_ROOT_PATH))) {
+ prefix_pos = strlen(MP_PHONE_ROOT_PATH);
+ return g_strdup_printf("Device memory%s", file_path + prefix_pos);
+ } else if (!strncmp(file_path, MP_MMC_ROOT_PATH, strlen(MP_MMC_ROOT_PATH))) {
+ prefix_pos = strlen(MP_MMC_ROOT_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");
+ return g_strdup_printf("Memory%s", file_path + prefix_pos);
+ } else {
+ WARN_TRACE("Unable to get proper location...");
+ return strdup(file_path);
+ }
+}
+
+static void
+_mp_detail_view_append_media_info_item(Evas_Object *genlist, char *header, char *detail)
+{
+ /*startfunc;*/
+ 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.main.left.top")) {
+ char *title = GET_STR(info->header);
+
+ return g_strdup(title);
+
+ } else if (!strcmp(part, "elm.text.sub.left.bottom")) {
+ 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 = "music/2line.top";*/
+ view->meta_itc->item_style = "2line.top";
+ 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 = 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);
+}
+
+#ifdef MP_FEATURE_LANDSCAPE
+static void _mp_detail_view_content_layout_load(void *thiz)
+{
+ startfunc;
+ MpDetailView_t *view = (MpDetailView_t *)thiz;
+ MP_CHECK(view);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ MP_CHECK(ad->win_main);
+ {
+ _mp_detail_view_create_default_layout(view);
+ }
+ endfunc;
+}
+
+static void _mp_detail_view_layout_content_set(void *thiz)
+{
+ startfunc;
+ MpDetailView_t *view = (MpDetailView_t *)thiz;
+ MP_CHECK(view);
+ return;
+}
+#endif
+
+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;
+ }
+}
+
+#ifdef MP_FEATURE_LANDSCAPE
+static void
+_mp_detail_view_rotate(void *thiz, int init_rotate)
+{
+ DEBUG_TRACE("mp_player rotated %d", init_rotate);
+ MpDetailView_t *view = thiz;
+ MP_CHECK(view);
+
+ _mp_detail_view_content_layout_load(view);
+ _mp_detail_view_layout_content_set(view);
+
+ mp_view_set_title((MpView_t *)view, view->title);
+ mp_view_set_sub_title((MpView_t *)view, view->artist);
+ _mp_detail_view_update_options((MpView_t *)view);
+}
+#endif
+
+static int _mp_detail_view_set_title(void *thiz, char *title)
+{
+ startfunc;
+ MP_CHECK_VAL(thiz, -1);
+ MpDetailView_t *view = (MpDetailView_t *)thiz;
+
+ /* set title */
+ if (view->inner_navi_it != NULL)
+ elm_object_item_part_text_set(view->inner_navi_it, NULL, title);
+ else
+ elm_object_item_part_text_set(view->navi_it, "elm.text.title", title);
+ return 0;
+}
+
+static int _mp_detail_view_set_sub_title(void *thiz, char *subtitle)
+{
+ startfunc;
+ MP_CHECK_VAL(thiz, -1);
+ MpDetailView_t *view = (MpDetailView_t *)thiz;
+
+ /* set sub title */
+ if (view->inner_navi_it != NULL)
+ elm_object_item_part_text_set(view->inner_navi_it, "subtitle", subtitle);
+ else
+ elm_object_item_part_text_set(view->navi_it, "subtitle", subtitle);
+ return 0;
+}
+
+
+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;
+#ifdef MP_FEATURE_LANDSCAPE
+ view->rotate = _mp_detail_view_rotate;
+#endif
+
+ 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) 2000-2015 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-folder-list.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();
+ ad->del_cb_invoked = 0;
+
+/*
+ if (view->content_to_show->reorderable) {
+ DEBUG_TRACE("view->ref_list->reorderable = %d",view->ref_list->reorderable);
+ int ret = 0;
+ void *playlist_handle = mp_list_get_playlist_handle(view->content_to_show);
+ DEBUG_TRACE("playlist_handle = %p", playlist_handle);
+ ret = mp_media_info_playlist_update_db(playlist_handle);
+ MP_CHECK_VAL(ret == 0, -1);
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_PLAYLIST_REORDER_DONE);
+ mp_list_set_reorder((MpList_t *)view->content_to_show, FALSE);
+ }
+*/
+
+ 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 = 1;
+ 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->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_FOLDER:
+ list = mp_folder_list_create(view->layout);
+ MP_CHECK_NULL(list);
+ mp_folder_list_copy_data((MpFolderList_t *)view->ref_list, list);
+ 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;
+#ifdef MP_FEATURE_LANDSCAPE
+ case MP_VIEW_ROTATE:
+ mp_list_rotate(view->content_to_show);
+ break;
+#endif
+ 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) 2000-2015 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-folder-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
+
+static void _mp_folder_detail_view_tracklist_edit_cb(void *data, Evas_Object *obj, void *event_info);
+static void _mp_folder_detail_view_add_to_playlist_cb(void *data, Evas_Object *obj, void *event_info);
+
+static void
+_mp_folder_detail_view_destory_cb(void *thiz)
+{
+ eventfunc;
+ MpFolderDetailView_t *view = thiz;
+ MP_CHECK(view);
+ mp_list_view_fini((MpListView_t *)view);
+
+ /* TODO: release resource.. */
+
+ free(view);
+}
+
+int _mp_folder_detail_view_update(void *thiz)
+{
+ startfunc;
+ MpFolderDetailView_t *view = thiz;
+
+ MP_CHECK_VAL(view, -1);
+ int edit_flag = view->content_to_show->edit_mode;
+ view->content_set(view);
+
+ int count = mp_list_get_editable_count(view->content_to_show, MP_LIST_EDIT_TYPE_NORMAL);
+
+ if (!count) {
+ mp_view_mgr_pop_a_view(GET_VIEW_MGR, thiz);
+ }
+
+ if (edit_flag) {
+ mp_list_set_edit((MpList_t *)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_folder_detail_view_normal_more_btn_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ DEBUG_TRACE("");
+ MpFolderDetailView_t *view = (MpFolderDetailView_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);
+
+#ifdef MP_FEATURE_SHARE
+ if (mp_list_get_editable_count(view->content_to_show, MP_LIST_EDIT_TYPE_SHARE)) {
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_SHARE, MP_PLAYER_MORE_BTN_SHARE, mp_common_share_cb, view);
+ }
+#endif
+ 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_folder_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_folder_detail_view_tracklist_edit_cb, view);
+ }
+#ifdef MP_FEATURE_CLOUD
+ /*cloud */
+ int is_on = false;
+ mp_cloud_is_on(&is_on);
+ if (is_on) {
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_VIEW, MP_PLAYER_MORE_BTN_VIEW, mp_common_cloud_view_cb, view);
+
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_MAKE_AVAILABLE_OFFLINE, MP_PLAYER_MORE_BTN_MAKE_AVAILABLE_OFFICE, mp_common_ctxpopup_make_offline_cb, view);
+ }
+#endif
+
+#ifdef MP_FEATURE_PERSONAL_PAGE
+ if (mp_util_is_personal_page_on()) {
+ all_in_personal_e status = mp_common_personal_status(view->content_to_show);
+ /*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);
+}
+
+static void _mp_folder_detail_view_edit_more_btn_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ DEBUG_TRACE("");
+ MpFolderDetailView_t *view = (MpFolderDetailView_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);
+
+ /* Todo: supports multi-language */
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_ADD_TO_PLAYLIST, MP_PLAYER_MORE_BTN_PLAYLIST, mp_common_ctxpopup_add_to_playlist_cb, view);
+
+ if (mp_view_get_nowplaying_show_flag((MpView_t *)view)) {
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_SHARE, MP_PLAYER_MORE_BTN_SHARE, mp_common_button_share_list_cb, view);
+
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ "IDS_COM_SK_DELETE", NULL, mp_common_button_delete_list_cb, view->content_to_show);
+ }
+
+ 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_folder_detail_view_add_to_playlist_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ eventfunc;
+ MpFolderDetailView_t *view = (MpFolderDetailView_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_folder_detail_view_tracklist_edit_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ eventfunc;
+ MpFolderDetailView_t *view = (MpFolderDetailView_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_folder_detail_view_back_cb(void *data, Elm_Object_Item *it)
+{
+ eventfunc;
+ MpFolderDetailView_t *view = (MpFolderDetailView_t *) data;
+ MP_CHECK_VAL(view, EINA_TRUE);
+
+ MpTrackList_t *track_list = (MpTrackList_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_folder_detail_view_update_options(void *thiz)
+{
+ startfunc;
+ MpFolderDetailView_t *view = (MpFolderDetailView_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->folder_detail_view_layout, MP_TOOLBAR_BTN_MORE, NULL, _mp_folder_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_folder_detail_view_back_cb, view);
+
+ /* update the first controlba item */
+ /*mp_view_manager_update_first_controlbar_item(layout_data);*/
+ endfunc;
+ return 0;
+}
+
+static int _mp_folder_detail_view_update_options_edit(void *thiz)
+{
+ startfunc;
+ MpFolderDetailView_t *view = (MpFolderDetailView_t *)thiz;
+ MP_CHECK_VAL(view, -1);
+
+ Evas_Object *toolbar = mp_widget_create_naviframe_toolbar(view->navi_it);
+ Elm_Object_Item *toolbar_item = NULL;
+
+ mp_view_clear_options((MpView_t *)view);
+
+ Evas_Object *btn = mp_widget_create_toolbar_btn(view->folder_detail_view_layout, MP_TOOLBAR_BTN_MORE, NULL, _mp_folder_detail_view_edit_more_btn_cb, view);
+ elm_object_item_part_content_set(view->navi_it, "toolbar_more_btn", btn);
+ /*view->toolbar_options[MP_OPTION_MORE] = btn;*/
+
+ toolbar_item = mp_widget_create_toolbar_item_btn(toolbar,
+ MP_TOOLBAR_BTN_LEFT, STR_MP_SHARE, mp_common_button_share_list_cb, view->navi_it);
+ view->toolbar_options[MP_OPTION_LEFT] = toolbar_item;
+
+ toolbar_item = mp_widget_create_toolbar_item_btn(toolbar,
+ MP_TOOLBAR_BTN_RIGHT, "IDS_COM_SK_DELETE", mp_common_button_delete_list_cb, view->navi_it);
+ view->toolbar_options[MP_OPTION_RIGHT] = toolbar_item;
+
+ if (mp_list_get_checked_count(view->content_to_show) == 0) {
+ elm_object_item_disabled_set(view->toolbar_options[MP_OPTION_LEFT], EINA_TRUE);
+ elm_object_item_disabled_set(view->toolbar_options[MP_OPTION_RIGHT], EINA_TRUE);
+ /* elm_object_disabled_set(view->toolbar_options[MP_OPTION_MORE], EINA_TRUE); */
+ }
+
+ elm_naviframe_item_pop_cb_set(view->navi_it, _mp_folder_detail_view_back_cb, view);
+
+ /* update the first controlba item */
+ /*mp_view_manager_update_first_controlbar_item(layout_data);*/
+ endfunc;
+ return 0;
+}
+static void _mp_folder_detail_view_content_load(void *thiz)
+{
+ startfunc;
+ MpFolderDetailView_t *view = (MpFolderDetailView_t *)thiz;
+ MP_CHECK(view);
+ /* title item genlist */
+ /* elm_object_part_content_set(view->layout, "list_content", view->folder_detail_view_layout); */
+
+ view->content_to_show = (MpList_t *)mp_track_list_create(view->layout);
+ if (view->content_to_show == NULL) {
+ DEBUG_TRACE("Uable to create content_to_show layout");
+ return;
+ }
+ mp_track_list_set_data((MpTrackList_t *)view->content_to_show, MP_TRACK_LIST_TYPE, MP_TRACK_BY_FOLDER, MP_TRACK_LIST_TYPE_STR, view->name, -1);
+ view->content_to_show->update(view->content_to_show);
+ /*show fast scroll*/
+ mp_list_show_fast_scroll(view->content_to_show);
+ elm_object_part_content_set(view->folder_detail_view_layout, "list_content", view->content_to_show->layout);
+}
+
+/*static void _mp_folder_detail_view_show_path(void *thiz)
+{
+ MpFolderDetailView_t *view = (MpFolderDetailView_t *)thiz;
+ MP_CHECK(view);
+
+ char *path = NULL;
+ mp_media_info_get_folder_path_by_folder_id(view->name, &path);
+ MP_CHECK(path);
+ mp_debug("path = %s", path);
+
+ char *current = path + strlen(path);
+ int count = 0;
+ while (current != path) {
+ if (current[0] == '/')
+ count++;
+
+ if (count < 3)
+ current--;
+ else
+ break;
+ }
+
+ char *display_path = NULL;
+ if (current != path)
+ display_path = g_strdup_printf("...%s", current);
+ else
+ display_path = g_strdup(path);
+
+ elm_object_part_text_set(view->layout, "elm.text.info", display_path);
+ elm_object_signal_emit(view->layout, "SHOW_INFO_TEXT_BAR", "");
+
+ SAFE_FREE(path);
+ SAFE_FREE(display_path);
+}*/
+
+static void
+_mp_folder_detail_view_on_event(void *thiz, MpViewEvent_e event)
+{
+ DEBUG_TRACE("event; %d", event);
+ MpFolderDetailView_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;
+ 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;
+#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_list_realized_item_part_update(view->content_to_show, "elm.icon", ELM_GENLIST_ITEM_FIELD_CONTENT);
+ break;
+
+ case MP_UPDATE_FAVORITE_LIST:
+ {
+ mp_list_update(view->content_to_show);
+ 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;
+ }
+}
+
+static int
+_mp_folder_detail_view_init(Evas_Object *parent, MpFolderDetailView_t *view)
+{
+ startfunc;
+ int ret = 0;
+ ret = mp_list_view_init(parent, (MpListView_t *)view, MP_VIEW_FOLDER_DETAIL);
+ MP_CHECK_VAL(ret == 0, -1);
+
+ view->update = _mp_folder_detail_view_update;
+ view->update_options = _mp_folder_detail_view_update_options;
+ view->update_options_edit = _mp_folder_detail_view_update_options_edit;
+ view->view_destroy_cb = _mp_folder_detail_view_destory_cb;
+ view->content_set = _mp_folder_detail_view_content_load;
+ view->on_event = _mp_folder_detail_view_on_event;
+
+ view->folder_detail_view_layout = view->layout;
+
+ MP_CHECK_VAL(view->folder_detail_view_layout, -1);
+ return ret;
+}
+
+MpFolderDetailView_t *mp_folder_detail_view_create(Evas_Object *parent, char *name)
+{
+ eventfunc;
+ int ret;
+ MP_CHECK_NULL(parent);
+
+ MpFolderDetailView_t *view = calloc(1, sizeof(MpFolderDetailView_t));
+ MP_CHECK_NULL(view);
+
+ ret = _mp_folder_detail_view_init(parent, view);
+ if (ret) goto Error;
+
+ view->name = g_strdup(name);
+ _mp_folder_detail_view_content_load(view);
+
+ /*_mp_folder_detail_view_show_path(view);*/
+
+ return view;
+
+Error:
+ ERROR_TRACE("Error: mp_folder_detail_view_create()");
+ IF_FREE(view);
+ return NULL;
+}
+
+int mp_folder_detail_view_destory(MpFolderDetailView_t *view)
+{
+ startfunc;
+ MP_CHECK_VAL(view, -1);
+
+ return 0;
+}
+
+
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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-folder-view.h"
+#include "mp-folder-list.h"
+#include "mp-widget.h"
+#include "mp-create-playlist-view.h"
+#include "mp-common.h"
+#include "mp-util.h"
+
+static void _mp_folder_view_add_to_playlist_cb(void *data, Evas_Object *obj, void *event_info);
+static void _mp_folder_view_edit_cb(void *data, Evas_Object *obj, void *event_info);
+
+static void
+_mp_folder_view_destory_cb(void *thiz)
+{
+ eventfunc;
+ MpFolderView_t *view = thiz;
+ MP_CHECK(view);
+ mp_list_view_fini((MpListView_t *)view);
+
+ /* TODO: release resource.. */
+
+ free(view);
+}
+
+int _mp_folder_view_update(void *thiz)
+{
+ startfunc;
+ MpFolderView_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_folder_view_normal_more_btn_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ DEBUG_TRACE("");
+ MpFolderView_t *view = (MpFolderView_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) > 0) {
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_ADD_TO_PLAYLIST, MP_PLAYER_MORE_BTN_ADD_TO_PLAYLSIT_IMAGE, _mp_folder_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_folder_view_edit_cb,
+ view);
+ }
+#ifdef MP_FEATURE_CLOUD
+ /*cloud */
+ int is_on = false;
+ mp_cloud_is_on(&is_on);
+ if (is_on) {
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_VIEW, MP_PLAYER_MORE_BTN_VIEW, mp_common_cloud_view_cb, view);
+
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_MAKE_AVAILABLE_OFFLINE, MP_PLAYER_MORE_BTN_MAKE_AVAILABLE_OFFICE, mp_common_ctxpopup_make_offline_cb, view);
+ }
+#endif
+
+#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
+
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_GO_TO_LIBRARY, MP_PLAYER_MORE_BTN_GO_TO_LIB, mp_common_go_to_library_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 album list update *******************/
+static void _mp_folder_view_add_to_playlist_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ eventfunc;
+ MpFolderView_t *view = (MpFolderView_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_folder_view_edit_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ eventfunc;
+ MpFolderView_t *view = (MpFolderView_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_folder_view_back_cb(void *data, Elm_Object_Item *it)
+{
+ eventfunc;
+ MpFolderView_t *view = (MpFolderView_t *) data;
+ MP_CHECK_VAL(view, EINA_TRUE);
+
+ MpFolderList_t *folder_list = (MpFolderList_t *)view->content_to_show;
+ MP_CHECK_VAL(folder_list, EINA_TRUE);
+ if (folder_list->edit_mode == 1) {
+ mp_list_set_edit((MpList_t *)folder_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);
+
+ /* MpView_t *prev_view = mp_view_mgr_get_top_view(view_mgr);
+ mp_view_update(prev_view); */
+ }
+ return EINA_TRUE;
+}
+
+static int _mp_folder_view_update_options(void *thiz)
+{
+ startfunc;
+ MpFolderView_t *view = (MpFolderView_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->folder_view_layout, MP_TOOLBAR_BTN_MORE, NULL, _mp_folder_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_folder_view_back_cb, view);
+
+ /* update the first controlba item */
+ /* mp_view_manager_update_first_controlbar_item(layout_data); */
+ endfunc;
+ return 0;
+}
+
+static int _mp_folder_view_update_options_edit(void *thiz)
+{
+ startfunc;
+ MpFolderView_t *view = (MpFolderView_t *)thiz;
+ MP_CHECK_VAL(view, -1);
+
+ mp_view_clear_options((MpView_t *)view);
+
+ Evas_Object *toolbar = mp_widget_create_naviframe_toolbar(view->navi_it);
+
+ mp_widget_create_toolbar_item_btn(toolbar,
+ MP_TOOLBAR_BTN_LEFT, STR_MP_ADD_TO, mp_common_button_add_to_playlist_cb, view->navi_it);
+
+ mp_widget_create_toolbar_item_btn(toolbar,
+ MP_TOOLBAR_BTN_RIGHT, STR_MP_DELETE, mp_common_button_delete_list_cb, view->navi_it);
+
+ elm_naviframe_item_pop_cb_set(view->navi_it, _mp_folder_view_back_cb, view);
+
+ /* update the first controlba item */
+ /* mp_view_manager_update_first_controlbar_item(layout_data); */
+ endfunc;
+ return 0;
+}
+
+static void
+_mp_folder_view_content_load(void *thiz)
+{
+ DEBUG_TRACE_FUNC();
+ MP_CHECK(thiz);
+ MpFolderView_t *view = (MpFolderView_t *)thiz;
+ MP_CHECK(view);
+
+ view->content_to_show = (MpList_t *)mp_folder_list_create(view->layout);
+ MP_CHECK(view->content_to_show);
+ mp_folder_list_set_data((MpFolderList_t *)view->content_to_show, MP_FOLDER_LIST_TYPE, MP_GROUP_BY_FOLDER, -1);
+ mp_list_update(view->content_to_show);
+ MP_CHECK(view->folder_view_layout);
+ elm_object_part_content_set(view->folder_view_layout, "list_content", mp_list_get_layout(view->content_to_show));
+ endfunc;
+}
+
+static void
+_mp_folder_view_on_event(void *thiz, MpViewEvent_e event)
+{
+ DEBUG_TRACE("event; %d", event);
+ MpFolderView_t *view = thiz;
+ switch (event) {
+ case MP_DELETE_DONE:
+ mp_list_update(view->content_to_show);
+ break;
+ default:
+ break;
+ }
+}
+
+static int
+_mp_folder_view_init(Evas_Object *parent, MpFolderView_t *view)
+{
+ startfunc;
+ int ret = 0;
+ ret = mp_list_view_init(parent, (MpListView_t *)view, MP_VIEW_FOLDER);
+ MP_CHECK_VAL(ret == 0, -1);
+
+ view->update = _mp_folder_view_update;
+ view->update_options = _mp_folder_view_update_options;
+ view->update_options_edit = _mp_folder_view_update_options_edit;
+ view->view_destroy_cb = _mp_folder_view_destory_cb;
+ view->content_set = _mp_folder_view_content_load;
+ view->on_event = _mp_folder_view_on_event;
+
+ view->folder_view_layout = view->layout;
+ MP_CHECK_VAL(view->folder_view_layout, -1);
+
+ return ret;
+}
+
+MpFolderView_t *mp_folder_view_create(Evas_Object *parent)
+{
+ startfunc;
+ int ret;
+ MP_CHECK_NULL(parent);
+
+ MpFolderView_t *view = calloc(1, sizeof(MpFolderView_t));
+ MP_CHECK_NULL(view);
+
+ ret = _mp_folder_view_init(parent, view);
+ if (ret) goto Error;
+
+ view->content_set(view);
+ return view;
+
+Error:
+ ERROR_TRACE("Error: mp_folder_view_create()");
+ IF_FREE(view);
+ return NULL;
+}
+
+int mp_folder_view_destory(MpFolderView_t *view)
+{
+ startfunc;
+ MP_CHECK_VAL(view, -1);
+
+ return 0;
+}
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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) 2000-2015 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) 2000-2015 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-main-view.h"
+#include "mp-player-view.h"
+#include "mp-all-view.h"
+#include "mp-util.h"
+#include "mp-player-control.h"
+#include "mp-widget.h"
+#include "mp-http-mgr.h"
+#include "mp-player-mgr.h"
+#include "music.h"
+#include "mp-common.h"
+
+#define ACTIVE_VIEW mp_common_get_scroll_view(GET_VIEW_MGR)
+
+int _mp_main_view_update_options(void *thiz);
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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-make-offline-view.h"
+#include "mp-track-list.h"
+#include "mp-widget.h"
+#include "mp-util.h"
+#include "mp-edit-callback.h"
+
+#ifdef MP_FEATURE_CLOUD
+
+static void
+_mp_make_offline_view_destory_cb(void *thiz)
+{
+ eventfunc;
+ MpMakeOfflineView_t *view = thiz;
+ MP_CHECK(view);
+ mp_list_view_fini((MpListView_t *)view);
+
+ /* TODO: release resource..*/
+
+ free(view);
+}
+
+static Eina_Bool _mp_make_offline_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;
+}
+
+static void _mp_make_offline_view_done_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ eventfunc;
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ MpMakeOfflineView_t *view = (MpMakeOfflineView_t *)data;
+ MP_CHECK(view);
+
+ MpTrackList_t *list = (MpTrackList_t *)view->content_to_show;
+ MP_CHECK(list);
+
+ mp_edit_cb_excute_make_offline_available(list);
+}
+
+static int _mp_make_offline_view_update_option(void *thiz)
+{
+ startfunc;
+ MpMakeOfflineView_t *view = (MpMakeOfflineView_t *)thiz;
+ MP_CHECK_VAL(view, -1);
+
+ mp_view_clear_options((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_DEFAULT, STR_MP_DONE, _mp_make_offline_view_done_cb, view);
+ view->toolbar_options[MP_OPTION_LEFT] = toolbar_item;
+ if (mp_list_get_checked_count(view->content_to_show) == 0)
+ elm_object_item_disabled_set(view->toolbar_options[MP_OPTION_LEFT], EINA_TRUE);
+
+ elm_naviframe_item_pop_cb_set(view->navi_it, _mp_make_offline_view_back_cb, view);
+
+ endfunc;
+ return 0;
+}
+
+static int
+_mp_make_offline_view_content_load(void *view)
+{
+ DEBUG_TRACE_FUNC();
+ MP_CHECK_VAL(view, -1);
+ /*MpMakeOfflineView_t *make_offline_view = (MpMakeOfflineView_t *)view;*/
+
+ endfunc;
+ return 0;
+}
+
+static void
+_mp_make_offline_view_on_event(void *thiz, MpViewEvent_e event)
+{
+ switch (event) {
+ case MP_ADD_TO_PLAYLIST_DONE:
+ DEBUG_TRACE("Edit done");
+ break;
+
+ default:
+ break;
+ }
+}
+
+static int _mp_make_offline_view_update(void *thiz)
+{
+ MpMakeOfflineView_t *view = thiz;
+ mp_list_update(view->content_to_show);
+ mp_list_set_edit(view->content_to_show, true);
+ return 0;
+}
+
+static int
+_mp_make_offline_view_init(Evas_Object *parent, MpMakeOfflineView_t *view)
+{
+ startfunc;
+ int ret = 0;
+ ret = mp_list_view_init(parent, (MpListView_t *)view, MP_VIEW_MAKE_OFFLINE);
+ MP_CHECK_VAL(ret == 0, -1);
+
+ view->update = _mp_make_offline_view_update;
+ view->update_options = _mp_make_offline_view_update_option;
+ view->update_options_edit = _mp_make_offline_view_update_option;
+ view->view_destroy_cb = _mp_make_offline_view_destory_cb;
+ view->on_event = _mp_make_offline_view_on_event;
+ view->set_nowplaying = NULL;
+ view->unset_nowplaying = NULL;
+ view->update_nowplaying = NULL;
+
+ MpTrackList_t *track_list = mp_track_list_create(view->layout);
+ view->content_to_show = (MpList_t *)track_list;
+ MP_CHECK_VAL(view->content_to_show, -1);
+ mp_track_list_set_data(track_list, MP_TRACK_LIST_CLOUD_TYPE, MP_TRACK_LIST_VIEW_CLOUD, -1);
+
+ elm_object_part_content_set(view->layout, "list_content", mp_list_get_layout(view->content_to_show));
+
+ return ret;
+}
+
+MpMakeOfflineView_t *mp_make_offline_view_create(Evas_Object *parent)
+{
+ eventfunc;
+ int ret;
+ MP_CHECK_NULL(parent);
+
+ MpMakeOfflineView_t *view = calloc(1, sizeof(MpMakeOfflineView_t));
+ MP_CHECK_NULL(view);
+
+ ret = _mp_make_offline_view_init(parent, view);
+ if (ret) goto Error;
+
+ _mp_make_offline_view_content_load(view);
+ return view;
+
+Error:
+ ERROR_TRACE("Error: mp_make_offline_view_create()");
+ IF_FREE(view);
+ return NULL;
+}
+
+#endif
+
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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,
+ GET_SYS_STR("IDS_COM_SK_REFRESH"), NULL, NULL, view);
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ GET_SYS_STR("IDS_COM_BODY_SETTINGS"), NULL, NULL, view);
+*/
+
+#ifdef MP_FEATURE_SHARE
+ /* share via */
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_SHARE, MP_PLAYER_MORE_BTN_SHARE, mp_common_share_cb, view);
+#endif
+ 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();
+
+ 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) 2000-2015 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-db-client.h"
+#include "mp-playlist-detail-view.h"
+#include <runtime_info.h>
+#ifndef MP_SOUND_PLAYER
+#include "mp-now-playing-list-view.h"
+#include "ms-effect-view.h"
+#include "mp-resource.h"
+
+#endif
+
+#ifdef MP_FEATURE_AVRCP_13
+#include "mp-avrcp.h"
+#endif
+
+#ifdef MP_FEATURE_APP_IN_APP
+#include "mp-mini-player.h"
+#endif
+#include "mp-minicontroller.h"
+#ifdef MP_FEATURE_ALBUM_COVER_BG
+#include "mp-collect-color.h"
+#endif
+#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
+
+#ifdef MP_FEATURE_SUGGEST_FOR_YOU
+#ifndef MP_SOUND_PLAYER
+#define SUGGEST_TRACK_MIN_COUNT 2
+#define SUGGEST_TRACK_MAX_COUNT 20
+#define SUGGEST_TRACK_RANDOM_COUNT 5
+#define SUGGEST_TRACK_THUMBNAIL_SIZE 175
+#define SUGGEST_GENGRID_ITEM_WIDTH 298
+#define SUGGEST_GENGRID_ITEM_HEIGHT 376
+#define SUGGEST_ALBUM_THUMBNAIL_SIZE 380*elm_config_scale_get()
+static Evas_Object *_mp_player_view_gengrid_content_get(void *data, Evas_Object *obj, const char *part);
+static char *_mp_player_view_gengrid_text_get(void *data, Evas_Object *obj, const char *part);
+static void _mp_player_view_gengrid_item_del_cb(void *data, Evas_Object *obj);
+static void _mp_player_view_genrid_create(MpPlayerView_t *thiz);
+static void _mp_player_view_gengrid_item_select_cb(void *data, Evas_Object *obj, void *event_info);
+static void _mp_player_view_suggestion_album_load(void *thiz);
+static void _mp_player_view_current_track_info_set(MpPlayerView_t *view);
+
+static void _mp_player_view_suggestion_album_append(MpPlayerView_t *view, char *cur_path);
+static void _mp_player_genre_method_get_data(MpPlayerView_t *view, char *path);
+static void _mp_player_mood_method_get_data(MpPlayerView_t *view, char *path);
+static void _mp_player_random_method_get_data(MpPlayerView_t *view, char *cur_path);
+
+#endif
+#endif
+
+
+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);
+#ifdef MP_FEATURE_MUSIC_VIEW
+static void _mp_player_view_show_wave_view_set_cb(void *data, Evas_Object *obj, void *event_info);
+static void _mp_player_view_hide_wave_view_set_cb(void *data, Evas_Object *obj, void *event_info);
+static void _mp_player_wave_view_destory(void *data);
+#endif
+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);
+
+#if 0 /*update effect from zoom to bottom-top*/
+ elm_transit_effect_zoom_add(trans, PLAYER_VIEW_ZOOM_TO, PLAYER_VIEW_ZOOM_FROM);
+#else
+ elm_transit_effect_translation_add(trans, 0, y, 0, y + h);
+#endif
+ 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);
+#if 0 /*update effect from zoom to bottom-top*/
+ elm_transit_effect_zoom_add(trans, PLAYER_VIEW_ZOOM_FROM, PLAYER_VIEW_ZOOM_TO);
+#else
+ elm_transit_effect_translation_add(trans, 0, y + h, 0, y);
+#endif
+ 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);
+
+ 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, PLAYER_VIEW_DETAULT_ALBUM_IMAGE)) {
+ return;
+ }
+ elm_image_file_set(image, PLAYER_VIEW_DETAULT_ALBUM_IMAGE, 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();
+ Evas_Object *image = elm_object_content_get(view->option_button[OPTION_QUEUE]);
+
+ 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 {
+ elm_image_file_set(image, PLAYER_VIEW_DETAULT_ALBUM_IMAGE, 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, IMAGE_EDJ_NAME, 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);
+ elm_image_file_set(ic, file, 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_popup_bt_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ startfunc;
+
+ MP_CHECK(data);
+ MpPlayerView_t *view = data;
+
+ Evas_Object *image = elm_object_part_content_get(view->snd_button, "icon");
+ elm_image_file_set(image, IMAGE_EDJ_NAME, MP_ICON_BT_HEADSET_PATH);
+
+ mp_popup_destroy(mp_util_get_appdata());
+ endfunc;
+}
+
+static void
+_mp_player_view_popup_mirroring_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ startfunc;
+
+ MP_CHECK(data);
+ MpPlayerView_t *view = data;
+
+ Evas_Object *image = elm_object_part_content_get(view->snd_button, "icon");
+ elm_image_file_set(image, IMAGE_EDJ_NAME, MP_ICON_MIRRORING);
+
+ mp_popup_destroy(mp_util_get_appdata());
+ endfunc;
+}
+
+static void
+_mp_player_view_popup_HDMI_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ startfunc;
+
+ MP_CHECK(data);
+ MpPlayerView_t *view = data;
+
+ Evas_Object *image = elm_object_part_content_get(view->snd_button, "icon");
+ elm_image_file_set(image, IMAGE_EDJ_NAME, MP_ICON_HDMI);
+
+ mp_popup_destroy(mp_util_get_appdata());
+ endfunc;
+}
+
+static void
+_mp_player_view_popup_USB_audio_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ startfunc;
+
+ MP_CHECK(data);
+ MpPlayerView_t *view = data;
+
+ Evas_Object *image = elm_object_part_content_get(view->snd_button, "icon");
+ elm_image_file_set(image, IMAGE_EDJ_NAME, MP_ICON_USB_AUDIOE);
+
+ mp_popup_destroy(mp_util_get_appdata());
+ endfunc;
+}
+
+static void
+_mp_player_view_popup_headphone_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ startfunc;
+
+ MP_CHECK(data);
+ MpPlayerView_t *view = data;
+
+
+ Evas_Object *image = elm_object_part_content_get(view->snd_button, "icon");
+ elm_image_file_set(image, IMAGE_EDJ_NAME, MP_ICON_HEADSET_PATH);
+
+ mp_popup_destroy(mp_util_get_appdata());
+ endfunc;
+}
+
+static void
+_mp_player_view_popup_speaker_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ startfunc;
+
+ MP_CHECK(data);
+ MpPlayerView_t *view = data;
+
+ Evas_Object *image = elm_object_part_content_get(view->snd_button, "icon");
+ elm_image_file_set(image, IMAGE_EDJ_NAME, MP_ICON_SPEAKER_PATH);
+
+ mp_popup_destroy(mp_util_get_appdata());
+ endfunc;
+}
+
+static void _mp_player_view_append_snd_path_device(MpPlayerView_t *view, char *bt_name, int bt_connected, int earjack, Evas_Object *popup)
+{
+ MP_CHECK(view);
+ MP_CHECK(popup);
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ if (view->available_route & MP_SND_PATH_BT)
+ mp_genlist_popup_item_append(popup, bt_name, NULL, ad->radio_group, (void *)MP_SND_PATH_BT, _mp_player_view_popup_bt_cb, view);
+
+ if (view->available_route & MP_SND_PATH_HDMI)
+ mp_genlist_popup_item_append(popup, GET_STR(STR_MP_HDMI), NULL, ad->radio_group, (void *)MP_SND_PATH_HDMI, _mp_player_view_popup_HDMI_cb, view);
+
+ if (view->available_route & MP_SND_PATH_MIRRORING)
+ mp_genlist_popup_item_append(popup, GET_STR(STR_MP_MIRRORING), NULL, ad->radio_group, (void *)MP_SND_PATH_MIRRORING, _mp_player_view_popup_mirroring_cb, view);
+
+ if (view->available_route & MP_SND_PATH_USB_AUDIO)
+ mp_genlist_popup_item_append(popup, GET_STR(STR_MP_USB_AUDIO), NULL, ad->radio_group, (void *)MP_SND_PATH_USB_AUDIO, _mp_player_view_popup_USB_audio_cb, view);
+
+ if (view->available_route & MP_SND_PATH_EARPHONE)
+ mp_genlist_popup_item_append(popup, GET_STR(STR_MP_HEADPHONES), NULL, ad->radio_group, (void *)MP_SND_PATH_EARPHONE, _mp_player_view_popup_headphone_cb, view);
+ else
+ mp_genlist_popup_item_append(popup, GET_STR(STR_MP_SPEAKER), NULL, ad->radio_group, (void *)MP_SND_PATH_SPEAKER, _mp_player_view_popup_speaker_cb, view);
+
+ mp_util_get_sound_path(&(ad->snd_path));
+
+ SECURE_DEBUG("bt_name=%s,bt_connected=%d", bt_name, bt_connected);
+ DEBUG_TRACE("snd_path=%d,earjack=%d", ad->snd_path, earjack);
+}
+
+static void
+_mp_player_view_radio_group_changed_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ startfunc;
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ MP_CHECK(ad->radio_group);
+
+ elm_radio_value_set(ad->radio_group, ad->snd_path);
+ endfunc;
+}
+
+static void
+_mp_player_view_radio_group_del_cb(void *data, Evas * evas, Evas_Object * obj, void *event_info)
+{
+ startfunc;
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ ad->radio_group = NULL;
+}
+
+#ifdef MP_FEATURE_APP_IN_APP
+#ifndef MP_SOUND_PLAYER
+static void _mp_player_view_minimize_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);
+ struct appdata *ad = mp_util_get_appdata();
+ elm_win_lower(ad->win_main);
+
+
+#ifdef MP_FEATURE_APP_IN_APP
+ DEBUG_TRACE("mp_mini_player_show");
+ mp_mini_player_show(ad, 0);
+ #endif
+
+ endfunc
+}
+#endif
+#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;
+ if ((ret = sound_manager_get_current_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:
+ 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_MIRRORING:
+ 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);
+/*
+ const char *icon = NULL;
+ if (snd_path == MP_SND_PATH_BT)
+ icon = MP_ICON_BT_HEADSET_PATH;
+ else if (snd_path == MP_SND_PATH_EARPHONE)
+ icon = MP_ICON_HEADSET_PATH;
+ else if (snd_path == MP_SND_PATH_HDMI)
+ icon = MP_ICON_HDMI;
+ else if (snd_path == MP_SND_PATH_MIRRORING)
+ icon = MP_ICON_MIRRORING;
+ else if (snd_path == MP_SND_PATH_USB_AUDIO)
+ icon = MP_ICON_USB_AUDIOE;
+ else
+ icon = MP_ICON_SPEAKER_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);
+
+ /*if (ad->snd_path_changable && !view->dmr_button) { // if DMR btn exist show snd btn at more
+ view->snd_button = mp_widget_create_title_icon_btn_second(view->layout, IMAGE_EDJ_NAME, MP_ICON_HEADSET_PATH,
+ _mp_player_view_set_snd_path_cb, view);
+ mp_screen_reader_set_obj_info(view->snd_button, "Audio device");
+ elm_object_item_part_content_set(view->navi_it, "title_left_btn", view->snd_button);
+ }*/
+}
+/*Replaced for _prod dependency end*/
+#ifdef MP_FEATURE_SHARE
+static void _ctxpopup_share_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);
+
+ 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_genlist_popup_create(view->layout, MP_POPUP_PV_SHARE, item->uri, ad);
+}
+#endif
+
+#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);
+
+ 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_track_delete_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);
+ mp_media_info_h plst = gli_data->item_data;
+
+ int item_count = 0;
+}
+
+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);
+ 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_delete_track_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);
+
+ DEBUG_TRACE("uid of selected song is %c", *item->uid);
+
+ if (view->add_to_plst_handle) {
+ mp_media_info_destroy(view->add_to_plst_handle);
+ view->add_to_plst_handle = NULL;
+ }
+ DEBUG_TRACE("post if");
+
+ 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_DELETE_TRACK, ad, ad);
+ MP_CHECK(popup);
+ DEBUG_TRACE("popup created");
+ int ret = 0;
+ int i = 0, count = -1, err = -1;
+
+ mp_popup_response_callback_set(popup, _mp_player_view_track_delete_cb, view);
+}
+
+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
+
+#ifndef MP_SOUND_PLAYER
+/*static void _ctxpopup_group_play_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ EVENT_TRACE("");
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ MpPlayerView_t *view = (MpPlayerView_t *)data;
+ MP_CHECK(view); CHECK_VIEW(view);
+ mp_evas_object_del(view->more_btn_ctxpopup);
+
+
+ mp_track_info_t *track_info = ad->current_track_info;
+ MP_CHECK(track_info);
+
+ app_control_h service = NULL;
+ app_control_create (&service);
+ app_control_set_app_id(service, "com.samsung.group-cast");
+ app_control_add_extra_data(service, APP_CONTROL_DATA_SELECTED, track_info->uri);*/
+ //app_control_set_mime(service, "audio/*");
+ /*app_control_send_launch_request(service, NULL, NULL);
+ app_control_destroy(service);
+}*/
+
+#ifdef MP_FEATURE_ALBUMART_UPDATE
+static void _ctxpopup_update_albumart_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ 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_track_info_t *track_info = ad->current_track_info;
+ MP_CHECK(track_info);
+
+ mp_albumart_update(track_info->uri, track_info->media_id);
+}
+#endif
+#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_queue_save_as_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);
+
+ Mp_Playlist_Data *mp_playlist_data = mp_edit_playlist_create(MP_PLST_SAVE_AS);
+ MP_CHECK(mp_playlist_data);
+ mp_edit_playlist_set_edit_list(mp_playlist_data, (MpList_t *)(view->queue_list));
+ mp_edit_playlist_content_create(mp_playlist_data);
+ mp_edit_playlist_add_to_selected_mode(mp_playlist_data, false);
+}*/
+
+/*static void
+_append_group_play_option(MpPlayerView_t *view, mp_track_info_t *track_info, bool playable)
+{
+ MP_CHECK(track_info);
+
+ if (playable && track_info->track_type == MP_TRACK_URI)
+ {
+ char *mime = mp_util_file_mime_type_get(track_info->uri);
+ DEBUG_TRACE("mime: %s", mime);
+ if (!g_strcmp0(mime, "audio/x-wav")||!g_strcmp0(mime, "audio/mpeg"))
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_PLAY_VIA_GROUP_PLAY, MP_PLAYER_MORE_BTN_GROUP_PLAY_IMAGE, _ctxpopup_group_play_cb, view);
+ IF_FREE(mime);
+ }
+}*/
+
+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*/
+ /*_append_set_as_option(view, track_info, playable);
+ _append_group_play_option(view, track_info, playable);*/
+
+ 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);
+
+#ifdef MP_FEATURE_ALBUMART_UPDATE
+ if (mp_check_file_exist(track_info->uri) && mp_util_file_playable(track_info->uri))
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_UPDATE_ALBUM_ART, MP_PLAYER_MORE_BTN_UPDATE_ALBUMART, _ctxpopup_update_albumart_cb, view);
+#endif
+
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_DETAILS, MP_PLAYER_MORE_BTN_DETAIL_IMAGE, _ctxpopup_detail_cb, view);
+
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_SHOW_LYRICS, MP_PLAYER_MORE_BTN_SETTING, _ctxpopup_setting_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);
+
+ /*mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_SETTINGS, MP_PLAYER_MORE_BTN_SETTING, _ctxpopup_setting_cb, view);*/
+
+}
+
+static void
+_mp_player_view_add_artist_view_options(MpPlayerView_t *view)
+{
+ /*mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_SETTINGS, MP_PLAYER_MORE_BTN_SETTING, _ctxpopup_setting_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 if (view->launch_type == MP_PLAYER_ARTIST_PLAY)
+ _mp_player_view_add_artist_view_options(view);
+ }
+#else
+ /*sound player more option*/
+ /*
+ if (mp_player_mgr_get_player_type() == MP_PLAYER_TYPE_ASF ||track_info->track_type == MP_TRACK_ALLSHARE) {
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_CONNECTION_INFO, MP_PLAYER_MORE_BTN_CONN_INFO, _mp_player_view_connection_info_cb, view);
+ }*/
+ int count = 0;
+ /*if (playable && (track_info->track_type == MP_TRACK_URI) && file_in_db) {
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_SET_AS, MP_PLAYER_MORE_BTN_SET_AS, _ctxpopup_set_as_cb, view);
+ count++;
+ }*/
+
+ if (!ad->samsung_link && (!mp_util_is_streaming(track_info->uri))) {
+ 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;
+ elm_object_style_set(btn, "naviframe/more/default");
+ 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->del_cb_invoked = 0;
+
+ mp_evas_object_del(view->volume_popup);
+ CHECK_VIEW(view);
+#ifdef MP_SOUND_PLAYER
+ MP_CHECK_FALSE(view);
+
+ 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);
+
+ /* 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 (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);
+ /*view->toolbar_options[MP_OPTION_MORE] = btn;*/
+ }
+
+ /* Add back button */
+ /*_mp_player_view_create_back_button(view->layout, view->navi_it, _mp_player_view_back_button_clicked_cb, view);
+ view->toolbar_options[MP_OPTION_BACK] = btn;*/
+ 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);
+#ifdef MP_FEATURE_MUSIC_VIEW
+ _mp_player_wave_view_destory(view);
+#endif
+
+ 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);
+
+#ifdef MP_FEATURE_ALBUM_COVER_BG
+ SAFE_FREE(view->cur_path);
+#endif
+#ifdef MP_FEATURE_SUGGEST_FOR_YOU
+ if (view->suggest_list) {
+ g_list_free(view->suggest_list);
+ }
+ if (view->gic) {
+ elm_gengrid_item_class_free(view->gic);
+ view->gic = NULL;
+ }
+#endif
+ 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;
+ }
+
+#ifdef MP_FEATURE_SPLIT_WINDOW
+ mp_evas_object_del(view->popup_win);
+#endif
+
+ /*mp_lyric_view_destroy(view);*/
+ 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_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;
+}
+
+#ifdef MP_FEATURE_ALBUM_COVER_BG
+static void _mp_player_view_set_bg_color(void *thiz, Evas_Object *album_image)
+{
+ startfunc;
+ MpPlayerView_t *view = (MpPlayerView_t *)thiz;
+ MP_CHECK(view); CHECK_VIEW(view);
+ MP_CHECK(album_image);
+
+ int *rgb = NULL;
+ const char *album_path = NULL;
+ evas_object_image_file_get(album_image, &album_path, NULL);
+ if (g_strcmp0(album_path, view->cur_path)) {
+ DEBUG_TRACE("album_path=%s", album_path);
+ int *color = mp_collect_color_set_image(album_path, 1);
+ MP_CHECK(color);
+ view->cur_color = *color;
+ SAFE_FREE(view->cur_path);
+ view->cur_path = g_strdup(album_path);
+ rgb = mp_collect_color_get_RGB(color, 1);
+ SAFE_FREE(color);
+ } else {
+ rgb = mp_collect_color_get_RGB(&view->cur_color, 1);
+ }
+ DEBUG_TRACE("r=%d, g=%d, b=%d", rgb[0], rgb[1], rgb[2]);
+ Evas_Object *bg = evas_object_rectangle_add(evas_object_evas_get(view->player_view_layout));
+ evas_object_color_set(bg, rgb[0], rgb[1], rgb[2], 255);
+ evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+
+#ifdef MP_FEATURE_SUGGEST_FOR_YOU
+#ifndef MP_SOUND_PLAYER
+ if (mp_util_is_landscape()) {
+ elm_object_part_content_set(view->player_view_layout, "base_bg", bg);
+ } else
+ #endif
+ {
+ elm_object_item_part_content_set(view->inner_navi_it, "base_bg", bg);
+ }
+#else
+ elm_object_item_part_content_set(view->inner_navi_it, "base_bg", bg);
+#endif
+ evas_object_show(bg);
+ SAFE_FREE(rgb);
+}
+#endif
+
+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;
+
+#ifdef MP_FEATURE_SUGGEST_FOR_YOU
+#ifndef MP_SOUND_PLAYER
+
+ if (mp_util_is_landscape()) {
+ _mp_player_view_current_track_info_set(playing_view);
+ h = SUGGEST_ALBUM_THUMBNAIL_SIZE;
+ w = SUGGEST_ALBUM_THUMBNAIL_SIZE;
+ }
+#endif
+#endif
+
+ 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);
+ }
+
+#ifdef MP_FEATURE_ALBUM_COVER_BG
+ _mp_player_view_set_bg_color(thiz, album_image);
+#endif
+ 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);
+#ifdef MP_FEATURE_SPLIT_WINDOW
+ if (view->popup_win)
+ elm_win_lower(view->popup_win);
+ mp_evas_object_del(view->popup_win);
+#endif
+}
+
+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);
+}
+
+
+#ifdef MP_FEATURE_SPLIT_WINDOW
+static void _mp_player_view_get_multi_win_position(void *data)
+{
+ MpPlayerView_t *view = (MpPlayerView_t *)data;
+ MP_CHECK(view);
+
+ MP_CHECK(view->inner_naviframe);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ int w = 0, h = 0, x = 0, y = 0;
+ evas_object_geometry_get(view->inner_naviframe, &x, &y, &w, &h);
+ elm_win_screen_position_get(ad->win_main, &x, &y);
+
+ view->nPosY = y;
+ view->nWidth = w;
+ view->nHeight = h;
+ DEBUG_TRACE("nPosY=%d, nWidth=%d, nHeight=%d", view->nPosY, view->nWidth, view->nHeight);
+}
+
+static int _mp_player_view_get_multi_move_pos_y(void *data)
+{
+ MpPlayerView_t *view = (MpPlayerView_t *)data;
+ MP_CHECK_VAL(view, -1);
+
+ int y = 0;
+ DEBUG_TRACE("nPosY=%d, nHeight=%d", view->nPosY, view->nHeight);
+ if (view->nPosY >= (MP_PORTRAIT_H-MP_MULTI_WIDGET_H)) {
+ y = MP_MULTI_WIDGET_END_H;
+ } else if (view->nPosY > 0 && view->nPosY < (MP_PORTRAIT_H-MP_MULTI_WIDGET_H)) {
+ y = MP_MULTI_WIDGET_END_H-(view->nHeight-MP_MULTI_WIDGET_H)*MP_MULTI_WIDGET_SCALE;
+ } else {
+ if (view->nHeight <= MP_MULTI_WIDGET_H) {
+ y = MP_MULTI_WIDGET_START_H;
+ } else {
+ y = MP_MULTI_WIDGET_START_H+(view->nHeight-MP_MULTI_WIDGET_H)*MP_MULTI_WIDGET_SCALE;
+ }
+ }
+ return y;
+}
+
+static Evas_Object *_mp_player_view_create_new_win(const char *winName, Evas_Object *pParent, int x, int y, int w, int h)
+{
+ MP_CHECK_NULL(pParent);
+
+ Evas_Object *pWin = NULL;
+ pWin = elm_win_add(pParent, winName, ELM_WIN_UTILITY);
+ Ecore_Evas *ee = ecore_evas_ecore_evas_get(evas_object_evas_get(pWin));
+ ecore_evas_name_class_set(ee, "APP_POPUP", "APP_POPUP");
+ elm_win_alpha_set(pWin, EINA_TRUE);
+ evas_object_resize(pWin, MP_MULTI_WIDGET_W, MP_PORTRAIT_H);
+ DEBUG_TRACE("Move window to (%d,%d)", x, y);
+ evas_object_move(pWin, x, y);
+
+ if (elm_win_wm_rotation_supported_get(pWin)) {
+ const int rots[4] = { APP_DEVICE_ORIENTATION_0,
+ APP_DEVICE_ORIENTATION_90,
+ APP_DEVICE_ORIENTATION_180,
+ APP_DEVICE_ORIENTATION_270 };
+ elm_win_wm_rotation_available_rotations_set(pWin, rots, 4);
+ }
+ /* pass '-1' value to this API then it will unset preferred rotation angle */
+ elm_win_wm_rotation_preferred_rotation_set(pWin, -1);
+ ea_screen_reader_window_property_set(pWin, EINA_FALSE);
+ evas_object_show(pWin);
+
+ return pWin;
+}
+
+static void _mp_player_view_volume_popup_focus_in_cb(void *data, Evas *e, void *event_info)
+{
+ startfunc;
+
+ mp_volume_key_grab_condition_set(MP_VOLUME_KEY_GRAB_COND_WINDOW_FOCUS, true);
+}
+
+static void _mp_player_view_volume_popup_focus_out_cb(void *data, Evas *e, void *event_info)
+{
+ startfunc;
+
+ mp_volume_key_grab_condition_set(MP_VOLUME_KEY_GRAB_COND_WINDOW_FOCUS, false);
+}
+
+#endif
+
+
+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;
+
+#ifdef MP_FEATURE_SPLIT_WINDOW
+ if (!mp_util_is_landscape()) {
+ _mp_player_view_get_multi_win_position(view);
+ Evas_Object *pNewWin = NULL;
+ int pos_y = _mp_player_view_get_multi_move_pos_y(view);
+ pNewWin = _mp_player_view_create_new_win("MUSIC_MULTI_VIEW_VOLUME_POPUP", ad->win_main,
+ MP_MULTI_WIDGET_PADDING_W,
+ pos_y,
+ MP_MULTI_WIDGET_W,
+ MP_PORTRAIT_H);
+ view->popup_win = pNewWin;
+ view->volume_popup = mp_player_volume_widget_add(pNewWin);
+ evas_event_callback_add(evas_object_evas_get(view->volume_popup), EVAS_CALLBACK_CANVAS_FOCUS_IN, _mp_player_view_volume_popup_focus_in_cb, NULL);
+ evas_event_callback_add(evas_object_evas_get(view->volume_popup), EVAS_CALLBACK_CANVAS_FOCUS_OUT, _mp_player_view_volume_popup_focus_out_cb, NULL);
+ } else
+#endif
+ {
+ 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;
+ }
+ }
+ }
+}
+
+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);
+}
+/*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;
+#ifdef MP_FEATURE_SUGGEST_FOR_YOU
+ bool landscape = mp_util_is_landscape();
+ if (landscape) {
+ layout = view->player_view_layout;
+ }
+#endif
+ 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*/
+
+
+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);
+}
+
+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;
+ 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);
+ }
+
+#ifdef MP_FEATURE_MUSIC_VIEW
+ if (playing_view->timer_wave) {
+ ecore_timer_reset(playing_view->timer_wave);
+ }
+#endif
+
+ 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 char *_mp_player_view_progress_bar_tts_info_cb(void *data, Evas_Object *obj)
+{
+ MpPlayerView_t *view = (MpPlayerView_t *)data;
+ MP_CHECK_NULL(view);
+
+ const char *playing_text = elm_object_part_text_get(view->progress_box, "progress_text_playing");
+ const char *total_text = elm_object_part_text_get(view->progress_box, "progress_text_total");
+
+ char *text = g_strconcat(GET_STR(MP_TTS_PROGRESS_PLAYING), " ", playing_text, GET_STR(MP_TTS_PROGRESS_TOTAL), " ", total_text, NULL);
+ return text;
+}
+
+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*/
+#ifdef MP_FEATURE_SUGGEST_FOR_YOU
+#ifndef MP_SOUND_PLAYER
+ if (mp_util_is_landscape()) {
+ mp_evas_object_del(view->lyric);
+ return true;
+ }
+#endif
+#endif
+
+ 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);
+ }
+}
+
+#ifdef MP_FEATURE_MUSIC_VIEW
+static Eina_Bool
+_mp_player_view_update_wave_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 (ad->music_length > 0.)
+ elm_progressbar_value_set(playing_view->wave_progress_bar, ad->music_pos/ad->music_length);
+
+ return ECORE_CALLBACK_RENEW;
+
+}
+
+static void _mp_player_view_create_wave_progress(void *thiz)
+{
+ startfunc;
+ MpPlayerView_t *view = (MpPlayerView_t *)thiz;
+ MP_CHECK(view); CHECK_VIEW(view);
+ MP_CHECK(view->player_view_layout);
+
+ view->wave_progress_bar = elm_progressbar_add(view->player_view_layout);
+ elm_object_style_set(view->wave_progress_bar, "wave/list_progres");
+ elm_progressbar_horizontal_set(view->wave_progress_bar, EINA_TRUE);
+ evas_object_size_hint_align_set(view->wave_progress_bar, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_size_hint_weight_set(view->wave_progress_bar, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_progressbar_value_set(view->wave_progress_bar, 0.0);
+
+ if (NULL == view->wave_progressbar_timer) {
+ view->wave_progressbar_timer = ecore_timer_add(0.1, _mp_player_view_update_wave_progressbar_cb, view);
+ }
+
+ evas_object_show(view->wave_progress_bar);
+
+ edje_object_signal_emit(_EDJ(view->progress_box), "set_hide", "progress_bar");
+
+ elm_object_part_content_set(view->player_view_layout, "wave_progress", view->wave_progress_bar);
+
+ view->wave_progress_bar_bg = (Evas_Object *)edje_object_part_object_get(_EDJ(view->player_view_layout), "wave_progress_bg");
+
+ evas_object_event_callback_add(view->wave_progress_bar_bg, EVAS_CALLBACK_MOUSE_DOWN,
+ _mp_player_view_progressbar_down_cb, view);
+ evas_object_event_callback_add(view->wave_progress_bar_bg, EVAS_CALLBACK_MOUSE_UP,
+ _mp_player_view_progressbar_up_cb, view);
+ evas_object_event_callback_add(view->wave_progress_bar_bg, EVAS_CALLBACK_MOUSE_MOVE,
+ _mp_player_view_progressbar_move_cb, view);
+
+ endfunc;
+}
+
+static void _draw_wave_view(void *data, int show_status)
+{
+ /*startfunc;*/
+
+ MpPlayerView_t *view = (MpPlayerView_t *)data;
+ MP_CHECK(view); CHECK_VIEW(view);
+ mp_evas_object_del(view->more_btn_ctxpopup);
+
+ MP_CHECK(view->wave_data);
+
+ 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);
+
+ int w = 496 * elm_config_scale_get();
+ int h = 160 * elm_config_scale_get();
+ int index = 0;
+ int max_pos = w;
+ int hight = 0;
+ double step = view->wave_length/w;
+
+ Evas_Object *image = evas_object_image_add(evas_object_evas_get(view->player_view_layout));
+ evas_object_smart_member_add(image , view->player_view_layout);
+ view->overlay = image;
+ evas_object_size_hint_weight_set(image, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_image_alpha_set(image, EINA_TRUE);
+ evas_object_image_size_set(image, w , h);
+ evas_object_image_colorspace_set(image, EVAS_COLORSPACE_ARGB8888);
+
+ evas_object_resize(view->overlay, w, h);
+ evas_object_image_size_set(view->overlay, w, h);
+ evas_object_image_fill_set(view->overlay, 0, 0, w, h);
+
+ evas_object_smart_changed(view->player_view_layout);
+ evas_object_show(view->overlay);
+
+ elm_object_part_content_set(view->player_view_layout, "wave_graph", view->overlay);
+
+ view->pixels = evas_object_image_data_get(view->overlay, EINA_TRUE);
+ view->surface = cairo_image_surface_create_for_data((unsigned char *)view->pixels, CAIRO_FORMAT_RGB24, w, h, w * 4);
+ view->cr = cairo_create(view->surface);
+
+ cairo_set_line_width(view->cr, 1.0);
+
+ cairo_set_source_rgba(view->cr, 0.0, 0.0, 0.0, 0.0);
+ cairo_set_operator(view->cr, CAIRO_OPERATOR_SOURCE);
+ cairo_paint(view->cr);
+ cairo_set_source_rgba(view->cr, 0.97, 0.96, 0.93, 1.0);
+ cairo_set_source_rgb (view->cr, 0.97, 0.96, 0.93);
+ cairo_move_to (view->cr, 1, 0);
+
+ while (index < max_pos) {
+ /*DEBUG_TRACE("****data: %d", view->wave_data[hight]);*/
+ int drawpos = (h-1) - (view->wave_data[hight] * ((h-1)/100));
+ cairo_line_to(view->cr, index, drawpos);
+ index++;
+ hight = index * step;
+ }
+ cairo_line_to(view->cr, w , 0);
+ cairo_line_to(view->cr, 1, 0);
+ cairo_stroke_preserve(view->cr);
+ cairo_set_source_rgba(view->cr, 0.97, 0.96, 0.93, 1.0);
+ cairo_set_source_rgb(view->cr, 0.97, 0.96, 0.93);
+ cairo_fill(view->cr);
+
+ cairo_destroy(view->cr);
+ evas_object_image_data_set(view->overlay, view->pixels);
+ evas_object_image_smooth_scale_set(view->overlay, EINA_TRUE);
+ evas_object_image_data_update_add(view->overlay, 0, 0, w, h);
+
+}
+
+static void _mp_player_wave_view_destory(void *data)
+{
+ startfunc;
+
+ MpPlayerView_t *playing_view = (MpPlayerView_t *)data;
+ MP_CHECK(playing_view);
+ CHECK_VIEW(playing_view);
+ if (playing_view->player_view_layout)
+ elm_object_signal_emit(playing_view->player_view_layout, "wave_view_hide", "*");
+
+ IF_FREE(playing_view->wave_data);
+ mp_ecore_timer_del(playing_view->timer_wave);
+ mp_ecore_timer_del(playing_view->wave_progressbar_timer);
+ if (playing_view->progress_box)
+ elm_object_signal_emit(playing_view->progress_box, "set_show", "progress_bar");
+
+ playing_view->wave_view_status = FALSE;
+}
+
+static Eina_Bool _mp_player_view_timer_wave_update_cb(void *data)
+{
+ TIMER_TRACE();
+ MpPlayerView_t *playing_view = (MpPlayerView_t *)data;
+ MP_CHECK_FALSE(playing_view);
+
+ _mp_player_wave_view_destory(data);
+
+ return ECORE_CALLBACK_RENEW;
+}
+
+static void _mp_player_view_show_wave_view_set(void *data)
+{
+ startfunc;
+
+ 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);
+
+ view->wave_data = mp_music_view_mgr_exe(item->uri, &view->wave_length);
+ if (!view->wave_data) {
+ mp_error("fail to get music_view data[%s]", item->uri);
+ mp_widget_text_popup(ad, GET_STR(STR_MP_FILE_TYPE_NOT_SUPPORTED));
+ return;
+ }
+
+ view->wave_view_status = TRUE;
+ _mp_player_view_create_wave_progress(view);
+ _draw_wave_view(data, 0);
+
+ edje_object_signal_emit(_EDJ(view->player_view_layout), "wave_view_show", "*");
+
+ if (NULL == view->timer_wave) {
+ view->timer_wave = ecore_timer_add(20, _mp_player_view_timer_wave_update_cb, view);
+ }
+
+}
+
+static void _mp_player_view_show_wave_view_set_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ startfunc;
+
+ _mp_player_view_show_wave_view_set(data);
+}
+static void _mp_player_view_hide_wave_view_set_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);
+
+ _mp_player_wave_view_destory(data);
+}
+#endif
+
+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_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);
+ if (ad->win_minicon)
+ mp_minicontroller_update_shuffle_and_repeat_btn(ad);
+ 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);
+#ifdef MP_FEATURE_AVRCP_13
+ mp_avrcp_noti_repeat_mode(repeat_state);
+#endif
+ if (ad->win_minicon)
+ mp_minicontroller_update_shuffle_and_repeat_btn(ad);
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_UPDATE_NOW_PLAYING);
+}
+
+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);
+
+ 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);
+ }
+ }
+}
+
+static void _mp_player_view_prev_btn_pressed_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ DEBUG_TRACE("prev button pressed");
+ 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");
+ 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);
+}
+
+
+#ifndef MP_SOUND_PLAYER
+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;
+}
+
+#ifdef MP_FEATURE_SPLIT_WINDOW
+
+static void _mp_player_view_albumart_cb(void *data, Evas_Object *o, const char *emission, const char *source)
+{
+ startfunc;
+ MpPlayerView_t *view = (MpPlayerView_t *)data;
+ MP_CHECK(view);
+ MP_CHECK(view->player_view_layout);
+
+ mp_player_view_refresh(view);
+ edje_object_signal_callback_del(_EDJ(view->player_view_layout), emission, "*", _mp_player_view_albumart_cb);
+}
+
+static void _mp_player_view_resize(void *data)
+{
+ MpPlayerView_t *view = (MpPlayerView_t *)data;
+ MP_CHECK(view);
+ MP_CHECK(view->player_view_layout);
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ MP_CHECK(ad->win_main);
+
+ int w, h;
+ int scale = elm_config_scale_get();
+ evas_object_geometry_get(ad->win_main, NULL, NULL, &w, &h);
+ DEBUG_TRACE("win size w: %d h: %d", w, h);
+
+#ifdef MP_FEATURE_LANDSCAPE
+ if (mp_util_is_landscape()) {
+ if (w < MP_MULTI_WINDOW_NO_ALBUMART_WIDTH * scale) {
+ edje_object_signal_callback_add(_EDJ(view->player_view_layout), "set_hide_albumart", "*", _mp_player_view_albumart_cb, view);
+ edje_object_signal_emit(_EDJ(view->player_view_layout), "set_hide_albumart", "*");
+ } else {
+ edje_object_signal_emit(_EDJ(view->player_view_layout), "set_show_albumart", "*");
+ }
+ } else
+#endif
+ {
+ if (h < MP_MULTI_WINDOW_NO_PROGRESS_HEIGHT * scale) {
+ edje_object_signal_callback_add(_EDJ(view->player_view_layout), "set_hide_progress", "*", _mp_player_view_albumart_cb, view);
+ edje_object_signal_emit(_EDJ(view->player_view_layout), "set_hide_progress", "*");
+ } else if (h < MP_MULTI_WINDOW_NO_OPTION_HEIGHT * scale) {
+ edje_object_signal_callback_add(_EDJ(view->player_view_layout), "set_hide_option", "*", _mp_player_view_albumart_cb, view);
+ edje_object_signal_emit(_EDJ(view->player_view_layout), "set_hide_option", "*");
+ } else {
+ edje_object_signal_emit(_EDJ(view->player_view_layout), "set_hide_default", "*");
+ }
+ }
+}
+#endif
+
+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();
+
+
+#ifdef MP_FEATURE_LANDSCAPE
+ bool landscape = mp_util_is_landscape();
+ if (landscape) {
+ /*side cast has no option area*/
+ #ifdef MP_FEATURE_SUGGEST_FOR_YOU
+ #ifdef MP_SOUND_PLAYER
+ view->player_view_option_layout = mp_common_load_edj(view->player_view_layout, PLAY_VIEW_EDJ_NAME, "player_view_option_area_ld");
+ 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);
+ #else
+ view->player_view_option_layout = NULL;
+ #endif
+ #endif
+ } else
+#endif
+ {
+ 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);
+ }
+
+#ifdef MP_FEATURE_LANDSCAPE
+ if (landscape) {
+ #ifdef MP_FEATURE_SUGGEST_FOR_YOU
+ #ifndef MP_SOUND_PLAYER
+ view->player_view_control_layout = mp_common_load_edj(view->player_view_layout, PLAY_VIEW_EDJ_NAME, "player_view_control_area_cast");
+ #else
+ view->player_view_control_layout = mp_common_load_edj(view->player_view_layout, PLAY_VIEW_EDJ_NAME, "player_view_control_area_ld");
+ #endif
+ #else
+ view->player_view_control_layout = mp_common_load_edj(view->player_view_layout, PLAY_VIEW_EDJ_NAME, "player_view_control_area_ld");
+ #endif
+ } else
+#endif
+ {
+ 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);
+ }
+
+#ifndef MP_FEATURE_SUGGEST_FOR_YOU
+
+ 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 (landscape) {
+ view->option_button[OPTION_FAVO_ON] = _mp_player_add_btn(data, view->player_view_option_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_option_layout, view->option_button[OPTION_FAVO_OFF], "music/favourite_off",
+ "options_favourite_off", _mp_player_view_option_btn_click_cb);
+ } else {
+ 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);
+ }
+#endif
+
+#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);
+#ifdef MP_FEATURE_SUGGEST_FOR_YOU
+#ifndef MP_SOUND_PLAYER
+ if (mp_util_is_landscape() && mp_player_mgr_get_player_type() != MP_PLAYER_TYPE_ASF)
+ mp_volume_key_grab_condition_set(MP_VOLUME_KEY_GRAB_COND_VIEW_VISIBLE, false);
+ else
+#endif
+#endif
+ 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 Eina_Bool
+_mp_player_view_eventbox_reader_flick_left_cb(void *data, Evas_Object *obj, Elm_Access_Action_Info *action_info)
+{
+ startfunc;
+ MpPlayerView_t *view = (MpPlayerView_t *)data;
+ MP_CHECK_FALSE(view);
+ MP_CHECK_FALSE(view->player_view_layout);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_FALSE(ad);
+ mp_play_prev_file(ad);
+
+ return EINA_TRUE;
+}
+
+static Eina_Bool
+_mp_player_view_eventbox_reader_flick_right_cb(void *data, Evas_Object *obj, Elm_Access_Action_Info *action_info)
+{
+ startfunc;
+ MpPlayerView_t *view = (MpPlayerView_t *)data;
+ MP_CHECK_FALSE(view);
+ MP_CHECK_FALSE(view->player_view_layout);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_FALSE(ad);
+
+ mp_play_next_file(ad, TRUE);
+
+ return EINA_TRUE;
+}
+
+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
+*/
+
+#ifdef MP_FEATURE_SUGGEST_FOR_YOU
+#ifdef MP_SOUND_PLAYER
+ 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);
+ #else
+ /*CAST SIDE do not need inner_navi_it inner_naviframe*/
+ view->player_view_layout = mp_common_load_edj(view->layout, PLAY_VIEW_EDJ_NAME, "player_view_side_cast");
+ view->inner_navi_it = NULL;
+ view->inner_naviframe = NULL;
+
+ #endif
+#else
+ 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);
+#endif
+
+ 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*/
+#ifndef MP_FEATURE_SUGGEST_FOR_YOU
+ elm_object_part_content_set(view->player_view_layout, "right_title", view->inner_naviframe);
+#else
+#ifdef MP_SOUND_PLAYER
+ elm_object_part_content_set(view->player_view_layout, "right_title", view->inner_naviframe);
+#endif
+#endif
+
+ 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);
+
+#ifdef MP_FEATURE_SUGGEST_FOR_YOU
+#ifndef MP_SOUND_PLAYER
+ /* suggestion album*/
+ if (landscape) {
+ _mp_player_view_suggestion_album_load(view);
+ }
+#endif
+#endif
+
+ /* 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;
+ 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
+ evas_object_image_file_set(thumbnail, DEFAULT_PLAYER_THUMBNAIL, NULL);
+
+ evas_object_image_size_get(thumbnail, &width, &height);
+ evas_object_image_filled_set(thumbnail, true);
+
+ if (width <= 0 || height <= 0) {
+ evas_object_image_file_set(thumbnail, DEFAULT_PLAYER_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);
+
+#ifdef MP_FEATURE_MUSIC_VIEW
+ _mp_player_wave_view_destory(thiz);
+#endif
+ endfunc;
+}
+
+#ifdef MP_FEATURE_ALBUM_COVER_BG
+static void
+_mp_player_view_transit_bg(void *data, Evas_Object *next)
+{
+ MpPlayerView_t *view = (MpPlayerView_t *)data;
+ MP_CHECK(view); CHECK_VIEW(view);
+ MP_CHECK(next);
+
+ const char *album_path = NULL;
+ evas_object_image_file_get(next, &album_path, NULL);
+ int *color = mp_collect_color_set_image(album_path, 1);
+ MP_CHECK(color);
+ int *rgb1 = mp_collect_color_get_RGB(&view->cur_color, 1);
+ view->cur_color = *color;
+ SAFE_FREE(view->cur_path);
+ view->cur_path = g_strdup(album_path);
+ int *rgb2 = mp_collect_color_get_RGB(color, 1);
+ SAFE_FREE(color);
+ Evas_Object *bg = NULL;
+#ifdef MP_FEATURE_SUGGEST_FOR_YOU
+#ifndef MP_SOUND_PLAYER
+ if (mp_util_is_landscape()) {
+ bg = elm_object_part_content_get(view->player_view_layout, "base_bg");
+ } else
+ #endif
+ {
+ bg = elm_object_item_part_content_get(view->inner_navi_it, "base_bg");
+ }
+#else
+ bg = elm_object_item_part_content_get(view->inner_navi_it, "base_bg");
+#endif
+
+ Elm_Transit *transit1 = elm_transit_add();
+ elm_transit_object_add(transit1, bg);
+ elm_transit_effect_color_add(transit1, rgb1[0], rgb1[1], rgb1[2], 255, rgb2[0], rgb2[1], rgb2[2], 255);
+ DEBUG_TRACE("cur r=%d, g=%d, b=%d", rgb1[0], rgb1[1], rgb1[2]);
+ DEBUG_TRACE("next r=%d, g=%d, b=%d", rgb2[0], rgb2[1], rgb2[2]);
+ elm_transit_duration_set(transit1, PLAYER_VIEW_TRANSIT_INTERVAL);
+ elm_transit_go(transit1);
+ SAFE_FREE(rgb1);
+ SAFE_FREE(rgb2);
+ }
+#endif
+
+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);
+
+#ifdef MP_FEATURE_ALBUM_COVER_BG
+ _mp_player_view_transit_bg(view, next);
+#endif
+ 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");
+
+ /*
+ ** some popup of the view should be deleted only if the view is top view
+ ** otherwise it will delete popup of setting view or detail view
+ */
+ if (mp_view_mgr_get_top_view(GET_VIEW_MGR) == (MpView_t *)view)
+ mp_popup_destroy(ad);
+ #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;
+ }
+#ifdef MP_FEATURE_SPLIT_WINDOW
+ case MP_WIN_RESIZED:
+ {
+ _mp_player_view_resize(view);
+ break;
+ }
+#endif
+#ifdef MP_FEATURE_LANDSCAPE
+ case MP_VIEW_ROTATE_START:
+ {
+ view->update_flag = false;
+ break;
+ }
+#endif
+ case MP_UPDATE_PLAYING_LIST:
+ {
+
+#ifdef MP_FEATURE_SUGGEST_FOR_YOU
+#ifndef MP_SOUND_PLAYER
+
+ if (mp_util_is_landscape()) {
+ _mp_player_view_suggestion_album_load(view);
+ }
+#endif
+#endif
+ }
+
+ 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;
+
+}
+
+#ifdef MP_FEATURE_LANDSCAPE
+static void
+_mp_player_view_rotate(void *thiz, int init_rotate)
+{
+ DEBUG_TRACE("mp_player rotated %d", init_rotate);
+ MpPlayerView_t *view = thiz;
+ MP_CHECK(view);
+ CHECK_VIEW(view);
+
+ /*check if player position should update during rotation*/
+ int current_pos = mp_player_mgr_get_position();
+ /*enable update flag to get down/move for next time*/
+ view->update_flag = true;
+ /*
+ ** view->update_pos >= 0 means update really happened
+ ** current_pos != view->update_pos* 1000 update position is not the playing position
+ ** it's long press rotate case.
+ */
+ if (view->update_pos >= 0 && current_pos != view->update_pos * 1000) {
+ mp_player_mgr_set_position(view->update_pos * 1000, _mp_player_view_progressbar_seek_done_cb, view);
+ }
+ /*cancel drag status for timer progress*/
+ view->progressbar_dragging = false;
+ /*clean update_pos. every update_pos use only once*/
+ view->update_pos = -1;
+
+ _mp_player_view_content_layout_load(view);
+ view->queue_list = NULL;
+
+ _mp_player_view_update_layout(view);
+ mp_player_view_refresh(view);
+#ifdef MP_FEATURE_MUSIC_VIEW
+ if (view->wave_view_status)
+ _mp_player_view_show_wave_view_set(view);
+#endif
+
+ if (view->transition_state) {
+ WARN_TRACE("transition is not finished yet for prev/next");
+ _mp_player_view_transit_by_item_complete_cb(view, NULL);
+ }
+}
+#endif
+/*
+static void
+_mp_player_view_layout_del_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+ startfunc;
+
+ MpPlayerView_t *playing_view = (MpPlayerView_t *)data;
+ MP_CHECK(playing_view);
+
+ playing_view->player_view_layout = NULL;
+}
+*/
+
+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;
+
+#ifdef MP_FEATURE_LANDSCAPE
+ view->rotate = _mp_player_view_rotate;
+ view->queue_status = false;
+#endif
+
+ return ret;
+}
+
+/*access callback for TTS*/
+static char *_mp_player_view_shuffle_access_info_cb(void *data, Evas_Object *obj)
+{
+ startfunc;
+ DEBUG_TRACE("shuffle button clicked");
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_NULL(ad);
+
+ char *operation_txt = NULL;
+
+ int shuffle_state = 0;
+ mp_setting_get_shuffle_state(&shuffle_state);
+
+ if (shuffle_state == 1) {
+ operation_txt = GET_SYS_STR(MP_TTS_SHUFFLE_OFF_BUTTON);
+ } else {
+ operation_txt = GET_SYS_STR(MP_TTS_SHUFFLE_ON_BUTTON);
+ }
+
+ char *read_txt = g_strconcat(operation_txt, " ", GET_SYS_STR(MP_SCREEN_BUTTON), NULL);
+ return read_txt;
+}
+
+static char *_mp_player_view_favor_access_info_cb(void *data, Evas_Object *obj)
+{
+ startfunc;
+ DEBUG_TRACE("favor button clicked");
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_NULL(ad);
+
+ char *operation_txt = NULL;
+
+ mp_plst_item *item = mp_playlist_mgr_get_current(ad->playlist_mgr);
+ MP_CHECK_NULL(item);
+ mp_media_info_h favourite_handle = NULL;
+ mp_media_info_create(&favourite_handle, item->uid);
+ MP_CHECK_NULL(favourite_handle);
+
+ bool favorite = false;
+ mp_media_info_get_favorite(favourite_handle, &favorite);
+
+ if (favorite == 1) {
+ operation_txt = GET_SYS_STR(MP_TTS_FAVOURITE_BUTTON);
+ } else {
+ operation_txt = GET_SYS_STR(MP_TTS_UNFAVOURITE_BUTTON);
+ }
+ mp_media_info_destroy(favourite_handle);
+ favourite_handle = NULL;
+
+ char *read_txt = g_strconcat(operation_txt, " ", GET_SYS_STR(MP_SCREEN_BUTTON), NULL);
+
+ mp_media_info_destroy(favourite_handle);
+ favourite_handle = NULL;
+
+ return read_txt;
+}
+
+static char *_mp_player_view_volume_access_info_cb(void *data, Evas_Object *obj)
+{
+ startfunc;
+ DEBUG_TRACE("volume button clicked");
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_NULL(ad);
+
+ char *operation_txt = NULL;
+
+ operation_txt = GET_SYS_STR(MP_TTS_VOLUME_BUTTON);
+
+ char *read_txt = g_strconcat(operation_txt, " ", GET_SYS_STR(MP_SCREEN_BUTTON), NULL);
+ return read_txt;
+}
+
+#ifndef MP_SOUND_PLAYER
+static char *_mp_player_view_queue_access_info_cb(void *data, Evas_Object *obj)
+{
+ startfunc;
+ DEBUG_TRACE("queue button clicked");
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_NULL(ad);
+
+ char *operation_txt = NULL;
+
+ operation_txt = GET_SYS_STR(MP_TTS_QUEUE_BUTTON);
+
+ char *read_txt = g_strconcat(operation_txt, " ", GET_SYS_STR(MP_SCREEN_BUTTON), NULL);
+ return read_txt;
+}
+#endif
+
+static char *_mp_player_view_play_pause_access_info_cb(void *data, Evas_Object *obj)
+{
+ startfunc;
+ DEBUG_TRACE("play/pause button clicked");
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_NULL(ad);
+
+ char *operation_txt = NULL;
+
+ if (ad->player_state == PLAY_STATE_PLAYING) {
+ operation_txt = GET_SYS_STR(MP_TTS_PAUSE_BUTTON);
+ } else {
+ operation_txt = GET_SYS_STR(MP_TTS_PLAY_BUTTON);
+ }
+
+ char *read_txt = g_strconcat(operation_txt, " ", GET_SYS_STR(MP_SCREEN_BUTTON), NULL);
+ return read_txt;
+}
+
+static char *_mp_player_view_repeat_access_info_cb(void *data, Evas_Object *obj)
+{
+ startfunc;
+ DEBUG_TRACE("repeat button clicked");
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_NULL(ad);
+
+ char *operation_txt = NULL;
+
+ int repeat_state = 0;
+ mp_setting_get_repeat_state(&repeat_state);
+ if (MP_PLST_REPEAT_ONE == repeat_state) {
+ operation_txt = GET_SYS_STR(MP_TTS_REPEAT_ONE_BUTTON);
+ } else if (MP_PLST_REPEAT_NONE == repeat_state) {
+ operation_txt = GET_SYS_STR(MP_TTS_REPEAT_OFF_BUTTON);
+ } else {
+ /*repeat all */
+ operation_txt = GET_SYS_STR(MP_TTS_REPEAT_ALL_BUTTON);
+ }
+
+ char *read_txt = g_strconcat(operation_txt, " ", GET_SYS_STR(MP_SCREEN_BUTTON), NULL);
+ return read_txt;
+}
+
+static char *_mp_player_view_ff_rew_access_info_cb(void *data, Evas_Object *obj)
+{
+ startfunc;
+ DEBUG_TRACE("ff/rew button clicked");
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_NULL(ad);
+
+ char *operation_txt = NULL;
+
+ char *source = (char *)data;
+ if (!g_strcmp0(source, CONTROLLER_FF_SOURCE)) {
+ operation_txt = GET_SYS_STR(MP_TTS_NEXT_BUTTON);
+ } else {
+ operation_txt = GET_SYS_STR(MP_TTS_PREVIOUS_BUTTON);
+ }
+
+ char *read_txt = g_strconcat(operation_txt, " ", GET_SYS_STR(MP_SCREEN_BUTTON), NULL);
+ return read_txt;
+}
+
+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
+#ifdef MP_FEATURE_SUGGEST_FOR_YOU
+ if (!mp_util_is_landscape()) {
+ 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);
+ }
+ #else
+ 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
+#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);
+}
+
+
+
+
+#ifdef MP_FEATURE_SUGGEST_FOR_YOU
+#ifndef MP_SOUND_PLAYER
+
+static Evas_Object *_mp_player_view_gengrid_content_get(void *data, Evas_Object *obj, const char *part)
+{
+ eventfunc;
+ 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");
+ char *thumbpath = NULL;
+ if (!g_strcmp0(part, "albumart")) {
+ Evas_Object *icon = NULL;
+ mp_media_info_get_thumbnail_path(track, &thumbpath);
+ icon = mp_util_create_thumb_icon(obj, thumbpath, SUGGEST_TRACK_THUMBNAIL_SIZE, SUGGEST_TRACK_THUMBNAIL_SIZE);
+ evas_object_show(icon);
+ return icon;
+ }
+ return NULL;
+
+}
+static char *_mp_player_view_gengrid_text_get(void *data, Evas_Object *obj, const char *part)
+{
+
+ eventfunc;
+ 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");
+
+ char *title = NULL;
+ char *artist = NULL;
+ char *album = NULL;
+ mp_media_info_get_title(track, &title);
+ mp_media_info_get_artist(track, &artist);
+ mp_media_info_get_album(track, &album);
+
+ if (!strcmp(part, "elm.text.1")) {
+ mp_retv_if (!title, NULL);
+ return g_strdup(title);
+ } else if (!strcmp(part, "elm.text.2")) {
+ mp_retv_if (!artist, NULL);
+ return g_strdup(artist);
+ } else if (!strcmp(part, "elm.text.3")) {
+ mp_retv_if (!album, NULL);
+ return g_strdup(album);
+ }
+ return NULL;
+
+}
+
+static void _mp_player_view_gengrid_item_del_cb(void *data, Evas_Object *obj)
+{
+ DEBUG_TRACE_FUNC();
+ mp_list_item_data_t *item_data = data;
+ SAFE_FREE(item_data);
+}
+
+static void _mp_player_view_genrid_create(MpPlayerView_t *thiz)
+{
+ eventfunc;
+ MpPlayerView_t *playing_view = thiz;
+ MP_CHECK(playing_view);
+ MP_CHECK(playing_view->player_view_layout);
+
+
+ /*create new genlist*/
+ Evas_Object *content = elm_object_part_content_unset(playing_view->player_view_layout, "suggest_song_area");
+ mp_evas_object_del(content);
+ playing_view->gengrid = elm_gengrid_add(playing_view->player_view_layout);
+ MP_CHECK(playing_view->gengrid);
+
+ elm_gengrid_item_size_set(playing_view->gengrid, SUGGEST_GENGRID_ITEM_WIDTH, SUGGEST_GENGRID_ITEM_HEIGHT);
+ elm_gengrid_horizontal_set(playing_view->gengrid, TRUE);
+ evas_object_size_hint_weight_set(playing_view->gengrid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(playing_view->gengrid, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ elm_scroller_policy_set(playing_view->gengrid, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
+ evas_object_show(playing_view->gengrid);
+
+ if (playing_view->gic == NULL) {
+ playing_view->gic = elm_gengrid_item_class_new();
+ playing_view->gic->item_style = "music/cast_side";
+ playing_view->gic->func.text_get = _mp_player_view_gengrid_text_get;
+ playing_view->gic->func.content_get = _mp_player_view_gengrid_content_get;
+ playing_view->gic->func.state_get = NULL;
+ playing_view->gic->func.del = _mp_player_view_gengrid_item_del_cb;
+ }
+ elm_object_part_content_set(playing_view->player_view_layout, "suggest_song_area", playing_view->gengrid);
+ evas_object_data_set(playing_view->gengrid, "view_data", playing_view);
+ eventfunc;
+}
+
+
+
+
+static void _mp_player_view_gengrid_item_select_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ DEBUG_TRACE_FUNC();
+ MP_CHECK(obj);
+ 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);
+
+ mp_plst_item *plst_item = NULL;
+ mp_plst_item *to_play = NULL;
+ Elm_Object_Item *gli2 = NULL;
+ int index = 0;
+
+ if (!ad->playlist_mgr)
+ mp_common_create_playlist_mgr();
+
+ mp_playlist_mgr_clear(ad->playlist_mgr);
+ /* creat new playlist */
+ gli2 = elm_gengrid_first_item_get(obj);
+ while (gli2) {
+
+ mp_list_item_data_t *item_data = elm_object_item_data_get(gli2);
+ 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 (item->index == index)
+ to_play = plst_item;
+ index++;
+
+ gli2 = elm_gengrid_item_next_get(gli2);
+ }
+
+ MP_CHECK(to_play);
+ /*play the current track*/
+ mp_playlist_mgr_set_current(ad->playlist_mgr, to_play);
+ 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..");
+#ifdef MP_FEATURE_CLOUD
+ if (ret == MP_PLAY_ERROR_NETWORK)
+ mp_widget_text_popup(NULL, GET_STR(STR_MP_THIS_FILE_IS_UNABAILABLE));
+#endif
+ return;
+ }
+
+ MpPlayerView_t *player_view = (MpPlayerView_t *)GET_PLAYER_VIEW;
+ if (player_view) {
+ mp_player_view_refresh(player_view);
+ }
+ return;
+}
+
+static void _mp_player_view_suggestion_album_load(void *thiz)
+{
+ eventfunc;
+ 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);
+ mp_plst_item *cur = mp_playlist_mgr_get_current(ad->playlist_mgr);
+ MP_CHECK(cur);
+ MP_CHECK(cur->uri);
+
+
+
+ /*There are 3 method to get the suggestions and has its own priority
+ 1. use the same mood track (get data from the server DB)
+ 2. get the same genre track (get data from the other DB)
+ 3. random track method
+ */
+
+ _mp_player_mood_method_get_data(playing_view, cur->uri);
+ if (g_list_length(playing_view->suggest_list) < SUGGEST_TRACK_MIN_COUNT) {
+ DEBUG_TRACE("MOOD method is invalid");
+ g_list_free(playing_view->suggest_list);
+ playing_view->suggest_list = NULL;
+ _mp_player_genre_method_get_data(playing_view, cur->uri);
+ if (g_list_length(playing_view->suggest_list) < SUGGEST_TRACK_MIN_COUNT) {
+ DEBUG_TRACE("GENRE method is invalid");
+ g_list_free(playing_view->suggest_list);
+ playing_view->suggest_list = NULL;
+ _mp_player_random_method_get_data(playing_view, cur->uri);
+ }
+ }
+
+ _mp_player_view_suggestion_album_append(playing_view, cur->uri);
+ mp_util_domain_translatable_part_text_set(playing_view->player_view_layout, "suggest_album_text", STR_MP_SUGGESTION_STR);
+}
+
+static void _mp_player_mood_method_get_data(MpPlayerView_t *view, char *path)
+{
+ MP_CHECK(view);
+ MP_CHECK(path);
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ mp_db_client_mgr_create(ad);
+ MP_CHECK(ad->dbc_mgr);
+
+ /*get current song mood*/
+ int mood = 0;
+ mp_db_client_get_mood_by_path(ad->dbc_mgr, &mood, path);
+ ERROR_TRACE("wishjox mood:%d", mood);
+
+ /*get the same mood song list*/
+ mp_db_client_get_paths_by_mood(ad->dbc_mgr, mood);
+ view->suggest_list = ad->dbc_mgr->path_list;
+ DEBUG_TRACE("length is %d", g_list_length(view->suggest_list));
+ mp_db_client_mgr_destory(ad->dbc_mgr);
+
+}
+
+static void _mp_player_random_method_get_data(MpPlayerView_t *view, char *cur_path)
+{
+ MP_CHECK(view);
+ MP_CHECK(cur_path);
+ int count = 0;
+ mp_media_info_list_count(MP_TRACK_ALL, NULL, NULL, NULL, 0, &count);
+ DEBUG_TRACE("count is %d", count);
+
+ GList *sel_list = NULL;
+ int prev_index = 0;
+ if (count == 1) {
+ sel_list = NULL;
+ } else {
+ mp_media_list_h svc_handle = NULL;
+ mp_media_info_list_create(&svc_handle, MP_TRACK_ALL, NULL, NULL, NULL, 0, 0, count);
+ MP_CHECK(svc_handle);
+ int index = 0;
+ for (index = 0; index < SUGGEST_TRACK_RANDOM_COUNT; index++) {
+ int offset = rand() % count;
+ char *path = NULL;
+ DEBUG_TRACE("Offset is %d", offset);
+
+ mp_media_info_h item = NULL;
+ item = mp_media_info_list_nth_item(svc_handle, offset);
+ MP_CHECK(item);
+ mp_media_info_get_file_path(item, &path);
+ if ((!strcmp(path, cur_path)) || (path == NULL) || (offset == prev_index)) {
+ continue;
+ }
+ prev_index = offset;
+ sel_list = g_list_append(sel_list, path);
+
+ }
+
+ }
+ view->suggest_list = sel_list;
+}
+
+static void _mp_player_genre_method_get_data(MpPlayerView_t *view, char *path)
+{
+ MP_CHECK(view);
+ /*get the current track genre*/
+ GList *sel_list = NULL;
+ mp_media_info_h media_info = NULL;
+ char *genre = NULL;
+ mp_media_info_create_by_path(&media_info, path);
+ mp_media_info_get_genre(media_info, &genre);
+ view->genre_str = genre;
+ int count = 0;
+ int res = mp_media_info_list_count(MP_TRACK_BY_GENRE, view->genre_str, NULL, NULL, -1, &count);
+ MP_CHECK(res == 0);
+ DEBUG_TRACE("count is %d", count);
+
+
+ /*get data from DB*/
+ mp_media_list_h svc_handle = NULL;
+ mp_media_info_list_create(&svc_handle, MP_TRACK_BY_GENRE, view->genre_str, NULL, NULL, 0, 0, count);
+ MP_CHECK(svc_handle);
+
+ count = count > (SUGGEST_TRACK_MAX_COUNT+1) ? (SUGGEST_TRACK_MAX_COUNT+1) : count;
+ view->suggest_count = count;
+ int index = 0;
+ for (index = 0; index < view->suggest_count; index++) {
+ char *path = NULL;
+ mp_media_info_h item = NULL;
+ item = mp_media_info_list_nth_item(svc_handle, index);
+ MP_CHECK(item);
+ mp_media_info_get_file_path(item, &path);
+ sel_list = g_list_append(sel_list, path);
+
+ }
+ view->suggest_list = sel_list;
+
+}
+
+static void _mp_player_view_suggestion_album_append(MpPlayerView_t *view, char *cur_path)
+{
+ MP_CHECK(view);
+ MP_CHECK(cur_path);
+ /*clear layout*/
+ Evas_Object *no_item = elm_object_part_content_unset(view->player_view_layout, "suggest_default_area");
+ Evas_Object *item_image = elm_object_part_content_unset(view->player_view_layout, "suggest_song_area");
+ mp_evas_object_del(no_item);
+ mp_evas_object_del(item_image);
+ edje_object_signal_emit(elm_layout_edje_get(view->player_view_layout), "elm,state,text,hidden", "*");
+
+ /*no suggestion album case*/
+ if ((!view->suggest_list) || (g_list_length(view->suggest_list) < SUGGEST_TRACK_MIN_COUNT)) {
+ Evas_Object *icon = NULL;
+ icon = elm_icon_add(view->player_view_layout);
+ MP_CHECK(icon);
+ elm_image_file_set(icon, IMAGE_EDJ_NAME, MP_ICON_NO_ITEM);
+ elm_object_part_content_set(view->player_view_layout, "suggest_default_area", icon);
+ mp_util_domain_translatable_part_text_set(view->player_view_layout, "help_text", STR_MP_AFTER_YOU_DOWNLOAD_TRACKS);
+ edje_object_signal_emit(elm_layout_edje_get(view->player_view_layout), "elm,state,text,shown", "*");
+ } else {
+ /*create gengrid*/
+ _mp_player_view_genrid_create(view);
+ MP_CHECK(view->gengrid);
+ MP_CHECK(view->gic);
+ int index = 0;
+ char *path = NULL;
+
+ GList *node = g_list_first(view->suggest_list);
+ while (node) {
+ path = node->data;
+ node = g_list_next(node);
+ mp_media_info_h item = NULL;
+ mp_media_info_create_by_path(&item, path);
+
+ /*remove the same track or path not exist*/
+ if ((!strcmp(path, cur_path)) || (path == NULL) || (!item)) {
+ continue;
+ }
+
+ mp_list_item_data_t *item_data = calloc(1, sizeof(mp_list_item_data_t));
+ MP_CHECK(item_data);
+ item_data->handle = item;
+ item_data->index = index++;
+ item_data->it = elm_gengrid_item_append(view->gengrid, view->gic, item_data,
+ _mp_player_view_gengrid_item_select_cb, item_data);
+ }
+ }
+}
+
+
+static void _mp_player_view_current_track_info_set(MpPlayerView_t *view)
+{
+ MP_CHECK(view);
+
+ char *title = NULL;
+ char *artist = NULL;
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ 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 : ""));
+ elm_object_part_text_set(view->player_view_layout, "artist_name", artist);
+
+ char *text_format = "<align=center><font_size=%d><color=#%s><color_class=%s>%s</color_class></color></font_size></align>";
+ char *text = g_strdup_printf(text_format, 28, "FFFFFFFF", "ATO022", title);
+ view->label = mp_widget_slide_title_create(view->player_view_layout, "slide_roll", text);
+
+ if (view->label) {
+ elm_object_part_content_set(view->player_view_layout, "song_name", view->label);
+ if (ad->is_lcd_off)
+ elm_label_slide_mode_set(view->label, ELM_LABEL_SLIDE_MODE_NONE);
+ else
+ elm_label_slide_mode_set(view->label, ELM_LABEL_SLIDE_MODE_AUTO);
+ elm_label_slide_go(view->label);
+ }
+
+ IF_G_FREE(title);
+ IF_G_FREE(artist);
+ IF_G_FREE(text);
+}
+#endif
+#endif
+
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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)
+{
+ Evas_Object *ev_obj = 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;
+
+ 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);
+ 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);
+}
+
+
+#ifdef MP_FEATURE_ADD_TO_HOME
+static char *_mp_media_info_get_live_auto_playlist_icon_by_name(const char *name)
+{
+ MP_CHECK_VAL(name, NULL);
+
+ char *icon_path = NULL;
+
+ if (!g_strcmp0(name, STR_MP_FAVOURITES))
+ icon_path = LIVE_ICON_QUICK_LIST;
+ else if (!g_strcmp0(name, STR_MP_RECENTLY_PLAYED))
+ icon_path = LIVE_ICON_RECENTLY_PLAYED;
+ else if (!g_strcmp0(name, STR_MP_RECENTLY_ADDED))
+ icon_path = LIVE_ICON_RECENTLY_ADDED;
+ else if (!g_strcmp0(name, STR_MP_MOST_PLAYED))
+ icon_path = LIVE_ICON_MOST_PLAYED;
+
+ return icon_path;
+}
+
+static char *_mp_media_info_get_live_auto_playlist_thumbnail_by_name(const char *name)
+{
+ MP_CHECK_VAL(name, NULL);
+
+ char *thumb_path = NULL;
+
+ if (!g_strcmp0(name, STR_MP_FAVOURITES))
+ thumb_path = LIVE_THUMBNAIL_QUICK_LIST;
+ else if (!g_strcmp0(name, STR_MP_RECENTLY_PLAYED))
+ thumb_path = LIVE_THUMBNAIL_RECENTLY_PLAYED;
+ else if (!g_strcmp0(name, STR_MP_RECENTLY_ADDED))
+ thumb_path = LIVE_THUMBNAIL_RECENTLY_ADDED;
+ else if (!g_strcmp0(name, STR_MP_MOST_PLAYED))
+ thumb_path = LIVE_THUMBNAIL_MOST_PLAYED;
+
+ return thumb_path;
+}
+
+static void
+_mp_playlist_detail_add_to_home_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);
+
+ int type = 0;
+ void *name = NULL;
+ const char *extra1 = NULL;
+ const char *extra2 = NULL;
+
+ if (view->p_id < 0) {
+ type = MP_ADD_TO_HOME_SHORTCUT_TYPE_SYS_PLAYLIST;
+ name = (void *)view->name;
+ extra1 = _mp_media_info_get_live_auto_playlist_thumbnail_by_name(view->name);
+ extra2 = _mp_media_info_get_live_auto_playlist_icon_by_name(view->name);
+ } else {
+ type = MP_ADD_TO_HOME_SHORTCUT_TYPE_USER_PLAYLIST;
+ name = (void *)view->p_id;
+ }
+ mp_menu_add_to_home(type, name, (void *)extra1, (void *)extra2);
+}
+#endif
+
+#ifdef MP_FEATURE_EDIT_PLAYLIST_IMAGE
+static void
+_mp_playlist_list_take_picture_button_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ eventfunc;
+ MpPlaylistDetailView_t *view = (MpPlaylistDetailView_t *)data;
+ MP_CHECK(view);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ mp_popup_destroy(ad);
+
+ int ret = mp_ug_camera_take_picture(mp_list_get_playlist_handle(view->content_to_show));
+ if (ret != 0)
+ ERROR_TRACE("taken picture failed");
+}
+
+static void
+_mp_playlist_list_change_image_button_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ eventfunc;
+ MpPlaylistDetailView_t *view = (MpPlaylistDetailView_t *)data;
+ MP_CHECK(view);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ mp_popup_destroy(ad);
+
+ int ret = mp_ug_gallery_get_picture(mp_list_get_playlist_handle(view->content_to_show));
+ if (ret != 0)
+ ERROR_TRACE("taken picture failed");
+
+}
+
+static void
+_mp_playlist_detail_edit_image_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ eventfunc;
+ MpPlaylistDetailView_t *view = (MpPlaylistDetailView_t *)data;
+ MP_CHECK(view);
+ Evas_Object *popup = NULL;
+
+ mp_evas_object_del(view->more_btn_ctxpopup);
+
+ struct appdata *ad = mp_util_get_appdata();
+ popup = mp_genlist_popup_create(obj, MP_POPUP_EDIT_IMAGE, ad, ad);
+ MP_CHECK(popup);
+
+ Evas_Object *genlist = evas_object_data_get(popup, "genlist");
+ MP_CHECK(genlist);
+
+ mp_genlist_popup_item_append(popup, GET_STR(STR_MP_TAKE_PICTURE), NULL, NULL, NULL,
+ _mp_playlist_list_take_picture_button_cb, data);
+ mp_genlist_popup_item_append(popup, GET_STR(STR_MP_CHANGE_IMAGE), NULL, NULL, NULL,
+ _mp_playlist_list_change_image_button_cb, data);
+
+ evas_object_show(popup);
+
+ return;
+}
+#endif
+
+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);
+
+#ifdef MP_FEATURE_SHARE
+ if (mp_list_get_editable_count(view->content_to_show, MP_LIST_EDIT_TYPE_SHARE)) {
+ /*share*/
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_SHARE, MP_PLAYER_MORE_BTN_SHARE, mp_common_share_cb, view);
+ }
+#endif
+
+ 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);
+ }
+
+#ifdef MP_FEATURE_CLOUD
+ /*cloud */
+ int is_on = false;
+ mp_cloud_is_on(&is_on);
+ if (is_on) {
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_VIEW, MP_PLAYER_MORE_BTN_VIEW, mp_common_cloud_view_cb, view);
+
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_MAKE_AVAILABLE_OFFLINE, MP_PLAYER_MORE_BTN_MAKE_AVAILABLE_OFFICE, mp_common_ctxpopup_make_offline_cb, view);
+ }
+#endif
+
+ 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);
+ }
+
+#ifdef MP_FEATURE_EDIT_PLAYLIST_IMAGE
+ /*edit image*/
+ if (view->p_id >= 0) {
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_EDIT_IMAGE, MP_PLAYER_MORE_BTN_EDIT_IMAGE, _mp_playlist_detail_edit_image_cb, view);
+ }
+#endif
+
+ 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);
+ }
+
+ /*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_ctxpopup_item_append(view->more_btn_ctxpopup,
+ GET_SYS_STR(STR_MP_END), MP_PLAYER_MORE_BTN_VIEW_END, mp_common_ctxpopup_end_cb, view);
+*/
+
+ 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);
+
+ /*
+ if (view->list_type == MP_TRACK_BY_PLAYLIST) {
+ mp_list_set_reorder((MpList_t *)view->content_to_show, TRUE);
+
+ }
+ */
+ 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_back_cb(void *data, Elm_Object_Item *it)
+{
+ eventfunc;
+ MpPlaylistDetailView_t *view = (MpPlaylistDetailView_t *) data;
+ MP_CHECK_VAL(view, EINA_TRUE);
+
+ MpTrackList_t *track_list = (MpTrackList_t *)view->content_to_show;
+ MP_CHECK_VAL(track_list, EINA_TRUE);
+
+ ERROR_TRACE("track_list->reorderable = %d",track_list->reorderable);
+
+ if (track_list->reorderable == 1) {
+ mp_list_set_reorder((MpList_t *)track_list, FALSE);
+ }
+
+ 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);
+ mp_view_mgr_post_event(GET_VIEW_MGR, MP_UPDATE_FAVORITE_LIST);
+ }
+ return EINA_TRUE;
+}*/
+
+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);
+
+ /* update the first controlbar item */
+ /* mp_view_manager_update_first_controlbar_item(layout_data);*/
+ 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_track_list_set_data((MpTrackList_t *)view->content_to_show, MP_TRACK_LIST_INDEX_TYPE, MP_TRACK_LIST_INDEX_ALBUM_ART_LIST, -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;
+ }
+#ifdef MP_FEATURE_LANDSCAPE
+ case MP_VIEW_ROTATE:
+ {
+ Evas_Object *content = NULL;
+ content = elm_object_part_content_unset(view->playlist_detail_view_layout, "list-content");
+ evas_object_del(content);
+ /*the selected track can not be removed when screen rotated*/
+ mp_track_list_update_genlist(view->content_to_show);
+ /*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);
+ }
+
+ mp_view_set_nowplaying(thiz);
+ break;
+ }
+#endif
+#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;
+}
+
+#ifdef MP_FEATURE_LANDSCAPE
+static void _mp_playlist_detail_view_rotate_cb(void *thiz, int randscape)
+{
+ startfunc;
+
+ DEBUG_TRACE("playlist_detail_view rotated");
+ MpPlaylistDetailView_t *view = thiz;
+ MP_CHECK(view);
+
+ _mp_playlist_detail_view_on_event_cb(view, MP_VIEW_ROTATE);
+ endfunc;
+}
+#endif
+
+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;
+#ifdef MP_FEATURE_LANDSCAPE
+ view->rotate = _mp_playlist_detail_view_rotate_cb;
+#endif
+
+ /*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) 2000-2015 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);
+
+ ad->del_cb_invoked = 0;
+ 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;
+ }
+ 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();
+ if (ad->sip_state) {
+ elm_object_focus_allow_set(
+ mp_search_entry_get(view->search_bar),
+ EINA_TRUE);
+ } else {
+ elm_object_focus_allow_set(
+ mp_search_entry_get(view->search_bar),
+ EINA_FALSE);
+ }
+ }
+ }
+ break;
+ default:
+ break;
+ }
+}
+
+#ifdef MP_FEATURE_LANDSCAPE
+static void
+_mp_search_view_rotate_cb(void *thiz, int randscape)
+{
+ DEBUG_TRACE("Serach view rotated");
+ MpSearchView_t *view = thiz;
+ MP_CHECK(view);
+
+ if (mp_util_get_sip_state() && (int)mp_view_mgr_get_top_view
+ (GET_VIEW_MGR) == (int)view)
+ _mp_search_view_on_event_cb(view, MP_SIP_STATE_CHANGED);
+}
+#endif
+
+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 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;
+#ifdef MP_FEATURE_LANDSCAPE
+ view->rotate = _mp_search_view_rotate_cb;
+#endif
+
+ 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);
+
+ edje_object_signal_callback_add(_EDJ(view->search_base_layout),
+ "elm,action,click", "back_button",
+ _mp_search_view_back_button_clicked, 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) 2000-2015 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);
+ mp_util_create_selectioninfo_with_count((MpView_t *)view, mp_list_get_checked_count((MpList_t *)view->content_to_show));
+
+ 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) 2000-2015 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);
+ 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();
+ 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);
+}
+
+#ifdef MP_FEATURE_LANDSCAPE
+static void
+_mp_set_as_view_rotate_cb(void *thiz, int randscape)
+{
+ startfunc;
+ MpSetAsView_t *view = (MpSetAsView_t *)thiz;
+ MP_CHECK(view);
+
+ elm_genlist_realized_items_update(view->content);
+ /*_mp_set_as_view_moved_recommended_time(view);
+ add idler to move text */
+ if (view->move_idler == NULL)
+ view->move_idler = ecore_idler_add(_move_idler, view);
+}
+#endif
+
+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;
+#ifdef MP_FEATURE_LANDSCAPE
+ view->rotate = _mp_set_as_view_rotate_cb;
+#endif
+ 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) 2000-2015 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 "ms-eq-view.h"
+#include "ms-effect-view.h"
+#include "music.h"
+#include "ms-util.h"
+#include "ms-auto-off.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-play-speed.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 ELM_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);
+ }
+
+ /* evas_object_smart_callback_add(genlist, "expanded",
+ _gl_exp, genlist);
+ evas_object_smart_callback_add(genlist, "contracted",
+ _gl_con, genlist); */
+}
+
+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);
+}
+
+#ifdef MP_FEATURE_LANDSCAPE
+static void
+_mp_setting_view_rotate(void *thiz, int init_rotate)
+{
+ DEBUG_TRACE("mp_player rotated %d", init_rotate);
+ MpSettingView_t *view = thiz;
+ MP_CHECK(view);
+}
+#endif
+
+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 index[TAB_COUNT] = {0}; */
+ 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];
+ 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;
+ 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);
+
+ 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;
+
+ int index = 0;
+ 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,
+ ELM_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;
+
+ 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, 0, NULL,
+ ELM_GENLIST_ITEM_NONE, _lyrics_state_on_cb, (mp_setting_lyric_popup *)ly_popup);
+ elm_genlist_item_append(genlist, itc, 1, 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;
+#ifdef MP_FEATURE_LANDSCAPE
+ view->rotate = _mp_setting_view_rotate;
+#endif
+
+ 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) 2000-2015 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-square-view-new.h"
+#include "mp-square-mgr.h"
+#include "mp-widget.h"
+#include "mp-util.h"
+#include "mp-popup.h"
+#include "mp-setting-ctrl.h"
+#include "mp-play.h"
+#include "mp-player-view.h"
+#include "mp-square-playlist-view.h"
+#include "mp-common.h"
+#include <player.h>
+#include "mp-player-mgr.h"
+
+
+typedef struct {
+ Elm_Object_Item *it;
+ MpSquareView_t *view;
+ mp_square_position_t position;
+ bool b_seleted;
+} mp_square_gengrid_item_data_t;
+
+typedef struct {
+ Elm_Object_Item *it;
+ MpSquareView_t *view;
+
+ Evas_Object *radio_main;
+ int index;
+} mp_square_popup_item_data_t;
+
+static int square_normal_color[MP_SQUARE_CELLS_COUNT] = {250, 238, 67, 255,
+ 247, 200, 69, 255,
+ 237, 140, 66, 255,
+ 232, 104, 65, 255,
+ 232, 81, 81, 255,
+ 227, 230, 64, 255,
+ 235, 217, 164, 255,
+ 240, 182, 105, 255,
+ 240, 137, 105, 255,
+ 229, 90, 99, 255,
+ 187, 222, 113, 255,
+ 182, 235, 164, 255,
+ 152, 217, 157, 255,
+ 227, 150, 179, 255,
+ 209, 92, 145, 255,
+ 144, 222, 102, 255,
+ 129, 222, 220, 255,
+ 144, 196, 224, 255,
+ 134, 151, 217, 255,
+ 135, 113, 191, 255,
+ 90, 199, 97, 255,
+ 111, 203, 217, 255,
+ 75, 166, 189, 255,
+ 76, 125, 153, 255,
+ 90, 115, 156, 255};
+
+int popup_flag = 1;
+static void _mp_square_view_library_update_btn_cb(void *data, Evas_Object *obj, void *event_info);
+static void _mp_square_view_reader_on_mouse_down(void *data, Evas_Object *obj, Elm_Object_Item *item);
+static void _mp_square_view_help_btn_cb(void *data, Evas_Object *obj, void *event_info);
+
+static void
+_mp_square_view_position_list_free(GList *list)
+{
+ DEBUG_TRACE_FUNC();
+
+ MP_CHECK(list);
+
+ mp_square_position_t *item = NULL;
+ int count = g_list_length(list);
+ int i = 0;
+ for (i = 0; i < count; i++) {
+ item = g_list_nth_data(list, i);
+ if (item != NULL)
+ free(item);
+ }
+}
+
+static void
+_mp_square_view_music_list_free(GList *list)
+{
+ DEBUG_TRACE_FUNC();
+
+ MP_CHECK(list);
+
+ mp_square_item_t *item = NULL;
+ int count = g_list_length(list);
+ int i = 0;
+ for (i = 0; i < count; i++) {
+ item = g_list_nth_data(list, i);
+ if (item != NULL)
+ free(item);
+ }
+}
+
+static void
+_mp_square_view_position_list_clear(GList **list)
+{
+ DEBUG_TRACE_FUNC();
+
+ MP_CHECK(list);
+
+ _mp_square_view_position_list_free(*list);
+ *list = NULL;
+}
+
+static void
+_mp_square_view_music_list_clear(GList **list)
+{
+ DEBUG_TRACE_FUNC();
+
+ MP_CHECK(list);
+
+ _mp_square_view_music_list_free(*list);
+ *list = NULL;
+}
+
+static inline void
+_mp_square_view_new_set_upper_text(Evas_Object *layout, const char *part, const char *text)
+{
+ MP_CHECK(layout);
+
+ char *upper_text = g_utf8_strup(GET_STR(text), -1);
+ mp_util_domain_translatable_part_text_set(layout, part, (const char *)upper_text);
+ SAFE_FREE(upper_text);
+}
+
+static void
+_mp_square_view_new_gengrid_title_set(MpSquareView_t *view)
+{
+ DEBUG_TRACE_FUNC();
+ MP_CHECK(view);
+ MP_CHECK(view->square_layout);
+
+ const char *top = NULL;
+ const char *bottom = NULL;
+ const char *left = NULL;
+ const char *right = NULL;
+
+ if (view->type == MP_SQUARE_TYPE_MOOD) {
+ top = STR_EXCITING;
+ bottom = STR_CALM;
+ left = STR_PASSION;
+ right = STR_JOY;
+ } else if (view->type == MP_SQUARE_TYPE_YEAR) {
+ top = STR_EXCITING;
+ bottom = STR_CALM;
+ left = STR_OLD;
+ right = STR_NEW_FOR_SQUARE;
+ } else if (view->type == MP_SQUARE_TYPE_ADDED) {
+ top = STR_EXCITING;
+ bottom = STR_CALM;
+ left = STR_PREVIOUSLY_ADDED;
+ right = STR_RECENTLY_ADDED;
+ } else {
+ top = STR_PREVIOUSLY_ADDED;
+ bottom = STR_RECENTLY_ADDED;
+ left = STR_OLD;
+ right = STR_NEW_FOR_SQUARE;
+ }
+
+ _mp_square_view_new_set_upper_text(view->square_layout, "title_top", top);
+ _mp_square_view_new_set_upper_text(view->square_layout, "title_bottom", bottom);
+ _mp_square_view_new_set_upper_text(view->square_layout, "title_left", left);
+ _mp_square_view_new_set_upper_text(view->square_layout, "title_right", right);
+}
+
+static mp_square_item_t*
+_mp_square_view_current_playing_music_item_get(MpSquareView_t *view)
+{
+ DEBUG_TRACE_FUNC();
+
+ MP_CHECK_NULL(view);
+ MP_CHECK_NULL(view->music_list);
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_NULL(ad);
+
+ mp_plst_item *cur_playing_music = mp_playlist_mgr_get_current(ad->playlist_mgr);
+ MP_CHECK_NULL(cur_playing_music);
+
+ mp_square_item_t *item = NULL;
+ int count = g_list_length(view->music_list);
+ int i = 0;
+ for (i = 0; i < count; i++) {
+ item = g_list_nth_data(view->music_list, i);
+ if (item != NULL) {
+ if (!strcmp(item->path, cur_playing_music->uri))
+ return item;
+ }
+ }
+
+ return NULL;
+}
+
+static void
+_mp_square_view_current_play_list_create(MpSquareView_t *view)
+{
+ DEBUG_TRACE_FUNC();
+
+ int index;
+ MP_CHECK(view);
+ MP_CHECK(view->music_list);
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ GList *list_music = view->music_list;
+ for (index = 0; index < g_list_length(list_music); index++) {
+ mp_square_item_t *item = (mp_square_item_t *)g_list_nth_data(list_music, index);
+ if (!item) continue;
+
+ char *media_id = NULL;
+ char *title = NULL;
+ char *artist = NULL;
+
+ mp_media_info_h media_info = NULL;
+ mp_media_info_create_by_path(&media_info, item->path);
+ mp_media_info_get_media_id(media_info, &media_id);
+ mp_media_info_get_title(media_info, &title);
+ mp_media_info_get_artist(media_info, &artist);
+
+ mp_playlist_mgr_item_append(ad->playlist_mgr, item->path, media_id, title, artist, MP_TRACK_URI);
+
+ if (media_info) {
+ mp_media_info_destroy(media_info);
+ media_info = NULL;
+ }
+ }
+
+ mp_playlist_mgr_set_current(ad->playlist_mgr, mp_playlist_mgr_get_current(ad->playlist_mgr));
+ mp_playlist_mgr_set_list_type(ad->playlist_mgr, MP_PLST_TYPE_MUSIC_SQUARE);
+}
+
+static void
+_mp_square_view_selected_musics_get(MpSquareView_t *view)
+{
+ DEBUG_TRACE_FUNC();
+
+ MP_CHECK(view);
+ MP_CHECK(view->pos_list);
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ /* clear selected musics of last time */
+ if (view->music_list != NULL) {
+ _mp_square_view_music_list_free(view->music_list);
+ view->music_list = NULL;
+ }
+
+ mp_square_mgr_records_get_by_type_and_positions(
+ ad->square_mgr,
+ view->type,
+ view->pos_list,
+ &view->music_list);
+}
+
+static void
+_mp_square_view_library_empty_popup_response_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ DEBUG_TRACE_FUNC();
+
+ MP_CHECK(obj);
+ Evas_Object *popup = obj;
+ mp_evas_object_del(popup);
+}
+
+static void
+_mp_square_view_library_empty_popup_create(MpSquareView_t *view)
+{
+ MP_CHECK(view);
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ /* create popup */
+ Evas_Object *popup = NULL;
+ popup = mp_popup_create(ad->win_main,
+ MP_POPUP_NORMAL,
+ NULL,
+ view,
+ _mp_square_view_library_empty_popup_response_cb, ad);
+
+ evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ char *text = g_strconcat("<align=center>", GET_STR("IDS_MUSIC_POP_NO_MUSIC_FOUND_FOR_SELECTED_CELL"), "</align>", NULL);
+ mp_util_domain_translatable_text_set(popup, text);
+ mp_popup_button_set(popup, MP_POPUP_BTN_1, "IDS_COM_SK_OK", MP_POPUP_YES);
+
+ evas_object_show(popup);
+ IF_FREE(text);
+}
+
+static bool
+_mp_square_view_gengrid_item_is_selected(MpSquareView_t *view, mp_square_position_t *position)
+{
+ DEBUG_TRACE_FUNC();
+ MP_CHECK_FALSE(view);
+ MP_CHECK_FALSE(view->pos_list);
+
+ GList *list = view->pos_list;
+ mp_square_position_t *pos = NULL;
+
+ int count = g_list_length(list);
+ int i = 0;
+
+ for (i = 0; i < count; i++) {
+ pos = g_list_nth_data(list, i);
+ if (pos != NULL) {
+ if (pos->x == position->x && pos->y == position->y)
+ /*mp_debug("[%d,%d] selected", pos->x, pos->y);*/
+ return true;
+ }
+ }
+
+ return false;
+}
+
+static Evas_Object*
+_mp_square_view_gengrid_item_content_get(void *data, Evas_Object *obj, const char *part)
+{
+ MP_CHECK_NULL(data);
+ mp_square_gengrid_item_data_t *item_data = (mp_square_gengrid_item_data_t *)data;
+ MpSquareView_t *view = item_data->view;
+ char *title = NULL;
+
+ if (!g_strcmp0(part, "elm.swallow.icon")) {
+ Evas_Object *icon = NULL;
+
+ bool show_thumnail = false;
+ if (view->now_playing_position.x == item_data->position.x
+ && view->now_playing_position.y == item_data->position.y) {
+ mp_debug("now playing cell = [%d, %d]", item_data->position.x, item_data->position.y);
+ show_thumnail = true;
+ } else {
+ mp_square_item_t *item = view->current_item;
+ if (item) {
+ if (item->pos.x == item_data->position.x && item->pos.y == item_data->position.y)
+ show_thumnail = true;
+ }
+ }
+
+ /*ERROR_TRACE("show_thumnail %d, item_data->b_seleted &d",show_thumnail, item_data->b_seleted);*/
+
+ if (show_thumnail) {
+ icon = mp_common_load_edj(obj, MP_EDJ_NAME, "square_focused_cell");
+ Evas_Object *img = elm_image_add(icon);
+ elm_object_part_content_set(icon, "elm.swallow.content", img);
+
+ char *albumart = NULL;
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_NULL(ad);
+ mp_track_info_t *cur_playing_music = ad->current_track_info;
+ MP_CHECK_NULL(cur_playing_music);
+
+ title = cur_playing_music->title;
+ albumart = cur_playing_music->thumbnail_path;
+
+ if (mp_util_is_image_valid(ad->evas, albumart)) {
+
+ elm_image_file_set(img, albumart, NULL);
+ } else {
+ elm_image_file_set(img, DEFAULT_THUMBNAIL, NULL);
+ }
+ } else if (item_data->b_seleted) {
+ icon = elm_image_add(obj);
+#ifdef MP_FEATURE_LANDSCAPE
+ if (mp_util_is_landscape()) {
+ elm_image_file_set(icon, IMAGE_EDJ_NAME, MP_ICON_SQUARE_CELL_SELECTED_LD);
+ } else
+#endif
+ elm_image_file_set(icon, IMAGE_EDJ_NAME, MP_ICON_SQUARE_CELL_SELECTED);
+
+ } else {
+ icon = elm_image_add(obj);
+#ifdef MP_FEATURE_LANDSCAPE
+ if (mp_util_is_landscape())
+ elm_image_file_set(icon, IMAGE_EDJ_NAME, MP_ICON_SQUARE_CELL_NORMAL_LD);
+ else
+#endif
+ elm_image_file_set(icon, IMAGE_EDJ_NAME, MP_ICON_SQUARE_CELL_NORMAL);
+ int item_pos = MP_SQUARE_AXIS_X_LEN * (item_data->position.y-1) + item_data->position.x - 1;
+ evas_object_color_set(icon, square_normal_color[item_pos * 1], square_normal_color[item_pos * 2], square_normal_color[item_pos * 3], square_normal_color[item_pos * 4]);
+ }
+
+ mp_screen_reader_set_list_item_info(item_data->it, NULL, NULL, NULL, _mp_square_view_reader_on_mouse_down, item_data);
+
+ /* Set the property of gengrid */
+ Evas_Coord icon_w = 0;
+ Evas_Coord icon_h = 0;
+
+ elm_gengrid_item_size_get(view->gengrid, &icon_w, &icon_h);
+ evas_object_size_hint_max_set(icon, icon_w, icon_h);
+ evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
+ evas_object_size_hint_weight_set(icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(icon, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_show(icon);
+ return icon;
+ }
+
+ return NULL;
+}
+
+static void
+_mp_square_view_gengrid_item_del_cb(void *data, Evas_Object *obj)
+{
+ DEBUG_TRACE_FUNC();
+
+ mp_square_gengrid_item_data_t *item_data = data;
+ SAFE_FREE(item_data);
+}
+
+static void
+_mp_square_view_gengrid_item_sel_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ DEBUG_TRACE_FUNC();
+ MP_CHECK(data);
+ mp_square_gengrid_item_data_t *item_data = (mp_square_gengrid_item_data_t *)data;
+
+ MpSquareView_t *view = item_data->view;
+ MP_CHECK(view);
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ /* square library is not inited */
+ if (ad->square_mgr == NULL) {
+ _mp_square_view_library_empty_popup_create(view);
+ return;
+ }
+
+ item_data->b_seleted = !item_data->b_seleted;
+ elm_gengrid_item_update(item_data->it);
+}
+
+
+static void
+_mp_square_view_gengrid_items_load(MpSquareView_t *view)
+{
+ DEBUG_TRACE_FUNC();
+ MP_CHECK(view);
+ MP_CHECK(view->gengrid);
+
+ static Elm_Gengrid_Item_Class gic = { 0, };
+
+ gic.item_style = "music/grid_square";
+ gic.func.content_get = _mp_square_view_gengrid_item_content_get;
+ gic.func.del = _mp_square_view_gengrid_item_del_cb;
+
+ int index = 0;
+ for (index = 0; index < MP_SQUARE_CELLS_COUNT; index++) {
+ mp_square_gengrid_item_data_t *item_data = calloc(1, sizeof(mp_square_gengrid_item_data_t));
+ item_data->view = view;
+ item_data->position.x = index%MP_SQUARE_AXIS_Y_LEN+1;
+ item_data->position.y = index/MP_SQUARE_AXIS_X_LEN+1;
+ item_data->b_seleted = _mp_square_view_gengrid_item_is_selected(view, &(item_data->position));
+
+ item_data->it = elm_gengrid_item_append(view->gengrid,
+ &gic,
+ item_data,
+ _mp_square_view_gengrid_item_sel_cb,
+ item_data);
+ }
+}
+
+static void
+_mp_square_view_gengrid_items_state_reset(MpSquareView_t *view)
+{
+ DEBUG_TRACE_FUNC();
+ MP_CHECK(view);
+ MP_CHECK(view->gengrid);
+
+ Elm_Object_Item *it;
+ mp_square_gengrid_item_data_t *data = NULL;
+
+ it = elm_gengrid_first_item_get(view->gengrid);
+ while (it) {
+ data = (mp_square_gengrid_item_data_t *)elm_object_item_data_get(it);
+ data->b_seleted = false;
+ it = elm_gengrid_item_next_get(it);
+ }
+ elm_gengrid_realized_items_update(view->gengrid);
+}
+
+static void
+_mp_square_view_gengrid_reset(MpSquareView_t *view)
+{
+ startfunc;
+ MP_CHECK(view);
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ _mp_square_view_gengrid_items_state_reset(view);
+
+ if (view->pos_list != NULL)
+ _mp_square_view_position_list_clear(&(view->pos_list));
+
+ if (view->music_list != NULL)
+ _mp_square_view_music_list_clear(&(view->music_list));
+
+ endfunc;
+}
+
+static void
+_mp_square_view_update_alarm_popup_response_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ MpSquareView_t *view = data;
+ MP_CHECK(view);
+ mp_evas_object_del(view->popup);
+ view->popup_status = FALSE;
+ popup_flag = 0;
+
+ int response = (int)event_info;
+ mp_debug("response = %d", response);
+
+ if (response) {
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ int db_count = 0;
+ int square_count = 0;
+ mp_media_info_list_count(MP_TRACK_ALL, NULL, NULL, NULL, 0, &db_count);
+ mp_square_mgr_records_count_get(ad->square_mgr, &square_count);
+ if (db_count != square_count)
+ _mp_square_view_library_update_btn_cb(view, NULL, NULL);
+ }
+}
+
+static void
+_mp_square_view_alarm_check_clicked_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ Eina_Bool state = elm_check_state_get(obj);
+ DEBUG_TRACE("Check [%d]", state);
+
+ if (preference_set_boolean(KEY_MUSIC_SQUARE_ASKED, state) != 0) {
+ mp_error("fail to set Preference");
+ }
+}
+
+static void
+_mp_square_view_show_update_alarm_popup(MpSquareView_t *view)
+{
+ startfunc;
+ bool asked = true;
+ preference_get_boolean(KEY_MUSIC_SQUARE_ASKED, &asked);
+ if (asked)
+ return;
+
+ MP_CHECK(view);
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ Evas_Object *check = NULL;
+ Evas_Object *layout = NULL;
+ Evas_Object *label = NULL;
+
+ mp_evas_object_del(view->popup);
+
+ view->popup = mp_popup_create(ad->win_main, MP_POPUP_NORMAL, STR_MP_LIBRARY_UPDATE,
+ view, _mp_square_view_update_alarm_popup_response_cb, ad);
+ view->popup_status = TRUE;
+
+ label = elm_label_add(view->popup);
+ /*elm_object_style_set(label, "popup/default");*/
+ elm_label_line_wrap_set(label, ELM_WRAP_MIXED);
+ elm_object_text_set(label, GET_STR(STR_MP_SQUARE_LIBRARY_UPDATED_NEED));
+ 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);
+
+ layout = elm_layout_add(view->popup);
+ elm_layout_file_set(layout, MP_EDJ_NAME, "popup_library_update");
+ evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+
+ check = elm_check_add(view->popup);
+ evas_object_size_hint_align_set(check, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_size_hint_weight_set(check, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_show(check);
+ evas_object_smart_callback_add(check, "changed", _mp_square_view_alarm_check_clicked_cb, NULL);
+
+ elm_object_text_set(check, GET_STR(STR_MP_DO_NOT_SHOW_AGAIN));
+ elm_object_part_content_set(layout, "elm.swallow.content", label);
+ elm_object_part_content_set(layout, "elm.swallow.check", check);
+
+ evas_object_show(layout);
+ elm_object_content_set(view->popup, layout);
+
+ mp_popup_button_set(view->popup, MP_POPUP_BTN_1, "IDS_COM_SK_CANCEL", MP_POPUP_NO);
+ mp_popup_button_set(view->popup, MP_POPUP_BTN_2, "IDS_COM_SK_OK", MP_POPUP_YES);
+
+ evas_object_show(view->popup);
+}
+
+static void
+_mp_square_view_song_not_enough_popup_response_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ DEBUG_TRACE_FUNC();
+
+ MP_CHECK(obj);
+ Evas_Object *popup = obj;
+ mp_evas_object_del(popup);
+}
+
+static void
+_mp_square_view_song_not_enough_popup_create(MpSquareView_t *view)
+{
+ MP_CHECK(view);
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ /* create popup */
+ Evas_Object *popup = NULL;
+ popup = mp_popup_create(ad->win_main,
+ MP_POPUP_NORMAL,
+ NULL,
+ view,
+ _mp_square_view_song_not_enough_popup_response_cb, ad);
+
+ evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+
+ char *text = g_strdup_printf(GET_STR(STR_MP_SQUARE_NOT_ENOUGH_SONG_PD), 25);
+ if (text) {
+ elm_object_text_set(popup, text);
+ mp_popup_button_set(popup, MP_POPUP_BTN_1, "IDS_COM_SK_OK", MP_POPUP_YES);
+ evas_object_show(popup);
+ }
+ IF_FREE(text);
+}
+
+
+static void
+_mp_square_view_check_possible(MpSquareView_t *view)
+{
+ MP_CHECK(view);
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ MP_CHECK(ad->square_mgr);
+
+ int count = 0;
+ mp_media_info_list_count(MP_TRACK_ALL, NULL, NULL, NULL, 0, &count);
+ DEBUG_TRACE("count=%d", count);
+ if (count < 25) {
+ DEBUG_TRACE("need update library");
+ _mp_square_view_song_not_enough_popup_create(view);
+
+ } else if (view->popup_status) {
+ _mp_square_view_show_update_alarm_popup(view);
+ }
+}
+
+static Eina_Bool
+_mp_square_view_update_square(void *data)
+{
+ startfunc;
+ MpSquareView_t *view = (MpSquareView_t *)data;
+ MP_CHECK_VAL(view, ECORE_CALLBACK_CANCEL);
+ MP_CHECK_VAL(view->square_layout, ECORE_CALLBACK_CANCEL);
+
+ int w = 0;
+ int h = 0;
+ edje_object_part_geometry_get(_EDJ(view->square_layout), "gengrid", NULL, NULL, &w, &h);
+
+ if (view->gengrid) {
+ if (elm_gengrid_items_count(view->gengrid)) {
+ DEBUG_TRACE("Already done");
+ return ECORE_CALLBACK_DONE;
+ }
+ }
+
+ double scale_factor = 0.0;
+ scale_factor = elm_config_scale_get();
+ mp_debug("elm_config_scale_get =%f", scale_factor);
+ mp_debug("w: %d, h: %d, item_size: %d", w, h, (w/MP_SQUARE_AXIS_X_LEN));
+
+ elm_gengrid_item_size_set(view->gengrid, (w/MP_SQUARE_AXIS_X_LEN), (h/MP_SQUARE_AXIS_Y_LEN));
+
+ /* load square data */
+ _mp_square_view_gengrid_items_load(view);
+
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_VAL(ad, ECORE_CALLBACK_CANCEL);
+
+ if (ad->square_mgr == NULL) {
+ int ret = mp_square_mgr_create(ad);
+ if (ret != 0 || ad->square_mgr == NULL) {
+ mp_error("fail to create square mgr");
+ return ECORE_CALLBACK_CANCEL;
+ }
+ mp_view_update((MpView_t *)view);
+ }
+
+ if (popup_flag) {
+ _mp_square_view_check_possible(view);
+ }
+
+ endfunc;
+ return ECORE_CALLBACK_DONE;
+}
+
+static void
+_mp_square_view_gengrid_destroy_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+ startfunc;
+ MpSquareView_t *view = (MpSquareView_t *)data;
+ MP_CHECK(view);
+ view->gengrid = NULL;
+ endfunc;
+}
+
+static mp_square_gengrid_item_data_t*
+_mp_square_view_gengrid_item_get_by_mouse_position(MpSquareView_t *view, Evas_Position *pos)
+{
+ DEBUG_TRACE_FUNC();
+
+ MP_CHECK_NULL(view);
+ MP_CHECK_NULL(view->gengrid);
+ MP_CHECK_NULL(pos);
+
+ Elm_Object_Item *it = NULL;
+ mp_square_gengrid_item_data_t *item_data = NULL;
+ Evas_Object *item_content = NULL;
+
+ it = elm_gengrid_first_item_get(view->gengrid);
+ while (it) {
+ item_data = (mp_square_gengrid_item_data_t *)elm_object_item_data_get(it);
+ if (item_data != NULL) {
+ item_content = elm_object_item_part_content_get(it, "elm.swallow.icon");
+ if (item_content != NULL) {
+ int x, y, w, h;
+ evas_object_geometry_get(item_content, &x, &y, &w, &h);
+ if ((pos->output.x >= x) &&
+ (pos->output.x) <= (x + w) &&
+ (pos->output.y >= y) &&
+ (pos->output.y) <= (y + h)) {
+ return item_data;
+ }
+ }
+ }
+ it = elm_gengrid_item_next_get(it);
+ }
+
+ return NULL;
+}
+
+
+static void
+_mp_square_view_reader_on_mouse_down(void *data, Evas_Object *obj, Elm_Object_Item *item)
+{
+ DEBUG_TRACE_FUNC();
+
+ mp_square_gengrid_item_data_t *item_data = (mp_square_gengrid_item_data_t *)data;
+ MpSquareView_t *view = item_data->view;
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ /* square library is not inited */
+ if (ad->square_mgr == NULL) {
+ mp_square_mgr_create(ad);
+ MP_CHECK(ad->square_mgr);
+ }
+
+ view->b_mouse_down = true;
+
+ /* clear the selected cells position of last time */
+ if (view->pos_list != NULL) {
+ _mp_square_view_position_list_free(view->pos_list);
+ view->pos_list = NULL;
+ }
+
+ _mp_square_view_gengrid_items_state_reset(view);
+ mp_view_update((MpView_t *)view);
+
+ if (item_data->b_seleted)
+ return;
+
+ mp_square_position_t *position = calloc(1, sizeof(mp_square_position_t));
+ position->x = item_data->position.x;
+ position->y = item_data->position.y;
+
+ view->pos_list = g_list_append(view->pos_list, position);
+
+ item_data->b_seleted = true;
+ elm_gengrid_item_update(item_data->it);
+
+ view->b_mouse_down = false;
+
+ _mp_square_view_selected_musics_get(view);
+
+ if (view->music_list != NULL) {
+ if (view->screen_mode == MP_SCREEN_MODE_PORTRAIT) {
+ /* TODO: playlist genlist*/
+ /*mp_view_layout_update(view->layout_genlist);*/
+ }
+
+ if (!ad->playlist_mgr)
+ mp_common_create_playlist_mgr();
+ mp_playlist_mgr_clear(ad->playlist_mgr);
+ _mp_square_view_current_play_list_create(view);
+
+ mp_play_item_play_current_item(ad);
+ mp_view_update((MpView_t *)view);
+
+ } else {
+ _mp_square_view_library_empty_popup_create(view);
+ mp_view_update_options((MpView_t *)view);
+ }
+
+
+ }
+
+
+static void
+_mp_square_view_on_mouse_down(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+ DEBUG_TRACE_FUNC();
+ MpSquareView_t *view = (MpSquareView_t *)data;
+ MP_CHECK(view);
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ /* square library is not inited */
+ if (ad->square_mgr == NULL) {
+ mp_square_mgr_create(ad);
+ MP_CHECK(ad->square_mgr);
+ }
+
+ view->b_mouse_down = true;
+
+ /* clear the selected cells position of last time */
+ if (view->pos_list != NULL) {
+ _mp_square_view_position_list_free(view->pos_list);
+ view->pos_list = NULL;
+ }
+
+ _mp_square_view_gengrid_items_state_reset(view);
+
+ /* get cell item by mouse position */
+ Evas_Event_Mouse_Move *ev = (Evas_Event_Mouse_Move *)event_info;
+ mp_square_gengrid_item_data_t *item_data = NULL;
+ item_data = _mp_square_view_gengrid_item_get_by_mouse_position(view, &ev->cur);
+ MP_CHECK(item_data);
+
+ if (item_data->b_seleted)
+ return;
+
+ mp_square_position_t *position = calloc(1, sizeof(mp_square_position_t));
+ position->x = item_data->position.x;
+ position->y = item_data->position.y;
+
+ view->pos_list = g_list_append(view->pos_list, position);
+
+ item_data->b_seleted = true;
+ elm_gengrid_item_update(item_data->it);
+}
+
+static void
+_mp_square_view_on_mouse_move(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+ DEBUG_TRACE_FUNC();
+
+ MpSquareView_t *view = (MpSquareView_t *)data;
+ MP_CHECK(view);
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ /* square library is not inited */
+ if (ad->square_mgr == NULL) {
+ return;
+ }
+
+ if (view->b_mouse_down == false) {
+ return;
+ }
+
+ /* get cell item by mouse position */
+ Evas_Event_Mouse_Move *ev = (Evas_Event_Mouse_Move *)event_info;
+ mp_square_gengrid_item_data_t *item_data = NULL;
+ item_data = _mp_square_view_gengrid_item_get_by_mouse_position(view, &ev->cur);
+ MP_CHECK(item_data);
+
+ if (item_data->b_seleted)
+ return;
+
+ mp_square_position_t *position = calloc(1, sizeof(mp_square_position_t));
+ position->x = item_data->position.x;
+ position->y = item_data->position.y;
+
+ view->pos_list = g_list_append(view->pos_list, position);
+
+ item_data->b_seleted = true;
+ elm_gengrid_item_update(item_data->it);
+}
+
+static void
+_mp_square_view_on_mouse_up(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+ DEBUG_TRACE_FUNC();
+
+ MpSquareView_t *view = (MpSquareView_t *)data;
+ MP_CHECK(view);
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ /* square library is not inited */
+ if (ad->square_mgr == NULL) {
+ return;
+ }
+
+ view->b_mouse_down = false;
+
+ _mp_square_view_selected_musics_get(view);
+ view->current_item = _mp_square_view_current_playing_music_item_get(view);
+
+ if (view->music_list != NULL) {
+ if (view->screen_mode == MP_SCREEN_MODE_PORTRAIT) {
+ /* TODO: playlist genlist*/
+ /*mp_view_layout_update(view->layout_genlist);*/
+ }
+
+ if (!ad->playlist_mgr)
+ mp_common_create_playlist_mgr();
+ mp_playlist_mgr_clear(ad->playlist_mgr);
+ _mp_square_view_current_play_list_create(view);
+ mp_view_update((MpView_t *)view);
+
+ mp_common_show_player_view(MP_PLAYER_NORMAL, false, true, true);
+
+ } else {
+ elm_gengrid_realized_items_update(view->gengrid);
+ _mp_square_view_library_empty_popup_create(view);
+ mp_view_update_options((MpView_t *)view);
+ }
+}
+
+static void _mp_square_view_help_select_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
+{
+ MP_CHECK(data);
+ _mp_square_view_help_btn_cb(data, NULL, NULL);
+}
+
+
+static Evas_Object *
+_mp_square_view_new_content_create(void *thiz)
+{
+ DEBUG_TRACE_FUNC();
+ MpSquareView_t *view = (MpSquareView_t *)thiz;
+ MP_CHECK_NULL(view);
+
+ ERROR_TRACE("mp_util_is_landscape(): %d", mp_util_is_landscape());
+
+ if (mp_util_is_landscape()) {
+ view->square_layout = mp_common_load_edj(view->layout, PLAY_VIEW_EDJ_NAME, "mp_square_view_landscape");
+ } else {
+ view->square_layout = mp_common_load_edj(view->layout, PLAY_VIEW_EDJ_NAME, "mp_square_view");
+ }
+
+ MP_CHECK_NULL(view->square_layout);
+
+ mp_evas_object_del(view->gengrid);
+ view->gengrid = elm_gengrid_add(view->layout);
+ MP_CHECK_NULL(view->gengrid);
+
+ evas_object_event_callback_add(view->gengrid, EVAS_CALLBACK_DEL, _mp_square_view_gengrid_destroy_cb, view);
+ evas_object_event_callback_add(view->gengrid, EVAS_CALLBACK_MOUSE_DOWN, _mp_square_view_on_mouse_down, view);
+ evas_object_event_callback_add(view->gengrid, EVAS_CALLBACK_MOUSE_UP, _mp_square_view_on_mouse_up, view);
+ evas_object_event_callback_add(view->gengrid, EVAS_CALLBACK_MOUSE_MOVE, _mp_square_view_on_mouse_move, view);
+
+ elm_object_signal_callback_add(view->square_layout, "clicked", "elm", _mp_square_view_help_select_cb, view);
+
+ evas_object_show(view->gengrid);
+ elm_object_part_content_set(view->square_layout, "gengrid", view->gengrid);
+ return view->square_layout;
+}
+
+static void
+_mp_square_view_open_playlist_btn_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ eventfunc;
+ MpSquareView_t *view = data;
+ MP_CHECK(view);
+ mp_evas_object_del(view->more_btn_ctxpopup);
+
+ MpViewMgr_t *view_manager = mp_view_mgr_get_view_manager();
+ MP_CHECK(view_manager);
+
+ MpSquareListview_t *list_view = mp_square_playlist_view_create(view_manager->navi);
+ mp_view_mgr_push_view(view_manager, (MpView_t *)list_view, NULL);
+ mp_view_update_options((MpView_t *)list_view);
+ mp_view_set_title((MpView_t *)list_view, STR_MP_SQUARE);
+
+ endfunc;
+}
+
+static void
+_mp_square_view_help_btn_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ eventfunc;
+ MpSquareView_t *view = data;
+ MP_CHECK(view);
+ mp_evas_object_del(view->more_btn_ctxpopup);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ char *text = NULL;
+ char *title = g_strconcat("<align=center>", GET_STR(STR_MP_SQUARE), "</align>", NULL);
+
+ Evas_Object *popup = mp_popup_create(ad->win_main, MP_POPUP_NORMAL, title, NULL, NULL, ad);
+ MP_CHECK(popup);
+
+ text = g_strdup_printf("%s<br>%s<br>%s", GET_STR(STR_MP_SQUARE_HELP_TEXT_1), GET_STR(STR_MP_SQUARE_HELP_TEXT_2), GET_STR(STR_MP_SQUARE_HELP_TEXT_3));
+ elm_object_text_set(popup, text);
+
+ mp_popup_button_set(popup, MP_POPUP_BTN_1, "IDS_COM_SK_OK", MP_POPUP_YES);
+ evas_object_show(popup);
+
+ endfunc;
+}
+
+
+static Eina_Bool
+_mp_square_view_update_library_progressbar_timer(void *data)
+{
+ TIMER_TRACE();
+ MpSquareView_t *view = (MpSquareView_t *)data;
+ MP_CHECK_VAL(view, ECORE_CALLBACK_CANCEL);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_VAL(ad, ECORE_CALLBACK_CANCEL);
+ MP_CHECK_VAL(ad->square_mgr, ECORE_CALLBACK_CANCEL);
+
+ double value = 0.0;
+ int index = ad->square_mgr->record_count;
+ int total = ad->square_mgr->total_count;
+ Evas_Object *layout = view->layout_update_library_progress;
+ Evas_Object *progressbar = view->update_library_progressbar;
+
+ /*mp_debug("index=%d, total=%d\n", index, total);*/
+
+ value = elm_progressbar_value_get(progressbar);
+ if (value == 1.0) {
+ mp_ecore_timer_del(view->update_library_timer);
+
+ if (view->popup_update_library_progress) {
+ evas_object_del(view->popup_update_library_progress);
+ view->popup_update_library_progress = NULL;
+ }
+
+ mp_view_update((MpView_t *) view);
+ mp_util_post_status_message(ad, GET_STR(STR_MP_UPDATED));
+ return ECORE_CALLBACK_CANCEL;
+ }
+
+ if (total == 0) {
+ index = 1;
+ total = 1;
+ }
+
+ value = (double)index/total;
+
+ /*mp_debug("value=%6.2f\n", value);*/
+ elm_progressbar_value_set(progressbar, value);
+
+ char buf[255] = {'0',};
+
+ snprintf(buf, sizeof(buf), "%d/%d", index, total);
+ elm_object_part_text_set(layout, "elm.text.right", buf);
+
+ return ECORE_CALLBACK_RENEW;
+}
+
+static void
+_mp_square_view_update_library_progressbar_response_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ DEBUG_TRACE_FUNC();
+
+ MpSquareView_t *view = (MpSquareView_t *)data;
+ MP_CHECK(view);
+
+ mp_ecore_timer_del(view->update_library_timer);
+ if (view->popup_update_library_progress) {
+ evas_object_del(view->popup_update_library_progress);
+ view->popup_update_library_progress = NULL;
+ }
+
+ mp_view_update((MpView_t *) view);
+
+ /* cancel update library */
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ ad->square_mgr->terminal_status = true;
+}
+
+static void
+_mp_square_view_update_library_progressbar_create(MpSquareView_t *view)
+{
+ startfunc;
+ MP_CHECK(view);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ Evas_Object *layout = NULL;
+ Evas_Object *popup = NULL;
+ Evas_Object *progressbar = NULL;
+ /*Evas_Object *label = NULL;*/
+ Evas_Object *btn1 = NULL;
+ Ecore_Timer *timer = NULL;
+
+ popup = mp_popup_create(ad->win_main, MP_POPUP_NORMAL, GET_STR("IDS_MUSIC_BODY_LIBRARY_UPDATE"),
+ view, _mp_square_view_update_library_progressbar_response_cb, ad);
+ view->popup_update_library_progress = popup;
+
+ layout = elm_layout_add(popup);
+ view->layout_update_library_progress = layout;
+ elm_layout_file_set(layout, PLAY_VIEW_EDJ_NAME, "popup_update_library_progressview");
+ evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+
+ progressbar = elm_progressbar_add(popup);
+ view->update_library_progressbar = progressbar;
+ 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);
+ timer = ecore_timer_add(0.1, _mp_square_view_update_library_progressbar_timer, view);
+ view->update_library_timer = timer;
+ evas_object_show(progressbar);
+
+ /*elm_object_part_content_set(layout, "elm.swallow.content", label);*/
+ elm_object_part_content_set(layout, "elm.swallow.content", progressbar);
+ elm_object_part_text_set(layout, "elm.text.left", GET_STR(STR_MP_UPDATING_ING));
+ elm_object_part_text_set(layout, "elm.text.right", "0/0");
+
+ evas_object_show(layout);
+ elm_object_content_set(popup, layout);
+ btn1 = elm_button_add(popup);
+ elm_object_text_set(btn1, GET_SYS_STR("IDS_COM_SK_CANCEL"));
+ elm_object_part_content_set(popup, "button1", btn1);
+ evas_object_smart_callback_add(btn1, "clicked", _mp_square_view_update_library_progressbar_response_cb, view);
+
+ evas_object_show(popup);
+}
+
+static void
+_mp_square_view_library_update(MpSquareView_t *view)
+{
+ startfunc;
+ MP_CHECK(view);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ if (ad->square_mgr == NULL) {
+ int ret = 0;
+ ret = mp_square_mgr_create(ad);
+ if (ret != 0 || ad->square_mgr == NULL)
+ return;
+ }
+
+ _mp_square_view_gengrid_reset(view);
+ mp_view_update((MpView_t *)view);
+
+ int ret = mp_square_mgr_update_diff_only(ad);
+ if (ret != 0) {
+ const char *message = NULL;
+ if (ad->square_mgr->total_count == 0)
+ message = STR_MP_SQURE_NO_SONGS;
+ else
+ message = STR_MP_UPDATING_FAILED;
+
+ if (message)
+ mp_widget_text_popup(ad, GET_STR(message));
+ return;
+ }
+
+ _mp_square_view_update_library_progressbar_create(view);
+
+ endfunc;
+}
+
+
+static void
+_mp_square_view_update_library_popup_response_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ startfunc;
+ MpSquareView_t *view = data;
+ MP_CHECK(view);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ Evas_Object *popup = obj;
+ mp_evas_object_del(popup);
+ view->popup_update_library = NULL;
+
+ int count = 0;
+ mp_media_info_list_count(MP_TRACK_ALL, NULL, NULL, NULL, 0, &count);
+ DEBUG_TRACE("count=%d", count);
+
+ int response = (int)event_info;
+ if (response) {
+ if (count >= 25) {
+ _mp_square_view_library_update(view);
+ } else {
+ DEBUG_TRACE("need update library");
+ _mp_square_view_song_not_enough_popup_create(view);
+ }
+ }
+
+ endfunc;
+}
+
+
+static void
+_mp_square_view_library_update_btn_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ eventfunc;
+ MpSquareView_t *view = data;
+ MP_CHECK(view);
+ mp_evas_object_del(view->more_btn_ctxpopup);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ /* create popup */
+ Evas_Object *popup = NULL;
+ popup = mp_popup_create(ad->win_main,
+ MP_POPUP_NORMAL,
+ GET_STR("IDS_MUSIC_BODY_LIBRARY_UPDATE"),
+ view,
+ _mp_square_view_update_library_popup_response_cb, ad);
+ view->popup_update_library = popup;
+
+ evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_object_text_set(popup, GET_STR("IDS_MUSIC_POP_UPDATE_LIBRARY_Q"));
+
+ mp_popup_button_set(popup, MP_POPUP_BTN_1, "IDS_COM_SK_CANCEL", MP_POPUP_NO);
+ mp_popup_button_set(popup, MP_POPUP_BTN_2, "IDS_COM_SK_OK", MP_POPUP_YES);
+
+ evas_object_show(popup);
+
+ endfunc;
+}
+
+static void
+_mp_square_view_position_append_by_item(MpSquareView_t *view, mp_square_item_t *item)
+{
+ MP_CHECK(view);
+ MP_CHECK(item);
+
+ bool exist = false;
+ GList *pos_list = view->pos_list;
+ mp_square_position_t *pos = NULL;
+ while (pos_list) {
+ pos = pos_list->data;
+ if (pos) {
+ if (pos->x == item->pos.x && pos->y == item->pos.y) {
+ exist = true;
+ break;
+ }
+ }
+ pos_list = pos_list->next;
+ }
+
+ if (!exist) {
+ pos = calloc(1, sizeof(mp_square_position_t));
+ mp_assert(pos);
+ pos->x = item->pos.x;
+ pos->y = item->pos.y;
+ view->pos_list = g_list_append(view->pos_list, pos);
+ }
+}
+
+static void
+_mp_square_view_update_now_playing_postion(MpSquareView_t *view)
+{
+ DEBUG_TRACE_FUNC();
+ MP_CHECK(view);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ MP_CHECK(ad->square_mgr);
+ MP_CHECK(ad->current_track_info);
+
+ view->current_item = _mp_square_view_current_playing_music_item_get(view);
+
+ mp_track_info_t *cur_playing_music = ad->current_track_info;
+ if (cur_playing_music && mp_check_file_exist(cur_playing_music->uri)) {
+ mp_square_mgr_get_positon_by_type_and_path(ad->square_mgr, view->type, cur_playing_music->uri, &(view->now_playing_position));
+ mp_debug("now playing pos = [%d, %d]", view->now_playing_position.x, view->now_playing_position.y);
+ }
+}
+
+static void
+_mp_square_view_load_playing_square_list(MpSquareView_t *view)
+{
+ DEBUG_TRACE_FUNC();
+ MP_CHECK(view);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ MP_CHECK(ad->playlist_mgr);
+ MP_CHECK(ad->square_mgr);
+
+ if (view->music_list)
+ _mp_square_view_music_list_clear(&view->music_list);
+ if (view->pos_list)
+ _mp_square_view_position_list_clear(&view->pos_list);
+
+ if (mp_playlist_mgr_get_list_type(ad->playlist_mgr) == MP_PLST_TYPE_MUSIC_SQUARE) {
+ GList *selected_list = NULL;
+ int type = -1;
+ mp_square_mgr_selected_list_items_get(ad->square_mgr, &type, &selected_list);
+
+ if (g_list_length(selected_list) && view->type == type) {
+ view->music_list = selected_list;
+ GList *music_list = view->music_list;
+ while (music_list) {
+ mp_square_item_t *item = music_list->data;
+ if (item)
+ _mp_square_view_position_append_by_item(view, item);
+ music_list = music_list->next;
+ }
+ } else {
+ if (selected_list)
+ _mp_square_view_music_list_clear(&selected_list);
+ }
+ }
+}
+
+static void
+_mp_square_view_axis_change(MpSquareView_t *view)
+{
+ startfunc;
+ MP_CHECK(view);
+
+ view->type = view->radio_index;
+ if (!mp_setting_set_square_axis_val(view->type)) {
+
+ _mp_square_view_new_gengrid_title_set(view);
+
+ struct appdata *ad = mp_util_get_appdata();
+ if (ad && ad->square_mgr)
+ mp_square_mgr_selected_list_items_clear(ad->square_mgr);
+
+ _mp_square_view_gengrid_reset(view);
+ mp_view_update((MpView_t *)view);
+ }
+
+ endfunc;
+}
+
+static void
+_mp_square_view_radio_main_changed_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ startfunc;
+ MpSquareView_t *view = data;
+ MP_CHECK(view);
+
+ elm_radio_value_set(view->radio_main, view->radio_index);
+ _mp_square_view_axis_change(view);
+ endfunc;
+}
+
+static void
+_mp_square_view_radio_main_del_cb(void *data, Evas * evas, Evas_Object * obj, void *event_info)
+{
+ startfunc;
+ MpSquareView_t *view = data;
+ MP_CHECK(view);
+ view->radio_main = NULL;
+}
+
+static char *
+_mp_square_view_axis_change_gl_label_get(void *data, Evas_Object * obj, const char *part)
+{
+ char *label = (char *)data;
+ /*DEBUG_TRACE("%s", label);*/
+ return g_strdup(GET_STR(label));
+}
+
+static Evas_Object *
+_mp_square_view_axis_change_gl_content_get(void *data, Evas_Object * obj, const char *part)
+{
+ DEBUG_TRACE("");
+ MP_CHECK_NULL(data);
+
+ MpSquareView_t *view = evas_object_data_get(obj, "square_view_data");
+ MP_CHECK_NULL(view);
+
+ Evas_Object *radio = elm_radio_add(obj);
+ elm_radio_group_add(radio, view->radio_main);
+
+ if (!g_strcmp0(STR_MOOD, data)) {
+ elm_radio_state_value_set(radio, MP_SQUARE_TYPE_MOOD);
+ } else if (!g_strcmp0(STR_YEAR, data)) {
+ elm_radio_state_value_set(radio, MP_SQUARE_TYPE_YEAR);
+ }
+ if (!g_strcmp0(STR_ADDED, data)) {
+ elm_radio_state_value_set(radio, MP_SQUARE_TYPE_ADDED);
+ } else if (!g_strcmp0(STR_TIME, data)) {
+ elm_radio_state_value_set(radio, MP_SQUARE_TYPE_TIME);
+ }
+
+ evas_object_show(radio);
+
+ elm_radio_value_set(view->radio_main, view->type);
+ return radio;
+}
+
+static void
+_mp_square_view_axis_change_popup_gl_sel(void *data, Evas_Object *obj, void *event_info)
+{
+ DEBUG_TRACE_FUNC();
+
+ MpSquareView_t *view = evas_object_data_get(obj, "square_view_data");
+ MP_CHECK(view);
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ char *label = (char *)data;
+ DEBUG_TRACE("label=%s", label);
+ if (g_strcmp0(label, STR_MOOD) == 0)
+ view->radio_index = MP_SQUARE_TYPE_MOOD;
+ else if (g_strcmp0(label, STR_YEAR) == 0)
+ view->radio_index = MP_SQUARE_TYPE_YEAR;
+ else if (g_strcmp0(label, STR_ADDED) == 0)
+ view->radio_index = MP_SQUARE_TYPE_ADDED;
+ else if (g_strcmp0(label, STR_TIME) == 0)
+ view->radio_index = MP_SQUARE_TYPE_TIME;
+
+ elm_radio_value_set(view->radio_main, view->radio_index);
+ evas_object_smart_callback_call(view->radio_main, "changed", view);
+
+ mp_popup_destroy(ad);
+}
+
+static void
+_mp_square_view_change_axis_btn_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ eventfunc;
+ MpSquareView_t *view = data;
+ MP_CHECK(view);
+ mp_evas_object_del(view->more_btn_ctxpopup);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ Evas_Object *popup = mp_genlist_popup_create(ad->win_main, MP_POPUP_CHANGE_AXIS, ad, ad);
+ MP_CHECK(popup);
+
+ if (view->radio_main == NULL) {
+ view->radio_main = elm_radio_add(popup);
+ elm_radio_state_value_set(view->radio_main, -1);
+ evas_object_smart_callback_add(view->radio_main, "changed", _mp_square_view_radio_main_changed_cb, view);
+ evas_object_event_callback_add(view->radio_main, EVAS_CALLBACK_DEL, _mp_square_view_radio_main_del_cb, view);
+ evas_object_hide(view->radio_main);
+ }
+
+ Evas_Object *genlist = evas_object_data_get(popup, "genlist");
+ MP_CHECK(genlist);
+ evas_object_data_set(genlist, "square_view_data", view);
+
+ static Elm_Genlist_Item_Class change_axis_itc;
+ change_axis_itc.item_style = "1text.1icon.3";
+ change_axis_itc.func.text_get = _mp_square_view_axis_change_gl_label_get;
+ change_axis_itc.func.content_get = _mp_square_view_axis_change_gl_content_get;
+ change_axis_itc.func.state_get = NULL;
+ change_axis_itc.func.del = NULL;
+
+ elm_genlist_item_append(genlist, &change_axis_itc, STR_MOOD, NULL, ELM_GENLIST_ITEM_NONE,
+ _mp_square_view_axis_change_popup_gl_sel, STR_MOOD);
+ elm_genlist_item_append(genlist, &change_axis_itc, STR_YEAR, NULL, ELM_GENLIST_ITEM_NONE,
+ _mp_square_view_axis_change_popup_gl_sel, STR_YEAR);
+
+ endfunc;
+}
+
+static void _mp_square_view_normal_more_btn_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ startfunc;
+ MpSquareView_t *view = (MpSquareView_t *)data;
+ MP_CHECK(view);
+
+ mp_evas_object_del(view->more_btn_ctxpopup);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ view->more_btn_ctxpopup = mp_common_create_more_ctxpopup(view);
+ MP_CHECK(view->more_btn_ctxpopup);
+
+ if (view->pos_list && g_list_length(view->pos_list)) {
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_OPEN_PLAYLIST, MP_PLAYER_MORE_BTN_OPEN_PLAYLIST, _mp_square_view_open_playlist_btn_cb, view);
+ }
+
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ "IDS_MUSIC_BODY_LIBRARY_UPDATE", MP_PLAYER_MORE_BTN_REFRESH, _mp_square_view_update_library_popup_response_cb, view);
+
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ "IDS_MUSIC_BODY_CHANGE_AXIS", MP_PLAYER_MORE_BTN_CHANGE_AXIS, _mp_square_view_change_axis_btn_cb, view);
+
+ /*search*/
+ mp_util_ctxpopup_item_append(view->more_btn_ctxpopup,
+ STR_MP_SEARCH, NULL, mp_common_create_search_view_cb, view);
+
+ /*settings*/
+ 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);
+
+ endfunc;
+}
+
+static Eina_Bool
+_mp_square_view_back_btn_cb(void *data, Elm_Object_Item *it)
+{
+ eventfunc;
+ MpSquareView_t *view = (MpSquareView_t *) data;
+ MP_CHECK_FALSE(view);
+
+ MpViewMgr_t *view_manager = mp_view_mgr_get_view_manager();
+ mp_view_mgr_pop_view(view_manager, false);
+
+ endfunc;
+ return EINA_TRUE;
+}
+
+static int _mp_square_view_new_update_options(void *thiz)
+{
+ startfunc;
+ MpSquareView_t *view = (MpSquareView_t *)thiz;
+ MP_CHECK_VAL(view, -1);
+
+ Evas_Object *btn = NULL;
+
+
+ mp_view_clear_options((MpView_t *)view);
+
+ btn = mp_widget_create_toolbar_btn(view->square_layout, MP_TOOLBAR_BTN_MORE, NULL, _mp_square_view_normal_more_btn_cb, view);
+ elm_object_item_part_content_set(view->navi_it, "toolbar_more_btn", btn);
+
+ bool landscape = mp_util_is_landscape();
+ if (landscape)
+ elm_naviframe_item_style_set(view->navi_it, MP_NAVI_ITEM_STYLE_TOPLINE/*"miniplayer/music/landscape"*/);
+ else
+ elm_naviframe_item_style_set(view->navi_it, MP_NAVI_ITEM_STYLE_TOPLINE);
+
+ elm_naviframe_item_pop_cb_set(view->navi_it, _mp_square_view_back_btn_cb, view);
+
+ endfunc;
+ return 0;
+}
+
+static int
+_mp_square_view_new_update(void *thiz)
+{
+ startfunc;
+ MpSquareView_t *view = (MpSquareView_t *)thiz;
+ MP_CHECK_VAL(view, -1);
+ MP_CHECK_VAL(view->gengrid, -1);
+
+ _mp_square_view_update_now_playing_postion(view);
+ elm_gengrid_realized_items_update(view->gengrid);
+ mp_view_update_options((MpView_t *)view);
+ endfunc;
+ return 0;
+}
+
+static int
+_mp_square_view_playlist_position_update(void *thiz)
+{
+ startfunc;
+ MpSquareView_t *view = (MpSquareView_t *)thiz;
+ MP_CHECK_VAL(view, -1);
+ MP_CHECK_VAL(view->gengrid, -1);
+
+ view->current_item = _mp_square_view_current_playing_music_item_get(view);
+ int count = g_list_length(view->music_list);
+ DEBUG_TRACE("playinglist count:%d", count);
+ if (count > 1) {
+ _mp_square_view_update_now_playing_postion(view);
+ elm_gengrid_realized_items_update(view->gengrid);
+ }
+ endfunc;
+ return 0;
+}
+
+static void
+_mp_square_view_new_destory_cb(void *thiz)
+{
+ startfunc;
+ MpSquareView_t *view = thiz;
+ MP_CHECK(view);
+ mp_view_fini((MpView_t *)view);
+
+ /* TODO: release resource..*/
+
+ mp_evas_object_del(view->gengrid);
+ mp_evas_object_del(view->more_btn_ctxpopup);
+ mp_evas_object_del(view->popup_update_library);
+ mp_evas_object_del(view->popup_update_library_progress);
+
+ mp_ecore_timer_del(view->update_library_timer);
+
+ if (view->pos_list != NULL)
+ _mp_square_view_position_list_clear(&(view->pos_list));
+ if (view->music_list != NULL)
+ _mp_square_view_music_list_clear(&(view->music_list));
+
+ free(view);
+}
+
+static void
+_mp_square_view_on_event(void *thiz, MpViewEvent_e event)
+{
+ DEBUG_TRACE("event; %d", event);
+ MpSquareView_t *view = thiz;
+ MP_CHECK(view);
+ switch (event) {
+ case MP_UPDATE_PLAYING_LIST:
+ _mp_square_view_playlist_position_update(view);
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ if (ad->square_mgr) {
+ mp_view_update((MpView_t *)view);
+ }
+ break;
+ case MP_PLAYLIST_MGR_ITEM_CHANGED:
+ {
+ _mp_square_view_gengrid_items_state_reset(view);
+ _mp_square_view_playlist_position_update(view);
+ break;
+ }
+ case MP_VIEW_TRANSITION_FINISHED:
+ _mp_square_view_update_square(view);
+ break;
+ default:
+ break;
+ }
+}
+
+static void _mp_square_view_resume(void *thiz)
+{
+ startfunc;
+ MpSquareView_t *view = (MpSquareView_t *)thiz;
+ MP_CHECK(view);
+
+ _mp_square_view_new_gengrid_title_set(view);
+ #ifndef MP_SOUND_PLAYER
+ if (mp_player_mgr_get_state() != PLAYER_STATE_NONE)
+ mp_view_set_nowplaying((MpView_t *)view);
+
+ mp_view_freeze_nowplaying((MpView_t *)view, 0);
+#endif
+
+ endfunc;
+}
+
+#ifdef MP_FEATURE_LANDSCAPE
+static void
+_mp_square_view_rotate(void *thiz, int randscape)
+{
+ startfunc;
+
+ MpSquareView_t *view = thiz;
+ MP_CHECK(view);
+
+ mp_evas_object_del(view->gengrid);
+
+ Evas_Object *content = elm_object_part_content_unset(view->square_layout, "list_content");
+ evas_object_del(content);
+
+ popup_flag = 0;
+ view->square_layout = _mp_square_view_new_content_create(view);
+ elm_object_part_content_set(view->layout, "list_content", view->square_layout);
+
+ _mp_square_view_new_update(thiz);
+ _mp_square_view_new_gengrid_title_set(view);
+
+ _mp_square_view_update_square(view);
+
+ endfunc;
+
+}
+#endif
+
+static int
+_mp_square_view_new_init(Evas_Object *parent, MpSquareView_t *view)
+{
+ startfunc;
+ int ret = 0;
+ ret = mp_view_init(parent, (MpView_t *)view, MP_VIEW_SQUARE);
+ MP_CHECK_VAL(ret == 0, -1);
+
+ view->update = _mp_square_view_new_update;
+ view->update_options = _mp_square_view_new_update_options;
+ view->update_options_edit = NULL;
+ view->popup_status = TRUE;
+ view->view_destroy_cb = _mp_square_view_new_destory_cb;
+ view->view_resume = _mp_square_view_resume;
+
+ /* init data */
+ int square_type = MP_SQUARE_TYPE_MOOD;
+ mp_setting_get_square_axis_val(&square_type);
+ view->type = square_type;
+ view->radio_index = square_type;
+
+ view->on_event = _mp_square_view_on_event;
+
+ popup_flag = 1;
+#ifdef MP_FEATURE_LANDSCAPE
+ view->rotate = _mp_square_view_rotate;
+#endif
+ view->square_layout = _mp_square_view_new_content_create(view);
+ MP_CHECK_VAL(view->square_layout, -1);
+ _mp_square_view_new_gengrid_title_set(view);
+
+ elm_object_part_content_set(view->layout, "list_content", view->square_layout);
+
+
+ return ret;
+}
+
+MpSquareView_t *mp_square_view_new_create(Evas_Object *parent)
+{
+ startfunc;
+ int ret;
+ MP_CHECK_NULL(parent);
+
+ MpSquareView_t *view = calloc(1, sizeof(MpSquareView_t));
+ MP_CHECK_NULL(view);
+
+ ret = _mp_square_view_new_init(parent, view);
+ if (ret) goto Error;
+
+ _mp_square_view_update_now_playing_postion(view);
+ _mp_square_view_load_playing_square_list(view);
+
+ return view;
+
+Error:
+ ERROR_TRACE("Error: mp_square_view_new_create()");
+ IF_FREE(view);
+ return NULL;
+}
+
+int mp_square_view_new_destory(MpSquareView_t *view)
+{
+ startfunc;
+ MP_CHECK_VAL(view, -1);
+
+ return 0;
+}
+
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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;
+#ifdef MP_CREATE_FAKE_IMAGE
+ return 0;
+#endif
+ 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
+ thumbpath = 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) {
+ #ifdef MP_FEATURE_LANDSCAPE
+ bool landscape = mp_util_is_landscape();
+ if (landscape) {
+ edje_object_signal_emit(_EDJ(view->layout), "LANDSCAPE_SHOW_NOW_PLAING", "music_app");
+ } else
+ #endif
+ 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();
+ if (!ad->current_track_info)
+ return 0;
+
+#endif
+#ifdef MP_FEATURE_LANDSCAPE
+ if (mp_view_is_rotate_available(view)) {
+ view->rotate_flag = TRUE;
+ if (!view->nowplaying_bar || mp_util_is_landscape() != mp_now_playing_is_landscape(view->nowplaying_bar)) {
+ 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
+#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);
+
+ mp_view_freeze_nowplaying(view, 0);
+#endif
+}
+
+static void
+_mp_view_on_event(void *thiz, MpViewEvent_e event)
+{
+ startfunc;
+#ifdef MP_FEATURE_LANDSCAPE
+ MpView_t *view = (MpView_t *)thiz;
+#endif
+ DEBUG_TRACE("event; %d", event);
+ switch (event) {
+#ifdef MP_FEATURE_LANDSCAPE
+ case MP_VIEW_ROTATE:
+ if (view->view_type != MP_VIEW_EDIT)
+ mp_view_update_options(thiz);
+ break;
+#endif
+ default:
+ break;
+ }
+
+ endfunc;
+}
+
+#ifdef MP_FEATURE_LANDSCAPE
+static void
+_mp_view_rotate_cb(void *thiz, int randscape)
+{
+ startfunc;
+
+ DEBUG_TRACE("_mp_view_rotate_cb rotated");
+ MpView_t *view = thiz;
+ MP_CHECK(view);
+
+ _mp_view_on_event(view, MP_VIEW_ROTATE);
+
+ endfunc;
+}
+#endif
+
+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;
+
+#ifdef MP_FEATURE_LANDSCAPE
+ view->rotate = _mp_view_rotate_cb;
+#endif
+ view->on_event = _mp_view_on_event;
+
+ view->layout = mp_common_load_edj(parent, MP_EDJ_NAME, "main_layout");
+
+#ifdef MP_FEATURE_MULTIWINDOW
+ if (!view->disable_scroller) {
+ view->scroller = elm_scroller_add(parent);
+ evas_object_size_hint_weight_set(view->scroller, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(view->scroller, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ elm_object_content_set(view->scroller, view->layout);
+ elm_scroller_bounce_set(view->scroller, EINA_FALSE, EINA_FALSE);
+ evas_object_show(view->scroller);
+ }
+#endif
+ 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;
+}
+#ifdef MP_FEATURE_LANDSCAPE
+int mp_view_is_rotate_available(MpView_t *view)
+{
+ CHECK_VIEW(view, 0);
+ if (view->is_rotate_available)
+ return view->is_rotate_available(view);
+
+ return 1;
+}
+
+int mp_view_rotate(MpView_t *view)
+{
+ CHECK_VIEW(view, -1);
+ int landscape = (int)mp_util_is_landscape();
+ if (view->rotate) {
+ view->rotate(view, landscape);
+ }
+#ifndef MP_SOUND_PLAYER
+ if (view->nowplaying_bar) {
+ if (mp_now_playing_is_landscape(view->nowplaying_bar) != landscape) {
+ _mp_view_set_nowplaying(view);
+ }
+ }
+#endif
+ return 0;
+}
+
+int mp_view_is_now_push_transit(MpView_t *view, bool *now_transit)
+{
+ CHECK_VIEW(view, -1);
+ MP_CHECK_VAL(now_transit, -1);
+
+ *now_transit = view->push_transition;
+
+ return 0;
+}
+
+#endif
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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) 2000-2015 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) 2000-2015 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_LIST_H__
+#define __MP_ALL_LIST_H__
+
+#include "mp-list.h"
+#include "mp-media-info.h"
+
+typedef struct {
+ INHERIT_MP_LIST
+
+ Evas_Object *parent;
+
+ //tabbar
+ MpTab_e tab_status;
+ bool first_change;
+
+ //key layouts
+ Evas_Object *shortcut_layout;
+ Evas_Object *tabbar_layout;
+ int shortcut_index;
+
+ //thumbnail view mode
+ Evas_Object *gengrid;
+
+ //item class
+ Elm_Genlist_Item_Class *itc_icon;
+ Elm_Genlist_Item_Class *itc;
+ Elm_Genlist_Item_Class *itc_shuffle;
+ Elm_Gengrid_Item_Class *gengrid_itc;
+
+ //genlist items
+ Elm_Object_Item *shortcut_it;
+ Elm_Object_Item *tabbar_it;
+ Elm_Object_Item *first_item; //first item of track, playlist, album, or artist list
+ Elm_Object_Item *shuffle_it;
+
+ bool tabbar_realized;
+ bool drag_status;
+ int track_count;
+
+ //track related
+ mp_media_list_h track_list[2];
+ Ecore_Timer *load_timer;
+#ifdef MP_FEATURE_PERSONAL_PAGE
+ bool personal_page_status;
+#endif
+
+ //playlist related
+ mp_media_list_h playlists_user;
+ mp_media_list_h playlists_auto;
+ int auto_playlist_count;
+
+ //album, artist related
+ mp_media_list_h group_list;
+ MpListDisplayMode_e album_disp_mode;
+ MpListDisplayMode_e artist_disp_mode;
+
+ MpFwMgr FwMgr;
+ Evas_Object *floating_tabbar;
+}MpAllList_t;
+
+MpAllList_t * mp_all_list_create(Evas_Object *parent, MpTab_e init_tab);
+void mp_all_list_update_shortcut(MpAllList_t *list);
+void mp_all_list_rotate_shortcut(MpAllList_t *list);
+void mp_all_list_update_data(void *thiz);
+void mp_all_list_update_genlist(void *thiz);
+MpTab_e mp_all_list_get_selected_tab(MpAllList_t *list);
+void mp_all_list_select_tab(MpAllList_t *list, MpTab_e tab);
+void mp_all_list_update_favourite(MpAllList_t *list);
+void mp_all_list_set_display_mode(MpAllList_t *list, MpListDisplayMode_e mode);
+
+#endif
+
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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) 2000-2015 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) 2000-2015 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) 2000-2015 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) 2000-2015 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_FOLDER_LIST_H__
+#define __MP_FOLDER_LIST_H__
+
+#include "mp-list.h"
+#include "mp-media-info.h"
+
+enum
+{
+ MP_FOLDER_LIST_TYPE, //mp_track_type_e
+ MP_FOLDER_LIST_TYPE_STR, //type_str for db query
+ MP_FOLDER_LIST_FUNC,
+ MP_FOLDER_LIST_FILTER_STR,
+};
+
+typedef struct __MpFolderList{
+ INHERIT_MP_LIST
+
+ Elm_Genlist_Item_Class *itc;
+ mp_media_list_h folder_list;
+ //int edit_mode;
+
+}MpFolderList_t;
+
+void mp_folder_list_set_data(MpFolderList_t *list, ...);
+void mp_folder_list_copy_data(MpFolderList_t*src, MpFolderList_t *dest);
+MpFolderList_t * mp_folder_list_create(Evas_Object *parent);
+
+#endif
+
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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) 2000-2015 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);
+
+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
+};
+
+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) 2000-2015 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-floating-widget-mgr.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; \
+
+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) 2000-2015 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_shuffle_and_repeat_btn(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);
+void mp_lockscreenmini_update_progressbar(struct appdata *ad);
+
+#endif
+
+#endif
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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) 2000-2015 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_IN_APP_H__
+#define __MP_APP_IN_APP_H__
+
+#include "music.h"
+
+typedef enum
+{
+ WINDOW_SIZE_0,
+ WINDOW_SIZE_1,
+ WINDOW_SIZE_2,
+ WINDOW_SIZE_3,
+ WINDOW_SIZE_4
+} MULTI_WINDOW_SIZE;
+
+
+typedef struct
+{
+ INHERIT_MP_VIEW;
+ /* extention variables */
+ Evas_Object *mini_player_view_layout;
+ /* lyric */
+ mp_lyric_view_t *lyric_view;
+ /* screen mode */
+ mp_screen_mode play_view_screen_mode;
+
+ bool mini_player_mode;
+ int mini_player_current_size;
+ Evas_Object *win_mini;
+ Evas_Object *bg;
+#if 0
+ Ecore_X_Window *xwin;
+#else
+ void *xwin;
+#endif
+ Evas_Object *title;
+ Evas_Object *event_box;
+ Evas_Object *mini_lyric_view;
+
+ Ecore_Timer *play_delay_timer;
+ Ecore_Timer *switch_timer;
+}MpMwView_t;
+
+
+void mp_mini_player_show(struct appdata *ad, int num);
+void mp_mini_player_hide(void *data);
+void mp_mini_player_mode_set(void *data, int is_set);
+void mp_mini_player_refresh(void *data);
+void mp_mini_player_window_drag_resize(void *data, int start_x, int start_y, unsigned int button);
+void mp_mini_player_window_drag_start(void *data, int start_x, int start_y, unsigned int button);
+int mp_mini_player_rotation_cb(app_device_orientation_e mode, void *data);
+
+#endif
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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_shuffle_and_repeat_btn(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);
+void mp_minicontroller_update_progressbar(struct appdata *ad);
+
+#endif
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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) 2000-2015 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) 2000-2015 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) 2000-2015 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) 2000-2015 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_Gengrid_Item_Class *itc_group_index;
+ 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) 2000-2015 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,
+
+#ifdef MP_FEATURE_CLOUD
+ MP_POPUP_CLOUD_VIEW,
+#endif
+ 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) 2000-2015 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_SCROLL_PAGE_H__
+#define __MP_SCROLL_PAGE_H__
+
+#include <Elementary.h>
+
+typedef enum {
+ SCROLL_PAGE_MIN = -1,
+ SCROLL_PAGE_STORE,
+ SCROLL_PAGE_RADIO,
+ SCROLL_PAGE_PLAYER,
+ SCROLL_PAGE_MAX
+}MpScrollPageType_e;
+
+typedef void (*page_change_callback)(int page, void *user_data);
+
+Evas_Object *mp_scroll_page_add(Evas_Object *parent);
+void mp_scroll_page_content_append(Evas_Object *obj, Evas_Object *content);
+void mp_scroll_page_content_append_typed(Evas_Object *obj, Evas_Object *content, MpScrollPageType_e page_type);
+void mp_scroll_page_content_pre_append(Evas_Object *obj, Evas_Object *content);
+void mp_scroll_page_remove(Evas_Object *obj, MpScrollPageType_e page_type);
+void mp_scroll_page_set_page_change_callback(Evas_Object *scroll_page, page_change_callback callback, void *userdata);
+void mp_scroll_page_set_page_location(Evas_Object *obj, MpScrollPageType_e page_type);
+MpScrollPageType_e
+mp_scroll_page_get_current_page_type(Evas_Object *obj);
+Evas_Object *
+mp_scroll_page_index_icon_add(Evas_Object *parent, unsigned int total, int index);
+void mp_scroll_page_hide_scroll_bar(Evas_Object *obj);
+
+#endif /* __MP_SCROLL_PAGE_H__ */
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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) 2000-2015 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) 2000-2015 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_SHORTCUT_H__
+#define __MP_SHORTCUT_H__
+
+#include "music.h"
+
+Evas_Object * mp_shortcut_add(Evas_Object *parent , int index);
+void mp_shortcut_update_cache(Evas_Object *layout , int index);
+int mp_shortcut_get_height(void);
+
+#endif
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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) 2000-2015 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_SQUARE_LIST_H__
+#define __MP_SQUARE_LIST_H__
+
+#include "mp-list.h"
+
+enum {
+ MP_SQUARE_LIST_ATTR_HIGHLIGHT_CURRENT,
+};
+
+typedef struct {
+ INHERIT_MP_LIST
+
+ void (*set_edit_default)(void *thiz, bool edit);
+
+ Elm_Genlist_Item_Class *itc;
+ Elm_Genlist_Item_Class *itc_shuffle;
+ Elm_Object_Item *shuffle_it;
+
+ bool highlight_current;
+}MpSquareList_t;
+
+MpSquareList_t * mp_square_list_create(Evas_Object *parent);
+void mp_square_list_set_data(MpSquareList_t *list, ...);
+void mp_square_list_remove_selected_item(MpSquareList_t *list);
+void mp_square_list_refresh(MpSquareList_t *list);
+void mp_square_list_current_item_bring_in(MpSquareList_t *list);
+void mp_square_list_update_genlist(void *thiz);
+
+#endif
+
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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) 2000-2015 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_VOLUME_WIDGET_H__
+#define __MP_VOLUME_WIDGET_H__
+
+#include <Elementary.h>
+
+typedef enum {
+ VOLUME_WIDGET_EVENT_DRAG_START,
+ VOLUME_WIDGET_EVENT_DRAG_STOP,
+} volume_widget_event_e;
+
+typedef void (*Mp_Volume_Widget_Cb)(void *user_data, Evas_Object *obj, volume_widget_event_e event);
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+Evas_Object *mp_volume_widget_add(Evas_Object *parent);
+void mp_volume_widget_event_callback_add(Evas_Object *obj, Mp_Volume_Widget_Cb event_cb, void *user_data);
+void mp_volume_widget_volume_up(Evas_Object *obj);
+void mp_volume_widget_volume_down(Evas_Object *obj);
+
+
+#ifdef __cplusplus
+}
+#endif
+
+
+#endif /* __MP_VOLUME_WIDGET_H__ */
+
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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-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.main.left")) {
+ 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 (elm_genlist_decorate_mode_get(obj) == false) {
+ if (!strcmp(part, "elm.text.sub.right")) {
+ 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 (elm_genlist_decorate_mode_get(obj) )
+ { // if edit mode
+ if (!strcmp(part, "elm.icon.2"))
+ { // swallow checkbox or radio button
+ Evas_Object *content = NULL;
+ Evas_Object *icon = NULL;
+ content = elm_layout_add(obj);
+
+ 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);
+
+ elm_layout_theme_set(content, "layout", "list/C/type.2", "default");
+ elm_layout_content_set(content, "elm.swallow.content", icon);
+
+ return content;
+ }
+ }
+
+ 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);
+
+ 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;
+ item = mp_media_info_list_nth_item(svc_handle, index);
+ mp_list_item_data_t *item_data;
+
+ /* check DRM FL */
+ #if 0
+ if (mp_list_get_edit((MpList_t *)list) && mp_list_get_edit_type((MpList_t *)list) == MP_LIST_EDIT_TYPE_SHARE) {
+ char *file_name = NULL;
+ mp_media_info_get_file_path(item, &file_name);
+
+ if (mp_drm_check_foward_lock(file_name))
+ continue;
+ }
+ #endif
+#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;
+
+ 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);
+ }
+
+ 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.main.left.top")) {
+ return g_strdup(elm_entry_utf8_to_markup(list->artist));
+ } else if (!strcmp(part, "elm.text.sub.left.bottom")) {
+ 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.main.left")) {
+ 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.icon.1")) {
+ 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.icon.1")) {
+ Evas_Object *content = NULL;
+ content = elm_layout_add(obj);
+
+ 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/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);
+
+ 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 = "2line.top";//"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 = "music/1line";
+ list->itc_shuffle->item_style = "1line";
+ 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;
+ }
+
+ 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_longpressed_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ startfunc;
+
+ MpAlbumDetailList_t *list = (MpAlbumDetailList_t*)data;
+ MP_CHECK(list);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ Elm_Object_Item *item = event_info;
+ MP_CHECK(item);
+
+ char *title = NULL;
+ char *file_path = NULL;
+ int pop_item_count = 5;
+ Elm_Object_Item *temp = NULL;
+ Evas_Object *popup = NULL;
+ mp_list_item_data_t *item_data = NULL;
+
+ MpView_t *top_view = mp_view_mgr_get_top_view(GET_VIEW_MGR);
+ MP_CHECK(top_view);
+
+ if (list->scroll_drag_status || list->edit_mode == 1 || list->reorderable ||
+ MP_VIEW_SEARCH == top_view->view_type || list->shuffle_it == item)
+ return;
+
+ temp = elm_genlist_item_next_get(list->shuffle_it);
+ while (temp) {
+ item_data = elm_object_item_data_get(temp);
+ 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;
+
+ mp_media_info_get_title(item_data->handle, &title);
+ mp_media_info_get_file_path(item_data->handle, &file_path);
+
+ 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_SET_AS, NULL, NULL, NULL,
+ mp_common_list_set_as_cb, list);
+
+ mp_genlist_popup_item_append(popup, STR_MP_ADD_TO_PLAYLIST, NULL, NULL, NULL,
+ mp_common_list_add_to_playlist_cb, list);
+ if (list->track_type != MP_TRACK_BY_FAVORITE) {
+ bool favourite = false;
+ char *str = NULL;
+ Evas_Smart_Cb cb = NULL;
+
+ mp_media_info_get_favorite(item_data->handle, &favourite);
+ if (favourite) {
+ str = STR_MP_POPUP_REMOVE_FROM_FAVORITE;
+ cb = mp_common_list_unfavorite_cb;
+ }
+ else {
+ str = STR_MP_ADD_TO_FAVOURITES;
+ cb = mp_common_list_add_to_favorite_cb;
+ }
+
+ mp_genlist_popup_item_append(popup, str, NULL, NULL, NULL, cb, list);
+ }
+
+ mp_genlist_popup_item_append(popup, STR_MP_DELETE, NULL, NULL, NULL,
+ mp_common_list_delete_cb, list);
+
+#ifdef MP_FEATURE_PERSONAL_PAGE
+ if (mp_util_is_personal_page_on())
+ {
+ if (mp_util_is_in_personal_page((const char *)file_path))
+ {
+ DEBUG_TRACE("remove from personal page");
+ list->personal_page_storage = MP_LIST_PERSONAL_PAGE_PRIVATE;
+ mp_genlist_popup_item_append(popup, STR_MP_REMOVE_FROM_PERSONAL_PAGE, NULL, NULL, NULL,
+ mp_common_longpress_private_move_cb, list);
+ }
+ else
+ {
+ DEBUG_TRACE("add to personal page");
+ list->personal_page_storage = MP_LIST_PERSONAL_PAGE_NORMAL;
+ mp_genlist_popup_item_append(popup, STR_MP_ADD_TO_PERSONAL_PAGE, NULL, NULL, NULL,
+ mp_common_longpress_private_move_cb, list);
+ }
+ }
+#endif
+ mp_genlist_popup_item_append(popup, STR_MP_POPUP_MORE_INFO, NULL, NULL, NULL,
+ mp_common_list_more_info_cb, list);
+#ifdef MP_FEATURE_ALBUMART_UPDATE
+ mp_genlist_popup_item_append(popup, STR_MP_UPDATE_ALBUM_ART, NULL, NULL, NULL,
+ mp_common_list_update_albumart_cb, list);
+#endif
+
+ MP_GENLIST_ITEM_LONG_PRESSED(obj, popup, event_info);
+}*/
+
+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_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 = "1line.2";//"music/2text";
+ //list->itc->decorate_all_item_style = "decorate/edit_default";//edit_default
+ 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, "longpressed", _mp_album_detail_list_item_longpressed_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_album_detail_list_item_highlighted, list);
+ evas_object_smart_callback_add(list->genlist, "unhighlighted", _mp_album_detail_list_item_unhighlighted, list);
+
+// mp_list_bottom_counter_item_append((MpList_t *)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) 2000-2015 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 "shortcut.h"
+#include "mp-menu.h"
+#include "mp-util.h"
+#include "mp-widget.h"
+#include "mp-common.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 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.main.left.top") )
+ {
+ 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.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(elm_entry_utf8_to_markup(name));
+ }
+
+ DEBUG_TRACE("Unusing part: %s", part);
+ 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.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 = ALBUM_ICON_SIZE * elm_config_scale_get();
+ //}
+ //else
+ //{
+ //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);
+ }
+
+ MpAlbumList_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_album_list_add_to_playlist_cb, list);
+ return button;
+ }
+#ifdef MP_FEATURE_ADD_TO_HOME
+ 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_STR("IDS_MUSIC_SK2_ADD_TO_HOME"));
+ //mp_language_mgr_register_object(button, OBJ_TYPE_ELM_OBJECT, NULL, "IDS_MUSIC_SK2_ADD_TO_HOME");
+ mp_util_domain_translatable_text_set(button, "IDS_MUSIC_SK2_ADD_TO_HOME");
+ evas_object_smart_callback_add(button, "clicked", _mp_album_list_add_to_home_cb, item->handle);
+ //evas_object_data_set(button, "layout_data", layout_data);
+ return button;
+ }
+#endif
+ */
+ Evas_Object *check = NULL;
+ DEBUG_TRACE("list->edit_mode = %d", list->edit_mode);
+
+ if (list->edit_mode)//(elm_genlist_decorate_mode_get(obj))
+ { // if edit mode
+ if (!strcmp(part, "elm.icon.2"))
+ { // 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);
+ elm_layout_theme_set(content, "layout", "list/C/type.2", "default");
+ elm_layout_content_set(content, "elm.swallow.content", check);
+ return content;
+ }
+ }
+
+ return content;
+}
+
+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);
+
+ 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_ALBUM, 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_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);
+ 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, title);
+
+ //mp_util_reset_genlist_mode_item(layout_data->genlist);
+
+ //_mp_group_view_push_item_content(view_data, view_layout, title);
+
+}
+
+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_item_longpressed_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ startfunc;
+
+ MpAlbumList_t *list = (MpAlbumList_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);
+ 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);
+ 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_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);
+
+#ifdef MP_FEATURE_ADD_TO_HOME
+ const char *group_slide_style = "mode/slide2";
+#endif
+ if (!list->itc) {
+ list->itc = elm_genlist_item_class_new();
+ MP_CHECK(list->itc);
+ //list->itc->item_style = "music/2line.top";
+ list->itc->item_style = "2line.top";
+ //list->itc->decorate_all_item_style = "musiclist/edit_default";
+ //list->itc->decorate_item_style = group_slide_style;
+ 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;
+ }
+
+ /*
+ 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);
+ */
+ 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);
+ //evas_object_smart_callback_add(list->genlist, "longpressed", _mp_album_list_item_longpressed_cb, list);
+
+ elm_gengrid_align_set(list->genlist, 0.5, 0.0);
+ endfunc;
+}
+
+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)
+ {
+ 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 (ad->del_cb_invoked == 0)
+ 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) 2000-2015 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-list.h"
+#include "mp-util.h"
+#include "mp-common.h"
+#include "mp-playlist-detail-view.h"
+#include "mp-setting-ctrl.h"
+#include "mp-shortcut.h"
+#include "mp-widget.h"
+#include "mp-album-detail-view.h"
+#include "mp-artist-detail-view.h"
+#include "mp-all-view.h"
+#include "mp-play.h"
+#include "mp-player-view.h"
+#include "mp-menu.h"
+
+#define INITIAL_LOAD_COUNT 4
+#define MP_GRID_ITEMS_IN_ROW 3
+#define MP_SHUFFLE_IMG_SIZE 90
+
+enum {
+ MP_ALL_LIST_SHORTCUT,
+ MP_ALL_LIST_TABBAR,
+ MP_ALL_LIST_NOCONTENT,
+ MP_ALL_LIST_SEPERATOR,
+};
+
+static void _append_shortcut(MpAllList_t *list);
+static void _append_tabbar(MpAllList_t *list);
+static void _mp_all_list_append_album_items(MpAllList_t *list, int count);
+
+static void _mp_all_list_clear_list(MpAllList_t *list)
+{
+ startfunc;
+ MP_CHECK(list);
+
+ Elm_Object_Item *it = NULL, *next = NULL;
+ next = it = elm_genlist_item_next_get(list->tabbar_it);;
+
+ while (next) {
+ next = elm_genlist_item_next_get(it);
+ elm_object_item_del(it);
+ it = next;
+ }
+
+ if (list->shuffle_it)
+ list->shuffle_it = NULL;
+/*
+ //destroy gengrid
+ if (list->gengrid) {
+ evas_object_unref(list->gengrid);
+ list->gengrid = NULL;
+ }
+ */
+}
+
+static void _mp_all_list_destory_cb(void *thiz)
+{
+ eventfunc;
+ MpAllList_t *list = thiz;
+ MP_CHECK(list);
+
+ if (list->FwMgr) {
+ mp_floating_widget_mgr_destroy(list->FwMgr);
+ list->FwMgr = NULL;
+ }
+
+ elm_genlist_item_class_free(list->itc);
+ list->itc = NULL;
+ elm_genlist_item_class_free(list->itc_icon);
+ list->itc_icon = NULL;
+ elm_gengrid_item_class_free(list->gengrid_itc);
+ list->gengrid_itc = NULL;
+ elm_genlist_item_class_free(list->itc_shuffle);
+ list->itc_shuffle = NULL;
+
+ mp_media_info_list_destroy(list->track_list[0]);
+ mp_media_info_list_destroy(list->track_list[1]);
+
+ mp_media_info_group_list_destroy(list->group_list);
+ list->group_list = NULL;
+
+ mp_media_info_group_list_destroy(list->playlists_user);
+ list->playlists_user = NULL;
+
+ mp_media_info_group_list_destroy(list->playlists_auto);
+ list->playlists_auto = NULL;
+
+ mp_ecore_timer_del(list->load_timer);
+
+ /*evas_object_unref(list->tabbar_layout);
+ evas_object_unref(list->gengrid);*/
+
+ free(list);
+}
+
+static mp_track_type_e _mp_track_list_get_track_type(void *thiz)
+{
+ return MP_TRACK_ALL;
+}
+
+static char *
+_mp_all_list_songs_label_get(void *data, Evas_Object * obj, const char *part)
+{
+ /*startfunc;*/
+ 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.1")) {
+ char *title = NULL;
+ PROFILE_IN("_mp_all_list_songs_label_get:title");
+ mp_media_info_get_title(track, &title);
+ char *markup = NULL;
+ if (title)
+ markup = elm_entry_utf8_to_markup(title);
+ PROFILE_OUT("_mp_all_list_songs_label_get:title");
+ return markup;
+ } 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 *
+_mp_all_list_songs_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")) {
+ char *thumbpath = NULL;
+ PROFILE_IN("_mp_all_list_songs_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);
+
+ Evas_Object *icon = NULL;
+ if (mp_util_is_in_personal_page(filepath))
+ icon = mp_widget_lock_icon_create(obj, (const char *)thumbpath);
+ else
+ icon = mp_util_create_thumb_icon(obj, (const char *)thumbpath, MP_LIST_ICON_SIZE, MP_LIST_ICON_SIZE);
+
+ PROFILE_OUT("_mp_all_list_songs_icon_get");
+ return icon;
+#else
+ Evas_Object *icon = NULL;
+ icon = mp_util_create_thumb_icon(obj, thumbpath, MP_LIST_ICON_SIZE, MP_LIST_ICON_SIZE);
+ PROFILE_OUT("_mp_all_list_songs_icon_get");
+ return icon;
+#endif
+ }
+
+ return NULL;
+}
+
+
+static void
+_mp_all_list_songs_sel_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ eventfunc;
+
+ MP_LIST_ITEM_IGNORE_SELECT(obj);
+
+ Elm_Object_Item *gli = (Elm_Object_Item *) event_info;
+ elm_genlist_item_selected_set(gli, FALSE);
+
+ MpList_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);
+
+ PROFILE_IN("mp_common_play_track_list");
+ mp_common_play_track_list(item, obj);
+ PROFILE_OUT("mp_common_play_track_list");
+
+ return;
+}
+
+static void _mp_all_list_append_songs_item(MpAllList_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;
+ item = mp_media_info_list_nth_item(svc_handle, index);
+ mp_list_item_data_t *item_data;
+#ifdef MP_FEATURE_CLOUD
+ if (list->cloud_view_type != MP_TRACK_LIST_VIEW_ALL) {
+ mp_storage_type_e storage;
+ int ret = mp_media_info_get_storage_type(item, &storage);
+ if (ret != 0) {
+ DEBUG_TRACE("Fail to mp_media_info_get_title, ret[%d], index[%d]", ret, index);
+ goto END;
+ }
+ if (storage == MP_STORAGE_CLOUD) {
+ if (list->cloud_view_type == MP_TRACK_LIST_VIEW_LOCAL)
+ continue;
+ } else {
+ if (list->cloud_view_type == MP_TRACK_LIST_VIEW_CLOUD)
+ continue;
+ }
+ }
+#endif
+ /* check DRM FL */
+ if (mp_list_get_edit((MpList_t *)list) && mp_list_get_edit_type((MpList_t*)list) == MP_LIST_EDIT_TYPE_SHARE) {
+ char *file_name = NULL;
+ mp_media_info_get_file_path(item, &file_name);
+ }
+
+#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_status == FALSE)
+ 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 *title = NULL;
+ mp_media_info_get_title(item_data->handle, &title);
+
+ item_data->it = elm_genlist_item_append(list->genlist, list->itc, item_data, NULL,
+ ELM_GENLIST_ITEM_NONE, _mp_all_list_songs_sel_cb, list);
+ }
+#ifdef MP_FEATURE_CLOUD
+ END:
+#endif
+ endfunc;
+
+}
+
+static void
+_mp_all_list_songs_item_del_cb(void *data, Evas_Object * obj)
+{
+ mp_list_item_data_t *item_data = data;
+ SAFE_FREE(item_data);
+}
+
+static Eina_Bool
+_mp_all_list_track_lazy_load(void *thiz)
+{
+ startfunc;
+ int count = 0, res = 0;
+ MpAllList_t *list = thiz;
+ mp_media_list_h svc_handle = NULL;
+ MP_CHECK_FALSE(list);
+
+ res = mp_media_info_list_count(MP_TRACK_ALL, NULL, NULL, NULL, 0, &count);
+ MP_CHECK_FALSE(res == 0);
+
+ count = count - INITIAL_LOAD_COUNT;
+
+ mp_media_info_list_create(&svc_handle, MP_TRACK_ALL, NULL, NULL, NULL, 0, INITIAL_LOAD_COUNT, count);
+ _mp_all_list_append_songs_item(list, svc_handle, count);
+
+ if (list->track_list[1]) {
+ mp_media_info_list_destroy(list->track_list[1]);
+ }
+ list->track_list[1] = svc_handle;
+
+ list->load_timer = NULL;
+ return EINA_FALSE;
+}
+
+static void
+_mp_all_list_selected_item_data_get(void *thiz, GList **selected)
+{
+ startfunc;
+ MpAllList_t *list = thiz;
+ GList *sel_list = NULL;
+
+ if (!list->genlist)
+ goto END;
+
+ Elm_Object_Item *item = elm_genlist_item_next_get(list->tabbar_it);
+ 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);
+ }
+ END:
+ if (selected)
+ *selected = sel_list;
+}
+
+static unsigned int
+_mp_all_list_get_select_count(void *thiz)
+{
+ startfunc;
+ MpAllList_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_item_next_get(list->tabbar_it);
+ while (item) {
+ data = elm_object_item_data_get(item);
+ item = mp_list_item_next_get(item);
+ if (data && data->checked) {
+ count++;
+ }
+ }
+ return count;
+}
+
+static char *
+_mp_all_list_shuffle_text_get(void *data, Evas_Object *obj, const char *part)
+{
+ startfunc;
+ char *result = NULL;
+
+ if (!strcmp(part, "elm.text")) {
+ MpAllList_t *list = evas_object_data_get(obj, "list_data");
+ MP_CHECK_NULL(list);
+
+ int count = 0;
+ mp_media_info_list_count(MP_TRACK_ALL, NULL, NULL, NULL, 0, &count);
+ list->track_count = count;
+ result = (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);
+ }
+ return result;
+}
+
+Evas_Object *
+_mp_all_list_shuffle_icon_get(void *data, Evas_Object * obj, const char *part)
+{
+ if (!strcmp(part, "elm.icon.2")) {
+ Evas_Object *icon;
+ icon = mp_util_create_image(obj, IMAGE_EDJ_NAME, MP_ICON_SHUFFLE, MP_LIST_SHUFFLE_ICON_SIZE, MP_LIST_SHUFFLE_ICON_SIZE);
+ return icon;
+ }
+ return NULL;
+}
+
+static void
+_mp_all_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);
+
+ MpList_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);
+
+ mp_play_control_shuffle_set(NULL, true);
+ mp_common_play_track_list(item, obj);
+
+ return;
+}
+
+void _mp_all_list_append_shuffle_item(MpAllList_t *list)
+{
+ startfunc;
+ MP_CHECK(list);
+
+ if (list->tab_status != MP_TAB_SONGS)
+ return;
+
+ if (NULL == list->itc_shuffle) {
+ list->itc_shuffle = elm_genlist_item_class_new();
+ list->itc_shuffle->item_style = "music/1text.2icon.3";/*"music/3text.1icon.2"*/
+ list->itc_shuffle->func.text_get = _mp_all_list_shuffle_text_get;
+ list->itc_shuffle->decorate_all_item_style = NULL;
+ list->itc_shuffle->func.content_get = _mp_all_list_shuffle_icon_get;
+ list->itc_shuffle->func.del = _mp_all_list_songs_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_insert_after(list->genlist, list->itc_shuffle, item_data, NULL, list->tabbar_it,
+ ELM_GENLIST_ITEM_NONE, _mp_all_list_shuffle_cb, list);
+
+ endfunc;
+}
+
+static void _mp_all_list_load_track_list(MpAllList_t *list)
+{
+ startfunc;
+ MP_CHECK(list);
+
+ /*media-svc related*/
+ mp_media_list_h svc_handle = NULL;
+ int count = 0;
+
+ list->itc->item_style = "music/tracklist/2text.1icon.4";/*"music/3text.1icon.2"*/
+ list->itc->decorate_all_item_style = "createlist/edit_default";/*"tracklist/edit_default"*/
+ list->itc->func.text_get = _mp_all_list_songs_label_get;
+ list->itc->func.content_get = _mp_all_list_songs_icon_get;
+ list->itc->func.del = _mp_all_list_songs_item_del_cb;
+
+ list->list_type = MP_LIST_TYPE_ALL;
+
+ mp_media_info_list_count(MP_TRACK_ALL, NULL, NULL, NULL, 0, &count);
+ list->track_count = count;
+
+ if (count) {
+ _mp_all_list_append_shuffle_item(list);
+
+ static int initial = 1;
+
+ if (initial) {
+ if (list->cloud_view_type == MP_TRACK_LIST_VIEW_ALL && count > INITIAL_LOAD_COUNT) {
+ count = INITIAL_LOAD_COUNT;
+ list->load_timer = ecore_timer_add(0.3, _mp_all_list_track_lazy_load, list);
+ }
+ initial = 0;
+ }
+
+ /*get data from DB*/
+ PROFILE_IN("mp_media_info_list_create");
+ mp_media_info_list_create(&svc_handle, MP_TRACK_ALL, NULL, NULL, NULL, 0, 0, count);
+ PROFILE_OUT("mp_media_info_list_create");
+
+ PROFILE_IN("_mp_all_list_append_songs_item");
+ _mp_all_list_append_songs_item(list, svc_handle, count);
+ PROFILE_OUT("_mp_all_list_append_songs_item");
+
+ if (list->track_list[0]) {
+ mp_media_info_list_destroy(list->track_list[0]);
+ }
+ list->track_list[0] = svc_handle;
+
+ list->get_select_count = _mp_all_list_get_select_count;
+ } else {
+ Elm_Object_Item *it =
+ elm_genlist_item_append(list->genlist, list->itc_icon,
+ (void *)MP_ALL_LIST_NOCONTENT, NULL,
+ ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ elm_genlist_item_select_mode_set(it, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+ }
+}
+
+static void
+_mp_all_list_create_auto_playlist_detail_view(void *data, mp_list_item_data_t *item_data, char *name)
+{
+ MP_CHECK(item_data);
+
+ 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);
+
+ 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);
+}
+
+
+static void
+_mp_all_list_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;
+
+ MP_LIST_ITEM_IGNORE_SELECT(obj);
+
+ Elm_Object_Item *gli = (Elm_Object_Item *) event_info;
+ elm_genlist_item_selected_set(gli, 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");
+
+
+ _mp_all_list_create_auto_playlist_detail_view(data, item_data, name);
+}
+
+static void
+_mp_all_list_append_auto_playlists(void *thiz)
+{
+ int i;
+ int playlist_state = 0;
+
+ MpAllList_t *list = thiz;
+ MP_CHECK(list);
+
+ if (list->playlists_auto)
+ mp_media_info_group_list_destroy(list->playlists_auto);
+
+ mp_setting_playlist_get_state(&playlist_state);
+
+ mp_media_info_group_list_create(&(list->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<<i);
+ /*DEBUG_TRACE("index: %d, state: %d",i, enable);*/
+ if (!enable) {
+ continue;
+ }
+
+ mp_media_info_h item;
+ item = mp_media_info_group_list_nth_item(list->playlists_auto, i);
+
+ 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;
+
+ list->auto_playlist_count++;
+ item_data->it = elm_genlist_item_append(list->genlist, list->itc,
+ item_data, NULL,
+ ELM_GENLIST_ITEM_NONE, _mp_all_list_auto_playlist_select_cb,
+ list);
+ }
+}
+
+static void
+_mp_all_list_user_playlist_select_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ eventfunc;
+
+ int ret = 0;
+ char *name = NULL;
+ int p_id = 0;
+ mp_list_item_data_t *item_data = NULL;
+
+ MP_LIST_ITEM_IGNORE_SELECT(obj);
+
+ Elm_Object_Item *gli = (Elm_Object_Item *) event_info;
+ elm_genlist_item_selected_set(gli, FALSE);
+ if (elm_genlist_item_flip_get(gli)) {
+ return;
+ }
+
+ 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");
+
+
+ MpViewMgr_t *view_manager = mp_view_mgr_get_view_manager();
+ MpPlaylistDetailView_t *view_plst_detail = mp_playlist_detail_view_create(view_manager->navi, MP_TRACK_BY_PLAYLIST, name, p_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);
+}
+
+static void
+_mp_all_list_append_user_playlists(void *thiz)
+{
+ startfunc;
+ gint count = -1;
+ gint index = 0;
+ int ret = 0;
+
+ MpAllList_t *list = (MpAllList_t *)thiz;
+ mp_retm_if (!list, "plst is null");
+
+ mp_media_info_group_list_count(MP_GROUP_BY_PLAYLIST, NULL, NULL, &count);
+
+ if (count < 0)
+ goto END;
+
+ ret = mp_media_info_group_list_create(&list->playlists_user, MP_GROUP_BY_PLAYLIST, NULL, NULL, 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(list->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 = list->group_type;*/
+ item_data->index = index;
+
+ item_data->it = elm_genlist_item_append(list->genlist, list->itc, item_data, NULL,
+ ELM_GENLIST_ITEM_NONE, _mp_all_list_user_playlist_select_cb, list);
+
+ }
+
+ END:
+ endfunc;
+}
+
+static char *
+_mp_all_list_playlist_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.1") || !strcmp(part, "elm.slide.text.1")) {
+
+ 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");
+
+ if (!strcmp(part, "elm.text.1"))
+ return elm_entry_utf8_to_markup(GET_STR(name));
+ else
+ return g_strdup(GET_STR(name));
+ } else if (!strcmp(part, "elm.text.2")) {
+ int count = -1;
+ int plst_id = -1;
+
+ /* 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");
+ if (plst_id < 0)
+ return NULL;
+
+ ret = mp_media_info_list_count(MP_TRACK_BY_PLAYLIST, NULL, NULL, NULL, plst_id, &count);
+ mp_retvm_if (ret != 0, NULL, "Fail to get count");
+ mp_retvm_if (count < 0, NULL, "Fail to get count");
+ return g_strdup_printf("(%d)", count);
+ }
+
+ return NULL;
+}
+
+Evas_Object *
+_mp_all_list_playlist_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;
+
+ mp_media_info_group_get_playlist_id(plst, &playlist_id);
+
+ if (!strcmp(part, "elm.icon")) {
+ if (!playlist_id) {
+ eo = mp_util_create_thumb_icon(obj, DEFAULT_THUMBNAIL, MP_LIST_ICON_SIZE,
+ MP_LIST_ICON_SIZE);
+ } else {
+ ret = mp_media_info_playlist_get_thumbnail_path(plst, &thumb_path);
+ mp_retvm_if (ret != 0, NULL, "Fail to get value");
+ eo = mp_util_create_thumb_icon(obj, thumb_path, MP_LIST_ICON_SIZE, MP_LIST_ICON_SIZE);
+ }
+ }
+
+ return eo;
+}
+
+static void
+_mp_all_list_playlist_item_del_cb(void *data, Evas_Object * obj)
+{
+ 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_all_list_load_playlists(MpAllList_t *list)
+{
+ startfunc;
+ int count_user = 0, count_auto = 0, res = 0, i, playlist_state = 0;
+ MP_CHECK(list);
+
+ list->itc->item_style = "music/musiclist/2text.1icon";
+ list->itc->decorate_all_item_style = "createlist/edit_default";
+ list->itc->func.text_get = _mp_all_list_playlist_label_get;
+ list->itc->func.content_get = _mp_all_list_playlist_icon_get;
+ list->itc->func.del = _mp_all_list_playlist_item_del_cb;
+
+ list->list_type = MP_LIST_TYPE_PLAYLIST;
+
+ res = mp_media_info_group_list_count(MP_GROUP_BY_PLAYLIST, NULL, NULL, &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++;
+ }
+ }
+
+ if (count_auto + count_user) {
+ /* load list */
+ list->auto_playlist_count = 0;
+ if (count_auto)
+ _mp_all_list_append_auto_playlists(list);
+ if (count_user)
+ _mp_all_list_append_user_playlists(list);
+
+ } else {
+ Elm_Object_Item *it =
+ elm_genlist_item_append(list->genlist, list->itc_icon,
+ (void *)MP_ALL_LIST_NOCONTENT, NULL,
+ ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ elm_genlist_item_select_mode_set(it, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+ }
+
+}
+
+static char *
+_mp_all_list_album_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.1") || !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")) {
+ 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);
+ }
+
+ DEBUG_TRACE("Unusing part: %s", part);
+ return NULL;
+}
+
+
+Evas_Object *
+_mp_all_list_album_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();
+
+ if (!strcmp(part, "elm.icon") || !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_thumb_icon(obj, thumb_name, w, h);
+ }
+
+ return icon;
+}
+
+static void
+_mp_all_list_album_grid_item_select_tts_double_action_cb(void *data, Evas_Object *obj, Elm_Object_Item *item)
+{
+ eventfunc;
+ mp_list_item_data_t *item_data = data;
+ int ret = 0;
+ char *name = NULL;
+ char *artist = NULL;
+ char *thumbnail = NULL;
+
+ if (mp_view_mgr_get_view(GET_VIEW_MGR, MP_VIEW_ALBUM_DETAIL)) {
+ ERROR_TRACE("album detail view already exist..");
+ return;
+ }
+
+ ret = mp_media_info_group_get_main_info(item_data->handle, &name);
+ ret = mp_media_info_group_get_sub_info(item_data->handle, &artist);
+ mp_media_info_group_get_thumbnail_path(item_data->handle, &thumbnail);
+ mp_retm_if (ret != 0, "Fail to get value");
+ mp_retm_if (name == NULL, "Fail to get value");
+
+ /* 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, name);
+
+}
+
+
+static void
+_mp_all_list_album_grid_item_select_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
+{
+ eventfunc;
+ mp_list_item_data_t *item_data = data;
+ int ret = 0;
+ char *name = NULL;
+ char *artist = NULL;
+ char *thumbnail = NULL;
+
+ MP_LIST_ITEM_IGNORE_SELECT(obj);
+
+ if (mp_view_mgr_get_view(GET_VIEW_MGR, MP_VIEW_ALBUM_DETAIL)) {
+ ERROR_TRACE("album detail view already exist..");
+ return;
+ }
+
+ ret = mp_media_info_group_get_main_info(item_data->handle, &name);
+ ret = mp_media_info_group_get_sub_info(item_data->handle, &artist);
+ mp_media_info_group_get_thumbnail_path(item_data->handle, &thumbnail);
+ mp_retm_if (ret != 0, "Fail to get value");
+ mp_retm_if (name == NULL, "Fail to get value");
+
+ /* 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, name);
+
+}
+
+
+Evas_Object *
+_mp_album_list_grid_get(void *data, Evas_Object * obj, const char *part)
+{
+ Evas_Object *content = NULL;
+ mp_grid_item_data_t *grid_data = data;
+ int thumbnail_size = 0;
+
+ MP_CHECK_NULL(grid_data);
+ MP_CHECK_NULL(grid_data->item_data);
+
+ bool landscape = mp_util_is_landscape();
+ /*MpAllList_t *list = evas_object_data_get(obj, "list_data");*/
+
+ if (!landscape) {
+ content = mp_common_load_edj(obj, MP_EDJ_NAME, "artist_album_grid_layout");
+ 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_size_hint_min_set(content, 0, 319 * elm_config_scale_get());
+ thumbnail_size = MP_ALBUM_THUMB_ICON_SIZE;
+ } else {
+ content = mp_common_load_edj(obj, MP_EDJ_NAME, "album_grid_layout_ld");
+ 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_size_hint_min_set(content, 0, 322 * elm_config_scale_get());
+ thumbnail_size = 230;
+ }
+
+ int i;
+ for (i = 0; i < grid_data->item_count; i++) {
+ if (!grid_data->item_data[i])
+ break;
+
+ char *main_text = NULL, *sub_text = NULL;
+ char *thumb_name = NULL;
+ char *part = g_strdup_printf("item_%d", i);
+ Evas_Object *sub_item = NULL;
+ if (!landscape)
+ sub_item = mp_common_load_edj(content, MP_EDJ_NAME, "artist_album_grid_item");
+ else
+ sub_item = mp_common_load_edj(content, MP_EDJ_NAME, "album_grid_item_ld");
+
+ mp_media_info_group_get_thumbnail_path(grid_data->item_data[i]->handle, &thumb_name);
+ mp_media_info_group_get_main_info(grid_data->item_data[i]->handle, &main_text);
+ mp_media_info_group_get_sub_info(grid_data->item_data[i]->handle, &sub_text);
+
+ elm_object_part_text_set(sub_item, "elm.text.1", main_text);
+ elm_object_part_text_set(sub_item, "elm.text.2", sub_text);
+ elm_object_signal_callback_add(sub_item, "clicked", "*", _mp_all_list_album_grid_item_select_cb, grid_data->item_data[i]);
+
+ Evas_Object *icon = mp_util_create_thumb_icon(sub_item, thumb_name, thumbnail_size, thumbnail_size);
+ elm_object_part_content_set(sub_item, "albumart", icon);
+
+ elm_object_part_content_set(content, part, sub_item);
+ evas_object_show(sub_item);
+ }
+
+ return content;
+}
+
+static void
+_mp_all_list_group_item_del_cb(void *data, Evas_Object *obj)
+{
+ mp_list_item_data_t *item_data = data;
+ IF_FREE(item_data);
+}
+
+static void
+_mp_all_list_grid_item_del_cb(void *data, Evas_Object *obj)
+{
+ mp_grid_item_data_t *grid_data = data;
+ MP_CHECK(grid_data);
+
+ int i;
+ for (i = 0; i < grid_data->item_count; i++) {
+ IF_FREE(grid_data->item_data[i]);
+ }
+ IF_FREE(grid_data->item_data);
+
+ free(grid_data);
+}
+
+static void
+_mp_all_list_album_select_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ eventfunc;
+ MpAllList_t *list = data;
+ int ret = 0;
+ int index = 0;/*(int)data;*/
+ char *name = NULL;
+ char *artist = NULL;
+ char *title = NULL;
+ char *thumbnail = NULL;
+
+ MP_LIST_ITEM_IGNORE_SELECT(obj);
+
+ 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;
+ if (index >= 0) {
+ 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);
+ 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 void _mp_all_list_append_album_items(MpAllList_t *list, int count)
+{
+ startfunc;
+ MP_CHECK(list);
+
+ /*media-svc related*/
+ gint index = 0;
+ int ret = 0;
+ bool landscape = mp_util_is_landscape();
+
+ if (count < 0)
+ goto END;
+
+ if (list->group_list) {
+ mp_media_info_group_list_destroy(list->group_list);
+ list->group_list = NULL;
+ }
+
+ ret = mp_media_info_group_list_create(&list->group_list, MP_GROUP_BY_ALBUM, NULL, NULL, 0, count);
+
+ if (ret != 0) {
+ DEBUG_TRACE("Fail to get items");
+ goto END;
+ }
+
+ for (index = 0; index < count; ) {
+ mp_media_info_h item = NULL;
+
+ if (list->display_mode == MP_LIST_DISPLAY_MODE_THUMBNAIL) {
+ mp_grid_item_data_t *grid_data = calloc(1, sizeof(mp_grid_item_data_t));
+ MP_CHECK(grid_data);
+
+ int item_count = 3;
+ if (landscape)
+ item_count = 5;
+
+ grid_data->item_count = item_count;
+ grid_data->item_data = calloc(item_count, sizeof(mp_list_item_data_t *));
+
+ int j;
+ for (j = 0; j < item_count; j++) {
+ item = mp_media_info_group_list_nth_item(list->group_list, index);
+ if (!item) {
+ DEBUG_TRACE("No more items");
+ index++;
+ break;
+ }
+
+ mp_list_item_data_t *item_data;
+ item_data = calloc(1, sizeof(mp_list_item_data_t));
+ if (item_data) {
+ item_data->handle = item;
+ item_data->index = index;
+ grid_data->item_data[j] = item_data;
+ }
+ index++;
+
+ }
+ DEBUG_TRACE("index: %d, count: %d", index, count);
+ if (grid_data->item_data[0] == NULL) {
+ IF_FREE(grid_data->item_data);
+ IF_FREE(grid_data);
+ goto END;
+ }
+ elm_genlist_item_append(list->genlist, list->itc, grid_data, NULL,
+ ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ } else {
+ item = mp_media_info_group_list_nth_item(list->group_list, index);
+ if (!item) {
+ WARN_TRACE("Fail to mp_media_info_group_list_nth_item, ret[%d], index[%d]", ret, index);
+ goto END;
+ }
+ 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->it = elm_genlist_item_append(list->genlist, list->itc, item_data, NULL,
+ ELM_GENLIST_ITEM_NONE, _mp_all_list_album_select_cb, (void *)list);
+ index++;
+ }
+
+ }
+
+ END:
+ endfunc;
+}
+
+static void _mp_all_list_load_album_list(MpAllList_t *list)
+{
+ startfunc;
+ int count = 0, res = 0;
+ MP_CHECK(list);
+
+ res = mp_media_info_group_list_count(MP_GROUP_BY_ALBUM, NULL, NULL, &count);
+ MP_CHECK(res == 0);
+
+ list->list_type = MP_LIST_TYPE_GROUP;
+
+ if (count) {
+ if (list->display_mode == MP_LIST_DISPLAY_MODE_THUMBNAIL) {
+ list->itc->item_style = "1icon/no_padding_line";
+ list->itc->func.content_get = _mp_album_list_grid_get;
+ list->itc->func.text_get = NULL;
+ list->itc->func.del = _mp_all_list_grid_item_del_cb;
+/*
+ if (!list->gengrid_itc)
+ list->gengrid_itc= elm_gengrid_item_class_new();
+
+ bool landscape = mp_util_is_landscape();
+ DEBUG_TRACE("landscape: %d", landscape);
+
+ if (landscape)
+ list->gengrid_itc->item_style = "music/landscape/album_grid";
+ else
+ list->gengrid_itc->item_style = "music/album_grid";
+ list->gengrid_itc->func.text_get = _mp_all_list_album_label_get;
+ list->gengrid_itc->func.content_get = _mp_all_list_album_icon_get;
+ list->gengrid_itc->func.del = _mp_all_list_group_item_del_cb;
+*/
+/*
+ Elm_Object_Item* item= elm_genlist_item_append(list->genlist, list->itc, NULL, list->tabbar_it,
+ ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+*/
+ _mp_all_list_append_album_items(list, count);
+
+ } else {
+ list->itc->item_style = "music/3text.1icon.2";
+ list->itc->func.text_get = _mp_all_list_album_label_get;
+ list->itc->func.content_get = _mp_all_list_album_icon_get;
+ list->itc->func.del = _mp_all_list_group_item_del_cb;
+
+ /* load list */
+ _mp_all_list_append_album_items(list, count);
+ }
+
+ } else {
+ Elm_Object_Item *it =
+ elm_genlist_item_append(list->genlist, list->itc_icon,
+ (void *)MP_ALL_LIST_NOCONTENT, NULL,
+ ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ elm_genlist_item_select_mode_set(it, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+ }
+
+}
+
+static void
+_mp_all_list_artist_select_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ MpAllList_t *list = data;
+ eventfunc;
+ int ret = 0;
+ int index = 0;/*(int)data;*/
+ char *name = NULL;
+ char *thumbnail = NULL;
+
+ MP_LIST_ITEM_IGNORE_SELECT(obj);
+
+ 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;
+ if (index >= 0) {
+ 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");
+ }
+
+ /* 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, name);
+
+}
+
+static void _mp_all_list_append_artist_items(void *thiz, int count)
+{
+ MpAllList_t *list = thiz;
+ MP_CHECK(list);
+
+ /*media-svc related*/
+ mp_media_list_h svc_handle;
+ gint index = 0;
+ int ret = 0;
+ bool landscape = mp_util_is_landscape();
+
+ DEBUG_TRACE("count: %d", count);
+
+ if (count < 0)
+ goto END;
+
+ ret = mp_media_info_group_list_create(&svc_handle, MP_GROUP_BY_ARTIST, NULL, NULL, 0, count);
+
+ if (ret != 0) {
+ DEBUG_TRACE("Fail to get items");
+ goto END;
+ }
+
+ if (list->group_list) {
+ mp_media_info_group_list_destroy(list->group_list);
+ }
+ list->group_list = svc_handle;
+
+ for (index = 0; index < count; ) {
+ mp_media_info_h item = NULL;
+
+ if (list->display_mode == MP_LIST_DISPLAY_MODE_THUMBNAIL) {
+ mp_grid_item_data_t *grid_data = calloc(1, sizeof(mp_grid_item_data_t));
+ MP_CHECK(grid_data);
+
+ int item_count = 3;
+
+ if (landscape)
+ item_count = 7;
+
+ grid_data->item_count = item_count;
+ grid_data->item_data = calloc(item_count, sizeof(mp_list_item_data_t *));
+
+ int j;
+ for (j = 0; j < item_count; j++) {
+ item = mp_media_info_group_list_nth_item(list->group_list, index);
+ if (!item) {
+ DEBUG_TRACE("No more items");
+ index++;
+ break;
+ }
+
+ mp_list_item_data_t *item_data;
+ item_data = calloc(1, sizeof(mp_list_item_data_t));
+ if (item_data) {
+ item_data->handle = item;
+ item_data->index = index;
+ grid_data->item_data[j] = item_data;
+ }
+ index++;
+
+ }
+ DEBUG_TRACE("index: %d, count: %d", index, count);
+ if (grid_data->item_data[0] == NULL) {
+ IF_FREE(grid_data->item_data);
+ IF_FREE(grid_data);
+ goto END;
+ }
+ elm_genlist_item_append(list->genlist, list->itc, grid_data, NULL,
+ ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ } else {
+ 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_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->display_mode = list->display_mode;
+
+ item_data->it = elm_genlist_item_append(list->genlist, list->itc, item_data, NULL,
+ ELM_GENLIST_ITEM_NONE, _mp_all_list_artist_select_cb, (void *)list);
+ index++;
+ }
+
+ }
+
+
+ END:
+ endfunc;
+}
+
+static void
+_mp_all_list_artist_more_btn_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ eventfunc;
+ mp_list_item_data_t *item = data;
+ MP_CHECK(item);
+ MP_CHECK(item->it);
+ item->artist_album_page++;
+ mp_debug("next artist album page = %d", item->artist_album_page);
+ elm_genlist_item_fields_update(item->it, "elm.icon", ELM_GENLIST_ITEM_FIELD_CONTENT);
+}
+
+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);
+
+ bool landscape = mp_util_is_landscape();
+ Evas_Object *layout = NULL;
+
+ if (landscape)
+ layout = mp_common_load_edj(obj, MP_EDJ_NAME, "landscape_artist_list_default");
+ else
+ layout = mp_common_load_edj(obj, MP_EDJ_NAME, "artist_list_default");
+ evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ if (landscape)
+ evas_object_size_hint_min_set(layout, 0, 236 * elm_config_scale_get());
+ else
+ evas_object_size_hint_min_set(layout, 0, 232 * elm_config_scale_get());
+
+ char *artist_name = NULL;
+ mp_media_info_group_get_main_info(item->handle, &artist_name);
+ elm_object_part_text_set(layout, "elm.text.1", artist_name);
+
+ 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);
+ mp_util_domain_translatable_part_text_set(layout, "elm.text.2", sub_text);
+ SAFE_FREE(sub_text);
+
+ if (landscape) {
+ int offset = item->artist_album_page * 7;
+ if (offset >= album_count) {
+ item->artist_album_page = 0;
+ offset = 0;
+ }
+
+ int i;
+ int diff = album_count - offset;
+ int count = (diff > 7) ? 7 : diff;
+ for (i = offset; i < (offset+count) ; i++) {
+ char *path = album_thumbs[i];
+ Evas_Object *thumb = mp_util_create_thumb_icon(obj, path, 166 * elm_config_scale_get(), 166 * elm_config_scale_get());
+ char *part = g_strdup_printf("elm.icon.%d", (i - offset + 1));
+ elm_object_part_content_set(layout, part, thumb);
+ IF_FREE(part);
+ }
+ } else {
+ int offset = item->artist_album_page * 4;
+ if (offset >= album_count) {
+ item->artist_album_page = 0;
+ offset = 0;
+ }
+
+ int i;
+ int diff = album_count - offset;
+ int count = (diff > 4) ? 4 : diff;
+ for (i = offset; i < (offset+count) ; i++) {
+ char *path = album_thumbs[i];
+ Evas_Object *thumb = mp_util_create_thumb_icon(obj, path, 162 * elm_config_scale_get(), 162 * elm_config_scale_get());
+ char *part = g_strdup_printf("elm.icon.%d", (i - offset + 1));
+ elm_object_part_content_set(layout, part, thumb);
+ IF_FREE(part);
+ }
+ }
+ evas_object_show(layout);
+ return layout;
+}
+
+Evas_Object *
+_mp_all_list_artist_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();
+
+ if (item->display_mode == MP_LIST_DISPLAY_MODE_NORMAL) {
+ if (!g_strcmp0(part, "elm.icon")) {
+ return _mp_artist_list_album_icon_get(obj, item);
+ } else if (!g_strcmp0(part, "elm.icon.more")) {
+ int album_count = 0;
+ mp_media_info_group_get_album_thumnail_paths(svc_item, NULL, &album_count);
+ if (landscape) {
+ if (album_count <= 7)
+ return NULL;
+ } else {
+ if (album_count <= 4)
+ return NULL;
+ }
+
+ Evas_Object *btn = elm_button_add(obj);
+ elm_object_style_set(btn, "music/artist/more");
+ evas_object_propagate_events_set(btn, EINA_FALSE);
+ evas_object_smart_callback_add(btn, "clicked", _mp_all_list_artist_more_btn_cb, item);
+ return btn;
+ }
+ }
+
+ if (!strcmp(part, "elm.icon") || !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 = MP_ARTIST_THUMB_ICON_SIZE * elm_config_scale_get();
+ } else {
+ w = MP_LIST_ICON_SIZE;
+ }
+ h = w;
+ icon = mp_util_create_thumb_icon(obj, thumb_name, w, h);
+ return icon;
+ }
+ return icon;
+}
+
+static char *
+_mp_all_list_artist_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.1") || !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");
+ return g_strdup(name);
+ } else if (!strcmp(part, "elm.text.2")) {
+ int count = -1;
+ ret = mp_media_info_group_get_main_info(svc_item, &name);
+ mp_retvm_if ((ret != 0), NULL, "Fail to get value");
+
+
+ ret = mp_media_info_list_count(MP_TRACK_BY_ARTIST, name, NULL, NULL, 0, &count);
+ mp_retvm_if (ret != 0, NULL, "Fail to get count");
+ mp_retvm_if (count < 0, NULL, "Fail to get count");
+ return g_strdup_printf("(%d)", count);
+ }
+
+ return NULL;
+}
+
+static void
+_mp_all_list_artist_grid_item_select_tts_double_action_cb(void *data, Evas_Object *obj, Elm_Object_Item *item)
+{
+ eventfunc;
+ mp_list_item_data_t *item_data = data;
+ int ret = 0;
+ char *name = NULL;
+ char *thumbnail = NULL;
+
+ if (mp_view_mgr_get_view(GET_VIEW_MGR, MP_VIEW_ARTIST_DETAIL)) {
+ ERROR_TRACE("album detail view already exist..");
+ return;
+ }
+
+ ret = mp_media_info_group_get_main_info(item_data->handle, &name);
+ mp_media_info_group_get_thumbnail_path(item_data->handle, &thumbnail);
+ mp_retm_if (ret != 0, "Fail to get value");
+ mp_retm_if (name == NULL, "Fail to get value");
+
+ /* 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, name);
+
+}
+
+static void
+_mp_all_list_artist_grid_item_select_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
+{
+ eventfunc;
+ mp_list_item_data_t *item_data = data;
+ int ret = 0;
+ char *name = NULL;
+ char *thumbnail = NULL;
+
+ MP_LIST_ITEM_IGNORE_SELECT(obj);
+
+ if (mp_view_mgr_get_view(GET_VIEW_MGR, MP_VIEW_ARTIST_DETAIL)) {
+ ERROR_TRACE("album detail view already exist..");
+ return;
+ }
+
+ ret = mp_media_info_group_get_main_info(item_data->handle, &name);
+ mp_media_info_group_get_thumbnail_path(item_data->handle, &thumbnail);
+ mp_retm_if (ret != 0, "Fail to get value");
+ mp_retm_if (name == NULL, "Fail to get value");
+
+ /* 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, name);
+
+}
+
+Evas_Object *
+_mp_artist_list_grid_get(void *data, Evas_Object * obj, const char *part)
+{
+ Evas_Object *content = NULL;
+ mp_grid_item_data_t *grid_data = data;
+ int thumbnail_size = 0;
+
+ MP_CHECK_NULL(grid_data);
+ MP_CHECK_NULL(grid_data->item_data);
+
+ bool landscape = mp_util_is_landscape();
+ /*MpAllList_t *list = evas_object_data_get(obj, "list_data");*/
+
+ if (!landscape) {
+ content = mp_common_load_edj(obj, MP_EDJ_NAME, "artist_album_grid_layout");
+ 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_size_hint_min_set(content, 0, 319 * elm_config_scale_get());
+ thumbnail_size = MP_ALBUM_THUMB_ICON_SIZE;
+ } else {
+ content = mp_common_load_edj(obj, MP_EDJ_NAME, "artist_album_grid_layout_ld");
+ 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_size_hint_min_set(content, 0, 230 * elm_config_scale_get());
+ thumbnail_size = 166;
+ }
+
+ int i;
+ for (i = 0; i < grid_data->item_count; i++) {
+ if (!grid_data->item_data[i])
+ break;
+
+ char *main_text = NULL, *sub_text = NULL;
+ char *thumb_name = NULL;
+ char *part = g_strdup_printf("item_%d", i);
+ Evas_Object *sub_item = NULL;
+
+ if (!landscape)
+ sub_item = mp_common_load_edj(content, MP_EDJ_NAME, "artist_album_grid_item");
+ else
+ sub_item = mp_common_load_edj(content, MP_EDJ_NAME, "artist_album_grid_item_ld");
+
+ mp_media_info_group_get_thumbnail_path(grid_data->item_data[i]->handle, &thumb_name);
+ mp_media_info_group_get_main_info(grid_data->item_data[i]->handle, &main_text);
+ mp_media_info_group_get_sub_info(grid_data->item_data[i]->handle, &sub_text);
+
+ elm_object_part_text_set(sub_item, "elm.text.1", main_text);
+ elm_object_part_text_set(sub_item, "elm.text.2", sub_text);
+ elm_object_signal_callback_add(sub_item, "clicked", "*", _mp_all_list_artist_grid_item_select_cb, grid_data->item_data[i]);
+
+ Evas_Object *icon = mp_util_create_thumb_icon(sub_item, thumb_name, thumbnail_size, thumbnail_size);
+ elm_object_part_content_set(sub_item, "albumart", icon);
+
+ elm_object_part_content_set(content, part, sub_item);
+ evas_object_show(sub_item);
+ }
+
+ return content;
+}
+
+static void mp_all_list_playall_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ eventfunc;
+
+ struct appdata *ad = mp_util_get_appdata();
+
+ MpAllList_t *list = data;
+ MP_CHECK(list);
+
+ int count = 0;
+ char *type_str = NULL;
+ int ret = 0;
+ int playlist_id = -1;
+ char *playlist_name = NULL;
+
+ mp_popup_destroy(ad);
+
+ GList *sel_list = NULL;
+ mp_list_item_data_t *item_data = NULL;
+ mp_media_list_h svc_handle = NULL;/*= handle;*/
+
+ mp_list_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_playlist_mgr_clear(ad->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 */
+ ret = mp_media_info_group_get_main_info(item_data->handle, &playlist_name);
+ ret = mp_media_info_group_get_playlist_id(item_data->handle, &playlist_id);
+ mp_retm_if (playlist_name == NULL, "Fail to get playlist_name");
+
+ /* create playlist */
+ 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 */
+ 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);
+
+ mp_util_append_media_list_item_to_playlist(ad->playlist_mgr, svc_handle, count, 0, NULL);
+
+ } else if (group_type == MP_GROUP_BY_ARTIST) {
+ /* get playlist name */
+ 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);
+ }
+
+ 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_NO_SONGS));
+ }
+#ifdef MP_FEATURE_CLOUD
+ if (ret == MP_PLAY_ERROR_NETWORK)
+ mp_widget_text_popup(NULL, GET_STR(STR_MP_THIS_FILE_IS_UNABAILABLE));
+#endif
+ goto END;
+ }
+
+ MpViewMgr_t *view_manager = mp_view_mgr_get_view_manager();
+ MpPlayerView_t *player_view = mp_player_view_create(view_manager->navi, MP_PLAYER_NORMAL, false);
+ mp_view_mgr_push_view(view_manager, (MpView_t *)player_view, NULL);
+ mp_view_update((MpView_t *)player_view);
+ mp_view_update_options((MpView_t *)player_view);
+
+
+ END:
+
+ if (svc_handle) {
+ mp_media_info_list_destroy(svc_handle);
+ }
+
+ if (sel_list) {
+ g_list_free(sel_list);
+ sel_list = NULL;
+ }
+
+ endfunc;
+}
+
+static char *_mp_media_info_get_live_auto_playlist_thumbnail_by_name(const char *name)
+{
+ MP_CHECK_VAL(name, NULL);
+
+ char *thumb_path = NULL;
+
+ if (!g_strcmp0(name, STR_MP_FAVOURITES))
+ thumb_path = LIVE_THUMBNAIL_QUICK_LIST;
+ else if (!g_strcmp0(name, STR_MP_RECENTLY_PLAYED))
+ thumb_path = LIVE_THUMBNAIL_RECENTLY_PLAYED;
+ else if (!g_strcmp0(name, STR_MP_RECENTLY_ADDED))
+ thumb_path = LIVE_THUMBNAIL_RECENTLY_ADDED;
+ else if (!g_strcmp0(name, STR_MP_MOST_PLAYED))
+ thumb_path = LIVE_THUMBNAIL_MOST_PLAYED;
+
+ return thumb_path;
+}
+
+static char *_mp_media_info_get_live_auto_playlist_icon_by_name(const char *name)
+{
+ MP_CHECK_VAL(name, NULL);
+
+ char *icon_path = NULL;
+
+ if (!g_strcmp0(name, STR_MP_FAVOURITES))
+ icon_path = LIVE_ICON_QUICK_LIST;
+ else if (!g_strcmp0(name, STR_MP_RECENTLY_PLAYED))
+ icon_path = LIVE_ICON_RECENTLY_PLAYED;
+ else if (!g_strcmp0(name, STR_MP_RECENTLY_ADDED))
+ icon_path = LIVE_ICON_RECENTLY_ADDED;
+ else if (!g_strcmp0(name, STR_MP_MOST_PLAYED))
+ icon_path = LIVE_ICON_MOST_PLAYED;
+
+ return icon_path;
+}
+
+#ifdef MP_FEATURE_ADD_TO_HOME
+static void mp_all_add_to_home_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ eventfunc;
+
+ struct appdata *ad = mp_util_get_appdata();
+
+ MpAllList_t *list = data;
+ MP_CHECK(list);
+
+ GList *sel_list = NULL;
+ char *name = NULL;
+ char *thumbnail = NULL;
+ int ret = 0;
+ int p_id = -1;
+ mp_list_item_data_t *item_data = NULL;
+
+ mp_popup_destroy(ad);
+
+ mp_list_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);
+ }
+
+ 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");
+ mp_media_info_group_get_thumbnail_path(item_data->handle, &thumbnail);
+
+ int type = 0;
+ const char *extra1 = NULL;
+ const char *extra2 = NULL;
+ if (list->tab_status == MP_TAB_PLAYLISTS) {
+ ret = mp_media_info_group_get_playlist_id(item_data->handle, &p_id);
+ mp_retm_if (ret != 0, "Fail to get value");
+ DEBUG_TRACE("p_id: %d", p_id);
+ if (p_id < 0) {
+ type = MP_ADD_TO_HOME_SHORTCUT_TYPE_SYS_PLAYLIST;
+ extra1 = _mp_media_info_get_live_auto_playlist_thumbnail_by_name(name);
+ extra2 = _mp_media_info_get_live_auto_playlist_icon_by_name(name);
+ } else {
+ type = MP_ADD_TO_HOME_SHORTCUT_TYPE_USER_PLAYLIST;
+ name = (void *)p_id;
+ }
+ mp_menu_add_to_home(type, name, (void *)extra1, (void *)extra2);
+ } else if (list->tab_status == MP_TAB_ALBUMS) {
+ mp_menu_add_to_home(MP_ADD_TO_HOME_SHORTCUT_TYPE_ALBUM, name, thumbnail, NULL);
+ }
+
+ if (sel_list) {
+ g_list_free(sel_list);
+ sel_list = NULL;
+ }
+}
+#endif
+
+static void
+_mp_all_list_item_longpressed_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ startfunc;
+
+ MpAllList_t *list = (MpAllList_t *)data;
+ MP_CHECK(list);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ Elm_Object_Item *item = event_info;
+ MP_CHECK(item);
+
+ bool pop_del_status = true;
+ bool pop_add_to_home_status = false;
+ bool popup_group_status = false;
+ int pop_item_count = 5;
+ int playlist_state = 0;
+ char *title = NULL;
+ Elm_Object_Item *temp = NULL;
+ Evas_Object *popup = NULL;
+ mp_list_item_data_t *item_data = NULL;
+
+ if ((list->tab_status == MP_TAB_ALBUMS && list->album_disp_mode == MP_LIST_DISPLAY_MODE_THUMBNAIL) ||
+ (list->tab_status == MP_TAB_ARTISTS && list->artist_disp_mode == MP_LIST_DISPLAY_MODE_THUMBNAIL) ||
+ list->scroll_drag_status || list->shuffle_it == item)
+ return;
+
+ if (list->tab_status == MP_TAB_SONGS)
+ temp = elm_genlist_item_next_get(list->shuffle_it);
+ else
+ temp = elm_genlist_item_next_get(list->tabbar_it);
+
+ while (temp) {
+ item_data = elm_object_item_data_get(temp);
+ 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;
+
+ if (list->tab_status == MP_TAB_PLAYLISTS) {
+ int item_index = elm_genlist_item_index_get(item);
+ int playlist_auto_count = 0;
+ int i = 0;
+ pop_item_count = 2;
+ popup_group_status = true;
+ pop_add_to_home_status = true;
+
+ 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 (item_index <= (playlist_auto_count+1)) {
+ pop_item_count = 1;
+ pop_del_status = false;
+ title = GET_SYS_STR(title);
+ }
+ } else if (list->tab_status == MP_TAB_SONGS) {
+ mp_media_info_get_title(item_data->handle, &title);
+ } else if (list->tab_status == MP_TAB_ALBUMS) {
+ pop_item_count = 4;
+ popup_group_status = true;
+ pop_add_to_home_status = true;
+ mp_media_info_group_get_main_info(item_data->handle, &title);
+ } else if (list->tab_status == MP_TAB_ARTISTS) {
+ pop_item_count = 3;
+ popup_group_status = true;
+ 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);
+
+ if (!popup_group_status)
+ mp_genlist_popup_item_append(popup, STR_MP_SET_AS, NULL, NULL, NULL,
+ mp_common_list_set_as_cb, list);
+ if (popup_group_status)
+ mp_genlist_popup_item_append(popup, STR_MP_PLAY_ALL, NULL, NULL, NULL,
+ mp_all_list_playall_cb, list);
+ if (list->list_type != MP_LIST_TYPE_PLAYLIST)
+ mp_genlist_popup_item_append(popup, STR_MP_ADD_TO_PLAYLIST, NULL, NULL, NULL,
+ mp_common_list_add_to_playlist_cb, list);
+ if (!popup_group_status) {
+ bool favourite = false;
+ char *str = NULL;
+ Evas_Smart_Cb cb = NULL;
+
+ mp_media_info_get_favorite(item_data->handle, &favourite);
+ if (favourite) {
+ str = STR_MP_UNFAVOURITES;
+ cb = mp_common_list_unfavorite_cb;
+ } else {
+ str = STR_MP_FAVOURITES;
+ cb = mp_common_list_add_to_favorite_cb;
+ }
+
+ mp_genlist_popup_item_append(popup, str, NULL, NULL, NULL, cb, list);
+ }
+ if (pop_del_status)
+ mp_genlist_popup_item_append(popup, STR_MP_DELETE, NULL, NULL, NULL,
+ mp_common_list_delete_cb, list);
+ if (!popup_group_status)
+ mp_genlist_popup_item_append(popup, STR_MP_POPUP_MORE_INFO, NULL, NULL, NULL,
+ mp_common_list_more_info_cb, list);
+
+ MP_GENLIST_ITEM_LONG_PRESSED(obj, popup, event_info);
+
+}
+
+
+static void
+_mp_all_list_artist_list_item_highlighted_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ MpAllList_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_all_list_artist_list_item_unhighlighted_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ MpAllList_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_all_list_load_artist_list(MpAllList_t *list)
+{
+ startfunc;
+ int count = 0, res = 0;
+ MP_CHECK(list);
+
+ res = mp_media_info_group_list_count(MP_GROUP_BY_ARTIST, NULL, NULL, &count);
+ MP_CHECK(res == 0);
+
+ list->list_type = MP_LIST_TYPE_GROUP;
+
+ if (count) {
+ if (list->display_mode == MP_LIST_DISPLAY_MODE_THUMBNAIL) {
+ list->itc->item_style = "1icon/no_padding_line";
+ list->itc->func.content_get = _mp_artist_list_grid_get;
+ list->itc->func.text_get = NULL;
+ list->itc->func.del = _mp_all_list_grid_item_del_cb;
+
+ if (!list->gengrid_itc)
+ list->gengrid_itc = elm_gengrid_item_class_new();
+
+ list->gengrid_itc->item_style = "default_gridtext";
+ list->gengrid_itc->func.text_get = _mp_all_list_album_label_get;
+ list->gengrid_itc->func.content_get = _mp_all_list_album_icon_get;
+ list->gengrid_itc->func.del = _mp_all_list_group_item_del_cb;
+/*
+ Elm_Object_Item* item= elm_genlist_item_append(list->genlist, list->itc, NULL, list->tabbar_it,
+ ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+*/
+ _mp_all_list_append_artist_items(list, count);
+ } else {
+ list->itc->item_style = "music/artist/2icon";
+ list->itc->func.text_get = _mp_all_list_artist_label_get;
+ list->itc->func.content_get = _mp_all_list_artist_icon_get;
+ list->itc->func.del = _mp_all_list_group_item_del_cb;
+
+ /* load list */
+ _mp_all_list_append_artist_items(list, count);
+
+ evas_object_smart_callback_add(list->genlist, "highlighted", _mp_all_list_artist_list_item_highlighted_cb, list);
+ evas_object_smart_callback_add(list->genlist, "unhighlighted", _mp_all_list_artist_list_item_unhighlighted_cb, list);
+ }
+
+ } else {
+ DEBUG_TRACE("count is 0");
+ Elm_Object_Item *it =
+ elm_genlist_item_append(list->genlist, list->itc_icon,
+ (void *)MP_ALL_LIST_NOCONTENT, NULL,
+ ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ elm_genlist_item_select_mode_set(it, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+ }
+
+}
+
+static mp_group_type_e _mp_all_list_get_group_type(void *thiz)
+{
+ MpAllList_t *list = thiz;
+ MP_CHECK_VAL(list, MP_GROUP_NONE);
+
+ if (list->tab_status == MP_TAB_ALBUMS)
+ return MP_GROUP_BY_ALBUM;
+ else if (list->tab_status == MP_TAB_ARTISTS)
+ return MP_GROUP_BY_ARTIST;
+ else if (list->tab_status == MP_TAB_PLAYLISTS)
+ return MP_GROUP_BY_PLAYLIST;
+
+ return MP_GROUP_NONE;
+}
+
+static void _mp_all_list_update(void *thiz)
+{
+ startfunc;
+ MP_CHECK(thiz);
+ MpAllList_t *list = thiz;
+ MP_CHECK(list->itc);
+
+ _mp_all_list_clear_list(list);
+
+ mp_ecore_timer_del(list->load_timer);
+
+ mp_list_hide_fast_scroll((MpList_t *)list);
+
+ /*clear media_info handles*/
+ 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;
+ }
+
+ /*del timer*/
+ mp_ecore_timer_del(list->load_timer);
+ list->display_mode_changable = false;
+
+ if (list->tab_status == MP_TAB_SONGS) {
+ PROFILE_IN("_mp_all_list_load_list");
+ list->display_mode = MP_LIST_DISPLAY_MODE_NORMAL;
+ _mp_all_list_load_track_list(thiz);
+ PROFILE_OUT("_mp_all_list_load_list");
+ /*mp_list_show_fast_scroll((MpList_t *)list);*/
+ } else if (list->tab_status == MP_TAB_PLAYLISTS) {
+ list->display_mode = MP_LIST_DISPLAY_MODE_NORMAL;
+ _mp_all_list_load_playlists(thiz);
+ } else if (list->tab_status == MP_TAB_ALBUMS) {
+ list->display_mode = list->album_disp_mode;
+ _mp_all_list_load_album_list(thiz);
+
+ list->display_mode_changable = true;
+ } else if (list->tab_status == MP_TAB_ARTISTS) {
+ list->display_mode = list->artist_disp_mode;
+ _mp_all_list_load_artist_list(thiz);
+
+ list->display_mode_changable = true;
+ } else
+ ERROR_TRACE("Invalid type: tab_status[%d]", list->tab_status);
+
+ endfunc;
+}
+
+void mp_all_list_update_genlist(void *thiz)
+{
+ startfunc;
+
+ MP_CHECK(thiz);
+ MpAllList_t *list = thiz;
+ MP_CHECK(list->genlist);
+
+ int count = 0;
+ mp_media_info_list_count(MP_TRACK_ALL, NULL, NULL, NULL, 0, &count);
+
+ if (list->tab_status == MP_TAB_SONGS && count <= 0) {
+ mp_list_update(thiz);
+ } else {
+ elm_genlist_realized_items_update(list->genlist);
+ }
+}
+
+void mp_all_list_update_data(void *thiz)
+{
+ startfunc;
+
+ MP_CHECK(thiz);
+ MpAllList_t *list = thiz;
+ MP_CHECK(list->itc);
+ MP_CHECK(list->genlist);
+
+ MpListDisplayMode_e current = mp_list_get_display_mode((MpList_t *)list);
+ if (MP_LIST_DISPLAY_MODE_THUMBNAIL == current || MP_TAB_ARTISTS == list->tab_status) {
+ mp_all_list_set_display_mode(list, current);
+ Elm_Object_Item *item = elm_genlist_first_item_get(list->genlist);
+ elm_genlist_item_show(item, ELM_GENLIST_ITEM_SCROLLTO_TOP);
+ } else {
+ elm_genlist_realized_items_update(list->genlist);
+ }
+
+ endfunc;
+}
+
+static const char *_get_label(void *thiz, void *event_info)
+{
+ MpAllList_t *list = thiz;
+ MP_CHECK_NULL(list);
+ char *title = NULL;
+
+ MP_CHECK_NULL(list->tab_status == MP_TAB_SONGS);
+ MP_CHECK_NULL(elm_genlist_item_select_mode_get(event_info) != ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+ MP_CHECK_NULL(elm_genlist_item_select_mode_get(event_info) != ELM_OBJECT_SELECT_MODE_NONE);
+
+ 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 unsigned int
+_mp_all_list_get_editable_count(void *thiz, MpListEditType_e type)
+{
+ MpAllList_t *list = thiz;
+ MP_CHECK_VAL(list->genlist, 0);
+ int count = 0;
+ Elm_Object_Item *item = NULL;
+
+ /*if (list->display_mode == MP_LIST_DISPLAY_MODE_NORMAL)*/
+ {
+ if (list->tab_status == MP_TAB_SONGS)
+ item = mp_list_item_next_get(list->shuffle_it);
+ else
+ item = mp_list_item_next_get(list->tabbar_it);
+ while (item) {
+ item = mp_list_item_next_get(item);
+ count++;
+ }
+
+ if (list->tab_status == MP_TAB_PLAYLISTS)
+ count = count - list->auto_playlist_count;
+ }
+
+ return count;
+}
+
+static void _tab_change_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ MpAllList_t *list = (MpAllList_t *)data;
+ Elm_Object_Item *it, *it2;
+ eventfunc;
+
+ if (list->first_change) {
+ list->first_change = false;
+ return;
+ }
+
+ 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 (list->tab_status == i)
+ return;
+
+ list->tab_status = i;
+
+ _mp_all_list_update(list);
+
+ if (mp_floating_widget_mgr_visible_get(list->FwMgr, 0)) {
+ /*mp_floating_widget_mgr_widget_deleted(list->FwMgr, 0);*/
+ elm_genlist_item_show(list->tabbar_it, ELM_GENLIST_ITEM_SCROLLTO_TOP);
+ elm_genlist_item_update(list->tabbar_it);
+ }
+}
+
+
+static Evas_Object *_create_tabbar(Evas_Object *parent, MpAllList_t *list)
+{
+ MP_CHECK_NULL(parent);
+ MP_CHECK_NULL(list);
+
+ PROFILE_IN("mp_widget_create_tabbar");
+ Evas_Object *obj = mp_widget_create_tabbar(parent);
+ PROFILE_OUT("mp_widget_create_tabbar");
+ list->first_change = true;
+
+ PROFILE_IN("mp_util_toolbar_item_append");
+ mp_util_toolbar_item_append(obj, NULL, (STR_MP_TRACKS), _tab_change_cb, list);
+ PROFILE_OUT("mp_util_toolbar_item_append");
+ PROFILE_IN("mp_util_toolbar_item_append");
+ mp_util_toolbar_item_append(obj, NULL, (STR_MP_PLAYLISTS), _tab_change_cb, list);
+ PROFILE_OUT("mp_util_toolbar_item_append");
+ PROFILE_IN("mp_util_toolbar_item_append");
+ mp_util_toolbar_item_append(obj, NULL, (STR_MP_ALBUMS), _tab_change_cb, list);
+ PROFILE_OUT("mp_util_toolbar_item_append");
+ PROFILE_IN("mp_util_toolbar_item_append");
+ mp_util_toolbar_item_append(obj, NULL, (STR_MP_ARTISTS), _tab_change_cb, list);
+ PROFILE_OUT("mp_util_toolbar_item_append");
+
+ PROFILE_IN("elm_toolbar_item_selected_set");
+ elm_toolbar_item_selected_set(mp_util_toolbar_nth_item(obj, list->tab_status), EINA_TRUE);
+ PROFILE_OUT("elm_toolbar_item_selected_set");
+
+ evas_object_show(obj);
+
+ return obj;
+}
+
+static void
+_mp_all_list_content_shortcut_del_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+ MpAllList_t *list = data;
+ MP_CHECK(list);
+ list->shortcut_layout = NULL;
+}
+
+Evas_Object *
+_mp_all_list_content_get(void *data, Evas_Object * obj, const char *part)
+{
+ int type = (int)data;
+ Evas_Object *content = NULL;
+
+ MpAllList_t *list = evas_object_data_get(obj, "list_data");
+ PROFILE_IN("_mp_all_list_content_get");
+ if (type == MP_ALL_LIST_SHORTCUT) {
+ PROFILE_IN("mp_shortcut_add");
+ static int calc_size = true;
+ if (calc_size) {
+ calc_size = false;
+ content = evas_object_rectangle_add(evas_object_evas_get(obj));
+ evas_object_size_hint_min_set(content, 1, mp_shortcut_get_height());
+ } else {
+ content = mp_shortcut_add(obj, list->shortcut_index);
+ list->shortcut_layout = content;
+ evas_object_event_callback_add(list->shortcut_layout, EVAS_CALLBACK_DEL, _mp_all_list_content_shortcut_del_cb, list);
+ }
+ PROFILE_OUT("mp_shortcut_add");
+ } else if (type == MP_ALL_LIST_TABBAR) {
+ PROFILE_IN("_create_tabbar");
+ static int calc_size = true;
+ if (calc_size) {
+ calc_size = false;
+ content = evas_object_rectangle_add(evas_object_evas_get(obj));
+ /*evas_object_resize(content, 0, 75*elm_config_scale_get());*/
+ evas_object_size_hint_min_set(content, 1, 75*elm_config_scale_get());
+ } else {
+ content = _create_tabbar(obj, list);
+ list->tabbar_layout = content;
+ }
+ PROFILE_OUT("_create_tabbar");
+ } else if (type == MP_ALL_LIST_SEPERATOR) {
+ content = elm_layout_add(obj);
+ evas_object_size_hint_min_set(content, 720*elm_config_scale_get(), 2560*elm_config_scale_get());
+ } else if (type == MP_ALL_LIST_NOCONTENT) {
+ content = mp_widget_create_no_contents(obj, MP_NOCONTENT_TRACKS, NULL, list);
+ evas_object_size_hint_min_set(content, 720*elm_config_scale_get(), 660*elm_config_scale_get());
+ }
+ PROFILE_OUT("_mp_all_list_content_get");
+ return content;
+}
+
+void _floating_tabbar_cb(bool show, int x, int y, int w, int h, void *data)
+{
+ DEBUG_TRACE("x: %d, y: %d, w: %d, h: %d, show: %d", x, y, w, h, show);
+ MpAllList_t *list = data;
+ if (show) {
+ if (!list->floating_tabbar) {
+ Evas_Object *obj = _create_tabbar(list->genlist, list);
+ list->floating_tabbar = obj;
+ elm_object_part_content_set(list->parent, "tabbar", obj);
+ }
+
+ edje_object_signal_emit(_EDJ(list->parent), "show,tabbar", "*");
+ elm_toolbar_item_selected_set(mp_util_toolbar_nth_item(list->floating_tabbar, list->tab_status), EINA_TRUE);
+ if (list->tab_status == MP_TAB_SONGS)
+ mp_list_show_fast_scroll((MpList_t *)list);
+ } else {
+ edje_object_signal_emit(_EDJ(list->parent), "hide,tabbar", "*");
+ mp_list_hide_fast_scroll((MpList_t *)list);
+ }
+
+}
+
+static void _realized_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ MpAllList_t *list = data;
+ Elm_Object_Item *item = event_info;
+ MP_CHECK(list);
+
+ DEBUG_TRACE("list->list_type=%d", list->list_type);
+ Eina_List *genlist_items = NULL;
+ if (list->tabbar_it == event_info) {
+ list->tabbar_realized = true;
+ elm_object_item_access_register(list->tabbar_it);
+ Evas_Object *content;
+
+ content = elm_object_item_part_content_get(item, "elm.icon");
+ genlist_items = eina_list_append(genlist_items, content);
+ elm_object_item_access_order_set(item, genlist_items);
+
+ mp_floating_widget_callback_add(list->FwMgr, 75*elm_config_scale_get(), 1, 0, _floating_tabbar_cb, list);
+ } else if (list->shortcut_it == event_info) {
+ elm_object_item_access_register(list->shortcut_it);
+ Evas_Object *content;
+
+ content = elm_object_item_part_content_get(item, "elm.icon");
+ genlist_items = eina_list_append(genlist_items, content);
+ elm_object_item_access_order_set(item, genlist_items);
+ } else if ((list->tab_status == MP_TAB_ALBUMS || list->tab_status == MP_TAB_ARTISTS) &&
+ (list->display_mode == MP_LIST_DISPLAY_MODE_THUMBNAIL)) {
+ elm_object_item_access_register(item);
+ Evas_Object *content;
+
+ content = elm_object_item_part_content_get(item, "elm.icon");
+ genlist_items = eina_list_append(genlist_items, content);
+ elm_object_item_access_order_set(item, genlist_items);
+ } else if (list->list_type == MP_LIST_TYPE_ALL) {
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ MP_CHECK(item);
+
+ bool set_color = false;
+ if ((ad->player_state == PLAY_STATE_PLAYING || ad->player_state == PLAY_STATE_PAUSED)) {
+ mp_list_item_data_t *item_data = (mp_list_item_data_t *)elm_object_item_data_get(item);
+ MP_CHECK(item_data);
+ MP_CHECK(item_data->handle);
+
+ mp_plst_item *cur = mp_playlist_mgr_get_current(ad->playlist_mgr);
+ MP_CHECK(cur);
+
+ char *media_id = NULL;
+ mp_media_info_get_media_id(item_data->handle, &media_id);
+
+ if (!g_strcmp0(cur->uid, media_id)) {
+ set_color = true;
+ DEBUG_TRACE("media_id=%s: Change color", media_id);
+ }
+ }
+
+ if (set_color) {
+ elm_object_item_signal_emit(item, "elm.text.1.color", "elm.text.1");
+ } else {
+ elm_object_item_signal_emit(item, "elm.text.1.default", "elm.text.1");
+ }
+ }
+}
+
+static void _mp_all_list_create_genlist(Evas_Object *parent, MpAllList_t *list)
+{
+#ifdef MP_CREATE_FAKE_IMAGE
+ return ;
+#endif
+ 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_OFF);
+ evas_object_smart_callback_add(list->genlist, "realized", _realized_cb, list);
+ evas_object_smart_callback_add(list->genlist, "longpressed", _mp_all_list_item_longpressed_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_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_data", list);
+
+ list->itc = elm_genlist_item_class_new();
+
+ list->itc_icon = elm_genlist_item_class_new();
+ list->itc_icon->item_style = "music/1icon/no_padding";/*"music/3text.1icon.2"*/
+ list->itc_icon->func.content_get = _mp_all_list_content_get;
+ list->itc_icon->func.del = NULL;
+
+ /*create floating widget manager*/
+ list->FwMgr = mp_floating_widget_mgr_create(list->genlist);
+
+ PROFILE_OUT("elm_genlist_add");
+}
+
+static void _append_shortcut(MpAllList_t *list)
+{
+#ifdef MP_CREATE_FAKE_IMAGE
+ return ;
+#endif
+ startfunc;
+ list->shortcut_it = elm_genlist_item_prepend(list->genlist, list->itc_icon, (void *)MP_ALL_LIST_SHORTCUT, NULL,
+ ELM_GENLIST_ITEM_NONE, NULL, list);
+ elm_genlist_item_select_mode_set(list->shortcut_it, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+}
+
+static void _append_tabbar(MpAllList_t *list)
+{
+#ifdef MP_CREATE_FAKE_IMAGE
+ return ;
+#endif
+ startfunc;
+ list->tabbar_it = elm_genlist_item_append(list->genlist, list->itc_icon, (void *)MP_ALL_LIST_TABBAR, NULL,
+ ELM_GENLIST_ITEM_NONE, NULL, list);
+ elm_genlist_item_select_mode_set(list->tabbar_it, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+}
+
+MpAllList_t *mp_all_list_create(Evas_Object *parent, MpTab_e init_tab)
+{
+ eventfunc;
+ MP_CHECK_NULL(parent);
+
+ MpAllList_t *list = calloc(1, sizeof(MpAllList_t));
+ MP_CHECK_NULL(list);
+
+ mp_list_init((MpList_t *)list, parent, MP_LIST_TYPE_ALL);
+
+ list->parent = parent;
+
+ list->tab_status = init_tab; /* for shortcut */
+ list->shortcut_index = 0;
+
+#ifdef MP_FEATURE_PERSONAL_PAGE
+ list->personal_page_status = mp_util_is_personal_page_on();
+#endif
+ _mp_all_list_create_genlist(parent, list);
+ _append_shortcut(list);
+ _append_tabbar(list);
+
+ list->album_disp_mode = MP_LIST_DISPLAY_MODE_THUMBNAIL;
+ list->artist_disp_mode = MP_LIST_DISPLAY_MODE_NORMAL;
+
+ list->update = _mp_all_list_update;
+ list->destory_cb = _mp_all_list_destory_cb;
+ list->get_track_type = _mp_track_list_get_track_type;
+ list->get_group_type = _mp_all_list_get_group_type;
+
+ list->get_label = _get_label;
+
+ list->get_count = _mp_all_list_get_editable_count;
+ /*list->longpressed_cb = _mp_all_list_item_longpressed_cb;*/
+ list->selected_item_data_get = _mp_all_list_selected_item_data_get;
+
+ return list;
+}
+
+void mp_all_list_update_favourite(MpAllList_t *list)
+{
+ MP_CHECK(list);
+
+ int count = 0;
+ mp_media_info_list_count(MP_TRACK_BY_FAVORITE, NULL, NULL, NULL, 0, &count);
+ if ((count == 0) || (count > 0 && ((count-1) == list->shortcut_index))) {
+ list->shortcut_index = 0;
+ } else
+ list->shortcut_index = list->shortcut_index + 1;
+
+ mp_shortcut_update_cache(list->shortcut_layout, list->shortcut_index);
+ elm_genlist_item_update(list->shortcut_it);
+}
+
+void mp_all_list_rotate_shortcut(MpAllList_t *list)
+{
+ MP_CHECK(list);
+
+ elm_object_item_del(list->shortcut_it);
+ list->shortcut_it = NULL;
+
+ _append_shortcut(list);
+}
+
+void mp_all_list_update_shortcut(MpAllList_t *list)
+{
+ MP_CHECK(list);
+
+ if (list->scroll_drag_status)
+ return;
+
+ mp_shortcut_update_cache(list->shortcut_layout, list->shortcut_index);
+ elm_genlist_item_update(list->shortcut_it);
+}
+
+MpTab_e mp_all_list_get_selected_tab(MpAllList_t *list)
+{
+ MP_CHECK_VAL(list, MP_TAB_SONGS);
+ return list->tab_status;
+}
+
+void mp_all_list_select_tab(MpAllList_t *list, MpTab_e tab)
+{
+ EVENT_TRACE("Select tab : %d", tab);
+ MP_CHECK(list);
+ list->tab_status = tab;
+ elm_genlist_item_update(list->tabbar_it);
+
+ _mp_all_list_update(list);
+
+ if (list->floating_tabbar)
+ elm_toolbar_item_selected_set(mp_util_toolbar_nth_item(list->floating_tabbar, tab), EINA_TRUE);
+
+ endfunc;
+}
+
+void mp_all_list_set_display_mode(MpAllList_t *list, MpListDisplayMode_e mode)
+{
+ startfunc;
+ MP_CHECK(list);
+
+ if (list->tab_status == MP_TAB_ALBUMS) {
+ list->album_disp_mode = mode;
+ } else
+ list->artist_disp_mode = mode;
+
+ list->display_mode = mode;
+
+ _mp_all_list_update(list);
+}
+
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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-common.h"
+
+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.main.left"))
+ {
+ 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;
+
+ if (!strcmp(part, "elm.icon.1"))
+ {
+ 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 (elm_genlist_decorate_mode_get(obj) ) {
+ if (!strcmp(part, "elm.icon.2")) {
+ content = elm_layout_add(obj);
+
+ 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);
+
+ elm_layout_theme_set(content, "layout", "list/C/type.2", "default");
+ elm_layout_content_set(content, "elm.swallow.content", icon);
+
+ return content;
+ }
+ }
+ 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.main.left")) {
+
+ 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 (elm_genlist_decorate_mode_get(obj) == false) {
+ if (!strcmp(part, "elm.text.sub.right")) {
+ 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");
+/*
+ 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 (elm_genlist_decorate_mode_get(obj) )
+ { // if edit mode
+ DEBUG_TRACE("edit mode starts");
+ if (!strcmp(part, "elm.icon.2")) { // swallow checkbox or radio button
+ Evas_Object *content = NULL;
+ Evas_Object *icon = NULL;
+ content = elm_layout_add(obj);
+
+ 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);
+
+ elm_layout_theme_set(content, "layout", "list/C/type.2", "default");
+ elm_layout_content_set(content, "elm.swallow.content", icon);
+
+ return content;
+ }
+ }
+ 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);
+
+ 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*/
+ /*
+ 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 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;
+
+ 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:
+ return 0;
+ endfunc;
+}
+
+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.main.left")) {
+ 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.icon.1")) {
+ Evas_Object *content = NULL;
+ content = elm_layout_add(obj);
+
+ Evas_Object *icon = NULL;
+
+ 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/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);
+
+ 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 = "1line";//"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)
+ {
+ DEBUG_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;
+
+ 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 */
+ 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--;
+ }
+ }
+
+ 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;
+ }
+
+ IF_FREE(list->type_str);
+ IF_FREE(list->filter_str);
+
+ free(list);
+}
+
+
+/*static void
+_mp_artist_list_item_longpressed_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ startfunc;
+
+ MpArtistDetailList_t *list = (MpArtistDetailList_t*)data;
+ MP_CHECK(list);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ Elm_Object_Item *item = event_info;
+ MP_CHECK(item);
+
+ char *title = NULL;
+ char *file_path = NULL;
+ int pop_item_count = 5;
+
+ Elm_Object_Item *temp = NULL;
+ Evas_Object *popup = NULL;
+ mp_list_item_data_t *item_data = NULL;
+
+ if (list->scroll_drag_status || list->edit_mode == 1 || list->shuffle_it == item)
+ return;
+
+ temp = elm_genlist_item_next_get(list->shuffle_it);
+ while (temp) {
+ item_data = elm_object_item_data_get(temp);
+ 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;
+
+ mp_media_info_get_title(item_data->handle, &title);
+ mp_media_info_get_file_path(item_data->handle, &file_path);
+
+ 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_SET_AS, NULL, NULL, NULL,
+ mp_common_list_set_as_cb, list);
+ mp_genlist_popup_item_append(popup, STR_MP_ADD_TO_PLAYLIST, NULL, NULL, NULL,
+ mp_common_list_add_to_playlist_cb, list);
+ bool favourite = false;
+ char *str = NULL;
+ Evas_Smart_Cb cb = NULL;
+
+ mp_media_info_get_favorite(item_data->handle, &favourite);
+ if (favourite) {
+ str = STR_MP_POPUP_REMOVE_FROM_FAVORITE;
+ cb = mp_common_list_unfavorite_cb;
+ } else {
+ str = STR_MP_ADD_TO_FAVOURITES;
+ cb = mp_common_list_add_to_favorite_cb;
+ }
+ mp_genlist_popup_item_append(popup, str, NULL, NULL, NULL, cb, list);
+ //mp_genlist_popup_item_append(popup, GET_STR(STR_MP_REMOVE), NULL, NULL,
+ // mp_common_list_delete_cb, list);
+ mp_genlist_popup_item_append(popup, STR_MP_DELETE, NULL, NULL, NULL,
+ mp_common_list_delete_cb, list);
+#ifdef MP_FEATURE_PERSONAL_PAGE
+ if (mp_util_is_personal_page_on())
+ {
+ if (mp_util_is_in_personal_page((const char *)file_path))
+ {
+ DEBUG_TRACE("remove from personal page");
+ list->personal_page_storage = MP_LIST_PERSONAL_PAGE_PRIVATE;
+ mp_genlist_popup_item_append(popup, STR_MP_REMOVE_FROM_PERSONAL_PAGE, NULL, NULL, NULL,
+ mp_common_longpress_private_move_cb, list);
+ }
+ else
+ {
+ DEBUG_TRACE("add to personal page");
+ list->personal_page_storage = MP_LIST_PERSONAL_PAGE_NORMAL;
+ mp_genlist_popup_item_append(popup, STR_MP_ADD_TO_PERSONAL_PAGE, NULL, NULL, NULL,
+ mp_common_longpress_private_move_cb, list);
+ }
+ }
+#endif
+
+ mp_genlist_popup_item_append(popup, STR_MP_POPUP_MORE_INFO, NULL, NULL, NULL,
+ mp_common_list_more_info_cb, list);
+#ifdef MP_FEATURE_ALBUMART_UPDATE
+ mp_genlist_popup_item_append(popup, STR_MP_UPDATE_ALBUM_ART, NULL, NULL, NULL,
+ mp_common_list_update_albumart_cb, list);
+#endif
+ MP_GENLIST_ITEM_LONG_PRESSED(obj, popup, event_info);
+}*/
+
+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);
+ elm_genlist_decorate_mode_set(list->genlist, EINA_TRUE);
+ }
+ else
+ {
+ elm_genlist_decorate_mode_set(list->genlist, EINA_FALSE);
+ 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_evas_object_del(list->genlist);
+ mp_evas_object_del(list->no_content);
+
+ 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);
+#ifdef MP_FEATURE_ADD_TO_HOME
+ const char *group_slide_style = "mode/slide4";
+ //group_slide_style = "mode/slide4";
+#endif
+ list->itc_album = elm_genlist_item_class_new();
+ if (list->itc_album) {
+ list->itc_album->item_style = "1line";//"artist/groupindex.icon";
+ //list->itc_album->item_style = "music/1line";//"artist/groupindex.icon";
+ //list->itc_album->decorate_all_item_style = "artistdetaillist/edit_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 = "1line.2";//"music/2text";
+ //list->itc_track->decorate_all_item_style = "musiclist/edit_default";
+ //list->itc_track->decorate_item_style = group_slide_style;
+ 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, "longpressed", _mp_artist_list_item_longpressed_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_artist_detail_list_item_highlighted, list);
+ evas_object_smart_callback_add(list->genlist, "unhighlighted", _mp_artist_detail_list_item_unhighlighted, list);
+
+// mp_list_bottom_counter_item_append((MpList_t *)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);
+ }
+ END:
+ if (selected)
+ *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) 2000-2015 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-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 ARTIST_GRID_W 175
+#define ARTIST_GRID_H 222
+#define ARTIST_GRID_LAND_W 179
+#define ARTIST_GRID_LAND_H 240
+
+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.main.left.top") || !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");
+ return elm_entry_utf8_to_markup(name);
+ } else if (!strcmp(part, "elm.text.sub.left.bottom")) {
+ 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 void
+_mp_artist_list_more_btn_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ eventfunc;
+ mp_list_item_data_t *item = data;
+ MP_CHECK(item);
+ MP_CHECK(item->it);
+ item->artist_album_page++;
+ mp_debug("next artist album page = %d", item->artist_album_page);
+ elm_genlist_item_fields_update(item->it, "elm.icon", ELM_GENLIST_ITEM_FIELD_CONTENT);
+}
+*/
+
+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 *content = NULL;
+ content = elm_layout_add(obj);
+ 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 (elm_genlist_decorate_mode_get(obj)) {
+ if (!strcmp(part, "elm.icon.2")) {
+ content = elm_layout_add(obj);
+ 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);
+ elm_layout_theme_set(content, "layout", "list/C/type.2", "default");
+ elm_layout_content_set(content, "elm.swallow.content", check);
+
+ return content;
+ }
+ }
+ 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;
+
+ 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);
+
+ 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_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_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);
+ 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 album 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_item_longpressed_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ startfunc;
+
+ MpArtistList_t *list = (MpArtistList_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;
+ temp = elm_genlist_first_item_get(list->genlist);
+ 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);
+ 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);
+ 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 = 3;
+ 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_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 = "music/2line.top";*/
+ list->itc->item_style = "2line.top";
+ /*list->itc->decorate_all_item_style = "musiclist/edit_default";
+ list->itc->decorate_item_style = group_slide_style;*/
+ 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);
+
+ /*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)(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*/
+ 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();
+ if (list->gengrid_itc == NULL) {
+ ERROR_TRACE("Unable to create artist list gengrid");
+ return;
+ }
+ 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);
+ /*evas_object_smart_callback_add(list->genlist, "longpressed", _mp_artist_list_item_longpressed_cb, list);*/
+
+ endfunc;
+}
+
+
+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) {
+ 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 (ad->del_cb_invoked == 0)
+ 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) 2000-2015 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);
+#ifdef MP_FEATURE_WIFI_SHARE
+ mp_util_ctxpopup_item_append(popup, "IDS_COM_BODY_WI_FI", NULL, mp_menu_ctxpopup_share_select_cb, user_data);
+#endif
+#ifdef MP_FEATURE_CLOUD
+ char *path = user_data;
+ mp_storage_type_e storage_type;
+ mp_media_info_h media_info = NULL;
+ mp_media_info_create_by_path(&media_info, path);
+ mp_media_info_get_storage_type(media_info, &storage_type);
+ if (storage_type != MP_STORAGE_CLOUD)
+ mp_util_ctxpopup_item_append(popup, STR_MP_DROPBOX, NULL, mp_menu_ctxpopup_share_select_cb, user_data);
+#endif
+ _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
+#ifdef MP_FEATURE_WIFI_SHARE
+ mp_util_ctxpopup_item_append(popup, "IDS_COM_BODY_WI_FI", 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) 2000-2015 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();
+ ad->del_cb_invoked = 0;
+ // 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;
+ //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(mp_playlist_data->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(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);
+ }
+ //_mp_edit_playlist_destory(mp_playlist_data);
+ 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);
+
+ 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");
+// char *text = elm_entry_utf8_to_markup(mp_playlist_data->name);
+// elm_entry_entry_set(mp_playlist_data->editfiled_entry, text);
+// IF_FREE(text);
+ 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");
+ //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;
+ 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);
+ //elm_entry_prediction_allow_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);
+ //elm_entry_cursor_end_set (entry);
+ evas_object_show(entry);
+
+ if (mp_playlist_data->new_playlist_name && (mp_playlist_data->type != MP_PLST_RENAME))
+ {
+ //elm_object_part_text_set(entry, "elm.guide", mp_playlist_data->new_playlist_name);
+ 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);
+
+ ad->del_cb_invoked = 0;
+
+ 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);
+ elm_layout_file_set(layout, PLAY_VIEW_EDJ_NAME, "popup_entryview");
+ 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();
+ text = mp_util_isf_get_edited_str(editfiled_entry, TRUE);
+
+ if (!mp_util_is_playlist_name_valid((char *)text))
+ {
+ //_mp_edit_playlist_destory(mp_playlist_data);
+ 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)
+ {
+ _mp_edit_playlist_destory(mp_playlist_data);
+ IF_FREE(text);
+ //mp_widget_text_popup(ad, GET_STR(STR_MP_POP_EXISTS));
+ Evas_Object *popup = mp_popup_create(ad->win_main,MP_POPUP_NORMAL, NULL, NULL, NULL,ad);
+ /*set text*/
+ mp_util_domain_translatable_text_set(popup, STR_MP_POP_EXISTS);
+ mp_popup_button_set(popup, MP_POPUP_BTN_1, STR_MP_OK, MP_POPUP_YES);
+ evas_object_show(popup);
+ 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);
+}
+
+/*
+#ifdef MP_FEATURE_LANDSCAPE
+static void
+_mp_edit_playlist_rotate_cb(void *thiz, int randscape)
+{
+ DEBUG_TRACE("create_plst view rotated");
+ Mp_Playlist_Data *mp_playlist_data = thiz;
+ MP_CHECK(mp_playlist_data);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ if (mp_playlist_data->editfiled_entry && !ad->popup[MP_POPUP_NOTIFY])
+ {
+ elm_object_focus_set(mp_playlist_data->editfiled_entry, EINA_TRUE);
+ }
+}
+#endif
+*/
+
+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) 2000-2015 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-folder-list.h"
+#include "mp-folder-detail-view.h"
+#include "mp-player-view.h"
+#include "mp-select-track-view.h"
+#include "mp-create-playlist-view.h"
+#include "mp-ctxpopup.h"
+#include "mp-popup.h"
+#include "mp-util.h"
+#include "mp-menu.h"
+#include "mp-common.h"
+#include "mp-widget.h"
+#include "mp-play.h"
+
+static const char *_get_label(void *thiz, void *event_info)
+{
+ MpFolderList_t *list = thiz;
+ MP_CHECK_NULL(list);
+ char *title = NULL;
+
+ mp_list_item_data_t *folder = elm_object_item_data_get(event_info);
+ MP_CHECK_NULL(folder);
+
+ mp_media_info_group_get_main_info(folder->handle, &title);
+ //DEBUG_TRACE("Title is %s", title);
+ return title;
+}
+
+static void
+_mp_folder_list_playall_button_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ eventfunc;
+
+ struct appdata *ad = mp_util_get_appdata();
+
+ mp_media_info_h handle = data;
+ MP_CHECK(handle);
+
+ int count = 0;
+ char *type_str = NULL;
+ int ret = 0;
+
+ mp_popup_destroy(ad);
+
+ ret = mp_media_info_group_get_folder_id(handle, &type_str);
+
+ MP_CHECK(type_str);
+
+ /* get playlist data by name */
+ mp_media_list_h svc_handle = NULL;
+
+ mp_media_info_list_count(MP_TRACK_BY_FOLDER, type_str, NULL, NULL, 0, &count);
+ mp_media_info_list_create(&svc_handle,
+ MP_TRACK_BY_FOLDER, type_str, NULL, NULL, 0, 0, count);
+
+ if (!ad->playlist_mgr)
+ mp_common_create_playlist_mgr();
+
+ 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;
+ ret = mp_play_new_file(ad, TRUE);
+ if (ret)
+ {
+ ERROR_TRACE("Error: mp_play_new_file..");
+#ifdef MP_FEATURE_CLOUD
+ if (ret == MP_PLAY_ERROR_NETWORK)
+ mp_widget_text_popup(NULL, GET_STR(STR_MP_THIS_FILE_IS_UNABAILABLE));
+#endif
+ IF_FREE(type_str);
+ return;
+ }
+
+ if (svc_handle)
+ {
+ mp_media_info_list_destroy(svc_handle);
+ }
+
+ IF_FREE(type_str);
+ endfunc;
+}
+
+static char *
+_mp_folder_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.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.1"))
+ 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 *
+_mp_folder_list_icon_get(void *data, Evas_Object * obj, const char *part)
+{
+ Evas_Object *icon = NULL;
+ Evas_Object *storage_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);
+
+ Evas_Object *content = NULL;
+ content = elm_layout_add(obj);
+
+ const char *slide_part_play_all = "";
+ if (item->group_type == MP_GROUP_BY_FOLDER)
+ slide_part_play_all = "elm.slide.swallow.2";
+
+ if (!strcmp(part, "elm.icon.1"))
+ {
+ char *thumb_name = NULL;
+ mp_media_info_group_get_thumbnail_path(svc_item, &thumb_name);
+#ifdef MP_FEATURE_PERSONAL_PAGE
+ char *folderpath = NULL;
+ mp_media_info_group_get_sub_info(svc_item, &folderpath);
+ if (folderpath != NULL && g_str_has_prefix(folderpath, MP_PERSONAL_PAGE_DIR))
+ icon = mp_widget_lock_icon_create(obj, (const char *)thumb_name);
+ else
+ icon = mp_util_create_lazy_update_thumb_icon(obj, thumb_name, MP_LIST_ICON_SIZE, MP_LIST_ICON_SIZE);
+#else
+ icon = mp_util_create_lazy_update_thumb_icon(obj, thumb_name, 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);
+
+ char *folder = NULL;
+ storage_icon = NULL;
+ int ret = mp_media_info_group_get_sub_info(svc_item, &folder);
+ mp_retvm_if ((ret != 0), NULL, "Fail to get value");
+ if (folder) {
+ const char *icon_path = NULL;
+ if (g_strstr_len(folder, strlen(MP_PHONE_ROOT_PATH), MP_PHONE_ROOT_PATH))
+ icon_path = MP_ICON_STORAGE_PHONE;
+ else if (g_strstr_len(folder, strlen(MP_MMC_ROOT_PATH), MP_MMC_ROOT_PATH))
+ icon_path = MP_ICON_STORAGE_MEMORY;
+ else
+ icon_path = MP_ICON_STORAGE_EXTERNAL;
+
+ storage_icon = elm_icon_add(obj);
+ MP_CHECK_NULL(storage_icon);
+ elm_image_file_set(storage_icon, IMAGE_EDJ_NAME, icon_path);
+ elm_layout_content_set(content, "elm.swallow.storage", storage_icon);
+ }
+ }
+
+ 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_common_button_add_to_playlist_cb, evas_object_data_get(obj, "list_data"));
+ return button;
+ }
+ else if (!strcmp(part, slide_part_play_all))
+ {
+ button = elm_button_add(obj);
+ elm_object_style_set(button, "sweep");
+ //elm_object_text_set(button, GET_STR(STR_MP_PLAY_ALL));
+ //mp_language_mgr_register_object(button, OBJ_TYPE_ELM_OBJECT, NULL, STR_MP_PLAY_ALL);
+ mp_util_domain_translatable_text_set(button, STR_MP_PLAY_ALL);
+ evas_object_smart_callback_add(button, "clicked", _mp_folder_list_playall_button_cb, item->handle);
+ return button;
+ }
+ else if (!g_strcmp0(part, "elm.icon.storage"))
+ {
+ char *folder = NULL;
+ icon = NULL;
+ int ret = mp_media_info_group_get_sub_info(svc_item, &folder);
+ mp_retvm_if ((ret != 0), NULL, "Fail to get value");
+ if (folder) {
+ const char *icon_path = NULL;
+ if (g_strstr_len(folder, strlen(MP_PHONE_ROOT_PATH), MP_PHONE_ROOT_PATH))
+ icon_path = MP_ICON_STORAGE_PHONE;
+ else if (g_strstr_len(folder, strlen(MP_MMC_ROOT_PATH), MP_MMC_ROOT_PATH))
+ icon_path = MP_ICON_STORAGE_MEMORY;
+ else
+ icon_path = MP_ICON_STORAGE_EXTERNAL;
+
+ icon = elm_icon_add(obj);
+ MP_CHECK_NULL(icon);
+ elm_image_file_set(icon, IMAGE_EDJ_NAME, icon_path);
+ evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
+ elm_layout_theme_set(content, "layout", "list/B/music.type.2", "default");
+ elm_layout_content_set(content, "elm.icon.center", icon);
+
+ return content;
+ }
+ }
+
+ Evas_Object *check = NULL;
+
+ if (elm_genlist_decorate_mode_get(obj)) { // if edit mode
+ if (!strcmp(part, "elm.icon.2")) { // swallow checkbox or radio button
+ check = elm_check_add(obj);
+ elm_object_style_set(check, "genlist");
+ 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);
+ elm_layout_theme_set(content, "layout", "list/C/type.2", "default");
+ elm_layout_content_set(content, "elm.swallow.content", check);
+
+ return content;
+ }
+ }
+ return content;
+}
+
+static void
+_mp_folder_list_item_del_cb(void *data, Evas_Object * obj)
+{
+ mp_list_item_data_t *item_data = data;
+ SAFE_FREE(item_data);
+}
+
+static void
+_mp_folder_select_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ MpFolderList_t *list = (MpFolderList_t *)data;
+ MP_CHECK(list);
+ eventfunc;
+ int ret = 0;
+ int index = 0;//(int)data;
+ char *name = NULL;
+ char *folder = NULL;
+ char *title = NULL;
+
+ MP_LIST_ITEM_IGNORE_SELECT(obj);
+
+ 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);
+
+ index = gli_data->index;
+ 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(view);
+ ERROR_TRACE("set selected count");
+ IF_FREE(folder);
+ return;
+ }
+
+ DEBUG_TRACE("index is %d", index);
+ if (index >=0)
+ {
+ DEBUG_TRACE("");
+ ret = mp_media_info_group_get_main_info(gli_data->handle, &name);
+ DEBUG_TRACE("");
+
+ mp_retm_if (ret != 0, "Fail to get value");
+ mp_retm_if (name == NULL, "Fail to get value");
+
+ title = name;
+
+ mp_media_info_group_get_folder_id(gli_data->handle, &folder);
+ mp_retm_if (ret != 0, "Fail to get value");
+ mp_retm_if (folder == NULL, "Fail to get value");
+ }
+
+
+ if (list->function_type == MP_LIST_FUNC_ADD_TRACK)
+ {
+ MpViewMgr_t *view_manager = mp_view_mgr_get_view_manager();
+ if (view_manager == NULL) {
+ IF_FREE(folder);
+ return;
+ }
+ MpSelectTrackView_t *view_select_track = mp_select_track_view_create(view_manager->navi);
+ if (view_select_track == NULL) {
+ IF_FREE(folder);
+ return;
+ }
+ 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_FOLDER, MP_TRACK_LIST_TYPE_STR, folder, -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_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);
+ IF_FREE(folder);
+ return;
+ }
+
+ /* create the view of folder detail */
+
+ MpViewMgr_t *view_manager = mp_view_mgr_get_view_manager();
+ if (view_manager == NULL) {
+ IF_FREE(folder);
+ return;
+ }
+ MpFolderDetailView_t *view_folder_detail = mp_folder_detail_view_create(view_manager->navi, folder);
+ if (view_folder_detail == NULL) {
+ IF_FREE(folder);
+ return;
+ }
+ mp_view_mgr_push_view(view_manager, (MpView_t *)view_folder_detail, NULL);
+
+ mp_view_update_options((MpView_t *)view_folder_detail);
+ mp_view_set_title((MpView_t *)view_folder_detail, title);
+ IF_FREE(folder);
+ //mp_util_reset_genlist_mode_item(layout_data->genlist);
+
+ //_mp_group_view_push_item_content(view_data, view_layout, title);
+
+}
+
+
+static void _mp_folder_list_load_list(void *thiz, int count)
+{
+ MpFolderList_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->folder_list)
+ {
+ mp_media_info_group_list_destroy(list->folder_list);
+ }
+
+ ret = mp_media_info_group_list_create(&list->folder_list, MP_GROUP_BY_FOLDER, list->type_str, list->filter_str, 0, count);
+
+ if (ret != 0)
+ {
+ DEBUG_TRACE("Fail to get items");
+ goto END;
+ }
+
+
+ svc_handle = list->folder_list ;
+
+ for (index = 0; index < count; index++)
+ {
+ mp_media_info_h item = NULL;
+ char *title = NULL;
+ mp_list_item_data_t *item_data = 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);
+#ifdef MP_FEATURE_PERSONAL_PAGE
+ char *path = NULL;
+ mp_media_info_group_get_sub_info(item, &path);
+ if (list->personal_page_type == MP_LIST_PERSONAL_PAGE_NONE)
+ goto append_folder_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_folder_items:
+#endif
+ 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->checked = mp_list_is_in_checked_path_list(list->checked_path_list, title);
+
+ Elm_Object_Item *parent_group = NULL;
+ item_data->it = elm_genlist_item_append(list->genlist, list->itc, item_data, parent_group,
+ ELM_GENLIST_ITEM_NONE, _mp_folder_select_cb, (void *)list);
+ elm_object_item_data_set(item_data->it, item_data);
+ }
+
+/*
+ if (count > load_count && layout_data->view_mode != MP_VIEW_MODE_SEARCH)
+ {
+ if (!layout_data->load_item_idler)
+ layout_data->load_item_idler = ecore_idler_add(_mp_view_layout_load_item_idler_cb, layout_data);
+ }
+
+ if (layout_data->edit_mode
+ || (layout_data->ad->b_add_tracks && layout_data->view_data->view_type == MP_VIEW_TYPE_SONGS))
+ {
+ if (!layout_data->select_all_layout)
+ {
+ _mp_view_layout_create_select_all(layout_data);
+ }
+ else
+ {
+ if (layout_data->select_all_checkbox)
+ elm_check_state_set(layout_data->select_all_checkbox, false);
+ }
+
+ elm_genlist_decorate_mode_set(layout_data->genlist, EINA_TRUE);
+ elm_genlist_select_mode_set(layout_data->genlist, ELM_OBJECT_SELECT_MODE_ALWAYS);
+ }
+ else
+ {
+ if (layout_data->select_all_layout)
+ {
+ evas_object_del(layout_data->select_all_layout);
+ layout_data->select_all_layout = NULL;
+ }
+ elm_genlist_decorate_mode_set(layout_data->genlist, EINA_FALSE);
+ elm_genlist_select_mode_set(layout_data->genlist, ELM_OBJECT_SELECT_MODE_DEFAULT);
+ }
+
+ if (layout_data->reorder && layout_data->playlist_id > 0) // reordering of favorite list is not allowed..
+ elm_genlist_reorder_mode_set(layout_data->genlist, EINA_TRUE);
+ else
+ elm_genlist_reorder_mode_set(layout_data->genlist, EINA_FALSE);
+*/
+END:
+ endfunc;
+}
+
+void _mp_folder_list_destory_cb(void *thiz)
+{
+ eventfunc;
+ MpFolderList_t *list = thiz;
+ MP_CHECK(list);
+
+ if (list->folder_list)
+ mp_media_info_group_list_destroy(list->folder_list);
+
+ if (list->itc) {
+ elm_genlist_item_class_free(list->itc);
+ list->itc = NULL;
+ }
+
+ IF_FREE(list->type_str);
+ IF_FREE(list->filter_str);
+ mp_list_free_checked_path_list(list->checked_path_list);
+
+ IF_FREE(list);
+}
+
+static mp_group_type_e _mp_folder_list_get_group_type(void *thiz)
+{
+ MpFolderList_t *list = thiz;
+ MP_CHECK_VAL(list, MP_GROUP_NONE);
+ return MP_GROUP_BY_FOLDER;
+}
+
+/*static void
+_mp_floder_list_item_longpressed_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ startfunc;
+
+ MpFolderList_t *list = (MpFolderList_t*)data;
+ MP_CHECK(list);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ Elm_Object_Item *item = event_info;
+ MP_CHECK(item);
+
+ char *title = NULL;
+ char *path = NULL;
+ int pop_item_count = 3;
+ Elm_Object_Item *temp = NULL;
+ Evas_Object *popup = NULL;
+ mp_list_item_data_t *item_data = NULL;
+
+ if (list->scroll_drag_status || list->edit_mode == 1)
+ return;
+
+ temp = elm_genlist_first_item_get(list->genlist);
+ while (temp) {
+ item_data = elm_object_item_data_get(temp);
+ 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;
+
+ mp_media_info_group_get_main_info(item_data->handle, &title);
+ mp_media_info_group_get_sub_info(item_data->handle, &path);
+
+ 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_folder_list_playall_button_cb, item_data->handle);
+ 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);
+
+#ifdef MP_FEATURE_PERSONAL_PAGE
+ if (mp_util_is_personal_page_on())
+ {
+ if (mp_util_is_in_personal_page((const char *)path))
+ {
+ DEBUG_TRACE("remove from personal page");
+ list->personal_page_storage = MP_LIST_PERSONAL_PAGE_PRIVATE;
+ mp_genlist_popup_item_append(popup, STR_MP_REMOVE_FROM_PERSONAL_PAGE, NULL, NULL, NULL,
+ mp_common_longpress_private_move_cb, list);
+ }
+ else
+ {
+ DEBUG_TRACE("add to personal page");
+ list->personal_page_storage = MP_LIST_PERSONAL_PAGE_NORMAL;
+ mp_genlist_popup_item_append(popup, STR_MP_ADD_TO_PERSONAL_PAGE, NULL, NULL, NULL,
+ mp_common_longpress_private_move_cb, list);
+ }
+ }
+#endif
+
+ MP_GENLIST_ITEM_LONG_PRESSED(obj, popup, event_info);
+}*/
+
+
+
+void _mp_folder_list_update(void *thiz)
+{
+ startfunc;
+ int count = 0, res = 0;
+ MpFolderList_t *list = thiz;
+ MP_CHECK(list);
+
+ res = mp_media_info_group_list_count(MP_GROUP_BY_FOLDER, 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)
+ {
+ /*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);
+ 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);
+
+#ifdef MP_FEATURE_ADD_TO_HOME
+ const char *group_slide_style = "mode/slide";
+ group_slide_style = "mode/slide2";
+#endif
+ if (!list->itc)
+ {
+ list->itc = elm_genlist_item_class_new();
+ if (list->itc) {
+ list->itc->item_style = "2line.top";
+ //list->itc->decorate_all_item_style = "musiclist/edit_default";
+ //list->itc->decorate_item_style = folder_slide_style;
+ list->itc->func.text_get = _mp_folder_list_label_get;
+ list->itc->func.content_get = _mp_folder_list_icon_get;
+ list->itc->func.del = _mp_folder_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, "longpressed", _mp_floder_list_item_longpressed_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);
+ /* load list */
+ _mp_folder_list_load_list(thiz, count);
+ list->show_fastscroll(list);
+
+ //mp_list_bottom_counter_item_append((MpList_t *)list);
+ }
+ else
+ {
+ DEBUG_TRACE("count is 0");
+ list->no_content = mp_widget_no_contents_default_add(list->box, STR_MP_NO_FOLDERS, STR_MP_AFTER_YOU_DOWNLOAD_TRACKS_FOLDER_WILL_BE_SHOWN);
+ list->hide_fastscroll(list);
+ elm_box_pack_end(list->box, list->no_content);
+ }
+
+}
+
+static char *_mp_folder_list_bottom_counter_text_cb(void *thiz)
+{
+ MpFolderList_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_FOLDER));
+ else
+ text = g_strdup_printf(GET_STR(STR_MP_PD_FOLDERS), count);
+
+ return text;
+}
+
+MpFolderList_t * mp_folder_list_create(Evas_Object *parent)
+{
+ eventfunc;
+ MP_CHECK_NULL(parent);
+
+ MpFolderList_t *list = calloc(1, sizeof(MpFolderList_t));
+ MP_CHECK_NULL(list);
+
+ mp_list_init((MpList_t *)list, parent, MP_LIST_TYPE_GROUP);
+
+ list->update = _mp_folder_list_update;
+ list->destory_cb = _mp_folder_list_destory_cb;
+ list->get_group_type = _mp_folder_list_get_group_type;
+ list->get_label = _get_label;
+ list->bottom_counter_text_get_cb = _mp_folder_list_bottom_counter_text_cb;
+ return list;
+}
+
+void mp_folder_list_set_data(MpFolderList_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_FOLDER_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_FOLDER_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_FOLDER_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_FOLDER_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_folder_list_copy_data(MpFolderList_t*src, MpFolderList_t *dest)
+{
+ dest->group_type = src->group_type;
+ SAFE_FREE(dest->type_str);
+ dest->type_str = g_strdup(src->type_str);
+ dest->filter_str = g_strdup(src->filter_str);
+}
+
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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);
+ 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);
+ 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";
+#ifdef MP_FEATURE_ADD_TO_HOME
+ group_slide_style = "mode/slide2";
+#endif
+ 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;
+ }
+
+ /*
+ 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);
+ */
+ 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);
+ /*evas_object_smart_callback_add(list->genlist, "longpressed", _mp_genre_list_item_longpressed_cb, 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) 2000-2015 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;
+
+#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;
+ Elm_Object_Item *it = NULL;
+ 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;
+
+ it = 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;
+
+ it = 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);
+ elm_index_level_go(index, 0);
+ 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_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) 2000-2015 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_decorate_mode_get(obj) == EINA_FALSE);
+ 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_decorate_mode_get(obj) == EINA_FALSE);
+ 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);
+
+ ad->del_cb_invoked = 0;
+
+ 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);
+
+ 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);
+ }
+
+ elm_genlist_decorate_mode_set(list->genlist, EINA_TRUE);
+ }
+
+ 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)) {
+ elm_genlist_decorate_mode_set(list->genlist, EINA_FALSE);
+ }
+ 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);
+
+ 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);
+
+ MpViewMgr_t *view_mgr = mp_view_mgr_get_view_manager();
+ MpView_t *view = mp_view_mgr_get_top_view(view_mgr);
+ MP_CHECK(view);
+
+ mp_util_create_selectioninfo_with_count(view, mp_list_get_checked_count(list));
+
+ //view->selection_info = 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);
+ }
+ END:
+ if (selected)
+ *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")) {
+ 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 = "music/1text/bottom_counter";
+ 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) 2000-2015 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>
+
+#ifdef MP_FEATURE_LOCKSCREEN
+
+int LOCKSCREEN_MINI_CONTROLLER_WIDTH;
+#define LOCKSCREEN_MINI_CONTROLLER_HEIGHT (93)
+
+//#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);
+#ifdef LOCKSCREEN_ENABLE_PROGRESS
+static void _mp_lockscreenmini_progress_val_set(struct appdata *ad, double position);
+#endif
+static void _mp_lockscreenmini_update_layout(struct appdata *ad, bool landscape);
+#ifdef MP_FEATURE_LOCKSCREEN
+static void _mp_lockscreenmini_set_repeate_image(void *data, int repeate_state);
+static void _mp_lockscreenmini_set_shuffle_image(void *data, int shuffle_state);
+#endif
+
+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;
+}
+
+#ifdef LOCKSCREEN_ENABLE_PROGRESS
+static inline void
+_mp_lockscreenmini_update_elapsed_time(struct appdata *ad, bool get_pos)
+{
+ MP_CHECK(ad);
+ MP_CHECK(ad->lockmini_layout);
+
+ double played_ratio = 0.;
+ double music_pos = 0.;
+ if (get_pos)
+ music_pos = mp_player_mgr_get_position() / 1000;
+ else
+ music_pos = ad->music_pos;
+
+ 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(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(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(music_pos));
+ }
+
+ edje_object_part_text_set(_EDJ(ad->lockmini_layout), "np_progress_text_total", total_time);
+ edje_object_part_text_set(_EDJ(ad->lockmini_layout), "np_progress_text_playing", play_time);
+
+ if (ad->music_length > 0. && music_pos > 0.) {
+ played_ratio = music_pos / ad->music_length;
+ }
+ _mp_lockscreenmini_progress_val_set(ad, played_ratio);
+}
+
+static Eina_Bool
+_lockscreenmini_update_progresstime_cb(void *data)
+{
+ TIMER_TRACE();
+ struct appdata *ad = data;
+ mp_retvm_if (ad == NULL, ECORE_CALLBACK_CANCEL, "appdata is NULL");
+
+ if (ad->is_lcd_off) {
+ mp_ecore_timer_del(ad->lockmini_progress_timer);
+ return ECORE_CALLBACK_CANCEL;
+ }
+ if (ad->progress_dragging)
+ return ECORE_CALLBACK_RENEW;
+
+ if (ad->player_state == PLAY_STATE_PLAYING) {
+ _mp_lockscreenmini_update_elapsed_time(ad, true);
+ }
+
+ return ECORE_CALLBACK_RENEW;
+}
+
+static void
+_lockscreenmini_progress_timer_add(void *data)
+{
+ struct appdata *ad = data;
+ mp_retm_if (ad == NULL, "appdata is NULL");
+ DEBUG_TRACE();
+
+ mp_ecore_timer_del(ad->lockmini_progress_timer);
+
+ _mp_lockscreenmini_update_elapsed_time(ad, true);
+ if (ad->player_state == PLAY_STATE_PLAYING) {
+ ad->lockmini_progress_timer = ecore_timer_add(1.0, _lockscreenmini_update_progresstime_cb, ad);
+ }
+}
+#endif
+
+#ifdef LOCKSCREEN_ENABLE_SHUFFLE_REPEAT
+static char *_mp_lockscreenmini_shuffle_access_info_cb(void *data, Evas_Object *obj)
+{
+ startfunc;
+ DEBUG_TRACE("shuffle button clicked");
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_NULL(ad);
+
+ char *operation_txt = NULL;
+ int shuffle_state = 0;
+ mp_setting_get_shuffle_state(&shuffle_state);
+
+ if (shuffle_state == 1) {
+ operation_txt = GET_SYS_STR(MP_TTS_SHUFFLE_OFF_BUTTON);
+ } else {
+ operation_txt = GET_SYS_STR(MP_TTS_SHUFFLE_ON_BUTTON);
+ }
+
+ return g_strdup(operation_txt);
+}
+#endif
+static char *_mp_lockscreenmini_play_pause_access_info_cb(void *data, Evas_Object *obj)
+{
+ startfunc;
+ DEBUG_TRACE("play/pause button clicked");
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_NULL(ad);
+
+ char *operation_txt = NULL;
+
+ if (ad->player_state == PLAY_STATE_PLAYING) {
+ operation_txt = GET_SYS_STR(MP_TTS_PAUSE_BUTTON);
+ } else if (ad->player_state == PLAY_STATE_PAUSED) {
+ operation_txt = GET_SYS_STR(MP_TTS_PLAY_BUTTON);
+ }
+ return g_strdup(operation_txt);
+}
+
+#ifdef LOCKSCREEN_ENABLE_SHUFFLE_REPEAT
+static char *_mp_lockscreenmini_repeat_access_info_cb(void *data, Evas_Object *obj)
+{
+ startfunc;
+ DEBUG_TRACE("repeat button clicked");
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_NULL(ad);
+
+ char *operation_txt = NULL;
+ int repeat_state = 0;
+ mp_setting_get_repeat_state(&repeat_state);
+ if (MP_PLST_REPEAT_ONE == repeat_state) {
+ operation_txt = GET_SYS_STR(MP_TTS_REPEAT_ONE_BUTTON);
+ } else if (MP_PLST_REPEAT_NONE == repeat_state) {
+ operation_txt = GET_SYS_STR(MP_TTS_REPEAT_OFF_BUTTON);
+ } else {
+ /*repeat all*/
+ operation_txt = GET_SYS_STR(MP_TTS_REPEAT_ALL_BUTTON);
+ }
+ return g_strdup(operation_txt);
+}
+#endif
+static char *_mp_lockscreenmini_ff_rew_access_info_cb(void *data, Evas_Object *obj)
+{
+ startfunc;
+ DEBUG_TRACE("ff/rew button clicked");
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_NULL(ad);
+
+ char *operation_txt = NULL;
+
+ char *source = (char *)data;
+ if (!g_strcmp0(source, CONTROLLER_FF_SOURCE)) {
+ operation_txt = GET_SYS_STR(MP_TTS_NEXT_BUTTON);
+ } else {
+ operation_txt = GET_SYS_STR(MP_TTS_PREVIOUS_BUTTON);
+ }
+ return g_strdup(operation_txt);
+}
+
+#ifdef MP_FEATURE_LOCKSCREEN
+static void _mp_lockscreenmini_set_shuffle_image(void *data, int shuffle_state)
+{
+ struct appdata *ad = (struct appdata *)data;
+ MP_CHECK(ad);
+ MP_CHECK(ad->lockmini_layout);
+ ERROR_TRACE("");
+
+ if (shuffle_state) {
+ elm_object_signal_emit(ad->lockmini_layout, "set_shuffle_on", "*");
+ } else {
+ elm_object_signal_emit(ad->lockmini_layout, "set_shuffle_off", "*");
+ }
+}
+static void _mp_lockscreenmini_set_repeate_image(void *data, int repeate_state)
+{
+ struct appdata *ad = (struct appdata *)data;
+ MP_CHECK(ad);
+ MP_CHECK(ad->lockmini_layout);
+ ERROR_TRACE("");
+
+ if (MP_PLST_REPEAT_ONE == repeate_state) {
+ elm_object_signal_emit(ad->lockmini_layout, "set_repeat_btn_1", "*");
+ } else if (MP_PLST_REPEAT_NONE == repeate_state) {
+ elm_object_signal_emit(ad->lockmini_layout, "set_repeat_btn_a", "*");
+ } else {
+ elm_object_signal_emit(ad->lockmini_layout, "set_repeat_btn_all", "*");
+ }
+
+}
+#endif
+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) {
+ 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);
+ 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;
+
+ /* load edje */
+ _mp_lockscreenmini_update_layout(ad, false);
+
+ /*evas_object_show(eo);*/
+
+ return;
+}
+
+static void
+_mp_lockscreenmini_register_reader(void *data)
+{
+ struct appdata *ad = data;
+ MP_CHECK(ad);
+}
+
+#ifdef LOCKSCREEN_ENABLE_PROGRESS
+static void
+_mp_lockscreenmini_progess_box_del_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+ startfunc;
+
+ struct appdata *ad = data;
+ MP_CHECK(ad->lockmini_progress_box);
+
+ ad->lockmini_progress_box = NULL;
+}
+static void
+_mp_lockscreenmini_progressarea_down_cb(void *data, Evas * e, Evas_Object * obj, void *event_info)
+{
+ startfunc;
+
+ struct appdata *ad = data;
+ MP_CHECK(ad);
+ MP_CHECK(ad->lockmini_progress_bar);
+
+ Evas_Event_Mouse_Down *ev = event_info;
+ evas_object_data_set(obj, "pressed_x", (void *)ev->canvas.x);
+ evas_object_data_set(obj, "timestamp", (void *)ev->timestamp);
+
+ ad->progress_dragging = true;
+
+#if 0
+ elm_object_signal_emit(ad->lockmini_progress_bar, "signal.lockscreenmini.progress.click", "*");
+
+ 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;
+ 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;
+
+ _mp_lockscreenmini_progress_val_set(ad, ratio);
+ _mp_lockscreenmini_update_elapsed_time(ad, false);
+#endif
+ endfunc;
+}
+#endif
+#if 0
+static void
+_mp_lockscreenmini_progressarea_move_cb(void *data, Evas * e, Evas_Object * obj, void *event_info)
+{
+ startfunc;
+ struct appdata *ad = data;
+ MP_CHECK(ad);
+ MP_CHECK(ad->lockmini_progress_bar);
+
+ 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;
+
+ _mp_lockscreenmini_progress_val_set(ad, ratio);
+ _mp_lockscreenmini_update_elapsed_time(ad, false);
+ endfunc;
+}
+#endif
+#ifdef LOCKSCREEN_ENABLE_PROGRESS
+static void
+_mp_lockscreenmini_progressarea_up_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+ startfunc;
+ struct appdata *ad = data;
+ MP_CHECK(ad);
+ MP_CHECK(ad->lockmini_progress_bar);
+
+ elm_object_signal_emit(ad->lockmini_progress_bar, "signal.lockscreenmini.progress.unclick", "*");
+
+ if (ad->progress_dragging == false)
+ return;
+
+ int pressed_x = (int)evas_object_data_get(obj, "pressed_x");
+ unsigned int timestamp = (unsigned int)evas_object_data_get(obj, "timestamp");
+ Evas_Event_Mouse_Up *ev = event_info;
+ if (abs(ev->canvas.x - pressed_x) > 10 || (ev->timestamp - timestamp) > 500)
+ return;
+
+ 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);
+ mp_player_mgr_set_position(ad->music_pos * 1000, NULL, NULL);
+
+ ad->progress_dragging = false;
+
+ _mp_lockscreenmini_progress_val_set(ad, ratio);
+ _mp_lockscreenmini_update_elapsed_time(ad, false);
+ endfunc;
+}
+
+static void
+_mp_lockscreenmini_progress_val_set(struct appdata *ad, double position)
+{
+ MP_CHECK(ad);
+ MP_CHECK(ad->lockmini_layout);
+ MP_CHECK(ad->lockmini_progress_bar);
+
+ edje_object_part_drag_value_set(_EDJ(ad->lockmini_progress_bar), "progressbar_playing", position, 0.0);
+ return;
+}
+
+static void _mp_lockscreenmini_create_progress_layout(struct appdata *ad)
+{
+ startfunc;
+
+ ad->lockmini_progress_box = mp_common_load_edj(ad->lockmini_layout, LOCKSCREENMINI_EDJ_NAME, "lockscreenmini_progress_box");
+ MP_CHECK(ad->lockmini_progress_box);
+ evas_object_event_callback_add(ad->lockmini_progress_box, EVAS_CALLBACK_DEL, _mp_lockscreenmini_progess_box_del_cb, ad);
+ elm_object_part_content_set(ad->lockmini_layout, "progress_box", ad->lockmini_progress_box);
+
+ ad->lockmini_progress_bar = mp_common_load_edj(ad->lockmini_progress_box, LOCKSCREENMINI_EDJ_NAME, "lockscreenmini_player_progressbar");
+ MP_CHECK(ad->lockmini_progress_bar);
+ elm_object_part_content_set(ad->lockmini_progress_box, "progress_bar", ad->lockmini_progress_bar);
+ _mp_lockscreenmini_progress_val_set(ad, 0.0);
+
+ evas_object_event_callback_add(ad->lockmini_progress_bar, EVAS_CALLBACK_MOUSE_DOWN,
+ _mp_lockscreenmini_progressarea_down_cb, ad);
+ evas_object_event_callback_add(ad->lockmini_progress_bar, EVAS_CALLBACK_MOUSE_UP,
+ _mp_lockscreenmini_progressarea_up_cb, ad);
+ #if 0
+ evas_object_event_callback_add(ad->lockmini_progress_bar, EVAS_CALLBACK_MOUSE_MOVE,
+ _mp_lockscreenmini_progressarea_move_cb, ad);
+ #endif
+}
+#endif
+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_register_reader(ad);
+ }
+
+ 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);
+
+ ad->b_lockmini_show = TRUE;
+ mp_lockscreenmini_update(ad);
+
+ FILE *fp = fopen(MP_LSCR_CONTROL, "w");
+ if (fp) fclose(fp);
+
+ evas_object_show(ad->win_lockmini);
+ return 0;
+}
+
+#ifdef LOCKSCREEN_ENABLE_PROGRESS
+static void _mp_lockscreenmini_update_progressbar_state(struct appdata *ad)
+{
+ startfunc;
+ mp_retm_if (ad == NULL, "appdata is NULL");
+ MP_CHECK(ad->lockmini_progress_bar);
+}
+#endif
+
+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->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");
+ }
+
+#ifdef LOCKSCREEN_ENABLE_PROGRESS
+ _mp_lockscreenmini_update_progressbar_state(ad);
+#endif
+}
+
+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);
+}
+
+#ifdef MP_FEATURE_LOCKSCREEN
+void
+mp_lockscreenmini_update_shuffle_and_repeat_btn(struct appdata *ad)
+{
+ startfunc;
+ mp_retm_if (ad == NULL, "appdata is NULL");
+ MP_CHECK(ad->win_lockmini);
+ MP_CHECK(!ad->is_lcd_off);
+
+ int shuffle_state = 0;
+ int repeat_state = 0;
+ mp_setting_get_shuffle_state(&shuffle_state);
+ mp_setting_get_repeat_state(&repeat_state);
+
+ _mp_lockscreenmini_set_shuffle_image((void *)ad, shuffle_state);
+ _mp_lockscreenmini_set_repeate_image((void *)ad, repeat_state);
+
+}
+
+/*focused UI callbacks*/
+static void _mp_lockscreenmini_shuffle_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ DEBUG_TRACE("shuffle button clicked");
+
+ 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_play_control_shuffle_set(ad, shuffle_state);
+ _mp_lockscreenmini_set_shuffle_image(ad, shuffle_state);
+}
+#endif
+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);
+
+ if (ad->player_state == PLAY_STATE_PLAYING) {
+ mp_play_control_play_pause(ad, false);
+ } else {
+ mp_play_control_play_pause(ad, true);
+ }
+}
+#ifdef LOCKSCREEN_ENABLE_SHUFFLE_REPEAT
+static void _mp_lockscreenmini_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);
+
+ int repeat_state = 0;
+ mp_setting_get_repeat_state(&repeat_state);
+ repeat_state++;
+ repeat_state %= 3;
+ mp_setting_set_repeat_state(repeat_state);
+ _mp_lockscreenmini_set_repeate_image(ad, repeat_state);
+ mp_playlist_mgr_set_repeat(ad->playlist_mgr, repeat_state);
+ mp_player_view_update_state(GET_PLAYER_VIEW);
+}
+#endif
+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 ;
+
+#ifdef LOCKSCREEN_ENABLE_PROGRESS
+ _mp_lockscreenmini_create_progress_layout(ad);
+#endif
+ elm_win_resize_object_add(ad->win_lockmini, ad->lockmini_layout);
+
+/*add focused UI related*/
+#ifdef LOCKSCREEN_ENABLE_SHUFFLE_REPEAT
+ /*-------> shuffle button ------->*/
+ Evas_Object *shuffle_focus_btn = elm_button_add(ad->lockmini_layout);
+ elm_object_style_set(shuffle_focus_btn, "focus");
+ elm_object_part_content_set(ad->lockmini_layout, "shuffle_focus", shuffle_focus_btn);
+ elm_object_focus_custom_chain_append(ad->lockmini_layout, shuffle_focus_btn, NULL);
+ evas_object_smart_callback_add(shuffle_focus_btn, "clicked", _mp_lockscreenmini_shuffle_btn_clicked_cb, NULL);
+#endif
+ /*-------> 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);
+
+#ifdef LOCKSCREEN_ENABLE_SHUFFLE_REPEAT
+ /*-------> repeat button ------->*/
+ Evas_Object *repeat_focus_btn = elm_button_add(ad->lockmini_layout);
+ elm_object_style_set(repeat_focus_btn, "focus");
+ elm_object_part_content_set(ad->lockmini_layout, "repeat_focus", repeat_focus_btn);
+ elm_object_focus_custom_chain_append(ad->lockmini_layout, repeat_focus_btn, NULL);
+ evas_object_smart_callback_add(repeat_focus_btn, "clicked", _mp_lockscreenmini_repeat_btn_clicked_cb, NULL);
+#endif
+ _mp_lockscreenmini_update_btn(ad);
+}
+
+static void
+_mp_lockscreenmini_title_set(struct appdata *ad)
+{
+ DEBUG_TRACE("title set");
+
+ MP_CHECK(ad);
+ Evas_Object *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);
+ }
+
+ if (ad->lockmini_visible) {
+ elm_label_slide_mode_set(label, ELM_LABEL_SLIDE_MODE_ALWAYS);
+ elm_label_slide_go(label);
+ } else {
+ elm_label_slide_mode_set(label, ELM_LABEL_SLIDE_MODE_NONE);
+ elm_label_slide_go(label);
+ }
+
+ 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_lockscreenmini_update_control(ad);
+ if (ad->player_state == PLAY_STATE_PLAYING) {
+ #ifdef LOCKSCREEN_ENABLE_PROGRESS
+ _lockscreenmini_progress_timer_add(ad);
+ #endif
+ }
+
+ mp_track_info_t *current_item = ad->current_track_info;
+ if (current_item) {
+ #ifdef LOCKSCREEN_ENABLE_PROGRESS
+ _mp_lockscreenmini_update_elapsed_time(ad, true);
+ #endif
+ #ifdef LOCKSCREEN_ENABLE_SHUFFLE_REPEAT
+ mp_lockscreenmini_update_shuffle_and_repeat_btn(ad);
+ #endif
+
+ _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;
+
+ ecore_file_remove(MP_LSCR_CONTROL);
+ 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);
+
+ if (visible) {
+#ifdef LOCKSCREEN_ENABLE_PROGRESS
+ _lockscreenmini_progress_timer_add(ad);
+#endif
+ } else {
+ 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);
+}
+
+void mp_lockscreenmini_update_progressbar(struct appdata *ad)
+{
+ #ifdef LOCKSCREEN_ENABLE_PROGRESS
+ _mp_lockscreenmini_update_elapsed_time(ad, true);
+ #endif
+}
+
+#endif
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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 = "<color=";
+ strncpy(text_new, text, strlen(text));
+ strncat(text_new, color ,strlen(color));
+ text = ">";
+ strncat(text_new, text, strlen(text));
+ strncat(text_new, text_old ,strlen(text_old));
+ text = "</color>";
+ strncat(text_new, text, strlen(text));
+
+ edje_object_part_text_set(_EDJ(obj), "txt", text_new);
+
+ 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) goto ERROR;
+
+ 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);
+
+ 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) 2000-2015 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.
+*
+*/
+
+
+#ifdef MP_FEATURE_APP_IN_APP
+
+#include <Elementary.h>
+#include <Ecore.h>
+
+#include "mp-mini-player.h"
+#include "mp-player-debug.h"
+#include "mp-common.h"
+#include "mp-widget.h"
+#include "mp-app.h"
+#include "mp-player-control.h"
+#include "mp-util.h"
+#include "mp-mw-lyric-view.h"
+
+#define CTR_EDJ_SIG_SRC "ctrl_edj"
+
+#define BASE_W 720
+#define BASE_H 1280
+
+#define MINI_PLAYER_W 362
+#define MINI_PLAYER_H 177
+#define MINI_PLAYER_X (BASE_W-MINI_PLAYER_W-12)
+#define MINI_PLAYER_Y 85
+
+#define MINI_ALBUM_ART_SIZE0_W 90
+#define MINI_ALBUM_ART_SIZE0_H 90
+
+#define MINI_ALBUM_ART_SIZE1_W 348
+#define MINI_ALBUM_ART_SIZE1_H 188
+
+#define MINI_ALBUM_ART_SIZE2_W 706
+#define MINI_ALBUM_ART_SIZE2_H 546
+
+
+#define ALBUMART_PART_NAME "albumart"
+#define THUMB_NAIL_PART_NAME "thumb_nail"
+
+static Evas_Coord_Rectangle nLastRect = {0,};
+static bool MINI_CALLED = false;
+
+static bool _mp_mini_player_view_show_lyric(void *data, bool show_lyric);
+
+
+static Eina_Bool
+_mp_mini_player_delay_play_timer_cb(void *data)
+{
+ TIMER_TRACE();
+ MpMwView_t *mw_view = (MpMwView_t *)data;
+ MP_CHECK_FALSE(mw_view);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_FALSE(ad);
+
+ edje_object_signal_emit(_EDJ(mw_view->mini_player_view_layout), "set_play", "*");
+
+ mw_view->play_delay_timer = NULL;
+
+ return ECORE_CALLBACK_DONE;
+}
+
+static Eina_Bool
+_mp_mini_player_switch_timer_cb(void *data)
+{
+ startfunc;
+ MpMwView_t *mw_view = (MpMwView_t *)data;
+ MP_CHECK_FALSE(mw_view);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_FALSE(ad);
+
+ Evas_Coord_Rectangle nCurRect = {0,};
+ evas_object_geometry_get(mw_view->win_mini, &nCurRect.x, &nCurRect.y, &nCurRect.w, &nCurRect.h);
+
+ if (nLastRect.w != nCurRect.w || nLastRect.h != nCurRect.h)
+ {
+ mp_mini_player_mode_set(mw_view, 3);
+ nLastRect.w = nCurRect.w;
+ nLastRect.h = nCurRect.h;
+ }
+
+ return ECORE_CALLBACK_RENEW;
+}
+
+static void
+_mp_mini_player_resize_btn_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
+{
+ startfunc;
+ MpMwView_t *mw_view = (MpMwView_t *)data;
+ MP_CHECK_NULL(mw_view);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ MP_CHECK(emission);
+
+ Evas_Coord_Rectangle nCurRect = {0,};
+ evas_object_geometry_get(mw_view->win_mini, &nCurRect.x, &nCurRect.y, &nCurRect.w, &nCurRect.h);
+ int x = 0;
+ int y = 0;
+
+ if (!g_strcmp0(emission, "sig_size_bt_btn_down")) {
+// ecore_x_pointer_last_xy_get(&x, &y);
+// ecore_x_mouse_up_send(mw_view->xwin , x, y, 1);
+// ecore_x_pointer_ungrab();
+ mp_mini_player_window_drag_resize(mw_view, x, y, 1);
+ edje_object_signal_emit(_EDJ(mw_view->mini_player_view_layout), "bg_edit_show", "*");
+ }
+
+ if (mw_view->switch_timer)
+ {
+ MP_TIMER_THAW(mw_view->switch_timer);
+ }
+ else
+ {
+ mw_view->switch_timer = ecore_timer_add(0.5, _mp_mini_player_switch_timer_cb, mw_view);
+ }
+ nLastRect.w = nCurRect.w;
+ nLastRect.h = nCurRect.h;
+}
+
+
+static void
+_mp_mini_player_close_btn_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
+{
+ startfunc;
+ MpMwView_t *mw_view = (MpMwView_t *)data;
+ MP_CHECK_NULL(mw_view);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ if (mw_view->switch_timer)
+ {
+ ecore_timer_del(mw_view->switch_timer);
+ mw_view->switch_timer = NULL;
+ }
+ evas_object_hide(mw_view->win_mini);
+ MINI_CALLED = false;
+}
+
+static void
+_mp_mini_player_full_screen_click_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
+{
+ startfunc;
+ MpMwView_t *mw_view = (MpMwView_t *)data;
+ MP_CHECK_NULL(mw_view);
+
+ mp_mini_player_hide(mw_view);
+}
+
+
+static void
+_mp_mini_player_contrl_btn_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
+{
+ startfunc;
+ MpMwView_t *mw_view = (MpMwView_t *)data;
+ MP_CHECK_NULL(mw_view);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ MP_CHECK(emission);
+
+ if (!g_strcmp0(emission, "sig_rew_btn_down")) {
+ mp_play_control_rew(true, false, true);
+ } else if (!g_strcmp0(emission, "sig_rew_btn_up")) {
+ mp_play_control_rew(false, false, true);
+ mp_mini_player_refresh(mw_view);
+ } else if (!g_strcmp0(emission, "sig_ff_btn_down")) {
+ mp_play_control_ff(true, false, true);
+ } else if (!g_strcmp0(emission, "sig_ff_btn_up")) {
+ mp_play_control_ff(false, false, true);
+ mp_mini_player_refresh(mw_view);
+ } else if (!g_strcmp0(emission, "sig_play_pause_btn_clicked")) {
+ if (ad->player_state == PLAY_STATE_PLAYING) {
+ mp_play_control_play_pause(ad, false);
+ edje_object_signal_emit(_EDJ(mw_view->mini_player_view_layout), "set_pause", "*");
+ } else if (ad->player_state == PLAY_STATE_PAUSED) {
+ mp_play_control_play_pause(ad, true);
+ edje_object_signal_emit(_EDJ(mw_view->mini_player_view_layout), "set_play", "*");
+ }
+
+ }
+}
+
+static void
+_mp_mini_player_eventbox_flick_click_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ startfunc;
+
+ MpMwView_t *mw_view = (MpMwView_t *)data;
+ MP_CHECK_FALSE(mw_view);
+ MP_CHECK_FALSE(mw_view->mini_player_view_layout);
+
+ struct appdata *ad = mp_util_get_appdata();;
+ MP_CHECK(ad);
+
+ _mp_mini_player_view_show_lyric(mw_view, !ad->b_show_lyric);
+}
+
+
+static void
+_mp_mini_player_eventbox_flick_left_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ startfunc;
+ Evas_Object *layout = NULL;
+ MpMwView_t *mw_view = (MpMwView_t *)data;
+ MP_CHECK_NULL(mw_view);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ mp_play_control_ff(false, false, true);
+ mp_mini_player_refresh(mw_view);
+}
+
+static void
+_mp_mini_player_eventbox_flick_right_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ startfunc;
+ MpMwView_t *mw_view = (MpMwView_t *)data;
+ MP_CHECK_NULL(mw_view);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ mp_play_control_rew(false, false true);
+ mp_mini_player_refresh(mw_view);
+}
+
+static void
+_mp_mini_player_title_move_cb(void *data, Evas * e, Evas_Object * obj, void *event_info)
+{
+ startfunc;
+ MpMwView_t *mw_view = (MpMwView_t *)data;
+ MP_CHECK_NULL(mw_view);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ int x, y;
+// ecore_x_pointer_last_xy_get(&x, &y);
+// ecore_x_mouse_up_send(mw_view->xwin, x, y, 1);
+// ecore_x_pointer_ungrab();
+ mp_mini_player_window_drag_start(mw_view, x, y, 1);
+}
+
+Evas_Object*
+_mp_mini_player_layout_add(Evas_Object *parent, void *data, int sizenum)
+{
+ startfunc;
+ MpMwView_t *mw_view = (MpMwView_t *)data;
+ MP_CHECK_NULL(mw_view);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_NULL(ad);
+
+ int w = 0;
+ int h = 0;
+ Evas_Object *albumart = NULL;
+
+ double scale = elm_config_scale_get();
+
+ if (WINDOW_SIZE_0 == sizenum)
+ {
+ mw_view->mini_player_view_layout = mp_common_load_edj(parent, PLAY_VIEW_EDJ_NAME, "mini-app-0");
+ mw_view->mini_player_current_size = WINDOW_SIZE_0;
+ }
+ else if (WINDOW_SIZE_1 == sizenum)
+ {
+ mw_view->mini_player_view_layout = mp_common_load_edj(parent, PLAY_VIEW_EDJ_NAME, "mini-app-1");
+ mw_view->mini_player_current_size = WINDOW_SIZE_1;
+ }
+ else if (WINDOW_SIZE_2 == sizenum)
+ {
+ mw_view->mini_player_view_layout = mp_common_load_edj(parent, PLAY_VIEW_EDJ_NAME, "mini-app-2");
+ MP_CHECK_NULL(mw_view->mini_player_view_layout);
+ w = MINI_ALBUM_ART_SIZE0_W * scale;
+ h = MINI_ALBUM_ART_SIZE0_W * scale;
+ mw_view->mini_player_current_size = WINDOW_SIZE_2;
+ albumart = elm_image_add(mw_view->mini_player_view_layout);
+ evas_object_size_hint_align_set(albumart, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_size_hint_weight_set(albumart, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_object_part_content_set(mw_view->mini_player_view_layout, THUMB_NAIL_PART_NAME, albumart);
+ }
+ else if (WINDOW_SIZE_3 == sizenum)
+ {
+ mw_view->mini_player_current_size = WINDOW_SIZE_3;
+ mw_view->mini_player_view_layout = mp_common_load_edj(parent, PLAY_VIEW_EDJ_NAME, "mini-app-3");
+ MP_CHECK_NULL(mw_view->mini_player_view_layout);
+ albumart = elm_image_add(mw_view->mini_player_view_layout);
+ evas_object_size_hint_align_set(albumart, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_size_hint_weight_set(albumart, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_object_part_content_set(mw_view->mini_player_view_layout, ALBUMART_PART_NAME, albumart);
+
+ }
+ else if (WINDOW_SIZE_4 == sizenum)
+ {
+ mw_view->mini_player_current_size = WINDOW_SIZE_4;
+ mw_view->mini_player_view_layout = mp_common_load_edj(parent, PLAY_VIEW_EDJ_NAME, "mini-app-4");
+ MP_CHECK_NULL(mw_view->mini_player_view_layout);
+ albumart = elm_image_add(mw_view->mini_player_view_layout);
+ evas_object_size_hint_align_set(albumart, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_size_hint_weight_set(albumart, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_object_part_content_set(mw_view->mini_player_view_layout, ALBUMART_PART_NAME, albumart);
+ }
+
+ MP_CHECK_NULL(mw_view->mini_player_view_layout);
+ evas_object_size_hint_weight_set(mw_view->mini_player_view_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(mw_view->mini_player_view_layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
+
+ Evas_Object *edj = _EDJ(mw_view->mini_player_view_layout);
+ edje_object_signal_callback_add(edj, "sig_exit_btn_clicked","*", _mp_mini_player_close_btn_clicked_cb, mw_view);
+ edje_object_signal_callback_add(edj, "sig_full_screen_up","*", _mp_mini_player_full_screen_click_cb, mw_view);
+ edje_object_signal_callback_add(edj, "sig_*_btn_down","*", _mp_mini_player_contrl_btn_clicked_cb, mw_view);
+ edje_object_signal_callback_add(edj, "sig_*_btn_up","*", _mp_mini_player_contrl_btn_clicked_cb, mw_view);
+ edje_object_signal_callback_add(edj, "sig_play_pause_btn_clicked","*", _mp_mini_player_contrl_btn_clicked_cb, mw_view);
+ edje_object_signal_callback_add(edj, "sig_size_bt_btn_down","*", _mp_mini_player_resize_btn_clicked_cb, mw_view);
+
+ mw_view->title = elm_label_add(mw_view->mini_player_view_layout);
+ evas_object_size_hint_weight_set(mw_view->title, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(mw_view->title, EVAS_HINT_FILL, EVAS_HINT_FILL);
+
+ elm_object_text_set(mw_view->title, "");
+
+ elm_object_part_content_set(mw_view->mini_player_view_layout, "title_touch", mw_view->title);
+ evas_object_show(mw_view->title);
+ evas_object_event_callback_add(mw_view->title, EVAS_CALLBACK_MOUSE_MOVE, _mp_mini_player_title_move_cb, mw_view);
+
+ mw_view->event_box = mp_smart_event_box_add(mw_view->mini_player_view_layout);
+ MP_CHECK(mw_view->event_box);
+ evas_object_size_hint_weight_set(mw_view->event_box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(mw_view->event_box, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_smart_callback_add(mw_view->event_box, "mouse.clicked", _mp_mini_player_eventbox_flick_click_cb, mw_view);
+ evas_object_smart_callback_add(mw_view->event_box, "mouse.flick.left", _mp_mini_player_eventbox_flick_left_cb, mw_view);
+ evas_object_smart_callback_add(mw_view->event_box, "mouse.flick.right", _mp_mini_player_eventbox_flick_right_cb, mw_view);
+ evas_object_show(mw_view->event_box);
+ elm_object_part_content_set(mw_view->mini_player_view_layout, "event_box", mw_view->event_box);
+
+ return mw_view->mini_player_view_layout;
+}
+
+static bool _mp_mini_player_view_show_lyric(void *data, bool show_lyric)
+{
+ startfunc;
+ MpMwView_t *mw_view = (MpMwView_t *)data;
+ MP_CHECK_FALSE(mw_view);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_FALSE(ad);
+
+ DEBUG_TRACE("show_lyric=%d", show_lyric);
+ ad->b_show_lyric = show_lyric;
+
+ if (!show_lyric) {
+ mp_mw_lyric_view_hide(mw_view);
+ } else {
+ mp_mw_lyric_view_show(mw_view);
+ }
+
+ return true;
+}
+
+
+void
+mp_mini_player_layout_update(void *data, int num)
+{
+ startfunc;
+ MpMwView_t *mw_view = (MpMwView_t *)data;
+ MP_CHECK_NULL(mw_view);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ if (mw_view->mini_player_view_layout)
+ {
+ evas_object_hide(mw_view->mini_player_view_layout);
+ evas_object_del(mw_view->mini_player_view_layout);
+ elm_win_resize_object_del(mw_view->win_mini, mw_view->mini_player_view_layout);
+ }
+ _mp_mini_player_layout_add(mw_view->win_mini, mw_view, num);
+ elm_win_resize_object_add(mw_view->win_mini, mw_view->mini_player_view_layout);
+
+ mp_mini_player_refresh(mw_view);
+}
+
+
+void mp_mini_player_destory(void *data)
+{
+ startfunc;
+ MpMwView_t *mw_view = calloc(1, sizeof(MpMwView_t));
+ MP_CHECK_NULL(mw_view);
+
+ if (mw_view->switch_timer)
+ {
+ ecore_timer_del(mw_view->switch_timer);
+ mw_view->switch_timer = NULL;
+ }
+
+ if (mw_view->win_mini)
+ {
+ evas_object_del(mw_view->win_mini);
+ }
+
+// if (mw_view->xwin)
+// {
+// evas_object_del(mw_view->xwin);
+// }
+
+ if (mw_view->bg)
+ {
+ evas_object_del(mw_view->bg);
+ }
+
+ if (mw_view->title)
+ {
+ evas_object_del(mw_view->title);
+ }
+
+ if (mw_view->event_box)
+ {
+ evas_object_del(mw_view->event_box);
+ }
+
+ if (mw_view->mini_lyric_view)
+ {
+ evas_object_del(mw_view->mini_lyric_view);
+ }
+ MINI_CALLED = false;
+ IF_FREE(mw_view);
+
+}
+
+void
+mp_mini_player_show(struct appdata *ad, int num)
+{
+ startfunc;
+
+ if (MINI_CALLED)
+ {
+ WARN_TRACE("multi window has running");
+ return;
+ }
+
+ MpMwView_t *mw_view = calloc(1, sizeof(MpMwView_t));
+ MP_CHECK_NULL(mw_view);
+
+ mw_view->win_mini = mp_create_win("music_multi_window");
+// mw_view->xwin = elm_win_xwindow_get(mw_view->win_mini);
+
+ evas_object_hide(mw_view->win_mini);
+ mw_view->bg = evas_object_rectangle_add(evas_object_evas_get(mw_view->win_mini));
+ evas_object_size_hint_weight_set(mw_view->bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_win_resize_object_add(mw_view->win_mini, mw_view->bg);
+ evas_object_show(mw_view->bg);
+
+ _mp_mini_player_layout_add(mw_view->win_mini, mw_view, num);
+ elm_win_resize_object_add(mw_view->win_mini, mw_view->mini_player_view_layout);
+
+ mw_view->mini_player_current_size = -1;
+ mp_mini_player_mode_set(mw_view, 0);
+ mp_mini_player_refresh(mw_view);
+
+ evas_object_show(mw_view->win_mini);
+ MINI_CALLED = true;
+}
+
+void
+mp_mini_player_hide(void *data)
+{
+ startfunc;
+ MpMwView_t *mw_view = (MpMwView_t *)data;
+ MP_CHECK(mw_view);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ mp_ecore_timer_del(mw_view->play_delay_timer);
+ mp_evas_object_del(mw_view->mini_player_view_layout);
+ mw_view->mini_player_view_layout = NULL;
+
+ mp_mini_player_mode_set(mw_view, 1);
+
+#ifdef MP_FEATURE_LANDSCAPE
+ app_device_orientation_e mode;
+ mode = app_get_device_orientation();
+ mp_app_rotate(mode, ad);
+#endif
+
+ elm_win_lower(mw_view->win_mini);
+ elm_win_raise(ad->win_main);
+ evas_object_show(ad->win_main);
+
+ mp_mini_player_destory(mw_view);
+}
+
+void
+mp_mini_player_mode_set(void *data, int is_set)
+{
+ startfunc;
+ MpMwView_t *mw_view = (MpMwView_t *)data;
+ MP_CHECK(mw_view);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ double scale = elm_config_scale_get();
+ int x = 0;
+ int y = 0;
+
+ if (0 == is_set) {
+ int w = MINI_PLAYER_W * scale;
+ int h = MINI_PLAYER_H * scale;
+
+ elm_win_floating_mode_set(mw_view->win_mini, EINA_TRUE);
+
+ evas_object_resize(mw_view->win_mini, w, h);
+ evas_object_move(mw_view->win_mini, MINI_PLAYER_X * scale, MINI_PLAYER_Y * scale);
+ mw_view->mini_player_mode = true;
+ } else if (1 == is_set) {
+ elm_win_floating_mode_set(mw_view->win_mini, EINA_FALSE);
+ mw_view->mini_player_mode = false;
+ } else
+ {
+ elm_win_floating_mode_set(mw_view->win_mini, EINA_TRUE);
+ MP_TIMER_FREEZE(mw_view->switch_timer);
+ edje_object_signal_emit(_EDJ(mw_view->mini_player_view_layout), "bg_edit_hide", "*");
+
+ Evas_Coord_Rectangle nCurRect = {0,};
+ evas_object_geometry_get(mw_view->win_mini, &nCurRect.x, &nCurRect.y, &nCurRect.w, &nCurRect.h);
+ //evas_object_resize(mw_view->win_mini, nCurRect.w, nCurRect.h);
+ int x = 0;
+
+ if (nCurRect.h < 365)
+ {
+ if (nCurRect.w < 540)
+ {
+ mp_mini_player_layout_update(mw_view, WINDOW_SIZE_0);
+ x = nCurRect.w;
+ }
+ else
+ {
+ mp_mini_player_layout_update(mw_view, WINDOW_SIZE_2);
+ x = nCurRect.w;
+ }
+ }
+ else if (nCurRect.w < 540)
+ {
+ x = nCurRect.w;
+ mp_mini_player_layout_update(mw_view, WINDOW_SIZE_3);
+ }
+ else if (nCurRect.w < 720)
+ {
+ x = nCurRect.w;
+ mp_mini_player_layout_update(mw_view, WINDOW_SIZE_4);
+ }
+ if (nCurRect.h < 177)
+ {
+ nCurRect.h = 177;
+ }
+
+ if (x < 362)
+ {
+ x = 362;
+ }
+
+ evas_object_resize(mw_view->win_mini, x, nCurRect.h);
+ mw_view->mini_player_mode = true;
+
+ }
+
+}
+
+void
+mp_mini_player_refresh(void *data)
+{
+ startfunc;
+ MpMwView_t *mw_view = (MpMwView_t *)data;
+ MP_CHECK(mw_view);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+ MP_CHECK(ad->current_track_info);
+
+ MP_CHECK(!ad->is_lcd_off);
+
+ mp_track_info_t *current_item = mp_playlist_mgr_get_current(ad->playlist_mgr);
+ MP_CHECK(current_item);
+
+ /* albumart */
+ const char *albumart_path = NULL;
+ if (ad->current_track_info && mp_util_is_image_valid(ad->evas, ad->current_track_info->thumbnail_path))
+ albumart_path = ad->current_track_info->thumbnail_path;
+ else
+ albumart_path = DEFAULT_THUMBNAIL;
+
+ DEBUG_TRACE("albumart = %s", albumart_path);
+
+ Evas_Object *thumb_nail = elm_object_part_content_get(mw_view->mini_player_view_layout, THUMB_NAIL_PART_NAME);
+ Evas_Object *albumart_bg = elm_object_part_content_get(mw_view->mini_player_view_layout, ALBUMART_PART_NAME);
+
+ if (albumart_bg) {
+ elm_image_file_set(albumart_bg, albumart_path, NULL);
+ evas_object_show(albumart_bg);
+ }
+
+ if (thumb_nail) {
+ elm_image_file_set(thumb_nail, albumart_path, NULL);
+ evas_object_show(thumb_nail);
+ }
+
+ /* title */
+ //elm_object_part_text_set(mw_view->mini_player_view_layout, "text.title", ad->current_track_info->title);
+ char *markup_title = elm_entry_utf8_to_markup(ad->current_track_info->title);
+ char *colored_title = g_strdup_printf("<align=left><font_size=40><color=#FFFFFFFF>%s</color></font_size></align>", markup_title);
+ Evas_Object *title_label = mp_widget_slide_title_create(mw_view->mini_player_view_layout, "slide_short", colored_title);
+ elm_label_slide_go(title_label);
+ elm_object_part_content_set(mw_view->mini_player_view_layout, "text.title", title_label);
+ IF_FREE(markup_title);
+ IF_FREE(colored_title);
+
+ /* artist */
+ elm_object_part_text_set(mw_view->mini_player_view_layout, "text.artist", ad->current_track_info->artist);
+
+ if (-1 == mw_view->mini_player_current_size)
+ {
+ mw_view->mini_player_current_size = WINDOW_SIZE_0;
+ if (ad->player_state == PLAY_STATE_PLAYING) {
+ edje_object_signal_emit(_EDJ(mw_view->mini_player_view_layout), "set_play", "*");
+ } else if (ad->player_state == PLAY_STATE_PAUSED) {
+ edje_object_signal_emit(_EDJ(mw_view->mini_player_view_layout), "set_pause", "*");
+ }
+ }
+ else
+ {
+ edje_object_signal_emit(_EDJ(mw_view->mini_player_view_layout), "set_pause", "*");
+ mw_view->play_delay_timer = ecore_timer_add(0.5, _mp_mini_player_delay_play_timer_cb, mw_view);
+ }
+
+ /* rotation */
+ app_device_orientation_e mode;
+ mode = app_get_device_orientation();
+ mp_mini_player_rotation_cb(mode, mw_view);
+
+ evas_object_show(mw_view->mini_player_view_layout);
+ endfunc;
+}
+
+void
+mp_mini_player_window_drag_resize(void *data, int start_x, int start_y, unsigned int button)
+{
+ startfunc;
+
+ MpMwView_t *mw_view = (MpMwView_t *)data;
+ MP_CHECK(mw_view);
+// MP_CHECK(mw_view->xwin);
+
+// ecore_x_netwm_moveresize_request_send(mw_view->xwin, start_x, start_y, ECORE_X_NETWM_DIRECTION_SIZE_BR, 1);
+}
+
+
+void
+mp_mini_player_window_drag_start(void *data, int start_x, int start_y, unsigned int button)
+{
+ startfunc;
+
+ MpMwView_t *mw_view = (MpMwView_t *)data;
+ MP_CHECK(mw_view);
+// MP_CHECK(mw_view->xwin);
+
+// ecore_x_netwm_moveresize_request_send(mw_view->xwin, start_x, start_y, ECORE_X_NETWM_DIRECTION_MOVE, button);
+}
+
+int
+mp_mini_player_rotation_cb(app_device_orientation_e mode, void *data)
+{
+ startfunc;
+ MpMwView_t *mw_view = (MpMwView_t *)data;
+ MP_CHECK_VAL(mw_view, 0);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_VAL(ad, 0);
+ MP_CHECK_VAL(mw_view->mini_player_view_layout, 0);
+
+ int angle;
+ DEBUG_TRACE("Enum Rotation is %d", mode);
+ DEBUG_TRACE("Rotation b is %d", elm_win_rotation_get(mw_view->win_mini));
+
+ switch (mode)
+ {
+ case APP_DEVICE_ORIENTATION_270:
+ angle = -90;
+ break;
+
+ case APP_DEVICE_ORIENTATION_90:
+ angle = 90;
+ break;
+
+ case APP_DEVICE_ORIENTATION_180:
+ angle = 180;
+ break;
+
+ case APP_DEVICE_ORIENTATION_0:
+ default:
+ angle = 0;
+ break;
+ }
+
+ DEBUG_TRACE("Angle Rotation is %d", angle);
+ elm_win_rotation_with_resize_set(mw_view->win_mini, angle);
+
+ return 0;
+}
+
+#endif /* MP_FEATURE_APP_IN_APP */
+
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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>
+
+#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;
+
+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);
+#ifdef MINICONTROLLER_ENABLE_PROGRESS
+static void _mp_minicontroller_progress_val_set(struct appdata *ad, double position);
+#endif
+static void _mp_minicontroller_update_layout(struct appdata *ad, bool landscape);
+#ifdef MINICONTROLLER_ENABLE_SHUFFLLE_REPEAT
+static void _mp_minicontroller_set_repeate_image(void *data, int repeate_state);
+static void _mp_minicontroller_set_shuffle_image(void *data, int shuffle_state);
+#endif
+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;
+}
+
+#ifdef MINICONTROLLER_ENABLE_PROGRESS
+static inline void
+_mp_minicontroller_update_elapsed_time(struct appdata *ad, bool get_position)
+{
+ MP_CHECK(ad);
+ MP_CHECK(ad->minicontroller_layout);
+
+ double played_ratio = 0.;
+ double music_pos = 0.;
+ if (get_position) {
+ music_pos = mp_player_mgr_get_position() / 1000;
+ } else {
+ music_pos = ad->music_pos;
+ }
+/*
+ int sec = mp_player_mgr_get_position() / 1000;
+ int min = sec / 60;
+ sec = sec % 60;
+
+
+ char *time_text = g_strdup_printf("%02d:%02d", min, sec);
+ if (time_text) {
+ edje_object_part_text_set(_EDJ(ad->minicontroller_layout), "elm.elapsed_time", time_text);
+ free(time_text);
+ time_text = NULL;
+ }
+*/
+ 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(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(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(music_pos));
+ }
+
+ edje_object_part_text_set(_EDJ(ad->minicontroller_layout), "np_progress_text_total", total_time);
+ edje_object_part_text_set(_EDJ(ad->minicontroller_layout), "np_progress_text_playing", play_time);
+
+ if (ad->music_length > 0. && music_pos > 0.)
+ played_ratio = music_pos / ad->music_length;
+ _mp_minicontroller_progress_val_set(ad, played_ratio);
+}
+
+static Eina_Bool
+_minicontroller_update_progresstime_cb(void *data)
+{
+ TIMER_TRACE();
+ struct appdata *ad = data;
+ mp_retvm_if (ad == NULL, ECORE_CALLBACK_CANCEL, "appdata is NULL");
+
+ if (ad->is_lcd_off)
+ {
+ mp_ecore_timer_del(ad->minicon_progress_timer);
+ return ECORE_CALLBACK_CANCEL;
+ }
+
+ if (ad->player_state == PLAY_STATE_PLAYING)
+ {
+ _mp_minicontroller_update_elapsed_time(ad, true);
+ }
+
+ return ECORE_CALLBACK_RENEW;
+}
+
+static void
+_minicontroller_progress_timer_add(void *data)
+{
+ struct appdata *ad = data;
+ mp_retm_if (ad == NULL, "appdata is NULL");
+ DEBUG_TRACE();
+
+ mp_ecore_timer_del(ad->minicon_progress_timer);
+
+ _mp_minicontroller_update_elapsed_time(ad, true);
+
+ if (ad->player_state == PLAY_STATE_PLAYING)
+ {
+ ad->minicon_progress_timer = ecore_timer_add(1.0, _minicontroller_update_progresstime_cb, ad);
+ }
+
+}
+#endif
+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 char * _mp_minicontroller_close_access_info_cb(void *data, Evas_Object *obj)
+{
+ startfunc;
+ DEBUG_TRACE("close button clicked");
+
+ char *operation_txt = GET_SYS_STR(MP_TTS_CLOSE_BUTTON);
+
+ return g_strconcat(GET_SYS_STR(MP_SCREEN_BUTTON), operation_txt, NULL);
+}
+
+#ifdef MINICONTROLLER_ENABLE_SHUFFLLE_REPEAT
+static char * _mp_minicontroller_shuffle_access_info_cb(void *data, Evas_Object *obj)
+{
+ startfunc;
+ DEBUG_TRACE("shuffle button clicked");
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_NULL(ad);
+
+ char *operation_txt = NULL;
+ int shuffle_state = 0;
+ mp_setting_get_shuffle_state(&shuffle_state);
+
+ if (shuffle_state == 1)
+ {
+ operation_txt = GET_SYS_STR(MP_TTS_SHUFFLE_OFF_BUTTON);
+ }
+ else
+ {
+ operation_txt = GET_SYS_STR(MP_TTS_SHUFFLE_ON_BUTTON);
+ }
+
+ return g_strdup(operation_txt);
+}
+#endif
+static char * _mp_minicontroller_play_pause_access_info_cb(void *data, Evas_Object *obj)
+{
+ startfunc;
+ DEBUG_TRACE("play/pause button clicked");
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_NULL(ad);
+
+ char *operation_txt = NULL;
+
+ if (ad->player_state == PLAY_STATE_PLAYING)
+ {
+ operation_txt = GET_SYS_STR(MP_TTS_PAUSE_BUTTON);
+ }
+ else if (ad->player_state == PLAY_STATE_PAUSED)
+ {
+ operation_txt = GET_SYS_STR(MP_TTS_PLAY_BUTTON);
+ }
+ return g_strdup(operation_txt);
+}
+
+#ifdef MINICONTROLLER_ENABLE_SHUFFLLE_REPEAT
+static char * _mp_minicontroller_repeat_access_info_cb(void *data, Evas_Object *obj)
+{
+ startfunc;
+ DEBUG_TRACE("repeat button clicked");
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_NULL(ad);
+
+ char *operation_txt = NULL;
+ int repeat_state = 0;
+ mp_setting_get_repeat_state(&repeat_state);
+ if (MP_PLST_REPEAT_ONE == repeat_state) {
+ operation_txt = GET_SYS_STR(MP_TTS_REPEAT_ONE_BUTTON);
+ } else if (MP_PLST_REPEAT_NONE == repeat_state) {
+ operation_txt = GET_SYS_STR(MP_TTS_REPEAT_OFF_BUTTON);
+ } else {
+ //repeat all
+ operation_txt = GET_SYS_STR(MP_TTS_REPEAT_ALL_BUTTON);
+ }
+ return g_strdup(operation_txt);
+}
+#endif
+static char * _mp_minicontroller_ff_rew_access_info_cb(void *data, Evas_Object *obj)
+{
+ startfunc;
+ DEBUG_TRACE("ff/rew button clicked");
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_NULL(ad);
+
+ char *operation_txt = NULL;
+
+ char *source = (char *)data;
+ if (!g_strcmp0(source, CONTROLLER_FF_SOURCE))
+ {
+ operation_txt = GET_SYS_STR(MP_TTS_NEXT_BUTTON);
+ }
+ else
+ {
+ operation_txt = GET_SYS_STR(MP_TTS_PREVIOUS_BUTTON);
+ }
+ return g_strdup(operation_txt);
+}
+
+static const char *g__minicontroller_btn_part[]= {"close_btn", NULL};
+
+static const char *
+_minicontroller_screen_reader_find_button_part(const Evas_Object *edje_obj, const Evas_Object *part_obj)
+{
+ startfunc;
+
+ MP_CHECK_NULL(edje_obj);
+ MP_CHECK_NULL(part_obj);
+
+ WARN_TRACE("edje_obj:%p",edje_obj);
+ WARN_TRACE("part_obj:%p",part_obj);
+
+ const Evas_Object *obj = NULL;
+ int index = 0;
+
+ while (g__minicontroller_btn_part[index]) {
+ WARN_TRACE("g__minicontroller_btn_part[index]:%s",g__minicontroller_btn_part[index]);
+ obj = (Evas_Object *)edje_object_part_object_get(edje_obj, g__minicontroller_btn_part[index]);
+ WARN_TRACE("obj:%p",obj);
+ if (obj == part_obj) return g__minicontroller_btn_part[index];
+ ++index;
+ }
+
+ return NULL;
+ endfunc;
+}
+
+
+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_double_cb(void *data, Evas_Object *obj, Elm_Object_Item *item)
+{
+ startfunc;
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ const char *part = _minicontroller_screen_reader_find_button_part(_EDJ(ad->minicontroller_layout), obj);
+ MP_CHECK(part);
+
+ WARN_TRACE("part is:%s",part);
+
+ if (!g_strcmp0(part, "close_btn")) {
+ 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();
+ }
+
+}
+
+#ifdef MINICONTROLLER_ENABLE_SHUFFLLE_REPEAT
+static void _mp_minicontroller_set_shuffle_image(void *data, int shuffle_state)
+{
+ struct appdata *ad = (struct appdata*)data;
+ MP_CHECK(ad);
+ MP_CHECK(ad->minicontroller_layout);
+ ERROR_TRACE("");
+ bool landscape = _mp_minicontroller_landscape_is(ad, ad->quickpanel_angle);
+ if (landscape)
+ {
+ if (shuffle_state) {
+ elm_object_signal_emit(ad->minicontroller_layout, "set_shuffle_on_ld", "*");
+ } else {
+ elm_object_signal_emit(ad->minicontroller_layout, "set_shuffle_off_ld", "*");
+ }
+ }
+ else
+ {
+ if (shuffle_state) {
+ elm_object_signal_emit(ad->minicontroller_layout, "set_shuffle_on", "*");
+ } else {
+ elm_object_signal_emit(ad->minicontroller_layout, "set_shuffle_off", "*");
+ }
+ }
+}
+static void _mp_minicontroller_set_repeate_image(void *data, int repeate_state)
+{
+ struct appdata *ad = (struct appdata*)data;
+ MP_CHECK(ad);
+ MP_CHECK(ad->minicontroller_layout);
+ ERROR_TRACE("");
+ bool landscape = _mp_minicontroller_landscape_is(ad, ad->quickpanel_angle);
+ if (landscape)
+ {
+ if (MP_PLST_REPEAT_ONE == repeate_state) {
+ elm_object_signal_emit(ad->minicontroller_layout, "set_repeat_btn_1_ld", "*");
+ } else if (MP_PLST_REPEAT_NONE == repeate_state) {
+ elm_object_signal_emit(ad->minicontroller_layout, "set_repeat_btn_a_ld", "*");
+ } else {
+ elm_object_signal_emit(ad->minicontroller_layout, "set_repeat_btn_all_ld", "*");
+ }
+ }
+ else
+ {
+ if (MP_PLST_REPEAT_ONE == repeate_state) {
+ elm_object_signal_emit(ad->minicontroller_layout, "set_repeat_btn_1", "*");
+ } else if (MP_PLST_REPEAT_NONE == repeate_state) {
+ elm_object_signal_emit(ad->minicontroller_layout, "set_repeat_btn_a", "*");
+ } else {
+ elm_object_signal_emit(ad->minicontroller_layout, "set_repeat_btn_all", "*");
+ }
+ }
+
+}
+#endif
+
+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)
+ {
+ 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);
+ 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();
+ if (event_type == MINICONTROL_EVENT_REQUEST_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;
+ if (!ad->is_sdcard_removed) {
+ elm_exit();
+ }
+ ad->is_sdcard_removed = 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_album_action_double_cb(void *data, Evas_Object *obj, Elm_Object_Item *item)
+{
+ struct appdata *ad = data;
+ MP_CHECK(ad);
+
+ EVENT_TRACE("albumart");
+ _mp_minicontroller_action_show_player_view(ad);
+}
+
+static void
+_mp_minicontroller_register_reader(void *data)
+{
+ struct appdata *ad = data;
+ MP_CHECK(ad);
+}
+
+#ifdef MINICONTROLLER_ENABLE_PROGRESS
+
+static void
+_mp_minicontroller_progess_box_del_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+ startfunc;
+
+ struct appdata *ad = data;
+ MP_CHECK(ad->progress_box);
+
+ ad->progress_box = NULL;
+}
+
+static void
+_mp_minicontroller_progress_val_set(struct appdata *ad, double position)
+{
+ MP_CHECK(ad);
+ MP_CHECK(ad->minicontroller_layout);
+
+ if (ad->progress_bar)
+ edje_object_part_drag_value_set(_EDJ(ad->progress_bar), "progressbar_playing", position, 0.0);
+ return;
+}
+
+static void _mp_minicontroller_create_progress_layout(struct appdata *ad)
+{
+ startfunc;
+
+ ad->progress_box = mp_common_load_edj(ad->minicontroller_layout, MINICON_EDJ_NAME, "minicontroller_progress_box");
+ MP_CHECK(ad->progress_box);
+ evas_object_event_callback_add(ad->progress_box, EVAS_CALLBACK_DEL, _mp_minicontroller_progess_box_del_cb, ad);
+ elm_object_part_content_set(ad->minicontroller_layout, "progress_box", ad->progress_box);
+
+ ad->progress_bar = mp_common_load_edj(ad->progress_box, MINICON_EDJ_NAME, "mc_player_progressbar");
+ MP_CHECK(ad->progress_bar);
+ elm_object_part_content_set(ad->progress_box, "progress_bar", ad->progress_bar);
+ _mp_minicontroller_progress_val_set(ad, 0.0);
+}
+#endif
+
+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_language_mgr_register_object(ad->minicontroller_layout, OBJ_TYPE_EDJE_OBJECT, "elm.text.app_name", "IDS_COM_BODY_MUSIC");
+ //elm_object_part_text_set(ad->minicontroller_layout, "elm.text.app_name", GET_SYS_STR("IDS_COM_BODY_MUSIC"));
+ }
+
+ 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);
+
+ 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);
+}
+
+void
+mp_minicontroller_update_shuffle_and_repeat_btn(struct appdata *ad)
+{
+#ifdef MINICONTROLLER_ENABLE_SHUFFLLE_REPEAT
+ startfunc;
+ mp_retm_if (ad == NULL, "appdata is NULL");
+ MP_CHECK(ad->win_minicon);
+ MP_CHECK(!ad->is_lcd_off);
+
+ int shuffle_state = 0;
+ int repeat_state = 0;
+ mp_setting_get_shuffle_state(&shuffle_state);
+ mp_setting_get_repeat_state(&repeat_state);
+
+ _mp_minicontroller_set_shuffle_image((void *)ad, shuffle_state);
+ _mp_minicontroller_set_repeate_image((void *)ad, repeat_state);
+#endif
+}
+
+#ifdef MINICONTROLLER_ENABLE_SHUFFLLE_REPEAT
+/*focused UI callbacks*/
+static void _mp_minicontroller_shuffle_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ DEBUG_TRACE("shuffle button clicked");
+
+ 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_play_control_shuffle_set(ad, shuffle_state);
+ _mp_minicontroller_set_shuffle_image(ad, shuffle_state);
+}
+#endif
+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);
+
+ if (ad->player_state == PLAY_STATE_PLAYING)
+ {
+ mp_play_control_play_pause(ad, false);
+ }
+ else
+ {
+ mp_play_control_play_pause(ad, true);
+ }
+}
+
+#ifdef MINICONTROLLER_ENABLE_SHUFFLLE_REPEAT
+static void _mp_minicontroller_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);
+
+ int repeat_state = 0;
+ mp_setting_get_repeat_state(&repeat_state);
+ repeat_state++;
+ repeat_state %= 3;
+ mp_setting_set_repeat_state(repeat_state);
+ _mp_minicontroller_set_repeate_image(ad, repeat_state);
+ mp_playlist_mgr_set_repeat(ad->playlist_mgr, repeat_state);
+ mp_player_view_update_state(GET_PLAYER_VIEW);
+}
+#endif
+
+static void _mp_minicontroller_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_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_click_cb(void *data) {
+ /*To handle events*/
+}
+
+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("angel: 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);
+
+#ifdef MINICONTROLLER_ENABLE_SHUFFLLE_REPEAT
+ /*-------> shuffle button ------->*/
+ Evas_Object *shuffle_focus_btn = elm_button_add(ad->minicontroller_layout);
+ elm_object_style_set(shuffle_focus_btn, "focus");
+ elm_object_part_content_set(ad->minicontroller_layout, "shuffle_focus", shuffle_focus_btn);
+ elm_object_focus_custom_chain_append(ad->minicontroller_layout, shuffle_focus_btn, NULL);
+ evas_object_smart_callback_add(shuffle_focus_btn, "clicked", _mp_minicontroller_shuffle_btn_clicked_cb, NULL);
+#endif
+
+ /*-------> 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);
+
+#ifdef MINICONTROLLER_ENABLE_SHUFFLLE_REPEAT
+ /*-------> repeat button ------->*/
+ Evas_Object *repeat_focus_btn = elm_button_add(ad->minicontroller_layout);
+ elm_object_style_set(repeat_focus_btn, "focus");
+ elm_object_part_content_set(ad->minicontroller_layout, "repeat_focus", repeat_focus_btn);
+ elm_object_focus_custom_chain_append(ad->minicontroller_layout, repeat_focus_btn, NULL);
+ evas_object_smart_callback_add(repeat_focus_btn, "clicked", _mp_minicontroller_repeat_btn_clicked_cb, NULL);
+#endif
+
+ /*-------> 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);
+ if (ad->player_state == PLAY_STATE_PLAYING)
+ {
+ #ifdef MINICONTROLLER_ENABLE_PROGRESS
+ _minicontroller_progress_timer_add(ad);
+ #endif
+ }
+
+ 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
+ elm_image_file_set(ad->minicon_icon, DEFAULT_THUMBNAIL_MIDDLE, NULL);
+#ifdef MINICONTROLLER_ENABLE_PROGRESS
+ _mp_minicontroller_update_elapsed_time(ad, true);
+#endif
+ mp_minicontroller_update_shuffle_and_repeat_btn(ad);
+
+ 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);
+
+ 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)
+ {
+ //evas_object_hide(ad->minicontroller_layout);
+ //evas_object_del(ad->minicontroller_layout);
+ //ad->minicontroller_layout = NULL;
+ ad->b_minicontroller_show = FALSE;
+ }
+/*
+ if (ad->win_minicon)
+ {
+ evas_object_del(ad->win_minicon);
+ ad->win_minicon = NULL;
+ }
+*/
+ 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);
+
+ if (visible) {
+#ifdef MINICONTROLLER_ENABLE_PROGRESS
+ _minicontroller_progress_timer_add(ad);
+#endif
+ } else {
+ 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);
+}
+
+void mp_minicontroller_update_progressbar(struct appdata *ad)
+{
+#ifdef MINICONTROLLER_ENABLE_PROGRESS
+ _mp_minicontroller_update_elapsed_time(ad, false);
+#endif
+}
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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) 2000-2015 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 <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_plst_item * current = mp_playlist_mgr_get_current(ad->playlist_mgr);
+
+ if (!strcmp(part, "elm.text.main.left.top") || !strcmp(part, "elm.text.sub.left.bottom")) {
+ char *title = NULL;
+ if (!strcmp(part, "elm.text.main.left.top")) {
+ 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.icon.1")) {
+ 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)
+{
+ 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);
+
+ 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..");
+#ifdef MP_FEATURE_CLOUD
+ if (ret == MP_PLAY_ERROR_NETWORK)
+ mp_widget_text_popup(NULL, GET_STR(STR_MP_THIS_FILE_IS_UNABAILABLE));
+#endif
+ 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 = "2line.top";
+ 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");
+#ifdef MP_FEATURE_CLOUD
+ if (ret == MP_PLAY_ERROR_NETWORK)
+ mp_widget_text_popup(NULL, GET_STR(STR_MP_THIS_FILE_IS_UNABAILABLE));
+ return;
+#endif
+ }
+ }
+}
+
+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 && !mp_util_is_streaming(plst_item->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) 2000-2015 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 const char *g__now_playing_btn_part[]= {"control_previous", "control_play", "control_pause", "control_next", NULL};
+
+static const char *
+_mp_now_playing_screen_reader_find_button_part(const Evas_Object *edje_obj, const Evas_Object *part_obj)
+{
+ startfunc;
+
+ MP_CHECK_NULL(edje_obj);
+ MP_CHECK_NULL(part_obj);
+
+ WARN_TRACE("edje_obj:%p",edje_obj);
+ WARN_TRACE("part_obj:%p",part_obj);
+
+ const Evas_Object *obj = NULL;
+ int index = 0;
+
+ while (g__now_playing_btn_part[index]) {
+ WARN_TRACE("g__now_playing_btn_part[index]:%s",g__now_playing_btn_part[index]);
+ obj = (Evas_Object *)edje_object_part_object_get(edje_obj, g__now_playing_btn_part[index]);
+ WARN_TRACE("obj:%p",obj);
+ if (obj == part_obj) return g__now_playing_btn_part[index];
+ ++index;
+ }
+
+ return NULL;
+ endfunc;
+}
+
+static void
+_mp_now_playing_action_double_cb(void *data, Evas_Object *obj, Elm_Object_Item *item)
+{
+ startfunc;
+
+ MpNpData_t *wd = (MpNpData_t *)data;
+ MP_CHECK(wd);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ const char *part = _mp_now_playing_screen_reader_find_button_part(elm_layout_edje_get(wd->now_playing), obj);
+ MP_CHECK(part);
+
+ WARN_TRACE("part is:%s",part);
+
+ if (!g_strcmp0(part, "control_previous")) {
+ mp_play_control_rew(false, false, true);
+ }
+ else if (!g_strcmp0(part, "control_play") || !g_strcmp0(part, "control_pause"))
+ {
+ if (wd->play_bt_clicked)
+ wd->play_bt_clicked(wd->userdata);
+ }
+ else if (!g_strcmp0(part, "control_next"))
+ {
+ mp_play_control_ff(false, false, true);
+ }
+
+ _mp_now_playing_update_playpause_btn(wd->now_playing);
+
+ return ;
+}
+
+static void
+_mp_now_playing_double_tap_options_cb(void *data, Evas_Object *obj, Elm_Object_Item *item)
+{
+ startfunc;
+ MpNpData_t *wd = (MpNpData_t *)data;
+ MP_CHECK(wd);
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ if (wd->clicked)
+ wd->clicked(wd->userdata);
+
+ endfunc;
+
+}
+
+static Eina_Bool
+_mp_now_playing_view_progress_reader_cb(void *data,
+ Evas_Object *obj,
+ Elm_Access_Action_Info *action_info)
+{
+ startfunc;
+
+ MpNpData_t *wd = (MpNpData_t *)data;
+ MP_CHECK_FALSE(wd);
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_FALSE(ad);
+
+ Evas_Object *progress_obj = obj;
+ MP_CHECK_FALSE(progress_obj);
+
+ DEBUG_TRACE("action_info->action_type:%d", action_info->action_type);
+
+ if (ELM_ACCESS_ACTION_DOWN == action_info->action_type)
+ {
+ ad->music_pos-=10;
+ _mp_now_playing_update_time(wd);
+ }
+ else if (ELM_ACCESS_ACTION_UP == action_info->action_type)
+ {
+ ad->music_pos+=10;
+ _mp_now_playing_update_time(wd);
+ }
+ else if (ELM_ACCESS_ACTION_UNHIGHLIGHT == action_info->action_type)
+ {
+ return EINA_FALSE;
+ }
+ else if (ELM_ACCESS_ACTION_HIGHLIGHT == action_info->action_type)
+ {
+ return EINA_FALSE;
+ }
+
+ double duration = mp_player_mgr_get_duration();
+ double new_pos = ad->music_pos;
+ int req_seek_pos = 0;
+
+ if (new_pos < 0.)
+ {
+ ad->music_pos = 0;
+ req_seek_pos = 0;
+ }
+ else if (new_pos > ad->music_length)
+ {
+ ad->music_pos = ad->music_length;
+ req_seek_pos = duration;
+ }
+ else
+ {
+ ad->music_pos = new_pos;
+ req_seek_pos = new_pos * 1000;
+ }
+
+ mp_player_mgr_set_position(req_seek_pos, NULL, NULL);
+
+ return EINA_TRUE;
+}
+
+static void _access_highlighted_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ startfunc;
+ MP_CHECK(data);
+
+ g_tts_located_part = (char *)data;
+ endfunc;
+}
+
+
+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);
+}*/
+
+static char* _mp_now_playing_title_text_tts_info_cb(void *data, Evas_Object *obj)
+{
+ MpNpData_t *wd = data;
+ MP_CHECK_NULL(wd);
+
+ const char *playing_text = elm_object_text_get(wd->label);
+ 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();
+ 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 _nowplaying_resize_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+ MP_CHECK(obj);
+ _set_layout(obj);
+}
+
+
+/*static void _mp_now_album_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ DEBUG_TRACE("album clicked");
+
+ MpNpData_t *wd = data;
+ MP_CHECK(wd);
+ if (wd->clicked)
+ wd->clicked(wd->userdata);
+}*/
+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");
+
+ 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");
+ 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);
+}
+
+/*static char * _mp_now_playing_thum_access_info_cb(void *data, Evas_Object *obj)
+{
+ startfunc;
+
+ char *read_txt = GET_STR(MP_TTS_MUSIC_PLAYER_BUTTON);
+ return g_strdup(read_txt);
+}*/
+
+static char * _mp_now_playing_progress_access_info_cb(void *data, Evas_Object *obj)
+{
+ startfunc;
+ 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");
+ const char *total_text = edje_object_part_text_get(_EDJ(wd->now_playing), "np_progress_text_total");
+
+ char *text = g_strconcat(GET_STR(MP_TTS_PROGRESS_PLAYING), " ", playing_text, GET_STR(MP_TTS_PROGRESS_TOTAL), " ", total_text, NULL);
+ return text;
+}
+
+static char * _mp_now_playing_ff_rew_access_info_cb(void *data, Evas_Object *obj)
+{
+ startfunc;
+ DEBUG_TRACE("ff/rew button clicked");
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_NULL(ad);
+
+ char *operation_txt = NULL;
+
+ char *source = (char *)data;
+ if (!g_strcmp0(source, CONTROLLER_FF_SOURCE))
+ {
+ operation_txt = GET_SYS_STR(MP_TTS_NEXT_BUTTON);
+ }
+ else
+ {
+ operation_txt = GET_SYS_STR(MP_TTS_PREVIOUS_BUTTON);
+ }
+
+ char *read_txt = g_strconcat(operation_txt, " ", GET_SYS_STR(MP_SCREEN_BUTTON), NULL);
+ return read_txt;
+}
+
+static char * _mp_now_playing_play_pause_access_info_cb(void *data, Evas_Object *obj)
+{
+ startfunc;
+ DEBUG_TRACE("play/pause button clicked");
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_NULL(ad);
+
+ char *operation_txt = NULL;
+
+ if (ad->player_state == PLAY_STATE_PLAYING)
+ {
+ operation_txt = GET_SYS_STR(MP_TTS_PAUSE_BUTTON);
+ }
+ else
+ {
+ operation_txt = GET_SYS_STR(MP_TTS_PLAY_BUTTON);
+ }
+
+ char *read_txt = g_strconcat(operation_txt, " ", GET_SYS_STR(MP_SCREEN_BUTTON), NULL);
+ return read_txt;
+}
+
+/*static void _mp_now_playing_set_repeate_image(void *data, int repeate_state)
+{
+ MpNpData_t *wd = data;
+ MP_CHECK(wd);
+ Evas_Object *thumbnail = elm_image_add(wd->repeate_focus_btn);
+ if (repeate_state == MP_PLST_REPEAT_NONE)
+ {
+ elm_image_file_set(thumbnail, IMAGE_EDJ_NAME, MP_MINI_REPEAT_ONCE_ICON);
+ }
+ else if (repeate_state == MP_PLST_REPEAT_ONE)
+ {
+ elm_image_file_set(thumbnail, IMAGE_EDJ_NAME, MP_MINI_REPEAT_1_ICON);
+ }
+ else if (repeate_state == MP_PLST_REPEAT_ALL)
+ {
+ elm_image_file_set(thumbnail, IMAGE_EDJ_NAME, MP_MINI_REPEAT_ALL_ICON);
+ }
+ elm_object_part_content_set(wd->repeate_focus_btn, "elm.swallow.content", thumbnail);
+}
+
+static void _mp_now_playing_set_shuffle_image(void *data, int shuffle_state)
+{
+ MpNpData_t *wd = data;
+ MP_CHECK(wd);
+ Evas_Object *thumbnail = elm_image_add(wd->shuffle_focus_btn);
+ if (shuffle_state)
+ {
+ elm_image_file_set(thumbnail, IMAGE_EDJ_NAME, MP_MINI_SHUFFLE_ON_ICON);
+ }
+ else
+ {
+ elm_image_file_set(thumbnail, IMAGE_EDJ_NAME, MP_MINI_SHUFFLE_OFF_ICON);
+ }
+
+ elm_object_part_content_set(wd->shuffle_focus_btn, "elm.swallow.content", thumbnail);
+}*/
+
+/*static void _mp_now_playing_update_shuffle_repeat_btn(Evas_Object *obj)
+{
+ MP_CHECK(obj);
+ MpNpData_t *wd = GET_WIDGET_DATA(obj);
+ MP_CHECK(wd);
+ int repeat_state = 0;
+ mp_setting_get_repeat_state(&repeat_state);
+ _mp_now_playing_set_repeate_image(wd, repeat_state);
+ int shuffle_state = 0;
+ mp_setting_get_shuffle_state(&shuffle_state);
+ _mp_now_playing_set_shuffle_image(wd, shuffle_state);
+
+}
+
+
+static void _mp_now_playing_repeat_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ int repeat_state = 0;
+ mp_setting_get_repeat_state(&repeat_state);
+ repeat_state++;
+ repeat_state %= 3;
+ mp_setting_set_repeat_state(repeat_state);
+ _mp_now_playing_set_repeate_image(data, repeat_state);
+ mp_playlist_mgr_set_repeat(ad->playlist_mgr, repeat_state);
+ if (ad->win_minicon)
+ mp_minicontroller_update_shuffle_and_repeat_btn(ad);
+}
+
+static void _mp_now_playing_shuffle_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ 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_now_playing_set_shuffle_image(data, shuffle_state);
+ mp_play_control_shuffle_set(ad, shuffle_state);
+ if (ad->win_minicon)
+ mp_minicontroller_update_shuffle_and_repeat_btn(ad);
+
+}
+
+static char * _mp_now_playing_shuffle_access_info_cb(void *data, Evas_Object *obj)
+{
+ startfunc;
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_NULL(ad);
+
+ char *operation_txt = NULL;
+ int shuffle_state = 0;
+ mp_setting_get_shuffle_state(&shuffle_state);
+
+ if (shuffle_state == 1)
+ {
+ operation_txt = GET_SYS_STR(MP_TTS_SHUFFLE_OFF_BUTTON);
+ }
+ else
+ {
+ operation_txt = GET_SYS_STR(MP_TTS_SHUFFLE_ON_BUTTON);
+ }
+
+ return g_strdup(operation_txt);
+}
+
+static char * _mp_now_playing_repeat_access_info_cb(void *data, Evas_Object *obj)
+{
+ startfunc;
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK_NULL(ad);
+
+ char *operation_txt = NULL;
+ int repeat_state = 0;
+ mp_setting_get_repeat_state(&repeat_state);
+ if (MP_PLST_REPEAT_ONE == repeat_state) {
+ operation_txt = GET_SYS_STR(MP_TTS_REPEAT_ONE_BUTTON);
+ } else if (MP_PLST_REPEAT_NONE == repeat_state) {
+ operation_txt = GET_SYS_STR(MP_TTS_REPEAT_OFF_BUTTON);
+ } else {
+ //repeat all
+ operation_txt = GET_SYS_STR(MP_TTS_REPEAT_ALL_BUTTON);
+ }
+ return g_strdup(operation_txt);
+}*/
+
+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;
+
+#ifdef MP_FEATURE_LANDSCAPE
+ bool landscape = false;
+ landscape = mp_util_is_landscape();
+#endif
+ playing_pannel = elm_layout_add(parent);
+ if (playing_pannel)
+ {
+ /*if (landscape)
+ {
+ r = elm_layout_file_set(playing_pannel, PLAY_VIEW_EDJ_NAME, "landscape_mp_now_playing");
+ evas_object_event_callback_add(playing_pannel, EVAS_CALLBACK_RESIZE, _nowplaying_resize_cb, NULL);
+ }
+ */
+ r = elm_layout_file_set(playing_pannel, PLAY_VIEW_EDJ_NAME, "mp_now_playing");
+
+ 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;
+
+#ifdef MP_FEATURE_LANDSCAPE
+ bool landscape = mp_util_is_landscape();
+ if (wd->landscape_layout_mode)
+ {
+ mtitle = g_strdup_printf("<align=left><font_size=%d><color=#%s>%s</color></font_size> <font_size=%d><color=#%s>- %s</color></font_size></align>",
+ NOW_PLAYING_TITLE_SIZE, NOW_PLAYING_TITLE_COLOR,
+ markup_title,
+ NOW_PLAYING_ARTIST_SIZE, NOW_PLAYING_ARTIST_COLOR,
+ markup_artist);
+ }
+ else
+#endif
+ {
+ 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 (ad->player_state == PLAY_STATE_PAUSED && !((MpView_t *)(wd->userdata))->rotate_flag)
+ {
+ _progressbar_value_update_to_zero(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) 2000-2015 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 15
+#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;
+
+#ifdef MP_FEATURE_LANDSCAPE
+ if (mp_util_is_landscape())
+ {
+ current = ev->canvas.y - VOLUME_WIDGET_SLIDER_LD_START_POINT;
+ double dval = ((VOLUME_WIDGET_SLIDER_LD_SIZE - current) * max_vol) / VOLUME_WIDGET_SLIDER_LD_SIZE + 1;
+ val = ((VOLUME_WIDGET_SLIDER_LD_SIZE - current) * max_vol) / VOLUME_WIDGET_SLIDER_LD_SIZE + 1;
+ if ((dval - val) > 0.5)
+ val = val + 1;
+ }
+ else
+#endif
+ {
+ 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);
+#ifdef MP_FEATURE_SPLIT_WINDOW
+ evas_object_resize(widget, MP_VOLUME_WIDGET_LD_W, MP_VOLUME_WIDGET_LD_H);
+#endif
+ }
+ else
+ {
+ widget = mp_common_load_edj(parent, PLAY_VIEW_EDJ_NAME, VOLUME_WIDGET_GROUP_NAME);
+#ifdef MP_FEATURE_SPLIT_WINDOW
+ evas_object_resize(widget, MP_VOLUME_WIDGET_W, MP_VOLUME_WIDGET_H);
+#endif
+ }
+ 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) 2000-2015 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.main.left.top") || !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.left.bottom"))
+ {
+ 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.icon.2"))
+ { // 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);
+ elm_layout_theme_set(content, "layout", "list/C/type.2", "default");
+ elm_layout_content_set(content, "elm.swallow.content", check);
+ return content;
+ }
+ }
+ 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);
+ eo = mp_util_create_thumb_icon(obj, PLAYLIST_CREATE_THUMBNAIL, 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);
+ elm_genlist_decorate_mode_set(list->genlist, EINA_TRUE);
+ }
+ 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_list_bottom_counter_item_append((MpList_t *)list);
+
+ _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 void
+_mp_playlist_add_playlist_select_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ 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);
+
+ Mp_Playlist_Data *mp_playlist_data = mp_edit_playlist_create(MP_PLST_CREATE_TO_ADD_TRACK);
+ mp_edit_playlist_content_create(mp_playlist_data);
+}
+
+static Elm_Object_Item *
+_mp_playlist_append_group_index(void *thiz, int 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, list->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) && (ad->del_cb_invoked == 0))
+ group_index = _mp_playlist_append_group_index(list, MP_PLAYLIST_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) && (ad->del_cb_invoked == 0))
+ group_index = _mp_playlist_append_group_index(list, MP_PLAYLIST_GROUP_INDEX_NUM);
+
+ if (count_user)
+ _mp_playlist_append_user_playlists(list, group_index);
+
+ /*if (!list->edit_mode)
+ _mp_playlist_append_add_playlist(list, group_index);*/
+
+ /*if (count_user)
+ mp_list_bottom_counter_item_append((MpList_t *)list);*/
+
+ 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) {
+ elm_genlist_item_class_free(list->itc_group_index);
+ list->itc_group_index = 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;
+ }
+
+ /*if (!list->gengrid_add_itc) {
+ list->gengrid_add_itc = elm_gengrid_item_class_new();
+ list->gengrid_add_itc->func.text_get = _mp_playlist_add_label_get;
+ list->gengrid_add_itc->func.content_get = _mp_playlist_add_icon_get;
+ list->gengrid_add_itc->func.del = NULL;
+ }*/
+ _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_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.main.top")) {
+ if (item_data->index == 0)
+ text = STR_MP_DEFAULT_PLAYLIST_GROUP_TITLE;
+ } else if (!strcmp(part, "elm.text.main")) {
+ if (item_data->index != 0)
+ text = STR_MP_MY_PLAYLIST_GROUP_TITLE;
+ } else if (!strcmp(part, "elm.text.sub")) {
+ 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 g_strdup(GET_STR(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_smart_callback_add(list->genlist, "longpressed", _mp_playlist_list_item_longpressed_cb, list);
+ evas_object_data_set(list->genlist, "list_data", list);
+
+ /* current not used
+ if (!list->itc_user)
+ list->itc_user = elm_genlist_item_class_new();
+ list->itc_user->item_style = "music/musiclist/2text.1icon";
+ list->itc_user->func.text_get = _mp_playlist_list_label_get;
+ list->itc_user->func.content_get = _mp_playlist_list_icon_get;
+ list->itc_user->func.del = _mp_playlist_list_item_del_cb; */
+
+ if (!list->itc_auto)
+ {
+ list->itc_auto = elm_genlist_item_class_new();
+ MP_CHECK(list->itc_auto);
+ //list->itc_auto->item_style = "music/2line.top";
+ list->itc_auto->item_style = "2line.top";
+ //list->itc_auto->decorate_all_item_style = "decorate/edit_default";
+ 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)
+ {
+ list->itc_group_index = elm_genlist_item_class_new();
+ MP_CHECK(list->itc_group_index);
+ list->itc_group_index->item_style = "music/1text/bottom_counter";
+ list->itc_group_index->func.text_get = _mp_playlist_genlist_group_index_text_get;
+ list->itc_group_index->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);
+ ad->del_cb_invoked = 0;
+ 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 (count_auto + count_user)
+ //{
+ 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);
+
+ //}
+ /*
+ else
+ {
+ DEBUG_TRACE("count is 0");
+ if (!list->no_content)
+ {
+ list->no_content = mp_widget_create_no_contents(list->box, MP_NOCONTENT_PLAYLIST, NULL, NULL);
+ elm_box_pack_end(list->box, list->no_content);
+ }
+ }
+ */
+
+}
+
+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) 2000-2015 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;
+
+typedef struct _AllShareListItem {
+ Elm_Object_Item *pItem;
+ char *deviceId;
+ int nIndex;
+ char *szName;
+ char *thumb;
+ void *data;
+
+}AllShareListItem;
+
+typedef struct {
+ void* drm_info;
+ void* wifidirect_info;
+ Ecore_Timer *timer;
+ GList *pItemList;
+ Evas_Object * parent;
+ bool bStopScan;
+ Elm_Object_Item *pLoadingItem;
+} Allshare_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")
+#define MP_POPUP_ALLSHARE_WIFI_ID_START 800
+#define MP_POPUP_ALLSHARE_MYDEVICE_ID -1
+#define MP_POPUP_ALLSHARE_LOAD_ID -2
+
+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(GET_STR(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);
+
+ //layout = elm_layout_add(popup);
+ //elm_layout_theme_set(layout, "layout", "content", "min_menustyle");
+ //evas_object_size_hint_weight_set(layout, 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_pv_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;
+#ifdef MP_FEATURE_WIFI_SHARE
+ ++option_count;
+#endif
+
+ 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_share_select_cb, user_data);
+
+ elm_genlist_item_append(genlist, &itc, EMAIL_SYS, NULL,
+ ELM_GENLIST_ITEM_NONE, mp_menu_genlist_popup_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_share_select_cb, user_data);
+#endif
+#ifdef MP_FEATURE_WIFI_SHARE
+ elm_genlist_item_append(genlist, &itc, WIFI_SYS, NULL,
+ ELM_GENLIST_ITEM_NONE, mp_menu_genlist_popup_share_select_cb, user_data);
+#endif
+
+ 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;
+#ifdef MP_FEATURE_WIFI_SHARE
+ ++option_count;
+#endif
+
+ 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
+#ifdef MP_FEATURE_WIFI_SHARE
+ elm_genlist_item_append(genlist, &itc, WIFI_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;
+ if ((ret= sound_manager_get_current_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:
+ case SOUND_DEVICE_HDMI:
+ case SOUND_DEVICE_MIRRORING:
+ 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 = *(int *)data;
+ 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("IDS_MUSIC_BODY_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("IDS_MUSIC_POP_THIS_TRACK_WILL_BE_DELETED"), 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, 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;
+}
+
+#ifdef MP_FEATURE_CLOUD
+static Evas_Object *
+_mp_popup_cloud_view_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), 3, NULL, _mp_popup_cancel_button_cb, ad);
+ MP_CHECK_NULL(popup);
+
+ return popup;
+}
+#endif
+
+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 = "1text.1icon.3";
+ 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();
+
+ 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;
+
+#ifdef MP_FEATURE_CLOUD
+ case MP_POPUP_CLOUD_VIEW:
+ popup = _mp_popup_cloud_view_mode(parent, user_data, ad);
+ break;
+#endif
+ 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;
+ }
+
+#ifndef MP_FEATURE_MULTIWINDOW
+ popup = elm_popup_add(p_ad->win_main);
+#else
+ popup = mp_popup_multi_window_center_add(p_ad->win_main);
+#endif
+
+ 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);
+ elm_layout_file_set(layout, PLAY_VIEW_EDJ_NAME, "popup_processingview_string");
+ 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;
+ }
+
+#ifndef MP_FEATURE_MULTIWINDOW
+ popup = elm_popup_add(p_ad->win_main);
+#else
+ popup = mp_popup_multi_window_center_add(p_ad->win_main);
+#endif
+ 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);
+ //evas_object_event_callback_add(popup, EVAS_CALLBACK_KEY_DOWN, _keydown_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");
+ //elm_object_style_set(popup, "min_menustyle");
+ //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);
+ elm_layout_file_set(layout, PLAY_VIEW_EDJ_NAME, "popup_processingview_string");
+ 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);
+ elm_layout_file_set(layout, PLAY_VIEW_EDJ_NAME, "popup_processingview_1button");
+
+ 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);
+ elm_layout_file_set(layout, PLAY_VIEW_EDJ_NAME, "popup_processingview_1button");
+ 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);
+ elm_layout_file_set(layout, MP_EDJ_NAME, "popup_center_progressview");
+
+ 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);
+ int ret = elm_layout_file_set(layout, MP_EDJ_NAME, "popup_checkview_personal");
+ 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)
+ {
+ //elm_object_part_text_set(popup, "title,text", title);
+ mp_util_domain_translatable_part_text_set(popup, "title,text", title);
+ }
+
+ p_ad->popup[type] = popup;
+
+ //evas_object_show(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_style_set(popup, "no_effect");
+ 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);
+ //evas_object_event_callback_add(popup, EVAS_CALLBACK_KEY_DOWN, _keydown_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;
+ //evas_object_show(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;
+ }
+
+/*
+ if (!g_strcmp0(text, GET_SYS_STR(STR_MP_DELETE)) )//|| !g_strcmp0(text, GET_SYS_STR(STR_MP_REMOVE)))
+ {
+ elm_object_style_set(button, "style1/delete");
+ }
+*/
+ 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);
+ //evas_object_smart_callback_add(popup, "block,clicked", __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);
+ //elm_object_focus_set(entry, EINA_FALSE); //do not hide isf on max length
+
+ 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)
+ {
+ elm_theme_extension_add(NULL, THEME_NAME);
+ }
+
+ return popup;
+}
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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 fill should be modified by removing the smart object*/
+#include <Ecore.h>
+#include <stdbool.h>
+#include "mp-scroll-page.h"
+#include "mp-define.h"
+
+#define SCROLL_PAGE_WIDTH 720
+#define SCROLL_PAGE_FLICK_DISTANCE 20
+
+typedef struct {
+ Evas_Object *obj;
+ Evas_Object *scroller;
+ Evas_Object *box;
+ Ecore_Timer *bring_timer;
+ Ecore_Animator *animator;
+
+ int page_width;
+ int page_height;
+
+ int page_count;
+ bool drag_started;
+ int prev_x;
+ int current_page;
+
+ void (*page_change_callback)(int page, void *user_data);
+ void *page_change_user_data;
+
+ bool reloacation_flag;
+ MpScrollPageType_e location_page_type;
+} scroll_page_s;
+
+static Evas_Object *_mp_scroll_page_scroller_get_page_at(void *data, unsigned int idx)
+{
+ scroll_page_s *sd = (scroll_page_s *)data;
+ MP_CHECK_NULL(sd);
+
+ Eina_List *page_list;
+ Evas_Object *box;
+ Evas_Object *page;
+
+ box = sd->box;
+ page_list = elm_box_children_get(box);
+ if (NULL == page_list) return NULL;
+
+ page = eina_list_nth(page_list, idx);
+ eina_list_free(page_list);
+
+ return page;
+}
+
+static void _mp_scroll_page_scroller_focus(void *data)
+{
+ scroll_page_s *sd = (scroll_page_s *)data;
+ MP_CHECK(sd);
+
+ Evas_Object *page = NULL;
+ page = _mp_scroll_page_scroller_get_page_at(sd, sd->current_page);
+ MP_CHECK(page);
+
+ elm_object_focus_set(page, EINA_TRUE);
+}
+
+static void
+_mp_scroll_page_scroller_drag_start_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ scroll_page_s *sd = data;
+ MP_CHECK(sd);
+
+ sd->drag_started = true;
+}
+
+static void
+_mp_scroll_page_scroller_drag_stop_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ startfunc;
+ scroll_page_s *sd = data;
+ MP_CHECK(sd);
+
+ if (sd->drag_started == false)
+ return;
+
+ int pagenum;
+ int prev_page = sd->current_page;
+ elm_scroller_current_page_get(sd->scroller, &pagenum, NULL);
+ sd->current_page = pagenum;
+ sd->drag_started = false;
+
+ _mp_scroll_page_scroller_focus(sd);
+ /*if page ckange callback set, call it*/
+ if (sd->page_change_callback && prev_page != sd->current_page)
+ sd->page_change_callback(sd->current_page, sd->page_change_user_data);
+
+}
+
+static void
+_mp_scroll_page_scroller_anim_stop_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ startfunc;
+ scroll_page_s *sd = data;
+ MP_CHECK(sd);
+
+ int pagenum;
+ int prev_page = sd->current_page;
+ elm_scroller_current_page_get(sd->scroller, &pagenum, NULL);
+ sd->current_page = pagenum;
+
+ _mp_scroll_page_scroller_focus(sd);
+ /*if page ckange callback set, call it*/
+ if (sd->page_change_callback && prev_page != sd->current_page)
+ sd->page_change_callback(sd->current_page, sd->page_change_user_data);
+}
+
+
+static Eina_Bool
+_animator_cb(void *data)
+{
+ scroll_page_s *sd = (scroll_page_s *)data;
+ MP_CHECK_FALSE(sd);
+
+ elm_scroller_page_show(sd->scroller, sd->current_page, 0);
+ sd->animator = NULL;
+ return ECORE_CALLBACK_CANCEL;
+}
+
+static void
+_mp_scroll_page_smart_add(Evas_Object *obj)
+{
+ startfunc;
+ MP_CHECK(obj);
+
+ scroll_page_s *sd = calloc(1, sizeof(scroll_page_s));
+ mp_assert(sd);
+
+ sd->obj = obj;
+ evas_object_smart_data_set(obj, sd);
+
+ endfunc;
+}
+
+static void
+_mp_scroll_page_smart_del(Evas_Object *obj)
+{
+ startfunc;
+ MP_CHECK(obj);
+ scroll_page_s *sd = evas_object_smart_data_get(obj);
+ MP_CHECK(sd);
+ mp_ecore_timer_del(sd->bring_timer);
+ mp_ecore_animator_del(sd->animator);
+ free(sd);
+ endfunc;
+}
+
+static void
+_mp_scroll_page_smart_move(Evas_Object *obj, Evas_Coord x, Evas_Coord y)
+{
+ MP_CHECK(obj);
+ scroll_page_s *sd = evas_object_smart_data_get(obj);
+ MP_CHECK(sd);
+
+ evas_object_move(sd->scroller, x, y);
+ evas_object_smart_changed(obj);
+}
+
+static void
+_mp_scroll_page_smart_resize(Evas_Object *obj, Evas_Coord w, Evas_Coord h)
+{
+ MP_CHECK(obj);
+ scroll_page_s *sd = evas_object_smart_data_get(obj);
+ MP_CHECK(sd);
+
+ evas_object_resize(sd->scroller, w, h);
+ elm_scroller_page_size_set(sd->scroller, w, 0);
+
+ sd->page_width = w;
+ sd->page_height = h;
+ evas_object_smart_changed(obj);
+
+ mp_ecore_animator_del(sd->animator);
+ /*FIXME: we used animator here because directly using page_show() doesn't change the page properly.
+ Using animator shows a flickering when page switching.
+ Need to fix it in elm_scroller. */
+ sd->animator = ecore_animator_add(_animator_cb, sd);
+}
+
+static void
+_mp_scroll_page_smart_show(Evas_Object *obj)
+{
+ MP_CHECK(obj);
+ scroll_page_s *sd = evas_object_smart_data_get(obj);
+ MP_CHECK(sd);
+
+ if (sd->scroller)
+ evas_object_show(sd->scroller);
+}
+
+static void
+_mp_scroll_page_smart_hide(Evas_Object *obj)
+{
+ MP_CHECK(obj);
+ scroll_page_s *sd = evas_object_smart_data_get(obj);
+ MP_CHECK(sd);
+
+ if (sd->scroller)
+ evas_object_hide(sd->scroller);
+}
+
+static void
+_mp_scroll_page_smart_clip_set(Evas_Object *obj, Evas_Object *clip)
+{
+ MP_CHECK(obj);
+ scroll_page_s *sd = evas_object_smart_data_get(obj);
+ MP_CHECK(sd);
+
+ if (sd->scroller)
+ evas_object_clip_set(sd->scroller, clip);
+}
+
+static void
+_mp_scroll_page_smart_clip_unset(Evas_Object *obj)
+{
+ MP_CHECK(obj);
+ scroll_page_s *sd = evas_object_smart_data_get(obj);
+ MP_CHECK(sd);
+
+ if (sd->scroller)
+ evas_object_clip_unset(sd->scroller);
+};
+
+
+static void
+_mp_scroll_page_smart_calculate(Evas_Object *obj)
+{
+ MP_CHECK(obj);
+ scroll_page_s *sd = evas_object_smart_data_get(obj);
+ MP_CHECK(sd);
+ MP_CHECK(sd->box);
+
+ Eina_List *layout_list = elm_box_children_get(sd->box);
+ MP_CHECK(layout_list);
+
+ Eina_List *l;
+ Evas_Object *layout;
+ EINA_LIST_FOREACH(layout_list, l, layout)
+ {
+ Evas_Object *rect = elm_object_part_content_get(layout, "elm.swallow.bg");
+ if (rect) {
+ evas_object_size_hint_min_set(rect, sd->page_width, 0);
+ }
+ Evas_Object *content = elm_object_part_content_get(layout, "elm.swallow.content");
+ if (content) {
+ evas_object_size_hint_min_set(content, sd->page_width, 0);
+ }
+
+ }
+ eina_list_free(layout_list);
+ layout_list = NULL;
+
+ if (sd->reloacation_flag == TRUE && (sd->location_page_type > SCROLL_PAGE_MIN && sd->location_page_type < SCROLL_PAGE_MAX))
+ {
+ Evas_Coord x, y, w, h;
+ elm_scroller_region_get( sd->scroller, &x, &y, &w, &h );
+ x = sd->page_width * sd->location_page_type;
+ elm_scroller_region_show(sd->scroller, x, y, w, h);
+ elm_scroller_current_page_get(sd->scroller, &(sd->current_page), NULL);
+ DEBUG_TRACE("current page is %d", sd->current_page);
+ sd->prev_x = x;
+ sd->reloacation_flag = FALSE;
+ sd->location_page_type = SCROLL_PAGE_MIN;
+ }
+}
+
+
+Evas_Object *
+mp_scroll_page_add(Evas_Object *parent)
+{
+ Evas_Object *obj;
+ static Evas_Smart_Class sc;
+ static Evas_Smart *smart = NULL;
+
+ if (!smart) {
+ memset(&sc, 0x0, sizeof(Evas_Smart_Class));
+ sc.name = "page_control";
+ sc.version = EVAS_SMART_CLASS_VERSION;
+ sc.add = _mp_scroll_page_smart_add;
+ sc.del = _mp_scroll_page_smart_del;
+ sc.move = _mp_scroll_page_smart_move;
+ sc.resize = _mp_scroll_page_smart_resize;
+ sc.show = _mp_scroll_page_smart_show;
+ sc.hide = _mp_scroll_page_smart_hide;
+ sc.clip_set = _mp_scroll_page_smart_clip_set;
+ sc.clip_unset = _mp_scroll_page_smart_clip_unset;
+ sc.calculate = _mp_scroll_page_smart_calculate;
+ if (!(smart = evas_smart_class_new(&sc))) return NULL;
+ }
+
+ obj = evas_object_smart_add(evas_object_evas_get(parent), smart);
+
+ scroll_page_s *sd = evas_object_smart_data_get(obj);
+ if (sd)
+ {
+
+ Evas_Object *scroller = elm_scroller_add(parent);
+ elm_scroller_bounce_set(scroller, EINA_FALSE, EINA_FALSE);
+ elm_scroller_policy_set(scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
+ elm_object_scroll_lock_y_set(scroller, EINA_TRUE);
+ elm_scroller_single_direction_set( scroller, ELM_SCROLLER_SINGLE_DIRECTION_HARD );
+ sd->scroller = scroller;
+
+ Evas_Object *box = elm_box_add(scroller);
+ elm_box_horizontal_set(box, EINA_TRUE);
+ elm_box_homogeneous_set(box, EINA_TRUE);
+ elm_object_content_set(scroller, box);
+ sd->box = box;
+
+ evas_object_smart_callback_add(scroller, "scroll,drag,start", _mp_scroll_page_scroller_drag_start_cb, sd);
+ evas_object_smart_callback_add(scroller, "scroll,drag,stop", _mp_scroll_page_scroller_drag_stop_cb, sd);
+ evas_object_smart_callback_add(scroller, "scroll,anim,stop", _mp_scroll_page_scroller_anim_stop_cb, sd);
+
+ evas_object_smart_member_add(scroller, obj);
+ }
+
+ return obj;
+}
+
+static Evas_Object *
+_mp_scroll_page_min_size_layout_add(Evas_Object *parent, Evas_Object *content, scroll_page_s *sd)
+{
+ MP_CHECK_NULL(parent);
+ MP_CHECK_NULL(content);
+ MP_CHECK_NULL(sd);
+
+ Evas_Object *layout = elm_layout_add(parent);
+ elm_layout_theme_set(layout, "layout", "application", "default");
+ evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
+
+ Evas_Object *rect = evas_object_rectangle_add(evas_object_evas_get(layout));
+ evas_object_color_set(rect, 248, 246, 239, 255);
+ evas_object_size_hint_min_set(rect, sd->page_width, sd->page_height);
+ evas_object_size_hint_weight_set(rect, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(rect, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ elm_object_part_content_set(layout, "elm.swallow.bg", rect);
+
+ elm_object_part_content_set(layout, "elm.swallow.content", content);
+ evas_object_show(layout);
+
+ return layout;
+}
+
+void
+mp_scroll_page_content_append(Evas_Object *obj, Evas_Object *content)
+{
+ MP_CHECK(obj);
+ MP_CHECK(content);
+
+ scroll_page_s *sd = evas_object_smart_data_get(obj);
+ MP_CHECK(sd);
+ MP_CHECK(sd->box);
+
+ Evas_Object *min_layout = _mp_scroll_page_min_size_layout_add(obj, content, sd);
+ elm_box_pack_end(sd->box, min_layout);
+ sd->page_count++;
+}
+
+void
+mp_scroll_page_content_append_typed(Evas_Object *obj, Evas_Object *content, MpScrollPageType_e page_type)
+{
+ MP_CHECK(obj);
+ MP_CHECK(content);
+
+ scroll_page_s *sd = evas_object_smart_data_get(obj);
+ MP_CHECK(sd);
+ MP_CHECK(sd->box);
+
+ Evas_Object *min_layout = _mp_scroll_page_min_size_layout_add(obj, content, sd);
+ evas_object_data_set(min_layout, "page_type", (void *)page_type);
+ elm_box_pack_end(sd->box, min_layout);
+ sd->page_count++;
+}
+
+void
+mp_scroll_page_content_pre_append(Evas_Object *obj, Evas_Object *content)
+{
+ MP_CHECK(obj);
+ MP_CHECK(content);
+
+ scroll_page_s *sd = evas_object_smart_data_get(obj);
+ MP_CHECK(sd);
+ MP_CHECK(sd->box);
+
+ Evas_Object *min_layout = _mp_scroll_page_min_size_layout_add(obj, content, sd);
+ elm_box_pack_start(sd->box, min_layout);
+ sd->page_count++;
+}
+
+void
+mp_scroll_page_remove(Evas_Object *obj, MpScrollPageType_e page_type)
+{
+ MP_CHECK(obj);
+
+ scroll_page_s *sd = evas_object_smart_data_get(obj);
+ MP_CHECK(sd);
+ MP_CHECK(sd->box);
+
+ Eina_List *children_list = NULL;
+ Eina_List *l = NULL;
+ Evas_Object *sub_obj = NULL;
+
+ children_list = elm_box_children_get(sd->box);
+ EINA_LIST_FOREACH(children_list, l, sub_obj)
+ {
+ MpScrollPageType_e obj_type = (MpScrollPageType_e)evas_object_data_get(sub_obj, "page_type");
+ if (obj_type == page_type)
+ {
+ elm_box_unpack(sd->box, sub_obj);
+ sd->page_count--;
+ break;
+ }
+ }
+
+ if (children_list) {
+ eina_list_free(children_list);
+ children_list = NULL;
+ }
+}
+
+Evas_Object *
+mp_scroll_page_index_icon_add(Evas_Object *parent, unsigned int total, int index)
+{
+ MP_CHECK_NULL(parent);
+ MP_CHECK_NULL(index < total);
+
+ Evas_Object *box = elm_box_add(parent);
+ elm_box_horizontal_set(box, EINA_TRUE);
+ elm_box_align_set(box, 0.0, 0.5);
+ elm_box_homogeneous_set(box, EINA_TRUE);
+ elm_box_padding_set(box, 5, 0);
+
+ int i;
+ for (i = 0; i < total ; i++) {
+ const char *group = (i == index) ? MP_ICON_PAGE_INDEX_ON : MP_ICON_PAGE_INDEX_OFF;
+ Evas_Object *icon = elm_icon_add(box);
+ elm_image_file_set(icon, IMAGE_EDJ_NAME, group);
+ evas_object_size_hint_min_set(icon, SCALED_SIZE(29), SCALED_SIZE(7));
+ evas_object_show(icon);
+ elm_box_pack_end(box, icon);
+ }
+
+ evas_object_show(box);
+ return box;
+}
+
+void mp_scroll_page_set_page_change_callback(Evas_Object *obj, page_change_callback callback, void *userdata)
+{
+ MP_CHECK(obj);
+
+ scroll_page_s *sd = evas_object_smart_data_get(obj);
+ MP_CHECK(sd);
+
+ sd->page_change_callback = callback;
+ sd->page_change_user_data = userdata;
+}
+
+void
+mp_scroll_page_set_page_location(Evas_Object *obj, MpScrollPageType_e page_type)
+{
+ MP_CHECK(obj);
+
+ scroll_page_s *sd = evas_object_smart_data_get(obj);
+ MP_CHECK(sd);
+ MP_CHECK(sd->box);
+
+ switch (page_type)
+ {
+ case SCROLL_PAGE_STORE:
+ sd->current_page = 0;
+ break;
+ case SCROLL_PAGE_RADIO:
+ sd->current_page = (sd->page_count-2);
+ break;
+ case SCROLL_PAGE_PLAYER:
+ sd->current_page = (sd->page_count-1);
+ break;
+ default:
+ mp_error("unhandled page type %d", page_type);
+ return;
+ }
+ elm_scroller_page_show(sd->scroller, sd->current_page, 0);
+ _mp_scroll_page_scroller_focus(sd);
+}
+
+
+MpScrollPageType_e mp_scroll_page_get_current_page_type(Evas_Object *obj)
+{
+ MP_CHECK_VAL(obj, SCROLL_PAGE_PLAYER);
+
+ scroll_page_s *sd = evas_object_smart_data_get(obj);
+ MP_CHECK_VAL(sd, SCROLL_PAGE_PLAYER);
+ MP_CHECK_VAL(sd->box, SCROLL_PAGE_PLAYER);
+
+ if (sd->current_page == (sd->page_count -1 ))
+ return SCROLL_PAGE_PLAYER;
+ else if (sd->current_page == 0)
+ return SCROLL_PAGE_STORE;
+ else
+ return SCROLL_PAGE_RADIO;
+}
+
+void mp_scroll_page_hide_scroll_bar(Evas_Object *obj)
+{
+ MP_CHECK(obj);
+
+ scroll_page_s *sd = evas_object_smart_data_get(obj);
+ MP_CHECK(sd);
+
+ elm_object_style_set(sd->scroller, NULL);
+
+}
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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_file_set(no_contents, EDJ_NAME, "no_result");
+ elm_layout_theme_set(no_contents, "layout", "nocontents", "default");
+ //edje_object_part_text_set(_EDJ(no_contents), "elm.text", GET_STR("IDS_MUSIC_BODY_NO_RESULTS_FOUND"));
+ //mp_language_mgr_register_object(no_contents, OBJ_TYPE_EDJE_OBJECT, "elm.text", "IDS_MUSIC_BODY_NO_RESULTS_FOUND");
+ 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.main.left.top"))
+ {
+ char *title = NULL;
+
+ mp_media_info_get_title(track, &title);
+
+ mp_retv_if (!title, NULL);
+ if (!strcmp(part, "elm.text.main.left.top"))
+ {
+ 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.left.bottom"))
+ {
+ 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.icon.1"))
+ {
+ 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;
+ char *prev_item_uid = NULL;
+
+ plst_item = mp_playlist_mgr_get_current(ad->playlist_mgr);
+ if (plst_item)
+ prev_item_uid = g_strdup(plst_item->uid);
+
+ 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);
+
+#ifdef MP_FEATURE_CLOUD
+ mp_storage_type_e storage;
+ mp_media_info_get_storage_type(item->handle, &storage);
+ if (storage == MP_STORAGE_CLOUD)
+ track_type = MP_TRACK_CLOUD;
+#endif
+ 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);
+
+ IF_FREE(prev_item_uid);
+
+ 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.main.left.top"))
+ {
+ 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")) {
+ 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.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);
+ }
+
+ DEBUG_TRACE("Unusing part: %s", part);
+ 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.icon.1"))
+ {
+ 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.main.left.top")) {
+ 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")) {
+ 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.icon.1"))
+ {
+ 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.main"))
+ {
+ 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 = "music/2line.top";//"music/2text.1icon.tb";
+ list->itc_track->item_style = "2line.top";//"music/2text.1icon.tb";
+ //list->itc_track->item_style = "1linenew.top";//"music/2text.1icon.tb";
+ 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 = "music/2line.top";//"music/2text.1icon.tb";
+ list->itc_album->item_style = "2line.top";//"music/2text.1icon.tb";
+ 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 = "2line.top";//"music/1text.1icon.2.tb";
+ 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";//"music/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_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_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) 2000-2015 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_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
+_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 _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
+_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_clear_button_clicked_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ Evas_Object *entry = (Evas_Object *)data;
+
+ elm_entry_entry_set(entry, "");
+}
+
+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, "");
+}
+
+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 *button = NULL;
+ Evas_Object *en = NULL;
+ Evas_Object *searchfield = NULL;
+
+ searchfield = elm_layout_add(parent);
+ Elm_Theme *th = elm_theme_new();
+ elm_theme_extension_add(th, THEME_NAME);
+ elm_layout_theme_set(searchfield, "layout", "searchbar", "cancel_button_case");
+ //elm_layout_theme_set(searchfield, "layout", "searchfield", "singleline");
+ const char *style ="DEFAULT='font=tizen; font_size=45'";
+
+ 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, 0.0);
+ elm_entry_text_style_user_push(en, style);
+ 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) 2000-2015 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-shortcut.h"
+#include "mp-play.h"
+#include "mp-player-view.h"
+#include "mp-widget.h"
+#include "mp-util.h"
+#include "mp-common.h"
+
+#define MP_SHORTCUT_LARGE_BOX_SIZE 480*elm_config_scale_get()
+#define MP_SHORT_CUT_SMALL_BOX_SIZE 240*elm_config_scale_get()
+#define MP_SHORTCUT_BOX_LD_SIZE 377*elm_config_scale_get()
+#define MP_SHORTCUT_BOX_WIDTH_SIZE 1280*elm_config_scale_get()
+
+#define MP_SHORTCUT_BOX_COUNT 3
+
+typedef struct{
+ char *thumb_path[MP_SHORTCUT_BOX_COUNT];
+ char *playlist_title[MP_SHORTCUT_BOX_COUNT];
+}MpShortcutCache;
+
+MpShortcutCache *g_cache_data;
+static int favourite_index;
+
+static void
+_mp_shortcut_box_tts_double_action_cb(void *data, Evas_Object * obj, Elm_Object_Item *item_data)
+{
+ eventfunc;
+ mp_media_list_h list = NULL;
+ int type = (int)data;
+ int count = 0;
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ mp_media_info_list_count(type, NULL, NULL, NULL, 0, &count);
+ if (count == 0)
+ {
+ mp_widget_text_popup(mp_util_get_appdata(), GET_STR(STR_MP_NO_SONGS));
+ return;
+ }
+
+ mp_media_info_list_create(&list, type, NULL, NULL, NULL, 0, 0, count);
+
+ if (!ad->playlist_mgr)
+ mp_common_create_playlist_mgr();
+ mp_playlist_mgr_clear(ad->playlist_mgr);
+
+ if (type == MP_TRACK_BY_FAVORITE)
+ {
+ mp_util_append_media_list_item_to_playlist(ad->playlist_mgr, list, count, favourite_index, NULL);
+ }
+ else
+ mp_util_append_media_list_item_to_playlist(ad->playlist_mgr, list, count, 0, NULL);
+
+ int ret = mp_play_new_file(ad, TRUE);
+ if (ret)
+ {
+ ERROR_TRACE("Error: mp_play_new_file..");
+#ifdef MP_FEATURE_CLOUD
+ if (ret == MP_PLAY_ERROR_NETWORK)
+ mp_widget_text_popup(NULL, GET_STR(STR_MP_THIS_FILE_IS_UNABAILABLE));
+#endif
+ return;
+ }
+
+ mp_common_show_player_view(MP_PLAYER_NORMAL, false, true, true);
+}
+
+
+static void
+_mp_shortcut_box_click_cb(void *data, Evas_Object * obj, const char *emission, const char *source)
+{
+ eventfunc;
+ mp_media_list_h list = NULL;
+ int type = (int)data;
+ int count = 0;
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ mp_media_info_list_count(type, NULL, NULL, NULL, 0, &count);
+ if (count == 0)
+ {
+ mp_widget_text_popup(mp_util_get_appdata(), GET_STR(STR_MP_NO_SONGS));
+ return;
+ }
+
+ mp_media_info_list_create(&list, type, NULL, NULL, NULL, 0, 0, count);
+
+ if (!ad->playlist_mgr)
+ mp_common_create_playlist_mgr();
+ mp_playlist_mgr_clear(ad->playlist_mgr);
+
+ if (type == MP_TRACK_BY_FAVORITE)
+ {
+ mp_util_append_media_list_item_to_playlist(ad->playlist_mgr, list, count, favourite_index, NULL);
+ }
+ else
+ {
+ mp_util_append_media_list_item_to_playlist(ad->playlist_mgr, list, count, 0, NULL);
+ }
+ mp_media_info_list_destroy(list);
+
+ int ret = mp_play_new_file(ad, TRUE);
+ if (ret)
+ {
+ ERROR_TRACE("Error: mp_play_new_file..");
+#ifdef MP_FEATURE_CLOUD
+ if (ret == MP_PLAY_ERROR_NETWORK)
+ mp_widget_text_popup(NULL, GET_STR(STR_MP_THIS_FILE_IS_UNABAILABLE));
+#endif
+ return;
+ }
+
+ mp_common_show_player_view(MP_PLAYER_NORMAL, false, true, true);
+}
+
+Evas_Object *
+mp_shortcut_add(Evas_Object *parent, int index)
+{
+ startfunc;
+ Evas_Object *layout = NULL;
+ MP_CHECK_NULL(parent);
+
+ if (!g_cache_data)
+ {
+ g_cache_data = calloc(1, sizeof(MpShortcutCache));
+ MP_CHECK_NULL(g_cache_data);
+ }
+
+#ifdef MP_FEATURE_LANDSCAPE
+ bool landscape = mp_util_is_landscape();
+ if (landscape)
+ {
+ layout = mp_common_load_edj(parent, MP_EDJ_NAME, "landscape/shortcut_layout");
+ mp_shortcut_update_cache(layout, index);
+ evas_object_size_hint_min_set(layout, 0, MP_SHORTCUT_BOX_LD_SIZE);
+ }
+ else
+#endif
+ {
+ PROFILE_IN("mp_common_load_edj");
+ layout = mp_common_load_edj(parent, MP_EDJ_NAME, "shortcut_layout");
+ PROFILE_OUT("mp_common_load_edj");
+
+ PROFILE_IN("mp_shortcut_update_cache");
+ mp_shortcut_update_cache(layout, index);
+ PROFILE_OUT("mp_shortcut_update_cache");
+ evas_object_size_hint_min_set(layout, 0, MP_SHORTCUT_LARGE_BOX_SIZE);
+ }
+
+ return layout;
+}
+
+int mp_shortcut_get_height(void)
+{
+#ifdef MP_FEATURE_LANDSCAPE
+ bool landscape = mp_util_is_landscape();
+ if (landscape)
+ {
+ return MP_SHORTCUT_BOX_LD_SIZE;
+ }
+ else
+#endif
+ {
+ return MP_SHORTCUT_LARGE_BOX_SIZE;
+ }
+}
+
+void
+mp_shortcut_update_cache(Evas_Object *layout, int index)
+{
+ startfunc;
+ MP_CHECK(layout);
+
+ MP_CHECK(g_cache_data);
+
+ Evas_Object *box = NULL;
+ int favourite_count = 0;
+ int count[MP_SHORTCUT_BOX_COUNT] = {0};
+
+ mp_media_list_h list = NULL;
+ mp_media_info_h item = NULL;
+ char *label[MP_SHORTCUT_BOX_COUNT] = {STR_MP_FAVOURITES, STR_MP_RECENTLY_ADDED,STR_MP_MOST_PLAYED};
+ int track_type[MP_SHORTCUT_BOX_COUNT] = {MP_TRACK_BY_FAVORITE, MP_TRACK_BY_ADDED_TIME, MP_TRACK_BY_PLAYED_COUNT};
+ char *default_thumbnail[MP_SHORTCUT_BOX_COUNT] = {MP_ICON_STARRED_SONGS, MP_ICON_RECENTLY_ADDED, MP_ICON_MOST_PLAYED};
+ int i;
+
+ for (i=0; i<MP_SHORTCUT_BOX_COUNT; i++)
+ {
+ char *thumbpath = NULL;
+ char *title = NULL;
+
+ int res = 0;
+ res = mp_media_info_list_count(track_type[i], NULL, NULL, NULL, 0, &count[i]);
+
+ if (!count[i])
+ continue;
+
+ if (0 == i)
+ {
+ favourite_count = count[i];
+ mp_media_info_list_create(&list, track_type[i], NULL, NULL, NULL, 0, 0, favourite_count);
+ favourite_index = index;
+
+ }
+ else
+ mp_media_info_list_create(&list, track_type[i], NULL, NULL, NULL, 0, 0, 1);
+ if (!list)
+ continue;
+ if (0 == i)
+ item = mp_media_info_list_nth_item(list, index);
+ else
+ item = mp_media_info_list_nth_item(list, 0);
+ mp_media_info_get_thumbnail_path(item, &thumbpath);
+ mp_media_info_get_title(item, &title);
+
+ IF_FREE(g_cache_data->thumb_path[i]);
+ g_cache_data->thumb_path[i] = g_strdup(thumbpath);
+ IF_FREE(g_cache_data->playlist_title[i]);
+ g_cache_data->playlist_title[i] = g_strdup(title);
+
+ mp_media_info_list_destroy(list);
+ list = NULL;
+ }
+
+ for (i=0; i<MP_SHORTCUT_BOX_COUNT; i++)
+ {
+ char *thumbpath = NULL;
+ char *title = NULL;
+ char *part = NULL;
+
+ if (g_cache_data->thumb_path[i])
+ {
+ thumbpath = g_cache_data->thumb_path[i];
+ title = g_cache_data->playlist_title[i];
+ }
+ else
+ {
+ thumbpath = IMAGE_EDJ_NAME;
+ if (0 == count[i])
+ part = default_thumbnail[i];
+ }
+
+ bool landscape = mp_util_is_landscape();
+ if (landscape)
+ box = mp_widget_shorcut_box_add(layout, label[i], thumbpath, part,
+ MP_SHORTCUT_BOX_LD_SIZE, MP_SHORTCUT_BOX_LD_SIZE,
+ _mp_shortcut_box_click_cb, (void *)track_type[i]);
+ else
+ if (i == 0)
+ box = mp_widget_shorcut_box_add(layout, label[i], thumbpath, part,
+ MP_SHORTCUT_LARGE_BOX_SIZE, MP_SHORTCUT_LARGE_BOX_SIZE,
+ _mp_shortcut_box_click_cb, (void *)track_type[i]);
+ else
+ box = mp_widget_shorcut_box_add(layout, label[i], thumbpath, part,
+ MP_SHORT_CUT_SMALL_BOX_SIZE, MP_SHORT_CUT_SMALL_BOX_SIZE,
+ _mp_shortcut_box_click_cb, (void *)track_type[i]);
+
+ part = g_strdup_printf("box%d", i);
+ elm_object_part_content_set(layout, part, box);
+ IF_FREE(part);
+ }
+
+}
+
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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 5
+#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;
+ //elm_coords_finger_size_adjust(1, &minw, 1, &minh);
+
+ 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;
+
+ //elm_coords_finger_size_adjust(1, &minw, 1, &minh);
+
+ 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)<FLICK_THREASHOLD && ABS(diff_x)<FLICK_THREASHOLD)
+ //goto END;
+
+ 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)
+{
+ //Evas *e = NULL;
+ //Evas_Object *obj = NULL;
+ 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) 2000-2015 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 <media_content.h>
+#include <player.h>
+
+#define INITIAL_LOAD_COUNT 8
+#define ALBUMART_INDEX_SIZE (720 * elm_config_scale_get())
+#ifdef MP_FEATURE_LANDSCAPE
+#define LANDSCAPE_ALBUMART_INDEX_SIZE (256 * elm_config_scale_get())
+#endif
+
+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.main.left.top"))||(!strcmp(part, "elm.text.sub.left.bottom"))) {
+ MpTrackList_t *list = evas_object_data_get(obj, "list_data");
+ MP_CHECK_NULL(list);
+
+ struct appdata *ad = mp_util_get_appdata();
+ mp_track_info_t* current = ad->current_track_info;
+
+
+ char *title = NULL;
+
+ if (!strcmp(part, "elm.text.main.left.top")) {
+
+ 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;
+ }
+ /*else if (!strcmp(part, "elm.text.3") )
+ {
+ int duration;
+ char time[16] = "";
+
+ mp_media_info_get_duration(track, &duration);
+
+ mp_util_format_duration(time, duration);
+ time[15] = '\0';
+ return g_strdup(time);
+ }*/
+ 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.icon.1");
+ 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.icon.1")) {
+ 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;
+ }
+
+
+ Evas_Object *check = NULL;
+
+ if (elm_genlist_decorate_mode_get(obj)) {
+ // if edit mode
+ if (!strcmp(part, "elm.icon.2")) {
+ // 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);
+ elm_layout_theme_set(content, "layout", "list/C/type.2", "default");
+ elm_layout_content_set(content, "elm.swallow.content", check);
+
+ return content;
+ }
+ }
+
+ if (list->reorderable) {
+ if (!strcmp(part, "elm.icon.2")) {
+ Evas_Object *thumbnail = NULL;
+ thumbnail = elm_image_add(obj);
+ elm_image_file_set(thumbnail, IMAGE_EDJ_NAME, MP_LITE_REORDER_ICON);
+ evas_object_color_set(thumbnail, 8, 8, 8, 204);
+ 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_layout_theme_set(content, "layout", "list/C/type.1", "default");
+ elm_layout_content_set(content, "elm.swallow.content", thumbnail);
+
+ return content;
+ }
+
+ }
+
+ 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);
+
+ 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;
+
+#ifdef MP_FEATURE_LANDSCAPE
+ bool landscape = mp_util_is_landscape();
+ int landscape_shortcut_count = 5;
+#endif
+ Evas_Object *layout = NULL;
+
+ char *group = g_strdup_printf("playlist_shortcut_layout_%d", shortcut_count);
+#ifdef MP_FEATURE_LANDSCAPE
+ if (landscape)
+ layout = mp_common_load_edj(obj, MP_EDJ_NAME, "landscape_playlist_shortcut_layout");
+ else
+#endif
+ layout = mp_common_load_edj(obj, MP_EDJ_NAME, group);
+ IF_FREE(group);
+
+#ifdef MP_FEATURE_LANDSCAPE
+ if (landscape)
+ evas_object_size_hint_min_set(layout, LANDSCAPE_ALBUMART_INDEX_SIZE, LANDSCAPE_ALBUMART_INDEX_SIZE * elm_config_scale_get());
+ else
+#endif
+ evas_object_size_hint_min_set(layout, ALBUMART_INDEX_SIZE, ALBUMART_INDEX_SIZE * elm_config_scale_get());
+
+ int i = 0;
+ int size = 0;
+#ifdef MP_FEATURE_LANDSCAPE
+ if (landscape)
+ {
+ for (; i < landscape_shortcut_count; i++) {
+ albumart_info_s *info = g_list_nth_data(list->albumart_index_list, i);
+ if (info) {
+ size = LANDSCAPE_ALBUMART_INDEX_SIZE;
+ 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);
+ }
+ }
+ }
+ else
+#endif
+ {
+ 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)
+ {
+ path = g_strdup(DEFAULT_THUMBNAIL);
+ }
+ MP_CHECK(path);
+ //mp_debug("path = %s", 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)
+{
+
+ 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_CLOUD
+ if (list->cloud_view_type != MP_TRACK_LIST_VIEW_ALL)
+ {
+ mp_storage_type_e storage;
+ int ret = mp_media_info_get_storage_type(item, &storage);
+ if (ret != 0)
+ {
+ ERROR_TRACE("Fail to mp_media_info_get_title, ret[%d], index[%d]", ret, index);
+ goto END;
+ }
+ if (storage == MP_STORAGE_CLOUD)
+ {
+ if (list->cloud_view_type == MP_TRACK_LIST_VIEW_LOCAL)
+ continue;
+ }
+ else
+ {
+ if (list->cloud_view_type == MP_TRACK_LIST_VIEW_CLOUD)
+ continue;
+ }
+ }
+#endif
+ /* check DRM FL */
+ #if 0
+ if (mp_list_get_edit((MpList_t *)list) && mp_list_get_edit_type((MpList_t *)list) == MP_LIST_EDIT_TYPE_SHARE) {
+ char *file_name = NULL;
+ mp_media_info_get_file_path(item, &file_name);
+ if (mp_drm_check_foward_lock(file_name))
+ continue;
+ }
+ #endif
+#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);
+ 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);
+ }
+#ifdef MP_FEATURE_CLOUD
+ END:
+#endif
+ 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.main.left")) {
+ 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.icon.1")) {
+ 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/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);
+
+ 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 = "music/1line";//"music/3text.1icon.2"
+ list->itc_shuffle->item_style = "1line";//"music/3text.1icon.2"
+ 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_load_list(void *thiz, int count)
+{
+ startfunc;
+ MpTrackList_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_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");
+
+ mp_track_list_show_shuffle(list, true);
+
+// if ((!list->reorderable) && ((list->track_type != MP_TRACK_ALL) || (count <= INITIAL_LOAD_COUNT)))
+// mp_list_bottom_counter_item_append((MpList_t *)list);
+
+ 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);
+
+ 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_FREE(list->type_str);
+ IF_FREE(list->type_str2);
+ IF_FREE(list->filter_str);
+
+ elm_genlist_item_class_free(list->itc);
+
+ _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_moved_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ startfunc;
+ MpTrackList_t *list = data;
+ MP_CHECK(list);
+
+ Elm_Object_Item *item = event_info;
+ MP_CHECK(item);
+
+ 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(obj);
+ 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);
+ }
+
+ 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);
+}
+*/
+
+/*static void
+_mp_track_list_item_longpressed_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ startfunc;
+
+ MpTrackList_t *list = (MpTrackList_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);
+
+ char *title = NULL;
+
+ int pop_item_count = 5;
+#ifdef MP_FEATURE_ALBUMART_UPDATE
+ pop_item_count = 6;
+#endif
+ Elm_Object_Item *temp = NULL;
+ Evas_Object *popup = NULL;
+ mp_list_item_data_t *item_data = NULL;
+
+ MpView_t *top_view = mp_view_mgr_get_top_view(GET_VIEW_MGR);
+ MP_CHECK(top_view);
+
+ if (list->scroll_drag_status || list->edit_mode == 1 || list->reorderable ||
+ MP_VIEW_SEARCH == top_view->view_type || list->shuffle_it == item)
+ return;
+
+ temp = elm_genlist_item_next_get(list->shuffle_it);
+ while (temp) {
+ item_data = elm_object_item_data_get(temp);
+ item_data->checked = false;
+ temp = elm_genlist_item_next_get(temp);
+ }
+
+ item_data = elm_object_item_data_get(item);
+ MP_CHECK(item_data);
+ if (item_data->item_type == MP_LIST_ITEM_TYPE_ALBUMART_INDEX)
+ return;
+
+ item_data->checked = true;
+
+ mp_media_info_get_title(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);
+
+ MpViewMgr_t *view_mgr = mp_view_mgr_get_view_manager();
+ MpView_t *view = mp_view_mgr_get_top_view(view_mgr);
+
+ elm_object_part_text_set(popup, "title,text", up_title);
+ IF_FREE(up_title);
+
+#ifdef MP_FEATURE_PERSONAL_PAGE
+ char *file_path = NULL;
+ bool personal_page_flag = false;
+ mp_media_info_get_file_path(item_data->handle, &file_path);
+ if (file_path)
+ {
+ personal_page_flag = mp_util_is_in_personal_page((const char *)file_path);
+ }
+
+ if (!personal_page_flag)
+ {
+#endif
+ mp_genlist_popup_item_append(popup, STR_MP_SET_AS, NULL, NULL, NULL,
+ mp_common_list_set_as_cb, list);
+#ifdef MP_FEATURE_PERSONAL_PAGE
+ }
+#endif
+ mp_genlist_popup_item_append(popup, STR_MP_ADD_TO_PLAYLIST, NULL, NULL, NULL,
+ mp_common_list_add_to_playlist_cb, list);
+ if (list->track_type != MP_TRACK_BY_FAVORITE) {
+ char *str = NULL;
+ Evas_Smart_Cb cb = NULL;
+ mp_media_info_h favourite_handle = NULL;
+ char *uid = NULL;
+ bool favorite = false;
+ mp_media_info_get_media_id(item_data->handle, &uid);
+ mp_media_info_create(&favourite_handle, uid);
+ mp_media_info_get_favorite(favourite_handle, &favorite);
+ SAFE_FREE(favourite_handle);
+ if (favorite)
+ {
+ str = STR_MP_POPUP_REMOVE_FROM_FAVORITE;
+ cb = mp_common_list_unfavorite_cb;
+ }
+ else {
+ str = STR_MP_ADD_TO_FAVOURITES;
+ cb = mp_common_list_add_to_favorite_cb;
+ }
+
+ mp_genlist_popup_item_append(popup, str, NULL, NULL, NULL, cb, list);
+ }
+ if (MP_VIEW_PLAYLIST_DETAIL == view->view_type)
+ {
+ mp_genlist_popup_item_append(popup, STR_MP_REMOVE, NULL, NULL, NULL,
+ mp_common_list_remove_cb, list);
+ }
+ else
+ {
+ mp_genlist_popup_item_append(popup, STR_MP_DELETE, NULL, NULL, NULL,
+ mp_common_list_delete_cb, list);
+ }
+
+#ifdef MP_FEATURE_PERSONAL_PAGE
+ if (mp_util_is_personal_page_on() && top_view->view_type != MP_VIEW_PLAYLIST_DETAIL) // personal storage function is not provided in playlist detail view
+ {
+ if (mp_util_is_in_personal_page((const char *)file_path))
+ {
+ DEBUG_TRACE("remove from personal page");
+ list->personal_page_storage = MP_LIST_PERSONAL_PAGE_PRIVATE;
+ mp_genlist_popup_item_append(popup, STR_MP_REMOVE_FROM_PERSONAL_PAGE, NULL, NULL, NULL,
+ mp_common_longpress_private_move_cb, list);
+ }
+ else
+ {
+ DEBUG_TRACE("add to personal page");
+ list->personal_page_storage = MP_LIST_PERSONAL_PAGE_NORMAL;
+ mp_genlist_popup_item_append(popup, STR_MP_ADD_TO_PERSONAL_PAGE, NULL, NULL, NULL,
+ mp_common_longpress_private_move_cb, list);
+ }
+ }
+#endif
+
+ mp_genlist_popup_item_append(popup, STR_MP_POPUP_MORE_INFO, NULL, NULL, NULL,
+ mp_common_list_more_info_cb, list);
+#ifdef MP_FEATURE_ALBUMART_UPDATE
+ mp_genlist_popup_item_append(popup, STR_MP_UPDATE_ALBUM_ART, NULL, NULL, NULL,
+ mp_common_list_update_albumart_cb, list);
+#endif
+
+ MP_GENLIST_ITEM_LONG_PRESSED(obj, popup, event_info);
+}
+
+static void mp_track_list_add_tracks_to_playlist_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ startfunc;
+ MpTrackList_t *list = data;
+ MP_CHECK(list);
+ mp_common_show_add_tracks_view(list->playlist_id);
+}*/
+
+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);
+
+ 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)
+ {
+ /*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 = "2line.top";
+ //list->itc->item_style = "music/2line.top";//"music/tracklist/2text.1icon.4";//"music/3text.1icon.2"
+ //list->itc->decorate_item_style = "NULL";
+ //list->itc->decorate_all_item_style = "decorate/edit_default";//edit_default
+ 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, "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, "longpressed", _mp_track_list_item_longpressed_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);
+ //callback = mp_track_list_add_tracks_to_playlist_cb;
+ //cb_data = list;
+ }
+ 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="2.4" package="org.tizen.music-player" version="1.0.0">
+ <profile name="mobile"/>
+ <ui-application appid="org.tizen.music-player" exec="music-player" multiple="false" nodisplay="false" taskmanage="true" type="capp">
+ <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>
+ </ui-application>
+ <privileges>
+ <privilege>http://tizen.org/privilege/mediacontroller.client</privilege>
+ <privilege>http://tizen.org/privilege/datasharing</privilege>
+ <privilege>http://tizen.org/privilege/minicontrol.provider</privilege>
+ <privilege>http://tizen.org/privilege/packagemanager.clearcache</privilege>
+ <privilege>http://tizen.org/privilege/mediastorage</privilege>
+ <privilege>http://tizen.org/privilege/notification</privilege>
+ <privilege>http://tizen.org/privilege/appmanager.launch</privilege>
+ <privilege>http://tizen.org/privilege/widget.viewer</privilege>
+ <privilege>http://tizen.org/privilege/mediacontroller.server</privilege>
+ <privilege>http://tizen.org/privilege/volume.set</privilege>
+ <privilege>http://tizen.org/privilege/externalstorage</privilege>
+ </privileges>
+</manifest>
--- /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}/include)
+
+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
+ widget_service
+ widget_provider_app
+ widget_provider
+ 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}/include")
+
+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
+/*
+* Copyright (c) 2000-2015 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
+
+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) 2000-2015 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_PLAYER"
+
+#define gettid() syscall(__NR_gettid)
+
+#include <dlog.h>
+
+#if !defined(FLOG)
+#define DbgPrint(format, arg...) SECURE_LOGD(format, ##arg)
+#define ErrPrint(format, arg...) SECURE_LOGE(format, ##arg)
+#define WarnPrint(format, arg...) SECURE_LOGW(format, ##arg)
+
+#define LOG_COLOR_RESET "\033[0m"
+#define LOG_COLOR_RED "\033[31m"
+#define LOG_COLOR_YELLOW "\033[33m"
+#define LOG_COLOR_GREEN "\033[32m"
+#define LOG_COLOR_BLUE "\033[36m"
+
+#define DEBUG_TRACE(fmt, arg...) LOGD_IF(TRUE, LOG_COLOR_GREEN"[TID:%d] "fmt""LOG_COLOR_RESET, gettid(), ##arg)
+#define INFO_TRACE(fmt, arg...) LOGI_IF(TRUE, LOG_COLOR_GREEN"[TID:%d] "fmt""LOG_COLOR_RESET, gettid(), ##arg)
+#define WARN_TRACE(fmt, arg...) LOGW_IF(TRUE, LOG_COLOR_YELLOW"[TID:%d] "fmt""LOG_COLOR_RESET, gettid(), ##arg)
+#define ERROR_TRACE(fmt, arg...) LOGW_IF(TRUE, LOG_COLOR_RED"[TID:%d] "fmt""LOG_COLOR_RESET, gettid(), ##arg)
+#define PARAM_CHECK(fmt, arg...) LOGD_IF(TRUE, LOG_COLOR_YELLOW"[TID:%d] "fmt""LOG_COLOR_RESET, gettid(), ##arg)
+#define EVENT_TRACE(fmt, arg...) LOGW_IF(TRUE, LOG_COLOR_BLUE"[TID:%d] [MUSIC_PLAYER_EVENT]"fmt""LOG_COLOR_RESET, gettid(), ##arg)
+
+#define SECURE_DEBUG(fmt, args...) SECURE_LOGD("[T:%d] " fmt, gettid(), ##args)
+#define SECURE_INFO(fmt, args...) SECURE_LOGI("[T:%d] " fmt, gettid(), ##args)
+#define SECURE_ERROR(fmt, args...) SECURE_LOGD("[T:%d] " fmt, 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
+# install edj
+ADD_CUSTOM_TARGET(musicwidget.edj
+ COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/images ${EDJE_CFLAGS}
+ ${CMAKE_CURRENT_SOURCE_DIR}/music_widget.edc musicwidget.edj
+ DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/music_widget.edc
+)
+ADD_DEPENDENCIES(${PROJECT_NAME} musicwidget.edj)
+INSTALL(FILES musicwidget.edj DESTINATION ${EDJDIR})
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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;
+ }
+ }//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";
+ 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;
+ min:1 1;
+ align:0.0 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";
+ 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;
+ min:1 1;
+ align:0.0 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 : "track_image";
+ target : "track_title";
+ target : "track_artist_title";
+ target : "track_prev_image";
+ target : "track_play_image";
+ target : "track_next_image";
+ target : "noitems_title";
+ 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 : "track_image";
+ target : "track_title";
+ target : "track_artist_title";
+ target : "track_prev_image";
+ target : "track_play_image";
+ target : "track_next_image";
+ target : "noitems_title";
+ target : "noitems_subtitle";
+ }//end show_music_view
+ }
+ }//end group
+}//end collections
--- /dev/null
+/*
+* Copyright (c) 2000-2015 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_widget.h"
+#include "mp_widget_debug.h"
+#include "mp-common-defs.h"
+#include "mp-resource.h"
+#include "mp-define.h"
+
+#define WIDGET_HEIGHT 500
+#define WIDGET_WIDTH 712
+#define EDJE_FILE "edje/musicwidget.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 "/usr/apps/org.tizen.music-player/shared/res/shared_images/default_albumart.png"
+#define NOW_PLAYING_INI_PATH DATA_PREFIX"/shared/data/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();
+}
+
+void mp_widget_app_get_resource(const char *edj_file_in, char *edj_path_out,
+ int edj_path_max)
+{
+ char *res_path = app_get_resource_path();
+ if (res_path) {
+ snprintf(edj_path_out, edj_path_max, "%s%s", res_path,
+ edj_file_in);
+ }
+ if (res_path)
+ free(res_path);
+}
+
+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);
+ 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 == NULL) {
+ continue;
+ }
+
+ if (!strcmp(key, " ")) {
+ elm_object_signal_emit(layout, "no_music", "elm");
+ 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));
+ 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));
+ image_path[strlen(value)] = '\0';
+
+ if (!strcmp(BROKEN_ALBUMART_IMAGE_PATH, image_path)) {
+ free(image_path);
+ image_path = (char*)malloc((strlen(DEFAULT_ALBUM_ART_ICON) + 1) * sizeof(char));
+ if (image_path != NULL) {
+ strncpy(image_path, DEFAULT_ALBUM_ART_ICON, strlen(DEFAULT_ALBUM_ART_ICON));
+ image_path[strlen(DEFAULT_ALBUM_ART_ICON)] = '\0';
+ }
+ }
+ }
+ }
+ }
+ 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 = (char*)malloc((strlen(DEFAULT_ALBUM_ART_ICON) + 1) * sizeof(char));
+ if (image_path != NULL) {
+ strncpy(image_path, DEFAULT_ALBUM_ART_ICON, strlen(DEFAULT_ALBUM_ART_ICON));
+ image_path[strlen(DEFAULT_ALBUM_ART_ICON)] = '\0';
+ 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)
+{
+ FILE *fp = fopen(NOW_PLAYING_INI_PATH, "w"); /* make new file. */
+
+ if (fp == NULL) {
+ ERROR_TRACE("Failed to open ini files. : %s", NOW_PLAYING_INI_PATH);
+ 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 file(%s)", buffer);
+ 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));
+ 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));
+ 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)) {
+ image_path = (char*)malloc((strlen(DEFAULT_ALBUM_ART_ICON) + 1) * sizeof(char));
+ if (image_path) {
+ strncpy(image_path, DEFAULT_ALBUM_ART_ICON, strlen(DEFAULT_ALBUM_ART_ICON));
+ image_path[strlen(DEFAULT_ALBUM_ART_ICON)] = '\0';
+ 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(void *data)
+{
+ if (!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(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_callback(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_callback(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("start");
+ telephony_call_status_e state = 0;
+ telephony_call_h *call_list_sim1, *call_list_sim2;
+ unsigned int count_sim1, count_sim2;
+ telephony_handle_list_s tel_list;
+ telephony_error_e ret_sim1, ret_sim2;
+
+ 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;
+ }
+
+ ret_sim1 = telephony_call_get_call_list(tel_list.handle[0], &count_sim1, &call_list_sim1);
+ if (ret_sim1 != TELEPHONY_ERROR_NONE) {
+ ERROR_TRACE("Cannot get call list information for primary sim");
+ }
+
+ ret_sim2 = telephony_call_get_call_list(tel_list.handle[1], &count_sim2, &call_list_sim2);
+ if (ret_sim2 != TELEPHONY_ERROR_NONE) {
+ ERROR_TRACE("Cannot get call list information for secondey sim");
+ }
+
+ telephony_call_release_call_list(count_sim1, &call_list_sim1);
+ telephony_call_release_call_list(count_sim2, &call_list_sim2);
+ telephony_deinit(&tel_list);
+
+ if (count_sim1 == 0 && count_sim2 == 0) {
+ return false;
+ } else {
+ 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));
+ 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));
+ 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));
+ 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_callback(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));
+ 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));
+ 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_callback(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));
+ 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));
+ 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_callback(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, 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) {
+ mp_widget_read_ini_file_ecore(wgtdata, NOW_PLAYING_INI_PATH);
+ }
+ }
+ 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,};
+ int fd, wd, dir_size, i = 0;
+ char buffer[EVENT_BUF_LEN] = {0,};
+ Evas_Object *layout = NULL;
+
+ layout = elm_layout_add(data->win);
+ if (!layout) {
+ DEBUG_TRACE("Failed to add layout");
+ return -1;
+ }
+ data->layout = layout;
+
+ mp_widget_app_get_resource(EDJE_FILE, edj_path, (int)PATH_MAX);
+ elm_layout_file_set(layout, edj_path, "mp_widget_main");
+ 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");
+
+ mp_widget_read_ini_file(NOW_PLAYING_INI_PATH, data);
+
+ char *path = NULL;
+ path = g_strdup_printf("%s/shared/data/NowPlayingStatus", DATA_PREFIX);
+ DEBUG_TRACE("path :%s", path);
+ if (data->em == NULL) {
+ data->em = ecore_file_monitor_add(path, __mp_change_multiple_widgets, NULL);
+ }
+
+ elm_object_signal_callback_add(layout, "mouse,down,1",
+ "noitems_subtitle", 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) 2000-2015 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.h>
+#include <widget_errno.h>
+#include <widget_service.h>
+#include <widget_provider_app.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) {
+ DbgPrint("failed to create instance");
+ return WIDGET_ERROR_OUT_OF_MEMORY;
+ }
+
+ bindtextdomain("music-player", "/usr/apps/org.tizen.music-player/res/locale");
+
+ 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) {
+ DbgPrint("failed to create layout");
+ return WIDGET_ERROR_INVALID_PARAMETER;
+ }
+ DbgPrint("Resized to %dx%d\n", w, h);
+
+ 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)
+{
+#if 0
+ if (reason != WIDGET_APP_DESTROY_TYPE_PERMANENT) {
+ // Save the current status at the bundle object.
+ }
+#endif
+ 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)
+{
+ return WIDGET_ERROR_NONE;
+}
+
+int widget_Resume(widget_context_h context, void *data)
+{
+ return WIDGET_ERROR_NONE;
+}
+
+int widget_Resize(widget_context_h context, int w, int h, void *data)
+{
+ 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);
+
+ DbgPrint("Resized to %dx%d\n", w, h);
+
+ return WIDGET_ERROR_NONE;
+}
+
+int widget_Update(widget_context_h context, bundle *content, int force, void *data)
+{
+ return WIDGET_ERROR_NONE;
+}
+
+static void app_language_changed(app_event_info_h event_info, void *data)
+{
+ DbgPrint("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)
+{
+ DbgPrint("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 */