SlideShare ist ein Scribd-Unternehmen logo
1 von 97
Multimedia Fun with
 OpenOffice Calc



        imacat
imacat@mail.imacat.div.tw
      2013-04-19
“Multimedia Fun with OpenOffice Calc” is created by imacat (Yang Shih-Ching),
and licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License
Create charts and reports
imacat
●   Member of the Apache OpenOffice Project
    Management Committee
●   An OpenOffice committer
●   System administrator of OpenOffice forum
    and Wiki
●   A member of Women in Free and Open
    Source Software
●   A graduate student from National Taiwan
    Normal University
Question:
What do you do with a spreadsheet?
Counting salaries
Counting student scores
Creating charts and reports
Creating quotations
Doing calculation for strategy games
Voting machine
…
This talk is a modification
     of my previous talk
in ApacheCon Europe 2012
    at Sinsheim, German
       on 2012/11/6…
…with additions of
some of my interesting works afterwards.
And my talk in German
was based on my lightning talk
      in COSCUP 2013
Has anyone attended to my lightning talk
         in COSCUP 2013?
Has anyone remember what I had done?
My lightning talk in COSCUP 2013
       was about something I did
just one week before COSCUP 2013,
      which I had not enough time
  to finish and present it completely.
And here is the story.
Long time ago in the far, far land
   when I was still a child…
Long time ago in the far, far land
         when I was still a child…
Well, actually it was only in last August. :p
I saw on my RSS reader...
So I followed the story and
  watched the video…
It’s cool, isn’t it?
It’s cool, isn’t it?
Yes, it’s SO COOL!
I forwarded it onto our Google Plus,
      our Facebook fans page,
     our forums, local forum, etc.
I forwarded it onto our Google Plus,
      our Facebook fans page,
     our forums, local forum, etc.
          Then I put it away
      and return to my textbook.
Until I saw Rob talking about this
        video the next day…
So I watched it again, and also the
      “behind the scenes”…
Well, I think…
Well, I think…
Yeah, I can do it…
Well, I think…
Yeah, I can do it…
programmatically!
Creating mosaic arts involves
calculating the average colors of image blocks.
Since neither OpenOffice BASIC nor UNO API
                has any method
    to obtain the colors of individual pixels,
           I have use Java to do this.
So here it is… ^_^
(demonstration)
It’s cool, isn’t it?
No.
No, that’s not cool.
It’s uglier than the original “Stop-Motion Excel”.
     It’s not the “eye candy” that I imagined.
Why?
     The original “Stop-Motion Excel”
     was painted manually, cell by cell.
MysteryGuitarMan painted it with a fixed
     palette, but not “average colors”.
It looks sharp. It feels like an animation.
Comparing Hand-Painted Colors
  with Mosaic Average Colors
So I need to find something more cool,
           something sharp,
    something with a high contrast.
That is not an easy task.
The idea of Calc Mosaic
     is not only to create mosaic arts,
but also to create stop-motion animations.
But it takes averagely 20 seconds
to create a spreadsheet of mosaic art
    with the Java UNO application.
      I cannot run the animation
by creating the mosaic art at real-time.
So I turn to another method,
to create each frame with a spreadsheet,
       and play them in sequence,
       as a stop-motion animation.
But then a spreadsheet document can only
 contain a maximum of 256 spreadsheets.
Since I only have 256 frames,
     this cannot be long.
I remembered there is the iPod Ad
The iPod Ad…
●   Has only 31 seconds, corresponding to 8
    FPS if we are having 256 frames.
The iPod Ad…
●   Has only 31 seconds, corresponding to 8
    FPS if we are having 256 frames.
●   Has sharp images, high contrasts.
The iPod Ad…
●   Has only 31 seconds, corresponding to 8
    FPS if we are having 256 frames.
●   Has sharp images, high contrasts.
●   Is very famous.
So here it is…
(demonstration)
At the same time, Villeroy responded to my
Calc Mosaic on the forum, using a different
                approach.
Villeroy’s Response
So here it is…
(demonstration)
As you can see,
 Villeroy places the color values in the cells.
 The OpenOffice BASIC macro can read and
update the cell background colors accordingly.
       OpenOffice BASIC is a lot faster
                than Java UNO.
This makes it possible to animate at real time.
Villeroy’s approach still has some
         disadvantages…
Disadvantages of
            Villeroy’s Approach
●   You still need to have the color values first.
Disadvantages of
             Villeroy’s Approach
●   You still need to have the color values first.
●   The frame rate is still low.
Disadvantages of
             Villeroy’s Approach
●   You still need to have the color values first.
●   The frame rate is still low.
●   Villeroy updates the colors with styles.
    –   A lot faster than painting the background
        color cell by cell.
    –   The number of colors to use is limited.
        That is why it is gray-scaled.
This is a different approach than me.
    But I still got greatly inspired.
The color values can be saved in the sheets,
   and painted with OpenOffice BASIC.
        This can make it a lot faster.
And I know there is the setDataArray()
     in the interface XCellRangeData.
I can populate all the color values at once
    instead of hundreds of UNO calls
    to set the CellBackColor property
                Of SheetCell.
The New Process Will Be…
1.Calculates the average colors of mosaic
  cells with the Java application.
The New Process Will Be…
1.Calculates the average colors of mosaic
  cells with the Java application.
2.Passes the color values from Java to
  OpenOffice BASIC.
The New Process Will Be…
1.Calculates the average colors of mosaic
  cells with the Java application.
2.Passes the color values from Java to
  OpenOffice BASIC.
3.Paints the background colors of the
  spreadsheet cells with the OpenOffice
  BASIC macro.
So the problem becomes:
        Writing an application
both in Java and OpenOffice BASIC.
So the problem becomes:
         Writing an application
 both in Java and OpenOffice BASIC.
               Or, simply,
Creating the OpenOffice BASIC macros
   through the UNO API with Java.
In the unpublished UNO API,
    there is a BasicLibraries property
            in OfficeDocument
     that application developers can
access, insert or delete the BASIC macros.
There’s also the XScriptProvider interface
        that I can use it to invoke
    the existing OpenOffice macros.
So I use them to “inject” the BASIC macros
into the newly-created spreadsheet document,
             and run these macros.
In fact, I don’t even need to use setDataArray()
to paste the color values into the spreadsheets.
   I can pass the color values as parameters
           to the invoked BASIC macros.
This is troublesome,
     but the result is amazing.
It is 8 times faster then before!
When I prepare for my ApacheCon
          presentation,
I became more and more greedy.
I want something new,
        something hot,
something gets people excited!
Then I came across this…
Something hot…
Well, again, I think…
Well, again, I think…
 Yeah, I can do it!
So here is it.
When preparing for OSDC.tw,
Gangnam Style became outdated.
      I need a new one.
(demonstration)
That is the story of Calc Mosaic.
To create your own Mosaic video,
        get Calc Mosaic at
    http://sf.net/p/calcmosaic.
More Than Calc Mosaic
Last year after I returned from German,
 I attended to a speech in our institute
          at the end of November.
       It was about new media art.
New Media Art
Oh, no…
Oh, no…
I can do it.
I can do it…
●   I can play piano notes using the Shell
    command “mplayer” in OpenOffice BASIC.
I can do it…
●   I can play piano notes using the Shell
    command “mplayer” in OpenOffice BASIC.
●   I can attach click events with picture objects.
I can do it…
●   I can play piano notes using the Shell
    command “mplayer” in OpenOffice BASIC.
●   I can attach click events with picture objects.
●   I can change the colors of the Calc
    spreadsheet cells.
I can do it…
●   I can play piano notes using the Shell
    command “mplayer” in OpenOffice BASIC.
●   I can attach click events with picture objects.
●   I can change the colors of the Calc
    spreadsheet cells.
●   It's possible to create an animated,
    interactive Piano with Calc.
(demonstration)
Furthermore,
with a little modification,
I released a piano quest
     in the Christmas.
(demonstration)
Thank you.
Any question?

Weitere ähnliche Inhalte

Andere mochten auch

Ttfcci mid program presentation to trc 121411.cb
Ttfcci mid program presentation to trc 121411.cbTtfcci mid program presentation to trc 121411.cb
Ttfcci mid program presentation to trc 121411.cbBrandon Williams
 
Prevention and response shared copy
Prevention and response shared copyPrevention and response shared copy
Prevention and response shared copyBrandon Williams
 
The state of social media in financial services presentation
The state of social media in financial services presentationThe state of social media in financial services presentation
The state of social media in financial services presentationifcaonline
 
GNU Build System
GNU Build SystemGNU Build System
GNU Build Systemimacat .
 
SugarCRM Project Management Enhancements
SugarCRM Project Management EnhancementsSugarCRM Project Management Enhancements
SugarCRM Project Management EnhancementsAtcore Systems
 

