3.5.0 - July 9, 2017
-
Migrated
AMS
,AMS::Group
,AMS::Geometry
, andAMS::MultiLineText
to C++ extension, which includes optimizations and various fixes. -
Removed
AMS::System
platform detection functions:is_windows?
,is_mac?
, andis_linux?
; use constants instead. -
Removed
AMS::Sketchup.is_32bit?
andAMS::Sketchup.is_64bit?
. -
Added
AMS::IS_SKETCHUP_32BIT
andAMS::IS_SKETCHUP_64BIT
. -
Added
AMS::IS_RUBY_VERSION_18
,AMS::IS_RUBY_VERSION_20
, andAMS::IS_RUBY_VERSION_22
. -
Revised
AMS::RayUtil
functions and moved them toAMS::Geometry
. -
Moved
AMS.scale_vector
toAMS::Geometry
. -
Added
AMS::Geometry.calc_cubic_bezier_point(ratio, p0, p1, p2, p3)
. -
Added
AMS::Geometry.calc_cubic_bezier_slope(ratio, p0, p1, p2, p3)
. -
Added
AMS::Geometry.scale_point(point, scale)
. -
Removed
AMS::Geometry.rotate_matrix1_to_matrix2
. -
Added
AMS::Geometry.rotate_matrix_xaxis_to_dir(transformation, dir)
. -
Added
AMS::Geometry.rotate_matrix_yaxis_to_dir(transformation, dir)
. -
Added
AMS::Geometry.rotate_matrix_zaxis_to_dir(transformation, dir)
. -
Added
AMS::Geometry.rotate_vector(vector, normal, angle)
. -
Added
AMS::Geometry.angle_between_vectors(v1, v2, normal)
. -
Reworked
AMS::Geometry.transition_transformation(t1, t2, ratio)
to consider scaled matrices. -
Rearranged parameters for
AMS::Geometry.blend_colors
andAMS::Geometry.get_points_on_circle3d
. -
AMS::Geometry.get_points_on_circle2d
andAMS::Geometry.get_points_on_circle3d
now accept rot_angle in radians. -
Revised most
AMS::Group
functions. -
Replaced
AMS::MultiLineText.#entity
withAMS::MultiLineText.#get_entity
. -
Added
AMS::MultiLineText.#set_entity(entity)
. -
Added
AMS::MultiLineText.#get_position
. -
Added
AMS::MultiLineText.#set_position(x,y)
. -
Added
AMS::Window.peek_message(handle, msg_filter_min, msg_filter_max, remove_flag)
. -
Added
AMS::Window.peek_message2(handle, msg_filter_min, msg_filter_max, remove_flag)
. -
Added
AMS::Keyboard.get_key_name(vk_code)
. -
Added
AMS::Group.get_bounding_box_from_edges(object, recursive = true, transformation = nil, &entity_validation)
. -
Added
AMS::Sketchup.show_trays(state)
. -
Added
AMS::Sketchup.close_trays
. -
Added
AMS::Sketchup.activate_scenes_bar_tab(tab_index)
. -
Added
AMS::Sketchup.threaded_messagebox(caption, text, type, owner_handle)
. -
Added
AMS::SketchupObserver.#swp_on_page_selected(page1, page2, tab_index1, tab_index2)
. -
Added two additional parameters to
AMS::SketchupObserver.#swo_on_page_selected
. -
Removed
AMS::Win32::API
as it hasn't been used since version 2. -
Removed
AMS::Lib.clean_up
. -
Added
AMS::ExtensionManager
to prevent overwrite issues that occur when updating loaded extensions. Thanks to ThomThom for the original version.
3.4.1 - December 17, 2016
-
Added signature.
3.4.0 - October 31, 2016
-
Made most keyboard and midi functions compatible with Mac OS X.
-
Added
AMS::MIDI.is_device_open?
-
Added
AMS::MIDI.out_message(*args)
3.3.0 - July 10, 2016
-
Added more MIDI functions.
-
Added
Group
andGeometry
modules. -
Added
AMS.round(value, precision)
-
Started making compatible with Mac OS X.
3.2.5 - May 22, 2016
-
Improved performance with observers.
3.2.4 - May 21, 2016
-
More compatibility with different encodings.
3.2.3 - May 19, 2016
-
Made compatible with different encodings.
3.2.2 - April 05, 2016
-
Fixed crash when toggling menu bar on different localization. Thanks to herojack and perroloco2000 for report.
3.2.1 - March 30, 2016
-
Fixed small bug in AMS::Window.set_pos.
-
Recompiled with optimized settings.
-
Fixed the frozen path load error on particular machines.
3.2.0 - February 28, 2016
-
Added
AMS::SketchupObserver.#swo_on_page_selected(page1, page2)
3.1.4 - February 06, 2016
-
Made SU full screen function associate to the desired monitor(s). Thanks to DimaV83 for request.
3.1.3 - December 30, 2015
-
Fixed a bug that caused a crash when remove AMS observer from within an observer method.
3.1.2 - December 04, 2015
-
Made it compatible with Windows XP. Thanks for Junar Amaro for report.
-
Fixed a bug that prevented menu bar from working properly on Windows XP.
-
Fixed a bug where starting SU8, with dialogs open, the library failed to identify the main window.
3.1.1 - November 29, 2015
-
Fixed a bug that caused increase in CPU usage and lead to a crash. Thanks to Pherim for report.
3.1.0 - November 26, 2015
-
Added
AMS::Sketchup.send_user_message(receiver_handle, id, data)
-
Added
AMS::SketchupObserver.#swo_on_user_message(sender_handle, id, data)
-
Added
AMS::Sketchup.get_other_main_windows
-
Added
AMS::Sketchup.get_executable_name
-
Added
AMS::Window.get_moudle_handle(handle)
-
Added
AMS::Window.get_executable_path(handle)
-
Added
AMS::Window.get_executable_name(handle)
-
AMS::SketchupObserver.#swp_on_command(id)
no longer triggers on 24214 command. The 24214 command occurs very often and is called when the view is invalidated, rather than when the tool is activated. -
Added
AMS.inspect_element(item)
3.0.1 - September 20, 2015
-
Fixed some security issues.
3.0.0 - September 16, 2015
-
Fully rewritten library with optimizations, bug fixes, and improvements.
-
All code that deals with Windows API is now a C++ extension.
-
Unicode strings are now handled properly.
-
Removed Ruby-FFI library as it's no longer necessary.
-
Changed MIDI behaviour and renamed some of its functions:
-
AMS::MIDI.play_note
no longer has the 'duration' parameter, and it returns a sound id rather than boolean. -
AMS::MIDI.stop_note
now asks for a sound id. -
Replaced
AMS::MIDI.channel_sustain_pedal
withAMS::MIDI.sustain_channel_pedal
. -
Removed
AMS::MIDI.play_3d_note
andAMS::MIDI.set_3d_note_position
. -
Added
AMS::MIDI.set_note_position(id, position, max_hearing_range)
-
Added
AMS::MIDI.get_device_handle()
-
-
Replaced
AMS::Keyboard.get_key_value
withAMS::Keyboard.get_key_code
. -
Added
AMS::Keyboard.get_virtual_key_codes
-
Added
AMS::Keyboard.get_virtual_key_codes2
-
Added
AMS::Keyboard.get_virtual_key_names
-
Added
AMS::Sketchup.include_toolbar(handle)
-
Added
AMS::Sketchup.ignore_toolbar(handle)
-
Added additional parameters to
AMS::Sketchup.find_window_by_caption(caption, full_match = true, case_sensitive = true)
-
Added
AMS::Sketchup.find_child_window_by_caption(parent_handle, caption, include_sub_childs = false, full_match = true, case_sensitive = true)
-
Added
AMS::Sketchup.find_window_by_class_name(class_name, full_match = true, case_sensitive = true)
-
Added
AMS::Sketchup.find_child_window_by_class_name(parent_handle, class_name, include_sub_childs = false, full_match = true, case_sensitive = true)
-
AMS::Sketchup.refresh
andAMS::Sketchup.close
now return boolean rather than void. -
Removed
AMS::Menu.validate
-
Replaced
AMS::Menu.get_menu_item_string_by_pos
withAMS::Menu.get_item_string_by_pos
. -
Replaced
AMS::Menu.get_menu_item_string_by_id
withAMS::Menu.get_item_string_by_id
. -
Replaced
AMS::Menu.set_menu_item_string_by_pos
withAMS::Menu.set_item_string_by_pos
. -
Replaced
AMS::Menu.set_menu_item_string_by_id
withAMS::Menu.set_item_string_by_id
. -
Fixed a bug where
AMS::Menu.get_item_id failed
to return -1 if given index represented a submenu. -
Removed
AMS::Window.validate
-
AMS::Window.show(handle, state)
now returns boolean rather than integer. -
AMS::Window.is_child?(parent_handle, handle)
was changed toAMS::Window.is_child?(handle, parent_handle)
-
Replaced
AMS::Window.bring_window_to_top
withAMS::Window.bring_to_top
-
Replaced
AMS::Window.get_text
withAMS::Window.get_caption
-
Replaced
AMS::Window.set_text
withAMS::Window.set_caption
-
AMS::Window.send_message
now returns message processing result rather than nil. -
Added
AMS::Window.post_message(handle, message, wParam, lParam)
-
Added
AMS::Window.get_layered_attributes(handle)
-
AMS::Window.set_layered_attributes(handle, color, opacity, flags)
now accepts an array of RGB values for the color parameter. -
Added
AMS::Window.get_windows(include_hidden = true)
-
Added
AMS::Window.get_process_windows(process_id, include_hidden = true)
-
Added
AMS::Window.get_thread_windows(thread_id, include_hidden = true)
-
Added
AMS::Window.get_child_windows(parent_handle, include_sub_childs = false, include_hidden = true)
-
Added
AMS::Window.find_window_by_caption(caption, full_match = true, case_sensitive = true)
-
Added
AMS::Window.find_child_window_by_caption(parent_handle, caption, include_sub_childs = false, full_match = true, case_sensitive = true)
-
Added
AMS::Window.find_window_by_class_name(class_name, full_match = true, case_sensitive = true)
-
Added
AMS::Window.find_child_window_by_class_name(parent_handle, class_name, include_sub_childs = false, full_match = true, case_sensitive = true)
-
Added
AMS::Window.is_unicode?(handle)
-
Added
AMS::Window.get_related(handle, command)
-
Added
AMS::Window.get_ancestor(handle, flag)
-
Added
AMS::Window.client_to_screen(handle, x, y)
-
Added
AMS::Window.screen_to_client(handle, x, y)
-
Added
AMS::Window.map_point(handle_from, handle_to, x, y)
-
Added
AMS::DLL.load_libarary(path)
-
Added
AMS::DLL.free_libarary(handle)
-
NULL window/menu handles now return nil rather than zero.
-
Fixed a bug where activating/deactivating particular observer triggered
swo_activate
/swo_deactivate
in all active observers rather than in particular observer being activated or deactivated. -
Fixed a bug where
swo_on_toolbar_container_filled
/swo_on_toolbar_container_emptied
was unintentionally called when toolbar container visibility state was changed. -
Added post events for
AMS::SketchupObserver
: swo_on_post_enter_menu, swo_on_post_exit_menu, swo_on_post_switch_full_screen, swo_on_post_maximize, swo_on_post_minimize, swo_on_post_restore, swo_on_post_focus, swo_on_post_blur, swo_on_post_enter_size_move, swo_on_post_size_move, swo_on_post_exit_size_move, swo_on_post_caption_changed, swo_on_post_menu_bar_changed, swo_on_post_viewport_paint, swo_on_post_viewport_size, swo_on_post_viewport_border_changed, swo_on_post_scenes_bar_visibility_changed, swo_on_post_scenes_bar_filled, swo_on_post_scenes_bar_emptied, swo_on_post_status_bar_visibility_changed, swo_on_post_toolbar_container_visibility_changed, swo_on_post_toolbar_container_filled, swo_on_post_toolbar_container_emptied.
2.2.0 - January 22, 2015
-
Migrated from a C extension to a C++ extension.
-
Added an option to hide Vray dialogs. Thanks to shake1 for request.
2.1.0 - December 03, 2014
-
Added
AMS::Lib.clean_up
, which removes all unregistered Ruby files from the library. -
Added
AMS::System.get_metrics(index)
-
Minor bug fixes.
2.0.0 - November 20, 2014
-
Improved functionality.
-
Added support for SU 64 bit.
-
Reorganized various functions and rewrote documentation.
-
Migrated from relying on win32-api gem to using a C extension.
-
Implemented Windows MIDI.
-
Made FFI Compatible with Ruby 1.8.6. It's not compatible with Ruby 1.8.0 though.
1.0.9 - April 26, 2014
-
Added get_keys and get_values to the registry.
-
Improved MultiLineText.
1.0.8 - February 12, 2014
-
Stabilized registry readers and writers.
-
Stabilized custom shortcuts on localized SU versions.
1.0.7 - February 04, 2014
-
Added custom timers.
-
Optimized show/hide dialogs function.
-
Added
swo_tbc_onFilled(bar)
andswo_tbc_onEmptied(bar)
observers, which are called when a certain toolbar container is emptied or filled with toolbars. -
Added
swo_mw_onCommand(id)
, which responds toSketchup.send_action
events.
1.0.6 - January 29, 2014
-
Figured out a way to keep all menu shortcuts working when the menu bar is removed. Yes!!!
-
Added registry accessors.
-
Added
swo_mw_onEnterMenu
andswo_mw_onExitMenu
observers. -
Added
AMS::Windows::API
- thanks to Daniel J. Berger. -
Fixed get screen resolution function. Originally it returned resolution of the current screen. Now, it returns resolution of all monitors combined.
-
Improved observers.
-
Increased callbacks limit of
AMS::Win32::API
to 20 callbacks. -
Simplified libraries.
1.0.5 - December 16, 2013
-
Fixed the observers bug that made SketchUp freeze when pressing a key in the menu.
1.0.4 - December 15, 2013
-
Improved the refresh function.
1.0.3 - December 15, 2013
-
Some fixes and improvements.
-
Added
AMS::Window.invalid?
-
Added
AMS::Window.set_pos
-
Added
AMS::Window.set_size
1.0.2 - December 06, 2013
-
Some fixes and improvements.
-
Increased observers reaction speed.
1.0.1 - November 22, 2013
-
Improved set full screen, maximize, minimize, and restore functions.
1.0.0 - November 17, 2013
-
Initial release.