Version 1.9.0

Information about GMAO - the application I (write and) use to translate manga.

Moderator: FuguTabetai

User avatar
FuguTabetai
Shifu
Shifu
Posts: 2589
Joined: Mon Feb 10, 2003 5:45 pm
Location: Tokyo, Japan
Contact:

Version 1.9.0

Post by FuguTabetai »

Just put out a new version of GMAO. I'm really happy with this update. First, the small things:

- New XML files have DTD embedded, so it will not hang Windows machines on open. If you have problems with GMAO hanging when you try to open a file, I know why it happens, and it is easy to fix by removing the DTD specifier in the file (which is probably pointing to a dead web server, and timing out.)

- Tried to address Onkr's request to move bubbles one pixel at a time. If you have the mouse over a bubble, and the annotator pane has focus (which it automatically grabs when loading a new page, but...) then the IJKL keys will move the bubble up, left, down, or right one pixel. The arrow keys are bound to the scroll bars, so it was easier to just use different keys than figuring out how to un-do that binding. The ijkl keys only will move the bubble under the cursor.

- The biggie: GMAO now supports general composited Areas from Java2D. Basically this means that you can glue bubbles together. To do that, draw a bubble, and then draw another bubble. Take the second bubble and drag it into the first one. They will turn magenta showing you what the new shape would be. Press shift, control, and alt (option on the mac) for other ways to combine the shapes (subtraction of various kinds, intersection, and XORs.) You can make the shapes as artibtrarily complex as you like, but GMAOs text layout isn't really up to the task: for any given horizontal line on a shape, it will just pick the longest one. So you can't do complex text flows with things cut out of the middle (you can, but the text will always just be in on continuous area.)

Many thanks to http://xstream.codehaus.org/ for their totally awesome XML Java object serialization code. That made it almost trivial to support saving these Area object out and reading them back in. (The XML gets ugly, but still understandable.) If I had time, I would re-fit all the GMAO code to use Xstream. But things work as they are now, and I don't have time.

There are some caveats: don't combine bubbles that already have text in them. I didn't do any coding around that case. The first bubble in general should retain all the text, but the text from the second bubble just dies. Do your bubble drawing first.

I don't know what will happen if you try to export Javascript pages with the Area objects in them. Probably an error. I'll try to at least code up something simple to put a big rectangle over the whole Area thing, but I don't know when I'll do that: I haven't been using the JavaScript stuff in everyday use.

There are probably other problems. Let me know what you think, or if you have any problems. GMAO at least loaded and seemed to work fine for me on Mac OSX, Linux Fedora Core 4, and Windows XP SP2.
User avatar
FuguTabetai
Shifu
Shifu
Posts: 2589
Joined: Mon Feb 10, 2003 5:45 pm
Location: Tokyo, Japan
Contact:

Annotate Panel loses focus after each shape composition

Post by FuguTabetai »

Each time you merge, intersect, subtract, or whatever a shape from another shape, the AnnotatorPanel loses focus. You have to click on a bubble to get the text caret in it to reset (otherwise you only get merges, or whatever the last operation was.)
User avatar
FuguTabetai
Shifu
Shifu
Posts: 2589
Joined: Mon Feb 10, 2003 5:45 pm
Location: Tokyo, Japan
Contact:

Post by FuguTabetai »

Fixed annoying focus problems. :)
User avatar
FuguTabetai
Shifu
Shifu
Posts: 2589
Joined: Mon Feb 10, 2003 5:45 pm
Location: Tokyo, Japan
Contact:

Version 1.9.2

Post by FuguTabetai »

Help sub-system is lazily initialized. There is now a problem that when you try to use the "Help..." item nothing happens. I'll look into it.

You can also now click points over existing bubbles when drawing a new bubble. Dragging corners over existing bubbles still doesn't work well (you can't start a drag if the edge overlaps with another bubble.) I'll have to work on that stuff but it isn't really a priority for me.
Onkr
Yuurei
Yuurei
Posts: 15
Joined: Fri Oct 08, 2004 3:03 pm

Post by Onkr »

(Onkr, a previous user, seems to have dropped off the face of the Earth.)
No, I am not dead (yet) :wink:. I just wanted to try the new version before saying anything (my wife claims that I say something only when thing go wrong :cry: ).

Well, the brand new 1.9.x version is GREAT, and I like it. The merging of shapes is really nice (although it takes some time to get used to it: more than once I mistakenly merged two shapes I only wanted to move). The new way of pointing ellipses is great too (and I don't say this only because I made the suggestion :wink:). Also, I like the new management of colors (i.e. the color pickers offers the current value of any shape, not the last value used in the tool).

There are things that need care, anyway:
- when you create an ellipse, then remove some rectangular parts from it, you cannot edit its shape using the control points: it produces some really weird results. Well, the notion of control points on a truncated ellipse is probably non significant anyway.

Also, there is one thing that worked better before :shock: ...
- most of the time, I edit sound effects with a colored polygon containing no text, then draw over it a transparent rectangle containing the translated sound effect.
- with the new system, both shapes "want" to be merged and are colored in purple or light blue, with the character name in black, making it difficult to position precisely the translated sound effect.
- Thus, for this purpose, I would like to have some "move only" button, in addition to the "move" button, that would allow to move one shape without the actual shape coloring nor the indication of the text character during the shape displacement

Anyway, this is but a minor quirk, and I still happily use this great tool.
User avatar
FuguTabetai
Shifu
Shifu
Posts: 2589
Joined: Mon Feb 10, 2003 5:45 pm
Location: Tokyo, Japan
Contact:

Post by FuguTabetai »

Onkr wrote:Also, I like the new management of colors (i.e. the color pickers offers the current value of any shape, not the last value used in the tool).
I didn't change anything there. There is still a lot of work to do with colors (mostly using a single Color Picker instance so it remembers the last value you used. Now it defaults to white or black depending on what you are doing.)
Onkr wrote: There are things that need care, anyway:
- when you create an ellipse, then remove some rectangular parts from it, you cannot edit its shape using the control points: it produces some really weird results. Well, the notion of control points on a truncated ellipse is probably non significant anyway.
I didn't do any coding to handle control points on merged shapes. I never even tried it. There is also some strangeness after moving merged shapes: sometimes they turn into Polygons. (I know this bug from before, but it isn't my fault - it is some problem in Java when creating derived shapes.)
Onkr wrote: Also, there is one thing that worked better before :shock: ...
- most of the time, I edit sound effects with a colored polygon containing no text, then draw over it a transparent rectangle containing the translated sound effect.
- with the new system, both shapes "want" to be merged and are colored in purple or light blue, with the character name in black, making it difficult to position precisely the translated sound effect.
- Thus, for this purpose, I would like to have some "move only" button, in addition to the "move" button, that would allow to move one shape without the actual shape coloring nor the indication of the text character during the shape displacement
Hm, I see that problem. I can increase the transparency to make it easier to see what is happening. It is a little hard to keep adding new "tools" because of all the different code paths it introduces. Maybe when you hold down the "do nothing" key I'll turn off the highlighting.
User avatar
FuguTabetai
Shifu
Shifu
Posts: 2589
Joined: Mon Feb 10, 2003 5:45 pm
Location: Tokyo, Japan
Contact:

Version 1.9.3

Post by FuguTabetai »

Three new features:

- When you log in, there is a "remember" button. Click that so you don't have to log in anymore. You can always log in as someone else by doing the "Log In" menu item again.

- Text is now centered properly (there were spaces at the end of each line before.) This should make the centering look better, but who knows if it is "perfect".

- There is a "default character" to go along with the "default language". If both of these are set, then you can click on a bubble with no text and just start typing in it. The first letter you type is lost, you need to type two letters to get stuff to appear. That is annoying, but an amazingly hard bug to fix.

There are still some problems when typing and deleting. You might end up with the text insertion character one character off every once in a while (but it is better than it was before, I think.) This is a surprisingly difficult problem to get right, probably because of the lame data model I have for this stuff.

Remaining problems:

I broke the help system. The "What's new" page is always truncated running under Java Web Start (but not locally - I think these two problems are connected and have to do with how I am creating my JARs via Eclipse.)

I haven't addressed any of Onkr's newest issues (mostly just making transparency lighter on bubble operations.)

I hope to address these two things in a week or two.
User avatar
FuguTabetai
Shifu
Shifu
Posts: 2589
Joined: Mon Feb 10, 2003 5:45 pm
Location: Tokyo, Japan
Contact:

Version 1.9.4

Post by FuguTabetai »

Two bug fixes / one feature implementation:

Bug fixes:

1. Per-character "dynamic resize" off setting now works.
2. Improvements in typing into a blank bubble if you have the default language and default character set. Now you can only start typing in a blank bubble if there is no other text in it (before it would sometimes overwrite the text when you tried to do a control-S to save or something. That is fixed.)

New feature:

There are two new "Highlight Opacity" and "Highlight Text Opacity" options in the Appearance pane of the options panel. They let you set how opaque the bubbles are when the mouse passes over them or they are merging with other bubbles.

--

At some point I would like to add a timer so that if you leave the mouse pointer over a bubble for a long time (a few seconds) it will fade out so you can see what it under it. I doubt I will do that anytime soon though.
User avatar
FuguTabetai
Shifu
Shifu
Posts: 2589
Joined: Mon Feb 10, 2003 5:45 pm
Location: Tokyo, Japan
Contact:

Version 1.9.6

Post by FuguTabetai »

Two major changes in this release:

1. A Project Manager. The Project Manager (go to File - Project Manager) lets you save your settings to a project. You can then load projects (restores all the saved settings in them), delete projects, create new ones, and save current settings to an existing project.

No renaming projects or moving them around in the list. Do that with judicious use of the delete and new functions.

I've checked it out, and it seems to work for me, so let me know if you have any problems with it.

2. A very very beta implementation of an "Auto Polygon" / "Magic Bubble" tool. What this tool does is tries to create a bubble with the polygon tool for you. To use it, select it (it will take a while the first time for each page as it builds a grayscale version of the image you are working with in memory) and then click inside a bubble, close to the left wall. You should see the points appearing as they go.

There is no way to cancel bubble creation if anything goes wrong. Let me know if you run into infinite loops. I'm using this myself for a while to see what the results are on different types of bubbles.

You need to have nice, clean scans for this to work. If your bubbles have very sharp, narrow bits, the thing will probably get stuck and leave you with a lame bubble. Delete it, try again. Or draw it yourself.

Here is a general outline of the algorithm. I basically applied the right-hand maze rule to the problem. Starting with the point that you click at, I move a scout point all the way to the left until it hits a wall. Then I tell the thing to go down. The scout point checks if it can move in a direction 90 degrees to the right of where it is (look in the direction you are heading, stick your right arm straight out, see if you can go that way (1 pixel) without hitting a wall). If you can move, take it, otherwise, change the direction you check by 45 degrees to the left, and try again. If you try all 8 directions around the scout point, give up, and create the abortive bubble.

If the scout point can move, move it that one pixel, and then repeat. After the scout point moves each time, find the points on the line back to the last polygon point. (I do this using an implementation of Bresenham's line drawing algorithm .) If the line back crosses a wall pixel, then add a polygon point at the last known good scout point. If there is no wall pixel between the scout point and the last polygon point, for each point on the line going back to the origin, check the distance from that point to the wall. To do that, I compute the slope of the perpendicular line, then estimate a point on that line about 6 pixels out, and compute all points on that line using Bresenham's algorithm again. If the distance is great than some maximum (right now, set statically to 5 pixels) from any point on the line back to the source, then create a new vector point at the last known good scout point. This should mean that all line segments should never be farther away than 5 pixels from the wall - but for some reason that doesn't always seem to be the case... (I'm looking into it.)

If we are less than 5 pixels away from the start point, and we have more than 5 points in our automatic polygon, then we close the polygon up, and the job is done.

In my testing the algorithm works quickly on my ThinkPad T60p, which has a Core Duo at about 2 GHz I think. Sadly, it is amazingly slow on my PowerBook G4 1.67 GHz Mac, which is what I generally use. I'm trying to find out why (granted, it is probably about twice as slow as the ThinkPad, but it seems like the Auto Polygon tool is 8 times slower or more) - it could be because of the Java Virtual Machine on the Mac, which is especially slow on particular graphics operations when compared to the Windows JVM. I'll try to do some profiling.

Let me know how this thing works for you. From my point of view, the auto polygon tool right now creates way too many points for each polygon. Often because it gets stuck on some light pixels and tries to go around them.

There is a threshold value to control what is a wall pixel and what is a bubble pixel, but none of those things are tweakable yet. I'm using the settings that I found reasonable when I was implementing this (about a month's worth of work - a few hours on weekends mostly.)

This stuff is reasonably complicated, so don't expect great things from it, but feel free to play around and let me know what happens.
User avatar
FuguTabetai
Shifu
Shifu
Posts: 2589
Joined: Mon Feb 10, 2003 5:45 pm
Location: Tokyo, Japan
Contact:

Post by FuguTabetai »

I realize where I'm going wrong with my auto-polygon approach. Since I'm taking things at the pixel level, I get up as close to the bubble "wall" as possible. The problem is that, when you zoom into the picture at the pixel level, there are a bunch of gray pixels before you hit the black ones. My algorithm is really bouncing around on those guys. What I need to do is back off a few pixels, and sample from there.

I'm going to think about the best way to do this. I can increase the distance to the "wall" and crank up the sensitivity, or crank up sensitivity for the movement check, but reduce it for the "going through a wall on the line" check, or do something with multiple pixel sampling, etc. There are many approaches. This will probably take a while to figure out.

I might try to put in some user-tunable parameters though (the "threshold" for wall pixels, and the "max distance from wall" are the only two I have right now.)
User avatar
FuguTabetai
Shifu
Shifu
Posts: 2589
Joined: Mon Feb 10, 2003 5:45 pm
Location: Tokyo, Japan
Contact:

Version 1.9.6.1

Post by FuguTabetai »

I've added "strong_threshold" and "weak_threshold" parameters to the algorithm, and with a bug fix to the method that computes the largest distance "to the wall" on a line segment, things are working well enough to use.

There is still a major problem left: if there are any "sharp corners" or more like narrow alleys, the algorithm will get stuck and give up. I'll think about this for a while, but there are probably a few things I can do to make the algorithm more robust to that problem. I probably won't work on it for at least a week or two, as I play with how it is now and try to find out other weaknesses to the approach.

I would also like to add a little config window for the tool that will let you set the thresholds and maxWallDistance parameters easily, since those are kind of fun to play with. That probably won't happen for a while either though.

At least the icon for the tool is pretty cool.

But I really need to make all the tools looks somewhat similar, and use icons of the same size.
trado
Tamashii
Tamashii
Posts: 51
Joined: Thu Sep 21, 2006 5:17 pm

Re: Version 1.9.6.1

Post by trado »

FuguTabetai wrote:There is still a major problem left: if there are any "sharp corners" or more like narrow alleys, the algorithm will get stuck and give up. I'll think about this for a while, but there are probably a few things I can do to make the algorithm more robust to that problem. I probably won't work on it for at least a week or two, as I play with how it is now and try to find out other weaknesses to the approach.
Yeah, that's probably the main problem I was running into. And this may either help of complicate the matter, but not just with square-like bubbles, but it's having problems on those bubbles that have little tales to indicate who's saying it, as well as shout bubbles. You can see what I mean with this page, it has an example of both. http://iryuu.net/hentai_kamen_v06_026.jpg

The tail problem is only half a problem, since if it's on the left side, you can just under it, and the program seems to do alright, but that's because of how the program is written. Bubble 3, 4, 6, 7 are what show what I was running into pretty well. Bubble 5 also has an interesting problem, where one side doesn't have any wall. Might be able to program it to check if it's the edge of the page if it starts going into a infinite loop, but I'm not completely sure.

Anyway, good work so far, I'm already excited.
User avatar
FuguTabetai
Shifu
Shifu
Posts: 2589
Joined: Mon Feb 10, 2003 5:45 pm
Location: Tokyo, Japan
Contact:

Post by FuguTabetai »

If a bubble goes off the page and doesn't have a wall, right now I idiotically run off the array looking for pixels. You can switch to the polygon tool and carry on where the autoPoly tool blew up though.

I'll add something in to assume that the end of the picture is a wall. That was just an idiotic oversight.

I'll probably also add a little floating tool palette, and if the scout point gets stuck will let you tell it where to go next, and then have it carry on. That will be a quick fix.

I've got a few ideas on how to solve this problem though, so eventually I think I'll have a working automatic bubble drawer. It has been working surprisingly well on Vulgar Ghost Daydream volume 8, so I'm encouraged.
User avatar
FuguTabetai
Shifu
Shifu
Posts: 2589
Joined: Mon Feb 10, 2003 5:45 pm
Location: Tokyo, Japan
Contact:

Version 1.9.6.3

Post by FuguTabetai »

This version has an added "Auto Polygon Control" window. Click the autoPoly button to bring it up. If you close the window, clicking on the button again will bring it back.

Also, I noticed that the Project Manager did not properly save at least two settings: the XML file, and the image file location. I'll look into that.
User avatar
FuguTabetai
Shifu
Shifu
Posts: 2589
Joined: Mon Feb 10, 2003 5:45 pm
Location: Tokyo, Japan
Contact:

Version 1.9.6.4

Post by FuguTabetai »

Quite a few bug fixes:

- Fixed autopoly bug where the autpoly runs off the edge of the picture

- Added "extra Line Height" option as requested by trado. You can set the general option (Appearance pane, or "Default Font" on Font Options) or per-character or per-bubble (in the Font dialogue).

- When autoPoly gets stuck it will ask the person to click on a place to contiue

- Added back control-c control-v control-x

- Added option to make bubbles with nothing in them transparent. You can set the level, also in the Appearance pane.

- focus returns to the GMAO main window after entering a new translation

- values for autopoly are saved

- effects/filters only takes one click to bring up again.
trado
Tamashii
Tamashii
Posts: 51
Joined: Thu Sep 21, 2006 5:17 pm

Post by trado »

I noticed an increase in productivity from this update so you must be doing something right.

And not to marginalize your work or anything, but this has to come up some time, if you haven't already run into it. If you click too far from the wall, the autobubble seeking thingy makes points in the path it goes until it finds the wall. The picture pretty much explains it I think. That giant blue dot is the mass of points it made when it was looking for the wall again.

This is easily avoided, but I thought I'd just bring it up incase it's a simple change. Oh, and if possible, can you make it so if you hit the space bar, it'll press ok on the box that pops up that says you need to show it where to go next?
Image