Andere mochten auch (20)

Julie Horne Møller - Horsens Kunstmuseum
Julie Horne Møller - Horsens KunstmuseumJulie Horne Møller - Horsens Kunstmuseum
Julie Horne Møller - Horsens Kunstmuseum
 
Atcore Connect Overview
Atcore Connect OverviewAtcore Connect Overview
Atcore Connect Overview
 
Spor 2, Trine Grøne, Formidlingsseminar museer på tværs
Spor 2, Trine Grøne, Formidlingsseminar museer på tværsSpor 2, Trine Grøne, Formidlingsseminar museer på tværs
Spor 2, Trine Grøne, Formidlingsseminar museer på tværs
 
Mads Dengsø Jessen Danish Journal of Archaeology
Mads Dengsø Jessen Danish Journal of ArchaeologyMads Dengsø Jessen Danish Journal of Archaeology
Mads Dengsø Jessen Danish Journal of Archaeology
 
Ttfcci mid program presentation to trc 121411.cb
Ttfcci mid program presentation to trc 121411.cbTtfcci mid program presentation to trc 121411.cb
Ttfcci mid program presentation to trc 121411.cb
 
Theis Jensen - the use of 3 d photogrammetry for on-site recording
Theis Jensen - the use of 3 d photogrammetry for on-site recordingTheis Jensen - the use of 3 d photogrammetry for on-site recording
Theis Jensen - the use of 3 d photogrammetry for on-site recording
 
Prevention and response shared copy
Prevention and response shared copyPrevention and response shared copy
Prevention and response shared copy
 
4 Alex Burch denmark 2014
4 Alex Burch denmark 20144 Alex Burch denmark 2014
4 Alex Burch denmark 2014
 
10x7 08 Fremtidens Museum i Holstebro Ann Bodilsen
10x7 08 Fremtidens Museum i Holstebro Ann Bodilsen10x7 08 Fremtidens Museum i Holstebro Ann Bodilsen
10x7 08 Fremtidens Museum i Holstebro Ann Bodilsen
 
Astrid Skou og Jannie Holm - spor efter udvinding og forarbejdning af jern
Astrid Skou og Jannie Holm -  spor efter udvinding og forarbejdning af jernAstrid Skou og Jannie Holm -  spor efter udvinding og forarbejdning af jern
Astrid Skou og Jannie Holm - spor efter udvinding og forarbejdning af jern
 
93 Hans Dam Christensen, Kunstneren og som værket
93 Hans Dam Christensen, Kunstneren og som værket93 Hans Dam Christensen, Kunstneren og som værket
93 Hans Dam Christensen, Kunstneren og som værket
 
Future of CRM
Future of CRM Future of CRM
Future of CRM
 
Rikke Johansen - Tyve dage i viborg - en rejse, nystr 2012
Rikke Johansen - Tyve dage i viborg - en rejse, nystr 2012Rikke Johansen - Tyve dage i viborg - en rejse, nystr 2012
Rikke Johansen - Tyve dage i viborg - en rejse, nystr 2012
 
The state of social media in financial services presentation
The state of social media in financial services presentationThe state of social media in financial services presentation
The state of social media in financial services presentation
 
Lotte Redtz Sparrevohn, Åkilde – En 850 m lang stolperække. Funktion og dater...
Lotte Redtz Sparrevohn, Åkilde – En 850 m lang stolperække. Funktion og dater...Lotte Redtz Sparrevohn, Åkilde – En 850 m lang stolperække. Funktion og dater...
Lotte Redtz Sparrevohn, Åkilde – En 850 m lang stolperække. Funktion og dater...
 
Susanne Klingenberg, bopladsområdet ved Hoby
Susanne Klingenberg, bopladsområdet ved Hoby Susanne Klingenberg, bopladsområdet ved Hoby
Susanne Klingenberg, bopladsområdet ved Hoby
 
Nanna Bjerregaard Pedersen - d-mannitol
Nanna Bjerregaard Pedersen -  d-mannitolNanna Bjerregaard Pedersen -  d-mannitol
Nanna Bjerregaard Pedersen - d-mannitol
 
GNU Build System
GNU Build SystemGNU Build System
GNU Build System
 
SugarCRM Project Management Enhancements
SugarCRM Project Management EnhancementsSugarCRM Project Management Enhancements
SugarCRM Project Management Enhancements
 
Udstilling af mumier
Udstilling af mumierUdstilling af mumier
Udstilling af mumier
 

