A flashcard app for drilling on spellings of words based on audio recordings
Go to file
Kartik K. Agaram b45ccee9af Merge template-live-editor 2024-09-19 15:01:15 -07:00
assets flesh out Readme 2023-01-08 08:11:15 -08:00
0000-freewheeling-start Merge template-live-editor 2023-04-16 11:26:36 -07:00
0001-on wire up mouse move handler 2023-12-26 08:28:23 -08:00
0002-Debug_animations_in_progress debug animations 2023-11-11 10:00:54 -08:00
0002-on.draw Merge template-live-editor 2023-04-16 11:26:36 -07:00
0003-Font_height Merge template-live-editor 2023-04-16 11:26:36 -07:00
0003-refresh_debug_animations debug animations 2023-11-11 10:00:54 -08:00
0004-Line_height Merge template-live-editor 2023-04-16 11:26:36 -07:00
0004-on.update debug animations 2023-11-11 10:00:54 -08:00
0005-Words Merge template-live-editor 2023-04-16 11:26:36 -07:00
0005-animate debug animations 2023-11-11 10:00:54 -08:00
0006-Cursor_word Merge template-live-editor 2023-04-16 11:26:36 -07:00
0006-loiter debug animations 2023-11-11 10:00:54 -08:00
0007-save_callstack debug animations 2023-11-11 10:00:54 -08:00
0007-teach_mouse_release Merge template-live-editor 2023-04-16 11:26:36 -07:00
0008-Debug_animation_period debug animations 2023-11-11 10:00:54 -08:00
0008-teach_keychord_press Merge template-live-editor 2023-04-16 11:26:36 -07:00
0009-teach_text_input Merge template-live-editor 2023-04-16 11:26:36 -07:00
0010-on.mouse_press Merge template-live-editor 2023-04-16 11:26:36 -07:00
0011-on.mouse_release Merge template-live-editor 2023-04-16 11:26:36 -07:00
0012-on.text_input Merge template-live-editor 2023-04-16 11:26:36 -07:00
0013-on.key_release Merge template-live-editor 2023-04-16 11:26:36 -07:00
0014-teach_key_release Merge template-live-editor 2023-04-16 11:26:36 -07:00
0015-draw_teach_word Merge template-live-editor 2023-04-16 11:26:36 -07:00
0016-on_word Merge template-live-editor 2023-04-16 11:26:36 -07:00
0017-teach_mouse_press Merge template-live-editor 2023-04-16 11:26:36 -07:00
0018-to_word_idx Merge template-live-editor 2023-04-16 11:26:36 -07:00
0019-on_record Merge template-live-editor 2023-04-16 11:26:36 -07:00
0020-on_play Merge template-live-editor 2023-04-16 11:26:36 -07:00
0021-draw_teach_screen Merge template-live-editor 2023-04-16 11:26:36 -07:00
0022-draw_new_word_button Merge template-live-editor 2023-04-16 11:26:36 -07:00
0023-on_new_word_button Merge template-live-editor 2023-04-16 11:26:36 -07:00
0024-Playing_source Merge template-live-editor 2023-04-16 11:26:36 -07:00
0025-draw_playing_button Merge template-live-editor 2023-04-16 11:26:36 -07:00
0026-Recording_device Merge template-live-editor 2023-04-16 11:26:36 -07:00
0027-draw_recording_button Merge template-live-editor 2023-04-16 11:26:36 -07:00
0028-Recording_word Merge template-live-editor 2023-04-16 11:26:36 -07:00
0029-draw_record_button Merge template-live-editor 2023-04-16 11:26:36 -07:00
0030-draw_play_button Merge template-live-editor 2023-04-16 11:26:36 -07:00
0031-save_wav Merge template-live-editor 2023-04-16 11:26:36 -07:00
0032-exists Merge template-live-editor 2023-04-16 11:26:36 -07:00
0033-file_exists Merge template-live-editor 2023-04-16 11:26:36 -07:00
0034-record Merge template-live-editor 2023-04-16 11:26:36 -07:00
0035-Workbook Merge template-live-editor 2023-04-16 11:26:36 -07:00
0036-Mode Merge template-live-editor 2023-04-16 11:26:36 -07:00
0037-on.save_settings Merge template-live-editor 2023-04-16 11:26:36 -07:00
0038-on.initialize Merge template-live-editor 2023-04-16 11:26:36 -07:00
0039-Answer_idx Merge template-live-editor 2023-04-16 11:26:36 -07:00
0040-draw_learn_screen Merge template-live-editor 2023-04-16 11:26:36 -07:00
0041-learn_mouse_press Merge template-live-editor 2023-04-16 11:26:36 -07:00
0042-learn_mouse_release Merge template-live-editor 2023-04-16 11:26:36 -07:00
0043-learn_text_input Merge template-live-editor 2023-04-16 11:26:36 -07:00
0044-learn_key_release Merge template-live-editor 2023-04-16 11:26:36 -07:00
0045-new_word Merge template-live-editor 2023-12-29 15:41:15 -08:00
0046-on.load_settings no need to check for nil settings 2023-07-10 19:25:29 -07:00
0047-play Merge template-live-editor 2023-04-16 11:26:36 -07:00
0048-learn_initialize Merge template-live-editor 2023-12-29 15:41:15 -08:00
0049-learn_keychord_press Merge template-live-editor 2023-04-16 11:26:36 -07:00
0050-on.keychord_press Merge template-live-editor 2023-04-16 11:26:36 -07:00
LICENSE.txt add a license 2022-05-16 18:51:28 -07:00
Manual_tests.md Merge text0 2023-12-07 01:22:19 -08:00
MemoryReferenceInfo.lua.0 remove some memory leaks from rendered fragments 2022-06-10 11:16:41 -07:00
MemoryReferenceInfo.lua.unused clean up memory leak experiments 2022-06-10 13:46:59 -07:00
README.md Merge text.love 2024-09-08 22:56:52 -07:00
app.lua Merge text0 2024-06-11 12:54:49 -07:00
button.lua bugfix :( 2023-12-18 21:39:01 -08:00
default_map suggest a default layout for freewheeling apps 2023-11-11 10:31:25 -08:00
edit.lua Merge text0 2024-09-19 13:59:31 -07:00
file.lua audit all asserts 2023-11-18 11:32:01 -08:00
json.lua forgot to add json.lua 2022-05-15 14:36:25 -07:00
keychord.lua support for num pad 2023-07-07 18:40:12 -07:00
live.lua reset font size on error 2024-07-09 21:36:52 -07:00
main.lua Merge template-live-editor 2024-09-10 21:12:07 -07:00
nativefs.lua cleaner API for file-system access 2023-08-30 19:04:06 -07:00
reference.md fix some names in documentation 2024-06-16 05:18:59 -07:00
sample.wav playing is done 2023-03-09 16:33:16 -08:00
search.lua Merge text0 2024-06-11 12:54:49 -07:00
select.lua Merge lines.love 2024-09-01 01:17:22 -07:00
test.lua show another detail on test failure 2023-01-20 21:48:49 -08:00
text.lua Merge text0 2024-09-01 01:31:05 -07:00
text_tests bugfix: clear selection when clicking above or below lines 2023-09-20 13:39:29 -07:00
text_tests.lua Merge text0 2024-06-11 12:54:49 -07:00
undo.lua Merge lines.love 2024-09-01 01:17:22 -07:00
wav.lua bugfix: creating wav file on first run 2023-03-19 13:34:17 -07:00

README.md

A flashcard app for drilling spellings of words

0 dependencies!

A flashcard app for spellings of words based on audio recordings. Press Tab to toggle to "teacher" mode where you can add words and record audio for them.

This repo is an example of a Freewheeling App, designed above all to be easy to run, easy to modify and easy to share.

Getting started

Install LÖVE. It's just a 5MB download, open-source and extremely well-behaved.

Run the app using LÖVE.

Hacking

To modify it live without restarting the app each time, download the driver app. Here's an example session using a different freewheeling app:

making changes without restarting the app

Some reference documentation on how to create your own apps.

If the app being modified by the driver lives in a .love file, your changes will go into the save directory. If it lives in a directory (like this repo), your changes will go straight into the same directory.

Keyboard shortcuts

  • # to toggle between teacher and student mode

In teaching mode:

  • ctrl+n to add a new word

Exclusively tested so far with a US keyboard layout. If you use a different layout, please let me know if things worked, or if you found anything amiss: http://akkartik.name/contact

Known issues

Mirrors and Forks

This repo is a fork of lines.love, an editor for plain text where you can also seamlessly insert line drawings. Its immediate upstream is the template repo for freewheeling apps. Updates to it can be downloaded from the following mirrors:

Further forks are encouraged. If you show me your fork, I'll link to it here.

Feedback

Most appreciated. Messages, PRs, patches, forks, it's all good.