Getting started
The two-minute version. Open the generator, tweak the defaults, download your map.
New to this? Start with what a pixel map is.
What you land on
Go to /generate. You get a split view: Configuration on the left, the live canvas on the right.
One screen is already there, "Screen 1", sitting top-left of a 1920x1080 canvas. You don't need to create anything to get going. The PNG you'd download right now is already a valid pixel map.
Setting panel size and count
In the Configuration panel, expand Screen 1. The things you'll touch most:
- Cabinets: pick the panel you actually have. The library covers most common LED cabinets, grouped by manufacturer.
- Columns and Rows: how many tiles wide and tall. Numeric inputs accept math, so
8*2works. - Name: what shows up on the info box for this screen.
- Position: X and Y in pixels. Leave it and HappyMaps auto-positions. Set it yourself and it stays pinned.
Adding more screens
Click "Add" in the toolbar at the bottom of the Configuration panel. You can stack up to 60 screens on one canvas. HappyMaps packs them in automatically unless you've pinned positions manually. The arrow beside it adds a group instead.
A new screen starts on the cabinet the rest of the canvas is already using, so a setup built from one panel type only needs picking once. On an empty canvas, or one where every screen is on manual dimensions, it falls back to a default from the library.
Rotating and swapping a screen
Swap columns and rows
The arrow button between Columns and Rows transposes the grid. An 8 by 3 screen becomes 3 by 8. Panel sizes stay as they are, only the counts trade places. Per-row and per-column layouts swap with them.
The button greys out on a screen that carries blanked panels, panels cut with the Split tool, or slices. Those are all pinned to specific tiles by column and row, and a swap would leave them pointing at the wrong ones. The tooltip on the disabled button says to clear them first.
Rotation
A screen hung turned gets its angle from the Rotation control on its card: 0, 90, 180, or 270 degrees. The whole screen turns on the canvas, grid and coordinate labels and info box with it, so the map matches how the screen sits in the room.
At 90 and 270 the footprint swaps, so the layout repacks around the new shape. Rotating doesn't pin a screen. A sliced screen rotates per slice instead, in the Splits section.
Content stays upright. See Exports for what rotation does to the input and output sides of a Resolume export.
Pinned screens
A pinned screen keeps its position. Optimize packs everything around it instead of moving it.
Two ways a screen gets pinned. Typing a position pins it, and the card says "pinned where you put it". Clicking the pin button between Start X and Start Y pins it deliberately, and says nothing extra, because the button is already amber and says so. Both hold the same way. The difference only matters when you release in bulk: the Optimize menu offers to release the ones you moved by hand and leaves the deliberate pins alone.
Placement on a sliced screen is per slice, but the pin covers the whole screen. Move one slice by hand and all of them stay put.
To release one screen, click its amber pin button again. With auto positioning on, it gets packed back in straight away. With it off, it stays where it is until you click Optimize.
Groups
Screens that belong together physically can be grouped: a stage-left setup, a three-sided booth, a set of risers. Open the arrow next to the Add button at the bottom of the Configuration panel and pick "Add group". You get an empty group with its name field ready.
Name it, then fill it: drag object cards onto the block, or pick the group from the Group dropdown on any object's card. What the group's name then does to its members, how to lay one out in a row or a column, and how to duplicate one are all in Grouping screens.
Why auto-positioning isn't moving your screens
Auto positioning can be switched off under Settings. When it's off, or when something is pinned, the Optimize button grows a small dot and an arrow beside it. Open the menu and it tells you what's holding the layout, with the option to turn auto positioning back on or release the screens you moved by hand. No dot, no arrow: nothing is holding anything. And if you press Optimize while everything is pinned, it says "Everything is pinned." rather than looking like a dead button. A run that moved something says nothing, because you can see it.
Sometimes there's nowhere to put something: a screen bigger than the canvas, or a canvas too full to fit one beside what's already pinned. Whatever can't be placed is left exactly where it is rather than shoved into a corner, Optimize names it ("No room for Screen 4."), and the warnings tell you what's overlapping or over the edge. Make room, give it a bigger canvas, or unpin the screen it was working around, and the next run places it.
Downloading your pixel map
Bottom-right of the canvas area: the Download button. Click it and you get a PNG named YYYYMMDD_ProjectName_happymaps.png. The button shows "Generating" for a moment, then the file saves. The arrow beside it opens a menu with the other download options, and the full canvas is repeated at the top of that menu.
What the amber and red warnings mean
HappyMaps watches your setup and flags trouble inline:
Fix the highlighted issue and the alert disappears on its own.
Next
- Keyboard shortcuts for the things you'll repeat.
- Themes when you want to change the look.
- Slicing and Advanced mode for screens that don't fit.
- Anamorphic 3.9/7.8 support for transparent LED walls.
- Exports for the four download formats including Resolume XML.