Ähnlich wie Multimedia Fun with OpenOffice Calc

Javascript Animation with Canvas - Gregory Starr 2015
Javascript Animation with Canvas - Gregory Starr 2015Javascript Animation with Canvas - Gregory Starr 2015
Javascript Animation with Canvas - Gregory Starr 2015Gregory Starr
 
Adobe Illustrator - Creating the Poster
Adobe Illustrator - Creating the PosterAdobe Illustrator - Creating the Poster
Adobe Illustrator - Creating the PosterTimothy F McKenna
 
Scilab for real dummies j.heikell - part 1
Scilab for real dummies j.heikell - part 1Scilab for real dummies j.heikell - part 1
Scilab for real dummies j.heikell - part 1Scilab
 
WRA 210 April 14th PowerPoint
WRA 210 April 14th PowerPointWRA 210 April 14th PowerPoint
WRA 210 April 14th PowerPointMiami University
 
Transcript - Data Visualisation - Tools and Techniques
Transcript - Data Visualisation - Tools and TechniquesTranscript - Data Visualisation - Tools and Techniques
Transcript - Data Visualisation - Tools and TechniquesARDC
 
Visual Rhetoric, Feb 18, 2013
Visual Rhetoric, Feb 18, 2013Visual Rhetoric, Feb 18, 2013
Visual Rhetoric, Feb 18, 2013Miami University
 
Umbra Ignite 2015: Alex Evans – Learning from failure – prototypes, R&D, iter...
Umbra Ignite 2015: Alex Evans – Learning from failure – prototypes, R&D, iter...Umbra Ignite 2015: Alex Evans – Learning from failure – prototypes, R&D, iter...
Umbra Ignite 2015: Alex Evans – Learning from failure – prototypes, R&D, iter...Umbra Software
 
Smalltalk in the pocket - Building applications for the iPhone
Smalltalk in the pocket - Building applications for the iPhoneSmalltalk in the pocket - Building applications for the iPhone
Smalltalk in the pocket - Building applications for the iPhoneEsteban Lorenzano
 
16 OpenCV Functions to Start your Computer Vision journey.docx
16 OpenCV Functions to Start your Computer Vision journey.docx16 OpenCV Functions to Start your Computer Vision journey.docx
16 OpenCV Functions to Start your Computer Vision journey.docxssuser90e017
 
Monday Night, Feb 10th Visrhet
Monday Night, Feb 10th VisrhetMonday Night, Feb 10th Visrhet
Monday Night, Feb 10th VisrhetMiami University
 
Crossing Office Applications
Crossing Office ApplicationsCrossing Office Applications
Crossing Office Applicationsimacat .
 
Open cv python tutorial for beginners 1
Open cv python tutorial for beginners 1Open cv python tutorial for beginners 1
Open cv python tutorial for beginners 1Agustin Aboytes
 
Joy of Inkscape - at StixCamp
Joy of Inkscape - at StixCampJoy of Inkscape - at StixCamp
Joy of Inkscape - at StixCampDonna Benjamin
 
What does OOP stand for?
What does OOP stand for?What does OOP stand for?
What does OOP stand for?Colin Riley
 
Scilab for real dummies
Scilab for real dummiesScilab for real dummies
Scilab for real dummiesSunu Pradana
 

Ähnlich wie Multimedia Fun with OpenOffice Calc (20)

Javascript Animation with Canvas - Gregory Starr 2015
Javascript Animation with Canvas - Gregory Starr 2015Javascript Animation with Canvas - Gregory Starr 2015
Javascript Animation with Canvas - Gregory Starr 2015
 
Adobe Illustrator - Creating the Poster
Adobe Illustrator - Creating the PosterAdobe Illustrator - Creating the Poster
Adobe Illustrator - Creating the Poster
 
Framing the canvas - DroidCon Paris 2014
Framing the canvas - DroidCon Paris 2014Framing the canvas - DroidCon Paris 2014
Framing the canvas - DroidCon Paris 2014
 
Scilab for real dummies j.heikell - part 1
Scilab for real dummies j.heikell - part 1Scilab for real dummies j.heikell - part 1
Scilab for real dummies j.heikell - part 1
 
WRA 210 April 14th PowerPoint
WRA 210 April 14th PowerPointWRA 210 April 14th PowerPoint
WRA 210 April 14th PowerPoint
 
scilab
scilabscilab
scilab
 
