bestworkx mood
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 19
BuddySpace PRO 2.6
BuddySpace is an enhanced Jabber client providing secure presence management, web services and instant messaging. more>>
BuddySpace is an instant messenger with four novel twists: (1) it allows optional maps for geographical & office-plan visualizations in addition to standard buddy lists; (2) it is built on open source Jabber, which makes it interoperable with ICQ, MSN, Yahoo and others; (3) it is implemented in Java, so it is cross-platform; (4) it is built by a UK research lab, so it is 100% free with full sources readiily available. But BuddySpace is about more than just messaging, as we explain below.
One of the key factors that led to the widespread popularity of Instant Messaging applications from 1997 onwards (including ICQ, AOL, Yahoo!, MSN, Odigo, and Jabber messengers) was the concept of pushed presence: the automatic notification of the appearance of friends and colleagues online.
However, Instant Messaging (IM) is just one of many possible presence-related and presence-dependent applications. For example, presence-enabled applications can facilitate safety-tracking of children by mobile phone, support for emergency services, blind-date radar, group teleconference management, multiplayer games, and anything involving the collaboration of individuals separated in space and time.
Why phone a contact only to receive an engaged tone or pre-recorded message, when the telephone network already knows what state your contact is in, and could indicate this directly on your contact list? All of these concepts embody varying degrees of what we refer to as enhanced presence management.
The concept of presence has matured in recent years to move away from the simple notion of online/offline/away, towards a rich blend of attributes that can be used to characterise an individuals physical and/or spatial location, work trajectory, time frame of reference, mental mood, goals, and even intentions! Our challenge is how best to characterise presence, how to make it easy to manage and easy to visualise, and how to remain consistent with the users own expectations, work habits, and existing patterns of Instant Messaging and other communication tool usage.
BuddySpace generalizes the concept of Buddy List (popularised by Instant Messaging tools such as AOL Instant Messenger, ICQ, MSN Messenger, and Yahoo Messenger) to provide multiple views of collaborative workgroups according to users needs and tastes. Our aim has been to provide a personal dashboard or radar screen so that one can observe the availability and interaction state of colleagues worldwide in a manner that exhibits the following desirable properties:
* immediate: real-time updates need to be pushed instantly to users rather than pulled in by request -- the push approach helps keep updates more palpable and informative
* peripheral and therefore non-intrusive: users lead busy lives, and dislike being bombarded with yet more information, so we aim to keep awareness of colleagues available in a compact manner that can be noticed peripherally
* customisable: some people prefer simple or hierarchical lists, some prefer visual maps, some prefer status lights, and so on; some prefer a Windows look-and-feel, some a Mac-- we need to cater for diverse user preferences and capabilities
* scaleable: we have to provide ways to indicate the presence of potentially enormous numbers of people, even given that these numbers will be filtered down for personal use -- researchers inhabit workspaces with many hundreds of colleagues around the globe; the Open University has well over 150,000 students online; large peer-spaces like music swapping communities have many millions of users connected simultaneously
* interoperable: with several hundred million users of the Big Four (AIM/ICQ/MSN/Yahoo!), it is crucial that any approach allow interopebility with systems to which our users already subscribe; this is one of the many reasons we built BuddySpace entirely on top of Jabber (www.jabber.org), which provides gateways to the Big Four products.
* cross-platform: we need to service a community not only on Windows, Unix/Linux, and Mac desktop and notebook configurations, but also on PDAs and mobile phones -- we therefore develop entirely in Java
* XML-literate: for future intelligent applications, communication transport needs to be about more than just string-transmission; another we adopted Jabber is that it is based entirely on a generic XML transport architecture, ideally suited for this purpose.
* open source: for the research community to join us and to gain leverage via our research output, we have ensured that BuddySpace is open source, available on SourceForge.
* clean: BuddySpace adheres rigorously to the Jabber specification, which means that it interoperates with other Jabber clients and servers without danger of the rogue behaviour that non-standard implementations inadvertently allow (e.g. the semantics of users inhabiting multiple groups is undefined in some clients, and can cause crashes).
* extendable: BuddySpace deploys a plug-in architecture which means that additions, such as new visualizations, and new concepts such as gaming interfaces, are readily achievable
BuddySpace fulfills all the above criteria, and provides a compelling user interface that can be highly compact, yet provide users with an important feel-good factor, akin to seeing nearby office lights turned on when entering ones office building at night. By studying the semantics of presence, we can also augment the existing impoverished presence states in a principles manner, providing capabilities that are more representative of the way real users work. Forthcoming capabilities will include automatic location updates via mobile devices, and the use of semantic matchmaking via intelligent profile handling, in order to help users quickly find and filter colleagues of particular interest.
<<lessOne of the key factors that led to the widespread popularity of Instant Messaging applications from 1997 onwards (including ICQ, AOL, Yahoo!, MSN, Odigo, and Jabber messengers) was the concept of pushed presence: the automatic notification of the appearance of friends and colleagues online.
However, Instant Messaging (IM) is just one of many possible presence-related and presence-dependent applications. For example, presence-enabled applications can facilitate safety-tracking of children by mobile phone, support for emergency services, blind-date radar, group teleconference management, multiplayer games, and anything involving the collaboration of individuals separated in space and time.
Why phone a contact only to receive an engaged tone or pre-recorded message, when the telephone network already knows what state your contact is in, and could indicate this directly on your contact list? All of these concepts embody varying degrees of what we refer to as enhanced presence management.
The concept of presence has matured in recent years to move away from the simple notion of online/offline/away, towards a rich blend of attributes that can be used to characterise an individuals physical and/or spatial location, work trajectory, time frame of reference, mental mood, goals, and even intentions! Our challenge is how best to characterise presence, how to make it easy to manage and easy to visualise, and how to remain consistent with the users own expectations, work habits, and existing patterns of Instant Messaging and other communication tool usage.
BuddySpace generalizes the concept of Buddy List (popularised by Instant Messaging tools such as AOL Instant Messenger, ICQ, MSN Messenger, and Yahoo Messenger) to provide multiple views of collaborative workgroups according to users needs and tastes. Our aim has been to provide a personal dashboard or radar screen so that one can observe the availability and interaction state of colleagues worldwide in a manner that exhibits the following desirable properties:
* immediate: real-time updates need to be pushed instantly to users rather than pulled in by request -- the push approach helps keep updates more palpable and informative
* peripheral and therefore non-intrusive: users lead busy lives, and dislike being bombarded with yet more information, so we aim to keep awareness of colleagues available in a compact manner that can be noticed peripherally
* customisable: some people prefer simple or hierarchical lists, some prefer visual maps, some prefer status lights, and so on; some prefer a Windows look-and-feel, some a Mac-- we need to cater for diverse user preferences and capabilities
* scaleable: we have to provide ways to indicate the presence of potentially enormous numbers of people, even given that these numbers will be filtered down for personal use -- researchers inhabit workspaces with many hundreds of colleagues around the globe; the Open University has well over 150,000 students online; large peer-spaces like music swapping communities have many millions of users connected simultaneously
* interoperable: with several hundred million users of the Big Four (AIM/ICQ/MSN/Yahoo!), it is crucial that any approach allow interopebility with systems to which our users already subscribe; this is one of the many reasons we built BuddySpace entirely on top of Jabber (www.jabber.org), which provides gateways to the Big Four products.
* cross-platform: we need to service a community not only on Windows, Unix/Linux, and Mac desktop and notebook configurations, but also on PDAs and mobile phones -- we therefore develop entirely in Java
* XML-literate: for future intelligent applications, communication transport needs to be about more than just string-transmission; another we adopted Jabber is that it is based entirely on a generic XML transport architecture, ideally suited for this purpose.
* open source: for the research community to join us and to gain leverage via our research output, we have ensured that BuddySpace is open source, available on SourceForge.
* clean: BuddySpace adheres rigorously to the Jabber specification, which means that it interoperates with other Jabber clients and servers without danger of the rogue behaviour that non-standard implementations inadvertently allow (e.g. the semantics of users inhabiting multiple groups is undefined in some clients, and can cause crashes).
* extendable: BuddySpace deploys a plug-in architecture which means that additions, such as new visualizations, and new concepts such as gaming interfaces, are readily achievable
BuddySpace fulfills all the above criteria, and provides a compelling user interface that can be highly compact, yet provide users with an important feel-good factor, akin to seeing nearby office lights turned on when entering ones office building at night. By studying the semantics of presence, we can also augment the existing impoverished presence states in a principles manner, providing capabilities that are more representative of the way real users work. Forthcoming capabilities will include automatic location updates via mobile devices, and the use of semantic matchmaking via intelligent profile handling, in order to help users quickly find and filter colleagues of particular interest.
Download (1.5MB)
Added: 2006-10-18 License: The Apache License 2.0 Price:
1405 downloads
MusicIP Mixer 1.6
MusicIP makes music more accessible and more enjoyable. more>>
If you use a Windows, Mac or Linux PC to listen to your digital music - whether youre grooving at your computer, piping tracks to your home stereo, or loading your iPod or MP3 player - MusicIP makes music more accessible and more enjoyable.
MusicIP Mixer a multi-million dollar MUSIC development application---and it’s yours for FREE.
Rediscover your collection.
Do you have tons of digital music, but not much time? Are you in the mood for great tunes, but dont have the patience - or the interest - in thumbing through your tracks?
MusicIP makes it simple. Pick one song. Click one button. Get one amazing playlist that includes the perfect tracks from every corner of your collection - instantly.
Discover new music that suits YOU.
Finding new music is even harder than finding your old music. The best indicator of what you like is what you already have. So why not use your old music to find new music? MusicIP gives you access to search the worlds largest collection of related tracks so that you can find new artists or songs...right now.
<<lessMusicIP Mixer a multi-million dollar MUSIC development application---and it’s yours for FREE.
Rediscover your collection.
Do you have tons of digital music, but not much time? Are you in the mood for great tunes, but dont have the patience - or the interest - in thumbing through your tracks?
MusicIP makes it simple. Pick one song. Click one button. Get one amazing playlist that includes the perfect tracks from every corner of your collection - instantly.
Discover new music that suits YOU.
Finding new music is even harder than finding your old music. The best indicator of what you like is what you already have. So why not use your old music to find new music? MusicIP gives you access to search the worlds largest collection of related tracks so that you can find new artists or songs...right now.
Download (4.1MB)
Added: 2006-07-28 License: Freeware Price:
5940 downloads
Amarok Skype mood poster 1.0.0
Amarok Skype mood poster is an Amarok script that will update skypes mood field with your current playing song. more>>
Amarok Skype mood poster is an Amarok script that will update skypes mood field with your current playing song.
<<less Download (0.009MB)
Added: 2007-04-10 License: GPL (GNU General Public License) Price:
937 downloads
Canzoniere 0.2.0
Canzoniere is an Mp3 mood classifier. more>>
Canzoniere is an Mp3 mood classifier.
Canzoniere is an mp3 classification tool, which allows users to classify their songs using personal criteria such as artist score, song score and moods (i.e. romantic, relax, party, etc.). Users can then select their mood and play songs that match.
<<lessCanzoniere is an mp3 classification tool, which allows users to classify their songs using personal criteria such as artist score, song score and moods (i.e. romantic, relax, party, etc.). Users can then select their mood and play songs that match.
Download (0.60MB)
Added: 2005-07-19 License: GPL (GNU General Public License) Price:
1565 downloads
Cool Blue 1.0
Cool Blue is a desktop widget for SuperKaramba for system monitoring. more>>
Cool Blue is a desktop widget for SuperKaramba for system monitoring.
It has cool blue translucent background (which I made with help of Karbon14, Krita and the mighty Gimp) and displays everything I need (and probably what you need too).
It can interact with XMMS. Well, its a matter of personal taste, but I still like XMMS more than AmaroK...
Anyway, if you want, it should be easy changing it to use amaroK. Maybe even Ill do this if I have free time and appropriate mood.
<<lessIt has cool blue translucent background (which I made with help of Karbon14, Krita and the mighty Gimp) and displays everything I need (and probably what you need too).
It can interact with XMMS. Well, its a matter of personal taste, but I still like XMMS more than AmaroK...
Anyway, if you want, it should be easy changing it to use amaroK. Maybe even Ill do this if I have free time and appropriate mood.
Download (0.066MB)
Added: 2005-07-22 License: GPL (GNU General Public License) Price:
1557 downloads
KTagebuch 0.74
KTagebuch is a diary application. more>>
KTagebuch is a diary application. It has word processor-like functions and has a plugin to save the mood for every entry.
The file is a SQLite database and its content can also accessed with the sqlite3 commandline utility for example to export certain entries. It is now also easier to backup or encrypt the entries because it is now just a single file.
Main features:
- Word processor like functions
- A toolbar to easily access the entries
- Entries are searchable
- Mood Plugin
Enhancements:
- Version 0.73 crashed if there were no entries to import.
<<lessThe file is a SQLite database and its content can also accessed with the sqlite3 commandline utility for example to export certain entries. It is now also easier to backup or encrypt the entries because it is now just a single file.
Main features:
- Word processor like functions
- A toolbar to easily access the entries
- Entries are searchable
- Mood Plugin
Enhancements:
- Version 0.73 crashed if there were no entries to import.
Download (0.20MB)
Added: 2005-05-25 License: GPL (GNU General Public License) Price:
1613 downloads
Smart DJ 0.6.0
Smart DJ lets you find tracks based on how similar they sound to each other. more>>
Smart DJ lets you find tracks based on how similar they sound to each other.
Smart DJ can also automatically add new tracks to your playlist based on how similar they are to what youve been listening to.
You already know how powerful amaroKs search and playlist management capabilities are. Just imagine how cool it would be to find songs that sounds like the one youre listening to, right now. Similar genre, similar sound, similar tempo. Now imagine this: you start playing one of your favorite songs, and, as time goes by, amaroK adds similar songs to your playlist, maintaining the mood. Not just "songs someone else found similar", but songs that truly sound alike, same genre, same mood, same tempo.
Thats what Smart DJ does. Start with a good song, and let amaroK Smart DJs Auto DJ do the rest. Or scratch on your favorite DJ program, and Smart DJ will let you find what to play next real quick. Or build fantastic playlists, sorted by tempo, or song similarity, the sky is the limit. Or simply take any of Smart DJs suggestions for similar songs in the Context browser. Thats the greatest way to discover an entire music collection.
This plug-in is perfect for people who hate making playlists, or hate the predictibility of hearing a playlist, or hate amaroKs Dynamic mode tendency to add songs that ruin the mood. This plug-in is also for people who want to discover the lost and unknown good songs in their own collection. Finally, this plug-in is perfect for DJs who want to plan good sets of songs and playlists for live performance.
<<lessSmart DJ can also automatically add new tracks to your playlist based on how similar they are to what youve been listening to.
You already know how powerful amaroKs search and playlist management capabilities are. Just imagine how cool it would be to find songs that sounds like the one youre listening to, right now. Similar genre, similar sound, similar tempo. Now imagine this: you start playing one of your favorite songs, and, as time goes by, amaroK adds similar songs to your playlist, maintaining the mood. Not just "songs someone else found similar", but songs that truly sound alike, same genre, same mood, same tempo.
Thats what Smart DJ does. Start with a good song, and let amaroK Smart DJs Auto DJ do the rest. Or scratch on your favorite DJ program, and Smart DJ will let you find what to play next real quick. Or build fantastic playlists, sorted by tempo, or song similarity, the sky is the limit. Or simply take any of Smart DJs suggestions for similar songs in the Context browser. Thats the greatest way to discover an entire music collection.
This plug-in is perfect for people who hate making playlists, or hate the predictibility of hearing a playlist, or hate amaroKs Dynamic mode tendency to add songs that ruin the mood. This plug-in is also for people who want to discover the lost and unknown good songs in their own collection. Finally, this plug-in is perfect for DJs who want to plan good sets of songs and playlists for live performance.
Download (0.058MB)
Added: 2005-12-02 License: GPL (GNU General Public License) Price:
1431 downloads
Excalibur: Morganas Revenge 3.0
Excalibur: Morganas Revenge is a first-person action adventure game using the Aleph One (Marathon) engine. more>>
Excalibur: Morganas Revenge (EMR) is a unique scenario based upon the Aleph One (Marathon) engine. It is a first-person action adventure game, featuring an epic and in-depth story line. As a Federation Marine resting after your last mission, you start aboard the exploration class Starship Kronos where you learn that your real mission has yet to begin. You are re-acquainted with the AI Merlin, who introduces you to Kronos time traveling technology, and reveals your new mission: to save mankind from the clutches of Morgana and her minions. Through untamed raptor-infested jungles, castle arenas, and war-torn streets of the future, you will wield weapons from all time periods - including the Sword of Power, Excalibur - in an effort to thwart the diabolical plot that unfolds. The EMR adventure, spread across 42 solo levels, weaves a tale of truth and honor, knighthood and bravery, and darkness and treachery. EMR also delivers 27 adrenaline pumped network levels. EMR immerses you in an amazing new world, creating an addictive, fun and unique gaming experience.
For those that played EMR under the old Marathon Infinity engine, EMR 3.0 brings exciting new maps, new high resolution textures and landscapes, a completely new set of weapons, new monsters and friends, new scenery, new 16-bit sounds, original music, and a carefully woven original story line that transcends time. Using the Aleph One engine, EMR now sports loads of new special features using Aleph Ones MML and Lua scripting languages. Please note that the AlephOne engine is old technology improved. Architecture is still simulated 3D, so there are no ramps, bridges, and balconies, nor horizontal doors. The sprites in EMR are made up of 2D images posed in different views, not 3D models. Do not expect the latest state-of-the-art graphics engine, but you can expect an intriguing storyline, creative map architectures, engaging graphics, original spellbinding music, and mood-setting sound effects.
Whats New in This Release:
<<lessFor those that played EMR under the old Marathon Infinity engine, EMR 3.0 brings exciting new maps, new high resolution textures and landscapes, a completely new set of weapons, new monsters and friends, new scenery, new 16-bit sounds, original music, and a carefully woven original story line that transcends time. Using the Aleph One engine, EMR now sports loads of new special features using Aleph Ones MML and Lua scripting languages. Please note that the AlephOne engine is old technology improved. Architecture is still simulated 3D, so there are no ramps, bridges, and balconies, nor horizontal doors. The sprites in EMR are made up of 2D images posed in different views, not 3D models. Do not expect the latest state-of-the-art graphics engine, but you can expect an intriguing storyline, creative map architectures, engaging graphics, original spellbinding music, and mood-setting sound effects.
Whats New in This Release:
- Levels with fog and mist
- Persistent effects such as poison, earthquakes, fire storm spell, and timed grenades
- Original MP3 music
- 12 unique weapons, including a new Dragon Flamer and T9000 Railgun
- New spells for your wand, including fire storm, teleportation, and raise the
dead
- Beautifully rendered OpenGL textures and landscapes
- New graphics for Morgana, the Trex, raven, and Jurassic bug
- A huge variety of new hi-res scenery items
- New holodeck programs, including driving a Flintstone mobile through Bedrock!
- Blood Gulch style net map with 8 simulated net players and a huge battlefield
- A basketball court netmap where grenades in a basket win points for your team
- A beautiful new future level that lets you drive a Hoverbike!
- A total of 5 brand new solo maps and 4 new net maps
- Lots of updated maps with new areas, new tasks, new features, and new secrets
- New powerups, such as apples, bananas, health kits, emergency kits, and finally
a use for all those magic scrolls!
- And much, much, more...
Download (227.1MB)
Added: 2007-06-03 License: GPL (GNU General Public License) Price:
877 downloads
ljKlient 0.1.172
ljKlient is a KDE LiveJournal client, written in Python 2.4 (as such, it requires PyQt and PyKDE for KDE 3.x). more>>
ljKlient is a KDE LiveJournal client, written in Python 2.4 (as such, it requires PyQt and PyKDE for KDE 3.x).
ljKlient project is currently in an early phase, but the 0.0.x series is useable. It supports posting to shared journals, selecting userpics, LiveJournal-supplied moods and custom ones, current music, tags and simple post security (public-private-friendsonly).
Enhancements:
- German translation by Schneelocke;
- Hungarian, Swedish and Russian translations updated
- Hungarian is deemed nplurals=1, plural=0 by KDE3, whereas GNU (correctly) thinks it is nplurals=2, plural=n!=1 at least in some cases.
- Spellchecking is now enabled by default
- Added support for the system menu, .desktop file places the app to menu:/Internet
- Friendlist update dialog now uses a KTextBrowser, can click on user links, profile icons, just like in LiveJournal.
- A minor change to the icons (shifted them one pixel down)
- Some changes to the translatable strings in friendlist
<<lessljKlient project is currently in an early phase, but the 0.0.x series is useable. It supports posting to shared journals, selecting userpics, LiveJournal-supplied moods and custom ones, current music, tags and simple post security (public-private-friendsonly).
Enhancements:
- German translation by Schneelocke;
- Hungarian, Swedish and Russian translations updated
- Hungarian is deemed nplurals=1, plural=0 by KDE3, whereas GNU (correctly) thinks it is nplurals=2, plural=n!=1 at least in some cases.
- Spellchecking is now enabled by default
- Added support for the system menu, .desktop file places the app to menu:/Internet
- Friendlist update dialog now uses a KTextBrowser, can click on user links, profile icons, just like in LiveJournal.
- A minor change to the icons (shifted them one pixel down)
- Some changes to the translatable strings in friendlist
Download (0.030MB)
Added: 2007-08-07 License: GPL (GNU General Public License) Price:
809 downloads
Spiffy 0.30
Spiffy is a Spiffy Perl Interface Framework For You. more>>
Spiffy is a Spiffy Perl Interface Framework For You.
SYNOPSIS
package Keen;
use Spiffy -Base;
field mirth;
const mood => :-);
sub happy {
if ($self->mood eq :-() {
$self->mirth(-1);
print "Cheer up!";
}
super;
}
"Spiffy" is a framework and methodology for doing object oriented (OO) programming in Perl. Spiffy combines the best parts of Exporter.pm, base.pm, mixin.pm and SUPER.pm into one magic foundation class. It attempts to fix all the nits and warts of traditional Perl OO, in a clean, straightforward and (perhaps someday) standard way.
Spiffy borrows ideas from other OO languages like Python, Ruby, Java and Perl 6. It also adds a few tricks of its own.
If you take a look on CPAN, there are a ton of OO related modules. When starting a new project, you need to pick the set of modules that makes most sense, and then you need to use those modules in each of your classes. Spiffy, on the other hand, has everything youll probably need in one module, and you only need to use it once in one of your classes. If you make Spiffy.pm the base class of the basest class in your project, Spiffy will automatically pass all of its magic to all of your subclasses. You may eventually forget that youre even using it!
The most striking difference between Spiffy and other Perl object oriented base classes, is that it has the ability to export things. If you create a subclass of Spiffy, all the things that Spiffy exports will automatically be exported by your subclass, in addition to any more things that you want to export. And if someone creates a subclass of your subclass, all of those things will be exported automatically, and so on. Think of it as "Inherited Exportation", and it uses the familiar Exporter.pm specification syntax.
To use Spiffy or any subclass of Spiffy as a base class of your class, you specify the -base argument to the use command.
use MySpiffyBaseModule -base;
You can also use the traditional use base MySpiffyBaseModule; syntax and everything will work exactly the same. The only caveat is that Spiffy.pm must already be loaded. Thats because Spiffy rewires base.pm on the fly to do all the Spiffy magics.
Spiffy has support for Ruby-like mixins with Perl6-like roles. Just like base you can use either of the following invocations:
use mixin MySpiffyBaseModule;
use MySpiffyBaseModule -mixin;
The second version will only work if the class being mixed in is a subclass of Spiffy. The first version will work in all cases, as long as Spiffy has already been loaded.
To limit the methods that get mixed in, use roles. (Hint: they work just like an Exporter list):
use MySpiffyBaseModule -mixin => qw(:basics x y !foo);
In object oriented Perl almost every subroutine is a method. Each method gets the object passed to it as its first argument. That means practically every subroutine starts with the line:
my $self = shift;
Spiffy provides a simple, optional filter mechanism to insert that line for you, resulting in cleaner code. If you figure an average method has 10 lines of code, thats 10% of your code! To turn this option on, you just use the -Base option instead of the -base option, or add the -selfless option. If source filtering makes you queazy, dont use the feature. I personally find it addictive in my quest for writing squeaky clean, maintainable code.
A useful feature of Spiffy is that it exports two functions: field and const that can be used to declare the attributes of your class, and automatically generate accessor methods for them. The only difference between the two functions is that const attributes can not be modified; thus the accessor is much faster.
One interesting aspect of OO programming is when a method calls the same method from a parent class. This is generally known as calling a super method. Perls facility for doing this is butt ugly:
sub cleanup {
my $self = shift;
$self->scrub;
$self->SUPER::cleanup(@_);
}
Spiffy makes it, er, super easy to call super methods. You just use the super function. You dont need to pass it any arguments because it automatically passes them on for you. Heres the same function with Spiffy:
sub cleanup {
$self->scrub;
super;
}
Spiffy has a special method for parsing arguments called parse_arguments, that it also uses for parsing its own arguments. You declare which arguments are boolean (singletons) and which ones are paired, with two special methods called boolean_arguments and paired_arguments. Parse arguments pulls out the booleans and pairs and returns them in an anonymous hash, followed by a list of the unmatched arguments.
Finally, Spiffy can export a few debugging functions WWW, XXX, YYY and ZZZ. Each of them produces a YAML dump of its arguments. WWW warns the output, XXX dies with the output, YYY prints the output, and ZZZ confesses the output. If YAML doesnt suit your needs, you can switch all the dumps to Data::Dumper format with the -dumper option.
<<lessSYNOPSIS
package Keen;
use Spiffy -Base;
field mirth;
const mood => :-);
sub happy {
if ($self->mood eq :-() {
$self->mirth(-1);
print "Cheer up!";
}
super;
}
"Spiffy" is a framework and methodology for doing object oriented (OO) programming in Perl. Spiffy combines the best parts of Exporter.pm, base.pm, mixin.pm and SUPER.pm into one magic foundation class. It attempts to fix all the nits and warts of traditional Perl OO, in a clean, straightforward and (perhaps someday) standard way.
Spiffy borrows ideas from other OO languages like Python, Ruby, Java and Perl 6. It also adds a few tricks of its own.
If you take a look on CPAN, there are a ton of OO related modules. When starting a new project, you need to pick the set of modules that makes most sense, and then you need to use those modules in each of your classes. Spiffy, on the other hand, has everything youll probably need in one module, and you only need to use it once in one of your classes. If you make Spiffy.pm the base class of the basest class in your project, Spiffy will automatically pass all of its magic to all of your subclasses. You may eventually forget that youre even using it!
The most striking difference between Spiffy and other Perl object oriented base classes, is that it has the ability to export things. If you create a subclass of Spiffy, all the things that Spiffy exports will automatically be exported by your subclass, in addition to any more things that you want to export. And if someone creates a subclass of your subclass, all of those things will be exported automatically, and so on. Think of it as "Inherited Exportation", and it uses the familiar Exporter.pm specification syntax.
To use Spiffy or any subclass of Spiffy as a base class of your class, you specify the -base argument to the use command.
use MySpiffyBaseModule -base;
You can also use the traditional use base MySpiffyBaseModule; syntax and everything will work exactly the same. The only caveat is that Spiffy.pm must already be loaded. Thats because Spiffy rewires base.pm on the fly to do all the Spiffy magics.
Spiffy has support for Ruby-like mixins with Perl6-like roles. Just like base you can use either of the following invocations:
use mixin MySpiffyBaseModule;
use MySpiffyBaseModule -mixin;
The second version will only work if the class being mixed in is a subclass of Spiffy. The first version will work in all cases, as long as Spiffy has already been loaded.
To limit the methods that get mixed in, use roles. (Hint: they work just like an Exporter list):
use MySpiffyBaseModule -mixin => qw(:basics x y !foo);
In object oriented Perl almost every subroutine is a method. Each method gets the object passed to it as its first argument. That means practically every subroutine starts with the line:
my $self = shift;
Spiffy provides a simple, optional filter mechanism to insert that line for you, resulting in cleaner code. If you figure an average method has 10 lines of code, thats 10% of your code! To turn this option on, you just use the -Base option instead of the -base option, or add the -selfless option. If source filtering makes you queazy, dont use the feature. I personally find it addictive in my quest for writing squeaky clean, maintainable code.
A useful feature of Spiffy is that it exports two functions: field and const that can be used to declare the attributes of your class, and automatically generate accessor methods for them. The only difference between the two functions is that const attributes can not be modified; thus the accessor is much faster.
One interesting aspect of OO programming is when a method calls the same method from a parent class. This is generally known as calling a super method. Perls facility for doing this is butt ugly:
sub cleanup {
my $self = shift;
$self->scrub;
$self->SUPER::cleanup(@_);
}
Spiffy makes it, er, super easy to call super methods. You just use the super function. You dont need to pass it any arguments because it automatically passes them on for you. Heres the same function with Spiffy:
sub cleanup {
$self->scrub;
super;
}
Spiffy has a special method for parsing arguments called parse_arguments, that it also uses for parsing its own arguments. You declare which arguments are boolean (singletons) and which ones are paired, with two special methods called boolean_arguments and paired_arguments. Parse arguments pulls out the booleans and pairs and returns them in an anonymous hash, followed by a list of the unmatched arguments.
Finally, Spiffy can export a few debugging functions WWW, XXX, YYY and ZZZ. Each of them produces a YAML dump of its arguments. WWW warns the output, XXX dies with the output, YYY prints the output, and ZZZ confesses the output. If YAML doesnt suit your needs, you can switch all the dumps to Data::Dumper format with the -dumper option.
Download (0.027MB)
Added: 2007-06-13 License: Perl Artistic License Price:
863 downloads
B::Graph 0.51
B::Graph is a Perl compiler backend to produce graphs of OP trees. more>>
B::Graph is a Perl compiler backend to produce graphs of OP trees.
SYNOPSIS
perl -MO=Graph,-text prog.pl >graph.txt
perl -MO=Graph,-vcg prog.pl >graph.vcg
xvcg graph.vcg
perl -MO=Graph,-dot prog.pl | dot -Tps >graph.ps
This module is a backend to the perl compiler (B::*) which, instead of outputting bytecode or C based on perls compiled version of a program, writes descriptions in graph-description languages specifying graphs that show the programs structure. It currently generates descriptions for the VCG tool (http://www.cs.uni-sb.de/RW/users/sander/html/gsvcg1.html) and Dot (part of the graph visualization toolkit from AT&T: http://www.research.att.com/sw/tools/graphviz/). It also can produce plain text output (which is more useful for debugging the module itself than anything else, though you might be able to make cut the nodes out and make a mobile or something similar).
OPTIONS
Like any other compiler backend, this module needs to be invoked using the O module to run correctly:
perl -MO=Graph,-opt,-opt,-opt program.pl
OR
perl -MO=Graph,-opt,obj -e BEGIN {$obj = ["hi"]}; print $obj
OR EVEN
perl -e use O qw(Graph -opt obj obj); print "hi!n";
Obj is the name of a perl variable whose contents will be examined. It cant be a my() variable, and it shouldnt have a prefix symbol ($@^*), though you can specify a package -- the name will be used to look up a GV, whose various fields will lead to the scalar, array, and other values that correspond to the named variable. If no object is specified, the whole main program, including the CV that points to its pad, will be displayed.
Each of the the opts can come from one of the following (each set is mutually exclusive; case and underscores are insignificant):
-text, -vcg, -dot
Produce output of the appropriate type. The default is -text, which isnt useful for much of anything (it does draw some nice ASCII boxes, though).
-addrs, -no_addrs
Each of the nodes on the graph produced corresponds to a C structure that has an address and includes pointers to other structures. The module uses these addresses to decide how to draw edges, but it makes the graph more compact if they arent printed. The default is -no_addrs.
-compile_order, -run_order
The collection of OPs that perl compiles a script into has two different layers of structure. It has a tree structure which corresponds roughly to the synactic nesting of constructs in the source text, and a roughly linked-list representation, essentially a postorder traversal of this tree, which is used at runtime to decide what to do next. The graph can be drawn to emphasize one structure or the other. The former, compile_order, is the default, as it tends to lead to graphs with aspect ratios close to those of standard paper.
-SVs, -no_SVs
If OPs represent a programs compiled code, SVs represent its data. This includes literal numbers and strings (IVs, NVs, PVs, PVIVs, and PVNVs), regular arrays, hashes, and references (AVs, HVs, and RVs), but also the structures that correspond to individual variables (special HVs for symbol tables and GVs to represent values within them, and special AVs that hold my() variables (as well as compiler temporaries)), structures that keep track of code (CVs), and a variety of others. The default is to display all these too, to give a complete picture, but if you arent in a holistic mood, you can make them disappear.
-ellipses, -rhombs
The module tries to give the nodes representing SVs a different shape from those of OPs. OPs are usually rectangular, so two obvious shapes for SVs are ellipses and rhombuses (stretched diamonds). This option currently only makes a difference for VCG (ellipse is the default).
-stashes, -no_stashes
The hashes that perl uses to represent symbol tables are called stashes. Since every GV has a pointer back to its stash, its virtually inevitable for the links in a graph to lead to the main stash. Unfortunately stashes, especially the main one, can be quite big, and lead to forests of other structures -- theres one GV and another SV for each magic variable, plus all of @INC and %ENV, and so on. To prevent information overload, then, the display of stashes is disabled by default.
-fileGVs, -no_fileGVs
Another kind graph element that can be annoying are the pointers from every GV and COP (a kind of OP that occurs for every statement) to the GV that represents the file from which that code came (used for error messages). By default, these links arent shown, to keep them from cluttering the graph. Also, perls internal interfaces changed in a recent version, so in perl 5.005_63 or later you cant see the fileGVs at all.
-SEQs, -no_SEQs
As it is visited in the peephole optimization phase, each OP gets a sequence number, which is currently used by anything (except the peephole optimizer, to avoid visiting OPs twice). If you want to see these, ask for them. (COPs have their own sequence numbers too, but theyre more interesting to look at -- for instance, theyre used to bound the lifetimes of lexicals).
-types, -no_types
B::Graph always gives the type of each OP symbolically (entersub), but it can also print the numeric value of the type field, if you want. The default is no_types.
-float, -no_float
Almost every OP has an op_next and an op_sibling pointer, and B::Graph colors them distinctively (pink and light blue, respectively). Because of this, it isnt strictly necessary to anchor the arrow on a line in the OPs box saying op_next. The float option lets the graph layout engine start these arrows wherever it wants, which can sometimes lead to a more pleasing layout, at the expense of being less obvious. The default is not to float.
-targlinks, -no_targlinks
Lexical (my()) variables and temporary values used by individual OPs are stored in pads, per-code arrays linked to the CV. OPs store indexes into these arrays in the op_targ field, but B::Graph can often also draw links directly from the OP to the SV that stores the name of the variable. These links dont correspond to any real pointers, however, and they can make the graph more complicated, so they are disabled by default.
<<lessSYNOPSIS
perl -MO=Graph,-text prog.pl >graph.txt
perl -MO=Graph,-vcg prog.pl >graph.vcg
xvcg graph.vcg
perl -MO=Graph,-dot prog.pl | dot -Tps >graph.ps
This module is a backend to the perl compiler (B::*) which, instead of outputting bytecode or C based on perls compiled version of a program, writes descriptions in graph-description languages specifying graphs that show the programs structure. It currently generates descriptions for the VCG tool (http://www.cs.uni-sb.de/RW/users/sander/html/gsvcg1.html) and Dot (part of the graph visualization toolkit from AT&T: http://www.research.att.com/sw/tools/graphviz/). It also can produce plain text output (which is more useful for debugging the module itself than anything else, though you might be able to make cut the nodes out and make a mobile or something similar).
OPTIONS
Like any other compiler backend, this module needs to be invoked using the O module to run correctly:
perl -MO=Graph,-opt,-opt,-opt program.pl
OR
perl -MO=Graph,-opt,obj -e BEGIN {$obj = ["hi"]}; print $obj
OR EVEN
perl -e use O qw(Graph -opt obj obj); print "hi!n";
Obj is the name of a perl variable whose contents will be examined. It cant be a my() variable, and it shouldnt have a prefix symbol ($@^*), though you can specify a package -- the name will be used to look up a GV, whose various fields will lead to the scalar, array, and other values that correspond to the named variable. If no object is specified, the whole main program, including the CV that points to its pad, will be displayed.
Each of the the opts can come from one of the following (each set is mutually exclusive; case and underscores are insignificant):
-text, -vcg, -dot
Produce output of the appropriate type. The default is -text, which isnt useful for much of anything (it does draw some nice ASCII boxes, though).
-addrs, -no_addrs
Each of the nodes on the graph produced corresponds to a C structure that has an address and includes pointers to other structures. The module uses these addresses to decide how to draw edges, but it makes the graph more compact if they arent printed. The default is -no_addrs.
-compile_order, -run_order
The collection of OPs that perl compiles a script into has two different layers of structure. It has a tree structure which corresponds roughly to the synactic nesting of constructs in the source text, and a roughly linked-list representation, essentially a postorder traversal of this tree, which is used at runtime to decide what to do next. The graph can be drawn to emphasize one structure or the other. The former, compile_order, is the default, as it tends to lead to graphs with aspect ratios close to those of standard paper.
-SVs, -no_SVs
If OPs represent a programs compiled code, SVs represent its data. This includes literal numbers and strings (IVs, NVs, PVs, PVIVs, and PVNVs), regular arrays, hashes, and references (AVs, HVs, and RVs), but also the structures that correspond to individual variables (special HVs for symbol tables and GVs to represent values within them, and special AVs that hold my() variables (as well as compiler temporaries)), structures that keep track of code (CVs), and a variety of others. The default is to display all these too, to give a complete picture, but if you arent in a holistic mood, you can make them disappear.
-ellipses, -rhombs
The module tries to give the nodes representing SVs a different shape from those of OPs. OPs are usually rectangular, so two obvious shapes for SVs are ellipses and rhombuses (stretched diamonds). This option currently only makes a difference for VCG (ellipse is the default).
-stashes, -no_stashes
The hashes that perl uses to represent symbol tables are called stashes. Since every GV has a pointer back to its stash, its virtually inevitable for the links in a graph to lead to the main stash. Unfortunately stashes, especially the main one, can be quite big, and lead to forests of other structures -- theres one GV and another SV for each magic variable, plus all of @INC and %ENV, and so on. To prevent information overload, then, the display of stashes is disabled by default.
-fileGVs, -no_fileGVs
Another kind graph element that can be annoying are the pointers from every GV and COP (a kind of OP that occurs for every statement) to the GV that represents the file from which that code came (used for error messages). By default, these links arent shown, to keep them from cluttering the graph. Also, perls internal interfaces changed in a recent version, so in perl 5.005_63 or later you cant see the fileGVs at all.
-SEQs, -no_SEQs
As it is visited in the peephole optimization phase, each OP gets a sequence number, which is currently used by anything (except the peephole optimizer, to avoid visiting OPs twice). If you want to see these, ask for them. (COPs have their own sequence numbers too, but theyre more interesting to look at -- for instance, theyre used to bound the lifetimes of lexicals).
-types, -no_types
B::Graph always gives the type of each OP symbolically (entersub), but it can also print the numeric value of the type field, if you want. The default is no_types.
-float, -no_float
Almost every OP has an op_next and an op_sibling pointer, and B::Graph colors them distinctively (pink and light blue, respectively). Because of this, it isnt strictly necessary to anchor the arrow on a line in the OPs box saying op_next. The float option lets the graph layout engine start these arrows wherever it wants, which can sometimes lead to a more pleasing layout, at the expense of being less obvious. The default is not to float.
-targlinks, -no_targlinks
Lexical (my()) variables and temporary values used by individual OPs are stored in pads, per-code arrays linked to the CV. OPs store indexes into these arrays in the op_targ field, but B::Graph can often also draw links directly from the OP to the SV that stores the name of the variable. These links dont correspond to any real pointers, however, and they can make the graph more complicated, so they are disabled by default.
Download (0.012MB)
Added: 2007-06-26 License: Perl Artistic License Price:
851 downloads
Paloma 2.04a
Paloma is a program to manage a database of digital music files and facilitate their retrieval and playback in interesting ways. more>>
Paloma is a program to manage a database of digital music files and facilitate their retrieval and playback in interesting ways. It works with music files of any form--mp3 files, ogg files, MIDI files, whatever youve got a player for--and file formats can be freely intermixed. Its intended to replace a traditional CD player/changer system. Paloma makes it easy to rip your entire CD collection (or even your favorite vinyl records) and store it on your hard disk for instant random access.
However, Paloma is more than a virtual CD player. There are already dozens of these in existence, and I have no interest in competing with them. In fact, Paloma works nicely together standalone jukebox programs.
What Paloma adds is the management of your music in a relational database, instead of a more traditional hierarchical database. A physical CD collection, for instance, is hierarchical: you might have your CDs on the rack grouped together by artist, so that for each artist, you have a number of CDs to choose from, and from each CD, you can play a number of songs.
This is not a bad system. It works well for finding a particular song (providing you remember what CD it was on) or for playing a particular artist (you might put a couple of Tori Amos CDs in your CD player, for instance, and push "random"). Most jukebox programs provide a functionally similar interface, by storing the songs hierarchically in this way in some kind of directory structure.
Paloma can do this too, although its not as slick as a specialized jukebox program. But with a relational database, you can also do a lot more. You could play all the songs by Frank Sinatra (for instance) in your collection, even if you dont own a single Frank Sinatra CD--it will pull together all the Sinatra songs from all the different lounge compilations you might have. Or you can bring up all the songs written by Jim Steinman, which would include those sung by Meat Loaf as well as those sung by Bonnie Tyler. Or maybe, if youre in a romantic mood, all the songs that have the word "love" in their title. Or all the classical music pieces shorter than five minutes. Or for a rainy Sunday, nothing but jazz--a good mix of all the jazz songs in your collection. Or if youre feeling nostalgic, all the songs you own that were recorded between 1975 and 1985. You get the point.
Paloma will soon support personal customization of your database, allowing the addition of fields and custom queries by the user. (Actually, it supports this now; it only lacks a GUI to easily define these custom fields.) So youre not restricted just to the sorts of things I wanted to query my database on.
This early release of Paloma is fully functional, although there is of course much room for future development. If you find it useful, or if you have further suggestions for extensions, please dont hesitate to drop me a line!
Enhancements:
- Added the new "Contexts" tab to the Configure page, which allows specialization of commands and file paths for different OSs and/or machines on the network. This allows, for instance, a Windows machine to access a Paloma database stored on a Linux
- server, even though the file path on the Windows machine to the volume store will be different from the path on the Linux machine to the same volume store, and even though a different set of commands may be needed on the Windows machine to play and/or verify these soundfiles.
- Added "AudioTron TOC file" to the list of supported playlist types. This allows you to export a "playlist" file to the top of your volume store that is really just a complete list of files for a connected AudioTron device (see http://www.turtlebeach.com/site/products/audiotron/producthome.asp) to scan.
- Added "AudioTron play" to the list of supported playlist types. This is a special "playlist" that actually communicates directly to a connected AudionTron device and starts playing the songs immediately. Specify password@hostname as the playlist filename.
- Added prompts to switch disks if necessary when exporting a playlist, allowing you once more to store your collection of song files on a stack of CDs, which you can rotate in as necessary to play songs.
- Added support for Python 2.3.4.
<<lessHowever, Paloma is more than a virtual CD player. There are already dozens of these in existence, and I have no interest in competing with them. In fact, Paloma works nicely together standalone jukebox programs.
What Paloma adds is the management of your music in a relational database, instead of a more traditional hierarchical database. A physical CD collection, for instance, is hierarchical: you might have your CDs on the rack grouped together by artist, so that for each artist, you have a number of CDs to choose from, and from each CD, you can play a number of songs.
This is not a bad system. It works well for finding a particular song (providing you remember what CD it was on) or for playing a particular artist (you might put a couple of Tori Amos CDs in your CD player, for instance, and push "random"). Most jukebox programs provide a functionally similar interface, by storing the songs hierarchically in this way in some kind of directory structure.
Paloma can do this too, although its not as slick as a specialized jukebox program. But with a relational database, you can also do a lot more. You could play all the songs by Frank Sinatra (for instance) in your collection, even if you dont own a single Frank Sinatra CD--it will pull together all the Sinatra songs from all the different lounge compilations you might have. Or you can bring up all the songs written by Jim Steinman, which would include those sung by Meat Loaf as well as those sung by Bonnie Tyler. Or maybe, if youre in a romantic mood, all the songs that have the word "love" in their title. Or all the classical music pieces shorter than five minutes. Or for a rainy Sunday, nothing but jazz--a good mix of all the jazz songs in your collection. Or if youre feeling nostalgic, all the songs you own that were recorded between 1975 and 1985. You get the point.
Paloma will soon support personal customization of your database, allowing the addition of fields and custom queries by the user. (Actually, it supports this now; it only lacks a GUI to easily define these custom fields.) So youre not restricted just to the sorts of things I wanted to query my database on.
This early release of Paloma is fully functional, although there is of course much room for future development. If you find it useful, or if you have further suggestions for extensions, please dont hesitate to drop me a line!
Enhancements:
- Added the new "Contexts" tab to the Configure page, which allows specialization of commands and file paths for different OSs and/or machines on the network. This allows, for instance, a Windows machine to access a Paloma database stored on a Linux
- server, even though the file path on the Windows machine to the volume store will be different from the path on the Linux machine to the same volume store, and even though a different set of commands may be needed on the Windows machine to play and/or verify these soundfiles.
- Added "AudioTron TOC file" to the list of supported playlist types. This allows you to export a "playlist" file to the top of your volume store that is really just a complete list of files for a connected AudioTron device (see http://www.turtlebeach.com/site/products/audiotron/producthome.asp) to scan.
- Added "AudioTron play" to the list of supported playlist types. This is a special "playlist" that actually communicates directly to a connected AudionTron device and starts playing the songs immediately. Specify password@hostname as the playlist filename.
- Added prompts to switch disks if necessary when exporting a playlist, allowing you once more to store your collection of song files on a stack of CDs, which you can rotate in as necessary to play songs.
- Added support for Python 2.3.4.
Download (0.26MB)
Added: 2006-07-26 License: GPL (GNU General Public License) Price:
1196 downloads
LJ::Simple 0.15
LJ::Simple is a Perl module to provide a simple OOP-based API for accessing the LiveJournal system. more>>
LJ::Simple is a Perl module to provide a simple OOP-based API for accessing the LiveJournal system.
Main features:
- Log into LiveJournal
- Post a journal entry
- Edit a journal entry
- Delete a journal entry
Example
The following example posts a simple message into the test LiveJournal using the LJ::Simple::QuickPost method.
use LJ::Simple;
LJ::Simple::QuickPost(
user => "test",
pass => "test",
entry => "Just a simple entry",
) || die "$0: Failed to post entry: $LJ::Simple::errorn";
The next example shows how to post an entry into the test LiveJournal using the complete, object-based, interface:
use LJ::Simple;
my $lj = new LJ::Simple ({
user => "test",
pass => "test",
});
(defined $lj)
|| die "$0: Failed to log into LiveJournal: $LJ::Simple::errorn";
my %Event=();
$lj->NewEntry(%Event) ||
die "$0: Failed to create new entry: $LJ::Simple::errorn";
my $entry=SetMood(%Event,"happy")
|| die "$0: Failed to set mood: $LJ::Simple::errorn";
$lj->Setprop_nocomments(%Event,1);
my ($item_id,$anum,$html_id)=$lj->PostEntry(%Event);
(defined $item_id)
|| die "$0: Failed to post journal entry: $LJ::Simple::errorn";
<<lessMain features:
- Log into LiveJournal
- Post a journal entry
- Edit a journal entry
- Delete a journal entry
Example
The following example posts a simple message into the test LiveJournal using the LJ::Simple::QuickPost method.
use LJ::Simple;
LJ::Simple::QuickPost(
user => "test",
pass => "test",
entry => "Just a simple entry",
) || die "$0: Failed to post entry: $LJ::Simple::errorn";
The next example shows how to post an entry into the test LiveJournal using the complete, object-based, interface:
use LJ::Simple;
my $lj = new LJ::Simple ({
user => "test",
pass => "test",
});
(defined $lj)
|| die "$0: Failed to log into LiveJournal: $LJ::Simple::errorn";
my %Event=();
$lj->NewEntry(%Event) ||
die "$0: Failed to create new entry: $LJ::Simple::errorn";
my $entry=SetMood(%Event,"happy")
|| die "$0: Failed to set mood: $LJ::Simple::errorn";
$lj->Setprop_nocomments(%Event,1);
my ($item_id,$anum,$html_id)=$lj->PostEntry(%Event);
(defined $item_id)
|| die "$0: Failed to post journal entry: $LJ::Simple::errorn";
Download (0.043MB)
Added: 2006-02-27 License: BSD License Price:
1335 downloads
SILC Plugin for Kopete 0.3
SILC Plugin for Kopete is a protocol plugin for Kopete, the KDE Instant Messenger. more>>
SILC Plugin for Kopete is a protocol plugin for Kopete, the KDE Instant Messenger. If you ever cursed that you cannot join the SILC Network using Kopete this can help you. It will add SILC support to Kopete.
The plugin is based on libsilc which is part of the SILC Toolkit mentioned above. The library was initially written by Pekka Riikonen and is still maintained by him.
Main features:
- Channels can be joined or added to the contact list.
- One-to-one chats can be initiated by clicking members participating in group chats.
- Password protected channels are supported.
- User invitation is handy through drag-and-drop functionality.
- Signature verification and public key handling are fully supported.
- File transfesr to other buddies is possible, including graphical progress information and automatic detection of NATed workstations.
- guided channel configuration is partially available, this is, mainly topic setting and some boolean options
- MIME support is fully implemented. So it is possible to send files to channels.
- Attributes can distribute your mood, your location on earth or the medium you want to be contacted through.
<<lessThe plugin is based on libsilc which is part of the SILC Toolkit mentioned above. The library was initially written by Pekka Riikonen and is still maintained by him.
Main features:
- Channels can be joined or added to the contact list.
- One-to-one chats can be initiated by clicking members participating in group chats.
- Password protected channels are supported.
- User invitation is handy through drag-and-drop functionality.
- Signature verification and public key handling are fully supported.
- File transfesr to other buddies is possible, including graphical progress information and automatic detection of NATed workstations.
- guided channel configuration is partially available, this is, mainly topic setting and some boolean options
- MIME support is fully implemented. So it is possible to send files to channels.
- Attributes can distribute your mood, your location on earth or the medium you want to be contacted through.
Download (0.097MB)
Added: 2007-05-31 License: GPL (GNU General Public License) Price:
878 downloads
domo 2.4
Domo is a music organizer which indexes digital audio sources, extracts all information and inserts into a database. more>>
Domo is a music organizer which indexes digital audio sources, extracts all information and inserts into a database.
Domo is in the first place a music organizer. Domo indexes audio sources, extracts all possible information (mpeg headers, ID3 tags, MusicBrainz,...) and inserts everything into a relational database. In this database you can then query, export and compare with other sources (playlist, music cd, ...).
Main features:
- Song based comparison of 2 input sources (see compare page)
- Convertion between different playlist formats
- mp3, ogg meta data extraction & setting
- Retrieval of meta information for unknown songs through TRM audio fingerprints
- Retrieval of Audio CD meta information through the MusicBrainz service
- Maintaining of a wishlist
- Specify your own album format (eg: %genre/%artist - %title (%year))
- Specify your own custom track format (eg: %artist - %trackno - %title)
- Query tracks and albums on artist, title, filename, album title,...
- Easy interface to the internet or other applications through a relational database (MySQL, PostgreSQL, ODBC, SQLITE...)
- Create a backup copy of the music database
- Powerfull song filename/metatag cleanup
- Generate statistics like "top 10 artists", "number of duplicate songs", etc
- Group songs in the database into collections (per user)
- Platform independent
- Assign a mood to tracks (eg: happy, sad, in love, ...)
- Give tracks, albums, ... a score out of 10
- Easy browsing of your collection per Genre or per CD
Enhancements:
- replaced id3lib with taglib
- added and integrated settings which allow choosing metainfo preference (filename or metatag) and which allow the user to specify a custom track format
- writing of metatags is now supported
- bugfixes
- added right-click context menu to score tracks, set mood, delete CDs & rename
- albums
- increased possible query fields
- possible to query albums
- consistency dialog much, much improved (supports genre, album, etc...)
- finally fixed mysql database/account creation permission issues, newly created account
- should be fairly restricted.
- added a genre-centric browse list (in addition to the CD centric one)
- updated statistics to reflect mood popularity and best scoring artists
<<lessDomo is in the first place a music organizer. Domo indexes audio sources, extracts all possible information (mpeg headers, ID3 tags, MusicBrainz,...) and inserts everything into a relational database. In this database you can then query, export and compare with other sources (playlist, music cd, ...).
Main features:
- Song based comparison of 2 input sources (see compare page)
- Convertion between different playlist formats
- mp3, ogg meta data extraction & setting
- Retrieval of meta information for unknown songs through TRM audio fingerprints
- Retrieval of Audio CD meta information through the MusicBrainz service
- Maintaining of a wishlist
- Specify your own album format (eg: %genre/%artist - %title (%year))
- Specify your own custom track format (eg: %artist - %trackno - %title)
- Query tracks and albums on artist, title, filename, album title,...
- Easy interface to the internet or other applications through a relational database (MySQL, PostgreSQL, ODBC, SQLITE...)
- Create a backup copy of the music database
- Powerfull song filename/metatag cleanup
- Generate statistics like "top 10 artists", "number of duplicate songs", etc
- Group songs in the database into collections (per user)
- Platform independent
- Assign a mood to tracks (eg: happy, sad, in love, ...)
- Give tracks, albums, ... a score out of 10
- Easy browsing of your collection per Genre or per CD
Enhancements:
- replaced id3lib with taglib
- added and integrated settings which allow choosing metainfo preference (filename or metatag) and which allow the user to specify a custom track format
- writing of metatags is now supported
- bugfixes
- added right-click context menu to score tracks, set mood, delete CDs & rename
- albums
- increased possible query fields
- possible to query albums
- consistency dialog much, much improved (supports genre, album, etc...)
- finally fixed mysql database/account creation permission issues, newly created account
- should be fairly restricted.
- added a genre-centric browse list (in addition to the CD centric one)
- updated statistics to reflect mood popularity and best scoring artists
Download (0.78MB)
Added: 2006-07-19 License: GPL (GNU General Public License) Price:
1193 downloads
Secleted [ 0 ] software to compare
- Page: 1 of 2
- 1
- 2
Copyright Notice:
Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future software development. The above bestworkx mood search only lists software in full, demo and trial versions for free download. Download links are directly from our mirror sites or publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed