import string

def writeSoundtoTextFile(sound,filename):
  output=open(getMediaPath(filename),"wt")
  output.write(str(int(getSamplingRate(sound)))+"\n")
  for sample in getSamples(sound):
    value = getSampleValue(sample)
    output.write(str(value)+"\n")
  output.close()


def makeSoundFromTextFile(filename):
  datafile=open(getMediaPath(filename),"rt")
  data=datafile.readlines()
  output=makeEmptySound(len(data)-1,int(data[0]))
  for index in range(1,getLength(output)+1):
    value=data[index]
    setSampleValueAt(output,index,value)
  return output

  #Changed to write one row at a time.
def makeTextFileFromPicture(pic,filename):
  file=open(getMediaPath(filename),"wt")
  file.write(str(getWidth(pic))+","+str(getHeight(pic))+"\n")
  for y in range(1,getHeight(pic)+1):
    for x in range(1,getWidth(pic)+1):      pixel = getPixel(pic,x,y)
      file.write(str(getRed(pixel))+",")
      file.write(str(getGreen(pixel))+",")
      file.write(str(getBlue(pixel))+"\n")
  file.close()

  #Works one column at a time instead of one row at a time
def wrong(textfile):
  file=open(getMediaPath(textfile),"rt")
  contents=file.readlines()
  dimensions=contents[0]
  #print dimensions
  pieces = string.split(dimensions[0:-1],",")
  print pieces
  width=int(pieces[0])
  height=int(pieces[1])
  output=makeEmptyPicture(width,height)
  
  x=1
  y=1
  for index in range(1,len(contents)):
    line=contents[index]
    colors=string.split(line[:-1],",")
    mycolor = makeColor(int(colors[0]),int(colors[1]),int(colors[2]))
    setColor(getPixel(output,x,y),mycolor)
    y=y+1
    if y>height:
      x=x+1
      y=1

  file.close()
  return output


def makePictureFromTextFile(textfile):
  file=open(getMediaPath(textfile),"rt")
  contents=file.readlines()
  dimensions=contents[0]
  #print dimensions
  pieces = string.split(dimensions[0:-1],",")
  print pieces
  width=int(pieces[0])
  height=int(pieces[1])
  output=makeEmptyPicture(width,height)
  
  x=1
  y=1
  for index in range(1,len(contents)):
    line=contents[index]
    colors=string.split(line[:-1],",")
    mycolor = makeColor(int(colors[0]),int(colors[1]),int(colors[2]))
    setColor(getPixel(output,x,y),mycolor)
    x=x+1
    if x>width:
      y=y+1
      x=1

  file.close()
  return output
      