Hi Brendon,
I’m quite new to IanniX myself but I’ve started looking into the source code to make some modifications and may be able to help you with at least some things.
>>> Regarding Font display:
I’ve run IanniX on two different Windows 7 systems and two different Macs and have not had this problem except maybe in the message editor, and maybe the text is somewhat small, although I’m running at 1920×1200 resolution. I see you are running on Windows XP so that may be the problem. I do have an XP system so I’ll download IanniX to it and see if the same thing happens. Also, IanniX is written with the cross platform frameworks QT so I’ll have a look in the QT support forums for reports of problems with XP. What screen resolution are you using?
>>> ‘?’ does not point to documentation
There should be a « documentation » folder in the folder where IanniX.exe is located. In that should be the file « index.html » which is the documentation. Did you install IanniX version 0.8.21 for Windows from here: https://www.iannix.org/en/download.php ? If you downloaded this and just unzipped the contents into a folder and run the exe the directory structure should be set up correctly with respect to the exe.
However regarding documentation, recently much better documentation has been posted online here: https://www.iannix.org/documentation/EN/
>>> ‘Open Patches folder’ does not do so
Again it sounds like problem with the directory structure from where the exe is located. It should contain a patches folder.
>>> Inspector logic: On the very first running of Iannix, the inspector Score centre lists the example scripts. On subsequent runs, the scripts do not display requiring me to open the example folder as the project folder (File – open project folder)
This may be a problem with the directory structure too. Double check that the folder where the exe is contains all the folders as they are laid out in the unzipped application download. If the exe file’s folder contains an examples folder the examples should be seen in the « Styles and Scripts » list in the « Score Center ».
>>> Examples do not always open/run.
May again be a problem with folder structure.
>>> Midi example sometimes opens with triggers and but most of the time has no triggers.
I’ve never seen this problem. There is something strange about your installation. Try downloading Windows version 0.8.21 again, keeping the directory structure intact. If the problem still occurs it will take some detective work to figure out what’s different about your system/setup that is causing this. It may be relate to the text display problem.
>>> After closing the script editor, I can’t work out how to open it again.
This confused me at first too. The script editor should reopen when you double click on a script to run it, which also opens the editor. I understand script editing is only newly added and not complete yet. I would like to see the behavior changed so you can see a script BEFORE running it so you can verify it does what you want or to change it as required.
>>> Regarding Project management (project folders & saving etc):
I also find this confusing and I think some improvements could me made. I’ve unofficially started to think about improvements (although I’m not part of the IanniX team). What problems are you having?
– Chris
Just a follow-up on the unclear text problem: I tried IanniX on my Windows XP system and the text was quite clear. However my Windows system is actually a high resolution large screen iMac running Bootcamp so it may not be comparable.
However I did find mention on the QT forums of a problem on XP when ClearType was enabled, although not widespread. I tried enabling ClearType and the text was a little less clear although not as bad as what you are seeing. I tried it at different resolutions and it shows more pixellation at some resolutions than others.
You might try a different screen resolution and see if this helps. You might also try changing your ClearType setting – enable if disabled, disable if enabled and see if this helps. There is also online information about tuning you can do to optimize ClearType’s settings for your system. (Easy to find with Google) For me changing these settings did affect the degree of pixellation and on some displays it might have a bigger effect to cause what you are seeing.
Apart from that I don’t know what could help the problem other than re-downloading a fresh copy of IanniX and see if that helps.
– Chris
Hi everybody,
Thanks to a project based on IanniX core (https://www.facebook.com/media/set/?set=a.263008863722523.60915.191008214255922&type=1), we’ve made some modifications on IanniX (teasing : 3D curves, better curve management, script simplification…) and bugs fixing (font problems with Lucida Sans, 1st point of a curve can be different from its position, score saving improved, new curve rendering…).
There were a lot of code change (to switch from 2D to 3D) and scripts have also changed to be more readable. But don’t worry, everything will be compatible, we’ve juste make some stuff easier.
We’ll be proud to present you this new version at the end of this month (I’m sure we can!). So keep in touch (Facebook or Twitter @iannix_software).
Hi Chris
Much thanks for your detailed suggestions here. Bit busy today, but when I get a moment, probably this evening, I’ll go through your suggestions carefully.
brendon
Hi Chris
Well firstly I’ve found what causes the problem with directory structure. When I right click on the .exe, select ‘pin to start menu’ and then click on that link it opens Iannix without any scripts loaded and ‘open patches’ and ‘?’ not working. When I run Iannix by clicking directly on the .exe it opens fine without any broken links.
And so far examples are running fine as well including the midi example – this *might* be a result of me having had to open the example scripts manually by going ‘file – open project folder’ and then finding the example file.
I’d still call this a bug though as I almost always use ‘pin to start menu’ with a wide range of software without encountering this problem.
Font: On your suggestion, I tried several combinations of ‘clear type’ and screen resolution. Clear type with screen at highest resolution (1280×800) and at 32bit is most legible. I also downloaded the XP Clear type tweaker. The font is now a little better and in a manner readable but is still degraded with parts of letters missing. I could attach a screenshot except that after compressing to jpeg it looks much the same as the previous one I posted. I don’t have this font problem with any of the other applications I use (Audiomulch, Reaper, Audacity etc) and probably wont be able to live with cleartype (text is blurred and in writing this mail my eyes are straining).
Script editor – I’m beginning to understand the logic, but agree with you re: being able to see the script before running it.
Project management confusion: I still need to clarify my thoughts. I discussed this briefly with my partner who said that Illustrator seems to use a similar logic – so I’ll have a look and get back. So far I can say:
– That if the user seems directed to use the ‘score centre’ rather than the usual ‘file – save – choose location – save in location’, then it would be better to be able to do everything in the ‘score centre’ – renaming and deleting scores without having to use the file menu. It feels counter intuitive to have to move from one side of the screen to the other – in a way mixing two ways of working in an awkward way.
– I’d say the same for opening, creating and accessing project folders.
Thanks again for your feedback and suggestions!
brendon
exciting news, i’m eagerly awaiting the new features. 3D ! 🙂
best,
dp
Hi Guillaume, that’s great about the new version.
I’ve made a number of enhancements to my private version of IanniX which I synced to the svn version and am tracking with GIT on my system.
The enhancements include:
– support for pitch bend as a « /bend » MIDI message type
– the addition of some additional parameter types that can be used in messages including
* trigger_distance: distance from the center of cursor to the center of the trigger
* collision_distance: distance from the center of cursor to the intersection of the cursor with the collision curve
* trigger_angle: angle of line between center of cursor to the center of the trigger
* collision_angle: angle of line between center of cursor and intersection of the cursor with the collision curve
(implementation of the angle parameters is underway now)
– support for embedded Javascript expressions in messages. For example the message midi://IanniX_Out/note 0 {127*(trigger_distance/10)} trigger_value
would return MIDI note numbers scaled based on the trigger_distance, assuming the maximum possible trigger distance was 10.
Anywhere a single parameter can be used, an expression enclosed in { } can be substituted and the expression can used any of the parameters that could have been used directly in the expression. Whatever number the Javascript returns is entered into the message in place of the expression.
– I also made a few enhancements to the parameters, notably to the « collision » ones, as currently if these are used in a message and a collision is not occurring, that field is blank in the message and this can displace any parameters following that parameter so they may be mis-identified. I added return value of -999999 as a place filler in these cases. I also added a « colliding » parameter that is 1 if a collision is occurring and 0 if not.
– In working with the cursor-angle parameter I noticed that it always returns a negative angle, if I’m not mistaken. The correct positive angle I believe would be given as 360+cursor_angle.
– I’d also like to add a trigger_angle parameter that would be the angle of the line from the cursor centre to the trigger at the time of a collision. This combined with the cursor-angle could be used to compute (with the embedded Javascript) the angle to the trigger relative to the direction of the cursor. i.e. The angle as it would be seen from the frame of reference of the cursor. Geomaestro support this and it allowed things like panning the sound as it would be heard by an observer riding on the cursor.
– Similarly I’d like to add a collision_angle parameter for cursors colliding with curves.
– I have some other ideas but I think that’s a summary of what I’ve done do far.
I have the source code for these things, which is quite localized in the code, tracked as changes in a GIT repository so if you are interested I could send you the code.
– Chris
One other minor detail: I don’t think cursor_angle currently depends on which direction the cursor is moving. I think it would be most useful if it did. i.e. If the cursor is moving left to right the angle should be returned as it is. If the cursor is moving right to left the angle should be 180 plus the current angle.
There are a few other things I’m planning to add in the next few days:
– Some helper functions available in the embedded Javascript. The most important would be scale(in_min,in_max,out_min,out_max) that would be like the scale object in MaxMsp, and would rescale a parameter ranging from in_min to in_max into the range out_min to out_max. There might also be a version that scales logarithmically. These things could be implemented with the embedded Javascript but would be so commonly needed that it makes sense to provide them.
– The ability to have the MIDI /note message control the note duration. I suggest doing this by allowing an additional parameter at the end of the message that, if present, would set the duration for that note. If the parameter is omitted the note would be the length set in the inspector. (I haven’t looked into the difficulty of implementing this yet. The extent of the changes necessary depends on how the note-off timing is implemented.)
– I have a bunch of other ideas but you may have already done some of these things in the new version so I won’t discuss any other ideas right now.
– Chris
I’m really impressed by all these features you develop! Very excited about that!
– « /bend »
Ok, MIDI is not our favorite protocol, but good idea! Can you send me the piece of code todo that? (guillaume@iannix.org)
* trigger_distance & trigger_angle
Ok, I’ll add this.
* collision_distance & collision_angle
Ok, I’ll add this.
– support for embedded Javascript expressions in messages
Oh yeaaah. I want you piece of code to do that (this is a feature I wanted to develop, but not enough time!)
– « colliding » parameter that is 1 if a collision is occurring and 0 if not
Ok, Because of 3D curve, this feature (collision) is now in alpha…
– negative angle
Ok, with our new curve system, it should be better.
– trigger_angle/collision_angle for collision
Ok, I didn’t code this, because collision is now in alpha. But wait for the next release to have more flexible architecture to manage curves.
– Some helper functions available in the embedded Javascript
Ok, I’ve added a IanniX.JS file with some usefull functions (like in Processing : map, scale, normalize…)
– The ability to have the MIDI /note message control the note duration.
But you have triggerOff parameter in the inspector, maybe it can help isn’t it ?
Waiting now for some piece of code, then I can package that.
Btw, are you on Mac OS X or Windows?
– « /bend »
Ok, MIDI is not our favorite protocol, but good idea! Can you send me the piece of code todo that? (guillaume@iannix.org)
>> I also use OSC into Supercollider but I like MIDI for direct access to acoustic instrument sounds.
* trigger_distance & trigger_angle
Ok, I’ll add this.
>> I have trigger distance implemented so it will be in the code I send you.
* collision_distance & collision_angle
Ok, I’ll add this.
>> I also have collision distance implemented
– support for embedded Javascript expressions in messages
Oh yeaaah. I want you piece of code to do that (this is a feature I wanted to develop, but not enough time!)
>> I have it working and I’ve tested it fairly extensively. The one thing my code doesn’t do at this time is support spaces embedded in the Javascript. The splitting of the messages using space delimiters is in a different place from the rest of the parsing so I was leaving this for later. It would be nice to be able to have spaces in the Javascript, and it would not be too hard to add, hopefully with no bad side effects. You would know of possible side effects better than I do. I also don’t support Javascript in messages EXECUTED from scripts, only from objects. The parsing of script-executed messages was different and would have taken extra work, and I didn’t think it was very useful anyway. However scripts can of course attach messages containing Javascript to objects.
– The ability to have the MIDI /note message control the note duration.
But you have triggerOff parameter in the inspector, maybe it can help isn’t it ?
>> Trigger off does not do all you need. Presumably you set a timer to cause MIDI offs so the message isn’t around any more when the note needs to be turned off. trigger_off certainly will be useful in some cases such as where you want one trigger to turn a note on and another to turn it off, but not for the timed-off case.
Waiting now for some piece of code, then I can package that.
Btw, are you on Mac OS X or Windows?
I’m developing on Windows 7. I also use Macs but I prefer Windows for development. Haven’t installed qt on the Macs. I might at some point.
P.S. If you want someone to help with testing the upcoming release I’d be pleased to do that. These days I have time available to work on IanniX.
I propose to extract all the changed files from my repository, zip them and email them to you. Would that be the best way to send the code?
– Chris
A quick note to say I’m available for testing on Linux. I run a variety of distributions, 32-bit and 64-bit. All machines here can run SuperCollider 3.5 and Csound 5.13.0 in realtime, and all have graphics powered by nVidia GPUs (I need fast 3D for my work with AVSynthesis and Pd/GEM). And of course I have a full development environment installed on each box. 🙂
dp
I now added the ability for my Javascript expressions in messages to have embedded spaces which will be good for readability. Now expressions like this are possible:
midi://VMidi2/note 1 { 100*Math.sin(cursor_angle + 360) } { (cursor_yPos>0)?127:0 }
To do this I modified the message entry parser in extoscpatternask.cpp.
I’ve tested all the boundary conditions and it seems to be working fine. Let me know if you want to me send you this file also.
– Chris
I noticed a minor problem with the trigger-offtime feature of triggers:
The purpose of Trigger-offtime is to cause a second message to be sent some time after a trigger occurs, usually to end a note. However, I found that if there is more than one message attached to the trigger, ALL messages attached to the trigger are re-sent when the trigger off occurs.
I attached two messages to a trigger, with the first setting up the conditions to play a note and the second to play the note.
For example the first message attached to a trigger might be a MIDI /cc or /bend , and the second attached to the same trigger might be a /note message.
This works for setting up and playing the note, but the setup message is also sent again at the time of the note-off, which can incorrectly affect other notes.
I suggest that only if a message contains the parameter « trigger_value » should the message be re-sent at Trigger-offtime.
Hello All,
this is my latest study, really fundamental for modern science:
Like You sure know it is scientifically proved that the Universe emits sound because planet’s motion.
Also, with regard to Solar System only, every planet has a color associated (see
http://www.astralis.it/astrocol.htm, by Patrice Guinard, especially « Diagramma del circolo Cromatico planetario »)
I present here a preliminary study of some different interpretations of the sound of Universe.
Every planet name (in italian, sorry) is interpreted Cabalistically or using ASCII code.
The audio file presents seven sections each one using different mapping of numbers.
The piece last 360 seconds, in consideration of the real time of a Pluton orbit (the longer)
that last exactly 360 (yet the Sumer known about that).
Please note that this interpretation are all scientifically calculated by really complex formulas becoming
from well known study by Pitagora, Johannes Kepler, Pietro Goffo Dandino, etc.
Note also that plutone has a black color associated (see above) and because the universe is black, it is difficult
to note his movement.
« The Solar System[a] consists of the Sun and the astronomical objects gravitationally bound in orbit
around it, all of which formed from the collapse of a giant molecular cloud approximately 4.6 billion
years ago. Of the many objects that orbit the Sun, most of the mass is contained within eight relatively
solitary planets[e] whose orbits are almost circular and lie within a nearly flat disc called the ecliptic
plane. […]
Nicolaus Copernicus was the first to develop a mathematically predictive heliocentric system. His
17th-century successors, Galileo Galilei, Johannes Kepler and Isaac Newton, developed an understanding
of physics that led to the gradual acceptance of the idea that the Earth moves around the Sun and
that the planets are governed by the same physical laws that governed the Earth. »
http://en.wikipedia.org/wiki/Solar_System
« Johannes Kepler (December 27, 1571 – November 15, 1630) was a German mathematician,
astronomer and astrologer. A key figure in the 17th century scientific revolution, he is best known
for his eponymous laws of planetary motion, codified by later astronomers, based on his works
Astronomia nova, Harmonices Mundi, and Epitome of Copernican Astronomy.
[…] he turned his attention to chronology and « harmony, » the numerological relationships among music,
mathematics and the physical world, and their astrological consequences. By assuming the Earth
to possess a soul (a property he would later invoke to explain how the sun causes the motion of planets),
he established a speculative system connecting astrological aspects and astronomical distances to
weather and other earthly phenomena. »
http://en.wikipedia.org/wiki/Johannes_Kepler
« While medieval philosophers spoke metaphorically of the « music of the spheres », Kepler discovered
physical harmonies in planetary motion. He found that the difference between the maximum and
minimum angular speeds of a planet in its orbit approximates a harmonic proportion. For instance,
the maximum angular speed of the Earth as measured from the Sun varies by a semitone (a ratio of
16:15), from mi to fa, between aphelion and perihelion. Venus only varies by a tiny 25:24 interval
(called a diesis in musical terms). Kepler explains the reason for the Earth’s small harmonic range:
The Earth sings Mi, Fa, Mi: you may infer even from the syllables that in this our home misery and famine hold sway.
At very rare intervals all of the planets would sing together in « perfect concord »: Kepler proposed
that this may have happened only once in history, perhaps at the time of creation. »
http://en.wikipedia.org/wiki/Harmonice_Mundi
Thanks,
ciao,
francesco :>)
Bibliography:
Johannes Kepler (1571-1630)
« Harmonice Mundi », 1619.
Gioseffo Zarlino (1517-1590)
« Institutioni Harmoniche », 1558.
Marsilio Ficino (1433-1499)
« De vita coelitus comparanda »
Pietro Goffo Dandino (1545-1633)
« De sonus misticum », 1599.
© IanniX Association
Qu'est-ce que IanniX ? | Téléchargement | Showcase | Forum | Recherche | À propos
Cookie | Durée | Description |
---|---|---|
cookielawinfo-checkbox-analytics | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics". |
cookielawinfo-checkbox-functional | 11 months | The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional". |
cookielawinfo-checkbox-necessary | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary". |
cookielawinfo-checkbox-others | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other. |
cookielawinfo-checkbox-performance | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance". |
viewed_cookie_policy | 11 months | The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data. |