JYMAG - Read Me

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.


Running

Requirements:

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):

You can also do one of the following:

Running in the default language (no translations)

Requirements:

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):

You can also do one of the following:

Compiling (if necessary)

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"):


Usage (GUI)

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.


Usage (command line)

The following command-line (case-insensitive) options are supported:


Converting ringtones

Some 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.


Translating

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.


If not working

  1. The phone's port doesn't show up on the list.

    Not JYMAG's fault. Make sure:


  2. Getting the list(s) fails.

    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.

  3. The program doesn't start and gives "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.

  4. Downloaded elements are corrupted.

    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).

  5. JYMAG sends a file, but the phone rejects it.

    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.


Reporting problems

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.

  1. Check if you have the newest versions of JYMAG.

  2. Include your Java and RxTx version numbers. See if the program works with a newer/older version of Java/RxTx. If it works with an older version, but not with a new one, your problem is solved, but still tell me the problematic version numbers.

  3. Include precise steps for reproducing the error, if possible. This will make finding the problem easier.

  4. If the program crashed, include jymag.log in your report. It should be in the current JYMAG working directory.

  5. If the program exited normally, but the jymag.log still exists after closing the program and is not empty, include it in your report.

  6. Try with another phone or file, if possible.

  7. Take all the information from the above steps and any additional information you can give (like a minimalistic input file that causes the problem) and add it to the defect report.