modsyn – programs and such

My creative outlet

Archive for the ‘Java’ Category

Jaseeq alternative – Webseek

Posted by modsyn on September 15, 2009

It is my pleasure to introduce the newest member of the “seek” family: Webseek. Webseek does the same thing that jaseeq did but in a different way and from a different place. Actually, the place is completely variable. Webseek uses plugins instead of one site hard coded into the application. I took the guts out of jaseeq and stuffed it with a plugin engine. The results so far have been promising. There have been some interface changes, like the removal of the playlist and related menu items. I am calling this an early beta, so don’t expect perfection. I’ll soon follow up with a guide to writing plugins, so maybe there can be some contributions in that area. If not, I’ll take suggestions for new plugins. I wrote two plugins for this version: and By default, Hype Machine is disabled. You can enable it from the Plugins option under the Edit menu.
If you use this version of Webseek, consider yourself a tester and feel free to post any bugs/glitches. Also, if you do post a bug, please state what plugin is being used along with what OS you’re using. I’ve tested with Windows XP and Ubuntu Jaunty, so I can’t say how a Mac will perform.

Here it is: Webseek<Beta>

Posted in hype machine, Java, music, programs, project playlist, seeqpod, webseek | Tagged: , , , , , , | 1 Comment » is no more!

Posted by modsyn on June 12, 2009 is down and has been for a while now. They are being sued and filed for bankruptcy. Since jaseeq uses seeqpod’s search engine it also is down. The likelihood that will be back is extremely low at this point. I have been considering alternatives for a bit now. I’ll update the site if I come up with anything.

I hope you all enjoyed the software while it worked.

Update: There is a jaseeq alternative: Webseek. Get it from here

Posted in Java, music, programs, seeqpod | 2 Comments »

Jaseeq v0.4 – ‘Maseequms’

Posted by modsyn on April 28, 2008

Maseequms is now outdated – see for alternatives/updates

It’s been a long time coming and it’s not complete (yet), but I’ve decided to release a preview (still fully functional) version of the jaseeq update. Quite a few things have been fixed, and even more added. Here’s the short list.

  • Added album, bitrate, and song length to the returned results.
  • Uses seeqpod’s cached versions of the songs when they are not found in their original location.
  • Added ability to change the output folder (directory for non-windows people)
  • Added option to use a proxy
  • Caches files and added configuration for days to keep in cache
  • Added configuration for number of download parts to use (for supported files)
  • Beta iPod support (if you are willing to test, send a request and I’ll tell you how to enable)
  • Search within results by artist, album, and/or title*

For a more detailed explanation of options and how to use them (or for general help) see this post

*To use the new sub-search option add any of the following after the search term-

  • artist:
  • album:
  • title:

For example, searching for Generic Song Title may return songs with the same name by numerous different artists. To search within these results for a specific artist, change the search term to Generic Song Title artist: Specific Artist

There is quite a bit more I would like to do for this release, but it’s my birthday so I’m releasing what I have for now and will work on the rest for later. There is no Windows or Mac versions this time, just the jar file. If anyone wants to make one on their own I’ll link to it from here, but I’ll wait until the final v04 version before I spend any time doing that sort of thing.

Here it is: jaseeq v0.4 – ‘maseequms’

Posted in ipod, Java, music, programs, seeqpod | 24 Comments »

Feature requests

Posted by modsyn on March 1, 2008

If you’re looking for the prelease version of v04 see this post

Hi all,

It’s been a while since I’ve had any time for personal projects and that’s evident in the lack of activity here by me. However, I have been working on some new features for Jaseeq. Most of them come from the comments I’ve seen, so if you can think of a feature that is not listed below let me know and I will try to include it in the next release version.

New features added so far (hearts mean I have already got it, diamonds mean I mostly got it):

  • View bit rate of songs.
  • Automatically remove dead links from the list.
  • Playlist improvements

