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
Step 1:

Place the corner pieces. Only one place for each.
Step 2:

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.
Step 3:

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.
Step 4:

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.
Step 5:

Both bottom-edge pieces have the same shape, so their outlines can be drawn (though we don't know which goes where yet).
Step 6:

The large upside-down staircase piece can only go one place now.
Step 7:

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
Step 8:

Basic Maysu deductions based on dots being on edges or near edges
Step 9:

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.
Step 10:

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.
Step 11:

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
Step 12:

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.
Step 13:

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.
Step 14:

Basic deductions with the new white circles, and then some connectivity.
Step 15:

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.
Step 16:

Basic deductions with the new white circles.
Step 17:

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.
Step 18:

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!