I thought it was a shame such a nice puzzle didn't have an explanation of its solve path. So here's mine! Click through to get the (large) full-size images. "Connectivity deduction" means "I put a line here because if there isn't a line, a single connected loop is now impossible". Shaded pieces mean I've placed them, and shaded parts of the grid have pieces placed for sure.
Part 1: Putting some pieces in
Place the corner pieces. Only one place for each.
An edge can't have 4 white circles in a row. The middle two wouldn't have anywhere to turn. So the two remaining top-edge pieces must be placed so their top-row white circles aren't adjacent.
The larger stair-shaped left-edge piece can't go above the other. It doesn't fit in the top spot. Therefore the left-edge pieces can be resolved.
There can't be a "stack" of black circles leading away from an edge. One couldn't satisfy the go-straight-twice requirement. Therefore the black-circle right-edge piece can't go on the top, and the right-edge pieces can be resolved.
Both bottom-edge pieces have the same shape, so their outlines can be drawn (though we don't know which goes where yet).
The large upside-down staircase piece can only go one place now.
The only way to satisfy the 5 unspoken-for squares in the upper right (looks like a P-pentomino) is to use a 2x2 and the 1x1. So the 1x1 can't be used elsewhere. There is only one way to place the remaining L-tetromino without isolating a 1x1. All piece borders can now be drawn. Also both of the bottom-edge pieces have a black circle in the same spot, so let's add that in.
Part 2: Drawing some lines
Basic Maysu deductions based on dots being on edges or near edges
Two black dots are now effectively near edges, because they can't extend for two in one direction. After that a basic connectivity deduction along the right edge.
The white circles on either side-edge still need to turn on at least one side. Once they do so, then there are some effective-edge deductions to make.
That lingering line in R2C1 can't go right or it would create a closed loop; it must therefore go down. Also some connectivity deductions.
Part 3: Putting some pieces in while drawing some lines
The lower 1x2 can't be the one with the white dot, because there's no room to go straight. Therefore we can resolve the 1x2s.
The bottom-row white dot for one of the bottom-edge pieces (the one with two white dots) couldn't be satisfied if that piece went on the left side. The spot it would go already has a straight line that doesn't turn on either side. Therefore the bottom-edge piece with two white circles is forced to go on the right side.
Basic deductions with the new white circles, and then some connectivity.
The lowermost 2x2 can't have a white circle on its bottom row, as there is no room for a straight segment there. So it takes the only 2x2 with a top-row white circle. Then the upper-right 2x2 can't have a white circle in its bottom-right (no room, again). It takes the 2x2 with a bottom-left white circle. The last 2x2 claims the last spot, and voila! All pieces are placed.
Part 4: To the end!
Also known as: I do way too detailed step-by-step.
Basic deductions with the new white circles.
The white circle in R3C7 still has to turn, and it can only turn up. Then R2C5 must go down for connectivity. Finally the top of the 3-stack of white circles still needs to turn, and there's only one way for it to do so.
Don't-close-the-loop logic on the right side, the last lineless white circle with on-an-edge on the left.
Step 19 (also the solution):
A few trivial applications of connectivity logic, and we're done!