Jump to content

[Tuto-Dev] Intégration DTS Sound


Recommended Posts

Je vous présente mon tuto pour intégrer nativement le DTS sur les roms custom. (et peu servir pour les autres Acer avec le DTS, il faudra juste revoir les drivers / licence DTS, mais ce tuto est destiné principalement au E2)

Pré-requis :
-Apk Tool 2.0
-Rom KitKat (une basée sur les sources Mediatek)
-Un peu d'expérience (smali, const public...), patience, être un minimum débrouillard
-Notepad++ (ou autre)
-7-Zip

-Téléchargez le "Pack-Settings-DTS"

-"Pack-System-DTS" (a la fin du tuto)


Étape 1 :

-Installer le framework-res ainsi que celui de Mediatek dans Apk tool (plus les autres framework selon la rom)
-Décompiler Settings.apk
-Ajouter -2 dans apktool.yml (voir -9 ou -10 selon la rom)

  ids:
  - 1
  - 2

-Décompresser le pack "Pack-Settings-DTS.7z" dans votre Settings décompilé auparavant

-Ouvrez le fichier settings_headers.xml dans /res/xml et ajoutez cette ligne, enregistrez

<header android:icon="@drawable/ic_settings_srs" android:id="@id/srs_settings" android:title="@string/srs_settings" android:fragment="com.android.settings.SrsSettings" />

après <header android:icon="@drawable/ic_settings_sound" android:id="@id/sound_settings" android:title="@string/sound_settings" android:fragment="com.mediatek.audioprofile.RingerVolumePreference" />.

 

-Ouvrez le fichier strings.xml dans /res/values et ajoutez ces entrées (il faut qu'elles soit comprises entre <resources> </resources>), enregistrez.

    <string name="srs_settings">DTS Studio Sound</string>
    <string name="srs_sound_enable">DTS Studio Sound</string>
    <string name="treble">Treble</string>
    <string name="bass">Bass</string>
    <string name="music_eq">Music EQ</string>
    <string name="music_eq_summary">%1$s</string>
    <string name="video_eq">Video EQ</string>
    <string name="video_eq_summary">%1$s</string>
    <string name="srs_musiceq_entries_flat">Flat</string>
    <string name="srs_musiceq_entries_classical">Classical</string>
    <string name="srs_musiceq_entries_dance">Dance</string>
    <string name="srs_musiceq_entries_jazz">Jazz</string>
    <string name="srs_musiceq_entries_pop">Pop</string>
    <string name="srs_musiceq_entries_rock">Rock</string>
    <string name="srs_videoeq_entries_flat">Flat</string>
    <string name="srs_videoeq_entries_drama">Drama</string>
    <string name="srs_videoeq_entries_action">Action</string>
    <string name="srs_videoeq_entries_mtv">MTV</string>

-Ouvrez le fichier strings.xml dans /res/values-fr (ou autres langues, adaptez selon vos besoins, étape facultative) et ajoutez ces entrées (il faut qu'elles soit comprises entre <resources> </resources>), enregistrez.

    <string name="srs_settings">Amélioration son DTS</string>
    <string name="srs_sound_enable">Activer DTS</string>
    <string name="treble">Aigus</string>
    <string name="bass">Basses</string>
    <string name="music_eq">EQ Musical</string>
    <string name="video_eq">EQ vidéo</string>

-Ouvrez le fichier arrays.xml dans /res/values et ajoutez ces entrées, (il faut qu'elles soit comprises entre <resources> </resources>), enregistrez.

    <string-array name="srs_musiceq_entries">
        <item>@string/srs_musiceq_entries_flat</item>
        <item>@string/srs_musiceq_entries_classical</item>
        <item>@string/srs_musiceq_entries_dance</item>
        <item>@string/srs_musiceq_entries_jazz</item>
        <item>@string/srs_musiceq_entries_pop</item>
        <item>@string/srs_musiceq_entries_rock</item>
    </string-array>
    <string-array name="srs_musiceq_values">
        <item>0</item>
        <item>1</item>
        <item>2</item>
        <item>3</item>
        <item>4</item>
        <item>5</item>
    </string-array>
    <string-array name="srs_videoeq_entries">
        <item>@string/srs_videoeq_entries_flat</item>
        <item>@string/srs_videoeq_entries_drama</item>
        <item>@string/srs_videoeq_entries_action</item>
        <item>@string/srs_videoeq_entries_mtv</item>
    </string-array>
    <string-array name="srs_videoeq_values">
        <item>0</item>
        <item>7</item>
        <item>8</item>
        <item>9</item>
    </string-array>

Compilez Settings.apk, il ne devrait pas avoir d'erreur, donc se compiler normalement.

Étape 2 :

- Ré-décompilez Settings.apk (celui qui viens d'être compilé a l'instant!), le compilateur a créé les valeurs SRS/Dts dans public.xml
- Répétez l'opération pour le apktool.yml

- Récupérer la valeur du <public type="xml" name="srs_settings" (public.xml), remplacez la valeur du smali SrsSettings.smali (ligne 1176) par la valeur du public.xml, enregistrez le smali

- Récupérer la valeur du <public type="drawable" name="ic_settings_srs" (public.xml), remplacez la valeur du smali SrsBassPreference.smali (ligne 166) par la valeur du public.xml, enregistrez le smali édité

- Récupérer la valeur du <public type="drawable" name="ic_settings_srs" (public.xml), remplacez la valeur du smali SrsTreblePreference.smali (ligne 166) par la valeur du public.xml, enregistrez le smali édité

 

- Recompiler Settings.apk !

 

Étapes facultatives mais conseillées : (selon votre ROM si protection signature système activée ou pas, selon votre compilateur etc...)

- Décompressez avec 7-Zip le Settings.apk (l'initial sans modification)

- Ouvrez avec 7-Zip le dernier APK compilé et glisser le dossier META-INF et le fichier AndroidManifest.xml

 

Étape 3 :

 

- Insérer votre nouvel APK dans priv-app (adb ou zip flash)

- Téléchargez le pack Pack-System-DTS.zip (adb des fichiers ou zip flash); ce pack inclus la licence DTS du E2 JB (vérifiez bien que le nom du tél est bien V370 dans build.prop) et les LIB (drivers). Il se peu qu'il y est des lib "en trop", à vous de voir si vous trouvez celles qui ne sont pas obligées à remplacer si vous trouvez des libs en trop, faites le moi savoir svp.

 

 

Faites un retour.

Testé avec succès sur la rom KK AOSP MTK portée par Superdroid ;)

Je pense pas que ça fonctionne sur les Cyanogen car les libs sont différentes vu que les roms Cyanogen ne sont pas basée sur les codes Mediatek. A voir sur les MIUI (qui elles sont basée sur le code MTK, car MIUI existe officiellement pour les MTK, Redmi 1 par exemple)

Edited by Maͳx
  • Like 2
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...