Transcript - Data Visualisation - Tools and Techniques
Transcript - Data Visualisation - Tools and TechniquesTranscript - Data Visualisation - Tools and Techniques
Transcript - Data Visualisation - Tools and Techniques
 
Visual Rhetoric, Feb 18, 2013
Visual Rhetoric, Feb 18, 2013Visual Rhetoric, Feb 18, 2013
Visual Rhetoric, Feb 18, 2013
 
Umbra Ignite 2015: Alex Evans – Learning from failure – prototypes, R&D, iter...
Umbra Ignite 2015: Alex Evans – Learning from failure – prototypes, R&D, iter...Umbra Ignite 2015: Alex Evans – Learning from failure – prototypes, R&D, iter...
Umbra Ignite 2015: Alex Evans – Learning from failure – prototypes, R&D, iter...
 
20140830 maker fairetrondheim
20140830 maker fairetrondheim20140830 maker fairetrondheim
20140830 maker fairetrondheim
 
"Prototype Everything" at The conference(19/Aug/2014,Malmo,Sweden) by @tks
"Prototype Everything"  at The conference(19/Aug/2014,Malmo,Sweden)  by @tks"Prototype Everything"  at The conference(19/Aug/2014,Malmo,Sweden)  by @tks
"Prototype Everything" at The conference(19/Aug/2014,Malmo,Sweden) by @tks
 
Smalltalk in the pocket - Building applications for the iPhone
Smalltalk in the pocket - Building applications for the iPhoneSmalltalk in the pocket - Building applications for the iPhone
Smalltalk in the pocket - Building applications for the iPhone
 
16 OpenCV Functions to Start your Computer Vision journey.docx
16 OpenCV Functions to Start your Computer Vision journey.docx16 OpenCV Functions to Start your Computer Vision journey.docx
16 OpenCV Functions to Start your Computer Vision journey.docx
 
Monday Night, Feb 10th Visrhet
Monday Night, Feb 10th VisrhetMonday Night, Feb 10th Visrhet
Monday Night, Feb 10th Visrhet
 
Crossing Office Applications
Crossing Office ApplicationsCrossing Office Applications
Crossing Office Applications
 
Open cv python tutorial for beginners 1
Open cv python tutorial for beginners 1Open cv python tutorial for beginners 1
Open cv python tutorial for beginners 1
 
January 29th PowerPoint
January 29th PowerPointJanuary 29th PowerPoint
January 29th PowerPoint
 
Joy of Inkscape - at StixCamp
Joy of Inkscape - at StixCampJoy of Inkscape - at StixCamp
Joy of Inkscape - at StixCamp
 
What does OOP stand for?
What does OOP stand for?What does OOP stand for?
What does OOP stand for?
 
Scilab for real dummies
Scilab for real dummiesScilab for real dummies
Scilab for real dummies
 

Mehr von imacat .

A Room of WikiWomen's Own
A Room of WikiWomen's OwnA Room of WikiWomen's Own
A Room of WikiWomen's Ownimacat .
 
Office寶可夢GO IV計算機
Office寶可夢GO IV計算機Office寶可夢GO IV計算機
Office寶可夢GO IV計算機imacat .
 
OpenOffice Application with Python
OpenOffice Application with PythonOpenOffice Application with Python
OpenOffice Application with Pythonimacat .
 
從doc、docx、odt到Google Docs
從doc、docx、odt到Google Docs從doc、docx、odt到Google Docs
從doc、docx、odt到Google Docsimacat .
 
More Girls – Creating a Community of Diversity
More Girls – Creating a Community of DiversityMore Girls – Creating a Community of Diversity
More Girls – Creating a Community of Diversityimacat .
 
Welcome to Apache OpenOffice 4
Welcome to Apache OpenOffice 4Welcome to Apache OpenOffice 4
Welcome to Apache OpenOffice 4imacat .
 
OpenOffice, Open Business
OpenOffice, Open BusinessOpenOffice, Open Business
OpenOffice, Open Businessimacat .
 
Welcome to Apache OpenOffice 3.4 COSCUP 2012
Welcome to Apache OpenOffice 3.4 COSCUP 2012Welcome to Apache OpenOffice 3.4 COSCUP 2012
Welcome to Apache OpenOffice 3.4 COSCUP 2012imacat .
 
GNU Autoconf / Automake #4
GNU Autoconf / Automake #4GNU Autoconf / Automake #4
GNU Autoconf / Automake #4imacat .
 
GNU Autoconf / Automake #1
GNU Autoconf / Automake #1GNU Autoconf / Automake #1
GNU Autoconf / Automake #1imacat .
 