Also, have you run into any times where you start GMAO and your current project file is empty? I don't know what's causing the file to suddenly have nothing in it, but this has happened twice over the course of me using this program, (luckily I started backing everything up to my webserver every night, so I didn't lose anything much this time). I don't know what it could be since it's only happened twice, but ya....

Otherwise, solid update.
User avatar
FuguTabetai
Shifu
Shifu
Posts: 2589
Joined: Mon Feb 10, 2003 5:45 pm
Location: Tokyo, Japan
Contact:

Post by FuguTabetai »

trado wrote: If you click too far from the wall, the autobubble seeking thingy makes points in the path it goes until it finds the wall. The picture pretty much explains it I think. That giant blue dot is the mass of points it made when it was looking for the wall again.
This is a tough problem: since the AutoPoly tool can get stuck anywhere, how do you know which direction to go to hit "the wall"? The user can click anywhere also. It isn't an easy problem. I suggest clicking close to the wall.
trado wrote: Oh, and if possible, can you make it so if you hit the space bar, it'll press ok on the box that pops up that says you need to show it where to go next?
I didn't have the dialogue for that alert at first, but found that I just didn't notice when it needed me to click. I think return will dismiss the window, but I'll look to see if I can make space do it as well. I don't think I can actually, since I'm using a very simple API call instead of creating my own window.
trado wrote: Also, have you run into any times where you start GMAO and your current project file is empty? I don't know what's causing the file to suddenly have nothing in it, but this has happened twice over the course of me using this program, (luckily I started backing everything up to my webserver every night, so I didn't lose anything much this time). I don't know what it could be since it's only happened twice, but ya....
I use GMAO all the time, and have never come across that problem. Recently anyway. I have lost lots of work by accidentally saving one project's XML file over another project's file, but that was my fault.

If you notice any data loss and can let me know any situation in which is reliably (or even just frequently) happens please let me know.

I used to have GMAO create FILE.xml.bak files, but I might have disabled that due to problems creating the files when you cross filesystem boundaries (things on different mount points, or hard drives, e.g., c: and e:,) because that was failing in frustrating ways.

I am planning eventually to make GMAO warn you when you save a small file over a larger file, but I just haven't gotten around to it yet.
trado
Tamashii
Tamashii
Posts: 51
Joined: Thu Sep 21, 2006 5:17 pm

Post by trado »

FuguTabetai wrote:
trado wrote: If you click too far from the wall, the autobubble seeking thingy makes points in the path it goes until it finds the wall. The picture pretty much explains it I think. That giant blue dot is the mass of points it made when it was looking for the wall again.
This is a tough problem: since the AutoPoly tool can get stuck anywhere, how do you know which direction to go to hit "the wall"? The user can click anywhere also. It isn't an easy problem. I suggest clicking close to the wall.
Why does it have to create a control point every time it moves a space trying to find the wall? It seems like it knows when it finds it, since its' behavior changes, thus signifying a routine change, meaning those dots are unnecessary. Is this misguided?
User avatar
FuguTabetai
Shifu
Shifu
Posts: 2589
Joined: Mon Feb 10, 2003 5:45 pm
Location: Tokyo, Japan
Contact:

Post by FuguTabetai »

Honestly, I don't know why it does that. I'll have to check the code. I thought that it would create a spiral of control points, but it looks like it does a straight line. I'll try to look into it, but I recommend clicking close to the wall.
trado
Tamashii
Tamashii
Posts: 51
Joined: Thu Sep 21, 2006 5:17 pm

Post by trado »

It does create a spiral of control points (Well, if the walls at an angle, sometimes it does zigzags), but because of their proximity, I fail to see the point, when it's just trying to find the wall. Why does it need to mark its path, other than that was used to for debugging purposes.
User avatar
FuguTabetai
Shifu
Shifu
Posts: 2589
Joined: Mon Feb 10, 2003 5:45 pm
Location: Tokyo, Japan
Contact:

Post by FuguTabetai »

trado wrote:It does create a spiral of control points (Well, if the walls at an angle, sometimes it does zigzags), but because of their proximity, I fail to see the point, when it's just trying to find the wall. Why does it need to mark its path, other than that was used to for debugging purposes.
That's just the way I coded it. After playing around with it a while, I think I'll move some code to do the "spiral search" without leaving tracks, but it will probably take a while to get that done. I'm crazy busy right now.
trado
Tamashii
Tamashii
Posts: 51
Joined: Thu Sep 21, 2006 5:17 pm

Post by trado »

When I export, some of the images are coming out with grainy text. Even when I load it in the program, you can see it. Also, what about a chapter export function? That be kind of cool.

Image
User avatar
FuguTabetai
Shifu
Shifu
Posts: 2589
Joined: Mon Feb 10, 2003 5:45 pm
Location: Tokyo, Japan
Contact:

Post by FuguTabetai »

Hmn, that's really strange. I've seen the "Japanese text visible through English text" problem before, and it is a redrawing issue. If you move the mouse over the page, it will clear up, but sometimes happens if you do an "Export Page Range..." I've tried to prevent that from happening, but I haven't been able to eliminate it completely. (Annoying!)

The issue with jagged text is new though. Does it happen always? If you check the appearance options (I think) there is an "anti-alias text" setting. Please be sure that is checked. Is it something that you can cause to happen consistently?

As for a chapter export, use "Export Page Range..." with the page start and end numbers of the chapter.
trado
Tamashii
Tamashii
Posts: 51
Joined: Thu Sep 21, 2006 5:17 pm

Post by trado »

Hmm, It was unchecked, weird. But I was able to get around it by clicking on a page, going to a new one, then going back to the page and that seemed to make it anti-alias, so maybe that settings not completely set. But thanks, that helped.

I don't run into the other problem much, so I think you covered most of it.
User avatar
FuguTabetai
Shifu
Shifu
Posts: 2589
Joined: Mon Feb 10, 2003 5:45 pm
Location: Tokyo, Japan
Contact:

Version 1.9.6.5

Post by FuguTabetai »

This version has a few bug-fixes:

* When opening a new XML file it will say "Open file" instead of "Export HTML file" or "Save File"

* When starting a new autopolygon search the left-most part of the image is considered a "wall"

* After clicking on a spot to continue autopolygon searches from, I check distance to the wall going up, down, left, and right. The closest point to the wall will be chosen as where to re-start from. (This should fix the blob of points problem from before.)

I think that is pretty much it.

I am really amazed: when I use my ThinkPad (Windows machine) it is super fast compared to using my Mac. The autopolygon is done in a blink of the eye, whereas on the mac it is about the same speed as drawing it myself. Big difference, due mostly to the drawing code (and the ThinkPad is faster than my Mac, but I vastly prefer the Mac.)
User avatar
FuguTabetai
Shifu
Shifu
Posts: 2589
Joined: Mon Feb 10, 2003 5:45 pm
Location: Tokyo, Japan
Contact:

Post by FuguTabetai »

Two minor bugfixes:

* When creating Character lists, now the "First Appearance" list has volumes padded out to two digits (so, 01, 02, ..., 10, 11, ...) and page numbers padded out to three digits (001, 002, ..., 010, 011, ..., 100, 101...) This means that for reasonable manga series (less than 100 volumes, less than 1000 pages per volume) the "First Appearance" information can be used to sort on correctly.

* Any character descriptions that had a $ in them would prevent the character list from being created. I have not fixed that so you can use $ signs in the character description list again. Man, I love regular expressions, but they can surprise you every once in a while...

Otherwise, I've been very happy with GMAO lately. It works very nicely with a fast processor, but I have trouble if I use the "auto polygon" tool with my G4 PowerBook. It creates lots of points for each bubble, so for an entire page that makes things slow. I really need to make a bubble cacheing mechanism, but the painting code is just so hacky that doing that is not very easy.
User avatar
FuguTabetai
Shifu
Shifu
Posts: 2589
Joined: Mon Feb 10, 2003 5:45 pm
Location: Tokyo, Japan
Contact:

GMAO Version 1.9.6.9

Post by FuguTabetai »

Two minor updates:

May 25th, 2007

(GMAO Version 1.9.6.9 2007-05-25) Made opacity into a JSlider so you don't have to type numbers. Also, it should more-or-less dynamically preview your opacity changes.

May 23rd, 2007

(GMAO Version 1.9.6.8 2007-05-23) Fixed a null pointer exception that occurred when generating javascript HTML for chapters without titles. Also, added three new properties to GMAO.props: htmlExport.contentPageFooter, a string added to the end of the contents.html page htmlExport.contentPageHeader, a string added right before the </head> tag, and htmlExport.contentPageBodyStart, a string added right after the <body> tag. I should really overhaul the contents.html page generation entirely and add in a template-based system, or at least put in a GUI to change those three values, but it addressed a problem that I had now, so that is good enough.
ng
Yuurei
Yuurei
Posts: 2
Joined: Fri Jun 01, 2007 2:12 pm

Post by ng »

Hi,

Although I do not know much about scanlations, I have used your tool and found it very efficient in producing good quality scanlations very quickly.

Just three questions/suggestions:
a)Is there a way to write a newline character (and/or HTML tags like bold/italic/changing font style) within the translated text?
Although I saw that HTML tags are supported for the javascript pop-up windows, nothing seems to work if the desired final output is the scanlated images. If not, I think that this is a great feature missing from your tool, that could be supported in future versions.
b)Just for your information, I noticed a strange bug: under certain circumstances (if you move an empty bubble, then resize it, etc), sometimes the "New translation" bubble is disabled, and there is no way to insert a translation-even Cntr+N does not work, so the only solution is to delete the bubble.
c)Sometimes if you doubleclick twice, a dot-like bubble (with very small dimensions) is generated, which is not possible to be deleted by the erase button.

