├── .github
└── FUNDING.yml
├── LICENSE
├── META-INF
└── com
│ └── google
│ └── android
│ ├── update-binary
│ └── updater-script
├── README.md
├── acdb.conf
├── action.sh
├── aml.sh
├── arm64-v8a
└── libmagiskpolicy.so
├── armeabi-v7a
└── libmagiskpolicy.so
├── cleaner.sh
├── copy.sh
├── customize.sh
├── function.sh
├── module.prop
├── package.txt
├── post-fs-data.sh
├── sepolicy.rule
├── service.sh
├── system.prop
├── system
├── etc
│ ├── dlb-default.xml
│ └── sysconfig
│ │ └── config-com.atmos.xml
├── priv-app
│ └── Atmos
│ │ └── Atmos.apk
└── vendor
│ └── lib
│ ├── libstdcda.so
│ └── soundfx
│ └── libdlbatmos.so
├── uninstall.sh
├── x86
└── libmagiskpolicy.so
└── x86_64
└── libmagiskpolicy.so
/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | # These are supported funding model platforms
2 |
3 | github: reiryuki # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
4 | patreon: # Replace with a single Patreon username
5 | open_collective: # Replace with a single Open Collective username
6 | ko_fi: reiryuki # Replace with a single Ko-fi username
7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
9 | liberapay: reiryuki # Replace with a single Liberapay username
10 | issuehunt: # Replace with a single IssueHunt username
11 | otechie: # Replace with a single Otechie username
12 | lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
13 | custom: https://www.paypal.me/reiryuki # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
14 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2021 reiryuki
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/META-INF/com/google/android/update-binary:
--------------------------------------------------------------------------------
1 | #!/sbin/sh
2 |
3 | #################
4 | # Initialization
5 | #################
6 |
7 | umask 022
8 |
9 | # echo before loading util_functions
10 | ui_print() { echo "$1"; }
11 |
12 | require_new_magisk() {
13 | ui_print "*******************************"
14 | ui_print " Please install Magisk v20.4+! "
15 | ui_print "*******************************"
16 | exit 1
17 | }
18 |
19 | #########################
20 | # Load util_functions.sh
21 | #########################
22 |
23 | OUTFD=$2
24 | ZIPFILE=$3
25 |
26 | mount /data 2>/dev/null
27 |
28 | [ -f /data/adb/magisk/util_functions.sh ] || require_new_magisk
29 | . /data/adb/magisk/util_functions.sh
30 | [ $MAGISK_VER_CODE -lt 20400 ] && require_new_magisk
31 |
32 | install_module
33 | exit 0
34 |
--------------------------------------------------------------------------------
/META-INF/com/google/android/updater-script:
--------------------------------------------------------------------------------
1 | #MAGISK
2 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Dolby Atmos Magic Revision Magisk Module
2 |
3 | ## DISCLAIMER
4 | - Dolby apps and blobs are owned by Dolby™.
5 | - The MIT license specified here is for the Magisk Module only, not for Dolby apps and blobs.
6 |
7 | ## Descriptions
8 | - Dolby Surround equalizer sound effect ported and integrated as a Magisk Module for all supported and rooted devices with Magisk
9 | - Global type sound effect
10 |
11 | ## Sources
12 | - Dolby Magic MD2 Magisk Module by Little Monk
13 | - https://apkmirror.com com.dolby DAX1-1.9.3_r1 by HTC Corporation
14 | - libmagiskpolicy.so: Kitsune Mask R6687BB53
15 |
16 | ## Screenshots
17 | - https://t.me/androidryukimodsdiscussions/78576
18 |
19 | ## Requirements
20 | - armeabi-v7a or arm64-v8a architecture
21 | - 32 bit audio service (this also can be found in 64 bit ROM with 32 bit support, not only 32 bit ROM)
22 | - Android 4.2 (SDK 17) and up
23 | - Magisk or KernelSU installed
24 |
25 | ## Installation Guide & Download Link
26 | - Install this module https://www.pling.com/p/1610004/ via Magisk app or KernelSU app or Recovery if Magisk installed
27 | - Install AML Magisk Module https://t.me/ryukinotes/34 only if using any other else audio mod module
28 | - If you are using KernelSU, you need to disable Unmount Modules by Default in KernelSU app settings
29 | - Reboot
30 | - If you are using KernelSU, you need to allow superuser list manually all package name listed in package.txt (and your home launcher app also) (enable show system apps) and reboot afterwards
31 | - If you are using SUList, you need to allow list manually your home launcher app (enable show system apps) and reboot afterwards
32 | - If you have sensors issue (fingerprint, proximity, gyroscope, etc), then READ Optionals bellow!
33 |
34 | ## Optionals
35 | - https://t.me/ryukinotes/8
36 | - Global: https://t.me/ryukinotes/35
37 | - Stream: https://t.me/ryukinotes/52
38 |
39 | ## Troubleshootings
40 | - https://t.me/ryukinotes/11
41 | - Global: https://t.me/ryukinotes/34
42 |
43 | ## Support & Bug Report
44 | - https://t.me/ryukinotes/54
45 | - If you don't do above, issues will be closed immediately
46 |
47 | ## Credits and Contributors
48 | - @HuskyDG
49 | - https://t.me/viperatmos
50 | - https://t.me/androidryukimodsdiscussions
51 | - You can contribute ideas about this Magisk Module here: https://t.me/androidappsportdevelopment
52 |
53 | ## Sponsors
54 | - https://t.me/ryukinotes/25
55 |
56 |
57 |
--------------------------------------------------------------------------------
/acdb.conf:
--------------------------------------------------------------------------------
1 |
2 | # Audio Configuration Database
3 | # gh
4 |
5 |
6 | # acdb.conf is a module configuration file sourced by the ACDB module to add or remove the configuration of libraries and effects included in this module - determined by the status of a Magisk module being installed, disabled, or enabled.
7 |
8 |
9 | # Simply insert the appropriate value for the required parameters below for consistent results:
10 |
11 |
12 | # Required:
13 |
14 | libraryid=dlbatmos
15 | libraryname=libdlbatmos.so
16 |
17 | effectid=dlbatmos
18 | effectuuid=9d4921da-8225-4f29-aefa-39537a041337
19 |
20 |
21 | # Optional:
22 |
23 | musicstream=
24 |
25 |
--------------------------------------------------------------------------------
/action.sh:
--------------------------------------------------------------------------------
1 | MODPATH=${0%/*}
2 |
3 | # info
4 | echo "- Apps caches from this module will be re-cleaned"
5 | echo " at the next boot."
6 | echo " "
7 |
8 | # rename
9 | FILE=$MODPATH/cleaner.sh
10 | if [ -f $FILE.txt ]; then
11 | mv -f $FILE.txt $FILE
12 | fi
13 |
14 |
15 |
--------------------------------------------------------------------------------
/aml.sh:
--------------------------------------------------------------------------------
1 | [ ! "$MODPATH" ] && MODPATH=${0%/*}
2 | [ ! "$API" ] && API=`getprop ro.build.version.sdk`
3 |
4 | # destination
5 | if [ ! "$libdir" ]; then
6 | if [ "$API" -ge 26 ]; then
7 | libdir=/vendor
8 | else
9 | libdir=/system
10 | fi
11 | fi
12 | MODAECS=`find $MODPATH -type f -name *audio*effects*.conf`
13 | MODAEXS=`find $MODPATH -type f -name *audio*effects*.xml`
14 | MODAPS=`find $MODPATH -type f -name *policy*.conf -o -name *policy*.xml`
15 |
16 | # function
17 | archdir() {
18 | if [ -f $libdir/lib/soundfx/$LIB ]\
19 | || [ -f $MODPATH/system$libdir/lib/soundfx/$LIB ]\
20 | || [ -f $MODPATH$libdir/lib/soundfx/$LIB ]; then
21 | ARCHDIR=/lib
22 | elif [ -f $libdir/lib64/soundfx/$LIB ]\
23 | || [ -f $MODPATH/system$libdir/lib64/soundfx/$LIB ]\
24 | || [ -f $MODPATH$libdir/lib64/soundfx/$LIB ]; then
25 | ARCHDIR=/lib64
26 | else
27 | unset ARCHDIR
28 | fi
29 | }
30 | remove_conf() {
31 | for RMV in $RMVS; do
32 | sed -i "s|$RMV|removed|g" $MODAEC
33 | done
34 | sed -i 's|path /vendor/lib/soundfx/removed||g' $MODAEC
35 | sed -i 's|path /system/lib/soundfx/removed||g' $MODAEC
36 | sed -i 's|path /vendor/lib/removed||g' $MODAEC
37 | sed -i 's|path /system/lib/removed||g' $MODAEC
38 | sed -i 's|path /vendor/lib64/soundfx/removed||g' $MODAEC
39 | sed -i 's|path /system/lib64/soundfx/removed||g' $MODAEC
40 | sed -i 's|path /vendor/lib64/removed||g' $MODAEC
41 | sed -i 's|path /system/lib64/removed||g' $MODAEC
42 | sed -i 's|library removed||g' $MODAEC
43 | sed -i 's|uuid removed||g' $MODAEC
44 | sed -i "/^ removed {/ {;N s/ removed {\n }//}" $MODAEC
45 | sed -i 's|removed { }||g' $MODAEC
46 | sed -i 's|removed {}||g' $MODAEC
47 | }
48 | remove_xml() {
49 | for RMV in $RMVS; do
50 | sed -i "s|\"$RMV\"|\"removed\"|g" $MODAEX
51 | done
52 | sed -i 's|||g' $MODAEX
53 | sed -i 's|||g' $MODAEX
54 | sed -i 's|||g' $MODAEX
55 | sed -i 's|||g' $MODAEX
56 | sed -i 's|||g' $MODAEX
57 | sed -i 's|||g' $MODAEX
58 | sed -i 's|||g' $MODAEX
59 | sed -i 's|||g' $MODAEX
60 | sed -i 's|||g' $MODAEX
61 | sed -i 's|||g' $MODAEX
62 | sed -i 's|||g' $MODAEX
63 | sed -i 's|||g' $MODAEX
64 | sed -i 's|||g' $MODAEX
65 | sed -i 's|||g' $MODAEX
66 | }
67 |
68 | # store
69 | RMVS="ring_helper alarm_helper music_helper voice_helper
70 | notification_helper ma_ring_helper ma_alarm_helper
71 | ma_music_helper ma_voice_helper ma_system_helper
72 | ma_notification_helper sa3d fens lmfv dirac dtsaudio
73 | dlb_music_listener dlb_ring_listener dlb_alarm_listener
74 | dlb_system_listener dlb_notification_listener"
75 |
76 | # setup audio effects conf
77 | for MODAEC in $MODAECS; do
78 | for RMV in $RMVS; do
79 | sed -i "/^ $RMV {/ {;N s/ $RMV {\n }//}" $MODAEC
80 | sed -i "s|$RMV { }||g" $MODAEC
81 | sed -i "s|$RMV {}||g" $MODAEC
82 | done
83 | if ! grep -q '^output_session_processing {' $MODAEC; then
84 | sed -i '$a\
85 | \
86 | output_session_processing {\
87 | music {\
88 | }\
89 | ring {\
90 | }\
91 | alarm {\
92 | }\
93 | system {\
94 | }\
95 | voice_call {\
96 | }\
97 | notification {\
98 | }\
99 | bluetooth_sco {\
100 | }\
101 | dtmf {\
102 | }\
103 | enforced_audible {\
104 | }\
105 | accessibility {\
106 | }\
107 | tts {\
108 | }\
109 | assistant {\
110 | }\
111 | call_assistant {\
112 | }\
113 | patch {\
114 | }\
115 | rerouting {\
116 | }\
117 | }\' $MODAEC
118 | else
119 | if ! grep -q '^ rerouting {' $MODAEC; then
120 | sed -i "/^output_session_processing {/a\ rerouting {\n }" $MODAEC
121 | fi
122 | if ! grep -q '^ patch {' $MODAEC; then
123 | sed -i "/^output_session_processing {/a\ patch {\n }" $MODAEC
124 | fi
125 | if ! grep -q '^ call_assistant {' $MODAEC; then
126 | sed -i "/^output_session_processing {/a\ call_assistant {\n }" $MODAEC
127 | fi
128 | if ! grep -q '^ assistant {' $MODAEC; then
129 | sed -i "/^output_session_processing {/a\ assistant {\n }" $MODAEC
130 | fi
131 | if ! grep -q '^ tts {' $MODAEC; then
132 | sed -i "/^output_session_processing {/a\ tts {\n }" $MODAEC
133 | fi
134 | if ! grep -q '^ accessibility {' $MODAEC; then
135 | sed -i "/^output_session_processing {/a\ accessibility {\n }" $MODAEC
136 | fi
137 | if ! grep -q '^ enforced_audible {' $MODAEC; then
138 | sed -i "/^output_session_processing {/a\ enforced_audible {\n }" $MODAEC
139 | fi
140 | if ! grep -q '^ dtmf {' $MODAEC; then
141 | sed -i "/^output_session_processing {/a\ dtmf {\n }" $MODAEC
142 | fi
143 | if ! grep -q '^ bluetooth_sco {' $MODAEC; then
144 | sed -i "/^output_session_processing {/a\ bluetooth_sco {\n }" $MODAEC
145 | fi
146 | if ! grep -q '^ notification {' $MODAEC; then
147 | sed -i "/^output_session_processing {/a\ notification {\n }" $MODAEC
148 | fi
149 | if ! grep -q '^ voice_call {' $MODAEC; then
150 | sed -i "/^output_session_processing {/a\ voice_call {\n }" $MODAEC
151 | fi
152 | if ! grep -q '^ system {' $MODAEC; then
153 | sed -i "/^output_session_processing {/a\ system {\n }" $MODAEC
154 | fi
155 | if ! grep -q '^ alarm {' $MODAEC; then
156 | sed -i "/^output_session_processing {/a\ alarm {\n }" $MODAEC
157 | fi
158 | if ! grep -q '^ ring {' $MODAEC; then
159 | sed -i "/^output_session_processing {/a\ ring {\n }" $MODAEC
160 | fi
161 | if ! grep -q '^ music {' $MODAEC; then
162 | sed -i "/^output_session_processing {/a\ music {\n }" $MODAEC
163 | fi
164 | fi
165 | done
166 |
167 | # setup audio effects xml
168 | for MODAEX in $MODAEXS; do
169 | for RMV in $RMVS; do
170 | sed -i "s|||g" $MODAEX
171 | sed -i "s|||g" $MODAEX
172 | done
173 | if ! grep -q '' $MODAEX\
174 | || grep -q '
43 |
44 | aobf=[43, 129, 215, 301, 431, 603, 775, 947, 1206, 1550, 2067, 2756, 3618, 4651, 5685, 7063, 8958, 11025, 13781, 18777] aobg=[2, 1, 0, 274, 136, 196, 119, 87, 55, 68, 118, 63, 51, 166, 155, 59, -35, -79, -22, 1, 1, 3, 1, 0, 274, 136, 196, 119, 89, 59, 70, 118, 63, 51, 167, 154, 58, -37, -80, -23, 1, 1] arbf=[43, 129, 215, 301, 431, 603, 775, 947, 1206, 1550, 2067, 2756, 3618, 4651, 5685, 7063, 8958, 11025, 13781, 18777] arbh=[-960, -960, -346, -448, -402, -422, -422, -392, -232, -252, -482, -412, -330, -458, -420, -270, -346, -320, -960, -960] arbl=[-960, -960, -538, -640, -594, -614, -614, -584, -424, -444, -674, -604, -522, -650, -612, -462, -538, -512, -960, -960] arbi=[1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1] arod=[0] artp=[15] dssa=[10]
45 |
46 |
47 | aocc=[2] aonb=[20] arnb=[20] dvli=[-320] dvlo=[-320] dvmc=[0] gebf=[43, 129, 215, 301, 431, 603, 775, 947, 1206, 1550, 2067, 2756, 3618, 4651, 5685, 7063, 8958, 11025, 13781, 18777] genb=[20] iebf=[65, 136, 223, 332, 467, 634, 841, 1098, 1416, 1812, 2302, 2909, 3663, 4598, 5756, 7194, 8976, 11186, 13927, 17326] ienb=[20]
48 |
49 |
50 | true
51 | true
52 | true
53 | true
54 | true
55 | true
56 | true
57 | true
58 | true
59 |
60 |
--------------------------------------------------------------------------------
/system/etc/sysconfig/config-com.atmos.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/system/priv-app/Atmos/Atmos.apk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reiryuki/Dolby-Atmos-MagicRevision-Magisk-Module/8d0abc006b0ed269ee2a459c176a25f82dd01f8a/system/priv-app/Atmos/Atmos.apk
--------------------------------------------------------------------------------
/system/vendor/lib/libstdcda.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reiryuki/Dolby-Atmos-MagicRevision-Magisk-Module/8d0abc006b0ed269ee2a459c176a25f82dd01f8a/system/vendor/lib/libstdcda.so
--------------------------------------------------------------------------------
/system/vendor/lib/soundfx/libdlbatmos.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reiryuki/Dolby-Atmos-MagicRevision-Magisk-Module/8d0abc006b0ed269ee2a459c176a25f82dd01f8a/system/vendor/lib/soundfx/libdlbatmos.so
--------------------------------------------------------------------------------
/uninstall.sh:
--------------------------------------------------------------------------------
1 | mount -o rw,remount /data
2 | [ ! "$MODPATH" ] && MODPATH=${0%/*}
3 | [ ! "$MODID" ] && MODID=`basename "$MODPATH"`
4 | UID=`id -u`
5 | [ ! "$UID" ] && UID=0
6 |
7 | # log
8 | exec 2>/data/adb/$MODID\_uninstall.log
9 | set -x
10 |
11 | # run
12 | . $MODPATH/function.sh
13 |
14 | # cleaning
15 | remove_cache
16 | PKGS=`cat $MODPATH/package.txt`
17 | for PKG in $PKGS; do
18 | rm -rf /data/user*/"$UID"/$PKG
19 | done
20 | remove_sepolicy_rule
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/x86/libmagiskpolicy.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reiryuki/Dolby-Atmos-MagicRevision-Magisk-Module/8d0abc006b0ed269ee2a459c176a25f82dd01f8a/x86/libmagiskpolicy.so
--------------------------------------------------------------------------------
/x86_64/libmagiskpolicy.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reiryuki/Dolby-Atmos-MagicRevision-Magisk-Module/8d0abc006b0ed269ee2a459c176a25f82dd01f8a/x86_64/libmagiskpolicy.so
--------------------------------------------------------------------------------