Solitaire with Greenfoot #3
Solitaire with Greenfoot #3Solitaire with Greenfoot #3
Solitaire with Greenfoot #3imacat .
 
Solitaire with Greenfoot #1
Solitaire with Greenfoot #1Solitaire with Greenfoot #1
Solitaire with Greenfoot #1imacat .
 
Solitaire with Greenfoot #4
Solitaire with Greenfoot #4Solitaire with Greenfoot #4
Solitaire with Greenfoot #4imacat .
 
Solitaire with Greenfoot #2
Solitaire with Greenfoot #2Solitaire with Greenfoot #2
Solitaire with Greenfoot #2imacat .
 
Solitaire with Greenfoot #2/4
Solitaire with Greenfoot #2/4Solitaire with Greenfoot #2/4
Solitaire with Greenfoot #2/4imacat .
 
Object-Oriented Programming Design with Greenfoot 02
Object-Oriented Programming Design with Greenfoot 02Object-Oriented Programming Design with Greenfoot 02
Object-Oriented Programming Design with Greenfoot 02imacat .
 
Object-Oriented Programming Design with Greenfoot 01
Object-Oriented Programming Design with Greenfoot 01Object-Oriented Programming Design with Greenfoot 01
Object-Oriented Programming Design with Greenfoot 01imacat .
 
Welcome to Apache OpenOffice 3.4
Welcome to Apache OpenOffice 3.4Welcome to Apache OpenOffice 3.4
Welcome to Apache OpenOffice 3.4imacat .
 
OpenOffice UNO Application on Android
OpenOffice UNO Application on AndroidOpenOffice UNO Application on Android
OpenOffice UNO Application on Androidimacat .
 
OpenOffice.org Magic Sandbox
OpenOffice.org Magic SandboxOpenOffice.org Magic Sandbox
OpenOffice.org Magic Sandboximacat .
 

Mehr von imacat . (20)

A Room of WikiWomen's Own
A Room of WikiWomen's OwnA Room of WikiWomen's Own
A Room of WikiWomen's Own
 
Office寶可夢GO IV計算機
Office寶可夢GO IV計算機Office寶可夢GO IV計算機
Office寶可夢GO IV計算機
 
OpenOffice Application with Python
OpenOffice Application with PythonOpenOffice Application with Python
OpenOffice Application with Python
 
從doc、docx、odt到Google Docs
從doc、docx、odt到Google Docs從doc、docx、odt到Google Docs
從doc、docx、odt到Google Docs
 
More Girls – Creating a Community of Diversity
More Girls – Creating a Community of DiversityMore Girls – Creating a Community of Diversity
More Girls – Creating a Community of Diversity
 
Welcome to Apache OpenOffice 4
Welcome to Apache OpenOffice 4Welcome to Apache OpenOffice 4
Welcome to Apache OpenOffice 4
 
OpenOffice, Open Business
OpenOffice, Open BusinessOpenOffice, Open Business
OpenOffice, Open Business
 
Welcome to Apache OpenOffice 3.4 COSCUP 2012
Welcome to Apache OpenOffice 3.4 COSCUP 2012Welcome to Apache OpenOffice 3.4 COSCUP 2012
Welcome to Apache OpenOffice 3.4 COSCUP 2012
 
GNU Autoconf / Automake #4
GNU Autoconf / Automake #4GNU Autoconf / Automake #4
GNU Autoconf / Automake #4
 
GNU Autoconf / Automake #1
GNU Autoconf / Automake #1GNU Autoconf / Automake #1
GNU Autoconf / Automake #1
 
Solitaire with Greenfoot #3
Solitaire with Greenfoot #3Solitaire with Greenfoot #3
Solitaire with Greenfoot #3
 
Solitaire with Greenfoot #1
Solitaire with Greenfoot #1Solitaire with Greenfoot #1
Solitaire with Greenfoot #1
 
Solitaire with Greenfoot #4
Solitaire with Greenfoot #4Solitaire with Greenfoot #4
Solitaire with Greenfoot #4
 
Solitaire with Greenfoot #2
Solitaire with Greenfoot #2Solitaire with Greenfoot #2
Solitaire with Greenfoot #2
 
Solitaire with Greenfoot #2/4
Solitaire with Greenfoot #2/4Solitaire with Greenfoot #2/4
Solitaire with Greenfoot #2/4
 
