GithubHelp home page GithubHelp logo

crazy-marvin / morse Goto Github PK

View Code? Open in Web Editor NEW
137.0 9.0 30.0 11.49 MB

Translator for converting text into morse code and vice-versa

Home Page: https://crazymarvin.com/morse/

License: Apache License 2.0

Java 100.00%
morse hacktoberfest morse-decoder cipher dot codebreaker special-characters weblate

morse's People

Contributors

ahohnmyc avatar andriannobella avatar badlop avatar comradekingu avatar crazymarvin avatar dependabot-preview[bot] avatar dependabot[bot] avatar fahadsaleem avatar fastact avatar fejd avatar heinrichreimer avatar lisapple avatar luc65r avatar michaelpratana avatar poipoipoipoipoipoipoipoipoi avatar poopjournal avatar rult avatar sebastien46 avatar snaik20 avatar tacothedank avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

morse's Issues

Updates from Play store when installed via F-Droid.

Like the title says. Play did a security update an hour ago, 1800UTC. No updates pending in F-Droid or Play Store. Wouldn't have caught except I was about to use my phone when I saw the update notification. For whatever reason, Play Store update notifications aren't persistent like the other apps.
What's really going on with this app?

Google Play Version 1.9 can't be opened

java.lang.RuntimeException: Unable to start activity ComponentInfo{rocks.poopjournal.morse/rocks.poopjournal.morse.MainActivity}: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.

Torch Flashing on Samsung Galaxy S7 edge

This feedback came in:

Hi,

Some feedback on the excellent Morse app.

Everything is fine apart from the torch flashing. If I type in 'SOS', for example, the app flashes 6 long dashes with no discernable difference between supposed dats and dits, i.e. no dits.

The front screen flashing is perfect.

This app could literally be a life saver in a rescue situation if stranded in remote territory. The torch flashing would be a great way of attracting attention and sending a help message to say a rescue aircraft. Or at sea at night. Great idea.

I am using a Samsung Galaxy S7 edge. Android 8.
Regards

The torch flashing seems to be working correctly on other devices though, for example the Galaxy Tab of the same user:

I just tried the v 1.5 app on my Samsung Galaxy Tab A 10.05 (2018) and the torch is working OK

If anyone experiences the same issue (or not) please comment here.

Morse 1.6 flashlight button

I updated from 1.5 to 1.6 today and the flashlight button just flashes one long flash without doing anything more. But I thought the previous version 1.5 functioned correctly on off on off, etc, etc. I think my android version is 9.1.

Space (represented with slash) functions as an indefinite dash on screen flash mode

Description

When the output reaches a space (represented in the program as a slash) it makes the screen become white indefinitely. You can only solve it by manually closing the program and opening it again, but then your message is lost and you have to recreate one without spaces.

Steps to reproduce

  1. Type any message that contains a space (such as "a a"; or even something as simple as a single space " ")
  2. Click the screen flash button
  3. Observe that the screen is white indefinitely.

Expected behavior

