Welcome to Xumsoft.com

 

Xumsoft provides custom software solutions for Montana and the Northwest. Why 'outsource' or 'offshore' when you can do business with a local company that understands and shares your needs and concerns? Drawing on years of experience, we can do anything! From Web development, telephony, accounting software, image processing to hardware programming, image processing and speech recognition.

Additionally, we provide a wide variety of open source software and tutorials. Our flagship product is Perlbox-voice, bringing voice command and control to the Linux desktop.

 

Enable MP3 Support on Samsung SCH-a930

Posted by Shane C. Mason on Jan 27th, 2007

I recently bought the Samsung SCH-a930 from Verizon. While it is generally a great phone, I was rather disappointed when I found out that it does not support MP3 playback. As a Linux user, I am no fan of WMA files, so I searched for a solution to the problem. It turns out that it was easier than I thought, since the phone supports it but Verizon disables it. The following steps will enable MP3 support if you have a micro sd card.

Access the phone’s ‘Debug’ mode

    1. Press the ‘OK’ button to enter the main menu
    2. Press the right arrow button to get the Tools and Settings menu
    3. Press # to enter the Debug menu
    4. Enter six zeros as the passcode 000000

Turn on MP3 support

    1. Press 0 to access the correct menu
    2. Enter the following passcode: 8886573982
    3. Select option ‘4′ labeled MP3

Your phone should now have a directory labeled MY_MP3S. Copy your music there. The main problem? You can only play them by accessing this menu. Otherwise, you will need to convert your MP3’s to WMA files.

Quick JAXB Tutorial

Posted by Shane C. Mason on Jan 25th, 2007

This tutorial is designed to get you up an running with JAXB. You should already be familiar with XML, XML Schema and XML objectification.

JAXB ( Java XML Bindings ) is a system for binding XML to Java objects ( objectification ), which you can then manipulate like any Java object. It uses the Schema file to map XML types to Java types. The process is pretty simple: install JAXB, create a valid xsd schema, compile the schema to Java sources and the use them in your code.

Installing JAXB

You’ll need to download the Java Web Service Pack. The installation is pretty straightforward. Once you have it installed, you’ll need to add a set of libraries to your CLASSPATH variable. Here is a example for the BASH shell:

export JWSDP=/usr/lib/jwsdp-2.0
export CLASSPATH=$CLASSPATH:$JWSDP/jaxb/lib/jaxb-api.jar
export CLASSPATH=$CLASSPATH:$JWSDP/jaxb/lib/jaxb-impl.jar
export CLASSPATH=$CLASSPATH:$JWSDP/jaxb/lib/jaxb-libs.jar
export CLASSPATH=$CLASSPATH:$JWSDP/jaxb/lib/jaxb-xjc.jar
export CLASSPATH=$CLASSPATH:$JWSDP/jwsdp-shared/lib/namespace.jar
export CLASSPATH=$CLASSPATH:$JWSDP/jwsdp-shared/lib/relaxngDatatype.jar

The next step is to put the bin directories in your path, like so:

export PATH=$PATH:$JWSDP/jwsdp-shared/bin
export PATH=$PATH:$JWSDP/jaxb/bin

To set other variables (JAVA_HOME, ANT_HOME etc), you can now run setenv.sh (Linux/Unix) or setenv.bat (Windows). Those scripts are located in the $JWSDP/jwsdp-shared/bin directory.

Compiling the Schema

Now it is time to let JAXB create a set of classes that can hold the xml data that you defined in your Schema (for the purposes of this tutorial, we will use a file called ‘config.xsd’). To do this, we will make use of xjc.

xjc.sh config.xsd

This will generate a lot of classes to represent your schema, which is good. However, we want a bit more control. Suppose the schema file is at the top level of our project and we want to put the generated classes into our source directory and make the package name be com.sri.config.

xjc.sh -d src/ -p com.sri.config

The -d option specifies the output directory while the -p option specifies the package to make the generated classes.

Using Your New Classes

The hard part is done, the rest is just code.

//create our context
JAXBContext jaxbContext = JAXBContext.newInstance( “com.sri.config” );
//make the unmarshaller
Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();

//load the xml
JAXBElement controller = (JAXBElement)unmarshaller.unmarshal(new FileInputStream(”../config.xml” ) );

From there is is a piece of cake.

XumFM Download Area

Posted by Shane C. Mason on Jan 24th, 2007

XumFM is a simplistic web based file manager. It allows you to upload, download, move and copy files.

Downloads for XumFM are now handled by XumFM itself. Check it out here.

Installing Freevo on Ubuntu

Posted by Shane C. Mason on Jan 24th, 2007

This tutorial will walk you through the basic steps of installing the Freevo PVR on Ubuntu.
Ubuntu version: Edgy Eft (6.10)
Freevo version: 1.6.2

Freevo is a home theater system for Linux (think Tivo). While it is not as feature rich as MythTV, it should do everything that you would want a PVR to do. These instructions will show you how to install these packages from source, as opposed to using apt-get. If you want to do that, follow these instructions from the Freevo wiki.

Library Dependencies:

The first step is to install all the dependencies. Python 1.4 is installed by default, so we can start from there. We will first need to install the SDL bindings for python. Open a console and issue the following command:

sudo apt-get install python-pygame

Now, mmpython, which is the Media Metadata Retrieval framework for python.

sudo apt-get install python-mmpython

Now the eGenix mx extensions, we need several packages, so we’ll use a wildcard to make sure we get them all

sudo apt-get install python-egenix*

Install the Twisted service framework.

sudo apt-get install python-twisted

Now, element tree (included by default in Python 2.5 or later):

sudo apt-get install python-elementtree

And, last of all, libexif. This is used for tagging jpeg images.

sudo apt-get install libexif12

There are some dependencies not listed on the dependencies page. We’ll install them now: (Note, I added these to the dependency page)

sudo apt-get install python-imaging
sudo apt-get install python-numeric

Application Dependencies:

Freevo uses other applications to do the work of playing, viewing and recording media. Either Xine or mplayer is needed for video, so we’ll install both. Note, if you want to watch encrypted DVDs (most commercial DVDs) you are going to have to pull some tricks. Start here. For now, we’ll start with the basic applications to get you going.

sudo apt-get install
sudo apt-get install mplayer
sudo apt-get install xine-ui
sudo apt-get install mencoder
sudo apt-get install sdvd

TVTime is used for viewing live television.

sudo apt-get install tvtime

sudo apt-get install xmltv

W need lame for mp3 encoding:

sudo apt-get install lame

There are other applications that you might find useful listed on the dependencies page.

The next step is to download the latest release here. It will be a compressed archive file; for the purposes of this document, we will refer to it as freevo-1.6.x.tar.gz. After you download it, open a console in the directory you saved it and issue the following commands:

tar -xzvf freevo-1.6.x.tar.gz
cd freevo-1.6.x
sudo python setup.py install

Set it up by running:

freevo setup

For some reason or other, this doesn’t do everything you need it to. So, still in the freevo-1.6.x directory, run the following:

cp local_conf.py.example ~/.freevo/local_conf.py

You will need to edit the file ~/.freevo/local_conf.py in your favorite text editor. Now, configuration should be the same no matter what system you are using. There is loads of good info on that at the Freevo webisite.

Categories

Links