Planned features:

  • Change download directory
  • Automatically add to iTunes/iPod ♦ (need brave beta testers)
  • Cache system to save from unnecessarily downloading stuff over and over again.
  • Settings window to change/deactivate optional features.
  • New skin (using Nimrod LAF )
  • Playback icons (send ’em if you got ’em) ♦


  • On a Mac the load/save playlist feature doesn’t quite work as expected. Again, since I don’t own a Mac I’m not sure how elevated this issue should be. Let me know if it’s a big deal. Personally, I use playlists a lot (that’s really why they’re there).
  • Playlist has a lot of them, probably needs rewriting… Anyone ever written a playlist if Java? Help!
  • Temporary files don’t get deleted some of the time (well, most if not all of the time). Fixed with the new caching system

Those should keep me pretty busy for now. If you wish Jaseeq would do something it doesn’t, let me know. KTHXBAI!

Posted in Java, music, programs, seeqpod | 6 Comments »

Jaseeq update

Posted by modsyn on October 1, 2007

Prelease version 04 available – see here to get it

Here’s a small update to the jaseeq application, mostly cosmetic. I got rid of the NapkinLAF that got some complaints. It now uses the system look and feel. Also, I made a windows launcher using the method described in my previous post.

Cross Platform JAR File

Windows Only EXE File

Mac Only APP*
*Thanks to Chris

New version coming soon, see feature request thread.

Posted in Java, music, programs, seeqpod | 35 Comments »

How to: Write an executable Java driver for Windows

Posted by modsyn on August 10, 2007

If you write Java code, eventually someone will approach you with the question of how to install/run a .JAR file. When you distribute your code to a wide range of anonymous users, the number of these approaches are more than you would have ever imagined. At least, that was the case for me. I wanted as many people as possible to use my application, so I started replying to each request, eagerly trying to get their system properly configured for Java. At first it was fun helping people, but it became so overwhelming that I wanted to pull out my hair. I thought to myself that there had to be a better way. Sure there was a better way, I could write code that was native to the OS. The problem was, I’ve never programmed UI in C/C++/anything besides Java. So, I decided to do the second best thing I could think of: native code that launched my Java code. Simple, right? Yes and no. Since most of the users of the application were Windows users, that’s the OS I targeted.

Here are the steps I took (and sample code) to create a self-extracting executable file that launches a .jar file.

Step One: Download and install MinGW from here. MinGW stands for Minimalist GNU for Windows and it provides the tools you need to compile your executable code (gcc). Where you install it doesn’t matter, just remember you will need to know where it is later.

Step Two: Compile your Java code into a JAR file. Doing so is really out of the scope of this article, but if you need help, see Sun’s Tutorial on the matter.

Step Three: Write the driver native code. This is the most complicated aspect of the process. It is written in C and does 3 things.

  1. Locates the Java Runtime Environment on the host machine. This is accomplished using Registry values. You also provide a target version to look for, I like at least 1.5.
  2. Invokes the specified Java method using the JRE found. For this case it will be the main entry point of the Java application.
  3. Extracts the JAR file from itself into the system’s temporary folder. I mention this part last for a reason, even though it is the first event that occurs.

Looking at the provided code you’ll be able to see where changes should be made. For instance, in the sample code I am launching a Java method named ‘main’ from the HelloWorldUI class that is located in the ‘hello_java.jar’ file. To change it to launch the ‘myEntryPoint’ static method of ‘SuperApplication’ from the ‘RealApp.jar’ change the file to look like:

