{"push_id":733801563,"size":21,"distinct_size":0,"ref":"refs/heads/develop","head":"fc7923e8af2529eecb19b2317008eec10ed4c24b","before":"443ea710a2cee6e4dc2715745ad5bb29b748a315","commits":[{"sha":"64fdcbdfb24c88e05a48575d653959b35a409bec","author":{"email":"088e16a1019277b15d58faf0541e11910eb756f6@highlyillogical.org","name":"Simon Detheridge"},"message":"Add travis config\n\nThis adds a travis config to build everyting on 12.04. Because 12.04 is quite old, there are a certain number of hoops that need to be jumped through in order to get things working. As a result, the build script is more complex than I'd like.","distinct":false,"url":"https://api.github.com/repos/gh2k/fractorium/commits/64fdcbdfb24c88e05a48575d653959b35a409bec"},{"sha":"1e88aa740c285c9d047ca5491214040d021bb679","author":{"email":"088e16a1019277b15d58faf0541e11910eb756f6@highlyillogical.org","name":"Simon Detheridge"},"message":"Merge branch 'master' into travis","distinct":false,"url":"https://api.github.com/repos/gh2k/fractorium/commits/1e88aa740c285c9d047ca5491214040d021bb679"},{"sha":"91006edf34374aedc72d1b55d27a3a09c7b3e16f","author":{"email":"088e16a1019277b15d58faf0541e11910eb756f6@widgit.com","name":"Simon Detheridge"},"message":"Merge branch 'master' into travis","distinct":false,"url":"https://api.github.com/repos/gh2k/fractorium/commits/91006edf34374aedc72d1b55d27a3a09c7b3e16f"},{"sha":"3fc1645b7a26a844c8a0b4bf1364365e2e4cfa65","author":{"email":"088e16a1019277b15d58faf0541e11910eb756f6@widgit.com","name":"Simon Detheridge"},"message":"Merge branch 'master' into travis","distinct":false,"url":"https://api.github.com/repos/gh2k/fractorium/commits/3fc1645b7a26a844c8a0b4bf1364365e2e4cfa65"},{"sha":"4a235c7491435f853d54c57479f15e30ad8ebd4c","author":{"email":"088e16a1019277b15d58faf0541e11910eb756f6@highlyillogical.org","name":"Simon Detheridge"},"message":"Merge branch 'master' into travis","distinct":false,"url":"https://api.github.com/repos/gh2k/fractorium/commits/4a235c7491435f853d54c57479f15e30ad8ebd4c"},{"sha":"41a886fdac6ede1ba26bca9d89676086fb9e2e2a","author":{"email":"088e16a1019277b15d58faf0541e11910eb756f6@highlyillogical.org","name":"Simon Detheridge"},"message":"Merge branch 'master' into travis","distinct":false,"url":"https://api.github.com/repos/gh2k/fractorium/commits/41a886fdac6ede1ba26bca9d89676086fb9e2e2a"},{"sha":"448840f32b8a7265adcb9663200594fa265a6bdd","author":{"email":"088e16a1019277b15d58faf0541e11910eb756f6@widgit.com","name":"Simon Detheridge"},"message":"Merge branch 'master' into travis","distinct":false,"url":"https://api.github.com/repos/gh2k/fractorium/commits/448840f32b8a7265adcb9663200594fa265a6bdd"},{"sha":"40ff655be027f6f50d167a4cbfd4264d17464de8","author":{"email":"088e16a1019277b15d58faf0541e11910eb756f6@highlyillogical.org","name":"Simon Detheridge"},"message":"Merge branch 'master' into travis","distinct":false,"url":"https://api.github.com/repos/gh2k/fractorium/commits/40ff655be027f6f50d167a4cbfd4264d17464de8"},{"sha":"1a37504b0956ee428516c67383ebb21ce504d32d","author":{"email":"088e16a1019277b15d58faf0541e11910eb756f6@highlyillogical.org","name":"Simon Detheridge"},"message":"Add 'saw' motion function","distinct":false,"url":"https://api.github.com/repos/gh2k/fractorium/commits/1a37504b0956ee428516c67383ebb21ce504d32d"},{"sha":"d75a15136d6214d698c8c00deca47250c2537431","author":{"email":"088e16a1019277b15d58faf0541e11910eb756f6@highlyillogical.org","name":"Simon Detheridge"},"message":"Convert motion_frequency to floating point","distinct":false,"url":"https://api.github.com/repos/gh2k/fractorium/commits/d75a15136d6214d698c8c00deca47250c2537431"},{"sha":"9d5f3e85784dd804ad371708e1a4dd25124cfefc","author":{"email":"088e16a1019277b15d58faf0541e11910eb756f6@highlyillogical.org","name":"Simon Detheridge"},"message":"Add new class to store flame motion parameters","distinct":false,"url":"https://api.github.com/repos/gh2k/fractorium/commits/9d5f3e85784dd804ad371708e1a4dd25124cfefc"},{"sha":"679a8b4129041171d76096d947043cdc654777b4","author":{"email":"088e16a1019277b15d58faf0541e11910eb756f6@highlyillogical.org","name":"Simon Detheridge"},"message":"Serialise FlameMotion elements to/from XML","distinct":false,"url":"https://api.github.com/repos/gh2k/fractorium/commits/679a8b4129041171d76096d947043cdc654777b4"},{"sha":"f606986b7d4e3396343899412d944214973d4caf","author":{"email":"088e16a1019277b15d58faf0541e11910eb756f6@highlyillogical.org","name":"Simon Detheridge"},"message":"Apply flame motion elements when generating flame sequence for animation","distinct":false,"url":"https://api.github.com/repos/gh2k/fractorium/commits/f606986b7d4e3396343899412d944214973d4caf"},{"sha":"efb39f81601230883c499288ed139298f4167b7b","author":{"email":"088e16a1019277b15d58faf0541e11910eb756f6@highlyillogical.org","name":"Simon Detheridge"},"message":"Make 'loops' param to EmberGenome work correcly, and convert to double","distinct":false,"url":"https://api.github.com/repos/gh2k/fractorium/commits/efb39f81601230883c499288ed139298f4167b7b"},{"sha":"3fa59be990bff27ea6e2d6d0b14eda99da6c04ca","author":{"email":"088e16a1019277b15d58faf0541e11910eb756f6@highlyillogical.org","name":"Simon Detheridge"},"message":"Add new 'motion_offset' parameter to motion elements","distinct":false,"url":"https://api.github.com/repos/gh2k/fractorium/commits/3fa59be990bff27ea6e2d6d0b14eda99da6c04ca"},{"sha":"570331adb5be4f3d7382f5b05faafdf7195ea21d","author":{"email":"82d8e2dd4d506b4c274e0e64d2dcda4b45cacfff@gmail.com","name":"mfeemster"},"message":"--Bug fixes\n-Allow for empty fields in template files.\n\n--Code changes\n -When parsing, a boolean is not available to specify whether to use the default values if they are not present. This will be false for template files.","distinct":false,"url":"https://api.github.com/repos/gh2k/fractorium/commits/570331adb5be4f3d7382f5b05faafdf7195ea21d"},{"sha":"0839d610c176e82064ad35bdcf97570dfeaeb737","author":{"email":"82d8e2dd4d506b4c274e0e64d2dcda4b45cacfff@gmail.com","name":"mfeemster"},"message":"Merge branch 'master' of https://github.com/mfeemster/fractorium.git","distinct":false,"url":"https://api.github.com/repos/gh2k/fractorium/commits/0839d610c176e82064ad35bdcf97570dfeaeb737"},{"sha":"3a9ce0928f24ac8814ae38b1a5e434630a3b75bc","author":{"email":"82d8e2dd4d506b4c274e0e64d2dcda4b45cacfff@gmail.com","name":"mfeemster"},"message":"Merge branch 'motion-goodies' of https://github.com/gh2k/fractorium","distinct":false,"url":"https://api.github.com/repos/gh2k/fractorium/commits/3a9ce0928f24ac8814ae38b1a5e434630a3b75bc"},{"sha":"fb262c2469ef13d1dc3fe243e48d0bb9baf8df62","author":{"email":"82d8e2dd4d506b4c274e0e64d2dcda4b45cacfff@gmail.com","name":"mfeemster"},"message":"--User changes\n -Add motion support from Simon Detheridge at the ember level instead of just individual xforms:\n  Add the ability to manipulate camera pitch, yaw and other goodies during flame rotation using a new element specified at the top-level of the flame.\n  Create a new 'saw' motion function, so that these values can effectively be looped (e.g. yaw -1 to +1) over the course of a rotation.\n  Add an offset to existing motion elements, to start them partway through their cycle. This would (for example) enable creating circular motion of xform affines, by combining two offset sine waves, one with an offset of 0.25 or 0.75.\n  Fix loops in EmberGenome (they only had an on/off effect - this was broken in flame-genome as well) and make the loop count floating-point as well. For sequence animations, it's not necessary for clips to loop precisely if they're not designed specifically for the ES project.\n  Similarly, there's no need for motion_frequency to be an integer value either so this was changed to allow motion that doesn't necessarily start or end at the loop boundary.\n  I've attempted to keep each bit of functionality in its own commit.\n  There's an argument as to whether to call the new flame motion elements <flame_motion/> (to differentiate programmatically) or just <motion/> (for consistency within the file) -- I opted for the former because it was easier to modify the xml parser that way.\n\n--Code changes\n -Change FlameMotion.h to EmberMotion.h to keep the naming convention consistent.\n -Made elements of EmberMotion.m_MotionParams into their own type, MotionParam, which allows for CopyVec() to work.\n -Change m_FlameMotionElements to m_EmberMotionElements in Ember.\n -Use CopyVec() for EmberMotion instead of manual copy in copy constructors.\n -Add exports in Ember.cpp for EmberMotion.\n -Format eEmberMotionParam enum with one entry per line since it has many entries.\n -Use fabs() in XmlToEmber instead of glm::abs.\n -Minor formatting.","distinct":false,"url":"https://api.github.com/repos/gh2k/fractorium/commits/fb262c2469ef13d1dc3fe243e48d0bb9baf8df62"},{"sha":"3aa9e1319435c2dbe1c0a1fdb2f803a7b8d2a4dc","author":{"email":"82d8e2dd4d506b4c274e0e64d2dcda4b45cacfff@gmail.com","name":"mfeemster"},"message":"--User changes\n -Add Summary tab to the info dock, place existing bounds related info in a new Bounds tab.\n -Add a toolbar with the most common actions on it.\n -Remove old toolbar at the top of the library tab.\n\n--Code changes\n -Refactor code to make a color visible on a background into VisibleColor() in FractoriumCommon.h\n -Add IsXformLinked() to determine if an xform is linked to another.\n -Remove SetPaletteRefTable() and GetQRgbFromPaletteIndex() from FractoriumEmberControllerBase and its derivations, unused.\n -Add FillSummary() to FractoriumEmberController. Call in Update(), UpdateXform() and other places where values are changed to force an update of the summary view.\n -Add export statements to FractoriumInfo.cpp.\n -Remove image parameter from SetPaletteTableItem(), it was a bad design.\n -InitToolbarUI() is now empty since toolbar initialization happens automatically. Leave as a placeholder.\n -Refactor code to get a palette color at a given index and convert it to a QColor to ColorIndexToQColor().","distinct":false,"url":"https://api.github.com/repos/gh2k/fractorium/commits/3aa9e1319435c2dbe1c0a1fdb2f803a7b8d2a4dc"}]}