Another very minor problem is that the automatic java downloader did not download the JRE with the multilanguage add-ons (except if I forgot to do something), and then I had some trouble to install them afterwards.

Anyway, your software is a great tool, I appreciate the effort you put into it and I think I will continue to use it at the future!
User avatar
FuguTabetai
Shifu
Shifu
Posts: 2589
Joined: Mon Feb 10, 2003 5:45 pm
Location: Tokyo, Japan
Contact:

Post by FuguTabetai »

ng wrote:
Hi, Although I do not know much about scanlations, I have used your tool and found it very efficient in producing good quality scanlations very quickly.
Oh, what a surprise. I didn't think there were any other people using GMAO except for one or two others who pop up here sometimes. That is nice to hear.
ng wrote: Just three questions/suggestions:
a)Is there a way to write a newline character (and/or HTML tags like bold/italic/changing font style) within the translated text?
Although I saw that HTML tags are supported for the javascript pop-up windows, nothing seems to work if the desired final output is the scanlated images. If not, I think that this is a great feature missing from your tool, that could be supported in future versions.
You can put <br> in the text which will force a break to the next line. It does not work well though. In fact, it hardly works at all. It turns out that my code for text layout is really awful. I've wanted to go back and fix these things for a long time, but it works reasonably well, I find that I don't need to make breaks in the text often (probably only wanted to do it once or twice in 30+ volumes of translation) so it hasn't been a priority. That isn't likely to change either because it would take probably around four hundred hours to re-write all that code. It just isn't something that I have the time to do. I'm sorry.
ng wrote: b)Just for your information, I noticed a strange bug: under certain circumstances (if you move an empty bubble, then resize it, etc), sometimes the "New translation" bubble is disabled, and there is no way to insert a translation-even Cntr+N does not work, so the only solution is to delete the bubble.
If that happens, move the mouse over another bubble and back to the old one. That should take care of that problem. Maybe. I'll check it out if I can ever duplicate the bug.
ng wrote: c)Sometimes if you doubleclick twice, a dot-like bubble (with very small dimensions) is generated, which is not possible to be deleted by the erase button.
Yeah, that is a problem. I try not to do that. If I ever do something like that, I have to edit the XML file by hand... I did recently make GMAO a bit better at letting you delete small bubbles, but there still isn't much I can do about one point bubbles.
ng wrote: Another very minor problem is that the automatic java downloader did not download the JRE with the multilanguage add-ons (except if I forgot to do something), and then I had some trouble to install them afterwards.
I don't think I can fix that: I think that is up to Sun. I'm not aware of any way to specify using Java Web Start that I need the JVM setup with the full international font support. :(
ng wrote: Anyway, your software is a great tool, I appreciate the effort you put into it and I think I will continue to use it at the future!
I'm really glad you find it useful, since GMAO is basically just a hack I wrote up for myself. I'm glad it is useful for other people.
ng
Yuurei
Yuurei
Posts: 2
Joined: Fri Jun 01, 2007 2:12 pm

Bugs and potential TODOs

Post by ng »

Hi again,

Many thanks for your answers+tips. I just want to add three more issues:
a) The "<br>" in the translated text does not seem to work at all (appears as scanlated text) at the "scanlated images"(although it works fine for the HTML popup, as I already said). Please tell me if I am doing something wrong, although you also agree that it does not work all times.
I though of this "trick" that could have worked: To add a bubble of a different format (e.g. other style or character) on top of another existing bubble.
I think this would be a great work-around, however in most (if not all) cases the bubbles merge together (I still have no idea why you implemented this "merge" feature) and this results to a disaster :) Is there a way to disable this "merge feature"? Maybe you can add an option to disable this in some future version.
b) Just FYI, I want to report the following bug I noticed, although unfortunately I cannot yet tell you exactly when it happened: I made some transparent polygons and suddenly, the Type="Rectangle" field and as well as the X,Y point coordinates did not appear in the XML code and the software gets stuck, when loading the specific page.
c) Still there are some "memory management" problems, which also have the same effect sometimes (especially if a large page range is converted).

