I didn't stop trying to figure this out after I submitted my question, so here's the solution for others who may end up in the same situation.

When you want to generate a custom waveform for the Picoscope's AWG, create the array as a numpy.array.
Once you've generated your desired waveform, you can use some built-in numpy methods to convert the array to a ctypes pointer for the function call. Here is an example of the solution that I found works for me.