Cool VL Viewer forum

View unanswered posts | View active topics It is currently 2017-03-31 00:34:12

Reply to topic  [ 3 posts ] 
Feature Request: LordGregGreg Back's IRC client integration 
Author Message

Joined: 2009-03-23 19:07:48
Posts: 30
Reply with quote
Way back in the bad old days there was The Viewer That Must Not Be Named which was used to do Nefarious Things.
However, that viewer did have an interesting feature: a built-in IRC client as a variant of group chat.

That feature continued briefly in the firestorm viewer but was dropped from phoenix... my guess is because the original feature required changes to the v1 floater UI that were just too much trouble to redo for the v2/v3 UI.

However, our favorite (and frankly most stable viewer) never bothered with that new-fangled v2/v3 UI.

In theory, the old LGG IRC code could be (easily?) merged into Cool VL Viewer without a terrific amount of trouble for someone who knows diffs, merges, C/C++ and other wizardry.

The reason for this request is two-fold:
1. Most OpenSim support is based on IRC channels.
2. OpenSim itself contains an IRCBridgeModule which lets regions connect to/from IRC for shared communications.

LGG's old IRC code would be a slam dunk to centralize access from the viewer to IRC support and OpenSim IRC features.

From the emerald sources I found after a quick look, it seems like:
* iirc.cpp and .h - Iain Sheppard's GPL cpIRC classes
* lggfloaterirc.cpp and .h
* lggfloaterircedit.cpp and .h
* lggircdata.cpp and .h
* lgggrouphandler.cpp and .h
* lggprofilefloater.cpp and .h
* lggircthread.cpp and .h

* floater_IRCinfo.xml
* floater_IRCprofile.xml
* panel_IRC.xml

From the comments in lggircthread.cpp:
Ok, here is how this is suposed to work.
-----lggIrcData is suposed to just be a data structure object
--contains all the information needed to connect to irc, as well as a uuid identifier
--also contains functions to convert to a from llsd
-----lggIrcGroupHanlder is a single object made to just help in handling irc stuff
--has functions to scan file system for llsd files and return a list of thier lggIrcData
--has functions to start up a new lggIrcThread and pass it a coresponding lggIrcData to work with
--keeps a list of all the lggIrcThreads so it can delete them later
-----lggFloaterIrc is the panel in the "irc" tab next to the "groups" tab
--reads a list of names from the files system using a global lggIrcGroupHanlder object
--has buttons to edit and create new lggIrcDatas, which get saved to a file to be read and added at reset
--start IM sends a uid to the lggIrcGroupHandler for it to start up and hanlde a new lggIrcThread
--initialized with a lggIrcData so it knows where to connect, etc
--starts up a NEW irc object, and adds to it handlers
--included its own methods used to handle the irc objects triggers from when irc info is sent
--start up a new THREAD called the message listener, to try to connect to a channel, while looping infinite listening

There may be more, and there may some changes in other files to "hook" the new IRC code into the viewer, but that was as much as I could understand from my own look at it.
It seems the following viewer source have lggirc connections:
llfloateravatarinfo.cpp:#include "lggircgrouphandler.h"
llimpanel.cpp:#include "lggircgrouphandler.h"
llimview.cpp:#include "lggircgrouphandler.h"
llstartup.cpp:#include "lggircgrouphandler.h"

Some of the old firestorm viewer source trees may even have better/more up to date versions of this, especially in patchable form?

Just thinking out loud that it would be a useful feature for Cool VL Viewer for OpenSim users, especially those who need support on #opensim or #opensim-dev with region setup or new error messages, and with an existing implementation out there which worked and could be salvageable, why not suggest it at least?

Thanks to Henri and everyone for all their hard work on Cool VL Viewer which has been a rock solid 3D world viewer for me since somewhere around 2008.
And thanks for reading this far =)

Last edited by Allen Kerensky on 2015-04-12 21:24:55, edited 1 time in total.

2015-04-12 21:13:28

Joined: 2009-03-17 18:42:51
Posts: 3505
Reply with quote
Sorry, but I do not intend to add IRC inside my viewer... IRC is not part of SL, neither of OpenSim. It's just a channel used by *some* OpenSim grids to communicate between users and devs.

Beside, a viewer built-in IRC feature would never provide a full fledged IRC set of commands and features. Why wanting to (badly) integrate everything into a single software (the viewer), when specialized software already exists for that particular function and offer you the full power/feature set ?...

Simply use an IRC client or Instant Messaging client (many got IRC support built-in, such as Purple/Carrier).

2015-04-12 21:23:51
Profile WWW

Joined: 2009-03-23 19:07:48
Posts: 30
Reply with quote
IRC is an optional part of OpenSim, see for details.

Also, #opensim and #opensim-dev on freenode are OpenSim general support channels which are not grid specific.

Grids like OSgrid operate their own channels like #osgrid on freenode.

But, I understand if you don't want to add it - it was just a thought.

Thanks for reading.

Edit: Oh, to answer your question why would I want it integrated - to provide a central control panel rather than constantly switching from app to app, window to window input box to input box to handle multiple conversations.

Having the IRC channels on freenode IN the viewer would allow more ability to sit inworld and provide Q&A for people in chat AND in IRC together from one "pane" rather than constantly tabbing or mousing from app to app.

2015-04-12 21:27:52
Display posts from previous:  Sort by  
Reply to topic   [ 3 posts ] 

Who is online

Users browsing this forum: No registered users and 1 guest

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.