diff options
Diffstat (limited to 'app/src/main/res')
| -rw-r--r-- | app/src/main/res/layout/activity_main.xml | 111 | ||||
| -rw-r--r-- | app/src/main/res/layout/activity_player.xml | 20 | ||||
| -rw-r--r-- | app/src/main/res/values/strings.xml | 32 |
3 files changed, 130 insertions, 33 deletions
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index e919117..2f3a1ac 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -65,27 +65,113 @@ android:scaleType="centerInside" android:src="@android:color/transparent" /> - <com.wuhei.reccoon.WaveformView + <androidx.appcompat.widget.AppCompatCheckBox + android:id="@+id/compressCheckbox" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center_horizontal" + android:layout_marginTop="4dp" + android:contentDescription="@string/compress_recording" + android:text="@string/compress_short" + android:textColor="@color/text_secondary" + android:textSize="13sp" /> + + <LinearLayout + android:id="@+id/inputRow" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center_horizontal" + android:layout_marginTop="4dp" + android:gravity="center_vertical" + android:orientation="horizontal"> + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/input_label" + android:textColor="@color/text_secondary" + android:textSize="13sp" /> + + <Spinner + android:id="@+id/inputSpinner" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginStart="8dp" + android:minWidth="180dp" /> + </LinearLayout> + + <LinearLayout + android:id="@+id/outputRow" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center_horizontal" + android:layout_marginTop="4dp" + android:gravity="center_vertical" + android:orientation="horizontal"> + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/output_label" + android:textColor="@color/text_secondary" + android:textSize="13sp" /> + + <Spinner + android:id="@+id/outputSpinner" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginStart="8dp" + android:minWidth="180dp" /> + </LinearLayout> + + <androidx.appcompat.widget.AppCompatCheckBox + android:id="@+id/monitorCheckbox" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center_horizontal" + android:layout_marginTop="2dp" + android:contentDescription="@string/monitor_recording" + android:text="@string/monitor_short" + android:textColor="@color/text_secondary" + android:textSize="13sp" /> + + <com.tomcooks.reccoon.WaveformView android:id="@+id/waveformView" android:layout_width="match_parent" android:layout_height="64dp" android:layout_marginTop="16dp" /> - <com.wuhei.reccoon.LevelMeterView + <com.tomcooks.reccoon.LevelMeterView android:id="@+id/levelMeter" android:layout_width="match_parent" android:layout_height="38dp" android:layout_marginTop="10dp" /> - <Button - android:id="@+id/markButton" + <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:layout_marginTop="6dp" - android:enabled="false" - android:minWidth="140dp" - android:text="@string/mark_action" /> + android:gravity="center" + android:orientation="horizontal"> + + <Button + android:id="@+id/markButton" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:enabled="false" + android:minWidth="130dp" + android:text="@string/mark_action" /> + + <Button + android:id="@+id/discardButton" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginStart="10dp" + android:enabled="false" + android:minWidth="130dp" + android:text="@string/discard_action" /> + </LinearLayout> <LinearLayout android:id="@+id/optionsRow" @@ -116,6 +202,17 @@ android:textSize="13sp" /> </LinearLayout> + <androidx.appcompat.widget.AppCompatCheckBox + android:id="@+id/swapCheckbox" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center_horizontal" + android:layout_marginTop="2dp" + android:contentDescription="@string/swap_channels" + android:text="@string/swap_short" + android:textColor="@color/text_secondary" + android:textSize="13sp" /> + <TextView android:id="@+id/statusText" android:layout_width="match_parent" diff --git a/app/src/main/res/layout/activity_player.xml b/app/src/main/res/layout/activity_player.xml index 6ba1190..2bb2f54 100644 --- a/app/src/main/res/layout/activity_player.xml +++ b/app/src/main/res/layout/activity_player.xml @@ -159,25 +159,11 @@ android:textSize="18sp" android:textStyle="bold" /> - <LinearLayout + <Spinner + android:id="@+id/modelSpinner" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_marginTop="8dp" - android:orientation="horizontal"> - - <Spinner - android:id="@+id/languageSpinner" - android:layout_width="0dp" - android:layout_height="wrap_content" - android:layout_weight="1" /> - - <Spinner - android:id="@+id/modelSpinner" - android:layout_width="0dp" - android:layout_height="wrap_content" - android:layout_marginStart="10dp" - android:layout_weight="1" /> - </LinearLayout> + android:layout_marginTop="8dp" /> <Button android:id="@+id/transcribeButton" diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 416ce5e..6bab640 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,13 +1,16 @@ <?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">RECCoon</string> - <string name="subtitle">by wuhei · v1.4.0-alpha</string> + <string name="subtitle">by Tom Cooks · v1.0.0</string> <string name="timer_zero">00:00</string> <string name="footer">44.1 kHz · 16-bit · PCM (WAV) · cue markers</string> <string name="status_idle">Tap the button to start recording</string> <string name="status_recording">Recording… tap again to stop and save</string> <string name="status_saving">Saving to Downloads…</string> + <string name="status_discarding">Discarding…</string> + <string name="discarded">Recording discarded</string> + <string name="discard_action">Discard</string> <string name="cd_record">Start recording</string> <string name="cd_stop">Stop and save</string> @@ -22,8 +25,22 @@ <string name="mono_short">Mono</string> <string name="mono_recording">Record in mono (half file size)</string> + <string name="compress_short">Compressed (small M4A)</string> + <string name="compress_recording">Save a compressed M4A instead of a WAV (much smaller, lossy)</string> + <string name="input_label">Mic</string> + <string name="input_auto">Auto (Android picks)</string> + <string name="input_phone">Phone mic (built-in)</string> <string name="silence_short">Silence alerts</string> <string name="silence_recording">Silence notifications & vibrations while recording</string> + <string name="swap_short">Swap L/R</string> + <string name="swap_channels">Swap the left and right channels (use this if the meters are inverted)</string> + <string name="monitor_short">Monitor</string> + <string name="monitor_recording">Play the microphone through the selected output while recording</string> + <string name="monitor_warning">Monitoring live audio can cause feedback — use headphones.</string> + <string name="err_monitor">Could not start live monitoring</string> + <string name="output_label">Out</string> + <string name="output_auto">Auto (system default)</string> + <string name="output_speaker">Phone speaker</string> <string name="dnd_title">Allow Do Not Disturb</string> <string name="dnd_message">To silence notifications and vibrations while recording, allow RECCoon access to Do Not Disturb.</string> <string name="dnd_open_settings">Open settings</string> @@ -49,9 +66,10 @@ <string name="export_failed">Export failed: %1$s</string> <string name="err_share">Could not share this file</string> <string name="notification_channel">Recording</string> + <string name="model_download_channel">Model download</string> <string name="notification_recording">Recording audio…</string> <string name="recordings_title">Recordings</string> - <string name="recordings_subtitle">Saved in Downloads · reccoon-*.wav</string> + <string name="recordings_subtitle">Saved in Downloads · reccoon-*.wav / *.m4a</string> <string name="recordings_empty">No recordings yet.\nTap the record button to make one.</string> <string name="badge_transcript">TXT</string> @@ -63,15 +81,11 @@ <string name="transcribe_title">Transcription (on-device)</string> <string name="transcribe_action">Transcribe</string> - <string name="transcribe_hint">Choose a language and model, then tap Transcribe.</string> - <string name="lang_auto">Auto detect</string> - <string name="lang_en">English</string> - <string name="lang_it">Italiano</string> - <string name="model_tiny">Tiny (fast)</string> - <string name="model_base">Base (better)</string> + <string name="transcribe_hint">Tap Transcribe to run Parakeet v3 on this recording.</string> + <string name="model_download_title">Download model</string> - <string name="model_download_message">The %1$s multilingual Whisper model is required (about %2$s). Download it now over Wi-Fi?</string> + <string name="model_download_message">The %1$s model is required (about %2$s). Download it now over Wi-Fi?</string> <string name="download">Download</string> <string name="cancel">Cancel</string> <string name="status_model_ready">Model ready</string> |
