Prelude
Jump to the next session if you don’t want to read lullabies
Hey guys!
Last week I’ve attended to GStreamerConf and LinuxConf conferences in Prague, and Siraj and I had the honor of having our current project for Collabora exposed on Collabora’s booth. It shared space with two others amazing Collabora‘s demos:
During the last few weeks I’ve been working on a Telepathy client, a very special one, written almost only with HTML 5 and Javascript, on top of GTK WebKit and Seed.
The goal of this project was writing a Telepathy based IM client, to run on top of WebKit, and it should be able do make and receive audio and video calls.
The first question to be answered was “How access the Telepathy methods from Javascript?”
And the answer was: GIR and Seed.
As all Gnome developers know, GObject introspection (GIR) allows us to access a GObject written in C from a scriptable language, such as Javascript. So that’s part of the answer.
And Seed binds those introspected objects on WebKit JavascriptCore, which is pretty much what we wanted to do.
Our first goal was to show the Telepathy’s roaster list on a HTML5 window. For the widgets, we choose to use joApp, which is a quite nice and stable UI library for HTML 5 applications.
What’s a IM client without a Chat window, right?!
The “tpwebkit” application with an opened text channel between two users.
Telepathy WebKit application acting as a Telepathy approver for audio and video calls
That’s me, from the point of view of my test machine…
If you want to see the real thing running, you can watch this video showing the application during the early development state.
As we can see from now, Telepathy is ready to be use on native and HTML applications.
I really would like to see the current implementation integrated with the bleeding edge RTC API, which some guys are pushing to WebKit. That would be something really awesome.
If you want to try it, you can get the code here and play with it. You’re also going to need a few special changes on Seed package. Check the linuxconf branch here.
Or, if you use Ubuntu, you can add Xavier’s PPA and install the tpwebkit package.
Hello all!
I promised this new release for the end of the last year, but I delayed it a bit due some changes in my professional and personal life.
Anyway, basically this release is about bug fixing and performance improvement. It’s using less power now, and playing faster.
If you want to try this version, you can get the package here.
And bugs reports are always welcome, and needed ;)
ps.: I’m still trying to upload it to OVI, lets see…
Beat Maker is my “pet project” with Allyson Soares at INdT.
It is, basically, a drum loop emulator to be used by musicians during practicing sessions.
You just need to select the samples, define a BPM value and listen to the rhythm ;)
If you can’t wait for the official release at Ovi Store, you can try the beta version for n900 devices.
Remember: it’s a beta version of an open source software. The code can be found linked to my gitorious account.
The technical point of view:
I’m a little bit disappointed with phonon. After a long discussion I’ve realized that phonon could not be used on Beat Maker.
At this time I’m using an approach suggested by Adriano Rezende: play the sound using pulseaudio’s API. I know, it’s not portable. But hey, my target is N900 devices and it worked pretty well at the time.
However, it doesn’t scale. So, now, I’m working on a kind of “in-app-mixer”, which should solve this problem.
There is another problem, related to QTimer. Qt can’t guarantee the timing between the beats using QTimer events. Especially when you generate mouse events. Anyway, the mixer controller loop should solve this as well.
Big thanks to Adriano for the tips, and Allyson who made the excellent UI design.
I hope you enjoy it.
Suggestions are welcome =)
ps.: youtube video bellow
After two and a half years building rich UIs on top of QGraphicsView and trying every kind of exotic flags or approaches to get better performance results on symbian, I’ve decided to publish some of them which can be useful to game programmers.
I believe most companies that develop Symbian products uses windows, and only windows, on their development process. Well… We don’t =)
I’m quite excited about the news of the last few days.
First: KDE 4.2 was released. I’m using as my “oficial desktop manager” at work and I’m pretty happy about it.
Second: Debian Lenny might be released this month. I’m using it too, and I know the result will be very good!
Third: BossaConference agenda is ready. Think about great minds talking about OpenSource, Maemo, etc, in a paradisaical beach. I had the opportunity to join Bossa ’07, and it was great! We can’t miss this one! See you there! =)
I was wondering why my SU-8W BT keyboard doesn’t work well with pt_BR layout. So, yesterday, I decided to investigate this.
When I was trying to pairing my keyboard, I could see that Su-8W is a pre-configurated keyboard, and with a little of patience, I dicovered the file who manages this: /usr/share/X11/xkb/symbols/nokia_vndr/su-8w.
With 5 minutes by reading this file you can be familiarized with file syntax. And, with 10 minutes, you can note that THERE IS NOT A LAYOUT DEFINITION FOR PORTUGUESE/SPANISH. So, now I know why the Portuguese layout doesn’t work =).
But, Ok. Lets try to fix it.
If I select portuguese layout, and there is no portuguese layout, I assume that it’ll use us-intl, right? But, in the begining of the intl definition exists a anoying comment: “I can’t belive! It’s not intl”. Hummm…
Lets ignore this, and go on… What do I need? Dead_keys in `,~,",',^
, and ç when I press “ALTgr + c”.
I’ll not explain all the changes I did (it’s not too much, just 4 boring lines), is easier to download and replace the old file by this one, or see the diff. [ADVISE: DO NOT FORGET TO BACKUP THE OLD FILE]
And Voilà, Accents and Cedilla working like a charm.
The right workaround for it is create a valid portuguese layout, but just for testing proposes you can alter the intl layout.
Ok, that is it,
Cheers!
Someone told me some years ago:
In last two weeks I was testing a GPS device that I bought to use with maemo-mapper on my inter-states trips.
Here in my city (Curitiba – Paraná – Brazil), maemo-mapper works very well…. My car is always in the route ( a green line in maemo-mapper ), I know perfectly where streets are, and I know exactly where take the exits on the highways. But Curitiba is a big and important city, so I decided to test it in Londrina – PR.
Londrina is a little country tow here in Paraná, but probably is the second more important city in my state. Anyway, how I was saying writing before, GoogleMaps is so faw away to be precise in Londrina. Take a look in the photo below:
The red line is what my car was doing and the green line is what GoogleStreetMaps was telling me to do.
Now I know; it’s not a Google’s problem, but it’s a MapLink problem. Maplink is the company who provides street-maps to google in Brazil.
Anyway, on this situation, I can’t trust in maemo advises anymore. Google’s way points doesn’t work anymore. So I decide to fix this problem writing a “mapper-calibration” feature inside maemo-mapper. And its ready now.
Go to “Menu/Maps/Map Calibrate“. After that, just click in a point that you think you really are.
I sugest you to stop your car in some corner, find this corner in mapper, and click on it. It’ll be more precise.
And the result will be something like that:
Há! Much better now!
I don’t know if this problem happens in another countries too, but if you think that this feature is interesting to you, you can download the patch here, or get the compiled package. (2008-version only, sorry folks)
Just remember to disable this feature when you don’t need it. =)
So, on the next weekend I’ll be in Sorocaba testing this feature. Then I’ll describe if this is useful.
So, nice weekend for everyone!
Bye!
[update: 19/01/2008] BTW, I was forgotting. Maemo-Mapper is very well developed. They have a nice (and interesting) unit-system, so its very easy to transform pixels into latitude/longitude and vice versa. Congratulations Maemo-Mapper’s Team!
Hi All…
I’m not having much time to work on my personal projects ( pychord by example ) cause I’m having a lot of tasks to do ( and to learn ) on my college and on my new job.
But I’m here to talk about pychord, so let me do it! =)
Tim wrote a lot of good suggestions on garage’s foruns. So, I’m working on their ideas now. I need to say “thanks” to Tim cause he gave me a lot of good suggestions to make pychord better. Thank you Tim!
On this last weekend I worked in “Zoom IN/OUT ” feature and change the font of the chord’s screen. I think that pychord is a little better now.
You can get it here, or do a “upgrade” on your device.
That is all!
Have a nice week!
Finally, Pychord is almost ready!
All features (about 1.0 version) are working. Now I need to work in two different lines.
[1] I didn’t have enough knowledge about pygame when I started this project. So I need to change some parts of the code to fix wrong decisions that I made before.
[2] If you are using this application, please, give me a feedback and I will try to make it better!
Then I will start to develop the 1.1 version ( with some features that I promised before ).
In this version, I created a configuration file (/home/user/.pychord.conf), and this file has to have two simple lines:
db=/home/user/.pychord.db
datadir=/home/user/pychord/data
Where:
“db” is your DataBase file, with all your chords. Its a sqlite’s file.
“datadir” is the folder where pychord will get the chords to put into database file on update process.
You can edit these options by clicking on “i” symbol in PyChord’s first screen. You can also choose by what type of update you want: Full-update or Incremental Update. In Full-update you will lose all your database data. In incremental update pychord will get all files of your datadir and put into database.
All files in your datadir folder have to have the “.chr” extension, and have to be like this example:
Name: Music Name
Artist: Music Artist Name
D# E F
Your chords
D # E F
Your chords
D E# F
Your chords
(Two first lines are used like headers, describing the Name of the music and the name of the Artist. Followed by the chords)
Ok, its too easy right?!
So, you have to have a directory (datadir) and put all your files there. Default folder is /home/user/pychord/data.
Don’t forget to update your database when you start to use this application.
So, Ok! Now you can download .install here!
If you have problems to install this application, try again by searching for it on ApplicationManager->Browse Installable Applications->others->pychord
If you have any problems after that (or suggestions), please, let me know!
[]‘s