Object-Oriented Programming Design with Greenfoot 02
Object-Oriented Programming Design with Greenfoot 02Object-Oriented Programming Design with Greenfoot 02
Object-Oriented Programming Design with Greenfoot 02
 
Object-Oriented Programming Design with Greenfoot 01
Object-Oriented Programming Design with Greenfoot 01Object-Oriented Programming Design with Greenfoot 01
Object-Oriented Programming Design with Greenfoot 01
 
Welcome to Apache OpenOffice 3.4
Welcome to Apache OpenOffice 3.4Welcome to Apache OpenOffice 3.4
Welcome to Apache OpenOffice 3.4
 
OpenOffice UNO Application on Android
OpenOffice UNO Application on AndroidOpenOffice UNO Application on Android
OpenOffice UNO Application on Android
 
OpenOffice.org Magic Sandbox
OpenOffice.org Magic SandboxOpenOffice.org Magic Sandbox
OpenOffice.org Magic Sandbox
 

Kürzlich hochgeladen

The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 

Kürzlich hochgeladen (20)

The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 

Multimedia Fun with OpenOffice Calc

  • 1. Multimedia Fun with OpenOffice Calc imacat imacat@mail.imacat.div.tw 2013-04-19
  • 2. “Multimedia Fun with OpenOffice Calc” is created by imacat (Yang Shih-Ching), and licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License
  • 4. imacat ● Member of the Apache OpenOffice Project Management Committee ● An OpenOffice committer ● System administrator of OpenOffice forum and Wiki ● A member of Women in Free and Open Source Software ● A graduate student from National Taiwan Normal University
  • 5. Question: What do you do with a spreadsheet?
  • 10. Doing calculation for strategy games
  • 12.
  • 13. This talk is a modification of my previous talk in ApacheCon Europe 2012 at Sinsheim, German on 2012/11/6…
  • 14. …with additions of some of my interesting works afterwards.
  • 15. And my talk in German was based on my lightning talk in COSCUP 2013
  • 16. Has anyone attended to my lightning talk in COSCUP 2013? Has anyone remember what I had done?
  • 17. My lightning talk in COSCUP 2013 was about something I did just one week before COSCUP 2013, which I had not enough time to finish and present it completely.
  • 18. And here is the story.
  • 19. Long time ago in the far, far land when I was still a child…
  • 20. Long time ago in the far, far land when I was still a child… Well, actually it was only in last August. :p
  • 21. I saw on my RSS reader...
  • 22. So I followed the story and watched the video…
  • 24. It’s cool, isn’t it? Yes, it’s SO COOL!
  • 25. I forwarded it onto our Google Plus, our Facebook fans page, our forums, local forum, etc.
  • 26. I forwarded it onto our Google Plus, our Facebook fans page, our forums, local forum, etc. Then I put it away and return to my textbook.
  • 27. Until I saw Rob talking about this video the next day…
  • 28. So I watched it again, and also the “behind the scenes”…
  • 30. Well, I think… Yeah, I can do it…
  • 31. Well, I think… Yeah, I can do it… programmatically!
  • 32. Creating mosaic arts involves calculating the average colors of image blocks. Since neither OpenOffice BASIC nor UNO API has any method to obtain the colors of individual pixels, I have use Java to do this.
  • 33. So here it is… ^_^
  • 36. No.
  • 37. No, that’s not cool. It’s uglier than the original “Stop-Motion Excel”. It’s not the “eye candy” that I imagined.
  • 38. Why? The original “Stop-Motion Excel” was painted manually, cell by cell. MysteryGuitarMan painted it with a fixed palette, but not “average colors”. It looks sharp. It feels like an animation.
  • 39. Comparing Hand-Painted Colors with Mosaic Average Colors
  • 40. So I need to find something more cool, something sharp, something with a high contrast.
  • 41. That is not an easy task.
  • 42. The idea of Calc Mosaic is not only to create mosaic arts, but also to create stop-motion animations.
  • 43. But it takes averagely 20 seconds to create a spreadsheet of mosaic art with the Java UNO application. I cannot run the animation by creating the mosaic art at real-time.
  • 44. So I turn to another method, to create each frame with a spreadsheet, and play them in sequence, as a stop-motion animation.
  • 45. But then a spreadsheet document can only contain a maximum of 256 spreadsheets.
  • 46. Since I only have 256 frames, this cannot be long.
  • 47. I remembered there is the iPod Ad
  • 48. The iPod Ad… ● Has only 31 seconds, corresponding to 8 FPS if we are having 256 frames.
  • 49. The iPod Ad… ● Has only 31 seconds, corresponding to 8 FPS if we are having 256 frames. ● Has sharp images, high contrasts.
  • 50. The iPod Ad… ● Has only 31 seconds, corresponding to 8 FPS if we are having 256 frames. ● Has sharp images, high contrasts. ● Is very famous.
  • 51. So here it is…
  • 53. At the same time, Villeroy responded to my Calc Mosaic on the forum, using a different approach.
  • 55. So here it is…
  • 57. As you can see, Villeroy places the color values in the cells. The OpenOffice BASIC macro can read and update the cell background colors accordingly. OpenOffice BASIC is a lot faster than Java UNO. This makes it possible to animate at real time.
  • 58. Villeroy’s approach still has some disadvantages…
  • 59. Disadvantages of Villeroy’s Approach ● You still need to have the color values first.
  • 60. Disadvantages of Villeroy’s Approach ● You still need to have the color values first. ● The frame rate is still low.
  • 61. Disadvantages of Villeroy’s Approach ● You still need to have the color values first. ● The frame rate is still low. ● Villeroy updates the colors with styles. – A lot faster than painting the background color cell by cell. – The number of colors to use is limited. That is why it is gray-scaled.
  • 62. This is a different approach than me. But I still got greatly inspired.
  • 63. The color values can be saved in the sheets, and painted with OpenOffice BASIC. This can make it a lot faster.
  • 64. And I know there is the setDataArray() in the interface XCellRangeData. I can populate all the color values at once instead of hundreds of UNO calls to set the CellBackColor property Of SheetCell.
  • 65. The New Process Will Be… 1.Calculates the average colors of mosaic cells with the Java application.
  • 66. The New Process Will Be… 1.Calculates the average colors of mosaic cells with the Java application. 2.Passes the color values from Java to OpenOffice BASIC.
  • 67. The New Process Will Be… 1.Calculates the average colors of mosaic cells with the Java application. 2.Passes the color values from Java to OpenOffice BASIC. 3.Paints the background colors of the spreadsheet cells with the OpenOffice BASIC macro.
  • 68. So the problem becomes: Writing an application both in Java and OpenOffice BASIC.
  • 69. So the problem becomes: Writing an application both in Java and OpenOffice BASIC. Or, simply, Creating the OpenOffice BASIC macros through the UNO API with Java.
  • 70. In the unpublished UNO API, there is a BasicLibraries property in OfficeDocument that application developers can access, insert or delete the BASIC macros.
  • 71. There’s also the XScriptProvider interface that I can use it to invoke the existing OpenOffice macros.
  • 72. So I use them to “inject” the BASIC macros into the newly-created spreadsheet document, and run these macros.
  • 73. In fact, I don’t even need to use setDataArray() to paste the color values into the spreadsheets. I can pass the color values as parameters to the invoked BASIC macros.
  • 74. This is troublesome, but the result is amazing. It is 8 times faster then before!
  • 75. When I prepare for my ApacheCon presentation, I became more and more greedy.
  • 76. I want something new, something hot, something gets people excited!
  • 77. Then I came across this…
  • 79. Well, again, I think…
  • 80. Well, again, I think… Yeah, I can do it!
  • 81. So here is it.
  • 82. When preparing for OSDC.tw, Gangnam Style became outdated. I need a new one.
  • 84. That is the story of Calc Mosaic. To create your own Mosaic video, get Calc Mosaic at http://sf.net/p/calcmosaic.
  • 85. More Than Calc Mosaic
  • 86. Last year after I returned from German, I attended to a speech in our institute at the end of November. It was about new media art.
  • 89. Oh, no… I can do it.
  • 90. I can do it… ● I can play piano notes using the Shell command “mplayer” in OpenOffice BASIC.
  • 91. I can do it… ● I can play piano notes using the Shell command “mplayer” in OpenOffice BASIC. ● I can attach click events with picture objects.
  • 92. I can do it… ● I can play piano notes using the Shell command “mplayer” in OpenOffice BASIC. ● I can attach click events with picture objects. ● I can change the colors of the Calc spreadsheet cells.
  • 93. I can do it… ● I can play piano notes using the Shell command “mplayer” in OpenOffice BASIC. ● I can attach click events with picture objects. ● I can change the colors of the Calc spreadsheet cells. ● It's possible to create an animated, interactive Piano with Calc.
  • 95. Furthermore, with a little modification, I released a piano quest in the Christmas.