Skip to content

Commit 9f7faf2

Browse files
committed
minor
1 parent d2fea29 commit 9f7faf2

File tree

31 files changed

+433
-381
lines changed

31 files changed

+433
-381
lines changed

android/phiola/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ android {
88
applicationId "com.github.stsaz.phiola"
99
minSdkVersion 16
1010
targetSdk 33
11-
versionCode 20701
12-
versionName '2.7-beta1'
11+
versionCode 20702
12+
versionName '2.7-beta2'
1313
}
1414

1515
buildFeatures {
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
/** phiola/Android: config
2+
2024, Simon Zolin */
3+
4+
package com.github.stsaz.phiola;
5+
6+
import java.util.Arrays;
7+
8+
class Conf {
9+
Conf(Phiola phi) {}
10+
11+
private int[] fields; // {off, len, number}...
12+
private byte[] data;
13+
String value(int i) {
14+
return new String(Arrays.copyOfRange(data, fields[i*3], fields[i*3] + fields[i*3 + 1]));
15+
}
16+
int number(int i) { return fields[i*3 + 2]; }
17+
boolean enabled(int i) { return fields[i*3 + 2] == 1; }
18+
void reset() {
19+
fields = null;
20+
data = null;
21+
}
22+
23+
static final int
24+
CODEPAGE = 0,
25+
CONV_AAC_Q = CODEPAGE + 1,
26+
CONV_COPY = CONV_AAC_Q + 1,
27+
CONV_FILE_DATE_PRES = CONV_COPY + 1,
28+
CONV_FORMAT = CONV_FILE_DATE_PRES + 1,
29+
CONV_MP3_Q = CONV_FORMAT + 1,
30+
CONV_NEW_ADD_LIST = CONV_MP3_Q + 1,
31+
CONV_OPUS_Q = CONV_NEW_ADD_LIST + 1,
32+
CONV_OUT_DIR = CONV_OPUS_Q + 1,
33+
CONV_OUT_NAME = CONV_OUT_DIR + 1,
34+
LIST_ACTIVE = CONV_OUT_NAME + 1,
35+
LIST_ADD_RM_ON_NEXT = LIST_ACTIVE + 1,
36+
LIST_CURPOS = LIST_ADD_RM_ON_NEXT + 1,
37+
LIST_RANDOM = LIST_CURPOS + 1,
38+
LIST_REPEAT = LIST_RANDOM + 1,
39+
LIST_RM_ON_ERR = LIST_REPEAT + 1,
40+
LIST_RM_ON_NEXT = LIST_RM_ON_ERR + 1,
41+
OP_DATA_DIR = LIST_RM_ON_NEXT + 1,
42+
OP_DEPRECATED_MODS = OP_DATA_DIR + 1,
43+
OP_FILE_DELETE = OP_DEPRECATED_MODS + 1,
44+
OP_MLIB_DIR = OP_FILE_DELETE + 1,
45+
OP_PLIST_SAVE_DIR = OP_MLIB_DIR + 1,
46+
OP_TRASH_DIR_REL = OP_PLIST_SAVE_DIR + 1,
47+
PLAY_AUTO_NORM = OP_TRASH_DIR_REL + 1,
48+
PLAY_AUTO_SKIP = PLAY_AUTO_NORM + 1,
49+
PLAY_AUTO_SKIP_TAIL = PLAY_AUTO_SKIP + 1,
50+
PLAY_AUTO_STOP = PLAY_AUTO_SKIP_TAIL + 1,
51+
PLAY_EQLZ_ENABLED = PLAY_AUTO_STOP + 1,
52+
PLAY_EQUALIZER = PLAY_EQLZ_ENABLED + 1,
53+
PLAY_RG_NORM = PLAY_EQUALIZER + 1,
54+
REC_BITRATE = PLAY_RG_NORM + 1,
55+
REC_BUF_LEN = REC_BITRATE + 1,
56+
REC_CHANNELS = REC_BUF_LEN + 1,
57+
REC_DANORM = REC_CHANNELS + 1,
58+
REC_ENC = REC_DANORM + 1,
59+
REC_EXCLUSIVE = REC_ENC + 1,
60+
REC_GAIN = REC_EXCLUSIVE + 1,
61+
REC_LIST_ADD = REC_GAIN + 1,
62+
REC_LONGCLICK = REC_LIST_ADD + 1,
63+
REC_NAME = REC_LONGCLICK + 1,
64+
REC_PATH = REC_NAME + 1,
65+
REC_RATE = REC_PATH + 1,
66+
REC_SRC_PRESET = REC_RATE + 1,
67+
REC_UNTIL = REC_SRC_PRESET + 1,
68+
UI_COLOR = REC_UNTIL + 1,
69+
UI_CURPATH = UI_COLOR + 1,
70+
UI_EXPLORER_SCROLL = UI_CURPATH + 1,
71+
UI_FILTER_HIDE = UI_EXPLORER_SCROLL + 1,
72+
UI_INFO_IN_TITLE = UI_FILTER_HIDE + 1,
73+
UI_LIST_NAMES = UI_INFO_IN_TITLE + 1,
74+
UI_LIST_SCROLL_POS = UI_LIST_NAMES + 1,
75+
UI_MLIB_SCROLL_POS = UI_LIST_SCROLL_POS + 1,
76+
UI_PLAYBACK_MARKER = UI_MLIB_SCROLL_POS + 1,
77+
UI_PLAYBACK_MARKER_POS = UI_PLAYBACK_MARKER + 1,
78+
UI_RECORD_HIDE = UI_PLAYBACK_MARKER_POS + 1,
79+
UI_SVC_NOTFN_DISABLE = UI_RECORD_HIDE + 1,
80+
UI_THEME = UI_SVC_NOTFN_DISABLE + 1,
81+
UI_VIEW = UI_THEME + 1
82+
;
83+
native boolean confRead(String filepath);
84+
native boolean confWrite(String filepath, byte[] data);
85+
}

android/phiola/src/main/java/com/github/stsaz/phiola/Queue.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,8 @@ class Queue {
181181
F_RM_ON_NEXT = 8,
182182
F_RM_ON_ERR = 0x10,
183183
F_AUTO_NORM = 0x20,
184-
F_RG_NORM = 0x40;
184+
F_RG_NORM = 0x40,
185+
F_ALL = 0xff;
185186
private int flags;
186187
void flags_set1(int mask, boolean val) {
187188
int i = 0;

android/phiola/src/main/java/com/github/stsaz/phiola/Settings.java

Lines changed: 49 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33

44
package com.github.stsaz.phiola;
55

6+
import java.util.Arrays;
7+
68
class AutoSkip {
79
int val;
810

@@ -216,11 +218,29 @@ class RecSettings {
216218
"AAC-LC",
217219
"AAC-HE",
218220
"AAC-HEv2",
219-
"MP3",
220221
"FLAC",
222+
"MP3",
221223
"Opus",
222224
"Opus-VOIP"
223225
};
226+
static final int[] rec_encoders = {
227+
Phiola.AF_AAC_LC,
228+
Phiola.AF_AAC_HE,
229+
Phiola.AF_AAC_HE2,
230+
Phiola.AF_FLAC,
231+
Phiola.AF_MP3,
232+
Phiola.AF_OPUS,
233+
Phiola.AF_OPUS_VOICE,
234+
};
235+
static final String[] rec_extensions = {
236+
"m4a",
237+
"m4a",
238+
"m4a",
239+
"flac",
240+
"mp3",
241+
"opus",
242+
"opus",
243+
};
224244
static final String[] rec_src_presets = {
225245
"default",
226246
"generic",
@@ -245,20 +265,20 @@ class RecSettings {
245265
}
246266

247267
void conf_load(Conf c) {
248-
rec_path = c.value(Conf.REC_PATH);
249-
rec_name_template = c.value(Conf.REC_NAME);
250-
rec_enc = c.value(Conf.REC_ENC);
251-
rec_channels = c.number(Conf.REC_CHANNELS);
252-
rec_rate = c.number(Conf.REC_RATE);
253-
rec_bitrate = c.number(Conf.REC_BITRATE);
254-
rec_buf_len_ms = c.number(Conf.REC_BUF_LEN);
255-
rec_danorm = c.enabled(Conf.REC_DANORM);
256-
rec_exclusive = c.enabled(Conf.REC_EXCLUSIVE);
257-
rec_src_preset = c.value(Conf.REC_SRC_PRESET);
258-
rec_list_add = c.enabled(Conf.REC_LIST_ADD);
259-
rec_longclick = c.enabled(Conf.REC_LONGCLICK);
260-
rec_until_sec = core.str_to_uint(c.value(Conf.REC_UNTIL), rec_until_sec);
261-
rec_gain_db100 = c.number(Conf.REC_GAIN);
268+
rec_path = c.value(Conf.REC_PATH);
269+
rec_name_template = c.value(Conf.REC_NAME);
270+
rec_enc = c.value(Conf.REC_ENC);
271+
rec_channels = c.number(Conf.REC_CHANNELS);
272+
rec_rate = c.number(Conf.REC_RATE);
273+
rec_bitrate = c.number(Conf.REC_BITRATE);
274+
rec_buf_len_ms = c.number(Conf.REC_BUF_LEN);
275+
rec_danorm = c.enabled(Conf.REC_DANORM);
276+
rec_exclusive = c.enabled(Conf.REC_EXCLUSIVE);
277+
rec_src_preset = c.value(Conf.REC_SRC_PRESET);
278+
rec_list_add = c.enabled(Conf.REC_LIST_ADD);
279+
rec_longclick = c.enabled(Conf.REC_LONGCLICK);
280+
rec_until_sec = core.str_to_uint(c.value(Conf.REC_UNTIL), rec_until_sec);
281+
rec_gain_db100 = c.number(Conf.REC_GAIN);
262282
}
263283

264284
String conf_write() {
@@ -299,28 +319,12 @@ void normalize() {
299319
if (rec_name_template.isEmpty())
300320
rec_name_template = "rec-@year@month@day-@hour@minute@second";
301321

302-
switch (rec_enc) {
303-
case "AAC-LC":
304-
case "AAC-HE":
305-
case "AAC-HEv2":
306-
rec_fmt = "m4a";
307-
break;
308-
case "FLAC":
309-
rec_fmt = "flac";
310-
break;
311-
312-
case "Opus":
313-
case "Opus-VOIP":
314-
rec_fmt = "opus";
315-
break;
316-
317-
case "MP3":
318-
rec_fmt = "mp3"; break;
319-
320-
default:
321-
rec_fmt = "m4a";
322+
int i = Arrays.asList(rec_formats).indexOf(rec_enc);
323+
if (i < 0) {
322324
rec_enc = "AAC-LC";
323-
break;
325+
rec_fmt = "m4a";
326+
} else {
327+
rec_fmt = rec_extensions[i];
324328
}
325329

326330
if (rec_bitrate <= 0)
@@ -401,15 +405,15 @@ class ConvertSettings {
401405
}
402406

403407
void conf_load(Conf c) {
404-
conv_out_dir = c.value(Conf.CONV_OUT_DIR);
405-
conv_out_name = c.value(Conf.CONV_OUT_NAME);
406-
conv_format = c.value(Conf.CONV_FORMAT);
407-
conv_aac_quality = c.number(Conf.CONV_AAC_Q);
408-
conv_opus_quality = c.number(Conf.CONV_OPUS_Q);
409-
conv_mp3_quality = c.number(Conf.CONV_MP3_Q) - 1;
410-
conv_copy = c.enabled(Conf.CONV_COPY);
411-
conv_file_date_preserve = c.enabled(Conf.CONV_FILE_DATE_PRES);
412-
conv_new_add_list = c.enabled(Conf.CONV_NEW_ADD_LIST);
408+
conv_out_dir = c.value(Conf.CONV_OUT_DIR);
409+
conv_out_name = c.value(Conf.CONV_OUT_NAME);
410+
conv_format = c.value(Conf.CONV_FORMAT);
411+
conv_aac_quality = c.number(Conf.CONV_AAC_Q);
412+
conv_opus_quality = c.number(Conf.CONV_OPUS_Q);
413+
conv_mp3_quality = c.number(Conf.CONV_MP3_Q) - 1;
414+
conv_copy = c.enabled(Conf.CONV_COPY);
415+
conv_file_date_preserve = c.enabled(Conf.CONV_FILE_DATE_PRES);
416+
conv_new_add_list = c.enabled(Conf.CONV_NEW_ADD_LIST);
413417
}
414418

415419
String conf_write() {

0 commit comments

Comments
 (0)