You can subscribe to this list here.
2008 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(5) |
Jul
(42) |
Aug
(91) |
Sep
(97) |
Oct
(69) |
Nov
(16) |
Dec
(32) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2009 |
Jan
(74) |
Feb
(109) |
Mar
(117) |
Apr
(86) |
May
(84) |
Jun
(47) |
Jul
(30) |
Aug
(25) |
Sep
(39) |
Oct
(59) |
Nov
(42) |
Dec
(38) |
2010 |
Jan
(30) |
Feb
(43) |
Mar
(59) |
Apr
(67) |
May
(29) |
Jun
(47) |
Jul
(48) |
Aug
(22) |
Sep
(22) |
Oct
(36) |
Nov
(40) |
Dec
(3) |
2011 |
Jan
(39) |
Feb
(21) |
Mar
(36) |
Apr
(35) |
May
(8) |
Jun
|
Jul
(14) |
Aug
(4) |
Sep
(10) |
Oct
(27) |
Nov
(1) |
Dec
|
2012 |
Jan
(2) |
Feb
(2) |
Mar
|
Apr
(9) |
May
(1) |
Jun
(1) |
Jul
(7) |
Aug
|
Sep
(15) |
Oct
(1) |
Nov
(3) |
Dec
(6) |
2013 |
Jan
|
Feb
|
Mar
|
Apr
(5) |
May
|
Jun
(2) |
Jul
|
Aug
(5) |
Sep
(15) |
Oct
|
Nov
|
Dec
(1) |
2014 |
Jan
(5) |
Feb
|
Mar
|
Apr
|
May
(3) |
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
(2) |
Nov
|
Dec
|
2015 |
Jan
|
Feb
(5) |
Mar
|
Apr
(4) |
May
(1) |
Jun
|
Jul
|
Aug
(1) |
Sep
(19) |
Oct
|
Nov
|
Dec
(1) |
2016 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
(3) |
Jun
|
Jul
|
Aug
|
Sep
(6) |
Oct
|
Nov
|
Dec
(2) |
2017 |
Jan
(16) |
Feb
(8) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2018 |
Jan
|
Feb
|
Mar
(7) |
Apr
|
May
(3) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
(5) |
2019 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(3) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2020 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(14) |
Aug
(2) |
Sep
|
Oct
|
Nov
|
Dec
|
2021 |
Jan
|
Feb
|
Mar
(7) |
Apr
(14) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2022 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(8) |
Nov
(3) |
Dec
|
2023 |
Jan
(1) |
Feb
|
Mar
(12) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2025 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(4) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <bor...@us...> - 2020-08-04 17:46:59
|
Revision: 3757 http://sourceforge.net/p/ftm/code/3757 Author: borghesi Date: 2020-08-04 17:46:57 +0000 (Tue, 04 Aug 2020) Log Message: ----------- ftm.editor: added missing methods in fmat_gui_wave Modified Paths: -------------- trunk/ftm/ftmlib/classes/ftmdatagui.c Modified: trunk/ftm/ftmlib/classes/ftmdatagui.c =================================================================== --- trunk/ftm/ftmlib/classes/ftmdatagui.c 2020-07-30 07:53:50 UTC (rev 3756) +++ trunk/ftm/ftmlib/classes/ftmdatagui.c 2020-08-04 17:46:57 UTC (rev 3757) @@ -2315,8 +2315,10 @@ fmat_t *self = (fmat_t *)obj; float *ptr = fmat_lock(self) + onset; int stride = fmat_get_n(self); + int size = self->m; - ptr[index*stride] = value; + if(index < size) + ptr[index*stride] = value; fmat_unlock(self); @@ -2323,6 +2325,23 @@ fts_object_changed((fts_object_t *)obj); } +static float +fmat_gui_wave_get(void *obj, void *context, int onset, int index) +{ + fmat_t *self = (fmat_t *)obj; + float *ptr = fmat_lock(self) + onset; + int stride = fmat_get_n(self); + int size = self->m; + float value = 0.0; + + if(index < size) + value = ptr[index*stride]; + + fmat_unlock(self); + + return value; +} + static void fmat_gui_wave_shift_data(void *obj, void *context, int onset, int index, int shiftSize) { @@ -2361,6 +2380,20 @@ } static void +fmat_gui_wave_append(void *obj, void *context, int onset, int num, double startValue, double endValue) +{ + fmat_t *self = (fmat_t *)obj; + int oldSize = self->m; + + fmat_lock_capacity(self, (self->m + num) * self->n); + fmat_insert_rows_nogrow(self, oldSize, num); + fmat_unlock(self); + fmat_gui_wave_interpolate(obj, context, onset, oldSize, oldSize+num, startValue, endValue); + + fts_object_changed((fts_object_t *)obj); +} + +static void fmat_gui_fvec_install(void) { static imtr_guiInterfaceWave fmat_gui_interface_fvec; @@ -2385,8 +2418,10 @@ fmat_gui_interface_fvec.interpolate = fmat_gui_wave_interpolate; fmat_gui_interface_fvec.increment = fmat_gui_wave_increment; fmat_gui_interface_fvec.set = fmat_gui_wave_set; + fmat_gui_interface_fvec.get = fmat_gui_wave_get; fmat_gui_interface_fvec.shiftData = fmat_gui_wave_shift_data; fmat_gui_interface_fvec.deleteInterval = fmat_gui_wave_delete_interval; + fmat_gui_interface_fvec.append = fmat_gui_wave_append; fts_class_instantiate(fmat_class); fts_class_gui_interface(fmat_class, fts_s_fvec, &fmat_gui_interface_fvec); @@ -2417,8 +2452,10 @@ fmat_gui_interface_wave.interpolate = fmat_gui_wave_interpolate; fmat_gui_interface_wave.increment = fmat_gui_wave_increment; fmat_gui_interface_wave.set = fmat_gui_wave_set; + fmat_gui_interface_wave.get = fmat_gui_wave_get; fmat_gui_interface_wave.shiftData = fmat_gui_wave_shift_data; fmat_gui_interface_wave.deleteInterval = fmat_gui_wave_delete_interval; + fmat_gui_interface_wave.append = fmat_gui_wave_append; fts_class_instantiate(fmat_class); fts_class_gui_interface(fmat_class, fts_s_wave, &fmat_gui_interface_wave); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bor...@us...> - 2020-07-30 07:53:52
|
Revision: 3756 http://sourceforge.net/p/ftm/code/3756 Author: borghesi Date: 2020-07-30 07:53:50 +0000 (Thu, 30 Jul 2020) Log Message: ----------- Modified Paths: -------------- trunk/ftm/distrib/package-info.json Modified: trunk/ftm/distrib/package-info.json =================================================================== --- trunk/ftm/distrib/package-info.json 2020-07-30 07:52:15 UTC (rev 3755) +++ trunk/ftm/distrib/package-info.json 2020-07-30 07:53:50 UTC (rev 3756) @@ -4,7 +4,7 @@ "description" : "FTM: extended real-time object system for Max/MSP", "homepatcher" : "FTMExamplesOverview.maxpat", "max_version_max" : "none", - "max_version_min" : "7.1", + "max_version_min" : "7.0", "os" : { "macintosh" : { "platform" : [ "ia32", "x64" ], @@ -19,6 +19,6 @@ } , "tags" : [ "data", "analysis", "synthesis", "externals", "gesture", "visualisation" ], - "version" : "3.0.0.BETA", - "website" : "http://ftm.ircam.fr" + "version" : "2.7.4.BETA", + "website" : "https://forum.ircam.fr/projects/detail/ftm/" } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bor...@us...> - 2020-07-30 07:52:16
|
Revision: 3755 http://sourceforge.net/p/ftm/code/3755 Author: borghesi Date: 2020-07-30 07:52:15 +0000 (Thu, 30 Jul 2020) Log Message: ----------- Added Paths: ----------- trunk/ftm/distrib/readme.md Added: trunk/ftm/distrib/readme.md =================================================================== --- trunk/ftm/distrib/readme.md (rev 0) +++ trunk/ftm/distrib/readme.md 2020-07-30 07:52:15 UTC (rev 3755) @@ -0,0 +1,16 @@ +# FTM +by ISMM Team @ Ircam - Centre Pompidou (http://www.ircam.fr) + +This version requires Max 7 or higher. + +##### Manual installation: +Copy the FTM folder to your **~/Documents/Max 8/packages** or **~/Documents/Max 7/Packages** folder. + +[ISMM Team Pages] +(https://www.stms-lab.fr/team/interaction-son-musique-mouvement/) +(http://ismm.ircam.fr) + +[FTM Page at IRCAM Forum](https://forum.ircam.fr/projects/detail/ftm/) +[old FTM Page at IRCAM](http://ftm.ircam.fr/) + + Property changes on: trunk/ftm/distrib/readme.md ___________________________________________________________________ Added: svn:executable ## -0,0 +1 ## +* \ No newline at end of property This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bor...@us...> - 2020-07-30 07:51:53
|
Revision: 3754 http://sourceforge.net/p/ftm/code/3754 Author: borghesi Date: 2020-07-30 07:51:52 +0000 (Thu, 30 Jul 2020) Log Message: ----------- Added Paths: ----------- trunk/ftm/distrib/old-icon.png Added: trunk/ftm/distrib/old-icon.png =================================================================== (Binary files differ) Index: trunk/ftm/distrib/old-icon.png =================================================================== --- trunk/ftm/distrib/old-icon.png 2020-07-30 07:51:23 UTC (rev 3753) +++ trunk/ftm/distrib/old-icon.png 2020-07-30 07:51:52 UTC (rev 3754) Property changes on: trunk/ftm/distrib/old-icon.png ___________________________________________________________________ Added: svn:executable ## -0,0 +1 ## +* \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bor...@us...> - 2020-07-30 07:51:25
|
Revision: 3753 http://sourceforge.net/p/ftm/code/3753 Author: borghesi Date: 2020-07-30 07:51:23 +0000 (Thu, 30 Jul 2020) Log Message: ----------- Modified Paths: -------------- trunk/ftm/distrib/icon.png Modified: trunk/ftm/distrib/icon.png =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bor...@us...> - 2020-07-30 07:51:03
|
Revision: 3752 http://sourceforge.net/p/ftm/code/3752 Author: borghesi Date: 2020-07-30 07:51:01 +0000 (Thu, 30 Jul 2020) Log Message: ----------- Modified Paths: -------------- trunk/ftm/ftmlib/classes/ftmdatagui.c Modified: trunk/ftm/ftmlib/classes/ftmdatagui.c =================================================================== --- trunk/ftm/ftmlib/classes/ftmdatagui.c 2020-07-30 07:50:24 UTC (rev 3751) +++ trunk/ftm/ftmlib/classes/ftmdatagui.c 2020-07-30 07:51:01 UTC (rev 3752) @@ -5706,7 +5706,8 @@ sequence_gui_interface_score.getMinMaxByColumn = sequence_gui_score_get_minmax_by_column; sequence_gui_interface_score.getTwoMinMaxByColumn = sequence_gui_score_get_two_minmax_by_column; sequence_gui_interface_score.getMeanStdDevByColumn = sequence_gui_score_get_mean_stddev_by_column; - sequence_gui_interface_score.getMaxNumParams = sequence_gui_score_get_max_num_params; + sequence_gui_interface_score.getMaxNumParams = + sequence_gui_score_get_max_num_params; sequence_gui_interface_score.setPitch = sequence_gui_score_set_pitch; fts_class_instantiate(sequence_class); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bor...@us...> - 2020-07-30 07:50:26
|
Revision: 3751 http://sourceforge.net/p/ftm/code/3751 Author: borghesi Date: 2020-07-30 07:50:24 +0000 (Thu, 30 Jul 2020) Log Message: ----------- Modified Paths: -------------- trunk/ftm/ftmlib/ftmlib.c Modified: trunk/ftm/ftmlib/ftmlib.c =================================================================== --- trunk/ftm/ftmlib/ftmlib.c 2020-07-22 16:23:20 UTC (rev 3750) +++ trunk/ftm/ftmlib/ftmlib.c 2020-07-30 07:50:24 UTC (rev 3751) @@ -934,7 +934,7 @@ fts_post("FTM & Co %s (%s)" build_config "\n", fts_symbol_name(ftm_version_symbol), FTM_VERSION_DATE); - fts_post(" Copyright \u00A9 2003 - 2012 IRCAM - Centre Pompidou\n"); + fts_post(" Copyright \u00A9 2003 - 2020 IRCAM - Centre Pompidou\n"); /* FTM (system) functions */ sym_wiki = fts_new_symbol("wiki"); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bor...@us...> - 2020-07-22 16:23:22
|
Revision: 3750 http://sourceforge.net/p/ftm/code/3750 Author: borghesi Date: 2020-07-22 16:23:20 +0000 (Wed, 22 Jul 2020) Log Message: ----------- Modified Paths: -------------- trunk/ftm/ftmlib/classes/ftmdatagui.c Modified: trunk/ftm/ftmlib/classes/ftmdatagui.c =================================================================== --- trunk/ftm/ftmlib/classes/ftmdatagui.c 2020-07-22 14:27:12 UTC (rev 3749) +++ trunk/ftm/ftmlib/classes/ftmdatagui.c 2020-07-22 16:23:20 UTC (rev 3750) @@ -420,20 +420,6 @@ return 0; } -static void -fts_get_ring(void *obj, void *context, int *ringIndex, int *ringSize, int *ringTail, double *ringOffset) -{ - *ringIndex = 0; - *ringSize = 0; - *ringTail = 0; - *ringOffset = 0.0; -} - -static void -fts_set_ring_offset(void *obj, void *context, double ringOffset) -{ -} - #pragma mark Bpf: BPF interface /************************************************************ * @@ -534,8 +520,8 @@ ((imtr_guiInterface *)&bpf_gui_interface_bpf)->getNumBuffers = fts_get_num_buffers_default; ((imtr_guiInterface *)&bpf_gui_interface_bpf)->getBufferObject = fts_get_buffer_object_default; ((imtr_guiInterface *)&bpf_gui_interface_bpf)->getBufferIndex = fts_get_buffer_index_default; - ((imtr_guiInterface *)&bpf_gui_interface_bpf)->getRing = fts_get_ring; - ((imtr_guiInterface *)&bpf_gui_interface_bpf)->setRingOffset = fts_set_ring_offset; + ((imtr_guiInterface *)&bpf_gui_interface_bpf)->getRing = NULL; + ((imtr_guiInterface *)&bpf_gui_interface_bpf)->setRingOffset = NULL; bpf_gui_interface_bpf.getSize = bpf_gui_bpf_get_size; bpf_gui_interface_bpf.getPoint = bpf_gui_bpf_get_point; @@ -692,8 +678,8 @@ ((imtr_guiInterface *)&bpf_gui_interface_matrix)->getNumBuffers = fts_get_num_buffers_default; ((imtr_guiInterface *)&bpf_gui_interface_matrix)->getBufferObject = fts_get_buffer_object_default; ((imtr_guiInterface *)&bpf_gui_interface_matrix)->getBufferIndex = fts_get_buffer_index_default; - ((imtr_guiInterface *)&bpf_gui_interface_matrix)->getRing = fts_get_ring; - ((imtr_guiInterface *)&bpf_gui_interface_matrix)->setRingOffset = fts_set_ring_offset; + ((imtr_guiInterface *)&bpf_gui_interface_matrix)->getRing = NULL; + ((imtr_guiInterface *)&bpf_gui_interface_matrix)->setRingOffset = NULL; bpf_gui_interface_matrix.getMatrixConfig = bpf_gui_matrix_get_matrix_config; bpf_gui_interface_matrix.getRows = bpf_gui_matrix_get_rows; @@ -958,8 +944,8 @@ ((imtr_guiInterface *)&dict_gui_interface_matrix)->getNumBuffers = fts_get_num_buffers_default; ((imtr_guiInterface *)&dict_gui_interface_matrix)->getBufferObject = fts_get_buffer_object_default; ((imtr_guiInterface *)&dict_gui_interface_matrix)->getBufferIndex = fts_get_buffer_index_default; - ((imtr_guiInterface *)&dict_gui_interface_matrix)->getRing = fts_get_ring; - ((imtr_guiInterface *)&dict_gui_interface_matrix)->setRingOffset = fts_set_ring_offset; + ((imtr_guiInterface *)&dict_gui_interface_matrix)->getRing = NULL; + ((imtr_guiInterface *)&dict_gui_interface_matrix)->setRingOffset = NULL; dict_gui_interface_matrix.getMatrixConfig = dict_gui_matrix_get_matrix_config; dict_gui_interface_matrix.getRows = dict_gui_matrix_get_rows; @@ -1416,8 +1402,8 @@ ((imtr_guiInterface *)&mat_gui_interface_markers)->getNumBuffers = fts_get_num_buffers_default; ((imtr_guiInterface *)&mat_gui_interface_markers)->getBufferObject = fts_get_buffer_object_default; ((imtr_guiInterface *)&mat_gui_interface_markers)->getBufferIndex = fts_get_buffer_index_default; - ((imtr_guiInterface *)&mat_gui_interface_markers)->getRing = fts_get_ring; - ((imtr_guiInterface *)&mat_gui_interface_markers)->setRingOffset = fts_set_ring_offset; + ((imtr_guiInterface *)&mat_gui_interface_markers)->getRing = NULL; + ((imtr_guiInterface *)&mat_gui_interface_markers)->setRingOffset = NULL; mat_gui_interface_markers.isVector = mat_gui_markers_is_vector; mat_gui_interface_markers.getSize = mat_gui_markers_get_size; @@ -1837,8 +1823,8 @@ ((imtr_guiInterface *)&mat_gui_interface_score)->getNumBuffers = fts_get_num_buffers_default; ((imtr_guiInterface *)&mat_gui_interface_score)->getBufferObject = fts_get_buffer_object_default; ((imtr_guiInterface *)&mat_gui_interface_score)->getBufferIndex = fts_get_buffer_index_default; - ((imtr_guiInterface *)&mat_gui_interface_score)->getRing = fts_get_ring; - ((imtr_guiInterface *)&mat_gui_interface_score)->setRingOffset = fts_set_ring_offset; + ((imtr_guiInterface *)&mat_gui_interface_score)->getRing = NULL; + ((imtr_guiInterface *)&mat_gui_interface_score)->setRingOffset = NULL; mat_gui_interface_score.isVector = mat_gui_score_is_vector; mat_gui_interface_score.getSize = mat_gui_score_get_size; @@ -2098,8 +2084,8 @@ ((imtr_guiInterface *)&mat_gui_interface_matrix)->getNumBuffers = fts_get_num_buffers_default; ((imtr_guiInterface *)&mat_gui_interface_matrix)->getBufferObject = fts_get_buffer_object_default; ((imtr_guiInterface *)&mat_gui_interface_matrix)->getBufferIndex = fts_get_buffer_index_default; - ((imtr_guiInterface *)&mat_gui_interface_matrix)->getRing = fts_get_ring; - ((imtr_guiInterface *)&mat_gui_interface_matrix)->setRingOffset = fts_set_ring_offset; + ((imtr_guiInterface *)&mat_gui_interface_matrix)->getRing = NULL; + ((imtr_guiInterface *)&mat_gui_interface_matrix)->setRingOffset = NULL; mat_gui_interface_matrix.getMatrixConfig = mat_gui_matrix_get_matrix_config; mat_gui_interface_matrix.getRows = mat_gui_matrix_get_rows; @@ -2388,8 +2374,8 @@ ((imtr_guiInterface *)&fmat_gui_interface_fvec)->getNumBuffers = fts_get_num_buffers_default; ((imtr_guiInterface *)&fmat_gui_interface_fvec)->getBufferObject = fts_get_buffer_object_default; ((imtr_guiInterface *)&fmat_gui_interface_fvec)->getBufferIndex = fts_get_buffer_index_default; - ((imtr_guiInterface *)&fmat_gui_interface_fvec)->getRing = fts_get_ring; - ((imtr_guiInterface *)&fmat_gui_interface_fvec)->setRingOffset = fts_set_ring_offset; + ((imtr_guiInterface *)&fmat_gui_interface_fvec)->getRing = NULL; + ((imtr_guiInterface *)&fmat_gui_interface_fvec)->setRingOffset = NULL; fmat_gui_interface_fvec.getSize = fmat_gui_wave_get_size; fmat_gui_interface_fvec.getPointer = fmat_gui_wave_get_ptr; @@ -2420,8 +2406,8 @@ ((imtr_guiInterface *)&fmat_gui_interface_wave)->getNumBuffers = fts_get_num_buffers_default; ((imtr_guiInterface *)&fmat_gui_interface_wave)->getBufferObject = fts_get_buffer_object_default; ((imtr_guiInterface *)&fmat_gui_interface_wave)->getBufferIndex = fts_get_buffer_index_default; - ((imtr_guiInterface *)&fmat_gui_interface_wave)->getRing = fts_get_ring; - ((imtr_guiInterface *)&fmat_gui_interface_wave)->setRingOffset = fts_set_ring_offset; + ((imtr_guiInterface *)&fmat_gui_interface_wave)->getRing = NULL; + ((imtr_guiInterface *)&fmat_gui_interface_wave)->setRingOffset = NULL; fmat_gui_interface_wave.getSize = fmat_gui_wave_get_size; fmat_gui_interface_wave.getPointer = fmat_gui_wave_get_ptr; @@ -2622,8 +2608,8 @@ ((imtr_guiInterface *)&fmat_gui_interface_multiwave)->getNumBuffers = fts_get_num_buffers_default; ((imtr_guiInterface *)&fmat_gui_interface_multiwave)->getBufferObject = fts_get_buffer_object_default; ((imtr_guiInterface *)&fmat_gui_interface_multiwave)->getBufferIndex = fts_get_buffer_index_default; - ((imtr_guiInterface *)&fmat_gui_interface_multiwave)->getRing = fts_get_ring; - ((imtr_guiInterface *)&fmat_gui_interface_multiwave)->setRingOffset = fts_set_ring_offset; + ((imtr_guiInterface *)&fmat_gui_interface_multiwave)->getRing = NULL; + ((imtr_guiInterface *)&fmat_gui_interface_multiwave)->setRingOffset = NULL; fmat_gui_interface_multiwave.getWavesNum = fmat_gui_multiwave_get_waves_num; fmat_gui_interface_multiwave.getSize = fmat_gui_multiwave_get_size; @@ -2839,8 +2825,8 @@ ((imtr_guiInterface *)&fmat_gui_interface_sonogram)->getNumBuffers = fts_get_num_buffers_default; ((imtr_guiInterface *)&fmat_gui_interface_sonogram)->getBufferObject = fts_get_buffer_object_default; ((imtr_guiInterface *)&fmat_gui_interface_sonogram)->getBufferIndex = fts_get_buffer_index_default; - ((imtr_guiInterface *)&fmat_gui_interface_sonogram)->getRing = fts_get_ring; - ((imtr_guiInterface *)&fmat_gui_interface_sonogram)->setRingOffset = fts_set_ring_offset; + ((imtr_guiInterface *)&fmat_gui_interface_sonogram)->getRing = NULL; + ((imtr_guiInterface *)&fmat_gui_interface_sonogram)->setRingOffset = NULL; fmat_gui_interface_sonogram.getLength = fmat_gui_sonogram_get_length; fmat_gui_interface_sonogram.getSpectrumSize = fmat_gui_sonogram_get_spectrum_size; @@ -3190,8 +3176,8 @@ ((imtr_guiInterface *)&fmat_gui_interface_traces)->getNumBuffers = fts_get_num_buffers_default; ((imtr_guiInterface *)&fmat_gui_interface_traces)->getBufferObject = fts_get_buffer_object_default; ((imtr_guiInterface *)&fmat_gui_interface_traces)->getBufferIndex = fts_get_buffer_index_default; - ((imtr_guiInterface *)&fmat_gui_interface_traces)->getRing = fts_get_ring; - ((imtr_guiInterface *)&fmat_gui_interface_traces)->setRingOffset = fts_set_ring_offset; + ((imtr_guiInterface *)&fmat_gui_interface_traces)->getRing = NULL; + ((imtr_guiInterface *)&fmat_gui_interface_traces)->setRingOffset = NULL; fmat_gui_interface_traces.isVector = fmat_gui_traces_is_vector; fmat_gui_interface_traces.isTimeTagged = fmat_gui_traces_is_time_tagged; @@ -3396,8 +3382,8 @@ ((imtr_guiInterface *)&fmat_gui_interface_pixels)->getNumBuffers = fts_get_num_buffers_default; ((imtr_guiInterface *)&fmat_gui_interface_pixels)->getBufferObject = fts_get_buffer_object_default; ((imtr_guiInterface *)&fmat_gui_interface_pixels)->getBufferIndex = fts_get_buffer_index_default; - ((imtr_guiInterface *)&fmat_gui_interface_pixels)->getRing = fts_get_ring; - ((imtr_guiInterface *)&fmat_gui_interface_pixels)->setRingOffset = fts_set_ring_offset; + ((imtr_guiInterface *)&fmat_gui_interface_pixels)->getRing = NULL; + ((imtr_guiInterface *)&fmat_gui_interface_pixels)->setRingOffset = NULL; fmat_gui_interface_pixels.getLength = fmat_gui_pixels_get_length; fmat_gui_interface_pixels.getSize = fmat_gui_pixels_get_size; @@ -3562,8 +3548,8 @@ ((imtr_guiInterface *)&fmat_gui_interface_bpf)->getNumBuffers = fts_get_num_buffers_default; ((imtr_guiInterface *)&fmat_gui_interface_bpf)->getBufferObject = fts_get_buffer_object_default; ((imtr_guiInterface *)&fmat_gui_interface_bpf)->getBufferIndex = fts_get_buffer_index_default; - ((imtr_guiInterface *)&fmat_gui_interface_bpf)->getRing = fts_get_ring; - ((imtr_guiInterface *)&fmat_gui_interface_bpf)->setRingOffset = fts_set_ring_offset; + ((imtr_guiInterface *)&fmat_gui_interface_bpf)->getRing = NULL; + ((imtr_guiInterface *)&fmat_gui_interface_bpf)->setRingOffset = NULL; fmat_gui_interface_bpf.getSize = fmat_gui_bpf_get_size; fmat_gui_interface_bpf.getPoint = fmat_gui_bpf_get_point; @@ -3810,8 +3796,8 @@ ((imtr_guiInterface *)&fmat_gui_interface_multibpf)->getNumBuffers = fts_get_num_buffers_default; ((imtr_guiInterface *)&fmat_gui_interface_multibpf)->getBufferObject = fts_get_buffer_object_default; ((imtr_guiInterface *)&fmat_gui_interface_multibpf)->getBufferIndex = fts_get_buffer_index_default; - ((imtr_guiInterface *)&fmat_gui_interface_multibpf)->getRing = fts_get_ring; - ((imtr_guiInterface *)&fmat_gui_interface_multibpf)->setRingOffset = fts_set_ring_offset; + ((imtr_guiInterface *)&fmat_gui_interface_multibpf)->getRing = NULL; + ((imtr_guiInterface *)&fmat_gui_interface_multibpf)->setRingOffset = NULL; fmat_gui_interface_multibpf.getSize = fmat_gui_multibpf_get_size; fmat_gui_interface_multibpf.getBpfNum = fmat_gui_multibpf_get_bpf_num; @@ -3967,8 +3953,8 @@ ((imtr_guiInterface *)&fmat_gui_interface_matrix)->getNumBuffers = fts_get_num_buffers_default; ((imtr_guiInterface *)&fmat_gui_interface_matrix)->getBufferObject = fts_get_buffer_object_default; ((imtr_guiInterface *)&fmat_gui_interface_matrix)->getBufferIndex = fts_get_buffer_index_default; - ((imtr_guiInterface *)&fmat_gui_interface_matrix)->getRing = fts_get_ring; - ((imtr_guiInterface *)&fmat_gui_interface_matrix)->setRingOffset = fts_set_ring_offset; + ((imtr_guiInterface *)&fmat_gui_interface_matrix)->getRing = NULL; + ((imtr_guiInterface *)&fmat_gui_interface_matrix)->setRingOffset = NULL; fmat_gui_interface_matrix.getMatrixConfig = fmat_gui_matrix_get_matrix_config; fmat_gui_interface_matrix.getRows = fmat_gui_matrix_get_rows; @@ -4220,8 +4206,8 @@ ((imtr_guiInterface *)&fvec_gui_interface_fvec)->getNumBuffers = fts_get_num_buffers_default; ((imtr_guiInterface *)&fvec_gui_interface_fvec)->getBufferObject = fts_get_buffer_object_default; ((imtr_guiInterface *)&fvec_gui_interface_fvec)->getBufferIndex = fts_get_buffer_index_default; - ((imtr_guiInterface *)&fvec_gui_interface_fvec)->getRing = fts_get_ring; - ((imtr_guiInterface *)&fvec_gui_interface_fvec)->setRingOffset = fts_set_ring_offset; + ((imtr_guiInterface *)&fvec_gui_interface_fvec)->getRing = NULL; + ((imtr_guiInterface *)&fvec_gui_interface_fvec)->setRingOffset = NULL; fvec_gui_interface_fvec.getSize = fvec_gui_wave_get_size; fvec_gui_interface_fvec.getPointer = fvec_gui_wave_get_ptr; @@ -4254,8 +4240,8 @@ ((imtr_guiInterface *)&fvec_gui_interface_wave)->getNumBuffers = fts_get_num_buffers_default; ((imtr_guiInterface *)&fvec_gui_interface_wave)->getBufferObject = fts_get_buffer_object_default; ((imtr_guiInterface *)&fvec_gui_interface_wave)->getBufferIndex = fts_get_buffer_index_default; - ((imtr_guiInterface *)&fvec_gui_interface_wave)->getRing = fts_get_ring; - ((imtr_guiInterface *)&fvec_gui_interface_wave)->setRingOffset = fts_set_ring_offset; + ((imtr_guiInterface *)&fvec_gui_interface_wave)->getRing = NULL; + ((imtr_guiInterface *)&fvec_gui_interface_wave)->setRingOffset = NULL; fvec_gui_interface_wave.getSize = fvec_gui_wave_get_size; fvec_gui_interface_wave.getPointer = fvec_gui_wave_get_ptr; @@ -4372,8 +4358,8 @@ ((imtr_guiInterface *)&fvec_gui_interface_matrix)->getNumBuffers = fts_get_num_buffers_default; ((imtr_guiInterface *)&fvec_gui_interface_matrix)->getBufferObject = fts_get_buffer_object_default; ((imtr_guiInterface *)&fvec_gui_interface_matrix)->getBufferIndex = fts_get_buffer_index_default; - ((imtr_guiInterface *)&fvec_gui_interface_matrix)->getRing = fts_get_ring; - ((imtr_guiInterface *)&fvec_gui_interface_matrix)->setRingOffset = fts_set_ring_offset; + ((imtr_guiInterface *)&fvec_gui_interface_matrix)->getRing = NULL; + ((imtr_guiInterface *)&fvec_gui_interface_matrix)->setRingOffset = NULL; fvec_gui_interface_matrix.getMatrixConfig = fvec_gui_matrix_get_matrix_config; fvec_gui_interface_matrix.getRows = fvec_gui_matrix_get_rows; @@ -4644,8 +4630,8 @@ ((imtr_guiInterface *)&sequence_gui_interface_bpf)->getNumBuffers = fts_get_num_buffers_default; ((imtr_guiInterface *)&sequence_gui_interface_bpf)->getBufferObject = fts_get_buffer_object_default; ((imtr_guiInterface *)&sequence_gui_interface_bpf)->getBufferIndex = fts_get_buffer_index_default; - ((imtr_guiInterface *)&sequence_gui_interface_bpf)->getRing = fts_get_ring; - ((imtr_guiInterface *)&sequence_gui_interface_bpf)->setRingOffset = fts_set_ring_offset; + ((imtr_guiInterface *)&sequence_gui_interface_bpf)->getRing = NULL; + ((imtr_guiInterface *)&sequence_gui_interface_bpf)->setRingOffset = NULL; sequence_gui_interface_bpf.getSize = sequence_gui_bpf_get_size; sequence_gui_interface_bpf.getPoint = sequence_gui_bpf_get_point; @@ -5359,8 +5345,8 @@ ((imtr_guiInterface *)&sequence_gui_interface_markers)->getNumBuffers = fts_get_num_buffers_default; ((imtr_guiInterface *)&sequence_gui_interface_markers)->getBufferObject = fts_get_buffer_object_default; ((imtr_guiInterface *)&sequence_gui_interface_markers)->getBufferIndex = fts_get_buffer_index_default; - ((imtr_guiInterface *)&sequence_gui_interface_markers)->getRing = fts_get_ring; - ((imtr_guiInterface *)&sequence_gui_interface_markers)->setRingOffset = fts_set_ring_offset; + ((imtr_guiInterface *)&sequence_gui_interface_markers)->getRing = NULL; + ((imtr_guiInterface *)&sequence_gui_interface_markers)->setRingOffset = NULL; sequence_gui_interface_markers.isVector = sequence_gui_markers_is_vector; sequence_gui_interface_markers.getSize = sequence_gui_markers_get_size; @@ -5701,8 +5687,8 @@ ((imtr_guiInterface *)&sequence_gui_interface_score)->getNumBuffers = fts_get_num_buffers_default; ((imtr_guiInterface *)&sequence_gui_interface_score)->getBufferObject = fts_get_buffer_object_default; ((imtr_guiInterface *)&sequence_gui_interface_score)->getBufferIndex = fts_get_buffer_index_default; - ((imtr_guiInterface *)&sequence_gui_interface_score)->getRing = fts_get_ring; - ((imtr_guiInterface *)&sequence_gui_interface_score)->setRingOffset = fts_set_ring_offset; + ((imtr_guiInterface *)&sequence_gui_interface_score)->getRing = NULL; + ((imtr_guiInterface *)&sequence_gui_interface_score)->setRingOffset = NULL; sequence_gui_interface_score.isVector = sequence_gui_score_is_vector; sequence_gui_interface_score.getSize = sequence_gui_score_get_size; @@ -6246,8 +6232,8 @@ ((imtr_guiInterface *)&sequence_gui_interface_matrix)->getNumBuffers = fts_get_num_buffers_default; ((imtr_guiInterface *)&sequence_gui_interface_matrix)->getBufferObject = fts_get_buffer_object_default; ((imtr_guiInterface *)&sequence_gui_interface_matrix)->getBufferIndex = fts_get_buffer_index_default; - ((imtr_guiInterface *)&sequence_gui_interface_matrix)->getRing = fts_get_ring; - ((imtr_guiInterface *)&sequence_gui_interface_matrix)->setRingOffset = fts_set_ring_offset; + ((imtr_guiInterface *)&sequence_gui_interface_matrix)->getRing = NULL; + ((imtr_guiInterface *)&sequence_gui_interface_matrix)->setRingOffset = NULL; sequence_gui_interface_matrix.getMatrixConfig = sequence_gui_matrix_get_matrix_config; @@ -6633,8 +6619,8 @@ ((imtr_guiInterface *)&sequence_gui_interface_sonogram)->getNumBuffers = fts_get_num_buffers_default; ((imtr_guiInterface *)&sequence_gui_interface_sonogram)->getBufferObject = fts_get_buffer_object_default; ((imtr_guiInterface *)&sequence_gui_interface_sonogram)->getBufferIndex = fts_get_buffer_index_default; - ((imtr_guiInterface *)&sequence_gui_interface_sonogram)->getRing = fts_get_ring; - ((imtr_guiInterface *)&sequence_gui_interface_sonogram)->setRingOffset = fts_set_ring_offset; + ((imtr_guiInterface *)&sequence_gui_interface_sonogram)->getRing = NULL; + ((imtr_guiInterface *)&sequence_gui_interface_sonogram)->setRingOffset = NULL; sequence_gui_interface_sonogram.getLength = sequence_gui_sonogram_get_length; sequence_gui_interface_sonogram.getSpectrumSize = sequence_gui_sonogram_get_spectrum_size; @@ -7047,8 +7033,8 @@ ((imtr_guiInterface *)&sequence_gui_interface_traces)->getNumBuffers = fts_get_num_buffers_default; ((imtr_guiInterface *)&sequence_gui_interface_traces)->getBufferObject = fts_get_buffer_object_default; ((imtr_guiInterface *)&sequence_gui_interface_traces)->getBufferIndex = fts_get_buffer_index_default; - ((imtr_guiInterface *)&sequence_gui_interface_traces)->getRing = fts_get_ring; - ((imtr_guiInterface *)&sequence_gui_interface_traces)->setRingOffset = fts_set_ring_offset; + ((imtr_guiInterface *)&sequence_gui_interface_traces)->getRing = NULL; + ((imtr_guiInterface *)&sequence_gui_interface_traces)->setRingOffset = NULL; sequence_gui_interface_traces.isVector = sequence_gui_traces_is_vector; sequence_gui_interface_traces.isTimeTagged = sequence_gui_traces_is_time_tagged; @@ -7334,8 +7320,8 @@ ((imtr_guiInterface *)&track_gui_interface_bpf)->getNumBuffers = fts_get_num_buffers_default; ((imtr_guiInterface *)&track_gui_interface_bpf)->getBufferObject = fts_get_buffer_object_default; ((imtr_guiInterface *)&track_gui_interface_bpf)->getBufferIndex = fts_get_buffer_index_default; - ((imtr_guiInterface *)&track_gui_interface_bpf)->getRing = fts_get_ring; - ((imtr_guiInterface *)&track_gui_interface_bpf)->setRingOffset = fts_set_ring_offset; + ((imtr_guiInterface *)&track_gui_interface_bpf)->getRing = NULL; + ((imtr_guiInterface *)&track_gui_interface_bpf)->setRingOffset = NULL; track_gui_interface_bpf.getSize = track_gui_bpf_get_size; track_gui_interface_bpf.getPoint = track_gui_bpf_get_point; @@ -7692,8 +7678,8 @@ ((imtr_guiInterface *)&track_gui_interface_sonogram)->getNumBuffers = fts_get_num_buffers_default; ((imtr_guiInterface *)&track_gui_interface_sonogram)->getBufferObject = fts_get_buffer_object_default; ((imtr_guiInterface *)&track_gui_interface_sonogram)->getBufferIndex = fts_get_buffer_index_default; - ((imtr_guiInterface *)&track_gui_interface_sonogram)->getRing = fts_get_ring; - ((imtr_guiInterface *)&track_gui_interface_sonogram)->setRingOffset = fts_set_ring_offset; + ((imtr_guiInterface *)&track_gui_interface_sonogram)->getRing = NULL; + ((imtr_guiInterface *)&track_gui_interface_sonogram)->setRingOffset = NULL; track_gui_interface_sonogram.getLength = track_gui_sonogram_get_length; track_gui_interface_sonogram.getSpectrumSize = track_gui_sonogram_get_spectrum_size; @@ -8091,8 +8077,8 @@ ((imtr_guiInterface *)&track_gui_interface_traces)->getNumBuffers = fts_get_num_buffers_default; ((imtr_guiInterface *)&track_gui_interface_traces)->getBufferObject = fts_get_buffer_object_default; ((imtr_guiInterface *)&track_gui_interface_traces)->getBufferIndex = fts_get_buffer_index_default; - ((imtr_guiInterface *)&track_gui_interface_traces)->getRing = fts_get_ring; - ((imtr_guiInterface *)&track_gui_interface_traces)->setRingOffset = fts_set_ring_offset; + ((imtr_guiInterface *)&track_gui_interface_traces)->getRing = NULL; + ((imtr_guiInterface *)&track_gui_interface_traces)->setRingOffset = NULL; track_gui_interface_traces.isVector = track_gui_traces_is_vector; track_gui_interface_traces.isTimeTagged = track_gui_traces_is_time_tagged; @@ -8387,8 +8373,8 @@ ((imtr_guiInterface *)&track_gui_interface_score)->getNumBuffers = fts_get_num_buffers_default; ((imtr_guiInterface *)&track_gui_interface_score)->getBufferObject = fts_get_buffer_object_default; ((imtr_guiInterface *)&track_gui_interface_score)->getBufferIndex = fts_get_buffer_index_default; - ((imtr_guiInterface *)&track_gui_interface_score)->getRing = fts_get_ring; - ((imtr_guiInterface *)&track_gui_interface_score)->setRingOffset = fts_set_ring_offset; + ((imtr_guiInterface *)&track_gui_interface_score)->getRing = NULL; + ((imtr_guiInterface *)&track_gui_interface_score)->setRingOffset = NULL; track_gui_interface_score.isVector = track_gui_score_is_vector; track_gui_interface_score.getSize = track_gui_score_get_size; @@ -9113,8 +9099,8 @@ ((imtr_guiInterface *)&track_gui_interface_markers)->getNumBuffers = fts_get_num_buffers_default; ((imtr_guiInterface *)&track_gui_interface_markers)->getBufferObject = fts_get_buffer_object_default; ((imtr_guiInterface *)&track_gui_interface_markers)->getBufferIndex = fts_get_buffer_index_default; - ((imtr_guiInterface *)&track_gui_interface_markers)->getRing = fts_get_ring; - ((imtr_guiInterface *)&track_gui_interface_markers)->setRingOffset = fts_set_ring_offset; + ((imtr_guiInterface *)&track_gui_interface_markers)->getRing = NULL; + ((imtr_guiInterface *)&track_gui_interface_markers)->setRingOffset = NULL; track_gui_interface_markers.isVector = track_gui_markers_is_vector; track_gui_interface_markers.getSize = track_gui_markers_get_size; @@ -9641,8 +9627,8 @@ ((imtr_guiInterface *)&track_gui_interface_matrix)->getNumBuffers = fts_get_num_buffers_default; ((imtr_guiInterface *)&track_gui_interface_matrix)->getBufferObject = fts_get_buffer_object_default; ((imtr_guiInterface *)&track_gui_interface_matrix)->getBufferIndex = fts_get_buffer_index_default; - ((imtr_guiInterface *)&track_gui_interface_matrix)->getRing = fts_get_ring; - ((imtr_guiInterface *)&track_gui_interface_matrix)->setRingOffset = fts_set_ring_offset; + ((imtr_guiInterface *)&track_gui_interface_matrix)->getRing = NULL; + ((imtr_guiInterface *)&track_gui_interface_matrix)->setRingOffset = NULL; track_gui_interface_matrix.getMatrixConfig = track_gui_matrix_get_matrix_config; track_gui_interface_matrix.getRows = track_gui_matrix_get_rows; @@ -10720,8 +10706,8 @@ ((imtr_guiInterface *)&mat_gui_interface_scatterplot)->getNumBuffers = fts_get_num_buffers_default; ((imtr_guiInterface *)&mat_gui_interface_scatterplot)->getBufferObject = fts_get_buffer_object_default; ((imtr_guiInterface *)&mat_gui_interface_scatterplot)->getBufferIndex = fts_get_buffer_index_default; - ((imtr_guiInterface *)&mat_gui_interface_scatterplot)->getRing = fts_get_ring; - ((imtr_guiInterface *)&mat_gui_interface_scatterplot)->setRingOffset = fts_set_ring_offset; + ((imtr_guiInterface *)&mat_gui_interface_scatterplot)->getRing = NULL; + ((imtr_guiInterface *)&mat_gui_interface_scatterplot)->setRingOffset = NULL; mat_gui_interface_scatterplot.getSize = mat_gui_scatterplot_get_size; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bor...@us...> - 2020-07-22 14:27:14
|
Revision: 3749 http://sourceforge.net/p/ftm/code/3749 Author: borghesi Date: 2020-07-22 14:27:12 +0000 (Wed, 22 Jul 2020) Log Message: ----------- Modified Paths: -------------- trunk/ftm/ftmlib/functions.c Modified: trunk/ftm/ftmlib/functions.c =================================================================== --- trunk/ftm/ftmlib/functions.c 2020-07-22 11:09:12 UTC (rev 3748) +++ trunk/ftm/ftmlib/functions.c 2020-07-22 14:27:12 UTC (rev 3749) @@ -978,6 +978,7 @@ _function_numcores (fts_object_t *o, fts_symbol_t s, int ac, const fts_atom_t *at, fts_atom_t *ret) { // todo: #ifdef HAVE_SYS_SYSCTL_H +#ifndef WIN32 int mib[2]; int ncpu, status; size_t intsize = sizeof(int); @@ -992,6 +993,14 @@ fts_set_int(ret, ncpu); return fts_ok; } +#else + SYSTEM_INFO sysinfo; + GetSystemInfo(&sysinfo); + int numCPU = sysinfo.dwNumberOfProcessors; + + fts_set_int(ret, numCPU); + return fts_ok; +#endif // #endif return fts_status_new(fts_new_symbol("can't get number of cores")); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bor...@us...> - 2020-07-22 11:09:14
|
Revision: 3748 http://sourceforge.net/p/ftm/code/3748 Author: borghesi Date: 2020-07-22 11:09:12 +0000 (Wed, 22 Jul 2020) Log Message: ----------- Modified Paths: -------------- trunk/ftm/ftmlib/classes/ftmdatagui.c Modified: trunk/ftm/ftmlib/classes/ftmdatagui.c =================================================================== --- trunk/ftm/ftmlib/classes/ftmdatagui.c 2020-07-17 15:55:45 UTC (rev 3747) +++ trunk/ftm/ftmlib/classes/ftmdatagui.c 2020-07-22 11:09:12 UTC (rev 3748) @@ -1561,6 +1561,7 @@ if(value < vmin) vmin = value; } } + mat_unlock(self); } *max = vmax; *min = vmin; @@ -1617,6 +1618,7 @@ } } } + mat_unlock(self); } *max1 = vmax1; @@ -1644,6 +1646,8 @@ fts_atom_t *val; float value; + mat_lock(self); + for(i = 0; i < m; i ++) { val = mat_get_element(self, i, columnIndex); @@ -1664,6 +1668,8 @@ if(meanOfSquare > squareOfmean) vstddev = sqrt(meanOfSquare - squareOfmean); + + mat_unlock(self); } *mean = vmean; @@ -2243,6 +2249,7 @@ double vmin2 = 0.0; float val; + fmat_lock(self); float *ptr = fmat_get_ptr(self) + onset; int size = fmat_get_m(self) * fmat_get_n(self); @@ -2269,6 +2276,7 @@ if(val > vmax2 && val < vmax1) vmax2 = val; } } + fmat_unlock(self); *max1 = vmax1; *min1 = vmin1; @@ -2499,6 +2507,7 @@ double vmin2 = 0.0; float val; + fmat_lock(self); float *ptr = fmat_get_ptr(self) + index; int size = fmat_get_m(self) * fmat_get_n(self); @@ -2525,6 +2534,7 @@ if(val > vmax2 && val < vmax1) vmax2 = val; } } + fmat_unlock(self); *max1 = vmax1; *min1 = vmin1; @@ -3292,6 +3302,8 @@ double vmin2 = 0.0; int size = self->m * self->n; + fmat_lock(self); + if(size > 0 && self->values != NULL) { int i; @@ -3325,6 +3337,7 @@ } } } + fmat_unlock(self); *max1 = vmax1; *min1 = vmin1; @@ -4181,7 +4194,6 @@ fvec_gui_wave_append(void *obj, void *context, int onset, int num, double startValue, double endValue) { fvec_t *self = (fvec_t *)obj; - int i; float *ptr; int size, stride; @@ -7743,6 +7755,9 @@ track_gui_traces_get_traces_num(void *obj, void *context) { sequence_t *sequence = track_get_events((track_t *)obj); + + sequence_lock_read(sequence); + if(sequence_get_type(sequence) == fmat_class) { fmat_t *trace = NULL; @@ -7752,6 +7767,8 @@ if(trace != NULL) return trace->m; } + sequence_unlock(sequence); + return 1; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bor...@us...> - 2020-07-17 15:55:46
|
Revision: 3747 http://sourceforge.net/p/ftm/code/3747 Author: borghesi Date: 2020-07-17 15:55:45 +0000 (Fri, 17 Jul 2020) Log Message: ----------- Modified Paths: -------------- trunk/ftm/util/install-mxo.sh Modified: trunk/ftm/util/install-mxo.sh =================================================================== --- trunk/ftm/util/install-mxo.sh 2020-07-17 15:55:18 UTC (rev 3746) +++ trunk/ftm/util/install-mxo.sh 2020-07-17 15:55:45 UTC (rev 3747) @@ -47,11 +47,11 @@ sf1=/Developer/Tools/SetFile sf1=/Applications/Xcode.app/Contents/Developer/usr/bin/SetFile -if [ -f $sf1 ]; then - $sf1 -a B "$proddir" -else - $sf2 -a B "$proddir" -fi +# if [ -f $sf1 ]; then +# $sf1 -a B "$proddir" +#else +# $sf2 -a B "$proddir" +#fi # remove target for clean install with current date and flags for directories echo "[removing $installdir]" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bor...@us...> - 2020-07-17 15:55:20
|
Revision: 3746 http://sourceforge.net/p/ftm/code/3746 Author: borghesi Date: 2020-07-17 15:55:18 +0000 (Fri, 17 Jul 2020) Log Message: ----------- ftm.editor update Modified Paths: -------------- trunk/ftm/externals/max5/ftm.editor.cpp Modified: trunk/ftm/externals/max5/ftm.editor.cpp =================================================================== --- trunk/ftm/externals/max5/ftm.editor.cpp 2020-07-17 15:54:50 UTC (rev 3745) +++ trunk/ftm/externals/max5/ftm.editor.cpp 2020-07-17 15:55:18 UTC (rev 3746) @@ -124,6 +124,8 @@ double domain[2]; + t_symbol *tool; + long align_view_bounds; t_jrgba cursor_color; @@ -1220,15 +1222,10 @@ } else if(pname == fts_s_colormode) { - int i; - IMTREDITOR_JUCE_NAMESPACE::StringArray modes = editorContainer->getEditor(idx)->getColorMode(); - *ac = modes.size() + 2; + *ac = 3; + fts_set_int(at, idx); fts_set_symbol(at+1, pname); - for(i = 0; i < modes.size(); i++) - { - const char *mode = modes[i].toUTF8(); - fts_set_symbol(at+2+i, fts_new_symbol(mode)); - } + fts_set_symbol(at+2, getSymbolFromString(editorContainer->getEditor(idx)->getColorMode())); } else if(pname == fts_s_colorpattern) { @@ -1550,6 +1547,30 @@ external->domain[1] = max; } + static t_symbol * + getSymToolName(ImtrTypes::tool_name tool_name) + { + if(tool_name == ImtrTypes::edit_tool) + return fts_s_edit; + else if(tool_name == ImtrTypes::draw_tool) + return fts_s_draw; + else if(tool_name == ImtrTypes::scrollzoom_tool) + return fts_s_scrollzoom; + else if(tool_name == ImtrTypes::region_tool) + return fts_s_region; + else if(tool_name == ImtrTypes::cursor_tool) + return fts_s_cursor; + else if(tool_name == ImtrTypes::lock_tool) + return fts_s_lock; + else + return fts_s_edit; + } + + void toolChanged(ImtrTypes::tool_name tool_name) + { + external->tool = getSymToolName(tool_name); + } + void resized() { IMTREDITOR_JUCE_NAMESPACE::Rectangle <int>rect = getBounds(); @@ -2080,13 +2101,8 @@ } else if(prop == fts_s_colormode) { - IMTREDITOR_JUCE_NAMESPACE::StringArray modes; if(ac > 0 && fts_is_symbol(at)) - { - for(int i = 0; i< ac; i++) - modes.add(IMTREDITOR_JUCE_NAMESPACE::String(fts_symbol_name(fts_get_symbol(at+i)))); - editorContainer->setViewColorMode(index, modes); - } + editorContainer->setViewColorMode(index, IMTREDITOR_JUCE_NAMESPACE::String(fts_symbol_name(fts_get_symbol(at)))); } else if(prop == fts_s_colorpattern) { @@ -6254,7 +6270,7 @@ if ((*ac) == 0 || (*av) == NULL) { //otherwise allocate memory - if(propname != fts_s_visibleindexes && propname != fts_s_paramcols && propname != fts_s_colorpattern && propname != fts_s_depth && propname != fts_s_colormode) + if(propname != fts_s_visibleindexes && propname != fts_s_paramcols && propname != fts_s_colorpattern && propname != fts_s_depth) { if(propname == fts_s_fgcolor || propname == fts_s_bgcolor || propname == fts_s_stavecolor || propname == fts_s_header_fgcolor || propname == fts_s_header_bgcolor || propname == fts_s_header_bordercolor || propname == fts_s_grid_color || propname == fts_s_highlight_color) *ac = 4; @@ -6334,32 +6350,11 @@ { if(have_editor) { - int i; - IMTREDITOR_JUCE_NAMESPACE::StringArray colormodes = container->editorContainer->getEditor((int)self->view_inspector_track)->getColorMode(); - - if ((*ac) == 0 || (*av) == NULL) - { - *ac = colormodes.size(); - if (!(*av = (t_atom *)getbytes(sizeof(t_atom) * (*ac)))) - { - *ac = 0; - return MAX_ERR_OUT_OF_MEM; - } - } - - for(i = 0; i < colormodes.size(); i++) - fts_set_symbol((*av) + i, container->getSymbolFromString(colormodes[i])); + IMTREDITOR_JUCE_NAMESPACE::String colormode = container->editorContainer->getEditor((int)self->view_inspector_track)->getColorMode(); + fts_set_symbol((*av), container->getSymbolFromString(colormode)); } else - { - *ac = 1; - if(!(*av = (t_atom *)getbytes(sizeof(t_atom) * (*ac)))) - { - *ac = 0; - return MAX_ERR_OUT_OF_MEM; - } fts_set_symbol((*av), fts_s_empty_string); - } } else if(propname == fts_s_colorpattern) { @@ -7314,7 +7309,7 @@ self->domainruler_visible = 0; self->domainruler_grid = 0; self->domainruler_position = 0; - self->domainruler_size = ImtrTypes::RULER_DEFAULT_SIZE; + self->domainruler_size = ImtrTypes::DOMAINRULER_DEFAULT_SIZE; self->domainruler_unit = ImtrTypes::milliseconds_unit; self->domainruler_bgcolor.red = 1.0f; self->domainruler_bgcolor.green = 1.0f; self->domainruler_bgcolor.blue = 1.0f; self->domainruler_bgcolor.alpha = 1.0; @@ -7351,6 +7346,8 @@ self->n_args = 0; + self->tool = fts_s_edit; + self->clock = clock_new(self, (method)ftmeditor_polling); self->clock_delay = DEF_CLOCK_DELAY; self->reboundsClock = clock_new(self, (method)reboundsClockCallback); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bor...@us...> - 2020-07-17 15:54:52
|
Revision: 3745 http://sourceforge.net/p/ftm/code/3745 Author: borghesi Date: 2020-07-17 15:54:50 +0000 (Fri, 17 Jul 2020) Log Message: ----------- ftm.editor update Modified Paths: -------------- trunk/ftm/ftmlib/classes/ftmdatagui.c Modified: trunk/ftm/ftmlib/classes/ftmdatagui.c =================================================================== --- trunk/ftm/ftmlib/classes/ftmdatagui.c 2020-07-17 15:53:32 UTC (rev 3744) +++ trunk/ftm/ftmlib/classes/ftmdatagui.c 2020-07-17 15:54:50 UTC (rev 3745) @@ -692,6 +692,8 @@ ((imtr_guiInterface *)&bpf_gui_interface_matrix)->getNumBuffers = fts_get_num_buffers_default; ((imtr_guiInterface *)&bpf_gui_interface_matrix)->getBufferObject = fts_get_buffer_object_default; ((imtr_guiInterface *)&bpf_gui_interface_matrix)->getBufferIndex = fts_get_buffer_index_default; + ((imtr_guiInterface *)&bpf_gui_interface_matrix)->getRing = fts_get_ring; + ((imtr_guiInterface *)&bpf_gui_interface_matrix)->setRingOffset = fts_set_ring_offset; bpf_gui_interface_matrix.getMatrixConfig = bpf_gui_matrix_get_matrix_config; bpf_gui_interface_matrix.getRows = bpf_gui_matrix_get_rows; @@ -956,6 +958,8 @@ ((imtr_guiInterface *)&dict_gui_interface_matrix)->getNumBuffers = fts_get_num_buffers_default; ((imtr_guiInterface *)&dict_gui_interface_matrix)->getBufferObject = fts_get_buffer_object_default; ((imtr_guiInterface *)&dict_gui_interface_matrix)->getBufferIndex = fts_get_buffer_index_default; + ((imtr_guiInterface *)&dict_gui_interface_matrix)->getRing = fts_get_ring; + ((imtr_guiInterface *)&dict_gui_interface_matrix)->setRingOffset = fts_set_ring_offset; dict_gui_interface_matrix.getMatrixConfig = dict_gui_matrix_get_matrix_config; dict_gui_interface_matrix.getRows = dict_gui_matrix_get_rows; @@ -1412,6 +1416,8 @@ ((imtr_guiInterface *)&mat_gui_interface_markers)->getNumBuffers = fts_get_num_buffers_default; ((imtr_guiInterface *)&mat_gui_interface_markers)->getBufferObject = fts_get_buffer_object_default; ((imtr_guiInterface *)&mat_gui_interface_markers)->getBufferIndex = fts_get_buffer_index_default; + ((imtr_guiInterface *)&mat_gui_interface_markers)->getRing = fts_get_ring; + ((imtr_guiInterface *)&mat_gui_interface_markers)->setRingOffset = fts_set_ring_offset; mat_gui_interface_markers.isVector = mat_gui_markers_is_vector; mat_gui_interface_markers.getSize = mat_gui_markers_get_size; @@ -1485,6 +1491,14 @@ return duration; } +static void +mat_gui_interface_score_get_column_indexes(void *obj, void *context, const char *colorColName, int *colorColIndex) +{ + mat_t *self = (mat_t *)obj; + fts_schema_t *colschema = mat_get_schema(self, 2); + if(colschema != NULL && fts_schema_get_size(colschema) > 0) + *colorColIndex = fts_schema_get_index(colschema, fts_new_symbol(colorColName)); +} static void * mat_gui_score_get_by_index(void *obj, void *context, int index, double *time, double *pitch, double *duration, double *color, int colorColumnIndex) @@ -1522,6 +1536,147 @@ return NULL; } +static void +mat_gui_score_get_minmax_by_column(void *obj, void *context, double *min, double *max, int columnIndex) +{ + mat_t *self = (mat_t *)obj; + int m = mat_get_m(self); + int n = mat_get_n(self); + double vmax = InitMax; + double vmin = InitMin; + + if(m > 0 && n > 0 && columnIndex < n) + { + mat_lock(self); + int i; + fts_atom_t *val; + float value; + for(i = 0; i < m; i ++) + { + val = mat_get_element(self, i, columnIndex); + if(fts_is_number(val)) + { + value = fts_get_number_float(val); + if(value > vmax) vmax = value; + if(value < vmin) vmin = value; + } + } + } + *max = vmax; + *min = vmin; +} + +static void +mat_gui_score_get_two_minmax_by_column(void *obj, void *context, double *min1, double *max1, double *min2, double *max2, int columnIndex) +{ + mat_t *self = (mat_t *)obj; + int m = mat_get_m(self); + int n = mat_get_n(self); + double vmax1 = 0.0; + double vmin1 = 0.0; + double vmax2 = 0.0; + double vmin2 = 0.0; + + if(m > 0 && n > 0 && columnIndex < n) + { + int i; + fts_atom_t *val; + float value; + + + vmax2 = InitMax; + vmax1 = vmax2; + vmin2 = InitMin; + vmin1 = vmin2; + + mat_lock(self); + + for(i = 0; i < m; i ++) + { + val = mat_get_element(self, i, columnIndex); + if(fts_is_number(val)) + { + value = fts_get_number_float(val); + if(notInfNorNaN(value)) + { + if(value > vmax2) vmax2 = value; + if(value < vmin2) vmin2 = value; + } + } + } + for(i = 0; i < m; i ++) + { + val = mat_get_element(self, i, columnIndex); + if(fts_is_number(val)) + { + value = fts_get_number_float(val); + if(notInfNorNaN(value)) + { + if(value > vmax1 && value < vmax2) vmax1 = value; + if(value < vmin1 && value > vmin2) vmin1 = value; + } + } + } + } + + *max1 = vmax1; + *min1 = vmin1; + *max2 = vmax2; + *min2 = vmin2; +} + +static void +mat_gui_score_get_mean_stddev_by_column(void *obj, void *context, double *mean, double *stddev, int columnIndex) +{ + mat_t *self = (mat_t *)obj; + int m = mat_get_m(self); + int n = mat_get_n(self); + + double vmean = 0.0; + double vstddev = 0.0; + + if(m > 0 && n > 0 && columnIndex < n) + { + double meanOfSquare = 0.0; + double squareOfmean = 0.0; + double norm = 1.0 / (double)m; + int i; + fts_atom_t *val; + float value; + + for(i = 0; i < m; i ++) + { + val = mat_get_element(self, i, columnIndex); + if(fts_is_number(val)) + { + value = fts_get_number_float(val); + if(notInfNorNaN(value)) + { + vmean += value; + meanOfSquare += value * value; + } + } + } + + vmean *= norm; + meanOfSquare *= norm; + squareOfmean = vmean * vmean; + + if(meanOfSquare > squareOfmean) + vstddev = sqrt(meanOfSquare - squareOfmean); + } + + *mean = vmean; + *stddev = vstddev; +} + +static int +mat_gui_score_get_max_num_params(void *obj, void *context) +{ + mat_t *self = (mat_t *)obj; + return self->n; +} + static void * mat_gui_score_add(void *obj, void *context, double time, double pitch, double duration, int *ret_index) { @@ -1676,10 +1831,13 @@ ((imtr_guiInterface *)&mat_gui_interface_score)->getNumBuffers = fts_get_num_buffers_default; ((imtr_guiInterface *)&mat_gui_interface_score)->getBufferObject = fts_get_buffer_object_default; ((imtr_guiInterface *)&mat_gui_interface_score)->getBufferIndex = fts_get_buffer_index_default; + ((imtr_guiInterface *)&mat_gui_interface_score)->getRing = fts_get_ring; + ((imtr_guiInterface *)&mat_gui_interface_score)->setRingOffset = fts_set_ring_offset; mat_gui_interface_score.isVector = mat_gui_score_is_vector; mat_gui_interface_score.getSize = mat_gui_score_get_size; mat_gui_interface_score.getDuration = mat_gui_score_get_duration; + mat_gui_interface_score.getColumnIndexes = mat_gui_interface_score_get_column_indexes; mat_gui_interface_score.move = mat_gui_score_move; mat_gui_interface_score.setDuration = mat_gui_score_set_duration; mat_gui_interface_score.remove = mat_gui_score_remove; @@ -1689,6 +1847,10 @@ mat_gui_interface_score.getPrevious = NULL; mat_gui_interface_score.getValues = NULL; mat_gui_interface_score.getByIndex = mat_gui_score_get_by_index; + mat_gui_interface_score.getMinMaxByColumn = mat_gui_score_get_minmax_by_column; + mat_gui_interface_score.getTwoMinMaxByColumn = mat_gui_score_get_two_minmax_by_column; + mat_gui_interface_score.getMeanStdDevByColumn = mat_gui_score_get_mean_stddev_by_column; + mat_gui_interface_score.getMaxNumParams = mat_gui_score_get_max_num_params; mat_gui_interface_score.setPitch = mat_gui_score_set_pitch; fts_class_instantiate(mat_class); @@ -1930,6 +2092,8 @@ ((imtr_guiInterface *)&mat_gui_interface_matrix)->getNumBuffers = fts_get_num_buffers_default; ((imtr_guiInterface *)&mat_gui_interface_matrix)->getBufferObject = fts_get_buffer_object_default; ((imtr_guiInterface *)&mat_gui_interface_matrix)->getBufferIndex = fts_get_buffer_index_default; + ((imtr_guiInterface *)&mat_gui_interface_matrix)->getRing = fts_get_ring; + ((imtr_guiInterface *)&mat_gui_interface_matrix)->setRingOffset = fts_set_ring_offset; mat_gui_interface_matrix.getMatrixConfig = mat_gui_matrix_get_matrix_config; mat_gui_interface_matrix.getRows = mat_gui_matrix_get_rows; @@ -2521,6 +2685,12 @@ return 1; } +static int +fmat_gui_sonogram_is_timetagged(void *obj, void *context) +{ + return 0; +} + static void fmat_gui_sonogram_get_min_max(void *obj, void *context, int rangeStartIndex, int rangeSize, double *min, double *max) { @@ -2659,6 +2829,8 @@ ((imtr_guiInterface *)&fmat_gui_interface_sonogram)->getNumBuffers = fts_get_num_buffers_default; ((imtr_guiInterface *)&fmat_gui_interface_sonogram)->getBufferObject = fts_get_buffer_object_default; ((imtr_guiInterface *)&fmat_gui_interface_sonogram)->getBufferIndex = fts_get_buffer_index_default; + ((imtr_guiInterface *)&fmat_gui_interface_sonogram)->getRing = fts_get_ring; + ((imtr_guiInterface *)&fmat_gui_interface_sonogram)->setRingOffset = fts_set_ring_offset; fmat_gui_interface_sonogram.getLength = fmat_gui_sonogram_get_length; fmat_gui_interface_sonogram.getSpectrumSize = fmat_gui_sonogram_get_spectrum_size; @@ -2666,6 +2838,7 @@ fmat_gui_interface_sonogram.getValues = fmat_gui_sonogram_get_values; fmat_gui_interface_sonogram.releaseValues = fmat_gui_sonogram_release_values; fmat_gui_interface_sonogram.isVector = fmat_gui_sonogram_is_vector; + fmat_gui_interface_sonogram.isTimeTagged = fmat_gui_sonogram_is_timetagged; fmat_gui_interface_sonogram.getMinMax = fmat_gui_sonogram_get_min_max; fmat_gui_interface_sonogram.getTwoMinMax = fmat_gui_sonogram_get_two_min_max; fmat_gui_interface_sonogram.getMeanStdDev = fmat_gui_sonogram_get_mean_stddev; @@ -2718,6 +2891,18 @@ return self->m; } +static int +fmat_gui_traces_get_max_num_params(void *obj, void *context) +{ + fmat_t *self = (fmat_t *)obj; + int maxNumParams = 0; + fmat_lock(self); + maxNumParams = fmat_get_n(self); + fmat_unlock(self); + + return maxNumParams; +} + static void fmat_gui_traces_get_column_indexes(void *obj, void *context, const char *valueColName, const char *colorColName, const char *thicknessColName, int *valueColIndex, int *colorColIndex, int *thicknessColIndex, int *indexColIndex, void **readHash, void **writeHash) @@ -2810,6 +2995,34 @@ *max = color_max; } +static void +fmat_gui_traces_get_minmax_by_column(void *obj, void *context, double *min, double *max, int columnIndex) +{ + fmat_t *self = (fmat_t *)obj; + float vmin = InitMax; + float vmax = InitMin; + + if(columnIndex >= 0 && self->n > columnIndex) + { + float *ptr = fmat_lock(self); + int stride = fmat_get_n(self); + float value; + int i; + + vmin = ptr[columnIndex]; + vmax = ptr[columnIndex]; + for(i = 0; i < self->m; i ++) + { + value = ptr[(i)*stride + columnIndex]; + if(value < vmin) vmin = value; + if(value > vmax) vmax = value; + } + fmat_unlock(self); + } + *min = vmin; + *max = vmax; +} + static double fmat_gui_traces_get_duration(void *obj, void *context) { @@ -2967,10 +3180,13 @@ ((imtr_guiInterface *)&fmat_gui_interface_traces)->getNumBuffers = fts_get_num_buffers_default; ((imtr_guiInterface *)&fmat_gui_interface_traces)->getBufferObject = fts_get_buffer_object_default; ((imtr_guiInterface *)&fmat_gui_interface_traces)->getBufferIndex = fts_get_buffer_index_default; + ((imtr_guiInterface *)&fmat_gui_interface_traces)->getRing = fts_get_ring; + ((imtr_guiInterface *)&fmat_gui_interface_traces)->setRingOffset = fts_set_ring_offset; fmat_gui_interface_traces.isVector = fmat_gui_traces_is_vector; fmat_gui_interface_traces.isTimeTagged = fmat_gui_traces_is_time_tagged; fmat_gui_interface_traces.getLength = fmat_gui_traces_get_length; + fmat_gui_interface_traces.getMaxNumParams = fmat_gui_traces_get_max_num_params; fmat_gui_interface_traces.getTracesNum = fmat_gui_traces_get_traces_num; fmat_gui_interface_traces.getColumnIndexes = fmat_gui_traces_get_column_indexes; fmat_gui_interface_traces.getValueRange = fmat_gui_traces_get_value_range; @@ -2981,6 +3197,7 @@ fmat_gui_interface_traces.setTrace = fmat_gui_traces_set_trace; fmat_gui_interface_traces.getPointer = fmat_gui_traces_get_ptr; fmat_gui_interface_traces.releasePointer = fmat_gui_traces_release_ptr; + fmat_gui_interface_traces.getMinMaxByColumn = fmat_gui_traces_get_minmax_by_column; fmat_gui_interface_traces.getByTime = NULL; fmat_gui_interface_traces.getFirst = NULL; fmat_gui_interface_traces.getNext = NULL; @@ -3166,6 +3383,8 @@ ((imtr_guiInterface *)&fmat_gui_interface_pixels)->getNumBuffers = fts_get_num_buffers_default; ((imtr_guiInterface *)&fmat_gui_interface_pixels)->getBufferObject = fts_get_buffer_object_default; ((imtr_guiInterface *)&fmat_gui_interface_pixels)->getBufferIndex = fts_get_buffer_index_default; + ((imtr_guiInterface *)&fmat_gui_interface_pixels)->getRing = fts_get_ring; + ((imtr_guiInterface *)&fmat_gui_interface_pixels)->setRingOffset = fts_set_ring_offset; fmat_gui_interface_pixels.getLength = fmat_gui_pixels_get_length; fmat_gui_interface_pixels.getSize = fmat_gui_pixels_get_size; @@ -3735,6 +3954,8 @@ ((imtr_guiInterface *)&fmat_gui_interface_matrix)->getNumBuffers = fts_get_num_buffers_default; ((imtr_guiInterface *)&fmat_gui_interface_matrix)->getBufferObject = fts_get_buffer_object_default; ((imtr_guiInterface *)&fmat_gui_interface_matrix)->getBufferIndex = fts_get_buffer_index_default; + ((imtr_guiInterface *)&fmat_gui_interface_matrix)->getRing = fts_get_ring; + ((imtr_guiInterface *)&fmat_gui_interface_matrix)->setRingOffset = fts_set_ring_offset; fmat_gui_interface_matrix.getMatrixConfig = fmat_gui_matrix_get_matrix_config; fmat_gui_interface_matrix.getRows = fmat_gui_matrix_get_rows; @@ -3901,6 +4122,22 @@ fts_object_changed((fts_object_t *)self->fmat); } +static float +fvec_gui_wave_get(void *obj, void *context, int onset, int index) +{ + fvec_t *self = (fvec_t *)obj; + float *ptr; + int size, stride; + float value = 0.0; + + fvec_vector_lock(self, &ptr, &size, &stride); + + if(index < size) + value = ptr[index*stride]; + + return value; +} + static void fvec_gui_wave_shift_data(void *obj, void *context, int onset, int index, int shiftSize) { @@ -3940,7 +4177,23 @@ fts_object_changed((fts_object_t *)self->fmat); } +static void +fvec_gui_wave_append(void *obj, void *context, int onset, int num, double startValue, double endValue) +{ + fvec_t *self = (fvec_t *)obj; + int i; + float *ptr; + int size, stride; + + fvec_vector_lock(self, &ptr, &size, &stride); + + //if(mubuTrack_append(track, num) > 0) + // fvec_gui_wave_interpolate(obj, context, onset, oldSize, size+num, startValue, endValue); + + fvec_unlock(self); +} + static void fvec_gui_fvec_install(void) { @@ -3966,8 +4219,10 @@ fvec_gui_interface_fvec.interpolate = fvec_gui_wave_interpolate; fvec_gui_interface_fvec.increment = fvec_gui_wave_increment; fvec_gui_interface_fvec.set = fvec_gui_wave_set; + fvec_gui_interface_fvec.get = fvec_gui_wave_get; fvec_gui_interface_fvec.shiftData = fvec_gui_wave_shift_data; fvec_gui_interface_fvec.deleteInterval = fvec_gui_wave_delete_interval; + fvec_gui_interface_fvec.append = fvec_gui_wave_append; fts_class_instantiate(fvec_class); fts_class_gui_interface(fvec_class, fts_s_fvec, &fvec_gui_interface_fvec); @@ -3994,11 +4249,14 @@ fvec_gui_interface_wave.getPointer = fvec_gui_wave_get_ptr; fvec_gui_interface_wave.releasePointer = fvec_gui_wave_release_ptr; fvec_gui_interface_wave.getMinMaxMean = fvec_gui_wave_get_min_max_mean; + fvec_gui_interface_wave.getTwoMinMax = fvec_gui_wave_get_two_min_max; fvec_gui_interface_wave.interpolate = fvec_gui_wave_interpolate; fvec_gui_interface_wave.increment = fvec_gui_wave_increment; fvec_gui_interface_wave.set = fvec_gui_wave_set; + fvec_gui_interface_wave.get = fvec_gui_wave_get; fvec_gui_interface_wave.shiftData = fvec_gui_wave_shift_data; fvec_gui_interface_wave.deleteInterval = fvec_gui_wave_delete_interval; + fvec_gui_interface_wave.append = fvec_gui_wave_append; fts_class_instantiate(fvec_class); fts_class_gui_interface(fvec_class, fts_s_wave, &fvec_gui_interface_wave); @@ -4102,6 +4360,8 @@ ((imtr_guiInterface *)&fvec_gui_interface_matrix)->getNumBuffers = fts_get_num_buffers_default; ((imtr_guiInterface *)&fvec_gui_interface_matrix)->getBufferObject = fts_get_buffer_object_default; ((imtr_guiInterface *)&fvec_gui_interface_matrix)->getBufferIndex = fts_get_buffer_index_default; + ((imtr_guiInterface *)&fvec_gui_interface_matrix)->getRing = fts_get_ring; + ((imtr_guiInterface *)&fvec_gui_interface_matrix)->setRingOffset = fts_set_ring_offset; fvec_gui_interface_matrix.getMatrixConfig = fvec_gui_matrix_get_matrix_config; fvec_gui_interface_matrix.getRows = fvec_gui_matrix_get_rows; @@ -5087,6 +5347,8 @@ ((imtr_guiInterface *)&sequence_gui_interface_markers)->getNumBuffers = fts_get_num_buffers_default; ((imtr_guiInterface *)&sequence_gui_interface_markers)->getBufferObject = fts_get_buffer_object_default; ((imtr_guiInterface *)&sequence_gui_interface_markers)->getBufferIndex = fts_get_buffer_index_default; + ((imtr_guiInterface *)&sequence_gui_interface_markers)->getRing = fts_get_ring; + ((imtr_guiInterface *)&sequence_gui_interface_markers)->setRingOffset = fts_set_ring_offset; sequence_gui_interface_markers.isVector = sequence_gui_markers_is_vector; sequence_gui_interface_markers.getSize = sequence_gui_markers_get_size; @@ -5139,6 +5401,12 @@ return sequence_get_total_duration((sequence_t *)obj); } +static void +sequence_gui_interface_score_get_column_indexes(void *obj, void *context, const char *colorColName, int *colorColIndex) +{ + *colorColIndex = -1; +} + static void * sequence_gui_score_get_first(void *obj, void *context, double *time, double *pitch, double *duration) { @@ -5371,6 +5639,30 @@ sequence_unlock(sequence); } +static int +sequence_gui_score_get_max_num_params(void *obj, void *context) +{ + return 0; +} + +static void +sequence_gui_score_get_minmax_by_column(void *obj, void *context, double *min, double *max, int columnIndex) +{ + *min = *max = 0; +} + +static void +sequence_gui_score_get_two_minmax_by_column(void *obj, void *context, double *min1, double *max1, double *min2, double *max2, int columnIndex) +{ + *min1 = *max1 = *min2 = *max2 = 0; +} + +static void +sequence_gui_score_get_mean_stddev_by_column(void *obj, void *context, double *mean, double *stddev, int columnIndex) +{ + *mean = 0.0; + *stddev = 0.5; +} static void sequence_gui_score_set_pitch(void *obj, void *context, void *evt, int index, double pitch) { @@ -5397,10 +5689,13 @@ ((imtr_guiInterface *)&sequence_gui_interface_score)->getNumBuffers = fts_get_num_buffers_default; ((imtr_guiInterface *)&sequence_gui_interface_score)->getBufferObject = fts_get_buffer_object_default; ((imtr_guiInterface *)&sequence_gui_interface_score)->getBufferIndex = fts_get_buffer_index_default; + ((imtr_guiInterface *)&sequence_gui_interface_score)->getRing = fts_get_ring; + ((imtr_guiInterface *)&sequence_gui_interface_score)->setRingOffset = fts_set_ring_offset; sequence_gui_interface_score.isVector = sequence_gui_score_is_vector; sequence_gui_interface_score.getSize = sequence_gui_score_get_size; sequence_gui_interface_score.getDuration = sequence_gui_score_get_duration; + sequence_gui_interface_score.getColumnIndexes = sequence_gui_interface_score_get_column_indexes; sequence_gui_interface_score.move = sequence_gui_score_move; sequence_gui_interface_score.setDuration = sequence_gui_score_set_duration; sequence_gui_interface_score.remove = sequence_gui_score_remove; @@ -5410,6 +5705,10 @@ sequence_gui_interface_score.getPrevious = sequence_gui_score_get_previous; sequence_gui_interface_score.getValues = sequence_gui_score_get_values; sequence_gui_interface_score.getByIndex = sequence_gui_score_get_by_index; + sequence_gui_interface_score.getMinMaxByColumn = sequence_gui_score_get_minmax_by_column; + sequence_gui_interface_score.getTwoMinMaxByColumn = sequence_gui_score_get_two_minmax_by_column; + sequence_gui_interface_score.getMeanStdDevByColumn = sequence_gui_score_get_mean_stddev_by_column; + sequence_gui_interface_score.getMaxNumParams = sequence_gui_score_get_max_num_params; sequence_gui_interface_score.setPitch = sequence_gui_score_set_pitch; fts_class_instantiate(sequence_class); @@ -5935,7 +6234,10 @@ ((imtr_guiInterface *)&sequence_gui_interface_matrix)->getNumBuffers = fts_get_num_buffers_default; ((imtr_guiInterface *)&sequence_gui_interface_matrix)->getBufferObject = fts_get_buffer_object_default; ((imtr_guiInterface *)&sequence_gui_interface_matrix)->getBufferIndex = fts_get_buffer_index_default; + ((imtr_guiInterface *)&sequence_gui_interface_matrix)->getRing = fts_get_ring; + ((imtr_guiInterface *)&sequence_gui_interface_matrix)->setRingOffset = fts_set_ring_offset; + sequence_gui_interface_matrix.getMatrixConfig = sequence_gui_matrix_get_matrix_config; sequence_gui_interface_matrix.getRows = sequence_gui_matrix_get_rows; sequence_gui_interface_matrix.getCols = sequence_gui_matrix_get_cols; @@ -6190,6 +6492,12 @@ return 0; } +static int +sequence_gui_sonogram_is_timetagged(void *obj, void *context) +{ + return 1; +} + static void * sequence_gui_sonogram_get_first(void *obj, void *context, double *time, int *rows, int *cols, float **ptr) { @@ -6313,6 +6621,8 @@ ((imtr_guiInterface *)&sequence_gui_interface_sonogram)->getNumBuffers = fts_get_num_buffers_default; ((imtr_guiInterface *)&sequence_gui_interface_sonogram)->getBufferObject = fts_get_buffer_object_default; ((imtr_guiInterface *)&sequence_gui_interface_sonogram)->getBufferIndex = fts_get_buffer_index_default; + ((imtr_guiInterface *)&sequence_gui_interface_sonogram)->getRing = fts_get_ring; + ((imtr_guiInterface *)&sequence_gui_interface_sonogram)->setRingOffset = fts_set_ring_offset; sequence_gui_interface_sonogram.getLength = sequence_gui_sonogram_get_length; sequence_gui_interface_sonogram.getSpectrumSize = sequence_gui_sonogram_get_spectrum_size; @@ -6323,6 +6633,7 @@ sequence_gui_interface_sonogram.getValues = NULL; sequence_gui_interface_sonogram.releaseValues = NULL; sequence_gui_interface_sonogram.isVector = sequence_gui_sonogram_is_vector; + sequence_gui_interface_sonogram.isTimeTagged = sequence_gui_sonogram_is_timetagged; sequence_gui_interface_sonogram.getFirst = sequence_gui_sonogram_get_first; sequence_gui_interface_sonogram.getByTime = sequence_gui_sonogram_get_by_time; sequence_gui_interface_sonogram.getNext = sequence_gui_sonogram_get_next; @@ -6452,6 +6763,45 @@ *max = color_max; } +static void +sequence_gui_traces_get_thickness_range(void *obj, void *context, int thicknessColumnIndex, double *min, double *max) +{ + sequence_t *sequence = (sequence_t *)obj; + float thick_min = 0.0; + float thick_max = 1.0; + + sequence_lock_read(sequence); + + if(sequence_get_type(sequence) == fmat_class) + { + fmat_t *trace = NULL; + event_t *evt = sequence_get_first(sequence); + float thickness; + if(evt != NULL && event_get_value(evt) != NULL) + trace = (fmat_t *)fts_get_object(event_get_value(evt)); + if(trace != NULL && trace->n > 2) + { + thick_min = (trace->n > 1) ? fmat_get_element(trace, 0, 2) : 0.0; + thick_max = (trace->n > 1) ? fmat_get_element(trace, 0, 2) : 1.0; + } + while(evt != NULL) + { + if(evt != NULL && event_get_value(evt) != NULL) + trace = (fmat_t *)fts_get_object(event_get_value(evt)); + if(trace != NULL && trace->n > 2) + { + thickness = fmat_get_element(trace, 0, 2); + if(thickness < thick_min) thick_min = thickness; + if(thickness > thick_max) thick_max = thickness; + } + evt = event_get_next(evt); + } + } + sequence_unlock(sequence); + + *min = thick_min; + *max = thick_max; +} static double sequence_gui_traces_get_duration(void *obj, void *context) { @@ -6475,6 +6825,30 @@ return 1; } +static int +sequence_gui_traces_get_max_num_params(void *obj, void *context) +{ + sequence_t *sequence = (sequence_t *)obj; + int maxNumParams = 0; + + sequence_lock_read(sequence); + + if(sequence_get_type(sequence) == fmat_class) + { + fmat_t *trace = NULL; + event_t *evt = sequence_get_first(sequence); + if(evt != NULL && event_get_value(evt) != NULL) + { + trace = (fmat_t *)fts_get_object(event_get_value(evt)); + if(trace != NULL) + maxNumParams = fmat_get_n(trace); + } + } + sequence_unlock(sequence); + + return maxNumParams; +} + static void sequence_gui_traces_get_column_indexes(void *obj, void *context, const char *valueColName, const char *colorColName, const char *thicknessColName, int *valueColIndex, int *colorColIndex, int *thicknessColIndex, int *indexColIndex, void **readHash, void **writeHash) @@ -6484,6 +6858,29 @@ *thicknessColIndex = 2; } +static void +sequence_gui_traces_get_minmax_by_column(void *obj, void *context, double *min, double *max, int columnIndex) +{ + switch(columnIndex) + { + default: + case 0: + { + int size = sequence_gui_traces_get_length(obj, context); + sequence_gui_traces_get_value_range(obj, context, 0, 2, 0, size, min, max); + break; + } + case 1: + { + sequence_gui_traces_get_color_range(obj, context, 1, min, max); + break; + } + case 2: + sequence_gui_traces_get_thickness_range(obj, context, 2, min, max); + break; + } +} + static void * sequence_gui_traces_get_by_time(void *obj, void *context, double the_time, double *time) { @@ -6638,10 +7035,13 @@ ((imtr_guiInterface *)&sequence_gui_interface_traces)->getNumBuffers = fts_get_num_buffers_default; ((imtr_guiInterface *)&sequence_gui_interface_traces)->getBufferObject = fts_get_buffer_object_default; ((imtr_guiInterface *)&sequence_gui_interface_traces)->getBufferIndex = fts_get_buffer_index_default; + ((imtr_guiInterface *)&sequence_gui_interface_traces)->getRing = fts_get_ring; + ((imtr_guiInterface *)&sequence_gui_interface_traces)->setRingOffset = fts_set_ring_offset; sequence_gui_interface_traces.isVector = sequence_gui_traces_is_vector; sequence_gui_interface_traces.isTimeTagged = sequence_gui_traces_is_time_tagged; sequence_gui_interface_traces.getTracesNum = sequence_gui_traces_get_traces_num; + sequence_gui_interface_traces.getMaxNumParams = sequence_gui_traces_get_max_num_params; sequence_gui_interface_traces.getColumnIndexes = sequence_gui_traces_get_column_indexes; sequence_gui_interface_traces.getLength = sequence_gui_traces_get_length; sequence_gui_interface_traces.getValueRange = sequence_gui_traces_get_value_range; @@ -6648,9 +7048,11 @@ sequence_gui_interface_traces.getColorRange = sequence_gui_traces_get_color_range; sequence_gui_interface_traces.getDuration = sequence_gui_traces_get_duration; sequence_gui_interface_traces.getTrace = NULL; + sequence_gui_interface_traces.getTraceTime = NULL; sequence_gui_interface_traces.setTrace = NULL; sequence_gui_interface_traces.getPointer = NULL; sequence_gui_interface_traces.releasePointer = NULL; + sequence_gui_interface_traces.getMinMaxByColumn = sequence_gui_traces_get_minmax_by_column; sequence_gui_interface_traces.getByTime = sequence_gui_traces_get_by_time; sequence_gui_interface_traces.getFirst = sequence_gui_traces_get_first; sequence_gui_interface_traces.getNext = sequence_gui_traces_get_next; @@ -6657,6 +7059,8 @@ sequence_gui_interface_traces.getPrev = sequence_gui_traces_get_prev; sequence_gui_interface_traces.getTraceValues = sequence_gui_traces_get_trace_values; sequence_gui_interface_traces.setTraceValues = sequence_gui_traces_set_trace_values; + sequence_gui_interface_traces.clearHashtable = NULL; + sequence_gui_interface_traces.releaseHashtable = NULL; fts_class_instantiate(sequence_class); fts_class_gui_interface(sequence_class, fts_s_traces, &sequence_gui_interface_traces); @@ -6971,6 +7375,12 @@ return 0; } +static int +track_gui_sonogram_is_timetagged(void *obj, void *context) +{ + return 1; +} + static void track_gui_sonogram_get_min_max(void *obj, void *context, int rangeStartIndex, int rangeSize, double *min, double *max) { @@ -7270,6 +7680,8 @@ ((imtr_guiInterface *)&track_gui_interface_sonogram)->getNumBuffers = fts_get_num_buffers_default; ((imtr_guiInterface *)&track_gui_interface_sonogram)->getBufferObject = fts_get_buffer_object_default; ((imtr_guiInterface *)&track_gui_interface_sonogram)->getBufferIndex = fts_get_buffer_index_default; + ((imtr_guiInterface *)&track_gui_interface_sonogram)->getRing = fts_get_ring; + ((imtr_guiInterface *)&track_gui_interface_sonogram)->setRingOffset = fts_set_ring_offset; track_gui_interface_sonogram.getLength = track_gui_sonogram_get_length; track_gui_interface_sonogram.getSpectrumSize = track_gui_sonogram_get_spectrum_size; @@ -7280,6 +7692,7 @@ track_gui_interface_sonogram.getValues = NULL; track_gui_interface_sonogram.releaseValues = NULL; track_gui_interface_sonogram.isVector = track_gui_sonogram_is_vector; + track_gui_interface_sonogram.isTimeTagged = track_gui_sonogram_is_timetagged; track_gui_interface_sonogram.getFirst = track_gui_sonogram_get_first; track_gui_interface_sonogram.getByTime = track_gui_sonogram_get_by_time; track_gui_interface_sonogram.getNext = track_gui_sonogram_get_next; @@ -7302,6 +7715,30 @@ return sequence_get_size(track_get_events((track_t *)obj)); } +static int +track_gui_traces_get_max_num_params(void *obj, void *context) +{ + sequence_t *sequence = track_get_events((track_t *)obj); + int maxNumParams = 0; + + sequence_lock_read(sequence); + + if(sequence_get_type(sequence) == fmat_class) + { + fmat_t *trace = NULL; + event_t *evt = sequence_get_first(sequence); + if(evt != NULL && event_get_value(evt) != NULL) + { + trace = (fmat_t *)fts_get_object(event_get_value(evt)); + if(trace != NULL) + maxNumParams = fmat_get_n(trace); + } + } + sequence_unlock(sequence); + + return maxNumParams; +} + static int track_gui_traces_get_traces_num(void *obj, void *context) { @@ -7399,6 +7836,46 @@ *max = color_max; } +static void +track_gui_traces_get_thickness_range(void *obj, void *context, int thicknessColumnIndex, double *min, double *max) +{ + sequence_t *sequence = track_get_events((track_t *)obj); + float thick_min = 0.0; + float thick_max = 1.0; + + sequence_lock_read(sequence); + + if(sequence_get_type(sequence) == fmat_class) + { + fmat_t *trace = NULL; + event_t *evt = sequence_get_first(sequence); + float thickness; + if(evt != NULL && event_get_value(evt) != NULL) + trace = (fmat_t *)fts_get_object(event_get_value(evt)); + if(trace != NULL && trace->n > 2) + { + thick_min = (trace->n > 1) ? fmat_get_element(trace, 0, 2) : 0.0; + thick_max = (trace->n > 1) ? fmat_get_element(trace, 0, 2) : 1.0; + } + while(evt != NULL) + { + if(evt != NULL && event_get_value(evt) != NULL) + trace = (fmat_t *)fts_get_object(event_get_value(evt)); + if(trace != NULL && trace->n > 2) + { + thickness = fmat_get_element(trace, 0, 2); + if(thickness < thick_min) thick_min = thickness; + if(thickness > thick_max) thick_max = thickness; + } + evt = event_get_next(evt); + } + } + sequence_unlock(sequence); + + *min = thick_min; + *max = thick_max; +} + static void track_gui_traces_get_column_indexes(void *obj, void *context, const char *valueColName, const char *colorColName, const char *thicknessColName, int *valueColIndex, int *colorColIndex, int *thicknessColIndex, int *indexColIndex, void **readHash, void **writeHash) @@ -7408,6 +7885,29 @@ *thicknessColIndex = 2; } +static void +track_gui_traces_get_minmax_by_column(void *obj, void *context, double *min, double *max, int columnIndex) +{ + switch(columnIndex) + { + default: + case 0: + { + int size = sequence_gui_traces_get_length(obj, context); + track_gui_traces_get_value_range(obj, context, 0, 2, 0, size, min, max); + break; + } + case 1: + { + track_gui_traces_get_color_range(obj, context, 1, min, max); + break; + } + case 2: + track_gui_traces_get_thickness_range(obj, context, 2, min, max); + break; + } +} + static double track_gui_traces_get_duration(void *obj, void *context) { @@ -7574,10 +8074,13 @@ ((imtr_guiInterface *)&track_gui_interface_traces)->getNumBuffers = fts_get_num_buffers_default; ((imtr_guiInterface *)&track_gui_interface_traces)->getBufferObject = fts_get_buffer_object_default; ((imtr_guiInterface *)&track_gui_interface_traces)->getBufferIndex = fts_get_buffer_index_default; + ((imtr_guiInterface *)&track_gui_interface_traces)->getRing = fts_get_ring; + ((imtr_guiInterface *)&track_gui_interface_traces)->setRingOffset = fts_set_ring_offset; track_gui_interface_traces.isVector = track_gui_traces_is_vector; track_gui_interface_traces.isTimeTagged = track_gui_traces_is_time_tagged; track_gui_interface_traces.getLength = track_gui_traces_get_length; + track_gui_interface_traces.getMaxNumParams = track_gui_traces_get_max_num_params; track_gui_interface_traces.getTracesNum = track_gui_traces_get_traces_num; track_gui_interface_traces.getColumnIndexes = track_gui_traces_get_column_indexes; track_gui_interface_traces.getValueRange = track_gui_traces_get_value_range; @@ -7584,9 +8087,11 @@ track_gui_interface_traces.getColorRange = track_gui_traces_get_color_range; track_gui_interface_traces.getDuration = track_gui_traces_get_duration; track_gui_interface_traces.getTrace = NULL; + track_gui_interface_traces.getTraceTime = NULL; track_gui_interface_traces.setTrace = NULL; track_gui_interface_traces.getPointer = NULL; track_gui_interface_traces.releasePointer = NULL; + track_gui_interface_traces.getMinMaxByColumn = track_gui_traces_get_minmax_by_column; track_gui_interface_traces.getByTime = track_gui_traces_get_by_time; track_gui_interface_traces.getFirst = track_gui_traces_get_first; track_gui_interface_traces.getNext = track_gui_traces_get_next; @@ -7593,6 +8098,8 @@ track_gui_interface_traces.getPrev = track_gui_traces_get_prev; track_gui_interface_traces.getTraceValues = track_gui_traces_get_trace_values; track_gui_interface_traces.setTraceValues = track_gui_traces_set_trace_values; + track_gui_interface_traces.clearHashtable = NULL; + track_gui_interface_traces.releaseHashtable = NULL; fts_class_instantiate(track_class); fts_class_gui_interface(track_class, fts_s_traces, &track_gui_interface_traces); @@ -7780,6 +8287,12 @@ return (void *)evt; } +static void +track_gui_interface_score_get_column_indexes(void *obj, void *context, const char *colorColName, int *colorColIndex) +{ + *colorColIndex = -1; +} + static void track_gui_score_move(void *obj, void *context, void *evt, int index, double time) { @@ -7857,10 +8370,13 @@ ((imtr_guiInterface *)&track_gui_interface_score)->getNumBuffers = fts_get_num_buffers_default; ((imtr_guiInterface *)&track_gui_interface_score)->getBufferObject = fts_get_buffer_object_default; ((imtr_guiInterface *)&track_gui_interface_score)->getBufferIndex = fts_get_buffer_index_default; + ((imtr_guiInterface *)&track_gui_interface_score)->getRing = fts_get_ring; + ((imtr_guiInterface *)&track_gui_interface_score)->setRingOffset = fts_set_ring_offset; track_gui_interface_score.isVector = track_gui_score_is_vector; track_gui_interface_score.getSize = track_gui_score_get_size; track_gui_interface_score.getDuration = track_gui_score_get_duration; + track_gui_interface_score.getColumnIndexes = track_gui_interface_score_get_column_indexes; track_gui_interface_score.move = track_gui_score_move; track_gui_interface_score.setDuration = track_gui_score_set_duration; track_gui_interface_score.remove = track_gui_score_remove; @@ -8580,6 +9096,8 @@ ((imtr_guiInterface *)&track_gui_interface_markers)->getNumBuffers = fts_get_num_buffers_default; ((imtr_guiInterface *)&track_gui_interface_markers)->getBufferObject = fts_get_buffer_object_default; ((imtr_guiInterface *)&track_gui_interface_markers)->getBufferIndex = fts_get_buffer_index_default; + ((imtr_guiInterface *)&track_gui_interface_markers)->getRing = fts_get_ring; + ((imtr_guiInterface *)&track_gui_interface_markers)->setRingOffset = fts_set_ring_offset; track_gui_interface_markers.isVector = track_gui_markers_is_vector; track_gui_interface_markers.getSize = track_gui_markers_get_size; @@ -9106,6 +9624,8 @@ ((imtr_guiInterface *)&track_gui_interface_matrix)->getNumBuffers = fts_get_num_buffers_default; ((imtr_guiInterface *)&track_gui_interface_matrix)->getBufferObject = fts_get_buffer_object_default; ((imtr_guiInterface *)&track_gui_interface_matrix)->getBufferIndex = fts_get_buffer_index_default; + ((imtr_guiInterface *)&track_gui_interface_matrix)->getRing = fts_get_ring; + ((imtr_guiInterface *)&track_gui_interface_matrix)->setRingOffset = fts_set_ring_offset; track_gui_interface_matrix.getMatrixConfig = track_gui_matrix_get_matrix_config; track_gui_interface_matrix.getRows = track_gui_matrix_get_rows; @@ -10183,6 +10703,9 @@ ((imtr_guiInterface *)&mat_gui_interface_scatterplot)->getNumBuffers = fts_get_num_buffers_default; ((imtr_guiInterface *)&mat_gui_interface_scatterplot)->getBufferObject = fts_get_buffer_object_default; ((imtr_guiInterface *)&mat_gui_interface_scatterplot)->getBufferIndex = fts_get_buffer_index_default; + ((imtr_guiInterface *)&mat_gui_interface_scatterplot)->getRing = fts_get_ring; + ((imtr_guiInterface *)&mat_gui_interface_scatterplot)->setRingOffset = fts_set_ring_offset; + mat_gui_interface_scatterplot.getSize = mat_gui_scatterplot_get_size; mat_gui_interface_scatterplot.getColumns = mat_gui_scatterplot_get_columns; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bor...@us...> - 2020-07-17 15:53:35
|
Revision: 3744 http://sourceforge.net/p/ftm/code/3744 Author: borghesi Date: 2020-07-17 15:53:32 +0000 (Fri, 17 Jul 2020) Log Message: ----------- Modified Paths: -------------- trunk/ftm/build/max5/osx-macho/ftmexternals.xcodeproj/project.pbxproj Modified: trunk/ftm/build/max5/osx-macho/ftmexternals.xcodeproj/project.pbxproj =================================================================== --- trunk/ftm/build/max5/osx-macho/ftmexternals.xcodeproj/project.pbxproj 2020-07-17 15:52:58 UTC (rev 3743) +++ trunk/ftm/build/max5/osx-macho/ftmexternals.xcodeproj/project.pbxproj 2020-07-17 15:53:32 UTC (rev 3744) @@ -2883,7 +2883,8 @@ 21195BA318800BF200EAB1FF /* Debug_harder */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; + ARCHS = "$(ARCHS_STANDARD)"; + CLANG_CXX_LIBRARY = "libc++"; CLANG_LINK_OBJC_RUNTIME = NO; CLANG_WARN_ENUM_CONVERSION = YES; COMPONENTS_DIR = ../../../../components; @@ -2929,9 +2930,10 @@ "$(SDIF_DIR)", ); INFOPLIST_FILE = ftmexternal.plist; + JS_DIR = ../../../../components/js; JUCE_DIR = "$(COMPONENTS_DIR)/juce"; - MACOSX_DEPLOYMENT_TARGET = 10.6; - MAXAPI_DIR = "${COMPONENTS_DIR}/maxapi/max6.1"; + MACOSX_DEPLOYMENT_TARGET = 10.7; + MAXAPI_DIR = "${COMPONENTS_DIR}/maxapi/max8"; MAX_FRAMEWORKS = "-framework MaxAPI -framework MaxAudioAPI"; OTHER_LDFLAGS = ( "-framework", @@ -3020,6 +3022,8 @@ 21195BAD18800BF200EAB1FF /* Debug_harder */ = { isa = XCBuildConfiguration; buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_CXX_LIBRARY = "libc++"; GCC_INPUT_FILETYPE = automatic; GCC_PREPROCESSOR_DEFINITIONS = ( "IMTREDITOR_C_GUI_INTERFACE=1", @@ -3069,15 +3073,16 @@ 21195BB018800BF200EAB1FF /* Debug_harder */ = { isa = XCBuildConfiguration; buildSettings = { + ARCHS = "$(ARCHS_STANDARD)"; + GCC_INPUT_FILETYPE = sourcecode.cpp.cpp; HEADER_SEARCH_PATHS = ( "$(inherited)", - "$(MAX_FRAMEWORK_DIR)/MaxJSRef.framework/Headers", - "$(MAX_FRAMEWORK_DIR)/MaxJSRef.framework/Headers/nspr", + ../../../../components/js/src, + ../../../../components/js/nspr, ); OTHER_LDFLAGS = ( "$(inherited)", - "-framework", - MaxJSRef, + ../../../../components/js/lib/libmozjs185.dylib, ); PRODUCT_NAME = ftm.javascript; }; @@ -3086,10 +3091,11 @@ 21195BB118800BF200EAB1FF /* Debug_harder */ = { isa = XCBuildConfiguration; buildSettings = { + GCC_INPUT_FILETYPE = sourcecode.cpp.cpp; HEADER_SEARCH_PATHS = ( "$(inherited)", - "$(MAX_FRAMEWORK_DIR)/MaxJSRef.framework/Headers", - "$(MAX_FRAMEWORK_DIR)/MaxJSRef.framework/Headers/nspr", + ../../../../components/js/src, + ../../../../components/js/nspr, ); OTHER_LDFLAGS = ( "-framework", @@ -3297,6 +3303,8 @@ 218B72340E80091000A7CEAD /* Debug_optimised */ = { isa = XCBuildConfiguration; buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_CXX_LIBRARY = "libc++"; COMBINE_HIDPI_IMAGES = YES; GCC_INPUT_FILETYPE = automatic; GCC_PREPROCESSOR_DEFINITIONS = ( @@ -3475,16 +3483,17 @@ 218B72490E80091000A7CEAD /* Debug_optimised */ = { isa = XCBuildConfiguration; buildSettings = { + ARCHS = "$(ARCHS_STANDARD)"; COMBINE_HIDPI_IMAGES = YES; + GCC_INPUT_FILETYPE = sourcecode.cpp.cpp; HEADER_SEARCH_PATHS = ( "$(inherited)", - "$(MAX_FRAMEWORK_DIR)/MaxJSRef.framework/Headers", - "$(MAX_FRAMEWORK_DIR)/MaxJSRef.framework/Headers/nspr", + ../../../../components/js/src, + ../../../../components/js/nspr, ); OTHER_LDFLAGS = ( "$(inherited)", - "-framework", - MaxJSRef, + ../../../../components/js/lib/libmozjs185.dylib, ); PRODUCT_NAME = ftm.javascript; }; @@ -3494,10 +3503,11 @@ isa = XCBuildConfiguration; buildSettings = { COMBINE_HIDPI_IMAGES = YES; + GCC_INPUT_FILETYPE = sourcecode.cpp.cpp; HEADER_SEARCH_PATHS = ( "$(inherited)", - "$(MAX_FRAMEWORK_DIR)/MaxJSRef.framework/Headers", - "$(MAX_FRAMEWORK_DIR)/MaxJSRef.framework/Headers/nspr", + ../../../../components/js/src, + ../../../../components/js/nspr, ); OTHER_LDFLAGS = ( "-framework", @@ -3593,7 +3603,8 @@ 218B72540E80091000A7CEAD /* Debug_optimised */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; + ARCHS = "$(ARCHS_STANDARD)"; + CLANG_CXX_LIBRARY = "libc++"; CLANG_LINK_OBJC_RUNTIME = NO; CLANG_WARN_ENUM_CONVERSION = YES; COMPONENTS_DIR = ../../../../components; @@ -3637,9 +3648,10 @@ "$(SDIF_DIR)", ); INFOPLIST_FILE = ftmexternal.plist; + JS_DIR = ../../../../components/js; JUCE_DIR = "$(COMPONENTS_DIR)/juce"; - MACOSX_DEPLOYMENT_TARGET = 10.6; - MAXAPI_DIR = "${COMPONENTS_DIR}/maxapi/max6.1"; + MACOSX_DEPLOYMENT_TARGET = 10.7; + MAXAPI_DIR = "${COMPONENTS_DIR}/maxapi/max8"; MAX_FRAMEWORKS = "-framework MaxAPI -framework MaxAudioAPI"; OTHER_LDFLAGS = ( "-framework", @@ -3704,6 +3716,8 @@ 3B1CA7E00C467B12005F0280 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_CXX_LIBRARY = "libc++"; COMBINE_HIDPI_IMAGES = YES; GCC_INPUT_FILETYPE = automatic; GCC_PREPROCESSOR_DEFINITIONS = ( @@ -3740,6 +3754,8 @@ 3B1CA7E10C467B12005F0280 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_CXX_LIBRARY = "libc++"; COMBINE_HIDPI_IMAGES = YES; GCC_INPUT_FILETYPE = automatic; GCC_PREPROCESSOR_DEFINITIONS = ( @@ -4078,7 +4094,8 @@ 3B5DEE230861C3ED00B9AEEA /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; + ARCHS = "$(ARCHS_STANDARD)"; + CLANG_CXX_LIBRARY = "libc++"; CLANG_LINK_OBJC_RUNTIME = NO; CLANG_WARN_ENUM_CONVERSION = YES; COMPONENTS_DIR = ../../../../components; @@ -4120,9 +4137,10 @@ "$(SDIF_DIR)", ); INFOPLIST_FILE = ftmexternal.plist; + JS_DIR = ../../../../components/js; JUCE_DIR = "$(COMPONENTS_DIR)/juce"; - MACOSX_DEPLOYMENT_TARGET = 10.6; - MAXAPI_DIR = "${COMPONENTS_DIR}/maxapi/max6.1"; + MACOSX_DEPLOYMENT_TARGET = 10.7; + MAXAPI_DIR = "${COMPONENTS_DIR}/maxapi/max8"; MAX_FRAMEWORKS = "-framework MaxAPI -framework MaxAudioAPI"; OTHER_LDFLAGS = ( "-framework", @@ -4148,6 +4166,7 @@ isa = XCBuildConfiguration; buildSettings = { ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; + CLANG_CXX_LIBRARY = "libc++"; CLANG_LINK_OBJC_RUNTIME = NO; CLANG_WARN_ENUM_CONVERSION = YES; COMPONENTS_DIR = ../../../../components; @@ -4196,9 +4215,10 @@ "$(SDIF_DIR)", ); INFOPLIST_FILE = ftmexternal.plist; + JS_DIR = ../../../../components/js; JUCE_DIR = "$(COMPONENTS_DIR)/juce"; - MACOSX_DEPLOYMENT_TARGET = 10.6; - MAXAPI_DIR = "${COMPONENTS_DIR}/maxapi/max6.1"; + MACOSX_DEPLOYMENT_TARGET = 10.7; + MAXAPI_DIR = "${COMPONENTS_DIR}/maxapi/max8"; MAX_FRAMEWORKS = "-framework MaxAPI -framework MaxAudioAPI"; OTHER_LDFLAGS = ( "-framework", @@ -4243,6 +4263,420 @@ }; name = Release; }; + 3BFD349324C1F61800A7EF6B /* ReleaseCodesign */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_LINK_OBJC_RUNTIME = NO; + CLANG_WARN_ENUM_CONVERSION = YES; + CODE_SIGN_IDENTITY = "Developer ID Application: INST RECHER COORD ACOUST MUSICALE (3BD2P55TR2)"; + CODE_SIGN_STYLE = Manual; + COMPONENTS_DIR = ../../../../components; + COMPONENT_LIBS = "$(SDIF_LIBS) $(SNDFILE_LIBS)"; + COPYING_PRESERVES_HFS_DATA = YES; + COPY_PHASE_STRIP = YES; + DEBUG_FLAGS = "_NDEBUG=1 NEBUG=1"; + DEBUG_INFORMATION_FORMAT = dwarf; + EXTERNALS_DIR = "../../../../../build-max5"; + FRAMEWORK_SEARCH_PATHS = ( + "$(FTM_FRAMEWORK_DIR)", + "$(MAXAPI_DIR)/**", + /Library/Frameworks, + ); + FTM_FRAMEWORKS = "$(FTM_FRAMEWORK_DIR)/ftm.mxo/Contents/MacOS/ftm"; + FTM_FRAMEWORK_DIR = "$(EXTERNALS_DIR)"; + FTM_VERSION = 2.6; + GCC_AUTO_VECTORIZATION = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "$(MAXAPI_DIR)/max-includes/macho-prefix.pch"; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(DEBUG_FLAGS)", + "$(VERSION_MACROS)", + "IMTREDITOR_C_GUI_INTERFACE=1", + ); + GCC_UNROLL_LOOPS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; + GCC_WARN_CHECK_SWITCH_STATEMENTS = YES; + GCC_WARN_FOUR_CHARACTER_CONSTANTS = YES; + GCC_WARN_SIGN_COMPARE = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNKNOWN_PRAGMAS = NO; + GCC_WARN_UNUSED_FUNCTION = NO; + GCC_WARN_UNUSED_PARAMETER = NO; + GCC_WARN_UNUSED_VALUE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + GENERATE_PKGINFO_FILE = YES; + HEADER_SEARCH_PATHS = ( + "$(MAXAPI_DIR)/**", + "$(EXTERNALS_DIR)/ftm.mxo/Contents/Headers", + "$(SNDFILE_DIR)", + "$(JUCE_DIR)", + "$(SDIF_DIR)", + ); + INFOPLIST_FILE = ftmexternal.plist; + JS_DIR = ../../../../components/js; + JUCE_DIR = "$(COMPONENTS_DIR)/juce"; + MACOSX_DEPLOYMENT_TARGET = 10.7; + MAXAPI_DIR = "${COMPONENTS_DIR}/maxapi/max8"; + MAX_FRAMEWORKS = "-framework MaxAPI -framework MaxAudioAPI"; + OTHER_CODE_SIGN_FLAGS = "--timestamp"; + OTHER_LDFLAGS = ( + "-framework", + Carbon, + "-lmx", + "$(SYS_FRAMEWORKS)", + "$(MAX_FRAMEWORKS)", + "$(FTM_FRAMEWORKS)", + "$(COMPONENT_LIBS)", + ); + PRODUCT_NAME = install; + SDIF_DIR = "$(COMPONENTS_DIR)/sdif"; + SDIF_LIBS = "$(SDIF_DIR)/macos-fat/libsdif.a"; + SECTORDER_FLAGS = ""; + SNDFILE_DIR = "$(COMPONENTS_DIR)/sndfile"; + SNDFILE_LIBS = "$(SNDFILE_DIR)/macos/libFLAC.a $(SNDFILE_DIR)/macos/libogg.a $(SNDFILE_DIR)/macos/libsndfile.a $(SNDFILE_DIR)/macos/libvorbis.a $(SNDFILE_DIR)/macos/libvorbisenc.a"; + SYS_FRAMEWORKS = "-framework Accelerate"; + WARNING_CFLAGS = ""; + WRAPPER_EXTENSION = mxo; + }; + name = ReleaseCodesign; + }; + 3BFD349424C1F61800A7EF6B /* ReleaseCodesign */ = { + isa = XCBuildConfiguration; + buildSettings = { + MACOSX_DEPLOYMENT_TARGET = ""; + PRODUCT_NAME = all; + }; + name = ReleaseCodesign; + }; + 3BFD349524C1F61800A7EF6B /* ReleaseCodesign */ = { + isa = XCBuildConfiguration; + buildSettings = { + PRODUCT_NAME = basic; + }; + name = ReleaseCodesign; + }; + 3BFD349624C1F61800A7EF6B /* ReleaseCodesign */ = { + isa = XCBuildConfiguration; + buildSettings = { + PRODUCT_NAME = max; + }; + name = ReleaseCodesign; + }; + 3BFD349724C1F61800A7EF6B /* ReleaseCodesign */ = { + isa = XCBuildConfiguration; + buildSettings = { + PRODUCT_NAME = additional; + }; + name = ReleaseCodesign; + }; + 3BFD349824C1F61800A7EF6B /* ReleaseCodesign */ = { + isa = XCBuildConfiguration; + buildSettings = { + PRODUCT_NAME = install; + }; + name = ReleaseCodesign; + }; + 3BFD349924C1F61800A7EF6B /* ReleaseCodesign */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + PRODUCT_NAME = ftm.startup; + }; + name = ReleaseCodesign; + }; + 3BFD349A24C1F61800A7EF6B /* ReleaseCodesign */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + PRODUCT_NAME = ftm.object; + }; + name = ReleaseCodesign; + }; + 3BFD349B24C1F61800A7EF6B /* ReleaseCodesign */ = { + isa = XCBuildConfiguration; + buildSettings = { + PRODUCT_NAME = ftm.mess; + SDKROOT = macosx; + }; + name = ReleaseCodesign; + }; + 3BFD349C24C1F61800A7EF6B /* ReleaseCodesign */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + PRODUCT_NAME = ftm.vecdisplay; + }; + name = ReleaseCodesign; + }; + 3BFD349D24C1F61800A7EF6B /* ReleaseCodesign */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_CXX_LIBRARY = "libc++"; + COMBINE_HIDPI_IMAGES = YES; + GCC_INPUT_FILETYPE = automatic; + GCC_PREPROCESSOR_DEFINITIONS = ( + "IMTREDITOR_C_GUI_INTERFACE=1", + "DISABLE_JUCE_NAMESPACE=1", + "_NDEBUG=1", + "NDEBUG=1", + "IMTREDITOR_DONT_USE_LOCAL_JUCEINCLUDES=1", + "JUCER_XCODE_MAC_F6D2F4CF=1", + ); + HEADER_SEARCH_PATHS = ( + "$(inherited)", + "$(COMPONENTS_DIR)/juce", + "$(COMPONENTS_DIR)/juce/modules", + "$(COMPONENTS_DIR)/ImtrEditor/**", + ); + OTHER_LDFLAGS = ( + "${inherited}", + "-framework", + Cocoa, + "-framework", + IOKit, + "-framework", + QuartzCore, + "-framework", + WebKit, + "-framework", + OpenGL, + ); + PRODUCT_NAME = ftm.editor; + }; + name = ReleaseCodesign; + }; + 3BFD349E24C1F61800A7EF6B /* ReleaseCodesign */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + PRODUCT_NAME = ftm.absargs; + }; + name = ReleaseCodesign; + }; + 3BFD349F24C1F61800A7EF6B /* ReleaseCodesign */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + PRODUCT_NAME = ftm.buffer; + }; + name = ReleaseCodesign; + }; + 3BFD34A024C1F61800A7EF6B /* ReleaseCodesign */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD)"; + COMBINE_HIDPI_IMAGES = YES; + GCC_INPUT_FILETYPE = sourcecode.cpp.cpp; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + ../../../../components/js/src, + ../../../../components/js/nspr, + ); + OTHER_LDFLAGS = ( + "$(inherited)", + ../../../../components/js/lib/libmozjs185.dylib, + ); + PRODUCT_NAME = ftm.javascript; + }; + name = ReleaseCodesign; + }; + 3BFD34A124C1F61800A7EF6B /* ReleaseCodesign */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + GCC_INPUT_FILETYPE = sourcecode.cpp.cpp; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + ../../../../components/js/src, + ../../../../components/js/nspr, + ); + OTHER_LDFLAGS = ( + "-framework", + Carbon, + "-lmx", + "-framework", + MaxAPI, + "-framework", + MaxAudioAPI, + ); + PRODUCT_NAME = ftmjs; + }; + name = ReleaseCodesign; + }; + 3BFD34A224C1F61800A7EF6B /* ReleaseCodesign */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + "$(MAX_FRAMEWORK_DIR)/JitterAPI.framework/Headers", + ); + OTHER_LDFLAGS = ( + "$(inherited)", + "-framework", + JitterAPI, + ); + PRODUCT_NAME = ftm.jitter; + }; + name = ReleaseCodesign; + }; + 3BFD34A324C1F61800A7EF6B /* ReleaseCodesign */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + PRODUCT_NAME = ftm.clone; + }; + name = ReleaseCodesign; + }; + 3BFD34A424C1F61800A7EF6B /* ReleaseCodesign */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + PRODUCT_NAME = ftm.copy; + }; + name = ReleaseCodesign; + }; + 3BFD34A524C1F61800A7EF6B /* ReleaseCodesign */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + PRODUCT_NAME = ftm.inter; + }; + name = ReleaseCodesign; + }; + 3BFD34A624C1F61800A7EF6B /* ReleaseCodesign */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + PRODUCT_NAME = ftm.iter; + }; + name = ReleaseCodesign; + }; + 3BFD34A724C1F61800A7EF6B /* ReleaseCodesign */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + PRODUCT_NAME = ftm.list; + }; + name = ReleaseCodesign; + }; + 3BFD34A824C1F61800A7EF6B /* ReleaseCodesign */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + PRODUCT_NAME = ftm.midiparse; + }; + name = ReleaseCodesign; + }; + 3BFD34A924C1F61800A7EF6B /* ReleaseCodesign */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + PRODUCT_NAME = ftm.midiunparse; + }; + name = ReleaseCodesign; + }; + 3BFD34AA24C1F61800A7EF6B /* ReleaseCodesign */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + PRODUCT_NAME = ftm.play; + }; + name = ReleaseCodesign; + }; + 3BFD34AB24C1F61800A7EF6B /* ReleaseCodesign */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + PRODUCT_NAME = ftm.print; + }; + name = ReleaseCodesign; + }; + 3BFD34AC24C1F61800A7EF6B /* ReleaseCodesign */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + PRODUCT_NAME = ftm.record; + }; + name = ReleaseCodesign; + }; + 3BFD34AD24C1F61800A7EF6B /* ReleaseCodesign */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + PRODUCT_NAME = ftm.schedule; + }; + name = ReleaseCodesign; + }; + 3BFD34AE24C1F61800A7EF6B /* ReleaseCodesign */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + PRODUCT_NAME = ftm.tween; + }; + name = ReleaseCodesign; + }; + 3BFD34AF24C1F61800A7EF6B /* ReleaseCodesign */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + PRODUCT_NAME = ftm.value; + }; + name = ReleaseCodesign; + }; + 3BFD34B024C1F61800A7EF6B /* ReleaseCodesign */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + PRODUCT_NAME = ftm.sdif.info; + }; + name = ReleaseCodesign; + }; + 3BFD34B124C1F61800A7EF6B /* ReleaseCodesign */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + PRODUCT_NAME = ftm.sdif.write; + }; + name = ReleaseCodesign; + }; + 3BFD34B224C1F61800A7EF6B /* ReleaseCodesign */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + OTHER_LDFLAGS = ( + "$(inherited)", + "-lsqlite3", + ); + PRODUCT_NAME = ftm.sqlite; + }; + name = ReleaseCodesign; + }; + 3BFD34B324C1F61800A7EF6B /* ReleaseCodesign */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + PRODUCT_NAME = ftm.guilistener; + }; + name = ReleaseCodesign; + }; + 3BFD34B424C1F61800A7EF6B /* ReleaseCodesign */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + PRODUCT_NAME = "ftm.editor DOC"; + ZERO_LINK = NO; + }; + name = ReleaseCodesign; + }; 3BFEBB460AB172450026E8D4 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -4263,10 +4697,11 @@ isa = XCBuildConfiguration; buildSettings = { COMBINE_HIDPI_IMAGES = YES; + GCC_INPUT_FILETYPE = sourcecode.cpp.cpp; HEADER_SEARCH_PATHS = ( "$(inherited)", - "$(MAX_FRAMEWORK_DIR)/MaxJSRef.framework/Headers", - "$(MAX_FRAMEWORK_DIR)/MaxJSRef.framework/Headers/nspr", + ../../../../components/js/src, + ../../../../components/js/nspr, ); OTHER_LDFLAGS = ( "-framework", @@ -4285,10 +4720,11 @@ isa = XCBuildConfiguration; buildSettings = { COMBINE_HIDPI_IMAGES = YES; + GCC_INPUT_FILETYPE = sourcecode.cpp.cpp; HEADER_SEARCH_PATHS = ( "$(inherited)", - "$(MAX_FRAMEWORK_DIR)/MaxJSRef.framework/Headers", - "$(MAX_FRAMEWORK_DIR)/MaxJSRef.framework/Headers/nspr", + ../../../../components/js/src, + ../../../../components/js/nspr, ); OTHER_LDFLAGS = ( "-framework", @@ -4330,16 +4766,17 @@ 5CCF9CF20AAB84E900DD7255 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + ARCHS = "$(ARCHS_STANDARD)"; COMBINE_HIDPI_IMAGES = YES; + GCC_INPUT_FILETYPE = sourcecode.cpp.cpp; HEADER_SEARCH_PATHS = ( "$(inherited)", - "$(MAX_FRAMEWORK_DIR)/MaxJSRef.framework/Headers", - "$(MAX_FRAMEWORK_DIR)/MaxJSRef.framework/Headers/nspr", + ../../../../components/js/src, + ../../../../components/js/nspr, ); OTHER_LDFLAGS = ( "$(inherited)", - "-framework", - MaxJSRef, + ../../../../components/js/lib/debug/libmozjs185.dylib, ); PRODUCT_NAME = ftm.javascript; }; @@ -4348,16 +4785,17 @@ 5CCF9CF30AAB84E900DD7255 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + ARCHS = "$(ARCHS_STANDARD)"; COMBINE_HIDPI_IMAGES = YES; + GCC_INPUT_FILETYPE = sourcecode.cpp.cpp; HEADER_SEARCH_PATHS = ( "$(inherited)", - "$(MAX_FRAMEWORK_DIR)/MaxJSRef.framework/Headers", - "$(MAX_FRAMEWORK_DIR)/MaxJSRef.framework/Headers/nspr", + ../../../../components/js/src, + ../../../../components/js/nspr, ); OTHER_LDFLAGS = ( "$(inherited)", - "-framework", - MaxJSRef, + ../../../../components/js/lib/libmozjs185.dylib, ); PRODUCT_NAME = ftm.javascript; }; @@ -4465,6 +4903,7 @@ 21195BC218800BF200EAB1FF /* Debug_harder */, 218B724E0E80091000A7CEAD /* Debug_optimised */, 211ADFE00A7902A2007B20AA /* Release */, + 3BFD34B224C1F61800A7EF6B /* ReleaseCodesign */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug_optimised; @@ -4476,6 +4915,7 @@ 21195BC118800BF200EAB1FF /* Debug_harder */, 218B724D0E80091000A7CEAD /* Debug_optimised */, 2195DE0809A24A63007DEFAF /* Release */, + 3BFD34B124C1F61800A7EF6B /* ReleaseCodesign */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug_optimised; @@ -4487,6 +4927,7 @@ 21195BAA18800BF200EAB1FF /* Debug_harder */, 3B198EB60F8A0E3500F53450 /* Debug_optimised */, 3B198EB70F8A0E3500F53450 /* Release */, + 3BFD349A24C1F61800A7EF6B /* ReleaseCodesign */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug_optimised; @@ -4498,6 +4939,7 @@ 21195BAD18800BF200EAB1FF /* Debug_harder */, 218B72340E80091000A7CEAD /* Debug_optimised */, 3B1CA7E10C467B12005F0280 /* Release */, + 3BFD349D24C1F61800A7EF6B /* ReleaseCodesign */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug_optimised; @@ -4509,6 +4951,7 @@ 21195BC318800BF200EAB1FF /* Debug_harder */, 218B723A0E80091000A7CEAD /* Debug_optimised */, 3B3E8CAC0AB81AB100EE3FAB /* Release */, + 3BFD34B324C1F61800A7EF6B /* ReleaseCodesign */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug_optimised; @@ -4520,6 +4963,7 @@ 21195BAB18800BF200EAB1FF /* Debug_harder */, 218B72320E80091000A7CEAD /* Debug_optimised */, 3B5DEDD80861C3ED00B9AEEA /* Release */, + 3BFD349B24C1F61800A7EF6B /* ReleaseCodesign */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug_optimised; @@ -4531,6 +4975,7 @@ 21195BAC18800BF200EAB1FF /* Debug_harder */, 218B72330E80091000A7CEAD /* Debug_optimised */, 3B5DEDDC0861C3ED00B9AEEA /* Release */, + 3BFD349C24C1F61800A7EF6B /* ReleaseCodesign */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug_optimised; @@ -4542,6 +4987,7 @@ 21195BB318800BF200EAB1FF /* Debug_harder */, 218B72380E80091000A7CEAD /* Debug_optimised */, 3B5DEDE00861C3ED00B9AEEA /* Release */, + 3BFD34A324C1F61800A7EF6B /* ReleaseCodesign */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug_optimised; @@ -4553,6 +4999,7 @@ 21195BB418800BF200EAB1FF /* Debug_harder */, 218B72390E80091000A7CEAD /* Debug_optimised */, 3B5DEDE40861C3ED00B9AEEA /* Release */, + 3BFD34A424C1F61800A7EF6B /* ReleaseCodesign */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug_optimised; @@ -4564,6 +5011,7 @@ 21195BB518800BF200EAB1FF /* Debug_harder */, 218B723B0E80091000A7CEAD /* Debug_optimised */, 3B5DEDE80861C3ED00B9AEEA /* Release */, + 3BFD34A524C1F61800A7EF6B /* ReleaseCodesign */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug_optimised; @@ -4575,6 +5023,7 @@ 21195BB618800BF200EAB1FF /* Debug_harder */, 218B723C0E80091000A7CEAD /* Debug_optimised */, 3B5DEDEC0861C3ED00B9AEEA /* Release */, + 3BFD34A624C1F61800A7EF6B /* ReleaseCodesign */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug_optimised; @@ -4586,6 +5035,7 @@ 21195BB718800BF200EAB1FF /* Debug_harder */, 218B723D0E80091000A7CEAD /* Debug_optimised */, 3B5DEDF00861C3ED00B9AEEA /* Release */, + 3BFD34A724C1F61800A7EF6B /* ReleaseCodesign */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug_optimised; @@ -4597,6 +5047,7 @@ 21195BB818800BF200EAB1FF /* Debug_harder */, 218B723F0E80091000A7CEAD /* Debug_optimised */, 3B5DEDF40861C3ED00B9AEEA /* Release */, + 3BFD34A824C1F61800A7EF6B /* ReleaseCodesign */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug_optimised; @@ -4608,6 +5059,7 @@ 21195BB918800BF200EAB1FF /* Debug_harder */, 218B72400E80091000A7CEAD /* Debug_optimised */, 3B5DEDF80861C3ED00B9AEEA /* Release */, + 3BFD34A924C1F61800A7EF6B /* ReleaseCodesign */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug_optimised; @@ -4619,6 +5071,7 @@ 21195BBA18800BF200EAB1FF /* Debug_harder */, 218B72420E80091000A7CEAD /* Debug_optimised */, 3B5DEDFC0861C3ED00B9AEEA /* Release */, + 3BFD34AA24C1F61800A7EF6B /* ReleaseCodesign */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug_optimised; @@ -4630,6 +5083,7 @@ 21195BBB18800BF200EAB1FF /* Debug_harder */, 218B72430E80091000A7CEAD /* Debug_optimised */, 3B5DEE000861C3ED00B9AEEA /* Release */, + 3BFD34AB24C1F61800A7EF6B /* ReleaseCodesign */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug_optimised; @@ -4641,6 +5095,7 @@ 21195BBC18800BF200EAB1FF /* Debug_harder */, 218B72440E80091000A7CEAD /* Debug_optimised */, 3B5DEE040861C3ED00B9AEEA /* Release */, + 3BFD34AC24C1F61800A7EF6B /* ReleaseCodesign */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug_optimised; @@ -4652,6 +5107,7 @@ 21195BBD18800BF200EAB1FF /* Debug_harder */, 218B72450E80091000A7CEAD /* Debug_optimised */, 3B5DEE080861C3ED00B9AEEA /* Release */, + 3BFD34AD24C1F61800A7EF6B /* ReleaseCodesign */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug_optimised; @@ -4663,6 +5119,7 @@ 21195BBE18800BF200EAB1FF /* Debug_harder */, 218B72460E80091000A7CEAD /* Debug_optimised */, 3B5DEE0C0861C3ED00B9AEEA /* Release */, + 3BFD34AE24C1F61800A7EF6B /* ReleaseCodesign */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug_optimised; @@ -4674,6 +5131,7 @@ 21195BBF18800BF200EAB1FF /* Debug_harder */, 218B72470E80091000A7CEAD /* Debug_optimised */, 3B5DEE100861C3ED00B9AEEA /* Release */, + 3BFD34AF24C1F61800A7EF6B /* ReleaseCodesign */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug_optimised; @@ -4685,6 +5143,7 @@ 21195BAF18800BF200EAB1FF /* Debug_harder */, 218B72360E80091000A7CEAD /* Debug_optimised */, 3B5DEE140861C3ED00B9AEEA /* Release */, + 3BFD349F24C1F61800A7EF6B /* ReleaseCodesign */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug_optimised; @@ -4696,6 +5155,7 @@ 21195BA518800BF200EAB1FF /* Debug_harder */, 218B72480E80091000A7CEAD /* Debug_optimised */, 3B5DEE180861C3ED00B9AEEA /* Release */, + 3BFD349524C1F61800A7EF6B /* ReleaseCodesign */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug_optimised; @@ -4707,6 +5167,7 @@ 21195BC018800BF200EAB1FF /* Debug_harder */, 218B724C0E80091000A7CEAD /* Debug_optimised */, 3B5DEE200861C3ED00B9AEEA /* Release */, + 3BFD34B024C1F61800A7EF6B /* ReleaseCodesign */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug_optimised; @@ -4718,6 +5179,7 @@ 21195BA318800BF200EAB1FF /* Debug_harder */, 218B72540E80091000A7CEAD /* Debug_optimised */, 3B5DEE240861C3ED00B9AEEA /* Release */, + 3BFD349324C1F61800A7EF6B /* ReleaseCodesign */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug_optimised; @@ -4729,6 +5191,7 @@ 21195BC418800BF200EAB1FF /* Debug_harder */, 218B72530E80091000A7CEAD /* Debug_optimised */, 3BE056E00DE6E6AA0060DD66 /* Release */, + 3BFD34B424C1F61800A7EF6B /* ReleaseCodesign */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug_optimised; @@ -4740,6 +5203,7 @@ 21195BA418800BF200EAB1FF /* Debug_harder */, 218B72500E80091000A7CEAD /* Debug_optimised */, 3BFEBB470AB172450026E8D4 /* Release */, + 3BFD349424C1F61800A7EF6B /* ReleaseCodesign */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug_optimised; @@ -4751,6 +5215,7 @@ 21195BB118800BF200EAB1FF /* Debug_harder */, 218B724A0E80091000A7CEAD /* Debug_optimised */, 5C3DB7AF0AB078B000BE8005 /* Release */, + 3BFD34A124C1F61800A7EF6B /* ReleaseCodesign */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug_optimised; @@ -4762,6 +5227,7 @@ 21195BA918800BF200EAB1FF /* Debug_harder */, 5CC6167A1604F43B000E6DD7 /* Debug_optimised */, 5CC6167B1604F43B000E6DD7 /* Release */, + 3BFD349924C1F61800A7EF6B /* ReleaseCodesign */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug_optimised; @@ -4773,6 +5239,7 @@ 21195BB018800BF200EAB1FF /* Debug_harder */, 218B72490E80091000A7CEAD /* Debug_optimised */, 5CCF9CF30AAB84E900DD7255 /* Release */, + 3BFD34A024C1F61800A7EF6B /* ReleaseCodesign */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug_optimised; @@ -4784,6 +5251,7 @@ 21195BA618800BF200EAB1FF /* Debug_harder */, 218B72370E80091000A7CEAD /* Debug_optimised */, 5CD5DD240E17F6A800C85139 /* Release */, + 3BFD349624C1F61800A7EF6B /* ReleaseCodesign */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug_optimised; @@ -4795,6 +5263,7 @@ 21195BA718800BF200EAB1FF /* Debug_harder */, 218B724F0E80091000A7CEAD /* Debug_optimised */, 5CEF80C10AB1582C00AE1943 /* Release */, + 3BFD349724C1F61800A7EF6B /* ReleaseCodesign */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug_optimised; @@ -4806,6 +5275,7 @@ 21195BB218800BF200EAB1FF /* Debug_harder */, 218B724B0E80091000A7CEAD /* Debug_optimised */, 5CEF80DC0AB1590700AE1943 /* Release */, + 3BFD34A224C1F61800A7EF6B /* ReleaseCodesign */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug_optimised; @@ -4817,6 +5287,7 @@ 21195BAE18800BF200EAB1FF /* Debug_harder */, 218B72350E80091000A7CEAD /* Debug_optimised */, 5CFCB88A0AA5A86800DAB9A5 /* Release */, + 3BFD349E24C1F61800A7EF6B /* ReleaseCodesign */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug_optimised; @@ -4828,6 +5299,7 @@ 21195BA818800BF200EAB1FF /* Debug_harder */, 218B72510E80091000A7CEAD /* Debug_optimised */, F47D6B1608A36696001D9636 /* Release */, + 3BFD349824C1F61800A7EF6B /* ReleaseCodesign */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug_optimised; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bor...@us...> - 2020-07-17 15:53:00
|
Revision: 3743 http://sourceforge.net/p/ftm/code/3743 Author: borghesi Date: 2020-07-17 15:52:58 +0000 (Fri, 17 Jul 2020) Log Message: ----------- ftm update for new release Modified Paths: -------------- trunk/ftm/build/max5/osx-macho/ftmlib.xcodeproj/project.pbxproj Modified: trunk/ftm/build/max5/osx-macho/ftmlib.xcodeproj/project.pbxproj =================================================================== --- trunk/ftm/build/max5/osx-macho/ftmlib.xcodeproj/project.pbxproj 2019-05-23 13:13:23 UTC (rev 3742) +++ trunk/ftm/build/max5/osx-macho/ftmlib.xcodeproj/project.pbxproj 2020-07-17 15:52:58 UTC (rev 3743) @@ -715,7 +715,7 @@ outputFiles = ( tokenizer.c, ); - script = "flex -8 -v -olex.yy.c $INPUT_FILE_PATH;\nmv -f lex.yy.c $INPUT_FILE_DIR/$INPUT_FILE_BASE.c\nmv -f $INPUT_FILE_DIR/$INPUT_FILE_BASE.c $DERIVED_FILE_DIR/$INPUT_FILE_BASE.c"; + script = "flex -8 -v -olex.yy.c $INPUT_FILE_PATH;\nmv -f lex.yy.c $DERIVED_FILE_DIR/$INPUT_FILE_BASE.c\ncp $DERIVED_FILE_DIR/$INPUT_FILE_BASE.c $INPUT_FILE_DIR/$INPUT_FILE_BASE.c"; }; 5C209E3F0D0EDF8200BF135F /* PBXBuildRule */ = { isa = PBXBuildRule; @@ -2729,8 +2729,8 @@ ); JUCE_DIR = "$(COMPONENTS_DIR)/juce"; LIBRARY_SEARCH_PATHS = "$(COMPONENTS_DIR)/**"; - MACOSX_DEPLOYMENT_TARGET = 10.6; - MAXAPI_DIR = "${COMPONENTS_DIR}/maxapi/max5"; + MACOSX_DEPLOYMENT_TARGET = 10.9; + MAXAPI_DIR = "${COMPONENTS_DIR}/maxapi/max8"; MAX_FRAMEWORKS = "-framework MaxAPI -framework MaxAudioAPI"; OTHER_LDFLAGS = ( "$(SYS_FRAMEWORKS)", @@ -2745,12 +2745,12 @@ SNDFILE_LIBS = "$(SNDFILE_DIR)/macos/libFLAC.a $(SNDFILE_DIR)/macos/libogg.a $(SNDFILE_DIR)/macos/libsndfile.a $(SNDFILE_DIR)/macos/libvorbis.a $(SNDFILE_DIR)/macos/libvorbisenc.a"; SYS_FRAMEWORKS = "-framework Accelerate -framework Carbon"; VECLIB_FRAMEWORK_DIR = /System/Library/Frameworks/Accelerate.framework/Frameworks; - VERSION_DATE = "\\\"12/2018\\\""; + VERSION_DATE = "\\\"07/2020\\\""; VERSION_MACROS = "FTM_VERSION_MAJOR=$(VERSION_MAJOR) FTM_VERSION_MINOR=$(VERSION_MINOR) FTM_VERSION_RELEASE=$(VERSION_RELEASE) FTM_VERSION_TAG=$(VERSION_TAG) FTM_VERSION_DATE=$(VERSION_DATE)"; VERSION_MAJOR = 2; VERSION_MINOR = 7; - VERSION_RELEASE = 3; - VERSION_TAG = "\\\"64bit\\\""; + VERSION_RELEASE = 4; + VERSION_TAG = "\\\"BETA\\\""; }; name = Debug_optimised; }; @@ -2834,7 +2834,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = YES; - ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; + ARCHS = "$(ARCHS_STANDARD)"; COMBINE_HIDPI_IMAGES = YES; COPYING_PRESERVES_HFS_DATA = YES; COPY_PHASE_STRIP = YES; @@ -2951,8 +2951,8 @@ ); JUCE_DIR = "$(COMPONENTS_DIR)/juce"; LIBRARY_SEARCH_PATHS = "$(COMPONENTS_DIR)/**"; - MACOSX_DEPLOYMENT_TARGET = 10.6; - MAXAPI_DIR = "${COMPONENTS_DIR}/maxapi/max5"; + MACOSX_DEPLOYMENT_TARGET = 10.9; + MAXAPI_DIR = "${COMPONENTS_DIR}/maxapi/max8"; MAX_FRAMEWORKS = "-framework MaxAPI -framework MaxAudioAPI"; OTHER_LDFLAGS = ( "$(SYS_FRAMEWORKS)", @@ -2967,12 +2967,12 @@ SNDFILE_LIBS = "$(SNDFILE_DIR)/macos/libFLAC.a $(SNDFILE_DIR)/macos/libogg.a $(SNDFILE_DIR)/macos/libsndfile.a $(SNDFILE_DIR)/macos/libvorbis.a $(SNDFILE_DIR)/macos/libvorbisenc.a"; SYS_FRAMEWORKS = "-framework Accelerate -framework Carbon"; VECLIB_FRAMEWORK_DIR = /System/Library/Frameworks/Accelerate.framework/Frameworks; - VERSION_DATE = "\\\"12/2018\\\""; + VERSION_DATE = "\\\"07/2020\\\""; VERSION_MACROS = "FTM_VERSION_MAJOR=$(VERSION_MAJOR) FTM_VERSION_MINOR=$(VERSION_MINOR) FTM_VERSION_RELEASE=$(VERSION_RELEASE) FTM_VERSION_TAG=$(VERSION_TAG) FTM_VERSION_DATE=$(VERSION_DATE)"; VERSION_MAJOR = 2; VERSION_MINOR = 7; - VERSION_RELEASE = 3; - VERSION_TAG = "\\\"64bit\\\""; + VERSION_RELEASE = 4; + VERSION_TAG = "\\\"BETA\\\""; }; name = Debug; }; @@ -3027,8 +3027,8 @@ ); JUCE_DIR = "$(COMPONENTS_DIR)/juce"; LIBRARY_SEARCH_PATHS = "$(COMPONENTS_DIR)/**"; - MACOSX_DEPLOYMENT_TARGET = 10.6; - MAXAPI_DIR = "${COMPONENTS_DIR}/maxapi/max5"; + MACOSX_DEPLOYMENT_TARGET = 10.9; + MAXAPI_DIR = "${COMPONENTS_DIR}/maxapi/max8"; MAX_FRAMEWORKS = "-framework MaxAPI -framework MaxAudioAPI"; OTHER_LDFLAGS = ( "$(SYS_FRAMEWORKS)", @@ -3043,12 +3043,12 @@ SNDFILE_LIBS = "$(SNDFILE_DIR)/macos/libFLAC.a $(SNDFILE_DIR)/macos/libogg.a $(SNDFILE_DIR)/macos/libsndfile.a $(SNDFILE_DIR)/macos/libvorbis.a $(SNDFILE_DIR)/macos/libvorbisenc.a"; SYS_FRAMEWORKS = "-framework Accelerate -framework Carbon"; VECLIB_FRAMEWORK_DIR = /System/Library/Frameworks/Accelerate.framework/Frameworks; - VERSION_DATE = "\\\"12/2018\\\""; + VERSION_DATE = "\\\"07/2020\\\""; VERSION_MACROS = "FTM_VERSION_MAJOR=$(VERSION_MAJOR) FTM_VERSION_MINOR=$(VERSION_MINOR) FTM_VERSION_RELEASE=$(VERSION_RELEASE) FTM_VERSION_TAG=$(VERSION_TAG) FTM_VERSION_DATE=$(VERSION_DATE)"; VERSION_MAJOR = 2; VERSION_MINOR = 7; - VERSION_RELEASE = 3; - VERSION_TAG = "\\\"64bit\\\""; + VERSION_RELEASE = 4; + VERSION_TAG = "\\\"BETA\\\""; WARNING_LDFLAGS = ""; }; name = Release; @@ -3057,7 +3057,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = YES; - ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; + ARCHS = "$(ARCHS_STANDARD)"; COMBINE_HIDPI_IMAGES = YES; COPYING_PRESERVES_HFS_DATA = YES; COPY_PHASE_STRIP = YES; @@ -3087,7 +3087,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; + ARCHS = "$(ARCHS_STANDARD)"; COMBINE_HIDPI_IMAGES = YES; EXECUTABLE_SUFFIX = ""; EXTERNALS_DIR = "../../../../../build-max5"; @@ -3137,6 +3137,263 @@ }; name = Release; }; + 3BFD348924C1F0F500A7EF6B /* ReleaseCodesign */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; + CODE_SIGN_IDENTITY = "Developer ID Application: INST RECHER COORD ACOUST MUSICALE (3BD2P55TR2)"; + CODE_SIGN_STYLE = Manual; + COMPONENTS_DIR = ../../../../components; + COPY_PHASE_STRIP = YES; + DEBUG_INFORMATION_FORMAT = dwarf; + EXTERNALS_DIR = "../../../../../build-max5"; + FRAMEWORK_SEARCH_PATHS = ( + "$(FTM_FRAMEWORK_DIR)", + "$(MAXAPI_DIR)/**", + /Library/Frameworks, + "$(VECLIB_FRAMEWORK_DIR)", + ); + FTM_FRAMEWORK_DIR = "$(EXTERNALS_DIR)"; + GCC_AUTO_VECTORIZATION = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "$(MAXAPI_DIR)/max-includes/macho-prefix.pch"; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(DEBUG_MACROS)", + "$(VERSION_MACROS)", + "IMTREDITOR_C_GUI_INTERFACE=1", + ); + GCC_UNROLL_LOOPS = YES; + GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; + GCC_WARN_CHECK_SWITCH_STATEMENTS = YES; + GCC_WARN_EFFECTIVE_CPLUSPLUS_VIOLATIONS = YES; + GCC_WARN_MISSING_PARENTHESES = YES; + GCC_WARN_PEDANTIC = NO; + GCC_WARN_SHADOW = NO; + GCC_WARN_SIGN_COMPARE = YES; + GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES; + GCC_WARN_UNKNOWN_PRAGMAS = NO; + GCC_WARN_UNUSED_LABEL = NO; + GCC_WARN_UNUSED_PARAMETER = NO; + GCC_WARN_UNUSED_VALUE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = ( + "$(MAXAPI_DIR)/**", + "$(SNDFILE_DIR)", + "$(SDIF_DIR)", + "$(COMPONENTS_DIR)/rta", + "$(COMPONENTS_DIR)/ImtrEditor/src", + "$(VECLIB_FRAMEWORK_DIR)/vecLib.framework/Headers", + ); + JUCE_DIR = "$(COMPONENTS_DIR)/juce"; + LIBRARY_SEARCH_PATHS = "$(COMPONENTS_DIR)/**"; + MACOSX_DEPLOYMENT_TARGET = 10.9; + MAXAPI_DIR = "${COMPONENTS_DIR}/maxapi/max8"; + MAX_FRAMEWORKS = "-framework MaxAPI -framework MaxAudioAPI"; + OTHER_CODE_SIGN_FLAGS = "--timestamp"; + OTHER_LDFLAGS = ( + "$(SYS_FRAMEWORKS)", + "$(MAX_FRAMEWORKS)", + "$(SNDFILE_LIBS)", + "$(SDIF_LIBS)", + ); + SDIF_DIR = "$(COMPONENTS_DIR)/sdif"; + SDIF_LIBS = "$(SDIF_DIR)/macos-fat/libsdif.a"; + SKIP_INSTALL = YES; + SNDFILE_DIR = "$(COMPONENTS_DIR)/sndfile"; + SNDFILE_LIBS = "$(SNDFILE_DIR)/macos/libFLAC.a $(SNDFILE_DIR)/macos/libogg.a $(SNDFILE_DIR)/macos/libsndfile.a $(SNDFILE_DIR)/macos/libvorbis.a $(SNDFILE_DIR)/macos/libvorbisenc.a"; + SYS_FRAMEWORKS = "-framework Accelerate -framework Carbon"; + VECLIB_FRAMEWORK_DIR = /System/Library/Frameworks/Accelerate.framework/Frameworks; + VERSION_DATE = "\\\"07/2020\\\""; + VERSION_MACROS = "FTM_VERSION_MAJOR=$(VERSION_MAJOR) FTM_VERSION_MINOR=$(VERSION_MINOR) FTM_VERSION_RELEASE=$(VERSION_RELEASE) FTM_VERSION_TAG=$(VERSION_TAG) FTM_VERSION_DATE=$(VERSION_DATE)"; + VERSION_MAJOR = 2; + VERSION_MINOR = 7; + VERSION_RELEASE = 4; + VERSION_TAG = "\\\"BETA\\\""; + WARNING_LDFLAGS = ""; + }; + name = ReleaseCodesign; + }; + 3BFD348A24C1F0F500A7EF6B /* ReleaseCodesign */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUILT_LIBS_DIR = "$(COMPONENTS_DIR)/built-libs/macosx/ub"; + COMBINE_HIDPI_IMAGES = YES; + DYLIB_COMPATIBILITY_VERSION = "$(FRAMEWORK_VERSION)"; + DYLIB_CURRENT_VERSION = "$(FRAMEWORK_VERSION)"; + FRAMEWORK_VERSION = "$(VERSION_MAJOR).$(VERSION_MINOR)"; + INSTALL_PATH = "$(FRAMEWORK_PATH)"; + MACH_O_TYPE = mh_dylib; + OTHER_LDFLAGS = ( + "$(BUILT_LIBS_DIR)/libsdif.a", + "$(BUILT_LIBS_DIR)/libsndfile.a", + "$(BUILT_LIBS_DIR)/libFLAC.a", + "$(BUILT_LIBS_DIR)/libogg.a", + "$(BUILT_LIBS_DIR)/libvorbis.a", + "$(BUILT_LIBS_DIR)/libvorbisenc.a", + "-flat_namespace", + "-undefined", + suppress, + ); + PRODUCT_NAME = FTMlib; + WRAPPER_EXTENSION = framework; + }; + name = ReleaseCodesign; + }; + 3BFD348B24C1F0F500A7EF6B /* ReleaseCodesign */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(inherited)", + "FTS_NODEPS=1", + "FTM_DISCREET=1", + ); + PRODUCT_NAME = ftm; + SKIP_INSTALL = NO; + }; + name = ReleaseCodesign; + }; + 3BFD348C24C1F0F500A7EF6B /* ReleaseCodesign */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + COMPONENTS_DIR = ../../../../../components; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(inherited)", + "FTM_LIGHT=1", + ); + PREBINDING = NO; + PRODUCT_NAME = ftmlight; + }; + name = ReleaseCodesign; + }; + 3BFD348D24C1F0F500A7EF6B /* ReleaseCodesign */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + PRODUCT_NAME = "FTM version"; + ZERO_LINK = NO; + }; + name = ReleaseCodesign; + }; + 3BFD348E24C1F0F500A7EF6B /* ReleaseCodesign */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = YES; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + PRODUCT_NAME = doc; + ZERO_LINK = NO; + }; + name = ReleaseCodesign; + }; + 3BFD348F24C1F0F500A7EF6B /* ReleaseCodesign */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; + COMBINE_HIDPI_IMAGES = YES; + COPY_PHASE_STRIP = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + EXTERNALS_DIR = "../../../../../build-max5"; + FTM_FRAMEWORK_DIR = "$(EXTERNALS_DIR)"; + FTM_VERSION = 2.5; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + GCC_MODEL_TUNING = G5; + GENERATE_PKGINFO_FILE = YES; + INFOPLIST_FILE = ftmexternal.plist; + MACH_O_TYPE = mh_dylib; + MAXAPI_DIR = "${COMPONENTS_DIR}/maxapi/max6.1"; + PREBINDING = NO; + PRODUCT_NAME = ftm; + WRAPPER_EXTENSION = mxo; + ZERO_LINK = NO; + }; + name = ReleaseCodesign; + }; + 3BFD349024C1F0F500A7EF6B /* ReleaseCodesign */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + COMBINE_HIDPI_IMAGES = YES; + COPY_PHASE_STRIP = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + EXTERNALS_DIR = "../../../../../build-max5"; + FTM_FRAMEWORK_DIR = "$(EXTERNALS_DIR)"; + FTM_VERSION = 2.5; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + GCC_MODEL_TUNING = G5; + GENERATE_PKGINFO_FILE = YES; + INFOPLIST_FILE = ftmexternal.plist; + MACH_O_TYPE = mh_dylib; + PREBINDING = NO; + PRODUCT_NAME = ftm; + WRAPPER_EXTENSION = mxo; + ZERO_LINK = NO; + }; + name = ReleaseCodesign; + }; + 3BFD349124C1F0F500A7EF6B /* ReleaseCodesign */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; + COMBINE_HIDPI_IMAGES = YES; + COPY_PHASE_STRIP = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEBUG_MACROS = ""; + EXTERNALS_DIR = "../../../../../build-max5"; + FTM_FRAMEWORK_DIR = "$(EXTERNALS_DIR)"; + FTM_VERSION = 2.5; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + GCC_MODEL_TUNING = G5; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(DEBUG_MACROS)", + "$(VERSION_MACROS)", + "IMTREDITOR_C_GUI_INTERFACE=1", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GENERATE_PKGINFO_FILE = YES; + INFOPLIST_FILE = ftmexternal.plist; + MACH_O_TYPE = mh_dylib; + MAXAPI_DIR = "${COMPONENTS_DIR}/maxapi/max6.1"; + OTHER_LDFLAGS = ( + "$(SYS_FRAMEWORKS)", + "$(MAX_FRAMEWORKS)", + "$(SNDFILE_LIBS)", + "$(SDIF_LIBS)", + "-U_object_new_imp", + "-Uobject_method", + ); + PREBINDING = NO; + PRODUCT_NAME = ftm; + WRAPPER_EXTENSION = mxo; + ZERO_LINK = NO; + }; + name = ReleaseCodesign; + }; + 3BFD349224C1F0F500A7EF6B /* ReleaseCodesign */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + COPY_PHASE_STRIP = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + GCC_MODEL_TUNING = G5; + GCC_PREPROCESSOR_DEFINITIONS = MAPFUNS_TEST; + INSTALL_PATH = /usr/local/bin; + PREBINDING = NO; + PRODUCT_NAME = mapfuns_test; + ZERO_LINK = NO; + }; + name = ReleaseCodesign; + }; 5C209E420D0EDF8200BF135F /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -3287,8 +3544,8 @@ ); JUCE_DIR = "$(COMPONENTS_DIR)/juce"; LIBRARY_SEARCH_PATHS = "$(COMPONENTS_DIR)/**"; - MACOSX_DEPLOYMENT_TARGET = 10.6; - MAXAPI_DIR = "${COMPONENTS_DIR}/maxapi/max5"; + MACOSX_DEPLOYMENT_TARGET = 10.9; + MAXAPI_DIR = "${COMPONENTS_DIR}/maxapi/max8"; MAX_FRAMEWORKS = "-framework MaxAPI -framework MaxAudioAPI"; OTHER_LDFLAGS = ( "$(SYS_FRAMEWORKS)", @@ -3303,12 +3560,12 @@ SNDFILE_LIBS = "$(SNDFILE_DIR)/macos/libFLAC.a $(SNDFILE_DIR)/macos/libogg.a $(SNDFILE_DIR)/macos/libsndfile.a $(SNDFILE_DIR)/macos/libvorbis.a $(SNDFILE_DIR)/macos/libvorbisenc.a"; SYS_FRAMEWORKS = "-framework Accelerate -framework Carbon"; VECLIB_FRAMEWORK_DIR = /System/Library/Frameworks/Accelerate.framework/Frameworks; - VERSION_DATE = "\\\"12/2018\\\""; + VERSION_DATE = "\\\"07/2020\\\""; VERSION_MACROS = "FTM_VERSION_MAJOR=$(VERSION_MAJOR) FTM_VERSION_MINOR=$(VERSION_MINOR) FTM_VERSION_RELEASE=$(VERSION_RELEASE) FTM_VERSION_TAG=$(VERSION_TAG) FTM_VERSION_DATE=$(VERSION_DATE)"; VERSION_MAJOR = 2; VERSION_MINOR = 7; - VERSION_RELEASE = 3; - VERSION_TAG = "\\\"64bit\\\""; + VERSION_RELEASE = 4; + VERSION_TAG = "\\\"BETA\\\""; }; name = Debug_harder; }; @@ -3398,6 +3655,7 @@ 2125B0791BA6F85900D5349C /* Debug_optimised */, 2125B07A1BA6F85900D5349C /* Debug_harder */, 2125B07B1BA6F85900D5349C /* Release */, + 3BFD349124C1F0F500A7EF6B /* ReleaseCodesign */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; @@ -3409,6 +3667,7 @@ 21901A421760BB8C00024867 /* Debug_optimised */, 21901A431760BB8C00024867 /* Debug_harder */, 21901A441760BB8C00024867 /* Release */, + 3BFD349224C1F0F500A7EF6B /* ReleaseCodesign */, 21901A451760BB8C00024867 /* FORUM-Research */, 21901A461760BB8C00024867 /* FORUM-Studio */, ); @@ -3422,6 +3681,7 @@ 2195C62E1B908DC50035FEBD /* Debug_optimised */, 2195C62F1B908DC50035FEBD /* Debug_harder */, 2195C6301B908DC50035FEBD /* Release */, + 3BFD349024C1F0F500A7EF6B /* ReleaseCodesign */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; @@ -3433,6 +3693,7 @@ 21ECC366164954EE00F9B177 /* Debug_optimised */, 8937598910760F4A00644327 /* Debug_harder */, 3B5DED9D0861BFE900B9AEEA /* Release */, + 3BFD348A24C1F0F500A7EF6B /* ReleaseCodesign */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; @@ -3444,6 +3705,7 @@ 21ECC365164954EE00F9B177 /* Debug_optimised */, 8937598810760F4A00644327 /* Debug_harder */, 3B5DEDA10861BFE900B9AEEA /* Release */, + 3BFD348924C1F0F500A7EF6B /* ReleaseCodesign */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; @@ -3455,6 +3717,7 @@ 21ECC36B164954EE00F9B177 /* Debug_optimised */, 3BE2BC0415F752F9008368F4 /* Debug_harder */, 3BE2BC0515F752F9008368F4 /* Release */, + 3BFD348F24C1F0F500A7EF6B /* ReleaseCodesign */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; @@ -3466,6 +3729,7 @@ 21ECC367164954EE00F9B177 /* Debug_optimised */, 8937598A10760F4A00644327 /* Debug_harder */, 5C209E430D0EDF8200BF135F /* Release */, + 3BFD348B24C1F0F500A7EF6B /* ReleaseCodesign */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; @@ -3477,6 +3741,7 @@ 21ECC369164954EE00F9B177 /* Debug_optimised */, 8937598C10760F4A00644327 /* Debug_harder */, 5C66590A0EBF39A700B866A4 /* Release */, + 3BFD348D24C1F0F500A7EF6B /* ReleaseCodesign */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; @@ -3488,6 +3753,7 @@ 21ECC368164954EE00F9B177 /* Debug_optimised */, 8937598B10760F4A00644327 /* Debug_harder */, 5C7009750B836A3F001663C7 /* Release */, + 3BFD348C24C1F0F500A7EF6B /* ReleaseCodesign */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; @@ -3499,6 +3765,7 @@ 21ECC36A164954EE00F9B177 /* Debug_optimised */, 8937598D10760F4A00644327 /* Debug_harder */, 5CA2145E0DA59B3F00FA6B15 /* Release */, + 3BFD348E24C1F0F500A7EF6B /* ReleaseCodesign */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bor...@us...> - 2019-05-23 13:13:33
|
Revision: 3742 http://sourceforge.net/p/ftm/code/3742 Author: borghesi Date: 2019-05-23 13:13:23 +0000 (Thu, 23 May 2019) Log Message: ----------- ftm.editor: update of gui interface Modified Paths: -------------- trunk/ftm/ftmlib/classes/ftmdatagui.c Modified: trunk/ftm/ftmlib/classes/ftmdatagui.c =================================================================== --- trunk/ftm/ftmlib/classes/ftmdatagui.c 2019-05-22 09:55:28 UTC (rev 3741) +++ trunk/ftm/ftmlib/classes/ftmdatagui.c 2019-05-23 13:13:23 UTC (rev 3742) @@ -420,6 +420,20 @@ return 0; } +static void +fts_get_ring(void *obj, void *context, int *ringIndex, int *ringSize, int *ringTail, double *ringOffset) +{ + *ringIndex = 0; + *ringSize = 0; + *ringTail = 0; + *ringOffset = 0.0; +} + +static void +fts_set_ring_offset(void *obj, void *context, double ringOffset) +{ +} + #pragma mark Bpf: BPF interface /************************************************************ * @@ -520,6 +534,8 @@ ((imtr_guiInterface *)&bpf_gui_interface_bpf)->getNumBuffers = fts_get_num_buffers_default; ((imtr_guiInterface *)&bpf_gui_interface_bpf)->getBufferObject = fts_get_buffer_object_default; ((imtr_guiInterface *)&bpf_gui_interface_bpf)->getBufferIndex = fts_get_buffer_index_default; + ((imtr_guiInterface *)&bpf_gui_interface_bpf)->getRing = fts_get_ring; + ((imtr_guiInterface *)&bpf_gui_interface_bpf)->setRingOffset = fts_set_ring_offset; bpf_gui_interface_bpf.getSize = bpf_gui_bpf_get_size; bpf_gui_interface_bpf.getPoint = bpf_gui_bpf_get_point; @@ -2200,8 +2216,9 @@ ((imtr_guiInterface *)&fmat_gui_interface_fvec)->getNumBuffers = fts_get_num_buffers_default; ((imtr_guiInterface *)&fmat_gui_interface_fvec)->getBufferObject = fts_get_buffer_object_default; ((imtr_guiInterface *)&fmat_gui_interface_fvec)->getBufferIndex = fts_get_buffer_index_default; + ((imtr_guiInterface *)&fmat_gui_interface_fvec)->getRing = fts_get_ring; + ((imtr_guiInterface *)&fmat_gui_interface_fvec)->setRingOffset = fts_set_ring_offset; - fmat_gui_interface_fvec.getSize = fmat_gui_wave_get_size; fmat_gui_interface_fvec.getPointer = fmat_gui_wave_get_ptr; fmat_gui_interface_fvec.releasePointer = fmat_gui_wave_release_ptr; @@ -2231,6 +2248,8 @@ ((imtr_guiInterface *)&fmat_gui_interface_wave)->getNumBuffers = fts_get_num_buffers_default; ((imtr_guiInterface *)&fmat_gui_interface_wave)->getBufferObject = fts_get_buffer_object_default; ((imtr_guiInterface *)&fmat_gui_interface_wave)->getBufferIndex = fts_get_buffer_index_default; + ((imtr_guiInterface *)&fmat_gui_interface_wave)->getRing = fts_get_ring; + ((imtr_guiInterface *)&fmat_gui_interface_wave)->setRingOffset = fts_set_ring_offset; fmat_gui_interface_wave.getSize = fmat_gui_wave_get_size; fmat_gui_interface_wave.getPointer = fmat_gui_wave_get_ptr; @@ -2429,6 +2448,8 @@ ((imtr_guiInterface *)&fmat_gui_interface_multiwave)->getNumBuffers = fts_get_num_buffers_default; ((imtr_guiInterface *)&fmat_gui_interface_multiwave)->getBufferObject = fts_get_buffer_object_default; ((imtr_guiInterface *)&fmat_gui_interface_multiwave)->getBufferIndex = fts_get_buffer_index_default; + ((imtr_guiInterface *)&fmat_gui_interface_multiwave)->getRing = fts_get_ring; + ((imtr_guiInterface *)&fmat_gui_interface_multiwave)->setRingOffset = fts_set_ring_offset; fmat_gui_interface_multiwave.getWavesNum = fmat_gui_multiwave_get_waves_num; fmat_gui_interface_multiwave.getSize = fmat_gui_multiwave_get_size; @@ -3309,6 +3330,8 @@ ((imtr_guiInterface *)&fmat_gui_interface_bpf)->getNumBuffers = fts_get_num_buffers_default; ((imtr_guiInterface *)&fmat_gui_interface_bpf)->getBufferObject = fts_get_buffer_object_default; ((imtr_guiInterface *)&fmat_gui_interface_bpf)->getBufferIndex = fts_get_buffer_index_default; + ((imtr_guiInterface *)&fmat_gui_interface_bpf)->getRing = fts_get_ring; + ((imtr_guiInterface *)&fmat_gui_interface_bpf)->setRingOffset = fts_set_ring_offset; fmat_gui_interface_bpf.getSize = fmat_gui_bpf_get_size; fmat_gui_interface_bpf.getPoint = fmat_gui_bpf_get_point; @@ -3555,6 +3578,8 @@ ((imtr_guiInterface *)&fmat_gui_interface_multibpf)->getNumBuffers = fts_get_num_buffers_default; ((imtr_guiInterface *)&fmat_gui_interface_multibpf)->getBufferObject = fts_get_buffer_object_default; ((imtr_guiInterface *)&fmat_gui_interface_multibpf)->getBufferIndex = fts_get_buffer_index_default; + ((imtr_guiInterface *)&fmat_gui_interface_multibpf)->getRing = fts_get_ring; + ((imtr_guiInterface *)&fmat_gui_interface_multibpf)->setRingOffset = fts_set_ring_offset; fmat_gui_interface_multibpf.getSize = fmat_gui_multibpf_get_size; fmat_gui_interface_multibpf.getBpfNum = fmat_gui_multibpf_get_bpf_num; @@ -3930,6 +3955,8 @@ ((imtr_guiInterface *)&fvec_gui_interface_fvec)->getNumBuffers = fts_get_num_buffers_default; ((imtr_guiInterface *)&fvec_gui_interface_fvec)->getBufferObject = fts_get_buffer_object_default; ((imtr_guiInterface *)&fvec_gui_interface_fvec)->getBufferIndex = fts_get_buffer_index_default; + ((imtr_guiInterface *)&fvec_gui_interface_fvec)->getRing = fts_get_ring; + ((imtr_guiInterface *)&fvec_gui_interface_fvec)->setRingOffset = fts_set_ring_offset; fvec_gui_interface_fvec.getSize = fvec_gui_wave_get_size; fvec_gui_interface_fvec.getPointer = fvec_gui_wave_get_ptr; @@ -3960,6 +3987,8 @@ ((imtr_guiInterface *)&fvec_gui_interface_wave)->getNumBuffers = fts_get_num_buffers_default; ((imtr_guiInterface *)&fvec_gui_interface_wave)->getBufferObject = fts_get_buffer_object_default; ((imtr_guiInterface *)&fvec_gui_interface_wave)->getBufferIndex = fts_get_buffer_index_default; + ((imtr_guiInterface *)&fvec_gui_interface_wave)->getRing = fts_get_ring; + ((imtr_guiInterface *)&fvec_gui_interface_wave)->setRingOffset = fts_set_ring_offset; fvec_gui_interface_wave.getSize = fvec_gui_wave_get_size; fvec_gui_interface_wave.getPointer = fvec_gui_wave_get_ptr; @@ -4343,6 +4372,8 @@ ((imtr_guiInterface *)&sequence_gui_interface_bpf)->getNumBuffers = fts_get_num_buffers_default; ((imtr_guiInterface *)&sequence_gui_interface_bpf)->getBufferObject = fts_get_buffer_object_default; ((imtr_guiInterface *)&sequence_gui_interface_bpf)->getBufferIndex = fts_get_buffer_index_default; + ((imtr_guiInterface *)&sequence_gui_interface_bpf)->getRing = fts_get_ring; + ((imtr_guiInterface *)&sequence_gui_interface_bpf)->setRingOffset = fts_set_ring_offset; sequence_gui_interface_bpf.getSize = sequence_gui_bpf_get_size; sequence_gui_interface_bpf.getPoint = sequence_gui_bpf_get_point; @@ -6887,6 +6918,8 @@ ((imtr_guiInterface *)&track_gui_interface_bpf)->getNumBuffers = fts_get_num_buffers_default; ((imtr_guiInterface *)&track_gui_interface_bpf)->getBufferObject = fts_get_buffer_object_default; ((imtr_guiInterface *)&track_gui_interface_bpf)->getBufferIndex = fts_get_buffer_index_default; + ((imtr_guiInterface *)&track_gui_interface_bpf)->getRing = fts_get_ring; + ((imtr_guiInterface *)&track_gui_interface_bpf)->setRingOffset = fts_set_ring_offset; track_gui_interface_bpf.getSize = track_gui_bpf_get_size; track_gui_interface_bpf.getPoint = track_gui_bpf_get_point; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bor...@us...> - 2019-05-22 10:12:08
|
Revision: 3740 http://sourceforge.net/p/ftm/code/3740 Author: borghesi Date: 2019-05-22 09:54:44 +0000 (Wed, 22 May 2019) Log Message: ----------- ftm.editor: update Modified Paths: -------------- trunk/ftm/externals/max5/ftm.editor.cpp trunk/ftm/ftmlib/classes/ftmdatagui.c Modified: trunk/ftm/externals/max5/ftm.editor.cpp =================================================================== --- trunk/ftm/externals/max5/ftm.editor.cpp 2018-12-07 10:04:01 UTC (rev 3739) +++ trunk/ftm/externals/max5/ftm.editor.cpp 2019-05-22 09:54:44 UTC (rev 3740) @@ -415,7 +415,7 @@ { imtr_guiInterface *guiInterface = (imtr_guiInterface *)fts_object_get_gui_interface(obj, interface_name); - if(index < editorContainer->getEditorsSize() && guiInterface != NULL) + if(index < editorContainer->getNumEditors() && guiInterface != NULL) { fts_object_t *old_obj = ((fts_object_t *)editorContainer->getEditor(index)->getObject()); if(old_obj != obj) @@ -452,7 +452,7 @@ IMTREDITOR_JUCE_NAMESPACE::String( fts_symbol_name(identifier))); interfaces.add(interface_name); - if(editorContainer->getEditorsSize() == 0) + if(editorContainer->getNumEditors() == 0) { IMTREDITOR_JUCE_NAMESPACE::Array <ImtrEditor *> ftmeditors; ftmeditors.add(dynamic_cast<ImtrEditor *>(c)); @@ -473,7 +473,7 @@ IMTREDITOR_JUCE_NAMESPACE::String( fts_symbol_name(identifier))); interfaces.insert(index, interface_name); - if(editorContainer->getEditorsSize() == 0) + if(editorContainer->getNumEditors() == 0) { IMTREDITOR_JUCE_NAMESPACE::Array <ImtrEditor *> ftmeditors; ftmeditors.add(dynamic_cast<ImtrEditor *>(c)); @@ -582,7 +582,7 @@ void removeView(int viewIndex) { - if(viewIndex < editorContainer->getEditorsSize()) + if(viewIndex < editorContainer->getNumEditors()) { interfaces.remove(viewIndex); editorContainer->removeEditor((dynamic_cast<IMTREDITOR_JUCE_NAMESPACE::Component *>(editorContainer->getEditors()[viewIndex])), true); @@ -754,7 +754,7 @@ void outputRange() { - if(editorContainer->getEditorsSize() > 0) + if(editorContainer->getNumEditors() > 0) { EditorAtom atoms[4]; @@ -801,6 +801,11 @@ jmouse_setcursor((t_object *)linklist_getindex(external->attachedviews, i), (t_object *)external, getCursorType(type)); } + void cursorVisibleChanged(bool visible) + { + external->cursor_visible = visible; + } + void setCursorVisible(bool visible) { external->cursor_visible = visible; @@ -1559,7 +1564,7 @@ if(editorContainer != NULL) { - for(i = editorContainer->getEditorsSize()-1; i >= 0; i--) + for(i = editorContainer->getNumEditors()-1; i >= 0; i--) { obj = (fts_object_t *)editorContainer->getEditor(i)->getObject(); fts_object_remove_listener(obj, external); @@ -1589,7 +1594,7 @@ int i; ImtrTypes::change_type changeType; const IMTREDITOR_JUCE_NAMESPACE::MessageManagerLock mmLock; - for(i = 0; i < editorContainer->getEditorsSize(); i++) + for(i = 0; i < editorContainer->getNumEditors(); i++) { changeType = external->objectsChangeType[i]; if(changeType > ImtrTypes::no_change) @@ -1625,7 +1630,7 @@ if(autoupdate && !upd) { - for(i = 0 ; i < editorContainer->getEditorsSize(); i++) + for(i = 0 ; i < editorContainer->getNumEditors(); i++) { obj = (fts_object_t *)(editorContainer->getEditor(i)->getObject()); fts_object_remove_listener(obj, external); @@ -1634,7 +1639,7 @@ } else if(!autoupdate && upd) { - for(i = 0 ; i < editorContainer->getEditorsSize(); i++) + for(i = 0 ; i < editorContainer->getNumEditors(); i++) { obj = (fts_object_t *)(editorContainer->getEditor(i)->getObject()); ftmeditor_add_listener(external, obj); @@ -1963,7 +1968,7 @@ void setViewProperty(int index, fts_symbol_t prop, int ac, fts_atom_t *at) { - if(editorContainer->getEditorsSize() > 0) + if(editorContainer->getNumEditors() > 0) { if(prop == fts_s_name) { @@ -3036,7 +3041,7 @@ static int ftmeditor_get_view_index_from_object(ftmeditor_t *self, fts_object_t *obj) { - int size = self->container->editorContainer->getEditorsSize(); + int size = self->container->editorContainer->getNumEditors(); int index = -1; int i; ImtrEditor *editor; @@ -3065,7 +3070,7 @@ else changeType = ImtrTypes::other_change; } int viewIndex = ftmeditor_get_view_index_from_object(self, o); - if(viewIndex < self->container->editorContainer->getEditorsSize() && viewIndex >= 0) + if(viewIndex < self->container->editorContainer->getNumEditors() && viewIndex >= 0) self->objectsChangeType[viewIndex] = changeType; /* start repaint cycle */ @@ -3076,7 +3081,7 @@ void ftmeditor_set_all_objects_changed(ftmeditor_t *self) { - for(int i = 0; i < self->container->editorContainer->getEditorsSize(); i++) + for(int i = 0; i < self->container->editorContainer->getNumEditors(); i++) self->objectsChangeType[i] = ImtrTypes::other_change; } @@ -3554,7 +3559,7 @@ } else { - int ed_size = self->container->editorContainer->getEditorsSize(); + int ed_size = self->container->editorContainer->getNumEditors(); fts_symbol_t interface_name; /* if first atom is int == keep_interface property value */ @@ -3718,7 +3723,7 @@ if(propname == fts_s_interface) { ImtrEditorContainer *container = self->container; - bool have_editor = (container != NULL) && (container->editorContainer->getEditorsSize() > 0) && (index < container->editorContainer->getEditorsSize()); + bool have_editor = (container != NULL) && (container->editorContainer->getNumEditors() > 0) && (index < container->editorContainer->getNumEditors()); argc--; argv++; @@ -3742,7 +3747,7 @@ else { int i; - for(i = 0; i < container->editorContainer->getEditorsSize(); i++) + for(i = 0; i < container->editorContainer->getNumEditors(); i++) { ImtrEditor *editor = container->editorContainer->getEditors()[i]; fts_set_pointer(at, dynamic_cast<IMTREDITOR_JUCE_NAMESPACE::Component *>(editor)); @@ -5633,7 +5638,7 @@ bool have_editor; t_symbol *type; ImtrEditorContainer *container = self->container; - have_editor = (container != NULL) && (container->editorContainer->getEditorsSize() > 0) && (self->view_inspector_track < container->editorContainer->getEditorsSize()); + have_editor = (container != NULL) && (container->editorContainer->getNumEditors() > 0) && (self->view_inspector_track < container->editorContainer->getNumEditors()); if(have_editor) { @@ -6157,7 +6162,7 @@ ftmeditor_init_inspector_track_attribute(ftmeditor_t *self) { ImtrEditorContainer *container = self->container; - if((container != NULL) && (container->editorContainer->getEditorsSize() > 0)) + if((container != NULL) && (container->editorContainer->getNumEditors() > 0)) { char view_names[2048]; int i; @@ -6164,7 +6169,7 @@ t_symbol *view_name; strcpy(view_names, " "); - for(i = 0; i < container->editorContainer->getEditorsSize(); i++) + for(i = 0; i < container->editorContainer->getNumEditors(); i++) { view_name = container->getSymbolFromString(container->editorContainer->getEditor(i)->getViewName()); if(view_name == fts_s_empty_string) view_name = container->getSymbolFromString(container->editorContainer->getEditor(i)->getDescription()); @@ -6189,7 +6194,7 @@ ftmeditor_get_attribute_view_inspector_track(ftmeditor_t *self, void *attr, long *ac, t_atom **av) { ImtrEditorContainer *container = self->container; - int numViews = container->editorContainer->getEditorsSize(); + int numViews = container->editorContainer->getNumEditors(); int viewIndex = (int)self->view_inspector_track; if ((*ac) == 0 || (*av) == NULL) @@ -6221,7 +6226,7 @@ if(argc > 0 && fts_is_number(argv)) { ImtrEditorContainer *container = self->container; - int numViews = container->editorContainer->getEditorsSize(); + int numViews = container->editorContainer->getNumEditors(); int viewIndex = (int)fts_get_number_int(argv); if(viewIndex < 0 || numViews == 0) @@ -6242,7 +6247,7 @@ { ImtrEditorContainer *container = self->container; - bool have_editor = (container->editorContainer->getEditorsSize() > 0) && (self->view_inspector_track < container->editorContainer->getEditorsSize()); + bool have_editor = (container->editorContainer->getNumEditors() > 0) && (self->view_inspector_track < container->editorContainer->getNumEditors()); t_symbol *attrname = (t_symbol *)object_method((t_object *)attr, gensym("getname")); t_symbol *propname = gensym(strchr(attrname->s_name, '_') + 1); @@ -6674,7 +6679,7 @@ ftmeditor_set_attribute_view(ftmeditor_t *self, t_object *attr, long argc, t_atom *argv) { ImtrEditorContainer *container = self->container; - bool have_editor = (container->editorContainer->getEditorsSize() > 0) && (self->view_inspector_track < container->editorContainer->getEditorsSize()); + bool have_editor = (container->editorContainer->getNumEditors() > 0) && (self->view_inspector_track < container->editorContainer->getNumEditors()); t_symbol *attrname = (t_symbol *)object_method((t_object *)attr, gensym("getname")); t_symbol *propname = gensym(strchr(attrname->s_name, '_') + 1); Modified: trunk/ftm/ftmlib/classes/ftmdatagui.c =================================================================== --- trunk/ftm/ftmlib/classes/ftmdatagui.c 2018-12-07 10:04:01 UTC (rev 3739) +++ trunk/ftm/ftmlib/classes/ftmdatagui.c 2019-05-22 09:54:44 UTC (rev 3740) @@ -1985,6 +1985,28 @@ return min; } +static float +fm_get_mean_value_in_range(fmat_t *mat, int start, int end, int stride, int onset) +{ + float *ptr = fmat_get_ptr(mat) + onset; + int size = fmat_get_m(mat) * fmat_get_n(mat); + float mean = 0.0; + float val; + if(size > 0) + { + int i; + if(end > size) + end = size; + + for (i=start*stride; i<end*stride; i+=stride) + { + val = ptr[i]; + mean += val*val; + } + mean = sqrt(mean/(end-start)); + } + return mean; +} static int fmat_gui_wave_get_size(void *obj, void *context) { @@ -2015,7 +2037,7 @@ } static void -fmat_gui_wave_get_min_max_values(void *obj, void *context, int onset, int rangeStartIndex, int rangeSize, double *min, double *max) +fmat_gui_wave_get_min_max_mean(void *obj, void *context, int onset, int rangeStartIndex, int rangeSize, double *min, double *max, double *mean) { fmat_t *self = (fmat_t *)obj; int size = self->m * self->n; @@ -2026,11 +2048,55 @@ fmat_lock(self); *max = fm_get_max_value_in_range(self, start, end, self->n, onset); *min = fm_get_min_value_in_range(self, start, end, self->n, onset); + *mean = fm_get_mean_value_in_range(self, start, end, self->n, onset); fmat_unlock(self); } } static void +fmat_gui_wave_get_two_min_max(void *obj, void *context, int onset, int rangeStartIndex, int rangeSize, double *min1, double *max1, double *min2, double *max2) +{ + fmat_t *self = (fmat_t *)obj; + double vmax1 = 0.0; + double vmin1 = 0.0; + double vmax2 = 0.0; + double vmin2 = 0.0; + float val; + + float *ptr = fmat_get_ptr(self) + onset; + int size = fmat_get_m(self) * fmat_get_n(self); + + if(size > 0) + { + int i; + int start = (rangeStartIndex > 0) ? rangeStartIndex : 0; + int end = (rangeSize > 0 && start+rangeSize < self->m) ? start+rangeSize : self->m; + + if(end > size) + end = size; + + vmax2 = InitMax; + vmax1 = vmax2; + vmin2 = InitMin; + vmin1 = vmin2; + + for (i=start; i<end; i++) + { + val = ptr[i*self->n]; + if(val > vmax1) vmax1 = val; + if(val < vmin1) vmin1 = val; + if(val < vmin2 && val > vmin1) vmin2 = val; + if(val > vmax2 && val < vmax1) vmax2 = val; + } + } + + *max1 = vmax1; + *min1 = vmin1; + *max2 = vmax2; + *min2 = vmin2; +} + +static void fmat_gui_wave_interpolate(void *obj, void *context, int onset, int start_idx, int end_idx, double start_val, double end_val) { fmat_t *self = (fmat_t *)obj; @@ -2139,7 +2205,8 @@ fmat_gui_interface_fvec.getSize = fmat_gui_wave_get_size; fmat_gui_interface_fvec.getPointer = fmat_gui_wave_get_ptr; fmat_gui_interface_fvec.releasePointer = fmat_gui_wave_release_ptr; - fmat_gui_interface_fvec.getMinMaxValues = fmat_gui_wave_get_min_max_values; + fmat_gui_interface_fvec.getMinMaxMean = fmat_gui_wave_get_min_max_mean; + fmat_gui_interface_fvec.getTwoMinMax = fmat_gui_wave_get_two_min_max; fmat_gui_interface_fvec.interpolate = fmat_gui_wave_interpolate; fmat_gui_interface_fvec.increment = fmat_gui_wave_increment; fmat_gui_interface_fvec.set = fmat_gui_wave_set; @@ -2168,7 +2235,8 @@ fmat_gui_interface_wave.getSize = fmat_gui_wave_get_size; fmat_gui_interface_wave.getPointer = fmat_gui_wave_get_ptr; fmat_gui_interface_wave.releasePointer = fmat_gui_wave_release_ptr; - fmat_gui_interface_wave.getMinMaxValues = fmat_gui_wave_get_min_max_values; + fmat_gui_interface_wave.getMinMaxMean = fmat_gui_wave_get_min_max_mean; + fmat_gui_interface_wave.getTwoMinMax = fmat_gui_wave_get_two_min_max; fmat_gui_interface_wave.interpolate = fmat_gui_wave_interpolate; fmat_gui_interface_wave.increment = fmat_gui_wave_increment; fmat_gui_interface_wave.set = fmat_gui_wave_set; @@ -2224,7 +2292,7 @@ } static void -fmat_gui_multiwave_get_min_max_values(void *obj, void *context, int index, int rangeStartIndex, int rangeSize, double *min, double *max) +fmat_gui_multiwave_get_min_max_mean(void *obj, void *context, int index, int rangeStartIndex, int rangeSize, double *min, double *max, double *mean) { fmat_t *self = (fmat_t *)obj; @@ -2232,12 +2300,56 @@ int end = (rangeSize > 0 && start+rangeSize < self->m) ? start+rangeSize : self->m; fmat_lock(self); - *min = fm_get_min_value_in_range(self, start, end, self->n, 0); - *max = fm_get_max_value_in_range(self, start, end, self->n, 0); + *min = fm_get_min_value_in_range(self, start, end, self->n, index); + *max = fm_get_max_value_in_range(self, start, end, self->n, index); + *mean = fm_get_mean_value_in_range(self, start, end, self->n, index); fmat_unlock(self); } static void +fmat_gui_multiwave_get_two_min_max(void *obj, void *context, int index, int rangeStartIndex, int rangeSize, double *min1, double *max1, double *min2, double *max2) +{ + fmat_t *self = (fmat_t *)obj; + double vmax1 = 0.0; + double vmin1 = 0.0; + double vmax2 = 0.0; + double vmin2 = 0.0; + float val; + + float *ptr = fmat_get_ptr(self) + index; + int size = fmat_get_m(self) * fmat_get_n(self); + + if(size > 0) + { + int i; + int start = (rangeStartIndex > 0) ? rangeStartIndex : 0; + int end = (rangeSize > 0 && start+rangeSize < self->m) ? start+rangeSize : self->m; + + if(end > size) + end = size; + + vmax2 = InitMax; + vmax1 = vmax2; + vmin2 = InitMin; + vmin1 = vmin2; + + for (i=start; i<end; i++) + { + val = ptr[i*self->n]; + if(val > vmax1) vmax1 = val; + if(val < vmin1) vmin1 = val; + if(val < vmin2 && val > vmin1) vmin2 = val; + if(val > vmax2 && val < vmax1) vmax2 = val; + } + } + + *max1 = vmax1; + *min1 = vmin1; + *max2 = vmax2; + *min2 = vmin2; +} + +static void fmat_gui_multiwave_interpolate(void *obj, void *context, int waveIndex, int start_idx, int end_idx, double start_val, double end_val) { fmat_t *self = (fmat_t *)obj; @@ -2323,7 +2435,8 @@ fmat_gui_interface_multiwave.getPointer = fmat_gui_multiwave_get_ptr; fmat_gui_interface_multiwave.releasePointer = fmat_gui_multiwave_release_ptr; - fmat_gui_interface_multiwave.getMinMaxValues = fmat_gui_multiwave_get_min_max_values; + fmat_gui_interface_multiwave.getMinMaxMean = fmat_gui_multiwave_get_min_max_mean; + fmat_gui_interface_multiwave.getTwoMinMaxValues = fmat_gui_multiwave_get_two_min_max; fmat_gui_interface_multiwave.interpolate = fmat_gui_multiwave_interpolate; fmat_gui_interface_multiwave.increment = fmat_gui_multiwave_increment; fmat_gui_interface_multiwave.getWave = fmat_gui_multiwave_get_wave; @@ -3383,17 +3496,19 @@ } static void -fmat_gui_multibpf_get_min_max_values(void *obj, void *context, int bpfIndex, double *min, double *max) +fmat_gui_multibpf_get_min_max_mean(void *obj, void *context, int bpfIndex, int rangeStartIndex, int rangeSize, double *min, double *max, double *mean) { fmat_t *self = (fmat_t *)obj; int i; float vmax = 0.0; float vmin = 0.0; + float vmean = 0.0f; fmat_lock(self); if(bpfIndex < self->n) { + int startIndex = 0; float val = fmat_get_element(self, 0, bpfIndex); if(not_inf_nor_nan(val)) { @@ -3400,7 +3515,12 @@ vmax = val; vmin = vmax; } - for(i = 1; i < self->m; i++) + startIndex++; + if(rangeStartIndex >= 0 && rangeStartIndex <self->m) + startIndex = rangeStartIndex; + if(rangeSize < 0) rangeSize = 0; + + for(i = startIndex; i < self->m && i < (startIndex+rangeSize); i++) { val = fmat_get_element(self, i, bpfIndex); if(not_inf_nor_nan(val)) @@ -3407,8 +3527,10 @@ { if(val > vmax) vmax = val; if(val < vmin) vmin = val; + vmean += val*val; } } + vmean = sqrt(vmean/rangeSize); } fmat_unlock(self); @@ -3415,6 +3537,7 @@ *max = vmax; *min = vmin; + *mean = vmean; } @@ -3444,7 +3567,7 @@ fmat_gui_interface_multibpf.getNextPoint = fmat_gui_multibpf_get_next_point; fmat_gui_interface_multibpf.getBpf = fmat_gui_multibpf_get_bpf; fmat_gui_interface_multibpf.getBpfName = fmat_gui_multibpf_get_bpf_name; - fmat_gui_interface_multibpf.getMinMaxValues = fmat_gui_multibpf_get_min_max_values; + fmat_gui_interface_multibpf.getMinMaxMean = fmat_gui_multibpf_get_min_max_mean; fts_class_instantiate(fmat_class); fts_class_gui_interface(fmat_class, fts_s_multibpf, &fmat_gui_interface_multibpf); @@ -3636,7 +3759,7 @@ } static void -fvec_gui_wave_get_min_max_values(void *obj, void *context, int onset, int rangeStartIndex, int rangeSize, double *min, double *max) +fvec_gui_wave_get_min_max_mean(void *obj, void *context, int onset, int rangeStartIndex, int rangeSize, double *min, double *max, double *mean) { fvec_t *self = (fvec_t *)obj; float *p; @@ -3643,6 +3766,7 @@ int size, stride; float vmax = 0.0; float vmin = 0.0; + float vmean = 0.0; fvec_vector_lock(self, &p, &size, &stride); if(size > 0) @@ -3649,14 +3773,53 @@ { vmin = fvec_vector_get_min(p, size, stride); vmax = fvec_vector_get_max(p, size, stride); + vmean = fvec_vector_get_mean(p, size, stride); } fvec_unlock(self); *min = vmin; *max = vmax; + *mean = vmean; } static void +fvec_gui_wave_get_two_min_max(void *obj, void *context, int onset, int rangeStartIndex, int rangeSize, double *min1, double *max1, double *min2, double *max2) +{ + fvec_t *self = (fvec_t *)obj; + float *p; + int size, stride; + double vmax1 = 0.0; + double vmin1 = 0.0; + double vmax2 = 0.0; + double vmin2 = 0.0; + int start, end, i; + float val; + + fvec_vector_lock(self, &p, &size, &stride); + + if(size > 0) + { + start = (rangeStartIndex > 0) ? rangeStartIndex : 0; + end = (rangeSize > 0) ? start+rangeSize : size; + + for(i = start; i < end && i < size; i++) + { + val = p[i * stride]; + if(val > vmax1) vmax1 = val; + if(val < vmin1) vmin1 = val; + if(val < vmin2 && val > vmin1) vmin2 = val; + if(val > vmax2 && val < vmax1) vmax2 = val; + } + } + fvec_unlock(self); + + *max1 = vmax1; + *min1 = vmin1; + *max2 = vmax2; + *min2 = vmin2; +} + +static void fvec_gui_wave_interpolate(void *obj, void *context, int onset, int start_idx, int end_idx, double start_val, double end_val) { fvec_t *self = (fvec_t *)obj; @@ -3771,7 +3934,8 @@ fvec_gui_interface_fvec.getSize = fvec_gui_wave_get_size; fvec_gui_interface_fvec.getPointer = fvec_gui_wave_get_ptr; fvec_gui_interface_fvec.releasePointer = fvec_gui_wave_release_ptr; - fvec_gui_interface_fvec.getMinMaxValues = fvec_gui_wave_get_min_max_values; + fvec_gui_interface_fvec.getMinMaxMean = fvec_gui_wave_get_min_max_mean; + fvec_gui_interface_fvec.getTwoMinMax = fvec_gui_wave_get_two_min_max; fvec_gui_interface_fvec.interpolate = fvec_gui_wave_interpolate; fvec_gui_interface_fvec.increment = fvec_gui_wave_increment; fvec_gui_interface_fvec.set = fvec_gui_wave_set; @@ -3800,7 +3964,7 @@ fvec_gui_interface_wave.getSize = fvec_gui_wave_get_size; fvec_gui_interface_wave.getPointer = fvec_gui_wave_get_ptr; fvec_gui_interface_wave.releasePointer = fvec_gui_wave_release_ptr; - fvec_gui_interface_wave.getMinMaxValues = fvec_gui_wave_get_min_max_values; + fvec_gui_interface_wave.getMinMaxMean = fvec_gui_wave_get_min_max_mean; fvec_gui_interface_wave.interpolate = fvec_gui_wave_interpolate; fvec_gui_interface_wave.increment = fvec_gui_wave_increment; fvec_gui_interface_wave.set = fvec_gui_wave_set; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bor...@us...> - 2019-05-22 10:12:07
|
Revision: 3741 http://sourceforge.net/p/ftm/code/3741 Author: borghesi Date: 2019-05-22 09:55:28 +0000 (Wed, 22 May 2019) Log Message: ----------- fvec: minor change Modified Paths: -------------- trunk/ftm/ftmlib/classes/fvec.c trunk/ftm/ftmlib/classes/fvec.h Modified: trunk/ftm/ftmlib/classes/fvec.c =================================================================== --- trunk/ftm/ftmlib/classes/fvec.c 2019-05-22 09:54:44 UTC (rev 3740) +++ trunk/ftm/ftmlib/classes/fvec.c 2019-05-22 09:55:28 UTC (rev 3741) @@ -520,6 +520,27 @@ return ABS_MAX; } +float +fvec_vector_get_mean(float *ptr, int size, int stride) +{ + if(size > 0) + { + float mean = 0; + float val; + int i; + + for (i=stride; i<size*stride; i+=stride) + { + val = ptr[i]; + mean += val*val; + } + mean = sqrt(mean/size); + + return mean; + } + + return ABS_MAX; +} /******************************************************************** * * (thread-safe) class functions Modified: trunk/ftm/ftmlib/classes/fvec.h =================================================================== --- trunk/ftm/ftmlib/classes/fvec.h 2019-05-22 09:54:44 UTC (rev 3740) +++ trunk/ftm/ftmlib/classes/fvec.h 2019-05-22 09:55:28 UTC (rev 3741) @@ -306,6 +306,7 @@ FTS_API float fvec_vector_get_min(float *ptr, int size, int stride); FTS_API float fvec_vector_get_max(float *ptr, int size, int stride); +FTS_API float fvec_vector_get_mean(float *ptr, int size, int stride); /** * @brief This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bor...@us...> - 2018-12-07 10:04:06
|
Revision: 3739 http://sourceforge.net/p/ftm/code/3739 Author: borghesi Date: 2018-12-07 10:04:01 +0000 (Fri, 07 Dec 2018) Log Message: ----------- ftm.editor: update of gui interfaces to the last changes in ftmeditor interfaces Modified Paths: -------------- trunk/ftm/ftmlib/classes/ftmdatagui.c Modified: trunk/ftm/ftmlib/classes/ftmdatagui.c =================================================================== --- trunk/ftm/ftmlib/classes/ftmdatagui.c 2018-12-06 13:32:22 UTC (rev 3738) +++ trunk/ftm/ftmlib/classes/ftmdatagui.c 2018-12-07 10:04:01 UTC (rev 3739) @@ -517,6 +517,9 @@ ((imtr_guiInterface *)&bpf_gui_interface_bpf)->lockData = bpf_lock_data; ((imtr_guiInterface *)&bpf_gui_interface_bpf)->unlockData = bpf_unlock_data; ((imtr_guiInterface *)&bpf_gui_interface_bpf)->getDefaultConfig = fts_empty_default_config; + ((imtr_guiInterface *)&bpf_gui_interface_bpf)->getNumBuffers = fts_get_num_buffers_default; + ((imtr_guiInterface *)&bpf_gui_interface_bpf)->getBufferObject = fts_get_buffer_object_default; + ((imtr_guiInterface *)&bpf_gui_interface_bpf)->getBufferIndex = fts_get_buffer_index_default; bpf_gui_interface_bpf.getSize = bpf_gui_bpf_get_size; bpf_gui_interface_bpf.getPoint = bpf_gui_bpf_get_point; @@ -670,6 +673,9 @@ ((imtr_guiInterface *)&bpf_gui_interface_matrix)->lockData = bpf_lock_data; ((imtr_guiInterface *)&bpf_gui_interface_matrix)->unlockData = bpf_unlock_data; ((imtr_guiInterface *)&bpf_gui_interface_matrix)->getDefaultConfig = fts_empty_default_config; + ((imtr_guiInterface *)&bpf_gui_interface_matrix)->getNumBuffers = fts_get_num_buffers_default; + ((imtr_guiInterface *)&bpf_gui_interface_matrix)->getBufferObject = fts_get_buffer_object_default; + ((imtr_guiInterface *)&bpf_gui_interface_matrix)->getBufferIndex = fts_get_buffer_index_default; bpf_gui_interface_matrix.getMatrixConfig = bpf_gui_matrix_get_matrix_config; bpf_gui_interface_matrix.getRows = bpf_gui_matrix_get_rows; @@ -931,6 +937,9 @@ ((imtr_guiInterface *)&dict_gui_interface_matrix)->lockData = dict_lock_data; ((imtr_guiInterface *)&dict_gui_interface_matrix)->unlockData = dict_unlock_data; ((imtr_guiInterface *)&dict_gui_interface_matrix)->getDefaultConfig = fts_empty_default_config; + ((imtr_guiInterface *)&dict_gui_interface_matrix)->getNumBuffers = fts_get_num_buffers_default; + ((imtr_guiInterface *)&dict_gui_interface_matrix)->getBufferObject = fts_get_buffer_object_default; + ((imtr_guiInterface *)&dict_gui_interface_matrix)->getBufferIndex = fts_get_buffer_index_default; dict_gui_interface_matrix.getMatrixConfig = dict_gui_matrix_get_matrix_config; dict_gui_interface_matrix.getRows = dict_gui_matrix_get_rows; @@ -1384,6 +1393,9 @@ ((imtr_guiInterface *)&mat_gui_interface_markers)->lockData = mat_lock_data; ((imtr_guiInterface *)&mat_gui_interface_markers)->unlockData = mat_unlock_data; ((imtr_guiInterface *)&mat_gui_interface_markers)->getDefaultConfig = fts_empty_default_config; + ((imtr_guiInterface *)&mat_gui_interface_markers)->getNumBuffers = fts_get_num_buffers_default; + ((imtr_guiInterface *)&mat_gui_interface_markers)->getBufferObject = fts_get_buffer_object_default; + ((imtr_guiInterface *)&mat_gui_interface_markers)->getBufferIndex = fts_get_buffer_index_default; mat_gui_interface_markers.isVector = mat_gui_markers_is_vector; mat_gui_interface_markers.getSize = mat_gui_markers_get_size; @@ -1645,6 +1657,9 @@ ((imtr_guiInterface *)&mat_gui_interface_score)->lockData = mat_lock_data; ((imtr_guiInterface *)&mat_gui_interface_score)->unlockData = mat_unlock_data; ((imtr_guiInterface *)&mat_gui_interface_score)->getDefaultConfig = fts_empty_default_config; + ((imtr_guiInterface *)&mat_gui_interface_score)->getNumBuffers = fts_get_num_buffers_default; + ((imtr_guiInterface *)&mat_gui_interface_score)->getBufferObject = fts_get_buffer_object_default; + ((imtr_guiInterface *)&mat_gui_interface_score)->getBufferIndex = fts_get_buffer_index_default; mat_gui_interface_score.isVector = mat_gui_score_is_vector; mat_gui_interface_score.getSize = mat_gui_score_get_size; @@ -1896,6 +1911,9 @@ ((imtr_guiInterface *)&mat_gui_interface_matrix)->lockData = mat_lock_data; ((imtr_guiInterface *)&mat_gui_interface_matrix)->unlockData = mat_unlock_data; ((imtr_guiInterface *)&mat_gui_interface_matrix)->getDefaultConfig = fts_empty_default_config; + ((imtr_guiInterface *)&mat_gui_interface_matrix)->getNumBuffers = fts_get_num_buffers_default; + ((imtr_guiInterface *)&mat_gui_interface_matrix)->getBufferObject = fts_get_buffer_object_default; + ((imtr_guiInterface *)&mat_gui_interface_matrix)->getBufferIndex = fts_get_buffer_index_default; mat_gui_interface_matrix.getMatrixConfig = mat_gui_matrix_get_matrix_config; mat_gui_interface_matrix.getRows = mat_gui_matrix_get_rows; @@ -2113,7 +2131,11 @@ ((imtr_guiInterface *)&fmat_gui_interface_fvec)->lockData = fmat_lock_data; ((imtr_guiInterface *)&fmat_gui_interface_fvec)->unlockData = fmat_unlock_data; ((imtr_guiInterface *)&fmat_gui_interface_fvec)->getDefaultConfig = fts_empty_default_config; + ((imtr_guiInterface *)&fmat_gui_interface_fvec)->getNumBuffers = fts_get_num_buffers_default; + ((imtr_guiInterface *)&fmat_gui_interface_fvec)->getBufferObject = fts_get_buffer_object_default; + ((imtr_guiInterface *)&fmat_gui_interface_fvec)->getBufferIndex = fts_get_buffer_index_default; + fmat_gui_interface_fvec.getSize = fmat_gui_wave_get_size; fmat_gui_interface_fvec.getPointer = fmat_gui_wave_get_ptr; fmat_gui_interface_fvec.releasePointer = fmat_gui_wave_release_ptr; @@ -2139,6 +2161,9 @@ ((imtr_guiInterface *)&fmat_gui_interface_wave)->lockData = fmat_lock_data; ((imtr_guiInterface *)&fmat_gui_interface_wave)->unlockData = fmat_unlock_data; ((imtr_guiInterface *)&fmat_gui_interface_wave)->getDefaultConfig = fts_empty_default_config; + ((imtr_guiInterface *)&fmat_gui_interface_wave)->getNumBuffers = fts_get_num_buffers_default; + ((imtr_guiInterface *)&fmat_gui_interface_wave)->getBufferObject = fts_get_buffer_object_default; + ((imtr_guiInterface *)&fmat_gui_interface_wave)->getBufferIndex = fts_get_buffer_index_default; fmat_gui_interface_wave.getSize = fmat_gui_wave_get_size; fmat_gui_interface_wave.getPointer = fmat_gui_wave_get_ptr; @@ -2289,6 +2314,9 @@ ((imtr_guiInterface *)&fmat_gui_interface_multiwave)->lockData = fmat_lock_data; ((imtr_guiInterface *)&fmat_gui_interface_multiwave)->unlockData = fmat_unlock_data; ((imtr_guiInterface *)&fmat_gui_interface_multiwave)->getDefaultConfig = fts_empty_default_config; + ((imtr_guiInterface *)&fmat_gui_interface_multiwave)->getNumBuffers = fts_get_num_buffers_default; + ((imtr_guiInterface *)&fmat_gui_interface_multiwave)->getBufferObject = fts_get_buffer_object_default; + ((imtr_guiInterface *)&fmat_gui_interface_multiwave)->getBufferIndex = fts_get_buffer_index_default; fmat_gui_interface_multiwave.getWavesNum = fmat_gui_multiwave_get_waves_num; fmat_gui_interface_multiwave.getSize = fmat_gui_multiwave_get_size; @@ -2494,6 +2522,9 @@ ((imtr_guiInterface *)&fmat_gui_interface_sonogram)->lockData = fmat_lock_data; ((imtr_guiInterface *)&fmat_gui_interface_sonogram)->unlockData = fmat_unlock_data; ((imtr_guiInterface *)&fmat_gui_interface_sonogram)->getDefaultConfig = fts_empty_default_config; + ((imtr_guiInterface *)&fmat_gui_interface_sonogram)->getNumBuffers = fts_get_num_buffers_default; + ((imtr_guiInterface *)&fmat_gui_interface_sonogram)->getBufferObject = fts_get_buffer_object_default; + ((imtr_guiInterface *)&fmat_gui_interface_sonogram)->getBufferIndex = fts_get_buffer_index_default; fmat_gui_interface_sonogram.getLength = fmat_gui_sonogram_get_length; fmat_gui_interface_sonogram.getSpectrumSize = fmat_gui_sonogram_get_spectrum_size; @@ -2799,6 +2830,9 @@ ((imtr_guiInterface *)&fmat_gui_interface_traces)->lockData = fmat_lock_data; ((imtr_guiInterface *)&fmat_gui_interface_traces)->unlockData = fmat_unlock_data; ((imtr_guiInterface *)&fmat_gui_interface_traces)->getDefaultConfig = fts_empty_default_config; + ((imtr_guiInterface *)&fmat_gui_interface_traces)->getNumBuffers = fts_get_num_buffers_default; + ((imtr_guiInterface *)&fmat_gui_interface_traces)->getBufferObject = fts_get_buffer_object_default; + ((imtr_guiInterface *)&fmat_gui_interface_traces)->getBufferIndex = fts_get_buffer_index_default; fmat_gui_interface_traces.isVector = fmat_gui_traces_is_vector; fmat_gui_interface_traces.isTimeTagged = fmat_gui_traces_is_time_tagged; @@ -2995,6 +3029,9 @@ ((imtr_guiInterface *)&fmat_gui_interface_pixels)->lockData = fmat_lock_data; ((imtr_guiInterface *)&fmat_gui_interface_pixels)->unlockData = fmat_unlock_data; ((imtr_guiInterface *)&fmat_gui_interface_pixels)->getDefaultConfig = fts_empty_default_config; + ((imtr_guiInterface *)&fmat_gui_interface_pixels)->getNumBuffers = fts_get_num_buffers_default; + ((imtr_guiInterface *)&fmat_gui_interface_pixels)->getBufferObject = fts_get_buffer_object_default; + ((imtr_guiInterface *)&fmat_gui_interface_pixels)->getBufferIndex = fts_get_buffer_index_default; fmat_gui_interface_pixels.getLength = fmat_gui_pixels_get_length; fmat_gui_interface_pixels.getSize = fmat_gui_pixels_get_size; @@ -3156,6 +3193,9 @@ ((imtr_guiInterface *)&fmat_gui_interface_bpf)->lockData = fmat_lock_data; ((imtr_guiInterface *)&fmat_gui_interface_bpf)->unlockData = fmat_unlock_data; ((imtr_guiInterface *)&fmat_gui_interface_bpf)->getDefaultConfig = fts_empty_default_config; + ((imtr_guiInterface *)&fmat_gui_interface_bpf)->getNumBuffers = fts_get_num_buffers_default; + ((imtr_guiInterface *)&fmat_gui_interface_bpf)->getBufferObject = fts_get_buffer_object_default; + ((imtr_guiInterface *)&fmat_gui_interface_bpf)->getBufferIndex = fts_get_buffer_index_default; fmat_gui_interface_bpf.getSize = fmat_gui_bpf_get_size; fmat_gui_interface_bpf.getPoint = fmat_gui_bpf_get_point; @@ -3389,6 +3429,9 @@ ((imtr_guiInterface *)&fmat_gui_interface_multibpf)->lockData = fmat_lock_data; ((imtr_guiInterface *)&fmat_gui_interface_multibpf)->unlockData = fmat_unlock_data; ((imtr_guiInterface *)&fmat_gui_interface_multibpf)->getDefaultConfig = fts_empty_default_config; + ((imtr_guiInterface *)&fmat_gui_interface_multibpf)->getNumBuffers = fts_get_num_buffers_default; + ((imtr_guiInterface *)&fmat_gui_interface_multibpf)->getBufferObject = fts_get_buffer_object_default; + ((imtr_guiInterface *)&fmat_gui_interface_multibpf)->getBufferIndex = fts_get_buffer_index_default; fmat_gui_interface_multibpf.getSize = fmat_gui_multibpf_get_size; fmat_gui_interface_multibpf.getBpfNum = fmat_gui_multibpf_get_bpf_num; @@ -3541,6 +3584,9 @@ ((imtr_guiInterface *)&fmat_gui_interface_matrix)->lockData = fmat_lock_data; ((imtr_guiInterface *)&fmat_gui_interface_matrix)->unlockData = fmat_unlock_data; ((imtr_guiInterface *)&fmat_gui_interface_matrix)->getDefaultConfig = fts_empty_default_config; + ((imtr_guiInterface *)&fmat_gui_interface_matrix)->getNumBuffers = fts_get_num_buffers_default; + ((imtr_guiInterface *)&fmat_gui_interface_matrix)->getBufferObject = fts_get_buffer_object_default; + ((imtr_guiInterface *)&fmat_gui_interface_matrix)->getBufferIndex = fts_get_buffer_index_default; fmat_gui_interface_matrix.getMatrixConfig = fmat_gui_matrix_get_matrix_config; fmat_gui_interface_matrix.getRows = fmat_gui_matrix_get_rows; @@ -3718,6 +3764,9 @@ ((imtr_guiInterface *)&fvec_gui_interface_fvec)->lockData = fvec_lock_data; ((imtr_guiInterface *)&fvec_gui_interface_fvec)->unlockData = fvec_unlock_data; ((imtr_guiInterface *)&fvec_gui_interface_fvec)->getDefaultConfig = fts_empty_default_config; + ((imtr_guiInterface *)&fvec_gui_interface_fvec)->getNumBuffers = fts_get_num_buffers_default; + ((imtr_guiInterface *)&fvec_gui_interface_fvec)->getBufferObject = fts_get_buffer_object_default; + ((imtr_guiInterface *)&fvec_gui_interface_fvec)->getBufferIndex = fts_get_buffer_index_default; fvec_gui_interface_fvec.getSize = fvec_gui_wave_get_size; fvec_gui_interface_fvec.getPointer = fvec_gui_wave_get_ptr; @@ -3744,6 +3793,9 @@ ((imtr_guiInterface *)&fvec_gui_interface_wave)->lockData = fvec_lock_data; ((imtr_guiInterface *)&fvec_gui_interface_wave)->unlockData = fvec_unlock_data; ((imtr_guiInterface *)&fvec_gui_interface_wave)->getDefaultConfig = fts_empty_default_config; + ((imtr_guiInterface *)&fvec_gui_interface_wave)->getNumBuffers = fts_get_num_buffers_default; + ((imtr_guiInterface *)&fvec_gui_interface_wave)->getBufferObject = fts_get_buffer_object_default; + ((imtr_guiInterface *)&fvec_gui_interface_wave)->getBufferIndex = fts_get_buffer_index_default; fvec_gui_interface_wave.getSize = fvec_gui_wave_get_size; fvec_gui_interface_wave.getPointer = fvec_gui_wave_get_ptr; @@ -3854,6 +3906,9 @@ ((imtr_guiInterface *)&fvec_gui_interface_matrix)->lockData = fvec_lock_data; ((imtr_guiInterface *)&fvec_gui_interface_matrix)->unlockData = fvec_unlock_data; ((imtr_guiInterface *)&fvec_gui_interface_matrix)->getDefaultConfig = fts_empty_default_config; + ((imtr_guiInterface *)&fvec_gui_interface_matrix)->getNumBuffers = fts_get_num_buffers_default; + ((imtr_guiInterface *)&fvec_gui_interface_matrix)->getBufferObject = fts_get_buffer_object_default; + ((imtr_guiInterface *)&fvec_gui_interface_matrix)->getBufferIndex = fts_get_buffer_index_default; fvec_gui_interface_matrix.getMatrixConfig = fvec_gui_matrix_get_matrix_config; fvec_gui_interface_matrix.getRows = fvec_gui_matrix_get_rows; @@ -4121,6 +4176,9 @@ ((imtr_guiInterface *)&sequence_gui_interface_bpf)->lockData = sequence_lock_data; ((imtr_guiInterface *)&sequence_gui_interface_bpf)->unlockData = sequence_unlock_data; ((imtr_guiInterface *)&sequence_gui_interface_bpf)->getDefaultConfig = fts_empty_default_config; + ((imtr_guiInterface *)&sequence_gui_interface_bpf)->getNumBuffers = fts_get_num_buffers_default; + ((imtr_guiInterface *)&sequence_gui_interface_bpf)->getBufferObject = fts_get_buffer_object_default; + ((imtr_guiInterface *)&sequence_gui_interface_bpf)->getBufferIndex = fts_get_buffer_index_default; sequence_gui_interface_bpf.getSize = sequence_gui_bpf_get_size; sequence_gui_interface_bpf.getPoint = sequence_gui_bpf_get_point; @@ -4831,6 +4889,9 @@ ((imtr_guiInterface *)&sequence_gui_interface_markers)->lockData = sequence_lock_data; ((imtr_guiInterface *)&sequence_gui_interface_markers)->unlockData = sequence_unlock_data; ((imtr_guiInterface *)&sequence_gui_interface_markers)->getDefaultConfig = fts_empty_default_config; + ((imtr_guiInterface *)&sequence_gui_interface_markers)->getNumBuffers = fts_get_num_buffers_default; + ((imtr_guiInterface *)&sequence_gui_interface_markers)->getBufferObject = fts_get_buffer_object_default; + ((imtr_guiInterface *)&sequence_gui_interface_markers)->getBufferIndex = fts_get_buffer_index_default; sequence_gui_interface_markers.isVector = sequence_gui_markers_is_vector; sequence_gui_interface_markers.getSize = sequence_gui_markers_get_size; @@ -5138,6 +5199,9 @@ ((imtr_guiInterface *)&sequence_gui_interface_score)->lockData = sequence_lock_data; ((imtr_guiInterface *)&sequence_gui_interface_score)->unlockData = sequence_unlock_data; ((imtr_guiInterface *)&sequence_gui_interface_score)->getDefaultConfig = fts_empty_default_config; + ((imtr_guiInterface *)&sequence_gui_interface_score)->getNumBuffers = fts_get_num_buffers_default; + ((imtr_guiInterface *)&sequence_gui_interface_score)->getBufferObject = fts_get_buffer_object_default; + ((imtr_guiInterface *)&sequence_gui_interface_score)->getBufferIndex = fts_get_buffer_index_default; sequence_gui_interface_score.isVector = sequence_gui_score_is_vector; sequence_gui_interface_score.getSize = sequence_gui_score_get_size; @@ -5673,6 +5737,9 @@ ((imtr_guiInterface *)&sequence_gui_interface_matrix)->lockData = sequence_lock_data; ((imtr_guiInterface *)&sequence_gui_interface_matrix)->unlockData = sequence_unlock_data; ((imtr_guiInterface *)&sequence_gui_interface_matrix)->getDefaultConfig = fts_empty_default_config; + ((imtr_guiInterface *)&sequence_gui_interface_matrix)->getNumBuffers = fts_get_num_buffers_default; + ((imtr_guiInterface *)&sequence_gui_interface_matrix)->getBufferObject = fts_get_buffer_object_default; + ((imtr_guiInterface *)&sequence_gui_interface_matrix)->getBufferIndex = fts_get_buffer_index_default; sequence_gui_interface_matrix.getMatrixConfig = sequence_gui_matrix_get_matrix_config; sequence_gui_interface_matrix.getRows = sequence_gui_matrix_get_rows; @@ -6048,6 +6115,9 @@ ((imtr_guiInterface *)&sequence_gui_interface_sonogram)->lockData = sequence_lock_data; ((imtr_guiInterface *)&sequence_gui_interface_sonogram)->unlockData = sequence_unlock_data; ((imtr_guiInterface *)&sequence_gui_interface_sonogram)->getDefaultConfig = fts_empty_default_config; + ((imtr_guiInterface *)&sequence_gui_interface_sonogram)->getNumBuffers = fts_get_num_buffers_default; + ((imtr_guiInterface *)&sequence_gui_interface_sonogram)->getBufferObject = fts_get_buffer_object_default; + ((imtr_guiInterface *)&sequence_gui_interface_sonogram)->getBufferIndex = fts_get_buffer_index_default; sequence_gui_interface_sonogram.getLength = sequence_gui_sonogram_get_length; sequence_gui_interface_sonogram.getSpectrumSize = sequence_gui_sonogram_get_spectrum_size; @@ -6370,6 +6440,9 @@ ((imtr_guiInterface *)&sequence_gui_interface_traces)->lockData = sequence_lock_data; ((imtr_guiInterface *)&sequence_gui_interface_traces)->unlockData = sequence_unlock_data; ((imtr_guiInterface *)&sequence_gui_interface_traces)->getDefaultConfig = fts_empty_default_config; + ((imtr_guiInterface *)&sequence_gui_interface_traces)->getNumBuffers = fts_get_num_buffers_default; + ((imtr_guiInterface *)&sequence_gui_interface_traces)->getBufferObject = fts_get_buffer_object_default; + ((imtr_guiInterface *)&sequence_gui_interface_traces)->getBufferIndex = fts_get_buffer_index_default; sequence_gui_interface_traces.isVector = sequence_gui_traces_is_vector; sequence_gui_interface_traces.isTimeTagged = sequence_gui_traces_is_time_tagged; @@ -6647,6 +6720,9 @@ ((imtr_guiInterface *)&track_gui_interface_bpf)->lockData = track_lock_data; ((imtr_guiInterface *)&track_gui_interface_bpf)->unlockData = track_unlock_data; ((imtr_guiInterface *)&track_gui_interface_bpf)->getDefaultConfig = fts_empty_default_config; + ((imtr_guiInterface *)&track_gui_interface_bpf)->getNumBuffers = fts_get_num_buffers_default; + ((imtr_guiInterface *)&track_gui_interface_bpf)->getBufferObject = fts_get_buffer_object_default; + ((imtr_guiInterface *)&track_gui_interface_bpf)->getBufferIndex = fts_get_buffer_index_default; track_gui_interface_bpf.getSize = track_gui_bpf_get_size; track_gui_interface_bpf.getPoint = track_gui_bpf_get_point; @@ -6994,6 +7070,9 @@ ((imtr_guiInterface *)&track_gui_interface_sonogram)->lockData = track_lock_data; ((imtr_guiInterface *)&track_gui_interface_sonogram)->unlockData = track_unlock_data; ((imtr_guiInterface *)&track_gui_interface_sonogram)->getDefaultConfig = fts_empty_default_config; + ((imtr_guiInterface *)&track_gui_interface_sonogram)->getNumBuffers = fts_get_num_buffers_default; + ((imtr_guiInterface *)&track_gui_interface_sonogram)->getBufferObject = fts_get_buffer_object_default; + ((imtr_guiInterface *)&track_gui_interface_sonogram)->getBufferIndex = fts_get_buffer_index_default; track_gui_interface_sonogram.getLength = track_gui_sonogram_get_length; track_gui_interface_sonogram.getSpectrumSize = track_gui_sonogram_get_spectrum_size; @@ -7295,6 +7374,9 @@ ((imtr_guiInterface *)&track_gui_interface_traces)->lockData = sequence_lock_data; ((imtr_guiInterface *)&track_gui_interface_traces)->unlockData = sequence_unlock_data; ((imtr_guiInterface *)&track_gui_interface_traces)->getDefaultConfig = fts_empty_default_config; + ((imtr_guiInterface *)&track_gui_interface_traces)->getNumBuffers = fts_get_num_buffers_default; + ((imtr_guiInterface *)&track_gui_interface_traces)->getBufferObject = fts_get_buffer_object_default; + ((imtr_guiInterface *)&track_gui_interface_traces)->getBufferIndex = fts_get_buffer_index_default; track_gui_interface_traces.isVector = track_gui_traces_is_vector; track_gui_interface_traces.isTimeTagged = track_gui_traces_is_time_tagged; @@ -7575,6 +7657,9 @@ ((imtr_guiInterface *)&track_gui_interface_score)->lockData = track_lock_data; ((imtr_guiInterface *)&track_gui_interface_score)->unlockData = track_unlock_data; ((imtr_guiInterface *)&track_gui_interface_score)->getDefaultConfig = fts_empty_default_config; + ((imtr_guiInterface *)&track_gui_interface_score)->getNumBuffers = fts_get_num_buffers_default; + ((imtr_guiInterface *)&track_gui_interface_score)->getBufferObject = fts_get_buffer_object_default; + ((imtr_guiInterface *)&track_gui_interface_score)->getBufferIndex = fts_get_buffer_index_default; track_gui_interface_score.isVector = track_gui_score_is_vector; track_gui_interface_score.getSize = track_gui_score_get_size; @@ -8295,6 +8380,9 @@ ((imtr_guiInterface *)&track_gui_interface_markers)->lockData = track_lock_data; ((imtr_guiInterface *)&track_gui_interface_markers)->unlockData = track_unlock_data; ((imtr_guiInterface *)&track_gui_interface_markers)->getDefaultConfig = fts_empty_default_config; + ((imtr_guiInterface *)&track_gui_interface_markers)->getNumBuffers = fts_get_num_buffers_default; + ((imtr_guiInterface *)&track_gui_interface_markers)->getBufferObject = fts_get_buffer_object_default; + ((imtr_guiInterface *)&track_gui_interface_markers)->getBufferIndex = fts_get_buffer_index_default; track_gui_interface_markers.isVector = track_gui_markers_is_vector; track_gui_interface_markers.getSize = track_gui_markers_get_size; @@ -8818,6 +8906,9 @@ ((imtr_guiInterface *)&track_gui_interface_matrix)->lockData = track_lock_data; ((imtr_guiInterface *)&track_gui_interface_matrix)->unlockData = track_unlock_data; ((imtr_guiInterface *)&track_gui_interface_matrix)->getDefaultConfig = fts_empty_default_config; + ((imtr_guiInterface *)&track_gui_interface_matrix)->getNumBuffers = fts_get_num_buffers_default; + ((imtr_guiInterface *)&track_gui_interface_matrix)->getBufferObject = fts_get_buffer_object_default; + ((imtr_guiInterface *)&track_gui_interface_matrix)->getBufferIndex = fts_get_buffer_index_default; track_gui_interface_matrix.getMatrixConfig = track_gui_matrix_get_matrix_config; track_gui_interface_matrix.getRows = track_gui_matrix_get_rows; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <di...@us...> - 2018-12-06 13:32:26
|
Revision: 3738 http://sourceforge.net/p/ftm/code/3738 Author: diemo Date: 2018-12-06 13:32:22 +0000 (Thu, 06 Dec 2018) Log Message: ----------- v2.7.3 Modified Paths: -------------- trunk/ftm/build/max5/osx-macho/ftmlib.xcodeproj/project.pbxproj trunk/ftm/distrib/ReleaseNotes.txt Modified: trunk/ftm/build/max5/osx-macho/ftmlib.xcodeproj/project.pbxproj =================================================================== --- trunk/ftm/build/max5/osx-macho/ftmlib.xcodeproj/project.pbxproj 2018-12-06 13:31:55 UTC (rev 3737) +++ trunk/ftm/build/max5/osx-macho/ftmlib.xcodeproj/project.pbxproj 2018-12-06 13:32:22 UTC (rev 3738) @@ -2745,11 +2745,11 @@ SNDFILE_LIBS = "$(SNDFILE_DIR)/macos/libFLAC.a $(SNDFILE_DIR)/macos/libogg.a $(SNDFILE_DIR)/macos/libsndfile.a $(SNDFILE_DIR)/macos/libvorbis.a $(SNDFILE_DIR)/macos/libvorbisenc.a"; SYS_FRAMEWORKS = "-framework Accelerate -framework Carbon"; VECLIB_FRAMEWORK_DIR = /System/Library/Frameworks/Accelerate.framework/Frameworks; - VERSION_DATE = "\\\"05/2018\\\""; + VERSION_DATE = "\\\"12/2018\\\""; VERSION_MACROS = "FTM_VERSION_MAJOR=$(VERSION_MAJOR) FTM_VERSION_MINOR=$(VERSION_MINOR) FTM_VERSION_RELEASE=$(VERSION_RELEASE) FTM_VERSION_TAG=$(VERSION_TAG) FTM_VERSION_DATE=$(VERSION_DATE)"; VERSION_MAJOR = 2; VERSION_MINOR = 7; - VERSION_RELEASE = 2; + VERSION_RELEASE = 3; VERSION_TAG = "\\\"64bit\\\""; }; name = Debug_optimised; @@ -2967,11 +2967,11 @@ SNDFILE_LIBS = "$(SNDFILE_DIR)/macos/libFLAC.a $(SNDFILE_DIR)/macos/libogg.a $(SNDFILE_DIR)/macos/libsndfile.a $(SNDFILE_DIR)/macos/libvorbis.a $(SNDFILE_DIR)/macos/libvorbisenc.a"; SYS_FRAMEWORKS = "-framework Accelerate -framework Carbon"; VECLIB_FRAMEWORK_DIR = /System/Library/Frameworks/Accelerate.framework/Frameworks; - VERSION_DATE = "\\\"05/2018\\\""; + VERSION_DATE = "\\\"12/2018\\\""; VERSION_MACROS = "FTM_VERSION_MAJOR=$(VERSION_MAJOR) FTM_VERSION_MINOR=$(VERSION_MINOR) FTM_VERSION_RELEASE=$(VERSION_RELEASE) FTM_VERSION_TAG=$(VERSION_TAG) FTM_VERSION_DATE=$(VERSION_DATE)"; VERSION_MAJOR = 2; VERSION_MINOR = 7; - VERSION_RELEASE = 2; + VERSION_RELEASE = 3; VERSION_TAG = "\\\"64bit\\\""; }; name = Debug; @@ -3043,11 +3043,11 @@ SNDFILE_LIBS = "$(SNDFILE_DIR)/macos/libFLAC.a $(SNDFILE_DIR)/macos/libogg.a $(SNDFILE_DIR)/macos/libsndfile.a $(SNDFILE_DIR)/macos/libvorbis.a $(SNDFILE_DIR)/macos/libvorbisenc.a"; SYS_FRAMEWORKS = "-framework Accelerate -framework Carbon"; VECLIB_FRAMEWORK_DIR = /System/Library/Frameworks/Accelerate.framework/Frameworks; - VERSION_DATE = "\\\"05/2018\\\""; + VERSION_DATE = "\\\"12/2018\\\""; VERSION_MACROS = "FTM_VERSION_MAJOR=$(VERSION_MAJOR) FTM_VERSION_MINOR=$(VERSION_MINOR) FTM_VERSION_RELEASE=$(VERSION_RELEASE) FTM_VERSION_TAG=$(VERSION_TAG) FTM_VERSION_DATE=$(VERSION_DATE)"; VERSION_MAJOR = 2; VERSION_MINOR = 7; - VERSION_RELEASE = 2; + VERSION_RELEASE = 3; VERSION_TAG = "\\\"64bit\\\""; WARNING_LDFLAGS = ""; }; @@ -3303,11 +3303,11 @@ SNDFILE_LIBS = "$(SNDFILE_DIR)/macos/libFLAC.a $(SNDFILE_DIR)/macos/libogg.a $(SNDFILE_DIR)/macos/libsndfile.a $(SNDFILE_DIR)/macos/libvorbis.a $(SNDFILE_DIR)/macos/libvorbisenc.a"; SYS_FRAMEWORKS = "-framework Accelerate -framework Carbon"; VECLIB_FRAMEWORK_DIR = /System/Library/Frameworks/Accelerate.framework/Frameworks; - VERSION_DATE = "\\\"05/2018\\\""; + VERSION_DATE = "\\\"12/2018\\\""; VERSION_MACROS = "FTM_VERSION_MAJOR=$(VERSION_MAJOR) FTM_VERSION_MINOR=$(VERSION_MINOR) FTM_VERSION_RELEASE=$(VERSION_RELEASE) FTM_VERSION_TAG=$(VERSION_TAG) FTM_VERSION_DATE=$(VERSION_DATE)"; VERSION_MAJOR = 2; VERSION_MINOR = 7; - VERSION_RELEASE = 2; + VERSION_RELEASE = 3; VERSION_TAG = "\\\"64bit\\\""; }; name = Debug_harder; Modified: trunk/ftm/distrib/ReleaseNotes.txt =================================================================== --- trunk/ftm/distrib/ReleaseNotes.txt 2018-12-06 13:31:55 UTC (rev 3737) +++ trunk/ftm/distrib/ReleaseNotes.txt 2018-12-06 13:32:22 UTC (rev 3738) @@ -7,6 +7,12 @@ * ____________________________________________________ +RELEASE NOTES for FTM & Co 2.7.3 (06/12/2018) + +ftm.object: +- fix excessive memory and CPU consumption on Max7 + +____________________________________________________ RELEASE NOTES for FTM & Co 2.7.2 (23/05/2018) ftmlib: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <di...@us...> - 2018-12-06 13:31:58
|
Revision: 3737 http://sourceforge.net/p/ftm/code/3737 Author: diemo Date: 2018-12-06 13:31:55 +0000 (Thu, 06 Dec 2018) Log Message: ----------- use NOGOOD macro to check valid toplevel patcher (not good for catching scope bug) Modified Paths: -------------- trunk/ftm/ftmlib/max5/maxpat.c Modified: trunk/ftm/ftmlib/max5/maxpat.c =================================================================== --- trunk/ftm/ftmlib/max5/maxpat.c 2018-12-06 13:26:09 UTC (rev 3736) +++ trunk/ftm/ftmlib/max5/maxpat.c 2018-12-06 13:31:55 UTC (rev 3737) @@ -570,12 +570,12 @@ { t_object *parent; - if(maxpat == NULL) + if (maxpat == NULL || NOGOOD(maxpat)) return NULL; parent = patcher_get_parent(maxpat); - while(maxpat != NULL && !patcher_is_toplevel(maxpat) && parent != NULL) + while (maxpat != NULL && !patcher_is_toplevel(maxpat) && parent != NULL) { maxpat = parent; parent = patcher_get_parent(maxpat); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <di...@us...> - 2018-12-06 13:26:12
|
Revision: 3736 http://sourceforge.net/p/ftm/code/3736 Author: diemo Date: 2018-12-06 13:26:09 +0000 (Thu, 06 Dec 2018) Log Message: ----------- jfont_destroy after every jfont_create Modified Paths: -------------- trunk/ftm/externals/max5/ftm.mess.c Modified: trunk/ftm/externals/max5/ftm.mess.c =================================================================== --- trunk/ftm/externals/max5/ftm.mess.c 2018-12-04 10:41:34 UTC (rev 3735) +++ trunk/ftm/externals/max5/ftm.mess.c 2018-12-06 13:26:09 UTC (rev 3736) @@ -503,7 +503,8 @@ line_length++; } } - + + jfont_destroy(jf); *num_lines = numlines; *max_line_width = max_width; *text_height = numlines * line_height; @@ -532,6 +533,8 @@ if(width > max) max = width; } + + jfont_destroy(jf); return max; } @@ -553,6 +556,7 @@ jfont_text_measure(jf, fts_symbol_name(empty_mess_text), &width, &height); if(width < 60) width = 60; } + jfont_destroy(jf); if (self->presentation) jbox_get_presentation_rect((t_object *) self, &rect); @@ -580,6 +584,7 @@ t_rect rect; t_jfont *jf = jfont_create(jbox_get_fontname((t_object *)self)->s_name, (t_jgraphics_font_slant)jbox_get_font_slant((t_object *)self), (t_jgraphics_font_weight)jbox_get_font_weight((t_object *)self), jbox_get_fontsize((t_object *)self)); jfont_text_measure(jf, self->text.ptr, &width, &height); + jfont_destroy(jf); if(self->n_lines <= 1) min_width = width + 4; @@ -619,6 +624,7 @@ text_len = (int)strlen(currenttext); ftmmess_getNumlinesAndLength_from_string(self, currenttext, &numlines, &textwidth, &textheight); jfont_text_measure(jf, "w", &incr_w, &incr_h); + jfont_destroy(jf); rect.x = old_rect->x; rect.y = old_rect->y; @@ -2025,6 +2031,7 @@ jf = jfont_create(fn->s_name, JGRAPHICS_FONT_SLANT_NORMAL, JGRAPHICS_FONT_WEIGHT_NORMAL, fs); jfont_text_measure(jf, fts_symbol_name(empty_mess_text), &width, &height); + jfont_destroy(jf); rect.width = 0; rect.height = 0; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bor...@us...> - 2018-12-04 10:41:37
|
Revision: 3735 http://sourceforge.net/p/ftm/code/3735 Author: borghesi Date: 2018-12-04 10:41:34 +0000 (Tue, 04 Dec 2018) Log Message: ----------- ftm.object: fixed resize editing description or name Modified Paths: -------------- trunk/ftm/externals/max5/ftm.object.c Modified: trunk/ftm/externals/max5/ftm.object.c =================================================================== --- trunk/ftm/externals/max5/ftm.object.c 2018-11-28 14:14:28 UTC (rev 3734) +++ trunk/ftm/externals/max5/ftm.object.c 2018-12-04 10:41:34 UTC (rev 3735) @@ -1,4 +1,3 @@ -asdf /* * FTM externals * Copyright (C) 2004 by IRCAM-Centre Georges Pompidou, Paris, France. @@ -40,15 +39,15 @@ /* debug scope console printouts */ #define DEBUG_FTM_OBJECT 0 -#ifndef WIN32 -# if DEBUG_FTM_OBJECT && defined(DEBUG) -# define debug_post(args...) post(args) -# else -# define debug_post(args...) -# endif +#ifdef WIN32 +static void debug_post(const char *format, ...){} #else -static void debug_post(const char *format, ...){} +#if DEBUG_FTM_OBJECT && defined(DEBUG) +#define debug_post(args...) post(args) +#else +#define debug_post(args...) #endif +#endif #define MAX_CHARS 2048 @@ -248,36 +247,44 @@ char *name = ftmobj_str_name(self); char *sep = ftmobj_str_separator(self); t_size new_size; - double width, height; + double width, height, empty_width, empty_height; t_jfont *jf = jfont_create(jbox_get_fontname((t_object *)self)->s_name, (t_jgraphics_font_slant)jbox_get_font_slant((t_object *)self), (t_jgraphics_font_weight)jbox_get_font_weight((t_object *)self), jbox_get_fontsize((t_object *)self)); char text[512]; snprintf(text, 512, "%s %s %s ", description, sep, name); - jfont_text_measure(jf, text, &width, &height); + jfont_text_measure(jf, text, &width, &height); + jfont_text_measure(jf, fts_symbol_name(sym_empty_object_text), &empty_width, &empty_height); jfont_destroy(jf); + + if(width < empty_width) width = empty_width; + new_size.height = height + 6; new_size.width = width + 8; if (self->activeview && patcherview_get_presentation(self->activeview) != 0) { - t_size old_size; - jbox_get_presentation_size((t_object *) self, &old_size); + t_rect bounds; + jbox_get_presentation_rect((t_object *) self, &bounds); - if (old_size.width != new_size.width || old_size.height != new_size.height) + if (bounds.width != new_size.width || bounds.height != new_size.height) { - jbox_set_presentation_size((t_object *) self, &new_size); + bounds.width = new_size.width; + bounds.height = new_size.height; + jbox_set_presentation_rect((t_object *) self, &bounds); jbox_redraw((t_jbox *)self); } } else { - t_size old_size; - jbox_get_patching_size((t_object *) self, &old_size); - - if (old_size.width != new_size.width || old_size.height != new_size.height) + t_rect bounds; + jbox_get_patching_rect((t_object *) self, &bounds); + + if (bounds.width != new_size.width || bounds.height != new_size.height) { - jbox_set_patching_size((t_object *) self, &new_size); + bounds.width = new_size.width; + bounds.height = new_size.height; + jbox_set_patching_rect((t_object *) self, &bounds); jbox_redraw((t_jbox *)self); } } @@ -286,12 +293,14 @@ static void ftmobj_resize_to_current_text(ftmobj_t *self) { - t_size current_size, new_size; + t_rect current_bounds; + t_size new_size; long textsize = 0; char *currenttext = NULL; int text_len; double curr_text_width, curr_text_height; double ot_width, ot_height; + double empty_width, empty_height; int width; double incr_w, incr_h; char txt[512]; @@ -300,16 +309,17 @@ bool presentation = self->activeview ? patcherview_get_presentation(self->activeview) != 0 : 0; if (presentation) - jbox_get_presentation_size((t_object *) self, ¤t_size); + jbox_get_presentation_rect((t_object *) self, ¤t_bounds); else - jbox_get_patching_size((t_object *) self, ¤t_size); + jbox_get_patching_rect((t_object *) self, ¤t_bounds); object_method(textfield, gensym("gettextptr"), ¤ttext, &textsize); text_len = (int)strlen(currenttext); jfont_text_measure(jf, currenttext, &curr_text_width, &curr_text_height); jfont_text_measure(jf, "w", &incr_w, &incr_h); + jfont_text_measure(jf, fts_symbol_name(sym_empty_object_text), &empty_width, &empty_height); - new_size.height = curr_text_height + 4; + new_size.height = curr_text_height + 6; if(self->edit_name == 1) { @@ -317,7 +327,7 @@ char *sep = ftmobj_str_separator(self); snprintf(txt, 512, "%s %s ", description, sep); - jfont_text_measure(jf, txt, &ot_width, &ot_height); + jfont_text_measure(jf, txt, &ot_width, &ot_height); } else { @@ -325,17 +335,20 @@ char *sep = ftmobj_str_separator(self); snprintf(txt, 512, " %s %s", sep, name); - jfont_text_measure(jf, txt, &ot_width, &ot_height); + jfont_text_measure(jf, txt, &ot_width, &ot_height); } width = (ot_width + 5) + (curr_text_width + 2); - new_size.width = (width + incr_w < current_size.width) ? current_size.width : width + incr_w; + new_size.width = (width + incr_w < /*current_size.width*/empty_width) ? /*current_size.width*/empty_width : width + incr_w; - if (new_size.width > current_size.width) + if (new_size.width > current_bounds.width) { + current_bounds.width = new_size.width; + current_bounds.height = new_size.height; + if (presentation) - jbox_set_presentation_size((t_object *) self, &new_size); + jbox_set_presentation_rect((t_object *) self, ¤t_bounds); else - jbox_set_patching_size((t_object *) self, &new_size); + jbox_set_patching_rect((t_object *) self, ¤t_bounds); jbox_redraw((t_jbox *)self); } @@ -751,7 +764,11 @@ } debug_post("textfield_deactivate edit_name %d text '%s'", self->edit_name, text); - fts_symbol_t sym = fts_new_symbol(text); + fts_symbol_t sym; + if(text[0] != '\0') + sym = fts_new_symbol(text); + else + sym = sym_empty_description; //MRO: end edit: copy edited (unreplaced) text into _init, parse and set replaced text internally if(self->edit_name == 1) @@ -979,7 +996,8 @@ char *sep = ftmobj_str_separator(self); t_jfont *jf = jfont_create(jbox_get_fontname((t_object *)self)->s_name, (t_jgraphics_font_slant)jbox_get_font_slant((t_object *)self), (t_jgraphics_font_weight)jbox_get_font_weight((t_object *)self), jbox_get_fontsize((t_object *)self)); double width, height, min_width; - t_size current_size, new_size; + t_rect current_bounds; + t_size new_size; char text[512]; snprintf(text, 512, "%s %s %s ", description, sep, name); @@ -990,17 +1008,20 @@ bool presentation = self->activeview ? patcherview_get_presentation(self->activeview) != 0 : 0; if (presentation) - jbox_get_presentation_size((t_object *) self, ¤t_size); + jbox_get_presentation_rect((t_object *) self, ¤t_bounds); else - jbox_get_patching_size((t_object *) self, ¤t_size); + jbox_get_patching_rect((t_object *) self, ¤t_bounds); - new_size.width = current_size.width > min_width ? current_size.width : min_width; + new_size.width = current_bounds.width > min_width ? current_bounds.width : min_width; new_size.height = height + 6; + current_bounds.width = new_size.width; + current_bounds.height = new_size.height; + if (presentation) - jbox_set_presentation_size((t_object *) self, &new_size); + jbox_set_presentation_rect((t_object *) self, ¤t_bounds); else - jbox_set_patching_size((t_object *) self, &new_size); + jbox_set_patching_rect((t_object *) self, ¤t_bounds); } static t_max_err @@ -1009,23 +1030,18 @@ ftmobj_t *self = (ftmobj_t *)b; t_symbol *attrname; - if (msg == gensym("attr_modified")) - { + if (msg == gensym("attr_modified")) + { t_atom *av = NULL; long ac = 0; attrname = (t_symbol *)object_method((t_object *)data, gensym("getname")); - + if(attrname == gensym("fontname") || attrname == gensym("fontsize")) ftmobj_fit_to_text(self); - else if(attrname == gensym("patching_rect")) + else if(attrname == gensym("patching_rect") || attrname == gensym("patching_size")) { if(self->activated == 1 && sender == self && self->changing_size == 0) - { - t_atom a; - self->changing_size = 1; - atom_setobj(&a, (t_object *)self); - defer_low(self,(method)ftmobj_resize_to_current_text, 0, 1, &a); - } + ftmobj_resize_to_current_text(self); if(self->activated == 0 && self->changing_size == 0) { self->changing_size = 1; @@ -1032,7 +1048,7 @@ fix_height_and_width(self); self->changing_size = 0; } - } + } if(attrname == gensym("rect")) { if(sender == self->editor_view) @@ -1046,15 +1062,15 @@ } else if(attrname == gensym("editbox")) { - object_attr_getvalueof(sender, gensym("editbox"), &ac, &av); + object_attr_getvalueof(sender, gensym("editbox"), &ac, &av); debug_post("ftmobj_notify msg %s attr %s", msg->s_name, attrname->s_name); - + if(ac == 1 && atom_gettype(av) == A_OBJ && atom_getobj(av) == (t_object *)self) { int locked = patcherview_get_locked((t_object *)sender); if(self->activated == 0 && !locked) - textfield_activate_byclick(self, (t_object *)sender); - else + textfield_activate_byclick(self, (t_object *)sender); + else if(locked)//fix to avoid edition when object is double-clicked in runmode { t_atom arv; @@ -1061,7 +1077,7 @@ object_method_typed( (t_object *)sender, gensym("endeditbox"), 0, NULL, &arv); } } - else + else { if(self->activated == 1) textfield_deactivate(self); @@ -1075,26 +1091,26 @@ if (ac == 1 && atom_gettype(av) == A_LONG) { - int locked = (int)atom_getlong(av); - debug_post(" locked %d description '%s' name '%s'", locked, ftmobj_str_description(self), ftmobj_str_name(self)); - - if (locked == 0) // MRO unlocked - { // reinstall original text in textfield with #1 for display and editing, (but keep replaced text in parsed description) - - textfield_init_bounds_and_text(self, self->edit_name, 1); // repaint textfield from description/name_init - } - else if (locked == 1) // avoid load lock == 255 - { // display replaced text with #1 transcoded to abstraction args - textfield_init_bounds_and_text(self, self->edit_name, 0); // from description/name_init - } - debug_post("--> locked %d description '%s' name '%s'", locked, ftmobj_str_description(self), ftmobj_str_name(self)); + int locked = (int)atom_getlong(av); + debug_post(" locked %d description '%s' name '%s'", locked, ftmobj_str_description(self), ftmobj_str_name(self)); + + if (locked == 0) // MRO unlocked + { // reinstall original text in textfield with #1 for display and editing, (but keep replaced text in parsed description) + + textfield_init_bounds_and_text(self, self->edit_name, 1); // repaint textfield from description/name_init + } + else if (locked == 1) // avoid load lock == 255 + { // display replaced text with #1 transcoded to abstraction args + textfield_init_bounds_and_text(self, self->edit_name, 0); // from description/name_init + } + debug_post("--> locked %d description '%s' name '%s'", locked, ftmobj_str_description(self), ftmobj_str_name(self)); } - } + } } else if(msg == gensym("interface")) { if(data != NULL) - self->editor_interface = (fts_symbol_t )data; + self->editor_interface = (fts_symbol_t )data; } else if(msg == gensym("free")) { @@ -2336,7 +2352,7 @@ } else { - self->description_init = fts_s_empty_string; + self->description_init = /*fts_s_empty_string*/sym_empty_description; self->persistence_init = ftm_context_is_persistent(&self->context); } @@ -2444,7 +2460,7 @@ CLASS_ATTR_DEFAULTNAME_SAVE_PAINT(_mc,"textcolor", 0, "0. 0. 0. 1."); CLASS_ATTR_DEFAULT(_mc, "patching_rect", 0, "0. 0. 64. 18."); - CLASS_ATTR_ACCESSORS(_mc, "patching_size", NULL, ftmobj_set_attribute_patching_size); + CLASS_ATTR_ACCESSORS(_mc, "patching_size", NULL, /*ftmobj_set_attribute_patching_size*/NULL); CLASS_ATTR_SYM(_mc, "editor_interface", 0, ftmobj_t, editor_interface); CLASS_ATTR_SAVE(_mc,"editor_interface", 0); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <di...@us...> - 2018-11-28 14:14:31
|
Revision: 3734 http://sourceforge.net/p/ftm/code/3734 Author: diemo Date: 2018-11-28 14:14:28 +0000 (Wed, 28 Nov 2018) Log Message: ----------- avoid runaway memory by doint jfont_destroy after every jfont_create, start hunting down runaway CPU from ftmobj_fit_to_text called in a loop via defer_low in ftmobj_set_attribute_patching_size Modified Paths: -------------- trunk/ftm/externals/max5/ftm.object.c Modified: trunk/ftm/externals/max5/ftm.object.c =================================================================== --- trunk/ftm/externals/max5/ftm.object.c 2018-05-23 14:18:31 UTC (rev 3733) +++ trunk/ftm/externals/max5/ftm.object.c 2018-11-28 14:14:28 UTC (rev 3734) @@ -1,3 +1,4 @@ +asdf /* * FTM externals * Copyright (C) 2004 by IRCAM-Centre Georges Pompidou, Paris, France. @@ -254,15 +255,32 @@ snprintf(text, 512, "%s %s %s ", description, sep, name); jfont_text_measure(jf, text, &width, &height); + jfont_destroy(jf); new_size.height = height + 6; new_size.width = width + 8; if (self->activeview && patcherview_get_presentation(self->activeview) != 0) - jbox_set_presentation_size((t_object *) self, &new_size); + { + t_size old_size; + jbox_get_presentation_size((t_object *) self, &old_size); + + if (old_size.width != new_size.width || old_size.height != new_size.height) + { + jbox_set_presentation_size((t_object *) self, &new_size); + jbox_redraw((t_jbox *)self); + } + } else - jbox_set_patching_size((t_object *) self, &new_size); - - jbox_redraw((t_jbox *)self); + { + t_size old_size; + jbox_get_patching_size((t_object *) self, &old_size); + + if (old_size.width != new_size.width || old_size.height != new_size.height) + { + jbox_set_patching_size((t_object *) self, &new_size); + jbox_redraw((t_jbox *)self); + } + } } static void @@ -321,6 +339,7 @@ jbox_redraw((t_jbox *)self); } + jfont_destroy(jf); self->changing_size = 0; } @@ -617,6 +636,7 @@ else object_method(textfield, gensym("settext"), description); // set text to be drawn } + jfont_destroy(jf); } static void @@ -671,7 +691,8 @@ snprintf(text, 512, "%s %s", description, sep); jfont_text_measure(jf, text, &width, &height); - + jfont_destroy(jf); + // get zoom object_attr_getvalueof(view, gensym("zoomfactor"), &ac, &at); zoom = atom_getfloat(at); @@ -965,6 +986,7 @@ jfont_text_measure(jf, text, &width, &height); min_width = width + 8; + jfont_destroy(jf); bool presentation = self->activeview ? patcherview_get_presentation(self->activeview) != 0 : 0; if (presentation) @@ -2200,7 +2222,8 @@ jf = jfont_create(fn->s_name, JGRAPHICS_FONT_SLANT_NORMAL, JGRAPHICS_FONT_WEIGHT_NORMAL, fs); jfont_text_measure(jf, fts_symbol_name(sym_empty_object_text), &width, &height); - + jfont_destroy(jf); + dictionary_getatoms(d, gensym("patching_rect"), &ac, &at); rect.x = atom_getlong(at); rect.y = atom_getlong(at + 1); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <di...@us...> - 2018-05-23 14:18:35
|
Revision: 3733 http://sourceforge.net/p/ftm/code/3733 Author: diemo Date: 2018-05-23 14:18:31 +0000 (Wed, 23 May 2018) Log Message: ----------- v2.7.2 Modified Paths: -------------- trunk/ftm/build/max5/osx-macho/ftmlib.xcodeproj/project.pbxproj trunk/ftm/distrib/ReleaseNotes.txt Modified: trunk/ftm/build/max5/osx-macho/ftmlib.xcodeproj/project.pbxproj =================================================================== --- trunk/ftm/build/max5/osx-macho/ftmlib.xcodeproj/project.pbxproj 2018-05-23 14:02:09 UTC (rev 3732) +++ trunk/ftm/build/max5/osx-macho/ftmlib.xcodeproj/project.pbxproj 2018-05-23 14:18:31 UTC (rev 3733) @@ -2745,11 +2745,11 @@ SNDFILE_LIBS = "$(SNDFILE_DIR)/macos/libFLAC.a $(SNDFILE_DIR)/macos/libogg.a $(SNDFILE_DIR)/macos/libsndfile.a $(SNDFILE_DIR)/macos/libvorbis.a $(SNDFILE_DIR)/macos/libvorbisenc.a"; SYS_FRAMEWORKS = "-framework Accelerate -framework Carbon"; VECLIB_FRAMEWORK_DIR = /System/Library/Frameworks/Accelerate.framework/Frameworks; - VERSION_DATE = "\\\"03/2018\\\""; + VERSION_DATE = "\\\"05/2018\\\""; VERSION_MACROS = "FTM_VERSION_MAJOR=$(VERSION_MAJOR) FTM_VERSION_MINOR=$(VERSION_MINOR) FTM_VERSION_RELEASE=$(VERSION_RELEASE) FTM_VERSION_TAG=$(VERSION_TAG) FTM_VERSION_DATE=$(VERSION_DATE)"; VERSION_MAJOR = 2; VERSION_MINOR = 7; - VERSION_RELEASE = 1; + VERSION_RELEASE = 2; VERSION_TAG = "\\\"64bit\\\""; }; name = Debug_optimised; @@ -2967,11 +2967,11 @@ SNDFILE_LIBS = "$(SNDFILE_DIR)/macos/libFLAC.a $(SNDFILE_DIR)/macos/libogg.a $(SNDFILE_DIR)/macos/libsndfile.a $(SNDFILE_DIR)/macos/libvorbis.a $(SNDFILE_DIR)/macos/libvorbisenc.a"; SYS_FRAMEWORKS = "-framework Accelerate -framework Carbon"; VECLIB_FRAMEWORK_DIR = /System/Library/Frameworks/Accelerate.framework/Frameworks; - VERSION_DATE = "\\\"03/2018\\\""; + VERSION_DATE = "\\\"05/2018\\\""; VERSION_MACROS = "FTM_VERSION_MAJOR=$(VERSION_MAJOR) FTM_VERSION_MINOR=$(VERSION_MINOR) FTM_VERSION_RELEASE=$(VERSION_RELEASE) FTM_VERSION_TAG=$(VERSION_TAG) FTM_VERSION_DATE=$(VERSION_DATE)"; VERSION_MAJOR = 2; VERSION_MINOR = 7; - VERSION_RELEASE = 1; + VERSION_RELEASE = 2; VERSION_TAG = "\\\"64bit\\\""; }; name = Debug; @@ -3043,11 +3043,11 @@ SNDFILE_LIBS = "$(SNDFILE_DIR)/macos/libFLAC.a $(SNDFILE_DIR)/macos/libogg.a $(SNDFILE_DIR)/macos/libsndfile.a $(SNDFILE_DIR)/macos/libvorbis.a $(SNDFILE_DIR)/macos/libvorbisenc.a"; SYS_FRAMEWORKS = "-framework Accelerate -framework Carbon"; VECLIB_FRAMEWORK_DIR = /System/Library/Frameworks/Accelerate.framework/Frameworks; - VERSION_DATE = "\\\"03/2018\\\""; + VERSION_DATE = "\\\"05/2018\\\""; VERSION_MACROS = "FTM_VERSION_MAJOR=$(VERSION_MAJOR) FTM_VERSION_MINOR=$(VERSION_MINOR) FTM_VERSION_RELEASE=$(VERSION_RELEASE) FTM_VERSION_TAG=$(VERSION_TAG) FTM_VERSION_DATE=$(VERSION_DATE)"; VERSION_MAJOR = 2; VERSION_MINOR = 7; - VERSION_RELEASE = 1; + VERSION_RELEASE = 2; VERSION_TAG = "\\\"64bit\\\""; WARNING_LDFLAGS = ""; }; @@ -3303,11 +3303,11 @@ SNDFILE_LIBS = "$(SNDFILE_DIR)/macos/libFLAC.a $(SNDFILE_DIR)/macos/libogg.a $(SNDFILE_DIR)/macos/libsndfile.a $(SNDFILE_DIR)/macos/libvorbis.a $(SNDFILE_DIR)/macos/libvorbisenc.a"; SYS_FRAMEWORKS = "-framework Accelerate -framework Carbon"; VECLIB_FRAMEWORK_DIR = /System/Library/Frameworks/Accelerate.framework/Frameworks; - VERSION_DATE = "\\\"03/2018\\\""; + VERSION_DATE = "\\\"05/2018\\\""; VERSION_MACROS = "FTM_VERSION_MAJOR=$(VERSION_MAJOR) FTM_VERSION_MINOR=$(VERSION_MINOR) FTM_VERSION_RELEASE=$(VERSION_RELEASE) FTM_VERSION_TAG=$(VERSION_TAG) FTM_VERSION_DATE=$(VERSION_DATE)"; VERSION_MAJOR = 2; VERSION_MINOR = 7; - VERSION_RELEASE = 1; + VERSION_RELEASE = 2; VERSION_TAG = "\\\"64bit\\\""; }; name = Debug_harder; Modified: trunk/ftm/distrib/ReleaseNotes.txt =================================================================== --- trunk/ftm/distrib/ReleaseNotes.txt 2018-05-23 14:02:09 UTC (rev 3732) +++ trunk/ftm/distrib/ReleaseNotes.txt 2018-05-23 14:18:31 UTC (rev 3733) @@ -7,6 +7,18 @@ * ____________________________________________________ +RELEASE NOTES for FTM & Co 2.7.2 (23/05/2018) + +ftmlib: +- fix crash when fvec lookup index data is nan (makes cataRT patches work again) + +ftm.mess: +- fixed click graphical feedback + +ftm.editor: +- reactivate pixel view + +____________________________________________________ RELEASE NOTES for FTM & Co 2.7.1 (16/03/2018) ftmlib: @@ -14,7 +26,7 @@ (issue #1385: https://forge.ircam.fr/p/ftm-and-co/issues/1385) ftm.object, ftm.mess: -- observe now presentation mode position +- observe presentation mode position ____________________________________________________ RELEASE NOTES for FTM & Co 2.7.0 (30/12/2016) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |