Compare commits

..

6 commits

9 changed files with 845 additions and 680 deletions

View file

@ -1,293 +1,281 @@
package mg.dot.feufaro.data package mg.dot.feufaro.data
private val LISTE_FICHIERS_SOLFA = listOf(
"480.txt",
"ews-10.txt",
"ews-11.txt",
"ews-12.txt",
"ews-13.txt",
"ews-14.txt",
"ews-15.txt",
"ews-16.txt",
"ews-179.txt",
"ews-17.txt",
"ews-18.txt",
"ews-190.txt",
"ews-19.txt",
"ews-1.txt",
"ews-20.txt",
"ews-21.txt",
"ews-22.txt",
"ews-23.txt",
"ews-24.txt",
"ews-25-1.txt",
"ews-25-2.txt",
"ews-26-1.txt",
"ews-26-2.txt",
"ews-27.txt",
"ews-28.txt",
"ews-29.txt",
"ews-2.txt",
"ews-30-1.txt",
"ews-30-2.txt",
"ews-31.txt",
"ews-32.txt",
"ews-33.txt",
"ews-34.txt",
"ews-351-1.txt",
"ews-35.txt",
"ews-36.txt",
"ews-37.txt",
"ews-38.txt",
"ews-39.txt",
"ews-3.txt",
"ews-40.txt",
"ews-41.txt",
"ews-42.txt",
"ews-43.txt",
"ews-443.txt",
"ews-44.txt",
"ews-456.txt",
"ews-45.txt",
"ews-46.txt",
"ews-47.txt",
"ews-4.txt",
"ews-5.txt",
"ews-66.txt",
"ews-6.txt",
"ews-7.txt",
"ews-89.txt",
"ews-8.txt",
"ews-999.txt",
"ews-9.txt",
"ff-33.txt",
"ff-43.txt",
"ff-7.txt",
"ff-8.txt",
"ff-9.txt",
"ffmp-16.txt",
"ffpm-100.txt",
"ffpm-101.txt",
"ffpm-103.txt",
"ffpm-105.txt",
"ffpm-106.txt",
"ffpm-110.txt",
"ffpm-111.txt",
"ffpm-118.txt",
"ffpm-12-1.txt",
"ffpm-12-2.txt",
"ffpm-123.txt",
"ffpm-126.txt",
"ffpm-127.txt",
"ffpm-129.txt",
"ffpm-1-2.txt",
"ffpm-131.txt",
"ffpm-132.txt",
"ffpm-133.txt",
"ffpm-134.txt",
"ffpm-136.txt",
"ffpm-137.txt",
"ffpm-140-1.txt",
"ffpm-140-2.txt",
"ffpm-141.txt",
"ffpm-14.txt",
"ffpm-153.txt",
"ffpm-154.txt",
"ffpm-155.txt",
"ffpm-157.txt",
"ffpm-160.txt",
"ffpm-161.txt",
"ffpm-163.txt",
"ffpm-164.txt",
"ffpm-165.txt",
"ffpm-166-new.txt",
"ffpm-166.txt",
"ffpm-16.txt",
"ffpm-170.txt",
"ffpm-172-1.txt",
"ffpm-172-2.txt",
"ffpm-175.txt",
"ffpm-178.txt",
"ffpm-179.txt",
"ffpm-17.txt",
"ffpm-180.txt",
"ffpm-189.txt",
"ffpm-190.txt",
"ffpm-191.txt",
"ffpm-192.txt",
"ffpm-194.txt",
"ffpm-195-1.txt",
"ffpm-195-2.txt",
"ffpm-198.txt",
"ffpm-199.txt",
"ffpm-19.txt",
"ffpm-202.txt",
"ffpm-203.txt",
"ffpm-204.txt",
"ffpm-209.txt",
"ffpm-20.txt",
"ffpm-210.txt",
"ffpm-211.txt",
"ffpm-212.txt",
"ffpm-213.txt",
"ffpm-214.txt",
"ffpm-21.txt",
"ffpm-220.txt",
"ffpm-221.txt",
"ffpm-222.txt",
"ffpm-223.txt",
"ffpm-224.txt",
"ffpm-225.txt",
"ffpm-229.txt",
"ffpm-232.txt",
"ffpm-233.txt",
"ffpm-236.txt",
"ffpm-237.txt",
"ffpm-238-1.txt",
"ffpm-238-2.txt",
"ffpm-239-1.txt",
"ffpm-239-2.txt",
"ffpm-249.txt",
"ffpm-250-1.txt",
"ffpm-250-2.txt",
"ffpm-251.txt",
"ffpm-253.txt",
"ffpm-254.txt",
"ffpm-255.txt",
"ffpm-256.txt",
"ffpm-257-1.txt",
"ffpm-257-2.txt",
"ffpm-259.txt",
"ffpm-260.txt",
"ffpm-263.txt",
"ffpm-269.txt",
"ffpm-270.txt",
"ffpm-271.txt",
"ffpm-272.txt",
"ffpm-273.txt",
"ffpm-274.txt",
"ffpm-276.txt",
"ffpm-279.txt",
"ffpm-281.txt",
"ffpm-297.txt",
"ffpm-307.txt",
"ffpm-310.txt",
"ffpm-311.txt",
"ffpm-315.txt",
"ffpm-321.txt",
"ffpm-32.txt",
"ffpm-332.txt",
"ffpm-33.txt",
"ffpm-352.txt",
"ffpm-353-1.txt",
"ffpm-353-2.txt",
"ffpm-357.txt",
"ffpm-358.txt",
"ffpm-35.txt",
"ffpm-367.txt",
"ffpm-381-1.txt",
"ffpm-381-2.txt",
"ffpm-38.txt",
"ffpm-392.txt",
"ffpm-408-1.txt",
"ffpm-408-2.txt",
"ffpm-413.txt",
"ffpm-4-1.txt",
"ffpm-42-1.txt",
"ffpm-42-2.txt",
"ffpm-428.txt",
"ffpm-4-2.txt",
"ffpm-43.txt",
"ffpm-440-1.txt",
"ffpm-444-1.txt",
"ffpm-444-2.txt",
"ffpm-449.txt",
"ffpm-44.txt",
"ffpm-46.txt",
"ffpm-47.txt",
"ffpm-483.txt",
"ffpm-489.txt",
"ffpm-490.txt",
"ffpm-49-1.txt",
"ffpm-49-2.txt",
"ffpm-501.txt",
"ffpm-503.txt",
"ffpm-5-1.txt",
"ffpm-51.txt",
"ffpm-5-2.txt",
"ffpm-52.txt",
"ffpm-539.txt",
"ffpm-546.txt",
"ffpm-549.txt",
"ffpm-54.txt",
"ffpm-558.txt",
"ffpm-55.txt",
"ffpm-563.txt",
"ffpm-564.txt",
"ffpm-56-new.txt",
"ffpm-56.txt",
"ffpm-57-new.txt",
"ffpm-57.txt",
"ffpm-58.txt",
"ffpm-603-1.txt",
"ffpm-603-2.txt",
"ffpm-610.txt",
"ffpm-611-1.txt",
"ffpm-611-2.txt",
"ffpm-616.txt",
"ffpm-61.txt",
"ffpm-626.txt",
"ffpm-636.txt",
"ffpm-640.txt",
"ffpm-642-1.txt",
"ffpm-642-2.txt",
"ffpm-653.txt",
"ffpm-674.txt",
"ffpm-69.txt",
"ffpm-6.txt",
"ffpm-705-2.txt",
"ffpm-71.txt",
"ffpm-725.txt",
"ffpm-726-1.txt",
"ffpm-726-2.txt",
"ffpm-729.txt",
"ffpm-72.txt",
"ffpm-733.txt",
"ffpm-734.txt",
"ffpm-735.txt",
"ffpm-737.txt",
"ffpm-750.txt",
"ffpm-75.txt",
"ffpm-760.txt",
"ffpm-79-1.txt",
"ffpm-79-2.txt",
"ffpm-796.txt",
"ffpm-799.txt",
"ffpm-7.txt",
"ffpm-82-1.txt",
"ffpm-82-2.txt",
"ffpm-825.txt",
"ffpm-87.txt",
"ffpm-89.txt",
"ffpm-8.txt",
"ffpm-91.txt",
"ffpm-93.txt",
"ffpm-94.txt",
"ffpm-97-1.txt",
"ffpm-97-2.txt",
"ffpm-9.txt"
)
private const val ASSET_PREFIX = "assets://"
actual fun getDrawerItems(): List<DrawerItem> { actual fun getDrawerItems(): List<DrawerItem> {
return LISTE_FICHIERS_SOLFA.mapIndexed { index, fileName -> return listOf(
val titleWithoutExtension = fileName.removeSuffix(".txt") DrawerItem(1, "480", "FFPM-480 - Mamin'ny foko, ry Jeso ô!", "assets://480.txt"),
DrawerItem(2, "ews-10", "EWS 10 All creatures worship God most high", "assets://ews-10.txt"),
DrawerItem( DrawerItem(3, "ews-11", "All Glory, Laud, and Honor", "assets://ews-11.txt"),
id = index + 1, DrawerItem(4, "ews-12", "EWS 12 All Hail the Power of Jesus Name", "assets://ews-12.txt"),
title = titleWithoutExtension, DrawerItem(5, "ews-13", "EWS 13 O for a thousand tongues to sing", "assets://ews-13.txt"),
path = ASSET_PREFIX + fileName DrawerItem(6, "ews-14", "EWS 14 Holy, Holy, Holy, Lord God of Hosts", "assets://ews-14.txt"),
DrawerItem(7, "ews-15", "EWS 15 With Hearts In Love Abounding", "assets://ews-15.txt"),
DrawerItem(8, "ews-16", "Sans titre", "assets://ews-16.txt"),
DrawerItem(9, "ews-179", "EWS 179 Zion's King shall reign victorious", "assets://ews-179.txt"),
DrawerItem(10, "ews-17", "Sans titre", "assets://ews-17.txt"),
DrawerItem(11, "ews-18", "EWS 18 How lovely, how divinely sweet", "assets://ews-18.txt"),
DrawerItem(12, "ews-190", "EWS 190 O Lord, thy benediction give", "assets://ews-190.txt"),
DrawerItem(13, "ews-19", "EWS 19 My heart its incense burning", "assets://ews-19.txt"),
DrawerItem(14, "ews-1", "EWS 1 - From all that dwell below the sky", "assets://ews-1.txt"),
DrawerItem(15, "ews-20", "EWS 20 The God of Abraham praise", "assets://ews-20.txt"),
DrawerItem(16, "ews-21", "EWS 21 Sing, choirs of new Jerusalem", "assets://ews-21.txt"),
DrawerItem(17, "ews-22", "EWS 22 My God I thank Thee", "assets://ews-22.txt"),
DrawerItem(18, "ews-23", "EWS 23 The spacious firmament on high", "assets://ews-23.txt"),
DrawerItem(19, "ews-24", "EWS 24 When the mists have rolled in splendor", "assets://ews-24.txt"),
DrawerItem(20, "ews-25-1", "EWS 25 (1) Pleasant are Thy courts above", "assets://ews-25-1.txt"),
DrawerItem(21, "ews-25-2", "EWS 25 (2) Pleasant are Thy courts above", "assets://ews-25-2.txt"),
DrawerItem(22, "ews-26-1", "EWS 26 (1) Praise ye the Lord; tis good to raise", "assets://ews-26-1.txt"),
DrawerItem(23, "ews-26-2", "EWS 26 (2) Praise ye the Lord; tis good to raise", "assets://ews-26-2.txt"),
DrawerItem(24, "ews-27", "EWS 27 I'll praise my Maker", "assets://ews-27.txt"),
DrawerItem(25, "ews-28", "EWS 28 We have found the way to Heaven", "assets://ews-28.txt"),
DrawerItem(26, "ews-29", "EWS 29 How lovely is your dwelling place", "assets://ews-29.txt"),
DrawerItem(27, "ews-2", "EWS 2 - My God how wonderful Thy are", "assets://ews-2.txt"),
DrawerItem(28, "ews-30-1", "EWS 30 (1) Father I stretch my hands to Thee", "assets://ews-30-1.txt"),
DrawerItem(29, "ews-30-2", "EWS 30 (2) Father I stretch my hands to Thee", "assets://ews-30-2.txt"),
DrawerItem(30, "ews-31", "EWS 31 Thy way, not mine, O Lord", "assets://ews-31.txt"),
DrawerItem(31, "ews-32", "EWS 32 Your hand, o Lord, in days of old", "assets://ews-32.txt"),
DrawerItem(32, "ews-33", "EWS 33 Father, whose everlasting love", "assets://ews-33.txt"),
DrawerItem(33, "ews-34", "EWS 34 Lo! the heavens are breaking", "assets://ews-34.txt"),
DrawerItem(34, "ews-351-1", "EWS 351 How blessed is the little flock", "assets://ews-351-1.txt"),
DrawerItem(35, "ews-35", "FFPM 413 Ry Mpamonjy Tompo soa", "assets://ews-35.txt"),
DrawerItem(36, "ews-36", "EWS 36 Come ye thankful people come", "assets://ews-36.txt"),
DrawerItem(37, "ews-37", "EWS 37 I must have the Savior with me", "assets://ews-37.txt"),
DrawerItem(38, "ews-38", "EWS 38 Mighty God while angels bless", "assets://ews-38.txt"),
DrawerItem(39, "ews-39", "EWS 39 - Be still my soul", "assets://ews-39.txt"),
DrawerItem(40, "ews-3", "EWS 3 - Thee, God, we praise", "assets://ews-3.txt"),
DrawerItem(41, "ews-40", "EWS 40 Hold the fort (Ho, my comrades, see the signal)", "assets://ews-40.txt"),
DrawerItem(42, "ews-41", "EWS 41 - Come, Thou long expected Jesus", "assets://ews-41.txt"),
DrawerItem(43, "ews-42", "EWS 42 Lift up your heads, ye mighty gates", "assets://ews-42.txt"),
DrawerItem(44, "ews-43", "EWS 43 O wondrous Name, by prophets", "assets://ews-43.txt"),
DrawerItem(45, "ews-443", "EWS 443 Blessed Jesus, high in glory", "assets://ews-443.txt"),
DrawerItem(46, "ews-44", "EWS 44 If thou hast the skill to reckon", "assets://ews-44.txt"),
DrawerItem(47, "ews-456", "456 - To God Be The Glory", "assets://ews-456.txt"),
DrawerItem(48, "ews-45", "EWS 45 There's a stranger at the door, Let him in", "assets://ews-45.txt"),
DrawerItem(49, "ews-46", "EWS 46 Wake awake for night is flying", "assets://ews-46.txt"),
DrawerItem(50, "ews-47", "EWS 47 O Holy night", "assets://ews-47.txt"),
DrawerItem(51, "ews-4", "EWS 4 - Join the song of saints in glory", "assets://ews-4.txt"),
DrawerItem(52, "ews-5", "EWS 5 - Praise, My Soul, The King Of Heaven", "assets://ews-5.txt"),
DrawerItem(53, "ews-66", "EWS 66 Angels from the realms of glory", "assets://ews-66.txt"),
DrawerItem(54, "ews-6", "EWS 6 - Holy, Holy, Holy", "assets://ews-6.txt"),
DrawerItem(55, "ews-7", "EWS 7 - My Soul Now Praise Your Maker", "assets://ews-7.txt"),
DrawerItem(56, "ews-89", "EWS 89 I gave my life for thee", "assets://ews-89.txt"),
DrawerItem(57, "ews-8", "EWS 8 - Now thank we all our God", "assets://ews-8.txt"),
DrawerItem(58, "ews-999", "EWS 999 Precious Promise (FFPM 97)", "assets://ews-999.txt"),
DrawerItem(59, "ews-9", "EWS 9 The Lord Jehovah reigns (His throne is built on high)", "assets://ews-9.txt"),
DrawerItem(60, "ff-33", "FF 33 Inty Aho Jesoa!", "assets://ff-33.txt"),
DrawerItem(61, "ff-43", "FF 43. Aiza Moa Ianao?", "assets://ff-43.txt"),
DrawerItem(62, "ff-7", "FF 7 Tsy hainay ny hangina", "assets://ff-7.txt"),
DrawerItem(63, "ff-8", "FF 8 Masoko manganohano", "assets://ff-8.txt"),
DrawerItem(64, "ff-9", "FF9 Isaorana anie Jehovah", "assets://ff-9.txt"),
DrawerItem(65, "ffmp-16", "FFPM 16 Avia, ry vazan-tany ô", "assets://ffmp-16.txt"),
DrawerItem(66, "ffpm-100", "FFPM 100 Moa mba efa nisy va", "assets://ffpm-100.txt"),
DrawerItem(67, "ffpm-101", "FFPM 101 Ny Hazo fijaliana, ry Jeso Tomponay", "assets://ffpm-101.txt"),
DrawerItem(68, "ffpm-103", "Sans titre", "assets://ffpm-103.txt"),
DrawerItem(69, "ffpm-105", "FFPM 105 Tsinjovy ilay havoana", "assets://ffpm-105.txt"),
DrawerItem(70, "ffpm-106", "Sans titre", "assets://ffpm-106.txt"),
DrawerItem(71, "ffpm-110", "FFPM 110 Nomeko ho anao", "assets://ffpm-110.txt"),
DrawerItem(72, "ffpm-111", "FFPM 111 Indro ny Mpamonjy", "assets://ffpm-111.txt"),
DrawerItem(73, "ffpm-118", "FFPM 118 Mba jereo ny Zanakondry", "assets://ffpm-118.txt"),
DrawerItem(74, "ffpm-12-1", "FFPM 12 (1) Jehovah ô, derainay Hianao", "assets://ffpm-12-1.txt"),
DrawerItem(75, "ffpm-12-2", "FFPM 12 (2) Jehovah ô, derainay Hianao", "assets://ffpm-12-2.txt"),
DrawerItem(76, "ffpm-123", "FFPM 123 Velona Jesosy", "assets://ffpm-123.txt"),
DrawerItem(77, "ffpm-126", "FFPM 126 Endrey izato hasambarana", "assets://ffpm-126.txt"),
DrawerItem(78, "ffpm-127", "FFPM 127 Tahaka ny masoandro miseho", "assets://ffpm-127.txt"),
DrawerItem(79, "ffpm-129", "FFPM 129 Any naraina, Ilay avotr'aina", "assets://ffpm-129.txt"),
DrawerItem(80, "ffpm-1-2", "FFPM 1 - Andriananahary Masina indrindra", "assets://ffpm-1-2.txt"),
DrawerItem(81, "ffpm-131", "FFPM 151 Tonga ny andro malaza", "assets://ffpm-131.txt"),
DrawerItem(82, "ffpm-132", "FFPM 132 Indro fa velona", "assets://ffpm-132.txt"),
DrawerItem(83, "ffpm-133", "FFPM 133 Efa namangy ny olony", "assets://ffpm-133.txt"),
DrawerItem(84, "ffpm-134", "FFPM 134 Mifaly tokoa ny foko izao", "assets://ffpm-134.txt"),
DrawerItem(85, "ffpm-136", "FFPM 136 Ry Jeso Tompon'aina", "assets://ffpm-136.txt"),
DrawerItem(86, "ffpm-137", "FFPM 137 Vita izao ny fandresena", "assets://ffpm-137.txt"),
DrawerItem(87, "ffpm-140-1", "FFPM 140 (1) Haleloia, Miderà ny Tomponao", "assets://ffpm-140-1.txt"),
DrawerItem(88, "ffpm-140-2", "FFPM 140 (2) Haleloia, Miderà ny Tomponao", "assets://ffpm-140-2.txt"),
DrawerItem(89, "ffpm-141", "FFPM 141 Efa resy izao", "assets://ffpm-141.txt"),
DrawerItem(90, "ffpm-14", "FFPM 14 - O, Ry Tany Rehetra Avia Izao", "assets://ffpm-14.txt"),
DrawerItem(91, "ffpm-153", "FFPM 153 Ao an-dapany Jesosy", "assets://ffpm-153.txt"),
DrawerItem(92, "ffpm-154", "FFPM 154 Izao Jesosy Tompontsika", "assets://ffpm-154.txt"),
DrawerItem(93, "ffpm-155", "FFPM 155 An-tsezam-panjakany", "assets://ffpm-155.txt"),
DrawerItem(94, "ffpm-157", "FFPM 157 Hobio ry tra-bonjy", "assets://ffpm-157.txt"),
DrawerItem(95, "ffpm-160", "FFPM 160 Kristy Mpanjaka", "assets://ffpm-160.txt"),
DrawerItem(96, "ffpm-161", "FFPM 161 Mivelatra eo imasoko", "assets://ffpm-161.txt"),
DrawerItem(97, "ffpm-163", "FFPM 163 He, Jesosy tokintsika", "assets://ffpm-163.txt"),
DrawerItem(98, "ffpm-164", "FFPM 164 Jesosy irery ihany", "assets://ffpm-164.txt"),
DrawerItem(99, "ffpm-165", "FFPM 165 Haleloia! Miderà! Asandrato", "assets://ffpm-165.txt"),
DrawerItem(100, "ffpm-166-new", "FFPM 166 Derao ny Tompo lehibe", "assets://ffpm-166-new.txt"),
DrawerItem(101, "ffpm-166", "FFPM 166 Derao ny Tompo lehibe", "assets://ffpm-166.txt"),
DrawerItem(102, "ffpm-16", "FFPM 16 Avia, ry vazan-tany ô", "assets://ffpm-16.txt"),
DrawerItem(103, "ffpm-170", "FFPM 170 Ry Jeso, ny fitiavanao", "assets://ffpm-170.txt"),
DrawerItem(104, "ffpm-172-1", "FFPM 172 (1) Hoderaiko lalandava", "assets://ffpm-172-1.txt"),
DrawerItem(105, "ffpm-172-2", "FFPM 172 (2) Hoderaiko lalandava", "assets://ffpm-172-2.txt"),
DrawerItem(106, "ffpm-175", "FFPM 175 Avia Fanahy ô, Fanahy Masina ô", "assets://ffpm-175.txt"),
DrawerItem(107, "ffpm-178", "FFPM 178 Avia Fanahy ô, Midìna", "assets://ffpm-178.txt"),
DrawerItem(108, "ffpm-179", "FFPM 179 Ny Fanahy Masina Efa Tonga Tokoa", "assets://ffpm-179.txt"),
DrawerItem(109, "ffpm-17", "FFPM 17 - Haja Sy Voninahitra", "assets://ffpm-17.txt"),
DrawerItem(110, "ffpm-180", "FFPM 180 Ny Tompo raha vao nanao veloma", "assets://ffpm-180.txt"),
DrawerItem(111, "ffpm-189", "FFPM 189 O ry Fanahy Masina ô", "assets://ffpm-189.txt"),
DrawerItem(112, "ffpm-190", "FFPM 190 Ry Fanahy Mpanazava, miandrandra Anao", "assets://ffpm-190.txt"),
DrawerItem(113, "ffpm-191", "FFPM 191 - Ny Teny Sy Fanahinao", "assets://ffpm-191.txt"),
DrawerItem(114, "ffpm-192", "FFPM 192 Andriananahary, Aba Ray", "assets://ffpm-192.txt"),
DrawerItem(115, "ffpm-194", "Sans titre", "assets://ffpm-194.txt"),
DrawerItem(116, "ffpm-195-1", "FFPM 195 (1) Andriamanitra Ray, Loharanon'ny aina", "assets://ffpm-195-1.txt"),
DrawerItem(117, "ffpm-195-2", "FFPM 195 (2) Andriamanitra Ray, Loharanon'ny aina", "assets://ffpm-195-2.txt"),
DrawerItem(118, "ffpm-198", "FFPM 198 Isaoranay Jehovah", "assets://ffpm-198.txt"),
DrawerItem(119, "ffpm-199", "FFPM 199 Misaora, misaora", "assets://ffpm-199.txt"),
DrawerItem(120, "ffpm-19", "FFPM 19 Misaotra Anao, 'zahay izao", "assets://ffpm-19.txt"),
DrawerItem(121, "ffpm-202", "FFPM 202 Ry Ray malala ô", "assets://ffpm-202.txt"),
DrawerItem(122, "ffpm-203", "FFPM 203 Ry Rainay be fitia", "assets://ffpm-203.txt"),
DrawerItem(123, "ffpm-204", "FFPM 204 Mamy ny fitianao, ry Jehovah Tompo ô", "assets://ffpm-204.txt"),
DrawerItem(124, "ffpm-209", "FFPM 209 Jesosy tena kiady", "assets://ffpm-209.txt"),
DrawerItem(125, "ffpm-20", "FFPM 20 Tsaroanay tooka izao", "assets://ffpm-20.txt"),
DrawerItem(126, "ffpm-210", "FFPM 210 Zava-tsoa tokoa ny fitsipikao", "assets://ffpm-210.txt"),
DrawerItem(127, "ffpm-211", "FFPM 211 Ilay boky izay nodorana", "assets://ffpm-211.txt"),
DrawerItem(128, "ffpm-212", "FFPM 212 Velona sy mahery", "assets://ffpm-212.txt"),
DrawerItem(129, "ffpm-213", "FFPM 213 Ry fanahy mangetaheta mila fitsaharana", "assets://ffpm-213.txt"),
DrawerItem(130, "ffpm-214", "FFPM 214 Finaritra ry Tompo ô ny mankafy ny teninao", "assets://ffpm-214.txt"),
DrawerItem(131, "ffpm-21", "FFPM 21 Derao Andriamanitra", "assets://ffpm-21.txt"),
DrawerItem(132, "ffpm-220", "FFPM 220 Ry Jeso Tompo, avotray", "assets://ffpm-220.txt"),
DrawerItem(133, "ffpm-221", "FFPM 221 Mivory eto izahay", "assets://ffpm-221.txt"),
DrawerItem(134, "ffpm-222", "FFPM 222 Ry Lela afo masina", "assets://ffpm-222.txt"),
DrawerItem(135, "ffpm-223", "FFPM 223 Mba avia malakia", "assets://ffpm-223.txt"),
DrawerItem(136, "ffpm-224", "FFPM 224 Tafavory izahay ka manatona Anao", "assets://ffpm-224.txt"),
DrawerItem(137, "ffpm-225", "FFPM 225 Atỳ an-tranonao izao", "assets://ffpm-225.txt"),
DrawerItem(138, "ffpm-229", "FFPM 229 Jesosy ô mba hasoavinao", "assets://ffpm-229.txt"),
DrawerItem(139, "ffpm-232", "FFPM 232 Ny alahady andronao", "assets://ffpm-232.txt"),
DrawerItem(140, "ffpm-233", "FFPM 233 O! Ray malala asehoy", "assets://ffpm-233.txt"),
DrawerItem(141, "ffpm-236", "FFPM 236 Avia Tomponay", "assets://ffpm-236.txt"),
DrawerItem(142, "ffpm-237", "FFPM 237 Ry Jehovah Tomponay", "assets://ffpm-237.txt"),
DrawerItem(143, "ffpm-238-1", "FFPM 238 (1) Mivory eto izahay", "assets://ffpm-238-1.txt"),
DrawerItem(144, "ffpm-238-2", "FFPM 238 (2) Mivory eto izahay", "assets://ffpm-238-2.txt"),
DrawerItem(145, "ffpm-239-1", "FFPM 239 (1) Ry Jeso! Vory izahay", "assets://ffpm-239-1.txt"),
DrawerItem(146, "ffpm-239-2", "FFPM 239 (2) Ry Jeso! Vory izahay", "assets://ffpm-239-2.txt"),
DrawerItem(147, "ffpm-249", "FFPM 249 Tompon'ny lanitra ô! Mba tahio", "assets://ffpm-249.txt"),
DrawerItem(148, "ffpm-250-1", "FFPM 250 (1) Atolotray hatao batisa", "assets://ffpm-250-1.txt"),
DrawerItem(149, "ffpm-250-2", "FFPM 250 (2) Atolotray hatao batisa", "assets://ffpm-250-2.txt"),
DrawerItem(150, "ffpm-251", "FFPM 251 Ry Jeso Zana-Janahary", "assets://ffpm-251.txt"),
DrawerItem(151, "ffpm-253", "FFPM 253 Avia, ry mpanavotra", "assets://ffpm-253.txt"),
DrawerItem(152, "ffpm-254", "FFPM 254 Avia, ry mangetaheta ô,", "assets://ffpm-254.txt"),
DrawerItem(153, "ffpm-255", "FFPM 255 Ny ran'ny Zanak'ondry latsaka", "assets://ffpm-255.txt"),
DrawerItem(154, "ffpm-256", "FFPM 256 Mivoaka ao Golgota", "assets://ffpm-256.txt"),
DrawerItem(155, "ffpm-257-1", "FFPM 257 (1) Ry Jesosy ô! indreto", "assets://ffpm-257-1.txt"),
DrawerItem(156, "ffpm-257-2", "FFPM 257 (2) Ry Jesosy ô! indreto", "assets://ffpm-257-2.txt"),
DrawerItem(157, "ffpm-259", "FFPM 259 Ny latabatrao, ry Jeso", "assets://ffpm-259.txt"),
DrawerItem(158, "ffpm-260", "FFPM 260 Ry Kristy ô! malalako", "assets://ffpm-260.txt"),
DrawerItem(159, "ffpm-263", "FFPM 263 Mandrenesa ry sofina", "assets://ffpm-263.txt"),
DrawerItem(160, "ffpm-269", "FFPM 269 He! tianay ny monina eto", "assets://ffpm-269.txt"),
DrawerItem(161, "ffpm-270", "FFPM 270 Ry Tompo izay nanangona", "assets://ffpm-270.txt"),
DrawerItem(162, "ffpm-271", "FFPM 271 Mba mivavaha raha vao maraina", "assets://ffpm-271.txt"),
DrawerItem(163, "ffpm-272", "FFPM 272 Faly izahay nandre", "assets://ffpm-272.txt"),
DrawerItem(164, "ffpm-273", "FFPM 273 He! vokatra ny tany", "assets://ffpm-273.txt"),
DrawerItem(165, "ffpm-274", "FFPM 274 Tao an-tany karankaina", "assets://ffpm-274.txt"),
DrawerItem(166, "ffpm-276", "FFPM 276 Ry Jehovah, Ray Mpahary", "assets://ffpm-276.txt"),
DrawerItem(167, "ffpm-279", "FFPM 279 Raisonao, ry Tompo soa Izato asan-tananay", "assets://ffpm-279.txt"),
DrawerItem(168, "ffpm-281", "FFPM 281 Vory eto izahay", "assets://ffpm-281.txt"),
DrawerItem(169, "ffpm-297", "FFPM 297 Ry Havanay Malala", "assets://ffpm-297.txt"),
DrawerItem(170, "ffpm-307", "FFPM 307 Iza no hanompo an'i Jesoa soa", "assets://ffpm-307.txt"),
DrawerItem(171, "ffpm-310", "FFPM 310 Misy maro ao an-tsaha", "assets://ffpm-310.txt"),
DrawerItem(172, "ffpm-311", "EWS 15 With Hearts In Love Abounding", "assets://ffpm-311.txt"),
DrawerItem(173, "ffpm-315", "FFPM 315 Ry Ziona, mitsangàna", "assets://ffpm-315.txt"),
DrawerItem(174, "ffpm-321", "FFPM 321 Ry Jesosy Tomponay", "assets://ffpm-321.txt"),
DrawerItem(175, "ffpm-32", "FFPM 32 Misaotra Anao izahay Jehovah Tompo", "assets://ffpm-32.txt"),
DrawerItem(176, "ffpm-332", "FFPM 332 Finaritra ny olonao", "assets://ffpm-332.txt"),
DrawerItem(177, "ffpm-33", "FFPM 33 - Tompo ô, Tsy Takatray", "assets://ffpm-33.txt"),
DrawerItem(178, "ffpm-352", "FFPM 352 Fantatrao va ny Mpamonjy", "assets://ffpm-352.txt"),
DrawerItem(179, "ffpm-353-1", "FFPM 353 (1) Mba sainonao ange", "assets://ffpm-353-1.txt"),
DrawerItem(180, "ffpm-353-2", "FFPM 353 (2) Mba sainonao ange", "assets://ffpm-353-2.txt"),
DrawerItem(181, "ffpm-357", "FFPM 357 Efa tonga atỳ izao", "assets://ffpm-357.txt"),
DrawerItem(182, "ffpm-358", "FFPM 358 He, ry namako mahantra", "assets://ffpm-358.txt"),
DrawerItem(183, "ffpm-35", "FFPM 35 : Isaoranay, Ry Ray", "assets://ffpm-35.txt"),
DrawerItem(184, "ffpm-367", "FFPM 367 Ry zanako mania!", "assets://ffpm-367.txt"),
DrawerItem(185, "ffpm-381-1", "FFPM 381 (1) He, ny fiantsoana", "assets://ffpm-381-1.txt"),
DrawerItem(186, "ffpm-381-2", "FFPM 381 (2) He, ny fiantsoana", "assets://ffpm-381-2.txt"),
DrawerItem(187, "ffpm-38", "FFPM 38 : He, Hosana", "assets://ffpm-38.txt"),
DrawerItem(188, "ffpm-392", "FFPM 392 O mba raiso izao", "assets://ffpm-392.txt"),
DrawerItem(189, "ffpm-408-1", "FFPM 408 (1) Jehovah Ray mahari-po", "assets://ffpm-408-1.txt"),
DrawerItem(190, "ffpm-408-2", "FFPM 408 (2) Jehovah Ray mahari-po", "assets://ffpm-408-2.txt"),
DrawerItem(191, "ffpm-413", "FFPM 413 Ry Mpamonjy Tompo soa", "assets://ffpm-413.txt"),
DrawerItem(192, "ffpm-4-1", "FFPM 4 (1) Mamy ny fitianao", "assets://ffpm-4-1.txt"),
DrawerItem(193, "ffpm-42-1", "FFPM 42 (1) Vohay ny varavaram-po", "assets://ffpm-42-1.txt"),
DrawerItem(194, "ffpm-42-2", "FFPM 42 (2) Vohay ny varavaram-po", "assets://ffpm-42-2.txt"),
DrawerItem(195, "ffpm-428", "FFPM 428 Reko izao ry Tompo", "assets://ffpm-428.txt"),
DrawerItem(196, "ffpm-4-2", "FFPM 4 (2) Mamy ny fitianao", "assets://ffpm-4-2.txt"),
DrawerItem(197, "ffpm-43", "FFPM 43 Manenoa ry farara", "assets://ffpm-43.txt"),
DrawerItem(198, "ffpm-440-1", "FFPM 440. Ry Kristy ô, Mpanjakako", "assets://ffpm-440-1.txt"),
DrawerItem(199, "ffpm-444-1", "FFPM 444 (1) Ry Raiko feno antra", "assets://ffpm-444-1.txt"),
DrawerItem(200, "ffpm-444-2", "FFPM 444 Ry Raiko Feno Antra", "assets://ffpm-444-2.txt"),
DrawerItem(201, "ffpm-449", "FFPM 449 'Njay reko Tompo ô", "assets://ffpm-449.txt"),
DrawerItem(202, "ffpm-44", "FFPM 44 Indro Jeso mba vohay!", "assets://ffpm-44.txt"),
DrawerItem(203, "ffpm-46", "FFPM 46 : O Ry Mpanefa Ny Toky Rehetra", "assets://ffpm-46.txt"),
DrawerItem(204, "ffpm-47", "FFPM 47 Ry Ziona, mihainoa", "assets://ffpm-47.txt"),
DrawerItem(205, "ffpm-483", "FFPM 483 Zanahariko Tsitoha", "assets://ffpm-483.txt"),
DrawerItem(206, "ffpm-489", "FFPM 489 Tena sambatra sy maha-te-ho tia", "assets://ffpm-489.txt"),
DrawerItem(207, "ffpm-490", "FFPM 490 Ry Kristiana, andrandrao", "assets://ffpm-490.txt"),
DrawerItem(208, "ffpm-49-1", "FFPM 49 : Mba jereo ny Tompontsika", "assets://ffpm-49-1.txt"),
DrawerItem(209, "ffpm-49-2", "FFPM 49 : Mba jereo ny Tompontsika", "assets://ffpm-49-2.txt"),
DrawerItem(210, "ffpm-501", "FFPM 501. Namely Mafy Loatra", "assets://ffpm-501.txt"),
DrawerItem(211, "ffpm-503", "FFPM 503 Ry Jeso Tompo tsara ô, tsy azoko valiana", "assets://ffpm-503.txt"),
DrawerItem(212, "ffpm-5-1", "FFPM 5 (1) Jehovah Ray an-danitra", "assets://ffpm-5-1.txt"),
DrawerItem(213, "ffpm-51", "FFPM 51 Raha tonga anio ny Tompo", "assets://ffpm-51.txt"),
DrawerItem(214, "ffpm-5-2", "FFPM 5 (2) Jehovah Ray an-danitra", "assets://ffpm-5-2.txt"),
DrawerItem(215, "ffpm-52", "FFPM 52 Efa akaiky Jeso Tompo", "assets://ffpm-52.txt"),
DrawerItem(216, "ffpm-539", "FFPM 539 - Faly dia faly izahay mpanomponao", "assets://ffpm-539.txt"),
DrawerItem(217, "ffpm-546", "FFPM 546 Haleloia, Haleloia, Jeso No Mpamonjiko", "assets://ffpm-546.txt"),
DrawerItem(218, "ffpm-549", "549. Jesosy no asandratro", "assets://ffpm-549.txt"),
DrawerItem(219, "ffpm-54", "FFPM 54 Jeso Mpamonjy, Ilay Tompon'ny aina", "assets://ffpm-54.txt"),
DrawerItem(220, "ffpm-558", "FFPM 558 Ity fonenana ity", "assets://ffpm-558.txt"),
DrawerItem(221, "ffpm-55", "FFPM 55 - Ny Andron'ny Fahasoavana", "assets://ffpm-55.txt"),
DrawerItem(222, "ffpm-563", "FFPM 563 Ry mana-manjo", "assets://ffpm-563.txt"),
DrawerItem(223, "ffpm-564", "FFPM 564 Tsy hita izay androko sisa ety", "assets://ffpm-564.txt"),
DrawerItem(224, "ffpm-56-new", "FFPM 56 Manatona Anao izao", "assets://ffpm-56-new.txt"),
DrawerItem(225, "ffpm-56", "FFPM 56 Manatona Anao izao", "assets://ffpm-56.txt"),
DrawerItem(226, "ffpm-57-new", "FFPM 57 Izao Noely mamy izao", "assets://ffpm-57-new.txt"),
DrawerItem(227, "ffpm-57", "FFPM 57 Izao Noely mamy izao", "assets://ffpm-57.txt"),
DrawerItem(228, "ffpm-58", "FFPM 58 Alina masina", "assets://ffpm-58.txt"),
DrawerItem(229, "ffpm-603-1", "FFPM 603 (1) He sambatra Jesosy ô", "assets://ffpm-603-1.txt"),
DrawerItem(230, "ffpm-603-2", "FFPM 603 (2) He sambatra Jesosy ô", "assets://ffpm-603-2.txt"),
DrawerItem(231, "ffpm-610", "FFPM 610 Ny foko ry Jehovah", "assets://ffpm-610.txt"),
DrawerItem(232, "ffpm-611-1", "FFPM 611 (1) Jehovah Ray malala ô", "assets://ffpm-611-1.txt"),
DrawerItem(233, "ffpm-611-2", "FFPM 611 (2) Jehovah Ray malala ô", "assets://ffpm-611-2.txt"),
DrawerItem(234, "ffpm-616", "FFPM 616 Rainay be fitia", "assets://ffpm-616.txt"),
DrawerItem(235, "ffpm-61", "Sans titre", "assets://ffpm-61.txt"),
DrawerItem(236, "ffpm-626", "FFPM 626 Jeso Tompo mamindrà fo", "assets://ffpm-626.txt"),
DrawerItem(237, "ffpm-636", "FFPM 636 Hianao ry Jeso ô", "assets://ffpm-636.txt"),
DrawerItem(238, "ffpm-640", "FFPM 640 Misy fahavalo maro", "assets://ffpm-640.txt"),
DrawerItem(239, "ffpm-642-1", "FFPM 642 (1) Hitako izao sakaiza", "assets://ffpm-642-1.txt"),
DrawerItem(240, "ffpm-642-2", "FFPM 642 (2) Hitako izao sakaiza", "assets://ffpm-642-2.txt"),
DrawerItem(241, "ffpm-653", "FFPM 653 Sakaiza, raha tia ny Tompo ianao", "assets://ffpm-653.txt"),
DrawerItem(242, "ffpm-674", "FFPM 674 Ry mpivahiny reraka sy ana", "assets://ffpm-674.txt"),
DrawerItem(243, "ffpm-69", "FFPM 69 Zaza masina sy soa, nefa ory Hianao", "assets://ffpm-69.txt"),
DrawerItem(244, "ffpm-6", "FFPM 6 - Avia Miondreha", "assets://ffpm-6.txt"),
DrawerItem(245, "ffpm-705-2", "FFPM 705 (2) Ry Tompo, Zanaharinay, Jereo", "assets://ffpm-705-2.txt"),
DrawerItem(246, "ffpm-71", "FFPM 71 Mihainoa, mihainoa", "assets://ffpm-71.txt"),
DrawerItem(247, "ffpm-725", "FFPM 725 Alina ny andro", "assets://ffpm-725.txt"),
DrawerItem(248, "ffpm-726-1", "FFPM 726 (1) Efa hariva, Jesoa tia", "assets://ffpm-726-1.txt"),
DrawerItem(249, "ffpm-726-2", "FFPM 726 (2) Efa hariva, Jeso tia", "assets://ffpm-726-2.txt"),
DrawerItem(250, "ffpm-729", "FFPM 729 Ry Jehovah Ray Tsitoha", "assets://ffpm-729.txt"),
DrawerItem(251, "ffpm-72", "FFPM 72 Teraka Jesosy Tomponay", "assets://ffpm-72.txt"),
DrawerItem(252, "ffpm-733", " FFPM 733 Ny fihaonana an-tany", "assets://ffpm-733.txt"),
DrawerItem(253, "ffpm-734", "FFPM 734 Zanahary ô, tahio", "assets://ffpm-734.txt"),
DrawerItem(254, "ffpm-735", "FFPM 735 Arovy, ry Tsitoha", "assets://ffpm-735.txt"),
DrawerItem(255, "ffpm-737", "FFPM 737 Ry Ray, tahionao", "assets://ffpm-737.txt"),
DrawerItem(256, "ffpm-750", "FFPM 750 Dera, laza, ry Mpanjaka", "assets://ffpm-750.txt"),
DrawerItem(257, "ffpm-75", "FFPM 75 Andro malaza", "assets://ffpm-75.txt"),
DrawerItem(258, "ffpm-760", "FFPM 760 Aza Mba Manadino", "assets://ffpm-760.txt"),
DrawerItem(259, "ffpm-79-1", "FFPM 79 Sambasamba Zanahary", "assets://ffpm-79-1.txt"),
DrawerItem(260, "ffpm-79-2", "FFPM 79 (2) Sambasamba Zanahary", "assets://ffpm-79-2.txt"),
DrawerItem(261, "ffpm-796", "Sans titre", "assets://ffpm-796.txt"),
DrawerItem(262, "ffpm-799", "FFPM 799 Zaza sambatra tokoa", "assets://ffpm-799.txt"),
DrawerItem(263, "ffpm-7", "FFPM 7 Misaora an'Andriamanitra", "assets://ffpm-7.txt"),
DrawerItem(264, "ffpm-82-1", "FFPM 82 (1) He Zaza mahasambatra", "assets://ffpm-82-1.txt"),
DrawerItem(265, "ffpm-82-2", "FFPM 82 (2) He Zaza mahasambatra", "assets://ffpm-82-2.txt"),
DrawerItem(266, "ffpm-825", "FFPM 825 (2) Raha manjavona ny andro", "assets://ffpm-825.txt"),
DrawerItem(267, "ffpm-87", "FFPM 87 Nitomany ny Mpamonjy", "assets://ffpm-87.txt"),
DrawerItem(268, "ffpm-89", "FFPM 89 He, mijaly ny Mpamonjy", "assets://ffpm-89.txt"),
DrawerItem(269, "ffpm-8", "FFPM 8 - Dera Laza, Hery, Haja", "assets://ffpm-8.txt"),
DrawerItem(270, "ffpm-91", "FFPM 91 O fitiavan-dalina", "assets://ffpm-91.txt"),
DrawerItem(271, "ffpm-93", "FFPM 93 Nampalahelo Anao mafy re", "assets://ffpm-93.txt"),
DrawerItem(272, "ffpm-94", "FFPM 94 Gologota no jereo", "assets://ffpm-94.txt"),
DrawerItem(273, "ffpm-97-1", "FFPM 97 'Lay fonao tia tao Gologota", "assets://ffpm-97-1.txt"),
DrawerItem(274, "ffpm-97-2", "FFPM 97 (2) 'Lay fonao tia tao Gologota", "assets://ffpm-97-2.txt"),
DrawerItem(275, "ffpm-9", "Sans titre", "assets://ffpm-9.txt")
) )
} }
}

