ChucK: update and package
- Update and package ChucK, remove input support - Update and package Ogg, Vorbis, FLAC, and Libsndfile ports - Remove ChucK runtime scenarios - Add ChucK runtime package Fix #104
This commit is contained in:
committed by
Norman Feske
parent
f44d6967f6
commit
7950cf338a
@@ -6,7 +6,7 @@ LIBS += libc libogg
|
|||||||
|
|
||||||
SHARED_LIB = yes
|
SHARED_LIB = yes
|
||||||
|
|
||||||
CC_OPT += -DHAVE_CONFIG_H
|
CC_DEF += -DHAVE_CONFIG_H
|
||||||
|
|
||||||
INC_DIR += \
|
INC_DIR += \
|
||||||
$(LIBFLAC_SRC_DIR)/include \
|
$(LIBFLAC_SRC_DIR)/include \
|
||||||
|
|||||||
421
lib/symbols/libFLAC
Normal file
421
lib/symbols/libFLAC
Normal file
@@ -0,0 +1,421 @@
|
|||||||
|
FLAC_API_SUPPORTS_OGG_FLAC D 4
|
||||||
|
FLAC__ChannelAssignmentString D 32
|
||||||
|
FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_ESCAPE_PARAMETER R 4
|
||||||
|
FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_PARAMETER_LEN R 4
|
||||||
|
FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ESCAPE_PARAMETER R 4
|
||||||
|
FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ORDER_LEN R 4
|
||||||
|
FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_PARAMETER_LEN R 4
|
||||||
|
FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_RAW_LEN R 4
|
||||||
|
FLAC__ENTROPY_CODING_METHOD_TYPE_LEN R 4
|
||||||
|
FLAC__EntropyCodingMethodTypeString D 16
|
||||||
|
FLAC__FRAME_FOOTER_CRC_LEN R 4
|
||||||
|
FLAC__FRAME_HEADER_BITS_PER_SAMPLE_LEN R 4
|
||||||
|
FLAC__FRAME_HEADER_BLOCKING_STRATEGY_LEN R 4
|
||||||
|
FLAC__FRAME_HEADER_BLOCK_SIZE_LEN R 4
|
||||||
|
FLAC__FRAME_HEADER_CHANNEL_ASSIGNMENT_LEN R 4
|
||||||
|
FLAC__FRAME_HEADER_CRC_LEN R 4
|
||||||
|
FLAC__FRAME_HEADER_RESERVED_LEN R 4
|
||||||
|
FLAC__FRAME_HEADER_SAMPLE_RATE_LEN R 4
|
||||||
|
FLAC__FRAME_HEADER_SYNC R 4
|
||||||
|
FLAC__FRAME_HEADER_SYNC_LEN R 4
|
||||||
|
FLAC__FRAME_HEADER_ZERO_PAD_LEN R 4
|
||||||
|
FLAC__FrameNumberTypeString D 16
|
||||||
|
FLAC__MD5Accumulate T
|
||||||
|
FLAC__MD5Final T
|
||||||
|
FLAC__MD5Init T
|
||||||
|
FLAC__MetadataTypeString D 56
|
||||||
|
FLAC__Metadata_ChainStatusString D 128
|
||||||
|
FLAC__Metadata_SimpleIteratorStatusString D 104
|
||||||
|
FLAC__OGG_MAPPING_FIRST_HEADER_PACKET_TYPE R 1
|
||||||
|
FLAC__OGG_MAPPING_MAGIC D 8
|
||||||
|
FLAC__OGG_MAPPING_NUM_HEADERS_LEN R 4
|
||||||
|
FLAC__OGG_MAPPING_PACKET_TYPE_LEN R 4
|
||||||
|
FLAC__OGG_MAPPING_VERSION_MAJOR_LEN R 4
|
||||||
|
FLAC__OGG_MAPPING_VERSION_MINOR_LEN R 4
|
||||||
|
FLAC__STREAM_METADATA_APPLICATION_ID_LEN R 4
|
||||||
|
FLAC__STREAM_METADATA_CUESHEET_INDEX_NUMBER_LEN R 4
|
||||||
|
FLAC__STREAM_METADATA_CUESHEET_INDEX_OFFSET_LEN R 4
|
||||||
|
FLAC__STREAM_METADATA_CUESHEET_INDEX_RESERVED_LEN R 4
|
||||||
|
FLAC__STREAM_METADATA_CUESHEET_IS_CD_LEN R 4
|
||||||
|
FLAC__STREAM_METADATA_CUESHEET_LEAD_IN_LEN R 4
|
||||||
|
FLAC__STREAM_METADATA_CUESHEET_MEDIA_CATALOG_NUMBER_LEN R 4
|
||||||
|
FLAC__STREAM_METADATA_CUESHEET_NUM_TRACKS_LEN R 4
|
||||||
|
FLAC__STREAM_METADATA_CUESHEET_RESERVED_LEN R 4
|
||||||
|
FLAC__STREAM_METADATA_CUESHEET_TRACK_ISRC_LEN R 4
|
||||||
|
FLAC__STREAM_METADATA_CUESHEET_TRACK_NUMBER_LEN R 4
|
||||||
|
FLAC__STREAM_METADATA_CUESHEET_TRACK_NUM_INDICES_LEN R 4
|
||||||
|
FLAC__STREAM_METADATA_CUESHEET_TRACK_OFFSET_LEN R 4
|
||||||
|
FLAC__STREAM_METADATA_CUESHEET_TRACK_PRE_EMPHASIS_LEN R 4
|
||||||
|
FLAC__STREAM_METADATA_CUESHEET_TRACK_RESERVED_LEN R 4
|
||||||
|
FLAC__STREAM_METADATA_CUESHEET_TRACK_TYPE_LEN R 4
|
||||||
|
FLAC__STREAM_METADATA_IS_LAST_LEN R 4
|
||||||
|
FLAC__STREAM_METADATA_LENGTH_LEN R 4
|
||||||
|
FLAC__STREAM_METADATA_PICTURE_COLORS_LEN R 4
|
||||||
|
FLAC__STREAM_METADATA_PICTURE_DATA_LENGTH_LEN R 4
|
||||||
|
FLAC__STREAM_METADATA_PICTURE_DEPTH_LEN R 4
|
||||||
|
FLAC__STREAM_METADATA_PICTURE_DESCRIPTION_LENGTH_LEN R 4
|
||||||
|
FLAC__STREAM_METADATA_PICTURE_HEIGHT_LEN R 4
|
||||||
|
FLAC__STREAM_METADATA_PICTURE_MIME_TYPE_LENGTH_LEN R 4
|
||||||
|
FLAC__STREAM_METADATA_PICTURE_TYPE_LEN R 4
|
||||||
|
FLAC__STREAM_METADATA_PICTURE_WIDTH_LEN R 4
|
||||||
|
FLAC__STREAM_METADATA_SEEKPOINT_FRAME_SAMPLES_LEN R 4
|
||||||
|
FLAC__STREAM_METADATA_SEEKPOINT_PLACEHOLDER R 8
|
||||||
|
FLAC__STREAM_METADATA_SEEKPOINT_SAMPLE_NUMBER_LEN R 4
|
||||||
|
FLAC__STREAM_METADATA_SEEKPOINT_STREAM_OFFSET_LEN R 4
|
||||||
|
FLAC__STREAM_METADATA_STREAMINFO_BITS_PER_SAMPLE_LEN R 4
|
||||||
|
FLAC__STREAM_METADATA_STREAMINFO_CHANNELS_LEN R 4
|
||||||
|
FLAC__STREAM_METADATA_STREAMINFO_MAX_BLOCK_SIZE_LEN R 4
|
||||||
|
FLAC__STREAM_METADATA_STREAMINFO_MAX_FRAME_SIZE_LEN R 4
|
||||||
|
FLAC__STREAM_METADATA_STREAMINFO_MD5SUM_LEN R 4
|
||||||
|
FLAC__STREAM_METADATA_STREAMINFO_MIN_BLOCK_SIZE_LEN R 4
|
||||||
|
FLAC__STREAM_METADATA_STREAMINFO_MIN_FRAME_SIZE_LEN R 4
|
||||||
|
FLAC__STREAM_METADATA_STREAMINFO_SAMPLE_RATE_LEN R 4
|
||||||
|
FLAC__STREAM_METADATA_STREAMINFO_TOTAL_SAMPLES_LEN R 4
|
||||||
|
FLAC__STREAM_METADATA_TYPE_LEN R 4
|
||||||
|
FLAC__STREAM_METADATA_VORBIS_COMMENT_ENTRY_LENGTH_LEN R 4
|
||||||
|
FLAC__STREAM_METADATA_VORBIS_COMMENT_NUM_COMMENTS_LEN R 4
|
||||||
|
FLAC__STREAM_SYNC R 4
|
||||||
|
FLAC__STREAM_SYNC_LEN R 4
|
||||||
|
FLAC__STREAM_SYNC_STRING R 4
|
||||||
|
FLAC__SUBFRAME_LPC_QLP_COEFF_PRECISION_LEN R 4
|
||||||
|
FLAC__SUBFRAME_LPC_QLP_SHIFT_LEN R 4
|
||||||
|
FLAC__SUBFRAME_TYPE_CONSTANT_BYTE_ALIGNED_MASK R 4
|
||||||
|
FLAC__SUBFRAME_TYPE_FIXED_BYTE_ALIGNED_MASK R 4
|
||||||
|
FLAC__SUBFRAME_TYPE_LEN R 4
|
||||||
|
FLAC__SUBFRAME_TYPE_LPC_BYTE_ALIGNED_MASK R 4
|
||||||
|
FLAC__SUBFRAME_TYPE_VERBATIM_BYTE_ALIGNED_MASK R 4
|
||||||
|
FLAC__SUBFRAME_WASTED_BITS_FLAG_LEN R 4
|
||||||
|
FLAC__SUBFRAME_ZERO_PAD_LEN R 4
|
||||||
|
FLAC__StreamDecoderErrorStatusString D 32
|
||||||
|
FLAC__StreamDecoderInitStatusString D 48
|
||||||
|
FLAC__StreamDecoderLengthStatusString D 24
|
||||||
|
FLAC__StreamDecoderReadStatusString D 24
|
||||||
|
FLAC__StreamDecoderSeekStatusString D 24
|
||||||
|
FLAC__StreamDecoderStateString D 80
|
||||||
|
FLAC__StreamDecoderTellStatusString D 24
|
||||||
|
FLAC__StreamDecoderWriteStatusString D 16
|
||||||
|
FLAC__StreamEncoderInitStatusString D 112
|
||||||
|
FLAC__StreamEncoderReadStatusString D 32
|
||||||
|
FLAC__StreamEncoderSeekStatusString D 24
|
||||||
|
FLAC__StreamEncoderStateString D 72
|
||||||
|
FLAC__StreamEncoderTellStatusString D 24
|
||||||
|
FLAC__StreamEncoderWriteStatusString D 16
|
||||||
|
FLAC__StreamMetadata_Picture_TypeString D 168
|
||||||
|
FLAC__SubframeTypeString D 32
|
||||||
|
FLAC__VENDOR_STRING D 8
|
||||||
|
FLAC__VERSION_STRING D 8
|
||||||
|
FLAC__add_metadata_block T
|
||||||
|
FLAC__bitmath_silog2 T
|
||||||
|
FLAC__bitreader_bits_left_for_byte_alignment T
|
||||||
|
FLAC__bitreader_clear T
|
||||||
|
FLAC__bitreader_delete T
|
||||||
|
FLAC__bitreader_dump T
|
||||||
|
FLAC__bitreader_free T
|
||||||
|
FLAC__bitreader_get_input_bits_unconsumed T
|
||||||
|
FLAC__bitreader_get_read_crc16 T
|
||||||
|
FLAC__bitreader_init T
|
||||||
|
FLAC__bitreader_is_consumed_byte_aligned T
|
||||||
|
FLAC__bitreader_new T
|
||||||
|
FLAC__bitreader_read_byte_block_aligned_no_crc T
|
||||||
|
FLAC__bitreader_read_raw_int32 T
|
||||||
|
FLAC__bitreader_read_raw_uint32 T
|
||||||
|
FLAC__bitreader_read_raw_uint64 T
|
||||||
|
FLAC__bitreader_read_rice_signed T
|
||||||
|
FLAC__bitreader_read_rice_signed_block T
|
||||||
|
FLAC__bitreader_read_uint32_little_endian T
|
||||||
|
FLAC__bitreader_read_unary_unsigned T
|
||||||
|
FLAC__bitreader_read_utf8_uint32 T
|
||||||
|
FLAC__bitreader_read_utf8_uint64 T
|
||||||
|
FLAC__bitreader_reset_read_crc16 T
|
||||||
|
FLAC__bitreader_skip_bits_no_crc T
|
||||||
|
FLAC__bitreader_skip_byte_block_aligned_no_crc T
|
||||||
|
FLAC__bitwriter_clear T
|
||||||
|
FLAC__bitwriter_delete T
|
||||||
|
FLAC__bitwriter_dump T
|
||||||
|
FLAC__bitwriter_free T
|
||||||
|
FLAC__bitwriter_get_buffer T
|
||||||
|
FLAC__bitwriter_get_input_bits_unconsumed T
|
||||||
|
FLAC__bitwriter_get_write_crc16 T
|
||||||
|
FLAC__bitwriter_get_write_crc8 T
|
||||||
|
FLAC__bitwriter_init T
|
||||||
|
FLAC__bitwriter_is_byte_aligned T
|
||||||
|
FLAC__bitwriter_new T
|
||||||
|
FLAC__bitwriter_release_buffer T
|
||||||
|
FLAC__bitwriter_rice_bits T
|
||||||
|
FLAC__bitwriter_write_byte_block T
|
||||||
|
FLAC__bitwriter_write_raw_int32 T
|
||||||
|
FLAC__bitwriter_write_raw_uint32 T
|
||||||
|
FLAC__bitwriter_write_raw_uint32_little_endian T
|
||||||
|
FLAC__bitwriter_write_raw_uint64 T
|
||||||
|
FLAC__bitwriter_write_rice_signed T
|
||||||
|
FLAC__bitwriter_write_rice_signed_block T
|
||||||
|
FLAC__bitwriter_write_unary_unsigned T
|
||||||
|
FLAC__bitwriter_write_utf8_uint32 T
|
||||||
|
FLAC__bitwriter_write_utf8_uint64 T
|
||||||
|
FLAC__bitwriter_write_zeroes T
|
||||||
|
FLAC__bitwriter_zero_pad_to_byte_boundary T
|
||||||
|
FLAC__cpu_info T
|
||||||
|
FLAC__crc16 T
|
||||||
|
FLAC__crc16_table R 1024
|
||||||
|
FLAC__crc8 T
|
||||||
|
FLAC__crc8_table R 256
|
||||||
|
FLAC__crc8_update T
|
||||||
|
FLAC__crc8_update_block T
|
||||||
|
FLAC__fixed_compute_best_predictor T
|
||||||
|
FLAC__fixed_compute_best_predictor_wide T
|
||||||
|
FLAC__fixed_compute_residual T
|
||||||
|
FLAC__fixed_restore_signal T
|
||||||
|
FLAC__format_blocksize_is_subset T
|
||||||
|
FLAC__format_cuesheet_is_legal T
|
||||||
|
FLAC__format_entropy_coding_method_partitioned_rice_contents_clear T
|
||||||
|
FLAC__format_entropy_coding_method_partitioned_rice_contents_ensure_size T
|
||||||
|
FLAC__format_entropy_coding_method_partitioned_rice_contents_init T
|
||||||
|
FLAC__format_get_max_rice_partition_order T
|
||||||
|
FLAC__format_get_max_rice_partition_order_from_blocksize T
|
||||||
|
FLAC__format_get_max_rice_partition_order_from_blocksize_limited_max_and_predictor_order T
|
||||||
|
FLAC__format_picture_is_legal T
|
||||||
|
FLAC__format_sample_rate_is_subset T
|
||||||
|
FLAC__format_sample_rate_is_valid T
|
||||||
|
FLAC__format_seektable_is_legal T
|
||||||
|
FLAC__format_seektable_sort T
|
||||||
|
FLAC__format_vorbiscomment_entry_is_legal T
|
||||||
|
FLAC__format_vorbiscomment_entry_name_is_legal T
|
||||||
|
FLAC__format_vorbiscomment_entry_value_is_legal T
|
||||||
|
FLAC__frame_add_header T
|
||||||
|
FLAC__lpc_compute_autocorrelation T
|
||||||
|
FLAC__lpc_compute_best_order T
|
||||||
|
FLAC__lpc_compute_expected_bits_per_residual_sample T
|
||||||
|
FLAC__lpc_compute_expected_bits_per_residual_sample_with_error_scale T
|
||||||
|
FLAC__lpc_compute_lp_coefficients T
|
||||||
|
FLAC__lpc_compute_residual_from_qlp_coefficients T
|
||||||
|
FLAC__lpc_compute_residual_from_qlp_coefficients_wide T
|
||||||
|
FLAC__lpc_quantize_coefficients T
|
||||||
|
FLAC__lpc_restore_signal T
|
||||||
|
FLAC__lpc_restore_signal_wide T
|
||||||
|
FLAC__lpc_window_data T
|
||||||
|
FLAC__memory_alloc_aligned T
|
||||||
|
FLAC__memory_alloc_aligned_int32_array T
|
||||||
|
FLAC__memory_alloc_aligned_real_array T
|
||||||
|
FLAC__memory_alloc_aligned_uint32_array T
|
||||||
|
FLAC__memory_alloc_aligned_uint64_array T
|
||||||
|
FLAC__memory_alloc_aligned_unsigned_array T
|
||||||
|
FLAC__metadata_chain_check_if_tempfile_needed T
|
||||||
|
FLAC__metadata_chain_delete T
|
||||||
|
FLAC__metadata_chain_merge_padding T
|
||||||
|
FLAC__metadata_chain_new T
|
||||||
|
FLAC__metadata_chain_read T
|
||||||
|
FLAC__metadata_chain_read_ogg T
|
||||||
|
FLAC__metadata_chain_read_ogg_with_callbacks T
|
||||||
|
FLAC__metadata_chain_read_with_callbacks T
|
||||||
|
FLAC__metadata_chain_sort_padding T
|
||||||
|
FLAC__metadata_chain_status T
|
||||||
|
FLAC__metadata_chain_write T
|
||||||
|
FLAC__metadata_chain_write_with_callbacks T
|
||||||
|
FLAC__metadata_chain_write_with_callbacks_and_tempfile T
|
||||||
|
FLAC__metadata_get_cuesheet T
|
||||||
|
FLAC__metadata_get_picture T
|
||||||
|
FLAC__metadata_get_streaminfo T
|
||||||
|
FLAC__metadata_get_tags T
|
||||||
|
FLAC__metadata_iterator_delete T
|
||||||
|
FLAC__metadata_iterator_delete_block T
|
||||||
|
FLAC__metadata_iterator_get_block T
|
||||||
|
FLAC__metadata_iterator_get_block_type T
|
||||||
|
FLAC__metadata_iterator_init T
|
||||||
|
FLAC__metadata_iterator_insert_block_after T
|
||||||
|
FLAC__metadata_iterator_insert_block_before T
|
||||||
|
FLAC__metadata_iterator_new T
|
||||||
|
FLAC__metadata_iterator_next T
|
||||||
|
FLAC__metadata_iterator_prev T
|
||||||
|
FLAC__metadata_iterator_set_block T
|
||||||
|
FLAC__metadata_object_application_set_data T
|
||||||
|
FLAC__metadata_object_clone T
|
||||||
|
FLAC__metadata_object_cuesheet_calculate_cddb_id T
|
||||||
|
FLAC__metadata_object_cuesheet_delete_track T
|
||||||
|
FLAC__metadata_object_cuesheet_insert_blank_track T
|
||||||
|
FLAC__metadata_object_cuesheet_insert_track T
|
||||||
|
FLAC__metadata_object_cuesheet_is_legal T
|
||||||
|
FLAC__metadata_object_cuesheet_resize_tracks T
|
||||||
|
FLAC__metadata_object_cuesheet_set_track T
|
||||||
|
FLAC__metadata_object_cuesheet_track_clone T
|
||||||
|
FLAC__metadata_object_cuesheet_track_delete T
|
||||||
|
FLAC__metadata_object_cuesheet_track_delete_data T
|
||||||
|
FLAC__metadata_object_cuesheet_track_delete_index T
|
||||||
|
FLAC__metadata_object_cuesheet_track_insert_blank_index T
|
||||||
|
FLAC__metadata_object_cuesheet_track_insert_index T
|
||||||
|
FLAC__metadata_object_cuesheet_track_new T
|
||||||
|
FLAC__metadata_object_cuesheet_track_resize_indices T
|
||||||
|
FLAC__metadata_object_delete T
|
||||||
|
FLAC__metadata_object_delete_data T
|
||||||
|
FLAC__metadata_object_is_equal T
|
||||||
|
FLAC__metadata_object_new T
|
||||||
|
FLAC__metadata_object_picture_is_legal T
|
||||||
|
FLAC__metadata_object_picture_set_data T
|
||||||
|
FLAC__metadata_object_picture_set_description T
|
||||||
|
FLAC__metadata_object_picture_set_mime_type T
|
||||||
|
FLAC__metadata_object_seektable_delete_point T
|
||||||
|
FLAC__metadata_object_seektable_insert_point T
|
||||||
|
FLAC__metadata_object_seektable_is_legal T
|
||||||
|
FLAC__metadata_object_seektable_resize_points T
|
||||||
|
FLAC__metadata_object_seektable_set_point T
|
||||||
|
FLAC__metadata_object_seektable_template_append_placeholders T
|
||||||
|
FLAC__metadata_object_seektable_template_append_point T
|
||||||
|
FLAC__metadata_object_seektable_template_append_points T
|
||||||
|
FLAC__metadata_object_seektable_template_append_spaced_points T
|
||||||
|
FLAC__metadata_object_seektable_template_append_spaced_points_by_samples T
|
||||||
|
FLAC__metadata_object_seektable_template_sort T
|
||||||
|
FLAC__metadata_object_vorbiscomment_append_comment T
|
||||||
|
FLAC__metadata_object_vorbiscomment_delete_comment T
|
||||||
|
FLAC__metadata_object_vorbiscomment_entry_from_name_value_pair T
|
||||||
|
FLAC__metadata_object_vorbiscomment_entry_matches T
|
||||||
|
FLAC__metadata_object_vorbiscomment_entry_to_name_value_pair T
|
||||||
|
FLAC__metadata_object_vorbiscomment_find_entry_from T
|
||||||
|
FLAC__metadata_object_vorbiscomment_insert_comment T
|
||||||
|
FLAC__metadata_object_vorbiscomment_remove_entries_matching T
|
||||||
|
FLAC__metadata_object_vorbiscomment_remove_entry_matching T
|
||||||
|
FLAC__metadata_object_vorbiscomment_replace_comment T
|
||||||
|
FLAC__metadata_object_vorbiscomment_resize_comments T
|
||||||
|
FLAC__metadata_object_vorbiscomment_set_comment T
|
||||||
|
FLAC__metadata_object_vorbiscomment_set_vendor_string T
|
||||||
|
FLAC__metadata_simple_iterator_delete T
|
||||||
|
FLAC__metadata_simple_iterator_delete_block T
|
||||||
|
FLAC__metadata_simple_iterator_get_application_id T
|
||||||
|
FLAC__metadata_simple_iterator_get_block T
|
||||||
|
FLAC__metadata_simple_iterator_get_block_length T
|
||||||
|
FLAC__metadata_simple_iterator_get_block_offset T
|
||||||
|
FLAC__metadata_simple_iterator_get_block_type T
|
||||||
|
FLAC__metadata_simple_iterator_init T
|
||||||
|
FLAC__metadata_simple_iterator_insert_block_after T
|
||||||
|
FLAC__metadata_simple_iterator_is_last T
|
||||||
|
FLAC__metadata_simple_iterator_is_writable T
|
||||||
|
FLAC__metadata_simple_iterator_new T
|
||||||
|
FLAC__metadata_simple_iterator_next T
|
||||||
|
FLAC__metadata_simple_iterator_prev T
|
||||||
|
FLAC__metadata_simple_iterator_set_block T
|
||||||
|
FLAC__metadata_simple_iterator_status T
|
||||||
|
FLAC__ogg_decoder_aspect_finish T
|
||||||
|
FLAC__ogg_decoder_aspect_flush T
|
||||||
|
FLAC__ogg_decoder_aspect_init T
|
||||||
|
FLAC__ogg_decoder_aspect_read_callback_wrapper T
|
||||||
|
FLAC__ogg_decoder_aspect_reset T
|
||||||
|
FLAC__ogg_decoder_aspect_set_defaults T
|
||||||
|
FLAC__ogg_decoder_aspect_set_serial_number T
|
||||||
|
FLAC__ogg_encoder_aspect_finish T
|
||||||
|
FLAC__ogg_encoder_aspect_init T
|
||||||
|
FLAC__ogg_encoder_aspect_set_defaults T
|
||||||
|
FLAC__ogg_encoder_aspect_set_num_metadata T
|
||||||
|
FLAC__ogg_encoder_aspect_set_serial_number T
|
||||||
|
FLAC__ogg_encoder_aspect_write_callback_wrapper T
|
||||||
|
FLAC__stream_decoder_delete T
|
||||||
|
FLAC__stream_decoder_finish T
|
||||||
|
FLAC__stream_decoder_flush T
|
||||||
|
FLAC__stream_decoder_get_bits_per_sample T
|
||||||
|
FLAC__stream_decoder_get_blocksize T
|
||||||
|
FLAC__stream_decoder_get_channel_assignment T
|
||||||
|
FLAC__stream_decoder_get_channels T
|
||||||
|
FLAC__stream_decoder_get_decode_position T
|
||||||
|
FLAC__stream_decoder_get_input_bytes_unconsumed T
|
||||||
|
FLAC__stream_decoder_get_md5_checking T
|
||||||
|
FLAC__stream_decoder_get_resolved_state_string T
|
||||||
|
FLAC__stream_decoder_get_sample_rate T
|
||||||
|
FLAC__stream_decoder_get_state T
|
||||||
|
FLAC__stream_decoder_get_total_samples T
|
||||||
|
FLAC__stream_decoder_init_FILE T
|
||||||
|
FLAC__stream_decoder_init_file T
|
||||||
|
FLAC__stream_decoder_init_ogg_FILE T
|
||||||
|
FLAC__stream_decoder_init_ogg_file T
|
||||||
|
FLAC__stream_decoder_init_ogg_stream T
|
||||||
|
FLAC__stream_decoder_init_stream T
|
||||||
|
FLAC__stream_decoder_new T
|
||||||
|
FLAC__stream_decoder_process_single T
|
||||||
|
FLAC__stream_decoder_process_until_end_of_metadata T
|
||||||
|
FLAC__stream_decoder_process_until_end_of_stream T
|
||||||
|
FLAC__stream_decoder_reset T
|
||||||
|
FLAC__stream_decoder_seek_absolute T
|
||||||
|
FLAC__stream_decoder_set_md5_checking T
|
||||||
|
FLAC__stream_decoder_set_metadata_ignore T
|
||||||
|
FLAC__stream_decoder_set_metadata_ignore_all T
|
||||||
|
FLAC__stream_decoder_set_metadata_ignore_application T
|
||||||
|
FLAC__stream_decoder_set_metadata_respond T
|
||||||
|
FLAC__stream_decoder_set_metadata_respond_all T
|
||||||
|
FLAC__stream_decoder_set_metadata_respond_application T
|
||||||
|
FLAC__stream_decoder_set_ogg_serial_number T
|
||||||
|
FLAC__stream_decoder_skip_single_frame T
|
||||||
|
FLAC__stream_encoder_delete T
|
||||||
|
FLAC__stream_encoder_disable_constant_subframes T
|
||||||
|
FLAC__stream_encoder_disable_fixed_subframes T
|
||||||
|
FLAC__stream_encoder_disable_verbatim_subframes T
|
||||||
|
FLAC__stream_encoder_finish T
|
||||||
|
FLAC__stream_encoder_get_bits_per_sample T
|
||||||
|
FLAC__stream_encoder_get_blocksize T
|
||||||
|
FLAC__stream_encoder_get_channels T
|
||||||
|
FLAC__stream_encoder_get_do_escape_coding T
|
||||||
|
FLAC__stream_encoder_get_do_exhaustive_model_search T
|
||||||
|
FLAC__stream_encoder_get_do_md5 T
|
||||||
|
FLAC__stream_encoder_get_do_mid_side_stereo T
|
||||||
|
FLAC__stream_encoder_get_do_qlp_coeff_prec_search T
|
||||||
|
FLAC__stream_encoder_get_loose_mid_side_stereo T
|
||||||
|
FLAC__stream_encoder_get_max_lpc_order T
|
||||||
|
FLAC__stream_encoder_get_max_residual_partition_order T
|
||||||
|
FLAC__stream_encoder_get_min_residual_partition_order T
|
||||||
|
FLAC__stream_encoder_get_qlp_coeff_precision T
|
||||||
|
FLAC__stream_encoder_get_resolved_state_string T
|
||||||
|
FLAC__stream_encoder_get_rice_parameter_search_dist T
|
||||||
|
FLAC__stream_encoder_get_sample_rate T
|
||||||
|
FLAC__stream_encoder_get_state T
|
||||||
|
FLAC__stream_encoder_get_streamable_subset T
|
||||||
|
FLAC__stream_encoder_get_total_samples_estimate T
|
||||||
|
FLAC__stream_encoder_get_verify T
|
||||||
|
FLAC__stream_encoder_get_verify_decoder_error_stats T
|
||||||
|
FLAC__stream_encoder_get_verify_decoder_state T
|
||||||
|
FLAC__stream_encoder_init_FILE T
|
||||||
|
FLAC__stream_encoder_init_file T
|
||||||
|
FLAC__stream_encoder_init_ogg_FILE T
|
||||||
|
FLAC__stream_encoder_init_ogg_file T
|
||||||
|
FLAC__stream_encoder_init_ogg_stream T
|
||||||
|
FLAC__stream_encoder_init_stream T
|
||||||
|
FLAC__stream_encoder_new T
|
||||||
|
FLAC__stream_encoder_process T
|
||||||
|
FLAC__stream_encoder_process_interleaved T
|
||||||
|
FLAC__stream_encoder_set_apodization T
|
||||||
|
FLAC__stream_encoder_set_bits_per_sample T
|
||||||
|
FLAC__stream_encoder_set_blocksize T
|
||||||
|
FLAC__stream_encoder_set_channels T
|
||||||
|
FLAC__stream_encoder_set_compression_level T
|
||||||
|
FLAC__stream_encoder_set_do_escape_coding T
|
||||||
|
FLAC__stream_encoder_set_do_exhaustive_model_search T
|
||||||
|
FLAC__stream_encoder_set_do_md5 T
|
||||||
|
FLAC__stream_encoder_set_do_mid_side_stereo T
|
||||||
|
FLAC__stream_encoder_set_do_qlp_coeff_prec_search T
|
||||||
|
FLAC__stream_encoder_set_loose_mid_side_stereo T
|
||||||
|
FLAC__stream_encoder_set_max_lpc_order T
|
||||||
|
FLAC__stream_encoder_set_max_residual_partition_order T
|
||||||
|
FLAC__stream_encoder_set_metadata T
|
||||||
|
FLAC__stream_encoder_set_min_residual_partition_order T
|
||||||
|
FLAC__stream_encoder_set_ogg_serial_number T
|
||||||
|
FLAC__stream_encoder_set_qlp_coeff_precision T
|
||||||
|
FLAC__stream_encoder_set_rice_parameter_search_dist T
|
||||||
|
FLAC__stream_encoder_set_sample_rate T
|
||||||
|
FLAC__stream_encoder_set_streamable_subset T
|
||||||
|
FLAC__stream_encoder_set_total_samples_estimate T
|
||||||
|
FLAC__stream_encoder_set_verify T
|
||||||
|
FLAC__subframe_add_constant T
|
||||||
|
FLAC__subframe_add_fixed T
|
||||||
|
FLAC__subframe_add_lpc T
|
||||||
|
FLAC__subframe_add_verbatim T
|
||||||
|
FLAC__window_bartlett T
|
||||||
|
FLAC__window_bartlett_hann T
|
||||||
|
FLAC__window_blackman T
|
||||||
|
FLAC__window_blackman_harris_4term_92db_sidelobe T
|
||||||
|
FLAC__window_connes T
|
||||||
|
FLAC__window_flattop T
|
||||||
|
FLAC__window_gauss T
|
||||||
|
FLAC__window_hamming T
|
||||||
|
FLAC__window_hann T
|
||||||
|
FLAC__window_kaiser_bessel T
|
||||||
|
FLAC__window_nuttall T
|
||||||
|
FLAC__window_partial_tukey T
|
||||||
|
FLAC__window_punchout_tukey T
|
||||||
|
FLAC__window_rectangle T
|
||||||
|
FLAC__window_triangle T
|
||||||
|
FLAC__window_tukey T
|
||||||
|
FLAC__window_welch T
|
||||||
71
lib/symbols/libogg
Normal file
71
lib/symbols/libogg
Normal file
@@ -0,0 +1,71 @@
|
|||||||
|
ogg_packet_clear T
|
||||||
|
ogg_page_bos T
|
||||||
|
ogg_page_checksum_set T
|
||||||
|
ogg_page_continued T
|
||||||
|
ogg_page_eos T
|
||||||
|
ogg_page_granulepos T
|
||||||
|
ogg_page_packets T
|
||||||
|
ogg_page_pageno T
|
||||||
|
ogg_page_serialno T
|
||||||
|
ogg_page_version T
|
||||||
|
ogg_stream_check T
|
||||||
|
ogg_stream_clear T
|
||||||
|
ogg_stream_destroy T
|
||||||
|
ogg_stream_eos T
|
||||||
|
ogg_stream_flush T
|
||||||
|
ogg_stream_flush_fill T
|
||||||
|
ogg_stream_init T
|
||||||
|
ogg_stream_iovecin T
|
||||||
|
ogg_stream_packetin T
|
||||||
|
ogg_stream_packetout T
|
||||||
|
ogg_stream_packetpeek T
|
||||||
|
ogg_stream_pagein T
|
||||||
|
ogg_stream_pageout T
|
||||||
|
ogg_stream_pageout_fill T
|
||||||
|
ogg_stream_reset T
|
||||||
|
ogg_stream_reset_serialno T
|
||||||
|
ogg_sync_buffer T
|
||||||
|
ogg_sync_check T
|
||||||
|
ogg_sync_clear T
|
||||||
|
ogg_sync_destroy T
|
||||||
|
ogg_sync_init T
|
||||||
|
ogg_sync_pageout T
|
||||||
|
ogg_sync_pageseek T
|
||||||
|
ogg_sync_reset T
|
||||||
|
ogg_sync_wrote T
|
||||||
|
oggpackB_adv T
|
||||||
|
oggpackB_adv1 T
|
||||||
|
oggpackB_bits T
|
||||||
|
oggpackB_bytes T
|
||||||
|
oggpackB_get_buffer T
|
||||||
|
oggpackB_look T
|
||||||
|
oggpackB_look1 T
|
||||||
|
oggpackB_read T
|
||||||
|
oggpackB_read1 T
|
||||||
|
oggpackB_readinit T
|
||||||
|
oggpackB_reset T
|
||||||
|
oggpackB_write T
|
||||||
|
oggpackB_writealign T
|
||||||
|
oggpackB_writecheck T
|
||||||
|
oggpackB_writeclear T
|
||||||
|
oggpackB_writecopy T
|
||||||
|
oggpackB_writeinit T
|
||||||
|
oggpackB_writetrunc T
|
||||||
|
oggpack_adv T
|
||||||
|
oggpack_adv1 T
|
||||||
|
oggpack_bits T
|
||||||
|
oggpack_bytes T
|
||||||
|
oggpack_get_buffer T
|
||||||
|
oggpack_look T
|
||||||
|
oggpack_look1 T
|
||||||
|
oggpack_read T
|
||||||
|
oggpack_read1 T
|
||||||
|
oggpack_readinit T
|
||||||
|
oggpack_reset T
|
||||||
|
oggpack_write T
|
||||||
|
oggpack_writealign T
|
||||||
|
oggpack_writecheck T
|
||||||
|
oggpack_writeclear T
|
||||||
|
oggpack_writecopy T
|
||||||
|
oggpack_writeinit T
|
||||||
|
oggpack_writetrunc T
|
||||||
316
lib/symbols/libsndfile
Normal file
316
lib/symbols/libsndfile
Normal file
@@ -0,0 +1,316 @@
|
|||||||
|
BitBufferAdvance T
|
||||||
|
BitBufferByteAlign T
|
||||||
|
BitBufferGetPosition T
|
||||||
|
BitBufferInit T
|
||||||
|
BitBufferPeek T
|
||||||
|
BitBufferPeekOne T
|
||||||
|
BitBufferRead T
|
||||||
|
BitBufferReadOne T
|
||||||
|
BitBufferReadSmall T
|
||||||
|
BitBufferReset T
|
||||||
|
BitBufferRewind T
|
||||||
|
BitBufferUnpackBERSize T
|
||||||
|
BitBufferWrite T
|
||||||
|
Gsm_Coder T
|
||||||
|
Gsm_Decoder T
|
||||||
|
Gsm_LPC_Analysis T
|
||||||
|
Gsm_Long_Term_Predictor T
|
||||||
|
Gsm_Long_Term_Synthesis_Filtering T
|
||||||
|
Gsm_Preprocess T
|
||||||
|
Gsm_RPE_Decoding T
|
||||||
|
Gsm_RPE_Encoding T
|
||||||
|
Gsm_Short_Term_Analysis_Filter T
|
||||||
|
Gsm_Short_Term_Synthesis_Filter T
|
||||||
|
adpcm_decode T
|
||||||
|
adpcm_encode T
|
||||||
|
aiff_caf_find_channel_layout_tag T
|
||||||
|
aiff_caf_of_channel_layout_tag T
|
||||||
|
aiff_ima_init T
|
||||||
|
aiff_open T
|
||||||
|
alac_decode T
|
||||||
|
alac_decoder_init T
|
||||||
|
alac_encode T
|
||||||
|
alac_encoder_init T
|
||||||
|
alac_get_desc_chunk_items T
|
||||||
|
alac_get_magic_cookie T
|
||||||
|
alac_get_magic_cookie_size T
|
||||||
|
alac_get_source_format T
|
||||||
|
alac_init T
|
||||||
|
alac_set_fastmode T
|
||||||
|
alaw_init T
|
||||||
|
append_snprintf T
|
||||||
|
au_open T
|
||||||
|
audio_detect T
|
||||||
|
avr_open T
|
||||||
|
broadcast_var_alloc T
|
||||||
|
broadcast_var_get T
|
||||||
|
broadcast_var_set T
|
||||||
|
caf_open T
|
||||||
|
cart_var_alloc T
|
||||||
|
cart_var_get T
|
||||||
|
cart_var_set T
|
||||||
|
copyPredictorTo20 T
|
||||||
|
copyPredictorTo24 T
|
||||||
|
copyPredictorTo24Shift T
|
||||||
|
copyPredictorTo32 T
|
||||||
|
copyPredictorTo32Shift T
|
||||||
|
copy_coefs T
|
||||||
|
dither_init T
|
||||||
|
double64_be_read T
|
||||||
|
double64_be_write T
|
||||||
|
double64_init T
|
||||||
|
double64_le_read T
|
||||||
|
double64_le_write T
|
||||||
|
dwd_open T
|
||||||
|
dwvw_init T
|
||||||
|
dyn_comp T
|
||||||
|
dyn_decomp T
|
||||||
|
flac_init T
|
||||||
|
flac_open T
|
||||||
|
float32_be_read T
|
||||||
|
float32_be_write T
|
||||||
|
float32_init T
|
||||||
|
float32_le_read T
|
||||||
|
float32_le_write T
|
||||||
|
g721_decoder T
|
||||||
|
g721_encoder T
|
||||||
|
g723_16_decoder T
|
||||||
|
g723_16_encoder T
|
||||||
|
g723_24_decoder T
|
||||||
|
g723_24_encoder T
|
||||||
|
g723_40_decoder T
|
||||||
|
g723_40_encoder T
|
||||||
|
g72x_decode_block T
|
||||||
|
g72x_encode_block T
|
||||||
|
g72x_init T
|
||||||
|
g72x_reader_init T
|
||||||
|
g72x_writer_init T
|
||||||
|
gsm610_init T
|
||||||
|
gsm_A D 16
|
||||||
|
gsm_B D 16
|
||||||
|
gsm_DLB D 8
|
||||||
|
gsm_FAC D 16
|
||||||
|
gsm_H D 22
|
||||||
|
gsm_INVA D 16
|
||||||
|
gsm_L_add T
|
||||||
|
gsm_L_asl T
|
||||||
|
gsm_L_asr T
|
||||||
|
gsm_L_mult T
|
||||||
|
gsm_L_sub T
|
||||||
|
gsm_MAC D 16
|
||||||
|
gsm_MIC D 16
|
||||||
|
gsm_NRFAC D 16
|
||||||
|
gsm_QLB D 8
|
||||||
|
gsm_abs T
|
||||||
|
gsm_add T
|
||||||
|
gsm_asl T
|
||||||
|
gsm_asr T
|
||||||
|
gsm_create T
|
||||||
|
gsm_decode T
|
||||||
|
gsm_destroy T
|
||||||
|
gsm_div T
|
||||||
|
gsm_encode T
|
||||||
|
gsm_init T
|
||||||
|
gsm_mult T
|
||||||
|
gsm_mult_r T
|
||||||
|
gsm_norm T
|
||||||
|
gsm_option T
|
||||||
|
gsm_sub T
|
||||||
|
htk_open T
|
||||||
|
id3_skip T
|
||||||
|
ima_oki_adpcm_decode_block T
|
||||||
|
ima_oki_adpcm_encode_block T
|
||||||
|
ima_oki_adpcm_init T
|
||||||
|
init_coefs T
|
||||||
|
interleave_init T
|
||||||
|
ircam_open T
|
||||||
|
kALACEncoderMagic R 4
|
||||||
|
kDefaultMixBits R 4
|
||||||
|
kDefaultMixRes R 4
|
||||||
|
kDefaultNumUV R 4
|
||||||
|
kMaxBitDepth R 4
|
||||||
|
kMaxRes R 4
|
||||||
|
kMaxSampleSize R 4
|
||||||
|
kMaxUV R 4
|
||||||
|
kMinUV R 4
|
||||||
|
macos_guess_file_type T
|
||||||
|
mat4_open T
|
||||||
|
mat5_open T
|
||||||
|
mix16 T
|
||||||
|
mix20 T
|
||||||
|
mix24 T
|
||||||
|
mix32 T
|
||||||
|
mpc2k_open T
|
||||||
|
nist_open T
|
||||||
|
ogg_open T
|
||||||
|
ogg_opus_open T
|
||||||
|
ogg_pcm_open T
|
||||||
|
ogg_speex_open T
|
||||||
|
ogg_vorbis_open T
|
||||||
|
paf_open T
|
||||||
|
pc_block T
|
||||||
|
pcm_init T
|
||||||
|
predictor_pole T
|
||||||
|
predictor_zero T
|
||||||
|
private_init_state T
|
||||||
|
psf_allocate T
|
||||||
|
psf_asciiheader_printf T
|
||||||
|
psf_binheader_readf T
|
||||||
|
psf_binheader_writef T
|
||||||
|
psf_calc_max_all_channels T
|
||||||
|
psf_calc_signal_max T
|
||||||
|
psf_close_rsrc T
|
||||||
|
psf_cues_alloc T
|
||||||
|
psf_cues_dup T
|
||||||
|
psf_d2i_array T
|
||||||
|
psf_d2i_clip_array T
|
||||||
|
psf_d2s_array T
|
||||||
|
psf_d2s_clip_array T
|
||||||
|
psf_decode_frame_count T
|
||||||
|
psf_default_seek T
|
||||||
|
psf_f2i_array T
|
||||||
|
psf_f2i_clip_array T
|
||||||
|
psf_f2s_array T
|
||||||
|
psf_f2s_clip_array T
|
||||||
|
psf_fclose T
|
||||||
|
psf_fgets T
|
||||||
|
psf_file_valid T
|
||||||
|
psf_find_read_chunk_iterator T
|
||||||
|
psf_find_read_chunk_m32 T
|
||||||
|
psf_find_read_chunk_str T
|
||||||
|
psf_fopen T
|
||||||
|
psf_fread T
|
||||||
|
psf_fseek T
|
||||||
|
psf_fsync T
|
||||||
|
psf_ftell T
|
||||||
|
psf_ftruncate T
|
||||||
|
psf_fwrite T
|
||||||
|
psf_get_chunk_iterator T
|
||||||
|
psf_get_cues T
|
||||||
|
psf_get_date_str T
|
||||||
|
psf_get_filelen T
|
||||||
|
psf_get_format_info T
|
||||||
|
psf_get_format_major T
|
||||||
|
psf_get_format_major_count T
|
||||||
|
psf_get_format_simple T
|
||||||
|
psf_get_format_simple_count T
|
||||||
|
psf_get_format_subtype T
|
||||||
|
psf_get_format_subtype_count T
|
||||||
|
psf_get_max_all_channels T
|
||||||
|
psf_get_signal_max T
|
||||||
|
psf_get_string T
|
||||||
|
psf_hexdump T
|
||||||
|
psf_init_files T
|
||||||
|
psf_instrument_alloc T
|
||||||
|
psf_is_pipe T
|
||||||
|
psf_location_string_count T
|
||||||
|
psf_log_SF_INFO T
|
||||||
|
psf_log_printf T
|
||||||
|
psf_memset T
|
||||||
|
psf_next_chunk_iterator T
|
||||||
|
psf_open_file T
|
||||||
|
psf_open_rsrc T
|
||||||
|
psf_open_tmpfile T
|
||||||
|
psf_rand_int32 T
|
||||||
|
psf_sanitize_string T
|
||||||
|
psf_save_write_chunk T
|
||||||
|
psf_set_file T
|
||||||
|
psf_set_stdio T
|
||||||
|
psf_set_string T
|
||||||
|
psf_store_read_chunk_str T
|
||||||
|
psf_store_read_chunk_u32 T
|
||||||
|
psf_store_string T
|
||||||
|
psf_strlcpy_crlf T
|
||||||
|
psf_use_rsrc T
|
||||||
|
pvf_open T
|
||||||
|
quantize T
|
||||||
|
raw_open T
|
||||||
|
reconstruct T
|
||||||
|
rf64_open T
|
||||||
|
rx2_open T
|
||||||
|
s_bitwidth_to_subformat T
|
||||||
|
sd2_open T
|
||||||
|
sds_open T
|
||||||
|
set_ag_params T
|
||||||
|
set_standard_ag_params T
|
||||||
|
sf_close T
|
||||||
|
sf_command T
|
||||||
|
sf_current_byterate T
|
||||||
|
sf_errno B 4
|
||||||
|
sf_error T
|
||||||
|
sf_error_number T
|
||||||
|
sf_error_str T
|
||||||
|
sf_format_check T
|
||||||
|
sf_get_chunk_data T
|
||||||
|
sf_get_chunk_iterator T
|
||||||
|
sf_get_chunk_size T
|
||||||
|
sf_get_string T
|
||||||
|
sf_next_chunk_iterator T
|
||||||
|
sf_open T
|
||||||
|
sf_open_fd T
|
||||||
|
sf_open_virtual T
|
||||||
|
sf_perror T
|
||||||
|
sf_read_double T
|
||||||
|
sf_read_float T
|
||||||
|
sf_read_int T
|
||||||
|
sf_read_raw T
|
||||||
|
sf_read_short T
|
||||||
|
sf_readf_double T
|
||||||
|
sf_readf_float T
|
||||||
|
sf_readf_int T
|
||||||
|
sf_readf_short T
|
||||||
|
sf_seek T
|
||||||
|
sf_set_chunk T
|
||||||
|
sf_set_string T
|
||||||
|
sf_strerror T
|
||||||
|
sf_version_string T
|
||||||
|
sf_write_double T
|
||||||
|
sf_write_float T
|
||||||
|
sf_write_int T
|
||||||
|
sf_write_raw T
|
||||||
|
sf_write_short T
|
||||||
|
sf_write_sync T
|
||||||
|
sf_writef_double T
|
||||||
|
sf_writef_float T
|
||||||
|
sf_writef_int T
|
||||||
|
sf_writef_short T
|
||||||
|
step_size T
|
||||||
|
str_of_endianness T
|
||||||
|
str_of_major_format T
|
||||||
|
str_of_minor_format T
|
||||||
|
str_of_open_mode T
|
||||||
|
subformat_to_bytewidth T
|
||||||
|
svx_open T
|
||||||
|
txw_open T
|
||||||
|
u_bitwidth_to_subformat T
|
||||||
|
ulaw_init T
|
||||||
|
unmix16 T
|
||||||
|
unmix20 T
|
||||||
|
unmix24 T
|
||||||
|
unmix32 T
|
||||||
|
unpc_block T
|
||||||
|
update T
|
||||||
|
voc_open T
|
||||||
|
vox_adpcm_init T
|
||||||
|
w64_open T
|
||||||
|
wav_open T
|
||||||
|
wavlike_analyze T
|
||||||
|
wavlike_format_str T
|
||||||
|
wavlike_gen_channel_mask T
|
||||||
|
wavlike_ima_init T
|
||||||
|
wavlike_msadpcm_init T
|
||||||
|
wavlike_msadpcm_write_adapt_coeffs T
|
||||||
|
wavlike_read_bext_chunk T
|
||||||
|
wavlike_read_cart_chunk T
|
||||||
|
wavlike_read_fmt_chunk T
|
||||||
|
wavlike_read_peak_chunk T
|
||||||
|
wavlike_srate2blocksize T
|
||||||
|
wavlike_subchunk_parse T
|
||||||
|
wavlike_write_bext_chunk T
|
||||||
|
wavlike_write_cart_chunk T
|
||||||
|
wavlike_write_custom_chunks T
|
||||||
|
wavlike_write_guid T
|
||||||
|
wavlike_write_peak_chunk T
|
||||||
|
wavlike_write_strings T
|
||||||
|
wve_open T
|
||||||
|
xi_open T
|
||||||
131
lib/symbols/libvorbis
Normal file
131
lib/symbols/libvorbis
Normal file
@@ -0,0 +1,131 @@
|
|||||||
|
drft_backward T
|
||||||
|
drft_clear T
|
||||||
|
drft_forward T
|
||||||
|
drft_init T
|
||||||
|
floor0_exportbundle D 56
|
||||||
|
floor1_encode T
|
||||||
|
floor1_exportbundle D 56
|
||||||
|
floor1_fit T
|
||||||
|
floor1_interpolate_fit T
|
||||||
|
main T
|
||||||
|
mapping0_exportbundle D 40
|
||||||
|
mdct_backward T
|
||||||
|
mdct_clear T
|
||||||
|
mdct_forward T
|
||||||
|
mdct_init T
|
||||||
|
ov_bitrate T
|
||||||
|
ov_bitrate_instant T
|
||||||
|
ov_clear T
|
||||||
|
ov_comment T
|
||||||
|
ov_crosslap T
|
||||||
|
ov_fopen T
|
||||||
|
ov_halfrate T
|
||||||
|
ov_halfrate_p T
|
||||||
|
ov_ilog T
|
||||||
|
ov_info T
|
||||||
|
ov_open T
|
||||||
|
ov_open_callbacks T
|
||||||
|
ov_pcm_seek T
|
||||||
|
ov_pcm_seek_lap T
|
||||||
|
ov_pcm_seek_page T
|
||||||
|
ov_pcm_seek_page_lap T
|
||||||
|
ov_pcm_tell T
|
||||||
|
ov_pcm_total T
|
||||||
|
ov_raw_seek T
|
||||||
|
ov_raw_seek_lap T
|
||||||
|
ov_raw_tell T
|
||||||
|
ov_raw_total T
|
||||||
|
ov_read T
|
||||||
|
ov_read_filter T
|
||||||
|
ov_read_float T
|
||||||
|
ov_seekable T
|
||||||
|
ov_serialnumber T
|
||||||
|
ov_streams T
|
||||||
|
ov_test T
|
||||||
|
ov_test_callbacks T
|
||||||
|
ov_test_open T
|
||||||
|
ov_time_seek T
|
||||||
|
ov_time_seek_lap T
|
||||||
|
ov_time_seek_page T
|
||||||
|
ov_time_seek_page_lap T
|
||||||
|
ov_time_tell T
|
||||||
|
ov_time_total T
|
||||||
|
res0_free_info T
|
||||||
|
res0_free_look T
|
||||||
|
res0_inverse T
|
||||||
|
res0_look T
|
||||||
|
res0_pack T
|
||||||
|
res0_unpack T
|
||||||
|
res1_class T
|
||||||
|
res1_forward T
|
||||||
|
res1_inverse T
|
||||||
|
res2_class T
|
||||||
|
res2_forward T
|
||||||
|
res2_inverse T
|
||||||
|
residue0_exportbundle D 64
|
||||||
|
residue1_exportbundle D 64
|
||||||
|
residue2_exportbundle D 64
|
||||||
|
vorbis_analysis T
|
||||||
|
vorbis_analysis_blockout T
|
||||||
|
vorbis_analysis_buffer T
|
||||||
|
vorbis_analysis_headerout T
|
||||||
|
vorbis_analysis_init T
|
||||||
|
vorbis_analysis_wrote T
|
||||||
|
vorbis_bitrate_addblock T
|
||||||
|
vorbis_bitrate_clear T
|
||||||
|
vorbis_bitrate_flushpacket T
|
||||||
|
vorbis_bitrate_init T
|
||||||
|
vorbis_bitrate_managed T
|
||||||
|
vorbis_block_clear T
|
||||||
|
vorbis_block_init T
|
||||||
|
vorbis_book_clear T
|
||||||
|
vorbis_book_codelen T
|
||||||
|
vorbis_book_codeword T
|
||||||
|
vorbis_book_decode T
|
||||||
|
vorbis_book_decodev_add T
|
||||||
|
vorbis_book_decodev_set T
|
||||||
|
vorbis_book_decodevs_add T
|
||||||
|
vorbis_book_decodevv_add T
|
||||||
|
vorbis_book_encode T
|
||||||
|
vorbis_book_init_decode T
|
||||||
|
vorbis_book_init_encode T
|
||||||
|
vorbis_comment_add T
|
||||||
|
vorbis_comment_add_tag T
|
||||||
|
vorbis_comment_clear T
|
||||||
|
vorbis_comment_init T
|
||||||
|
vorbis_comment_query T
|
||||||
|
vorbis_comment_query_count T
|
||||||
|
vorbis_commentheader_out T
|
||||||
|
vorbis_dsp_clear T
|
||||||
|
vorbis_encode_ctl T
|
||||||
|
vorbis_encode_init T
|
||||||
|
vorbis_encode_init_vbr T
|
||||||
|
vorbis_encode_setup_init T
|
||||||
|
vorbis_encode_setup_managed T
|
||||||
|
vorbis_encode_setup_vbr T
|
||||||
|
vorbis_granule_time T
|
||||||
|
vorbis_info_blocksize T
|
||||||
|
vorbis_info_clear T
|
||||||
|
vorbis_info_init T
|
||||||
|
vorbis_lpc_from_data T
|
||||||
|
vorbis_lpc_predict T
|
||||||
|
vorbis_lpc_to_lsp T
|
||||||
|
vorbis_lsp_to_curve T
|
||||||
|
vorbis_packet_blocksize T
|
||||||
|
vorbis_staticbook_destroy T
|
||||||
|
vorbis_staticbook_pack T
|
||||||
|
vorbis_staticbook_unpack T
|
||||||
|
vorbis_synthesis T
|
||||||
|
vorbis_synthesis_blockin T
|
||||||
|
vorbis_synthesis_halfrate T
|
||||||
|
vorbis_synthesis_halfrate_p T
|
||||||
|
vorbis_synthesis_headerin T
|
||||||
|
vorbis_synthesis_idheader T
|
||||||
|
vorbis_synthesis_init T
|
||||||
|
vorbis_synthesis_lapout T
|
||||||
|
vorbis_synthesis_pcmout T
|
||||||
|
vorbis_synthesis_read T
|
||||||
|
vorbis_synthesis_restart T
|
||||||
|
vorbis_synthesis_trackonly T
|
||||||
|
vorbis_version_string T
|
||||||
|
vorbis_window T
|
||||||
@@ -1 +1 @@
|
|||||||
2102b7a4b8ff35eaf1274de9c8f483842df06307
|
baa912c712440e4b793e92bef50c190af77bbbda
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
LICENSE := GPL2
|
LICENSE := GPL2
|
||||||
VERSION := 1.3.5.2
|
VERSION := 1.4.0.0
|
||||||
DOWNLOADS := chuck.archive
|
DOWNLOADS := chuck.archive
|
||||||
|
|
||||||
#
|
#
|
||||||
@@ -8,28 +8,26 @@ DOWNLOADS := chuck.archive
|
|||||||
$(call check_tool,lex)
|
$(call check_tool,lex)
|
||||||
$(call check_tool,bison)
|
$(call check_tool,bison)
|
||||||
|
|
||||||
OWNER := ccrma
|
URL(chuck) := http://chuck.cs.princeton.edu/release/files/chuck-$(VERSION).tgz
|
||||||
REPO := chuck
|
SHA(chuck) := 2caee332b8d48e2fddad0f8a0a1811b6cf4c5afab73ae8a17b85ec759cce27ac
|
||||||
REV := 53f99be5498c6b1deb59aa2c223e75326820a30b
|
|
||||||
URL(chuck) := https://github.com/$(OWNER)/$(REPO)/archive/$(REV).tar.gz
|
|
||||||
SHA(chuck) := 6b47779bb8c800261b7dac0e80302e96f9c9fc42
|
|
||||||
DIR(chuck) := src/app/chuck
|
DIR(chuck) := src/app/chuck
|
||||||
|
|
||||||
DIRS := include/chuck
|
PATCHES := $(wildcard $(REP_DIR)/src/app/chuck/*.patch)
|
||||||
DIR_CONTENT(include/chuck) := src/app/chuck/src/*.h
|
|
||||||
|
|
||||||
PATCHES := src/app/chuck/patch
|
|
||||||
PATCH_OPT := -p1 -d src/app/chuck
|
PATCH_OPT := -p1 -d src/app/chuck
|
||||||
|
|
||||||
CHUCK_TAB = src/app/chuck/src/chuck.tab.c src/app/chuck/src/chuck.tab.h
|
CHUCK_TAB = src/app/chuck/src/core/chuck.tab.c src/app/chuck/src/core/chuck.tab.h
|
||||||
|
|
||||||
_dirs: $(DOWNLOADS) $(CHUCK_TAB) src/app/chuck/src/chuck.yy.c
|
_dirs: $(DOWNLOADS) $(CHUCK_TAB) src/app/chuck/src/core/chuck.yy.c src/app/chuck/src/host/RtAudio.deleted
|
||||||
$(VERBOSE) find src/app/chuck -name RtAudio.h -delete
|
|
||||||
|
|
||||||
$(CHUCK_TAB): src/app/chuck/src/chuck.y $(DOWNLOADS)
|
src/app/chuck/src/host/RtAudio.deleted: src/app/chuck/src/host/RtAudio
|
||||||
|
$(VERBOSE)rm -r $<
|
||||||
|
|
||||||
|
.PHONEY: src/app/chuck/src/host/RtAudio.deleted
|
||||||
|
|
||||||
|
$(CHUCK_TAB): src/app/chuck/src/core/chuck.y $(DOWNLOADS)
|
||||||
@$(MSG_GENERATE)$(notdir $@)
|
@$(MSG_GENERATE)$(notdir $@)
|
||||||
$(VERBOSE)$(YACC) -dv -b src/app/chuck/src/chuck $<
|
$(VERBOSE)$(YACC) -dv -b src/app/chuck/src/core/chuck $<
|
||||||
|
|
||||||
src/app/chuck/src/chuck.yy.c: src/app/chuck/src/chuck.lex $(DOWNLOADS)
|
src/app/chuck/src/core/chuck.yy.c: src/app/chuck/src/core/chuck.lex $(DOWNLOADS)
|
||||||
@$(MSG_GENERATE)$(notdir $@)
|
@$(MSG_GENERATE)$(notdir $@)
|
||||||
$(VERBOSE)$(LEX) -o$@ $<
|
$(VERBOSE)$(LEX) -o$@ $<
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
f8f110544e8b8be4d96cca156292d7719fa9baf1
|
e79363a242a5a5d2d2804cab68af905f387cfa8d
|
||||||
|
|||||||
@@ -1,9 +1,11 @@
|
|||||||
LICENSE := BSD
|
LICENSE := BSD
|
||||||
VERSION := 1.3.1
|
VERSION := 1.3.2
|
||||||
DOWNLOADS := flac.archive
|
DOWNLOADS := flac.archive
|
||||||
|
|
||||||
|
# See https://downloads.xiph.org/releases/flac/SHA256SUMS.txt
|
||||||
|
|
||||||
URL(flac) := http://downloads.xiph.org/releases/flac/flac-$(VERSION).tar.xz
|
URL(flac) := http://downloads.xiph.org/releases/flac/flac-$(VERSION).tar.xz
|
||||||
SHA(flac) := 38e17439d11be26207e4af0ff50973815694b26f
|
SHA(flac) := 91cfc3ed61dc40f47f050a109b08610667d73477af6ef36dcad31c31a4a8d53f
|
||||||
DIR(flac) := src/lib/flac
|
DIR(flac) := src/lib/flac
|
||||||
|
|
||||||
DIRS := include/FLAC include/FLAC++
|
DIRS := include/FLAC include/FLAC++
|
||||||
@@ -15,7 +17,7 @@ _dirs: src/lib/flac/include/config.h
|
|||||||
src/lib/flac/include/config.h: src/lib/flac/config.h.in
|
src/lib/flac/include/config.h: src/lib/flac/config.h.in
|
||||||
@$(MSG_GENERATE)$@
|
@$(MSG_GENERATE)$@
|
||||||
$(VERBOSE) sed \
|
$(VERBOSE) sed \
|
||||||
-e 's/#undef VERSION/#define VERSION "$(VERSION)"/'\
|
-e 's/#undef PACKAGE_VERSION/#define PACKAGE_VERSION "$(VERSION)"/'\
|
||||||
-e 's/#undef FLAC__HAS_OGG/#define FLAC__HAS_OGG 1/' \
|
-e 's/#undef FLAC__HAS_OGG/#define FLAC__HAS_OGG 1/' \
|
||||||
-e 's/#undef HAVE_LROUND/#define HAVE_LROUND 1/' \
|
-e 's/#undef HAVE_LROUND/#define HAVE_LROUND 1/' \
|
||||||
$< > $@
|
$< > $@
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
f1d81edaaa6fcb01a431a90eabcce701cc1be936
|
56dfde15670bf5fb834e579a0a005afd0d05b83c
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ VERSION := 0.28
|
|||||||
DOWNLOADS := liblo.archive
|
DOWNLOADS := liblo.archive
|
||||||
|
|
||||||
URL(liblo) := http://downloads.sourceforge.net/liblo/liblo-$(VERSION).tar.gz
|
URL(liblo) := http://downloads.sourceforge.net/liblo/liblo-$(VERSION).tar.gz
|
||||||
SHA(liblo) := 949d5f0c9919741c67602514786b9c7366fa001b
|
SHA(liblo) := da94a9b67b93625354dd89ff7fe31e5297fc9400b6eaf7378c82ee1caf7db909
|
||||||
DIR(liblo) := src/lib/liblo
|
DIR(liblo) := src/lib/liblo
|
||||||
|
|
||||||
DIRS := include/lo
|
DIRS := include/lo
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
99b7247b4569173f8dc2847bbbb83289f023cfc4
|
e94cd0e5e6edde8033bbe849610a4a95fb7a173d
|
||||||
|
|||||||
@@ -1,9 +1,11 @@
|
|||||||
LICENSE := BSD
|
LICENSE := BSD
|
||||||
VERSION := 1.3.2
|
VERSION := 1.3.3
|
||||||
DOWNLOADS := libogg.archive
|
DOWNLOADS := libogg.archive
|
||||||
|
|
||||||
|
# See https://ftp.osuosl.org/pub/xiph/releases/ogg/SHA256SUMS
|
||||||
|
|
||||||
URL(libogg) := http://downloads.xiph.org/releases/ogg/libogg-$(VERSION).tar.xz
|
URL(libogg) := http://downloads.xiph.org/releases/ogg/libogg-$(VERSION).tar.xz
|
||||||
SHA(libogg) := 5e525ec6a4135066932935c01d2c309ea5009f8d
|
SHA(libogg) := 4f3fc6178a533d392064f14776b23c397ed4b9f48f5de297aba73b643f955c08
|
||||||
DIR(libogg) := src/lib/libogg
|
DIR(libogg) := src/lib/libogg
|
||||||
|
|
||||||
DIRS := include/ogg
|
DIRS := include/ogg
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
41341b932e218ac50339c0c840644f8d6d2f7a18
|
de35e4850d1528e2673f9d6ed9cfae4d999038f2
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
LICENSE := GPLv3
|
LICENSE := GPLv3
|
||||||
VERSION := 1.0.27
|
VERSION := 1.0.28
|
||||||
DOWNLOADS := libsndfile.archive
|
DOWNLOADS := libsndfile.archive
|
||||||
|
|
||||||
URL(libsndfile) := http://www.mega-nerd.com/libsndfile/files/libsndfile-$(VERSION).tar.gz
|
URL(libsndfile) := http://www.mega-nerd.com/libsndfile/files/libsndfile-$(VERSION).tar.gz
|
||||||
SHA(libsndfile) := e112d4937352d1722b06911b00c79e9bce15095c
|
SHA(libsndfile) := 1ff33929f042fa333aed1e8923aa628c3ee9e1eb85512686c55092d1e5a9dfa9
|
||||||
DIR(libsndfile) := src/lib/libsndfile
|
DIR(libsndfile) := src/lib/libsndfile
|
||||||
|
|
||||||
_dirs: include/libsndfile/sndfile.h
|
_dirs: include/libsndfile/sndfile.h
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
9354f741ddf0b93b54018effcd97bbe075cc0c50
|
d98c3a4755eeb23d6b53a1bebea1fb168cfb586e
|
||||||
|
|||||||
@@ -1,9 +1,11 @@
|
|||||||
LICENSE := BSD
|
LICENSE := BSD
|
||||||
VERSION := 1.3.4
|
VERSION := 1.3.6
|
||||||
DOWNLOADS := libvorbis.archive
|
DOWNLOADS := libvorbis.archive
|
||||||
|
|
||||||
|
# See https://downloads.xiph.org/pub/xiph/releases/vorbis/SHA256SUMS
|
||||||
|
|
||||||
URL(libvorbis) := http://downloads.xiph.org/releases/vorbis/libvorbis-$(VERSION).tar.xz
|
URL(libvorbis) := http://downloads.xiph.org/releases/vorbis/libvorbis-$(VERSION).tar.xz
|
||||||
SHA(libvorbis) := b99724acdf3577982b3146b9430d765995ecf9e1
|
SHA(libvorbis) := af00bb5a784e7c9e69f56823de4637c350643deedaf333d0fa86ecdba6fcb415
|
||||||
DIR(libvorbis) := src/lib/libvorbis
|
DIR(libvorbis) := src/lib/libvorbis
|
||||||
|
|
||||||
DIRS := include/vorbis
|
DIRS := include/vorbis
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
a6c198729121ca06af9304670430b2959f7ffbbd
|
e683ec2be86b1bc18e5cfaedde90ff9fa266f5c9
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ OWNER := ehmry
|
|||||||
REPO := rtaudio
|
REPO := rtaudio
|
||||||
REV := 4dc7017ccbae09231a4f8a48ac11a388171e95b3
|
REV := 4dc7017ccbae09231a4f8a48ac11a388171e95b3
|
||||||
URL(rtaudio) := https://github.com/$(OWNER)/$(REPO)/archive/$(REV).tar.gz
|
URL(rtaudio) := https://github.com/$(OWNER)/$(REPO)/archive/$(REV).tar.gz
|
||||||
SHA(rtaudio) := 83414b09e48757d91f60fc936402501ec1a6bb8c
|
SHA(rtaudio) := 83f628cb81ce31685f8100c1abcfd75485f4041db18290a46226d4ba2cea111c
|
||||||
DIR(rtaudio) := src/lib/rtaudio
|
DIR(rtaudio) := src/lib/rtaudio
|
||||||
|
|
||||||
DIRS := include/RtAudio
|
DIRS := include/RtAudio
|
||||||
|
|||||||
12
recipes/api/libflac/content.mk
Normal file
12
recipes/api/libflac/content.mk
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
content: include lib/symbols/libFLAC LICENSE
|
||||||
|
|
||||||
|
PORT_DIR := $(call port_dir,$(REP_DIR)/ports/flac)
|
||||||
|
|
||||||
|
include:
|
||||||
|
cp -r $(PORT_DIR)/$@ $@
|
||||||
|
|
||||||
|
lib/symbols/libFLAC:
|
||||||
|
$(mirror_from_rep_dir)
|
||||||
|
|
||||||
|
LICENSE:
|
||||||
|
cp $(PORT_DIR)/src/lib/flac/COPYING.Xiph $@
|
||||||
1
recipes/api/libflac/hash
Normal file
1
recipes/api/libflac/hash
Normal file
@@ -0,0 +1 @@
|
|||||||
|
2018-05-10 b79efa2aa2bdf7b7d8f1e5ce1e50e923387b669d
|
||||||
26
recipes/api/liblo/content.mk
Normal file
26
recipes/api/liblo/content.mk
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
MIRROR_FROM_PORT_AND_REP_DIR = src/lib/liblo
|
||||||
|
MIRROR_FROM_PORT_DIR = include
|
||||||
|
MIRROR_FROM_REP_DIR = lib/mk/liblo.mk lib/import/import-liblo.mk
|
||||||
|
|
||||||
|
content: \
|
||||||
|
$(MIRROR_FROM_PORT_AND_REP_DIR) \
|
||||||
|
$(MIRROR_FROM_PORT_DIR) $(MIRROR_FROM_REP_DIR) \
|
||||||
|
LICENSE \
|
||||||
|
|
||||||
|
PORT_DIR := $(call port_dir,$(REP_DIR)/ports/liblo)
|
||||||
|
|
||||||
|
$(MIRROR_FROM_PORT_AND_REP_DIR):
|
||||||
|
mkdir -p $(dir $@)
|
||||||
|
cp -r $(PORT_DIR)/$@ $(dir $@)
|
||||||
|
$(mirror_from_rep_dir)
|
||||||
|
|
||||||
|
$(MIRROR_FROM_PORT_DIR):
|
||||||
|
mkdir -p $(dir $@)
|
||||||
|
cp -r $(PORT_DIR)/$@ $(dir $@)
|
||||||
|
|
||||||
|
$(MIRROR_FROM_REP_DIR):
|
||||||
|
$(mirror_from_rep_dir)
|
||||||
|
|
||||||
|
|
||||||
|
LICENSE:
|
||||||
|
cp $(PORT_DIR)/src/lib/liblo/COPYING $@
|
||||||
1
recipes/api/liblo/hash
Normal file
1
recipes/api/liblo/hash
Normal file
@@ -0,0 +1 @@
|
|||||||
|
2018-05-10 a0cafebba7560b0945872ccad5ec1e49cee97be8
|
||||||
14
recipes/api/libogg/content.mk
Normal file
14
recipes/api/libogg/content.mk
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
content: include/ogg lib/symbols/libogg LICENSE
|
||||||
|
|
||||||
|
PORT_DIR := $(call port_dir,$(REP_DIR)/ports/libogg)
|
||||||
|
|
||||||
|
include/ogg:
|
||||||
|
mkdir -p $@
|
||||||
|
cp -r $(PORT_DIR)/$@/* $@
|
||||||
|
cp -r $(REP_DIR)/$@/* $@
|
||||||
|
|
||||||
|
lib/symbols/libogg:
|
||||||
|
$(mirror_from_rep_dir)
|
||||||
|
|
||||||
|
LICENSE:
|
||||||
|
cp $(PORT_DIR)/src/lib/libogg/COPYING $@
|
||||||
1
recipes/api/libogg/hash
Normal file
1
recipes/api/libogg/hash
Normal file
@@ -0,0 +1 @@
|
|||||||
|
2018-05-10 24c214694db13e8e26698e8f8d3f034fa2cc761d
|
||||||
13
recipes/api/libsndfile/content.mk
Normal file
13
recipes/api/libsndfile/content.mk
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
content: include lib/symbols/libsndfile LICENSE
|
||||||
|
|
||||||
|
PORT_DIR := $(call port_dir,$(REP_DIR)/ports/libsndfile)
|
||||||
|
|
||||||
|
include:
|
||||||
|
mkdir -p $@
|
||||||
|
cp -r $(PORT_DIR)/include/libsndfile/* $@
|
||||||
|
|
||||||
|
lib/symbols/libsndfile:
|
||||||
|
$(mirror_from_rep_dir)
|
||||||
|
|
||||||
|
LICENSE:
|
||||||
|
cp $(PORT_DIR)/src/lib/libsndfile/COPYING $@
|
||||||
1
recipes/api/libsndfile/hash
Normal file
1
recipes/api/libsndfile/hash
Normal file
@@ -0,0 +1 @@
|
|||||||
|
2018-05-10 6fc18691afe84e1dca434d581644c12bc65b1649
|
||||||
12
recipes/api/libvorbis/content.mk
Normal file
12
recipes/api/libvorbis/content.mk
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
content: include lib/symbols/libvorbis LICENSE
|
||||||
|
|
||||||
|
PORT_DIR := $(call port_dir,$(REP_DIR)/ports/libvorbis)
|
||||||
|
|
||||||
|
include:
|
||||||
|
cp -r $(PORT_DIR)/$@ $@
|
||||||
|
|
||||||
|
lib/symbols/libvorbis:
|
||||||
|
$(mirror_from_rep_dir)
|
||||||
|
|
||||||
|
LICENSE:
|
||||||
|
cp $(PORT_DIR)/src/lib/libvorbis/COPYING $@
|
||||||
1
recipes/api/libvorbis/hash
Normal file
1
recipes/api/libvorbis/hash
Normal file
@@ -0,0 +1 @@
|
|||||||
|
2018-05-10 72f7de74eccb45149535614fb82ba1daff5ffbe8
|
||||||
16
recipes/api/rtaudio/content.mk
Normal file
16
recipes/api/rtaudio/content.mk
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
MIRROR_FROM_PORT_DIR = include src/lib/rtaudio
|
||||||
|
|
||||||
|
content: $(MIRROR_FROM_PORT_DIR) lib/mk/rtaudio.mk lib/import/import-rtaudio.mk LICENSE
|
||||||
|
PORT_DIR := $(call port_dir,$(REP_DIR)/ports/rtaudio)
|
||||||
|
|
||||||
|
$(MIRROR_FROM_PORT_DIR):
|
||||||
|
mkdir -p $(dir $@)
|
||||||
|
cp -r $(PORT_DIR)/$@ $(dir $@)
|
||||||
|
|
||||||
|
lib/mk/rtaudio.mk:
|
||||||
|
$(mirror_from_rep_dir)
|
||||||
|
lib/import/import-rtaudio.mk:
|
||||||
|
$(mirror_from_rep_dir)
|
||||||
|
|
||||||
|
LICENSE:
|
||||||
|
cp $(PORT_DIR)/src/lib/rtaudio/readme $@
|
||||||
1
recipes/api/rtaudio/hash
Normal file
1
recipes/api/rtaudio/hash
Normal file
@@ -0,0 +1 @@
|
|||||||
|
2018-05-10 4c082a13e20986e0db5084d4cc5742100fbb347f
|
||||||
8
recipes/pkg/chuck/README
Normal file
8
recipes/pkg/chuck/README
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
|
||||||
|
ChucK programming language for real-time sound synthesis and music creation.
|
||||||
|
|
||||||
|
This package runs ChucK in a non-interactive mode. A program will be loaded from the
|
||||||
|
file 'main.ck' found in the root directory of the acquired File_system session.
|
||||||
|
|
||||||
|
For more information see http://chuck.cs.princeton.edu/doc/. Example programs can be
|
||||||
|
found in the ChucK source distribution at https://github.com/ccrma/chuck/tree/master/examples.
|
||||||
9
recipes/pkg/chuck/archives
Normal file
9
recipes/pkg/chuck/archives
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
_/src/chuck
|
||||||
|
_/src/libc
|
||||||
|
_/src/libflac
|
||||||
|
_/src/libogg
|
||||||
|
_/src/libsndfile
|
||||||
|
_/src/libvorbis
|
||||||
|
_/src/sdl
|
||||||
|
_/src/stdcxx
|
||||||
|
_/src/vfs
|
||||||
1
recipes/pkg/chuck/hash
Normal file
1
recipes/pkg/chuck/hash
Normal file
@@ -0,0 +1 @@
|
|||||||
|
2018-05-10 45c2fdfb4afe3f8a25031899cad250e56571ba63
|
||||||
28
recipes/pkg/chuck/runtime
Normal file
28
recipes/pkg/chuck/runtime
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
<runtime ram="32M" caps="512" binary="chuck">
|
||||||
|
|
||||||
|
<requires> <audio_out/> <timer/> <file_system/> </requires>
|
||||||
|
|
||||||
|
<content>
|
||||||
|
<rom label="ld.lib.so"/>
|
||||||
|
<rom label="init"/>
|
||||||
|
<rom label="libc.lib.so"/>
|
||||||
|
<rom label="libFLAC.lib.so"/>
|
||||||
|
<rom label="libm.lib.so"/>
|
||||||
|
<rom label="libogg.lib.so"/>
|
||||||
|
<rom label="libsdl.lib.so"/>
|
||||||
|
<rom label="libsndfile.lib.so"/>
|
||||||
|
<rom label="libvorbis.lib.so"/>
|
||||||
|
<rom label="stdcxx.lib.so"/>
|
||||||
|
<rom label="vfs.lib.so"/>
|
||||||
|
</content>
|
||||||
|
|
||||||
|
<config>
|
||||||
|
<libc stdout="/log" stderr="/log"/>
|
||||||
|
<vfs>
|
||||||
|
<log/>
|
||||||
|
<fs writeable="no"/>
|
||||||
|
</vfs>
|
||||||
|
<arg value="/main.ck"/>
|
||||||
|
</config>
|
||||||
|
|
||||||
|
</runtime>
|
||||||
13
recipes/src/chuck/content.mk
Normal file
13
recipes/src/chuck/content.mk
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
MIRROR_FROM_PORT_AND_REP_DIR := src/app/chuck
|
||||||
|
|
||||||
|
content: $(MIRROR_FROM_PORT_AND_REP_DIR) LICENSE
|
||||||
|
|
||||||
|
PORT_DIR := $(call port_dir,$(REP_DIR)/ports/chuck)
|
||||||
|
|
||||||
|
$(MIRROR_FROM_PORT_AND_REP_DIR):
|
||||||
|
mkdir -p $(dir $@)
|
||||||
|
cp -r $(PORT_DIR)/$@ $(dir $@)
|
||||||
|
$(mirror_from_rep_dir)
|
||||||
|
|
||||||
|
LICENSE:
|
||||||
|
cp $(PORT_DIR)/src/app/chuck/COPYING $@
|
||||||
1
recipes/src/chuck/hash
Normal file
1
recipes/src/chuck/hash
Normal file
@@ -0,0 +1 @@
|
|||||||
|
2018-05-10 b9ccba4a4891016c6a55b5150d00310a233c115e
|
||||||
15
recipes/src/chuck/used_apis
Normal file
15
recipes/src/chuck/used_apis
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
audio_in_session
|
||||||
|
audio_out_session
|
||||||
|
base
|
||||||
|
libc
|
||||||
|
libflac
|
||||||
|
liblo
|
||||||
|
libogg
|
||||||
|
libsndfile
|
||||||
|
libvorbis
|
||||||
|
os
|
||||||
|
sdl
|
||||||
|
stdcxx
|
||||||
|
rtaudio
|
||||||
|
timer_session
|
||||||
|
vfs
|
||||||
1
recipes/src/libflac/api
Normal file
1
recipes/src/libflac/api
Normal file
@@ -0,0 +1 @@
|
|||||||
|
libflac
|
||||||
16
recipes/src/libflac/content.mk
Normal file
16
recipes/src/libflac/content.mk
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
MIRROR_FROM_REP_DIR = lib/import/import-libFLAC.mk lib/mk/libFLAC.mk
|
||||||
|
|
||||||
|
content: $(MIRROR_FROM_REP_DIR) src/lib/flac/target.mk LICENSE
|
||||||
|
|
||||||
|
$(MIRROR_FROM_REP_DIR):
|
||||||
|
$(mirror_from_rep_dir)
|
||||||
|
|
||||||
|
PORT_DIR := $(call port_dir,$(REP_DIR)/ports/flac)
|
||||||
|
|
||||||
|
src/lib/flac/target.mk:
|
||||||
|
mkdir -p src/lib/flac
|
||||||
|
cp -r $(PORT_DIR)/src/lib/flac/* src/lib/flac
|
||||||
|
echo "LIBS = libFLAC" > $@
|
||||||
|
|
||||||
|
LICENSE:
|
||||||
|
cp $(PORT_DIR)/src/lib/flac/COPYING.Xiph $@
|
||||||
1
recipes/src/libflac/hash
Normal file
1
recipes/src/libflac/hash
Normal file
@@ -0,0 +1 @@
|
|||||||
|
2018-05-10 3f44217f6fb16066ad2dd2200b0c6de9179534c0
|
||||||
3
recipes/src/libflac/used_apis
Normal file
3
recipes/src/libflac/used_apis
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
base
|
||||||
|
libc
|
||||||
|
libogg
|
||||||
1
recipes/src/libogg/api
Normal file
1
recipes/src/libogg/api
Normal file
@@ -0,0 +1 @@
|
|||||||
|
libogg
|
||||||
16
recipes/src/libogg/content.mk
Normal file
16
recipes/src/libogg/content.mk
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
MIRROR_FROM_REP_DIR = lib/import/import-libogg.mk lib/mk/libogg.mk
|
||||||
|
|
||||||
|
content: $(MIRROR_FROM_REP_DIR) src/lib/libogg/target.mk LICENSE
|
||||||
|
|
||||||
|
$(MIRROR_FROM_REP_DIR):
|
||||||
|
$(mirror_from_rep_dir)
|
||||||
|
|
||||||
|
PORT_DIR := $(call port_dir,$(REP_DIR)/ports/libogg)
|
||||||
|
|
||||||
|
src/lib/libogg/target.mk:
|
||||||
|
mkdir -p src/lib/libogg
|
||||||
|
cp -r $(PORT_DIR)/src/lib/libogg/* src/lib/libogg
|
||||||
|
echo "LIBS = libogg" > $@
|
||||||
|
|
||||||
|
LICENSE:
|
||||||
|
cp $(PORT_DIR)/src/lib/libogg/COPYING $@
|
||||||
1
recipes/src/libogg/hash
Normal file
1
recipes/src/libogg/hash
Normal file
@@ -0,0 +1 @@
|
|||||||
|
2018-05-10 af1b96244929153e657732253831c8b58ec4a8b8
|
||||||
2
recipes/src/libogg/used_apis
Normal file
2
recipes/src/libogg/used_apis
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
base
|
||||||
|
libc
|
||||||
1
recipes/src/libsndfile/api
Normal file
1
recipes/src/libsndfile/api
Normal file
@@ -0,0 +1 @@
|
|||||||
|
libsndfile
|
||||||
22
recipes/src/libsndfile/content.mk
Normal file
22
recipes/src/libsndfile/content.mk
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
MIRROR_FROM_REP_DIR = \
|
||||||
|
lib/mk/gsm10.mk \
|
||||||
|
lib/mk/g72x.mk \
|
||||||
|
lib/mk/alac.mk \
|
||||||
|
lib/mk/libsndfile.mk \
|
||||||
|
lib/import/import-libsndfile.mk \
|
||||||
|
src/lib/libsndfile/config.h \
|
||||||
|
|
||||||
|
content: $(MIRROR_FROM_REP_DIR) src/lib/libsndfile/target.mk LICENSE
|
||||||
|
|
||||||
|
$(MIRROR_FROM_REP_DIR):
|
||||||
|
$(mirror_from_rep_dir)
|
||||||
|
|
||||||
|
PORT_DIR := $(call port_dir,$(REP_DIR)/ports/libsndfile)
|
||||||
|
|
||||||
|
src/lib/libsndfile/target.mk:
|
||||||
|
mkdir -p src/lib/libsndfile
|
||||||
|
cp -r $(PORT_DIR)/src/lib/libsndfile/* src/lib/libsndfile
|
||||||
|
echo "LIBS = libsndfile" > $@
|
||||||
|
|
||||||
|
LICENSE:
|
||||||
|
cp $(PORT_DIR)/src/lib/libsndfile/COPYING $@
|
||||||
1
recipes/src/libsndfile/hash
Normal file
1
recipes/src/libsndfile/hash
Normal file
@@ -0,0 +1 @@
|
|||||||
|
2018-05-10 ec35e9b5c3a20debb4603f551ec4c27acae5c512
|
||||||
5
recipes/src/libsndfile/used_apis
Normal file
5
recipes/src/libsndfile/used_apis
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
base
|
||||||
|
libc
|
||||||
|
libflac
|
||||||
|
libogg
|
||||||
|
libvorbis
|
||||||
1
recipes/src/libvorbis/api
Normal file
1
recipes/src/libvorbis/api
Normal file
@@ -0,0 +1 @@
|
|||||||
|
libvorbis
|
||||||
16
recipes/src/libvorbis/content.mk
Normal file
16
recipes/src/libvorbis/content.mk
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
MIRROR_FROM_REP_DIR = lib/import/import-libvorbis.mk lib/mk/libvorbis.mk
|
||||||
|
|
||||||
|
content: $(MIRROR_FROM_REP_DIR) src/lib/libvorbis/target.mk LICENSE
|
||||||
|
|
||||||
|
$(MIRROR_FROM_REP_DIR):
|
||||||
|
$(mirror_from_rep_dir)
|
||||||
|
|
||||||
|
PORT_DIR := $(call port_dir,$(REP_DIR)/ports/libvorbis)
|
||||||
|
|
||||||
|
src/lib/libvorbis/target.mk:
|
||||||
|
mkdir -p src/lib/libvorbis
|
||||||
|
cp -r $(PORT_DIR)/src/lib/libvorbis/* src/lib/libvorbis
|
||||||
|
echo "LIBS = libvorbis" > $@
|
||||||
|
|
||||||
|
LICENSE:
|
||||||
|
cp $(PORT_DIR)/src/lib/libvorbis/COPYING $@
|
||||||
1
recipes/src/libvorbis/hash
Normal file
1
recipes/src/libvorbis/hash
Normal file
@@ -0,0 +1 @@
|
|||||||
|
2018-05-10 15551d007d2b1a466c14cb90b41a57985c0133f7
|
||||||
3
recipes/src/libvorbis/used_apis
Normal file
3
recipes/src/libvorbis/used_apis
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
base
|
||||||
|
libc
|
||||||
|
libogg
|
||||||
100
run/chuck.run
100
run/chuck.run
@@ -1,100 +0,0 @@
|
|||||||
assert_spec x86
|
|
||||||
|
|
||||||
#
|
|
||||||
# Build
|
|
||||||
#
|
|
||||||
|
|
||||||
set build_components {
|
|
||||||
core init
|
|
||||||
app/chuck
|
|
||||||
drivers/audio
|
|
||||||
drivers/timer
|
|
||||||
}
|
|
||||||
|
|
||||||
source ${genode_dir}/repos/base/run/platform_drv.inc
|
|
||||||
append_platform_drv_build_components
|
|
||||||
|
|
||||||
build $build_components
|
|
||||||
|
|
||||||
create_boot_directory
|
|
||||||
|
|
||||||
exec cp [genode_dir]/repos/world/src/test/chuck/demo.ck bin/test-chuck-demo.ck
|
|
||||||
|
|
||||||
#
|
|
||||||
# Config
|
|
||||||
#
|
|
||||||
|
|
||||||
append config {
|
|
||||||
<config>
|
|
||||||
<default caps="128"/>
|
|
||||||
<parent-provides>
|
|
||||||
<service name="CPU"/>
|
|
||||||
<service name="IO_MEM"/>
|
|
||||||
<service name="IO_PORT"/>
|
|
||||||
<service name="IRQ"/>
|
|
||||||
<service name="LOG"/>
|
|
||||||
<service name="PD"/>
|
|
||||||
<service name="RM"/>
|
|
||||||
<service name="ROM"/>
|
|
||||||
</parent-provides>
|
|
||||||
<default-route>
|
|
||||||
<any-service> <parent/> <any-child/> </any-service>
|
|
||||||
</default-route>
|
|
||||||
<start name="timer">
|
|
||||||
<resource name="RAM" quantum="1M"/>
|
|
||||||
<provides><service name="Timer"/></provides>
|
|
||||||
</start>}
|
|
||||||
|
|
||||||
append_platform_drv_config
|
|
||||||
|
|
||||||
append config {
|
|
||||||
<start name="audio_drv">
|
|
||||||
<binary name="} [audio_drv_binary] {"/>
|
|
||||||
<resource name="RAM" quantum="8M"/>
|
|
||||||
<provides> <service name="Audio_out"/> </provides>
|
|
||||||
<config/>
|
|
||||||
</start>
|
|
||||||
<start name="chuck">
|
|
||||||
<resource name="RAM" quantum="32M"/>
|
|
||||||
<config dac_channels="2" adc_channels="0">
|
|
||||||
<libc stdout="/log" stderr="/log"/>
|
|
||||||
<vfs> <log/>
|
|
||||||
<rom name="test-chuck-demo.ck"/>
|
|
||||||
</vfs>
|
|
||||||
<file path="/test-chuck-demo.ck"/>
|
|
||||||
</config>
|
|
||||||
<route>
|
|
||||||
<any-service><parent/><any-child/></any-service>
|
|
||||||
</route>
|
|
||||||
</start>
|
|
||||||
</config>}
|
|
||||||
|
|
||||||
install_config $config
|
|
||||||
|
|
||||||
#
|
|
||||||
# Boot modules
|
|
||||||
#
|
|
||||||
|
|
||||||
append boot_modules {
|
|
||||||
core init ld.lib.so
|
|
||||||
timer
|
|
||||||
chuck
|
|
||||||
libogg.lib.so
|
|
||||||
libFLAC.lib.so
|
|
||||||
libsndfile.lib.so
|
|
||||||
libvorbis.lib.so
|
|
||||||
pthread.lib.so
|
|
||||||
stdcxx.lib.so
|
|
||||||
libc.lib.so
|
|
||||||
libm.lib.so
|
|
||||||
test-chuck-demo.ck
|
|
||||||
} [audio_drv_binary] {
|
|
||||||
}
|
|
||||||
|
|
||||||
append_platform_drv_boot_modules
|
|
||||||
|
|
||||||
build_boot_image $boot_modules
|
|
||||||
|
|
||||||
append qemu_args " -nographic -soundhw es1370 "
|
|
||||||
|
|
||||||
run_genode_until {child "chuck" exited with exit value 0} 60
|
|
||||||
@@ -1,136 +0,0 @@
|
|||||||
assert_spec x86
|
|
||||||
|
|
||||||
#
|
|
||||||
# Build
|
|
||||||
#
|
|
||||||
|
|
||||||
set build_components {
|
|
||||||
core init
|
|
||||||
app/chuck
|
|
||||||
drivers/audio
|
|
||||||
drivers/timer
|
|
||||||
}
|
|
||||||
|
|
||||||
source ${genode_dir}/repos/base/run/platform_drv.inc
|
|
||||||
append_platform_drv_build_components
|
|
||||||
|
|
||||||
lappend_if [have_spec ps2] build_components drivers/input/spec/ps2
|
|
||||||
lappend_if [have_spec sdl] build_components drivers/framebuffer/spec/sdl
|
|
||||||
|
|
||||||
build $build_components
|
|
||||||
|
|
||||||
create_boot_directory
|
|
||||||
|
|
||||||
exec cp [genode_dir]/repos/world/src/test/chuck/demo_keyboard.ck bin/test-chuck-demo_keyboard.ck
|
|
||||||
|
|
||||||
#
|
|
||||||
# Config
|
|
||||||
#
|
|
||||||
|
|
||||||
append config {
|
|
||||||
<config>
|
|
||||||
<default caps="128"/>
|
|
||||||
<parent-provides>
|
|
||||||
<service name="CPU"/>
|
|
||||||
<service name="IO_MEM"/>
|
|
||||||
<service name="IO_PORT"/>
|
|
||||||
<service name="IRQ"/>
|
|
||||||
<service name="LOG"/>
|
|
||||||
<service name="PD"/>
|
|
||||||
<service name="RM"/>
|
|
||||||
<service name="ROM"/>
|
|
||||||
</parent-provides>
|
|
||||||
<default-route>
|
|
||||||
<any-service> <parent/> <any-child/> </any-service>
|
|
||||||
</default-route>
|
|
||||||
<start name="timer">
|
|
||||||
<resource name="RAM" quantum="1M"/>
|
|
||||||
<provides><service name="Timer"/></provides>
|
|
||||||
</start>}
|
|
||||||
|
|
||||||
append_platform_drv_config
|
|
||||||
|
|
||||||
append_if [have_spec ps2] config {
|
|
||||||
<start name="ps2_drv">
|
|
||||||
<resource name="RAM" quantum="2M"/>
|
|
||||||
<provides><service name="Input"/></provides>
|
|
||||||
<config verbose_keyboard="no" verbose_mouse="no" verbose_scancodes="no"/>
|
|
||||||
<route>
|
|
||||||
<service name="ROM"> <parent/> </service>
|
|
||||||
<service name="CPU"> <parent/> </service>
|
|
||||||
<service name="PD"> <parent/> </service>
|
|
||||||
<service name="IO_PORT"> <parent/> </service>
|
|
||||||
<service name="LOG"> <parent/> </service>
|
|
||||||
<service name="Platform"> <any-child/> </service>
|
|
||||||
</route>
|
|
||||||
</start>
|
|
||||||
<alias name="input_drv" child="ps2_drv"/>}
|
|
||||||
|
|
||||||
append_if [have_spec sdl] config {
|
|
||||||
<start name="fb_sdl">
|
|
||||||
<resource name="RAM" quantum="4M"/>
|
|
||||||
<provides> <service name="Input"/> <service name="Framebuffer"/> </provides>
|
|
||||||
<route>
|
|
||||||
<service name="ROM"> <parent/> </service>
|
|
||||||
<service name="CPU"> <parent/> </service>
|
|
||||||
<service name="PD"> <parent/> </service>
|
|
||||||
<service name="LOG"> <parent/> </service>
|
|
||||||
<service name="Timer"> <child name="timer"/> </service>
|
|
||||||
</route>
|
|
||||||
</start>
|
|
||||||
<alias name="input_drv" child="fb_sdl"/>}
|
|
||||||
|
|
||||||
append config {
|
|
||||||
<start name="audio_drv">
|
|
||||||
<binary name="} [audio_drv_binary] {"/>
|
|
||||||
<resource name="RAM" quantum="8M"/>
|
|
||||||
<provides> <service name="Audio_out"/> </provides>
|
|
||||||
<config/>
|
|
||||||
</start>
|
|
||||||
<start name="chuck">
|
|
||||||
<resource name="RAM" quantum="32M"/>
|
|
||||||
<config dac_channels="2" adc_channels="0">
|
|
||||||
<libc stdout="/log" stderr="/log"/>
|
|
||||||
<vfs> <log/>
|
|
||||||
<rom name="test-chuck-demo_keyboard.ck"/>
|
|
||||||
</vfs>
|
|
||||||
<file path="/test-chuck-demo_keyboard.ck"/>
|
|
||||||
</config>
|
|
||||||
<route>
|
|
||||||
<any-service><parent/><any-child/></any-service>
|
|
||||||
</route>
|
|
||||||
</start>
|
|
||||||
</config>}
|
|
||||||
|
|
||||||
install_config $config
|
|
||||||
|
|
||||||
#
|
|
||||||
# Boot modules
|
|
||||||
#
|
|
||||||
|
|
||||||
append boot_modules {
|
|
||||||
core init ld.lib.so
|
|
||||||
timer
|
|
||||||
chuck
|
|
||||||
libogg.lib.so
|
|
||||||
libFLAC.lib.so
|
|
||||||
libsndfile.lib.so
|
|
||||||
libvorbis.lib.so
|
|
||||||
pthread.lib.so
|
|
||||||
stdcxx.lib.so
|
|
||||||
libc.lib.so
|
|
||||||
libm.lib.so
|
|
||||||
test-chuck-demo_keyboard.ck
|
|
||||||
} [audio_drv_binary] {
|
|
||||||
}
|
|
||||||
|
|
||||||
lappend_if [have_spec ps2] boot_modules ps2_drv
|
|
||||||
lappend_if [have_spec sdl] boot_modules fb_sdl
|
|
||||||
|
|
||||||
append_platform_drv_boot_modules
|
|
||||||
|
|
||||||
build_boot_image $boot_modules
|
|
||||||
|
|
||||||
append qemu_args " -nographic -soundhw es1370 "
|
|
||||||
|
|
||||||
run_genode_until forever
|
|
||||||
@@ -1,136 +0,0 @@
|
|||||||
assert_spec x86
|
|
||||||
|
|
||||||
#
|
|
||||||
# Build
|
|
||||||
#
|
|
||||||
|
|
||||||
set build_components {
|
|
||||||
core init
|
|
||||||
app/chuck
|
|
||||||
drivers/audio
|
|
||||||
drivers/timer
|
|
||||||
}
|
|
||||||
|
|
||||||
source ${genode_dir}/repos/base/run/platform_drv.inc
|
|
||||||
append_platform_drv_build_components
|
|
||||||
|
|
||||||
lappend_if [have_spec ps2] build_components drivers/input/spec/ps2
|
|
||||||
lappend_if [have_spec sdl] build_components drivers/framebuffer/spec/sdl
|
|
||||||
|
|
||||||
build $build_components
|
|
||||||
|
|
||||||
create_boot_directory
|
|
||||||
|
|
||||||
exec cp [genode_dir]/repos/world/src/test/chuck/demo_mouse.ck bin/test-chuck-demo_mouse.ck
|
|
||||||
|
|
||||||
#
|
|
||||||
# Config
|
|
||||||
#
|
|
||||||
|
|
||||||
append config {
|
|
||||||
<config>
|
|
||||||
<default caps="128"/>
|
|
||||||
<parent-provides>
|
|
||||||
<service name="CPU"/>
|
|
||||||
<service name="IO_MEM"/>
|
|
||||||
<service name="IO_PORT"/>
|
|
||||||
<service name="IRQ"/>
|
|
||||||
<service name="LOG"/>
|
|
||||||
<service name="PD"/>
|
|
||||||
<service name="RM"/>
|
|
||||||
<service name="ROM"/>
|
|
||||||
</parent-provides>
|
|
||||||
<default-route>
|
|
||||||
<any-service> <parent/> <any-child/> </any-service>
|
|
||||||
</default-route>
|
|
||||||
<start name="timer">
|
|
||||||
<resource name="RAM" quantum="1M"/>
|
|
||||||
<provides><service name="Timer"/></provides>
|
|
||||||
</start>}
|
|
||||||
|
|
||||||
append_platform_drv_config
|
|
||||||
|
|
||||||
append_if [have_spec ps2] config {
|
|
||||||
<start name="ps2_drv">
|
|
||||||
<resource name="RAM" quantum="2M"/>
|
|
||||||
<provides><service name="Input"/></provides>
|
|
||||||
<config verbose_keyboard="no" verbose_mouse="no" verbose_scancodes="no"/>
|
|
||||||
<route>
|
|
||||||
<service name="ROM"> <parent/> </service>
|
|
||||||
<service name="CPU"> <parent/> </service>
|
|
||||||
<service name="PD"> <parent/> </service>
|
|
||||||
<service name="IO_PORT"> <parent/> </service>
|
|
||||||
<service name="LOG"> <parent/> </service>
|
|
||||||
<service name="Platform"> <any-child/> </service>
|
|
||||||
</route>
|
|
||||||
</start>
|
|
||||||
<alias name="input_drv" child="ps2_drv"/>}
|
|
||||||
|
|
||||||
append_if [have_spec sdl] config {
|
|
||||||
<start name="fb_sdl">
|
|
||||||
<resource name="RAM" quantum="4M"/>
|
|
||||||
<provides> <service name="Input"/> <service name="Framebuffer"/> </provides>
|
|
||||||
<route>
|
|
||||||
<service name="ROM"> <parent/> </service>
|
|
||||||
<service name="CPU"> <parent/> </service>
|
|
||||||
<service name="PD"> <parent/> </service>
|
|
||||||
<service name="LOG"> <parent/> </service>
|
|
||||||
<service name="Timer"> <child name="timer"/> </service>
|
|
||||||
</route>
|
|
||||||
</start>
|
|
||||||
<alias name="input_drv" child="fb_sdl"/>}
|
|
||||||
|
|
||||||
append config {
|
|
||||||
<start name="audio_drv">
|
|
||||||
<binary name="} [audio_drv_binary] {"/>
|
|
||||||
<resource name="RAM" quantum="8M"/>
|
|
||||||
<provides> <service name="Audio_out"/> </provides>
|
|
||||||
<config/>
|
|
||||||
</start>
|
|
||||||
<start name="chuck">
|
|
||||||
<resource name="RAM" quantum="32M"/>
|
|
||||||
<config dac_channels="2" adc_channels="0">
|
|
||||||
<libc stdout="/log" stderr="/log"/>
|
|
||||||
<vfs> <log/>
|
|
||||||
<rom name="test-chuck-demo_mouse.ck"/>
|
|
||||||
</vfs>
|
|
||||||
<file path="/test-chuck-demo_mouse.ck"/>
|
|
||||||
</config>
|
|
||||||
<route>
|
|
||||||
<any-service><parent/><any-child/></any-service>
|
|
||||||
</route>
|
|
||||||
</start>
|
|
||||||
</config>}
|
|
||||||
|
|
||||||
install_config $config
|
|
||||||
|
|
||||||
#
|
|
||||||
# Boot modules
|
|
||||||
#
|
|
||||||
|
|
||||||
append boot_modules {
|
|
||||||
core init ld.lib.so
|
|
||||||
timer
|
|
||||||
chuck
|
|
||||||
libogg.lib.so
|
|
||||||
libFLAC.lib.so
|
|
||||||
libsndfile.lib.so
|
|
||||||
libvorbis.lib.so
|
|
||||||
pthread.lib.so
|
|
||||||
stdcxx.lib.so
|
|
||||||
libc.lib.so
|
|
||||||
libm.lib.so
|
|
||||||
test-chuck-demo_mouse.ck
|
|
||||||
} [audio_drv_binary] {
|
|
||||||
}
|
|
||||||
|
|
||||||
lappend_if [have_spec ps2] boot_modules ps2_drv
|
|
||||||
lappend_if [have_spec sdl] boot_modules fb_sdl
|
|
||||||
|
|
||||||
append_platform_drv_boot_modules
|
|
||||||
|
|
||||||
build_boot_image $boot_modules
|
|
||||||
|
|
||||||
append qemu_args " -nographic -soundhw es1370 "
|
|
||||||
|
|
||||||
run_genode_until forever
|
|
||||||
16
src/app/chuck/PATH_MAX.patch
Normal file
16
src/app/chuck/PATH_MAX.patch
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
diff --git a/src/core/util_string.cpp b/src/core/util_string.cpp
|
||||||
|
index f505506..f6c0c8b 100644
|
||||||
|
--- a/src/core/util_string.cpp
|
||||||
|
+++ b/src/core/util_string.cpp
|
||||||
|
@@ -41,6 +41,11 @@
|
||||||
|
#include <linux/limits.h>
|
||||||
|
#endif // __PLATFORM_LINUX__
|
||||||
|
|
||||||
|
+#ifdef __PLATFORM_GENODE__
|
||||||
|
+#include <vfs/types.h>
|
||||||
|
+enum { PATH_MAX = Vfs::MAX_PATH_LEN };
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
#include <stdio.h>
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
353
src/app/chuck/chuck_component.cc
Normal file
353
src/app/chuck/chuck_component.cc
Normal file
@@ -0,0 +1,353 @@
|
|||||||
|
/*----------------------------------------------------------------------------
|
||||||
|
ChucK Concurrent, On-the-fly Audio Programming Language
|
||||||
|
Compiler and Virtual Machine
|
||||||
|
|
||||||
|
Copyright (c) 2003 Ge Wang and Perry R. Cook. All rights reserved.
|
||||||
|
http://chuck.stanford.edu/
|
||||||
|
http://chuck.cs.princeton.edu/
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 2 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program; if not, write to the Free Software
|
||||||
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
||||||
|
U.S.A.
|
||||||
|
-----------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// file: component.cpp
|
||||||
|
// desc: chuck entry point for Genode
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
/* Genode includes */
|
||||||
|
#include <audio_out_session/audio_out_session.h>
|
||||||
|
#include <timer_session/connection.h>
|
||||||
|
#include <base/attached_rom_dataspace.h>
|
||||||
|
#include <libc/component.h>
|
||||||
|
#include <base/log.h>
|
||||||
|
|
||||||
|
/* ChucK includes */
|
||||||
|
#include "chuck.h"
|
||||||
|
#include "chuck_audio.h"
|
||||||
|
|
||||||
|
using namespace Genode;
|
||||||
|
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// global variables
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// the one ChucK, for command line host
|
||||||
|
ChucK * the_chuck;
|
||||||
|
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// name: cb()
|
||||||
|
// desc: audio callback
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
void cb( t_CKSAMPLE * in, t_CKSAMPLE * out, t_CKUINT numFrames,
|
||||||
|
t_CKUINT numInChans, t_CKUINT numOutChans, void * data )
|
||||||
|
{
|
||||||
|
// TODO: check channel numbers
|
||||||
|
|
||||||
|
// call up to ChucK
|
||||||
|
the_chuck->run( in, out, numFrames );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
struct Main
|
||||||
|
{
|
||||||
|
Libc::Env &env;
|
||||||
|
|
||||||
|
t_CKBOOL g_enable_realtime_audio = TRUE;
|
||||||
|
t_CKBOOL enable_system_cmd = FALSE;
|
||||||
|
|
||||||
|
Main(Libc::Env &env): env(env) { };
|
||||||
|
|
||||||
|
void go()
|
||||||
|
{
|
||||||
|
t_CKBOOL vm_halt = TRUE;
|
||||||
|
t_CKINT srate = SAMPLE_RATE_DEFAULT;
|
||||||
|
t_CKBOOL force_srate = FALSE; // added 1.3.1.2
|
||||||
|
t_CKINT buffer_size = BUFFER_SIZE_DEFAULT;
|
||||||
|
t_CKINT num_buffers = NUM_BUFFERS_DEFAULT;
|
||||||
|
t_CKINT dac = 0;
|
||||||
|
t_CKINT adc = 0;
|
||||||
|
std::string dac_name = ""; // added 1.3.0.0
|
||||||
|
std::string adc_name = ""; // added 1.3.0.0
|
||||||
|
t_CKINT dac_chans = 0;
|
||||||
|
t_CKINT adc_chans = 2;
|
||||||
|
t_CKBOOL dump = FALSE;
|
||||||
|
t_CKBOOL auto_depend = FALSE;
|
||||||
|
t_CKBOOL block = FALSE;
|
||||||
|
// t_CKBOOL enable_shell = FALSE;
|
||||||
|
t_CKBOOL no_vm = FALSE;
|
||||||
|
t_CKBOOL load_hid = FALSE;
|
||||||
|
t_CKBOOL enable_server = TRUE;
|
||||||
|
t_CKBOOL do_watchdog = TRUE;
|
||||||
|
t_CKINT adaptive_size = 0;
|
||||||
|
t_CKINT log_level = CK_LOG_CORE;
|
||||||
|
t_CKINT deprecate_level = 1; // 1 == warn
|
||||||
|
t_CKINT chugin_load = 1; // 1 == auto (variable added 1.3.0.0)
|
||||||
|
// whether to make this new VM the one that receives OTF commands
|
||||||
|
t_CKBOOL update_otf_vm = TRUE;
|
||||||
|
string filename = "";
|
||||||
|
vector<string> args;
|
||||||
|
|
||||||
|
// list of search pathes (added 1.3.0.0)
|
||||||
|
std::list<std::string> dl_search_path;
|
||||||
|
// initial chug-in path (added 1.3.0.0)
|
||||||
|
std::string initial_chugin_path;
|
||||||
|
// if set as environment variable (added 1.3.0.0)
|
||||||
|
if( getenv( g_chugin_path_envvar ) )
|
||||||
|
{
|
||||||
|
// get it from the env var
|
||||||
|
initial_chugin_path = getenv( g_chugin_path_envvar );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// default it
|
||||||
|
initial_chugin_path = g_default_chugin_path;
|
||||||
|
}
|
||||||
|
// parse the colon list into STL list (added 1.3.0.0)
|
||||||
|
parse_path_list( initial_chugin_path, dl_search_path );
|
||||||
|
// list of individually named chug-ins (added 1.3.0.0)
|
||||||
|
std::list<std::string> named_dls;
|
||||||
|
|
||||||
|
#if defined(__DISABLE_WATCHDOG__)
|
||||||
|
do_watchdog = FALSE;
|
||||||
|
#elif defined(__MACOSX_CORE__)
|
||||||
|
do_watchdog = TRUE;
|
||||||
|
#elif defined(__PLATFORM_WIN32__) && !defined(__WINDOWS_PTHREAD__)
|
||||||
|
do_watchdog = TRUE;
|
||||||
|
#else
|
||||||
|
do_watchdog = FALSE;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
t_CKUINT files = 0;
|
||||||
|
t_CKUINT count = 1;
|
||||||
|
t_CKINT i;
|
||||||
|
|
||||||
|
// set log level
|
||||||
|
EM_setlog( log_level );
|
||||||
|
|
||||||
|
// add myself to the list of Chuck_Systems that might need to be cleaned up
|
||||||
|
// g_systems.push_back( this );
|
||||||
|
|
||||||
|
|
||||||
|
//------------------------- COMMAND LINE ARGUMENTS -----------------------------
|
||||||
|
|
||||||
|
// log level
|
||||||
|
EM_setlog( log_level );
|
||||||
|
|
||||||
|
// set caution to wind
|
||||||
|
ChucK::enableSystemCall = enable_system_cmd;
|
||||||
|
|
||||||
|
// check buffer size
|
||||||
|
buffer_size = ensurepow2( buffer_size );
|
||||||
|
// set watchdog
|
||||||
|
g_do_watchdog = do_watchdog;
|
||||||
|
// set adaptive size
|
||||||
|
if( adaptive_size < 0 ) adaptive_size = buffer_size;
|
||||||
|
|
||||||
|
// make sure vm
|
||||||
|
if( no_vm )
|
||||||
|
{
|
||||||
|
CK_FPRINTF_STDERR( "[chuck]: '--empty' can only be used with shell...\n" );
|
||||||
|
exit( 1 );
|
||||||
|
}
|
||||||
|
|
||||||
|
// find dac_name if appropriate (added 1.3.0.0)
|
||||||
|
if( dac_name.size() > 0 )
|
||||||
|
{
|
||||||
|
// check with RtAudio
|
||||||
|
int dev = ChuckAudio::device_named( dac_name, TRUE, FALSE );
|
||||||
|
if( dev >= 0 )
|
||||||
|
{
|
||||||
|
dac = dev;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
CK_FPRINTF_STDERR( "[chuck]: unable to find dac '%s'...\n", dac_name.c_str() );
|
||||||
|
exit( 1 );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// find adc_name if appropriate (added 1.3.0.0)
|
||||||
|
if( adc_name.size() > 0 )
|
||||||
|
{
|
||||||
|
// check with RtAudio
|
||||||
|
int dev = ChuckAudio::device_named( adc_name, FALSE, TRUE );
|
||||||
|
if( dev >= 0 )
|
||||||
|
{
|
||||||
|
adc = dev;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
CK_FPRINTF_STDERR( "[chuck]: unable to find adc '%s'...\n", adc_name.c_str() );
|
||||||
|
exit( 1 );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//------------------------- VIRTUAL MACHINE SETUP -----------------------------
|
||||||
|
// instantiate ChucK
|
||||||
|
the_chuck = new ChucK();
|
||||||
|
|
||||||
|
// set params
|
||||||
|
the_chuck->setParam( CHUCK_PARAM_SAMPLE_RATE, Audio_out::SAMPLE_RATE );
|
||||||
|
the_chuck->setParam( CHUCK_PARAM_INPUT_CHANNELS, 0 );
|
||||||
|
the_chuck->setParam( CHUCK_PARAM_OUTPUT_CHANNELS, 2 );
|
||||||
|
the_chuck->setParam( CHUCK_PARAM_VM_ADAPTIVE, adaptive_size );
|
||||||
|
the_chuck->setParam( CHUCK_PARAM_VM_HALT, (t_CKINT)(vm_halt) );
|
||||||
|
the_chuck->setParam( CHUCK_PARAM_OTF_ENABLE, (t_CKINT)FALSE );
|
||||||
|
the_chuck->setParam( CHUCK_PARAM_DUMP_INSTRUCTIONS, (t_CKINT)dump );
|
||||||
|
the_chuck->setParam( CHUCK_PARAM_AUTO_DEPEND, (t_CKINT)auto_depend );
|
||||||
|
the_chuck->setParam( CHUCK_PARAM_DEPRECATE_LEVEL, deprecate_level );
|
||||||
|
the_chuck->setParam( CHUCK_PARAM_USER_CHUGINS, named_dls );
|
||||||
|
the_chuck->setParam( CHUCK_PARAM_USER_CHUGIN_DIRECTORIES, dl_search_path );
|
||||||
|
// set hint, so internally can advise things like async data writes etc.
|
||||||
|
the_chuck->setParam( CHUCK_PARAM_HINT_IS_REALTIME_AUDIO, TRUE );
|
||||||
|
the_chuck->setLogLevel( log_level );
|
||||||
|
|
||||||
|
// initialize
|
||||||
|
if( !the_chuck->init() )
|
||||||
|
{
|
||||||
|
CK_FPRINTF_STDERR( "[chuck]: failed to initialize...\n" );
|
||||||
|
exit( 1 );
|
||||||
|
}
|
||||||
|
|
||||||
|
//--------------------------- AUDIO I/O SETUP ---------------------------------
|
||||||
|
// log
|
||||||
|
EM_log( CK_LOG_SYSTEM, "initializing audio I/O..." );
|
||||||
|
// push
|
||||||
|
EM_pushlog();
|
||||||
|
// log
|
||||||
|
|
||||||
|
// initialize audio system
|
||||||
|
// TODO: refactor initialize() to take in the dac and adc nums
|
||||||
|
ChuckAudio::m_adc_n = adc;
|
||||||
|
ChuckAudio::m_dac_n = dac;
|
||||||
|
t_CKBOOL retval = ChuckAudio::initialize( adc_chans, dac_chans,
|
||||||
|
srate, buffer_size, num_buffers, cb, (void *)the_chuck, force_srate );
|
||||||
|
// check
|
||||||
|
if( !retval )
|
||||||
|
{
|
||||||
|
EM_log( CK_LOG_SYSTEM,
|
||||||
|
"cannot initialize audio device (use --silent/-s for non-realtime)" );
|
||||||
|
// pop
|
||||||
|
EM_poplog();
|
||||||
|
// done
|
||||||
|
exit( 1 );
|
||||||
|
}
|
||||||
|
|
||||||
|
// log
|
||||||
|
EM_log( CK_LOG_SYSTEM, "real-time audio: %s", g_enable_realtime_audio ? "YES" : "NO" );
|
||||||
|
EM_log( CK_LOG_SYSTEM, "mode: %s", block ? "BLOCKING" : "CALLBACK" );
|
||||||
|
EM_log( CK_LOG_SYSTEM, "sample rate: %ld", srate );
|
||||||
|
EM_log( CK_LOG_SYSTEM, "buffer size: %ld", buffer_size );
|
||||||
|
if( g_enable_realtime_audio )
|
||||||
|
{
|
||||||
|
EM_log( CK_LOG_SYSTEM, "num buffers: %ld", num_buffers );
|
||||||
|
EM_log( CK_LOG_SYSTEM, "adc: %ld dac: %d", adc, dac );
|
||||||
|
EM_log( CK_LOG_SYSTEM, "adaptive block processing: %ld", adaptive_size > 1 ? adaptive_size : 0 );
|
||||||
|
}
|
||||||
|
EM_log( CK_LOG_SYSTEM, "channels in: %ld out: %ld", adc_chans, dac_chans );
|
||||||
|
|
||||||
|
// pop
|
||||||
|
EM_poplog();
|
||||||
|
|
||||||
|
// reset count
|
||||||
|
count = 1;
|
||||||
|
|
||||||
|
// log
|
||||||
|
EM_log( CK_LOG_SEVERE, "starting compilation..." );
|
||||||
|
// push indent
|
||||||
|
EM_pushlog();
|
||||||
|
|
||||||
|
|
||||||
|
//------------------------- SOURCE COMPILATION --------------------------------
|
||||||
|
|
||||||
|
// loop through and process each file
|
||||||
|
auto const arg_fn = [&] (Xml_node const &node) {
|
||||||
|
auto const val = node.attribute_value("value", String<256>());
|
||||||
|
char const *arg = val.string();
|
||||||
|
// make sure
|
||||||
|
if( arg[0] == '-' || arg[0] == '+' )
|
||||||
|
{
|
||||||
|
if( val == "--dump" || val == "+d" )
|
||||||
|
the_chuck->compiler()->emitter->dump = TRUE;
|
||||||
|
else if( val == "--nodump" || val == "-d" )
|
||||||
|
the_chuck->compiler()->emitter->dump = FALSE;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// compile it!
|
||||||
|
the_chuck->compileFile( arg, "" );
|
||||||
|
++files;
|
||||||
|
};
|
||||||
|
|
||||||
|
env.config([&] (Xml_node const &config) {
|
||||||
|
config.for_each_sub_node("arg", arg_fn); });
|
||||||
|
|
||||||
|
if( !files && vm_halt)
|
||||||
|
{
|
||||||
|
CK_FPRINTF_STDERR( "[chuck]: no input files... (try --help)\n" );
|
||||||
|
exit( 1 );
|
||||||
|
}
|
||||||
|
|
||||||
|
// pop indent
|
||||||
|
EM_poplog();
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------- MAIN CHUCK LOOP!!! -----------------------------
|
||||||
|
|
||||||
|
// log
|
||||||
|
EM_log( CK_LOG_SYSTEM, "running main loop..." );
|
||||||
|
// push indent
|
||||||
|
EM_pushlog();
|
||||||
|
|
||||||
|
// start it!
|
||||||
|
the_chuck->start();
|
||||||
|
|
||||||
|
// log
|
||||||
|
EM_log( CK_LOG_SEVERE, "virtual machine running..." );
|
||||||
|
// pop indent
|
||||||
|
EM_poplog();
|
||||||
|
|
||||||
|
// silent mode buffers
|
||||||
|
SAMPLE * input = new SAMPLE[buffer_size*adc_chans];
|
||||||
|
SAMPLE * output = new SAMPLE[buffer_size*dac_chans];
|
||||||
|
// zero out
|
||||||
|
Genode::memset( input, 0, sizeof(SAMPLE)*buffer_size*adc_chans );
|
||||||
|
Genode::memset( output, 0, sizeof(SAMPLE)*buffer_size*dac_chans );
|
||||||
|
|
||||||
|
// start audio
|
||||||
|
ChuckAudio::start();
|
||||||
|
|
||||||
|
// return to entrypoint
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
void Libc::Component::construct(Libc::Env &env)
|
||||||
|
{
|
||||||
|
init_rtaudio(env);
|
||||||
|
|
||||||
|
static Main main(env);
|
||||||
|
|
||||||
|
Libc::with_libc([&] () { main.go(); });
|
||||||
|
}
|
||||||
|
|
||||||
|
extern "C" {
|
||||||
|
int pthread_setschedparam(pthread_t, int, const struct sched_param*) {
|
||||||
|
return 0; }
|
||||||
|
int pthread_getschedparam(pthread_t, int*, struct sched_param*) {
|
||||||
|
return 0; }
|
||||||
|
}
|
||||||
@@ -1,412 +0,0 @@
|
|||||||
/*----------------------------------------------------------------------------
|
|
||||||
ChucK Concurrent, On-the-fly Audio Programming Language
|
|
||||||
Compiler and Virtual Machine
|
|
||||||
|
|
||||||
Copyright (c) 2003 Ge Wang and Perry R. Cook. All rights reserved.
|
|
||||||
http://chuck.stanford.edu/
|
|
||||||
http://chuck.cs.princeton.edu/
|
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; either version 2 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with this program; if not, write to the Free Software
|
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
|
||||||
U.S.A.
|
|
||||||
-----------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
|
||||||
// file: component.cpp
|
|
||||||
// desc: chuck entry point for Genode
|
|
||||||
//-----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
/* Genode includes */
|
|
||||||
#include <audio_out_session/audio_out_session.h>
|
|
||||||
#include <timer_session/connection.h>
|
|
||||||
#include <base/attached_rom_dataspace.h>
|
|
||||||
#include <libc/component.h>
|
|
||||||
#include <base/log.h>
|
|
||||||
|
|
||||||
/* ChucK includes */
|
|
||||||
#include "chuck_compile.h"
|
|
||||||
#include "chuck_vm.h"
|
|
||||||
#include "chuck_bbq.h"
|
|
||||||
#include "chuck_errmsg.h"
|
|
||||||
#include "chuck_lang.h"
|
|
||||||
#include "chuck_console.h"
|
|
||||||
#include "chuck_globals.h"
|
|
||||||
|
|
||||||
#include "util_hid.h"
|
|
||||||
#include "util_math.h"
|
|
||||||
#include "util_string.h"
|
|
||||||
#include "util_thread.h"
|
|
||||||
#include "ulib_machine.h"
|
|
||||||
#include "chuck_system.h"
|
|
||||||
|
|
||||||
using namespace Genode;
|
|
||||||
|
|
||||||
struct Main : Chuck_System
|
|
||||||
{
|
|
||||||
Genode::Env &env;
|
|
||||||
|
|
||||||
Attached_rom_dataspace config_rom { env, "config" };
|
|
||||||
|
|
||||||
Timer::Connection timer { env, "chuck" };
|
|
||||||
|
|
||||||
void load_config()
|
|
||||||
{
|
|
||||||
/* compile the config in sequence */
|
|
||||||
config_rom.xml().for_each_sub_node([&] (Xml_node const node) {
|
|
||||||
if (node.has_type("file")) {
|
|
||||||
try {
|
|
||||||
Xml_attribute path_attr = node.attribute("path");
|
|
||||||
std::string path(path_attr.value_base(), path_attr.value_size());
|
|
||||||
std::string args;
|
|
||||||
if (node.has_attribute("args")) {
|
|
||||||
Xml_attribute args_attr = node.attribute("args");
|
|
||||||
args = std::string(args_attr.value_base(), args_attr.value_size());
|
|
||||||
}
|
|
||||||
if (!compileFile(path, args))
|
|
||||||
error("failed to compile ", path.c_str());
|
|
||||||
else
|
|
||||||
log("compiled ", path.c_str());
|
|
||||||
} catch (...) {
|
|
||||||
error("failed to parse file node ",node);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
else if (node.has_type("code")) {
|
|
||||||
try {
|
|
||||||
std::string code(node.content_base(), node.content_size());
|
|
||||||
std::string args;
|
|
||||||
if (node.has_attribute("args")) {
|
|
||||||
Xml_attribute args_attr = node.attribute("args");
|
|
||||||
args = std::string(args_attr.value_base(), args_attr.value_size());
|
|
||||||
}
|
|
||||||
if (!compileCode(code, args)) {
|
|
||||||
error("compilation failed");
|
|
||||||
log(code.c_str());
|
|
||||||
} else
|
|
||||||
log("compiled ", code.c_str());
|
|
||||||
} catch (...) {
|
|
||||||
error("failed to parse code node");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
void handle_config()
|
|
||||||
{
|
|
||||||
config_rom.update();
|
|
||||||
Libc::with_libc([&] () { load_config(); });
|
|
||||||
}
|
|
||||||
|
|
||||||
//Signal_handler<Main> config_handler
|
|
||||||
// { env.ep(), *this, &Main::handle_config };
|
|
||||||
|
|
||||||
void handle_timeout()
|
|
||||||
{
|
|
||||||
if (!g_vm->running()) {
|
|
||||||
env.parent().exit(0);
|
|
||||||
timer.trigger_periodic(0);
|
|
||||||
} else if( g_main_thread_hook && g_main_thread_quit ) {
|
|
||||||
log("bindling something");
|
|
||||||
g_main_thread_hook( g_main_thread_bindle );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Signal_handler<Main> timeout_handler
|
|
||||||
{ env.ep(), *this, &Main::handle_timeout };
|
|
||||||
|
|
||||||
Main(Genode::Env &env) : env(env) { }
|
|
||||||
|
|
||||||
void run();
|
|
||||||
};
|
|
||||||
|
|
||||||
void Main::run()
|
|
||||||
{
|
|
||||||
Genode::Xml_node config_node = config_rom.xml();
|
|
||||||
|
|
||||||
Chuck_Compiler * compiler = NULL;
|
|
||||||
Chuck_VM * vm = NULL;
|
|
||||||
Chuck_VM_Code * code = NULL;
|
|
||||||
Chuck_VM_Shred * shred = NULL;
|
|
||||||
// ge: refactor 2015
|
|
||||||
BBQ * bbq = NULL;
|
|
||||||
t_CKBOOL audio_started = FALSE;
|
|
||||||
|
|
||||||
t_CKBOOL vm_halt = TRUE;
|
|
||||||
t_CKUINT srate = Audio_out::SAMPLE_RATE;
|
|
||||||
t_CKBOOL force_srate = FALSE; // added 1.3.1.2
|
|
||||||
t_CKUINT buffer_size = BUFFER_SIZE_DEFAULT;
|
|
||||||
t_CKUINT num_buffers = NUM_BUFFERS_DEFAULT;
|
|
||||||
t_CKUINT dac = 0;
|
|
||||||
t_CKUINT adc = 0;
|
|
||||||
std::string dac_name = ""; // added 1.3.0.0
|
|
||||||
std::string adc_name = ""; // added 1.3.0.0
|
|
||||||
|
|
||||||
t_CKUINT dac_chans = config_node.attribute_value("dac_channels", 2UL);
|
|
||||||
t_CKUINT adc_chans = config_node.attribute_value("adc_channels", 0UL);
|
|
||||||
|
|
||||||
t_CKBOOL dump = FALSE;
|
|
||||||
t_CKBOOL probe = FALSE;
|
|
||||||
t_CKBOOL set_priority = FALSE;
|
|
||||||
t_CKBOOL auto_depend = FALSE;
|
|
||||||
t_CKBOOL block = FALSE;
|
|
||||||
t_CKBOOL no_vm = FALSE;
|
|
||||||
t_CKBOOL load_hid = FALSE;
|
|
||||||
t_CKBOOL enable_server = FALSE;
|
|
||||||
t_CKBOOL do_watchdog = TRUE;
|
|
||||||
t_CKINT adaptive_size = 0;
|
|
||||||
t_CKINT log_level = CK_LOG_INFO;
|
|
||||||
t_CKINT deprecate_level = 1; // 1 == warn
|
|
||||||
t_CKINT chugin_load = 1; // 1 == auto (variable added 1.3.0.0)
|
|
||||||
string filename = "";
|
|
||||||
vector<string> args;
|
|
||||||
|
|
||||||
// list of search pathes (added 1.3.0.0)
|
|
||||||
std::list<std::string> dl_search_path;
|
|
||||||
// initial chug-in path (added 1.3.0.0)
|
|
||||||
std::string initial_chugin_path;
|
|
||||||
|
|
||||||
// default it
|
|
||||||
initial_chugin_path = g_default_chugin_path;
|
|
||||||
|
|
||||||
// parse the colon list into STL list (added 1.3.0.0)
|
|
||||||
parse_path_list( initial_chugin_path, dl_search_path );
|
|
||||||
// list of individually named chug-ins (added 1.3.0.0)
|
|
||||||
std::list<std::string> named_dls;
|
|
||||||
|
|
||||||
#if defined(__DISABLE_WATCHDOG__)
|
|
||||||
do_watchdog = FALSE;
|
|
||||||
#elif defined(__MACOSX_CORE__)
|
|
||||||
do_watchdog = TRUE;
|
|
||||||
#elif defined(__PLATFORM_WIN32__) && !defined(__WINDOWS_PTHREAD__)
|
|
||||||
do_watchdog = TRUE;
|
|
||||||
#else
|
|
||||||
do_watchdog = FALSE;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
t_CKUINT files = 0;
|
|
||||||
t_CKUINT count = 1;
|
|
||||||
t_CKINT i;
|
|
||||||
|
|
||||||
// set log level
|
|
||||||
EM_setlog( log_level );
|
|
||||||
|
|
||||||
g_enable_realtime_audio = TRUE;
|
|
||||||
|
|
||||||
// set adaptive size
|
|
||||||
if( adaptive_size < 0 ) adaptive_size = buffer_size;
|
|
||||||
|
|
||||||
|
|
||||||
//------------------------- VIRTUAL MACHINE SETUP -----------------------------
|
|
||||||
|
|
||||||
// allocate the vm - needs the type system
|
|
||||||
vm = m_vmRef = g_vm = new Chuck_VM;
|
|
||||||
// ge: refactor 2015: initialize VM
|
|
||||||
if( !vm->initialize( srate, dac_chans, adc_chans, adaptive_size, vm_halt ) )
|
|
||||||
{
|
|
||||||
fprintf( stderr, "[chuck]: %s\n", vm->last_error() );
|
|
||||||
env.parent().exit( 1 );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//--------------------------- AUDIO I/O SETUP ---------------------------------
|
|
||||||
|
|
||||||
// ge: 1.3.5.3
|
|
||||||
bbq = g_bbq = new BBQ;
|
|
||||||
// set some parameters
|
|
||||||
bbq->set_srate( srate );
|
|
||||||
bbq->set_bufsize( buffer_size );
|
|
||||||
bbq->set_numbufs( num_buffers );
|
|
||||||
bbq->set_inouts( adc, dac );
|
|
||||||
bbq->set_chans( adc_chans, dac_chans );
|
|
||||||
|
|
||||||
// log
|
|
||||||
EM_log( CK_LOG_SYSTEM, "initializing audio I/O..." );
|
|
||||||
// push
|
|
||||||
EM_pushlog();
|
|
||||||
// log
|
|
||||||
EM_log( CK_LOG_SYSTEM, "probing '%s' audio subsystem...", g_enable_realtime_audio ? "real-time" : "fake-time" );
|
|
||||||
|
|
||||||
// probe / init (this shouldn't start audio yet...
|
|
||||||
// moved here 1.3.1.2; to main ge: 1.3.5.3)
|
|
||||||
if( !bbq->initialize( dac_chans, adc_chans, srate, 16, buffer_size, num_buffers,
|
|
||||||
dac, adc, block, vm, g_enable_realtime_audio, NULL, NULL, force_srate ) )
|
|
||||||
{
|
|
||||||
EM_log( CK_LOG_SYSTEM,
|
|
||||||
"cannot initialize audio device" );
|
|
||||||
// pop
|
|
||||||
EM_poplog();
|
|
||||||
// done
|
|
||||||
env.parent().exit( 1 );
|
|
||||||
}
|
|
||||||
|
|
||||||
// log
|
|
||||||
EM_log( CK_LOG_SYSTEM, "real-time audio: %s", g_enable_realtime_audio ? "YES" : "NO" );
|
|
||||||
EM_log( CK_LOG_SYSTEM, "mode: %s", block ? "BLOCKING" : "CALLBACK" );
|
|
||||||
EM_log( CK_LOG_SYSTEM, "sample rate: %ld", srate );
|
|
||||||
EM_log( CK_LOG_SYSTEM, "buffer size: %ld", buffer_size );
|
|
||||||
if( g_enable_realtime_audio )
|
|
||||||
{
|
|
||||||
EM_log( CK_LOG_SYSTEM, "num buffers: %ld", num_buffers );
|
|
||||||
EM_log( CK_LOG_SYSTEM, "adc: %ld dac: %d", adc, dac );
|
|
||||||
EM_log( CK_LOG_SYSTEM, "adaptive block processing: %ld", adaptive_size > 1 ? adaptive_size : 0 );
|
|
||||||
}
|
|
||||||
EM_log( CK_LOG_SYSTEM, "channels in: %ld out: %ld", adc_chans, dac_chans );
|
|
||||||
|
|
||||||
// pop
|
|
||||||
EM_poplog();
|
|
||||||
|
|
||||||
|
|
||||||
//------------------------- CHUCK COMPILER SETUP -----------------------------
|
|
||||||
|
|
||||||
// if chugin load is off, then clear the lists (added 1.3.0.0 -- TODO: refactor)
|
|
||||||
if( chugin_load == 0 )
|
|
||||||
{
|
|
||||||
// turn off chugin load
|
|
||||||
dl_search_path.clear();
|
|
||||||
named_dls.clear();
|
|
||||||
}
|
|
||||||
|
|
||||||
// allocate the compiler
|
|
||||||
compiler = m_compilerRef= g_compiler = new Chuck_Compiler;
|
|
||||||
// initialize the compiler (search_apth and named_dls added 1.3.0.0 -- TODO: refactor)
|
|
||||||
if( !compiler->initialize( vm, dl_search_path, named_dls ) )
|
|
||||||
{
|
|
||||||
fprintf( stderr, "[chuck]: error initializing compiler...\n" );
|
|
||||||
env.parent().exit( 1 );
|
|
||||||
}
|
|
||||||
// enable dump
|
|
||||||
compiler->emitter->dump = dump;
|
|
||||||
// set auto depend
|
|
||||||
compiler->set_auto_depend( auto_depend );
|
|
||||||
|
|
||||||
// vm synthesis subsystem - needs the type system
|
|
||||||
if( !vm->initialize_synthesis( ) )
|
|
||||||
{
|
|
||||||
fprintf( stderr, "[chuck]: %s\n", vm->last_error() );
|
|
||||||
env.parent().exit( 1 );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// set deprecate
|
|
||||||
compiler->env->deprecate_level = deprecate_level;
|
|
||||||
|
|
||||||
// reset count
|
|
||||||
count = 1;
|
|
||||||
|
|
||||||
compiler->env->load_user_namespace();
|
|
||||||
|
|
||||||
// log
|
|
||||||
EM_log( CK_LOG_SEVERE, "starting compilation..." );
|
|
||||||
// push indent
|
|
||||||
EM_pushlog();
|
|
||||||
|
|
||||||
|
|
||||||
//------------------------- SOURCE COMPILATION --------------------------------
|
|
||||||
|
|
||||||
// loop through and process each file
|
|
||||||
load_config();
|
|
||||||
|
|
||||||
// pop indent
|
|
||||||
EM_poplog();
|
|
||||||
|
|
||||||
// reset the parser
|
|
||||||
reset_parse();
|
|
||||||
|
|
||||||
// boost priority
|
|
||||||
if( Chuck_VM::our_priority != 0x7fffffff )
|
|
||||||
{
|
|
||||||
// try
|
|
||||||
if( !Chuck_VM::set_priority( Chuck_VM::our_priority, vm ) )
|
|
||||||
{
|
|
||||||
// error
|
|
||||||
fprintf( stderr, "[chuck]: %s\n", vm->last_error() );
|
|
||||||
env.parent().exit( 1 );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//-------------------------- MAIN CHUCK LOOP!!! -----------------------------
|
|
||||||
|
|
||||||
// log
|
|
||||||
EM_log( CK_LOG_SYSTEM, "running main loop..." );
|
|
||||||
// push indent
|
|
||||||
EM_pushlog();
|
|
||||||
|
|
||||||
// set run state
|
|
||||||
vm->start();
|
|
||||||
|
|
||||||
EM_log( CK_LOG_SEVERE, "initializing audio buffers..." );
|
|
||||||
if( !bbq->digi_out()->initialize( ) )
|
|
||||||
{
|
|
||||||
EM_log( CK_LOG_SYSTEM,
|
|
||||||
"cannot open audio output (use --silent/-s)" );
|
|
||||||
env.parent().exit(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
// initialize input
|
|
||||||
bbq->digi_in()->initialize( );
|
|
||||||
|
|
||||||
// log
|
|
||||||
EM_log( CK_LOG_SEVERE, "virtual machine running..." );
|
|
||||||
// pop indent
|
|
||||||
EM_poplog();
|
|
||||||
|
|
||||||
// NOTE: non-blocking callback only, ge: 1.3.5.3
|
|
||||||
|
|
||||||
// compute shreds before first sample
|
|
||||||
if( !vm->compute() )
|
|
||||||
{
|
|
||||||
// done, 1.3.5.3
|
|
||||||
vm->stop();
|
|
||||||
// log
|
|
||||||
EM_log( CK_LOG_SYSTEM, "virtual machine stopped..." );
|
|
||||||
}
|
|
||||||
|
|
||||||
// start audio
|
|
||||||
if( !audio_started )
|
|
||||||
{
|
|
||||||
// audio
|
|
||||||
if( !audio_started && g_enable_realtime_audio )
|
|
||||||
{
|
|
||||||
EM_log( CK_LOG_SEVERE, "starting real-time audio..." );
|
|
||||||
bbq->digi_out()->start();
|
|
||||||
bbq->digi_in()->start();
|
|
||||||
}
|
|
||||||
|
|
||||||
// set the flag to true to avoid entering this function
|
|
||||||
audio_started = TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// silent mode buffers
|
|
||||||
SAMPLE * input = new SAMPLE[buffer_size*adc_chans];
|
|
||||||
SAMPLE * output = new SAMPLE[buffer_size*dac_chans];
|
|
||||||
// zero out
|
|
||||||
Genode::memset( input, 0, sizeof(SAMPLE)*buffer_size*adc_chans );
|
|
||||||
Genode::memset( output, 0, sizeof(SAMPLE)*buffer_size*dac_chans );
|
|
||||||
|
|
||||||
timer.sigh(timeout_handler);
|
|
||||||
timer.trigger_periodic(100000);
|
|
||||||
};
|
|
||||||
|
|
||||||
#include <RtAudio.h>
|
|
||||||
|
|
||||||
void Libc::Component::construct(Libc::Env &env)
|
|
||||||
{
|
|
||||||
init_rtaudio(env);
|
|
||||||
init_input(env);
|
|
||||||
|
|
||||||
static Main inst(env);
|
|
||||||
|
|
||||||
Libc::with_libc([&] () { inst.run(); });
|
|
||||||
}
|
|
||||||
14
src/app/chuck/disable_midi.patch
Normal file
14
src/app/chuck/disable_midi.patch
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
diff --git a/src/core/midiio_rtmidi.cpp b/src/core/midiio_rtmidi.cpp
|
||||||
|
index d5e2aca..9fcec93 100644
|
||||||
|
--- a/src/core/midiio_rtmidi.cpp
|
||||||
|
+++ b/src/core/midiio_rtmidi.cpp
|
||||||
|
@@ -1001,4 +1001,9 @@ MidiIn::~MidiIn()
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
+t_CKBOOL MidiIn::open( Chuck_VM *, t_CKUINT )
|
||||||
|
+{
|
||||||
|
+ return FALSE;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
#endif // __DISABLE_MIDI__
|
||||||
61
src/app/chuck/hid.patch
Normal file
61
src/app/chuck/hid.patch
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
diff --git a/src/core/util_hid.cpp b/src/core/util_hid.cpp
|
||||||
|
index 4bfa8c8..a0753ef 100644
|
||||||
|
--- a/src/core/util_hid.cpp
|
||||||
|
+++ b/src/core/util_hid.cpp
|
||||||
|
@@ -7733,6 +7733,56 @@ const char * Keyboard_name( int k )
|
||||||
|
return keyboards->at( k )->name;
|
||||||
|
}
|
||||||
|
|
||||||
|
+#elif defined(__PLATFORM_GENODE__)
|
||||||
|
+
|
||||||
|
+void Hid_init() { }
|
||||||
|
+void Hid_poll() { }
|
||||||
|
+void Hid_quit() { }
|
||||||
|
+
|
||||||
|
+void Joystick_init() { }
|
||||||
|
+void Joystick_poll() { }
|
||||||
|
+void Joystick_quit() { }
|
||||||
|
+void Joystick_probe() { }
|
||||||
|
+int Joystick_count() { return -1; }
|
||||||
|
+int Joystick_open( int js ) { return -1; }
|
||||||
|
+int Joystick_open_async( int js ) { return -1; }
|
||||||
|
+int Joystick_open( const char * name ) { return -1; }
|
||||||
|
+int Joystick_close( int js ) { return -1; };
|
||||||
|
+int Joystick_send( int js, const HidMsg * msg ) { return -1; }
|
||||||
|
+const char * Joystick_name( int js ) { return ""; }
|
||||||
|
+
|
||||||
|
+void Mouse_init() { }
|
||||||
|
+void Mouse_poll() { }
|
||||||
|
+void Mouse_quit() { }
|
||||||
|
+void Mouse_probe() { }
|
||||||
|
+int Mouse_count() { return -1; }
|
||||||
|
+int Mouse_open( int m ) { return -1; }
|
||||||
|
+int Mouse_open( const char * name ) { return -1; }
|
||||||
|
+int Mouse_close( int m ) { return -1; }
|
||||||
|
+int Mouse_send( int m, const HidMsg * msg ) { return -1; }
|
||||||
|
+const char * Mouse_name( int m ) { return ""; }
|
||||||
|
+int Mouse_buttons( int m ) { return -1; }
|
||||||
|
+
|
||||||
|
+void Keyboard_init() { }
|
||||||
|
+void Keyboard_poll() { }
|
||||||
|
+void Keyboard_quit() { }
|
||||||
|
+void Keyboard_probe() { }
|
||||||
|
+int Keyboard_count() { return -1; }
|
||||||
|
+int Keyboard_open( int kb ) { return -1; }
|
||||||
|
+int Keyboard_open( const char * name ) { return -1; }
|
||||||
|
+int Keyboard_close( int kb ) { return -1; }
|
||||||
|
+const char * Keyboard_name( int kb ) { return ""; }
|
||||||
|
+
|
||||||
|
+t_CKINT TiltSensor_setPollRate( t_CKINT usec )
|
||||||
|
+{
|
||||||
|
+ return -1;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+t_CKINT TiltSensor_getPollRate( )
|
||||||
|
+{
|
||||||
|
+ return -1;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
@@ -1,551 +0,0 @@
|
|||||||
diff --git a/src/chuck_bbq.h b/src/chuck_bbq.h
|
|
||||||
index 0cd059f..9cc0664 100644
|
|
||||||
--- a/src/chuck_bbq.h
|
|
||||||
+++ b/src/chuck_bbq.h
|
|
||||||
@@ -44,9 +44,10 @@
|
|
||||||
#elif defined(__MACOSX_CORE__)
|
|
||||||
#elif defined(__WINDOWS_DS__)
|
|
||||||
#elif defined(__WINDOWS_ASIO__)
|
|
||||||
+#elif defined(__GENODE_AUDIO__)
|
|
||||||
#else
|
|
||||||
#error "must define one:\
|
|
||||||
-__LINUX_ALSA__ __UNIX_JACK__ __LINUX_JACK__ __LINUX_PULSE__ __MACOSX_CORE__ __WINDOWS_DS__"
|
|
||||||
+__LINUX_ALSA__ __UNIX_JACK__ __LINUX_JACK__ __LINUX_PULSE__ __MACOSX_CORE__ __WINDOWS_DS__ __GENODE_AUDIO__"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
struct Chuck_VM;
|
|
||||||
diff --git a/src/chuck_shell.cpp b/src/chuck_shell.cpp
|
|
||||||
index 726afa4..506f886 100644
|
|
||||||
--- a/src/chuck_shell.cpp
|
|
||||||
+++ b/src/chuck_shell.cpp
|
|
||||||
@@ -45,6 +45,10 @@
|
|
||||||
#include <dirent.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
+#ifdef __PLATFORM_GENODE__
|
|
||||||
+#include <trace/timestamp.h>
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
using namespace std;
|
|
||||||
|
|
||||||
// global shell pointer (lives in chuck_main)
|
|
||||||
@@ -630,7 +634,7 @@ void Chuck_Shell::do_code( string & code, string & out, string command )
|
|
||||||
prompt = variables["COMMAND_PROMPT"];
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
-#else
|
|
||||||
+#elif defined(__PLATFORM_WIN32__)
|
|
||||||
char tmp_filepath1[MAX_PATH];
|
|
||||||
win32_tmpnam(tmp_filepath1);
|
|
||||||
|
|
||||||
@@ -650,6 +654,19 @@ void Chuck_Shell::do_code( string & code, string & out, string command )
|
|
||||||
prompt = variables["COMMAND_PROMPT"];
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
+#elif defined(__PLATFORM_GENODE__)
|
|
||||||
+ char tmp_filepath[32];
|
|
||||||
+ snprintf(tmp_filepath, sizeof(tmp_filepath), "/tmp/chuck_file.%x", Genode::Trace::Timestamp()&0xFFFFU);
|
|
||||||
+
|
|
||||||
+ FILE * tmp_file = fopen( tmp_filepath, "w" );
|
|
||||||
+ if( tmp_file == NULL )
|
|
||||||
+ {
|
|
||||||
+ out += string( "shell: error: unable to open tmpfile '" ) + tmp_filepath + "'\n";
|
|
||||||
+ prompt = variables["COMMAND_PROMPT"];
|
|
||||||
+ return;
|
|
||||||
+ }
|
|
||||||
+#else
|
|
||||||
+#error Missing platform code for temporary files
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// write the code to the temp file
|
|
||||||
diff --git a/src/chuck_vm.cpp b/src/chuck_vm.cpp
|
|
||||||
index d907347..3ceafb2 100644
|
|
||||||
--- a/src/chuck_vm.cpp
|
|
||||||
+++ b/src/chuck_vm.cpp
|
|
||||||
@@ -176,8 +176,16 @@ t_CKINT Chuck_VM::our_priority = 85;
|
|
||||||
t_CKINT Chuck_VM::our_priority = 0x7fffffff;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
-
|
|
||||||
-#if !defined(__PLATFORM_WIN32__) || defined(__WINDOWS_PTHREAD__)
|
|
||||||
+#if defined(__PLATFORM_GENODE__)
|
|
||||||
+//-----------------------------------------------------------------------------
|
|
||||||
+// name: set_priority()
|
|
||||||
+// desc: ...
|
|
||||||
+//-----------------------------------------------------------------------------
|
|
||||||
+t_CKBOOL Chuck_VM::set_priority( t_CKINT priority, Chuck_VM * vm )
|
|
||||||
+{
|
|
||||||
+ return FALSE;
|
|
||||||
+}
|
|
||||||
+#elif !defined(__PLATFORM_WIN32__) || defined(__WINDOWS_PTHREAD__)
|
|
||||||
//-----------------------------------------------------------------------------
|
|
||||||
// name: set_priority()
|
|
||||||
// desc: ...
|
|
||||||
@@ -244,7 +252,6 @@ t_CKBOOL Chuck_VM::set_priority( t_CKINT priority, Chuck_VM * vm )
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
-
|
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
|
||||||
// name: initialize()
|
|
||||||
diff --git a/src/digiio_rtaudio.cpp b/src/digiio_rtaudio.cpp
|
|
||||||
index e78b19d..ea349e8 100644
|
|
||||||
--- a/src/digiio_rtaudio.cpp
|
|
||||||
+++ b/src/digiio_rtaudio.cpp
|
|
||||||
@@ -151,7 +151,7 @@ void Digitalio::probe()
|
|
||||||
|
|
||||||
// allocate RtAudio
|
|
||||||
try { rta = new RtAudio( ); }
|
|
||||||
- catch( RtError err )
|
|
||||||
+ catch( RtAudioError err )
|
|
||||||
{
|
|
||||||
// problem finding audio devices, most likely
|
|
||||||
EM_error2b( 0, "%s", err.getMessage().c_str() );
|
|
||||||
@@ -169,7 +169,7 @@ void Digitalio::probe()
|
|
||||||
for( int i = 0; i < devices; i++ )
|
|
||||||
{
|
|
||||||
try { info = rta->getDeviceInfo(i); }
|
|
||||||
- catch( RtError & error )
|
|
||||||
+ catch( RtAudioError & error )
|
|
||||||
{
|
|
||||||
error.printMessage();
|
|
||||||
break;
|
|
||||||
@@ -205,7 +205,7 @@ DWORD__ Digitalio::device_named( const std::string & name, t_CKBOOL needs_dac, t
|
|
||||||
|
|
||||||
// allocate RtAudio
|
|
||||||
try { rta = new RtAudio( ); }
|
|
||||||
- catch( RtError err )
|
|
||||||
+ catch( RtAudioError err )
|
|
||||||
{
|
|
||||||
// problem finding audio devices, most likely
|
|
||||||
EM_error2b( 0, "%s", err.getMessage().c_str() );
|
|
||||||
@@ -220,7 +220,7 @@ DWORD__ Digitalio::device_named( const std::string & name, t_CKBOOL needs_dac, t
|
|
||||||
for( int i = 0; i < devices; i++ )
|
|
||||||
{
|
|
||||||
try { info = rta->getDeviceInfo(i); }
|
|
||||||
- catch( RtError & error )
|
|
||||||
+ catch( RtAudioError & error )
|
|
||||||
{
|
|
||||||
error.printMessage();
|
|
||||||
break;
|
|
||||||
@@ -239,7 +239,7 @@ DWORD__ Digitalio::device_named( const std::string & name, t_CKBOOL needs_dac, t
|
|
||||||
for( int i = 0; i < devices; i++ )
|
|
||||||
{
|
|
||||||
try { info = rta->getDeviceInfo(i); }
|
|
||||||
- catch( RtError & error )
|
|
||||||
+ catch( RtAudioError & error )
|
|
||||||
{
|
|
||||||
error.printMessage();
|
|
||||||
break;
|
|
||||||
@@ -269,7 +269,16 @@ DWORD__ Digitalio::device_named( const std::string & name, t_CKBOOL needs_dac, t
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
-#if !defined(__PLATFORM_WIN32__) || defined(__WINDOWS_PTHREAD__)
|
|
||||||
+#if defined(__PLATFORM_GENODE__)
|
|
||||||
+//-----------------------------------------------------------------------------
|
|
||||||
+// name: set_priority()
|
|
||||||
+// desc: ...
|
|
||||||
+//-----------------------------------------------------------------------------
|
|
||||||
+static t_CKBOOL set_priority( CHUCK_THREAD tid, t_CKINT priority )
|
|
||||||
+{
|
|
||||||
+ return FALSE;
|
|
||||||
+}
|
|
||||||
+#elif !defined(__PLATFORM_WIN32__) || defined(__WINDOWS_PTHREAD__)
|
|
||||||
//-----------------------------------------------------------------------------
|
|
||||||
// name: set_priority()
|
|
||||||
// desc: ...
|
|
||||||
@@ -515,7 +524,7 @@ BOOL__ Digitalio::initialize( DWORD__ num_dac_channels,
|
|
||||||
{
|
|
||||||
// allocate RtAudio
|
|
||||||
try { m_rtaudio = new RtAudio( ); }
|
|
||||||
- catch( RtError err )
|
|
||||||
+ catch( RtAudioError err )
|
|
||||||
{
|
|
||||||
// problem finding audio devices, most likely
|
|
||||||
EM_error2( 0, "%s", err.getMessage().c_str() );
|
|
||||||
@@ -584,13 +593,13 @@ BOOL__ Digitalio::initialize( DWORD__ num_dac_channels,
|
|
||||||
{
|
|
||||||
// difference
|
|
||||||
long diff = device_info.sampleRates[i] - sampling_rate;
|
|
||||||
- // check // ge: changed from abs to labs, 2015.11
|
|
||||||
- if( ::labs(diff) < closestDiff )
|
|
||||||
+ // check
|
|
||||||
+ if( ::abs(diff) < closestDiff )
|
|
||||||
{
|
|
||||||
// remember index
|
|
||||||
closestIndex = i;
|
|
||||||
// update diff
|
|
||||||
- closestDiff = ::labs(diff);
|
|
||||||
+ closestDiff = ::abs(diff);
|
|
||||||
}
|
|
||||||
|
|
||||||
// for next highest
|
|
||||||
@@ -711,7 +720,7 @@ BOOL__ Digitalio::initialize( DWORD__ num_dac_channels,
|
|
||||||
CK_RTAUDIO_FORMAT, sampling_rate, &bufsize,
|
|
||||||
m_use_cb ? ( block ? &cb : &cb2 ) : NULL, vm_ref,
|
|
||||||
&stream_options );
|
|
||||||
- } catch( RtError err ) {
|
|
||||||
+ } catch( RtAudioError err ) {
|
|
||||||
// log
|
|
||||||
EM_log( CK_LOG_INFO, "exception caught: '%s'...", err.getMessage().c_str() );
|
|
||||||
EM_error2( 0, "%s", err.getMessage().c_str() );
|
|
||||||
@@ -956,7 +965,7 @@ BOOL__ Digitalio::start( )
|
|
||||||
try{ if( !m_start )
|
|
||||||
m_rtaudio->startStream();
|
|
||||||
m_start = TRUE;
|
|
||||||
- } catch( RtError err ){ return FALSE; }
|
|
||||||
+ } catch( RtAudioError err ){ return FALSE; }
|
|
||||||
#endif // __DISABLE_RTAUDIO__
|
|
||||||
|
|
||||||
#if defined(__CHIP_MODE__)
|
|
||||||
@@ -980,7 +989,7 @@ BOOL__ Digitalio::stop( )
|
|
||||||
try{ if( m_start )
|
|
||||||
m_rtaudio->stopStream();
|
|
||||||
m_start = FALSE;
|
|
||||||
- } catch( RtError err ){ return FALSE; }
|
|
||||||
+ } catch( RtAudioError err ){ return FALSE; }
|
|
||||||
#endif // __DISABLE_RTAUDIO__
|
|
||||||
|
|
||||||
#if defined(__CHIP_MODE__)
|
|
||||||
@@ -1013,7 +1022,7 @@ BOOL__ Digitalio::stop( )
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// return TRUE;
|
|
||||||
-// } catch( RtError err ){ return FALSE; }
|
|
||||||
+// } catch( RtAudioError err ){ return FALSE; }
|
|
||||||
//#endif // __DISABLE_RTAUDIO__
|
|
||||||
//
|
|
||||||
// return FALSE;
|
|
||||||
diff --git a/src/util_hid.cpp b/src/util_hid.cpp
|
|
||||||
index 9c26e2d..aea2eb7 100644
|
|
||||||
--- a/src/util_hid.cpp
|
|
||||||
+++ b/src/util_hid.cpp
|
|
||||||
@@ -3725,7 +3725,7 @@ t_CKINT WiiRemote::disconnect()
|
|
||||||
msg.device_type = CK_HID_DEV_WIIREMOTE;
|
|
||||||
msg.type = CK_HID_DEVICE_DISCONNECTED;
|
|
||||||
|
|
||||||
- HidInManager::push_message( msg );
|
|
||||||
+ HidInManager::push_message( msg );
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
@@ -7679,6 +7679,145 @@ const char * Keyboard_name( int k )
|
|
||||||
return keyboards->at( k )->name;
|
|
||||||
}
|
|
||||||
|
|
||||||
+#elif defined(__PLATFORM_GENODE__)
|
|
||||||
+
|
|
||||||
+#include <input/keycodes.h>
|
|
||||||
+#include <input_session/connection.h>
|
|
||||||
+#include <util/reconstructible.h>
|
|
||||||
+
|
|
||||||
+static Genode::Env *g_input_env;
|
|
||||||
+
|
|
||||||
+void init_input(Genode::Env &env)
|
|
||||||
+{
|
|
||||||
+ g_input_env = &env;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+Genode::Constructible<Input::Connection> g_input_session;
|
|
||||||
+
|
|
||||||
+static int g_input_count = 0;
|
|
||||||
+
|
|
||||||
+void Hid_init()
|
|
||||||
+{
|
|
||||||
+ if ( !g_input_session.constructed() ) {
|
|
||||||
+ if ( !g_input_env ) {
|
|
||||||
+ Genode::error("platform input not initialized with 'init_input'");
|
|
||||||
+ throw -1;
|
|
||||||
+ }
|
|
||||||
+ g_input_session.construct( *g_input_env );
|
|
||||||
+ }
|
|
||||||
+ g_input_count = g_input_count < 1 ? 1 : g_input_count+1;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+// A synchronous RPC poll
|
|
||||||
+void Hid_poll()
|
|
||||||
+{
|
|
||||||
+ g_input_session->for_each_event( [&] ( Input::Event const &ev ) {
|
|
||||||
+ HidMsg msg;
|
|
||||||
+
|
|
||||||
+ switch (ev.type()) {
|
|
||||||
+ case Input::Event::MOTION:
|
|
||||||
+ msg.device_type = CK_HID_DEV_MOUSE;
|
|
||||||
+ msg.type = CK_HID_MOUSE_MOTION;
|
|
||||||
+ msg.idata[0] = ev.ax();
|
|
||||||
+ msg.idata[1] = ev.ay();
|
|
||||||
+ break;
|
|
||||||
+
|
|
||||||
+ case Input::Event::WHEEL:
|
|
||||||
+ msg.device_type = CK_HID_DEV_MOUSE;
|
|
||||||
+ msg.type = CK_HID_MOUSE_WHEEL;
|
|
||||||
+ msg.idata[0] = 0;
|
|
||||||
+ msg.idata[1] = ev.ry();
|
|
||||||
+ break;
|
|
||||||
+
|
|
||||||
+ case Input::Event::PRESS:
|
|
||||||
+ if (ev.code() == Input::BTN_MOUSE)
|
|
||||||
+ msg.device_type = CK_HID_DEV_MOUSE;
|
|
||||||
+ else
|
|
||||||
+ msg.device_type = CK_HID_DEV_KEYBOARD;
|
|
||||||
+ msg.type = CK_HID_BUTTON_DOWN;
|
|
||||||
+ msg.idata[1] = ev.code();
|
|
||||||
+ msg.idata[2] = ev.utf8().b0;
|
|
||||||
+ break;
|
|
||||||
+
|
|
||||||
+ case Input::Event::RELEASE:
|
|
||||||
+ if (ev.code() == Input::BTN_MOUSE)
|
|
||||||
+ msg.device_type = CK_HID_DEV_MOUSE;
|
|
||||||
+ else
|
|
||||||
+ msg.device_type = CK_HID_DEV_KEYBOARD;
|
|
||||||
+ msg.type = CK_HID_BUTTON_UP;
|
|
||||||
+ msg.idata[1] = ev.code();
|
|
||||||
+ msg.idata[2] = ev.utf8().b0;
|
|
||||||
+ break;
|
|
||||||
+
|
|
||||||
+ case Input::Event::FOCUS:
|
|
||||||
+ case Input::Event::LEAVE:
|
|
||||||
+ case Input::Event::TOUCH:
|
|
||||||
+ case Input::Event::INVALID: return;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ msg.eid = ev.code();
|
|
||||||
+
|
|
||||||
+ HidInManager::push_message( msg );
|
|
||||||
+ });
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+void Hid_quit()
|
|
||||||
+{
|
|
||||||
+ if ( --g_input_count <= 0 && g_input_session.constructed() )
|
|
||||||
+ g_input_session.destruct();
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+void Joystick_init()
|
|
||||||
+{
|
|
||||||
+ Genode::warning("Genode joystick input not implemented");
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+void Joystick_poll() { }
|
|
||||||
+void Joystick_quit() { }
|
|
||||||
+void Joystick_probe() { }
|
|
||||||
+int Joystick_count() { return 0; }
|
|
||||||
+int Joystick_open( int js ) { return -1; }
|
|
||||||
+int Joystick_open_async( int js ) { return -1; }
|
|
||||||
+int Joystick_open( const char * name ) { return -1; }
|
|
||||||
+int Joystick_close( int js ) { return -1; };
|
|
||||||
+int Joystick_send( int js, const HidMsg * msg ) { return -1; }
|
|
||||||
+const char * Joystick_name( int js ) { return "Genode Input session"; }
|
|
||||||
+
|
|
||||||
+void Mouse_init() { Hid_init(); }
|
|
||||||
+void Mouse_poll() { }
|
|
||||||
+void Mouse_quit() { Hid_quit(); }
|
|
||||||
+
|
|
||||||
+void Mouse_probe() { }
|
|
||||||
+int Mouse_count() { return g_input_session.constructed() ? 1 : 0; }
|
|
||||||
+int Mouse_open( int m ) { return g_input_session.constructed() ? 0 : -1; }
|
|
||||||
+int Mouse_open( const char * name ) { return g_input_session.constructed() ? 0 : -1; }
|
|
||||||
+int Mouse_close( int m ) { return 0; }
|
|
||||||
+int Mouse_send( int m, const HidMsg * msg ) { return -1; }
|
|
||||||
+const char * Mouse_name( int m ) { return "Genode Input session"; }
|
|
||||||
+int Mouse_buttons( int m ) { return 0; }
|
|
||||||
+
|
|
||||||
+void Keyboard_init() { Hid_init(); }
|
|
||||||
+void Keyboard_poll() { }
|
|
||||||
+void Keyboard_quit() { Hid_quit(); }
|
|
||||||
+void Keyboard_probe() { }
|
|
||||||
+int Keyboard_count() { return g_input_session.constructed() ? 1 : 0; }
|
|
||||||
+
|
|
||||||
+int Keyboard_open( int kb ) { return g_input_session.constructed() ? 0 : -1; }
|
|
||||||
+
|
|
||||||
+int Keyboard_open( const char * name ) { return g_input_session.constructed() ? 0 : -1; }
|
|
||||||
+int Keyboard_close( int kb ) { return 0; }
|
|
||||||
+const char * Keyboard_name( int kb ) { return "Genode Input session"; }
|
|
||||||
+
|
|
||||||
+t_CKINT TiltSensor_setPollRate( t_CKINT usec )
|
|
||||||
+{
|
|
||||||
+ return -1;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+t_CKINT TiltSensor_getPollRate( )
|
|
||||||
+{
|
|
||||||
+ return -1;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
@@ -7735,7 +7874,7 @@ extern int Tablet_open( int ts ) { return -1; }
|
|
||||||
extern int Tablet_close( int ts ) { return -1; }
|
|
||||||
extern const char * Tablet_name( int ts ) { return NULL; }
|
|
||||||
|
|
||||||
-#endif
|
|
||||||
+#endif // __PLATFORM_GENODE__
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef __CHIP_MODE__
|
|
||||||
diff --git a/src/util_hid.h b/src/util_hid.h
|
|
||||||
index 7fa87d3..5527d90 100644
|
|
||||||
--- a/src/util_hid.h
|
|
||||||
+++ b/src/util_hid.h
|
|
||||||
@@ -32,7 +32,13 @@
|
|
||||||
#ifndef __UTIL_HID_H__
|
|
||||||
#define __UTIL_HID_H__
|
|
||||||
|
|
||||||
+#ifdef __PLATFORM_GENODE__
|
|
||||||
|
|
||||||
+#include <base/env.h>
|
|
||||||
+
|
|
||||||
+void init_input(Genode::Env &env);
|
|
||||||
+
|
|
||||||
+#endif // __PLATFORM_GENODE__
|
|
||||||
|
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
|
||||||
diff --git a/src/util_sndfile.h b/src/util_sndfile.h
|
|
||||||
index 2a62fd7..a4f4f3b 100644
|
|
||||||
--- a/src/util_sndfile.h
|
|
||||||
+++ b/src/util_sndfile.h
|
|
||||||
@@ -184,6 +184,18 @@
|
|
||||||
#define HAVE_LRINT 1
|
|
||||||
#endif
|
|
||||||
|
|
||||||
+#if defined(__PLATFORM_GENODE__)
|
|
||||||
+#define TYPEOF_SF_COUNT_T long
|
|
||||||
+#define CPU_CLIPS_POSITIVE 0
|
|
||||||
+#define CPU_IS_BIG_ENDIAN 0
|
|
||||||
+#define CPU_IS_LITTLE_ENDIAN 1
|
|
||||||
+#define HAVE_PREAD 1
|
|
||||||
+#define HAVE_PWRITE 1
|
|
||||||
+#define OS_IS_MACOSX 0
|
|
||||||
+#define OS_IS_WIN32 0
|
|
||||||
+#define HAVE_LRINTF 1
|
|
||||||
+#define HAVE_LRINT 1
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
|
|
||||||
// XXX 'inline' is necessary for C compilation
|
|
||||||
diff --git a/src/util_string.cpp b/src/util_string.cpp
|
|
||||||
index ff1770e..774d43c 100644
|
|
||||||
--- a/src/util_string.cpp
|
|
||||||
+++ b/src/util_string.cpp
|
|
||||||
@@ -40,6 +40,10 @@
|
|
||||||
#include <linux/limits.h>
|
|
||||||
#endif // __PLATFORM_LINUX__
|
|
||||||
|
|
||||||
+#ifdef __PLATFORM_GENODE__
|
|
||||||
+#define PATH_MAX 512
|
|
||||||
+#endif // __PLATFORM_GENODE__
|
|
||||||
+
|
|
||||||
#include <stdio.h>
|
|
||||||
using namespace std;
|
|
||||||
|
|
||||||
diff --git a/src/util_thread.cpp b/src/util_thread.cpp
|
|
||||||
index 5e32ade..a4095a5 100644
|
|
||||||
--- a/src/util_thread.cpp
|
|
||||||
+++ b/src/util_thread.cpp
|
|
||||||
@@ -69,7 +69,7 @@ XThread::~XThread( )
|
|
||||||
{
|
|
||||||
if( thread != 0 )
|
|
||||||
{
|
|
||||||
-#if defined(__PLATFORM_MACOSX__) || defined(__PLATFORM_LINUX__) || defined(__WINDOWS_PTHREAD__)
|
|
||||||
+#if ( defined(__PLATFORM_MACOSX__) || defined(__PLATFORM_LINUX__) || defined(__WINDOWS_PTHREAD__) || defined(__PLATFORM_GENODE__) )
|
|
||||||
pthread_cancel(thread);
|
|
||||||
pthread_join(thread, NULL);
|
|
||||||
#elif defined(__PLATFORM_WIN32__)
|
|
||||||
@@ -89,7 +89,7 @@ bool XThread::start( THREAD_FUNCTION routine, void * ptr )
|
|
||||||
{
|
|
||||||
bool result = false;
|
|
||||||
|
|
||||||
-#if ( defined(__PLATFORM_MACOSX__) || defined(__PLATFORM_LINUX__) || defined(__WINDOWS_PTHREAD__) )
|
|
||||||
+#if ( defined(__PLATFORM_MACOSX__) || defined(__PLATFORM_LINUX__) || defined(__WINDOWS_PTHREAD__) || defined(__PLATFORM_GENODE__) )
|
|
||||||
if( pthread_create( &thread, NULL, *routine, ptr ) == 0 )
|
|
||||||
result = true;
|
|
||||||
#elif defined(__PLATFORM_WIN32__)
|
|
||||||
@@ -111,7 +111,7 @@ bool XThread::wait( long milliseconds, bool cancel )
|
|
||||||
{
|
|
||||||
bool result = false;
|
|
||||||
|
|
||||||
-#if ( defined(__PLATFORM_MACOSX__) || defined(__PLATFORM_LINUX__) || defined(__WINDOWS_PTHREAD__) )
|
|
||||||
+#if ( defined(__PLATFORM_MACOSX__) || defined(__PLATFORM_LINUX__) || defined(__WINDOWS_PTHREAD__) || defined(__PLATFORM_GENODE__) )
|
|
||||||
if(cancel) pthread_cancel(thread);
|
|
||||||
pthread_join(thread, NULL);
|
|
||||||
#elif defined(__PLATFORM_WIN32__)
|
|
||||||
@@ -138,7 +138,7 @@ bool XThread::wait( long milliseconds, bool cancel )
|
|
||||||
//-----------------------------------------------------------------------------
|
|
||||||
void XThread :: test( )
|
|
||||||
{
|
|
||||||
-#if ( defined(__PLATFORM_MACOSX__) || defined(__PLATFORM_LINUX__) || defined(__WINDOWS_PTHREAD__) )
|
|
||||||
+#if ( defined(__PLATFORM_MACOSX__) || defined(__PLATFORM_LINUX__) || defined(__WINDOWS_PTHREAD__) || defined(__PLATFORM_GENODE__) )
|
|
||||||
pthread_testcancel();
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
@@ -152,7 +152,7 @@ void XThread :: test( )
|
|
||||||
//-----------------------------------------------------------------------------
|
|
||||||
XMutex::XMutex( )
|
|
||||||
{
|
|
||||||
-#if ( defined(__PLATFORM_MACOSX__) || defined(__PLATFORM_LINUX__) || defined(__WINDOWS_PTHREAD__) )
|
|
||||||
+#if ( defined(__PLATFORM_MACOSX__) || defined(__PLATFORM_LINUX__) || defined(__WINDOWS_PTHREAD__) || defined(__PLATFORM_GENODE__))
|
|
||||||
pthread_mutex_init(&mutex, NULL);
|
|
||||||
#elif defined(__PLATFORM_WIN32__)
|
|
||||||
InitializeCriticalSection(&mutex);
|
|
||||||
@@ -168,7 +168,7 @@ XMutex::XMutex( )
|
|
||||||
//-----------------------------------------------------------------------------
|
|
||||||
XMutex::~XMutex( )
|
|
||||||
{
|
|
||||||
-#if ( defined(__PLATFORM_MACOSX__) || defined(__PLATFORM_LINUX__) || defined(__WINDOWS_PTHREAD__) )
|
|
||||||
+#if ( defined(__PLATFORM_MACOSX__) || defined(__PLATFORM_LINUX__) || defined(__WINDOWS_PTHREAD__) || defined(__PLATFORM_GENODE__) )
|
|
||||||
pthread_mutex_destroy( &mutex );
|
|
||||||
#elif defined(__PLATFORM_WIN32__)
|
|
||||||
DeleteCriticalSection(&mutex);
|
|
||||||
@@ -184,7 +184,7 @@ XMutex::~XMutex( )
|
|
||||||
//-----------------------------------------------------------------------------
|
|
||||||
void XMutex::acquire( )
|
|
||||||
{
|
|
||||||
-#if ( defined(__PLATFORM_MACOSX__) || defined(__PLATFORM_LINUX__) || defined(__WINDOWS_PTHREAD__) )
|
|
||||||
+#if ( defined(__PLATFORM_MACOSX__) || defined(__PLATFORM_LINUX__) || defined(__WINDOWS_PTHREAD__) || defined(__PLATFORM_GENODE__) )
|
|
||||||
pthread_mutex_lock(&mutex);
|
|
||||||
#elif defined(__PLATFORM_WIN32__)
|
|
||||||
EnterCriticalSection(&mutex);
|
|
||||||
@@ -200,7 +200,7 @@ void XMutex::acquire( )
|
|
||||||
//-----------------------------------------------------------------------------
|
|
||||||
void XMutex::release( )
|
|
||||||
{
|
|
||||||
-#if ( defined(__PLATFORM_MACOSX__) || defined(__PLATFORM_LINUX__) || defined(__WINDOWS_PTHREAD__) )
|
|
||||||
+#if ( defined(__PLATFORM_MACOSX__) || defined(__PLATFORM_LINUX__) || defined(__WINDOWS_PTHREAD__) || defined(__PLATFORM_GENODE__) )
|
|
||||||
pthread_mutex_unlock(&mutex);
|
|
||||||
#elif defined(__PLATFORM_WIN32__)
|
|
||||||
LeaveCriticalSection(&mutex);
|
|
||||||
@@ -389,7 +389,7 @@ void XWriteThread::flush_data_buffer()
|
|
||||||
// name: write_cb()
|
|
||||||
// desc: thread function
|
|
||||||
//-----------------------------------------------------------------------------
|
|
||||||
-#if ( defined(__PLATFORM_MACOSX__) || defined(__PLATFORM_LINUX__) || defined(__WINDOWS_PTHREAD__) )
|
|
||||||
+#if ( defined(__PLATFORM_MACOSX__) || defined(__PLATFORM_LINUX__) || defined(__WINDOWS_PTHREAD__) || defined(__PLATFORM_GENODE__) )
|
|
||||||
void * XWriteThread::write_cb(void * _thiss)
|
|
||||||
#elif defined(__PLATFORM_WIN32__)
|
|
||||||
unsigned XWriteThread::write_cb(void * _thiss)
|
|
||||||
diff --git a/src/util_thread.h b/src/util_thread.h
|
|
||||||
index ebdd5dd..3703844 100644
|
|
||||||
--- a/src/util_thread.h
|
|
||||||
+++ b/src/util_thread.h
|
|
||||||
@@ -43,7 +43,7 @@ class FastCircularBuffer;
|
|
||||||
template<typename T> class CircularBuffer;
|
|
||||||
|
|
||||||
|
|
||||||
-#if ( defined(__PLATFORM_MACOSX__) || defined(__PLATFORM_LINUX__) || defined(__WINDOWS_PTHREAD__) )
|
|
||||||
+#if ( defined(__PLATFORM_MACOSX__) || defined(__PLATFORM_LINUX__) || defined(__WINDOWS_PTHREAD__) || defined(__PLATFORM_GENODE__) || defined(__PLATFORM_GENODE__))
|
|
||||||
#include <pthread.h>
|
|
||||||
#define THREAD_TYPE
|
|
||||||
typedef pthread_t THREAD_HANDLE;
|
|
||||||
@@ -154,7 +154,7 @@ private:
|
|
||||||
void flush_data_buffer();
|
|
||||||
|
|
||||||
// callback
|
|
||||||
-#if ( defined(__PLATFORM_MACOSX__) || defined(__PLATFORM_LINUX__) || defined(__WINDOWS_PTHREAD__) )
|
|
||||||
+#if ( defined(__PLATFORM_MACOSX__) || defined(__PLATFORM_LINUX__) || defined(__WINDOWS_PTHREAD__) || defined(__PLATFORM_GENODE__) )
|
|
||||||
static void * write_cb( void * _thiss );
|
|
||||||
#elif defined(__PLATFORM_WIN32__)
|
|
||||||
static unsigned THREAD_TYPE write_cb( void * _thiss );
|
|
||||||
85
src/app/chuck/rterror.patch
Normal file
85
src/app/chuck/rterror.patch
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
diff --git a/src/host/chuck_audio.cpp b/src/host/chuck_audio.cpp
|
||||||
|
index 5e562b0..257d4c0 100644
|
||||||
|
--- a/src/host/chuck_audio.cpp
|
||||||
|
+++ b/src/host/chuck_audio.cpp
|
||||||
|
@@ -155,7 +155,7 @@ void ChuckAudio::probe()
|
||||||
|
|
||||||
|
// allocate RtAudio
|
||||||
|
try { audio = new RtAudio( ); }
|
||||||
|
- catch( RtError err )
|
||||||
|
+ catch( RtAudioError err )
|
||||||
|
{
|
||||||
|
// problem finding audio devices, most likely
|
||||||
|
EM_error2b( 0, "%s", err.getMessage().c_str() );
|
||||||
|
@@ -173,7 +173,7 @@ void ChuckAudio::probe()
|
||||||
|
for( int i = 0; i < devices; i++ )
|
||||||
|
{
|
||||||
|
try { info = audio->getDeviceInfo(i); }
|
||||||
|
- catch( RtError & error )
|
||||||
|
+ catch( RtAudioError & error )
|
||||||
|
{
|
||||||
|
error.printMessage();
|
||||||
|
break;
|
||||||
|
@@ -213,7 +213,7 @@ t_CKUINT ChuckAudio::device_named( const std::string & name, t_CKBOOL needs_dac,
|
||||||
|
|
||||||
|
// allocate RtAudio
|
||||||
|
try { audio = new RtAudio(); }
|
||||||
|
- catch( RtError err )
|
||||||
|
+ catch( RtAudioError err )
|
||||||
|
{
|
||||||
|
// problem finding audio devices, most likely
|
||||||
|
EM_error2b( 0, "%s", err.getMessage().c_str() );
|
||||||
|
@@ -229,7 +229,7 @@ t_CKUINT ChuckAudio::device_named( const std::string & name, t_CKBOOL needs_dac,
|
||||||
|
{
|
||||||
|
// get info
|
||||||
|
try { info = audio->getDeviceInfo(i); }
|
||||||
|
- catch( RtError & error )
|
||||||
|
+ catch( RtAudioError & error )
|
||||||
|
{
|
||||||
|
error.printMessage();
|
||||||
|
break;
|
||||||
|
@@ -251,7 +251,7 @@ t_CKUINT ChuckAudio::device_named( const std::string & name, t_CKBOOL needs_dac,
|
||||||
|
for( int i = 0; i < devices; i++ )
|
||||||
|
{
|
||||||
|
try { info = audio->getDeviceInfo(i); }
|
||||||
|
- catch( RtError & error )
|
||||||
|
+ catch( RtAudioError & error )
|
||||||
|
{
|
||||||
|
error.printMessage();
|
||||||
|
break;
|
||||||
|
@@ -477,7 +477,7 @@ t_CKBOOL ChuckAudio::initialize( t_CKUINT num_dac_channels,
|
||||||
|
|
||||||
|
// allocate RtAudio
|
||||||
|
try { m_rtaudio = new RtAudio( ); }
|
||||||
|
- catch( RtError err )
|
||||||
|
+ catch( RtAudioError err )
|
||||||
|
{
|
||||||
|
// problem finding audio devices, most likely
|
||||||
|
EM_error2( 0, "%s", err.getMessage().c_str() );
|
||||||
|
@@ -674,7 +674,7 @@ t_CKBOOL ChuckAudio::initialize( t_CKUINT num_dac_channels,
|
||||||
|
CK_RTAUDIO_FORMAT, sample_rate, &bufsize,
|
||||||
|
cb, m_cb_user_data,
|
||||||
|
&stream_options );
|
||||||
|
- } catch( RtError err ) {
|
||||||
|
+ } catch( RtAudioError err ) {
|
||||||
|
// log
|
||||||
|
EM_log( CK_LOG_INFO, "exception caught: '%s'...", err.getMessage().c_str() );
|
||||||
|
EM_error2( 0, "%s", err.getMessage().c_str() );
|
||||||
|
@@ -804,7 +804,7 @@ t_CKBOOL ChuckAudio::start( )
|
||||||
|
m_rtaudio->startStream();
|
||||||
|
m_start = TRUE;
|
||||||
|
}
|
||||||
|
- catch( RtError err )
|
||||||
|
+ catch( RtAudioError err )
|
||||||
|
{
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
@@ -826,7 +826,7 @@ t_CKBOOL ChuckAudio::stop( )
|
||||||
|
m_rtaudio->stopStream();
|
||||||
|
m_start = FALSE;
|
||||||
|
}
|
||||||
|
- catch( RtError err )
|
||||||
|
+ catch( RtAudioError err )
|
||||||
|
{
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
13
src/app/chuck/shell.patch
Normal file
13
src/app/chuck/shell.patch
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
diff --git a/src/core/chuck_shell.cpp b/src/core/chuck_shell.cpp
|
||||||
|
index 7f89df7..fd8a065 100644
|
||||||
|
--- a/src/core/chuck_shell.cpp
|
||||||
|
+++ b/src/core/chuck_shell.cpp
|
||||||
|
@@ -599,7 +599,7 @@ void Chuck_Shell::continue_code( string & in )
|
||||||
|
void Chuck_Shell::do_code( string & code, string & out, string command )
|
||||||
|
{
|
||||||
|
// open a temporary file
|
||||||
|
-#if defined(__PLATFORM_LINUX__) || defined(__MACOSX_CORE__)
|
||||||
|
+#if ( defined(__PLATFORM_LINUX__) || defined(__MACOSX_CORE__) || defined(__PLATFORM_GENODE__) )
|
||||||
|
char tmp_dir[] = "/tmp";
|
||||||
|
char * tmp_filepath = new char [32];
|
||||||
|
strncpy( tmp_filepath, "/tmp/chuck_file.XXXXXX", 32 );
|
||||||
@@ -1,43 +1,40 @@
|
|||||||
TARGET := chuck
|
TARGET := chuck
|
||||||
|
|
||||||
LIBS = stdcxx libc pthread rtaudio liblo libsndfile base libogg libvorbis libFLAC
|
LIBS += base libc libm pthread stdcxx rtaudio liblo sdl
|
||||||
|
LIBS += libsndfile libogg libvorbis libFLAC
|
||||||
|
|
||||||
CHUCK_DIR = $(call select_from_ports,chuck)/src/app/chuck/src
|
CHUCK_SRC_DIR = $(call select_from_ports,chuck)/src/app/chuck/src
|
||||||
|
CHUCK_CORE_DIR = $(CHUCK_SRC_DIR)/core
|
||||||
|
CHUCK_HOST_DIR = $(CHUCK_SRC_DIR)/host
|
||||||
|
|
||||||
CC_OPT += \
|
CC_OPT += \
|
||||||
-D__PLATFORM_GENODE__ \
|
-D__PLATFORM_GENODE__ \
|
||||||
|
-D__GENODE_AUDIO__ \
|
||||||
-D__DISABLE_MIDI__ \
|
-D__DISABLE_MIDI__ \
|
||||||
|
-DCPU_IS_LITTLE_ENDIAN=1 \
|
||||||
|
-D__CK_SNDFILE_NATIVE__ \
|
||||||
|
|
||||||
CC_WARN += -Wno-sign-compare
|
CC_WARN += -Wno-sign-compare
|
||||||
|
|
||||||
INC_DIR += $(PRG_DIR) $(CHUCK_DIR)
|
INC_DIR += $(PRG_DIR) $(CHUCK_CORE_DIR) $(CHUCK_HOST_DIR)
|
||||||
|
|
||||||
CHUCK_SRC_C := \
|
CHUCK_SRC_C := \
|
||||||
chuck.tab.c chuck.yy.c util_math.c util_network.c util_raw.c \
|
chuck.tab.c chuck.yy.c util_math.c util_network.c util_raw.c \
|
||||||
util_xforms.c
|
util_xforms.c
|
||||||
|
|
||||||
CHUCK_SRC_CC := \
|
CHUCK_SRC_CC := $(notdir $(wildcard $(CHUCK_CORE_DIR)/*.cpp))
|
||||||
chuck_absyn.cpp chuck_parse.cpp chuck_errmsg.cpp \
|
|
||||||
chuck_frame.cpp chuck_symbol.cpp chuck_table.cpp chuck_utils.cpp \
|
CHUCK_SRC_CC_FILTER = util_console.cpp
|
||||||
chuck_vm.cpp chuck_instr.cpp chuck_scan.cpp chuck_type.cpp chuck_emit.cpp \
|
|
||||||
chuck_compile.cpp chuck_dl.cpp chuck_oo.cpp chuck_lang.cpp chuck_ugen.cpp \
|
|
||||||
chuck_otf.cpp chuck_stats.cpp chuck_bbq.cpp chuck_shell.cpp \
|
|
||||||
chuck_console.cpp chuck_globals.cpp chuck_io.cpp chuck_system.cpp \
|
|
||||||
digiio_rtaudio.cpp hidio_sdl.cpp \
|
|
||||||
midiio_rtmidi.cpp ugen_osc.cpp ugen_filter.cpp \
|
|
||||||
ugen_stk.cpp ugen_xxx.cpp ulib_machine.cpp ulib_math.cpp ulib_std.cpp \
|
|
||||||
ulib_opsc.cpp ulib_regex.cpp util_buffers.cpp util_console.cpp \
|
|
||||||
util_string.cpp util_thread.cpp util_opsc.cpp util_serial.cpp \
|
|
||||||
util_hid.cpp uana_xform.cpp uana_extract.cpp
|
|
||||||
|
|
||||||
LO_SRC_C := \
|
LO_SRC_C := \
|
||||||
lo/address.c lo/blob.c lo/bundle.c lo/message.c lo/method.c \
|
lo/address.c lo/blob.c lo/bundle.c lo/message.c lo/method.c \
|
||||||
lo/pattern_match.c lo/send.c lo/server.c lo/server_thread.c lo/timetag.c
|
lo/pattern_match.c lo/send.c lo/server.c lo/server_thread.c lo/timetag.c
|
||||||
|
|
||||||
SRC_C := $(CHUCK_SRC_C) $(util_sndfile.c)
|
SRC_C += $(CHUCK_SRC_C) $(util_sndfile.c)
|
||||||
SRC_CC := $(filter-out util_console.cpp,$(CHUCK_SRC_CC)) dummies.cc component.cc
|
SRC_CC += $(filter-out $(CHUCK_SRC_CC_FILTER),$(CHUCK_SRC_CC))
|
||||||
|
SRC_CC += dummies.cc chuck_component.cc chuck_audio.cpp
|
||||||
|
|
||||||
vpath %.c $(CHUCK_DIR)
|
vpath %.c $(CHUCK_CORE_DIR)
|
||||||
vpath %.cpp $(CHUCK_DIR)
|
vpath %.cpp $(CHUCK_CORE_DIR) $(CHUCK_HOST_DIR)
|
||||||
|
|
||||||
CC_CXX_WARN_STRICT =
|
CC_CXX_WARN_STRICT =
|
||||||
|
|||||||
35
src/app/chuck/thread.patch
Normal file
35
src/app/chuck/thread.patch
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
diff --git a/src/core/util_thread.cpp b/src/core/util_thread.cpp
|
||||||
|
index d2467c1..939e936 100644
|
||||||
|
--- a/src/core/util_thread.cpp
|
||||||
|
+++ b/src/core/util_thread.cpp
|
||||||
|
@@ -389,7 +389,7 @@ void XWriteThread::flush_data_buffer()
|
||||||
|
// name: write_cb()
|
||||||
|
// desc: thread function
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
-#if ( defined(__PLATFORM_MACOSX__) || defined(__PLATFORM_LINUX__) || defined(__WINDOWS_PTHREAD__) )
|
||||||
|
+#if ( defined(__PLATFORM_MACOSX__) || defined(__PLATFORM_LINUX__) || defined(__WINDOWS_PTHREAD__) || defined(__PLATFORM_GENODE__) )
|
||||||
|
void * XWriteThread::write_cb(void * _thiss)
|
||||||
|
#elif defined(__PLATFORM_WIN32__)
|
||||||
|
unsigned XWriteThread::write_cb(void * _thiss)
|
||||||
|
diff --git a/src/core/util_thread.h b/src/core/util_thread.h
|
||||||
|
index c6f4a3c..24999de 100644
|
||||||
|
--- a/src/core/util_thread.h
|
||||||
|
+++ b/src/core/util_thread.h
|
||||||
|
@@ -43,7 +43,7 @@ class FastCircularBuffer;
|
||||||
|
template<typename T> class CircularBuffer;
|
||||||
|
|
||||||
|
|
||||||
|
-#if ( defined(__PLATFORM_MACOSX__) || defined(__PLATFORM_LINUX__) || defined(__WINDOWS_PTHREAD__) )
|
||||||
|
+#if ( defined(__PLATFORM_MACOSX__) || defined(__PLATFORM_LINUX__) || defined(__WINDOWS_PTHREAD__) || defined(__PLATFORM_GENODE__) )
|
||||||
|
#include <pthread.h>
|
||||||
|
#define THREAD_TYPE
|
||||||
|
typedef pthread_t THREAD_HANDLE;
|
||||||
|
@@ -174,7 +174,7 @@ private:
|
||||||
|
void flush_data_buffer();
|
||||||
|
|
||||||
|
// callback
|
||||||
|
-#if ( defined(__PLATFORM_MACOSX__) || defined(__PLATFORM_LINUX__) || defined(__WINDOWS_PTHREAD__) )
|
||||||
|
+#if ( defined(__PLATFORM_MACOSX__) || defined(__PLATFORM_LINUX__) || defined(__WINDOWS_PTHREAD__) || defined(__PLATFORM_GENODE__) )
|
||||||
|
static void * write_cb( void * _thiss );
|
||||||
|
#elif defined(__PLATFORM_WIN32__)
|
||||||
|
static unsigned THREAD_TYPE write_cb( void * _thiss );
|
||||||
Reference in New Issue
Block a user