Difference between revisions of "User:SignpostMarv Martin/Archive/Implementing new features"
Jump to navigation
Jump to search
(Added URL rewriting ideas) |
(→Ideas for new Features: wikification) |
||
Line 6: | Line 6: | ||
Just some Ideas that came up on the #opensl irc channel: | Just some Ideas that came up on the #opensl irc channel: | ||
=== Alternate Rendering Engines === | |||
* older hardware support, etc... | |||
* [http://www.google.ca/search?q=Open+Source+3D+Engine (''Open Source 3D Engine'')] | |||
==== Potential Barriers to Implementation ==== | |||
==== Comments ==== | |||
=== Better Sound Support === | |||
* Preload status | |||
* playback control, etc... | |||
** Quote: ''llKelly: eightltr: yes, that idea has been suggested in the past. ('''L$1 per 1sec audio''') I think we would rather improve the methods of linking to externally hosted sounds.'' | ** Quote: ''llKelly: eightltr: yes, that idea has been suggested in the past. ('''L$1 per 1sec audio''') I think we would rather improve the methods of linking to externally hosted sounds.'' | ||
* MIDI Support - maybe with some nice clientside Wavetables | * MIDI Support - maybe with some nice clientside Wavetables | ||
* MOD, XM, ect. Support | * MOD, XM, ect. Support | ||
* Removing Texture Loading so SL can run on less powerful Systems (say the N800/N770) | |||
* | ==== Potential Barriers to Implementation ==== | ||
* Patching it so that llLoadURL opens the F1 Help Browser | |||
==== Comments ==== | |||
** For instance, to provide an icecast stream with a agent UUID, <nowiki>http:// | * '''Seconded'''. [[Community Bounties#VLC instead of QuickTime]] might help. [[User:SignpostMarv Martin|SignpostMarv Martin]] 07:51, 9 January 2007 (PST) | ||
=== Removing Texture Loading === | |||
* so SL can run on less powerful Systems (say the N800/N770) | |||
==== Potential Barriers to Implementation ==== | |||
==== Comments ==== | |||
* '''Seconded''' -- Disabling texture download/display would be a great asset to people interested in communication more than shopping/etc. [[User:Kamilion Schnook|Kamilion Schnook]] | |||
* '''Comment:''' As far as I was aware, libSL clients don't load textures, due to the lack of JPEG 2000 support :-P [[User:SignpostMarv Martin|SignpostMarv Martin]] 07:51, 9 January 2007 (PST) | |||
=== Patching it so that llLoadURL opens the F1 Help Browser === | |||
* Adding keyword replacement in llLoadURL, Streaming media support, and other external links | |||
** For instance, to provide an icecast stream with a agent UUID, <nowiki>http://'''agentkey''':apassword@icecast.somehost.com:8000</nowiki> as a parcel URL | |||
* To provide an external website with a SL User Name, <nowiki> http://www.somesite.com/somephp.php?query=stuff&slname=''agentname''&action=buy&deliveryto=''agentkey''</nowiki> | |||
==== Potential Barriers to Implementation ==== | |||
* Unless the LSL2 VM starts supporting optional parameters, you risk breaking thousands of scripts | |||
** '''Workaround:''' Prefix urls with ubrowser:, e.g. '''<nowiki>ubrowser:http://example.com</nowiki>''', which will result in the dialog box indicating that the url will open inside the client. | |||
==== Comments ==== | |||
* '''Seconded''' [[User:SignpostMarv Martin|SignpostMarv Martin]] 07:51, 9 January 2007 (PST) | |||
* Streaming media urls can be implemented in this manner by making use of string concatenation, e.g. <nowiki>llParcelMediaCommandList([PARCEL_MEDIA_COMMAND_URL,'http://' + (string)llGetOwner() + ':' + stringVar__password + '@icecast.example.com:8000');</nowiki> [[User:SignpostMarv Martin|SignpostMarv Martin]] 07:51, 9 January 2007 (PST) | |||
=== Adding a Avatar Local Stream Channel === | |||
* that has a Range of X Meters around an Avatar | |||
* This would be used for Local Audio Streaming | |||
** Or Local VoIP chat | ** Or Local VoIP chat | ||
** Teamspeak... | ** Teamspeak... | ||
==== Potential Barriers to Implementation ==== | |||
==== Comments ==== | |||
=== Peer to Peer Voice over IP using above idea, improved === | |||
** Capible clients advertise themselves via below CTCP-style protocol | ** Capible clients advertise themselves via below CTCP-style protocol | ||
** Clients use multicast packets to broadcast to a list of addresses the server manages of clients in range. | ** Clients use multicast packets to broadcast to a list of addresses the server manages of clients in range. | ||
** In effect, this would give each avatar two unidirectional shoutcast-style stream impliments, or one bidirectional impliment. | ** In effect, this would give each avatar two unidirectional shoutcast-style stream impliments, or one bidirectional impliment. | ||
* [http://en.wikipedia.org/wiki/Client-To-Client_Protocol CTCP] protocol layered on IM system | ==== Potential Barriers to Implementation ==== | ||
* Command Line Interface for changing preferences | |||
==== Comments ==== | |||
=== More efficient local cache === | |||
==== Potential Barriers to Implementation ==== | |||
==== Comments ==== | |||
* '''Comment:''' Seronis has some good ideas on how this should be implemented. [[User:SignpostMarv Martin|SignpostMarv Martin]] 07:51, 9 January 2007 (PST) | |||
=== [http://en.wikipedia.org/wiki/Client-To-Client_Protocol CTCP] protocol layered on IM system === | |||
==== Potential Barriers to Implementation ==== | |||
==== Comments ==== | |||
* Bleh ? [[User:SignpostMarv Martin|SignpostMarv Martin]] 07:51, 9 January 2007 (PST) | |||
=== Command Line Interface Improvements === | |||
* for changing preferences sending an IM, teleporting, etc | |||
** for example: "/set drawdist 96", "/set sound off", "/tp ahern", or "/im kex godel hello" | ** for example: "/set drawdist 96", "/set sound off", "/tp ahern", or "/im kex godel hello" | ||
** would need an escape system which doesn't conflict with script command gestures (or a reserved words like how /me is) | ** would need an escape system which doesn't conflict with script command gestures (or a reserved words like how /me is) | ||
** Or better yet, the Ctrl-G Gesture management window could be improved to allow this, and even allow rebinding /commands | ** Or better yet, the Ctrl-G Gesture management window could be improved to allow this, and even allow rebinding /commands | ||
* More sophisticated IM muting/filtering/autoresponse options | |||
==== Potential Barriers to Implementation ==== | |||
* Implementing an escape system which doesn't conflict with script command gestures (or a reserved words like how /me is) | |||
==== Comments ==== | |||
=== More sophisticated IM features === | |||
* muting/filtering/autoresponse options | |||
** mute or do not alert on IMs by started by a group, agent, or group-agent | ** mute or do not alert on IMs by started by a group, agent, or group-agent | ||
** Autoreply to IMs received while (Away) | ** Autoreply to IMs received while (Away) | ||
** Sidebar Userlist of Active Users who are currently participating in a Group IM Session. When a user says something, they're added. When a user leaves the session, they're removed from the list. | ** Sidebar Userlist of Active Users who are currently participating in a Group IM Session. When a user says something, they're added. When a user leaves the session, they're removed from the list. | ||
* More control over filtering specific objects/textures/sounds/agents/etc | * More control over filtering specific objects/textures/sounds/agents/etc | ||
==== Potential Barriers to Implementation ==== | |||
==== Comments ==== | |||
* '''Seconded''' with a big hell yes. In a large group, it's difficult to keep track of a conversation when there is a mass exodus from the session. It's annoying having the system spam the window. [[User:SignpostMarv Martin|SignpostMarv Martin]] 07:51, 9 January 2007 (PST) | |||
== See Also == | == See Also == |
Revision as of 07:51, 9 January 2007
Of course, a really valuable way to contribute is to add a new feature. Try to work with the community and with Linden Lab in planning the feature before running off and implementing new things. Though we appreciate your hard work, we can't accept every new feature, since maintaining new features comes with a cost. Try thinking of ways to use APIs to make plugins, or perhaps propose new APIs to make the viewer more extensible, before adding new things to the core viewer.
Ideas for new Features
Just some Ideas that came up on the #opensl irc channel:
Alternate Rendering Engines
- older hardware support, etc...
- (Open Source 3D Engine)
Potential Barriers to Implementation
Comments
Better Sound Support
- Preload status
- playback control, etc...
- Quote: llKelly: eightltr: yes, that idea has been suggested in the past. (L$1 per 1sec audio) I think we would rather improve the methods of linking to externally hosted sounds.
- MIDI Support - maybe with some nice clientside Wavetables
- MOD, XM, ect. Support
Potential Barriers to Implementation
Comments
- Seconded. Community Bounties#VLC instead of QuickTime might help. SignpostMarv Martin 07:51, 9 January 2007 (PST)
Removing Texture Loading
- so SL can run on less powerful Systems (say the N800/N770)
Potential Barriers to Implementation
Comments
- Seconded -- Disabling texture download/display would be a great asset to people interested in communication more than shopping/etc. Kamilion Schnook
- Comment: As far as I was aware, libSL clients don't load textures, due to the lack of JPEG 2000 support :-P SignpostMarv Martin 07:51, 9 January 2007 (PST)
Patching it so that llLoadURL opens the F1 Help Browser
- Adding keyword replacement in llLoadURL, Streaming media support, and other external links
- For instance, to provide an icecast stream with a agent UUID, http://'''agentkey''':apassword@icecast.somehost.com:8000 as a parcel URL
- To provide an external website with a SL User Name, http://www.somesite.com/somephp.php?query=stuff&slname=''agentname''&action=buy&deliveryto=''agentkey''
Potential Barriers to Implementation
- Unless the LSL2 VM starts supporting optional parameters, you risk breaking thousands of scripts
- Workaround: Prefix urls with ubrowser:, e.g. ubrowser:http://example.com, which will result in the dialog box indicating that the url will open inside the client.
Comments
- Seconded SignpostMarv Martin 07:51, 9 January 2007 (PST)
- Streaming media urls can be implemented in this manner by making use of string concatenation, e.g. llParcelMediaCommandList([PARCEL_MEDIA_COMMAND_URL,'http://' + (string)llGetOwner() + ':' + stringVar__password + '@icecast.example.com:8000'); SignpostMarv Martin 07:51, 9 January 2007 (PST)
Adding a Avatar Local Stream Channel
- that has a Range of X Meters around an Avatar
- This would be used for Local Audio Streaming
- Or Local VoIP chat
- Teamspeak...
Potential Barriers to Implementation
Comments
Peer to Peer Voice over IP using above idea, improved
- Capible clients advertise themselves via below CTCP-style protocol
- Clients use multicast packets to broadcast to a list of addresses the server manages of clients in range.
- In effect, this would give each avatar two unidirectional shoutcast-style stream impliments, or one bidirectional impliment.
Potential Barriers to Implementation
Comments
More efficient local cache
Potential Barriers to Implementation
Comments
- Comment: Seronis has some good ideas on how this should be implemented. SignpostMarv Martin 07:51, 9 January 2007 (PST)
CTCP protocol layered on IM system
Potential Barriers to Implementation
Comments
- Bleh ? SignpostMarv Martin 07:51, 9 January 2007 (PST)
Command Line Interface Improvements
- for changing preferences sending an IM, teleporting, etc
- for example: "/set drawdist 96", "/set sound off", "/tp ahern", or "/im kex godel hello"
- would need an escape system which doesn't conflict with script command gestures (or a reserved words like how /me is)
- Or better yet, the Ctrl-G Gesture management window could be improved to allow this, and even allow rebinding /commands
Potential Barriers to Implementation
- Implementing an escape system which doesn't conflict with script command gestures (or a reserved words like how /me is)
Comments
More sophisticated IM features
- muting/filtering/autoresponse options
- mute or do not alert on IMs by started by a group, agent, or group-agent
- Autoreply to IMs received while (Away)
- Sidebar Userlist of Active Users who are currently participating in a Group IM Session. When a user says something, they're added. When a user leaves the session, they're removed from the list.
- More control over filtering specific objects/textures/sounds/agents/etc
Potential Barriers to Implementation
Comments
- Seconded with a big hell yes. In a large group, it's difficult to keep track of a conversation when there is a mass exodus from the session. It's annoying having the system spam the window. SignpostMarv Martin 07:51, 9 January 2007 (PST)
See Also
Linden Lab is considering offering bounties for especially desirable features in the viewer.