Register forum user name Search FAQ

Gammon Forum

Notice: Any messages purporting to come from this site telling you that your password has expired, or that you need to verify your details, confirm your email, resolve issues, making threats, or asking for money, are spam. We do not email users with any such messages. If you have lost your password you can obtain a new one by using the password reset link.

Due to spam on this forum, all posts now need moderator approval.

 Entire forum ➜ MUSHclient ➜ Miniwindows ➜ MiniWindow Channel Capture

MiniWindow Channel Capture

It is now over 60 days since the last post. This thread is closed.     Refresh page


Pages: 1  2  3 

Posted by Bala   (5 posts)  Bio
Date Reply #30 on Sat 22 May 2010 07:18 PM (UTC)
Message
Nevermind I found the file. I blame it on lack of sleep!
Top

Posted by Cburke   (11 posts)  Bio
Date Reply #31 on Wed 14 Jul 2010 04:30 AM (UTC)
Message
Fiendish,

I just wanted to compliment you on your window design. It's really very nice indeed!

I play Achaea and I was able to get it up and capturing channels fairly easily. After working with it for a short time, I've already started thinking about other potential uses for such a scrollable window. That brings me to my question:

I'd like to have just the window functionality for general purpose use with other plugins (e.g. make it a library). I'd also like to contribute this back to the forum for others to use. How would you feel about this (of course giving you full credit for the window itself)?

Please let me know your thoughts.

-C
Top

Posted by Fiendish   USA  (2,535 posts)  Bio   Global Moderator
Date Reply #32 on Wed 21 Jul 2010 10:05 PM (UTC)

Amended on Wed 21 Jul 2010 10:17 PM (UTC) by Fiendish

Message
Cburke said:

Fiendish,

I just wanted to compliment you on your window design. It's really very nice indeed!

I play Achaea and I was able to get it up and capturing channels fairly easily. After working with it for a short time, I've already started thinking about other potential uses for such a scrollable window. That brings me to my question:

I'd like to have just the window functionality for general purpose use with other plugins (e.g. make it a library). I'd also like to contribute this back to the forum for others to use. How would you feel about this (of course giving you full credit for the window itself)?

Please let me know your thoughts.

-C


Sounds awesome. Do it. I wouldn't feel good about getting sole credit for something like this that has evolved from the work of others, though. Perhaps you'd could just give credit to the forums. :)

Tbh, I'd really like to see this stuff eventually make its way into the MUSHclient C++ code instead of being interpreted by Lua. Live text reflowing gets wicked slow if there is lots of text in the scrollback buffer. :( And srsly, we need the simplicity of spawning efficient resizable scrolling (real) windows that aren't hacks on top of a very base layer to get serious about development. The whole time I spent on the capture window my girlfriend was bugging me "Don't operating systems usually give that stuff (window dressing) to you already?" I was like, "Yeah, but here I only get pixels and text and mouse events!"

Speaking of such things...
Someone should request as a feature the ability to get the colors of captured text in a more efficient manner. Looping through loops of loops just because we don't have access to the color code for each character kinda sucks.

https://github.com/fiendish/aardwolfclientpackage
Top

Posted by Nick Gammon   Australia  (23,140 posts)  Bio   Forum Administrator
Date Reply #33 on Wed 21 Jul 2010 10:55 PM (UTC)
Message
Fiendish said:

And srsly, we need the simplicity of spawning efficient resizable scrolling (real) windows that aren't hacks on top of a very base layer to get serious about development. The whole time I spent on the capture window my girlfriend was bugging me "Don't operating systems usually give that stuff (window dressing) to you already?" I was like, "Yeah, but here I only get pixels and text and mouse events!"


Even in the core MUSHclient code (the C++ stuff) I don't attempt to rewrap if you resize the output window. Recalculating wrap boundaries for potentially hundreds of thousands of lines is going to be slow, in any language.

Fiendish said:

Someone should request as a feature the ability to get the colors of captured text in a more efficient manner. Looping through loops of loops just because we don't have access to the color code for each character kinda sucks.


Actually, storing style runs is more efficient than storing a "color code for each character". For one thing, each character has a foreground colour (R/G/B which is 3 bytes) plus a background colour (another 3 bytes) plus bold/underline etc. So if you stored it "per character" you would be using something like 8 bytes per character (the character itself, + 3 foreground, +3 background, +1 style).