FILE *outf;
outf = fopen( tmp, "wb" );
if( outf==NULL ) {
printf( "couldn't open output file\n" );
exit (2);
//this is name of the class to invoke in the JAR file
cls = (*env)->FindClass(env, "SuperApplication");
if (cls == 0) {
printf("Can't find class\n");
mid = (*env)->GetStaticMethodID(env, cls, "myEntryPoint", "([Ljava/lang/String;)V");
if (mid == 0) {
printf("Can't find main\n");

Step Four: Once the driver has been compiled there is one more step before the self-extractor is ready: packing the jar file and the exe file together. For this I have written a simple Java program that copies the exe file to a new file, then copies the jar file to the same new file. At the end of the new file (the last 4 bytes excatly) the program writes the size of the exe driver. These bytes are used by the driver to know where the executable java code starts. All you do is run the program (aptly named ‘SFX’) in the following manner: java SFX driver.exe application.jar sfx_application.exe

All relevant code my be found here. You will need to edit make.bat and change the value of MINGW to point to wherever you installed MinGW from step one. I am assuming that the Java SDK is already in the path.

That’s it for now. I’ll be posting another how to for creating executables with nice icons using MinGW and the GIMP next. Look forward to it, neh?

Don’t forget the files:

Posted in example, Java, MinGW, programs, SFX, tutorial, Windows | 1 Comment »

Music, Sweet Music

Posted by modsyn on June 22, 2007

Soon enough a site will open that is like a Google search for music downloads — downloads that are not copy-protected…” – David Byrne

Enter SeeqPod. SeeqPod works by grabbing music from wild, disparate areas of the Web and presenting them to you in one nice, easy, scrolling interface.

SeeqPod really is amazing. It’s hard to believe how much music is on the Interweb just waiting to be grabbed. From classics to indie you can find plenty of music in your preferred genre. The website provides the ability to create your own playlist that will play right out of your browser (using Flash, of course). The old version of the site would let you download the songs, but last time I checked that feature was removed. You may be saying, what good is tons of free music if I can’t download it? JASeeq is your answer.

Download JASeeq now, or continue reading about why you should.
See this post for download link

It seems that I’ve received a lot of traffic from this Lifehacker article, and there are some people who don’t know what to do with a .JAR file. You must have Java installed to use it. Most of the time you will have it installed already. You must download this file (jaseeq.jar) and save it somewhere on your computer when your browser asks you what to do with it. Otherwise you’ll be running the application from your temporary internet files. There is no installation, just download and double click. The files go in a folder named MUSIC that the application creates in whatever location you save it. Hope that helps. Maybe I’ll make an article with an explanation of the features and how to use them if it’s necessary.

First the obvious, JASeeq will let you download the files that you drool for from
Other great additional features:
> Returns ALL of the results of a search. returns 9 per page by default. Paging to result 1,019 nine items at a time can get tiring!
> Uses download accelerating technology for FAST downloads. Since downloading at all is an added feature this is just icing on the cake.
> JASeeq ISN’T Flash-based and DOESN’T run from your browser. Some people think that running from your browser might be a good thing, but it’s really not. I usually have a browser open all day, and fancy applications running from one of its many tabs start to suck up RAM and/or just generally slow things down. Also, Flash applications tend to screw up the whole CTL-Tab switching between tabs. Having it as a stand-alone application keeps your personal workflow smooth.

You can also play the songs using JASeeq, although there is no playlist feature just yet (expect playlists in the next version).

JASeeq Screenshot 1 JASeeq Screenshot 2

I have a basic playlist built and have reworked the UI.

Reskinned with NapkinLAF

Napkin LAF

Added a requested feature. Type a URL that has links to MP3 files in the search box to see it in action. Got a feature you’d like to see? Ask me and maybe I’ll add it.

See this post for the latest updates.

Posted in Java, music, programs, seeqpod | 22 Comments »

Catipod – Backing up your iPod

Posted by modsyn on June 22, 2007

Catipod is the end result of my desire to copy (or backup) songs from my own iPod to my computer after a hard drive replacement. When I lost the original copies of my songs on my hard drive I thought I would just copy the ones on my iPod onto my computer. What I found was that you can’t do that very easily or very freely. The few programs that Google found wanted me to pay for them and I didn’t want to do that. Thus, the first version of Catipod was born. It was buggy and slow but it did what I wanted it to do: It gave me access to my own songs. It stayed buggy and slow for quite some time before I went back to the drawing board and rewrote the entire thing. The new version is faster and far less buggy.

Download the current version of Catipod from my account


Catipod Screenshot

Posted in ipod, Java, music, programs | 14 Comments »