View file

@ -7,6 +7,7 @@ import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.FlowRow import androidx.compose.foundation.layout.FlowRow
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.WindowInsets import androidx.compose.foundation.layout.WindowInsets
import androidx.compose.foundation.layout.fillMaxHeight import androidx.compose.foundation.layout.fillMaxHeight
import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxSize
@ -14,8 +15,10 @@ import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.safeDrawing import androidx.compose.foundation.layout.safeDrawing
import androidx.compose.foundation.layout.width
import androidx.compose.foundation.layout.windowInsetsPadding import androidx.compose.foundation.layout.windowInsetsPadding
import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.foundation.verticalScroll import androidx.compose.foundation.verticalScroll
import androidx.compose.material3.Text import androidx.compose.material3.Text
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
@ -146,6 +149,7 @@ object ScreenSolfa : Screen {
LazyVerticalGridTUO( LazyVerticalGridTUO(
gridTUOData, gridTUOData,
gridWidthPx = gridWidthPx, gridWidthPx = gridWidthPx,
sharedScreenModel = sharedScreenModel,
onGridWidthMeasured = { width -> gridWidthPx = width } onGridWidthMeasured = { width -> gridWidthPx = width }
) )
FlowRow( FlowRow(
@ -208,6 +212,11 @@ object ScreenSolfa : Screen {
Text(text = songComposer) Text(text = songComposer)
} }
Row (
modifier = Modifier
.height(199.dp)
) {
}
} }
} }
MyVerticalScrollbar( MyVerticalScrollbar(

View file

@ -3,6 +3,7 @@ package mg.dot.feufaro.data
data class DrawerItem( data class DrawerItem(
val id: Int, val id: Int,
val title: String, val title: String,
val contentTitle: String,
val path: String val path: String
) )

View file

@ -42,6 +42,9 @@ import androidx.compose.ui.text.SpanStyle
import androidx.compose.ui.text.buildAnnotatedString import androidx.compose.ui.text.buildAnnotatedString
import androidx.compose.ui.text.style.BaselineShift import androidx.compose.ui.text.style.BaselineShift
import androidx.compose.ui.text.withStyle import androidx.compose.ui.text.withStyle
import SharedScreenModel
import androidx.compose.runtime.collectAsState
import kotlinx.coroutines.delay
val FEUFAROO_TRIOLET_COLOR = Color.DarkGray val FEUFAROO_TRIOLET_COLOR = Color.DarkGray
val FEUFAROO_KEY_CHANGE_COLOR = Color.Blue val FEUFAROO_KEY_CHANGE_COLOR = Color.Blue
@ -228,13 +231,14 @@ class TimeUnitObject (val pTemplate: PTemplate, val prevTUO: TimeUnitObject?, co
fun TimeUnitComposable( fun TimeUnitComposable(
tuo: TimeUnitObject, tuo: TimeUnitObject,
stanzaNumber: Int, stanzaNumber: Int,
gridColumnCount: Int gridColumnCount: Int,
gridActive: Boolean
) { ) {
val col = if (tuo.getNum() % 2 == 0) Color(0xff, 0xfa, 0xf7) else Color(0xfb, 0xf3, 0xff) val col = if (tuo.getNum() % 2 == 0) Color(0xff, 0xfa, 0xf7) else Color(0xfb, 0xf3, 0xff)
val currentDensity = LocalDensity.current val currentDensity = LocalDensity.current
Column( Column(
modifier = Modifier modifier = Modifier
.background(col) .background(if(gridActive) Color.Cyan.copy(alpha = 0.5f) else col)
) { ) {
if (TimeUnitObject._hasMarker) { if (TimeUnitObject._hasMarker) {
val lineHeight = 20.sp val lineHeight = 20.sp
@ -511,6 +515,7 @@ fun AutoResizingText(
fun LazyVerticalGridTUO( fun LazyVerticalGridTUO(
viewModel: GridTUOData, viewModel: GridTUOData,
gridWidthPx: Int, gridWidthPx: Int,
sharedScreenModel: SharedScreenModel,
onGridWidthMeasured: (Int) -> Unit, onGridWidthMeasured: (Int) -> Unit,
modifier: Modifier = Modifier modifier: Modifier = Modifier
) { ) {
@ -547,6 +552,16 @@ fun LazyVerticalGridTUO(
val currentStanza = viewModel.stanza val currentStanza = viewModel.stanza
val currentPos by sharedScreenModel.currentPos.collectAsState()
val duration by sharedScreenModel.duration.collectAsState()
val isPlay by sharedScreenModel.isPlay.collectAsState()
val displayedList = tuoList.drop(1)
val nbTotalDesRow = displayedList.size
val activeRowIndex = if (duration > 0f) {
((currentPos / duration) * nbTotalDesRow).toInt().coerceIn(0, nbTotalDesRow - 1)
} else {
-1
}
FlowRow( FlowRow(
modifier = Modifier.fillMaxWidth(), modifier = Modifier.fillMaxWidth(),
@ -556,12 +571,16 @@ fun LazyVerticalGridTUO(
// state = lazyGridState // state = lazyGridState
) { ) {
tuoList.drop(n=1).forEachIndexed { relativeIndex, oneTUO -> tuoList.drop(n=1).forEachIndexed { relativeIndex, oneTUO ->
val isActive = (relativeIndex == activeRowIndex)
Box( Box(
modifier = Modifier modifier = Modifier
.fillMaxWidth(flowRowSize) .fillMaxWidth(flowRowSize)
.background(Color.Transparent)
.combinedClickable( .combinedClickable(
onClick = { onClick = {
println("Clicked: ${oneTUO.numBlock} / relative index: $relativeIndex FL $flowRowSize GC $gridColumnCount") sharedScreenModel.updatePositionFromPartition(relativeIndex, nbTotalDesRow)
println("590: relative $relativeIndex active? $isActive")
println("TimeUnitObj:566 Clicked: ${oneTUO.numBlock} / relative index: $relativeIndex FL $flowRowSize totaRow $nbTotalDesRow")
} , } ,
onDoubleClick = { onDoubleClick = {
println("Double-Clicked: ${oneTUO.numBlock} / relative index: $relativeIndex") println("Double-Clicked: ${oneTUO.numBlock} / relative index: $relativeIndex")
@ -571,7 +590,8 @@ fun LazyVerticalGridTUO(
TimeUnitComposable( TimeUnitComposable(
tuo = oneTUO, tuo = oneTUO,
currentStanza, currentStanza,
gridColumnCount gridColumnCount,
gridActive = isActive
) )
} }
} }

View file

@ -74,18 +74,23 @@ fun MainScreenWithDrawer(
var isDragging by remember { mutableStateOf(false) } //var isDragging by remember { mutableStateOf(false) }
var isPlay by remember { mutableStateOf(false) } //var isPlay by remember { mutableStateOf(false) }
var isPos by remember { mutableStateOf(true) } //var isPos by remember { mutableStateOf(true) }
var isPlayMid by remember { mutableStateOf(false) } var isPlayMid by remember { mutableStateOf(false) }
var currentPos by remember { mutableStateOf(0f) } //var currentPos by remember { mutableStateOf(0f) }
var duration by remember { mutableStateOf(0f) } val isPlay by sharedScreenModel.isPlay.collectAsState()
val isPos by sharedScreenModel.isPos.collectAsState()
var isDragging = sharedScreenModel.isDragging
val currentPos by sharedScreenModel.currentPos.collectAsState()
val duration by sharedScreenModel.duration.collectAsState()
var midiFile = "whawyd3.mid" var midiFile = "whawyd3.mid"
var refreshTrigeer by remember { mutableStateOf(0)} var refreshTrigeer by remember { mutableStateOf(0)}
var volumelevel by remember { mutableStateOf(0.8f) } val volumelevel by sharedScreenModel.volumeLevel.collectAsState()
val mediaPlayer = remember(refreshTrigeer) { val player = sharedScreenModel.mediaPlayer
/*val mediaPlayer = remember(refreshTrigeer) {
MediaPlayer(filename = midiFile, onFinished = { MediaPlayer(filename = midiFile, onFinished = {
isPos = true isPos = true
isPlay = false isPlay = false
@ -94,9 +99,18 @@ val mediaPlayer = remember(refreshTrigeer) {
println("fin de lecture du whawyd3.mid") println("fin de lecture du whawyd3.mid")
}).apply { setVolume(volumelevel) } }).apply { setVolume(volumelevel) }
}*/
LaunchedEffect(isPlay, isPos) {
if (isPlay && !isPos) {
// while (isPlay && !isPos) {
while (true) {
sharedScreenModel.updateProgress()
delay(100)
}
}
} }
LaunchedEffect(isPlay, isPos, mediaPlayer) { /*LaunchedEffect(isPlay, isPos, mediaPlayer) {
if (isPlay && !isPos) { if (isPlay && !isPos) {
val d = mediaPlayer.getDuration().toFloat() val d = mediaPlayer.getDuration().toFloat()
if (d > 0) duration = d if (d > 0) duration = d
@ -108,13 +122,16 @@ LaunchedEffect(isPlay, isPos, mediaPlayer) {
delay(100) delay(100)
} }
} }
} }*/
LaunchedEffect(isSearchActive) { LaunchedEffect(isSearchActive) {
if (isSearchActive) { if (isSearchActive) {
focusRequester.requestFocus() focusRequester.requestFocus()
} }
} }
LaunchedEffect(Unit) {
sharedScreenModel.loadNewSong("whawyd3.mid")
}
ModalNavigationDrawer(drawerState = drawerState, drawerContent = { ModalNavigationDrawer(drawerState = drawerState, drawerContent = {
SimpleDrawerContent( SimpleDrawerContent(
items, items,
@ -128,11 +145,12 @@ LaunchedEffect(isPlay, isPos, mediaPlayer) {
onScannerButtonClick() onScannerButtonClick()
}, },
onSongSelected = { newSong -> onSongSelected = { newSong ->
mediaPlayer?.stop() // mediaPlayer?.stop()
isPos = true // isPos = true
isPlay = false // isPlay = false
currentPos = 0f // currentPos = 0f
refreshTrigeer++ sharedScreenModel.loadNewSong("whawyd3.mid")
// refreshTrigeer++
} }
) )
}, content = { }, content = {
@ -232,10 +250,11 @@ LaunchedEffect(isPlay, isPos, mediaPlayer) {
FloatingActionButton( FloatingActionButton(
onClick = { onClick = {
isPlayMid = !isPlayMid isPlayMid = !isPlayMid
if(mediaPlayer.getCurrentPosition() != 0L) { // if(isPlayMid) sharedScreenModel.stopMidi()
mediaPlayer?.seekTo(0) // if(mediaPlayer.getCurrentPosition() != 0L) {
mediaPlayer?.stop() // mediaPlayer?.seekTo(0)
} // mediaPlayer?.stop()
// }
}, modifier = Modifier.alpha(0.45f) }, modifier = Modifier.alpha(0.45f)
) { ) {
Icon( Icon(
@ -250,6 +269,7 @@ LaunchedEffect(isPlay, isPos, mediaPlayer) {
onClick = { onClick = {
isExpanded = !isExpanded isExpanded = !isExpanded
refreshTrigeer++ refreshTrigeer++
sharedScreenModel.loadNewSong("whawyd3.mid")
}, modifier = Modifier.alpha(0.45f) }, modifier = Modifier.alpha(0.45f)
) { ) {
Icon( Icon(
@ -267,13 +287,14 @@ LaunchedEffect(isPlay, isPos, mediaPlayer) {
Box( Box(
modifier = Modifier.fillMaxWidth(0.9f) modifier = Modifier.fillMaxWidth(0.9f)
) { ) {
if(player != null) {
MidiControlPanel( MidiControlPanel(
isPause = isPos, isPause = isPos,
currentPos = currentPos, currentPos = currentPos,
volume = volumelevel, volume = volumelevel,
duration = duration, duration = duration,
onPlayPauseClick = { onPlayPauseClick = {
if(isPlay){ sharedScreenModel.togglePlayPause()/*if(isPlay){
mediaPlayer?.pause() mediaPlayer?.pause()
isPlay = false isPlay = false
isPos = true isPos = true
@ -284,8 +305,8 @@ LaunchedEffect(isPlay, isPos, mediaPlayer) {
mediaPlayer?.play() mediaPlayer?.play()
mediaPlayer?.setVolume(volumelevel) mediaPlayer?.setVolume(volumelevel)
isPlay = true isPlay = true
isPos = false isPos = false*/
} },
/* if(!isPlay) { /* if(!isPlay) {
if (currentPos == 0f) mediaPlayer.seekTo(0) if (currentPos == 0f) mediaPlayer.seekTo(0)
mediaPlayer?.play() mediaPlayer?.play()
@ -297,7 +318,7 @@ LaunchedEffect(isPlay, isPos, mediaPlayer) {
isPos = true isPos = true
}*/ }*/
println("je clique pause = $isPos play = $isPlay") // println("je clique pause = ${sharedScreenModel.isPlay} play = ${sharedScreenModel.isPos}")
// if(isPos) { // if(isPos) {
// mediaPlayer.play() // mediaPlayer.play()
// isPos = false // isPos = false
@ -309,24 +330,26 @@ LaunchedEffect(isPlay, isPos, mediaPlayer) {
// mediaPlayer.seekTo(0f.toLong()) // mediaPlayer.seekTo(0f.toLong())
mediaPlayer.play() mediaPlayer.play()
isPlayMid = false isPlayMid = false
}
}*/ }*/
}, onSeek = { newPos -> // currentPos = newPos
onSeek = { newPos -> sharedScreenModel.setDragging(true)
currentPos = newPos sharedScreenModel.seekTo(newPos)
isDragging = true
mediaPlayer.seekTo(newPos.toLong())
scope.launch { scope.launch {
delay(100) delay(100)
isDragging = false sharedScreenModel.setDragging(false)
} }
println("DrawerUI:335: mihetsika $newPos")
}, },
mediaPlayer = mediaPlayer, mediaPlayer = player,
onVolumeChange = { newVolume -> onVolumeChange = { newVolume -> // volumelevel = newVolume
volumelevel = newVolume sharedScreenModel.setVolume(newVolume)
mediaPlayer?.setVolume(newVolume)
println("Changement volume $newVolume -l $volumelevel") println("Changement volume $newVolume -l $volumelevel")
} },
) )
} else {
Text("Sélectionner un morceau")
}
/*Row( /*Row(
modifier = Modifier.align(Alignment.Center).padding(16.dp), modifier = Modifier.align(Alignment.Center).padding(16.dp),
verticalAlignment = Alignment.CenterVertically, verticalAlignment = Alignment.CenterVertically,
@ -378,7 +401,7 @@ LaunchedEffect(isPlay, isPos, mediaPlayer) {
itemsIndexed(filteredSongs) { index, item -> itemsIndexed(filteredSongs) { index, item ->
ListItem( ListItem(
headlineContent = { Text(item.title) }, headlineContent = { Text(item.title) },
//supportingContent = { Text(item.contentTitle, maxLines = 1) }, supportingContent = { Text(item.contentTitle, maxLines = 1) },
modifier = Modifier.clickable { modifier = Modifier.clickable {
sharedScreenModel.updateSearchTxt("") sharedScreenModel.updateSearchTxt("")
sharedScreenModel.reset() sharedScreenModel.reset()

View file

@ -121,14 +121,15 @@ fun MidiControlPanel(
Column ( Column (
modifier = modifier modifier = modifier
.fillMaxWidth() .fillMaxWidth()
.padding(16.dp), .padding(16.dp)
.background(color = Color.Gray.copy(alpha = 0.5f), shape = RoundedCornerShape(size = 5.dp)),
horizontalAlignment = Alignment.CenterHorizontally horizontalAlignment = Alignment.CenterHorizontally
) { ) {
Row ( Row (
verticalAlignment = Alignment.CenterVertically, verticalAlignment = Alignment.CenterVertically,
horizontalArrangement = Arrangement.spacedBy(8.dp) horizontalArrangement = Arrangement.spacedBy(8.dp)
) { ) {
Text("${currentPos.toInt() / 1000}s") Text("${currentPos.toInt() / 1000}s", color = Color.White)
Slider( Slider(
value = currentPos, value = currentPos,
onValueChange = onSeek, onValueChange = onSeek,
@ -159,7 +160,7 @@ fun MidiControlPanel(
) )
} }
) )
Text("${momo / 1000}s") Text("${momo / 1000}s", color = Color.White)
} }

View file

@ -1,6 +1,8 @@
// commonMain/kotlin/mg/dot/feufaro/viewmodel/SharedScreenModel.kt // commonMain/kotlin/mg/dot/feufaro/viewmodel/SharedScreenModel.kt
import androidx.compose.runtime.State import androidx.compose.runtime.State
import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.getValue
import androidx.compose.runtime.setValue
import cafe.adriel.voyager.core.model.ScreenModel import cafe.adriel.voyager.core.model.ScreenModel
import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
@ -11,8 +13,9 @@ import kotlinx.coroutines.flow.asStateFlow
import kotlinx.coroutines.flow.mapLatest import kotlinx.coroutines.flow.mapLatest
import kotlinx.coroutines.flow.stateIn import kotlinx.coroutines.flow.stateIn
import mg.dot.feufaro.data.DrawerItem import mg.dot.feufaro.data.DrawerItem
import mg.dot.feufaro.solfa.TimeUnitObject
import mg.dot.feufaro.data.getDrawerItems import mg.dot.feufaro.data.getDrawerItems
import mg.dot.feufaro.solfa.TimeUnitObject
import mg.dot.feufaro.midi.MediaPlayer
class SharedScreenModel() : ScreenModel { class SharedScreenModel() : ScreenModel {
private val _nextLabel = MutableStateFlow<String>("Next ...") private val _nextLabel = MutableStateFlow<String>("Next ...")
@ -64,7 +67,7 @@ class SharedScreenModel() : ScreenModel {
emptyList() emptyList()
} else { } else {
getDrawerItems().filter { item -> getDrawerItems().filter { item ->
item.title.contains(searchTxt, ignoreCase = true) item.contentTitle.contains(searchTxt, ignoreCase = true)
} }
} }
}.stateIn ( }.stateIn (
@ -90,7 +93,113 @@ class SharedScreenModel() : ScreenModel {
} }
fun updateSearchTxt(searchValue: String) { fun updateSearchTxt(searchValue: String) {
_searchTitle.value = searchValue _searchTitle.value = searchValue
} fun appendData(otherData: String) { }
private var _mediaPlayer by mutableStateOf<MediaPlayer?>(null)
val mediaPlayer: MediaPlayer? get() = _mediaPlayer
private val _isPlay = MutableStateFlow(false)
val isPlay = _isPlay.asStateFlow()
private val _isPos = MutableStateFlow(true)
val isPos = _isPos.asStateFlow()
private val _isDragging = MutableStateFlow(true)
val isDragging = _isDragging.asStateFlow()
private val _currentPos = MutableStateFlow(0f)
val currentPos = _currentPos.asStateFlow()
private val _duration = MutableStateFlow(0f)
val duration = _duration.asStateFlow()
private val _volumeLevel = MutableStateFlow(0.8f)
val volumeLevel = _volumeLevel.asStateFlow()
private val _isPlayMid = MutableStateFlow(false)
val isPlayMid = _isPlayMid.asStateFlow()
private var midiFile = "whawyd3.mid"
fun loadNewSong(newMidiFile: String) {
_mediaPlayer?.stop()
_isPos.value = true
_isPlay.value = false
_currentPos.value = 0f
_mediaPlayer = MediaPlayer(filename = newMidiFile, onFinished = {
_isPos.value = true
_isPlay.value = false
_currentPos.value = 0f
println("fin de lecture du Midi $newMidiFile")
})
println("New media Player crée $newMidiFile")
}
// val mediaPlayer =
fun togglePlayPause() {
_mediaPlayer?.let { player ->
if (_isPlay.value) {
_isPlay.value = false
_isPos.value = true
player.pause()
} else {
_isPlay.value = true
_isPos.value = false
player.play()
player.setVolume(_volumeLevel.value)
if(currentPos.value == 0f) {
player.seekTo(0)
}
}
println("128: Status de isPlay ${_isPlay.value} \nisPos ${_isPos.value} \ncurrentPos ${_currentPos.value} \n volume ${_volumeLevel.value}")
// _isPlay.value = !_isPlay.value
}
}
fun stopMidi() {
_mediaPlayer?.let { player ->
_isPlay.value = false
_isPos.value = true
player.pause()
}
}
fun seekTo(pos: Float) {
_currentPos.value = pos
_mediaPlayer?.let { player ->
player.seekTo(pos.toLong())
}
}
fun setDragging(dragState: Boolean) {
_isDragging.value = dragState
}
fun setVolume(level: Float) {
_volumeLevel.value = level
_mediaPlayer?.let { player ->
player.setVolume(level) }
}
fun updateProgress(){
_mediaPlayer?.let { player->
if (_isPlay.value) {
val p = player.getCurrentPosition().toFloat()
val d = player.getDuration().toFloat()
if (p >= 0) _currentPos.value = p
if ((d > 0) && _duration.value != d) _duration.value = d
}
}
}
var currentNoteIndex by mutableStateOf(0f)
fun updatePositionFromPartition(index: Int, totalRow: Int) {
val duration = _duration.value
if(totalRow > 0) {
currentNoteIndex = index.toFloat()
val newPos = (currentNoteIndex / totalRow.toFloat()) * duration
seekTo(newPos)
println("Shared:196 currentNoteIndex $currentNoteIndex, Index $index et curret = ${_currentPos.value}")
}
}
fun appendData(otherData: String) {
_nextLabel.value += otherData _nextLabel.value += otherData
} }

View file

@ -2,280 +2,280 @@ package mg.dot.feufaro.data
actual fun getDrawerItems(): List<DrawerItem> { actual fun getDrawerItems(): List<DrawerItem> {
return listOf( return listOf(
DrawerItem(1, "480", "assets://480.txt"), DrawerItem(1, "480", "FFPM-480 - Mamin'ny foko, ry Jeso ô!", "assets://480.txt"),
DrawerItem(2, "ews-10", "assets://ews-10.txt"), DrawerItem(2, "ews-10", "EWS 10 All creatures worship God most high", "assets://ews-10.txt"),
DrawerItem(3, "ews-11", "assets://ews-11.txt"), DrawerItem(3, "ews-11", "All Glory, Laud, and Honor", "assets://ews-11.txt"),
DrawerItem(4, "ews-12", "assets://ews-12.txt"), DrawerItem(4, "ews-12", "EWS 12 All Hail the Power of Jesus Name", "assets://ews-12.txt"),
DrawerItem(5, "ews-13", "assets://ews-13.txt"), DrawerItem(5, "ews-13", "EWS 13 O for a thousand tongues to sing", "assets://ews-13.txt"),
DrawerItem(6, "ews-14", "assets://ews-14.txt"), DrawerItem(6, "ews-14", "EWS 14 Holy, Holy, Holy, Lord God of Hosts", "assets://ews-14.txt"),
DrawerItem(7, "ews-15", "assets://ews-15.txt"), DrawerItem(7, "ews-15", "EWS 15 With Hearts In Love Abounding", "assets://ews-15.txt"),
DrawerItem(8, "ews-16", "assets://ews-16.txt"), DrawerItem(8, "ews-16", "Sans titre", "assets://ews-16.txt"),
DrawerItem(9, "ews-179", "assets://ews-179.txt"), DrawerItem(9, "ews-179", "EWS 179 Zion's King shall reign victorious", "assets://ews-179.txt"),
DrawerItem(10, "ews-17", "assets://ews-17.txt"), DrawerItem(10, "ews-17", "Sans titre", "assets://ews-17.txt"),
DrawerItem(11, "ews-18", "assets://ews-18.txt"), DrawerItem(11, "ews-18", "EWS 18 How lovely, how divinely sweet", "assets://ews-18.txt"),
DrawerItem(12, "ews-190", "assets://ews-190.txt"), DrawerItem(12, "ews-190", "EWS 190 O Lord, thy benediction give", "assets://ews-190.txt"),
DrawerItem(13, "ews-19", "assets://ews-19.txt"), DrawerItem(13, "ews-19", "EWS 19 My heart its incense burning", "assets://ews-19.txt"),
DrawerItem(14, "ews-1", "assets://ews-1.txt"), DrawerItem(14, "ews-1", "EWS 1 - From all that dwell below the sky", "assets://ews-1.txt"),
DrawerItem(15, "ews-20", "assets://ews-20.txt"), DrawerItem(15, "ews-20", "EWS 20 The God of Abraham praise", "assets://ews-20.txt"),
DrawerItem(16, "ews-21", "assets://ews-21.txt"), DrawerItem(16, "ews-21", "EWS 21 Sing, choirs of new Jerusalem", "assets://ews-21.txt"),
DrawerItem(17, "ews-22", "assets://ews-22.txt"), DrawerItem(17, "ews-22", "EWS 22 My God I thank Thee", "assets://ews-22.txt"),
DrawerItem(18, "ews-23", "assets://ews-23.txt"), DrawerItem(18, "ews-23", "EWS 23 The spacious firmament on high", "assets://ews-23.txt"),
DrawerItem(19, "ews-24", "assets://ews-24.txt"), DrawerItem(19, "ews-24", "EWS 24 When the mists have rolled in splendor", "assets://ews-24.txt"),
DrawerItem(20, "ews-25-1", "assets://ews-25-1.txt"), DrawerItem(20, "ews-25-1", "EWS 25 (1) Pleasant are Thy courts above", "assets://ews-25-1.txt"),
DrawerItem(21, "ews-25-2", "assets://ews-25-2.txt"), DrawerItem(21, "ews-25-2", "EWS 25 (2) Pleasant are Thy courts above", "assets://ews-25-2.txt"),
DrawerItem(22, "ews-26-1", "assets://ews-26-1.txt"), DrawerItem(22, "ews-26-1", "EWS 26 (1) Praise ye the Lord; tis good to raise", "assets://ews-26-1.txt"),
DrawerItem(23, "ews-26-2", "assets://ews-26-2.txt"), DrawerItem(23, "ews-26-2", "EWS 26 (2) Praise ye the Lord; tis good to raise", "assets://ews-26-2.txt"),
DrawerItem(24, "ews-27", "assets://ews-27.txt"), DrawerItem(24, "ews-27", "EWS 27 I'll praise my Maker", "assets://ews-27.txt"),
DrawerItem(25, "ews-28", "assets://ews-28.txt"), DrawerItem(25, "ews-28", "EWS 28 We have found the way to Heaven", "assets://ews-28.txt"),
DrawerItem(26, "ews-29", "assets://ews-29.txt"), DrawerItem(26, "ews-29", "EWS 29 How lovely is your dwelling place", "assets://ews-29.txt"),
DrawerItem(27, "ews-2", "assets://ews-2.txt"), DrawerItem(27, "ews-2", "EWS 2 - My God how wonderful Thy are", "assets://ews-2.txt"),
DrawerItem(28, "ews-30-1", "assets://ews-30-1.txt"), DrawerItem(28, "ews-30-1", "EWS 30 (1) Father I stretch my hands to Thee", "assets://ews-30-1.txt"),
DrawerItem(29, "ews-30-2", "assets://ews-30-2.txt"), DrawerItem(29, "ews-30-2", "EWS 30 (2) Father I stretch my hands to Thee", "assets://ews-30-2.txt"),
DrawerItem(30, "ews-31", "assets://ews-31.txt"), DrawerItem(30, "ews-31", "EWS 31 Thy way, not mine, O Lord", "assets://ews-31.txt"),
DrawerItem(31, "ews-32", "assets://ews-32.txt"), DrawerItem(31, "ews-32", "EWS 32 Your hand, o Lord, in days of old", "assets://ews-32.txt"),
DrawerItem(32, "ews-33", "assets://ews-33.txt"), DrawerItem(32, "ews-33", "EWS 33 Father, whose everlasting love", "assets://ews-33.txt"),
DrawerItem(33, "ews-34", "assets://ews-34.txt"), DrawerItem(33, "ews-34", "EWS 34 Lo! the heavens are breaking", "assets://ews-34.txt"),
DrawerItem(34, "ews-351-1", "assets://ews-351-1.txt"), DrawerItem(34, "ews-351-1", "EWS 351 How blessed is the little flock", "assets://ews-351-1.txt"),
DrawerItem(35, "ews-35", "assets://ews-35.txt"), DrawerItem(35, "ews-35", "FFPM 413 Ry Mpamonjy Tompo soa", "assets://ews-35.txt"),
DrawerItem(36, "ews-36", "assets://ews-36.txt"), DrawerItem(36, "ews-36", "EWS 36 Come ye thankful people come", "assets://ews-36.txt"),
DrawerItem(37, "ews-37", "assets://ews-37.txt"), DrawerItem(37, "ews-37", "EWS 37 I must have the Savior with me", "assets://ews-37.txt"),
DrawerItem(38, "ews-38", "assets://ews-38.txt"), DrawerItem(38, "ews-38", "EWS 38 Mighty God while angels bless", "assets://ews-38.txt"),
DrawerItem(39, "ews-39", "assets://ews-39.txt"), DrawerItem(39, "ews-39", "EWS 39 - Be still my soul", "assets://ews-39.txt"),
DrawerItem(40, "ews-3", "assets://ews-3.txt"), DrawerItem(40, "ews-3", "EWS 3 - Thee, God, we praise", "assets://ews-3.txt"),
DrawerItem(41, "ews-40", "assets://ews-40.txt"), DrawerItem(41, "ews-40", "EWS 40 Hold the fort (Ho, my comrades, see the signal)", "assets://ews-40.txt"),
DrawerItem(42, "ews-41", "assets://ews-41.txt"), DrawerItem(42, "ews-41", "EWS 41 - Come, Thou long expected Jesus", "assets://ews-41.txt"),
DrawerItem(43, "ews-42", "assets://ews-42.txt"), DrawerItem(43, "ews-42", "EWS 42 Lift up your heads, ye mighty gates", "assets://ews-42.txt"),
DrawerItem(44, "ews-43", "assets://ews-43.txt"), DrawerItem(44, "ews-43", "EWS 43 O wondrous Name, by prophets", "assets://ews-43.txt"),
DrawerItem(45, "ews-443", "assets://ews-443.txt"), DrawerItem(45, "ews-443", "EWS 443 Blessed Jesus, high in glory", "assets://ews-443.txt"),
DrawerItem(46, "ews-44", "assets://ews-44.txt"), DrawerItem(46, "ews-44", "EWS 44 If thou hast the skill to reckon", "assets://ews-44.txt"),
DrawerItem(47, "ews-456", "assets://ews-456.txt"), DrawerItem(47, "ews-456", "456 - To God Be The Glory", "assets://ews-456.txt"),
DrawerItem(48, "ews-45", "assets://ews-45.txt"), DrawerItem(48, "ews-45", "EWS 45 There's a stranger at the door, Let him in", "assets://ews-45.txt"),
DrawerItem(49, "ews-46", "assets://ews-46.txt"), DrawerItem(49, "ews-46", "EWS 46 Wake awake for night is flying", "assets://ews-46.txt"),
DrawerItem(50, "ews-47", "assets://ews-47.txt"), DrawerItem(50, "ews-47", "EWS 47 O Holy night", "assets://ews-47.txt"),
DrawerItem(51, "ews-4", "assets://ews-4.txt"), DrawerItem(51, "ews-4", "EWS 4 - Join the song of saints in glory", "assets://ews-4.txt"),
DrawerItem(52, "ews-5", "assets://ews-5.txt"), DrawerItem(52, "ews-5", "EWS 5 - Praise, My Soul, The King Of Heaven", "assets://ews-5.txt"),
DrawerItem(53, "ews-66", "assets://ews-66.txt"), DrawerItem(53, "ews-66", "EWS 66 Angels from the realms of glory", "assets://ews-66.txt"),
DrawerItem(54, "ews-6", "assets://ews-6.txt"), DrawerItem(54, "ews-6", "EWS 6 - Holy, Holy, Holy", "assets://ews-6.txt"),
DrawerItem(55, "ews-7", "assets://ews-7.txt"), DrawerItem(55, "ews-7", "EWS 7 - My Soul Now Praise Your Maker", "assets://ews-7.txt"),
DrawerItem(56, "ews-89", "assets://ews-89.txt"), DrawerItem(56, "ews-89", "EWS 89 I gave my life for thee", "assets://ews-89.txt"),
DrawerItem(57, "ews-8", "assets://ews-8.txt"), DrawerItem(57, "ews-8", "EWS 8 - Now thank we all our God", "assets://ews-8.txt"),
DrawerItem(58, "ews-999", "assets://ews-999.txt"), DrawerItem(58, "ews-999", "EWS 999 Precious Promise (FFPM 97)", "assets://ews-999.txt"),
DrawerItem(59, "ews-9", "assets://ews-9.txt"), DrawerItem(59, "ews-9", "EWS 9 The Lord Jehovah reigns (His throne is built on high)", "assets://ews-9.txt"),
DrawerItem(60, "ff-33", "assets://ff-33.txt"), DrawerItem(60, "ff-33", "FF 33 Inty Aho Jesoa!", "assets://ff-33.txt"),
DrawerItem(61, "ff-43", "assets://ff-43.txt"), DrawerItem(61, "ff-43", "FF 43. Aiza Moa Ianao?", "assets://ff-43.txt"),
DrawerItem(62, "ff-7", "assets://ff-7.txt"), DrawerItem(62, "ff-7", "FF 7 Tsy hainay ny hangina", "assets://ff-7.txt"),
DrawerItem(63, "ff-8", "assets://ff-8.txt"), DrawerItem(63, "ff-8", "FF 8 Masoko manganohano", "assets://ff-8.txt"),
DrawerItem(64, "ff-9", "assets://ff-9.txt"), DrawerItem(64, "ff-9", "FF9 Isaorana anie Jehovah", "assets://ff-9.txt"),
DrawerItem(65, "ffmp-16", "assets://ffmp-16.txt"), DrawerItem(65, "ffmp-16", "FFPM 16 Avia, ry vazan-tany ô", "assets://ffmp-16.txt"),
DrawerItem(66, "ffpm-100", "assets://ffpm-100.txt"), DrawerItem(66, "ffpm-100", "FFPM 100 Moa mba efa nisy va", "assets://ffpm-100.txt"),
DrawerItem(67, "ffpm-101", "assets://ffpm-101.txt"), DrawerItem(67, "ffpm-101", "FFPM 101 Ny Hazo fijaliana, ry Jeso Tomponay", "assets://ffpm-101.txt"),
DrawerItem(68, "ffpm-103", "assets://ffpm-103.txt"), DrawerItem(68, "ffpm-103", "Sans titre", "assets://ffpm-103.txt"),
DrawerItem(69, "ffpm-105", "assets://ffpm-105.txt"), DrawerItem(69, "ffpm-105", "FFPM 105 Tsinjovy ilay havoana", "assets://ffpm-105.txt"),
DrawerItem(70, "ffpm-106", "assets://ffpm-106.txt"), DrawerItem(70, "ffpm-106", "Sans titre", "assets://ffpm-106.txt"),
DrawerItem(71, "ffpm-110", "assets://ffpm-110.txt"), DrawerItem(71, "ffpm-110", "FFPM 110 Nomeko ho anao", "assets://ffpm-110.txt"),
DrawerItem(72, "ffpm-111", "assets://ffpm-111.txt"), DrawerItem(72, "ffpm-111", "FFPM 111 Indro ny Mpamonjy", "assets://ffpm-111.txt"),
DrawerItem(73, "ffpm-118", "assets://ffpm-118.txt"), DrawerItem(73, "ffpm-118", "FFPM 118 Mba jereo ny Zanakondry", "assets://ffpm-118.txt"),
DrawerItem(74, "ffpm-12-1", "assets://ffpm-12-1.txt"), DrawerItem(74, "ffpm-12-1", "FFPM 12 (1) Jehovah ô, derainay Hianao", "assets://ffpm-12-1.txt"),
DrawerItem(75, "ffpm-12-2", "assets://ffpm-12-2.txt"), DrawerItem(75, "ffpm-12-2", "FFPM 12 (2) Jehovah ô, derainay Hianao", "assets://ffpm-12-2.txt"),
DrawerItem(76, "ffpm-123", "assets://ffpm-123.txt"), DrawerItem(76, "ffpm-123", "FFPM 123 Velona Jesosy", "assets://ffpm-123.txt"),
DrawerItem(77, "ffpm-126", "assets://ffpm-126.txt"), DrawerItem(77, "ffpm-126", "FFPM 126 Endrey izato hasambarana", "assets://ffpm-126.txt"),
DrawerItem(78, "ffpm-127", "assets://ffpm-127.txt"), DrawerItem(78, "ffpm-127", "FFPM 127 Tahaka ny masoandro miseho", "assets://ffpm-127.txt"),
DrawerItem(79, "ffpm-129", "assets://ffpm-129.txt"), DrawerItem(79, "ffpm-129", "FFPM 129 Any naraina, Ilay avotr'aina", "assets://ffpm-129.txt"),
DrawerItem(80, "ffpm-1-2", "assets://ffpm-1-2.txt"), DrawerItem(80, "ffpm-1-2", "FFPM 1 - Andriananahary Masina indrindra", "assets://ffpm-1-2.txt"),
DrawerItem(81, "ffpm-131", "assets://ffpm-131.txt"), DrawerItem(81, "ffpm-131", "FFPM 151 Tonga ny andro malaza", "assets://ffpm-131.txt"),
DrawerItem(82, "ffpm-132", "assets://ffpm-132.txt"), DrawerItem(82, "ffpm-132", "FFPM 132 Indro fa velona", "assets://ffpm-132.txt"),
DrawerItem(83, "ffpm-133", "assets://ffpm-133.txt"), DrawerItem(83, "ffpm-133", "FFPM 133 Efa namangy ny olony", "assets://ffpm-133.txt"),
DrawerItem(84, "ffpm-134", "assets://ffpm-134.txt"), DrawerItem(84, "ffpm-134", "FFPM 134 Mifaly tokoa ny foko izao", "assets://ffpm-134.txt"),
DrawerItem(85, "ffpm-136", "assets://ffpm-136.txt"), DrawerItem(85, "ffpm-136", "FFPM 136 Ry Jeso Tompon'aina", "assets://ffpm-136.txt"),
DrawerItem(86, "ffpm-137", "assets://ffpm-137.txt"), DrawerItem(86, "ffpm-137", "FFPM 137 Vita izao ny fandresena", "assets://ffpm-137.txt"),
DrawerItem(87, "ffpm-140-1", "assets://ffpm-140-1.txt"), DrawerItem(87, "ffpm-140-1", "FFPM 140 (1) Haleloia, Miderà ny Tomponao", "assets://ffpm-140-1.txt"),
DrawerItem(88, "ffpm-140-2", "assets://ffpm-140-2.txt"), DrawerItem(88, "ffpm-140-2", "FFPM 140 (2) Haleloia, Miderà ny Tomponao", "assets://ffpm-140-2.txt"),
DrawerItem(89, "ffpm-141", "assets://ffpm-141.txt"), DrawerItem(89, "ffpm-141", "FFPM 141 Efa resy izao", "assets://ffpm-141.txt"),
DrawerItem(90, "ffpm-14", "assets://ffpm-14.txt"), DrawerItem(90, "ffpm-14", "FFPM 14 - O, Ry Tany Rehetra Avia Izao", "assets://ffpm-14.txt"),
DrawerItem(91, "ffpm-153", "assets://ffpm-153.txt"), DrawerItem(91, "ffpm-153", "FFPM 153 Ao an-dapany Jesosy", "assets://ffpm-153.txt"),
DrawerItem(92, "ffpm-154", "assets://ffpm-154.txt"), DrawerItem(92, "ffpm-154", "FFPM 154 Izao Jesosy Tompontsika", "assets://ffpm-154.txt"),
DrawerItem(93, "ffpm-155", "assets://ffpm-155.txt"), DrawerItem(93, "ffpm-155", "FFPM 155 An-tsezam-panjakany", "assets://ffpm-155.txt"),
DrawerItem(94, "ffpm-157", "assets://ffpm-157.txt"), DrawerItem(94, "ffpm-157", "FFPM 157 Hobio ry tra-bonjy", "assets://ffpm-157.txt"),
DrawerItem(95, "ffpm-160", "assets://ffpm-160.txt"), DrawerItem(95, "ffpm-160", "FFPM 160 Kristy Mpanjaka", "assets://ffpm-160.txt"),
DrawerItem(96, "ffpm-161", "assets://ffpm-161.txt"), DrawerItem(96, "ffpm-161", "FFPM 161 Mivelatra eo imasoko", "assets://ffpm-161.txt"),
DrawerItem(97, "ffpm-163", "assets://ffpm-163.txt"), DrawerItem(97, "ffpm-163", "FFPM 163 He, Jesosy tokintsika", "assets://ffpm-163.txt"),
DrawerItem(98, "ffpm-164", "assets://ffpm-164.txt"), DrawerItem(98, "ffpm-164", "FFPM 164 Jesosy irery ihany", "assets://ffpm-164.txt"),
DrawerItem(99, "ffpm-165", "assets://ffpm-165.txt"), DrawerItem(99, "ffpm-165", "FFPM 165 Haleloia! Miderà! Asandrato", "assets://ffpm-165.txt"),
DrawerItem(100, "ffpm-166-new", "assets://ffpm-166-new.txt"), DrawerItem(100, "ffpm-166-new", "FFPM 166 Derao ny Tompo lehibe", "assets://ffpm-166-new.txt"),
DrawerItem(101, "ffpm-166", "assets://ffpm-166.txt"), DrawerItem(101, "ffpm-166", "FFPM 166 Derao ny Tompo lehibe", "assets://ffpm-166.txt"),
DrawerItem(102, "ffpm-16", "assets://ffpm-16.txt"), DrawerItem(102, "ffpm-16", "FFPM 16 Avia, ry vazan-tany ô", "assets://ffpm-16.txt"),
DrawerItem(103, "ffpm-170", "assets://ffpm-170.txt"), DrawerItem(103, "ffpm-170", "FFPM 170 Ry Jeso, ny fitiavanao", "assets://ffpm-170.txt"),
DrawerItem(104, "ffpm-172-1", "assets://ffpm-172-1.txt"), DrawerItem(104, "ffpm-172-1", "FFPM 172 (1) Hoderaiko lalandava", "assets://ffpm-172-1.txt"),
DrawerItem(105, "ffpm-172-2", "assets://ffpm-172-2.txt"), DrawerItem(105, "ffpm-172-2", "FFPM 172 (2) Hoderaiko lalandava", "assets://ffpm-172-2.txt"),
DrawerItem(106, "ffpm-175", "assets://ffpm-175.txt"), DrawerItem(106, "ffpm-175", "FFPM 175 Avia Fanahy ô, Fanahy Masina ô", "assets://ffpm-175.txt"),
DrawerItem(107, "ffpm-178", "assets://ffpm-178.txt"), DrawerItem(107, "ffpm-178", "FFPM 178 Avia Fanahy ô, Midìna", "assets://ffpm-178.txt"),
DrawerItem(108, "ffpm-179", "assets://ffpm-179.txt"), DrawerItem(108, "ffpm-179", "FFPM 179 Ny Fanahy Masina Efa Tonga Tokoa", "assets://ffpm-179.txt"),
DrawerItem(109, "ffpm-17", "assets://ffpm-17.txt"), DrawerItem(109, "ffpm-17", "FFPM 17 - Haja Sy Voninahitra", "assets://ffpm-17.txt"),
DrawerItem(110, "ffpm-180", "assets://ffpm-180.txt"), DrawerItem(110, "ffpm-180", "FFPM 180 Ny Tompo raha vao nanao veloma", "assets://ffpm-180.txt"),
DrawerItem(111, "ffpm-189", "assets://ffpm-189.txt"), DrawerItem(111, "ffpm-189", "FFPM 189 O ry Fanahy Masina ô", "assets://ffpm-189.txt"),
DrawerItem(112, "ffpm-190", "assets://ffpm-190.txt"), DrawerItem(112, "ffpm-190", "FFPM 190 Ry Fanahy Mpanazava, miandrandra Anao", "assets://ffpm-190.txt"),
DrawerItem(113, "ffpm-191", "assets://ffpm-191.txt"), DrawerItem(113, "ffpm-191", "FFPM 191 - Ny Teny Sy Fanahinao", "assets://ffpm-191.txt"),
DrawerItem(114, "ffpm-192", "assets://ffpm-192.txt"), DrawerItem(114, "ffpm-192", "FFPM 192 Andriananahary, Aba Ray", "assets://ffpm-192.txt"),
DrawerItem(115, "ffpm-194", "assets://ffpm-194.txt"), DrawerItem(115, "ffpm-194", "Sans titre", "assets://ffpm-194.txt"),
DrawerItem(116, "ffpm-195-1", "assets://ffpm-195-1.txt"), DrawerItem(116, "ffpm-195-1", "FFPM 195 (1) Andriamanitra Ray, Loharanon'ny aina", "assets://ffpm-195-1.txt"),
DrawerItem(117, "ffpm-195-2", "assets://ffpm-195-2.txt"), DrawerItem(117, "ffpm-195-2", "FFPM 195 (2) Andriamanitra Ray, Loharanon'ny aina", "assets://ffpm-195-2.txt"),
DrawerItem(118, "ffpm-198", "assets://ffpm-198.txt"), DrawerItem(118, "ffpm-198", "FFPM 198 Isaoranay Jehovah", "assets://ffpm-198.txt"),
DrawerItem(119, "ffpm-199", "assets://ffpm-199.txt"), DrawerItem(119, "ffpm-199", "FFPM 199 Misaora, misaora", "assets://ffpm-199.txt"),
DrawerItem(120, "ffpm-19", "assets://ffpm-19.txt"), DrawerItem(120, "ffpm-19", "FFPM 19 Misaotra Anao, 'zahay izao", "assets://ffpm-19.txt"),
DrawerItem(121, "ffpm-202", "assets://ffpm-202.txt"), DrawerItem(121, "ffpm-202", "FFPM 202 Ry Ray malala ô", "assets://ffpm-202.txt"),
DrawerItem(122, "ffpm-203", "assets://ffpm-203.txt"), DrawerItem(122, "ffpm-203", "FFPM 203 Ry Rainay be fitia", "assets://ffpm-203.txt"),
DrawerItem(123, "ffpm-204", "assets://ffpm-204.txt"), DrawerItem(123, "ffpm-204", "FFPM 204 Mamy ny fitianao, ry Jehovah Tompo ô", "assets://ffpm-204.txt"),
DrawerItem(124, "ffpm-209", "assets://ffpm-209.txt"), DrawerItem(124, "ffpm-209", "FFPM 209 Jesosy tena kiady", "assets://ffpm-209.txt"),
DrawerItem(125, "ffpm-20", "assets://ffpm-20.txt"), DrawerItem(125, "ffpm-20", "FFPM 20 Tsaroanay tooka izao", "assets://ffpm-20.txt"),
DrawerItem(126, "ffpm-210", "assets://ffpm-210.txt"), DrawerItem(126, "ffpm-210", "FFPM 210 Zava-tsoa tokoa ny fitsipikao", "assets://ffpm-210.txt"),
DrawerItem(127, "ffpm-211", "assets://ffpm-211.txt"), DrawerItem(127, "ffpm-211", "FFPM 211 Ilay boky izay nodorana", "assets://ffpm-211.txt"),
DrawerItem(128, "ffpm-212", "assets://ffpm-212.txt"), DrawerItem(128, "ffpm-212", "FFPM 212 Velona sy mahery", "assets://ffpm-212.txt"),
DrawerItem(129, "ffpm-213", "assets://ffpm-213.txt"), DrawerItem(129, "ffpm-213", "FFPM 213 Ry fanahy mangetaheta mila fitsaharana", "assets://ffpm-213.txt"),
DrawerItem(130, "ffpm-214", "assets://ffpm-214.txt"), DrawerItem(130, "ffpm-214", "FFPM 214 Finaritra ry Tompo ô ny mankafy ny teninao", "assets://ffpm-214.txt"),
DrawerItem(131, "ffpm-21", "assets://ffpm-21.txt"), DrawerItem(131, "ffpm-21", "FFPM 21 Derao Andriamanitra", "assets://ffpm-21.txt"),
DrawerItem(132, "ffpm-220", "assets://ffpm-220.txt"), DrawerItem(132, "ffpm-220", "FFPM 220 Ry Jeso Tompo, avotray", "assets://ffpm-220.txt"),
DrawerItem(133, "ffpm-221", "assets://ffpm-221.txt"), DrawerItem(133, "ffpm-221", "FFPM 221 Mivory eto izahay", "assets://ffpm-221.txt"),
DrawerItem(134, "ffpm-222", "assets://ffpm-222.txt"), DrawerItem(134, "ffpm-222", "FFPM 222 Ry Lela afo masina", "assets://ffpm-222.txt"),
DrawerItem(135, "ffpm-223", "assets://ffpm-223.txt"), DrawerItem(135, "ffpm-223", "FFPM 223 Mba avia malakia", "assets://ffpm-223.txt"),
DrawerItem(136, "ffpm-224", "assets://ffpm-224.txt"), DrawerItem(136, "ffpm-224", "FFPM 224 Tafavory izahay ka manatona Anao", "assets://ffpm-224.txt"),
DrawerItem(137, "ffpm-225", "assets://ffpm-225.txt"), DrawerItem(137, "ffpm-225", "FFPM 225 Atỳ an-tranonao izao", "assets://ffpm-225.txt"),
DrawerItem(138, "ffpm-229", "assets://ffpm-229.txt"), DrawerItem(138, "ffpm-229", "FFPM 229 Jesosy ô mba hasoavinao", "assets://ffpm-229.txt"),
DrawerItem(139, "ffpm-232", "assets://ffpm-232.txt"), DrawerItem(139, "ffpm-232", "FFPM 232 Ny alahady andronao", "assets://ffpm-232.txt"),
DrawerItem(140, "ffpm-233", "assets://ffpm-233.txt"), DrawerItem(140, "ffpm-233", "FFPM 233 O! Ray malala asehoy", "assets://ffpm-233.txt"),
DrawerItem(141, "ffpm-236", "assets://ffpm-236.txt"), DrawerItem(141, "ffpm-236", "FFPM 236 Avia Tomponay", "assets://ffpm-236.txt"),
DrawerItem(142, "ffpm-237", "assets://ffpm-237.txt"), DrawerItem(142, "ffpm-237", "FFPM 237 Ry Jehovah Tomponay", "assets://ffpm-237.txt"),
DrawerItem(143, "ffpm-238-1", "assets://ffpm-238-1.txt"), DrawerItem(143, "ffpm-238-1", "FFPM 238 (1) Mivory eto izahay", "assets://ffpm-238-1.txt"),
DrawerItem(144, "ffpm-238-2", "assets://ffpm-238-2.txt"), DrawerItem(144, "ffpm-238-2", "FFPM 238 (2) Mivory eto izahay", "assets://ffpm-238-2.txt"),
DrawerItem(145, "ffpm-239-1", "assets://ffpm-239-1.txt"), DrawerItem(145, "ffpm-239-1", "FFPM 239 (1) Ry Jeso! Vory izahay", "assets://ffpm-239-1.txt"),
DrawerItem(146, "ffpm-239-2", "assets://ffpm-239-2.txt"), DrawerItem(146, "ffpm-239-2", "FFPM 239 (2) Ry Jeso! Vory izahay", "assets://ffpm-239-2.txt"),
DrawerItem(147, "ffpm-249", "assets://ffpm-249.txt"), DrawerItem(147, "ffpm-249", "FFPM 249 Tompon'ny lanitra ô! Mba tahio", "assets://ffpm-249.txt"),
DrawerItem(148, "ffpm-250-1", "assets://ffpm-250-1.txt"), DrawerItem(148, "ffpm-250-1", "FFPM 250 (1) Atolotray hatao batisa", "assets://ffpm-250-1.txt"),
DrawerItem(149, "ffpm-250-2", "assets://ffpm-250-2.txt"), DrawerItem(149, "ffpm-250-2", "FFPM 250 (2) Atolotray hatao batisa", "assets://ffpm-250-2.txt"),
DrawerItem(150, "ffpm-251", "assets://ffpm-251.txt"), DrawerItem(150, "ffpm-251", "FFPM 251 Ry Jeso Zana-Janahary", "assets://ffpm-251.txt"),
DrawerItem(151, "ffpm-253", "assets://ffpm-253.txt"), DrawerItem(151, "ffpm-253", "FFPM 253 Avia, ry mpanavotra", "assets://ffpm-253.txt"),
DrawerItem(152, "ffpm-254", "assets://ffpm-254.txt"), DrawerItem(152, "ffpm-254", "FFPM 254 Avia, ry mangetaheta ô,", "assets://ffpm-254.txt"),
DrawerItem(153, "ffpm-255", "assets://ffpm-255.txt"), DrawerItem(153, "ffpm-255", "FFPM 255 Ny ran'ny Zanak'ondry latsaka", "assets://ffpm-255.txt"),
DrawerItem(154, "ffpm-256", "assets://ffpm-256.txt"), DrawerItem(154, "ffpm-256", "FFPM 256 Mivoaka ao Golgota", "assets://ffpm-256.txt"),
DrawerItem(155, "ffpm-257-1", "assets://ffpm-257-1.txt"), DrawerItem(155, "ffpm-257-1", "FFPM 257 (1) Ry Jesosy ô! indreto", "assets://ffpm-257-1.txt"),
DrawerItem(156, "ffpm-257-2", "assets://ffpm-257-2.txt"), DrawerItem(156, "ffpm-257-2", "FFPM 257 (2) Ry Jesosy ô! indreto", "assets://ffpm-257-2.txt"),
DrawerItem(157, "ffpm-259", "assets://ffpm-259.txt"), DrawerItem(157, "ffpm-259", "FFPM 259 Ny latabatrao, ry Jeso", "assets://ffpm-259.txt"),
DrawerItem(158, "ffpm-260", "assets://ffpm-260.txt"), DrawerItem(158, "ffpm-260", "FFPM 260 Ry Kristy ô! malalako", "assets://ffpm-260.txt"),
DrawerItem(159, "ffpm-263", "assets://ffpm-263.txt"), DrawerItem(159, "ffpm-263", "FFPM 263 Mandrenesa ry sofina", "assets://ffpm-263.txt"),
DrawerItem(160, "ffpm-269", "assets://ffpm-269.txt"), DrawerItem(160, "ffpm-269", "FFPM 269 He! tianay ny monina eto", "assets://ffpm-269.txt"),
DrawerItem(161, "ffpm-270", "assets://ffpm-270.txt"), DrawerItem(161, "ffpm-270", "FFPM 270 Ry Tompo izay nanangona", "assets://ffpm-270.txt"),
DrawerItem(162, "ffpm-271", "assets://ffpm-271.txt"), DrawerItem(162, "ffpm-271", "FFPM 271 Mba mivavaha raha vao maraina", "assets://ffpm-271.txt"),
DrawerItem(163, "ffpm-272", "assets://ffpm-272.txt"), DrawerItem(163, "ffpm-272", "FFPM 272 Faly izahay nandre", "assets://ffpm-272.txt"),
DrawerItem(164, "ffpm-273", "assets://ffpm-273.txt"), DrawerItem(164, "ffpm-273", "FFPM 273 He! vokatra ny tany", "assets://ffpm-273.txt"),
DrawerItem(165, "ffpm-274", "assets://ffpm-274.txt"), DrawerItem(165, "ffpm-274", "FFPM 274 Tao an-tany karankaina", "assets://ffpm-274.txt"),
DrawerItem(166, "ffpm-276", "assets://ffpm-276.txt"), DrawerItem(166, "ffpm-276", "FFPM 276 Ry Jehovah, Ray Mpahary", "assets://ffpm-276.txt"),
DrawerItem(167, "ffpm-279", "assets://ffpm-279.txt"), DrawerItem(167, "ffpm-279", "FFPM 279 Raisonao, ry Tompo soa Izato asan-tananay", "assets://ffpm-279.txt"),
DrawerItem(168, "ffpm-281", "assets://ffpm-281.txt"), DrawerItem(168, "ffpm-281", "FFPM 281 Vory eto izahay", "assets://ffpm-281.txt"),
DrawerItem(169, "ffpm-297", "assets://ffpm-297.txt"), DrawerItem(169, "ffpm-297", "FFPM 297 Ry Havanay Malala", "assets://ffpm-297.txt"),
DrawerItem(170, "ffpm-307", "assets://ffpm-307.txt"), DrawerItem(170, "ffpm-307", "FFPM 307 Iza no hanompo an'i Jesoa soa", "assets://ffpm-307.txt"),
DrawerItem(171, "ffpm-310", "assets://ffpm-310.txt"), DrawerItem(171, "ffpm-310", "FFPM 310 Misy maro ao an-tsaha", "assets://ffpm-310.txt"),
DrawerItem(172, "ffpm-311", "assets://ffpm-311.txt"), DrawerItem(172, "ffpm-311", "EWS 15 With Hearts In Love Abounding", "assets://ffpm-311.txt"),
DrawerItem(173, "ffpm-315", "assets://ffpm-315.txt"), DrawerItem(173, "ffpm-315", "FFPM 315 Ry Ziona, mitsangàna", "assets://ffpm-315.txt"),
DrawerItem(174, "ffpm-321", "assets://ffpm-321.txt"), DrawerItem(174, "ffpm-321", "FFPM 321 Ry Jesosy Tomponay", "assets://ffpm-321.txt"),
DrawerItem(175, "ffpm-32", "assets://ffpm-32.txt"), DrawerItem(175, "ffpm-32", "FFPM 32 Misaotra Anao izahay Jehovah Tompo", "assets://ffpm-32.txt"),
DrawerItem(176, "ffpm-332", "assets://ffpm-332.txt"), DrawerItem(176, "ffpm-332", "FFPM 332 Finaritra ny olonao", "assets://ffpm-332.txt"),
DrawerItem(177, "ffpm-33", "assets://ffpm-33.txt"), DrawerItem(177, "ffpm-33", "FFPM 33 - Tompo ô, Tsy Takatray", "assets://ffpm-33.txt"),
DrawerItem(178, "ffpm-352", "assets://ffpm-352.txt"), DrawerItem(178, "ffpm-352", "FFPM 352 Fantatrao va ny Mpamonjy", "assets://ffpm-352.txt"),
DrawerItem(179, "ffpm-353-1", "assets://ffpm-353-1.txt"), DrawerItem(179, "ffpm-353-1", "FFPM 353 (1) Mba sainonao ange", "assets://ffpm-353-1.txt"),
DrawerItem(180, "ffpm-353-2", "assets://ffpm-353-2.txt"), DrawerItem(180, "ffpm-353-2", "FFPM 353 (2) Mba sainonao ange", "assets://ffpm-353-2.txt"),
DrawerItem(181, "ffpm-357", "assets://ffpm-357.txt"), DrawerItem(181, "ffpm-357", "FFPM 357 Efa tonga atỳ izao", "assets://ffpm-357.txt"),
DrawerItem(182, "ffpm-358", "assets://ffpm-358.txt"), DrawerItem(182, "ffpm-358", "FFPM 358 He, ry namako mahantra", "assets://ffpm-358.txt"),
DrawerItem(183, "ffpm-35", "assets://ffpm-35.txt"), DrawerItem(183, "ffpm-35", "FFPM 35 : Isaoranay, Ry Ray", "assets://ffpm-35.txt"),
DrawerItem(184, "ffpm-367", "assets://ffpm-367.txt"), DrawerItem(184, "ffpm-367", "FFPM 367 Ry zanako mania!", "assets://ffpm-367.txt"),
DrawerItem(185, "ffpm-381-1", "assets://ffpm-381-1.txt"), DrawerItem(185, "ffpm-381-1", "FFPM 381 (1) He, ny fiantsoana", "assets://ffpm-381-1.txt"),
DrawerItem(186, "ffpm-381-2", "assets://ffpm-381-2.txt"), DrawerItem(186, "ffpm-381-2", "FFPM 381 (2) He, ny fiantsoana", "assets://ffpm-381-2.txt"),
DrawerItem(187, "ffpm-38", "assets://ffpm-38.txt"), DrawerItem(187, "ffpm-38", "FFPM 38 : He, Hosana", "assets://ffpm-38.txt"),
DrawerItem(188, "ffpm-392", "assets://ffpm-392.txt"), DrawerItem(188, "ffpm-392", "FFPM 392 O mba raiso izao", "assets://ffpm-392.txt"),
DrawerItem(189, "ffpm-408-1", "assets://ffpm-408-1.txt"), DrawerItem(189, "ffpm-408-1", "FFPM 408 (1) Jehovah Ray mahari-po", "assets://ffpm-408-1.txt"),
DrawerItem(190, "ffpm-408-2", "assets://ffpm-408-2.txt"), DrawerItem(190, "ffpm-408-2", "FFPM 408 (2) Jehovah Ray mahari-po", "assets://ffpm-408-2.txt"),
DrawerItem(191, "ffpm-413", "assets://ffpm-413.txt"), DrawerItem(191, "ffpm-413", "FFPM 413 Ry Mpamonjy Tompo soa", "assets://ffpm-413.txt"),
DrawerItem(192, "ffpm-4-1", "assets://ffpm-4-1.txt"), DrawerItem(192, "ffpm-4-1", "FFPM 4 (1) Mamy ny fitianao", "assets://ffpm-4-1.txt"),
DrawerItem(193, "ffpm-42-1", "assets://ffpm-42-1.txt"), DrawerItem(193, "ffpm-42-1", "FFPM 42 (1) Vohay ny varavaram-po", "assets://ffpm-42-1.txt"),
DrawerItem(194, "ffpm-42-2", "assets://ffpm-42-2.txt"), DrawerItem(194, "ffpm-42-2", "FFPM 42 (2) Vohay ny varavaram-po", "assets://ffpm-42-2.txt"),
DrawerItem(195, "ffpm-428", "assets://ffpm-428.txt"), DrawerItem(195, "ffpm-428", "FFPM 428 Reko izao ry Tompo", "assets://ffpm-428.txt"),
DrawerItem(196, "ffpm-4-2", "assets://ffpm-4-2.txt"), DrawerItem(196, "ffpm-4-2", "FFPM 4 (2) Mamy ny fitianao", "assets://ffpm-4-2.txt"),
DrawerItem(197, "ffpm-43", "assets://ffpm-43.txt"), DrawerItem(197, "ffpm-43", "FFPM 43 Manenoa ry farara", "assets://ffpm-43.txt"),
DrawerItem(198, "ffpm-440-1", "assets://ffpm-440-1.txt"), DrawerItem(198, "ffpm-440-1", "FFPM 440. Ry Kristy ô, Mpanjakako", "assets://ffpm-440-1.txt"),
DrawerItem(199, "ffpm-444-1", "assets://ffpm-444-1.txt"), DrawerItem(199, "ffpm-444-1", "FFPM 444 (1) Ry Raiko feno antra", "assets://ffpm-444-1.txt"),
DrawerItem(200, "ffpm-444-2", "assets://ffpm-444-2.txt"), DrawerItem(200, "ffpm-444-2", "FFPM 444 Ry Raiko Feno Antra", "assets://ffpm-444-2.txt"),
DrawerItem(201, "ffpm-449", "assets://ffpm-449.txt"), DrawerItem(201, "ffpm-449", "FFPM 449 'Njay reko Tompo ô", "assets://ffpm-449.txt"),
DrawerItem(202, "ffpm-44", "assets://ffpm-44.txt"), DrawerItem(202, "ffpm-44", "FFPM 44 Indro Jeso mba vohay!", "assets://ffpm-44.txt"),
DrawerItem(203, "ffpm-46", "assets://ffpm-46.txt"), DrawerItem(203, "ffpm-46", "FFPM 46 : O Ry Mpanefa Ny Toky Rehetra", "assets://ffpm-46.txt"),
DrawerItem(204, "ffpm-47", "assets://ffpm-47.txt"), DrawerItem(204, "ffpm-47", "FFPM 47 Ry Ziona, mihainoa", "assets://ffpm-47.txt"),
DrawerItem(205, "ffpm-483", "assets://ffpm-483.txt"), DrawerItem(205, "ffpm-483", "FFPM 483 Zanahariko Tsitoha", "assets://ffpm-483.txt"),
DrawerItem(206, "ffpm-489", "assets://ffpm-489.txt"), DrawerItem(206, "ffpm-489", "FFPM 489 Tena sambatra sy maha-te-ho tia", "assets://ffpm-489.txt"),
DrawerItem(207, "ffpm-490", "assets://ffpm-490.txt"), DrawerItem(207, "ffpm-490", "FFPM 490 Ry Kristiana, andrandrao", "assets://ffpm-490.txt"),
DrawerItem(208, "ffpm-49-1", "assets://ffpm-49-1.txt"), DrawerItem(208, "ffpm-49-1", "FFPM 49 : Mba jereo ny Tompontsika", "assets://ffpm-49-1.txt"),
DrawerItem(209, "ffpm-49-2", "assets://ffpm-49-2.txt"), DrawerItem(209, "ffpm-49-2", "FFPM 49 : Mba jereo ny Tompontsika", "assets://ffpm-49-2.txt"),
DrawerItem(210, "ffpm-501", "assets://ffpm-501.txt"), DrawerItem(210, "ffpm-501", "FFPM 501. Namely Mafy Loatra", "assets://ffpm-501.txt"),
DrawerItem(211, "ffpm-503", "assets://ffpm-503.txt"), DrawerItem(211, "ffpm-503", "FFPM 503 Ry Jeso Tompo tsara ô, tsy azoko valiana", "assets://ffpm-503.txt"),
DrawerItem(212, "ffpm-5-1", "assets://ffpm-5-1.txt"), DrawerItem(212, "ffpm-5-1", "FFPM 5 (1) Jehovah Ray an-danitra", "assets://ffpm-5-1.txt"),
DrawerItem(213, "ffpm-51", "assets://ffpm-51.txt"), DrawerItem(213, "ffpm-51", "FFPM 51 Raha tonga anio ny Tompo", "assets://ffpm-51.txt"),
DrawerItem(214, "ffpm-5-2", "assets://ffpm-5-2.txt"), DrawerItem(214, "ffpm-5-2", "FFPM 5 (2) Jehovah Ray an-danitra", "assets://ffpm-5-2.txt"),
DrawerItem(215, "ffpm-52", "assets://ffpm-52.txt"), DrawerItem(215, "ffpm-52", "FFPM 52 Efa akaiky Jeso Tompo", "assets://ffpm-52.txt"),
DrawerItem(216, "ffpm-539", "assets://ffpm-539.txt"), DrawerItem(216, "ffpm-539", "FFPM 539 - Faly dia faly izahay mpanomponao", "assets://ffpm-539.txt"),
DrawerItem(217, "ffpm-546", "assets://ffpm-546.txt"), DrawerItem(217, "ffpm-546", "FFPM 546 Haleloia, Haleloia, Jeso No Mpamonjiko", "assets://ffpm-546.txt"),
DrawerItem(218, "ffpm-549", "assets://ffpm-549.txt"), DrawerItem(218, "ffpm-549", "549. Jesosy no asandratro", "assets://ffpm-549.txt"),
DrawerItem(219, "ffpm-54", "assets://ffpm-54.txt"), DrawerItem(219, "ffpm-54", "FFPM 54 Jeso Mpamonjy, Ilay Tompon'ny aina", "assets://ffpm-54.txt"),
DrawerItem(220, "ffpm-558", "assets://ffpm-558.txt"), DrawerItem(220, "ffpm-558", "FFPM 558 Ity fonenana ity", "assets://ffpm-558.txt"),
DrawerItem(221, "ffpm-55", "assets://ffpm-55.txt"), DrawerItem(221, "ffpm-55", "FFPM 55 - Ny Andron'ny Fahasoavana", "assets://ffpm-55.txt"),
DrawerItem(222, "ffpm-563", "assets://ffpm-563.txt"), DrawerItem(222, "ffpm-563", "FFPM 563 Ry mana-manjo", "assets://ffpm-563.txt"),
DrawerItem(223, "ffpm-564", "assets://ffpm-564.txt"), DrawerItem(223, "ffpm-564", "FFPM 564 Tsy hita izay androko sisa ety", "assets://ffpm-564.txt"),
DrawerItem(224, "ffpm-56-new", "assets://ffpm-56-new.txt"), DrawerItem(224, "ffpm-56-new", "FFPM 56 Manatona Anao izao", "assets://ffpm-56-new.txt"),
DrawerItem(225, "ffpm-56", "assets://ffpm-56.txt"), DrawerItem(225, "ffpm-56", "FFPM 56 Manatona Anao izao", "assets://ffpm-56.txt"),
DrawerItem(226, "ffpm-57-new", "assets://ffpm-57-new.txt"), DrawerItem(226, "ffpm-57-new", "FFPM 57 Izao Noely mamy izao", "assets://ffpm-57-new.txt"),
DrawerItem(227, "ffpm-57", "assets://ffpm-57.txt"), DrawerItem(227, "ffpm-57", "FFPM 57 Izao Noely mamy izao", "assets://ffpm-57.txt"),
DrawerItem(228, "ffpm-58", "assets://ffpm-58.txt"), DrawerItem(228, "ffpm-58", "FFPM 58 Alina masina", "assets://ffpm-58.txt"),
DrawerItem(229, "ffpm-603-1", "assets://ffpm-603-1.txt"), DrawerItem(229, "ffpm-603-1", "FFPM 603 (1) He sambatra Jesosy ô", "assets://ffpm-603-1.txt"),
DrawerItem(230, "ffpm-603-2", "assets://ffpm-603-2.txt"), DrawerItem(230, "ffpm-603-2", "FFPM 603 (2) He sambatra Jesosy ô", "assets://ffpm-603-2.txt"),
DrawerItem(231, "ffpm-610", "assets://ffpm-610.txt"), DrawerItem(231, "ffpm-610", "FFPM 610 Ny foko ry Jehovah", "assets://ffpm-610.txt"),
DrawerItem(232, "ffpm-611-1", "assets://ffpm-611-1.txt"), DrawerItem(232, "ffpm-611-1", "FFPM 611 (1) Jehovah Ray malala ô", "assets://ffpm-611-1.txt"),
DrawerItem(233, "ffpm-611-2", "assets://ffpm-611-2.txt"), DrawerItem(233, "ffpm-611-2", "FFPM 611 (2) Jehovah Ray malala ô", "assets://ffpm-611-2.txt"),
DrawerItem(234, "ffpm-616", "assets://ffpm-616.txt"), DrawerItem(234, "ffpm-616", "FFPM 616 Rainay be fitia", "assets://ffpm-616.txt"),
DrawerItem(235, "ffpm-61", "assets://ffpm-61.txt"), DrawerItem(235, "ffpm-61", "Sans titre", "assets://ffpm-61.txt"),
DrawerItem(236, "ffpm-626", "assets://ffpm-626.txt"), DrawerItem(236, "ffpm-626", "FFPM 626 Jeso Tompo mamindrà fo", "assets://ffpm-626.txt"),
DrawerItem(237, "ffpm-636", "assets://ffpm-636.txt"), DrawerItem(237, "ffpm-636", "FFPM 636 Hianao ry Jeso ô", "assets://ffpm-636.txt"),
DrawerItem(238, "ffpm-640", "assets://ffpm-640.txt"), DrawerItem(238, "ffpm-640", "FFPM 640 Misy fahavalo maro", "assets://ffpm-640.txt"),
DrawerItem(239, "ffpm-642-1", "assets://ffpm-642-1.txt"), DrawerItem(239, "ffpm-642-1", "FFPM 642 (1) Hitako izao sakaiza", "assets://ffpm-642-1.txt"),
DrawerItem(240, "ffpm-642-2", "assets://ffpm-642-2.txt"), DrawerItem(240, "ffpm-642-2", "FFPM 642 (2) Hitako izao sakaiza", "assets://ffpm-642-2.txt"),
DrawerItem(241, "ffpm-653", "assets://ffpm-653.txt"), DrawerItem(241, "ffpm-653", "FFPM 653 Sakaiza, raha tia ny Tompo ianao", "assets://ffpm-653.txt"),
DrawerItem(242, "ffpm-674", "assets://ffpm-674.txt"), DrawerItem(242, "ffpm-674", "FFPM 674 Ry mpivahiny reraka sy ana", "assets://ffpm-674.txt"),
DrawerItem(243, "ffpm-69", "assets://ffpm-69.txt"), DrawerItem(243, "ffpm-69", "FFPM 69 Zaza masina sy soa, nefa ory Hianao", "assets://ffpm-69.txt"),
DrawerItem(244, "ffpm-6", "assets://ffpm-6.txt"), DrawerItem(244, "ffpm-6", "FFPM 6 - Avia Miondreha", "assets://ffpm-6.txt"),
DrawerItem(245, "ffpm-705-2", "assets://ffpm-705-2.txt"), DrawerItem(245, "ffpm-705-2", "FFPM 705 (2) Ry Tompo, Zanaharinay, Jereo", "assets://ffpm-705-2.txt"),
DrawerItem(246, "ffpm-71", "assets://ffpm-71.txt"), DrawerItem(246, "ffpm-71", "FFPM 71 Mihainoa, mihainoa", "assets://ffpm-71.txt"),
DrawerItem(247, "ffpm-725", "assets://ffpm-725.txt"), DrawerItem(247, "ffpm-725", "FFPM 725 Alina ny andro", "assets://ffpm-725.txt"),
DrawerItem(248, "ffpm-726-1", "assets://ffpm-726-1.txt"), DrawerItem(248, "ffpm-726-1", "FFPM 726 (1) Efa hariva, Jesoa tia", "assets://ffpm-726-1.txt"),
DrawerItem(249, "ffpm-726-2", "assets://ffpm-726-2.txt"), DrawerItem(249, "ffpm-726-2", "FFPM 726 (2) Efa hariva, Jeso tia", "assets://ffpm-726-2.txt"),
DrawerItem(250, "ffpm-729", "assets://ffpm-729.txt"), DrawerItem(250, "ffpm-729", "FFPM 729 Ry Jehovah Ray Tsitoha", "assets://ffpm-729.txt"),
DrawerItem(251, "ffpm-72", "assets://ffpm-72.txt"), DrawerItem(251, "ffpm-72", "FFPM 72 Teraka Jesosy Tomponay", "assets://ffpm-72.txt"),
DrawerItem(252, "ffpm-733", "assets://ffpm-733.txt"), DrawerItem(252, "ffpm-733", " FFPM 733 Ny fihaonana an-tany", "assets://ffpm-733.txt"),
DrawerItem(253, "ffpm-734", "assets://ffpm-734.txt"), DrawerItem(253, "ffpm-734", "FFPM 734 Zanahary ô, tahio", "assets://ffpm-734.txt"),
DrawerItem(254, "ffpm-735", "assets://ffpm-735.txt"), DrawerItem(254, "ffpm-735", "FFPM 735 Arovy, ry Tsitoha", "assets://ffpm-735.txt"),
DrawerItem(255, "ffpm-737", "assets://ffpm-737.txt"), DrawerItem(255, "ffpm-737", "FFPM 737 Ry Ray, tahionao", "assets://ffpm-737.txt"),
DrawerItem(256, "ffpm-750", "assets://ffpm-750.txt"), DrawerItem(256, "ffpm-750", "FFPM 750 Dera, laza, ry Mpanjaka", "assets://ffpm-750.txt"),
DrawerItem(257, "ffpm-75", "assets://ffpm-75.txt"), DrawerItem(257, "ffpm-75", "FFPM 75 Andro malaza", "assets://ffpm-75.txt"),
DrawerItem(258, "ffpm-760", "assets://ffpm-760.txt"), DrawerItem(258, "ffpm-760", "FFPM 760 Aza Mba Manadino", "assets://ffpm-760.txt"),
DrawerItem(259, "ffpm-79-1", "assets://ffpm-79-1.txt"), DrawerItem(259, "ffpm-79-1", "FFPM 79 Sambasamba Zanahary", "assets://ffpm-79-1.txt"),
DrawerItem(260, "ffpm-79-2", "assets://ffpm-79-2.txt"), DrawerItem(260, "ffpm-79-2", "FFPM 79 (2) Sambasamba Zanahary", "assets://ffpm-79-2.txt"),
DrawerItem(261, "ffpm-796", "assets://ffpm-796.txt"), DrawerItem(261, "ffpm-796", "Sans titre", "assets://ffpm-796.txt"),
DrawerItem(262, "ffpm-799", "assets://ffpm-799.txt"), DrawerItem(262, "ffpm-799", "FFPM 799 Zaza sambatra tokoa", "assets://ffpm-799.txt"),
DrawerItem(263, "ffpm-7", "assets://ffpm-7.txt"), DrawerItem(263, "ffpm-7", "FFPM 7 Misaora an'Andriamanitra", "assets://ffpm-7.txt"),
DrawerItem(264, "ffpm-82-1", "assets://ffpm-82-1.txt"), DrawerItem(264, "ffpm-82-1", "FFPM 82 (1) He Zaza mahasambatra", "assets://ffpm-82-1.txt"),
DrawerItem(265, "ffpm-82-2", "assets://ffpm-82-2.txt"), DrawerItem(265, "ffpm-82-2", "FFPM 82 (2) He Zaza mahasambatra", "assets://ffpm-82-2.txt"),
DrawerItem(266, "ffpm-825", "assets://ffpm-825.txt"), DrawerItem(266, "ffpm-825", "FFPM 825 (2) Raha manjavona ny andro", "assets://ffpm-825.txt"),
DrawerItem(267, "ffpm-87", "assets://ffpm-87.txt"), DrawerItem(267, "ffpm-87", "FFPM 87 Nitomany ny Mpamonjy", "assets://ffpm-87.txt"),
DrawerItem(268, "ffpm-89", "assets://ffpm-89.txt"), DrawerItem(268, "ffpm-89", "FFPM 89 He, mijaly ny Mpamonjy", "assets://ffpm-89.txt"),
DrawerItem(269, "ffpm-8", "assets://ffpm-8.txt"), DrawerItem(269, "ffpm-8", "FFPM 8 - Dera Laza, Hery, Haja", "assets://ffpm-8.txt"),
DrawerItem(270, "ffpm-91", "assets://ffpm-91.txt"), DrawerItem(270, "ffpm-91", "FFPM 91 O fitiavan-dalina", "assets://ffpm-91.txt"),
DrawerItem(271, "ffpm-93", "assets://ffpm-93.txt"), DrawerItem(271, "ffpm-93", "FFPM 93 Nampalahelo Anao mafy re", "assets://ffpm-93.txt"),
DrawerItem(272, "ffpm-94", "assets://ffpm-94.txt"), DrawerItem(272, "ffpm-94", "FFPM 94 Gologota no jereo", "assets://ffpm-94.txt"),
DrawerItem(273, "ffpm-97-1", "assets://ffpm-97-1.txt"), DrawerItem(273, "ffpm-97-1", "FFPM 97 'Lay fonao tia tao Gologota", "assets://ffpm-97-1.txt"),
DrawerItem(274, "ffpm-97-2", "assets://ffpm-97-2.txt"), DrawerItem(274, "ffpm-97-2", "FFPM 97 (2) 'Lay fonao tia tao Gologota", "assets://ffpm-97-2.txt"),
DrawerItem(275, "ffpm-9", "assets://ffpm-9.txt") DrawerItem(275, "ffpm-9", "Sans titre", "assets://ffpm-9.txt")
) )
} }

View file

@ -6,11 +6,14 @@ import kotlinx.coroutines.launch
import mg.dot.feufaro.FileRepository import mg.dot.feufaro.FileRepository
import java.io.ByteArrayInputStream import java.io.ByteArrayInputStream
import java.io.File import java.io.File
import java.util.prefs.Preferences
import javax.sound.midi.MidiSystem import javax.sound.midi.MidiSystem
import javax.sound.midi.Sequencer import javax.sound.midi.Sequencer
import javax.sound.midi.ShortMessage import javax.sound.midi.Synthesizer //import javax.sound.midi.ShortMessage
import javax.sound.midi.Synthesizer //import javax.sound.midi.Synthesizer
import javax.sound.sampled.* import javax.sound.sampled.AudioFormat
import javax.sound.sampled.AudioSystem
import javax.sound.sampled.FloatControl
//private var sequencer: javax.sound.midi.Sequencer?= null //private var sequencer: javax.sound.midi.Sequencer?= null
actual class MediaPlayer actual constructor( actual class MediaPlayer actual constructor(
@ -20,11 +23,13 @@ actual class MediaPlayer actual constructor(
private var sequencer: Sequencer? = try { private var sequencer: Sequencer? = try {
MidiSystem.getSequencer(false) MidiSystem.getSequencer(false)
} catch (e: Exception){ } catch (e: Exception){
println("Erreur impossible obtenir ${e.message}") println("Erreur impossible obtenir ${e.message}")
null null
} }
private var synthetizer: Synthesizer? = MidiSystem.getSynthesizer() private val prefs = Preferences.userRoot().node("mg.dot.feufaro")
private var synthetizer = MidiSystem.getSynthesizer() as Synthesizer?
private var pointA: Long = -1L private var pointA: Long = -1L
private var pointB: Long = -1L private var pointB: Long = -1L
@ -37,16 +42,20 @@ actual class MediaPlayer actual constructor(
private var currentTempo: Float = 1.0f private var currentTempo: Float = 1.0f
init { init {
try {
sequencer?.open() sequencer?.open()
synthetizer?.open() synthetizer?.open()
val transmitter = sequencer?.transmitter val transmitter = sequencer?.transmitter
val synthReceiver = synthetizer?.receiver val synthReceiver = synthetizer?.receiver
transmitter?.receiver = synthReceiver transmitter?.receiver = synthReceiver
} catch (e: Exception) {
e.printStackTrace()
}
val file = File(filename) val file = File(filename)
if (file.exists()){ if (file.exists()){
sequencer?.sequence = MidiSystem.getSequence(file) sequencer?.sequence = MidiSystem.getSequence(file)
loadVoiceStates()
applyVoiceStates() applyVoiceStates()
sequencer?.addMetaEventListener { meta -> sequencer?.addMetaEventListener { meta ->
if(meta.type == 47){ if(meta.type == 47){
@ -55,6 +64,7 @@ actual class MediaPlayer actual constructor(
} }
} }
} }
actual fun play(){ actual fun play(){
if (sequencer!!.isOpen){ if (sequencer!!.isOpen){
sequencer?.start() sequencer?.start()
@ -67,7 +77,8 @@ actual class MediaPlayer actual constructor(
actual fun stop(){ actual fun stop(){
sequencer?.stop() sequencer?.stop()
sequencer?.microsecondPosition = 0 sequencer?.microsecondPosition = 0
// disableLoop() clearLoop()
release()
} }
actual fun getDuration(): Long { actual fun getDuration(): Long {
return (sequencer?.microsecondLength ?: 0L) / 1000 return (sequencer?.microsecondLength ?: 0L) / 1000
@ -80,7 +91,7 @@ actual class MediaPlayer actual constructor(
} }
fun release() { fun release() {
sequencer?.close() sequencer?.close()
// synthetizer?.close() synthetizer?.close()
} }
actual fun setVolume(level: Float) { actual fun setVolume(level: Float) {
try { try {
@ -162,6 +173,7 @@ actual class MediaPlayer actual constructor(
actual fun toggleVoice(index: Int) { actual fun toggleVoice(index: Int) {
voiceStates[index] = !voiceStates[index] voiceStates[index] = !voiceStates[index]
saveVoiceStates()
applyVoiceStates() applyVoiceStates()
} }
@ -209,32 +221,34 @@ actual class MediaPlayer actual constructor(
sequencer?.tempoFactor = factor sequencer?.tempoFactor = factor
} }
fun getTempo(): Float = currentTempo fun getTempo(): Float = currentTempo
} private val MS8PER_NOTE = 500L
fun seekToNote(index: Int) {
/* try {
sequencer?.let { sequencer ->
private var sequencer: javax.sound.midi.Sequencer?= null if (sequencer.isOpen) {
actual fun MidiPlayer(filename: String, onFinished: () -> Unit) { val targetPos = index * MS8PER_NOTE * 1000
val file = File(filename) sequencer.microsecondPosition = targetPos
if (file.exists()){
StopMidi()
sequencer = MidiSystem.getSequencer().apply {
open()
sequence = MidiSystem.getSequence(file)
addMetaEventListener { meta ->
if(meta.type == 47){
onFinished()
} }
} }
start() } catch (e: Exception) {
} e.printStackTrace()
}
}
private fun saveVoiceStates() {
val data = voiceStates.joinToString(",")
prefs.put("voice_states", data)
}
private fun loadVoiceStates() {
val defaultValue = "true,true,true,true"
val savedData = prefs.get("voice_states", defaultValue)
val states = savedData.split(",").map { it.toBoolean() }
for (i in 0 until 4) {
if (i < states.size) voiceStates[i] = states[i]
} }
} }
actual fun StopMidi() {
if(sequencer?.isRunning == true){
sequencer?.stop()
sequencer?.close()
} }
}*/