Then even if I gave you that information, per character, you would then have to replace calling WindowText once (for a whole lot of consecutive bytes, all the same colour) with lots of calls, which itself is slower. Imagine, instead of a single call to display 80 bytes, all white on black, you had to do 80 calls! And then that defeats text kerning, where the text output routines might kern and anti-alias based on adjacent letters.

So you may end up with a slower result, and one in which the text looked worse.

Remember, the miniwindows were initially designed to give scripters what they didn't have in the text client, namely:


  • Status bars
  • Action buttons
  • Pop-up windows (eg. inventory items)
  • Images (eg. maps)
  • Some text capability (eg. for labels)


Providing scrolling text, with text wrapping like a word processor, was not high on the design agenda.

And indeed Fiendish, you have demonstrated it can be done, and done very well. You don't have to wrap everything after all, just the visible parts. And the player probably won't resize every couple of seconds, so they may tolerate a brief delay if they do.

- Nick Gammon

www.gammon.com.au, www.mushclient.com
Top

Posted by Nick Gammon   Australia  (23,140 posts)  Bio   Forum Administrator
Date Reply #34 on Thu 22 Jul 2010 12:44 AM (UTC)
Message
Fiendish said:

I was like, "Yeah, but here I only get pixels and text and mouse events!"


You don't get "only pixels" - you can draw whole lines of text, you can draw filled or outlined shapes, including Bezier curves, rectangles, ellipses etc.

You can draw images from .PNG files. You can flood-fill areas.

So it is under-stating the library a bit to say you only get pixels to work with.

- Nick Gammon

www.gammon.com.au, www.mushclient.com
Top

Posted by Fiendish   USA  (2,535 posts)  Bio   Global Moderator
Date Reply #35 on Fri 15 Oct 2010 06:15 PM (UTC)

Amended on Fri 15 Oct 2010 06:16 PM (UTC) by Fiendish

Message
I'm back to updating this script again.
There's a new version available that gets rid of the second window hack for resizing, now that we can nondestructively resize miniwindows. It also now relies on yet another file (feature creep!) available at
http://aardwolfclientpackage.googlecode.com/files/mw_theme_base.lua
This enables cross-plugin color theme unification as long as everyone plays nice. See the comment at the top of mw_theme_base.lua for details.

https://github.com/fiendish/aardwolfclientpackage
Top

Posted by Vicarious   (1 post)  Bio
Date Reply #36 on Wed 21 Sep 2011 02:45 AM (UTC)
Message
is anyone still on the forum that could help me edit this to my mud?
Top

Posted by Jadinna   Australia  (8 posts)  Bio
Date Reply #37 on Sat 28 Jan 2012 05:04 PM (UTC)
Message
Fiendish said:

By the way, there's a new version of my script available at:
http://code.google.com/p/aardwolfclientpackage/source/browse/trunk/Aardwolf_Chat_Capture_mw.xml
Don't forget to customize it for your MUD.

It now also requires this file to be put into your plugins folder. It deals with converting style runs to plain text with injected color codes. The contents of this file are customized for Aardwolf. In order to get color-code copying to work for your MUD you may have to change it.
http://aardwolfclientpackage.googlecode.com/files/aardwolf_colors.lua

Share and enjoy.
Top

Posted by Fiendish   USA  (2,535 posts)  Bio   Global Moderator
Date Reply #38 on Sun 29 Jan 2012 09:20 PM (UTC)

Amended on Sun 29 Jan 2012 09:21 PM (UTC) by Fiendish

Message
Jadinna said:

Fiendish said:
...


Sorry, those links are no longer valid. As I developed the Aardwolf MUSHclient package more, I (unfortunately for you) made it rather more difficult for someone else to move over to another MUD.

For the latest versions you'll want to see
http://code.google.com/p/aardwolfclientpackage/source/browse/trunk/MUSHclient/worlds/plugins/aard_channels_fiendish.xml
and
http://code.google.com/p/aardwolfclientpackage/source/browse/trunk/MUSHclient/worlds/plugins/aard_chat_echo.xml