Still I am a now an even greater fan of your software! I now have the correct encoding in my XML file and can easily spell-check files, directly correct such problems in the XML file, and so on... Many thanks again for all your efforts...
User avatar
FuguTabetai
Shifu
Shifu
Posts: 2589
Joined: Mon Feb 10, 2003 5:45 pm
Location: Tokyo, Japan
Contact:

Re: Bugs and potential TODOs

Post by FuguTabetai »

ng wrote:Hi again,

Many thanks for your answers+tips. I just want to add three more issues:
a) The "<br>" in the translated text does not seem to work at all (appears as scanlated text) at the "scanlated images"(although it works fine for the HTML popup, as I already said). Please tell me if I am doing something wrong, although you also agree that it does not work all times.
I just used that last night and it worked, once. The <br> has to be lower case, and has to have spaces on either end (e.g., line<br>break will not work for sure, line <br> break might, but probably won't.) Most likely you just won't see <br> in the image but there won't be a line break. I would actually like to go back and make carriage returns significant if I had the time, but I don't really have the time.
ng wrote: I though of this "trick" that could have worked: To add a bubble of a different format (e.g. other style or character) on top of another existing bubble.
I think this would be a great work-around, however in most (if not all) cases the bubbles merge together (I still have no idea why you implemented this "merge" feature) and this results to a disaster :) Is there a way to disable this "merge feature"? Maybe you can add an option to disable this in some future version.
Use the shift, control, and option (shift, control, alt) when moving bubbles around. Shift is "do nothing", control removes one bubble from another (shift with control reverses bubble removal order), alt/option intersects the two bubbles (shift alt/option XORs them.) I implemented it because using logical operators over shapes gives you a lot of flexibility when creating bubbles, but if you use the export to HTML option they don't get translated correctly to the pop-ups. The autoPoly is usually a better option nowadays, if your machine is fast enough for it.
ng wrote: b) Just FYI, I want to report the following bug I noticed, although unfortunately I cannot yet tell you exactly when it happened: I made some transparent polygons and suddenly, the Type="Rectangle" field and as well as the X,Y point coordinates did not appear in the XML code and the software gets stuck, when loading the specific page.
If you can narrow it down to a repeatable bug, I'll gladly fix it.
ng wrote: c) Still there are some "memory management" problems, which also have the same effect sometimes (especially if a large page range is converted).
I've never had any memory management problems since I started giving GMAO 512MB of ram. What are the problems?

There is a potential problem when exporting a range of pages where the backgrounds of the bubbles are not drawn so you get English text over the original Japanese text, but that isn't a memory management issue. It is a stupendously annoying graphical problem with perhaps threading and GUI issues that I have never properly been able to track down.
ng wrote: Still I am a now an even greater fan of your software! I now have the correct encoding in my XML file and can easily spell-check files, directly correct such problems in the XML file, and so on... Many thanks again for all your efforts...
glad you enjoy it.
trado
Tamashii
Tamashii
Posts: 51
Joined: Thu Sep 21, 2006 5:17 pm

Post by trado »

Hey, been a while. Started using the program again, but for some reason, I create a new page, do some bubbles and click new page and at the bottom it says creating dom, but nothing happens. Java consol says this :

Exception in thread "Thread-25" java.lang.ArrayIndexOutOfBoundsException: -1
at com.FuguTabetai.GMAO.GMAOGUI.getNextImageNameAndPageNumber(GMAOGUI.java:2172)
at com.FuguTabetai.GMAO.GMAOGUI.doNewPage(GMAOGUI.java:1313)
at com.FuguTabetai.GMAO.GMAOGUI$8.run(GMAOGUI.java:1090)
at java.lang.Thread.run(Unknown Source)

My first page is "Chapter 01\hentai_kamen_returns_c01_01.jpg" in the image box. Anything else you need to know to track down the problem?
User avatar
FuguTabetai
Shifu
Shifu
Posts: 2589
Joined: Mon Feb 10, 2003 5:45 pm
Location: Tokyo, Japan
Contact:

Post by FuguTabetai »

trado wrote:Hey, been a while. Started using the program again, but for some reason, I create a new page, do some bubbles and click new page and at the bottom it says creating dom, but nothing happens. Java consol says this :

Exception in thread "Thread-25" java.lang.ArrayIndexOutOfBoundsException: -1
at com.FuguTabetai.GMAO.GMAOGUI.getNextImageNameAndPageNumber(GMAOGUI.java:2172)
at com.FuguTabetai.GMAO.GMAOGUI.doNewPage(GMAOGUI.java:1313)
at com.FuguTabetai.GMAO.GMAOGUI$8.run(GMAOGUI.java:1090)
at java.lang.Thread.run(Unknown Source)

My first page is "Chapter 01\hentai_kamen_returns_c01_01.jpg" in the image box. Anything else you need to know to track down the problem?
My first guess is that you didn't make a chapter for the page first. But that might not be the case.

I just checked the code, and the problem is that GMAO isn't getting any files for the "Image Directory" when it pulls up a list of files in there. It isn't mentioned anywhere, but you can't have directory / folder names in the Image box. Or rather, you shouldn't have them there. You should set the image directory to "FOO/Chapter01" and then only enter the hentai_kamen_returns_c01_01.jpg into the image box. I'm betting that's your problem. :)

If not, let me know and I'll poke around some more.
trado
Tamashii
Tamashii
Posts: 51
Joined: Thu Sep 21, 2006 5:17 pm

Post by trado »

So do you just have a folder with like a volume of raws that you pull from so you don't have to change the folder for every chapter or something?