According to Wikipedia and the various other Issues raised, there is a mandatory gap between dots and dashes as follows:

  1. The length of signal absence (gap) between dots/dashes is the length of a dot. (In the code, I think this should be structured as a separate variable not linked to the length of the dot's flash)
  2. The gap between letters is equal to a dash (meaning 3 dots). (Once again, this variable should probably not be scaled based on the previous item's variable)
  3. The gap between words (AKA a space) is equal to 7 dots.

Therefore, the space (represented as "/" in the program) must be a mandatory pause that does not activate the screen and should have the same time as seven dots.

Ideally, the user should be able to control the length of signal absence between ditdah, letter, and word.

Tech info

Device: Any Android device or emulator

Additional context

I think it would also be nice if we could change the color that gets projected through the screen using a color picker, so I could set it to red RGB (255,0,0) and it wouldn't be so hard on the eyes. I had to use the screen flash mode because the flashlight mode is buggy and doesn't have a gap between dots and dashes, causing every letter and every word to be one long dash.

Use smartphone's LED flashlight for translation

First, thanks for this useful and open source application. 🙂

Maybe it would be interesting to add the possibility of translating into Morse thanks to the smartphone's flashlight, in addition to the sound translation, if possible.

Font Size

The font size is very tiny, this makes it hard to read text or Morse code.
Please make the font size bigger or include an option for choosing the font size.

Confusing paragraph in readme

This passage in your readme is totally incorrect:

Since people rarely communicate via telegraph, nowadays there are very few people who can memorize Morse codes. Instead, it has become a way to encode something or special characters for special purposes. Of course, these special characters are still widely used in many situations, you don’t know when you are going to really need it. 

Excuse me? Where is this known? Cite your source. As an amateur radio operator (my call sign is my username), I find that the developer is either totally ignorant of CW (NOT the broadcast TV network) and its current use today, or 2, not a licensed ham.

I am concerned regarding this as a licensed ham, where ham radio is a dying art... but we need to keep the hobby alive. What would happen if the cell towers went down? Hams provide help. Please, I extend a plea to find a ham radio club and get your license. You can start with http://www.arrl.org/find-an-amateur-radio-license-exam-session and it's $15. Morse code is not required for any test now, but still is alive and well. Morse code is still used on QRP (low power) HF communication.

CW (Morse code) is not cryptography! FCC Part 97 prohibits any cipher or other obfuscation to hide the meaning of your transmission.

Please fix your README.MD. The information is totally wrong regarding Morse code.

73, W9JYD

Last Sound Is Lost

The last sound on a sequence is not played. E.g. SOS shows . . . _ _ _ . . . but only plays back . . . _ _ _ . .

In the meantime I add an extra E to the end

No torch? Can crash

✍️ Describe the bug

Tablet has haptic feedback, no torch…
Crash result inconsistent. Closes by itself but sometimes android has "not responding" even with screen flashing behind message, a "mistaken" crash?

💣 Steps to reproduce

Perhaps selecting both options screen/torch can trigger it.

🔧 Expected behavior

It does pause a bit if I hit torch while screen flashing

📱 Tech info

  • Device: Lenovo TB-X505F
  • OS: android 10
  • Version: v2

📄 Additional context

Screen and torch buttons are close together, can hit wrong one

Morse Code Timing

This feedback came in:

The dats and dits are clearly of different lengths. Maybe the dits could be a bit shorter?

What do you think of that proposal?

java.lang.NullPointerException: Attempt to invoke virtual method 'void android.hardware.Camera.release()' on a null object reference

Hello, I maybe found a bug when using this app.
Just click the place shown in the picture below for several times, and the bug will be triggered.

截屏2022-11-22 12 04 39

Here is the error message:

java.lang.NullPointerException: Attempt to invoke virtual method 'void android.hardware.Camera.release()' on a null object reference
 	at rocks.poopjournal.morse.MainActivity.lambda$setKeySelectedForTelegraph$25$rocks-poopjournal-morse-MainActivity(MainActivity.java:1267)
 	at rocks.poopjournal.morse.MainActivity$$ExternalSyntheticLambda9.run(Unknown Source:2)
 	at android.os.Handler.handleCallback(Handler.java:942)
 	at android.os.Handler.dispatchMessage(Handler.java:99)
 	at android.os.Looper.loopOnce(Looper.java:201)
 	at android.os.Looper.loop(Looper.java:288)
 	at android.app.ActivityThread.main(ActivityThread.java:7898)
 	at java.lang.reflect.Method.invoke(Native Method)
 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)

I think maybe in somewhere the field camera is assigned to null before the Runnable posted in MainActivity#setKeySelectedForTelegraph executes.

Everything Is One Word

Review on Google Play:

I have but one greivance. It dosen't add the / , so everything I type is one word. You gotta put the slash inbetween. Example: "hello world" .... . .-.. .-.. --- / .-- --- .-. .-.. -.. "helloworld" .... . .-.. .-.. --- .-- --- .-. .-.. -..

Support punctuations

If this app could be able to convert a punctuation to morse code or vice versa, this app can present not only a simple phrase like SOS or Hello World but also a complete sentence.

New input method: Morse key

This feedback came in:

I used to be a radio ham 50 odd years ago and still use Morse in my electronic projects (search Deodorino). Lately I've been aware that a few of my acquaintances have unfortunately suffered strokes leaving them with speech problems. With this in mind, would it take much to add to your excellent project the facility to generate Morse by tapping the screen?
[...]
As for tapping the screen, we used to send Morse code by pressing a switch ( Morse 'key') which was connected to the transmitter. If you pressed the switch the transmitter was 'on' for as long as you pressed, so by pressing for short and long periods we sent the codes. On a mobile phone screen it would be necessary to switch on the screen, led, or speaker tone whenever there was finger contact. The sender adjusts the speed automatically in this case.
[...]
The amount of time the finger is in contact with the screen would determine whether a dot, dash, space etc was intended.

I think this video shows it quite nicely.

Add screenshot to README.md

Hi, it would be great if you added a screenshot in README.md so people can see what does the app look like.
I honestly find it looks great, it is unfortunate to not show it!

Enhance flashing screen output

This feedback came in:

[...] can I suggest that there be two screen flash modes:

  1. as it is now, whole screen flashing,
  2. just a small area at the top of screen, say 1cm^2 or 2cm^2.

I found the whole screen flash difficult at close range, but it would be OK over a distance. I seem to recall that the eye is most sensitive to yellow/orange light, as in the sodium lamps on the roadside. [...]

No pause between letters?

(I'm using 1.5 from F-Droid. Sorry if this is fixed in 1.6; that's not on F-Droid at the moment.)

As far as I can tell, there are no pauses between letters. For example, if I enter "ssiii" and then press the screen-flashing button, my screen flashes 12 times and I can't discern any variation in timing.

Even if there is some variation I'm not able to perceive, I'm sure this is wrong, both based on my (extremely limited) experience and based on some reading. See for example this Wikipedia section on Morse code timing or this random other page. "ssiii" for example should look like this (= represents a beat spent on, . represents a beat spent off)

=.=.=...=.=.=...=.=...=.=...=.=

What I am observing from the app is more like this:

==.==.==.==.==.==.==.==.==.==.==.==

(There is a similar issue when I press the speaker button instead of the screen-flashing button, but it is compounded by a second bug, which is that the audio seems to cut in and out at the wrong times.)

Crash in fdroid release

When I installed and opened the app, it keeps on crashing.
Device: SM P555
Achitecture: Armeabi v7a
OS: 7 Nougat

Send phrases, automated output

⚠️ Is your feature request related to a problem? Please describe

Not a problem, an application. I have used ToneDef for automated output, your app seems to be a neat way to do it as well, but, that type of output would not be useful to most people, so I am going to ask about sending phrases.
Examples:
"How are you?" "Nearby" "yell out" "come back" "go home" "don't do it" "proceed"
"Check on them" "[keep/toss] it" "something's up" "go get it" "seen that before" "take a break" "look back"

💡 Describe the solution you'd like

Requirements.
I cannot read the code I will be sending so a description field is needed (e.g. Travis's Callsign). The code I may use could be just Ts and Es.
I would like to adjust the speed.

📊 Describe alternatives you've considered

Can't think of any other app or way…

📄 Additional context

The installed phrases as a scrollable list. The automated output idea was to communicate with a machine, so pushbutton-like trigger for code output.

🙋 Do you want to develop this feature yourself?

  • Yes
  • No
  • no idea how, got a tutorial? I'll decide afterwards.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.