This is the README file for JYMAG (Jig Your Music and Graphics), a program for communicating with mobile phones.
JYMAG's main functionality is retrieving and sending multimedia and other objects from and to AT-based phones or devices, like a Sagem mobile phone (tested on Linux with a "Sagem MY X5-2").
JYMAG can also be used with other phones and devices (modems) and serve as a general-purpose serial port terminal or a Java library for programmers.
Author: Bogdan Drozdowski, bogdro AT users . sourceforge . net
(English accepted, just say '[SOFT]
' in the title).
License: GPLv3+ for the program, MIT License for the launching helper programs (jymag*.exe). See the COPYING file.
Requirements:
uucp
and lock
user groups should be enough. If not,
add write permissions to the /var/lock
directory.
Run ant jar
in the JYMAG directory to build the application.
Using Apache NetBeans: open the JYMAG directory as a NetBeans Project and click "Run" (or press F6).
By hand (after unpacking):
JYMAG-X.Y\dist\JYMAG.jar
file (works on MS Windows) orrun.bat
(on MS Windows) or./run.sh
(on Un*x) orjava -jar JYMAG/dist/JYMAG.jar
(on Un*x) orjava -jar JYMAG\dist\JYMAG.jar
(on MS Windows)JYMAG-X.Y\dist\JYMAG.jar
and run.sh
to one directory in a suitable location
(like in your PATH
). Running ./run.sh
will be enough. The java
binary
must be in your PATH
environment variable.JYMAG-X.Y\dist\JYMAG.jar
and run.bat
to one directory in a suitable location
(like in your PATH
). Running run.bat
will be enough.
When using the second approach, the java.exe
binary must be
in your PATH
environment variable too.Requirements:
uucp
and lock
user groups should be enough. If not,
add write permissions to the /var/lock
directory.
Using Apache NetBeans: choose the English
configuration from the dropdown menu at the top
and click the "Run" button.
You can also open the JYMAG folder as a NetBeans Project,
right-click the project's root element in the project's tree on the
left side of the window (the "Projects" sub-window), then click "Properties".
Click "Run" in the tree and put
-Duser.language=en -Duser.country=US
in the "VM Options" field. Click OK and click "Run" (or press F6).
By hand (after unpacking):
run-en.bat
(on MS Windows) or./run-en.sh
(on Un*x) orjava -jar -Duser.language=en -Duser.country=US JYMAG/dist/JYMAG.jar
(on Un*x) orjava -jar -Duser.language=en -Duser.country=US JYMAG\dist\JYMAG.jar
(on MS Windows)JYMAG-X.Y\dist\JYMAG.jar
and run-en.sh
to one directory in a suitable location
(like in your PATH
). Running ./run-en.sh
will be enough. The java
binary
must be in your PATH
environment variable.JYMAG-X.Y\dist\JYMAG.jar
and run-en.bat
to one directory in a suitable location
(like in your PATH
). Running run-en.bat
will be enough.
When using the second approach, the java.exe
binary must be
in your PATH
environment variable too.Requirements for compiling:
Compiling using Apache NetBeans: open the JYMAG folder as a NetBeans Project and click "Build Main Project" (or press F11) if it is your main project (bold font). If it's not your main project, right-click the JYMAG project icon and click "Build".
Compiling using "ant" from NetBeans (you may need to provide the full path to "ant"):
cd JYMAG-X.Y ant jar
Compiling by hand (you may need to provide the full path to "javac"):
cd JYMAG/src/BogDroSoft/jymag/ javac *.java
cd JYMAG\src\BogDroSoft\jymag javac *.java
Phone setup: connect it to the computer using a cable or IrDA or whatever works. Switch the transmission on in the phone, if necessary. If using a cable, select "Automatic speed" in the configuration.
The default parameters in JYMAG should work in most cases. If needed, you can set the port parameters manually.
No need to connect to the phone. Start by selecting the tab you're interested in (photos, ringtones, ...). Click on "Get list" to connect to the phone and get the list of elements. Select the elements you wish to download and click "Download selected". Choose the destination directory. The downloaded files will show up in the selected location.
To upload an element, simply click the "Upload" button. Getting the list isn't necessary. You can also drag&drop the files you want to upload on any of the tables (except the alarms and SMS messages).
To edit an alarm, double click the cell in the table. Edit the values, but keep the format unchanged.
To read an SMS message, select it in the table and choose "Download selected". A new window will appear allowing you to read the message.
To send an SMS message, click the "Upload" button. A new window will appear allowing you to type the phone number and the message body.
The following command-line (case-insensitive) options are supported:
--conf <file>
- read configuration from <file>
--databits <5,6,7,8>
- sets the number of data bits
(default: 8)--delete-after-download
- delete the downloaded elements if
downloaded successfully--delete-alarm <N>
- delete the alarm number N
--delete-element <ID>
- delete the element (file) with the given ID
--delete-sms <N>
- delete the SMS message with ID=N
--dial-data <number>
- dials the given number for a data connection--dial-voice <number>
- dials the given number for a voice connection--download-all-animations
- downloads all animations/videos
from the phone and exits--download-all-events
- downloads all events from the phone
and exits--download-all-photos
- downloads all photos from the phone
and exits--download-all-ringtones
- downloads all ringtones from the
phone and exits--download-all-todo
- downloads all to-do tasks from the
phone and exits--download-all-vcards
- downloads all addressbook entries
from the phone and exits--download-all
- combines all "download" options
and exits--download-dir <dir>
- sets the default download directory--flow <none,soft,hard,soft+hard>
- sets the flow control mode
(default: none)--hangup
- stops the current call, if any--help
- display help--lang LL_CC_VV
- select the language to use by JYMAG:
LL
is the language, CC
is the
country code, VV
is the variant.
Separate them using underscores.
Only LL
is required.--license
, --licence
- display license information--list-alarms
- display the alarms in the phone--list-elements
- display the elements (files) in the phone--list-sms
- display the SMS messages in the phone--parity <none, even, odd, space, mark>
- sets the parity mode
(default: none)--port <filename>
- sets the default port--scan
- scans available ports for "OK"
replies and exits the program--send-cmd-file <file>
- sends the contents of the given file
(as commands or data or mix of these)--send-sms <number> <msg>
- send the given <msg>
message as an
SMS to the given recipient <number>
--speed <1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200,
230400, 460800, 500000, 576000, 921600, 1000000, 1152000,
1500000, 2000000, 2500000, 3000000, 3500000, 4000000>
- sets the port speed
(default: 115200)--stopbits <1,1.5,2>
- sets the number of stop bits
(default: 1)--update-alarm "DD/MM/YY,HH:MM:SS",N,"days"
- updates the given
alarm in the phone. N
is the alarm
number. Days
are comma-separated
numbers (1-Monday) or 0 for all days--upload <filename>
- uploads the given file to the phone
and exits--version
, -v
- display program versionSome ringtones received from the phone may be in AMR format. You can convert those to other formats using other software, like the free "Mobile Media Converter". If it doesn't work, use the FFMPEG program attached to the "Mobile Media Converter" like this:
ffmpeg -i Ring.amr -ar 44100 Ring.wav
To convert a ringtone to a WAV format accepted by the phone, use the following command:
ffmpeg -i <ringtone file> -ar 8000 -t 10 -ac 1 -acodec adpcm_ima_wav <output file>.wav
(the number after "-t
" is the ringtone duration in seconds). I've only been
able to upload ringtones created with the above command. It may be possible
to upload longer ringtones, in greater sampling rates, stereo, ..., but
I haven't tried all that (my 30-second ringtones are rejected).
You can also use IMYplay to convert IMY ringtones to sample files and then to WAV files.
To translate the program to your language, make a copy of each *.properties
file. Rename these files so they end with your language and country code,
for example:
AboutBox_en_GB.properties
,
MainWindow_de_DE.properties
,
RawCommunicator_pt_BR.properties
Then open each file in UTF-8 mode and translate the words AFTER the "=" in each line. When you've finished all the files, send them to me. Remember, UTF-8, NOT ISO-8859-*, NOT windows-*, NOT cp*.
NOTE: If you change the words before the "=", your translations won't be seen by the program.
NOTE: Alternatively, use can use the Apache NetBeans IDE to translate. Just open the JYMAG project, right-click any of the main properties' file, choose "Add" and "Locale". Choose your language and select OK. Now right-click the chosen file and select "Open". Edit the strings in your language.
Not JYMAG's fault. Make sure:
Click "Scan ports". If an answer is received, the correct port should be selected in the combo box. If not, an error will show up. Try closing the program and starting it at least 3 more times. If no success, check your drivers and connection.
class not found/java.lang.NoClassDefFoundError
" messages.
Run java
with its full path, like /usr/bin/java -jar JYMAG.jar
.
You can also try adding the path to RxTx to your CLASSPATH
environment
variable (create one if it doesn't exist). Try adding both the directory
containing the RXTXcomm.jar file and the path to the file to CLASSPATH
.
Mine sometimes are corrupted too. I can't help it. Some elements get downloaded correctly at the first attempt, some require a few attempts, and some require a lot of attempts. Since it works one time and doesn't work the other time, it's not JYMAG's fault. Since it works, the program is written correctly. It's the connection that is unreliable. The original program was even worse - the connection broke in the middle of transmission and you had to click "Connect" over and over again and some pictures were corrupted too. Have patience. If you know how to make this better, contact me (e-mail at the top of this file).
Check if your phone accepts the given file format, either by using the capabilities' button in the main window, or by sending
AT+KPSCAP="X"
(with the double quotes) in the "Manual commands" window. The X can be:
PICTURES
, SOUNDS
, VTODO
,
VEVENT
, VCARDS
, ANIMATIONS
.
Any defects or issues can be reported by e-mail (you can find it at the top of this file) or in the SourceForge project defect manager.
Any improvement suggestions can be reported by e-mail (you can find it at the top of this file) or in the SourceForge project ticket manager.
jymag.log
in your report. It should be
in the current JYMAG working directory.jymag.log
still exists after
closing the program and is not empty, include it in your report.