As the title suggests, I’ve made some progress, and hit some roadblocks. Lets start with the good news, this picture:
Things I fixed / added:
Album art is more clear; I threw in some anti-aliasing.
Volume bar actually works
Duration bar added
The directory tree I have there is still kinda useless, but I’ll be dealing with that soon. Maybe even later today as I’ve cleaned up what work I needed to get done for today. The duration bar is going to be a bit tricky, but I’ll survive. I really just need to get that and the directory tree done. Once those are all finished, I’m planning on getting some custom icons thrown in there, and then I can hand out some source code and some executables.
Speaking of executables, here’s my problem right now:
Mac OS X is a joke. I tried doing a compile on 10.7 (lion) on a legit macbook pro, and VLCJ doesn’t have great support for mac OSX. It REALLY doesn’t want to find the directory of the vlc library. Granted, I should probably be packaging those natives into my project, but still, it’s a pain. Also, another project I tried to compile was having this JAWT_GetAWT failed issue. Normally I can just google this into oblivion, but all I get when researching that is some issue with MatLab when people were upgrading to 10.6.8; not helpful.
Plain and simple, I may be limiting my distribution of this project to Windows and Linux. I can develop and test in both of them with ease. Apple wanting to kill Java by not supporting anything other than java 6 is also kind of a problem. I don’t care if Steve Jobs is dead, I’m still mad at him.
Continuing this frustration in a separate post. Have a nice day!
Hey there reader!
Guess what needs Java 7 - My project for work
Guess what won’t support Java 7 - Mac OS X
Guess what runs Mac OS X - My Employer
I guess that this is my own fault for not working in Mac from the get go, but I really never saw this issue coming. That and I don’t have a Mac, and have no desire to blow $1200 on one. I felt as though I could just compile into Mac as I did with Ubuntu Linux. I guess I was wrong.
Needless to say, rage is what’s on my mind. I have a few options but none of them are really optimal
I could decide to just scrap what I’ve done and try to rebuild with C# in Mono Develop. Chances of me running into almost the exact same problem: 90%
I could scrap what I’ve done and move to Objective C and try to port that into C++ when running in Windows or Linux. (This may sound like a joke but was an actual suggestion and I want to kill the asshole who thought this was an option)
What I’m going to do is keep working in Java for Windows and Linux, and if nothing else, use it as a concept build to show off. Why? Well it makes my life easier, and chances are that most of my code will be scrapped and the project will be taken over by professionals once I collect all my paychecks and head off to school.
At least JSong is going well. I’m not too concerned about it not running in OS X right off the bat. I might be able to figure out a work around later. I’m willing to invest more in JSong than my work project because I find it more interesting and I get to work off of my own specifications.
Vmware is pretty cool, running in Unity allows me to put one VM OS on top of another, so the windows run together. As a developer, this is 10/10 feature of the year, it also allows me to do this:
That’s JSong running in Windows and Linux Side by Side. Honestly, that’s really awesome. Had to switch out some SWT libraries because we all know SWT is SUPER heavyweight, but after that it ran flawlessly. Also had to fiddle a bit with Java 7 installation, but at least java 7 was supported (I’m looking at you Mac OSx 10.6.2 Snow Leopard.)
Now performance isn’t 100% optimal when running in a VM, but it’s actually 99% there, so I really can’t complain. I just had one instance where VLC kinda bugged and the playback got kinda muddled, but it didn’t crash.
Next few things I have to get done include:
Actually not too much now that I think of it, however populating a JTree in that directories sidebar is going to prove to be a bit of a challenge. Want to get some more detail on that and give me a hand? Here’s the reddit post I made to get some help: http://www.reddit.com/r/learnprogramming/comments/wfv57/java_populating_a_jtree/
I’ll try to get an update later today, but something tells me I’m not going to have a lot more done. Tomorrow I probably won’t update at all, because I need to get a PDF reader working in the project I’m supposed to be getting paid for… Oh well.
As always, feel free to give some feedback / suggestions. I promise to get a pre-alpha out as soon as possible for people to test. I want to get this part done before I hand anything out. Once that list is complete you’ll see a download link somewhere here.
backonamission-deactivated20130 asked: The tumblr API also doesn't give you access to messages, not to mention that I have to use the horrible OAuth 1.0a to authorize my requests.
I’ve never had to use OAuth; maybe I crazy but I’ve heard okay things about it.
Wow, really? No message support? I guess I didn’t see that due to the dark cloud of rage that was consistently blurring my vision for the past week or so. I think it’s fair to say that while tumblr is pretty good for some things (IE fangirling) I hate to say that for anything other than bombarding followers with images, it could use a lot of work, and cutting users short with their API does not help.
If you’re wondering what this blog is, it’s my development journal / news place. Essentially, if I work on something I find worthwhile, I’ll probably share it here, maybe even with some source code (I love me some open source).
I work mostly with Java, as that’s what I started seriously with, and it’s what I use at my job. I still feel as though C# is faster and better for native stuff, but until I get serious into game development, I’m working with what I’m comfortable with.
Interested in posts specific to my projects? I have a tag for that.
Tumble+ (WIP Title)
Not sure. Hopefully a month after release
What is it?
A Tumblr app that doesn’t suck. Written natively in Java for android and Objective-C for iOS, we’re looking to make a fresh, fast and easy to use mobile tumblr interface.
I’ll be keeping track of whatever posts I make on it with the #tumble+ tag!
When it’s done. Progress is being made!
The sweet smell of progress. I’m taking a quick break from work to make this blog post and show off a little bit of my work.
Here’s the first little build I have to show off. I’m just working on managing local music files, but that will change soon. All the playing and metadata is handled by VLC, which is good because before I was using like, 3 APIs to handle all that. The MP3SPI api is still being used for the music’s duration, but I’ll fix that soon. The play pause button works fine, and the album artwork will update depending on the song being played. I have a swing working running in the backward that handles when songs are played, and when album artwork is played.
I’m not 100% satisfied with the layout. I still need to add a volume slider, and a directory browser. I really want the program to handle playlists, but one thing at a time. I’m really temped to throw in a button system to change “tabs.” I don’t want to use a JTabbedPane to separate the different components of this program from one another, but I may have to because changing frame components can be a real pain.
As for source code, I’ll be putting some stuff up eventually. I’d put it up now, but It’s all really messy. 80% of the program is housed inside the GUI class, and I hate that. When I get mad enough at the organization, I’ll probably rewrite most of it but with better practice. In fact, I think, once I get this local files setup done, I’ll rewrite it in better practice, and then move on to adding grooveshark support. It’s also kinda buggy. The VLC playback is fine, but pausing and playing has some cuts to it, either due to java or due to my threading. Either way, there’s probably a fix.
Still waiting on that Grooveshark API key… I probably won’t get it. I may reapply but something tells me I’m going to be stuck with Tinysong until a while after I finally launch this and get a download or two.
Random thought: Tumblr should support sticky posts, I could really use one at the top of my blog; the “description” is really out of the way and isn’t big enough that people would ever pay attention to it.
So now that I’m dead in the water with my extended tumblr project, I think I’ll change focus. The application I’m working on for work needs the ability to play music, so I’ve been working on a java implementation of a VLC player. Really, that’s all I need for work, and while it’s still not done, I feel as though I can add more. I’m really interested in adding both Grooveshark and Last.fm radio support to it. Essentially it would be a program that could play: Any local music file, any playlist from grooveshark and any radiostation from last.fm. Sound kinda cool? I think it does. This is probably just going to end up as a little freeware application, but seeing as how most web APIs use JSON, it’s good practice with that.
So I guess to the Last.fm and Grooveshark people browsing my tumblr which I have listed as my “Application Homepage,” here it is. I am the active developer of the Java Music Client known as (for now) “JSong,” and I would very much like to use your APIs to enrich my free program.
Now I already have an API key to the free Grooveshark API, but it has a limit of 32 results per search; not bad, but I’d like to have the whole API.
Anyway, wish me luck.
Guess what the tumblr API can’t do, you guessed it search more than one blog. I cannot accurately express my frustration at this. So much for trying to browse by multiple tags! “But wait,” you may say, “isn’t there a work around?” Well dear reader I was just as optimistic as you. I figured that I could get around this limitation by using Google, the worlds most powerful search engine. By searching for “site:tumblr.com” I was given a completeish list of every single tumblr, all ~650 million of them…
So what was the issue? Well it looks like Google isn’t a fan of people running automated queries. After 6ish hours of work, I completed a program in java that would query google via their Ajax API for tumblr sites (google only gives you 4 at a time, but a while loop fixed that). I knew it was working, but sadly trying to pull off that many searches tips off Google’s DDoS protection system. The JSON I was pulling from their api was no longer a formatting of tumblr urls, but rather gave me something along the lines of “Suspected Terms of Service Violation.” Well shit, I violated Google’s Terms of Service. This should have been a no brainer, but I still blame tumblr…
It’s not like Google is going to come to my house in the middle of the night and drag me away from my loved ones. While Google and Gestapo both start with G, I believe that is where the similarities end… unless you count the gathering of massive amounts of personal information. For all I know, my Google accounts will still be intact, but this doesn’t curb my frustration.
I guess that I’m just ranting that Tumblr needs a better API. Seriously, if you take a look at it, it’s pretty lacking. Great for a program to manage one blog, not so great for trying to actually browse the entirety of Tumblr.
So, I’ve had this idea mulling around in my head for the past few days, and I’m asking around a bit before I really commit to anything.
Tumblr is pretty neat; it’s simple, fluid and it really gets the job done. It has a powerful API and it’s easy to theme. The only thing, is that there are some features that I want, that simply don’t exist in the tumblr framework. What I’m mostly talking about is the ability to browse tumblr while viewing multiple tags. The ability to combine tags is one that has been around for a while. I think the reason that tumblr doesn’t have this feature is due to the fact that tag browsing on a specific tumblr is done by adding /tagged/<tag>. Adding multiple tags to that URL could get hectic; it’s not impossible, but I guess I could pin that as being at least one reason why this isn’t done.
To get to the point, I was thinking of building a desktop application that would let you browse tumblr, but with a host of extended features, most prominently, browsing by multiple tags. I have the missing-e extension for chrome, and I have to say it does a fantastic job, but it still doesn’t have the ability to browse by multiple tags.
Now, I was looking over the tumblr API, and this is totally doable, the logic isn’t hard to implements, it’s just a lot of XML. I’m not super knowledgeable in XML, so this could really prove to be a challenge. That and I’m not very good with layout managers (how do I have a programming job?) XML isn’t the only stumbling block that I can foresee, there is no suitable desktop tumblr API; IE no C, C++, C#, Python or Java tumblr API worth using (at least that I’ve seen). It’s not that a Java tumblr API doesn’t exist, I just don’t want to have to decompile 30 class files because of a lack of documentation. I could actually ask the writer of tumblrj, and ask if I could help out on that, but I think that I wouldn’t have much to contribute to be honest. That and writing my own tumblr java API would be good for me.
Wow, I’m rambling. I guess the whole point of this is: SHOULD I DEDICATE A CHUNK OF MY OFF TIME TO DEVELOPING A TUMBLR JAVA API / APPLICATION? Not sure why caps… Anyway, send me a message, or post a reply with feedback, I’d really love it.
Working on a project involving the DJ Native Swing API, specifically its JVLCPlayer component. All of a sudden, it likes to give me JVM Hotspot crashes. Not fun…
Here’s the error log: http://pastebin.com/u7AfeXsU
Anyone have any idea what the fuck is happening?