//Enumerate the subtypes (this function does not translate a subtype into a string describing that subtype). A typical use case might be retrieving a string description of all subtypes so that a dialog box can be filled in. func GetSubFormatInfo(format int) (oformat int, name string, ok bool) { var o C.SF_FORMAT_INFO o.format = C.int(format) ok = (0 == C.sf_command(nil, C.SFC_GET_FORMAT_SUBTYPE, unsafe.Pointer(&o), C.int(unsafe.Sizeof(o)))) oformat = int(o.format) name = C.GoString(o.name) return }
//Retrieve information about a major format type //For a more comprehensive example, see the program list_formats.c in the examples/ directory of the libsndfile source code distribution. func GetMajorFormatInfo(format int) (oformat int, name string, extension string, ok bool) { var o C.SF_FORMAT_INFO o.format = C.int(format) ok = (0 == C.sf_command(nil, C.SFC_GET_FORMAT_MAJOR, unsafe.Pointer(&o), C.int(unsafe.Sizeof(o)))) oformat = int(o.format) name = C.GoString(o.name) extension = C.GoString(o.extension) return }