I had a chapter, but anyway, I ended up, as just a temp thing, modifying the xml directly and adding all the pages for the chapter with a dir\file and it loads them just fine. Cept it screwed up the next page feature hehe. Guess I'll have to do a vol folder instead so I don't have to keep switching folders.

I tried doing a new project, set a folder with pics in them, instead of being in a subfolder, created a new chapter and I can create one page, but can't do any more. Same outofbounds error. If I create another chapter, can't create even one page for it.
User avatar
FuguTabetai
Shifu
Shifu
Posts: 2589
Joined: Mon Feb 10, 2003 5:45 pm
Location: Tokyo, Japan
Contact:

Post by FuguTabetai »

trado wrote:So do you just have a folder with like a volume of raws that you pull from so you don't have to change the folder for every chapter or something?
I keep all the images in one folder usually. Nothing wrong with a few hundred files in one directory.
trado wrote: I tried doing a new project, set a folder with pics in them, instead of being in a subfolder, created a new chapter and I can create one page, but can't do any more. Same outofbounds error. If I create another chapter, can't create even one page for it.
Hm, ok I'll try some tests when I get back home. I haven't started a new project in a long time, so maybe there is some problem there.
trado
Tamashii
Tamashii
Posts: 51
Joined: Thu Sep 21, 2006 5:17 pm

Post by trado »

Cool works now, whether you fixed something or not.
User avatar
FuguTabetai
Shifu
Shifu
Posts: 2589
Joined: Mon Feb 10, 2003 5:45 pm
Location: Tokyo, Japan
Contact:

Post by FuguTabetai »

I not only haven't fixed anything, I haven't even had the time to look into it further. :) Anyway, glad it is working for you.
trado
Tamashii
Tamashii
Posts: 51
Joined: Thu Sep 21, 2006 5:17 pm

Post by trado »

Ahaha. Don't seem to be having most of the problems I had last time though, or I've adjusted to using it.

If you put a line break in the middle of a dialog, is there a way to have it show up in the bubble? If the fonts small enough like 12 and the bubble is a good size, even if you put one, it doesn't go to the next line, for me anyway. or like if you want to make a bubble like this :
A
T
T
A
C
K
!!

I end up having to make the font uber huge just to get that effect.

But ya, program hasn't frozen on me yet, even when it confuses which bubble you're entering into.
User avatar
FuguTabetai
Shifu
Shifu
Posts: 2589
Joined: Mon Feb 10, 2003 5:45 pm
Location: Tokyo, Japan
Contact:

Post by FuguTabetai »

I have some code for forcing line breaks, but it is pretty fragile and does not work well. If you want to force a line break, put in a <br> (space left angle bracket br right angle bracket)

I don't think it will work to be honest! :P

I should develop GMAO to be better for things that other people want, but it is working well enough for the kinds of things that I do and I don't have much spare time for hobbies, so I translate instead of code...

Give it a try though and let me know if it works.
trado
Tamashii
Tamashii
Posts: 51
Joined: Thu Sep 21, 2006 5:17 pm

Post by trado »

Nope don't work completely.

If you just code stuff people request as time goes on, nothing wrong with that. It's annoying trying to think up every possible thing people could want. And if not many people use it, meh, it does what you want.
User avatar
FuguTabetai
Shifu
Shifu
Posts: 2589
Joined: Mon Feb 10, 2003 5:45 pm
Location: Tokyo, Japan
Contact:

Post by FuguTabetai »

Oh, for your example, I usually just rotate the text - but then of course the character of ATTACK!! are not rotated. I have been wanting to add a "keep characters horizontal" option while rotating, but I haven't gotten around to it. If I get some free time, I'll try to implement that, but it doesn't look promising. (I have to translate some stuff first.)
trado
Tamashii
Tamashii
Posts: 51
Joined: Thu Sep 21, 2006 5:17 pm

Post by trado »

Alrighty. And if you do get some time, in the font options part, can you make the "dynamically resize " thing at the bottom apply to each character definition seperately? Want my "bold" char to have a bigger max font than my "normal" char.
trado
Tamashii
Tamashii
Posts: 51
Joined: Thu Sep 21, 2006 5:17 pm

Post by trado »

Hmmm, for some reason, a couple of my bubbles ended up without points , so itd be something like :

<Bubble>
<FontInformation>
<Translation>Ecstasy Express
!!!!!!!</Translation>
</Bubble>

and the program was throwing an exception error. When I got rid of the bubble and restarted it loaded the page fine, so maybe add some kind of error handling that says it couldn't load one of the bubbles and just delete the xml bubble or something?

Oh, and be cool if you added a feature that resizes page when you export, like if you put 1100 height, it'll resize all the pages to be 1100 height and keep the widths resized proportionally, or other way around. I don't resize both sides by a certain dimension like 1100x700, but I think other people do, so it just resizes by values entered, and does a proportional resize on the dimensions not entered, if any?
User avatar
FuguTabetai
Shifu
Shifu
Posts: 2589
Joined: Mon Feb 10, 2003 5:45 pm
Location: Tokyo, Japan
Contact:

Post by FuguTabetai »

thanks for all the comments trado. I'm currently really sick and can't hardly think. I don't know when I'll get around to addressing these issues.

I started translating something myself yesterday (before things got really bad) and I didn't have any problems. :) I think you're just unlucky.

I do my file resizing before I do the translation. It wouldn't be too hard to add a feature like that in though.
trado
Tamashii
Tamashii
Posts: 51
Joined: Thu Sep 21, 2006 5:17 pm

Post by trado »

Also for the project manager, it's listing all the projects as the same name for me. Seems to be at least saving the right img director for the pages for each project, so I don't know if it's just saving the name wrong or if there's more. But ya, when you get to it, there's another thing you can check out. Boy that program props xml sure is scattered though. Cheers
trado
Tamashii
Tamashii
Posts: 51
Joined: Thu Sep 21, 2006 5:17 pm

Post by trado »

Can you get any OpenType fonts to show up on the font selecter? Can't seem to get one I need.

Also, is there a way to put some kind of inside padding on bubbles/boxes? Some of mine have been ending up really close to the edge, and kind of bugs me.

Image

And to add to the eventual list but isn't dire is, when the program loads a page, have it scroll back to the top. Ends up all the way at the bottom when it's done loading and it just seems a bit silly :P
User avatar
FuguTabetai
Shifu
Shifu
Posts: 2589
Joined: Mon Feb 10, 2003 5:45 pm
Location: Tokyo, Japan
Contact:

Post by FuguTabetai »

Hi Trado,

Fonts that are registered to the system such that they are available for Java apps are all available. That means OpenType fonts should work - I know I have a few that are OpenType - but there might be some magic in making them available to Java apps. For Mac OSX there is nothing special: you just have to install the font.

For linux there is deep magix involved, and I honestly forget how it goes. On windows the font just needs to be installed. I don't know why a font would not show up that you can use in other applications though. That is a bit beyond my power to investigate since I just call the Java API to load up a list of fonts that it knows about from the underlying system.

For the bubble padding, check out the GMAO Options, Appearance tab, and the "Gutter" option. That controls how much space there is between the text and the bubble wall before a new line is made. I am not sure if that value is used in the left / right justification (it should be) and it is global, you can't set it for each bubble, but try it out.

I don't think I've ever changed it once so I'm not too confident that it will actually work, but that is its purpose...
trado
Tamashii
Tamashii
Posts: 51
Joined: Thu Sep 21, 2006 5:17 pm

Post by trado »

Yeah gutter thing didn't work for me. Nor do I think the Cancel button on the "Options..." panel work. I changed a font on one of the characters and clicked cancelled and it change the font instead of keeping the one I had.

Here, I'll make a list and verify what works and doesn't for me and then just keep editing that list.
trado
Tamashii
Tamashii
Posts: 51
Joined: Thu Sep 21, 2006 5:17 pm

Post by trado »

Ok, I verified the bugs I was having and compiled my requests for the next version. Sorry they came out kind of condescending, couldn't figure out a good way to word them, and I wanted them to be as concise as possible. So if you just go down the list as your time permits and add them, that'd be great, if some aren't too complicated to implement and if they don't conflict with your workflow.

The primary section is really the main one, and they just deal with appearance, which IMO, besides a few bugs, is the only thing photoshop has on your program right now, in terms of manga editing. It definitely seems to have saved me time/consolidated my workflow since I usually have to translate and edit. If I find any more bugs or requests, I'll just edit this post so you don't have to go looking for them, and just whenever you have time to do them. If you could nick off the primary ones sometime in a month since that's about when the chapters to be released began being edited with this program, I'd appreciate it, but if you're busy it's totally understandable. Uh... have fun? :shock:

Primary
-Fix the gutter option.
-Have the two dynamically resize by values on the font options tab apply to individual chars instead of globally if dynamically resize is checked.
-Render carriage returns as newlines in bubbles.
-Have an option to re-render the page by either right clicking the page on the file tree or the page itself, incase you made changes to the physical page and want to see them in GMAO without restarting the program.


Secondary
-In the style manager, ability to make a style without a bg/outline, or just have a opacity option for the bg/outline and one for the entire style.
-Add a box to the New page dialog that says what chapter it's going under, and have it fill it in, but incase you need to put a page in a past chapter or some other chapter, you can change the value and then have the program start putting new pagers after that in that chapter.
-Can you bring up that box that says what chap # the new chap will be and if it knows it, fill it in? Without going directly to the xml, you can't add a chapter before another one, and if you have multiple tslers on one project, and suddenly one becomes busy, it'd be nice to be able to do that so you can cover for them if they were scheduled to tsl a chapter that's before the one's you've done.
-Esc key or something so you can get out of autoPoly while it's drawing, and then have it delete the incomplete bubble.

Tertiary
-Some way to cancel a page from loading like the esc key, so you can get out of the animation if the loading chokes.
-If this doesn't mess up your flow, have the current char style carry over to the new bubble you make. Especially for me, where I use normal, bold ect for char names, multiple bubbles in succession use the same char name.
-Ability to clear a bubble of styles/changes so the default char option can be applied properly or so you can restyle it.
-Option to make text vertical, ie. one char per line.
-Copy and paste bubbles so for example you can have the same dimensions/styles on two boxes if they're next to each other so it looks nice.
-Have gutter option apply to each char style instead of globally.
-When you do new page, have it load it automatically so you don't have to go through the tree every time.


Quaternary
-Have the Alt+B shortcut work even if you have a translation box open, if it's possible.
-Load page at the top, instead of the bottom.
-Option to export a set of pages by chapter as well? Little bit lazy of me, but also kind of cool, if you go like "EXPORT THIS CHAPTER PROGRAM, I COMMAND IT!!" and bam it does it. :o
-Have it check if a page has the next number after the number it's looking for, and then reflect it in the name in the tree list. So like akumetsu_v03_012-013.jpg it'll just be Page 12-13 kind of thing. Doesn't really choke as it is, but if you wanted to have your program support more situations.


Errors/ Bugs
-When you move a polygon shape and save, it doesn't save the polygons new point positions, so you end up with a bubble that has no dimensions and the program chokes next time you try to load the page after a program exit. But if you move a specific point, and save, it puts the dimensions back in the polygon. This bug is apparent in both autopoly and polygon bubbles.

-When you make a project in the project manager, and close the program, when you start it up again, the new project seems to be taking the name of one of the projects further up on the list. I'm not sure exactly what the bug is but, when I had three projects, the third project took the second project's name. When I added a fifth project, it took the third project's name. And it shows this in the props file, so it may be that the name thing is happening when you create the project in the props file or when the program exits and saves the props file, depending how the codes set up. I changed the name in the prop file after closing the program and since then it doesn't change, so I think the bugs in the project creation code.
*Edit : One of the projects changed names to the one above it so I really don't know what's happening, just that there seems to be some kinding bug.

-When you load a project from the project manager, it loads the trans xml file, but doesn't change any of the options (Raw location, xml location, export dir, image export type) in the "File/data" tab. Looks like all the other tabs load the data correctly, cept the font style tab.
-Some of the values for the chars in font options aren't loading correctly when you open the program to work on your current project. Sometimes the font, the size and usually whether dynamically resize is checked/unchecked don't stay to what I set them as but I can't tell what the percise bug is.

-One of my bubbles ended up with an empty <FontInformation> and the program choked and wouldn't load the page and just sat there. Have it put some random points in there so you can fix the bubble?

-The stop button on the autoPoly doesn't seem to work for me when its' drawing.[/b]
Last edited by trado on Sat Apr 12, 2008 1:00 am, edited 13 times in total.
trado
Tamashii
Tamashii
Posts: 51
Joined: Thu Sep 21, 2006 5:17 pm

Post by trado »

Is there a shortcut key for hide bubbles?
Post Reply