For the version around at the time of that thread post, you'll want to look back into the repository history from before I changed the whole file structure...
http://code.google.com/p/aardwolfclientpackage/source/browse/trunk/Aardwolf_Chat_Capture_mw.xml?spec=svn65&r=41

https://github.com/fiendish/aardwolfclientpackage
Top

Posted by Couto   (15 posts)  Bio
Date Reply #39 on Sat 25 Feb 2012 04:56 PM (UTC)
Message
I'm interested in this. Is it possible to upload a screenshot or something similar to get an impression how this window with some chats looks for you?

My mud provides all chat channels over ATCP. So i dont need extra triggers to catch them and now i think about getting a miniwindow with all chats. But i'm not much of a coder and i'll need a template to start with.
Top

Posted by Fiendish   USA  (2,535 posts)  Bio   Global Moderator
Date Reply #40 on Sat 03 Mar 2012 03:00 AM (UTC)
Message
Couto said:

I'm interested in this. Is it possible to upload a screenshot or something similar to get an impression how this window with some chats looks for you?


http://code.google.com/p/aardwolfclientpackage/wiki/ChannelCapture

https://github.com/fiendish/aardwolfclientpackage
Top

Posted by Ashleykitsune   (33 posts)  Bio
Date Reply #41 on Wed 14 Mar 2012 07:44 PM (UTC)
Message
This concept is really similar to what I want to try and come up with.

Instead of redirecting channel lines, I'm trying to allow the creation of many miniwindows for players you page.

But the most important part would be that each window needs to have a local var that remembers the name of the user I'm paging
For instance if I type "Pager Jonah" it would create a miniwindow for Jonah. I was hoping to make it so that each pager window would have its own input block, and when send pages through them it would send it with "page *" where * is the name of the person being paged.

Of course lines that pertain to the pager would need to be directed to it.

for instance,

<Page> You page-pose, "Curtis waves." (Sent to Jonah)
<Page> You page, "How are you?" (Sent to Jonah)
<Page> In a page-pose to you, Jonah waves back. (Sent to Curtis)
<Page> Jonah pages, "I'm doing great." (Sent to Curtis)


And hopefully I can add the scroll up/down a page buttons too since page data is kind of important at times.

Is this doable? What do you think?
Top

Posted by Nick Gammon   Australia  (23,140 posts)  Bio   Forum Administrator
Date Reply #42 on Wed 14 Mar 2012 08:58 PM (UTC)
Message
You can save details like the player name easily enough (eg. a table keyed by miniwindow ID).

But miniwindows don't support individual input areas. You could have a "reply" button (eg. square box) which pops up a text-edit dialog box, which you have to type into and dismiss.

- Nick Gammon

www.gammon.com.au, www.mushclient.com
Top

Posted by Ashleykitsune   (33 posts)  Bio
Date Reply #43 on Thu 15 Mar 2012 05:24 AM (UTC)
Message
Oh no! Without the use of a readily available input box it makes the use of a pager worthless, at least for what I wanted to use it for. I’ll try to research the Text edit dialog box thing to see if maybe I can manipulate it in some way to make it still do what I need it to do.
What I really need to do is find some time to just sit down with the help file and really dig into how things work. That’s how I taught myself how to use many other IS programs, like Excel, Monarch, InfoPath, etc.
While at work I have the next best thing – the forum FAQ and I believe I saw a glossary somewhere once or something like it.

Top

Posted by Fiendish   USA  (2,535 posts)  Bio   Global Moderator
Date Reply #44 on Fri 16 Mar 2012 11:22 PM (UTC)
Message
Curtis_D said:

Oh no! Without the use of a readily available input box it makes the use of a pager worthless
I think it should be possible to build one from scratch. But it may not be easy.

https://github.com/fiendish/aardwolfclientpackage
Top

The dates and times for posts above are shown in Universal Co-ordinated Time (UTC).

To show them in your local time you can join the forum, and then set the 'time correction' field in your profile to the number of hours difference between your location and UTC time.


120,562 views.

This is page 3, subject is 3 pages long:  [Previous page]  1  2  3 

It is now over 60 days since the last post. This thread is closed.     Refresh page

Go to topic:           Search the forum


[Go to top] top

Information and images on this site are licensed under the Creative Commons Attribution 3.0 Australia License unless stated otherwise.