code: def filter_cpp_output(cpp_raw_output):
      """prepare cpp-output for parsing"""
      cpp_output = filter(lambda y: len(y) > 1, cpp_raw_output)
      cpp_output = list(
          filter(lambda y: not y.startswith("#"), cpp_output)
      )
  
      i = 1
      while 1:
          if i >= len(cpp_output):
              break
          if (
              ("{" in cpp_output[i - 1])
              and ("}" not in cpp_output[i - 1])
              or (";" not in cpp_output[i - 1])
          ):
              cpp_output[i] = cpp_output[i - 1] + " " + cpp_output[i]
              cpp_output.pop(i - 1)
          elif "}" in cpp_output[i]:
              cpp_output[i] = cpp_output[i - 1] + " " + cpp_output[i]
              cpp_output.pop(i - 1)
          else:
              i += 1
  
      # clean pointer notations
      tmp = []
      for l in cpp_output:
          tmp += [l.replace(" *", " * ")]
      cpp_output = tmp
  
      return cpp_output
  
file_path: aubio/python/lib/gen_external.py
imports: import distutils.ccompiler
  import sys
  import os
  import subprocess
  import glob
  from distutils.sysconfig import customize_compiler
  from gen_code import MappedObject
label_desc: Use image node_id 4 for calling a global function with example usage: filter_cpp_output(cpp_raw_output) and returns: cpp_output